回答:
まず、運動モデルを想定する必要があります。空を飛んでいるボールを追跡したいとしましょう。ボールは、9.8m / s ^ 2の重力により下向きの加速度を持ちます。したがって、この場合、定加速度運動モデルが適切です。
このモデルでは、状態は位置、速度、加速度です。前の状態があれば、次の状態を簡単に予測できます。
検出の概念もあります。ボールが動いているビデオがあり、どういうわけか各ビデオフレームでボールを検出する必要があります(たとえば、バックグラウンド減算を使用して)。
あなたの検出はうるさいです。また、空気抵抗、風、宇宙線などのために、ボールの動きは定加速度モデルに正確に適合しません。カルマンフィルターには、これを説明する2つのマトリックスが必要です。 1つはプロセスノイズの共分散(ボールの動きが指定したモデルからどのように逸脱するか)です。
単一のオブジェクトを追跡している場合、カルマンフィルターを使用すると、ノイズの一部を滑らかにしたり、検出が失われたときにオブジェクトがどこにあるかを予測したりできます(オブジェクトがオクルードされる場合など)。これは、Computer Vision System Toolbox for MATLABを使用して、カルマンフィルターで単一のオブジェクトを追跡する例です。
複数のオブジェクトを追跡している場合、カルマンフィルターの予測により、どの検出をどのオブジェクトに適用するかを決定できます。これを行う良い方法は、予測の誤差共分散を与えられた検出の対数尤度を使用することです。カルマンフィルターを使用して複数のオブジェクトを追跡する例を次に示します。
このオンラインコースは非常に簡単でわかりやすく、カルマンフィルターは非常によく説明されています。
「ロボット車のプログラミング」と呼ばれ、モンテカルロ定位、カルマンフィルター、粒子フィルターの3つのローカライズ方法について説明しています。例としてソナー情報に焦点を当てていますが、説明は非常に単純なので、「ソナー」を「視覚情報」に置き換えるだけで十分です。
コースは完全に無料です(現在は終了しているため、積極的に参加することはできませんが、私が推測する講義は引き続き見ることができます)。
視覚的な追跡を行う場合、モデルが必要です。これは、実世界のプロセスの数学的表現です。このモデルは、測定から得られたデータに意味を与え、入力した数値とシステムから取得した数値を結び付けます。
ただし、使用するパラメーターの数を減らすため、モデルは現実を単純化したものです。システムについて知らないことは、ノイズまたは不確実性と呼ばれます。それはあなたが知っていることと同じくらい重要です。システムを完全に説明することはできないため、モデリングしているシステムに何が起こっているかを知るために、実世界からの測定値が必要です。
カルマンは、両方を重み付けした意味で組み合わせることにより、推定値とモデル、そして世界から測定したものを組み合わせるためのツールです。
ステップごとに状態を計算します。それはあなたが現在システムについて知っていることです。状態は、プロセス方程式と測定方程式の影響を受けます。両方の方程式のノイズ共分散は異なります。カルマンは、カルマンゲインを調整することにより、両方のステップのどちらがより影響を与えるかを決定します。
これは、数式に深く入りたくない場合に私が考える方法です。