특징점 검출

편집 역사 토론
컴퓨터 그래픽스 수치해석 마지막 수정: 2026-08-30 04:14:27

1. 개요[편집]

특징점 검출
Feature / Interest Point Detection
목표다른 시점·조명에서도 같은 자리에 다시 잡히는 소수의 점
핵심 행렬구조 텐서 $M=\sum w\,\nabla I\,\nabla I^{\mathsf T}$ — 고유값 두 개가 전부다
코너모라벡(1980) · 해리스(1988) · 시-토마시(1994) · FAST(2006)
블롭정규화 LoG · DoG(SIFT) · 헤시안 행렬식(SURF)
후처리비최대 억제 + 2차 곡면 맞춤 부화소 보정
평가반복성(repeatability) · 매칭 점수(matching score)

영상 전체를 비교하면 느리고, 아무 점이나 비교하면 틀린다. 그래서 다시 찾을 수 있는 점만 골라 비교한다.

특징점 검출(feature detection, interest point detection)은 한 영상에서 소수의 점 또는 국소 영역을 골라내되, 같은 장면을 다른 시점·배율·조명에서 찍은 영상에서도 물리적으로 같은 자리가 다시 선택되도록 하는 문제다. 여기서 중요한 것은 “무엇을 골랐는가”가 아니라 “다시 고를 수 있는가” 다. 특징점 검출기의 품질은 미학이 아니라 재현성으로 평가된다.

왜 점인가. 호모그래피 추정, RANSAC 기반 정합, 카메라 자세 복원 같은 하류 작업은 전부 대응(correspondence) 을 입력으로 받는다. 100만 화소를 전부 대응시키려 하면 조합이 폭발하고, 균일한 벽면 화소는 애초에 대응이 유일하게 결정되지도 않는다. 그래서 정보량이 몰린 수백~수천 개의 점으로 문제를 압축한다. 이 압축이 20세기 컴퓨터 비전 파이프라인의 1단계였고, 학습 기반 방법이 판을 뒤집은 지금도 SfM·SLAM·파노라마 스티칭의 바닥에는 여전히 이 층이 깔려 있다.

2. 좋은 특징점의 조건[편집]

문헌마다 이름이 조금씩 다르지만 요구 사항은 대체로 여섯 개로 정리된다.

  • 반복성(repeatability). 같은 장면의 두 영상에서 같은 물리적 지점이 양쪽 모두에서 검출될 확률. 가장 중요하고, 사실상 유일하게 중요한 지표다.
  • 구별성(distinctiveness). 그 점 주변이 다른 곳과 충분히 달라야 대응을 유일하게 정할 수 있다. 이건 검출기보다 기술자의 몫이다.
  • 국소성(locality). 지지 영역이 작아야 가림(occlusion)과 시점 변화에 강하다. 영상 절반을 보는 “특징”은 물체가 반쯤 가려지는 순간 죽는다.
  • 정확성(accuracy). 위치가 부화소 수준으로 안정해야 하류의 기하 추정이 정밀해진다.
  • 개수(quantity). 작은 물체까지 커버할 만큼은 나와야 하고, RANSAC이 이상점을 걸러낼 여유도 남아야 한다.
  • 효율(efficiency). 실시간이면 화소당 수십 연산이 예산의 전부다.

이 중 국소성과 구별성, 개수와 정확성은 서로 당긴다. 검출기 논문의 절반은 이 저울의 눈금을 어디에 놓았는지에 대한 변명이다.

3. 자기상관에서 구조 텐서까지[편집]

3.1. 모라벡 — 발상은 이미 다 있었다[편집]

한스 모라벡(1980)의 착상은 소박하다. 창을 조금 움직였을 때 밝기가 얼마나 변하는지 보자.

E(u,v)=(x,y)W[I(x+u,y+v)I(x,y)]2E(u,v) = \sum_{(x,y)\in W} \bigl[\,I(x+u,\,y+v) - I(x,y)\,\bigr]^2

