(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-12-06
(54)【発明の名称】深度測定のための訓練データセット生成
(51)【国際特許分類】
G06T 7/50 20170101AFI20231129BHJP
G06T 7/00 20170101ALI20231129BHJP
【FI】
G06T7/50
G06T7/00 350C
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023530265
(86)(22)【出願日】2021-11-23
(85)【翻訳文提出日】2023-05-18
(86)【国際出願番号】 IB2021060890
(87)【国際公開番号】W WO2022107111
(87)【国際公開日】2022-05-27
(32)【優先日】2020-11-23
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100092093
【氏名又は名称】辻居 幸一
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100109335
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(72)【発明者】
【氏名】リー ジョンファ
(72)【発明者】
【氏名】ホワイト ガレス
(72)【発明者】
【氏名】ミリコスキ アンティ
(72)【発明者】
【氏名】ウィンター エドワード セオドア
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096CA22
5L096FA02
5L096HA11
5L096KA04
(57)【要約】
訓練データセットを生成するためのシステムを提供する。システムは、第1の物体の第1の画像及び第1の物体に関連する第1の深度値を第1の視点から取り込むように深度センサを制御する。システムは、深度センサに関連するハンドヘルド装置から、3D空間におけるハンドヘルド装置と深度センサの動きに基づいて追跡情報を受け取る。システムは、受け取った追跡情報に基づいて、第1の物体に対応するグラフィック情報を生成する。グラフィック情報は、第2の視点からの第1の物体を含む。システムは、グラフィック情報に基づいて、第1の物体に関連する第2の深度値を計算する。システムは、第1の画像と第1の深度値との第1の組み合わせ、及びグラフィック情報に対応する第2の画像と第2の深度値との第2の組み合わせを含む訓練データセットをニューラルネットワークモデルのために生成する。
【選択図】 なし
【特許請求の範囲】
【請求項1】
1又は2以上の第1の物体の色情報を含む、前記1又は2以上の第1の物体の第1の画像と、前記1又は2以上の第1の物体に関連する第1の深度値とを第1の視点から取り込むように深度センサを制御し、
前記深度センサに関連するハンドヘルド装置から、3次元(3D)空間における前記ハンドヘルド装置及び前記深度センサの動きに基づいて、前記3D空間における前記深度センサの位置情報又は配向情報の少なくとも一方を示す追跡情報を受け取り、
前記受け取った追跡情報に基づいて、前記1又は2以上の第1の物体に対応する、前記第1の視点とは異なる1又は2以上の第2の視点からの前記1又は2以上の第1の物体を含むグラフィック情報を生成し、
前記1又は2以上の第2の視点から生成された前記グラフィック情報に基づいて、前記1又は2以上の第1の物体に関連する1又は2以上の第2の深度値を計算し、
前記第1の画像と前記第1の深度値との第1の組み合わせを含むとともに、前記グラフィック情報に対応する1又は2以上の第2の画像と前記1又は2以上の第2の深度値との第2の組み合わせを含む訓練データセットをニューラルネットワークモデルのために生成する、
ように構成されたプロセッサを備えることを特徴とするシステム。
【請求項2】
前記生成されたグラフィック情報は、前記1又は2以上の第2の画像、点群データ、ボクセルセット、3次元(3D)メッシュ、ビデオ情報、LAS(LASer)フォーマットデータ、又は専用フォーマットデータのうちの少なくとも1つに対応する、
請求項1に記載のシステム。
【請求項3】
前記プロセッサは、
前記深度センサから第1のテキストフォーマットの前記第1の深度値を受け取り、
前記第1のテキストフォーマットの前記第1の深度値を第2のテキストフォーマットに変換し、
前記第2のテキストフォーマットに基づいて、前記第1の深度値に対応する第3の画像を生成する、
ようにさらに構成される、請求項1に記載のシステム。
【請求項4】
前記プロセッサは、
前記1又は2以上の第1の物体の各々に関連する前記第1の深度値に対応する第3の画像を生成し、
前記1又は2以上の第1の物体に関連する前記計算された1又は2以上の第2の深度値に対応する1又は2以上の第4の画像を生成し、
前記第1の画像と前記第1の深度値に対応する前記第3の画像との第1の組み合わせを含むとともに、前記グラフィック情報に対応する前記1又は2以上の第2の画像と前記1又は2以上の第2の深度値に対応する前記1又は2以上の第4の画像との第2の組み合わせを含む前記訓練データセットを前記ニューラルネットワークモデルのために生成する、
ようにさらに構成される、請求項1に記載のシステム。
【請求項5】
前記生成された第3の画像及び前記1又は2以上の第4の画像の各々は、前記1又は2以上の第1の物体の各々に関連する前記それぞれの第1の深度値及び前記1又は2以上の第2の深度値の異なる深度値を表す異なる色を含む、
請求項4に記載のシステム。
【請求項6】
前記第1の深度値は、前記深度センサと、前記第1の視点から取り込まれた前記1又は2以上の第1の物体の表面上の第1の複数の地点との間の深度情報を示し、前記1又は2以上の第2の深度値の各々は、前記生成されたグラフィック情報における、前記深度センサと、前記1又は2以上の第2の視点から取り込まれた前記1又は2以上の第1の物体の前記表面上の第2の複数の地点との間の深度情報を示す、
請求項1に記載のシステム。
【請求項7】
前記深度センサは、飛行時間(ToF)センサ、光検出及び測距(LiDAR)センサ、立体画像センサ、又は構造化光センサのうちの1つである、
請求項1に記載のシステム。
【請求項8】
前記プロセッサは、
第1の時間インスタンスにおいて、前記深度センサの第1の位置情報又は第1の配向情報の少なくとも一方を前記ハンドヘルド装置からの前記追跡情報において受け取り、
第2の時間インスタンスにおいて、前記深度センサの第2の位置情報又は第2の配向情報の少なくとも一方を前記ハンドヘルド装置からの前記追跡情報において受け取り、
前記第1の時間インスタンスにおいて受け取られた前記追跡情報に含まれる前記第1の位置情報又は前記第1の配向情報の前記少なくとも一方、及び前記第2の時間インスタンスにおいて受け取られた前記追跡情報に含まれる前記第2の位置情報又は前記第2の配向情報の前記少なくとも一方に基づいて、前記1又は2以上の第1の物体に関連する前記1又は2以上の第2の深度値を計算する、
ように構成される、請求項1に記載のシステム。
【請求項9】
前記プロセッサは、
前記深度センサによって取り込まれた前記第1の画像から背景情報を抽出し、
前記受け取られた追跡情報及び前記抽出された背景情報に基づいて、前記1又は2以上の第1の物体に関連する前記1又は2以上の第2の深度値を計算する、
ようにさらに構成される、請求項8に記載のシステム。
【請求項10】
前記受け取られた追跡情報に基づいて前記1又は2以上の第2の視点からの前記1又は2以上の第1の物体に対応するグラフィック情報を生成するように構成された3次元(3D)グラフィックスエンジンをさらに備える、
請求項1に記載のシステム。
【請求項11】
前記プロセッサは、
前記第1の視点から取り込まれた前記第1の画像を修正するための1又は2以上のユーザ入力を受け取り、
前記受け取った1又は2以上のユーザ入力に基づいて、前記1又は2以上の第2の視点からの前記1又は2以上の第1の物体に対応する前記グラフィック情報を生成する、
ようにさらに構成される、請求項1に記載のシステム。
【請求項12】
前記プロセッサは、
前記深度センサによって取り込まれた前記1又は2以上の第1の物体の前記第1の画像をフィルタ処理し、
前記1又は2以上の第1の物体の前記フィルタ処理された第1の画像と、前記受け取られた追跡情報とに基づいて、前記1又は2以上の第1の物体に対応する前記グラフィック情報を生成する、
ようにさらに構成される、請求項1に記載のシステム。
【請求項13】
システムにおいて、
1又は2以上の第1の物体の色情報を含む、前記1又は2以上の第1の物体の第1の画像と、前記1又は2以上の第1の物体に関連する第1の深度値とを第1の視点から取り込むように深度センサを制御することと、
前記深度センサに関連するハンドヘルド装置から、3次元(3D)空間における前記ハンドヘルド装置及び前記深度センサの動きに基づいて、前記3D空間における前記深度センサの位置情報又は配向情報の少なくとも一方を示す追跡情報を受け取ることと、
前記受け取った追跡情報に基づいて、前記1又は2以上の第1の物体に対応する、前記第1の視点とは異なる1又は2以上の第2の視点からの前記1又は2以上の第1の物体を含むグラフィック情報を生成することと、
前記1又は2以上の第2の視点から生成された前記グラフィック情報に基づいて、前記1又は2以上の第1の物体に関連する1又は2以上の第2の深度値を計算することと、
前記第1の画像と前記第1の深度値との第1の組み合わせを含むとともに、前記グラフィック情報に対応する1又は2以上の第2の画像と前記1又は2以上の第2の深度値との第2の組み合わせを含む訓練データセットをニューラルネットワークモデルのために生成することと、
を含むことを特徴とする方法。
【請求項14】
前記深度センサから第1のテキストフォーマットの前記第1の深度値を受け取ることと、
前記第1のテキストフォーマットの前記第1の深度値を第2のテキストフォーマットに変換することと、
前記第2のテキストフォーマットに基づいて、前記第1の深度値に対応する第3の画像を生成することと、
をさらに含む、請求項13に記載の方法。
【請求項15】
前記1又は2以上の第1の物体の各々に関連する前記第1の深度値に対応する第3の画像を生成することと、
前記1又は2以上の第1の物体に関連する前記計算された1又は2以上の第2の深度値に対応する1又は2以上の第4の画像を生成することと、
前記第1の画像と前記第1の深度値に対応する前記第3の画像との第1の組み合わせを含むとともに、前記グラフィック情報に対応する前記1又は2以上の第2の画像と前記1又は2以上の第2の深度値に対応する前記1又は2以上の第4の画像との第2の組み合わせを含む前記訓練データセットを前記ニューラルネットワークモデルのために生成することと、
を含む、請求項13に記載の方法。
【請求項16】
前記第1の深度値は、前記深度センサと、前記第1の視点から取り込まれた前記1又は2以上の第1の物体の表面上の第1の複数の地点との間の深度情報を示し、前記1又は2以上の第2の深度値の各々は、前記生成された1又は2以上の第2の画像における、前記深度センサと、前記1又は2以上の第2の視点から取り込まれた前記1又は2以上の第1の物体の前記表面上の第2の複数の地点との間の深度情報を示す、
請求項13に記載の方法。
【請求項17】
第1の時間インスタンスにおいて、前記深度センサの第1の位置情報又は第1の配向情報の少なくとも一方を前記ハンドヘルド装置からの前記追跡情報において受け取ることと、
第2の時間インスタンスにおいて、前記深度センサの第2の位置情報又は第2の配向情報の少なくとも一方を前記ハンドヘルド装置からの前記追跡情報において受け取ることと、
前記第1の時間インスタンスにおいて受け取られた前記追跡情報に含まれる前記第1の位置情報又は前記第1の配向情報の前記少なくとも一方、及び前記第2の時間インスタンスにおいて受け取られた前記追跡情報に含まれる前記第2の位置情報又は前記第2の配向情報の前記少なくとも一方に基づいて、前記1又は2以上の第1の物体に関連する前記1又は2以上の第2の深度値を計算することと、
をさらに含む、請求項13に記載の方法。
【請求項18】
前記深度センサによって取り込まれた前記第1の画像から背景情報を抽出することと、
前記受け取られた追跡情報及び前記抽出された背景情報に基づいて、前記1又は2以上の第1の物体に関連する前記1又は2以上の第2の深度値を計算することと、
をさらに含む、請求項13に記載の方法。
【請求項19】
前記第1の視点から取り込まれた前記第1の画像を修正するための1又は2以上のユーザ入力を受け取ることと、
前記受け取った1又は2以上のユーザ入力に基づいて、前記1又は2以上の第2の視点からの前記1又は2以上の第1の物体に対応する前記グラフィック情報を生成することと、
を含む、請求項13に記載の方法。
【請求項20】
コンピュータ実装命令を記憶した非一時的コンピュータ可読媒体であって、前記コンピュータ実装命令は、システムによって実行された時に、
1又は2以上の第1の物体の色情報を含む、前記1又は2以上の第1の物体の第1の画像と、前記1又は2以上の第1の物体に関連する第1の深度値とを第1の視点から取り込むように深度センサを制御することと、
前記深度センサに関連するハンドヘルド装置から、3次元(3D)空間における前記ハンドヘルド装置及び前記深度センサの動きに基づいて、前記3D空間における前記深度センサの位置情報又は配向情報の少なくとも一方を示す追跡情報を受け取ることと、
前記受け取った追跡情報に基づいて、前記1又は2以上の第1の物体に対応する、前記第1の視点とは異なる1又は2以上の第2の視点からの前記1又は2以上の第1の物体を含むグラフィック情報を生成することと、
前記1又は2以上の第2の視点から生成された前記グラフィック情報に基づいて、前記1又は2以上の第1の物体に関連する1又は2以上の第2の深度値を計算することと、
前記第1の画像と前記第1の深度値との第1の組み合わせを含むとともに、前記グラフィック情報に対応する1又は2以上の第2の画像と前記1又は2以上の第2の深度値との第2の組み合わせを含む訓練データセットをニューラルネットワークモデルのために生成することと、
を含む動作を前記システムに実行させる、ことを特徴とするコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
〔関連出願との相互参照/引用による組み入れ〕
なし
【0002】
本開示の様々な実施形態は、ニューラルネットワークモデルのためのデータセット生成に関する。具体的には、本開示の様々な実施形態は、深度測定用ニューラルネットワークモデルのための訓練データセットの生成のためのシステム及び方法に関する。
【背景技術】
【0003】
従来、深度推定にはレンジイメージングアプリケーション(range imaging applications)が使用される。レンジイメージングアプリケーションは、(飛行時間(ToF)センサなどの)様々なタイプの深度センサを利用して、実際の環境内に存在する物体の深度推定を行うことができる。一般に、レンジイメージングアプリケーションによって採用される深度センサは高価であり、実装が構造的に困難な場合がある。従って、実際の環境内に存在する異なる物体の深度値を大量に収集するために大量の深度センサを配置する(或いは、数多くの位置又は視点から物体の深度値を取り込む)ことは複雑でコストのかかるタスクとなり得る。
【発明の概要】
【発明が解決しようとする課題】
【0004】
当業者には、説明したシステムと、本出願の残り部分において図面を参照しながら示す本開示のいくつかの態様とを比較することにより、従来の慣習的な手法の限界及び不利点が明らかになるであろう。
【課題を解決するための手段】
【0005】
実質的に少なくとも1つの図に関連して図示及び/又は説明し、特許請求の範囲にさらに完全に示すような、深度測定用訓練データセットの生成のためのシステム及び方法を提供する。
【0006】
全体を通じて同じ要素を同じ参照符号によって示す添付図面を参照しながら本開示の以下の詳細な説明を検討することにより、本開示のこれらの及びその他の特徴及び利点を理解することができる。
【図面の簡単な説明】
【0007】
【
図1】本開示の実施形態による、深度測定用訓練データセットの生成のための例示的なネットワーク環境の図である。
【
図2】本開示の実施形態による、深度測定用訓練データセットの生成のためのシステムのブロック図である。
【
図3】本開示の実施形態による、深度測定用訓練データセットの生成のための第1の画像の取り込みを示す例示的なシナリオである。
【
図4A】本開示の実施形態による、深度測定用訓練データセットの生成のための例示的な動作のシーケンス図を
図4Bと共に示す図である。
【
図4B】本開示の実施形態による、深度測定用訓練データセットの生成のための例示的な動作のシーケンス図を
図4Aと共に示す図である。
【
図5】本開示の実施形態による、深度測定用訓練データセットの生成のための例示的な方法を示すフローチャートである。
【発明を実施するための形態】
【0008】
開示する深度測定用訓練データセットの生成のためのシステム及び方法では、後述する実装を見出すことができる。本開示の例示的な態様は、1又は2以上の第1の物体の第1の画像を第1の視点から取り込むように(飛行時間(ToF)センサなどの)深度センサを制御するよう構成されたシステムを提供する。1又は2以上の第1の物体の例としては、以下に限定するわけではないが、(人間などの)生物又は(家具、電子器具又はインフラストラクチャのような非生物エンティティなどの)無生物を挙げることができる。第1の画像は、1又は2以上の第1の物体のうちの(椅子などの)第1の物体に関連することができる。第1の画像は、1又は2以上の第1の物体の(赤色、緑色、青色(RGB)情報などの)色情報を含むことができる。第1の視点は、例えば深度センサに対する(椅子などの)第1の物体の正面ビューとすることができる。システムは、1又は2以上の第1の物体に関連する第1の深度値を(正面ビューなどの)第1の視点から取り込むようにさらに深度センサを制御することができる。第1の深度値は、深度センサと、1又は2以上の第1の物体の表面(すなわち、第1の視点から見える表面)上の1又は2以上の地点との間の深度情報又は距離を示すことができる。
【0009】
システムは、3次元(3D)空間におけるハンドヘルド装置及び深度センサの動きに基づいてハンドヘルド装置(例えば、仮想現実装置)から追跡情報をさらに受け取ることができる。ハンドヘルド装置は、深度センサに接続(或いは接合又は統合)することができる。例えば、最初の画像の取り込み後に、ハンドヘルド装置及び深度センサの動きに基づいて3D空間内で深度センサの位置及び配向が変化することがある。従って、追跡情報は、3D空間における深度センサの位置情報又は配向情報を示すことができる。システムは、受け取った追跡情報(すなわち、深度センサの動き)に基づいて、1又は2以上の第1の物体に対応するグラフィック情報(例えば、限定するわけではないが、点群データ、画像、ビデオ、又は3Dメッシュ)をさらに生成することができる。ある実施形態によれば、システムは、グラフィック情報を生成するための3Dグラフィックスエンジン(例えば、アニメーションエンジン又はアニメーションアプリケーション)を含むことができる。グラフィック情報は、第1の視点とは異なる1又は2以上の(限定するわけではないが、側面ビュー、上面ビュー、背面ビューなどの)第2の視点からの1又は2以上の(椅子などの)第1の物体を含み、又はこれらに対応することができる。1又は2以上の第1の物体の第2の視点は、3D空間におけるハンドヘルド装置及び深度センサの動きに基づくことができる。従って、開示するシステムによるグラフィック情報の生成は、(深度センサによって第1の画像内に取り込まれた1又は2以上の第1の物体などの)現実世界の情報から(1又は2以上の第1の物体に関連する、第1の画像が取り込まれた第1の視点とは異なる第2の視点から生成されたグラフィック情報などの)仮想情報への変換を可能にすることができる。
【0010】
システムは、1又は2以上の第2の視点から生成されたグラフィック情報に基づいて、1又は2以上の第1の物体に関連する1又は2以上の第2の深度値をさらに計算することができる。1又は2以上の第2の深度値は、深度センサと、1又は2以上の第2の視点からの1又は2以上の第1の物体との間の(距離情報などの)深度情報を含むことができる。システムは、生成されたグラフィック情報に基づいて1又は2以上の第1の物体に関連する1又は2以上の第2の深度値を計算するために、(3Dグラフィックスエンジンなどにおける)仮想環境でのグラフィック情報の生成及び描写をさらに可能にすることができる。従って、開示するシステムは、従来の深度センサによって計算される深度値に比べて時間効率に優れた、グラフィック情報からの1又は2以上の第2の深度値の計算を可能にすることができる。
【0011】
いくつかの実施形態では、システムが、グラフィック情報に対応する1又は2以上の第2の画像を生成することができる。1又は2以上の第2の視点からの1又は2以上の第1の物体に関する1又は2以上の第2の画像は、システムによって(又はシステムの3Dグラフィックスエンジンによって)生成された合成データと呼ぶことができる。1又は2以上の第1の物体(すなわち、実物体)に関連する合成データの生成は、実際の環境において利用可能な大量の物体の(第1の画像などの)実データを深度センサによって取り込むことに比べて安価であることができる。従って、システムは、限られたリアルワールドデータ(すなわち、深度センサによって第1の視点から取り込まれた実物体の第1の画像)からの合成データ(すなわち、異なる視点から生成された物体のグラフィック情報又は画像)の生成を可能にすることができる。例えば、システム(すなわち、3Dグラフィックスエンジン)は、海中に存在する難破船(すなわち、物体)に関連する合成データ(すなわちグラフィック情報)の生成を、異なる視点から繰り返し難破船をスキャンする(すなわち、深度センサを使用する)ことなく3Dグラフィックスエンジンにおける難破船の3D再現によって可能にすることができる。
【0012】
さらに、システムは、第1の画像(すなわち、第1の視点から取り込まれた物体の実際の画像)と第1の深度値(すなわち、実際の深度値)との第1の組み合わせを含むとともに、物体のグラフィック情報に対応する1又は2以上の第2の画像(すなわち、3Dグラフィックスエンジンによって異なる視点から生成される画像)と1又は2以上の第2の深度値(すなわち、物体に関するグラフィック情報から計算される深度値)との第2の組み合わせをさらに含む訓練データセットをニューラルネットワークモデルのために生成することができる。別の実施形態では、開示するシステムが、第1の深度値に基づいて第3の画像を生成し、1又は2以上の第2の深度値に基づいて1又は2以上の第4の画像を生成して、第1の画像と第3の画像との第1の組み合わせ(すなわち、実データ)を含むとともに、第2の画像と第4の画像との第2の組み合わせ(すなわち、仮想データ)をさらに含むことができる訓練データセットをさらに生成することができる。従って、システムによって生成される訓練データセットは、ニューラルネットワークモデルの訓練に使用できる安価に生成された合成データを含むことができる。生成された訓練データセットに基づいて訓練されたニューラルネットワークモデルは、ニューラルネットワークモデルへの入力として提供される(2次元(2D)情報を有する画像などの)画像からの深度値の自動予測に利用することができる。
【0013】
図1は、本開示の実施形態による、深度測定用訓練データセットを生成するための例示的なネットワーク環境の図である。
図1にはネットワーク環境100のブロック図を示す。ネットワーク環境100はシステム102を含むことができる。システム102は、3次元(3D)グラフィックスエンジン104を含むことができる。ネットワーク環境100は、深度センサ106及びハンドヘルド装置108をさらに含むことができる。ネットワーク環境100は、第1のシーン110をさらに含むことができる。第1のシーン110は、1又は2以上の第1の物体112を含むことができる。1又は2以上の第1の物体112は、第1の物体112A、第2の物体112B及び第Nの物体112Nを含むことができる。ネットワーク環境100は、第1の入力/出力(I/O)装置114をさらに含むことができる。システム102は、第1のシーン110内又は異なるシーン内に存在する1又は2以上の第1の物体112についてシステム102が生成した訓練データセット116をさらに含むことができる。さらに、ネットワーク環境100は、システム102、深度センサ106及びハンドヘルド装置108が通信できるようにする通信ネットワーク118を含むことができる。
【0014】
システム102は、深度センサ106から1又は2以上の第1の物体112の第1の画像、及び1又は2以上の第1の物体112に関連する第1の深度値を受け取るように構成できる好適なロジック、回路及びインターフェイスを含むことができる。システム102は、グラフィック情報をさらに生成し、1又は2以上の第1の物体112に関連する1又は2以上の第2の深度値を計算することができる。システム102は、第1の画像と第1の深度値との第1の組み合わせ、及びグラフィック情報に対応する1又は2以上の第2の画像と1又は2以上の第2の深度値との第2の組み合わせを含むことができる訓練データセット116をニューラルネットワークモデルのために生成するようにさらに構成することができる。システム102の例としては、以下に限定するわけではないが、アニメーションシステム、コンピュータ装置、ラップトップ、メインフレームマシン、サーバ、コンピュータワークステーション、スマートフォン、セルラーフォン、携帯電話機、ゲーム装置及び/又は消費者電子(CE)装置を挙げることができる。
【0015】
3Dグラフィックスエンジン104は、システム102が受け取った追跡情報に基づいて、1又は2以上の第2の視点からの1又は2以上の第1の物体112に対応するグラフィック情報を生成するように構成できる好適なロジック、回路、インターフェイス及び/又はコードを含むことができる。3Dグラフィックスエンジン104は、1又は2以上の第1の物体112に関連する生成されたグラフィック情報をレンダリングするように(第1のI/O装置114などに含まれる)ディスプレイ装置をさらに制御することができる。3Dグラフィックスエンジン104は、(pythonスクリプトジェネレータなどの)スクリプトジェネレータを利用してグラフィック情報を生成することができる。いくつかの実施形態では、3Dグラフィックスエンジン104が、深度センサ106によって第1の視点から取り込まれた1又は2以上の第1の物体112の第1の画像をレンダリングし、レンダリングされた第1の画像に関する1又は2以上のユーザ入力を第1のI/O装置114を介して受け取って、異なる視点からの1又は2以上の第1の物体112のグラフィック情報を生成するようにディスプレイ装置を制御することができる。1又は2以上の第1の物体112のグラフィック情報は、以下に限定するわけではないが、回転した物体、サイズ変更した物体、位置変更した物体、点群データ、ビデオ情報、ボクセル情報、又は3Dメッシュを含むことができる。3Dグラフィックスエンジン104の例としては、以下に限定するわけではないが、3Dコンピュータグラフィックスエンジン、3D作成アプリケーション、3Dモデリング又はシミュレーションアプリケーション、3Dアニメーションエンジン、又はビデオ編集アプリケーションを挙げることができる。
【0016】
深度センサ106は、1又は2以上の第1の物体112の第1の画像を取り込むように構成できる好適なロジック、回路及びインターフェイスを含むことができる。深度センサ106は、第1の物体112Aなどの1又は2以上の第1の物体112に関連する第1の深度値を取り込むようにさらに構成することができる。第1の深度値は、深度センサ106と第1の物体112Aの表面上の1又は2以上の地点との間の距離を示すことができる。深度センサ106の例としては、以下に限定するわけではないが、飛行時間(ToF)センサ、光検出及び測距(LiDAR)センサ、立体画像センサ、又は構造化光センサを挙げることができる。
【0017】
ハンドヘルド装置108は、3D空間におけるハンドヘルド装置108及び深度センサ106の動きに基づいて深度センサ106に関連する追跡情報を生成するように構成できる好適なロジック、回路及びインターフェイスを含むことができる。ハンドヘルド装置108は、(
図3に示す)ユーザが保持又は装着することができ、深度センサ106と一体化することができる。ハンドヘルド装置108は、追跡情報(すなわち、3D空間における位置又は配向)を生成する1又は2以上のセンサを含むことができる。ハンドヘルド装置108の例としては、以下に限定するわけではないが、仮想現実装置、拡張現実装置、又は複合現実装置を挙げることができる。いくつかの実施形態では、ハンドヘルド装置108を、3D空間におけるハンドヘルド装置108の位置又は配向を検出するセンサと統合されたいずれかのコンピュータ装置とすることができる。センサとしては、以下に限定するわけではないが、慣性測定装置(IMU)センサ、加速度計、ジャイロスコープ、又は動き感知装置を挙げることができる。
【0018】
第1のシーン110は、建物の部屋、公園などのオープンスペースエリア、海洋シーンなどの水中シーン、などの実際の環境を含むことができ、又はこれらに関連することができる。第1のシーン110は、第1の物体112A、第2の物体112B及び第Nの物体112Nなどの1又は2以上の第1の物体112を含むことができる。1又は2以上の第1の物体112の例としては、以下に限定するわけではないが、(人間、動物などの)生物又は(家具、電子ガジェット、インフラ、輸送物体又は装飾物体などの)無生物を挙げることができる。
【0019】
第1の入力/出力(I/O)装置114は、ユーザから入力を受け取り、受け取った入力に基づいて出力を提供するように構成できる好適なロジック、回路及びインターフェイスを含むことができる。第1のI/O装置114は、(
図3に示す)ユーザから入力を受け取って、1又は2以上の第1の物体112に対応するグラフィック情報を生成するように構成することができる。さらに、第1のI/O装置114は、深度センサ106によって取り込まれた第1の画像を表示し、或いは1又は2以上の第1の物体112に関連する計算された1又は2以上の第2の深度値又は第4の画像を表示することができる。様々な入力及び出力装置を含むことができる第1のI/O装置114は、システム102又は3Dグラフィックスエンジン104と通信するように構成することができる。第1のI/O装置114の例としては、以下に限定するわけではないが、タッチ画面、キーボード、マウス、ジョイスティック、マイク、又はディスプレイ装置を挙げることができる。
図1にはシステム102から分離された第1のI/O装置114を示しているが、本開示はこのように限定されるものではない。従って、いくつかの実施形態では、本開示の範囲から逸脱することなく、第1のI/O装置114を
図2に示すようにシステム102の3Dグラフィックスエンジン104に統合することができる。
【0020】
訓練データセット116は、ニューラルネットワークモデルが2D画像から深度値を予測するために利用できる画像ベースのデータセットとすることができる。訓練データセット116は、(第1のペア画像の組などの)第1のペアデータセットの組を含むことができる。第1のペア画像の組は、第1の物体112Aの色情報を含むことができる第1の画像と、第1の物体112Aの深度情報(すなわち、第1の深度値)を含み又はこれに対応することができる、対応する第3の画像とを含むことができる。訓練データセット116は、(第1の非ペア画像の組などの)第1の非ペアデータセットの組をさらに含むことができる。第1の非ペア画像の組は、3Dグラフィックスエンジン104によって異なる視点から生成された第1の物体112Aのグラフィック情報(すなわち、第2の画像)と、異なる視点からの第1の物体112Aの深度情報(すなわち、第2の深度値)を含み又はこれに対応することができる第4の画像とを含むことができる。従って、ニューラルネットワークモデルは、第1のペア画像の組と第1の非ペア画像の組とを含むことができる生成された訓練データセット116に基づいて訓練することができる。
【0021】
通信ネットワーク118は、システム102、深度センサ106及びハンドヘルド装置108が互いに通信できるようにする通信媒体を含むことができる。通信ネットワーク118は、有線接続又は無線接続の一方とすることができる。
通信ネットワーク118の例としては、以下に限定するわけではないが、インターネット、クラウドネットワーク、ワイヤレスフィデリティ(Wi-Fi)ネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、又はメトロポリタンエリアネットワーク(MAN)を挙げることができる。ネットワーク環境100内の様々な装置は、様々な有線及び無線通信プロトコルに従って通信ネットワーク118に接続するように構成することができる。このような有線及び無線通信プロトコルの例としては、以下に限定するわけではないが、伝送制御プロトコル及びインターネットプロトコル(TCP/IP)、ユーザデータグラムプロトコル(UDP)、ハイパーテキスト転送プロトコル(HTTP)、ファイル転送プロトコル(FTP)、ZigBee、EDGE、IEEE802.11、ライトフィデリティ(Li-Fi)、802.16、IEEE 802.11s、IEEE 802.11g、マルチホップ通信、無線アクセスポイント(AP)、装置間通信、セルラー通信プロトコル及びBluetooth(BT)通信プロトコルのうちの少なくとも1つを挙げることができる。
【0022】
動作中、システム102は、第1のシーン110内に存在する1又は2以上の第1の物体112の第1の画像を第1の視点から取り込むとともに1又は2以上の第1の物体112に関連する第1の深度値を取り込むように深度センサ106を制御するよう構成することができる。第1のシーン110は、1又は2以上の第1の物体112と、1又は2以上の第1の物体112の周囲の壁などの周囲環境とを描写することができる。第1の画像は、1又は2以上の第1の物体112の色情報を含むことができる。第1の視点は、例えば1又は2以上の第1の物体112のうちの第1の物体112Aの正面ビューとすることができる。ある実施形態によれば、1又は2以上の第1の物体112に関連する第1の深度値は、深度センサ106と、第1の視点から取り込まれた1又は2以上の第1の物体112の表面上の第1の複数の地点との間の深度情報(すなわち、距離)を示すことができる。第1の画像を取り込むための深度センサ106の制御、及び1又は2以上の第1の物体112に関連する第1の深度値の詳細については、例えば
図4Aにさらに示す。
【0023】
システム102は、3D空間におけるハンドヘルド装置108及び深度センサ106の動きに基づいて、深度センサ106に関連するハンドヘルド装置108から追跡情報をさらに受け取ることができる。追跡情報は、3D空間における深度センサ106の位置情報(X軸、Y軸、Z軸情報)又は配向情報を示すことができる。深度センサ106の位置情報又は配向情報は、3D空間における深度センサ106の位置及び配向の変化に基づいて変化することができる。追跡情報の受信の詳細については、例えば
図4Aにさらに示す。
【0024】
システム102は、受け取った追跡情報に基づいて、1又は2以上の第1の物体112に対応するグラフィック情報をさらに生成することができる。いくつかの実施形態では、システム102が、第1のI/O装置114から受け取った1又は2以上のユーザ入力に基づいて、1又は2以上の第1の物体112に対応するグラフィック情報を生成することができる。グラフィック情報は、以下に限定するわけではないが、1又は2以上の第2の画像、点群データ、ボクセルセット、3次元(3D)メッシュ、ビデオ情報、LAS(LASer)フォーマットデータ、又は専用フォーマットデータを含むことができる。ある実施形態によれば、システム102に含まれる3Dグラフィックスエンジン104は、1又は2以上の第1の物体112に対応するグラフィック情報を生成するように構成することができる。グラフィック情報は、第1の視点とは異なる1又は2以上の第2の視点からの1又は2以上の第1の物体112を含み又はこれに対応することができる。1又は2以上の第2の視点は、例えば1又は2以上の第1の物体112の正面ビュー、側面ビュー、背面ビュー、上面ビュー、回転ビュー又は平行移動ビューを含むことができる。システムは、グラフィック情報に対応する1又は2以上の第2の画像をさらに生成することができる。グラフィック情報の生成の詳細については、例えば
図4Aにさらに示す。
【0025】
システム102は、1又は2以上の第2の視点からの1又は2以上の第1の物体112について生成されたグラフィック情報に基づいて、1又は2以上の第1の物体112に関連する1又は2以上の第2の深度値を計算するようにさらに構成することができる。ある実施形態によれば、1又は2以上の第2の深度値は、深度センサ106と、1又は2以上の第2の視点から取り込まれた1又は2以上の第1の物体112の表面上の第2の複数の地点との間の深度情報(すなわち、距離)を示すことができる。1又は2以上の第2の深度値の計算の詳細については、例えば
図4Bにさらに示す。システム102は、第1の画像と第1の深度値との第1の組み合わせ、及びグラフィック情報に対応する1又は2以上の第2の画像と1又は2以上の第2の深度値との第2の組み合わせを含むことができる訓練データセット116をニューラルネットワークモデルのためにさらに生成することができる。訓練データセット116の生成の詳細については、例えば
図4Bにさらに示す。
【0026】
図2は、本開示の実施形態による、深度測定用訓練データセットを生成するシステムのブロック図である。
図2の説明は、
図1の要素に関連して行う。
図2にはシステム102のブロック
図200を示す。システム102は、プロセッサ202及びメモリ204を含むことができる。メモリ204は、訓練データセット116及びニューラルネットワークモデル204Aをさらに含むことができる。システム102は、3Dグラフィックスエンジン104、第1のI/O装置114、及びネットワークインターフェイス206をさらに含むことができる。
【0027】
プロセッサ202は、メモリ204に記憶された命令セットを実行するように構成できる好適なロジック、回路及びインターフェイスを含むことができる。プロセッサ202は、システム102によって実行される異なる動作に関連するプログラム命令を実行するように構成することができる。例えば、動作の一部としては、第1の視点からの1又は2以上の第1の物体112の第1の画像を取り込むように深度センサ106を制御すること、ハンドヘルド装置108から追跡情報を受け取ること、1又は2以上の第2の視点からの1又は2以上の第1の物体112に対応するグラフィック情報を生成すること、及び1又は2以上の第1の物体112に関連する1又は2以上の第2の深度値を計算すること、を挙げることができる。プロセッサ202は、ニューラルネットワークモデル204Aの訓練のための訓練データセット116を生成するようにさらに構成することができる。プロセッサ202は、当業で周知の複数のプロセッサ技術に基づいて実装することができる。プロセッサ技術の例としては、以下に限定するわけではないが、中央処理装置(CPU)、X86ベースのプロセッサ、縮小命令セットコンピューティング(RISC)プロセッサ、特定用途向け集積回路(ASIC)プロセッサ、複合命令セットコンピューティング(CISC)プロセッサ、グラフィカルプロセッシングユニット(GPU)及びその他のプロセッサを挙げることができる。
【0028】
メモリ204は、プロセッサ202によって実行される1又は2以上の命令を記憶するように構成できる好適なロジック、回路及びインターフェイスを含むことができる。メモリ204は、訓練データセット116及びニューラルネットワークモデル204Aを記憶するように構成することができる。メモリ204は、以下に限定するわけではないが、第1の画像、第1の深度値、第1の深度値に関連する第3の画像、追跡情報、1又は2以上の第1の物体112に対応するグラフィック情報、1又は2以上の第2の深度値、及び1又は2以上の第2の深度値に関連する1又は2以上の第4の画像を記憶するようにさらに構成することができる。メモリ204の実装例としては、以下に限定するわけではないが、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、電気的に消去可能なプログラマブルリードオンリーメモリ(EEPROM)、ハードディスクドライブ(HDD)、固体ドライブ(SSD)、CPUキャッシュ、及び/又はセキュアデジタル(SD)カードを挙げることができる。
【0029】
ニューラルネットワークモデル204Aは、複数の層状に配置された人工ニューロンをノードとする計算ネットワーク又はシステムとすることができる。ニューラルネットワークモデル204Aの複数の層は、入力層、1又は2以上の隠れ層、及び出力層を含むことができる。複数の層の各層は、1又は2以上のノード(又は人工ニューロン)を含むことができる。入力層の全てのノードの出力は、(単複の)隠れ層の少なくとも1つのノードに結合することができる。同様に、各隠れ層の入力は、ニューラルネットワークモデル204Aの他の層の少なくとも1つのノードの出力に結合することができる。各隠れ層の出力は、ニューラルネットワークモデル204Aの他の層の少なくとも1つのノードの入力に結合することができる。最終層の(単複の)ノードは、少なくとも1つの隠れ層から入力を受け取って結果を出力することができる。層の数及び各層のノード数は、ニューラルネットワークモデル204Aのハイパーパラメータから決定することができる。このようなハイパーパラメータは、訓練データセットに基づくニューラルネットワークモデル204Aの訓練前又は訓練中に設定することができる。
【0030】
ニューラルネットワークモデル204Aの各ノードは、ネットワークの訓練中に調整できるパラメータセットを有する数学関数(例えば、シグモイド関数又は正規化線形ユニット(rectified linear unit))に対応することができる。パラメータセットは、例えば重みパラメータ及び正則化パラメータなどを含むことができる。各ノードは、ニューラルネットワークモデル204Aの他の(単複の)層(例えば、前の(単複の)層)のノードからの1又は2以上の入力に基づいて、数学関数を使用して出力を計算することができる。ニューラルネットワークモデル204Aのノードの全部又は一部は、同じ又は異なる数学関数に対応することができる。
【0031】
ニューラルネットワークモデル204Aの訓練では、(訓練データセット116からの)所与の入力のための最終層の出力がニューラルネットワークモデル204Aの損失関数に基づく正しい結果に一致するかどうかに基づいて、ニューラルネットワークモデル104の各ノードの1又は2以上のパラメータを更新することができる。上記プロセスは、損失関数の最小値を達成して訓練エラーを最小化できるまで同じ又は異なる入力について繰り返すことができる。当業では、勾配降下法、確率的勾配降下法、バッチ勾配降下法、勾配ブースト法及びメタヒューリスティック法などの複数の訓練法が知られている。
【0032】
ニューラルネットワークモデル204Aは、例えばシステム102などの処理装置によって実行されるソフトウェアプログラム、ソフトウェアプログラムのコード、ライブラリ、アプリケーション、スクリプト、或いはその他のロジック又は命令などの電子データを含むことができる。ニューラルネットワークモデル204Aは、プロセッサ202などのコンピュータ装置が(新たな画像又はコンピュータ生成画像(CGI)入力などの)提供された入力に基づいて深度情報を予測する1又は2以上の動作を実行することを可能にするように構成されたコード及びルーチンを含むことができる。これに加えて又はこれに代えて、ニューラルネットワークモデル204Aは、プロセッサ、(例えば、1又は2以上の演算を実行し又は実行を制御する)マイクロプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、又は特定用途向け集積回路(ASIC)を含むハードウェアを使用して実装することもできる。或いは、いくつかの実施形態では、ハードウェアとソフトウェアとの組み合わせを使用してニューラルネットワークモデル204Aを実装することもできる。
【0033】
ニューラルネットワークモデル204Aの例としては、以下に限定するわけではないが、ディープニューラルネットワーク(DNN)、畳み込みニューラルネットワーク(CNN)、再帰型ニューラルネットワーク(RNN)、CNN-再帰型ニューラルネットワーク(CNN-RNN)、R-CNN、Fast R-CNN、Faster R-CNN、人工ニューラルネットワーク(ANN)、(You Only Look Once)YOLOネットワーク、長・短期記憶(LSTM)ネットワークベースのRNN、CNN+ANN、LSTM+ANN、ゲート付き再帰型ユニット(GRU)ベースのRNN、全結合ニューラルネットワーク、Connectionist Temporal Classification(CTC)ベースのRNN、ディープベイズニューラルネットワーク、敵対的生成ネットワーク(GAN)、及び/又はこれらのネットワークの組み合わせを挙げることができる。いくつかの実施形態では、ニューラルネットワークモデル204Aが、データフローグラフを用いた数値計算法を含むことができる。いくつかの実施形態では、ニューラルネットワークモデル204Aが、複数のディープニューラルネットワーク(DNN)のハイブリッドアーキテクチャに基づくことができる。いくつかの実施形態では、ニューラルネットワークモデル204Aを人工知能(AI)エンジンとすることができる。
【0034】
ネットワークインターフェイス206は、通信ネットワーク118を介したシステム102、深度センサ106及びハンドヘルド装置108間の通信を容易にするように構成できる好適なロジック、回路及びインターフェイスを含むことができる。ネットワークインターフェイス206は、システム102と通信ネットワーク118との有線又は無線通信を支援する様々な既知の技術を使用して実装することができる。ネットワークインターフェイス206は、以下に限定するわけではないが、アンテナ、無線周波数(RF)トランシーバ、1又は2以上の増幅器、チューナ、1又は2以上の発振器、デジタルシグナルプロセッサ、コーダ-デコーダ(CODEC)チップセット、加入者IDモジュール(SIM)カード、又はローカルバッファ回路を含むことができる。ネットワークインターフェイス206は、インターネット、イントラネットなどのネットワーク、又はセルラー電話ネットワーク、無線ローカルエリアネットワーク(LAN)、及びメトロポリタンエリアネットワーク(MAN)などの無線ネットワークと無線通信を介して通信するように構成することができる。無線通信は、グローバルシステムフォーモバイルコミュニケーション(GSM)、拡張データGSM環境(EDGE)、広帯域符号分割多元接続(W-CDMA)、ロングタームエボリューション(LTE)、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、Bluetooth、(IEEE802.11a、IEEE 802.11b、IEEE 802.11g又はIEEE 802.11nなどの)ワイヤレスフィデリティ(WiFi)、ボイスオーバーインターネットプロトコル(VoIP)、ライトフィデリティ(Li-Fi)、又はワールドワイド・インターオペラビリティ・フォー・マイクロウェーブ・アクセス(Wi-MAX)、電子メール用プロトコル、インスタントメッセージ、及びショートメッセージサービス(SMS)などの複数の通信規格、プロトコル及び技術のうちの1つ又は2つ以上を使用するように構成することができる。
【0035】
図3は、本開示の実施形態による、深度測定用訓練データセットの生成のための第1の画像の取り込みを示す例示的なシナリオである。
図3の説明は、
図1及び
図2の要素に関連して行う。
図3には例示的なシナリオ300を示す。例示的なシナリオ300は、(椅子などの)第1の物体302、ユーザ304、ハンドヘルド装置306、深度センサ308、3Dグラフィックスエンジン104(又は第1のI/O装置114の一部)に関連するディスプレイ装置310を含むことができる。ディスプレイ装置310は、深度センサ308によって取り込まれた第1の画像312を表示することができる。開示するシステム102のディスプレイ装置310及び3Dグラフィックスエンジン104は、通信ネットワーク118を介して深度センサ308及びハンドヘルド装置306に通信可能に結合することができる。
【0036】
図3に示すように、ユーザ304は、深度センサ308を介して1又は2以上の第1の物体112のうちの第1の物体302を取り込むことができる。例えば、深度センサ308によって第1の視点から第1の物体302の(正面ビューなどの)第1の画像312を取り込むことができる。
図3に示すように、深度センサ308及び(仮想現実装置とすることができる)ハンドヘルド装置306は統合することができる。いくつかの実施形態では、システム102のプロセッサ202を、第1の物体302の第1の画像を取り込むとともに、深度センサ308と第1の物体302の表面(すなわち、第1の視点から見える表面)上の第1の複数の地点との間の距離を(例えば、特定のセンチメートル、インチ、フィート、ヤード又はメートル単位で)示すことができる1又は2以上の第1の深度値を取り込むように深度センサ308を制御するよう構成することができる。プロセッサ202は、第1の画像及び1又は2以上の第1の深度値を取り込むように深度センサ308を制御するための命令又はコマンドを送信することができる。いくつかの実施形態では、深度センサ308又はハンドヘルド装置306が、第1の物体302に関連する第1の画像及び1又は2以上の第1の深度値を取り込むように深度センサ308を制御するユーザ入力をユーザ304から直接受け取ることができる。ある実施形態では、プロセッサ202を、第1の物体302の第1の画像312、及び第1の画像312に関連する対応する第1の深度値を深度センサ308から受け取るように構成することができる。
【0037】
ある実施形態では、ユーザ304が深度センサ308及びハンドヘルド装置306を3D空間(すなわち、実空間)内で動かすことができる。ハンドヘルド装置306は、例えば3D空間における深度センサ308及びハンドヘルド装置306の動きに基づいて深度センサ308の位置情報(XYZ情報)及び配向情報を取り込むことができる。ハンドヘルド装置306は、3D空間におけるハンドヘルド装置306の位置情報及び配向情報を含むことができる追跡情報を生成するようにさらに構成することができる。プロセッサ202は、ハンドヘルド装置306から追跡情報を受け取って、第1の物体302に対応するグラフィック情報を生成するようにさらに構成することができる。グラフィック情報の生成の詳細については、例えば
図4A~
図4Bにさらに示す。
【0038】
グラフィック情報は、第1の物体302の第1の画像312が取り込まれた第1の視点とは異なることができる1又は2以上の第2の視点からの第1の物体302を含み又はこれに対応することができる。例えば、1又は2以上の第2の視点は、側面ビュー、平面ビュー又は上面ビューからの第1の物体302を含み又はこれに対応することができる。1又は2以上の第2の視点及びグラフィック情報の詳細については、例えば
図4Aにさらに示す。いくつかの実施形態では、プロセッサ202が、ディスプレイ装置310上に表示された第1の画像312(すなわち、第1の物体302に対応する画像)を修正するための1又は2以上のユーザ入力をユーザ304から(すなわち、第1のI/O装置114を介して)受け取ることができる。プロセッサ202は、受け取った1又は2以上のユーザ入力に基づいてグラフィック情報をさらに生成することができる。例えば、ユーザ304は、第1のI/O装置114を介して、3Dグラフィックスエンジン104において第1の物体302の側面ビューを取得するように第1の画像312を回転させるためのユーザ入力を提供することができる。別の例では、ユーザ304が、3Dグラフィックスエンジン104において第1の物体302の拡大ビューを取得するように第1の画像312にズームインするためのユーザ入力を提供することができる。いくつかの実施形態では、3Dグラフィックスエンジン104が、第1の画像312を回転させ又はズームインして異なる視点からのグラフィック情報をさらに生成するようにディスプレイ装置310及び第1のI/O装置114を制御することができる。
【0039】
プロセッサ202は、生成されたグラフィック情報に基づいて、第1の物体302に関連する1又は2以上の第2の深度値を計算するようにさらに構成することができる。例えば、プロセッサ202は、3Dグラフィックスエンジン104によって生成された第1の物体302の側面ビュー及び第1の物体302の拡大ビューに関連する深度値を計算するように構成することができる。従って、深度センサ308から第1の物体302に関連する(第1の画像312などの)1つの画像を受け取ることで、異なる視点からの第1の物体302の深度情報を含むことができる(グラフィック情報及び1又は2以上の第2の深度値に対応する1又は2以上の第2の画像などの)合成データを生成することができる。深度センサ308によって第1の視点から取り込まれた第1の物体302の第1の画像312は実データと呼ぶことができ、第1の物体302について異なる視点から仮想的に生成された合成データ(すなわち、システム102又は3Dグラフィックスエンジン104によって生成された合成データ)は、様々な視点からの第1の物体302に関する仮想データと呼ぶことができる。仮想データは、特定のバリエーション(すなわち、グラフィック情報を生成する視点を修正することなど)を伴って実データを厳密に模倣することができる。プロセッサ202は、例えば
図4A~
図4Bで説明するように、異なる物体についてのこのような実データ及び仮想データを含むことができる訓練データセット116を生成するようにさらに構成することができる。なお、(椅子などの)第1の物体302の第1の画像312の取り込み、深度センサ308及びハンドヘルド装置306は、
図3に一例として示すものにすぎない。シナリオ300は、本開示の範囲から逸脱することなく、異なるタイプの物体、深度センサ及びハンドヘルド装置を含むこともできる。
【0040】
図4A~
図4Bに、本開示の実施形態による、深度測定用訓練データセットを生成するための例示的な動作のシーケンス図を集合的に示す。
図4A~
図4Bの説明は、
図1、
図2及び
図3の要素に関連して行う。
図4A~
図4Bには、402~418の一連の動作を示すシーケンス
図400を示す。これらの一連の動作は、
図1のシステム102の様々なコンポーネント又は
図2のプロセッサ202によって実行することができる。
【0041】
402において、第1の画像402A及び第1の深度値を取り込むことができる。ある実施形態によれば、プロセッサ202は、第1の視点から1又は2以上の第1の物体112のうちの第1の物体302の第1の画像402Aを取り込むように深度センサ308を制御するよう構成することができる。プロセッサ202は、第1の物体302に関連する第1の深度値を取り込むように深度センサ308をさらに制御することができる。ある実施形態によれば、深度センサ308は、以下に限定するわけではないが、飛行時間(ToF)センサ、光検出及び測距(LiDAR)センサ、立体画像センサ、又は構造化光センサとすることができる。ToFセンサは、赤外光源を利用して第1の物体302に関連する第1の深度値を取り込むことができる。LiDARセンサは、レーザ光源を利用して第1の物体302に関連する第1の深度値を取り込むことができる。さらに、立体画像センサは、2つの撮像装置(図示せず)を利用して第1の深度値を取り込むことができる。構造化光センサは、第1の物体302上に投影された光パターンを利用して第1の深度値を取り込むことができる。
【0042】
第1の画像402Aは、第1の物体302の色情報を含むことができる。例えば、第1の画像402Aは、第1の物体302の(赤色-緑色-青色(RGB)情報などの)実際の色などの色情報を含むことができる。ある実施形態によれば、第1の深度値は、深度センサ308と、1又は2以上の第1の物体112のうちの第1の物体302の表面上の第1の複数の地点との間の深度情報又は距離を示すことができる。例えば、第1の物体302の表面上の第1の複数の地点は、第1の視点からの深度センサ308の視野内に存在できる第1の物体302の表面上の地点を含むことができる。1つの例では、深度センサ308の視野内に位置することができる表面が、第1の視点から見える第1の物体302の表面を含むことができる。第1の深度値は、第1の物体302の表面上の第1の複数の地点の各々と深度センサ308との間の距離に関連することができる。例えば、第1の物体302は、垂直な背もたれ部分、肘掛け部分及び水平な座面部分を含むことができる椅子とすることができる。深度センサ308は、第1の画像402A及び対応する第1の深度値を、垂直な背もたれ部分に比べて水平な座面部分の方が距離的に深度センサ308に近くなるように第1の視点から取り込むことができる。従って、第1の深度値は、椅子の垂直な背もたれ部分、肘掛け部分及び水平な座面部分上の第1の複数の地点の各々から深度センサ308までの距離値を示すことができる。
【0043】
404において、第3の画像404Aを生成することができる。ある実施形態によれば、プロセッサ202は、第1の物体302に関連する第1の深度値に対応する第3の画像404Aを生成するように構成することができる。プロセッサ202は、深度センサ308から第1のテキストフォーマットの第1の深度値を受け取ることができる。例えば、第1のテキストフォーマットは、限定するわけではないが、セミコロン区切り値(「.SKV」)ファイルフォーマットとすることができる。プロセッサ202は、第1のテキストフォーマットの第1の深度値を第2のテキストフォーマットにさらに変換することができる。例えば、第2のテキストフォーマットは、限定するわけではないが、カンマ区切り値(「.CSV」)ファイルフォーマットとすることができる。プロセッサ202は、第2のテキストフォーマットに基づいて第1の深度値に対応する第3の画像404Aをさらに生成することができる。いくつかの実施形態では、第3の画像404Aを、第2のテキストフォーマットへの変換を伴わずに第1の深度値の第1のテキストフォーマットに基づいて生成することができる。第3の画像404Aは、例えば(以下に限定するわけではないが)、ポータブルネットワークグラフィックス(PNG)フォーマット、写真専門家合同委員会(jpeg)フォーマット、グラフィックスインターチェンジフォーマット(GIF)フォーマット、ビットマップイメージファイルフォーマット、又はタグドイメージファイルフォーマット(TIFF)などの異なるフォーマットとすることができる。
【0044】
ある実施形態によれば、生成された第3の画像404Aは、第1の物体302の表面上の第1の複数の地点に関連する異なる第1の深度値を表す異なる色(すなわち、RGB)を含むことができる。例示的な実施形態では、深度センサ308との距離が最も近いと考えられる第1の物体302の表面上の地点は、第3の画像404A内の対応する画素を表す最も暗い色調の青色を含むことができ、距離が最も遠いと考えられる地点は、第3の画像404A内の対応する画素を表す最も明るい色調の青色又は(赤色などの)異なる色を含むことができる。この青色などの色は、深度センサ308と第1の物体302の表面上の第1の複数の地点との間の距離が増加するにつれて、生成された第3の画像404A内でグラデーションの形で変化(例えば、強度が減少)することができる。なお、第3の画像404A内の異なる深度値を示す異なる色調の青色はほんの一例にすぎない。第3の画像404Aは、本開示の範囲から逸脱することなく、深度センサ308によって取り込まれた第1の物体の第1の深度値を示す異なる色又は他の様々な色の色調を含むことができる。
【0045】
ある実施形態では、深度センサ308によって取り込まれた第1の物体302に関連する(
図1の第1のシーン110などの)背景が、第3の画像404A内の赤色などの別の色を含むことができる。従って、第3の画像404Aは、深度センサ308によって取り込まれた第1の物体302の第1の深度情報(又は第1の深度値)を示すことができる。換言すれば、第3の画像404Aは、第1の物体302が存在し得る第1のシーン110に関連する深度情報をさらに示すことができる。従って、開示するシステム102は、深度センサ308によって取り込まれた物体(すなわち、現実世界に存在する物体)の深度情報を(第3の画像などの)画像として表すことができる。
【0046】
406において、第1の画像402Aをフィルタ処理することができる。ある実施形態によれば、プロセッサ202は、深度センサ308によって取り込まれた1又は2以上の第1の物体112のうちの第1の物体302の第1の画像402Aをフィルタ処理するように構成することができる。フィルタ処理は、第1の画像402A内の第1の物体302に関連するいずれかの冗長な又は不要な情報を除去するためなど、第1の画像402Aを清浄化するために実行することができる。例えば、第1の画像402Aの背景をぼやけさせることができる。別の例では、第1の物体302の特定のビュー又は部分を取得するために第1の物体302にズームインし、従って第1の画像402Aの他の部分をフィルタ除去することができる。プロセッサ202又は3Dグラフィックスエンジン104は、フィルタ処理された第1の画像402Aを利用して、例えば412において説明するようにグラフィック情報を生成することができる。
【0047】
408において、追跡情報を受け取ることができる。ある実施形態によれば、プロセッサ202は、3D空間におけるハンドヘルド装置306及び深度センサ308の動きに基づいて、深度センサ308に関連するハンドヘルド装置306から追跡情報を受け取るように構成することができる。ユーザ304は、第1の画像402A及び第1の物体302に関連する第1の深度値を取り込むために、3D空間内(すなわち、
図3に示す第1の物体302の周囲)でハンドヘルド装置306及び深度センサ308を動かすことができる。例えば、第1の物体302を取り込むために、3D空間内で深度センサ308を近くに又は遠くに動かすことができる。さらに、第1の画像セット(図示せず)を取り込むために、深度センサ308を第1の物体302に対して上向き方向又は下向き方向に動かすこともできる。深度センサ308に接続又は統合されたハンドヘルド装置306は、3D空間における深度センサ308の動きを追跡して追跡情報を生成することができる。
【0048】
追跡情報は、3D空間における深度センサ308の位置情報(XYZ情報)又は配向情報(異なるXY方向への回転度)を含むことができる。例えば、位置情報は、(XYZ座標などの)直交座標系で示される3D空間内の深度センサ308の正確な位置を含むことができる。配向情報は、3D空間内の基準軸に対する深度センサ308の回転角を含むことができる。例えば、深度センサ308は、第1の画像402Aを取り込んでいる間、3D空間内の基準軸に対して0度の角度にあることができる。別の例では、深度センサ308が、第1の画像402Aを取り込んでいる間、3D空間内の基準軸に対して30度の角度であることができる。
【0049】
410において、1又は2以上のユーザ入力を受け取ることができる。ある実施形態によれば、プロセッサ202は、第1の視点から取り込まれた第1の画像402Aを修正するための1又は2以上のユーザ入力をユーザ304から受け取るようにさらに構成することができる。例示的なシナリオでは、生成された第1の画像402Aを、システム102又は3Dグラフィックスエンジン104に関連するディスプレイ装置310上に表示することができる。表示された第1の画像402Aは、ユーザ304から受け取った1又は2以上のユーザ入力に基づいて修正することができる。例えば、ユーザ304は、第1の視点以外の異なる視点からの第1の物体302の画像を取得するために、第1のI/O装置114を介して第1の画像402A内の第1の物体302を一定の角度に回転させることができる。1又は2以上のユーザ入力は、システム102の第1のI/O装置114を介してユーザ304から受け取ることができる。別の例では、深度センサ308によって最初に第1の画像402Aを取り込むことができた第1の視点とは異なる視点からの第1の物体302の別の画像を取得するために、第1の物体302の表示された第1の画像402Aをディスプレイ装置310上の1つの位置から別の位置に移動させることができる。
【0050】
412において、グラフィック情報を生成することができる。ある実施形態によれば、プロセッサ202は、受け取った追跡情報に基づいて、(1又は2以上の第1の物体112のうちの)第1の物体302の第1の画像402Aに対応するグラフィック情報を生成するように構成することができる。いくつかの実施形態では、グラフィック情報を、第1のI/O装置114を介してユーザ304から受け取られた1又は2以上のユーザ入力に基づいて第1の画像402Aから生成することができる(すなわち、406においてフィルタ処理することができる)。グラフィック情報は、第1の視点とは異なることができる1又は2以上の第2の視点からの第1の物体302を含み又はこれに対応することができる。
【0051】
ある実施形態によれば、システム102は、受け取られた追跡情報及び/又は第1のI/O装置114から受け取られた1又は2以上のユーザ入力に基づいて1又は2以上の第2の視点からの1又は2以上の第1の物体112のうちの第1の物体302に対応するグラフィック情報を生成するように構成できる3Dグラフィックスエンジン104をさらに含むことができる。生成されたグラフィック情報は、システム102に関連するディスプレイ装置310上に表示することができる。従って、3Dグラフィックスエンジン104は、(
図3に示すように)実際の環境内で深度センサ308によって直接取り込まれていない異なる視点からの第1の物体302のグラフィック情報の生成を可能にすることができる。
【0052】
ある実施形態によれば、グラフィック情報が、以下に限定するわけではないが、1又は2以上の第2の画像、点群データ、ボクセルセット、3次元(3D)メッシュ、ビデオ情報、LAS(LASer)フォーマットデータ、又は専用フォーマットデータを含むことができる。1又は2以上の第2の画像は、1又は2以上の第2の視点からの第1の物体302の色情報を含むことができる画像に対応することができる。例えば、グラフィック情報は、第1のグラフィック情報412A、第2のグラフィック情報412B、第3のグラフィック情報412C、及び第4のグラフィック情報412Dを含むことができる。第1のグラフィック情報412Aは、第1の視点とは異なることができる第2の視点からの第1の物体302の1又は2以上の第2の画像のうちの画像に対応することができる。例えば、第1のグラフィック情報412Aは、第1の物体302の第1の画像402Aを水平方向に反転させたバージョンを示すことができる。第2のグラフィック情報412Bは、第1の視点及び第2の視点とは異なる第3の視点(すなわち、1又は2以上の第2の視点のうちの第3の視点)からの1又は2以上の第2の画像のうちの画像に対応することができる。例えば、
図4Aに示すように、第2のグラフィック情報412Bは、第1の物体302の第1の画像402Aを回転させてサイズ変更したバージョンを示すことができる。従って、システム102の3Dグラフィックスエンジン104は、受け取られた追跡情報及び/又は第1のI/O装置114を介してユーザ304から受け取られた1又は2以上のユーザ入力に基づいて、第1の物体302に対応する(1又は2以上の第2の画像などの)複数の画像を生成することができる。例えば、3Dグラフィックスエンジン104は、第1の画像402A(すなわち、深度センサ308によって1つの視点から取り込まれた画像)の視点を変更(例えば、回転、サイズ変更、並進又は移動)するためのユーザ入力をディスプレイ装置310上で受け取って1又は2以上の第2の画像を生成することができる。別の例では、3Dグラフィックスエンジン104が、第1の物体302の周囲の3D空間におけるハンドヘルド装置306の動きに基づき、ハンドヘルド装置306の追跡情報(すなわち、位置情報及び/又は配向情報)に基づいて視点を変更し、第1の物体302の1又は2以上の第2の画像(すなわち、側面ビューを示す第1のグラフィック情報412Aなど)を生成することができる。
【0053】
ある実施形態では、第3のグラフィック情報412Cが、第1の物体302に関連する点群データに対応することができる。点群データの各点は、第1の物体302の表面の地点を表すことができる。第4のグラフィック情報412Dは、第1の物体302に関連する3Dメッシュに対応することができる。第1の物体302の3Dメッシュは、システム102の3Dグラフィックスエンジン104によって生成された第1の物体302の3Dモデルを表すことができる。従って、
図4Aに一例として示すように、生成されたグラフィック情報は、実際の環境内で深度センサ308によって最初に第1の画像402Aが取り込まれた第1の視点とは異なる1又は2以上の第2の視点からの第1の物体302の表現を含むことができる。生成されたグラフィック情報は、システム102によって生成された第1の物体302に関連する合成データ(又は仮想データ)を表すことができる。いくつかの実施形態では、プロセッサ202が、第1の物体302の(実世界の周囲環境などの)第1のシーン110を描写するように3Dグラフィックスエンジン104をさらに制御することができる。第1の物体302の実世界の周囲環境は、深度センサ308及びハンドヘルド装置306(例えば、仮想現実装置)によって取り込むことができる。3Dグラフィックスエンジン104は、(仮想周囲環境などの)異なるシーンにおける第1の物体302の第1の画像402Aの配置に基づいてグラフィック情報をさらに生成することができる。
【0054】
414において、1又は2以上の第2の深度値を計算することができる。ある実施形態によれば、プロセッサ202は、1又は2以上の第2の視点から(412において)生成されたグラフィック情報に基づいて、1又は2以上の第1の物体112のうちの第1の物体302に関連する1又は2以上の第2の深度値を計算するように構成することができる。いくつかの実施形態では、1又は2以上の第2の深度値の各々が、深度センサ308と、生成された1又は2以上の第2の画像(又はグラフィック情報)における1又は2以上の第2の視点から取り込まれた第1の物体302の表面上の第2の複数の地点との間の深度情報を示すことができる。1又は2以上の第2の深度値は、グラフィック情報における第1の物体302の表面上の第2の複数の地点の各々と深度センサ308との間の距離に関連することができる。
【0055】
ある実施形態によれば、プロセッサ202は、第1の時間インスタンス(time instance)において、ハンドヘルド装置306からの追跡情報において深度センサ308の第1の位置情報又は第1の配向情報の少なくとも一方を受け取るように構成することができる。深度センサ308の第1の位置情報又は第1の配向情報は、第1の時間インスタンスにおける3D空間内の深度センサ308の初期又は基準位置及び/又は(例えば、直交座標系に関する)配向に対応することができる。例えば、第1の時間インスタンスは、深度センサ308から第1の画像402A及び第1の物体302の第1の深度値を取り込んだ時間インスタンスに関連することができる(すなわち、402及び
図3において説明したような時間インスタンス)。従って、第1の位置情報及び/又は第1の配向情報は、第1の物体302の第1の画像402Aの取り込み時におけるハンドヘルド装置306又は深度センサ308の基準位置及び/又は配向を示すことができる。
【0056】
プロセッサ202は、第2の時間インスタンスにおいて、ハンドヘルド装置306からの追跡情報において第2の位置情報又は第2の配向情報の少なくとも一方を受け取るようにさらに構成することができる。第2の時間インスタンスは、3D空間におけるハンドヘルド装置306及び深度センサ308の動きの時間インスタンスとすることも、或いはディスプレイ装置310上に表示された第1の物体302を修正(すなわち、回転、再サイズ、並進又は移動)するためのユーザ入力を第1のI/O装置114を介して受け取った時間インスタンスとすることもできる。従って、プロセッサ202は、第2の時間インスタンスにおいてハンドヘルド装置306の位置/配向の変化を識別し、及び/又は表示された物体を修正するユーザ入力の変化を識別することができる。
【0057】
ある実施形態によれば、プロセッサ202又は3Dグラフィックスエンジン104は、第1の時間インスタンスにおける第1の位置情報又は第1の配向情報(すなわち、基準位置/配向)、及び第2の時間インスタンスにおける第2の位置情報又は第2の配向情報に基づいて、1又は2以上の第1の物体112のうちの第1の物体302に関連する1又は2以上の第2の深度値を計算するようにさらに構成することができる。従って、1又は2以上の第2の深度値は、深度センサ308の基準位置/配向からの3D空間における深度センサ308の位置及び/又は配向の変化(すなわち、(402において)第1の物体302の第1の深度値が取り込まれた第1の時間インスタンスにおいて追跡された位置及び/又は配向の変化)に基づいて計算することができる。従って、第1の視点とは異なる1又は2以上の第2の視点からのグラフィック情報及び第2の深度値を生成するために追跡情報の変化を同期させることができる。3Dグラフィックスエンジン104による異なる視点(例えば、側面ビュー又は背面ビュー)からのグラフィック情報(すなわち、第2の画像)及び第2の深度値の生成は、深度センサ308とは異なる仮想センサからの第1の物体302の取り込みと呼ぶことができる。ハンドヘルド装置306による3D空間における深度センサ308の位置情報及び/又は配向情報の変化の検出は、1又は2以上の第2の視点から見た仮想センサと第1の物体302の表面上の第2の複数の地点の各地点との間の距離(すなわち、第2の深度値)を正確に提供することができる。
【0058】
別の実施形態では、プロセッサ202が、グラフィック情報を(すなわち、412において説明したように)生成するために、ディスプレイ装置310上に表示された第1の画像402Aに関する1又は2以上のユーザ入力を受け取ることができる。プロセッサ202は、第1の画像402Aの取り込み中に計算された第1の深度値に基づくとともに、第1の画像402Aに対して1又は2以上のユーザ入力として行われた修正にさらに基づいて、1又は2以上の第2の深度値をさらに計算することができる。例えば、プロセッサ又は3Dグラフィックスエンジン104は、ディスプレイ装置310上の第1の物体302の表示された第1の画像402Aを回転させるように提供されたユーザ入力を利用して、元々の第1の深度値及び回転入力(すなわち、度数)に基づいて第2の深度値を計算することができる。
【0059】
ある実施形態によれば、プロセッサ202は、深度センサ308によって取り込まれた第1の画像402Aから背景情報を抽出するようにさらに構成することができる。背景情報は、(第1のシーン110などの)第1の物体302の周囲環境に関連する情報を含むことができる。第1のシーン110の背景情報は、限定するわけではないが、背景物体又は(複数の物体を含む)背景シーンを含むことができる。プロセッサ202は、第2の深度値を計算するために、第1の画像402Aと共に背景情報をシステム102の3Dグラフィックスエンジン104に提供することができる。
【0060】
プロセッサ202又は3Dグラフィックスエンジン104は、背景情報に基づいて、第1の物体302に関連する1又は2以上の第2の深度値を計算することができる。深度センサ308が移動する(すなわち、追跡情報によって追跡された)又は第1の物体302が移動する(すなわち、ユーザ入力に基づく)いくつかの状況では、背景情報が変化しないことができる。このような第1の物体302の背景が動かない場合、プロセッサ202は、第1の深度値と、追跡情報及び/又はユーザ入力の変化とに基づいて第2の深度値を計算することができる。一方で、背景情報に何らかの変化があった場合、プロセッサ202は、第1の物体302と背景物体又はシーンとの間の距離を決定することができる。いくつかの実施形態では、プロセッサ202又は3Dグラフィックスエンジン104が、ディスプレイ装置310上に表示された背景内の、背景の変化又は第1の物体302と背景物体又はシーンとの間の距離の変化を引き起こす可能性がある第1の物体302の位置を変更する1又は2以上のユーザ入力をユーザ304からさらに受け取ることができる。プロセッサ202は、受け取った追跡情報、表示された第1の物体302を修正するためのユーザ入力、及び/又は背景情報に基づいて、第1の物体302に関連する1又は2以上の第2の深度値をさらに計算することができる。
【0061】
416において、1又は2以上の第4の画像を生成することができる。ある実施形態によれば、プロセッサ202は、1又は2以上の第1の物体112のうちの第1の物体302に関連する計算された1又は2以上の第2の深度値に対応する1又は2以上の第4の画像を生成するように構成することができる。1又は2以上の第2の深度値からの1又は2以上の第4の画像の生成は、例えば
図4Aの404において説明したような第1の深度値からの第3の画像404Aの生成と同様とすることができる。いくつかの実施形態では、生成された1又は2以上の第4の画像が、第1の物体302の表面上の第2の複数の地点に関連する1又は2以上の第2の深度値の異なる深度値を表す異なる色(すなわち、RGB)を含むことができる。第3の画像404Aと同様に、1又は2以上の第4の画像も、例えば(以下に限定するわけではないが)、ポータブルネットワークグラフィックス(PNG)フォーマット、写真専門家合同委員会(jpeg)フォーマット、グラフィックスインターチェンジフォーマット(GIF)フォーマット、ビットマップイメージファイルフォーマット、又はタグドイメージファイルフォーマット(TIFF)などの異なるフォーマットとすることができる。
【0062】
図4Bに示すように、1又は2以上の第4の画像は、(画像416A、画像416B、画像416C及び画像416Dなどの)画像416A~416Dの組とすることができる。画像416A~416Dの組の各々は、異なる深度値(すなわち、414で計算された第2の深度値)を表す異なる色を含むことができる。例えば、生成された1又は2以上の第4の画像内では、3Dグラフィックスエンジン104に関連する仮想センサと第1の物体302の表面上の第2の複数の地点との間の距離が増加するにつれて、青色の色調などの色がグラデーションの形で変化(例えば、減少)することができる。
図4A~
図4Bに示すように、画像416Aは、第1のグラフィック情報412Aに対応する深度値を示すことができ、画像416Bは、第2のグラフィック情報412Bに対応する深度値を示すことができる。同様に、画像416Cは、第3のグラフィック情報412Cに対応する深度値を示すことができ、画像416Dは、第4のグラフィック情報412Dに対応する深度値を示すことができる。ある実施形態では、画像416A~416Dの組が、深度センサ308によって実際の環境内の1つの視点から取り込まれた第1の画像402A(すなわち、実データ)についての、(3Dグラフィックスエンジン104を含む)開示するシステム102によって様々な視点から生成された仮想画像又は仮想データに対応することができる。
【0063】
418において、訓練データセット420を生成することができる。ある実施形態によれば、プロセッサ202は、ニューラルネットワークモデル204Aを訓練するための訓練データセット116を生成するように構成することができる。訓練データセット420は、第1の画像402A(すなわち、402において深度センサ308によって取り込まれた画像)と第3の画像404A(すなわち、404において第1の深度値から生成された画像)との第1の組み合わせを含むことができる。訓練データセット420は、グラフィック情報に対応する1又は2以上の第2の画像(すなわち、412において3Dグラフィックスエンジン104によって生成された画像)と1又は2以上の第2の深度値に対応する1又は2以上の第4の画像(すなわち、416において生成された画像)との第2の組み合わせをさらに含むことができる。
図4Bには、開示するシステム102によって生成された訓練データセット420を示す。
【0064】
訓練データセット420は、第1の画像402Aと第3の画像404Aとの第1の組み合わせとすることができる第1の画像セット420Aを含むことができる。第1の画像セット420Aは、ニューラルネットワークモデル204Aを訓練できるペア画像セットとすることができる。例えば、ニューラルネットワークモデル204Aは、第1の画像402A(すなわち、実際の環境内で深度センサ308によって取り込まれた画像)と、第1の深度値(すなわち、第1の画像402Aの取り込み中に深度センサ308によって取り込まれた深度値)のために生成された第3の画像404Aとの間の関係又はマッピングに基づいて訓練することができる。ある実施形態では、ニューラルネットワークモデル204Aを、第1の画像402A(すなわち、実際の環境内で深度センサ308によって取り込まれた画像)と第1の深度値(すなわち、第1の画像402Aの取り込み中に深度センサ308によって取り込まれた深度値)との間の関係又はマッピングに基づいて訓練することができる。ニューラルネットワークモデル204Aは、第1の画像402A又は第1の画像402Aと同様の特徴を有する新たな画像を訓練済みニューラルネットワークモデル204Aへの入力として提供した時に第1の深度値を予測するように訓練することができる。
【0065】
訓練データセット420は、(
図4Bに示すような)第2の画像セット420B、第3の画像セット420C、第4の画像セット420D及び第5の画像セット420Eを第2の組み合わせとしてさらに含むことができる。第2の画像セット420Bは、第1のグラフィック情報412Aと、第1のグラフィック情報412Aに対応する深度値を示すことができる画像416Aとを含むことができる。第3の画像セット420Cは、第2のグラフィック情報412Bと、第2のグラフィック情報412Bに対応する深度値を示すことができる画像416Bとを含むことができる。第4の画像セット420Dは、第3のグラフィック情報412Cと、第3のグラフィック情報412Cに対応する深度値を示すことができる画像416Cとを含むことができる。第5の画像セット420Eは、第4のグラフィック情報412Dと、第4のグラフィック情報412Dに対応する深度値を示すことができる画像416Dとを含むことができる。ある実施形態では、第2の画像セット420B、第3の画像セット420C、第4の画像セット420D及び第5の画像セット420Eが、システム102の3Dグラフィックスエンジン104によって生成されたグラフィック情報に対応する1又は2以上の第2の画像と1又は2以上の第2の深度値に対応する1又は2以上の第4の画像との各組み合わせに対応することができる。いくつかの実施形態では、第2の画像セット420B、第3の画像セット420C、第4の画像セット420D及び第5の画像セット420Eを、システム102が実データ(すなわち、実際の環境内で深度センサ308によって取り込まれた第1の画像402A)に基づいて1又は2以上の第2の画像(又はグラフィック情報)の各々を合成的又は仮想的に生成できるような非ペア画像セットと呼ぶことができる。このような開示するシステム102によって生成される非ペア画像(すなわち、仮想データ)は、異なる視点から見た同じ物体について生成されるので、実データを厳密に模倣することができる。従って、開示するシステム102は、深度センサ308によって1つの視点から異なる物体について取り込まれた第1の画像の各々について、例えば異なる視点からの同じ物体のための数多くの複数の第2の画像(又はグラフィック情報)を生成することができる。システム102は、異なる物体の第1の画像及び対応する第1の深度値(すなわち、第3の画像404A)をさらに含むとともに、ニューラルネットワークモデル204Aを訓練するための大規模訓練データセットとして、異なる視点からの物体の複数の第2の画像及び対応する第2の深度値(すなわち、第4の画像)を含むことができる。訓練済みニューラルネットワークモデル204Aは、訓練済みニューラルネットワークモデル204Aに入力された(コンピュータ生成画像(CGI)などの)画像の深度値を(深度センサを必要とすることなく)予測するために利用することができる。従って、訓練済みニューラルネットワークモデル204Aを利用して、深度センサにリアルタイムで依拠するのではなく入力画像に基づいて深度情報を提供又は予測することができる。開示する(3Dグラフィックスエンジン104を含む)システム102によって提供される数多くの第2の画像(すなわち、グラフィック情報)は、訓練済みニューラルネットワークモデル204Aの予測精度を高める大規模訓練データセットを提供することができる。さらに、実際の環境において大規模深度値データセットを取り込むために異なる場所又は視点に深度センサ308(又は同様の高価な深度センサ)を配置することが不要となり得るので、訓練データセットを増やすために様々な視点(すなわち、412において説明した様々な視点)からのグラフィック情報を生成することは安価であることができる。
【0066】
例示的なシナリオでは、ニューラルネットワークモデル204Aに訓練データセット420を提供することができる。訓練データセット420の第1の画像402A、第1のグラフィック情報412A、第2のグラフィック情報412B、第3のグラフィック情報412C及び第4のグラフィック情報412Dの各々は、ニューラルネットワークモデル204Aへの入力とみなされるようにニューラルネットワークモデル204Aに提供することができる。訓練データセット420の第3の画像404A、画像416A、画像416B、画像416C及び画像416Dの各々(すなわち、全ての画像は特定の物体の対応する深度値を示す)は、ニューラルネットワークモデル204Aの訓練のための対応する出力(すなわち、各それぞれの入力画像のための出力)とみなされるように提供することができる。ニューラルネットワークモデル204Aは、各入力画像と出力画像(すなわち、深度値に関連する画像)との間の関係又はマッピングを確立するように訓練することができる。いくつかの実施形態では、ニューラルネットワークモデル204Aを、第1の画像312と第1の深度値との第1の組み合わせを含むとともに、異なる物体の(グラフィック情報に対応する)1又は2以上の第2の画像と1又は2以上の第2の深度値との第2の組み合わせをさらに含むことができる訓練データセットに基づいて訓練することができる。訓練済みニューラルネットワークモデル204Aは、訓練済みニューラルネットワークモデル204Aに提供された入力画像(すなわち、ニューラルネットワークモデル204Aの訓練元である第1の画像312、又は第2の画像のうちの1つに類似する入力画像)の深度値(すなわち、第1の深度値、又は第2の深度値のうちの1つ)を自動的に予測することができる。
【0067】
図400については、402、404、406、408、410、412、414、416及び418などの離散的動作として示しているが、いくつかの実施形態では、開示する実施形態の本質を損なうことなく、このような離散的動作を特定の実装に応じてさらなる動作にさらに分割し、より少ない動作に組み合わせ、又は削除することもできる。
【0068】
図5は、本開示の実施形態による、深度測定用訓練データセットの生成のための例示的な方法を示すフローチャートである。
図5の説明は、
図1、
図2、
図3、
図4A及び
図4Bの要素に関連して行う。
図5にはフローチャート500を示す。フローチャート500の例示的な方法は、例えば
図1のシステム102又は
図2のプロセッサ202などのいずれかのコンピュータシステムによって実行することができる。フローチャート500の例示的な方法は、502から開始して504に進むことができる。
【0069】
504において、深度センサ106を、1又は2以上の第1の物体112の第1の画像312、及び1又は2以上の第1の物体112に関連する第1の深度値を第1の視点から取り込むように制御することができる。ある実施形態によれば、プロセッサ202は、1又は2以上の第1の物体112の第1の画像、及び1又は2以上の第1の物体112に関連する第1の深度値を第1の視点から取り込むように深度センサ106を制御するよう構成することができる。第1の画像312は、1又は2以上の第1の物体112の色情報(すなわち、RGB)を含むことができる。1又は2以上の第1の物体112の第1の画像312、及び1又は2以上の第1の物体112に関連する第1の深度値を(第1の視点から)取り込むように深度センサ106を制御することについては、例えば
図4A~
図4Bの402において説明している。
【0070】
506において、1又は2以上の第1の物体112に関連する第1の深度値に対応する第3の画像404Aを生成することができる。ある実施形態によれば、プロセッサ202は、例えば
図4A~
図4Bの404で説明したように、第1の深度値に対応する第3の画像404Aを生成するように構成することができる。
【0071】
508において、3D空間におけるハンドヘルド装置108及び深度センサ106の動きに基づいて、深度センサ106に関連するハンドヘルド装置108から追跡情報を受け取ることができる。ある実施形態によれば、プロセッサ202は、3D空間におけるハンドヘルド装置108及び深度センサ106の動きに基づいて、深度センサ106に関連するハンドヘルド装置108から追跡情報を受け取るように構成することができる。追跡情報は、3D空間における深度センサ106の位置情報又は配向情報の少なくとも一方を示すことができる。追跡情報の受信については、例えば
図4A~
図4Bの408において説明している。制御は512に進むことができる。
【0072】
510において、第1の視点から取り込まれた第1の画像を修正するための1又は2以上のユーザ入力を受け取ることができる。ある実施形態によれば、プロセッサ202は、例えば
図4A~
図4Bの410において説明したように、第1の画像402Aを修正するための1又は2以上のユーザ入力を第1のI/O装置114を介して受け取るように構成することができる。
【0073】
512において、受け取った追跡情報及び/又は受け取った1又は2以上のユーザ入力に基づいて、1又は2以上の第1の物体112に対応するグラフィック情報を生成することができる。ある実施形態によれば、プロセッサ202は、例えば
図4A~
図4Bの412において説明したように、受け取った追跡情報及び/又は受け取った1又は2以上のユーザ入力に基づいて、1又は2以上の第1の物体112に対応するグラフィック情報を生成するように構成することができる。
【0074】
514において、1又は2以上の第2の視点から生成されたグラフィック情報に基づいて、1又は2以上の第1の物体112に関連する1又は2以上の第2の深度値を計算することができる。ある実施形態によれば、プロセッサ202は、1又は2以上の第2の視点から生成されたグラフィック情報に基づいて、1又は2以上の第1の物体112に関連する1又は2以上の第2の深度値を計算するように構成することができる。1又は2以上の第2の深度値の計算については、例えば
図4A~
図4Bの414において説明している。
【0075】
516において、計算された1又は2以上の第2の深度値(すなわち、1又は2以上の第1の物体112に関連する第2の深度値)に対応する1又は2以上の第4の画像を生成することができる。ある実施形態によれば、プロセッサ202は、1又は2以上の第1の物体112に関連する計算された1又は2以上の第2の深度値に対応する1又は2以上の第4の画像を生成するように構成することができる。1又は2以上の第4の画像の生成については、例えば
図4A~
図4Bの416において説明している。
【0076】
518において、訓練データセット116を生成することができる。ある実施形態によれば、プロセッサ202は、第1の画像312と第1の深度値に対応する第3の画像404Aとの第1の組み合わせを含むとともに(グラフィック情報に対応する)1又は2以上の第2の画像と1又は2以上の第2の深度値に対応する1又は2以上の第4の画像との第2の組み合わせを含むことができる訓練データセット116をニューラルネットワークモデル204Aのために生成するように構成することができる。訓練データセット116の生成については、例えば
図4A~
図4Bの418において説明している。制御は終了に進むことができる。
【0077】
フローチャート500には、504、506、508、510、512、514、516及び518などの離散的な動作を示しているが、本開示はこのように限定されるものではない。従って、いくつかの実施形態では、開示する実施形態の本質を損なうことなく、このような離散的動作を特定の実装に応じてさらなる動作にさらに分割し、より少ない動作に組み合わせ、又は削除することができる。
【0078】
本開示の様々な実施形態は、機械及び/又はコンピュータ(例えば、システム102)が実行できる命令を記憶した非一時的コンピュータ可読媒体及び/又は記憶媒体を提供することができる。これらの命令は、(1又は2以上の第1の物体112などの)1又は2以上の第1の物体の(第1の画像312などの)第1の画像及び1又は2以上の第1の物体112に関連する第1の深度値を第1の視点から取り込むように(深度センサ106などの)深度センサを制御することを含む動作を機械及び/又はコンピュータ(例えば、システム102)に実行させることができる。第1の画像312は、1又は2以上の第1の物体112の色情報を含むことができる。動作は、3次元(3D)空間におけるハンドヘルド装置108及び深度センサ106の動きに基づいて、深度センサ106に関連する(ハンドヘルド装置108などの)ハンドヘルド装置から追跡情報を受け取ることをさらに含むことができる。追跡情報は、3D空間における深度センサ106の位置情報又は配向情報の少なくとも一方を示すことができる。動作は、受け取った追跡情報に基づいて、1又は2以上の第1の物体112に対応するグラフィック情報を生成することをさらに含むことができる。グラフィック情報は、第1の視点とは異なる1又は2以上の第2の視点からの1又は2以上の第1の物体112を含むことができる。動作は、1又は2以上の第2の視点から生成されたグラフィック情報に基づいて、1又は2以上の第1の物体112に関連する1又は2以上の第2の深度値を計算することをさらに含むことができる。動作は、第1の画像312と第1の深度値との第1の組み合わせ、及びグラフィック情報に対応する1又は2以上の第2の画像と1又は2以上の第2の深度値との第2の組み合わせを含むことができる(訓練データセット116などの)訓練データセットを(ニューラルネットワークモデル204Aなどの)ニューラルネットワークモデルのために生成することをさらに含むことができる。
【0079】
本開示の例示的な態様は、(プロセッサ202などの)プロセッサを含むことができる(システム102などの)システムを含むことができる。プロセッサ202は、(1又は2以上の第1の物体112などの)1又は2以上の第1の物体の(第1の画像312などの)第1の画像、及び1又は2以上の第1の物体112に関連する第1の深度値を第1の視点から取り込むように(深度センサ106などの)深度センサを制御するよう構成することができる。第1の画像312は、1又は2以上の第1の物体112の色情報を含むことができる。プロセッサ202は、3次元(3D)空間におけるハンドヘルド装置108及び深度センサ106の動きに基づいて、深度センサ106に関連する(ハンドヘルド装置108などの)ハンドヘルド装置から追跡情報を受け取るようにさらに構成することができる。追跡情報は、3D空間における深度センサ106の位置情報又は配向情報の少なくとも一方を示すことができる。プロセッサ202は、受け取った追跡情報に基づいて、1又は2以上の第1の物体112に対応するグラフィック情報を生成するようにさらに構成することができる。グラフィック情報は、第1の視点とは異なる1又は2以上の第2の視点からの1又は2以上の第1の物体112を含むことができる。プロセッサ202は、1又は2以上の第2の視点から生成されたグラフィック情報に基づいて、1又は2以上の第1の物体112に関連する1又は2以上の第2の深度値を計算するようにさらに構成することができる。プロセッサ202は、第1の画像312と第1の深度値との第1の組み合わせを含むとともに、グラフィック情報に対応する1又は2以上の第2の画像と1又は2以上の第2の深度値との第2の組み合わせを含むことができる(訓練データセット116などの)訓練データセットを(ニューラルネットワークモデル204Aなどの)ニューラルネットワークモデルのために生成するようにさらに構成することができる。
【0080】
ある実施形態によれば、グラフィック情報は、1又は2以上の第2の画像、点群データ、ボクセルセット、3次元(3D)メッシュ、ビデオ情報、LAS(LASer)フォーマットデータ、又は専用フォーマットデータのうちの少なくとも1つに対応することができる。
【0081】
ある実施形態によれば、プロセッサ202は、深度センサ106から第1のテキストフォーマットの第1の深度値を受け取るようにさらに構成することができる。プロセッサ202は、第1のテキストフォーマットの第1の深度値を第2のテキストフォーマットにさらに変換することができる。プロセッサ202は、第2のテキストフォーマットに基づいて、第1の深度値に対応する第3の画像404Aを生成することができる。
【0082】
ある実施形態によれば、プロセッサ202は、1又は2以上の第1の物体112の各々に関連する第1の深度値に対応する第3の画像404Aを生成するようにさらに構成することができる。プロセッサ202は、1又は2以上の第1の物体112に関連する計算された1又は2以上の第2の深度値に対応する1又は2以上の第4の画像をさらに生成することができる。プロセッサ202は、第1の画像312と第1の深度値に対応する第3の画像404Aとの第1の組み合わせを含むとともに、グラフィック情報に対応する1又は2以上の第2の画像と1又は2以上の第2の深度値に対応する1又は2以上の第4の画像との第2の組み合わせを含むことができる訓練データセット116をニューラルネットワークモデル204Aのためにさらに生成することができる。
【0083】
ある実施形態によれば、生成された第3の画像404A及び1又は2以上の第4の画像の各々は、1又は2以上の第1の物体112の各々に関連するそれぞれの第1の深度値及び1又は2以上の第2の深度値の異なる深度値を表す異なる色を含むことができる。
【0084】
ある実施形態によれば、第1の深度値は、深度センサ106と、第1の視点から取り込まれた1又は2以上の第1の物体112の表面上の第1の複数の地点との間の深度情報を示すことができる。さらに、1又は2以上の第2の深度値の各々は、深度センサ106と、生成された1又は2以上の第2の画像内の1又は2以上の第2の視点から取り込まれた1又は2以上の第1の物体112の表面上の第2の複数の地点との間の深度情報を示すことができる。
【0085】
ある実施形態によれば、深度センサ106は、飛行時間(ToF)センサ、光検出及び測距(LiDAR)センサ、立体画像センサ、又は構造化光センサのうちの1つとすることができる。
【0086】
ある実施形態によれば、プロセッサ202は、第1の時間インスタンスにおいて、ハンドヘルド装置108からの追跡情報において深度センサ106の第1の位置情報又は第1の配向情報のうちの少なくとも一方を受け取るようにさらに構成することができる。プロセッサ202は、第2の時間インスタンスにおいて、ハンドヘルド装置108からの追跡情報において深度センサ106の第2の位置情報又は第2の配向情報の少なくとも一方をさらに受け取ることができる。プロセッサ202は、第1の時間インスタンスにおいて受け取られた追跡情報に含まれる第1の位置情報又は第1の配向情報の少なくとも一方と、第2の時間インスタンスにおいて受け取られた追跡情報に含まれる第2の位置情報又は第2の配向情報の少なくとも一方とに基づいて、1又は2以上の第1の物体112に関連する1又は2以上の第2の深度値をさらに計算することができる。
【0087】
ある実施形態によれば、プロセッサ202は、深度センサ106によって取り込まれた第1の画像312から背景情報を抽出するようにさらに構成することができる。プロセッサ202は、受け取られた追跡情報及び抽出された背景情報に基づいて、1又は2以上の第1の物体112に関連する1又は2以上の第2の深度値をさらに計算することができる。
【0088】
ある実施形態によれば、システム102は、3Dグラフィックスエンジン104をさらに含むことができる。3Dグラフィックスエンジン104は、受け取った追跡情報に基づいて、1又は2以上の第2の視点からの1又は2以上の第1の物体112に対応するグラフィック情報を生成するように構成することができる。
【0089】
ある実施形態によれば、プロセッサ202は、第1の視点から取り込まれた第1の画像312を修正するための1又は2以上のユーザ入力を受け取るように構成することができる。プロセッサ202は、受け取った1又は2以上のユーザ入力に基づいて、1又は2以上の第2の視点からの1又は2以上の第1の物体112に対応するグラフィック情報をさらに生成することができる。
【0090】
ある実施形態によれば、プロセッサ202は、深度センサ106によって取り込まれた1又は2以上の第1の物体112の第1の画像312をフィルタ処理するようにさらに構成することができる。プロセッサ202は、1又は2以上の第1の物体112のフィルタ処理された第1の画像312及び受け取った追跡情報に基づいて、1又は2以上の第1の物体112に対応するグラフィック情報をさらに生成することができる。
【0091】
本開示は、ハードウェアで実現することも、又はハードウェアとソフトウェアとの組み合わせで実現することもできる。本開示は、少なくとも1つのコンピュータシステム内で集中方式で実現することも、又は異なる要素を複数の相互接続されたコンピュータシステムにわたって分散できる分散方式で実現することもできる。本明細書で説明した方法を実行するように適合されたコンピュータシステム又はその他の装置が適することができる。ハードウェアとソフトウェアとの組み合わせは、ロードされて実行された時に本明細書で説明した方法を実行するようにコンピュータシステムを制御することができるコンピュータプログラムを含む汎用コンピュータシステムとすることができる。本開示は、他の機能も実行する集積回路の一部を含むハードウェアで実現することができる。
【0092】
本開示は、本明細書で説明した方法の実装を可能にする全ての特徴を含み、コンピュータシステムにロードされた時にこれらの方法を実行できるコンピュータプログラム製品に組み込むこともできる。本文脈におけるコンピュータプログラムとは、情報処理能力を有するシステムに特定の機能を直接的に、或いはa)別の言語、コード又は表記法への変換、b)異なる内容形態での複製、のいずれか又は両方を行った後に実行させるように意図された命令セットの、あらゆる言語、コード又は表記法におけるあらゆる表現を意味する。
【0093】
いくつかの実施形態を参照しながら本開示を説明したが、当業者であれば、本開示の範囲から逸脱することなく様々な変更を行うことができ、同等物を代用することもできると理解するであろう。また、本開示の範囲から逸脱することなく、特定の状況又は内容を本開示の教示に適合させるように多くの修正を行うこともできる。従って、本開示は、開示した特定の実施形態に限定されるものではなく、添付の特許請求の範囲内に収まる全ての実施形態を含むように意図される。
【国際調査報告】