Ultralytics YOLOv8から出力を抽出する
Ultralytics YOLOv8のResultsオブジェクトからバウンディングボックス、マスク、キーポイント、クラス確率を抽出し、独自のPythonコードで使用する方法をご紹介します。
Nuvola Ladi4 分で読めます
Ultralytics YOLOv8は、物体検出、セグメンテーション、トラッキングなどのタスクに広く使われているコンピュータービジョンモデルです。経験豊富な開発者でも、人工知能(AI)を学び始めたばかりの方でも、YOLOv8から出力を効果的に抽出する方法を理解すれば、プロジェクトを大きく改善できます。このブログ記事では、YOLOv8モデルの結果を抽出して活用するための実践的な手順を紹介します。
Ultralytics YOLOv8のセットアップ#
結果の抽出について詳しく説明する前に、Ultralytics YOLOv8モデルが正常に動作する状態にしておくことが重要です。初めて利用する方は、コンピュータービジョンのさまざまなタスクに向けてYOLOモデルをセットアップし、使用する基本的な方法を解説した過去の動画をご覧ください。結果の抽出を始める前に、モデルが正しく設定されていることを確認してください。
- モデルの初期化:Ultralytics YOLOv8モデルを適切に初期化し、物体検出や姿勢推定などの複雑なタスクといった用途に合ったモデル構成を選択してください。
- 推論の実行:モデルにデータを入力して推論を行います。この処理では、画像またはフレームごとに1つのResultsオブジェクトを含むリストが生成され、すべての検出データにアクセスできます。
結果オブジェクトを理解する#
Ultralytics YOLOv8の各Resultsオブジェクトには、プロジェクトを進めるために必要な検出データがすべて含まれており、以下のものがあります。
- バウンディングボックス: 検出されたオブジェクトの座標には、
result.boxesを使用してアクセスできます。 - マスクとキーポイント: セグメンテーションマスクと姿勢推定のキーポイントには、それぞれ
result.masksとresult.keypointsを使用してアクセスできます。 - クラス確率:
result.probsには分類モデルのクラス確率が格納され、result.boxes.confには検出された各ボックスの信頼度スコアが格納されます。信頼度スコアは検出結果のフィルタリングに役立ちます。
カスタム用途向けのデータ抽出#
これらの出力をアプリケーションで使用するには、次の手順に従ってください。
- 処理用にデータを変換する:モデルをGPUで実行している場合は、後続の操作に備えて
.cpu()を使い、出力をCPU形式に変換します。 - バウンディングボックスの座標にアクセスする: Resultsオブジェクトからバウンディングボックスの座標を取得し、直接操作します。正規化された座標や、幅や高さなどの特定の属性にもアクセスできます。
- 分類結果の処理: 上位の分類結果を抽出して、クラスIDと信頼度スコアを効果的に活用します。
コードでの実践例#
理論から実践に移るにあたり、Nicolai NielsenがVisual Studio Codeを使用してカスタムPythonスクリプト内でこれらの概念を実装する方法を紹介します。このスクリプトでは、次のことを行います。
- 検出クラスの設定: クラス構造内でUltralytics YOLOv8モデルを初期化して設定し、ライブデータを入力できるように準備します。
- 結果の抽出: 検出を実行し、Resultsオブジェクトからバウンディングボックス、マスク、分類結果を直接抽出します。
- 出力の活用: 結果をJSONやCSVなどの利用可能な形式に変換するか、画像や動画ストリームにバウンディングボックスを描画するために直接使用します。
可視化とその先へ#
生データの抽出は重要ですが、これらの検出結果を可視化すると、モデルの性能をすぐに把握できます。
- 矩形の描画: バウンディングボックスのデータを使用して、画像や動画の出力で検出されたオブジェクトの周囲に矩形を描画します。
- 直接プロットする:組み込みの
result.plot()メソッドを使うと、追加のコーディングなしで検出結果を可視化できます。
Ultralytics YOLOv8でAIツールキットを拡張する#
Ultralytics YOLOv8の出力抽出を習得すると、プロジェクトの機能が向上するだけでなく、オブジェクト検出システムへの理解も深まります。
これらの手順に従うと、高度なAI駆動型アプリケーションの開発でも、堅牢なデータ分析の実施でも、目的に合わせてUltralytics YOLOv8の検出結果を調整できます。
Ultralytics YOLOv8やほかのAI技術に関するチュートリアルを今後もお届けします。最新情報を入手するにはコミュニティにご参加ください。また、詳細についてはドキュメントをご覧ください。
執筆者
コメント
質問したり、結果を共有したり、ほかの人をサポートしたりできます。










