用語集

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

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

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

さらに詳しく

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

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

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

  1. 予測:直前の状態推定と、システムが時間とともにどのように変化するかのモデル(プロセスモデル)に基づいて、フィルターはシステムの次の状態を予測する。この予測には、本質的に不確実性が含まれます。
  2. 更新:フィルタは、現在の状態に関連する新しい測定値(ノイズと不確実性もある)を取り込みます。その測定値を予測された状態と比較し、それぞれの不確実性に基づいて予測値または測定値のどちらかに重みを与えて推定値を更新します。その結果、予測値や測定値だけよりも統計的に優れた(真の状態に近い)精緻な状態推定値が得られます。

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

主な特徴

  • 再帰的:全履歴を保存する必要がなく、測定値が到着するたびに1つずつ処理する。
  • 線形システムに最適:システムダイナミクスと測定プロセスが線形で、ノイズがガウス分布に従う場合、(平均二乗誤差の最小化という点で)可能な限り最良の推定値を提供する。
  • 状態推定:直接測定できないシステムの内部状態(位置、速度など)を推定する。
  • ノイズの処理:システムダイナミクスと計測の両方における不確実性を明示的にモデル化。
  • 計算効率が高い:比較的軽量であるため、エッジAIに見られるような組み込みシステム上のリアルタイム・アプリケーションに適している。

実世界での応用

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

  • 物体追跡コンピュータビジョンでは、KFは、短時間のオクルージョンや検出の失敗があっても一貫したアイデンティティを維持するのに役立ち、後続のビデオフレームで検出されたオブジェクト(歩行者や車両など)の位置を予測するために一般的に使用されます。Simple Online and Realtime Tracking (SORT)のようなトラッカーは、動き予測にKFを多用しています。 Ultralytics YOLOモデルはこのようなトラッキング・アルゴリズムを活用しています。詳しくはトラッキング・モードのドキュメントをご覧ください。例えば、セキュリティシステムは、カメラの視野を横切って歩く人をスムーズに追跡するためにKFを使用するかもしれません。 YOLO11.
  • ロボティクスとナビゲーションKFは、複数のセンサーからのデータを組み合わせて(センサーフュージョン)、ロボットの位置と姿勢(ポーズ)を推定するのに重要です。例えば、自律走行する車両は、安全なナビゲーションに不可欠な位置と速度の信頼性の高い推定値を得るために、KFを使用して、ノイズの多いGPS測定値と慣性計測ユニット(IMU)および車輪のオドメトリからのデータを融合することができます(自動車ソリューションのAI)。
  • 航空宇宙と誘導KFはアポロ計画で宇宙船のナビゲーションに使われたことで有名だが、現代の航空宇宙誘導システムや衛星測位システムでも重要な役割を果たし続けている。
  • 時系列分析計量経済学や金融において、ノイズを除去し、基本的な傾向を推定することによって、時系列データをモデル化し、予測するために使用される。金融の時系列モデルについてより詳しく調べることができる。
  • 信号処理:オーディオエンハンスメントやバイオメディカル信号解析など、さまざまな信号処理タスクに応用される。

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

標準的なカルマンフィルターは、システムダイナミクスと計測モデルが線形であることを前提としている。しかし、実世界のシステムの多くは非線形挙動を示します(ロボットアームの動き、複雑な車両ダイナミクスなど)。このような場合、拡張カルマンフィルタ(EKF)のような変種が使用されます。

重要な違いは、EKFは非線形システムを近似することで処理することである。EKFは、テイラー級数展開のような手法を用いて、各時間ステップで現在の状態推定値を中心に非線形関数を線形化します。EKFは強力ですが、この線形化によって近似誤差が生じます。つまり、EKFは純粋な線形問題に対する標準的なKFほど最適でも安定でもない可能性があります。システムが線形であることが分かっている場合、その最適性と計算の単純さから、一般的にKFが好まれます。非線形性の高いシステムに対しては、しばしばEKFよりも優れた精度を提供しますが、通常、より多くの計算を必要とします。Ultralytics HUBのようなプラットフォームを使って、これらのフィルターを組み込んだモデルをトレーニングし、実験することができます。

すべて読む