« あれこれ考えてみる(ARToolkitでロボコントロール?...2) | トップページ | ROBOBASICプログラムデータに関しての見解 »

あれこれ考えてみる(OpenCVでロボ認識...4)

OpenCVARToolKitも、REALbasicで扱えるようにしたので、テスト用のプログラムが気軽に作れるようになりましたhappy01まだまだ、応用編というわけにはいかないので、みなさんに還元できる様なソフトウエアには至ってないんですが、サンプルを参考にあれこれ作って、その中からロボット関連に活かせるようなものを、少しづつ紹介していきたいと思います。

one動いている物体の検出

動いている物体を抽出します。要は、背景から背景でない部分を抽出しているんですが、背景か背景でないかは、背景は輝度変化が少なく、動いているものは輝度変化が大きいことを利用してます。なのでカメラは定点カメラで、背景画像の中に動くものが含まれないのが理想的ですね。

ソフトはカメラキャプチャーしているものでも動画ファイルでも扱える様に作っているので、今回は、Macwinさんに許可をもらい、このページにある、この動画SnapZ pro Xで動画としてキャプチャーしたものを使わさせて頂き、テストしました。

-------------------------------------

-------------------------------------

結果:影の部分も認識されてしまいますが、少なくともロボットがどこにいるのかは抽出できそうです。ただ人や他のロボットなど動けるものが、同時に写っていると、それらも抽出してしまうので、目的のロボットを検出するためには、他の手法も組み合わせる必要がありますね。

two動いている物体の追跡(その1)

Lucas & Kanadeのオプティカルフローのアルゴリズムを用いて、動いている物体を追跡します。オプティカルフローは、時間連続な画像列を利用して,動いている物体の速度場を求めます。これも同じくMacwinさんの動画を利用させて頂きました。動画では、ロボットの何カ所かに適当に点を打ち、その点を追跡しています。

-------------------------------------

-------------------------------------

結果:動きが速い部分の点はズレが大きいです。点が他と重なると、例えば胴体と腕が重なると、胴体にあった目標点が腕にズレてしまいます。ま、精度はとりあえず置いといて、いちおう、点の動きは速度だけでなく方向も(つまりベクトルとして)検出できるので、ロボットがどっちへ動いているのかも検出できるハズですね。oneで抽出した物体を、このtwo方法と、ARToolkitの3D空間の認識を合わせて、ロボットが、どっち向きに、どれくらいの速度で動いているか認識できるといいですよねhappy01

--------

【参考】

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

|

« あれこれ考えてみる(ARToolkitでロボコントロール?...2) | トップページ | ROBOBASICプログラムデータに関しての見解 »

AR / OpenCV」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/221673/44110105

この記事へのトラックバック一覧です: あれこれ考えてみる(OpenCVでロボ認識...4):

« あれこれ考えてみる(ARToolkitでロボコントロール?...2) | トップページ | ROBOBASICプログラムデータに関しての見解 »