0. M-Estimator란?


이전 글에서 우리는 inlier와 outlier가 섞여있는 상황에서 inlier를 포함한 모델을 찾는 RANSAC에 대해 알아보았다. RANSAC은 무작위 샘플링을 사용하기 때문에, 우리가 데이터에 대한 아무런 prior 정보가 없을 때도 신빙성 있는 모델을 찾을 수 있게 해줬다.

이번에는 조금 다른 상황에 대해 이야기해보자. 지난 프레임에서 트랙킹 결과를 보았을 때, 특정 몇몇 데이터는 다른 데이터들에 비해 좀 더 inlier일 확률이 높은 신빙성 있는 데이터임을 보였다. 이번 프레임에서 이 데이터들이 inlier일 것이라는 보장은 없지만, 아마 우리가 찾는 모델은 이전 프레임에서 찾은 모델과 크게 떨어지지 않았을 것 같다. 즉, 모델 추정에 대한 좋은 initial guess가 있는 상황이다.

보통 initial guess가 있고 model 추정을 하는 작업은 아래 수식에서 표현된 least-squares optmization을 통해 한다. 어떠한 모델 $\mathcal{M}$에 대해서 모든 데이터 $d$와의 residual $r$을 구한 뒤, 이것을 제곱한 $r^2$값이 최소화 되는 모델을 찾는 것이다. 하지만 우리는 이번 글 시리즈 첫번째 글에서, least-squares optimization은 outlier가 있는 상황에서 잘 작동하지 않는 것을 알고있다. 잘 이해가 되지 않는다면 첫번째 글을 읽고 오면 좋다.

$$ \min {\mathcal{M}} \sum{\mathbf{d} \in \mathcal{D}} r(\mathbf{d} \mid \mathcal{M})^{2} $$

그렇다면, outlier를 제거하는 least-squares optimization 방식은 없을까? least-squares optimization (또는 다른 optimization 방식에) outlier를 제거하기 위해 M-Estimator를 추가하면 된다. M-estimator는 $\rho (r)$ 라는 표기를 하는데, 이를 곧바로 해석하면 residual $r$ 값들로 무언가를 더 계산한다는 것이 되겠다.

$$ \min {\mathcal{M}} \sum{\mathbf{d} \in \mathcal{D}} \rho (r(\mathbf{d} \mid \mathcal{M})^{2}) $$

M-estimator $\rho$가 될 수 있는 함수에는 제약이 있는데, symmetric하고 unique minimum이 0에 있어야하며, $r^2$ 보다 천천히 올라야하고 positive-definite function이여야한다. 이게 대체 무슨 말일까? 어렵게 수학적 의미를 찾지 않고 쉽게 이야기하면,

  1. residual이 양수이던지 음수이던지 똑같은 에러로 취급한다 ⇒ symmetric
  2. residual이 0이면 에러는 없다 ⇒ unique minimum이 0이다
  3. 모델을 선정하는데에 기존의 least squares보다 residual 값에 휘둘리면 안된다 (i.e. outlier일 수 있는 데이터에 휘둘리면 안된다) ⇒ $r^2$ 그래프보다 천천히 올라야한다
  4. residual 값에 따라서 일정하게 모델 선정에 영향을 줘야한다 ⇒ positive-definite function이여야한다