๐ฉ๐ป ์ธ๊ณต์ง๋ฅ (ML & DL)/ML & DL
[Mask R-CNN] ์ดํด ๋ฐ ํ์ต
์ง์ง์ํ์นด
2022. 5. 10. 00:44
728x90
๋ฐ์ํ
220510 ์์ฑ
<๋ณธ ๋ธ๋ก๊ทธ๋ fire_luv๋์ IT_WORLD ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ๊ณ ํด์ ๊ณต๋ถํ๋ฉฐ ์์ฑํ์์ต๋๋ค>
[๋ฆฌ๋ทฐ] Computer Vision Tutorial: Image Segmentation์ ์ํ ๋ง์คํฌ R-CNN ๊ตฌํ
Mask R-CNN์ ํ์ํ์ฌ ์ธ์คํด์ค ๋ถํ ์ด Mask R-CNN๊ณผ ์ด๋ป๊ฒ ์๋ํ๋์ง ์ดํด ํ ๋ค์ Keras๋ฅผ ์ฌ์ฉํ์ฌ Mask R-CNN์ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง์ ๋ถํ ์ ์์ธก ๊ฐ์ Mask R-CNN์ ์ด๋ฏธ์ง ๋ถํ ์์ ์ ์ํ ์ต์ฒจ๋จ ํ
niniit.tistory.com
๐ Mask R-CNN
- Faster R-CNN์ ํ์ฅ
- Faster R-CNN์ด๋?
- ๋ฌผ์ฒด ๊ฐ์ง ์์
์ ๋๋ฆฌ ์ฌ์ฉ๋๋ฉฐ, ์ฃผ์ด์ง ์ด๋ฏธ์ง์ ๋ํด ์ด๋ฏธ์ง์ ๊ฐ ๊ฐ์ฒด์ ๋ํ ํด๋์ค ๋ ์ด๋ธ ๋ฐ ๊ฒฝ๊ณ ์์ ์ขํ๋ฅผ ๋ฐํ
- ๋ ๋น ๋ฅธ R-CNN์ ๋จผ์ ConvNet์ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง์์ ํน์ง ๋งต์ ์ถ์ถ ํ๋ค.
- ๊ธฐ๋ฅ ๋งต์ ํ๋ณด ๊ฒฝ๊ณ ์์๋ฅผ ๋ฐํํ๋ RPN (Region Proposal Network)์ ํตํด ์ ๋ฌ๋๋ค.
- ํ๋ณด ๊ฒฝ๊ณ ์์์ RoI ํ๋ง ๋ ์ด์ด๋ฅผ ์ ์ฉํ์ฌ ๋ชจ๋ ํ๋ณด๋ฅผ ๋์ผํ ํฌ๊ธฐ๋ก ๊ฐ์ ธ์จ๋ค.
- ๋ง์ง๋ง์ผ๋ก ์ ์์ ์์ ํ ์ฐ๊ฒฐ๋ ๋ ์ด์ด๋ก ์ ๋ฌ๋์ด ๊ฐ์ฒด์ ๊ฒฝ๊ณ ์์๋ฅผ ๋ถ๋ฅํ๊ณ ์ถ๋ ฅํ๋ค
- ๋ฌผ์ฒด ๊ฐ์ง ์์
์ ๋๋ฆฌ ์ฌ์ฉ๋๋ฉฐ, ์ฃผ์ด์ง ์ด๋ฏธ์ง์ ๋ํด ์ด๋ฏธ์ง์ ๊ฐ ๊ฐ์ฒด์ ๋ํ ํด๋์ค ๋ ์ด๋ธ ๋ฐ ๊ฒฝ๊ณ ์์ ์ขํ๋ฅผ ๋ฐํ
- ์์ธก ๋จ๊ณ
- 1๋จ๊ณ backbone ๋ชจ๋ธ
- Faster R-CNN์์ ์ด๋ฏธ์ง์์ ํผ์ณ ๋งต์ ์ถ์ถํ๊ธฐ ์ํด ResNet 101 ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํ์ฌ Mask R-CNN์ ์ด๋ฏธ์ง์์ ํผ์ณ๋ฅผ ์ถ์ถํ๋ค.
- ์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ ResNet 101 ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ ธ์ค๊ณ ํน์ง์ ์ถ์ถํ๋ ๊ฒ์ด๋ค.
- ⇒ ๋ค์ ๋ ์ด์ด์ ์ ๋ ฅ ์ญํ ์ ํ๋ค.
- 2๋จ๊ณ ์ง์ญ ์ ์ ๋คํธ์ํฌ (RPN)
- ์ด์ ๋จ๊ณ์์ ์ป์ ๊ธฐ๋ฅ ๋งต์ ๊ฐ์ ธ์์ ์ง์ญ ์ ์ ๋คํธ์ํฌ (RPM)๋ฅผ ์ ์ฉํ๋ค.
- ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ฒด๊ฐ ํด๋น ์์ญ์ ์๋์ง ์ฌ๋ถ๋ฅผ ์์ธกํ๋ค.
- ⇒ ๋ชจ๋ธ์ด ์ด๋ค ๊ฐ์ฒด๋ฅผ ํฌํจํ๋ค๊ณ ์์ธกํ๋ ์ง์ญ or ๊ธฐ๋ฅ ๋งต์ ์ป๋๋ค.
- 3๋จ๊ณ ๊ด์ฌ ์์ญ (RoI)
- RPN์์ ์ป์ ์์ญ์ ๋ชจ์์ด ๋ค๋ฅผ ์ ์๋ค.
- ํ๋ง ๋ ์ด์ด๋ฅผ ์ ์ฉํ๊ณ ๋ชจ๋ ์์ญ์ ๋์ผํ ๋ชจ์์ผ๋ก ๋ณํํ๋ค.
- ์ด๋ฌํ ์์ญ์ ์์ ํ ์ฐ๊ฒฐ๋ ๋คํธ์ํฌ๋ฅผ ํตํด ์ ๋ฌ๋๋ฏ๋ก ํด๋์ค ๋ ์ด๋ธ ๋ฐ ๊ฒฝ๊ณ ์์๊ฐ ์์ธก๋๋ค.
- Faster R-CNN๊ณผ์ ์ฐจ์ด์ ์ Mask R-CNN์ ๋ถํ ๋ง์คํฌ ์์ฑํ๋ค.
- ⇒ ๋จผ์ ๊ด์ฌ ์์ญ์ ๊ณ์ฐํ์ฌ ๊ณ์ฐ ์๊ฐ์ ์ค์ผ ์ ์๋ค.
- ⇒ ๋ชจ๋ ์์ธก ์ง์ญ์ ๋ํด Ground Truth ์์๋ฅผ ์ฌ์ฉํ์ฌ IoU (Intersection over Union)๋ฅผ ๊ณ์ฐํ๋ค.
- IoU = ๊ต์ฐจ ์์ญ / ์กฐํฉ ์์ญ
- IoU๊ฐ 0.5๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ ๊ฒฝ์ฐ์๋ง ์ด๋ฅผ ๊ด์ฌ ์์ญ์ผ๋ก ๊ฐ์ฃผํ๋ค.
- ๊ทธ๋ ์ง ์์ผ๋ฉด ํน์ ์ง์ญ์ ๋ฌด์ํ๋ค.
- ๋ชจ๋ ์ง์ญ์ ๋ํด ์ด ์์ ์ ์ํ ํ ๋ค์ IoU๊ฐ 0.5๋ณด๋ค ํฐ ์ง์ญ ์งํฉ๋ง ์ ํํ๋ค.
- 1๋จ๊ณ backbone ๋ชจ๋ธ
- 4๋จ๊ณ Segmentation Mask
- IoU ๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ RoI๊ฐ ์์ผ๋ฉด ๊ธฐ์กด ์ํคํ ์ฒ์ ๋ง์คํฌ ๋ถ๊ธฐ๋ฅผ ์ถ๊ฐํ ์ ์๋ค.
- ๊ฐ์ฒด๋ฅผ ํฌํจํ๋ ๊ฐ ์์ญ์ ๋ํ ๋ถํ ๋ง์คํฌ๋ฅผ ๋ฐํํ๋ค.
- ๊ฐ ์์ญ์ ๋ํด 28 X 28 ํฌ๊ธฐ์ ๋ง์คํฌ๋ฅผ ๋ฐํํ ๋ค์ ์ถ๋ก ์ ์ํด ํ์ฅํ๋ค.
- ๊ตฌํ๋จ๊ณ
- 1) clone the repository
- ๊ตฌํ ๋จ๊ณ: Mask R-CNN์ ๋ํ ์ํคํ ์ฒ๊ฐ ์๋mask rcnn ์ ์ฅ์๋ฅผ ๋ณต์
- 1) clone the repository
!git clone https://www.github.com/matterport/Mask_RCNN.git
-
- 2) Install the dependencies
- numpy
- scipy
- Pillow
- cython
- matplotlib
- scikit-image
- tensor flow>=1.3.0
- keras>=2.0.8
- opencv-python
- h5py
- imgaug
- IPython
- 3) ์ฌ์ ํ๋ จ๋ ๊ฐ์ค์น ๋ค์ด๋ก๋ (MS COCO์์ ํ๋ จ๋จ)
- ์ฌ์ ํ๋ จ๋ ๊ฐ์ค์น๋ฅผ ๋ค์ด๋ก๋ํด์ผ ํ๋ค. (๋งํฌ)
- ์ด๋ฌํ ๊ฐ์ค์น๋ MS COCO ๋ฐ์ดํฐ ์ธํธ์์ ํ์ต๋ ๋ชจ๋ธ์์ ์ป๋๋ค.
- weight๋ฅผ download(๋ค์ด๋ก๋) ํ ํ 1 ๋จ๊ณ์์ ๋ณต์ ํ Mask_RCNN ์ ์ฅ์์ ์ํ ํด๋์ ์ด ํ์ผ์ ๋ถ์ฌ ๋ฃ๊ธฐ
- 4) ์ด๋ฏธ์ง ์์ธก
- Mask R-CNN ์ํคํ ์ฒ์ ์ฌ์ ํ๋ จ๋ ๊ฐ์ค์น๋ฅผ ์ฌ์ฉํ์ฌ ์์ฒด ์ด๋ฏธ์ง์ ๋ํ ์์ธก์ ์์ฑํ๋ค.
- Python์ผ๋ก ๊ตฌํ ํ ๋ค์ ์ด๋ฏธ์ง์ ๊ฐ์ฒด์ ๋ํ ํด๋์ค ๋ฐ ๊ฒฝ๊ณ ์์์ ํจ๊ป ๋ง์คํฌ๋ฅผ ์์ฑํ๋ค.
- 2) Install the dependencies
728x90
๋ฐ์ํ