一种基于多尺度的目标检测锚点构造方法

2024-02-29 14:38邵延华黄琦梦梅艳莹张晓强楚红雨吴亚东
红外技术 2024年2期
关键词:锚点尺度红外

邵延华,黄琦梦,梅艳莹,张晓强,楚红雨,吴亚东

(1.西南科技大学 信息工程学院,四川 绵阳 621010;2.四川轻化工大学 计算机科学与工程学院,四川 自贡 643000)

0 引言

目标检测是当前计算机视觉领域的研究热点,其中目标尺度多变是最具挑战性的问题之一[1-2]。针对上述问题,国内外学者提出多尺度检测方法[3],利用检测器构建特征金字塔和多尺度特征输出获取更优的预测结果。为实现多尺度输出,锚点(anchor)被著名的Faster-RCNN[3]首次引入目标检测:即对图像中的目标进行分类检测之前,预先放置一批已知长宽的候选框,以便网络进行分类和识别。从此,基于锚点的检测算法成为目标检测领域的一个重要分支[1]。

YOLO(you only look once)除YOLO v1 与YOLOX 外,均为典型的单阶段基于锚点的检测模型[4]。YOLO v1 使用全连接层直接预测边界框,由于空间信息丢失较多,导致定位不准。YOLO v2 受Faster-RCNN 启发,通过引入大量锚点来代替v1 的全连接层进行边界框预测,并使用交并比(intersection over Union,IoU)[5]值最高的锚点结合预测偏移量得到预测框,提高了检测精度。由于原版YOLO 模型的锚点是通过聚类MS-COCO[6]数据集得到的,对于特定场景数据集来说,部分锚点取值可能并不合理。因此,为避免上述问题,部分研究者提出了无锚点的检测模型,但该类方法由于图像金字塔或特征金字塔层数较多,导致检测速度有所降低[7-8]。另有研究者在训练基于锚点的目标检测模型前使用基于欧式距离的K-means 聚类方法自动找到较为合适的先验框。但出现第二个问题:K-means 的初始值对其结果影响较大,导致结果仅为局部最优[8]。同时,通过聚类产生的锚点与数据集密切相关,当场景数据集类别单一或目标尺寸较集中时,聚类产生的锚点差异较小,无法体现YOLO 多尺度输出的优势[4]。

研究发现,不同场景的数据集具有不同的特点[5],也影响锚点的取值。相较于可见光数据集(如MSCOCO),红外数据集多具有小样本、目标少等特点,更容易导致聚类产生的锚点尺寸相似、缺乏多样性的问题。此外,热红外图像对比度低且纹理特征弱,会影响检测精度。故提升红外数据的检测精度是当前目标检测领域的热点之一。

针对人工设置锚点尺寸固定,泛化性差的问题,本文对锚点的优化进行深入讨论,提出一种多尺度的目标检测锚点构造方法(multi-scale-anchor,MSA)。该方法产生的锚点可根据数据集本身的特性进行线性尺度的缩放和拉伸,既保证模型多尺度的优势又体现不同数据集的特点。通过在YOLO 系列的多个典型网络上进行测试,并分别使用中国空气动力研究与发展中心的涡核(Vox)检测[9]和南京航空航天大学的ComNet 红外人车航拍检测[10]等4 种不同场景的数据集验证了该方法的有效性。

1 锚点的研究进展

深度学习已成为目标检测任务的主流方法,基于锚点的目标检测器也广泛应用于各个领域[1]。本章根据基于锚点模型的发展现状,进一步总结锚点机制的优缺点,并列举分析近几年改进的基于锚点检测器典型范式。

1.1 锚点机制的优势与局限

在目标检测中,可能出现极小、极大或者极端形状(如高窄型、宽扁型等)的物体,导致网络训练时对目标的识别和定位较困难[11]。将多尺度的锚点应用于检测模型中,被证明是解决网络尺度问题的有效方法,但基于锚点系列模型存在以下3 方面的问题[1]:

①锚点策略存在尺寸固定、模型鲁棒性差等问题。锚点的相关超参数(尺寸大小、纵横比、IoU[11]阈值)对预测结果的鲁棒性影响较为明显。由于超参数的设置与场景数据集密切相关,预置锚点的大小、比例在检测尺寸差异较大的物体时泛化能力弱。

