高速画像姿勢推定コンポーネント

東京大学　稲葉雅幸研究室　矢口裕明
h-yaguchi@jsk.t.u-tokyo.ac.jp

本ソフトウェアは new BSD License に基づき配布されます。
詳しくはLICENSE.txtファイルをご覧ください。


- 動作環境

Ubuntu 10.04 LTS
OpenRTM-aist1.0
で動作確認しております。

以下のパッケージを追加インストールしてください。
opencv2.X
libboost-devel

また、RTMEXTenderをインストールし、
環境変数RTM_PACKAGE_PATHに
本パッケージの含まれるディレクトリを追加してください。

RTMEXTenderについては以下のURIを参照してください。
https://github.com/hyaguchijsk/rtmext


- 起動までの手順

-- ビルド、サンプル実行

本ディレクトリにおいて
% rtmmake
を実行してください。

その後、
% rtmlaunch capture_from_file.xml
を実行することで、
入力画像の中から登録された本の表紙画像を発見するプログラムが動きます。

この時、RTMEXTenderが正しく設定されていないと実行されません。
動作しない場合以下を確認してください。
* rtmextをダウンロードしたディレクトリにパスが通っていること
* RTM_PAKCAGE_PATHにrtmext/common:rtmext/exampleが含まれていること


-- 単体起動時、自分で用意した画像を使う場合

SURFObjectFinder.iniに
登録する画像の情報を
image <ファイル名> <幅[mm]> <高さ[mm]>
として記述してください。
その後、
% SURFObjectFinderComp
でコンポーネントを起動します。


- 操作手順

CameraImage型の画像を受け取り、
登録された画像群との照合と姿勢推定を行い、
姿勢とマッチした画像のインデックスを出力します。
画像処理結果を示すウィンドウが二つ表示されます。
入出力ポートは以下の様になっております。

-- InPort

* CameraImage InImage
入力画像を受けとります。

-- OutPort

* TimedFloatSeq ObjectPose
マッチした画像が入力画像中でとる姿勢を出力します。
(Tx Ty Tz Roll Pitch Yaw)の6次元で表現します。

* TimedLong ObjectIndex
マッチした画像のデータベース中でのインデックスを出力します。
