FLEX: Full-Body Grasping Without Full-Body Grasps
2023 CVPR에 출간된 논문의 코드인 위 깃허브 코드를 세팅해보려고 한다.
시작
그리고 Getting started 파트 설명을 보자.
data 디렉토리 만들기
안에 폴더를 하나 만들어서 다운받은 데이터를 넣는다.
잠만.. 설치부터 해야겠다.
설치
일단 github clone 먼저 뜨자.
dependency 설치를 진행하자.
anaconda 환경을 만들고 의존성관련 설치를 진행해주자.
requirements 설치 오류
필요한 패키지를 설치하는 과정에서 에러 발생
인코딩 문제로 여겨진다.
이전 과정에서 에러나서 그런가 다음 명령어도 에러 생김.
https://allsound.tistory.com/157
위 포스팅을 참고하면 window에서 언어 설정을 바꿔서 해결할 수 있나보다.
이거 Unicode UTF-8 사용을 체크해주고 다시시작하면 된다고 한다.
해볼까.
PC를 재시작하고 시도해봤다.
하지만 psbody-mesh? 라는것을 설치하는 과정에서 또 에러
흠..
예상컨데 결과적으로 psbody-mesh 설치가 안된게 걸린 것 같다.
psbody-mesh에서 막히고 그 다음 설치해야하는 kaolin도 안되니까 진행이 안된다.
에러 SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
setuptools의 버전에 따라 오류가 해결될 수 있는 모양이다.
확인해보니 65.6.3인데
pip install --upgrade setuptools
최신 버전으로 깔고 해보자.
안되네..
MPI-IS mesh
psbody-mesh는 위 github 에서 받아서 컴파일하도록 requirement에 쓰여있는 건데
readme를 보면 리눅스에서 컴파일할 수 있다고 되어있다.
그래서 WSL을 사용해보라고 했었구나..
WSL 설치
powershell을 키고
wsl --install
wsl 설치
wsl --set-default-version 2
WSL 2로 세팅 변경
그리고 재부팅을 하고 ubuntu를 microsoft store에서 설치하자.
설치 후 계정을 만들어주자.
계정과 비번을 새로히 설정해주면 된다.
sudo apt update && sudo apt upgrade
우분투에서 배포판 업데이트를 해준다.
apt는 패키지 업데이트의 개념이다.
설치한 WSL은 윈도우 위에서 일정 파티클을 차지하는 가상머신같은 개념인데,
경로: C:\Users\<사용자 이름>\AppData\Local\Packages\<배포판 이름>\LocalState\ext4.vhdx
해당 경로에서 파티클을 할당하고 있다.
편리하게 탐색기에도 뜬다.
linux 기반 anaconda 설치
이제 linux 기반 세팅이 되었으니 다시 flex 설정을 처음부터 해보자.
일단 anaconda를 설치한다.
cd /tmp
curl -O https://repo.anaconda.com/archive/Anaconda3-2023.07-1-Linux-x86_64.sh
보통 tmp 폴더에 설치하는 모양이다.
bash Anaconda3-2023.07-1-Linux-x86_64.sh
설치한 아나콘다를 실행해보자.
엔터를 누르고
라이선스 동의 yes를 입력한다.
경로 설정을 확인한다.
엔터를 누르면 설치
설치 후 초기화하면 완료
환경 변수 세팅까지 해준다.
source ~/.bashrc
이제 이 명령어로 anaconda prompt를 실행할 수 있다.
shell의 앞에 (base)가 뜬다면 아나콘다가 실행된 것이다.
conda --version
으로 정상 작동되는지 확인
conda update conda
아나콘다 업데이트
linux flex 환경 세팅
conda create -n flex python=3.7.11
conda activate flex
conda install pytorch==1.10.1 torchvision torchaudio cudatoolkit=11.3 -c pytorch
conda install pytorch3d -c pytorch3d
conda install meshplot
conda install -c conda-forge jupyterlab
pip install -r requirements.txt
pip install kaolin==0.12.0 -f https://nvidia-kaolin.s3.us-east-2.amazonaws.com/torch-1.10.1_cu113.html
위 과정을 이번엔 우분투에서 해본다.
과연...?
window에서 안되었던 과정. FLEX안에서 requirements를 install 해보니
psbody-mesh가 또 안되었는데
보니까 gcc 컴파일러가 없어서 그런 것 같다.
gcc 컴파일러 설치
sudo apt install build-essential cmake git
그래도 에러가 난다.
psbody-mesh install 오류
sudo apt-get install libboost-dev
psbody github 설명을 보면 요구ㅏ항에 설치해야하는 게 있었다.
이걸 설치해보자.
오!?
설치가 완료되었다.
컴파일이 안되었던 문제는 역시 이거였구나.
위 에러 사진을 잘 보면 boost관련 스크립트에서 오류가 나는게
이것 때문이었던 모양이다.
pip install kaolin 설치
pip install kaolin==0.12.0 -f https://nvidia-kaolin.s3.us-east-2.amazonaws.com/torch-1.10.1_cu113.html
마지막 명령어를 수행하자.
흠.. 빨간색 ERROR가 거슬리는데 밑에는 설공적으로 설치된 것들이 있다.
부분적으로 충돌한 dependency들이 있는 것 같다.
읽어보니 jupyter-client 7.4.9에서는 tornado 버전이 6.2이상이어야하는데,
현재 6.1이라서 안된다는 것 같네.
pip install tornado==6.2
그래서 6.2로 바꾸면
이번엔 kaolin이 안맞는단다... 아오;;
pip install tornado==6.1
jupyter client가 지금 필요한게 아닌 것 같아서 버전은 6.1로 했다.
시작하기
data 디렉토리 만들기
안에 폴더를 하나 만들어서 다운받은 데이터를 넣는다.
Dependency Files구성을 하자.
Dependency Files 넣기
데이터들을 다운로드 받아서 위 그림대로 구성하자.
위 세 개는 사이트에 가서 회원가입을 하고 받아야하는 데이터들이다.
회원가입이라고 해도 이메일로 인증만 하면 바로 보내준다.
SMPL-X는 첫 번째를 받았다.
MANO는 Models & Code를 받고
GRAB은 object meshes의 GRAB Objects를 받았다.
sbj
replicagrasp.
저거 identifier 파일은 왜 생긴지 모르겠는데 필요 없는 것 같다.
다운받은 MANO 파일 풀어서 models 가져오자
smplx_models mano
smplx도 압축풀고 가져오기
저거 다 필요한 거 맞겠지..?
GRAB의 mesh 들 압축 풀고 obj 폴더에 넣어주기
obj_info.npy도
bps.npz는 어딨지?
아 GRAB 사이트에서 bps.npz도 받아야했었다.
이거 받고 압축 풀어 넣자
다 넣은 것 같다.
Pre-trained Checkpoints 구성하기
이제 예제를 돌릴 수 있는 사전 학습 check points를 받도록 하자.
ckpts는 pretrained_models 안에 만들어 넣자.
필요한 것을 모아볼까?
VPoser v2.0 빨간색을 다운받고 풀어준다.
ckpts 안에 vposer_amass로 넣기
GRAB에서 trained Networks를 받고 풀기
이 안에 두 개를 옮기기
pgp.pth는 사이트 링크주소에서 받아서 넣기
다음 포스팅에서 Example을 실행해보자 😁
'개발 · 컴퓨터공학' 카테고리의 다른 글
FLEX github코드 세팅하기 - 정리 (FLEX: Full-Body Grasping Without Full-Body Grasps) (41) | 2024.09.17 |
---|---|
FLEX github코드 세팅하기 - 2 (FLEX: Full-Body Grasping Without Full-Body Grasps) (16) | 2024.09.16 |
Unreal Engine ML / RL 언리얼 머신러닝 강화학습 플러그인 (unreal ML deformer) (14) | 2024.09.04 |
Visual Studio opengl32.lib 파일을 열 수 없습니다 오류 (0) | 2024.08.21 |
파이썬 알고리즘 입문 · 초보를 위한 python 입력 출력 방식 정리, 반복문 (0) | 2024.07.28 |