投稿者: Robotics at Google、ソフトウェア エンジニア、Kurt Konolige
3D オブジェクトの位置や向きを推測するのは、
拡張現実や
ロボット操作など、物体レベルの認識が必要になるコンピュータ ビジョン アプリケーションにおいて、中核をなす問題の 1 つです。こういったアプリケーションでは、3D 空間での物体の位置を知ることが重要です。この点は、直接その物体に働きかける場合にも、その物体の周囲に仮想的な物体を正確に配置する場合にもあてはまります。
このテーマでは、
Deep Nets をはじめとする機械学習(ML)技術を使って多くの研究が行われてきましたが、ほとんどの場合は、
Kinect などの深度測定デバイスが利用されています。このようなデバイスは、物体との距離を直接測定します。しかし、反射する物体や透明な物体では、直接深度測定はうまく動作しません。たとえば、下の図にはいくつかの物体(左)が存在し、そのうちの 2 つは透明な星です。
深度デバイスは、この星の深度値を的確に取得できません。そのため、実際の 3D 空間の点をうまく再構築することもできません(右)。
|
左: 透明な物体の RGB イメージ。 右: 左のシーンから再構築した深度を示す 4 面イメージ。上段は深度イメージを、下段は 3D ポイント クラウドを示す。左側は深度カメラを使って再構築したもの、右側は ClearGrasp モデルの出力。 なお、ClearGrasp は星の深度を復元しているが、右側の星の深度は正しく再構築できていない。 |
この問題のソリューションの 1 つは、ディープ ニューラル ネットワークを使って、透明な物体の破損した深度マップを
復元する方法です。
ClearGrasp が提唱しているのもこの方法です。ClearGrasp は、透明な物体の 1 つの RGB-D イメージを受け取り、深層畳み込みネットワークを使って表面の法線、透明な表面のマスク、オクルージョン境界を推測します。そして、これらを使いながら、シーン内のすべての透明な表面について最初の深度推定を調整します(上の図の一番右
)。
このアプローチは非常に有望で、透明な物体を含むシーンでも深度を用いる姿勢推定手法を利用できます。 ただし、特に合成イメージだけでトレーニングを行った場合などは、うまく復元できず、正しい深度が得られないこともあります。
“
KeyPose: Multi-View 3D Labeling and Keypoint Estimation for Transparent Objects” という論文に、3D キーポイントを直接予測して透明な物体の深度を推定する ML システムについて記載しています。
この論文は、私たちが
CVPR 2020 で
Stanford AI Lab と合同で発表したものです。システムのトレーニングを行うため、半自動的な方法で実際の透明な物体のイメージを含むデータセットを大量に集め、手動で選択した 3D キーポイントを使って効率的に姿勢を表すラベルを付けました。
その後、明示的に深度を計算することなく、単眼イメージや立体イメージからエンドツーエンドで 3D キーポイントを推定するため、深層モデル(KeyPose)のトレーニングを行いました。トレーニングでは、このモデルは見える物体でも見えない物体でも、個々の物体でも物体のカテゴリでも、うまく動作しました。
KeyPose は単眼イメージでも動作しますが、立体イメージで追加の情報を提供することで、単眼イメージを入力した場合よりも 2 倍以上結果を改善できます。一般的な誤差は、物体によって 5 mm から 10 mm です。このような物体では、最新の姿勢推定よりも大幅な改善が見られました。これは、比較対象の手法に正解深度を与えた場合でも変わりません。
キーポイントでラベル付けした透明な物体のデータセットは、研究コミュニティで利用できるように公開しています。
3D キーポイントでラベル付けした実際の透明な物体のデータセット
実際のイメージを効率よく大量に集めるため、ロボットによるデータ収集システムを作成しました。これは、ある軌道に沿ってロボットアームを動かしながら、立体カメラと
Kinect Azure 深度カメラという 2 つのデバイスで動画を撮影するシステムです。
ターゲットには
AprilTags を付けているので、カメラの姿勢を正確にトレースできます。それぞれの動画の一部のイメージにのみ手動で 2D キーポイントのラベルを付けることで、多視点ジオメトリを使って動画のすべてのフレームの 3D キーポイントを抽出できます。この方法により、ラベル付けの効率を 100 倍近くアップできます。
5 つのカテゴリ、15 種類の透明な物体について、10 種類の背景テクスチャと 1 つの物体につき 4 種類の姿勢を用いてイメージを撮影し、48000 枚の立体深度イメージで構成される合計 600 本の動画シーケンスを生成しました。また、不透明な物体でも同じイメージを撮影し、正確な正解深度イメージを作成しました。すべてのイメージに、3D キーポイントのラベルが付いています。この
実際のイメージ データセットは、合成 ClearGrasp データセットを補うものとして一般公開しています。2 つのデータセットは、どちらも同じ物体を利用しています。
立体イメージの Early Fusion による KeyPose アルゴリズム
キーポイントの推定に立体イメージを直接使うというアイデアは、このプロジェクトのために独自に編み出され、ハンドトラッキングの分野でも
最近登場しました。基本的な考え方を下の図に示します。立体カメラの 2 つのイメージについて、物体の周辺部を切り落として KeyPose ネットワークに渡します。すると、ネットワークは物体の 3D 姿勢を表す疎な 3D キーポイントのセットを予測します。このネットワークは、ラベルを付けた 3D キーポイントを教師としてトレーニング済みです。
立体 KeyPose の重要な側面の 1 つは、Early Fusion を用いて立体イメージを合成し、ネットワークが暗黙的に視差を計算できるようにしていることです。これは、それぞれのイメージで別々にキーポイントを予測してから組み合わせる Late Fusion とは対照的です。下の図に示すように、KeyPose の出力は、イメージ プレーンの 2D キーポイント ヒートマップと、それぞれのキーポイントについての視差(深度の逆数)ヒートマップです。この 2 つのヒートマップを組み合わせることで、それぞれのキーポイントの 3D 座標が得られます。
|
Keypose システム図。立体イメージを CNN モデルに渡して各キーポイントの確率ヒートマップを生成する。 このヒートマップは、キーポイントの 2D イメージ座標 U,V を生成する。 CNN モデルは、各キーポイントの視差(深度の逆数)ヒートマップも生成する。これを U,V 座標と組み合わせることで、3D 位置 (X,Y,Z) が得られる。 |
Late Fusion や単眼入力と比較した場合、立体イメージの Early Fusion は一般的に 2 倍の精度を発揮します。
結果
下のイメージは、個々の物体についての KeyPose の定性的結果を示します。左側はオリジナルの立体イメージの 1 つ、中央は予測した 3D キーポイントをイメージに投影したものです。右側は、予測した 3D キーポイントから姿勢を判断して配置したボトルの 3D モデルの点を表示したものです。このネットワークは効率的かつ正確です。キーポイントの予測は、ボトルの場合は MAE が 5.2 mm、マグカップの場合は 10.1 mm で、標準の GPU のわずか 5 ms しか使いません。
次の表は、カテゴリレベルの推定を行った際の KeyPose の結果を示しています。トレーニング セットは、背景テクスチャを使ったテストセットは参照していません。MAE は 5.8 mm から 9.9 mm とさまざまで、手法の精度を表しています。
|
カテゴリレベルのデータにおける KeyPose と最新の DenseFusion システムとの定量比較。DenseFusion には、透明な物体の深度、不透明な物体の深度の 2 とおりの深度を提供している。<2cm は、推定の誤差が 2 cm 未満である割合を示す。MAE は mm 単位のキーポイントの平均絶対誤差。 |
定量的結果の完全な説明や、必要な要素を抜いた場合の考察は、
論文と補足資料および
KeyPose ウェブサイトをご覧ください。
まとめ
今回の研究は、深度イメージを使わなくても、RGB イメージから透明な物体の 3D 姿勢を正確に推定できることを示しています。立体イメージを Early Fusion 深層ネットワーク(立体イメージのペアから疎な 3D キーポイントを直接抽出するようにトレーニングされています)への入力として使う手法は妥当です。ラベル付きの透明な物体の大規模なデータセットが、この分野の進展に貢献できることを願っています。最後に、今回は半自動的な手法を用いて効率的にデータセットのラベル付けを行いましたが、今後の作業では
教師なし手法を利用し、手動でのラベル付けを廃止したいと考えています。
謝辞
共著者である、スタンフォード大学の Xingyu Liu 氏、Rico Jonschkowski 氏、Anelia Angelova 氏に感謝いたします。また、 Andy Zheng 氏、Shuran Song 氏、Vincent Vanhoucke 氏、Pete Florence 氏、Jonathan Tompson 氏をはじめ、プロジェクトと論文執筆の際に、ディスカッションを通してサポートしてくださった多くの方に感謝します。
Reviewed by
Khanh LeViet - Developer Relations Team