반응형
내 맘대로 Introduction
이 논문 역시 꽤 오래된 2015년 논문인데 Patchmatch stereo의 multiview 버전이다. 핵심적인 아이디어는 patchmatch stereo와 완전히 동일하고 중간 중간 neighbor pixel을 정의하는 방법을 좀 더 넓은 범위를 효과적으로 보도록 변경한 것이 있다. patchmatch stereo의 아쉬운 부분이 multiview 특성 상 더 많은 시점 정보로 인해 보완되어 전체적인 성능은 많이 올라가 보인다.
MVS의 기초와 같은 논문이어서 기록을 위해 정리하고자 한다.
메모하며 읽기
|
|
앞의 patchmatch stereo recap은 생략. 완전 동일하다. 전체 최적화 과정에서 사용하는 cost function을 가져온 것이라 그냥 똑같은 것. |
|
cost function에 들어가는 Wp(neighbor 정의) 가 바뀌었다. 모든 pixel을 순차적으로 다루는 것이 아니라 그림 (a)처럼 격자 모양으로 red, black region을 나누어서 neighbor를 정의할 때 그림(b)처럼 정의했다. 검정 pixel의 neighbor는 주위 빨강 pixel이 되는 구조다. 그리고 모양도 마름모꼴로 펼쳐 더 넓은 범위를 보도록 했다. 이런 식으로 검정-빨강 번갈아면서 서로 업데이트하도록 디자인을 하면 실제로 성능 향상이 크다고 한다. |
cost function은 그대로 가져왔지만 RGB 대신 gray 를 사용했다는 것(multiview 니까 연산량을 줄이고 이미지 개수로 보상하겠다는 전략 같음)이다. (역시나 연산량 이야기하는데) 더 줄이기 위해선 그림2(c)처럼 neighbor 범위 내에서 sampling 개수를 줄여도 된다고 한다. |
|
implementation detail인데 결국 Patchmatch cost function optimizer를 구현했다는 소리. |
이제 multiview로 확장하는데 기존에는 rectified image를 가정했기 때문에 epiploar geometry를 이용하는 것이 간단했는데 (같은 줄만 대상으로 하면 되니) 사실 multiview 에서는 그게 간단하지 않다. 매번 recitification하면서 사용하는 게 번잡하기 때문이다. 따라서 다시 scene space 즉 real scale 3d space를 사용했다. disparity가 아닌 distance를 다루고 disparity gradient가 아닌 normal을 다루는 식이다. scene space plane을 갖고 있으면 given camera pose를 이용해 homography를 계산할 수 있고 이를 이용해 correspondence를 찾아주는 식으로 구현했다. (지금 보면 당연한 이야기 같은..) |
scene space plane을 초기화할 때 normal은 360도 공간 안에서 고르게 만들어 냈는데 그 수식은 (6)과 같다. depth는 disparity 기준으로 uniform sampling했다. 가까운데가 많이, 먼데가 드물게 뽑히기 때문이다. |
|
비교 대상으로 삼은 view selection은 heuristic하게 이미지 간 카메라 자세 차이가 너무 크지 않은 범위에서 random sampling했다. 그렇게 선별한 view에 대해서 cost를 계산해오면 N개가 얻어지는데 이 중 몇개는 occlusion 때문에 오염된 cost일 것이기 때문에 대충 cost가 낮은 순서대로 정렬해서 K개만 쓰는 식으로 완화했다. |
|
cross check 같은 개념을 multiview로 확장한 것인데 reference view에서 얻어진 결과로 backprojection 해서 3d point를 얻은 뒤, 이 값들은 다른 시점으로 projection해서 비교하는 행위를 반복하는 것이다. 다른 시점에 맺혔을 때 해당 시점이 원래 갖고 있떤 값과 차이가 threshold 밑일 때만 살아남는 식이다. 이 행위는 reference view를 바꿔가면서 여러번 반복한다. |
consistency check 시 사용하는 threshold를 어떻게 하느냐에 따라 복원 정확도와 복원 결과의 밀도가 서로 trade-off된다. |
반응형
'Paper > 3D vision' 카테고리의 다른 글
ACMP - Planar Prior Assisted PatchMatch Multi-View Stereo (0) | 2023.11.08 |
---|---|
ACMM - Multi-Scale Geometric Consistency Guided Multi-View Stereo (0) | 2023.11.08 |
PatchMatch Stereo - Stereo Matching with Slanted Support Windows (0) | 2023.11.07 |
LightGlue: Local Feature Matching at Light Speed (0) | 2023.11.06 |
SuperGlue: Learning Feature Matching with Graph Neural Networks (0) | 2023.11.05 |