본문 바로가기
딥러닝 with Python

[딥러닝 with 파이썬] 컴퓨터 비전에서의 이미지 분류(Image Classification), 객체 검출(Object Detection), 이미지 분할(Image Segmentation)에 대한 이해

by CodeCrafter 2023. 10. 26.
반응형

 컴퓨터 비전(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

 

 

반응형

댓글