用OpenCV實現目標追踪的八種方法

用OpenCV實現目標追踪的八種方法

用OpenCV實現目標追踪的八種方法


資料來源: https://blog.csdn.net/weixin_38907560/article/details/82292091


這八種工具包括:

BOOSTING Tracker:和Haar cascades(AdaBoost)背後所用的機器學習算法相同,但是距其誕生已有十多年了。這一追踪器速度較慢,並且表現不好,但是作為元老還是有必要提及的。(最低支持OpenCV 3.0.0)


MIL Tracker:比上一個追踪器更精確,但是失敗率比較高。(最低支持OpenCV 3.0.0)


KCF Tracker:比BOOSTING和MIL都快,但是在有遮擋的情況下表現不佳。(最低支持OpenCV 3.1.0)


CSRT Tracker:比KCF稍精確,但速度不如後者。(最低支持OpenCV 3.4.2)


MedianFlow Tracker:在報錯方面表現得很好,但是對於快速跳動或快速移動的物體,模型會失效。(最低支持OpenCV 3.0.0)


TLD Tracker:我不確定是不是OpenCV和TLD有什麼不兼容的問題,但是TLD的誤報非常多,所以不推薦。(最低支持OpenCV 3.0.0)


MOSSE Tracker:速度真心快,但是不如CSRT和KCF的準確率那麼高,如果追求速度選它準沒錯。(最低支持OpenCV 3.4.1)


GOTURN Tracker:這是OpenCV中唯一一深度學習為基礎的目標檢測器。它需要額外的模型才能運行,本文不詳細講解。(最低支持OpenCV 3.2.0)


我個人的建議:

如果追求高準確度,又能忍受慢一些的速度,那麼就用CSRT

如果對準確度的要求不苛刻,想追求速度,那麼就選KCF

純粹想節省時間就用MOSSE


從OpenCV 3開始,目標檢測器得到了快速發展,下表總結了不同版本的OpenCV中可食用的追踪器:

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *