2017-10-02 23:49:52

스케일(Scale)은 사람의 시각과 관련해서 가장 중요한 개념 중에 하나이다. 우리가 눈으로 어떤 장면을 볼 때 얼마나 멀리 떨어진 거리에서 보느냐에 따라 우리가 볼 수 있는 내용은 사뭇 다르다. 가까이서 볼수록 물체들의 좀 더 디테일한 부분들까지 볼 수 있고, 멀리서 볼수록 대략적인 구조와 틀을 볼 수 있다. 흔히 무언가를 '작은 스케일로 본다', '큰 스케일로 본다'고 표현하는데, 가까이서 세세하게 보는 것이 작은 스케일로 보는 것이고, 좀 더 떨어져서 전체적으로 보는 것이 큰 스케일로 보는 것이다. 그림1(a)는 한 장면을 큰 스케일로 본 것이다. 빨간 지붕의 집들이 여러 채 옹기종기 모여있고 멀리는 섬과 바다가 보인다. 반면, 그림1(b)는 작은 스케일로 본 것이다. 큰 스케일로 봤을 때는 안 보였던 지붕의 기와들이 어떻게 생겼고, 어떤 방식으로 배치되어 있고, 또 벽에 벽돌이 어떻게 쌓여있는지 등이 세부적으로 보인다.  


그림1. 큰 스케일로 보는 것과 작은 스케일로 보는 것. 참고로 이 사진은 크로아티아 두브로브니크 성벽 투어 중 찍은 것이다.


우리가 어떤 장면을 볼 때 전체적인 틀을 파악하는 것과 세부적인 내용을 아는 것 둘 다 상황에 따라 필요한 것이기 때문에, 성공적인 컴퓨터 비전 및 이미지 프로세싱을 위해서는 이 스케일이라는 개념을 도입해야 한다. 왜냐하면 우리는 동시에 여러 스케일로 장면을 보기 때문이다. 그렇다면 어떻게 이 개념을 반영할 수 있을까? 그래서 나온 것이 scale space이다. 


영상처리를 할 때 단 하나의 스케일의 이미지가 아니라 여러 스케일로 본 이미지들을 가지고 필요한 작업을 하는 것이다. 이 여러 스케일의 이미지들을 모아놓은 것scale space라고 말할 수 있다. 이미지 스케일을 변화시키는 가장 간단한 방법은 이미지를 확대하거나 축소시키는 것이다(그림2). 이를 이미지 피라미드라고 한다. 


그림2. 이미지 피라미드


그림2를 보면 큰 스케일로 보는 장면(오른쪽에 있는 작은 이미지)은 작은 스케일로 본 장면(왼쪽에 있는 큰 이미지)에 비해서 디테일한 면에서는 살짝 떨어진다. 전반적으로 모호하게 보인다. 이 특성을 이용해서 이미지의 사이즈는 그대로 유지하면서 이미지를 블러링(blurring)시킴으로 스케일이 커지게 할 수 있다. 블러링에 가장 적합한 필터는 가우시안 필터이다. 


...(공식1: 가우시안 필터)


여기서 는 블러링의 정도를 결정하는 파라미터로, 클 수록 이미지를 더 블러시킨다. 이미지가 더 많이 블러될 수록 스케일이 커지는 것이기 때문에 스케일 파라미터라고도 부른다. 그러면 이번에는 가우시안 필터를 이용해서 scale space를 만들어보자. 


...(공식2: 이미지를 가우시안 필터로 컨볼루션하기)


가우시안 필터로 이미지를 블러링한다. 점차적으로 큰 스케일 파라미터로 블러링을 한다. 결과적으로 그림3과 같이 점점 더 블러된 이미지들을 얻게 된다. 흐릿할 수록 스케일이 큰 것이다. 


그림3. 가우시안 scale space


더 나아가서 이미지를 먼저 블러링한 다음에 사이즈를 축소(다운샘플링)시키고, 또 다시 블러링하고 다운 샘플링...하는 방법도 많이 활용된다. 




▶ 글을 마무리 하면서..


아직 글의 내용이 많이 불충분하지만 scale space에 대해 대략적인 감각만이라도 전달되었기를 바라며 일단 글을 마친다. (좀 더 공부한 후에 추가 수정될 것입니다.) 



<참고 자료>

[1] http://www.cs.uu.nl/docs/vakken/ibv/reader/readerINFOIBV.pdf => 9장 내용