IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オープン スペース ラブズ インコーポレイテッドの特許一覧

特表2023-546825統合画像フレームを用いた深度ベースの3次元モデルレンダリング
<>
  • 特表-統合画像フレームを用いた深度ベースの3次元モデルレンダリング 図1
  • 特表-統合画像フレームを用いた深度ベースの3次元モデルレンダリング 図2A
  • 特表-統合画像フレームを用いた深度ベースの3次元モデルレンダリング 図2B
  • 特表-統合画像フレームを用いた深度ベースの3次元モデルレンダリング 図3A
  • 特表-統合画像フレームを用いた深度ベースの3次元モデルレンダリング 図3B
  • 特表-統合画像フレームを用いた深度ベースの3次元モデルレンダリング 図3C
  • 特表-統合画像フレームを用いた深度ベースの3次元モデルレンダリング 図3D
  • 特表-統合画像フレームを用いた深度ベースの3次元モデルレンダリング 図4
  • 特表-統合画像フレームを用いた深度ベースの3次元モデルレンダリング 図5
  • 特表-統合画像フレームを用いた深度ベースの3次元モデルレンダリング 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-11-08
(54)【発明の名称】統合画像フレームを用いた深度ベースの3次元モデルレンダリング
(51)【国際特許分類】
   G06T 15/04 20110101AFI20231031BHJP
   G06T 7/73 20170101ALI20231031BHJP
   G06V 20/20 20220101ALI20231031BHJP
   G06V 10/70 20220101ALI20231031BHJP
   G06T 19/00 20110101ALI20231031BHJP
   G01S 17/89 20200101ALI20231031BHJP
