410 likes | 989 Views
특징 추출 및 표현. 영역 특징. 영역 크기 영역의 중심 좌표 영역을 최소로 포함하는 최소 포함 사각형 영역의 수평 및 수직 프로젝션 영역의 주변 길이 영역이 기울어진 방향. 영역 특징. 영역 특징. 최소 포함 사각형 = ( 좌상단 좌표 , 우하단 좌표 ) 좌상단 좌표 = 우하단 좌표 =. 영역 특징 ( 수평 및 수직 프로젝션 ). 경계 추적 알고리즘. 스캔하다가 처음으로 만나는 에 속하는 화소를 시작 화소 s 로 한다
E N D
영역 특징 • 영역 크기 • 영역의 중심 좌표 • 영역을 최소로 포함하는 최소 포함 사각형 • 영역의 수평 및 수직 프로젝션 • 영역의 주변 길이 • 영역이 기울어진 방향
영역 특징 최소 포함 사각형 = ( 좌상단 좌표, 우하단 좌표) 좌상단좌표 = 우하단 좌표 =
경계 추적 알고리즘 • 스캔하다가 처음으로 만나는 에 속하는 화소를 시작 화소s로한다 • s를 현재 화소c로 하고 c의 왼쪽에 위치한 에 속하는 화소를 b라 한다 • b에서부터 출발하여 현재 화소 c의 8 개의 이웃 화소 를 시계 방향으로 방문하며 처음으로 만나는 물체 영역 에 속하는 화소를찾는다
경계 추적 알고리즘 4. 단계 (3)에서 찾은 를 현재 화소c로 하고, 을 b로 한다 5. 단계 (3)과 단계 (4)를 현재 화소c가 시작 화소 s가 될 때까지 반복한다
영역특성(영역의 기울어진 방향) 가 최소가 되는 직선의 방향
영역의 기울어진 방향 으로 하여 위 식을 정리하면 영역의 기울기를 나타내는 직선은 영역의 중심을 통과
영역의 기울어진 방향 을 대입하면, 위 식을 다시 에 대하여 미분하고 그 값을 0으로 놓고 풀면
8방향 체인 코드 체인 코드는 영역의 경계를 두 인접 화소간의 방향 코드로 표현
8방향 체인 코드 CC = (i,j) {5 } 정수의 크기가 최소가 되도록 정규화(시작점 정규화) CC = {0 )
회전(45도 배수)에 불변인 차분 체인 코드 DCC = (i,j) {1 }
퓨리어 묘사자 • 영역의 경계를 1차원 순차로 표현
퓨리어-묘사자의 일부 성분들만 사용하여 경계 재생
퓨리어 묘사자의 특성 • DC 성분을 제외한 나머지 성분들은 위치 이동에 불변 • 퓨리어-묘사자의 크기(magnitude)를 정규화 해서 크기 변화에 불변인 특징으로 사용할 수 있음
퓨리어 묘사자의 특성 3. 퓨리어-묘사자의 크기는 회전에 불변인 특징으로 사용할 수 있음 4. 퓨리어-묘사자의 크기는 경계 시작점의 위치에 불변인 특징으로 사용할 수 있음
허프 변환에 의한 경계선 검출 • x축과 y축으로 구성된 영상 공간의 한 에지 점을 m축과 b축으로 구성된 매개변수 공간의 한 직선으로 변환 • 매개 변수 공간에서 두 직선이 만나는 점의 (m,b)가 영상 공간의 두 점을 연결하는 직선의 기울기와 절편이 된다
허프 변환 알고리즘 • m과 b를 적절한 간격으로 양자화한다 2. 누적 배열 H(m,b)를 생성하고, 배열의 각 원소를 0으로 초기화 한다 3. 영상 공간의 각 에지 점 (x,y)에 대해 를 만족하는 모든 H(m,b) 원소의 값을 1 만큼 증가시킨다 4. 누적 배열 H(m,b)에서 일정한 값 이상이면서 동시에 로컬 최대치를 갖는 원소들을 선택한다
극 좌표계를 이용한 허프 변환 • 직선의 방정식을 극 좌표계로 표현 매개 변수 공간을 로 표현하면, 영상 공간의 한 에지 점은 매개 변수 공간에서 sin 곡선과 같은 모양의 커브가 된다 누적 배열 를 구현할 때 는 0에서 사이의 값을 그리고 r은 0에서 영상 공간의 대각선의 길이 사이의 값을 갖도록 적절히 양자화 된다
허프 변환의 후처리 작업 • 허프-변환을 수행하여 얻은 결과는 단순히 무한한 길이를 갖는 직선에 대한 정보 • 어떤 에지들이 어떤 직선에 대응되는 가를 찾아 물체 영역의 경계선을 만드는 작업이 추가적으로 필요
허프 변환의 후처리 작업 • 누적 배열에서 한 원소가 선택되면, 선택된 원소에 참여했던 에지 점들을 모아 하나의 그룹을 만든다 • 이 그룹에 속하는 에지 점들의 좌표를 누적 배열 원소의 방향 만큼 회전시킨 후, 회전된 x 좌표 값에 따라 에지 점들을 정렬시킨다 • 정렬된 인접 에지 점간의 간격(회전된 x 좌표의 차이)이 적절한 임계 값 안에 있게 되면 이들을 모아 하나의 직선 성분으로 연결한다. 간격이 임계값보다 크게 되면 그룹을 분할하고 각 그룹이 하나의 직선 성분을 나타내도록 한다
성공적인 허프 변환을 위한 조건 • 누적 배열을 만드는 과정에서 매개 변수의 양자화가 잘 이루어져야 함 • 양자화 간격이 너무 크게 이루어지면 로컬 최대치가 뾰족하지 못하고 펑퍼짐하게 퍼지는 현상이 발생 • 양자화 간격이 너무 촘촘하면 누적 배열의 원소 값들이 울퉁 불퉁하게 너무 변하므로 작은 크기의 로컬 최대치가 너무 많이 생김
스네익 모델을 이용한 경계선 검출 • 초기에 물체 주위에 대충의 윤곽선을 만들어 놓는다 • 윤곽선의 위치와 모양이 조금씩 변하며 점진적으로 물체 영역의 실제 경계와 일치하게 된다
스네익 알고리즘의 기본 원리 • 정의된 에너지 함수가 최소값을 갖도록 윤곽선의 점들의 위치를 변동시킴 • 경계선을 검출하는 문제를 에너지를 최소화시키는 문제로 해석 스네익=
스네익 모델의 에너지 함수 = 윤곽선의 점들이 아크를 따라 일정한 간격으로 배치되도록 유도 = 윤곽선이 완만한 곡선이 되도록 유도 = 윤곽선의 움직임을 물체 경계 방향으로 유도 는 N개의 점 으로 구성됨
스네익 모델의 에너지 함수 = 윤곽선에서 인접점간의 거리의 평균
스네익 모델의 에너지 함수 윤곽선이 강한 에지 점에 접근하면 작은 값을 갖는다
에너지 함수에서 가중치의 역할 • 값이 상대적으로 크면 만들어지는 윤곽선은 원의 형태를 갖게 된다 • 값이 0 이면 그점에서 불연속이 허용됨 • 값이 0 이면 그점에서 코너가 허용됨 • 값은 나 보다 상대적으로 큰 값이 되도록 설정하는 것이 바람직하다
에너지가 최소화되는 윤곽점들을 찾는 탐욕 탐색 알고리즘 • 사용자가 입력 영상에 초기 윤곽 점들의 위치 을 결정 • 각 윤곽 점 을 중심으로 MxM이웃 화소들을 탐색하여 에너지가 최소가 되는 화소를 찾아서 를 그 점으로 이동
에너지가 최소화되는 윤곽점들을 찾는 탐욕 탐색 알고리즘 3. 각 윤곽 점에서 곡률을 계산 곡률이 로컬 최대치가 되는 윤곽 점들을 찾아서, 만약 그 점에서 곡률이 일정 임계 값 이상이면서 동시에 에지 크기 역시 일정 임계 값 이상이면 그 점의 가중치 값을 0으로 한다
에너지가 최소화되는 윤곽점들을 찾는 탐욕 탐색 알고리즘 4. 인접 윤곽점간의 평균 거리 를 갱신 5. 단계 (2)에서 단계 (4)를 윤곽선이 더 이상 변하지 않을 때까지 반복 ** 알고리즘 구현 시 에너지 함수의 각 에너지 항에 대한 정규화 작업 필요 - 한 에너지 항의 크기가 상대적으로 너무 커서 다른 에너지 항들의 변화를 가리는 결과를 방지하기 위함