用語集

カルマンフィルター(KF)

AI、トラッキング、センサー・フュージョン、ロボット工学などにおいて、ノイズの多いデータでもカルマンフィルターが状態推定を最適化する方法をご覧ください。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

カルマンフィルター(KF)は、機械学習(ML)や様々な工学分野で広く使用されている強力なアルゴリズムであり、ノイズの多い不完全な測定値から動的システムの状態を推定するためのものである。カルマンフィルターは、予測された動きとノイズの多い測定値を組み合わせて、可能な限り最良の推定値を得るための統計的に最適な方法を提供します。カルマンフィルターは、リアルタイムアプリケーションにおける効率性と有効性で特に評価されています。

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

カルマンフィルターの核心は、ノイズの多い入力データのストリームに対して再帰的に動作し、基本的なシステム状態の統計的に最適な推定値を生成することである。これは2段階のサイクルで動作する:

  1. 予測:フィルターは、現在の状態の推定値と、(例えば既知の物理学や運動パターンに基づく)時間の経過とともにシステムがどのように変化するかの数学的モデルに基づいて、システムの次の状態を予測する。この予測には本質的に不確実性が含まれます。
  2. 更新:新しい測定値(例えば、新しいGPS座標)が到着すると、フィルターはこの測定値を使用して予測値を修正または更新します。予測値と測定値をそれぞれの不確実性に基づいてインテリジェントに重み付けし、より確かな値をより信頼します。この更新ステップにより、予測値や測定値だけよりも正確な新しい状態推定値が得られます。

この予測-更新サイクルは新しい測定ごとに繰り返され、状態推定値を継続的に改善する。このフィルタは、ガウスノイズを含む線形システムにおいて、状態推定値の平均二乗誤差を最小化するため、「最適」であると考えられている。そのため、状態推定と 信号処理における基本的なツールとなっている。より視覚的な説明については、写真で見るカルマンフィルターのしくみをご覧ください。

主な特徴

  • 最適性ガウスノイズ特性を仮定した線形システムに対する最適な推定を提供します。
  • 再帰的:過去のデータをすべて保存する必要がなく、測定値が届くたびに1つずつ処理するため、リアルタイムの推論に適している。
  • 計算効率:他の推定方法と比較して計算量が比較的少ない。
  • 状態の推定:直接測定できないシステム内部の状態を推定する。
  • ノイズ処理:センサーの測定値からノイズを効果的に除去。

実世界での応用

カルマンフィルターは、多くのAIやMLアプリケーションに不可欠である:

カルマンフィルター対拡張カルマンフィルター

標準的なカルマンフィルターは、システムダイナミクスと計測モデルが線形であることを前提としている。しかし、現実のシステムの多くは非線形である。このような場合、拡張カルマンフィルター(EKF)のような変形が使用される。EKFは、各時間ステップで現在の状態推定値を中心に線形化することで、非線形システムを近似します。EKFは強力ですが、この線形化によって近似誤差が発生するため、純粋な線形問題に対する標準的なKFほど最適でも安定でもありません。アンセンテッド・カルマン・フィルタ(UKF)のような他の変種は、非線形性を処理するための異なるアプローチを提供します。

Ultralyticsカルマンフィルター

カルマンフィルタリングの原理は、BoT-SORTやByteTrackなど、Ultralyticsサポートするトラッキングアルゴリズムに組み込まれており、Ultralytics YOLO オブジェクト検出器と一緒に使用することができます。Ultralytics フレームワークは、次のような実装を提供します。 reference/trackers/utils/kalman_filter/を可能にする。 オブジェクトトラッキング 機能があります。次のようなツールを使って、このようなアプリケーションのモデルを管理し、訓練することができる。 Ultralytics HUB.

すべて読む