聊聊基于相关滤波的目标跟踪算法,干货汇总!

作者 | zhangh  编辑 | 汽车人

原文链接:https://zhuanlan.zhihu.com/p/59624151

点击下方卡片,关注“自动驾驶之心”公众号

戳我-> 领取自动驾驶近15个方向学习路线

>>点击进入→自动驾驶之心目标跟踪技术交流群

本文只做学术分享,如有侵权,联系删文

1. 相关滤波跟踪原理

相关滤波跟踪的基本思想就是,设计一个滤波模板,利用该模板与目标候选区域做相关运算,最大输出响应的位置即为当前帧的目标位置。

3cbba6b18ea146227632fc77e82143b1.png

其中y表示响应输出,x表示输入图像,w表示滤波模板。利用相关定理,将相关转换为计算量更小的点积。

4616f1bb21b08b17a918f96e94e05a95.png

2. 2010 开篇

MOOSE

MOSSE (Minimum Output Sum of Squared Error filter)算法是相关滤波跟踪的开篇之作。

Bolme D S, Beveridge J R, Draper B A, et al. Visual object tracking using adaptive correlation filters [C]// CVPR, 2010.

为提高滤波器模板的鲁棒性,MOSSE利用目标的多个样本作为训练样本,以生成更优的滤波器。MOSSE 以最小化平方和误差为目标函数,用m个样本求最小二乘解,

5ce8ef789d34c818a0b9854893d83079.png 04dbf6883159c33de5db5a666a74a50a.png 81d4d83f8d812d25efd41473b946d8c0.png 4abacfe3b8a2232ef40df42347a1e452.png 588e60778ba9d3fecabcacfc91cbb725.png 97d6b2f22af3ae64651a02a28897f0e1.png

3. 2012 循环移位

3.1 CSK

CSK针对MOSSE算法中采用稀疏采样造成样本冗余的问题,扩展了岭回归、基于循环移位的近似密集采样方法、以及核方法。

Henriques J F, Caseiro R, Martins P, et al. Exploiting the circulant structure of tracking-by-detection with kernels [C]// ECCV, 2012

  • 岭回归
    CSK为求解滤波模板的目标函数增加了正则项,

0d32c2f8ad31fd4405cc1b74c59f1714.png

或者说用岭回归(又称正则化最小二乘法)来求解滤波模板,

3ebbcafea4028745483878fd3e7f5340.png ab21ab7a0a9a0254510a251394edc1d2.png

增加正则项的目的是为了防止过拟合,可以使求得的滤波器在下一帧图像中的泛化能力更强。

  • 循环移位
    CSK的训练样本是通过循环移位产生的。密集采样得到的样本与循环移位产生的样本很像,可以用循环移位来近似。循环矩阵原理如图,第一行是实际采集的目标特征,其他行周期性地把最后的矢量依次往前移产生的虚拟目标特征。

8e95e271fb97c7a04f702b36e2ea0805.png

对图像进行循环移位的效果实例如图

43407c0e9c7d9a17a8f6edf5e42836ad.png

此外,循环矩阵具有傅里叶变换对角化特性,利用该性质,可以进一步减小计算量。循环矩阵的对角化特性是指

1fdfa518dc370b25d0a1fc749a15da18.png 9fa0555a8be69c59e16944f554200750.png

的傅里叶变换。利用该特性,将循环矩阵的很多运算简化,例如,

e14ff626be2931a0bc3f87c032714455.png

线性回归系数w就可以通过向量的傅里叶变换和对位点乘计算得到,

f8950689a35dc0ce81797a16f7b7aa70.png

结合循环矩阵的特性将样本集进行化简,得到最终的闭合解,

4059e65188d154bf8cd36a2e96e08aa0.png

这样,滤波模板就可以通过向量的傅里叶变换和矩阵的点乘计算得到。

循环移位的样本集是隐性的,并没有真正产生过,只是在推导过程中用到,所以也不需要真正的内存空间去存储这些样本。

循环移位生成的近似样本集结合FFT极大地减少了计算量,但这种近似引入边界效应。边界效应的处理方法在后续章节中讨论。

  • 核方法

