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

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

MENU

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

はじめに 

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

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

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

 

1. YOLOv10のリポジトリ

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

github.com

2. 動作環境構築

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

 

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

次に推論で使用するサンプル画像を用意します。今回は下の画像を用います。こちらをyolov10ディレクトリの直下に置きます。

 

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

次に推論で使用するYOLOv10で提供されている事前学習済みモデル「yolov10n.pt」をダウンロードします。今回はyolov10ディレクトリ直下にモデルをダウンロードします。他のモデルを使用する際には、10nのところを10sなどに置き換えてください。

 

5. 物体検出の推論

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

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

オススメ書籍

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

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

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

 


おわりに

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