こんにちは!みやしんです😁
今日も面白いネタをご紹介できそうです!
今回は「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はダメでした。
おおおお、かわいい✨ちがうか。
人が重なり合って難しいと思いますが、結構しっかり検出できてますね。
左上の人は腕だけ検出されてますね!(ごめんなさい、流行に疎くてお名前が分かりません)
おお!鳥同士が重なっているところは判別が難しそうですが、それなりにしっかり検出できていますね!物体同士の重なりがないものであれば、上手に検出できそうですね!
コメント