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

2021-10-24 20:26:08 字數 1120 閱讀 2887

目標跟蹤作為機器學習的乙個重要分支,加之其在日常生活、軍事行動中的廣泛應用,很多國內外學者都對此頗有研究。本文將討論opencv上八種不同的目標追蹤演算法。

所以,我們想應用一種一次性的目標檢測方法,然後在之後的幀上都能進行目標追蹤,使這一任務更加快速、更高效。

這裡的問題是:opencv能幫我們達到這種目標追蹤的目的嗎?

答案是肯定的。

opencv目標追蹤

首先,我們會大致介紹八種建立在opencv上的目標檢測演算法。之後我會講解如何利用這些演算法進行實時目標追蹤。最後,我們會比較各個opencv目標追蹤的效果,總結各種方法能夠適應的環境。

八種opencv目標追蹤安裝

你可能會驚訝opencv竟然有八種不同的目標追蹤工具,他們都可以運用到計算機視覺領域中。

這八種工具包括:

boosting tracker:和haar cascades(adaboost)背後所用的機器學習演算法相同,但是距其誕生已有十多年了。這一追蹤器速度較慢,並且表現不好,但是作為元老還是有必要提及的。(最低支援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)

mosse tracker:速度真心快,但是不如csrt和kcf的準確率那麼高,如果追求速度選它準沒錯。(最低支援opencv 3.4.1)

我個人的建議:

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

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

純粹想節省時間就用mosse

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

python實現目標跟蹤(opencv)

1.單目標跟蹤 import cv2 import sys major ver,minor ver,subminor ver cv2.version split print major ver,minor ver,subminor ver if name main 建立 tracker type m...

OpenCV中八種不同的目標追蹤演算法

這八種工具包括 boosti ng tracker 和haar cascades adaboost 背後所用的機器學習演算法相同,但是距其誕生已有十多年了。這一追蹤器速度較慢,並且表現不好,但是作為元老還是有必要提及的。最低支援opencv 3.0.0 kcf tracker 比boosting和m...

用 OpenCV 實現八種不同的目標跟蹤演算法

1 boosting tracker 和haar cascades adaboost 背後所用的機器學習演算法相同,但是距其誕生已有十多年了。這一追蹤器速度較慢,並且表現不好,但是作為元老還是有必要提及的。最低支援opencv 3.0.0 2 mil tracker 比上乙個追蹤器更精確,但是失敗率...