見出し画像

[論文解説]NVIDIA DeepStreamのシングルビュー3Dトラッキングを使用した視覚知覚におけるオクルージョンの軽減

Nvidia技術ブログから
概要
交通監視、倉庫の安全性、小売店の店員分析などのインテリジェント・ビデオ・アナリティクス(IVA)アプリケーションの知覚に関して言えば、最大の課題の1つはオクルージョンである。
例えば、人は構造的な障害物の陰に隠れたり、小売店の店員は棚に隠れて完全に見えなかったり、車は大型トラックの陰に隠れたりします。

この記事では、NVIDIA DeepStream SDKの新機能であるシングルビュー3Dトラッキングが、実際のIVA導入でよく遭遇する視覚知覚のオクルージョンを軽減するのに役立つことを説明します。

視覚認識における視点と投影
私たちの物理世界では、カメラのレンズを通して観察される物体の動きが不規則に見えることがあります。これはカメラが3D世界を2Dで表現しているためです。

例えば、水星や火星のような惑星の逆行運動は、古代ギリシャの天文学者を困惑させた。
彼らは、惑星が時々逆行するように見える理由を説明できなかった(図1)。

見かけ上の逆行は、夜空を通る星や惑星の軌道によるものである。
これは、宇宙の3次元空間における軌道運動を、夜空という2次元のキャンバスに投影したものである。もし古代の天文学者が3次元空間の運動パターンを知っていれば、2次元の夜空にこれらの惑星が現れることを予測できただろう。

2014年と2016年の夜空に映し出された火星の逆行運動を追跡する画像。
図1. 2014年(左)と2016年(右)の夜空における火星の逆行運動。出典:NASA

交通監視カメラも同様の例である。このようなカメラは広い範囲を監視するために設置されることが多く、ニアフィールドとファーフィールドでは車両の運動力学が大きく異なることがある。

ビデオ1では、遠方の車両は小さくゆっくりと動いているように見える。
車両がカメラに近づいて旋回すると、物体の動きに急激な変化が観察される。
このような変化により、2Dカメラビューで共通のパターンを見つけることが難しくなり、将来車両がどこに移動するかを予測することが難しくなる。
動画1。近距離の車両は素早く動き、遠距離の車両はゆっくり動いているように見える。

物体の追跡は、基本的に物体の物理的状態を連続的に推定し、同時に物体の固有のアイデンティティを時間と共に識別することです。このプロセスには通常、物体の動きのダイナミクスをモデル化し、測定(検出)に内在するノイズを抑制するための予測を行うことが含まれます。提供された例を考えると、オブジェクトの状態推定と予測を、投影された2Dカメラ画像平面で実行するよりも、ネイティブな3D空間で直接実行した方が良い結果が得られることは明らかです。これは、オブジェクトが3D空間に存在するからです。

NVIDIA DeepStreamによるシングルビュー3Dトラッキング

NVIDIA DeepStream SDKは、AIベースのマルチセンサー処理、ビデオ、オーディオ、画像理解のためのGStreamerベースの完全なストリーミング分析ツールキットです。
最近のDeepStream 6.4リリースでは、Single-View 3D Tracking(SV3DT)と呼ばれる新機能が導入され、シングルカメラビュー内での3D物理世界におけるオブジェクト状態の推定が可能になった。

このプロセスでは、各カメラの3×4射影行列(カメラ行列)を使用して、2Dカメラ画像平面上で観測された測定値を3Dワールド座標系に変換します。3Dワールドの接地面における物体の位置は、物体の底面の中心で表されます。つまり、歩行者はワールド接地面上に立つ円柱(高さと半径を持つ)としてモデル化され、円柱モデルの底面の中心が歩行者の足の位置となる(図2)。

屋外のシーンにいる3人の人物と、それぞれの人物にフィットした円柱人体モデルのオーバーレイが描かれた画像。
図2. 各円柱人体モデルの下部中心は、3次元世界の接地面上の各歩行者の位置を表している(緑色の点で示されている)。
3×4の投影行列と円筒人体モデルを用いて、検出された物体に対する3D人体モデルの3Dワールド接地面上の位置を推定し、2Dカメラ画像平面上に投影された3D人体モデルが、検出された物体のバウンディングボックスに最も一致するようにする。

例えば、図3(左)のグレーのバウンディングボックスは、NVIDIA TAO PeopleNetのようなモデルを使用した物体検出器によって検出された物体を示しています。紫色と黄色の円柱は、3D世界の接地面上の推定位置から2Dカメラ画像平面に投影された対応する3D人体モデルを示しています。投影された3D人体モデルの下部にある緑色の点は、推定された足の位置を示しています。カメラビューには視点や回転があるが、これらは実際の足の位置とよく一致している。