ae9337ac94e13a434e0589ff9f9d7412.png c01ce26f8f8aeacc9c1231a32f166902.png

得到

cced5272439fca0b25a39808d788305a.png

预测阶段的响应图

39a8950435f4249844e21e84f6adf4b7.png
  • CSK算法流程
    论文中给出了算法实现的Matlab参考代码。不使用核方法的实现更为简单直观。

30131e2623494f63f30b6d54b37599ef.png

4. 2014 多通道特征

MOSSE与CSK处理的都是单通道灰度图像。引入多通道特征扩展只需要对频域通道响应求和即可,后续章节会介绍其他的处理方法。HoG+CN在近年来的跟踪算法中常用的特征搭配,HoG是梯度特征,而CN(color names)是颜色特征,两者可以互补。

4.1 CN

CN其实是一种颜色命名方式,与RGB、HSV同属一类。CN在CSK的基础上扩展了多通道颜色。将RGB的3通道图像投影到11个颜色通道,分别对应英语中常用的语言颜色分类,分别是black, blue, brown, grey, green, orange, pink, purple, red, white, yellow,并归一化得到10通道颜色特征。也可以利用PCA方法,将CN降维到2维。

Danelljan M, Shahbaz Khan F, Felsberg M, et al. Adaptive color attributes for real-time visual tracking [C]// CVPR, 2014.

4.2 KCF/ DCF

KCF可以说是对CSK的完善。论文中对岭回归、循环矩阵、核技巧、快速检测等做了完整的数学推导。KCF在CSK的基础上扩展了多通道特征。KCF采用的HoG特征,核函数有三种高斯核、线性核和多项式核,高斯核的精确度最高,线性核略低于高斯核,但速度上远快于高斯核。

Henriques J F, Rui C, Martins P, et al. High-Speed Tracking with Kernelized Correlation Filters [J]. IEEE TPAMI, 2015.

5. 2014 多尺度跟踪

尺度变化是跟踪中比较基础和常见的问题,前面介绍的KCF/DCF和CN都没有尺度更新。如果目标缩小,滤波器就会学习到大量背景信息,如果目标扩大,滤波器可能会跟踪到目标局部纹理。这两种情况都可能出现非预期的结果,导致跟踪漂移和失败。

5.1 SAMF

SAMF基于KCF,特征是HoG+CN。SAMF实现多尺度目标跟踪的方法比较直接,类似检测算法里的多尺度检测方法。由平移滤波器在多尺度缩放的图像块上进行目标检测,取响应最大的那个平移位置及所在尺度。因此这种方法可以同时检测目标中心变化和尺度变化。

Li Y, Zhu J. A scale adaptive kernel correlation filter tracker with feature integration [C]// ECCV, 2014.

5.2 DSST

DSST将目标跟踪看成目标中心平移和目标尺度变化两个独立问题。首先用HoG特征的DCF训练平移相关滤波,负责检测目标中心平移。然后用HoG特征的MOSSE(这里与DCF的区别是不加padding)训练另一个尺度相关滤波,负责检测目标尺度变化。2017年发表的文章又提出了加速版本fDSST。

Danelljan M, Häger G, Khan F, et al. Accurate scale estimation for robust visual tracking [C]// BMVC, 2014.

Danelljan M, Hager G, Khan F S, et al. Discriminative Scale Space Tracking [J]. // IEEE TPAMI, 2017.

尺度滤波器仅需要检测出最佳匹配尺度而无须关心平移情况,其计算原理如图。DSST将尺度检测图像块全部缩小到同一个尺寸计算特征(CN+HoG),再将特征表示成一维(没有循环移位),尺度检测的响应图也是一维的高斯函数。

cfb36e51fc7ac5454a2b30c24f004091.png

6. 2015 边界效应与更大的搜索区域

CSK引入了循环移位和快速傅里叶变换,极大地提高了算法的计算效率。但是离散傅里叶变换也带来了一个副作用:边界效应。

针对边界效应,有2个典型处理方法:在图像上叠加余弦窗调制;增加搜索区域的面积。

