三次元物体認識 omni3D 推論編【Python】

AI
スポンサーリンク
スポンサーリンク

はじめに

前回は、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 の推論方法について説明しました。

物体の三次元姿勢推定に興味があり、調査していく中でたまたま発見したライブラリですが、非常に魅力的です。

点群データを使用しなくても奥行きやサイズ感が分かるので、活用していきたいと思います。

コメント

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