【FI】
G06T15/04
G06T7/73
G06V20/20
G06V10/70
G06T19/00 A
G01S17/89
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023521454
(86)(22)【出願日】2021-09-21
(85)【翻訳文提出日】2023-06-07
(86)【国際出願番号】 US2021051389
(87)【国際公開番号】W WO2022076163
(87)【国際公開日】2022-04-14
(31)【優先権主張番号】63/165,682
(32)【優先日】2021-03-24
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/367,204
(32)【優先日】2021-07-02
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/090,095
(32)【優先日】2020-10-09
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVASCRIPT
(71)【出願人】
【識別番号】522395750
【氏名又は名称】オープン スペース ラブズ インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】マイケル ベン フライシュマン
(72)【発明者】
【氏名】ジェーヴァン ジェームズ カラニシ
(72)【発明者】
【氏名】ガブリエル ヘイン
(72)【発明者】
【氏名】エリオット セント ジョージ ウィルソン ケンバー
【テーマコード(参考)】
5B050
5B080
5J084
5L096
【Fターム(参考)】
5B050AA03
5B050BA09
5B050BA13
5B050DA01
5B050DA05
5B050EA07
5B050EA26
5B050FA02
5B050FA12
5B080AA13
5B080CA00
5B080FA08
5B080GA22
5J084AA05
5J084AA10
5J084AC02
5J084AC04
5J084AC08
5J084AD01
5J084BA03
5J084BA31
5J084CA03
5J084CA31
5J084CA65
5J084CA67
5L096AA09
5L096CA02
5L096CA18
5L096CA25
5L096DA02
5L096FA02
5L096FA12
5L096FA64
5L096FA66
5L096FA67
5L096FA69
5L096GA51
5L096HA02
5L096JA11
(57)【要約】
システムが、環境の3Dモデルを環境の画像フレームと連携させて、3Dモデルの一部および対応する画像フレームの一部を表示する視覚化インターフェースを生成する。システムは、環境で収集されたLIDARデータを受信して、LIDARデータに基づいて3Dモデルを生成する。画像フレームのそれぞれに対して、システムは画像フレームを3Dモデルと連携させる。画像フレームを3Dモデルと連携させた後で、システムが3Dモデルの一部をインターフェースに提示するときに、システムは、3Dモデルの一部に対応する画像フレームもまた提示する。
【特許請求の範囲】
【請求項1】
モバイルデバイスが環境中で移動するときに前記モバイルデバイスによって収集された画像フレームと、光検出および測距(LIDAR)データとを受信するステップと、
前記LIDARデータに基づいて、前記環境を表す3Dモデルを生成するステップと、
前記画像フレームを前記3Dモデルと連携させるステップと、
第1のインターフェース部分および第2のインターフェース部分を備えるインターフェースを生成するステップと、
前記第1のインターフェース部分の内部で前記3Dモデルの一部を表示するステップと、
前記第1のインターフェース部分の内部で表示されている前記3Dモデルの内部でのオブジェクトの選択を受信するステップと、
選択された前記オブジェクトに対応する画像フレームを識別するステップと、
前記第2のインターフェース部分の内部で、選択された前記オブジェクトに対応する前記画像フレームを表示するステップと、
を備える方法。
【請求項2】
前記第1のインターフェース部分を変更して、選択された前記オブジェクトに対応する位置において、前記3Dモデルの上にオーバーレイされた前記画像フレームを含めるステップ、
をさらに備える、請求項1に記載の方法。
【請求項3】
前記画像フレームは、前記モバイルデバイスによって、前記画像フレームの捕捉角度に対して垂直な角度で前記3Dモデル内部でレンダリングされる、請求項2に記載の方法。
【請求項4】
前記第1のインターフェース部分の内部に表示されている3Dモデル内部における前記オブジェクトの2つの端点の選択を受信するステップと、
前記2つの端点間の距離を決定するステップと、
前記第1のインターフェース部分の内部で決定された前記距離を表示するステップと、
をさらに備える、請求項1に記載の方法。
【請求項5】
前記第2のインターフェース部分の内部における前記画像フレーム内部での前記オブジェクトの2つの端点の選択を受信するステップと、
前記2つの端点間の距離を決定するステップと、
決定された前記距離を、前記第2のインターフェース部分の内部で表示するステップと、
をさらに備える、請求項1に記載の方法。
【請求項6】
前記3次元(3D)モデルは、前記LIDARデータ上で同時位置決め地図作成プロセスを実行することによって生成される、請求項1に記載の方法。
【請求項7】
前記画像フレームを前記3Dモデルと連携させるステップは、
前記LIDARデータに基づいて生成された、前記3Dモデルの複数の点に関連付けられた第1の特徴ベクトルのセットを決定するステップと、
前記画像フレームに基づいて、前記環境を表している第2の3Dモデルを生成するステップと、
前記画像フレームに基づいて生成された、前記第2の3Dモデルの複数の点に関連付けられた第2の特徴ベクトルのセットを決定するステップと、
前記3Dモデルの前記複数の点を、前記第1の特徴ベクトルのセットおよび前記第2の特徴ベクトルのセットに基づいて、前記第2の3Dモデルの前記複数の点にマッピングするステップと、
をさらに備える、請求項1に記載の方法。
【請求項8】
前記画像フレームを前記3Dモデルと連携させるステップは、
画像フレームのそれぞれに対して
前記画像フレームに関連付けられた時間帯を決定するステップと、
前記時間帯に関連付けられた前記LIDARデータの一部を識別するステップであって、前記LIDARデータの前記一部は前記3Dモデルに関連付けられる、ステップと、
前記識別された点のセットに関連した前記画像フレームの識別を記憶するステップと、
をさらに備える、請求項1に記載の方法。
【請求項9】
前記画像フレームを前記3Dモデルと連携させるステップは、
前記3Dモデルに関連付けられた特徴を抽出するステップと、
抽出された特徴を、1または複数の画像フレームに関連付けられた注記と比較するステップと、
前記比較に基づいて、前記3Dモデルの一部と関連した画像フレームの識別を記憶するステップであって、前記画像フレームと関連付けられた1または複数の注記が、前記3Dモデルの前記一部の1または複数の特徴に合致する、ステップと、
をさらに備える、請求項1に記載の方法。
【請求項10】
前記第1のインターフェース部分とのインタラクションを受信するステップと、
前記インタラクションに従って、前記第1のインターフェース部分を更新して前記3Dモデルの異なる一部を表示するステップと、
前記インタラクションに従って、前記第2のインターフェース部分を更新して異なる画像フレームを表示するステップと、
をさらに備える、請求項1に記載の方法。
【請求項11】
前記第1のインターフェース部分および前記第2のインターフェース部分は同時に更新される、請求項10に記載の方法。
【請求項12】
前記インタラクションは、ズームイン、ズームアウト、回転、およびシフトの少なくとも一つを含む、請求項10に記載の方法。
【請求項13】
実行可能な命令を記憶する非一時的なコンピューター可読記憶媒体であって、前記実行可能な命令は、ハードウェアプロセッサによって実行されたときに、前記ハードウェアプロセッサに、
モバイルデバイスが環境中で移動するときに前記モバイルデバイスによって収集された画像フレームと、光検出および測距(LIDAR)データとを受信するステップと、
前記LIDARデータに基づいて、前記環境を表す3Dモデルを生成するステップと、
前記画像フレームを前記3Dモデルと連携させるステップと、
第1のインターフェース部分および第2のインターフェース部分を備えるインターフェースを生成するステップと、
前記第1のインターフェース部分の内部で前記3Dモデルの一部を表示するステップと、
前記第1のインターフェース部分の内部で表示されている前記3Dモデルの内部でのオブジェクトの選択を受信するステップと、
選択された前記オブジェクトに対応する画像フレームを識別するステップと、
前記第2のインターフェース部分の内部で、選択された前記オブジェクトに対応する前記画像フレームを表示するステップと、
を行わせる、非一時的なコンピューター可読記憶媒体。
【請求項14】
さらなる実行可能な命令を記憶する、非一時的なコンピューター可読記憶媒体であって、さらなる前記実行可能な命令は、前記ハードウェアプロセッサによって実行されたときに、前記ハードウェアプロセッサに、
前記第1のインターフェース部分を変更して、選択された前記オブジェクトに対応する位置における前記3Dモデルの上にオーバーレイされた前記画像フレームを含めること、
をさらに行わせる、請求項13に記載の非一時的なコンピューター可読記憶媒体。
【請求項15】
前記画像フレームは、前記モバイルデバイスによって、前記画像フレームの捕捉角度に対して垂直な角度で前記3Dモデル内部でレンダリングされる、請求項14に記載の非一時的なコンピューター可読記憶媒体。
【請求項16】
前記ハードウェアプロセッサによって実行されたときに、前記ハードウェアプロセッサに、
前記第1のインターフェース部分の内部に表示されている3Dモデル内部における前記オブジェクトの2つの端点の選択を受信することと、
前記2つの端点間の距離を決定することと、
前記第1のインターフェース部分の内部で決定された前記距離を表示することと、
をさらに行わせる、さらなる実行可能な命令を記憶する、請求項13に記載の非一時的なコンピューター可読記憶媒体。
【請求項17】
前記ハードウェアプロセッサによって実行されたときに、前記ハードウェアプロセッサに、
前記第2のインターフェース部分の内部における前記画像フレーム内部での前記オブジェクトの2つの端点の選択を受信することと、
前記2つの端点間の距離を決定することと、
決定された前記距離を、前記第2のインターフェース部分の内部で表示することと、
をさらに行わせる、さらなる実行可能な命令を記憶する、請求項13に記載の非一時的なコンピューター可読記憶媒体。
【請求項18】
前記3次元(3D)モデルは、前記LIDARデータ上で同時位置決め地図作成プロセスを実行することによって生成される、請求項13に記載の非一時的なコンピューター可読記憶媒体。
【請求項19】
プロセッサと、
コンピュータープログラム命令を備える非一時的なコンピューター可読記憶媒体であって、前記コンピュータープログラム命令は、前記プロセッサによって実行されたときに、前記プロセッサに、
モバイルデバイスが環境中で移動するときに前記モバイルデバイスによって収集された画像フレームと、光検出および測距(LIDAR)データとを受信することと、
前記LIDARデータに基づいて、前記環境を表す3Dモデルを生成することと、
前記画像フレームを前記3Dモデルと連携させることと、
第1のインターフェース部分および第2のインターフェース部分を備えるインターフェースを生成することと、
前記第1のインターフェース部分の内部で前記3Dモデルの一部を表示するステップと、
前記第1のインターフェース部分の内部で表示されている前記3Dモデルの内部でのオブジェクトの選択を受信することと、
選択された前記オブジェクトに対応する画像フレームを識別することと、
前記第2のインターフェース部分の内部で、選択された前記オブジェクトに対応する前記画像フレームを表示することと、
を行わせる、非一時的なコンピューター可読記憶媒体と、
を備えるシステム。
【請求項20】
前記コンピュータープログラム命令は、前記プロセッサに、前記第1のインターフェース部分を変更して、選択された前記オブジェクトに対応する位置において、前記3Dモデルの上にオーバーレイされた前記画像フレームを含めることを行わせる、請求項19に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
技術分野
本開示は環境のモデル生成に関連し、および特に深度情報(例えば光検出および測距、すなわちLIDARデータなど)に基づいて生成された環境の3次元モデルを環境の画像フレームと連携させて、対応する画像フレームを有する3次元モデルの一部を提示することに関連する。
【背景技術】
【0002】
関連出願の相互参照
本出願は、2020年10月9日に出願された米国仮出願第63/090,095号、および2021年3月24日に出願された米国仮出願第63/165,682号の利益を主張する、2021年7月2日に出願された米国特許出願17/367,204号の利益を主張し、それらのそれぞれは本参照によりそれらの全体において本明細書に組み込まれる。
【0003】
環境の画像は、環境をじかに訪れる必要なくして、環境に関連付けられた詳細を再検討するのに役立つことができる。例えば、不動産業者は、当事者が仮想的に家を見ることができるように、家の部屋の一連の写真を捕捉することによって家のバーチャルツアーを作りだしたいと思う場合がある。同様に、請負業者は、建設中の様々な地点での建設現場の画像を捕捉して、異なる時間に捕捉された画像を比較することによって、建設現場での進捗を監視したいと思う場合がある。
【0004】
しかしながら、画像は2次元(2D)に限定されるため、環境についてのさらなる詳細を提供するために、LIDARシステムを使用して環境の3次元(3D)モデルが生成され得る。環境について複数表示したものが同時に提示される場合、画像と3Dモデルとが別々で考慮される場合と比較して、それは環境についてのより有用な洞察を提供することができる。しかし、大量の画像と、別個の3Dモデルとがある場合、画像を手作業で再検討して、3Dモデルの対応する部分に画像を一致させることは困難で時間がかかることがある。
【発明の概要】
【0005】
空間インデックス付与システムは、環境で捕捉された画像フレーム、および同じ環境で収集されたLIDARデータを受信して、LIDARデータに基づいて生成された3Dモデルを画像フレームと連携させる。空間インデックス付与システムは、画像フレームのそれぞれを3Dモデルの一部にマッピングすることによって、3Dモデルを画像フレームと連携させる。いくつかの実施形態では、画像フレームおよびLIDARデータは、モバイルデバイスが環境中で移動するときにモバイルデバイスによって同時に捕捉され、および画像フレームは、タイムスタンプに基づいてLIDARデータにマッピングされる。いくつかの実施形態では、動画捕捉システムとLIDARシステムとは別個のシステムであり、および画像フレームは特徴ベクトルに基づいて3Dモデルにマッピングされる。連携させた後、空間インデックス付与システムは、3Dモデルの選択された部分と、3Dモデルの選択された部分に対応する画像フレームとを提示するインターフェースを生成する。
【図面の簡単な説明】
【0006】
図1】一実施形態による、空間インデックス付与システムについてのシステム環境を説明する図である。
図2A】一実施形態による、パスモジュールのブロック図である。
図2B】一実施形態による、モデル生成モジュールのブロック図である。
図3A】一実施形態による、3Dモデルと連携した画像を含んだ、3Dモデルおよび第2のインターフェース部分を含む第1のインターフェース部分を表示するモデル視覚化インターフェースの例を説明する図である。
図3B】一実施形態による、3Dモデルと連携した画像を含んだ、3Dモデルおよび第2のインターフェース部分を含む第1のインターフェース部分を表示するモデル視覚化インターフェースの例を説明する図である。
図3C】一実施形態による、3Dモデルと連携した画像を含んだ、3Dモデルおよび第2のインターフェース部分を含む第1のインターフェース部分を表示するモデル視覚化インターフェースの例を説明する図である。
図3D】一実施形態による、3Dモデルと連携した画像を含んだ、3Dモデルおよび第2のインターフェース部分を含む第1のインターフェース部分を表示するモデル視覚化インターフェースの例を説明する図である。
図4】一実施形態による、間取り図における特徴を用いたフレームの自動空間インデックス付与についての例示的な方法を説明するフローチャートである。
図5】一実施形態による、画像フレームと連携した3Dモデルを表示するインターフェースを生成するための例示的な方法を説明するフローチャートである。
図6】一実施形態による、本明細書における実施形態を実装するコンピューターシステムを説明する図である。
【発明を実施するための形態】
【0007】
I.概要
空間インデックス付与システムは、環境を表現する一連の画像フレームを含む動画を受信し、および画像フレームを、LIDARデータを使用して生成された環境の3Dモデルと連携させる。画像フレームは、経路に沿って環境中を移動する動画捕捉システムによって捕捉される。LIDARデータはLIDARシステムによって収集され、および空間インデックス付与システムは、LIDARシステムから受信されたLIDARデータに基づいて環境の3Dモデルを生成する。空間インデックス付与システムは、画像を3Dモデルと連携させる。いくつかの実施形態では、LIDARシステムは、画像フレームおよびLIDARデータが同時に捕捉されて時間で同期するように、動画捕捉システムに統合される。時間の同期に基づいて、空間インデックス付与システムは、画像フレームのそれぞれが捕捉された位置を決定し得、および画像フレームが対応する3Dモデルの一部を決定し得る。他の実施形態では、LIDARシステムは、動画捕捉システムとは別個のものであって、空間インデックス付与システムは、連携のためにLIDARデータに関連付けられた特徴ベクトル、および画像フレームに関連付けられた特徴ベクトルを使用し得る。
【0008】
空間インデックス付与システムは、3Dモデルを表示するための第1のインターフェース部分と、画像フレームを表示するための第2のインターフェース部分とを有するインターフェースを生成する。空間インデックス付与システムは、表示すべき3Dモデルの一部を示すユーザからのインタラクションを受信し得る。例えば、インタラクションは、3Dモデル内の位置に関連付けられたウェイポイントアイコンを選択すること、または3Dモデル内のオブジェクトを選択することを含み得る。空間インデックス付与システムは、選択された3Dモデルの一部に関連付けられた画像フレームを識別し、および対応する画像フレームを第2のインターフェース部分に表示する。空間インデックス付与システムが、表示すべき3Dモデルの別の一部を示す別のインタラクションを受信するとき、インターフェースは、第1のインターフェース内に3Dモデルの他の一部を表示し、および3Dモデルの他の一部に関連付けられた異なる画像フレームを表示するように更新される。
【0009】
II.システム環境
図1は、一実施形態による、空間インデックス付与システムのためのシステム環境100を説明する。図1に示される実施形態では、システム環境100は、動画捕捉システム110、ネットワーク120、空間インデックス付与システム130、LIDARシステム150、およびクライアントデバイス160を含む。単一の動画捕捉システム110、単一のLIDARシステム150、および単一のクライアントデバイス160が図1に示されているが、いくつかの実装では、空間インデックス付与システム130は、複数の動画捕捉システム110、複数のLIDARシステム150、および/または複数のクライアントデバイス160とインタラクトする。
【0010】
動画捕捉システム110は、動画捕捉システム110が経路に沿って移動するときに、フレームデータ、モーションデータ、および位置データのうちの1または複数を収集する。図1に示される実施形態では、動画捕捉システム110は、カメラ112、モーションセンサー114、および位置センサー116を含む。動画捕捉システム110は、経路に沿って移動するのに適したフォームファクターを有するデバイスとして実装される。一実施形態では、動画捕捉システム110は、例えば、車輪付きカート、またはユーザの体に装着されている物体(例えば、リュックサックまたはヘルメット)に取り付けられるか、または統合されるデバイスのような、ユーザが物理的に経路に沿って移動させるポータブルデバイスである。別の実施形態では、動画捕捉システム110は車両に取り付けられるか、または車両に統合される。車両は、例えば、車輪付き車両(例えば、車輪付きロボット)または航空機(例えば、クワッドコプタードローン)であり得、および事前に設定されたルートに沿って自律的に進むように、またはリアルタイムで人間のユーザによって制御されるように構成されることができる。いくつかの実施形態では、動画捕捉システム110は、例えばスマートフォン、タブレットコンピューター、またはラップトップコンピューターのようなモバイルコンピューティングデバイスの一部である。動画捕捉システム110はユーザによって携行され得、およびユーザが経路に沿って環境中を移動するときに動画を捕捉するために使用され得る。
【0011】
カメラ112は、動画捕捉システム110が経路に沿って移動するときに、一連の画像フレームを含む動画を収集する。いくつかの実施形態では、カメラ112は、360度のフレームを捕捉する360度カメラである。カメラ112は、動画捕捉システム110内に複数の非360度カメラを配置して、非360度カメラが互いに対して様々な角度に向けられるようにし、および複数の非360度カメラが、環境のフレームを非360度カメラのそれぞれの角度からほぼ同時に捕捉するように構成することによって実装されることができる。次に、画像フレームは、単一の360度フレームを形成するために組み合わされることができる。例えば、カメラ112は、反対方向に向けられた2つの180°パノラマカメラから実質的に同時にフレームを捕捉することによって実装されることができる。他の実施形態では、カメラ112は狭い視野を有しており、および360度のフレームの代わりに典型的な2D画像を捕捉するように構成される。
【0012】
動画捕捉システム110によって捕捉されたフレームデータは、フレームタイムスタンプをさらに含み得る。フレームタイムスタンプは、フレームのそれぞれが動画捕捉システム110によって捕捉された時間に対応するデータである。本明細書で使用される場合、フレームは、フレームが互いの閾値時間間隔内(例えば、1秒以内、100ミリ秒以内など)に捕捉される場合、実質的に同時に捕捉される。
【0013】
一実施形態では、カメラ112は、動画捕捉システム110が環境のあらゆる場所を移動するときにウォークスルー動画を捕捉する。ウォークスルー動画は、例えば、高いフレームレート(例えば、毎秒60フレーム)または低いフレームレート(例えば、毎秒1フレーム)のような、任意のフレームレートで捕捉されることができる一連の画像フレームを含んでいる。一般に、より高いフレームレートで画像フレームのシーケンスを捕捉することは、より安定した結果を生じさせるが、より低いフレームレートで画像フレームのシーケンスを捕捉することは、データ記憶装置および伝送の低減を可能にする。別の実施形態では、カメラ112は、固定された時間間隔によって分離された静止フレームのシーケンスを捕捉する。さらに別の実施形態では、カメラ112は、単一の画像フレームを捕捉する。モーションセンサー114および位置センサー116は、カメラ112がフレームデータを捕捉している間、それぞれモーションデータおよび位置データを収集する。モーションセンサー114は、例えば、加速度計およびジャイロスコープを含むことができる。モーションセンサー114はまた、動画捕捉システム110を取り囲む磁場の方向を測定する磁力計を含むことができる。
【0014】
位置センサー116は、動画捕捉システム110の緯度および経度座標を決定する全地球航法衛星システム(例えば、GPS受信機)の受信機を含むことができる。いくつかの実施形態では、位置センサー116は、追加的または代替的に、環境内の既知の位置に設置された送信機から受信された信号に基づいて動画捕捉システムの位置を決定する、屋内測位システム(IPS)の受信機を含む。例えば、RFフィンガープリントを送信する複数の無線周波数(RF)送信機が環境の至るところに配置され、および位置センサー116はまた、RFフィンガープリントを検出して、RFフィンガープリントの相対強度に基づいて環境内の動画捕捉システム110の位置を推定する受信機も含む。
【0015】
図1に示される動画捕捉システム110は、カメラ112、モーションセンサー114、および位置センサー116を含むが、他の実施形態では、構成要素112、114、116のいくつかは、動画捕捉システム110から省略され得る。例えば、モーションセンサー114および位置センサー116の一方または両方は、動画捕捉システムから省略され得る。
【0016】
いくつかの実施形態では、動画捕捉システム110は、捕捉されたデータを記憶する記憶装置と、捕捉されたデータをネットワーク120を介して空間インデックス付与システム130に送信する通信インターフェースとをまた含むコンピューティングデバイス(例えば、図6に示されるコンピューターシステム600)の一部として実装される。一実施形態では、動画捕捉システム110は、捕捉されたデータを、動画捕捉システム110が経路に沿って移動するときにローカルに記憶し、およびデータ収集が完了した後、データは空間インデックス付与システム130に送信される。別の実施形態では、動画捕捉システム110は、システム110が経路に沿って移動するときに空間インデックス付与システム130にリアルタイムで捕捉されたデータを送信する。
【0017】
動画捕捉システム110は、ネットワーク120を介して他のシステムと通信する。ネットワーク120は、有線および/または無線通信システムの両方を使用して、ローカルエリアおよび/またはワイドエリアネットワークの任意の組み合わせを含み得る。一実施形態では、ネットワーク120は、標準的な通信技術および/またはプロトコルを使用する。例えば、ネットワーク120は、イーサネット、802.11、worldwide interoperability for microwave access (WiMAX)、3G、4G、符号分割多重アクセス方式(CDMA)、デジタル加入者回線(DSL)などのような技術を使用した通信リンクを含む。ネットワーク120を介して通信するために使用されるネットワークプロトコルの例は、multiprotcol label switching(MPLS)、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、ハイパーテキスト転送プロトコル(HTTP)、簡易メール転送プロトコル(SMTP)、およびファイル転送プロトコル(FTP)を含む。ネットワーク120はまた、APPLE Push Notification Service(APNS)およびGOOGLE Cloud Messaging(GCM)のような様々なプッシュ通知サービスを介してプッシュ通知を配信するために使用され得る。ネットワーク110を介して交換されたデータは、ハイパーテキストマークアップ言語(HTML)、拡張マークアップ言語(XML)、またはJavaScript object notation(JSON)のような任意の適切なフォーマットを使用して表され得る。いくつかの実施形態では、ネットワーク120の通信リンクの全てまたは一部は、任意の適切な技術または複数の技術を使用して暗号化され得る。
【0018】
光検出および測距(LIDAR)システム150は、LIDARシステム150が環境のあらゆる場所を移動するときに、レーザー152および検出器154を使用して環境を表す3次元データを収集する。レーザー152はレーザーパルスを放出し、および検出器154は、環境内の物体または表面上の複数の地点によって反射された後、レーザーパルスがLIDARシステム150に戻るときを検出する。LIDARシステム150はまた、レーザーパルスが放出される方向を決定するために使用されることができる、LIDARシステム150の動きおよび位置を示すモーションセンサー156および位置センサー158を含む。LIDARシステム150は、環境内の物体の表面または水面から反射された後で検出されたレーザーパルスに関連付けられたLIDARデータを生成する。LIDARデータは、レーザーパルスが放出された既知の方向、およびレーザー152の放出と検出器154による検出との間の継続時間に基づいて決定された(x、y、z)座標のセットを含み得る。LIDARデータはまた、検出されたレーザーパルスの強度のような他の属性データを含み得る。他の実施形態では、LIDARシステム150は、別の深度感知システムによって置き換えられ得る。深度感知システムの例は、レーダーシステム、3Dカメラシステムなどを含む。
【0019】
いくつかの実施形態では、LIDARシステム150は、動画捕捉システム110に統合される。例えば、LIDARシステム150および動画捕捉システム110は、動画およびLIDARデータを捕捉するように構成されるスマートフォンの構成要素であり得る。動画捕捉システム110およびLIDARシステム150は、LIDARシステム150がLIDARデータを収集する間、動画捕捉システム110が環境の動画を捕捉するように、同時に操作され得る。動画捕捉システム110およびLIDARシステム150が統合される場合、モーションセンサー114は、モーションセンサー156と同じであり得、および位置センサー116は、位置センサー158と同じであり得る。LIDARシステム150および動画捕捉システム110は連携し得、およびLIDARデータ内の点は、点が画像データ(例えば、RGB値)に関連付けられるように、点と同時に捕捉された画像フレーム内のピクセルにマッピングされ得る。LIDARシステム150はまた、点に関連付けられたタイムスタンプを収集し得る。したがって、画像フレームおよびLIDARデータは、タイムスタンプに基づいて互いに関連付けられ得る。本明細書で使用されるように、LIDARデータのタイムスタンプは、レーザーパルスが点に向かって放出された時間、またはレーザーパルスが検出器154によって検出された時間に対応し得る。すなわち、画像フレームが捕捉された時間を示している、画像フレームに関連付けられたタイムスタンプに対して、LIDARデータ内の1または複数の点が同じタイムスタンプに関連付けられ得る。いくつかの実施形態では、LIDARシステム150は、動画捕捉システム110が使用されていない間に使用され得、逆もまた同様である。いくつかの実施形態では、LIDARシステム150は、動画捕捉システム110とは別個のシステムである。そのような実施形態では、動画捕捉システム110の経路は、LIDARシステム150の経路とは異なり得る。
【0020】
空間インデックス付与システム130は、動画捕捉システム110によって捕捉された画像フレームおよびLIDARシステム150によって収集されたLIDARを受信し、空間インデックス付与プロセスを実行して、画像フレームおよびLIDARデータのそれぞれが捕捉された空間位置を自動的に識別して、LIDARデータを使用して生成された3Dモデルに対して画像フレームを連携させる。画像フレームを3Dモデルに対して連携させた後、空間インデックス付与システム130は、クライアントデバイス160が3Dモデルの一部を選択して、対応する画像フレームを並べて一緒に見ることができるようにする視覚化インターフェースを提供する。図1に示される実施形態では、空間インデックス付与システム130は、経路モジュール132、経路記憶装置134、間取り図(floorplan)記憶装置136、モデル生成モジュール138、モデル記憶装置140、モデル統合モジュール142、インターフェースモジュール144、およびクエリーモジュール146を含む。他の実施形態では、空間インデックス付与システム130は、より少ないモジュール、異なるモジュール、または追加のモジュールを含み得る。
【0021】
経路モジュール132は、ウォークスルー動画内の画像フレームおよび動画捕捉システム110によって収集された他の場所およびモーションデータを受信して、受信されたフレームと、受信されたデータとに基づいて動画捕捉システム110の経路を決定する。一実施形態では、経路は、一連のフレームを含むウォークスルー動画のフレームのそれぞれについての6Dカメラポーズとして定義される。フレームのそれぞれについての6Dカメラポーズは、画像フレームが捕捉されたときのカメラ112の相対的な位置および方向の推定値である。経路モジュール132は、経路記憶装置134に経路を記憶することができる。
【0022】
一実施形態では、経路モジュール132は、SLAM(同時位置決め地図作成)アルゴリズムを使用して、(1)カメラ112の位置および向きを推測することによって経路の推定値を同時に決定し、および(2)直接的な方法を使用するか、またはフレームのシーケンスであるウォークスルー動画から抽出されたランドマーク特徴(例えば、oriented FAST and rotated BRIEF(ORB)、scale-invariant feature transform(SIFT)、speeded up robust features(SURF)など)を使用して環境をモデル化する。経路モジュール132は、シーケンス内のフレームのそれぞれに対して1つの6Dベクトル(位置の3次元、向きの3次元)を有する状態で、6次元(6D)カメラポーズのベクトルを経時的に出力し、および6Dベクトルは経路記憶装置134に記憶されることができる。
【0023】
空間インデックス付与システム130はまた、動画捕捉システム110によって捕捉された環境の間取り図のような、1または複数の間取り図を記憶する間取り図記憶装置136を含むことができる。本明細書で言及されるように、間取り図は、上方から見下ろした観点からの、環境(例えば、建物または構造の一部)の原寸に比例する、2次元(2D)図式表現である。代替の実施形態では、間取り図は、2D図(例えば、ビルディングインフォメーションモデリング(BIM)モデル)の代わりに、予想される完成建築物の3Dモデルである場合がある。間取り図は、環境内にあることが予想される物理オブジェクトの位置、寸法、およびタイプを指定するために注釈付けされ得る。いくつかの実施形態では、間取り図は、クライアントデバイス160に関連付けられたユーザによって手作業で注釈付けされ、および空間インデックス付与システム130に提供される。他の実施形態では、間取り図は、注釈付き間取り図のトレーニングデータセットを使用してトレーニングされて、環境内にあることが予想される物理オブジェクトの位置、寸法、およびオブジェクトタイプを識別する機械学習モデルを使用して、空間インデックス付与システム130によって注釈付けされる。建物または構造の異なる部分は、別々の間取り図によって表され得る。例えば、空間インデックス付与システム130は、建物、ユニット、または下部構造の床面のそれぞれについて別個の間取り図を記憶し得る。
【0024】
モデル生成モジュール138は、環境の3Dモデルを生成する。いくつかの実施形態では、3Dモデルは、動画捕捉システム110によって捕捉された画像フレームに基づいている。画像フレームに基づいて環境の3Dモデルを生成するために、モデル生成モジュール138は、structure from motion(SfM)、同時位置決め地図作成(SLAM)、単眼深度マップ生成、または他の方法のような方法を使用し得る。3Dモデルは、環境のウォークスルー動画からの画像フレーム、画像フレームのそれぞれの相対位置(画像フレームの6Dポーズによって示されるような)、および(任意選択で)環境の間取り図に関する画像フレームのそれぞれの絶対位置を使用して生成され得る。動画捕捉システム110からの画像フレームは、組み合わせられて3Dモデルを生成することができるステレオ画像であり得る。いくつかの実施形態では、モデル生成モジュール138は、写真測量法を使用して画像フレームに基づいて3D点群を生成する。いくつかの実施形態では、モデル生成モジュール138は、システム150からのLIDARデータに基づいて3Dモデルを生成する。モデル生成モジュール138は、LIDARデータを処理して点群を生成し得、それは画像フレームを用いて生成された3Dモデルと比較してより高い解像度を有し得る。3Dモデルを生成した後、モデル生成モジュール138は、3Dモデルをモデル記憶装置140に記憶する。
【0025】
一実施形態では、モデル生成モジュール136は、経路モジュール132または経路記憶装置134からフレームシーケンスおよびフレームシーケンスの対応する経路(例えば、フレームのシーケンスであるウォークスルー動画内のフレームのそれぞれについて6Dポーズを規定する6Dポーズベクトル)を受信して、シーケンス内の画像フレームのサブセットおよび画像フレームの対応する6Dポーズを3Dモデルに含めるために抽出する。例えば、フレームのシーケンスであるウォークスルー動画が、毎秒30フレームで捕捉された動画内のフレームである場合、モデル生成モジュール136は、フレームおよびフレームに対応する6Dポーズを0.5秒間隔で抽出することによって画像フレームをサブサンプリングする。モデル生成モジュール136の実施形態は、図2Bに関して以下に詳細に説明される。
【0026】
図1に説明される実施形態では、空間インデックス付与システム130内のモデル生成モジュール138によって3Dモデルが生成される。しかしながら、代替の実施形態では、モデル生成モジュール138は、第三者アプリケーション(例えば、動画捕捉システム110および/またはLIDARシステム150を含むモバイルデバイスにインストールされたアプリケーション)によって生成され得る。動画捕捉システム110によって捕捉された画像フレームおよび/またはLIDARシステム150によって収集されたLIDARデータは、3Dモデルを生成するためにデータを処理するアプリケーションに関連付けられたサーバにネットワーク120を介して送信され得る。次いで、空間インデックス付与システム130は、生成された3Dモデルにアクセスして、環境に関連付けられた他のデータと3Dモデルを連携させて、連携した表現を1または複数のユーザに提示し得る。
【0027】
モデル統合モジュール142は、3Dモデルを環境を記述する他のデータと統合する。他のタイプのデータは、1または複数の画像(例えば、動画捕捉システム110からの画像フレーム)、2D間取り図、図、および環境の特性を説明する注釈を含み得る。モデル統合モジュール142は、他のデータを3Dモデルの関連する部分と連携させるために、3Dモデルと、他のデータとの類似性を決定する。モデル統合モジュール142は、他のデータが対応する3Dモデルのどの部分を決定し得、および他のデータに関連して決定された3Dの部分に関連付けられた識別子を記憶し得る。
【0028】
いくつかの実施形態では、モデル統合モジュール142は、LIDARデータに基づいて生成された3Dモデルを、時間の同期に基づいて、1または複数の画像フレームに連携させ得る。上述のように、動画捕捉システム110およびLIDARシステム150は、画像フレームおよびLIDARデータを同時に捕捉する単一のシステムに統合され得る。画像フレームのそれぞれについて、モデル統合モジュール142は、画像フレームが捕捉されたタイムスタンプを決定し得、および同じタイムスタンプに関連付けられたLIDARデータ内の点のセットを識別し得る。次に、モデル統合モジュール142は、3Dモデルのどの部分が識別された点のセットを含むかを決定し得、および画像フレームをその部分と連携させ得る。さらに、モデル統合モジュール142は、画像フレーム内のピクセルをLIDARデータ内の点のセットにマッピングし得る。
【0029】
いくつかの実施形態では、モデル統合モジュール142は、LIDARデータを使用して生成された点群(以下、「LIDAR点群」と称される)を、画像フレームに基づいて生成された別の点群(以下、「低解像度点群」と称される)に連携させ得る。この方法は、LIDARシステム150および動画捕捉システム110が別個のシステムであるときに使用され得る。モデル統合モジュール142は、LIDAR点群内の点のそれぞれ、および低解像度点群内の点のそれぞれについて特徴ベクトルを生成し得る(例えば、ORB、SIFT、HardNETを使用して)。モデル統合モジュール142は、特徴ベクトルと、特徴距離に基づいたLIDAR点群および特徴距離に基づいた低解像度点群の間の一致点のペアとの間の特徴距離を決定し得る。LIDAR点群と低解像度点群との間の3Dポーズは、例えば、ランダムサンプルコンセンサス(RANSAC)または非線形最適化を使用して、点のペアについてより多数の幾何学的インライア(geometric inliers)を生成するように決定される。低解像度点群は画像フレームで生成されるため、LIDAR点群もまた画像フレーム自体と連携する。
【0030】
いくつかの実施形態では、モデル統合モジュール142は、図または1もしくは複数の画像フレームに関連付けられた注釈に基づいて、3Dモデルを、図または1もしくは複数の画像フレームに連携させ得る。注釈は、ユーザによって提供されてもよく、または、画像認識または機械学習モデルを使用して空間インデックス付与システム130によって決定されてもよい。注釈は、寸法またはオブジェクトタイプのような環境内のオブジェクトまたは表面の特性を記述し得る。モデル統合モジュール142は、3Dモデル内の特徴を抽出して、抽出された特徴を注釈と比較し得る。例えば、3Dモデルが建物内の部屋を表す場合、部屋の寸法を決定するために3Dモデルから抽出された特徴が使用され得る。決定された寸法は、建物内の様々な部屋の寸法について注釈付けされた建設現場の間取り図と比較され得、およびモデル統合モジュール142は、決定された寸法に一致する間取り図内部の部屋を識別し得る。いくつかの実施形態では、モデル統合モジュール142は、3Dモデル上で3Dオブジェクト検出を実行し、および図または1もしくは複数の画像に基づいて、3Dオブジェクト検出の出力を、画像認識または機械学習モデルからの出力と比較し得る。
【0031】
いくつかの実施形態では、3Dモデルは、ユーザからの入力に基づいて手動で図と連携し得る。3Dモデルおよび図はユーザに関連付けられたクライアントデバイス160に提示されてもよく、およびユーザは、3Dモデルに対応する位置を示す図の内部の位置を選択してもよい。例えば、ユーザは、LIDARデータに対応する間取り図内の位置にピンを立ててもよい。
【0032】
インターフェースモジュール144は、環境に関連付けられた情報を提示するために、クライアントデバイス160に視覚化インターフェースを提供する。インターフェースモジュール144は、環境を表す1または複数のモデルを見るために、クライアントデバイス160からの要求を受信したことに応答して視覚化インターフェースを生成し得る。インターフェースモジュール144は、間取り図記憶装置136からの環境の間取り図を表す2Dオーバーヘッドマップインターフェースを含むように、最初に視覚化インターフェースを生成し得る。2Dオーバーヘッドマップは、マップ上の点をクリックすると、空間内の選択された点に対応する3Dモデルの一部に移動するようなインタラクティブなインターフェースであってもよい。視覚化インターフェースは、3Dモデルの一部について一人称視点を提供し、これにより、ユーザが3Dモデルの周りをパンおよびズームすることができ、および他の部分の相対位置を表すウェイポイントアイコンを選択することによって、ユーザが3Dモデルの他の部分に移動することができる。
【0033】
視覚化インターフェースはまた、ユーザが3Dモデル内部のオブジェクトを選択することを可能にし、これにより、視覚化インターフェースは、選択されたオブジェクトに対応する画像フレームを表示する。ユーザは、オブジェクト上の点とインタラクトすることによってオブジェクトを選択し得る(例えば、オブジェクト上の点をクリックすること)。インターフェースモジュール144がユーザからのインタラクションを検出した場合、インターフェースモジュール144は、3Dモデル内部の点の位置を示す信号をクエリーモジュール146に送信する。クエリーモジュール146は、選択された点に連携した画像フレームを識別し、およびインターフェースモジュール144は、視覚化インターフェースを更新して画像フレームを表示する。視覚化インターフェースは、3Dモデルを表示するための第1のインターフェース部分を含み得、および画像フレームを表示するための第2のインターフェース部分を含み得る。例示的な視覚化インターフェースは、図3A‐3Dに関して説明される。
【0034】
いくつかの実施形態では、インターフェースモジュール144は、3Dモデルまたは画像フレーム上で選択された端点間の距離を測定してほしいという要求を受信し得る。インターフェースモジュール144は、端点の識別をクエリーモジュール146に提供し得、およびクエリーモジュール146は、端点に関連付けられた(x、y、z)座標を決定し得る。クエリーモジュール146は、2つの座標間の距離を計算して、インターフェースモジュール144にその距離を返し得る。インターフェースモジュール144は、インターフェース部分を更新して、要求された距離をユーザに表示し得る。同様に、インターフェースモジュール144は、オブジェクトの領域または容積を特定してほしいという要求を伴う追加の端点を受信し得る。
【0035】
クライアントデバイス160は、ネットワーク120に接続することができて空間インデックス付与システム130にアクセスするために使用されることができる、例えばスマートフォン、タブレットコンピューター、ラップトップコンピューターのような任意のモバイルコンピューティングデバイス、または例えばデスクトップコンピューターのような非モバイルコンピューティングデバイスである。クライアントデバイス160は、例えば画面などのディスプレイデバイス上で、インターフェースをユーザに表示し、およびユーザがインターフェースとインタラクトできるようにするためのユーザ入力を受信する。クライアントデバイスの例示的な実装は、図6のコンピューターシステム600を参照して以下に説明される。
【0036】
III.経路生成の概要
図2Aは、一実施形態による、図1に示される空間インデックス付与システム130の経路モジュール132のブロック図を説明する。経路モジュール132は、動画捕捉システム110およびLIDARシステム150によって捕捉された入力データ(例えば、フレーム212のシーケンス、モーションデータ214、位置データ223、間取り図257)を受信して、経路226を生成する。図2Aに示される実施形態では、経路モジュール132は、同時位置決め地図作成(SLAM)モジュール216と、モーション処理モジュール220と、経路生成および連携モジュール224とを含む。
【0037】
SLAMモジュール216は、フレーム212のシーケンスを受信し、およびSLAMアルゴリズムを実行して、経路の第1の推定値218を生成する。SLAMアルゴリズムを実行する前に、SLAMモジュール216は、画像フレーム212に対して1または複数の前処理ステップを実行することができる。一実施形態では、前処理ステップは、フレーム212のシーケンスをベクトルのシーケンスに変換することによって画像フレーム212から特徴を抽出することを含み、ベクトルのそれぞれはそれぞれのフレームの特徴表現である。特に、SLAMモジュールは、SIFTの特徴、SURFの特徴、またはORBの特徴を抽出することができる。
【0038】
特徴を抽出した後で、前処理ステップはまた、セグメンテーションプロセスを含むこともできる。セグメンテーションプロセスは、画像フレームのそれぞれの特徴の品質に基づいて、フレームのシーケンスであるウォークスルー動画をセグメントに分割する。一実施形態では、フレームの特徴品質は、画像フレームから抽出された特徴の数として定義される。この実施形態では、セグメンテーションステップは、画像フレームの特徴品質が閾値を上回るか、または下回るかに基づいて、フレームのそれぞれを高い特徴品質を有するもの、または低い特徴品質を有するものとしてそれぞれ分類する。(すなわち、閾値を上回る特徴品質を有するフレームは高品質として分類され、および閾値を下回る特徴品質を有するフレームは低品質として分類される)。低い特徴品質は、例えば、過度な被写体ぶれ、または悪い照明条件によって引き起こされることが可能となる。
【0039】
画像フレームを分類した後、セグメンテーション処理は、高い特徴品質を有する連続したフレームがセグメントに結合され、および低い特徴品質を有するフレームがどのセグメントにも含まれないようにシーケンスを分割する。例えば、経路が薄暗い廊下に沿って続いて、一連の明るい部屋に出入りすることを想定されたい。この例では、部屋のそれぞれで捕捉された画像フレームは高い特徴品質を有する可能性が高く、一方、廊下で捕捉された画像フレームは低い特徴品質を有する可能性が高い。結果として、セグメンテーション処理はフレームのシーケンスであるウォークスルー動画を分割し、それによって、同じ部屋で捕捉された連続したフレームのシーケンスのそれぞれが単一のセグメントに分割され(結果として、部屋のそれぞれについて別個のセグメントが得られる)、一方、廊下で捕捉された画像フレームはいずれのセグメントにも含まれないこととなる。
【0040】
前処理ステップの後、SLAMモジュール216は、SLAMアルゴリズムを実行して、経路の第1の推定値218を生成する。一実施形態では、第1の推定値218はまた、シーケンス内のフレームのそれぞれに対して1つの6Dベクトルを有する、6Dカメラポーズの経時的なベクトルでもある。前処理ステップが、フレームのシーケンスであるウォークスルー動画をセグメント化することを含む実施形態では、SLAMアルゴリズムは、フレームのセグメントのそれぞれについての経路セグメントを生成するために、セグメントのそれぞれに対して別個に実行される。
【0041】
モーション処理モジュール220は、動画捕捉システム110が経路に沿って移動したときに収集されたモーションデータ214を受信して、経路の第2の推定値222を生成する。経路の第1の推定値218と同様に、第2の推定値222はまた、カメラポーズの経時的な6Dベクトルとして表されることもできる。一実施形態では、モーションデータ214は、加速度計およびジャイロスコープによってそれぞれ収集された加速度およびジャイロスコープデータを含み、およびモーション処理モジュール220は、モーションデータに対してデッドレコニング処理を実行することによって第2の推定値222を生成する。モーションデータ214が磁力計からのデータもまた含む実施形態では、磁力計データは、ジャイロスコープデータに加えて、またはジャイロスコープデータの代わりに使用されて、動画捕捉システム110の方向の変化を決定し得る。
【0042】
多くの消費者向けグレードのジャイロスコープによって生成されるデータは、バイアスが修正されない場合、経路の第2の推定値222の精度に影響を与えることがある時変バイアス(ドリフトとも呼ばれる)を含む。モーションデータ214が、上述された3つのタイプのデータ(加速度計、ジャイロスコープ、および磁力計データ)全てを含む実施形態において、およびモーション処理モジュール220は、加速度計および磁力計データを使用して、ジャイロスコープデータ内のこのバイアスを検出および修正することができる。特に、モーション処理モジュール220は、加速度計データから重力ベクトルの方向(通常は重力方向を指すであろう)を決定し、および重力ベクトルを使用して、動画捕捉システム110の2次元の傾きを推定する。一方、磁力計データは、ジャイロスコープのヘディングバイアス(heading bias)を推定するために使用される。磁力計データは、特に内部構造が鉄骨を含む建物内で使用される場合、騒音が多い可能性があるため、モーション処理モジュール220は磁力計データの回転平均を計算し、および使用してヘディングバイアスを推定することができる。様々な実施形態では、回転平均は、1分、5分、10分、または何らかの他の期間の時間ウィンドウにわたって計算され得る。
【0043】
経路生成および連携モジュール224は、経路の第1の推定値218および第2の推定値222を、経路226の統合された推定値に統合する。動画捕捉システム110が、経路に沿って移動している間に位置データ223もまた収集する実施形態では、経路生成モジュール224は、経路226を生成しているときに位置データ223もまた使用することができる。環境の間取り図が利用可能である場合、経路生成および連携モジュール224はまた、入力として間取り図257も受信して、経路216の統合された推定値を間取り図257に連携させることができる。
【0044】
IV.モデル生成の概要
図2Bは、一実施形態による、図1に示される空間インデックス付与システム130のモデル生成モジュール138のブロック図を説明する。図2Bは、画像フレームに基づいて生成された3Dモデル266を説明する。モデル生成モジュール138は、動画捕捉システム110によって捕捉されたフレーム212のシーケンス、環境の間取り図257、およびカメラに関する情報254と併せて、経路モジュール132によって生成された経路226を受信する。モデル生成モジュール138の出力は、環境の3Dモデル266である。説明されている実施形態では、モデル生成モジュール138は、ルート生成モジュール252、ルートフィルタリングモジュール258、およびフレーム抽出モジュール262を含む。
【0045】
ルート生成モジュール252は、経路226およびカメラ情報254を受信して、抽出されたフレームのそれぞれについて1または複数の候補ルートベクトル256を生成する。カメラ情報254は、カメラモデル254Aおよびカメラの高さ254Bを含む。カメラモデル254Aは、フレーム内の2D点(すなわち、画像フレーム内のピクセルを識別する座標のペアによって定義されるような)のそれぞれを、カメラからその2D点までの視線の方向を表す3D光線にマッピングするモデルである。一実施形態では、空間インデックス付与システム130は、システム130によってサポートされるカメラのタイプのそれぞれに対して別個のカメラモデルを記憶する。カメラの高さ254Bは、フレームのシーケンスであるウォークスルー動画が捕捉されている間の環境の床面に対するカメラの高さである。一実施形態では、カメラの高さは画像フレーム捕捉プロセス中に一定の値を有する、と想定される。例えば、カメラがユーザの体に装着されているヘルメットに取り付けられている場合、その時、高さはユーザの身長と、ユーザの頭頂に対するカメラの高さとの合計に等しい一定の値を有する(両方の数がユーザ入力として受信されることができる)。
【0046】
本明細書で参照されるように、抽出されたフレームのルートベクトルは、抽出されたフレームと、他の抽出されたフレームのうちの1つとの間の空間距離を表すベクトルである。例えば、ルートベクトルを、ルートベクトルに関連付けられたフレームの空間位置に追加することが他の抽出されたフレームの空間位置をもたらすように、抽出されたフレームに関連付けられたルートベクトルは、その抽出されたフレームにルートベクトルの終点を有し、および他の抽出されたフレームにルートベクトルの始点を有する。一実施形態では、ルートベクトルは、2つの抽出されたフレームのそれぞれの6Dポーズベクトルによって示されるように、ベクトル減算を実行して2つの抽出されたフレームの3次元位置の間の差を計算することによって計算される。
【0047】
インターフェースモジュール144に言及すると、抽出されたフレームに対するルートベクトルは、インターフェースモジュール144が3Dモデル266を受信して、抽出されたフレームの一人称視点を表示した後で使用される。一人称視点を表示するとき、インターフェースモジュール144は、他のフレームの位置(例えば、ルートベクトルの始点の画像フレーム)を表す画像フレーム内の位置でウェイポイントアイコン(図3Bに円として示される)をレンダリングする。一実施形態では、インターフェースモジュール144は、以下の方程式を使用して、ルートベクトルに対応するウェイポイントアイコンをレンダリングする画像フレーム内の位置を決定する。
【0048】
【数1】
【0049】
この式では、Mprojは、レンダリングに使用されるカメラ投射関数のパラメータを含む射影行列であり、Mviewは、彼または彼女の現在のフレームに対するユーザの位置および方向を表している等長行列であり、Mdeltaはルートベクトルであり、Gringは、レンダリングされているウェイポイントアイコンのメッシュモデルを表しているジオメトリ(3D座標のリスト)であり、およびPiconは、画像フレームの一人称視点内部のアイコンのジオメトリである。
【0050】
ルート生成モジュール138に再び言及すると、ルート生成モジュール252は、抽出されたフレームのペアそれぞれの間の候補ルートベクトル256を計算することができる。しかしながら、フレームに関連付けられた候補ルートベクトルのそれぞれについて個別のウェイポイントアイコンを表示することは、多数のウェイポイントアイコン(例えば、数十個)がフレーム内に表示されることをもたらし、このことがユーザに負担をかけて、個々のウェイポイントアイコン間を区別することを困難にする可能性がある。
【0051】
あまりにも多くのウェイポイントアイコンを表示することを避けるために、ルートフィルタリングモジュール258は候補ルートベクトル256を受信して、対応するウェイポイントアイコンを有する一人称視点で表される、表示されたルートベクトル260であるルートベクトルのサブセットを選択する。ルートフィルタリングモジュール256は、様々な基準に基づいて、表示されたルートベクトル256を選択することができる。例えば、候補ルートベクトル256は、距離に基づいてフィルタリングされることができる(例えば、閾値長さ未満の長さを有するルートベクトルのみが選択される)。
【0052】
いくつかの実施形態では、ルートフィルタリングモジュール256はまた、環境の間取り図257も受信して、間取り図内の特徴に基づいて候補ルートベクトル256についてフィルタリングもする。一実施形態では、ルートフィルタリングモジュール256は、間取り図の特徴を使用して壁を通り抜ける任意の候補ルートベクトル256を除去し、このことは、画像フレーム内で見える位置のみ指し示す、表示されたルートベクトル260のセットをもたらす。これは、例えば、候補ルートベクトル256を取り囲む間取り図の領域から間取り図のフレームパッチを抽出して、画像フレームパッチをフレーム分類器(例えば、フィードフォワード、深い畳み込みニューラルネットワーク)に入力して、壁がパッチ内に存在するかどうかを決定することによって行われることができる。壁がパッチ内に存在する場合、その時、候補ルートベクトル256は壁を通過して、表示されるルートベクトル260のうちの1つとして選択されない。壁が存在しない場合、その時、候補ルートベクトルは壁を通過せず、およびモジュール258が構成する任意の他の選択基準(距離など)の影響を受ける、表示されるルートベクトル260のうちの1つとして選択され得る。
【0053】
画像フレーム抽出モジュール262は、360度フレームのシーケンスを受信し、および画像フレームの一部または全てを抽出して、抽出されたフレーム264を生成する。一実施形態では、360度のフレームのシーケンスは、360度のウォークスルー動画のフレームとして捕捉され、および画像フレーム抽出モジュール262は、フレームそれぞれについて別個の抽出されたフレームを生成する。図1に関して上述されたように、画像フレーム抽出モジュール262はまた、ウォークスルー動画から画像フレームのサブセットを抽出することもできる。例えば、フレーム212のシーケンスであるウォークスルー動画が比較的高いフレームレート(例えば、毎秒30または60フレーム)で捕捉された場合、画像フレーム抽出モジュール262は、一定の間隔(例えば、動画について毎秒2フレーム)で画像フレームのサブセットを抽出することができ、それにより、より多くの管理できる数の抽出されたフレーム264が3Dモデルの一部としてユーザに表示される。
【0054】
間取り図257、表示されたルートベクトル260、経路226、および抽出されたフレーム264は、3Dモデル266に組み合わされる。上述されたように、3Dモデル266は、環境について抽出されたフレーム264のセット、画像フレームのそれぞれの相対位置(経路226内の6Dポーズによって示されるように)を備える環境についての表現である。図2Bに示される実施形態では、3Dモデルはまた、間取り図257、間取り図上での画像フレームのそれぞれの絶対位置、および抽出されたフレーム264の一部または全てについての表示されるルートベクトル260も含む。
【0055】
V.モデル視覚化インターフェース
図3A図3Dは、一実施形態による、3Dモデルを含む第1のインターフェース部分310と、3Dモデルと連携した画像を含む第2のインターフェース部分320とを表示するモデル視覚化インターフェース300の例を示す。図3A-3Dで説明される環境は、建物の一部(例えば、建物の背面)である。ユーザはモバイルデバイスを使用して、建物の周りを歩きながら動画を捕捉し、および同時にLIDARデータを収集する。ビデオおよびLIDARデータは、LIDARデータに基づいて3Dモデルを生成して、動画内の画像フレームを3Dモデルの対応する部分と連携させる空間インデックス付与システム130に提供される。空間インデックス付与システム130のインターフェースモジュール144は、モデル視覚化インターフェース300を生成して、3Dモデルおよび画像フレームを表示する。
【0056】
第1のインターフェース部分310に示される3Dモデルは、LIDARデータに基づいて生成された点群であってもよい。3Dモデルは、建物を3次元で視覚化するのに役立つが、3Dモデルは詳細を捉えそこなっている場合があり、または間違った部分を有する場合がある。したがって、3Dモデルの欠陥を補うために、3Dモデルと並べて高解像度2Dデータを有する画像フレームを表示することが有利である。3Dモデルは、画像フレームと連携して、第1のインターフェース部分310が3Dモデルの一部を表示するとき、第2のインターフェース部分320は、第1のインターフェース部分310に表示される3Dモデルの一部に対応する画像フレームを表示する。図2Bに関して上述されたように、ウェイポイントアイコンは、画像フレームを捕捉するために取られる経路に関連付けられ、および環境内のフレームの相対的な位置を表す。ウェイポイントアイコンは3Dモデル内に設けられて、1または複数の画像フレームが捕捉された場所を示す。
【0057】
図3Aは、ウェイポイントアイコン330とインタラクトするユーザに応答して提示されるモデル視覚化インターフェース300を説明する。第1のインターフェース部分310は、ユーザが第1のウェイポイントアイコン330Aに対応する実環境内の位置に立つ場合にユーザが見るであろうものと一致する3Dモデルの一部についての一人称視点を表示する。第1のウェイポイントアイコン330は、第1のポイントアイコン330に対応する位置で捕捉された第1の画像フレーム340に関連付けられる。第1の画像フレーム340は、3Dモデル上に、および第1の画像フレーム340が捕捉された角度に垂直な角度でオーバーレイされている。上述されたように、画像フレームのそれぞれは、6Dベクトル(位置についての3次元、方向についての3次元)に関連付けられ、および3Dモデルに対して第1の画像340を傾ける角度は、6Dベクトルにおける方向についての3次元に基づいて決定される。第2のインターフェース部分320は、同じ第1の画像フレーム340を表示する。
【0058】
インターフェースモジュール144は、3Dモデル上の点Aとのインタラクション(例えば、点Aをクリックする)を受信し、およびモデル視覚化インターフェース300を更新して、3Dモデルの異なる一部を表示する。インターフェースモジュール144はまた、ズームインおよびズームアウト、回転、およびシフトによって3Dモデルおよび画像フレームの異なる部分を見せてほしいという要求を示す3Dモデル内の他のタイプのインタラクションを受信した後で、モデル視覚化インターフェース300を更新してもよい。第1のインターフェース部分310が更新されて3Dモデルの異なる一部を表示するとき、第2のインターフェース部分320が同時に更新されて、3Dモデルの異なる一部に対応する画像フレームを表示する。
【0059】
いくつかの実施形態では、モデル視覚化インターフェース300は、関心のあるオブジェクトまたは表面の寸法を測定するために使用されることができる測定ツールを含み得る。測定ツールは、建物をじかに再訪問する必要なく、ユーザが3Dモデルから正確な寸法を特定することを可能にする。インターフェースモジュール144は、関心のある寸法の2つの端点をユーザから受信し得、および端点間の距離350を決定し得る。図3Bに示される例では、測定ツールが、壁の一部がどの程度外側に伸張するかを測定するために使用される。第1のインターフェース部分310の3Dモデルと第2のインターフェース部分320の画像フレームとが連携しているため、端点は、どちらのインターフェース部分からも選択され得る。距離を決定するために、インターフェースモジュール144は、端点の(x、y、z)座標を検索するクエリーモジュール146に、ユーザによって選択された端点の識別を提供し得る。クエリーモジュール146は、座標間の距離350を計算し得、および第1のインターフェース部分310および第2のインターフェース部分320のうちの少なくとも1つの内部に距離350を表示する、インターフェースモジュール144に距離350を提供し得る。
【0060】
図3Cは、位置Bに関連付けられた3Dモデル、および位置Bに関連付けられた第2の画像フレーム360の別の表示を説明する。インターフェースモジュール144は、図3Cに示されるように、位置Bとのインタラクションを受信し得、およびモデル視覚化インターフェース300を更新し得る。例えば、ユーザは、位置Bでの窓の詳細を見たいと思い、および位置Bをクリックする場合がある。インタラクションを受信したことに応答して、第2の画像フレーム360の捕捉角度に対して垂直な角度で配置される(例えば、地面に向かって下方に傾けられる)第2の画像フレーム360に、第1のインターフェース部分310はオーバーレイされる。第2のインターフェース部分320もまた、第2の画像フレーム360を表示するために更新される。インターフェースモジュール144は、窓の幅に一致する端点を含む測定値についての要求を受信し得る。図3Dで説明されるように、第1のインターフェース部分310および第2のインターフェース部分320は更新されて、端点間の距離360を含む。
【0061】
図3A-3Dで説明される例では、第1のインターフェース部分310と第2のインターフェース部分320とを有するモデル視覚化インターフェース300の分割画面モードが例証されて、3Dモデルと画像フレームとを同時に示す。しかしながら、モデル視覚化インターフェース300は、他の閲覧モードで提示される。例えば、モデル視覚化インターフェース300は、最初に第1のインターフェース部分310および第2のインターフェース部分320のうちの1つを示し得、およびユーザから両方を表示する要求を受信したことに応答して、分割画面モードに変更し得る。別の例では、ユーザインターフェースは、3Dモデルまたは画像フレームが利用可能である間取り図内の場所において、1または複数のグラフィック要素を含む領域の間取り図を最初に表示し得る。グラフィック要素とのインタラクションを受信したことに応答して、ユーザインターフェースは更新されて3Dモデルまたは画像フレームを表示し得る。
【0062】
他の実施形態では、異なる一対のモデルがモデル視覚化インターフェース300に表示され得る。すなわち、LIDARデータベースの3Dモデルおよび画像フレームの代わりに、モデルのうちの1つは、図、別の3Dモデル(例えば、BIMモデル、画像ベースの3Dモデル)、または建物の他の表現と置き換えられ得る。
【0063】
VI.間取り図の特徴に基づくフレームの空間インデックス付与
上述されたように、視覚化インターフェースは、環境の間取り図内部のフレームのそれぞれの位置を表示する2Dオーバーヘッドビューマップを提供することができる。オーバーヘッドビューで表示されることに加えて、環境の間取り図は、フレームのそれぞれの位置を決定する空間インデックス付与プロセスの一部としても使用されることができる。
【0064】
図4は、一実施形態による、間取り図内の特徴を使用した自動化されたフレームの空間インデックス付与のための例示的な方法400を説明するフローチャートである。他の実施形態では、方法400は、追加のステップ、より少ないステップ、または異なるステップを含み得、および図4に示されるステップは異なる順序で実行され得る。例えば、方法400は、間取り図を取得する430ことなく実行され得、その場合、統合された経路の推定値は、間取り図の特徴を使用することなく生成される440。
【0065】
空間インデックス付与システム130は、動画捕捉システム110から一連のフレームであるウォークスルー動画を受信する410。シーケンス内の画像フレームは、動画捕捉システム110が経路に沿って環境(例えば、建設現場の床面)中を移動するときに捕捉される。一実施形態では、画像フレームのそれぞれは、動画捕捉システム上のカメラ(例えば、図1に関して上述されたカメラ112)によって捕捉されるフレームである。別の実施形態では、画像フレームのそれぞれは、例えば90度のようなより狭い視野を有する。
【0066】
空間インデックス付与システム130は、フレームのシーケンスであるウォークスルー動画に基づいて経路の第1の推定値を生成する420。経路の第1の推定値は、例えば、シーケンス内のフレームのそれぞれに対して6Dカメラポーズを規定する6次元ベクトルとして表されることができる。一実施形態では、空間インデックス付与システム130の構成要素(例えば、図2Aに関して上述されたSLAMモジュール216)は、フレームのシーケンスであるウォークスルー動画に対してSLAMアルゴリズムを実行して、フレームのそれぞれについて6Dカメラポーズを同時に決定し、および環境の3次元バーチャルモデルを生成する。
【0067】
空間インデックス付与システム130は、環境の間取り図を取得する430。例えば、複数の間取り図(フレームのシーケンスである受信されたウォークスルー動画に表現される環境についての間取り図を含む)が、間取り図記憶装置136に記憶され得、および空間インデックス付与システム130は、間取り図記憶装置136にアクセスして、環境の間取り図を取得する。環境の間取り図はまた、間取り図記憶装置136に記憶されることなく、動画捕捉システム110を介して、またはクライアントデバイス160を介してユーザから受信され得る。
【0068】
空間インデックス付与システム130は、経路の第1の推定値、および間取り図内の物理オブジェクトに基づいて、統合された経路の推定値を生成する440。統合された経路の推定値を生成した440の後、空間インデックス付与システム130は、環境の3Dモデルを生成する450。例えば、モデル生成モジュール138は、図2Bに関して上述されたように、間取り図、複数のルートベクトル、統合された経路の推定値、およびフレームのシーケンスであるウォークスルー動画から抽出されたフレームを組み合わせることによって3Dモデルを生成する。
【0069】
いくつかの実施形態では、空間インデックス付与システム130はまた、動画捕捉システムが経路に沿って移動している間に捕捉された追加データ(フレームのシーケンスであるウォークスルー動画を除く)を受信し得る。例えば、空間インデックス付与システムはまた、図1に関して上述されたように、モーションデータまたは位置データも受信する。空間インデックス付与システム130が追加データを受信する実施形態では、空間インデックス付与システム130は、統合された経路の推定値を生成するときに、間取り図に加えて追加データを使用し得る440。
【0070】
空間インデックス付与システム130が、フレームのシーケンスであるウォークスルー動画と併せてモーションデータを受信する実施形態では、空間インデックス付与システム130は、図2Aに関して上述されたように、モーションデータに対してデッドレコニング処理を実行して、経路の第2の推定値を生成することができる。この実施形態では、統合された経路の推定値を生成するステップ440は、第2の推定値の一部を使用して経路の第1の推定値のギャップを埋めることを含む。例えば、経路の第1の推定値は、捕捉されたフレームのうちのいくつかにおける不十分な特徴品質が原因で経路セグメントに分割される場合がある(これは、図2Aに関して上述されたように、SLAMアルゴリズムが信頼性のある6Dポーズを生成することができないギャップを引き起こす)。この場合、第2の経路推定値からの6Dポーズが使用されて、第1の経路推定値のセグメント間のギャップを埋めることによって第1の経路推定値のセグメントを結合することができる。
【0071】
上記されたように、いくつかの実施形態では、方法400は、間取り図を取得する430ことなく実行され得、および統合された経路の推定値は、間取り図内の特徴を使用することなく生成される440。これらの実施形態の1つでは、経路の第1の推定値は、追加のデータ処理または追加のデータ分析なしで、統合された経路の推定値として使用される。
【0072】
これらの実施形態のうちの別の1つにおいては、統合された経路の推定値は、1または複数の追加の経路の推定値を生成すること、経路推定値のそれぞれにおける6Dポーズのそれぞれに対する信頼スコアを計算すること、および経路に沿った空間位置のそれぞれについて、最も高い信頼スコアを有する6Dポーズを選択することによって生成される440。例えば、経路の追加の推定値は、上述されたように、モーションデータを使用する第2の推定値、GPS受信機からのデータを使用する第3の推定値、およびIPS受信機からのデータを使用する第4の推定値のうちの1または複数を含み得る。上述されたように、経路の推定値のそれぞれは、シーケンスにおけるフレームのそれぞれについての相対的な位置および向きを述べる6Dポーズのベクトルである。
【0073】
6Dポーズに対する信頼スコアは、経路推定値のそれぞれについて別々に計算される。
例えば、上記された経路推定値の信頼スコアは、以下の方法で計算され得る:第1の推定値の6Dポーズについての信頼スコア(SLAMアルゴリズムを用いて生成される)は、6Dポーズに対応する画像フレームの特徴品質(例えば、画像フレーム内で検出された特徴の数)を表し、第2の推定値の6Dポーズについての信頼スコア(モーションデータによって生成される)は、6Dポーズの時間に軸をおいた時間間隔、6Dポーズの時間に先行する時間間隔、または6Dポーズの時間の後での時間間隔における加速度計、ジャイロスコープ、および/または磁力計データにおけるノイズのレベルを表し、第3の推定値の6Dポーズについての信頼スコア(GPSデータを用いて生成される)は、6Dポーズを生成するために使用されるGPSデータについてのGPS信号強度を表し、および第4の推定値の6Dポーズについての信頼スコア(IPSデータを用いて生成される)は、6Dポーズを生成するために使用されるIPSデータについてのIPS信号強度(例えば、RF信号強度)を表す。
【0074】
信頼スコアを生成した後、空間インデックス付与システム130は、経路の推定値のそれぞれを反復してスキャンし、およびシーケンス内のフレームのそれぞれについて、最も高い信頼スコアを有する6Dポーズを選択し、および選択された6Dポーズは、統合された経路の推定値における画像フレームについての6Dポーズとして出力される。経路推定値のそれぞれについての信頼スコアは別々に計算されるため、経路推定値のそれぞれについての信頼スコアは、反復スキャンプロセスが行われる前に、共通のスケール(例えば、0と1との間のスカラー値であって、0は可能な限り最低の信頼を表し、および1は可能な限り最高の信頼を表す)に標準化されることができる。
【0075】
VII.インターフェース生成の概要
図5は、一実施形態による、画像フレームと連携した3Dモデルを表示するインターフェースを生成するための例示的な方法を示すフローチャート500である。空間インデックス付与システムは、モバイルデバイスが環境のあらゆる場所で移動するときに、モバイルデバイスによって収集された画像フレームおよびLIDARデータを受信する510。LIDARデータに基づいて、空間インデックス付与システムは、環境を表す3Dモデルを生成する520。空間インデックス付与システムは、画像フレームを3Dモデルと連携させる530。空間インデックス付与システムは、第1のインターフェース部分および第2のインターフェース部分を備えるインターフェースを生成する540。空間インデックス付与システムは、第1のインターフェース部分の内部で3Dモデルの一部を表示する550。空間インデックス付与システムは、第1のインターフェース部分の内部で表示されている3Dモデルの内部でのオブジェクトの選択を受信する560。空間インデックス付与システムは、選択されたオブジェクトに対応する画像フレームを識別する570。空間インデックス付与システムは、第2のインターフェース部分の内部で選択されたオブジェクトに対応する画像フレームを表示する580。
【0076】
VIII.ハードウェア構成要素
図6は、本明細書で説明される実施形態が実装され得るコンピューターシステム600を説明するブロック図である。例えば、図1のコンテクストでは、動画捕捉システム110、LIDARシステム150、空間インデックス付与システム130、またはクライアントデバイス160は、図6に記載されるように、コンピューターシステム600を使用して実装され得る。動画捕捉システム110、LIDARシステム150、空間インデックス付与システム130、またはクライアントデバイス160はまた、図6に記載されるように、複数のコンピューターシステム600の組み合わせを使用して実装され得る。コンピューターシステム600は、例えば、ラップトップコンピューター、デスクトップコンピューター、タブレットコンピューター、またはスマートフォンであり得る。
【0077】
1つの実装では、システム600は、処理リソース601、主記憶装置603、読み出し専用メモリ(ROM)605、記憶装置607、および通信インターフェース609を含む。システム600は、情報を処理するための少なくとも1つのプロセッサ601と、プロセッサ601によって実行される情報および命令を記憶するためのランダムアクセスメモリ(RAM)または他の動的記憶装置のような主記憶装置603とを含む。主記憶装置603はまた、プロセッサ601によって実行される命令の実行中に、一時変数または他の中間情報を記憶するためにも使用され得る。システム600はまた、プロセッサ601のための静的情報および命令を記憶するためのROM605または他の静的記憶装置も含み得る。磁気ディスクまたは光ディスクのような記憶装置607は、情報および命令を記憶するために提供される。
【0078】
通信インターフェース609は、システム600がネットワークリンク(無線または有線)の使用によって、1または複数のネットワーク(例えば、ネットワーク140)と通信することを可能にすることができる。ネットワークリンクを使用して、システム600は、1または複数のコンピューティングデバイス、および1または複数のサーバと通信することができる。システム600はまた、例えば、グラフィックおよび情報をユーザに表示するための、ブラウン管(CRT)、LCDモニタ、またはテレビセットのようなディスプレイデバイス611を含むこともできる。英数字キーおよび他のキーを含むキーボードのような入力機構613は、情報およびコマンド選択をプロセッサ601に通信するためにシステム600に結合されることができる。入力機構613の他の非限定的な例示的な例は、方向の情報およびコマンド選択をプロセッサ601に通信するための、およびディスプレイデバイス611上でのカーソル移動を制御するためのマウス、トラックボール、タッチ式スクリーン、またはカーソル方向キーを含む。入力機構613の追加の例は、無線自動識別(RFID)リーダー、バーコードリーダー、3次元スキャナ、および3次元カメラを含む。
【0079】
一実施形態によれば、本明細書で説明される技術は、主記憶装置603に含まれる1または複数の命令についての1または複数のシーケンスを実行するプロセッサ601に応じて、システム600によって実行される。そのような命令は、記憶装置607のような別の機械可読媒体から主記憶装置603に読み込まれ得る。主記憶装置603に含まれる命令のシーケンスの実行は、プロセッサ601に本明細書で説明されたプロセスステップを実行させる。代替の実装では、本明細書で説明される例を実装するために、ハードワイヤード回路が、ソフトウェア命令の代わりにまたはソフトウェア命令と組み合わせて使用され得る。したがって、説明される例は、ハードウェア回路およびソフトウェアの任意の特定の組み合わせに限定されない。
【0080】
IX.追加的な留意事項
本明細書で使用されるとき、1または複数の要素が後に続く、用語「含む」は、1または複数の追加要素の存在を排除しない。用語「または」は、排他的な「または」よりはむしろ、非排他的な「または」として解釈されるべきである(例えば、「AまたはB」は、「A」、「B」、または「AおよびB」に言及し得る)。冠詞「a」または「an」は、単一の例が明確に規定されていない限り、次に続く要素の1または複数の例を指す。
【0081】
図面および書面による説明は、本開示の例示的な実施形態を説明するものであって、本開示の本質的な特徴を列挙するものとして解釈されるべきではない。本発明の範囲は、本明細書を含む特許において公表している任意の特許請求の範囲から解釈されるべきである。
図1
図2A
図2B
図3A
図3B
図3C
図3D
図4
図5
図6
【国際調査報告】