今回はyoloという物体検出手法を使って物体を検出してみようと思います。
プログラムはすでに公開してくれているので、今回はそれに自分で用意した画像を入れていくだけですね。
OSSは素晴らしいです。ではやってみましょう。
環境
今回は以下のような環境で動かしてみます。
- ubuntu : 20.04
- python : 3.8.0
gitも入っていることを想定しています。
恐らくgitが入っていればwindowsも動くと思います。
必要であればvirtualenv等で環境を作ってください。
virtualenv venv
source venv/bin/activate
yoloを使った物体検出
最初にも言いましたが、すでにソースコードが公開されているので、
それを使います。
https://github.com/zzh8829/yolov3-tf2
githubからプログラムをクローン
git clone https://github.com/zzh8829/yolov3-tf2.git
cd yolov3-tf2
pipによる環境構築
pipというPythonのパッケージ管理ツールを使って必要なモジュール群をインストールします。
pip install -r requirements.txt
学習済みのネットワークの重みをダウンロード
wget https://pjreddie.com/media/files/yolov3.weights -O data/yolov3.weights
python convert.py --weights ./data/yolov3.weights --output ./checkpoints/yolov3.tf
サンプルを動かす
公式のGithubに書いてあるようにサンプルを動かしてみます。
下のコマンドのmeme.jpgは以下の画像このことを言っています。
python detect.py --image ./data/meme.jpg
上のコマンドを実行すると、output.jpgが出力されます。
こんな感じの画像が出てくると思います。
うまく識別できていることがわかりますね。
終わりに
OSSはありがたいですね。
なるべくソースコードの改善にも今後は貢献していきたいです。