Extended Kalman Filter (EKF)
非線形状態推定のための拡張カルマンフィルタ (EKF) を解説します。これがUltralytics YOLO26や自律システムにおける物体追跡をどのように強化するか学びましょう。
**拡張カルマンフィルター(EKF)**は、非線形に動作する動的システムの状態を推定するために設計された、ロバストな数学アルゴリズムです。標準的なカルマンフィルター(KF)は、直線移動や単純な線形方程式に従うシステムに対して最適なソリューションを提供しますが、現実世界の物理現象がそれほど予測可能であることはまれです。風圧に逆らうドローンや、複数の軸で回転するロボットアームなどのほとんどの物理オブジェクトは、曲線的または複雑な軌道を描きます。EKFは、特定の時点におけるシステムの線形近似を作成することでこの複雑性に対処し、基礎となる力学が複雑な場合でも、エンジニアやデータサイエンティストが効率的なフィルタリング手法を予測モデリングのタスクに適用できるようにします。
メカニズムと線形化#
複雑な力学を処理するために、EKFは線形化と呼ばれる数学的プロセスを採用しており、これは本質的に現在の動作点における関数の傾きを推定します。これには多くの場合、システムが短い間隔でどのように変化するかを近似するためにヤコビ行列を計算することが含まれます。アルゴリズムは、予測と更新という2つの主要なフェーズで構成される再帰ループで動作します。予測フェーズでは、フィルターは運動の物理モデルを使用して現在の状態を前方に予測します。更新フェーズでは、ジャイロスコープや加速度計などのセンサーからの、多くの場合ノイズを含む新しいデータを使用して、この予測を修正します。この予測と修正の継続的なサイクルは、データノイズを削減し、単一のセンサー単体よりもスムーズで正確な真の状態の推定値を提供します。
コンピュータビジョンにおける関連性#
コンピュータビジョン(CV)の領域において、拡張カルマンフィルターは、移動するアイテムの同一性を維持する上で重要な役割を果たします。YOLO26のような高度なモデルは、単一フレーム内のオブジェクト検出に優れていますが、時間の経過に伴う運動の連続性を本質的に理解しているわけではありません。EKFまたは同様のロジックを統合することにより、オブジェクトトラッキングシステムは、以前の速度と軌道に基づいて、次のビデオフレームにバウンディングボックスがどこに出現すべきかを予測できます。これは、オブジェクトが一時的に視界から遮られるオクルージョンを処理する際に特に役立ちます。フィルターはオブジェクトが再び見えるようになるまでその位置を推定することで「トラック」を維持し、ロバストな多重物体追跡(MOT)に不可欠な技術となります。
実社会での応用#
EKFの汎用性により、EKFは機械学習(ML)が物理ハードウェアと交差するさまざまなハイテク産業において、重要な基盤技術となっています:
- 自動運転車: 自動運転車は、安全にナビゲートするためにセンサーフュージョンに依存しています。EKFは、全地球測位システム(GPS)、LiDAR、およびレーダーからの異なるデータストリームを統合して、道路上の車両の正確な位置と向きを計算し、信号のドロップアウトや環境ノイズを補正します。
- ロボティクス: 構造化されていない環境で動作するロボットは、自己位置推定と地図作成(SLAM)アルゴリズムを使用します。EKFは、車輪のスリップやセンサーのドリフトを補正して正確な移動を確保しながら、ロボットが部屋の地図を作成し、その地図内で自身の位置を同時に特定するのを助けます。
- ポーズ推定: 仮想現実やスポーツアナリティクスなどのアプリケーションでは、人間の関節を追跡するために、ジッター(ブレ)のあるキーポイントをスムーズにする必要があります。EKFアルゴリズムは、ディープラーニングモデルの出力を洗練させ、行動認識システム向けに流動的で自然なモーションアニメーションを作成します。
関連概念との比較#
その具体的な用途を理解するために、拡張カルマンフィルタを関連するフィルタリング手法と区別しておくと役立ちます。
- EKFとカルマンフィルター(KF)の比較: 標準的なKFは数学的に最適であり、計算コストも安価ですが、システムが高度に非線形である場合には機能しなくなります。EKFは、近似によって非線形システムで動作するようにKFを拡張します。
- EKFとパーティクルフィルターの比較: パーティクルフィルターは、確率を表現するために多くのランダムサンプル(パーティクル)を使用することで、非線形性と非ガウスノイズを非常にうまく管理します。しかし、大幅に多くの計算能力を必要とするため、リソースが制限された組み込みシステムにおいてはEKFが好まれる選択肢となります。
- EKFと無香料カルマンフィルター(UKF)の比較: 無香料カルマンフィルターは中間的な選択肢を提供し、EKFに必要な複雑な微積分なしで非線形性を処理するために決定論的なサンプリングポイントを使用しますが、多くの制御システムにおいてEKFは依然として業界標準です。
実装例#
ultralyticsパッケージにおいて、トラッキングアルゴリズムは内部でカルマンフィルタリングの概念を使用して、軌道をスムーズにし、フレーム間で検出結果を関連付けます。高レベルツールを使用する際にEKFの行列演算を自分でコーディングする必要はありませんが、それがトラッカーを動かしていることを理解することは、Ultralytics プラットフォームのパラメータを構成するのに役立ちます。
状態推定のためにこれらのフィルタリング手法を利用するYOLOモデルを使用してトラッカーを開始する方法は次のとおりです:
from ultralytics import YOLO
# Load the latest YOLO26 model (nano version for speed)
model = YOLO("yolo26n.pt")
# Track objects in a video source
# Trackers like BoT-SORT or ByteTrack use Kalman filtering logic internally
results = model.track(source="https://ultralytics.com/images/bus.jpg", tracker="botsort.yaml")
# Print the ID of the tracked objects
for r in results:
if r.boxes.id is not None:
print(f"Track IDs: {r.boxes.id.numpy()}")





