目标跟踪入门篇-相关滤波
共 8950字,需浏览 18分钟
·
2024-05-02 10:05
重磅干货,第一时间送达
重磅干货,第一时间送达
本文来源:AI干货知识库,转载自智车科技。文章仅用于学术交流。
/ 导读 /
目标跟踪是计算机视觉领域的一个重要问题,目前广泛应用在体育赛事转播、安防监控和无人机、无人车、机器人等领域。
简单来说,目标跟踪就是在连续的视频序列中,建立所要跟踪物体的位置关系,得到物体完整的运动轨迹。给定图像第一帧的目标坐标位置,计算在下一帧图像中目标的确切位置。在运动的过程中,目标可能会呈现一些图像上的变化,比如姿态或形状的变化、尺度的变化、背景遮挡或光线亮度的变化等。目标跟踪算法的研究也围绕着解决这些变化和具体的应用展开。
目前目标跟踪的难点主要包含:
形态变化 - 姿态变化是目标跟踪中常见的干扰问题。运动目标发生姿态变化时, 会导致它的特征以及外观模型发生改变, 容易导致跟踪失败。例如:体育比赛中的运动员、马路上的行人。
尺度变化 - 尺度的自适应也是目标跟踪中的关键问题。当目标尺度缩小时, 由于跟踪框不能自适应跟踪, 会将很多背景信息包含在内, 导致目标模型的更新错误;当目标尺度增大时, 由于跟踪框不能将目标完全包括在内, 跟踪框内目标信息不全, 也会导致目标模型的更新错误。因此, 实现尺度自适应跟踪是十分必要的。
遮挡与消失 - 目标在运动过程中可能出现被遮挡或者短暂的消失情况。当这种情况发生时, 跟踪框容易将遮挡物以及背景信息包含在跟踪框内, 会导致后续帧中的跟踪目标漂移到遮挡物上面。若目标被完全遮挡时, 由于找不到目标的对应模型, 会导致跟踪失败。
图像模糊 - 光照强度变化, 目标快速运动, 低分辨率等情况会导致图像模型, 尤其是在运动目标与背景相似的情况下更为明显。因此, 选择有效的特征对目标和背景进行区分非常必要。
目标跟踪算法发展
相比于光流法、Kalman、Meanshift 等传统算法,相关滤波类算法跟踪速度更快,深度学习类方法精度高。
具有多特征融合以及深度特征的追踪器在跟踪精度方面的效果更好。
使用强大的分类器是实现良好跟踪的基础。
尺度的自适应以及模型的更新机制也影响着跟踪的精度。
相关滤波器思想
相关滤波器发展
MOSSE
CSK
CSK针对MOSSE算法中采用稀疏采样造成样本冗余的问题,扩展了岭回归、基于循环移位的近似密集采样方法、以及核方法。MOSSE与CSK处理的都是单通道灰度图像,引入了循环移位和快速傅里叶变换,极大地提高了算法的计算效率。但是离散傅里叶变换也带来了一个副作用:边界效应。
针对边界效应,有2个典型处理方法:在图像上叠加余弦窗调制;增加搜索区域的面积。加余弦窗的方法,使搜索区域边界的像素值接近0,消除边界的不连续性。余弦窗的引入也带来了缺陷: 减小了有效搜索区域。例如在检测阶段,如果目标不在搜索区域中心,部分目标像素会被过滤掉。如果目标的一部分已经移出了这个区域,很可能就过滤掉仅存的目标像素。其作用表现为算法难以跟踪快速运动的目标。扩大搜索区域能缓解边界效应,并提高跟踪快速移动目标的能力。但缺陷是会引入更多的背景信息,可能造成跟踪漂移。
CN
CN在CSK的基础上扩展了多通道颜色。将RGB的3通道图像投影到11个颜色通道,分别对应英语中常用的语言颜色分类,分别是black, blue, brown, grey, green, orange, pink, purple, red, white, yellow,并归一化得到10通道颜色特征。也可以利用PCA方法,将CN降维到2维。
DCF KCF
从DCF到KCF多了Gaussian-kernel,performance上升0.21%,fps下降46.46%,kernel-trick虽然有用但影响较小,如果注重速度可以摒弃,如果追求极限性能可以用。KCF可以说是对CSK的完善。论文中对岭回归、循环矩阵、核技巧、快速检测等做了完整的数学推导。KCF在CSK的基础上扩展了多通道特征。KCF采用的HoG特征,核函数有三种高斯核、线性核和多项式核,高斯核的精确度最高,线性核略低于高斯核,但速度上远快于高斯核。
SAMF
SAMF基于KCF,特征是HoG+CN。SAMF实现多尺度目标跟踪的方法比较直接,类似检测算法里的多尺度检测方法。由平移滤波器在多尺度缩放的图像块上进行目标检测,取响应最大的那个平移位置及所在尺度。因此这种方法可以同时检测目标中心变化和尺度变化。
DSST fDSST
从DSST到fDSST做了特征压缩和scale filter加速即特征降维和插值,performance上升6.13%,fps上升83.37%。
DSST将目标跟踪看成目标中心平移和目标尺度变化两个独立问题。首先用HoG特征的DCF训练平移相关滤波,负责检测目标中心平移。然后用HoG特征的MOSSE(这里与DCF的区别是不加padding)训练另一个尺度相关滤波,负责检测目标尺度变化。2017年发表的文章又提出了加速版本fDSST。
尺度滤波器仅需要检测出最佳匹配尺度而无须关心平移情况,其计算原理如图。DSST将尺度检测图像块全部缩小到同一个尺寸计算特征(CN+HoG),再将特征表示成一维(没有循环移位),尺度检测的响应图也是一维的高斯函数。
DSST本来就是对尺度自适应问题的快速解决方案(支持33个尺度还比SAMF快很多),在fDSST中MD大神又对DSST进行加速:
平移滤波器:PCA 方法将平移滤波器的 HOG 特征从 31 通道降维到 18 通道,这一步骤与上面的 CN 特征类似,直接用 PCA 进行降维,作者提到由于这里用了线性核,所以不需要 CN 中所用的平滑子空间约束,更加简单粗暴。由于 HOG 特征天然会降低响应分辨率(cell_size=4),这里也采用简单粗暴的方法,将响应图的分辨率上采样到原始图像分辨率,也就是响应图插值以提高检测精度,方法是三角插值,等价于频谱添 0,方法更加简单粗暴,但这一步会增加算法复杂度,而且方法太简单也必然效果较差。
尺度滤波器:QR 方法将尺度滤波器的 HOG 特征(二特征,没有循环移位)~100017 降维到 1717,由于自相关矩阵维度较大影响速度,为了效率这里没有用 PCA 而是 QR 分解。多尺度数量是 17(DSST 中的一半),响应图是 1*17,这里也通过插值方法将尺度数量从 17 插值到 33 以获得更精确的尺度定位。
SRDCF
SRDCF与CFLB的思路都是扩大搜索区域,同时约束滤波模板的有效作用域解决边界效应。给滤波模板增加一个约束,对接近边界的区域惩罚更大,或者说让边界附近滤波模板系数接近0,速度比较慢。
CFLB/BACF
使搜索区域内,目标区域以外的像素为0,CFLB仅使用单通道灰度特征,最新BACF将特征扩展为多通道HOG特征。CFLB和BACF采用Alternating Direction Method of Multipliers(ADMM)快速求解。
DAT
不是一种相关滤波方法,而是一种基于颜色统计特征方法。DAT统计前景目标和背景区域的颜色直方图,这就是前景和背景的颜色概率模型,检测阶段,利用贝叶斯方法判别每个像素属于前景的概率,得到像素级颜色概率图
STAPLE STAPLE+CA
从Staple到STAPLE+CA加入Context-Aware约束项,performance上升3.28%,fps下降43.18%,说明约束项有效,但牺牲了大量fps。STAPLE结合了模板特征方法DSST和颜色统计特征方法DAT。
相关滤波模板类特征(HOG)对快速变形和快速运动效果不好,但对运动模糊光照变化等情况比较好;而颜色统计特征(DAT)对变形不敏感,而且不属于相关滤波框架没有边界效应,但对光照变化和背景相似颜色不好。因此,这两类方法可以互补。
C-COT
图像特征的表达能力在目标跟踪中起着至关重要的作用。以HoG+CN为代表的图像特征,性能优秀而且速度优势非常突出,但也成为性能进一步提升的瓶颈。
以卷积神经网络(CNN)为代表的深度特征,具有更强大特征表达能力、泛化能力和迁移能力。将深度特征引入相关滤波也就水到渠成。
LMCF
LMCF提出了两个方法,多峰目标检测和高置信度更新。多峰目标检测对平移检测的响应图做多峰检测,如果其他峰峰值与主峰峰值的比例大于某个阈值,说明响应图是多峰模式,以这些多峰为中心重新检测,并取这些响应图的最大值作为最终目标位置。
高置信度更新:只有在跟踪置信度比较高的时候才更新跟踪模型,避免目标模型被污染。一个置信度指标是最大响应。另一个置信度指标是平均峰值相关能量(average peak-to correlation energy, APCE),反应响应图的波动程度和检测目标的置信水平。
CSR-DCF
提出了空域可靠性和通道可靠性方法。空域可靠性利用图像分割方法,通过前背景颜色直方图概率和中心先验计算空域二值约束掩膜。这里的二值掩膜就类似于CFLB中的掩膜矩阵P。CSR-DCF利用图像分割方法更准确地选择有效的跟踪目标区域。通道可靠性用于区分检测时每个通道的权重。
ECO ECO-HC
ECO是C-COT的加速版,从模型大小、样本集大小和更新策略三个方便加速,速度比C-COT提升了20倍,加量还减价,在VOT2016数据库上EAO提升了13.3%,当然最厉害的还是hand-crafted features版本的ECO-HC有60FPS,接下来分别看看这三步。
第一减少模型参数,既然CN特征和HOG特征都能降维,那卷积特征是不是也可以试试?这就是ECO中的加速第一步,也是最关键的一步,Factorized Convolution Operator分解卷积操作,效果类似PCA,但Conv. Feat.与前面的CN和HOG又不一样:
CNN 特征维度过于庞大,在 C-COT 中是 96+512=608 通道,需要降很多很多维才能保证速度,而无监督降维如果太多会直接影响效果(对比通用方法 - 取特征值的 95%以上的维度,保留信息量);
虽然 CNN 特征迁移能力比较强,但这并不是针对跟踪问题专门训练的特征,对跟踪问题有用的信息隐藏在大量 CNN 激活值中,如果简单的无监督降维,可能会过滤掉那些虽然不显著,但对跟踪问题有效的特征信息。当然 HOG 和 CN 特征也有同样的问题。
通过使用PCA, 有监督降维:
声明:部分内容来源于网络,仅供读者学习、交流之目的。文章版权归原作者所有。如有不妥,请联系删除。
下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。
下载2:Python视觉实战项目52讲 在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。
下载3:OpenCV实战项目20讲 在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~