CSK采用了加余弦窗的方法,使搜索区域边界的像素值接近0,消除边界的不连续性。余弦窗的引入也带来了缺陷: 减小了有效搜索区域。例如在检测阶段,如果目标不在搜索区域中心,部分目标像素会被过滤掉。如果目标的一部分已经移出了这个区域,很可能就过滤掉仅存的目标像素。其作用表现为算法难以跟踪快速运动的目标。

扩大搜索区域能缓解边界效应,并提高跟踪快速移动目标的能力。但缺陷是会引入更多的背景信息,可能造成跟踪漂移。

SRDCF与CFLB的思路都是扩大搜索区域,同时约束滤波模板的有效作用域。

6.1 SRDCF

SRDCF(Spatially Regularized Correlation Filters)的思路是,给滤波模板增加一个约束,对接近边界的区域惩罚更大,或者说让边界附近滤波模板系数接近0。

Danelljan M, Hager G, Shahbaz Khan F, et al. Learning spatially regularized correlation filters for visual tracking [C]// ICCV. 2015.

SRDCF基于DCF,同时加入空域正则化,惩罚边界区域的滤波器系数,

2e3b5418d3179c9d1b056d81a35c383b.png 6956a331cc54df9bb8fac32af5eee74a.png

正则项的引入破坏了DCF的闭合解。所以SRDCF采用高斯-塞德尔方法迭代优化,这也导致SRDCF速度比较慢。SRDCF与DCF得到的滤波模板对比如图。

6d9eb8bc3771fdc69fd3f2873ffd6504.png

6.2 CFLB/BACF

CFLB和BACF的思路是使搜索区域内,目标区域以外的像素为0。

Kiani Galoogahi H, Sim T, Lucey S. Correlation filters with limited boundaries [C]// CVPR, 2015.

Kiani Galoogahi H, Fagg A, Lucey S. Learning Background-Aware Correlation Filters for Visual Tracking [C]// ICCV, 2017.

CFLB给循环移位样本左乘一个由0和1组成的二值掩膜矩阵P。掩膜矩阵其实就是从大图像块的循环移位样本中裁切小图像块

e4d564c0ff18e1473699d91853267144.png

CFLB仅使用单通道灰度特征,最新BACF将特征扩展为多通道HOG特征。CFLB和BACF采用Alternating Direction Method of Multipliers(ADMM)快速求解。

7. 2016 颜色特征与深度特征

7.1 DAT

DAT(Distractor-Aware Tracker)不是一种相关滤波方法,而是一种基于颜色统计特征方法。

Possegger H, Mauthner T, Bischof H. In defense of color-based model-free tracking [C]// CVPR, 2015.

77f701ed30ae3893724ad631dc071dae.png

DAT统计前景目标和背景区域的颜色直方图,这就是前景和背景的颜色概率模型,检测阶段,利用贝叶斯方法判别每个像素属于前景的概率,得到像素级颜色概率图,如上图(a)。

DAT在跟踪过程中预先探测出与目标相似的干扰区域,图(b),与正确的目标区域结合表示(加权均值),图(c)。这样的做法能够有效降低传统颜色特征方法常出现的“漂移”现象。

7.2 STAPLE

STAPLE结合了模板特征方法DSST和颜色统计特征方法DAT。

Bertinetto L, Valmadre J, Golodetz S, et al. Staple: Complementary Learners for Real-Time Tracking [C]// CVPR, 2016.

相关滤波模板类特征(HOG)对快速变形和快速运动效果不好,但对运动模糊光照变化等情况比较好;而颜色统计特征(DAT)对变形不敏感,而且不属于相关滤波框架没有边界效应,但对光照变化和背景相似颜色不好。因此,这两类方法可以互补。

DSST把跟踪划分为两个问题,即平移检测和尺度检测。DAT就加在平移检测部分。相关滤波有一个响应图,DAT得到的像素级前景概率也有一个响应图,两个响应图线性加权得到最终响应图。

7.3 C-COT

