1. Related work
이번 주에 설명드릴 논문은 disparity를 구할 때 적용하는 loss 를 제안한 논문입니다. 논문이 제안한 내용을 설명드리기에 앞서 간단한 배경지식을 설명드리고자합니다. 이전에 stereo vision에서 disparity는 주로 hand-craft 방식을 사용해 왔었습니다. 그러나 “Computing the stereo matching cost with a convolutional neural network” 논문을 시작으로 CNN을 이용하게 되었으며 이에 연이어서 Content-CNN, GCNet, PSMNet 등 여러 방법론이 등장하게 되었습니다. 그러나 이러한 방법론들도 기존 hand-craft 방식과 크게 다르지 않은 파이프라인을 가지고 있습니다.
주로 disparity를 구하는 과정은 cost computation, cost aggregation, disparity regression, disparity refinement, 총 4단계로 이루어져있습니다. 이 중에서 cost computation 과정은 cost volume 구하기에 가장 중요한 과정이라 알려져 있습니다. 여기서 cost volume 이란 rectify 된 두 영상에서 수평으로 놓여진 샘플된 영역의 matching cost를 구한 3D tensor 입니다. 즉, 샘플된 영역이 2D 이고 이 영역에 대해 corresponding point를 searching 할 범위 (=1D의 수평 범위)마다의 2D 영역의 cost를 구하기에 3D 라고 생각하시면 됩니다. Cost computation을 한 뒤 cost volume 에 각기 다른 weight를 주거나 영역의 모양을 변화시키는 cost aggregation 과정을 거치게 됩니다. 이렇게 처리한 후 disparity regression을 진행하게 되는데 이 때는 주로 가장 작은 값의 인덱스를 받아오는 soft-argmin 방식으로 하나를 선택해 이를 두 point 간의 disparity 로 선정하는 WTA(Winner-Take-all) 전략을 사용하게 됩니다.
앞서 말씀드린 방법과 이후 적용되는 disparity refinement 까지 disparity 를 구하는 대부분에 방법론에 적용되며 성능 또한 높게 나타났었습니다. 그러나 WTA 방식으로 disparity regression 하게 되면 두 가지 문제가 발생하게 됩니다. 우선, stereo image 가 서로 다른 도메인의 카메라라면 cost computation 과정이 부정확하게 될 수 있습니다. 또한, 이와 같이 일정 범위를 두고 cost volume을 구하게 되면 그 범위 밖의 이웃하는 정보를 사용할 수 없습니다. soft-argmin 의 장점을 보존하며 이러한 단점들을 완화하고자 noise-sampling cross entropy loss를 제안하게 되었습니다.
2. Noise-sampling cross entropy loss
2.1. One-hot cross entropy
Disparity를 regression 하는 여러 network 들은 soft-argmin 방식을 각자 정의하여 사용하고 GCNet 의 경우에는 아래와 같이 정의해서 사용하곤 합니다.
여기서 \widehat{d}(m,n)은 m,n 좌표의 예측된 disparity 값이고,c_{i}(m,n) 은 disparity 후보군 i 번째의 cost map의 m,n 좌표의 cost 값이며, \Phi 는 softmax 연산을 나타냅니다. 이 식을 통해 GCNet 은 기존 미분 불가능하여 network 에 추가할 수 없었던 WTA 전략의 soft-argmin 방식을 추가할 수 있었습니다. 그러나 이 방식은 서로 다른 도메인의 카메라로 찍은 image 일 때의 단점을 해결하지 못하였고, 예측된 disparity 값을 단지 MSE 로 loss를 구하는 GCNet 특성상 cost volume 의 일관성은 무시하고 학습이 될 수 있다는 단점도 여전히 남아 있었습니다. 우선적으로 이종 카메라의 영상일 때를 해결하기 위한 방법으로 one-hot cross entropy를 써서 cost volume 에 penalty를 주려했습니다. 두 도메인의 stereo image 같은 상황에서는 정답인 것 이외의 값은 매우 유사도가 낮기 때문에 softmax 함수는 Dirac delta 함수와 유사하게 나타납니다.
그래서 (1) 식을 (2) 와 같이 수정하여 one-hot cross entropy를 만들고 ground truth 와 다른 상황에 대해서는 penalty를 주어 이종 카메라 간의 부정확한 cost computation을 완화하려 했습니다. 여기서 I는 0 혹은 1을 출력하게 됩니다.
2.2. 3-pixel-hot cross entropy
그러나 one-hot cross entropy 같은 경우에는 subpixel 의 정보를 무시할 수 있다는 단점이 존재하여 이를 보완하기 위해 Content-CNN 의 저자는 3-pixel-hot cross entropy 를 아래와 같이 정의하였습니다.
여기서 \lambda 는 loss weight 입니다. 이를 제안한 저자는 stereo algorithm 을 사용할 때 3px 이내의 정보를 쓰는 것이 좋으며 해당 pixel 주변의 일관성을 보존할 수 있다고 주장했습니다. 그러나 이는 그 몇 pixel 에 대해서만 최적화 되는 sub-optimal 문제가 발생할 수 있습니다.
2.3. Noise-sampling cross entropy loss
이를 해결하기 위해 본 논문의 저자는 다음과 같은 과정을 거쳤습니다. 우선, disparity 를 regression 한다는 것은 아래와 같습니다.
여기서 \epsilon 은 예측 값과 ground truth 사이의 오차입니다.
그리고 soft-argmin 방식을 이용한 disparity regression 은 식 (6)과 같이 나타낼 수 있습니다. 그리고 각 disparity 후보군이 될 확률은 서로 독립적이므로 평균이 0인 Gaussian distribution의 독립항등분포(i.i.d zero-mean Gaussian distribution)를 f(x) 로 채택하는 것이 일반적으로 사용됩니다.
i.i.d zero-mean Gaussian distribution 를 채택하였으니 f(x)는 식 (7)과 같이 나타낼 수 있으며 A는 [0, D_{max}] 이며 A^{c} 는 A의 보수, 즉, [0, -D_{max}] 입니다. Disparity 는 항상 A 범위 안에 존재하여야 하며 반대로 말하자면 A_{c} 의 효과는 식에서 제거해줘야 합니다. 그러한 이유로 두번째 항을 아래 식 (8) 처럼 실제로는 분산이 0일 때 가장 출력 값을 가져야 하는데 이를 0으로 두어 항상 0이 되게 끔 수정하였고 최적의 \phi 는 이를 따르게 됩니다.
이렇게 되면 남은 좌변과 우변의 항을 좌변으로 이항시키고 limitation을 적용하면 아래와 같이 변환할 수 있습니다.
식 (9) 에서 i.i.d zero-mean Gaussian distribution 라는 조건 하에 주어진 ground truth disparity를 이용하여 \phi 를 미분하면 아래와 같은 형식으로 변환이 가능하게 됩니다.
이를 cross entropy loss 에 추가하게 되면 식 (11) 과 같이 나오게 되며 이는 noise distribution 에서 정의 되었기에 저자는 이를 Gaussian noise-sampling cross entropy loss라 정의하였습니다.
그리고 i.i.d noise 식은 종종 sparse 목적의 Laplacian 식으로도 여겨지기 때문에 식 (11) 에서 변형시켜 식 (12) 와 같이 Laplacian noise-sampling cross entropy 도 정의하였습니다.
식 (11) 과 식 (12) 는 noise-sample cross entropy loss로 L_{noise} 와 같이 나타내며 cost volume의 부정확성 개선 및 일관성을 목적으로 정규화시키게 됩니다. 이외에도 식 (13) 과 같은 regression loss L_{regression} 가 있으며 이 둘을 더해 식 (14)와 같이 나타내게 됩니다.
여기서 \mu 는 하이퍼파라미터이며 0과 1사이의 값을 넣게 됩니다.
3. Result
학습과 성능평가는 KITTI 2015 데이터 셋으로 이루어 졌으며 Fig 2. 와 같이 estimation의 성능이 오른 것을 distribution graph로 알 수 있습니다. 또한 실제 효용성에 대해 판단하기 위해 ablation study로 error 를 평가했을 때에는 Table 1. 과 같이 좀 더 나은 것을 보여주었습니다.
이번 논문은 논문 자체의 장 수가 적은 대신 제안하는 바를 formula, performance, ablation study 로 잘 증명한 점이 인상 깊었으며 여러 데이터 셋에 대한 실험 결과가 있었으면 좋았을 것 같다는 생각이 들었습니다.