-
VideoPose3D 설치 방법Intern/KIST 2021. 9. 8. 22:46728x90
[들어가기 전에]
1) 아래의 내용은 https://github.com/facebookresearch/VideoPose3D 에서 확인하실 수 있습니다.
2) Videopose3D 은 Human3.6M 데이터셋과 HumanEva 데이터셋을 기반으로 설계되었습니다.
해당 데이터셋들을 다운받기 위해서는 각 데이터셋의 공식 웹페이지에 계정을 생성해야 하나, 이때
Human3.6M의 경우 회원가입 시 데이터 관리자 측에서 승인을 해 주기까지 기다리셔야 합니다.
(본인의 경우 3주가 넘게 기다렸는데도 연락이 없었습니다.)
3) Human3.6M, HumanEva 와 같은 데이터셋을 설치하지 않아도 inference 작업은 가능합니다.
이에 관하여는 아래 서술을 참고하시거나, 다음 링크의 안내를 읽어보시면 되겠습니다.
https://github.com/facebookresearch/VideoPose3D/blob/master/INFERENCE.md
[VideoPose3D 설치]
1. 코드 다운로드
- git clone https://github.com/facebookresearch/VideoPose3D.git
2. 미리 학습된 모델 다운로드
mkdir checkpoint
cd checkpoint
wget https://dl.fbaipublicfiles.com/video-pose-3d/pretrained_h36m_cpn.bin
wget https://dl.fbaipublicfiles.com/video-pose-3d/pretrained_humaneva15_detectron.bin
cd ..
3. common 폴더에서 __init__.py 생성
cd common
touch __init__.py
[데이터셋 다운로드]]
- Human3.6M 데이터셋 다운로드
1) Human3.6M 데이터셋 공식 홈페이지(http://vision.imar.ro/human3.6m/description.php) 회원가입
- 저는 이곳에서 막혔습니다.
- HumanEva 데이터셋 다운로드
1) HumanEva 데이터셋 공식 홈페이지(http://humaneva.is.tue.mpg.de/) 회원가입
2) Downloads – HumanEva_I 에서 CD-size tar archive(Linux) 데이터 다운로드
- 이때, Part15가 다운이 안될텐데
http://humaneva.is.tue.mpg.de/main/download?file=HumanEvaI_Data_CD15.tar
로 접속하면 다운받아집니다.
3) 다운받은 데이터셋 압축해제
tar -x -M –file=HumanEvaI_Data_CD1.tar
Prepare volume #2 for HumanEvaI_Data_CD1 and hit return: n HumanEvaI_Data_CD2.tar
Prepare volume #2 for HumanEvaI_Data_CD2.tar and hit return:
Prepare volume #3 for HumanEvaI_Data_CD2.tar and hit return: n HumanEvaI_Data_CD3.tar
Prepare volume #3 for HumanEvaI_Data_CD3.tar and hit return:
...
Prepare volume #19 for HumanEvaI_Data_CD18.tar and hit return: n HumanEvaI_Data_CD19.tar
Prepare volume #19 for HumanEvaI_Data_CD19.tar and hit return:
4) Source code v. 1.1 다운로드 후 데이터셋 폴더에서 압축 해제
5) Release_Code_v1_1_beta/HumanEva_I 의 내용물들을 Release_Code_v1_1_beta/ 로 복사
6) Critical HumanEva Dataset Update 를 다운 후 압축 해제
7) Critical_Update_OFS_file 내의 S1, S2, S3, S4 디렉토리의 Sync_Data 내용물들을
원 데이터의 S1/Sync_Data, S2/Sync_Data, S3/Sync_Data, S4/Sync_Data에 각각 복사
8) (64비트 컴퓨터인 경우),
Release_Code_v1_1_beta/@sync_stream/sync_stream.m의
202번째 줄 ImageStream(I) = image_stream(image_path{I}, start_image_offset{I));
ImageStream(I) = 0; 으로 수정
9) data/ConvertHumanEva.m을 Release_Code_v1_1_beta/로 복사 후 실행
[inference]
1. pretrained model 다운 https://dl.fbaipublicfiles.com/video-pose-3d/pretrained_h36m_detectron_coco.bin
- 이후 pretrained_h36m_detectron_coco.bin을 checkpoint 디렉토리에 넣어줍니다.
2. 실행시킬 영상 준비
- 유튜브 등지에서 원하는 영상을 다운받습니다.(여러 개도 가능!)
- 이때 사람 한 명만 나오는 영상을 받으시는 것이 좋습니다.
(VideoPose3D는 한 번에 여러 명을 다루지 못하기 때문입니다.)
- 영상의 fps를 50으로 변환시키는 것을 추천합니다.
이는 필수적인 작업은 아니며, 단지 Human3.6M이 50fps의 비디오로 학습되었기 때문에
이를 맞춰주기 위함입니다.
( ffmpeg -i input.mp4 -filter "minterpolate='fps=50'" -crf 0 output.mp4 를 통해 변환 가능합니다!)
3. 2D keypoint 추출
cd inference
python infer_video_d2.py \
--cfg COCO-Keypoints/keypoint_rcnn_R_101_FPN_3x.yaml \
--output-dir output_directory \
--image-ext mp4 \
input_directory
# input directory, output_directory는 별도로 만드셔야 합니다.
4. custom dataset 생성
- 먼저, 생성할 데이터셋의 이름을 정해줍니다. (여기서는 dance로 하겠습니다.)
- data 디렉토리에서 다음 명령어를 실행합니다.
python3 prepare_data_2d_custom.py -i /path/to/detections/output_directory -o dance
-i 를 적절히 수정하여 줍니다.
5. VideoPose3D 실행
python3 run.py -d custom -k dance -arc 3,3,3,3,3 -c checkpoint --evaluate pretrained_h36m_detectron_coco.bin --render --viz-subject input_video.mp4 --viz-action custom --viz-camera 0 --viz-video /path/to/input_video.mp4 --viz-output output.mp4 --viz-size 6
위에서 --viz-subject, --viz-video, --viz-output 을 적절히 수정하여 줍니다.
728x90'Intern > KIST' 카테고리의 다른 글
가상환경 (0) 2021.09.10 MeTRAbs Absolute 3D Human Pose Estimator 설치 (0) 2021.09.08