Yolo 深圳
深セン
今すぐ参加
用語集

カルマンフィルタ(KF)

カルマンフィルタが、ノイズの多いデータでも、AI、追跡、センサーフュージョン、ロボット工学などの状態推定を最適化する様子をご覧ください。

カルマンフィルター(KF)とは、一連の不完全でノイズの多い測定値から動的システムの状態を推定するために使用される再帰的な数学的アルゴリズムである。 一連の不完全でノイズの多い測定値から動的システムの状態を推定するために使用される再帰的な数学的アルゴリズムである。もともとは ルドルフ・E・カールマン(Rudolf E. Kálmán)により1960年に開発された。 航空宇宙ナビゲーションから機械学習(ML) 機械学習(ML)の基礎となっている。人工知能 人工知能(AI)の文脈では、カルマンフィルターは 人工知能(AI)の文脈では、カルマンフィルターは主に、データストリームを「平滑化」し、過去の動きに基づいて物体の将来の位置を予測する能力で評価されている。 センサーの測定値が不規則であったり、欠落している場合でも、過去の動きに基づいて物体の将来の位置を予測する。

カルマンフィルターの仕組み

カルマンフィルターは、時間と共に推定値を改良する連続的な2段階のサイクルで動作する:

  1. 予測(時間更新):予測(時間更新): フィルタは、以前の状態と物理的な運動モデルに基づいて、システムの現在の状態(例えば、位置と速度)を推定します。 速度など)を推定します。また、この推定値の不確かさ(共分散)を予測します。 を予測します。
  2. 更新(測定更新):新しい測定値(センサーからのデータなど)が届くと、フィルターが予測値と比較する。 は予測と比較します。加重平均を計算します。 補正された状態推定値を生成します。

この "予測-補正 "ループにより、カルマンフィルターは最適な推定器として機能し、追跡するパラメーターの平均二乗誤差を最小化することができる。 を最小化します。

AIとコンピュータ・ビジョンにおける関連性

現代のコンピュータ・ビジョン(CV)では、カルマンフィルターが標準的な構成要素となっている。 フィルターは オブジェクト追跡システムの標準的な構成要素である。一方 のような深層学習モデルは YOLO11のような深層学習モデルは のようなディープラーニング・モデルは、個々のフレームにおけるオブジェクト検出には優れているが、本質的に時間的な連続性を理解していない。 時間的連続性を本質的に理解していない。

カルマンフィルターは、"トラッキング・バイ・検出 "によってこのギャップを埋める。物体が検出されると、フィルターは はtrack"を作成し 予測する。これには次の2つの利点がある。 つの大きな利点がある:

  • 軌跡の平滑化:バウンディングボックス座標の一貫性のない検出によるジッターを軽減します。 を軽減します。
  • オクルージョンの処理:オブジェクトが短時間ブロックされ(オクルージョン)、検出されなかった場合、カルマンフィルターはその位置を予測し続けます。 はその位置を予測し続け、物体が再び現れたときに、システムがその物体とIDを再び関連付けることを可能にします。

BoT-SORTByteTrackのような洗練されたトラッカーは、このカルマンフィルターに依存している。 モーション・モデリング。

実際のアプリケーション

カルマンフィルターは、ノイズの多いデータから正確な推定を必要とする技術において、どこにでもある。

  • 自律走行車:自動運転車は センサー・フュージョンを使ってGPS、LiDAR、カメラからのデータを組み合わせる。 カメラ。カルマンフィルターはこれらの入力を統合し、車両の位置と近傍の動体の軌跡を高精度に推定します。 カルマンフィルターは、これらの入力を統合して、車両の位置と近くの動的物体の軌跡を高精度に推定し、安全なナビゲーションを保証します。 ナビゲーション
  • ロボット工学: ロボット工学においてKFは不可欠である。 同時定位マッピング(SLAM)に不可欠である。ロボットは、車輪のスリップやセンサーのドリフトを補正しながら、マップ内の方位と位置を推定するためにKFを使用する。 ドリフト。
  • スポーツ・アナリティクススポーツ分析 AIを駆使したスポーツ分析では、カルマンフィルターがボールと選手をtrack し、2D/3D座標を平滑化して、スピード、距離、戦術フォーメーションを計算する。 フォーメーションを計算する。

カルマンフィルターの実装

の中で ultralytics パッケージでは、カルマンフィルターがトラッキングモジュールに直接統合されています。ユーザーは を有効にすることで、この強力なアルゴリズムを自動的に活用することができます。 track モード.

from ultralytics import YOLO

# Load a YOLO11 model (object detector)
model = YOLO("yolo11n.pt")

# Track objects in a video
# The tracker (e.g., BoT-SORT) uses a Kalman Filter internally to smooth trajectories
results = model.track(source="https://ultralytics.com/images/bus.jpg", tracker="botsort.yaml")

関連概念

標準的なカルマンフィルターとその変種を区別することは重要である:

  • 拡張カルマンフィルター(EKF) 標準的なKFは線形運動ダイナミクスを想定している。EKFは、現在の推定値を中心にモデルを線形化することで、非線形システム(例えば、曲線上を移動するロボット)に使用されます。 には、現在の推定値を中心にモデルを線形化することによって使用されます。
  • パーティクルフィルター:ガウス分布のノイズを仮定するKFとは異なります、 パーティクルフィルターは、確率を表現するためにランダムサンプルのセットを使用します。 確率を表現するため、非常に非線形で非ガウス的な問題に適している。 計算コストは高くなる。
  • 物体の検出検出 画像に何が写っているかを特定し、(KFを使用した)トラッキングにより、時間の経過とともにどこに移動するかを特定する。

Ultralytics コミュニティに参加する

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加