굴러가는 분석가의 일상

[Object Detection] 개념 정리 본문

Computer Vision

[Object Detection] 개념 정리

G3LU 2024. 3. 15. 21:14

※ 앞선 게시물에서는 Image Classifcation에 대해 알아보았습니다. CNN은 대체적으로 이미지 처리와 관련된 작업에 사용되지만, 이는 크게 3가지의 유형(이미지 분류, 객체 탐지, 이미지 분할)으로 나뉘게 됩니다. 본 게시물에서는 객체 탐지 개념에 대해 알아보도록 하겠습니다. 

 

💡 Object Detection 개념

 

객체인식(Object Detection)을 알아보기전에, 분류(Classification)와 지역화(Localization)에 대해서 먼저 알아보도록 하겠습니다. 고양이 이미지가 입력으로 들어올 때, 이미지 안의 다중 클래스가 어떤 class에 속하는지 정하는 것이 분류(Classification)라고 칭합니다. 분류(Classification) 같은 경우, 저희가 흔히 아는 신경망입니다.  또한, 주어진 이미지 안의 객체가 어느 위치에 있는지 위치 정보(좌표)를 출력해주는 것을 지역화(Localization)이라고 합니다. 객체 위치 정보는 빨간색 상자로 표현하며, Bounding Box라고 합니다. Bounding Box는 Left Top(좌측 상단)과 Right Bottom(우측 하단) 좌표값을 기반으로 출력하지만, 좌표 값은 연속 값이라서 회귀문제로 삼아야합니다. 이를 구현하기 위해서는 출력단계에서 회귀구조를 더하면 됩니다. 이미지 안에 여러가지 객체들의 위치를 찾아내고, 각각의 클래스를 분류하는 것이 ③객체탐지(Objection Detection)이라고 합니다. 물론, 여러가지 객체를 탐지해야하므로 Localization+Classification에 비해 어렵습니다. ④세그멘테이션(Segmentation)은 객체탐지보다 훨씬 발전된 형태이며, 이는 픽셀 단위로 객체를 구분합니다.

 

Localization+Classification은 단일 항목에 대해 분류하는 것이라고 했습니다. 입력으로 들어오는 데이터가 CNN계층을 통과하면서 생성되는 Feature Map은 생각보다 간단할겁니다. 하지만, Object Detection과 Segmentation은 여러가지 객체에서 도출되는 Feature Map은 복잡하기 때문에, 객체가 어디에 위치하고 무엇인지 찾는 것이 어려울겁니다. 이러한 문제점을 해결하기 위해 고안된 것이 Sliding Window 라는 개념입니다.