はじめに
前回は、Mask2Former について説明しました。
今回は三次元の bbox で物体認識を実行する omni3D について説明します。
カスタムデータセットの用意が困難なので、推論のみの紹介となります。
前提条件
前提条件は以下の通りです。
- Ubuntu == 22.04
(WindowsはDetectron2が使用できないので不可) - Python == 3.10.6
- torch == 1.13.1, torchvision == 0.14.1
- detectron2 == 0.6
必要なライブラリのインストール
python3 -m pip install fvcore iopath cython opencv-python scikit-image matplotlib imageio plotly scipy seaborn
次に、pytorch3d をインストールします。
python3 -m pip install "git+https://github.com/facebookresearch/pytorch3d.git"
tkinter もインストールしておきます。
sudo apt install python3-tk
推論プログラムの実行
まずは、github からプログラムをダウンロードします。github はこちらです。
git clone https://github.com/facebookresearch/omni3d.git
cd omni3d
次に、テスト用の画像をダウンロードします。
chmod +x demo/download_demo_COCO_images.sh
./demo/download_demo_COCO_images.sh
以下のコマンドで推論を実行します。
python3 demo/demo.py \
--config-file cubercnn://omni3d/cubercnn_DLA34_FPN.yaml \
--input-folder "datasets/coco_examples" \
--threshold 0.25 --display \
MODEL.WEIGHTS cubercnn://omni3d/cubercnn_DLA34_FPN.pth \
OUTPUT_DIR output/demo
上記を実行すると、output/demo に結果が保存されます。
UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.
というエラーが出る場合、
sudo apt install python3-tk
もしくは、demo/demo.py に
import matplotlib
matplotlib.use('TkAgg')
を追加してください。
結果画像は、以下のようになります。
YOLO のような物体認識の結果画像と、
上から見た物体認識の結果が表示されています。
入力画像が RGB 画像だけなので、どんな場面でも活用しやすいAIだと思います。
カスタムデータセットでの学習については、目途が立ったら公開します。
おわりに
今回は omni3D の推論方法について説明しました。
物体の三次元姿勢推定に興味があり、調査していく中でたまたま発見したライブラリですが、非常に魅力的です。
点群データを使用しなくても奥行きやサイズ感が分かるので、活用していきたいと思います。
コメント