평탄한 영역이면 어느 방향으로 밀어도 EE 가 작고, 에지 위면 에지를 따라 밀 때만 작고, 코너면 모든 방향에서 크다. 그러니 “최소 방향의 EE 가 큰 점”이 코너다. 모라벡은 이 최솟값을 상하좌우·대각선 8방향(실제 구현은 4쌍) 만 시험해서 구했고, 창은 이진 사각창을 썼다. 결과적으로 응답이 45° 주기로 울퉁불퉁했고, 잡음에도 약했으며, 에지에 대한 응답이 방향에 따라 튀었다.

3.2. 해리스 — 두 줄을 고쳤을 뿐인데[편집]

크리스 해리스와 마이크 스티븐스(1988)가 한 일은 정확히 두 가지다.1 첫째, 이산 방향 시험을 테일러 전개로 바꿨다. I(x+u,y+v)I+uIx+vIyI(x+u,y+v) \approx I + uI_x + vI_y 를 넣으면

E(u,v)[uv]M[uv],M=x,yw(x,y)[Ix2IxIyIxIyIy2]E(u,v) \approx \begin{bmatrix} u & v\end{bmatrix} M \begin{bmatrix} u \\ v \end{bmatrix}, \qquad M = \sum_{x,y} w(x,y)\begin{bmatrix} I_x^2 & I_xI_y \\ I_xI_y & I_y^2 \end{bmatrix}

EE모든 방향에 대해 한꺼번에 2차 형식으로 근사되고, 방향별 시험이 필요 없어진다. 둘째, 이진 창 ww 를 가우스 창으로 바꿨다. 응답이 등방적이 되고 잡음이 죽는다.

MM구조 텐서(structure tensor) 또는 2차 모멘트 행렬이라 부른다. 대칭 준정부호 2×22\times2 이므로 고유값 λ1λ20\lambda_1 \ge \lambda_2 \ge 0 이 전부를 말한다.

고유값 상태국소 구조해석
둘 다 작음평탄어느 방향으로 밀어도 안 변함
하나만 큼에지에지를 따라 밀면 안 변함 — 조리개 문제
둘 다 큼코너·점모든 방향에서 변함

여기서 해리스의 실전적 결정이 나온다. 고유값을 실제로 구하지 않는다. 대칭 2×22\times2고유값 문제는 제곱근이 들어가는데, 1988년의 하드웨어에서 화소마다 제곱근은 사치였다. 대신 행렬식과 대각합만 쓴다.

R=detMk(trM)2=λ1λ2k(λ1+λ2)2,k0.040.06R = \det M - k\,(\operatorname{tr} M)^2 = \lambda_1\lambda_2 - k(\lambda_1+\lambda_2)^2, \qquad k \approx 0.04 \sim 0.06

코너에서 RR 은 크게 양수, 에지에서는 det0\det \approx 0 인데 tr\operatorname{tr} 이 크므로 음수, 평탄에서는 0 근처다. 부호 하나로 코너·에지·평탄이 갈리는 것이 이 응답 함수의 미덕이다. kk 는 물리적 의미가 없는 순수 튜닝 상수이고, 이게 거슬린다면 노블의 조화평균형 R=detM/(trM+ε)R = \det M / (\operatorname{tr} M + \varepsilon) 을 쓰면 된다.

3.3. 시-토마시 — 그냥 최소 고유값을 써라[편집]

시와 토마시(1994)는 “추적하기 좋은 특징”(Good Features to Track)을 논하면서, 굳이 RR 을 우회할 게 아니라 λ2\lambda_2(최소 고유값) 자체를 문턱과 비교하라고 했다.2 2×22\times2 대칭 행렬의 고유값은 닫힌 형식이라 계산량이 미미하고, 판정 기준이 “이 점을 추적할 때 최소자승법 정규방정식의 조건수가 괜찮은가”라는 원래 의도와 직결된다. 실제로 이 기준이 광류 추적기(KLT)의 특징 선택 규칙으로 굳었고, OpenCV의 goodFeaturesToTrack이 그것이다. 해리스와 시-토마시는 문턱 근처에서 고르는 점 집합이 조금 다를 뿐, 큰 그림에서는 같은 물건의 두 가지 판정식이다.

