(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-11-07
(54)【発明の名称】シーンの3次元モデルを生成するための方法、装置、およびシステム
(51)【国際特許分類】
G06T 7/55 20170101AFI20231030BHJP
【FI】
G06T7/55
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023548990
(86)(22)【出願日】2021-08-24
(85)【翻訳文提出日】2023-04-24
(86)【国際出願番号】 CN2021114241
(87)【国際公開番号】W WO2022088881
(87)【国際公開日】2022-05-05
(31)【優先権主張番号】202011180650.0
(32)【優先日】2020-10-29
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】523154161
【氏名又は名称】ベイク テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】BEIKE TECHNOLOGY CO., LTD.
(74)【代理人】
【識別番号】100107456
【氏名又は名称】池田 成人
(74)【代理人】
【識別番号】100162352
【氏名又は名称】酒巻 順一郎
(74)【代理人】
【識別番号】100123995
【氏名又は名称】野田 雅一
(72)【発明者】
【氏名】チェン, シャンユー
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA02
5L096CA04
5L096FA66
5L096FA67
5L096GA51
5L096HA01
(57)【要約】
シーンの3Dモデルを生成する方法が開示される。3Dモデリングシステムにおける撮像手段は、第1の深度データを取得する。第1の深度データは、複数のフレームの深度画像の画素を含む。3Dモデリングシステムにおける走査手段は、第2の深度データを取得する。第2の深度データは、複数の画像フレームの深度データ点を含む。3Dモデリングシステムは、色データを取得する。色データは、複数の色画像の画素を含む。3Dモデリングシステムは、色データ、第1の深度データ、第2の深度データに基づいて3Dモデルを生成する。3Dモデリングシステムは、3Dモデルを表示させる。
【選択図】
図3
【特許請求の範囲】
【請求項1】
シーンの3Dモデルを生成する方法であって、
撮像手段を含む3Dモデリングシステムが、複数のフレームの深度画像の画素を含む第1の深度データを取得することと、
走査手段を含む前記3Dモデリングシステムが、複数のフレームの画像の深度データ点を含む第2の深度データを取得することと、
前記3Dモデリングシステムが、複数の色画像の画素を含む前記シーンの色データを受信することと、
前記3Dモデリングシステムが、前記色データ、前記第1の深度データ、前記第2の深度データに基づいて、前記シーンの3Dモデルを生成することと、
前記シーンの3Dモデルを表示させることと、含む方法。
【請求項2】
前記第1の深度データにおける前記深度画像の各々は第1のデータであり、前記第2の深度データにおける画像フレームの各々は第2のデータであり、
前記方法は、さらに、
複数のデータペアを決定し、前記複数のデータペアの各々が、前記第1のデータおよび対応する前記第2のデータを含み、前記第1のデータおよび対応する前記第2のデータが同様の目標オブジェクトを含むことと、
前記複数のデータペアに基づいて、前記第1の深度データと前記第2の深度データとの間の位置関係を決定することと、を更に含む、
請求項1に記載の方法。
【請求項3】
前記第1のデータの各々には、前記撮像手段の姿勢情報を示す第1の外部パラメータが付けされ、前記第2のデータの各々には、前記走査手段の姿勢情報を示す第2の外部パラメータが付けされ、前記複数のデータペアを決定することは、
前記第1の外部パラメータに基づいて、前記第1のデータに関連する第1の姿勢を決定することと、
前記第2の外部パラメータに基づいて、前記第2のデータに関連する第2の姿勢を決定することと、
前記第1の姿勢および前記第2の姿勢が同様であることに応じて、前記第1のデータおよび前記第2のデータを含むデータペアを決定することと、を含む、
請求項2に記載の方法。
【請求項4】
前記第1の外部パラメータおよび前記第2の外部パラメータは、前記3Dモデリングシステムにおける同じ姿勢センサから出力される、
請求項3に記載の方法。
【請求項5】
前記第1のデータの各々には、前記撮像手段により前記第1のデータが取得された定時を示す第1のタイムスタンプが付けされ、前記第2のデータの各々には、前記走査手段により前記第2のデータが取得された定時を示す第2のタイムスタンプが付けされ、前記データペアにおける前記第1のデータと対応する前記第2のデータは、閾値よりも小さい時間間隔を有する、
請求項2に記載の方法。
【請求項6】
前記データペアにおける前記第1のデータおよび対応する前記第2のデータは、1つ以上の同様のオブジェクトで識別される、
請求項2に記載の方法。
【請求項7】
深度閾値を決定することと、
前記1つ以上のデータ点の深度値が前記深度閾値よりも大きいことに応じて、前記第1の深度データにおける前記1つ以上のデータ点を削除することと、を更に含む、
請求項1に記載の方法。
【請求項8】
生成された前記シーンの3Dモデルにおいて、解像度閾値未満の1つ以上の画像領域を識別することと、
前記撮像手段を含む前記3Dモデリングシステムが、複数の深度画像の画素を含む第1の充填データを取得することと、
生成された前記シーンの3Dモデルに、前記第1の充填データを補充して、新たなシーンの3Dモデルを生成することと、更に含む、
請求項1に記載の方法。
【請求項9】
生成された前記シーンの3Dモデルにおいて、十分な前記深度データ点を持たない1つ以上の画像領域を識別することと、
前記走査手段を含む前記3Dモデリングシステムが、複数の画像フレームの深度データ点を含む第2の充填データを取得することと、
生成された前記シーンの3Dモデルに、第2の充填データを補充して、新たなシーンの3Dモデルを生成することと、さらに含む、
請求項1に記載の方法。
【請求項10】
前記撮像手段は、第1のフレームレートで前記複数の深度画像を取得し、前記走査手段は、第2のフレームレートで前記複数の画像フレームを取得する、
請求項1に記載の方法。
【請求項11】
前記3Dモデリングシステムは、取得された前記深度データに基づいて、前記シーンの3Dモデルをリアルタイムで表示するディスプレイを含む、
請求項1に記載の方法。
【請求項12】
シーンの3Dモデルを生成するためのシステムであって、
複数のフレームの深度画像の画素を含む第1の深度データを取得するように構成される撮像手段と、
複数の画像フレームの深度データ点を含む第2の深度データを取得するように構成される走査手段と、
前記撮像手段からの第1の深度データ、前記走査手段からの第2の深度データ、複数の色画像の画素を含む色データを取得し、前記色データ、前記第1の深度データ、前記第2の深度データに基づいて、前記シーンの3Dモデルを生成し、生成された前記シーンの3Dモデルを出力するように構成される1つ以上のプロセッサと、
を含むシステム。
【請求項13】
前記第1の深度データにおける前記深度画像の各々は、第1のデータであり、前記第2の深度データにおける画像フレームの各々は、第2のデータであり、
前記1つ以上のプロセッサは、さらに、
複数のデータペアを決定し、前記複数のデータペアの各々は、前記第1のデータおよび対応する前記第2のデータを含み、前記第1のデータおよび対応する前記第2のデータは、同様の目標オブジェクトを含み、
前記複数のデータペアに基づいて、前記第1の深度データと前記第2の深度データとの間の位置関係を決定するように構成される、
請求項12に記載のシステム。
【請求項14】
前記システムは、さらに、前記3Dモデリングシステムにおける前記撮像手段および前記走査手段の姿勢情報を示す外部パラメータを出力するように構成される1つ以上の姿勢センサを含み、
前記第1のデータの各々には、前記撮像手段の姿勢情報を示す第1の外部パラメータが付けされ、前記第2のデータの各々には、前記走査手段の姿勢情報を示す第2の外部パラメータが付けされ、
前記1つ以上のプロセッサは、さらに、
前記第1の外部パラメータに基づいて、前記第1のデータに関連する第1の姿勢を決定し、
前記第2の外部パラメータに基づいて、前記第2のデータに関連する第2の姿勢を決定し、
前記第1の姿勢と前記第2の姿勢が同様であることに応じて、前記第1のデータと前記第2のデータを含むデータペアを決定するように構成される、
請求項13に記載のシステム。
【請求項15】
前記第1のデータの各々には、前記撮像手段により前記第1のデータが取得された定時を示す第1のタイムスタンプが付けされ、前記第2のデータの各々には、前記走査手段により前記第2のデータが取得された定時を示す第2のタイムスタンプが付けされ、
前記データペアにおける前記第1のデータと対応する前記第2のデータは、閾値よりも小さい時間間隔を有する、
請求項13に記載のシステム。
【請求項16】
前記データペアにおける前記第1のデータおよび対応する前記第2のデータは、1つ以上の同様のオブジェクトで識別される、
請求項13に記載のシステム。
【請求項17】
前記1つ以上のプロセッサは、さらに、
深度閾値を決定し、
前記1つ以上のデータ点の深度値が前記深度閾値よりも大きいことに応じて、前記第1の深度データにおける前記1つ以上のデータ点を削除するように構成される、
請求項16に記載のシステム。
【請求項18】
前記1つ以上のプロセッサは、さらに、
生成された前記シーンの3Dモデルにおいて、解像度閾値未満の1つ以上の画像領域を識別し、
前記撮像手段から複数の深度画像の画素を含む第1の充填データを受信し、
生成された前記シーンの3Dモデルに前記第1の充填データを補充して、新たなシーンの3Dモデルを生成するように構成される、
請求項16に記載のシステム。
【請求項19】
前記1つ以上のプロセッサは、さらに、
生成された前記シーンの3Dモデルにおいて、十分な深度データ点を持たない1つ以上の画像領域を識別し、
前記走査手段から複数の画像フレームの深度データ点を含む第2の充填データを受信し、
生成された前記シーンの3Dモデルに前記第2の充填データを補充して、新たなシーンの3Dモデルを生成するように構成される、
請求項13に記載のシステム。
【請求項20】
コンピュータ実行可能命令が記憶されている非揮発性なコンピュータ可読媒体であって、
前記コンピュータ実行可能命令は、1つ以上のプロセッサによって実行されると、プロセッサは、
撮像手段を含む3Dモデリングシステムが、複数のフレームの深度画像の画素を含む第1の深度データを取得することと、
走査手段を含む前記3Dモデリングシステムが、複数のフレームの画像の深度データ点を含む第2の深度データを取得することと、
前記3Dモデリングシステムが、複数の色画像の画素を含むシーンの色データを受信することと、
前記3Dモデリングシステムが、前記色データ、前記第1の深度データ、前記第2の深度データに基づいて、シーンの3Dモデルを生成することと、
前記シーンの3Dモデルを表示させることと、を実現する、
コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、3次元(3D)再構成技術の分野に関し、より具体的には、VRデータを生成する画像処理に関する。
【背景技術】
【0002】
[関連出願の相互参照]
本願は、2020年10月29日に出願された中国特許出願第202011180650.0号の優先権を主張し、その内容全体が参照により本明細書に組み込まれる。
【0003】
[背景技術]
3D再構成とは、3Dオブジェクトのコンピュータ表現と処理に適した数学的モデルを確立する手法である。コンピュータでは、確立された3Dモデルにより、3Dオブジェクトの処理、操作、および分析を実現できる。3D再構成技術は、コンピュータで客観的な世界を表現するVR環境を構成するための重要な手法である。一般に、3D再構成は、画像取得、カメラ校正、特徴抽出、ステレオマッチング、および3D再構成などのステップを含み得る。
【0004】
従来の3D再構成技術は、通常、3Dモデリングにするために、深度カメラまたはLIDAR (light Detection and ranging)システムのいずれを使用する。深度カメラは、高解像度の深度データを提供することができる。しかし、深度カメラにより取得られる深度データの精度は、深度カメラとシーン内のオブジェクトとの間の距離に大きく依存するため、深度カメラの高精度の深度データ範囲は制限されている。さらに、深度カメラの被写界距離は、通常、そのパワーや解像度によって制限されている。一方、LIDARシステムにより取得られる深度データの精度は高く、広い深度範囲で比較的安定しているため、LIDARシステムは広い深度範囲で高精度の深度データを提供する。しかし、LIDARシステムにより取得られる深度データの解像度は低い。そのため、3Dモデル化のために生成される点群は比較的疎なものとなり、小さなオブジェクト(水道管、ペンなど)を十分な詳細でモデル化することは困難である。
【0005】
そのため、広いシーンの検出範囲の広さ、生成される3Dモデルの精度、解像度を考慮した確実な3D再構成ソリューションの提供が求められている。
【発明の概要】
【0006】
シーンの3Dモデルを生成するための方法、コンピュータ可読媒体、システム、および装置が開示される。3Dモデルに対して一貫して高い精度を有する高解像度深度画像が生成できるように、撮像手段および走査手段により取得される深度データは、結合される。
【0007】
いくつかの実施形態では、シーンの3Dモデルを生成する方法が提供される。この方法は、3Dモデリングシステムにおける撮像手段が第1の深度データを取得することと、3Dモデリングシステムにおける走査手段が第2の深度データを取得することと、3Dモデリングシステムが色データを受信することと、前記色データ、前記第1の深度データ、前記第2の深度データに基づいて、前記シーンの3Dモデルを生成することと、前記3Dモデリングシステムにおいて前記シーンの3Dモデルを表示させることと、を含む。前記第1の深度データは、深度画像における複数のフレームの画素を含む。前記第2の深度データは、複数の画像フレームの深度データ点を含む。
【0008】
いくつかの実施形態では、第1の深度データにおける前記深度画像の各々は第1のデータであり、第2の深度データにおける前記画像フレームの各々は第2のデータである。前記方法は、さらに、複数のデータペアを決定し、複数のデータペアに基づいて、前記第1の深度データと前記第2の深度データとの間の位置関係を決定することと、を含む。複数のデータペアの各々は、前記第1のデータおよび対応する前記第2のデータを含む。前記データペアにおける前記第1のデータおよび対応する前記第2のデータは、同様の目標オブジェクトを含む。
【0009】
いくつかの実施形態では、前記第1のデータの各々には、前記撮像手段の姿勢情報を示す第1の外部パラメータが付けされる。前記第2のデータの各々には、前記走査手段の姿勢情報を示す第2の外部パラメータが付けされる。前記方法は、さらに、前記第1の外部パラメータに基づいて、前記第1のデータに関連する第1の姿勢を決定することと、前記第2の外部パラメータに基づいて、前記第2のデータに関連する第2の姿勢を決定することと、前記第1の姿勢と前記第2の姿勢が同様であることに応じて、前記第1のデータ及び前記第2のデータを含む前記データペアを決定することと、を含む。
【0010】
いくつかの実施形態では、前記第1の外部パラメータと前記第2の外部パラメータは、前記3Dモデリングシステムにおける同一の姿勢センサから出力される。
【0011】
いくつかの実施形態では、前記第1のデータの各々には、前記撮像手段により前記第1のデータが取得された定時を示す第1のタイムスタンプが付けされる。前記第2のデータの各々には、前記走査手段により前記第2のデータが取得された定時を示す第2のタイムスタンプが付けされる。前記データペアにおける前記第1のデータと対応する前記第2のデータは、閾値よりも小さい時間間隔を有する。
【0012】
いくつかの実施形態では、前記データペアにおける前記第1のデータおよび対応する前記第2のデータは、1つ以上の同様のオブジェクトで識別される。
【0013】
いくつかの実施形態では、前記方法は、さらに、深度閾値を決定することと、前記1つ以上のデータ点の深度値が前記深度閾値よりも大きいことに応じて、前記第1の深度データにおける前記1つ以上のデータ点を削除することと、を含む。
【0014】
いくつかの実施形態では、前記方法は、さらに、生成された前記シーンの3Dモデルにおいて、解像度閾値未満の1つ以上の画像領域を識別することと、前記3Dモデリングシステムにおける前記撮像手段が、複数の深度画像を含む第1の充填データを取得することと、生成された前記シーンの3Dモデルに、前記第1の充填データを補充して、新たなシーンの3Dモデルを生成することと、を含む。
【0015】
いくつかの実施形態では、前記方法は、さらに、生成された前記シーンの3Dモデルにおいて、十分な前記深度データ点を持たない1つ以上の画像領域を識別することと、前記3Dモデリングシステムにおける前記走査手段が、前記複数の画像フレームの深度データ点を含む第2の充填データを取得することと、生成された前記シーンの3Dモデルに前記第2の充填データを補充して、新たなシーンの3Dモデルを生成することと、を含む。
【0016】
いくつかの実施形態では、前記撮像手段は、第1のフレームレートで前記複数の深度画像を取得する。前記走査手段は、第2のフレームレートで前記複数の画像フレームを取得する。
【0017】
いくつかの実施形態では、前記3Dモデリングシステムは、取得された前記深度データに基づいて、前記シーンの3Dモデルをリアルタイムで表示するディスプレイを含む。
【0018】
いくつかの実施形態では、シーンの3Dモデルを生成するためのシステムが提供される。前記システムは、撮像手段、走査手段、1つ以上のプロセッサを備える。前記撮像手段は、第1の深度データを取得するように構成される。前記第1の深度データは、複数のフレームの深度画像の画素を含む。前記走査手段は、第2の深度データを取得するように構成される。前記第2の深度データは、複数の画像フレームの深度データ点を含む。前記1つ以上のプロセッサは、前記撮像手段からの前記第1の深度データ、前記走査手段からの前記第2の深度データ、色データを取得し、前記第1の深度データ、前記第2の深度データ、前記色データに基づいて、前記シーンの3Dモデルを生成し、生成された前記シーンの3Dモデルを出力するように構成される。前記色データは、複数の色画像の画素を含む。
【0019】
いくつかの実施形態では、前記第1の深度データにおける深度画像の各々は、第1のデータである。前記第2の深度データにおける画像フレームの各々は、第2のデータである。前記3Dモデリングシステムにおける前記1つ以上のプロセッサは、さらに、複数のデータペアを決定し、前記複数のデータペアに基づいて前記第1の深度データと前記第2の深度データとの間の位置関係を決定するように構成される。前記複数のデータペアの各々は、前記第1のデータおよび対応する前記第2のデータを含む。前記第1のデータおよび対応する前記第2のデータは、同様の目標オブジェクトを含む。
【0020】
いくつかの実施形態では、前記3Dモデリングシステムは、さらに、1つ以上の姿勢センサを備える。前記1つ以上の姿勢センサは、前記3Dモデリングシステムにおける前記撮像手段および前記走査手段の姿勢情報を示す外部パラメータを出力するように構成される。前記撮像手段により取得された前記第1のデータの各々には、前記撮像手段の姿勢情報を示す第1の外部パラメータが付けされる。前記走査手段により取得られた前記第2のデータの各々には、前記走査手段の姿勢情報を示す第2の外部パラメータが付けされる。前記3Dモデリングシステムにおける前記1つ以上のプロセッサは、さらに、前記第1の外部パラメータに基づいて、前記第1のデータに関連する第1の姿勢を決定し、前記第2の外部パラメータに基づいて、前記第2のデータに関連する第2の姿勢を決定し、前記第1の姿勢と前記第2の姿勢が同様であることに応じて、前記第1のデータと前記第2のデータを含むデータペアを決定するように構成される。
【0021】
いくつかの実施形態では、前記第1のデータの各々には、前記撮像手段により前記第1のデータが取得された定時を示す第1のタイムスタンプが付けされる。前記第2のデータの各々には、前記走査手段により前記第2のデータが取得された定時を示す第2のタイムスタンプが付けされる。前記データペアにおける前記第1のデータと対応する前記第2のデータは、閾値よりも小さい時間間隔を有する。
【0022】
いくつかの実施形態では、前記データペアにおける前記第1のデータおよび対応する前記第2のデータは、1つ以上の同様のオブジェクトで識別される。
【0023】
いくつかの実施形態では、前記3Dモデリングシステムにおける前記1つ以上のプロセッサは、さらに、深度閾値を決定し、前記1つ以上のデータ点の深度値が前記深度閾値よりも大きいことに応じて、前記第1の深度データにおける前記1つ以上のデータ点を削除するように構成される。
【0024】
いくつかの実施形態では、前記3Dモデリングシステムにおける前記1つ以上のプロセッサは、さらに、生成された前記シーンの3Dモデルにおいて、解像度閾値未満の1つ以上の画像領域を識別し、前記撮像手段から第1の充填データを受信し、生成された前記シーンの3Dモデルに前記第1の充填データを補充して、新たなシーンの3Dモデルを生成するように構成される。前記第1の充填データは、複数の深度画像の画素を含む。
【0025】
いくつかの実施形態では、前記3Dモデリングシステムにおける前記1つ以上のプロセッサは、さらに、生成された前記シーンの3Dモデルにおいて、十分な前記深度データ点を持たない1つ以上の画像領域を識別し、前記走査手段から第2の充填データを受信し、生成された前記シーンの3Dモデルに第2の充填データを補充して、新たなシーンの3Dモデルを生成するように構成される。前記第2の充填データは、複数の画像フレームの深度データ点を含む。
【0026】
いくつかの実施形態では、非揮発性なコンピュータ可読媒体が提供される。非揮発性なコンピュータ可読媒体は、コンピュータ実行可能命令を記憶しており、この命令が1つ以上のプロセッサによって実行されると、プロセッサは、3Dモデリングシステムにおける撮像手段が第1の深度データを取得することと、前記3Dモデリングシステムにおける走査手段が第2の深度データを取得することと、前記3Dモデリングシステムが色データを受信し、前記第1のセット深度データ、前記第2の深度データ、前記色データに基づいて、シーンの3Dモデルを生成することと、前記シーンの3Dモデルを表示させることと、を容易に実現する。前記第1の深度データは、複数のフレームの深度画像の画素を含む。前記第2の深度データは、複数の画像フレームの深度データ点を含む。
【図面の簡単な説明】
【0027】
本発明の技術は、例示的な図に基づいて以下でさらに詳細に説明されるが、実施例に限定されない。本明細書に記載および/または例示されたすべての特徴は、単独で使用することも、異なる組み合わせで組み合わせることができる。様々な例の特徴および利点は、以下を示す添付図面を参照して以下の詳細な説明を読むことによって明らかになるであろう。
【
図1】
図1は、1つ以上の実施形態による例示的な3D仮想現実(VR)環境を示す。
【
図2】
図2は、1つ以上の実施形態による例示的なコンピュータシステムのブロック図を示す。
【
図3】
図3は、1つ以上の実施形態によるシーンの3Dモデルを生成するための工程を示す。
【
図4】
図4は、1つ以上の実施形態によるシーンの3Dモデルを生成するアプリケーションシナリオを示す。
【
図5】
図3は、1つ以上の実施形態によるシーンの3Dモデルを生成するための工程を示す。
【
図6】
図3は、1つ以上の実施形態によるシーンの3Dモデルを生成するための工程を示す。
【
図7】
図7は、1つ以上の実施形態によるシーンの3Dモデルを生成するためのシステムを示す。
【発明を実施するための形態】
【0028】
本明細書で説明する本開示は、シーンの3Dモデルを生成するための技術を提供する。深度情報は、撮像手段および走査手段を使用して取得される。深度カメラなどの撮像手段は、閾値未満の深度データを取得するように構成される。撮像手段により取得された深度データには、高解像度の深度データが含まれているため、3Dモデルの詳細が提供される。LIDARシステムなどの走査手段は、3Dモデルにおいて遠くのオブジェクトを高精度で生成できるように、広範囲の撮影距離で一貫した精度で深度データを取得するように構成されている。撮像手段および走査手段により取得された深度データ点は、深度データ点間の位置関係に基づいて結合される。一部の例では、位置関係は、撮像手段や走査手段などのデータ取得装置の姿勢情報に基づいて決定される。他の例では、位置関係は、深度データ点の複数の画像および/またはフレームに存在する多数の目標オブジェクトを識別することによって決定される。加えて、及び/又は代替的に、3Dモデルにおいてデータ点は、色撮像手段により提供される色情報に従ってレンダリングされる。このようにして、深度と色の両方の情報を含む3Dモデルが生成される。
【0029】
本明細書で提供される技術を適用することにより、高解像度および高精度の3Dモデルを生成することができ、シミュレートVRアプリケーションのユーザ体験を向上させることができる。
【0030】
図1は、いくつかの実施形態による例示的な3DVR環境100を示す。
図1に示されるように、3DVR環境100は、アパートや家の床などの住宅ユニットをシミュレートまたは表現することができる。3DVR環境100は、任意の屋内空間または環境のVR表現を含み得ることに留意されたい。
図1を参照すると、3DVR環境100は、110、120、130、140、150、および160などの1つ以上の機能空間を含み得る。本明細書で使用されるように、機能空間とは、所定の機能に関連する閉鎖または部分的に閉鎖された空間を指す。場合によっては、機能空間が部屋に対応し得る。例えば、機能空間110は第1の寝室に対応し、機能空間130は第2の寝室に対応し得る。一部の例では、機能空間は、部屋内または部屋に隣接する囲まれた空間または部分的に囲まれた空間に対応し得る。例えば、機能空間140はクローゼットに対応し得る。他の例では、機能空間は、所定の目的のために一般的に使用される領域に対応し得る。例えば、機能空間120はキッチンエリアに対応し、機能空間150はダイニングエリアに対応し、機能空間160はリビングルームに対応し得る。機能空間120、150、160は、同じ部屋(例えば、閉鎖された領域)を共有することができるが、それらの機能は異なるため、異なる機能空間として考慮され得る。
【0031】
図2は、本明細書に開示される様々な機能を実装するように構成された例示的なコンピュータシステム200のブロック図である。例えば、コンピュータシステム200は、VR環境100を作成または再構成するためのサーバーとして構成され得る。他の例では、コンピュータシステム200は、VR環境100を表示または強化するための端末装置として構成され得る。
図2に示すように、コンピュータシステム200は、プロセッサ210、通信インターフェース220、メモリ/ストレージ230、およびディスプレイ240を含み得る。メモリ/ストレージ230は、プロセッサ210によって実行されると、プロセッサ210に本明細書に開示される様々な動作を実行させることができるコンピュータ可読命令を格納するように構成され得る。メモリ230は、揮発性または非揮発性、磁気、半導体ベース、テープベース、光学、取り外し可能、非取り外し可能、または他のタイプの記憶デバイス、または有形のコンピュータ可読媒体など、任意の非揮発性なタイプの大容量ストレージであり得る。読み取り専用メモリ(ROM)、フラッシュメモリ、ダイナミックランダムアクセスメモリ(RAM)、および/またはスタティックRAMを含むが、これらに限定されない媒体。
【0032】
プロセッサ210は、メモリ230に格納された命令に従って動作を実行するように構成され得る。プロセッサ210は、任意の適切なタイプの汎用または専用マイクロプロセッサ、デジタル信号プロセッサ、マイクロコントローラなどを含み得る。一部の例では、プロセッサ210は、本明細書で開示される1つ以上の所定の動作を実行するために専用の別個のプロセッサモジュールとして構成され得る。他の例では、プロセッサ210は、本明細書で開示される1つ以上の所定の操作に無関係な他の操作を実行できるために共有プロセッサモジュールとして構成され得る。
【0033】
通信インターフェース220は、コンピュータシステム200と他のデバイスまたはシステムとの間で情報を通信するように構成され得る。例えば、通信インターフェース220は、データ通信接続を提供するために、統合サービスデジタルネットワーク(ISDN)カード、ケーブルモデム、衛星モデム、またはモデムを含み得る。他の例として、通信インターフェース220は、互換性のあるLANへのデータ通信接続を提供するために、ローカルエリアネットワーク(LAN)カードを含み得る。別の例として、通信インターフェース220は、光ファイバネットワークアダプタ、10Gイーサネットアダプタ(イーサネットは登録商標)などの高速ネットワークアダプタを含み得る。無線リンクは、通信インターフェース220によって実装することもできる。このような実装では、通信インターフェース220は、ネットワークを介して、様々なタイプの情報を表すデジタルデータストリームを運ぶ電気信号、電磁気信号または光信号を送受信することができる。ネットワークは、典型的に、セルラ通信ネットワーク、無線ローカルエリアネットワーク(WLAN)、ワイドエリアネットワーク(WAN)などを含み得る。
【0034】
通信インターフェース220は、キーボード、マウス、タッチパッド、タッチスクリーン、マイク、カメラ、バイオセンサなどの様々なI/Oデバイスを含み得る。ユーザは、通信インターフェース220を介して端末装置にデータを入力することができる。
【0035】
ディスプレイ240は、コンピュータシステム200の一部として統合されてもよいし、コンピュータシステム200に通信可能に結合された別個のデバイスとして提供されてもよい。ディスプレイ240は、液晶ディスプレイ(LCD)、発光ダイオードディスプレイ(LED)、プラズマディスプレイ、または任意の他のタイプのディスプレイなどのディスプレイデバイスを含み、ユーザ入力およびデータ描写のためにディスプレイ上に提示されるグラフィカルユーザインターフェース(GUI)を提供してもよい。いくつかの実施形態では、ディスプレイデバイス240は、VRゴーグル、VRメガネ、または没入型VR体験を提供する他の同様のデバイスを含み得る。例えば、VR環境100は、ディスプレイ240上に表示され得る。いくつかの実施形態では、ディスプレイ240は、通信インターフェース220の一部として統合され得る。
【0036】
図3は、1つ以上の実施形態によるシーンの3Dモデルを生成するための例示的な工程300である。工程300は、
図2に示すメモリ230に格納されたコンピュータ実行可能命令に従って、3Dモデリングシステムおよび/またはデバイス200によって実行され得る。3Dモデリングシステムは、撮像手段、走査手段、および/または1つ以上の姿勢センサを含み得る。3Dモデリングシステムは、撮像手段および/または走査手段のような1つ以上の手段を位置決め・再位置決めのために、加えておよび/または代替的に、3Dモデリングシステムは、1つ以上のプラットフォーム、モータ、アクチュエータをさらに含み得る。例えば、3Dモデリングシステムは、撮像手段を走査手段とは別に回転および/または移動させるための1つ以上のプラットフォーム、モータ、および/またはアクチュエータを含み得る。一部の例では、3Dモデリングシステムは、画像に関連する色データを取得するように構成された色撮像手段(例えば、カラーカメラ)を含み得る。他の例では、3Dモデリングシステムは、3Dモデリングシステムとは別の外部色撮像手段から色データを取得することができる。
【0037】
撮像手段は、深度カメラであってもよく、シーンの深度画像を撮像するように構成され得る。シーンの各深度画像は、複数の画素からなり、各画素は、深度値を含む。深度値は、1つ以上の画素によって描かれる代表オブジェクトと撮像手段の位置との間の距離を表し得る。走査手段(例えば、LIDARデバイス)は、シーンを走査して、複数の深度値を示す複数の深度データ点を収集するように構成され得る。1つ以上の姿勢センサは、複数の外部パラメータを出力するように構成され得る。外部パラメータは、撮像手段および走査手段に関連する位置および回転情報を含む。例えば、外部パラメータは、3×3回転行列および3×1並進ベクトルを含む姿勢行列を含み得る。一部の変形例では、撮像手段は、複数の画像(例えば、5つの画像)を撮像してもよく、姿勢センサは、画像に対する1つ以上の姿勢行列を決定し得る。例えば、撮像手段は、複数の画像を撮像する際に(例えば、同じ位置に)静止していてもよく、姿勢センサは、複数の画像について単一の姿勢行列を取得・決定してもよい。姿勢行列は、この位置における撮像手段に関連する回転(例えば、ピッチ、ヨー、ロール)および/または並進(例えば、x、y、z位置値)の値を示し得る。一部の例では、複数の画像を取得する際に、撮像手段は異なる位置にある場合がある。姿勢センサは、これらの画像のそれぞれを取得する際に、撮像手段の回転および/または並進の値を示す姿勢行列を取得・決定することができる。
【0038】
外部パラメータは、ローカリゼーションのために、および/または撮像手段および走査手段からの画像の位置情報を同じ3D座標平面内にあるように計算するために使用され得る。別の言い方をすれば、撮像手段は第1の画像を撮像し、走査手段は第2の画像を取得する。姿勢センサからの外部パラメータは、これらの2つの手段からの第1および第2の画像が同じ座標面にあるように位置合わせするために使用されてもよい。3Dモデリングシステムは、さらに、取得されたデータを処理するデバイス200を含み、および/またはデータ処理のために取得されたデータをデバイス200に送信するインターフェースを含み得る。しかしながら、工程300は、任意の適切な環境で実行されてもよく、以下のブロックのいずれかが任意の適切な順序で実行されてもよいことが認識されるであろう。
【0039】
ブロック310において、3Dモデリングシステムは、第1の深度データを取得する。具体的には、3Dモデリングシステムの撮像手段は、シーンの複数の深度画像を撮像する。撮像手段は、1つ以上のカメラであってもよく、および/またはそれを含んでもよく、前記カメラは、ステレオカメラ、構造化光カメラ、飛行時間(TOF)カメラ、および/または他のタイプの深度カメラを含むが、これらに限定されるわけではない。撮像手段により撮像された各深度画像は、複数の画素を含む。各画素は、撮影位置(例えば、画像を取得するときの撮像手段の位置)における撮像手段とシーン内のスポットとの間の距離を示す深度値を含む深度データ点に関連付けられる。第1の深度データは、撮像手段により撮像された深度画像の画素を含む。
【0040】
シーンは、1つ以上のオブジェクトおよび/または撮像領域の画像あってよく、前述のシーンは、任意のタイプ/数のオブジェクトおよび/または撮像領域を含む任意のタイプのシーンであってよい。例えば、シーンは、家の屋内シーンまたは家の屋外シーンであってよい。一部の例では、シーン内のオブジェクトの少なくとも一部(例えば、蛇口および/またはドアハンドル)を2回撮像することができる。例えば、撮像されるシーンは、部分シーンA、部分シーンB、部分シーンCを含み得る。各部分シーンのサイズは、撮像手段の視野である。撮像手段は、各部分シーンの2つの深度画像を撮像することができる。加えて、及び/又は代替的に、部分シーンAおよび部分シーンBが共通のオブジェクトを含む場合、撮像手段は、部分シーンAについて1つの深度画像を、部分シーンBについて1つの深度画像を撮像することができる。この場合、前記共通のオブジェクトは、2つの深度画像において、2回撮像される。
【0041】
一部の例では、撮像手段は、シーンの複数の深度画像を撮像するために、部分シーンについて撮像された複数の深度画像がシーン全体をカバーし得るように、異なる姿勢(例えば、位置および/または撮影角度)で配置され得る。撮像手段は、異なる姿勢で配置されるように移動または回転され得る。例えば、撮像手段はプラットフォーム上に配置されてもよい。プラットフォームは、予め設定された運動軌跡に従って移動するように構成され得る。撮像手段は、撮像手段が予め設定された距離(例えば、0.2m)だけ移動するたびに深度画像を撮像することができる。一部の変形例では、プラットフォームは、予め設定されたオブジェクトの周りを回転するように構成されることがある。撮像手段は、撮像手段が予め設定された角度(例えば、10度)移動するたびに深度画像を撮像することができる。さらに、プラットフォームは、予め設定された運動軌跡に従って移動しながら、予め設定されたオブジェクトの周りを回転するように構成され得る。換言すれば、撮像手段が予め設定された距離および/または予め設定された角度だけ回転/移動するときに、撮像手段は深度画像を撮像することができる。
【0042】
一部の例では、3Dモデリングシステムは、シーンの複数の深度画像を撮像する工程中または工程後に、キーポイント検出を実行することができる。例えば、3Dモデリングシステムは、部分シーンについて撮像手段により取得された1つ以上の深度画像に対してキーポイント検出を実行して、取得された深度画像内の1つ以上の目標オブジェクトおよび/または1つ以上の画像領域を識別して、識別された目標オブジェクトが、1つ以上の原因(例えば、低解像度および/または欠落/不完全なデータ点)で、補充用の深度データを必要とするかどうかを判断する。例えば、シーンは目標オブジェクト(例えば、ドアハンドル)を含むことがあり、3Dモデリングシステムはシーンの1つ以上の深度画像を撮像することができる。各深度画像は、部分的なシーンであってもよい(例えば、目標オブジェクトを含み、シーン全体の一部を示してもよい)。換言すれば、3Dモデリングシステムは、目標オブジェクトの第1の深度画像を撮像するよう撮像手段に指示し、次に、目標オブジェクトを含む次の深度画像を撮像するように撮像手段に指示するようになる。加えて、及び/又は代替的に、3Dモデリングシステムは、キーポイント検出結果に基づいて(例えば、低解像度および/またはデータ点の欠落に基づいて)、シーン内の目標オブジェクトが補充用の深度データを必要とすると判断する。例えば、3Dモデリングシステムは、目標オブジェクトの解像度が所定の閾値を下回っているため、補充用の深度データが必要であると判断する。この場合、3Dモデリングシステムのプロセッサは、目標オブジェクトの画像を撮像できる所定の場所に移動するように撮像手段に指示する。次いで、プロセッサは、部分シーンの深度画像を撮像して、目標オブジェクトに関する補充用の深度データを提供するように撮像手段に指示する。目標オブジェクトは、所定のオブジェクトであってもよい(例えば、ユーザは、目標オブジェクトを指定するユーザ入力を提供してもよい)。加えて、および/または代替として、目標オブジェクトは、予め設定された条件を満たすオブジェクトであってもよい(例えば、目標オブジェクトは、画像内の所定の体積または領域よりも小さいものである)。
【0043】
ブロック320において、3Dモデリングシステムは、シーンの第2の深度データを取得する。具体的には、3Dモデリングシステムの走査手段がシーンを走査して、複数の深度データ点を収集する。各深度データ点には、走査手段とシーン内のスポットとの間の距離を示す深度値が含まれる。一部の例では、走査手段は、レーザーなどのエネルギー源を利用して領域を走査し、走査された領域内のオブジェクトからの跳ね返りによって生じる反射エネルギーを検出するLIDARシステムであってもよい。
【0044】
ブロック310と同様に、3Dモデリングシステムは、シーンを走査する工程中または工程後にキーポイント検出を実行してもよい。例えば、3Dモデリングシステムは、部分シーンについて走査手段により取得された深度データ点の1つ以上のフレームに対してキーポイント検出を実行して、取得されたフレーム内の1つ以上の目標オブジェクトおよび/または1つ以上の画像領域を識別して、識別された目標オブジェクトが、1つ以上の原因(例えば、低解像度および/または欠落/不完全なデータ点)で、補充用の深度データを必要とするかどうかを判断する。3Dモデリングシステムのプロセッサは、キーポイント検出結果に基づいて(例えば、低解像度および/またはデータ点の欠落に基づいて)、所定の領域を走査して目標オブジェクトの補充用の深度データを提供するように走査手段に指示する。
【0045】
一部の例では、撮像手段と走査手段との間の相対位置は固定されている。また、相対位置は、固定されない場合もある。撮像手段と走査手段との間の相対位置は、相対位置が固定されていない場合、深度データ取得工程中に動的に決定され得る。この場合、3Dモデリングシステムは、撮像手段および/または走査手段の位置および回転情報を示す外部パラメータを出力する1つ以上の姿勢センサを含み得る。一部の変形例では、3Dモデリングシステムは、撮像手段と走査手段の両方について単一の姿勢センサを含み得る。他の変形例では、3Dモデリングシステムは、撮像手段用の姿勢センサと、走査手段用の別個の姿勢センサとを含み得る。
【0046】
ブロック330において、3Dモデリングシステムは、色データ、第1の深度データ、第2の深度データに基づいて、シーンの3Dモデルを生成する。一部の変形例では、色データは、色撮像手段(例えば、カラーカメラ)を使用して撮像されたシーンの画像に基づいて取得される。一部の例では、3Dモデリングシステムには、色データを取得するための色撮像手段が含まれる。他の例では、色撮像手段により撮像された色データのセットは、3Dモデリングシステムに送信される。色撮像手段により取得されたシーンの画像は、赤緑青(RGB)画像、グレースケール画像、および/または黒/白画像であってもよく、および/またはそれらを含んでもよい。色データは、色画像の画素に基づいて形成される(例えば、色データは、RGB値、グレースケール値、および/または輝度値を含んでもよい)。3Dモデリングシステムは、シーンの3Dモデルを生成するために、受け取った色データおよび深度データを処理するように構成されたプロセッサを含み得る。
【0047】
一部の例では、3Dモデリングシステムは、撮像手段および走査手段に対応する姿勢情報を利用して、撮像手段からの第1のセットの深度データと、走査手段からの第2のセットの深度データとを組み合わせることができる。3Dモデリングシステムのプロセッサは、撮像手段および走査手段の位置および回転情報を含む外部パラメータを姿勢センサから取得することができる。プロセッサは、外部パラメータに基づいて、同じ3D座標平面における撮像手段および/または走査手段の位置、回転、および/または撮影角度を決定および/または計算することができる。例えば、撮像手段は、シーンの複数の深度画像を取得する。各深度画像は、深度画像を撮像した定時の撮像手段の姿勢を示す外部パラメータに関連付けられる。計算された撮像手段の姿勢情報に基づいて、撮像手段により撮像された深度画像間の位置関係が決定される。このように、撮像手段により撮像された深度画像は、決定された位置関係に基づいて結合され得る。加えて、及び/又は代替的に、走査手段により取得された深度データ点は、走査手段の姿勢情報から決定された位置関係に基づいて結合され得る。加えて、及び/又は代替的に、撮像手段により取得された深度画像と走査手段により取得された深度データ点は、撮像手段および走査手段の姿勢情報から決定された位置関係に基づいて結合され得る。このようにして、第1の深度データと第2の深度データを組み合わせて、シーンの完全な深度画像を生成することができる。加えて、及び/又は代替的に、色撮像手段により撮像された各色画像は、色撮像手段の姿勢情報を示す外部パラメータに関連付けられてもよい。同様に、色画像間の位置関係に基づいて色画像を結合され得る。加えて、及び/又は代替的に、色画像によって形成された色データは、データ取得手段の姿勢情報から決定された位置関係に基づいて、シーン内の深度データ点と位置合わせされ得る。したがって、深度および色情報の両方を含む3Dモデルを生成することができる。
【0048】
一部の変形例では、3Dモデリングシステムは、キーポイント検出の結果に基づいて(例えば、識別された1つ以上の目標オブジェクトに基づいて)、色データ、第1の深度データ、第2の深度データを組み合わせることができる。例えば、3Dモデリングシステムは、第1の深度データにおける深度画像のそれぞれに対してキーポイント検出を実行して、複数の目標オブジェクトを識別することができる。目標オブジェクトは、深度画像において識別された目標オブジェクトを位置合わせすることによって深度画像を結合できるように、撮像手段からの少なくとも2つの深度画像によって捕捉される。走査手段からの第2の深度データは、複数のフレームを含む。3Dモデリングシステムは、走査手段により取得された各フレームに対してキーポイント検出を実行して、対象オブジェクトの数を特定することができる。同様に、走査手段により取得された深度データ点は、識別された目標オブジェクトをフレーム内で位置合わせることによって結合することができる。加えて、及び/又は代替的に、第1の深度データおよび第2の深度データは、第1の深度データおよび第2の深度データの両方に存在する識別された目標オブジェクトを位置合わせすることによって、組み合わせることができる。加えて、及び/又は代替的に、3Dモデリングシステムは、色データにおける色画像に対してキーポイント検出を実行して、多数の目標オブジェクトを識別することができる。このよう、色データは、深度データおよび色データの両方に存在する識別された目標オブジェクトに基づいて、深度データと位置合わせされ得る。したがって、3Dモデリングシステムは、シーンの3Dモデルを生成するように、シーン内の目標オブジェクトの数を揃えることによって、色データ、第1の深度データ、第2の深度データを組み合わせることができる。
【0049】
3Dモデリングシステムは、3Dモデルを生成した後、3Dモデルをディスプレイに出力する。3Dモデルは、VRアプリケーションに利用できる。
【0050】
図4は、1つ以上の実施形態によるシーン400の3Dモデルを生成する例示的なアプリケーションである。3Dモデリングシステム402は、撮像手段404および走査手段406を備える。3Dモデリングシステム402の撮像手段404は、シーン400の複数の深度画像を撮像して、第1の深度データを形成する。深度画像は、少なくとも1つのオブジェクトを含む部分シーン408を含み得る。例えば、部分シーン408は電気スタンドを含む。一部の例では、撮像手段404により撮像された少なくとも2つの深度画像は、部分シーン408を含む。走査手段406は、シーン400を走査して複数の深度データ点を収集し、第2の深度データを形成する。その後、3Dモデリングシステム402は、色データ、第1の深度データ、第2の深度データに基づいて、シーンの3Dモデルを生成する。
【0051】
本明細書で説明するシーンの3Dモデルを生成するための方法、システム、および装置は、シーン内のオブジェクトの広範囲の距離に対して一貫した高精度でシーンの高解像度3Dモデルを生成することができる。シーンの高品質3Dモデルは、深度カメラなどの撮像手段から取得された深度データと、LIDARシステムなどの走査手段から取得された深度データを組み合わせることによって生成される。
【0052】
深度カメラは、高解像度と高フレームレートの利点を有する。したがって、深度カメラは、シーン内の小さなオブジェクトの詳細を撮像できる。しかし、深度カメラは、その出力または解像度によって制限される可能性があるため、通常、比較的近い撮影距離で使用される。ほとんどの深度カメラの撮影距離は、0.2~8mで、最大撮影距離は通常10m以内である。また、深度カメラが取得するデプスデータの精度は、撮影距離に大きく依存する。例えば、深度カメラが構造化光カメラである例では、構造化光カメラの最高精度は、0.5~3mの撮影範囲内でmmのレベルに達することができる。しかし、3~5mの撮影範囲内では、構造化光カメラの精度は数十mmに低下する。撮影距離が5mを超えると、構造化光カメラの精度が0.5mを下回ることがある。一方、LIDARシステムなどの走査手段は、通常、深度カメラよりも著しく長い検出距離を持つ。例えば、市販のLIDARシステムの測距距離は、10m、30m、100m、300m、またはそれ以上である。さらに、検出範囲内でのLIDARシステムの精度は、一貫性が高く、非常に正確であることが知られている。しかし、LIDARシステムは、通常、深度カメラのように集中的なデータ点を提供できず、シーン内の小さなオブジェクトの詳細を提供することはできない。
【0053】
本開示は、シーン内で一貫した高精度で細かい詳細を備えた小さなオブジェクトおよび遠くのオブジェクトをモデル化することを保証するように、撮像手段および走査手段からの深度データを組み合わせるための方法、システム、および装置を提供する。
【0054】
図3のブロック310に戻って参照すると、3Dモデリングシステムは、所定の解像度閾値に従って第1の深度データを取得するように構成される。3Dモデリングシステムの撮像手段は、最初に、異なる位置に移動し回転しながら、シーンの複数の深度画像を撮像する。3Dモデリングシステムのプロセッサは、撮像手段により撮像された深度画像を処理し、深度画像の画素を組み合わせることによって、シーンの全体的な深度画像を取得する。その後、3Dモデリングシステムのプロセッサは、所定の解像度閾値未満の解像度を有するシーン内の1つ以上の画像領域を識別し、1つ以上の画像領域について補充の深度画像を撮像するように撮像手段に指示する。各画像領域は、深度画像で撮像された部分シーンに含まれ得る。例えば、一部の変形例では、撮像手段は、目標数の深度画像を撮像するように指示されてもよい。部分シーンで撮像された深度画像の数は、部分シーンの複雑さに基づいて決定され得る。部分シーンが複雑になればなるほど、その部分シーンで撮像する深度画像の数が多くなる。撮像手段により撮像された初期の深度画像に、1つ以上の画像領域に対する補充の深度画像を補足することによって、1つ以上の画像領域の解像度は、所定の解像度閾値を上回るように改善されることができる。したがって、撮像手段により撮像された深度画像の画素を含む結果として得られる第1の深度データは、解像度要件を満たすために画像領域に十分な深度データ点を提供することができる。
【0055】
一部の例では、3Dモデリングシステムは、目標精度に従って、所定の深度閾値に基づいて第1の深度データを取得することができる。例えば、撮像手段は、0.3mから2.3mの距離の間のデータ点/オブジェクトを正確に撮像するために使用され、0.3mから2.3mの距離の間の深度値の最大誤差は、0.5cmであってもよい。したがって、深度閾値は2.3mであってもよく、2.3mより大きい値を示す深度データ値は、3Dモデリングシステムによって、目標精度を満たしていない可能性があるというフラグが付けられる。加えて、および/または代替として、ユーザは、画像がどれだけ正確であってほしいかに基づいて深度閾値を設定することができる。換言すれば、第1の深度データは、所定の深度閾値に従って調整され得る。例えば、深度閾値より大きい深度値を有する各データ点は、第1の深度データから削除され得る。深度閾値は、3Dモデリングシステムにおける撮像手段の精度に基づいて決定され得る。撮像手段の精度は、撮像手段を校正することによって、または製造業者により提供される関連パラメータから取得する。校正は、目標オブジェクトから離れた複数の撮影距離に撮像手段を配置して、各撮影距離で複数の深度画像を取得することによって実行されてもよい。例えば、撮像手段は、0.3mから4mの撮影範囲を有し、撮影距離は、所定の増分(例えば、0.1m)で0.3mから4mの間で設定されてもよい。深度画像の画素に含まれる深度値は、異なる撮影距離での撮像手段の精度を校正できるように、撮像手段と目標オブジェクトとの間の実際の距離と比較され得る。例えば、撮影距離が0.3mの場合、深度値の誤差は0.3cmであり、撮影距離が0.8mの場合、深度値の誤差は0.2cmであり、撮影距離が1.3mの場合、深度値の誤差は0.1cmであり、撮影距離が1.8mの場合、深度値の誤差は0.3cmであり、撮影距離が2.3mの場合、深度値の誤差は0.5cmであり、撮影距離が2.8mの場合、深度値の誤差は1cmであり、撮影距離が3.3mの場合、深度値の誤差は5cmであり、撮影距離が3.8mの場合、深度値の誤差は10cmであってもよい。この例では、目標精度を0.5cmとした場合、深度閾値は2.3mと定義し得る。
【0056】
深度閾値は、3Dモデルを生成するための精度および/または解像度の要件に応じて、データ処理中に変更してもよい。例えば、より高い精度要件のために、より小さな深度閾値が決定されてもよく、その結果、第1の深度データ内のデータ点が少なくなり、深度画像の解像度が犠牲になることがある。他の例では、深度閾値が大きいほど、第1の深度データに含まれるデータ点が多くなり、深度画像の解像度が高くなる。しかし、この場合は、精度要件を緩和する必要がある。加えて、及び/又は代替的に、深度閾値は、第2の深度データの調整に適用されてもよい。例えば、深度データ点が深度閾値よりも小さい深度値を有する場合、第2の深度データ内の深度データ点を削除してもよい。
【0057】
一部の例では、3Dモデリングシステムのプロセッサは、処理速度の向上および計算複雑性の低減で改善されるように、
図3のブロック330で説明されたデータ処理を行って、第1の深度データを処理して、第1の深度データにおける深度データ点の数を減らしてもよい。データ処理は、ダウンサンプリングおよびフィルタリングのうちの少なくとも1つを含む。一部の例では、ダウンサンプリングの工程は、深度画像の重なり合う画素をマージすることによって実行され得る。例えば、シーン内の同じ撮影スポットに関連する重なり合う画素は、重なり合う画素の深度値を平均化することによって、1つの深度データ点にマージされる。このような複数のデータ点を1つのデータ点にマージする工程は、繰り返しサンプリングの結果を平均化する工程に相当し、ガウス分布に従ってデータ点のジッタリングによって引き起こされる誤差を低減することができる。さらに、フィルタリングの工程は、フィルタリングアルゴリズムを適用することによって飛跡などの予想外の深度データ点を削除するために実行され得る。データ点の数を減らすための同様のデータ処理は、
図3のブロック320で説明したように、3Dモデリングシステムにおける走査手段により取得された第2の深度データに適用することができる。
【0058】
一部の例では、3Dモデリングシステムは、ブロック330の後、生成された3Dモデルが、所定の解像度閾値に達することができない1つ以上の画像領域を含むと決定することができる。例えば、1つ以上の画像領域は、シーン内の十分なデータ点で生成されていないオブジェクトを含む場合がある。3Dモデリングシステムのプロセッサは、1つ以上の画像領域について補充の深度画像を撮像するように、撮像手段に指示する。一部の例では、撮像手段は、1つ以上の画像領域についてより豊富な深度データを取得できるように、移動および/または回転させて、1つ以上の画像領域のそれぞれについて複数の撮影角度から深度画像を撮像する。撮像手段により撮像された補充深度画像の画素は、第1の充填データを形成し得る。3Dモデリングシステムのプロセッサは、新たなシーンの3Dモデルを生成するために、生成された3Dモデルに第1の充填データを補足して、局所的な詳細の洗練の程度を改善することができる。
【0059】
一部の例では、3Dモデリングシステムは、取得された深度データに基づいて3Dモデルをリアルタイムで表示することができる。3Dモデルの表示は、ブロック310および320などの前述のデータ取得工程、ブロック330などのデータ処理工程、および/またはより多くの深度画像を撮像することによって新たな3Dモデルを生成する工程中に利用可能である。ユーザは、3Dモデルのリアルタイム表示に基づいて、提示された3Dモデルが精度、解像度、および/または完全性の要件を満たすかどうかを判断することができる。例えば、ユーザは、補充用の深度データが必要かどうか、および補充用の深度データを取得するために、3Dモデリングシステムにおける撮像手段と走査手段のどちらを使用すべきかを決定することができる。
【0060】
図5は、1つ以上の実施形態によるシーンの3Dモデルを生成するための例示的な工程500である。工程500は、
図2に示されるメモリ230に格納されたコンピュータ実行可能命令に従って、前述の3Dモデリングシステムおよび/またはデバイス200によって実行され得る。しかしながら、工程500は、任意の適切な環境で実行されてもよく、以下のブロックのいずれかが任意の適切な順序で実行されてもよいことが認識されるであろう。工程300と比較して、工程500は、複数のデータペアを決定し、それらのデータペアを使用して、撮像手段および走査手段からの第1および第2の深度データを組み合わせる追加のブロックを含み得る。
【0061】
ブロック510において、3Dモデリングシステムは、第1の深度データを取得する。ブロック510は、上述のブロック310と同様であり得る。加えて、及び/又は代替的に、3Dモデリングシステムの撮像手段は、深度画像を第1のフレームレート(例えば、撮像手段によって捕捉される毎秒の深度画像の数)で捕捉することができる。各フレームは、複数の画素を含む。第1の深度データは、撮像手段により取得された複数のフレームを含む。第1セットの深度データにおける深さ映像の各フレームは、第1データとして定義される。
【0062】
ブロック520において、3Dモデリングシステムは、第2の深度データを取得する。ブロック520は、上述のブロック320と同様であり得る。さらに、3Dモデリングシステムの走査手段は、第2のフレームレートで深度データ点を収集することができる。各フレームは、走査手段により収集された複数の深度データ点を含み、第2のフレームレートは、秒あたり走査手段により収集されたデータ点の数を示す。第2の深度データは、走査手段により収集された深度データ点の複数のフレームを含む。第2の深度データにおける各フレームは、第2のデータとして定義され得る。
【0063】
ブロック530において、3Dモデリングシステムは、複数のデータペアを決定し、複数のデータペアの各々は、第1のデータおよび対応する第2のデータを含む。例えば、深度画像のフレームである第1のデータは、部分シーンに含まれる画像領域について撮像されるものである。画像領域は、シーン内のオブジェクトであってもよい。対応する第2のデータは、同じ画像領域を含む部分シーンを走査することによって取得られるフレームとして決定されてもよい。なお、第1のデータによって取得された部分シーンと第2のデータによって取得された部分シーンは同様であっても異なっていてもよい。
【0064】
一部の例では、3Dモデリングシステムにおける撮像手段および走査手段は、プラットフォーム上に統合されてもよく、走査手段に対する撮像手段の相対位置が固定されてもよい。その例では、プラットフォームは、プラットフォームの位置および回転情報などの姿勢情報を示す外部パラメータを提供する姿勢センサとさらに統合されてもよい。第1のデータである撮像手段により取得された深度画像の各フレームが、深度画像のフレームを撮像した定時に姿勢センサにより提供された外部パラメータが付けされるように、プラットフォーム、撮像手段、走査手段、姿勢センサの間で通信接続が確立されてもよい。深度画像のフレームを撮像した定時は、深度画像のフレームに関連付けられたタイムスタンプとして、撮像手段によって付けされてもよい。さらに、姿勢センサから出力された外部パラメータは、姿勢センサにより生成されたタイムスタンプが付けされてもよく、タイムスタンプは、姿勢センサにより外部パラメータが生成された定時を示す。タイムスタンプ情報に基づいて、3Dモデリングシステムは、外部パラメータのタイムスタンプと撮像された画像のタイムスタンプとの間の時間間隔が所定の閾値より小さいことによって、深度画像のフレームに付けされる外部パラメータを決定してもよい。同様に、走査手段により取得された深度データ点の各フレームは、深度データ点のフレームを走査した定時に姿勢センサにより提供される外部パラメータが付けされ得る。走査手段により取得された深度データ点のフレームは、走査手段により生成された、深度データ点のフレームを生成する定時を示すタイムスタンプが付けされる。3Dモデリングシステムは、タイムスタンプ情報に基づいて、時間間隔が所定の閾値よりも小さい場合に、走査手段により走査された深度データ点のフレームに付けされる外部パラメータを決定してもよい。
【0065】
一部の例では、プラットフォームは、データ取得のために異なる位置に移動・回転する場合がある。プラットフォームがデータ取得のための位置の1つに移動・回転されると、深度画像の1つ以上のフレームを撮像するように撮像手段に指示され、深度データ点の1つ以上のフレームを走査するように走査手段に指示され、プラットフォームの現在の位置と回転を示す外部パラメータを出力するように姿勢センサに指示されてもよい。この位置で撮像手段により撮像された深度画像の1つ以上のフレームは、第1のデータを形成し得る。第1のデータには、この位置で姿勢センサから出力された外部パラメータが付けされる。加えて、及び/又は代替的に、この位置で走査手段により走査された深度データ点の1つ以上のフレームは、第2のデータを形成し得る。第2のデータには、この位置の姿勢センサから出力された外部パラメータが付けされる。3Dモデリングシステムは、この位置で取得された第1のデータが同じ位置で取得された第2のデータに対応していると判断し得る。プラットフォームを移動・回転させて異なる撮影位置で上記のデータ取得処理を繰り返すことによって、第1データ及び対応する第2データを含む複数のデータペアを取得することができる。一部の例では、プラットフォームをシーン内のある位置に固定し、360度回転させて、シーン全体のデータ取得を実行してもよい。一部の例では、プラットフォームは、ユーザによって手持ちまたは配置されてもよく、データ取得は、ユーザの動きに従って実行されてもよい。一部の例では、プラットフォームは、ロボットや自動運転車などの移動体に配置されてもよい。プラットフォームの運動軌跡は、本開示において限定されるべきではないことが理解されよう。一部の例では、プラットフォームは、色画像装置とさらに統合されてもよい。同様に、色撮像手段により撮像された画像は、姿勢センサから出力された外部パラメータが付けされてもよい。
【0066】
姿勢センサは、慣性測定ユニット(IMU)、LIDARシステムにおける同時定位およびマッピング(SLAM)ユニット、およびカラーカメラにおける視覚慣性オドメトリ(VIO)ユニットのうちの少なくとも1つであってもよい。3Dモデリングシステムにおけるプラットフォームは、1つ以上の姿勢センサを含み得る。撮像手段、走査手段、および任意に色撮像手段のそれぞれは、別個の姿勢センサを含み得る。第1のデータ、第2のデータ、色撮像手段により撮像された画像に付けされた外部パラメータは、複数の姿勢センサから出力された外部パラメータの組み合わせであってもよい。一部の例では、外部パラメータは、IMUとSLAMユニットの両方から出力されるものである。一部の例では、外部パラメータは、IMUユニットとVIOユニットの両方から出力されるものである。一部の例では、外部パラメータは、IMU、SLAMユニット、VIOユニットから出力されるものである。あるいは、撮像手段および走査手段の外部パラメータのそれぞれは、撮像手段および走査手段の校正を通じて取得することができる。第1のデータ、第2のデータ、色撮像手段により撮像された画像に付けされた外部パラメータを使用して、同じ3D座標平面上でのデータ取得装置の姿勢を計算・決定することができる。
【0067】
一部の例では、3Dモデリングシステムは、予め設定された時間間隔閾値に従ってデータペアを決定してもよい。例えば、データペアに含まれる第1のデータおよび対応する第2のデータは、予め設定された時間間隔閾値を下回る時間間隔内で取得されてもよい。第1のデータと第2のデータとの間の時間間隔が閾値未満であることに基づいて、第1のデータおよび対応する第2のデータは、同じ部分シーンの深度データ点を含み得る。このように、3Dモデリングシステムは、現在の時間間隔閾値に依存して、複数のデータペアを決定してもよく、データペアのそれぞれは、第1のデータおよび対応する第2のデータを含む。
【0068】
一部の例では、3Dモデリングシステムは、第1のデータおよび第2のデータに対して実行されたキーポイント検出に基づいて、データペアを決定してもよい。3Dモデリングシステムは、第1のデータおよび第2のデータに対してキーポイント検出を実行することによって、第1のデータおよび対応する第2のデータ内の同じ画像領域を識別してもよい。画像領域の識別は、多数の特徴点に基づいて行われてもよい。特徴点は、ユーザによって事前定義され得る。例えば、一部の変形例では、特徴点は、グレースケールの劇的な変化を有する画像内で識別された画素、つまりエッジでの交点、および/または目標オブジェクトで識別された画素であってもよい。3Dモデリングシステムは、キーポイント検出結果に依存して、データペアを決定するために、第2のデータにも含まれる画像領域を第1のデータが含むと決定し得る。したがって、3Dモデリングシステムは、複数のデータペアを決定することができる。
【0069】
ブロック540において、3Dモデリングシステムは、第1の深度データと第2の深度データを組み合わせて、複数のデータペアに基づいて組合深度データを生成する。具体的には、データペアごとに、第1データ及び対応する第2データを組み合わせる。
【0070】
例えば、3Dモデリングシステムは、姿勢センサからの特徴点/目標オブジェクト、姿勢情報、および/または外部パラメータを使用して、第1および第2の深度データを組み合わせることができる。例えば、3Dモデリングシステムは、同じまたは実質的に同じ姿勢情報を有する(例えば、並進・回転ベクトルが実質的に同じである)第1の深度データおよび第2の深度データを決定してもよい。3Dモデリングシステムは、第1および第2の深度データを同様の姿勢情報と組み合わせて、組合深度データを生成してもよい。加えて、及び/又は代替的に、3Dモデリングシステムは、複数の画像/フレームを通して示される1つ以上の特徴点および/または目標オブジェクトを決定してもよい。3Dモデリングシステムは、特徴点および/または目標オブジェクトに関連付けられた第1および第2の深度データを決定し、次に、特徴点および/または目標オブジェクトに関連付けられた第1および第2の深度データを組み合わせて、組合深度データを生成してもよい。加えて、及び/又は代替的に、3Dモデリングシステムは、外部パラメータを使用して、同じ座標平面を有する組合深度データを生成してもよい(例えば、第1および第2の深度データを同じ座標平面に転置し、次に、同じ座標平面内の座標に基づいて、第1および第2の深度データを組み合わせる)。
【0071】
ブロック550において、3Dモデリングシステムは、色データおよび組合深度データに基づいて、シーンの3Dモデルを生成する。生成された3Dモデルにおいて、データ点の各々は、深度値と色値を備える。組合深度データは、撮像手段により取得された深度画像のフレーム、または走査手段によって走査された深度データ点のフレームを含む。各フレームには、部分シーンが含まれる。一部の例では、フレームに含まれる部分シーンは、部分シーン間の位置関係に従って結合され得る。部分シーン間の位置関係は、予め設計されてもよい。例えば、撮像手段および走査手段を搭載するプラットフォームの運動軌跡を予め設定されてもよい。部分シーン間の位置関係は、プラットフォームの予め設定された運動軌跡に基づいて決定されてもよい。同様に、色データにおける部分シーンは、色データを形成する色画像を取得するために使用される色撮像手段の所定の運動軌跡に基づいて組み合わせることができる。あるいは、部分シーン間の位置関係は、データ取得工程中に、取得されたデータのフレームが付けされた外部パラメータ、または異なるフレームにおける識別された画像領域のいずれかに基づいて、動的に決定されてもよい。
【0072】
一部の例では、3Dモデルにおいてデータ点の深度値は、前述のデータ処理ステップ中に同じ座標平面に転置される組合深度データに基づいて決定される。同様に、色データは、色画像を撮像している間の色撮像手段の位置および回転を示す外部パラメータに基づいて、同じ座標平面上に転置され得る。したがって、3Dモデルにおいてデータ点の各々は、3Dモデルにおいてデータ点と同じ座標にあると決定された色データ点に含まれるカラー値に従ってレンダリングされる。
【0073】
一部の例では、3Dモデリングシステムは、組合深度データと色データの両方に存在する識別された1つ以上の画像領域を位置合わせすることによって、生成された3Dモデルにおいてデータ点の深度値と色値を決定する。
【0074】
図6は、1つ以上の実施形態によるシーンの3Dモデルを生成するための例示的な工程600である。工程600は、
図2に示されるメモリ230に格納されたコンピュータ実行可能命令に従って、前述の3Dモデリングシステムおよび/またはデバイス200によって実行され得る。しかしながら、工程600は、任意の適切な環境で実行されてもよく、以下のブロックのいずれかが任意の適切な順序で実行されてもよいことが認識されるであろう。工程300と比較すると、工程600は、取得された第1/第2の深度データの元データ内の解像度の欠如および/または不完全なデータを決定し、その後、取得された深度データの元データを新たな深度データで補充する追加のブロックを含み得る。
【0075】
ブロック610において、3Dモデリングシステムは、第1の深度データを取得する。ブロック610は、上述のブロック310と同様であり得る。
【0076】
ブロック620において、3Dモデリングシステムは、第2の深度データを取得する。ブロック620は、上述のブロック320と同様であり得る。
【0077】
ブロック630において、3Dモデリングシステムは、色データ、第1の深度データ、第2の深度データに基づいて、シーンの3Dモデルを生成する。ブロック630は、上述のブロック330と同様であり得る。
【0078】
ブロック640において、3Dモデリングシステムのプロセッサは、シーンの3Dモデルにおいて1つ以上の画像領域が十分なデータ点を有していないと判断することに応じて(例えば、モデル化に失敗したシーンの一部、および/または低解像度および/または欠落/不完全なデータに基づいて)、第2の充填データを取得するよう走査デバイスに指示する。3Dモデリングシステムのプロセッサは、1つ以上の画像領域について補充用の深度データ点を走査するように、走査手段に指示する。一部の例では、走査手段を移動および/または回転させて、1つ以上の画像領域を含む部分シーンを走査する。1つ以上の画像領域を走査することによって取得られた深度データ点は、第2の充填データを形成し得る。
【0079】
ブロック650において、3Dモデリングシステムのプロセッサは、生成されたシーンの3Dモデルに第2の充填データを補足し、新たなシーンの3Dモデルを生成して、生成されたシーンの3Dモデルの完全性を改善する。
【0080】
前述の開示された工程は、
図7に示されるように、3Dモデリングシステム700によって実行され得る。これは、1つ以上の実施形態に従う。3Dモデリングシステム700は、撮像手段710、走査手段720、1つ以上の姿勢センサ730、1つ以上の3Dモデリングプロセッサ740、メモリ750およびディスプレイ760などの複数の構成要素を備える。
【0081】
撮像手段710は、シーンの複数の深度画像を撮像するように構成され得る。撮像手段710は、シーンの深度画像を第1のフレームレートで撮像するように設定され得る。各深度画像は複数の画素を含み、画素は、撮像手段とシーン内の複数の撮影スポットとの間の距離を示す深度値を含む。さらに、各深度画像には、深度画像を撮像した定時を示すタイムスタンプが付けされてもよい。撮像手段710は、シーンの撮像された深度画像を第1の深度データまたは第1の充填データとして、3Dモデリングプロセッサ740に出力する。
【0082】
走査手段720は、シーンの複数の深度データ点を走査するように構成され得る。走査手段720は、第2のフレームレートでシーンの深度データ点を取得するように設定され得る。各フレームは、複数の深度データ点を含み、深度データ点は、走査手段720とシーン内の複数のスポットとの間の距離を示す深度値を含む。さらに、深度データ点の各フレームには、フレームを取得した定時を示すタイムスタンプが付けされてもよい。走査手段720は、取得された深度データ点を第2の深度データまたは第2の充填データとして、3Dモデリングプロセッサ740に出力する。
【0083】
姿勢センサ730は、取得された深度データに対する外部パラメータを決定および/または出力するように構成され得る。外部パラメータは、姿勢センサ730が埋め込まれた手段の位置および回転などの姿勢情報を含む。姿勢センサ730により生成された外部パラメータには、外部パラメータを生成した定時を示すタイムスタンプが付けされてもよい。撮像手段710および走査手段720などのデータ取得手段には、それぞれ姿勢センサ730が組み込まれてもよい。あるいは、1つの姿勢センサ730が、取得された深度データのフレームに対して後で決定される外部パラメータを出力してもよい。姿勢センサ730は、3Dモデリングプロセッサ740が、タイムスタンプによって示される時間間隔に基づいて、取得されたデータのフレームに付けされた外部パラメータを決定できるように、タイムスタンプが付けされた外部パラメータを3Dモデリングプロセッサ740に出力してもよい。
【0084】
3Dモデリングプロセッサ740は、メモリ750に格納されたコンピュータ実行可能命令に基づいて前述の工程を実行するように構成され得る。一部の例では、3Dモデリングプロセッサ740は、外部色画像装置から色データを受信する。一部の例では、3Dモデリングプロセッサ740は、3Dモデリングシステム700における色撮像手段から色データを受信する。
【0085】
ディスプレイ760は、3Dモデリング工程740により生成される3Dモデルを表示するように構成され得る。一部の例では、ディスプレイ760は、データ取得工程中にシーンのリアルタイム3Dモデルを表示するようにさらに構成され得る。
【0086】
本明細書で説明する技術は、プロセッサベースの命令実行マシン、システム、装置、またはデバイスによって、またはこれらに関連して使用するためのコンピュータ可読媒体に格納された実行可能命令で具現化できる。いくつかの実施形態では、データを格納するために様々なタイプのコンピュータ可読媒体を含めることができることを当業者は理解するであろう。本明細書で使用される場合、「コンピュータ可読媒体」は、命令実行マシン、システム、装置、またはデバイスが、コンピュータ可読媒体から命令を読み取り(またはフェッチ)、説明した実施形態を実施するための命令を実行することができるように、コンピュータプログラムの実行可能命令を記憶するための任意の適切な媒体の1つまたは複数を含む。適切な記憶形式には、電子、磁気、光学、および電磁形式のうちの1つ以上が含まれる。従来の例のコンピュータ可読媒体の非網羅的なリストには、ポータブルコンピュータディスケット、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROM)、フラッシュメモリ装置、及び、ポータブルコンパクトディスク(CD)、ポータブルデジタル映像ディスク(DVD)などの光学記憶装置、などがある。
【0087】
添付の図に図示された構成要素の配置は説明のためのものであり、他の配置も可能であることを理解されたい。例えば、本明細書に記載された要素の1つ以上は、全体または一部が電子ハードウェア部品として実現され得る。他の要素は、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアの組み合わせで実装することができる。さらに、これらの他の要素の一部または全部を組み合わせてもよく、一部を完全に省略してもよく、本明細書に記載の機能を実現しながら追加のコンポーネントを追加してもよい。したがって、本明細書に記載の主題は、多くの異なるバリエーションで具現化することができ、そのようなバリエーションはすべて、特許請求の範囲内にあると考えられる。
【0088】
本明細書に記載される主題の理解を容易にするために、多くの態様は、動作のシーケンスの観点から説明される。様々な動作は、特殊な回路または回路によって、1つ以上のプロセッサによって実行されるプログラム命令によって、または両方の組み合わせによって実行され得ることは、当業者によって認識されるであろう。本明細書における一連の動作の説明は、その一連の動作を行うために記述された特定の順序に従わなければならないことを意味することを意図していない。本明細書に記載される全ての方法は、本明細書で特に示されない限り、または文脈によって明らかに矛盾しない限り、任意の適切な順序で実行され得る。
【0089】
主題を説明する文脈における(特に、以下の請求項の文脈における)用語「一つ」および「1つ」および「前記」ならびに同様の参照の使用は、本明細書において別様に示されるか、または文脈によって明らかに矛盾しない限り、単数および複数の両方をカバーするように解釈されるものとされる。用語「少なくとも1つ」の後に1つ以上の項目のリスト(例えば、「AおよびBの少なくとも1つ」)が続く使用は、本明細書において別段の指示があるか、または文脈によって明らかに矛盾しない限り、リストされた項目(AまたはB)から選択された1つの項目、またはリストされた項目(AおよびB)の2以上の任意の組み合わせを意味すると解釈される。さらに、求める保護範囲は、その均等物とともに以下に記載される請求項によって定義されるため、前述の説明は、例示の目的のみのためであり、制限の目的ではありえない。本明細書で提供される任意のおよびすべての例、または例文(例えば、「など」)の使用は、単に主題をより良く説明することを意図しており、別途請求されない限り、主題の範囲に制限を提起するものでない。特許請求の範囲及び書面の説明の両方において、ある結果をもたらすための条件を示す用語「に基づいて」及び他の同様のフレーズの使用は、その結果をもたらす他の条件を排除することを意図していない。本明細書のいかなる文言も、請求項に記載された発明の実施に不可欠なものとして、請求項に記載されていない要素を示すものと解釈されるべきではない。
【手続補正書】
【提出日】2023-04-24
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
シーンの3Dモデルを生成する方法であって、
撮像手段を含む3Dモデリングシステムが、複数のフレームの深度画像の画素を含む第1の深度データを取得することと、
走査手段を含む前記3Dモデリングシステムが、複数のフレームの画像の深度データ点を含む第2の深度データを取得することと、
前記3Dモデリングシステムが、複数の色画像の画素を含む前記シーンの色データを受信することと、
前記3Dモデリングシステムが、前記色データ、前記第1の深度データ、前記第2の深度データに基づいて、前記シーンの3Dモデルを生成することと、
前記シーンの3Dモデルを表示させることと、含む方法。
【請求項2】
前記第1の深度データにおける前記深度画像の各々は第1のデータであり、前記第2の深度データにおける画像フレームの各々は第2のデータであり、
前記方法は、さらに、
複数のデータペアを決定し、前記複数のデータペアの各々が、前記第1のデータおよび対応する前記第2のデータを含み、前記第1のデータおよび対応する前記第2のデータが同様の目標オブジェクトを含むことと、
前記複数のデータペアに基づいて、前記第1の深度データと前記第2の深度データとの間の位置関係を決定することと、を更に含む
請求項1に記載の方法。
【請求項3】
前記第1のデータの各々には、前記撮像手段の姿勢情報を示す第1の外部パラメータが付けされ、前記第2のデータの各々には、前記走査手段の姿勢情報を示す第2の外部パラメータが付けされ、前記複数のデータペアを決定することは、
前記第1の外部パラメータに基づいて、前記第1のデータに関連する第1の姿勢を決定することと、
前記第2の外部パラメータに基づいて、前記第2のデータに関連する第2の姿勢を決定することと、
前記第1の姿勢および前記第2の姿勢が同様であることに応じて、前記第1のデータおよび前記第2のデータを含むデータペアを決定することと、を含む、
請求項2に記載の方法。
【請求項4】
前記第1の外部パラメータおよび前記第2の外部パラメータは、前記3Dモデリングシステムにおける同じ姿勢センサから出力される、
請求項3に記載の方法。
【請求項5】
前記第1のデータの各々には、前記撮像手段により前記第1のデータが取得された定時を示す第1のタイムスタンプが付けされ、前記第2のデータの各々には、前記走査手段により前記第2のデータが取得された定時を示す第2のタイムスタンプが付けされ、前記データペアにおける前記第1のデータと対応する前記第2のデータは、閾値よりも小さい時間間隔を有する、
請求項2に記載の方法。
【請求項6】
前記データペアにおける前記第1のデータおよび対応する前記第2のデータは、1つ以上の同様のオブジェクトで識別される、
請求項2に記載の方法。
【請求項7】
深度閾値を決定することと、
前記1つ以上のデータ点の深度値が前記深度閾値よりも大きいことに応じて、前記第1の深度データにおける前記1つ以上のデータ点を削除することと、を更に含む、
請求項1に記載の方法。
【請求項8】
生成された前記シーンの3Dモデルにおいて、解像度閾値未満の1つ以上の画像領域を識別することと、
前記撮像手段を含む前記3Dモデリングシステムが、複数の深度画像の画素を含む第1の充填データを取得することと、
生成された前記シーンの3Dモデルに、前記第1の充填データを補充して、新たなシーンの3Dモデルを生成することと、更に含む、
請求項1に記載の方法。
【請求項9】
生成された前記シーンの3Dモデルにおいて、十分な前記深度データ点を持たない1つ以上の画像領域を識別することと、
前記走査手段を含む前記3Dモデリングシステムが、複数の画像フレームの深度データ点を含む第2の充填データを取得することと、
生成された前記シーンの3Dモデルに、第2の充填データを補充して、新たなシーンの3Dモデルを生成することと、さらに含む、
請求項1に記載の方法。
【請求項10】
前記撮像手段は、第1のフレームレートで前記複数の深度画像を取得し、前記走査手段は、第2のフレームレートで前記複数の画像フレームを取得する、
請求項1に記載の方法。
【請求項11】
前記3Dモデリングシステムは、取得された前記深度データに基づいて、前記シーンの3Dモデルをリアルタイムで表示するディスプレイを含む、
請求項1に記載の方法。
【請求項12】
シーンの3Dモデルを生成するためのシステムであって、
複数のフレームの深度画像の画素を含む第1の深度データを取得するように構成される撮像手段と、
複数の画像フレームの深度データ点を含む第2の深度データを取得するように構成される走査手段と、
前記撮像手段からの第1の深度データ、前記走査手段からの第2の深度データ、複数の色画像の画素を含む色データを取得し、前記色データ、前記第1の深度データ、前記第2の深度データに基づいて、前記シーンの3Dモデルを生成し、生成された前記シーンの3Dモデルを出力するように構成される1つ以上のプロセッサと、
を含むシステム。
【請求項13】
前記第1の深度データにおける前記深度画像の各々は、第1のデータであり、前記第2の深度データにおける画像フレームの各々は、第2のデータであり、
前記1つ以上のプロセッサは、さらに、
複数のデータペアを決定し、前記複数のデータペアの各々は、前記第1のデータおよび対応する前記第2のデータを含み、前記第1のデータおよび対応する前記第2のデータは、同様の目標オブジェクトを含み、
前記複数のデータペアに基づいて、前記第1の深度データと前記第2の深度データとの間の位置関係を決定するように構成される、
請求項12に記載のシステム。
【請求項14】
前記システムは、さらに、前記3Dモデリングシステムにおける前記撮像手段および前記走査手段の姿勢情報を示す外部パラメータを出力するように構成される1つ以上の姿勢センサを含み、
前記第1のデータの各々には、前記撮像手段の姿勢情報を示す第1の外部パラメータが付けされ、前記第2のデータの各々には、前記走査手段の姿勢情報を示す第2の外部パラメータが付けされ、
前記1つ以上のプロセッサは、さらに、
前記第1の外部パラメータに基づいて、前記第1のデータに関連する第1の姿勢を決定し、
前記第2の外部パラメータに基づいて、前記第2のデータに関連する第2の姿勢を決定し、
前記第1の姿勢と前記第2の姿勢が同様であることに応じて、前記第1のデータと前記第2のデータを含むデータペアを決定するように構成される、
請求項13に記載のシステム。
【請求項15】
前記第1のデータの各々には、前記撮像手段により前記第1のデータが取得された定時を示す第1のタイムスタンプが付けされ、前記第2のデータの各々には、前記走査手段により前記第2のデータが取得された定時を示す第2のタイムスタンプが付けされ、
前記データペアにおける前記第1のデータと対応する前記第2のデータは、閾値よりも小さい時間間隔を有する、
請求項13に記載のシステム。
【請求項16】
前記データペアにおける前記第1のデータおよび対応する前記第2のデータは、1つ以上の同様のオブジェクトで識別される、
請求項13に記載のシステム。
【請求項17】
前記1つ以上のプロセッサは、さらに、
深度閾値を決定し、
前記1つ以上のデータ点の深度値が前記深度閾値よりも大きいことに応じて、前記第1の深度データにおける前記1つ以上のデータ点を削除するように構成される、
請求項16に記載のシステム。
【請求項18】
前記1つ以上のプロセッサは、さらに、
生成された前記シーンの3Dモデルにおいて、解像度閾値未満の1つ以上の画像領域を識別し、
前記撮像手段から複数の深度画像の画素を含む第1の充填データを受信し、
生成された前記シーンの3Dモデルに前記第1の充填データを補充して、新たなシーンの3Dモデルを生成するように構成される、
請求項16に記載のシステム。
【請求項19】
前記1つ以上のプロセッサは、さらに、
生成された前記シーンの3Dモデルにおいて、十分な深度データ点を持たない1つ以上の画像領域を識別し、
前記走査手段から複数の画像フレームの深度データ点を含む第2の充填データを受信し、
生成された前記シーンの3Dモデルに前記第2の充填データを補充して、新たなシーンの3Dモデルを生成するように構成される、
請求項13に記載のシステム。
【請求項20】
コンピュータ実行可能命令が記憶されている非揮発性なコンピュータ可読媒体であって、
前記コンピュータ実行可能命令は、1つ以上のプロセッサによって実行されると、
請求項1~11のいずれか一項に記載の方法を前記1つ以上のプロセッサに実行させる、
コンピュータ可読媒体。
【請求項21】
撮像デバイス、走査デバイス、及び一つ以上のプロセッサを有する3Dモデリングシステムによって実行するためのコンピュータプログラムであって、
前記コンピュータプログラムは、前記一つ以上のプロセッサによって実行されると、前記3Dモデリングシステムに、請求項1~11のいずれか一項に記載の方法を実行させる、
コンピュータプログラム。
【国際調査報告】