Anaconda3가 설치되어있는 것을 전제로 한 포스팅입니다.

아나콘다가 설치되어있지 않다면 아래 링크를 참조해주세요!

developer-woong.tistory.com/3

 

(Anaconda3 & Python evironment settings) 아나콘다3, 파이썬 환경 설정

이번 시간엔 아나콘다3를 설치해서 기본적인 파이썬 환경을 구축해보겠습니다. www.anaconda.com/products/individual Anaconda | Individual Edition Anaconda's open-source Individual Edition is the easiest..

developer-woong.tistory.com

 

이번 포스팅에서는 tensorflow cpu기반으로 Mask-RCNN구동 환경을 구축해보도록 하겠습니다.

이미지 딥러닝같은 분야는 GPU기반으로 구동하는 것이 더 많고 빠르게 할 수 있지만,

이번엔 이미지의 양이 많지 않고 우선 MaskRCNN의 기본지식을 알기위해 CPU기반으로 구축하게 되었습니다!

 

www.tensorflow.org/install/source_windows#tested_build_configurations

 

Windows의 소스에서 빌드  |  TensorFlow

소스에서 TensorFlow pip 패키지를 빌드하고 Windows에 설치합니다. 참고: 잘 테스트되고 사전 빌드된 Windows 시스템용 TensorFlow 패키지가 이미 제공되고 있습니다. Windows용 설정 다음 빌드 도구를 설치

www.tensorflow.org

tensorflow 윈도우기반 공식 문서입니다. 

 

스크롤을 내리시다보면 CPU기반 버전 호환 표가 나타납니다.

이번 시간에는 tensorflow-1.5.0으로 구축해보겠습니다.

호환되지 않는 버전을 설치하면 오류발생율이 높아지니 유의해주세요!

 

우선 첫 번째로 visual studio installer를 설치하겠습니다.

 

visualstudio.microsoft.com/ko/downloads/

 

Download Visual Studio 2019 for Windows & Mac

Download Visual Studio Community, Professional, and Enterprise. Try Visual Studio IDE, Code or Mac for free today.

visualstudio.microsoft.com

위 링크에 접속해주세요!

 

스크롤을 내리시면 모든 다운로드라는 카테고리가 나옵니다.

그 중 Tools for Visual Studio 2019 클릭!

 

클릭 후 맨 아래에 있는 Visual Studio 2019용 Build Tools를 다운로드 해줍니다!

 

설치 완료 후 실행화면입니다.

Visual C++ 빌드 도구 오른편 박스에 체크해주시면 설치 세부 정보가 오른쪽에 나타납니다.

보시는 것과 같이 체크해주시고 설치버튼을 눌러주세요!

(이렇게 많이는 안해도 될 거 같은데 전 그냥 했습니다..)

 

자! 그럼 이번엔 아나콘다 프롬포트를 이용해 가상환경을 생성하고,

그 곳에서 작업을 해보겠습니다!

(아나콘다3 설치시 파이썬 버전이 3.8.3으로 자동 설치되었고, tensorflow 1.5버전은

python 3.5~3.6버전 호환이여서 가상환경을 python 3.6버전으로 생성해보겠습니다!)

 

윈도우 탐색창에 anaconda 입력 후 Anaconda Prompt (Anaconda3) 실행!

conda create -n MaskRCNN python=3.6 pip

python 3.6버전의 MaskRCNN이라는 이름으로 가상환경을 생성하는 명령어입니다.

위 명령어를 입력하고 엔터를 눌러주세요!!

 

conda info --envs

확인해보니 가상환경이 정상적으로 생성되었네요ㅎㅎ

 

activate MaskRCNN
python --version

생성된 MaskRCNN가상환경으로 접속합니다.

python도 버전에 맞게 잘 설치되었음을 확인!

 

pip install tensorflow==1.5
pip install keras==2.2.0
pip install cython matplotlib scikit-image Pillow jupyter pandas numpy scipy
pip install h5py==2.7.0
pip install opencv-python ipython

 

현재 경로에서 위 명령어들을 한 줄씩 실행해주세요!

CPU기반이기때문에 tensorflow-gpu가 아닌 tensorflow를 설치하였습니다.

