基于轻量化YOLOX算法的东北虎检测

2023-11-25 08:57于文华谢永华
野生动物学报 2023年4期
关键词:东北虎特征提取准确率

于文华,谢永华

(东北林业大学计算机与控制工程学院,哈尔滨,150040)

随着对大型野生动物的关注度不断增加,研究人员对野生动物监测和理解生物多样性变化的需求显得尤为紧迫。传统的野生动物监测保护工作对野外持续作业和相互专业技术的配合要求过高,不仅收集数据的能力有限[1],更是耗费人力资源,阻碍了科研工作者对动物在野外行为的认知进程,无法满足保护野生动物多样性的需求。然而,随着现代科学技术(如智能传感器、人工智能和信息技术等)的广泛应用,各种自动传感器已经超越了人类过去所具备的时空尺度数据采集能力,并在降低监测成本的同时发挥着重要作用[2-3]。

目前,针对野生动物监测和研究的关键技术革新主要涉及3个方面:小型低功耗监测设备的商业化应用,基于无线通信的实时传输网络以及基于人工智能的自动识别算法和模型[4-5],前两个方面的研究手段已趋于成熟。近年来,人工智能技术已成为各行业的研究热点,野生动物监测领域也趋于向智能化方向发展。新的研究成果成为野外监测、保护野生动物新的研究手段[6-12],目标检测技术在野生动物监测与保护领域也得到广泛应用。随着目标检测精度不断提高,算法也更加复杂,依托硬件资源也更多,导致边缘计算设备无法发挥轻、便和快的优势。因此,本研究以东北虎(Panthera tigris altaica)物种检测为例,通过对检测算法分析,遴选出可用于野外边缘设备工作的无锚框目标检测算法,并对遴选出的算法进行改进,旨在为边缘计算设备提供一个快速、高精度的轻量化检测算法,为大型野生动物的野外行为研究、保护和恢复生物多样性提供科研支撑。

1 研究方法

1.1 数据集介绍

圈养东北虎监测影像数据集(ATRW)[13]是由世界野生动物基金会(WWF)在10个动物园对92只大型东北虎,利用监控相机和固定在三脚架上的单反相机拍摄得到。经过处理,该数据集包含8 076个高分辨率(1 920 P×1 080 P)视频片段,从中筛选出4 434张东北虎图像作为目标检测数据集,其中,2 762张用作训练集和验证集,1 672张用作测试集。在数据集中,共有9 496 个真实边界框,用于标注目标物体的位置和大小。数据集的标注格式采用PASCAL VOC 格式。选取该数据集的东北虎目标检测部分进行研究,通过马赛克(mosaic)增强[14]、融合(mixup)图像拼接[15]和将图片从1 920 P×1 080 P等比例缩放到640 P×640 P,3 种方式对数据集进行数据增强。数据集中的训练集和验证集将2 762 张图片按照9∶1 分配,单反相机和监控相机拍摄的东北虎照片样张见图1。

图1 单反相机(A)和监控相机(B)拍摄的东北虎照片样张Fig.1 Example images of Amur tiger taken by SLR camera(A)and surveillance camera(B)

1.2 无锚框算法

由于锚框算法会预先分配多个锚框,且处理时延与总体锚框数量成比例,在高性能GPU 上处理的时间成本可忽略不计,但在运算能力较低的边缘计算设备上处理的时间不可忽略。所以,为了保证边缘设备的检测速度,确保检测的实时性能,本研究采用无锚框检测算法[16]。无锚框算法有2 种方式:(1)基于关键点检测算法,先检测目标的左上角和右下角,再通过检测出的2 个角点组合形成检测框,策略代表算法为CenterNet 算法[17]。(2)基于中心检测算法,直接检测物体的中心区域和边界信息,并将分类和回归解耦成2 个子网络[18],策略代表算法为YOLOX算法。

1.2.1 CenterNet算法分析

CenterNet 算法属于基于中心的检测算法,模型中没有预制锚框,只识别目标中心点,即目标中心位置就是一个正例锚框,其余均是负例。CenterNet 算法吸取了基于关键点检测算法——CornerNet 算法的优点[19],即在正例周围的负例惩罚会降低,这也是选择CenterNet 算法进行分析的原因之一。在CenterNet 算法中,特征提取网络可采用多种结构,常用的是沙漏网络(hourglass network)和残差网络(ResNet)。沙漏网络的参数量过大,约为19 000万个参数,这对边缘设备的计算处理不利。因此,本研究选择了ResNet-50作为特征提取网络,以减小网络参数量并提高算法的检测效率。

1.2.2 YOLOX算法分析

YOLOX 算法按照网络的深度和宽度可分为YOLOX-nano、YOLOX-tiny、YOLOX-s、YOLOX-m、YOLOX-l 和YOLOX-x,6 种型号的模型深度越来越深、宽度越来越大以及模型参数量越来越高。模型过小的参数量会影响检测的准确率,而过大的参数量不利于边缘设备运算。所以本研究采用深度和宽度适中的YOLOX-s作为本网络的基础结构(图2)。

图2 YOLOX-s模型结构Fig.2 YOLOX-s model structure

YOLOX-s模型在特征提取部分采用了图像集中结构(fcous),这种结构能将图像的宽高信息缩小。在图像原始信息损失较小的情况下,减小参数量可提高检测速度。YOLOX-s模型采用交叉偏置网络-53(CSPDarknet-53)作为主干特征提取网络,输入的图片首先在CSPDarknet-53 中进行特征提取,提取到3个有效特征层后,将有效特征融入到特征融合层的加强特征提取网络进行特征融合,从而结合不同尺度的特征信息。YOLOX-s模型在特征融合部分采用特征金字塔(FPN)结构,能对由特征提取部分输出的3 个维度特征图进行融合,并对每个输出都有一定的侧重,可对不同尺度的目标有更好的检测效果。不同于以往的YOLOX 系列模型,在最后的预测部分,YOLOX-s模型采用解耦式的预测头结构,这种结构虽然会略微增加一点计算复杂度,但能大大提升模型的检测准确率。

对于在特征提取部分的空间金字塔池化模块(SPP),尽管能够让特征以一个固定的维度输出且不失真,但每一次的池化都需要依靠上一次来完成,这会减缓模型的检测速度。另外,在模型的特征融合部分,所用的普通卷积无疑加大了模型的参数量,而且YOLOX 所用的GIoU 损失函数考虑的边界框几何因素不全面,这使模型在检测准确率上存在提升空间。

1.3 算法改进

以降低模型参数量、提升算法检测准确率和检测速度为目标,制订改进方案:第一步,对模型的特征融合部分进行轻量化改进,用分组交互卷积模块(GSConv)[20]和由分组交互模块搭建成的分组交互-交叉阶段偏置层(VoV-GSCSP)分别替换特征融合层中的普通卷积模块和交叉阶段偏置层;第二步,在特征提取和特征融合层之间插入高效通道注意力机制(ECA)[21];第三步,在特征提取层最后一个交叉阶段偏置网络层中,引入快速空间金字塔池化结构(SPPF)[22];最后,将模型原本的边界框损失函数GIOU替换为EIoU[23]。

1.4 试验方案

通过目标检测算法的评价指标作为遴选算法和衡量算法改进前后模型性能提升的评价标准,首先从2 种无锚框算法(CenterNet 和YOLOX)中遴选出合适改进的算法,然后通过分析基准算法对模型进行轻量化改进,提升检测准确率和检测速度,最后验证模型对东北虎的检测效果。

1.5 模型评估指标

采用均值平均准确率(mean of average precision,mAP)来评估模型的性能,该指标计算了数据集中所有类别的平均精度。同时,采用mAP0.50(%)和mAP0.75(%)2 个阈值来评估模型的检测精度,阈值越高说明对模型的性能要求越严格;采用衡量检测速度的指标——每秒处理的图片数(frame per second,FPS)来衡量目标检测算法的速度。为了能让算法支持边缘计算,加入了模型的总参数量作为模型的评价标准,用来衡量模型的大小。

2 结果

2.1 无锚框模型训练

