์ง๋๋ฒ์ ์ดํด๋ณธ ์ด๊ธฐ ๊ฐ์ฒด ๊ฒ์ถ ๋ชจ๋ธ๋ค์ด ์ด๋ฏธ์ง์์ ๊ฐ์ฒด๋ฅผ ์ฐพ์๋ด๋ ๋ฐฉ๋ฒ์ ์ ์ํ๋ค๋ฉด, ๋ค์ ๋จ๊ณ์์๋ ์ด ๊ณผ์ ์ ๋ ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ๋ง๋๋ ๊ฒ์ด ๋ชฉํ์์ฃ . ์ด๋ฒ ํฌ์คํ ์์๋ ์ด๋ฌํ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ ๋ ๊ฐ์ง ํ์ ์ ์ธ ๋ชจ๋ธ์ธ Fast RCNN๊ณผ Faster RCNN์ ๋ํด ์์๋ณด๋ ค ํด์.
Fast RCNN์ RCNN์ ๋๋ฆฐ ์๋๋ฅผ ๊ฐ์ ํด ๊ฐ์ฒด ๊ฒ์ถ์ ํ์ธต ๋น ๋ฅด๊ฒ ๋ง๋ค์ด ์ฃผ์๊ณ , Faster RCNN์ ์ด ๊ณผ์ ์ GPU๋ก ๊ฐ์ํํด ์ค์๊ฐ ์ฒ๋ฆฌ์ ํ ๋ฐ ๋ ๋ค๊ฐ์ฐ์ด์. ๋ ๋ชจ๋ธ์ด ์ด๋ป๊ฒ ์๋ํ๊ณ , ์ด๋ค ์ฐจ์ด์ ์ด ์๋์ง ์์ธํ ์ดํด๋ณด๋ฉด์ ๊ฐ์ฒด ๊ฒ์ถ ๊ธฐ์ ์ ๋ฐ์ ์ ํจ๊ป ๋ฐ๋ผ๊ฐ๋ณด์ธ์! ๐
๐ ๊ฐ์ฒด ๊ฒ์ถ ๋ชจ๋ธ ์ ์ฒด ํฌ์คํ
1. Fast RCNN
Fast RCNN์ RCNN๊ณผ SPPNet์ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด 2015๋ Ross Girshick์ ์ํด ์ ์๋ ๋ชจ๋ธ์ด์์. ์ด ๋ชจ๋ธ์ ๊ฐ์ฒด ๊ฒ์ถ(Object Detection)์ ๋ ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ๋ง๋ค์์ด์. ๊ธฐ์กด์ RCNN์์ ๋ฐ์ํ๋ ์ค๋ณต ๊ณ์ฐ๊ณผ ์๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด, ์ค์ง์ ์ธ ์ฑ๋ฅ ํฅ์์ ์ด๋ค๋์ด์.
Fast RCNN ์๋ ๋ฐฉ์
- ์ด๋ฏธ์ง Feature Extraction
- RCNN์ด๋ SPPNet๊ณผ ๋ฌ๋ฆฌ, Fast RCNN์์๋ ์ด๋ฏธ์ง๋ฅผ CNN์ ํต๊ณผ์์ผ ํ ๋ฒ์ feature map์ ์ถ์ถํด์.
- ์ด ๊ณผ์ ์ ๊ธฐ์กด ๋ชจ๋ธ๋ค์ด ๊ฐ Region Proposal๋ง๋ค CNN์ ๋ฐ๋ณต ์คํํ๋ ๋ฐฉ์๋ณด๋ค ํจ์ฌ ํจ์จ์ ์ด์์.
- RoI Pooling
- Fast RCNN์ Region of Interest (RoI)์ ๋ํด ๊ณ ์ ๋ ํฌ๊ธฐ์ feature๋ฅผ ์ถ์ถํ๊ธฐ ์ํด RoI Pooling ๋ ์ด์ด๋ฅผ ๋์ ํ์ด์.
- RoI Pooling์ SPPNet์ Spatial Pyramid Pooling (SPP)๊ณผ ์ ์ฌํ ๊ฐ๋ ์ด์ง๋ง, ๋ ๊ฐ๋จํ๊ฒ ๊ณ ์ ๋ ํฌ๊ธฐ์ feature๋ฅผ ์ป์ ์ ์๊ฒ ํด์ค๋๋ค.
- ์ด ๋ ์ด์ด๋ ์ถ์ถ๋ feature map์์ ๊ฐ RoI์ ํด๋นํ๋ ๋ถ๋ถ์ ์๋ผ๋ด๊ณ , ์ด๋ฅผ ๊ณ ์ ๋ ํฌ๊ธฐ๋ก ์กฐ์ ํด์ค์.
- End-to-End ํ์ต
- Fast RCNN์ ํต์ฌ ์ฅ์ ์ค ํ๋๋ ๋ชจ๋ ํ์ต ๊ณผ์ ์ด end-to-end๋ก ์ด๋ฃจ์ด์ง๋ค๋ ๊ฑฐ์์.
- RoI Pooling์ ๊ฑฐ์น feature๋ Fully Connected (FC) ๋ ์ด์ด๋ฅผ ํต๊ณผํ๋ฉฐ, ์ดํ ๋ ๊ฐ์ branch๋ก ๋๋ฉ๋๋ค.
- ํ๋๋ Softmax๋ฅผ ์ฌ์ฉํด ๊ฐ์ฒด์ ํด๋์ค๋ฅผ ๋ถ๋ฅํ๊ณ , ๋ค๋ฅธ ํ๋๋ Bounding Box Regressor๋ก ๋ฐ์ค์ ์์น๋ฅผ ์กฐ์ ํด์.
- Fast RCNN์ ๊ธฐ์กด ๋ชจ๋ธ๋ค์ด ๊ฐ๊ฐ์ ๋จ๊ณ์์ ๋ณ๋์ ํ์ต์ด ํ์ํ๋ ๊ฒ๊ณผ ๋ฌ๋ฆฌ, ํ๋์ ๋คํธ์ํฌ๋ก ํตํฉ๋ ํ์ต์ด ๊ฐ๋ฅํฉ๋๋ค.
Fast RCNN์ ๋จ์
Fast RCNN์ RCNN๊ณผ SPPNet์ ๋นํด ํฐ ๋ฐ์ ์ ์ด๋ค์ง๋ง, ์ฌ์ ํ ๋ช ๊ฐ์ง ํ๊ณ๊ฐ ์์ด์:
- Selective Search์ ๋ณ๋ชฉ: Fast RCNN์ ์ฌ์ ํ Selective Search๋ฅผ ์ฌ์ฉํด RoI๋ฅผ ์์ฑํด์. ์ด ๊ณผ์ ์ CPU์์ ์ํ๋๋ฉฐ, ์ฐ์ฐ ์๋๊ฐ ๋๋ฆฌ๊ณ ๋ณ๋ชฉ ํ์์ ์ด๋ํ ์ ์์ด์.
- ์ค์๊ฐ ์ฒ๋ฆฌ ํ๊ณ: Selective Search๋ก ์ธํ ์๋ ๋ฌธ์ ๋๋ฌธ์, Fast RCNN์ ์์ ํ ์ค์๊ฐ ๊ฐ์ฒด ๊ฒ์ถ์๋ ์ ํฉํ์ง ์์์.
2. Faster RCNN
Faster RCNN์ Fast RCNN์ ๋ณ๋ชฉ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด 2015๋ Shaoqing Ren๊ณผ ๊ทธ์ ๋๋ฃ๋ค์ ์ํด ์ ์๋ ๋ชจ๋ธ์ด์์. Faster RCNN์ ๊ฐ์ฒด ๊ฒ์ถ ๊ธฐ์ ์์ ํฐ ๋์ฝ์ ์ด๋ค์ผ๋ฉฐ, Region Proposal Network (RPN)์ด๋ผ๋ ์๋ก์ด ๊ฐ๋ ์ ๋์ ํด ์ฐ์ฐ ์๋๋ฅผ ๋น์ฝ์ ์ผ๋ก ํฅ์์์ผฐ์ด์.
Faster RCNN ์๋ ๋ฐฉ์
- Feature Map Extraction
- Faster RCNN์ ์ฒซ ๋จ๊ณ๋ Fast RCNN๊ณผ ๋์ผํ๊ฒ ์ด๋ฏธ์ง๋ฅผ CNN์ ํต๊ณผ์์ผ feature map์ ์ถ์ถํ๋ ๊ฑฐ์์.
- Region Proposal Network (RPN)
- Faster RCNN์ ๊ฐ์ฅ ํฐ ํ์ ์ ๋ฐ๋ก RPN์ด์์. RPN์ Selective Search๋ฅผ ๋์ฒดํด, GPU์์ ๋น ๋ฅด๊ฒ RoI๋ฅผ ์์ฑํ ์ ์๊ฒ ํด์ค์.
- RPN์ ์์ ํฌ๊ธฐ์ CNN์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ, feature map์์ Anchor Box๋ผ๋ ์ผ์ข ์ ํ๋ณด ์์ญ์ ์์ฑํ๊ณ , ๊ฐ Anchor Box์ ๋ํด ๊ฐ์ฒด๊ฐ ํฌํจ๋ ํ๋ฅ ๊ณผ Bounding Box ์์น ์กฐ์ ์ ์์ธกํด์.
- ์ด ๊ณผ์ ์ ๊ธฐ์กด์ CPU ๊ธฐ๋ฐ Selective Search๋ณด๋ค ํจ์ฌ ๋น ๋ฅด๊ฒ ์ํ๋ผ์.
- RoI Pooling & Classification
- RPN์ด ์์ฑํ RoI๋ RoI Pooling ๋ ์ด์ด๋ฅผ ๊ฑฐ์ณ ๊ณ ์ ๋ ํฌ๊ธฐ์ feature๋ก ๋ณํ๋ผ์.
- ์ดํ, Fast RCNN๊ณผ ๋์ผํ๊ฒ ๋ ๊ฐ์ branch๋ก ๋๋์ด Softmax๋ฅผ ํตํ ๊ฐ์ฒด ๋ถ๋ฅ์ Bounding Box Regression์ ํตํ ์์น ์กฐ์ ์ด ์ด๋ฃจ์ด์ง๋๋ค.
- End-to-End Training
- RPN๊ณผ Fast RCNN ๊ตฌ์กฐ๋ฅผ ํตํฉํด ํ๋์ ๋คํธ์ํฌ์์ ํ์ต์ด ์งํ๋ฉ๋๋ค. ์ด ๋ฐฉ์์ ํ์ต ํจ์จ์ ๊ทน๋ํํ๋ฉฐ, ๋ ์ ํํ ๊ฐ์ฒด ๊ฒ์ถ์ ๊ฐ๋ฅํ๊ฒ ํด์.
- Faster R-CNN์ RPN๊ณผ Fast R-CNN์ ํตํฉํด ํ๋์ ๋คํธ์ํฌ์์ ํ์ต์ด ์งํ๋ฉ๋๋ค.
- ์ด๋ ๋คํธ์ํฌ ๊ตฌ์กฐ๋ฅผ ํตํฉํจ์ผ๋ก์จ End-to-End๋ก ํ์ต์ด ๊ฐ๋ฅํ๊ฒ ๋ง๋ค์ด ์ ์ฒด์ ์ธ ํ์ต ๊ณผ์ ์ ๋จ์ํํ๊ณ , ํจ์จ์ฑ์ ๋์ฌ ๋ ์ ํํ ๊ฐ์ฒด ๊ฒ์ถ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
Faster RCNN์ ๋จ์
Faster RCNN์ ๊ธฐ์กด ๋ชจ๋ธ๋ค์ ๋นํด ๋ง์ ์ฅ์ ์ ๊ฐ์ง๊ณ ์์ง๋ง, ์ฌ์ ํ ๋ช ๊ฐ์ง ๋จ์ ์ด ์์ด์:
- ๋ณต์กํ ํ์ต ๊ณผ์ : End-to-end ํ์ต์ด ๊ฐ๋ฅํ์ง๋ง, ์ด๊ธฐ ํ์ต ๊ณผ์ ์์๋ RPN๊ณผ Fast RCNN ๋ถ๋ถ์ ๊ต๋๋ก ํ์ต์ํค๋ Alternating Training์ด ํ์ํด์. ์ด ๊ณผ์ ์ ๋ณต์กํ๊ณ ์๊ฐ์ด ๋ง์ด ์์๋ ์ ์์ด์.
- ์ค์๊ฐ ์ฒ๋ฆฌ ์ด๋ ค์: Faster RCNN์ ๊ธฐ์กด ๋ชจ๋ธ๋ค๋ณด๋ค ํจ์ฌ ๋น ๋ฅด์ง๋ง, ์ฌ์ ํ ์ค์๊ฐ ๊ฐ์ฒด ๊ฒ์ถ์๋ ์ฝ๊ฐ์ ํ๊ณ๊ฐ ์์ด์. ํนํ, ๋์ ํด์๋์ ์ด๋ฏธ์ง์์ ์ฑ๋ฅ์ด ๋จ์ด์ง ์ ์์ต๋๋ค.
์ค๋์ Fast RCNN๊ณผ Faster RCNN์ด ์ด๋ป๊ฒ ๊ฐ์ฒด ๊ฒ์ถ์ ์๋์ ํจ์จ์ฑ์ ํฌ๊ฒ ๊ฐ์ ํ๋์ง ์์๋ดค์ด์. Fast RCNN์ CNN์ ํจ์จ์ ์ผ๋ก ํ์ฉํด ์ฐ์ฐ ์๋๋ฅผ ๋ํญ ๋์๊ณ , Faster RCNN์ ํ์ ์ ์ธ RPN(Region Proposal Network)์ ๋์ ํด ์ค์๊ฐ ๊ฐ์ฒด ๊ฒ์ถ์ ๊ฐ๊น์์ง๊ฒ ํ์ด์.
์ด ๋ ๋ชจ๋ธ์ ๊ฐ์ฒด ๊ฒ์ถ ๊ธฐ์ ์ด ์ฐ๊ตฌ์ค์ ๋์ด ์ค์ ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ์ฌ์ฉ๋๊ธฐ ์ํ ์ค์ํ ๊ธฐํ์ ๋ง๋ จํ์ด์. ๊ฐ์ฒด ๊ฒ์ถ ๊ธฐ์ ์ ๋ฐ์ ์ด ์ด๋ค ๋ฐฉํฅ์ผ๋ก ํ๋ฌ๊ฐ๊ณ ์๋์ง, ๊ณ์ํด์ ํจ๊ป ์์๊ฐ ๋ด์! ๐