R-CNN(Regions with CNN features)์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ์์ธํ ์ค๋ช ํ๊ฒ ์ต๋๋ค.
- R-CNN (Girshick et al. 2013)*
- Fast R-CNN (Girshick 2015)*
- Faster R-CNN (Ren et al. 2015)*
Section 1: Image Pre-Processing
R-CNN ์ฃผ์ ๋ฌธ์
- ROI(Region Proposal Interest) ์๋ณ: ์ด๋ฏธ์ง์์ ๊ฐ์ฒด
- ROI(Region Proposal Interest) : class ํ๋ฅ ๋ถํฌ ๊ณ์ฐ(ROI์ calss์ ๊ฐ์ฒด๊ฐ ํฌํจ๋ ํ๋ฅ ), ๋ถ๋ฅ ๊ฒฐ๊ณผ ํ๋ฅ ์ด ๊ฐ์ฅ ๋์ class ์ ํ
Section 2: Network Organization
- Head
- Region Proposal Network (RPN)
- Classification Network
Faster R-CNN์ ์ฌ์ ํ๋ จ(pre-trained)๋ ๋คํธ์ํฌ์ ์ฒ์ ๋ช ๋ ์ด์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ ฅ ์ด๋ฏธ์ง์์ ์ ๋งํ ๊ธฐ๋ฅ์ ์๋ณ
- ๋คํธ์ํฌ์ ์ฒ์ ๋ช ๊ฐ์ ๊ณ์ธต์ ๋ค์ํ ๋ฌธ์ ์ ๊ฑธ์ณ ํน์ง์ ์ ๊ตฌ๋ณํ๋ ์์ง ๋ฐ ์์ ์ผ๋ฃฉ๊ณผ ๊ฐ์ ์ผ๋ฐ์ ์ธ ํน์ง์ ๊ฐ์ง
- ๋์ค ๊ณ์ธต์์ ํ์ตํ ๊ธฐ๋ฅ์ ๋ ๋์ ์์ค์ ๋ฌธ์ ๋ณ ๊ธฐ๋ฅ์ ๋๋ค.
์ด๋ฌํ ๋ ์ด์ด๋ ์ ๊ฑฐ๋๊ฑฐ๋ ์ด๋ฌํ ๋ ์ด์ด์ ๊ฐ์ค์น๊ฐ ์ญ์ ํ ๋์ ๋ฏธ์ธ ์กฐ์ ๋ ์ ์์ต๋๋ค.
1) ์ฌ์ ํ๋ จ๋ ๋คํธ์ํฌ์์ ์ด๊ธฐํ๋ ์ฒ์ ๋ช ๊ฐ์ ๋ ์ด์ด๋ "Head" Network๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
2) ๊ทธ๋ฐ ๋ค์ Head Network์์ ์์ฑ๋ Convolution feature map์ ์ผ๋ จ์ ์ปจ๋ณผ๋ฃจ์ ๋ฐ FC layer๋ฅผ ์ฌ์ฉํ์ฌ ์ ๊ฒฝ ๊ฐ์ฒด๋ฅผ ํฌํจํ ๊ฐ๋ฅ์ฑ์ด ์๋ ์ ๋งํ ROI๋ฅผ ์์ฑํ๋ Region Proposal Network(RPN)๋ฅผ ํต๊ณผํฉ๋๋ค(์์์ ์ธ๊ธํ ๋ฌธ์ 1).
์ด๋ฌํ ์ ๋งํ ROI๋ Head Network์์ ์์ฑ๋ feature map์์ ํด๋น ์์ญ์ Cropํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
์ด๊ฒ์ "Crop pulling"์ด๋ผ๊ณ ํฉ๋๋ค. Crop pulling์ ์ํด ์์ฑ๋ ์์ญ์ ๊ฐ ROI์ ํฌํจ๋ ๊ฐ์ฒด๋ฅผ ๋ถ๋ฅํ๋ ๋ฐฉ๋ฒ์ ํ์ตํ๋ Classification Network๋ฅผ ํต๊ณผํฉ๋๋ค.
Section 3: Implementation Details (Training)
Training์ ๋ชฉํ๋ RPN ๋ฐ Classification Network์ ๊ฐ์ค์น๋ฅผ ์กฐ์ ํ๊ณ Head Network์ ๊ฐ์ค์น๋ฅผ ๋ฏธ์ธ ์กฐ์ ํ๋ ๊ฒ์ ๋๋ค. (์ด ๊ฐ์ค์น๋ VGG์ ๊ฐ์ ์ฌ์ ํ๋ จ๋ ๋คํธ์ํฌ์์ ์ด๊ธฐํ๋จ)
RPN ๋คํธ์ํฌ์ ์์ ์ ์ ๋งํ ROI๋ฅผ ์์ฑํ๋ ๊ฒ
๋ถ๋ฅ ๋คํธ์ํฌ์ ์์ ์ ๊ฐ ROI์ ๊ฐ์ฒด ํด๋์ค ์ ์๋ฅผ ํ ๋นํ๋ ๊ฒ
๋ฐ๋ผ์ ์ด๋ฌํ ๋คํธ์ํฌ๋ฅผ ํ๋ จํ๋ ค๋ฉด ํด๋นํ๋ ground truth, ์ฆ ์ด๋ฏธ์ง์ ์๋ ๊ฐ์ฒด ์ฃผ๋ณ์ ๊ฒฝ๊ณ ์์ ์ขํ์ ํด๋น ๊ฐ์ฒด์ ํด๋์ค๊ฐ ํ์ํฉ๋๋ค.
์ด ๊ธฐ๋ณธ ์ ๋ณด๋ ๊ฐ ์ด๋ฏธ์ง์ ๋ํ ์ฃผ์ ํ์ผ๊ณผ ํจ๊ป ์ ๊ณต๋๋ ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฌด๋ฃ๋ก ์ฌ์ฉํ๋ ๋ฐ์ ๋น๋กฏ๋ฉ๋๋ค.
์ด ์ฃผ์ ํ์ผ์๋ ๊ฒฝ๊ณ ์์์ ์ขํ์ ์ด๋ฏธ์ง์ ์๋ ๊ฐ ๊ฐ์ฒด์ ๋ํ ๊ฐ์ฒด ํด๋์ค ๋ ์ด๋ธ์ด ํฌํจ๋ฉ๋๋ค(๊ฐ์ฒด ํด๋์ค๋ ๋ฏธ๋ฆฌ ์ ์๋ ๊ฐ์ฒด ํด๋์ค ๋ชฉ๋ก์์ ๊ฐ์ ธ์ด). ์ด๋ฌํ ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ค์ํ ๊ฐ์ฒด ๋ถ๋ฅ ๋ฐ ๊ฐ์ง ๋ฌธ์ ๋ฅผ ์ง์ํ๋ ๋ฐ ์ฌ์ฉ๋์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋ ๊ฐ์ง ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ฐ์ดํฐ์
- PASCAL VOC: VOC 2007 ๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ 20๊ฐ์ ๊ฐ์ฒด ํด๋์ค์ ๋ํ 24,640๊ฐ์ ์ฃผ์๊ณผ ํจ๊ป 9963๊ฐ์ ๊ต์ก/๊ฒ์ฆ/ํ
์คํธ ์ด๋ฏธ์ง๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
- ์ฌ๋: ์ฌ๋
- ๋๋ฌผ: ์, ๊ณ ์์ด, ์, ๊ฐ, ๋ง, ์
- ์ฐจ๋: ๋นํ๊ธฐ, ์์ ๊ฑฐ, ๋ณดํธ, ๋ฒ์ค, ์๋์ฐจ, ์คํ ๋ฐ์ด, ๊ธฐ์ฐจ
- ์ค๋ด: ๋ณ, ์์, ์ํ, ํ๋ถ, ์ํ, TV/๋ชจ๋ํฐ
- COCO(Common Objects in Context): COCO ๋ฐ์ดํฐ์ ์ ํจ์ฌ ๋ ํฝ๋๋ค. ์ฌ๊ธฐ์๋ 90๊ฐ์ ๊ฐ์ฒด ๋ฒ์ฃผ๊ฐ ์๋ 200K ์ด์์ ๋ ์ด๋ธ์ด ์ง์ ๋ ์ด๋ฏธ์ง๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
Faster R-CNN์ ์์ class๋ฅผ ๊ฐ๊ณ ์๋ PASCAL VOC 2007 ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ฌ์ฉ
Faster R-CNN ํ๋ จ์ ์ํ ๊ตฌํ ์ธ๋ถ ์ ๋ณด
- Anchor Generation Layer: ์ด ๋ ์ด์ด๋ ๋จผ์ ์๋ก ๋ค๋ฅธ scales๊ณผ aspect ratios์ 9๊ฐ anchors๋ฅผ ์์ฑํ ๋ค์ ์
๋ ฅ ์ด๋ฏธ์ง์ ๊ฑธ์ณ ์๋ ๊ท ์ผํ ๊ฐ๊ฒฉ์ grid ์ ์ ๊ฑธ์ณ ๋ณํํ์ฌ ์ด๋ฌํ anchors๋ฅผ ๋ณต์ ํ์ฌ ๊ณ ์ ๋ ์์ "anchors"(bounding box)๋ฅผ ์์ฑํฉ๋๋ค.
- Proposal Layer: bounding box regression coefficients์ ๋ฐ๋ผ anchors๋ฅผ ๋ณํํ์ฌ ๋ณํ๋ anchors๋ฅผ ์์ฑํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ anchors๊ฐ foreground ์์ญ์ผ ํ๋ฅ ์ ์ฌ์ฉํ์ฌ NMS(non-maximum suppression)๋ฅผ ์ ์ฉํ์ฌ anchors ์๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
- Anchor Target Layer: anchors ๋์ ๋ ์ด์ด์ ๋ชฉํ๋ "์ข์" anchors ์ธํธ์ ํด๋น foreground/background ๋ ์ด๋ธ ๋ฐ ๋์ regression coefficients ๋ฅผ ์์ฑํ์ฌ RPN๋ฅผ ํ๋ จ์ํค๋ ๊ฒ์
๋๋ค. ์ด ๊ณ์ธต์ ์ถ๋ ฅ์ RPN ๋คํธ์ํฌ๋ฅผ ํ๋ จํ๋ ๋ฐ๋ง ์ฌ์ฉ๋๋ฉฐ Classification ๊ณ์ธต์์๋ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
์ฃผ์ด์ง ์ต์ปค ์ธํธ(์ต์ปค ์์ฑ ๋ ์ด์ด์์ ์์ฑ, ์ต์ปค ๋์ ๋ ์ด์ด๋ ์ ๋งํ ์ ๊ฒฝ ๋ฐ ๋ฐฐ๊ฒฝ ์ต์ปค๋ฅผ ์๋ณํฉ๋๋ค. ์ ๋งํ ์ ๊ฒฝ ์ต์ปค๋ ์ผ๋ถ ground truth box์ ๊ฒน์น๋ ๊ฒ์ด threshold๋ณด๋ค ๋์ ๊ฒ์ ๋๋ค.
background box๋ ์ด๋ค ๊ฒ๊ณผ๋ ๊ฒน์น๋ ๊ฒ์ ๋๋ค. ground truth box๋ threshold๋ณด๋ค ๋ฎ์ต๋๋ค.์ต์ปค ํ๊ฒ ๋ ์ด์ด๋ ๋ํ Bbox ํ๊ท์ ์ธํธ๋ฅผ ์ถ๋ ฅํฉ๋๋ค. ์ฆ, ๊ฐ ์ต์ปค ํ๊ฒ์ด ๊ฐ์ฅ ๊ฐ๊น์ด Bbox๋ก๋ถํฐ ์ผ๋ง๋ ๋ฉ๋ฆฌ ๋จ์ด์ ธ ์๋์ง ์ธก์ ํฉ๋๋ค. - RPN Loss: RPN loss function๋ RPN ๋คํธ์ํฌ๋ฅผ ํ๋ จ์ํค๊ธฐ ์ํด ์ต์ ํํ๋ ๋์ ์ต์ํ๋๋ ๋ฉํธ๋ฆญ์
๋๋ค. loss function๋ ๋ค์์ ์กฐํฉ์
๋๋ค.
- foreground/background ์ผ๋ก ์ฌ๋ฐ๋ฅด๊ฒ ๋ถ๋ฅ๋ RPN์ ์ํด โโ์์ฑ๋ Bbox์ ๋น์จ
- ์์ธก๋ ํ๊ท ๊ณ์์ ๋์ ํ๊ท ๊ณ์ ์ฌ์ด์ ์ผ๋ถ ๊ฑฐ๋ฆฌ ์ธก์ ๊ฐ์ ๋๋ค.
- Proposal Target Layer: proposal target layer์ ๋ชฉํ๋ proposal ๋ ์ด์ด์์ ์์ฑ๋ ์ต์ปค ๋ชฉ๋ก์ ์ ๋ฆฌ ํ๊ณ ๋ถ๋ฅ ๋ ์ด์ด๋ฅผ ํ๋ จํ์ฌ ์ข์ ํด๋์ค ๋ ์ด๋ธ ๋ฐ ํ๊ท ๋์์ ์์ฑํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ํด๋์ค๋ณ ๊ฒฝ๊ณ ์์ ํ๊ท ๋์์ ์์ฑํ๋ ๊ฒ์
๋๋ค.
- ROI Pooling Layer: ์ ์ ๋์ ๋ ์ด์ด์์ ์์ฑ๋ ์์ญ ์ ์์ ๊ฒฝ๊ณ ์์ ์ขํ๊ฐ ์ฃผ์ด์ง๋ฉด ์
๋ ฅ ๊ธฐ๋ฅ ๋งต์ ์ํ๋งํ๋ ๊ณต๊ฐ ๋ณํ ๋คํธ์ํฌ๋ฅผ ๊ตฌํํฉ๋๋ค. ์ด๋ฌํ ์ขํ๋ ์ผ๋ฐ์ ์ผ๋ก ์ ์ ๊ฒฝ๊ณ์ ์์ง ์์ผ๋ฏ๋ก ๋ณด๊ฐ ๊ธฐ๋ฐ ์ํ๋ง์ด ํ์ํฉ๋๋ค.
- Classification Layer: ๋ถ๋ฅ ๊ณ์ธต์ ROI ํ๋ง ๊ณ์ธต์์ ์์ฑ๋ ์ถ๋ ฅ ๊ธฐ๋ฅ ๋งต์ ๊ฐ์ ธ์ ์ผ๋ จ์ ์ปจ๋ณผ๋ฃจ์
๊ณ์ธต์ ํตํด ์ ๋ฌํฉ๋๋ค. ์ถ๋ ฅ์ ์์ ํ ์ฐ๊ฒฐ๋ ๋ ๊ฐ์ ๋ ์ด์ด๋ฅผ ํตํด ๊ณต๊ธ๋ฉ๋๋ค. ์ฒซ ๋ฒ์งธ ๋ ์ด์ด๋ ๊ฐ ์ง์ญ ์ ์์ ๋ํ ํด๋์ค ํ๋ฅ ๋ถํฌ๋ฅผ ์์ฑํ๊ณ ๋ ๋ฒ์งธ ๋ ์ด์ด๋ ํด๋์ค๋ณ ๊ฒฝ๊ณ ์์ ํ๊ท๊ธฐ ์ธํธ๋ฅผ ์์ฑํฉ๋๋ค.
- Classification Loss: RPN ์์ค๊ณผ ์ ์ฌํ๊ฒ ๋ถ๋ฅ ์์ค์ ๋ถ๋ฅ ๋คํธ์ํฌ๋ฅผ ํ๋ จํ๊ธฐ ์ํด ์ต์ ํํ๋ ๋์ ์ต์ํ๋๋ ๋ฉํธ๋ฆญ์
๋๋ค. ์ญ์ ํ ๋์ ์ค๋ฅ ๊ธฐ์ธ๊ธฐ๋ RPN ๋คํธ์ํฌ์๋ ํ๋ฅด๋ฏ๋ก ๋ถ๋ฅ ๊ณ์ธต์ ํ๋ จํ๋ฉด RPN ๋คํธ์ํฌ์ ๊ฐ์ค์น๋ ์์ ๋ฉ๋๋ค. ์ด ์ ์ ๋ํด์๋ ๋์ค์ ๋ ํ ๋ง์ด ์์ต๋๋ค. ๋ถ๋ฅ ์์ค์ ๋ค์์ ์กฐํฉ์
๋๋ค.
- (์ฌ๋ฐ๋ฅธ ๊ฐ์ฒด ํด๋์ค๋ก) ์ฌ๋ฐ๋ฅด๊ฒ ๋ถ๋ฅ๋ RPN์ ์ํด โโ์์ฑ๋ ๊ฒฝ๊ณ ์์์ ๋น์จ
- ์์ธก๋ ํ๊ท ๊ณ์์ ๋์ ํ๊ท ๊ณ์ ์ฌ์ด์ ์ผ๋ถ ๊ฑฐ๋ฆฌ ์ธก์ ๊ฐ์ ๋๋ค.
์ด์ ์ด๋ฌํ ๊ฐ ๋ ์ด์ด๋ฅผ ์์ธํ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
Section 4: Implementation Details (Inference)
Appendix
์ฐธ๊ณ : TELESENS. Ankur