このブログ記事では、コンピュータビジョンにおける特徴追跡について紹介します。

これまでの記事では、深層学習モデルが単視点計測とエピポーラ幾何の限界にどのように対処し、 単眼深度推定とステレオマッチングにおいて十分に良好な性能を発揮できるかについて議論しました。 そこで本記事では、動画から意味のある特徴(主に物体と人間)を追跡する、 Structure from Motionに対応するコンピュータビジョンタスクの一つである特徴追跡について議論します。
オプティカルフロー & シーンフロー
動画を扱う様々なコンピュータビジョンタスクにとって有用な値の一つがオプティカルフローであり、これは全ての画像画素の見かけの動きを記述する2Dベクトル場です。 オプティカルフローはシーン内の3D点の実際の移動の2D投影を記述する2Dベクトル場であるモーションフィールドと混同されがちですが、これらは明確に違います。 画素のx軸とy軸における見かけの速度を、それぞれととして数学的に表現することで、 画素のオプティカルフローベクトルをとして表現できます。 Lucas-Kanade法は、様々な仮定を利用して最小二乗法を用いて画素パッチのオプティカルフローベクトルを求めます。
上記の最初の2つの方程式は、それぞれ輝度一定性の仮定と小さな動きの仮定の結果です。 輝度一定性の仮定は、同じ物体に属する画素の強度がフレーム間で変化しないと仮定し、小さな動きの仮定は、 動きは小さいため1次のテイラー近似で近似できると仮定します。その後の導出では、 これら2つの方程式を利用してオプティカルフロー方程式を得て、 これをさらに線形システムと表すことができます。 ここでは空間勾配またはエッジを表します。この線形システムは一見解けるように思えますが、 制約が1つで未知数が2つあるため、で与えられるノーマルフローしか求めることができません。 これが、エッジに垂直な方向の画素フローは容易に決定できるのに対して、エッジに平行なフローを得ることが困難である理由です。
この制限を軽減するため、Lucas-Kanade法は空間的平滑性の仮定を伴う半局所的アプローチを取ります。 この仮定は、隣接する画素が同じ表面に属し、オプティカルフローベクトルを共有すると仮定することで、 様々な方向に複数の制約を設定することを可能にするものです。 具体的には、個の隣接画素のそれぞれについてを得ることができます。 このように画素数、つまり制約の数を増やすことは一般的に有効ですが、画素パッチが同じ方向に勾配を持ち、 テクスチャが低い場合には、依然として曖昧なオプティカルフローベクトルになる可能性があります。 そこで、Lucas-Kanade法のこれらの制限を克服し、特徴追跡に有用な高品質なオプティカルフローを得るために、 深層学習モデルを使用する試みがなされています。この様にして生まれた深層オプティカルフローモデルは、 自動運転やロボティクスなどの後続タスクのために、フレームからシーン内の全ての点の3Dモーションフィールドを推定するシーンフロー推定にも活用できます。
ベイズフィルター
オプティカルフローやシーンフローは、物体の見かけの動きや短期的な動きを追跡するのに有用かもしれませんが、 自動運転やロボティクスでしばしば必要とされる遮蔽や過去の軌跡および動きパターンに基づく予測を含む特徴追跡には適していません。 そこで、長期依存性を持つ特徴追跡をモデル化するために、部分観測マルコフ決定過程(POMDP)を使用することができます。 ここで、特徴追跡の文脈では制御入力はカメラの位置と動きを、状態は物体の真の位置、速度などを、観測は物体検出の結果などと表すことができです。 (MDPやPOMDPに馴染みがない場合は、このMLシリーズのRLシリーズを確認することをお勧めします。) このPOMDPにおける目標は、他のすべての既知変数に基づいて、すべてのに対する現在の状態の分布(事後分布と呼ばれる)を推定することです。

