APP下载

自然场景下飞鸟目标检测与实时跟踪

2024-01-02王禹涵张凯兵蒋睿涛苏文涛

湖北工程学院学报 2023年6期
关键词:驱鸟飞鸟鸟类

王禹涵,张凯兵,蒋睿涛,苏文涛

(1.西安工程大学 电子信息学院,陕西 西安 710048;2.西安工程大学 计算机科学学院,陕西 西安 710048)

随着电力需求的不断增加,变电站的数量也在不断增多,这为人们的日常生活和生产提供了有力的电力保障。然而在实际生活中,变电站的正常运行容易受到鸟类影响而产生故障,严重威胁用电安全。例如,在恶劣天气下,鸟巢被吹落到导线上,会引发线路短路故障;在机场飞机与飞鸟在空中相撞,直接导致严重的空难事故[1];在农田和果园环境,鸟类啄食农作物和水果,影响农作物和水果的产量和质量,造成严重的经济损失。因此,研究有效的鸟害防治措施对人们的生产生活非常重要。

为了预防鸟害发生,许多科研工作者提出了不同的检测飞鸟的方法。例如,刘建平[2]提出了一种基于探鸟雷达的机场鸟类检测方法,该方法通过雷达信息获得飞鸟位置信息。张恩惠等[3]采用航模携带音频设备、频闪灯及摄像机等设备搭建空中复合驱鸟系统实现机场驱鸟。张磊等[4]设计了一种由太阳能电池板供电,对红外探测到的飞鸟发射超声波,并根据反馈改变超声工作频率实现智能变频超声驱鸟。尽管上述方法对驱赶飞鸟具有一定的效果,但雷达和超声波等设备部署成本大,而且在动态场景下的不能完成小目标鸟类的检测和跟踪,其性能还达不到实际应用的要求。

如今在计算机视觉技术蓬勃发展的大背景下,基于深度学习的目标检测在实际应用中具有明朗的应用前景。有代表性有R-CNN[5]、Fast R-CNN[6]、SSD[7]、YOLOv2[8]、YOLOv3[9]和YOLOv4[10 ]等深度网络。相对于传统目标检测算法,基于深度学习的目标检测方法在检测精度方面表现出明显的优势。而且,随着计算能力的提升,将深度学习方法应用于实际场景变得更加可行。例如,邹聪等[11]改进了YOLOv3算法,将网络中的特征图上采样后与第二个残差块拼接建立特征融合检测层,有效提高了算法对小目标的检测精确率。陈咏秋等[12]提出了一种基于YOLOv3算法的输电线路鸟类检测方法,该方法根据检测结果判断是否启动超声波驱鸟器,飞鸟目标识别具有较好的性能。尽管上述方法对飞鸟目标的检测表现出较好的性能,但不能同时进行飞鸟目标的检测与跟踪,达不到检测与驱赶一体化驱鸟的应用要求。

为了解决在传统机器学习方法中存在的容易遭受光线、背景以及复杂环境等一系列噪声的干扰,目标识别效率低下且泛化能力差等问题,实现飞鸟目标检测与跟踪一体化驱鸟,本文将YOLOv5深度网络模型与DeepSORT[10-11]目标跟踪算法相结合运用到飞鸟驱赶任务中,首先通过YOLOv5检测出飞鸟目标,然后使用DeepSORT算法实现跟踪检测到的飞鸟目标。该方法可适用于多种自然场景,包括农田、变电站和机场等地,用于多类型飞鸟目标的检测与跟踪。这一技术在自然环境下的飞鸟驱赶方面具有重要的应用价值。

1 飞鸟目标检测与跟踪模型

1.1 飞鸟检测模型

1.1.1 YOLO网络结构

YOLO全称You Only Look Once,指仅通过浏览一次图像就可以识别的感兴趣对象在图像中的类别和位置。作为一种非常流行的目标检测算法,该算法有许多不同的版本[7-9]。相比于YOLO网络,YOLOv2在结构上由卷积层和池化层构成,并且每个卷积层后都添加一个批处理归一化层对数据进行归一化,提高了算法的计算效率。YOLOv3在主干网上采用Darknet-53,在YOLOv2的基础上每隔两层增加一组残差模块,在增加网络深度的同时也抑制了梯度消失或梯度爆炸问题。YOLOv4在YOLOv3的基础上使用Mish激活函数替换Leaky激活函数,使用卷积层和残差网络构成CSPDarknet-53代替YOLOv3中的残差网络,增加一个由池化层和Concat构成的SPP模块。YOLOv4和YOLOv5均采用CSPDarknet-53网络架构作为主干网络,使用PANET(路径聚合网络)和SPP(空间金字塔池化)作为Neck,使用YOLOv3的Head。不同之处在于YOLOv5中在隐含层中使用了Leaky ReLU激活函数,并且在最后的检测层使用Sigmoid激活函数,而YOLOv4使用的是Mish激活函数。YOLOv5的网络结构如图1所示。

