




Este repositorio es la implementación oficial de Pytorch del enfoque de arriba hacia abajo de la distancia de la cámara para la estimación de pose de varias personas en 3D de una sola imagen RGB (ICCV 2019) . Contiene parte de Posenet .
Lo que proporciona este repositorio:
Este código se prueba en Ubuntu 16.04, CUDA 9.0, entorno Cudnn 7.1 con dos GPU NVIDIA 1080TI.
La versión Python 3.6.5 con Anaconda 3 se utiliza para el desarrollo.
Puede probar una demostración rápida en la carpeta demo .
input.jpg y la instantánea previamente capacitada en la carpeta demo .bbox_list aquí.root_depth_list en aquí.python demo.py --gpu 0 --test_epoch 24 Si desea ejecutar en GPU 0.output_pose_2d.jpg y una nueva ventana que muestra la pose 3D. El ${POSE_ROOT} se describe como a continuación.
${POSE_ROOT}
|-- data
|-- demo
|-- common
|-- main
|-- tool
|-- vis
`-- output
data contienen códigos de carga de datos y enlaces suaves a imágenes y directorios de anotaciones.demo contiene códigos de demostración.common contiene códigos de núcleo para el sistema de estimación de pose de varias personas 3D.main contiene códigos de alto nivel para capacitar o probar la red.tool contiene códigos de preprocesamiento de datos. No tienes que ejecutar este código. Proporciono datos preprocesados a continuación.vis contiene scripts para la visualización 3D.output contiene registro, modelos entrenados, salidas visualizadas y resultado de la prueba. Debe seguir la estructura del directorio de los data como se muestra a continuación.
${POSE_ROOT}
|-- data
| |-- Human36M
| | |-- bbox_root
| | | |-- bbox_root_human36m_output.json
| | |-- images
| | |-- annotations
| |-- MPII
| | |-- images
| | |-- annotations
| |-- MSCOCO
| | |-- bbox_root
| | | |-- bbox_root_coco_output.json
| | |-- images
| | | |-- train2017
| | | |-- val2017
| | |-- annotations
| |-- MuCo
| | |-- data
| | | |-- augmented_set
| | | |-- unaugmented_set
| | | |-- MuCo-3DHP.json
| |-- MuPoTS
| | |-- bbox_root
| | | |-- bbox_mupots_output.json
| | |-- data
| | | |-- MultiPersonTestSet
| | | |-- MuPoTS-3D.json
Para descargar múltiples archivos de Google Drive sin comprimirlos, intente esto. Si tiene un problema con el problema de 'Límite de descarga' cuando se intenta descargar el conjunto de datos del enlace de Google Drive, intente este truco.
* Go the shared folder, which contains files you want to copy to your drive
* Select all the files you want to copy
* In the upper right corner click on three vertical dots and select “make a copy”
* Then, the file is copied to your personal google drive account. You can download it from your personal account.
Debe seguir la estructura del directorio de la carpeta output como se muestra a continuación.
${POSE_ROOT}
|-- output
|-- |-- log
|-- |-- model_dump
|-- |-- result
`-- |-- vis
output como forma de enlace suave en lugar del formulario de carpeta porque tomaría una gran capacidad de almacenamiento.log contiene un archivo de registro de capacitación.model_dump contiene puntos de control guardados para cada época.result contiene archivos de estimación finales generados en la etapa de prueba.vis contiene resultados visualizados.$DB_NAME_img_name.py para obtener nombres de archivo de imagen en formato .txt .preds_2d_kpt_$DB_NAME.mat , preds_3d_kpt_$DB_NAME.mat ) en una carpeta single o multi .draw_3Dpose_$DB_NAME.m main/config.py , puede cambiar la configuración del modelo, incluido el conjunto de datos para usar, la red troncal de red y el tamaño de entrada, etc. En la carpeta main , ejecute
python train.py --gpu 0-1Para entrenar la red en la GPU 0,1.
Si quieres continuar experimentando, corre
python train.py --gpu 0-1 --continue --gpu 0,1 se puede usar en lugar de --gpu 0-1 .
Coloque el modelo entrenado en la output/model_dump/ .
En la carpeta main , ejecute
python test.py --gpu 0-1 --test_epoch 20 Para probar la red en la GPU 0,1 con el vigésimo modelo de capacitación en época. --gpu 0,1 se puede usar en lugar de --gpu 0-1 .
Aquí reporto el rendimiento del Posenet.
Para la evaluación, puede ejecutar test.py o hay códigos de evaluación en Human36M .

Para la evaluación, puede ejecutar test.py o hay códigos de evaluación en Human36M .

Para la evaluación, ejecute test.py Después de eso, mueva data/MuPoTS/mpii_mupots_multiperson_eval.m en data/MuPoTS/data . Además, mueva los archivos de resultados de prueba ( preds_2d_kpt_mupots.mat y preds_3d_kpt_mupots.mat ) en data/MuPoTS/data . Luego ejecute mpii_mupots_multiperson_eval.m con sus argumentos en modo de evaluación.

Además, proporcionamos coordenadas de raíz humana 3D estimadas en el conjunto de datos MSCOCO. Las coordenadas se encuentran en el sistema de coordenadas de cámara 3D, y las distancias focales se establecen en 1500 mm para el eje x e y. Puede cambiar la distancia focal y la distancia correspondiente utilizando la ecuación 2 o la ecuación en el material suplementarial de mi trabajo.
@InProceedings{Moon_2019_ICCV_3DMPPE,
author = {Moon, Gyeongsik and Chang, Juyong and Lee, Kyoung Mu},
title = {Camera Distance-aware Top-down Approach for 3D Multi-person Pose Estimation from a Single RGB Image},
booktitle = {The IEEE Conference on International Conference on Computer Vision (ICCV)},
year = {2019}
}