ML study > Object Detection > Background

1. Object Detection 분류

  • Object detection은 주어진 이미지안에서 어떤 물체가 있는지 파악하고 그것의 위치까지 결정하는 기술이다.

Source

  • 이 기술은 다음 그림과 같이 크게 두가지 type으로 구분할 수 있다. 첫 번째는 specific한 물체를 detect 하는 것으로 도널트 트럼프, 에펠탑, 모나리자와 같이 특정한 물체를 구분하는 방식이다. 두 번째는 generic 한 물체를 인식하는 것으로 사람, 자동차, 고양이와 같이 일반적인 물체의 카테고리를 구분하는 방식이다.

  • 오랜 기간동안에는 specific한 물체를 detect하는 방식에 연구가 진행되었으나 CNN의 등장이후 조금 더 generic 한 문제에 대한 연구가 더 활발하게 진행되는 추세이다.

  • 따라서 우리는 최근 큰 이슈인 generic object detection 기술의 발전에 대해 알아볼 것이다.

2. Generic Object Detection

Source

  • Generic object detection 에서 해결하고자 하는 문제는 크게 4가지로 구분된다. 첫 번째는 그림 (a) 와 같이 주어진 이미지와 카테고리 내에서 존재하는 object 들의 유무를 판단하는 문제이다. 두 번째 (b) 는 (a)에서 물체의 유무를 판단하는 것에서 나아가 어디에 물체가 있는지를 박스 형태로 찾아내는 방법이다. 세 번째 (c) 는 단순히 박스형태로 물체를 찾아내는 것이 아니라 픽셀 단위로 물체를 파악하는 방식이며 네 번째 (d) 방식은 픽셀단위로 물체를 파악하되 같은 카테고리 안에서도 서로 다른 물체라는 것을 구분할 수 있어야 한다.

  • 당연히 (d)로 갈수록 문제는 어려워지며 accuracy 와 efficieny에 관한 이슈가 발생한다.

  • Accuracy issue는 같은 클래스 내에서 발생하는 다양한 변수들과 너무 많은 클래스들의 존재로 발생한다. 동일한 클래스라 하더라도 다양한 색, 모양, 크기 등이 존재할 수 있고 빛, 카메라, 각도에 따라 이미지가 다르게 나타날 수 있다.

  • 같은 클래스내에서도 이렇게 구분할 수 있어야될 요소가 많은데 클래스의 종류까지 많아져 버리면 문제는 굉장히 복잡해진다.

  • 실생활에서 object detection은 mobile device에서 주로 사용될 수 있는데 computation 파워는 한정되어 있으므로 efficiency가 매우 중요하다.
  • 또한 detector는 training data 뿐만 아니라 처음 보는 이미지에 대해서도 제대로 detect할 수 있어야 한다.

2.3 Progress in the past 2 decades

  • 위에서 언급한 issue들이 완전히 해결되지는 않았지만 이러한 문제를 해결하기 위해 지난 20여년 동안 다양한 방식의 연구가 진행되었다.

Source

  • 90년대 이전에는 template에 기초해서 specific 한 문제를 주로 다루었으며 90년대 이후에는 SIFT와 같은 local feaure를 뽑아내는 알고리즘이 object detection에 주로 사용되었다.

  • 이 후 2012 년 deep CNN을 이용한 AlexNet의 등장으로 deep neural network를 이용하여 feature를 뽑아내고 object detection에 적용시킨 다양한 알고리즘이 제시되었다.

  • 더불어 이러한 네트워크를 훈련시키기위해 양질의 데이터셋이 요구 되었고 다양한 데이터 셋이 등장하였다.

  • 발전된 모델과 데이터의 등장으로 object detection에 큰 발전이 있었지만 인간이 구분할 수 있는 카테고리의 수는 \(10^5\) 에 달하는 것을 고려할 때 아직까지 완전히 해결된 영역이라고는 볼 수 없다.

Reference

[1]: Deep Learning for Generic Object Detection: A Survey



댓글남기기