Link to this sectionUltralytics YOLO26によるオブジェクトトラッキングヒートマップ#
The Heatmap solution in Ultralytics YOLO26 tracks objects across video frames and overlays their accumulated movement intensity onto each frame, so busy areas glow in warm colors while quiet areas stay cool. Built on YOLO26 object tracking, it turns any video into a spatial activity map that reveals traffic flow, crowd movement, and dwell zones with a single Python call or CLI command.
Watch: Heatmaps using Ultralytics YOLO26
Link to this sectionビデオ分析にヒートマップを使用する理由#
- アクティビティパターンを一目で把握: 追跡対象のオブジェクトが滞在する場所ほど強度が高まるため、交通量の多い車線、人気のある棚、群衆のボトルネックなどが、フレーム単位で手動で確認することなく一目瞭然となります。
- トラッキング機能を内蔵: このソリューションは、YOLO26の検出と追跡を内部で実行するため、別途トラッキングパイプラインを構築する必要はありません。
- 同一パスでのカウント:
regionを渡すことで、ヒートマップの生成と同時にゾーンへの出入りをカウントでき、2つの分析タスクを1回の実行で完了できます。
Link to this section現実世界の応用例#
| 交通 | 小売 |
|---|---|
![]() | ![]() |
| Ultralytics YOLO交通ヒートマップ | Ultralytics YOLO小売ヒートマップ |
Link to this sectionUltralytics YOLOでヒートマップを生成する方法#
CLIまたはPythonからビデオソースに対してヒートマップソリューションを実行します。Pythonの例では、処理されたフレームを出力ビデオファイルに書き込みます。
# Run a heatmap example
yolo solutions heatmap show=True
# Pass a source video
yolo solutions heatmap source="path/to/video.mp4"
# Pass a custom colormap
yolo solutions heatmap colormap=cv2.COLORMAP_INFERNO
# Heatmaps + object counting
yolo solutions heatmap region="[(20, 400), (1080, 400), (1080, 360), (20, 360)]"Link to this sectionHeatmap() 引数#
Heatmap 引数の表を以下に示します:
| 引数 | タイプ | デフォルト | 説明 |
|---|---|---|---|
model | str | None | Ultralytics YOLOモデルファイルへのパス。 |
colormap | int | cv2.COLORMAP_DEEPGREEN | ヒートマップに使用するカラーマップ。 |
show_in | bool | True | 動画ストリームに流入数を表示するかどうかを制御するフラグ。 |
show_out | bool | True | 動画ストリームに流出数を表示するかどうかを制御するフラグ。 |
region | list | '[(20, 400), (1260, 400)]' | 計数領域を定義する点のリスト。 |
You can also apply different track arguments in the Heatmap solution.
| 引数 | タイプ | デフォルト | 説明 |
|---|---|---|---|
tracker | str | 'botsort.yaml' | 使用するトラッキングアルゴリズムを指定します。組み込みのオプションは、botsort.yaml、bytetrack.yaml、ocsort.yaml、deepocsort.yaml、fasttrack.yaml、tracktrack.yamlです。 |
conf | float | 0.1 | 検出の信頼度しきい値を設定します。低い値を設定するとより多くの物体を追跡できますが、誤検知が含まれる可能性があります。 |
iou | float | 0.7 | 重なり合う検出をフィルタリングするためのIntersection over Union(IoU)しきい値を設定します。 |
classes | list | None | クラスインデックスで結果をフィルタリングします。例えば、classes=[0, 2, 3]と設定すると、指定されたクラスのみを追跡します。 |
verbose | bool | True | 追跡結果の表示を制御し、追跡された物体の視覚的な出力を行います。 |
device | str | None | 推論に使用するデバイスを指定します(例:cpu、cuda:0、または 0)。CPU、特定のGPU、その他の演算デバイスをモデル実行用に選択できます。 |
さらに、サポートされている可視化引数は以下の通りです:
| 引数 | タイプ | デフォルト | 説明 |
|---|---|---|---|
show | bool | False | Trueの場合、注釈付きの画像や動画をウィンドウに表示します。開発やテスト中の即時的な視覚フィードバックに役立ちます。 |
line_width | int or None | None | バウンディングボックスの線の太さを指定します。Noneの場合、線の太さは画像サイズに基づいて自動的に調整されます。明瞭さのための視覚的なカスタマイズが可能です。 |
show_conf | bool | True | 各検出の信頼度スコアをラベルと一緒に表示します。各検出に対するモデルの確信度を把握できます。 |
show_labels | bool | True | 視覚的出力において各検出のラベルを表示します。検出されたオブジェクトを即座に理解するのに役立ちます。 |
Link to this sectionヒートマップのカラーマップ#
colormap引数は、任意のOpenCVカラーマップを受け入れます。cv2モジュールから定数を渡します。例:colormap=cv2.COLORMAP_INFERNO
| カラーマップ名 | 説明 |
|---|---|
cv2.COLORMAP_AUTUMN | Autumn カラーマップ |
cv2.COLORMAP_BONE | Bone カラーマップ |
cv2.COLORMAP_JET | Jet カラーマップ |
cv2.COLORMAP_WINTER | Winter カラーマップ |
cv2.COLORMAP_RAINBOW | Rainbow カラーマップ |
cv2.COLORMAP_OCEAN | Ocean カラーマップ |
cv2.COLORMAP_SUMMER | Summer カラーマップ |
cv2.COLORMAP_SPRING | Spring カラーマップ |
cv2.COLORMAP_COOL | Cool カラーマップ |
cv2.COLORMAP_HSV | HSV(色相、彩度、明度)カラーマップ |
cv2.COLORMAP_PINK | Pink カラーマップ |
cv2.COLORMAP_HOT | Hot カラーマップ |
cv2.COLORMAP_PARULA | Parula カラーマップ |
cv2.COLORMAP_MAGMA | Magma カラーマップ |
cv2.COLORMAP_INFERNO | Inferno カラーマップ |
cv2.COLORMAP_PLASMA | Plasma カラーマップ |
cv2.COLORMAP_VIRIDIS | Viridis カラーマップ |
cv2.COLORMAP_CIVIDIS | Cividis カラーマップ |
cv2.COLORMAP_TWILIGHT | Twilight カラーマップ |
cv2.COLORMAP_TWILIGHT_SHIFTED | Shifted Twilight カラーマップ |
cv2.COLORMAP_TURBO | Turbo カラーマップ |
cv2.COLORMAP_DEEPGREEN | Deep Green カラーマップ |
Link to this sectionヒートマップの仕組み#
ヒートマップソリューションは、ObjectCounterクラスを拡張したものです。処理される最初のフレームで、フレームサイズに合わせた空白の強度レイヤーを作成します。その後、各フレームは以下の2つのステップで処理されます。
- YOLO26のトラッキングにより、フレーム内のすべてのオブジェクトを検出および追跡する
- 追跡された各オブジェクトに対し、そのバウンディングボックスの中心にある円形領域内でヒートマップの強度を増加させる
フレームごとに1回、蓄積された強度レイヤーを正規化し、選択されたカラーマップで着色し、元のフレームと合成します。オーバーレイは少なくとも1つのオブジェクトが追跡されるとすぐに表示されます。追跡対象のオブジェクトがないフレームは、ヒートマップオーバーレイなしで表示されます。
その結果、時間の経過とともに蓄積される動的な視覚化が生成され、ビデオデータ内の交通パターン、群衆の動き、その他の空間的な挙動が明らかになります。regionが設定されている場合、ヒートマップの構築と同時に、その領域への出入りをオブジェクトカウントします。
Link to this section結論#
Ultralytics YOLO26ヒートマップソリューションは、数行のコードでオブジェクトトラッキングの結果を直感的なアクティビティオーバーレイに変換します。さらに活用するために、オブジェクトカウントと組み合わせたり、他のUltralyticsソリューションを探索したり、基本となるトラッキングモードについて読んでみてください。
Link to this sectionよくある質問 (FAQ)#
Link to this sectionUltralytics YOLO26はどのようにしてビデオからヒートマップを生成しますか?#
Ultralytics YOLO26は、ビデオフレーム間でオブジェクトを追跡し、各追跡オブジェクトの場所で強度値を蓄積し、その結果を着色して元のフレームと合成することでヒートマップを生成します。オブジェクトが頻繁に出現したり滞留したりする領域は強度が蓄積され、暖かい色で表示されます。設定オプションについては、Heatmap()引数セクションを参照してください。
Link to this sectionヒートマップの出力をビデオファイルとして保存するにはどうすればよいですか?#
Use OpenCV's cv2.VideoWriter and write results.plot_im for every processed frame, as shown in the main example. The plot_im attribute holds the frame with the heatmap overlay already applied.
Link to this sectionヒートマップとオブジェクトカウントを組み合わせることはできますか?#
Yes. Pass a region argument to Heatmap() with line, rectangle, or polygon points, and the solution counts objects entering and exiting that region while the heatmap builds. The returned results include in_count, out_count, and per-class counts. See the object counting guide for region configuration details.
Link to this sectionUltralytics YOLO26 を使用して、ヒートマップで特定のオブジェクトクラスのみを可視化するにはどうすればよいですか?#
Pass the classes argument to Heatmap() with the class indices you want to keep. For example, classes=[0, 2] builds the heatmap only from persons and cars (COCO class indices 0 and 2):
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
heatmap = solutions.Heatmap(show=True, model="yolo26n.pt", classes=[0, 2])
while cap.isOpened():
success, im0 = cap.read()
if not success:
break
results = heatmap(im0)
cap.release()
cv2.destroyAllWindows()Link to this sectionUltralytics YOLO26 のヒートマップは、OpenCV や Matplotlib などの他のデータ可視化ツールと何が違うのですか?#
Ultralytics YOLO26ヒートマップは、オブジェクト検出、トラッキング、強度蓄積、オーバーレイレンダリングを単一の呼び出しに統合します。OpenCVやMatplotlibのような汎用ツールでは同様のパイプラインを自身で構築する必要がありますが、このソリューションはビデオストリームをリアルタイムで処理し、永続的なトラッキングとカスタマイズ可能なカラーマップを標準でサポートしています。基盤となるモデルの詳細については、YOLO26モデルページを参照してください。

