連続するビデオ フレームにおけるピクセル単位での一致やピクセル単位での変化を推定する特徴追跡は、物体の動き/速度の推定、カメラのセルフキャリブレーション、そしてビジュアル オドメトリに必須の時間情報とジオメトリ情報を提供するキーとなる技術です。
正確かつ安定的に追跡された特徴は、障害物認識における正確な Time-to-Collision (衝突までの時間) の推定や、カメラ センサーの外部キャリブレーション (ピッチ/ヨー/ロール) のための堅牢な計算、そしてビジュアル オドメトリで 3 次元の世界表現を生成するための入力として使用されます。特徴追跡はピクセル レベルでの計算の上で成り立つため、実用的実装のためには、高性能なコンピューティング プラットフォームが必要となります。
この DRIVE ラボ ビデオでは、堅牢な自動運転に向けて、NVIDIA DRIVE ソフトウェアが特徴追跡にどのようにアプローチしているのかを見ていきます。
自動車は走行しているので、照度の変化、視点の変化、非剛性物体の動きに関連した複雑性があり、ピクセル レベルの情報に歪みが発生する場合があります。コンピューター ビジョンにおいては、一般的なアルゴリズム的手法がいくつか存在しています。1) 密なオプティカル フローによる特徴追跡、2) 疎なオプティカル フローによる特徴追跡、そして 3) ディープラーニングに基づく方法などです。
ディープラーニングに基づくオプティカル フロー演算では、正確で多様なピクセル単位の学習データを用意する事が容易ではなく、この点においては従来のコンピューター ビジョン方式の方に優位性があります。自動運転のための正確性、堅牢性、実行効率のトレード オフを最適化するため、NVIDIAは疎なオプティカル フローに基づく特徴追跡手法を採用しています。具体的には、画像内のピクセルを網羅的に演算する密なオプティカル フロー)ではなく、スパース性の演算上の優位点を活用し、重要な特徴点に対してのみオプティカル フローを演算します。
この手法は主に 3 つの段階から成ります。1) 画像の前処理、2) 特徴検知、そして 3) フレームをまたぐ特徴追跡です。
画像の前処理の段階では、画像から階調情報を抽出します。続いて特徴検知の段階では、この情報を用いて、フレームをまたいで堅牢に追跡できる顕著な特徴点を画像内で特定します。最後に、オプティカル フローに基づく特徴追跡の段階で検知された特徴を追跡し、ビデオ シーケンス内の隣接フレーム間でのそれらの動きを推定します。
6 台のカメラでの周辺認識における特徴追跡アルゴリズム。追跡中の特徴は青で表示。
組み込みコンピューティング プラットフォーム上に構築された安全な自動運転のために、リアルタイムの特徴追跡において正確性と性能をバランスさせることが不可欠です。NVIDIAはこのバランスを念頭に置いて高度な特徴密度制御アルゴリズムを設計し、検知された疎な特徴が、自動運転でもっとも重要な画像領域をカバーしていることを保証するようにしました。加えて、様々な密度の特徴追跡を活用して演算速度と堅牢性を向上しています。
すでに複数のカメラで同時に疎な特徴追跡を実行できるようになっています。フロント カメラ認識構成とサラウンド カメラ認識構成の両方に対応した特徴追跡の実装は、NVIDIA DRIVE ソフトウェア 9.0 リリース以降、開発者の皆様にご利用いただけます。