もさぷい

ゲーム、3D関連技術ついて

SURF(Speeded Up Robust Features)すごい

ニコニコ動画で以下の動画をみて、

SURF(Speeded Up Robust Features)というものを知りました。

 

『はちゅね召喚プログラム』

 

『【パッケージから】巡音さんがやってきた【召喚】』

http://www.nicovideo.jp/watch/sm5519371

 

『拡張現実(AR)を自作ソフトウェアでやってみた・なんでもマーカー編』

http://www.nicovideo.jp/watch/sm6834013

 

 

SURFというものを使えば、あらかじめ用意したテンプレート画像とカメラで撮影した画像の特徴点を対応づけできるみたいです。

 

SURFは、OpenCVで利用できるみたいなので触ってみました。

 

OpenCV 1.1を導入&SURFを動画で | happymeme』

http://www.happymeme.com/?p=84

↑この方のソースを使わせてもらい、起動してみるとすごい!!ちゃんと特徴点を見つけて、元画像と対応付けできてる・・

surf_snap0.jpg

 

対応点を知ることができるから、マーカーとして使えるわけですね。勉強になりました。


使用感メモ

・カラー画像でも使える。

・リアルタイムに処理できた。

・特徴の多い画像(イラストや写真)の方が、対応付けがしっかりできた。

ARToolkit等で使用するような正方形のマーカーの画像を

 テンプレート画像として登録し、処理してみたら、対応付けが

 あまり正確ではなかった。正方形の外周を正確に取り出せなかった。

・真正面から撮影した時が一番精度が良い。

 斜めから撮影するにつれて精度が悪くなった。


他の参考サイトとか

『dandelion's log » OpenCVCVS版(20081010)で遊んでみた』

http://www.atinfinity.info/blog/archives/108

 

『dandelion's log » OpenCV 1.1:SURFを動画で試してみた』

http://www.atinfinity.info/blog/archives/115

 

OpenCV 1.1 pre1aのSURF - yoggy's diary〜せかいのすみっこから〜(2009-03-23)』

http://www.sabamiso.net/yoggy/tdiary/?date=20090323

ソースコードあり

 

『SURF : Speeded-Up Robust Featuresの紹介』

http://storage.osdev.info/pub/idmjt/diaryimage/0901/neta090130l1.pdf