基于YOLOv3和Deep SORT的草原牛跟踪系统*

2021-06-25 09:26尚绛岚李宝山
传感器与微系统 2021年6期
关键词:云台摄像头滤波

李 琦,尚绛岚,李宝山

(内蒙古科技大学 信息工程学院,内蒙古 包头 014010)

0 引 言

近年来,目标跟踪技术应用于牲畜养殖方面得到越来越广泛的关注。目前,基于判别模型的目标跟踪算法占据主流地位,主要表现为基于相关滤波的跟踪算法以及基于深度学习的跟踪算法。在基于相关滤波的跟踪算法应用方面,国内外相关研究已经取得很多成果[1~5],并广泛应用于牲畜养殖中。李亿杨等人[6]将颜色特征与目标轮廓形心特征融合,基于粒子滤波算法实现生猪采食行为跟踪。曹洁等人[7]提出一种抗遮挡的鸡群优化粒子滤波跟踪方法。杨东海等人[8]采用增强的核相关滤波跟踪算法,对青鳉游泳轨迹进行跟踪研究。基于相关滤波的跟踪算法对于不同种类的动物都呈现出了较好的效果。然而,由于系统应用牧场的占地面积较大、草原牛活动范围广、牧场环境恶劣,在自然环境下对草原牛的检测跟踪具有极大的难度。基于深度学习的目标跟踪算法可以更好地提取目标的特征,对目标进行更好的表达,跟踪效果更准确。将深度学习算法应用于草原牛检测跟踪方面,有助于推进我国规模化养殖的发展,极大地方便牧民了解牧场实时情况以及提高我国的健康养殖水平,并为后期牲畜行为分析提供技术支持。

本文设计了一种基于深度学习算法的草原牛检测跟踪系统,采用深度学习YOLOv3目标检测算法与Deep SORT目标跟踪算法对草原牛进行检测跟踪。并结合比例—积分—微分(proportional-integral-differential,PID)算法稳定控制摄像头跟随草原牛转动,监控草原牛的采食、生长状况以及运动位置,替代传统监控系统中手动操作控制摄像头云台的方法。

1 跟踪系统设计

1.1 总体设计

图1为系统总体流程图。首先,将摄像头视频图像序列送入YOLOv3结合Deep SORT的跟踪模型获取跟踪目标草原牛的ID以及位置信息;然后,根据跟踪目标框在视频图像中的位置信息确定云台移动方向;最后,为确保摄像头稳定跟随草原牛移动,加入PID算法控制云台移动速度。

图1 系统总体流程

1.2 实验数据

本文采用的摄像头为海康威视生产的DS—2DC4420IW—D型400万像素4寸红外网络高清智能球机,分辨率为1 280像素×720像素;硬件环境配置采用Intel E5—2680的CPU以及Nvidia 1080Ti的显卡搭建服务器;数据集来源于内蒙古苏尼特左旗牧场,将采集的5 687张(1 920像素×1 080像素)草原牛图像通过LabelImg标注工具进行标注,制作成PASCAL VOC标准数据集格式的数据,按照4︰1的比例划分为训练集和测试集。

1.3 目标检测算法

系统目标检测部分采用YOLOv3[9]检测算法。其网络结构图如图2所示,由Darknet—53特征提取网络和多尺度预测网络两部分组成。

图2 YOLOv3模型结构

首先,将图像缩放到416像素×416像素,采用Darknet—53特征提取网络提取特征。Darknet—53网络借鉴深度残差网络[10]的思想,添加残差块,避免在网络层数过深时发生梯度爆炸。然后借鉴特征金字塔网络(feature pyramid network,FPN)[11]的思想,采用(13×13),(26×26),(52×52)三种不同尺度的特征图进行预测。利用Anchor机制对每个网格单元预测3个边界框,每个边界框对应C+5个值,C为检测物体的类别总数,5表示边界框的5个基本参数(x,y,w,h,Sconfidence),其中(x,y)表示候选框的坐标,(w,h)表示候选框的尺寸,以及Sconfidence表示候选框的置信得分。最后使用非极大值抑制(non-maxima suppression,NMS算法)筛选出得分Sconfidence较高的候选框为检测框。

1.4 目标跟踪算法

系统目标跟踪部分采用Deep SORT[12]跟踪算法。以YOLOv3的草原牛目标检测结果作为输入,利用Kalman滤波对检测结果进行预测。使用运动匹配和外观匹配两种度量方式的线性加权作为最终的度量方式对草原牛检测结果与预测结果进行匹配。并引入级联匹配,优先匹配消失时长较小的目标轨迹,解决目标长时遮挡问题。

运动匹配是利用马氏空间距离计算Kalman滤波的预测位置和检测位置的运动匹配程度,其公式为

(1)

式中d(1)(i,j)为第j个检测和第i条轨迹之间的运动匹配度;Si为轨迹由卡尔曼(Kalman)滤波预测得到的在当前时刻观测空间的协方差矩阵,yi为第i个追踪器对目标的预测位置,dj为第j个检测框的位置。当马氏距离小于阈值,则认为匹配成功。

