지역 특징점 검출부터 스케일 불변 특징점 검출까지
CGV-2019-오일석-04장 지역 특징 검출 - 필기.pptx
Preview
대응점
혹은 matching points
찾기 : Key, Feature, corner point를 찾으면 된다. 같은 장면을 다른 시점에서 찍은 두 영상에서 대응하는 점의 쌍을 찾는 문제에 적용된다. 파노라마, 물체 인식/추적, 스테레오 등 컴퓨터 비전의 중요한 문제 해결의 단초이다.
Mathing을 위한 세 단계는 아래와 같다.
- 검출 Chapter 4
- 기술 Chapter 6
- 매칭 Chapter 7
지역 특징 검출의 기초
특징점 검출의 역사 : 지역 특징의 대두
3장에서 공부한 에지는 물체의 경계를 나타내는데 이를 특징점으로 적합하다고 할 수 없다. 에지 강도와 에지 방향에 불과해 매칭에 참여하기에는 턱없이 부족한 정보이다.
특징점을 검출하는 기본 원리는 에지 토막에서 곡률
이 큰 지점을 찾고 그곳을 코너
특징점으로 취하는 것이다. 이때 에지 토막은 디지털 공간에 정의된 곡선이므로 곡률을 계산하는데 어려움이 발생한다.
이 장에서는 지역 특징
을 에지에 의존하지 않고 명암 영상
에서 직접 검출한다. 따라서 다른 곳과 두드러지게 다르고 풍부한 정보를 가진 위치를 찾는 정교한 연산자를 설계하는 일이 핵심이다. 에지에 의존하던 첫 번째 접근 방법은 검출된 코너가 실제 물체의 코너에 해당해야 한다는 입장이었지만, 새롭게 나타난 의견은 영상에서 검출된 특징이 다른 영상에서도 검출되기만 한다면 된다는 유한 입장을 보였다.
지역 특징의 성질
지역 특징은 종류에 보통 위치, 스케일, 방향, 특징 벡터 정보로 구성된다. 검출단계
는 위치와 스케일, 기술 단계
는 방향과 특징 벡터를 알아낸다.
이 때 검출
은 여러 변환에 공변covariant
이어야 한다. 물체가 이동 또는 회전하거나 스케일이 달라지면 그에 따라 위치 , 스케일, 방향 정보도 변해야하기 때문이다. 하지만 물체 입장에서보면 같은 곳이므로 불변이다. 이러한 의미에서 공변
이라는 용어를 사용하였다. 이 포스팅에서는 공변
보다는 불변invariant
이라는 더 쉬운 용어로 대체해서 사용한다.
특징 벡터를 추출하는 기술
단계는 불변이어야 한다. 매칭 알고리즘은 특징 벡터를 비교하여 비슷한 경우 대응점으로 판단하기 때문이다.
지역 특징
이 만족해야하는 특성을 다음과 같다. 이들 특성은 Trade-off 관계에 있다.
- 반복성: 재현성
- 분별력: 특징점이 구별
- 지역성: 주변영역
- 정확성: 위치
- 적당한 양: 응용에 사용하기에 충분한 숫자
- 계산 효율: 신속
지역 특징 점출의 원리
그림(4-2)
a,b,c 중에서 a가 가장 매칭하기 쉽고 c가 가장 어렵다. 에지에 수직인 그레디언트 방향으로 큰 밝기 변화
가 일어나기 때문이다. 사람이 찾기 쉬운 곳이 컴퓨터에게도 쉽다.
매칭점은 어떤 영역이 적당할까? : PPT 내용
- 기본적으로는 코너로 매칭을 한다.
코너는 어느 방향으로 움직여도 화소값의 변화가 크게 일어나는 위치를 의미한다.. Edge를 따라서 움직이면 화소값의 큰 변화가 없다. Flat한 부분에서는 움직여도 화소값의 변화가 없다. 코너는 뒤집고 회전해도 코너이다.
PPT 그림 16페이지
- 모델과 매칭할 객체가 크기가 같고 방향이 같다면 쉽다. 영상을 순회하면서 모델과 매칭할 객체 영상의
차분 영상
을 구하여 본다. 차분 영상에서MSE(Mean Squared Error)
을 구해본다. MSE가 0이 되거나 최소가 되는 지점이 객체가 있는 위치이다. - 만약 객체가 Scale이 변화하고 Rotation이 적용되었다면 어떻게 해야할까? 다양한 스케일 및 해상도를 만들어
이미지 피라미드
를 구성한다. 그리고 각 영상으로부터 특징점을 찾는다. - Rotation 회전 문제의 해결 : 특징점의 방향을
표준 방향
으로 통일한다. 여기서 표준 방향은 수평 에지가 가장 많은 방형을 의미한다.
PPT 11페이지 그림
이동과 회전에 불변한 특징점 검출
지금까지는 특징이 무엇이고 어떤 성능 기준을 만족해야하는지, 어떤 곳이 특징으로 삼기 좋은지를 이야기 했다. 이제 어떻게 특징점을 찾을지를 얘기한다.
모라벡 알고리즘
식(4.1)
이 식은 제곱차의 합이라고 부르는 식이다. $f$는 입력 영상이고 $w$는 마스크이다. 이 식에서는 현재 처리 중인 화소가 수식에 명시적으로 나타나지 않는다. 마스크 $w(y,x)$는 암시적으로 정해져있는 현재 화소를 중심으로 실제 계산에 참여할 곳을 지정한다. $w(y,x)$는 현재 화소에 씌운 박스형 마스크인데, 박스 내의 화소는 1, 그 외의 모든 화소는 0을 갖는다. 박스 내의 화소에 대해서만 계산을 하는 셈이다. 컨볼루션은 현재 화소에서 한 개의 값만 생성하는 반면, 모라벡 알고리즘
을 사용하면 $(u,v)$의 값을 변화시켜 마스크 화소 각각에 대해 값을 생성한다. 잘 이해가 안된다. 아래 예제를 보자.
예제 4-1)
[1 1 0] [0 1 1] [1 0 -1]
[1 1 1] - [0 1 1] = [1 0 0] -> 제곱합 4 = $S(0,1)$
[1 1 1] [0 1 1] [1 0 0]
이렇게 계산한 값은 $S$의 3X3 중 1개의 component를 계산한 값이다. 이를 반복적용해서 아래와 같은 마스크를 얻는다.
그림4-3
- a: 모든 방향에서 큰 값을 가진다.
- b: 경계에 위치한 값으로 에지 방향으로는 낮은 값을 가지고, 에지에 수직인 반향으로는 큰 값을 가진다.
- c: 화소의 변화가 전혀 없는 것으로 아홉개의 요소 모두 0을 갖는다.
- 값의 클 수록 마스크를 출력했을 때의 결과가 밝다.
모라벡은 3*3크기의 박스형 마스크를 사용하였으며, 이 중 상-하-좌-우 네 개의 방향만을 사용하고 이들의 방향이 모두 변화가 클 때 지역 특징점일 가능성이 있는 값으로 간주하였다. 혹은 S-MAP 상에서 어느 방향으로 움직여도 크게 나타나면 특징점으로 간주한다. 아래 식은 모라벡이 정의한 특징 가능성
값이다.
식(4.2)
이 알고리즘은 다음과 같은 의문을 남긴다.
- 화소를 한 화소만 이동시키는 것은 적절한가?
- 동서남북 네 방향만을 본석은 적절한가?
- 실제 영상에서 발생하는 잡음은 어떻게 해결할 것인가?