컴퓨터 비전(Computer Vision)이란, 기계가 이미지를 이해하고 해석하는 능력을 개발하는 분야입니다. 해당 분야에서는 3가지의 주요 방법론이 있는데요.
이는 이미지 분류(Classification), 객체 검출(Object Detection), 분할(Segmentation)입니다.
비슷한 것 처럼 보이지만, 다른 분야인 이 3가지에 대해서 알아보도록 하겠습니다.
1. 이미지 분류(Image Classification)와 객체 검출(Object Detectino), 그리고 이미지 분할(Image Segmentation)의 차이
1) 이미지 분류(Image Classification)
- 목적 : 전체 이미지를 하나의 카테고리로 분류하는 것입니다. 여기서 주목할 것은 "이미지 전체를 하나의 카테고리"로 분류한다는 것입니다. 다른 두 가지와 비교했을때 이 부분이 큰 차이점이 됩니다
- 결과물(Output / 출력) : 특정 이미지가 입력값으로 들어가서 분류 과정을 거치게 되면 "하나의 레이블"이 도출되게 됩니다.
* 예시로는 개와 고양이를 분류하는 문제입니다. 개 또는 고양이의 이미지를 입력값으로 넣었을때 전체 이미지가 개인지 고양이인지 분류하는 모델을 만드는 것입니다.
- 특징 : 이미지 전체의 컨텍스트(Context)를 사용해 결정을 내리기 때문에 분별하고자하는 객체 뿐만 아니라 주변 이미지에 의해서도 영향을 받습니다. 또한, 객체의 위치나 개수에 대한 정보는 제공하지 않는다는 점이 있습니다.
- 대표적인 모델 : AlexNet, VGGNet, ResNet
2) 객체 검출(Object Detection)
- 목적 : 특정 이미지 내의 여러 객체(Object)를 찾고, 각 객체의 위치를 표시하며, 객체의 카테고리를 분류하는 것입니다.
- 결과물 (Output / 출력) : 바운딩 박스(객체의 위치를 나타내는 직사각형)와 각 바운딩 박스에 대한 레이블을 결과물로 제시해줍니다.
* 예시로는 아래 그림처럼, 한장의 사진에서 차량, 사람, 자전거를 바운딩박스로 특정해주고 각 바운딩 박스를 레이블로 표시해주는 것입니다.
- 특징 : 객체의 위치와 카테고리에 대한 정보를 모두 제공하며, 여러 객체를 동시에 처리할 수 있다는 점이 있습니다.
- 대표적인 모델 : Faster R-CNN, YOLO, SSD
3) 이미지 분할(Image Segmentation)
- 목적 :이미지를 픽셀 수준에서 분석하여 각 픽셀이 어떤 객체에 속하는지 결정합니다.
- 결과물(Output / 출력) : 각 픽셀에 대한 레이블 맵을 제공합니다.
* 대표적인 예시는 아래와 같이 Instance Segmentation(동일한 클래스의 다른 객체들을 개별적으로 구별하여 분할)과 Semantic Segmentation(이미지 내의 모든 픽셀을 특정 클래스에 할당 / 동일 클래스의 다른 Instance들을 구별되지 않고 동일하게 취급)으로 구분됩니다.
- 특징 : 매우 정밀한 수준에서 객체의 형태와 경계를 이해할 수 있습니다.
- 대표적인 모델 : U-Net, FCN, DeepLab
댓글