(tensorflow-gpu로도 시도해보니 결과는 같았음.. tensorflow-gpu내에

tensorflow가 내장되어있는건가...)

 

cd Desktop
mkdir Mask_RCNN
cd Mask_RCNN

설치가 완료되었다면 위 코드들도 한 줄씩 실행해주세요!

바탕화면으로 경로 이동 -> Mask_RCNN이라는 폴더 생성 -> Mask_RCNN으로 경로 이동

 

#git을 통해 데이터 및 모듈들을 가져올 것입니다.
conda install -c anaconda git
#Mask_RCNN파일 설치
git clone https://github.com/matterport/Mask_RCNN.git
#cocotools 설치
git clone https://github.com/philferriere/cocoapi.git

pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=pythonAPI

git clone https://github.com/aleju/imgaug.git

pip install imgaug

현재 경로입니다.

위 경로에서 코드들을 한 줄씩 실행시켜주세요!

 

https://github.com/matterport/Mask_RCNN/releases

 

Releases · matterport/Mask_RCNN

Mask R-CNN for object detection and instance segmentation on Keras and TensorFlow - matterport/Mask_RCNN

github.com

위 링크에 접속해주세요!

 

mask_rcnn__coco.h5 폴더를 다운로드 받은 후 압축을 풀어줍니다.

(중간쯤 Mask R-CNN 2.0에 위치한 폴더를 다운로드 받았습니다.)

 

압축 해제한 mask_rcnn.coco폴더 내에 mask_rcnn_coco.h5파일을

가상환경에서 생성했던 바탕화면의 Mask_RCNN폴더로 옮겨주세요!

 

Mask_RCNN폴더의 구조입니다.

 

cd Mask_RCNN\samples
jupyter notebook

samples 폴더로 경로를 위치시킨 후 주피터 노트북 실행!

 

demo.ipynb 클릭!

 

위에서부터 하나씩 실행해보니 잘 실행되는군요!

코드를 보니 Mask_RCNN폴더 내에 images 폴더의 여러 .jpg파일 중

랜덤으로 하나를 골라 분석을 했네요!

그럼 구글에서 고양이 사진을 하나 다운로드 받아 images폴더에

넣은 후 분석해보도록 하겠습니다ㅎㅎ

# Load a random image from the images folder

# 기존 랜덤으로 이미지를 선택하여 분석하는 코드
# file_names = next(os.walk(IMAGE_DIR))[2]
# image = skimage.io.imread(os.path.join(IMAGE_DIR, random.choice(file_names)))

#다운받은 고양이 사진을 분석
file_names = os.path.join(IMAGE_DIR, 'cat.jpg')
image = skimage.io.imread(file_names)


# Run detection
results = model.detect([image], verbose=1)

# Visualize results
r = results[0]
visualize.display_instances(image, r['rois'], r['masks'], r['class_ids'], 
                            class_names, r['scores'])

네! 정상적으로 구동되고 cat이라는 라벨링까지 잘 되는군요 ㅎㅎㅎ

 

꽃, 잎, 줄기등을 구분지어 라벨링해주는 결과가 필요한데,

그러기위해서 데이터셋을 모으고 파인튜닝을 통해서 구조에 맞게 코딩을 해야할 것 같아요.

ㅎㅎㅎ 어렵지만 재밌고 뿌듯하군요

 

다른 에러가 나타나시거나 혹은 글에 잘못된 내용, 빠진 내용들을 지적해주시면

감사히 받고 수정하도록 하겠습니다!

많이 추워지는데 감기 조심하세요! 이번 포스팅은 여기서 마치겠습니다. 감사합니다:)

 

(정말 많은 도움받았습니다! 감사합니다!) 참조:

ultrakid.tistory.com/21

 

[Keras] Mask R-CNN 환경 구성 및 Object Detection 예제 실행

이번 게시물은 Windows10 에서 Anaconda 가상환경에 Mask R-CNN 을 세팅하여 간단한 사진 예제를 돌려보겠습니다. 우선 Mask R-CNN이란 무엇인가? Mask R-CNN : Mask Region-based Convolutional Network  Mask..

ultrakid.tistory.com

 

반응형

+ Recent posts