试验使用的硬件环境为英特尔i5 12400f的中央处理器和英伟达GeForce RTX 3060 的GPU,软件环境为python 3.10,操作系统为Windows10。分别使用CenterNet 和YOLOX-s 网络模型对东北虎数据集进行评价分析,采用学习率衰减,初始学习率为0.01,经过300次迭代,训练结果见表1。

表1 无锚框算法训练结果Tab.1 Training results of anchor free algorithm

由表1 可知,YOLOX-s 算法无论在检测准确率还是检测速度方面,都更适合东北虎数据集,且YOLOX 的模型总参数量为8.938×106,约为Center-Net的27.36%,这是由于YOLOX 算法所用的特征提取网络相较于CenterNet 算法能够有效减少重复梯度的学习,使网络的学习能力得到大幅提升。因此,对YOLOX算法进一步改进。

2.2 YOLOX改进模型训练

将所设计的改进方案应用到YOLOX-s 算法上,得到模型改进结果如表2所示。

表2 YOLOX模型改进训练结果Tab.2 Training results of the improved YOLOX model

第一步轻量化改进后,模型的mAP0.50从97.32%提升到97.75%,提升了0.43 个百分点,mAP0.75从75.10%提升到75.79%,提升了0.69 个百分点;检测速度从87.59张/s提升到88.46张/s,提升了0.87 张/s;模型总参数量由8.938×106降低 到7.287×106,降低了18.47%。这是由于分组交互卷积模块相比于深度可分离卷积(DWConv)多了一个特征交互操作,这一步骤使得原本无法交互信息的深度可分离卷积获得了特征交互的能力。同时,特征图本身可能存在一些冗余特征,导致模型变得庞大且运行缓慢。然而,当特征图经过普通卷积和分组交互卷积处理后,产生的新特征图之间的差异并不显著,更重要的是,经过分组交互卷积处理的特征图突出了重要信息,使其更加紧凑。所以,分组交互卷积的替换既降低了模型的总参数量,提升了检测速度,又能让模型的检测准确率有所提高。

经过500 次迭代学习,第二步加入注意力机制后,mAP0.50从97.75%提升到97.94%,提升了0.19个百分点;mAP0.75从75.79%提升到76.04%,提升了0.25 个百分点。高效通道注意力机制能够使模型赋予有用的东北虎相关特征以高权值,赋予无用的背景信息以低权值,这样能使网络更加专注于有用的信息。

第三步,引入快速空间金字塔池化结构(SPPF)替换金字塔结构后,在参数量不变的情况下,mAP0.50虽然降低了0.07 个百分点,但mAP0.75从76.04%提升到76.57%,提升了0.53 个百分点;检测速度从88.57 张/s 提升到89.67 张/s,提升了1.10 张/s。这是由于SPPF相较于YOLOX中SPP,每一次最大池化都是在前一步已经池化的基础上再进行下一步池化,所以SPPF 在参数量相同的情况下,检测速度要快于SPP结构。

最后,替换为EIoU后,模型mAP0.50由97.87%提升到98.34%,提升了0.47 个百分点;mAP0.75由76.57%提升到76.63%,提升了0.06 个百分点。由于EIoU 损失函数在整个模型中充当边界框损失函数,能考虑到预测框和真实框之间的重叠面积、中心点距离以及长宽比3 个几何因素,因此提高了检测准确率。改进后的YOLOX-s结构如图3所示。

图3 改进YOLOX-s模型的最终结构Fig.3 Final structure diagram of the improved YOLOX-s model

2.3 消融试验

为了验证算法改进是否有效,进行了4次300轮迭代的消融试验(表3),去除任何模块后YOLOX-s的性能均有所下降,表明改进后的YOLOX-s性能得到了显著提升。在关于EIoU 的消融试验中,虽然除去EIoU后的检测速度有所提升,但mAP0.50和mAP0.75均有所降低,这也能证明EIoU损失函数引入的有效性。

表3 YOLOX-s算法的消融验证试验Tab.3 Ablation validation test of YOLOX-s algorithm

2.4 模型测试

相较于改进前,改进后的模型性能在检测准确率、检测速度和模型总参数量方面均有较大提高。为了验证模型的实际检测效果,对测试集东北虎图像进行检测,部分检测效果如图4、图5所示。

