物体の三次元姿勢推定 Gen6D を試してみる 準備編【Windows11, Python】

AI
スポンサーリンク

スポンサーリンク

はじめに

人間の姿勢推定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 上の操作などまだまだ説明することがあるので次回に回します。

次回は、デモデータにて姿勢予測結果を確認します。
その次にはカスタムデータで姿勢予測をしていきます。

コメント

タイトルとURLをコピーしました