해리스의 결정적 약점은 스케일 불변성이 없다는 것이다. 가우스 창의 폭이 곧 “코너를 보는 크기”인데 그 폭이 고정되어 있으니, 영상을 2배 확대하면 원래 코너였던 것이 완만한 곡선으로 보여 응답이 사라진다. 이 문제의 해법은 스케일 공간 문서가 정리해 둔 정규화 미분과 스케일 선택이다.

4. FAST — 미분을 아예 안 하는 길[편집]

로스텐과 드러먼드(2006)의 FAST는 방향이 완전히 다르다. 기울기도, 가우스 평활도, 곱셈도 없다. 후보 화소 pp 를 중심으로 반지름 3의 브레젠험 원 위 16개 화소를 보고, 그중 연속한 nn 개가 전부 Ip+tI_p + t 보다 밝거나 전부 IptI_p - t 보다 어두우면 코너로 판정한다. n=12n = 12 가 원안, n=9n = 9(FAST-9)가 반복성이 더 좋아 표준이 됐다.

속도의 비밀은 조기 기각이다. n=12n = 12 라면 원 위의 1·5·9·13번 화소 넷 중 최소 셋이 같은 방향으로 문턱을 넘어야 하므로, 이 넷만 먼저 보고 대다수 화소를 두세 번의 비교로 탈락시킨다. 여기서 더 나아가 원 화소 16개의 상태(밝음·비슷·어두움)를 특징으로 삼아 결정 트리를 학습(ID3)하고, 그 트리를 C 코드로 펼쳐 컴파일한 것이 원 논문의 진짜 기여다. 그래서 이름이 Features from Accelerated Segment Test다.

대가도 분명하다. 스케일 불변성이 없고, 방향도 없고, 원 판정은 이웃한 화소들이 통째로 코너로 뽑히는 뭉침이 심해 비최대 억제가 사실상 필수다. 억제용 점수로는 문턱을 넘길 수 있는 최대 tt 값을 쓴다.

5. 블롭 — 코너가 없는 물체를 위하여[편집]

코너 검출기는 각진 것에 강하지만 둥근 얼룩(세포, 열매, 별)에는 응답하지 않는다. 그래서 블롭 검출이 따로 있다. 원리는 스케일 공간의 정규화 라플라시안이다.

norm2L=t(Lxx+Lyy),t=σ2\nabla^2_{\text{norm}} L = t\,(L_{xx}+L_{yy}), \qquad t = \sigma^2

(x,y,t)(x,y,t) 3차원 국소 극값을 찾으면 위치와 크기가 함께 나온다. 반지름 RR 인 원판이라면 극값이 t=R2/2t = R^2/2 에서 걸리므로, 검출된 스케일이 물체 크기를 그대로 알려 준다. 실무에서는 LoG를 직접 계산하는 대신 DoG(가우스 차) 근사를 쓰는데, 이게 SIFT의 1단계다. 헤시안 행렬식 detH=LxxLyyLxy2\det \mathcal{H} = L_{xx}L_{yy} - L_{xy}^2 를 정규화해 쓰는 계열도 있고, 이쪽은 능선 형태의 오검출이 적다. SURF가 헤시안 행렬식을 적분 영상 + 상자 필터로 근사해 스케일에 무관한 상수 시간을 얻은 것이 그 계보의 대표다.3

여기서 하나 짚어야 한다. 해리스와 헤시안은 다른 것을 잰다. 해리스는 1차 미분의 외적을 평균한 것(구조 텐서)이고 헤시안은 2차 미분 행렬이다. 전자는 “방향이 여러 개인가”, 후자는 “곡률이 큰가”를 묻는다. 그래서 두 검출기가 잡는 점 집합이 상당히 다르고, 실전 파이프라인에서 둘을 섞어 쓰는 이유가 된다. 스케일 선택을 얹은 해리스-라플라스, 헤시안-라플라스, 나아가 아핀 변형까지 흡수하는 아핀 적응 계열(해리스-아핀, 헤시안-아핀)과 MSER 같은 영역 검출기가 이 위에 올라간다.

