一种具有抗噪性能的圆形目标检测器

2021-12-21 13:30蔡钟晟曾勋勋
关键词:中心点特征提取圆形

蔡钟晟,陈 飞,曾勋勋

(福州大学数学与计算机科学学院,福建 福州 350108)

图像质量对基于深度学习的目标检测方法有着较大影响[1],但是生产环境中的复杂环境通常难以确保图像质量. 从而造成许多模型的精度大幅下降. 例如,噪声环境中经典的Yolov3[2]模型精度出现大幅下降,效果如图1左所示. 因此本文引入深度残差网络提取图像抗噪特征,同时结合目标先验形状信息,实现在噪声环境下目标的精确识别. 本文的研究目标主要包括血细胞和下旁腺.

图1 血细胞检测结果比较Fig.1 Blood cell test results

因为公共数据集通常目标种类繁多且形状不固定,所以现有基于深度学习的目标检测器通常都是用矩形框检测目标,但血细胞和下旁腺都是近似圆形的目标. 针对这种形状相对较固定的目标,矩形不是最好的选择. 本文基于血细胞和下旁腺圆形形状的先验信息,提出了圆形锚框和圆形IOU损失函数. 充分利用目标的先验信息,更好地提取目标特征. 同时本文的方法并不局限于特定模型,可以在其他模型使用.

1 相关工作

目前基于深度学习的目标检测算法主要通过两种方式检测目标[3]. 一种是基于锚框Anchor的模型,这种模型又可分为一阶段模型和两阶段模型. 一阶段经典模型有Yolov3,也就是Yolo,You Only Look Once的第三版续作. 两阶段经典模型有Faster R-CNN[4-5]和Mask R-CNN[6],两个模型都是RCNN的续作,也就是Region With CNN Features的续作. 另一种是Anchor-free的模型,也就是无锚框的模型,通过寻找目标特征点来确定目标的中心点位置和宽高. 经典模型有FCOS[7]和CornerNet[8],也就是Fully Convolutional One-Stage Object Detection和角点检测网络.

锚框概念在Yolo9000[9]中提出,之后在基于图像的深度学习任务中获得广泛应用[10]. Yolo9000为Yolo的续作,也就是Yolov2. 在Yolo9000中锚框的宽和高为根据经验设置的超参数. 之后提出的Yolov3中锚框的宽和高通过K-means[11]聚类,也就是K均值聚类获得,锚框的设置主要依靠目标数据集的先验信息. 通过修改锚框的设置可以让目标检测召回率有所提升[9].

关于先验信息的研究有很多. 文献[12]提出稀疏字典学习对背景特征图进行统计分析和估计,最后综合颜色对比度特征和背景特征生成最终的鲁棒显著性图. 文献[13]提出利用背景先验知识,用相似性度量计算得到背景显著性图,后用能量函数对显著性图进行优化,提高了算法检测的质量. 文献[14]提出将医学先验信息融入图像增强. 通过医学知识判断目标区域的亮度阈值,以此阈值来对图像进行处理,得到增强后的图片,从而提高模型精度. 文献[15]提出结合霍夫变换[16]和Yolo9000的方法. 利用霍夫变换和图像旋转确定目标检测最佳识别角度,解决Yolo9000旋转不变性较差的问题. 文献[17]提出了一种结合KL散度和形状约束的Faster R-CNN检测方法. KL散度也就是相对熵. 在Faster R-CNN模型的基础上,增加对目标边界框分布的预测,同时使用KL散度度量目标坐标预测分布与真值分布之间的距离,并将其作为损失函数优化模型参数,进一步将数据集中不同类别目标的形状特征作为约束加入损失函数中,以提高模型的边界框回归精度.

本文提出的圆形锚框,针对特定目标,让目标形状特征和锚框形状一致,可以更好地利用目标的形状先验信息,提取目标特征. 同时,增加抗噪特征提取网络,有助于模型在噪声环境中保持精度稳定.

2 圆形锚框及IOU损失函数

2.1 圆形锚框

模型在训练的初始分配正负样本. 正负样本的分配与锚框有密不可分的关系. 正负样本通过锚框与标注框之间的IOU进行分配. IOU即为交并比,公式如式(1)所示. 其中Si为标注框与预测框的交集面积,Su为标注框与预测框的并集面积. 通常根据设置的IOU阈值进行判定,超过阈值判定为正样本,否则判定为负样本. 锚框的形状会对IOU的计算造成影响. 两个圆形框计算出的IOU和两个矩形框计算出的IOU不一定相同. 在相同的回归偏差下,圆形框的IOU计算可能会得到更小的IOU,进而得到更小的mAP. mAP为Mean Average Precision,即为各类别AP的平均值,是目标检测的评价指标. Precision公式如式(2)所示. 其中TP为检测器判定为正样本且标签也为正样本的样本数据. TP与FP的和即为所有检测器判定为正样本的样本数据.

