Pythonで簡単に物体検出&セグメンテーション Mask R-CNN

スポンサーリンク
Python/DeepLearning

こんにちは!みやしんです😁

今日も面白いネタをご紹介できそうです!

今回は「Mask R-CNN」という手法を使って物体検出セグメンテーション簡単に体験してもらいたいなと思います!

みやしん
みやしん

これから紹介するやり方で5分くらい物体検出とセグメンテーションが出来てしまうのでオススメにゃ!!

スポンサーリンク

この記事で出来ること

百聞は一見に如かず!と思いますので、何ができるようになるのかYouTubeにいい動画がありましたので、早速見て頂きたいです!

みやしん
みやしん

おおおおお~!!

ワクワクするにゃ🤗


さっそくMask-RCNNを体験!

まずはOpenCVをインストール

OpenCVが入っている方は飛ばしちゃってくださいね!

Mask-RCNNを実行した時にエラーが出てしまう場合はOpenCVをアップデートか再インストールしてください。

conda install -c conda-forge opencv

これでOKです!

Mask-RCNNの環境構築

まずは、下記のgitをクローンしてください

git clone https://github.com/spmallick/learnopencv.git

僕はデスクトップにダウンロードしましたが、「learnopencv」というフォルダが出来たと思います。

↑こんな感じです。

フォルダの中を見ると、、、

みやしん
みやしん

すごくいっぱい入ってるにゃ!

この中から「Mask-RCNN」というフォルダを見つけてくださいね!

Mask-RCNNフォルダの中を開けるとこんな感じです。

後ほど、このフォルダ内の「mask_rcnn.py」を実行して物体検出とセグメンテーションを行っていきますが、事前にもうひと準備が必要です。

下記リンクをブラウザにコピペして学習済みモデルをダウンロードしてください。

“http://download.tensorflow.org/models/object_detection/mask_rcnn_inception_v2_coco_2018_01_28.tar.gz”

「mask_rcnn_inception_v2_coco_2018_01_28.tar.gz」をダウンロードできます。

ダウンロードしたら解凍してください。

解凍すると、

そしてこのフォルダを先程のMask-RCNNフォルダにコピペしてください。

これで環境ができました!

物体検出&セグメンテーションを実行

Mask-RCNNフォルダの中にサンプル画像(cars.jpg)サンプル動画(cars.mp4)が入っているので、これらを使ってやってみたいと思います。

Anaconda Powershell Promptを開き、先程のMask-RCNNフォルダ内のmask_rcnn.pyを実行します。

画像でやってみる

python mask_rcnn.py --image=cars.jpg

Mask-RCNNフォルダ内に「cars_mask_rcnn_out_py.jpg」というファイル名で結果が出力されていますので確認してくださいね!

動画でやってみる

python mask_rcnn.py --video=cars.mp4

CPUだと激おそです。。。

Mask-RCNNフォルダ内に「cars_mask_rcnn_out_py.avi」というファイル名で結果が出力されます!

こんな感じです!

おおお!かっこいいですね!✨

PCのカメラでやってみる

python mask_rcnn.py

リアルタイムで物体検出できて面白い!!!

他の画像もやってみた

Mask_RCNNフォルダに色々画像を入れてやってみました。

画像は.jpgじゃないとできないみたいですね。.pngはダメでした。

おおおお、かわいい✨ちがうか。

人が重なり合って難しいと思いますが、結構しっかり検出できてますね。

左上の人は腕だけ検出されてますね!(ごめんなさい、流行に疎くてお名前が分かりません)

おお!鳥同士が重なっているところは判別が難しそうですが、それなりにしっかり検出できていますね!物体同士の重なりがないものであれば、上手に検出できそうですね!

合わせて読みたい

Python/DeepLearning
スポンサーリンク
記事が良かったらSNSでシェアを宜しくお願いします!
みやしんをフォローすると役立つ情報がいっぱいにゃ!
スポンサーリンク

コメント

タイトルとURLをコピーしました