1. RCNN
- Selective search ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ด๋ฏธ์ง์์ ๊ฐ์ฒด๊ฐ ์์ ๊ฒ ๊ฐ์ ์์น์ box 2k๊ฐ ์ถ์ถ
- Non-maximum Suppression ์ผ๋ก ๊ฐ์ฅ ์ค์ฝ์ด๊ฐ ๋์ box๋ง ๋จ๊น(box๊ฐ ๊ฒน์น ๋ IoU >0.5 ์ด๋ฉด ์ ์ฉ)
- ๋ชจ๋ box๋ฅผ 227x227 ๋ก resize (๋น์จ ๊ณ ๋ ค x)
- Pre-train ๋ ๋คํธ์ํฌ์ box ์ด๋ฏธ์ง๋ฅผ ํต๊ณผ์์ผ ๊ณ ์ ๋ ํฌ๊ธฐ์ feature ์ถ์ถ
- SVM classifier ํ์ต & Bounding box regression
๋จ์
- Region proposal ๋ก ์ถ์ถํ ์๋ง์ ๊ฐ์์ ์์ญ์ ๋ชจ๋ CNN์ ํต๊ณผ์ํค๊ธฐ ๋๋ฌธ์ ์๋นํ ์ค๋ ๊ฑธ๋ฆผ
- ๊ฐ์ฒด์ ๋น์จ ๊ณ ๋ คํ์ง ์๊ณ ๋ชจ๋ ๊ฐ์ ํฌ๊ธฐ๋ก resize
2. SPPNet
RCNN์ ๋จ์ ์ธ ๊ณ ์ ๋ ์ ๋ ฅ ์ด๋ฏธ์ง ์ฌ์ด์ฆ, ์ค๋ณต๋๋ CNN ๊ณ์ฐ์ ๊ฐ์ ํ ๋คํธ์ํฌ
- ์ ์ฒด ์ด๋ฏธ์ง๋ฅผ pre-trainํ ๋คํธ์ํฌ์ ์ฃผ์
- Selective search๋ฅผ ํตํด ์ฐพ์ ํฌ๊ธฐ์ ๋น์จ์ด ๋ค๋ฅธ RoI์ Spatial Pyramid Pooling(SPP) ์ ์ฉํ์ฌ ๊ณ ์ ๋ ์ฌ์ด์ฆ์ feature ์ถ์ถ
- FC layer ํต๊ณผ
- SVM classifier ํ์ต & Bounding box regression
๋จ์
์ฌ์ ํ end-to-end ๋ฐฉ์์ด ์๋ ์ฌ๋ฌ ๋จ๊ณ๊ฐ ํ์ (e.g - fine-tuning, SVM training, Bounding Box Regression)
3. Fast RCNN
CNN fine tuning, boundnig box regression, classification์ ๋ชจ๋ ํ๋์ ๋คํธ์ํฌ์์ ํ์ต์ํค๋ end-to-end ํ๋ ์์ํฌ ์ ์
- Pre-train๋ ๋คํธ์ํฌ์ ์ด๋ฏธ์ง๋ฅผ ํต๊ณผ์์ผ feature map ์ถ์ถ
- Selective Search๋ฅผ ํตํด์ ์ฐพ์ ๊ฐ๊ฐ์ RoI์ ๋ํ์ฌ RoI Poolingํ์ฌ ๊ณ ์ ๋ ์ฌ์ด์ฆ์ feature ์ถ์ถ
- ์ถ์ถ๋ feature vector๋ FC layer๋ค์ ํต๊ณผํ ๋ค, softmax branch, bbox regressor branch๋ก ๋๋ฉ๋๋ค.
- Softmax branch๋ softmax๋ฅผ ํต๊ณผ์์ผ ๊ฐ์ฒด์ class๋ฅผ ๋ถ๋ฅ(SVM ์ฌ์ฉ x), bbox regressor branch๋ bounding box regression์ ํตํด selective search๋ก ์ฐพ์ ๋ฐ์ค์ ์์น ์กฐ์
๋จ์
์ฌ์ ํ region proposal์ selective search๋ก ์ํ(CPU ์ฐ์ฐ๋ง ์ฌ์ฉ ๊ฐ๋ฅ)
4. Faster RCNN
๊ธฐ์กด Fast RCNN ๋คํธ์ํฌ์ selective search๋ฅผ Region Proposal Network (RPN) ์ผ๋ก ๋์ฒดํ์ฌ GPU๋ฅผ ํตํ RoI ๊ณ์ฐ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
RPN ๊ฐ๋ต ์ค๋ช
์ถ์ถํ feature map์์ anchor box ์์ object ๊ฐ ์๋์ง์ ์์ธกํ๋ branch์ Bounding box ๋ฅผ ์์ธกํ๊ธฐ ์ํ branch๋ก ๋๋์ด ๊ณ์ฐํ๊ณ ์ป์ด์ง ๊ฐ๋ค๋ก RoI๋ฅผ ๊ณ์ฐํฉ๋๋ค. ์ด ํ ๊ฐ์ฒด์ผ ํ๋ฅ ์ด ๋์ K๊ฐ์ anchor๋ฅผ ์ถ๋ ค๋ด๊ณ non-maximum-supression์ผ๋ก ์ต์ข RoI๋ฅผ ๊ตฌํฉ๋๋ค.
๋จ์
์ ์ฒด ๋ชจ๋ธ์ ํ๋ฒ์ ํ์ต์ํค๊ธฐ ์ด๋ ค์์(์ด๊ธฐ์ RPN์ด RoI๋ฅผ ๊ณ์ฐํ์ง ๋ชปํ๋๊น) ์ฌ๋ฌ ๋จ๊ณ์ ๊ฑธ์ณ ๋ชจ๋ธ์ ๋ฒ๊ฐ์ ํ์ต์ํค๋ Alternating training ๋ฐฉ๋ฒ ์ฌ์ฉ
4.5. Mask RCNN
Instance Segmentation์ ์ฌ์ฉ๋๋ method๋ก Faster R-CNN์ RPN์์ ์ป์ RoI(Region of Interest)์ ๋ํ์ฌ ๊ฐ์ฒด์ class๋ฅผ ์์ธกํ๋ classification branch, bbox regression์ ์ํํ๋ bbox regression branch์ ํํ์ผ๋ก segmentation mask๋ฅผ ์์ธกํ๋ mask branch๋ฅผ ์ถ๊ฐํ ๊ตฌ์กฐ. mask branch๋ ๊ฐ๊ฐ์ RoI์ ์์ ํฌ๊ธฐ์ FCN(Fully Convolutional Network)๊ฐ ์ถ๊ฐ๋ ํํ์ ๋๋ค. segmentation task๋ฅผ ๋ณด๋ค ํจ๊ณผ์ ์ผ๋ก ์ํํ๊ธฐ ์ํด ๋ ผ๋ฌธ์์๋ ๊ฐ์ฒด์ spatial location์ ๋ณด์กดํ๋ RoIAlign layer๋ฅผ ์ถ๊ฐ.
5. YOLO
1 Stage Object Detection ์ ์
Region Proposal ๊ณผ Classification ์ ํ๋ฒ์ ์ํ. ์ต์ข output feature map์ bounding box ์์น์ ํฌ๊ธฐ, box ๋ด๋ถ์ ํด๋์ค๊ฐ ์์ ํ๋ฅ (์ ๋ขฐ๋), ํน์ ํด๋์ค์ผ ํ๋ฅ ๊ฐ ๋ค์ด ํฌํจ๋์ด ์์ต๋๋ค.
*์ ๋ฆฌ
RCNN → SPPNet → Fast RCNN → Faster RCNN → YOLO ์์ผ๋ก object detection ์ฐ๊ตฌ๊ฐ ์งํ๋๋ฉด์ ์๋์ ๊ฐ์ ์๊ณ ๋ฆฌ์ฆ๋ค์ด ๊ฐ์ ๋์์ต๋๋ค.
- ๊ณ ์ ๋ ์ ๋ ฅ ์ด๋ฏธ์ง ์ฌ์ด์ฆ, ๋น์จ → ์์์ ์ฌ์ด์ฆ, ๋น์จ์ box ๋ก classification ๊ฐ๋ฅ
- ์ค๋ณต๋๋ ์์ญ์ CNN์ผ๋ก ์ฌ๋ฌ๋ฒ ๊ณ์ฐ → ์ ์ฒด ์ด๋ฏธ์ง๋ ํ ๋ฒ๋ง ๋คํธ์ํฌ ํต๊ณผ
- end-to-end ๋ฐฉ์์ด ์๋ → end-to-end ๋ฐฉ์
- Selective search(CPU๋ง ์ฌ์ฉ) → RPN ์ฌ์ฉ(GPU)
- ๋๋ฆฐ ์๋ → Region proposal & Classification ์ ํ ๋ฒ์ ์ํํ๋ 1 stage object detection ์ ์