Cyrill Stachniss님의 Geometric transformation 강의를 듣고 이해하고 정리해 보았습니다.
https://www.youtube.com/watch?v=Zypm4EQ9vvA
강의이 콘텐츠는 5가지 입니다.
- Geometric transformation on images
- Resampling - Interpolation techniques
- Foward and Inverse warping
- Image subsampling and smoothing
- Image Pyramid
Geometric transformation on images
이미지내에서 기하학적인 변환하는 목적을 3가지로 구분지어 설명하고 있습니다.
Rectification - 이미지를 변환해서 이미지의 왜곡을 보정하기 위해서
Rendering or Texture mapping - 3D 물체에 texture를 씌위기 위한 image warping을 위해서
Registration - 두 이미지의 정합을 위해서
그래서 이미지 기하학적 변환을 시키기 위한 시스템을 구축하는게 영상처리 전문가들이 할일입니다.
그래서 이미지가 가지고 있는 좌표시스템의 변환은 다음 식처럼 표현합니다.
Resampling
이러한 기하학적 transform은 non-integer coordiante를 발생시키게됩니다. 따라서 Discretization, Quantization과 같은 방법은 필수적으로 수행되어야 합니다. 입력 이미지에서 출력 이미지에 픽셀값을 할당할 때, interpolation이 필요합니다.
그렇지 않으면 Discretization, Quantization에 의해 어떤 좌표 (x,y)은 비어 있는 픽셀이 되어 버릴수 있을 수 있기 때문입니다.
interpolation에서는 여러 기법이 있습니다. Block을 구분지어 가장 가까운의 이웃의 색깔을 복사하는 nearest neighbor interpolation, 2차 비례식을 이용한 bilinear interpolation 등이 있습니다.
Foward and Inverse mapping
Foward mapping 과 Inverse mapping은 각각 어떤 의미를 가지는지 알아보겠습니다.
Foward warping의 경우 모든 입력 이미지의 좌표값에 대한 픽셀 값을 transformation을 통해 얻은 출력 이미지의 좌표에 적용시키는 방법입니다. 이렇게 적용할 경우 출력 resampling 과정에 의해 이미지에는 value를 할당 받지 못하는 coordinates가 생기게 되는 거고 interpolation이 필요하게 됩니다.
반 면 Inverse warping의 경우, 모든 output의 좌표값들에 대해 역 연산을 취해 original의 정보를 가져오는 방법입니다. 이경우에는 모든 output의 좌표를 거치는 연산을 진행하기 때문에 비어있는 output이 존재 하지 않게 되지만, 중복 되는 값을 가지는 경우도 존재하기 때문에 해상도 저하 문제를 발생할 수 있습니다.
Image subsampling and smoothing
Image subsampling은 원본 이미지내어세 해상도를 조절해 새로운 이미지를 획득할 수 있습니다. 단순히 scale factor를 조절해서 image를 subsampling 할 수 있습니다. 이 경우 디테딜이 매우 떨어집니다.
subsampling에 의해 발생하는 디테일 저하 문제를 smoothing filter를 통해 해결 할 수 있습니다.
Image pyramid
Image pyramid는 이미지들의 배열입니다. 기존 이미지에서 size를 half 시켜 해상도에 따라 level를 나누어 피라미트 형태의 이미지 배열을 갖게 됩니다. 이런 pyramid는 다양한 정보를 담고 있다는 점이 장점입니다. 딥러닝 모델에서도 이렇게 pyramid 형태로 특징맵을 추출하는데, 각 level에 따라 강조하는 정보가 다르기 때문입니다. 높은 level은 이미지 size가 작으므로 이미지 내에서 큰 물체의 정보를 더 나타낼 수 있고, level이 낮은 이미지는 이미지 내의 더 작은 이미지를 표현하는데 도움을 줄것입니다.