PTAM

新しいバイトの関係でPTAMというものを少しいじったので、
備忘録も兼ねて。

PTAMとは、オックスフォード大学で開発されたマーカレスAR技術だそうです。
ちなみにARというのは「拡張現実感」のことで、
セカイカメラ初音ミクの動画でご存じの方も多いのではないでしょうか。


ミク可愛いよミク。

このミクの動画では、
ミクは四角い枠の中に入っています。
この四角い枠がいわゆる「マーカ」で、
現実を拡張するためには、このマーカを頼りに
カメラ画像に映った世界の三次元座標を計算していきます。

しかし、PTAMではこのマーカを用いずに、
カメラ画像に映った世界の三次元座標を求められるのです。
すごい!


なお、PTAMを導入するに当たり、
下記のサイト様を多いに参考に致しました。

マーカーレスAR技術「PTAM」をDVカメラで動作させてみる 釣堀.netさん
http://turi2.net/cont/program/ptam.html

自己満足なBLOGさん
http://jikoman.sin-cos.com/blog/2009/05/ptam-1.html


まずはPTAMを解凍し、 解凍されたフォルダ内にある「README.txt」を読みながら進めていきます。

途中、TooN、libCVD、gvars3をCVS経由でダウンロードしなくてはならない場面があるのですが、
諸事情により私はCVSを(気持ち的に)導入しづらい環境だったため、
以下のサイトより直接ダウンロードしました。
http://mi.eng.cam.ac.uk/~er258/cvd/toon.html

このとき、どのバージョンをダウンロードするかが問題になります。
PTAMは、関連ライブラリのバージョンが少しでも違うと動かなくなります。

PTAMのREADME.txtに「いつの時点での最新版を使えば良いか」が明記されているので、
それを参考にします。
例えば、

# export CVS_RSH=ssh
# cvs -z3 -d:pserver:anonymous@cvs.savannah.nongnu.org:/sources/toon co -D "Mon May 11 16:29:26 BST 2009" TooN
# cvs -z3 -d:pserver:anonymous@cvs.savannah.nongnu.org:/sources/libcvd co -D "Mon May 11 16:29:26 BST 2009" libcvd
# cvs -z3 -d:pserver:anonymous@cvs.savannah.nongnu.org:/sources/libcvd co -D "Mon May 11 16:29:26 BST 2009" gvars3

と書かれていれば、「2009年5月11日16時29分」の時点で最新のバージョンを用います。
ちなみにこの場合だと、
「TooN-2.0.beta3.tar.gz」、「libcvd-20090414.tar.gz」、「gvars3-20090421.tar.bz2」を用いることになります。