인공지능/컴퓨터비전

[컴퓨터비전개론][6장]Transformations

우향우@ 2023. 4. 6. 11:43

개요

저번 시간에 feature descriptor을 통해 특징점끼리 매칭을 시켜보았다. 이젠 이러한 매칭된 특징점들을 이용하여 이미지를 합쳐야하는데 여기서 사용하는 이미지 Transformations를 알아보자.

 

이미지 와핑

이미지 필터링이 이미지의 값들을 바꾸는 것이었다면 이미지 와핑은 이미지 함수의 도메인, 즉 픽셀 범위를 조정하는 처리이다. 즉 이미지의 트랜스폼이나 형태를 바꾸는 행위이다.

일단 기본적인 이동, 회전, 스케일은 그래픽스의 트랜스폼과 유사하다. 2차원이동으로 각픽셀에 대해 변환행렬을 적용하면 된다. (그래픽스에서는 주로 도형의 정점들에 트랜스폼을 처리하지만 여기선 각 픽셀에 바로 적용하여 새 이미지를 만들때 사용하는듯 하다. 분야에 따른 적용방식 차이인듯하다. 어찌되었든 근본적으론 유사하다.) 

shear

그래픽스에선 언급하지않았던 독특한 변환으로는 shear이다. 다음과 같다.

1 shx
shy 1

* (x,y)T

이는 x가 y값에, y가 x값에 영향을 받게되는 변형이되게된다.

여기서 shy는 0으로하고 shx를 적절히주면 y값이 오르면 x도 전체적으로 오른쪽으로 밀려 전형적인 평행사변형이 된다.

아핀변환

그래픽스와 동일하다.

 

Homographies

컴퓨터비전에서는 아핀변환보다 더욱 강력한 Homographies변환이 있다. 이는 아핀변환에서 사용하지않던 마지막 행의 0부분에도 값을 넣게된다. 이러한 값들에 의해 이제 X,Y값들이 Z값에 영향을 주게된다. 즉 이제 계산과정에서 Z를 건드린다. 물론 이렇게 나온 결과를 Z나누기를 통해 전체를 Z로 나누어 Z를 1로 만들면 계산이 마무리된다. 

동차 절단 공간

일단 Z가 가지는 의미를 알기위해 동차 절단 공간을 알아보자.

아핀변환에서 2차원 점을 Z축까지 포함하여 (X,Y,1)로 표현하였다. 그리고 그래픽스에서 계산중 나온 동차절단공간 결과인 (X`,Y`,Z)는 Z로 나누어 (X,Y,1)로 만들어 최종 XY를 구하였다. 즉 동차 절단 공간에서 (X,Y,Z)에서 X,Y각각과 Z의 비가 같다면 모두 같은 XY에서의 점으로 간주한다. (X,Y,Z)와 (2X,2Y,2Z)이 다 같은 XY점으로 취급하는 것이다. 이를 기하학적으로 표현하면 Z=1인 평면을 두고 한 점을 표현하는 벡터V가 있을때 해당 벡터를 직선으로 확장해서 해당 평면과의 접점의 XY를 해당 벡터의 실제 2차원상 XY좌표로 취급한다는 것이다. 즉 해당 벡터의 직선 위의 벡터는 모두 같은 2차원 상의 점을 나타낸다.

Homographies

다시 Homographies변환으로 돌아오면 Homographies변환은 이제 X,Y의 값이 Z의 값에 영향을 준 결과를 내게된다. 이는 원래 Z값에 대한 영향이 없었던 아핀 변환에서 Z값에 대한 변화만 추가되게 된것이다. 즉 아핀변환 결과가 (X,Y,1)이라면 이와 동일하지만 마지막행에 계수가 추가된 Homographies변환은 (X,Y,1+GX+HY)가 되게 되는 것이다. 이는 기하학적으로 동차절단공간에서 XY는 같지만 Z만 변한것이 되게 되고 그 벡터가 평면에 도달하는 XY점을 나타내게된다.

이를 잘 이용하면 이미지가 절두체에 의해 투영된듯한 형태로 픽셀들의 좌표를 변환이 가능해지게 된다. 자세한 방법은 다음 장에서 배우도록 하겠다.

추가로 그래픽스에서는 투영과정을 기하학적으로 해석하여 유도를 해내었지만 관점이나 해석을 달리한다면 Homographies변환으로 해석도 가능할 것으로 추측된다. 결국이도 투영을 표현하는데 사용되기 때문이다. 

 

 

 

 

 

참고 강의

부산대학교 정보컴퓨터공학부 컴퓨터비전개론(감진규 교수님)