掌桥专利:专业的专利平台
掌桥专利
首页

视频图像的区域分割及头发替换方法、装置及设备

文献发布时间:2023-06-19 09:30:39


视频图像的区域分割及头发替换方法、装置及设备

技术领域

本申请涉及图像处理领域,具体而言,本申请涉及一种视频图像的区域分割及头发替换方法、装置及设备,还包括一种计算机可读存储介质。

背景技术

随着人工智能尤其是深度学习的快速发展,语义分割已经成为一个具有广泛应用场景的重要研究课题。头发分割是指将图像中的头发区域分割出来,然后通过相关后处理实现头发换色、发型变换等功能。

在相关技术中,一般采用基于深度学习的语音分割技术,通过将图像输入到深度学习网络结构或卷积神经网络中进行训练,得到头发分割模型,通过头发分割模型进行特征提取、分割、检测和识别等处理。然而,由上述方法中采用的头发分割模型占用内存较大,由于用户终端功耗与运算能力的限制,只能在云端实现,无法部署在用户终端上实时运行。即便有些头发分割模型运行在用户终端,但其简单利用卷积神经网络对图像进行头发分割,准确性低,分割效果差。

发明内容

本申请的目的旨在至少解决上述技术缺陷之一,特别是运算量大、分割准确度低的问题。

第一方面,本申请实施例提供一种视频图像的区域分割方法,包括以下步骤:

获取视频图像的图像帧序列对应的待分割图像集;

将所述待分割图像集中的各所述待分割图像依次输入到头发分割网络,对所述待分割图像进行语义分割处理,利用所述头发分割网络的编码器模块提取不同感受野的第一图像特征,将所述第一图像特征输入到所述头发分割网络的解码器模块进行处理,还原得到与输入的所述待分割图像的分辨率一致的特征图像,并根据所述特征图像得到所述待分割图像对应的概率图像;其中,所述头发分割网络为压缩通道数量的卷积神经网络;

根据所述概率图像对所述图像帧序列的头发区域进行分割。

在一实施例中,所述编码器模块包括多层第一卷积单元;

所述利用所述头发分割网络的编码器模块提取不同感受野的第一图像特征的步骤包括:

利用所述头发分割网络的编码器模块的多层第一卷积单元逐层提取不同感受野的第一图像特征;其中,所述第一图像特征的分辨率逐层递减。

在一实施例中,所述解码器模块包括多层第二卷积单元,所述第二卷积单元与所述第一卷积单元一一对应;

所述将所述第一图像特征输入到所述头发分割网络的解码模块进行处理,还原得到与输入的所述待分割图像的分辨率一致的特征图像的步骤包括:

采用特征跳接的方式将所述编码器模块的各第一卷积单元输出的第一图像特征输入到对应的解码器模块对应的第二卷积层中,并结合上采样方式逐层进行网络运算,提取得到第二图像特征;

根据所述第二图像特征还原得到与输入的所述待分割图像的分辨率一致的特征图像。

在一实施例中,所述编码器模块包括五层第一卷积单元;所述解码器模块包括五层第二卷积单元;

各所述第一卷积单元包括多次堆叠的不同个数的可分离卷积模块;所述可分离卷积模块的运算操作包括3×3分组卷积、批归一化、ReLU6激活函数、1×1常规卷积、批归一化、ReLU6激活函数六个运算单元;

各所述第二卷积单元的运算操作包括3×3分组卷积、1×1常规卷积、ReLU6激活函数,其中,每层第二卷积单元通过行双线性插值上采样操作逐层增加输出的第二图像特征的分辨率。

在一实施例中,视频图像的区域分割方法还包括:

基于BCE损失函数约束模型训练所述头发分割网络;

所述BCE损失函数为:

其中,

在一实施例中,所述根据所述特征图像得到所述待分割图像对应的概率图像的步骤包括:

将所述特征图像利用Sigmoid函数进行转换,得到所述特征图像对应的概率图像;其中,所述概率图像的取值范围为[0,1]。

在一实施例中,所述根据所述概率图像对所述图像帧序列的头发区域进行分割的步骤包括:

获取所述待分割图像集对应的原始图像作为引导图像;

基于所述引导图像对所述概率图像进行导向滤波处理,得到输出图像;

根据所述输出图像中各个像素点的取值,确定所述输出图像的头发区域,根据该头发区域对所述图像帧序列进行分割。

在一实施例中,所述得到输出图像的步骤还包括:

获取当前图像帧的第一输出图像以及所述当前图像帧的前N帧对应的第二输出图像;其中,N为正整数;

将所述第一输出图像和所述第二输出图像进行帧间平滑操作,得到输出概率图像。

第二方面,本申请实施例提供一种视频图像的头发替换方法,包括:

获取用户所选择的目标头发样式;

确定视频图像的图像帧序列中待分割图像的头发区域,其中,所述头发区域通过将所述视频帧序列解帧得到的待分割图像集中的各所述待分割图像依次输入到头发分割网络,对所述待分割图像进行语义分割处理,利用所述头发分割网络的编码器模块提取不同感受野的第一图像特征,将所述第一图像特征输入到所述头发分割网络的解码器模块进行处理,还原得到与输入的所述待分割图像的分辨率一致的特征图像,并根据所述特征图像得到所述待分割图像对应的概率图像所确定;

将所述头发区域替换为所述目标头发样式后,输出融合有所述目标头发样式的视频图像。

第三方面,本申请实施例提供一种视频图像的区域分割装置,包括:

图像集获取模块,用于获取视频图像的图像帧序列对应的待分割图像集;

概率图像得到模块,用于将所述待分割图像集中的各所述待分割图像依次输入到头发分割网络,对所述待分割图像进行语义分割处理,利用所述头发分割网络的编码器模块提取不同感受野的第一图像特征,将所述第一图像特征输入到所述头发分割网络的解码器模块进行处理,还原得到与输入的所述待分割图像的分辨率一致的特征图像,并根据所述特征图像得到所述待分割图像对应的概率图像;其中,所述头发分割网络为轻量级深度卷积神经网络;

头发区域分割模块,用于根据所述概率图像对所述图片帧的头发区域进行分割。

第四方面,本申请实施例提供一种视频图像的头发替换装置,包括:

头发样式获取模块,用于获取用户所选择的目标头发样式;

分割区域确定模块,用于确定视频图像中的头发分割区域,其中,所述头发分割区域通将所述视频帧序列解帧得到的待分割图像集中的各所述待分割图像依次输入到头发分割网络,对所述待分割图像进行语义分割处理,利用所述头发分割网络的编码器模块提取不同感受野的第一图像特征,将所述第一图像特征输入到所述头发分割网络的解码器模块进行处理,还原得到与输入的所述待分割图像的分辨率一致的特征图像,并根据所述特征图像得到所述待分割图像对应的概率图像所确定;

视频图像输出模块,用于将所述头发区域替换为所述目标头发样式后,输出融合有所述目标头发样式的视频图像。

第五方面,本申请实施例提供一种电子设备,其包括:

一个或多个处理器;

存储器;

一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行第一方面任一实施例的视频图像的区域分割方法或第二方面实施例的视频图像的头发替换方法。

第六方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面任一实施例的视频图像的区域分割方法或第二方面的视频图像的头发替换方法。

上述实施例提供的视频图像的区域分割及头发替换方法、装置、设备及计算机可读存储介质,通过获取视频图像的图像帧序列对应的待分割图像集,将待分割图像集依次输入到头发分割网络进行语义分割处理,利用所述头发分割网络的编码器模块提取不同感受野的第一图像特征,将所述第一图像特征输入到所述头发分割网络的解码器模块进行处理,还原得到与输入的所述待分割图像的分辨率一致的特征图像,并根据所述特征图像得到所述待分割图像对应的概率图像,根据概率图像对图像帧的头发区域进行分割,其中,头发分割网络为轻量级深度卷积神经网络,部署在客户端,从而实现在客户端上实时进行视频图像的头发区域的实时精准分割,满足用户的需求。同时,对于分割出来的头发区域实时进行头发样式变换,提高了视频图像的展示效果。

本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1是本申请实施例提供的视频图像的头发替换所涉及的应用系统框架示意图;

图2是本申请实施例提供的一种视频图像的区域分割方法的流程图;

图3是本申请一实施例提供的头发分割网络的工作原理图;

图4是本申请实施例提供的一种视频图像的头发替换方法的流程图;

图5是本申请一实施例提供的头发分割和替换的实现原理图;

图6是一实施例提供的视频图像的区域分割装置的结构示意图;

图7是一实施例提供的视频图像的头发替换装置的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

下面对本申请实施例涉及的应用场景进行说明。

本申请实施例应用于对视频图像中的头发进行样式变更的场景,具体可以应用于视频图像,对视频图像的人物头发区域进行识别和分割,并将原来的头发样式通过颜色变换、发型变换等替换为目标头发样式。

例如,客户端部署有对视频图像中的头发区域进行识别和分割的神经网络,通过该神经网络确定头发区域,获取到用户选择的目标头发样式,将视频图像中的原始头发样式更新为目标头发样式,再进行视频播放,从而丰富视频处理效果,让视频图像更具有吸引力。

基于上述的应用场景,则需要神经网络能够执行于客户端,且能够精确分割出头发区域才能更好地提高视频的展示效果。当然,本申请实施例提供的技术方案还可以应用于其他的定位场景,在此不再一一列举。

为了更好地阐述本申请的技术方案,下面示出本方案所可以适用的某一应用环境。图1是本申请实施例提供的视频图像的头发替换所涉及的应用系统框架示意图,如图1所示,该应用系统10包括客户端101和服务端102,客户端101与服务端102之间通过有线网络或者无线网络建立通信连接。

客户端101可以为智能手机、智能相机、掌上电脑、平板电脑、电子书以及笔记本电脑等便携式设备,对此并不做限定,可以具有拍照、图像处理功能等功能,实现视频图像的区域分割和头发替换。可选的,客户端101具有触摸屏,用户可以通过在客户端101的触摸屏上进行相应的操作以实现头发分割、图像处理、视频合成等功能。客户端获取到相关的视频图像,对视频图像中的相关处理后发送至服务端102,以通过服务端102将视频分发到其他的客户端进行播放。

服务端102包括电子设备,如客户端101提供后台服务的后台服务器,可以用独立服务器或多个服务器组成的服务器集群来实现。在一实施例中,该服务器可以为视频共享平台。用户录制好小视频或短视频后,对视频图像进行相应处理,比如头发样式变换、服装样式变化、人物美化、背景替换等处理后,将视频上传到服务端102,再由服务端102向其他客户端推送视频,从而使其他用户能够看到该用户的制作好的视频。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。

在相关的视频图像处理技术中,可以通过用户在客户端设置相关参数,以通过性能更好的服务器识别出直播视频中的指定区域,如头发区域,将头发区域按照用户设置的参数进行样式变换后,生成处理后的视频再分发到各观众端。

在这个过程中,需要客户端和服务端在连网状态下进行,借助服务器的高性能进行神经网络模型的训练,由于相关技术中的基于深度学习的神经网络模型的运算量较大,无法部署在客户端,无法实现离线状态下的基于神经网络模型的视频图像处理。且有些改进后的图像处理方法能够执行于客户端,但其他进行图像分割的准确性低,导致分割效果,影响视频处理效果。

本申请提供的视频图像的区域分割及头发替换方法、装置、设备及计算机可读存储介质,旨在解决现有技术的如上技术问题。

图2是本申请实施例提供的一种视频图像的区域分割方法的流程图,该头发区域分割方法可应用于视频图像的区域分割设备,如客户端。

具体的,如图2所示,视频图像的头区域分割方法可以包括以下步骤:

S210、获取视频图像的图像帧序列对应的待分割图像集。

视频图像的图像帧序列可以是预设选定的一段或若干段视频的图像帧,也可以是任意段视频的图像帧。在这些图像帧中可能存在部分没有头发区域的图像帧,可以先对这些图像帧进行预处理。

可选的,在一实施例中,对视频进行解帧,获取到视频图像的图像帧序列,对图像帧序列进行内容识别获取包含头发的图像帧,比如,识别出图像帧中存在人脸,则认为图像帧是包含头发的图像帧,当然在其他实施例中,还可以通过其他内容识别获取到包含头发的图像帧,例如,识别出类似头发颜色、形状等内容的,确定图像帧为包含头发的图像帧等。

将视频进行解帧得到的图像帧进行整合,得到需要进行头发分割的待分割图像集。待分割图像集中的图像帧按照视频播放的时间顺序进行排列,以便于实时对视频图像中的图像帧序列进行处理。

在本实施例中,还可以根据头发分割场景特性对所述待分割图像集进行图像格式调整。

在本实施例中,头发分割场景特性是指满足于视频制作平台,如短视频或小视频的制作要求的分割精度、显示分辨率、图像尺寸等要求的参数特性。

例如,将图像帧进行裁剪和调整分辨率等处理,将图像帧的高度和宽度调整为(384,256),其中,图像帧的高度为384像素高度,宽度为256像素宽度。在本实施例中,将视频帧序列中的待分割图像的分辨率缩放到384×256,可以减少头发分割网络的运算量。

在一实施例中,根据头发分割场景特性设置待分割图像集的预处理参数,按照预处理参数对待分割图像集中的原始图像进行图像格式调整,如调整尺寸、分辨率和精度等。

S230、将所述待分割图像集中的各所述待分割图像依次输入到头发分割网络,对所述待分割图像进行语义分割处理,利用所述头发分割网络的编码器模块提取不同感受野的第一图像特征,将所述第一图像特征输入到所述头发分割网络的解码器模块进行处理,还原得到与输入的所述待分割图像的分辨率一致的特征图像,并根据所述特征图像得到所述待分割图像对应的概率图像。

其中,所述头发分割网络为轻量级深度卷积神经网络。

图像语义分割(semantic segmentation),是指让计算机根据图像的语义来进行分割。在图像领域,语义指的是图像的内容,对图片意思进行理解,分割的意思是从像素的角度分割出图片中的不同对象,对原图中的每个像素都进行标注,如,图像帧的白色表示头发区域,黑色表示非头发区域。当然在其他实施例中,还可以是图像帧的白色表示头发区域,绿色表示上衣区域、红色表示裤子区域等。

在本实施例中,头发分割网络为预先训练得到的卷积神经网络,能够与视频图像的区域分割场景相适应轻量级深度卷积神经网络,部署在客户端上,能够实时将视频图像中的头发区域进行样式变化。相对于相关的卷积神经网络的高运算量,本实施例的头发分割模型进行结构调整和参数调整,以使得保证识别精度的基础上,大大减少运算量。通常而言,神经网络的通道数量越多,数据运算量越大。头发分割网络压缩通道数量,降低了运算量,比如,将基础通道数由64压缩到8。在本实施例中,还可以通过其他参数调整或结构调整方式来补偿通道数量压缩所导致的分割效果,保证分割精度。

概率图像是指像素值为0或1组成的图像,为单通道图像。在概率图像中,每个像素的取值为0或者1,概率图像的尺寸大小与输入的待分割图像的大小相同。

将待分割图像集中的各待分割图像按照图像序列依次输入到预先训练好的头发分割网络,通过头发分割网络对待分割图像进行语义分割处理,并按照图像序列依次输出与待分割图像相同大小的概率图像,得到概率图像集合。通过概率图像的各个像素的取值或者颜色,确定图像帧的不同区域。

在本实施例中,利用所述头发分割网络的编码器模块提取不同感受野的第一图像特征,将所述第一图像特征输入到所述头发分割网络的解码器模块进行处理,还原得到与输入的所述待分割图像的分辨率一致的特征图像,并根据所述特征图像得到所述待分割图像对应的概率图像。

其中,编码器模块包括多层第一卷积单元;解码器模块包括多层第二卷积单元,所述第二卷积单元与所述第一卷积单元一一对应。在本实施例中,解码器模块包括五层第二卷积单元,解码器模块包括五层第二卷积单元。

在一实施例中,步骤S220中的利用所述头发分割网络的编码器模块提取不同感受野的第一图像特征,可以包括:

S2201、利用所述头发分割网络的编码器模块的多层第一卷积单元逐层提取不同感受野的第一图像特征;其中,所述第一图像特征的分辨率逐层递减。

在卷积神经网络中,感受野(Receptive Field)的定义是卷积神经网络每一层输出的特征图像(feature map)上的像素点在输入图像上映射的区域大小。再通俗点的解释是,特征图像上的一个点对应输入图像上的区域。在本实施例中,通过获取到具有不同感受野的第一图像特征确定待分割图像的语义信息和空间信息,从而有利于提高待分割图像的像素分类的准确性和边缘分割精度。

各第一卷积单元包括多次堆叠的不同个数的可分离卷积模块;可选的,编码器模块中5层卷积单元堆叠的可分离卷积模块数量为2,2,3,6和4。可分离卷积模块的运算操作包括3×3分组卷积、批归一化、ReLU6激活函数、1×1常规卷积、批归一化、ReLU6激活函数六个运算单元。

在本实施例中,每经过一层第一卷积单元的处理,输出第一图像特征的分辨率则相对于该层输入的第一图像特征的分辨率减半。可选的,可分离卷积模块通过设置3×3分组卷积的步长为2,从而实现下采样,将每层第一卷积单元输出的第一图像特征的分辨率减半,通过设置1×1常规卷积的通道参数,从而输出预定义通道数,例如,将通道参数设为1,输出单通道特征图像。

各所述第二卷积单元的运算操作包括3×3分组卷积、1×1常规卷积、ReLU6激活函数,其中,每层第二卷积单元通过行双线性插值上采样操作逐层增加输出的第二图像特征的分辨率,从而逐层还原出与输入的待分割图像的分辨率一致的特征图像。

在一实施例中,步骤S220中的将所述第一图像特征输入到所述头发分割网络的解码模块进行处理,还原得到与输入的所述待分割图像的分辨率一致的特征图像,可以包括以下步骤:

S2202、采用特征跳接的方式将所述编码器模块的各第一卷积单元输出的第一图像特征输入到对应的解码器模块对应的第二卷积层中,并结合上采样方式逐层进行网络运算,提取得到第二图像特征。

特征跳接(skip connect)是指编码器模块的位于中间层(非最后一层)第一卷积单元输出的第一图像特征跳转输入到对应的解码器模块的对应的第二卷积单元,并与该层对应的上一层第二卷积单元输出的第二图像特征进行卷积运算处理。

图3是本申请一实施例提供的头发分割网络的工作原理图,如图3所示,编码器模块的in_conv卷积单元输出的第一图像特征跳接输入到解码器模块对应的Decoder_5卷积单元,编码器模块的Encoder_1卷积单元输出的第一图像特征跳接输入到解码器模块对应的Decoder_4卷积单元,编码器模块的Encoder_2卷积单元输出的第一图像特征跳接输入到解码器模块对应的Decoder_3卷积单元,编码器模块的Encoder_3卷积单元输出的第一图像特征跳接输入到解码器模块对应的Decoder_2卷积单元,编码器模块的Encoder_4卷积单元输出的第一图像特征跳接输入到解码器模块对应的Decoder_1卷积单元,从而实现特征跳接,以将编码器模块的各第一卷积单元输出的第一图像特征输入到对应的解码器模块对应的第二卷积单元中。与此同时,解码器模块对应的Decoder_1卷积单元获取Encoder_5卷积单元输出的第一图像特征,解码器模块对应的Decoder_2卷积单元获取Decoder_1卷积单元输出的第二图像特征,解码器模块对应的Decoder_3卷积单元获取Decoder_2卷积单元输出的第二图像特征,解码器模块对应的Decoder_4卷积单元获取Decoder_3卷积单元输出的第二图像特征,解码器模块对应的Decoder_5卷积单元获取Decoder_4卷积单元输出的第二图像特征,从而实现特征跳接,以将编码器模块的各第一卷积单元输出的第一图像特征输入到对应的解码器模块对应的第二卷积单元中,并利用上采样方式结合解码器模块各第二卷积单元输出的第二图像特征逐层进行网络运算,提取得到第二图像特征。

S2203、根据所述第二图像特征还原得到与输入的所述待分割图像的分辨率一致的特征图像。

在本实施例中,解码器模块通过多层的第二卷积单元,逐层加倍增加第二图像特征的分辨率,以使得当最后一层的第二卷积单元输出的第二图像特征的分辨率与输入的待分割图像的分辨率一致,得到特征图像。

S230、根据所述概率图像对所述图像帧的头发区域进行分割。

头发分割网络对待分割图像集中的待分割图像进行语义分割后,输出对应的概率图像,概率图像中的各个像素的取值为1或0,根据像素值确定头发分割区域,如像素值0为黑色,则黑色区域为头发区域。

可选的,可以直接按照头发分割网络输出的概率图像对图像帧的头发区域进行分割处理。在本实施例中,还可以对概率图像进行后续处理,比如导向滤波,以优化头发区域的分割精度,或者帧间均值平滑处理,以得到更精准的概率图像等,从而进一步提高图像帧的头发区域的分割效果。

本实施例提供的视频图像的区域分割方法,通过获取包含头发的图像帧对应的待分割图像集,将待分割图像集依次输入到头发分割网络进行语义分割处理,得到待分割图像对应的概率图像,接收头发分割网络输出的概率图像,根据概率图像对图像帧的头发区域进行分割,其中,头发分割网络为压缩通道数量的卷积神经网络,部署在客户端,从而实现在客户端上实时进行视频图像的头发区域的精准分割,满足用户的需求。

为了使本技术方案更为清晰,更为便于理解,下面对本技术方案中的多个步骤的具体的实现过程和方式加以详细的描述。

需要说明的是,在相关技术中,头发分割实现方案都是基于图像输入进行处理,普遍具有运算量大,由于客户端播放视频一般为25fps(fps是指画面每秒传输帧数),若部署在客户端则要求手机端对头发分割的处理速度同样达到视频播放帧速,即25fps,若直接将相关技术中的头发分割网络移植到客户端,导致头发分割的处理速度较慢甚至死机无法工作,从而造成卡端,使得相关技术中的头发分割网络无法部署在客户端进行运行。本申请方案是基于轻量级头发分割网络进行视频图像的头发分割,能够部署在客户端,且能够实时精确的分割出头发区域,保证分割精度的同时避免卡顿。

基于此,本申请方案提供的视频图像的区域分割方法还包括:训练生成头发分割网络。

在一实施例中,头发分割网络可以通过以下方式来实现:

S310、调用Unet网络模型,将所述Unet网络模型的卷积单元设置为可分离卷积单元。

在本实施例中,头发分割网络是基于Unet架构进行设计,包括特征提取和上采样两部分。将Unet网络模型的卷积单元替换为可分离卷积单元(depthwise separableconvolution),可分离卷积单元可以让头发分割网络更加轻量(即更少的可训练权重参数)、速度更快(即更少的浮点数运算),从而有利于实时头发分割。

S320、根据头发分割场景特性压缩所述Unet网络模型的基础通道数量并增加所述Unet网络模型的层数,以使得通过修改后的所述基础通道数与所述层数所输出特征图像与头发分割场景特性相适应,得到轻量级的头发分割网络。

在本实施例中,头发分割场景特性是指满足于视频制作平台,如短视频或小视频的制作要求的分割精度、显示分辨率、图像尺寸等要求的参数特性。

压缩Unet网络模型的基础通道数量,将基础通道数量由64压缩到8,同时将卷积神经网络的4层卷积层增加到5层,弥补基础通道数量压缩所造成的分割效果损失,增强头发分割网络的特征提取能力,从而使得在该基础通道数量和卷积层的层数的头发分割网络输出的特征图像的分辨率与头发分割场景特性相适应,得到能够部署在客户端上运行的轻量级的头发分割网络。

原始的Unet网络模型的运算量Flops=46.3G,本实施例提供的能够实时进行头发分割的头发分割网络的运算量Flops=42M,处理速度提高了1000多倍,该头发分割网络能够部署在中低端的安卓系统的智能手机上实时运行,且具有更好的分割准确率与稳定性。

在一实施例中,步骤S320得到轻量级的头发分割网络之后,还包括以下步骤:

S330、基于BCE损失函数约束模型训练所述头发分割网络;

所述BCE损失函数为:

其中,

在相关技术中,大多采用交叉熵损失(CrossEntropyLoss)函数约束模型进行训练,CrossEntropyLoss函数输入特征是双通道的,需要经过softmax函数对两类概率进行归一化后,再取概率大的一类。本实施例采用BCE损失函数进行训练,BCE损失函数输入特征是单通道的,直接添加sigmoid函数即可得到概率图。BCE损失函数输出的概率值更加平滑,训练更加稳定。在本实施例中,基于BCE损失函数约束模型训练得到的头发分割网络输出的头发分割图像的分割效果更好。

在一实施例中,步骤S220中的根据所述特征图像得到所述待分割图像对应的概率图像,可以包括以下步骤:

S2204、将所述特征图像利用Sigmoid函数进行转换,得到所述特征图像对应的概率图像;其中,所述概率图像的取值范围为[0,1]。

其中,特征图像为与所述待分割图像集中的原始图像等尺寸的单通道图像。

单通道图像,俗称灰度图,每个像素点只能有一个值表示颜色,它的像素值在0到255之间,0是黑色,255是白色,中间值是一些不同等级的灰色。

将待分割图像输入到头发分割网络,对待分割图像集进行语义分割处理,输出待分割图像集对应的特征图像,该特征图像的分辨率与输入的待分割图像一致,为单通道图像,即特征图像的像素值范围为0~255。

Sigmoid函数的值域在0和1之间,Sigmoid函数具有非常好的对称性。在本实施例中,将像素值范围在0~255的特征图像利用Sigmoid函数进行转换,输出得到特征图像对应的概率图像的取值范围为0~1。

Sigmoid函数为:

其中,x为特征图像的像素值,f(x)为特征图像的像素点对应的在概率图像的取值。

在一实施例中,步骤S230中的根据概率图像对所述图片帧的头发区域进行分割,可以包括以下步骤:

S2301、获取所述待分割图像集对应的原始图像作为引导图像。

S2302、基于所述引导图像对所述概率图像进行导向滤波处理,得到输出图像。

导向滤波是一种图像滤波技术,通过一张引导图像G,对目标图像P(输入图像)进行滤波处理,使得最后的输出图像大体上与目标图像P相似,但是纹理部分与引导图像G相似,从而使得图像边缘平滑。

在本实施例中,将待分割图像集中的原始图像作为导向滤波的引导图像,将头发分割网络输出的概率图像作为目标图像(即输入图像),以使得输出图像大体上和概率图像相似,但是纹理部分与原始图像相似,从而使得输出图像的头发区域具有更加精确的分割效果。

在一实施例中,进一步的,还可以对输出图像进行帧间均值平滑处理,具体的,可以为:

获取当前图像帧的第一输出图像以及所述当前图像帧的前N帧对应的第二输出图像;将所述第一输出图像和所述第二输出图像进行帧间平滑操作,得到输出概率图像。

对于当前图像帧的第一输出图像(即概率图像)为Fi,取其前N帧,如前三帧的图像帧对应的第二输出图像,即F

本实施例通过帧间均值平滑操作,将相邻的若干帧图像帧的输出概率图像进行加权平均得到的结果作为当前图像帧的概率图像的结果,提高了头发分割精度。

S2303、根据所述输出图像中各个像素点的取值,确定所述输出图像的头发区域,根据该头发区域对所述图像帧进行分割。

根据输出图像的各个像素点的取值,确定输出图像中像素点的取值发生突变的位置,将位置确定为头发区域的边缘位置,即边缘线,边缘线所包围的地方为头发区域,根据头发区域对图像帧进行分割。

图4是本申请实施例提供的一种视频图像的头发替换方法的流程图,该头发替换方法可应用于视频图像的头发替换设备,如客户端。

具体的,如图4所示,视频图像的头发替换方法可以包括以下步骤:

S410、获取用户所选择的目标头发样式。

在本实施例中,客户端本地预先下载有头发样式,用户通过点击客户端的显示界面上的相关按钮,触发弹出头发样式的面板,通过面板展示不同的头发样式,这些头发样式可以是系统预先配置的头发样式,也可以是用户自定义的头发样式。

S420、确定视频图像的图像帧序列中的头发分割区域。

其中,所述头发分割区域通过将所述视频帧序列解帧得到的待分割图像集中的各所述待分割图像依次输入到头发分割网络,对所述待分割图像进行语义分割处理,利用所述头发分割网络的编码器模块提取不同感受野的第一图像特征,将所述第一图像特征输入到所述头发分割网络的解码器模块进行处理,还原得到与输入的所述待分割图像的分辨率一致的特征图像,并根据所述特征图像得到所述待分割图像对应的概率图像所确定。

在本实施例中,获取视频图像的图像帧,对所述图像帧进行内容识别获取包含头发的图像帧,得到需要进行头发分割的待分割图像集。

视频图像的图像帧可以是预设选定的一段或若干段视频的图像帧,也可以是任意段视频的图像帧。在这些图像帧中可能存在部分没有头发区域的图像帧,因此,需要对这些图像帧进行预处理。

在本实施例中,对视频进行解帧,获取到视频图像的图像帧,对图像帧进行内容识别获取包含头发的图像帧,比如,识别出图像帧中存在人脸,则认为图像帧是包含头发的图像帧,当然在其他实施例中,还可以通过其他内容识别获取到包含头发的图像帧,例如,识别出类似头发颜色、形状等内容的,确定图像帧为包含头发的图像帧等。

将包含头发的图像帧筛选出来进行整合,得到需要进行头发分割的待分割图像集。待分割图像集中的图像帧按照视频播放的时间顺序进行排列,得到图像序列,以便于实时对视频图像中的图像帧进行处理。

进一步的,在一实施例中,还可以根据头发分割场景特性对所述待分割图像集进行图像格式调整。

在本实施例中,头发分割场景特性是指满足于视频制作平台,如短视频或小视频的制作要求的分割精度、显示分辨率、图像尺寸等要求的参数特性。

例如,将图像帧进行裁剪和调整分辨率等处理,将图像帧的高度和宽度调整为(384,256),其中,图像帧的高度为384像素高度,宽度为256像素宽度。

根据头发分割场景特性设置待分割图像集的预处理参数,按照预处理参数对待分割图像集中的原始图像进行图像格式调整,如调整尺寸、分辨率和精度等。

进一步的,在一实施例中,将所述待分割图像集依次输入头发分割网络,对所述待分割图像进行语义分割处理,得到所述待分割图像集对应的概率图像;其中所述头发分割网络为压缩通道数量的卷积神经网络。

图像语义分割(semantic segmentation),是指让计算机根据图像的语义来进行分割。在图像领域,语义指的是图像的内容,对图片意思进行理解,分割的意思是从像素的角度分割出图片中的不同对象,对原图中的每个像素都进行标注,如,图像帧的白色表示头发区域,黑色表示非头发区域。当然在其他实施例中,还可以是图像帧的白色表示头发区域,绿色表示上衣区域、红色表示裤子区域等。

在本实施例中,头发分割网络为预先训练得到的卷积神经网络,能够与视频图像的区域分割场景相适应轻量级卷积神经网络,部署在客户端上,能够实时将视频图像中的头发区域进行样式变化。相对于相关的卷积神经网络的高运算量,本实施例的头发分割模型进行结构调整和参数调整,以使得保证识别精度的基础上,大大减少运算量。通常而言,神经网络的通道数量越多,数据运算量越大。头发分割网络压缩通道数量,降低了运算量,比如,将基础通道数由64压缩到8。在本实施例中,还可以通过其他参数调整或结构调整方式来补偿通道数量压缩所导致的分割效果,保证分割精度。

概率图像是指像素值为0或1组成的图像,为单通道图像。在概率图像中,每个像素的取值为0或者1,概率图像的尺寸大小与输入的待分割图像的大小相同。

将待分割图像集中的各待分割图像按照图像序列依次输入到预先训练好的头发分割网络,通过头发分割网络对待分割图像进行语义分割处理,并按照图像序列依次输出与待分割图像相同大小的概率图像,得到概率图像集合。通过概率图像的各个像素的取值或者颜色,确定图像帧的不同区域。

进一步的,在一实施例中,接收所述头发分割网络输出的概率图像,根据所述概率图像对所述图像帧的头发区域进行分割,得到视频图像中的头发分割区域。

头发分割网络对待分割图像集中的待分割图像进行语义分割后,输出对应的概率图像,概率图像中的各个像素的取值为1或0,根据像素值确定头发分割区域,如像素值0为黑色,则黑色区域为头发区域。

可选的,可以直接按照头发分割网络输出的概率图像对图像帧的头发区域进行分割处理。在本实施例中,还可以对概率图像进行后续处理,比如导向滤波,以优化头发区域的分割精度,或者帧间均值平滑处理,以得到更精准的概率图像等,从而进一步提高图像帧的头发区域的分割效果。

S430、将所述头发区域替换为所述目标头发样式后,输出融合有所述目标头发样式的视频图像。

将目标头发样式覆盖头发分割区域上的原先的头发样式,或者清除头发分割区域上的原先的头发样式,更换上用户所选择的目标样式,将目标头发样式融合到视频图像中,输出带有目标头发样式的视频图像。

本实施例提供的视频图像的头发替换方法,通过获取用户所选择的目标头发样式;利用预先训练好的轻量化的头发分割网络对待分割图像进行语义分割处理,得到所述待分割图像集对应的概率图像;接收所述头发分割网络输出的概率图像,并确定概率图像对应在图像帧的头发区域进行分割,将头发区域上的原先头发样式替换为目标头发样式后,输出融合有目标头发样式的视频图像,实现在客户端上实时进行视频图像的头发区域的精准分割与头发样式的更换,满足用户的需求。

为了更清楚地阐述本方案,下面结合图5对本方案的实现过程进行示例性说明。图5是本申请一实施例提供的头发分割和替换的实现原理图。

如图5所示,输入视频,将视频进行逐帧分解,得到需要进行头发分割处理的待分割图像集,将待分割图像集中的各帧图像帧输入到预先训练好的头发分割网络中进行语义分割,将图像帧利用头发分割网络的编码模块和解码模块的卷积单元进行编码和解码处理,在编码过程中,通过in_conv、Encoder_1、Encoder_2、Encoder_3、Encoder_4和Encoder_5等卷积层的逐层卷积编码处理,再通过Encoder_1、Encoder_2、Encoder_3、Encoder_4和Encoder_5等解码处理后得到概率图像,将该概率图像与其对应的原始的图像帧进行导向滤波,以调节概率图像的发色后,再获取该原始的图像帧邻近的若干帧图像,如前3帧图像帧,进行帧间均值平滑处理作为最终输出的概率图像,并以该最后输出的概率图像确定头发区域,将头发区域上的原先的头发样式进行更换,如将橙色的发色变更为红色的发色。

以上示例仅用于辅助阐述本公开技术方案,其涉及的图示内容及具体流程不构成对本公开技术方案的使用场景的限定。

下面对视频图像的区域分割装置和头发替换装置的相关实施例进行详细阐述。

图6是一实施例提供的视频图像的区域分割装置的结构示意图,视频图像的区域分割装置可执行于视频图像的区域分割设备,如客户端。

具体的,如图6所示,视频图像的区域分割装置200包括:图像集获取模块210、概率图像得到模块220以及头发区域分割模块230。

图像集获取模块210,用于获取视频图像的图像帧序列对应的待分割图像集;

概率图像得到模块220,用于将所述待分割图像集中的各所述待分割图像依次输入到头发分割网络,对所述待分割图像进行语义分割处理,利用所述头发分割网络的编码器模块提取所述待分割图像的具有不同感受野的第一图像特征,将所述第一图像特征输入到所述头发分割网络的解码器模块进行处理,还原得到与输入的所述待分割图像的分辨率一致的特征图像,并根据所述特征图像得到所述待分割图像对应的概率图像;其中,所述头发分割网络为轻量级深度卷积神经网络;

头发区域分割模块230,用于根据所述概率图像对所述图片帧的头发区域进行分割。

本实施例提供的视频图像的区域分割装置,部署在客户端,能够实现在客户端上实时进行视频图像的头发区域的精准分割,满足用户的需求。

在一实施例中,所述编码器模块包括多层第一卷积单元;

概率图像得到模块220包括:第一图像特征提取单元,用于利用所述头发分割网络的编码器模块的多层第一卷积单元逐层提取所述待分割图像的具有不同感受野的第一图像特征;其中,所述第一图像特征的分辨率逐层递减。

在一实施例中,概率图像得到模块220包括:第二图像特征提取单元和特征图像得到单元;

第二图像特征提取单元,用于采用特征跳接的方式将所述编码器模块的各第一卷积单元输出的第一图像特征输入到对应的解码器模块对应的第二卷积层中,并结合上采样方式逐层进行网络运算,提取得到第二图像特征;

特征图像得到单元,用于根据所述第二图像特征还原得到与输入的所述待分割图像的分辨率一致的特征图像。

在一实施例中,所述编码器模块包括五层第一卷积单元;所述解码器模块包括五层第二卷积单元,所述第二卷积单元与所述第一卷积单元一一对应;

各所述第一卷积单元包括多次堆叠的不同个数的可分离卷积模块;所述可分离卷积模块的运算操作包括3×3分组卷积、批归一化、ReLU6激活函数、1×1常规卷积、批归一化、ReLU6激活函数六个运算单元;

各所述第二卷积单元的运算操作包括3×3分组卷积、1×1常规卷积、ReLU6激活函数,其中,每层第二卷积单元通过行双线性插值上采样操作逐层增加输出的第二图像特征的分辨率。

