Pythonで画像認識してみたいです。
このような要望にお応えします。
今回は、YOLOv5の学習済みモデルを用いて物体検知をします。
下記のサイトを参考にさせていただきました。
- https://github.com/ultralytics/yolov5
YOLOv5について
YOLOv5は、入力画像から物体の位置と種類を検出することができます。
それでは、YOLOv5を使用して物体検知をしてみます。
下記のツールを使用しています。
- https://github.com/ultralytics/yolov5
Google Colaboratoryの準備
・Googleのアカウントを作成します。
・Googleドライブにアクセスし、「新規」→「その他」から「Google Colaboratory」の順でクリックします。そうすると、Colaboratoryが起動します。
・Colaboratoryが起動したら、以下のコマンドをCoalboratoryのセルに入力し実行します。
そうすることで、Googleドライブをマウントします。
1 2 |
from google.colab import drive drive.mount('/content/drive') |
・実行後、認証コードの入力が促されます。このとき、「Go to this URL in a browser」が指しているURLにアクセスしgoogleアカウントを選択すると、認証コードが表示されますので、それをコピーしenterを押します。これでGoogleドライブのマウントが完了します。
YOLOv5の準備
ツールをダウンロードする場所に移動します。
本記事では、マイドライブにダウンロードします。
1 |
cd /content/drive/My Drive |
gitからツールをダウンロードします。
1 |
!git clone https://github.com/ultralytics/yolov5 |
yolov5実行時に必要なライブラリをインストールします。
1 |
!pip install -U -r yolov5/requirements.txt |
ダウンロードしたフォルダに移動します。
1 |
cd yolov5 |
以下のコマンドを実行することで、inference/imagesに格納されている画像に対して、物体検知が実施され、その結果がinference/outputに保存されます。
yolov5のパラメータは、下記コマンド実行時に自動的にダウンロードされます。
1 |
!python detect.py --weights yolov5s.pt --img 640 --conf 0.1 --source ./inference/images/ |
出力結果
出力結果は、以下になります。
いかがでしょうか?
様々な要素が混じる複雑な画像に対して実施してみるのもいいかもしれません。