Fast R-CNN ๊ฐ์
FAST R-CNN์ R-CNN (Region-based Convolutional Neural Network)๊ณผ SPP-Net (Spatial Pyramid Pooling Network)์ ๋จ์ ์ ๋ณด์ํ๊ณ , ๊ฐ์ฒด ํ์ง์ ์๋์ ์ ํ์ฑ์ ํฌ๊ฒ ๊ฐ์ ํ ๋ชจ๋ธ์ ๋๋ค
- Fast R-CNN์ ์ด๋ฌํ ์์๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
- ์ ๋ ฅ ์ด๋ฏธ์ง: ์๋ณธ ์ด๋ฏธ์ง์ Region Proposal์ด ์ ๋ ฅ๋ฉ๋๋ค.
- ๊ณตํต CNN: ์ด๋ฏธ์ง์์ Feature Map(ํน์ง ๋งต)์ ์ถ์ถํฉ๋๋ค.
- RoI Pooling Layer: ๊ฐ Region Proposal์ ๊ณ ์ ๋ ํฌ๊ธฐ์ *Feature Map(ํน์ง ๋งต)์ผ๋ก ๋ณํํฉ๋๋ค.
- ์์ ์ฐ๊ฒฐ ์ธต: ๊ณ ์ ๋ ํฌ๊ธฐ์ *Feature Map(ํน์ง ๋งต)์ ์ ๋ ฅ์ผ๋ก ๋ฐ์ Classification(๋ถ๋ฅ)์ Bounding Box Regression(๋ฐ์ด๋ฉ ๋ฐ์ค ํ๊ท)๋ฅผ ์ํํฉ๋๋ค.
- ์ถ๋ ฅ: ๊ฐ์ฒด์ Class์ Bounding Box ์ขํ๋ฅผ ์์ธกํฉ๋๋ค.
*Feature Map์ ์ ๋ ฅ ๋ฐ์ดํฐ์ ํน์ ํน์ง์ ์ถ์ถํ์ฌ ๋ํ๋ธ ๊ฒ์ ๋๋ค.
CNN์์๋ ์ ๋ ฅ ์ด๋ฏธ์ง์ ๊ฐ ๋ถ๋ถ์์ ํจํด์ ์ธ์ํ๊ณ , ์ด๋ฅผ ํตํด Feature Map์ ์์ฑํฉ๋๋ค.
- ๋ํ FAST R-CNN์ ์ด๋ฌํ ์ฅ์ ์ด ์์ต๋๋ค.
- ์ ์ฒด ์ด๋ฏธ์ง์ ๋ํด ํ ๋ฒ์ CNN ๊ณ์ฐ๋ง์ผ๋ก Feature Map(ํน์ง ๋งต)์ ์์ฑํ๋ฏ๋ก, R-CNN์ ๋นํด ์ฐ์ฐ ๋น์ฉ๊ณผ ์๊ฐ์ด ํฌ๊ฒ ์ค์ด๋ญ๋๋ค.
- RoI Pooling์ ํตํด ๊ฐ Region Proposal์ ๋ํด ๊ณ ์ ๋ ํฌ๊ธฐ์ Feature Map(ํน์ง ๋งต)์ ์์ฑํ๋ฏ๋ก, ์ถ๊ฐ์ ์ธ CNN ๊ณ์ฐ์ด ํ์ํ์ง ์์ต๋๋ค.
- RoI Pooling Layer๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ ์ ๋ ํฌ๊ธฐ์ Feature Map(ํน์ง ๋งต)์ ์์ฑํ๋ฏ๋ก, Fully Connected Layer(FC)์ ์ ๋ ฅ๋๋ ๋ฐ์ดํฐ ํฌ๊ธฐ๋ฅผ ์ผ์ ํ๊ฒ ์ ์งํ ์ ์์ต๋๋ค.
- ํตํฉ๋ Network์์ Classification(๋ถ๋ฅ)์ Bounding Box Regression(๋ฐ์ด๋ฉ ๋ฐ์ค ํ๊ท)๋ฅผ ๋์์ ์ํํ๋ฏ๋ก, ํจ์จ์ฑ์ด๋ ๊ฐ์ฒด ํ์ง์ ์ ํ์ฑ์ด ํฅ์๋ฉ๋๋ค.
- End-to-End ํ์ต์ด ๊ฐ๋ฅํ์ฌ, Network๊ฐ ์ ์ฒด์ ์ผ๋ก ์ต์ ํ๋ ์ ์์ต๋๋ค.
Fast R-CNN ์ฃผ์ ํน์ง(From SPP-Net)
Fast R-CNN์ ์ฃผ์ ํน์ง์ ๋ฐํ์ฌ ํ๋ฒ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
SPP Layer๋ฅผ ROI Pooling Layer๋ก ๋ณ๊ฒฝ
- SPP (Spatial Pyramid Pooling) Layer
- ๋ค์ํ ํฌ๊ธฐ์ ์ ๋ ฅ ์ด๋ฏธ์ง๋ฅผ ๊ณ ์ ๋ ํฌ๊ธฐ์ *Feature Vector(ํน์ง ๋ฒกํฐ)๋ก ๋ณํํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค.
- ์ฌ๋ฌ ๋ ๋ฒจ์ ํผ๋ผ๋ฏธ๋ ๊ตฌ์กฐ๋ก ์ ๋ ฅ ์ด๋ฏธ์ง๋ฅผ ๋๋์ด ๊ฐ ์์ญ์์ Max Pooling(๋งฅ์ค ํ๋ง)์ ์ํํฉ๋๋ค.
*Feature Vector(ํน์ง ๋ฒกํฐ)๋ ์ ๋ ฅ ๋ฐ์ดํฐ์ ์ค์ํ ํน์ง์ ์ซ์๋ก ํํํ ๋ฒกํฐ์ ๋๋ค.
*Max Pooling(๋งฅ์ค ํ๋ง)์ Feature Map(ํน์ง ๋งต)์์ ๊ฐ์ฅ ์ค์ํ ์ ๋ณด๋ฅผ ์ถ์ถํ๊ณ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๋ฅผ ์ค์ด๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค
- ROI (Region of Interest) Pooling Layer
- Fast R-CNN์์ SPP Layer ๋์ ์ฌ์ฉ๋๋ Layer ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ Layer๊ฐ ํ๋์ด๋ฉฐ, ๊ทธ Layer์์ Vectorํ๊ฐ ๋ฉ๋๋ค.
- ๊ทธ๋ฆฌ๊ณ Region Proposal์ ๊ณ ์ ๋ ํฌ๊ธฐ์ Feature Map(ํน์ง ๋งต)์ผ๋ก ๋ณํ๋ฉ๋๋ค.
- CNN์ด ์์ฑํ Feature Map(ํน์ง ๋งต)์์ ๊ฐ Region Proposal์ ์์ญ์ ์ถ์ถํ๊ณ ๊ณ ์ ๋ ํฌ๊ธฐ๋ก ๋ณํํฉ๋๋ค.
End-to-End Network Learning
- SVM์ Softmax๋ก ๋ณํ
- R-CNN๊ณผ ๋ฌ๋ฆฌ Fast R-CNN์์๋ SVM ๋ถ๋ฅ๊ธฐ ๋์ Softmax ๋ถ๋ฅ๊ธฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- Softmax๋ ํด๋์ค ํ๋ฅ ์ ์ถ๋ ฅํ์ฌ, ๋ณด๋ค ํจ๊ณผ์ ์ธ ๋ค์ค Class Classification(ํด๋์ค ๋ถ๋ฅ)๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
- Multi-task Loss ํจ์
- Fast R-CNN์ Multi-task Loss Function๋ฅผ ์ฌ์ฉํ์ฌ Classification(๋ถ๋ฅ)์ Bounding Box Regression(๋ฐ์ด๋ฉ ๋ฐ์ค ํ๊ท)๋ฅผ ๋์์ ์ต์ ํํฉ๋๋ค.
- Classification Loss(๋ถ๋ฅ์์ค)๊ณผ Regression Loss(ํ๊ท ์์ค)์ ํจ๊ป ํ์ตํจ์ผ๋ก์จ, ๋คํธ์ํฌ๊ฐ ๊ฐ์ฒด์ ํด๋์ค์ ์์น๋ฅผ ๋์์ ํ์ตํ ์ ์์ต๋๋ค.
Fast R-CNN ๊ตฌ์กฐ
Fast R-CNN ๊ตฌ์กฐ์ ๋ฐํ์ฌ ์ค๋ช ์ ํด๋ณด๊ฒ ์ต๋๋ค.
- ์ ๋ฐ์ ์ผ๋ก Feature Map(ํน์ง ๋งต)๊น์ง๋ SPP-Net์ ๊ณผ์ ๊ณผ ๋์ผํฉ๋๋ค. ๋ค๋ง Feature Map(ํน์ง ๋งต)์ดํ ๋ถํฐ๋ ๋ค๋ฆ ๋๋ค.
- RoI Pooling Layer: Feature Map(ํน์ง ๋งต)์์ ๊ฐ Region Proposal์ ์์ญ์ ์ถ์ถํ๊ณ ๊ณ ์ ๋ ํฌ๊ธฐ์ ํผ์ฒ ๋งต์ผ๋ก ๋ณํํฉ๋๋ค.
- Fully-Connected Layer: RoI Pooling Layer์ ์ถ๋ ฅ์ ๋ฐ์ Classification(๋ถ๋ฅ), Regression(ํ๊ท)๋ฅผ ์ํํฉ๋๋ค.
- Softmax Classifier, Bounding Box Regression: ์ต์ข ์ ์ผ๋ก ๊ฐ Region Proposal์ ํด๋์ค์ ๋ฐ์ด๋ฉ ๋ฐ์ค๋ฅผ ์์ธกํฉ๋๋ค.
- ์๋์ ์ฌ์ง์ FAST R-CNN์ ๊ตฌ์กฐ๋ฅผ ์ ๋ ฅ ์ด๋ฏธ์ง๋ฅผ ๋ฃ๋๊ฑธ ์์๋ฅผ ๋ค์ด ํํํ ๊ฒ์ ๋๋ค. ์์ธํ ์ค๋ช ํด ๋ณด๊ฒ ์ต๋๋ค.
- ์ ๋ ฅ ์ด๋ฏธ์ง: ํฌ๊ธฐ 600x1000์ ์ด๋ฏธ์ง๋ฅผ CNN์ ์ ๋ ฅํฉ๋๋ค.
- Feature Maps: CNN์ ํต๊ณผํ์ฌ 40x60 ํฌ๊ธฐ์Feature Map(ํน์ง ๋งต)์ ์์ฑํฉ๋๋ค.
- Region Proposal: Region Proposal Network (RPN)์ ํตํด ์ ์๋ ๊ฐ์ฒด ์์ญ์ ์ฒ๋ฆฌํฉ๋๋ค.
- RoI Pooling: RoI Pooling Layer์์ ๊ฐ Region Proposal์ ๊ณ ์ ๋ ํฌ๊ธฐ์Feature Map(ํน์ง ๋งต)์ผ๋ก ๋ณํํฉ๋๋ค.
- Fully-Connected Layer: ๊ณ ์ ๋ ํฌ๊ธฐ์ Feature Map(ํน์ง ๋งต)์ ์์ Fully-Connected Layer(์ฐ๊ฒฐ ์ธต)์ ์ ๋ฌํฉ๋๋ค.
- Classification and Regression: ๊ฐ Region Proposal์ ๋ํด Softmax๋ฅผ ํตํด ํด๋์ค๋ฅผ ์์ธกํ๊ณ , Regression(ํ๊ท)๋ฅผ ํตํด Bounding Box(๋ฐ์ด๋ฉ ๋ฐ์ค)๋ฅผ ์์ธกํฉ๋๋ค.
Multi-task loss Function
Multi-task loss๋ ๋ถ๋ฅ(Classification)์ ํ๊ท(Regression)๋ฅผ ๋์์ ์ต์ ํํ๋ ๋ฐ ์ฌ์ฉ๋๋ Loss ํจ์์ ๋๋ค.
- Classification Loss (๋ถ๋ฅ ์์ค), Regression Loss (ํ๊ท ์์ค) 2๊ฐ์ ๊ตฌ์ฑ ์์๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- Classification Loss (๋ถ๋ฅ ์์ค)
- ๊ฐ์ฒด์ ํด๋์ค ๋ ์ด๋ธ์ ์์ธกํ๋ ์์ค ํจ์์ ๋๋ค.
- Data Category์ ๊ด๊ณ ํ์ ๋ฐ ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์ค์ค๋ก ํ๋ณํ๋ ๊ณผ์ ์ ๋๋ค.
- Lcls(p,u)๋ ์์ธก๋ ํด๋์ค ํ๋ฅ p์ ์ค์ ํด๋์ค ๋ ์ด๋ธ u๊ฐ์ ์ฐจ์ด๋ฅผ ๊ณ์ฐํฉ๋๋ค.
- Regression Loss (ํ๊ท ์์ค)
- ์์ธก๋ Bounding Box ์ขํ v์ ์ค์ Bounding Box ์ขํ tu๊ฐ์ ์ฐจ์ด๋ฅผ ๊ณ์ฐํ๋ Loss Function(์์ค ํจ์)์ ๋๋ค.
- Fast R-CNN์์๋ Smooth L1 Loss๋ฅผ ์ฌ์ฉํ์ฌ, ์์ ์ค์ฐจ์ ๋ํด์๋ L2 Loss์ ์ ์ฌํ๊ฒ ๋์ํ๊ณ , ํฐ ์ค์ฐจ์ ๋ํด์๋ L1 Loss์ ์ ์ฌํ๊ฒ ๋์ํฉ๋๋ค.
- Multi-task Loss (๋ฉํฐ ํ์คํฌ ์์ค)
- Classification Loss (๋ถ๋ฅ ์์ค), Regression Loss (ํ๊ท ์์ค)์ ํจ๊ป ์ต์ ํํ์ฌ, Object Detection์ ์ ํ์ฑ์ ๋์ ๋๋ค.
- λ๋ ๋ Loss ๊ฐ์ Weight(๊ฐ์ค์น)๋ฅผ ์กฐ์ ํ๋ ํ์ดํผํ๋ผ๋ฏธํฐ์ ๋๋ค.
- [u≥1]๋ Object๊ฐ ์์ ๋๋ง Regression Loss(ํ๊ท ์์ค)๋ฅผ ๊ณ์ฐํ๋๋ก ํฉ๋๋ค.
Fast R-CNN ์ฑ๋ฅ๋น๊ต
- PASCAL VOC 2012 ๋ฐ์ดํฐ์ ์ ์ฌ์ฉํ์ฌ R-CNN, SPP-Net, Fast R-CNN์ ์ฑ๋ฅ ๋ฐ ์คํ ์๊ฐ์ ๋น๊ตํ ๊ฒฐ๊ณผ์ ๋๋ค.
- ์ ๋ฆฌํด๋ณด์๋ฉด, Fast R-CNN์ ๋ ๋ง์ ํ๋ จ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ ๋ ๊ฐ์ฅ ๋์ mAP๋ฅผ ๊ธฐ๋กํ๋ฉฐ, ๊ฐ์ฒด ํ์ง ์ฑ๋ฅ์ด ์ฐ์ํฉ๋๋ค.
- Fast R-CNN์ ํ๋ จ ์๊ฐ๊ณผ ํ ์คํธ ์๊ฐ ๋ชจ๋์์ ๊ฐ์ฅ ํจ์จ์ ์ ๋๋ค.
- Fast R-CNN์ ํ ์คํธ ์ Region Proposal์ ํฌํจํด๋ ๊ฐ์ฅ ๋น ๋ฅด๊ฒ ์คํ๋๋ ํน์ง์ด ์์ต๋๋ค.
๋ช
์ฌ: ์ํ, ํ, ์ํ ์ ๋ชจ์
'๐ Computer Vision' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CV] OpenCV๋ก Object Detection ๊ตฌํํ๊ธฐ (Part.1) (0) | 2024.06.02 |
---|---|
[CV] Faster R-CNN (Faster Region-based Convolutional Neural Network) (0) | 2024.05.29 |
[CV] SPPNet - Spatial Pyramid Pooling Net (0) | 2024.05.25 |
[CV] Object Detection Network ๊ตฌ์กฐ, R-CNN ๊ฐ์ (0) | 2024.05.22 |
[CV] Object Detection & Segmentation์ ์ํ ํจํค์ง & CUDA ์๊ฐ (0) | 2024.05.20 |