在一实施例中,视频图像的区域分割装置还包括:头发分割网络得到模块,用于调用Unet网络模型,将所述Unet网络模型的卷积单元设置为可分离卷积单元;根据头发分割场景特性压缩所述Unet网络模型的基础通道数量并增加所述Unet网络模型的层数,以使得通过修改后的所述基础通道数与所述层数所输出特征图像与头发分割场景特性相适应,得到轻量级的头发分割网络。

在一实施例中,视频图像的区域分割装置还包括:头发分割网络训练模块,用于基于BCE损失函数约束模型训练所述头发分割网络;

所述BCE损失函数为:

其中,

在一实施例中,概率图像得到模块230包括:特征图像输出单元和概率图像得到单元;其中,特征图像输出单元,用于利用所述头发分割网络对所述待分割图像集进行语义分割处理,输出所述待分割图像集对应的特征图像;其中所述特征图像为与所述待分割图像集中的原始图像等尺寸的单通道图像;概率图像得到单元,用于将所述特征图像利用Sigmoid函数进行转换,得到所述特征图像对应的概率图像;其中,所述概率图像的取值范围为[0,1]。

在一实施例中,头发区域分割模块240包括:引导图像获取单元、输出图像得到单元和图像帧分割单元;

其中,引导图像获取单元,用于获取所述待分割图像集对应的原始图像作为引导图像;输出图像得到单元,用于基于所述引导图像对所述概率图像进行导向滤波处理,得到输出图像;图像帧分割单元,用于根据所述输出图像中各个像素点的取值,确定所述输出图像的头发区域,根据该头发区域对所述图像帧序列进行分割。

在一实施例中,头发区域分割模块240还包括:帧间平滑处理模块,包括输出图像获取单元和输出概率图像得到单元;其中,

输出图像获取单元,用于获取当前图像帧的第一输出图像以及所述当前图像帧的前N帧对应的第二输出图像;其中,N为正整数;输出概率图像得到单元,用于将所述第一输出图像和所述第二输出图像进行帧间平滑操作,得到输出概率图像。

本公开实施例的视频图像的区域分割装置可执行本公开的实施例所提供的视频图像的区域分割方法,其实现原理相类似,本公开各实施例中的视频图像的区域分割装置中的各模块所执行的动作是与本公开各实施例中的视频图像的区域分割方法中的步骤相对应的,对于视频图像的区域分割装置的各模块的详细功能描述具体可以参见前文中所示的对应的电视频图像的区域分割方法中的描述,此处不再赘述。

图7是一实施例提供的视频图像的头发替换装置的结构示意图,视频图像的头发替换装置可执行于视频图像的头发替换设备,如客户端。

具体的,如图7所示,视频图像的头发替换装置400包括:头发样式获取模块410、分割区域确定模块420以及视频图像输出模块430。

其中,头发样式获取模块410,用于获取用户所选择的目标头发样式;

分割区域确定模块420,用于确定视频图像的图像帧序列中的头发分割区域,其中,所述头发分割区域通过将所述视频帧序列解帧得到的待分割图像集中的各所述待分割图像依次输入到头发分割网络,对所述待分割图像进行语义分割处理,利用所述头发分割网络的编码器模块提取不同感受野的第一图像特征,将所述第一图像特征输入到所述头发分割网络的解码器模块进行处理,还原得到与输入的所述待分割图像的分辨率一致的特征图像,并根据所述特征图像得到所述待分割图像对应的概率图像所确定;

视频图像输出模块430,用于将所述头发区域替换为所述目标头发样式后,输出融合有所述目标头发样式的视频图像。

本公开实施例的视频图像的头发替换装置可执行本公开的实施例所提供的视频图像的头发替换方法,其实现原理相类似,此处不再赘述。

本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一实施例中的视频图像的区域分割方法或视频图像的头发替换方法。

上述提供的计算机设备执行上述任意实施例提供的视频图像的区域分割及头发替换方法时,具备相应的功能和有益效果。

本发明实施例提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种视频图像的区域分割方法,包括:

获取视频图像的图像帧序列对应的待分割图像集;

将所述待分割图像集中的各所述待分割图像依次输入到头发分割网络,对所述待分割图像进行语义分割处理,利用所述头发分割网络的编码器模块提取所述待分割图像的具有不同感受野的第一图像特征,将所述第一图像特征输入到所述头发分割网络的解码器模块进行处理,还原得到与输入的所述待分割图像的分辨率一致的特征图像,并根据所述特征图像得到所述待分割图像对应的概率图像;其中,所述头发分割网络为轻量级深度卷积神经网络;

根据所述概率图像对所述图像帧序列的头发区域进行分割。

所述计算机可执行指令在由计算机处理器执行时还用于执行一种视频图像的头发替换方法,包括:

获取用户所选择的目标头发样式;

确定视频图像中待分割图像的头发区域,其中,所述头发区域通过将所述视频帧序列解帧得到的待分割图像集中的各所述待分割图像依次输入到头发分割网络,对所述待分割图像进行语义分割处理,利用所述头发分割网络的编码器模块提取不同感受野的第一图像特征,将所述第一图像特征输入到所述头发分割网络的解码器模块进行处理,还原得到与输入的所述待分割图像的分辨率一致的特征图像,并根据所述特征图像得到所述待分割图像对应的概率图像所确定;

将所述头发区域替换为所述目标头发样式后,输出融合有所述目标头发样式的视频图像。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的视频图像的区域分割及头发替换方法操作,且具备相应的功能和有益效果。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明任意实施例所述的视频图像的区域分割及头发替换方法。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

相关技术
  • 视频图像的区域分割及头发替换方法、装置及设备
  • 基于图像的着装区域分割和着装替换方法、装置及设备
技术分类

06120112191133