๊ฐ์
detection paper saga
์ด์ ๋ ์ค๋ ์๊ฐ์ด ์ง๋ ๋ ผ๋ฌธ์ธ SSD๋ฅผ ๊ฐ๋จํ๊ฒ ๋ฆฌ๋ทฐ ํด๋ณด๋ ค ํ๋ค. ๋งค์ฐ ์ง๊ด์ ์ธ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์์ด ๋ง์ ๊ตฌ์กฐ๊ฐ ์ด SSD๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ง๊ณ ์๋ค. YOLO v1 ์ดํ์ ๋์จ ๋ ผ๋ฌธ์ผ๋ก 1 stage detector์ ์ฑ๊ฒฉ์ ๊ฐ์ง๋ ์ํคํ ์ณ๋ ์ ํ ๋ค๋ฅธ, ์คํ๋ ค RCNN ๊ณ์ด๊ณผ ๋น์ทํ ํน์ง์ ๊ฐ์ง๋ค. SSD ์๊ณ ๋ฆฌ์ฆ์ ํ ๋ฌธ์ฅ์ผ๋ก ์ ๋ฆฌํ๋ฉด, feature map์ ๋ง๋๋ ๊ณต๊ฐ์ ๋๋์ด ์งํํ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ feature map์์ ๋ค๋ฅธ ๋น์จ๊ณผ ์ค์ผ์ผ๋ก default box๋ฅผ ์์ฑํ๊ณ , ์ด box๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ชจ๋ธ์ ํต๊ณผ ์์ผ ์ขํ์ ํด๋์ค๋ฅผ ๊ณ์ฐํ๋ค. ๋ง์ง๋ง์ผ๋ก ์ด ๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ์ต์ข bounding box๋ฅผ ์์ฑํ๋ค.
Model
Image Detection์ ์ด๋ฏธ์ง๊ฐ ์์ ๋, ์ด๋ฏธ์ง ์์ ๋ค์ด์๋ ์ฌ๋ฌผ์ ์ฐพ๋ ๋ฌธ์ ์ด๋ค. ์ฌ๊ธฐ์ ์ฐพ๋๋ค๋ ๊ฒ์ ์ฌ๋ฌผ๋ค์ ์์น์ ํฌ๊ธฐ๋ฅผ ์์๋ด๊ณ , ๋ฌผ์ฒด๋ฅผ ๊ฒ์ถํ๋ ๊ฒ์ด๋ค. ์ฆ, image pixel์ด ๋ค์ด๊ฐ์ ๋, ์ฌ๋ฌผ์ด ์ด๋ค class์ธ์ง ๋ํ๋ด๋ class ์ ์์, ์ฌ๋ฌผ์ offset(x, y, w, h)๋ฅผ output์ผ๋ก ๋ฑ๋ ํจ์๋ฅผ ๋ง๋ค๋ฉด ๋๋ค.
SSD Architecture
SSD์ ์ํคํ ์ณ๋ ์์ ๊ฐ๋ค. ์ง๊ด์ ์ผ๋ก ์ดํด๊ฐ ๋ ๋งํผ ๊ฐ๋จํ ๊ตฌ์กฐ์ด๋ค. ๋จผ์ SSD๋ Transfer learning์ ์ํด FC layer๋ฅผ ์ ์ธํ VGG-16์ํคํ ์ณ๋ฅผ ์ฌ์ฉํ๋ค. ๊ทธ ๋ค์ ์ถ๊ฐ์ ์ธ ๋คํธ์ํฌ๋ก๋ CONV๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ํ ํฌ๊ธฐ๋ก feature๋ฅผ ์ถ์ถํ๊ณ ์ด feature์์ ๊ฐ๊ฐ detection์ ์ํํ๋ค.
Convolution Predictors
๋ง์ง๋ง ์์ธก ๋จ๊ณ์์ ๊ณผ๊ฐํ๊ฒ FC later๋ฅผ ์ญ์ ํ๊ณ CONV๋ง์ ์ด์ฉํ์ฌ ์์ธก์ ์งํํ๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๊ต์ฅํ ๋น ๋ฅธ ์๋๋ฅผ ๋ณด์ฌ์ค๋ค.
Multi-scale Feature Maps
๋ค์ํ ํฌ๊ธฐ์ ๋ฌผ์ฒด์ ๋ํด ์ ๋ต์ ๋ง์ถ ์ ์๋ค. feature map์ ๊น์ด์ง ์๋ก ๋ณด๋ค ์ถ์์ ์ธ ์ ๋ณด๋ฅผ ๋ด๋๋ค. ๋ค์ํ feature์์ scale์ ๋ ๋ฏผ๊ฐํ๋๋ก ์์ธกํ๋ ๋ฐฉ์์ ํฌ๊ธฐ์ ์๊ด์์ด ๋ฌผ์ฒด์ ํน์ง์ ์ก์๋ผ ์ ์๋ ๋ฐฉ๋ฒ์ด๋ค.
๋ค์ ์๊ฐํด๋ณด์. ์์ ์ํคํ ์ณ๋ฅผ ๋ณด๊ฒ๋๋ฉด, depth๊ฐ ๊น์ feature map์์๋ ๊ฐ์ ํฌ๊ธฐ์ cnn width์ height๋ฅผ ๊ฐ์ง ๊ฒ์ ๋ณผ ์ ์๋ค. ๋ ๊น์ ๋คํธ์ํฌ์ผ์๋ก ๋ ๋์ ๋ถ๋ถ์ ์ปค๋ฒํ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ง๊ณ ์์ธก์ ์ํํ๊ณ ์๋ค. ํ์ ๊ฒฐ๊ณผ์์๋ ์ ์ ์๊ฒ ์ง๋ง ์ค์ ๋ก ์๋จ์ feature map์์๋ ๋ณด๋ค ์์ ๋ฌผ์ฒด์ ๋ํด์ detection ๊ฒฐ๊ณผ๊ฐ ์ข๊ณ , ๋ท๋จ์์๋ ํฐ ๋ฌผ์ฒด์ ๋ํ ๊ฒฐ๊ณผ๊ฐ ์ข์์ ํ์ธํ ์ ์๋ค.
Result of Multi scale Feature maps
์ด ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ฒ๋๋ฉด 8x8์์๋ ์์ ๋ฌผ์ฒด(๊ณ ์์ด)๋ฅผ ํ์งํ๊ณ 4x4์์๋ ํฐ ๋ฌผ์ฒด(๊ฐ์์ง)๋ฅผ ํ์งํ๋ ๋ชจ์ต์ ๋ณผ ์ ์๋ค. ์ด ๊ฒฐ๊ณผ๋ ๊ต์ฅํ ๋น์ฐํ๋ฐ, ๋ค์์ ์ค๋ช ํ ์ ์ฒด ๊ณผ์ ์ค์์ IoU๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๊ฐ์ feature map์ ํตํ ๊ฒฐ๊ณผ๋ฅผ threshold๋ฅผ ๊ฑฐ์ณ ๊ฑธ๋ฌ๋ด๋ ๊ณผ์ ์ ๊ฑฐ์น๋ค. 8x8์์๋ ์ญ์ ํ์ง default box๋ฅผ ํตํด ์์ธก์ ์งํํ์ง๋ง gt box์ ๋นํด ๋๋ฌด ์์์ IoU๊ฐ์ด ์๊ฒ ๋์ค๊ฒ ๋์ด ๊ฑธ๋ฌ์ง๊ฒ ๋๋ค. ๋ฐ๋ผ์ ํฐ ๋ฌผ์ฒด๋ ์์ feature map size๋ฅผ ๊ฐ์ง๋ ๊ณต๊ฐ์์ ์์ธก์ด ์งํ๋๋ค.
Default Boxes and Aspect Ratios
The way of Prediction in SSD
์์ ์ํคํ ์ณ๋ฅผ ๋ณด๊ฒ๋๋ฉด ๊ฐ๊ฐ์ feature map์์ ์ถ์ถํ๋ class์ ๊ฐ์๊ฐ ํํ๋์ด ์๋ค. ์ด๋ค ์๋ฏธ์ธ์ง ์์๋ณด์.
classifier : CONV: 3x3(6x(classes+4))
๋ถ๋ฅ๊ธฐ๋ก CONV๋ฅผ ์ฌ์ฉํ๊ณ , 3x3์ ํํฐ๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๊ณ (channel์ ์ด์ฐจํผ ์ด์ ๋คํธ์ํฌ์ channel๊ณผ ๊ฐ์์ผ ํ๋ ํํํ์ง ์์ ๋ฏ) default box๋ฅผ ๊ธฐ์ค์ผ๋ก(์ฌ์ ์ ์ ์ํด๋ box๋ค) 6๊ฐ์ box๋ฅผ ๋ฝ์ ๊ฒ์ด๋ฉฐ, ๊ทธ๋ฆฌ๊ณ class์ ๊ฐ์ ๋งํผ ์์ธกํ๊ณ , ๊ฐ๊ฐ์ bounding box์ ์์ธก๊ฐ(x, y, w, h)๋ฅผ ํฌํจํ ๊ฐ์๋งํผ์ ๋ฝ์ ๊ฑฐ์ผ. ๋ผ๋ ์ด์ผ๊ธฐ๋ค.
์๋ฅผ ๋ค์ด ์ค๋ช ํด๋ณด์. ๋ง์ฝ ๋ด๊ฐ ์ฌ์ ์ ๋ชจ์์ ์ก์๋ default box๊ฐ 6๊ฐ๋ผ๊ณ ํด๋ณด์. ๊ทธ๋ฆฌ๊ณ ๋ฌผ์ฒด์ class ์ข ๋ฅ๋ 21๊ฐ์ด๋ค. ๊ทธ๋ ๋ค๋ฉด convolution ํํฐ์ ๊ฐ์๋ 6๊ฐ์ box์ ๋ํด์ ๊ฐ๊ฐ 21+4๊ฐ์ ๊ฐ์ ์์ธกํด์ผ ํ๋ฏ๋ก 150 x (21+4) = 150 ๊ฐ์ ์ฑ๋์ด ํ์ํ๋ค.
Process
Total Process of SSD
- 300x300x3์ง๋ฆฌ ์ด๋ฏธ์ง๋ฅผ VGG-16๋ฅผ ํต๊ณผ์์ผ 38x38x512์ feature map์ ์์ฑํ๋ค.
- ๋ค์ํ ํฌ๊ธฐ์ feature map์ ํฌ๊ธฐ๋ฅผ ์ค์ฌ๊ฐ๋ฉด์ ์์ฑํ๋ค.
- ๊ฐ๊ฐ์ feature map์์ ์ฌ์ ์ ์ ์๋ default box๋ฅผ ์ ์ฉํ์ฌ y๊ฐ์ ์์ธกํ๋ค.
- ์ด ๋, ๊ฐ๊ฐ์ default box์ gt box์์ ์ต์ ๋งค์นญ์ ์งํํ๊ธฐ ์ํ metric์ผ๋ก IoU(Jaccard overlap)์ ์ฌ์ฉํ๋ค.
- threshold๋ฅผ ๋์ ํ์ฌ ์ผ์ ์ดํ์ ๋งค์นญ์ ์ ๊ฑฐํ๋ค.
- threshold๋ฅผ ํต๊ณผํ ๋ชจ๋ ์์ํ์ ํ๋ฐ ๋ฌถ์ด NMS์ ์งํํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํ๋ค.
Training
์ด๋ ๊ฒ ์์ธกํ bounding ๋ฐ์ค์ ๋ํด ์ด๋ป๊ฒ ํ๋ จ์ ์งํํ ๊น? 1 stage detector์์๋ ๋ถ๊ตฌํ๊ณ ๋ชฉ์ ํจ์๋ Faster RCNN๊ณผ ๊ฑฐ์ ๋๊ฐ๋ค.
Lconf : classification loss
Lloc : localization loss
- N : ๋งค์นญ๋ default bounding box๋ค์ ๊ฐ์
- Lconf : classification loss โ cross entorpy
- Lloc : localization loss โ smooth L1 loss
Choosing Scales and Aspect Ratios for Default Boxes
scale, aspect ratio for default boxes
Default box์ w, h๋ ์์ ์์ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋๋ค. ์ด ๋ m์ detection์ ํ๋๋ฐ ์ฌ์ฉํ๋ feature map์ ๊ฐ์์ด๋ค. ํน์ detector์ ๊ฐ์. ํ์ฌ๋ 6์ด๋ค. ๊ฐ๊ฐ์ feature map์์์ scale ๊ฐ์ด ๋์ค๊ฒ๋๊ณ , ์ฌ์ ์ ์ ์๋ aspect ratio๋ฅผ ๊ธฐ๋ฐ์ผ๋ก Wk, Hk๊ฐ ๋์ค๊ฒ ๋๋ค. aspect ratio๊ฐ 1์ธ ๊ฒฝ์ฐ์๋ ์ด ์ถ๊ฐ๋๋ค. ์ด๋ ๊ฒ ์ด 6๊ฐ์ default box๊ฐ ์์ฑ์ด ๋๋ค.
Hard Negative Mining
detection์ ๊ทผ๋ณธ์ ์ผ๋ก ๊ฐ๊ณ ์๋ class inbalance ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํ๋ค. ๋ฐฐ๊ฒฝ์ด ํ์ง๋ ๊ฒฐ๊ณผ๊ฐ ๋ ๋ง๊ธฐ ๋๋ฌธ์ ํ๋ จ์ ๋ถ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น๋ (Negative) ๋ฐฐ๊ฒฝ ํ์ง ๊ฒฐ๊ณผ์ ๋น์จ์ ์ค์ฌ์ค์ผ ํ๋ค.
๊ทธ๋์ ์ ์๋ค์ back ground์ธ๋ฐ ๊ทธ๋ ์ง ์๋ค๊ณ ํ๋จํ negative sample ์ ์ ๋ ฌํ๊ณ negative sample๊ณผ positive sample์ ๋น์จ์ด 3:1์ด ๋๋๋ก ๊ณจ๋ผ์ฃผ๋ ์์ ์ ๊ฑฐ์น๋ค.
Conclusions
- Single Shot object detector for multiple categories
- multiple convolutional map์ ๋ํด ๋ค๋ฅธ scale์ ๊ฐ์ง๋ object๋ฅผ ๋ค๋ฃจ์๋ค.
- default box๊ฐ ๋ง์ ์๋ก ์ข์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋ค.
- ๊ต์ฅํ ๋จ์ํ ๋ชจ๋ธ์ด๋ค.