外观匹配是利用最小余弦距离计算当前帧的所有草原牛目标检测框的特征向量与历史轨迹中的所有检测框集合的特征向量之间的外观相似度,其公式为

(2)

2 实验结果与分析

本文首先采用PR曲线(以召回率作为横坐标,精度作为纵坐标)和平均精度AP(式(3))作为检测性能指标,对训练集训练的YOLOv3模型与原始VOC数据集的YOLOv3模型的检测性能进行对比,针对采集的测试集数据绘制PR曲线,结果如图3所示。式(3)如下

图3 PR曲线对比

(3)

根据式(3)计算AP值,式中,P表示Precision(精度);R表示Recall(召回率)。通过计算,本文训练的YOLOv3模型对测试集的AP值为90.8 %,原始VOC数据集的YOLOv3模型对测试集的AP值为79.4 %。可以看出,使用本文自制数据集训练的权重进行测试的准确率比较理想,故本文使用自制数据集训练的YOLOv3模型作为Deep SORT跟踪算法的检测模型来实现对草原牛的跟踪。本文草原牛目标检测结果如图4所示。

图4 部分草原牛检测结果

为了评估系统在草原牛跟踪上的有效性,本文采用跟踪成功率和中心点误差这两个指标来分析系统的效果。跟踪成功率是检测框和真实框的交叠率,判断算法在某时刻是否检测到草原牛。中心点误差是衡量算法在某时刻目标跟踪的准确性,误差越小准确度越高。

本文选择某天 09:00~09:30,14:00~14:30,17:00~17:30的3段视频对比分析了本文YOLOv3结合Deep SORT跟踪的方法与Deep SORT算法的平均跟踪成功率和平均中心点误差。结果如表1所示。

表1 草原牛跟踪对比结果

根据表1可知,本文算法的平均跟踪成功率高于Deep SORT算法,说明本文算法对草原牛的跟踪效果优于Deep SORT算法。本文算法的平均中心点平均误差低于Deep SORT算法,说明本文算法在草原牛目标跟踪上具有比Deep SORT算法更高的准确度。结合跟踪成功率和中心点误差的分析,说明本文算法在草原牛跟踪上有效且稳定。

系统在完成对视频图像中草原牛的跟踪后,提取跟踪草原牛目标框的中心坐标,分析中心坐标与图像中心位置的关系,启动云台,控制摄像头跟随草原牛运动。

当云台摄像头画面内未检测出草原牛时,调用云台摄像头自动巡航接口,控制云台摄像头自动巡航。当云台摄像头画面中检测出草原牛时,提取所有草原牛目标框的中心坐标,计算整体目标框的质心坐标。若质心的横坐标大于摄像头中心的横坐标,则控制云台向右移动,否则向左移动,若质心的纵坐标大于摄像头中心的横坐标,则控制云台向下移动,否则向上移动,从而使所有目标草原牛处于摄像头中心位置附近。

由于摄像头在跟随草原牛的移动过程中,摄像头的移动速度需要根据跟踪质心与摄像头图像中心的距离改变,距离越小,移动速度越慢,因此云台的移动速度需要得到调控。本文采用PID控制算法控制云台移动速度。若质心在云台摄像头画面中心限定范围外,调用云台摄像头转动接口以及PID算法,控制云台摄像头跟随草原牛转动,直至质心在云台摄像头画面中心限定范围内。在云台跟随草原牛转动的基础上,增加鼠标点击触发事件,通过鼠标点击单只草原牛并获取ID,控制云台摄像头跟随指定草原牛。

为确保系统可以落地实施,在内蒙古苏尼特左旗牧场进行现场实验测试。实验结果如图5所示。可见:1)草原牛跟踪系统未检测到草原牛时启动自动巡航功能,直至检测到草原牛后自动跟踪(视频1);2)当系统检测跟踪到多只草原牛时,为使多只草原牛质心一直处于画面中心范围,调用PID算法控制摄像头稳定跟随草原牛运动(视频2);3)为方便观察单只草原牛行为,并为后期牲畜行为分析提供技术支持,本文设计了对指定草原牛的检测跟踪功能(视频3)。

图5 现场实验效果

3 结 论

本文结合深度学习YOLOv3检测算法、Deep SORT跟踪算法以及PID云台控制算法,实现了草原牛检测跟踪系统的三个功能,未检测到草原牛时自动巡航,对多只草原牛自动跟踪,指定跟踪单只草原牛。通过现场实验结果表明:本系统可以极大地提高对草原牛跟踪的稳定性,实现对草原牛的实时检测跟踪。

猜你喜欢
云台摄像头滤波
云上之家——万科·郡西云台
龙门山·卧云台
浙江首试公路非现场执法新型摄像头
摄像头连接器可提供360°视角图像
帮我买云台
基于STM32的无线FPV云台设计
RTS平滑滤波在事后姿态确定中的应用
基于线性正则变换的 LMS 自适应滤波
奔驰360°摄像头系统介绍
基于随机加权估计的Sage自适应滤波及其在导航中的应用