OpenCV、機械学習、はやりのDeep learningの環境構築の方法、サンプルの動かし方、APIの使い方、Tipsなどをすぐに忘れてしまうので、備忘録として記録している。記憶がなくなるスピードが、早いのでメモしておかないと再現できなくなる確率が高まっている。 最近、再度HDDを飛ばしてしまい、過去の自分のページに再度助けられた。 また、DNNモジュールを触る機会が増えているので、C++からPyhonへと鞍替え中。 内容を気にいっていただければ、twitterで紹介願います。
2013年1月24日木曜日
OpenCVで、移動体(前景)の検出を試みた
以前背景差分の記事を書いたが、移動物体の検出が必要となり、sampleをベースにプログラムを作成したところ、いくつか困った点が見つかった。
付属の歩行者のビデオ画像に対してためした画像を前の記事で掲載したが、移動体である歩行者のほかに、背景でのノイズや、影までも検出されており、所望の前景部のみを簡単には得られないことがわかった。
また、1枚目の画像に対象としたい前景が含まれていると、前景までも背景とみなされ、しばらくは所望の結果が得られないこともわかった。
BackgroundSubtractoは、基本のクラスであり、実際検出を行う場合には、
BackgroundSubtractorMOGかBackgroundSubtractorMOG2を用いることになる。
ドキュメントには、コンストラクターの引数や、背景を更新し、前景を得る関数の引数の簡単な説明があるが、それを変えることによる影響は、他のOpenCVの関数同様わからない。
(もとの論文が紹介されているので、読めばわかるかも知れないが、軟弱な開発者なのでパラメータを変え、いくつか試してみて、効果を推測している)
BackgroundSubtractorMOG2に関しては、OpenCV 2 Computer Vision Application Programming CookbookのP275にもっと簡単なサンプルが記載されている。
以上
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