본문 바로가기
카테고리 없음

<Computer Vision> Object Detection 이란?

by 프로그래밍기적 2024. 10. 3.

Object Detection 이란?

이미지나 동영상에서 특정 객체를 인식하고(image classification), 그 객체의 위치를 찾아내는 기술(Object Localization)을 말합니다. 단순히 물체가 있는지 없는지를 판단하는 것뿐 아니라, 그 물체가 이미지나 영상의 어느 위치에 있는지 좌표까지 제공하는 것이 특징입니다!

귀여운 강아지

여기 귀여운 강아지가 한 마리가 있습니다! 그런데 이 강아지를 컴퓨터가 어떻게 알아볼까요? 바로 Object Detection이 필요한 순간이죠! 컴퓨터는 단순히 '이건 강아지야'라고 말하는 게 아니라, 이 강아지가 화면 속에서 어디에 있는지까지 정확하게 찾아냅니다.

오케이, 근데 어떻게?

그럼 Object Detection 하는 방법은 어떻게 할까요?

1. 폭력적인 방법 : Exhaustive Search

위 그림처럼 구역을 나눠서 하나 하나씩 보면서 가능성이 있는 위치를 찾는것입니다!(Exhustively Grid Search)
문제는... 컴퓨터에게 너무 힘들고 폭력적인 방법입니다.


왜냐하면:

  1. 너무 느림: 모든 구역을 다 탐색해야 하니 시간이 오래 걸려요. 특히 이미지가 크거나 물체가 많으면 더더욱 시간이 오래 걸리죠.
  2. 구역을 얼마나 크게/작게 나눠야 하는지 모름: 만약 구역을 너무 크게 나누면 세밀한 부분을 놓치고, 너무 작게 나누면 처리 시간이 훨씬 길어지게 돼요.

2. Smarter 한 방법 : Region Proposals

처음부터 끝까지 다 찾는게 아니라, 이미지에서 물체가 있을법한 위치를 먼저 추려내고 나서, 그 물체가 맞는지 아닌지 판단하는 겁니다!

Regioin Proposals(초록색 박스: 물체가 있을것 같은 위치)

이러면 불필요한 부분까지 볼 필요 없어서 시간도 이전 방법보단 많이 단축할 수 있습니다!
그럼 Region Proposals 는 어떤 방법 및 알고리즘을 통해 물체가 있을 법한 위치를 찾는걸 까요?

2-1. Image Segmentation

Image Segmentation 이라는 방법을 통해, 이 부분은 하나의 물체인것 같은데? 라는 식으로 같은 물체로 보이는 영역을 하나로 묶는 방법입니다. 이런 방식으로 이미지에서 물체를 구분하고, 그 물체가 속한 영역을 확인해 Region Proposals를 도출하는 거죠!

Image Segmentation 다양한 알고리즘의 결과

하지만, Image Segmentation 에는 매우 다양한 알고리즘이 있는데, 어떤게 정확한 Segmentation 이다! 라는 알고리즘이 없습니다..
위 사진을 보면, 결과가 비슷 비슷하지만, 알고리즘마다 미세한 차이들이 있어서 어떤게 제일 좋다라고 할 수 없습니다.

2-2. Selective Search

Source: “Selective Search for Object Recognition,” IJCV 2013.

Selective Search는 먼저 이미지를 아주 작은 조각들로 나눈 후, 비슷한 색상이나 질감, 크기 같은 시각적 특성을 바탕으로 유사한 영역들을 점차 병합해 나가는 방식입니다. 이렇게 병합된 영역들이 물체가 있을 가능성이 높은 구역이 되는 거죠!

 

Selective Search의 과정은 간단하게 다음과 같습니다:

1. Over-segmentation: 이미지를 아주 작은 구역들로 세분화합니다.

2. 두 개의 비슷한 구역을 고른다: 색상, 질감, 크기 등 유사한 특성을 가진 두 구역을 선택합니다.

3. 그 두 구역을 하나로 합친다: 선택한 두 구역을 병합해 더 큰 영역을 만듭니다.

4. 반복: 다시 2번으로 돌아가 이 과정을 반복하며 점점 더 큰 영역을 만듭니다.

 

Selective Search를 쓰는 이유는:

1. Capture all Scales : 
Selective Search는 작은 물체부터 큰 물체까지 모든 크기의 객체를 탐지할 수 있어요. 다양한 스케일의 물체를 놓치지 않죠.

2. Diversification :
이미지를 병합하는 단일 최적화 전략이 없기 때문에, 여러 방식으로 영역을 병합해 다양한 상황에 유연하게 대응합니다.

3. Fast to Compute : 
Selective Search는 비교적 빠르게 계산할 수 있어, 짧은 시간 안에 물체가 있을 법한 영역을 추려낼 수 있습니다.

 

이렇게 Region Proposals 를 완료하였습니다! 다음은 내가 추측한 물체가 과연 어떤 물체인지 판단을 해야합니다!(Image Classification). 다음으로는 Image Classification 의 다양한 방법을 소개하겠습니다!