사실 GET3D는 정말 다시 하기 싫었다... ㅎㅎ 하지만 교수님이 한번 더 시도해보라고 하셔서.. 다시 해보기로하였다! ㅎㅇㅌ
지금까지 진행상황은 OBJ파일 기반의 코드를 FBX로 수정하여 렌더링 하는 것 까지 성공하였다! 그래서 해당 렌더링 된 사진을 이용해서 모델을 학습시키면 된다.
But.. 저번에 내가 말하지 않은 오류가 있다.. 비밀로 했었음 ㅎㅎ
사진과 같이 fbx 파일의 3D 모델의 위치가 달라 이상한 곳을 찍어 렌더링 사진이 제대로 나오지 않는 문제가 발생한다. OTL
해당 문제를 수정하지 않고 GET3D를 마무리했었다. 그래서 해당 오류를 고쳐보고자 한다.
해당 오류를 해결하기 위해서 여러가지 생각을 해보았다. 내가 수작업으로 fbx 파일마다 카메라 위치를 조정해볼까라는 생각도 해보았고, 모델의 위치값을 구해서 해당 위치로 카메라를 위치를 옮겨볼까라는 생각도 해보았다.
(사실 생각만 한 것이 아니라 직접 시도해보았는데, 실패했다!)
수많은 시행착오 끝에 카메라 앞으로 3D 모델의 위치를 수정하도록 코드를 구현하였고, 해당 방식을 성공하였다. 아래는 코드의 일부이다.
먼저 3D 모델의 위치를 0, 0, 0으로 이동시키고, 카메라를 이동시킨다. 참고로 Vector값의 y값을 수정하면 좀 더 가까이서 찍거나 멀리서 찍을 수 있다.
해당 방법을 이용해서 아래와 같이 좋은 결과를 출력할 수 있었다.
하지만 또 한가지의 문제가 발생하였다..
해당 문제는 정말 일부의 fbx 파일의 모델에서 사진과 같이 얼굴 일부를 제외하고 투명한 상태로 보이는 오류이다.
해당 오류를 고쳐보려고 여러가지 방법을 시도하였으나, 고치지 못하였다.
하지만 해당 3D 모델들은 흑인 인종을 대상으로만 발생하는 오류라 우리가 만드려는 면접관의 인종은 동양인이기 때문에, 해당 fbx 파일을 사용하지 않으면 되는 문제라 사용하지 않기로 하였다.
다음에는 렌더링 된 사진을 이용해서 학습시켜보도록 하겠다!