(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-08-30
(54)【発明の名称】クロスリアリティシステムにおけるスケーラブル3次元オブジェクト認識
(51)【国際特許分類】
G06T 7/60 20170101AFI20220823BHJP
G06T 7/00 20170101ALI20220823BHJP
【FI】
G06T7/60 200D
G06T7/00 350C
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021574263
(86)(22)【出願日】2020-06-12
(85)【翻訳文提出日】2022-02-09
(86)【国際出願番号】 US2020037573
(87)【国際公開番号】W WO2020252371
(87)【国際公開日】2020-12-17
(32)【優先日】2019-06-14
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-01-30
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-04-07
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-05-13
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】514108838
【氏名又は名称】マジック リープ, インコーポレイテッド
【氏名又は名称原語表記】Magic Leap,Inc.
【住所又は居所原語表記】7500 W SUNRISE BLVD,PLANTATION,FL 33322 USA
(71)【出願人】
【識別番号】322009343
【氏名又は名称】チョーダリー, シッダルタ
(71)【出願人】
【識別番号】322009354
【氏名又は名称】ラムナート, ディヴィヤ
(71)【出願人】
【識別番号】322009365
【氏名又は名称】ドン, シユ
(71)【出願人】
【識別番号】322009376
【氏名又は名称】マヘンドラン, シッダルタ
(71)【出願人】
【識別番号】322009387
【氏名又は名称】カナン, アルムガム カライ
(71)【出願人】
【識別番号】322009398
【氏名又は名称】シンガル, プラティーク
(71)【出願人】
【識別番号】322009402
【氏名又は名称】グプタ, クシ
(71)【出願人】
【識別番号】322009413
【氏名又は名称】セカール, ニテシュ
(71)【出願人】
【識別番号】322009424
【氏名又は名称】ガングワル, マヌシュリ
(74)【代理人】
【識別番号】100078282
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】チョーダリー, シッダルタ
(72)【発明者】
【氏名】ラムナート, ディヴィヤ
(72)【発明者】
【氏名】ドン, シユ
(72)【発明者】
【氏名】マヘンドラン, シッダルタ
(72)【発明者】
【氏名】カナン, アルムガム カライ
(72)【発明者】
【氏名】シンガル, プラティーク
(72)【発明者】
【氏名】グプタ, クシ
(72)【発明者】
【氏名】セカール, ニテシュ
(72)【発明者】
【氏名】ガングワル, マヌシュリ
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA02
5L096AA09
5L096CA04
5L096FA18
5L096FA66
5L096GA10
5L096GA51
5L096HA11
(57)【要約】
クロスリアリティシステムにおけるスケーラブル3次元(3-D)オブジェクト認識のためのコンピュータ記憶媒体上にエンコーディングされたコンピュータプログラムを含む、方法、システム、および装置。本方法のうちの1つは、場面内で認識されているオブジェクトを規定する、オブジェクトデータを維持するステップを含む。カラー画像のストリームと、深度画像のストリームとを含む、場面の入力画像のストリームが、受信される。カラー画像は、入力としてオブジェクト認識システムに提供される。カラー画像内の各オブジェクトに対して個別のオブジェクトマスクを識別する、認識出力が、受信される。同期システムが、カラー画像のための対応する深度画像を判定する。
【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、前記方法は、
環境内の場面内で認識されているオブジェクトを規定するオブジェクトデータを維持することと、
前記場面の入力画像のストリームを受信することであって、前記入力画像のストリームは、カラー画像のストリームと、深度画像のストリームとを備える、ことと、
前記カラー画像のストリーム内の複数のカラー画像の各々に対し、
前記カラー画像を入力としてオブジェクト認識システムに提供することと、
前記オブジェクト認識システムからの出力として、前記カラー画像内で認識されている1つ以上のオブジェクトの各々に対し、前記カラー画像内の個別のオブジェクトマスクを識別する認識出力を受信することと、
対応する深度画像のタイムスタンプおよび前記カラー画像のタイムスタンプに基づいて、前記カラー画像のための対応する深度画像を決定する同期システムに、前記カラー画像および前記深度画像のストリーム内の複数の深度画像を入力として提供することと、
前記オブジェクトデータ、前記オブジェクトマスク、および前記対応する深度画像から、前記カラー画像内で認識されているオブジェクトのうちの1つ以上のものの各々に対し、個別の3-D境界ボックスを決定する3次元(3-D)境界ボックス生成システムに、前記オブジェクトデータ、前記オブジェクトマスクを識別する認識出力、および前記対応する深度画像を入力として提供することと、
前記3-D境界ボックス生成システムからの出力として、前記カラー画像内で認識されたオブジェクトのうちの1つ以上のもののための1つ以上の3-D境界ボックスを規定するデータを受信することと、
出力として、前記1つ以上の3-D境界ボックスを規定するデータを提供することと
を含む、方法。
【請求項2】
前記3-D境界ボックス生成システムは、
3-Dオブジェクトマスクの初期セットを生成するマルチビュー融合システムを備える、請求項1に記載の方法。
【請求項3】
前記オブジェクト認識システム、前記同期システム、前記マルチビュー融合システムは、ステートレス様式で、相互から独立して動作する、請求項2に記載の方法。
【請求項4】
前記マルチビュー融合システムは、
関連付けシステムであって、前記関連付けシステムは、前記維持されるオブジェクトデータから、対応するオブジェクトを規定する、前記カラー画像内の各認識されたオブジェクトの個別のオブジェクトマスクと合致されたオブジェクトデータを識別する、関連付けシステムと、
融合システムであって、前記融合システムは、前記カラー画像内のオブジェクトマスクと前記合致されたオブジェクトデータを組み合わせることによって、前記カラー画像内の各認識されたオブジェクトに対し、初期3-Dオブジェクトマスクを生成する、融合システムと
を備える、請求項2-3のいずれか1項に記載の方法。
【請求項5】
前記3-D境界ボックス生成システムはさらに、前記3-Dオブジェクトマスクの初期セットを精緻化し、3-D境界ボックスの初期セットを生成するオブジェクト精緻化システムを備える、前記請求項のいずれかに記載の方法。
【請求項6】
前記3-D境界ボックス生成システムはさらに、前記3-D境界ボックスの初期セットを精緻化し、前記1つ以上の3-D境界ボックスを生成する境界ボックス精緻化システムを備える、前記請求項のいずれかに記載の方法。
【請求項7】
前記オブジェクト認識システムは、前記カラー画像を入力としてとり、前記カラー画像内で認識されている1つ以上のオブジェクトの各々に対し、個別の2次元(2-D)オブジェクトマスクを生成する訓練された深層ニューラルネットワーク(DNN)モデルを備える、前記請求項のいずれかに記載の方法。
【請求項8】
前記同期システムによって、前記対応する深度画像のタイムスタンプおよび前記カラー画像のタイムスタンプに基づいて、前記カラー画像のための対応する深度を決定することは、
前記カラー画像のタイムスタンプに最も近いタイムスタンプを有する候補深度画像を識別することと、
前記候補深度画像と前記カラー画像との間の時間差が閾値未満であることを決定することと、
それに応答して、前記候補深度画像を前記カラー画像のための対応する深度画像として決定することと
を含む、前記請求項のいずれかに記載の方法。
【請求項9】
前記3-D境界ボックス生成システムは、前記オブジェクトマスクおよび前記対応する深度画像から、前記カラー画像内で認識されているオブジェクトのうちの1つ以上のものの各々に対し、個別の3-Dオブジェクトマスクを決定し、前記方法はさらに、
前記3-D境界ボックス生成システムからの出力として、前記カラー画像内で認識されたオブジェクトのうちの1つ以上のもののための1つ以上の3-Dオブジェクトマスクを規定するデータを受信することと、
出力として、前記1つ以上の3-Dオブジェクトマスクを規定するデータを提供することと
を含む、前記請求項のいずれかに記載の方法。
【請求項10】
システムであって、前記システムは、1つ以上のコンピュータと、1つ以上の記憶デバイスとを備え、前記1つ以上の記憶デバイスは、命令を記憶しており、前記命令は、前記1つ以上のコンピュータによって実行されると、前記1つ以上のコンピュータに、前記請求項のいずれかに記載の方法の個別の動作を実施させる、システム。
【請求項11】
1つ以上の非一過性コンピュータ可読記憶媒体であって、前記1つ以上の非一過性コンピュータ可読記憶媒体は、命令を記憶しており、前記命令は、1つ以上のコンピュータによって実行されると、前記1つ以上のコンピュータに、前記請求項のいずれかに記載の方法の個別の動作を実施させる、1つ以上の非一過性コンピュータ可読記憶媒体。
【請求項12】
コンピュータ実装方法であって、前記方法は、
環境内の場面内で認識されているオブジェクトを規定するオブジェクトデータを維持することと、
前記場面の入力画像のストリームを受信することと、
前記入力画像のストリーム内の複数の入力画像の各々に対し、
前記入力画像を入力としてオブジェクト認識システムに提供することと、
前記オブジェクト認識システムからの出力として、前記入力画像内で認識されている1つ以上のオブジェクトの各々に対し、前記入力画像内の個別の境界ボックスを識別する認識出力を受信することと、
前記オブジェクトデータおよび前記境界ボックスから、前記入力画像内で認識されているオブジェクトのうちの1つ以上のものの各々に対し、個別の3-D境界ボックスを決定する3次元(3-D)境界ボックス生成システムに、前記境界ボックスを識別するデータを入力として提供することと、
前記3-D境界ボックス生成システムからの出力として、前記入力画像内で認識されたオブジェクトのうちの1つ以上のもののための1つ以上の3-D境界ボックスを規定するデータを受信することと、
出力として、前記1つ以上の3-D境界ボックスを規定するデータを提供することと
を含む、方法。
【請求項13】
前記3-D境界ボックス生成システムは、
3-D境界ボックスの初期セットを生成するマルチビュー融合システムと、
前記3-D境界ボックスの初期セットを精緻化し、前記1つ以上の3-D境界ボックスを生成する境界ボックス精緻化システムと
を備える、請求項12に記載の方法。
【請求項14】
前記オブジェクト認識システム、前記マルチビュー融合システム、および前記境界ボックス精緻化システムは、ステートレス様式で、相互から独立して動作する、請求項13に記載の方法。
【請求項15】
前記維持されるオブジェクトデータは、前記場面内で認識されている各オブジェクトの複数の2次元(2-D)境界ボックスから生成される楕円体を備え、前記マルチビュー融合システムは、少なくとも、
前記入力画像内で識別された各2-D境界ボックスに対し、
前記入力画像内で識別された2-D境界ボックスが、前記維持されるオブジェクトデータ内で認識されているオブジェクトの1つ以上の2-D境界ボックスと関連付けられるかどうかを決定するステップと、
前記入力画像内で識別された2-D境界ボックスが、認識されているオブジェクトの1つ以上の2-D境界ボックスと関連付けられることの決定に応答して、前記入力画像内で識別された2-D境界ボックスを使用して、前記オブジェクトの更新された楕円体を計算することによって、前記維持されるオブジェクトデータを更新するステップと、
前記入力画像内で識別された2-D境界ボックスが、認識されている任意のオブジェクトと関連付けられないことの決定に応答して、前記入力画像内で識別された少なくとも2-D境界ボックスから楕円体を生成することによって、新しいオブジェクトを作成するステップと、
前記入力画像内で認識されているオブジェクトの楕円体を使用して、前記3-D境界ボックスの初期セットを生成するステップと
を実施することによって、前記3-D境界ボックスの初期セットを生成する、請求項13-14のいずれか1項に記載の方法。
【請求項16】
前記オブジェクト認識システムは、前記入力画像をとり、前記入力画像内で認識されている1つ以上のオブジェクトの各々に対し、個別の2次元(2-D)オブジェクト境界ボックスを生成する訓練された深層ニューラルネットワーク(DNN)モデルを備える、請求項12-15のいずれか1項に記載の方法。
【請求項17】
前記場面の入力画像のストリームは、2つ以上のユーザデバイスから捕捉される、請求項12-16のいずれか1項に記載の方法。
【請求項18】
システムであって、前記システムは、1つ以上のコンピュータと、1つ以上の記憶デバイスとを備え、前記1つ以上の記憶デバイスは、命令を記憶しており、前記命令は、前記1つ以上のコンピュータによって実行されると、前記1つ以上のコンピュータに、請求項12-17のいずれか1項に記載の方法の個別の動作を実施させる、システム。
【請求項19】
1つ以上の非一過性コンピュータ可読記憶媒体であって、前記1つ以上の非一過性コンピュータ可読記憶媒体は、命令を記憶しており、前記命令は、1つ以上のコンピュータによって実行されると、前記1つ以上のコンピュータに、請求項12-17のいずれか1項に記載の方法の個別の動作を実施させる、1つ以上の非一過性コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本特許出願は、参照することによってその全体として本明細書に組み込まれる、2019年6月14日に出願され、「OBJECT RECOGNITION AND SCENE UNDERSTANDING」と題された、米国仮特許出願第62/861,784号の優先権および利点を主張する。本特許出願はまた、参照することによってその全体として本明細書に組み込まれる、2020年1月30日に出願され、「A CROSS REALITY SYSTEM」と題された、米国仮特許出願第62/968,023号の優先権および利点を主張する。本特許出願はまた、参照することによってその全体として本明細書に組み込まれる、2020年4月7日に出願され、「SCALABLE THREE-DIMENSIONAL OBJECT RECOGNITION IN A CROSS REALITY SYSTEM」と題された、米国仮特許出願第63/006,408号の優先権および利点を主張する。本特許出願はまた、参照することによってその全体として本明細書に組み込まれる、2020年5月13日に出願され、「SCALABLE THREE-DIMENSIONAL OBJECT RECOGNITION IN A CROSS REALITY SYSTEM」と題された、米国仮特許出願第63/024,291号の優先権および利点を主張する。
【0002】
本願は、概して、クロスリアリティシステムに関する。
【背景技術】
【0003】
コンピュータは、ヒューマンユーザインターフェースを制御し、ユーザによって知覚されるにつれて、XR環境の一部または全部がコンピュータによって生成される、Xリアリティ(XRまたはクロスリアリティ)環境を作成し得る。これらのXR環境は、XR環境の一部または全部が、部分的に、環境を説明するデータを使用して、コンピュータによって生成され得る、仮想現実(VR)、拡張現実(AR)、および複合現実(MR)環境であり得る。本データは、例えば、ユーザが、物理的世界の一部として、感知または知覚し、仮想オブジェクトと相互作用し得るようにレンダリングされ得る、仮想オブジェクトを説明し得る。ユーザは、例えば、頭部搭載型ディスプレイデバイス等のユーザインターフェースデバイスを通してレンダリングおよび提示されているデータの結果として、これらの仮想オブジェクトを体験し得る。データは、ユーザに見えるように表示され得る、またはユーザに聞こえるように再生される、オーディオを制御し得る、または触知的(または触覚的)インターフェースを制御し、ユーザが、仮想オブジェクトを感じるにつれて、ユーザが感知または知覚する、タッチ感覚を体験することを可能にし得る。
【0004】
XRシステムは、科学的可視化、医療訓練、工学設計、およびプロトタイプ化、遠隔操作およびテレプレゼンス、および個人的娯楽の分野に及ぶ、多くの用途のために有用であり得る。ARおよびMRは、VRと対照的に、物理的世界の実オブジェクトと関連して、1つ以上のオブジェクトを含む。実オブジェクトと相互作用する、仮想オブジェクトの体験は、XRシステムを使用する際、ユーザの享受を大幅に向上させ、また、物理的世界が改変され得る様子についての現実的かつ容易に理解可能な情報を提示する、種々の用途のための可能性を広げる。
【0005】
仮想コンテンツを現実的にレンダリングするために、XRシステムは、システムのユーザの周囲の物理的世界の表現を構築し得る。本表現は、例えば、XRシステムの一部を形成する、ウェアラブルデバイス上のセンサを用いて入手された処理画像によって構築されてもよい。そのようなシステムでは、ユーザは、システムがその環境の表現を構築するために十分な情報を入手するまで、ユーザがXRシステムを使用することを意図する部屋または他の物理的環境を見て回ることによって、初期化ルーチンを実施し得る。システムが動作し、ユーザが環境の周囲を、または他の環境へと動き回るにつれて、ウェアラブルデバイス上のセンサは、付加的情報を入手し、物理的世界の表現を拡張または更新し得る。
【0006】
本システムは、2次元(2-D)オブジェクト認識システムを使用して、物理的世界内のオブジェクトを認識してもよい。例えば、本システムは、ウェアラブルデバイス上のセンサを用いて入手された画像を入力として2-D境界ボックス生成システムに提供してもよい。本システムは、画像内で認識されているオブジェクトの各々に対し、個別の2-D境界ボックスを受信してもよい。XRシステムは、認識されているオブジェクトのための2-D境界ボックスを使用して物理的世界の表現を構築することができる。ユーザがその環境または他の環境に動き回るにつれて、XRシステムは、センサによって入手された付加的画像内で認識されているオブジェクトのための2-D境界ボックスを使用して、物理的世界の表現を拡張または更新することができる。
【発明の概要】
【課題を解決するための手段】
【0007】
本願の側面は、Xリアリティ(クロスリアリティまたはXR)システムにおけるスケーラブル3次元(3-D)オブジェクト認識のための方法および装置に関する。本明細書に説明される技法は、ともに、別個に、または任意の好適な組み合わせにおいて使用されてもよい。
【0008】
一般に、本明細書に説明される主題の1つの革新的側面は、環境内の場面内で認識されているオブジェクトを規定する、オブジェクトデータを維持するステップと、場面の入力画像のストリームを受信するステップであって、入力画像のストリームは、カラー画像のストリームと、深度画像のストリームとを備える、ステップと、カラー画像のストリーム内の複数のカラー画像の各々に対し、カラー画像を入力としてオブジェクト認識システムに提供するステップと、オブジェクト認識システムからの出力として、カラー画像内で認識されている1つ以上のオブジェクトの各々に対し、カラー画像内の個別のオブジェクトマスクを識別する、認識出力を受信するステップと、対応する深度画像のタイムスタンプおよびカラー画像のタイムスタンプに基づいて、カラー画像のための対応する深度画像を決定する、同期システムに、カラー画像および深度画像のストリーム内の複数の深度画像を入力として提供するステップと、オブジェクトデータ、オブジェクトマスク、および対応する深度画像から、カラー画像内で認識されているオブジェクトのうちの1つ以上のものの各々に対し、個別の3-D境界ボックスを決定する、3次元(3-D)境界ボックス生成システムに、オブジェクトデータ、オブジェクトマスクを識別する認識出力、および対応する深度画像を入力として提供するステップと、3-D境界ボックス生成システムからの出力として、カラー画像内で認識されたオブジェクトのうちの1つ以上のもののための1つ以上の3-D境界ボックスを規定するデータを受信するステップと、出力として、1つ以上の3-D境界ボックスを規定する、データを提供するステップとのアクションを含む、方法内に具現化されることができる。本側面の他の実施形態は、対応するコンピュータシステムと、装置と、それぞれ、本方法のアクションを実施するように構成される、1つ以上のコンピュータ記憶デバイス上に記録されるコンピュータプログラムとを含む。1つ以上のコンピュータのシステムに関して、特定の動作またはアクションを実施するように構成されるとは、システムが、動作時、システムに動作またはアクションを実施させるように、そのソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせ上にインストールしていることを意味する。1つ以上のコンピュータプログラムに関して、特定の動作またはアクションを実施するように構成されるとは、1つ以上のプログラムが、データ処理装置によって実行されると、装置に、動作またはアクションを実施させる、命令を含むことを意味する。
【0009】
前述および他の実施形態はそれぞれ、随意に、単独で、または組み合わせて、以下の特徴のうちの1つ以上のものを含むことができる。特に、一実施形態は、組み合わせて、全ての以下の特徴を含む。3-D境界ボックス生成システムは、3-Dオブジェクトマスクの初期セットを生成する、マルチビュー融合システムを備える。オブジェクト認識システム、同期システム、マルチビュー融合システムは、ステートレス様式で、相互から独立して動作する。マルチビュー融合システムは、維持されるオブジェクトデータから、対応するオブジェクトを規定する、カラー画像内の各認識されたオブジェクトの個別のオブジェクトマスクと合致されたオブジェクトデータを識別する、関連付けシステムと、カラー画像内のオブジェクトマスクと合致されたオブジェクトデータを組み合わせることによって、カラー画像内の各認識されたオブジェクトに対し、初期3-Dオブジェクトマスクを生成する、融合システムとを備える。3-D境界ボックス生成システムはさらに、3-Dオブジェクトマスクの初期セットを精緻化し、3-D境界ボックスの初期セットを生成する、オブジェクト精緻化システムを備える。3-D境界ボックス生成システムはさらに、3-D境界ボックスの初期セットを精緻化し、1つ以上の3-D境界ボックスを生成する、境界ボックス精緻化システムを備える。オブジェクト認識システムは、カラー画像を入力としてとり、カラー画像内で認識されている1つ以上のオブジェクトの各々に対し、個別の2次元(2-D)オブジェクトマスクを生成する、訓練された深層ニューラルネットワーク(DNN)モデルを備える。同期システムによって、対応する深度画像のタイムスタンプおよびカラー画像のタイムスタンプに基づいて、カラー画像のための対応する深度を決定するステップは、カラー画像のタイムスタンプに最も近いタイムスタンプを有する、候補深度画像を識別するステップと、候補深度画像とカラー画像との間の時間差が閾値未満であることを決定するステップと、それに応答して、候補深度画像をカラー画像のための対応する深度画像として決定するステップとを含む。3-D境界ボックス生成システムは、オブジェクトマスクおよび対応する深度画像から、カラー画像内で認識されているオブジェクトのうちの1つ以上のものの各々に対し、個別の3-Dオブジェクトマスクを決定し、本方法はさらに、3-D境界ボックス生成システムからの出力として、カラー画像内で認識されたオブジェクトのうちの1つ以上のもののための1つ以上の3-Dオブジェクトマスクを規定する、データを受信するステップと、出力として、1つ以上の3-Dオブジェクトマスクを規定する、データを提供するステップとを含む。
【0010】
一般に、本明細書に説明される主題の別の革新的側面は、環境内の場面内で認識されているオブジェクトを規定する、オブジェクトデータを維持するステップと、場面の入力画像のストリームを受信するステップと、入力画像のストリーム内の複数の入力画像の各々に対し、入力画像を入力としてオブジェクト認識システムに提供するステップと、オブジェクト認識システムからの出力として、入力画像内で認識されている1つ以上のオブジェクトの各々に対し、入力画像内の個別の境界ボックスを識別する、認識出力を受信するステップと、オブジェクトデータおよび境界ボックスから、入力画像内で認識されているオブジェクトのうちの1つ以上のものの各々に対し、個別の3-D境界ボックスを決定する、3次元(3-D)境界ボックス生成システムに、境界ボックスを識別するデータを入力として提供するステップと、3-D境界ボックス生成システムからの出力として、入力画像内で認識されたオブジェクトのうちの1つ以上のもののための1つ以上の3-D境界ボックスを規定する、データを受信するステップと、出力として、1つ以上の3-D境界ボックスを規定する、データを提供するステップとのアクションを含む、方法内に具現化されることができる。本側面の他の実施形態は、対応するコンピュータシステムと、装置と、それぞれ、本方法のアクションを実施するように構成される、1つ以上のコンピュータ記憶デバイス上に記録されるコンピュータプログラムとを含む。1つ以上のコンピュータのシステムに関して、特定の動作またはアクションを実施するように構成されるとは、システムが、動作時、システムに動作またはアクションを実施させるように、そのソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせ上にインストールしていることを意味する。1つ以上のコンピュータプログラムに関して、特定の動作またはアクションを実施するように構成されるとは、1つ以上のプログラムが、データ処理装置によって実行されると、装置に、動作またはアクションを実施させる、命令を含むことを意味する。
【0011】
前述および他の実施形態はそれぞれ、随意に、単独で、または組み合わせて、以下の特徴のうちの1つ以上のものを含むことができる。特に、一実施形態は、組み合わせて、全ての以下の特徴を含む。3-D境界ボックス生成システムは、3-D境界ボックスの初期セットを生成する、マルチビュー融合システムと、3-D境界ボックスの初期セットを精緻化し、1つ以上の3-D境界ボックスを生成する、境界ボックス精緻化システムを備える。オブジェクト認識システム、マルチビュー融合システム、および境界ボックス精緻化システムは、ステートレス様式で、相互から独立して動作する。維持されるオブジェクトデータは、場面内で認識されている各オブジェクトの複数の2次元(2-D)境界ボックスから生成される、楕円体を備え、マルチビュー融合システムは、少なくとも以下のステップ、すなわち、入力画像内で識別された2-D境界ボックスの各々に対し、入力画像内で識別された2-D境界ボックスが、維持されるオブジェクトデータ内で認識されているオブジェクトの1つ以上の2-D境界ボックスと関連付けられるかどうかを決定するステップと、入力画像内で識別された2-D境界ボックスが、認識されているオブジェクトの1つ以上の2-D境界ボックスと関連付けられることの決定に応答して、入力画像内で識別された2-D境界ボックスを使用して、オブジェクトの更新された楕円体を計算することによって、維持されるオブジェクトデータを更新するステップと、入力画像内で識別された2-D境界ボックスが、認識されている任意のオブジェクトと関連付けられないことの決定に応答して、入力画像内で識別された少なくとも2-D境界ボックスから楕円体を生成することによって、新しいオブジェクトを作成するステップと、入力画像内で認識されているオブジェクトの楕円体を使用して、3-D境界ボックスの初期セットを生成するステップとを実施することによって、3-D境界ボックスの初期セットを生成する。オブジェクト認識システムは、入力画像をとり、入力画像内で認識されている1つ以上のオブジェクトの各々に対し、個別の2次元(2-D)オブジェクト境界ボックスを生成する、訓練された深層ニューラルネットワーク(DNN)モデルを備える。場面の入力画像のストリームは、2つ以上のユーザデバイスから捕捉される。
【0012】
本明細書は、オブジェクトの3-D境界ボックスをユーザデバイスによって捕捉されたカラー画像および深度画像から生成するための技法を説明する。これらの技法を使用することによって、3-Dオブジェクト認識システムは、クラウドに接続される、複数のユーザデバイスによって捕捉された画像のストリームを使用して、3-Dオブジェクト認識を実施することができる。本システムは、複数のユーザデバイス間で共有される場面内の複数のオブジェクトをともに認識することができ、オブジェクトの3-D境界ボックスをユーザデバイスによって捕捉されたカラー画像および深度画像から生成することができる。3-Dオブジェクト認識は、ユーザデバイスの数および場面内のオブジェクトの数においてスケーラブルである。3-Dオブジェクト認識システムは、複数のステートレスモジュール内に実装され得る、複数の独立サブシステムを含む。これらのステートレスモジュールは、必要に応じて、スケーリングアップまたはスケーリングダウンされることができる。これは、3-Dオブジェクト認識システムが、大環境内で、例えば、建物または都市スケールにおいて、数百または数千のXRデバイスを用いて、かつ数百または数千の3-Dオブジェクトを伴って、オブジェクトを認識することを有効にする。
【0013】
3-D境界ボックスから生成または更新されたパス可能世界モデルに基づいて、XRシステムは、複数のアプリケーションを有効にすることができ、アプリケーションにおける没入型の体験を改良することができる。XRシステムのユーザまたはアプリケーション開発者は、環境の場面内で認識されている1つ以上のオブジェクトとともに、XRコンテンツまたはアプリケーションを物理的世界内に設置することができる。例えば、ゲームアプリケーションは、仮想オブジェクト(例えば、コーヒーのカップ)をパス可能世界モデル内で認識されている実世界コーヒーテーブルの上部に設定することができる。
【0014】
説明される技法を利用することによって、XRアプリケーションは、より没入型の体験を有することができる。例えば、双方向ゲームアプリケーションの仮想アシスタントは、より没入型の体験を提供するために、パス可能世界モデル内で認識されている椅子のうちの1つ上に着座することができる。ARアプリケーション内の空間オーディオは、検出された3-Dオブジェクトの場所を使用して、各オブジェクトのカテゴリに応じて、音を適切に反射させることができる。
【0015】
いくつかの実装では、XRシステムは、検出された3-Dオブジェクトの場所を含む、パス可能世界モデルに基づいて、オブジェクトの空間知識グラフを構築することができる。いくつかの実装では、XRシステムは、検出された3-Dオブジェクトの場所情報を利用することによって、よりロバストに実施することができる。例えば、追跡、位置特定、またはメッシュ化算出は、3-Dオブジェクト検出を利用することによって、オブジェクトを移動させる等の長期の動的変化に対してよりロバストになり得る。
【0016】
本明細書は、深度画像を使用せずに、オブジェクトの3-D境界ボックスをカラー画像から生成するための技法も説明する。これらの技法を使用することによって、3-Dオブジェクト認識システムは、クラウドに接続される、複数のユーザデバイスによって捕捉された画像のストリームを使用して、3-Dオブジェクト認識を実施することができる。本システムは、複数のユーザデバイス間で共有される場面内の複数のオブジェクトをともに認識することができ、オブジェクトの3-D境界ボックスをユーザデバイスによって捕捉されたカラー画像から生成することができる。深度画像を使用せずに、カラー画像のみを使用することによって、本システムは、例えば、それに関して深度情報が、欠測、不良、または信頼性がない傾向にある、黒色オブジェクトまたは反射性オブジェクト等、不良深度情報を伴っても、オブジェクトの正確な3-D境界ボックスを生成することができる。3-Dオブジェクト認識は、ユーザデバイスの数および場面内のオブジェクトの数においてスケーラブルである。3-Dオブジェクト認識システムは、複数のステートレスモジュール内に実装され得る、複数の独立サブシステムを含む。これらのステートレスモジュールは、必要に応じて、スケーリングアップまたはスケーリングダウンされることができる。これは、3-Dオブジェクト認識システムが、大環境内で、例えば、建物または都市スケールにおいて、数百または数千のXRデバイスを用いて、かつ数百または数千の3-Dオブジェクトを伴って、オブジェクトを認識することを有効にする。
【0017】
3-D境界ボックスから生成または更新されたパス可能世界モデルに基づいて、XRシステムは、複数のアプリケーションを有効にすることができ、アプリケーションにおける没入型の体験を改良することができる。XRシステムのユーザまたはアプリケーション開発者は、環境の場面内で認識されている1つ以上のオブジェクトとともに、XRコンテンツまたはアプリケーションを物理的世界内に設置することができる。例えば、ゲームアプリケーションは、仮想オブジェクト(例えば、コーヒーのカップ)をパス可能世界モデル内で認識されている実世界コーヒーテーブルの上部に設定することができる。
【0018】
説明される技法を利用することによって、XRアプリケーションは、より没入型の体験を有することができる。例えば、双方向ゲームアプリケーションの仮想アシスタントは、より没入型の体験を提供するために、パス可能世界モデル内で認識されている椅子のうちの1つ上に着座することができる。ARアプリケーション内の空間オーディオは、検出された3-Dオブジェクトの場所を使用して、各オブジェクトのカテゴリに応じて、音を適切に反射させることができる。
【0019】
いくつかの実装では、XRシステムは、検出された3-Dオブジェクトの場所を含む、パス可能世界モデルに基づいて、オブジェクトの空間知識グラフを構築することができる。いくつかの実装では、XRシステムは、検出された3-Dオブジェクトの場所情報を利用することによって、よりロバストに実施することができる。例えば、追跡、位置特定、またはメッシュ化算出は、3-Dオブジェクト検出を利用することによって、オブジェクトを移動させる等の長期の動的変化に対してよりロバストになり得る。
【0020】
前述の説明は、例証として提供され、限定することを意図するものではない。
【図面の簡単な説明】
【0021】
添付の図面は、縮尺通りに描かれることを意図していない。図面では、種々の図に図示される、各同じまたはほぼ同じコンポーネントは、同様の数字で表される。明確性の目的のために、全てのコンポーネントが、全ての図面において標識されているわけではない。
【0022】
【
図1】
図1は、ユーザに、ARコンテンツが物理的世界と相互作用する体験を提供するように構成される、ARシステム内のデータフローを図示する、概略図である。
【0023】
【
図2】
図2は、パス可能世界のモデルを維持する、ARシステムのコンポーネントを図示する、概略図である。
【0024】
【
図3】
図3は、場面内のオブジェクトのための3-D境界ボックスを生成する、例示的3-Dオブジェクト認識システムを示す。
【0025】
【
図4】
図4は、場面内のオブジェクトのための3-D境界ボックスをカラー画像のストリームおよび深度画像のストリームから生成する、例示的3-Dオブジェクト認識システムを図示する。
【0026】
【
図5】
図5は、場面の入力画像のストリームからの3-Dオブジェクト認識結果を算出するための例示的プロセスのフローチャートである。
【0027】
【
図6】
図6は、例示的3-D境界ボックス生成システム内のいくつかのサブシステムを図示する、システム図である。
【0028】
【
図7】
図7は、場面内のオブジェクトのための3-D境界ボックスを入力画像のストリームから生成する、例示的3-Dオブジェクト認識システムを示す。
【0029】
【
図8】
図8は、場面の入力画像のストリームからの3-Dオブジェクト認識結果を算出するための例示的プロセスのフローチャートである。
【発明を実施するための形態】
【0030】
本明細書に説明されるものは、Xリアリティ(クロスリアリティまたはXR)システムにおけるスケーラブル3次元(3-D)オブジェクト認識のための方法および装置である。現実的XR体験を複数のユーザに提供するために、XRシステムは、実オブジェクトに関連して仮想オブジェクトの場所を正しく相関させるために、ユーザの物理的周囲を把握しなければならない。XRシステムは、場面の環境マップを構築し得、これは、XRシステムのユーザによって装着されるXRデバイスの一部であるセンサを用いて収集された、画像および/または深度情報から作成され得る。場面の環境マップは、スケーラブル3-Dオブジェクト認識を通して取得され得る、場面内の実オブジェクトを規定する、データを含むことができる。
【0031】
図1は、いくつかの実施形態による、物理的世界106と相互作用するARコンテンツの体験を提供するように構成される、ARシステム100を描写する。ARシステム100は、ディスプレイ108を含んでもよい。図示される実施形態では、ディスプレイ108は、ユーザが、一対のゴーグルまたは眼鏡のように、ディスプレイをその眼にわたって装着し得るように、ヘッドセットの一部としてユーザによって装着されてもよい。ディスプレイの少なくとも一部は、ユーザがシースルー現実110を観察し得るように、透明であってもよい。シースルー現実110は、ARシステム100の現在の視点(例えば、視野)内の物理的世界106の部分に対応し得、これは、ユーザが、ARシステムのディスプレイおよびセンサの両方を組み込む、ヘッドセットを装着し、物理的世界についての情報を入手している場合のユーザの視点に対応し得る。
【0032】
ARコンテンツはまた、シースルー現実110上にオーバーレイされる、ディスプレイ108上に提示されてもよい。ARコンテンツとシースルー現実110との間の正確な相互作用をディスプレイ108上で提供するために、ARシステム100は、物理的世界106についての情報を捕捉するように構成される、センサ122を含んでもよい。
【0033】
センサ122は、深度マップ112を出力する、1つ以上の深度センサを含んでもよい。いくつかの実施形態では、1つ以上の深度センサは、異なるシステムによって、またはXRシステムの1つ以上の異なるコンポーネントによって、深度マップに変換され得る、深度データを出力してもよい。各深度マップ112は、それぞれ、深度センサに対する特定の方向における物理的世界106内の表面までの距離を表し得る、複数のピクセルを有してもよい。未加工深度データが、深度センサから生じ、深度マップを作成し得る。そのような深度マップは、深度センサが新しい画像を形成し得るほど高速に更新され得、これは、数百または数千回/秒であり得る。しかしながら、そのデータは、雑音が多くかつ不完全であって、図示される深度マップ上に黒色ピクセルとして示される、穴を有し得る。
【0034】
システムは、画像センサ等の他のセンサを含んでもよい。画像センサは、他の方法において物理的世界を表すように処理され得る、単眼または立体視情報を入手してもよい。例えば、画像は、世界再構築コンポーネント116内で処理され、物理的世界内のオブジェクト全部または一部部分を表す、メッシュを作成してもよい。例えば、色および表面テクスチャを含む、そのようなオブジェクトについてのメタデータも同様に、センサを用いて入手され、世界再構築の一部として記憶されてもよい。
【0035】
システムはまた、物理的世界に対するユーザの頭部姿勢(または「姿勢」)についての情報を入手してもよい。いくつかの実施形態では、システムの頭部姿勢追跡コンポーネントは、頭部姿勢をリアルタイムで算出するために使用されてもよい。頭部姿勢追跡コンポーネントは、例えば、3つの垂直軸における平行移動(例えば、前/後、上/下、左/右)および3つの垂直軸を中心とした回転(例えば、ピッチ、ヨー、およびロール)を含む、6自由度を伴って、座標フレーム内のユーザの頭部姿勢を表し得る。いくつかの実施形態では、センサ122は、頭部姿勢114を算出および/または決定するために使用され得る、慣性測定ユニットを含んでもよい。カメラ画像のための頭部姿勢114は、例えば、6自由度を伴う、カメラ画像を捕捉するセンサの現在の視点を示し得るが、頭部姿勢114は、画像情報を物理的世界の特定の部分に関連させる、またはユーザの頭部上に装着されるディスプレイの位置を物理的世界に関連させる等の他の目的のために使用されてもよい。
【0036】
いくつかの実施形態では、ARデバイスは、ユーザがARデバイスとともに物理的世界全体を通して移動するにつれて捕捉された一連の画像フレーム内の連続画像内で認識される、特徴点から、マップを構築してもよい。各画像フレームは、ユーザが移動するにつれて、異なる姿勢から得られ得るが、システムは、連続画像フレームの特徴と以前に捕捉された画像フレームを合致させることによって、各連続画像フレームの特徴の配向を調節し、初期画像フレームの配向を合致させてもよい。同一特徴を表す点が、以前に収集された画像フレームからの対応する特徴点に合致するであろうように、連続画像フレームの平行移動は、各連続画像フレームを整合させ、以前に処理された画像フレームの配向を合致させるために使用されることができる。結果として生じるマップ内のフレームは、第1の画像フレームがマップに追加されたときに確立される共通配向を有し得る。本マップは、共通基準フレーム内の特徴点のセットとともに、現在の画像フレームからの特徴をマップに合致させることによって、物理的世界内のユーザの姿勢を決定するために使用されてもよい。いくつかの実施形態では、本マップは、追跡マップと呼ばれ得る。
【0037】
環境内のユーザの姿勢の追跡を有効にすることに加え、本マップは、世界再構築コンポーネント116等のシステムの他のコンポーネントがユーザに対する物理的オブジェクトの場所を決定することを可能にし得る。世界再構築コンポーネント116は、深度マップ112および頭部姿勢114およびセンサからの任意の他のデータを受信し、そのデータを再構築118の中に統合してもよい。再構築118は、センサデータより完全かつより雑音が少なくあり得る。世界再構築コンポーネント116は、経時的に複数の視点からのセンサデータの空間および時間的平均を使用して、再構築118を更新してもよい。
【0038】
再構築118は、例えば、ボクセル、メッシュ、平面等を含む、1つ以上のデータフォーマットにおいて、物理的世界の表現を含んでもよい。異なるフォーマットは、物理的世界の同一部分の代替表現を表し得る、または物理的世界の異なる部分を表し得る。図示される実施例では、再構築118の左側には、物理的世界の一部が、グローバル表面として提示され、再構築118の右側には、物理的世界の一部が、メッシュとして提示される。
【0039】
いくつかの実施形態では、頭部姿勢コンポーネント114によって維持されるマップは、物理的世界の維持され得る他のマップに対して疎隔されてもよい。場所および可能性として表面の他の特性についての情報を提供するのではなく、疎マップは、角または縁等の着目点および/または構造の場所を示してもよい。いくつかの実施形態では、マップは、センサ122によって捕捉されるような画像フレームを含んでもよい。これらのフレームは、着目点および/または構造を表し得る、特徴に低減され得る。各フレームと併せて、そこからフレームが入手されたユーザの姿勢についての情報もまた、マップの一部として記憶されてもよい。いくつかの実施形態では、センサによって入手された全ての画像が、記憶される場合とそうではない場合がある。いくつかの実施形態では、システムは、それらがセンサによって収集されるにつれて、画像を処理し、さらなる算出のために、画像フレームのサブセットを選択してもよい。選択は、情報の追加を限定するが、マップが有用な情報を含有することを確実にする、1つ以上の基準に基づいてもよい。本システムは、例えば、マップにすでに追加されている以前の画像フレームとの重複に基づいて、または定常オブジェクトを表す可能性が高いと決定された十分な数の特徴を含有する、画像フレームに基づいて、新しい画像フレームをマップに追加してもよい。いくつかの実施形態では、選択された画像フレームまたは選択された画像フレームからの特徴の群は、マップのためのキーフレームとしての役割を果たし得、これは、空間情報を提供するために使用される。
【0040】
ARシステム100は、物理的世界の複数の視点からのセンサデータを経時的に統合してもよい。センサの姿勢(例えば、位置および配向)が、センサを含むデバイスが移動されるにつれて追跡されてもよい。センサのフレーム姿勢およびそれが他の姿勢とどのように関連するかが、把握されるにつれて、物理的世界のこれらの複数の視点はそれぞれ、物理的世界の単一の組み合わせられた再構築の中にともに融合されてもよく、これは、マップのための抽象層としての役割を果たし、空間情報を提供し得る。再構築は、空間および時間的平均(すなわち、経時的に複数の視点からのデータの平均)または任意の他の好適な方法を使用することによって、オリジナルセンサデータより完全かつ雑音が少なくなり得る。
【0041】
図1に図示される実施形態では、マップ(例えば、追跡マップ)は、その中に単一ウェアラブルデバイスのユーザが存在する、物理的世界の一部を表す。そのシナリオでは、マップ内のフレームと関連付けられる頭部姿勢は、セッションの開始時における単一デバイスに関する初期配向に対する配向を示す、ローカル頭部姿勢として表されてもよい。例えば、頭部姿勢は、デバイスが、オンにされた、または別様に、環境を走査し、その環境の表現を構築するように動作されたときの、初期頭部姿勢に対して追跡されてもよい。
【0042】
物理的世界のその部分を特徴付けるコンテンツと組み合わせて、マップは、メタデータを含んでもよい。メタデータは、例えば、マップを形成するために使用されるセンサ情報の捕捉時間を示してもよい。メタデータは、代替として、または加えて、マップを形成するために使用される情報の捕捉時間におけるセンサの場所を示してもよい。場所は、直接、GPSチップからの情報等を用いて、または間接的に、センサデータが収集されていた間の1つ以上の無線アクセスポイントから受信された信号の強度を示す、Wi-Fiシグネチャ等を用いて、および/またはセンサデータが収集された間にそれに対してユーザデバイスが接続した無線アクセスポイントのBSSIDを用いて、表されてもよい。
【0043】
再構築118は、オクルージョン処理または物理学ベースの処理のための物理的世界の表面表現の生産等、AR機能のために使用されてもよい。本表面表現は、ユーザが移動する、または物理的世界内のオブジェクトが変化するにつれて、変化してもよい。再構築118の側面は、例えば、他のコンポーネントによって使用され得る、世界座標内の変化するグローバル表面表現を生産する、コンポーネント120によって使用されてもよい。
【0044】
ARコンテンツは、本情報に基づいて、ARアプリケーション104等によって生成されてもよい。ARアプリケーション104は、例えば、視覚的オクルージョン、物理学ベースの相互作用、および環境推測等の物理的世界についての情報に基づいて、1つ以上の機能を実施する、ゲームプログラムであってもよい。これは、世界再構築コンポーネント116によって生産された再構築118から異なるフォーマットにおけるデータにクエリすることによって、これらの機能を実施してもよい。いくつかの実施形態では、コンポーネント120は、物理的世界の着目領域内の表現が変化すると、更新を出力するように構成されてもよい。その着目領域は、例えば、ユーザの視野内の一部等、システムのユーザの近傍内の物理的世界の一部に近似するように設定される、またはユーザの視野内に入るように投影(予測/決定)されてもよい。
【0045】
ARアプリケーション104は、本情報を使用して、ARコンテンツを生成および更新してもよい。ARコンテンツの仮想部分は、シースルー現実110と組み合わせて、ディスプレイ108上に提示され、現実的ユーザ体験を作成してもよい。
【0046】
図2は、パス可能世界モデルを維持する、ARシステム200のコンポーネントを図示する、概略図である。パス可能世界モデルは、物理的世界内の実オブジェクトのデジタル表現である。パス可能世界モデルは、物理的世界内の実オブジェクトの変化を記憶および更新されることができる。パス可能世界モデルは、画像、特徴、指向性オーディオ入力、または他の所望のデータと組み合わせて、記憶システム内に記憶されることができる。パス可能世界モデルは、
図1における世界再構築コンポーネント116によって、再構築118を生成するために使用されることができる。
【0047】
いくつかの実装では、パス可能世界モデルは、ユーザ間で容易に共有され、アプリケーションを含む、コンポーネント間に分散され得るように表され得る。物理的世界についての情報は、例えば、持続的座標フレーム(PCF)として表されてもよい。PCFは、物理的世界内で認識された特徴を表す、1つ以上の点に基づいて定義されてもよい。特徴は、それらがXRシステムのユーザセッション毎に同一である可能性が高いように選択されてもよい。PCFは、それらが効率的に処理および転送され得るように、空間内の1つ以上の点(例えば、角、縁)に基づいて、疎らに定義され、物理的世界についての利用可能な情報の全て未満を提供してもよい。PCFは、マップ座標系に対する平行移動および回転を伴う、6自由度を備えてもよい。
【0048】
ARシステム200は、パス可能世界コンポーネント202と、オペレーティングシステム(OS)204と、API206と、SDK208と、アプリケーション210とを含んでもよい。OS204は、ARデバイス、例えば、Lumin OSと互換性があるカスタムドライバを伴う、Linux(登録商標)ベースのカーネルを含んでもよい。API206は、ARアプリケーション(例えば、アプリケーション210)にARデバイスの空間コンピューティング特徴へのアクセスを与える、アプリケーションプログラミングインターフェースを含んでもよい。SDK208は、ARアプリケーションの作成を可能にする、ソフトウェア開発キットを含んでもよい。
【0049】
パス可能世界コンポーネント202は、パス可能世界モデルを作成および維持することができる。本実施例では、センサデータが、ローカルデバイス上で収集される。そのセンサデータの処理は、部分的に、XRデバイス上においてローカルで、部分的に、クラウド内で実施されてもよい。いくつかの実施形態では、そのセンサデータの処理は、XRデバイス上でのみ、またはクラウド内でのみ、実施されてもよい。パス可能世界モデルは、少なくとも部分的に、複数のユーザによって装着されるARデバイスによって捕捉されたデータに基づいて作成される、環境マップを含んでもよい。
【0050】
パス可能世界コンポーネント202は、パス可能世界フレームワーク(FW)220と、記憶システム228と、複数の空間算出コンポーネント222とを含む。
【0051】
パス可能世界フレームワーク220は、パス可能世界のモデルを作成および維持するようにプログラムされる、コンピュータ実装アルゴリズムを含むことができる。パス可能世界フレームワーク220は、パス可能世界モデルを記憶システム228内に記憶する。例えば、パス可能世界フレームワークは、現在のパス可能世界モデルおよびセンサデータを記憶システム228内に記憶することができる。パス可能世界フレームワーク220は、空間算出コンポーネント222を呼び出すことによって、パス可能世界モデルを作成および更新する。例えば、パス可能世界フレームワークは、オブジェクト認識装置232をトリガし、3-Dオブジェクト認識を実施することによって、場面内のオブジェクトの3-D境界ボックスを取得することができる。
【0052】
空間算出コンポーネント222は、場面の3-D空間内の算出を実施し得る、複数のコンポーネントを含む。例えば、空間算出コンポーネント222は、オブジェクト認識システム(「オブジェクト認識装置」とも呼ばれる)232、疎マッピングシステム、稠密マッピングシステム、およびマップマージシステム等を含むことができる。空間算出コンポーネント222は、パス可能世界モデルを作成または更新するために使用され得る、出力を生成することができる。例えば、オブジェクト認識システムは、ARデバイスのセンサによって捕捉された画像のストリーム内で認識されている1つ以上のオブジェクトの1つ以上の3-D境界ボックスを規定する、出力データを生成することができる。
【0053】
記憶システム228は、複数のARデバイスから入手されたパス可能世界モデルおよびセンサデータを1つ以上のデータベース内に記憶することができる。記憶システムは、センサデータおよび既存のパス可能世界モデル、例えば、場面内で認識されているオブジェクトを、パス可能世界FW220内のアルゴリズムに提供することができる。新しく入手されたセンサデータに基づいて、更新されたパス可能世界モデルを算出後、記憶システム228は、更新されたパス可能世界モデルをパス可能世界FW220から受信し、更新されたパス可能世界モデルをデータベース内に記憶することができる。
【0054】
いくつかの実装では、パス可能世界コンポーネント202の一部または全部のコンポーネントは、クラウドコンピューティング環境234内の複数のコンピュータまたはコンピュータシステム内に実装されることができる。クラウドコンピューティング環境234は、ARシステム200の場所と異なる場所に物理的に位置し得る、分散型スケーラブル算出リソースを有する。クラウドコンピューティング環境234内の複数のコンピュータまたはコンピュータシステムは、フレキシブルな量の記憶および算出能力を提供することができる。クラウドコンピューティング環境を使用して、ARシステム200は、複数のユーザデバイスおよび/または大量の物理的オブジェクトを含む環境を伴う、スケーラブルなARアプリケーション210を提供することができる。
【0055】
いくつかの実装では、クラウド記憶システム230は、世界モデルと、センサデータとを記憶することができる。クラウド記憶システム230は、スケーラブル記憶容量を有することができ、種々の量の記憶の必要性に適合することができる。例えば、クラウド記憶システム230は、最近捕捉されたセンサデータをローカル記憶システム228から受信することができる。ますます多くのセンサデータがARデバイスのセンサによって捕捉されるにつれて、大記憶容量を有する、クラウド記憶システム230は、最近捕捉されたセンサデータを収容することができる。クラウド記憶システム230およびローカル記憶システム228は、同一世界モデルを記憶することができる。いくつかの実装では、環境の完全世界モデルは、クラウド記憶システム230上に記憶されることができる一方、現在のARアプリケーション210に関連する、パス可能世界モデルの一部は、ローカル記憶システム228上に記憶されることができる。
【0056】
いくつかの実装では、空間算出コンポーネント222のうちのいくつかは、クラウドコンピューティング環境234内で実行されることができる。例えば、オブジェクト認識装置224、コンピュータビジョンアルゴリズム226、マップマージ、および多くの他の種類の空間算出コンポーネントは、クラウド内で実装および実行されることができる。クラウドコンピューティング環境234は、よりスケーラブルかつより強力なコンピュータおよびコンピュータシステムを提供し、これらの空間算出コンポーネントの算出必要性をサポートすることができる。例えば、オブジェクト認識装置は、DNNモデルを記憶するために、グラフィカル算出ユニット(GPU)または他のハードウェアアクセラレータと、大量のランタイムメモリとを使用して、大量の算出を要求する、深層畳み込みニューラルネットワーク(DNN)モデルを含んでもよい。クラウドコンピューティング環境は、オブジェクト認識装置の本種類の要件をサポートすることができる。
【0057】
いくつかの実装では、空間算出コンポーネント、例えば、オブジェクト認識装置は、クラウド記憶システム230内に記憶される、センサデータおよび既存の世界モデルを使用しながら、クラウド内で算出を実施することができる。いくつかの実装では、空間算出およびクラウド記憶装置は、クラウド内での効率的算出を有効にするために、同一クラウドコンピュータシステム内に存在することができる。クラウド算出結果、例えば、オブジェクト認識結果は、さらに処理され、次いで、更新されたパス可能世界モデルとして、クラウド記憶システム230内に記憶されることができる。
【0058】
いくつかの実装では、空間算出コンポーネントは、可変量の算出リソースを要求する、複数のサブシステムを含んでもよい。例えば、オブジェクト認識装置224は、それぞれ、システム上の現在の負荷に応じて、メモリ、プロセッササイクル、例えば、CPUまたはGPUサイクル等の異なる量の算出リソースを要求する、複数のサブシステムを含むことができる。
【0059】
これらのサブシステムは、必要に応じて、スケーリングアップおよびダウンされ得る、ステートレスモジュールとして実装されることができる。ステートレスモジュールは、算出のシーケンスにおける1つ以上の先行状態に依存しない、ステートレスソフトウェアアプリケーションである。各ステートレスモジュールは、算出を状態から分断し、各ステートレスモジュールの入力および出力を通して、状態を管理する。換言すると、ステートレスモジュールは、モジュールが前の入力からの任意の状態を維持することを要求せずに、算出を各入力上で実施することができる。これらのモジュールは、センサデータまたは他の中間データを記憶せずに、その個別の算出ワークロードを実施することができる一方、パス可能世界モデルは、クラウド記憶システム230内に記憶される。ステートレスモジュールは、相互から独立して、スケーリングアップまたはスケーリングダウンされることができる。
【0060】
オブジェクト認識システム(「オブジェクト認識装置」とも呼ばれる)224は、オブジェクト認識アルゴリズムを使用して、環境の場面内の複数の3-Dオブジェクトのための3-Dオブジェクト認識出力を生成することができる。オブジェクト認識システム224は、入力として、1つ以上のARデバイスのセンサから入手されたセンサデータをとることができる。各ARデバイスから入手されたセンサデータは、複数のカメラ姿勢からの場面を特性評価する、画像(例えば、カラー画像)のストリームを提供することができる。オブジェクト認識アルゴリズムは、クラウドコンピューティング環境234内で起動し得る、複数の独立ステートレスモジュールに分割されることができる。複数のステートレスモジュールは、各モジュールの現在の算出の必要性に応じて、スケーリングアップまたはスケーリングダウンされることができる。スケーラブル3-Dオブジェクト認識システムのさらなる詳細は、
図3および4に関連して説明される。
【0061】
図3は、場面内のオブジェクトのための3-D境界ボックスを生成する、例示的3-Dオブジェクト認識システム700を示す。システム700は、クラウド環境内で起動する、オブジェクト認識装置224の一実施例であることができる。場面702の上面図が、左に示される。場面702は、ダイニングテーブルと、ダイニングテーブルを囲繞する、4つのダイニング椅子と、長い長椅子、単一ソファと、長い長椅子および単一ソファによって囲繞される、コーヒーテーブルとを含む、いくつかの3-Dオブジェクトを有する、居間の場面を描写する。場面702の入力画像のストリームは、1つ以上のカメラを使用して捕捉される。
【0062】
いくつかの実装では、複数のARデバイスからの複数のカメラ(例えば、RGB-D)は、種々のカメラ姿勢から場面のカラー画像および深度画像を生成することができる。例えば、5つのRGB-Dカメラが、場面の情報を取得することができる。各カメラが、居間内を移動するにつれて、各カメラは、一連のタイムスタンプにおいて、画像のストリームを捕捉することができる。特定のタイムスタンプにおいて、5つのカメラのカメラ姿勢710、712、714、716、および718が、
図3に示される。
【0063】
各カメラ姿勢は、複数の直線を用いて図示され、各直線は、その姿勢から可視の各オブジェクト中心をカメラに接続する。例えば、カメラ姿勢710は、ダイニング椅子に接続する、第1の線と、長椅子に接続する、第2の線と、コーヒーテーブルに接続する、第3の線と、単一ソファに接続する、第4の線とを含む。これは、ダイニング椅子、長椅子、コーヒーテーブル、および単一ソファが、本カメラ姿勢から可視であることを意味する。ダイニングテーブルおよび他の3つのダイニング椅子は、本カメラ姿勢から不可視である。
【0064】
いくつかの実装では、RGB-Dカメラは、ARデバイスを装着しているユーザが場面内を進行するにつれて、場面のカラー画像のストリームおよび深度画像のストリームを生成することができる。例えば、ARデバイスを装着しているユーザが、居間に進入するにつれて、ARデバイスは、カメラ姿勢710および712に対応する、複数の画像を捕捉することができる。ユーザが、コーヒーテーブルに向かって歩行するにつれて、ARデバイスは、カメラ姿勢714および716に対応する、複数の画像を捕捉することができる。最後に、ユーザが、長椅子上に着座すると、ARデバイスは、カメラ姿勢718に対応する、複数の画像を捕捉することができる。カメラ姿勢710、712、714、716、および718から捕捉された画像は、場面702の画像のストリームであることができる。
【0065】
複数のカメラ姿勢によって捕捉された場面702の画像のストリームは、場面内の3-Dオブジェクトの豊富な3-D情報を提供することができる。場面の画像のストリームは、オブジェクトのうちのいくつかが、カメラ姿勢のうちのいくつかにおいて、オクルードされる、または不可視であっても、オブジェクト認識出力を生成するために使用されることができる。
【0066】
いくつかの実施形態では、場面の画像のストリームは、カラー画像のストリームと、深度画像のストリームとを含むことができる。
【0067】
カラー画像は、カメラによって捕捉された2次元(2-D)画像またはビデオのフレームである。各2-D画像は、1つ以上のオブジェクトの色と、物理的世界内のその周囲環境の色とを描写する、RGB画像であることができる。カラー画像は、一連の対応するタイムスタンプにおいて捕捉されることができる。カラー画像のタイムスタンプ情報は、カラー画像が捕捉されている日付および時間を記録する。
【0068】
深度画像は、場面内のオブジェクトの深度情報を捕捉する。深度画像内の強度値は、カメラ姿勢からのオブジェクトの表面の距離を表す。すなわち、画像内の各ピクセルに対する強度値は、深度画像を捕捉したカメラからのそのピクセルにおいて描写される場面内のオブジェクトの距離を表す。深度画像のタイムスタンプ情報は、深度画像が捕捉されている日付および時間を記録する。RGB-Dカメラは、異なるフレームレートにおいて、またはいくつかの実施形態では、同一フレームレートにおいて、カラー画像のストリームと、深度画像のストリームとを同時に捕捉することができる。
【0069】
3-Dオブジェクト認識システム704は、場面702の画像のストリームを処理することができ、場面702内の1つ以上のオブジェクトの1つ以上の3-D境界ボックスを規定する、データを生成することができる。3-Dオブジェクト認識システム704は、パス可能世界モデルを作成および維持する、パス可能世界コンポーネント202に属する。場面内の認識されたオブジェクトを規定する、生成された出力データは、パス可能世界モデルを作成および更新するために使用されることができる。
【0070】
いくつかの実装では、1つ以上のARデバイスは、画像のストリームをクラウドコンピューティング環境234に送信することができる。いくつかの実装では、1つ以上のARデバイスは、処理された画像をクラウドコンピューティング環境234に送信する前に、事前処理をARデバイス上で実施することができる。
【0071】
3-Dオブジェクト認識システムは、クラウドコンピューティング環境234を用いて、スケーラブル3-Dオブジェクト認識を実施することができる。3-Dオブジェクト認識システムは、複数のサブシステムに分割され得る、3-Dオブジェクト認識アルゴリズムを使用することができる。サブシステムは、複数の独立ステートレスモジュール内に実装されることができる。ステートレスモジュールは、必要に応じて、開始、再開、スケーリングアップ、またはスケーリングダウンされることができる。例えば、本システムが、複数のARデバイスから捕捉された大量の入力画像のストリームを処理しているとき、本システムは、入力画像フレームが並列に処理され得るように、ステートレスモジュールをスケーリングアップすることができる。
【0072】
いくつかの実装では、3-Dオブジェクト認識システムは、場面702内の複数のオブジェクトの3-Dオブジェクト認識を実施し得る、複数のモジュールを開始することができる。複数のモジュールは、並列に、かつ相互から独立して、起動することができる。パス可能世界モデルは、各モジュールの3-Dオブジェクト認識出力に基づいて、更新されることができ、場面全体内の全てのオブジェクトの3-Dオブジェクト認識出力を待機する必要はない。
【0073】
例えば、本システムは、単一長椅子のための3-D境界ボックスを生成するための第1のモジュールを有することができ、本システムは、コーヒーテーブルのための3-D境界ボックスを生成するための第2のモジュールを有することができる。第1のモジュールおよび第2のモジュールは、異なるオブジェクト、すなわち、単一長椅子およびコーヒーテーブルを処理することができる。したがって、第1のモジュールおよび第2のモジュールは、単一長椅子およびコーヒーテーブルの3-D境界ボックスを算出するために、必要に応じて、独立して、スケーリングされることができる。3-Dオブジェクト認識システムのサブシステムのさらなる詳細は、
図4に関連して説明される。
【0074】
オブジェクトの生成された3-D境界ボックスは、上面
図706に示されるように、場面とともにオーバーレイされる。オブジェクトの各3-D境界ボックスは、オブジェクトを緊密に囲繞する、推定される矩形ボックスである。例えば、矩形ボックス708は、コーヒーテーブルの3-D境界ボックスの上面図である。3-D境界ボックスは、ボックスの角または他の基準場所の座標、ボックスの幅、高さ、および深度によって規定されることができる。いくつかの実装では、3-D境界ボックスは、境界ボックスの表面上の固定点に対する基準座標のセット、すなわち、ボックスの角と異なる座標、例えば、アンカポイントを使用して、規定されることができる。
【0075】
図4は、場面内のオブジェクトのための3-D境界ボックスをカラー画像のストリームおよび深度画像のストリームから生成する、例示的3-Dオブジェクト認識システム800を図示する。システム800は、クラウド環境内で起動する、オブジェクト認識装置224の一実施例であることができる。システム800は、場面の入力画像のストリームを受信する。入力画像のストリームは、カラー画像802のストリームと、深度画像804のストリームとを含む。カラー画像802および深度画像804は、異なるフレームレートにおける、非同期ストリーム内にあることができる。例えば、カラー画像802のストリームは、5フレーム/秒であることができ、深度画像のストリーム802は、1フレーム/秒であることができる。カラー画像802のストリームおよび深度画像804のストリームは、異なる画像分解能であることができる。例えば、カラー画像のストリームは、深度画像のストリームよりはるかに高い分解能を有することができる。
【0076】
本システムは、入力として、カラー画像のストリーム内の複数のカラー画像のそれぞれをとる。本システムは、カラー画像のストリーム内の各カラー画像を処理してもよい。代替として、本システムは、カラー画像のストリームからある時間インターバルにおいて選択されたカラー画像のサブセットを処理してもよい。すなわち、本システムは、カラー画像のストリーム内の全てのカラー画像を処理しなくてもよい。深度画像のストリームは、本システムがカラー画像を処理している間、一時的に、記憶システム内に記憶されることができる。
【0077】
各入力カラー画像は、環境の場面をあるカメラ姿勢から捕捉する。例えば、入力カラー画像802は、場面702の部分的ビューをカメラ姿勢710から捕捉し、可視オブジェクトは、場面702内の1つのダイニング椅子と、長椅子と、単一ソファと、コーヒーテーブルとを含む。
【0078】
各入力カラー画像802は、オブジェクト認識システムを通して処理される。オブジェクト認識システムは、2-Dオブジェクト認識出力を入力カラー画像から生成することができる。2-Dオブジェクト認識出力は、カラー画像内で認識されている1つ以上のオブジェクトの各々に対し、カラー画像内の個別のオブジェクトマスクを識別する、データを含むことができる。オブジェクトマスクは、ピクセルがオブジェクトに属するかどうか、すなわち、前景ピクセルであるかまたは背景ピクセルであるかを示し得る、複数のピクセルの値を含むことができる。例えば、コーヒーテーブルのセグメント化マスクの輪郭803は、入力カラー画像802の上部にオーバーレイされる。輪郭803の内側の領域は、コーヒーテーブルオブジェクトに属する、ピクセルを示す。
【0079】
2-Dオブジェクト認識システムは、2-Dオブジェクト認識を実施する、1つ以上のコンピュータビジョンアルゴリズムを実装することができる。1つ以上のコンピュータビジョンアルゴリズムは、機械学習ベースのアルゴリズム、例えば、2-Dオブジェクトマスクラベルを含む訓練データで事前に訓練されている、機械学習モデルを使用するものを含むことができる。
【0080】
Mask Region-Convolutional Neural Network(R-CNN)(He, Kaiming, et al.“Mask R-CNN.”Proceedings of the IEEE international conference on computer vision.2017)、Single Shot Detector(SSD)(Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, Cheng-Yang Fu, and Alexander C. Berg. SSD:Single shot multi-box detector.2016.)、およびYOLO Detector(J. Redmon, S.Divvala, R. Girshick, and A. Farhadi. You only look once:Unified, real-time object detection. In 2016 IEEE Conference on Computer Vision and Pattern Recognition(CVPR), pages 779-788, June 2016)等の種々の2-Dオブジェクト認識アルゴリズムが、使用されることができる。
【0081】
例えば、2-Dオブジェクト認識システムは、着目屋内オブジェクト、例えば、椅子、テーブル、ソファ、TV等を検出する、オブジェクト検出データセット上で訓練されたMask R-CNNニューラルネットワークを使用することができる。Mask R-CNNは、所定の数のオブジェクトの各々に対し、バイナリマスクを生成することができる。各バイナリオブジェクトマスクは、前景オブジェクトを背景から分離することができる。
【0082】
いくつかの実装では、オブジェクトが、入力カラー画像内で認識されていない場合、本システムは、カラー画像のストリーム内の複数のカラー画像内の次の入力カラー画像を処理するように進むことができる。
【0083】
いくつかの実装では、1つ以上のオブジェクトが、入力カラー画像内で認識されている場合、本システムは、タイムスタンプに基づいて、入力カラー画像と深度画像を同期させるように進むことができる。本システムは、その中で少なくとも1つの着目オブジェクトが検出されている、カラー画像のための同期のみを実施してもよい。このように、本システムは、入力カラー画像の多くが着目オブジェクトを有していない場合があるため、必要とされる算出の量を低減させることができる。
【0084】
入力カラー画像および深度画像のストリーム内の複数の深度画像は、入力として、同期システムに提供される。同期システムは、対応する深度画像のタイムスタンプおよびカラー画像のタイムスタンプに基づいて、カラー画像802のための対応する深度画像804を決定することができる。いくつかの実装では、複数の深度画像の中から、同期システムは、入力カラー画像802に最も近いタイムスタンプを有する、深度画像を識別することができる。タイムスタンプ差異が、ある閾値未満である場合、識別された深度画像は、入力カラー画像802と対応する深度画像804として承認される。いくつかの実装では、入力カラー画像および深度画像は、複数のARデバイスの異なるカメラから捕捉されることができる。例えば、複数のARデバイスが、居間の深度画像を捕捉する場合、タイムスタンプ情報およびカメラ姿勢に基づいて、本システムは、第1のARデバイスによって捕捉された深度画像を第2のARデバイスによって捕捉された入力カラー画像と対応する深度画像として識別してもよい。
【0085】
オブジェクトマスクおよび対応する深度画像804を識別するデータは、入力として3-D境界ボックス生成システムに提供される。3-D境界ボックス生成システムは、オブジェクトマスクおよび対応する深度画像から、入力カラー画像802内で認識されている1つ以上のオブジェクトの各々に対し、個別の3-D境界ボックスを決定することができる。
【0086】
いくつかの実装では、有効深度値を伴う各2-D画像座標に対し、本システムは、カラー画像を深度画像に投影することによって、2-D画像座標を3-Dボクセル座標の中に投影することができる。カラー画像内で認識されたオブジェクトのための予測されるバイナリ2-Dオブジェクトマスクを前提として、本システムは、3-Dオブジェクトマスク内で対応する3-Dボクセルを生成することができる。
【0087】
いくつかの実装では、深度画像は、カラー画像より低い画像分解能を有することができる。例えば、深度画像の分解能は、200×400であることができる一方、対応するカラー画像は、800×1,600であることができる。カラー画像内の2-Dオブジェクトマスクから投影される、3-Dボクセルは、深度画像分解能に対応する、より低い分解能を有することができる。これは、後続処理ステップにおいて、算出コストを節約することができる。
【0088】
例えば、コーヒーテーブルの深度画像804および2-Dオブジェクトマスク803から、3-D境界ボックス生成システムは、オブジェクトマスク内の各ピクセルに対し、深度値を決定することができる。本システムは、ボクセル805によって表される、3-Dオブジェクトマスクを生成することができ、各ボクセルは、入力カラー画像内のピクセル場所および対応する深度画像内の対応する深度値から計算されることができる。3-D境界ボックス生成システムは、3-Dオブジェクトマスク805に基づいて、コーヒーテーブルの3-D境界ボックスを決定することができる。
【0089】
例えば、本システムは、ボクセル表現805をセグメント化マスク803内の前景ピクセルの場所から計算することができる。2-D画像座標(x,y)を伴う各前景ピクセルに対し、本システムは、深度画像の対応する深度値およびカメラ姿勢を使用して、画像座標を世界座標フレームの中に投影することができる。世界座標フレームは、事前に決定されることができ、深度画像のカメラ姿勢と同一であることができる。深度画像の分解能に基づいて決定される、ボクセル分解能r(例えば、r=4cm)を前提として、世界座標フレーム内の各点は、対応するボクセルに離散化される。これらの変換に基づいて、入力カラー画像内のオブジェクトのための2-Dバイナリオブジェクトマスク803を前提として、本システムは、バイナリマスクの全ての前景ピクセルを世界座標フレーム内の対応する3-Dボクセル805に投影することができる。
【0090】
いくつかの実装では、本システムは、環境内の場面内で以前に認識されている、オブジェクトを規定する、オブジェクトデータを維持することができる。オブジェクトデータは、環境の場面の多視点において以前に認識されている、1つ以上のオブジェクトの3-D境界ボックスを含むことができる。本システムは、以前に認識されたオブジェクトのオブジェクトデータを記憶システム230または228内に記憶することができる。
【0091】
いくつかの実装では、3-D境界ボックス生成システムは、入力カラー画像内で現在認識されている1つ以上のオブジェクトの近くにある、以前に認識されているオブジェクトを規定する、オブジェクトデータを読み出し、以前に認識されたオブジェクトを規定する、オブジェクトデータを更新することができる。
【0092】
3-D境界ボックス生成システムは、マルチビュー融合システムを含むことができる。マルチビュー融合システムは、入力画像のカメラ姿勢において可視808である、以前に認識されたオブジェクトの維持されるオブジェクトデータを取得することができる。マルチビュー融合システムは、現在の入力画像内の現在認識されているオブジェクトと以前に認識されたオブジェクトを関連付けることができる。マルチビュー融合システムは、現在認識されているオブジェクトの生成された3-Dオブジェクトマスクと、現在認識されているオブジェクトと関連付けられる、以前に認識されたオブジェクトを規定する、維持されるオブジェクトデータとの間の融合810を実施することができる。
【0093】
例えば、マルチビュー融合システムは、現在認識されている3-Dオブジェクトマスクと現在の入力画像の近傍内の対応するオブジェクトのための以前に認識された3-Dオブジェクトマスクの交差を算出することによって、現在の入力画像内で可視808である、オブジェクトを推定することができる。近傍サイズは、所定の値、例えば、現在の入力画像の5メートル半径であることができる。いくつかの実装では、現在認識されている3-Dオブジェクトマスクと非ゼロ交差を伴う、全ての以前に認識されたオブジェクトは、可視であるオブジェクトと識別されることができる。例えば、本システムは、コーヒーテーブルの以前に認識された3-Dオブジェクトマスク807が現在のカメラ姿勢において可視であることを決定することができる。
【0094】
例えば、現在のカメラ姿勢において可視である、以前に認識されたオブジェクト808をロード後、マルチビュー融合システムは、オブジェクト関連付けおよび融合を実施することができる。現在の入力カラー画像802内で認識された806内の各3-Dオブジェクトマスクに対し、本システムは、2つのマスクの相対的距離に基づいて、以前に認識されたオブジェクトのオブジェクトマスクが存在するかどうかを決定することができる。例えば、本システムは、3-Dオブジェクトマスク807が認識されたコーヒーテーブルの3-Dオブジェクトマスク805と関連付けられることを決定することができる。本システムは、2つのオブジェクトマスクの合体を計算することによって、更新された3-Dオブジェクトマスク809を生成することができる。本実施例では、2つのオブジェクトマスクの合体を計算することによって、本システムは、2つのオブジェクトマスクの融合を実施することができる。
【0095】
カラー画像のストリーム内の複数の画像の各画像を処理後、本システムは、場面内の1つ以上の認識されたオブジェクトの1つ以上の3-D境界ボックスを規定する、データを含む、最終出力812を生成することができる。例えば、本システムは、居間内のコーヒーテーブルのための3-D境界ボックス814を出力することができる。
【0096】
3-Dオブジェクト検出システムは、全ての入力カラー画像に対し、例えば、各フレーム上で、独立して、3-Dオブジェクト認識を起動することができる。本システムは、全ての入力カラー画像を異なるステートレスモジュール上で並列に処理することができる。いくつかの実装では、本システムは、オブジェクトレベルロック/ロック解除方法を使用して、同一オブジェクトが異なるモジュールによって同時に更新されないことを確実にすることができる。
【0097】
例えば、本システムが、以前に認識されたコーヒーテーブル807が現在のカメラ姿勢において存在することを決定後、本システムは、記憶システム内に記憶される以前に認識されたコーヒーテーブルの情報をロックしながら、現在の入力画像内で認識された3-Dオブジェクトマスクとのオブジェクト関連付けおよび融合810を実施することができる。これは、並列に起動する他のモジュールによって、コーヒーテーブルが更新されないことを確実にすることができる。
【0098】
1つ以上の3-D境界ボックス812が、パス可能世界のモデルを作成および維持する、パス可能世界コンポーネント202に提供されることができる。パス可能世界コンポーネントは、直接、1つ以上の3-D境界ボックスをパス可能世界モデル内で使用することができる。代替として、または組み合わせて、パス可能世界コンポーネントはさらに、新しいまたは更新されたパス可能世界モデルを生成するために、1つ以上の3-D境界ボックスを処理することができる。
【0099】
図5は、場面の入力画像のストリームからの3-Dオブジェクト認識結果を算出するための例示的プロセス900のフローチャートである。プロセスは、適切にプログラムされたARシステム200によって実施されるものとして説明されるであろう。プロセス900は、クラウドコンピューティング環境234内で実施されることができる。いくつかの実装では、プロセス900内のいくつかの算出は、ローカルARデバイスがクラウドに接続される間、パス可能世界コンポーネント202内のローカルARデバイス内で行われることができる。
【0100】
本システムは、環境内の場面内で認識されているオブジェクトを規定する、オブジェクトデータを維持する(902)。場面は、小領域または大面積、例えば、部屋、建物の階、または都市程の大きさ等のいずれかを含むことができる。場面内のオブジェクトは、3-D実世界オブジェクトを含むことができる。オブジェクトは、定常オブジェクトまたは移動オブジェクトであることができる。認識されているオブジェクトを規定する、オブジェクトデータは、場面内のオブジェクトの以前に計算された3-D境界ボックスまたは3-Dオブジェクトマスクを含むことができる。本システムは、オブジェクトデータを、ARデバイス上、またはクラウド内の一方、または両方であり得る、記憶システム内に記憶することによって、オブジェクトデータを維持することができる。本システムによって維持されるオブジェクトデータは、1つ以上のARデバイスによって収集された環境の場面の画像を使用して、更新されることができる。
【0101】
本システムは、場面の入力画像のストリームを受信する(904)。入力画像のストリームは、カラー画像のストリームと、深度画像のストリームとを含むことができる。入力画像のストリームは、場面を1つ以上のカメラ姿勢から捕捉する、1つ以上のARデバイスからのものであることができる。いくつかの実装では、ARデバイスは、ARデバイスのユーザが場面内を進行する間、入力画像のストリームを捕捉することができる。入力画像のストリームは、対応するカメラ姿勢情報を含むことができる。カメラ姿勢は、カメラ姿勢を周囲環境の座標系に対して前後、上下、左右に変化させるための自由度を含む、6自由度(6DOF)を含むことができる。
【0102】
いくつかの実装では、環境を共有する、1つ以上のARデバイスは、クラウドコンピューティング環境234に接続される。1つ以上のARデバイスは、収集されたカメラ画像をクラウドに送信することができる。本システムは、クラウド内の画像のストリームを使用して、1つ以上のオブジェクトを認識することができる。
【0103】
カラー画像のストリーム内の複数のカラー画像の各々に対し、本システムは、カラー画像を入力としてオブジェクト認識システムに提供する(906)。例えば、本システムは、各カラー画像を2-Dセグメント化モジュールにパスすることができ、これは、着目オブジェクトのためのオブジェクトセグメント化を実施することができる。2-Dセグメント化モジュールは、椅子、テーブル、ソファ、ポスタ、TV画面等のためのセグメント化マスクを生成することができる。
【0104】
本システムは、同一オブジェクトの種々のビューを捕捉する、入力画像を、オブジェクト認識システムに提供することができる。オブジェクト認識システムは、同一オブジェクトの2-Dセグメント化マスクを種々のビューから生成することができる。例えば、本システムの2-Dセグメント化モジュールは、同一椅子の左側ビュー、右側ビュー、正面ビュー、および背面ビューから、椅子のための4つのセグメント化マスクを生成することができる。異なるビューからのセグメント化マスクを有することで、本システムは、後に、着目オブジェクトのより完全な3-Dオブジェクト認識出力を生成することができる。
【0105】
本システムは、オブジェクト認識システムからの出力として、カラー画像内で認識されている1つ以上のオブジェクトの各々に対し、カラー画像内の個別のオブジェクトマスクを識別する、認識出力を受信する(908)。いくつかの実装では、オブジェクト認識システムは、訓練された深層ニューラルネットワーク(DNN)モデルを含むことができる。DNNモデルは、カラー画像を入力としてとることができ、カラー画像内で認識されている1つ以上のオブジェクトの各々に対し、個別の2-Dオブジェクトマスクを生成することができる。各オブジェクトマスクは、入力カラー画像の対応するカメラ姿勢からのオブジェクトのサイズおよび形状を特性評価することができる。
【0106】
本システムは、カラー画像および深度画像のストリーム内の複数の深度画像を入力として同期システムに提供する(910)。同期システムは、対応する深度画像のタイムスタンプおよびカラー画像のタイムスタンプに基づいて、カラー画像のための対応する深度画像を決定することができる。各深度画像またはカラー画像は、画像が捕捉されている日付および時間を説明する、タイムスタンプを有する。深度画像およびカラー画像のタイムスタンプ情報は、深度画像のストリームとカラー画像のストリームとの間の時間関係を示すことができる。
【0107】
いくつかの実装では、同期システムは、カラー画像のタイムスタンプに最も近いタイムスタンプを有する、候補深度画像を識別することができる。同期システムは、候補深度画像とカラー画像との間の時間差が閾値、例えば、1秒未満であることを決定することができる。それに応答して、同期システムは、候補深度画像をカラー画像のための対応する深度画像として決定することができる。本システムが、カラー画像のための対応する深度画像を識別することができない場合、本システムは、そのカラー画像を処理することを停止し、カラー画像のストリーム内の次のカラー画像を処理することを開始することができる。
【0108】
本システムは、オブジェクトマスクを識別するデータおよび対応する深度画像を入力として3-D境界ボックス生成システムに提供する(914)。3-D境界ボックス生成システムは、オブジェクトマスクおよび対応する深度画像から、カラー画像内で認識されているオブジェクトのうちの1つ以上のものの各々に対し、個別の3-D境界ボックスを決定する。
【0109】
いくつかの実装では、3-D境界ボックス生成システムは、複数のサブシステムを含むことができる。
図6は、例示的3-D境界ボックス生成システム1000内のいくつかのサブシステムを図示する、システム図である。3-D境界ボックス生成システム1000は、マルチビュー融合システム1004と、オブジェクト精緻化システム1010と、境界ボックス精緻化システム1012とを含むことができる。これらのサブシステムは、これらのサブシステムが、ステートレス様式で、相互から独立して動作し得るように、ステートレスモジュールとして実装されることができる。各ステートレスモジュールは、全体的システム性能に影響を及ぼさずに、必要に応じて、独立して、開始、再開、スケーリングアップ、またはスケーリングダウンされることができる。
【0110】
マルチビュー融合システムは、3-Dオブジェクトマスクの初期セットを生成することができる。いくつかの実装では、マルチビュー融合システムは、複数のステップを実施し、3-Dオブジェクトマスクの初期セットを生成することができる。本システムは、生成されたオブジェクトマスクが深度画像内の1つ以上の有効深度値に対応することを決定することができる。生成されたオブジェクトマスクが深度画像内の1つ以上の有効深度値に対応することの決定に応答して、本システムは、深度カメラの中心からの所定の距離内でカラー画像内で認識されている、近隣のオブジェクトを見出すことができる。深度画像内の対応するピクセルの深度値に基づいて、本システムは、近隣の各オブジェクトに対し、各オブジェクトマスクの3-Dボクセル表現を生成することができる。各オブジェクトマスクの3-Dボクセル表現は、3-Dオブジェクトの3-Dセグメント化マスクである。3-Dセグメント化マスク内の各ボクセルは、オブジェクトの対応する部分の3-D座標を表すことができる。
【0111】
上記に議論されるように、本システムは、環境内の場面内で認識されているオブジェクトを規定する、オブジェクトデータを維持する。本システムは、現在のカメラ姿勢において可視である、以前に認識されたオブジェクトの維持されるオブジェクトデータを見出すことができる。維持されるオブジェクトデータは、以前に認識されたオブジェクトの3-Dオブジェクトマスクを含むことができる。いくつかの実装では、各以前に認識されたオブジェクトに対する維持されるオブジェクトデータは、3-D加重ボクセルおよびカテゴリラベルのセットを含むことができる。例えば、各ボクセルに対する加重の値は、ボクセルが以前に認識されたオブジェクトの一部を表す、尤度を示すことができる。カテゴリラベルは、椅子、ドア、ソファ、TV等、オブジェクトが属する、クラスを示すことができる。
【0112】
いくつかの実装では、マルチビュー融合システムは、関連付けシステム1006と、融合システム1008とを含むことができる。
【0113】
関連付けシステム1006は、現在のカメラ姿勢において可視である、以前に認識されたオブジェクトの維持されるオブジェクトデータから、カラー画像内の現在認識されているオブジェクトのオブジェクトマスクと合致された以前に認識されたオブジェクトを規定する、オブジェクトデータを識別することができる。いくつかの実装では、関連付けシステムは、カラー画像内の認識されたオブジェクトの3-Dオブジェクトマスクと、以前に認識されている対応するオブジェクトの維持される3-Dオブジェクトマスクを関連付けることができる。
【0114】
関連付けシステムは、割当問題を解決する、組み合わせ最適化アルゴリズムを使用して、オブジェクト関連付けを実施することができる。例えば、本システムは、Hungarian method(Munkres, James.“Algorithms for the assignment and transportation problems.”Journal of the society for industrial and applied mathematics 5,no.1(1957):32-38)を使用して、現在の入力画像内の検出と以前に認識されたオブジェクトを関連付けることができる。
【0115】
融合システム1008は、カラー画像内のオブジェクトマスクと合致されるオブジェクトデータとを組み合わせることによって、カラー画像内の各認識されたオブジェクトに対し、初期3-Dオブジェクトマスクを生成することができる。いくつかの実装では、色における認識されたオブジェクトの3-Dオブジェクトマスクと以前に認識されたオブジェクトの3-Dオブジェクトマスクとの間の関連付けが、見出される場合、本システムは、マスク融合を通して、3-Dオブジェクトマスクを更新することができる。例えば、融合システムは、2つの3-Dオブジェクトマスク間の重複ボクセルの加重の値を増加させ、オブジェクトの一部を表すこれらのボクセルが増加している尤度を示すことができる。融合システムはまた、新しいボクセルを更新された3-Dオブジェクトマスクに追加することができ、これらの新しいボクセルは、2つの3-Dオブジェクトマスク間の非重複ボクセルに対応する。
【0116】
いくつかの実装では、本システムは、カラー画像内の認識されたオブジェクトが、現在のカメラ姿勢において可視である、以前に認識されたオブジェクトの維持されるオブジェクトデータ間に関連付けられる既存のオブジェクトを有していないことを決定することができ、本システムは、3-Dオブジェクトマスクを用いて、新しいオブジェクトインスタンスを作成することができ、本システムは、新しいオブジェクトインスタンスを維持されるオブジェクトデータに追加することができる。
【0117】
マルチビュー融合システム1004は、入力画像のストリームからの複数の3-Dオブジェクトマスク関連付け、融合させることができる。マルチビュー融合システムは、オブジェクトマスクをオブジェクトレベルで生成することができる。各オブジェクトマスクは、独立して、更新されることができ、複数のオブジェクトは、並行して、かつ非同期して、更新されることができる。
【0118】
例えば、本システムは、並行して、長椅子のオブジェクトマスク811およびコーヒーテーブルのオブジェクトマスク809を更新することができる。本システムは、1つのマルチビュー融合システムを長椅子のオブジェクトマスクの関連付けおよび融合に作用させることができ、本システムは、非同期して、別のマルチビュー融合システムをコーヒーテーブルのオブジェクトマスクの関連付けおよび融合に作用させることができる。2つのシステムは、並行して、かつ並列に起動することができる。したがって、本システムは、多くの画像および多くのオブジェクトを効率的に処理することができる。
【0119】
オブジェクト精緻化システム1010は、3-Dオブジェクトマスクの初期セットを精緻化し、3-D境界ボックスの初期セットを生成することができる。マルチビュー融合システムによって生成された全ての新しいまたは更新されたオブジェクトに対し、本システムは、新しいまたは更新されたオブジェクトの近傍にある、近隣のオブジェクトを見出すことができる。オブジェクト精緻化システムは、複数の参考文献に従って、複数のオブジェクト精緻化動作を実施することができる。
【0120】
例えば、本システムは、3-D接続コンポーネントアルゴリズム(Samet, H.;Tamminen, M.(1988).“Efficient Component Labeling of Images of Arbitrary Dimension Represented by Linear Bintrees”.IEEE Transactions on Pattern Analysis and Machine Intelligence.10(4):579.)を使用して、雑音ボクセルを3-Dオブジェクトマスクの初期セットから除去することができる。本システムは、十分な数のビューから見えない、ボクセルまたはオブジェクトを除去することができる。本システムは、それらが机およびテーブル等の関連するカテゴリに属する場合、近隣のオブジェクトをマージすることができる。
【0121】
オブジェクト精緻化動作後、本システムは、精緻化された3-Dオブジェクトマスクを3-D境界ボックスの初期セットに変換することができる。本システムは、選定されたカメラ姿勢に配向される、3-D直方体境界ボックスを生成することができる。カメラ姿勢は、入力カラー画像のうちの1つのカメラ姿勢と同一であることができる、またはカメラ姿勢は、パス可能世界コンポーネント202によって事前に定義されることができる。
【0122】
境界ボックス精緻化システム1012は、3-D境界ボックスの初期セットを精緻化し、1つ以上の最終3-D境界ボックス812を生成することができる。オブジェクト精緻化システムによって生成された全ての新しいまたは更新された境界ボックスに対し、境界ボックス精緻化システム1012は、雑音境界ボックスを除去することができる。境界ボックス精緻化システムは、複数の参考文献に基づいて、複数の境界ボックス精緻化動作を実施することができる。
【0123】
例えば、本システムは、非最大値抑制アルゴリズム(Neubeck, Alexander, and Luc Van Gool.“Efficient non-maximum suppression.”18th International Conference on Pattern Recognition(ICPR’06).Vol.3.IEEE, 2006)等のアルゴリズムを通して、同一カテゴリに属する、重複境界ボックスを除去することができる。別の実施例として、本システムは、所与のカテゴリラベルに関してサイズ制約を充足させない、境界ボックスを除去することができる。例えば、本システムは、30センチメートル長未満である、長椅子として標識される、境界ボックスを除去することができる。
【0124】
いくつかの実装では、オブジェクト認識システム、同期システム、マルチビュー融合システム、例えば、関連付けシステムおよび融合システム、オブジェクト精緻化システムおよび境界ボックス精緻化システムは、ステートレス様式で、相互から独立して動作することができる。オブジェクト認識タスクを複数のサブシステムに分割することによって、3-Dオブジェクト認識システムは、各サブシステムを独立ステートレスモジュール内に実装することができる。各ステートレスモジュールは、全体的システム性能に影響を及ぼさずに、必要に応じて、独立して、開始、再開、スケーリングアップ、またはスケーリングダウンされることができる。
【0125】
例えば、複数のARデバイスの複数のユーザが、同一オブジェクトを見ている場合、クラウドにおいて受信されている入力画像のフレーム/秒の数は、2-Dオブジェクト認識システムの各ステートレスモジュールが2-Dオブジェクト検出およびセグメント化を実施するために1秒かかり得るため、2-Dオブジェクト認識システムによって生成された出力/秒の数より多い。本システムは、2-Dオブジェクト認識を実施する、ステートレスモジュールをスケーリングアップし、本モジュールのスループットが、十分に高く、サブシーケンス処理モジュールをブロックしないことを確実にすることができる。
【0126】
3-Dオブジェクト認識システムは、ARデバイス(またはARデバイスユーザ)の数および環境の場面内のオブジェクトの数においてスケーラブルである。複数のARデバイスが、クラウドコンピューティング環境に接続されることができ、3-Dオブジェクト認識のための入力データの複数のストリームにともに寄与することができ、認識された3-Dオブジェクトを共有することができる。
【0127】
本システムは、3-D境界ボックス生成システムからの出力として、カラー画像内で認識された1つ以上のオブジェクトのための1つ以上の3-D境界ボックスを規定する、データを受信する(916)。いくつかの実装では、本システムはまた、1つ以上の3-D境界ボックスを規定する、データを、中間3-D境界ボックスとして、記憶システム内に記憶する。
【0128】
本システムは、出力として、1つ以上の3-D境界ボックスを規定する、データを提供する(918)。本システムは、1つ以上の3-D境界ボックスを更新された3-D境界ボックスとしてクラウド内の記憶システム230内に記憶することができる。本システムはまた、直近の3-D境界ボックスのコピーをARデバイス上の記憶システム228内に記憶することができる。本システムは、出力をARシステムのパス可能世界コンポーネント202に提供することができる。パス可能世界コンポーネント202は、1つ以上の認識されたオブジェクトの1つ以上の3-D境界ボックスを使用して、複数のARデバイスを横断して共有される、パス可能世界モデルを作成または更新することができる。例えば、1つ以上の3-D境界ボックスは、パス可能世界モデル内の持続的座標フレーム(PCF)を作成または更新するために使用されることができる。
【0129】
いくつかの実装では、3-D境界ボックス生成システムは、オブジェクトマスクおよび対応する深度画像から、カラー画像内で認識されている1つ以上のオブジェクトの各々に対し、個別の3-Dオブジェクトマスクを決定することができる。本システムは、3-D境界ボックス生成システムからの出力として、カラー画像内で認識されたオブジェクトのうちの1つ以上のもののための1つ以上の3-Dオブジェクトマスクを規定する、データを受信することができる。本システムは、出力として、1つ以上の3-Dオブジェクトマスクを規定する、データを提供することができる。パス可能世界モデルは、1つ以上の3-Dオブジェクトマスクの情報を含むことができる。いくつかの実装では、本システムは、認識されているオブジェクトの3-Dオブジェクトマスクを識別する、3-Dメッシュデータを出力することができる。
【0130】
ARアプリケーションは、3-Dオブジェクトマスクに基づく、パス可能世界モデルを使用して、より没入型の体験を有することができる。例えば、双方向ゲームアプリケーションの仮想アシスタントは、パス可能世界モデル内で認識されている椅子上に着座することができる。椅子の3-Dメッシュデータを使用して、仮想アシスタントは、椅子の3-D境界ボックスの上部ではなく、椅子の座面の上に着座し、より没入型の体験を提供する。
【0131】
図7は、場面内のオブジェクトのための3-D境界ボックスを入力画像のストリームから生成する、例示的3-Dオブジェクト認識システム300を示す。システム300は、クラウド環境内で起動する、オブジェクト認識装置224の一実施例であることができる。場面の入力画像のストリームは、1つ以上のカメラを使用して、捕捉されることができる。いくつかの実装では、複数のARデバイスからの複数のカメラ(例えば、RGBカメラ)が、種々のカメラ姿勢からの場面の画像を生成することができる。例えば、カラー画像のストリーム302、304、および306は、オフィス環境の場面を描写することができる。オフィス環境は、モニタ、机、椅子、キーボード、およびマウス等を含む、いくつかの3-Dオブジェクトを有することができる。同一キーボード314は、314(a)、314(b)および314(c)として、入力画像302、304、および306に対応する、3つのカメラ姿勢から捕捉されることができる。各カメラが、環境(例えば、オフィス環境)内で移動するにつれて、各カメラは、一連のカメラ姿勢において、画像のストリームを捕捉することができる。
【0132】
いくつかの実施形態では、場面の画像のストリームは、カラー画像のストリームを含むことができる。カラー画像のストリームは、カメラによって捕捉された2次元(2-D)画像またはビデオのフレームを含むことができる。カラー画像のストリームは、あるフレームレートであることができる。例えば、カラー画像のストリームは、5フレーム/秒であることができる。各2-D画像は、1つ以上のオブジェクトの色および物理的世界内のその周囲環境の色を描写する、RGB画像であることができる。各カラー画像は、カラー画像が捕捉されるときのカメラ姿勢を識別する、データと関連付けられる。カメラ姿勢は、カメラ姿勢を周囲環境の座標系に対して前後、上下、左右に変化させるための自由度を含む、6自由度(6DOF)を含むことができる。
【0133】
いくつかの3-Dオブジェクトは、暗い、例えば、黒色、または反射性のいずれかであり得る。深度カメラを使用して、黒色または反射性である、これらの3-Dオブジェクトの深度画像を捕捉することは、困難であり得る。換言すると、これらの3-Dオブジェクトの深度情報は、不良品質を有し得、3-Dオブジェクト認識を実施する際に有益ではない場合がある。例えば、キーボードまたはマウスは、黒色であり得、RGB-Dカメラ内の深度センサは、キーボードまたはマウスの深度情報を捕捉するために十分に良好に機能しない場合がある。
【0134】
複数のカメラ姿勢によって捕捉された場面の画像のストリームは、深度情報が利用不可能であるときでも、場面内の3-Dオブジェクトの豊富な3-D情報を提供することができる。場面の画像のストリームは、深度情報が完全に利用不可能であり得るが、3-Dオブジェクト(例えば、キーボード)のオブジェクト認識出力を生成するために使用されることができる。
【0135】
3-Dオブジェクト認識システム310は、場面の画像のストリームを処理することができ、場面内の1つ以上のオブジェクトの1つ以上の3-D境界ボックスを規定する、データ312を生成することができる。例えば、入力画像302、304、および306のストリームから、3-Dオブジェクト認識システム310は、各画像内の同一キーボード、例えば、キーボード314(a)、314(b)および314(c)の2-D境界ボックスを認識することができる。2-D境界ボックスに基づいて、3-Dオブジェクト認識システム310は、キーボードの3-D境界ボックス324を生成することができる。
【0136】
オブジェクトの各3-D境界ボックスは、3-Dオブジェクトを緊密に囲繞する、推定される矩形ボックスである。例えば、矩形ボックス324は、キーボード314(a)(314(b)または314(c))の3-D境界ボックスである。
【0137】
3-Dオブジェクト認識システム310は、パス可能世界モデルを作成および維持する、パス可能世界コンポーネント202に属する。場面内の認識されたオブジェクトを規定する、生成された出力データ312は、パス可能世界モデルを作成および更新するために使用されることができる。
【0138】
いくつかの実装では、1つ以上のARデバイスは、画像のストリームをクラウドコンピューティング環境234に送信することができる。いくつかの実装では、1つ以上のARデバイスは、処理された画像をクラウドコンピューティング環境234に送信する前に、事前処理をARデバイス上で実施することができる。
【0139】
3-Dオブジェクト認識システムは、クラウドコンピューティング環境234を用いて、スケーラブル3-Dオブジェクト認識を実施することができる。3-Dオブジェクト認識システムは、複数のサブシステムに分割され得る、3-Dオブジェクト認識アルゴリズムを使用することができる。サブシステムは、複数の独立ステートレスモジュール内に実装されることができる。ステートレスモジュールは、必要に応じて、開始、再開、スケーリングアップ、またはスケーリングダウンされることができる。例えば、本システムが、複数のARデバイスから捕捉された大量の入力画像のストリームを処理しているとき、本システムは、入力画像フレームが並列に処理され得るように、ステートレスモジュールをスケーリングアップすることができる。
【0140】
いくつかの実装では、3-Dオブジェクト認識システムは、場面内の複数のオブジェクトの3-Dオブジェクト認識を実施し得る、複数のモジュールを開始することができるすることができる。複数のモジュールは、並列に、相互から独立して、起動することができる。パス可能世界モデルは、各モジュールの3-Dオブジェクト認識出力に基づいて、更新されることができ、場面全体内の全てのオブジェクトの3-Dオブジェクト認識出力を待機する必要はない。
【0141】
例えば、本システムは、キーボード画像314(a)、314(b)および314(c)を使用して第1のキーボード314のための3-D境界ボックスを生成するための第1のモジュールを有することができ、本システムは、キーボード画像316(b)および316(c)を使用して第2のキーボード316のための3-D境界ボックスを生成するための第2のモジュールを有することができる。第1のモジュールおよび第2のモジュールは、異なるオブジェクト、すなわち、第1のキーボードおよび第2のキーボードのためのデータを処理することができる。したがって、第1のモジュールおよび第2のモジュールは、第1のキーボードの3-D境界ボックス324および第2のキーボードの3-D境界ボックス326を算出するために、必要に応じて、独立してスケーリングされることができる。3-Dオブジェクト認識システムのサブシステムのさらなる詳細は、
図8に関連して説明される。
【0142】
図8は、場面の入力画像のストリームからの3-Dオブジェクト認識結果を算出するための例示的プロセス400のフローチャートである。プロセスは、適切にプログラムされたARシステム200によって実施されるものとして説明されるであろう。プロセス400は、クラウドコンピューティング環境234内で実施されることができる。いくつかの実装では、プロセス400内のいくつかの算出は、ローカルARデバイスがクラウドに接続される間、パス可能世界コンポーネント202内のローカルARデバイス内で行われることができる。
【0143】
本システムは、環境内の場面内で認識されているオブジェクトを規定する、オブジェクトデータを維持する(402)。場面は、小領域または大面積、例えば、部屋、建物の階、または都市程の大きさ等のいずれかを含むことができる。場面内のオブジェクトは、3-D実世界オブジェクトを含むことができる。オブジェクトは、定常オブジェクトまたは移動オブジェクトであることができる。認識されているオブジェクトを規定する、オブジェクトデータは、場面内のオブジェクトの以前に計算された3-D境界ボックスまたは3-Dオブジェクトマスクを含むことができる。本システムは、オブジェクトデータを、ARデバイス上、またはクラウド内の一方、または両方であり得る、記憶システム内に記憶することによって、オブジェクトデータを維持することができる。本システムによって維持されるオブジェクトデータは、1つ以上のARデバイスによって収集された環境の場面の画像を使用して、更新されることができる。本システムは、以前に認識されたオブジェクトのオブジェクトデータを記憶システム230または228内に記憶することができる。
【0144】
本システムは、場面の入力画像のストリームを受信する(404)。入力画像のストリームは、カラー画像のストリームを含むことができる。入力画像のストリームは、場面を1つ以上のカメラ姿勢から捕捉する、1つ以上のARデバイスからのものであることができる。いくつかの実装では、ARデバイスは、ARデバイスのユーザが場面内を進行する間、入力画像のストリームを捕捉することができる。入力画像のストリームは、対応するカメラ姿勢情報を含むことができる。カメラ姿勢は、カメラ姿勢を前後、上下、左右に変化させるための自由度を含む、6自由度(6DOF)を含むことができる。
【0145】
本システムは、入力画像のストリーム内の各入力画像を処理してもよい。代替として、本システムは、入力画像のストリームからある時間インターバルにおいて選択された入力画像のサブセットを処理してもよい。すなわち、本システムは、入力画像のストリーム内の全ての入力画像を処理しなくてもよい。入力画像のストリームは、本システムがカラー画像を処理している間、一時的に、記憶システム内に記憶されることができる。
【0146】
いくつかの実装では、環境を共有する、1つ以上のARデバイスは、クラウドコンピューティング環境234に接続される。1つ以上のARデバイスは、収集されたカメラ画像をクラウドに送信することができる。本システムは、クラウド内の画像のストリームを使用して、1つ以上のオブジェクトを認識することができる。
【0147】
場面の複数の入力画像の各々に対し、本システムは、入力画像を入力としてオブジェクト認識システムに提供する(406)。例えば、本システムは、各カラー画像をオブジェクト認識システム、例えば、2-Dオブジェクト検出モジュールにパスすることができ、これは、キーボードまたはマウス等の着目オブジェクトのために、オブジェクト検出を実施することができる。
【0148】
本システムは、同一オブジェクトの種々のビューを捕捉する、入力画像を、オブジェクト認識システムに提供することができる。オブジェクト認識システムは、同一オブジェクトの2-D境界ボックスを種々のビューから生成することができる。例えば、2-Dオブジェクト検出モジュールは、同一キーボードの左側ビュー、右側ビュー、および正面ビューから、キーボードのための3つの2-D境界ボックスを生成することができる。異なるビューからの2-D境界ボックスを有することで、本システムは、後に、着目オブジェクトのより完全な3-Dオブジェクト認識出力を生成することができる。
【0149】
オブジェクト認識システム、例えば、2-Dオブジェクト認識システムは、2-Dオブジェクト認識を実施する、1つ以上のコンピュータビジョンアルゴリズムを実装することができる。1つ以上のコンピュータビジョンアルゴリズムは、機械学習ベースのアルゴリズム、例えば、2-Dオブジェクト境界ボックスを含む訓練データで事前に訓練されている、機械学習モデルを使用するものを含むことができる。いくつかの実装では、オブジェクト認識システムは、訓練された深層ニューラルネットワーク(DNN)モデルを含むことができる。
【0150】
Faster Region-Convolutional Neural Network (R-CNN) (Ren, Shaoqing, Kaiming He, Ross Girshick, and Jian Sun. “Faster r-cnn: Towards real-time object detection with region proposal networks.” In Advances in neural information processing systems, pp. 91-99. 2015), a Single Shot Detector (SSD) (Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, Cheng-Yang Fu, and Alexander C. Berg. SSD: Single shot multi-box detector. 2016.)、およびYOLO Detector (J. Redmon, S. Divvala, R. Girshick, and A. Farhadi. You only look once: Unified, real-time object detection. In 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 779-788, June 2016.)等の種々の2-Dオブジェクト認識アルゴリズムが、使用されることができる。
【0151】
例えば、2-Dオブジェクト認識システムは、例えば、椅子、テーブル、水瓶、キーボード、書籍、マウス等の着目屋内オブジェクトを検出する、オブジェクト検出データセット上で訓練されたFasterR-CNNニューラルネットワークモデルを使用することができる。Faster R-CNNは、所定の数のオブジェクトの各々に対し、境界ボックスを生成することができる。各オブジェクト境界ボックスは、場面内で認識されているオブジェクトの場所を示すことができる。
【0152】
本システムは、オブジェクト認識システムからの出力として、入力画像内で認識されている1つ以上のオブジェクトの各々に対し、入力画像内の個別の境界ボックスを識別する、認識出力を受信する(408)。
【0153】
本システムは、境界ボックスを識別するデータを入力として3-D境界ボックス生成システムに提供する(410)。いくつかの実装では、オブジェクトが、入力カラー画像内で認識されていない場合、本システムは、入力画像のストリーム内の複数の入力画像内の次の入力カラー画像を処理するように進むことができる。本システムは、その中で少なくとも1つの着目オブジェクトが検出されている、入力画像のための3-D境界ボックス生成のみを実施してもよい。このように、本システムは、入力画像の多くが着目オブジェクトを有していない場合があるため、必要とされる算出の量を低減させることができる。
【0154】
3-D境界ボックス生成システムは、オブジェクトデータおよび境界ボックスから、入力画像内で認識されているオブジェクトのうちの1つ以上のものの各々に対し、個別の3-D境界ボックスを決定する。いくつかの実装では、3-D境界ボックス生成システムは、複数のサブシステムを含むことができる。いくつかの実装では、3-D境界ボックス生成システムは、マルチビュー融合システムと、境界ボックス精緻化システムとを含むことができる。マルチビュー融合システムは、3-D境界ボックスの初期セットを生成することができる。境界ボックス精緻化システムは、3-D境界ボックスの初期セットを精緻化し、1つ以上の3-D境界ボックスを生成することができる。
【0155】
マルチビュー融合システムは、3-Dオブジェクト境界ボックスの初期セットを生成することができる。いくつかの実装では、マルチビュー融合システムは、入力画像内で現在認識されている1つ以上のオブジェクトの近くにある、以前に認識されているオブジェクトを規定する、オブジェクトデータを読み出し、以前に認識されたオブジェクトを規定する、オブジェクトデータを更新することができる。
【0156】
いくつかの実装では、マルチビュー融合システムは、複数のステップを実施し、3-Dオブジェクト境界ボックスの初期セットを生成する、楕円体適合アルゴリズム(Rubino C, Crocco M, Del Bue A.3D Object Localisation from Multi-view Image Detections.IEEE transactions on pattern analysis and machine intelligence.2017May4;40(6):1281-94)を使用することができる。楕円体適合アルゴリズムは、多視点における2-Dオブジェクト検出境界ボックスに適合する2-D楕円体のセットを前提として、3-Dにおける楕円体の推定を生成することができる。
【0157】
楕円体適合アルゴリズムを用いることで、本システムは、各境界ボックスと近隣の既存のオブジェクト境界ボックスを関連付けることができる。入力画像内で現在識別されている各2-D境界ボックスに対し、本システムは、入力画像内で現在識別されている各2-D境界ボックスが、維持されるオブジェクトデータ内で以前に認識されているオブジェクトの1つ以上の2-D境界ボックスと関連付けられるかどうかを決定することができる。本システムは、境界ボックス間の距離を比較することによって、境界ボックスを関連付けることができる。例えば、本システムは、キーボード314(a)の以前に認識された2-D境界ボックスが、キーボード314(b)の現在認識されている2-D境界ボックスの近傍、例えば、10cm範囲内にあることを決定することができる。本システムは、次いで、キーボード314(b)の2-D境界ボックスと維持されるオブジェクトデータ内のキーボード314(a)の2-D境界ボックスを関連付けることができる。
【0158】
本システムが、入力画像内で現在識別されている2-D境界ボックスが以前に認識されているオブジェクトの1つ以上の2-D境界ボックスと関連付けられることを決定する場合、本システムは、以前に認識されたオブジェクトの維持されるオブジェクトデータを計算および更新することができる。いくつかの実装では、維持されるオブジェクトデータは、1つ以上の以前に認識された2-D境界ボックスに最良適合する、楕円体を含むことができる。本システムは、入力画像内で現在識別されている2-D境界ボックスと1つ以上の以前に認識された2-D境界ボックスの両方に最良適合する、楕円体を再計算することができる。例えば、本システムは、画像306内で現在識別されているキーボード314(c)の2-D境界ボックスがキーボード314(a)および314(b)の2-D境界ボックスと関連付けられることを決定することができる。本システムは、3つの異なるカメラ姿勢において検出されたキーボード314(a)、314(b)および314(c)のための2-D境界ボックスに最良適合する、更新された3-D楕円体を生成することができる。
【0159】
本システムが、入力画像内で現在識別されている2-D境界ボックスが以前に認識されているオブジェクトと関連付けられないことを決定する場合、本システムは、楕円体を入力画像内で現在識別されている少なくとも2-D境界ボックスから生成することによって、新しいオブジェクトを作成することができる。本システムは、新しいオブジェクトを維持されるオブジェクトデータに追加することができる。いくつかの実装では、本システムは、RANSACループ(Fischler MA, Bolles RC. Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography. Communications of the ACM. 1981 Jun 1;24(6):381-95)内で複数の近隣のフレームから生成された2-D境界ボックスに最良適合する、楕円体を生成することによって、新しいオブジェクトを作成することができる。
【0160】
本システムは、入力画像内で認識されているオブジェクトの楕円体を使用して、3-D境界ボックスの初期セットを生成することができる。例えば、入力画像内で認識されたオブジェクトのために生成された各3-D楕円体に対し、本システムは、緊密に適合する重力整合された3-D境界ボックスを、オブジェクトの初期3-D境界ボックスであり得る、楕円体から生成することができる(Rubino C, Crocco M, Del Bue A. 3D Object Localisation from Multi-view Image Detections. IEEE transactions on pattern analysis and machine intelligence. 2017 May 4;40(6):1281-94)。楕円体のメッシュ点が、行列の固有ベクトルおよび固有値を算出することによって、楕円体行列を前提として抽出されることができる、楕円体のメッシュ点は、既知の重力方向に基づいて、X-Y平面に投影されることができる。最も緊密に適合する2-D境界ボックスが、X-Y平面において算出されることができる。最も緊密に適合する2-D境界ボックスは、Z軸におけるメッシュ点の既知の範囲に基づいて、Z軸において延在されることができ、これは、緊密に適合する重力整合された3-D境界ボックスをもたらし得る。
【0161】
いくつかの実装では、マルチビュー融合システムは、3-Dオブジェクト境界ボックスをオブジェクトレベルにおいて生成することができる。各オブジェクト境界ボックスは、独立して更新されることができ、複数のオブジェクトが、並行して、かつ非同期して、更新されることができる。例えば、本システムは、並行して、第1のキーボード314の3-Dオブジェクト境界ボックス324と、第2のキーボード316の3-Dオブジェクト境界ボックス326とを更新することができる。本システムは、1つのマルチビュー融合システムを第1のキーボードのオブジェクト境界ボックスの作成および更新に作用させることができ、本システムは、非同期して、別のマルチビュー融合システムを第2のキーボードのオブジェクト境界ボックスの作成および更新に作用させることができ。2つのシステムは、並行して、かつ並列に、起動することができる。したがって、本システムは、多数のオブジェクトのための多数の画像およびデータを効率的に処理することができる。
【0162】
いくつかの実装では、本システムは、オブジェクトレベルロック/ロック解除方法を使用して、同一オブジェクトが異なるモジュールによって同時に更新されないことを確実にすることができる。例えば、本システムが、維持されるオブジェクトデータ内の入力画像302から以前に認識されたキーボード314(a)が存在することを決定後、本システムは、記憶システム内に記憶される以前に認識されたキーボード314の情報をロックしながら、入力画像304内で現在認識されているキーボード314(b)の2-Dオブジェクト境界ボックスとのマルチビュー融合を実施することができる。これは、キーボード314が並列に起動する他のモジュールによって更新されないことを確実にすることができる。
【0163】
境界ボックス精緻化システムは、3-D境界ボックス生成システムのサブシステムであることができる。境界ボックス精緻化システムは、3-D境界ボックスの初期セットを精緻化することができ、1つ以上の最終3-D境界ボックスを生成することができる。マルチビュー融合システムによって生成された全ての新しいまたは更新された境界ボックスに対し、境界ボックス精緻化システムは、雑音または重複境界ボックスを除去することができる。境界ボックス精緻化システムは、複数の参考文献に基づいて、複数の境界ボックス精緻化動作を実施することができる。
【0164】
例えば、本システムは、非最大値抑制アルゴリズム((Neubeck, Alexander, and Luc Van Gool. “Efficient non-maximum suppression.” 18th International Conference on Pattern Recognition (ICPR’06). Vol. 3. IEEE, 2006)等のアルゴリズムを通して、同一カテゴリに属する、重複境界ボックスを除去することができる。別の実施例として、本システムは、所与のカテゴリラベルに関してサイズ制約を充足させない、境界ボックスを除去することができる。例えば、本システムは、5センチメートル長未満である、キーボードとして標識される、境界ボックスを除去することができる。
【0165】
いくつかの実装では、オブジェクト認識システム、マルチビュー融合システム、および境界ボックス精緻化システムは、ステートレス様式で、相互から独立して動作することができる。オブジェクト認識タスクを複数のサブシステムに分割することによって、3-Dオブジェクト認識システムは、各サブシステムを独立ステートレスモジュール内に実装することができる。各ステートレスモジュールは、全体的システム性能に影響を及ぼさずに、必要に応じて、独立して、開始、再開、スケーリングアップ、またはスケーリングダウンされることができる。
【0166】
例えば、複数のARデバイスの複数のユーザが、同一オブジェクトを見ている場合、クラウドにおいて受信されている入力画像のフレーム/秒の数は、2-Dオブジェクト認識システムの各ステートレスモジュールが2-Dオブジェクト検出およびセグメント化を実施するために1秒かかり得るため、2-Dオブジェクト認識システムによって生成された出力/秒の数より多い。本システムは、2-Dオブジェクト認識を実施する、ステートレスモジュールをスケーリングアップし、本モジュールのスループットが、十分に高く、サブシーケンス処理モジュールをブロックしないことを確実にすることができる。
【0167】
3-Dオブジェクト認識システムは、ARデバイス(またはARデバイスユーザ)の数および環境の場面内のオブジェクトの数においてスケーラブルである。複数のARデバイスが、クラウドコンピューティング環境に接続されることができ、3-Dオブジェクト認識のための入力データの複数のストリームにともに寄与することができ、認識された3-Dオブジェクトを共有することができる。
【0168】
本システムは、3-D境界ボックス生成システムからの出力として、入力画像内で認識された1つ以上のオブジェクトのための1つ以上の3-D境界ボックスを規定する、データを受信する(412)。いくつかの実装では、本システムはまた、1つ以上の3-D境界ボックスを規定する、データを、中間3-D境界ボックスとして、記憶システム内に記憶する。
【0169】
本システムは、出力として、1つ以上の3-D境界ボックスを規定する、データを提供する(414)。本システムは、1つ以上の3-D境界ボックスを更新された3-D境界ボックスとしてクラウド内の記憶システム230内に記憶することができる。本システムはまた、直近の3-D境界ボックスのコピーをARデバイス上の記憶システム228内に記憶することができる。本システムは、出力をARシステムのパス可能世界コンポーネント202に提供することができる。
【0170】
パス可能世界コンポーネント202は、1つ以上の認識されたオブジェクトの1つ以上の3-D境界ボックスを使用して、複数のARデバイスを横断して共有される、パス可能世界モデルを作成または更新することができる。例えば、1つ以上の3-D境界ボックスは、パス可能世界モデル内の持続的座標フレーム(PCF)を作成または更新するために使用されることができる。いくつかの実装では、パス可能世界コンポーネントはさらに、新しいまたは更新されたパス可能世界モデルを生成するために、1つ以上の3-D境界ボックスを処理することができる。
【0171】
いくつかの実施形態のいくつかの側面がこれまで説明されたが、種々の改変、修正、および改良が、当業者に容易に想起されるであろうことを理解されたい。
【0172】
一実施例として、実施形態は、拡張(AR)環境に関連して説明される。本明細書に説明される技法の一部または全部は、MR環境、より一般的には、他のXR環境およびVR環境内に適用されてもよいことを理解されたい。
【0173】
別の実施例として、実施形態は、ウェアラブルデバイス等のデバイスに関連して説明される。本明細書に説明される技法の一部または全部は、ネットワーク(クラウド等)、離散アプリケーション、および/またはデバイス、ネットワーク、および離散アプリケーションの任意の好適な組み合わせを介して実装されてもよいことを理解されたい。
【0174】
本明細書は、システムおよびコンピュータプログラムコンポーネントに関連して、用語「構成される」を使用する。1つ以上のコンピュータのシステムに関して、特定の動作またはアクションを実施するように構成されるとは、システムが、動作時、システムに動作またはアクションを実施させるように、そのソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせ上にインストールしていることを意味する。1つ以上のコンピュータプログラムに関して、特定の動作またはアクションを実施するように構成されるとは、1つ以上のプログラムが、データ処理装置によって実行されると、装置に、動作またはアクションを実施させる、命令を含むことを意味する。
【0175】
本明細書に説明される主題および機能的動作の実施形態は、デジタル電子回路網内に、有形に具現化されるコンピュータソフトウェアまたはファームウェア内に、本明細書に開示される構造およびその構造均等物を含む、コンピュータハードウェア内に、またはそれらのうちの1つ以上のものの組み合わせ内に実装されることができる。本明細書に説明される主題の実施形態は、データ処理装置による実行のための、またはその動作を制御するために、1つ以上のコンピュータプログラム、すなわち、有形非一過性記憶媒体上にエンコーディングされたコンピュータプログラム命令の1つ以上のモジュールとして実装されることができる。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムまたはシリアルアクセスメモリデバイス、またはそれらのうちの1つ以上のものの組み合わせであることができる。代替として、または加えて、プログラム命令は、データ処理装置による実行のために好適な受信機装置への伝送のために情報をエンコーディングするように生成される、人工的に生成された伝搬信号、例えば、機械生成電気、光学、または電磁信号上にエンコーディングされることができる。
【0176】
用語「データ処理装置」は、データ処理ハードウェアを指し、一例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサまたはコンピュータを含む、データを処理するための全ての種類の装置、デバイス、および機械を包含する。装置はまた、またはさらに、特殊目的論理回路網、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含むことができる。装置は、随意に、ハードウェアに加え、コンピュータプログラムのための実行環境を作成する、コード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つ以上のものの組み合わせを構成する、コードを含むことができる。
【0177】
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、スクリプト、またはコードとも称される、またはそのように説明され得る、コンピュータプログラムは、コンパイルまたはインタープリタ型言語または宣言型または手続型言語を含む、任意の形態のプログラミング言語で書き込まれることができ、独立型プログラムとして、またはモジュール、コンポーネント、サブルーチン、またはコンピューティング環境において使用するために好適な他のユニットとしてを含む、任意の形態で展開されることができる。プログラムは、ファイルシステム内のファイルに対応してもよいが、そうである必要はない。プログラムは、マークアップ言語ドキュメント内に、当該プログラムに専用の単一ファイル内に、または複数の協調されるファイル、例えば、1つ以上のモジュール、サブプログラム、またはコードの一部を記憶する、ファイル内に記憶される、他のプログラムまたはデータ、例えば、1つ以上のスクリプトを保持する、ファイルの一部内に記憶されることができる。コンピュータプログラムは、1つのコンピュータ上で、または1つの施設に位置する、または複数の施設を横断して分散され、データ通信ネットワークによって相互に接続される、複数のコンピュータ上で、実行されるように展開されることができる。
【0178】
本明細書では、用語「データベース」は、任意のデータ集合を指すために広義に使用される。すなわち、データは、任意の特定の方法において構造化される必要はなく、または全く構造化されず、1つ以上の場所における記憶デバイス上に記憶されることができる。したがって、例えば、インデックスデータベースは、複数のデータ集合を含むことができ、それぞれ、異なるように編成およびアクセスされてもよい。
【0179】
同様に、本明細書では、用語「エンジン」は、1つ以上の具体的機能を実施するようにプログラムされる、ソフトウェアベースのシステム、サブシステム、またはプロセスを指すために広義に使用される。概して、エンジンは、1つ以上の場所における1つ以上のコンピュータ上にインストールされる、1つ以上のソフトウェアモジュールまたはコンポーネントとして実装されるであろう。ある場合には、1つ以上のコンピュータは、特定のエンジンに専用であって、他の場合では、複数のエンジンが、同一コンピュータまたは複数のコンピュータ上にインストールされ、起動することができる。
【0180】
本明細書に説明されるプロセスおよび論理フローは、入力データに作用し、出力を生成することによって、1つ以上のコンピュータプログラムを実行する、1つ以上のプログラマブルコンピュータによって実施され、機能を実施することができる。プロセスおよび論理フローはまた、特殊目的論理回路網、例えば、FPGAまたはASICによって、または特殊目的論理回路網および1つ以上のプログラムされるコンピュータの組み合わせによって実施されることができる。
【0181】
コンピュータプログラムの実行のために好適なコンピュータは、一般または特殊目的マイクロプロセッサまたは両方または任意の他の種類の中央処理ユニットに基づくことができる。概して、中央処理ユニットは、命令およびデータを読取専用メモリまたはランダムアクセスメモリまたは両方から受信するであろう。コンピュータの不可欠な要素は、命令を実施または実行するための中央処理ユニットと、命令およびデータを記憶するための1つ以上のメモリデバイスとである。中央処理ユニットおよびメモリは、特殊目的論理回路網によって補完される、またはその中に組み込まれることができる。概して、コンピュータもまた、データを記憶するための1つ以上の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクからデータを受信する、またはそこにデータを転送する、または両方を行うように含まれる、または動作可能に結合されるであろう。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、例えば、いくつかのみを挙げると、モバイル電話、携帯情報端末(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス、例えば、ユニバーサルシリアルバス(USB)フラッシュドライブに内蔵されることができる。
【0182】
コンピュータプログラム命令およびデータを記憶するために好適なコンピュータ可読媒体は、あらゆる形態の不揮発性メモリ、メディア、およびメモリデバイスを含み、一例として、半導体メモリデバイス、例えば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、例えば、内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、およびCD ROMおよびDVD-ROMディスクを含む。
【0183】
ユーザとの相互作用を提供するために、本明細書に説明される主題の実施形態は、情報をユーザに表示するためのディスプレイデバイス、例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタと、それによってユーザがコンピュータに提供し得る、キーボードおよびポインティングデバイス、例えば、マウスまたはトラックボールとを有する、コンピュータ上に実装されることができる。他の種類のデバイスも同様に、ユーザとの相互作用を提供するために使用されることができる。例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば、視覚的フィードバック、聴覚的フィードバック、または触覚フィードバックであることができ、ユーザからの入力は、音響、発話、または触覚入力を含む、任意の形態で受信されることができる。加えて、コンピュータは、ユーザによって使用されるデバイスにドキュメントを送信し、そこからドキュメントを受信することによって、例えば、ウェブブラウザから受信された要求に応答して、ウェブページをユーザのデバイス上のウェブブラウザに送信することによって、ユーザと相互作用することができる。また、コンピュータは、テキストメッセージまたは他の形態のメッセージをパーソナルデバイス、例えば、メッセージングアプリケーションを起動している、スマートフォンに送信し、返信として、応答性メッセージをユーザから受信することによって、ユーザと相互作用することができる。
【0184】
機械学習モデルを実装するためのデータ処理装置はまた、例えば、機械学習訓練または生産の共通および算出集約的部分、すなわち、推定ワークロードを処理するための特殊目的ハードウェアアクセラレータユニットを含むことができる。
【0185】
機械学習モデルは、機械学習フレームワーク、例えば、TensorFlowフレームワーク、Microsoft Cognitive Toolkitフレームワーク、Apache Singaフレームワーク、またはApache MXNetフレームワークを使用して、実装および展開されることができる。
【0186】
本明細書に説明される主題の実施形態は、例えば、データサーバとして、バックエンドコンポーネントを含む、またはミドルウェアコンポーネント、例えば、アプリケーションサーバを含む、またはフロントエンドコンポーネント、例えば、それを通してユーザが本明細書に説明される主題の実装と相互作用し得る、グラフィカルユーザインターフェース、ウェブブラウザ、またはアプリを有する、クライアントコンピュータを含む、または1つ以上のそのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組み合わせである、コンピューティングシステム内に実装されることができる。本システムのコンポーネントは、任意の形態または媒体のデジタルデータ通信、例えば、通信ネットワークによって相互接続されることができる。通信ネットワークの実施例は、ローカルエリアネットワーク(LAN)および広域ネットワーク(WAN)、例えば、インターネットを含む。
【0187】
コンピューティングシステムは、クライアントと、サーバとを含むことができる。クライアントおよびサーバは、概して、相互から遠隔であって、典型的には、通信ネットワークを通して、相互作用する。クライアントおよびサーバの関係は、個別のコンピュータ上で起動し、相互にクライアント-サーバ関係を有する、コンピュータプログラムによって生じる。いくつかの実施形態では、サーバが、例えば、データを表示する目的のために、データ、例えば、HTMLページをユーザデバイスに伝送し、ユーザ入力を、クライアントとして作用する、デバイスと相互作用するユーザから受信する。ユーザデバイスにおいて生成されたデータ、例えば、ユーザ相互作用の結果は、サーバにおいてデバイスから受信されることができる。
【0188】
本明細書は、多くの具体的実装詳細を含有するが、これらは、任意の発明の範囲または請求され得る内容の範囲に関する限界としてではなく、むしろ、特定の発明の特定の実施形態に特有であり得る、特徴の説明として解釈されるべきである。別個の実施形態のコンテキストにおいて本明細書に説明される、ある特徴はまた、単一実施形態において組み合わせて実装されることができる。逆に言えば、単一実施形態のコンテキストに説明される、種々の特徴はまた、別個に、または任意の好適な副次的組み合わせにおいて、複数の実施形態に実装されることができる。さらに、特徴は、ある組み合わせにおいて作用するように上記に説明され、最初に、そのように請求さえされ得るが、請求される組み合わせからの1つ以上の特徴は、ある場合には、組み合わせから除外されることができ、請求される組み合わせは、副次的組み合わせまたは副次的組み合わせの変動を対象とし得る。
【0189】
同様に、動作は、特定の順序において、図面に描写され、請求項に列挙されるが、これは、そのような動作が示される特定の順序または順次順序において実施される、または全ての図示される動作が望ましい結果を達成するために実施されることを要求するものとして理解されるべきではない。ある状況では、マルチタスクおよび並列処理が、有利であり得る。さらに、上記に説明される実施形態における種々のシステムモジュールおよびコンポーネントの分離は、全ての実施形態においてそのような分離を要求するものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムは、概して、単一ソフトウェア製品内にともに統合される、または複数のソフトウェア製品にパッケージ化されることができることを理解されたい。
【0190】
本主題の特定の実施形態が、説明されている。他の実施形態も、以下の請求項の範囲内である。例えば、請求項に列挙されるアクションは、異なる順序で実施され、依然として、望ましい結果を達成することができる。一実施例として、付随の図に描写されるプロセスは、必ずしも、望ましい結果を達成するために、示される特定の順序または順次順序を要求するものではない。ある場合には、マルチタスクおよび並列処理が、有利であり得る。
【国際調査報告】