4-1공부/DIP

[기말고사] 11-12장. 영상 형태학, 영상 정합

KGW2027 2023. 6. 16. 23:46
728x90
반응형

· 내용 정리

 형태학(Morphology)란, 영상의 기하학적 구조를 분석하거나 처리하는 기법이다.
객체의 모양, 형태를 다루며, 모양과 관련된 특징을 추출하기 위해 형태를 표현 및 기술하는 유용한 도구로 사용된다.
응용 분야로는 형태학적 필터링, 세선화(Thinning), 가지치기(Pruning) 등이 있다.

 화소 집합이란, 영상 내 존재하는 화소 중 의미를 갖는 화소를 원소로 하는 집합이다.
의미 있는 화소는 1, 의미 없는 화소는 0으로 설정한다.

 형태학 처리의 기본 연산은 침식과 팽창이며, 이 두 연산의 조합을 통해 열림, 닫힘 연산을 수행할 수 있다.
이 때, 연산은 집합 이론을 기반으로 표현 가능하다.
[ex: 합(Union), 교집합(Intersection), 보수(Complement), 차(Difference), 이동(Translation), 반사(원점대칭, Reflection)]

 침식과 팽창 연산에 사용되는 구조 요소를 Kernel이라고 부른다.
침식 연산객체를 깎아내는 연산으로 물체의 크기를 축소하고 서로 닿은 물체를 분리시킨다.
팽창 연산은 반대로 객체를 확장하고 배경을 축소시키며, 객체간 연결을 강하게 하고 내부 홀(구멍)을 채운다.
열림 연산침식-팽창 순으로 연산을 수행하는 것으로, 세선 제거, 약한 연결 끊기, 노이즈 등의 작은 개체 제거에 용이하다.
닫힌 연산팽창-침식 순으로 연산을 수행하는 것으로, 좁은 간극 연결, 작은 구멍 채우기, 모호한 연결 강하게 만들기에 용이하다.
 이를 이용해, 원본 영상과 침식 연산의 결과 값차연산을 수행하면 경계를 추출할 수 있다.

 다음으로, 경계선 검출법에 대해 알아보자.
경계선 검출법은 경계선을 검출할 때, 낮은 에러율, 경계선의 이동 최소화, 하나의 경계선만 검출을 목적으로 갖는다.
이 때, 기본적으로 라플라시안 필터(Laplacian Filter)를 이용할 수 있다. 라플라시안 필터는 영상의 2차 미분 값의 Zero-Crossing을 이용해 경계선을 검출한다. 이 방법은 임계치가 불필요하며, 최소 두께의 경계선을 검출할 수 있지만, 2차 미분값을 이용하기 때문에 아주 민감하다. 그래서 작은 노이즈들도 경계선으로 검출될 수 있다.

 이러한 단점을 커버하기 위해 가우시안 필터를 적용하여 노이즈를 뭉갠 후, 라플라시안 필터를 적용하는 LoG 필터(Laplacian of Gaussian) 기법이 존재한다. 그러나 가우시안 필터를 적용하면 일종의 블러링 같은 느낌이므로, 영상의 디테일적인 부분이 사라질 수 있다. 또한, 노이즈의 형태를 모를 때, 적절한 분산값을 적용하기 어렵다.

 경계선 검출의 목적을 극대화하기 위해, 캐니 경계선 검출(Canny Edge Detection)이 제안되었다.
이 방법은 먼저 영상에 가우시안 필터를 적용한 후, 소벨 연산자를 컨볼루션하여 그라디언트를 얻는다.
그라디언트의 방향을 계산한 뒤, 일정 단위로 각도를 투영하여 정규화한다.
그 다음 모든 픽셀의 그라디언트를 확인하면서 지역 최댓값이 아닌 모든 픽셀을 제거한다. 즉, 그라디언트가 지역적으로 경계선이 맞는지 확인하는 방법이다. 이 단계는 Non-Maximum Supression으로 불린다.
그 후, Double Thresholding을 수행한다. 낮은 임계값 밑의 그라디언트를 가지는 픽셀은 경계선이 아니며, 낮은 임계값과 높은 임계값 사이의 그라디언트는 약한 경계선, 높은 임계값 위의 그라디언트는 강한 경계선이다. 이 때, 약한 경계선은 강한 경계선과 연결되어 있는지를 확인하고, 연결된 경우에만 경계로 인정된다. 

  경계선 검출에 이용되는 Convolution Matrix들은 아래와 같다.

