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

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

▶ アルテック・ヨーロッパ・ソシエテ・ア・レスポンサビリテ・リミテの特許一覧

特許7560582データ収集フィードバックを伴う3次元スキャナ
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-24
(45)【発行日】2024-10-02
(54)【発明の名称】データ収集フィードバックを伴う3次元スキャナ
(51)【国際特許分類】
   G06T 17/00 20060101AFI20240925BHJP
   G06F 3/0481 20220101ALI20240925BHJP
   G06T 7/521 20170101ALI20240925BHJP
【FI】
G06T17/00
G06F3/0481
G06T7/521
【請求項の数】 9
(21)【出願番号】P 2023010591
(22)【出願日】2023-01-27
(62)【分割の表示】P 2021515533の分割
【原出願日】2019-08-29
(65)【公開番号】P2023052670
(43)【公開日】2023-04-11
【審査請求日】2023-02-09
(31)【優先権主張番号】62/733,588
(32)【優先日】2018-09-19
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】515121542
【氏名又は名称】アルテック・ヨーロッパ・ソシエテ・ア・レスポンサビリテ・リミテ
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100161908
【弁理士】
【氏名又は名称】藤木 依子
(72)【発明者】
【氏名】シャラポフ,アレクサンドル・アレクサンドロビチ
(72)【発明者】
【氏名】スホベイ,セルゲイ・ウラジミロビチ
(72)【発明者】
【氏名】グセフ,グレブ・アレクサンドロビチ
(72)【発明者】
【氏名】ユーヒン,アルチェミ・レオニードビチ
【審査官】三沢 岳志
(56)【参考文献】
【文献】特開2009-032122(JP,A)
【文献】米国特許出願公開第2010/0231583(US,A1)
【文献】米国特許第06636255(US,B1)
【文献】上羽 優貴ほか,“効率のよい計測のためのナビゲーションを実現するタイトなボクセル領域設定に基づく3Dインタラクティブスキャニング(<特集>サービス現場・日常生活に浸透するVR/AR)”,日本バーチャルリアリティ学会論文誌,日本バーチャルリアリティ学会,2014年09月30日,第19巻、第3号,pp.339-347
(58)【調査した分野】(Int.Cl.,DB名)
G06T 17/00
G06F 3/0481
G06T 7/521
(57)【特許請求の範囲】
【請求項1】
1つまたは複数の光学センサを含む3Dスキャナにおいて、
前記1つまたは複数の光学センサを使用して、表面を有する物体をスキャニングするステップであって、前記物体の前記表面の3次元(3D)形状に対応する第1のデータを生成する、ステップと、
前記物体の前記表面の複数の部分の各々に対して、前記第1のデータの数量が、前記物体の前記表面の前記部分の前記3D形状を、あらかじめ規定された正確度まで再構築するために必要とされるデータの数量に対応する、あらかじめ規定されたしきい値を満たすかどうかを決定するステップと、
前記物体の前記表面の複数の部分の各々に対して、前記第1のデータの数量が、前記物体の前記表面の前記部分の前記3D形状を、あらかじめ規定された正確度まで再構築するために必要とされるデータの数量に対応する、あらかじめ規定されたしきい値を満たすかどうかを決定する前記ステップの後に、前記1つまたは複数の光学センサを使用して、前記物体をさらにスキャニングするステップであって、前記物体の前記表面の前記3D形状に対応する第2のデータを生成する、ステップと、
前記第2のデータの少なくとも一部分を破棄するステップであって、前記第2のデータの前記破棄される一部分は、前記第1のデータの前記数量が、前記あらかじめ規定されたしきい値を満たした、前記物体の前記表面のそれぞれの部分に対応する、ステップと
を含む、方法。
【請求項2】
前記3Dスキャナは、ディスプレイと通信し、
前記方法は、
前記第1のデータを使用して、前記物体の前記表面の前記形状の3D再構築を生成するステップと、
前記ディスプレイに、前記物体の前記表面の前記形状の前記3D再構築のプレビューを提供するステップと、
前記ディスプレイに、前記物体の前記表面の前記形状の前記3D再構築の前記プレビューによるレンダリングのために、前記物体の前記表面の前記形状に対応する前記第1のデータの数量の表示度数を提供するステップであって、前記表示度数は、前記第1のデータの数量が前記あらかじめ規定されたしきい値を満たすかどうかを示す、ステップと、
を含む、請求項1に記載の方法
【請求項3】
前記第1のデータの数量の前記表示度数は、前記物体の前記表面の前記形状の前記3D再構築の前記プレビューの一部として表示される、請求項2に記載の方法。
【請求項4】
前記第2のデータを使用するステップをさらに含み、
前記物体の前記表面の前記形状の前記3D再構築の前記プレビューを更新し、
前記物体の前記表面の前記形状に対応する前記第1のデータの数量および前記第2のデータの数量の前記表示度数を更新する、請求項2に記載の方法。
【請求項5】
前記ディスプレイに、前記物体の前記表面の別個の部分に対応するデータの数量の複数の別個のしるしを提供するステップをさらに含む、請求項2に記載の方法。
【請求項6】
前記3Dスキャナは、前記物体の前記表面の前記形状の前記3D再構築を生成するためのプロセッサを含む、請求項に記載の方法。
【請求項7】
前記1つまたは複数の光学センサは、カメラを含み、
前記物体をスキャニングするステップは、
光の空間的パターンを前記物体の前記表面上へと投射するステップと、
前記光の空間的パターンが前記物体の前記表面上へと投射される間、前記カメラを使用して、前記物体の前記表面の画像を獲得するステップと
の動作を繰返し実行するステップを含む、
請求項1に記載の方法。
【請求項8】
前記3Dスキャナは、ディスプレイを含む、請求項1に記載の方法。
【請求項9】
前記3Dスキャナは、可搬型ハンドヘルド3Dスキャナである、請求項1に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般的には3次元スキャナに、および、より詳しくは、データ収集フィードバックを伴う3次元スキャナに関係する。
【背景技術】
【0002】
3次元(3D)スキャナは、物理的物体の表面の3Dモデルを作り上げるデバイスである。3次元スキャナは、工業デザインおよび製造、コンピュータ化されたアニメーション、科学、教育、医学、芸術、設計、ならびに他のものを含む、多くの分野にわたる用途を有する。
【発明の概要】
【0003】
一部の状況において、3Dスキャナがハンドヘルドであることが有益である。例えば、ハンドヘルド3Dスキャナは、考古学の現場作業に革命を起こす潜在的可能性を有する。世界の遠隔の辺境の地において発見された、壊れやすい考古学の標本の構造を研究することの課業を考える。ハンドヘルド3Dスキャナがなければ、標本は、現場において発掘され、梱包され、でこぼこの地形地域を越えて輸送され、研究所において研究されることを必要とすることになる。この過程は、労力を要し、時間を消費し、標本を損傷する危険を冒す。ハンドヘルド3Dスキャナがあれば、物体の形状は、現場においてスキャニングされ得るものであり、そのことは、これらの問題を低減し、または消失させる。
【0004】
考古学は、ほんの1つの例である。研究所または工業的環境でなくとも、物体の3Dモデルを取得することができることが有益である、多くの他の局面が存する。別の例として、各々の米国大統領の公式の胸像を制作依頼することが伝統的である。以前の大統領は、その胸像を、石膏を使用してとらせており、そのことは、大統領に、石膏の薄い層が彼の顔の上で乾く間、彼の鼻孔内のストローを通して呼吸することを要求した。対照的に、バラク・オバマの胸像に対するデータ捕捉は、1対の3Dスキャナを使用して数分内に完了された。
【0005】
しかしながら、いくらかの問題が、依然として実在する。例えば、3Dスキャナに関する1つの問題は、ユーザが、良質の3D再構築を取得するのに足りるほどのデータをそのユーザが収集したかどうかをリアルタイムで知ることが困難であるということである。ユーザは、例えば考古学の環境から数千キロメートル(数千マイル)であり得る研究所に帰るものの、データが空白部を有するということ、および、表面の完全な形での3Dモデルは再構築され得ないということに気付くだけのことになることがある。結果として、3Dスキャナを正しく使用するようにユーザを訓練することは、しばしば相当量の時間を要し、そのことは、現在利用可能な3Dスキャナの適用可能性を制限する。
【0006】
3Dスキャナと関連付けられる、上記の欠陥、および、他の問題は、開示されるデバイスおよび方法により対処される。一部の実施形態において、デバイスは、3Dスキャナである。一部の実施形態において、デバイスは、可搬型3Dスキャナである。一部の実施形態において、デバイスは、ハンドヘルド3Dスキャナである。一部の実施形態において、デバイスは、獲得されるデータ(例えば、3Dデータ)の品質または数量を指示する(例えば、物体をスキャニングする間の)フィードバックを提供するディスプレイを有する。一部の実施形態において、デバイスは、タッチセンシティブディスプレイ(さらには「タッチスクリーン」または「タッチスクリーンディスプレイ」として知られている)を有する。一部の実施形態において、デバイスは、グラフィカルユーザインターフェイス(GUI)と、1つまたは複数のプロセッサと、メモリと、複数個の機能を遂行するためにメモ
リ内に記憶される1つまたは複数の、モジュール、プログラム、または、命令のセットとを有する。これらの機能を遂行するための実行可能命令は、任意選択で、1つまたは複数のプロセッサによる実行に対して構成される、非一時的コンピュータ可読記憶媒体、または、他のコンピュータプログラム製品内に含まれる。
【0007】
一部の実施形態によれば、方法が、ディスプレイと通信している3次元(3D)スキャナにおいて遂行される。3Dスキャナは、1つまたは複数の光学センサを含む。方法は、1つまたは複数の光学センサを使用して、表面を有する物体をスキャニングするステップであって、物体の表面の少なくとも一部分の3D形状に対応するデータを生成する、スキャニングするステップを含む。方法は、データを使用して、物体の表面の形状の少なくとも一部分の3D再構築を生成するステップをさらに含む。方法は、ディスプレイに、物体の表面の形状の少なくとも一部分の3D再構築のプレビューを提供するステップをさらに含む。方法は、ディスプレイに、物体の表面の形状の少なくとも一部分の3D再構築のプレビューによるレンダリングのために、物体の表面の少なくとも一部分の3D形状に対応するデータの数量または品質のうちの少なくとも1つの表示度数を提供するステップをさらに含む。
【0008】
一部の実施形態によれば、3次元(3D)スキャナが、ハウジングと、ハウジング内に納められる1つまたは複数のレーザと、ハウジング内に納められる1つまたは複数の光学センサと、ハウジング内に納められる1つまたは複数のプロセッサとを含む。1つまたは複数のプロセッサは、1つまたは複数のレーザ、および、1つまたは複数の光学センサと通信している。3Dスキャナは、1つまたは複数のプロセッサにより実行されるときに、3Dスキャナが、物体の表面の少なくとも一部分の3D形状に対応するデータを生成することを、1つまたは複数のレーザを使用して、構造化光を物体の表面に向けて投射することと、構造化光を物体の表面に向けて投射する間、1つまたは複数の光学センサを使用して、物体の表面の画像を獲得することとの動作を繰返し遂行することにより行うことを引き起こす、命令を記憶するメモリをさらに含む。
【0009】
一部の実施形態によれば、3次元(3D)スキャナが、1つまたは複数の光源と、1つまたは複数の光学センサと、1つまたは複数の光源、および、1つまたは複数の光学センサと通信している、複数のプロセッサと、メモリとを含む。メモリは、複数のプロセッサにより実行されるときに、3Dスキャナが、物体の表面の少なくとも一部分の3D形状に対応するデータを生成することを、1つまたは複数の光源を使用して、構造化光を物体の表面に向けて投射することと、構造化光を物体の表面に向けて投射する間、1つまたは複数の光学センサを使用して、物体の表面の画像を獲得することとの動作を繰返し遂行することにより行うことを引き起こす、命令を記憶する。3Dスキャナは、1つまたは複数の光源、1つまたは複数の光学センサ、および、複数のプロセッサと熱的に結合される単一の片の金属を備える冷却マニホールドを含む。
【0010】
一部の実施形態によれば、方法が、1つまたは複数の光学センサを含む3Dスキャナにおいて遂行される。方法は、1つまたは複数の光学センサを使用して、表面を有する物体をスキャニングするステップを含む。スキャニングするステップは、物体の表面の3次元(3D)形状に対応する第1のデータを生成する。方法は、物体の表面の複数のそれぞれの一部分の各々に対して、第1のデータの数量または品質が、物体の表面の一部分の形状を、あらかじめ規定された正確度まで再構築するために必要とされるデータの数量または品質に対応する、あらかじめ規定されたしきい値を満たすかどうかを決定するステップをさらに含む。方法は、物体の表面の複数の一部分の各々のそれぞれの一部分に対して、第1のデータの数量または品質が、物体の表面の一部分の形状を、あらかじめ規定された正確度まで再構築するために必要とされるデータの数量または品質に対応する、あらかじめ規定されたしきい値を満たすかどうかを決定するステップの後に、1つまたは複数の光学
センサを使用して、物体をさらにスキャニングするステップをさらに含む。さらにスキャニングするステップは、物体の表面の3次元形状に対応する第2のデータを生成する。方法は、第2のデータの少なくとも一部分を破棄するステップであって、第2のデータの破棄された一部分は、第1のデータの数量または品質が、あらかじめ規定されたしきい値を満たした、物体の表面のそれぞれの一部分に対応する、破棄するステップをさらに含む。
【0011】
一部の実施形態によれば、3Dスキャナが、1つまたは複数の光源と、1つまたは複数の光学センサと、任意選択でディスプレイと、1つまたは複数のプロセッサと、1つまたは複数のプログラムを記憶するメモリとを含み、1つまたは複数のプログラムは、1つまたは複数のプロセッサにより実行されるように構成され、1つまたは複数のプログラムは、本明細書において説明される方法の任意のものの動作を遂行する、または、それらの動作の遂行を引き起こすための命令を含む。一部の実施形態によれば、コンピュータ可読記憶媒体が、1つまたは複数の光源と、1つまたは複数の光学センサと、任意選択でディスプレイと、1つまたは複数のプロセッサとを伴う3Dスキャナにより実行されるときに、3Dスキャナが、本明細書において説明される方法の任意のものの動作を遂行する、または、それらの動作の遂行を引き起こす、命令を、その媒体内に記憶している。一部の実施形態によれば、1つまたは複数の光源と、1つまたは複数の光学センサと、任意選択でディスプレイと、1つまたは複数のプロセッサと、1つまたは複数のプログラムを記憶するメモリとを伴う3Dスキャナ上のグラフィカルユーザインターフェイスが、本明細書において説明される方法の任意のものにおいて説明されるように、入力に応答して更新される、本明細書において説明される方法の任意のものにおいて表示される要素のうちの1つまたは複数を含む。一部の実施形態によれば、電子デバイスが、1つまたは複数の光源と、1つまたは複数の光学センサと、任意選択でディスプレイと、本明細書において説明される方法の任意のものの動作を遂行する、または、それらの動作の遂行を引き起こすための手段とを含む。
【0012】
かくして、3Dスキャナが、3Dスキャニングデータ獲得の間のデータ収集フィードバックのための改善された方法およびインターフェイスを伴って提供され、そのことにより、そのようなデバイスに関する有効性、効率、およびユーザ満足度を増大する。
【図面の簡単な説明】
【0013】
様々に説明される実施形態の、より良好な理解のために、類する参照番号が図の全体を通して対応する部分を指す、後に続く図面と連関して、下記の実施形態の説明に対して参照が為されるべきである。
図1A】一部の実施形態による3Dスキャナの様々な視図を例示する図である。
図1B】一部の実施形態による3Dスキャナの様々な視図を例示する図である。
図2】一部の実施形態による、3Dデータが獲得されている間に遂行される、3Dスキャナからの3Dデータを分析するための方法のフローチャートである。
図3】一部の実施形態による3Dスキャナのブロック線図である。
図4A】一部の実施形態による、3Dスキャナ上で3Dデータ収集フィードバックを提供するための例ユーザインターフェイスを例示する図である。
図4B】一部の実施形態による、3Dスキャナ上で3Dデータ収集フィードバックを提供するための例ユーザインターフェイスを例示する図である。
図4C】一部の実施形態による、3Dスキャナ上で3Dデータ収集フィードバックを提供するための例ユーザインターフェイスを例示する図である。
図4D】一部の実施形態による、3Dスキャナ上で3Dデータ収集フィードバックを提供するための例ユーザインターフェイスを例示する図である。
図4E】一部の実施形態による、3Dスキャナ上で3Dデータ収集フィードバックを提供するための例ユーザインターフェイスを例示する図である。
図4F】一部の実施形態による、3Dスキャナ上で3Dデータ収集フィードバックを提供するための例ユーザインターフェイスを例示する図である。
図5】一部の実施形態による、冷却マニホールドを含む3Dスキャナの断面を例示する機械的図面の図である。
図6A】一部の実施形態による、3Dスキャナからの3Dデータ収集フィードバックを提供するための方法のフローチャートを例示する図である。
図6B】一部の実施形態による、3Dスキャナからの3Dデータ収集フィードバックを提供するための方法のフローチャートを例示する図である。
図7】一部の実施形態による、3Dスキャナからのデータを獲得および記憶する方法のフロー線図を例示する図である。
【発明を実施するための形態】
【0014】
下記で説明されるように、一部の実施形態は、データ収集フィードバックを提供する3Dスキャナを提供する。一部の実施形態において、ユーザが、物体をスキャニングして、データを収集する間、3Dスキャナは、(例えば、3Dスキャナ上の内蔵ディスプレイ上に)物体の3D再構築のプレビュー、および、データの品質または数量の表示度数を表示する。3D再構築のプレビュー、および、データの数量または品質の表示度数は、ユーザがより多くのデータを獲得する際に、リアルタイムで継続的に更新される。一部の実施形態において、データの品質または数量の表示度数は、物体の3D再構築上にかぶせられる。例えば、物体の3D再構築は、表面として現れ、表面の色が、データの数量または品質を表す。ユーザは、かくして、ディスプレイ上で、データにおいて相違が存する場合に確認することができる。例えば、物体の一部分に対してデータが全く存しないとき、一部の実施形態において、3D再構築のプレビューは、物体のその区域に対して表面を全く示さない。物体の一部分に対して何らかの、ただし、物体のその一部分の妥当な再構築を形成するのに足りるほどではないデータが存するとき、物体のその一部分の3D再構築は、赤でレンダリングされる。かくして、ユーザは、物体のプレビューが、物体の3Dモデルを完全な形で再構築するのに十分な数量または品質のデータによって完全に埋められるまで、データを獲得することを継続することができる。一部の実施形態において、物体の3Dモデルを完全な形で再構築するためのデータの数量または品質の十分性は、異なる色により指示される。一部の実施形態において、異なる色は緑である。
【0015】
かくして、ユーザは、いつそのユーザが足りるほどのデータを収集したかを決定することができるだけでなく、さらには、物体のどの一部分がより多くのデータ収集を要するかを決定することもできる。後者の特徴は、ユーザが、スキャニングを、より多くのデータを要する物体の一部分に集中させることを可能とする。開示される実施形態と比較して、3Dスキャニングの、以前のシステムおよび方法は、ユーザに、いつ足りるほどのデータが収集されたかを知るのに十分なフィードバックを有することなしに、データを収集することを要求した。結果として、無難であるために、ユーザは、過剰な量のデータを獲得することになり、そのことは、スキャナのメモリの過剰な使用、および、スキャナの中での熱の生み出しを結果的に生じさせた。過剰なメモリ使用、および、熱の生み出しの問題は、真に自己完結型のハンドヘルド3Dスキャナ(例えば、少なくとも初期の3D再構築を生成する能力があるもの)を生み出すことを困難にしたものであり、なぜならば、メモリタスク、および、熱を生み出すタスクは、普通は有線接続の手段により、外部コンピュータに委託されることになるからである。かくして、開示される実施形態は、データの効率的な収集を手助けすることにより3Dスキャナを改善し、そのことは今度は、より小さいサイズの3Dスキャナ、および、それらの3Dスキャナの可搬性を手助けする。
【0016】
さらに、本開示の一部の実施形態は、クラス1レーザとして動作する(例えば、通常の使用のすべての条件のもとで安全な)レーザを伴う、屋外昼光条件において動作する(例えば、物体の3D形状を再構築するのに十分な信号対ノイズ比を取得する)能力があるハンドヘルド3Dスキャナを提供する。レーザがクラス1範囲において動作するということ
を保証するための通常の手法は、光がハウジングを抜け出る時間までに、光が、クラス1と考えられるのに足りるほど減衰させられるように、レーザを大きいハウジング内に納めることである。この手法は、ハンドヘルドスキャナに対しては具合よく働かず、なぜならば、ハンドヘルドスキャナは、相対的に小さいサイズ(例えば、30cm×30cm×30cm未満)を有さなければならないからである。本開示の一部の実施形態は、レーザ光が、レーザからの相対的に小さい距離(例えば、25cm)でクラス1であるように、パルス幅、ピークパワー、繰返し率、および/またはデューティサイクルの適した選定によって、それらの実施形態の光源をクラス1として動作させる。
【0017】
さらに、3Dデータが取得される手立て(例えば、光を相当に強力な光源からストロボによって生み出すこと、ならびに、毎秒多くの画像を収集および処理すること)のために、熱の生み出しおよび除去は、リアルタイムで物体の3D再構築をプレビューする能力があるハンドヘルド3Dスキャナを設計することにおいて、最も大変な難題のうちの1つである。相対的に冷たい温度を維持することが重要である一方で、一貫性のある温度を(空間的にだけでなく、時間的にも)維持することが、少なくとも等しく重要である。その目的のために、一部の実施形態は、スキャナの光源、光学センサ、およびプロセッサと熱的に結合される単一の片の金属を備える冷却マニホールドを設ける。冷却マニホールドは、スキャナの主な熱生成構成要素の間の熱的接続性をもたらすことにより、スキャナの様々な構成要素を、一貫性のある、および安定した温度において維持する。かくして、冷却マニホールドは、スキャナが安定した温度に達するために必要とされる「ウォームアップ」時間を低減し、より大である処理パワーを可能とし、スキャナがデータを収集することができる時間の量を増大する。
【0018】
3Dスキャナを設計することにおいてのさらなる難題は、3Dスキャナが、スキャンの間に莫大な量のデータを生み出すということである。一部の実施形態は、十分なデータがすでに収集された、スキャニングされている物体の領域を識別することにより、3Dスキャナからのデータを記憶することのプロセスを改善する。これらの実施形態は、次いで、スキャンが継続する際に、それらの領域に対して収集されたデータの一部またはすべてを破棄する。かくして、これらの実施形態は、物体をスキャニングする間に収集されるデータの全体の量を低減し、そのことは、デバイスに対して必要とされる記憶域の量を低減すること、または代替的には、デバイスの記憶域が、それが最も必要とされる場合に使用されることを可能とすることにより、デバイスを改善し、そのことが、より高い良質の3D再構築を結果的に生じさせる。
【0019】
実施形態に対して参照が今から為されることになり、それらの実施形態の例は、付随する図面において例示される。後に続く説明において、数多くの具体的な詳細が、様々な説明される実施形態の徹底した理解をもたらすために論述される。しかしながら、様々な説明される実施形態は、これらの具体的な詳細なしに実践され得るということが、当業者には明らかであることになる。他の実例において、よく知られている方法、手順、構成要素、回路、およびネットワークは、実施形態の発明性のある態様を不必要に不明瞭にしないように、詳細には説明されていない。
【0020】
図1A~1Bは、一部の実施形態による3Dスキャナ100の様々な視図を例示する。スキャナ100は、本体ハウジング102と、取っ手108と、バッテリハウジング110(例えば、バッテリを内包する)とを含む。一部の実施形態において、3Dスキャナ100は、可搬型ハンドヘルドスキャナである。そのために、一部の実施形態において、3Dスキャナ100は、30cm×30cm×30cm未満の寸法を有する(例えば、30cm×30cm×30cmの寸法を伴う箱の内側に嵌まる)。一部の実施形態において、3Dスキャナ100は、片手で人により持ち運ばれるのに十分に軽い(例えば、3Dスキャナ100は、約2.5kgの重さがある)。
【0021】
一部の実施形態において、本体ハウジング102は、取っ手108から分離され得る。一部の実施形態において、本体ハウジング102は、取り付け点112(例えば、取り付け点112-aないし取り付け点112-c)によって、別々の装置(例えば、ロボットのモータを付けられたスキャニングアーム)に(例えば、取っ手108およびバッテリハウジング110を伴わずに)取り付けられ得る。かくして、3Dスキャナ100は、ハンドヘルドスキャナから、工業用または研究所スキャナに変換され得る。
【0022】
一部の実施形態において、3Dスキャナ100は、光の空間的パターン(本明細書において「構造化光」と呼称される)を物体の表面上へと投射することと、光の空間的パターンが物体の表面上へと投射される間、光学センサ(例えば、カメラ)を使用して、物体の表面の画像を獲得することとにより、物体の3Dモデルを生成する。そのために、本体ハウジング102は、1つまたは複数の内部光源(例えば、垂直共振器面発光レーザ(VCSEL)506、図5)、および、源光学部品104を収容する。1つまたは複数の内部光源は、個別の周波数において、本体ハウジング102の内部の空間的にパターン化されたスライド(例えば、スライド516、図5)を通して、源光学部品104を通して、物体の表面上へと、光をストロボによって投射する(例えば、パルス光を投射する)。物体の表面上へと投射される構造化光の画像は、本体ハウジング102により収容されるカメラ光学部品106を通して獲得される。1つまたは複数のカメラ/センサ(例えば、電荷結合デバイス(CCD)検出器502、図5)が、物体の表面上へと投射される構造化光の画像を記録する。物体の表面の形状の3Dモデルは、ここにその全体において参照により組み込まれている、「System and Method for Three-Dimensional Measurement of the Shape of Material Objects(材料対象物の形状の三次元測定のための装置および方法)」と表題を付けられた、米国特許第7,768,656号において、より詳細に説明されているように、物体の表面上へと投射される光のパターンにおいての歪み(すなわち、どこで歪みが、物体の表面の形状により引き起こされるか)により決定され得る。
【0023】
一部の実施形態において、内部光源は、レーザである。一部の実施形態において、内部光源は、垂直共振器面発光レーザ(VCSEL)である。一部の実施形態において、3Dスキャナ100は、クラス1光源として動作し、そのことは、レーザが、本体ハウジング102の外側のあらゆる所でクラス1(すなわち、本開示の出願日の時点で、連邦規則集(CFR)第21巻第1040条により定義されるような)と考えられるということを意味する。
【0024】
一部の実施形態において、スキャナ100は、屋外昼光条件において獲得される画像が、(例えば、少なくとも0.1mm、0.2mm、0.3mm、0.4mm、もしくは0.5mmの正確度を伴う、または代替的には、0.25mm、0.5mm、0.75mm、もしくは1mmの分解能を伴う)物体の少なくとも一部分の3D形状を再構築するのに十分な信号対ノイズ比を有するように、物体の表面の十分な照明を提供するということに留意されたい。レーザがクラス1範囲において動作するということを保証するための通常の手法は、光がハウジングを抜け出る時間までに、光が、クラス1と考えられるのに足りるほど減衰させられるように、レーザを大きいハウジング内に納めることである。この手法は、ハンドヘルドスキャナに対しては具合よく働かず、なぜならば、ハンドヘルドスキャナは、相対的に小さいサイズ(例えば、30cm×30cm×30cm未満)を有さなければならないからである。本開示の一部の実施形態は、パルス幅、ピークパワー、繰返し率、および/またはデューティサイクルの適した選定によって、本体ハウジング102内に納められる光源をクラス1として動作させて、スキャナ100が、ハンドヘルドであり、安全であり、通常の昼光条件において(例えば、120,000ルクス、100,000ルクス、20,000ルクス、2,000ルクス、または1,000ルクスにおいて
)動作可能であることを可能とする。このことは、さらには、スキャナ100が、相対的に短い最小作動距離(例えば、35mm以下である最小作動距離)を有することを可能とする。
【0025】
加えて、構造化光データからの信号対ノイズを増大するために、および、テクスチャ(例えば、色)データから構造化光データを区別するために、一部の実施形態において、上記で説明されたVCSELレーザは、可視スペクトルの外側の周波数(例えば、赤外(IR)周波数)において動作させられる。そのような実施形態において、本体ハウジング102は、カメラレンズ(例えば、カメラ光学部品106)に加えて、IR光を第1の光学センサ(例えば、CCD検出器502-a、図5)に、および、可視光を第2の光学センサ(例えば、CCD検出器502-b、図5)に方向設定する、IR/可視ビーム分割器を納める。一部の実施形態において、第1の光学センサからのデータは、ストロボの周波数においてのデータが、他の周波数においての情報に優先的に検出されるように、1つまたは複数の内部光源からのストロボの光と同期して検出される。このことは、例えば、光を生み出す1つまたは複数の光源と同期してデータを収集するために、同期復調を使用して、または、第1の光学センサをゲーティングすることにより行われ得る。
【0026】
一部の実施形態において、本体ハウジング102内に納められる第2の光学センサ(例えば、CCD検出器502-b、図5)は、テクスチャデータ(例えば、色データ)を獲得する。一部の実施形態において、テクスチャデータは、カラーで3D再構築をレンダリングするために(例えば、色が、下記で説明されるような、データの数量または品質に関するフィードバックを提供するために使用されないとき)だけでなく、その上、(例えば、画像分析および位置合わせによって)スキャナ100の位置および/または回転を追跡するためにも使用され、そのことは、今度は、(例えば、図3を参照して下記で説明されるように)物体に関して異なる位置においてスキャナ100によりとられる構造化光データ(例えば、3D形状データ)を位置合わせする(例えば、アライメントする)ために使用される。
【0027】
本体ハウジング102は、さらには、スキャナ100の運動を追跡する、1つまたは複数の運動センサを納める。1つまたは複数の運動センサは、任意選択で、スキャナ100の位置および/または回転を測定するために、3軸加速度計、3軸ジャイロスコープ、および/または3軸磁気計を含む。一部の実施形態において、1つまたは複数の運動センサは、3軸加速度計、3軸ジャイロスコープ、および3軸磁気計のすべての3つを含み、かくして、スキャナ100は6つの機械的自由度(すなわち、3つの位置的、および、3つの回転的自由度)のみを有するにもかかわらず、キュウ(9)自由度(DOF)センサと呼称される。1つまたは複数の運動センサからの、位置および/または回転データは、(例えば、カルマンフィルタの適用によって)スキャナ100の位置および/または回転を追跡するために使用され、そのことは今度は、(例えば、図3を参照して下記で説明されるように)物体に関して異なる位置においてスキャナ100によりとられる構造化光データ(例えば、3D形状データ)を位置合わせする(例えば、アライメントする)ために使用される。
【0028】
搭載型の自動処理を手助けするために(例えば、物体の少なくとも初期の3D再構築を生み出すために)、完全な形で可動型のスキャニング体験をユーザに与えるために、一部の実施形態において、本体ハウジング102は、1つもしくは複数のフィールドプログラマブルゲートアレイ、1つもしくは複数のグラフィカル処理ユニット(GPU)、および/または、1つもしくは複数のCPUを含む、複数のプロセッサを収容する。これらの構成要素、および、各々により遂行されるタスクは、図2~3を参照して、より詳細に論考される。この時点においては、本体ハウジング102は、物体の3Dモデルの少なくとも初期の再構築(例えば、物体の3Dモデルのプレビュー)を生成するのに十分な処理を内
包するということに留意することが十分である。
【0029】
本体ハウジング102は、スキャナ100に対するグラフィカルユーザインターフェイスを表示するディスプレイ114をさらに収容する。中でもとりわけ、スキャナ100が物体をスキャニングする際、スキャナ100に対するグラフィカルユーザインターフェイスは、物体の初期の3D再構築(例えば、物体の3D再構築のプレビュー)を表示する。一部の実施形態において、ディスプレイ114は、タッチセンシティブディスプレイ(時にはタッチスクリーンと呼ばれる)であり、かくして、さらには(例えば、スキャンを始める、スキャンを一時停止する、スキャンを終了する、および、スキャナ100を他の形で制御するための)ユーザ入力を受信することができる。
【0030】
図2は、一部の実施形態による、3Dデータが獲得されている間に遂行される、3Dスキャナからの3Dデータを分析するための方法200のフローチャートである。方法200は、3Dスキャナ(例えば、3Dスキャナ100、図1、3、および5)において遂行される。方法200においての一部の動作は、任意選択で組み合わされ、および/または、一部の動作の順序は、任意選択で変化させられる。解説の容易さのために、方法200は、3Dスキャナ100により遂行されているとして説明される。しかしながら、方法200は、本開示によって作り上げられる任意の3Dスキャナを使用して履行され得る。逆に、他の実施形態において、3Dスキャナ100は、本開示の教示による方法200以外の方法を遂行する。一部の実施形態において、方法200は、3Dデータが獲得されている間、リアルタイムで継続的に遂行される。一部の実施形態において、方法200は、物体の形状の3D再構築のプレビューを結果的に生じさせ、そのプレビューは、ユーザがデータを獲得している間、3Dスキャナのディスプレイ上に表示される(例えば、物体の形状の3D再構築のプレビューは、リアルタイムで継続的に生成され、スキャナ100がセンサ202から追加的なデータを獲得する際に更新する)。
【0031】
スキャナ100は、複数のセンサ202からのデータを獲得する。例えば、第1の光学センサが、テクスチャ(例えば、色)データ204-aを収集し(例えば、CCD検出器502-a、図5などの、第1のCCD検出器)、第2の光学センサが、3Dデータ204-bを収集し(例えば、CCD検出器502-b、図5などの、第2のCCD検出器)、動きセンサが、運動データ204-cを収集する(例えば、微小電気機械システム(MEMS)、ジャイロスコープまたは他の動き検出システム、および、1つまたは複数のホールセンサを使用して実現され得る9DOFセンサ)。一部の実施形態において、複数のセンサ202からのデータは、スキャンの間に同時的に取得される。本明細書において使用される際、同時的に、は、第1のセンサ202からの測定値、および、第2のセンサ202からの測定値が、(例えば、下記で説明される、追跡動作212-aおよび212-cの目的のために)同じ時間において獲得されたと考えられ得るのに足りるほど高速に相次いで、2つのセンサ202からの測定値が取得されるということを意味する。
【0032】
スキャナ100は、センサ202から獲得されるデータを基に、1つまたは複数の第1の処理動作を遂行する。一部の実施形態において、第1の処理動作は、1つまたは複数のフィールドプログラマブルゲートアレイ(FPGA)206により遂行される。簡単のために、第1の処理動作は、単一のFPGA206により遂行されているとして、本明細書において説明されるが、一部の実施形態において、動作は、複数のFPGAにわたって分割され得る。
【0033】
例えば、FPGA206は、第1の光学センサから3Dデータ204-bを受信し、物体の表面の形状を表す再構築208-bを生成する。一部の実施形態において、再構築208-bは、点の3次元配列に対するデータを内包するデータ構造である(例えば、再構築208-bは、物体の表面の形状のポイントクラウド再構築であり、まだメッシュでは
ない)。一部の実施形態において、FPGA206は、第1の光学センサにより獲得される各々の画像に対する再構築208-bを生成する(例えば、各々の画像が、物体の表面上に照らされ、その表面により歪められる構造化光のパターンに対応する場合)。かくして、一部の実施形態において、FPGA206は、物体の表面の形状の複数の表現を生成し、その場合、複数の表現のうちの表現は、まだ互いにアライメント(例えば、位置合わせ)されていない。
【0034】
一部の実施形態において、FPGA206は、第2の光学センサから色データ204-aを受信する。色データ204-aは、デモザイク208-aを生成するために使用される。一部の実施形態において、FPGA206は、物体の表面の複数のカラー画像を受信する。一部の実施形態において、本文書において他の所で説明されるように、3Dデータおよびカラー画像は、異なる時間において(例えば、互いに織り交ぜられて)ストロボによって取得される。
【0035】
一部の実施形態において、FPGA206は、運動データ204-cを受信し、カルマンフィルタを運動データに適用して、スキャナ100の位置および/または回転208-cを決定する。一部の実施形態において、スキャナ100の位置および/または回転208-cは、基準位置および/または回転に関して決定される。一部の実施形態において、基準位置および/または回転は、スキャンが始まったときのスキャナ100の位置および/または回転である。一部の実施形態において、基準位置および/または回転は、測定されている物体に関するものである。
【0036】
カルマンフィルタは、運動データ204-cが、ノイズが多く、誤りを内包するという想定のもとに動作する。本質的には、カルマンフィルタは、運動データ204-cを平滑化して、スキャナ100の位置および/または回転の実際の値として、未処理の測定された位置および/または回転をとるよりも正確である手立てで、スキャナ100の位置および/または回転208-cを決定する。そのために、スキャナ100の決定された位置および/または回転208-cは、センサ202により測定されるような(例えば、9DOFセンサにより測定されるような)、スキャナ100の複数の測定された位置および/または回転の関数である。位置および/または回転の新しい測定値がFPGA206により受信されるとき、位置および/または回転の新しい測定値は、スキャナ100の既存の決定された位置および/または回転208-cを完全に無効化するよりむしろ、更新するために使用される。例えば、スキャナ100の複数の既存の測定された位置および/または回転が、スキャナ100の速度(例えば、および/または角速度)を決定するために使用される。スキャナ100の速度および/または角速度は、スキャナ100の補間された位置および/または回転を決定するために使用され、その補間された位置および/または回転は、スキャナ100の決定された位置および/または回転208-cを生み出すために、新しい測定された位置および/または回転と比較考量される。一部の実施形態において、測定された位置および/または回転の重みに相対的な、補間された位置および/または回転の重みは、最新の10個の測定値のノイズの表示度数と解される、近時の測定された位置(例えば、最新の10個の測定値)の変動性に依存する。
【0037】
スキャナ100は、第1の処理動作の結果を基に、1つまたは複数の第2の処理動作を遂行する。一部の実施形態において、第2の処理動作は、1つまたは複数のグラフィカル処理ユニット210により遂行される。一部の実施形態において、グラフィカル処理ユニット(GPU)210は、FPGA206から第1の処理動作の結果を受信する。簡単のために、第2の処理動作は、単一のGPU210により遂行されているとして、本明細書において説明されるが、一部の実施形態において、動作は、複数のGPU210にわたって分割され得る。
【0038】
一部の実施形態において、GPU210は、再構築208-bの3D位置合わせ(例えば、アライメント)212-bを遂行するために使用される、2つの追跡動作(追跡動作212-aおよび212-c)を適用する。3D位置合わせ212-bは、それぞれの再構築208-b(例えば、ポイントクラウド)を共通の基準フレーム上へとシフトする。例えば、一部の実施形態において、基準の共通のフレームは、物体の表面の既存のボクセル表現212-fの基準のフレームである(例えば、再構築208-bは、既存の物体のレンダリングジオメトリ212-e上へとシフトされる)。用語、位置合わせおよびアライメントは、互換的に使用されるが、一部の実施形態において、追加的なアライメント、および、他の後処理が、任意選択で、スキャンが完了された後にオフラインで遂行されるということが理解されるべきであるということに留意されたい。
【0039】
再構築208-bおよびボクセル表現212-fは、両方が、物体の表面の形状の「3D再構築」の例であるということに留意されたい。すなわち、物体の表面の形状の3D再構築は、ポイントクラウド、ボクセル表現、または、任意の他のタイプの再構築であり得る。
【0040】
追跡動作212-aは、デモザイク208-aを分析して、デモザイクにおいての対応する特徴を識別する。対応する特徴は、次いで、第1のデモザイクと第2のデモザイクとの間で適用するための相対的シフトを決定することを、(例えば、画像アライメントおよび位置合わせを遂行することにより)第2のデモザイクとの基準の共通のフレーム上へと第1のデモザイクをシフトするように行うために使用される。第1のデモザイクと第2のデモザイクとの間の相対的シフトは、次いで、第1の再構築(例えば、第1のデモザイクに対応する、および、第1のデモザイクと実質的に同じ時間において獲得される)と、第2の再構築(例えば、第2のデモザイクに対応する、および、第2のデモザイクと実質的に同じ時間において獲得される)との間の相対的シフトを決定するために使用される。
【0041】
同様に、追跡動作212-cは、スキャナ100の決定された位置および/または回転208-cを使用して、再構築208-bの間の相対的シフトを決定する。例えば、第1の再構築(例えば、スキャナ100の第1の決定された位置および/または回転に対応する、ならびに、スキャナ100の第1の決定された位置および/または回転と実質的に同じ時間において獲得される)と、第2の再構築(例えば、スキャナ100の第2の決定された位置および/または回転に対応する、ならびに、スキャナ100の第2の決定された位置および/または回転と実質的に同じ時間において獲得される)との間の相対的シフトが決定される。
【0042】
一部の実施形態において、追跡動作212-aおよび212-cからの相対的シフトが、シフトされた再構築208-bが基準の共通のフレーム上へと配されるように、各々の再構築208-bに適用するための総体的な相対的シフトを決定するために使用される(例えば、互いに対して重み付けされる)。
【0043】
GPU210は、3D位置合わせ動作212-bにより生み出されるシフトされた再構築208-bが、(以前に獲得されたデータから生成された既存のボクセル表現であり得る)単一の融合させられたボクセル表現212-fへと合体させられる、融合動作212-dを遂行する。例えば、融合動作212-dは、シフトされた再構築の平均(または、加重平均)を生み出して、物体の表面の3D形状の融合させられたボクセル表現212-fを生成する。一部の実施形態において、融合させられたボクセル表現212-fは、(例えば、追加的に獲得された再構築208-bを、物体の表面の3D形状の融合させられたボクセル表現の基準のフレーム上へとシフトし、次いで、追加的に獲得された再構築208-bを、融合させられたボクセル表現と合体させて、更新された融合させられたボクセル表現を生み出すことにより)追加的なデータが獲得される際に、リアルタイムで更新
される。
【0044】
ボクセル表現212-fにおいての各々の点は、ボクセルと呼称され、(例えば、2次元空間の区域を表す画素とは対照的に)3次元空間の体積を表す。一部の実施形態において、ボクセル表現212-fにおいての各々のボクセルは、ボクセルが物体の表面を表すかどうかを示す値(例えば、ボクセルが物体の表面を表すならば「1」、および、ボクセルが物体の表面を表さないならば「0」)を含む。
【0045】
一部の実施形態において、融合させられたボクセル表現212-fは、さらには、各々のボクセルに対して、そのボクセルに対して収集されるデータの品質および/または数量に対応する統計的情報を記憶する。データの品質および/または数量に対応する統計的情報は、方法600を参照して下記で説明されるように、データの数量および/または品質のリアルタイム表示度数を表示するために使用される。
【0046】
一部の実施形態において、デモザイク208-aからのテクスチャ(例えば、色)が、融合させられたボクセル表現212-fに追加される。そのようにするために、デモザイク208-aからのテクスチャデータは、色統一(例えば、共通の点が、デモザイク208-aにおいて識別され、テクスチャデータが、共通の点が同じ色を有するようにシフトされる)、および色較正(例えば、デモザイク208-aのバランスおよび明るさが、デモザイク208-aにわたって較正される)を経る。統一された較正されたデモザイク情報は、次いで、テクスチャリングされた融合させられたボクセル表現を生み出すために、融合動作212-dにより生み出される融合させられたボクセル表現212-fに追加される。テクスチャリングされた融合させられたボクセル表現は、物体の3D再構築のリアルタイムプレビューとして、ディスプレイ(例えば、ディスプレイ114、図1B)上でレンダリングおよび表示される。
【0047】
図3は、一部の実施形態による3Dスキャナ100のブロック線図である。スキャナ100は、典型的には、メモリ304と、1つまたは複数のプロセッサ302と、電力供給部306と、ユーザ入出力(I/O)サブシステム308と、センサ202と、光源311と、これらの構成要素を相互接続するための通信バス310とを含む。プロセッサ302は、メモリ304内に記憶されるモジュール、プログラム、および/または命令を実行し、そのことにより、処理動作を遂行する。
【0048】
一部の実施形態において、プロセッサ302は、少なくとも1つのグラフィカル処理ユニット(例えば、GPU210、図2)を含む。一部の実施形態において、プロセッサ302は、少なくとも1つのフィールドプログラマブルゲートアレイ(例えば、FPGA206、図2)を含む。
【0049】
一部の実施形態において、メモリ304は、1つまたは複数の、プログラム(例えば、命令のセット)および/またはデータ構造を記憶する。一部の実施形態において、メモリ304、または、メモリ304の非一時的コンピュータ可読記憶媒体は、後に続くプログラム、モジュール、およびデータ構造、または、それらのサブセットもしくはスーパーセットを記憶し、それらのうちの一部は、図2を参照して上記で説明された対応する動作を遂行するための命令を含む:
・オペレーティングシステム312、
・カルマンフィルタモジュール314、
・動き追跡モジュール316、
・色追跡モジュール318、
・色統一モジュール320、
・融合モジュール324、
・色較正モジュール326、
・テクスチャリングモジュール328、ならびに、
・スキャナ100により使用および生成されるデータを記憶する、バッファ、RAM、ROM、および/または、他のメモリを含む記憶域330。
【0050】
上記の識別されたモジュール(例えば、データ構造、および/または、命令のセットを含むプログラム)は、別々のソフトウェアプログラム、プロシージャ、またはモジュールとして実現されることを必要とせず、かくして、これらのモジュールの様々なサブセットは、様々な実施形態において、組み合わされ得る、または、他の形で配置構成し直され得る。一部の実施形態において、メモリ304は、上記で識別されたモジュールのサブセットを記憶する。さらにまた、メモリ304は、上記で説明されなかった追加的なモジュールを記憶し得る。一部の実施形態において、メモリ304、または、メモリ304の非一時的コンピュータ可読記憶媒体内に記憶されるモジュールは、下記で説明される方法においてのそれぞれの動作を実現するための命令を提供する。一部の実施形態において、これらのモジュールの一部またはすべては、モジュール機能性の部分またはすべてを包摂する、特殊化されたハードウェア回路(例えば、FPGA206、図2)によって実現され得る。上記の識別された要素のうちの1つまたは複数は、プロセッサ302のうちの1つまたは複数により実行され得る。
【0051】
一部の実施形態において、I/Oサブシステム308は、スキャナ100を、1つまたは複数の遠隔デバイス336(例えば、外部ディスプレイ)などの、1つまたは複数のデバイスに、通信ネットワーク350を介して、ならびに/または、有線および/もしくはワイヤレス接続を介して、通信可能に結合する。一部の実施形態において、通信ネットワーク350は、インターネットである。一部の実施形態において、I/Oサブシステム308は、スキャナ100を、タッチセンシティブディスプレイ114などの、1つまたは複数の、統合された、または周辺のデバイスに通信可能に結合する。
【0052】
一部の実施形態において、センサ202は、3Dデータを収集する第1の光学センサ(例えば、CCD検出器502-a、図5などの、第1のCCD検出器)と、テクスチャ(例えば、色)データを収集する第2の光学センサ(例えば、CCD検出器502-b、図5などの、第2のCCD検出器)と、動きセンサ(例えば、微小電気機械システム(MEMS)、ジャイロスコープ、および、1つまたは複数のホールセンサを使用して実現され得る9DOFセンサ)とを含む。
【0053】
一部の実施形態において、光源311は、1つまたは複数のレーザを含む。一部の実施形態において、1つまたは複数のレーザは、垂直共振器面発光レーザ(VCSEL)を備える。一部の実施形態において、光源311は、さらには、可視光を生み出す発光ダイオード(LED)のアレイを含む。
【0054】
通信バス310は、任意選択で、システム構成要素の間の通信を相互接続および制御する回路網(時にはチップセットと呼ばれる)を含む。
図4A~4Fは、一部の実施形態による、3Dスキャナ(例えば、3Dスキャナ100、図1および3)上で3Dデータ収集フィードバックを提供するための例ユーザインターフェイスを例示する。一部の実施形態において、図4A~4Fにおいて示されるユーザインターフェイスは、物体のスキャンの間(例えば、スキャナ100が、図2を参照して上記で説明されたようにデータを収集する際)リアルタイムで表示および更新される。一部の実施形態において、図4A~4Fにおいて示されるユーザインターフェイスは、3Dスキャナへと統合されるディスプレイ上に表示される。一部の実施形態において、図4A~4Fにおいて示されるユーザインターフェイスは、3Dスキャナと通信している遠隔ディスプレイ上に表示される(例えば、3Dスキャナは、遠隔ディスプレイに、図4A~4F
において示されるユーザインターフェイスを表示するための情報をワイヤレスで送信する)。
【0055】
図4Aは、物体の表面の形状の少なくとも一部分の3D再構築のプレビュー400-aを表示するユーザインターフェイスを例示する。この事例において、物体は、磁器羊である。プレビュー400-aは、第1の時間においての物体の表面の形状の一部分の3D再構築を例示する(例えば、第1の時間までにスキャンの間に獲得されたデータのすべてを含む)。
【0056】
同じ番号(例えば、400)によって標示されるプレビューは、同じプレビュー(すなわち、スキャンの進行にわたって表示される単一のプレビュー)に対応するということに留意されたい。個別の時間においてのプレビューのスナップショットを指すために、文字が数字に添えられる(例えば、そのことは、プレビュー400-aに関する上記の場合のように。
【0057】
加えて、ユーザインターフェイスは、物体の表面の3D形状に対応するデータの数量または品質のうちの少なくとも1つの表示度数を表示する。例えば、データの数量または品質のうちの少なくとも1つの表示度数は、物体の表面の形状の少なくとも一部分の3D再構築のプレビュー400-aの部分として表示される(例えば、データの数量または品質のうちの少なくとも1つの表示度数は、表面の一部分のプレビュー400-aの色として表示される)。一部の実施形態において、物体の表面を表すプレビュー400においての各々のそれぞれの点(例えば、物体の表面を表す各々のボクセル)は、そのそれぞれの点(例えば、それぞれのボクセル)に対するデータの品質および/または数量の対応する表示度数を表示する。かくして、一部の実施形態において、プレビュー400は、物体の表面にわたるデータの数量および/または品質の3D視覚化をもたらす。
【0058】
図4A~4Dにおいて示される例において、データの異なる数量および/または品質を有するプレビュー400の一部分は、(例えば、図において設けられる凡例による)異なる塗りつぶしパターンを伴って表示される。代替的には、データの異なる数量および/または品質を有するプレビュー400の一部分は、異なる色を伴って表示される。例えば、データの異なる数量および/または品質を有するプレビュー400の一部分は、(例えば、データの異なる数量および/または品質を表す256個の異なる色を有する)ほとんど連続的であり得る色スケールによって表示される。例えば、小さい量のデータ、および/または、低質な(低い品質)データ品質を有するプレビュー400の一部分は、赤で表示され得る。より多くのデータ、および/または、より良好な(中程度の)品質データを有するプレビュー400の一部分は、黄で示され得る。しかしながら、黄で示されるプレビュー400の一部分は、あらかじめ規定された正確度仕様によって物体を再構築するのに不十分なデータを有することがある。高い数量データ、および/または、より良好な品質データを有するプレビュー400の一部分は、緑で示され得る。一部の実施形態において、データの高い数量/品質は、物体が、あらかじめ規定された正確度仕様によって(例えば、少なくとも0.1mm、0.2mm、0.3mm、0.4mm、もしくは0.5mmの正確度を伴って、または代替的には、0.25mm、0.5mm、0.75mm、もしくは1mmの分解能を伴って)再構築され得るということを指示する。他の実施形態において、赤、黄、および緑以外の、色、および/もしくは、色の濃淡、ならびに/または、より少ない、もしくは、より多くの色が、収集されるデータの数量および/または品質に関するフィードバックをユーザに提供するために使用される。1つの実施形態において、1つまたは複数の濃淡での単一の色が、収集されるデータの数量および/または品質に関するフィードバックをユーザに提供するために使用される。別の実施形態において、2つ以上の色が、収集されるデータの数量および/または品質に関するフィードバックをユーザに提供するために使用される。
【0059】
図4Aにおいて示される例において、プレビュー400-aの一部分402-aは、物体の表面の場所を決定するのに十分なデータを有するが、データは、他では不十分および/または低質である。このことは、ユーザが、リアルタイムで、データが不十分である、および/または、低質な品質のものである場合に確認することを可能とする。
【0060】
一部の状況において、物体の表面の他の一部分、例えば、一部分402-bは、データを全く有さないことがある(およびかくして、決定される場所はない)。これらの一部分は、物体の表面の3D再構築のプレビュー400-aにおいて空白部としてレンダリングされる。このことは、ユーザが、リアルタイムで、データがスキャンから欠落している場合に確認することを可能とする。
【0061】
図4Bは、物体の表面の形状の3D再構築のプレビュー400-bを表示するユーザインターフェイスを例示する。プレビュー400-bは、プレビュー400-aの更新である。すなわち、プレビュー400-bは、第1の時間より遅くである第2の時間においての物体の表面の形状の一部分の3D再構築を例示する(例えば、第2の時間までにスキャンの間に獲得されたデータのすべてを含む)。かくして、より多くのデータが、プレビュー400-aと比較して、プレビュー400-bに対して獲得された。結果として、プレビュー400-bは、プレビュー400-aと比較して、より多くの、および/または、改善されたデータを伴う領域を例示する。例えば、一部分402-cは、データの高い数量および/または品質を示す(例えば、物体のその領域に対する妥当なデータを示す)塗りつぶしパターンで表示され、一部分402-dは、データの中程度の数量および/または品質を示す(例えば、物体のその領域に対するデータが、そのデータがプレビュー400-bにおいてのものであったよりは良好であるが、依然として不十分であるということを示す)塗りつぶしパターンで表示され、一部分402-eは、データの低い数量および/または品質を示す(例えば、物体のその領域に対する不十分な、および/または、低質な品質データを示す)塗りつぶしパターンで表示される。一部分402-bは、依然として、データにおいての空白部を示す。かくして、プレビュー400-bは、ユーザに、スキャンを完了するためにどこにスキャナを配置し直すべきかを提案する(例えば、ユーザは、欠落している、および/または、低質なデータ領域に、より直接的に面するように、スキャナを動かすべきである)。
【0062】
図4Cは、物体の表面の形状の3D再構築のプレビュー400-cを表示するユーザインターフェイスを例示する。プレビュー400-cは、プレビュー400-bの更新である。すなわち、プレビュー400-cは、第2の時間より遅くである第3の時間においての物体の表面の形状の一部分の3D再構築を例示する(例えば、第3の時間までにスキャンの間に獲得されたデータのすべてを含む)。
【0063】
図4Dは、物体の表面の形状の3D再構築のプレビュー400-dを表示するユーザインターフェイスを例示する。プレビュー400-dは、プレビュー400-cの更新である。すなわち、プレビュー400-dは、第3の時間より遅くである第4の時間においての物体の表面の形状の一部分の3D再構築を例示する(例えば、第3の時間までにスキャンの間に獲得されたデータのすべてを含む)。プレビュー400-dは、物体のほとんど全体が、物体の3D形状を再構築するのに十分なデータを有するということを示す。
【0064】
図4E~4Fは、(図4A~4Dと比較して)異なるシーンのプレビュー404を例示する。特に、プレビュー404は、人間がスキャニングされている際の、人間の3D再構築のプレビューを例示する。図4E~4Fにおいて示されるプレビュー404は、下記で記される違いを除いて、上記で説明された、図4A~4Dにおいて示されるプレビュー400に概ね類似する。
【0065】
特に、プレビュー404は、スキャンの活動的領域406(例えば、データが、現在、物体に相対的な3Dスキャナの位置に基づいて収集されている、領域)の表示度数を表示する。例えば、プレビュー404は、スキャンの活動的領域406を示す矩形の囲みを示す。一部の実施形態において、プレビュー404の活動的領域406の中の塗りつぶしパターンまたは色は、(例えば、データの数量/品質よりむしろ)スキャニングされている物体までの距離を示し、しかるに、プレビュー404の活動的領域の外側の色は、図4A~4Dを参照して上記で説明されたような、データの数量および/または品質を示す。一部の状況において、活動的領域406に対する物体までの距離を提供することは、ユーザに、活動的領域406に対する、より意義のある情報を提供するものであり、なぜならば、ユーザは、すでに活動的領域406をスキャニングしており、それゆえに、活動的領域406をスキャニングするためにスキャナを配置し直すことができないからである。ユーザは、しかしながら、活動的領域406に対するデータをより効率的に収集するために、物体までの距離を調整することができる。
【0066】
加えて、図4E~4Fは、一部の実施形態において、ユーザは、データの品質および/または数量の表示度数を伴うプレビュー404-aを示すことと、物体の自然テクスチャ(例えば、色)を示すプレビュー404-bとの間で、トグルで切り換え得るということを例示する。後者は、ユーザに、最終的な3D再構築が何のように見えることになるかの感覚を与えるために有用であり得る。
【0067】
本開示の利益を有する当業者は、再構築の領域に対するデータの十分な数量および/または品質を示すフィードバックを提供するための数多くの手立てが存するということを理解することになる。例えば、より多くのデータを要する区域は、スクリーン上で輪郭を描かれ得る、または、矢印により指し示され得る。代替的な、聴覚および/または触覚の合図が、そのようなフィードバックを提供するために使用され得る。例えば、聴覚または触覚の合図は、現在の獲得領域が、足りるほどのデータを蓄積したということを示すために与えられ得るものであり、そのことは、ユーザがスキャナを動かすべきであるということを意味する。
【0068】
図5は、一部の実施形態による、冷却マニホールドを含む3Dスキャナ100の様々な構成要素を例示する機械的図面である。特に、図5は、本体ハウジング102(図1)の断面を例示する。図5において示されるように、スキャナ100は、(構成要素の中でもとりわけ)次のものを含む:
・スキャニングされている物体の3Dデータを収集する(例えば、物体の表面上に照らされ、その表面により歪められる構造化光の画像であって、それらの画像から物体の3D形状の再構築が決定され得る、画像を収集する)第1の光学センサ502-a(例えば、第1の電荷結合デバイス(CCD)検出器)。一部の実施形態において、第1の光学センサ502-aは、赤外(IR)光に対して高感度である(第1の光学センサ502-aは、さらには、可視光に対して高感度であり得るが);
・スキャニングされている物体からのテクスチャ(例えば、色)データを収集する(例えば、構造化光が物体の表面上に示されない間に画像を収集する、例えば、物体上に照らされる構造化光のストロボのパルスの中間で画像を収集する)第2の光学センサ502-b(例えば、第2のCCD検出器)。一部の実施形態において、第2の光学センサ502-bは、可視光に対して高感度である(第2の光学センサ502-bは、さらには、IR
光に対して可視であり得るが);
・可視光およびIR光を分離するビーム分割器504。ビーム分割器504は、カメラ光学部品106を通して受けられるIR光を第1の光学センサ502-aに、優先的に方
向設定し、カメラ光学部品106を通して受けられる可視光を第2の光学センサ502-bに、優先的に方向設定する;
・光源506。一部の実施形態において、光源506は、パルス光源(例えば、ストロボの光源)である。一部の実施形態において、光源506は、赤外光源である。一部の実施形態において、光源506は、レーザである。一部の実施形態において、光源506は、垂直共振器面発光レーザである。一部の実施形態において、光源506は、本体ハウジング102の外側のあらゆる所でクラス1レーザとして(例えば、パルス幅、ピークパワー、繰返し率、および/またはデューティサイクルの適した選定によって)動作するように構成される;
・スライド516であって、空間的パターンを形成(例えば、そのスライド上にプリントまたはエッチング)しており、その空間的パターンを通して光が物体の表面上へと投射される、スライド516(例えば、空間的パターンは、スライドの不透明および透過性の一部分として形成される)。かくして、光源506により生み出される光は、スライド516を通過させられ、源光学部品104を通して、構造化光として、物体の表面に向けて(例えば、その表面上へと)投射される;ならびに、
・光源506、光学センサ502、および、位置514において配置されるGPU(例えば、GPU210、図2)と、位置512において配置されるFPGA(例えば、FPGA206、図2)とを含む複数のプロセッサと熱的に結合される単一の片の金属を備える(図面においていくつもの箇所において標示される)冷却マニホールド508。
【0069】
3Dデータが取得される手立て(例えば、光を相当に強力な光源からストロボによって生み出すこと、ならびに、毎秒多くの画像を収集および処理すること)のために、熱の生み出しおよび除去は、リアルタイムで物体の3D再構築をプレビューする能力があるハンドヘルド3Dスキャナを設計することにおいて、最も大変な難題のうちの1つである。相対的に冷たい温度を維持することが重要である一方で、一貫性のある温度を(空間的にだけでなく、時間的にも)維持することが、少なくとも等しく重要である。冷却マニホールド508は、3Dスキャナの主な熱生成構成要素の間の熱的接続性をもたらすことにより、3Dスキャナ100の様々な構成要素を、一貫性のある、および安定した温度において維持する。かくして、冷却マニホールド508は、3Dスキャナが安定した温度に達するために必要とされる「ウォームアップ」時間を低減し、より大である処理パワーを可能とし、3Dスキャナがデータを収集することができる時間の量を増大する。
【0070】
図6A~6Bは、一部の実施形態による、3Dスキャナからの3Dデータ収集フィードバックを提供する方法600のフロー線図を例示する。方法600は、ディスプレイと通信している3Dスキャナ(例えば、3Dスキャナ100、図1、3、および5)において遂行される。3Dスキャナは、1つまたは複数の光学センサを含む。一部の実施形態において、3Dスキャナは、ディスプレイを含む。一部の実施形態において、3Dスキャナは、物体の表面の形状の少なくとも一部分の3D再構築を生成するためのプロセッサを含む。一部の実施形態において、3Dスキャナは、可搬型ハンドヘルド3Dスキャナである(例えば、デバイス全体が、30cm×30cm×30cmである箱の内側に嵌まることになるように、30cm×30cm×30cm未満のサイズを有する)。方法600においての一部の動作は、任意選択で組み合わされ、および/または、一部の動作の順序は、任意選択で変化させられる。解説の容易さのために、方法600は、3Dスキャナ100により遂行されているとして説明される。しかしながら、方法600は、本開示によって作り上げられる任意の3Dスキャナを使用して履行され得る。逆に、他の実施形態において、3Dスキャナ100は、本開示の教示による方法600以外の方法を遂行する。
【0071】
下記で説明されるように、方法600は、3Dスキャナ100からの3Dデータ収集フィードバックを提供する。一部の実施形態において、ユーザが、物体をスキャニングして、データを収集する間、3Dスキャナ100は、物体の3D再構築のプレビュー、および、データの品質または数量の表示度数を表示する。一部の実施形態において、データの品質または数量の表示度数は、物体の3D再構築上にかぶせられる。例えば、物体の3D再
構築は、表面として現れ、表面の色が、データの数量または品質を表す。ユーザは、かくして、ディスプレイ上で、データにおいて相違が存する場合に確認することができる。例えば、物体の一部分に対してデータが全く存しないとき、一部の実施形態において、3D再構築のプレビューは、物体のその区域に対して表面を全く示さない。物体の一部分に対して何らかの、ただし、物体のその一部分の妥当な再構築を形成するのに足りるほどではないデータが存するとき、物体のその一部分の3D再構築は、赤でレンダリングされる。
【0072】
かくして、ユーザは、いつそのユーザが足りるほどのデータを収集したかを判定することができるだけでなく、さらには、物体のどの一部分がより多くのデータ収集を要するかを判定することもできる。後者の特徴は、ユーザが、スキャニングを、より多くのデータを要する物体の一部分に集中させることを可能とする。方法600と比較して、3Dスキャニングの、以前の方法は、ユーザに、いつ足りるほどのデータが収集されたかを知るのに十分なフィードバックを有することなしに、データを収集することを要求した。結果として、無難であるために、ユーザは、過剰な量のデータを獲得することになり、そのことは、メモリの過剰な使用、および、熱の生み出しを結果的に生じさせた。過剰なメモリ使用、および、熱の生み出しの問題は、真に自己完結型のハンドヘルド3Dスキャナを生み出すことを困難にしたものであり、なぜならば、メモリタスク、および、熱を生み出すタスクは、普通は有線接続の手段により、外部コンピュータに委託されることになるからである。かくして、方法600は、データの効率的な収集を手助けすることにより3Dスキャナそれ自体を改善し、そのことは今度は、より小さいサイズの3Dスキャナ100を手助けする。バッテリで動作させられる電子デバイスに対して、ユーザが、3Dスキャニングデータをより高速に、および、より効率的に獲得することを可能にすることは、電力を節約し、バッテリ充電の間の時間を増大する。
【0073】
スキャナ100は、1つまたは複数の光学センサを使用して、表面を有する物体をスキャニングする(602)。当該スキャニングにより、物体の表面の少なくとも一部分の3次元(3D)形状に対応するデータを生成する。一部の実施形態において、1つまたは複数のセンサは、カメラ(例えば、光学センサ502、図5)を含む(604)。物体をスキャニングすることは、(例えば、光源506およびスライド516、図5を使用して)光の空間的パターンを物体の表面上へと投射することと、光の空間的パターンが物体の表面上へと投射される間、カメラを使用して、物体の表面の画像を獲得することとの動作を繰返し遂行することを含む。一部の実施形態において、物体をスキャニングすることは、さらには、(例えば、色データ204-a、図2を参照して説明されるような)色データを収集し、(例えば、運動データ204-c、図2を参照して説明されるような)動きデータを収集することを含む。
【0074】
スキャナ100は、データを使用して、(例えば、FPGA206およびGPU210、図2により遂行される動作を参照して説明されるように)物体の表面の形状の少なくとも一部分の3D再構築を生成する(606)。一部の実施形態において、物体の表面の形状の少なくとも一部分の生成される3D再構築は、最終的な再構築よりむしろ初期の再構築である。例えば、スキャンが完了した後、追加的なポストスキャン処理動作(例えば、さらなるアライメント)が、3D再構築を改善するために遂行され得る。
【0075】
スキャナ100は、ディスプレイに、物体の表面の形状の少なくとも一部分の3D再構築のプレビュー(例えば、プレビュー400、図4A~4D、プレビュー404、図4E~4F)を提供する(608)。一部の実施形態において、物体の表面の形状の少なくとも一部分の3D再構築のプレビューを表示することは、図2を参照して説明される、融合させられたボクセル表現を表示することを含む。
【0076】
スキャナ100は、ディスプレイに、物体の表面の形状の少なくとも一部分の3D再構
築のプレビューによるレンダリングのために、物体の表面の少なくとも一部分の3D形状に対応するデータの数量または品質のうちの少なくとも1つの表示度数を提供する(610)。
【0077】
一部の実施形態において、スキャナ100は、ディスプレイに、物体の表面の形状の少なくとも一部分の3D再構築のプレビューによるレンダリングのために、物体の表面の少なくとも一部分の3D形状に対応するデータの品質の表示度数を提供する。一部の実施形態において、データの品質の表示度数は、データの正確度または分解能の表示度数である。一部の実施形態において、データの正確度の表示度数は、物体の表面の実際の形状と、物体の表面の形状の3D再構築との間の、統計学的に公算の高い差(例えば、最大または中央値差)を示す(例えば、データの正確度の表示度数は、再構築誤差逆数の概算を表す)。
【0078】
一部の実施形態において、スキャナ100は、ディスプレイに、物体の表面の形状の少なくとも一部分の3D再構築のプレビューによるレンダリングのために、物体の表面の少なくとも一部分の3D形状に対応するデータの数量の表示度数を提供する。一部の実施形態において、データの数量の表示度数は、各々のボクセルがスキャニングのプロセスにおいて蓄積するサンプル(例えば、点)の数により測定される。
【0079】
一部の実施形態において、スキャナ100は、ディスプレイに、物体の表面の形状の少なくとも一部分の3D再構築のプレビューによるレンダリングのために、物体の表面の少なくとも一部分の3D形状に対応するデータの数量および数量の組み合わされた測定基準(例えば、データの数量および数量の両方に基づく測定基準)の表示度数を提供する。例えば、一部の実施形態において、スキャナ100は、ディスプレイに、物体の表面の形状の少なくとも一部分の3D再構築のプレビューによるレンダリングのために、データの数量および品質の積(例えば、各々のそれぞれのボクセルに対する再構築誤差逆数、および、それぞれのボクセルに対して蓄積されたサンプルの数の積)の表示度数を提供する。
【0080】
一部の実施形態において、スキャナ100は、ディスプレイに、物体の表面の別個の一部分に対応するデータの数量または品質のうちの少なくとも1つの、複数の別個のしるし(indicia)(例えば、各々のボクセルに対する表示度数)を提供する(612)。一部の実施形態において、データの数量または品質のうちの少なくとも1つの表示度数は、物体の表面の形状の少なくとも一部分の3D再構築のプレビューの部分として表示される(614)。一部の実施形態において、データの数量または品質のうちの少なくとも1つの表示度数は、(例えば、プレビュー400、図4A~4D、プレビュー404、図4E~4Fを参照して説明されるように)表面の一部分のプレビューの色として表示される(616)。例えば、3D再構築のプレビューにおいて物体の表面を表す各々のボクセルは、そのそれぞれのボクセルに対応するデータの数量および/または品質を表す色で表示される。
【0081】
一部の実施形態において、スキャナ100は、ディスプレイに、物体の表面の形状の少なくとも一部分の3D再構築のプレビューによるレンダリングのために、物体の表面の少なくとも一部分の3D形状に対応するデータの数量および/または品質の、複数の別個および交番のしるし(例えば、3D再構築の異なる特性を示す交番のしるし)を提供するように構成される。一部の実施形態において、ユーザは、データの数量および/または品質の、別個および交番のしるしの間で、トグルで切り換え得る(例えば、1つの表示度数が、1回に表示される)。例えば、一部の実施形態において、3Dスキャナ100は、データの数量の表示度数を表示することから、データの品質の表示度数を表示することに変化させるためのユーザ入力を受信する。上記で(例えば、図4E~4Fを参照して)記されたように、一部の実施形態において、ユーザは、さらには、データの数量および/または
品質の表示度数を表示することと、そのデータの自然テクスチャを伴う3D再構築を表示することとの間で、トグルで切り換え得る。
【0082】
一部の実施形態において、データの数量または品質のうちの少なくとも1つの表示度数は、出力に対して提供される(例えば、音声および/もしくは視覚信号により、または、他の形で表示される)。例えば、一部の実施形態において、表示度数は、可聴表示度数である(例えば、十分なデータが取得されるときの「鐘の音」)。一部の実施形態において、表示度数は、追加的なデータが必要とされる、物体の領域を指し示す矢印を備える。他の実施形態において、データの数量または品質の十分性は、1つもしくは複数のビープにより、または、1つもしくは複数の光のフラッシュにより示される。
【0083】
一部の実施形態において、スキャナ100は、物体の表面の少なくとも一部分の形状に対応する追加的なデータを生成するために、物体をさらにスキャニングする(618)。スキャナ100は、物体の表面の形状の少なくとも一部分の3D再構築のプレビューを更新する(620)。スキャナ100は、物体の表面の少なくとも一部分の3D形状に対応するデータの数量または品質のうちの少なくとも1つの表示度数を更新する(622)。例えば、プレビュー400-b(図4B)は、プレビュー400-a(図4A)の更新である。
【0084】
一部の実施形態において、スキャナ100は、データの数量または品質のうちの少なくとも1つが、あらかじめ規定されたしきい値を満たすかどうかを決定する(624)。一部の実施形態において、あらかじめ規定されたしきい値は、物体の表面の少なくとも一部分の形状を、あらかじめ規定された正確度(または分解能)まで再構築するために必要とされるデータの数量または品質に対応する。表示度数は、データの数量または品質のうちの少なくとも1つが、あらかじめ規定されたしきい値を満たすかどうかを示す。
【0085】
例えば、図4Dを参照すると、スキャナ100は、データの数量および/または品質が、(例えば、ボクセル単位を基礎として)物体の表面のそれぞれの一部分に対する、あらかじめ規定された正確度および/または分解能測定基準を満たすかどうかを決定する。物体の表面を表し、あらかじめ規定された測定基準を満たすボクセルは、あらかじめ規定された測定基準を満たすデータに対応する塗りつぶしパターンでレンダリングされる。
【0086】
一部の実施形態において、ユーザは、あらかじめ規定された測定基準を構成することができる。例えば、ユーザは、必要とされる正確度および/または分解能をセットするように3Dスキャナを構成することができる。例えば、ユーザは、少なくとも0.1mm、0.2mm、0.3mm、0.4mm、もしくは0.5mmの正確度を伴う、または代替的には、0.25mm、0.5mm、0.75mm、もしくは1mmの分解能を伴う3D再構築を取得するようにスキャナ100を構成することができる。データの数量または品質の表示度数は、ユーザにより提供される正確度および/または分解能に基づいて調整される。例えば、ユーザが、0.5mmの正確度を伴う3D再構築を取得するようにスキャナ100をセットするとき、プレビューにおいての代表的なボクセルは、それぞれのボクセルが0.5mmの正確度を伴う物体の表面を表すように十分なデータが存するとき、緑でレンダリングされる。しかしながら、ユーザが、0.1mmの正確度を伴う3D再構築を取得するようにスキャナ100をセットするならば、プレビューにおいての代表的なボクセルは、それぞれのボクセルが0.1mmの正確度を伴う物体の表面を表すように十分なデータが存するとき、緑でレンダリングされる。ユーザの正確度および/または分解能必要性に基づく、数量および/または品質フィードバックをユーザに提供することは、スキャナ100が、満足のゆくスキャンを取得することを、そのようにするために必要とされるメモリ(例えば、記憶域)の量を低減しながら行う助けとなる。
【0087】
一部の実施形態において、スキャナ100は、リアルタイムでディスプレイに、物体の表面の形状の少なくとも一部分の3D再構築のプレビュー、および、物体の表面の少なくとも一部分の3D形状に対応するデータの数量または品質のうちの少なくとも1つの表示度数を送信する(626)。例えば、一部の実施形態において、ディスプレイは、スキャナ100とは別々であり、スキャナ100は、リアルタイムでディスプレイに、物体の表面の形状の少なくとも一部分の3D再構築のプレビュー、および、物体の表面の少なくとも一部分の3D形状に対応するデータの数量または品質のうちの少なくとも1つの表示度数を(例えば、Bluetooth、Wi-Fi、またはインターネットによって)ワイヤレス送信する。
【0088】
図6A~6Bにおいての動作が説明された個別の順序は、例にすぎず、説明された順序が、動作が遂行され得る唯一の順序であるということを示すことを意図されないということが理解されるべきである。当業者は、本明細書において説明される動作を順序付けし直すための様々な手立てを認識することになる。加えて、本明細書において説明される他の方法(例えば、方法200および700)に関して、本明細書において説明される他のプロセスの詳細は、さらには、図6A~6Bに関して上記で説明された方法600に類似する様式で適用可能であるということが留意されるべきである。
【0089】
図7は、一部の実施形態による、3Dスキャナからのデータを獲得および記憶する方法700のフロー線図を例示する。方法700は、3Dスキャナ(例えば、3Dスキャナ100、図1、3、および5)において遂行される。3Dスキャナは、1つまたは複数の光学センサを含む。一部の実施形態において、3Dスキャナは、物体の表面の形状の少なくとも一部分の3D再構築を生成するためのプロセッサを含む。一部の実施形態において、3Dスキャナは、可搬型ハンドヘルド3Dスキャナである(例えば、デバイス全体が、30cm×30cm×30cmである箱の内側に嵌まることになるように、30cm×30cm×30cm未満のサイズを有する)。方法700においての一部の動作は、任意選択で組み合わされ、および/または、一部の動作の順序は、任意選択で変化させられる。解説の容易さのために、方法700は、3Dスキャナ100により遂行されているとして説明される。
【0090】
3Dスキャナを設計することにおいてのさらなる難題は、3Dスキャナが、スキャンの間に莫大な量のデータを生み出すということである。方法700は、十分なデータがすでに収集された、スキャニングされている物体の領域を識別することにより、3Dスキャナからのデータを記憶することのプロセスを改善する。方法700は、次いで、スキャンが継続する際に、それらの領域に対して収集されたデータの一部またはすべてを破棄する。かくして、方法700は、物体をスキャニングする間に収集されるデータの全体の量を低減し、そのことは、デバイスに対して必要とされる記憶域の量を低減すること、または代替的には、デバイス上に存在する記憶域が、それが最も必要とされる場合に使用されることを可能とすることにより、デバイスを改善し、そのことが、より高い良質の3D再構築を結果的に生じさせる。
【0091】
そのために、スキャナ100は、1つまたは複数の光学センサを使用して、表面を有する物体をスキャニングする(702)。スキャニングにより、物体の表面の3次元(3D)形状に対応する第1のデータを生成する。
【0092】
一部の実施形態において、1つまたは複数のセンサは、カメラを含む。一部の実施形態において、物体をスキャニングすることは、光の空間的パターンを物体の表面上へと投射することと、光の空間的パターンが物体の表面上へと投射される間、カメラを使用して、物体の表面のそれぞれの画像を獲得することとの反復(例えば、複数の反復)の第1のセットを遂行することを含む。一部の実施形態において、物体をスキャニングすることは、
反復の第1のセットにおいて獲得されるそれぞれの画像から、物体の表面の形状の少なくとも一部分の3D再構築を生成することを含む。
【0093】
物体の表面の複数のそれぞれの一部分の各々に対して、スキャナ100は、第1のデータの数量または品質が、物体の表面の一部分の形状を、あらかじめ規定された正確度(または分解能)まで再構築するために必要とされるデータの数量または品質に対応する、あらかじめ規定されたしきい値を満たすかどうかを決定する(704)。
【0094】
一部の実施形態において、ユーザは、あらかじめ規定された正確度(または分解能)を構成することができる。例えば、ユーザは、必要とされる正確度および/または分解能をセットするように3Dスキャナを構成することができる。例えば、ユーザは、少なくとも0.1mm、0.2mm、0.3mm、0.4mm、もしくは0.5mmの正確度を伴う、または代替的には、0.25mm、0.5mm、0.75mm、もしくは1mmの分解能を伴う3D再構築を取得するようにスキャナ100を構成することができる。データの数量または品質の表示度数は、ユーザにより提供される正確度および/または分解能に基づいて調整される。例えば、ユーザが、0.5mmの正確度を伴う3D再構築を取得するようにスキャナ100をセットするとき、プレビューにおいての代表的なボクセルは、それぞれのボクセルが0.5mmの正確度を伴う物体の表面を表すように十分なデータが存するとき、緑でレンダリングされる。しかしながら、ユーザが、0.1mmの正確度を伴う3D再構築を取得するようにスキャナ100をセットするならば、プレビューにおいての代表的なボクセルは、それぞれのボクセルが0.1mmの正確度を伴う物体の表面を表すように十分なデータが存するとき、緑でレンダリングされる。ユーザの正確度および/または分解能必要性に基づく、数量および/または品質フィードバックをユーザに提供することは、スキャナ100が、満足のゆくスキャンを取得することを、そのようにするために必要とされるメモリ(例えば、記憶域)の量を低減しながら行う助けとなる。
【0095】
物体の表面の複数の一部分の各々のそれぞれの一部分に対して、第1のデータの数量または品質が、物体の表面の一部分の形状を、あらかじめ規定された正確度まで再構築するために必要とされるデータの数量または品質に対応する、あらかじめ規定されたしきい値を満たすかどうかを決定することの後に、スキャナ100は、1つまたは複数の光学センサを使用して、物体をさらにスキャニングする(706)。当該さらなるスキャニングにより、物体の表面の3次元形状に対応する第2のデータを生成する。
【0096】
一部の実施形態において、物体をさらにスキャニングすることは、光の空間的パターンを物体の表面上へと投射することと、光の空間的パターンが物体の表面上へと投射される間、カメラを使用して、物体の表面のそれぞれの画像を獲得することとの反復(例えば、1つまたは複数の反復)の第2のセットを遂行することを含む。一部の実施形態において、物体をさらにスキャニングすることは、1つまたは複数の反復の第2のセットにおいて獲得される、1つまたは複数のそれぞれの画像から、物体の表面の形状の少なくとも一部分の3D再構築を生成することを含む。一部の実施形態において、スキャナ100は、第1のデータの数量または品質が、あらかじめ規定されたしきい値を満たした、物体の表面のそれぞれの一部分に対応する第2のデータの一部分を識別することより前に、(例えば、3D位置合わせ動作212-b、図2に関して上記で説明されたように)1つまたは複数の反復の第2のセットからの3D再構築を、1つまたは複数の反復の第1のセットからの3D再構築と位置合わせする。一部の実施形態において、スキャナ100は、1つまたは複数の反復の第2のセットからの位置合わせされた3D再構築を使用して、第1のデータの数量または品質が、あらかじめ規定されたしきい値を満たした、物体の表面のそれぞれの一部分に対応する第2のデータの一部分を識別する。
【0097】
スキャナ100は、第2のデータの少なくとも一部分を破棄する(708)。第2のデ
ータの破棄される一部分は、第1のデータの数量または品質が、あらかじめ規定されたしきい値を満たした、物体の表面のそれぞれの一部分(例えば、上記で説明された、識別された一部分)に対応する。一部の実施形態において、スキャナ100は、第1のデータの数量または品質が、あらかじめ規定されたしきい値を満たさなかった、物体の表面のそれぞれの一部分に対応する第2のデータの相補的な一部分を(例えば、メモリ内に)記憶する。
【0098】
図7においての動作が説明された個別の順序は、例にすぎず、説明された順序が、動作が遂行され得る唯一の順序であるということを指示することを意図されないということが理解されるべきである。当業者は、本明細書において説明される動作を順序付けし直すための様々な手立てを認識することになる。加えて、本明細書において説明される他の方法(例えば、方法200および600)に関して、本明細書において説明される他のプロセスの詳細は、さらには、図7に関して上記で説明された方法700に類似する様式で適用可能であるということが留意されるべきである。
【0099】
前述の説明は、解説の目的のために、特定の実施形態を参照して説明された。しかしながら、上記の例示的な論考は、網羅的であること、または、本発明を、開示される寸分違わない形態に制限することを意図されない。多くの修正および変形が、上記の教示に鑑みて可能である。実施形態は、本発明の原理、および、本発明の実践的な用途を最も良好に解説し、そのことにより、他の当業者が、思索される個別の使用に適する様々な修正によって、本発明、および、様々な説明される実施形態を最も良好に使用することを可能にするために、選定および説明された。
【0100】
用語、第1の、第2の、その他が、一部の実例において、様々な要素を説明するために、本明細書において使用されるが、これらの要素は、これらの用語により制限されるべきではないということが、さらには理解されることになる。これらの用語は、単に1つの要素を別のものから区別するために使用される。例えば、様々な説明される実施形態の範囲から逸脱することなく、第1のセンサは、第2のセンサと称され得るものであり、同様に、第2のセンサは、第1のセンサと称され得る。第1のセンサおよび第2のセンサは、両方ともセンサであるが、それらのセンサは、文脈が明確に別段に指示しない限り、同じセンサではない。
【0101】
本明細書においての様々な説明される実施形態の説明において使用される専門用語は、単に個別の実施形態を説明することの目的のためのものであり、制限的であることを意図されない。様々な説明される実施形態の説明、および、添付される特許請求の範囲において使用される際、単数形「a」、「an」、および「the」は、文脈が明確に別段に指示しない限り、複数形もまた含むことを意図される。本明細書において使用される際の用語「および/または」は、関連付けられる列挙される項目のうちの1つまたは複数の一切の可能な組み合わせを指し、包含するということが、さらには理解されることになる。用語「含む(3人称単数現在形)」、「含む(現在分詞)」、「備える(3人称単数現在形)」、および/または「備える(現在分詞)」は、本明細書において使用されるとき、説述される特徴、整数、ステップ、動作、要素、および/または構成要素の存在を明示するが、1つもしくは複数の他の特徴、整数、ステップ、動作、要素、構成要素、および/または、それらの群の、存在または追加を排除しないということが、さらに理解されることになる。
【0102】
本明細書において使用される際、用語「ならば」は、任意選択で、文脈に依存して、「とき」または「の時点で」または「決定することに応答して」または「検出することに応答して」を意味すると解釈される。同様に、語句「そのことが決定されるならば」または「[説述される条件または事象]が検出されるならば」は、任意選択で、文脈に依存して
、「決定する時点で」または「決定することに応答して」または「[説述される条件または事象]を検出する時点で」または「[説述される条件または事象]を検出することに応答して」を意味すると解釈される。
分割出願クレーム
図1A
図1B
図2
図3
図4A
図4B
図4C
図4D
図4E
図4F
図5
図6A
図6B
図7