Object detection์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ์๊ฐ ๋๊ณ ์๋ R-CNN์ด๋ค. R-CNN์ด๋ Region์ ๊ฒ์ถํด CNN์ผ๋ก ์ด๋ค ๋ฒ์์ ๊ฐ์ฒด๊ฐ ์๋์ง, ์ด๋ค ๋ฒ์ฃผ์ ์ํ๋์ง๋ฅผ ๊ตฌ๋ถํ๋ ๋ชจ๋ธ์ด๋ค. ๊ฐ์ฅ ๊ธฐ์ด๊ฐ ๋๋ ๋ชจ๋ธ๋ก ์ด๋ฒ์๋ ์ด ๋ชจ๋ธ์ ๋ํด์ ํํค์ณ๋ณด๋ ค ํ๋ค. ์ฌ๊ธฐ์์ ROI๋ Region of Interest์ด๋ค.
๋ค์์ R-CNN์ ๋คํธ์ํฌ ๊ตฌ์กฐ๋ค.
์ด ๋ชจ๋ธ์ ๋ค์๊ณผ ๊ฐ์ด ์๋ํ๋ค.
- Image๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค.
- Selective search ์๊ณ ๋ฆฌ์ฆ์ ์ํด regional proposal output ์ฝ 2000๊ฐ๋ฅผ ์ถ์ถํ๋ค.
- ์ถ์ถํ regional proposal output์ ๋ชจ๋ ๋์ผ input size๋ก ๋ง๋ค์ด์ฃผ๊ธฐ ์ํด warpํด์ค๋ค.
- 2000๊ฐ์ warped image๋ฅผ ๊ฐ๊ฐ CNN ๋ชจ๋ธ์ ๋ฃ๋๋ค.
- ๊ฐ๊ฐ์ Convolution ๊ฒฐ๊ณผ์ ๋ํด classification์ ์งํํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ์ป๋๋ค.
์ฌ๊ธฐ์ ๊ตณ์ด ์ฌ์ด์ฆ๋ฅผ ํต์ผํด์ผ ํ๋ ์ด์ ๋ฅผ ๋ฌป๋ ์ฌ๋๋ค์ด ์์๊ฒ์ด๋ค. CNN์ ํน์ฑ์ ์ํด input size๊ฐ 227 x 227 size๋ก ๊ณ ์ ์ด ๋์ด ์๋ค๊ณ ํ๋ค. ๋ฐ๋ผ์ bounding box๊ฐ ์ ๊ฐ๊ฐ์ธ ROI๋ฅผ R-CNN์ ํ์ฉํ์ฌ ๋ถ๋ฆฌํ๊ธฐ ์ํด์ ์ฌ์ด์ฆ๋ฅผ ๋จผ์ ์กฐ์ ํ๊ณ ์งํํ๋ค.
์ด ์๊ณ ๋ฆฌ์ฆ์ ๋ค์ํ ROI๊ฐ ์กด์ฌํ๊ฒ ๋๋๋ฐ ๊ทธ๋ฆฌ๋ค ๋ณด๋ฉด ๊ฐ์ฒด๊ฐ ๊ฒน์ณ์ง๊ธฐ๋ ํ๊ณ ์ข์ง ์์ ROI๊ฐ ์๊ธฐ๊ธฐ๋ ํ๋ค. ์ด๋ฌํ ROI๋ค ์ค์ ๊ฐ์ฅ ์๋ฏธ๊ฐ ๊น์ bounding box๋ฅผ ๋ง๋ค๊ธฐ ์ํด ์งํํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์๊ณ ๋ฆฌ์ฆ ์งํ ์์๋ ๋ค์๊ณผ ๊ฐ๋ค.
์ฌ๊ธฐ์์ ํํ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ค๊ณ ํ๋ค. ์ ์ฌํ segment๋ฅผ ๊ฒฐํฉํ๋ค๋ณด๋ฉด ์ธ์ ๊น์ง ๊ฒฐํฉํด์ผํ๋์ง ๊ถ๊ธ์ฆ์ด ์๊ธธ ์ ์๋ค. ๊ธฐ์ค์ ์ผ๋ก๋ ์ ์ฌํ region์ด ํ๋๋ง ๋จ์๋ ๊น์ง ๋ฐ๋ณตํ๋ค๊ณ ํ๋ค. ๋ ์์ญ์ ์ฐจ์ด๋ฅผ ๊ธฐ์ค์ง๋ threshold๋ฅผ ํตํด ๊ฒฐํฉํ ์ง๋ฅผ ๊ฒฐ์ ํ๋ค.
feature map์ classifier์ ์ ์ฉํ ๋ CNN์ ํ์ฉํ์ง ์๊ณ SVM์ ์ฌ์ฉํ๋ ์ด์ ์ ๋ํด ํ๋ฒ ์๊ฐํด ๋ณผ ํ์๊ฐ ์๋ค. ์ด์ ๋ ๋ฐ๋ก ์ฑ๋ฅ ๋๋ฌธ์ธ๋ฐ SVM์ ํ์ฉํ์ ๋ CNN๋ณด๋ค ์ฑ๋ฅ์ด ๋ ์ข์๋ค๋ ๊ฒฐ๊ณผ๊ฐ ์๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋ฌ๋ R-CNN์ ์ฌ๋ฌ๊ฐ์ง ๋จ์ ์ด ์๋ค๊ณ ํ๋ค. ๋ํ์ ์ผ๋ก ๋ชจ๋ธ์ ํ์ฉํ ๋ ๊ฐ ConvNet๋ณ๋ก ๋ณ๋ ์ํ์ ํด์ผํ๊ธฐ ๋๋ฌธ์ ์๊ฐ์ด ์ค๋๊ฑธ๋ฆฐ๋ค๋ ๋จ์ ์ด ์๊ณ , input size๊ฐ ๊ณ ์ ๋์ด์๊ธฐ ๋๋ฌธ์ ์ ๋ณด์ ์์ค ๋ํ ์กด์ฌํ๋ค๋ ๋จ์ ๋๋ฌธ์ ์ด๋ฅผ ๋ณด์ํ๊ธฐ ์ํด ๋์จ ๋ชจ๋ธ์ด๋ค. ์ด ๋ชจ๋ธ์ ๋ค์๊ณ ๊ฐ์ ์ฅ์ ์ด ์๋ค.
- inference๋ฅผ ํฅ์
- ํํฐ๋ฅผ 1ํ ํต๊ณผ์ํค๊ณ ๊ทธ ํํฐ๋ฅผ ์ฌ์ฌ์ฉํด computation cost๋ฅผ ์ค์ธ๋ค.
- end to end
- SVM์ ๊ณผ์ ์ ์์ ๊ณ Gradient๋ฅผ ๋์ ์์ผฐ๋ค.
- ๋ฉํฐํ์คํฌ ๋ฌ๋
- BBoxRegressor์ ์ ์ฉํด ๋ฐ์ค๋ฅผ ์ ์ฉ์ํค๊ณ ROI pooling ๋ฐฉ๋ฒ์ด ์ถ๊ฐ์ ์ผ๋ก ๋ค์ด๊ฐ๋ค.
Fast R-CNN์ ๋ค์๊ณผ ๊ฐ์ ๊ตฌ์กฐ๋ฅผ ์ง๋ ๋ค.
Conv feature map์์ ํํฐ๋ฅผ ํ๋ฒ ํต๊ณผํด feature matrix๋ฅผ ์์ฑํ ๋ค ROI feature vector์ ํตํด ๋ง์ฐฌ๊ฐ์ง๋ก bbox์ class๋ฅผ ํ๋ณํด ๋ด๋ ๋ชจ๋ธ์ด๋ค.
์ฌ์ฉ๋๋ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
- selective search๋ฅผ ์ด์ฉํด ROI๋ฅผ ์ถ์ถํด๋ธ๋ค.
- ํ๋ง์ ์ํ ์ ํํ windowํ๋ฅผ ์งํํ๋ค.
- pooling ๊ธฐ๋ฒ์ ์ด์ฉํ์ฌ ๊ฐ ์๋์ฐ ๋ณ๋ก ํ๋ง์ ์ ์ฉํ๋ค.
pooling์ ๋ค์๊ณผ ๊ฐ์ด window๋ฅผ ๊ธฐ์กด์ ์ค์ ํ ํฌ๊ธฐ์ ๋ง๊ฒ ์กฐ์ ํด ์ฃผ๊ธฐ ์ํด ์ฌ์ฉํ๋ค. ์๋์ ์ด๋ฏธ์ง ๊ณผ์ ์ฒ๋ผ Pooling์ ์งํํ๋ค.
๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
- ๋ฏธ๋ฆฌ ์ค์ ํ HxWํฌ๊ธฐ๋ก ๋ง๋ค์ด์ฃผ๊ธฐ ์ํด์ (h/H) * (w/H) ํฌ๊ธฐ๋งํผ grid๋ฅผ RoI์์ ๋ง๋ ๋ค.
- RoI๋ฅผ gridํฌ๊ธฐ๋ก split์ํจ ๋ค max pooling์ ์ ์ฉ์์ผ ๊ฒฐ๊ตญ ๊ฐ grid ์นธ๋ง๋ค ํ๋์ ๊ฐ์ ์ถ์ถํ๋ค.
์ ์์ ์ ํตํด feature map์ ํฌ์ํ๋ hxwํฌ๊ธฐ์ RoI๋ HxWํฌ๊ธฐ์ ๊ณ ์ ๋ feature vector๋ก ๋ณํ๋๋ค.
๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์ฌ์ ํ ๋ณด์ํ ์ ์ ์๋ค. Selective search ์๊ณ ๋ฆฌ์ฆ ๋ํ ์ด๋ฏธ์ง์์ segmentation์ ์ ํํ๋ ๊ณผ์ ์์ ์๊ฐ์ด ์ค๋๊ฑธ๋ฆฐ๋ค. ์ด ๋ํ Conv Layer์์ ์งํํ๋ฉด์ ํ์ฉ ์๋๋ฅผ ์ค์ด๊ณ ์ฑ๋ฅ์ ๋ ๋์ผ ์ ์๋ Region Proposal์ ํ์ฉํ๋ค.
Faster R-CNN์ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ๋ค.
Conv Layer๊ณผ RPN์ ๊ณต์ ํ์ฌ ์ ์๋ ๋ชจ๋ธ์ด๋ผ๊ณ ํ๋ค. ์ด ๋ชจ๋ธ์ ํน์ง์ ๋ค์๊ณผ ๊ฐ๋ค.
- ๋ฐ์ค๋ฅผ ๋๋คํ๋ ์ค๋ฒ๋ ์ด๋ฅผ ์ ์ฉํ์ง ์๊ณ ์ ์ฒด ์ด๋ฏธ์ง๋ฅผ ๊ฒฉ์ ๋ฌด๋ฌ๋ก ์ชผ๊ฐ ๋ค.
- ์ต์ปค๋ฐ์ค(Anchor box)๋ฅผ ๋์ ํ์๋ค.
์ต์ปค๋ฐ์ค์ ๋ํ ์ ์๋ MathWorks์์ ํ์ธํ ์ ์๋ค.
Multiple scale & size๋ฅผ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ด ์ธ๊ฐ์ง๊ฐ ์๋ค.
- ํ๋์ scale&size classifier์ ์ฌ์ฉํด scale์ ๋ฐ๊พธ๋ ๋ฐฉ๋ฒ
- ์์์ ํฌ๊ธฐ๋ฅผ ์ค์ด๋ ๋์ filter size๋ฅผ ๋ค์ํ
- Reference๋ฅผ ์ฌ๋ฌ๊ฐ ์ฌ์ฉ
์ฌ๊ธฐ์ ์ต์ปค๋ฐ์ค๋ 3๋ฒ์ ๊ฐ๊น์ด ๋ฐฉ๋ฒ์ด๋ค. ํ์คํ์ง ์์ง๋ง ๊ฐ์ฅ ๊ฐ๊น์ด ๋ฐฉ๋ฒ์ด๋ค.
RPN์ ๋ค์๊ณผ ๊ฐ์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
k๊ฐ์ ์ต์ปค๋ฐ์ค๋ฅผ ํ์ฉํด ๊ฒฉ์๋ฌด๋ฌ ์ด๋ฏธ์ง์ ๋ํด sliding window๋ฐฉ๋ฒ์ผ๋ก ์ด๋ฏธ์ง ํ์ ๋ง๋ ๋ค์ ๊ฐ ์ต์ปค๋ฐ์ค์ ๋์กฐํ์ฌ ํ์งํด๋ด๊ณ ํด๋์ค๋ฅผ ๋ถ๋ฅํ๋ ๋ฐฉ์์ ํ์ฉํ๋ค. ์ต์ ์ ์ต์ปค๋ฐ์ค๋ฅผ ์ฐพ์๋ด๊ธฐ ์ํด Non-Maximum Suppression(NMS)๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ๋๊ฐ์ง ํผ์ฒ๋ฅผ ์ฐ์ถํด๋ธ๋ค.
2k scores: ๋ฌผ์ฒด๊ฐ ์กด์ฌํ๋์ง ํ์ง์๋์ง ๊ตฌ๋ถํ๋ ๋ถ๋ฅ๊ธฐ
4k coordinates: ์ต์ปค๋ฐ์ค์ ์ค์ฌ์์น, ๋์ด, ๋์ด
์ต์ ์ ์ต์ปค๋ฐ์ค๋ฅผ ์ฐพ์๋ด๋ ๋ฐฉ๋ฒ์ผ๋ก ํ์ฉ๋์์ผ๋ฉฐ ๋ค์๊ณผ ๊ฐ์ ํน์ง์ ๊ฐ์ง๊ณ ์๋ค.
- ํ ๋ฌผ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๋ ์ฌ๋ฌ๊ฐ์ ๋ฐ์ค๋ฅผ ํ๋๋ก ์ถ๋ฆฌ๋ ๊ณผ์
- ์ต์ปค๋ฐ์ค๋ค ์ค์์ ๊ฐ์ฅ ํฐ ๋ฐ์ค ํ๋๋ฅผ ์ ํํด ๊ฒน์ณ์๋ ์ต์ปค๋ฐ์ค ๋ชจ๋๋ฅผ ํตํด confidence score๊ณผ IoU score์ ์ฐ์ถํ๋ค.
- Confidence score์ ๊ฐ์ฒด๊ฐ ํฌํจ๋์ด ์๋ ์ ๋๋ฅผ ๋ํ๋ด๊ณ IoU score์ ๋ค๋ฅธ ์ต์ปค๋ฐ์ค์์ ๊ฒน์น๋ ๊ตฌ๊ฐ์ด ๋ง์๊ฐ๋ฅผ ๊ณ์ฐํ๋ค.
- Confidence score์ด ๋๊ณ IoU score์ด ๋ฎ์์๋ก ์ต์ปค๋ฐ์ค๊ฐ ์ ํ๋ ๊ฐ๋ฅ์ฑ์ด ๋๋ค.
Loss๋ ๋ค์๊ณผ ๊ฐ์ด ๊ณ์ฐํ๋ค.
์ต์ข ์ ์ผ๋ก classification๊ณผ detection์ ๊ฐ์ด ํ๊ธฐ ๋๋ฌธ์ ๋ ๊ฒฝ์ฐ์ Loss๋ฅผ ํฉ์น ๊ฐ์ ์ต์ข Loss๋ก ํ์ฉํ๋ค.
๋ํ ํ๋ จ ๋จ๊ณ์์ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ ํตํด ํ์ต์ํจ๋ค.
- ์ด๋ฏธ train๋ ImageNet์ผ๋ก RPN์ end-to-end trainํ๋ค.
- RPN์ ์ด์ฉํ์ฌ Faster R-CNN์ ํ์ต์ํจ๋ค.
- feature extraction์ ์งํํ๊ธฐ ์ํด RPN, Faster R-CNN์ ํ์ดํผํ๋ผ๋ฏธํฐ๋ฅผ ์์๋๋ก ํ์ต์ํจ๋ค.
์ด๋ฏธ์ง ํ์ง์ ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋ ์ ๋ฐ๋์ ์ฌํ์จ์ ํ์ฉํ Average Precision์ ์ฌ๊ธฐ์ ๋ํ ํ์ฉํ๋ค. waytoliah์์ ์ ๋ฆฌ๋ฅผ ๋งค์ฐ ์ํด๋์๋ค. ์ฐธ๊ณ ํด์ ๋ณด๋ฉด ์ข์๊ฒ ๊ฐ์์ ๊ฐ์ ธ์๋ค.
์ถ์ฒ
R-CNN ๋ ผ๋ฌธ ๋ฆฌ๋ทฐ
Selective Search Algorithm
Fast R-CNN ๋ ผ๋ฌธ ๋ฆฌ๋ทฐ
Faster R-CNN ๋ ผ๋ฌธ ๋ฆฌ๋ทฐ
๋ค์ด๋ ํฌ์คํ ๋ณด๊ณ ๋ฅ๋ฌ๋์ ๊ณต๋ถํด๋ณด๋ ค๊ณ ํฉ๋๋ค