๐ ๋ณธ ๋ฆฌ๋ทฐ๋ Faster R-CNN ๋ ผ๋ฌธ ๋ฐ ๋ฆฌ๋ทฐ ๋ฑ์ ์ฐธ๊ณ ํด ์์ฑํ์ต๋๋ค. ์ฐธ๊ณ ํ reference๋ ๊ธ ๋ง์ง๋ง ๋จ์ ๊ฐ์ํ๊ฒ ์ต๋๋ค.
Faster R-CNN์ ๊ตฌ์กฐ ๐ RPN
๐ Anchor box
๐ Share Features
๐ time cost-efficient
๐ Fast R-CNN
๐ Loss Function
โ ์ต๊ทผ Region-based CNN(R-CNN)์ object detection ๋ถ์ผ์์ ์ฑ๊ณต์ ์ด์์ต๋๋ค. Fast R-CNN์ R-CNN์์ ๋ ๋์๊ฐ ๊ฑฐ์ real-time rate์ ๊ฐ๊น์์ง๋ ์ฑ๊ณผ๋ฅผ ๋ณด์ฌ์คฌ์ต๋๋ค. (region-proposal์ ์๊ฐ์ ์ ์ธ) ๊ฒฐ๊ตญ ๋ฌธ์ ๋ region-proposal์ ๋ฌธ์ ๋ฅผ ์ด๋ป๊ฒ ํด๊ฒฐํ ์ ์์๊น?. region-proposal์ ๊ฐ์ฅ ํฐ ๋ฌธ์ ๋ CPU๋ฅผ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ ๋ค๋ฉด ํด๊ฒฐ๋ฐฉ์์ ๊ฐ๋จํ๊ฑฐ ๊ฐ์ต๋๋ค. region-proposal์ GPU๋ฅผ ์ฌ์ฉํด ์ถ์ถํ ์ ์๋ค๋ฉด ํด๊ฒฐํ ์ ์์๊ฒ๋๋ค.
โ ๋ณธ ๋ ผ๋ฌธ์์ ์ ์๋ ํด๊ฒฐ๋ฐฉ์์ RPN(Regions Proposal Network)์ ๋๋ค. ๋ณธ ๋ ผ๋ฌธ์ ๊ฐ์ฅ ํต์ฌ์ด ๋๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. RPN์ Fast R-CNN์ conv layer์ ๊ณต์ ์ ํจ์ผ๋ก์จ ์๊ฐ๋น์ฉ์ ์ค์ผ ์ ์์์ต๋๋ค.
โ Faster R-CNN = RPN + Fast R-CNN ๋ผ๊ณ ์ธ๊ธํฉ๋๋ค. ๋ํ ๋ณธ ๋ ผ๋ฌธ์์ ์ ์ํ ๋ฐฉ๋ฒ๋ก ์ object detection์ ์ ํ๋์ ๋น์ฉ ํจ์จ์ ์ธ๋ถ๋ถ์์ ํจ๊ณผ์ ์ด๋ผ๊ณ ์ธ๊ธํฉ๋๋ค.
** herbwood์ velog RPN์ ๋ํด ๊น๋ํ๊ฒ ์ค๋ช ๋์ด ์๋ ๋ธ๋ก๊ทธ ์ ๋๋ค. ์ดํด๊ฐ ์๋์ ๋ค๋ฉด ์ถ์ฒ๋๋ฆฝ๋๋ค.
โ Anchor box๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ reg layer์๋ 4k์ ouput๊ณผ cls layer์๋ 2k์ output์ด ๋์ถ๋ฉ๋๋ค.
โ ๊ฐ Anchor์ ๋ํด ๋ ๊ฐ์ง๋ก ๋ถ๋ฅํฉ๋๋ค.
(1). VGG๋ฅผ ํตํด ํ์ต๋ Feature map(hxwx512)๋ฅผ ์ป๊ณ , 3x3์ conv layer ์ฐ์ฐ์ ์งํํฉ๋๋ค. ์ฐ์ฐ ์งํ ์ Feature map์ ํฌ๊ธฐ๋ฅผ ์ ์ง์ํค๊ธฐ ์ํด padding์ ์ถ๊ฐํฉ๋๋ค.
(2). ๊ฐ๊ฐ์ bbox regression layer์ classification layer์ ์ฐ์ฐ์ ์ํด 1 x 1 conv ์ฐ์ฐ์ ์ถ๊ฐํฉ๋๋ค. ์ด๋ ์ถ๋ ฅ๋๋ Feature map ์ปค๋ ์๋ classification layer์ ๊ฒฝ์ฐ 2 x 9, bbox regression layer์ ๊ฒฝ์ฐ 4 x 9 ๊ฐ ๋๋๋ก ์ค์ ํฉ๋๋ค.
(3). ๊ฒฐ๊ณผ์ ์ผ๋ก W x H x K์ region-proposals์ด ์ถ๋ ฅ๋ฉ๋๋ค. (W x H = feature map์ size) ์ด ํ predict๋ ๊ฒฐ๊ณผ๋ Non-maximum Suppression & RoI sampling์ ๊ฑฐ์ณ Fast R-CNN์ ์ฌ์ฉ๋ฉ๋๋ค.
: mini-batch ๋ด์ anchor์ index
: anchor ๊ฐ Object์ ํฌํจ๋ ์์ธกํ๋ฅ
: anchor๊ฐ positive๋ฉด 1, negative๋ฉด 0
: ์์ธก bounding box์ ํ๋ผ๋ฏธํฐํ๋ ์ขํ
: ground truth box์ ํ๋ผ๋ฏธํฐํ๋ ์ขํ
: Classification loss
: Smooth L1 Loss (R( - ))
: mini-batch์ ํฌ๊ธฐ
: ์ ๊ทํ๋ anchor์ ์
: balance parameter
โ Classification์ object ์ฌ๋ถ๋ง์ ๋ถ๋ฅํ๊ณ , bbox-regression์ Ground Truth box ์์น๋ฅผ ํตํด ์์น๋ฅผ ์์ธกํฉ๋๋ค.(์์ธํ ๋ด์ฉ์ Fast R-CNN ๋ ผ๋ฌธ ์ฐธ๊ณ ๋ถํ๋๋ฆฝ๋๋ค.)
** herbwood์ velog Traing ๊ณผ์ ์ ๋ํด ๊น๋ํ๊ฒ ์ค๋ช ๋์ด ์๋ ๋ธ๋ก๊ทธ ์ ๋๋ค. ์ดํด๊ฐ ์๋์ ๋ค๋ฉด ์ถ์ฒ๋๋ฆฝ๋๋ค.
โ RPN์ ์ญ์ ํ๋ฅผ ํตํด end-to-end ํ์ต์ด ๊ฐ๋ฅํ๋ฉฐ, stochastic gradient descent(SGD)๋ฅผ ์ฌ์ฉํด ํ์ตํ์ต๋๋ค.
โ ๋๋คํ๊ฒ 256 anchors sample์ mini-batch๋ก ์ ์ ํ๊ณ ํ์ตํฉ๋๋ค. sampling ๋ anchors๋ค์ positive์ negative ๋น์จ์ 1:1๋ก ์ง์ ํฉ๋๋ค.
โ ์ด๊ธฐ weights ~ Gaussian(0,0.01), momentum = 0.9, weight decay = 0.0005๋ก ์ค์ ํฉ๋๋ค.
โ RPN๊ณผ Fast R-CNN์ ๋ ๋ฆฝ์ ์ผ๋ก ์ดํ๋๊ธฐ์ ํฉ์ณ์ฃผ๋ ๊ณผ์ ์ด ํ์ํฉ๋๋ค. ์๋์ ๊ณผ์ ์ผ๋ก ์ํ๋๋ค.
(1). Image-pre-trained model๋ก ์ด๊ธฐํํด RPN์ ํ์ต์ํต๋๋ค.
(2). ํ์ต๋ RPN์์ ์ฌ์ฉ๋ proposals์ ์ฌ์ฉํด detection network์ธ Fast R-CNN์ ํ์ตํฉ๋๋ค. Fast R-CNN ์ญ์ Image-pre-trained model๋ก ์ด๊ธฐํํฉ๋๋ค.
(3). RPN training์ ํ์ต๋ detection network๋ก ์ด๊ธฐํํฉ๋๋ค. ๋จ, ๊ณต์ ๋๊ณ ์๋ conv layer์ ๊ณ ์ ์ํจ ํ, ๋๋จธ์ง๋ ๊ณ ์ ํ RPN์ layer๋ง ํ์ต์ํต๋๋ค.
(4). ๊ณต์ conv layer์ ๊ณ ์ ์ํจ ํ ๊ณ ์ ํ Fast R-CNN์ layer๋ง ํ์ต์ํต๋๋ค.