一种基于特征轮廓的人物图像分割方法

专利2023-05-21  116



1.本发明属于图像分割技术领域,具体涉及一种基于特征轮廓的人物图像分割方法。


背景技术:

2.图像分割属于计算机视觉的范畴,最早单指图像的语义分割,现如今其包括图像语义分割和精细分割,其中,图像精细分割技术主要应用在以人像为目标的近距离分割任务中。
3.目前,图像精细分割方法大多基于深度学习,可划分为有三值图(trimap) 和无三值图两种。其中,有trimap的图像分割方法需要先获取精细的trimap,再将其与原图一起作为网络的输入,通过网络的计算预测生成相应的透明度掩模图(alpha matting),而无trimap的图像分割方法直接从原图中预测前、背景像素及其透明度,分割精度很难得到保证,因此有trimap的图像分割方法成为本领域的研究热点。
4.trimap通常由前景区域、确定背景区域以及未知区域三部分组成,图像精细分割就是对trimap的未知区域进行精确的预测,从而得到最终的alpha matting,因此高质量的三值图对于精细分割的效率及准确度至关重要。相关技术中,三值图的生成方法有手工标记和自动生成算法,手工标记的工具有photoshop, autocad和visio等,尽管标记的准确度可以通过人为提高不少,但却需要花费大量的时间和人力。三值图的自动化生成方法则是对粗分割的结果继续进行腐蚀膨胀操作;但是,腐蚀膨胀操作一般使用一个固定大小的卷积核,不同的核大小得到的三值图的质量也不同,实际应用中可用性不强且缺乏普适性。
5.获取三值图后,现有技术中采用deep image matting算法进行人像分割,具体地,首先利用编解码网络预测人像的粗alpha matting、再利用浅层网络对alpha matting的模糊边缘和进行更精细化的描述和纠正。然而,上述方法分割出的人像边缘透明度存在较大误差,修正时会影响算法的自动化程度并需要额外的损失函数。因此,现有人像分割方法的自动化水平和分割精度均有待提高。


技术实现要素:

6.为了解决现有技术中存在的上述问题,本发明提供了一种基于特征轮廓的人物图像分割方法。本发明要解决的技术问题通过以下技术方案实现:
7.本发明提供一种基于特征轮廓的人物图像分割方法,包括:
8.获取待处理的人物图像;
9.对所述待处理的人物图像进行mean-shift预处理,获得边缘曲线;
10.确定所述边缘曲线上各像素点的有效域,并根据所述有效域从边缘曲线的所有像素点中确定轮廓点;
11.根据所述轮廓点组成的多个轮廓,分别计算每个轮廓的面积和周长,并根据所述面积和所述周长确定预设数量个特征轮廓;
12.将所述待处理的人物图像以及所述特征轮廓输入至预先训练好的语义分割网络,以使所述语义分割网络生成低层次特征流,并根据所述特征轮廓和所述待处理的人物图像生成特征图,进一步根据所述特征图和所述低层次特征流恢复得到第一图像,并将所述第一图像中的像素点分类前景区域、背景区域或未知区域,得到所述待处理的人物图像经语义分割后的三值图;
13.将所述待处理的人物图像和所述三值图输入至预先训练好的精细分割网络,以使所述精细分割网络预测所述三值图中未知区域的像素点的透明度,得到所述待处理的人物图像的精细分割结果。
14.在本发明的一个实施例中,确定所述边缘曲线上各像素点的有效域,并根据所述有效域从边缘曲线的所有像素点中确定轮廓点的步骤,包括:
15.根据边缘曲线的表达式y=f(x)和1曲率检测算法,确定所述边缘曲线上一像素点pi的离散曲率:
16.s(pi)=f
i+1-fi17.其中,pi表示所述边缘曲线上的第i个像素点,s(pi)表示像素点pi的离散曲率;
18.在所述边缘曲线上取像素点pi相邻的像素点p
i-k
、p
i+k
,并分别计算 k=1、2、3k时的长度l
ik
以及pi到的垂直距离d
ik
;其中,表示像素点p
i-k
、p
i+k
之间的弦;
19.当所述的长度l
ik
和pi到的垂直距离d
ik
满足预设条件时,根据 k的最大取值ki确定像素点pi对应的有效域半径和有效域d(pi);
20.针对所述边缘曲线上一像素点pi,当其满足条件|s(pi)|≥|s(pj)|时,保留该像素点;反之,则删除该像素点以及离散曲率为0的像素点;其中|i-j|≤ki/2;
21.针对所述边缘曲线上剩余的像素点,当像素点pi对应的有效域半径ki=1且有效域d(pi)中存在p
i-1
或p
i+1
,则删除满足条件|s(pi)|≤|s(p
i-1
)|或|s(pi)|≤|s(p
i+1
)| 的像素点pi;
22.针对所述边缘曲线上剩余的像素点,若存在多于2个像素点的有效域,则删除该有效域端点之外的像素点pi;若存在包含2个像素点的有效域,则在 |s(pi)|》|s(p
i+1
)|,删除像素点p
i+1
,并在|s(pi)|《|s(p
i+1
)|,删除像素点pi;
23.将剩余的像素点确定为轮廓点。
24.在本发明的一个实施例中,所述预设条件包括第一预设条件和第二预设条件;其中,
25.所述第一预设条件为:l
ik
≥l
i,k+1

