当前位置:首页 期刊杂志

红外图像目标检测算法YOLO-TC

时间:2024-05-04

杨 航,陶青川

(四川大学电子信息学院,成都 610065)

0 引言

随着时代的高速发展,目标检测日趋成为深度学习领域最为热门的研究方法之一,在越来越多的实际场景得到应用。如人脸、行人、车辆车牌检测等检测场景不断扩宽,目标检测也在不断的发展中涌现出越来越多优秀的网络模型算法。

目标检测的基于深度特征的检测方法,主要是通过特定的网络结构去进行模型计算及不同的训练方法去完成训练过程,从输入图像中通过设计的网络去学习更为高级、抽象的语义特征,综合得到的结果用于检测。这其中就包含如由Krizhevsky 等[1]提出的目标检测模型AlexNet,AlexNet 第一次对图像的检测和分类使用大规模的人工卷积神经网络进行结果训练计算,该模型也斩获了2012 年举行的ImageNet[2]竞赛中图像分类组的冠军,其错误率为16.4%(在1000 类图片的分类计算处理中),该模型无论是从速度还是准确率等指标都全面超越了当时的传统非深度学习类的目标检测算法。此后目标检测算法如雨后春笋,相继有ZFNet[3]的出现,包括VGGNet[4]以及GoogLeNet[5]等一系列的卷积神经网络模型的问世,这类卷积神经网络模型主要是在两方面继续进行深度的研究拓展,包括卷积层的深度和构成,这些检测模型的不断问世使得目标检测分类的误差下降明显。2015年Girshick等[6]提出了R-CNN模型,该模型第一次对大规模自然图像的目标检测使用卷积神经网络进行训练计算。随后,Fast R-CNN[7]和Faster R-CNN[8],以及后续的R-FCN 网络模型[9]等基于R-CNN 改进的卷积神经网络模型问世,目标检测的速度和精度都有了显著的提升。2016 年,一系列将目标检测任务转化成回归问题的神经网络模型相继被提出,这其中就包括YOLO[10]和SSD[11],至此目标检测有了一种新的研究思路,虽然该类检测算法在检测精度上有所降低,但是计算速度得到了显著提高。此后随着YOLO 算法系列的不断演进,从YOLOv4[12]到如今的YOLOv7[13],检测精度和速度都得到了不同程度的提升,推动了目标检测的不断前进发展。神经网络模型利用计算机的计算资源,能够快且准地得到目标检测分类结果,而且避免了复杂的人工特征设计,是今后目标检测领域的重要研究方向,本文就已提出的YOLOv7-Tiny 的特征提取方面引入注意力机制,并且进行了相关的实验研究。

本文主要从以下几个方面展开:第一部分主要介绍需要用到的方法基础;第二部分介绍新方法YOLOv7-TC 的网络结构和评价指标以及实验结果的对比;最后进行总结和展望。

1 论文涉及方法介绍

本部分主要对用到的一些方法进行了介绍,主要包括YOLOv7和CBAM注意力机制。

1.1 YOLOv7

YOLOv7 是由Wang 等[13]提出的实时目标检测算法,目前YOLOv7无论是在实时性还是准确率上都已经超过了已知的所有目标检测算法。根据论文的数据结果,YOLOv7 相同体量下比YOLOv5 精度更高,速度上也更快120%(FPS),相比YOLOX 更是快达180%(FPS)。并且它在COCO 数据集上达到了56.8%的AP。就本文使用的轻量级小模型YOLOv7-Tiny 而言,与YOLOv4-Tiny 相比,YOLOv7-Tiny 减少了39%的参数量和49%的计算量,但保持相同的AP;在计算速度上,YOLOv7-Tiny 比YOLO-N(v6.1)快达127帧,并且在此基础上准确率提高10.7%。

1.2 CBAM

CBAM(convolutional block attention module)是Woo 等[14]在2018 年提出的卷积块注意力模块,CBAM是一种通用的轻量级模块,该模块不仅可以非常方便地在各种网络中的各个模块中进行添加,也能有效提升模型的性能。CBAM模块是一种由通道注意力机制和空间注意力机制混合而成的注意力模型,其模块构成如图1所示。

图1 CBAM注意力机制模块

