2. 华北理工大学 机械学院,河北 唐山 063210
2. College of Mechanical Engineering, North China University of Science and Technology, Tangshan 063210, China
随着生活水平的提高,人们对海参等海珍品的需求量越来越大。底播养殖是海参的主要养殖方式,即将海参苗播撒在海底进行养殖,待长成后再进行捕捞。由于海参无法采用拖网捕捞,主要以人工下潜作业的方式采捕,劳动强度大、产量低,养殖企业迫切需要自动化的装备以替代人工采捕[1]。目前水下机器人广泛应用于水下检测、识别等海洋活动中[2-4],应用带有机器视觉的水下机器人进行海参采捕也是可行的方式,但由于水下光照、悬浮物、水对光线的吸收和散射等等原因,水下图像通常对比度低,质量差,因此应用机器视觉技术对海参目标进行识别和跟踪抓捕非常困难。
目前针对目标跟踪问题,已经提出了许多算法,主要分为生成式跟踪算法和判别式跟踪算法两类。生成式跟踪算法通过搜索与目标外观模型最相似的区域以实现跟踪。判别式跟踪算法将目标跟踪看作二值分类问题,通过对目标进行机器学习生成的分类器将视场中的目标和背景区分开,分类器置信度最大的位置就是目标位置。考虑到水下特殊的光学环境,判别式跟踪算法不需要生成准确的目标模型特征,因此更有优势。判别式算法中的相关滤波跟踪算法由于速度快、精度高,近年来成为目标跟踪领域的研究热点[5-19]。David S.Bolme等[6]首先将相关滤波方法应用到视觉跟踪领域,提出平方输出误差总和最小(MOSSE)的相关滤波器的追踪方法。Henriques等[7]利用对单张目标图像循环移位的方法进行密集采样,并用核岭回归分析方法训练滤波器,即CSK滤波器,分类器的训练和检测都利用快速傅里叶变换转换到频域实现,追踪速度很快。在CSK基础上,Henriques等[8]提出了核相关滤波方法(KCF),引入了梯度方向直方图(HOG)特征,有效提升了算法性能。杨德东等[9]在KCF的基础上,引入空间正则化和在线SVM分类器重定位组件,以解决KCF跟踪器在跟踪过程中目标因严重遮挡、相似目标干扰和移出视野等因素而造成的跟踪失败问题。Zhang等[10]提出了STC方法,利用了置信图和快速傅里叶变换减少了图像中目标区域在图像模糊时对目标识别与定位的影响,提高了目标定位的准确度和追踪效率。张雷等[11]通过对正则化最小二乘分类器学习获得位置和尺度核相关滤波器,并通过寻找位置和尺度核相关滤波器输出响应的最大值实现目标位置和尺度的检测。段伟伟等[12]提出一种分块核化相关滤波跟踪算法,根据目标外观特性对目标进行子块划分,单独跟踪每个目标子块,并根据子块的跟踪结果确定整体的位置信息。邢运龙等[13]提出了基于相位特征的高斯核相关算子增强算法对光照强度变化的适应能力,并融合kalman滤波器提高系统在目标遮挡时的准确性。
大多数的追踪方法,如MOSSE、CSK、KCF等都仅限于检测目标的移动,在检测目标尺度变化时,追踪目标的效果不好。虽然有少数的跟踪算法可以检测目标尺度变化[14-16],但是运行速度较慢,不能实现实时追踪要求。本文为实现利用水下机器人进行海参采捕的要求,在KCF算法的基础上,提出一种能够适应大尺度变化的海参目标跟踪算法,主要思想是通过跟踪两个头部位置计算出目标海参的中心位置,并进行尺度估计。实验表明本文提出的算法可以有效地提高跟踪的准确性和效率。
1 KCF跟踪方法KCF算法(Kernel correlation filters)通过核化岭回归分析方法解决目标追踪问题。在相关滤波方法的基础上,利用基准样本的循环位移方法构造训练集训练分类器,而且在训练和检测时利用快速傅里叶变换将耗时的矩阵运算转换到频域求解,显著提高了跟踪精度和效率。
1.1 循环矩阵按图1所示方法,将
${{X}} = {{C}}({{x}}) = \left[ {\begin{array}{*{20}{c}} {{x_1}}&{{x_2}}&{{x_3}}& \cdots &{{x_n}} \\ {{x_n}}&{{x_1}}&{{x_2}}& \cdots &{{x_{n - 1}}} \\ {{x_{n - 1}}}&{{x_n}}&{{x_1}}& \cdots &{x{}_{n - 2}} \\ \vdots & \vdots & \vdots & & \vdots \\ {{x_2}}&{{x_3}}&{{x_4}}& \cdots &{{x_1}} \end{array}} \right]$ | (1) |
Download:
|
|
循环矩阵可以通过傅里叶变换对角化:
${{C}}({{x}}) = {{{F}}^{\rm{H}}}{\rm{diag}}\left( {\hat {{x}}} \right){{F}}$ | (2) |
式中:
$\left\{ \begin{array}{l} \hat {{x}} = {{F}}{{x}} \\ {{{F}}^ * } = {{{F}}^{\rm{H}}} = {{{F}}^{ - 1}} \\ {{F}} = {{{F}}^{\rm{T}}} \\ \end{array} \right.$ | (3) |
在视频第一帧图像中,在给出的目标位置选取大小为
${y_{ij}} = \exp \,\, \left( - \frac{{{{(i - w)}^2} + {{(j - h)}^2}}}{{2\delta _p^2}}\right)$ | (4) |
Download:
|
|
把
Download:
|
|
KCF算法的基本流程分为离线训练和在线检测两步。在训练时,以初始帧中给出的目标图像为输入信息,对应的高斯响应为输出信息,利用离散傅里叶变换转换到频域求解滤波器。在线跟踪检测时,用滤波器对包含目标的图像进行滤波可得到高斯型的响应面。响应面最大的位置就是目标位置。KCF算法的基本流程如图4所示。
Download:
|
|
离线训练的关键是求解分类器
$\mathop {{\rm{min}}}\limits_w {\sum\limits_i {{{(f({x_i}) - {y_i})}^2} + {\textit{λ}} \left\| w \right\|} ^2}$ | (5) |
式中
${{w}} = {{{X}}^{\rm{T}}}{({{X}}{{{X}}^{\rm{T}}} +{\textit{λ}} {{I}})^{ - 1}}{{Y}}$ | (6) |
式中 X 和 Y 分别是由输入样本
${{\alpha }} = {({{K}} + {\textit{λ}} {{I}})^{ - 1}}{{Y}}$ | (7) |
式中
${{w}} = {{{X}}^{\rm{T}}}\alpha = \sum\limits_{i = 1}^n {{\alpha _i}{x_i}} $ | (8) |
利用核技巧,即采用映射函数
${\hat \alpha ^ * } = \frac{{\hat {{y}}}}{{\hat \kappa ({{x}},{{x}}) + {\textit{λ}} }}$ | (9) |
式中x 和 y 分别是组成 X 和 Y 的基础向量。
$\hat \kappa \left( {{{x}},{{x}}'} \right) = \exp \left( { - \frac{1}{{{\sigma ^2}}}{{\left( {\left\| {{x}} \right\|} \right)}^2} + {{\left( {\left\| {{{x}}'} \right\|} \right)}^2} - 2{F^{ - 1}}\left( {\hat {{x}} \odot \hat {{x}}'*} \right)} \right)$ | (10) |
式中:
利用核技巧,对新输入的图像块 z,分类器的响应为
$\begin{aligned} f({{z}}) = & {\left( {\sum\limits_{i = 1}^n {{{{\alpha}} _i}{{\phi}} ({{{x}}_i})} } \right)^{\rm{T}}}{{\phi}} ({{{{z}}}}) = \sum\limits_{i = 1}^n {{{{\alpha}} _i}{{{\phi}} ^{\rm{T}}}({{{x}}_i})} {{\phi}} ({{{{z}}}}) = \\ & \sum\limits_{i = 1}^n {{{{\alpha}} _i}\kappa ({{{x}}_i},{{{{z}}}})} = {({{C}}(\kappa ({{x}},{{{{z}}}})))^{\rm{T}}}{{\alpha}} \end{aligned} $ | (11) |
应用循环矩阵的性质,即式(1)和式(2),式(10)可进一步转换到频域计算:
$f = {{{F}}^{ - 1}}\left( {\hat \kappa {{({{x}},{{{{z}}}})}^ * } \odot \hat {{\alpha}} } \right)$ | (12) |
在响应 f 中定位极大值位置即为目标位置。式(11)中,
${\hat {{\alpha}} _{t + 1}} = \left( {1 - \beta } \right){\hat {{\alpha}} _{t - 1}} + \beta {\hat {{\alpha}} _t}$ | (13) |
为适应目标的变化,对目标模型也需要在线更新:
${\hat {{x}}_{t + 1}} = \left( {1 - \beta } \right){\hat {{x}}_{t - 1}} + \beta {\hat {{x}}_t}$ | (14) |
式中:
在海参抓取过程中机器人相对目标位置不断变化,导致目标尺度发生较大变化,直接应用KCF算法跟踪精度将大幅下降,不能满足任务要求。对KCF算法进行改进,分别对两个头部位置进行局部跟踪,并利用两个头部之间的距离变化估计目标尺度,同时计算出目标的准确位置。
2.1 海参头部定位海参在摄像机中显示的姿态可能有如图5所示的3种情况,不能简单地根据给定的目标中心位置确定两头部位置。将目标外包框等分成
$({x_A},{x_B}) \in \left\{ {({x_{11}},{x_{33}}),({x_{12}},{x_{32}}),({x_{13}},{x_{31}}),({x_{21}},{x_{23}})} \right\}$ |
Download:
|
|
按式(14)计算各图像块组合与中心块的像素偏差,取偏差最小的组合为跟踪目标。
${D_{ij}} = \left\| {x_{ij}^{} - x_{22}^{}} \right\| + \left\| {x_{4 - i,4 - j}^{} - x_{22}^{}} \right\|$ | (15) |
式中符号
由初始帧确定海参头部位置后开始跟踪,将第
Download:
|
|
则海参中心位置
$p_{}^t = \frac{{p_A^t + p_B^t}}{2}$ | (16) |
尺度因子
$S = \frac{{\left\| {p_A^t - p_B^t} \right\|}}{{\left\| {p_A^1 - p_B^1} \right\|}}$ | (17) |
式中:上标“1”代表第1帧,上标t代表第t帧。
如图7(a)所示,目标尺寸变化大时KCF算法不能估计目标尺度,跟踪效果明显不好;如图7(b)所示,改进算法则可以准确跟踪目标海参的位置并正确检测其尺度。
Download:
|
|
改进算法流程分为头部定位模块、训练模块、检测模块3个模块,如算法1所示。在头部定位模块中,首先将海参目标图像分块,然后计算各块与中心块像素灰度值的距离(即2-范数),选取距离最小的两块作为目标;在训练模块中,分别用KCF方法计算两块的滤波器;在检测模块中,分别用KCF方法计算两块的位置,然后计算目标中心和尺度因子。
算法1 改进算法
输入 初始目标的定位模块
输出 目标的中心位置
1)当
2)当
在处理器为Intel Core i5-3317U CPU,主频 1.70 GHz,内存为4 GB RAM的笔记本上进行跟踪实验,采用MATLABR2014a软件编程。使用本文算法和4种性能优秀的相关滤波算法KCF[8]、CSK[7]、STC[10]、DSST[9]进行对比追踪测试,每种算法均使用作者提供的源代码和预设参数。实验所用视频为在海参养殖水域拍摄的7个水下监控视频具体参数如表1所示。
5种对比算法中只有本文算法和DSST算法具有尺度估计环节,另外3种算法KCF、CSK和STC均采用固定尺度跟踪。图8中7组视频的共同特点是:目标尺度变化大,且由于水下特殊的成像环境导致图像质量较差。从跟踪结果可以看出:KCF、CSK和STC 3种算法追踪效果较差,而本文算法和DSST算法跟踪效果较好,可见对于尺度变化大的应用来说,尺度估计环节非常重要。图8中视频1~7代表7组视频系列实验比较结果。
Download:
|
|
为了评测本文跟踪算法的性能,采用了本领域广泛应用的每秒运行帧数、距离精度和成功率3种评测指标[5]。
1)跟踪速度
通过每秒跟踪帧数可以对比跟踪算法的运行速度。表2给出了5种算法的运算速度,其中下划线标出了最大的速度值。可见,在7个视频中,本文算法有5个视频跟踪速度最快,平均达到了111.44 f/s,较排第二位的STC算法高出了33.61 f/s。经分析,本文算法速度更快的原因在于:本文算法只取两个局部图像分别进行跟踪,计算量明显小于其他整体跟踪算法。DSST算法跟踪速度最慢,仅为3.84 f/s,原因是其尺度估计环节非常耗时。
2)距离精度
衡量跟踪中心准确性的指标是距离精度,即追踪到目标的中心偏离实际位置的距离
$D = \frac{{n(d \leqslant {d_0})}}{n}$ | (18) |
图9是综合精确度曲线,表示随着阈值
Download:
|
|
表3是阈值
3)跟踪成功率
成功率SR为重叠率s大于选定阀值
${\rm{SR}} = \frac{{n(s \geqslant {s_0})}}{n}$ | (19) |
其中重叠率s的计算方法为
$s = \frac{{{R_r} \cap {R_t}}}{{{R_r} \cup {R_t}}}$ | (20) |
式中:Rr为人工标定目标框内的像素总数,Rt为算法追踪到目标框内像素总数。式(19)中分子为两框重合区域内像素数量,分母是两框合并后总区域内像素数量。
图10是在7个视频上的综合成功率曲线,表示随着重合率阈值
Download:
|
|
表4是当阈值
针对跟踪水下尺度变化的海参,在核相关滤波器基础上提出了一种可以追踪尺度变化海参的算法。首先把追踪模块合理地选择在海参的两头部;然后用KCF算法追踪两个头部,通过两个模块间距离来检测海参的尺度并计算出海参的中心。通过对比实验,本文算法的跟踪速度、精度和成功率均高于其他其他算法,能较好地处理尺度和旋转变化等问题。虽然DSST算法跟踪成功率与本文算法接近,但由于DSST算法跟踪速度很慢,不能满足对实时性要求较高的水下海参采捕的实际跟踪过程。下一步的工作:将算法应用到海参采捕水下机器人样机进行采捕实验,针对出现的问题进行更深入研究,以进一步提高跟踪算法的鲁棒性。
[1] |
郭传鑫, 李振波, 乔曦, 等. 基于融合显著图与GrabCut算法的水下海参图像分割[J]. 农业机械学报, 2015(S1): 147-152. GUO Chuanxin, LI Zhenbo, QIAO Xi, et al. Image segmentation of underwater sea cucumber using GrabCut with saliency map[J]. Transactions of the Chinese society for agricultural machinery, 2015(S1): 147-152. DOI:10.6041/j.issn.1000-1298.2015.S0.025 (0) |
[2] |
唐旭东, 庞永杰, 张赫, 等. 基于单目视觉的水下机器人管道检测[J]. 机器人, 2010, 32(5): 592-600. TANG Xudong, PANG Yongjie, ZHANG He, et al. Underwater pipeline detection by AUV based on monocular vision[J]. Robot, 2010, 32(5): 592-600. (0) |
[3] |
曾文静, 徐玉如, 万磊, 等. 自主式水下机器人的光视觉管道探测跟踪系统[J]. 上海交通大学学报, 2012, 46(2): 178-183, 189. ZENG Wenjing, XU Yuru, WAN Lei, et al. Robotics vision-based system of autonomous underwater vehicle for an underwater pipeline tracker[J]. Journal of Shanghai Jiaotong University, 2012, 46(2): 178-183, 189. (0) |
[4] |
吴利红, 许文海, 王利鹏. AUV水下终端对接目标识别与定位技术[J]. 大连海事大学学报, 2014, 40(2): 81-85. WU Lihong, XU Wenhai, WANG Lipeng. Dock position and pose estimation algorithm for AUV underwater terminal docking[J]. Journal of Dalian Maritime University, 2014, 40(2): 81-85. DOI:10.3969/j.issn.1006-7736.2014.02.020 (0) |
[5] | WU Yi, LIM J, YANG M H. Online object tracking: a benchmark[C]//Proceedings of 2013 IEEE Conference on Computer Vision and Pattern Recognition. Portland, OR, USA, 2013: 2411–2418. (0) |
[6] | BOLME D S , BEVERIDGE J R , DRAPER B A , et al. Visual object tracking using adaptive correlation filters[C]//The Twenty-Third IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2010.San Francisco, CA, USA, 2010:13-18. (0) |
[7] | HENRIQUES J F, CASEIRO R, MARTINS P, et al. Exploiting the circulant structure of tracking-by-detection with kernels[C]//Proceedings of the 12th European Conference on Computer Vision Computer Vision-ECCV 2012. Florence, Italy, 2012: 702–715. (0) |
[8] | HENRIQUES J F, CASEIRO R, MARTINS P, et al. High-speed tracking with kernelized correlation filters[J]. IEEE transactions on pattern analysis and machine intelligence, 2015, 37(3): 583-596. DOI:10.1109/TPAMI.2014.2345390 (0) |
[9] |
杨德东, 蔡玉柱, 毛宁, 等. 采用核相关滤波器的长期目标跟踪[J]. 光学精密工程, 2016, 24(8): 2037-2049. YANG Dedong, CAI Yuzhu, MAO Ning, et al. Long-term object tracking based on kernelized correlation Filters[J]. Optics and precision engineering, 2016, 24(8): 2037-2049. (0) |
[10] | ZHANG Kaihua, ZHANG Lei, LIU Qingshan, et al. Fast visual tracking via dense spatio-temporal context learning[C]//Proceedings of the 13th European Conference on Computer Vision. Zurich, Switzerland, 2014: 127–141. (0) |
[11] |
张雷, 王延杰, 刘艳滢, 等. 基于相关滤波器的视觉目标跟踪方法[J]. 光电子·激光, 2015, 26(7): 1349-1357. ZHANG Lei, WANG Yanjie, LIU Yanying, et al. Visual object tracking algorithm based on correlation filters[J]. Journal of optoelectronics laser, 2015, 26(7): 1349-1357. (0) |
[12] |
段伟伟, 杨学志, 方帅, 等. 分块核化相关滤波目标跟踪[J]. 计算机辅助设计与图形学学报, 2016, 28(7): 1160-1168. DUAN Weiwei, YANG Xuezhi, FANG Shuai, et al. Block-based kernelized correlation filters object tracking[J]. Journal of computer-aided design and computer graphics, 2016, 28(7): 1160-1168. DOI:10.3969/j.issn.1003-9775.2016.07.016 (0) |
[13] |
邢运龙, 李艾华, 崔智高, 等. 改进核相关滤波的运动目标跟踪算法[J]. 红外与激光工程, 2016, 45(S1): 214-221. XING Yunlong, LI Aihua, CUI Zhigao, et al. Moving target tracking algorithm based on improved Kernelized correlation filter[J]. Infrared and laser engineering, 2016, 45(S1): 214-221. (0) |
[14] | DANELLJAN M, HÄGER G, KHAN F S, et al. Accurate scale estimation for robust visual tracking[C]//Proceedings of the British Machine Vision Conference. Sweden, 2014: 65.1–65.11. (0) |
[15] | JIA Xu, LU Huchuan, YANG M H. Visual tracking via adaptive structural local sparse appearance model[C]//Proceedings of 2012 IEEE Conference on Computer Vision and Pattern Recognition. Providence, RI, USA, 2012: 1822–1829. (0) |
[16] | ZHONG Wei, LU Huchuan, YANG M H. Robust object tracking via sparsity-based collaborative model[C]//Proceedings of 2012 IEEE Conference on Computer Vision and Pattern Recognition. Providence, RI, USA, 2012: 1838–1845. (0) |
[17] |
程子一, 刘志林. 改进的核相关滤波算法在自航模动态目标跟踪应用[J]. 应用科技, 2019, 46(1): 36-42. CHENG Ziyi, LIU Zhilin. Application of improved kernel correlation filtering algorithm in small ship dynamic target tracking[J]. Applied science and technology, 2019,46(1): 36-42. (0) |
[18] |
朱齐丹, 韩瑜, 蔡成涛. 全景视觉非线性核相关滤波目标跟踪技术[J]. 哈尔滨工程大学学报, 2018, 39(7): 1220-1226. ZHU Qidan, HAN Yu, CAI Chengtao. Omni-directional visual object tracking using nonlinear kernelized correlation filters[J]. Journal of Harbin Engineering University, 2018, 39(7): 1220-1226. (0) |
[19] |
诸小熊, 江加和. 基于核相关滤波器的目标跟踪算法[J]. 应用科技, 2017, 44(3): 48-53. ZHU Xiaoxiong, JIANG Jiahe. Visual tracking algorithm based on kernelized correlation filters[J]. Applied science and technology, 2017, 44(3): 48-53. (0) |