세미나 필기 | 3월 17일 Depth-based human 3D reconstruction
재밌겠다. 내가 요새 3D reconstruction과 관련된 과제를 하고 있기 때문에 좀더 기대가 됨...
앱스트랙을 보니 다시점 깊이맵으로부터 포인트 클라우드를 추출하고 융합해서 3D 표면을 나타내는 방법, 그리고 단시점 정면 깊이맵으로부터 후면 깊이맵을 생성하는 방법 이 두 가지를 나타내는 거 같은데... 기대가 된다.
최욱 교수님은 카이스트에서 학석박을 모두 다 하셨고 주로 컴퓨터 비전을 연구하신듯. 삼성전자와 ... 뭔가 하셨음. 아무튼 뭔가 많이 하셨음. 영어를 잘 못해서 못알아들었음. 인천대? 교수님이심
필기 시작!
3D reconstruction
휘트니스, 헬스케어, 가상 옷입히기 등 아무튼 사람을 3D 모델링하는게 여기저기 많이 쓰임.
그래서 어떻게 정확하게 3D human reconstruction을 할 것이냐?
laser scanner, multi-view camera system 이런 두가지 방식이 있음.
아마 다시점 카메라에 대해서 설명하실 예정인듯.
multi-view camera system
다시점 카메라 시스템은 일단 두개의 카메라 세트로 되어잇는데 하나는 RGB, 하나는 depth camera로 되어있고, 이렇게 쌍으로 된 카메라들이 여러 각도에서 대상을 찍게 됨.
이때 다시점 카메라 각각에서 좌표계가 다르고, 서로 어떻게 좌표 변환을 해야 하는지 알기 힘드므로 문제가 됨.
X1 = R1X0+T1 이런 식으로 좌표끼리 변환하는 공식임.
이러한 extrinsic calibration을 하기 위해서는 이론적으로 최소 4쌍의 좌표가 있어야 2개의 좌표계를 서로 변환하는 파라미터들을 모두 구할 수 있음.
3D point cloud
이렇게 extrinsic calibration을 하고 나면 다시점 카메라로부터 얻은 여러 3D point cloud를 융합할 수가 있게 됨.
depth camera에서 point cloud의 위치를, color camera로부터 색을 알아서 3D 형태를 구성할 수가 있음.
<Iterative K-closest Algorithm for Accurate registration of point cloud>
Goal of research
그래서 모든 카메라들끼리 calibrated 되었다고 하고, color/depth image쌍이 aligned 하다고 가정함. 이때 measured depth values들이 에러가 있을 것임.
이러한 상황에서 더 정확한 3D construction을 할 것인가?
Iterative Closest Point (ICP)
한 쌍의 point clouds S_s, S_r이 있을 때, 상응하는 cloud point쌍을 찾는 알고리즘
1992년 논문 암튼 있음 요약이 안됨
cost function을 iterative하게 minimize해서 좋은 alignment를 얻게 됨
point-to-plane distance
레퍼런스 포인트 클라우드 평면으로부터 법선벡터를 구하고, 법선벡터 방향(표면에 수직인 방향)으로 점과의 거리를 구함.
point-to-point 거리를 구하는 방식보다 varying point resolution에 대해 robust함
color-supported correspondence search
이건 이미지를 보면 바로 이해
Probabilistic correspondence
early stage에서는 아주 inaccurate해서, 모든 point pair에 대해서 matching probability를 할당함. 즉, 거의? global solution? 을 얻고자 ? 함
위 모든 것을 합쳐서 general 한 알고리즘을 제안함.
이때 Gauss-Newton step을 사용하여 최적화함
rotation, translation을 incremental하게 update함.
가우스뉴턴 자세한 부분은 논문에서 다시보기
여기까지는 novel한 건 없음.
Time-of-Flight depth measurement
Time-of-Flight 카메라는 노이즈, systematic 에러가 많음.
이때 conve......뭐시기 필터를 .. ...? 사용하면 도움이.. ?? ?
Key idea:
depth value도 함께 최적화에 사용하면 어떨까?
역시 depth값에 대한 가우스-뉴턴 부분은 논문에서 확인
그런데 이때, corresponding point가 없는 source point도 존재함.
--> corresponding point가 있는 point와 함께 이동함 << ?????????????
시간이 없어서 설명하시지 않ㅎ음???
Synthetic RGB-D images
레이저 스캐너는 넘 비싸서 3D mesh model을 렌더링해서 사용하엿음
Multi-view depth refinement results
기존의 방법보다 정확하다는 걸 수치로 알 수 있으나 여기에는 쓰지 않겠다
Qualtitative result
확실히 좋아보이긴 한다...
<3D Human Modeling from a Single RGB-D Image>
360도를 다 둘러싸서 감지할 수 있는 레이저 스캐너나 다시점 카메라 시스템은 너무 비쌈. 그래서 카메라 1개만 사용하여 전체를 reconstruct 가능하면 좋겠음
Single RGB image-based method
정확도가 별로 안좋음...
Monocular depth-based method
alignment가 잘 안됨
Time-of-flight depth images
일단 노이즈가 정말 많고 별로 정확하지 않음
Goal of research
단시점 뷰로부터 전면 뷰, 후면 뷰 모두 생성하고 싶고, 노이즈와 missing data를 복원해냈으면 좋겠음
High-presicion mesh models
D-Faust dataset을 사용했는데, 거의 naked해서 뭔가 다른 데이터셋도 찾아봄
PVHM dataset은 옷을 입고 있는데 데이터셋이 그렇게 안커서 augmentation을 사용해서 보완함
Missing data modeling
렌더링된 이미지는 missing data가 없으니까 랜덤으로 데이터를 제거했음
이러한 방식으로 missing data와 depth noise를 가지는 synthetic depth image를 제작함
즉, noisy input으로부터 같은 좌표계에서의 전면, 후면 depth image를 reconstruction하고자 함.
(단순한 denoising은 detail이 없어지는 문제가 있음)
U-Net을 2가지로 훈련했는데, 하나는 1개 모델이 두 기능을 다 하는거, 하나는 2개의 모델이 각각의 기능을 하는걸로 만들었음
Actual Dataset
키넥트 사용해서 데이타셋 만들엇음
Point cloud reconstruction accuracy
결과가 좋았음
Qualitative results
눈으로 보고도 믿기지 않는다 정녕 이게 가능한 일이란 말인가
와.. 개쩐다
뒤에 두개는 single-color image로 한것이라고 함
이거 U_b,pure 왜 잘 안나왔다고 그랬는데 내가 감탄하느라 못들었음
컬러 카메라 모델로만 한 거는 카메라가 옷이 없는 사람 정면 한가운데(배꼽?)을 쳐다보고 있다는 가정이 필요한데 프랙티컬하지 않으므로 depth를 사용해야 함
Conclusion
- 다시점 RGBD, 단시점 RGBD 셋업에서의 알고리즘
- 손, 표정, 머리카락 같은 디테일이 정말 중요하고 어려운데 depth 카메라로도 잘 잡히지 않음. data-based, model-based 방식을 잘 조합하는게 중요할 것으로 보임.
+)
복셀 방식은 해상도의 문제가 있음 ㅠ
댓글
댓글 쓰기