[OpenCV] 05-1. Understanding Features
🐍Python/OpenCV

[OpenCV] 05-1. Understanding Features

728x90
반응형

< Understanding Features >

이번 장에서는, 특성이 무엇인지, 왜 중요한지, 왜 모서리가 중요한지에 대해서 이해해 볼 것이다.

Explanation

퍼즐 게임을 해본 적이 있을 것이다. 이미지의 작은 조각들을 가지고 전체의 큰 이미지의 형태로 정확하게 맞춰야한다. 어떻게 할 수 있느냐가 질문이다! 같은 이론을 컴퓨터 프로그램에 투영시켜서 컴퓨터가 퍼즐을 플레이하게 할 수 있겠는가? 만약 컴퓨터가 퍼즐을 할 수 있다면, 왜 컴퓨터에게 자연의 일부 풍경을 주고 하나의 단일 이미지로 맞추라고 할 수 없을까? 만약 컴퓨터가 자연적인 이미지를 여러장 맞출 수 있다면, 건물이나 어떠한 구조물의 사진을 대량 주고 그 안에서 3D 모델을 만들라고 하는 것을 어떨까?

답은, 우리는 쉽게 비교될 수 있는, 독특한 패턴이나 특정한 특징들을 찾고 있다는 것이다. 그런 특징의 정의를 찾아간다면 말로 표현하기 어려울지 모르지만, 우리는 이것들이 무엇인지 알고 있다. 만약 어떤 사람이 우리에게 여러 이미지에서 비교할 수 있는 좋은 특징 하나를 고르라고 한다면, 한 가지를 고를 수 있다. 그렇기 때문에, 어린 아이일지라도 간단하게 해낼 수 있다. 우리는 이미지에서 이 특징을 물색하고, 찾아내어 다른 이미지에서 같은 특징을 찾아내고 정렬한다.

이 특징들은 무엇인가? (대답을 컴퓨터도 이해할 수 있어야 한다.)

인간이 이 특징들을 어떻게 찾는지는 설명하기 어렵다. 이미 뇌에 내재되어 있다. 하지만 만약 우리가 몇몇 사진들을 깊이 들여다보고 다른 패턴을 찾아본다면, 우리는 흥미로운 것을 발견할 수 있다. 예를 들어, 아래의 이미지를 보자:



이미지는 매우 간단하다. 이미지의 위쪽에는, 6개의 작은 조각들이 주어져있다. 질문은 이 조각들이 원본 이미지의 어디에서 온 것인지 찾아보라는 것이다. 몇 개나 찾았는가?

조각 A와 B는 평평한 표면이고, 많은 지역에 포진해있다. 그래서 이러한 것들의 정확한 위치를 찾는 것은 어렵다.

C와 D는 조금 더 간단한다. 그들은 건물의 가장자리 부분이다. 대략적으로 위치를 찾을 수 있지만, 정확한 위치를 찾는 것은 여전히 어렵다. 이는 가장자리에 따라, 어디에나 똑같기 때문이다. 가장자리까지는 평범하지만, 이는 다르다. 그래서 가장자리는 평평한 면적에 비해서 훨씬 더 좋은 특성이지만, 충분히 좋은 것이 아니다. (가장자리의 연속성을 비교하기 위한 퍼즐에서는 좋다)

마지막으로, E와 F는 건물의 일부 모서리이다. 그리고 이들은 쉽게 찾아낼 수 있다. 모서리의 경우, 이 조각을 움직이면 다르다는 것을 볼 수 있다. 그래서 모서리는 좋은 특징이라고 판단될 수 있다. 그래서 지금부터 조금 더 간단한 이미지를 가지고 이해해보자.



위와 마찬가지로 파란색 패치는 평평한 면적이어서 찾아내고 추적하기가 어렵다. 파란색 패치를 어디에나 옮겨도 똑같아 보인다. 검은색 패치의 경우, 이는 가장자리다. 수직방향으로 이동하게 되면 파란색 패치와 유사하게 된다. 가장자리를 따라 이동하면 똑같이 보인다. 그리고 빨간색 패치는, 모서리쪽이다. 패치를 옮기는 곳 마다 모양이 달라지니 독특하다는 것을 의미한다.

이제 어떻게 찾느냐가 문제이다. 또는 모서리를 어떻게 찾느냐가 문제이다. 이 또한 직관적인 방법으로, 즉 주변의 모든 영역에서 이동시 최대의 변동이 있는 이미지의 영역을 찾는 것이다. 이는 다음 장에서 컴퓨터 언어로 다뤄질 것이다. 따라서 이러한 이미지 특성을 찾는 것을 “Feature Detection”이라고 한다.

그래서 우리는 이미지에서 특성을 찾았다. 일단 이를 찾았다면, 다른 이미지에서도 같은 것을 발견해야 한다. 특성 주변의 영역을 가지고, “위는 파란 하늘, 아래는 빌딩, 건물에는 유리등이 있다”와 같이 말로 설명하고 다른 이미지들에서도 같은 영역을 검색한다. 기본적으로, 이 특성들을 묘사하고 있다. 이와 유사하게 컴퓨터는 또한 다른 이미지에서 찾을 수 있도록 기능 주변의 영역을 설명해야 한다. 소위 서술은 특징 설명이라고도 불린다. 일단 모든 특징과 설명을 갖추면, 모든 이미지에서 같은 특징을 찾아 정렬하거나, 맞추거나, 원하는 대로 할 수 있다.

그래서 이 모듈에서는 특징을 찾고, 설명하고, 일치시키기 위해 OpenCV의 다른 알고리즘을 찾고 있다.

728x90
반응형