Este repositorio es la implementación de pytorch de nuestro artículo:
CenterSnap: Reconstrucción de formas 3D de múltiples objetos de un solo disparo y estimación de tamaño y pose categórica 6D
Muhammad Zubair Irshad , Thomas Kollar, Michael Laskey, Kevin Stone, Zsolt Kira
Conferencia Internacional sobre Robótica y Automatización (ICRA), 2022
[Página del proyecto] [arXiv] [PDF] [Vídeo] [Póster]
Seguimiento del trabajo de ECCV'22:
ShAPO: representaciones implícitas para la optimización de formas, apariencias y poses de múltiples objetos
Muhammad Zubair Irshad , Sergey Zakharov, Rares Ambrus, Thomas Kollar, Zsolt Kira, Adrien Gaidon
Conferencia Europea sobre Visión por Computador (ECCV), 2022
[Página del proyecto] [arXiv] [PDF] [Vídeo] [Póster]
Si encuentra útil este repositorio, considere citar:
@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}
}
Cree un entorno virtual Python 3.8 e instale los requisitos:
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
Instale torch==1.7.1 torchvision==0.8.2
según su versión de CUDA. El código fue creado y probado en cuda 10.2 . Un comando de muestra para instalar torch en cuda 10.2 es el siguiente:
pip install torch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2
Nueva actualización : consulte el script distribuido de nuestro nuevo trabajo ShAPO de ECCV'22 si desea recopilar sus propios datos desde cero en un par de horas. Ese script distribuido recopila los datos en el mismo formato que requiere CenterSnap , aunque con algunas modificaciones menores como se menciona en ese repositorio.
Recomendamos descargar el conjunto de datos preprocesado para entrenar y evaluar el modelo CenterSnap. Descargue y descomprima conjuntos de datos sintéticos (868 GB) y reales (70 GB). Estos archivos contienen toda la capacitación y validación que necesita para replicar nuestros resultados.
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 estructura del directorio de datos debe seguir:
data
├── CAMERA
│ ├── train
│ └── val_subset
├── Real
│ ├── train
└── └── test
./runner.sh net_train.py @configs/net_config.txt
Tenga en cuenta que runner.sh es equivalente a usar Python para ejecutar el script. Además, configura automáticamente PYTHONPATH y CenterSnap Environment Path.
./runner.sh net_train.py @configs/net_config_real_resume.txt --checkpoint p ath t o b est c heckpoint
Descargue un pequeño subconjunto de NOCS Real desde [aquí]
./runner.sh inference/inference_real.py @configs/net_config.txt --data_dir path_to_nocs_test_subset --checkpoint checkpoint_path_here
Deberías ver las visualizaciones guardadas en results/CenterSnap
. Cambie --ouput_path en *config.txt para guardarlos en una carpeta diferente
Proporcionamos un modelo previamente entrenado para el codificador automático de formas que se utilizará para la recopilación e inferencia de datos. Aunque nuestro código base no requiere entrenar por separado el codificador automático de formas, si desea hacerlo, proporcionamos scripts adicionales en external/shape_pretraining.
1. No obtengo un buen rendimiento en las imágenes de mi cámara personalizada, es decir, Realsense, OAK-D u otras.
2. Cómo generar buenos resultados de disparo cero en la cámara del robot HSR:
3. no cuda GPUs available
mientras ejecuto colab.
Make sure that you have enabled the GPU under Runtime-> Change runtime type!
4. Recibo raise RuntimeError('received %d items of ancdata' % RuntimeError: received 0 items of ancdata
uimit -n 2048
5. Recibo RuntimeError: CUDA error: no kernel image is available for execution on the device
o You requested GPUs: [0] But your machine only has: []
Instalar cuda 10.2 y ejecutar el mismo script en requisitos.txt
Instalar la versión relevante de pytorch cuda, es decir, cambiar esta línea en requisitos.txt
torch==1.7.1
torchvision==0.8.2
6. Veo métricas de valor cero en wandb
Nuestro trabajo de seguimiento de ECCV:
Otros trabajos de seguimiento (agradecimiento a los autores por su gran trabajo):