闫春相,徐遵义,刘康宁,李 晨
(山东建筑大学 计算机科学与技术学院,山东 济南 250101)
目标检测是计算机视觉的一个重要研究方向,是解决目标分割、场景理解和图像描述等其他高层视觉任务的基础[1]。小目标检测是目标检测中的重点和难点,其任务是精准检测图像中可视化特征极少的小尺寸目标并判断所属类别,现已广泛应用于自动驾驶、智慧交通和智慧医疗等领域[2-3]。
学术界通常采用MS COCO 2017 数据集定义小目标,指像素绝对面积小于32×32像素的目标[4]。基于深度学习的目标检测方法通常针对通用尺寸目标,当检测目标尺寸较小甚至仅为几个像素时,检测效果较差。MS COCO 2017 数据集上中大尺寸目标和小尺寸目标的检测精度相差较大[5],如表1所示。
Table 1 Detection accuracy on MS COCO dataset表1 MS COCO数据集上的检测精度
目前,小目标检测方法可分为通用目标检测方法,例如YOLO、Faster R-CNN、RefineDet 等方法[7-9];
在通用目标检测基础上针对小目标某一特点进行改进,例如Wang等[10]提出一种基于语义特征的锚框放置方法和RRNet 采用自适应重采样策略的数据增强方法[8]等。
然而,上述方法普遍存在以下问题:此类方法基于锚框,锚框结构会导致模型侧重于检测中大目标,同时引入锚框数量、预设置尺寸和宽高比等较多超参数,会导致模型训练困难且不易于收敛、小目标检测性能不佳及检测速度较慢等问题;
现有公开数据集多针对通用尺寸目标所建立,例如PASCAL VOC,ILSVRC[11]等,较少关注小尺寸目标或小目标占比较少、分布不均匀,虽然也有部分小目标检测数据集,但通常为特定场景,训练的模型通用性较差[5,12-13]。
为了解决以上问题,提升模型对小目标的检测精度,本文在Faster R-CNN 的基础上提出一种圆形锚框方法,创新点如下:①为了解决锚框结构存在的问题,提出对小目标检测友好的圆形锚框方法,根据镜头成像原理及镜头焦距理论公式,在锚框的形状上进行探索并提出圆形锚框这一概念,以减少部分超参数及回归阶段的参数计算,在结构上能更好地包裹小目标,适合小目标检测;
②为了解决缺少通用场景小目标检测数据集的问题,对公开数据集MS COCO 进行数据增强处理,保留数据集中小尺寸目标,并将小目标的标注信息修改为圆形包围框,称为MS COCO small 数据集,该数据集虽然减少了部分目标,但能提升模型对小目标的泛化能力、减少模型训练时间;
③针对MS COCO small 数据集的圆形标注及圆形锚框的特点,在CircleNet[14]、CIOU[15]的基础上改进了cIOU 的计算方法。
1.1 通用目标检测
目标检测是计算机视觉领域非常重要的基础性工作。随着深度卷积神经网络的发展,现有目标检测方法普遍采用锚框方法。Faster R-CNN 是最具有代表性的两阶段检测方法,由提取候选框的全卷积网络和基于候选框的目标检测器组成,整个检测过程通过一个网络完成。在候选框提取网络中,为了解决Select Search 速度慢的问题,通过不同尺度的锚框代替传统的候选框生成方法[9]。为了解决两阶段检测速度较慢的问题,提出了去除候选框生成步骤的一阶段检测方法。例如,Yolov3 去除了候选框的生成阶段提升检测速度;
DarkNet-53 架构去除网络中的全连接层,基于特征金字塔网络(Feature Pyramid Networks,FPN)的思想融合多个尺度的特征图,以提升检测性能[16]。
鉴于Transformer 机制在自然语言处理领域取得的重大成效,Carion 等[17]将Transformer 机制应用于目标检测领域,提出DETR(Detection Transformer)检测算法。DETR 改变了卷积神经网络的目标检测架构,属于基于Transformer的端到端目标检测,并未进行非极大值抑制(Non-Maximum Suppression,NMS)等后续处理,完全抛弃了锚框,但性能可媲美两阶段检测方法。
1.2 小目标检测
现有目标检测模型大多针对全尺寸目标所设计,在小目标检测上效果不佳。基于公开数据集MS COCO 2017 的小目标检测方法中Faster R-CNN 的APS为18.2%,YOLO V3 的APS为18.3%[16],DETR 的APS为20.7%[17]。为了提高小目标检测性能,通常针对小目标特点提出改进,主要包括构建专有的小目标检测数据集,对数据集中小目标进行数据增强和改进现有锚框等方法。
1.2.1 小目标数据集
深度学习是基于数据的方法,因此数据集对模型性能起到至关重要的影响。Braun 等[2]针对城市交通场景提出EuroCity Persons 数据集,为城市交通场景中的行人、自行车手、其他骑手等提供大量且详细的标注,共包含47 300张图像,提供了238 200 个以上的人员小目标标注。Yu等[18]提出TinyPerson 属于远距离、大背景下进行人员检测的数据集,由1 610 幅图像构成,包含72 651 个标注的小目标,可分为5 个类别。Zhu 等[13]针对交通标志检测问题提出Tsinghua-Tencent 100K 数据集,包含3 万个交通标识,可分为45 类,涵盖了不同光照、天气下情况下的100 000 幅图像。
1.2.2 数据增强
由于小目标像素少、样本少、分布不均匀等问题,出现了许多数据增强方法来提升小目标的检测性能。Kisantal等[19]将图像的小目标区域复制后粘贴回原图,进行小目标数据增强。在交通标志和行人检测的背景下,Li等[20]使用生成对抗网络(Generative Adversarial Networks,GAN),通过超分辨率表示来减少大、小目标间的差异,使小目标能获得大目标的相同特征。Zoph 等[21]提出一种通过自适应学习方法的数据增强策略。Chen 等[22]在训练过程中,将图像缩放和拼接进行目标尺度转换,以提升小目标的数量和质量。
1.2.3 锚框改进
锚框是目标检测任务中最为重要的组件,因此对锚框进行改进较为重要且有效。Zhang 等[23]提出一种密集锚框策略,在一个感受野中设置多个锚框来提升检测性能。Eggert 等[24]优化锚框尺度,通过推导小目标间的联系,计算小目标最合适的锚框尺寸,在商标检测上获得了较好的检测效果。Wang 等[10]提出一种基于语义特征的锚框设置策略,通过同时预测目标中心点和目标尺寸来提升检测性能。
为了提升小目标检测的检测性能,Duan 等[25]提出一种基于关键点三元组的目标检测模型CenterNet,首先预测左上角、右下角及目标的中心关键点,然后通过角点匹配及中心点消除来确定最后的预测包围盒。Yang 等[14]的CircleNet 方法针对肾小球细胞圆形的特点,提出了圆形包围框的概念。CircleNet 在CenterNet 模型的基础上将矩形包围盒修改为圆形包围盒,仅需在热图点的基础上回归一个圆的半径即可得到包围盒,并且这种圆形包围盒很适合检测肾小球等细胞,对模型的检测效果提升明显。
2.1 圆形锚框模型框架
目前,Faster R-CNN 是最受欢迎的目标检测框架之一,现有工作大多在此基础上开展,本文整体框架基于两阶段目标检测算法Faster R-CNN,整体网络架构如图1所示。
Fig.1 Network architecture图1 网络架构
为了生成候选区域,将宽为W,高为H的图像I∈Rw×H×3输入骨干网络,使用ResNet-50-FPN 网络[26-27]独特的残差结构使其具备较好的特征提取能力。首先,骨干网络将输出的特征图送入RPN;
然后,根据不同尺度特征层的采样比率生成不同数目的圆形锚框来生成候选区域;
最后,将候选区域和特征图送入两个卷积网络(包围盒回归层和包围盒分类层)。其中,包围盒回归层预测图像上每个对象的位置,包围盒分类层预测每个目标对象属于各个类别的置信度。
在镜头规格一定的情况下,镜头至景物实测距离与其成像高度成反比。镜头成像的理论计算公式为:
式中:f为摄像机镜头焦距;
U为景物实际高度;
D为镜头至景物实测距离;
μ为图像高度。
在U、f确定的情况下,随着镜头至景物实测距离D逐渐变大,图像高度μ就越小。当u低于某一阈值,表现在图像上为一个半径不断减小的圆点。据此原理,本文提出圆形锚框,在小目标检测时存在以下优势:圆形锚框对目标物体的像素包裹率更高,能减少部分锚框数量,统计现有公开数据集的标注信息发现,当目标尺寸不断减小时目标包围框长宽之间的差别不断减小,由矩形退化为方形,并且目标的实际像素更集中于正方形的中心区域,因此使用圆形锚框对于目标物体的像素包裹率更高;
由于仅需一个自由度(半径)即可确定圆的大小,回归层在每个预测框上需要预测的参数从4k减少到3k(还需预测锚框的坐标x、y),同时由于圆形的旋转不变性,无需再设置不同比例的锚框,即在Faster R-CNN 相同参数下,锚框数量由17 649下降为9 805,提升了模型的检测速度。
2.2 圆形锚框调整与损失函数
与Faster R-CNN 类似,在训练模型时规定两种锚框类别。将与真实包围盒IOU 最大的锚框、与任意真实包围盒交并比超过0.45 的锚框设置为正锚框。在遵循Faster RCNN 多任务检测损失函数同时,根据圆形锚框特点对损失函数进行部分修改。
式中:i为图像中锚框的索引;
Pi代表锚框i为对象的预测概率;
γ>0 为可调节因子;
分类损失函数L_cls 是二分类的Focal loss[28];
如果锚框i能准确预测对象,则真实包围框标签为1,否则为0。
回归损失函数定义为:
式中:ti代表第i次预测包围框的坐标参数向量;
代表与正锚框关联的真实包围盒的坐标参数向量;
L1为平滑损失函数;
Lreg为回归损失;
代表回归损失仅对于锚框预测正确的情况下有效。
因此,单张图像的总损失函数为:
式中:λ为放缩系数。
由于锚框为固定大小,为了准确检测对象,预测框应依据真实包围盒的位置及尺寸进行调整,圆形预测框的参数为:
式中:(x,y)、r表示圆形包围框的中心坐标和半径;
x、xa、x*分别对应于预测框、锚框和真实框,并与y、r相对应。
2.3 数据增强
MS COCO 2017 数据集是目标检测领域最为流行的数据集,相较于其他数据集更能反应检测模型的性能。MS COCO 数据集包含80 个类别,超过150 万个标注目标,且大量的小尺寸目标使其成为最具有挑战的数据集之一,目标尺寸占比统计结果如表2所示。
Table 2 Statistical Result of Target Size of MS COCO Train Datasets表2 MS COCO数据集训练集目标尺寸统计结果
为了适应小目标检测任务,将MS COCO 数据集的标注信息进行修改,仅保留尺寸小于32 × 32 像素的目标,并将其标注信息修改为圆形,对于尺寸大于32 × 32 像素的目标,将其类别标注修改为背景物体,如图2 所示。由此可见,矩形内接圆的效果较好,目标物体实际像素面积仅占矩形包围框的63%,但约占圆形包围框面积的88%,效果显然更优。标注信息的计算公式如式(6)所示。
Fig.2 Comparison of different callout box effects图2 不同标注框效果比较
式中:x*、x对应圆和矩形(y、r同样适用),将其组成新的数据集MS COCO small。
2.4 IOU计算
为了测量两个包围框之间的相似性,在目标检测领域,IOU 是最流行的评价指标。IOU 定义为两个包围盒之间交集面积和并集面积的比值。为此,本文引入圆交并比(circle Intersection Over Union,cIOU)进行计算(见图3),并定义为以下形式[14-15]:
Fig.3 cIOU calculation method图3 cIOU计算方法
式中:(Ax,Ay)、rA分别为圆的圆心坐标和半径(同样适用于(Bx,By)、rB);
d为两圆心的距离;
D为最小外接框的对角线距离。
为了评估本文算法的有效性,首先分别在MS COCO 2017 或MS COCO small 数据集上训练模型,并统一在MS COCO val 数据集上与基线模型进行比较,以检验模型精度;
然后,通过消融实验验证各模块的有效性和贡献。
3.1 评价指标
MS COCO 数据集采用平均精度均值(mean Average Precision,mAP)和每秒传输帧数(frames per second,FPS)作为评价指标来衡量模型性能。mAP 用于评估检测性能的主要指标,对于给定IOU 阈值,通过计算召回率曲线下的面积来计算mAP。由于本实验中检测目标均小于32 ×32像素,因此通过APS表示小目标的平均精度,依据FPS来评估模型的检测速度。召回率(Recall,R)和精准率(Precision,P)由真正例(True Positive,TP)、假正例(False Positive,FP)和假负例(False Negative,FN)进行计算,具体公式如下:
根据P-R曲线可计算APS。
式中:N为测试集总数;
P(n)为n张图像的精准率;
ΔR(n)表示从n-1 增加到n时召回率的变化量;
k为类别数。
3.2 实验环境
本文使用Faster R-CNN 模型框架实现圆形锚框,采用预训练ResNet-50-FPN 作为骨干网络提取图片中的特征。为了便于训练和推理,将图片尺寸统一放缩到600 × 800的固定大小,采用权重衰减为1e-4 的随机梯度下降(SGD)优化器,初始学习率设置为1e-3,批大小设置为6,锚框的尺寸设置为[2,4,8,16,32]。实验环境为Tesla V100 16 G,Ubuntu18.04,cuda11.3。
3.3 实验结果
为了验证圆形锚框的效果,在MS COCO 数据集上将所提模型与基线模型进行比较,结果如表3 所示。由此可知,本文模型的APS达到21.9%,检测速度为14~16 FPS,相较于两阶段检测方法Faster R-CNN、单阶段检测算法YOLO v3、圆形锚框迁移到YOLO v3 框架后、基于Transfomer的DETR 模型、文献[19]方法,APS分别提升3.7%、3.6%、2.4%、1.1%、4%;
相较于两阶段检测方法Faster R-CNN 的检测速度提升5 FPS;
相较于Mask R-CNN、Fitness R-CNN等R-CNN 系列小目标检测模型APs均有提高,证明了本文算法在检测精度上优于基线模型,检测速度相较于传统Faster R-CNN 提升显著,且将圆形锚框迁移到其他检测模型中也能提升检测精度。
Table 3 Result of small target detection on MS COCO dataset表3 MS COCO数据集上小目标检测结果
为了验证精简数据集数据增强方法的有效性及对模型训练时间产生的影响,分别在MS COCO 2017 和MS COCO small 数据集上训练模型进行比较。由表4 可知,精简后数据集模型的APS相较于传统方法提升1.3%,圆形锚框相较于矩形锚框对小目标检测的提升较高,APS最多提升了约4%,原因为圆形锚框能更好地包裹被检测目标。
Table 4 Results of small target detection on different anchors and datasets表4 不同锚框和训练数据集上小目标检测结果
由表5 可知,MS COCO small 数据集对模型训练时间的影响较大,单个epoch 的训练时间减少151 min,训练的时间加速比为2.76,低于图片数目的比值3.23,原因为模型在每个批次载入图片都要消耗部分时间。
Table 5 Training time of single epoch of the model表5 单个epoch模型训练时间
3.4 消融实验
本文通过消融实验验证各改进部分的贡献,将各部分逐步增加圆形锚框(CA)、数据集增强、cIOU 到基线模型中,实验结果如表6所示。
Table 6 Ablation experiment result表6 消融实验结果
3.4.1 圆形锚框的有效性
以传统的Faster R-CNN 为基线模型,在生成锚框阶段单独采用圆形锚框组件,模型的APS相较于基线模型增加2.2%,检测速度提高5 FPS 左右,证明了圆形锚框可增强模型对被检测目标的拟合能力,减少锚框回归阶段的偏移计算,提升了目标检测精度与速度。
3.4.2 精简数据集方法的有效性
将传统Faster R-CNN 模型在MSCOCO small 数据集上进行训练。实验表明,Faster R-CNN 相较于基线模型的APS提升1.3%,检测速度基本无变化,证明了本文方法可有效提升模型的检测性能。
3.4.3 cIOU有效性
本文在有圆形锚框的基础上添cIOU 模块。实验表明,所提模型相较于基线模型的APS提升1.5%,检测速度降低1~2 FPS 左右,原因为cIOU 引入了大量计算,导致模型检测速度降低。
3.5 定性分析
为了更直观地分析本文检测结果,可视化展示Faster R-CNN 和本文模型在MSCOCO 数据集上的检测结果(已进行处理,只保留小目标),如图4所示。
Fig.4 Comparison of detection performance of Faster R-CNN and the proposed model图4 Faster R-CNN与本文模型检测效果比较
图4 中第一行为Faster R-CNN,第二行为本文模型。由此可见,Faster R-CNN 模型在背景复杂、小目标距离较远及小目标聚集的情况下检测效果较差,部分小目标存在遗漏或将多个目标检测为一个目标的情况;
本文方法在目标聚集及目标较远的情况下仍能检测出更多的目标,基本不会发生将多个目标检测为一个目标的情况,显著提升了检测效果;
在背景复杂情况下,本文模型检测效果略有提升,但检测效果仍然不够理想。
综上,本文算法相较于Faster R-CNN 能检测出更多小目标,降低了小目标漏检率,提升了小目标检测的平均准确率,具有更好的检测效果。
当前,通用目标检测方法对小目标检测效果较差,并且现有目标检测公开数据集较少关注小尺寸目标。为此,本文在Faster R-CNN 的基础上,提出圆形锚框的小目标检测方法。具体为,在Faster R-CNN 的候选框生成阶段采用圆形锚框代替矩形锚框,既减少了参数计算,还更适合小目标检测。同时,本文在现有数据集的基础上,针对小目标进行数据增强。实验表明,改进后模型相较于原始Faster R-CNN 的检测精度提升约4%,在MSCOCO 数据集上表现良好。
下一步,将从以下两个方面继续研究:根据圆形锚框特性,尝试在自动驾驶的交通指示牌检测等特定数据集上进行实验,以更好地发挥圆形锚框特性;
在圆形锚框基础上尝试采用椭圆锚框,使其更好地贴合目标。