6. 비최대 억제와 부화소 보정[편집]

응답 맵 R(x,y)R(x,y) 를 문턱으로 자르기만 하면 코너 하나가 십수 개의 화소 덩어리로 나온다. 그래서 비최대 억제(NMS)로 국소 최대만 남긴다. 3×3 또는 5×5 이웃에서 자기가 최대일 때만 살리는 것이 기본이고, 특징이 영상 한쪽에 몰리는 것이 싫으면 격자를 나눠 칸마다 상위 kk 개만 취하거나 적응형 NMS(ANMS)로 공간적으로 고르게 뽑는다. 파노라마 스티칭에서는 이 균일 분포가 호모그래피 추정 조건수를 직접 좌우한다.

위치 정확도는 화소 격자로는 부족하다. 표준 처방은 극값 근처에서 응답을 2차로 전개하는 것이다.

R(x)R0+gTx+12xTHx    x^=H1gR(\mathbf{x}) \approx R_0 + \mathbf{g}^{\mathsf T}\mathbf{x} + \tfrac12\mathbf{x}^{\mathsf T}\mathcal{H}\mathbf{x} \;\Rightarrow\; \hat{\mathbf{x}} = -\mathcal{H}^{-1}\mathbf{g}

뉴턴 한 스텝이다. 스케일 공간 검출기라면 이 전개를 (x,y,σ)(x,y,\sigma) 3변수로 해서 스케일까지 부화소로 보정한다(SIFT가 이렇게 한다). 보정량이 반 화소를 넘으면 이웃 화소로 옮겨 다시 푸는 것이 관례이고, H\mathcal{H} 가 특이에 가까우면 그 점은 버린다.

7. 검출기와 기술자는 다른 물건이다[편집]

입문자가 가장 자주 헷갈리는 지점이다. 검출기는 “어디를 볼지”를 정하고, 기술자(descriptor)는 “그 자리가 무엇처럼 생겼는지”를 벡터로 적는다. SIFT라는 이름은 이 둘을 다 포함하지만(DoG 검출기 + 128차원 기울기 히스토그램 기술자), 실제로는 자유롭게 조합할 수 있다. 해리스로 뽑고 SIFT 기술자를 붙이는 것도, FAST로 뽑고 BRIEF를 붙이는 것도 정상적인 설계다.

ORB(Rublee 외, 2011)가 그 조합 설계의 교과서다. 이름은 Oriented FAST and Rotated BRIEF의 약자이고, 하는 일은 이렇다.

  1. oFAST — 영상 피라미드 각 층에서 FAST를 돌려 스케일을 얻고(FAST 자체엔 없는 성질을 이미지 피라미드로 보충한다), 해리스 응답으로 상위 NN 개만 남겨 FAST의 에지 오검출을 걸러낸다.
  2. 방향 — 패치의 밝기 무게중심(intensity centroid)이 중심에서 벗어난 방향을 특징 방향으로 잡는다. 히스토그램보다 훨씬 싸다.
  3. rBRIEF — BRIEF는 패치 안 화소쌍의 밝기 대소 비교 256번을 256비트로 적는 이진 기술자다. ORB는 이 비교쌍을 방향만큼 회전시키고(steered BRIEF), 회전시키면 무너지는 분산·상관 특성을 회복하도록 비교쌍 자체를 학습으로 골랐다.

결과는 SIFT와 비슷한 매칭 성능에 수십 배 빠른 속도, 그리고 비교가 해밍 거리(XOR + popcount)라는 것. 특허도 없다. 오픈소스 SLAM이 한동안 ORB로 도배된 데는 이유가 있다.4

8. 얼마나 잘하는지 재는 법[편집]