(1)

(2)

矩形框网络需要回归的参数有中心点(xr,yr),还有矩形框的高h和宽w.其中x,y为轴坐标.圆形框网络需要回归的参数同样包含中心点(xc,yc),以及圆形框的直径d.因为矩形框需要回归4个参数,而圆形框只需要回归3个参数,不同参数量难以比较.因此假设矩形框的宽w和高h相等,即矩形框都为正方形.那么矩形框和圆形框一样,只需要回归3个参数.以下假设两种情况.

第1种情况如图2所示:固定中心点(xr,yr)和(xc,yc),只有圆形框的直径d,矩形框的宽w和高h有误差.也就是预测的中心点位置和标签的中心点位置一样,只有预测的w,d参数和标签值不一样.第2种情况固定宽w,高h和直径d参数,只有圆形框的中心点(xc,yc)和矩形框的中心点(xr,yr)有误差.也就是预测的w,d参数和标签值一样,只有预测的中心点位置和标签的中心点位置不一样.

图2 情况1:缩放偏差Fig.2 Case 1:scaling deviation

图2左中绿色框为标注框k1,橙色框为预测框k2.k1的宽为w1,k2的宽为w2,w2=2w1.k1和k2有共同的中心点(x,y).IOU计算公式如式(1)所示.根据IOU计算公式,此时左的IOU为0.25.右中绿色框为标注框k1,橙色框为预测框k2.k1的直径为d1,k2的直径为d2,d2=2d1.k1和k2有共同的中心点(x,y).根据IOU计算公式可得右的IOU为0.25.假设d1=w1,d2=w2.同时假设左的x等于右的x,左的y等于右的y.即左和右的标签值相同,预测值相同,偏差也相同.可见在第1种情况下,即预测的中心点(x,y)和标签相同,而预测的w,d参数和标签不同.这种情况下IOU是相同的.第2种情况如图3所示.

图3 情况2:移位偏差Fig.3 Case 2:displacement deviation

图3左中绿色框为标注框k1,橙色框为预测框k2. k1的宽为w1,k2的宽为w2,w2=w1. k1的中心点为(x1,y1),k2的中心点为(x2,y2). x2=x1+w1/2,y2=y1. 根据IOU计算公式可得左侧的IOU为0.333. 右中绿色框为标注框k1,橙色框为预测框k2. k1的直径为d1,k2的直径为d2,d2=d1. k1的中心点为(x1,y1),k2的中心点为(x2,y2). x2=x1+d1/2,y2=y1. 根据IOU计算公式可得右侧的IOU为0.243. 假设d1=w1,d2=w2. 同时假设左的(x1,y1)等于右的(x1,y1),左的(x2,y2)等于右的(x2,y2). 即左和右的标签值相同,预测值相同,偏差也相同. 可见在第2种情况下,即预测w,d参数和标签相同,而预测的中心点(x,y)和标签不相同. 这种情况下IOU是不同的,且圆形框的IOU小于矩形框的IOU.两种情况如表1所示.

表1 圆形框IOU与矩形框IOU的对比Table 1 Comparison of circular IOU and rectangular IOU

根据表1,可以看出圆形框的IOU算法本身不会带来IOU的提升.而mAP的计算与IOU直接相关,IOU的降低会直接导致mAP的降低.在相同的负样本阈值下,更低的IOU会使得负样本增多,介于正样本和负样本之间的忽略样本数量变少.同时因为IOU可能的下降,圆形框之间的IOU算法也不会直接引起mAP的提升,在第2种情况下甚至会降低mAP.因此如果模型性能有所提升,则是因为圆形锚框能更好地提取目标的特征.

2.2 IOU损失函数

IOU损失函数是由Rezatofighi和Zheng等提出的一系列基于交并比IOU的边界框损失函数,包括GIOU,GeneralizedIntersectionOverUnion以及DIOU[18-19],Distance-IOULoss等.本文基于矩形框的DIOU[19]损失函数提出了圆形框的IOU损失函数.原本的DIOU损失函数为:

(3)

式中,iou表示目标检测中的交并比. 最后一项中的b表示预测框的中心点,bgt表示标注框的中心点. ρ2表示欧式距离的平方. c表示同时包含预测框和标注框的最小闭包矩形区域的对角线距离.

因为iou与目标检测任务的指标mAP直接相关,所以用iou直接作为损失函数相较传统损失函数更直观,并且可以解决一些Loss相同,但iou值却完全不同的问题[18]. 但为矩形框设计的DIOU不能在其他形状使用,因为只有矩形有对角线,而圆形或其他形状没有.

本文对DIOU损失函数进行改进. 首先是将iou的计算方法由矩形之间的iou计算改变为圆形之间的iou计算. 其次是将损失函数最后一项中的最小闭包区域矩形的对角线距离c改为最小闭包区域圆形的直径d. 损失函数如下所示:

(4)

损失函数也可采用Yolov3原本的Bbox损失函数,也就是BoundBox损失函数. 但损失函数中的矩形框宽w和高h的回归要改成圆形框直径d的回归.

3 抗噪特征提取模块

因为实际生产环境的复杂条件,使图像质量无法保证. 目前较为经典的模型,都会在一定程度上受到噪声的影响,造成精度下降. 针对噪声环境,本文构建抗噪特征提取模块.

由于真实噪声图像的稀缺,本文通过生成随机标准差的噪声图像,与原始图像相加获得噪声图像. 由于实际生产环境中噪声的不确定性,随机标准差的噪声可以更好地模拟真实环境. 噪声模型采用高斯分布. 均值为0,标准差为0~55的随机数. 噪声图像表达式如式(5)所示. 其中x表示原始图像,v表示噪声图像.

y=x+v,

(5)

抗噪特征提取模块采用残差网络[20-21]. 残差结构公式如式(6)所示. 因此网络只需要学习F(x,w)部分中的w,也就是y与x之间的差距. 残差结构的式(6)与图像表达式(5)相似,可以通过训练w使得模型学习到噪声的分布.

y=x+F(x,w),

(6)

抗噪特征提取模块中,肤色区域为3×3的卷积层,绿色区域为激活函数,土黄色区域为BN层.●为分辨率相同的特征图相减.网络整体为一个残差结构,最终的输出为输入图像减网络输出.如图4所示.

图4 抗噪特征提取模块Fig.4 Anti-noise feature extraction module

模型头部的网络只有两层,一层3×3的卷积和一层Relu激活函数.尾部网络则只有一层3×3的卷积.中间部分重叠的网络单元数可以根据情况调整,本文中间的重叠单元设置了20层.

4 整体框架及实现算法

以Yolov3为例,模型整体框架如图5所示.Yolov3模型的流程如下:预处理输入图像,将图像变成固定大小的输入,并进行数据增强操作.然后将图像输入模型,模型的Backbone采用Darknet53[2].输出采用多尺度的目标检测方法,即采用3个不同尺度的输出,输出不同尺度的特征图来检测不同尺度的目标.每个尺度的特征图上设置对应尺度的锚框.输出特征图的通道数为(num_class+5)×3.其中3为每个尺度的特征图上的Anchor的数量,num_class为检测的目标的类别数目,5为每个锚框的前后景置信度,以及对目标框的xywh微调的参数.损失函数分为3个部分,分别是目标分类损失函数,前后景分类损失函数以及xywh的损失函数.

图5 网络模型的整体框架Fig.5 The overall framework of network model

本文在Yolov3的主干网络之前设计了抗噪特征提取模块,为后续低质量图像目标识别提供支撑.同时利用目标的形状信息,将锚框设置为圆形.损失函数的Bbox调整部分的损失函数改为圆形IOU损失函数.整体网络结构如图5所示.

其中肤色区域为3×3的卷积层,绿色区域为激活函数,土黄色区域为BN层,蓝色区域为卷积层Conv,批量归一化层BN和激活函数Relu构成的网络单元.⊖为分辨率相同的特征图进行的对应点相减的操作,⊕为通道拼接操作.

5 实验与结果

本节实验Baseline为Yolov3.实验数据集为血细胞数据集和下旁腺数据集.下旁腺数据集只有下旁腺一个类别,来源于手术,全腔镜胸乳入路左侧甲状腺叶加峡部切除加中央区淋巴结清扫术的视频,共有 2 359 张图像.血细胞数据集包括3个类别,其中大部分为红细胞,小部分为白细胞和血小板,数据集来源于https://github.com/Shenggan/BCCD_Dataset.共有364张图像.如图6所示.

图6 血细胞和下旁腺Fig.6 Blood cell and inferior parathyroid gland

5.1 抗噪特征提取模块

在实验中,首先用对抗噪特征提取模块进行预训练,预训练结束后,将预训练参数文件作为初始化文件输入抗噪特征提取模块,训练整个模型.预训练共20轮,在CBSD68数据集上进行训练,噪声标准差设置为0~55的随机数.预训练结束后,将抗噪特征提取模块和后续网络模块联合训练.共训练150轮,分为两个阶段.第一阶段,也就是前100轮,冻结抗噪特征提取网络的参数进行训练.第二阶段,后50轮,解冻抗噪特征提取模块的参数进行训练.

Yolov3模型中,数据集为无噪声的下旁腺数据集时,mAP为64.9.输入0~55的随机噪声,mAP为15.8,下降49.1.数据集为无噪声的血细胞数据集时,mAP为62.7.输入0~55的随机噪声,mAP为22.7,下降40.可见Yolov3在噪声环境精度会大幅下降,其他经典模型也相同.

