AIST++ 데이터 사용해보기
win10 환경에서 사용해보려 한다.
데이터셋의 다운로드는 아래 링크에서 하면 된다.
https://google.github.io/aistplusplus_dataset/download.html
사용을 해보기 위해서 AIST++ 뷰어를 찾아보다가 아래 깃헙을 발견했다.
https://github.com/google/aistplusplus_api
설치 내용도 간단해서 한번 진행해봤다.
이름은 AISTPP-Env로 했고, 파이썬 버전은 3.9로....
인스톨 과정은
pip install -r requirements.txt
python setup.py install
이 두줄로 끝났다. 좋네...ㅋㅋㅋㅋ
데모를 돌려보자.
python demos/run_vis.py --anno_dir dataset/aist_plusplus_final --video_dir dataset/aist_plusplus_final/resources/ --save_dir ./visualization/ --video_name gBR_sBM_c01_d04_mBR0_ch01 --mode 2D
폴더를 적당히 세팅해주고 위와 같은 명령어로 돌려봤는데
ffmpeg이 설치되어있지 않아서 발생하는 에러가 있는거 같아서, 아래 링크로 가서 빌드된걸로 설치하고, 환경변수(PATH) 설정까지 끝내줬다.
https://github.com/BtbN/FFmpeg-Builds/releases
그러고나면
이 에러가나는데, 이게 뭘까?
pip install absl-py
이걸로 설치하면 된다.
다음 에러다. 이건 run_vis 파일을 aistplusplus_api 폴더로 옮기는 방법으로 임시조치했다.
pip install anyposelib
pip install ffmpeg
pip install smplx <- 이거 하지 말고, https://github.com/liruilong940607/smplx 를 빌드해서 설치해야 스케일 이슈가없음
pip install ffmpeg-python
까지 해주고 아래 명령어를 실행시키면,
python run_vis.py --anno_dir dataset/aist_plusplus_final --video_dir dataset/aist_plusplus_final/resources/ --save_dir ./visualization/ --video_name gBR_sBM_c01_d04_mBR0_ch01 --mode 2D
뭔가 되는 듯 한데? 시간은 한 1분 정도 걸린거 같다.
결과물은 위와 같이 나온다.
이제 3D 키포인트도 뽑아서 보자. 다른건 다 똑같고 마지막에 mode만 3D로 바꿔주면 된다.
python run_vis.py --anno_dir dataset/aist_plusplus_final --video_dir dataset/aist_plusplus_final/resources/ --save_dir ./visualization/ --video_name gBR_sBM_c01_d04_mBR0_ch01 --mode 3D
3D도 해봤는데 사실 뭐가 다른지 모르겠다. 뷰포인트를 못바꾸니..
이제 smpl로 넘어가자,
위 홈페이지에 들어가서
파이썬용 SMPL을 받아준다.
1.1.0 버전을 받아봤다.
이렇게 보이도록 세팅하고
python run_vis.py --anno_dir dataset/aist_plusplus_final --video_dir dataset/aist_plusplus_final/resources/ --smpl_dir smpl --save_dir ./visualization/ --video_name gBR_sBM_c01_d04_mBR0_ch01 --mode SMPL
위 명령어를 돌리면
smpl 파일명 바꾸라고 나온다. 바꿔주자....
models 폴더에서 하나 빼다가 이름만 바꿔줬다.
pip install chumpy
음 numpy 버전 에러난다.... numpy 버전을 낮춰주자.
python -m pip uninstall numpy
python -m pip install numpy==1.23.1
이제서야 돌아간다. 과연 결과는?!?!?
뭔가 이상한데?? smpl 모델의 스케일링 이슈가 있는것 같기도 하고?...
혹시나 싶어 smpl을 1.1.0 버전이 아닌 1.0.0 버전으로 바꾸어서 결과를 뽑아본다.
!?!?!?!? 뭐지?.... 일단 비디오를 바꿔본다.
바꿔도 비슷하게 이상한데?...
smpl mesh를 뽑는 명령어를 해봐도
저기 가운데 엄청 조그맣게 메시가 생긴걸 알 수 있다. 이거 어떻게 해결하지?....
https://github.com/google/aistplusplus_api/issues/17
관련하여 질의가 있었다.
pip install smplx
python setup.py install
위와 같이 아무리 해도 잘 안되가지고,
새롭게 AISTPP-Env2 버전을 만들어서pip install -r requirements.txt pip install chumpy
python -m pip uninstall numpy
python -m pip install numpy==1.23.1
pip install trimesh
pip install vedo
를 하고나서
python run_vis.py --anno_dir dataset/aist_plusplus_final --smpl_dir smpl video_name gBR_sBM_c01_d04_mBR1_ch09 --mode SMPLMesh
를 실행시키니
제대로 잘 나온다. 아무래도 smplx 버전 관련 이슈가 있는거 같아서
버전을 기억해둔다.
결과적으로 잘 나와서 다행이다. 이제 AIST를 3DPW로 변환하는 작업을 해봐야겠다.