Geometry #3 2D 변환
Detection 또는 Tracking 문제에 있어 두 이미지 사이의 매칭 관계를 이미지 평면에 직접 모델링 할 때 사용되는 방법이다. 2D 변환 관계를 모델링 할때, 다양한 변환 모델이 있는데 잘 고려하여 선택하여야 한다.
이미지 I의 점들 X = (x_i, y_i)과 이미지 I’에서 점 X에 대응하는 점들 X’ = (x_i’, y_i’) 이 있을때, 점 X와 X’ 사이의 다양한 변환 관계 중 회전변환(Rotation)은 R, 평행이동(Translation)은 T라 표기한다.
1.Rigid transformation(강체 변한)
형태와 크기는 유지한 채 위치와 방향만 바꾸는(회전과 평행이동만 허용하는) 변환으로 가장 기본적인 변환이다. 다른말로는 유클리디언 변환(Euclidean tranformation)이라고도 한다.
1-1. 평행이동만 허용한 경우
영상 이동체 추적문제에서 대상의 크기가 고정이고 회전이 일어나지 않아 위치의 변화만 추적할 때, 점 (x,y)와 평행이동된 점 (x’, y’)를 식으로 나타내면 아래와 같다.

이 식에서 모든 점들에 대한 변환 T를 구하기 위해서는 아래와 같이 평균을 구하면 된다.

1-2. 회전만을 허용한 경우
점 (x, y)를 반시계 방향으로 세타 라디안 만큼 회전시키는 변환행렬은 다음과 같다

회전 변환에서 중요한 점은 회전의 기준이 원점이라는 것이다. 또한 회전 변환의 자유도(degree of freedom)는 1이기 때문에 매칭 쌍만 있으면 회전변환을 결정할 수 있다.
위 식을 직접 이용하여 회전변환을 나타내는 것은 좋은 방법이 아니다. 예를들어 서로 다른 두 점 A와 B에서 A에 회전변환을 적용시켜 B로 변환 시킬 때 회전변환은 원점을 기준으로하기 때문에 두 점이 원점과의 거리가 다르다면 불가능하기 때문이다.
이 문제를 해결하기 위해서는 스케일 변화까지 고려하여 변환을 구하고 다시 스케일 변화를 제거하는 방법을 사용해야한다. 이 방법은 다음과 같이 나타낼 수 있다.

위 식을 전개하고 a,b에 관해 묶으면 다음과 같다.

위 식에 매칭 쌍 하나만 대입해도 역행렬을 이용하여 a,b를 구할 수 있다. 매칭쌍이 여러 개인 경우에는 아래와 같은 식을 세우고 최소자승법 즉, pseudo inverse를 이용하여 a,b를 구할 수 있다.

이렇게 a,b를 구하면 스케일(s)와 회전각(세타)는 다음과 같이 계산됩니다.

이제 스케일 s는 버리고 세타만 이용하면 앞에서 만한 두 점 A,B 사이의 매핑 관계를 회전변환만으로 나타낼 수 있게 된다. 그런데 실제 문제에서는 이미지 원점(이미지 왼쪽 상단)을 중심으로 한 회전은 현실적이지 못하다. 보통의 경우 현재 위치에서 제자리 회전하는 경우가 대부분이다. 이런 경우 회전변환만으로는 표현이 불가능하며 일반적인 Rigid 변환 모델을 필요로 합니다.
1-3. Rigid 변환
일반적인 Rigid 변환을 나타낸 식은 다음과 같다.

Full Rigid 변환을 사용하면 임의의 회전 및 위치 이동이 가능해진다. 예를 들어, 어떤 물체가 제자리에서 세타 만큼 회전하는 경우 영상의 원점을 중심으로 회전한 후 원래 있던 자리로 평행이동하면 된다.
Rigid 변환은 위 식에서 알 수 있듯이 자유도가 3이며, 변환을 추정하기 위해서는 최소 3개 이상의 매칭쌍을 필요로 한다. 매칭쌍에서 Rigid 변환을 추정할 때는 앞의 회전변환에서와 같이 스케일 변화까지 고려하는 것이 좋다. 식은 아래와 같다.

전개한 후 a,b,c,d에 대한 행렬식으로 묶으면 다음과 같다.


주어진 매칭쌍들이 여러개 일때, 위 식에 대입하면 아래와 같다.

위 식에서 역행렬 또는 pseudo inverse(의사역행렬, 직사각행렬의 역행렬)를 이용하면 a,b,c,d를 구할 수 있다. 그리고 위 scale과 세타를 구하는 식으로 s와 세타를 구할 수 있다.
여기서 평행이동의 c, d는 회전변환으로 인한 이동량까지 포함된 값이다.
-포함된 값에서 평행이동한 값을 분리하여 총 평행이동량을 알아내는건 Rigid 변환식에서는 불가능하다, 기준에 따라 평행이동량이 다르게 계산될 수 있지만 Rigid 계산식은 수식적으로 동일하게 결정되기 때문이다.
2.Similarity Transformation(닮은 변환)
닮은 변환은 Rigid 변환에 스케일 변화까지 허용한 변환이다. 평행이동, 회전변환, 크기변화로 구성되는 변환이며 일반식은 다음과 같다.

자유도는 4이며, 닮음변환을 유일하게 결정하기 위해서는(식의 계수를 결정하기 위해서는) 2개의 매칭쌍이 필요하다.
Homogeneous 좌표 표현을 사용하면 평행이동, 회전, 크기 변환이 하나의 행렬로 표현가능하다. 닮은변환의 일반식으로 표현하면 다음과 같다.
* 
이렇게 Homogeneous 형태의 선형변환으로 표현 했을 때 가장 큰 장점은 여러 변환들을 행렬곱으로 자유롭게 결합할 수 있다는 점이다.
3.Affine Transformation
Affine 변환은 직선, 길이의 비, 평행성을 보존하는 변환이며 일반식은 다음과 같다.

Homogeneous 형태의 식은 다음과 같다.

Affine 변환은 회전, 평행이동, 스케일, shearing(밀림), 반전까지 포함한 변환이다.
자유도는 6이고 따라서 3쌍의 매칭쌍으로 유일하게 결정할 수 있다. 임의의 세 점으로 매핑하는 식은 다음과 같다.

위처럼 매칭쌍이 3개인 경우에는 pseudo inverse를 이용하여 affine 변환을 구할 수 있다.
4.Homography(projective Transformation)
Planar Surface 물체(평면)의 경우에는 3D 공간에서 2D 이미지로의 임의의 원근투영변환을 두 이미지 사이의 homography로 모델링할 수 있다. 즉 어떤 Planar Surface가 서로 다른 카메라 위치에 대해 이미지 A와 이미지 B로 투영 되었다면 두 이미지 간의 관계를 homography로 표현할 수 있다는 것이다.
그래서 planar homography라고도 부르며, 평면 물체의 2D 이미지 변환관계를 설명할 수 있는 가장 일반적인 모델이다. 또한 homography와 projective transformation은 같은 말이다.
Homography는 homogeneous 좌표계에서 정의되며 일반식은 다음과 같다.

Leave a comment