图1 YOLOv5网络结构图

1.1.2 损失函数和检测框回归预测

本文使用YOLOv5网络对自然场景中的飞鸟目标进行检测。在网络训练过程中,使用分类损失Lcls、定位损失Lloc和目标检测的置信度损失Lobj进行模型参数的优化,总体损失Loss表示为:

Loss=λ1Lcls+λ2Lloc+λ3Lobj

(1)

式中:λ1、λ2、λ3为平衡损失函数中各个项的系数。

分类损失和置信度损失采用BCE loss,定位损失采用CIoU loss,其中obj是指网络预测的目标边界框与GT Box的CIoU,计算所有样本的obj损失,而分类损失和定位损失只计算正样本的损失。分类损失和定位损失函数的计算公式如下:

(2)

(3)

(4)

(5)

(6)

(7)

式中:λ4、λ5、λ6为三个尺度上目标检测置信度损失的权重系数。

本文使用K-means聚类算法对已标注的数据集进行了处理,以获得9个先验框。在每个输出层中,有3个先验框。在计算检测框的长度、宽度和中心点坐标位置时,采用了以下(8)~(13)的公式:

bx=(2.σ(tx)-0.5)+cx

(8)

by=(2.σ(ty)-0.5)+cy

(9)

bw=pw.(2.σ(tw))2

(10)

bh=ph.(2.σ(th))2

(11)

bx=σ(tx)+cx

(12)

by=σ(ty)+cy

(13)

式中:σ(tx)和σ(ty)是基于矩形框中心点左上角格点坐标的偏移量,σ是Sigmoid激活函数,pw和ph是先验框的宽和高,cx和cy表示中心点在x轴或y轴方向的整数单元格,检测框BoundingBox在输出网格中表示如图2所示。

图2 检测框BoundingBox预测示意图

图3 部分鸟类图像和标注图像

根据图像变换前后的尺寸比,对计算结果进行变换,以获得原始图像中鸟类目标区域的中心点的坐标以及检测框的长度和宽度。设一个cx或cy包含m个像素,并设原始图像尺寸与变换图像尺寸的比率为k。根据公式(14) ~ (21),可以获得原始图像鸟目标区域的中心点(x,y)的坐标以及检测框的长度w和宽度h,计算公式如下:

x=k·m·bx

(14)

y=k·m·by

(15)

w=k·m·bw

(16)

h=k·m·bh

(17)

x1=x-w/2

(18)

y1=y-h/2

(19)

x2=x+w/2

(20)

y2=y+h/2

(21)

根据公式(18)~(19)和(20)~(21)计算得到飞鸟目标区域左上角和右下角坐标,实现飞鸟图像区域的定位来进行进一步的飞鸟目标跟踪。

2.2 飞鸟目标跟踪

2.2.1 算法描述

本文采用DeepSORT算法实现飞鸟目标的跟踪,DeepSORT是经典的多目标跟踪算法SORT[12]的优化。

SORT算法是由昆士兰科技大学的Alex Bewley发表在ICIP会议的一种目标跟踪算法。具体流程是通过目标检测算法得到Detection,然后通过卡尔曼滤波[13]预测、计算代价矩阵、匈牙利算法将预测后的轨迹和当前帧中的Detection进行IOU匹配再通过卡尔曼滤波进行更新。而在DeepSORT中引入了级联匹配,它不仅考虑框之间的位置关系,而且考虑了轨迹和检测的目标两者之间的特征相似性,不仅能显著减少ID切换的次数,而且在实时目标追踪过程中能有效提高存在遮挡情况下的目标追踪效果。

2.2.2 级联匹配

(22)

(23)

式中:dj代表第j个飞鸟目标检测框的位置,yi表示第i个跟踪器对飞鸟目标的预测位置,而Sj表示飞鸟目标位置与平均跟踪位置之间的协方差矩阵。我们通过计算当前帧中第i个飞鸟检测对象的特征向量与第j个历史跟踪飞鸟对象之间的余弦距离来评估它们之间的外观相关性。如果余弦距离小于指定的阈值,则表明成功关联了外观信息,计算公式如下:

