Learn how the Extended Kalman Filter (EKF) handles non-linear systems for accurate object tracking and sensor fusion. Enhance your [YOLO26](https://docs.ultralytics.com/models/yolo26/) projects on the [Ultralytics Platform](https://platform.ultralytics.com).
拡張カルマンフィルタ(EKF)は、非線形に振る舞う動的システムの状態を推定するために設計された頑健な数学的アルゴリズムである。標準的なカルマンフィルタ(KF)は直線運動や単純な線形方程式に従うシステムに対して最適解を提供するが、現実世界の物理現象がそれほど予測可能であることは稀である。 ドローンの風抵抗との戦い、複数軸で回転するロボットアームなど、ほとんどの物理的物体は曲線的または複雑な経路をたどる。EKFはこの複雑性に対処するため、特定の時点におけるシステムの線形近似を作成する。これにより、基盤となる力学が複雑な場合でも、エンジニアやデータサイエンティストは予測モデリングタスクに効率的なフィルタリング技術を適用できる。
複雑な動的特性を扱うため、EKFは線形化と呼ばれる数学的プロセスを採用する。これは本質的に、現在の動作点における関数の傾きを推定するものである。これにはしばしば、短時間間隔におけるシステムの変化を近似するためにヤコビ行列を計算することが含まれる。アルゴリズムは予測と更新という二つの主要なフェーズからなる再帰ループで動作する。予測フェーズでは、フィルタは運動の物理モデルを用いて現在の状態を前方へ投影する。 更新フェーズでは、ジャイロスコープや加速度計などのセンサーから得られる、しばしばノイズの多い新たなデータを用いてこの予測値を補正する。この予測と補正の連続的なサイクルにより、データノイズが低減され、単一のセンサーが単独で提供できるよりも滑らかで正確な真の状態推定値が得られる。
コンピュータビジョン(CV)の分野において、 拡張カルマンフィルタ(EKF)は移動物体の同一性を維持する上で重要な役割を果たす。YOLO26のような先進モデルは 単一フレーム内での物体検出に優れているが、 時間経過に伴う運動の連続性を本質的に理解していない。 EKFや類似のロジックを統合することで、 物体追跡システムは過去の速度と軌跡に基づき、 次の動画フレームにバウンディングボックスが 出現すべき位置を予測できる。 これは特に、物体が一時的に視界から遮られるオクルージョン処理に有用である。フィルターは物体が再び可視化するまで位置を推定し「track」を維持する。この手法は堅牢なマルチオブジェクト追跡(MOT)に不可欠である。
EKFの汎用性は、機械学習(ML)と物理ハードウェアが交差する様々なハイテク産業において、 中核技術としての地位を確立しています:
拡張カルマンフィルタの特異的な有用性を理解するには、関連するフィルタリング手法との区別が有用である:
の中で 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()}")