VIBE(Video Inference for Human Body Pose and Shape Estimation) 살펴보기 및 코드 실행하기

aarchiiive·2023년 2월 22일
0
post-thumbnail

** 본 포스트는 VIBEvibe_win_install를 참고하였습니다.

VIBE란?

2020년 CVPR에서 발표된 pose & shape estimation model이다. 모션을 캡쳐할 때는 보통 전용 스튜디오에서 여러 대의 카메라를 이용해서 해야하지만 VIBE는 이미지 한장으로 부터 pose를 알아낼 수 있다.

video sequence를 input으로 받고 generator 기반으로 자세를 추정한 후 SMPL parameter를 얻을 수 있다.

사실 프로젝트에서 FBX로 뽑는 작업이 필요했는데 VIBE에서 SMPL을 이용해서 FBX로 추출하는 방법이 있다고 해서 바로 코드를 실행해보았다...!

환경 변수 설정하기(ffmpeg)

윈도우 검색창에 “시스템 환경 변수 편집”을 검색합니다.

오른쪽 하단의 “환경 변수” 버튼을 클릭합니다.

그리고 사용자 변수에서 Path를 클릭 후 편집 버튼을 클릭합니다.
새로 만들기를 누른 후 압축을 푼 VIBE-2023 폴더 안의 mocap\ffmpeg-5.1.2-essentials_build\bin의 경로를 복붙합니다. (ex. C:\Users[사용자 이름]\Desktop\VIBE\mocap\ffmpeg-5.1.2-essentials_build\bin 복붙, 코드 폴더(VIBE-2023)가 바탕화면에 있다고 가정)

Anaconda 가상환경 설정

anaconda prompt를 실행합니다. (코드 폴더가 바탕화면에 있다고 가정)

cd Desktop
git clone https://github.com/mkocabas/VIBE.git
conda create -n vibe python=3.7
conda activate vibe 
pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu113
cd Desktop/VIBE
install_conda.bat
cd yolov5
pip install -r requirements.txt
pip install -U pillow

torch는 pip로 install해보긴 했는데 버전이 안맞으면 계속 torch.cuda.is_available()이 False여서 다른 버전은 아래 링크 참고!!

INSTALLING PREVIOUS VERSIONS OF PYTORCH

만약에 버전이 안맞을 경우 conda 가상환경 다시 만드는 법

conda deactivate
conda env remove -n vibe
conda create -n vibe python=3.7 

여기까지 하면 삭제 후 가상환경이 다시 생성된다. 위의 과정 중 자신의 pc에 맞는 torch 버전으로 새로 설치하고 나머지는 똑같이 하면 된다.

conda activate vibe 
# pip install 현재 pc에 맞는 torch 버전 설치하기!!!
cd Desktop/VIBE-2023
install_conda.bat
cd yolov5
pip install -r requirements.txt
pip install -U pillow

실행하기

먼저 vibe_win_install의 파일들을 받아 VIBE 폴더에 복붙해야 합니다!!

데모 실행하기 → demo_alter.py 실행하기

python demo_alter.py

만약 다른 비디오를 실행하고 싶다면 아래 명령어를 실행하면 된다.

python demo_alter.py --vid_file [동영상 파일 이름].mp4

FBX 파일로 export하기

아래 링크를 눌러 SMPL_unity_v.1.0.0를 다운로드 받는다.(회원가입 필요)

SMPL

압축을 풀어 폴더를 통째로 복사하면 된다. 경로는 아래와 같다.

링크를 눌러 다운로드 받는다. 이미 Blender가 설치되어있으면 안의 2.82 폴더만 복사하면 된다. 설치 안되있으면 2.82 버전 설치하기!

Blender 2.82 Download

C:\Users[사용자 이름]\anaconda3\envs\vibe의 경로에 2.82 폴더를 그대로 복붙하면 된다.

Anaconda를 실행한다. 중요한건 위에서 demo를 한번 실행해서 .pkl 파일이 있어야 합니다!!

conda activate vibe
pip install bpy

왜인지 모르지만…. bpy를 지웠다 다시 설치하니까 잘 됐다.(넘어가서 잘되면 안 해도 됨) 재설치 하는 방법은 다음과 같다.

pip uninstall bpy
pip install bpy

fbx_output.py 실행하기 → 실행하기 전에 블렌더 열어놓기

cd Desktop/VIBE-2023
python lib/utils/fbx_output.py --input output/golf/vibe_output.pkl --output output/golf/output.fbx --fps_source 30 --fps_target 30

코드 실행이 설정했던 경로인(output/golf/output.fbx) 폴더에 output.fbx가 생긴다.

이제 Blender로 다시 돌아가서 File>Import>FBX를 클릭한다.

그리고 위에서 output으로 설정했던 경로로 설정한 다음 ouput.fbx를 선택하고 import FBX를 클릭한다.


)

여기까지 하면 캐릭터가 바닥에 누워있는 모습이다.

뼈대를 클릭하고 오른쪽 Properties 창에서 Show in viewport를 체크 해제 해준다.(visibility 검색하면 편함)

결과....!

엉성하지만 나름 뿌듯했다...

profile
Post Anything

0개의 댓글