2013年1月24日木曜日

OpenCVで、移動体(前景)の検出を試みた


以前背景差分の記事を書いたが、移動物体の検出が必要となり、sampleをベースにプログラムを作成したところ、いくつか困った点が見つかった。

付属の歩行者のビデオ画像に対してためした画像を前の記事で掲載したが、移動体である歩行者のほかに、背景でのノイズや、影までも検出されており、所望の前景部のみを簡単には得られないことがわかった。

また、1枚目の画像に対象としたい前景が含まれていると、前景までも背景とみなされ、しばらくは所望の結果が得られないこともわかった。


BackgroundSubtractoは、基本のクラスであり、実際検出を行う場合には、
BackgroundSubtractorMOGかBackgroundSubtractorMOG2を用いることになる。

ドキュメントには、コンストラクターの引数や、背景を更新し、前景を得る関数の引数の簡単な説明があるが、それを変えることによる影響は、他のOpenCVの関数同様わからない。

(もとの論文が紹介されているので、読めばわかるかも知れないが、軟弱な開発者なのでパラメータを変え、いくつか試してみて、効果を推測している)

BackgroundSubtractorMOG2に関しては、OpenCV 2 Computer Vision Application Programming CookbookのP275にもっと簡単なサンプルが記載されている。

以上

0 件のコメント:

コメントを投稿