APP下载

改进SOLOv2的服装图像分割算法

2022-01-26顾梅花李立瑶

纺织高校基础科学学报 2021年4期
关键词:服装预测函数

花 玮,顾梅花,李立瑶,崔 琳

(西安工程大学 电子信息学院,陕西 西安 710048)

0 引 言

服装图像分割[1]作为图像分割[2]在服装领域的具体应用,旨在通过滤除图像中的无用信息,保留服装图像的特征信息。常常应用于目标识别[3]、服装检索[4]、服装特征提取[5]、服装解析与分割[6]中。然而,服装图像大多来源于网络、广告片段、实景拍摄等,会因拍摄角度、光线与着装人体姿态的不同,产生小目标与遮挡等问题,同时服装的款式与风格繁多,视觉特征丰富多变,都会对检测与分割结果造成很大的影响。

传统的服装前景提取通常以阈值[7]、边界[8]、区域[9]等作为分割依据,适用于背景复杂度较低的情况;针对背景略微复杂的服装图像常采用超像素分割[10]、GrabCut[11]、聚类分割[12]等算法。超像素分割与GrabCut属于交互类分割技术,容易受到主观因素的影响导致分割效果不佳。文献[13]结合轮廓检测算法与全自动化GrabCut算法,解决了目标服装提取时因人体肤色干扰产生的欠分割问题,但其分割效果易受背景复杂性影响;文献[14]整理了一个大规模、含有类别与丰富标注的服装数据集DeepFashion,提出了一种FashionNet模型,融合多种监督信息提高服装图像的提取精度,但由于DeepFashion数据集标注的稀疏性以及没有像素级掩膜,无法进行服装图像的精准分割;文献[15]选择DeepFashion2数据集训练Mask R-CNN模型,经ResNet网络获取服装图像信息,结合RPN与RoIAlign将特征输入不同的预测分支,解决不同场景下的服装识别与分割问题,但并未对小目标服装以及遮挡服装的分割提出有效解决方案; 文献[16]提出的SOLOv1模型,摒弃检测框的同时采用位置分割目标物体,并预测目标物体的类别,使得分割速度得到大幅提升,但图片目标的稀疏分布会使输出过程中产生冗余现象,影响分割效果;随后,文献[17]提出的SOLOv2模型,以动态学习掩膜分支的方式,结合矩阵非极大值抑制(Matrix NMS)实现了高效分割,但这些方法并未解决服装图像分割中小目标与遮挡等问题。本文选用时效性较好的SOLOv2模型为基础网络,优化掩膜特征(mask feature,MF)分支中对多层特征的融合方式,上采样过程中选用Mish激活函数,在损失函数中引入影响因子,提升了模型对小目标与遮挡服装图像的分割精度。

1 MF结构优化

SOLOv2模型构架主要包括全卷积网络(fully convolutional network,FCN)[18]特征提取、掩膜内核分支、掩膜特征分支3个部分,SOLOv2的模型原理如图1所示。图1中,G为MF分支预测的卷积内核矩阵,F为MF给出的掩膜特征矩阵。

图 1 SOLOv2模型原理图Fig.1 SOLOv2 model schematic diagram

MF分支预测目标的掩膜特征矩阵时,通过引入特征金字塔网络[19](feature pyramid network,FPN)融合学习统一的高分辨率掩膜特征表示。MF分支的结构如图2所示。图2左侧为FCN提取的C2~C5层特征信息。对不同层级的FPN经过3个上采样阶段生成1/4比例的特征图像,并统一映射至原图的1/4尺寸作为单个输出;再经逐个元素求和,对最后一层使用一个1×1卷积、组归一化、ReLU激活函数处理,生成目标掩膜的特征图(feature map,FM),即图1中所示的F。同时,在FPN的最高层级引入了CoordConv处理,通过在输入特征中串入2个坐标通道,分别存放这2个坐标值; 并将坐标值归一化至[-1,1]之间,将空间位置信息引入掩膜内核分支。解决位置对应过程中坐标变换问题的同时,也能提供更准确的位置信息与实例特征。

图 2 MF分支结构Fig.2 MF branch structure

在训练过程中,由于SOLOv2消除了预测边界框的部分,在后期的掩膜特征生成过程中只引入位置的空间信息,对于小目标而言,难以提取到充分的特征信息生成适合的掩膜预测,常出现漏判、漏分割现象,导致生成的模型对服装图像中的小目标检测效率低下。所以,本文在MF的特征融合基础上,将特征信息从深到浅逐层引入,融合多尺度特征信息,增强网络对深层特征的提取能力。改进后的MF分支结构如图3所示。图3左侧为FCN提取的{C2,C3,C4,C5}层特征信息。从最深层级C5(比例1/32)开始,经过一个上采样阶段生成P5特征层;然后对次特征层经过一个1×1卷积降低特征维度,并与P5层信息逐元素相加,再经过一个上采样获取P4层特征。以此类推,对后续特征层执行相同操作,获得最终融合多层特征的P2特征层。与放大至同一比例再对逐个元素叠加的方式相比,这种方法能够更好地保留不同尺寸服装图像的特征信息,改善因消除边界框所带来的小目标难以检测的问题,提高模型对多尺寸服装的检测与分割能力。

图 3 改进的MF分支结构Fig.3 Improved MF branch structure

2 函数优化

2.1 激励函数

激励函数的引入增添了模型的非线性预测能力。SOLOv2的MF分支采用线性整流函数(rectified linear unit, ReLU)作为激活函数,它是一种基于线性修正的分段激活函数,如式(1)所示:

R(x)=max(0,x)

(1)

与传统的激活函数相比,ReLU函数的收敛速度相对较快,且在自变量大于0的情况下不会出现梯度饱和与消失等问题。但在训练过程中,ReLU曲线的“硬零边界”特性易导致神经元失活,相应参数得不到更新,函数整体趋势缺乏对数据幅度压缩的能力,因此,数据的幅度很容易随着模型层数的增加而不断扩张。为解决ReLU函数存在的上述问题,本文采用Mish函数M(x)作为激励函数,如式(2)所示,函数特征曲线如图4所示。

图 4 Mish函数特征曲线Fig.4 Mish function characteristic Curve

M(x)=x·tanh(ln(1+ex))

(2)

从图4中可以看出:Mish函数的值域无上界,避免了因值域封顶导致的饱和问题;在(-∞,0]的取值范围内允许较小的负梯度流入,保留更好的梯度信息。解决了ReLU函数的“硬零边界”问题,特征曲线更平滑,允许更完整的信息输入神经网络,从而提高模型的检测准确性与泛化能力,增强模型的特征学习能力,加快收敛速度。

2.2 损失函数

SOLOv2采用了一种Matrix NMS的并行处理方式,以矩阵形式对预测结果进行非极大值抑制(non maximum suppression,NMS)处理,能够在同一时间以并行的方式对不同预测结果进行判断,解决了NMS[20]中因顺序操作问题带来的时间损耗。SOLOv2的损失函数L定义为

L=LC+λLM

(3)

式中:LC为模型的类别损失函数,采用焦点损失[21](focal loss,FL)进行计算,定义为式(4),解决在训练过程中出现的正负样本不均衡的问题;LM为掩膜损失函数,采用Dice Loss[22]进行计算,定义为式(5)。

LC=-α(1-pi)γlgpi

(4)

(5)

式中:pi为待分类实例属于正样本的概率;αi为平衡因子,应对训练过程中出现的正负样本间比例不均的问题;D是一种相似度度量函数,用于计算2个样本间的相似度,定义为式(6);px,y和qx,y为Mask预测结果p以及对应的Mask真实标记q位于(x,y)处的像素值。

(6)

式中:X、Y为不同集合,分别代表Mask预测结果与真实标注;|·|为集合中各元素(像素值)相加之和;X∩Y为X和Y对应位置上各元素(像素值)相乘所得的集合,近似地表示预测Mask与真实标注的点积。

