Extended Kalman Filter (EKF)
非線形状態推定のための拡張カルマンフィルタ (EKF) を解説します。これがUltralytics YOLO26や自律システムにおける物体追跡をどのように強化するか学びましょう。
拡張カルマンフィルタ (EKF) は、非線形に動作する動的システムのステートを推定するために設計された堅牢な数学的アルゴリズムです。標準的な カルマンフィルタ (KF) は、直線移動や単純な線形方程式に従うシステムに対して最適なソリューションを提供しますが、現実世界の物理現象はそれほど予測可能なものではありません。風力抵抗と戦うドローンや、複数の軸で回転するロボットアームなど、物理的なオブジェクトのほとんどは曲線や複雑な経路をたどります。EKFは、特定の時点でのシステムの線形近似を作成することでこの複雑さに対処し、エンジニアやデータサイエンティストが根底にあるメカニズムが複雑な場合でも 予測モデリング タスクに効率的なフィルタリング手法を適用できるようにします。
Link to this sectionメカニズムと線形化#
複雑なダイナミクスを扱うため、EKFは線形化と呼ばれる数学的プロセスを採用しており、これは本質的に現在の動作点における関数の勾配を推定するものです。これには多くの場合、短い間隔でシステムがどのように変化するかを近似するために ヤコビ行列 を計算することが含まれます。このアルゴリズムは、予測と更新という2つの主要なフェーズからなる再帰ループで動作します。予測フェーズでは、フィルタは物理的な運動モデルを使用して現在のステートを前方に投影します。更新フェーズでは、ジャイロスコープ や加速度計などのセンサからの新しい(多くの場合ノイズの多い)データを使用してこの投影を修正します。この継続的な予測と修正のサイクルは、データノイズ を低減し、単一のセンサから得られるものよりもスムーズで正確な真のステート推定値を提供します。
Link to this sectionコンピュータビジョンにおける関連性#
コンピュータビジョン (CV) の領域において、拡張カルマンフィルタは移動するアイテムの同一性を維持する上で重要な役割を果たします。YOLO26 のような高度なモデルは、単一フレーム内のオブジェクト検出に優れていますが、時間の経過に伴う運動の連続性を本質的に理解しているわけではありません。EKFや同様のロジックを統合することで、オブジェクトトラッキング システムは、以前の速度と軌道に基づいて、次のビデオフレームに バウンディングボックス がどこに現れるべきかを予測できます。これは特に、オブジェクトが一時的に見えなくなるオクルージョンの処理に役立ちます。フィルタはオブジェクトが再び見えるようになるまで位置を推定することで「トラック」を維持し、これは堅牢な マルチオブジェクトトラッキング (MOT) に不可欠な技術です。
Link to this section実社会での応用#
EKFの汎用性は、機械学習 (ML) が物理的なハードウェアと交差するさまざまなハイテク産業において、重要な基盤技術となっています。
- 自動運転車: 自動運転車は安全に走行するために センサフュージョン に依存しています。EKFは、全地球測位システム (GPS)、LiDAR、およびレーダからの個別のデータストリームを統合して、道路上の車両の正確な位置と向きを計算し、信号の欠落や環境ノイズを補正します。
- ロボティクス: 非構造化環境で動作するロボットは、自己位置推定と環境地図作成 (SLAM) アルゴリズムを使用します。EKFは、ロボットが部屋の地図を作成すると同時にその地図内での自身の位置を特定するのを助け、車輪の滑りやセンサのドリフトを補正して正確な移動を保証します。
- ポーズ推定: バーチャルリアリティやスポーツ分析などのアプリケーションでは、人体の関節を追跡するためにジッター(揺らぎ)のあるキーポイントを平滑化する必要があります。EKFアルゴリズムは、ディープラーニングモデルの出力を洗練させ、行動認識 システムのための流動的で自然なモーションアニメーションを作成します。
Link to this section関連概念との比較#
その具体的な用途を理解するために、拡張カルマンフィルタを関連するフィルタリング手法と区別しておくと役立ちます。
- EKF 対 カルマンフィルタ (KF): 標準的なKFは数学的に最適で計算コストも低いですが、システムが高度に非線形である場合には機能しません。EKFは、近似を通じて非線形システムで動作するようにKFを拡張したものです。
- EKF 対 粒子フィルタ: 粒子フィルタは、確率を表すために多くのランダムサンプル(粒子)を使用することで、非線形性と非ガウスノイズを非常にうまく管理します。しかし、計算能力 を大幅に必要とするため、リソースが制限された 組み込みシステム ではEKFが好まれる選択肢となります。
- EKF 対 無香料カルマンフィルタ (UKF): 無香料カルマンフィルタ は、EKFで必要とされる複雑な微積分を行わずに決定論的なサンプリングポイントを使用して非線形性に対処する中間的なアプローチを提供しますが、EKFは依然として多くの制御システムにおける業界標準です。
Link to this section実装例#
ultralytics パッケージでは、トラッキングアルゴリズムが内部でカルマンフィルタの概念を使用して軌道を平滑化し、フレーム間で検出結果を関連付けています。ハイレベルなツールを使用する際にEKFの行列演算を自分でコーディングする必要はありませんが、それがトラッカーを駆動していることを理解することは、Ultralytics Platform のパラメータを設定する上で役立ちます。
状態推定のためにこれらのフィルタリング手法を活用する、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()}")





