APP下载

基于关键点的未爆弹图像目标检测算法

2023-03-14单成之张健

现代计算机 2023年1期
关键词:中心点卷积样本

单成之,张健

(1.武警警官学院训练基地,广州510440;2.武警海南总队,海口 570203)

0 引言

近些年来,随着我国的交通运输、水利工程、房地产等基础设施建设的不断发展,在各类建设施工开挖过程中,常常挖掘出一些战争时代残留的各种不同型号、种类的废旧手榴弹、炮弹、迫击炮弹等未爆弹。为消除其对人民生命财产安全带来的严重隐患,在对未爆弹销毁前,需要经专业人员对其品种和危险程度逐个进行鉴别[1-3]。此外,依靠人工排除未爆弹效率较低,且危险性极大。利用排爆机器人代替人工完成这一危险性任务,成为当下的研究重点。排爆机器人通过摄像头采集回来图像数据进行处理,实时分析未爆弹类别及其所在位置。因此,基于人工智能算法实现对未爆弹的图像检测,使排爆机器人向自主排爆迈出关键一步。

未爆弹图像目标识别主要任务是识别未爆弹的种类,同时在图像中定位未爆弹的位置。由于应用场所和待识别目标的特殊性,在识别过程中待检测物品外观锈蚀严重和环境差异大,导致未爆弹图像成像背景复杂,检测物存在遮挡现象等问题,给识别带来了诸多挑战。文献[4]利用哈特利变换对炮弹图像进行特征提取后输入到SVM分类器,实现炮弹图像特征的快速分类。文献[5]通过Xception深度网络提取废旧手榴弹图像特征,使用L2-SVM的合页损失对归一化特征进行分类,取得较好的分类效果。文献[6]通过Faster R-CNN目标检测算法实现了对未爆弹目标识别与位置信息获取,算法具有较好的鲁棒性。文献[7]将深度图像量化为点云数据,图像坐标数据转化为世界坐标系数据,实现对现实物品的检测和抓取。由此可见,基于深度学习的未爆弹图像检测算法能够实现对目标物的自主识别和定位,提高了检测效率和自主性。

本文受CenterNet算法启发[8],提出了基于关键点的未爆弹图像目标检测算法。采用ResNet-50进行初步特征提取,利用特征增强网络,提升对存在背景复杂和遮挡未爆弹目标的适应能力,最后输入头部预测模块得到未爆弹类别和位置信息。在预训练阶段不需要提供anchor的大小,在检测阶段不需要非极大值抑制的后处理,算法流程清晰简单。实验结果表明,本文算法具有更高的检测精度和较快的检测速度。

1 理论与方法

1.1 基于预选框的目标检测算法

目前,基于预选框(anchor-based)的目标检测算法分为单阶段(one-stage)和二阶段(twostage)。二阶段即为首先需要利用区域候选网络(RPN)生成感兴趣区域(ROI),然后再对该区域进行目标分类和位置回归。常见的二阶段目标检测算法有R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN和R-FCN等。单阶段即为直接利用回归的思想,使用单一网络完成目标类别和位置的检测,检测速度大幅提升。常见的单阶段目标检测算法有SSD、YOLO系列、RetinaNet等。基于预选框(anchor-based)的目标检测算法在检测速度和精度上都取得了较大进步,但仍有以下缺陷:使用anchor时,需要在每个特征尺度上密集平铺,导致仅有很少一部分是正样本,造成正负样本不均衡问题;anchor设计需要很细致,一般利用统计学从训练集或者测试集中获取,难以推广到其他的数据集;每个像素网格点有多个锚点框,引入更多的超参数,加大训练难度;二阶段和单阶段都存在非极大值抑制(non maximum suppression,NMS)后处理的问题。

1.2 基于无预选框的目标检测算法

从CornerNet开始[9],便开启了基于无预选框(anchor-free)的目标检测算法新篇章,其主要是抛弃了目前主流单阶段和二阶段目标检测算法都用到的anchor boxes。CenterNet在CornerNet基础上进一步优化,得到了更高检测精度和更快的检测速度。CenterNet的检测器将检测目标看作一个点,即目标框的中心点,从而将目标检测问题转化为对关键点的估计问题。即为将图像传入到全卷积网络中得到热力图,热力图峰值点(keypoint heatmap)是中心点,边界框的尺寸大小和其他对象属性根据中心点推断出来。