(24)

(25)

为了构建关联性,将两个距离进行加权表示如下:

(26)

式中:λ为超参数,默认为0。如果所构建的加权指标在门控矩阵范围内,则进行下一步的运算,反之淘汰,表示为:

(27)

式中:bi,j为指示器,当bi,j=1时,认为跟踪成功,当bi,j=0时,认为跟踪失败。

2.2.3 飞鸟跟踪算法总结

本文中飞鸟跟踪算法采用 DeepSORT 跟踪算法实现对飞鸟的跟踪检测,其主要跟踪过程为:

1) 提取原始帧,将由YOLOv5检测的结果作为跟踪算法的输入;

2) 获取,预测并更新飞鸟目标位置,采用卡尔曼滤波预测当前时刻的位置,涉及目标位置发生变化后的关联匹配[14]问题,再采用匈牙利匹配算法[15]可以判定当前帧的飞鸟目标是否与前一帧的目标相同以此实现跟踪的效果。

3 实验结果与分析

3.1 实验数据集

飞鸟部分数据采集于西安工程大学临潼校区和骊山鸟语林。采集时间为中午12:00—14:00,此时鸟类较为活跃,可以拍摄到不同姿态和不同种类的鸟类;另一部分数据来源于网络,通过爬虫爬取11000张鸟类图片作为数据集的补充。在本文的研究中,我们从采集到的11684张飞鸟图片中随机选择了2000张作为测试集,其余的图片被用于接下来的模型训练。我们进行了人工标注,确保每个标注矩形框内只包含一个飞鸟目标图像。

3.2 检测性能评估

首先加载预先训练好的网络模型和权重,然后将输入图像的大小调整为608×608像素大小,经过数据归一化后送入网络模型中进行预测。为评估训练的网络模型对飞鸟目标的检测效果,本文采用精确度与召回率两项指标评价飞鸟检测算法的性能,准确率P和召回率R的计算表达式为:

(28)

(29)

式中:TP表示识别结果正确的飞鸟目标的数目,FP表示识别结果错误的飞鸟目标的数目,FN表示未能识别的飞鸟目标的数目。根据式(28) ~ (29),我们计算了YOLOv5网络模型的准确率和召回率,并利用P-R曲线对召回率进行积分,得到了平均精度AP。接着,我们对5种不同的目标检测算法的检测性能指标进行了比较,结果如表1所示。最后,我们对所有鸟类检测的平均正确率进行求和取并平均以得出mAP指标值。

表1 5种不同目标检测算法的检测性能对比

通过比较发现,在几乎相同的检测时间条件下,YOLOv3、YOLOv4、Faster-RCNN以及本文采用的YOLOv5深度网络模型都表现出了出色的性能。特别是YOLOv5网络模型在鸟类识别方面取得了卓越的结果,其准确率达到了97.6%,召回率达到了99.3%。这一性能明显优于其他4种目标检测网络。

3.3 跟踪性能可视化

为了展示本文飞鸟目标跟踪方法的有效性,本文选择4种不同场景不同类型的飞鸟目标进行检测和跟踪实验,检测跟踪结果如图4所示,每组视频的第1帧,第5帧和第9帧通过叠加得出轨迹图。通过跟踪结果可以看出,本文方法对飞鸟的检测跟踪具有较好的结果,尽管视频中的飞鸟在不同帧上存在明显的姿态、尺度上变化,本文方法均能对其进行有效地跟踪。

图4 鸟类检测跟踪结果

4 小结

本文提出了一种基于YOLOv5深度网络和DeepSORT算法的针对飞鸟目标的检测与跟踪的方法。相比较于传统的目标检测方法和YOLO的其他系列方法以及Faster-RCNN深度网络,本文所采用的YOLOv5深度网络对飞鸟目标具有更加敏感的精度。利用YOLOv5深度网络实现目标的检测再使用DeepSORT目标跟踪算法实现快速的飞鸟目标跟踪。本文方法可以用于构建变电站、机场、农田等自然环境下的驱鸟装置,为预防鸟害提供有效的技术支撑。

猜你喜欢

驱鸟飞鸟鸟类
善于学习的鸟类
绣球驱鸟器
飞鸟与少年
我的湿地鸟类朋友
鸟类
基于野外实验的超声波驱鸟效果研究
用于机场驱鸟的扑翼无人机
鸟类的叫声
驱鸟兵的故事(小品)
飞鸟