高度なデータ可視化: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, 404), (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, 404)] # Define line points
# region_points = [(20, 400), (1080, 404), (1080, 360), (20, 360)] # Define region points
# region_points = [(20, 400), (1080, 404), (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紹介をご覧ください。
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 Plansをご覧ください。