このリポジトリは、私たちの論文の pytorch 実装です。
CenterSnap: シングルショットの複数オブジェクトの 3D 形状再構成とカテゴリカル 6D ポーズとサイズの推定
ムハマド・ズバイル・イルシャド、トーマス・コラー、マイケル・ラスキー、ケビン・ストーン、ゾルト・キラ
ロボティクスとオートメーションに関する国際会議 (ICRA)、2022 年
[プロジェクトページ] [arXiv] [PDF] [ビデオ] [ポスター]
ECCV'22 のフォローアップ作業:
ShAPO: 複数オブジェクトの形状、外観、ポーズの最適化のための暗黙的表現
ムハマド・ズバイル・イルシャド、セルゲイ・ザハロフ、レアズ・アンブルス、トーマス・コラー、ゾルト・キラ、エイドリアン・ガイドン
欧州コンピュータービジョン会議 (ECCV)、2022 年
[プロジェクトページ] [arXiv] [PDF] [ビデオ] [ポスター]
このリポジトリが役立つと思われる場合は、以下を引用することを検討してください。
@inproceedings{irshad2022centersnap,
title = {CenterSnap: Single-Shot Multi-Object 3D Shape Reconstruction and Categorical 6D Pose and Size Estimation},
author = {Muhammad Zubair Irshad and Thomas Kollar and Michael Laskey and Kevin Stone and Zsolt Kira},
journal = {IEEE International Conference on Robotics and Automation (ICRA)},
year = {2022}
}
@inproceedings{irshad2022shapo,
title = {ShAPO: Implicit Representations for Multi-Object Shape Appearance and Pose Optimization},
author = {Muhammad Zubair Irshad and Sergey Zakharov and Rares Ambrus and Thomas Kollar and Zsolt Kira and Adrien Gaidon},
journal = {European Conference on Computer Vision (ECCV)},
year = {2022}
}
Python 3.8 仮想環境を作成し、要件をインストールします。
cd $CenterSnap_Repo
conda create -y --prefix ./env python=3.8
conda activate ./env/
./env/bin/python -m pip install --upgrade pip
./env/bin/python -m pip install -r requirements.txt
CUDA バージョンに基づいて、 torch==1.7.1 torchvision==0.8.2
をインストールします。コードはcuda 10.2でビルドおよびテストされました。 cuda 10.2 に torch をインストールするサンプル コマンドは次のとおりです。
pip install torch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2
新しい更新: 数時間で独自のデータを最初から収集したい場合は、新しい ECCV'22 作品ShAPOの配布スクリプトをチェックアウトしてください。この分散スクリプトは、 CenterSnapで必要とされるのと同じ形式でデータを収集しますが、そのリポジトリで説明されているように、いくつかの小さな変更が加えられています。
CenterSnap モデルをトレーニングおよび評価するには、前処理されたデータセットをダウンロードすることをお勧めします。合成 (868GB) および実際 (70GB) データセットをダウンロードして解凍します。これらのファイルには、結果を再現するために必要なトレーニングと検証がすべて含まれています。
cd $CenterSnap_REPO/data
wget https://tri-robotics-public.s3.amazonaws.com/centersnap/CAMERA.tar.gz
tar -xzvf CAMERA.tar.gz
wget https://tri-robotics-public.s3.amazonaws.com/centersnap/Real.tar.gz
tar -xzvf Real.tar.gz
データ ディレクトリ構造は次のとおりです。
data
├── CAMERA
│ ├── train
│ └── val_subset
├── Real
│ ├── train
└── └── test
./runner.sh net_train.py @configs/net_config.txt
runner.sh は、 Python を使用してスクリプトを実行するのと同じであることに注意してください。さらに、PYTHONPATH と CenterSnap 環境パスが自動的にセットアップされます。
./runner.sh net_train.py @configs/net_config_real_resume.txt --checkpoint p ath t o b est c heckpoint
[ここ] から小さな NOCS Real サブセットをダウンロードします
./runner.sh inference/inference_real.py @configs/net_config.txt --data_dir path_to_nocs_test_subset --checkpoint checkpoint_path_here
results/CenterSnap
に保存されたビジュアライゼーションが表示されるはずです。 *config.txt の --ouput_path を変更して、別のフォルダーに保存します。
データ収集と推論に使用される形状自動エンコーダー用の事前トレーニング済みモデルを提供します。私たちのコードベースでは形状自動エンコーダーを個別にトレーニングする必要はありませんが、そうしたい場合は、 external/shape_pretrainingで追加のスクリプトを提供します。
1. Realsense、OAK-D などのカスタム カメラ画像で良好なパフォーマンスが得られません。
2. HSR ロボット カメラで良好なゼロショット結果を生成する方法:
3. colab の実行中にno cuda GPUs available
。
Make sure that you have enabled the GPU under Runtime-> Change runtime type!
4. raise RuntimeError('received %d items of ancdata' % RuntimeError: received 0 items of ancdata
ました
uimit -n 2048
を使用して、ulimit を 2048 または 8096 に増やします。 5. RuntimeError: CUDA error: no kernel image is available for execution on the device
or You requested GPUs: [0] But your machine only has: []
表示されます。
cuda 10.2 をインストールし、requirements.txt で同じスクリプトを実行する
関連する pytorch cuda バージョンをインストールする、つまり、requirements.txt のこの行を変更する
torch==1.7.1
torchvision==0.8.2
6. wandbで val メトリクスがゼロになっています。
ECCV のフォローアップ作業:
その他の後継作品 (素晴らしい仕事をしてくれた著者に感謝の意を表します):