Giter Club home page Giter Club logo

level2-semantic-segmentation-level2-cv-19's Introduction

Semantic-segmentation-level2-cv-19


πŸ” Overview

Background

λ°”μ•Όνλ‘œ λŒ€λŸ‰ 생산, λŒ€λŸ‰ μ†ŒλΉ„μ˜ μ‹œλŒ€. μš°λ¦¬λŠ” λ§Žμ€ 물건이 λŒ€λŸ‰μœΌλ‘œ μƒμ‚°λ˜κ³ , μ†ŒλΉ„λ˜λŠ” μ‹œλŒ€λ₯Ό μ‚΄κ³  μžˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ΄λŸ¬ν•œ λ¬Έν™”λŠ” 'μ“°λ ˆκΈ° λŒ€λž€', '맀립지 λΆ€μ‘±'κ³Ό 같은 μ—¬λŸ¬ μ‚¬νšŒ 문제λ₯Ό λ‚³κ³  μžˆμŠ΅λ‹ˆλ‹€.

λΆ„λ¦¬μˆ˜κ±°λŠ” μ΄λŸ¬ν•œ ν™˜κ²½ 뢀담을 쀄일 수 μžˆλŠ” 방법 쀑 ν•˜λ‚˜μž…λ‹ˆλ‹€. 잘 λΆ„λ¦¬λ°°μΆœ 된 μ“°λ ˆκΈ°λŠ” μžμ›μœΌλ‘œμ„œ κ°€μΉ˜λ₯Ό 인정받아 μž¬ν™œμš©λ˜μ§€λ§Œ, 잘λͺ» λΆ„λ¦¬λ°°μΆœ 되면 κ·ΈλŒ€λ‘œ 폐기물둜 λΆ„λ₯˜λ˜μ–΄ 맀립 λ˜λŠ” μ†Œκ°λ˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.

λ”°λΌμ„œ μš°λ¦¬λŠ” μ‚¬μ§„μ—μ„œ μ“°λ ˆκΈ°λ₯Ό Detection ν•˜λŠ” λͺ¨λΈμ„ λ§Œλ“€μ–΄ μ΄λŸ¬ν•œ λ¬Έμ œμ μ„ ν•΄κ²°ν•΄λ³΄κ³ μž ν•©λ‹ˆλ‹€. 문제 해결을 μœ„ν•œ λ°μ΄ν„°μ…‹μœΌλ‘œλŠ” 일반 μ“°λ ˆκΈ°, ν”ŒλΌμŠ€ν‹±, 쒅이, 유리 λ“± 10 μ’…λ₯˜μ˜ μ“°λ ˆκΈ°κ°€ 찍힌 사진 데이터셋이 μ œκ³΅λ©λ‹ˆλ‹€.

μ—¬λŸ¬λΆ„μ— μ˜ν•΄ λ§Œλ“€μ–΄μ§„ μš°μˆ˜ν•œ μ„±λŠ₯의 λͺ¨λΈμ€ μ“°λ ˆκΈ°μž₯에 μ„€μΉ˜λ˜μ–΄ μ •ν™•ν•œ λΆ„λ¦¬μˆ˜κ±°λ₯Ό λ•κ±°λ‚˜, μ–΄λ¦°μ•„μ΄λ“€μ˜ λΆ„λ¦¬μˆ˜κ±° ꡐ윑 등에 μ‚¬μš©λ  수 μžˆμ„ κ²ƒμž…λ‹ˆλ‹€. λΆ€λ”” 지ꡬλ₯Ό μœ„κΈ°λ‘œλΆ€ν„° κ΅¬ν•΄μ£Όμ„Έμš”! 🌎

Dataset

  • 전체 이미지 개수: 3272μž₯
    • Train: 7617μž₯
    • Validation: 655μž₯
  • 11 classes: Background, General trash, Paper, Paper pack, Metal, Glass, Plastic, Styrofoam, Plastic bag, Battery, Clothing
  • Image size: (512x512)
  • Coco format의 annotation file
  • Pixel μ’Œν‘œμ— 따라 μΉ΄ν…Œκ³ λ¦¬ 값을 λ¦¬ν„΄ν•˜μ—¬ submission 양식에 맞게 csv νŒŒμΌμ„ λ§Œλ“€μ–΄ 제좜

평가 방법

  • Test set의 mIoU (Mean Intersection over Union)둜 평가
    • Semantic Segmentationμ—μ„œ μ‚¬μš©λ˜λŠ” λŒ€ν‘œμ μΈ μ„±λŠ₯ μΈ‘μ • 방법
    • IoU
    • $IoU={|X \cap Y| \over |X \cup Y|}={|X \cap Y| \over {|X|+|Y|-|X \cap Y|}}$
    • mIoU where $c=11$
    • $mIoU={1 \over c} \sum_{c=1}^c{|X_c \cap Y_c|\over|X_c \cup Y_c|}$

πŸ“ Members

  • κΆŒν˜μ‚° Β  μ΅œμ’…ν”„λ‘œμ νŠΈ κΈ°νšμ•ˆ μž‘μ„± / ν•™μŠ΅ 데이터셋 생성 / λͺ¨λΈ ν•™μŠ΅
  • κΉ€λŒ€μœ  Β  mmSegmentation ν™˜κ²½ μ„€μ • / 데이터 μ…‹ 정리 / λͺ¨λΈ ν•™μŠ΅
  • κΉ€μ°¬λ―Ό Β  baseline μ½”λ“œ μ‹€ν–‰ 및 뢄석
  • 이상진 Β  데이터셋 포맷에 맞게 λ³€κ²½ / mmsegmentation을 ν†΅ν•œ λͺ¨λΈ ν•™μŠ΅ / pseudo labelling
  • μ •νš¨μž¬ Β  baseline μ½”λ“œ μ‹€ν–‰ 및 뢄석 / λͺ¨λΈ ν•™μŠ΅

πŸ“ƒ Code Structure

.
β”œβ”€β”€ mmsegmentation
β”‚   └── _custom_configs_
β”‚       β”œβ”€β”€ deeplabv3_r101_d8
β”‚       β”œβ”€β”€ hr_city_scape
β”‚       β”œβ”€β”€ ocr_hr18
β”‚       └── upernet_beit_large_Albu
└── utils
    β”œβ”€β”€ stratified_kfold
    β”‚   β”œβ”€β”€ copy_images_kfold.py
    β”‚   β”œβ”€β”€ create_kfold.py
    β”‚   └── create_mask_kfold.py
    β”œβ”€β”€ copy_images.ipynb
    β”œβ”€β”€ create_mask.ipynb
    β”œβ”€β”€ inference.py
    β”œβ”€β”€ mask_mmseg_dataset.ipynb
    β”œβ”€β”€ pseudo_labelling.ipynb
    └── train_val_to_coco.ipynb

Data Structure

/opt/ml/input
β”œβ”€β”€ data
β”‚   β”œβ”€β”€ batch_01_vt
β”‚   β”œβ”€β”€ batch_02_vt
β”‚   β”œβ”€β”€ batch_03
β”‚   β”œβ”€β”€ train.json
β”‚   β”œβ”€β”€ train_all.json
β”‚   β”œβ”€β”€ val.json
β”‚   └── test.json
└── mmseg
    β”œβ”€β”€ annotations
    β”‚   β”œβ”€β”€ train
    β”‚   └── val
    β”œβ”€β”€ images
    β”‚   β”œβ”€β”€ train
    β”‚   └── val
    └── test

πŸ’» How to use

mmsegmentation

cd mmsegmentation
python tools/train.py _custom_configs_/{μ‚¬μš©ν•  λͺ¨λΈ}/model.py

Evaluation

Models

Decoder Backbone Parameter LB mIoU
FCN ResNet-50 baseline 0.5141
UNet++ Conv block baseline 0.2181
HRNet-18 OCRNet-18 epoch 40, albumentations, TTA 0.6148
Deeplabv3 ResNet-101 epoch 50, albumentations, TTA 0.6429
UperNet BEiT-L epoch 50, albumentations, multi-scale, TTA 0.8008
UperNet Swin-L epoch 50, albumentations, TTA 0.7054
UperNet BEiT-L epoch 50, albumentations, TTA 0.7773
UperNet BEiT-L epoch 50, albumentations, TTA, CLAHE 0.7671
Senformer Swin-L epoch 50, albumentations, TTA 0.6829

Ensemble

Upernet BEiT-L + Upernet Swin-L = 0.8044

● Final Score
  - Public LB score: mIoU 0.8044 (7λ“±)
  - Private LB score: mIoU 0.7551 (5λ“±)

level2-semantic-segmentation-level2-cv-19's People

Contributors

hn04147 avatar howardkhs avatar kimdaeyu avatar hyo-jae-jung avatar

Forkers

hn04147

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.