Anaconda는 python을 좀 더 수월하게 관리&사용하기 위한 환경이다.
여러번 시도해본 결과 여러 파이선버전으로 다른 프로그램을 구동하고 싶다면 Anaconda에서 가상환경을 구축하는 것이 가장 효율적이다.
여러 다른 버전의 python을 충돌없이 사용할 수 있다.
Anaconda설치&가상환경 만들기
먼저 Anaconda 홈페이지에 가서 Anaconda를 설치한다.
https://www.anaconda.com/distribution/
다운로드 페이지에서 두 가지 버전의 python을 선택할 수 있는데 거의 대부분 3.7버전을 까는 것같다.
설치가 완료되면 Anaconda Prompt가 설치된 것을 확인할 수 있다.
prompt창은 cmd과 비슷하게 사용하면 된다.
먼저 anaconda는 base 즉, 기본 환경이 구축되어 있고 여기서 명령어를 통해 원하는 python버전을 사용한 가상환경을 만들 수 있다.
conda create -n "이름" python==파이선버전 pip
conda create -n MaskRCNN python==3.6.5 pip
코드를 실행시키면 base경로에서 /Anaconda3/envs/ 경로 내부에 MaskRCNN이름의 가상환경 폴더가 생겼을 것이다.
이 가상환경은 python3.6.5버전을 사용할 수 있는 환경이 될 것이다.
activate MaskRCNN
이다음 가상환경을 활성화시킨다!
(base)에서 (MaskRCNN)이 된 것을 확인할 수 있다.
MaskRCNN
이 후 먼저 MaskRCNN 코드를 돌려보기 위한 여러 패키지들을 설치해야한다.
https://www.youtube.com/watch?v=2TikTv6PWDw
이 유투브링크에 가면 정말 설명히 자세하게 나와있다!
(물론 이 순서를 따라해도 애를 많이 먹었지만,,)
해당 유투브 더보기란에 github링크도 나와있다!
<dependencies설치>
방법1. 한번에 설치
pip install -r requirements.txt
github사이트에 여러 dependencies가 담긴 requirements.txt파일이 있어 위처럼 한번에 설치가 가능하다.
방법2. 버전을 지정해 따로 설치(cpu를 사용한다면 이 방법이 더 수월하다)
requirements.txt에 보면 tensorflow-gpu가 있는데 gpu없이 cpu로만 실험해서 해당 dependency는 설치하지 않고 tensorflow만 설치해야했다.
내 경우에는 이 과정에서 맞는 버전의 tensorflow를 깔아야 했었는데 tensorflow==1.5.0, keras==2.1.6버전으로 specify해서 깔았다.
pip install tensorflow==1.5.0
pip install keras==2.1.6
버전문제로 고생을 많이 했는데 tensorflow의 경우에는 2.0버전은 python3.7을 지원하지 않는다.
그런데 Anaconda가 python3.7버전으로 깔려있기 때문에 가상환경을 만들때 위의 예시처럼 python==3.6.5으로 만들어야 tensorflow==1.5.0을 깔수있다.
keras버전의 경우에도 2.1.6이 돌아가는 것을 확인했다.
pip install numpy scipy cython h5py Pillow scikit-image jupyter
위처럼 나머지 dependencies들도 각각 install해주었다.
<git설치&git clone>
이제 github에 있는 코드를 그대로 복사해온다.
git clone https://github.com/matterport/Mask_RCNN.git
git이 없다면 download해주어야 한다!, window git 다운로드 링크: https://git-scm.com/download/win
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
mask rcnn을 위한 tool인 cocoapi, imgaug도 같이 clone해 온다.
이를 위해 먼저 visual studio build tools이 필요하다.
https://github.com/philferriere/cocoapi.git
이 링크에 들어가보면 visual studio build tool 2015를 설치하는 방법이 나와있다!
pre-trained모델 다운로드
**그리고 pre-trained 된 weight를 미리 다운받아야 한다.
https://github.com/matterport/Mask_RCNN/releases
mask_rcnn_coco.h5모델을 다운받아서 MaskRCNN가상환경이 있는 경로에 넣어준다.
ex) C://Users/사용자이름/Anaconda3/envs/MaskRCNN(가상환경이름)/Mask_RCNN
Jupyter notebook으로 코드 돌려보기
이제 jupyter notebook을 사용해서 코드를 돌려볼 수 있다.
jupyter notebook
jupyter notebook은 온라인상에서 python code를 돌려볼 수 있는 환경이다.
samples/에 demo.ipynb파일들어가서 실행시켜보면 된다!
코드블럭을 선택하고 ctrl + Enter를 누르면 해당 코드블럭이 실행된다.
전체 다 실행하고 마지막 코드블록을 돌려보면
위와 같이 bounding box와 segmentation등이 나온다!
마지막 코드블록을 위처럼 수정하면 원하는 사진에서의 bounding box, segmentation을 얻을 수 있다!
끝으로 위의 youtube링크말고도 아래의 링크에서 정말 도움을 많이 받았다!!!