[AITech][Semantic Segmentation] 20220425 - Introduction
본 포스팅은 KAIST의 ‘김현우’ 마스터 님의 강의를 바탕으로 작성되었습니다.
Introduction
이번 포스팅에서는 Semantic Segmentation
강의를 시작하면서 기본적으로 Segmentation에서 사용하는 데이터 포맷, 수행할 수 있는 EDA, 평가 metric 들에 대해 알아보도록 하겠습니다.
COCO Dataset
Semantic segmentation에서는 object detection과 동일하게 COCO dataset 포맷을 사용합니다.
대회에서 주어지는 데이터는 아래와 같이 총 4개의 json 파일과 이미지 파일들입니다.
train.json
파일에는 아래와 같이 총 5개의 key 값이 존재합니다.
- info: dataset에 대한 high-level의 정보
- licenses: image의 license 목록
- images: dataset의 image 목록 및 각각의 width, height, file_name, id(image_id) 등을 포함
- categories: class에 해당하는 id, name 및 supercategory가 포함되어 있음
- annotations: segmentation 어노테이션 정보 (각 클래스 별)
아래는 json 파일의 annotations 예시입니다.
EDA
대회에서 주어진 데이터는 총 11개 클래스(10개 클래스 + 1개 배경)를 가지는 재활용 쓰레기 이미지 데이터입니다.
Class 분석
하나의 Image 안에 등장하는 object의 개수 - Train (전체 3272개)
가설 검정
- Plastic과 plastic bag은 따로 라벨링 되었을까?
- NO! ‘Plastic’ 한 카테고리로만 라벨링
-
‘Plastic bag’ 내부에 있는 재활용들도 라벨링 되었을까?
- ‘Plastic bag’ 내부에 다른 재활용이 보여도 모두 담겨져있으면 ‘Plastic bag’로만 표기
- 하지만, ‘Plastic bag’에 덮혀져 있지 않은 부분들은 보통은 다른 클래스로 분류
-
색으로 클래스를 구분하는 것이 가능할까? ‘Plastic bag’ 안에 흰색 ‘Paper bag’이 있는 경우에 육안으로도 식별이 어려운데 모델이 구분할 수 있을까?
- 배경이 ‘Paper bag’인 건 어떻게 알 수 있을까?
- 매우 작은 크기의 object 라벨링 존재
- 돌이 하나의 object에 포함되어 라벨링 된 경우 존재
- Test EDA
- Inference 후 결과를 직접 시각화하여 train dataset과 비교해서 어떤 부분에 대한 성능이 낮은지 확인!
평가 Metric
본 대회에서는 semantic segmentation의 metric으로 mIoU(mean IoU)
를 사용합니다.
또는 단순히 pixel accuracy 또한 metric으로 사용할 수 있습니다.
Leave a comment