26.所述第二预设条件为:
27.28.在本发明的一个实施例中,所述当所述的长度l
ik
和pi到的垂直距离d
ik
满足预设条件时,根据k的最大取值ki确定像素点pi对应的有效域半径和有效域d(pi)的步骤,包括:
29.当的长度l
ik
满足所述第一预设条件和\或的长度l
ik
以及pi到的垂直距离d
ik
满足所述第二预设条件时,将的最大取值ki确定为像素点pi有效域的半径,并根据所述半径确定像素点pi的有效域d(pi)。
30.在本发明的一个实施例中,所述根据所述轮廓点组成的多个轮廓,分别计算每个轮廓的面积和周长,并根据所述面积和所述周长确定预设数量个特征轮廓的步骤,包括:
31.针对所述轮廓点组成的多个轮廓,分别进行编号并建立网状结构;
32.计算每个所述轮廓的面积s和周长l,得到两个数组:l=[l1,l2,k,lm]和 s=[s1,s2,k,sm],m表示轮廓的编号;
[0033]
当两个数组中对应的元素满足条件(lm≥a)∪(sm≥b)时,将编号为m的轮廓确定为特征轮廓;其中,a表示预设的周长阈值,b表示预设的面积阈值。
[0034]
在本发明的一个实施例中,所述语义分割网络包括:第一编码器、空洞空间卷积池化金字塔aspp模块、第一解码器和softmax层,所述第一编码器包括多个mobilenetv3-mid网络的block;其中,
[0035]
所述第一编码器用于生成低层次特征流,并根据输入的所述特征轮廓和所述待处理的人物图像生成子特征图;
[0036]
所述aspp模块用于提取所述子特征图中的不同尺度特征,并根据所述子特征图和所述不同尺度特征生成特征图;
[0037]
所述第一解码器用于根据所述特征图和所述低层次特征流恢复得到第一图像,所述第一图像与所述待处理的人物图像的大小相同;
[0038]
所述softmax层用于将所述第一图像中的各像素点分类至前景区域、背景区域或未知区域,并输出三值图。
[0039]
在本发明的一个实施例中,所述精细分割网络包括u-net和上下文注意力cam模块,所述u-net包括第二编码器和第二解码器;其中,
[0040]
所述第二编码器用于在获取所述三值图和所述待处理的人物图像后,提取所述待处理的人物图像的透明度特征,并生成alpha特征流;
[0041]
所述cam模块用于根据被分类至前景区域和背景区域的像素点的透明度,预测被分类至未知区域的像素点的透明度
[0042]
所述第二解码器用于根据所述alpha特征流,恢复所述待处理的人物图像的原始分辨率并预测透明度掩模图,得到所述待处理的人物图像的分割结果。
[0043]
与现有技术相比,本发明的有益效果在于:
[0044]
本发明提供一种基于特征轮廓的人物图像分割方法,首先进行人像特征轮廓的先验生成,用特征轮廓标记待处理的人物图像,然后利用语义分割网络三分类预测三值图,并进一步利用精细分割网络分割出高质量的alpha matting,该方法能够自动地生成高质量三值图,不仅提高了三值图的生成效率、改善了三值图的精细程度,也有利于使后续的人物
图像分割更加准确。
[0045]
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
[0046]
图1是本发明实施例提供的基于特征轮廓的人物图像分割方法的一种流程图;
[0047]
图2是本发明实施例提供的基于特征轮廓的人物图像分割方法的一种示意图;
[0048]
图3a是相关技术中轮廓检测方法的一种结果图;
[0049]
图3b是本发明实施例提供的特征轮廓的一种实例图;
[0050]
图4是本发明实施例提供的语义分割网络的一种示意图;
[0051]
图5是本发明实施例提供的mobilenetv3网络中block的一种示意图;
[0052]
图6是本发明实施例提供的mobilenetv3-mid网络中last stage结构的一种示意图;
[0053]
图7是本发明实施例提供的精细分割网络的一种示意图;
[0054]
图8是本发明实施例提供的精细分割网络中各block模块的一种示意图;
[0055]
图9是本发明实施例提供的cam模块的一种示意图;
[0056]
图10是本发明实施例提供的三值图的生成结果对比图;
[0057]
图11是本发明实施例提供的人物图像分割结果的对比图。
具体实施方式
[0058]
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
[0059]
图1是本发明实施例提供的基于特征轮廓的人物图像分割方法的一种流程图,图2是本发明实施例提供的基于特征轮廓的人物图像分割方法的一种示意图。请结合图1-2所示,本发明实施例提供一种基于特征轮廓的人物图像分割方法,包括:
[0060]
s1、获取待处理的人物图像;
[0061]
s2、对待处理的人物图像进行mean-shift预处理,获得边缘曲线;
[0062]
s3、确定边缘曲线上各像素点的有效域,并根据有效域从边缘曲线的所有像素点中确定轮廓点;
[0063]
s4、根据轮廓点组成的多个轮廓,分别计算每个轮廓的面积和周长,并根据面积和周长确定预设数量个特征轮廓;
[0064]
s5、将待处理的人物图像以及特征轮廓输入至预先训练好的语义分割网络,以使语义分割网络生成低层次特征流,并根据特征轮廓和待处理的人物图像生成特征图,进一步根据特征图和低层次特征流恢复得到第一图像,并将第一图像中的像素点分类前景区域、背景区域或未知区域,得到待处理的人物图像经语义分割后的三值图;
[0065]
s6、将待处理的人物图像和三值图输入至预先训练好的精细分割网络,以使精细分割网络预测三值图中未知区域的像素点的透明度,得到待处理的人物图像的分割结果。
[0066]
在上述人物图像分割方法中,可以先对待处理的人物图像进行mean-shift 预处理。具体而言,定义mean-shift向量:设置空间的维度为d,待处理的人物图像中有n个像素点,表示为pixel=1,

