(57)【要約】      （修正有）【課題】３Ｄ点群内の欠落データを完成させる。【解決手段】３次元（３Ｄ）点群内の欠落点を完成させるシステムは、シーン内の物体の点データを測定する３Ｄセンサと、この３Ｄセンサとプログラムおよび点データを記憶するメモリとに接続されたプロセッサと、これらのプロセッサおよび３Ｄセンサに接続された、完成された３Ｄ点群を表示するディスプレイモニターと備える。プロセッサは、上記プログラムの命令ステップを実行する。これらの命令ステップは、物体の点データを取得して３Ｄ点群を生成するステップであって、これらの点データは、物体上の点の集合を含む、ステップと、３Ｄ点群から平面セグメントを抽出するステップと、平面セグメント間の接続関係および欠落点を特定するステップと、これらの平面セグメントおよび接続関係を用いて３Ｄ点群内の欠落点を充填して、完成された３Ｄ点群を生成するステップとを含む。【選択図】図１
2018124985.tif 000002
【特許請求の範囲】
【請求項１】
３次元点群内の欠落点を完成させるシステムであって、
シーン内の物体の点データを測定する３次元センサと、
前記３次元センサと、プログラムおよび前記点データを記憶するメモリとに接続されたプロセッサであって、該プロセッサは、前記プログラムの命令ステップを実行し、前記命令ステップは、
前記物体の前記点データを取得して、前記３次元点群を生成するステップであって、前記点データは、前記物体の上の点の集合を含む、ステップと、
前記３次元点群から平面セグメントを抽出するステップと、
前記平面セグメント間の接続関係および欠落点を特定するステップと、
前記平面セグメントおよび前記接続関係を用いて前記３次元点群内の前記欠落点を充填して、完成された３次元点群を生成するステップと、
を含む、プロセッサと、
前記プロセッサおよび前記３次元センサに接続された、前記完成された３次元点群を表示するディスプレイモニターと、
を備える、システム。
【請求項２】
前記特定するステップおよび前記充填するステップは、少なくとも１つの欠落点が前記充填するステップにおいて充填される場合に繰り返される、請求項１に記載のシステム。
【請求項３】
前記３次元点群は、前記３次元センサを固定した姿勢に配置することによって取得される前記点データの単一のフレームから生成される、請求項１に記載のシステム。
【請求項４】
前記３次元点群は、前記３次元センサを種々の姿勢に移動させることによって取得される前記点データの複数のフレームから、該複数のフレームを共通座標系に位置合わせすることによって生成される、請求項１に記載のシステム。
【請求項５】
前記平面セグメントは、前記点データの前記複数のフレームのそれぞれから抽出され、前記共通座標系に位置合わせされる、請求項４に記載のシステム。
【請求項６】
前記特定するステップおよび前記充填するステップは、符号付き距離場を用い、該符号付き距離場は、前記シーン内の各ボクセルの符号付き距離値を含む、請求項１に記載のシステム。
【請求項７】
前記各ボクセルは、前記符号付き距離値が所定の範囲内にある場合には、占有ボクセルとして分類され、前記各ボクセルは、前記符号付き距離値が正の側における前記所定の範囲の正の限界を越えている場合には、空き空間ボクセルとして分類され、前記各ボクセルは、前記符号付き距離値が負の側における前記所定の範囲の負の限界を越えている場合には、未知ボクセルとして分類される、請求項６に記載のシステム。
【請求項８】
前記符号付き距離場は、近似された符号付き距離値を用いて前記点データから生成され、前記近似された符号付き距離値は、前記３次元センサの各光線方向に沿って求められる、請求項６に記載のシステム。
【請求項９】
２つの前記平面セグメント間のボクセルの大部分が前記占有ボクセルまたは前記未知ボクセルのいずれかである場合に、２つの前記平面セグメントは、接続されているとして特定される、請求項７に記載のシステム。
【請求項１０】
接続されているとして特定された前記２つの平面セグメント間の前記未知ボクセルは、占有ボクセルを用いて充填され、占有ボクセルとして更新される、請求項９に記載のシステム。
【請求項１１】
前記符号付き距離場は、３次元空間において定義される、請求項６に記載のシステム。
【請求項１２】
前記符号付き距離場は、前記平面セグメントのそれぞれにおいて定義される、請求項６に記載のシステム。
【請求項１３】
３次元点群内の欠落点を完成させる方法であって、プロセッサがメモリおよび３次元センサと通信し、該方法は、
前記３次元センサを用いてシーン内の物体の点データを測定するステップと、
前記物体の前記点データを取得して、前記３次元点群を生成するステップであって、前記点データは、前記物体の上の点の集合を含む、ステップと、
前記３次元点群から平面セグメントを抽出するステップと、
前記平面セグメント間の接続関係および欠落点を特定するステップと、
前記平面セグメントおよび前記接続関係を用いて前記３次元点群内の前記欠落点を充填して、完成された３次元点群を生成するステップと、
を含む、方法。
【請求項１４】
前記特定するステップおよび前記充填するステップは、少なくとも１つの欠落点が前記充填するステップにおいて充填される場合に繰り返される、請求項１３に記載の方法。
【請求項１５】
前記３次元点群は、前記３次元センサを固定した姿勢に配置することによって取得される前記点データの単一のフレームから生成される、請求項１３に記載の方法。
【請求項１６】
前記３次元点群は、前記３次元センサを種々の姿勢に移動させることによって取得される前記点データの複数のフレームから、該複数のフレームを共通座標系に位置合わせすることによって生成される、請求項１３に記載の方法。
【請求項１７】
前記特定するステップおよび前記充填するステップは、符号付き距離場を用い、該符号付き距離場は、前記シーン内の各ボクセルの符号付き距離値を含む、請求項１３に記載の方法。
【請求項１８】
方法を実行するコンピューターによって実行可能なプログラムが具現化された非一時的コンピューター可読記憶媒体であって、前記方法は、３次元点群内の欠落点を完成させるものであり、プロセッサがメモリおよび３次元センサと通信し、前記方法は、
前記３次元センサを用いてシーン内の物体の点データを測定するステップと、
前記物体の前記点データを取得して、前記３次元点群を生成するステップであって、前記点データは、前記物体の上の点の集合を含む、生成するステップと、
前記３次元点群から平面セグメントを抽出するステップと、
前記平面セグメント間の接続関係および欠落点を特定するステップと、
前記平面セグメントおよび前記接続関係を用いて前記３次元点群内の前記欠落点を充填して、完成された３次元点群を生成するステップと、
を含む、非一時的コンピューター可読記憶媒体。
【請求項１９】
前記特定するステップおよび前記充填するステップは、少なくとも１つの欠落点が前記充填するステップにおいて充填される場合に繰り返される、請求項１８に記載の記憶媒体。
【請求項２０】
前記特定するステップおよび前記充填するステップは、符号付き距離場を用い、該符号付き距離場は、前記シーン内の各ボクセルの符号付き距離値を含む、請求項１８に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、平面セグメントを用いて、点群を完成させる方法およびシステムに関する。
【背景技術】
【０００２】
３次元（３Ｄ）点群は、レーザースキャナーおよび深度センサ等の様々なセンサを用いて得ることができ、３Ｄモデル化および３Ｄ物体認識等のいくつかの用途に広く用いられている。そのような３Ｄ点群は、本質的に、オクルージョン、限られた視野および測定範囲等のセンサ限界に起因して、データが欠落するという難点がある。３Ｄ点群内の欠落データを完成させることは、その後の適用、例えば、３Ｄモデル化に際して、欠落のないモデルを生成すること、および３Ｄ物体認識において、高い精度の認識を実現すること、が重要である。
【０００３】
３Ｄ物体認識は、表面の対称性および平滑性等の幾何学的特性を用いて、３Ｄ点群内の孔を充填する方法がある。また、３Ｄ物体モデルの既存のライブラリーを用いて、それらの３Ｄ物体モデルを３Ｄ点群に適合させて、欠落点を回復する方法もある。
【０００４】
さらに、３Ｄ点群を２次元（２Ｄ）画像上に投影し、これらの画像を用いて３Ｄ点群内の点を内挿する方法が知られている（例えば、特許文献１、特許文献２参照）。また、センサを移動させるとともに、欠落点を含むエリアにおいて、より多くのデータを取り込むようにフィードバックをユーザーに与える方法も知られている（例えば、特許文献３参照）。
【０００５】
また、３Ｄ点群を一組の物体プリミティブにセグメント化し、物体プリミティブごとに、オクルードされた領域内の点を充填する。次に、物体プリミティブ間の支持関係が、物理的推論に基づいて推定される方法がある。さらに、３Ｄ点群は、一組の直方体にセグメント化され、これらの直方体が、オクルードされた領域内に外挿され、それらの支持関係および配置が推定され、これによって、これらの直方体は物理的に安定する。そして、外挿された直方体は、オクルードされた領域内の点を充填するのに用いられる方法もある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許出願公開第２０１４／０１３２７３３号
【特許文献２】米国特許第８，７３１，２４７号
【特許文献３】米国特許第８，８６１，８４０号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した方法では、３Ｄ点群内の欠落データを完成させるには、多くの時間が必要になる。そのため、３Ｄ点群内の欠落データを完成させるための、より効率的なシステムまたは方法の開発が必要とされている。
【課題を解決するための手段】
【０００８】
本開示の幾つかの実施の形態は、平面セグメントを抽出し、これらの平面セグメント間の接続関係を推論し、３Ｄ点群内の欠落点を回復することができるシステムおよび方法を提供する。
【０００９】
本開示は、多くの３Ｄスキャンおよび３Ｄモデル化の適用の対象となるシーンが、平面構造によって支配されているという認識に基づいている。例として、オフィスビル、住宅、および工場フロアの屋内シーンに加えて、都市環境の屋外シーンも含まれる。したがって、本開示は、平面セグメントに基づいて点を完成させること、孔のない区分的に平面の３Ｄモデルを生成すること、に焦点を当てている。
【００１０】
本開示の別の認識は、３Ｄセンサを用いて得られた測定値が、物体によって占有されたシーン内の３Ｄロケーションだけでなく、シーン内のそれらの３Ｄロケーションが空き空間であるのか、未知の状態であるのか、の情報も提供することである。すなわち、３Ｄロケーションが、３Ｄセンサによって、測定された物体の前方にある場合には、それらの３Ｄロケーションは、空き空間であるはずである。一方、３Ｄロケーションが、３Ｄセンサによって、測定された物体の背後にある場合には、それらの３Ｄロケーションは、未知の状態である。本開示は、３Ｄセンサ測定値から符号付き距離場（ＳＤＦ）を構築して、シーンの各３Ｄロケーションを、占有、空き空間、または未知に分類する。次に、本開示は、平面セグメントから十分な根拠が得られた場合には、空き空間の３Ｄロケーションを変更しないように維持する。そして、平面セグメント上の未知の３Ｄロケーションの充填を試みる。
【００１１】
本開示の更に別の認識は、本開示の焦点が、平面セグメント上の点を完成させることにあるため、３Ｄ座標系を用いて３Ｄ空間全体のＳＤＦを定義するのではなく、各平面セグメント上でそれぞれ２Ｄ座標系を用いてＳＤＦを定義することができることである。これによって、計算のコストおよびメモリの消費が削減され、計算速度が、より高速になる。
【００１２】
本開示のいくつかの実施の形態によれば、３次元（３Ｄ）点群内の欠落点を完成させるシステムは、シーン内の物体の点データを測定する３Ｄセンサと、プログラムおよび点データを記憶するメモリとに接続されたプロセッサであって、プロセッサは、プログラムの命令ステップを実行し、ステップは、物体の点データを取得して、３Ｄ点群を生成するステップであって、点データは、物体上の点の集合を含む、ステップと、３Ｄ点群から平面セグメントを抽出するステップと、平面セグメント間の接続関係および欠落点を特定するステップと、平面セグメントおよび接続関係を用いて３Ｄ点群内の欠落点を充填して、完成された３Ｄ点群を生成するステップと、を含む、プロセッサと、プロセッサおよび３Ｄセンサに接続された、完成された３Ｄ点群を表示するディスプレイモニターと、を備える。
【００１３】
さらに、本開示の一つの実施の形態は、３Ｄ点群内の欠落点を完成させる方法であって、プロセッサがメモリおよび３Ｄセンサと通信する、方法を提供する。方法は、３Ｄセンサを用いてシーン内の物体の点データを測定するステップと、物体の点データを取得して、３Ｄ点群を生成するステップであって、点データは、物体上の点の集合を含む、ステップと、３Ｄ点群から平面セグメントを抽出するステップと、平面セグメント間の接続関係および欠落点を特定するステップと、平面セグメントおよび接続関係を用いて３Ｄ点群内の欠落点を充填して、完成された３Ｄ点群を生成するステップと、を含む。
【００１４】
さらに、本開示の別の実施の形態は、方法を実行するコンピューターによって、実行可能なプログラムが、具現化された非一時的コンピューター可読記憶媒体であって、方法は、３Ｄ点群内の欠落点を完成させるものであり、プロセッサが、メモリおよび３Ｄセンサと通信する、非一時的コンピューター可読記憶媒体を提供する。方法は、３Ｄセンサを用いてシーン内の物体の点データを測定するステップと、物体の点データを取得して、３Ｄ点群を生成するステップであって、点データは、物体上の点の集合を含む、ステップと、３Ｄ点群から平面セグメントを抽出するステップと、平面セグメント間の接続関係および欠落点を特定するステップと、平面セグメントおよび接続関係を用いて３Ｄ点群内の欠落点を充填して、完成された３Ｄ点群を生成するステップと、を含む。
【００１５】
本発明による平面セグメントを用いて点群を完成させるシステムおよび方法は、あらゆる３Ｄモデル化および３Ｄ視覚化の用途における、ビジュアルの表示品質を改善する。
【００１６】
ここに開示されている実施の形態は、添付図面を参照して、さらに説明される。示されている図面は、必ずしも一律の縮尺というわけではなく、その代わり、一般的に、ここに開示されている実施形態の原理を示すことに強調が置かれている。
【図面の簡単な説明】
【００１７】
【図１】本開示の実施の形態による３Ｄ点群完成システムを示すブロック図である。
【図２Ａ】３Ｄセンサを用いて３Ｄ点群を取得する一例示の説明図である。
【図２Ｂ】図２Ａから取得された３Ｄ点群の一例を示す図である。
【図２Ｃ】物体によって生成された平面セグメント上の欠落点を示す３Ｄ点群の一例を示す図である。
【図２Ｄ】図２Ｂにおける３Ｄ点群から得られた、完成された３Ｄ点群の一例を示す図である。
【図３】本開示の一つの実施の形態による、３Ｄセンサによって取得された３Ｄ点群を完成させる３Ｄ点群完成システムを示すブロック図である。
【図４】３Ｄセンサと物体上で測定された点との間の幾何学的関係を示す図２Ｂの断面図である。
【図５Ａ】本開示の一つの実施の形態による、２つの平面セグメントの間で３Ｄ点を完成させる手順を示す図である。
【図５Ｂ】本開示の一つの実施の形態による、２つの平面セグメントの間で３Ｄ点を完成させる手順を示す図である。
【図５Ｃ】本開示の一つの実施の形態による、２つの平面セグメントの間で３Ｄ点を完成させる手順を示す図である。
【図５Ｄ】本開示の一つの実施の形態による、２つの平面セグメントの間で３Ｄ点を完成させる手順を示す図である。
【発明を実施するための形態】
【００１８】
以下の説明は、例示的な実施の形態のみを提供し、本開示の範囲も、適用範囲も、構成も限定することを意図していない。そうではなく、例示的な実施の形態の以下の説明は、１つ以上の例示的な実施の形態を実施することを可能にする説明を当業者に提供する。添付の特許請求の範囲に明記されているような開示された主題の趣旨および範囲から逸脱することなく、要素の機能および配置に行うことができる様々な変更が意図されている。
【００１９】
以下の説明では、実施の形態の十分な理解を提供するために、具体的な詳細が与えられる。しかしながら、当業者は、これらの具体的な詳細がなくても実施の形態を実施することができることを理解することができる。例えば、開示された主題におけるシステム、プロセス、および他の要素は、実施の形態を不必要な詳細で不明瞭にしないように、ブロック図形式の構成要素として示される場合がある。それ以外の場合において、よく知られたプロセス、構造、および技法は、実施の形態を不明瞭にしないように不必要な詳細なしで示される場合がある。さらに、様々な図面における同様の参照符号および名称は、同様の要素を示す。
【００２０】
また、個々の実施の形態は、フローチャート、フロー図、データフロー図、構造図、またはブロック図として描かれるプロセスとして説明される場合がある。フローチャートは、動作を逐次的なプロセスとして説明することができるが、これらの動作の多くは、並列または同時に実行することができる。加えて、これらの動作の順序は、再配列することができる。プロセスは、その動作が完了したときに終了することができるが、論述されないまたは図に含まれない追加のステップを有する場合がある。さらに、特に説明される任意のプロセスにおける、全ての動作が全ての実施の形態において行われ得るとは限らない。プロセスは、方法、関数、手順、サブルーチン、サブプログラム等に対応することができる。プロセスが関数に対応するとき、その関数の終了は、呼び出し側関数またはメイン関数へのその機能の復帰に対応することができる。
【００２１】
さらに、開示された主題の実施の形態は、少なくとも一部は手動または自動のいずれかで実施することができる。手動実施または自動実施は、マシン、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組み合わせを用いて実行することもできるし、少なくとも援助することができる。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードで実施されるとき、必要なタスクを実行するプログラムコードまたはプログラムコードセグメントは、マシン可読媒体に記憶することができる。プロセッサ（複数の場合もある）が、それらの必要なタスクを実行することができる。
【００２２】
本開示の実施の形態の概略
図１は、本開示の実施の形態による３Ｄ点群完成システム１００を示すブロック図である。
【００２３】
３Ｄ点群完成システム１００は、キーボード１１１、ポインティングデバイス／メディア１１２、およびマイクロフォン１１３と接続可能な入力／出力（Ｉ／Ｏ）インターフェースを有するヒューマンマシンインターフェース（ＨＭＩ）１１０と、受信機１１４と、送信機１１５と、３Ｄセンサ１１６と、全地球測位システム（ＧＰＳ）１１７と、１つ以上のＩ／Ｏインターフェース１１８と、プロセッサ１２０と、記憶デバイス１３０と、メモリ１４０と、ローカルエリアネットワークおよびインターネットネットワーク（図示せず）を含むネットワーク１５５と接続可能なネットワークインターフェースコントローラー１５０（ＮＩＣ）と、ディスプレイデバイス１６５に接続されたディスプレイインターフェース１６０と、撮像デバイス１７５と接続可能な撮像インターフェース１７０と、印刷デバイス１８５と接続可能なプリンターインターフェース１８０と、を備えることができる。Ｉ／Ｏインターフェースを有するＨＭＩ１１０は、アナログ／デジタル変換器およびデジタル／アナログ変換器を備えてもよい。Ｉ／Ｏインターフェースを有するＨＭＩ１１０は、無線インターネット接続または無線ローカルエリアネットワークを介して他の３Ｄ点群完成システムまたは他のコンピューターと通信することができる無線通信インターフェースを備える。これによって、複数の３Ｄ点群を完成させることが可能になる。３Ｄ点群完成システム１００は、電力源１９０を備えることができる。電力源１９０は、充電可能な電池であってもよく、電池は、Ｉ／Ｏインターフェース１１８を介して外部電力源（図示せず）から充電することもできる。つまり、用途に応じて、電力源１９０は、任意に選択でき、システム１００の外部に置くことも可能である。
【００２４】
ＨＭＩとＩ／Ｏインターフェース１１０、Ｉ／Ｏインターフェース１１８は、とりわけ、コンピューターモニター、カメラ、テレビ、プロジェクター、またはモバイルデバイスを含む別のディスプレイデバイス（図示せず）に接続するように構成することができる。
【００２５】
３Ｄ点群完成システム１００は、ＮＩＣ１５０に接続されたネットワーク１５５を介して、音声データを含む電子テキスト／撮像文書を受信することができる。記憶デバイス１３０は、３Ｄ点群完成プログラム１３１を含み、３Ｄ点群完成プログラム１３１のアルゴリズムが、コードデータとして記憶装置１３０に記憶されている。アルゴリズムは、コンピューター可読記録媒体（図示せず）に記憶されてもよく、その結果、プロセッサ１２０は、この媒体からアルゴリズムをロードすることによって、当該アルゴリズムに従って３Ｄ点群完成プログラムを実行することができる。さらに、ポインティングデバイス／メディア１１２は、コンピューター可読記録媒体に記憶されたプログラムを読み出すモジュールを備えてもよい。
【００２６】
３Ｄセンサ１１６を用いて３Ｄ点群の取得を開始するために、命令をシステム１００に、キーボード１１１またはポインティングデバイス／メディア１１２を用いて送信することもできる。また、無線ネットワークまたは他のコンピューター１９５に接続されたネットワーク１５５を介して送信することもできる。３Ｄ点群の取得は、記憶装置１３０に記憶されている事前にインストールされた、従来の音声認識プログラムを用いたマイクロフォン１１３によるユーザーの音響信号の受信に応答して開始されてもよい。
【００２７】
プロセッサ１２０は、１つ以上のグラフィックス処理装置（ＧＰＵ）を含む複数のプロセッサであってもよい。記憶装置１３０は、マイクロフォン１１３を介して得られた音声信号を認識することができる音声認識アルゴリズム（図示せず）を含んでもよい。
【００２８】
点群取得プロセス
図２Ａは、本開示の実施の形態による、３Ｄ点群完成システム１００の３Ｄセンサ１１６を用いて３Ｄ点群を取得する一例示の説明図である。この例では、３Ｄ点群完成システム１００は、正面の壁２１０、左の壁２１１、右の壁２１２、床２２０、天井（図示せず）、テーブル２３０、照明器具２４０、および窓２５０を備える部屋の中の物体の点データをスキャンする。
【００２９】
３Ｄセンサ１１６は、物体の表面上で測定された３Ｄ点の集合を含む点データを検出する。これらの点データは、メモリ１４０または記憶装置１３０に記憶される。これらの点データについて、プロセッサ１２０を用いて、３Ｄ点群完成プログラム１３１に従い、データ処理が実行される。通常、３Ｄ点の集合は、深度画像として知られている、ピクセルによって示された２Ｄ画像として取得される。この深度画像では、各ピクセルは、そのピクセルによって規定された光線の方向に沿って位置する物体の表面上の３Ｄ点までの距離測定値を含む。各ピクセルについて、そのピクセルに対応する光線の方向は、３Ｄセンサの内部較正パラメーターを用いて、ピクセルを逆投影することによって復元することができる。また、３Ｄ点は、光線上の３Ｄロケーションにおいて復元することができる。３Ｄセンサからのこの３Ｄロケーションの距離は、距離測定値によって与えられる。
【００３０】
図２Ｂは、図２Ａに示す部屋から取得された点データの一例を示している。図２Ｃは、他の物体上で取得された点データを除外した、平面物体上で取得された点データを示している。ここで、３Ｄセンサ１１６は、当該３Ｄセンサの視線内にある表面上でしか点データを得ないことに留意されたい。このため、テーブル２６０および照明器具２６１の背後の領域は、これらの物体によってオクルードされるため、３Ｄ点を含まない。また、窓２６２に対応する領域も、３Ｄセンサによって測定することができる表面がないため、３Ｄ点を含まない。３Ｄ点群完成システムの目標は、これらの領域における欠落した３Ｄ点を充填し、図２Ｄに示すような完成された３Ｄ点群を生成することである。
【００３１】
本開示の１つの実施の形態では、３Ｄ点群は、３Ｄセンサ１１６を固定した姿勢に配置することによって生成される。３Ｄセンサ１１６の姿勢は、３自由度の平行移動（位置）および３自由度の回転（方位）を含み、合計６つの自由度を有する。この場合には、点データは、固定した姿勢における単一のフレーム（深度画像）として取得され、３Ｄ点群は、点データの単一のフレームによって生成される。別の実施の形態では、３Ｄ点群は、３Ｄセンサを種々の姿勢に移動させること、それらの種々の姿勢における点データの複数のフレームを取得すること、それらの複数のフレームの種々の姿勢を推定してそれらの複数のフレームを単一の共通座標系（またはあらかじめ設定された単一の座標系）に互いに位置合わせすること、によって生成される。そのような位置合わせは、当該技術分野において知られているような同時位置同定地図構築（ＳＬＡＭ：ｓｉｍｕｌｔａｎｅｏｕｓ  ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  ｍａｐｐｉｎｇ）技法を用いることによって行うことができる。３Ｄセンサの種々の姿勢において取得された点データの、複数のフレームを位置合わせすることによって、欠落した３Ｄ点の領域は、削減される。しかしながら、いくつかの領域（例えば、テーブルの背後の領域）は、いずれの姿勢においても測定することができず、欠落した領域として残る。
【００３２】
点群完成プロセス
図３は、本開示の一つの実施の形態による３Ｄ点群完成システム１００を示すブロック図である。３Ｄセンサ１１６によって単一のフレームまたは複数のフレームの集合として取得された３Ｄ点群３０５が与えられる場合には、３Ｄ点群完成システム１００は、ステップ３１０において、３Ｄ点群３０５から平面セグメント３１５を抽出すること、ステップ３２０において、平面セグメント間の接続関係３２５および欠落点を特定すること、ステップ３３０において、平面セグメント３１５および接続関係３２５を用いて欠落点を充填すること、によって３Ｄ点群を完成させ、完成された３Ｄ点群３３５を生成する。
【００３３】
３Ｄ点群から平面セグメントを抽出するために、様々な方法が、当該技術分野において知られている。いくつかの方法は、３Ｄ空間における３Ｄ点群から平面セグメントを直接抽出する。それらの方法は、３Ｄ空間において、最近傍探索を実行して、同じ平面セグメントに属する空間的に接近した３Ｄ点を求める必要があり、これは、通常、多くの時間を必要とする。より効率的な処理のために、本開示のいくつかの実施の形態は、３Ｄ点群を生成するのに用いられる２Ｄ深度画像から平面セグメントを抽出する。この２Ｄ深度画像では、空間的に接近した３Ｄ点を、２Ｄ画像グリッド上のピクセル近傍として容易に求めることができる。
【００３４】
本開示の好ましい実施の形態では、平面セグメントは、深度画像から抽出される。３Ｄ点群が、深度画像の複数のフレームを位置合わせすることによって生成されると、平面セグメントは、それらの深度画像のそれぞれから抽出され、フレームの推定された姿勢に従って互いに位置合わせされる。ここで、同様の平面方程式を有するとともに、互いに空間的に接近している位置合わせされた平面セグメントは、互いにマージされることに留意されたい。マージされた平面セグメントは、フレームの推定された姿勢と平面セグメントの平面方程式とをバンドル調整手順を用いて精緻化するのに用いることができる。
【００３５】
平面セグメントが抽出されると、３Ｄ点群完成システム１００は、それらの平面セグメント間の接続関係および欠落点を特定する。２つの平面セグメントのペアは、当該２つの平面セグメントが３Ｄ線セグメントを物理的に共有する場合には（例えば、図２Ａに示す例示のシーンにおける正面の壁および床）、接続されていると定義される。接続されている平面セグメント間には、物理的な間隙は、ほぼ存在せず、接続されている平面セグメントは、３Ｄ空間において、接続されているはずである。したがって、３Ｄ点群完成システム１００は、平面セグメント上に３Ｄ点を加えることによって、接続されている平面セグメント間の欠落した領域（点）（例えば、図２Ｂにおける領域２６０および２６１）を充填する。
【００３６】
接続関係を特定するために、本開示の一つの実施の形態は、符号付き距離場（ＳＤＦ）を用いる。ＳＤＦは、３Ｄ空間内の各３Ｄロケーションにおける、符号付き距離値を記憶している。３Ｄ空間内の各３Ｄロケーションは、ボクセルと呼ばれ、通常、３Ｄ空間は、均一サイズのボクセルの３Ｄグリッドを用いて均一に離散化されている。例えば、各ボクセルは、１ｃｍ×１ｃｍ×１ｃｍの物理空間に対応する。８分木等のデータ構造を用いて、必要なボクセルのみを効率的に記憶することができる。符号付き距離値は、ボクセルから最も接近した物体表面までの距離を表す。すなわち、符号付き距離値は、ボクセルが物体表面上にある場合には、０であり、ボクセルが、物体表面の前方にある場合には、正であり、ボクセルが、物体表面の背後にある場合には、負である。ＳＤＦが得られると、各ボクセルを３つのタイプに分類することができる。すなわち、符号付き距離値が、０に十分に近い（閾値内またはあらかじめ設定された範囲内である）場合には、占有ボクセルに、符号付き距離値が十分に正である場合には、空き空間ボクセルに、符号付き距離値が十分に負である場合には、未知ボクセルに、それぞれ分類することができる。例えば、符号付き距離値が、０を含むあらかじめ設定された範囲内にあるとき、対応するボクセルは、占有ボクセルとして分類される。この場合には、この所定の範囲は、正値側に正の限界値を有し、負値側に負の限界値を有する。換言すれば、符号付き距離値が所定の範囲内にあるとき、対応するボクセルは、近似的に物体の表面上に位置している。符号付き距離値が、正側におけるあらかじめ設定された範囲の正の限界を越えているとき、対応するボクセルは、空き空間ボクセルとして分類される。さらに、符号付き距離値が、負側におけるあらかじめ設定された範囲の負の限界を越えているとき、対応するボクセルは、未知ボクセルとして分類される。
【００３７】
本開示のこの実施の形態は、３Ｄセンサからの光線方向に沿ってのみ求められる近似された符号付き距離値を用いて、３Ｄ点群からＳＤＦを生成する。このプロセスは、図２Ａに示す例示のシーンの断面図を示す図４に示されている。３Ｄセンサ１１６に対する各光線方向について、３Ｄセンサ１１６は、天井４００、正面の壁２１０、およびテーブル２３０等の物体の表面上の３Ｄ点を測定する。物体表面上のこれらの３Ｄ点におけるボクセルは、０の符号付き距離値を有し、占有ボクセル４１０に対応する。物体表面上の３Ｄ点の前方のボクセルは、その絶対値が３Ｄ点とボクセルとの間の距離を示す正の符号付き距離値を有し、図４では空き空間ボクセル４２０として示されている。物体表面上の３Ｄ点の背後のボクセルは、その絶対値が３Ｄ点とボクセルとの間の距離を示す負の符号付き距離値を有し、未知ボクセル４３０として示されている。ここで、窓２５０を通過する光線は、３Ｄ点測定値を有しないことに留意されたい。なぜならば、光線方向に沿った物体表面が存在しないためである。通過する光線上のボクセルは、所定の未知距離値（例えば、負の無限値）を有し、未知ボクセル４３０として分類される。３Ｄ点群が、点データの単一のフレームから生成される場合には、上述したように求められたＳＤＦを直接用いることができる。３Ｄ点群が、点データの複数のフレームから生成される場合には、ＳＤＦは、まず、３Ｄセンサ１１６の推定された姿勢を用いて、フレームごとに個別に求められる。次に、これらの複数のＳＤＦが平均されて、単一のＳＤＦが生成される。この後者の場合には、各ＳＤＦにおける符号付き距離値は、通常、平均される前に、閾値を用いてトランケートされる。
【００３８】
ＳＤＦから得られた分類済みボクセルが与えられると、３Ｄ点群完成システム１００は、２つの平面セグメントおよび欠落点のあらゆるペアについて接続関係を特定する。この手順は、図５Ａ〜図５Ｄに示され、以下のように詳述される。図５Ａに示すような、２つの平面セグメント５１０および５１１のペアを検討することにする。ボクセルは、３Ｄ空間において３Ｄグリッド上に画定され、したがって、一般に、平面セグメント上に正確に位置しているとは限らないことに留意されたい。ただし、例示として、図５Ａは、ボクセルが平面セグメント上に正確に位置しているかのようにボクセルを示している。実際には、システム１００は、平面セグメント上の各３Ｄロケーションから最近傍ボクセルを見つけて、次の手順を実行する。２つの平面セグメントのペアについて、図５Ｂに示すように、システム１００は、まず、各平面セグメントを無限平面とみなすことによって、これらの２つの平面セグメントの交差として３Ｄ交線５２０を求める。システム１００は、次に、プロセッサ１２０を用いて、３Ｄ点群完成プログラム１３１に記述された命令に従って、３Ｄ交線上の各３Ｄ点５３０を処理する。すなわち、各３Ｄ点５３０から、システム１００は、未知ボクセルを無視しながら、占有ボクセルまたは空き空間ボクセルのいずれかである最初のボクセルを見つけるまで、３Ｄ交線方向に直交した方向に向かって２つの平面セグメントのそれぞれを移動（スキャン）する（５４０）。最初に見つけられたボクセルが、２つの平面セグメントの双方において占有ボクセルである場合には、その３Ｄ点は、図５Ｃに示すように、接続されている３Ｄ点候補５５０としてマーキングされる。３Ｄ交線５２０上の全ての３Ｄ点５３０を処理（スキャン）した後、接続されている３Ｄ点候補５５０は、接続されている３Ｄ線セグメント候補５６０の集合にクラスタリングされる。接続されている３Ｄ線セグメント候補の集合において、長さが閾値（例えば、１０ｃｍ）よりも長い３Ｄ線セグメントが、接続されている３Ｄ線セグメントの集合として最終的に選択され、少なくとも１つの接続されている３Ｄ線セグメントを有する２つの平面セグメントのペアが、接続されているとみなされる。上記手順は、２つの平面セグメントが接続されているとみなされるためには、これらの２つの平面セグメント間のボクセルの大部分が、占有ボクセルまたは未知ボクセルのいずれかであり、多くの空き空間ボクセルが存在しないことを保証している。すなわち、２つの平面セグメント間のボクセルの大部分が、占有ボクセルまたは未知ボクセルである場合には、それらの２つの平面セグメントは、接続されているとして特定される。互いに平行な２つの平面セグメントのペアは、常に接続されておらず、この手順において無視される。
【００３９】
上述したような手順において、接続関係を特定するのに、いくつかの変形した戦略および閾値を用いることができることに留意されたい。例えば、３Ｄ点は、最初に見つけられたボクセルのうちの少なくとも一方（必ずしも、最初に見つけられたボクセルの双方ではない）が占有ボクセルである場合には、接続されている３Ｄ点候補としてマーキングされてもよい。システム１００が、最初のボクセルを見つけるために移動しているとき、最初に見つけられたボクセルが、３Ｄ交線から過度に遠くならないように、距離閾値（例えば、５０ｃｍ）が用いられてもよい。平行な平面セグメントは、平面セグメントの法線間の角度に対して閾値を用いて判断することができる。例えば、２つの平面セグメントは、これらの平面セグメントの法線間の角度が、５度よりも小さい場合に平行であるとみなされる。この角度閾値は、システム１００が、互いにほぼ直交している２つの平面セグメントのペアのみを処理するように調整されてもよい。例えば、角度閾値が、８５度に設定されている場合には、２つの平面セグメントは、これらの平面セグメントの法線間の角度が８５度よりも小さい場合には、平行であるとみなされ、無視される。これは、２つの平面セグメントの法線間の角度が８５度以上である場合にのみ、すなわち、２つの平面セグメントが互いにほぼ直交している場合にのみ、それらの２つの平面セグメントを処理することと同等である。
【００４０】
３Ｄ点群完成システム１００は、接続されている３Ｄ線セグメント５６０の集合を用いて、接続されている平面セグメント間の欠落点を充填する。システム１００は、接続されている３Ｄ線セグメント５６０のそれぞれにおける各３Ｄ点５５０から開始して、占有された最初のボクセル（この時、空き空間とすることはできない）を見つけるまで、３Ｄ交線方向に直交した方向に向かって、２つの平面セグメントのそれぞれを移動する（５７０）。このプロセスの間、未知ボクセルは、システム１００によって欠落点として特定され、図５Ｄに示すように、占有ボクセルを用いて充填され、占有ボクセルとして更新される。
【００４１】
３Ｄ点群完成システム１００は、各平面セグメントを用いて、その平面セグメント上の欠落点も充填する。例えば、平面セグメント上で占有ボクセルによって取り囲まれた一組の未知ボクセル（例えば、図２Ｂにおける窓領域２６２）は、欠落点として特定され、これらの欠落点は、占有ボクセルとして充填することができる。そのような領域を充填しないことが好ましい場合には、その領域に含まれる未知ボクセルの数に関する閾値が用いられてもよい（例えば、領域に含まれる未知ボクセルの数が１００未満である場合にのみ、その領域は充填される）。他方、平面セグメント上の一組の空き空間ボクセルは充填されるべきではない。そのような例は、図２Ａ及び図２Ｂにおける例示の部屋のシーンでは、窓２５０が廊下に面しており、３Ｄセンサ１１６が、部屋の向かい側に位置している廊下の壁を、窓を通して測定すると仮定した場合に示すことができる。そのような場合には、３Ｄセンサは、窓の背後に位置している廊下の壁上の３Ｄ点を測定するため、窓領域２６２は、一組の空き空間ボクセルであり、このため、空き空間ボクセルは、空きエリアの存在を示すため、窓領域２６２は、充填されるべきでない。
【００４２】
接続関係を特定するプロセスおよび欠落点を充填するプロセスは、充填するプロセスから得られる更新された一組の分類済みボクセルを、特定するプロセスへの入力として用いることによって、収束がステップ３４０において確認されるまで繰り返すことができる。更新された一組の分類済みボクセルが、入力された一組の分類済みボクセルと同一である場合には、この収束を決定することができる。すなわち、少なくとも１つの欠落点が、充填するプロセスにおいて充填される場合には、このプロセスを繰り返すことができる。
【００４３】
以上、説明したように、３Ｄ点群完成システム１００は、接続関係を特定することおよび欠落点を充填することに、ＳＤＦおよび分類済みボクセルを用いる。本開示の一つの実施の形態は、これらのプロセスが、平面セグメント上に位置している分類済みボクセルにしかアクセスしないことを認識している。この認識は、ＳＤＦおよび分類済みボクセルを求め、より高速な処理速度およびメモリ効率を得るために、平面セグメント上にのみ記憶する必要があることを示唆している。したがって、本開示のこの実施の形態は、３Ｄ座標を用いてアクセスする必要がある、３Ｄ空間全体の３ＤのＳＤＦを定義するのではなく、２Ｄ座標を用いてアクセスすることができる各平面セグメントの２ＤのＳＤＦを定義する。平面セグメントについて定義された一組の２ＤのＳＤＦと、これらの２ＤのＳＤＦにおける分類済みボクセルとは、３ＤのＳＤＦを求めるのに用いられる手順と同じ手順を用いて求めることができる。
【００４４】
３Ｄ点群完成システムの出力は、一組の占有ボクセルを含む、完成された３Ｄ点群である。この出力は、一組の完成された平面セグメントを含む、区分的に平面の３Ｄモデルとみなすこともできる。完成された平面セグメントのそれぞれは、その平面セグメントに属する一組の占有ボクセルとして、またはその平面セグメントに属する占有ボクセルを囲む一組の境界ポリゴンとして表すことができる。
【００４５】
用途
完成された３Ｄ点群は、あらゆる３Ｄモデル化および３Ｄ視覚化の用途に、より良好なビジュアルの表示品質を提供することができる。完成された３Ｄ点群は、３Ｄモデルベースのシミュレーションについても、特に、３Ｄモデルからのシミュレーション対象エンティティのリークが重大な問題であるときに有用となる場合がある。例として、空気流および熱伝導のシミュレーション、ＷｉＦｉおよびセルラーネットワークの無線伝播のシミュレーション、および可視光伝播のシミュレーションが含まれる。そのようなシミュレーションは、ビルディング情報モデル化（ＢＩＭ）において一般に興味がもたれている。
【００４６】
本開示の焦点は、完成された平面セグメントを含む、区分的に平面の３Ｄモデルを生成することであるが、非平面の物体表面上に位置している非平面の３Ｄ点を、出力される３Ｄモデルに加えることができる。非平面の３Ｄ点は、いずれの平面セグメントにも属さない３Ｄ点として、平面セグメント抽出プロセスにおいて見つけることができる。
【００４７】
本開示の上述した実施の形態は、多数の方法のうちの任意のもので実施することができる。例えば、上述した実施の形態は、ハードウェア、ソフトウェア、またはそれらの組み合わせを用いて実施することができる。ソフトウェアで実施されるとき、このソフトウェアコードは、単一のコンピューター内に設けられているのかまたは複数のコンピューター間に分散されているのかを問わず、任意の適したプロセッサまたはプロセッサの集合体上で実行することができる。そのようなプロセッサは、集積回路構成要素に１つ以上のプロセッサを有する集積回路として実施することができる。ただし、プロセッサは、任意の適したフォーマットの回路部を用いて実施することができる。
【００４８】
また、本明細書において略述された様々な方法またはプロセスは、様々なオペレーティングシステムまたはプラットフォームのうちの任意の１つを用いる１つ以上のプロセッサ上で実行可能なソフトウェアとしてコード化することができる。加えて、そのようなソフトウェアは、複数の適したプログラミング言語、プログラミングツールもしくはスクリプティングツールのうちの任意のものを用いて記述することができ、実行可能機械語コード、またはフレームワークもしくは仮想機械上で実行される中間コードとしてコンパイルすることもできる。通常、プログラムモジュールの機能は、様々な実施形態において所望に応じて組み合わせることもできるし、分散させることもできる。
【００４９】
また、本開示の実施の形態は、方法として具現化することができ、この方法の一例が提供されている。この方法の一部として実行される動作は、任意の適した方法で順序付けることができる。したがって、例示したものと異なる順序で動作が実行される実施の形態を構築することができ、この順序は、いくつかの動作が例示の実施の形態では順次的な動作として示されていても、それらの動作を同時に実行することを含むことができる。さらに、請求項の要素を修飾する、特許請求の範囲における「第１」、「第２」等の序数の使用は、それ自体で、１つの請求項の要素の別の請求項の要素に対する優先順位も、優位性も、順序も暗示するものでもなければ、方法の動作が実行される時間的な順序も暗示するものでもなく、請求項の要素を区別するために、単に、ある特定の名称を有する１つの請求項の要素を、同じ（序数の用語の使用を除く）名称を有する別の要素と区別するラベルとして用いられているにすぎない。
【図１】
2018124985.tif 000003
【図２Ａ】
2018124985.tif 000004
【図２Ｂ】
2018124985.tif 000005
【図２Ｃ】
2018124985.tif 000006
【図２Ｄ】
2018124985.tif 000007
【図３】
2018124985.tif 000008
【図４】
2018124985.tif 000009
【図５Ａ】
2018124985.tif 000010
【図５Ｂ】
2018124985.tif 000011
【図５Ｃ】
2018124985.tif 000012
【図５Ｄ】
2018124985.tif 000013
【外国語明細書】
2018124985.tif 000014
2018124985.tif 000015
2018124985.tif 000016
2018124985.tif 000017
2018124985.tif 000018
2018124985.tif 000019
2018124985.tif 000020
2018124985.tif 000021
2018124985.tif 000022
2018124985.tif 000023
2018124985.tif 000024
2018124985.tif 000025
2018124985.tif 000026
2018124985.tif 000027
2018124985.tif 000028
2018124985.tif 000029
2018124985.tif 000030
2018124985.tif 000031
2018124985.tif 000032
2018124985.tif 000033
2018124985.tif 000034
2018124985.tif 000035
2018124985.tif 000036
2018124985.tif 000037
2018124985.tif 000038
2018124985.tif 000039
2018124985.tif 000040
2018124985.tif 000041
2018124985.tif 000042
2018124985.tif 000043
2018124985.tif 000044
2018124985.tif 000045
2018124985.tif 000046
2018124985.tif 000047
2018124985.tif 000048
2018124985.tif 000049