はじめに
人間の姿勢推定AIは多くあり、実装もかなり簡単になっています。
しかし、物体の姿勢推定はまだまだ実装が難しいので、振り返りがてら少しずつ実装をまとめていきたいと思います。
今回は Gen6D を使用して物体の姿勢推定の方法について説明していきます。
github はこちらになります。
前提条件
前提条件は、以下の通りです。
- Windows10 or Windows11 (LinuxではCOLMAPのビルドができませんでした)
必要なライブラリのインストール
まず、ワークスペースを作成し、git clone します。
mkdir ~/gen6d-dev
cd gen6d-dev
git clone https://github.com/liuyuan-pal/Gen6D.git
COLMAP のインストール ( Linux ) ※ビルド失敗
点群作成用のライブラリ COLMAP をインストールします。
こちらのページを参考に進めていきます。
cd ~/gen6d-dev
git clone https://github.com/colmap/colmap
cd colmap
依存関係をインストールします。
sudo apt-get install \
git \
cmake \
build-essential \
libboost-program-options-dev \
libboost-filesystem-dev \
libboost-graph-dev \
libboost-system-dev \
libboost-test-dev \
libeigen3-dev \
libsuitesparse-dev \
libfreeimage-dev \
libmetis-dev \
libgoogle-glog-dev \
libgflags-dev \
libglew-dev \
qtbase5-dev \
libqt5opengl5-dev \
libcgal-dev \
libceres-dev
ビルドしてインストールします。
git checkout master
mkdir build
cd build
cmake ..
make -j
sudo make install
インストールの確認をします。
colmap -h
インストール先も確認しておきます。
which colmap
特に変更がなければ /usr/bin/colmap が出力されるはずです。
COLMAP のインストール ( Windows )
こちらのページの以下の赤丸部分をダウンロードしてください。
特に理由がない限り no-cuda を選択してください。
解凍したら、~/gen6d-dev フォルダに配置しておいてください。
ffmpeg の準備 ( Linux )
apt でインストールします。
sudo apt install ffmpeg
インストール先を確認しておきます。
which ffmpeg
こちらも、/usr/bin/ffmpeg が出力されます。
FFmpeg のインストール ( Windows )
こちらのページの以下の赤丸の部分からダウンロードしてください。
解凍したら、~/gen6d-dev フォルダに配置しておいてください。
CloudCompare のインストール (Windows)
こちらのページの以下の画像の赤丸からダウンロードしてください。
インストーラVer. をダウンロードしてください。
インストーラを使用して CloudCompare をインストールしてください。
データの準備
こちらを基に準備を進めていきます。
今回はリンク先の以下の部分よりデータをダウンロードします。
mouse-ref.mp4 と mouse-test.mp4 をダウンロードしてください。
動画を確認していただくと、ただマウスの周りを一周撮影しているだけですね。
保存先を作成します。
cd ~/gen6d-dev/Gen6D
mkdir -p ./data/custom/video
video フォルダに mouse-ref.mp4 と mouse-test.mp4 を保存してください。
動画から画像の切り出し
動画から、画像を切り出していきます。
python3 prepare.py --action video2image --input data/custom/video/mouse-ref.mp4 --output data/custom/mouse_test/images --frame_inter 10 --image_size 960 --transpose
これを実行すると、data/custom/mouse/images に画像が保存されます。
画像から pointclound の作成
次のコマンド一つで実行できます。
python3 prepare.py --action sfm --database_name custom/mouse_test --colmap ../COLMAP-3.7-windows-no-cuda/COLMAP.bat
かなり時間がかかります。
完了するとコンソールに Writing output: ./data/custom/mouse_test/colmap/pointcloud.ply と表示されます。
pointclound の確認
作成された pointcloud.ply を CloudCompare で表示してみます。
何が映っているか分かりませんが、問題ありません。
次回説明していきます。
おわりに
今回はここまでとします。
CloudCompare 上の操作などまだまだ説明することがあるので次回に回します。
次回は、デモデータにて姿勢予測結果を確認します。
その次にはカスタムデータで姿勢予測をしていきます。
コメント