YOLO Vision 2026:

Ultralytics YOLO26による分析#

Ultralytics YOLO26によるアナリティクスでは、object detectionとトラッキングの結果がリアルタイムのチャートに変換されるため、ビデオフレーム全体でオブジェクト数がどのように変化するかをフレーム単位で確認できます。このガイドでは、折れ線グラフ、棒グラフ、円グラフ、面グラフという4つのdata visualizationのタイプを取り上げ、共通のPythonとCLIのサンプルを使用してそれらを切り替える方法を示します。



Watch: How to generate Analytical Graphs using Ultralytics | Line Graphs, Bar Plots, Area and Pie Charts

可視化のサンプル#

折れ線グラフ棒グラフ円グラフ
YOLO analytics line graph for object trackingYOLO analytics bar plot for detection countsYOLO analytics pie chart for class distribution

検出データを可視化する理由とは?#

  • 折れ線グラフは、短期間および長期間にわたる変化の追跡や、同じ期間における複数のグループ間の変化の比較に最適です。
  • 棒グラフは、異なるカテゴリ間での数量の比較や、カテゴリとその数値の関係を示すのに適しています。
  • 円グラフは、カテゴリ間の比率を説明したり、全体に対する割合を示すのに効果的です。
  • 面グラフは折れ線グラフの下部を塗りつぶすため、クラスごとのオブジェクト数の推移を一目で把握しやすくなります。

分析グラフの生成#

ビデオを Analytics ソリューションに渡し、analytics_type でチャートを選択します。このソリューションはすべてのフレームで検出とトラッキングを実行し、(デフォルトで)1280×720のチャートを描画して、出力ビデオに直接書き込むことができます。単一の引数で、"line""bar""pie"、および "area" の間を切り替えます。

Ultralytics YOLOによる分析
yolo solutions analytics show=True

# Pass the source
yolo solutions analytics source="path/to/video.mp4"

# Generate the pie chart
yolo solutions analytics analytics_type="pie" show=True

# Generate the bar plots
yolo solutions analytics analytics_type="bar" show=True

# Generate the area plots
yolo solutions analytics analytics_type="area" show=True

Analyticsの引数#

以下は、Analyticsの引数をまとめた表です。

引数タイプデフォルト説明
modelstrNoneUltralytics YOLOモデルファイルへのパス。
analytics_typestr'line'グラフのタイプ、すなわち linebararea、または pie
line_widthint2ソリューションが描画するボックス、キーポイント、およびカウントの線の太さ。
verboseboolTrue入力形状、クラス数、および処理速度のフレームごとのログ出力をソリューションで有効にします。トラッキング呼び出し自体は常にサイレントです。

Analytics ソリューションで、さまざまな track 引数を活用することもできます。

引数タイプデフォルト説明
trackerstr'botsort.yaml'使用するトラッキングアルゴリズムを指定します。ビルトインオプション: botsort.yamlbytetrack.yamlocsort.yamldeepocsort.yamlfasttrack.yamltracktrack.yaml
conffloat0.25検出の信頼度しきい値を設定します。低い値を設定するとより多くの物体を追跡できますが、誤検知が含まれる可能性があります。
ioufloat0.7重なり合う検出をフィルタリングするためのIntersection over Union (IoU) 閾値を設定します。
classeslistNoneクラスインデックスによって結果をフィルターします。たとえば、classes=[0, 2, 3]は指定されたクラスのみを追跡します。
devicestrNone推論用のデバイスを指定します(例: cpucuda:0、または0)。ユーザーはモデルの実行にCPU、特定のGPU、またはその他の計算デバイスを選択できます。

さらに、以下の可視化引数がサポートされています。

引数タイプデフォルト説明
showboolFalseTrue の場合、注釈付きの画像または動画をウィンドウに表示します。開発やテスト中の即座な視覚的フィードバックに役立ちます。

結論#

