관리 메뉴

ComputerVision Jack

[Vision Mask RCNN - Image] 본문

DeepLearning Study/Computer vision 스터디

[Vision Mask RCNN - Image]

JackYoon 2020. 10. 19. 18:10
반응형

R-CNN

CNN 모델에 Region proposal을 추가하여, 물체가 존재할 법한 곳을 제안하고, 해당 ROI 안에서 물체를 Object Deteciton하는 방법입니다. 

 

R-CNN 모델 계열

  •  R-CNN(2014) - Object Detection
  • Fast R-CNN(2015) - Object Detection
  • Faster R-CNN(2016) - Object Detection
  • Mask R-CNN(2017) - Instance Segmentation

Mask R-CNN

Mask R-CNN 방식은 Faster R-CNN에 픽셀의 객체 여부를 파악하는 Masking을 CNN에 추가한 방식입니다.

 

Faster R-CNN과의 차이점

  • Faster R-CNN에 존재하는 "bbox 인식을 위한 브랜치"에 병렬로 오브젝트 마스크 예측 브랜치 추가
  • ROI Pooling 방법 대신 ROI Align 방법을 사용합니다.
  • Mask prediction과 Class prediction을 decouple 합니다.

Mask R-CNN using colab

오늘 스터디에선 아래의 것허브에 해당하는 내용을 구현하는 시간을 가졌습니다. 해당 내용은 colab에서 mask-rcnn을 진행하는 방법입니다. 

github.com/Tony607/colab-mask-rcnn

 

Tony607/colab-mask-rcnn

How to run Object Detection and Segmentation on a Video Fast for Free - Tony607/colab-mask-rcnn

github.com

우선 해당 내용을 코렙에서 실행할 경우 라이브러리 버전 차이로 인한 문제에 직면할 수 있습니다.

따라서 해당 라이브러리의 버전을 다운그레이드하는 방법이 필요합니다.

 

라이브러리 다운그레이드

우선 Tensorflow 라이브러리 1.x버전을 사용하기위해 준비합니다.

또한 keras 및 numpy scipy 버전도 해당 버전에 맞게 pip으로 재설치를 진행합니다.

GPU 환경을 사용하는지 체크

다음 해당 코드는 구현 환경 내에서 GPU를 사용하는지 체크하는 코드 입니다. Colab을 사용하여 런타임 유형을 gpu로 설정하고 진행하시면 됩니다.

coco clone 및 환경 구축

다음은 coco를 위해 gitclone을 진행하고, 해당 coco를 사용하기 위한 tool 및 환경을 구축합니다.

mask r-cnn clone

다음은 Mask R-CNN 모델을 사용하기 위해 Git clone을 진행하고, 경로를 설정합니다.

Mask R-CNN 데모

이제 필요한 환경 구축은 다 끝났습니다. 이제 구축환 환경을 토대로 Mask r-cnn에 대한 데모를 진행해보겠습니다.

해당 코드는 필요한 라이브러리를 import 하고, os.path를 통해 git clone에 대한 디렉토리에 접근하는 코드입니다.

Configuration

InferenceConfig 클래스를 통해 해당 모델의 구성 조건을 확인해보는 코드입니다. 제작한 클래스를 바탕으로

config 객체를 생성한 후, display() 메서드를 통해서 확인할 수 있습니다.

모델 생성 및 가중치 조절

다음은 model을 생성하고 생성한 모델에 미리 학습된 가중치를 load합니다.

분류 클래스
데모 실습 코드
데모 실습 결과

생성한 모델을 토대로 detect() 메소드를 활용하여 Mask_RCNN/images 안의 sample에 대하여 결과를 추출해봅니다.

 

Custom Image

이번엔 학습된 모델에 대해 제공된 모델이 아닌 직접 새로운 이미지를 넣어보겠습니다.

이미지 예시 다운로드

이미지를 다운 받으면 Mask_RCNN/Image 경로에 해당 이미지가 들어간 것을 확인할 수 있습니다.

마지막 하단에 이미지 삽입 결과
custom 이미지 실행 결과

다운받아 모델에 집어넣은 입력에 대한 부분도 결과가 잘 추출된 것을 확인할 수 있습니다.

반응형

'DeepLearning Study > Computer vision 스터디' 카테고리의 다른 글

[Vision Mask RCNN - Video]  (0) 2020.10.20
[vision Yolov5-Webcam]  (16) 2020.08.29
[Vision Yolov5]  (2) 2020.08.21
Comments