-
[Yongggg's] Scale Space란?Computer Vision 2021. 5. 3. 16:29
안녕하세요! 이번에는 Distinctive Image Features from Scale-Invariant Keypoints를 소개해드리기에 앞서 Scale Space의 정의를 짚고 넘어가는 시간을 갖도록 하겠습니다. bskyvision 블로그의 자료와 내용을 토대로 설명을 적어보았습니다.
1. 정의
Scale(스케일)이란 사람의 시각과 관련된 중요한 개념이라고 할 수 있다. 사람이 눈으로 특정 장면을 볼 때, 얼마나 멀리 떨어져서 물체를 보느냐에 따라서 우리가 볼 수 있는 내용은 다를 것이다. 가까이서 물체를 바라본다면, 상세하고 자세하게 물체를 볼 수 있고, 멀리서 물체를 본다면, 대략적인 구조와 틀을 볼 수 있다.
일반적으로, '작은 스케일로 본다.', '큰 스케일로 본다'라고 했을 때, 가까이서 자세히 보는 것은 작은 스케일로 보는 것이고 멀리 떨어져 대략적으로 보는 것이 큰 스케일로 본다라고 한다.
2. 개념
[그림 1]에서 왼쪽 그림은 한 장면을 큰 스케일로 본것을 나타낸다. 대략적으로 빨간색 지붕을 갖는 집들이 섬근처에 모여있는 것을 확인할 수 있다. 반면에 오른쪽 그림에서는 큰 스케일로 봤을 때에는 눈에 확띄지 않았던, 지붕의 기와 모양들이 어떻게 배치되어 있는지, 벽의 모양이 어떤지 등이 세부적으로 보인다는 것을 알 수 있다.
[그림1] 큰 스케일로 본 장면(왼쪽)과 작은 스케일로 본 장면(오른쪽) 사람이 어떤 장면을 인식한다고 했을 때, 전체적인 틀을 파악하는 것과 세부적인 내용들을 아는 것 모두 중요한데, 이는 컴퓨터가 인식하는 상황에서도 마찬가지이다. 따라서 성공적인 컴퓨터 비전 및 이미지 프로세싱을 하기 위해서는 위와 같은 스케일이라는 개념을 도입해야한다. 컴퓨터에 이 개념을 도입하기 위해서는 어떻게 반영할 수 있을 것인가? 그래서 나온 것이 Scale Space이다.
영상처리를 할 때, 단일 스케일 이미지가 아닌 여러 스케일을 갖는 이미지를 함께 사용하여 필요한 작업을 한다. 이 여러 스케일의 이미지들을 모아 놓은 것이 Scale Space이다. 이미지 스케일을 변화시키는 가장 간단한 방법은 이미지를 확대하거나 축소시키는 것이다. [그림 2]처럼 오른쪽으로 갈 수록 커지는 스케일을 갖는 여러가지 이미지들을 이미지 피라미드라고 한다.
[그림 2] Gaussian pyramid (출처: Twan Maintz, Digital and Medical Image Processing) 위의 [그림 2]에서 큰 스케일로 보는 장면(우측에 존재하는 작은 이미지)은 작은 스케일로 보는 장면(좌측에 존재하는 큰 이미지)에 비해 디테일하지 않고 점점 모호해진다. 이 특성을 반영하면서 동시에 이미지의 사이즈는 그대로 유지하도록하는 이미지 블러링(Blurring) 개념을 사용함으로써 이미지 사이즈는 동일하게되지만, 이미지의 스케일이 커지게 할 수 있다. 이런 블러링에 가장 흔히 사용되는 필터는 가우시안 필터이다.
$$ g_{\sigma}(x,y) = {1 \over 2\pi\sigma^{2}} e^{-(x^{2}+y^{2})/2 \sigma^{2}} \quad (수식 1)$$
(수식 1)은 가우시안 필터에 대한 식을 나타낸다. 여기서 $ \sigma $는 블러링의 정도를 결정하는 파라미터로, 이 값이 클 수록 이미지를 더 블러링 시킨다. 이미지가 더 많이 블러링될 수록 스케일이 커지는 효과가 나타나기 때문에 $ \sigma$를 스케일 파라미터 라고도 부른다.
가우시안 필터를 이용하여 Scale Space를 만들어 보겠다.
$$ f_{\sigma}(x,y) = g_{sigma}(x,y)*f(x,y) (수식 2) $$
(수식 2)는 가우시안 필터로 컨볼루션을 적용하는 과정을 식으로 나타낸 것이다. 이 가우시안 필터로 이미지를 블러링 할 때, 점차적으로 큰 스케일의 파라미터를 사용하여 블러링을 진행한다. [그림 3]처럼 점점 더 블러된 이미지를 얻을 수 있다.
[그림 3] 블러링 파라미터에 따른 블러링된 이미지 (출처 : 위키피디아) 흐릿한 이미지일수록 스케일이 큰 것이다. 이 방법 외에도 이미지를 먼저 블러링한 다음 다운샘플링(이미지 사이즈 축소)한 뒤에 또 다시 블러링 한 뒤 다운샘플링 ...(반복)하는 방법도 사용된다.
이렇게 Scale Space의 정의 및 Blurring 등을 알아보았습니다. 왜 이런 기술을 써야하는지 깨닫게 되는 내용이었습니다. 다음에는 SIFT에 대해 설명을 진행하도록 하겠습니다.^^
오타나, 잘못된 내용을 발견하신다면, 댓글 부탁드리겠습니다. 감사합니다! ^^
'Computer Vision' 카테고리의 다른 글
[Yongggg's] Optical Flow (2) 2021.06.15 [Yongggg's] SIFT (Scale Invariant Feature Transform) (2) 2021.06.13