호기심 많은 분석가
[BoostCamp] Week12_Lec1. Segmentation 본문
📔개인학습
Competition Overview(EDA&Metric)
1. COCO Dataset
1-1. COCO Format
info, license, images, categories, annotations
- info에는 data set에 대한 high-level의 정보가 포함되어 있음
- 생산일, Contributor, 간단한 설명 등
- images에는 data set의 image 목록 및 각각의 width, height, file_name(path), id 등을 포함
- categories에는 class 정보가 입력 됨
- annotations의 밑에 있는 segmentation에는 각 class에 해당되는 pixel의 x, y 좌표들이 포함되어 있음
1-2.DataLoader - segmentation
Segmentation에서 필요한 image 및 target에 대한 이해
- Shape of Images : (batch, 3, height, width)
- Shape of targets : (batch, height, width)
- 타겟을 맞추는 데 채널의 정보는 필요 없으므로 삭제
CustomDataLoader
데이터로더에 필요한 인자로는
- data_dir : 데이터셋 경로 (train.json)
- mode : 생성될 객체의 용도가 train인지 test인지 분기
- mode=='train' → (images, masks, image_infos)
- mode=='test' → (images, image_infos)
- transform :
- image size 조절 및 data format 변환 등의 전처리 작업
- numpy(8, 512, 512, 3)-(배치, height, width, 채널)인 데이터를 ToTensorV2를 이용해서 tensor(8, 3, 512, 512)로 변환
2. EDA
배경까지 포함해서 11개 Class, 플라스틱과 플라스틱 백(비닐봉지) - 페이퍼와 페이퍼 펙처럼 매우 유사한 클래스가 있으니 주의해야 함
- 비닐봉투안에 다른 제품이 담겨있어도 플라스틱 백으로 표기된다. → 유의해야하고 이런 것을 EDA를 통해 확인해야 함, 아래와 같은 케이스도 존재
- 색으로 클래스를 구분하는 것이 가능할까?
- 흰색 비닐봉투 안에 흰색 페이퍼 백(종이상자)이 있을 경우 구분이 가능할까? 시도해봄직한 문제
- 이번 테스크는 줌으로 확대해서 찍다보니 배경이 종이상자인 경우도 있다. 이것은 어떻게 구분할까?
- 매우 작은 크기의 오브젝트가 레이블링 된 경우도, 돌멩이가 같이 레이블링 된 경우도 존재한다. 이러한 경우 노이즈로 제거하거나, 돌멩이 부분을 백그라운드로 다시 레이블링하는 게 성능 향상에 도움이 될 수 있다. 이러한 점들을 고려해볼 것
→ 이번 마스터님은 함께 데이터를 보며 EDA를 하는 법, 가설까지 러프하게 세워주셔서 굉장히 색달랐다.
3. 평가 Metric
3-1. mIoU
- 빨간 색은 GT와 Predict의 빨간색 합집합이 3개, 교집합이 1개 이므로 0.333
- 이렇게 모든 클래스에 대해 구한 뒤 평균을 도출한 것이 Mean IoU
4. Baseline
4-1. torchvision.models.segmentation.fcn_resnet50
- 기존 모델과 클래스 갯수가 다르기 떄문에
model.classifier[4] = nn.Conv2d(512, 11, kernel_size=1)
로 수정해줘야함 - best_loss를 저장하는 부분을 mIoU로 바꿔준다면 더 좋은 성능 향상을 이끌어내지 않을까?
- 결과값들을 시각화시켜 제대로 출력이 되고 있는 지 확인 필수!
- 원인 파악 후 해결책을 고민해보자
'Coding > BoostCamp' 카테고리의 다른 글
[Boostcamp] 멘토님, 마스터님, 그리고 우리 팀 (2) | 2021.10.21 |
---|---|
[BoostCamp] Week9_Day37. New P-Stage (0) | 2021.10.13 |
[BoostCamp] Week7_Day33&34. Multi-modal Learning (0) | 2021.10.05 |
[Boostcamp] 온라인의 인연을 오프라인에서 (4) | 2021.10.04 |
[BoostCamp] Week7_Day32. Conditional Generative Model (0) | 2021.09.28 |