미콜라이칙과 슈미트의 벤치마크가 사실상 표준을 만들었다. 평면 장면을 시점·배율·회전·흐림·JPEG 압축·조명을 바꿔 찍고 호모그래피를 미리 재 둔 데이터셋에서 두 지표를 잰다.

  • 반복성. 영상 1의 특징을 참 호모그래피로 영상 2에 옮겼을 때, 옮긴 자리 근처(또는 겹침 오차 40% 이내)에 영상 2의 특징이 실제로 존재하는 비율. 공통 영역 안의 특징 수로 정규화하는 것이 핵심이다 — 안 그러면 “점을 무진장 많이 뽑는 검출기”가 무조건 이긴다.
  • 매칭 점수. 기술자로 매칭했을 때 올바른 대응의 비율. 검출기와 기술자를 합친 종단 성능이다.

이 정규화 이야기는 잔소리처럼 들리지만 실제로 논문 리뷰에서 가장 자주 지적되는 대목이다. 문턱을 낮춰 특징을 10배 뽑으면 반복성 분자는 커지지만 하류의 RANSAC 반복 수는 이상점 비율에 지수적으로 반응하므로, 종단 성능은 오히려 나빠진다. 검출기 평가에서 개수 통제는 공정성 문제가 아니라 정확성 문제다.

9. 지금은 어떻게 하나[편집]

2015년 이후 검출기·기술자를 통째로 학습하는 방향(LIFT, SuperPoint, D2-Net, R2D2 등)이 표준 벤치마크를 대체로 앞선다. 재미있는 것은 설계 원리가 거의 그대로 남았다는 점이다. 학습형 검출기도 결국 반복성 손실(같은 장면의 두 뷰에서 같은 점이 뽑히도록)을 최적화하고, 비최대 억제를 쓰고, 부화소 보정을 하고, 검출·기술을 분리하거나 공유할지 고민한다. 합성곱 신경망이 바꾼 것은 필터를 손으로 설계할지 데이터로 뽑을지이지, 문제 정의가 아니다.

반대로 고전 기법이 살아남은 자리도 뚜렷하다. 학습 분포 밖(수중, 적외선, 현미경, 위성)에서 성능이 예측 가능하다는 점, 메모리와 전력 예산이 밀리와트 단위인 임베디드, 그리고 검출 결과에 대한 실패 모드를 사람이 설명할 수 있어야 하는 계측 응용. 특징점 검출은 에지 검출·허프 변환과 함께, 딥러닝 이후에도 파이프라인 바닥에서 계속 굴러가는 몇 안 되는 고전 층이다.

10. 관련 문서[편집]

11. Footnotes[편집]

  1. Harris, C. & Stephens, M. (1988). “A Combined Corner and Edge Detector”, Alvey Vision Conference. 학회 논문집 여섯 쪽짜리다. 인용 수는 2만을 넘겼는데 저널 논문으로 낸 적이 없다. 심사위원이 “새롭지 않다”고 했을 법한 종류의 개선이 실제로는 분야를 30년 먹여 살린 사례.

  2. Shi, J. & Tomasi, C. (1994). “Good Features to Track”, CVPR. 제목이 이미 논지 전부다 — 코너를 찾는 게 목적이 아니라 추적기가 안 터질 점을 찾는 게 목적이라는 것. 문제를 하류 알고리즘의 조건수로 정의한 순간 판정식이 자동으로 나온다.

  3. 상자 필터로 2차 미분을 근사하면 이산화 오차가 꽤 크지만, 적분 영상 덕에 필터 크기와 무관하게 화소당 몇 번의 덧셈이면 끝난다. “정확도를 조금 버리고 스케일 축을 공짜로 얻는다”는 거래이고, 실시간 예산 안에서는 대개 남는 장사다.

  4. ORB가 나온 2011년은 SIFT·SURF 특허가 살아 있던 시기라, 논문 서두에 “SIFT와 SURF의 무료 대체재”라고 대놓고 적혀 있다. 기술 논문의 동기가 라이선스인 흔치 않은 사례이고, 덕분에 로보틱스 오픈소스 생태계가 크게 덕을 봤다. SIFT 특허는 2020년에 만료됐고 OpenCV 본체로 돌아왔다.