Image Stitching (Panorama)
1) Feature Extranction & matching
2) Robust homography estimation
3) Image warping & blending
Image Alignment
전체적인 화소를 모두 사용하거나, Feature-based Alignment로 특정 화소에 대해서 Transformation을 수행한다.
우리는 특징 기반의 Alignment를 수행할 예정이다.
1) Affine Transformation
주어진 Box에 대해서 BoundingBox를 취득해 Affine Transformation을 통해서 물체를 인식
m1, m2, m3, m4, t1, t2의 인자를 추정해 Transformation의 정보를 얻을 수 있다.
(x, y) 점 하나당 6개의 미지수에 대한 방정식이 주어지고, 아래와 같은 행렬 연산 식을 세운다.
최소 3개의 미지수만 알면 모든 파라미터의 값을 알 수 있다.
Affine을 넘어 Projective TF (Homography)의 경우 아래오 ㅏ같이
행렬 연산을 이용해 (3x3) 행렬인 H(homography matrix)를 이용해 다른 영상의 좌표로 변경할 수 있다.
즉 Projective Transform은 같은 Camera Center를 가지는 두 PP 사이의 변환이라고 한다.
Homography from Pure Rotation
Image2의 좌표가 카메라의 회전에 의해서 Image1으로 변환되고
최종적인 변환행렬은 Step3에 제시된 3x3 homography 행렬이다.
8개의 방정식을 모아서 A 행렬로 만들고, h 벡터의 값을 구하기 위해 아래와 같이 행렬 연산을 수행한다.
Robust Estimation
: Outlier를 제외하고 Inlier를 주력으로 삼아 Regression을 수행한다.
( Outliers : Noisy한 데이터, Inliner : 모델에 잘 부합하는 데이터)
RANSAC for Linear Regression
반복적으로 Random Sample을 취득하고, 모델을 만들고, Data들이 그 모델에 부합하는지 확인한다.
여러 번의 Test에서 가장 Count가 많은 것을 적합한 Linear Regression이라고 간주하는 것이다.
사용한 Homography 행렬을 Update해서 Inlier만을 사용해서 새로운 Homography 행렬을 만든다.
Image Warping (Backward warping)
g(x) = h(f(x))
1) Cylindrical Panorama
영상이 오른쪽과 같이 변형된다. (정규화 과정)
이 경우 Tx, Ty 두가지 미지수로만 Tranformation Matrix를 표현할 수 있다.
2) Spherical Panorama
Blending
겹치는 부분에서 경계를 흐리게 하여 자연스럽게 변환하는 과정
+ Feathering : 특정 영역을 부드럽게 변환
Image Rectification Using Homography
: rectify된 영상이 표시된 가상의 평면
'Major Study > Digital Image Processing' 카테고리의 다른 글
Lecture10. Image Transform (이미지 변환) (0) | 2022.06.09 |
---|---|
Lecture9 : Local Feature Detection and Matching (0) | 2022.06.09 |
Lecture8 : Clustering and Segmentation (군집화와 영역화) (0) | 2022.06.03 |
주파수 영역 필터링(Filtering in Frequency Domain) (0) | 2022.04.05 |
C++을 이용한 선형 필터링(Linear Filtering ) 구현하기 (0) | 2022.03.31 |