②大量的锚点会导致网络参数增多,运算复杂度增大。由于基于锚点检测方法本质上是对图像进行密集采样,故导致产生冗余锚点。例如DSSD(deconvolutional single shot detector)[12]中锚点的设置超过4 万个,RetinaNet[13]超过10 万。

郝关排闸布置1孔,孔深15m。闸基高程3.8~7.8m为第②层壤土,具中等压缩性,微弱透水性,强度较高,构成地基主要持力层;高程3.8m以下为第③壤土,含大量腐殖质和贝壳、螺壳碎屑,局部呈淤泥质,工程性质相对较差。

③基于锚点的检测模型中只有少部分锚点会与真实目标重合,多数锚点为仅包含背景信息的负样本。这种情况会导致训练时正样本与负样本的比例失衡,易使模型的分类能力受负样本影响。

1.2 锚点的相关优化

针对当前锚点机制存在的问题,一些研究人员从尺度、数量等方面改进锚点,达到优化目的。在尺度方面,Cai 等[14]在不同的特征层中设计不同尺度的检测器,低层的卷积网络用于检测包含小目标,高层的卷积网络用于检测大目标。Zhu 等[15]提出一种基于步长缩减方法生成锚点的新策略,在检测包含小目标的高分辨特征图时防止漏检。在数量方面,Ke 等[16]提出一种多锚点学习方法,基于交并比筛选部分优质的锚点,并构造属于固定目标的锚点袋,再结合分类评估锚点袋中正样本的训练损失。

对基于锚点机制的检测模型来说,无论是多尺度还是大数量,都会增加计算复杂度以及内存的消耗。故部分研究人员提出无锚点机制,其中典型的工作为Law 等[7]提出的基于关键点的无锚点检测模型CornerNet,使用特定点配对构造的预测框检测目标,但使用特定点进行预测导致缺乏物体内部信息,检测的准确性有待提升。

随着基于锚点检测和无锚点检测两种不同思路的发展,Zhang 等[5]探究了二者之间产生差异的根本原因是标签分配策略,该策略可进一步提升目标检测器的精度。故相较于无锚点检测模型,针对基于锚点检测模型进行再优化的思想更为合理。

2 多尺度锚点(MSA)

在基于锚点的检测模型中,锚点的取值尤为重要,检测之前要预设锚点的尺寸和比例,检测时根据预设的锚点进行回归。最终得到预测框,锚点的取值关乎检测模型的精度。

2.1 锚点的取值及作用

锚点为一批具有预定义位置、比例和长宽比的框。基于锚点的检测模型通常需要大量的锚点,以确保与真值框(ground truth)有足够高的交并比。交并比是目标检测中的重要指标之一,通过预测框和Ground truth 间的交集与并集的比例进行计算,常用于评价预测框的优劣,其定义如下[11]:

式中:Bgt为Ground truth 的面积;B为预测框的面积。在训练过程中,当锚点与Ground truth 有足够高的IoU 时,该锚点结合偏移后作为最终的预测框。该方法搜索范围小、易收敛且降低了训练难度。

2.2 MSA 锚点优化

研究可知,数据集目标尺寸过于单一时,聚类方法产生新的锚点尺寸差异亦较小。故本文将聚类所产生的锚点再次根据数据集本身的特性进行线性尺度的缩放和拉伸来优化锚点的取值。涡核(Vox)数据集作为典型的工业现场数据集[10],来源于中国空气动力研究与发展中心进行的直升机旋翼流场测量试验。该数据集类别较为单一且目标尺寸较集中,Ground truth 纵横比约为1,优化实例如图1所示。

图1 Vox 数据集上不同锚点与Ground truth 对比Fig.1 Comparison between Ground truth and different anchors on Vox data sets

图1(a)是由MS-COCO 数据集聚类而得到的锚点,其值与Vox 数据集的目标相差较大,导致面向特定目标时,交并比几乎只由少数几个锚点来决定,其余取值并不合理。图1(b)是由K-means 聚类所产生的锚点,该方法产生的锚点受初始值影响较大且对噪音和异常点比较的敏感,导致大多数Ground truth 比得到的锚点尺寸略大,在训练时对模型要求更高。图1(c)为本文所提出的MSA 方法产生的锚点,既结合数据集的特性也保留了模型多尺度输出的优势,提高了聚类对噪音和异常点的泛化能力。

由图1 可知,对于YOLOv3-tiny 等锚点较少的轻量级模型来说,锚点个数较少,聚类后的锚点更无法体现多尺度的优点。因此,本文引入多尺度优化,具体来讲将最大的锚点再扩大相应的倍数,将最小的锚点再缩小相应的倍数。具体如式(2)所示:

式中:xs和ys为最小锚点的长和宽;xm和ym为最大锚点的长和宽;xs′、ys′、xm′、ym′为缩放后的锚点长宽值;α为缩小倍数,β为放大倍数,实验观察二者基本满足α≈2-β,其值对不同类型的数据集可进行微调。建议当数据集目标尺寸较单一时α和β取差异较大的值,如0.4 与1.6;若数据集目标尺寸的尺度仍有变化,则α和β可取差异较大的数值,如0.9 与1.1。总之,依本文方法,可进一步结合传统的网格寻优技术自动获取更有效的锚点值。

当锚点与Ground truth 有足够高的交并比时,该锚点结合偏移即可更有效地得到预测框。不同锚点中,IoU 值最大的锚点与数据集的Ground truth 对比如图2所示。

图2 IoU 值最大的锚点与Ground truth 的对比示例Fig.2 Example of comparison between the anchor point with the maximum IoU value and ground truth

由图1 和2 可知,当数据集中的目标尺寸较集中或异常点个数较多时,部分目标的Ground truth 比聚类得到的锚点尺寸略大,导致训练时对模型要求较高。因此将缩放后的值进行线性尺度的拉伸,可改善此问题,其计算公式如式(3)所示。

式中:xi与yi为变化前的锚点值;xi′与yi′为变化后的锚点。通过式(2)和式(3)可将聚类后尺度变化不显著的锚点进行优化,从而既体现YOLO 算法多尺度输出的优势,又保留了对应场景数据集的特点。

3 数据集

数据集是衡量算法性能的基础,不同数据集会带来不同的挑战[18]。红外图像对比度低、纹理特征不足,使检测面临更大的挑战。同时,红外现场实验不易,数据集难以获得,故大部分的红外数据集具有小样本、目标少等特点。为使训练得到的网络更加具有鲁棒性,且验证MSA 优化方法对于不同特性的目标具有较强的泛化能力,选择4 种不同场景的数据集进行多次测试。数据集的部分示例图像如图3所示。

图3 四类数据集的部分示例图像Fig.3 Partial sample images of four types of datasets

3.1 南航ComNet 红外人车检测数据集

ComNet 数据集来自南京航空航天大学Minglei Li[9]等所拍摄标注的红外人车检测图像数据集,由搭载在大疆M600Pro 无人机上的红外Vue Pro 热成像相机采集。数据集分别在白天和晚上捕获了包括校园和街道的各种常规交通场景,使用Labelme 对这些图像进行手工标注,生成所需的训练数据和评估数据。ComNet 数据集包含2975 张热红外图像,包括4768个行人实例和3856 个车辆实例,即包括非刚体目标和刚体目标,图片大小为640×512。该数据集的部分示例图像如图3(a)所示。

3.2 Roboflow TDP 数据集

Roboflow TDP(thermal dogs and people dataset)数据集,包括人和狗在不同距离上的203 张热红外图像,由Seek Compact XR Extra Range 红外相机拍摄。数据集中既有纵向又有横向目标,且保留一些不含目标的负样本图像。基于红外成像的人体和动物目标检测在安全、野生动物探测、狩猎和户外娱乐方面都具有广泛应用。其部分示例图像如图3(b)所示。

3.3 Roboflow 口罩(Roboflow-mask)数据集

近期全球新型冠状病毒肆虐,在大型的公共场所对各种人员进行口罩检测能够减少人员之间交叉感染的风险。Roboflow-mask 口罩数据集包括149 张戴口罩的人和未戴口罩的人。其部分示例图像如图3(c)所示。

3.4 涡核(Vox)数据集

Vox 数据集[10]是具有专业背景的涡核检测数据集,该数据集来源于中国空气动力研究与发展中心进行的直升机旋翼流场测量试验。Vox 数据集的训练集包括500 张涡核样本图像;测试集包括106 张涡核样本图像。数据集类别较为单一且目标尺寸较集中,其Ground truth 纵横比约为1。其部分示例图像如图3(d)所示。

4 实验与分析

本文实现和测试算法使用计算机硬件配置为i7-9700K,GPU 版本为NVIDIA GeForce RTX 2080Ti;计算机软件配置为 CUDA10.2,PyTorch1.10,Python3.8。

4.1 精度测试

基于IoU 阈值为0.5 的检测平均精度均值(mean average precision,mAP)已成为多年来目标检测问题最重要的实际度量标准之一[19]。本文使用YOLOv3-tiny 网络在4 种不同的数据集上进行测试,mAP@0.5结果如表1所示。其中Vox 数据集和ComNet 数据集由实验得出放大倍数α=1.5,缩小倍数β=0.5 时所得结果较为理想。TDP 数据集部分Ground truth 的纵横比差距较大,本文针对缩放倍数进行多次实验寻优并微调,具体见图4。Roboflow-mask 数据集图片较少且目标尺寸变化较为显著,故微调放大倍数α=1.2,缩小倍数β=0.5 时所得精度有所提高。

表1 不同Anchor 在四类数据集上的对比结果Table 1 Comparison results of different anchors on four data sets

图4 TDP 数据集中锚点缩放的消融测试Fig.4 Ablative test of anchor point scaling on TDP dataset

由表1 可知,改进后的锚点在4 个数据集上的测试结果mAP@0.5 指标均有所提升,针对不同特点的数据集缩放倍数只需微调即可有效提升目标检测的精度。其中,Roboflow-mask 数据集样本较少且两个类别的Ground truth 数量差异较大,故mAP@0.5相对较低,但使用改进锚点后检测精度仍有提高。若数据集中未正确检测样本难例较多,例如模糊目标、较暗目标等难例,可通过对难例适当引入旋转、裁剪、缩放等数据增强[20]方法进一步挖掘锚点的多尺度信息,再利用本方法进行优化。

4.2 消融实验

为了验证不同取值的α和β对精度所产生的影响,本文在TDP 数据集上针对α和β的取值进行了消融实验,结果如图4所示。

由图4 可知,对于TDP 数据集,放大倍数α=1.9,缩小倍数β=0.3 时mAP@0.5 较高,可能由于该数据集的部分Ground truth 的纵横比差距较大所造成。但对于大多数数据集来说放大倍数α=1.5,缩小倍数β=0.5 所得结果较为理想。此外,基于3 种典型轻量级网络YOLOv3-tiny,YOLOv4-tiny 和YOLOv5s以及大型网络YOLOv3 在Vox 数据集上测试验证了该方法的有效性。利用相同的锚点在同一网络上分别进行了3 次测试并取mAP@0.5 平均值,其结果如表2所示。

表2 Vox 数据集在不同网络的表现Table 2 Performance of different networks on Vox datasets

由表2 可知,所提出的多尺度优化锚值MSA 方法适配多种网络结构,mAP@0.5 指标都有提升,但随着网络结构变得复杂,精度的提升也有所减少,一个可能的原因是在网络变得复杂时,模型表达能力提升,此时锚点对网络的影响有所降低。其中,YOLO v3-tiny 和YOLO v4-tiny 需6 个锚点,而YOLO v3和YOLO v5s 需9 个锚点。同时,YOLO v5 作为YOLO 家族的最新代表,其亮点之一是模型训练过程中可动态学习优化锚点值,可在一定程度上加速模型收敛。YOLO v5s-Aut 为YOLO v5 模型在Vox 数据集上开启自动学习优化锚点值的测试结果。相比而言,本文提出的尺度变化的锚值优化方法更适用于YOLO v3-tiny 和YOLO v4-tiny 等锚点较少的典型轻量级检测网络。

5 结语

本文提出一种基于多尺度优化的目标检测锚点构造方法,针对场景数据集的特性将生成的锚点进行线性缩放和拉伸,解决了聚类产生的锚点大小差异不显著且泛化能力差与无法体现YOLO 多尺度输出优势的问题。利用该方法在多个典型YOLO 模型和多个场景数据集上进行了测试。数据难以获得、数据获取成本高、红外数据集样本小、目标少,该方法针对此类数据的优化效果明显,可显著提高检测精度。另外,本方法应用在训练的预处理阶段,不增加模型推理时间。

猜你喜欢
锚点尺度红外
网红外卖
闪亮的中国红外『芯』
基于NR覆盖的NSA锚点优选策略研究
5G手机无法在室分NSA站点驻留案例分析
5G NSA锚点的选择策略
财产的五大尺度和五重应对
5G NSA组网下锚点站的选择策略优化
TS系列红外传感器在嵌入式控制系统中的应用
基于快速递推模糊2-划分熵图割的红外图像分割
宇宙的尺度