为了解决SOLOv2因服装间存在遮挡带来的分割问题,分析了原Mask损失函数LC的收敛特性。通过在LM函数中引入影响因子ϑ,使优化后的Mask损失函数能够依据服装间的遮挡程度计算出影响因子ϑ,获得影响因子ϑ的动态值,从而自适应调整预测Mask的权重信息,改善服装间因遮挡所带来的分割问题。改进后的Mask损失函数表示为

(7)

式中:P(x,y)和q(x,y)分别为Mask预测结果P以及对应的Mask真实标记q中位于(x,y)处的像素值;ϑ为影响因子,定义为

(8)

式中:CM、CG分别表示预测Mask及真实标注的中心点位置;d2(CM,CG)表示两者欧氏距离的平方。

3 实验结果与分析

实验在Intel(R) Core(TM) CPU 2.90 GHz、Nvidia GeForece RTX 2070 Super显卡,16 GiB RAM的硬件环境下进行,编译环境为Python3.7,工具为Microsoft Visual Studio 2018。实验采用Deep Fashion2数据集(共49.1 万张图片),其中训练数据集包含39.1 万张图片,验证数据集包含3.4万张图片,测试数据集包含6.7万张图片。数据集包含13个服装类别,对不同程度遮挡、多尺度服装图像都进行了详细标注。

3.1 定性评估

3.1.1 小目标服装图像分割 为评估本文算法对于图像中小目标服装的分割效果,将本文算法与Mask R-CNN[15]、SOLOv1[16]、SOLOv2[17]进行对比,分割结果如图5所示。观察图5第1、2行得知:SOLOv1与SOLOv2未能检测到图中人物上衣的右侧衣袖,而Mask R-CNN与本文算法都能够有效识别图中的小目标服装区域,获取到较为丰富的服装图像信息。从图5第3、4行可以看出:SOLOv1仅检测到上衣的部分区域,丢失了衣袖与长裤部分,Mask R-CNN、SOLOv2模型与本文算法都能检测到图中右侧人物的上衣与长裤区域。在对小目标服装进行分割时,Mask R-CNN对边缘信息的获取能力较差,丢失上衣的衣领及衣袖部分,SOLOv2在检测过程中丢失上衣的衣袖部分。总体来看,本文算法能获取到较为丰富的服装图像特征,对小目标服装图像的分割准确度较高。

(a) Mask R-CNN (b) SOLOv1 (c) SOLOv2 (d) 本文算法

3.1.2 遮挡服装图像分割 为检验本文算法对图像中遮挡服装的分割效果,将本文算法与Mask R-CNN[15]、SOLOv1[16]、SOLOv2[17]进行对比,分割结果如图6所示。观察图6第1、2行可见:SOLOv1在预测过程中受图中的短裤区域与手持挎包间存在的遮挡影响,提取到的短裤图像信息较少;SOLOv2能够在遮挡区域上根据服装图像特征信息预测目标服装的所在位置与区域范围,保留相对丰富的图像特征。相比之下,Mask R-CNN是在边界框中完成服装图像的实例分割任务,也能够处理遮挡所产生的服装图像形变问题;本文算法虽不包含边界框定位过程,但模型的卷积核预测分支通过引入更多位置信息,并结合优化后的特征融合方式,能够对被遮挡的服装图像进行预测,获取到更为全面的服装图像信息。图6中第3、4行对比了不同模型在多人服装遮挡的图像分割任务中的实验效果。可以看出:本文算法对于女士长裤整体区域的分割效果较好,在女士上衣部分能够根据输入特征对上衣在图像中的占用范围进行预测,保留更丰富的服装图像特征,而其他对比模型在女士长裤的掩膜预测中均存在不同程度的欠分割现象,丢失了较多的服装图像信息。

(a) Mask R-CNN (b) SOLOv1 (c) SOLOv2 (d) 本文算法

3.2 定量评估