结合抗噪特征提取模块后,Yolov3在噪声的下旁腺数据集中mAP为49.2,下降15.7.在噪声的血细胞数据集中mAP为66.6,提高3.9.可见抗噪特征提取模块帮助Yolov3在噪声环境精度中更加稳定.实验结果如图7和图8所示.

图7 噪声环境中血细胞检测结果比较Fig.7 Comparison of blood cell detection results in noisy environment

图8 噪声环境中下旁腺检测结果比较Fig.8 Comparison of detection results of inferior parathyroid gland in noisy environment

5.2 圆形锚框和IOU损失函数

血细胞数据集和下旁腺数据集中目标形状都接近圆,标注框接近正方形,因此取矩形锚框的宽高平均值作为圆形锚框的直径.这使得圆形锚框接近于矩形锚框的内接圆,相当于缩小了目标的面积.因此对圆形锚框检测是较为不利的.

Bbox损失函数为IOU损失函数.实验调整了Bbox回归损失在损失函数中的权重,因为圆形IOU损失函数本身非常小.损失函数包括3项,第1项常数1,第2项IOU的值域为[0,1].第3项可视为预测框与标注框圆心距离和最小闭包区域圆形直径的比值的平方.当圆形框不为内含关系时,最小闭包区域直径d和圆心距离的关系为式(7). 当圆形框为内含关系时,最小闭包区域直径d表达式为式(8),式(8)中r为标注框和预测框中较大圆形框的半径. 因此第3项的值域也为[0,1). 综合的损失函数式(4)值域为[0,2).

d=rgt+ρ(b,bgt)+r,

(7)

d=2r.

(8)

因此相较分类损失,如果权重维持不变,Bbox回归部分损失将过于微小.损失函数完全由分类任务主导,分类与回归损失会失衡.上述参数设置下在血细胞数据集中mAP为75.7,相较Baseline的62.7提高了11.4.同样的设置在下旁腺数据集上进行测试,得到最高mAP为75.3,相比较原本Baseline的 64.9,提高了10.4.实验结果如图9和图10所示.

图9 血细胞检测结果比较Fig.9 Blood cell test results were compared

图10 下旁腺检测结果比较Fig.10 Inferior parathyroid gland test results were compared

5.3 消融实验和对比实验

消融实验如表2和表3所示.从表中可以看出抗噪特征提取模块能帮助模型在噪声环境中保持精度稳定,并且抗噪特征提取模块在干净环境中也不会影响精度.圆形锚框和IOU损失函数在两个数据集中都有效提高了模型精度.采用Yolov3在下旁腺数据集中训练一轮耗时约为263s,训练100轮,耗时约为438min.在血细胞数据集中训练一轮耗时约为27s,训练100轮,耗时约为45min.对比实验如表4和表5所示.从表中可以看出,本文将方法应用在RetinaNet和Yolov3上,相比较原本的模型,都取得了效果的提升.

表2 血细胞数据集中Yolov3的实验结果Table 2 Experimental results of Yolov3 in blood cell dataset

表3 下旁腺数据集中Yolov3的实验结果Table 3 Experimental results of Yolov3 in inferior parathyroid gland dataset

表4 血细胞数据集中不同模型对比实验结果Table 4 The comparative experimental results of different models in blood cell data set

表5 下旁腺数据集中不同模型对比实验结果Table 5 The comparative experimental results of different models in blood cell data set

6 结论

本文提出了基于残差结构的抗噪特征提取模块,以及更适合检测圆形目标的圆形锚框和IOU损失函数. 结合抗噪特征提取模块后,在噪声环境中网络的检测精度相比较传统模型更加稳定. 检测圆形目标时,采用圆形锚框及IOU损失函数可以提高模型的精度. 本文的方法在下旁腺数据集和血细胞数据集上进行验证. 当数据集带有随机噪声,抗噪特征提取模块可以帮助网络保持精度基本稳定,只比在干净环境下的精度略低. 实验的两个数据集目标形状都接近圆形,在其他形状近似圆形的目标也适用该模型. 大部分的水果检测分类以及相对接近圆形的人脸检测都可以使用. 在两个数据集上采用圆形锚框及IOU损失函数,模型精度都有所提高. 以上实验基于Yolov3和RetinaNet都有较好的效果,同时该方法并不局限于Yolov3和RetinaNet,可用于其他检测模型.

猜你喜欢
中心点特征提取圆形
一种基于标准差的K-medoids聚类算法
Scratch 3.9更新了什么?
空间目标的ISAR成像及轮廓特征提取
如何设置造型中心点?
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于特征提取的绘本阅读机器人设计方案
基于MED—MOMEDA的风电齿轮箱复合故障特征提取研究
为什么窨井盖大多都是圆形的
肥皂泡为什么是圆形?
圆形题