正在加载图片...
Fig.5 Mask processing:(a)original image;(b)prediction of boxes and masks;(c)segmentation result with the cropping mask strategy:(d)bounding boxes of different regions;(e)segmentation result with the screening mask strategy 1.5损失函数和评价指标 在网络训练时使用了四种损失函数训练模型,分别是类别置信度损失L.、目标预测框损失L、 模板损失Lt以及语义分割损失Lm。总损失公式如下: Loss=adLos+abes Lbas+mLmsk+segmL (4) 其中,a代表各自损失在叠加时的权重。在YOLACT网络中,权重的预设值为a4=1,am=1.5, at=6.125,am=1。其中类别置信度损失和目标框损失采用和SSD2算法中一样的计算方式。 类别置信度的损失计算公式为: L(x,c=-∑xg1og()-∑1og(e9) explcp where c= ie Po p (5) 类别置信度损失是多类别的softmax损失,其中,i表示预测框的编号 表示真实目标框的编号, P表示类别序号,其中背景的序号为0,岁是一个指示参数,取值贝或者1,取值为1时表示 预测框和类别号为P的真实目标框匹配, C是通过softmax计算得到的类别置信度。 目标预测框损失的计算公式为: Lclg)=之 ∑ (6) ePos metcr,cy,w,h) 预测框损失采用的是Smooth1损失,其中,i表示预测框的序号,j表示目标框的序号,1表示边界 框的预测值,8表示目标边界框的真值,的含义和类别置信度相同,所以预测框损失仅针对正样 本进行计算。其中Smooth,函数的计算公式为: Smooth(x 0,5x2 xkl (7) 7x1-0.5|x21 Smooth,损失在预测值和目标值偏差较大的时候使用了绝对值进行计算,梯度值为1,可以防止梯 度爆炸,对离群值和异常值不敏感,更加鲁棒。在偏差较小时,损失使用了平方进行计算,保证模 型收敛的精度。 模板损失是通过计算加权组合后的模板与真实模板之间的二分类交叉熵,计算公式为: Lna (y,p)=-ylog p-(1-y)log(1-p) (8) 其中,y表示网络的预树模板中类别的真值,P表示预测模板中预测正确的概率。 语义分割损失项是为了弥补茯速非极大值抑制算法带来的精度下降,在训练时添加额外损失可 以在不影响速度的情流下提高特征的丰富性。具体做法是在特征金字塔的感受野为91的特征图后增 加一个c通道1*1的卷积层,在输出的c通道的特征图上再计算二分类交叉熵损失。在计算完损失后, 采用带动量的SGD优化算法,弥补梯度下降的缺陷,加快训练速度。 对于YOLACT的模型性能,本文使用平均准确率(mean Average Precision,mAP)来进行评估。 AP是基于PR(Precision-Recal)曲线计算得来的,PR曲线是以准确率为纵轴,召回率为横轴画出 的曲线,AP值就是PR曲线下的面积。在实际应用中,并不直接对该PR曲线进行计算,而是对PR 曲线进行平滑处理。即对P℉曲线上的每个采样点的准确率值取该点右侧最大的准确率的值。本文采 用了COCO2数据集的评估方式,为了提高精度,在PR曲线上采样了100个点进行计算。而且IOU 的阈值从固定的0.5调整为在0.5-0.95的区间上每隔0.05计算一次AP的值,取所有结果的平均值 作为最终的结果。通常来说AP是在单个类别下的,mAP是AP值在所有类别下的均值。 2实验与分析 2.1实验环境 采用Pytorch1.2.0开源深度学习框架进行实验,操作系统为Windows 10,Python版本为 3.7.4,实验采用的GPU型号为GeForce RTX2080TiS。 2.2实验图像集Fig.5 Mask processing: (a) original image; (b) prediction of boxes and masks; (c) segmentation result with the cropping mask strategy; (d) bounding boxes of different regions; (e) segmentation result with the screening mask strategy 1.5 损失函数和评价指标 在网络训练时使用了四种损失函数训练模型,分别是类别置信度损失 Lcls 、目标预测框损失 Lbox 、 模板损失 Lmask 以及语义分割损失 Lsegm 。总损失公式如下: Loss L L L L         cls cls box box mask mask segm segm (4) 其中, 代表各自损失在叠加时的权重。在 YOLACT 网络中,权重的预设值为 1 cls  , 1.5 box  , 6.125  mask  ,segm  1。其中类别置信度损失和目标框损失采用和 SSD[25]算法中一样的计算方式。 类别置信度的损失计算公式为:           0 exp ˆ , log log where ˆ ˆ ˆ exp ˆ p N p p p i cls ij i i i p i Pos i Neg i p L c x c x c c c   c        (5) 类别置信度损失是多类别的 softmax 损失,其中,i 表示预测框的编号, j 表示真实目标框的编号, p 表示类别序号,其中背景的序号为 0, p ij x 是一个指示参数,取值只有 0 或者 1,取值为 1 时表示 预测框和类别号为 p 的真实目标框匹配, cˆ 是通过 softmax 计算得到的类别置信度。 目标预测框损失的计算公式为: 1   Pos { , , , } ( , , ) Smooth ˆ N k m m box ij L i j i m cx cy w h L x l g x l g       (6) 预测框损失采用的是Smooth L1损失,其中,i 表示预测框的序号, j 表示目标框的序号,l 表示边界 框的预测值, gˆ 表示目标边界框的真值, k ij x 的含义和类别置信度相同,所以预测框损失仅针对正样 本进行计算。其中Smooth L1函数的计算公式为: 2 1 0.5 | | 1 Smooth ( ) | | 0.5 | | 1 L x x x x x        (7) Smooth L1损失在预测值和目标值偏差较大的时候使用了绝对值进行计算,梯度值为 1,可以防止梯 度爆炸,对离群值和异常值不敏感,更加鲁棒。在偏差较小时,损失使用了平方进行计算,保证模 型收敛的精度。 模板损失是通过计算加权组合后的模板与真实模板之间的二分类交叉熵,计算公式为: ( , ) log (1 ) log(1 ) L y p y p y p mask      (8) 其中, y 表示网络的预测模板中类别的真值, p 表示预测模板中预测正确的概率。 语义分割损失项是为了弥补快速非极大值抑制算法带来的精度下降,在训练时添加额外损失可 以在不影响速度的情况下提高特征的丰富性。具体做法是在特征金字塔的感受野为 91 的特征图后增 加一个 c 通道 1*1 的卷积层,在输出的 c 通道的特征图上再计算二分类交叉熵损失。在计算完损失后, 采用带动量的 SGD 优化算法,弥补梯度下降的缺陷,加快训练速度。 对于 YOLACT 的模型性能,本文使用平均准确率(mean Average Precision,mAP)来进行评估。 AP 是基于 PR(Precision-Recall)曲线计算得来的,PR 曲线是以准确率为纵轴,召回率为横轴画出 的曲线,AP 值就是 PR 曲线下的面积。在实际应用中,并不直接对该 PR 曲线进行计算,而是对 PR 曲线进行平滑处理。即对 PR 曲线上的每个采样点的准确率值取该点右侧最大的准确率的值。本文采 用了 COCO[26]数据集的评估方式,为了提高精度,在 PR 曲线上采样了 100 个点进行计算。而且 IOU 的阈值从固定的 0.5 调整为在 0.5-0.95 的区间上每隔 0.05 计算一次 AP 的值,取所有结果的平均值 作为最终的结果。通常来说 AP 是在单个类别下的,mAP 是 AP 值在所有类别下的均值。 2 实验与分析 2.1 实验环境 采用 Pytorch 1.2.0 开源深度学习框架进行实验,操作系统为 Windows 10,Python 版本为 3.7.4,实验采用的 GPU 型号为 GeForce RTX 2080Ti S。 2.2 实验图像集 录用稿件,非最终出版稿
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有