Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

Data Visualization

データ可視化では、データをチャート、プロット、マップで表現し、パターン、外れ値、誤りを見えるようにします。データセットの監査から学習曲線まで活用できます。

データ可視化とは、データをグラフ、プロット、マップ、アノテーション付き画像などで表現し、値を位置、長さ、色、形状に対応付ける手法です。数値テーブルでは見つけにくいパターン、外れ値、エラーを視覚的に把握できます。探索的な可視化は、John Tukey氏が1977年に同名の著書で提唱した探索的データ分析の過程で、分析者がデータを理解するのに役立ちます。説明的な可視化は、得られた知見をほかの人に伝えます。機械学習やコンピュータービジョンでは、データセットの監査、学習状況の確認、モデルのエラー診断、予測の説明に使われます。

可視化が重要な理由#

統計学者のFrancis Anscombe氏は1973年、ほぼ同じ要約統計量を持つ4つの小規模データセット(現在はAnscombeの四重奏と呼ばれます)を示し、その重要性を明らかにしました。

import matplotlib.pyplot as plt
import numpy as np

# Anscombe's quartet: four datasets of 11 (x, y) points each
x = [10, 8, 13, 9, 11, 14, 6, 4, 12, 7, 5]
quartet = {
    "I": (x, [8.04, 6.95, 7.58, 8.81, 8.33, 9.96, 7.24, 4.26, 10.84, 4.82, 5.68]),
    "II": (x, [9.14, 8.14, 8.74, 8.77, 9.26, 8.10, 6.13, 3.10, 9.13, 7.26, 4.74]),
    "III": (x, [7.46, 6.77, 12.74, 7.11, 7.81, 8.84, 6.08, 5.39, 8.15, 6.42, 5.73]),
    "IV": ([8] * 7 + [19] + [8] * 3, [6.58, 5.76, 7.71, 8.84, 8.47, 7.04, 5.25, 12.50, 5.56, 7.91, 6.89]),
}

# Print each dataset's summary statistics and draw its scatter plot side by side
fig, axes = plt.subplots(1, 4, figsize=(12, 3), sharex=True, sharey=True)
for ax, (name, (xs, ys)) in zip(axes, quartet.items()):
    r = np.corrcoef(xs, ys)[0, 1]
    print(f"{name}: mean y {np.mean(ys):.2f}, variance y {np.var(ys, ddof=1):.2f}, correlation {r:.3f}")
    ax.scatter(xs, ys)
    ax.set_title(f"Dataset {name}")
fig.savefig("anscombe.png")

4つのデータセットはいずれも、平均yが7.50、分散が4.12または4.13、相関係数が0.816または0.817と表示されます。しかし、プロットの形はまったく異なります。データセットIはノイズを含む線形傾向、IIは滑らかな曲線、IIIは外れ値が1つある完全な直線、IVは点が縦に並び、遠く離れた1点だけで相関が生じています。Autodeskの研究者は2017年にこの考えを発展させ、同じ統計量を持つ13個のデータセット「Datasaurus Dozen」を作成しました。そのうち1つをプロットすると恐竜の形になります。

グラフの選び方#

グラフが効果を発揮するのは、データの表現方法が問いに合っている場合です。カテゴリ間の比較には棒グラフ、時間変化には折れ線グラフ、分布にはヒストグラムや箱ひげ図、2変数間の関係には散布図、空間的なパターンにはマップやヒートマップが適しています。William Cleveland氏とRobert McGill氏は1984年のグラフィカル知覚実験で、人は共通のスケール上の位置を最も正確に判断し、次いで長さ、角度、面積、色の濃淡の順に正確さが下がることを示しました。そのため、正確な比較には円グラフより棒グラフやドットプロットが適しています。色でカテゴリや値の大きさを表すには、viridisのような知覚的に均一で色覚多様性に配慮したカラーマップが適しています。viridisはバージョン2.0以降のMatplotlibのデフォルトです。

機械学習における可視化#

  • データセットの偏りの監査:クラス別ヒストグラムで不均衡を明らかにし、BBoxの位置とサイズをマップにすると、常に特定の領域やスケールでオブジェクトが出現していないかを確認できます。画像グリッドはラベルのエラーを見つけるのに役立ちます。
  • 損失関数の曲線:エポックごとに学習損失と検証損失をプロットすると、収束状況を確認できます。学習損失が下がる一方で検証損失が上がる場合は、過学習の兆候です。
  • 混同行列と適合率-再現率曲線:モデルがどのクラスを混同するか、また信頼度しきい値の変化に伴って適合率と再現率がどう変化するかを示します。
  • 埋め込みのマップとt-SNE:t-SNEなどの射影手法は、類似するサンプルを2次元上で近くに配置し、クラスタ、重複、外れ値を明らかにします。
  • 顕著性マップと予測オーバーレイ:画像にBBox、マスク、キーポイントを描画し、判断の根拠となったピクセルを強調表示します。

TensorBoardやWeights & Biasesなどの実験管理ツールは、複数の学習実行にわたってこれらの指標をリアルタイムでグラフ化するため、検証損失が上昇し始めるとすぐに過学習を確認できます。Ultralytics YOLOも、各学習実行のフォルダーに主要なプロットをデフォルトで保存します。labels.jpgにはクラスごとのインスタンス数、BBox形状のサンプル、バウンディングボックスの中心と幅・高さの2次元ヒストグラムが表示されます。results.pngは、エポックごとのすべての損失と指標をグラフ化し、検証時には混同行列と適合率-再現率曲線も追加されます。

  • データ分析:質問に答えるためにデータを調査、クリーニング、モデリングする一連の幅広いプロセスです。可視化は、データの探索や結果の報告に使われる主要なツールの1つです。
  • 説明可能なAI(XAI):モデルが判断を下した理由を説明します。顕著性マップなどの可視化は、その主な出力の1つです。
  • データマイニング:アルゴリズムを使って大規模なデータセットからパターンを自動的に見つけます。可視化は、見つかったパターンを示すことがよくあります。
  • ダッシュボード:1つの画面に複数のグラフをまとめ、主要な指標の経時変化を追跡します。ビジネスインテリジェンスツールや、本番環境のモデル監視でよく使われます。

ソリューションを見る

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、自然保護、地理空間分析に活用できます。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOを活用して航空宇宙分野でコンピュータビジョンを導入し、航空機検査、滑走路上のFOD検出、空港の地上業務、複合材の欠陥検出に活用できます。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう