๐ ํด๋น ํฌ์คํ ์์ ์ฌ์ฉ๋ ์ปจํ ์ธ ๋ ์ธํ๋ฐ์ ๋ฅ๋ฌ๋ ์ปดํจํฐ ๋น์ ์๋ฒฝ ๊ฐ์ด๋ ๊ฐ์ ๋ด์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ํ์์ ์๋ฆฝ๋๋ค. ์ค๋ช ์์ ์ฌ์ฉ๋ ์๋ฃ๋ ์ต๋ํ ์ ๊ฐ ์ง์ ์ฌ๊ตฌ์ฑํ ์๋ฃ์์ ์๋ฆฝ๋๋ค.
์ด๋ฒ ํฌ์คํ ์์๋ ์ด์ ํฌ์คํ ์์ ์๊ฐํ๋ RCNN ๋ชจ๋ธ์ ๋จ์ ์ ๊ทน๋ณตํ๋ SPP(Spatial Pyramid Pooling) ๋ชจ๋ธ์ ๋ํด ์์๋ณด๋ ค๊ณ ํ๋ค. ํด๋น ๋ชจ๋ธ์ ์ดํดํ๊ธฐ ์ํด์ RCNN ๊ด๋ จ ํฌ์คํ ์ ์ฝ๊ณ ์ค๋ ๊ฒ์ ๊ถ์ฅํ๋ค.
1. SPP Net ๊ณผ RCNN์ ๊ด๊ณ
๋จผ์ SPP Net์ ๋ํด ์์๋ณด๊ธฐ ์ ์ SPP Net์ RCNN์ ํ๊ณ์ ์ ๊ทน๋ณตํ๊ณ ์ ๋์จ ๋ชจ๋ธ์ด๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ RCNN์ ํ๊ณ์ ์ ๊ฐ๋จํ๊ฒ ๋ค์ ๋ณต์ตํด๋ณด๊ณ ์ด 2๊ฐ์ง์ ์ค์ ์ ๋๊ณ SPP ๋ชจ๋ธ์ ์ดํดํด๋ณด์.
- ๊ฐ Region Proposal ๋ง๋ค Object Detection์ ๋ณ๊ฐ๋ก ์ํํด์ฃผ์ด์ผ ํด์ ๋งค์ฐ ์ค๋ ํ์ต์๊ฐ์ด ์์๋๋ค.
- ์ฌ๋ฌ๊ฐ์ Region Proposal๋ค์ Pretrained๋ Feature Extractor๊ฐ ์๊ตฌํ๋ ๊ณ ์ ๋ ์ฌ์ด์ฆ๋ก ํต์ผ์์ผ์ฃผ์ด์ผ ํด์ Region Proposal์ ์๋ฅด๊ฑฐ๋ ์ฐ๊ทธ๋ฌ๋จ๋ ค ์ด๋ฏธ์ง๋ฅผ ์์(?)์ํค๊ฒ ๋๋ค.
SPP ๋ชจ๋ธ์ ์์ ๊ฐ์ 2๊ฐ์ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค. ๊ทธ ์ค์์ 2๋ฒ์งธ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ์ง์ค๋์ด ์๋ค. ๋จผ์ SPP ๋ชจ๋ธ์ ํฐ ์ํคํ ์ฒ๋ฅผ ์ดํด๋ณด์.
์ ๊ทธ๋ฆผ์์ $\cdots$ ๋ถ๋ถ์ ๊ธฐ๋ณธ์ ์ธ Object Detection Network๋ค์ ๊ฐ์ฒด ํด๋์ค ๋ถ๋ฅ๋ฅผ ์ํ Softmax Layer์ SVM Classifier, ๊ทธ๋ฆฌ๊ณ ๋ถ๋ฅํ ๊ฐ์ฒด๋ฅผ ํ์ํ๋ Bounding Box์ ์ขํ๋ฅผ ํ๊ทํ๋ ๊ตฌ์กฐ๋ก RCNN ๋ชจ๋ธ๊ณผ ๋์ผํ๋ค.
๋จผ์ ์ธํ ์ด๋ฏธ์ง๋ ํ ๋ฒ์ Selective Search๋ฅผ ์ํํด์ Region Proposal์ ์ํํด์ฃผ๊ณ , ํ ๋ฒ์ Feature Extractor๋ก ๋ค์ด๊ฐ ์ธํ ์ด๋ฏธ์ง์ Feature Map์ ์ถ์ถํ๋ค. ์ด ๋ ์ฃผ๋ชฉํ ์ ์ Selective Search๋ฅผ ํตํด ๋์จ Region Proposal๋ค ์ค ์ด๋ฏธ์ง์ Feature Map๊ณผ ๋น์ทํ Region ๋ผ๋ฆฌ ๋งคํ์ ์์ผ์ค๋ค.(์ด๋ฅผ ROI=Regions Of Interest ๋ผ๊ณ ๋ ํ๋ค.) ์ด๋ฌํ ๋ฐฉ๋ฒ์ ์ด์ ์ RCNN์์ ํ๋์ Region Proposal ๋ง๋ค Feature Extractor์ ๊ฐ๊ฐ ๋ค์ด๊ฐ๋ฉด์ ์๊ธฐ๋ '์ค๋ ํ์ต ์๊ฐ'์ด๋ผ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ค๋ค.
๋งคํํ๋ ๊ณผ์ ์ ๋๋ด๋ฉด ๋งคํ๋ [ํ๋์ Region Proposal - ํ๋์ Feature Map] ๋ค์ด ๋ชจ์ฌ ์ฌ๋ฌ๊ฐ์ [ํ๋์ Region Proposal - ํ๋์ Feature Map] ๋งคํ๋ ๊ฐ๋ค์ด ์์ ๊ฒ์ด๋ค. ๊ทธ๋ฐ๋ฐ ์์ ๋งํ๋ ๊ฒ์ฒ๋ผ Region Proposal์ ๊ฐ๊ธฐ ์๋ก ํฌ๊ธฐ๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ Flatten Layer๋ก ๋ณํํ๋ ๋ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค. ๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ์ด์ SPP ๊ณผ์ ์ ํตํด ์ด๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด์.
2. SPP Net์ด๋?
์ ํํ๊ฒ ๋งํ๋ฉด SPP Net์ SPP๋ผ๋ Pooling Layer๊ฐ ์ฌ๋ฌ๊ฐ ๊ฒน์ณ์๋ ๋คํธ์ํฌ๋ฅผ ์๋ฏธํ๋ค. ๊ทธ๋์ ์ฐ๋ฆฌ๋ SPP๋ผ๋ Pooling ๊ณผ์ ์ด ๋ฌด์์ธ์ง ์ดํดํ๋ ๊ฒ์ด ์ฐ์ ์ด๋ค. ํ ์คํธ๋ก SPP๋ฅผ ์ ์ํ์๋ฉด, SPP๋ ํน์ Pooling ๊ณผ์ ์ ํต๊ณผํ๋ฉด ์ฌ์ด์ฆ๊ฐ ๋ค๋ฅธ Region Proposal๋ค์ ๊ณ ์ ๋ ์ฌ์ด์ฆ์ ๋ฒกํฐ๋ค๋ก ๋ณํ์ํค๋ ๊ณผ์ ์ด๋ค.
SPP๋ ์๋ ๋จ์ผ CNN ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ์ด๋ฏธ์ง ๋ถ๋ฅ ๋ฌธ์ ์์ ์๋ก ๋ค๋ฅธ ์ด๋ฏธ์ง์ ํฌ๊ธฐ๋ฅผ ๊ณ ์ ๋ ํฌ๊ธฐ๋ก ๋ณํํ๋ ๊ธฐ๋ฒ์ผ๋ก ์์ฃผ ์ฌ์ฉ๋์๋ค๊ณ ํ๋ค. ๊ฒฐ๊ตญ ํฌ๊ธฐ๊ฐ ๋ค๋ฅธ ์ด๋ฏธ์ง๋ค์ ์๋ฅด๊ฑฐ๋ ๋ณํํ๋ ๊ฒ์ด ์๋ SPP๋ผ๋ ๊ณผ์ ์ ํตํด ์ง์ ๋ ์ฌ์ด์ฆ๋ก ํต์ผ์์ผ์ค๋ค๋ ๊ฒ์ด๋ค. ๊ทธ๋์ SPP๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด ์ด๋ฏธ์ง ๋ถ๋ฅ ์ CNN ๋ชจ๋ธ ๊ณผ์ ์ด ๋ค์๊ณผ ๊ฐ์ด ์ฐจ์ด์ ์ด ์๊ธด๋ค.
๊ทธ๋ฆผ์์ ๋ณด๋ค์ํผ SPP๋ฅผ ์ ์ฉํ๊ฒ ๋๋ฉด ์ด๋ฏธ์ง๋ฅผ ๋ณํํ ํ์๊ฐ ์๋ค. ๋จ, SPP๋ Convolution์ด ์ ์ฉ๋๋ CNN Model์ ๊ฑฐ์น๊ณ ๋ ํ ์ ์ฉ๋๋ค. ์๋ํ๋ฉด SPP๋ฅผ ์ด์ฉํด์ ๋์ผํ ํฌ๊ธฐ ์ฌ์ด์ฆ์ ๋ฒกํฐ๋ก ๊ฒฐํฉ์ ํ๊ณ Flatten ์์ผ FC Layer๋ฅผ ๋ง๋ค์ด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
3. SPP์ ์กฐ์์ SPM์ด๋ค!
SPP๋ ์๋ SPM(Spatial Pyramid Matching)์ ๊ธฐ๋ฐ์ ๋ ๋ฐฉ๋ฒ์ด๋ค. ๋ฐ๋ผ์ SPP๋ฅผ ์ดํดํ๊ธฐ ์ ์ SPM์ ๋จผ์ ์ดํดํด์ผ ํ๋ค. SPM์ ๋ง์น NLP(์์ฐ์ด ์ฒ๋ฆฌ) ๋ถ์ผ์์ Bag of Words์ ๋น์ทํ๋ค. Bag of Words๋, ํน์ ๋ฌธ์์์ ๋จ์ด์ ๋น๋์์ ๊ธฐ๋ฐํด ๋ง๋ ๋ฒกํฐ๋ฅผ ์๋ฏธํ๋ค. ์๋ฅผ ๋ค์ด, "๊ฐ์์ง๋ ๋๋ฌผ์ด๋ค. ๊ฐ์์ง๋ ์ฌ๋์ ์ ๋ฐ๋ฅด๊ณ ๊ฐ๋์ ์ธ๊ฐ๋ณด๋ค ๋๋ํ ๊ฒ ๊ฐ๋ค. ๊ทธ๋ฌ๋ ๊ฐ์์ง์ ์ค์ IQ ์ง์๋ ๊ทธ๋ ์ง ์๋ค." ๋ผ๋ ๋ฌธ์ฅ์ด ์๋ค๊ณ ๊ฐ์ ํ์. ์ด ๋ฌธ์ฅ์์ ๊ฐ ๋จ์ด์ ๋น๋์๋ฅผ count ํด๋ณด๋ฉด '๊ฐ์์ง' ๋ผ๋ ๋จ์ด๊ฐ ๊ฐ์ฅ ๋ง์ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ ํด๋น ๋ฌธ์ฅ์ '๊ฐ์์ง' ๋ผ๋ ์ฃผ์ ์ ๊ดํ ๋ฌธ์ฅ์์ ์ถ์ธกํ ์ ์๋ค.(๊ทธ๋๋ Bag of Words์ ๋ํ ๊ฐ๋ ์ด ์๋ฟ์ง ์๋๋ค๋ฉด ์ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํด ๋ณด์ธ์!)
์ด๋ฌํ Bag of Words์ ๋ํ ์๋ฆฌ๋ฅผ ์ด๋ฏธ์ง ๋ถ์ผ์ ์ ์ฉํ ๊ฒ์ด Bag of Visual Words๋ผ๊ณ ํ๋ค. ๋ค์ ๊ทธ๋ฆผ์ ๋ณด์.
์ ๊ทธ๋ฆผ์ฒ๋ผ 3๊ฐ์ ์๋ณธ ์ด๋ฏธ์ง๊ฐ ์๋ค๊ณ ๊ฐ์ ํ์ ๋, ์ด๋ฏธ์ง์ Region ๋ณ๋ก ์ฌ๋ฌ๊ฐ์ Feature๋ค์ ์ถ์ถํ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ Feature ๋ณ๋ก ์ด๋ฏธ์ง์์ ๋ํ๋๋ ๋น๋์๋ฅผ countํ๊ณ ํ์คํ ๊ทธ๋จ์ผ๋ก ํ์ํ๋ค. ๊ทธ๋์ "์ด๋ค Feature๋ค์ด ๋ง์ด ๋ํ๋๋ฉด ์ด๋ค ์ด๋ฏธ์ง์ผ ๊ฒ์ด๋ค!" ๋ผ๋ ์ถ๋ก ์ด ๊ฐ๋ฅํ๋ค.
ํ์ง๋ง ์ด๋ ๊ฒ Bag of Visual Words๋ง ์ฌ์ฉํด์๋ ์น๋ช ์ ์ธ ๋จ์ ์ด ์๋ค. ๋ฐ๋ก ์ด๋ฏธ์ง์ ์์น์ ์ธ ํน์ฑ์ ๊ณ ๋ คํ์ง ๋ชปํ๋ค๋ ๊ฒ์ด๋ค. ์ด๋ฏธ์ง์ ์์น์ ์ธ ํน์ฑ์ด๋ ์๋ฅผ ๋ค๋ฉด, ๋๋ฌด(tree)๋ฅผ ์์งํ๋ Feature๋ค์ด ๊ฐ์ฅ ๋ง์ด ๋์์ "์ด๊ฑฐ๋ '์ฒ' ์ด๋ฏธ์ง์ผ๊ฑฐ์ผ!" ๋ผ๊ณ ์ถ๋ก ํ์ง๋ง, ์๋ณธ ์ด๋ฏธ์ง๋ฅผ ์ดํด๋ณด๋ ์ด๋ฏธ์ง๊ฐ ๋ด๊ณ ์๋ ์ค์ฌ ๋ด์ฉ์ ์ฒ์ด ์๋๋ผ ์ฌ๋๋ค์ด์๋ค. ๋ฐ๋ก ์๋์ ์ฌ์ง๊ณผ ๊ฐ์ด ๋ง์ด๋ค.
๊ทธ๋์ ์ด๋ฌํ ๋ฌธ์ ์ ์ ๊ทน๋ณตํ๊ธฐ ์ํด์ ์ด๋ฏธ์ง๋ฅผ ๋ถํ ํด ๋ถ๋ฉด์ ๋๋๋ ํด๊ฒฐ์ฑ ์ด ์ ์๋๋ค. ์ฆ, ์ด๋ฏธ์ง๋ฅผ ์ฌ๋ฌ๊ฐ์ ๋ฉด์ผ๋ก ๋ถํ ํด์ ๊ฐ ๋ถ๋ฉด๋ง๋ค Bag of Visual Words๋ฅผ ์ ์ฉํ๋ ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๋ถํ ํ๋ ๋ถ๋ฉด์ ์ฌ๋ฌ๋ฒ ์งํํ๋ค. ์ดํด๋ฅผ ์ํด ๋ค์ ๊ทธ๋ฆผ์ ๋ณด์.
ํด๋น ๊ทธ๋ฆผ์ ํ์๊ฐ ๋ฐฐ์ด ๋ด์ฉ์ ํ ๋๋ก ์ง์ ๋ง๋ค์ด๋ณธ ์๋ฃ๋ค. ์์ ๊ฐ์ด ๋ถ๋ฉด์ ์์ ํ์ง ์์์ ๋, 4๋ถ๋ฉด์ผ๋ก ๋๋์์ ๋ 2๋ฒ์ ์ํํ์ฌ SPM์ ์งํํ๊ณ ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก Countํ ๋ฒกํฐ๋ค์ ํ๋๋ก ๊ฒฐํฉํ๋ค. ํด๋น ์์์์๋ 2๋ฒ๋ง ๋ถํ ์ ์ํํ์ง๋ง ๊ฒฝ์ฐ์ ๋ฐ๋ผ 8๋ถ๋ฉด, 16๋ถ๋ฉด ๋ฑ ์ฌ๋ฌ ๋ฒ ๋ถ๋ฉด์ ์ํํด์ ๊ณ ์ ๋ ์ฌ์ด์ฆ๋ก ๋ฒกํฐ๋ฅผ ๊ฒฐํฉํ ์ ์๋ค.
์์ ๊ฐ์ ๋ถ๋ฉด์ ์ฌ์ฉํ SPM์ ์ฌ์ฉํ๊ฒ ๋๋ฉด Feature Map ๋๋ Region Proposal ์ฌ์ด์ฆ๊ฐ ์๋ก ๋ฌ๋ผ๋ ๋ถ๋ฉด ๋๋๋ ๊ฐ์, ํ์๋ฅผ ๋์ผํ๊ฒ ์ค์ ๋ง ํ๋ค๋ฉด ๊ฒฐํฉํ ๋ฒกํฐ๋ค์ ์ฌ์ด์ฆ๋ ๋์ผํ๊ฒ ๋๋ค.
๊ทธ๋ ๋ค๋ฉด SPP๋ ๋ฌด์์ผ๊น? ๋ฐ๋ก ์ ๊ทธ๋ฆผ์์ Count ๋ฒกํฐ๋ฅผ ์ถ์ถํ ๋ Max๊ฐ๋ง Pooling ํด์ ๋ฒกํฐ๋ฅผ ๊ฒฐํฉํ๋ ๊ฒ์ด๋ค. ๋ฐ๋ก ๋ค์๊ณผ ๊ฐ์ด ๋ง์ด๋ค.
์ต์ข ์ ์ผ๋ก ์์ ๊ฐ์ด SPP ๊ณผ์ ์ ํตํด์ ๋ฒกํฐ๋ฅผ ๋์ผํ ์ฌ์ด์ฆ๋ก ๋ง๋ค๊ณ ์ด์ Dense Layer๋ก ๋๊ฒจ์ฃผ๋ฉด์ ์ต์ข ํด๋์ค๋ฅผ ๋ถ๋ฅํ๊ณ ๋์์ Bounding Box ํ๊ท๋ฅผ ์ํํ๋ค. ๋์ผ๋ก SPP Net์ ๋ํ ํฐ ์ํคํ ์ฒ์ ์ฌ์ง ์๋ฃ๋ฅผ ๋ณด๊ณ ๋ง๋ฌด๋ฆฌํ์.
์ง๊ธ๊น์ง RCNN์ ๋ฌธ์ ์ ์ ํด๊ฒฐํ ์ ์๋ SPP Net์ ๋ํด ์์๋ณด์๋ค. ์ด๋ฌํ SPP Net์ ์ฝ๊ฐ ๋ณํ์ํจ ๋ฒ์ ์ด ๋ฐ๋ก Fast RCNN ๋ชจ๋ธ์ด๋ค. ๋ค์ ํฌ์คํ ์์๋ Fast RCNN์ ๋ํด ์์๋ณด๊ณ SPP Net๊ณผ ์ด๋ค ์ฐจ์ด์ ์ด ์๋์ง์ ๋ํด์ ์์๋ณด๋๋ก ํ์.
'Data Science > Computer Vision' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ML] '๋ ๋น ๋ฅธ' Faster RCNN Object Detection ๋ชจ๋ธ (0) | 2021.04.18 |
---|---|
[ML] Fast RCNN Object Detection ๋ชจ๋ธ (0) | 2021.04.13 |
[ML] RCNN(Regions with CNN) Object Detection ๋ชจ๋ธ (0) | 2021.04.10 |
[ML] Object Detection ๊ธฐ์ด ๊ฐ๋ ๊ณผ ์ฑ๋ฅ ์ธก์ ๋ฐฉ๋ฒ (3) | 2021.04.08 |
[ML] ResNet & Inception Network๋? (2) | 2020.11.13 |