1. ์น์บ ์ค์๊ฐ ๊ฐ์ฒด ํ์ง โ SSDLite
SSDLite320 + MobileNetV3 (COCO pretrained)
2์ด ๊ฐ๊ฒฉ์ผ๋ก ๊ฐ์ฒด ํ์ง, ๋ฐ์ค + ๋ผ๋ฒจ ์ค๋ฒ๋ ์ด
Flask ์น ์คํธ๋ฆฌ๋ฐ (๋ธ๋ผ์ฐ์ ์์ ์ ์)
Docker Compose๋ก ์คํ
SSDLite(COCO pretrained)๋ก ์คํํ ๊ฒฐ๊ณผ, ์ฐํ๊ณผ ํธ๋ํฐ์ ์ ๋๋ก ๊ตฌ๋ถํ์ง ๋ชปํ๊ณ ํ์ง ์ ํ๋(confidence %)๊ฐ ๋ฎ๊ฒ ๋์ค๋ ํ์์ด ๋ฐ์ํ์๋ค.
2. MobileNetV2 ํ์ธํ๋ โ ์ฐํ / ํธ๋ํฐ ๋ถ๋ฅ
branch : feature/object-detection-finetune
SSDLite์ COCO pretrained ๋ชจ๋ธ์ ์ฐํ๊ณผ ํธ๋ํฐ์ ๋ํ ๊ฐ์ฒด ํ์ง ์ฑ๋ฅ์ด ์ข์ง ์์, MobileNetV2๋ฅผ ํด๋น ํด๋์ค์ ๋ง๊ฒ ํ์ธํ๋ํ์ฌ ์ฑ๋ฅ์ ํ์ธํ์๋ค.
์ฐํ ํ์ง
ํธ๋ํฐ ํ์ง
Bing ์ด๋ฏธ์ง ํฌ๋กค๋ง
โ
train / val ๋ถํ (80:20)
โ
MobileNetV2 ํ์ธํ๋ (Google Colab, GPU)
โ
model.pt ์ ์ฅ
โ
Flask ์๋ฒ์์ ์น์บ ์ค์๊ฐ ๋ถ๋ฅ
ํด๋์ค
์์ง
train
val
pencil
67์ฅ
54์ฅ
13์ฅ
phone
64์ฅ
52์ฅ
12์ฅ
icrawler (Bing) ๋ก ์๋ ์์ง
ํค์๋: pencil object white background, smartphone mobile phone object
MobileNetV2 (ImageNet pretrained)
โโ features โ Freeze (ํ์ต ์ ํจ)
โโ classifier โ ๊ต์ฒดํ์ฌ ํ์ต
Dropout(0.3)
Linear(1280 โ 2) # ํ์ต ํ๋ผ๋ฏธํฐ 2,562๊ฐ
ํญ๋ชฉ
๊ฐ
Epochs
20
Optimizer
Adam (lr=1e-3)
Scheduler
StepLR (step=7, ฮณ=0.1)
Loss
CrossEntropyLoss
์ ์ฒ๋ฆฌ (train)
Resize(224) + RandomFlip + RandomRotation(15ยฐ) + ColorJitter + Normalize
์ ์ฒ๋ฆฌ (val)
Resize(224) + Normalize
ํ๊ฒฝ
Google Colab (Tesla T4 GPU)
Epoch
Train Loss
Train Acc
Val Loss
Val Acc
1
0.7547
57.6%
0.8460
48.0%
3
0.4490
80.2%
0.3009
100.0%
20
0.1727
94.3%
0.1351
100.0%
์ต๊ณ ๊ฒ์ฆ ์ ํ๋: 100% (Epoch 3๋ถํฐ ์๋ ด)
3. ์์ฒด ๋ชจ๋ธ ๊ตฌ์ถ ์์