一般的な場合、追跡の問題の解決策には3つの主要な手順が含まれます。
-セグメントの選択;
-選択されたセグメントと追跡されたオブジェクト間の通信の確立。
-関心のあるオブジェクトの位置の明確化または予測。
この場合、セグメントは画像の連結領域と呼ばれ、動きの兆候によって区別されます。 このメモの一部として、リストされているステージの2番目と3番目に興味があります。
問題の一般的な声明
現在のフレームでは、動きに基づいて1つ以上のセグメントが選択されていると仮定します。 これを行うには、バックグラウンド減算、光束、ガウス分布の混合に基づく方法などを使用できます。その結果、初期のグレースケール画像の代わりに、下図に示すようにバイナリ画像が得られます。
ノイズとさまざまな大気の歪みが存在するため、選択の結果には、数学的形態学の方法を使用して簡単に除去できるエラーが含まれています。 最初に、小さなセグメントとポイントノイズを削除する形態学的検出を適用する必要があります。 その後、モルフォロジークロージャを適用して、オブジェクトの形状を復元できます。 その結果、クリアな画像(図を参照)が得られ、その後マークアップとパラメーター化が行われます。 見つかったセグメントとそのパラメーターのリストは、追跡アルゴリズムの初期データです。
したがって、オブジェクト割り当てアルゴリズムの操作の結果として、特定のフレームで見つかったセグメントのリストを取得できますが、オブジェクトを追跡するタスクを解決するには、前のフレームで認識されているオブジェクトをこれらの各セグメントに一致させるか、新しいオブジェクトを検出することを決定する必要があります。 誤って検出されたセグメントは、時間的に十分に安定しており、いくつかのフレームの空間の近接点に存在することがあります。 一方、正しく検出されたセグメントが一時的に消えることがあります。 したがって、最初に新しいオブジェクトを検出することを決定し、次に時間的に不安定な偽のセグメントをフィルターで除去し、3番目に既知のオブジェクトと新しいセグメント間の対応を確立し、4番目にオブジェクトの座標を予測するメカニズムが必要です短期的な消失の場合、第5に、オブジェクトの損失について決定を下します。
背景セクションによるオブジェクトの一時的な閉鎖に追跡アルゴリズムの安定性を与えるために、各オブジェクトに対してパーソナルトラジェクトリフィルターが導入されます。その主なタスクは、オブジェクトのトラジェクトリの分析に基づいて次のフレームでオブジェクトの座標を予測することです。 通常、カルマンフィルターはそのようなフィルターとして使用されます。
オブジェクトが背景セクションまたは他のオブジェクトによって一時的に閉じられると、軌道パラメーターは洗練されず、軌道フィルターは座標予測モードで動作します。
画像のシーケンス内に多くの追跡オブジェクトがある場合、それらのモーションパスの交差の状況でオブジェクトが絡まる可能性があります。 パスを通過した後、オブジェクトは交差点の前と同じ識別子を受け取る必要があります。 識別子の正しい割り当ての例を図に示します。
ハンガリーのアルゴリズムに基づいたオブジェクトの追跡
追跡アルゴリズムの最初のステップとして、現在のフレームで見つかったセグメントと追跡されたオブジェクトとの対応を確立する必要があります。 この目的のために、各i番目のオブジェクトと各j番目のセグメント間で、類似性の定量的尺度が計算されます。 そのような尺度として、オブジェクトの予測座標間のユークリッド距離を使用できます セグメントの中心 、つまり
画像に新しいオブジェクトが表示される場合があり、しばらく追跡されたオブジェクトがフレームを離れたり、障害物によって一時的に見えなくなる場合があることに注意してください。 3つのタイプの状況を検討します。
a)オブジェクトとセグメントの間で一致が見つかった。
b)このオブジェクトでは、セグメント間で一致が見つかりませんでした。
c)このセグメントでは、オブジェクト間で一致が見つかりませんでした。
ユークリッド距離は、 i番目のオブジェクトとj番目のセグメント間の対応について決定(a)を行うコストと見なすことができます。 ソリューションのコストを指定するE tの値(b)と、ソリューションのコストを指定するE sの値(c)を導入します。
その結果、次の問題の解決に至ります。セグメントとオブジェクト間の対応を確立するか、すべての決定の総コストが最小になるようにそのような比較が不可能かどうかを決定する必要があります。 この問題は割り当て問題として知られ、 ハンガリー語のアルゴリズムを使用して解決します。
ハンガリーのアルゴリズムを適用するには、サイズN M = N t + N sのコストの正方行列を作成する必要があります。ここで、 N tは追跡対象の数、 N sは見つかったセグメントの数です。 コストマトリックスの形式は次のとおりです。
ここで、 D maxは、 D max >> E ijとなるように十分に大きい数です。 追跡対象オブジェクトは、マトリックスの行に沿ってカウントされ、セグメントは列にあります。
ハンガリー語のアルゴリズムの結果として、ペア(t、s) k 、k、t、s = 1..N Mのリストを取得します。
t <= N tかつs <= N sの場合、対応[状況(a)]はt番目のオブジェクトとs番目のセグメントの間に確立されます。
t <= N tかつs> N sの場合、t番目のオブジェクトについて、対応するセグメントが見つかりませんでした[状況(b)]。
t> N tかつs <= N sの場合、s番目のセグメントに適切なオブジェクトが見つかりませんでした[状況(c)]。
これらの各状況は、さまざまなアクションを実行する必要につながります。 最初のケースでは、対応するセグメントのパラメーターに基づいてオブジェクトパラメーターのリストを更新する必要があります。 2番目のケースでは、更新はできませんが、適切なセグメントがないことは、オブジェクトの一時的な障害によって説明できます。 したがって、この場合、以前の観測に基づいてオブジェクトのパラメーターの予測に進む必要があります。 オブジェクトの座標を調整および予測するために、カルマンフィルターが使用されます。 最後に、3番目のケースでは、セグメントは新しく出現したオブジェクトに対応します。
観察中に、オブジェクトがフレームを離れることがあります。 この場合、それらの監視を停止します。 そのような状況を判断するための基準は、このオブジェクトと現在のフレームで選択されたセグメントのいずれかとの間の対応を確立するのに十分な時間の無能力です。
もちろん、上記のスキームは非常に単純です。 より複雑なシナリオでは、オブジェクトの不明瞭化は、トラックをマージおよび分割して処理する必要があります。 しかし、これは全く異なる話です...