将输入特征图F与通道注意模块(channel attention module)处理得到的权重值Mc两个矩阵的对应元素相乘,对F进行特征重标定处理,得到能够有效体现特征关键通道信息的特征映射。在通道加权的基础上,利用串联的空间注意力机制对空间特征信息进行自适应加权,将F'作为空间注意力模块的输入,与空间注意模块(spatial attention module)权重系数Ms两个矩阵的对应元素相乘,得到包含通道位置信息、空间位置信息的显著特征图F″,使网络能够更多关注检测目标中输入特征较强的部分,提升其空间特征选择能力。其过程用公式表示为:

上式中:⊗表示该符号左右两侧矩阵对应元素相乘。

2 YOLO-TC目标检测算法

本节主要介绍YOLO-TC 的网络结构、评价指标以及实验结果。

2.1 本文方法介绍

本文是对文献[13]中提出的YOLOv7进行改进,主要改进方式为对文中的轻量级小模型YOLOv7-Tiny添加文献[14]中的CBAM 注意力机制,添加位置为在YOLOv7-Tiny 的Backbone 主干网络,对作者提出的图中所示的CBL 网络中的Conv 进行替换,分别在1、2、14、21、28 层进行替换,添加位置如图2所示的黑色加粗框位置。另外原算法Head 网络不作更改,以便在提取红外图像特征时能更好关注有效的目标信息,专注于有用信息的提取,减少无用信息的干扰。方法中使用的回归损失、平均精确度等评价指标计算方法与原文保持一致,本文的网络模型如图2所示。

2.2 评价指标

本文主要沿用文献[13]中使用到的精确率(precision)、召回率(recall)、平均精确度mAP@0.5和mAP@0.5∶0.95三个评价指标。

目标检测的评价指标主要有召回率Rec(recall)、精确率Pre(precision)和平均精度均值mAP(mean average precision),分别取交并比IoU(intersection over union)为0.5 时的平均精度均值mAP@0.5,IoU从0.5 到0.95(步长0.05)时的平均精度均值mAP@0.5∶0.95,定义如下:

图2 本文网络模型

其中:TP表示正样本判定为正样本,FP表示负样本判定为正样本,FN表示正样本判定为负样本,TN表示负样本判定为负样本。

其中:Pinter表示插补精度,即对PR曲线上的每个点的Pre值取该点右侧最大的值,ri表示按升序排列的Pre插值段的第i个插值处对应的Rec值。

其中:k表示检测任务中的类别(一般大于1),即mAP定义为所有类别的AP平均值。

2.3 实验结果

2.3.1 实验环境及参数设置

本文代码使用的是PyTorch 框架,训练环境均为:四张NVIDIA GeForce RTX 3080 GPU,显存40 GB;12 核CPU,型号为Intel(R)Xeon(R)CPU E-2650 v4 @2.20 GHZ,内存60 GB。实验主要在FLIR_ADAS_v2 数据集和KAIST 红外图像行人数据集上进行。FLIR_ADAS_v2 为FLIR Systems 公司在2022 发布的新版红外数据集,相较于上一代FLIR 数据集,新版本有着更多的类别和更多数量的图像,检测类别达80 类,训练集10742 张红外图像,验证集1144 张图像;KAIST 行人数据集是由韩国科学技术院(Korea Advanced Institute of Science and Technology)在2015 年发布的多光谱行人检测数据集,本文使用该数据集的红外数据,并对其进行清洗,保留7601张训练集,2257张验证集。

在训练过程中,对于FLIR_ADAS_v2 数据集,学习率设为0.01,加载原文预训练模型的训练100 个epoch 得到结果;对于清洗后的KAIST 红外行人数据集数据训练时学习率为0.01,加载原文预训练模型训练50个epoch。

2.3.2 实验结果

在数据集FLIR_ADAS_v2 和KAIST 红外图像行人数据集上的实验结果分别如表1 和表2 所示,表中指标越大,表明效果越好。

表1 FLIR_ADAS_v2数据集实验结果

表2 清洗后的KAIST数据集实验结果

3 结语

本文通过对YOLOv7-Tiny 添加注意力机制CBAM[14]改进得到新网络模型YOLO-TC。在多类别的FLIR_ADAS_v2 数据集和少量类别的KAIST 红外图像行人数据集上进行了训练和测试,新网络检测精度和平均精度均值都有一定的提升,在保证网络模型轻量级的基础上,FPS不变的情况下,最大程度提高了检测精度和平均精度均值,取得了比原网络更好的结果。在未来,YOLO-TC 可以继续在Head 网络进行改进,引入一些优秀的机制使得网络的相关数据能得到进一步提升。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!