미분 횟수 연산자 이름 행렬 값 장단점
1차 미분 로버트(2x2) [-1, 0]  [0,-1]
[0 , 1]  [ 1,0]
장점 : 빠르고 경계가 얇음
단점 : 경계선을 놓칠 수 있고, 노이즈에 약함
프리윗(3x3) [-1,0,1] [ 1, 1, 1]
[-1,0,1] [ 0, 0, 0]
[-1,0,1] [-1,-1,-1]
장점 : 수평,수직 경계선을 잘 인식함
단점 : 경계가 두껍고, 노이즈를 잘못 인식함.
소벨(3x3) [-1,0,1] [ 1, 2, 1]
[-2,0,2] [ 0, 0, 0]
[-1,0,1] [-1,-2,-1]
장점 : 대각선을 잘 인식함.
단점 : 프리윗과 같음.
캐니(3x3) - 장점 : 다른 방법들보다 노이즈에 강함.
단점 : 임계값을 설정하는 것이 어려움
2차 미분 라플라시안 - 장점 : 얇고 정확한 경계.
단점 : 노이즈에 매우 취약함.
LoG - 장점 : 라플라시안보다 노이즈에 강함
단점 : 스파게티 효과가 일어날 수 있음.

 

<영상 정합, Image Matching>

  영상의 불변 특징을 추출하여 정합한다. 이러한 불변 특징은 구조적 특징(경계선, 코너), 통계적 특징(분산, 히스토그램) 등이 있다. 불변 특징은 객체에게 이동, 회전, 크기조정 등 다양한 변화를 가해도 동일하게 유지되는 것이다. 즉, 영상 정합의 과정은 입력 영상 내 특징을 추출하고, 영상간 유사도를 통해 대응점을 판단, 정합을 수행한다.
응용 분야 : 객체 인식, 스티칭(겹치는 부분을 가진 영상을 이어붙임), 객체 추적

 - SIFT(Scale-Invariant Feature Transform, D. Lowe(2004))
 영상의 주요 특징 추출 및 기술자(Descriptor)를 정의한다.
높은 정합 성능을 가졌으나, 연산 복잡도가 높다.
Python-OpenCV2 : cv2.xfeatures2d.SIFT_create(최대 특징 수, 계층 수, 특징 문턱, 에지 문턱, 필터 시그마)

 [1. 스케일 공간에서의 극점 추출]
 : 불변 스케일 특성을 추출하여, 스케일 공간에서 모든 극점(Extrema)를 특징점 후보 위치로 결정한다.
 이 때, 입력 영상에 DoG(Difference of Gaussian)를 적용하는데, 이는 서로 다른 시그마 값을 가지는 가우시안 필터들을 입력 영상에 적용한 두 개의 영상의 차연산 결과이다. 이러한 영상을 많이 만들어서 주변 영역과 비교해 최대 또는 최소인 점을 극값으로 정의한다.

[2. 좌표 보정 및 에지 제거]
 
: 각 특징점 후보 좌표를 부화소(Sub-pixel) 수준에서 보정한 뒤, 낮은 대비 후보 제거, 강한 특징 코너만 남긴다.
 다양한 DoG 스케일 공간에서 결정된 특징점 후보를 2차 테일러 급수로 좌표 보정을 진행한다. 이 때, 1차 미분 값이 0인 지점에서 대비를 의미하는 극점의 값 D(X)를 결정, 이 값이 낮은 경우 특징점 후보에서 제외한다. 특히, 코너(둘 이상의 방향으로 밝기 변화)는 남기고, 에지(한 방향으로만 밝기 변화)는 제외한다. 또는 해리스 코너 검출기를 이용할 수도 있다.