图4 改进前(A)后(B)模型在测试集上的检测效果(临近水源的空旷地带)Fig.4 Comparison of detection performance using un-(A)and improved(B)models on test dataset(in open area near water source)

图5 改进前(A)后(B)模型在测试集上的检测效果(光线较暗的树林中)Fig.5 Comparison of detection performance with un-(A)improved(B)models on test dataset(in wood under low light condition)

无论东北虎是处于临近水源的空旷地带,还是处于光线较暗的树林中,改进后的YOLOX-s 模型均可将东北虎全部检测出来。通过比较改进前后的模型检测效果,发现改进后算法检测出的东北虎置信度较高,特别是在多只虎聚集时和在有光线干扰的情况下,且其生成的检测框相较于改进前能够更贴合东北虎的轮廓,不会出现图5(A)中生成框和被检测东北虎重叠的情况。

3 讨论

本研究以东北虎作为检测对象,首先分析了目标检测算法中的锚框算法和无锚框算法,对比得出无锚框算法更适合东北虎检测。再从无锚框算法中遴选出YOLOX-s 算法,引入了注意力机制,增加模型对东北虎信息的权重,以提升模型的检测准确率,并采用快速空间金字塔池化结构,优化模型特征提取部分的推理过程,改进损失函数,以提升模型的检测速度。改进后的模型,mAP0.50为98.34%,准确率提升1.02 个百分点;mAP0.75为76.63%,准确率提升1.53个百分点;检测速度为89.33张/s,提升1.74张/s。

近年来,研究人员将基于人工智能技术开发的高效图像自动识别、检测模型不断运用到动物图像物种自动识别以及快递评估中,这大大提高了动物相关数据的收集效率,缩短了对动物相关研究的科研周期。如Tabak 等[24]对驼鹿(Alces alces)、野猪(Sus scrofa)等野生动物的平均识别准确率能够达到97.6%;也有研究借助深度神经网络实现对东北虎个体的自动识别[25],其识别的平均准确率(脸部、左侧和右侧躯干条纹)达到92.37%;还有通过拍摄东北虎的红外热图像,通过改进YOLOv5 算法对东北虎及其食物链进行识别的研究[26],识别准确率达到93.2%;也有使用ATRW 数据集,采用SSDlite算法实现对东北虎物种检测的研究[27],其检测准确率(mAP0.50)为95.5%,而本研究中,改进后的算法在mAP0.50指标上超过了该结果2.84 个百分点,充分展现了改进后算法的性能优势。此外,改进后的目标检测算法的检测速度能达到89.33张/s,远快于人工处理速度。通过检测效果可以看出,改进后的YOLOX-s算法在被检测目标有低照度和相互遮挡聚集行为的干扰条件下,均有良好的处理能力。

本研究不足之处在于东北虎样本量较少。为了解决此问题,在今后的研究中应对东北虎数据集进行扩充,并将其与ATRW 数据集进行合并用于训练。数据扩充措施将显著提高模型对东北虎野外行为的检测效果。

4 结论

本研究通过对YOLOX-s 算法进行改进,得到一个轻量化模型,可将该模型应用于边缘计算设备上。新模型结合人工智能和智能传感设备,可以实现对野外东北虎行为数据的准确、快速检测收集,从而更好地了解东北虎的生态习性和行为习惯,为保护东北虎提供科学依据。在未来的研究中,扩充东北虎检测数据集,进一步提升模型的检测性能,结合4G通信技术、网络信息技术和“3S”技术,进一步优化边缘设备的检测功能,以实现云存储与可视化分析,将有助于增强物种、个体和行为等方面的智能识别精度,并提高大数据的处理效率,为大型野生动物的自然保护区体系建设提供完善的科技支撑。

猜你喜欢
东北虎特征提取准确率
保护野生东北虎,我们一直在行动
威风凛凛的东北虎
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
东北虎,请你回家
基于Daubechies(dbN)的飞行器音频特征提取
高速公路车牌识别标识站准确率验证法
老虎
Bagging RCSP脑电特征提取算法