Pythonによるデータ分析・機械学習ブログ

Pythonによるデータの前処理・グラフ化、機械学習、統計解析、画像処理、Webスクレイピング、自然言語処理の基礎について紹介していきます。

MENU

【第18回】YOLOv9による物体検出:動作環境の構築と推論デモ

はじめに 

 近年、AI(Artificial Intelligence:人工知能)の急速な発展に伴い、それらを用いた技術が活用され始めています。例えば、AIによる画像認識技術として物体検出などがあります。物体検出は「画像の中から特定の物体の位置、種類、個数などの情報を認識する技術」であり、AIを用いて比較的高速に画像内の物体情報を取得することができます。この技術を用いて製造業では品質評価、外観検査、異常検知などに活用されています。

 リアルタイムに物体検出を行うアルゴリズムにYOLO(You Only Look Onse)と呼ばれるものがあり、CNN(Convolutional Neural Network:畳み込みニューラルネットワーク)を用いたアルゴリズムとなっています。2024年2月に最新の物体検出モデルYOLOv9が公開されています。

 本記事では、物体検出モデルYOLOv9で物体検出の動作環境構築と推論デモの実行を行います。

 

1. YOLOv9のリポジトリ

YOLOv9のGithubリポジトリは以下です。

github.com

2. 動作環境構築

以下のコマンドで動作環境を構築できます。

 

3. 推論デモ用の画像ダウンロード

次に推論で使用するサンプル画像をダウンロードします。今回は下記リンクの犬の画像を使用します。

https://media.roboflow.com/notebooks/examples/dog.jpeg

今回はyolov9ディレクトリ直下にdataフォルダを作成し、そこに画像を置きます。

 

4. 物体検出モデルのダウンロード

次に推論で使用するYOLOv9で提供されている事前学習済みモデル「gelan-c.pt」をダウンロードします。今回はyolov9ディレクトリ直下にweightsフォルダを作成し、そこにモデルをダウンロードします。

 

5. 物体検出の推論

では、最後に推論デモを実行したいと思います。「--source」の引数で画像の相対パスを指定しています。この引数に動画の相対パスを指定すると動画の推論が可能です。

上記のコマンドを実行すると、runs/detectの中にフォルダが作成されていると思います。そのフォルダの中に推論画像が保管されています。

「--source」の引数に動画ファイルの相対パスを指定して実行した際の推論結果動画の例は下記のようになります。

youtu.be

 

オススメ書籍

物体・画像認識と時系列データ処理入門

現場で使える!PyTorch開発入門 深層学習モデルの作成とアプリケーションへの実装

PyTorchで作る!深層学習モデル・AIアプリ開発入門

 


おわりに

本記事では、物体検出モデルYOLOv9の動作環境構築と推論デモの実行を行いました。かなりユーザーに優しい使用性ですので、どんどん活用が進みそうですね。