(57)【要約】  三次元走査システムは、画像を取得するように構成されたカメラと、プロセッサと、カメラ及びプロセッサに結合されたメモリと、を有し、メモリは、カメラによって取得された画像と、命令と、を格納するように構成され、命令は、プロセッサによって実行されるとき、プロセッサに、カメラの第１の姿勢から対象の１つ又は複数の初期画像を取得するようにカメラを制御することと、１つ又は複数の次の姿勢を特定するために１つ又は複数の初期画像に従って誘導マップを計算することと、１つ又は複数の次の姿勢の少なくとも１つから、１つ又は複数の追加画像を取得するようにカメラを制御することと、１つ又は複数の追加画像に従って誘導マップを更新することと、三次元モデルを生成するためにカメラによって取得された画像を出力すること、を実行させることを特徴とする。【選択図】図１Ａ
2019514240.tif 000002
【特許請求の範囲】
【請求項１】
画像を取得するように構成されたカメラと、
プロセッサと、
前記カメラ及び前記プロセッサに結合されたメモリと、
を有し、
前記メモリは、
前記カメラによって取得された前記画像と、命令と、を格納するように構成され、
前記命令は、前記プロセッサによって実行されるとき、前記プロセッサに、
前記カメラの第１の姿勢から対象の１つ又は複数の初期画像を取得するように前記カメラを制御することと、
１つ又は複数の次の姿勢を特定するために前記１つ又は複数の初期画像に従って誘導マップを計算することと、
前記１つ又は複数の次の姿勢の少なくとも１つから、１つ又は複数の追加画像を取得するように前記カメラを制御することと、
前記１つ又は複数の追加画像に従って前記誘導マップを更新することと、
三次元モデルを生成するために前記カメラによって取得された前記画像を出力することと、
を実行させることを特徴とする三次元走査システム。
【請求項２】
前記カメラは深度カメラである、請求項１に記載の三次元走査システム。
【請求項３】
前記深度カメラは、
第１の光軸を有する第１の視野を有する第１カメラと、
前記第１カメラから離され、前記第１の視野と重なる第２の視野と、前記第１の光軸に実質的に平行な第２の光軸とを有する第２カメラと、
を有する立体深度カメラである、請求項２に記載の三次元走査システム。
【請求項４】
前記深度カメラに登録されたカラーカメラを更に有する、請求項２に記載の三次元走査システム。
【請求項５】
前記プロセッサに結合されたディスプレイを更に有し、
前記メモリは、前記プロセッサに、前記三次元走査システムのユーザーに視覚的フィードバックを提供するように前記ディスプレイを制御すること、を実行させる命令を更に格納し、
前記視覚的フィードバックは、前記誘導マップの前記１つ又は複数の次の姿勢のグラフィカル表現を含む、請求項１に記載の三次元走査システム。
【請求項６】
前記グラフィカル表現は、前記対象の周りのドームであり、前記ドームのどの部分が前記１つ又は複数の次の姿勢に対応するかを示すヒートマップである、請求項５に記載の三次元走査システム。
【請求項７】
前記１つ又は複数の次の姿勢は、経路を形成する、請求項１に記載の三次元走査システム。
【請求項８】
前記経路は、前記対象のカバレッジの増加と走査時間の短縮とに応じて選択される、請求項７に記載の三次元走査システム。
【請求項９】
前記誘導マップは、カバレッジマップである、請求項１に記載の三次元走査システム。
【請求項１０】
前記対象はコンテナであり、
前記メモリは、前記プロセッサに、前記三次元モデルに基づいて前記コンテナの利用可能な容積を推定すること、を実行させる命令を更に格納し、
前記誘導マップは、前記利用可能な容量のコーナーを探すため前記１つ又は複数の次の姿勢を特定する、請求項１に記載の三次元走査システム。
【請求項１１】
前記対象は積み重ねられた箱であり、
前記メモリは、前記プロセッサに、前記三次元モデルに基づいて前記箱の個数を数えること、を実行させる命令を更に格納し、
前記誘導マップは、低いカバレッジを有する箱を特定するため前記１つ又は複数の次の姿勢を特定する、請求項１に記載の三次元走査システム。
【請求項１２】
プロセッサによって、カメラの第１の姿勢から被写体の１つ又は複数の初期画像を取得するようにカメラを制御することと、
前記プロセッサによって、１つ又は複数の次の姿勢を特定するために、前記１つ又は複数の初期画像に従って誘導マップを計算することと、
前記プロセッサによって、前記１つ又は複数の次の姿勢のうちの少なくとも１つから、１つ又は複数の追加画像を取得するようにカメラを制御することと、
前記プロセッサによって、前記１つ又は複数の追加画像に従って誘導マップを更新することと、
三次元モデルを生成するために、前記カメラによって取得された前記画像を出力することと、
を有することを特徴とする誘導走査を提供するための方法。
【請求項１３】
前記カメラは深度カメラである、請求項１２に記載の方法。
【請求項１４】
前記深度カメラは、
第１の光軸を有する第１の視野を有する第１カメラと、
前記第１カメラから離され、前記第１の視野と重なる第２の視野と、前記第１の光軸に実質的に平行な第２の光軸とを有する第２カメラと、
を有する立体深度カメラである、請求項１３に記載の方法。
【請求項１５】
前記プロセッサに結合されたディスプレイを通して、ユーザーに前記誘導マップの前記１つ又は複数の次の姿勢のグラフィカル表現を含む視覚的フィードバックを提供すること、を更に有する請求項１３に記載の方法。
【請求項１６】
前記グラフィカル表現は、前記対象の周りのドームであり、前記ドームのどの部分が前記１つ又は複数の次の姿勢に対応するかを示すヒートマップである、請求項１５に記載の方法。
【請求項１７】
前記１つ又は複数の次の姿勢は、経路を形成する、請求項１２に記載の方法。
【請求項１８】
前記経路は、前記対象のカバレッジの増加と走査時間の短縮とに応じて選択される、請求項１７に記載の方法。
【請求項１９】
前記対象はコンテナであり、
前記三次元モデルに基づいて前記コンテナの利用可能な容積を推定すること、を更に有し、
前記誘導マップは、前記利用可能な容量のコーナーを探すため前記１つ又は複数の次の姿勢を特定する、請求項１２に記載の方法。
【請求項２０】
前記対象は積み重ねられた箱であり、
前記三次元モデルに基づいて前記箱の個数を数えること、を更に有し、
前記誘導マップは、低いカバレッジを有する箱を特定するため前記１つ又は複数の次の姿勢を特定する、請求項１２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願に対する相互参照
本出願は、２０１６年２月２９日に米国特許商標庁に出願された米国仮特許出願第６２／３０１，６０３号の利益を主張するものであり、その全内容は、引用により、本明細書に包含される。
【０００２】
本発明の実施形態の態様は、フィールド画像取得システム、画像処理、及び三次元（３Ｄ）走査に関する。
【背景技術】
【０００３】
本発明の実施形態の態様は、三次元（３Ｄ）走査の分野に関する。このプロセスでは、カメラは通常の物体の異なるビュー（ｖｉｅｗ）からデータを収集し、そのデータを整列して結合して、物体の形状と色（利用可能な場合）の３Ｄモデルを作成する。又、「マッピング（ｍａｐｐｉｎｇ）」という用語は、空間、より一般的には３Ｄでのシーンを取得するプロセスを反映するために使用されることがある。
【０００４】
このように３Ｄモデルを生成することは、物体の完全なモデルを生成するために、物体の実質的にすべての側面又はシーン（ｓｃｅｎｅ）の一部を画像化する必要があるという特定の課題を提示する。例えば、３Ｄ走査プロセスの間に取得されない対象（例えば、物体又はシーン）の部分の正確なモデルを生成することは困難又は不可能であることがある。更に、いくつかの特定の角度からの物体の画像を取得することができないとき、生成されたモデルに穴、隙間、歪み、又はその他のアーチファクト（ａｒｔｉｆａｃｔｓ）が生じることがある（場合によっては、所望の３Ｄモデルに関係がなければ、物体の底面が無視されてもよい。）。
【０００５】
物体の十分な色及び幾何学的側面をカバーするために、走査プロセスは、シーンの関連部分の何百ものフレームを取得することができる。生成されるデータの量とデータの処理時間は非常に長くなる可能性がある。例えば、ＲＧＢ−Ｄカメラが１フレーム当たり６１４ＫＢ（〜ＶＧＡ）のデータを生成し、同時に付属のカラーカメラが１フレーム当たり２７６４ＫＢ（〜７２０ｐ）のデータを生成し、１５フレーム／秒及び３０秒の走査時間を生成する場合、生成される画像データは１．４２ＧＢまで大きくなる可能性がある。又、３Ｄモデルを構築するための処理時間も、生成されるデータ量の関数として比例して増加する。更に、カメラを操作するユーザーが、物体の関連する側面を完全に取得できないこともあり、又、一側面を過剰に取得すること（オーバーサンプリング）、及び、別の側面を過少に取得すること（アンダーサンプリング）もあるかもしれない。アンダーサンプリングは、所望の解像度を生成し得ないか、又は複雑な３Ｄ形状を有する可能性がある物体のいくつかの辺を完全に見落としてしまうかもしれず、一方、オーバーサンプリングは、走査システムの通信及びコンピューティングリソースを不必要に消費する冗長データ（例えば、３Ｄモデルを構築する目的に対する情報内容が乏しい追加データ）を生成してしまうことがある。
【発明の概要】
【０００６】
本発明の実施形態の態様は、物体及びシーンの走査を支援又は誘導するためのシステム及び方法に関する。支援又は誘導は、モデルの使用目的に見合ったターゲットの関連する側面のカバレッジを改善し、オーバーキャプチャを削減できるように走査装置を誘導すること（例えば、走査装置の位置及び方向）によって、走査プロセスによって生成される３Ｄモデルの精度を向上させることに使用できる。
【０００７】
本発明に係る三次元走査システムは、画像を取得するように構成されたカメラと、プロセッサと、カメラ及びプロセッサに結合されたメモリと、を有し、メモリは、カメラによって取得された画像と、命令と、を格納するように構成され、命令は、プロセッサによって実行されるとき、プロセッサに、カメラの第１の姿勢から対象の１つ又は複数の初期画像を取得するようにカメラを制御することと、１つ又は複数の次の姿勢を特定するために１つ又は複数の初期画像に従って誘導マップを計算することと、１つ又は複数の次の姿勢の少なくとも１つから、１つ又は複数の追加画像を取得するようにカメラを制御することと、１つ又は複数の追加画像に従って誘導マップを更新することと、三次元モデルを生成するためにカメラによって取得された画像を出力すること、を実行させることを特徴とする。
【０００８】
本発明に係る三次元走査システムは、カメラが、深度カメラであってもよい。
【０００９】
本発明に係る三次元走査システムは、深度カメラが、第１の光軸を有する第１の視野を有する第１カメラと、第１カメラから離され、第１の視野と重なる第２の視野と、第１の光軸に実質的に平行な第２の光軸とを有する第２カメラと、を有する立体深度カメラであってもよい。
【００１０】
本発明に係る三次元走査システムは、深度カメラに登録されたカラーカメラを更に有してもよい。
【００１１】
本発明に係る三次元走査システムは、プロセッサに結合されたディスプレイを更に有してもよく、メモリは、プロセッサに、三次元走査システムのユーザーにフィードバックを提供するようにディスプレイを制御すること、を実行させる命令を更に格納し、フィードバックは、誘導マップの１つ又は複数の次の姿勢のグラフィカル表現を含んでもよい。
【００１２】
本発明に係る三次元走査システムは、グラフィカル表現が、対象の周りのドームであり、ドームのどの部分が１つ又は複数の次の姿勢に対応するかを示すヒートマップであってもよい。
【００１３】
本発明に係る三次元走査システムは、１つ又は複数の次の姿勢が、経路を形成してもよい。
【００１４】
本発明に係る三次元走査システムは、経路が、対象のカバレッジの増加と走査時間の短縮とに応じて選択されてもよい。
【００１５】
本発明に係る三次元走査システムは、誘導マップが、カバレッジマップであってもよい。
【００１６】
本発明に係る三次元走査システムは、対象がコンテナであってもよく、メモリは、プロセッサに、三次元モデルに基づいてコンテナの利用可能な容積を推定すること、を実行させる命令を更に格納し、誘導マップは、利用可能な容量のコーナーを探すため１つ又は複数の次の姿勢を特定してもよい。
【００１７】
本発明に係る三次元走査システムは、対象が積み重ねられた箱であってもよく、メモリは、プロセッサに、三次元モデルに基づいて箱の個数を数えること、を実行させる命令を更に格納し、誘導マップは、低いカバレッジを有する箱を特定するため１つ又は複数の次の姿勢を特定してもよい。
【００１８】
本発明に係る誘導走査を提供するための方法は、プロセッサによって、カメラの第１の姿勢から被写体の１つ又は複数の初期画像を取得するようにカメラを制御することと、プロセッサによって、１つ又は複数の次の姿勢を特定するために、１つ又は複数の初期画像に従って誘導マップを計算することと、プロセッサによって、１つ又は複数の次の姿勢のうちの少なくとも１つから、１つ又は複数の追加画像を取得するようにカメラを制御することと、プロセッサによって、１つ又は複数の追加画像に従って誘導マップを更新することと、三次元モデルを生成するために、カメラによって取得された画像を出力することと、を有することを特徴とする。
【００１９】
本発明に係る方法は、プロセッサに結合されたディスプレイを通して、ユーザーに誘導マップの１つ又は複数の次の姿勢のグラフィカル表現を含む視覚的フィードバックを提供すること、を更に有してもよい。
【００２０】
本発明に係る方法は、対象がコンテナであってもよく、方法は、三次元モデルに基づいてコンテナの利用可能な容積を推定すること、を更に有し、誘導マップは、利用可能な容量のコーナーを探すため１つ又は複数の次の姿勢を特定してもよい。
【００２１】
本発明に係る方法は、対象が積み重ねられた箱であってもよく、方法は、三次元モデルに基づいて箱の個数を数えること、を更に有し、誘導マップは、低いカバレッジを有する箱を特定するため１つ又は複数の次の姿勢を特定してもよい。
【００２２】
添付の図面は、本明細書と共に、本発明の例示的な実施形態を示し、明細書の記載と共に本発明の原理を説明する役割を果たす。
【図面の簡単な説明】
【００２３】
【図１Ａ】本発明の一実施形態による、シーンを走査するためのプロセスの概略を示す図である。
【図１Ｂ】本発明の一実施形態による、物体を走査するためのプロセスの概略を示す図である。
【図１Ｃ】本発明の一実施形態による、走査される物体を含むシーンの一部を撮像するための、５つのカメラの配置の概略を示す図である。
【図２Ａ】本発明の一実施形態による、走査システムのブロック図である。
【図２Ｂ】本発明の一実施形態による、取り外し可能な走査センサを有する走査システムのブロック図である。
【図３】本発明の一実施形態による、走査を実行するための方法のフローチャートを示す図である。
【図４Ａ】本発明の一実施形態による、円筒形エンベロープを画定するための物体の初期画像の取得を示す図である。
【図４Ｂ】計算された垂直エンベロープが走査される物体全体を含まない１つの状況を示す図である。
【図４Ｃ】本発明の一実施形態による、円筒形エンベロープを画定するためのシーンの初期画像の取得を示す図である。
【図５】本発明の一実施形態による、円筒形エンベロープのパッチを使用したカバレッジの計算を示す図である。
【図６Ａ】本発明の一実施形態による、包囲ドーム又は半球としての物体の周りのエンベロープの一実施形態を示す図である。
【図６Ｂ】本発明の一実施形態による、包囲ドーム又は半球としての場面の一部の周りのエンベロープの一実施形態を示す図である。
【図６Ｃ】本発明の一実施形態による、包囲ドーム上に表現される視覚化されたヒートマップの視覚化を示す図である。
【図７Ａ】本発明の一実施形態による、走査プロセス中のユーザーインターフェースを示し、走査品質の高い部分がオーバーレイで示されている図である。
【図７Ｂ】本発明の一実施形態による、パレット上の箱の個数を数えるための走査プロセス後のユーザーインターフェースを示す図である。
【図８Ａ】本発明の一実施形態による、トラック保持部の内部の走査の概略を示す図である。
【図８Ｂ】本発明の一実施形態による、トラック内の利用可能な容積の計算の概略を示す図である。
【図８Ｃ】本発明の一実施形態による、トラック内の利用可能な容積の計算の概略を示す図である。
【図８Ｄ】本発明の一実施形態による、トラック内の利用可能な容積の計算の概略を示す図である。
【図９Ａ】本発明の実施形態による支援走査システムの利益を受けることなく、物体の走査を実行するときの走査誤差の領域を示すカラーコード化されたダイヤグラムを示す図である。
【図９Ｂ】本発明の実施形態による支援走査システムを使用して物体の走査を行うときの走査誤差の領域を示すカラーコード化されたダイヤグラムを示す図である。
【発明を実施するための形態】
【００２４】
詳細な説明
以下の詳細な説明では、例示として、本発明の特定の例示的な実施形態のみが図示され、説明される。当業者が理解するように、本発明は多くの異なる形態で具体化されてもよく、本明細書に記載の実施形態に限定されると解釈されるべきではない。同一の参照番号は、明細書全体を通して同一の要素を示す。
【００２５】
多くの商業的及び工業的用途では、画像化方法及びコンピュータビジョンを使用して、物理的測定のような物体及びシーンの物理的特性を理解することができる。標準的な二次元（２Ｄ）カラーカメラを使用すると、開始のときには有用な画像を提供するが、２Ｄ画像は現実世界の測定値を保持しているわけではない。あらゆる画像要素又は画素に深度情報（例えば、カメラからの各画素の距離）を提供する深度カメラの使用は、画像処理モジュールがシーン内の物体の寸法を測定することを可能にすることによって、この問題に対処する。しかし、１つの深度画像では、シーンの幾何的なすべての側面を取得するにはまだ十分ではない。例えば、細分の程度が低い領域は曖昧さをもたらし、妨害物（例えば、他の物体を遮る物体又はシーンの部分）は、他の物体の形状を隠すかもしれない。
【００２６】
したがって、本発明の実施形態の態様は、複数の視点（例えば、複数の位置又は姿勢）からの深度（及びいくつかの実施形態では色）の情報を集約することによって、物体及び／又はシーンの完全又は部分的な三次元モデルを迅速に構築するシステム及び方法を提供することを目的とする。例えば、本発明の実施形態は、本明細書では「地面」と呼んでもよい平坦な表面上の物体（例えば、机又はテーブル上の小さな物体）を走査することに適用することができる。また、本発明の実施形態は、倉庫パレット上の箱の集合又は箱等の物体を含む棚のような、部屋又は大面積を占める物体の集合のような大きなシーンを走査するために使用されてもよい。
【００２７】
効果的な（又は十分に有用な）３Ｄモデルを構築するために、本発明の実施形態は、走査中にカメラを動かすための良好な経路を示唆する支援又は誘導を提供することを目的とする。経路は、取得の速度を加速又は最大化するために（例えば、十分な情報を有するシーンの部分の重複又は冗長な取得を避けるため）、及び、物体の重要な視点及び／又は最終的なモデルの使用目的に関連する物体及び／又はシーンの重要なビューを取得できない可能性を低減するために編集される。いくつかの実施形態では、誘導は、例えば、ディスプレイ装置を介して、人間の操作者にフィードバックを提供するために使用される。他の実施形態では、誘導は、例えば、制御可能なロボットアームに取り付けられた深度カメラの位置を自動的に制御するために使用される。本方法は、物体及びシーンの信頼性の高い正確な走査を実現するための、ユーザーフレンドリーな又は自動化された方法を提供する。本発明の実施形態は、物流、在庫管理、及び製品カタログ又はリスティング等の分野での用途を有する。
【００２８】
例えば、物流アプリケーションでは、本発明の実施形態を適用して、倉庫の棚の箱を数えるために倉庫の棚の３Ｄ走査を取得してもよいし、利用可能な残りのスペースを推定するための輸送コンテナ又はトラックの荷台の３Ｄ走査を取得してもよい。これらの状況が２Ｄ又は３Ｄのいずれのイメージングシステムであっても、単一のビューで分析された場合、単一のビューでは走査されたシーンの形状に関して多くのあいまい性が残される可能性があるため、結果は信頼できない。更に、誘導がないと、ユーザーは、これらのあいまい性を解決するためにどのような追加のビューが必要であるか理解できないことがある。本発明の実施形態による走査システムのユーザーフレンドリーな性質は、倉庫の従業員が、広範な訓練を行うことなく、複数の角度からビューを取得することによって正確な結果を生成することを可能にする。
【００２９】
図１Ａは、本発明の一実施形態によるシーンを操作するためのプロセスの概略を示す図である。特に、図１Ａは、箱型トラック１２の貨物エリアの内部を走査する走査システム１０の使用を示す。いくつかの実施形態では、走査システム１０は、カメラ、ディスプレイスクリーン、メモリ、及び処理ユニット又はプロセッサを含む。ユーザー１４は、複数の異なる姿勢からシーンの画像を取得する経路上で走査システム１０を自由に移動させることができ、それによって複数のビューが得られる。走査システム１０は、良好な結果を効率的に提供する経路上を走査システムを移動させる際にユーザーを助けることができる。例えば、空いている容積を推定するために箱型トラックの貨物エリアの内部を走査するとき、容積を計算するのに特に有用なシーンの態様を取得するように経路を設計することができる。この誘導は、走査システム１０のディスプレイスクリーン上に示されるリアルタイムフィードバックとして提供することができる。
【００３０】
複数のビューが組み合わされて、トラック１２の貨物エリアの内部のシーンの３Ｄモデルが生成される。得られた３Ｄモデルを使用して、トラックの貨物エリアの利用可能な空間又は容積１２ａを推定することができる。混載コンテナ（例えば、２０フィート又は４０フィートのコンテナ）のような輸送コンテナの内部の走査に同様に応用される。
【００３１】
３Ｄ走査結果の記憶、処理、表示は、実質的に装置内で実行され得る。しかし、３Ｄモデルを生成することは、計算上、高価になる可能性があるため、いくつかの実施形態では、装置の利用可能な通信インターフェースが、生の又は部分的に処理されたデータを、ローカルエリアネットワーク（ＬＡＮ）又はワイドエリアネットワーク（ＷＡＮ、例えばインターネット）１６を介して、リモート（又は「オフライン」）プロセッサ１８に送信するために使用される。通常、リモートプロセッサ１８は走査システム１０よりもはるかに高い処理能力及び記憶能力を有し、３Ｄ走査を迅速に最適化及び終了することができ、このサービスを複数の走査システムに提供することができる。例えば、走査システム１０は、計算されたカメラ位置からの三次元雲（対象の異なるビューからの三次元ＸＹＺ測定値の集約された整列された集合）とカラー画像を生成し、三次元雲をリモートプロセッサ１８に送ることができる。リモートプロセッサ１８は、対象のポリゴンメッシュを生成し、実際のカラーを３Ｄ走査に適用するテクスチャマッピングを実行することができる。結果は、サーバから直接ユーザーに提示することができ、又は、装置上での表示及び操作のために走査システム１０に送り返すことができる。いくつかの実施形態では、走査システム１０は、受信された３Ｄモデルに基づいて所望の値（例えば、トラックの利用可能なスペース）を計算する。又、別の実施形態において、リモートプロセッサ１８は、アプリケーションの特定値を計算する。
【００３２】
更に別の例として、製品カタログ又はリスティングのアプリケーションでは、販売される製品の３Ｄモデルを購入者が使用して、製品のサイズ及び形状をよりよく理解できるようにすることができる。例えば、米国特許出願第６２／４１２，０７５号「コンテキスチュアル  ３Ｄモデル  ステージング（ＣＯＮＴＥＸＴＵＡＬ  ３Ｄ  ＭＯＤＥＬ  ＳＴＡＧＩＮＧ）」を参照されたい。その全体の開示は、参照により本明細書に組み込まれる。本発明の実施形態は、販売する製品の正確なモデルを生成するためのユーザーフレンドリーな方法を提供し、カタログ内の製品リスト（例えば、ウェブサイト上の製品リスト）を補うために使用され得る。
【００３３】
図１Ｂは、本発明の一実施形態による、物体を走査するためのプロセスの概略を示す図である。図１Ｂに示すように、走査システム１０は、ディスプレイコンポーネント２００と取り外し可能な走査コンポーネント１００とを有する。走査コンポーネントは、地面２４として機能するテーブル上に静止している物体２０の異なるビューを取得するために、異なる姿勢（例えば、８つの異なる姿勢が図１Ｂに示されている）に自由に移動される。「自由に」という用語は、カメラを被写体の前方又は周囲に移動させるための軌道が多数存在することを意味する。一実施形態では、走査システムは、良好な結果を効率的に生成することができる物体の周りの経路をユーザーに提供することによって、ユーザーを支援する。
【００３４】
図１Ａに示した実施形態と同様に、いくつかの実施形態では、取得されたビューは、（例えば、インターネット１６を介して）リモートプロセッサ１８に送信されて３Ｄモデルが生成され、３Ｄモデルは、走査装置１０に戻し送信され、走査システム１０のディスプレイコンポーネント２００上に表示２０２されてもよい。
【００３５】
深度カメラ走査システム
走査に使用されるカメラタイプのうち、通常のカラーカメラ、深度（又はレンジ）カメラ、又は深度とカラーカメラの組み合わせを使用することができる。深度とカラーカメラの組み合わせは一般にＲＧＢ−Ｄと呼ばれ、ＲＧＢはカラー画像を表し、Ｄは深度画像（各画素はシーンの深度（又は距離）情報を符号化する）を表す。深度画像は、幾何学的方法又は電子的方法を含む様々な方法によって得ることができる。幾何学的方法の例には、パッシブ又はアクティブステレオカメラシステム及び構造化光カメラシステムが含まれる。深度画像を取得する電子的方法の例には、飛行時間（ＴＯＦ：Ｔｉｍｅ  ｏｆ  Ｆｌｉｇｈｔ）、又は一般的な走査又は固定ＬＩＤＡＲカメラが含まれる。
【００３６】
本発明のいくつかの実施形態は、ハンドヘルド３Ｄスキャナに関する。そのようなハンドヘルド３Ｄスキャナは、可能な大きな表面又は完全な物体の３Ｄ表現を生成するために、同じ表面の複数の深度画像を位置合わせすることができるソフトウェアと共に深度カメラ（各画素によって画像化された表面要素の距離を計算するカメラ）を有してもよい。ハンドヘルド３Ｄスキャナのユーザーは、物体の周りの異なる位置に３Ｄスキャナを移動させ、物体の表面の全ての点が覆われる（例えば、表面がスキャナによって撮影された少なくとも１つの深度画像内に見られる）ように方向付けする必要がある。更に、各表面パッチが、十分に高い深度測定密度（深度カメラの各画素は、１つの深度測定を提供する）を受け取っていることが重要である。深度測定の密度は、表面パッチがカメラによって観察された距離に依存し、同様に深度カメラの視線方向又は光軸に対する表面の角度又は傾斜に依存する。
【００３７】
本発明のいくつかの実施形態は、シーンの重要な部分を取得するために戦略的に配置された複数のカメラのための姿勢を特定するためのシステム及び方法に関する。各姿勢は位置及び方向を含むことができる。この場合、シーンの主要部分（例えば、姿勢の最適な集合）を効率的に取得するカメラの配置が事前に決定される。図１Ｃは、５つのカメラ１０３ａ、１０３ｂ、１０３ｃ、１０３ｄ、及び１０３ｅ（まとめて１０３）の配置の概略を示す図であり、走査される物体２０を含むシーンの一部を撮像する本発明の一実施形態に関連する。各カメラは、空間内の三次元位置及び方向（例えば、ピッチ、ヨー、及びロール）を含む対応姿勢を有してもよい。カメラは、物体２０（図１Ｃに示す実施形態では、財布である）の関連する表面のすべてを取得するために異なる姿勢で配置される。例えば、関連する表面は、物体２０が静止している地面２４上の表面を除く、すなわち地面２４によって隠されている表面を除く、物体２０のすべての表面でもよい。本発明の実施形態の態様は、物体の周りに配置されるべきカメラ１０３の姿勢（例えば、固定された姿勢）を自動的に特定することを目的としており、したがって、類似の物体（例えば、組立ライン又はコンベアベルト上の同じスタイルの他の財布）は、カメラをそれら姿勢から動かすことなく撮像することができる。
【００３８】
図２Ａは、本発明の一実施形態による、ステレオ深度カメラシステムとしての走査システムのブロック図である。
【００３９】
図２Ｂに示す走査システム１０は、第１カメラ１０２、第２カメラ１０４、投影源１０６（又は照明源、又は能動投影システム）、及びホストプロセッサ１０８及びメモリ１１０を有し、ホストプロセッサは、例えば、グラフィックス処理ユニット（ＧＰＵ）、より汎用的なプロセッサ（ＣＰＵ）、適切に構成されたフィールドプログラマブルゲートアレイ（ＦＰＧＡ）、または特定用途向け集積回路（ＡＳＩＣ）を含む。第１カメラ１０２及び第２カメラ１０４は、相対位置及び向きが実質的に固定されるように、例えばフレーム上にしっかりと取り付けられてもよい。第１カメラ１０２及び第２カメラ１０４は、あわせて「深度カメラ」と呼んでもよい。第１カメラ１０２及び第２カメラ１０４は、それぞれ画像センサ１０２ａ及び１０４ａを有し、それぞれ画像信号プロセッサ（ＩＳＰ）１０２ｂ及び１０４ｂをも有してもよい。様々な構成要素は、システムバス１１２を介して互いに通信してもよい。画像取得システム１００は、装置が画像を表示することを可能にするディスプレイ１１４、他の装置と通信するネットワークアダプタ１１６、加速度を検出する（例えば、向きを決定するため重力の方向を検出し、位置変化を検出するため動きを検出する）ためのジャイロスコープ等の慣性測定ユニット（ＩＭＵ）１１８、及び走査システム１０によって収集され処理されたデータを記憶するためのＮＡＮＤフラッシュメモリ等の永続メモリ１２０を有してもよい。ＩＭＵ１１８は、現代の多くのスマートフォンで一般的に見られるタイプのものであってもよい。又、画像取得システムは、ユニバーサルシリアルバス（ＵＳＢ）インタフェースコントローラのような他の通信コンポーネントを有してもよい。
【００４０】
いくつかの実施形態では、カメラ１０２及び１０４の画像センサ１０２ａ及び１０４ａは、ＲＧＢ−ＩＲ画像センサである。可視光（例えば、赤‐緑‐青、すなわちＲＧＢ）及び不可視光（例えば、赤外線すなわちＩＲ）情報を検出することができる画像センサは、例えば、電荷結合素子（ＣＣＤ）又は相補型金属酸化物半導体（ＣＭＯＳ）センサである。一般に、従来のＲＧＢカメラセンサは、緑色５０％、赤色２５％、青色２５％の「ベイヤー（Ｂａｙｅｒ）レイアウト」又は「ＲＧＢＧレイアウト」で配置された画素を含む。バンドパスフィルタ（又は「マイクロフィルタ」）は、ベイヤーレイアウトに従って、緑色、赤色、及び青色波長のそれぞれに対する個々のフォトダイオードの前に（例えば、フォトダイオードとカメラに関連する光学素子との間に）配置される。一般に、従来のＲＧＢカメラセンサは、電磁スペクトルのＩＲ部分の信号を更に遮蔽する、赤外線（ＩＲ）フィルタ又はＩＲカットオフフィルタ（例えば、レンズの一部又はイメージセンサチップ全体のコーティングとして形成される）を更に有する。
【００４１】
ＲＧＢ−ＩＲセンサは、従来のＲＧＢセンサと実質的に同様であるが、異なるカラーフィルタを有してもよい。例えば、ＲＧＢ−ＩＲセンサでは、４つのフォトダイオードの各グループ内の緑色フィルタの１つが、緑色２５％、赤色２５％、青色２５％、及び赤外線２５％となるレイアウトを形成するように、ＩＲバンドパスフィルタ（またはマイクロフィルタ）に置き換えられ、赤外線画素が可視光画素の間に混在する。更に、ＩＲカットフィルタは、ＲＧＢ−ＩＲセンサから省略されてもよく、ＩＲカットフィルタは、赤色光、緑色光及び青色光を検出する画素の上にのみ配置されてもよく、又はＩＲフィルタは、特定の波長間隔（例えば、８４０〜８６０ｎｍ）の光だけでなく、可視光線も通過させることができる。電磁スペクトルの複数の部分又は帯域又はスペクトル帯域の光（例えば、赤色、青色、緑色及び赤外線）を取り込むことができるイメージセンサは、本明細書では「マルチチャネル」イメージセンサと呼ばれる。
【００４２】
本発明のいくつかの実施形態では、画像センサ１０２ａ及び１０４ａは、従来の可視光センサである。本発明のいくつかの実施形態では、システムは、１つ又は複数の可視光カメラ（例えば、ＲＧＢカメラ）とは別に、１つ又は複数の不可視光カメラ（例えば赤外線カメラ、ＩＲバンドパスフィルタが画素全体に渡って配置される）を有する。
【００４３】
一般的に言えば、ステレオ深度カメラシステムは、互いに離間し、剛性フレーム等の共有構造にしっかりと取り付けられた少なくとも２つのカメラを有する。カメラは実質的に同じ方向に向けられ（例えば、カメラの光軸は実質的に平行であり得る）、重複する視野を有する。これらの個々のカメラは、イメージセンサ上に光を向け合焦させる（例えば、１つ又は複数のレンズを有する）光学系を有する相補型金属酸化膜半導体（ＣＭＯＳ）又は電荷結合素子（ＣＣＤ）イメージセンサを用いて実装することができる。光学システムは、例えば、光学システムが「広角」レンズ、「望遠」レンズ、又はその間の何かを実装するかによって、カメラの視野を決定することができる。
【００４４】
以下の説明では、深度カメラシステムの画像取得システムは、少なくとも２つのカメラを有するものをいい、「マスタ」カメラと呼ばれるカメラと、「スレーブ」カメラと呼ばれる１つ又は複数のカメラを有する。一般に、推定深度又は視差マップはマスタカメラの視点から計算されるが、任意のカメラをマスタカメラとして使用してもよい。本明細書では、注釈がない限り、マスタ／スレーブ、左／右、上／下、第１／第２、及びＣＡＭ１／ＣＡＭ２等の用語は、互換的に使用される。言い換えれば、いずれかのカメラがマスタカメラ又はスレーブカメラであってもよく、右側のカメラに対する左側のカメラについての考慮事項は、反対方向の対称性によって適用されてもよい。更に、以下に示す考察は、様々な数のカメラに対して有効であり得るが、便宜上、一般に、システムは２つのカメラを有するとの属性の下で記述する。例えば、深度カメラシステムは、３つのカメラを有してもよい。このようなシステムでは、カメラのうちの２つは不可視光（赤外線）カメラであり、第３のカメラは可視光（例えば、赤／青／緑のカラーカメラ）カメラであってもよい。第３のカメラは、第１及び第２のカメラと光学的に位置合わせ（例えば、較正）がされてもよい。３つのカメラを含む深度カメラシステムの一例が、２０１６年５月５日に米国特許商標庁に提出された米国特許出願第１５／１４７，８７９号「深度知覚三眼カメラシステム」に記載されており、参照により本明細書に組み込まれる。
【００４５】
カメラによって撮像されたシーン内の特徴点の深さを検出するために、深度カメラシステムは、カメラによって取得された画像のそれぞれにおける特徴点の画素位置を決定する。２つの画像内の特徴点間の距離は、視差と呼ばれ、物体の距離又は深度に反比例する（これは、一度に１つの眼で物体を見るときにオブジェクトがどのくらい「シフトするか」を比較したときの効果である。シフトのサイズは、物体が観察者の目からどのくらい離れているかによって異なる。遠くの物体はより小さなシフトを行い、遠くの物体は検出可能なシフトがほとんどないか全くない。）。視差を使用して深度を計算する技術は、例えばＲ．Ｓｚｅｌｉｓｋ「コンピュータビジョン：アルゴリズムと応用」、Ｓｐｒｉｎｇｅｒ、２０１０ｐｐ４６７  ｅｔ  ｓｅｑ、に記載されている。
【００４６】
マスタカメラとスレーブカメラ間の視差の大きさは、カメラの画素解像度、カメラ間の距離、カメラの視野等の深度カメラシステムの物理的特性に依存する。したがって、正確な深度測定値を生成するために、深度カメラシステム（又は深度知覚深度カメラシステム）は、これらの物理的特性に基づいて較正される。
【００４７】
いくつかの深度カメラシステムでは、カメラのイメージセンサの画素の水平列が実質的に平行になるようにカメラを配置してもよい。画像レクティフィケーション（ｒｅｃｔｉｆｉｃａｔｉｏｎ）技術は、カメラのレンズの形状及びカメラの向きの変化に起因する画像に対する歪みを適応させるために使用することができる。
【００４８】
より詳細には、カメラ較正情報は、等価カメラシステムのエピポーラ線が修正された画像の走査線と整列するように、入力画像を修正するための情報を提供することができる。このような場合、シーン内の３Ｄ点は、マスタ内のスレーブイメージと同じ走査線インデックスに投影さる。マスタとスレーブに相当するカメラの同じ３Ｄ点ｐの画像の走査線上の座標をそれぞれｕｍ、ｕｓとすると、各カメラにおいてこれらの座標は、修正された画像の走査線に平行な水平軸を有する主点（焦点面と光軸の交点）を中心とする軸系を参照する。差ｕｓ−ｕｍは、視差と呼ばれ、ｄで示され、修正されたカメラに対する３Ｄ点の直交距離（すなわち、いずれかのカメラの光軸上への点の正射影の長さ）に反比例する。
【００４９】
立体視アルゴリズムは、この不一致の特性を利用する。これらのアルゴリズムは、左右のビューで検出された点（又は特徴点）を一致させること、これは、視差を推定することと等価である、によって、３Ｄ再構成を実現する。ブロックマッチング（ＢＭ）は、一般的に使用される立体アルゴリズムである。マスタカメラ画像内の画素が与えられると、アルゴリズムは、この画素をスレーブカメラ画像内の他の画素に一致させるためのコストを計算する。このコスト関数は、マスタ画像内の画素を囲む小さなウィンドウ内の画像内容とスレーブ画像内の画素との間の相違度として定義される。点における最適な視差は、最小マッチングコストの議論として最終的に推定される。この手続きは一般的に勝者総取り方式（ＷＴＡ：Ｗｉｎｎｅｒ−Ｔａｋｅｓ−Ａｌｌ）として扱われる。これらの技術は、例えば、Ｒ．Ｓｚｅｌｉｓｋｉ「コンピュータビジョン：アルゴリズムとアプリケーション」、Ｓｐｒｉｎｇｅｒ、２０１０  に詳細に記載されている。ＢＭのような立体視アルゴリズムは外観の類似性に依存するため、スレーブ画像内の２つ以上の画素が同じ局所的な外観を有する場合、これらの画素の全てがマスタ画像内の同じ画素に類似している可能性があるので、視差計算は困難になり、視差推定は不正確となる。これが起こり得る典型的な状況は、平坦な壁等の一定の明るさを有するシーンを視覚化する場合である。
【００５０】
２０１６年７月１２日に発行された、米国特許第９，３９２，２６２号公報「複数のマルチチャネルカメラを使用する３Ｄ再構成のためのシステム及び方法」、その全開示は参照により本明細書に組み込まれる、に記載されているように、小さな３Ｄディテールを取り込むことができるブロックマッチングアルゴリズムの性能を改善又は最適化するように設計されたパターンを投影することによって、追加の照明を提供する方法が存在する。別のアプローチでは、シーンにテクスチャを提供するためにただ使用されるパターンを投影し、投影がなければ同じように見えてしまうシーンの部分を明確にすることによってテクスチャレス領域の深度推定を特に向上させる。
【００５１】
本発明の実施形態による投影源１０６は、カメラ１０２及び１０４によって撮像されるシーンに向かって、可視光（例えば、人間及び／又は他の動物に見えるスペクトル内の光）又は不可視光（例えば、赤外線）を放出するように構成されてもよい。言い換えると、投影源は、カメラ１０２及び１０４の光軸に実質的に平行な光軸を有し、カメラ１０２及び１０４の視野の方向に光を放射するように構成されてもよい。目に見えない光投影源は、目に見えない光が対象の見る能力を妨げないので、対象が人である状況（例えば、ビデオ会議システム等）に適しているが、可視光投影源は対象者の眼に不快に輝くことがあり、あるいはシーンにパターンを追加することによって感覚に望ましくない影響を及ぼす可能性がある。不可視光投影源を含むシステムの例は、例えば、２０１５年６月３０日に米国特許商標庁に出願された米国特許出願第１４／７８８，０７８号「複数の露出設定に基づくマルチチャネル画像化のためのシステム及び方法」に記載されており、その全開示は参照により本明細書に組み込まれる。
【００５２】
又、能動投影源は、投影静的パターン、例えば経時的に変化しないパターンと、動的パターン、例えば経時的に変化するパターンとに分類することができる。両方のケースにおいて、パターンの１つの態様は、投影されたパターンの照明レベルである。これは、深度カメラシステムの深度ダイナミックレンジに影響を及ぼすことがあるため、関連性がある。例えば、光学照明が高レベルのときは、明るい周囲光条件下で、（例えば、距離の逆２乗に比例する因子による物体までの距離にわたる光学的照明の減少を克服して）遠くの物体の深度測定を行うことができる。しかし、高い光学的照明レベルは、クローズアップされているシーンの部分の飽和を引き起こす可能性がある。一方、低い照明レベルは、遠くの物体ではなく近い物体の測定を可能にする。
【００５３】
図２Ｂは、本発明の一実施形態による、ステレオカメラシステムとしての走査システムのブロック図である。図１Ｂと同様に、図２Ｂに示される実施形態において、走査システム１０は、取り外し可能な走査コンポーネント１００と表示コンポーネント２００、２つのコンポーネントを有する。いくつかの実施形態では、ディスプレイコンポーネント２００は、スマートフォン、タブレット、パーソナルデジタルアシスタント、又は他の同様のシステム等のコンピュータシステムである。分離可能な走査コンポーネントと表示コンポーネントを使用する走査システムは、より詳細に、例えば、２０１６年１２月１６日に米国特許商標庁に出願された米国特許出願第１５／３８２，２１０号「スクリーンから取り外し可能な走査センサ有する３Ｄ走査装置」に記載されており、その全開示は参照により本明細書に組み込まれる。
【００５４】
本発明の実施形態は、本明細書ではステレオ深度カメラシステムに関して説明しているが、本発明の実施形態はこれに限定されず、飛行時間型カメラ及びＬＩＤＡＲカメラ等の他の深度カメラシステムを使用してもよい。
【００５５】
カメラの選択に応じて、３Ｄモデルを生成するために別の技術を使用してもよい。例えば、３Ｄモデルを生成するために、リアルタイムの高密度トラッキングとマッピング（ＤＴＡＭ：Ｄｅｎｓｅ  Ｔｒａｃｋｉｎｇ  ａｎｄ  Ｍａｐｐｉｎｇ））は、走査にカラーキューを使用し、同時ローカリゼーションとマッピングは、深度データ（又は深度と色データの組み合わせ）を使用する。
【００５６】
動作方法
図３は、本発明の一実施形態による走査を実行するための方法のフローチャートを示す図である。本発明のいくつかの実施形態では、走査システム１０のメモリに記憶された命令（例えば、コンピュータプログラム）が、走査システムのプロセッサ及び／又はコントローラによって実行され、本方法の様々な動作を実行する。本発明の他の実施形態では、動作の一部又は全部は、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、グラフィック処理ユニット（ＧＰＵ）等のような他のタイプの処理装置により実行されてもよい。
【００５７】
便宜上、この方法は、図２Ａ及び図２Ｂに関連して上述した走査システム１０との関連で以下に説明されるが、特に、ステレオ深度カメラシステムの関連では、本発明の実施形態はこれに限定されず、１つ又は複数のビューから深度を推定する他のカメラシステムに適用することができる。以下の説明では、物体及び／又はシーンの画像が、異なる視点又は姿勢から同じカメラで、又は異なる視点又は姿勢から複数のカメラ（例えば、ステレオカメラシステム）で取得されると仮定する。しかし、本発明の実施形態は、これに限定されず、単一のカメラから取得された画像、又は同じ対象（例えば、物体又はシーン）を取得するために使用された複数のカメラから取得された画像、又はそれらの組み合わせの画像の環境に適用してもよい。
【００５８】
本発明の実施形態は、走査される対象（例えば、物体又はシーン）の表面の異なるパッチのカバレッジ及び測定密度を監視し、適切なユーザーインターフェースを介して、スキャナを使用して、迅速かつ効率的に表面全体を覆い、測定の十分な密度を確保する。本発明の実施形態による方法の指示に従うことにより、ユーザーは、物体の一部又はシーンの表面の欠落、又は一部の表面のアンダーサンプリングのリスクを低減することができる。又、この方法はすでに十分に覆われている取得表面を回避又は低減し、それによってオーバーサンプリング問題に対処する。その結果、良好に形成された３Ｄ走査を生成する全体の時間が短縮されるか、又は最小化される。
【００５９】
図３に示すように、動作３０２において、プロセッサ（例えば、図２Ａのホストプロセッサ１０８、又は図２Ｂのコントローラ１０８と共同して動作するプロセッサ２１０）が走査装置を制御して初期画像を取得する。プロセッサは、カメラ１０２及び１０４を制御して実質的に同じ時間に画像を取得し、深度画像が最初の画像である上記のような画像視差技術を使用して深度画像を計算することができる。いくつかの環境では、投影源１０６は、画像の取得中に追加の照明を提供するように制御されてもよい。
【００６０】
動作３０４において、プロセッサは、動作３０２で取得された深度画像に基づいて誘導マップを初期化する。深度画像は深度情報を含むので、この画像はある意味では既に３Ｄモデルである。誘導マップは、走査を改善するために追加画像を得るためにカメラの１つ又は複数の追加の姿勢を特定するために使用され得る走査の進行の表示である。いくつかの実施形態では、「エンベロープ」が誘導マップの形状を定義するために使用される。いくつかの実施形態では、プロセッサは、エンベロープを定義するために初期画像を使用してもよく、エンベロープは、走査される対象（例えば、物体又はシーン）の形状の概要形容を表している。このエンベロープは、複数の方法で取得できる。例えば、初期画像を使用して、走査される物体又は走査されるシーンの部分を囲む仮想表面（例えば、円筒形、球状、又は半球状のドーム）を定義してもよく、初期画像は、シーンや物体の一般的な外観を定義するために使用される。いくつかの実施形態では、初期画像は、物体が静止している地面に垂直な光軸（例えば、物体の上面図）に沿って取得されてもよい。いくつかの実施形態では、棚、箱の積み重ね、及び部屋又はコンテナの内部等のシーン又は大きな物体を撮像する場合、初期画像は、上面図の代わりにユーザーによって選択された正面図又は関心領域であってもよい。形状エンベロープは、走査処理中は固定されたままにすることができ、又、より多くの３Ｄデータが取得されるにつれて徐々に改良してもよい。
【００６１】
いくつかの実施形態では、初期３Ｄモデル及びエンベロープは、対象（例えば、物体又はシーン）の近似的な粗い形状を取得するため、走査システムを経路に沿って移動させることによる迅速な３Ｄ走査に基づいて生成される。この迅速走査はプロセスの初期化のために使用されるので、この初期走査に関連する低いカバレッジ及びアンダーサンプリングの課題は、プロセスを通じて解決され、修正される。
【００６２】
図４Ａは、本発明の一実施形態による円筒形エンベロープを画定するための物体の初期画像の取得を示す。図４Ａに示すように、走査システム１０は、例えば、地面２４に実質的に垂直な光軸４０に沿った上面方向から物体２０の画像を取り込む。
【００６３】
上面方向から取得された最初の深度画像に基づいて、物体が実質的に平坦な表面又は地面２４（例えば、机の上）に置かれていると仮定すると、上から見た物体２０の近似的な３Ｄの「垂直エンベロープ」４１４を構築することが可能である。この垂直エンベロープ４１４を構成するために、走査システム１０の深度カメラによって上面方向から測定された各３Ｄ点について、プロセッサは３Ｄ点の地面２４への垂直投影（ジェネレータと呼ばれる）を計算する。いくつかの実施形態では、プロセッサは、単一画像の最初の取り込み中に走査システムの光軸に平行になるように垂直方向を決定する。慣性測定ユニットＩＭＵ１１８を含む本発明の他の実施形態では、垂直方向は、重力ベクトルに平行に設定してもよい。図２Ｂに示すような着脱可能な走査コンポーネント１００を使用する実施形態では、着脱可能な走査コンポーネント１００はＩＭＵ１１８を欠いてもよく、表示コンポーネント２００はＩＭＵ１１８を含んでもよい（例えば、表示コンポーネント２００がスマートフォンである場合）。そのような場合、ＩＭＵ１１８からの向き情報で初期画像が取得されるように表示コンポーネント２００に物理的にかつ堅固に接続された着脱可能な走査コンポーネント１００によって、初期画像を取り込んでもよい。
【００６４】
物体の各３Ｄ点を地面に投影することによって、プロセッサは、発生源の凸面状エンベロープ（すなわちハル（ｈｕｌｌ））を計算する。このハルの頂点を通る垂直線は、一般化された円筒（例えば、凸形状のような同じ形状の閉曲線である２つの平行な端部と、２つの端部の面に垂直な方向に沿って２つの端部間に延びる面を有するボリューム）を定める。本明細書では、この一般化された円筒は、物体の標準的な垂直エンベロープと呼ばれる。図４Ａに示すように、エンベロープ４１４は、凸状ハルの形状に端部４１４ｅ及び４１４ｈを有する一般化された円筒である。
【００６５】
便宜上、エンベロープ４１４は物体２０全体を含むと仮定する。しかし、物体２０が底面（例えば、地面２４の近く）でわずかに広い場合等、これが真実でない場合がある。図４Ｂは、計算された垂直エンベロープが走査される物体全体を含まない１つの状況を示す。図４Ｂに示すように、物体２０´は、物体の上部円形エッジに接触するカメラからの光線がその側面に接するような、灰色で示された円錐台の一般的な形状を有する。円筒形エンベロープ（上部円形エッジ４１４ｅで測定された点を地面に直交投影することによって形成される）は、暗いエッジで示された円筒４１４を形成する。この場合、円筒形エンベロープ４１４は全体として物体２０´を含まない。
【００６６】
円筒形エンベロープが物体全体を包含しない状況に対処するために、本発明のいくつかの実施形態では、走査中に２０´に関するより多くの情報が他のビュー（例えば、側面のビュー）から収集されるので、プロセッサは、物体２０´全体を包含するように円筒形エンベロープ４１４を更新する。
【００６７】
上述のように、場合によっては、本発明の実施形態は、比較的小さな物体ではなくシーンを走査するために使用される。図４Ｃは、本発明の一実施形態による円筒形エンベロープを画定するためのシーンの初期画像の取得を示す。図４Ｃに示すように、走査システム１０は、シーンの画像、ここでは箱２０´´の積み重ねを側面から撮影する。箱の上面ビューを得ることは実用的ではないので（例えば、そうするときには、はしご又はフォークリフトを必要とするかもしれない）、この場合には側面ビューを使用してもよい。図４Ｃに示すように、走査システム１０の深度カメラの光軸４０は、実際の地面に実質的に平行である（例えば、重力に対して垂直である）が、本発明の実施形態はこれに限定されず、他の角度に向けられてもよい。便宜上、最初の画像が取得されたときに、深度カメラからある距離をおいて仮想背景面２６が深度カメラの光軸４０に対して垂直であるように定義されてもよい。したがって、エンベロープ４１４は、一般化された円筒（この場合、長方形プリズム）として定義されてもよい。物体を走査するのと同様の方法で、一般化された円筒形エンベロープは、端部に垂直な面によって接続された平行な端部４１４ｅ及び４１４ｈを有することができる。
【００６８】
図３を参照すると、動作３０６において、３Ｄモデルは、品質について、例えばカバレッジ及び密度に関して、評価される。本明細書で使用される場合、形状エンベロープの表面パッチの「カバレッジ」は、このパッチが１つ以上のカメラ姿勢によって画像化された解像度を指す。形状エンベロープの「全体的なカバレッジ」という用語は、本明細書では、走査プロセス中に対象（例えば、物体又はシーン）の表面が覆われている程度を表すために使用される。特定の姿勢においてカメラによって提供される「増分カバレッジ」は、ある姿勢でカメラからもう１枚の画像を取得することによって提供される、形状の全体的なカバレッジの面での改善を表す。ここで、「姿勢」は、カメラの位置と向きの両方を表している。
【００６９】
本発明の一実施形態によれば、プロセッサは、様々な潜在的なカメラ姿勢の表現（すなわちマップ）を生成し、各々は、関連する増分カバレッジ値を有する。このマップは、付加的な画像（例えば、深度画像）が所与の姿勢から取得された場合に、対象（例えば、物体又はシーン）の全体的なカバレッジがどれだけ向上するかを予測する。このマップには、すべての可能な姿勢、又はそのような姿勢のサブセットのみが含まれることがある。直接視覚なフィードバックを提供する実施形態の場合、マッピングされる姿勢の適切なサブセットの選択は、この情報のユーザーへの提示を単純化することができる。例えば、物体の中心にある半球又は包囲ドームは、すべてのカメラは物体の中心に向けられているとしたとき、物体中心から固定された距離にある可能なカメラ位置の集合を表すことができる。
【００７０】
図５は、本発明の一実施形態による円筒形エンベロープのパッチを使用したカバレッジの計算を示す図である。本発明の一実施形態によれば、プロセッサは、エンベロープ４１４の表面、例えば、図５に示されるような、適切なサイズのセル又はパッチ４１４ｐを有する円筒の表面のテッセレーション（ｔｅｓｓｅｌｌａｔｉｏｎ）を画定する。セルのサイズは、３Ｄモデルの所望の解像度、深度カメラシステムの解像度、及び深度カメラシステムの視野に基づいて設定してもよい。
【００７１】
プロセッサは、各テッセレーションセルをインデックスｉに割り当て、同様にこのセルが深度カメラによって撮像されているかどうかを指定する変数（カバレッジΩｉ）とこの撮像プロセスが発生したときの分解能とに割り当てる。カバレッジΩｉは、セルがどのカメラ（「カメラ」という用語は、任意の数の異なるカメラ、又は複数の姿勢からの画像を取得する同じカメラ、を示すために使用されることに注意されたい。）でも撮影されていないときは０である。ｊ番目のカメラがｉ番目のパッチを撮像した場合、このカメラによって提供されるカバレッジΩｉ，ｊを、カメラの光学的中心に頂点を持つ、パッチによって定められた立体角として定義することができる。この角度は、そのパッチを見るカメラ内のピクセルの数に比例する。つまり、大きな角度は、同じパッチ領域に対してより高い撮像解像度をもたらす。視線方向とパッチの法線との間の角度をα、カメラとパッチとの間の距離をＲ、パッチ領域をＡとする。Ωｉ，ｊ＝Ａ(cos α)／Ｒ２であることは容易にわかる。これらの量は、図５に例として示されている。「カバレッジ」の他の定義には、パッチの深さ再構成の品質に影響するかもしれないシャドーイング（ｓｈａｄｏｗｉｎｇ）、オクルージョン（ｏｃｃｌｕｓｉｏｎｓ）、照明効果等の考慮事項が含まれることがある。複数のカメラによってパッチが撮像された場合、最大のカバレッジ値が記憶される。すなわち、
【数１】
2019514240.tif 000003
である。
【００７２】
図５に示すように、円筒形エンベロープのｉ番目のパッチ４１４ｐは、２つのカメラ（カメラ１０−１とカメラ１０−２）から視覚化される。パッチに対する２つのカメラのそれぞれの距離は、Ｒ１とＲ２であり、パッチの中心へのカメラの視線とパッチの中心での法線５０２との間の角度は、α１とα２。カメラの中心から見込むパッチの角度はΩｉ，１、Ωｉ，２である。角度Ωｉ，１、Ωｉ，２は、パッチを撮像する各カメラのピクセル数に比例する（したがって、パッチ４１４ｐが撮像される解像度を示す）。
【００７３】
したがって、Ｎ個のカメラによって撮像されたエンベロープの全体的なカバレッジは、すべてのパッチのカバレッジの合計として、
【数２】
2019514240.tif 000004
で定義される。
【００７４】
新しい姿勢からの物体２０の追加の深度画像は、物体２０の全体的なカバレッジを増加させる可能性が高い。これは、以前の深度画像のいずれかによっても画像化されなかったいくつかの表面パッチが新しい画像によって画像化され、深度画像がより高い解像度を有する１つ以上のパッチを取得するからである。Ｎ＋１番目のカメラによって取得された増分カバレッジは、この概念を、ΔΩＮ＋１＝ΩＮ＋１−ΩＮ  として定量化する。
【００７５】
動作３０８では、モデルの品質の評価に基づいて、システムは、走査を継続するか、または良好な３Ｄモデルを生成するのに十分なデータがあるかどうかを判定する。上述したように、増分カバレッジマップΔΩＮ＋１（ｐ）は、新しいビューが得られる可能性のある各カメラ姿勢ｐと、この新しいビューによって提供される増分カバレッジとを関連付ける関数である。姿勢ｐ＝（ｘ，Ｏ）は、取得したときのカメラシステムの位置ｘと方向Ｏの両方を表し、したがって、６自由度（例えば、位置ｘの三次元座標と三つの自由度ピッチ、ヨー、及びロール等の方向次元）により特徴付けられることに留意されたい。増分カバレッジマップは、全体的なカバレッジを増加させるために走査システム１０をどこに移動するかについての誘導を提供するために使用されてもよい。
【００７６】
いくつかの計算上制約されている状況では、姿勢の空間の大きな次元（６自由度を有する）が与えられたとき、実質的にすべての可能な姿勢ｐを増分カバレッジ値と関連付ける完全な増分カバレッジマップΔΩＮ＋１を計算することは（計算コストの面で）高価になる可能性がある。更に、直感的なユーザーインターフェースを介してユーザーに姿勢情報を伝達することは難しいかもしれない。
【００７７】
したがって、本発明のいくつかの実施形態は、可能な姿勢のサブセットを表すが、依然として多種多様な姿勢を代表する、削減された増分カバレッジマップを対象とする。又、この削減された増分カバレッジマップは、ユーザーインターフェース（例えば、ディスプレイ装置）を介してユーザーと通信することも容易であり得る。
【００７８】
本発明の一実施形態によれば、削減された増分カバレッジマップは、包囲ドーム又は半球を参照して構成される。
【００７９】
図６Ａは、本発明の一実施形態による包囲ドーム又は半球としての物体の周囲のエンベロープの一実施形態を示す図である。図６Ｂは、本発明の一実施形態による包囲ドーム又は半球としてのシーンの一部の周りのエンベロープの一実施形態を示す図である。
【００８０】
本発明の一実施形態では、図６Ａに示すように、物体を地面上で走査するとき、包囲ドーム６１４は、地面２４に平行な基部６１４ｂを有する半球によって画定され、基部の中心は、基部６１４ｂの中心（例えば重心）を有する接地平面２４上の円筒形エンベロープ４１４の水平断面であり、物体接地中心６１４ｃと呼ばれる。ドームの半径Ｒは、円筒形エンベロープ４１４を完全に収容するのに十分な大きさの値に設定される。
【００８１】
同様に、図６Ｂを参照すると、本発明の一実施形態では、シーンを走査するとき、包囲ドーム６１４は、仮想背景２６に平行な基部６１４ｂを有する半球によって画定される。
【００８２】
ドーム６１４内の各点は、走査システム１０の深度カメラの可能な姿勢ｐ＝（ｘ，Ｏ）を表す。具体的には、ｘは、ドーム６１４上の任意の点（したがって、物体の地面中心から距離Ｒにある任意の点）であり、Ｏは、カメラの光軸が物体の地面中心６１４ｃと交差するような深度カメラの向きである。テッセレーションは、円筒形エンベロープ４１４の表面のテッセレーション処理に関して上述したのと同様の方法で、ドームの表面上に画定される。走査処理中の各点で、増分カバレッジマップΔΩＮ＋１がこのテッセレーションについて定義される。言い換えれば、テッセレーションの各セルは、特定の姿勢ｐ（例えば、深度カメラの特定の位置ｘ及び向きＯ）を表し、対応する値ΔΩＮ＋１に関連付けられる。いくつかの実施形態では、増分カバレッジマップをヒートマップとして視覚化することができる。図６Ｃは、本発明の一実施形態による、包囲ドーム上の表わされたヒートマップの視覚化を示す図である（以下でより詳細に説明するように、シェーディングは、現在のモデルを改善するために、次に撮像されるドームの一部を示すために使用されてもよい。）。追加の姿勢から対象（例えば、物体又はシーン）の追加画像（例えば、深度画像）が取得されると、増分カバレッジマップが更新されるので、ドーム上のヒートマップは、新しい深度画像が取られるたびに再計算される。
【００８３】
ドームの表面上の点は、２つのパラメータのみを使用して特定できる。これは、削減された増分カバレッジマップ内のヒートマップを計算することは、６自由度を有する完全な増分カバレッジマップを計算することよりもはるかに単純な動作であることを意味する。
【００８４】
動作３０８において、プロセッサは、全体的なカバレッジが十分に高いかどうか、及び／又は残りの姿勢によって提供される増分カバレッジが低すぎるか否か（例えば、閾値を満たす）を決定する。これは、完全な増分カバレッジマップ又は削減された増分カバレッジマップに基づいて計算することができる。そうである場合、走査は停止され、取得された画像から最終的な高品質３Ｄモデルをレンダリングする等して、動作３１０でモデルが完成する。又、このプロセスはユーザーによって手動で停止されてもよい。上述のように、いくつかの実施形態では、動作３１０においてモデルを完成させるプロセスは、部分的に処理されたデータ又は生データをリモートプロセッサに送信して、最終的な３Ｄモデルを生成することを含む。いくつかの実施形態では、３Ｄモデルを構築することは、アプリケーション特有の機能（以下でより詳細に説明するように、箱を数えたり、空き容量を推定したりする等）を実行するプロセスの中間段階である。したがって、いくつかの実施形態では、動作３１０は、アプリケーション固有の機能の結果を計算すること（例えば、箱の総数を計算すること、又は空間の実際の占有されていない容量を計算すること等）を含む。
【００８５】
一方、分析が、異なる姿勢から取得された追加画像から３Ｄ走査は利益を受けることを示す場合、プロセスは動作３１２に進む。
【００８６】
動作３１２において、プロセッサは、カバレッジを改善する１又は複数の姿勢を決定し、動作３１４において、動作３１２で決定された１つ又は複数の姿勢によって導かれ、次の画像が新しい姿勢から取得される。動作３１６において、誘導マップは、追加画像に基づいて更新される。
【００８７】
例えば、一実施形態では、動作３１２において、プロセッサは、増分カバレッジマップによって示される、特定の姿勢が最も高い増分カバレッジを有すると判定し、動作３１４で、深度カメラをその姿勢ｐｉに移動し、その姿勢から画像を取得するように走査センサを導く（例として、これは、図６Ｃで姿勢ｐｉとして示される。）。これにより、短時間で所望のレベルの全体的なカバレッジに到達することを可能にする「貪欲な」走査戦略が得られる（「カメラを姿勢ｐ＝（ｘ，Ｏ）に移動すること」は、カメラを位置ｘに移動させ、向きＯで方向付けることを意味することに留意されたい。）。ユーザーフレンドリーであるために、特定の姿勢ｐｉは、追加の増分カバレッジを提供するために、深度カメラが位置ｘに対して（例えば、数ｃｍ内に）「十分に近い」程度であり、方向Ｏに対して（例えば、数度以内に）十分近接した方向を有するように近似してもよい。
【００８８】
しかし、本発明の他の実施形態は、異なる走査方法を実装することができる。例えば、増分カバレッジマップが与えられると、動作３１２において、プロセッサは、コスト関数を低減又は最小化する１つ又は複数の姿勢を含む経路を自動的に決定することができる。動作３１４で深度カメラが経路に沿って移動するにつれて、画像が取得される（例えば、深度カメラが移動すると自動的に取得される）。このコスト関数は、取得された形状情報（例えば、カバレッジ）及びこの経路をたどってこの情報を取得するのにかかる時間について定義することができる。同一のカバレッジは、異なる走査経路をたどることによって得ることができ、異なる経路は、例えば、経路の長さ又は経路がすでに走査された領域上を横切ってオーバーサンプリングを生じるか否かによって異なる実行時間を必要とする。例えば、所与の経路のコスト関数は、最小閾値を超えるカバレッジをもたらす走査を完了するのに要する時間とすることができる。最適な走査経路（例えば、コスト関数を最小にする経路）は、経路計画アルゴリズムを使用して計算することができ、適切なインターフェースを介してユーザーに表示することができ、又は、ロボット制御される深度カメラマウントの制御を通して深度カメラの経路を直接に制禦するように提供される。
【００８９】
フィードバックがユーザーに提供される本発明の実施形態では、ドーム上のヒートマップは、動作３１２において、走査システムのスクリーン上の適切なグラフィカルインタフェースを用いて表現されてもよい。この画面は、携帯型装置の一部であってもよい（例えば、図２Ａの実施形態のような深度カメラを含む同じ筐体内にある、又は図２Ｂに示すような取り外し可能な形態である）、又は外部（図２Ｂの実施形態の場合のように、スキャナに接続されたラップトップ又はデスクトップコンピュータ）であってもよい。ヒートマップは、例えば、レンダリングされた半球の表面上に異なる色を使用して表すことができる（例えば、図６Ｃに示すように、高い増分カバレッジ値に関連付けられているドーム上の位置である場合は、そのドーム上の位置は赤で表示してもよい）。カメラの位置は、例えば、明確に識別可能なマーカー（例えば、暗点又はカメラの形状）を使用して、この半球上に表示することができる。半球上のカラーヒートマップは、高い増分カバレッジを有する姿勢は物体又はシーンの表面の以前に覆われていないパッチを覆う可能性が高いので、動作３１４において、高い増分カバレージに関連付けられた姿勢に向かってカメラを移動させ、これらの姿勢からの画像を取得するようユーザーに指示するためのユーザーインターフェースの一実施形態である。
【００９０】
本発明のいくつかの実施形態は、深度カメラの位置の変化に応じてヒートマップを更新することを対象とする。半径Ｒを有するドーム上のヒートマップは、同じ半径Ｒを有するドーム上の姿勢に対する増分カバレッジについての情報をユーザーに提供するだけである。つまり、半径Ｒのドームの図６Ｃのヒートマップは、ユーザーが、物体の地面中心６１４ｃから実質的に同じ距離Ｒに深度カメラを維持し、深度カメラが物体の地面中心６１４ｃに向くように配向されているとの前提のもとでのみ有効である。このように、ドームが計算されるときの半径Ｒの選択は、走査品質に影響を及ぼす可能性がある。簡単な解決策は、ドームの半径Ｒを、カメラと物体の地面中心との間の現在の距離と等しくすることである。カメラを物体の地面中心に近づけたり離したりすると、ドームの半径は追従して変化し、プロセッサは新しいドームの新しいヒートマップを計算する。ユーザーはカメラを次にどこに移動するか、どのように向きを変えるかについて自由であり、新しい深度画像が収集されるたびに、増分カバレッジマップが更新され、新しいヒートマップが生成されることに留意されたい。例えば、ユーザーが距離Ｒ´≠Ｒを有する新しい位置にカメラを移動すると、半径Ｒ´を有するドームに対してヒートマップが再生成される。例えば、ドームは固定された半径Ｒ０にいつも保たれているようにする他のオプションも可能である。
【００９１】
本発明の一実施形態では、動作３１４で画像を取得するとき、プロセッサは、各画像における対象（例えば、物体又はシーン）に関するカメラの姿勢（例えば、位置及び向き）を決定する。これは、ＩＣＰ（Ｉｔｅｒａｔｉｖｅ  Ｃｌｏｓｅｓｔ  Ｐｏｉｎｔ）アルゴリズムのような従来技術で周知の様々な方法を用いて異なる視点から測定された３Ｄ点群の位置合わせから得られる。又、カメラ姿勢推定のためのこれらの方法は、カメラに取り付けられた加速度計及びジャイロを含む慣性測定ユニット（ＩＭＵ）を利用してもよい。現代のスマートフォンに埋め込まれるタイプの小型慣性センサは、安価で容易に入手可能である。このように、本発明の実施形態は、動作３１４で画像を取り込む間の深度カメラの実際の姿勢ｐを決定することができる。
【００９２】
動作３１６において、プロセッサは、追加取得画像に基づいて誘導マップを更新する。いくつかの実施形態では、プロセッサは、エンベロープのサイズ及び位置を含むエンベロープの形状も更新する。
【００９３】
動作３１８において、プロセッサは、物体の形状の現在の近似的知見を表す物体エンベロープ上のカバレッジマップを更新する。又、いくつかの実施形態では、例えば、現在の物体モデルに対して登録された深度データを使用した以前のエンベロープによって包含されていない対象（例えば、物体又はシーン）の部分を包含するように、エンベロープの形状はエンベロープのサイズを大きくするか形状を変更することにより更新される。これは、エンベロープのより複雑なモデルの使用と表面カバレッジ及び増分カバレッジのより多くの計算を代価として、表面カバレッジのより正確な推定を提供することができる。
【００９４】
カバレッジマップを更新した後、フローは動作３０６に戻り、そこで更新されたカバレッジマップが評価され、動作３０８において、プロセッサは更新されたカバレッジマップに基づいて走査を続けるかどうかを決定する。
【００９５】
使用例
本明細書で使用されるように、走査の適用範囲の「正確さ」及び「完全性」という用語は、３Ｄ走査の意図される用途に依存し得る。例えば、利用可能な空間の容量又は積み重ねられた箱の個数を見積もることに関連するアプリケーションでは、走査システムは、シーンの主要部分のわずかな画像を使用してこれらの計算を実行することができ、したがって、システムによって提供される誘導は、それに応じていくつかの姿勢（例えば、主要な位置の高い増分カバレッジを提供する姿勢、又は主要な位置を迅速に見つけるための検索パス）を選択であろう。別の例として、詳細な３Ｄモデルを生成するための物体を走査する（例えば、製品ページ上にリストアップするための装飾物を走査する）ためのアプリケーションでは、高度な詳細かつ完全なカバレッジが望ましい場合があり、走査システムによって提供される誘導は、物体の高レベルのカバレッジを提供するために多数の姿勢を特定するようにしてもよい。
【００９６】
品目を数えること、箱及び特定物
本発明の実施形態のいくつかの態様は、支援された又は誘導された走査から利益を得ることのできる物流オペレーションにおいて走査システムを適用するための方法に関する。１つのアプリケーションでは、パレット又は棚の３Ｄ表現を得るためにパレット又は倉庫の棚に梱包された箱の大きな積み重ねが走査され、梱包された箱の構成を推定するために使用され、その後、積み重ねられた箱の数を計算し、したがって、現在の在庫、欠けている箱、間違った箱等の情報を推定する。
【００９７】
例えば、一実施形態では、倉庫の従業員が棚まで歩いていき、箱の品揃えを含む棚の迅速な走査を実行するために走査システムを使用してもよい。走査結果は、現在の在庫又は箱数を素早く確認するため自動的に分析され、欠落した箱又は誤った項目に関する情報（例えば、在庫データベース内の棚に関する情報と走査の結果との間の矛盾）を特定する。典型的な倉庫の従業員は、毎日数百から数千のそのような走査を実行してもよく、したがって、誘導された又は支援された走査を使用する本発明の実施形態は、高速で応答性が高く、信頼性が高く、走査システムに関する限られたトレーニングを受けた倉庫の従業員が使用するのが簡単である走査システムを提供する。走査システムによって提供される誘導は、このデータを効率的に処理することを可能にし、正確な在庫情報を得るために、箱の積み重ねの正確な再構成と最大限のカバレッジを提供するのに役立つ。
【００９８】
図７Ａは、本発明の一実施形態による走査プロセス中のユーザーインターフェースを示し、走査品質の高い部分がオーバーレイ７０２で示されている。一実施形態では、図７Ａの左側は走査されているシーンのライブビューを示す。良好なカバレッジを有するシーンの部分は、筋交い線オーバーレイで示され、カバレッジが悪い（例えば、高い増分カバレッジ）シーンの部分は、オーバーレイを有しない。図示されているように、箱の積み重ねの左下側７０４は、上方及び右側の箱と比較して良好なカバレッジを有さない（例えば、高い増分カバレッジ又は低いカバレッジを有する）ので、走査の増分カバレッジを大幅に増加させるために深度カメラを移動して積み重ねの左下部分を撮像する必要があるというユーザーへの誘導を提供する。少なくともパレット上の箱の数は積み重ねの左側の箱の数に依存するため、シーンの主要部分は積み重ねの左下部分を含む。シーンの他の主要部分は、箱を含むシーンの他の部分を含む。図７Ａの右側は、１つ又は複数の追加画像が取り込まれた後の箱の積み重ねの左下部分７０４の部分の拡大図であり、これによって、箱の積み重ねの左下部分のカバレッジを提供する。
【００９９】
図７Ｂは、パレット上の箱の個数を数えるための、本発明の一実施形態による走査プロセス後のユーザーインターフェースを示す。箱の３Ｄ走査を取得した後、図７Ａに示すように、得られた３Ｄモデルを分析して、存在する箱の個数を数えることができる。シーンの遮蔽された部分についての仮定、すなわちパレット上の全てのボックスが実質的に同じサイズであり、遮蔽された箱が他の箱と同じ方法で積み重ねられていることを仮定することにより、走査システムは自動的にパレット上に２８個の箱があることを計算する。ユーザーインターフェースの右上部分の様々な部分の陰影は、走査の対応する部分の距離又は深度を示し、数字は、走査のその部分にある箱の数を示す。ユーザーインターフェースの左側には、箱の個数の最終個数が表示され、シーンの様々な部分の深度を示す陰影が一緒に表示される。ユーザーインターフェースの右下部分には、１つの姿勢からの積み重ねの画像（例えば、カラー写真）が表示される。
【０１００】
容積推定
物流に関する本発明の別の実施形態によれば、走査システム１０は、配送パッケージの集合の容積の見積容積と、この委託物を運ぶためことを依頼されたトラックの容積とを比較するために、配送パッケージの集合の容積を推定することに使用されてもよい。この情報は、物流会社がトラックの運搬能力を最大限に活用し、コストを抑えるのに非常に役立つ。一般にこのような委託物の総量は、トラック自体のサイズに匹敵するほどにかなり大きいので、ユーザーが、走査システムからの十分な誘導なしに、この委託物を走査して正確な走査を得ることは非常に困難である。
【０１０１】
更に、本発明のいくつかの実施形態では、走査システムを使用して、トラック荷台又は出荷コンテナの内部の利用可能な又は空いている容積を推定することができ、それにより、ユーザーはトラック又はコンテナに積み込むことができる残りの貨物量を決定できる。
【０１０２】
図８Ａは、本発明の一実施形態によるトラック荷台の内部の走査の概略図である。図８Ａに示すように、トラック８０２は、箱８２０で部分的に満たされた荷台１２を有してもよい。ユーザー１４は、使用可能な容積１２ａを決定するために走査装置を用いて荷台の内部を走査することができる。
【０１０３】
図８Ｂ、図８Ｃ及び図８Ｄは、本発明の一実施形態による、トラック内の利用可能な容積の計算の概略図である。図８Ｂに示すように、８０４での開口部から荷台内部を走査することによって、利用可能な空間の様々なコーナーまでの距離に基づいて、箱８２０までの距離（ｄ）、トラック内部の幅（ｗ）及び高さ（ｈ）に基づいてトラックの利用可能な体積を計算することは比較的に容易かもしれない。したがって、コーナーは、シーンの重要な部分と考えてもよく、走査システム１０は、コーナーの位置を特定するための誘導（例えば、利用可能な容量のコーナーが見つかるまで幅の広い姿勢を選択する）を提供してもよい。
【０１０４】
しかし、図８Ｃに示すように、距離ｄが小さくなるにつれて、荷台１２の側壁にある箱によって形成されるコーナー８０６は、カメラの視野内（白く示されている）にないかもしれない。その結果、側壁と深度カメラの視野の端との間の容量８０８（水平ハッチングでラベル付けされている）は、単一の姿勢から取得されない。
【０１０５】
図８Ｄに示すように、深度カメラを新しい姿勢に動かすことによって、コーナー８０６を撮像することができ（例えば、深度カメラの視野内に取り込まれる）、コンテナの幅（ｗ）の推定が可能となり、内部の正確な走査が可能となる。図８Ｄは、コーナー８０６のうちの１つが取得されたことを単に示しており、他のコーナーを取得するには、深度カメラを別の姿勢に移動させることが更に必要となる。
【０１０６】
上述の箱のパレットの走査の使用例と同様に、走査のカバレッジ及び品質を改善又は最大化するとともに走査に要する総時間を短縮又は最小化するために追従する特定の軌道を提供することによってユーザーを支援及び誘導する走査システムを有することにより、走査プロセスの効率と精度を向上させることができる。
【０１０７】
物体走査
図９Ａは、本発明の実施形態による走査支援システムの利点なしに物体の走査を実行するときの走査誤差の領域を示すカラーコード化された図である。図９Ｂは、本発明の実施形態による走査支援システムを使用して物体の走査を行うときの走査誤差の領域を示すカラーコード化された図である。３Ｄモデル（例えば、表示するための）を生成するために複雑な物体を走査する場合、物体すべての部分の詳細なモデルを生成することがより重要になり得る。
【０１０８】
図９Ａ及び図９Ｂに示すように、本発明の実施形態による誘導をユーザーに提供すると、走査の精度が大幅に改善される。
【０１０９】
静的姿勢生成
シーンの一部を画像化するように静的に配置された複数のカメラの複数の姿勢を特定することを目的とする本発明の実施形態では、増分カバレッジマップは、ｋ台のカメラについての複数の姿勢を特定するために使用されてもよい。例えば、各姿勢は、最も高い増分カバレッジを有する増分カバレッジマップの姿勢ｐを選択することによって選択されてもよい。増分カバレッジマップは、この姿勢に基づいて更新され、次の姿勢が選択される。数ｋ個の姿勢が特定されるまで、このプロセスは継続する。他の実施形態では、カメラの数は固定されておらず、物体をカバーするのに十分な数の姿勢が特定されるまで、プロセスは継続する。
【０１１０】
本発明を、ある例示的な実施形態に関連して説明してきたが、本発明は、開示された実施形態に限定されるものではなく、むしろ添付の特許請求の範囲及びその等価物の精神及び範囲内に含まれる様々な修正及び均等な構成を包含するものと理解されるべきである。
【図１Ａ】
2019514240.tif 000005
【図１Ｂ】
2019514240.tif 000006
【図１Ｃ】
2019514240.tif 000007
【図２Ａ】
2019514240.tif 000008
【図２Ｂ】
2019514240.tif 000009
【図３】
2019514240.tif 000010
【図４Ａ】
2019514240.tif 000011
【図４Ｂ】
2019514240.tif 000012
【図４Ｃ】
2019514240.tif 000013
【図５】
2019514240.tif 000014
【図６Ａ】
2019514240.tif 000015
【図６Ｂ】
2019514240.tif 000016
【図６Ｃ】
2019514240.tif 000017
【図７Ａ】
2019514240.tif 000018
【図７Ｂ】
2019514240.tif 000019
【図８Ａ】
2019514240.tif 000020
【図８Ｂ】
2019514240.tif 000021
【図８Ｃ】
2019514240.tif 000022
【図８Ｄ】
2019514240.tif 000023
【図９Ａ】
2019514240.tif 000024
【図９Ｂ】
2019514240.tif 000025
【手続補正書】
【提出日】平成30年8月29日(2018.8.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
深度画像を含む画像を取得するように構成された深度カメラと、
プロセッサと、
前記深度カメラ及び前記プロセッサに結合されたメモリと、
を有し、
前記メモリは、
前記深度カメラによって取得された前記深度画像と、命令と、を格納するように構成され、
前記命令は、前記プロセッサによって実行されるとき、前記プロセッサに、
前記深度カメラの第１の姿勢から対象の１つ又は複数の初期深度画像を取得するように前記深度カメラを制御することと、
１つ又は複数の次の姿勢を特定するために前記１つ又は複数の初期深度画像に従って誘導マップを計算することであって、
前記誘導マップは、
前記対象の前記１つ又は複数の初期深度画面に基づいて、前記対象の周囲のエンベロープを規定することであって、前記エンベロープは、複数のパッチを含み、各パッチは複数の可能な姿勢のうちの少なくとも１つの可能な姿勢に対応し、前記複数の可能な姿勢は前記１つ又は複数の次の姿勢を含む、ことと、
複数の増分カバレッジ値を計算することであって、複数の増分カバレッジ値のそれぞれは、前記複数のパッチのうちの１つに対応し、増分カバレッジ値のそれぞれは、前記対応するパッチの１つの少なくとも１つの可能な姿勢で、前記深度カメラで追加深度画像を取得することによって提供される前記対象の全体的なカバレッジにおける改良値を表す、ことと、を計算することと、
によって計算され、
前記１つ又は複数の次の姿勢の少なくとも１つから、１つ又は複数の追加深度画像を取得するように前記深度カメラを制御することと、
前記１つ又は複数の追加深度画像に従って前記誘導マップを更新することと、
三次元モデルを生成するために前記深度カメラによって取得された前記深度画像を出力することと、
を特徴とする三次元走査システム。
【請求項２】
前記深度カメラは、
第１の光軸を有する第１の視野を有する第１カメラと、
前記第１カメラから離され、前記第１の視野と重なる第２の視野と、前記第１の光軸に実質的に平行な第２の光軸とを有する第２カメラと、
を有する立体深度カメラである、請求項１に記載の三次元走査システム。
【請求項３】
前記深度カメラに登録されたカラーカメラを更に有する、請求項２に記載の三次元走査システム。
【請求項４】
前記プロセッサに結合されたディスプレイを更に有し、
前記メモリは、前記プロセッサに、前記三次元走査システムのユーザーに視覚的フィードバックを提供するように前記ディスプレイを制御すること、を実行させる命令を更に格納し、
前記視覚的フィードバックは、前記誘導マップの前記１つ又は複数の次の姿勢の前記増分カバレッジ値のグラフィカル表現を含む、請求項１に記載の三次元走査システム。
【請求項５】
前記グラフィカル表現は、前記対象の周りのドームであり、前記ドームのどの部分が前記１つ又は複数の次の姿勢に対応するかを示すヒートマップであり、前記ヒートマップの値は前記増分カバレッジ値に対応する、請求項４に記載の三次元走査システム。
【請求項６】
前記１つ又は複数の次の姿勢は、経路を形成する、請求項１に記載の三次元走査システム。
【請求項７】
前記経路は、前記対象のカバレッジの増加と走査時間の短縮とに応じて選択される、請求項６に記載の三次元走査システム。
【請求項８】
前記誘導マップは、カバレッジマップである、請求項１に記載の三次元走査システム。
【請求項９】
前記対象はコンテナであり、
前記メモリは、前記プロセッサに、前記三次元モデルに基づいて前記コンテナの利用可能な容積を推定すること、を実行させる命令を更に格納し、
前記誘導マップは、前記利用可能な容量のコーナーを探すため前記１つ又は複数の次の姿勢を特定する、請求項１に記載の三次元走査システム。
【請求項１０】
前記対象は積み重ねられた箱であり、
前記メモリは、前記プロセッサに、前記三次元モデルに基づいて前記箱の個数を数えること、を実行させる命令を更に格納し、
前記誘導マップは、低いカバレッジを有する箱を特定するため前記１つ又は複数の次の姿勢を特定する、請求項１に記載の三次元走査システム。
【請求項１１】
プロセッサによって、深度カメラの第１の姿勢から被写体の１つ又は複数の初期深度画像を取得するように前記深度カメラを制御することと、
１つ又は複数の次の姿勢を特定するために前記１つ又は複数の初期深度画像に従って誘導マップを計算することであって、
前記誘導マップは、
前記対象の前記１つ又は複数の初期深度画面に基づいて、前記対象の周囲のエンベロープを規定することであって、前記エンベロープは、複数のパッチを含み、各パッチは複数の可能な姿勢のうちの少なくとも１つの可能な姿勢に対応し、前記複数の可能な姿勢は前記１つ又は複数の次の姿勢を含む、ことと、
複数の増分カバレッジ値を計算することであって、複数の増分カバレッジ値のそれぞれは、前記複数のパッチのうちの１つに対応し、前記増分カバレッジ値のそれぞれは、前記対応するパッチの１つの少なくとも１つの可能な姿勢で、前記深度カメラで追加深度画像を取得することによって提供される前記対象の全体的なカバレッジにおける改良値を表す、ことと、を計算することと、
によって計算され、
前記プロセッサによって、前記１つ又は複数の次の姿勢のうちの少なくとも１つから、１つ又は複数の追加深度画像を取得するように前記深度カメラを制御することと、
前記プロセッサによって、前記１つ又は複数の追加深度画像に従って前記誘導マップを更新することと、
三次元モデルを生成するために、前記深度カメラによって取得された前記深度画像を出力することと、
を有することを特徴とする誘導走査を提供するための方法。
【請求項１２】
前記深度カメラは、
第１の光軸を有する第１の視野を有する第１カメラと、
前記第１カメラから離され、前記第１の視野と重なる第２の視野と、前記第１の光軸に実質的に平行な第２の光軸とを有する第２カメラと、
を有する立体深度カメラである、請求項１１に記載の方法。
【請求項１３】
前記プロセッサに結合されたディスプレイを通して、ユーザーに前記誘導マップの前記１つ又は複数の次の姿勢の前記増分カバレッジ値のグラフィカル表現を含む視覚的フィードバックを提供すること、を更に有する請求項１１に記載の方法。
【請求項１４】
前記グラフィカル表現は、前記対象の周りのドームであり、前記ドームのどの部分が前記１つ又は複数の次の姿勢に対応するかを示すヒートマップであり、前記ヒートマップの値は前記増分カバレッジ値に対応する、請求項１３に記載の方法。
【請求項１５】
前記１つ又は複数の次の姿勢は、経路を形成する、請求項１１に記載の方法。
【請求項１６】
前記経路は、前記対象のカバレッジの増加と走査時間の短縮とに応じて選択される、請求項１５に記載の方法。
【請求項１７】
前記対象はコンテナであり、
前記三次元モデルに基づいて前記コンテナの利用可能な容積を推定すること、を更に有し、
前記誘導マップは、前記利用可能な容量のコーナーを探すため前記１つ又は複数の次の姿勢を特定する、請求項１１に記載の方法。
【請求項１８】
前記対象は積み重ねられた箱であり、
前記三次元モデルに基づいて前記箱の個数を数えること、を更に有し、
前記誘導マップは、低いカバレッジを有する箱を特定するため前記１つ又は複数の次の姿勢を特定する、請求項１１に記載の方法。
【請求項１９】
画像を取得するように構成されたカメラと、
プロセッサと、
前記カメラ及び前記プロセッサに結合されたメモリと、
を有し、
前記メモリは、
前記カメラによって取り込まれた前記画像と、命令と、を格納するように構成され、
前記命令は、前記プロセッサによって実行されるとき、前記プロセッサに、
前記カメラの第１の姿勢から対象の１つ又は複数の初期画像を取得するように前記カメラを制御することと、
１つ又は複数の次の姿勢を特定するために前記１つ又は複数の初期画像に従って誘導マップを計算することであって、
前記誘導マップは、
前記対象の前記１つ又は複数の初期画面に基づいて、前記対象の周囲のエンベロープを規定することであって、前記エンベロープは、複数のパッチを含み、各パッチは複数の可能な姿勢のうちの少なくとも１つの可能な姿勢に対応し、前記複数の可能な姿勢は前記１つ又は複数の次の姿勢を含む、ことと、
複数の増分カバレッジ値を計算することであって、複数の増分カバレッジ値のそれぞれは、前記複数のパッチのうちの１つに対応し、前記増分カバレッジ値のそれぞれは、前記対応するパッチの１つの少なくとも１つの可能な姿勢で、前記カメラで追加画像を取得することによって提供される前記対象の全体的なカバレッジにおける改良値を表す、ことと、を計算することと、
によって計算され、
前記１つ又は複数の次の姿勢の少なくとも１つから、１つ又は複数の追加画像を取得するように前記カメラを制御することと、
前記１つ又は複数の追加画像に従って前記誘導マップを更新することと、
三次元モデルを生成するために前記カメラによって取得された前記画像を出力することと、
を実行させることを特徴とする三次元走査システム。
【国際調査報告】
2019514240.tif 000026