[3. 방향성 할당]
 : 불변 회전 특성을 추출하여 특징점 주변 영역의 밝기값 변화량을 측정한다. 그리고 변화 방향을 통해 방향성을 할당한다.
  각 특징점에 대한 밝기 변화량과 변화 방향을 고려하여, 각 방향에 대한 밝기 변화량의 히스토그램을 구성한다.
이 때, 가장 큰 밝기 변화량의 80%를 넘는 다른 성분이 존재할 경우, 다수의 특징점으로 분할한다.

[4. 지역적 특징 기술자 생성]
 : 주변 영역으로 변화 값, 방향을 참조하여 히스토그램을 구성하고, 후처리를 통해 조도 불변 특성을 추출한다.
 특징점의 방향 성분을 표준 방향으로 정규화한 뒤, 특징점 주변 16x16 영역에 대한 화소 밝기 변화량을 지역화하고 가우시안 함수를 통해 가중한다. 이후 16x16 영역을 4x4 하위 영역 16개로 분할하여, 각 블록별 8개 방향에 대한 히스토그램을 구성한다 (16개 하위 영역 * 8 방향 = 128차원 벡터). 조도 불변 특성을 위해 특징 기술자 벡터를 정규화한다.

 

 - SURF(Speed-Up Robust Features)
  SIFT에 비해 간단하며, 실시간 처리에 용이하다. 또한, 노이즈가 포함된 입력 영상에 대해 강인한 응답 특성을 보인다.

 [1. 관심점 추출]
 임의의 직사각형 영역의 화소값의 합으로 구성된 적분 영상근사화한 헤시안(Hessian) 행렬을 이용한 박스 필터를 이용해 관심점을 추출한다.

 [2. 스케일 공간의 표현과 특징점 결정]
 적분 영상과 박스 필터를 이용하여 윈도우의 크기만 변경특징점을 결정한다.

 [3. 방향성 할당]
 하르 웨이블릿(Haar Wavelet) 응답 기반으로 방향성을 결정하며, π/3 크기의 부채꼴 형태의 윈도우에 대한 응답 값의 합이 최대인 방향으로 결정한다.

  [4. 특징 기술자]
 4x4 하위 영역 내에서 하르 웨이블릿 응답을 요소로 가지며, 다양한 밝기 변화 패턴을 고려하여 SURF의 특징 기술자를 생성한다.

 

특징점 매칭
 : SIFT와 SURF 간 특징 기술자는 입력 영상 내 각 객체들의 특징을 값으로 표현하며, 정합을 위해 이러한 특징점을 매칭할 필요가 있다. 매칭 방법으로는 유사도 측정 또는 구조화 등이 있다.

 [유사도에 따른 매칭]
 - 유클리드 거리(Euclidean Distance) : 두 벡터 간 유클리드 거리를 이용해 벡터 간 유사도를 측정한다. 이 때, 한 특징 벡터에 대해 임의의 두 특징 벡터가 비슷하게 유사할 경우, 유사도가 임계값(주로 80%)을 넘기면 둘 다 제외, 그 외에는 가장 비슷한 쪽을 선택한다.

 [k-d 트리]
 - BST와 유사한 자료 구조를 통해 검색 시간을 log_2(N) 으로 압축한다. 다차원 벡터의 고속 탐색에 적합하다.
 트리 생성 과정
 1. 각 벡터의 N번째 성분들의 분산을 측정, 분산값이 큰 차원메디안을 기준으로 분할한다.
 2. 각 하위 집합에 대해 동일한 과정을 재귀적으로 반복한다.
트리 탐색 과정
 1. 현재 노드가 어떤 축을 기준으로 분리하는지 확인한 후, 기준 축을 기준으로 작으면 왼쪽, 크면 오른쪽으로 이동하는 것을 반복한다.

 

 

728x90
반응형