徐建华,豆毅庚,郑亚山
(北京理工大学,北京 100081)
近年来,随着水下活动需求的丰富,水下移动平台的控制方式也由最初的手动遥控模式逐渐转变为自主移动模式,例如自主跟踪拍摄模式。采用图像信息跟踪的方法在小型浅水平台有较好的实用性。常用电磁跟踪信号在传播过程中会快速衰减,声波信号则受限于平台的体积。相比之下,采用图像信息跟踪的方法表现出更强的实用性。
目标识别与跟踪是视觉应用领域重要的分支。基于视觉的目标识别方式主要包括传统的机器学习算法和深度学习算法[1-4]。传统方式如Haar特征与AdaBoost分类器组合而成的识别算法,对于背景简单,目标区域清晰,轮廓特征明显的场景效果良好[5]。但由于水对光线的吸收、散射、漫射等作用,水下拍摄的图像往往存在清晰度差,边缘锐度低,整体亮度低,局部折射光照强度过高等问题。目标的颜色强度会随着水深不断减弱,轮廓信息也会受到漂浮物、波纹、气泡的影响,传统的识别目标方式会造成误识别的情况。深度学习网络方法则是通过多次卷积计算提取图像的特征,过程中充分利用像素信息,以此来提高检测器的性能[6],能够应用于水下目标的识别。
基于深度学习的YOLO-V3算法网络将图像分割成S×S的网格,不同网格只负责其对应区域的物体的识别,减少重叠识别,提高检测速度,该算法因其快速和准确而近年来被广泛使用[7,8]。本文在YOLO-V3原算法的基础上使用重组成与多级融合的方法进行特征提取,使得对于水下图像的检测效果明显提升。在此基础上,还针对检测结果使用基于旋转不变性的特征跟踪目标[9-11],并通过评价结果判断是否重新进行识别,以增强算法的抗干扰能力。
基于YOLO-V3网络的检测方法将候选框提取、特征提取、目标分类、目标定位统一于一个神经网络中。神经网络可直接从图像中提取候选区域,通过整幅图像特征来预测目标位置和置信度。
图1 算法流程图Fig.1 Architecture of the algorithm
YOLO-V3网络主要通过卷积和池化操作实现对图像特征的提取,本文提出的目标检测跟踪模型的流程图和改进的YOLO-V3目标检测算法流程图如图1所示。通常,水下拍摄画面模糊性较高,水下目标的局部性特征比较明显,为了增强YOLO-V3检测网络对于水下场景的适用性,提高网络对水下目标检测的精确度,本文使用重组层代替传统的卷积和池化操作进行特征提取;此外,在网络结构中还加入多级融合的思想,使得网络充分利用水下目标的局部特征,以增加算法的鲁棒性。重组层的结构示意图如图2所示,其将每个通道上的2*2图像块中的4个像素点拆解排列成4通道的1*1图像块,此方法与传统的池化相比,极大程度地保留了像素中的局部细节,并且实现了图像特征降采样的过程。本文还将重组层的输出特征图与同步进行的卷积池化的输出特征图进行多级融合,生成叠加后的特征图。
图2 重组层示意图Fig.2 Restructuring layer diagram
由于拍摄时的角度变化,目标在水中旋转等原因,同一类物体会出现不常见的长宽比。识别过程中,原始的YOLO-V3网络的泛化能力偏弱,会出现识别不到目标或错误识别的情况。为弥补网络无法检测物体较大角度变化的缺点,文章将网络原型中长宽的损失,转化为区域框对角线的损失,重新定义模型的损失函数:
式中,Ci表示目标分类,pi表示类别概率。对于待检测区域,存在目标的置信度设置为1;不存在目标的区域置信度为0。训练时权重λcoord=λnoobj= 0.5。
选取泳池中于不同距离、不同角度采集人的不同泳姿图片作为训练集。根据拍摄角度将训练集进行分类:前向(front)、侧向(side)、后向(back),并利用LabelImg工具进行标注。训练集图像共包含3类目标共2000张;
网络训练过程是通过不断调整预测框,使其接近真实框的过程。在训练开始前,需要设定初始的候选框的大小及数量。合适的初始框不仅能加快网络的训练过程,还能增加识别算法的准确率。文章针对水下目标的特点,引入K均值聚类的算法,生成各类目标的最相近初始框。聚类的目标函数:
式中,IOU表示聚类得到的结果Box[i]与真实值Box[j]之间的交并比。
常用的图像描述特征如HOG特征、SIFT特征对旋转后目标等的描述都不够准确,易造成误匹配的情况。本文设计了一种具有旋转不变性的特征描述用于水下目标的跟踪,较好解决了上述问题。
如图3所示,目标中心点(x,y),由中心向外扩展半径r,以圆心水平方向为x轴,与x轴夹角θ的灰度值表示为:
其中R表示目标区域最大半径。
图3 旋转不变性特征Fig.3 Rotation invariant feature
为减小物体运动时产生的波纹影响,增强算法的抗干扰能力,本文采用沿半径方向计算特征描述梯度的方法:
综合得到旋转不变性特征描述:
通过2.1节所述的特征描述方式,可以将当前帧中的目标表示为1×(r- 1)的梯度行向量S=[S0,S1,…Sr-1]。在获取下一帧图像后,以上一帧中目标中心点为基准,在目标的原始区域2.5倍范围内进行目标检索,计算目标的梯度行向量S与待检区域梯度行向量S′的余弦相关性。检索结果:
其中(x′,y′)表示待检区域中可能是目标中心点的坐标。遍历待检区域后,Q(x',y')极大值位置即新的一帧中目标中心所在,记录Qmax并更新目标模板SQ,继续采用相同的搜索策略以实现连续帧中的目标跟踪。
跟踪过程中,对跟踪结果准确性的判断主要包括两个方面:相邻帧中目标的相似程度和移动距离。前者保证识别的准确性,后者保证目标在视频流中的连续性。由此确定跟踪结果评价函数:
式中,α表示相机视角,d表示目标与相机焦点之间的距离,T表示相机分辨率,F表示视频帧率,v表示物体速度,λ和μ表示权重。设定一个阈值s,当f(Qmax)>s,跟踪结果准确,否则重新进行目标识别。本文中λ=μ= 0.5,阈值s取为0.7。
将本文设计的算法布署到研扬科技UP Squared主板上进行验证试验。主板配置:CPU Intel Pentium TM N4200,4GB RAM缓存,64GB eMMC内存;Ubuntu16.04,64位操作系统;AI Core深度学习网络加速模块,通过Mini-PCIe接口连接UP Squared主板;高清摄像头,分辨率1980×1080。试验场地为20×50 m2的泳池,运动员在泳池内随机运动。
图4 水下移动平台Fig.4 Underwater mobile platform
使用改进的YOLO-V3的目标检测算法以及利用具有旋转不变特性的特征描述对水下目标进行识别跟踪,取得了良好的效果。效果如图5所示,各图中黄色框表示识别与跟踪到的游泳运动员,改进后算法的鲁棒性高。此外,为了更直观比较本文改进YOLO-V3算法的性能,使用控制变量的对比方法,分别使用输入图像尺寸为608*608和416*416像素的图片,采用YOLO-V3、YOLO-V3-tiny和改进的YOLO-V3算法进行训练和检测,训练图片为具有标注的水下运动员运动图像2000张(其中60%训练集,30%测试集,10%验证集),训练20000个step后使用研扬科技UP Squared嵌入式主板进行检测与评价。表1所示为使用置信度0.5进行筛选后的结果的性能指标。可见,改进的YOLO-V3的方法相比于其他方法在平均准确度值(mean Average Precision,mAP)上均有提升,并且其速度可以达到15帧/秒,能够满足水下机器人识别跟踪任务的需求。
图5 改进YOLO-V3目标检测跟踪效果图Fig.5 Improved YOLO-V3 t detection and tracking result
表1 置信度0.5时各算法检测结果Tab.1 Detection results of each algorithm at a confidence level of 0.5
由表1可知,在一定范围内利用重组与多级融合的方式能够降低识别过程中的误差率,提高算法的准确性。但被替代的卷积层数较多时,虽然识别速度有所提升,提取的深度学习特征不够明确,准确性下降明显,在实际应用中,需要进行取舍,因此本文采用了2次重组层与多级融合的机制来修改原网络结构。
平台跟踪路线结果如图6所示,‘.’状线条表示运动员运动路径,‘+’状线条表示移动平台跟踪路径。由图6可以看出,运动平台初始在运动员后方约2米,当运动员开始以‘S’形路线运动时,移动平台在本文所使用的检测及跟踪算法的驱动下能够与运动员始终保持在2米距离内,完成了跟踪拍摄任务。
图6 跟踪结果Fig.6 Tracking result
跟踪结果评价曲线如图7所示,在跟踪过程中,使用本文所提出的跟踪结果评价方法对60米不规则运动的跟踪结果进行评价,由图7可得跟踪结果评价在大多数时间都是大于阈值0.7,表现出了本文提出的跟踪算法的稳定性。当跟踪结果评价小于阈值0.7时,算法会自动做出调整,重新对目标进行识别定位,以保证平台对目标的跟踪效果。总体看来,本文提出的跟踪算法对于运动员的不规则运动表现出一定的适应能力。
图7 跟踪评价曲线Fig.7 Tracking evaluation curve
针对水中图像成像模糊、水下物体运动多自由度的特点,本文利用深度学习方法和基于旋转不变性的特征描述,提出了一种基于YOLO-V3算法的水下目标识别跟踪方法,实现了对水中目标的识别、定位与跟踪。
该方法在YOLO-V3原算法的基础上使用重组成与多级融合的方法进行特征提取,其目标检测模型在嵌入式平台上的检测速度达到15帧/秒;当置信度为0.5时,mAP值达到75.1,水下图像的检测效果明显提升。
针对检测结果使用基于旋转不变性的特征跟踪目标,对跟踪情况做出实时评判,当跟踪情况不佳时自适应地调用检测算法进行辅助,增强了算法的抗干扰能力。实验结果表明其跟踪评价分数稳定在0.7以上,取得了较好的跟踪效果。因此,该方法针对水下作业,尤其是水下运动员跟拍等任务具有较好的工程应用价值。