基于混合边界框评分的实例分割模型
2023-10-09仝明磊翁佳鑫
唐 丽 仝明磊 翁佳鑫
(上海电力大学电子与信息工程学院 上海 200090)
0 引 言
近几年,实例分割技术已经广泛应用于自动驾驶、机器人、视频监控等领域,正在成为视觉领域最具挑战性的任务之一,研究的主要目的是精确定位及分类场景中的目标,并对感兴趣事物进行像素级分割。
基于目标检测[1-4]的实例分割网络一般可以分为两种,一种是双阶段的网络,另一种是单阶段的网络。双阶段的方法先经区域推荐网络[5](Region Proposal Network)生成一系列的候选框,再通过卷积神经网络进行样本分类。He等[6]提出了一种两阶段网络Mask R-CNN,在Faster R-CNN[5]的基础上添加一个预测分割模版的分支,选用ResNet[7]网络和FPN[8]网络对输入图片进行特征提取和特征融合,并行进行目标分类回归和模板预测,将ROI Align代替ROI Pooling,取消取整化操作,保留了浮点数以提高检测精度。但Mask R-CNN没有考虑到分割质量与分类置信度及模板质量有关,也没有意识到特征金字塔网络低层特征到高层特征的融合路径太长。为了解决上述问题,Huang等[9]提出Mask Scoring R-CNN,通过增加MaskIOU的分支,对分割模板进行打分,提出了一种新的评分方法,将分割质量和分类置信度相乘作为模板评分,提高了分割精度。为了提高低层特征在整个特征层次中的作用,温尧乐等[10]提出了改进Mask R-CNN特征融合的方法,在特征金字塔网络的基础上,缩短融合路径,增强低层特征在整个特征层次中的作用,有效地提高了分割的准确度。
单阶段的实例分割网络直接回归物体的类别概率和位置坐标值。Solo[11]网络引入“实例类别”,根据实例的位置和大小为实例中每个像素分配类别,将实例分割分为两个并行的分支,分别预测物体的语义类别和实例模板,该方法具有较快速度及较高的精度。Polarmask[12]提出一种基于自由锚框的实例分割网络,不需要先验检测框。BlendMask[13]是单阶段的密集实例分割方法,通过结合自上而下和自下而上的方法,在COCO数据集上的精度与速度都超越了Mask R-CNN。虽然上述实例分割网络精度很高,但都没有能够达到实时分割,为了解决这一问题,Bolya等[14]提出实时分割网络YOLACT,把实例分割任务拆分成两个并行的子任务,将预测层生成的模板系数和通过FCN生成的模板原型线性组合得到分割模板。
YOLACT方法中边界框的分类置信度和定位准确度的相关性[15-16]比较低,仅用分类置信度进行非极大值抑制,一些定位不准但置信度高的边界框被保留,降低了分割平均精度。基于此,我们提出混合边界框评分方法,在预测网络中并行添加预测边界框交并比的一个分支,将边界框交并比和分类置信度相乘作为边界框的评分,在特征融合阶段增加自下而上的特征融合层。这项工作的主要贡献如下:
(1) 考虑到高层定位信息的贫乏,提出在特征融合阶段增加自下而上的特征融合,丰富高层的定位信息,提高了定位准确度。
(2) 本文方法降低了边界框的分类置信度和定位准确度的低相关性对模型分割精度的影响,实验结果表明,本文方法提高了分割精确度。
1 YOLACT算法简介
1.1 YOLACT模型
YOLACT网络主要包括特征提取、特征融合、预测网络和原型模板生成四部分,结构如图1所示。该算法提出了并行预测模板系数和原型模板,通过线性组合实现实例分割。
图1 YOLACT网络结构
选用Resnet-101对输入大小为550×550的图片进行特征提取;基于FPN进行特征融合,增强低层特征图的语义信息量;在融合后的特征图上进行模板系数、分类置信度和边界框偏移量的预测;选取最大的特征图通过图2所示的网络得到原型模板;将在[-1,1]区间的模板系数和原型模板线性组合,根据边界框的大小和位置对模板裁剪,实现分割。
图2 原型模板生成网络结构
1.2 预测网络
YOLACT预测网络如图3所示,包含3个并行分支分别用来预测分类置信度、边界框的偏移量和模板系数,其中:W、H为图片的宽度、高度;a为anchor锚框;C为类别置信度。COCO2017训练集包括80种类别,因此网络为每个边界框预测包含背景在内的81个置信度。为每个边界框预测中心坐标和高宽的偏移量,利用这四个参量对先验框解码,得到预测框的坐标。为每个锚框预测32个[-1,1]区间的模板系数。
图3 预测网络结构
1.3 特征融合
YOLACT特征融合如图4所示,选取C3、C4和C5层的特征图,C5经过核为1、步长为1的卷积得到P5,对P5用双线性插值法进行上采样,C4经过核为1、步长为1的卷积,生成的特征图逐像素相加得到P4,对P4上采样,C3卷积,对应像素相加得P3。P6、P7分别由P5、P6经过核为3步长为2的卷积下采样生成。通过特征金字塔网络,低层特征图获得了高层强语义信息,但高层特征图却因为经历过多卷积损失了目标的细节信息,导致定位模糊。
图4 特征融合结构
2 改进的YOLACT算法
2.1 边界框交并比预测网络
因为实例模板通过模板系数和原型模板线性组合后需依据边界框的大小位置进行裁剪,所以定位准确性会影响分割的平均精度。为此提出在预测网络中并行添加一个分支用来预测边界框的交并比(biou),网络结构如图5所示。
图5 添加预测框交并比的网络结构
在YOLACT中,非极大值抑制时仅依据分类置信度,造成一些定位准确但分类置信度不高的边界框没有被保留。本文方法利用边界框的交并比和分类置信度相乘得分进行非极大值抑制,既考虑到置信度又包含了定位准确度。图5中的虚线框标记处即为添加的预测边界框交并比模块,和其他分支共享前端卷积,在网络最后一层并行添加。改进的算法选出定位准确且分类置信度高的边界框,提高了定位准确性和YOLACT分割精度。边界框评分方式如式(1)所示。
S=C×BIoU
(1)
式中:S为每个边界框的得分;C为分类置信度;BIoU为边界框交并比。非极大值抑制的算法流程如下:
Step1根据置信度得分进行排序。
Step2选择置信度最高的候选框,将它的模板系数、边界框大小位置、置信度添加到最终输出列表中,将其从候选框列表中删除。
Step3计算置信度最高的边界框和其他候选框的IoU。
Step4删除IoU大于阈值的候选框。
Step5重复上述过程直到候选框列表为空。
YOLACT中,依据置信度得分对边界框进行非极大值抑制,由于分类置信度和定位准确性的低相关性,导致一些定位准确的候选框被删除。本文方法将边界框交并比和置信度相乘代替置信度得分,以此评分进行非极大值抑制,可以保留定位准确且置信度得分高的边界框。
原型模板和模板系数线性相乘公式如下:
M=[p1,p2,…,p32]×[M1,M2,…,M32]T
(2)
式中:pj(j∈[1,32])为原型模板,这32个原型模板效果各不相同,对特征图的不同区域进行加强,比如前景、背景、左边等。Mi(i∈[1,32])为模板系数,其中Mi∈[-1,1],当目标处于图中左边时,需加强前景和左边,弱化背景和右边等,即加强目标所处位置的特征效果,弱化特征图中其他区域。当将原型模板和模板系数用式(2)线性组合后,对组合后的模板依据边界框的大小和位置进行裁剪,YOLACT中如果仅以置信度进行非极大值抑制,保留的边界框并不一定是定位准确的边界框,以此边界框裁剪,会降低分割精度。本文方法可以保留定位准确且置信度得分高的边界框,对模板裁剪可以提高分割精度。对裁剪后的模板进行滤波,去除图片部分噪声。
为预测网络引入批量规范化,解决神经网络中较常出现的梯度爆炸和梯度消失现象,神经网络中每层的正向传播如式(3)所示。
y(n)=W(n)T×σ(y(n-1))+b(n)
(3)
式中:y(n)为第n层的输出;W(n)T为第n层的权重;σ(y(n-1))为第n-1层经激活函数后的输出;b(n)为第n层的线性叠加量。当进行反向传播时,需根据链式求导法则进行梯度更新,如果每一层的输出很大,伴随层数增加,最终梯度更新将以指数形式增加,导致梯度爆炸,当每一层的输出很小,则会梯度消失。批量规范化通过对每一层的输出规范为均值和方差一致,将输出从饱和区拉到非饱和区,消除y(n-1)在反向传播时带来的影响,进而避免梯度爆炸和消失。
2.2 改进的特征融合网络
在YOLACT中,经过特征金字塔网络,高层特征丢失了细节信息。为此,本文在特征金字塔结构的基础上,增加一层自下而上的特征融合,使高层特征图融合低层的细节信息,网络结构如图6所示。
图6 改进的特征融合网络结构
在YOLACT中,高层特征图经过卷积后增加了语义信息,同时也丢失了定位信息,为此本文方法融合了蕴含语义信息与定位信息的两幅特征图,改进的网络模型可以使高层语义信息丰富的同时增强定位信息。
2.3 损失函数
在Yolact损失函数的基础上添加一个训练边界框交并比的损失函数,联合损失函数如式(4)所示。
L=λ1Lconf+λ2Lloc+λ3Lmask+λ4Lseg+λ5Lbiou
(4)
式中:Lconf为分类置信度误差;Lloc边界框的位置误差;Lmask为预测模板和真实模板的交叉熵损失;Lseg为语义分割损失;Lbiou为边界框交并比误差;λ1、λ2、λ3、λ4、λ5为各损失函数的权重。因为是实例分割网络,所以我们将λ1、λ2、λ4、λ5设置为1,λ3设置为6.125,重点训练模板预测系数。
常见的边界框交并比的损失函数有滑动平均绝对误差损失函数和交叉熵损失函数。滑动平均绝对误差损失函数如下:
(5)
式中:x为真实值和预测值的差值。
交叉熵损失函数如式(6)所示,其中:i∈pos表示该样本非背景类;yi表示样本是否为正样本;p(yi)表示样本概率。对于预测的边界框交并比,可以通过预测边界框和真实边界框的交并比判断是否为正样本,将预测的边界框交并比作为样本概率,理想情况下,当样本为正样本时,预测的交并比值应该越大,相应的loss会越小。通过实验最终选择滑动平均绝对误差损失函数。
(6)
3 实 验
3.1 实验环境和数据集
实验基于Linux操作系统Ubuntu 16.04,在PyTorch平台上完成训练和测试。GPU显卡型号为Titan X,训练时学习率设置为0.001,动量为0.9,权重衰减为0.000 5,批处理量大小为8,共进行8×105次迭代训练。
本文算法在COCO 2017训练集上进行训练,该数据集包括80种类别,30多万幅图片,在COCO 2017测试集上进行测试。
3.2 实验评价指标
实验使用的评价指标为平均精度均值(mAP),其中AP为平均精度,它由式(7)所示的精确率(P)和式(8)所示的召回率(R)决定。
(7)
(8)
式中:TP为真正例;FP为假正例;FN为假反例。P-R曲线即以P和R分别作为纵、横轴坐标的二维曲线,P-R曲线围起来的面积就是AP值,而mAP为所有类别AP的平均值。
实验使用IoU阈值超过0.5和0.7时的指标AP50和AP70对mask和box进行评价。
3.3 实验结果与分析
(1) 特征融合实验。为了提高YOLACT定位的准确性,在特征融合阶段添加自下而上的特征融合路径,进行8×104次迭代,实验结果如表1和表2所示。
表1 特征融合实验box结果
表2 特征融合实验mask结果
由实验结果可知,丰富高层的定位信息可以提高box和mask的精度。图片经过卷积可以得到语义信息但同时会导致定位信息的丢失,因此融合分别蕴含语义信息与定位信息的两幅特征图可以使得高层特征图获得强语义信息和定位信息。
(2) 预测边界框交并比实验。因为分类置信度和定位准确度的低相关性,在预测网络中并行添加预测边界框交并比的分支,进行8×104次迭代,实验结果如表3和表4所示。
表3 添加预测框交并比分支实验box结果
表4 添加预测框交并比分支实验mask结果
添加预测边界框交并比的分支,将边界框的交并比和分类置信度相乘作为边界框的得分,降低分类置信度和定位准确度低相关性对实例分割网络的伤害。由实验结果可知,预测边界框交并比分支的加入最终提高了平均精度。
(3) 改进YOLACT算法实验。将特征融合和预测边界框交并比共同加入,进行8×105次迭代,实验结果如表5所示。因为是实例分割网络,对改进YOLACT算法实验时,我们仅使用IoU阈值超过0.5和0.75时的指标AP50和AP75对mask进行评价。
表5 COCO2017测试集mask实验结果
由实验结果可知,与YOLACT相比,自下而上的特征融合引入和预测框交并比分支的添加有效地提高了实例分割的精确度,前者主要通过增强高层特征图的定位信息,后者主要通过将定位准确度通过交并比的方式加入评分中,校正边界框的评分。与单阶段的PloarMask算法和双阶段FCIS算法相比,本文提出的模型不管在分割精度还是在速度上,都超越了它们,本文算法比起双阶段的代表Mask R-CNN虽然在精度上有一定的差距,但速度上却远远超越它,因为本文是一种快速的单阶段实例分割模型,在快速的前提下,精度会有所降低。
不同的GPU会影响检测速度,为此,在相同的GPU上对YOLACT和本文模型进行检测速度对比实验。由表6可知,虽然本文模型的检测速度慢于YOLACT模型的检测速度,但依然是一种快速实例分割模型。因为增加了自上而下的特征融合和预测边界框交并比,模型计算量有所增加,所以影响了检测速度。与Titan X相比,Titan Xp的性能远优于它,而本文模型仅在Titan X的速度就超越了Mask R-CNN、PloarMask和FCIS。
表6 不同算法检测速度对比
在Pascal 2012 SBD数据集上进行1.2×105次迭代训练,由表7实验结果可知,本文方法将YOLACT的平均分割精度提高了3%。
表7 Pascal 2012 SBD mask实验结果
图7为YOLACT和本文算法的分割效果,可以看出本文模型提高了实例分割效果,如第6行图中的手机和第4行的两只猫,YOLACT出现定位和分割失败的现象,但本文算法却能将手机和两只猫精确地定位和分割。由边界框可以看出,定位准确有助于提高分割效果,YOLACT中,由于边界框定位不准,第一行第二列中小鸟的头顶部分分割不精确,第四行第二列中小狗右爪部分没有被分割,由于自下而上的特征融合加强了高层特征图的定位信息,新的评分方式选出了定位准确的边界框,以此边界框对原型模板裁剪,由分割图第一行第三列和第四行第三列可以看出,本文模型改善了上述问题。
3.4 消融对比实验
为了确定添加的预测边界框交并比分支使用的损失函数和边界框的评分方式,进行消融对比实验。
(1) 损失函数。选用Sigmoid激活函数,将边界框交并比分支输出限制在[0,1]之间,实验结果如表8所示。
表8 损失函数实验mask结果
交叉熵损失函数需要人为设定阈值判定边界框是否为正样本,阈值的选择在一定程度上会产生误差,而平滑平均绝对误差损失函数并不需要,所以由表8结果可知,比起交叉熵损失函数,滑动平均绝对误差更加适用于训练预测边界框的交并比。
(2) 评分方式。如果想通过一个分数判断分类和定位准确性,可以通过相乘,也可以通过加法。为了确定边界框的评分方式,我们选择将分类置信度和边界框的交并比相乘作为一种评分方式,另外一种评分方式选择将分类置信度和边界框的交并比相加除以2,实验结果如表9所示。
表9 框评分方式实验mask结果
由结果可知,分类置信度和比边界框交并比相乘的评分方式结果更好。究其原因,假设当分类置信度分别为0.8、0.7,框交并比分别为0.6、0.7时,两者相加的评分方式会将两个边界框评为相同的,但相乘的评分方式却不会,相加的评分方式会比相乘出现更多的相同分数,不利于非极大值抑制。
4 结 语
本文提出一种混合边界框评分方式,在YOLACT模型的预测网络基础上并行添加一个预测边界框交并比的分支,通过实验确定将分类置信度和边界框交并比相乘作为评分有助于提高分割精度,特征融合阶段加强高层特征图的定位信息,避免因为定位模糊出现分割失败的问题,实验结果表明本文方法有效地提高了YOLACT平均分割精度。
未来可以考虑将模板的评分以适当的方式加入到最终边界框的评分,还可以用自适应损失权重方法代替人为设置损失权重。