カルマンフィルターが不確実な状況下でシステムの状態をどのように推定するかを探ります。AIの精度を向上させるために、Ultralytics YOLO26を用いたオブジェクトtrackにそれを使用する方法を学びましょう。
A カルマンフィルター (KF)は、動的システムの時間を追った状態を推定するために使用される再帰的な数学的アルゴリズムです。ルドルフ・E・カルマンによって最初に導入されたこの手法は、不確実、不正確、またはランダムな変動(しばしば「ノイズ」と呼ばれる)を含むデータを処理するために不可欠です。統計的な不正確さを含む一連の時系列観測値を組み合わせることで、カルマンフィルターは単一の測定値のみに基づく推定よりも正確な未知変数の推定値を生成します。機械学習 (ML)および人工知能 (AI)の分野では、予測モデリングのための重要なツールとして機能し、ギザギザのデータポイントを平滑化して真の根底にあるトレンドを明らかにします。
このアルゴリズムは、予測と更新(修正とも呼ばれる)の2段階サイクルで動作します。基盤となるシステムが線形であり、ノイズがガウス分布(ベルカーブ)に従うと仮定しています。
元々は制御理論と航空宇宙ナビゲーションに根ざしていましたが、カルマンフィルターは現在、現代のコンピュータービジョン (CV)パイプラインにおいてユビキタスな存在となっています。
標準カルマンフィルターを統計的AIに見られるそのバリエーションや代替手法と区別することは、その理解を深める上で役立ちます。
Ultralyticsエコシステムでは、カルマンフィルターはトラッキングアルゴリズムに直接統合されています。方程式を手動で記述する必要はなく、トラッキングモードを有効にすることでそれらを活用できます。 Ultralytics Platformを使用すると、データセットを管理し、これらのトラッキング機能で簡単にデプロイできるモデルをトレーニングできます。
pythonを使用してYOLO26でtrackを実行する簡潔な例です。ここでは、基盤となるtrackerがカルマンフィルターを自動的に適用してバウンディングボックスの動きを平滑化します。
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# Run tracking on a video source
# The 'botsort' tracker uses Kalman Filters internally for state estimation
results = model.track(source="traffic_video.mp4", tracker="botsort.yaml")
# Process results
for result in results:
# Access the tracked IDs (assigned and maintained via KF logic)
if result.boxes.id is not None:
print(f"Tracked IDs in frame: {result.boxes.id.cpu().numpy()}")
実世界でのデプロイメントでは、データが完璧であることは稀です。カメラはモーションブラーに悩まされ、センサーは信号ノイズを経験します。カルマンフィルターは、意思決定ループ内で高度なデータクリーニングメカニズムとして機能します。推定値を継続的に洗練することで、AIエージェントが入力ストリームの一時的なすべてのグリッチに反応するのではなく、最も確度の高い現実にに基づいて動作することを保証します。この信頼性は、空港業務の監視から精密な産業オートメーションに至るまで、安全性が重要なアプリケーションにとって極めて重要です。

未来の機械学習で、新たな一歩を踏み出しましょう。