,n,x点的mean-shift向量的定义为:
[0067][0068]
sh是一个点集,表示满足以下条件的像素点:
[0069]
sh(x)≡{y:(y-x)
t
(y-x)≤h2}
[0070]
其中,k表示所有像素点中满足上式条件的个数,sh也可看作是一个高维球体,h是其半径。接着,创建一个球形空间,以任一点p0为原点,s
p
、cr分别为物理空间上和色彩空间上的半径,其中,s
p
=1、cr=70。球中每一点到点p0都有一个色彩向量,求所有向量之和,迭代计算每一个点的向量和,迭代的终止条件是向量和的终点正好是球中心点pn。
[0071]
可选地,上述步骤s3中,确定边缘曲线上各像素点的有效域,并根据有效域从边缘曲线的所有像素点中确定轮廓点的步骤,包括:
[0072]
s301、根据边缘曲线的表达式y=f(x)和1曲率检测算法,确定边缘曲线上一像素点pi的离散曲率:
[0073]
s(pi)=f
i+1-fi[0074]
其中,pi表示边缘曲线上的第i个像素点,s(pi)表示像素点pi的离散曲率。
[0075]
s302、在边缘曲线上取像素点pi相邻的像素点p
i-k
、p
i+k
,并分别计算 k=1、2、3k时的长度l
ik
以及pi到的垂直距离d
ik
;其中,表示像素点p
i-k
、p
i+k
之间的弦。
[0076]
可选地,步骤s302中,
[0077]
s303、当的长度l
ik
和pi到的垂直距离d
ik
满足预设条件时,根据k的最大取值ki确定像素点pi对应的有效域半径和有效域d(pi);
[0078]
具体而言,预设条件包括第一预设条件和第二预设条件;其中,第一预设条件为:l
ik
≥l
i,k+1
,第二预设条件为:
[0079][0080]
可选地,当的长度l
ik
满足第一预设条件和\或的长度l
ik
以及pi到的垂直距离d
ik
满足第二预设条件时,将k的最大取值ki确定为像素点 pi有效域的半径,并根据半径确定像素点pi的有效域d(pi)。
[0081]
其中,a、b分别表示第一预设条件和第二预设条件。
[0082]
s304、针对边缘曲线上一像素点pi,当其满足条件|s(pi)|≥|s(pj)|时,保留该像素点;反之,则删除该像素点以及离散曲率为0的像素点;其中, |i-j|≤ki/2;
[0083]
s305、针对边缘曲线上剩余的像素点,当像素点pi对应的有效域半径ki=1 且有效域d(pi)中存在p
i-1
或p
i+1
,则删除满足条件|s(pi)|≤|s(p
i-1
)|或 |s(pi)|≤|s(p
i+1
)|的像素点pi;
[0084]
s306、针对边缘曲线上剩余的像素点,若存在大于2个像素点的有效域,则删除该有效域端点之外的像素点pi;若存在包含2个像素点的有效域,则在 |s(pi)|》|s(p
i+1
)|,删除像素点p
i+1
,并在|s(pi)|《|s(p
i+1
)|,删除像素点pi;
[0085]
s307、将剩余的像素点确定为轮廓点。
[0086]
上述步骤s4中,根据轮廓点组成的多个轮廓,分别计算每个轮廓的面积和周长,并根据面积和周长确定预设数量个特征轮廓的步骤,包括:
[0087]
s401、针对轮廓点组成的多个轮廓,分别进行编号并建立网状结构;
[0088]
s402、计算每个轮廓的面积s和周长l,得到两个数组:l=[l1,l2,k,lm]和s=[s1,s2,k,sm],m表示轮廓的编号;
[0089]
s403、当两个数组中对应的元素满足条件(lm≥a)∪(sm≥b)时,将编号为m 的轮廓确定为特征轮廓;其中,a表示预设的周长阈值,b表示预设的面积阈值。
[0090]
图3a是相关技术中轮廓检测方法的一种结果图,图3b是本发明实施例提供的特征轮廓的一种实例图。需要说明的是,本实施例最终需要确定2-4个特征轮廓,周长阈值a和面积阈值b可以根据实际需要灵活设置,若确定出的轮廓数量大于4,则调高周长阈值a及面积阈值b,调整的步长为1;反之,若确定出的轮廓数量小于2,则相应调低周长阈值a及面积阈值b。如此迭代计算,即可得到人像的特征轮廓,可一定程度排除人像内部和外部的干扰轮廓。
[0091]
图4是本发明实施例提供的语义分割网络的一种示意图,图5是本发明实施例提供的mobilenetv3网络中block的一种示意图,图6是本发明实施例提供的mobilenetv3-mid网络中last stage结构的一种示意图。请参见图4-6,本实施例中,语义分割网络包括:第一编码器、空洞空间卷积池化金字塔aspp 模块、第一解码器和softmax层,第一编码器包括多个mobilenetv3-mid网络的block;其中,
[0092]
第一编码器用于生成低层次特征流,并根据输入的特征轮廓和待处理的人物图像生成子特征图;
[0093]
aspp模块用于提取子特征图中的不同尺度特征,并根据子特征图和不同尺度特征生成特征图;
[0094]
第一解码器用于根据特征图和低层次特征流恢复得到第一图像,第一图像与待处理的人物图像的大小相同;
[0095]
softmax层用于将第一图像中的各像素点分类至前景区域、背景区域或未知区域,并输出三值图。
[0096]
本实施例中,针对语义分割网络,添加se模块的一个mobilenet block,其网络结构如图4所示。其中,输入的图像特征块首先进行一个1*1的逐点卷积,再进行一个3*3的逐深度卷积,每次卷积后都会使用bn和激活函数relu6 操作进行归一化和非线性处理。随后经过一个se block添加注意力权重,seblock中主要进行squeeze(压缩f
ex
)和excitation(激发f
sq
)两个操作。
[0097]
在mobilenetv3中block的激活函数采用非线性激活函数nl,第二个全连接层使用
stage结构如图6所示,在第一个conv卷积之后舍弃池化层和后续的卷积操作,直接在后续的aspp中进行上述操作。
[0106]
如表2所示结构的第一个1*1卷积输出的特征图即10*10*480的深层特征输出,将其输入至aspp模块中,aspp模块能提取不同尺度的特征,其中使用的空洞卷积扩大了网络的感受野,避免池化过程中信息损失的问题,空洞卷积使得卷积的输出包含更广更大的信息。
[0107]
具体而言,本发明使用的aspp模块将一个1*1卷积、三个空洞比率为6、 12、18的空洞卷积以及全局信息层并联在一起,并且每一个分支的输出通道都是256,最后将这些并联层concat在一起,再接一个1*1卷积输出。aspp模块使用不同扩展率的深度可分离空洞卷积进行特征提取,5个并行模块的设计如表2所示。为加快网络收敛速度,本实施例改进的aspp模块中每一个卷积层之后使用批量归一化bn和relu激活函数,五个结构块得到输出分别记为a0、 a1、a2、a3、a4。对以上五个结构块进行叠加,即a0+a1+a2+a3+a4,叠加之后尺寸为10*10*1280,之后经过1*1卷积改变通道数为256,最后输出为 10*10*256即为y。本发明通过对aspp模块加以改进,使用较大的采样率可以捕获到更多的全局信息,有助于改善分割效果。
[0108]
表2
[0109][0110]
表3
[0111][0112][0113]
如图3所示,语义分割网络还包括第一解码器。针对第一解码器,如表3 所示,首先
对mobilenetv3-mid模块的80*80*24的低层次特征流进行处理,经过1*1卷积调整通道数为64,在经过bn和relu操作;然后对aspp模块的输出y进行上采样并放大特征图,使用resize_images改变尺寸为80*80*256;接着将两者进行叠加,再对叠加后的特征图进行两次3*3卷积核和两次1*1卷积,最后使用resize_images改变尺寸为320*320*3。
[0114]
对于得到320*320*3的特征图,softmax层将其reshape到102400*3的尺寸,然后对102400个像素点进行三分类操作,判断每一个像素点属于背景区域、前景区域或未知区域,完成语义分割。
[0115]
示例性地,softmax函数处理的公式为:
[0116][0117]
式中,yi表示输出的102400*3尺寸的图像块,经过softmax计算其概率分布,n表示类别数,这里n为3。
[0118]
本实施例用白、黑、灰三种颜色分别表示三值图中的三个类别,通过遍历待处理的人物图像的每一个像素点,计算出该像素点属于哪一类别的概率最高,然后对像素点归类至对应的区域。
[0119]
图7是本发明实施例提供的精细分割网络的一种示意图,图8是本发明实施例提供的精细分割网络中各block模块的一种示意图,图9是本发明实施例提供的cam模块的一种示意图。请参见图7-9,精细分割网络包括u-net和上下文注意力cam模块,u-net包括第二编码器和第二解码器;其中,
[0120]
第二编码器用于在获取三值图和待处理的人物图像后,提取待处理的人物图像的透明度特征,并生成alpha特征流;
[0121]
cam模块用于根据被分类至前景区域和背景区域的像素点的透明度,预测被分类至未知区域的像素点的透明度
[0122]
第二解码器用于根据alpha特征流,恢复待处理的人物图像的原始分辨率并预测透明度掩模图,得到待处理的人物图像的分割结果。
[0123]
具体地,精细分割网络的结构如图7所示,图像在其中的处理过程为:
[0124]
利用精细分割网络的第二编码器提取待处理的人物图像的特征,精细分割网络的整体结构采用的是u-net,形状类似于字母u,向下的部分为第二编码器。可选地,第二编码器有五层,每层之间通过一个short cut block进行短接,这样第二解码器会在上采样块之前组合第二编码器的特征,可以避免在第二编码器后的特征图上进行更多的卷积,此种设计方式能够保存更多的图像低层特征,有助于在预测生成alpha matting时能够保留更多的详细纹理信息。此外,本实施例用两个layer short cut block来对齐第二编码器特征图的通道以实现特征融合。另外,图像的原始输入经过short cut后直接连接到网络的最后一个卷积层中,这样特征不会在主干网络中产生任何计算操作,从而很好的保存细节特征和梯度信息。
[0125]
各个block的结构如图8所示。short cut block模块由两个3*3的stride conv 组成;res block由两个3*3普通卷积、一个1*1卷积组成;四个下采样卷积块 res down block由两个3*3卷积、一个平均池化操作以及一个1*1卷积组成,提取图像的深度特征。
[0126]
cam模块的结构如图9所示。cam模块输入有两个特征流,分别是alpha预测特征流和低层次特征流,cam模块用于根据前景区域和背景区域周围的信息预测未知区域的不透明度。cam模块从学习到的低层次特征上进行affinity,并以此外观信息为依据传递高层次的不透明度信息,能够有效使用网络生成的丰富特征。
[0127]
需要说明的是,低层次特征流即是语义分割网络的中间特征经过featurechange模块后的特征信息,而alpha预测特征流是精细分割网络中第二编码器传递的信息流,包含未知区域和已知区域。由于低层次特征流与alpha预测特征流大小一致,所以在低层次特征流中,使用alpha预测特征流的信息将细节特征也分为两个部分,即已知区域(前景区域、背景区域)和未知区域。在整个图像特征流上使用一个3*3的窗口进行切块,再将切块后的特征图块集reshape成一维的特征,并将其看作为卷积核与未知区域的特征图进行相似度计算:
[0128][0129]
式中,u
x,y
表示以(x,y)为中心的未知区域特征图,i
x