图像特征的表达能力在目标跟踪中起着至关重要的作用。以HoG+CN为代表的图像特征,性能优秀而且速度优势非常突出,但也成为性能进一步提升的瓶颈。以卷积神经网络(CNN)为代表的深度特征,具有更强大特征表达能力、泛化能力和迁移能力。将深度特征引入相关滤波也就水到渠成。

Danelljan M, Hager G, Shahbaz Khan F, et al. Convolutional features for correlation filter based visual tracking [C]// ICCVW, 2015.

Ma C, Huang J B, Yang X, et al. Hierarchical convolutional features for visual tracking [C]// ICCV, 2015.

C-COT综合了SRDCF的空域正则化和SRDCFdecon的自适应样本权重方法,并采用了多层深度特征(VGG第1和5层)。为了应对不同卷积层分辨率不同的问题,C-COT提出了连续空间域插值方法,在训练之前通过频域隐式插值将特征图插值到连续空域,方便集成多分辨率特征图,并且保持定位的高精度。目标函数通过共轭梯度下降方法迭代优化。

Danelljan M, Robinson A, Khan F S, et al. Beyond correlation filters: Learning continuous convolution operators for visual tracking [C]// ECCV, 2016.

SRDCFdecon的主要贡献是提出了一种样本权重更新方法,解决样本污染问题。其核心思想在后续的ECO算法中一并介绍。

Danelljan M, Hager G, Shahbaz Khan F, et al. Adaptive decontamination of the training set: A unified formulation for discriminative visual tracking [C]// CVPR, 2016.

8. 2017 灵活地组合应用

8.1 LMCF

LMCF提出了两个方法,多峰目标检测和高置信度更新。

Wang M, Liu Y, Huang Z. Large Margin Object Tracking with Circulant Feature Maps [C]// CVPR, 2017.

多峰目标检测对平移检测的响应图做多峰检测,如果其他峰峰值与主峰峰值的比例大于某个阈值,说明响应图是多峰模式,以这些多峰为中心重新检测,并取这些响应图的最大值作为最终目标位置。

高置信度更新:只有在跟踪置信度比较高的时候才更新跟踪模型,避免目标模型被污染。一个置信度指标是最大响应。另一个置信度指标是平均峰值相关能量(average peak-to correlation energy, APCE),反应响应图的波动程度和检测目标的置信水平,

aad06c13da6305d4ab7db44ff86b76a7.png 642540977ac02bfeda753ea6190261df.png

8.2 CSR-DCF

CSR-DCF,提出了空域可靠性和通道可靠性方法。

Lukežič A, Vojíř T, Čehovin L, et al. Discriminative Correlation Filter with Channel and Spatial Reliability [C]// CVPR, 2017.

空域可靠性利用图像分割方法,通过前背景颜色直方图概率和中心先验计算空域二值约束掩膜。这里的二值掩膜就类似于CFLB中的掩膜矩阵P。CSR-DCF利用图像分割方法更准确地选择有效的跟踪目标区域。

99c154f5ef24c208264b4592c1f17103.png 626c28c93e93d4ed977de00dfa30c499.png c76557d952ee0639f8c3f5c445feeecd.png

由于引入了二值约束掩膜,采用ADMM迭代优化。

8.3 ECO

ECO可以看做是C-COT的升级加速版,从模型大小、样本集大小和更新策略三个方面加速。

Danelljan M, Bhat G, Khan F S, et al. ECO: Efficient Convolution Operators for Tracking [C]// CVPR, 2017

  • 模型降维

ECO采用分解卷积方法(factorized convolution operator)在特征提取上做了简化。定义一个矩阵P,将原有的D维特征降低到C维。利用最优化方法同时训练得到滤波模板和矩阵P。在实际计算中可以在第一帧图像将P计算出来,后续帧都直接使用这个矩阵P,减少计算量。当然,此方法也可用于其他高维特征,例如HoG。

  • 样本集更新和生成模型

ECO借鉴了SRDCFdecon的训练样本权重更新方法,以应对训练样本受污染问题。

因为目标跟踪过程中的训练样本并不是手工标定而是由跟踪算法得到的,难免出现样本受损的情况,例如

-- 错误的跟踪预测。由于旋转、形变而导致的跟踪失败。

-- 局部或者全遮挡造成的正样本受损。

-- 扰动。运动模糊可能导致目标的误识。

自MOSSE,一般的相关滤波都是固定学习率的线性加权更新模型,不需要显式保存训练样本,每帧样本训练的模型与已有目标模型,以固定权值加权来更新目标模型,这样以往的样本信息都会逐渐失效,而最近几帧的样本信息占模型的比重很大。如果出现目标定位不准确、遮挡、背景扰动等情况,固定学习率方式会平等对待这些“有问题”的样本,目标模型就会被污染导致跟踪失败。

另一种比较常见的方式也是固定学习率,如果当前帧在目标检测阶段置信度比较低,则说明这个样本不可靠,选择丢弃这个样本不更新或仅在置信度比较高的时候更新,LMCF就采用了这种做法。但这种做法依然不够灵活,可能会排除少量遮挡或背景扰动的样本,但这些样本中也有非常重要的目标信息。

SRDCFdecon提出的方式是同时优化模型参数和样本权重,得到连续的样本权重值。这样可以降低污染样本的影响而增加正确样本的影响。此外,SRDCFdecon可以在线地在每一帧中重新决定样本的权重,进而纠正错误。

SRDCFdecon有三个优势,

-- 连续权重值。连续权重值更准确地描述的样本的重要性。比如对轻微遮挡或者轻微扰动的样本,依然可以获取有价值的信息。

-- 权重重新评估。可以在线地在每一帧时,利用历史帧图像,重新决定样本的权重,纠正之前的错误权重。

-- 动态先验权重。引入了样本的先验权重以结合样本的先验知识。

图中示例了权重结算的结果。蓝色曲线表示优化得到的权重,红色曲线表示时间相关的先验权重。

50b91be5c2abd8bcb38a4d6a919e220a.png

ECO在SRDCFdecon的基础上提出了紧凑生成模型(compact generative model),以减少样本数量。如图,ECO采用高斯混合模型(Gaussian Mixture Model)合并相似样本,分成不同的样本分组,每一个样本分组内样本一致性较高,不同分组之间差异性较大,这样就使得训练样本集同时具有了多样性和代表性。

d7c3b96c4dd4026c72a853a974d51dec.png
  • 稀疏更新策略

ECO每隔5帧做一次优化训练更新模型参数,不但提高了算法速度,而且提高了对突变,遮挡等情况的稳定性。但是ECO的样本集是每帧都更新的,稀疏更新并不会错过间隔期的样本变化信息。

投稿作者为『自动驾驶之心知识星球』特邀嘉宾,欢迎加入交流!

① 全网独家视频课程

BEV感知、毫米波雷达视觉融合多传感器标定多传感器融合多模态3D目标检测车道线检测轨迹预测在线高精地图世界模型点云3D目标检测目标跟踪Occupancy、cuda与TensorRT模型部署大模型与自动驾驶Nerf语义分割自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习

55b1205c71e2a897f226cade01463f38.png

网页端官网:www.zdjszx.com

② 国内首个自动驾驶学习社区

国内最大最专业,近2700人的交流社区,已得到大多数自动驾驶公司的认可!涉及30+自动驾驶技术栈学习路线,从0到一带你入门自动驾驶感知2D/3D检测、语义分割、车道线、BEV感知、Occupancy、多传感器融合、多传感器标定、目标跟踪)、自动驾驶定位建图SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案大模型、端到端等,更有行业动态和岗位发布!欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频

1b8bb7d277fc273ffc18aa551825d584.png

③【自动驾驶之心】技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦2D/3D目标检测、语义分割、车道线检测、目标跟踪、BEV感知、多模态感知、Occupancy、多传感器融合、transformer、大模型、在线地图、点云处理、端到端自动驾驶、SLAM与高精地图、深度估计、轨迹预测、NeRF、Gaussian Splatting、规划控制、模型部署落地、cuda加速、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向。扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)

89584a61e30bd2e57402a7356badf7a7.jpeg

④【自动驾驶之心】平台矩阵,欢迎联系我们!

423804c5418b99efd2de5c5470c7bfa8.jpeg

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值