Place-Recognition NetVLAD
Place-Recognition은 건물들을 인식 및 구분하는 분야로 자율주행 같은데 쓰인다.
NetVLAD는 2016년 출시된 논문으로 기존의 고전 방식인 hand-engineered와 규칙 방식의 한계점을 인지하고 CNN 구조를 사용해서 특징을 추출하고, 뒷 부분에 VLAD 구조를 추가한 것이다. 여기서 VLAD구조는 기존의 고전 방식에서 착안한 것인데 end-to-end 학습을 위해 soft-assign 방식으로 바뀐 것이 뒤에서 설명된다.
논문에서는 다음의 세 가지 혁신을 주장한다.
1. CNN 기반의 모델 구조를 통한 end-to-end 학습과 쉬운 plugging
2. ranking loss를 활용한 학습과 많은 annotaiton 학습 데이터
3. 두 개의 데이터셋에서 sota 달성
NetVLAD는 local descriptals를 뽑고 pooled in an orderless함으로써 평행 이동, 부분적 가림, 조명 변화, 시점 변화에 robust하고 mutiple-scale에서 추출함으로 스케일 변화에 robust하다
NetVLAD는 CNN에서 마지막 layer를 없애고 뒤에 VLAD layer를 붙인 구조다. 여기서 VLAD는 집계 및 pooling 기능을 함
다음은 VLAD 식이다
$V(j,k) = \sum_{i=1}^N a_k(\mathbf{x}_i)(x_i(j) - c_k(j))$
위에서 $a_k$ 부분이 가까운 1 아니면 0 이런식의 미분 불가능이어서 NetVLAD에서는 soft-assignment를 사용해 확률(연속)로 출력해줌으로써 backpropagation을 가능하게 했다. 식은 아래와 같다.
$\bar{a}_k(\mathbf{x}_i) = {e^{-\alpha\parallel \mathbf{x}_i-\mathbf{c}_k\parallel^2}\over \sum_{k}\prime e^{-\alpha\parallel \mathbf{x}_i-\mathbf{c}_{k\prime}\parallel^2}}$