bg=”none”]Pythonを使って、物体検出をやってみたいな...。簡単にできる方法があると良いんだけど、分かりやすく解説されている記事はないかな...。[/chat]この記事では、KerasでYOLO-v3を動かして、物体検出の実装をおこなっていきます。いうと「機械学習アルゴリズムがYOLO-v3で、Pythonの機械学習ライブラリKerasを使って、物体検出の実装する」です。機械学習に興味を持って、Pythonを勉強しているので、試しに何か動かしてみたい!という方にとって、とても役に立つ記事になるかと思います。完成イメージこんな感じで、画像に映っている「人」や「バックパック」を検出していきます。検出できる物体の種類に制限はありますが、基本的にどんな画像でも大丈夫です。物体検出アルゴリズムYOLOv3を動かす7ステップ【Keras版】Kerasを使って、YOLOv3を動かすまでの手順は、以下のとおりです。順番に確認していきましょう。仮想環境を構築をするまずは、今回YOLOv3を動かすための仮想環境を構築していきます。今回、仮想環境を作成するにあたって、Anacondaがインストールしてあることは前提です。Promptを開いて、下記のコードを入力しましょう。yolov3上記で、Anacondaを使った”yolov3′′という名前の仮想環境を構築しています。Navigatorを使ってボタンをポチポチしても大丈夫です。仮想環境が作成できたことを確認したいので、以下のコマンドを追加で入力しましょう。-e上記を入力して実行すると、いままで作成した仮想環境の一覧を確認できます。“yolov3′′という仮想環境が出力されていたら、このステップは完了です。必要なライブラリを導入する以下のコマンドを入力して、仮想環境を使える状態にしましょう。yolov3このコマンドを入力しないと、もともと使っていたroot環境で実行することになります。yolov3を実行しましょう。アクティベートしたら、ライブラリのインストールをしていきます。YOLOv3を動かすのに必要なライブラリTensorflowKerasMatplotlibPillow上記の4つが必要です。Anacondaでライブラリのインストールをするには、condaコマンドを使ってあげます。matplotlibこの記事を書いている時点(2020年12月)では、TensorFlowの最新バージョンが2.3になっています。YOLOv3で動作するのは、TensorFlowは1系です。2系では動作しませんので、バージョンを指定してライブラリのインストールをしていきましょう。cloneするライブラリのインストールが完了したら、ソースコードをダウンロードします。Macを使っているならターミナルから、Windowsを使っているならコマンドプロンプトから、以下のコマンドを実行しましょう。cloneしたディレクトリに移動します。~/keras-yolov3なお、Gitをインストールしていない場合は、URLにアクセスしてZIPファイルをダウンロードしましょう。backend)ダウンロードしたら、解凍したフォルダをデスクトップに置いてあげます。Gitコマンドを実行せずにZIPファイルをダウンロードしたら、フォルダ名がkeras-yolov3-masterになっているはずです。その場合は、下記のコマンドを入力して、フォルダに移動してあげます。Windowsを使っていても、Gitはインストールしたほうが良いと思います。以下のURLからぜひ入手しておきましょう。学習済みモデルをダウンロードするYOLOv3を動かすために、学習済みモデルをダウンロードしましょう。それには、以下のコマンドを実行します。https://pjreddie.com/media/files/yolov3.weightsWindowsだとwgetを使えないはずなので、以下のURLから学習済みモデルをダウンロードします。学習済みモデルのダウンロード手動でダウンロードしたら、デスクトップに入れてあげましょう。学習済みモデルをKeras用に変換する学習済みモデルのダウンロードが完了したら、Kerasで使える形式に変換していきます。以下のコマンドを実行しましょう。model_data/yolo.h5model_dataディレクトリの下に、Kerasで使うためのyolo.h5という学習モデルを作成できました。これで、学習済みモデルの準備完了です。物体検出に使いたい画像を集めるあとは今回、物体検出してみたい画像を集めましょう。僕はGoogle画像検索で「渋谷」とサーチして出てきた、スクランブル交差点の画像を使ってみたいと思います。取得した画像(shibuya.jpg)は、「keras-yolov3」フォルダに移しておきましょう。最後にYOLOv3を実行して、先ほどダウンロードした画像から物体検出していきたいと思います。下記のコマンドを入力して、YOLOv3を実行しましょう。filename:”と出力されるはずです。これは「読み込む画像名」を聞かれているので、先ほど入手した画像のファイル名を入力しましょう。filename:shibuya.jpgそうすると、下の画像のような検出結果になりました。画像に映り込んでいた人が、ほとんど検出できていますよね。人が背負っているバックパックや、信号機まで検出できています。看板に映っている山Pは、検出できませんでしたが、、、。それにしても、他の検出率は高めです。こんな感じで、学習済みモデルを使うと、色々な物体を検出できます。検出できる物体については、以下のURLに載っているので、ぜひ確認してみてください。YOLOv3のハンズオンの次は、スキルアップを目指そう!というわけで、YOLOv3のハンズオンを紹介しました。実際に機械学習モデルを動かしてみると、直感的に分かるので面白いですよね。「もう少し踏み込んだことをしたい」と思ったときは、Pythonライブラリの理解や、理論面の学習が大事になってきます。今回のハンズオンで「画像認識とか物体検出って面白いな...」と感じたら、ぜひとも勉強を進めていきましょう。具体的には、Pythonの基礎が分かっているなら、本や書籍を使った学習がおすすめです。bg="none"]AIの勉強をしていきたいんだけど、なかでも画像認識が気になるな〜...画像認識とか物体検出だけじゃなくて、もっと色々なAIについて知りたいと思ったら、以下の独学ロードマップが参考になるはず。機械学習...「どの教材をどの順番で学習すれば良いのか」を分かりやすく解説しています。初心者でも挫折しないように書いたので、ぜひ参考にしてみてくださいね。AIはこれからも間違えなく伸びていくスキル。寄稿、記事の掲載依頼はお問い合わせページからお願い致します。当サイトで使用する「仮想通貨」とは、「暗号資産」のことを指します。当サイトで使用する「仮想通貨」とは「暗号資産」のことを指します。当サイトで掲載している情報に基づいて被ったいかなる損害についても、運営者及び情報提供者は一切の責任を負いません。保証されたものではありません。