Google Colaboratory及び学習済みモデルを用いた物体検知 YOLOv4

python活用 python

Pythonで画像認識してみたいです。

このような要望にお応えします。

今回は、YOLOv4の学習済みモデルを用いた物体検知をします。

下記のサイトを参考にさせていただきました。

  • https://github.com/AlexeyAB/darknet
  • https://github.com/theAIGuysCode/YOLOv4-Cloud-Tutorial
  • http://pjreddie.com/darknet/yolo/
  • https://arxiv.org/abs/2004.10934

YOLOv4について

YOLOv4は、入力画像から物体の位置と種類を検出することができます。

YOLOv4の手法等の情報は、下記の論文を参照ください。
YOLOv4: Optimal Speed and Accuracy of Object Detection

  • https://arxiv.org/abs/2004.10934

Google Colaboratoryの準備

・Googleのアカウントを作成します。
・Googleドライブにアクセスし、「新規」→「その他」から「Google Colaboratory」の順でクリックします。そうすると、Colaboratoryが起動します。

・Colaboratoryが起動したら、以下のコマンドをCoalboratoryのセルに入力し実行します。
そうすることで、Googleドライブをマウントします。

・実行後、認証コードの入力が促されます。このとき、「Go to this URL in a browser」が指しているURLにアクセスしgoogleアカウントを選択すると、認証コードが表示されますので、それをコピーしenterを押します。これでGoogleドライブのマウントが完了します。

YOLOv4の準備

YOLOv4の導入方法についてのより詳細な情報は、下記を参照ください。

  • https://github.com/AlexeyAB/darknet

Google Colaboratoryの「ランタイム」→「ランタイムのタイプ変更」でGPUを選択します。

ツールをダウンロードする場所に移動します。本記事では、マイドライブにダウンロードします。

gitからツールをダウンロードします。

ダウンロードしたフォルダに移動します。

GPUとOpenCVを利用するようにmakeファイルを編集します。

コンパイル/ビルドを実行します。

YOLOv4学習済みのパラメータをダウンロードします。

下記のコマンドを実行することでdataフォルダ内のperson.jpgを読み込み、物体検知した結果がpredictions.jpgとして保存されます。

これで準備完了です。

以下のPythonスクリプトでdataフォルダに格納されたjpg画像に対して物体検知を行い、その結果をresultsフォルダに保存することができます。

出力結果

出力結果は、以下になります。

どうでしょうか? 様々な要素が混じる複雑な画像に対して実施してみるのもいいかもしれません。

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