LoginSignup
1
2

More than 3 years have passed since last update.

Mask R-CNNの実装手順

Posted at

はじめに

Dockerを使い始める前、苦労してMask R-CNNを実装したときのメモを記事にしておきます

自分用メモだったため、説明が雑ですが、参考になれば幸いです。

環境構築

インストール

Python v3への切り替え

予めPythonv3に切り替えておく必要があります。やり方は割愛します。

jupyterのインストール

pip install jupyter
jupyter notebook

Mask R-CNNのソースコードを取ってくる

mkdir ~/maskrcnn_ws
cd maskrcnn_ws
git clone https://github.com/matterport/Mask_RCNN.git

必要なパッケージをインストール

pip3 install -r requirements.txt --user
python3 setup.py install –-user

エラー対処

たくさんエラーを吐くので、以下のサイトを見ながら1つずつアップデート&インストールをする。(権限エラーが起きたら --user をつける)

Import cv2でエラー

import cv2を以下のように置き換える

import sys
sys.path.remove('/opt/ros/kinetic/lib/python2.7/dist-packages')
import cv2 

参考サイト:https://www.jyuko49.com/entry/2018/11/14/083226#Mask-R-CNNでできること
参考サイト:https://qiita.com/ReoNagai/items/112c3a8b6cd55c3e5380
参考サイト:https://qiita.com/HyunwookPark/items/242a8ceea656416b6da8

COCOデータセットをインストール

git clone https://github.com/cocodataset/cocoapi.git
cd coco/PythonAPI
sudo python3 setup.py install

GPUに対応させる(CUDA, cuDNN, TensorFlowをインストール)

バージョン確認

NVIDIAドライバーのバージョン確認

dpkg -l | grep nvidia

ドライバとCUDAの対応確認

https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

CUDAとcuDNNとtensorflow-gpuの対応確認

https://www.tensorflow.org/install/source#common_installation_problems

環境を最新にする

sudo apt-get upgrade
sudo apt-get update
sudo apt list upgradable

参考サイト:https://qiita.com/konzo_/items/a6f2e8818e5e8fcdb896
参考サイト:https://qiita.com/konzo_/items/3e2d1d7480f7ef632603

ビルドツールインストール

sudo apt-get install build-essential

CUDA

ダウンロード

https://developer.nvidia.com/cuda-toolkit-archive から対応するバージョンの~networkをダウンロード

インストール

cd ~/ダウンロード
sudo dpkg -I [ダウンロードしてきたファイルの名前].deb
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda-toolkit-10-0

cuda-toolkit-XX-Xは上で見たバージョンに合わせる

bashrcの設定

sudo gedit ~/.bashrc

一番下に以下を追加

   export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}} 
   export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} 

再起動

CUDAの確認

 nvcc -V

cuDNN

ダウンロード

https://developer.nvidia.com/cudnn からRuntimeとDeveloper~とCode~をダウンロード(要ログイン)

インストール

sudo dpkg -i libcudnn7_7.4.1.5-1+cuda10.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.4.1.5-1+cuda10.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.4.1.5-1+cuda10.0_amd64.deb

※以上の順番でインストール(ファイル名はダウンロードしてきたものに変える)

TensorFlow

pip3 install tensorflow-gpu==1.14.0

※バージョンはうえで確認した対応関係に合わせる

エラー対処

Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR

VS Codeなどで下記ファイルを開く

   ~/.local/lib/python3.5/site-packages/keras/backend/tensorflow_backend.py

ファイルの変更

tf.Session()の箇所を

 session_config = tf.ConfigProto(gpu_options=tf.GPUOptions(allow_growth=True))
    tf.Session(config = session_config)

で置き換える

参考サイト:https://qiita.com/hiroshijsc16/items/d7226eae499e5ad7e5e9

動画を読み込む

参考サイト(サンプルコードはここにある):https://ai-coordinator.jp/mask-r-cnn

エラー対処

modelがインポートできない

~/maskrcnn_ws/Mask_RCNN/maskrcnn_from_movie.pyimport modelimport mrcnn.model as modellibに変更

cocoがインポートできない

cocoimport samples.coco.coco as cocoに変更

cv2がインポートできない

なんだかんだそのままでうまく行くようになった(理由はよくわからない)

画像読み込み(maskrcnn_from_photo.py)

参考サイト:https://www.jyuko49.com/entry/2018/11/14/083226#Mask-R-CNN%E3%81%A7%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%93%E3%81%A8

エラー対処

Tensorflowが見つからない

pip3 install -U tensorflow keras

参考サイト:https://teratail.com/questions/138592

Imgaungが見つからない

pip3 install imgaug

cv2が見つからない

import cv2を以下で置き換える

  import sys
  sys.path.remove('/opt/ros/kitf.Sessionnetic/lib/python2.7/dist-packages')
  import cv2

エラー対処

CUDNN_STATUS_INTERNAL_ERROR

config.gpu_options.allow_growth = True
        _SESSION = tf.Session(config=config)

参考サイト:https://github.com/tensorflow/tensorflow/issues/27144

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2