Search

PIFuHD Demo ( photo → 3D )

요약
AI로 사진 한장을 3D 모델링으로 만들기
분류
AI
태그
python
작성일
2020/06/25
1 more property

reference

개요

레퍼런스 영상을 보면 사진한장을 3D 모델링으로 만드는 과정을 볼수있다.
PIFuHD: Multi-Level Pixel-Aligned Implicit Function for High-Resolution 3D Human Digitization
PIFuHD : 고해상도 3D 인간 디지털화를위한 다중 레벨 픽셀 정렬 암시 적 기능
이라는 기술인데 해상도 낮은 3D 스캐너로 스캔 받은 모델링 정도의 결과는 나오는 것 같다.
영상에서 소개하는 방법은 파이썬을 이용하여 신경망...... 음. 그런 저런 걸 이용하는데 구글에서 서비스하는 colab 에서 진행된다. 파이썬 개발 환경을 웹에서 구현해주는 서비스다.

과정

이 주소의 맨 아래 Colab 을 클릭하면 구글 서비스로 넘어간다.
Copy to Drive 로 복사한다.(구글 로그인 된 상태에서 하세요.)
상단의 Connect 나 왼쪽에 폴더 아이콘을 클릭하면 뭔가 실행 준비를 합니다. 왼쪽 폴더를 누르고 잠시 기다리면 sample_data 폴더가 나타납니다.
왼쪽 폴더 영역에 이미지를 던집니다. 파일명을 간단하게 바꿔주세요.
이제 코드를 실행해봐야죠. 동영상 아래쪽에 Clone PIFuHD repository 가 있습니다. 여기부터 시작입니다. 코드 앞에 중괄화 부분에 커서를 올리면 play 아이콘이 나옵니다. 한번 클릭하면 뭔가 다운로드 되는데 잠시 기다리면 왼쪽 폴더트리쪽에 'pifuhd' 폴더가 추가됩니다.
그다음 코드는 파일을 업로드 하는 과정인데 이미 파일을 업로드 했으니, 그 아래 코드로 넘어가서 코드 한줄을 추가한다. 아래 코드처럼 except 아래 쪽에 업로드한 파일명을 바로 지정해준다.
이제는 남은 코드를 순차적으로 실행하면 된다. 상단 메뉴의 Runtime > Run after 를 실행한다.
몇분을 기다려 Run PIFuHD 까지 진행되면 그림의 위치에 obj 파일이 나타난다.

오류

보통은 5분 안쪽으로 obj 를 만들어주는데 시간이 너무 걸리면 오류가 발생한 것일수도 있으니 좀더 사람이 명확한 이미지로 시도해보세요.

결과

OBJ 생성 성공

배경과 사람이 잘 분리되고 사람을 가리는 물건이 없고 정면으로 서있는 사진이 좋다.
result.zip
5081.6KB

소감

놀랍다. 재밌다. 생각보다 사진 한장으로 정확한 실루엣의 모델링을 얻을 수 있었고, 이질감 없는 뒷모습까지 만들어 냈다. 어떤 부분은 눈에 잘 보이지 않는 디테일까지 표현되었다. sculpting 베이스나 조감도 영상에 사용할 수도 있을 정도는 되는 것 같다.

응원하기, 질문하기