(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-10-05
(54)【発明の名称】屋内シーン再構成のためのマルチプレーンマッピング
(51)【国際特許分類】
G06T 17/10 20060101AFI20230928BHJP
G06T 19/00 20110101ALI20230928BHJP
【FI】
G06T17/10
G06T19/00 A
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022562327
(86)(22)【出願日】2020-07-22
(85)【翻訳文提出日】2022-12-21
(86)【国際出願番号】 CN2020103432
(87)【国際公開番号】W WO2022016407
(87)【国際公開日】2022-01-27
(81)【指定国・地域】
(71)【出願人】
【識別番号】591003943
【氏名又は名称】インテル・コーポレーション
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】シ、シュエソン
【テーマコード(参考)】
5B050
5B080
【Fターム(参考)】
5B050BA09
5B050BA11
5B050DA01
5B050EA07
5B050EA28
5B050FA02
5B080AA17
5B080GA00
(57)【要約】
2.5Dモデルを用いた平坦エリアと3Dモデルを用いた非平坦エリアとをモデリングすることによりシーンを再構成するためのシーン再構成方法およびシーン再構成技術が、本明細書において説明される。特に、屋内シーンの深度データが受信される。屋内シーンの平坦エリアは、深度データに基づいて識別され、2.5D平坦モデルを用いてモデリングされる。3Dモデルを用いて他のエリアがモデリングされ、2.5Dモデルおよび3Dモデルの両方を用いてシーン全体が再構成される。
【特許請求の範囲】
【請求項1】
プロセッサと、
命令を格納したメモリと
を備えるコンピューティング装置であって、
前記命令は、前記プロセッサにより実行された場合、
屋内シーンのインジケーションを含むシーン撮像データを深度測定デバイスから受信することと、
前記シーン撮像データから前記屋内シーンの平坦エリアを識別することと、
2.5次元(2.5D)モデルを用いて、前記平坦エリアをモデリングすることと、
前記シーン撮像データから前記屋内シーンの非平坦エリアを識別することと、
3次元(3D)モデルを用いて、前記屋内シーンの前記非平坦エリアをモデリングすることと、
前記2.5Dモデルおよび前記3Dモデルに基づいて、前記屋内シーンのデジタル再構成のインジケーションを含む視覚化データを生成することと
を前記コンピューティング装置に実行させる、
コンピューティング装置。
【請求項2】
前記2.5Dモデルを用いて、前記平坦エリアをモデリングすることは、
平坦面を前記平坦エリアにはめ込むことと、
面上の複数の点の各々について、はめ込み面から前記平坦面までの距離を設定することと
を含む、
請求項1に記載のコンピューティング装置。
【請求項3】
前記メモリは、命令を格納しており、前記命令は、前記プロセッサにより実行された場合、
切り捨て符号付き距離関数(TSDF)に基づいて、前記はめ込み面から前記平坦面までの前記距離を導出することと、
重み付け値を前記面上の前記複数の点の各々について設定することであって、前記重み付け値は、前記距離の信頼度のインジケーションを含む、設定することと
を前記コンピューティング装置に実行させる、
請求項2に記載のコンピューティング装置。
【請求項4】
前記視覚化データは、前記屋内シーンの前記デジタル再構成をレンダリングして仮想現実または代替現実システムのための前記屋内シーンのグラフィカル表現を提供するために用いられるデータを含む、請求項1から3のいずれか一項に記載のコンピューティング装置。
【請求項5】
前記シーン撮像データは、複数の点を含み、前記メモリは、命令を格納しており、前記命令は、前記プロセッサにより実行された場合、
前記平坦エリアに関連付けられた前記複数の点のいくつかをマーキングすることと、
マーキングされていない前記複数の点の前記いくつかから前記非平坦エリアを識別することと
を前記コンピューティング装置に実行させる、
請求項1から4のいずれか一項に記載のコンピューティング装置。
【請求項6】
前記3Dモデルを用いて、前記非平坦エリアをモデリングすることは、前記非平坦エリアを表すボクセル値およびノード値を導出することを含む、請求項1から5のいずれか一項に記載のコンピューティング装置。
【請求項7】
前記プロセッサと前記メモリとに結合された頭部装着コンピューティングデバイスをさらに備え、前記頭部装着コンピューティングデバイスは、フレームと、前記フレームに結合されたディスプレイとを有する、請求項1から6のいずれか一項に記載のコンピューティング装置。
【請求項8】
前記頭部装着コンピューティングデバイスは、仮想現実コンピューティングデバイスまたは代替現実コンピューティングデバイスである、請求項7に記載のコンピューティング装置。
【請求項9】
屋内シーンのインジケーションを含むシーン撮像データを深度測定デバイスから受信する段階と、
前記シーン撮像データから前記屋内シーンの平坦エリアを識別する段階と、
2.5次元(2.5D)モデルを用いて、前記平坦エリアをモデリングする段階と、
前記シーン撮像データから前記屋内シーンの非平坦エリアを識別する段階と、
3次元(3D)モデルを用いて、前記屋内シーンの前記非平坦エリアをモデリングする段階と、
前記2.5Dモデルおよび前記3Dモデルに基づいて、前記屋内シーンのデジタル再構成のインジケーションを含む視覚化データを生成する段階と
を備えるコンピュータ実装方法。
【請求項10】
前記2.5Dモデルを用いて、前記平坦エリアをモデリングする段階は、
平坦面を前記平坦エリアにはめ込む段階と、
面上の複数の点の各々について、はめ込み面から前記平坦面までの距離を設定する段階と
を有する、
請求項9に記載のコンピュータ実装方法。
【請求項11】
切り捨て符号付き距離関数(TSDF)に基づいて、前記はめ込み面から前記平坦面までの前記距離を導出する段階を備える、請求項10に記載のコンピュータ実装方法。
【請求項12】
前記面上の前記複数の点の各々について、重み付け値を設定する段階であって、前記重み付け値は、前記距離の信頼度のインジケーションを含む、設定する段階を備える、請求項10から11のいずれか一項に記載のコンピュータ実装方法。
【請求項13】
前記シーン撮像データは、複数の点を含み、前記コンピュータ実装方法は、
前記平坦エリアに関連付けられた前記複数の点のいくつかをマーキングする段階と、
マーキングされていない前記複数の点の前記いくつかから前記非平坦エリアを識別する段階と
を備える、請求項9から12のいずれか一項に記載のコンピュータ実装方法。
【請求項14】
前記3Dモデルを用いて、前記非平坦エリアをモデリングする段階は、前記非平坦エリアを表すボクセル値およびノード値を導出する段階を有する、請求項9から13のいずれか一項に記載のコンピュータ実装方法。
【請求項15】
命令を備えるコンピュータプログラムであって、前記命令は、コンピュータにより実行された場合、
屋内シーンのインジケーションを含むシーン撮像データを深度測定デバイスから受信することと、
前記シーン撮像データから前記屋内シーンの平坦エリアを識別することと、
2.5次元(2.5D)モデルを用いて、前記平坦エリアをモデリングすることと、
前記シーン撮像データから前記屋内シーンの非平坦エリアを識別することと、
3次元(3D)モデルを用いて、前記屋内シーンの前記非平坦エリアをモデリングすることと、
前記2.5Dモデルおよび前記3Dモデルに基づいて、前記屋内シーンのデジタル再構成のインジケーションを含む視覚化データを生成することと
を前記コンピュータに実行させる、
コンピュータプログラム。
【請求項16】
前記2.5Dモデルを用いて、前記平坦エリアをモデリングすることは、
平坦面を前記平坦エリアにはめ込むことと、
面上の複数の点の各々について、はめ込み面から前記平坦面までの距離を設定することと
を含む、請求項15に記載のコンピュータプログラム。
【請求項17】
切り捨て符号付き距離関数(TSDF)に基づいて、前記はめ込み面から前記平坦面までの前記距離を導出することを前記コンピュータに実行させる命令を備える、請求項16に記載のコンピュータプログラム。
【請求項18】
前記面上の前記複数の点の各々について、重み付け値を設定することであって、前記重み付け値は、前記距離の信頼度のインジケーションを含む、設定することを前記コンピュータに実行させる命令を備える、請求項16から17のいずれか一項に記載のコンピュータプログラム。
【請求項19】
前記シーン撮像データは、複数の点を含み、前記命令は、
前記平坦エリアに関連付けられた前記複数の点のいくつかをマーキングすることと、
マーキングされていない前記複数の点の前記いくつかから前記非平坦エリアを識別することと
を前記コンピュータに実行させる、
請求項15から18のいずれか一項に記載のコンピュータプログラム。
【請求項20】
前記3Dモデルを用いて、前記非平坦エリアをモデリングすることは、前記非平坦エリアを表すボクセル値およびノード値を導出することを含む、請求項15から19のいずれか一項に記載のコンピュータプログラム。
【請求項21】
屋内シーンのインジケーションを含むシーン撮像データを深度測定デバイスから受信するための手段と、
前記シーン撮像データから前記屋内シーンの平坦エリアを識別するための手段と、
2.5次元(2.5D)モデルを用いて、前記平坦エリアをモデリングするための手段と、
前記シーン撮像データから前記屋内シーンの非平坦エリアを識別するための手段と、
3次元(3D)モデルを用いて、前記屋内シーンの前記非平坦エリアをモデリングするための手段と、
前記2.5Dモデルおよび前記3Dモデルに基づいて、前記屋内シーンのデジタル再構成のインジケーションを含む視覚化データを生成するための手段と
を備えるコンピューティング装置。
【請求項22】
前記2.5Dモデルを用いて、前記平坦エリアをモデリングするための前記手段は、
平坦面を前記平坦エリアにはめ込むための手段と、
面上の複数の点の各々について、はめ込み面から前記平坦面までの距離を設定するための手段と
を有する、
請求項21に記載のコンピューティング装置。
【請求項23】
切り捨て符号付き距離関数(TSDF)に基づいて、前記はめ込み面から前記平坦面までの前記距離を導出するための手段を備える、請求項22に記載のコンピューティング装置。
【請求項24】
前記面上の前記複数の点の各々について、重み付け値を設定するための手段であって、前記重み付け値は、前記距離の信頼度のインジケーションを含む、設定するための手段を備える、請求項22から23のいずれか一項に記載のコンピューティング装置。
【請求項25】
前記シーン撮像データは、複数の点を含み、前記コンピューティング装置は、
前記平坦エリアに関連付けられた前記複数の点のいくつかをマーキングするための手段と、
マーキングされていない前記複数の点の前記いくつかから前記非平坦エリアを識別するための手段と
を備える、請求項21から24のいずれか一項に記載のコンピューティング装置。
【請求項26】
請求項15から20のいずれか一項に記載のコンピュータプログラムを格納するコンピュータ可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【0001】
現代のコンピューティングアプリケーションの多くが、拡張現実(AR)、仮想現実(VR)、ロボット工学、自律アプリケーション等において用いられるシーンを再構成する。しかしながら、密な3次元(3D)再構成など、従来のシーン再構成には、計算要件およびメモリ要件の両方において、非常に高い計算要件がある。したがって、本技術は、必要な計算リソースおよびメモリリソースを欠いたモバイルアプリケーションなど、多くのアプリケーションのためのリアルタイムのシーン再構成には適切ではない。
【図面の簡単な説明】
【0002】
任意の特定の要素または動作の説明を容易に識別できるよう、参照番号における最上位の1つまたは複数の桁は、その要素が最初に紹介される図番号を指す。
【0003】
【
図1】一実施形態によるシーン再構成デバイス100を示す。
【0004】
【0005】
【0006】
【
図4A】一実施形態による、ボクセルおよびノードの使用を含むオクツリーモデル402を示す。
【
図4B】一実施形態による、ボクセルおよびノードの使用を含むオクツリーモデル402を示す。
【0007】
【
図5】一実施形態によるオクツリーモデル500を示す。
【0008】
【0009】
【0010】
【
図8A】一実施形態による屋内シーン800を示す。
【
図8B】一実施形態による屋内シーン800を示す。
【
図8C】一実施形態による屋内シーン800を示す。
【
図8D】一実施形態による屋内シーン800を示す。
【0011】
【
図9】一実施形態によるコンピュータ可読記憶媒体900を示す。
【0012】
【
図10】例示的な実施形態による、本明細書において記載される方法のうちのいずれか1つまたは複数を機械1000に実行させるための命令のセットが内部で実行され得るコンピュータシステムの形態の機械1000の図表現を示す。
【発明を実施するための形態】
【0013】
シーン再構成は、場合によっては、密なマッピングと称されてよく、物理環境の画像または3Dスキャンに基づいて物理環境をデジタル方式で再構成するように動作する。
【0014】
概して、本開示は、シーンと、シーンのエリア(例えば、平坦エリア、非平坦エリア、境界エリア、面内の穴等)をモデリングするための2.5次元(2.5D)モデルとを再構成するためのシーン再構成方法ならびに技術、システムおよび装置を提供する。いくつかの例では、2.5Dモデルは、シーン再構成システムへ統合されてよく、シーンのある部分をモデリングするために用いられてよい。一方、シーンの他の部分は、3Dモデルによりモデリングされてよい。
【0015】
本開示は、例えば、ロボット工学、AR、VR、自律運転、高精細(HD)マッピング等の用途にシーン再構成を提供し得る。特に、本明細書においてより詳細に説明されるように、本開示は、2.5Dモデルを用いてシーンの全部または一部がモデリングされるシーン再構成システムを提供し得る。そのため、本開示は、計算リソースが限定されているシステムにおいて、例えば、専用グラフィックス処理ユニット(GPU)等を欠いているシステムにより、実装され得る。
【0016】
図面に示される実施形態の詳細な説明をここで参照する。図面および関連する説明に関連して実施形態を説明するが、本明細書において開示される実施形態の範囲を限定することは意図されていない。反対に、全ての代替的な修正および均等物を包含することが意図されている。代替的な実施形態において、追加のデバイス、または図示されるデバイスの組み合わせが、本明細書において開示される実施形態の範囲を限定することなく、追加されたり、組み合わされたりしてよい。「一実施形態において」、「様々な実施形態において」および「いくつかの実施形態において」等の語句が、繰り返し用いられる。そのような語句は、必ずしも、同一の実施形態を指すわけではない。文脈上別段の記載がない限り、「備える(comprising)」、「有する(having)」および「含む(including)」という用語は、同義語である。
【0017】
図1は、本開示の実施形態によるシーン再構成デバイス100を示す。概して、シーン再構成デバイス100は、例えば、ウェアラブルデバイス、ヘッドマウントデバイス、コンピュータ、ラップトップ、タブレットまたはスマートフォン等、様々なデバイスのいずれかにより具現化され得る。さらに、シーン再構成デバイス100は、
図1に示されるものよりも多い(または少ない)コンポーネントを含み得ることが理解されるべきである。本明細書には示されていないが、シーン再構成デバイス100は、ユーザが装着可能な(例えば、頭部に装着されるように適合させられた等の)フレームを含み得る。このフレームには、使用中に(またはユーザが装着している間に)ディスプレイがユーザに見えるように、ディスプレイが搭載される。
【0018】
シーン再構成デバイス100は、シーン撮像デバイス102と、処理回路104と、メモリ106と、入力および出力デバイス108(I/O)と、ネットワークインタフェース回路110(NIC)と、ディスプレイ112とを含む。これらのコンポーネントは、1つまたは複数のバス(不図示)により接続され得る。概して、そのようなバスシステムは、シーン再構成デバイス100の様々なコンポーネントおよびサブシステムが意図されたとおり互いに通信することを可能にするための機構を提供する。いくつかの例において、バスは、例えば、PCIバス、USBバスまたはフロントサイドバス等、様々なバスのいずれかであり得る。
【0019】
シーン撮像デバイス102は、シーンについての情報を撮像するように配置された様々なデバイスのいずれかであり得る。例えば、シーン撮像デバイス102は、レーダシステム、深度カメラシステム、3Dカメラシステムまたはステレオカメラシステム等であり得る。例は、この文脈において限定されない。しかしながら、概して、シーン撮像デバイス102は、屋内の部屋(例えば、
図2を参照されたい)など、シーンの深度についての情報を撮像するように配置され得る。
【0020】
シーン再構成デバイス100は、処理回路104のうちの1つまたは複数を含み得る。処理回路104が中央処理装置(CPU)として示されているが、処理回路104は、マルチスレッドプロセッサ、マルチコアプロセッサ(マルチコアが同じまたは別個のダイ上に共存しているかどうかを問わない)、特定用途向け集積回路(ASIC)、フィールドプログラマブル集積回路(FPGA)を含み得ることに留意されたい。いくつかの例において、処理回路104は、グラフィックス処理部を含んでよく、専用メモリ、マルチスレッド処理能力および/またはいくつかの他の並列処理能力を含んでよい。いくつかの例において、処理回路104は、例えば人工知能(AI)、機械学習またはグラフィックスに関連する特定の計算を実行するように配置された回路であってよい。そのような回路は、アクセラレータと称され得る。さらに、本明細書ではCPUと称されるが、処理回路104に関連付けられた回路は、グラフィックス処理ユニット(GPU)であってもよく、従来のCPUまたはGPUのいずれでなくてもよい。追加的に、マルチプロセッシング回路104は、シーン再構成デバイス100に含まれており、各処理回路104は、同一である必要はない。
【0021】
メモリ106は、コンピュータ可読データおよび命令を格納するように構成された有形の媒体であり得る。有形の媒体の例は、例えば、フラッシュメモリ、非一時的リードオンリメモリ(ROM)、ダイナミックランダムアクセスメモリ(DRAM)、NANDメモリ、NORメモリ、相変化メモリまたはバッテリバックアップ式揮発性メモリ等、データを格納するための回路(例えば、半導体メモリ)を含む。概して、メモリ106は、回路(例えば、処理回路104等)により実行可能な命令を格納するように配置された少なくともいくつかの非一時的コンピュータ可読媒体を含むであろう。メモリ106は、DVD/CD-ROMドライブ、関連付けられた媒体、またはメモリカード等を含み得る。追加的に、メモリ106は、ハードディスクドライブまたはソリッドステートドライブを含み得る。
【0022】
入力および出力デバイス108は、シーン再構成デバイス100への入力情報を受信するための、またはシーン再構成デバイス100からの情報を出力するためのデバイスおよび機構を含む。これらは、キーボードと、キーパッドと、ディスプレイ112へ組み込まれたタッチスクリーンと、音声認識システム、マイクおよび他のタイプの入力デバイスなど、オーディオ入力デバイスとを含み得る。様々な実施形態において、入力および出力デバイス108は、コンピュータマウス、トラックボール、トラックパッド、ジョイスティック、無線リモート、描画タブレット、音声コマンドシステムおよび視線追跡システム等として具現化され得る。入力および出力デバイス108は、典型的には、ユーザが、ディスプレイ112上に現れるオブジェクト、アイコン、制御エリアおよびテキスト等を、例えば、ボタンのクリック等、コマンドを介して選択することを可能にする。さらに、入力および出力デバイス108は、当技術分野において理解されているスピーカ、プリンタ、赤外線LEDおよびディスプレイ112等も含み得る。ディスプレイ112は、画像を表示するためのデバイス、またはグラフィカルユーザインタフェース(GUI)のいずれかを含み得る。
【0023】
メモリ106は、命令114、シーン撮像データ116、2.5D面データ118、3Dデータ120および視覚化データ122を含み得る。概して、処理回路104は、命令114を実行して、シーン(例えば、
図2の屋内シーン200等)のインジケーションを受信し、インジケーションをシーン撮像データ116として格納できる。具体例として、処理回路104は、命令114を実行して、シーンに関するインジケーションをシーン撮像デバイス102から受信できる。そのようなインジケーションは、シーン内の様々な点の深度情報を含み得る。これについては、以下でより詳細に説明する。
【0024】
さらに、処理回路104は、命令114を実行して、2.5D面データ118および3Dデータ120の両方を生成できる。より具体的には、本開示は、シーンの複数の部分が2D面により表され得るようにする。そのため、2.5D面データ118は、シーンのこれらの部分のシーン撮像データ116から生成され得る。同様に、シーンの他の部分は、3Dデータにより表され得る。そのため、3Dデータ120は、シーンのこれらの部分のシーン撮像データ116から生成され得る。その後、視覚化データ122が、2.5D面データ118および3Dデータ120から生成され得る。視覚化データ122は、シーンのレンダリングのインジケーションを含み得る。視覚化データ122は、VRシステムまたはARシステムのいずれにおいても用いられ得る。そのため、視覚化データ122は、シーンの仮想レンダリングのインジケーションまたはシーンの拡張現実レンダリングを含み得る。
【0025】
図2は、シーン再構成デバイス100など、シーン再構成デバイスにより可視化または再構成され得る屋内シーン200を示す。屋内シーン200は、屋内空間の単一の壁を示すことに留意されたい。これは、本開示の説明のための例の図示および説明を容易にするために行われている。しかしながら、実際には、本開示は、多柱壁、物体および空間等を含むシーンの再構成に適用され得る。
【0026】
屋内シーン200は、壁202、絵画204および長椅子206を含む。シーン再構成デバイス100は、屋内シーン200の点の(例えば、デバイス102から、固定基準点から等)深度のインジケーションなど、屋内シーン200のインジケーションを撮像するように配置され得る。明確さを目的として屋内シーン200内の点が示されていないことに留意されたい。さらに、シーン撮像デバイスの点の数、またはむしろ解像度は、変化し得る。
【0027】
屋内シーン200は、本開示の説明のための例を説明するために用いられる。これらの例では、シーンが、シーンの複数の部分を2D面として、シーンの他の部分を3Dオブジェクトとして表すことにより再現される。特に、屋内シーン200は、絵画204と長椅子206とにより覆われていない壁202の複数の部分を2D面208として表すことにより再現され得る。さらに、絵画204のフレーム部分は、3Dオブジェクト210として表されてよく、一方、絵画204のキャンバス一部は、2D面212として表されてよい。同様に、長椅子206は、3Dオブジェクト214として表されてよい。屋内シーン200の複数の部分を2D面として表すことにより、本開示は、大規模な計算リソース(例えば、GPUサポート等)を必要とすることなく、リアルタイムおよび/またはオンデバイスのシーン再構成を実現する。
【0028】
図3は、本開示の例による、シーンを再構成するためにデバイスにより実装され得るルーチン300を示す。例えば、シーン再構成デバイス100は、ルーチン300を実装できる。
図1のシーン再構成デバイス100および
図2の屋内シーン200を参照してルーチン300を説明するが、ルーチン300は、ここに示されているものとは異なるデバイスにより、シーンを再構成するために実装され得る。例は、この点に関して限定されない。
【0029】
ルーチン300は、ブロック302「シーンのインジケーションを含むデータを受信する」で始まり得る。ここで、シーンのインジケーションを含むデータが受信され得る。例えば、処理回路104は、命令114を実行して、シーン撮像データ116を受信できる。具体例として、処理回路104は、命令114を実行して、シーン撮像デバイス102に、シーン(例えば、屋内シーン200)のインジケーションを撮像させることができる。処理回路104は、命令114を実行して、撮像されたインジケーションをシーン撮像データ116として格納できる。
【0030】
ブロック304「シーン内の平坦エリアを識別する」へ続き、シーン内の平坦エリアが識別され得る。概して、屋内シーンでは、平坦面(例えば、壁、床、天井等)は、典型的には、非自由空間の大部分を占有する。これらのそのような平坦エリアは、ブロック304において識別される。例えば、処理回路104は、命令114を実行して、平坦な深度値を有するシーン撮像データ116内のエリアを識別することにより、表面を形成できる。具体例において、点の選択にわたって互いに閾値内の深度値が、平坦面として識別される。
図2を参照すると、処理回路104は、命令114を実行して、シーン撮像データ116を分析し、2D面208および2D面212を、これらの表面に対応する点に関連付けられた深度値から識別できる。
【0031】
ブロック306「シーンを面および3Dオブジェクトへセグメント化する」へ続き、シーンは、面および3Dオブジェクトへセグメント化され得る。例えば、ブロック304において識別された平坦エリアに関連付けられたシーン撮像データ116内の点が、シーンの他の点からセグメント化され得る。処理回路104は、命令114を実行して、識別された面に関連付けられたシーン撮像データ116の点を識別またはマーキングできる。具体例として、識別された平坦エリアに関連付けられた点の深度値は、負数1(-1)により乗算され得る。従来のシステムでは、深度値が負ではない。そのため、負の深度値が、平坦エリア内の包含を示し得る。別の具体例として、処理回路104は、命令114を実行して、2D面208および2D面212の2.5D面データ118を生成できる。
【0032】
サブルーチンブロック308「平坦エリアの2.5D面モデルを生成する」へ続き、識別された平坦エリアの2.5D面モデルが生成され得る。例えば、処理回路104は、命令114を実行して、識別された平坦エリアに関連付けられたシーン撮像データ116の点から2.5D面データ118を生成できる。これについては、例えば
図6に関し、以下でより詳細に説明する。サブルーチンブロック310「3Dオブジェクトの3Dオブジェクトモデルを生成する」へ続き、ブロック304において識別された3Dオブジェクトエリアの3Dオブジェクトモデルが生成され得る。例えば、処理回路104は、命令114を実行して、平坦であると識別されていないエリアの(または3Dオブジェクトとして識別されたエリアの)シーン撮像データ116から3Dデータ120を生成できる。具体例として、処理回路104は、命令114を実行して、3Dオブジェクト210および3Dオブジェクト214の3Dデータ120を生成できる。
【0033】
サブルーチンブロック312「2.5D面モデルおよび3Dオブジェクトモデルからシーンを再構成する」へ続き、シーンは、サブルーチンブロック308およびサブルーチンブロック310において生成された2.5D面モデルおよび3Dオブジェクトモデルから再構成(例えば、可視化等)され得る。より具体的には、処理回路104は、命令114を実行して、サブルーチンブロック308において生成された2.5D面データ118と、サブルーチンブロック310において生成された3Dデータ120とから視覚化データ122を生成できる。いくつかの例では、処理回路104は、命令114を実行して、再構成されたシーンを(例えば、視覚化データ122等に基づいて)ディスプレイ112に表示できる。より具体的には、処理回路104は、命令114を実行して、再構成された屋内シーン200をVR画像またはAR画像の一部として表示できる。
【0034】
ルーチン300は、シーン内のオブジェクトまたは面をモデリングし、かつ、これらのモデリングからシーンを再構成するための様々なサブルーチンを示すことに留意されたい。シーン再構成において、シーン撮像データ116は、典型的には、点、点群またはサーフェルのインジケーションを含む。上記とは異なり、点群は主に、生のセンサデータをモデリングするために用いられる。点群データから、ボクセルが生成され得る。より具体的には、ボリュメトリック法を適用して、各グリッドセルがボクセルと名付けられる標準グリッドを有する3D空間(例えば、点群)をデジタル化できる。各ボクセルについて、この場所が占有されている確率(占有グリッドマッピング)、または、最も近い表面までの距離(符号付き距離関数(SDF)または切り捨てSDF(TSDF))のいずれかを表すための値が格納される。
【0035】
従来のボリュメトリック法技術では、部屋のサイズのまたはそれよりも大きい屋内空間のボクセルを生成するのが非実用的であることに留意されたい。つまり、現代のデスクトップコンピュータのメモリは、全てのボクセルのインジケーションを格納するには不十分である。そのため、オクツリーおよびハッシュを用いて、ボクセルが圧縮され得る。
図4Aは、同じ値を有する(例えば、1.0の占有確率を全てが有するか、0.0の占有確率を全てが有する)8個の隣接するボクセル(例えば、ボクセル404等)が1つのノード406のみで全体的に表され得るオクツリーモデル402を示す。同じ値を有する8個の隣接するノード(例えば、ノード406等)をより大きいノード408へとコンパクトにすることにより、圧縮が進められ得る。
【0036】
図4Bは、非自由値を有するボクセルのみが格納されるハッシュテーブル410のハッシュを示す。具体的には、ハッシュテーブル410は、非自由であるオクツリーノードアレイ412におけるノードのインジケーションのみを格納する。いくつかの例では、
図4Bに示されるように、ハッシュおよびオクツリーの両方を用いて、ボクセルが圧縮され得る。
【0037】
屋内シーンを平坦なものとして表す難しさは、現実世界における平坦面が通常、厳密には平坦でないことである、ということに留意されたい。例えば、壁に取り付けられ得るものには、電源プラグ、スイッチ、絵画(例えば、絵画204等)等がある。さらに、オクツリーモデルを用いると、大きい平坦面の表現を圧縮できない。なぜなら、大きい平坦面が、通過する全てのノードを分割しているからである。例えば、
図5は、面502を有するオクツリーモデル500を示す。面502が、通過する全てのノード(例えば、ノード504)を分割しているので、オクツリーモデル500は、これらのノードの各々を最も細かい解像度で(例えば、ボクセル506のレベル等で)表さなければならない。そのため、複数の面が表される場合、オクツリーを用いることで向上する効率が失われる。
【0038】
図6は、本開示の例による、シーンを再構成するためにデバイスにより実装され得るルーチン600を示す。例えば、シーン再構成デバイス100は、ルーチン600を実装できる。
図1のシーン再構成デバイス100および
図2の屋内シーン200を参照してルーチン600を説明するが、ルーチン600は、ここに示されているものとは異なるデバイスにより、シーンを再構成するために実装され得る。例は、この点に関して限定されない。さらに、いくつかの例では、
図3のルーチン300は、ルーチン600をサブルーチンブロック308として実装できる。例えば、ルーチン600は、平坦であると識別された屋内シーン200の部分またはエリアの2D面モデル(例えば、2D面208および2D面212)を生成するために、実装され得る。
【0039】
概して、ルーチン600は、通常は非自由空間の大部分を占有する屋内シーン(例えば、壁、床、天井等)が、表面としてモデリングされるようにする。上述のように、オクツリーまたはハッシュを用いてこれらの大きい平坦面を圧縮することはできない。例えば、オクツリーマッピングでは、その効率は、オブジェクトの表面に近いノードのみが最も細かい解像度へ分割されることに起因している。しかしながら、上で詳述したように(例えば、
図5を参照されたい)、大きい平坦面が、通過する全てのノードを分割するので、これらのノードも最も細かい解像度で表されなければならない。したがって、本開示は、平坦エリア(例えば、完全な面、不完全な面等)が、表面であって、この表面の平坦エリアにはめ込まれた面と向きが調整された、2Dグリッドを有する表面としてモデリングされるようにする。
【0040】
ルーチン600は、ブロック602「面を平坦面にはめ込む」で始まり得る。ここで、面(例えば、X座標およびY座標等で定義される)が、平坦面にはめ込まれ得る。例えば、処理回路104は、命令114を実行して、面を2D面208または2D面212にはめ込むことができる。ブロック604「平坦面からはめ込まれた面までの距離を表す値を設定する」へ続く。ここで、値は、実際の表面(例えば、2D面208、2D面212等)とはめ込み面(例えば、ブロック602において生成された面)との間の距離を示す。例えば、処理回路104は、命令114を実行して、セルの中心位置における実際の表面からはめ込まれた面までの距離を表す値を設定できる。いくつかの例では、この値は、切り捨て符号付き距離関数(TSDF)に基づき得る。追加的に、いくつかの例では、ブロック604において重みが設定され得る。重みは、距離値(例えば、TDSF値等)および占有状態の信頼度を示す。より具体的には、TDSFは、実際の表面からはめ込まれた面までの符号付き距離を意味し得る。いくつかの例において、対応セルの中心位置においてはめ込まれた面の近くの表面の観測値が得られた場合には必ず、TDSF値が更新され得る。さらに、重みは、信頼度および占有を意味し得る。重みに関して、いくつかの例では、重みは、初期値0を有し得る。初期値は、この位置における面にはめ込まれた表面の観測値が得られた場合に上げられ得る(例えば、w+=1)か、この位置が自由(占有されていない)であると観察された場合に下げられ得る(例えば、w*=0.5等であり、無限観測値で0に収束する)。セルは、その重みが閾値よりも下である(例えば、w<1.0)場合、自由であるとみなされ得る。
【0041】
具体例として、
図7は、本開示に基づいて生成され得る、面モデル700のグラフィカル表現を示す。示されるように、面モデル700は、2D平坦面702を示す。本開示は、この図に示されるように、「完全に平坦」ではない2D平坦面に適用され得ることに留意されたい。例えば2D平坦面702など、2.5D面データ118によりモデリングされる2D平坦面は、物理的な世界において実際の「ほとんど平坦な」表面が装具する非平坦エリア(例えば、穴、3D表面部分等)を有し得る。面モデル700はさらに、はめ込み面706と、2Dグリッド708と、TDSF値710と、重み712とを含む2.5D面モデル704を示す。
【0042】
2.5D面モデル704は、3Dセンサ(例えば、シーン撮像デバイス102等)からの調整された観測値が存在する場合に更新される。調整については、以下でより詳細に説明する。いくつかの例では、2.5D面モデル704の更新が、以下の疑似コードに基づき得る。
入力:点のセット、センサ位置、2.5D面モデル704
出力:更新された2.5D面モデル704
各点Pについて、以下のとおりである。
【数1】
【0043】
上記疑似コードにおいて、関数「to_plane_frame」は、所与の点を面の座標フレームへ変換する処理を示す。この処理は、はめ込み面がX軸およびY軸に跨り、Z軸がセンサの方を指す態様で定義される。より具体的には、はめ込み面706は、X軸およびY軸で表され、Z軸がシーン撮像デバイス102の方を指す。上記疑似コードは、更新アルゴリズムの単に一例であり、本開示は、TSDFおよび重みの定義の同じ原理の下での異なる更新アルゴリズムを用いて実装され得ることに留意されたい。
【0044】
図3に戻ると、ルーチン300は、3Dオブジェクトモデルを生成するためのサブルーチンブロック310を含み、また、2.5D面モデルおよび3Dオブジェクトモデルからシーンを再構成するためのサブルーチンブロック312を含む。フレームデータ(例えば、シーン撮像データ116)内の点が任意の面モデルに対してupdate_occupiedオペレーションをトリガした(すなわち、この点が、登録された面に関連付けられた)場合、プライマリ3Dモデルに対していかなる類似のupdate_occupiedオペレーションもトリガすべきではないことに留意するのが重要である。一例において、update_occupiedオペレーションをトリガした点がマーキングされ得る。例えば、(例えば、シーン撮像データ116等において示されるような)点の値は、負数1(-1)により乗算され得る。全ての深度値が正なので、負の深度値は、深度値の絶対値に対して作用するように配置され得る「update_free」オペレーションのみをトリガする。そのため、2.5D面データ118と、シーン撮像データ116からの点とは、プライマリ3Dデータ120から除外される。
【0045】
図8A、
図8B、
図8Cおよび
図8Dは、屋内シーン800の例示的な再構成を示す。特に、
図8Aは、3Dモデル再構成シーン802、またはむしろ、3Dモデル(例えば、3Dデータ120等)を全体的に用いた深度データ(例えば、シーン撮像データ116等)から再構成された屋内シーン800を示す。
図8Bは、本明細書において説明されるような2.5Dモデル(例えば、2.5D面データ118等)を用いて深度データ(例えば、シーン撮像データ116等)から再構成された屋内シーン800の一部分を示す。同様に、
図8Cは、3Dモデル(例えば、3Dデータ120等)を用いて深度データ(例えば、シーン撮像データ116等)から再構成された屋内シーン800の他の一部分を示す。屋内シーン800全体が、
図8Dに示されるような2.5Dモデルデータ(例えば、2.5D面データ118等)および3Dモデルデータ(例えば、3Dデータ120等)から再構成され得る。
【0046】
3Dデータにより表される占有されているボクセルの数が著しく減っている(例えば、
図8Aと比べた際の
図8C)ことに留意されたい。そのため、本明細書において説明されるような3Dモデルおよび2.5Dモデルへシーン再構成を分割することにより、計算リソースの大幅な低減が実現され得る。さらに、
図8Bにより裏付けられるように、2.5Dモデル(例えば、面モデル700等)により、ノイズ入力データさえ含まれる厳密には平坦でない面をモデリングできることに留意されたい。さらに、重要なこととして、3Dモデリングおよび2.5Dモデリング(例えば、
図8D)の両方を用いて再構成された屋内シーン800は、3D再構成/2.5D再構成のハイブリッドによる壁が、より厚いものとは反対にボクセル化された単層であることを除き、3Dモデル(例えば、
図8A)を全体的に用いて再構成された屋内シーン800と略同一である。しかしながら、より厚い壁は、確率的占有モデル下のセンサノイズにより導入されたアーチファクトである。再構成された表面自体は同じである。本開示は、例えば、3Dデータ(例えば、
図8C等に示される)におけるノイズボクセルをさらに低減するために、3Dノイズ低減アルゴリズムと組み合わされ得る。
【0047】
本開示は、GPUを必要とすることなく、リアルタイム(例えば、ライブ等)屋内シーン(例えば、屋内シーン800等)再構成を実現する。例えば、屋内シーン800は、現代のCPUの単一のコアで1秒当たり20深度カメラフレームにわたって統合することにより、リアルタイムで再構成された。本開示の追加的な利点は、機械学習アプリケーションによるシーンについての理解をさらに向上させるために用いられ得ることである。例えば、平坦面(例えば、壁、床、天井等)が明示的にモデリングされ得るので、機械学習エージェントはさらに、壁面情報に基づいて部屋をセグメント化するなど、シーンの空間構造を推測して、壁、床、天井を無視し、部屋内の物に焦点を合わせることができる。具体例として、機械学習エージェントは、2.5D面データ118から平坦面(例えば、壁、天井、床等)を推測でき、次に、3Dデータ120において表されるオブジェクトに焦点を合わせて、例えば、屋内シーン内のオブジェクトを平坦面からオブジェクトを分離する必要なしに識別できる。
【0048】
図9は、コンピュータ可読記憶媒体900を示す。コンピュータ可読記憶媒体900は、光記憶媒体、磁気記憶媒体または半導体記憶媒体など、任意の非一時的コンピュータ可読記憶媒体または機械可読記憶媒体を含み得る。様々な実施形態において、コンピュータ可読記憶媒体900は、製造品を含み得る。いくつかの実施形態において、コンピュータ可読記憶媒体900は、回路(例えば、処理回路104等)が実行できるコンピュータ実行可能命令902を格納し得る。例えば、コンピュータ実行可能命令902は、ルーチン300および/またはルーチン600に関して説明されたオペレーションを実装するための命令を含み得る。コンピュータ可読記憶媒体900または機械可読記憶媒体の例は、揮発性メモリまたは不揮発性メモリ、リムーバブルメモリまたは非リムーバブルメモリ、消去可能メモリまたは消去不可能メモリ、書き込み可能メモリまたは書き換え可能メモリ等を含む、電子データを格納することが可能な任意の有形の媒体を含み得る。コンピュータ実行可能命令902の例は、ソースコード、コンパイルされたコード、解釈されたコード、実行可能コード、スタティックコード、ダイナミックコード、物体指向コードおよび視覚的コードなど、任意の適切なタイプのコードを含み得る。
【0049】
図10は、本明細書に記載される方法のうちのいずれか1つまたは複数を機械に実行させるために命令のセットが内部で実行され得るコンピュータシステムの形態における機械1000の図表現を示す。より具体的には、
図10は、本明細書に記載される方法のうちのいずれか1つまたは複数を機械1000に実行させるための命令1008(例えば、ソフトウェア、プログラム、アプリケーション、アプレット、アプリケーションまたは他の実行可能コード)が内部で実行され得るコンピュータシステムの例示的な形態における機械1000の図表現を示す。例えば、命令1008は、
図3のルーチン300または
図6のルーチン600等を機械1000に実行させ得る。より一般的には、命令1008は、機械1000に、2.5平坦モデル(例えば、2.5D面データ118)および3Dモデル(例えば、3Dデータ120)を用いて屋内シーン(例えば、屋内シーン200または屋内シーン800等)を深度データ(例えば、シーン撮像データ116)に基づいて再構成させ得る。
【0050】
命令1008は、汎用のプログラミングされていない機械1000を、説明および図示された機能を特定の方式で実行するようにプログラミングされた特定の機械1000へ変換する。代替的な実施形態において、機械1000は、スタンドアロンデバイスとして動作してもよく、他の機械に結合(例えば、ネットワーク接続)されてもよい。ネットワーク化された配備において、機械1000は、サーバクライアントネットワーク環境内のサーバマシンまたはクライアントマシンの能力で、またはピアツーピア(または分散)ネットワーク環境内のピアマシンとして、動作し得る。機械1000は、限定されるわけではないが、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ(PC)、タブレットコンピュータ、ラップトップコンピュータ、ネットブック、セットトップボックス(STB)、PDA、エンタテイメントメディアシステム、携帯電話、スマートフォン、モバイルデバイス、ウェアラブルデバイス(例えば、スマートウォッチ)、スマートホームデバイス(例えば、スマートアプライアンス)、他のスマートデバイス、ウェブアプライアンス、ネットワークルータ、ネットワークスイッチ、ネットワークブリッジ、または、機械1000が取るべきアクションを指定する命令1008を順次または別様で実行することが可能な任意の機械を備え得る。さらに、単一の機械1000のみが示されているが、「機械」という用語は、本明細書に記載する方法のうちのいずれか1つまたは複数を実行するための命令1008を個々にまたは共同で実行する機械1000の集合体を含むとも解釈されるものとする。
【0051】
機械1000は、例えばバス1044を介して互いに通信するように構成され得るプロセッサ1002、メモリ1004およびI/Oコンポーネント1042を含み得る。例示的な実施形態において、プロセッサ1002(例えば、中央処理装置(CPU)、縮小命令セットコンピューティング(RISC)プロセッサ、複合命令セットコンピューティング(CISC)プロセッサ、グラフィックス処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、ASIC、無線周波数集積回路(RFIC)、ニューラルネットワーク(NN)プロセッサ、人工知能アクセラレータ、視覚処理ユニット(VPU)、グラフィックス処理ユニット(GPU)、別のプロセッサ、またはそれらの任意の適切な組み合わせ)は、例えば、命令1008を実行し得るプロセッサ1006およびプロセッサ1010を含み得る。
【0052】
「プロセッサ」という用語は、命令を同時に実行し得る2つまたはそれよりも多くの独立のプロセッサ(場合によっては、「コア」と称される)を備え得るマルチコアプロセッサを含むことを意図されている。
図10は複数のプロセッサ1002を示しているが、機械1000は、単一のコアを有する単一のプロセッサ、マルチコアを有する単一のプロセッサ(例えば、マルチコアプロセッサ)、単一のコアを有する複数のプロセッサ、複数のコアを有する複数のプロセッサ、またはそれらの任意の組み合わせを含み得る。追加的に、様々なプロセッサ(例えば、1002、1010等)および/またはコンポーネントが、システムオンチップ(SoC)デバイス上に含まれ得る。
【0053】
メモリ1004は、例えばバス1044を介してプロセッサ1002に各々がアクセス可能であるメインメモリ1012、スタティックメモリ1014およびストレージユニット1016を含み得る。メインメモリ1004、スタティックメモリ1014およびストレージユニット1016は、本明細書において説明される方法または機能のうちのいずれか1つまたは複数を具現化する命令1008を格納する。また、命令1008は、機械1000によるそれらの実行中、メインメモリ1012内に、スタティックメモリ1014内に、ストレージユニット1016内の機械可読媒体1018内に、プロセッサ1002のうちの少なくとも1つ内に(例えば、プロセッサのキャッシュメモリ内に)、またはそれらの任意の適切な組み合わせで、完全にまたは部分的に存在し得る。
【0054】
I/Oコンポーネント1042は、入力の受信、出力の提供、出力の生成、情報の伝送、情報の交換および測定物の撮像等を行うための多種多様なコンポーネントを含み得る。特定の機械に含まれる特定のI/Oコンポーネント1042は、機械のタイプに依存する。例えば、携帯電話など、ポータブルな機械がタッチ入力デバイスまたは他のそのような入力機構を含んでいる可能性があるが、サーバマシンは、そのようなタッチ入力デバイスを含んでいない可能性がある。I/Oコンポーネント1042は、
図10に示されていない多くの他のコンポーネントを含み得ることが理解されよう。I/Oコンポーネント1042は、以下に記載することを単に簡略化するために、機能に従ってグループ化されている。このグループ化は、全く限定されない。様々な例示的な実施形態において、I/Oコンポーネント1042は、出力コンポーネント1028および入力コンポーネント1030を含み得る。出力コンポーネント1028は、視覚コンポーネント(例えば、プラズマディスプレイパネル(PDP)などのディスプレイ)、発光ダイオード(LED)ディスプレイ、液晶ディスプレイ(LCD)、プロジェクタまたはブラウン管(CRT)、音響コンポーネント(例えば、スピーカ)、触覚コンポーネント(例えば、振動モータ、抵抗機構)および他の信号生成器などを含み得る。入力コンポーネント1030は、英数字入力コンポーネント(例えば、キーボード、文字数字入力を受信するように構成されたタッチスクリーン、フォトオプティカルキーボードまたは他の英数字入力コンポーネント)、ポイントベースの入力コンポーネント(例えば、マウス、タッチパッド、トラックボール、ジョイスティック、モーションセンサまたは別のポインティング機器)、触覚入力コンポーネント(例えば、物理的なボタン、タッチもしくはタッチジェスチャの位置および/または力を提供するタッチスクリーン、または他の触覚入力コンポーネント)および音声入力コンポーネント(例えば、マイク等)を含み得る。
【0055】
さらなる例示的な実施形態において、I/Oコンポーネント1042は、多様な他のコンポーネントの中でも、バイオメトリックコンポーネント1032、モーションコンポーネント1034、環境コンポーネント1036または位置コンポーネント1038を含み得る。例えば、バイオメトリックコンポーネント1032は、表現(例えば、手による表現、顔の表情、声の表情、ボディジェスチャまたは視線追跡)を検出するためのコンポーネント、生体信号(例えば、血圧、心拍、体温、汗または脳波)を測定するためのコンポーネントおよび人を識別する(例えば、声識別、網膜識別、顔識別、指紋識別または脳電図ベースの識別)、ためのコンポーネント等を含み得る。モーションコンポーネント1034は、加速度センサコンポーネント(例えば、加速度計)、重力センサコンポーネントおよび回転センサコンポーネント(例えば、ジャイロスコープ)などを含み得る。環境コンポーネント1036は、例えば、照明センサコンポーネント(例えば、光度計)、温度センサコンポーネント(例えば、周囲温度を検出する1つまたは複数の温度計)、湿度センサコンポーネント、圧力センサコンポーネント(例えば、気圧計)、深度および/または近接センサコンポーネント(例えば、付近の物体を検出する赤外線センサ)、深度カメラ、3Dカメラ、ステレオカメラ等、ガスセンサ(例えば、安全性のために危険なガスの濃度を検出するための、または大気中の汚染物を測定するためのガス検出センサ)、または周囲の物理環境に対応するインジケーション、測定値もしくは信号を提供し得る他のコンポーネントを含み得る。位置コンポーネント1038は、位置センサコンポーネント(例えば、GPS受信機コンポーネント)、高度センサコンポーネント(例えば、気圧を検出することで高度が導出され得る高度計または気圧計)および向きセンサコンポーネント(例えば、磁力計)等を含み得る。
【0056】
多種多様な技術を用いて、通信が実装され得る。I/Oコンポーネント1042は、それぞれ結合1024および結合1026を介して機械1000をネットワーク1020またはデバイス1022に結合させるように動作可能な通信コンポーネント1040を含み得る。例えば、通信コンポーネント1040は、ネットワーク1020とインタフェース接続するためのネットワークインタフェースコンポーネントまたは別の適切なデバイスを含み得る。さらなる例において、通信コンポーネント1040は、有線通信コンポーネント、無線通信コンポーネント、セルラ通信コンポーネント、近距離無線通信(NFCコンポーネント)、Bluetooth(登録商標)コンポーネント(例えば、Bluetooth(登録商標)Low Energy)、Wi-Fi(登録商標)コンポーネント、および他の様式を介して通信を提供する他の通信コンポーネントを含み得る。デバイス1022は、別の機械であってもよく、多種多様な周辺デバイス(例えば、USBを介して結合された周辺デバイス)のいずれかであってもよい。
【0057】
さらに、通信コンポーネント1040は、識別子を検出してもよく、識別子を検出するように動作可能なコンポーネントを含んでもよい。例えば、通信コンポーネント1040は、無線自動識別(RFID)タグリーダコンポーネント、NFCスマートタグ検出コンポーネント、光リーダコンポーネント(例えば、統一商品コードなどの一次元バーコード(UPC)バーコード、クイックレスポンス(QR)コード、Aztecコード、データマトリックス、Dataglyph、マキシコード、PDF417、ウルトラコード、UCC RSS-2Dバーコードおよび他の光コードなどの多次元バーコードを検出するための光学センサ)、または音響検出コンポーネント(例えば、タグ付けされたオーディオ信号を識別するためのマイク)を含み得る。加えて、通信コンポーネント1040を介して、例えば、インターネットプロトコル(IP)ジオロケーションを介した位置、Wi-Fi(登録商標)信号三角測量を介した位置、特定の位置を示し得るNFCビーコン信号の検出を介した位置など、様々な情報が導出され得る。
【0058】
様々なメモリ(すなわち、プロセッサ1002のメモリ1004、メインメモリ1012、スタティックメモリ1014および/またはメモリ)および/またはストレージユニット1016は、本明細書において説明される方法または機能のうちのいずれか1つまたは複数を具現化するか、本明細書において説明される方法または機能のうちのいずれか1つまたは複数により利用される命令およびデータ構造(例えば、ソフトウェア)の1つまたは複数のセットを格納し得る。これらの命令(例えば、命令1008)は、プロセッサ1002により実行された場合、様々なオペレーションに、開示される実施形態を実装させる。
【0059】
本明細書において用いられる場合、「機械記憶媒体」、「デバイス記憶媒体」、「コンピュータ記憶媒体」という用語は、同じ物を意味しており、本開示において同じ手段で用いられ得る。これらの用語は、実行可能命令および/またはデータを格納する単一または複数の記憶デバイスおよび/または記憶媒体(例えば、集中型もしくは分散型のデータベースおよび/または関連付けられたキャッシュおよびサーバ)を指す。したがって、これらの用語は、限定されるわけではないが、プロセッサの内部または外部のメモリを含むソリッドステートメモリならびに光媒体および磁気媒体を含むように解釈されるものとする。機械記憶媒体、コンピュータ記憶媒体および/またはデバイス記憶媒体の具体例は、例えば、消去可能プログラマブルリードオンリメモリ(EPROM)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、FPGAおよびフラッシュメモリデバイスといった半導体メモリデバイスを例として含む不揮発性メモリと、内蔵ハードディスクおよびリムーバブルディスクなどの磁気ディスクと、光磁気ディスクと、CD-ROMディスクおよびDVD-ROMディスクとを含む。「機械記憶媒体」、「コンピュータ記憶媒体」および「デバイス記憶媒体」という用語は、具体的には、搬送波、変調されたデータ信号および他のそのような媒体を除外する。これらのうちの少なくともいくつかは、以下に記載される「信号媒体」という用語に包含される。
【0060】
様々な例示的な実施形態において、ネットワーク1020の1つまたは複数の部分は、アドホックネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネット、インターネットの一部分、PSTNの一部分、旧来の電話サービス(POTS)ネットワーク、携帯電話ネットワーク、無線ネットワーク、Wi-Fi(登録商標)ネットワーク、別のタイプのネットワーク、または2つもしくはそれよりも多くのそのようなネットワークの組み合わせであってよい。例えば、ネットワーク1020、またはネットワーク1020の一部は、無線ネットワークまたはセルラネットワークを含んでよく、結合1024は、符号分割多重アクセス(CDMA)接続、グローバルシステムフォーモバイルコミュニケーション(GSM(登録商標))接続または別のタイプのセルラ結合もしくは無線結合であってよい。この例において、結合1024は、シングルキャリア無線伝送技術(1xRTT)、エボリューションデータオプティマイズド(EVDO)技術、汎用パケット無線サービス(GPRS)技術、GSM(登録商標)進化型高速データレート(EDGE)技術、3Gを含む第3世代パートナーシッププロジェクト(3GPP(登録商標))、第4世代無線(4G)ネットワーク、ユニバーサル移動体通信システム(UMTS)、高速パケットアクセス(HSPA)、ワールドワイドインターオペラビリティフォーマイクロウェーブアクセス(WiMAX(登録商標))、ロングタームエボリューション(LTE)規格、様々な規格設定組織により定義される他の規格、他の長距離プロトコルまたは他のデータ転送技術など、様々なタイプのデータ転送技術のいずれかを実装し得る。
【0061】
命令1008は、ネットワークインタフェースデバイス(例えば、通信コンポーネント1040に含まれるネットワークインタフェースコンポーネント)を介して伝送媒体を用い、かつ、多数の周知の転送プロトコル(例えば、ハイパーテキスト転送プロトコル(HTTP))のいずれか1つを利用したネットワーク1020を介して伝送または受信され得る。同様に、命令1008は、デバイス1022への結合1026(例えば、ピアツーピア結合)を介して伝送媒体を用いて、伝送または受信され得る。「伝送媒体」および「信号媒体」という用語は、同じ物を意味しており、本開示において同じ手段で用いられ得る。「伝送媒体」および「信号媒体」という用語は、機械1000による実行のための命令1008を格納、エンコードまたは搬送することが可能な任意の無形の媒体を含むように解釈されるものとし、そのようなソフトウェアの通信を容易にするためのデジタル通信信号もしくはアナログ通信信号または他の無形の媒体を含む。故に、「伝送媒体」および「信号媒体」という用語は、任意の形態の変調されたデータ信号および搬送波などを含むように解釈されるものとする。「変調されたデータ信号」という用語は、信号内の情報をエンコードするように設定または変更された特徴のうちの1つまたは複数を有する信号を意味する。
【0062】
本明細書において用いられる用語には、関連技術における通常の意味、または、文脈におけるこれらの用語の使用により示される意味が与えられるべきであるが、明確な定義が提供されている場合、その意味が優先する。
【0063】
本明細書において、「一実施形態」または「実施形態」への言及は、必ずしも同一の実施形態を指すわけではないが、そうであることもある。文脈上明らかに別の意味に解釈する必要がない限り、本明細書および特許請求の範囲の全体にわたって、「備える(comprise)」、「備える(comprising)」、「等」という語は、排他的または網羅的な意味とは反対の包括的な意味、つまり、「を含むが、それに限定されない」という意味で解釈されるべきである。単数または複数を用いた語はそれぞれ、単一のものまたは複数のものに明示的に限定されない限り、単数または複数も含む。追加的に、「本明細書において(herein)」、「上(above)」、「下(below)」という語、および同様の意味の語は、本願において用いられる場合、本願の任意の特定の部分ではなく、本願全体を指す。特許請求の範囲において、2つまたはそれよりも多くの事項の列挙を参照して「または」という語が用いられる場合、1つまたは他の事項に明示的に限定されない限り、この語は、列挙された事項のいずれか、列挙された事項の全ておよび列挙された事項の任意の組み合わせ、というこの語の解釈の全てを包含する。本明細書において明示的に定義されていないあらゆる用語は、当業者が一般的に理解している従来の意味を有する。
【0064】
以下は、本開示の説明のための多数の例である。これらの例は、数多くの置換および構成が明らかになるさらなる実施形態に関する。
【0065】
例1。
プロセッサと、命令を格納したメモリとを備えるコンピューティング装置であって、前記命令は、前記プロセッサにより実行された場合、屋内シーンのインジケーションを含むシーン撮像データを深度測定デバイスから受信することと、前記シーン撮像データから前記屋内シーンの平坦エリアを識別することと、2.5次元(2.5D)モデルを用いて、前記平坦エリアをモデリングすることと、前記シーン撮像データから前記屋内シーンの非平坦エリアを識別することと、3次元(3D)モデルを用いて、前記屋内シーンの前記非平坦エリアをモデリングすることと、前記2.5Dモデルおよび前記3Dモデルに基づいて、前記屋内シーンのデジタル再構成のインジケーションを含む視覚化データを生成することと実行するよう前記装置を構成する、コンピューティング装置。
【0066】
例2。
前記2.5Dモデルを用いて、前記平坦エリアをモデリングすることは、平坦面を前記平坦エリアにはめ込むことと、前記面上の複数の点の各々について、前記はめ込み面から前記平坦面までの距離を設定することとを含む、請求項1に記載のコンピューティング装置。
【0067】
例3。
切り捨て符号付き距離関数(TSDF)に基づいて、前記はめ込み面から前記平坦面までの前記距離を導出することを含む、請求項2に記載のコンピューティング装置。
【0068】
例4。
前記面上の前記複数の点の各々について、重み付け値を設定することであって、前記重み付け値は、前記距離の信頼度のインジケーションを含む、設定することを備える、請求項2に記載のコンピューティング装置。
【0069】
例5。
前記シーン撮像データは、複数の点を含み、前記方法は、前記平坦エリアに関連付けられた前記複数の点のいくつかをマーキングすることと、マーキングされていない前記複数の点の前記いくつかから前記非平坦エリアを識別することとを含む、請求項1に記載のコンピューティング装置。
【0070】
例6。
前記3Dモデルを用いて、前記非平坦エリアをモデリングすることは、前記非平坦エリアを表すボクセル値およびノード値を導出することを含む、請求項1に記載のコンピューティング装置。
【0071】
例7。
屋内シーンのインジケーションを含むシーン撮像データを深度測定デバイスから受信する段階と、前記シーン撮像データから前記屋内シーンの平坦エリアを識別する段階と、2.5次元(2.5D)モデルを用いて、前記平坦エリアをモデリングする段階と、前記シーン撮像データから前記屋内シーンの非平坦エリアを識別する段階と、3次元(3D)モデルを用いて、前記屋内シーンの前記非平坦エリアをモデリングする段階と、前記2.5Dモデルおよび前記3Dモデルに基づいて、前記屋内シーンのデジタル再構成のインジケーションを含む視覚化データを生成する段階とを備えるコンピュータ実装方法。
【0072】
例8。
前記2.5Dモデルを用いて、前記平坦エリアをモデリングする段階は、平坦面を前記平坦エリアにはめ込む段階と、前記面上の複数の点の各々について、前記はめ込み面から前記平坦面までの距離を設定する段階とを有する、請求項7に記載のコンピュータ実装方法。
【0073】
例9。
切り捨て符号付き距離関数(TSDF)に基づいて、前記はめ込み面から前記平坦面までの前記距離を導出する段階を備える、請求項8に記載のコンピュータ実装方法。
【0074】
例10。
前記面上の前記複数の点の各々について、重み付け値を設定する段階であって、前記重み付け値は、前記距離の信頼度のインジケーションを含む、設定する段階を備える、請求項8に記載のコンピュータ実装方法。
【0075】
例11。
前記シーン撮像データは、複数の点を含み、前記方法は、前記平坦エリアに関連付けられた前記複数の点のいくつかをマーキングする段階と、マーキングされていない前記複数の点の前記いくつかから前記非平坦エリアを識別する段階とを備える、請求項7に記載のコンピュータ実装方法。
【0076】
例12。
前記3Dモデルを用いて、前記非平坦エリアをモデリングする段階は、前記非平坦エリアを表すボクセル値およびノード値を導出する段階を有する、請求項7に記載のコンピュータ実装方法。
【0077】
例13。
命令を備える非一時的コンピュータ可読記憶媒体であって、前記命令は、コンピュータにより実行された場合、屋内シーンのインジケーションを含むシーン撮像データを深度測定デバイスから受信することと、前記シーン撮像データから前記屋内シーンの平坦エリアを識別することと、2.5次元(2.5D)モデルを用いて、前記平坦エリアをモデリングすることと、前記シーン撮像データから前記屋内シーンの非平坦エリアを識別することと、3次元(3D)モデルを用いて、前記屋内シーンの前記非平坦エリアをモデリングすることと、前記2.5Dモデルおよび前記3Dモデルに基づいて、前記屋内シーンのデジタル再構成のインジケーションを含む視覚化データを生成することとを前記コンピュータに実行させる、コンピュータ可読記憶媒体。
【0078】
例14。
前記2.5Dモデルを用いて、前記平坦エリアをモデリングすることは、平坦面を前記平坦エリアにはめ込むことと、前記面上の複数の点の各々について、前記はめ込み面から前記平坦面までの距離を設定することとを含む、請求項13に記載のコンピュータ可読記憶媒体。
【0079】
例15。
切り捨て符号付き距離関数(TSDF)に基づいて、前記はめ込み面から前記平坦面までの前記距離を導出することを備える、請求項14に記載のコンピュータ可読記憶媒体。
【0080】
例16。
前記面上の前記複数の点の各々について、重み付け値を設定することであって、前記重み付け値は、前記距離の信頼度のインジケーションを含む、設定することを備える、請求項14に記載のコンピュータ可読記憶媒体。
【0081】
例17。
前記シーン撮像データは、複数の点を含み、前記方法は、前記平坦エリアに関連付けられた前記複数の点のいくつかをマーキングすることと、マーキングされていない前記複数の点の前記いくつかから前記非平坦エリアを識別することとを含む、請求項13に記載のコンピュータ可読記憶媒体。
【0082】
例18。
前記3Dモデルを用いて、前記非平坦エリアをモデリングすることは、前記非平坦エリアを表すボクセル値およびノード値を導出することを含む、請求項13に記載のコンピュータ可読記憶媒体。
【0083】
例19。
屋内シーンのインジケーションを含むシーン撮像データを深度測定デバイスから受信するための手段と、前記シーン撮像データから前記屋内シーンの平坦エリアを識別するための手段と、2.5次元(2.5D)モデルを用いて、前記平坦エリアをモデリングするための手段と、前記シーン撮像データから前記屋内シーンの非平坦エリアを識別するための手段と、3次元(3D)モデルを用いて、前記屋内シーンの前記非平坦エリアをモデリングするための手段と、前記2.5Dモデルおよび前記3Dモデルに基づいて、前記屋内シーンのデジタル再構成のインジケーションを含む視覚化データを生成するための手段とを備える装置。
【0084】
例20。
平坦面を前記平坦エリアにはめ込むための手段と、前記面上の複数の点の各々について前記はめ込み面から前記平坦面までの距離を設定して、前記2.5Dモデルを用いて前記平坦エリアをモデリングするための手段とを備える、請求項19に記載の装置。
【0085】
例21。
切り捨て符号付き距離関数(TSDF)に基づいて、前記はめ込み面から前記平坦面までの前記距離を導出するための手段を備える、請求項20に記載の装置。
【0086】
例22。前記面上の前記複数の点の各々について、重み付け値を設定するための手段であって、前記重み付け値は、前記距離の信頼度のインジケーションを含む、設定するための手段を備える、請求項20に記載の装置。
【0087】
例23。
前記シーン撮像データは、複数の点を含み、前記装置は、前記平坦エリアに関連付けられた前記複数の点のいくつかをマーキングするための手段と、マーキングされていない前記複数の点の前記いくつかから前記非平坦エリアを識別するための手段とを備える、請求項19に記載の装置。
【0088】
例24。
前記非平坦エリアを表すボクセル値およびノード値を導出して、前記3Dモデルを用いて前記非平坦エリアをモデリングするための手段を備える、請求項19に記載の装置。
【0089】
例25。
フレームと、前記フレームに結合されたディスプレイと、プロセッサと、命令を格納したメモリとを備える頭部装着コンピューティングデバイスであって、前記命令は、前記プロセッサにより実行された場合、屋内シーンのインジケーションを含むシーン撮像データを深度測定デバイスから受信することと、前記シーン撮像データから前記屋内シーンの平坦エリアを識別することと、2.5次元(2.5D)モデルを用いて、前記平坦エリアをモデリングすることと、前記シーン撮像データから前記屋内シーンの非平坦エリアを識別することと、3次元(3D)モデルを用いて、前記屋内シーンの前記非平坦エリアをモデリングすることと、前記2.5Dモデルおよび前記3Dモデルに基づいて、前記屋内シーンのデジタル再構成のインジケーションを含む視覚化データを生成することと前記屋内シーンの前記デジタル再構成を前記ディスプレイに表示させることとを実行するよう前記デバイスを構成する、頭部装着コンピューティングデバイス。
【0090】
例26。
前記頭部装着コンピューティングデバイスは、仮想現実コンピューティングデバイスまたは代替現実コンピューティングデバイスである、請求項25に記載の頭部装着コンピューティングデバイス。
【0091】
例27。
前記2.5Dモデルを用いて、前記平坦エリアをモデリングすることは、平坦面を前記平坦エリアにはめ込むことと、前記面上の複数の点の各々について、前記はめ込み面から前記平坦面までの距離を設定することとを含む、請求項25に記載の頭部装着コンピューティングデバイス。
【0092】
例28。
切り捨て符号付き距離関数(TSDF)に基づいて、前記はめ込み面から前記平坦面までの前記距離を導出することを含む、請求項27に記載の頭部装着コンピューティングデバイス。
【0093】
例29。
前記面上の前記複数の点の各々について、重み付け値を設定することであって、前記重み付け値は、前記距離の信頼度のインジケーションを含む、設定することを備える、請求項27に記載の頭部装着コンピューティングデバイス。
【0094】
例30。
前記シーン撮像データは、複数の点を含み、前記方法は、前記平坦エリアに関連付けられた前記複数の点のいくつかをマーキングすることと、マーキングされていない前記複数の点の前記いくつかから前記非平坦エリアを識別することとを含む、請求項25に記載の頭部装着コンピューティングデバイス。
【0095】
例31。
前記3Dモデルを用いて、前記非平坦エリアをモデリングすることは、前記非平坦エリアを表すボクセル値およびノード値を導出することを含む、請求項25に記載の頭部装着コンピューティングデバイス。
[他の考えられる項目]
(項目1)
プロセッサと、
命令を格納したメモリと
を備えるコンピューティング装置であって、
前記命令は、前記プロセッサにより実行された場合、
屋内シーンのインジケーションを含むシーン撮像データを深度測定デバイスから受信することと、
前記シーン撮像データから前記屋内シーンの平坦エリアを識別することと、
2.5次元(2.5D)モデルを用いて、前記平坦エリアをモデリングすることと、
前記シーン撮像データから前記屋内シーンの非平坦エリアを識別することと、
3次元(3D)モデルを用いて、前記屋内シーンの前記非平坦エリアをモデリングすることと、
前記2.5Dモデルおよび前記3Dモデルに基づいて、前記屋内シーンのデジタル再構成のインジケーションを含む視覚化データを生成することと
を前記装置に実行させる、
コンピューティング装置。
(項目2)
前記2.5Dモデルを用いて、前記平坦エリアをモデリングすることは、
平坦面を前記平坦エリアにはめ込むことと、
前記面上の複数の点の各々について、前記はめ込み面から前記平坦面までの距離を設定することと
を含む、
項目1に記載のコンピューティング装置。
(項目3)
前記メモリは、命令を格納しており、前記命令は、前記プロセッサにより実行された場合、
切り捨て符号付き距離関数(TSDF)に基づいて、前記はめ込み面から前記平坦面までの前記距離を導出することと、
重み付け値を前記面上の前記複数の点の各々について設定することであって、前記重み付け値は、前記距離の信頼度のインジケーションを含む、設定することと
を前記装置に実行させる、
項目2に記載のコンピューティング装置。
(項目4)
前記視覚化データは、前記屋内シーンの前記デジタル再構成をレンダリングして仮想現実または代替現実システムのための前記屋内シーンのグラフィカル表現を提供するために用いられるデータを含む、項目1に記載のコンピューティング装置。
(項目5)
前記シーン撮像データは、複数の点を含み、前記メモリは、命令を格納しており、前記命令は、前記プロセッサにより実行された場合、
前記平坦エリアに関連付けられた前記複数の点のいくつかをマーキングすることと、
マーキングされていない前記複数の点の前記いくつかから前記非平坦エリアを識別することと
を前記装置に実行させる、
項目1に記載のコンピューティング装置。
(項目6)
前記3Dモデルを用いて、前記非平坦エリアをモデリングすることは、前記非平坦エリアを表すボクセル値およびノード値を導出することを含む、項目1に記載のコンピューティング装置。
(項目7)
屋内シーンのインジケーションを含むシーン撮像データを深度測定デバイスから受信する段階と、
前記シーン撮像データから前記屋内シーンの平坦エリアを識別する段階と、
2.5次元(2.5D)モデルを用いて、前記平坦エリアをモデリングする段階と、
前記シーン撮像データから前記屋内シーンの非平坦エリアを識別する段階と、
3次元(3D)モデルを用いて、前記屋内シーンの前記非平坦エリアをモデリングする段階と、
前記2.5Dモデルおよび前記3Dモデルに基づいて、前記屋内シーンのデジタル再構成のインジケーションを含む視覚化データを生成する段階と
を備えるコンピュータ実装方法。
(項目8)
前記2.5Dモデルを用いて、前記平坦エリアをモデリングする段階は、
平坦面を前記平坦エリアにはめ込む段階と、
前記面上の複数の点の各々について、前記はめ込み面から前記平坦面までの距離を設定する段階と
を有する、
項目7に記載のコンピュータ実装方法。
(項目9)
切り捨て符号付き距離関数(TSDF)に基づいて、前記はめ込み面から前記平坦面までの前記距離を導出する段階を備える、項目8に記載のコンピュータ実装方法。
(項目10)
前記面上の前記複数の点の各々について、重み付け値を設定する段階であって、前記重み付け値は、前記距離の信頼度のインジケーションを含む、設定する段階を備える、項目8に記載のコンピュータ実装方法。
(項目11)
前記シーン撮像データは、複数の点を含み、前記方法は、
前記平坦エリアに関連付けられた前記複数の点のいくつかをマーキングする段階と、
マーキングされていない前記複数の点の前記いくつかから前記非平坦エリアを識別する段階と
を備える、項目7に記載のコンピュータ実装方法。
(項目12)
前記3Dモデルを用いて、前記非平坦エリアをモデリングする段階は、前記非平坦エリアを表すボクセル値およびノード値を導出する段階を有する、項目7に記載のコンピュータ実装方法。
(項目13)
命令を備える非一時的コンピュータ可読記憶媒体であって、前記命令は、コンピュータにより実行された場合、
屋内シーンのインジケーションを含むシーン撮像データを深度測定デバイスから受信することと、
前記シーン撮像データから前記屋内シーンの平坦エリアを識別することと、
2.5次元(2.5D)モデルを用いて、前記平坦エリアをモデリングすることと、
前記シーン撮像データから前記屋内シーンの非平坦エリアを識別することと、
3次元(3D)モデルを用いて、前記屋内シーンの前記非平坦エリアをモデリングすることと、
前記2.5Dモデルおよび前記3Dモデルに基づいて、前記屋内シーンのデジタル再構成のインジケーションを含む視覚化データを生成することと
を前記コンピュータに実行させる、
コンピュータ可読記憶媒体。
(項目14)
前記2.5Dモデルを用いて、前記平坦エリアをモデリングすることは、
平坦面を前記平坦エリアにはめ込むことと、
前記面上の複数の点の各々について、前記はめ込み面から前記平坦面までの距離を設定することと
を含む、項目13に記載のコンピュータ可読記憶媒体。
(項目15)
切り捨て符号付き距離関数(TSDF)に基づいて、前記はめ込み面から前記平坦面までの前記距離を導出することを備える、項目14に記載のコンピュータ可読記憶媒体。
(項目16)
前記面上の前記複数の点の各々について、重み付け値を設定することであって、前記重み付け値は、前記距離の信頼度のインジケーションを含む、設定することを備える、項目14に記載のコンピュータ可読記憶媒体。
(項目17)
前記シーン撮像データは、複数の点を含み、前記方法は、
前記平坦エリアに関連付けられた前記複数の点のいくつかをマーキングすることと、
マーキングされていない前記複数の点の前記いくつかから前記非平坦エリアを識別することと
を含む、
項目13に記載のコンピュータ可読記憶媒体。
(項目18)
前記3Dモデルを用いて、前記非平坦エリアをモデリングすることは、前記非平坦エリアを表すボクセル値およびノード値を導出することを含む、項目13に記載のコンピュータ可読記憶媒体。
(項目19)
フレームと、
前記フレームに結合されたディスプレイと、
プロセッサと、
命令を格納したメモリと
を備える頭部装着コンピューティングデバイスであって、
前記命令は、前記プロセッサにより実行された場合、
屋内シーンのインジケーションを含むシーン撮像データを深度測定デバイスから受信することと、
前記シーン撮像データから前記屋内シーンの平坦エリアを識別することと、
2.5次元(2.5D)モデルを用いて、前記平坦エリアをモデリングすることと、
前記シーン撮像データから前記屋内シーンの非平坦エリアを識別することと、
3次元(3D)モデルを用いて、前記屋内シーンの前記非平坦エリアをモデリングすることと、
前記2.5Dモデルおよび前記3Dモデルに基づいて、前記屋内シーンのデジタル再構成のインジケーションを含む視覚化データを生成することと
前記屋内シーンの前記デジタル再構成を前記ディスプレイに表示させることと
を実行するよう前記デバイスを構成する、
頭部装着コンピューティングデバイス。
(項目20)
前記頭部装着コンピューティングデバイスは、仮想現実コンピューティングデバイスまたは代替現実コンピューティングデバイスである、項目19に記載の頭部装着コンピューティングデバイス。
(項目21)
前記2.5Dモデルを用いて、前記平坦エリアをモデリングすることは、
平坦面を前記平坦エリアにはめ込むことと、
前記面上の複数の点の各々について、前記はめ込み面から前記平坦面までの距離を設定することと
を含む、
項目19に記載の頭部装着コンピューティングデバイス。
(項目22)
切り捨て符号付き距離関数(TSDF)に基づいて、前記はめ込み面から前記平坦面までの前記距離を導出することを含む、項目21に記載の頭部装着コンピューティングデバイス。
(項目23)
前記面上の前記複数の点の各々について、重み付け値を設定することであって、前記重み付け値は、前記距離の信頼度のインジケーションを含む、設定することを備える、項目21に記載の頭部装着コンピューティングデバイス。
(項目24)
前記シーン撮像データは、複数の点を含み、前記方法は、
前記平坦エリアに関連付けられた前記複数の点のいくつかをマーキングすることと、
マーキングされていない前記複数の点の前記いくつかから前記非平坦エリアを識別することと
を含む、
項目19に記載の頭部装着コンピューティングデバイス。
(項目25)
前記3Dモデルを用いて、前記非平坦エリアをモデリングすることは、前記非平坦エリアを表すボクセル値およびノード値を導出することを含む、項目19に記載の頭部装着コンピューティングデバイス。
【国際調査報告】