[DL]Image Segmentation 1
Contents
개요
- 컴퓨터 비전(Computer Vision)의 분야에 있어서 대표적인 기술은
객체 분류(Object Classification),객체 탐지 및 위치 식별(Object Detection & Localization),객체 분할 (Object Segmentation),이미지 캡셔닝(Image captioning)등이 있다. - 이런 다양한 기술 중 하나인
이미지 분할(Image Segmentation)에 대해서 설명하고자 한다.
이미지 분할(Image Segmentation)
- 이미지 분할(Image Segmentation)은 신경망을 훈련시켜 이미지를 픽셀 단위로 분할하는 것이다.
- 위의 그림과 같이 이미지를 분할하게 되면 각각의 픽셀을 라벨(범주)별로 분류하는 작업을 거치게 된다.
- 이미지 분할(Image Segmentation)은 이미지 탐지(Image Detection)과는 다른 문제이다.
- 위의 그림 처럼
사람(Person)이라는 라벨을 가진 이미지에서도 여러 사람들을 분류 하는 것이 이미지 탐지(Image Detection)이다. - 이미지 분할(Image Segmentation)은 여러 사람들을 사람이라는 하나의 객체(라벨) 안에 각각 다른 하나의 객체로 구분한다.
- 위의 그림 처럼
- 다음으론 이런 이미지 분할(Image Segmentation)도
Semantic Segmentation,Instance Segmentation,Panoptic Segmentation등 다양한 종류가 존재하는데 이에 대해 설명하고자 한다.
의미적 분할(Semantic Segmentation)
- 의미적 분할은
Semantic: '의미론'의 단어 뜻 처럼 이미지 내에 있는 객체들을 의미있는 단위로 분할하는 것을 말한다.
- 이미지를 봤을 때 큰 의미로 분할을 하게 된다. (위의 예시로 보자면 큰 객체들 위주: 사람, 자전거, 배경)
- 하지만 의미적 분할은 큰 의미로만 분할을 하지 하나의 객체 안에서 개별 객체로 구분하지는 않는다.(이미지에서 다른 사람이더라도 상관없이 같은 라벨로 표현)
- 따라서 이를 보완하기 위해 나타난 것이
인스턴스 분할(Instance Segmentation)이다.
인스턴스 분할(Instance Segmentation)
- 인스턴스 분할은 객체별로 각각 다른 라벨을 가지게 한다. 또한 각 객체의 경계 또한 식별이 가능하게 된다.
-
인스턴스 분할은 의미적 분할처럼 각 픽셀별로 어떤 카테고리에 속하는지 계산하는 것이 아닌 각 픽셀별로 object가 있는지 없는지 여부만 계산한다.
2-stage detector(Mask R-CNN)에서 객체들을 bounding box를 통해localization을 시킨다.- 그 후 localize된
RoI마다 class의 개수 만큼 binary mask(instance인지 아닌지) 마스크를 씌워준다. RoI별로 class 개수만큼 output 채널이 존재하고 동일 class더라도 서로다른 객체(instance)로 판별. (-> 객체 별 각각 다른 객체)
즉, RoI가 focus하는 객체(instance)부분만 value를 갖도록 한다.
용어 설명
2-stage detector: localization과 classification이 순차적으로 이루어지는 방식
Localization: 객체 주변의 bounding box를 식별하여 객체의 위치를 찾는 방식
RoI: 관심 영역, 이미지 상에서 관심 있는 영역
- 따라서 인스턴스 분할은 background와 같이 구분하기 애매한 것들은 제외시키고 object를 대상으로 한다.
파놉틱 분할(Panoptic Segmentation)
- 파놉틱 분할은 위 두가지 방법인 의미적, 인스턴스 분할을 합친 개념이다. 즉, 모든 pixel에 대해 라벨을 분류하고 객체 별 각각 다른 객체로 판별하는 과정을 수행하는 것이다.
Image Segmentation 활용 분야
- 의학 사진(Medical Image)에서 많이 활용되고 있다. 예를 들어 환자의 체내 이미지에서 다양한 질병을 감지하는데 사용되고 있다.
[그림 5] Image Segmentation의 활용 예-1 - 자율 주행 자동차처럼 자기 스스로 이미지를 분석하여 움직이는 것들은 이미지 분할의 도움을 받을 수 있게 된다.
[그림 5] Image Segmentation의 활용 예-2
Reference
- https://velog.io/@dongho5041/%EB%94%A5%EB%9F%AC%EB%8B%9D-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EC%84%B8%EA%B7%B8%EB%A9%98%ED%85%8C%EC%9D%B4%EC%85%98Image-Segmentation
- https://velog.io/@lighthouse97/%EC%9D%B4%EB%AF%B8%EC%A7%80-%EC%84%B8%EA%B7%B8%EB%A9%98%ED%85%8C%EC%9D%B4%EC%85%98Image-Segmentation
- https://velog.io/@claude_ssim/%EC%8B%9C%EA%B0%81%EC%A7%80%EB%8A%A5-Instance-segmentation
- https://ganghee-lee.tistory.com/44
- https://ganghee-lee.tistory.com/34