본문 바로가기

딥러닝/Paper Review

Unsupervised Stereo matching 관련 논문: Unsupervised Learning of Stereo Matching

728x90
SMALL

안녕하세요 오늘 제가 소개드릴 논문은 Unsupervised stereo matching network의 가장 시초인 논문입니다. 

해당 논문은 ICCV 2017에 accept 되었습니다.

 

그럼 간단히 소개드리도록 하겠습니다.

 

먼저 해당 논문의 Architecture 입니다.

간단히 설명하자면, 해당 논문에서는 일반적인 stereo matching network와 같이 cost volume을 생성합니다. 여기서 cost volume 생성한 것을 input image feature branch를 만들어서 concat을 해줍니다. 그 후 joint filtering을 통해서 좀 더 depth를 refine 할 수 있도록 합니다. 

 

해당 논문에서는 iterative 하게 unsupervised stereo matching을 수행합니다.

위의 Figure 3과 Algorithm 1을 같이 보면서 이해를 하면 됩니다.

먼저 여기서 ML(t)와 MR(t)는 각각 predicted left disparity와 predicted right disparity 입니다.

처음 해당 network를 실행할 때는 random initialization을 통해서 초기 disparity 결과를 뽑습니다.

그 후 ML(t)와 MR(t)를 가지고 left right consistency check를 통해 Confidence map을 만들어 줍니다.

그리고 나서 만든 confidence map을 적용해서 새로운 training data를 만들고 이를 가지고 학습을 진행합니다.

즉, confident 한 영역만 정답이 있다고 가정하고 학습을 또 다시 진행하는 것이죠. 이와 같은 것을 계속 반복해서 해주어서 parameter를 update 합니다.

 

수식으로 조금 더 자세히 설명드리도록 하겠습니다. 

여기서 Pt는 left image와 right image로 이루어진 새로운 training sample을 의미한다고 생각하면 됩니다.

그리고 p는 pixel을 의미합니다. 각 이미지마다 모든 픽셀을 확인해주는데 아래의 tv(p) 식을 이용해 하늘과 같은 영역에 속하는 픽셀은 제외를 하고 loss를 적용합니다.

Cq는 confidence map으로 여기서 W는 warping을 의미하고 right disparity를 left disparity를 이용해서 warping 시킨 후 이를 원래 기존의 left disparity와 비교해 이 값이 특정 threshold인 tc보다 크면 confident 하지 못하다는 것으로 0 크면, confident 하다는 것으로 1을 주어야 하다는 것이며 위에 논문에서 나온 식 (1)은 typo로 생각됩니다. 여기서 0과 1을 바꾸어 잘못 쓴 것 같습니다. 이렇게 최종적으로 confidence map을 만들어주고, 이를 image와 함께 적용해 새로운 data를 생성합니다. 여기서 tv(p)라고 표현된 식은 간단히 하늘과 같은 영역의 픽셀을 날려 준다고 생각하시면 될 것 같습니다. 

 

해당 논문에서는 수식이 이것이 전부인데, 가장 중요한 loss를 쓰지 않았습니다.

loss는 아마 image reconstruction loss를 사용해서 training을 한 것으로 추정 됩니다. 

 

 

결과를 보시면 unsupervised 방식으로 적용한 것 중에 가장 잘 나오는 것을 확인할 수 있습니다.

또한 supervised 방식들과도 성능 평가를 진행하였는데, supervised 방식과 비교해서도 잘 나오는 것을 확인 할 수 있습니다. 

 

그럼 이상 논문 리뷰를 마치도록 하겠습니다.

제가 공부하고 이해한 것이기에 잘못된 부분이 있을 수 있습니다.

잘못된 부분이 있거나, 질문이 있으신 경우 댓글을 달아주시면 확인하도록 하겠습니다!

728x90
LIST