요즘 이미지 스티칭에 관해 대학원 선배님들과 공부를 하고 있는데, 개인적으로 민폐가 되지 않기 위해 더욱 꼼꼼하게 공부를 진행해야 한다고 느껴진다.
"하나의 큰 이미지 또는 파노라마를 만들기 위해 여러 이미지를 연결하는 이미지 스티칭"
조금이라도 도움이 되기 위해 꾸준히 공부를 이어나가보자!
이미지 스티칭은 위에서 언급했듯 쉽게 말해 우리가 흔히 카메라를 사용할 때 볼 수 있는 파노라마 기능이라고 생각하면 됩니다. 하나의 큰 이미지 또는 파노라마를 만들기 위해 여러 이미지를 연결하는 기법으로 이미지들의 특징을 추출하여 연결하거나 혹은 합치는 작업을 수행합니다.
Q. 그렇다면 이것을 어떻게 수행할까요?
우선 이미지 스티칭 작업을 수행하기 위해 촬영한 이미지들을 정렬합니다 그 후 SIFT라고 불리는 Scale-Invariant Feature Transform을 사용하여 이미지들의 각 특징들을 추출합니다. 이 특징은 이미지를 자연스럽게 연결하는데 사용되며 각 이미지 당 대응하는 특징 쌍을 통해 공통 좌표로 변환합니다.
-> 여기서 하나의 이미지를 기준으로 선택하고 다른 모든 이미지를 이 기준에 맞게 좌표 프레임으로 변환합니다.
여기서 중요한 한 가지가 있습니다.
바로 이미지를 겹치게 연결할 때 생기는 이미지 사이의 이음선 seams를 제거해야 한다는 점입니다.
물론 동일한 노출 및 상하각도를 유지하기에는 상당히 어려울 것 입니다. 이런 이유로 이음선이 생기는데 이를 image blending algorithm을 통해 이음선을 제거하게 됩니다.
=> 이렇게 여러 이미지들을 하나의 파노라마 이미지로 생성하는 것 입니다!
지금까지 전반적인 이미지 스티칭에 대한 흐름을 알아보았습니다.
다음 포스터 부터
2x2 transformation
3x3 transformation
이상치를 효율적으로 처리하는 RANSAC
실제로 데이터 집합 자체에서 유효한 동형성을 계산하는 Computing Homography
이미지를 매끄럽게 만드는 image blending algorithm 등을 상세한 설명과 함께 어떠한 논리가 적용되는지 살펴보겠습니다!
참고 : https://www.youtube.com/watch?v=J1DwQzab6Jg&list=PL2zRqk16wsdp8KbDfHKvPYNGF2L-zQASc