Ce référentiel est l'implémentation pytorch de notre article :
CenterSnap : Reconstruction de forme 3D multi-objets en une seule prise et estimation catégorique de la pose et de la taille en 6D
Muhammad Zubair Irshad , Thomas Kollar, Michael Laskey, Kevin Stone, Zsolt Kira
Conférence internationale sur la robotique et l'automatisation (ICRA), 2022
[Page du projet] [arXiv] [PDF] [Vidéo] [Affiche]
Travaux de suivi de l'ECCV'22 :
ShAPO : représentations implicites pour l'optimisation de la forme, de l'apparence et de la pose de plusieurs objets
Muhammad Zubair Irshad , Sergey Zakharov, Rares Ambrus, Thomas Kollar, Zsolt Kira, Adrien Gaidon
Conférence européenne sur la vision par ordinateur (ECCV), 2022
[Page du projet] [arXiv] [PDF] [Vidéo] [Affiche]
Si vous trouvez ce référentiel utile, pensez à citer :
@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}
}
Créez un environnement virtuel Python 3.8 et installez les exigences :
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
Installez torch==1.7.1 torchvision==0.8.2
en fonction de votre version CUDA. Le code a été construit et testé sur cuda 10.2 . Un exemple de commande pour installer Torch sur cuda 10.2 est le suivant :
pip install torch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2
Nouvelle mise à jour : veuillez consulter le script distribué de notre nouveau travail ECCV'22 ShAPO si vous souhaitez collecter vos propres données à partir de zéro en quelques heures. Ce script distribué collecte les données dans le même format que celui requis par CenterSnap , bien qu'avec quelques modifications mineures comme mentionné dans ce dépôt.
Nous vous recommandons de télécharger l'ensemble de données prétraité pour entraîner et évaluer le modèle CenterSnap. Téléchargez et décompressez les ensembles de données synthétiques (868 Go) et réels (70 Go). Ces fichiers contiennent toute la formation et la validation dont vous avez besoin pour reproduire nos résultats.
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
La structure du répertoire de données doit suivre :
data
├── CAMERA
│ ├── train
│ └── val_subset
├── Real
│ ├── train
└── └── test
./runner.sh net_train.py @configs/net_config.txt
Notez que runner.sh équivaut à utiliser python pour exécuter le script. De plus, il configure automatiquement le chemin d'accès à l'environnement PYTHONPATH et CenterSnap.
./runner.sh net_train.py @configs/net_config_real_resume.txt --checkpoint p ath t o b est c heckpoint
Téléchargez un petit sous-ensemble NOCS Real à partir de [ici]
./runner.sh inference/inference_real.py @configs/net_config.txt --data_dir path_to_nocs_test_subset --checkpoint checkpoint_path_here
Vous devriez voir les visualisations enregistrées dans results/CenterSnap
. Modifiez le --ouput_path dans *config.txt pour les enregistrer dans un autre dossier
Nous fournissons un modèle pré-entraîné pour l'encodeur automatique de forme à utiliser pour la collecte et l'inférence de données. Bien que notre base de code ne nécessite pas de formation séparée de l'encodeur automatique de forme, si vous souhaitez le faire, nous fournissons des scripts supplémentaires sous external/shape_pretraining.
1. Je n'obtiens pas de bonnes performances sur les images de ma caméra personnalisée, c'est-à-dire Realsense, OAK-D ou autres.
2. Comment générer de bons résultats de tir zéro sur la caméra du robot HSR :
3. Je ne reçois no cuda GPUs available
lors de l'exécution de Colab.
Make sure that you have enabled the GPU under Runtime-> Change runtime type!
4. Je reçois raise RuntimeError('received %d items of ancdata' % RuntimeError: received 0 items of ancdata
uimit -n 2048
5. J'obtiens RuntimeError: CUDA error: no kernel image is available for execution on the device
ou You requested GPUs: [0] But your machine only has: []
Installer cuda 10.2 et exécuter le même script dans Requirements.txt
Installer la version appropriée de pytorch cuda, c'est-à-dire changer cette ligne dans le fichier Requirements.txt
torch==1.7.1
torchvision==0.8.2
6. Je vois des métriques nulles dans wandb
Nos travaux de suivi ECCV :
Autres travaux de suivi (Merci aux auteurs pour leur excellent travail) :