๐Ÿ˜Ž ๊ณต๋ถ€ํ•˜๋Š” ์ง•์ง•์•ŒํŒŒ์นด๋Š” ์ฒ˜์Œ์ด์ง€?

[Mask R-CNN] ์ดํ•ด ๋ฐ ํ•™์Šต ๋ณธ๋ฌธ

๐Ÿ‘ฉ‍๐Ÿ’ป ์ธ๊ณต์ง€๋Šฅ (ML & DL)/ML & DL

[Mask R-CNN] ์ดํ•ด ๋ฐ ํ•™์Šต

์ง•์ง•์•ŒํŒŒ์นด 2022. 5. 10. 00:44
728x90
๋ฐ˜์‘ํ˜•

220510 ์ž‘์„ฑ

<๋ณธ ๋ธ”๋กœ๊ทธ๋Š” fire_luv๋‹˜์˜ IT_WORLD ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค>

https://niniit.tistory.com/32

 

[๋ฆฌ๋ทฐ] 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๋ณด๋‹ค ํฐ ์ง€์—ญ ์ง‘ํ•ฉ๋งŒ ์„ ํƒํ•œ๋‹ค.

  • 4๋‹จ๊ณ„ Segmentation Mask
    • IoU ๊ฐ’์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” RoI๊ฐ€ ์žˆ์œผ๋ฉด ๊ธฐ์กด ์•„ํ‚คํ…์ฒ˜์— ๋งˆ์Šคํฌ ๋ถ„๊ธฐ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๊ฐ์ฒด๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฐ ์˜์—ญ์— ๋Œ€ํ•œ ๋ถ„ํ•  ๋งˆ์Šคํฌ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. 
    • ๊ฐ ์˜์—ญ์— ๋Œ€ํ•ด 28 X 28 ํฌ๊ธฐ์˜ ๋งˆ์Šคํฌ๋ฅผ ๋ฐ˜ํ™˜ํ•œ ๋‹ค์Œ ์ถ”๋ก ์„ ์œ„ํ•ด ํ™•์žฅํ•œ๋‹ค.

 

 

  • ๊ตฌํ˜„๋‹จ๊ณ„
    • 1) clone the repository
      • ๊ตฌํ˜„ ๋‹จ๊ณ„: Mask R-CNN์— ๋Œ€ํ•œ ์•„ํ‚คํ…์ฒ˜๊ฐ€ ์žˆ๋Š”mask rcnn ์ €์žฅ์†Œ๋ฅผ ๋ณต์ œ
!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์œผ๋กœ ๊ตฌํ˜„ ํ•œ ๋‹ค์Œ ์ด๋ฏธ์ง€์˜ ๊ฐ์ฒด์— ๋Œ€ํ•œ ํด๋ž˜์Šค ๋ฐ ๊ฒฝ๊ณ„ ์ƒ์ž์™€ ํ•จ๊ป˜ ๋งˆ์Šคํฌ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

 

 

 

 

728x90
๋ฐ˜์‘ํ˜•
Comments