2 网络方案设计

2.1 网络结构

针对未爆弹图像特点,本文网络模型包括主干网络、特征增强网络和头部预测网络,如图1所示。主干网络负责获取输入图像的特征信息;特征加强模块实现对主干网络输出的初步特征信息进行特征强化,增强有益特征信息并抑制无用特征信息;头部预测模块主要包含了三个分支,对特征加强的信息进行类别中心点热力图、中心点的偏置和目标bbox的高宽计算。

图1 未爆弹图像检测网络模型

将未爆弹图像I∈RW×H×3输入到ResNet-50主干网络中进行特征提取,数据流至最后一个子网络Conv5得到通道数为2048,特征图尺寸为16×16的初步特征层;接着初步特征依次完成三次深度卷积、反卷积上采样、深度卷积特征增强处理,从而获得高分辨率特征图输出,生成语义信息和空间信息更丰富的特征预测图;最后将该特征预测图作为头部预测网络的输入,完成目标热力图、中心点和宽高预测,输出得到违禁品的类别和位置。

2.2 特征增强模块

为使主干网络输出的初步特征层进一步适用于未爆弹图像检测,通过引入ResNeSt模块[10],进一步加强图像特征粒度信息,如图2所示。

图2展示了ResNeSt模块,其中包含特征图组(feature-map group)和拆分注意力(split attention)操作。输入特征图可以沿通道维度分为几组,特征图组中特征图被分为多个组,每个组内又进行分组。超参数K和R分别表示特征图组的数量和基数组内的分组数,总的特征图分组数可以表示为G=K×R。对每个单独的组应用一系列变换{F1,F2,…,FG},每个组的中间表示为Ui=F1(X),其中i∈{1,2,…,G}。在基数组内的每个分组中进行1×1和3×3的卷积,得到R个特征图后进行拆分注意力操作。

图2 ResNeSt模块

2.3 头部预测模块

主干网络只进行了4倍下采样,特征图比一般网络的分辨率高很多,所以不需要进行多尺度预测和特征金字塔也可以较好地检测目标大小。通过特征增强网络后得到一个更有效的图像语义信息和位置信息,将这些信息输入到头部预测网络,对热力图、中心点和宽高进行预测,如图3所示。

图3 头部预测模块

热力图预测分支中,对高分辨率特征图先进行常规的卷积操作,归一化处理和使用RuLU作为激活函数,然后进行多尺度池化(multi scale pooling,MSP)操作,通过融合不同大小的最大池化层来获得鲁棒的特征表示,最大池化的 池 化 核k={1×1,3×3,5×5,7×7},将 来自不同内核大小的特征图连接(concat)一起作为输出,接着进行1×1卷积降维操作,通道数为num_classes,最终结果为(128,128,num_classes),代表每一个热力点是否有物体存在,以及物体的种类。

中心点预测分支中,对热力图的输出进行精炼,提高定位准确度。对高分辨率特征图先进行常规的卷积操作,归一化处理和使用RuLU作为激活函数,再进行1×1卷积降维操作,此时卷积的通道数为2,最终结果为(128,128,2),代表每一个物体中心距离热力点偏移的情况。

宽高预测分支中,预测以关键点为中心的检测框的宽高。对高分辨率特征图先进行常规的卷积操作,归一化处理和使用RuLU作为激活函数,再进行1×1卷积降维操作,此时卷积的通道数为2,最终结果为(128,128,2),代表每一个物体宽高的预测情况。

3 实验结果与分析

3.1 实验环境与参数设置

本实验使用的硬件环境为:Intel(R)Core(TM)i7-8750H CPU@2.20GHz处理器,Nvidia GeForce GTX 1070 8 GB显卡,16 GB内存。软件环境为:深度学习框架Pytorch,加速环境CUDA10.1,编程语言Python3。

