๋ฐ์ผํ๋ก ๋๋ ์์ฐ, ๋๋ ์๋น์ ์๋. ์ฐ๋ฆฌ๋ ๋ง์ ๋ฌผ๊ฑด์ด ๋๋์ผ๋ก ์์ฐ๋๊ณ , ์๋น๋๋ ์๋๋ฅผ ์ด๊ณ ์์ต๋๋ค. ํ์ง๋ง ์ด๋ฌํ ๋ฌธํ๋ '์ฐ๋ ๊ธฐ ๋๋', '๋งค๋ฆฝ์ง ๋ถ์กฑ'๊ณผ ๊ฐ์ ์ฌ๋ฌ ์ฌํ ๋ฌธ์ ๋ฅผ ๋ณ๊ณ ์์ต๋๋ค.
๋ถ๋ฆฌ์๊ฑฐ๋ ์ด๋ฌํ ํ๊ฒฝ ๋ถ๋ด์ ์ค์ผ ์ ์๋ ๋ฐฉ๋ฒ ์ค ํ๋์ ๋๋ค. ์ ๋ถ๋ฆฌ๋ฐฐ์ถ ๋ ์ฐ๋ ๊ธฐ๋ ์์์ผ๋ก์ ๊ฐ์น๋ฅผ ์ธ์ ๋ฐ์ ์ฌํ์ฉ๋์ง๋ง, ์๋ชป ๋ถ๋ฆฌ๋ฐฐ์ถ ๋๋ฉด ๊ทธ๋๋ก ํ๊ธฐ๋ฌผ๋ก ๋ถ๋ฅ๋์ด ๋งค๋ฆฝ ๋๋ ์๊ฐ๋๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ์ฌ์ง์์ ์ฐ๋ ๊ธฐ๋ฅผ Segmentationํ๋ ๋ชจ๋ธ์ ๋ง๋ค์ด ์ด๋ฌํ ๋ฌธ์ ์ ์ ํด๊ฒฐํด๋ณด๊ณ ์ ํฉ๋๋ค. ๋ฌธ์ ํด๊ฒฐ์ ์ํ ๋ฐ์ดํฐ์ ์ผ๋ก๋ ๋ฐฐ๊ฒฝ, ์ผ๋ฐ ์ฐ๋ ๊ธฐ, ํ๋ผ์คํฑ, ์ข ์ด, ์ ๋ฆฌ ๋ฑ 11 ์ข ๋ฅ์ ์ฐ๋ ๊ธฐ๊ฐ ์ฐํ ์ฌ์ง ๋ฐ์ดํฐ์ ์ด ์ ๊ณต๋ฉ๋๋ค.
์ฌ๋ฌ๋ถ์ ์ํด ๋ง๋ค์ด์ง ์ฐ์ํ ์ฑ๋ฅ์ ๋ชจ๋ธ์ ์ฐ๋ ๊ธฐ์ฅ์ ์ค์น๋์ด ์ ํํ ๋ถ๋ฆฌ์๊ฑฐ๋ฅผ ๋๊ฑฐ๋, ์ด๋ฆฐ์์ด๋ค์ ๋ถ๋ฆฌ์๊ฑฐ ๊ต์ก ๋ฑ์ ์ฌ์ฉ๋ ์ ์์ ๊ฒ์ ๋๋ค. ๋ถ๋ ์ง๊ตฌ๋ฅผ ์๊ธฐ๋ก๋ถํฐ ๊ตฌํด์ฃผ์ธ์! ๐
- Input :ย ์ฐ๋ ๊ธฐ ๊ฐ์ฒด๊ฐ ๋ด๊ธด ์ด๋ฏธ์ง๊ฐ ๋ชจ๋ธ์ ์ธํ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. segmentation annotation์ COCO format์ผ๋ก ์ ๊ณต๋ฉ๋๋ค.
- Output :ย ๋ชจ๋ธ์ย pixel ์ขํ์ ๋ฐ๋ผ ์นดํ ๊ณ ๋ฆฌ ๊ฐ์ ๋ฆฌํดํฉ๋๋ค. ์ด๋ฅผ submission ์์์ ๋ง๊ฒ csv ํ์ผ์ ๋ง๋ค์ด ์ ์ถํฉ๋๋ค.
๊น๋์: Data and Inference Visualization, Pretrained Weight Search, Data Augmentation
๊นํํ: Validation set search, Training technique, Pseudo labeling
์ก์๋: mmsegmentation์ธ ๋ค๋ฅธ ํ๋ ์์ ์ฌ์ฉ
์ ์ํ: Model search, Copy-Paste Augmentation,
์ตํ์ค: Model search, Training technique
๋ฒ ์ด์ค ๋ผ์ธ์ผ๋ก ์ฃผ์ด์ง validation set์ mIoU์ ์ ์ถ mIoU๊ฐ์ ๊ฒฉ์ฐจ๊ฐ ๋ง์ด ๋ฐ์ํ์๋ค. ์ฐ๋ฆฌ๋ ๋ฒ ์ด์ค ๋ผ์ธ์ผ๋ก ์ฃผ์ด์ง validation์ ๊ธฐ์ค์ ์ ํํ ์ ์ ์์ผ๋ฏ๋ก ๊ธฐ์กด train/validation dataset์ ์ฌ์ฉํ์ง ์๊ธฐ๋ก ํ์๋ค.
์ฐ๋ฆฌ๋ ์ ์ฒด ๋ชจ์ง๋จ์์ train_all๊ณผ test๋ฅผ ์ํ๋ง ํ์ ๊ฒ์ด๋ฉฐ ๋ฐ๋ผ์ train_all, test์ ๋ชจ์ง๋จ ๋ถํฌ์ ํฌ๊ฒ ๋ฒ์ด๋์ง ์์ ๊ฒ์ด๋ผ๋ ๊ฐ์ค์ ์ธ์ ์ผ๋ฉฐ
class๋ณ๋ก mask์ ์ฌ์ด์ฆ๊ฐ ์ ์ฌํ๋ค๋ ๊ด์ฐฐ์ ํ ์ ์์๋ค.
์ฐ๋ฆฌ๋ ์ด๋ฌํ ๊ฐ์ค๊ณผ ๊ด์ฐฐ ๊ฒฐ๊ณผ๋ก StratifiedGroupKFold๋ฅผ ์ฌ์ฉํ์ฌ class์ ๋น์จ์ ์ ์งํ ์ฑ๋ก train_all์์ train, validset์ splitํ ๊ฒฝ์ฐ ์ ๋ขฐ๋ ๋์ val set์ ์ป์ ์ ์์ ๊ฒ์ด๋ผ ์๊ฐํ์๋ค.
sklearn์ StratifiedGroupKFold์ ์ฌ์ฉํ์ฌ ์ ์ฒด ๋ฐ์ดํฐ์
์ 5fold๋ก ๋๋ ๋ค
๊ฐ fold์์ test mIoU์ ๊ฐญ์ด ๊ฐ์ฅ ์ ์ validation set์ผ๋ก ์์ผ๋ก์ ์คํ์ ์งํํ๊ธฐ๋ก ํ์๋ค.
(๋ชจ๋ธ fcn_r50)
| valid fold num. | best_epoch | mAcc | mIoU(valid) | ์ ์ถ mIoU | ์ฑ๋ฅ ์ฐจ์ด |
|---|---|---|---|---|---|
| fold0 | 47 | 0.7285 | 0.6180 | 0.5430 | 0.0750 |
| fold1 | 44 | 0.6900 | 0.5830 | 0.5463 | 0.0367 |
| fold2 | 25 | 0.7216 | 0.5947 | 0.5401 | 0.0546 |
| fold3 | 27 | 0.6647 | 0.5621 | 0.5363 | 0.0258 |
| fold4 | 37 | 0.6896 | 0.5871 | 0.5573 | 0.0298 |
validation mIoU๋ 0.560.61๊น์ง ๋์ ๋ถํฌ๋ฅผ ์ด๋ฃจ๊ณ ์๊ณ ,
test mIoU๋ 0.530.55๊น์ง ๋ถํฌ๋ฅผ ์ด๋ฃจ๊ณ ์์๋ค.
์คํ ๊ฒฐ๊ณผ fold3 validation์ด ๊ฐ์ฅ test data์ ์ ์ฌํ๋ค๊ณ ํ๋จํ์ฌ ํ๋ก์ ํธ๋ฅผ ์งํํ์๋ค.
ํ์ง๋ง, ์ผ์ ์์ค๊น์ง๋ val mIoU์ test mIoU๊ฐ ๋น๋กํ์์ผ๋ ์ผ์ ์์ค ์ด์(0.74)์ ๋์ด์๋ฉด val mIoU๋ก test score์ ์๊ด ๊ด๊ณ๊ฐ ์์ด์ง๋ ๊ฒ์ ํ์ธํ ์ ์์๋ค.
cross validation์ ์ด์ฉํ์ฌ ๊ตฌํ๋ val mIoU๊ฐ ์ ์ผ test mIoU์ ๋น์ทํ ๊ฒ์ผ๋ก ๋ณด์ด๋, cross validation์ ์ด์ฉํ๊ธฐ์๋ ์๊ฐ ์๋ชจ๊ฐ ๋๋ฌด ์ฌํ์๋ค.
๋๋ฌธ์ fold3๋ก ๋ชจ๋ ์คํ์ ์งํํ๊ธฐ๋ก ๊ฒฐ์ ํ์์ผ๋ฉฐ, StratifiedGroupKFold๊ฐ ์๋ segmentation์์ ์ ํจํ split ๋ฐฉ๋ฒ์ ๋ํด ๊ณต๋ถ์ ํ์์ฑ์ ๋๊ผ๋ค. (ํ์ง๋ง ์๋ฃ ๊ฒ์์ด ์ ์๋๋คโฆ)
๋จ์ํ backbone์ pretrained weight๋ง์ ๋ถ๋ฌ์ค๋ ๊ฒ์ด ์๋, ์ด๋ ํ ๋ฐ์ดํฐ์ ์ผ๋ก ์ฌ์ ํ์ต๋ ๋ชจ๋ธ์ ์ ์ฒด(Decoder ๋ฑ) weight๋ฅผ ๋ถ๋ฌ์ ํ์ต ์ํจ๋ค๋ฉด ๋์ฑ ๋น ๋ฅด๊ณ ์ข์ ์๋ ด ๊ฒฐ๊ณผ์ ๋๋ฌํ ์ ์์ ๊ฒ์ด๋ค. ๋ํ, ์ฌ์ ํ์ต๋ ๋ฐ์ดํฐ์ ์ ์ฑ๊ฒฉ์ ๋ฐ๋ผ์ ๊ทธ ์ ๋๊ฐ ๋ค๋ฅผ ๊ฒ์ด๋ค.
์ฌ์ฉ ๋ชจ๋ธ : FCN-R101, HRNet-w48
๊ฐ ์ฌ์ฉ๋ ๋ชจ๋ธ๋ง๋ค ์ด์ธ์ ํ๋ผ๋ฏธํฐ๋ ๋ชจ๋ ๋์ผ
๊ฐ๊ธฐ ๋ค๋ฅธ pretrained weight ๋ค์ ๋ถ๋ฌ์ ํ์ต์ํค๊ณ ๊ทธ ์ถ์ด๋ฅผ ๊ธฐ๋กํจ.
๊ฐ์ค๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก, ํ์ต ์ด๊ธฐ ๋ชจ๋ธ์ ์๋ ด ์๋ ๋ฐ ๊ฒฐ๊ณผ์ ์ ์๋ฏธํ ์ฐจ์ด๊ฐ ์์๋ค.
- ์ฑ๊ฒฉ์ด ๋น์ทํ ๋ฐ์ดํฐ์ ์ ๋ํ์ฌ ํ์ต๋ ๋ชจ๋ธ ์ ์ฒด๋ฅผ ๋ถ๋ฌ์จ๋ค๋ฉด, backbone์ weight ๋ง ๋ถ๋ฌ์ค๋ ๊ฒ๋ณด๋ค ์ข์ ํจ๊ณผ๋ฅผ ๊ธฐ๋ํ ์ ์๋ค.
- ์ด๋ฒ ํ๋ก์ ํธ์ dataset๊ณผ๋ Pascal-Context dataset์ด ๊ฐ์ฅ ๋น์ทํ ์ฑ๊ฒฉ์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ๋ฐ๋ผ์ ํด๋น dataset์ผ๋ก ํ์ต๋ ๋ชจ๋ธ์ ๊ฐ์ค์น๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ์ด ์ ๋ฆฌํ๋ค.
- Cityscapes dataset๊ณผ ๊ฐ์ด ๊ธฐ๋ณธ ์ด๋ฏธ์ง ์ฌ์ด์ฆ์ ๋น์จ ์์ฒด๊ฐ ๋ค๋ฅด๊ณ ์ฑ๊ฒฉ์ด ์์ดํ dataset์ด๋ผ๋ฉด, ์คํ๋ ค ํด๋น pretrained weight๋ฅผ ์ฌ์ฉํ์ง ์๋ ํธ์ด ๋ฐ๋์งํ ์ ์๋ค.
UperNet_ConvNext์คํ์ ํตํด ๋ชจ๋ธ์ ์ฑ๋ฅ์ด ๋์ ์๋ก val mIoU๊ฐ ๋์์ ํ์ธ ํ์๋ค. ์ด๋ฅผ ํตํด ADE20K semantic segmentation ๋ํ์ Paper mIoU ๊ฐ ๋์ ๋ชจ๋ธ์ด ์ฐ๋ฆฌ์ ๋ฐ์ดํฐ์ ์์๋ ์ฑ๋ฅ์ด ์ข์ ๊ฒ์ด๋ผ๋ ๊ฐ์ค์ ์ธ์ ๋ค. ๋ฐ๋ผ์ Paper mIoU ๊ธฐ๋ฐ์ผ๋ก Model Search๋ฅผ ์งํํ์๋ค.
-
MMSeg Config์ ๋ชจ๋ ๋ชจ๋ธ Paper mIoU ์กฐ์ฌ
-
MMSeg ์ ๊ณต ๋ชจ๋ธ์ Paper mIoU ๋์ ์์๋ก ํ์ต & ์ ์ถ
-
Paper with code ์ฐธ๊ณ ํด์ SOTA ์์๊ถ ๋ชจ๋ธ๋ค๋ ํ์ต & ์ ์ถ
- ๋์ฒด์ ์ผ๋ก paper mIoU ์ test mIoU๊ฐ ์์ ์๊ด ๊ด๊ณ๋ฅผ ์ด๋ฃฌ๋ค.
- Mask2Former ๋ชจ๋ธ์ด ์ฐ๋ฆฌ์ SOTA ๋ชจ๋ธ์ด๋ค.
- backbone์ผ๋ก๋ BEiT-Adapter์ ์ฑ๋ฅ์ด ๊ฐ์ฅ ์ข๋ค.
upernet_beit_adapter์ ์ข์ ์ฑ๋ฅ(Papers with cod ADE20K rank10)์ด ์ฐ๋ฆฌ ๋ฐ์ดํฐ ์ ์์ ์ฌํ์ด ๋์ง ์์๋ค.
์ฐ๋ฆฌ๋ upernet์ baseline lr์ด 2e-5์ wramup๊น์ง default๋ก ๋์ด ์๋ ๊ฒ์ ํ์ธํ๊ณ ๋ฐฉํฅ์ด ์ ๋๋ก ์ ํด์ง์ง ์์ ์ํ์์ ์ด๋ฐ์ ํฐ lr์ด pretrain backbone(beit)์ ๋ง๊ฐํธ๋ฆฌ๋ ๊ฒ ๊ฐ๋ค๋ ๊ฐ์ค์ ์ธ์ ๋ค.
์ฐ๋ฆฌ๋ ๋์กฐ๊ตฐ์ผ๋ก ๋ชจ๋ธ ์ ์ฒด์ lr์ 6e-05๋ก ํ์ฌ ํ์ต์ ์งํํ๋ ๊ฒฝ์ฐ์
์คํ๊ตฐ์ผ๋ก๋ ๋ฐฑ๋ณธ์๋ 4e-6, ๋์ฝ๋์๋ 4e-5๋ก lr์ ๋ฌ๋ฆฌ ์ ์ฉํ๋ ํธ๋ ์ด๋ ํ ํฌ๋์ ์ ์ฉํ์ฌ ๋น๊ตํ์๋ค.
| color | description |
|---|---|
| Red(๋น๊ต๊ตฐ) | lr: 6e-5 |
| Blue(์คํ๊ตฐ) | backbone lr: 4e-6, decoder lr: 4e-5 |
์คํ ๊ฒฐ๊ณผ bbone์๋ ์์ lr์ ์ ์ฉ ์ํจ ๋ชจ๋ธ์ด ์ด๊ธฐ loss์ mIoU์์ ํฐ ์ฐจ์ด๋ฅผ ๋ณด์ฌ์ฃผ์๋ค. ์๊ฒฉํ ํต์ ๋ณ์ธ์ผ๋ก ๋์ฝ๋์๋ lr์ 6e-5๋ก ํ์ง ๋ชปํ์ฌ ์ ํํ A/Bํ ์คํธ๋ฅผ ํ์ง ๋ชปํ์ฌ ์์ฌ์ ๋ค.
์ฐ๋ฆฌ๋ ์ด๋ฌํ ์ฑ๋ฅ์ ์ด์ ๋ฅผ self supervised ๊ณผ์ ์ ๊ฑฐ์น pretrain beit ๋ชจ๋ธ์์ object boundary๋ฅผ ํ์ ํ๋ ๋ฅ๋ ฅ์ด ์๊ธฐ์ ์ฐ๋ฆฌ๊ฐ ๊ฐ์ค๋ก ์ธ์ด ์ต๋ํ bbone์ ํ์ต์ ์ต์ํ ํ๋ ๊ฒ์ด ์ฑ๋ฅ ์ฐจ์ด์ ์์ธ์ด ๋์์ ๊ฒ์ด๋ผ ์๊ฐํ๋.
์์ธ์ ๋ํด์๋ ์กฐ๊ธ ๋ ์ฒด๊ณ์ ์ด๊ณ ์ ํํ ์คํ์ด ํ์ํ๋ค๊ณ ์๊ฐํ๋ค.
์ปดํจํฐ ๋น์ task์์ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ๋์ด์ฌ๋ฆฌ๊ธฐ ์ํด ์ ์ฆ๋ ๋ฐฉ๋ฒ์ธ data augmentation์ ์ฌ์ฉํ๋ค.
- ๋ฐ์ดํฐ ์ฆ๊ฐ์ ํ์ง ์์ ์ฑ๋ก ํ์ต
- Base augmentations (GuassNoise, RandomBrightnessContrast, HueSaturationValue)
- Color augmentations (CLAHE, ColorJitter, HueSaturationValue)
- RandomResizedCrop
์ด๋ ํ ์ข ๋ฅ์ augmentation๋ฅผ ์ฌ์ฉํ์ ๋์๋ ์ ์๋ฏธํ ์ฑ๋ฅ ํฅ์ ํจ๊ณผ๊ฐ ์์๋ค.
๋ณธ ์ปดํํฐ์ ์ ํน์ฑ ์, ๋ชจ๋ธ์ด ํฝ์ ์ ๋ฌผ์ฒด๋ก ๋ถ๋ฅํ๋ ๋ฐ์ ์์ ์ ๋ณด๋ฅผ ๋ง์ด ํ์ฉํ๊ณ ์์ผ๋ฉฐ ๊ทธ์ ๋ฐ๋ผ ํฝ์ ์ RGB ๊ฐ์ ์ํฅ์ ๋ฏธ์น๋ ๋ฐ์ดํฐ ์ฆ๊ฐ์ด ์ ์ํฅ์ ๋ฏธ์ณค์ ๊ฒ์ด๋ผ๊ณ ์์ํด๋ณผ ์ ์๋ค.
๋ฐ๋ผ์, ๊ธฐ์กด ์ด๋ฏธ์ง์์ ์คํ์ผ๋ง์ ๋ฐ๊พธ๋ augmentation์ด ์๋ ์๋ก์ด ์ฆ๊ฐ ๊ธฐ๋ฒ์ ํ์ฉํด ๋ณด๊ธฐ๋ก ํ์๋ค.
ํ์ฌ ์ฃผ์ด์ง ๋ฐ์ดํฐ๋ class imbalance ๋ฌธ์ ๊ฐ ๊ทน์ฌํ๋ฉฐ, ํนํ Clothing, Battery ๋ฐ์ดํฐ๊ฐ ๋๋ฌด ๋ถ์กฑํด์ ๋ชจ๋ธ์ด ํด๋น ํด๋์ค๋ฅผ ์ ๋๋ก ๋ถ๋ฅํ๊ณ ์์ง ๋ชปํ๋ค.
- ์ ์ฒด ๋ฐ์ดํฐ์ ์ ์ด๋ฏธ์ง ์ค, background๊ฐ ์ฐจ์งํ๋ ํฝ์ ์ ๋น์จ์ด ๋์ ์์๋๋ก ๊ฐ์ ธ์ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๋ก ํ์ฉํ๋ค.
- Clothing ๊ณผ Battery ๊ฐ ์กด์ฌํ๋ ์ด๋ฏธ์ง์์ ํด๋น ๋ฌผ์ฒด์ ๋ง์คํฌ๋ง์ ๋ณต์ฌํ๋ค.
- ๋๋คํ ๊ฐ์ ๋ฐ๋ผ ๋ฌผ์ฒด์ ๋ง์คํฌ๋ฅผ ํ๋/์ถ์ํ๊ณ ํ์ ์์ผ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง์ ๋ถ์ฌ ๋ฃ๋๋ค.
์๊ธฐ๋ ๊ณผ์ ์ ํตํด ๋ง๋ค์ด์ง ์ด๋ฏธ์ง์ ์์๋ ์์ ๊ฐ๋ค.
์ด๋ฌํ ์ด๋ฏธ์ง๋ค์ Battery ๋์ 50์ฅ, Clothing ๋์ 100์ฅ ์ถ๊ฐํ์ฌ ํ์ต์ ์งํ ์์ผฐ๋ค.
๋ฐ์ดํฐ๋ฅผ ์ฆ๊ฐ์์ผ ์ฃผ์์ ๋ ๋ชจ๋ธ์ด Clothing ๊ณผ Battery ํด๋์ค๋ฅผ ๋ ์ ๋ง์ถ๋ ๊ฒ์ ํ์ธํ ์ ์์๋ค.
ํด๋น augmentation ๋ฐฉ๋ฒ์ด class imbalance ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ์ ํจ๊ณผ๊ฐ ์์์ ์ ์ฆํ์๋ค.
๋จ, Clothing ์ ๋นํ์ฌ Battery ๋์์ผ๋ก๋ ๋ชจ๋ธ์ ์ฑ๋ฅ ์๋ ด ์๋๊ฐ ๋นจ๋ผ์ง ๊ฒ์ ๋นํด ์ต๋ ์ฑ๋ฅ์๋ ํฐ ์ฐจ์ด๊ฐ ์์๋๋ฐ, ๊ทธ ์ด์ ๋ ์๋ ์ด๋ฏธ์ง์ ๊ฐ์ ์์๋ฅผ ํตํด ํ์ธ์ด ๊ฐ๋ฅํ๋ค.
train dataset์๋ ๋๋ถ๋ถ ์๊ธฐ๋ฅ ๋ชจ์์ ๋ฐฐํฐ๋ฆฌ๋ง์ด ์กด์ฌํ๋ฉฐ, ์์ ๊ฐ์ ์ก๋ฉด์ฒด ๋ชจ์์ ๋ฐฐํฐ๋ฆฌ๋ test dataset์๋ง ์กด์ฌํ์๋ค. ๋ฐ๋ผ์, ๋ฐ์ดํฐ๋ฅผ ์ฆ๊ฐ์์ผ ์ฃผ๋๋ผ๋ ๋ชจ๋ธ์ด ์ด๋ฌํ ์ด๋ฏธ์ง์ ํด๋์ค๋ฅผ ๋ง์ถ๋ ๊ฒ์ ์ฌ์ค์ ์ด๋ ค์ด task ์๋ค๊ณ ๋ณผ ์ ์๋ค. ๋ํ Battery ๋ฐ์ดํฐ ์์ฒด์ ์๊ฐ ๋งค์ฐ ์ ์๊ธฐ ๋๋ฌธ์, ์์ ๊ฐ์ ์ผ์ด์ค๊ฐ IoU metric์ด ์ผ์ ์์ค ์ด์์ผ๋ก ์์นํ๋ ๋ฐ์ ํฐ ์ ํ์ ๋์์ ๊ฒ์ด๋ค.
์ฐ๋ฆฌ๋ best mIoU์ ๋ชจ๋ธ๋ก ์์ฑํ pseudo labeling์ ์ฌ์ฉํ๋ฉด ์กฐ๊ธ ๋ ์ฑ๋ฅ ํฅ์์ ๊ฐ์ ธ ์ฌ ์ ์์ ๊ฒ์ด๋ผ ๊ฐ์ ํ์๋ค.
๋ง์ฝ ์ค์ฝ์ด๊ฐ ๋์์ง๋ค๋ฉด ๋ค์ ์ต๊ณ ์ฑ๋ฅ์ ๋ชจ๋ธ๋ก ๋ค์ pseudo label์ ํ์ฌ ๋จ๊ณ์ ์ผ๋ก ํ์ต ์ํจ๋ค๋ฉด, ์ ํ๋๊ฐ ๋์ pseudo label๋ก ํธ๋ ์ด๋ ๋ ๊ฒ์ด๋ผ๊ณ ๊ฐ์ค์ ์ธ์ ๋ค.
model: upernet_beit_adapter_large
| model | description |
|---|---|
| 1 | (๋น๊ต๊ตฐ) train set์ผ๋ก mIoU 0.7773์ ๋ฌ์ฑํ ๋ชจ๋ธ |
| 2 | 1๋ฒ ๋ชจ๋ธ์ ์ด์ฉํ์ฌ ๋ง๋ pseudo label์ ์ด์ฉํ์ฌ ํ์ตํ ๋ชจ๋ธ |
| 3 | 2๋ฒ ๋ชจ๋ธ์ ์ด์ฉํ์ฌ ๋ค์ ๋ง๋ pseudo label์ ์ด์ฉํ์ฌ ํ์ตํ ๋ชจ๋ธ |
| model | mIoU |
|---|---|
| 1 | 0.7773 |
| 2 | 0.7959 |
| 3 | 0.7929 |
์๋ ๋ผ๋ฒจ์ ์ฌ์ฉํ๋ฉด์ ์ฑ๋ฅ์ด ํฌ๊ฒ ์ข์์ง ๊ฒ์ ํ์ธํ ์ ์์๋ค(+0.02) ํ์ง๋ง ์๊ฐ๊ณผ๋ ๋ค๋ฅด๊ฒ ๋ ์ ํ๋๊ฐ ๋์ ๋ชจ๋ธ๋ก ๋ค์ ๋ง๋ ์๋ ๋ผ๋ฒจ๋ก ์ฌํ์ตํ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ํฐ ์ฐจ์ด๊ฐ ์๋ ๊ฒ์ ํ์ธํ ์ ์์๋ค. (0.7959, 0.7929) ๋๋ฌด ์์ epoch 5๋ก ํธ๋ ์ด๋ ํด์ ๋์จ ๊ฒฐ๊ณผ์ผ ์๋ ์๋ค๋ ์๊ฐ์ด ๋ค์๋ค. (์๊ฐ ๋ถ์กฑ์ผ๋ก ์ถ๊ฐ ์คํ ์งํ ๋ชปํจ)
pseudo label์ ํจ๊ณผ๋ฅผ ์ง์ ํ์ธํ ์ ์๋ ์คํ์ด์๋ค.
๋ชจ๋ธ, pretrained weight, ํ์ต ํ๋ผ๋ฏธํฐ, ์ฌ์ฉ ๋ฐ์ดํฐ ๋ฑ์ ์ฑ๊ฒฉ์ด ๋ค๋ฅธ ๋ค์ํ inference ๊ฒฐ๊ณผ๋ค์ ์กฐํฉํ์ฌ ์ฌ์ฉํ๋ค๋ฉด ์ผ๋ฐํ ์ฑ๋ฅ์ด ๋์ ์ ์ถ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ ๊ฒ์ด๋ค.
์ ์ถ ์ฑ๋ฅ์ด ์ข์๋ ๋ค์ํ ์ฑ๊ฒฉ์ inference ํ์ผ๋ค์ ๋ชจ์ ๋๊ณ , ์กฐํฉ์ ๋ค๋ฅด๊ฒ ํ์ฌ hard-vote ensembleํ๊ณ ๊ทธ ์ ์ถ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋กํ์๋ค.
์ผ๋ฐ์ ์ผ๋ก ์์๋ธ์ ์งํํ๋ฉด ๋ฌด์กฐ๊ฑด์ ์ผ๋ก ์ ์ถ ์ ์๊ฐ ์์นํ๋ ๊ฒฝํฅ์ ๋ณด์๋ค.
๋จ, ์์๋ธ์ ์ด๋ ํ ํ์ผ์ ์ฌ์ฉํด์ผ ์ ์ ์์น์ ๋ณด์ฅํ๋์ง์ ๊ฐ์ ์ ์ฑ์ ์ธ ์งํ๋ ํ์ธํ๊ธฐ ํ๋ค์๋ค. ์ด๋ ์์๋ธ ๊ธฐ๋ฒ์ ๊ณ ์ ํ ํน์ฑ(์ง๋์น ๋ฌด์์์ฑ)์์ ๊ธฐ์ธํ๋ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค.
์๋๋ ํ๋ก์ ํธ ์งํ ์ค ํจ์จ์ ์ธ ์ํ์ ์ํด ํ์์ ๊ฐ๋ฐํ ์ ํธ๋ฆฌํฐ๋ค์ด๋ค.
| index | filename.py | ์ ํธ๋ฆฌํฐ ์ค๋ช |
|---|---|---|
| 1 | make_pseudo_label.py | ํ์ต๋ ๋ชจ๋ธ์ ์ด์ฉํ์ฌ test data์ pseudo label(img annot)์ ๋ง๋ค์ด mmseg์์ ์ด์ฉํ ์ ์๋๋ก ๋์ํ๋ ์ ํธ๋ฆฌํฐ |
| 2 | split_train_valid.ipynb | train_all์ class ๋ถํฌ๊ฐ ์ ์งํ๋๋ก train/validset์ผ๋ก splitํ๋ ์ ํธ๋ฆฌํฐ |
| 3 | convert_mmseg_dataset.py | coco dataset์ mmseg์ ๋ง๋ dataset์ผ๋ก ๋ณํํด์ฃผ๋ ์ ํธ๋ฆฌํฐ |
| 4 | copy_and_paste_augmentation.ipynb | ์ผ์ ํด๋์ค์ ์ด๋ฏธ์ง๋ฅผ ๋ง์คํนํด ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง์ ๋ถ์ฌ๋ฃ์ด ์๋ก์ด ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ ๋ฐ์ดํฐ ์ฆ๊ฐ ์ ํธ๋ฆฌํฐ |
| 5 | hard_vote_ensemble.ipynb | inferenceํ ๊ฒฐ๊ณผ๋ค์ ๊ฐ์ ธ์ ํฝ์ ๋จ์๋ก hard-vote ensemble์ ํ๊ธฐ ์ํ ์ ํธ๋ฆฌํฐ |
| 6 | streamlit visualization | ๋ชจ๋ธ์ด test dataset์ ๋ํด ์ถ๋ก ํ ๊ฒฐ๊ณผ๋ฅผ ์๊ฐ์ ์ผ๋ก ํ์ธํ๊ธฐ ์ํ streamlit ์ ํธ๋ฆฌํฐ |













