[일단 박죠] Get3DHuman을 활용한 아바타 자동 생성 #1

jeyong·2024년 1월 9일
0
post-custom-banner

1. Get3DHuman

GET3D Human은 3차원 인간 형태 모델링 및 렌더링을 위한 고급 프레임워크다.

이 프로젝트의 목표는 사실적이고 정교한 3D 인간 모델을 생성하고 시각화하는 것이다. GET3D Human은 딥 러닝과 컴퓨터 비전 기술을 활용하여 다양한 포즈, 모양 및 질감을 가진 인간 형태의 3D 모델을 생성한다. 그래서 해당 모델을 이용해서 3D 아바타를 생성해 볼 것이다.
사실 해당 모델은 GET3D 모델을 사용해보면서, 같이 공부했던 모델이다. 2달전에 코드를 공개하여서 한번 사용해보기로 했다.

2. 수행 과정

  • 새로운 컨다 환경 생성 및 활성화
conda create -n get3dhuman python=3.8
conda activate get3dhuman

새로운 컨다 환경을 생성하려면 터미널 또는 아나콘다 프롬프트를 열고 다음 명령어를 실행한다.

  • PyTorch 설치
conda install pytorch==1.8.0 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=11.0 -c pytorch

PyTorch는 프로젝트에서 사용하는 주요 라이브러리이므로, 적절한 버전을 설치해야 한다. 본인의 cuda 버전을 확인하고 적절한 버전을 설치해주어야한다.

  • Get3DHuman 코드 다운로드

프로젝트의 코드를 가져오기 위해 Git 리포지토리를 클론하거나, 프로젝트의 웹사이트에서 코드를 다운로드한다.

  • 필요한 라이브러리 설치
cd GET3DHUMAN_CODE_PATH
pip install -r requirements.txt

프로젝트의 루트 디렉토리로 이동한 후, 필요한 Python 라이브러리를 설치한다.

  • 사전 훈련된 모델 다운로드

프로젝트에 필요한 사전 훈련된 모델을 다운로드하고, 이들을 적절한 폴더(예: PRETRAINED_MODELS_PATH)에 저장한다.

  • 추론 명령 실행
python inference.py --model_path PRETRAINED_MODELS_PATH --sample_num 1

모든 설정이 완료되면, 해당 명령어를 사용하여 추론 명령을 실행한다

  • 결과 확인

인퍼런스가 완료되면, 결과는 기본적으로 ./results 디렉토리에 저장된다.

3. 발생 오류 및 해결 방법

No module named 'requests' 오류

ModuleNotFoundError: No module named 'requests'

ModuleNotFoundError: No module named 'requests' 오류는 Python 'requests' 라이브러리가 현재 활성화된 가상 환경에 설치되어 있지 않음을 나타낸다.

해결 방법

pip install requests

sin_vml_cpu not implemented for 'Long' 오류

"/jysong/get3d_human_folder/Get3DHuman/Get3DHuman/surface_tracing.py", line 346, in make_rotate_torch
    sinZ = torch.sin(rz)
RuntimeError: sin_vml_cpu not implemented for 'Long'

torch.sin() 함수는 부동 소수점 타입의 텐서에 대해서만 작동한다. 여기서 rz라는 변수가 정수(Long) 타입이기 때문에 오류가 발생한다. 이를 해결하려면 해당 변수를 부동 소수점 타입으로 변환해야 한다.

해결 방법

앞에 과정들을 전부 수행한다면 아래 사진과 같이 잘 실행되는 모습을 볼 수 있다.

경고들이 많이 뜨긴하지만, 지금은 결과만 보는 단계이니 넘어가겠다.

다음 게시글에서는 생성한 결과들을 보고 분석해보도록 하겠다.

profile
노를 젓다 보면 언젠가는 물이 들어오겠지.
post-custom-banner

0개의 댓글