効果的なデータ分析を行うためには、さまざまなタイプの可視化をいつ、どのように使用するかを理解することが不可欠です。折れ線グラフ、棒グラフ、および円グラフは、データのストーリーをより明確かつ効果的に伝えるのに役立つ基本的なツールです。Ultralytics YOLO26 Analyticsソリューションは、object detectionとトラッキングの結果からこれらの可視化を生成するための合理化された方法を提供し、視覚データから意味のあるインサイトを簡単に抽出できるようにします。

よくある質問 (FAQ)#

  • Ultralytics YOLO26 Analyticsを使用して折れ線グラフを作成するには、以下の手順に従ってください。

    1. YOLO26モデルを読み込み、ビデオファイルを開きます。
    2. analytics_type="line" を使用して Analytics クラスを初期化します。
    3. ビデオフレームをループ処理し、フレームごとにソリューションを呼び出して、オブジェクト数などのデータで折れ線グラフを更新します。
    4. チャートを保存するために、results.plot_im を出力ビデオに書き込みます。

    開始点として上記のPythonのサンプルを使用してください。これはすでに完全なフレームループを実行しており、折れ線グラフがデフォルトの analytics_type です。

  • Ultralytics YOLO26を使用して棒グラフを作成することには、いくつかの利点があります。

    1. リアルタイムデータ可視化: object detectionの結果を動的な更新のために棒グラフにシームレスに統合します。
    2. 使いやすさ: シンプルなAPIと関数により、実装やデータ可視化が容易です。
    3. カスタマイズ性: タイトル、ラベル、色などを個別の要件に合わせてカスタマイズ可能です。
    4. 効率性: 大量のデータを効率的に処理し、ビデオ処理中にリアルタイムでグラフを更新できます。

    棒グラフを生成するには、上記の Python の例analytics_type="bar" を設定します。フレームループの残りの部分は同じです。プレビューについては、Visual Samples セクションを参照してください。

  • Ultralytics YOLO26が円グラフ作成に適している理由は以下の通りです。

    1. 物体検出との統合: 物体検出結果を直接円グラフに統合し、即座に洞察を得ることができます。
    2. ユーザーフレンドリーなAPI: 最小限のコードで設定および使用が可能です。
    3. カスタマイズ可能: 色やラベルなど、多様なカスタマイズオプションがあります。
    4. リアルタイム更新: ビデオ分析プロジェクトに最適な、リアルタイムでのデータ処理と可視化が可能です。

    円グラフを生成するには、上記の Python の例analytics_type="pie" を設定します。詳細については、ガイド内の Visual Samples セクションを参照してください。

  • はい。トラッキングは Analytics ソリューションに組み込まれており、複数のオブジェクトをリアルタイムで追跡し、すべてのフレームで追跡されたオブジェクトのデータからチャートを更新するため、折れ線グラフ、棒グラフ、円グラフ、および面グラフのすべてがライブのカウントを反映します。これはまさに、上記のPythonのサンプルにおけるフレームループが行うことです。基盤となるトラッキング機能については、トラッキングセクションを参照してください。

  • Ultralytics YOLO26がOpenCVやTensorFlowのような他の物体検出ソリューションと一線を画す理由は、以下の通り複数あります。

    1. 最先端の精度: YOLO26は、object detectionインスタンスセグメンテーションセマンティックセグメンテーション、および分類の各タスクにおいて優れた精度を提供します。
    2. 使いやすさ: ユーザーフレンドリーなAPIにより、大規模なコーディングを必要とせず、迅速な実装と統合が可能です。
    3. リアルタイム性能: 高速推論に最適化されており、リアルタイムアプリケーションに適しています。
    4. 多様な用途: マルチオブジェクトトラッキング、カスタムモデルトレーニング、およびONNX、TensorRT、CoreMLなどのさまざまなフォーマットへのエクスポートをサポートします。
    5. 包括的なドキュメント: ユーザーをすべてのステップで導くための詳細なドキュメントブログリソース

    より詳細な比較とユースケースについては、Ultralyticsブログをご覧ください。

コメント