,y

表示以(x

,y

)为中心的图像特征块,s
(x,y),(x

,y

)
表示两块区域的相似度,u
x,y
∈μ也是图像特征块集τ中的一个元素(μ∈τ),常数λ为惩罚超参数,设为-104,这样可以避免未知区域与它所在的位置产生过大的相似度。
[0130]
从(x

,y

)开始,按照如下公式执行缩放softmax以得到每个特征块的注意力权重attentionscore:
[0131]a(x,y),(x

,y

)
=softmax(ω(μ,κ,x

,y

)s
(x,y),(x

,y

)
)
[0132][0133]
clamp(φ)=min(max(φ,0.1),10)
[0134]
其中,ω()表示权重函数,κ=i-μ为图像特征块集中的已知区域块。但是,三值图中未知区域的大小不确定,可能是存在大量未知区域的,因此本实施例根据已知区域的大小设置每个特征块权重的大小,设计的函数就是
[0135]
当已知区域比较大时,已知区域的特征块就能携带更多更准确的细节信息以区分前景和背景,这时可使用大权重值加权已知区域的特征块;反之,如果已知区域比较小,已知区域的特征块只会提供少量外观信息,不足以预测不透明度,所以可以给予已知区域特
征块一个较小的权重值。同时,对alpha预测特征流也进行相同的划分并reshape为卷积核,再进行一个反卷积操作,之后未知区域就会在alpha特征图上进行重现,最后的结果与原来的alpha特征进行融合向下传递训练。
[0136]
进一步地,使用精细分割网络的第二解码器恢复图像尺寸,第二解码器即是u状网络中向上的部分,第二解码器同样也有5层。请继续参见图10,其中前四层解码器的上采样卷积块res block up由两个3*3卷积、一个nearestupsample操作以及一个1*1卷积组成,上采样模块输出的特征经过一个res模块进行处理,之后再与short cut block过来的底层信息进行element-wise特征相加操作。feature change模块的作用是对中间特征进行尺寸和通道调整,目的是获得与cam模块的另一支输入特征图相同的尺寸和通道数。语义分割网络的中间特征是80*80*24,只需要进行一次stride为2的3*3卷积操作即可将尺寸输出为40*40,在进行一个1*1卷积操作调整通道数为64即可。而如果不使用这个80*80*24的中间特征,就需要对原图进行三次stride为2的3*3卷积再调整通道,加大了网络的计算负担。这样的设计充分利用语义分割网络,加强两子网络之间连接,减少不必要的计算冗余。解码器最后一层由一个deconv以及一个conv操作组成。图示中所有的卷积操作都增加了光谱归一化sn和批量归一化操作bn,以加快收敛。
[0137]
需要说明的是,精细分割网络预测的是人像轮廓周围的深度alpha特征,所以训练过程中使用的监督信号是三值图中未知区域的alpha掩模图,定义为未知区域的alpha matting与ground truth之间的绝对差值,精细分割网络的损失函数为:
[0138]
ld=m
μ
||α
p-αg||1[0139]
其中,m
μ
是一个二进制掩码,表示是否为三值图的未知区域,m
μ
=1表示该像素点处于未知区域,m
μ
=0表示像素点处于已知区域,α
p
表示预测的alphamatting,αg表示ground truth的alpha matting,m
μ
屏蔽掉已经确定的区域,起到一个attention的作用,可以有效简化损失计算和反馈的过程,并且m
μ
=0区域的预测可能不够准确,尤其对于人像前景内部细节,预测难度过大,会消耗大量的计算资源,影响整个网络的分割效率。
[0140]
本发明基于特征轮廓的人像精细分割算法由语义分割网络和精细分割两个子网络组成,各网络各司其职,都有独立的预测任务和损失函数,同时又连接紧密,是一个端到端的的计算和训练过程。所以需要一个联合损失函数计算整个网络的损失,这个损失loss是语义分割网络的损失函数l
t
和精细网络的损失函数ld的加权之和:
[0141]
loss=εl
t
+(1-ε)ld[0142]
其中,ε表示损失函数的权重,在训练时取值为0.1,在使用高质量三值图作为约束的同时强调alpha matting图的精细程度。
[0143]
下面,本发明通过实验对上述基于特征轮廓的人物图像分割方法做进一步说明。
[0144]
图10是本发明实施例提供的三值图的生成结果对比图。参照图10,本发明的基于特征轮廓的语义分割网络生成三值图的实验结果分析如下:第一列为待处理的人物图像,第二列为第一列图像的ground truth,第三列为对第二列进行腐蚀膨胀操作得到的三值图,可以看到此三值图未知区域的面积分布比较均衡,只与卷积核的大小有关。对于一些比较复杂的轮廓区域(如头发,衣服边缘等)来说,需要更多的区域被标记为未知,此时若增大形态学操作的卷积核,则会导致三值图的全局未知区域膨胀,影响后续精细分割的效率和精度。第四列为使用deeplabv3+进行语义分割再三分类之后的三值图,可见此时的人像边
缘不够完整清晰,有细节特征缺失的问题,相对于第五列有更多的位置被预测为未知区域。第五列即是使用本发明提出的语义分割网络生成的三值图,可见,使用特征轮廓生成预处理之后,三值图的未知区域的面积更少,并且三值图的边缘更加清晰,毛糙和误判的情况更少,再加上注意力机制和aspp模块,提高高频特征的精确度和分割效率,致使第五列的三值图质量明显高于第四列。使用photoshop手工标注出数据集中的三值图,如图10所示,标注时大部分未知区域使用10个像素单位,标注的面积和精准度都可以进行人为的控制,但是整体操作效率却很低,使用photoshop对一张图像进行操作的平均时间为 3min,而使用发明自动化语义分割网络生成三值图的平均速度为22.3fps,毫秒级别的生成速度是人工操作所不能比拟的。
[0145]
如表4所示,本发明使用平均交并比(miou)和未知区域像素占图像的百分比(up)来进行数据的分析验证:
[0146]
表4
[0147][0148]
本发明使用的基于特征轮廓的语义分割网络(fcss)生成的三值图是最接近于手工标注的,三值图中未知区域的面积平均占比为3.88%,面积比 deeplabv3+算法生成的三值图少近30%。将手工标注的三值图作为groundtruth,计算各算法的效果与ground truth的交并比iou。本文基于特征轮廓的语义分割算法的前景区域交并比(fgiou)、背景区域交并比(fgiou)、未知区域交并比(uniou)以及平均交并比(miou)都是最高的,算法的分类性能提升明显。使用mobilenetv3-large为主干网络的deeplabv3+算法的参数量为5.6m。本发明提出了mobilenetv3-mid,设计以mobilenetv3-mid作为主干网络的语义分割网络fcss,整个网络模型参数量只有4.8m,在处理效率上也有提高。本发明提出的特征轮廓生成预处理算法能很好预测大部分轮廓边缘,再加上语义分割网络设计中引入的注意力模块,使得边缘信息能够得到精确的定位和强化。再通过aspp融合不同尺寸的信息,使得分类的性能也得到较大的提升。无论从主管和客观的评价指标来看,本发明提出的基于特征轮廓的语义分割网络都有更好的分割效果,生成的高质量三值图为之后的精细分割提供了良好的基础。
[0149]
图11是本发明实施例提供的人物图像分割结果的对比图。参考图11,基于特征轮廓的人像分割整体效果分析如下:采用了deep image matting和 pm-100两种数据集进行模型训练和验证。图11中,第一列为待处理的人像图像;第七列为原图分割图的ground truth;第二列为dcnn的的分割效果;第三列为modnet的分割效果;第四列为deep image matting算法分割效果,其使用腐蚀膨胀生成的三值图作为输入。使用deeplabv3+作为语义
分割网络生成三值图,再结合本发明基于cam的精细分割网络,分割的效果见第五列。第六列即为本发明算法的分割效果图。分割效果图中的红边小框是放大后的细节图,本发明选择每组图像中区分度较为明显的区域进行展示。从图11中可见,分割的精确度从左到右递增,视觉效果也逐步提升。对于近距离高清的人像,头发丝等特别细小的特征会比较多,以上算法的分割效果都能达到发丝级别。但是算法能够保留的细节量还有比较大的区别,使用dcnn算法得到的人像边缘细节最少,并且人像特征容易整块丢失,稳定性不足。对于使用modnet算法的分割图,由于没有使用三值图作为输入,分割的效果也稍差一些,细小的边缘特征比较模糊,多条发丝常被预测为模糊的一条发丝,糊状阴影比较多,并且会将阴影等暗部较多的区域判为人像,也会出现分割效果不稳定的情况。 deep image matting算法的分割效果明显好于前面几种算法,保留的细节特征也是最多的,人像边缘十分锐利清晰。但通过仔细观察发现,其alpha matting图存在过度分割的现象,一些分割出来的发丝粗于ground truth中的,细节过于尖锐不够柔和,人像内部的一些特征常被判定为背景,存在一定的错判问题。尤其对于半透明的婚纱图像,透明度的判定不如本发明算法,并且过于复杂的网络结构使用的参数量很多,会导致验证集中一些分辨率超过2500*4000的图像在处理时撑爆gpu内存。第五列的分割效果接近于第六列,其保留的细节稍少于第六列中的,在较复杂的背景下,人像轮廓边缘出现错判为背景的问题,导致边缘不够连续。综合来看,本发明算法的分割效果是最接近ground truth 的,边缘清晰,细节保留比较多,人像即不模糊也不过于生硬,很少有过分割的情况。并且对于不同物距的人像分割效果比较稳定,对于过暗过亮等不同环境适应性强。
[0150]
如表5所示,本发明计算了验证集中的mse、sad、gradient、connectivity 值,对分割效果的客观分析如下:
[0151]
表5
[0152]
算法trimapmse(
×
10-1
)sadgradconndim-trimapless-0.11070.3170.0670.05dcnn-0.079122.40129.57121.80modnet-0.04150.0542.31-dim+de√0.01450.0431.0050.08dim+fcss√0.01346.0336.3249.22alpha gan√0.03052.4038.00-ours+deeplabv3+√0.010841.1222.4636.74ours+fcss√0.009135.2218.8144.23
[0153]
ours代表本发明提出的基于cam的精细分割网络。从图11中可以看到,本发明所提出的分割算法在评价指标上优于对照组的算法。图中各算法是否使用三值图也对分割精度影响很大,其中dim-trimapless表示deep image matting 算法的网络结构删除trimap通道后,让网络直接预测alpha值,算法的精确度下降明显。dim+de是指dim算法使用腐蚀膨胀生成的三值图作为输入;而dim+fcss使用本发明提出的语义分割算法生成三值图,输入到dim网络中; alpha gan也是一种需要三值图的分割算法。设计上不需要三值图的modnet 算法的mse和sad等表现好于其它无三值图的算法,但是若给modnet加上本文提出的语义分割网络fcss,即网络训练时加上三值图通道,效果也会有明显的提升,在ppm-100数据集中
mse降低了约50%。同时在进行训练时输入的三值图的质量也会影响分割的精度,作为对比,使用deeplabv3+算法生成三值图输入到dim网络和基于cam的精细分割网络中,mse分别为0.013和 0.0112,但使用本发明fcss算法生成的三值图作为输入后,在ppm-100数据集上mse分别降低了18.8%和12.5%。本发明的精细分割算法(ours)相对于 dim算法平均降低了27%的mse,ours+fcss在这几组实验中分割效果是最好的。两种数据集下进行的实验效果相差较小,都能客观的证明几种算法的优劣。
[0154]
通过上述各实施例可知,本发明的有益效果在于:
[0155]
本发明提供一种基于特征轮廓的人物图像分割方法,首先进行人像特征轮廓的先验生成,用特征轮廓标记待处理的人物图像,然后利用语义分割网络三分类预测三值图,并进一步利用精细分割网络分割出高质量的alpha matting,该方法能够自动地生成高质量三值图,不仅提高了三值图的生成效率、改善了三值图的精细程度,也有利于使后续的人物图像分割更加准确。
[0156]
在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0157]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
[0158]
尽管在此结合各实施例对本技术进行了描述,然而,在实施所要求保护的本技术过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
[0159]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0160]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0161]
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的
保护范围。

