/p3-ims-obd-simple

p3-ims-obd-simple created by GitHub Classroom

Primary LanguageJupyter Notebook

[P Stage 3] Semantic segmentation & Object detection

Semantic segmenation

image

개요
  • 2021.04.26(월) ~ 05.06(목) 19:00
  • 쓰레기가 찍힌 사진에서 쓰레기를 object별로 Segmentation 하는 모델 생성
  • 문제 해결을 위한 데이터셋으로는 일반 쓰레기, 플라스틱, 종이, 유리 등 11 종류의 쓰레기가 찍힌 사진 데이터셋이 제공
사용한 모델
  • Unet
  • DeepLab v3 Plus

Object detection

image

개요
  • 2021.05.10(월) ~ 05.20(목) 19:00
  • 쓰레기가 찍힌 사진에서 쓰레기를 object별로 Detection 하는 모델 생성
  • 문제 해결을 위한 데이터셋으로는 일반 쓰레기, 플라스틱, 종이, 유리 등 11 종류의 쓰레기가 찍힌 사진 데이터셋이 제공
사용한 모델
  • Faster R-CNN Resnet 50
  • Mask R-CNN Swin
  • Cascade Mask R-CNN Swin
  • VfNet Resnet 101
  • UniverseNet Res2net 101

데이터

  • 전체 이미지 개수 : 4109장
    • train: 2616장
    • validation: 655장
    • test(public): 417장
    • test(private): 420장
  • 11 class : UNKNOWN, General trash, Paper, Paper pack, Metal, Glass, Plastic, Styrofoam, Plastic bag, Battery, Clothing
  • 이미지 크기 : (512, 512)
데이터에서 발견된 문제와 문제 해결을 위해 시도한 내용
  • Data Imbalance 문제
    • Mosaic 기법 사용 실패
      Mosaic 기법을 통해 상대적으로 수가 적은 class(UNKNOWN, Clothing, Battery)의 object가 있는 사진 3장을 기존의 이미지에 추가하여 모델에 더 많이 제공
    • 성능 좋은 모델 사용 성공
      현재 Segmentation, Object detection에서 SOTA인 Swin 모델 사용

성능 향상을 위해 시도한 내용

  • Pseudo Labeling 성공
    LB에서 높은 점수를 낸 Cascade Mask R-CNN(Swin) 모델을 통해 나온 결과에서 class 별로 score threshold를 다르게 주어, 해당 threshold 이상인 score의 bbox에 대해서만 다시 학습에 사용
  • WBF를 통한 모델 ensemble 성공
    LB score가 높은 모델들에 대해 서로 다른 구조를 가진 모델들을 모아 WBF를 사용하여 box ensemble
  • Mixup 실패

Link