図3. SV3DTは、オクルージョンがあっても、小売店の買い物客の正確な足位置を追跡するのに役立つ
新たに導入されたDeepStream SV3DT機能の重要な利点は、部分的に大きなオクルージョンがあっても、対象物の2Dおよび3Dの足位置を正確に検出できることです。これは、実際のIVAアプリケーションで最も困難な問題の1つです。詳細については、以前の投稿「NVIDIA DeepStream SDK 6.2による最先端のリアルタイムマルチオブジェクトトラッカー」をご覧ください。

Figure 3(右)は、狭い通路で買い物をしている人物で、カメラから見えるのは上半身の一部だけです。このため、オブジェクトのバウンディングボックスは小さくなり、頭と肩の部分だけがキャプチャされます。このようなシナリオの場合、足の位置を推定することは少なくとも自明なタスクではないため、グローバルな店舗マップ上で人物をローカライズすることは非常に困難です。

バウンディングボックスの底部中心を物体位置の代理として使用すると、軌跡推定に大きな誤差が生じる。これは、カメラのキャリブレーション情報を用いて2次元点を3次元点に変換する場合でも同様で、特にカメラの遠近感や回転が大きい場合に顕著である。

DeepStream SDKのマルチオブジェクトトラッカーモジュールのSV3DTアルゴリズムは、カメラが頭上に取り付けられているという仮定の下で、3D人体モデリング情報を活用することにより、この問題に対処します。これは一般的に、スマートスペースに配備された大規模なカメラネットワークシステムでよく見られるケースです。この仮定により、対応する3D人体モデルの位置を推定する際に、頭部をアンカーポイントとして使用することが可能になります。図3は、SV3DTアルゴリズムが、人物がひどく隠蔽されている場合でも、一致する3D人体モデルの位置をうまく見つけることができることを示しています。

ビデオ2は、コンビニエンスストアで追跡される人々を示しています。使用されている3×4の投影行列はレンズの歪みを考慮していませんが、水平線が直線ではなく少し曲がっているのがわかるように、このカメラにはある程度のレンズの歪みがあります。このため、3D人体モデルの位置推定がより不正確になり、特に人物がビデオフレームの端に位置する場合は、より不正確になる。

それにもかかわらず、コンビニエンスストアにいる人々の2Dおよび3Dの足の位置(緑色の点で示されている)は、正確かつロバストに追跡されている。これにより、列の長さのモニタリングや占有マップなどの追加分析の精度が向上します。

ビデオ2. 部分的および完全なオクルージョンにもかかわらず、行列の人々の足の位置(緑の点でマーク)が追跡されている。
図4は、棚のような大きな物体によって下半身の大部分が遮蔽されている場合でも、各歩行者の足の位置が合成データセットでロバストに追跡されていることを示している。

円筒形の人体モデルをオーバーレイとして用いて人物を追跡している小売店の店内のアニメーションGIF。
図4. SV3DTによる歩行者の位置追跡と合成データセットによる深刻な粒子オクルージョン
部分的なオクルージョンの問題に対処することで、実世界のアプリケーションにおいて多くの可能性が開けると信じています。SV3DTは限られたオブジェクトタイプ(立っている人のみ)をサポートしているため、アルファモードでリリースされています。座っている人や横たわっている人など、他のケースやオブジェクトタイプの追加は、将来のリリースでサポートされるかもしれません。特定のユースケースで試してみて、DeepStream フォーラムでフィードバックを提供してください。今後のリリースでは、さらなる改善が予定されています。

DeepStream SV3DT の使用例
DeepStream SV3DTのユースケースの1つのサンプルは、この投稿で紹介した小売店のビデオでシングルビュー3Dトラッキングを有効にし、パイプラインから3Dメタデータを保存する方法を示しています。ユーザーは、図4とビデオ2に示すように、データから凸包と足の位置を視覚化できます。READMEには、カスタマイズした動画でこのアルゴリズムを実行する方法も記載されています。詳細はNVIDIA-AI-IOT/deepstream_reference_appsにアクセスし、DeepStreamのドキュメントを参照してください。

結論
NVIDIA DeepStream SDK の Single-View 3D Tracking は、実際の IVA アプリケーションや配備における部分的なオクルージョンの問題を軽減するのに役立ちます。この機能は 6.4 リリースで初めて導入され、7.0 で強化されました。具体的には、SV3DT は部分的なオクルージョンがあっても足の位置を推定し、よりロバストで正確な物体追跡を可能にします。地理空間分析に依存または活用する企業は、この技術から最も恩恵を受けると予想される。

まずは、DeepStream SDKの最新リリースをご覧いただき、お客様のチャレンジングな環境でお試しください。

この記事が気に入ったらサポートをしてみませんか?