技术特征:
1.一种基于特征轮廓的人物图像分割方法,其特征在于,包括:获取待处理的人物图像;对所述待处理的人物图像进行mean-shift预处理,获得边缘曲线;确定所述边缘曲线上各像素点的有效域,并根据所述有效域从边缘曲线的所有像素点中确定轮廓点;根据所述轮廓点组成的多个轮廓,分别计算每个轮廓的面积和周长,并根据所述面积和所述周长确定预设数量个特征轮廓;将所述待处理的人物图像以及所述特征轮廓输入至预先训练好的语义分割网络,以使所述语义分割网络生成低层次特征流,并根据所述特征轮廓和所述待处理的人物图像生成特征图,进一步根据所述特征图和所述低层次特征流恢复得到第一图像,并将所述第一图像中的像素点分类前景区域、背景区域或未知区域,得到所述待处理的人物图像经语义分割后的三值图;将所述待处理的人物图像和所述三值图输入至预先训练好的精细分割网络,以使所述精细分割网络预测所述三值图中未知区域的像素点的透明度,得到所述待处理的人物图像的分割结果。2.根据权利要求2所述的基于特征轮廓的人物图像分割方法,其特征在于,所述确定所述边缘曲线上各像素点的有效域,并根据所述有效域从边缘曲线的所有像素点中确定轮廓点的步骤,包括:根据边缘曲线的表达式y=f(x)和1曲率检测算法,确定所述边缘曲线上一像素点p
i
的离散曲率:s(p
i
)=f
i+1-f
i
其中,p
i
表示所述边缘曲线上的第i个像素点,s(p
i
)表示像素点p
i
的离散曲率;在所述边缘曲线上取像素点p
i
相邻的像素点p
i-k
、p
i+k
,并分别计算k=1、2、3...时的长度l
ik
以及p
i
到的垂直距离d
ik
;其中,表示像素点p
i-k
、p
i+k
之间的弦;当所述的长度l
ik
和p
i
到的垂直距离d
ik
满足预设条件时,根据k的最大取值k
i
确定像素点p
i
对应的有效域半径和有效域d(p
i
);针对所述边缘曲线上一像素点p
i
,当其满足条件|s(p
i
)|≥|s(p
j
)|时,保留该像素点;反之,则删除该像素点以及离散曲率为0的像素点;其中,|i-j|≤k
i
/2;针对所述边缘曲线上剩余的像素点,当像素点p
i
对应的有效域半径k
i
=1且有效域d(p
i
)中存在p
i-1
或p
i+1
,则删除满足条件|s(p
i
)|≤|s(p
i-1
)|或|s(p
i
)|≤|s(p
i+1
)|的像素点p
i
;针对所述边缘曲线上剩余的像素点,若存在大于2个像素点的有效域,则删除该有效域端点之外的像素点p
i
;若存在包含2个像素点的有效域,则在|s(p
i
)|>|s(p
i+1
)|,删除像素点p
i+1
,并在|s(p
i
)|<|s(p
i+1
)|,删除像素点p
i
;将剩余的像素点确定为轮廓点。3.根据权利要求2所述的基于特征轮廓的人物图像分割方法,其特征在于,所述预设条件包括第一预设条件和第二预设条件;其中,
所述第一预设条件为:l
ik
≥l
i,k+1
;所述第二预设条件为:4.根据权利要求3所述的基于特征轮廓的人物图像分割方法,其特征在于,所述当所述的长度l
ik
和p
i
到的垂直距离d
ik
满足预设条件时,根据k的最大取值k
i
确定像素点p
i
对应的有效域半径和有效域d(p
i
)的步骤,包括:当的长度l
ik
满足所述第一预设条件和\或的长度l
ik
以及p
i
到的垂直距离d
ik
满足所述第二预设条件时,将k的最大取值k
i
确定为像素点p
i
有效域的半径,并根据所述半径确定像素点p
i
的有效域d(p
i
)。5.根据权利要求2所述的基于特征轮廓的人物图像分割方法,其特征在于,所述根据所述轮廓点组成的多个轮廓,分别计算每个轮廓的面积和周长,并根据所述面积和所述周长确定预设数量个特征轮廓的步骤,包括:针对所述轮廓点组成的多个轮廓,分别进行编号并建立网状结构;计算每个所述轮廓的面积s和周长l,得到两个数组:l=[l1,l2,...,l
m
]和s=[s1,s2,...,s
m
],m表示轮廓的编号;当两个数组中对应的元素满足条件(l
m
≥a)∪(s
m
≥b)时,将编号为m的轮廓确定为特征轮廓;其中,a表示预设的周长阈值,b表示预设的面积阈值。6.根据权利要求1所述的基于特征轮廓的人物图像分割方法,其特征在于,所述语义分割网络包括:第一编码器、空洞空间卷积池化金字塔aspp模块、第一解码器和softmax层,所述第一编码器包括多个mobilenetv3-mid网络的block;其中,所述第一编码器用于生成低层次特征流,并根据输入的所述特征轮廓和所述待处理的人物图像生成子特征图;所述aspp模块用于提取所述子特征图中的不同尺度特征,并根据所述子特征图和所述不同尺度特征生成特征图;所述第一解码器用于根据所述特征图和所述低层次特征流恢复得到第一图像,所述第一图像与所述待处理的人物图像的大小相同;所述softmax层用于将所述第一图像中的各像素点分类至前景区域、背景区域或未知区域,并输出三值图。7.根据权利要求6所述的基于特征轮廓的人物图像分割方法,其特征在于,所述精细分割网络包括u-net和上下文注意力cam模块,所述u-net包括第二编码器和第二解码器;其中,所述第二编码器用于在获取所述三值图和所述待处理的人物图像后,提取所述待处理的人物图像的透明度特征,并生成alpha特征流;所述cam模块用于根据被分类至前景区域和背景区域的像素点的透明度,预测被分类至未知区域的像素点的透明度
所述第二解码器用于根据所述alpha特征流,恢复所述待处理的人物图像的原始分辨率并预测透明度掩模图,得到所述待处理的人物图像的分割结果。

技术总结
本发明公开了一种基于特征轮廓的人物图像分割方法,包括:获取待处理的人物图像;对待处理的人物图像进行Mean-Shift预处理,获得边缘曲线;确定边缘曲线上各像素点的有效域,并根据有效域确定轮廓点;根据轮廓点组成的多个轮廓、每个轮廓的面积和周长,确定预设数量个特征轮廓;将待处理的人物图像以及特征轮廓输入至语义分割网络,得到待处理的人物图像经语义分割后的三值图;将待处理的人物图像和三值图输入至精细分割网络,以使所述精细分割网络预测所述三值图中未知区域的像素点的透明度,得到待处理的人物图像的分割结果。本发明能够自动地生成高质量三值图,不仅提高了三值图的生成效率、改善了三值图的精细程度,也有利于使人物图像分割更加准确。使人物图像分割更加准确。使人物图像分割更加准确。


技术研发人员:朱娟娟 职玉 王晓博 谈旭 郑世鑫 刘佳琪
受保护的技术使用者:西安电子科技大学
技术研发日:2022.06.02
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-2736.html

最新回复(0)