-
[논문 세미나] Recovering Non-Rigid 3D Shape from Image StreamsContribution 세미나/3D model 2023. 12. 26. 15:51
이후 3d model을 활용한 pose estimation 논문을 보려고 하다보니 사전지식이 많이 부족한 걸 알게 되었다..
그래서 reference가 되는 논문을 타고타고 가다보니 2000년도 논문까지 보게 되었다..
우선 내가 아는 지식선에서 설명을 시작하겠다.
Introduction
Single 카메라로 녹화된 영상에서 3d non-rigid shape model 복원이 목적.
다시 말해서

K개의 Key frame에 있는 point 정보를 가지고

3D shape를 예측
덤으로 카메라 parameter도 같이 예측 (Rotation, translation, scale)
Proposed method

3D shape은 K개의 key frame에서 나온 3d shape의 linear combination으로 구할 수 있다.
(아직은 key frame의 3d shape은 모르는 상황)

R은 카메라 rotation matrix (카메라좌표계에서 이미지좌표계로 변환하는데 사용)
T는 카메라 translation (이미지 좌표계에서 bias 느낌)
l은 scale of the projection과 동일한 역할
해당 식은 카메라 parameter를 사용해서 3d shape이 이미지에서 어떻게 보이는지를 계산하는 식
(물론 여기서 카메라 parameter는 아직 모르는 상황)
여기서 T값은 모든 2d point의 평균값으로 대체 (각 point에 대한 K개 key frame의 평균값)
이를 빼주게 되면 아래와 같이 정리 가능
이러한 방식을 N개의 이미지에 대해서 적용한다면

여기서 우리가 유일하게 알 수 있는건 N개의 이미지에서 찾은 2d point 정보
이를 가지고 l, R, S 전부 찾는게 목적 (이게 가능한가..?)
여기서는 SVD를 사용한다.
SVD를 사용해서 W를 분해하고 (아래 그림은 다른 예시, notation 다름)

rank 3K에 해당하는 정보만 사용
즉 Q와 B는, U, Sigma, V의 조합으로 구할 수 있음
여기서 Q를 다시 SVD를 사용해서 분해
rank 1에 해당하는 정보만 사용해 l과 r을 구함
여기서 문제점은
Q와 B를 SVD를 통해 구하게 되면 unique한 값을 얻을 수 없음
(임의의 matrix G를 사용하여 QG, G^-1B를 만들면 decomposition이 가능한 새로운 Q,B를 생성할 수 있음)
이를 해결하기 위해 우리가 아는 rotation matrix의 특징을 사용함
(RR^T = I)
즉 N개의 frame에서 구한 모든 R이 해당 조건을 최대한 만족하는 G를 구한다 (이는 least squares 문제를 푸는것으로 해결)
해당 G와 SVD를 통해 나온 결과를 사용하여 최종 parameter를 모두 구할 수 있음 (l, R, S)Experiment

실험은 간단하게 하나만 공유, K의 값에 따른 error의 변화를 나타냄
'Contribution 세미나 > 3D model' 카테고리의 다른 글
[논문 세미나] Learning Category-Specific Mesh Reconstructionfrom Image Collections (0) 2023.12.28 [논문 세미나] View Synthesis by Appearance Flow (0) 2023.12.28