高度なデータ視覚化:Ultralytics YOLO11 🚀を使ったヒートマップ
ヒートマップ入門
ヒートマップ Ultralytics YOLO11で生成されたヒートマップは、複雑なデータを色分けされた鮮やかなマトリックスに変換します。この視覚的なツールは、様々なデータ値を表現するために色のスペクトルを使用し、より暖かい色調はより高い強度を、より低い色調はより低い値を示します。ヒートマップは、複雑なデータパターン、相関関係、異常値を視覚化することに優れており、多様な領域にわたるデータ解釈に、アクセスしやすく魅力的なアプローチを提供します。
見るんだ: ヒートマップUltralytics YOLO11
データ分析にヒートマップを選ぶ理由
- 直感的なデータ分布の視覚化:ヒートマップは、データの集中と分布の理解を簡素化し、複雑なデータセットを理解しやすいビジュアル形式に変換します。
- 効率的なパターン検出:データをヒートマップ形式で可視化することで、トレンド、クラスター、異常値を見つけやすくなり、迅速な分析と洞察が容易になります。
- 空間分析と意思決定の強化:ヒートマップは空間的な関係を図示するのに役立ち、ビジネスインテリジェンス、環境調査、都市計画などの分野における意思決定プロセスを支援する。
実世界での応用
交通 | 小売 |
---|---|
![]() |
![]() |
Ultralytics YOLO11 輸送ヒートマップ | Ultralytics YOLO11 小売ヒートマップ |
Ultralytics YOLO使ったヒートマップ
# 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)]"
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
# Video writer
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("heatmap_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# For object counting with heatmap, you can pass region points.
# region_points = [(20, 400), (1080, 400)] # line points
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)] # rectangle region
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360), (20, 400)] # polygon points
# Initialize heatmap object
heatmap = solutions.Heatmap(
show=True, # display the output
model="yolo11n.pt", # path to the YOLO11 model file
colormap=cv2.COLORMAP_PARULA, # colormap of heatmap
# region=region_points, # object counting with heatmaps, you can pass region_points
# classes=[0, 2], # generate heatmap for specific classes i.e person and car.
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = heatmap(im0)
# print(results) # access the output
video_writer.write(results.plot_im) # write the processed frame.
cap.release()
video_writer.release()
cv2.destroyAllWindows() # destroy all opened windows
Heatmap()
議論
以下はその表である。 Heatmap
という議論がある:
議論 | タイプ | デフォルト | 説明 |
---|---|---|---|
model |
str |
None |
Ultralytics YOLO モデルファイルへのパス。 |
colormap |
int |
cv2.COLORMAP_JET |
ヒートマップに使用するカラーマップ。 |
show_in |
bool |
True |
ビデオストリームにインカウントを表示するかどうかを制御するフラグ。 |
show_out |
bool |
True |
ビデオストリームにアウトカウントを表示するかどうかを制御するフラグ。 |
region |
list |
[(20, 400), (1260, 400)] |
カウント領域を定義する点のリスト。 |
を適用することもできる。 track
の引数を使用する。 Heatmap
解決策だ。
議論 | タイプ | デフォルト | 説明 |
---|---|---|---|
tracker |
str |
'botsort.yaml' |
使用するトラッキングアルゴリズムを指定する、 bytetrack.yaml または botsort.yaml . |
conf |
float |
0.3 |
検出の信頼しきい値を設定します。低い値ではより多くのオブジェクトを追跡できますが、誤検出を含む可能性があります。 |
iou |
float |
0.5 |
重複検出をフィルタリングするためのIoU(Intersection over Union)しきい値を設定します。 |
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 |
None or int |
None |
バウンディングボックスの線幅を指定します。もし None 線幅は画像サイズに応じて自動的に調整されます。視覚的にわかりやすくカスタマイズできます。 |
ヒートマップ COLORMAPs
カラーマップ名 | 説明 |
---|---|
cv::COLORMAP_AUTUMN |
紅葉マップ |
cv::COLORMAP_BONE |
骨カラーマップ |
cv::COLORMAP_JET |
ジェットカラー・マップ |
cv::COLORMAP_WINTER |
冬のカラーマップ |
cv::COLORMAP_RAINBOW |
虹色マップ |
cv::COLORMAP_OCEAN |
海の色マップ |
cv::COLORMAP_SUMMER |
夏色マップ |
cv::COLORMAP_SPRING |
春のカラーマップ |
cv::COLORMAP_COOL |
クールなカラーマップ |
cv::COLORMAP_HSV |
HSV(色相・彩度・明度)カラーマップ |
cv::COLORMAP_PINK |
ピンクのカラーマップ |
cv::COLORMAP_HOT |
ホットカラーマップ |
cv::COLORMAP_PARULA |
パルーラ カラーマップ |
cv::COLORMAP_MAGMA |
マグマ・カラーマップ |
cv::COLORMAP_INFERNO |
インフェルノ カラーマップ |
cv::COLORMAP_PLASMA |
プラズマカラーマップ |
cv::COLORMAP_VIRIDIS |
ヴィリディス カラーマップ |
cv::COLORMAP_CIVIDIS |
チヴィディス カラーマップ |
cv::COLORMAP_TWILIGHT |
トワイライト・カラー・マップ |
cv::COLORMAP_TWILIGHT_SHIFTED |
シフトトワイライトカラーマップ |
cv::COLORMAP_TURBO |
ターボカラーマップ |
cv::COLORMAP_DEEPGREEN |
ディープグリーンのカラーマップ |
このようなカラーマップは、異なる色表現でデータを視覚化するためによく使われる。
Ultralytics ヒートマップの仕組みYOLO11
Ultralytics YOLO11 ヒートマップ・ソリューションは、ObjectCounterクラスを拡張し、ビデオストリーム内の移動パターンを生成して視覚化します。初期化されると、このソリューションは空白のヒートマップ・レイヤーを作成し、オブジェクトがフレーム内を移動すると更新されます。
検出された各オブジェクトについて、解を求める:
- YOLO11トラッキング機能を使って、フレームをまたいでオブジェクトをトラッキングする。
- オブジェクトの位置のヒートマップ強度を更新する
- 選択したカラーマップを適用し、強度値を視覚化する。
- 色の付いたヒートマップを元のフレームに重ねる
その結果、時間の経過とともにダイナミックなビジュアライゼーションが構築され、交通パターンや群衆の動きなど、ビデオデータの空間的な挙動が明らかになります。
よくあるご質問
Ultralytics YOLO11 どのようにヒートマップを作成し、どのような利点があるのか?
Ultralytics YOLO11 ヒートマップは、複雑なデータを色分けされたマトリックスに変換することで、異なる色相がデータの強度を表すヒートマップを生成します。ヒートマップは、データのパターン、相関関係、異常を視覚化しやすくします。暖かい色調は高い値を表し、冷たい色調は低い値を表す。主な利点は、データ分布の直感的な視覚化、効率的なパターン検出、意思決定のための空間分析の強化などです。詳細と設定オプションについては、ヒートマップ設定のセクションを参照してください。
Ultralytics YOLO11 を使って、オブジェクトのトラッキングとヒートマップの生成を同時に行うことはできますか?
はい、Ultralytics YOLO11 、オブジェクト・トラッキングとヒートマップ生成を同時にサポートしています。これは Heatmap
ソリューションは、オブジェクト追跡モデルと統合されています。そのためには、ヒートマップオブジェクトを初期化し、YOLO11 のトラッキング機能を使用する必要があります。簡単な例を示します:
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
heatmap = solutions.Heatmap(colormap=cv2.COLORMAP_PARULA, show=True, model="yolo11n.pt")
while cap.isOpened():
success, im0 = cap.read()
if not success:
break
results = heatmap(im0)
cap.release()
cv2.destroyAllWindows()
詳しいガイダンスについては、トラッキングモードのページをご覧ください。
Ultralytics YOLO11 ヒートマップは、OpenCVやMatplotlibのような他のデータ可視化ツールと何が違うのでしょうか?
Ultralytics YOLO11 ヒートマップは、オブジェクト検出および追跡モデルと統合するために特別に設計されており、リアルタイムデータ解析のためのエンドツーエンドのソリューションを提供します。OpenCVやMatplotlibのような一般的な可視化ツールとは異なり、YOLO11 のヒートマップはパフォーマンスと自動処理のために最適化されており、持続的追跡、減衰係数調整、リアルタイムビデオオーバーレイなどの機能をサポートしています。YOLO11 のユニークな機能の詳細については、Ultralytics YOLO11 Introduction をご覧ください。
Ultralytics YOLO11 を使って、ヒートマップで特定のオブジェクト・クラスだけを可視化するにはどうすればよいですか?
で必要なクラスを指定することで、特定のオブジェクト・クラスを視覚化できます。 track()
YOLO メソッドを呼び出します。例えば、車と人(クラス・インデックスが0と2であると仮定)のみを可視化したい場合は classes
パラメータを適宜変更する。
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
heatmap = solutions.Heatmap(show=True, model="yolo11n.pt", classes=[0, 2])
while cap.isOpened():
success, im0 = cap.read()
if not success:
break
results = heatmap(im0)
cap.release()
cv2.destroyAllWindows()
なぜ企業はデータ分析におけるヒートマップ生成にUltralytics YOLO11 を選ぶべきなのか?
Ultralytics YOLO11 は、高度なオブジェクト検出とリアルタイムのヒートマップ生成をシームレスに統合しており、データをより効果的に可視化したい企業にとって理想的な選択肢です。主な利点としては、直感的なデータ分布の視覚化、効率的なパターン検出、より良い意思決定のための強化された空間分析が挙げられます。さらに、YOLO11 の永続的な追跡、カスタマイズ可能なカラーマップ、さまざまなエクスポート形式のサポートなどの最先端機能は、包括的なデータ分析のために、 のような他のツールよりも優れています。 TensorFlowやOpenCVのような包括的なデータ分析のための他のツールよりも優れています。ビジネス・アプリケーションの詳細については、Ultralytics プランをご覧ください。