티스토리 뷰

Computer Vision - Feature

 

[ Invariant Local Feature ]

  : 불변 지역 특징을 일컫는 말로, Geometric 또는 Photometric한 변환에 민감하지 않은 지표(특성)을 나타냄.

  : 주로 이동, 회전, 크기 변화, 밝기 변화, 노출 변화 등에 민감하지 않은 지표를 말함.

 

[ Primitive Features ]

  : 과거에 사용하던 불변 지역 특징으로, EdgeCorner를 대표적인 예로 들 수 있다.

 

  · Edge의 생성 원인

     1) Depth 차이

     2) 표면 방향의 불연속성

     3) 반사율 불연속성

     4) 조명 불연속성

  · Detecting Edges

    : Noise가 있는 경우 Gradient를 진행해도 Edge를 찾기 어렵기 때문에 Gaussian Filter를 통해 Noise 제거.

    : Noise 제거와 Edge Detecting을 Kernel 단에서 미리 연산을 해 두어 이후 한 번의 필터 연산으로 진행되게 할 수 있음.

      → DoG(Difference of Gaussian), LoG(Laplacian of Gaussian)

    : Gaussian Filter의 σ값을 조절하여 Edge의 굵기를 변화시킬 수 있음.

      → Sigma값이 크면 굵어지는 반면 세밀한 정보가 사라지고, 작으면 얇아짐.

            ( Edge의 Location 자체는 변화하지 않음 )

Sigma값에 따른 LoG Filter를 통한 Edge Detecting 결과

      - Canny Edge Detection

         1) DoG를 적용해 Noise를 제거함과 동시에 Edge Detecting 수행

         2) Non-Maximum Suppression을 이용해 진행 방향 중 최댓값이 아니면 배제하고, 사잇값이 없는 경우 Interpolation으로 보간.

         3) Linking Thresholding을 통해 Threshold를 조정하면서 만나는 값이 있으면 연결.

             → k_high : Strong Edge로 분류 될 임계값.

             → k_low : Weak Edge로 분류 될 임계값. 이보다 낮은 경우 Edge가 아닌 것으로 판단하고 연결하지 않음.

             → 각각 Setting을 하기도 하지만, 통상적으로 k_high ÷ k_low = 2로 설정.

 

[ Advanced Features ]

  · SIFT(Scale-Invariant Feature Transform)

    : 크기 변화, 회전, 밝기 변화, 시점 변화 등에 불변한 특징점을 추출하고 매칭하는 알고리즘.

    : 이미지에서 특징점을 검출하고, 특징점들을 SIFT Descriptor로 표현. (벡터 형식)

    - Pyramid

       1) 이미지의 가로와 세로를 절반으로 줄여가며 피라미드 생성. → Average Subsampling 또는 Max-Pooling 이용

       2) 각 층의 이미지에 점점 더 강한 Gaussian Blur를 적용하여 특징점을 추출. → Gaussian Filter의 Sigma값 증가.

       3) 같은 층의 이미지에서 Gaussian Filter가 적용된 이미지끼리 빼 DoG 이미지 생성.

            ( Gaussian Filter가 적용된 모든 이미지들의 집합을 Scale Space라 한다. )

Pyramid에서의 Gaussian Blured Image와 DoG Image

       4) 만들어진 DoG 이미지를 이용해 Key-point Localization을 수행.

            : 찾아낸 특징점에 대해 Point 주위로 26개(앞 9, 뒤 9, 옆 8)의 픽셀과 비교해 극대·극소값일 경우 Local한 특징으로 간주.

    - Orientation Assignment

     : Key-point의 방향을 결정하는 단계.

         1) Key-point를 중심으로 16×16의 구역으로 나눈 후 각 구역에서 특징을 추출.

         2) 그래디언트의 크기를 구간을 나눠 히스토그램으로 표현하고, 구간의 갯수를 세어 방향성과 강도를 나타냄.

         3) SIFT Descriptor를 이용해 벡터로 표현. 16×16 Patch를 4×4 Sub-Patch러 나누어 8방향 정보가 총 16개인, 128개의 값을 얻도록 함.

 

[ Feature Matching ]

  · Feature Distance

    : 유사한 특징 벡터 간에 측정된 거리.

    : 비슷한 Pattern이 여러 개 나오는 경우 매칭이 이상하게 될 수 있음.

  · True/False Positives

    - True Positive : 맞다고 판단하고, 실제로 맞는 경우.

    - False Positive : 맞다고 판단하고, 실제로는 틀린 경우.

Feature Distance와 True/False Positives

  · Matching Model 평가

    : Feature Distance의 임계값을 정해 Positive인지, Negative인지 판단하도록 함.

    : 이로 인해 도출되는 TPR(True-Positive Rate)FPR(False-Positive Rate)로 성능 지표 확인. 

        → TPR = TP / (TP + FN), FPR = FP / (TN + FP).

    : TPR과 FPR을 각 축으로 하여 모델의 성능을 시각화한 그래프를 ROC Curve라고 한다.

        → AUC(Area-Under the Curve)를 계산해 모델의 성능치를 즉시 파악 가능.

             : 0.5인 경우, 아무런 의미 없는 모델.

             : 0.85가 보통 좋은 모델이 가지는 AUC.

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함