본문 바로가기
IT_Study/AI_Study

[Object Detection] 01. Object Detection History

by 두번째얼룩 2022. 8. 2.

이전 포스트에서 이야기 했지만, 경연 복기 및 정리를 위한 포스트을 진행 중이다. 포스팅을 하다보니 글의 흐름 상 Object detection task들이 어떻게 발전되어 왔는 지 알 필요가 있었다. 경연을 시작하기 전에, 이 작업을 했어야 했는데, 아쉽다. Object detection history 자료를 살펴보다 아주 잘 정리 되어 있는 논문을 발견했다. 'Object Detection in 20 Years: A Survey[1]'라는 제목의 논문인데, 초심자도 읽을 수 있도록 잘 구성해두었다. 어려운 내용보다는 전반적인 흐름에 대해서만 기술하려고 한다. 

Object Detection Milestones[1]

Object detection algorithm은 크게 두 가지로 구분될 수 있다. Neural Networks가 다시 재조명 받으면서, 관련 테크닉을 사용한 Alogorithm과 그 이전에 사용되던 Algorithm으로 나뉜다. 

두 Algorithm의 큰 차이점은 Features를 추출하는 데 있어서, Neural Networks을 이용하느냐 하지 않는냐인 것으로 보인다. 이전에는 HOG(Histogram of Oriented Gradients) feature 등과 같이 Object detection을 수행하기에 적합한 Feature를 추출하는 법에 대해서 고안하였다. Feature를 추출하는 방법에 대한 연구가 많이 이뤄졌으며, Feature 추출 방법이 성능에 큰 영향을 주었다. 이후에는 Feature 추출을 CNN Model과 같은 Neural Networks를 이용하여 추출한다. Deep convolutional network는 다른 Feature 들보다 robust 하며, High-level feature 표현이 가능해졌고, 이는 큰 성능 향상을 가져왔다. RCNN이 처음 등장했을 때, 기존 성능 대비 대략 150% 성능 향상이 이뤄졌다고 한다. RNN 이후의 Object detection algorithm은 모두 Neural Networks 기반으로 구성된다. 

그런데, Neural Networks를 기반으로 하더라도 Detection stage에 따라 1-stage 혹은 2-stage로 나뉠 수 있다. 

2-stage detection 방식은 요약해서 표현하면, Feature 추출을 하는 Step과 추출된 Feature를 이용하여 Classification하는 Step으로 구성된다. RCNN의 경우, Image의 특정 영역을 CNN Model의 입력으로 사용하여 Feature를 추출하고, 이를 Linear SVM Classfiers를 이용하여 Object가 존재하는 지 존재한다면 어떤 Object가 있는 지를 판단하였다. 

1-stage detection 방식은 요약해서 표현하면, Image 전체를 Neural Networks에 입력으로 하여 한번에 Object detection을 수행한다고 한다. YOLO가 대표적인 1-stage detection 방식이라고 한다.

(경연에서는 YOLO Algorithm을 이용하였으나, 동작 원리에 대해서 자세히 살펴보지 못 했다. 참 아쉬운 부분이다. 이 후 포스팅에서 논문 리뷰도 진행할 예정이니, 자세한 내용은 해당 포스팅을 참고하면 좋을 듯 싶다.)

이와 같이 Algorithm이 발전하는 히스토리를 살펴 보았다. 얼마나 성능이 좋아 졌는 지는 아래와 같은 그래프로 나타내었다. 그런데, VOC07 mAP, VOC12 mAP, coco mAP@[.5, .95], coco mAP @0.5와 같이 Legend가 붙어 있다. Image dataset과 성능 평가 지표를 나타내는 건데, 다음 포스팅에서 어떤 의미인지 기술해보도록 하겠다. 

object detection 성능 평가[1]

 

*Reference

[1] object Detection in  20 Years in A Survey, https://arxiv.org/abs/1905.05055

댓글