분류(Classification), 객체 탐지(Object Detection), 세그멘테이션(Segmentation)의 차이점
이미지 객체 검출 분야에서는 분류, 객체 탐지, 세그멘테이션이란 용어를 자주 접해볼 수 있다. 오늘은 이 세 가지 용어의 뜻과 차이점에 대해 정리해 보려고 한다.
1. 분류(Classification)
분류란, 학습 데이터로 주어진 이미지 데이터의 피처와 레이블 값(클래스 값, 정답)을 학습한 후 새로운 데이터가 주어졌을 때 해당 데이터의 레이블 값을 예측하는 것이다.
2. 객체 탐지(Object Detection, 객체 검출)
객체의 클래스를 분류하고(Classification), 객체가 존재하는 위치(영역)까지도 탐지(Localization)하는 것을 뜻한다. 탐지한 객체 위치는 대개 Bounding Box로 표현된다.
3. 세그멘테이션(Segmentation)
픽셀 단위(pixel-level)로 객체를 분류(Classification)하는 것을 뜻한다.
Classification, Object Detection, Segmentation의 차이
위 이미지를 보면 세 가지 용어의 차이점을 확실히 알 수 있다.
Classification은 객체 클래스 분류만을, Object Detection은 각 객체별 클래스 분류 및 위치(영역) 탐지까지, Segmentation은 객체 클래스 분류+픽셀 레벨의 객체 위치(영역) 탐지를 수행한다.
3-1. Instance Segmentation vs. Semantic Segmentation
위 이미지에 보면 그냥 Segmentation이 아니라, 'Instance Segmentation'이라 쓰여 있다. 이는 Segmentation이 2가지로 나뉘는데, 그 중에서도 Instance Segmentation 방식을 사용해 검출했다는 의미이다.
- Instance Segmentation: 같은 클래스에 속하는 객체여도, 각각 따로 masking
- Semantic Segmenation: 같은 클래스에 속하는 객체는 함께 masking