OpenCV 单/多目标跟踪传统算法实验

单目标跟踪 代码原文:

[OpenCV实战]14 使用OpenCV实现单目标跟踪_You and Me-CSDN博客_opencv单目标跟踪

多目标跟踪 代码原文:

[OpenCV实战]16 使用OpenCV实现多目标跟踪_You and Me-CSDN博客

实际运行效果总结:

跟踪工业元器件,过程中用手进行遮挡实验

BOOSTING : 慢  精度差(跟丢目标或跟到别的目标上)

MIL :慢   精度差(跟丢目标或跟到别的目标上)效果和BOOSTING差不多

TLD:非常非常慢   会跟到其他相似物体上     前三个方法约等于没法用

MEDIANFLOW: 速度还可以  但是会出现目标框偏移,而且无法对抗遮挡(目标框跟着手跑了)

CSRT: 从帧中取一部分来进行跟踪的算法,速度很快,但无法对抗遮挡

MOSSE:基于小跟踪窗口的跟踪算法,速度较慢,精度更高,但无法对抗遮挡

KCF:  鉴别类算法,速度快,可对抗遮挡(唯一的目标框不会跟着手跑的算法!),综合来说最好

Multitracker:多目标检测,效果和上述算法一致,只是跑起来会很慢,无法满足实时性

总结

对于工业元器件检测,想在工人维修时能随时跟踪不合格元器件的场景,只有KCF、MOSSE、CSRT算法可以在实时性和精度上满足要求,但是MOSSE、CSRT对于遮挡没有抗性,KCF算法看起来是唯一也许可行的方案。多目标检测速度太慢,没法满足实时性要求。

同时,没法解决元器件修复后,检测框就消失的需求。

只在最开始进行一次基于传统模板匹配的目标检测,之后进行目标跟踪的方法,确实在精度上没法保证,且后续有需求变化时,无法拓展功能。

你可能感兴趣的:(实习笔记,python,opencv,目标跟踪)