




이 repo는 단일 RGB 이미지 (ICCV 2019)의 3D 다중 개인 포즈 추정을위한 카메라 거리 인식 하향식 접근법 의 공식 Pytorch 구현입니다. Posenet 부분이 포함되어 있습니다.
이 repo가 제공하는 것 :
이 코드는 Ubuntu 16.04, Cuda 9.0, Cudnn 7.1 환경 2 개의 NVIDIA 1080TI GPU에 따라 테스트됩니다.
Anaconda 3이있는 Python 3.6.5 버전은 개발에 사용됩니다.
demo 폴더에서 빠른 데모를 시도 할 수 있습니다.
demo 폴더에서 input.jpg 및 사전 훈련 된 스냅 샷을 준비하십시오.bbox_list 설정하십시오.root_depth_list 설정하십시오.python demo.py --gpu 0 --test_epoch 24 실행하십시오.output_pose_2d.jpg 와 3D 포즈를 보여주는 새 창을 볼 수 있습니다. ${POSE_ROOT} 다음과 같이 설명됩니다.
${POSE_ROOT}
|-- data
|-- demo
|-- common
|-- main
|-- tool
|-- vis
`-- output
data 에는 데이터로드 코드와 이미지 및 주석 디렉토리에 대한 소프트 링크가 포함되어 있습니다.demo 에는 데모 코드가 포함되어 있습니다.common 3D 다중 인용 포즈 추정 시스템을위한 커널 코드가 포함되어 있습니다.main 네트워크 교육 또는 테스트를위한 높은 수준의 코드가 포함되어 있습니다.tool 에는 데이터 사전 처리 코드가 포함되어 있습니다. 이 코드를 실행할 필요는 없습니다. 아래에서 미리 처리 된 데이터를 제공합니다.vis 에는 3D 시각화를위한 스크립트가 포함되어 있습니다.output 에는 로그, 훈련 된 모델, 시각화 된 출력 및 테스트 결과가 포함됩니다. 아래와 같이 data 의 디렉토리 구조를 따라야합니다.
${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
압축하지 않고 Google 드라이브에서 여러 파일을 다운로드하려면 시도해보십시오. Google 드라이브 링크에서 데이터 세트를 다운로드하려고 할 때 '다운로드 제한'문제에 문제가있는 경우이 트릭을 사용해보십시오.
* 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.
아래와 같이 output 폴더의 디렉토리 구조를 따라야합니다.
${POSE_ROOT}
|-- output
|-- |-- log
|-- |-- model_dump
|-- |-- result
`-- |-- vis
output 폴더를 작성하는 것이 좋습니다.log 폴더에는 교육 로그 파일이 포함되어 있습니다.model_dump 폴더에는 각 epoch에 대한 저장된 체크 포인트가 포함되어 있습니다.result 폴더에는 테스트 단계에서 생성 된 최종 추정 파일이 포함되어 있습니다.vis 폴더에는 시각화 된 결과가 포함되어 있습니다.$DB_NAME_img_name.py 실행하여 .txt 형식으로 이미지 파일 이름을 얻으십시오.preds_2d_kpt_$DB_NAME.mat , preds_3d_kpt_$DB_NAME.mat )을 single 또는 multi 폴더에 배치하십시오.draw_3Dpose_$DB_NAME.m 실행하십시오 main/config.py 에서 사용할 데이터 세트를 포함하여 모델의 설정, 네트워크 백본 및 입력 크기 등을 변경할 수 있습니다. main 폴더에서 실행하십시오
python train.py --gpu 0-1GPU 0,1에서 네트워크를 훈련시키기 위해.
실험을 계속하려면 실행하십시오
python train.py --gpu 0-1 --continue --gpu 0,1 --gpu 0-1 대신 사용할 수 있습니다.
output/model_dump/ 에 훈련 된 모델을 배치하십시오.
main 폴더에서 실행하십시오
python test.py --gpu 0-1 --test_epoch 20 20 번째 에포크 훈련 모델로 GPU 0,1의 네트워크를 테스트합니다. --gpu 0,1 --gpu 0-1 대신 사용할 수 있습니다.
여기서 나는 posenet의 성능을보고합니다.
평가를 위해 test.py 실행하거나 Human36M 에 평가 코드가 있습니다.

평가를 위해 test.py 실행하거나 Human36M 에 평가 코드가 있습니다.

평가를 위해 test.py 실행하십시오. 그런 다음 data/MuPoTS/mpii_mupots_multiperson_eval.m data/MuPoTS/data mpii_mupots_multiperson_eval.m을 이동하십시오. 또한 data/MuPoTS/data 에서 테스트 결과 파일 ( preds_2d_kpt_mupots.mat 및 preds_3d_kpt_mupots.mat )을 이동하십시오. 그런 다음 평가 모드 인수와 함께 mpii_mupots_multiperson_eval.m 실행하십시오.

MSCOCO 데이터 세트에서 추정 된 3D 인간 뿌리 좌표를 추가로 제공합니다. 좌표는 3D 카메라 좌표계에 있으며 초점 길이는 x 및 y 축 모두에 대해 1500mm로 설정됩니다. 내 논문의 보충 자료에서 식 2 또는 방정식을 사용하여 초점 길이와 해당 거리를 변경할 수 있습니다.
@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}
}