选用DeepFashion 2数据集训练模型,采用交并比(intersection over union, IOU)、精确率(accuracy precision, AP)、平均精确度(mean average precision, mAP)以及预测时间等4种常用的评价指标。在评价模型的检测性能时,通常以IOU作为评价指标。IOU是指该模型对于目标的预测框与真实标注框之间的交集面积同两者并集面积的比值。预先设置判定阈值:当IOU大于判定阈值时,认为模型对该目标的检测结果相对准确;否则判别为无效。本文选取的判定阈值为0.5和0.75,所得到的精度分别表示为AP50和AP75。平均预测精度mAP用于衡量多类别目标检测与分割的整体效果,表示该模型对数据集中所有类别标签的预测精确度。APS、APM、APL依据服装图像中目标服装的面积(Ar)大小进行划分,分别为小目标(Ar<32×32)、中目标(32×3296×96)的分割精度。

为了评估优化的特征融合、激活函数以及损失函数对SOLOv2模型分割性能的影响,进行了消融实验,结果如表1所示。从表1可以看出:通过对SOLOv2进行特征融合优化,平均预测精度mAP提升了2.1%,但由于改进的MF分支融合了不同尺度的特征信息,会使得对每帧图像的处理时间增加。加入Mish激活函数后,模型的收敛速度也得到了显著提升。通过优化损失函数,改善了服装遮挡带来分割问题,强化了模型的学习能力。平均预测精度mAP进一步提升了0.9%,收敛速度提高了0.5 ms,验证了本文所提方法的有效性。

表 1 消融优化实验结果

为了评估改进后SOLOv2模型的分割精度,将本文算法与Mask R-CNN、SOLOv1、SOLOv2等算法进行对比,实验结果如表2所示。从表2可以看出:本文算法的各项评价指标均明显优于其他比较算法。由于SOLOv2在小目标检测任务中分割效果较弱,重点观察表2中小目标检测平均精度APS的对比情况,本文算法的APS由SOLOv2的15.6%增长至16.9%。可见,本文方法对小目标服装图像具有较好的分割能力。

表 2 服装图像实例分割精度比较

结合分割精度与速度,将本文算法与Mask R-CNN、SOLOv1、SOLOv2的分割性能进行对比,实验结果如表3所示。从表3可以看出:本文算法分割精度明显高于SOLOv2算法,其中平均预测精度mAP达到36.2%,与SOLOv2模型相比提高了3.2%;对每帧图像的处理只需43.6 ms,速度比Mask R-CNN快约1倍。不过,与SOLOv2相比速度略有降低,主要原因在于为改善SOLOv2算法,本文对小目标服装图像的特征提取能力,通过多尺度特征逐级叠加方式优化模型的特征理解能力,增加了计算复杂度与运算时间,但提高了模型对服装图像的分割精度。总体来说,本文方法在服装图像的分割精度和速度方面都具有较好的性能。

表 3 不同算法分割性能比较

4 结 语

本文通过改进SOLOv2的特征融合分支,强化模型对小目标服装图像特征的分割能力,解决了SOLOv2以目标中心位置为判断依据,消除边界框预测而导致的对小目标服装漏检、分割不完全问题。上采样过程中选用Mish函数激活,提高模型的泛化能力与收敛速度。针对服装间存在的遮挡问题,在Mask的损失函数中添加影响因子,能够在模型的训练过程中根据不同服装之间的遮挡程度自适应调整函数的权重信息,弱化遮挡问题对服装图像分割效果带来的影响。实验结果表明:本文方法能够有效提升小目标、遮挡服装目标图像的分割效果,在分割精度和速度方面都具有较好的性能。

猜你喜欢

服装预测函数
无可预测
选修2-2期中考试预测卷(A卷)
选修2-2期中考试预测卷(B卷)
选修2—2期中考试预测卷(A卷)
道具服装
现在可以入手的mina风高性价比服装
关于函数的一些补充知识
高中数学中二次函数应用举隅オ
无独有偶 曲径通幽
服装家纺个股表现