๋ฐ์ํ
SPPNet - Spatial Pyramid Pooling Net
์ด๋ฒ์๋ SPPNet - Spatial Pyramid Pooling Net์ ๋ฐํ์ฌ ์์๋ณด๊ณ ์ SPPNet์ด ๋ฑ์ฅํ๋์ง ํ๋ฒ ์์ ๋ณด๊ฒ ์ต๋๋ค.
RCNN ์ฃผ์ ๋ฌธ์ ์
- ๊ทธ์ ์ RCNN์ ์ฃผ์ ๋ฌธ์ ์ ์ ๋ฐํ์ฌ ํ๋ฒ ์์๋ณด๊ฒ ์ต๋๋ค.
- ์ผ๋จ, CNN์ 2,000๊ฐ์ Region ์์ญ ์ด๋ฏธ์ง๊ฐ CNN์ผ๋ก ์ ๋ ฅ ๋๋ฉด์ Object Detection ์ํ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฝ๋๋ค.
- ์ด์ ๋ ์์ ๊ทธ๋ฆผ์ ๋ณด๋ฉด ์ ์ ์๋ฏ์ด 2,000๊ฐ์ Region ์์ญ์ด Proposal ๋์ด์ผ ํฉ๋๋ค.
- ๊ทธ๋ฌ๋ฉด Feature Map์ด 2,000๊ฐ๊ฐ ๋ง๋ค์ด ์ ์ผ ํฉ๋๋ค. ์ด๋ก ์ธํด์ ๋จพ์ ์ฐ์ฐ์ด ํ์ํ๋ฉฐ ์ฒ๋ฆฌ ์๊ฐ์ด ๊ธธ์ด์ง๋๋ค.
- ๋ํ Region ์์ญ ์ด๋ฏธ์ง๊ฐ ๊ณ ์ ๋ ํฌ๊ธฐ๋ก Crop / Warp ํ์ฌ CNN์ ์
๋ ฅํด์ผ ํฉ๋๋ค.
- ์ด ๊ณผ์ ๋ ์ถ๊ฐ์ ์ธ ์ฐ์ฐ ๋ฐ Memory ์ฌ์ฉ๋์ ํ์๋ก ํฉ๋๋ค.
RCNN ๊ฐ์ ๋ฐฉ์
๊ทธ๋ฌ๋ฉด RCNN์ ๊ฐ์ ํ ์ ์๋ ๋ฐฉ์์ด ์์๊น์?
- 2000๊ฐ์ Region Proposal ์ด๋ฏธ์ง๋ฅผ CNN ์ผ๋ก Feature Extraction ํ์ง ์๊ณ ์๋ณธ ์ด๋ฏธ์ง ์ผ๋ก๋ง CNN์ผ๋ก Feature Map์ ์์ฑํฉ๋๋ค.
- ๋ํ ๋ค์ ์๋ณธ ์ด๋ฏธ์ง์ Selective search ๋ก ์ถ์ฒ๋ ์์ญ์ ์ด๋ฏธ์ง๋ง Feature Map์ผ๋ก ๋งคํํ์ฌ ๋ณ๋ ์ถ์ถํฉ๋๋ค.
- ๊ทธ๋ ์ง๋ง Selective Search ์์๋ ์ด๋ฏธ์ง ํฌ๊ธฐ๊ฐ ๋ฌ๋ผ์ ์ด๋ฏธ์ง๊ฐ ์ฐ๊ทธ๋ฌ์ง๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
- ๋ํ Feature Map์ 1์ฐจ์์ผ๋ก Flatten(ํํํ)ํ๋ ๊ฒฝ์ฐ, ์ด๋ฏธ์ง๊ฐ ์ฐ๊ทธ๋ฌ์ง๋ ๋ฌธ์ ์ ์์ธ์ ์ ๊ณตํฉ๋๋ค.
- ๋ํ CNN ์ ์๋ก ๋ค๋ฅธ ์ฌ์ด์ฆ์ Image๋ฅผ ์์ฉํ์ง ์๋๋ฐ, ๊ฐ์ฅ ํฐ ์ด์ ๋ Flatten Fully Connection Input์ ํฌ๊ธฐ๊ฐ ๊ณ ์ ์ด ๋์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
- ๊ทธ๋ฌ๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ๊น์?
์๋ก ๋ค๋ฅธ ํฌ๊ธฐ์ Region Proposal ์ด๋ฏธ์ง ๊ฐ์ ๋ฐฉ์
RCNN์ ๋ฌธ์ ๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํ์ฌ SPPNet์ ์ฌ์ฉํฉ๋๋ค.
- Feature ๋งต์ผ๋ก ํฌ์๋ ์๋ก ๋ค๋ฅธ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง Region Proposal ์ด๋ฏธ์ง๋ฅผ SPPNet์ ๊ณ ์ ๋ ํฌ๊ธฐ Vector๋ก ๋ณํํ์ฌ FC์ 1D Flattened ๋ input์ ์ ๊ณตํฉ๋๋ค.
์ฌ๊ธฐ์ SPPNet์ ์ญํ ์ Region Proposal ์ด๋ฏธ์ง๋ฅผ ๊ณ ์ ๋ Vector size๋ก ๋ณํํ์ฌ ๊ณ ์ ๋ ์ด์ด์ ์ ๊ณตํฉ๋๋ค.
SPP (Spatial Pyramid Pooling)
SPP๋ CNN์์์ Image classification์์ ์๋ก ๋ค๋ฅธ ์ด๋ฏธ์ง์ ํฌ๊ธฐ๋ฅผ ๊ณ ์ ๋ ํฌ๊ธฐ๋ก ๋ณํํ๋ ๊ธฐ๋ฒ์ ๋๋ค.
- SPP๋ ์ค๋์ ๋ถํฐ ์ปดํจํฐ ๋น์ ์์ญ์์ ํ์ฉ๋ Spatial Pyramid Matching ๊ธฐ๋ฒ์ ๊ทผ๊ฐ์ ๋์์ต๋๋ค.
- Spatial Pyramid Matching์ ์๋ก ๋ค๋ฅธ Feature Map์ ํฌ์ํฉ๋๋ค.
- ๋ํ Selective Search๋ Feature Map์ ๊ณ ์ ๋ ์ฌ์ด์ฆ์ Vector Value(๋ฒกํฐ๊ฐ)์ผ๋ก ๋ณํํฉ๋๋ค.
Bag of Visual Words -> Spatial Pyramid Matching
BoVW (Bag of Visual Words)
Bag of Visual Words (BoVW)๋ ์ด๋ฏธ์ง ๋ถ๋ฅ์ ๊ฐ์ ์ปดํจํฐ ๋น์ ์์ ์์ ์์ฃผ ์ฌ์ฉ๋๋ ํน์ง ์ถ์ถ ๋ฐฉ๋ฒ์ ๋๋ค.
- BoVW๋ ํ ์คํธ ์ฒ๋ฆฌ์์ ์ฌ์ฉํ๋ Bag of Words (BoW) ๋ชจ๋ธ์ ์ด๋ฏธ์ง ๋ฐ์ดํฐ์ ์ ์ฉํ ๊ฒ์ ๋๋ค.
- ์ด ๋ฐฉ๋ฒ์ ์ด๋ฏธ์ง๋ฅผ ์๊ฐ์ ์ธ ๋จ์ด(visual words)์ ์งํฉ์ผ๋ก ํํํ์ฌ, ์ด๋ฏธ์ง ๋ถ๋ฅ, ๊ฒ์, ์ธ์ ๋ฑ์ ์์ ์ ์ํํฉ๋๋ค.
- ์ฃผ์ ๊ฐ๋ ์ ํฌ๊ฒ ์๋ 4๊ฐ๋ก ์ด๋ฃจ์ด ์ง๋๋ค.
- ์๊ฐ์ ๋จ์ด(Visual Words)
- ์ด๋ฏธ์ง์ Local feature๋ฅผ ์ถ์ถํ๊ณ , ์ด๋ฅผ ํด๋ฌ์คํฐ๋งํ์ฌ ์๊ฐ์ ๋จ์ด๋ก ๋ง๋ญ๋๋ค.
- ์๊ฐ์ ๋จ์ด๋ ์ด๋ฏธ์ง์ ํจ์น(patch)๋ ํคํฌ์ธํธ(keypoint)์ ํน์ง์ ๋ํ๋ ๋๋ค.
- ํน์ง ์ถ์ถ (Feature Extraction)
- ์ผ๋ฐ์ ์ผ๋ก SIFT, SURF, ORB์ ๊ฐ์ ํน์ง ์ถ์ถ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง์์ ํคํฌ์ธํธ๋ฅผ ๊ฒ์ถํ๊ณ , ๊ฐ ํคํฌ์ธํธ์ ํน์ง ๋ฒกํฐ๋ฅผ ๊ณ์ฐํฉ๋๋ค.
- ํด๋ฌ์คํฐ๋ง (Clustering)
- ์ถ์ถ๋ ํน์ง ๋ฒกํฐ๋ค์ ํด๋ฌ์คํฐ๋ง ์๊ณ ๋ฆฌ์ฆ (์: K-means)์ ์ฌ์ฉํ์ฌ ํด๋ฌ์คํฐ๋งํฉ๋๋ค.
- ๊ฐ ํด๋ฌ์คํฐ์ ์ค์ฌ์ด ์๊ฐ์ ๋จ์ด๊ฐ ๋ฉ๋๋ค.
- ํ์คํ ๊ทธ๋จ ์์ฑ (Histogram Generation)
- ๊ฐ ์ด๋ฏธ์ง์ ๋ํด, ์ด๋ฏธ์ง ๋ด์ ํน์ง ๋ฒกํฐ๋ค์ด ์๊ฐ์ ๋จ์ด๋ก ๋งคํ๋ฉ๋๋ค.
- ๋งคํ๋ ์๊ฐ์ ๋จ์ด์ ๋น๋์๋ฅผ ๊ณ์ฐํ์ฌ ํ์คํ ๊ทธ๋จ์ ์์ฑํฉ๋๋ค.
- ์ด ํ์คํ ๊ทธ๋จ์ ํด๋น ์ด๋ฏธ์ง์ ํน์ง ๋ฒกํฐ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
BoVW (Bag of Visual Words)์ ๋ฌธ์ ์
BoVW(Bag of Visual Words)์ ๋ฌธ์ ์ ์ ๋ฐํ์ฌ ๋งํด๋ณด๊ฒ ์ต๋๋ค.
- BoVW(Bag of Visual Word)๋ ๋ค์ํ Feature๋ค์ด ์์ฌ๋ฒ๋ฆฌ๋ฉด ์ ํํ Image Classification, Detection์ ๋ฌธ์ ๊ฐ ๋ ์๋ ์์ต๋๋ค.
- ๋ํ Local Feature๋ฅผ ์๊ฐ์ ๋จ์ด๋ก ๋งคํํ๋ ๊ณผ์ ์์ ์ ๋ณด ์์ค์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
- ๊ทธ๋ฆฌ๊ณ ํน์ง ์ถ์ถ ๋ฐ ํด๋ฌ์คํฐ๋ง ๊ณผ์ ์์ ๋์ ๊ณ์ฐ ๋น์ฉ์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
- ์ด๋ฌํ ๋ฌธ์ ์ ๋ค์ ๋ณด์ํ๊ธฐ ์ํ์ฌ ์ฌ์ฉํ๋ ๊ธฐ๋ฒ์ด ์์ต๋๋ค. ๋ฐ๋ก SPM(Spatial Pyramid Matching)์ ๋๋ค.
SPM (Spatial Pyramid Matching)
Spatial Pyramid Matching (SPM)์ ์ด๋ฏธ์ง์ ๊ณต๊ฐ์ ์ ๋ณด๋ฅผ ๊ณ ๋ คํ์ฌ ํน์ง์ ์ถ์ถํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
SPM์ ์ด๋ฏธ์ง๋ฅผ ์ฌ๋ฌ ๋จ๊ณ๋ก ๋ถํ ํ๊ณ , ๊ฐ ๋จ๊ณ์์ ์ง์ญ ํ์คํ ๊ทธ๋จ์ ๊ณ์ฐํ์ฌ ์ต์ข ์ ์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ํํํฉ๋๋ค.
- ์ฃผ์ํ ๊ฐ๋ ์ ์๋์ ๊ฐ์ต๋๋ค.
- ์ด๋ฏธ์ง ๋ถํ
- ์ด๋ฏธ์ง๋ฅผ ์ฌ๋ฌ ๋ ๋ฒจ๋ก ๋ถํ ํฉ๋๋ค. ๊ฐ ๋ ๋ฒจ์์ ์ด๋ฏธ์ง๋ ๋ ์์ ๊ทธ๋ฆฌ๋๋ก ๋๋์ด์ง๋๋ค.
- ์๋ฅผ ๋ค์ด, ๋ ๋ฒจ 0์์๋ ์ด๋ฏธ์ง๋ฅผ ์ ์ฒด๋ก ์ฌ์ฉํ๊ณ , ๋ ๋ฒจ 1์์๋ ์ด๋ฏธ์ง๋ฅผ 2x2 ๊ทธ๋ฆฌ๋๋ก ๋๋๊ณ , ๋ ๋ฒจ 2์์๋ 4x4 ๊ทธ๋ฆฌ๋๋ก ๋๋๋๋ค.
- ์ง์ญ ํ์คํ ๊ทธ๋จ ๊ณ์ฐ
- ๊ฐ ๊ทธ๋ฆฌ๋ ์ ์์ ํน์ง์ ์ถ์ถํ๊ณ , Visual Words(์๊ฐ์ ๋จ์ด)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์คํ ๊ทธ๋จ์ ์์ฑํฉ๋๋ค.
- ๊ฐ ํ์คํ ๊ทธ๋จ์ ํด๋น ๊ทธ๋ฆฌ๋ ์ ๋ด์ ์๊ฐ์ ๋จ์ด์ ๋น๋๋ฅผ ๋ํ๋ ๋๋ค.
- ํ์คํ ๊ทธ๋จ ๊ฒฐํฉ
- ๋ชจ๋ ๋ ๋ฒจ์์ ๊ณ์ฐ๋ ํ์คํ ๊ทธ๋จ์ ๊ฒฐํฉํ์ฌ ์ต์ข ์ด๋ฏธ์ง ํํ์ ๋ง๋ญ๋๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ๊ฐ ๋ ๋ฒจ์ ํ์คํ ๊ทธ๋จ์ Weight(๊ฐ์ค์น)๋ฅผ ๋ถ์ฌํ์ฌ ๊ฒฐํฉํฉ๋๋ค.
- ์๋ฅผ ๋ค์ด, ๋ ๋ฒจ 0์ ํ์คํ ๊ทธ๋จ์ ๋์ Weight(๊ฐ์ค์น)๋ฅผ, ๋ ๋ฒจ 2์ ํ์คํ ๊ทธ๋จ์ ๋ฎ์ Weight(๊ฐ์ค์น)๋ฅผ ๋ถ์ฌํ ์ ์์ต๋๋ค.
SPM(Spatial Pyramid Matching) ๋จ๊ณ๋ณ ์ค๋ช
- Level 0
- ์ด๋ฏธ์ง๋ฅผ ์ ์ฒด๋ก ์ฌ์ฉํ์ฌ ์๊ฐ์ ๋จ์ด์ ํ์คํ ๊ทธ๋จ์ ๊ณ์ฐํฉ๋๋ค.
- ํ๋์ ํ์คํ ๊ทธ๋จ์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ํํํฉ๋๋ค.
- Level 1
- ์ด๋ฏธ์ง๋ฅผ 2x2 ๊ทธ๋ฆฌ๋(4๋ถ๋ฉด)๋ก ๋๋๊ณ , ๊ฐ ๊ทธ๋ฆฌ๋ ์ ์์ ํ์คํ ๊ทธ๋จ์ ๊ณ์ฐํฉ๋๋ค.
- ๋ค ๊ฐ์ ํ์คํ ๊ทธ๋จ์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ํํํฉ๋๋ค.
- Level 2
- ์ด๋ฏธ์ง๋ฅผ 4x4 ๊ทธ๋ฆฌ๋(4 by 4)๋ก ๋๋๊ณ , ๊ฐ ๊ทธ๋ฆฌ๋ ์ ์์ ํ์คํ ๊ทธ๋จ์ ๊ณ์ฐํฉ๋๋ค.
- ์ด์ฌ์ฏ ๊ฐ์ ํ์คํ ๊ทธ๋จ์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ํํํฉ๋๋ค.
SPM์ ์ด์ฉํ์ฌ ์๋ก ๋ค๋ฅธ ํฌ๊ธฐ์ Feature Map์ ๊ท ์ผํ Vector ํฌ๊ธฐ๋ก ํํ
- SPM(Spatial Pyramid Matching)์ ์์๋๋ก (level 0,1,2)๋ฅผ ์ฐจ๋ ๋๋ก ์ ์ฉ์ ์ํค๋ฉด, 3 + 12 + 48 = 63๊ฐ ์์์ vector ๊ฐ์ผ๋ก ํํ์ด ๊ฐ๋ฅํฉ๋๋ค.
SPP (Spatial Pyramid Pooling)
Spatial Pyramid Pooling (SPP)๋ CNN์์ ๋ค์ํ ํฌ๊ธฐ์ ์ ๋ ฅ ์ด๋ฏธ์ง๋ฅผ ๊ณ ์ ๋ ํฌ๊ธฐ์ ์ถ๋ ฅ์ผ๋ก ๋ณํํ์ฌ ํผ์ฒ ๋งต์ ์์ฑํ๋ ๊ธฐ์ ์ ๋๋ค.
- ํผ์ฒ ๋งต(Future Map)
- CNN์ ํตํด ์ป์ด์ง ์ด๋ฏธ์ง์ Feature Map ์ ๋๋ค. ์ฌ๊ธฐ์ Feature Map ์ ํฌ๊ธฐ๋ 8x8๊ณผ 8x12๋ก ์ฃผ์ด์ง๋๋ค.
- ํผ๋ผ๋ฏธ๋ ๋ ๋ฒจ(Pyramid Levels)
- ํผ๋ผ๋ฏธ๋์ ๊ฐ ๋ ๋ฒจ์์ ํผ์ฒ ๋งต์ ๋ค์ํ ํฌ๊ธฐ์ ๊ทธ๋ฆฌ๋๋ก ๋ถํ ํฉ๋๋ค.
- ๋ ๋ฒจ 0: ํผ์ฒ ๋งต์ ํ๋์ ๊ทธ๋ฆฌ๋๋ก ์ฌ์ฉํฉ๋๋ค.
- ๋ ๋ฒจ 1: ํผ์ฒ ๋งต์ 2x2 ๊ทธ๋ฆฌ๋๋ก ๋ถํ ํฉ๋๋ค.
- ๋ ๋ฒจ 2: ํผ์ฒ ๋งต์ 4x4 ๊ทธ๋ฆฌ๋๋ก ๋ถํ ํฉ๋๋ค.
- ๋งฅ์ค ํ๋ง(Max Pooling)
- ๊ฐ Grid Cell ์์ ์ต๋ ๊ฐ์ ์ถ์ถํฉ๋๋ค. ์ด๋ฅผ ํตํด ๊ณต๊ฐ์ ํฌ๊ธฐ๊ฐ ๋ค๋ฅธ ์ ๋ ฅ ์ด๋ฏธ์ง์์๋ ๋์ผํ ํฌ๊ธฐ์ Feature Vector ๋ฅผ ์ป์ ์ ์์ต๋๋ค.
๊ทธ๋ฆผ์ ๋ณด๋ฉด Pyramid Level์์ Grid ๋ถํ ์ ํ๊ณ , Max Pooling์ ์ ์ฉํฉ๋๋ค. ๋ค๋ง ํน์ง์ ์ฌ๊ธฐ์ ์ ์ผ ํฐ Feature๋ง ๊ฐ์ง๊ณ ์จ๋ค๋ ํน์ง์ด ์์ต๋๋ค.
๊ทธ๋ฌ๋ฉด 1 + 4 + 16 = 21๊ฐ ๋ฒกํฐ ๊ฐ์ผ๋ก ํํ๋ฉ๋๋ค.
SPP-Net Image Classification
Spatial Pyramid Pooling Network (SPP-Net)๋ ๋ค์ํ ํฌ๊ธฐ์ ์ ๋ ฅ ์ด๋ฏธ์ง์์ ๊ณ ์ ๋ ํฌ๊ธฐ์ Feature Vector๋ฅผ ์์ฑํ์ฌ ์ด๋ฏธ์ง ๋ถ๋ฅ์ ๊ฐ์ CV(Computer Vision)์์ ์ ์ํํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
- SPP-Net์ ๊ธฐ์กด์ CNN ๊ตฌ์กฐ์ SPP Layer๋ฅผ ์ถ๊ฐํ์ฌ ๋ค์ํ ํฌ๊ธฐ์ Input Image๋ฅผ ์ฒ๋ฆฌํ ์ ์๋๋ก ์ค๊ณ๋์์ต๋๋ค.
- ์ฌ๊ธฐ์ Input Image(์ ๋ ฅ ์ด๋ฏธ์ง)๋ Convolution Layer์ ํตํด ์ฒ๋ฆฌ๋๊ณ , ๋ค์ํ ํฌ๊ธฐ์ Feature Map์ด ์์ฑ๋ฉ๋๋ค.
- SPP Layer๋ ๋ค์ํ ํผ๋ผ๋ฏธ๋ ๋ ๋ฒจ์์ Feature Map์ ๋๋๊ณ , ๊ฐ Grid Cell์์ Max Pooling์ ์ํํ์ฌ ๊ณ ์ ๋ ๊ธธ์ด์ Feature Vector๋ฅผ ์์ฑํฉ๋๋ค.
- Fully-Connected Layer(FC)์ SPP Layer์ ์ถ๋ ฅ์ ๋ฐ์ ์ต์ข Classification(๋ถ๋ฅ)๋ฅผ ์ํํฉ๋๋ค.
- ๋ํ SPP-Net์ 2014 ILSVRC(ImageNet Large Scale Visual Recognition Challenge)์์ GoogLeNet๊ณผ VGG์ ์ด์ด ์ธ ๋ฒ์งธ๋ก ์ข์ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ์์ต๋๋ค.
SPP-Net Object Detection
- SPM ๊ธฐ๋ฒ์ด ์ด๋ป๊ฒ ์งํ๋๋์ง๋ ์์์ ์ค๋ช ํ์ผ๋๊น ์๋ตํ๊ฒ ์ต๋๋ค.
- ๋ค๋ง, Convolution Layer์ Window์์ ์ด๋ฏธ์ง๋ฅผ ํ์ํ๋ ๋ฐฉ์์ Region Proposal ๋ฐฉ์์ ์ด์ฉํ๋๊ฒ๋ง ์๊ธฐํ๊ฒ ์ต๋๋ค. ์ฐธ๊ณ ๊ธ๋ก CNN์ ๊ดํ ๊ธ ๋งํฌ ๋ฌ์๋์๊ป์!
- ๊ทธ๋ฆฌ๊ณ Feature Map์์ Selective Search ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํด์ Image๋ฅผ Detect ํ๋ฉด ๊ฐ๊ฐ Feature Map์ ํฌ์๋ ์ฌ์ด์ฆ๊ฐ ๋ค๋ฅด๋ค๋๊ฑธ ์ ์ ์์ต๋๋ค.
- ์ฌ๊ธฐ์ ์ด์ SPP Layer๋ฅผ ํตํด Vectorํ๋ฅผ ํด์ค ํ, ๊ณ ์ ๋ Size๋ก 2,000๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ด๊ฟ์ค๋๋ค.
SPP-Net ๊ตฌ์กฐ
ํ๋ฒ SPP-Net ๊ตฌ์กฐ์ ๊ฐ ๊ตฌ์ฑ์์๊ฐ ํ๋ ์ญํ ์ ๋ฐํ์ฌ ์์๋ณด๊ฒ ์ต๋๋ค.
SPP Layer๋ฅผ ์ด์ฉํด์ 2,000๋ฒ ๋ถํ๋ฅผ ์ค์ธ๊ฒ SPP-Net ์ ๋๋ค.
1. ์ ๋ ฅ ์ด๋ฏธ์ง (Input Image)
- ๊ฐ์ฒด ํ์ง๋ฅผ ์ํด ์๋ณธ ์ด๋ฏธ์ง๊ฐ ์ ๋ ฅ๋ฉ๋๋ค.
2. ์์ญ ์ ์ (Region Proposal)
- Selective Search: ์ ๋ ฅ ์ด๋ฏธ์ง์์ ์ ์ฌ์ ์ธ ๊ฐ์ฒด๊ฐ ์์ ๋งํ ์์ญ์ ์ ์ํฉ๋๋ค. ์ด ๊ณผ์ ์์ ์์ฒ ๊ฐ์ Region Proposal์ด ์์ฑ๋ฉ๋๋ค.
3. ํน์ง ์ถ์ถ๊ธฐ (Feature Extractor)
- VGG ๋คํธ์ํฌ: VGG์ ๊ฐ์ ์ฌ์ ํ์ต๋ CNN์ ์ฌ์ฉํ์ฌ ๊ฐ Region Proposal์์ ํน์ง์ ์ถ์ถํฉ๋๋ค. ์ด ๋คํธ์ํฌ๋ ImageNet ๋ฐ์ดํฐ์ ์ผ๋ก ์ฌ์ ํ์ต๋์ด ์์ต๋๋ค.
4. ํผ์ฒ ๋งต (Feature Map)
- CNN์ ํต๊ณผํ ๊ฐ Region Proposal์ ํผ์ฒ ๋งต์ผ๋ก ๋ณํ๋ฉ๋๋ค.
5. SPP ๋ ์ด์ด (SPP Layer)
- Spatial Pyramid Pooling (SPP): SPP ๋ ์ด์ด๋ ํผ๋ผ๋ฏธ๋ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ์ฌ ํผ์ฒ ๋งต์ ๊ณ ์ ๋ ๊ธธ์ด์ ๋ฒกํฐ๋ก ๋ณํํฉ๋๋ค.
- ์ฌ๋ฌ ๋ ๋ฒจ๋ก ๋๋์ด ํผ์ฒ ๋งต์ ๋ค์ํ ํฌ๊ธฐ์ ๊ทธ๋ฆฌ๋๋ก ๋ถํ ํ๊ณ , ๊ฐ ๊ทธ๋ฆฌ๋์์ ๋งฅ์ค ํ๋ง์ ์ํํ์ฌ ๊ณ ์ ๋ ๊ธธ์ด์ ํผ์ฒ ๋ฒกํฐ๋ฅผ ์์ฑํฉ๋๋ค.
6. ์์ ์ฐ๊ฒฐ ์ธต (Fully-Connected Layer)
- SPP ๋ ์ด์ด์์ ์์ฑ๋ ๊ณ ์ ๋ ๊ธธ์ด์ ํผ์ฒ ๋ฒกํฐ๋ ์์ ์ฐ๊ฒฐ ์ธต์ ์ ๋ ฅ๋ฉ๋๋ค.
7. SVM ๋ถ๋ฅ๊ธฐ (SVM Classifier)
- ์์ ์ฐ๊ฒฐ ์ธต์ ์ถ๋ ฅ์ ์ฌ์ฉํ์ฌ ๊ฐ Region Proposal์ ๊ฐ์ฒด ํด๋์ค๋ฅผ ์์ธกํฉ๋๋ค.
- ์์ธก๋ ํด๋์ค ํ๋ฅ ์์:
- Obj1: 0.8
- Obj2: 0.1
- Obj3: 0.1
8. ๋ฐ์ด๋ฉ ๋ฐ์ค ํ๊ท (Bounding Box Regression)
- ๊ฐ Region Proposal์ ์ ํํ ์์น(๋ฐ์ด๋ฉ ๋ฐ์ค ์ขํ)๋ฅผ ์์ธกํฉ๋๋ค.
- ๋ฐ์ด๋ฉ ๋ฐ์ค ํ๊ท๋ (x1, y1, x2, y2) ์ขํ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด์ ์์น๋ฅผ ์กฐ์ ํฉ๋๋ค.
R-CNN๊ณผ SPP-Net ๋น๊ต
- R-CNN๊ณผ SPP-Net์ ์ฐจ์ด์ ์ ๋ฐํ์ฌ ์์๋ณด๊ฒ ์ต๋๋ค.
R-CNN์ ์ด๋ฏธ์ง ํ ๊ฐ์ 2000๋ฒ CNN์ ํต๊ณผํด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ์ํ์๊ฐ์ด ๋งค์ฐ ๋์ด๋ฉ๋๋ค.
๋ค๋ง SPP-Net์ ์ด๋ฏธ์ง ํ ๊ฐ๋น ํ๋ฒ๋ง CNN์ ํต๊ณผํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ์ํ์๊ฐ์ด ๋งค์ฐ ๋จ์ถ๋๋ ํน์ง์ด ์์ต๋๋ค.
- SPP-Net์ R-CNN์ ๋จ์ ์ ๋ณด์ํ์ฌ ํจ์จ์ฑ์ ๋์ธ ๋ชจ๋ธ์ ๋๋ค.
- R-CNN์ ๊ฐ Region Proposal์ ๋ํด CNN์ ๊ฐ๋ณ์ ์ผ๋ก ์ ์ฉํ์ฌ ์ฐ์ฐ๋์ด ๋ง๊ณ ์ฒ๋ฆฌ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฝ๋๋ค.
- SPP-Net์ ์ ์ฒด ์ด๋ฏธ์ง์ ๋ํด ํ ๋ฒ์ CNN์ ์ ์ฉํ๊ณ , SPP ๋ ์ด์ด๋ฅผ ํตํด ๊ณ ์ ๋ ๊ธธ์ด์ ํผ์ฒ ๋ฒกํฐ๋ฅผ ์์ฑํ์ฌ ์ฒ๋ฆฌ ์๊ฐ์ ๋จ์ถํ๊ณ ์ฐ์ฐ ํจ์จ์ฑ์ ๋์์ต๋๋ค.
- ์๋์ ํ๋ R-CNN๊ณผ SPP-Net๋ฅผ ๋น๊ตํ ๋ด์ฉ์ ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค.
Region Proposal ๋ฐฉ์ | Selective Search | Selective Search |
CNN ์ ์ฉ ๋ฐฉ์ | ๊ฐ Region Proposal์ ๊ฐ๋ณ ์ ์ฉ | ์ ์ฒด ์ด๋ฏธ์ง์ ํ ๋ฒ ์ ์ฉ |
ํผ์ฒ ๋งต ์์ฑ | ๊ฐ Region Proposal์ ๋ํด ๋ณ๋ ํผ์ฒ ๋งต ์์ฑ | ๊ณตํต ํผ์ฒ ๋งต ์์ฑ ํ SPP ์ ์ฉ |
Pooling ๋ฐฉ์ | ๊ณ ์ ํฌ๊ธฐ๋ก ์กฐ์ (Crop/Warp) ํ ํ๋ง | SPP ๋ ์ด์ด๋ฅผ ํตํด ๋ค์ํ ํฌ๊ธฐ์ ํผ๋ผ๋ฏธ๋ ํ๋ง |
๋ถ๋ฅ๊ธฐ | SVM | SVM |
Bounding Box Regression | ์์ | ์์ |
์ฐ์ฐ ํจ์จ์ฑ | ๋ฎ์ | ๋์ |
์ฒ๋ฆฌ ์๊ฐ | ์ค๋ ๊ฑธ๋ฆผ | ๋น ๋ฆ |
์ ๋ ฅ ํฌ๊ธฐ ์ ์ฐ์ฑ | ์ ํ์ | ๋์ |
๋ฐ์ํ
'๐ Computer Vision' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CV] Faster R-CNN (Faster Region-based Convolutional Neural Network) (0) | 2024.05.29 |
---|---|
[CV] Fast R-CNN (Fast Region-based Convolutional Neural Network) (0) | 2024.05.27 |
[CV] Object Detection Network ๊ตฌ์กฐ, R-CNN ๊ฐ์ (0) | 2024.05.22 |
[CV] Object Detection & Segmentation์ ์ํ ํจํค์ง & CUDA ์๊ฐ (0) | 2024.05.20 |
[CV] OpenCV ์์์ฒ๋ฆฌ ๊ฐ์ (0) | 2024.05.19 |