【Python/OpenCV】パーティクルフィルタで物体追跡

Python版OpenCVでパーティクルフィルタを実装し、物体追跡する方法をソースコード付きで解説します。

パーティクルフィルタで物体追跡

パーティクルフィルタ(Particle filter)とは、確率分布による時系列データの予測手法です。
粒子フィルターや逐次モンテカルロ法とも呼ばれ、画像処理分野では物体追跡に利用されています。
今回はPython + OpenCV + NumPyでパーティクルフィルタを実装し、赤色の物体を追跡してみました。

【画像処理】パーティクルフィルタによる物体追跡の原理
この記事では、画像処理におけるパーティクルフィルタによる動体追跡の原理について解説します。

動画

ソースコード

サンプルプログラム(Python3 + OpenCV)のソースコードです。

実行結果

サンプルプログラムの実行結果です。
赤色の物体を追跡しています。

【Python版OpenCV入門】使い方とサンプル集
Python版OpenCVで画像処理プログラミングを行う方法を入門者向けにソースコード付きでまとめました。
Python 画像処理
西住工房

コメント

  1. ほげ より:

    追跡対象を赤から白に変更するにはどうすればよいでしょうか?

    • 管理人 より:

      ※ほげ様

      コメントありがとうございます。
      追跡対象の色を変更する場合はis_target関数内のroiの値域を変更します。
      赤色のHue値は、だいたい30~150なので今サンプルプログラムでは(roi <= 30) | (roi >= 150)としています。
      ただし、白色、灰色、黒色は無彩色なのでこの方法では検出できません。

タイトルとURLをコピーしました