在模型训练过程中,输入图像尺寸:512 pixel×512 pixel,输出分辨率:128 pixel×128 pixe(l即4倍stride),针对每个样本采用简单的数据增强方式:随机翻转;随机放缩,其中比例在0.6到1.3;裁剪;色域变换,采用小批量样本集的梯度下降法,Adam优化器,初始学习率设定为1.0×10-4。

3.2 实验数据与评价指标

本文实验图像数据全部采自公开网络。由于未爆弹图像数据库较匮乏,采用预设的数据变换规则,在已有数据的基础上进行有监督的数据增强,对原始图像进行数据扩充。数据集含有5类共1200张未爆弹图像,利用LabelImg开源图像标注工具对数据进行标定[11],最终形成本次实验的未爆弹数据集。

为了更好验证检测算法的有效性,本文采用平均精度(average precision,AP)、均值平均精度(mean average precision,mAP)和每秒帧率(frames per second,FPS)三项指标对算法模型评估。AP由精确率(precision,P)和召回率(recall,R)曲线和坐标围起来的面积组成,用于计算平均的检测精度和衡量检测器在每个类别上的性能好坏。mAP用于评价多目标的检测器性能,衡量检测器在所有类别上的性能好坏,即得到每个类别的AP值后再取所有类别的平均值。精确率(P)、召回率(R)、平均精度(AP)和均值平均精度(mAP)的数学定义如下所示[12]。各标准的具体公式如下:

式中:TP表示被预测为正样本、实际为正样本的数量;FP表示被预测为负样本、实际为负样本的数量;FN表示被预测为正样本、实际为负样本的数量;Psmooth(r)表示平滑的P-R曲线,K表示类别数。

此外,FPS也是未爆弹图像目标检测的一个重要评价指标,指一秒内识别的图像数。FPS值越大,检测速度越快,实时性越高。

3.3 实验结果与实验分析

为了验证本文算法的性能,在未爆弹图像测试集上进行了实验,结果如表1所示。

表1 检测算法的检测精度

由表1可见,本文算法在mAP和FPS性能结果分别为94.16%和34 frame/s,验证了本文算法的有效性。为了进一步验证本文算法的有效性,分别将SSD[13]、YOLOv3[14]、CenterNet等经典模型与本文算法在未爆弹图像测试集上进行检测可视化,部分检测可视化结果如图4所示。

图4 未爆弹图像检测算法结果对比

图4可视化了不同算法未爆弹图像检测结果,其中数字为目标的置信度。由图4可以看出,相比SSD、YOLOv3、CenterNet等经典模型,本文算法在识别准确率和定位精度上取得了更好的检测效果。在图4中多个未爆弹目标相互遮挡,背景复杂混乱且与未爆弹目标颜色相似,SSD算法对违禁品目标检测的漏检率比较高,YOLOv3和CenterNet算法的检测效果有较好的提升,但也仍然存在漏检问题,本文算法对多个遮挡未爆弹检测具有较好的效果和较大的提升。

4 结语

为进一步提高未爆弹的检测速度和精度,本文提出了一种基于关键点的未爆弹图像检测算法。以目标中心为关键点的检测算法,保证在较快的检测速度前提下,能够准确地检测出背景复杂、遮挡的未爆弹目标。实验结果表明,在未爆弹测试数据集上与三种先进的目标检测方法进行实验验证,本文算法能够得到更高的准确率和速度。下一阶段研究中,将进一步扩展未爆弹图像目标数据,同时在确保检测速度不降低的前提下,提升算法在密集复杂物品背景下的未爆弹检测能力,为实现智能化排爆机器人精准抓取未爆弹打下基础。

猜你喜欢

中心点卷积样本
基于3D-Winograd的快速卷积算法设计及FPGA实现
用样本估计总体复习点拨
一种基于标准差的K-medoids聚类算法
Scratch 3.9更新了什么?
如何设置造型中心点?
从滤波器理解卷积
推动医改的“直销样本”
基于傅里叶域卷积表示的目标跟踪算法
随机微分方程的样本Lyapunov二次型估计
村企共赢的样本