Ver.3シリーズより新しいCasper Cartridgeがあります。
下記からアクセスしてください。
【Casper Cartridge Top】 |
Ver.1-3概観 | カートリッジ一覧 | 解説 | 内部作業履歴 | OpenCVサンプル群 | ARToolKit | PTAM | OpenCV開発版 |
Ubuntu 10.04 LTS 日本語 Remix Live CDから興したUSBメモリでの実行環境で、 OpenCV 2.1.0 だけでなく PTAM も動かしてみましょう、というものです。
PTAM(r114, 2010/01/29版)の指示どおりに やっても上記の環境では微妙にコンパイルが通りません。 しかもこちらの希望としてはノートPC(Panasonic CF-Y5とか)で動かしたかったりUSBカメラを 使いたかったりする(授業とか出前とか)ので、今回手順をアップデートして、ついでに 若干修正してみました。
以下の作業は 「Ubuntu 10.04 LTS + OpenCV 2.1.0 on USB memory stick」が前提です。 作業面倒くさそう、と思った人は メモリスティック実行環境を作る 方が断然簡単なのでそちらをどうぞ。
動いた、動かなかった、どちらの情報でも歓迎します。 (返事できるかどうか自信はありませんが)
PTAM-linux-go_YYYYMMDD.tgzの中にPTAM(r114)を同梱してありますが、 そのライセンスは必ず守ってください。 また、作者のGeorg Kleinさんは頒布時にユーザ記帳を希望しているので、 PTAMのWebサイトに行って名前と所属とメールアドレスぐらいは 書いてきてください(ページの末尾)。 (そこにライセンス条項も記述されています)
どこかにPTAM-linux-go_YYYYMMDD.tgzを展開してください。 下記のようになるはずです。
$ cd $ tar xvfz PTAM-linux-go_YYYYMMDD.tgz |
PTAM-linux-go/PTAM-r114-2010129.zip PTAM-linux-go/PTAM-linux-go.bash PTAM-linux-go/PTAM-linux-compileagain.bash PTAM-linux-go/hack/libcvd/convolution.cc PTAM-linux-go/hack/gvars3/serialize.h PTAM-linux-go/hack/PTAM/PTAM-r114-linux.patch PTAM-linux-go/hack/PTAM/README_PTAM-r114-linux-patch.txt PTAM-linux-go/hack/PTAM/modified_files/Build/Linux/Makefile PTAM-linux-go/hack/PTAM/modified_files/Build/Linux/VideoSource_Linux_OpenCV.cc PTAM-linux-go/hack/PTAM/modified_files/CHANGELOG_kmd.txt PTAM-linux-go/hack/PTAM/modified_files/CalibImage.cc PTAM-linux-go/hack/PTAM/modified_files/CalibImage.h PTAM-linux-go/hack/PTAM/modified_files/CameraCalibrator.cc PTAM-linux-go/hack/PTAM/modified_files/EyeGame.cc PTAM-linux-go/hack/PTAM/modified_files/System.cc PTAM-linux-go/hack/PTAM/modified_files/Tracker.cc PTAM-linux-go/hack/PTAM/modified_files/Tracker.h PTAM-linux-go/hack/PTAM/modified_files/main.cc
この先は、Ubuntuにパッケージを入れる必要があるので、ルートのパスワードを知っている必要があります。
また、インターネット接続も必要です。
あと、インストール先はあなたのホーム直下の ./PTAM-work です。
(嫌なら自分でスクリプト書き換えてね)
大丈夫ですか?
では、あとは、このPTAM-linux-go ディレクトリに移動して、
スクリプトを実行です。
(コメント以外を1行ずつ全部手打ちでも問題ありませんよ)
$ cd $ cd PTAM-linux-go $ bash ./PTAM-linux-go.bash |
パッケージ導入のためにrootのパスワードを時々聞かれたりするかもしれませんし、[Y/n]で質問されたら全て"y"と答えてください。
あとは全部自動で最後まで行くはずです。
(Ubuntu 10.04LTSインストール初期状態ではrootにパスワードがついてないので途中では止まらないはず)
(もし万一途中でこけた時は、時間とリソースさえ気にならないのなら ./PTAM-work を一旦消して最初からどうぞ)
さて、あとは実行するのみです。
USBカメラは差し込みましたか?
用意できましたか?
まず最初に内部カメラパラメータの推定を行います。
$ cd $ cd PTAM-work/PTAM/ $ ./CameraCalibrator [-coloron] {number|file|url} |
同じディレクトリにあるcalib_pattern.pdfを(できれば固い紙に)印刷して、平たいところに置きましょう。
カメラで、格子模様がだいたい全体に入るように構えます。
(欠けてても可、】紙が画面の一部に小さくしか写ってない方が経験的にはまずいです)
(紙がインクとかでしわしわだと精度が出ませんよ!)
構えたら、GrabFrameをクリックします。
これを4枚以上行います。ちょっとずつ、僅かに向きを変えるのがポイントです。
溜まったら、Optimizeをクリックします。
計算が収束したら、Show Nextで全部画像を確認しましょう。
青い格子が上手に重なってなければやり直しです。
数値的には、黄色い字のメッセージの2行目のRMS pixel errorが0.5以下を狙ってください。
結果が良ければ、Saveをクリックして終了です。
いよいよ次はお待ちかねの本題。
$ ./PTAM [-coloron] [-lightoff] {number|file|url} |
You still need to choose a "right" camera and "right" graphic card.
It should work with ordinally cameras (including many of Logicool cameras) and popular (perhaps cheap) graphic environment (such as Intel integrated chip).
Even in successful cases, you might need to try a couple of times before you can invoke PTAM window, probably because the program sometimes fails in getting image buffer from USB camera.
PC [Good] (So far as I tested, most of Desktop PC should be OK if you can boot it by USB) o Panasonic CF-Y5 o Dell Dimension 9150 o Dell Inspiron 9400 o Dell Latitude 2100 o Fujitsu FMV ESPRIMO D5370 o Asus EeePC901 o SONY VAIO type-F VPCF128FJ [Option needed] o Panasonic CF-Y8 (-lightoff) o Toshiba Dynabook SS RX2 (-lightoff) o Dell Latitude E4300 (-lightoff) [NG] x Any of Mac Books x Dell Inspiron 6000 Camera [Good] o Logicool V-U0010 o Logicool UBK45 o Logicool V-UAR38 o Logicool V-UBM46 o NetCowboy DC-NCP130 o V-Gear TalkCam 1.1 o Buffalo BWC-130H01 o Elecom UCAM-DLX3000B [NG] x V-Gear TalkCam Pro
PTAM-linux-go/PTAM-linux-go.bash 下記で太字部分がroot権限の必要なところです。 |
#!/bin/bash # # A quick hack to compile PTAM (r114, 2010/01/29) on Ubuntu10.04LTS # # Many many thanks to Georg Klein # and to Arnaud GROSJEAN # # 2010/10/12 Minor Bug Fixed, Patch of PTAM changed # 2010/10/07 Released # 2010/10/02 start writing by Yoshinari Kameda, kameda[at]iit.tsukuba.ac.jp # targettopdir=$HOME/PTAM-work pwdinfo=`pwd` # OpenCV? echo "--------------------------------------------------------------" echo "Do you have OpenCV 2.1.0 ? If not, stop here and prepare that." echo "(Pausing 10 seconds here)" echo "--------------------------------------------------------------" sleep 10 # You may need more? # Consult "Ubuntu10.04LTS + OpenCV2.1.0 on USB" project by kameda echo "----------------------------------------------------------" echo "You need liblapack-dev freeglut3-dev, and libdc1394-22-dev" echo "Are you OK? (Pausing 10 seconds here)" echo "-----------------------------------------------------------" sleep 10 sudo apt-get install liblapack-dev freeglut3-dev libdc1394-22-dev export CVS_RSH=ssh mkdir -p $targettopdir # TooN echo "------------------------------------" echo "Start compiling Toon in 3 seconds..." echo "------------------------------------" sleep 3 pushd $targettopdir cvs -z3 -d:pserver:[email protected]:/sources/toon co -D "Mon May 11 16:29:26 BST 2009" TooN cd TooN ./configure sudo make install popd # libcvd echo "--------------------------------------" echo "Start compiling libcvd in 3 seconds..." echo "--------------------------------------" sleep 3 pushd $targettopdir cvs -z3 -d:pserver:[email protected]:/sources/libcvd co -D "Mon May 11 16:29:26 BST 2009" libcvd cd libcvd mv cvd_src/convolution.cc cvd_src/convolution.cc-original cp $pwdinfo/hack/libcvd/convolution.cc cvd_src/convolution.cc export CXXFLAGS=-D_REENTRANT ./configure --without-ffmpeg make sudo make install popd # gvars3 echo "---------------------------------------" echo "Start compiling gvars3 in 3 seconds ..." echo "---------------------------------------" sleep 3 pushd $targettopdir cvs -z3 -d:pserver:[email protected]:/sources/libcvd co -D "Mon May 11 16:29:26 BST 2009" gvars3 cd gvars3 mv gvars3/serialize.h gvars3/serialize.h-original cp $pwdinfo/hack/gvars3/serialize.h gvars3/serialize.h ./configure --disable-widgets make sudo make install popd # before you go further, re-arrange the dynamic libraries sudo ldconfig # PTAM main echo "--------------------------------------" echo "Start compiling PTAM in 10 seconds ..." echo "YOU NEED TO AGREE WITH THEIR LICENSE !" echo "--------------------------------------" sleep 10 pushd $targettopdir unzip $pwdinfo/PTAM-r114-2010129.zip patch -p0 -d . < $pwdinfo/hack/PTAM/PTAM-r114-linux.patch cd PTAM cp Build/Linux/* . make # Tips at end echo "----------------" echo "Is the camera ready?" echo "Let's go to $HOME/PTAM-work/PTAM " echo "You need to first run ./CameraCalibrator" echo "and save a camera config file." echo "Then, you can enjoy ./PTAM !" echo "----------------" exit 0 |