状態推定を行う際、状態遷移モデル(マルコフ状態を仮定)と測定モデル (観測は前の状態にのみ依存すると仮定)が容易に得られると仮定します。 そうすると、前の事後分布、現在の観測、制御入力のみに依存する状態事後分布の再帰的表現を導出できます。 具体的には、ベイズの定理と観測の条件付き独立性を利用しての表現に到達し、 マルコフ仮定を活用して事前分布または予測された現在の事後分布の表現を、 前の事後分布、遷移モデル(前の状態と制御入力に依存)、測定モデル(および正規化因子)のみを使用して決定できます。
上記の導出は状態事後分布の再帰的関係を明らかにするものです。現在の状態事後分布を決定するために、 まず状態遷移モデルと前の状態事後分布の積の積分を取ることで、事前分布または予測された現在の事後分布(観測なし)を計算できます(2つめの式)。 次に、予測された現在の事後分布に測定モデルを掛け、正規化定数で割ることでフィルタリングできます(1つめの式)。 フィルタリングされた現在の状態事後分布は、次のの予測における前の事前分布として使用できます。 1つめのステップ(新しい観測なしで現在の事後分布を予測する)は予測ステップと呼ばれ、 2つめのステップ(新しい観測を組み込み、現在の事後分布の予測をフィルタリングする)は更新ステップと呼ばれ、 状態推定を行うためのベイズの定理を利用したこれらのステップの再帰的適用はベイズフィルターと呼ばれます。
カルマンフィルター
ベイズフィルターは単純で任意の確率分布に一般化できるものの、正規化定数の計算は確率分布全体を知る必要があるため、 実際に使用することができない場合が多いです。そのため、実際には特定の種類のシステムを仮定し、 それらのシステムに対してベイズフィルターアプローチを適応することが多いです。 この様なベイズフィルターの一般的な実用的適応の一つがカルマンフィルターであり、これはノイズを含む線形ガウシアンシステムを仮定します。 線形ガウシアンシステムでは、すべての確率変数(状態、観測、入力、ノイズ)が多変量ガウス分布であり、 状態遷移モデルと測定モデルが以下のように線形であると仮定します。
ここで、、、は既知であると仮定され、とはランダムガウシアンノイズで、 それぞれプロセスノイズと測定ノイズと呼ばれ、とも既知です。すべての確率変数が多変量ガウス分布であると仮定することで、 確率分布全体を表現するために平均と共分散のみを追跡すれば十分になります。また、システムの線形性により、 後続の変数がガウス分布のままであることが保証され、実世界での使用が実用的になります(多くの物体の動きは線形変換として記述できます)。 ここで、初期状態はであり、平均と共分散は既知で、 すべてのに対して状態事後分布を求めたいと考えます。 これらのモデルと仮定を用いて、状態遷移から観測なしの予測現在事後分布を得るための予測ステップを以下のように導出できます。
最初の式にはが含まれていません。これはの平均が0であり、に影響を与えないためです。 2番目の式では、を元にを使用して共分散を考慮しています。 すべての共分散行列は正定値であるため、は常により大きくなります。 これは直感的にも理にかなっており、前の事後分布が前の観測を考慮に入れているのに対して、 現在の事後分布は現在の観測を使用せずに予測されているため、予測ステップ後に共分散が大きくなります。 次の更新ステップでは、、、および測定モデルを使用して、以下のように現在の事後分布をフィルタリングできます。
ここで、はイノベーションと呼ばれ、観測と予測がより一致するにつれて減少し、をに近づけます。 また、はカルマンゲインで、測定ノイズがある場合とない場合の共分散を比較し、ノイズが減少するにつれてからの範囲で変化します。 ノイズが大きい場合やが小さい場合、はに近づき、とは、おそらく高いノイズを持つの代わりに、 予測ステップからの信頼できる結果(と)により依存するようになります。 一方、ノイズが小さい場合やが大きい場合、はに近づき、は逆変換された観測()により依存し、 より信頼できる観測の使用によりは零に近づきます。ここで、観測を組み込むことで更新ステップ後に共分散が常に減少し、 これらのステップを再帰的に実行する際に、予測ステップで共分散を増加させ、更新ステップで減少させることを交互に行うことがわかります。
拡張カルマンフィルター(EKF) & 粒子フィルター
線形ガウシアンシステムの仮定は強力ですが、多くの実世界のシナリオではこれらの仮定が破られます。 そこで非線形プロセス(状態遷移と測定)を持つシステムに対しては、代わりに拡張カルマンフィルタ(EKF)を使用できます。 EKFは周りで一次テイラー近似を実行し、について非線形関数を線形化することで、 予測事後分布がガウシアンのままであることを保証します。具体的には、状態遷移モデルがで、 測定モデルがの場合、とが非線形であるとき、以下の線形近似を実行します。
ここで、とはそれぞれの勾配を含むヤコビアン行列です。 これを使用して、予測ステップと更新ステップにおける平均推定の線形部分(と)を非線形関数(と)で置き換え、 両ステップ(およびそれらに関連する共分散とカルマンゲイン推定)においてとをとで置き換えることができます。 対して確率変数が非ガウシアンの場合、分布のパラメータを追跡するカルマンフィルターのパラメトリックアプローチとは異なり、 サンプリングに依存する粒子フィルターのノンパラメトリックアプローチを使用できます。 具体的には、粒子フィルターは状態遷移モデルから粒子をサンプリングし (前回の反復からの粒子をモデルを通じて伝播させる)、測定モデルを使用して粒子の重要度重みを計算し、 重要度重みに基づいて粒子を再サンプリングします(粒子フィルターの詳細については記事の最後に引用されているリソースを参照してください)。
微分可能フィルター
カルマンフィルターやその他のベイズフィルターは多くの文脈で高い性能を発揮しますが(Zhang, Y. et al. (2021)のByteTrackは、 高信頼度と低信頼度の両方のボックスにシンプルなカルマンフィルタを使用することで、当時の特徴追跡において最先端の性能を達成しました)、 特徴追跡を含む全ての分野において、これらすべてのフィルターはノイズパラメータと状態遷移および測定モデルが容易にアクセス可能であるという仮定を共有しています ()。しかし、これは実世界のシナリオでは多くの場合当てはまりません。 そのため、研究者たちは訓練データセットからこれらのパラメータを学習することを目的とした深層学習アプローチを開発しています。 そのようなアプローチの一つがBackprop KF(BKF)で、これは再帰ユニット内にカルマンフィルターの構造を埋め込んでいます。

