๋ฐ์ํ
Faster R-CNN
Faster R-CNN์ R-CNN ๊ณ์ด์ Object Detection ๋ชจ๋ธ ์ค์์ ๊ฐ์ฅ ์ง๋ณด๋ ๋ชจ๋ธ ์ค ํ๋๋ก, Object Detection ์์ ๋งค์ฐ ๋์ ์ ํ๋์ ํจ์จ์ฑ์ ์ ๊ณตํฉ๋๋ค.
๋ํ Region Proposal Network (RPN)๋ฅผ ๋์ ํ์ฌ ์ ์ฒด ์์คํ ์ ์๋์ ์ ํ๋๋ฅผ ํฌ๊ฒ ํฅ์์์ผฐ์ต๋๋ค.
- Faster R-CNN์ RPN(Region Proposal Network) + Fast R-CNN์ด ํฉ์ณ์ง ๋ชจ๋ธ์ ๋๋ค.
- ๊ธฐ์กด Selective Search๊ฐ ์ํํ๋ Object ์์น์ Bounding Box๋ฅผ ๊ทธ๋ ค์ ์ถ์ฒํฉ๋๋ค. (GPU ์ฌ์ฉ)
- ๋ํ Region Proposal Network๋ฅผ ์ฌ์ฉํฉ๋๋ค. (Selective Search ์ญํ )
- ๊ทธ๋ฆฌ๊ณ Network๋ก๋ง ๊ตฌ์ฑ์ด ๋์๋ค๋ ํน์ง์ด ์์ต๋๋ค.
Faster R-CNN ๊ตฌ์กฐ
ํ๋ฒ Faster R-CNN ๊ตฌ์กฐ์ ๋ฐํ์ฌ ํ๋ฒ ์์๋ณด๊ฒ ์ต๋๋ค.
- ์ฃผ์คํ ํน์ง์ Selective Search๋ฅผ Neural Network ๊ตฌ์กฐ๋ก ๋ณ๊ฒฝ ํ๋ค๋ ํน์ง์ด ์์ต๋๋ค
- ๋ํ GPU ์ฌ์ฉ์ผ๋ก ๋น ๋ฅธ ํ์ต ๋ฐ Inference ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
- *End-to-end Network ํ์ต ๋ฐฉ์์ ์ฑํํ๊ณ ์์ต๋๋ค.
*End-to-end Network๋ ์ ๋ ฅ ๋ฐ์ดํฐ๋ก๋ถํฐ ์ต์ข ์ถ๋ ฅ๊น์ง์ ์ ์ฒด ๊ณผ์ ์ ํ๋์ ๋ชจ๋ธ์ด ์ง์ ์ฒ๋ฆฌํ๋ ์์คํ ์ ์๋ฏธํฉ๋๋ค. ์ด๋ ์ค๊ฐ ๋จ๊ณ์์ ๋ณ๋์ ์์์ , ์ถ๊ฐ์ ์ธ ์ฒ๋ฆฌ ์์ด, ๋ชจ๋ธ์ด ์ฒ์๋ถํฐ ๋๊น์ง ๋ชจ๋ ์์ ์ ์๋์ผ๋ก ์ํํ๋ ๊ฒ์ ๋ปํฉ๋๋ค.
- ๊ทธ๋ฌ๋ฉด ํ๋ฒ ํ๋จ๊ณ ํ๋จ๊ณ ์ค๋ช ํด ๋ณด๊ฒ ์ต๋๋ค.
1. ์ ๋ ฅ ์ด๋ฏธ์ง ์ฒ๋ฆฌ
- ์ ๋ ฅ ์ด๋ฏธ์ง๋ CNN์ ์ ๋ ฅ๋์ด ํน์ง ๋งต์ ์์ฑํฉ๋๋ค.
2. ๊ณตํต CNN ์ ์ฉ
- Convolutional Network: ์
๋ ฅ ์ด๋ฏธ์ง๋ฅผ CNN์ ํต๊ณผ์์ผ ํน์ง ๋งต(feature map)์ ์์ฑํฉ๋๋ค.
- ์ผ๋ฐ์ ์ผ๋ก VGG-16, ResNet๊ณผ ๊ฐ์ ์ฌ์ ํ์ต๋ ๋ชจ๋ธ์ ์ฌ์ฉํฉ๋๋ค.
3. Region Proposal Network (RPN)
- RPN (Region Proposal Network): ํน์ง ๋งต์ ์ ๋ ฅ๋ฐ์ ๊ฐ์ฒด๊ฐ ์์ ๊ฐ๋ฅ์ฑ์ด ๋์ ์์ญ์ ์ ์ํ๋ ์ ๊ฒฝ๋ง์ ๋๋ค.
- RPN์ ์ฌ๋ผ์ด๋ฉ ์๋์ฐ ๋ฐฉ์์ ์ฌ์ฉํ์ฌ ํน์ง ๋งต์ ์ค์บํ๋ฉด์ ๊ฐ ์์น์์ ์ฌ๋ฌ ํฌ๊ธฐ์ ๋น์จ์ ์ต์ปค ๋ฐ์ค(anchor boxes)๋ฅผ ์์ฑํฉ๋๋ค.
- ๊ฐ ์ต์ปค ๋ฐ์ค์ ๋ํด ๊ฐ์ฒด์ผ ๊ฐ๋ฅ์ฑ(objectness score)๊ณผ ๋ฐ์ด๋ฉ ๋ฐ์ค ์ขํ๋ฅผ ์์ธกํฉ๋๋ค.
- ๋์ ๊ฐ์ฒด ๊ฐ๋ฅ์ฑ์ ๊ฐ์ง ์ต์ปค ๋ฐ์ค๋ค์ Region Proposal๋ก ์ ํ๋ฉ๋๋ค.
4. RoI Pooling Layer
- RoI Pooling (Region of Interest Pooling): RPN์์ ์ ์๋ Region Proposal์ RoI Pooling Layer๋ก ์ ๋ฌ๋ฉ๋๋ค.
- RoI Pooling Layer๋ ๊ฐ Region Proposal์ ๊ณ ์ ๋ ํฌ๊ธฐ์ ํผ์ฒ ๋งต์ผ๋ก ๋ณํํฉ๋๋ค.
- ์ด๋ ๋ค์ํ ํฌ๊ธฐ์ Region Proposal์ ๋์ผํ ํฌ๊ธฐ๋ก ๋ณํํ์ฌ ์ดํ ๋จ๊ณ์์ ์ผ๊ด๋ ์ฒ๋ฆฌ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
5. Fully-Connected Layer - FC(์์ ์ฐ๊ฒฐ ์ธต)
- RoI Pooling Layer์ ์ถ๋ ฅ์ ์์ ์ฐ๊ฒฐ ์ธต์ ์ ๋ ฅํ์ฌ ๊ฐ์ฒด์ ํด๋์ค๋ฅผ ์์ธกํ๊ณ , ๋ฐ์ด๋ฉ ๋ฐ์ค ์ขํ๋ฅผ ํ๊ทํฉ๋๋ค.
6. Softmax Clasifier(ํด๋์ค ๋ถ๋ฅ) ๋ฐ Bounding Box Regression(๋ฐ์ด๋ฉ ๋ฐ์ค ํ๊ท)
- Softmax Classifier: ๊ฐ Region Proposal์ ํด๋์ค ํ๋ฅ ์ ์์ธกํฉ๋๋ค.
- ์: Obj1: 0.8, Obj2: 0.1, Obj3: 0.1
- Bounding Box Regression: ๊ฐ Region Proposal์ ๋ฐ์ด๋ฉ ๋ฐ์ค ์ขํ๋ฅผ ์์ธกํฉ๋๋ค. ์ด๋ ๊ฐ์ฒด์ ์ ํํ ์์น๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
Region Proposal Network ๊ตฌํ ์ด์
์ฌ๊ธฐ์ Selective Search๋ฅผ ๋์ฒดํ๊ธฐ ์ํ Region Proposal Network๋ฅผ ๊ตฌํ ์ด์๊ฐ ์์ต๋๋ค.
- ์ผ๋จ Selective Search๋ Edge detect, Color์ ๊ฐ์ ์ถ์ฒํฉ๋๋ค.
- ๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ๋ก ์ฃผ์ด์ง Feature๋ pixel ๊ฐ, Target์ Ground Truth Bounding Box์ธ๋ฐ ์ด๋ฅผ ์ด์ฉํด ์ด๋ป๊ฒ Selective Search ์์ค์ Region Proposal์ ํ ์ ์์ ๊ฒ์ธ๊ฐ? ๋ผ๋ ๊ตฌํ ์ด์๊ฐ ์์ต๋๋ค.
- ์ด๋ Anchor Box๋ผ๋ ๊ฐ๋
์ ์ฌ์ฉํฉ๋๋ค.
- Anchor Box๋ Object๊ฐ ์๋์ง ์๋์ง์ ํ๋ณด Box์ ๊ธฐ์ค์ ์ ํ๋ ์ญํ ์ ํฉ๋๋ค.
Anchor Box ๊ตฌ์ฑ
Anchor Box๋ ๊ฐ์ฒด ํ์ง ๋ชจ๋ธ์์ ์ค์ํ ์ญํ ์ ํ๋ ๊ฐ๋ ์ผ๋ก, ๋ค์ํ ํฌ๊ธฐ์ ๋น์จ(aspect ratio)์ ๋ฐ์ค๋ฅผ ๋ฏธ๋ฆฌ ์ ์ํ์ฌ ์ ๋ ฅ ์ด๋ฏธ์ง์์ ๊ฐ์ฒด์ ์์น๋ฅผ ์ ์ํ๋ ์ญํ ์ ํฉ๋๋ค.
- Anchor Box๋ Size(ํฌ๊ธฐ), Ratio(๋น์จ), Anchor Box์ ๊ฐ์. ์ด๋ ๊ฒ ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
- ์ด 9 ๊ฐ์ Anchor box, 3๊ฐ์ ์๋ก ๋ค๋ฅธ ํฌ๊ธฐ, 3๊ฐ์ ์๋ก ๋ค๋ฅธ ratio๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
- Size(ํฌ๊ธฐ)๋ 128 x 128, 256 x 256, 512 x 512 ์ด๋ ๊ฒ 3๊ฐ์ง ํฌ๊ธฐ๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
- Ratio(๋น์จ)์ 1:1, 1:2, 2:1 3๊ฐ์ง ๋น์จ์ Anchor Box๊ฐ ์์ต๋๋ค.
- ๊ฐ Anchor Box๋ ์ค์์ ์ ๊ธฐ์ค์ผ๋ก ๋ค์ํ ํฌ๊ธฐ์ ๋น์จ๋ก ์์ฑ๋ฉ๋๋ค.
- ์ด๋ ๋ค์ํ ํฌ๊ธฐ์ ๋ชจ์์ ๊ฐ์ฒด๋ฅผ ๊ฐ์งํ ์ ์๋๋ก ๋์์ค๋๋ค.
- 1:1 ๋น์จ์์๋ ์ ์ฌ๊ฐํ ๋ฐ์ค๊ฐ ์์ฑ๋ฉ๋๋ค, Aspect Ratio: 1: ์ ์ฌ๊ฐํ ๋ฐ์ค (์ด๋ก์)
- 1:2 ๋น์จ์์๋ ์ธ๋ก๋ก ๊ธด ๋ฐ์ค๊ฐ ์์ฑ๋ฉ๋๋ค, Aspect Ratio: 0.5: ์ธ๋ก๋ก ๊ธด ๋ฐ์ค (ํ๋์)
- 2:1 ๋น์จ์์๋ ๊ฐ๋ก๋ก ๊ธด ๋ฐ์ค๊ฐ ์์ฑ๋ฉ๋๋ค, Aspect Ratio: 2: ๊ฐ๋ก๋ก ๊ธด ๋ฐ์ค (๋นจ๊ฐ์)
Anchor Box -> Object ์ or ๋ฌด, Region Proposal ์ฐพ๊ธฐ (๋๋ต์ ์ผ๋ก)
Anchor Box ํน์ง
- ์์ ์ฌ์ง์ ์ผ์ชฝ ๋ถ๋ถ์ ๋ณด๋ฉด ์ด๋ฏธ์ง ๋ด์ ๋ค์ํ ํฌ๊ธฐ์ Anchor Box๊ฐ ๋ฐฐ์น๋์ด ์์ต๋๋ค.
- ์ด Anchor Box๋ค์ ๊ณ ์ ๋ ์์น์ ๋ฐ๋ผ์ ๋ฏธ๋ฆฌ ์ ์๋ ํฌ๊ธฐ๋ก ์ค์ ๋์ด ์์ต๋๋ค.
- ์ค๋ฅธ์ชฝ์ Anchor Box 1,2๋ฅผ ๋ณด๋ฉด ์ธ๋ก๋ก ๊ธด, ๊ฐ๋ก๋ก ๊ธด ๋น์จ์ ๋ฐ์ค๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
- ๊ฐ์ด๋ฐ์ ์ ์ Anchor Box์ ์ค์ฌ์ ์ด๋ฉฐ, ์ค์ฌ์ ์ ๊ธฐ์ค์ผ๋ก ์ฌ๋ฌ ํฌ๊ธฐ์ ๋น์จ์ ๋ฐ์ค๊ฐ ๋์ผํ ์์น์ ์ค์ฒฉ๋์ด ์๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
- ์ด๋ ๋์ผํ ์์น์์ ๋ค์ํ ํฌ๊ธฐ์ ํํ์ ๊ฐ์ฒด๋ฅผ ๊ฐ์ง ํ ์ ์์ต๋๋ค.
Image์ Feature Map์์ Anchor Box Mapping
- Anchor Box์ Mapping ๊ณผ์ ์ ์ค๋ช ํด๋ณด๊ฒ ์ต๋๋ค.
- ์๋ณธ ์ด๋ฏธ์ง์ ๊ฐ ์ ์์ ์์ฑ๋ Anchor Box๋ Feature Map์ ๋์๋๋ ์ ์ผ๋ก ๋งคํ๋ฉ๋๋ค.
- ์๋ฅผ ๋ค์ด, ์๋ณธ ์ด๋ฏธ์ง์ 600x1000 ํฝ์ ํฌ๊ธฐ์ ์์ญ์ด 40x60 ํฝ์ ํฌ๊ธฐ์ Feature Map์ผ๋ก ์ถ์๋๋ฉด, ๊ฐ Feature Map ํฝ์ ์ ์๋ณธ ์ด๋ฏธ์ง์ 15x16 ํฝ์ ์์ญ์ ๋ํ๋ ๋๋ค.
- ๊ทธ๋ฆฌ๊ณ CNN(์: VGG, ResNet) ๋ฑ์ Backbone ๋คํธ์ํฌ๋ฅผ ํตํด ์ด๋ฏธ์ง๋ฅผ ํต๊ณผ์ํค๋ฉด ๋ ์์ ํฌ๊ธฐ์ Feature Map์ด ์์ฑ๋ฉ๋๋ค. ์ด Feature Map์ ๊ฐ ์ ์ ์๋ ์ด๋ฏธ์ง์ ํฐ ์์ญ์ ๋ํ๋ ๋๋ค.
- ์๋ฅผ ๋ค์ด, ์๋ณธ ์ด๋ฏธ์ง์ ํฌ๊ธฐ๊ฐ 600 x 1000์ด๋ผ๋ฉด, CNN์ ํต๊ณผํ ํ์ Feature Map ํฌ๊ธฐ๋ 40 x 60์ผ ์ ์์ต๋๋ค.
- ์ด ๊ฒฝ์ฐ, Feature Map์ ๊ฐ ์ ์ ์๋ณธ ์ด๋ฏธ์ง์ 15 x 16 ํฝ์ ์์ญ์ ๋ํ๋ ๋๋ค.
- ์ด ์ฌ์ง์ Anchor Box๋ค์ด ์์ฑ๋ ์ค์ฌ์ ๋ค์ ๋ณด์ฌ์ค๋๋ค.
- ๊ฐ ์ ์ ์ค์ฌ์ ์ผ๋ก ์ฌ์ฉ๋๋ฉฐ, ํด๋น ์ค์ฌ์ ์์ ๋ค์ํ ํฌ๊ธฐ์ ๋น์จ์ Anchor Box๊ฐ ์์ฑ๋ฉ๋๋ค.
- ์์ ์ฌ์ง์ ํ ์ง์ ์์ ์์ฑ๋ ๋ชจ๋ Anchor Box๋ฅผ ๋ณด์ฌ์ค๋๋ค.
- ์ด๋ ์ค์ฌ์ ์ฃผ๋ณ์ ๋ค์ํ ํฌ๊ธฐ์ ๋น์จ์ Anchor Box๊ฐ ์ด๋ป๊ฒ ์์ฑ๋๋์ง๋ฅผ ์๊ฐ์ ์ผ๋ก ์ค๋ช ํฉ๋๋ค.
- ์ผ์ชฝ์ Anchor, ๊ฐ์ด๋ฐ๋ ํ๋์ ์ค์ฌ์ ์ ๊ธฐ์ค์ผ๋ก Anchor๊ฐ ์ด๋ป๊ฒ ์์ฑ์ด ๋๋์ง, ์ค๋ฅธ์ชฝ์ ๋ชจ๋ Anchor๊ฐ ๊ตฌ์ฑ๋์ด ์๋ ์ฌ์ง์ ๋ณด์ฌ์ค๋๋ค.
- ์ ์ฌ์ง์์์ Anchor Box๋ ๋ค์ํ ๋น์จ๊ณผ ํฌ๊ธฐ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ๋นจ๊ฐ์, ์ด๋ก์, ํ๋์ ๋ฐ์ค๊ฐ ๊ฐ๊ฐ ๋ค๋ฅธ ๋น์จ๊ณผ ํฌ๊ธฐ๋ฅผ ๋ํ๋
๋๋ค.
- ๋น์จ: 0.5, 1, 2
- ํฌ๊ธฐ: 128 x 128, 256 x 256, 512 x 512
- ๋น์จ๊ณผ ํฌ๊ธฐ๋ฅผ ์กฐํฉํ์ฌ 9๊ฐ์ Anchor Box๋ฅผ ์์ฑํฉ๋๋ค.
- ๊ฐ ๊ทธ๋ฆฌ๋ ์์น๋ง๋ค 9๊ฐ์ Anchor Box๊ฐ ์์ฑ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ด๋ฏธ์ง์ ํฌ๊ธฐ๊ฐ 800 x 600์ด๊ณ ๊ทธ๋ฆฌ๋์ ํฌ๊ธฐ๊ฐ 16 x 16์ธ ๊ฒฝ์ฐ, ์ด 1900๊ฐ์ ๊ทธ๋ฆฌ๋ ์์น๊ฐ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ด Anchor Box์ ์๋ 1900 x 9 = 17100๊ฐ๊ฐ ๋ฉ๋๋ค.
- ์ด๋ฏธ์ง์ ํฌ๊ธฐ๋ฅผ ๊ณ ์ ๋ stride length๋ก ๋๋์ด ๊ทธ๋ฆฌ๋ ์์น๋ฅผ ๊ณ์ฐํฉ๋๋ค.
- ์ด๋ฏธ์ง๋ฅผ 16 x 16์ stride length๋ก ๋๋ ๊ทธ๋ฆฌ๋ ์์น๋ฅผ ๋ณด์ฌ์ค๋๋ค. ๊ฐ ๊ทธ๋ฆฌ๋ ์์น์์ Anchor Box๊ฐ ์์ฑ๋ฉ๋๋ค.
- ์๋ฅผ ๋ค์ด, stride length๊ฐ 16์ด๋ผ๋ฉด ์ด๋ฏธ์ง์ ํฌ๊ธฐ(800 x 600)๋ฅผ 16์ผ๋ก ๋๋๋ฉด 50 x 37๊ฐ์ ๊ทธ๋ฆฌ๋ ์์น๊ฐ ์์ฑ๋ฉ๋๋ค.
- ๊ทธ๋ฌ๋ ์ค์ ๊ณ์ฐ์์๋ ๋ ์ ๋ฐํ๊ฒ 1900๊ฐ์ ๊ทธ๋ฆฌ๋ ์์น๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
- Anchor Box ๋งคํ
- ๊ฐ ๊ทธ๋ฆฌ๋ ์์น์์ 9๊ฐ์ Anchor Box๋ฅผ ์์ฑํ์ฌ ์ด๋ฏธ์ง ์ ์ฒด๋ฅผ ๋ฎ์ต๋๋ค.
- ์ด๋ ์ด๋ฏธ์ง ๋ด์ ๋ชจ๋ ์์น์ ๋ํด ๋ค์ํ ํฌ๊ธฐ์ ๋น์จ์ ๊ฐ์ฒด๋ฅผ ํ์งํ ์ ์๋๋ก ํฉ๋๋ค.
- ์ด๋ฏธ์ง ์ ์ฒด์์ ์์ฑ๋ Anchor Box๋ฅผ ์๊ฐ์ ์ผ๋ก ๋ํ๋ ๋๋ค. ๋นจ๊ฐ์์ผ๋ก ํ์๋ ์์ญ์ด ์ด๋ฏธ์ง ์ ์ฒด๋ฅผ ๋ฎ๋ Anchor Box๋ฅผ ๋ํ๋ ๋๋ค.
- ์ด 1900๊ฐ์ ๊ทธ๋ฆฌ๋ ์์น์ ๊ฐ ์์น์์ 9๊ฐ์ Anchor Box๊ฐ ์์ฑ๋์ด, ์ด 17,100๊ฐ์ Anchor Box๊ฐ ์ด๋ฏธ์ง ๋ด์ ๊ฐ์ฒด๋ฅผ ํ์งํ ์ค๋น๊ฐ ๋ฉ๋๋ค.
- ์ผ๋ถ ๋ฐ์ค๋ ์ด๋ฏธ์ง ๊ฒฝ๊ณ๋ฅผ ๋ฒ์ด๋ ์ ์์ง๋ง, ์ด๋ ๋คํธ์ํฌ๊ฐ ์ ์ ํ๊ฒ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
Region Proposal Network (RPN) ๊ฐ์
์๋ ์ฌ์ง์ Faster R-CNN ๋ชจ๋ธ์์ RPN์ด ์ด๋ป๊ฒ ์๋ํ๋์ง๋ฅผ ์๊ฐ์ ์ผ๋ก ๋ณด์ฌ์ค๋๋ค.
RPN(Region Proposal Network)๋ ๊ธฐ์กด์ Selective Search๊ฐ ์ํํ๋ Object ์์น์ Bounding Box๋ฅผ ๊ทธ๋ ค์ ์ถ์ฒํ๋ ์ญํ ์ ํฉ๋๋ค.
- ์๋ณธ ์ด๋ฏธ์ง
- ์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ ์๋ณธ ์ด๋ฏธ์ง๋ฅผ ๋คํธ์ํฌ์ ์ ๋ ฅํ๋ ๊ฒ์ ๋๋ค.
- Feature Extractor (VGG ๋ฑ)
- ์ ๋ ฅ ์ด๋ฏธ์ง๊ฐ VGG์ ๊ฐ์ ์ฌ์ ํ๋ จ๋ CNN(Convolutional Neural Network)์ ์ํด ์ฒ๋ฆฌ๋์ด, ๊ณ ์์ค์ Feature Map(ํน์ง ๋งต)์ด ์์ฑ๋ฉ๋๋ค.
- VGG๋ ์ด๋ฏธ์ง๋ฅผ ์ฌ๋ฌ ์ธต์ผ๋ก ๋ถ์ํ์ฌ ๋ค์ํ ์์ค์ Feature(ํน์ง)์ ์ถ์ถํฉ๋๋ค.
- Feature Map (ํน์ง ๋งต)
- VGG๋ฅผ ํต๊ณผํ ๊ฒฐ๊ณผ๋ก ์์ฑ๋ Feature Map(ํน์ง ๋งต)์ ๋๋ค.
- ์ด Feature Map(ํน์ง ๋งต)์ ์ด๋ฏธ์ง์ ์ค์ํ ์๊ฐ์ ์ ๋ณด๋ฅผ ๋ด๊ณ ์์ผ๋ฉฐ, ํ์ ๋จ๊ณ์์ RPN(Region Proposal Network)์ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
- RPN (Region Proposal Network)
- RPN (Region Proposal Network)์ Feature Map(ํน์ง ๋งต)์ ๋ฐ์์ ๋ฌผ์ฒด๊ฐ ์กด์ฌํ ๊ฐ๋ฅ์ฑ์ด ๋์ Region Proposal(ํ๋ณด ์์ญ)์ ์์ฑํฉ๋๋ค.
- RPN (Region Proposal Network)์ Sliding Window ๋ฐฉ์์ ์ฌ์ฉํ์ฌ Feature Map(ํน์ง ๋งต)์ ๋ชจ๋ ์์น์ ๋ค์ํ ํฌ๊ธฐ์ ๋น์จ์ ์ต์ปค ๋ฐ์ค(Anchor Box)๋ฅผ ๋์ต๋๋ค.
- ๊ฐ Anchor Box๋ ๋ฌผ์ฒด๊ฐ ์กด์ฌํ ๊ฐ๋ฅ์ฑ์ ์ ์๋ก ๋งค๊ธฐ๋ฉฐ, ํ๋ณด ์์ญ์ ์ ํํ ์์น๋ฅผ ๋ณด์ ํฉ๋๋ค.
- ์์ญ ์ถ์ฒ (Region Proposal)
- RPN์์ ๋์ ์ ์๋ฅผ ๋ฐ์ Region Proposal(ํ๋ณด ์์ญ)๋ค์ด ์ต์ข Region Proposal๋ก ์ ํ๋ฉ๋๋ค.
- ์ด ๊ณผ์ ์์ Non-Maximum Suppression, NMS(๋น์ต๋ ์ต์ ) ๊ธฐ์ ์ด ์ ์ฉ๋์ด ๊ฒน์น๋ ๋ฐ์ค ์ค์์ ๊ฐ์ฅ ํ์คํ ๋ฐ์ค๋ง ๋จ๊น๋๋ค.
- ์ต์ข ์ ์ผ๋ก ์ ํ๋ ์์ญ๋ค์ ๋ค์ ๋จ๊ณ์ธ Object Detection(๊ฐ์ฒด ํ์ง) ๋ฐ Clasification Network(๋ถ๋ฅ ๋คํธ์ํฌ)๋ก ์ ๋ฌ๋ฉ๋๋ค.
Region Proposal Network (RPN) ๊ตฌ์กฐ
RPN (Region Proposal Network)์ ๊ตฌ์กฐ์ ๋ฐํ์ฌ ์์ธํ ์ค๋ช ํด ๋ณด๊ฒ ์ต๋๋ค.
- Feature Map
- CNN์ ํต๊ณผํ ํ ์์ฑ๋ 40x50 ํฌ๊ธฐ์ Feature Map(ํน์ง ๋งต)์ ๋๋ค.
- ์ด Feature Map(ํน์ง ๋งต)์ ์๋ณธ ์ด๋ฏธ์ง์ ๊ณ ์์ค ํน์ง์ ๋ํ๋ ๋๋ค.
- 3x3 Convolution 512 Channel
- 3x3 ํฌ๊ธฐ์ Filter์ 512๊ฐ์ Channel์ ๊ฐ๋ Convolution Layer๊ฐ Feature Map(ํน์ง ๋งต)์ ์ ์ฉ๋ฉ๋๋ค.
- ์ด Layer๋ Feature Map(ํน์ง ๋งต)์ ๋ ๋ณต์กํ ํจํด์ ํ์ตํ์ฌ Region Proposal(ํ๋ณด ์์ญ)์ ๋ ์ ํํ๊ฒ ์ ์ํ ์ ์๊ฒ ํฉ๋๋ค.
- 1x1 Fully Convolutional Layer
- 3x3 Convolution Layer๋ฅผ ๊ฑฐ์น ๊ฒฐ๊ณผ๋ฅผ 1x1 ํฌ๊ธฐ์ filter๋ฅผ ๊ฐ๋ ๋ ๊ฐ์ Fully-Connected Layer๋ก ์ ๋ฌํฉ๋๋ค.
- Softmax Classification
- ์ฒซ ๋ฒ์งธ ๋ ์ด์ด๋ ์ํํธ๋งฅ์ค ๋ถ๋ฅ๋ฅผ ์ํํ์ฌ ๊ฐ Region Proposal(ํ๋ณด ์์ญ)์ด ๋ฌผ์ฒด(FG, Foreground)์ธ์ง ๋ฐฐ๊ฒฝ(BG, Background)์ธ์ง ํ๋จํ๊ณ ํ๋ฅ ๋ก ์ถ๋ ฅํฉ๋๋ค.
- ๋์ ํ๋ฅ ์ ๊ฐ์ง Anchor๋ ๋ฌผ์ฒด๊ฐ ์กด์ฌํ ๊ฐ๋ฅ์ฑ์ด ๋์ ์์ญ์ผ๋ก ์ ํ๋ฉ๋๋ค.
- Bounding Box Regression
- ๋ ๋ฒ์งธ ๋ ์ด์ด๋ Bounding Box Regression(๊ฒฝ๊ณ ์์ ํ๊ท)๋ฅผ ์ํํ์ฌ Region Proposal(ํ๋ณด ์์ญ)์ ์ ํํ ์์น(x1, y1, w, h)๋ฅผ ๋ณด์ ๋ฐ ๊ฐ Anchor์ ์ ํํ ์์น์ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํฉ๋๋ค.
- ์ด๋ ๊ฐ Anchor์ ์ค์ฌ ์ขํ(x, y)์ ํฌ๊ธฐ(w, h)๋ฅผ ์กฐ์ ํ์ฌ ๋ ์ ํํ Region Proposal(ํ๋ณด ์์ญ)์ ์์ฑํฉ๋๋ค.
RPN ๊ตฌ์กฐ (๋ถ๊ฐ ์ค๋ช )
- CNN์ ํตํด ๋ฝ์๋ธ Feature Map ์ ์ ๋ ฅ์ผ๋ก ๋ฐ์ต๋๋ค. ์ด ๋, Feature Map์ ํฌ๊ธฐ๋ฅผ H x W x C๋ก ์ก์ต๋๋ค. ๊ฐ๊ฐ ๊ฐ๋ก, ์ธ๋ก, ์ฑ๋ ์ ์ ๋๋ค.
- Feature Map์ 3x3 Convoultion์ 256 ํน์ 512 ์ฑ๋๋งํผ ์ํํฉ๋๋ค. ์ ๊ทธ๋ฆผ์์ intermediate layer์ ํด๋นํฉ๋๋ค.
- ์ด ๋, padding์ 1๋ก ์ค์ ํด์ค์ H x W๊ฐ ๋ณด์กด๋ ์ ์๋๋ก ํด์ค๋๋ค.
- intermediate layer ์ํ ๊ฒฐ๊ณผ H x W x 256 or H x W x 512 ํฌ๊ธฐ์ ๋ ๋ฒ์งธ Feature Map์ ์ป์ต๋๋ค.
- ๋ ๋ฒ์งธ Feature Map์ ์ ๋ ฅ ๋ฐ์์ classification๊ณผ bounding box regression ์์ธก ๊ฐ์ ๊ณ์ฐํด์ค์ผ ํฉ๋๋ค.
- ์ด ๋ ์ฃผ์ํด์ผ ํ ์ ์ Fully Connected Layer๊ฐ ์๋๋ผ 1 x 1 Convoultion์ ์ด์ฉํ์ฌ ๊ณ์ฐํ๋ Fully Convolution Network์ ํน์ง์ ๊ฐ์ต๋๋ค.
- ์ด๋ ์ ๋ ฅ ์ด๋ฏธ์ง์ ํฌ๊ธฐ์ ์๊ด์์ด ๋์ํ ์ ์๋๋ก ํ๊ธฐ ์ํจ์ ๋๋ค.
- ๋จผ์ Classification์ ์ํํ๊ธฐ ์ํด์ 1 x 1 Convoultion์ (Object ์ธ์ง ์๋์ง ๋ํ๋ด๋ ์งํ ์) x 9(Anchor ๊ฐ์) ์ฒด๋ ์ ๋งํผ ์ํํด์ฃผ๋ฉฐ, ๊ทธ ๊ฒฐ๊ณผ๋ก H x W x 18 ํฌ๊ธฐ์ Feature Map์ ์ป์ต๋๋ค.
- H x W ์์ ํ๋์ ์ธ๋ฑ์ค๋ Feature Map ์์ ์ขํ๋ฅผ ์๋ฏธํ๊ณ , ๊ทธ ์๋ 18๊ฐ์ ์ฑ๋์ ๊ฐ๊ฐ ํด๋น ์ขํ๋ฅผ Anchor ์ผ์ 9๊ฐ์ Anchor Box ๋ค์ด object์ธ์ง ์๋์ง์ ๋ํ ์์ธก ๊ฐ์ ๋ด๊ณ ์์ต๋๋ค
- ์ฆ, ํ๋ฒ์ 1x1 Convoultion์ผ๋ก H x W์ ํด๋น ์ขํ๋ค์ ๋ํ Predict์ ๋ชจ๋ ์ํํ ๊ฒ์ ๋๋ค.
- ์ด์ ์ด ๊ฐ์ ์ ์ ํ reshape ํด์ค ๋ค์ Softmax๋ฅผ ์ ์ฉํ์ฌ ํด๋น Anchor๊ฐ Object์ผ ํ๋ฅ ์ ์ป์ต๋๋ค.
- ๋ ๋ฒ์งธ๋ก Bounding Box Regression ์์ธก ๊ฐ์ ์ป๊ธฐ ์ํ 1 x 1 ์ปจ๋ณผ๋ฃจ์
์ (4 x 9) ์ฒด๋ ์ ๋งํผ ์ํํฉ๋๋ค.
- Regression(ํ๊ท)์ด๊ธฐ ๋๋ฌธ์ ๊ฒฐ๊ณผ๋ก ์ป์ ๊ฐ์ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
- ์ด์ ์์ ์ป์ ๊ฐ๋ค๋ก RoI๋ฅผ ๊ณ์ฐํด์ค๋๋ค. ๋จผ์ Classification์ ํตํด ์ป์ ๋ฌผ์ฒด์ผ ํ๋ฅ ๊ฐ์ ์ ๋ ฌํ ๋ค์, ๋์ ์์ผ๋ก K๊ฐ์ Anchor๋ฅผ ์ถ๋ ค๋
๋๋ค.
- ์ด K๊ฐ์ Anchor๋ค์ ๊ฐ๊ฐ Bounding Box regression์ ์ ์ฉํด์ค๋๋ค. ๊ทธ ๋ค์ Non-Maximum-Suppression์ ์ ์ฉํ์ฌ RoI๋ฅผ ๊ตฌํด์ค๋๋ค.
feature map์ ๋คํธ์ํฌ์ ๊ฐ ์ธต์์ ์ ๋ ฅ ๋ฐ์ดํฐ์ ๋ํด ์ ์ฉ๋ filter์ ์ถ๋ ฅ์ ๋ํ๋ ๋๋ค.
Anchor Box์ Predicted Anchor Box
- ์์ Predicted ๋ Anchor Box๋ค์ ๋ณด๋ฉด, ์ด๋ ํ Anchor Box๊ฐ Object์ ์ผ๋ง๋ ๊ฒน์ง๋์ง๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ด ๋๋ค.
- ์ฆ, ์ด๋ค Anchor Box๊ฐ Object๊ฐ ์์ ํ๋ฅ , ๋ฌผ์ฒด(FG, Foreground)์ธ์ง ๋ฐฐ๊ฒฝ(BG, Background)์ธ์ง ํ๋จํฉ๋๋ค.
Region Proposal Network (RPN) Output
- Region Proposal Network (RPN)์ Output์ 3x3 Convolution, 512 Channel์ธ Layer๋ฅผ ๊ฑฐ์ณ์ 2๊ฐ์ 1x1 ํฌ๊ธฐ์ filter๋ฅผ ๊ฐ๋ Fully-Connected Layer๋ก ์ ๋ฌํฉ๋๋ค.
- Softmax Classification (1x1 Fully Convolutional Layer, 2x9 Output Channel)
- ์ฒซ ๋ฒ์งธ ๋ ์ด์ด๋ ์ํํธ๋งฅ์ค ๋ถ๋ฅ๋ฅผ ์ํํ์ฌ ๊ฐ Region Proposal(ํ๋ณด ์์ญ)์ด ๋ฌผ์ฒด(FG, Foreground)์ธ์ง ๋ฐฐ๊ฒฝ(BG, Background)์ธ์ง ํ๋จํ๊ณ ํ๋ฅ ๋ก ์ถ๋ ฅํฉ๋๋ค.
- ๋์ ํ๋ฅ ์ ๊ฐ์ง Anchor๋ ๋ฌผ์ฒด๊ฐ ์กด์ฌํ ๊ฐ๋ฅ์ฑ์ด ๋์ ์์ญ์ผ๋ก ์ ํ๋ฉ๋๋ค.
- Bounding Box Regression (1x1 Fully Convolutional Layer, 4x9 Output Channel)
- ๋ ๋ฒ์งธ ๋ ์ด์ด๋ Bounding Box Regression(๊ฒฝ๊ณ ์์ ํ๊ท)๋ฅผ ์ํํ์ฌ Region Proposal(ํ๋ณด ์์ญ)์ ์ ํํ ์์น(x1, y1, w, h)๋ฅผ ๋ณด์ ๋ฐ ๊ฐ Anchor์ ์ ํํ ์์น์ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํฉ๋๋ค.
- ์ด๋ ๊ฐ Anchor์ ์ค์ฌ ์ขํ(x, y)์ ํฌ๊ธฐ(w, h)๋ฅผ ์กฐ์ ํ์ฌ ๋ ์ ํํ Region Proposal(ํ๋ณด ์์ญ)์ ์์ฑํฉ๋๋ค.
Positive Anchor Box, Negative Anchor Box
- Ground Truth BB(Bounding Box)๊ฐ ๊ฒน์น๋ IOU ๊ฐ์ ๋ฐ๋ผ Anchor Box๋ฅผ Positive Anchor Box, Negative Anchor box ๋ก ๋ถ๋ฅํฉ๋๋ค.
- IOU๊ฐ 0.7 ์ด์์ด๋ฉด Positive
- IOU๊ฐ ๊ฐ์ฅ ๋์ Anochor๋ Positive
- IOU๊ฐ 0.3๋ณด๋ค ๋ฎ์ผ๋ฉด Negative๋ก ํ๋ณํฉ๋๋ค.
- ๊ทธ๋ฆฌ๊ณ IOU๊ฐ 0.3 ~ 0.7, ์ฆ ๋ถ๋ฅํ๊ธฐ ์ ๋งคํ ์ ๋ค์ ์์ out ์์ผ๋ฒ๋ฆฝ๋๋ค.
Iou: Bounding Box๋ฅผ ํตํด์ Ground Truth์ ์์ธก๊ฐ์ด ์ผ๋ง๋ ๋ง์ ๋จ์ด์ง๋ ์งํ์ ๋๋ค.
Anchor box ๋ฅผ Reference๋ก ํ Bounding Box Regression
- ์์ธก Anchor box๋ Positive Anchor box์์ ์ขํ๊ฐ ์ฐจ์ด๋ฅผ ์ต์ํํ ์ ์๋ Bounding Box Regression์ ์ํํฉ๋๋ค.
RPN Classification๊ณผ Bounding Box Regression
RPN ๋ถ๋ฅ์ Bounding Box ํ๊ท์ ๋ฐํ์ฌ ์ค๋ช ํด ๋ณด๊ฒ ์ต๋๋ค.
RPN ๋ถ๋ฅ (Classification)
- Anchor Box(์ต์ปค ๋ฐ์ค)
- Positive Anchor: ์ค์ ๊ฐ์ฒด๋ฅผ ํฌํจํ๋ Ground Truth ๋ฐ์ค์ ๋์ IoU(Intersection over Union)๋ฅผ ๊ฐ์ง๋ Anchor Box(์ต์ปค ๋ฐ์ค)์ ๋๋ค. Positive Anchor๋ ์ ์ฌ์ ์ธ ๊ฐ์ฒด ์์ญ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
- Negative Anchor: Ground Truth ๋ฐ์ค์ ๋ฎ์ IoU๋ฅผ ๊ฐ์ง๋ Anchor Box(์ต์ปค ๋ฐ์ค)๋ค์ ๋๋ค. Negative ์ต์ปค๋ ๋ฐฐ๊ฒฝ ์์ญ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
- Classification(๋ถ๋ฅ) ๊ณผ์ :
- ๊ฐ Anchor Box(์ต์ปค ๋ฐ์ค)์ ๋ํด ๋คํธ์ํฌ๋ ์ด๋ฅผ "์ ๊ฒฝ(๊ฐ์ฒด)" ๋๋ "๋ฐฐ๊ฒฝ(๋น๊ฐ์ฒด)"์ผ๋ก ๋ถ๋ฅํฉ๋๋ค.
- Classification Loss Function (๋ถ๋ฅ ์์ค ํจ์)๋ ๋ณดํต ์ํํธ๋งฅ์ค(softmax) ๋๋ ์๊ทธ๋ชจ์ด๋(sigmoid) ์์ค๋ก, ๋คํธ์ํฌ๊ฐ ์ ๊ฒฝ๊ณผ ๋ฐฐ๊ฒฝ์ ๊ตฌ๋ถํ๋๋ก ํ๋ จํฉ๋๋ค.
๋ฐ์ด๋ฉ ๋ฐ์ค ํ๊ท (Bounding Box Regression)
- Ground Truth ๋ฐ์ค: ์ด๋ฏธ์ง์์ Object๋ฅผ ์ ํํ ๋๋ฌ์ธ๋ ์ค์ Bounding Box ์ ๋๋ค.
- ์์ธก๋ Anchor Box(์ต์ปค ๋ฐ์ค)
- ๋คํธ์ํฌ๋ Anchor Box(์ต์ปค ๋ฐ์ค)์ค๋ฅผ Ground Truth ๋ฐ์ค์ ๋ ์ ๋ง๋๋ก ์กฐ์ ํ๊ธฐ ์ํ ์์ธก๊ฐ์ ์์ฑํฉ๋๋ค.
- ์ด ์กฐ์ ๊ฐ์ ์ผ๋ฐ์ ์ผ๋ก Δx, Δy ,Δw, Δh๋ก ํํ๋๋ฉฐ, Anchor Box(์ต์ปค ๋ฐ์ค)๋ฅผ Ground Truth ๋ฐ์ค์ ๋ง์ถ๊ธฐ ์ํ ์ด๋ ๋ฐ ์ค์ผ์ผ๋ง ๊ฐ์ ๋ํ๋ ๋๋ค.
- Regression(ํ๊ท) ๊ณผ์ :
- ๋คํธ์ํฌ๋ ์ด๋ฌํ ์กฐ์ ๊ฐ์ ์ฌ์ฉํ์ฌ ์ต์ปค ๋ฐ์ค๋ฅผ ๋ ์ ํํ๊ฒ Ground Truth ๋ฐ์ค์ ๋ง์ถฅ๋๋ค.
- Bounding Box Regression Loss Function (๋ฐ์ด๋ฉ ๋ฐ์ค ํ๊ท ์์ค ํจ์)๋ ๋ณดํต smooth L1 Loss๋ก, ๋คํธ์ํฌ๊ฐ ์ ํํ๊ฒ ์ด ์กฐ์ ๊ฐ์ ์์ธกํ๋๋ก ํ๋ จํฉ๋๋ค.
Anchor Box์ ๋ฐ๋ฅธ RPN Output
ํ๋ฒ Anchor Box์ ๋ฐ๋ฅธ Region Proposal Network(RPN)์ Output์ ๋ฐํ์ฌ ์์๋ณด๊ฒ ์ต๋๋ค.
- Convolution Feature Map์์ Feature Map์ ์ด๋ํ๋ฉฐ ๊ฐ ์์น๋ง๋ค Region Proposal(์ ์๋ ์์ญ)์ ์์ฑํฉ๋๋ค.
- ๋ํ Sliding WIndow ๋ฐฉ์์ ์ด์ฉํด์ ๊ฐ ์์น์ ๊ธฐ์ค์ ์์ ๊ณ ์ ๋ ํฌ๊ธฐ์ Window๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ์ด๋ ๊ฐ Sliding Window ์์น์์ ์ฌ๋ฌ๊ฐ์ ํฌ๊ธฐ & ๋น์จ์ ๊ฐ์ง Anchor Box๋ฅผ ์์ฑํฉ๋๋ค.
- ๊ทธ๋ฆฌ๊ณ ์ค๊ฐ ๊ณ์ธต์ธ Sliding Window๋ก ์ถ์ถ๋ ๊ฐ ์์น์ ์ ๋ณด๋ฅผ 256์ฐจ์์ Vector๋ก ๋ณํํ๋ Intermeidate Layer๋ฅผ ๊ฑฐ์นฉ๋๋ค.
- ์ด๋, VGG Network๋ฅผ ์ฌ์ฉํ ์, Intermeidate Layer๋ 512์ฐจ์์ Vector๋ฅผ ๊ฐ์ง๋๋ค.
- ๋ํ ์ด์ , Intermeidate Layer๋ฅผ ๊ฑฐ์น๋ฉด Classification(๋ถ๋ฅ), Regression(ํ๊ท) ๊ณ์ธต์ผ๋ก ๋ค์ด๊ฐ๋๋ค.
- Classification(๋ถ๋ฅ) Layer (2 x 9) ์์๋ ๊ฐ Anchor Box๊ฐ ๊ฐ์ฒด์ธ์ง ์๋์ง ์ฌ๋ถ๋ฅผ ํ๋จํ๋ 2k๊ฐ์ ์ ์(score)๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
- ์ฌ๊ธฐ์ k๋ Anchor Box์ ์๋ฅผ ์๋ฏธํฉ๋๋ค.
- Regression(ํ๊ท) Layer (4 x 9)์์๋ ๊ฐ Anchor Box๋ฅผ ์ค์ ๊ฐ์ฒด์ ๋ ์ ๋ง์ถ๊ธฐ ์ํด ์กฐ์ ํ๋ 4k๊ฐ์ ์ขํ๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
- ์ด ์ขํ๋ค์ ์ต์ปค ๋ฐ์ค๋ฅผ ์ด๋ ๋ฐ ์ค์ผ์ผ๋งํ๊ธฐ ์ํ ๊ฐ๋ค์ ๋ํ๋ ๋๋ค. ๋ณดํต ์ผ๋ฐ์ ์ผ๋ก Δx, Δy ,Δw, Δh๋ก ํํ ๋ฉ๋๋ค.
RPN Loss Function
- RPN(Region Proposal Network)์ ์์ค ํจ์๋ ๋ฌผ์ฒด ํ์ง์ ์ ํ๋๋ฅผ ๋์ด๊ธฐ ์ํด Classification Loss (๋ถ๋ฅ ์์ค)๊ณผ Regression Loss (ํ๊ท ์์ค)์ ๊ฒฐํฉํ ํํ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
- Classification Loss (๋ถ๋ฅ ์์ค): Lcls
- ๊ฐ Anchor Box๊ฐ ๋ฌผ์ฒด๋ฅผ ํฌํจํ๋์ง ์ฌ๋ถ๋ฅผ ์์ธกํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
- ์์ธก ํ๋ฅ pi ์ ์ค์ ๊ฐ pi* ์ฌ์ด์ ์์ค์ ๊ณ์ฐํฉ๋๋ค.
- ์์ธก ๊ฐ์ด ์ค์ ๊ฐ๊ณผ ์ผ๋ง๋ ์ผ์นํ๋์ง๋ฅผ ์ธก์ ํฉ๋๋ค.
- Regression Loss (ํ๊ท ์์ค): Lsmooth1
- ๋ฌผ์ฒด๋ฅผ ํฌํจํ๋ Anchor Box์ ์ขํ๋ฅผ ์กฐ์ ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
- ์์ธก๋ ์ขํ ti ์ ์ค์ ์ขํ ti*์ฌ์ด์ ์ฐจ์ด๋ฅผ ๊ณ์ฐํฉ๋๋ค.
- Anchor Box๋ฅผ ์ค์ Object์ ๋ง๊ฒ ์กฐ์ ํ์ฌ ๋ ์ ํํ Border Box ๋ฅผ ์์ฑํฉ๋๋ค.
- Normalization (์ ๊ทํ): Ncls & Nbox
- ์์ค ๊ฐ์ Mini-Batch Size Ncls ์ Box ๊ฐ์ Nbox ๋ก ๋๋์ด Normalization ํฉ๋๋ค.
- ์ด๋ก ์ธํด ํ์ต์ด ์์ ์ ์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ก ํฉ๋๋ค.
- Balancing Parameter (๋ฐธ๋ฐ์ฑ ํ๋ผ๋ฏธํฐ):
- Classification Loss (๋ถ๋ฅ ์์ค)๊ณผ Regression Loss (ํ๊ท ์์ค)์ฌ์ด์ ๊ท ํ์ ๋ง์ถ๊ธฐ ์ํ parameter์ ๋๋ค.
- Classification Loss (๋ถ๋ฅ ์์ค)๊ณผ Regression Loss (ํ๊ท ์์ค)์ ๋น์ค์ ์กฐ์ ํ์ฌ ์ต์ ์ ํ์ต ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋๋ก ํฉ๋๋ค.
RPN Training & Region Proposal ์์ญ Filtering
- RPN Training ๋ฐฉ์์ ์์์ ์ ๋ง์ด ์ค๋ช ์ ํ์ผ๋๊น ์๋ตํ๊ฒ ์ต๋๋ค.
- ๋ค๋ง ์ฐ๋ฆฌ๊ฐ Region Proposal ์์ญ Filtering์ ํ ๋ For Ground์ ๋ฐ๋ผ์ ๋๊น๋๋ค.
- ์ด๋ FG๋ง ์ฐพ์ผ๋ฉด ๋ฐ๋ก ๋๊น๋๋ค.
์์ธก Region Proposal Box์ Objectness Score
Objectness Score: ์์ธก Box๊ฐ Object ์ผ ํ๋ฅ (Softmax ๊ฐ) * Ground Truth bounding box์์ IOU๊ฐ ์ ๋๋ค.
- ์ฌ๊ธฐ์ ์ฐ๋ฆฌ๊ฐ ๋ด์ผ ํ๋๊ฑด Objectness Score๊ฐ ๋์ ์์ผ๋ก Regsion Proposal Box๋ฅผ ์ถ์ถ ํ๋ค๋ ์ ์ด ์์ต๋๋ค.
Fast R-CNN Training
- Alternating Training: RPN๊ณผ Fast R-CNN ๋ชจ๋ธ์ ๋ฒ๊ฐ์ ๊ฐ๋ฉฐ ํ์ตํ๊ณ ๋ฏธ์ธ ์กฐ์ ํ์ฌ ์ต์ ์ ์ฑ๋ฅ์ ๋ฌ์ฑํฉ๋๋ค. ์์๋ ์๋์ ๊ฐ์ต๋๋ค.
- RPN ํ์ต: ๋จผ์ RPN์ ํ์ตํ์ฌ ์ด๊ธฐ ์ ์๋ ์์ญ์ ์์ฑํฉ๋๋ค.
- Fast R-CNN ํ์ต: Region Proposal์ ๊ธฐ๋ฐ์ผ๋ก Classification ๋ฐ Bounding Box Regression์ ํ์ตํฉ๋๋ค.
- Fine Tuning: RPN๊ณผ Fast R-CNN ๋ชจ๋ธ์ ๋ฒ๊ฐ์ ๊ฐ๋ฉฐ ๋ฏธ์ธ ์กฐ์ ํ์ฌ ์ฑ๋ฅ์ ์ต์ ํํฉ๋๋ค.
Faster RCNN Detection ์ฑ๋ฅ & ์ํ์๊ฐ ๋น๊ต
- ์ฑ๋ฅ ๋น๊ต ํ๋ฅผ ์์ฝํด๋ณด๋ฉด ์๋์ ๋ด์ฉ๊ณผ ๊ฐ์ต๋๋ค.
- PASCAL VOC ๋ฐ์ดํฐ์ : RPN(Region Proposal Network)์ ์ฌ์ฉํ Faster R-CNN์ด Selective Search๋ฅผ ์ฌ์ฉํ Fast R-CNN๋ณด๋ค ๋์ mAP๋ฅผ ๋ณด์์ต๋๋ค.
- COCO ๋ฐ์ดํฐ์ : RPN(Region Proposal Network)์ ์ฌ์ฉํ Faster R-CNN์ด ์ ๋ฐ์ ์ผ๋ก ๋ ๋์ ์ฑ๋ฅ์ ๋ณด์์ต๋๋ค.
- ์ ์ฒด์ ์ธ ์ฑ๋ฅ: ๋ ์ ์ ์ ์ ๋ฐ์ค๋ฅผ ์ฌ์ฉํ๋ฉด์๋ ๋์ ์ฑ๋ฅ์ ๊ธฐ๋กํ Faster R-CNN์ ํจ์จ์ฑ์ ๊ฐ์กฐํฉ๋๋ค.
- Selective Search๋ฅผ ์ฌ์ฉํ ์์คํ ์ ์ ์ ๋ฐ์ค ์์ฑ์ ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ ค ์๋๊ฐ ๋๋ฆฝ๋๋ค.
- RPN(Region Proposal Network)์ ์ฌ์ฉํ๋ฉด ์ ์ ๋ฐ์ค ์์ฑ ์๊ฐ์ด ํฌ๊ฒ ๋จ์ถ๋์ด ์ ์ฒด ์๋๊ฐ ํฌ๊ฒ ๊ฐ์ ๋ฉ๋๋ค.
- ZF ๋ชจ๋ธ์ VGG ๋ชจ๋ธ์ ๋นํด ๋ ๋น ๋ฅธ ์๋๋ฅผ ์ ๊ณตํ์ฌ RPN๊ณผ Fast R-CNN์ ์กฐํฉ์์ ๊ฐ์ฅ ๋์ ์ฒ๋ฆฌ ์๋๋ฅผ ๋ณด์ ๋๋ค.
Summary
R-CNN, Fast R-CNN, Faster R-CNN์ ๋ฐํ์ฌ ์์ฝ๋ฐ ์ ๋ฆฌ๋ฅผ ํด๋ณด๊ฒ ์ต๋๋ค.
- R-CNN (Region-based Convolutional Neural Network)
- ์ ์ ์์ญ ์ถ์ถ: ์ ๋ ฅ ์ด๋ฏธ์ง์์ Selective Search๋ฅผ ํตํด ์ฌ๋ฌ ๊ฐ์ ์ ์ ๋ฐ์ค(Regions of Interest, RoIs)๋ฅผ ์์ฑํฉ๋๋ค.
- CNN: ๊ฐ RoI๋ฅผ CNN์ ํตํด ๊ฐ๋ณ์ ์ผ๋ก Feature Map์ผ๋ก ๋ณํํฉ๋๋ค.
- SVM: ๊ฐ Feature Map์ SVM์ ์ฌ์ฉํด Classificationํฉ๋๋ค.
- Bounding Box Regression: ๋ถ๋ฅ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํ์ผ๋ก Bounding Box๋ฅผ ์กฐ์ ํฉ๋๋ค.
- ๋จ์ : ๋งค์ฐ ๋๋ฆผ: ๋ชจ๋ RoI์ ๋ํด ๊ฐ๋ณ์ ์ผ๋ก CNN(Convolution Neural Network)์ ์ ์ฉํด์ผ ํ๋ฏ๋ก ์ฐ์ฐ ๋น์ฉ์ด ๋์ต๋๋ค.
- Fast R-CNN
- ์ ๋ ฅ ์ด๋ฏธ์ง ์ฒ๋ฆฌ: ์ ๋ ฅ ์ด๋ฏธ์ง๋ฅผ ConvNet์ ๋ฃ์ด Feature Map์ ์์ฑํฉ๋๋ค.
- RoI ์ถ์ถ: RoI Pooling์ ์ฌ์ฉํด Feature Map์์ Region Proposal์ ์ถ์ถํฉ๋๋ค.
- Fully Connected Layers (FCs): ์ถ์ถ๋ RoI๋ฅผ FC Layer ์ ํต๊ณผ์ํต๋๋ค.
- Softmax Classifier & Bounding Box Regressor: ๊ฐ RoI์ ๋ํด ๋ฌผ์ฒด์ ์ข ๋ฅ๋ฅผ Classification ํ๊ณ , Bounding Box๋ฅผ ์กฐ์ ํฉ๋๋ค.
- ์ฅ์ : ์๋ ํฅ์: ํ ๋ฒ์ CNN(Convolution Neural Network) ์ฐ์ฐ์ผ๋ก ์ ์ฒด Feature Map์ ์์ฑํ ํ RoI๋ฅผ ์ฒ๋ฆฌํ๋ฏ๋ก ํจ์จ์ ์ ๋๋ค.
- Faster R-CNN
- ์ ๋ ฅ ์ด๋ฏธ์ง ์ฒ๋ฆฌ: ConvNet์ ํตํด Feature Map์ ์์ฑํฉ๋๋ค.
- Region Proposal Network (RPN): Feature Map์์ RoI๋ฅผ ์ ์ํฉ๋๋ค.
- RoI Pooling: RPN์ด ์ ์ํ RoI๋ฅผ Feature Map ์์ ์ถ์ถํฉ๋๋ค.
- Fully Connected Layers (FCs): ์ถ์ถ๋ RoI๋ฅผ FC Layer์ ํต๊ณผ์ํต๋๋ค.
- Softmax Classifier & Bounding Box Regressor: ๊ฐ RoI์ ๋ํด ๋ฌผ์ฒด์ ์ข ๋ฅ๋ฅผ Classification ํ๊ณ , Bounding Box๋ฅผ ์กฐ์ ํฉ๋๋ค.
- ์ฅ์ : ์๋ ๋ฐ ์ฑ๋ฅ ํฅ์: RPN์ ์ฌ์ฉํ์ฌ RoI ์ ์์ CNN(Convolution Neural Network)์์์ ์ฒ๋ฆฌํ๋ฏ๋ก ์ฐ์ฐ ๋น์ฉ์ ์ค์ด๊ณ ์ฑ๋ฅ์ ํฅ์์ํต๋๋ค.
Feature Map: Convolutional Neural Network (CNN)๋ฅผ ํต๊ณผํ ํ ์์ฑ๋๋ ๋ค์ฐจ์ ๋ฐฐ์ด๋ก, ์๋ณธ ์ด๋ฏธ์ง์ ํน์ฑ(ํน์ง)๋ค์ ํฌํจํ๊ณ ์์ต๋๋ค.
Region Proposal: ์๋ณธ ์ด๋ฏธ์ง์์ ๊ฐ์ฒด๊ฐ ์์ ๋งํ ํ๋ณด ์์ญ (Region of Interest, RoI)์ ์ฐพ๋ ๊ณผ์ ์ ๋๋ค.
๋ฐ์ํ
'๐ Computer Vision' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CV] OpenCV๋ก Object Detection ๊ตฌํํ๊ธฐ (Part.2) (0) | 2024.06.04 |
---|---|
[CV] OpenCV๋ก Object Detection ๊ตฌํํ๊ธฐ (Part.1) (0) | 2024.06.02 |
[CV] Fast R-CNN (Fast Region-based Convolutional Neural Network) (0) | 2024.05.27 |
[CV] SPPNet - Spatial Pyramid Pooling Net (0) | 2024.05.25 |
[CV] Object Detection Network ๊ตฌ์กฐ, R-CNN ๊ฐ์ (0) | 2024.05.22 |