MATLAB을 이용한 디지털영상처리 Chapter 5 기하 변환과 영상 정합 2015. 04. 01. 2009101054 조정래
기본 배경 기하 변환과 영상 정합 기하 변환: 영상의 화소 간 공간 관계를 변경. 영상 정합: 기하 변환의 영상처리 응용. 같은 장면의 여러 영상을 정렬시켜 합치는 기술. 동류 스케일링 변환 동류 회전 변환 ← 같은 장소에서 장기간 촬영한 후 영상 정합하여 얻은 별의 움직임을 담은 사진. 투영 변환
기본 배경 기하 변환
기하 변환 - 동류 변환 동류 변환: 거리 비를 유지하는 변환. 매트릭스 곱셈(선형부)과 덧셈(덧셈부)을 하여 변환.
기하 변환 - 동류 변환 동류 변환의 유형 1 T
기하 변환 - 동류 변환 T 동류 변환의 유형 2
기하 변환 - 투영 변환 투영 변환: 영상을 소실점으로부터 투영된 영상으로 변환하는 기법
기하 변환 - 투영 변환 투영 변환 영상은 일반적으로 한 점 (카메라의 렌즈)으로부터 방사형으로 얻어짐. 이로 인해 영상에 시각 왜곡이 생기고, 이를 되돌리는데 응용. 도로 사진, 도로는 실제로 평행하지만, 시각 왜곡이 생겨 마치 중앙의 한 점(소실점)에서 방사형으로 뻗어 나온 것 처럼 보임
기하 변환 - MATLAB 코드 maketform: 기하 좌표 변환을 하는 tform 구조체를 만드는 함수 tform = maketform(transform_type, params, …) transform_type: ‘affine’, ‘projective’, ‘custom, ‘box’, ‘composite’ 기하 변환의 종류를 결정. ‘affine’: 동류 변환, ‘projective’: 투영 변환, ‘custom’: 사용자 정의 변환 params: transform_type에 따른 파라미터. transform_type에 따라 내용이 바뀜. ‘custom’: maketform(‘custom’, ndims_in, ndims_out, forward_fcn, inverse_fcn, tdata) forward_fcn: 순방향 변환 함수, 원 영상 [w z] → 변환 영상 [x y] inverse_fcn: 역방향 변환 함수, 변환 영상 [x y] → 원 영상 [w z] tdata: 변환 매트릭스 T ‘affine’, ‘projective’는 변환 매트릭스 T만 파라미터로 입력하면 됨.
기하 변환 - MATLAB 코드 imtransform: tform을 이용해 기하 좌표 변환을 실행하는 함수 g = imtransform(f, tform) f : 영상 tform : 9p.에서 maketform을 이용하여 만든 기하 좌표 변환 구조체. <예제 5.2> 결과 원본 영상 동류 스케일링 동류 회전 투영
영상 정합 영상 정합 영상 정합: 같은 장면의 둘 이상의 영상을 정렬하는 기법. ① 같은 장비를 이용, 촬영 시간이 다른 영상들을 정렬 같은 장치로 어느 기간 동안 촬영하여 시간의 흐름에 따른 변화 감지 환경의 변화 감지, 종양의 성장 측정 등에 사용. ② 촬영 시간은 거의 같으나 여러 장치로부터 얻은 영상을 정렬 특징이 서로 다른 장치로 영상을 얻어 하나의 개선된 시각화로 융합하는 것. MRI 스캔과 PET 스캔을 융합하여 개선된 영상 획득 → 이를 위해 카메라 각도, 거리, 방향, 센서 해상도, 장면 내 객체의 움직임 등의 차이에 의한 기하적 수차(aberration)를 보완해야 함. (수차: 상의 뒤틀림)
영상 정합 영상 정합 절차 ① 특징 검출 ② 상응하는 특징들 매칭 ③ 기하 변환 추정 ④ 이 기하 변환을 이용, 영상을 정렬. 영상 특징: 양쪽 이미지 모두에서 식별될 수 있는 임의의 영상 부분. (점, 선, 코너 등) 기하 변환 추정: 상응하는 특징들의 위치를 이용하여 매핑하는 기하 변환 함수 추정.
영상 정합 cpselect를 이용한 수동 특징 선정 - cpselect(f, g)
영상 정합 변환 파라미터 추정 (cp2tform) - 특징 쌍들이 식별 및 매칭된 후 그 특징 쌍들의 위치를 기반으로 기하 변환 함수 추정. cp2tform: 특징 쌍 집합으로부터 기하 변환 파라미터들을 추정하기 위한 함수
영상 정합 정렬된 영상 시각화 (visreg) - 기하 변환 계산을 완료한 후, 두 영상을 함께 시각화. - 한 영상을 다른 영상 위에 반 투명하게 표시하는 등의 방법 사용. - 정합되어도 두 영상의 크기가 다를 수 있고, 영상이 경계 밖 화소를 포함하고 있을 수 있음. (경계 밖 화소의 경우 완전히 투명하게 표시하는 것이 좋음.) → 미세한 조정이 필요한 작업. - visreg: 위의 디테일한 처리를 자동으로 수행하여 시각화 작업을 도와주는 함수 경계 밖 화소
영상 정합 영역 기반 정합 특징 쌍이 명확하게 보이는 영상의 매칭은 영역 기반 정합을 이용. ① 템플릿 영상이라고 불리는 한 영상이 다른 영상을 돌아다니며 유사성 측정. ② 유사성 척도의 피크가 발견되면 그때의 템플릿 영상을 그 위치에서의 매치라고 부름. 이를 위해 사용하는 유사성 척도는 정규화된 교차상관이 있음. 정규화된 교차상관 γ(x,y)는
영상 정합 영역 기반 정합 예제 5.7)영상의 부분을 잘라 템플릿 영상으로 이용하기 정규화된 교차상관의 절대값 일치할 수록 밝음. 원본 영상 템플릿 영상 매칭된 템플릿 위치를 표시한 원본 영상
영상 정합 영역 기반 정합 예제 5.8) 카메라 이동에 의해 달라진 영상 정합시키기. 겹쳐진 부분의 좌측은 잘 맞춰졌지만 우측은 약간 틀어져있는 것을 볼 수 있음. (확대) 이는 두 영상의 기하 관계가 단순 이동만으로 특정 지을 수 없음을 의미. 원본 영상 1 원본 영상 2 영역 기반 정합 영상 템플릿 영상
영상 정합 영역 기반 정합 - 예제 코드 정보 예제 5.8 코드 예제 5.7 코드
감사합니다.