[개념] Object Detection

2022.01.16 20:08 12,105 조회

안녕하세요. jihyeheo입니다 :)

포스팅 작성 도중에 날아가서 엄청 슬펐지만,, 다시 작성하는 중입니다.

오늘 토크로는 컴퓨터 비전 분야의 Object Detection에 대하여 간단하게 알아보고자 합니다.

혹시 함께 스터디로 공부를 하고 싶으신 분 있으시면 말씀해주세요!!

혹시 틀린 부분이나 이상한 부분 있으면 지적해주시면 감사하겠습니다.


* 본 포스팅은 데이콘 서포터즈 "데이크루 1기" 활동의 일환입니다.

------------------------------------------------------------------------------------------------------------------------------------


컴퓨터 비전(Computer Vision)


위키백과에서 컴퓨터 비전에 대하여 다음과 같이 정의하고 있습니다.

"컴퓨터 비전(Computer Vision)은 기계의 시각에 해당하는 부분을 연구하는 컴퓨터 과학의 최신 연구 분야 중 하나이다. 공학적인 관점에서, 컴퓨터 비전은 인간의 시각이 할 수 있는 몇 가지 일을 수행하는 자율적인 시스템을 만드는 것을 목표로 한다 (많은 경우에는 인간의 시각을 능가하기도 한다).그리고 과학적 관점에서는 컴퓨터 비전은 이미지에서 정보를 추출하는 인공 시스템 관련 이론에 관여한다."

쉽게 말해 컴퓨터 비전이란, 컴퓨터가 사물을 인지하고 의미하고 있는 정보를 수학적 알고리즘을 통해 추출해내는 학문입니다.



객체 감지(Object Detection)


위키백과에서는 객체 감지에 대하여 다음과 같이 정의하고 있습니다.

"객체 탐지는 컴퓨터 비전과 이미지 처리와 관련된 컴퓨터 기술로서, 디지털 이미지와 비디오로 특정한 계열의 시맨틱 객체 인스턴스를 감지하는 일을 다룬다. 잘 연구된 객체 탐지 분야로는 얼굴 검출, 보행자 검출이 포함된다."

컴퓨터 비전의 하위 분야 중 하나인 객체 감지(Object Detection)는 이미지 및 비디오 내에서 유의미한 특징 객체를 감지하는 작업을 합니다. 객체 감지에는 얼굴 인식(Face Detection), Video Tracking(비디오 추적), 사람 수 세기(People Counting) 등 다양한 분야의 문제를 해결하기 위해서 사용됩니다. 최근 자율 주행 자동차나 의료 데이터에 사용합니다.


../../_images/object_detction.png

Object Detection은 비디오나 사진에서 어떤 물체가 있는지 분류(Classification)을 하고 분류된 Object가 어디에 있는지 Bounding box를 통해 위치를 파악하는(Localization) 과정을 통해 Object를 감지할 수 있습니다.

또한, Object Detection은 Object의 수에 따라서 하나의 물체를 찾는 Single-object Detection여러 물체를 찾는 Multi-object Detection이 있습니다.


위 내용에 의거하여 Object Detection을 나타내면 다음과 같이 정의합니다.

Object Detection = Multipled label Classification + Bounding Box Regression


위 포스팅에서는 Object Detection을 줄여 OD라 하고 남은 포스팅을 진행하겠습니다.



OD 논문

OD 분야의 딥러닝 모형은 다음과 같습니다.

이 전에도 활발히 연구는 진행되어 왔지만 2012년 AlexNet의 등장과 함께 딥러닝 연구가 더욱 활발해졌고 OD 분야의 논문도 다음과 같이 많이 진행되어 왔고 계속 진행되고 있습니다.


OD 분야의 딥러닝 모형에 대한 공부 순서입니다. 특히 빨간색으로 칠해진 모형을 중점적으로 공부를 하면 됩니다.

다음 포스팅부터는 OD 분야의 딥러닝 모형에 대하여 논문 리뷰 및 코드 구현을 통해 조금 더 친숙하게 데이콘 유저들에게 OD 분야를 알릴 수 있도록 하겠습니다!



1-stage Detector vs 2-stage Detector

위 사진처럼 OD 논문은 크게 두 가지의 수행 방식으로 나눌 수 있습니다.

화살표를 기준으로 위쪽을 2-stage Detector, 아래쪽을 1-stage Detector라고 합니다.

위 Detector에 대하여 특징을 살펴보면 다음과 같습니다.


1-stage Detector

1-stage Detector는 Region proposal과 Detection을 동시에 수행합니다. 대표적인 모형으로는 YOLO, SSD 계열이 있습니다. 1-stage Detector는 2-stage Detector보다 속도가 빠르지만 정확도가 좋지 않다는 특징을 가지고 있습니다. 하지만 속도면에서 뛰어나기 때문에 자율 주행 및 많은 알고리즘으로 채택됩니다.


2-stage Detector

2-stage Detector는 Region Proposal과 Detection을 순차적으로 수행합니다. 대표적인 모형으로는 R-CNN 계열이 있습니다. 2-stage Detector는 순차적으로 수행하기 때문에 연산량이 많아 속도는 느리지만 정확도가 좋다는 특징을 가지고 있습니다.



결론

컴퓨터 비전과 객체 검출의 정의에 대하여 살펴보았습니다.

위 모형들의 특징을 잘 생각하여 상황에 맞게 필요한 모형을 이용하여 OD를 수행하면 될 것 같습니다!



Reference

[1] 컴퓨터비전 정의

https://newarrivals.tistory.com/2

[2] OD 정의

https://www.secmem.org/blog/2021/06/20/Object_Detection

https://oi.readthedocs.io/en/latest/computer_vision/object_detection/od_main.html

[3] OD 논문

https://github.com/jihyeheo/Deep_Learning_Paper_review/blob/main/Project/project2/AI_paper_review.pdf

https://hoya012.github.io/blog/Tutorials-of-Object-Detection-Using-Deep-Learning-what-is-object-detection

[4] 1-stage, 2-stage 차이점

https://hoya012.github.io/blog/Tutorials-of-Object-Detection-Using-Deep-Learning-first-object-detection-using-deep-learning

로그인이 필요합니다
0 / 1000
백남진
2022.01.16 22:07

객체 검출이 컴퓨터비전의 한 속성이었군요. 꼼꼼히 읽어보았습니다. 감사합니다 !

jihyeheo
2022.01.20 03:50

넵 감사합니다 :) 분데데분님 열심히 활동하시던데 함께 으쌰으쌰해봐요!!

도비콘
2022.01.18 00:03

포스팅 5초마다 자동 저장하는 기능을 넣어야 되겠네요.^^

jihyeheo
2022.01.20 03:51

그러면 좋을 것 같아요 ㅠㅠ 넘 아쉬웠습니다!! 다음에는 사태를 방지하기 위해 다른 곳에 적고 옮겨 적으려구요!