Keypoints

**키포인트(keypoint)**는 반복 가능한 기하학적 특성을 가진 구별되는 이미지 위치입니다 — 동일한 장면의 다른 이미지에서도 다시 찾을 수 있는 코너, 블롭, 또는 에지 교차점입니다. **디스크립터(descriptor)**는 키포인트 주변의 지역적 외형을 인코딩하는 컴팩트한 수치 서명으로, 시점과 조명이 달라져도 이미지 간 매칭을 가능하게 합니다. 검출기(detector)(어디를 찾을지)와 디스크립터(무엇을 인코딩할지)가 함께 특징점 기반 SLAM의 프론트엔드 어휘를 구성합니다.

키포인트를 유용하게 만드는 두 가지 속성이 있습니다:

고전적 계보

방법검출기디스크립터비고
SIFT (2004)스케일 공간에서의 DoG 블롭128차원 기울기 히스토그램매우 정확하지만 CPU에서 느림
FAST (2006)16픽셀 원 위의 연속된 밝은/어두운 호없음매우 빠른 코너 테스트
ORB (2011)oFAST (FAST + 강도 중심 방향)rBRIEF, 256비트 이진SLAM의 표준 도구 (ORB-SLAM)
AKAZE (2013)비선형 확산 스케일 공간이진 (M-LDB)가우시안 스케일 공간보다 에지 보존이 우수함

SIFT스케일 공간에서 블롭을 검출합니다: 이미지를 점점 커지는 스케일의 가우시안으로 컨볼루션하여 L(x,y,σ)=G(x,y,σ)I(x,y)L(x,y,\sigma) = G(x,y,\sigma) * I(x,y)를 얻고, 가우시안 차이(Difference of Gaussians) D(x,y,σ)=L(x,y,kσ)L(x,y,σ)D(x,y,\sigma) = L(x,y,k\sigma) - L(x,y,\sigma)가 라플라시안-오브-가우시안 블롭 검출기를 근사합니다. 키포인트는 공간과 스케일 양쪽에 걸쳐 DD의 지역 극값이며, 이차 함수 피팅으로 서브픽셀 정확도까지 정제되고, 대비와 에지 반응으로 필터링됩니다. 디스크립터는 지역 기울기 히스토그램으로부터 지배적 방향을 할당한 뒤, 8빈 기울기 히스토그램의 4×44\times4 격자를 구성합니다 — 조명 불변성을 위해 정규화된 128차원 벡터입니다. SIFT는 매우 정확하지만 느립니다(고해상도 이미지 한 장당 CPU에서 약 1초), 이는 실시간 SLAM에서의 활용을 제한합니다.

FAST는 반대 극단으로 갑니다: 픽셀 pp 주변 반지름 3인 원 위의 16픽셀 중 n12n \ge 12개의 연속된 호가 모두 임계값 tt 이상으로 IpI_p보다 밝거나 어두우면 코너로 판정합니다. 속도 향상 테스트는 먼저 네 개의 나침반 픽셀만 확인합니다 — 이 중 3개 미만이 기준을 충족하면 pp는 코너가 될 수 없습니다. FAST는 디스크립터도 없고 방향이나 스케일도 없습니다; 디스크립터와 짝을 이루어야 하는 검출 원시 요소입니다.

ORB는 실시간 SLAM이 거의 보편적으로 채택한 조합입니다. 강도 중심을 통해 FAST에 방향을 추가하는데 — 패치 모멘트 mpq=x,yxpyqI(x,y)m_{pq} = \sum_{x,y} x^p y^q I(x,y)를 이용해 방향은 θ=atan2(m01,m10)\theta = \mathrm{atan2}(m_{01}, m_{10})이 됩니다 — 그리고 BRIEF의 이진 샘플링 패턴을 θ\theta만큼 회전시켜 회전 불변성을 얻습니다(rBRIEF). 256비트 디스크립터는 32바이트를 차지하며, 매칭은 XOR + popcount 명령어로 계산되는 해밍 거리를 사용합니다 — 프레임당 수천 개의 특징을 매칭할 수 있을 만큼 빠릅니다. 스케일 불변성은 이미지 피라미드에서의 검출로부터 얻어집니다.

AKAZE는 가우시안 블러링 대신 비선형 확산 필터링으로 스케일 공간을 구성하는데, 이는 에지를 보존하여 경계 근처에서 더 정확한 키포인트를 만들어냅니다; “가속화(accelerated)“라는 이름은 비용을 실용적인 수준으로 낮추는 Fast Explicit Diffusion (FED)에서 왔습니다.

검출에서 매칭까지

검출은 프론트엔드의 절반일 뿐이며, 매칭이야말로 기하학이 소비하는 대상입니다:

매 프레임마다 검출하고 매칭하는 대안으로 **추적(tracking)**이 있습니다: 피라미드형 Lucas-Kanade (KLT)를 이용해 연속된 프레임 사이에서 키포인트를 따라가며, 순방향-역방향 검사로 신뢰할 수 없는 트랙을 걸러냅니다 — 더 저렴하며, 많은 VIO 시스템의 표준 프론트엔드입니다.

SLAM 시스템이 그 위에 더하는 것

학습 기반 세대

학습된 검출기/디스크립터는 반복성과 구별성을 위해 학습된 네트워크로 수작업 설계를 대체합니다. SuperPoint는 자기지도 방식으로 학습됩니다: 합성 형상으로 사전 학습한 뒤, 합성 호모그래피 아래에서 실제 이미지를 자기 레이블링하여 미세 조정합니다(“호모그래픽 적응”); 하나의 공유 인코더가 검출기 헤드(키포인트 점수 맵)와 디스크립터 헤드(밀집 디스크립터 맵)에 공급됩니다. R2D2는 두 개의 별도 맵을 예측합니다 — 반복성(이 점이 다시 검출될 것인가?)과 신뢰성(이 디스크립터가 구별력이 있는가?) — 그리고 둘 다 높은 점을 유지하는데, 이는 텍스처가 없거나 반복적인 영역에서 도움이 됩니다. 이들은 보통 이후 단계에서 SuperGlue와 같은 학습된 매처와 짝을 이룹니다.

SLAM 파이프라인에서 키포인트는 하위 모든 처리의 원재료입니다: 초기화와 essential 행렬 추정을 위한 2D-2D 대응, 포즈 추적(PnP)을 위한 2D-3D 대응, 3D 랜드마크로의 삼각측량, 그리고 루프 클로저를 위한 시각 단어 가방(bag-of-visual-words) 장소 인식입니다.

SLAM에서의 의미

PTAM에서 ORB-SLAM3에 이르는 주류 패러다임인 특징점 기반(간접) SLAM은 전적으로 키포인트에 의존합니다: 검출된 특징의 품질, 속도, 분포가 전체 시스템의 정확도와 견고성을 결정짓습니다. 검출기/디스크립터의 트레이드오프(정확도 대 Hz, 이진 대 부동소수점 디스크립터, 수작업 대 학습 기반)를 이해하는 것은 논문을 읽는 데도, 자신의 컴퓨팅 예산에 맞는 프론트엔드를 고르는 매우 실용적인 작업에도 필수적입니다.

실습

관련 문서