コンテンツへスキップ

高度なデータ視覚化:Ultralytics YOLO11 🚀を使ったヒートマップ

ヒートマップ入門

ヒートマップ Ultralytics YOLO11で生成されたヒートマップは、複雑なデータを色分けされた鮮やかなマトリックスに変換します。この視覚的なツールは、様々なデータ値を表現するために色のスペクトルを使用し、より暖かい色調はより高い強度を、より低い色調はより低い値を示します。ヒートマップは、複雑なデータパターン、相関関係、異常値を視覚化することに優れており、多様な領域にわたるデータ解釈に、アクセスしやすく魅力的なアプローチを提供します。



見るんだ: ヒートマップUltralytics YOLO11

データ分析にヒートマップを選ぶ理由

  • 直感的なデータ分布の視覚化:ヒートマップは、データの集中と分布の理解を簡素化し、複雑なデータセットを理解しやすいビジュアル形式に変換します。
  • 効率的なパターン検出:データをヒートマップ形式で可視化することで、トレンド、クラスター、異常値を見つけやすくなり、迅速な分析と洞察が容易になります。
  • 空間分析と意思決定の強化:ヒートマップは空間的な関係を図示するのに役立ち、ビジネスインテリジェンス、環境調査、都市計画などの分野における意思決定プロセスを支援する。

実世界での応用

交通 小売
Ultralytics YOLO11 輸送ヒートマップ Ultralytics YOLO11 小売ヒートマップ
Ultralytics YOLO11 輸送ヒートマップ Ultralytics YOLO11 小売ヒートマップ

Ultralytics YOLO11 例を用いたヒートマップ

# Run a heatmap example
yolo solutions heatmap show=True

# Pass a source video
yolo solutions heatmap source="path/to/video/file.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/file.mp4")
assert cap.isOpened(), "Error reading video file"
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
video_writer = cv2.VideoWriter("heatmap_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# In case you want to apply object counting + heatmaps, you can pass region points.
# region_points = [(20, 400), (1080, 400)]  # Define line points
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]  # Define region points
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360), (20, 400)]  # Define polygon points

# Init heatmap
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,  # If you want to do object counting with heatmaps, you can pass region_points
    # classes=[0, 2],  # If you want to generate heatmap for specific classes i.e person and car.
    # show_in=True,  # Display in counts
    # show_out=True,  # Display out counts
    # line_width=2,  # Adjust the line width for bounding boxes and text display
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break
    im0 = heatmap.generate_heatmap(im0)
    video_writer.write(im0)

cap.release()
video_writer.release()
cv2.destroyAllWindows()

議論 Heatmap()

名称 タイプ デフォルト 説明
model str None Ultralytics YOLO モデルファイルへのパス
colormap int cv2.COLORMAP_JET ヒートマップに使用するカラーマップ。
show bool False 画像をヒートマップオーバーレイで表示するかどうか。
show_in bool True 領域に入るオブジェクトの数を表示するかどうか。
show_out bool True リージョンから出ていくオブジェクトの数を表示するかどうか。
region list None 計数領域を定義する点(線または多角形)。
line_width int 2 描画に使用する線の太さ。

議論 model.track

議論 タイプ デフォルト 説明
source str None 画像や動画のソースディレクトリを指定します。ファイルパスとURLをサポートします。
persist bool False フレーム間のオブジェクトの永続的なトラッキングを可能にし、ビデオシーケンス間のIDを維持します。
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 トラッキング結果の表示をコントロールし、トラッキングされたオブジェクトのビジュアル出力を提供します。

ヒートマップ 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 ヒートマップは、複雑なデータを色分けされたマトリックスに変換することで、異なる色相がデータの強度を表すヒートマップを生成します。ヒートマップは、データのパターン、相関関係、異常を視覚化しやすくします。暖かい色調は高い値を表し、冷たい色調は低い値を表す。主な利点は、データ分布の直感的な視覚化、効率的なパターン検出、意思決定のための空間分析の強化などです。詳細と設定オプションについては、ヒートマップ設定のセクションを参照してください。

Ultralytics YOLO11 を使って、オブジェクトのトラッキングとヒートマップの生成を同時に行うことはできますか?

はい、Ultralytics YOLO11 、オブジェクト・トラッキングとヒートマップ生成を同時にサポートしています。これは Heatmap ソリューションは、オブジェクト追跡モデルと統合されています。そのためには、ヒートマップオブジェクトを初期化し、YOLO11 のトラッキング機能を使用する必要があります。簡単な例を示します:

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video/file.mp4")
heatmap = solutions.Heatmap(colormap=cv2.COLORMAP_PARULA, show=True, model="yolo11n.pt")

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        break
    im0 = heatmap.generate_heatmap(im0)
    cv2.imshow("Heatmap", im0)
    if cv2.waitKey(1) & 0xFF == ord("q"):
        break

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/file.mp4")
heatmap = solutions.Heatmap(show=True, model="yolo11n.pt", classes=[0, 2])

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        break
    im0 = heatmap.generate_heatmap(im0)
    cv2.imshow("Heatmap", im0)
    if cv2.waitKey(1) & 0xFF == ord("q"):
        break

cap.release()
cv2.destroyAllWindows()

なぜ企業はデータ分析におけるヒートマップ生成にUltralytics YOLO11 を選ぶべきなのか?

Ultralytics YOLO11 は、高度なオブジェクト検出とリアルタイムのヒートマップ生成をシームレスに統合しており、データをより効果的に可視化したい企業にとって理想的な選択肢です。主な利点としては、直感的なデータ分布の視覚化、効率的なパターン検出、より良い意思決定のための強化された空間分析が挙げられます。さらに、YOLO11 の永続的な追跡、カスタマイズ可能なカラーマップ、さまざまなエクスポート形式のサポートなどの最先端機能は、包括的なデータ分析のために、 のような他のツールよりも優れています。 TensorFlowやOpenCVのような包括的なデータ分析のための他のツールよりも優れています。ビジネス・アプリケーションの詳細については、Ultralytics プランをご覧ください。

📅作成:1年前 ✏️更新 20日前

コメント