上記に示すように、BKFは生の観測を中間観測と行列に処理するエンコーダを持っています。 は測定ノイズの共分散行列を計算するために使用されます。 次に、BKFの別の再帰部分が、前のユニットからのと学習可能な埋め込みを使用して予測ステップを実行し、 、、他の学習可能な埋め込みなどを使用して更新ステップを実行します。 モデルは逆変換された状態ラベルとラベルの間のL2損失を使用して訓練されます。 BKFは他の再帰ユニットよりも優れた性能を達成し、確率的深層学習アプローチの有効性を実証しました (拡散モデルや強化学習でも実証されているように)。 粒子フィルターに対する深層学習アプローチもあり、その詳細は記事の最後に引用されている原論文で確認できます。
結論
この記事では、見かけの2Dおよび3D運動変位に対するオプティカルフローとシーンフロー、 および特徴追跡に効果的なベイズフィルターと微分可能フィルターについて議論しました。 またオプティカルフローとベイズフィルターの両方について、どの様に深層学習を用いて予測を改善できるかついても議論しました。 この記事で扱った各トピックの詳細については、以下に引用されているリソースを確認することをお勧めします。
リソース
- Chiang, B. & Bohg, J. 2022. Optical and Scene Flow. Stanford.
- Chiang, B. & Bohg, J. 2022. Optimal Estimation. Stanford.
- Haarnoja, T. et al. 2016. Backprop KF: Learning Discriminative Deterministic State Estimators. ArXiv.
- Han, J. 2024. The Particle Filter: A Full Tutorial. YouTube.
- Jonschkowski, R. 2018. Differentiable Particle Filters: End-to-End Learning with Algorithmic Priors. ArXiv.
- Savarese, S. & Bohg, J. 2025. Lecture 12 Optical and Scene Flow. Stanford.
- Savarese, S. & Bohg, J. 2025. Lecture 13 Optimal Estimation. Stanford.
- Savarese, S. & Bohg, J. 2025. Lecture 14 Optimal Estimation Cont'. Stanford.
- Zhang, Y. et al. 2021. ByteTrack: Multi-Object Tracking by Associating Every Detection Box. ArXiv.