codingeverybody / codingyahac

https://coding.yah.ac
292 stars 50 forks source link

Face reconstruction 방향에 대해서 질문드립니다. #699

Open CasselKim opened 5 years ago

CasselKim commented 5 years ago

해결하고자 하는 문제

안녕하세요. 코딩야학 프로젝트 진행중인 대학생입니다. 개인 코딩야학 깃허브 페이지

제 페이지를 보시면 알겠지만 제가 구현하려는게
2D 이미지 -> 3D 모델링 -> 온라인게임 커스터마이징 파일 생성 입니다. 그래서 제가 시도해본 방법이

  1. OpenCV Facelandmark 구현(성공)
  2. 페이스북의 DeepFace 구현 (Frontalization에서 막힘)
  3. 깃허브페이지의 Face3d 진행 (MATLAB 기반에서 막힘)

입니다(정확한건 여기에 기록해두었습니다)

그런데 검은사막 온라인은 커스터마이징파일을 회사만의 인코더(Amiga 아니면 PAC 인듯)를 사용해서 제가 파일을 생성하기가 난해했습니다.

특히 3번 Face3D는 확신에 차서 진행했는데 하고보니까 MATLAB과 C++언어로 모델을 구현한 다음에 그 모델들을 Render 하고 Rotate 한 뒤에 2D Face로 만드는 내용이더라구요.

그래서 제가 질문드리고 싶은 내용은,
제가 어떤 방향으로 개발방향을 잡아야 할 지 조언 부탁드립니다.

Python 기반으로 개발방향을 돌려야할까요 아니면 MATLAB을 공부해서 저 모델로 밀고나가는게 맞을까요?

일단 지금 생각은

2D 이미지에서 3D 모델 생성 -> 각 좌표 값으로부터 커스터마이징 파일 생성

에서

2D 이미지에서 3D Landmark 찍기 -> 커스터마이징 페이지에서 캐릭터 얼굴에 3D Landmark 찍기 -> 직접 얼굴 부위 parameter들 조절해가면서 3D Face comparison -> Gradient Decent 또는 Genetic Algorithm으로 Loss 줄이기 입니다.

환경

Window10, Python

CasselKim commented 5 years ago

현재 3D Landmark까지 구현완료했습니다