11월, 2023의 게시물 표시

얼굴 이미지로 메타휴먼 생성하기

2D 얼굴 이미지를 3D 메시로 만들어 언리얼 메타휴먼을 생성해보는걸 해봤습니다. 결과가 썩 만족스럽지는 않지만 전체 과정을 한 바퀴 돌았으니 여기까지 한 작업을 간단히 정리하고 퀄리티 업으로 넘어가기로 합니다. 본문에서 한 줄로 짧게 넘어가는 과정이 실제로는 그렇게 간단하진 않습니다. 직접 적용하려면 파이썬, 블렌더, 언리얼에 대해 어느 정도 사전 지식이 필요합니다. 기본적인 아이디어의 얼개는 다음 동영상에서 가져왔습니다. https://youtu.be/kz13lcOQcig?si=TRlwu_A5ojT7ulKX 먼저 얼굴 이미지를 고릅니다. 일단 가볍게 테스트할 용도로 StableDiffusion이 생성한 이미지를 한 장 가져옵니다. https://www.ptsearch.info/articles/detail/249ef784-e391-4b6c-8d8c-a36c3f25192b 전형적인 요즘 흔히 보이는 생성 이미지인데 얼굴이 잘 보여서 작업이 잘 될 것 같아 이걸로 골랐습니다. 그 다음에는 이미지를 3D 메시로 변환해야 하는데, 이 작업을 위해 얼굴 이미지에서 5군데의 점(양쪽 눈, 코, 입의 양쪽 끝)을 찾아야 합니다. 저는 다음 라이브러리를 이용했습니다. https://github.com/ipazc/mtcnn 파이썬을 설치하고 처음에 선택한 이미지에서 이 라이브러리를 돌려주면 5군데의 점이 나옵니다. 점들을 txt 파일로 저장하고 다음 라이브러리를 세팅해서 이미지와 점 배열을 넣고 돌려주면 3D 메시(OBJ 포맷)가 나옵니다. https://github.com/sicxu/Deep3DFaceRecon_pytorch 메타휴먼으로 넘기기 전에 블렌더에서 UV를 만들어 줍니다. 이 과정은 처음 나온 동영상에 잘 나와있습니다. 매번 동영상을 보기가 번거로워서 블렌더에서의 작업 단계를 정리합니다. 씬을 비우고 OBJ 파일 임포트 UV Editing으로 이동해서 빈 UV 이미지 생성 빈 UV 이미지에 이름 지정 메시를 선택하고 UV 메뉴에서...