(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-20
(45)【発行日】2024-11-28
(54)【発明の名称】実際のシーンの構造の3D再構成
(51)【国際特許分類】
G06T 17/20 20060101AFI20241121BHJP
G01C 11/02 20060101ALI20241121BHJP
G01B 11/00 20060101ALI20241121BHJP
【FI】
G06T17/20
G01C11/02
G01B11/00 A
【外国語出願】
(21)【出願番号】P 2020069291
(22)【出願日】2020-04-07
【審査請求日】2023-03-08
(32)【優先日】2019-04-10
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】500102435
【氏名又は名称】ダッソー システムズ
【氏名又は名称原語表記】DASSAULT SYSTEMES
(74)【代理人】
【識別番号】110000752
【氏名又は名称】弁理士法人朝日特許事務所
(72)【発明者】
【氏名】アンドレ リュチ
(72)【発明者】
【氏名】ジュリアン ビリアミ
(72)【発明者】
【氏名】デイビッド コーエン・シュタイナー
【審査官】高野 美帆子
(56)【参考文献】
【文献】特開2006-065472(JP,A)
【文献】国際公開第2018/179253(WO,A1)
【文献】特開2010-133752(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 17/20
G01C 11/02
G01B 11/00
(57)【特許請求の範囲】
【請求項1】
現実のシーンの構造の3D再構成のためのコンピュータ実施方法であって、
・構造を表す3D点群を提供するステップ(S10)と、
・前記構造のスキンを表す閉三角形分割表面を決定するステップ(S30)であって、各々が少なくとも前記3D点群の対応する部分をメッシュする閉三角形分割表面の候補を探索し、閉三角形分割表面の候補の上位ランクに辞書式順序に従ってペナルティを与え、前記辞書式順序は三角形順序に基づいており、前記辞書式順序は、三角形順序の降順に従って順序付けられた第2の三角形を有する閉三角形分割表面の第2の候補に対して、三角形順序の降順に従って順序付けられた第1の三角形を有する閉三角形分割表面の第1の候補を有する三角形を順序づけ、前記三角形順序は、三角形サイズにペナルティを与えるステップと
を含む方法。
【請求項2】
前記閉三角形分割表面の候補は、それぞれ、前記3D点群の四面体メッシュの対応する四面体の対応する三角形面の対応する組を含む
請求項1に記載の方法。
【請求項3】
前記四面体メッシュが、以下の特性を示す
・四面体メッシュの四面体の集合が点群の点の凸包絡線を形成し、
・四面体メッシュの任意の第1の四面体と、第1の四面体と交差する四面体メッシュの任意の第2の四面体との間の交差は第1の四面体の頂点、第1の四面体のエッジ、又は第1の四面体の面である
請求項2に記載の方法。
【請求項4】
前記三角形順序は、それぞれの三角形について
、最小の包囲円の半径の高い値にペナルティを与える
請求項1から3のいずれか1項に記載の方法。
【請求項5】
前記三角形順序は、同じ最小の包囲円を有する第1の三角形及び第2の三角形について
、外接円の半径の小さい値をさらにペナルティを与える
請求項4に記載の方法。
【請求項6】
前記閉三角形分割表面の候補はそれぞれ、前記3D点群の四面体メッシュの対応する四面体の対応する三角形面の対応する組を含み、前記四面体メッシュは、正則三角形分割である
請求項1乃至5のいずれか1項に記載の方法。
【請求項7】
前記探索すること及び前記ペナルティを与えることは、
・前記三角形順序の降順に従って四面体メッシュの三角形を訪問することと、
・前記三角形順序の上位を有する訪問済み三角形を廃棄することと
を含む、請求項6に記載の方法。
【請求項8】
前記四面体メッシュの対応する四面体は対応する領域を定義し、前記決定するステップ(S30)は、
・四面体メッシュの外部の四面体と四面体メッシュの内部の四面体を宣言することを含み、外部の四面体と内部の四面体はそれぞれ構造の外部の領域と構造の内部の領域を表し、ここで
・前記三角形の訪問は、各訪問された三角形について、訪問された三角形が内部領域を外部領域から分離するかどうかを評価することを含み、
・前記三角形の廃棄は、内部領域を外部領域から分離しない各訪問三角形について、三角形が2つの領域を分離し、三角形を抑制し、2つの領域をマージすることを含む
請求項7に記載の方法。
【請求項9】
内部領域を外部領域から分離する各訪問三角形が維持され、維持された三角形は、決定された閉じた三角形分割面を形成する
請求項8に記載の方法。
【請求項10】
前記決定するステップ(S30)は前記構造の内部位置を表す前記3D点群内のゾーンを提供するステップを含み、前記閉三角形分割表面の候補は、それぞれ前記ゾーンを包含する
請求項1から9のいずれか1項に記載の方法。
【請求項11】
前記構造が少なくとも1つの角構造を含む
請求項1乃至10のいずれか1項に記載の方法。
【請求項12】
前記3D点群は写真測量、レーザスキャン、RGB-D測定、及び/又は医療又は産業用断層撮影から生じ、及び/又は、前記現実のシーンが建築シーン、建築物内部シーン、採掘シーン、有機組織、又は機械部品である
請求項1乃至11のいずれか1項に記載の方法。
【請求項13】
コンピュータに、請求項1乃至12のいずれか1項に記載の方法を実行
させるため
のコンピュータプログラム。
【請求項14】
請求項13に記載のコンピュータプログラムを記録したコンピュータ可読記憶媒体。
【請求項15】
請求項13に記載のコンピュータプログラムを記録し
たメモリ及びディスプレイに結合され
、前記コンピュータプログラムにより動作させられるプロセッサを含むコンピュータ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はコンピュータプログラム及びシステムの分野に関し、より具体的には、現実のシーンの構造の3D再構成のための方法、システム、及びプログラムに関する。
【背景技術】
【0002】
物体の設計、エンジニアリング及び製造のために、多数のシステム及びプログラムが市場に提供されている。CADはコンピュータ支援設計の頭字語であり、例えば、オブジェクトを設計するためのソフトウェアソリューションに関する。CAEはコンピュータ支援エンジニアリングの頭字語であり、例えば、将来の製品の物理的挙動をシミュレートするためのソフトウェアソリューションに関連する。CAMはコンピュータ支援製造の頭字語であり、例えば、製造処理及び動作を定義するためのソフトウェアソリューションに関する。そのようなコンピュータ支援設計システムでは、グラフィカルユーザーインタフェースが技法の効率に関して重要な役割を果たす。これらの技術は、製品ライフサイクル管理(PLM)システム内に組み込まれてもよい。PLMとは、企業が製品データを共有し、共通の処理を適用し、企業知識を活用して、長期的な企業のコンセプトを越えて、コンセプトから生涯にわたる製品の開発に役立てることを支援するビジネス戦略のことをいう。(CATIA、ENOVIA及びDELMIAの商標で)ダッソーシステムズによって提供されるPLMソリューションは、製品工学知識を編成するエンジニアリングハブと、製造工学知識を管理する製造ハブと、エンタープライズハブ及びエンジニアリングハブ及び製造ハブの両方への接続を可能にする企業ハブとを提供する。全体として、システムは最適化された製品定義、製造準備、生産、及びサービスを駆動する動的な知識ベースの製品作成及び意思決定サポートを可能にするために、製品、プロセス、リソースをリンクするオープンオブジェクトモデルを提供する。
【0003】
この文脈及び他の文脈において、現実のシーンの構造の3D再構成は、広く重要性を増している。
【0004】
いくつかの既存の3D再構成方法は平滑性仮説に基づいており、平滑性仮説は、いくつかのコンテキストに適応されない場合がある。特に、そのような方法は、建物の角のような角構造を特徴とするシーンの文脈では効率的ではない。
【0005】
他の方法は、陰関数を点群に当てはめ、その精度は十分ではない。
【0006】
他の方法は点群の内部の密度変化に敏感であり、それは、点群を十分にロバストにしない。例えば、このような方法は、ノイズや外れ値に対してロバストではなく、適当な密度要求を満たさないであろういくつかの点群に対して水密モデルを構築することに失敗することがある。
【0007】
他の方法は、フォトコンシステンシー、表面可視性又は規則性などのパラメータの微調整を含むことができる。したがって、これらの方法はシーンの特定の例のために何らかの手動変更を必要とする可能性があり、これにより、シーンは、汎用的ではなく、及び/又は人間工学的ではなくなる。
【0008】
この文脈の中で、現実のシーンの構造の3D再構成のための改善された方法が依然として必要とされている。
【発明の概要】
【0009】
したがって、本発明は、現実のシーンの構造の3D再構成のためのコンピュータ実施方法を提供する。この方法は、構造を表す3D点群を提供することを含む。この方法はさらに、構造のスキンを表す閉三角形分割表面を決定することを含む。決定することは、各々が3D点群の少なくとも対応する部分をかみ合う閉三角形分割表面の候補を探査する。この決定は、辞書式順序に従って、閉三角形分割表面の候補の上位ランクにペナルティを与える。辞書式順序は、三角形順序に基づく。辞書式順序は、三角形順序の減少するランクに従って順序付けられた第1の三角形を有する第1の閉三角形分割表面の候補を、三角形順序の減少するランクに従って順序付けられた第2の三角形を有する第2の閉三角形分割表面の候補に対して順序付ける。三角形順序は、三角形のサイズにペナルティを与える。
【0010】
これにより、実景の構造物を3次元的に再構成するための改良された手法が構成される。
【0011】
この方法は、以下の1つ以上を含んでもよい。
・前記閉三角形分割表面の候補は、それぞれ、前記3D点群の四面体メッシュの対応する四面体の対応する三角形面の対応する組を含む。
・前記四面体メッシュが、以下の特性を示す。
・・四面体メッシュの四面体の集合が点群の点の凸包絡線を形成する。
・・四面体メッシュの任意の第1の四面体と、第1の四面体と交差する四面体メッシュの任意の第2の四面体との間の交差は第1の四面体の頂点、第1の四面体のエッジ、又は第1の四面体の面である。
・前記三角形順序は、それぞれの三角形について、最小の包囲円の半径の高い値にペナルティを与える。
・前記三角形順序は、同じ最小の包囲円を有する第1の三角形及び第2の三角形について、外接円の半径の小さい値をさらにペナルティを与える。
・前記閉三角形分割表面の候補はそれぞれ、前記3D点群の四面体メッシュの対応する四面体の対応する三角形面の対応する組を含み、前記四面体メッシュは、正則三角形分割である
・前記探索すること及び前記ペナルティを与えることは以下を含む。
・・前記三角形順序の降順に従って四面体メッシュの三角形を訪問すること。
・・前記三角形順序の上位を有する訪問済み三角形を廃棄すること。
・前記四面体メッシュの対応する四面体は対応する領域を定義し、前記決定するステップは以下を含む。
・・四面体メッシュの外部の四面体と四面体メッシュの内部の四面体を宣言することを含み、外部の四面体と内部の四面体はそれぞれ構造の外部の領域と構造の内部の領域を表す。
・・前記三角形の訪問は、各訪問された三角形について、訪問された三角形が内部領域を外部領域から分離するかどうかを評価することを含む。
・・前記三角形の廃棄は、内部領域を外部領域から分離しない各訪問三角形について、三角形が2つの領域を分離し、三角形を抑制し、2つの領域をマージすることを含む。
・内部領域を外部領域から分離する各訪問三角形が維持され、維持された三角形は、決定された閉じた三角形分割面を形成する。
・前記決定するステップは前記構造の内部位置を表す前記3D点群内のゾーンを提供するステップを含み、前記閉三角形分割表面の候補は、それぞれ前記ゾーンを包含する。
・ 前記構造が少なくとも1つの角構造を含む。及び/又は、
・前記3D点群は写真測量、レーザスキャン、RGB-D測定、及び/又は医療又は産業用断層撮影から生じ、及び/又は、前記現実のシーンが建築シーン、建築物内部シーン、採掘シーン、有機組織、又は機械部品である。
【0012】
さらに、上記の方法を実行するための命令を含むコンピュータプログラムが提供される。
【0013】
さらに、上記のコンピュータプログラムを記録したコンピュータ可読記憶媒体が提供される。
【0014】
さらに、上記のコンピュータプログラムを記録した、メモリ及びディスプレイに結合されたプロセッサを含むコンピュータが提供される。
【図面の簡単な説明】
【0015】
【発明を実施するための形態】
【0016】
図1のフローチャートを参照すると、実際のシーンの構造の3D再構成のためのコンピュータ実施方法が提案されている。この方法は、構造を表す3D点群を提供するステップS10を含む。この方法は、構造のスキンを表す閉三角形分割表面を決定するステップS30をさらに含む。決定するステップS30は、各々が3D点群の少なくとも対応する部分をメッシュする閉三角形分割表面の候補を探査する。決定するステップS30は、辞書式順序に従って、閉三角形分割表面の候補の上位ランクにペナルティを与える。辞書式順序は、三角形順序に基づく。辞書式順序は、三角形順序の減少するランクに従って順序付けられた第1の三角形を有する第1の閉三角形分割表面の候補を、三角形順序の減少するランクに従って順序付けられた第2の三角形を有する第2の閉三角形分割表面の候補に対して順序付ける。三角形順序は、三角形のサイズにペナルティを与える。
【0017】
これは、現実のシーンの構造の3D再構成のための改善された方法を構成する。
【0018】
特に、本方法は、実際のシーンの構造を3Dで再構成することを可能にする。さらに、本方法はステップS10において提供された点群及び/又は構造に関する平滑性仮説を必要とせずにそのようにし、それによって、それをロバストにし、異なる現実のシーン構造を処理することが可能になる。実際には、例えば、本方法は例えば、角構造のような非規則的な構造を表す部分を含む非規則的な、提供された3D点群から構造の3D再構成を実行することができる。また、この方法はパラメータを手動で調整する量が少なく(例えば、まったくない)、人間工学的である。特に、以下でさらに論じられるように、方法の任意の例では、探索及びペナルティ化は自動的に実行されてもよい。
【0019】
さらに、決定するステップS30は辞書式順序に従って、閉三角形分割表面の候補の高いランクにペナルティを与える(すなわち、ランクの高いランクにペナルティを与える)。辞書式順序は、三角形順序に基づいて、第2の閉三角形分割表面の候補に対して第1の閉三角形分割表面の候補を順序付ける。各閉三角形分割表面の候補の三角形は三角形順序の減少ランクに従って順序付けされ、三角形順序は三角形の大きさにペナルティを与える。これは、決定するステップS30が閉三角形分割表面の候補の間の選択を操作し、閉三角形分割表面の候補の中で、大きな三角形の存在、及び/又は閉三角形分割表面の候補内の大きな三角形の量の大きさにペナルティを与えることを意味する。大きな三角形、例えば広範囲に引き伸ばされた形状を有する三角形は、外れ値及び/又は低密度の点を特徴とする領域を表すことができる。換言すれば、大きな三角形は構造のスキンのいかなる部分も表さない点群の領域、例えば、外れ値を含む領域及び/又は構造の内部又は外部に対応する領域を表す。したがって、このような方法で辞書式順序及び三角形順序を使用することによって、決定S30は、閉三角形分割表面の候補の中で、構造のスキンを可能な限り最良に表すものを求める。特に、本方法は、外れ値及び/又はノイズ及び/又は低密度領域の存在を効率的に処理する。
【0020】
この方法は、コンピュータで実施される。これは、該方法のステップ(又は実質的に全てのステップ)が少なくとも1つのコンピュータ又は任意のシステムによって実行されることを意味する。したがって、本方法のステップはコンピュータによって、場合によっては完全に自動的に、又は半自動的に実行される。例では、方法のステップのうちの少なくともいくつかのトリガがユーザ/コンピュータ対話を介して実行され得る。必要とされるユーザ/コンピュータ対話のレベルは予測される自動化のレベルに依存し、ユーザの希望を実施する必要性とバランスをとることができる。例では、このレベルがユーザ定義及び/又は事前定義され得る。
【0021】
方法のコンピュータ実装の典型的な例は、この目的のために適合されたシステムを用いて方法を実行することである。システムはメモリに結合されたプロセッサと、グラフィカルユーザーインタフェース(GUI)とを備えることができ、メモリには、本方法を実行するための命令を含むコンピュータプログラムが記録されている。メモリはまた、データベースを記憶してもよい。メモリはそのような記憶装置に適合された任意のハードウェアであり、場合によっては、いくつかの物理的に別個の部分(例えば、プログラムのための部分、及び場合によってはデータベースのための部分)を備える。
【0022】
図2は、システムがクライアントコンピュータシステム、例えばユーザのワークステーションであるシステムの一例を示す。
【0023】
この例のクライアントコンピュータは、内部通信バス1000に接続された中央処理装置(CPU)1010と、やはりバスに接続されたランダムアクセスメモリ(RAM)1070とを備える。クライアントコンピュータには、さらに、BUSに接続されたビデオランダムアクセスメモリ1100に関連するグラフィカルプロセッシングユニット(GPU)1110が設けられている。ビデオRAM1100は、当技術分野ではフレームバッファとしても知られている。大容量記憶装置コントローラ1020は、ハードドライブ1030などの大容量記憶装置へのアクセスを管理する。コンピュータプログラム命令及びデータを有形に具現化するのに適した大容量メモリデバイスは、例として、EPROM、EEPROM、及びフラッシュメモリデバイスなどの半導体メモリデバイス、内部ハードディスク及びリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにCD-ROMディスク1040を含む、すべての形態の不揮発性メモリを含む。前述のいずれも、特別に設計されたASIC(特定用途向け集積回路)によって補足されるか、又はその中に組み込まれてもよい。ネットワークアダプタ1050は、ネットワーク1060へのアクセスを管理する。クライアントコンピュータは、カーソル制御デバイス、キーボードなどの触覚デバイス1090も含むことができる。ユーザがディスプレイ1080上の任意の所望の位置にカーソルを選択的に位置決めすることを可能にするために、カーソル制御装置がクライアントコンピュータ内で使用される。さらに、カーソル制御装置はユーザが様々なコマンドを選択し、制御信号を入力することを可能にする。カーソル制御装置は、システムに制御信号を入力するための多数の信号発生装置を含む。典型的にはカーソル制御装置がマウスであってもよく、マウスのボタンは信号を生成するために使用される。代替的に又は追加的に、クライアントコンピュータシステムは、センシティブパッド及び/又はセンシティブスクリーンを含むことができる。
【0024】
コンピュータプログラムはコンピュータによって実行可能な命令を含むことができ、命令は、上記装置に該方法を実行させるための手段を含む。プログラムは、システムのメモリを含む任意のデータ記憶媒体に記録可能であってもよい。プログラムは例えば、デジタル電子回路において、又はコンピュータハードウェア、ファームウェア、ソフトウェアにおいて、又はそれらの組み合わせにおいて実装されてもよい。プログラムは装置、例えば、プログラマブルプロセッサによる実行のための機械可読記憶デバイスに有形に具現化された製品として実装されてもよい。方法のステップは入力データに対して動作し、出力を生成することによって、方法の機能を実行するための命令のプログラムを実行するプログラマブルプロセッサによって実行されてもよい。したがって、プロセッサはプログラム可能であり、データ記憶システム、少なくとも1つの入力デバイス、及び少なくとも1つの出力デバイスからデータ及び命令を受信し、それらにデータ及び命令を送信するように結合され得る。アプリケーションプログラムは、高レベルの手続き型又はオブジェクト指向プログラミング言語で、あるいは必要に応じてアセンブリ言語又は機械語で実装することができる。いずれの場合も、言語は、コンパイルされた言語又は解釈された言語であってもよい。プログラムはフルインストールプログラムであってもよいし、更新プログラムであってもよい。システム上にプログラムを適用すると、いずれにしても、この方法を実行するための命令が得られる。
【0025】
システムは、一般にモデル化されたオブジェクトを操作するCADシステムであってもよい。本開示の文脈では現実のシーンの構造を表す任意の3D点群、及び/又は点群又はその少なくとも一部の任意の3Dメッシュ又は三角形分割はCADシステムのモデル化されたオブジェクトとすることができる。言い換えれば、この方法は一般に、モデル化されたオブジェクトを操作することができる。
【0026】
モデル化されたオブジェクトは、例えばデータベースに格納されたデータによって定義される任意のオブジェクトである。伸長により、表現「モデル化オブジェクト」は、データ自体を指定する。システムのタイプに応じて、モデル化された被写体は、異なる種類のデータによって定義されてもよい。システムは実際にCADシステムであってもよい。このシステムでは、モデル化されたオブジェクトが対応するデータによって定義される。したがって、CADオブジェクトについて話すことができる。
【0027】
CADシステムとは、さらに、CATIAのような、モデル化オブジェクトのグラフィック表現に基づいてモデル化オブジェクトを少なくとも設計するように適合された任意のシステムを意味する。この場合、モデル化オブジェクトを定義するデータは、モデル化オブジェクトの表現を可能にするデータを含む。CADシステムは例えば、ある場合には、面又は表面を有するエッジ又は線を使用してCADモデル化オブジェクトの表現を提供することができる。線、エッジ、又は表面は様々な方法、例えば、不均一有理Bスプライン(NURBS)で表すことができる。具体的には、CADファイルは仕様を含み、そこから幾何学的形状を生成することができ、これにより表現を生成することができる。モデル化されたオブジェクトの仕様は、単一のCADファイル又は複数のCADファイルに格納することができる。CADシステム内のモデル化オブジェクトを表すファイルの典型的なサイズは、部品当たり1メガバイトの範囲内である。そして、モデル化オブジェクトは、典型的には何千もの部品のアセンブリであり得る。
【0028】
CADの文脈では、モデル化されたオブジェクトが典型的には例えば、部品又は部品のアセンブリ、又は場合によっては製品のアセンブリなどの製品を表す3Dモデル化されたオブジェクトとすることができる。「3Dモデリングされたオブジェクト」とは、その3D表現を可能にするデータによってモデリングされる任意のオブジェクトを意味する。3D表現は、全ての角度から部品を見ることを可能にする。例えば、3Dモデル化オブジェクトが3D表現される場合、その軸のいずれかの周り、又は表現が表示される画面内のいずれかの軸の周りで取り扱われ、回転され得る。これは特に、3Dモデル化されていない2Dアイコンを除外する。3D表現の表示は設計を容易にする(すなわち、設計者が統計的に彼らのタスクを達成する速度を増加させる)。これは、製品の設計が製造工程の一部であるため、産業界における製造工程を高速化する。
【0029】
3Dモデル化オブジェクトは、例えばCADソフトウェアソリューション又はCADシステムを用いた仮想設計の完了後に現実世界で製造される(例えば工業的である)製品の幾何学的各部分の(例えば機械的である)部品又はアセンブリ(又は部品のアセンブリが本方法の観点から部品自体として見ることができるので、同等に部品のアセンブリ)、又はより一般的には任意の剛体アセンブリ(例えば可動機構)を表すことができる。CADソフトウェアソリューションは、航空宇宙、建築、建築、消費財、ハイテク装置、産業機器、輸送、海洋、及び/又は沖合の石油/ガスの生産又は輸送を含む、さまざまな無制限の産業分野における製品の設計を可能にする。
【0030】
構造を表す3D点群を提供するステップS10の概念を説明する。この概念の議論の前に、そこに含まれるデータ構造がここで議論される。
【0031】
現実シーンは現実世界の一部を指定し、これは、オブジェクト又はオブジェクトの配列であってもよく、又はオブジェクトの配列を含んでもよい。現実のシーンの構造は現実のシーンにおける材料の閉じたレイアウトのような、現実のシーンにおける有形の(例えば、具体的である)物理的な閉じた形状である。構造体のスキンは構造体の閉じたハル(又は包絡線)であり、すなわち、構造体の材料は、構造体の内部の不透明な物質と構造体の外部の空気及び/又は物質との間の接触を形成する。したがって、構造のスキンは、構造の内部の不透明な物質である構造の内部を、構造の外部の空気及び/又は物質である構造の外部から分離する。
【0032】
実際のシーンの構造を表す3D点群は、ここでは各点が実際のシーンの構造内に配置されたそれぞれの幾何学的エンティティを表すデータ構造である。各幾何学的実体は構造シーンの対応する位置(言い換えれば、構造を構成する材料の対応する部分及び/又はレイアウト)を表す。幾何学的エンティティの集合(すなわち、結合又は並置)は構造全体を表す。本明細書の任意の3D点群は、100000、1000000、又は10000000を超える多数の点を含むことができる。3D点群は、構造内に配置されたそれぞれの幾何学的実体を表さない点を含むことができることを理解されたい。これらの点は以下に述べるように、地点の密度が低い領域を形成するか、又はその一部とすることができる。このような領域は例えば、構造の外部領域を表す。点群のいくつかの点は外れ値であってもよく、すなわち、測定誤差から生じる点であり、したがって、構造の幾何学的実体を表さない。
【0033】
実際のシーンは、外部から見た建物のような建築シーンであってもよい。構造は、ここでは建物の外壁と建物の基礎とによって形成される閉鎖された有形の物理的形状であってもよい。この場合の構造体の外板は、外壁の表面と、建物の基部を地面から分離する表面とから作られる。建築シーンの別の例はトンネルである。構造は、ここではトンネルの壁から作られてもよく、その場合、構造のスキンはトンネルの壁の表面から作られる。
【0034】
あるいは、現実のシーンが閉鎖された部屋の内部などの建物の内部シーンであってもよい。構造は、ここでは部屋を閉鎖する壁で作られてもよく、この場合、構造の外板は壁の表面で作られる。
【0035】
あるいは、現実のシーンが採掘トンネルなどの採掘シーンであってもよい。ここで、構造はトンネルの壁から作られてもよく、スキンはトンネルの壁の表面から作られてもよい。
【0036】
代替的に、現実のシーンは、有機組織であってもよい。この構造はここでは有機組織自体であってもよく、この場合、スキンは組織の外殻である。
【0037】
あるいは、現実のシーンは機械部品であってもよい。ここで、構造は部品自体であってもよく、この場合、外板は部品の外部ハルである。
【0038】
機械部品は、以下のうちの1つ又は妥当な組み合わせとすることができる。陸上車両(例えば、自動車及び軽トラック機器、レーシングカー、オートバイ、トラック及びモーター機器、トラック及びバス、列車を含む)の一部。航空車両(例えば、機体機器、航空宇宙機器、推進機器、防衛機器、航空機機器、宇宙機器を含む)の一部。海上車両(例えば、海軍機器、商用船、オフショア機器、ヨット及びワークボート、船舶機器を含む)の一部。一般機械部品(例えば、産業用製造機械、重移動機械又は機器、設置機器、産業用機器、加工金属製品、タイヤ製造製品を含む)。電気機械又は電子部品(例えば、家庭用電子機器、セキュリティ及び/又は制御及び/又は計装製品、コンピュータ及び通信機器、半導体、医療デバイス及び機器を含む)。消費財(例えば、家具、家庭用品、及びガーデン製品、レジャー用品、ファッション用品、ファッション用品、ハードグッズ小売業者の製品、ソフトグッズ小売業者の製品を含む)。包装(例えば、食品及び飲料及びタバコ、美容及びパーソナルケア、家庭用品包装を含む)。追加的に又は代替的に、機械部品は以下のうち1つの又は妥当な組み合わせとすることができる。成形部品(すなわち、成形製造工程によって製造された部品)、機械部品(すなわち、機械加工製造工程によって製造された部品)、穿孔部品(すなわち、穿孔製造工程によって製造された部品)、旋削部品(すなわち、旋削製造工程によって製造された部品)、鍛造部品(すなわち、鍛造製造工程によって製造された部品)、プレス部品(すなわち、プレス製造工程によって製造された部品)、及び/又は折り曲げ部品(すなわち、折り曲げ製造工程によって製造された部品)。
【0039】
実施例では、構造が少なくとも1つの角構造を含む。角構造は、角の形状を有するか、又は実質的に有する構造の一部を示す。構造体の角は、形状エッジ又は鋭角を形成する材料のレイアウトに対応する構造体の一部であってもよい。角構造は、建物の角、トンネルの角、部屋の壁によって形成される角、採掘トンネルの角、機械部品を構成する材料のレイアウトにおける角又は鋭角、又は有機組織を構成する組織のレイアウトにおける角又は鋭角であってもよい。
【0040】
例では、3D点群が写真測量、レーザスキャン、RGB-D測定、及び/又は医療又は産業用断層撮影から生じる。
【0041】
この方法の文脈では建築シーンの構造を表す点群がRGB-D測定又は写真測定から、また、オプション的には構造から動く分析から由来するかもしれない。機械部品の構造を表す点群は、工業的断層撮影又はレーザスキャンから生じ得る。採鉱シーンの構造を表す点群は、例えば鉱山の内部のレーザスキャンに由来することがある。有機組織の構造を表す点群は、医療断層撮影法に由来し得る。
【0042】
本明細書における任意の3D点群は、実際のシーン上の物理的測度から決定されてもよい。3D点群を提供するステップS10は特に、各々が対応する物理的信号を取得するように構成された1つ以上の物理センサーを提供することと、現実のシーン上の1つ以上の物理センサーを操作することによって(すなわち、各センサーで現実のシーンをスキャンすることによって)1つ以上の対応する物理的信号を取得することとを含み得る。提供するS10は、任意の既知の技術に従った、測定に基づく3D点群の自動決定を含み得る。1つ又は複数のセンサーは複数の(例えば、RGB、及び/又は画像又はビデオ)カメラを備えることができ、判定は、動きからの構造解析を備えることができる。1つ以上のセンサーは代替的に又は追加的に、(例えば、RGB-Dカメラ上の)1つ以上の奥行きセンサーを含んでもよい。1つ以上のセンサーは代替的に又は追加的に、レーザ(例えば、ライダー)又は超音波エミッタ-レシーバを含むことができる。1つ又は複数のセンサーは代替的に又は追加的に、1つ又は複数の断層撮影センサーを含むことができる。断層撮影センサーは、医療用又は産業用の断層撮影センサーであってもよい。
【0043】
代替的に又は追加的に、3D点群を提供するステップS10は、3D点群が格納されているデータベースにアクセスすることと、データベースから3D点群を取り出すこととを含むことができる。3D点群は前述のように、1つ又は複数の物理センサーを動作させ、1つ又は複数のセンサーによって取得された測度に基づいて3D点群を決定することによって取得され、次いで、提供するステップS10が実際には測度の取得及び3D点群の決定を含まない場合であっても、データベースに格納されていることが可能である。いずれにせよ、3D点群を提供するステップS10は、ユーザアクションによって実行されてもよい。3D点群を提供するステップS10は本方法を実行するコンピュータのディスプレイ(例えば、GUI)上に3D点群を表示するステップをさらに含むことができる。
【0044】
提供される3D点群は、点の異なる密度を有する1つ以上の領域を含んでもよい。これは、点群内の点の濃度が点群の1つの領域から別の領域まで異なり得ることを意味する。構造の外部と構造の内部との間の分離は、典型的には点の最高密度を有する点群の領域に対応し得る。この領域は閉じていてもよく、すなわち、点の密度が最高点群の領域は、構造の内部の領域(おそらく「内部領域」と呼ばれる)を、構造の外部の領域(おそらく「内部領域」と呼ばれる)から分離する閉じた形状を形成してもよい。閉じた形状は(3D点群の点で作られているように)閉じた点状と呼ばれることもあれば、閉じた形状と同じように呼ばれることもある。内部領域及び外部領域は、典型的には点の密度がより低いことを特徴とする領域である。閉じた形状は、3D点群が提供されるときに閉じられるようなものであってもよい。あるいは、閉鎖形状が例えば、これらの孔に対応する現実世界のゾーン上で測定を実行する技術的不可能性のため、及び/又は測定誤差のため、及び/又は測定の不一致のために、より低い点密度を有する閉鎖形状の一部である1つ又は複数の孔を特徴とすることができる。そのような場合、3D点群を提供するステップS10はユーザのアクションに応じて、又は自動的に、これらの穴を点で埋めて、閉じた形状を形成するステップを含むことができる。これらの孔を埋めることは、点の密度が閉じた形状の任意の部分で実質的に同じになるまで、3D点群に点を追加することからなってもよい。点の追加は、例えば点群を繰り返しクリックして点を作成することによって、方法を実行するコンピュータの画面とグラフィカルに対話するユーザによって実行されてもよい。いずれにせよ、充填が生じるか否かにかかわらず、構造の外部と内部との間の分離は点の密度が最も高く、構造の内部の領域を構造の外部の領域から分離する3D点群の閉じた形状である3D点群の領域によって表され、領域の内部及び外部はそれぞれ点の密度がより低い。実施例では、「最高密度を有する」とは閉じた形状の点の密度が測定から生じる周囲雑音よりも高いことを意味する。3D点群はさらに、低密度の点を有し、かつ測定誤差に由来する領域に位置する3D点群の点である異常値を特徴とする場合がある。言い換えれば、外れ値は、実際のシーンの幾何学的実体を表すものではなく、数値及び/又は測定アーチファクトに対応する。
【0045】
ここで、3D点群によって表される構造の3D再構成の概念について簡単に説明する。構造の3D再構成は一般に、3D点群の点を結ぶ表面を計算/決定する動作を指定する。表面は3D点群の点を、構造の外部の領域と構造の内部の領域との間の境界(例えば、境界)を表す閉じた表面に接続するので、「構造のスキンを表す」と呼ばれてもよい。したがって、表面は構造の閉じたハル、言い換えれば、スキンを表す。例えば、前述のように、区切りは、3D点群内の点の高密度の閉じた形状に対応することができる。構造の3D再構成はこの場合、閉じた形状を包絡する表面ハルを形成するように、閉じた形状の点を接続する表面の決定/計算を指定することができる。
【0046】
次に、3D点群の例について説明する。
【0047】
図3Aは提供された3D点群の例を示し、ここでは、橋の一部の壁を表す。ここでのシーンは都市建築シーンであり、3D点群を提供するステップS10は特に、前述のように、動きからの構造分析を含む。
図3Bは、以下に説明する方法の一例による、
図3Aの点群によって表される構造の3D再構成を示す。
【0048】
図4Aは、ここではエンジンを表す、提供される3D点群の一例を示す。ここでのシーンは機械部品であり、3D点群は産業用断層撮影法に由来する。
図4Bは、以下に説明する方法の一例による、
図4Aの点群によって表される構造の3D再構成を示す。
【0049】
図5Aは、ここでは鉱山の壁を表す、提供された3D点群の一例を示す。ここでのシーンはマイニングシーンであり、3D点群は、マイニングの内部のレーザスキャンに由来する。
図5Bは、以下に説明する方法の一例による、
図5Aの点群によって表される構造の3D再構成を示す。
【0050】
図6Aは、ここでは下顎骨を表す、提供された3D点群の一例を示す。ここでのシーンは有機組織であり、3D点群は、医療用断層撮影法に由来する。
図6Bは、以下に説明する方法の一例による、
図6Aの点群によって表される構造の3D再構成を示す。
【0051】
図7Aは、ここではロッカーを表す、提供された3D点群の一例を示す。ここでのシーンは機械部品であり、3D点群は機械部品のスキャンに由来する。
図7Bは、以下に説明する方法の一例による、
図7Aの点群によって表される構造の3D再構成を示す。
【0052】
図8Aは、ここでは建物の外壁を表す、提供される3D点群の例を示す。ここでのシーンは建築シーンであり、3D点群はシーンのいくつかの画像の相関プロセスに由来し、提供ステップS10は前述のように、動きからの構造分析を伴う。
図8Bは、以下に説明する方法の一例による、
図8Aの点群によって表される構造の3D再構成を示す。
【0053】
図9Aは、ここでは仏を表す、提供された3D点群の例を示す。ここでのシーンは有機組織であり、3D点群は断層撮影から生じる。
図9Bは、以下に説明する方法の一例による、
図9Aの点群によって表される構造の3D再構成を示す。
【0054】
次に、構造のスキンを表す閉三角形分割表面を決定するステップS30について説明する。
【0055】
決定された閉三角形分割表面は、構造のスキンを表す。言い換えると、閉三角形分割表面は構造内部の領域と構造外部の領域、例えば、最高点密度を有する3D点群の先に議論された閉じた形状の閉じた表面ハルと、構造外部の領域から構造内部の領域を分離する領域との間の分離を表す。閉三角形分割表面はメッシュ状の表面であってもよく、例えば、メッシュ状の閉三角形分割表面の各頂点は、3D点群の点群に対応してもよい。換言すれば、閉三角形分割表面は、最高密度の点を有する3D点群の閉じた形状の点の少なくとも一部を噛み合わせ、構造の外部の領域から構造の内部の領域を分離する表面を形成することができる。言い換えれば、この方法は提供された3D点群の元の点を使用して表面再構成を実行し、これは、前述のように、点群の点が構造上に配置された実際の幾何学的実体を表すので、この方法を特に正確にする。
【0056】
決定するステップS30は、閉三角形分割された候補表面を探索する。各閉三角形分割表面の候補は、三角形、例えば少なくとも4つの三角形を有する。各候補が閉じた三角形分割された表面メッシュは、少なくとも3D点群の一部をメッシュする。例えば、各閉三角形分割表面の候補は少なくとも一部分をメッシュするメッシュであり、メッシュの頂点は、少なくとも一部分の点に対応する。特に、例では、閉三角形分割表面の候補はそれぞれ、3D点群の四面体メッシュの対応する四面体の対応する三角形面の対応する組を含む。「探索する」及び「ペナルティを与える」ことによって、決定するステップS30はいくつかの閉三角形分割表面(すなわち、閉三角形分割表面の候補)の中から選択を行い、それらのうちの1つ(構造のスキンを表す閉三角形分割表面)のみを選択することを特に理解されたい。
【0057】
閉三角形分割表面の候補の中からの選択は特に、辞書式順序及び三角形順序を含み、これらについて以下に説明する。
【0058】
辞書式順序は第2の閉三角形分割表面の候補に対して第1の閉三角形分割表面の候補を順序付ける、すなわち、第1の閉三角形分割表面の候補と第2の閉三角形分割表面の候補との間の順序付けを提供する。辞書式順序の概念は、それ自体知られている。第1の閉三角形分割表面の候補は(例えば、先に議論したように)第1の三角形、例えば、先に議論したように、3D点群の四面体メッシュの対応する四面体の対応する第1の三角形面、及び、第2の閉三角形分割表面の候補が(例えば、先に議論したように、3D点群の四面体メッシュの対応する四面体の対応する第2の三角形面から成る)第2の三角形を有する。第1の三角形及び第2の三角形の両方は、三角形順序の順序が減少する順序に従って順序付けられる。
【0059】
辞書式順序に従って第2の閉三角形分割表面の候補に対して第1の閉三角形分割表面の候補を順序付けることは、特に、辞書式順序が三角形順序に基づくので、第1の三角形順序付けを評価し、三角形順序の降順ランクに従って第2の三角形順序付けを評価することを含むことができる。順序付けは、第1の三角形及び第2の三角形の両方の評価された順序付けに基づいて、第2の閉三角形分割表面の候補に対する第1の閉三角形分割表面の候補の辞書式順序でランクを確立することをさらに含むことができる。言い換えれば、順序付けは、順序付けられた第1及び第2の三角形を比較することによって、辞書式順序で、第1の閉三角形分割表面の候補と第2の閉三角形分割表面の候補との間の相対ランキングを確立することを含むことができる。
【0060】
辞書式順序に従って第2の閉三角形分割表面の候補に対して第1の閉三角形分割表面の候補を順序付ける例を次に説明する。説明の便宜上、
【数1】
、すなわち、CをA又はBに属する三角形(A及びBの双方には属さない)からなる集合とする。Cが空である場合、A=Bである。この場合、第1の閉三角形分割表面の候補及び第2の閉三角形分割表面の候補は、辞書式順序において同じランクを有する。Cが空でない場合、Cのうち三角形順序に従って最大の三角形をTとする、すなわち、Tは三角形順序の降順に従って三角形Cが順序付けられる場合の最初の三角形である。別の言い方をすれば、TはCの三角形の一つであり、これは、以下に説明するように、三角形順序によって最もペナルティを課され、例えば、三角形Cの中で最大の三角形である。TがAに属する場合、AはBより大きい。この場合、第1の閉三角形分割表面の候補は、辞書式順序において第2の閉三角形分割表面の候補よりも高いランクを有する。逆に、TがBに属する場合、BはAより大きい。この場合、第2の閉三角形分割表面の候補は、辞書式順序において第1の閉三角形分割表面の候補よりも高いランクを有する。ただし、(厳密には)もし
【数2】
であれば、AはBより大きいことに留意されたい。
【0061】
順序付けは、すべての閉三角形分割表面の候補の組が辞書式順序に従って順序付けられる、すなわち、各閉三角形分割表面の候補が辞書式順序におけるそれぞれのランクを有するという結果をもたらすことができる。決定するステップS30は、閉三角形分割された表面候補の上位ランクにペナルティを与える。例では、これは、決定するステップS30が閉三角形分割表面の候補がそれらの高ランクのために廃棄され、1つ又は複数の閉三角形分割表面の候補がその低ランクのために報酬を受けるようなものであり得るということを意味する。決定ステップS30は、いずれの場合においても、すべての閉三角形分割表面の候補のすべてのランクの中で辞書式順序において最小のランクを有する閉三角形分割表面の候補が構造のスキンを表す閉三角形分割表面として決定されるという結果をもたらすことができる。
【0062】
三角形順序は、三角形のサイズにペナルティを与える。三角形のサイズにペナルティを与える概念については、ここで議論する。説明のために、T及びT’を「二つの三角形」とする。三角形サイズにペナルティを与えることは、三角形T及びT’の各々について、三角形のサイズのそれぞれの測度を評価することと、三角形オーダーのより高いランクを、より大きな測度を有する三角形に帰属させることとを含み得る。三角形の大きさの測度は、三角形の重み又は三角形重みと呼ばれることもある。大きさの測度は例えば、三角形の大きさの測定に寄与する第1の実数値関数、三角形の大きさの測定に異なる寄与をする第2の実数値関数、及び/又は第1の関数及び第2の関数からなる結合を含み得る。三角形サイズにペナルティを与えることは、当技術分野でそれ自体知られているように、例えば、2つの実数又は2結合の実数を互いに結合して順序付ける任意の順序に従って、サイズの2つの評価された測度を互いに結合して順序付けることを含むことができる。言い換えれば、TがT’より大きい(すなわち、より大きいサイズを有する)場合、Tのサイズの測度はT’のサイズの測度より大きい(例えば、測度の順序に従って)。ここで、対(T及びT’)が三角形順序の降順に従って順序付けられる場合、前述の第1の三角形及び第2の三角形と同様に、この順序付けでは、TがT’より前に来る。同様に、
【数3】
が順序付けられた三角形の一覧である場合(すなわち、T1が第1の三角形であり、T2が第2の三角形であり、以下同様)、順序付けが三角形順序の減少する順位に従う場合、T1のサイズの測度がT2のサイズの測度よりも大きく、T2のサイズの測度がT3のサイズの測度よりも大きいことを意味する。例では、三角形Tの大きさの測度は、Tの最小包囲円の半径との外接円の半径の逆数で作られた2つの実数値関数である。このような例は三角形サイズを測定し、ペナルティを与えるロバストで効率的な方法を構成する。
【0063】
これは、前述のように2つの閉三角形分割表面の候補を順序付けるとき、辞書式順序におけるより高いランクは三角形順序によって最もペナルティを与えられる三角形、例えば、最大の三角形を有する2つのうちの1つに起因することを意味する。前述したように、このような三角形は例えば、外れ値を含む、低密度の点を有する3D点群の領域を表す(例えば、そのメッシュの一部であってもよい)ことができる。そのような三角形を有する閉三角形分割表面の候補を辞書式順序でそれらの高ランクにペナルティを与えることによって開示することは、構造のスキンを正確に表す閉三角形分割表面を得ることを可能にし、密度変動及び/又は外れ値に対する感度を低減する。これは、この方法をロバストかつ正確にする。
【0064】
例では、この方法が決定された閉三角形分割表面の三角形(例えば、それらの全て又はそのかなりの部分)が形状があまり伸ばされない三角形、例えば、比較的小さな面積を有し、三角形の高さと三角形の底部との間の比率が1に近い三角形を含む小さな三角形(すなわち、小さなサイズを有する)であるという結果を生じ得る。実際、三角形順序は2つの三角形を比較するとき、必ずしも2つのうちの最も平坦な三角形にペナルティを与えるわけではないが、三角形順序に辞書式順序を基礎とすることはしかしながら、平坦な三角形が(例えば、一般的に)回避されるという結果をもたらすことがある。実際のところ、辞書式順序は三角形の連鎖(各々が閉三角形分割表面を形成する)を比較し、三角形の単一の一組の三角形ではなく、最小の可能な三角形で作られた連鎖に報酬を与えようとする(すなわち、低いランク、例えば、最低ランクを与える)。三角形のチェーンを比較し、三角形の単一の一組の三角形ではなく、(例えば、多すぎる量の)大きな三角形を有するペナルティを与えるチェーンは実際に、決定された閉三角形分割表面が(例えば、一般的に)小さく、あまり平坦でない三角形から作られるという結果をもたらすことがある。このような三角形は、構造のスキンを表す。これは、この方法をロバストかつ正確にする。
【0065】
例では、三角形順序がそれぞれの三角形に対して、最小の囲み円の半径の高い値、すなわち三角形の最小の囲み円にペナルティを与える。
【0066】
三角形の最小の包囲円は、三角形の点を包囲する全ての円の中で最小の半径を有する円である。三角形の最小の囲み円の半径は三角形のサイズを測定することに寄与し、最小の囲み円の半径の高い値にペナルティを与えることは、三角形のサイズにペナルティを与えることに寄与する。換言すれば、最小包囲円の半径は三角形サイズの測定に寄与する実数値関数であり、先に議論したように、三角形のサイズの測度の一部であり得る。さらに、最小包囲円の半径の高い値にペナルティを与えることは、三角形サイズにペナルティを与える特に効率的でロバストな方法である。例えば、T及びT’を2つの三角形とし、それぞれの最小包囲円の半径をRB(T)及びRB(T’)とする。そして、これらの例では、不等式RB(T)<RB(T’)は、T’がTよりも大きなサイズを有する事実を捕捉する。この場合、サイズにペナルティを与えることは、三角形順序において、TよりもT’により高いランクを与えることを含む。また、このときT及びT’を三角形順序の順位の降順に従って順序付けすることは、T’がTよりも前に来ることを意味する。
【0067】
例では、三角形順序が同じ最小の包囲円を有する第1の三角形及び第2の三角形について、外接円、すなわち(第1又は第2の)三角形の外接円の半径の小さい値をさらにペナルティを与える。
【0068】
三角形の外接円は、三角形の点を通る円である。三角形の外接円の半径は三角形の大きさを測定することに寄与し、外接円の半径の小さな値にペナルティを与えることは、特に、後述するように、最小の外接円の等式の場合、三角形の大きさにペナルティを与えることに寄与する。言い換えれば、外接円の半径は三角形サイズの測定に寄与する実数値関数であり、先に議論したように、三角形のサイズの測度の一部であり得る。
【0069】
このような最小の囲み円等式の例における外接円の半径の小さな値にペナルティを与えると、この方法のロバスト性が改善される。特に、T及びT’を2つの三角形とし、RB(T)及びRB(T’)をそれぞれの最小の包囲円の半径とする。RB(T)=RB(T’)と仮定する(これは、すなわち、例えばT及びT’の両方が鈍角の三角形である場合に起こり得る)。別の言い方をすれば、T及びT’の両方についてそれぞれの最小の包囲円の半径を評価し、評価された半径の高い値にペナルティを与えることは、三角形サイズの間の相対的な三角形順序を確立するのに十分ではなく、三角形サイズにペナルティを与えるのに十分ではないことがある。言い換えれば、最小の包囲円のみに基づいてペナルティを与えるように、T及びT’のどちらが最大であるかを決定することができない場合がある。しかしながら、外接円の半径の小さな値をさらにペナルティを与えることは、そのような決定を可能にし、その点で、方法のロバスト性を改善する。さらに、外接円の半径の小さな値にペナルティを与えることは、三角形サイズにペナルティを与える特に効率的でロバストな方法である。例えば、RC(T)及びRC(T’)を、T及びT’のそれぞれの外接円の半径とする。そして、これらの例では、RB(T)=RB(T’)である場合、不等式RC(T)>RC(T’)は、T’がTよりも大きい面積を有するという事実を捕捉する。言い換えれば、等式RB(T)=RB(T’)はT及びT’のどちらが最大であるかを決定するのに、最小の包囲円の半径では十分ではないという事実を表す。しかしながら、不等式RC(T)>RC(T’)は、T’がTよりも大きい面積を有することを表し、これは、2つの三角形の間の最小包囲円にかかわらず、T’がTよりも大きいことを決定することを可能にする。この場合、サイズにペナルティを与えることは、三角形順序において、Tよりも高いランクをT’に与えることを含んでもよい。また、三角形の降順に従った順T及びT’の順序付けは、T’がTよりも前に来ることを意味する。
【0070】
先に議論したように、例では、各三角形Tの大きさはTの最小包囲円の半径とTの外接円の半径の逆数とからなる実数値関数の対である三角形の大きさの測度によって測定される。測度は次式により与えられる。
【数4】
この場合、三角形順序は三角形のサイズの順序であってもよく、例えば、最小の囲んでいる円の式間の比較が優勢であり、最小の囲んでいる円の等しさの場合にのみ、囲んでいる円の式の逆数間の比較が有効になる順序であってもよい。例えば、T及びT’を2つの三角形とする。RB(T)<RB(T’)である場合、最小の囲む円の半径間の比較が支配的であるので、T’のサイズの測度
【数5】
は、Tのサイズの測度
【数6】
よりも大きい。最小の包囲円の等式の場合、すなわち、RB(T)=RB(T’)である場合、外接円の半径の逆数間の比較が行われ、より具体的には、
【数7】
である場合、T’のサイズの測度
【数8】
はTのサイズの測度
【数9】
よりも測度の順序において大きい。次に、Tのサイズの測度がT’のサイズの測度よりも測度の順序において小さい場合、T’は、三角形順序においてT高いランクを持つ。しかしながら、T及びT’が三角形の減少順で互いに対して順序付けられている場合、TはT’の後に来る。
【0071】
次に、閉三角形分割表面の候補についてさらに説明する。
【0072】
前述のように、例では、閉三角形分割表面の候補はそれぞれ、3D点群の四面体メッシュの対応する四面体の対応する三角形面の対応する組を含む。三角形面は、閉三角形分割表面の候補の先に議論した三角形である。四面体メッシュは例ではすべての候補表面に共通の四面体メッシュであってもよい(すなわち、閉三角形分割表面の候補はそれぞれ、3D点群の同じ共通の四面体メッシュの対応する四面体の対応する三角形面の対応する組を含む)。四面体メッシュは一度、及び全部について、点群を提供するステップS10の後、及び閉三角形分割表面を決定するステップS30の前に、計算/決定されてもよい。言い換えれば、本方法は、提供された3D点群のメッシングS20を含むことができる。これは、方法を単純化し、それをより迅速にする。あるいは、この方法がいくつかの四面体メッシュに基づいて動作してもよい。
【0073】
例では四面体メッシュが以下の特性を提示する。四面体メッシュの四面体の結合が点群の点の凸包絡線を形成し、四面体メッシュの任意の第1の四面体と、第1の四面体と交差する四面体メッシュの任意の第2の四面体との間の交差は第1の四面体の頂点、第1の四面体のエッジ、又は第1の四面体の面である。これにより、噛合いの質が改善され、その結果、決定された閉三角形分割表面の質が改善される。
【0074】
例では、四面体メッシュが正則三角形分割である。これは、メッシングの品質、従って、決定された閉三角形分割表面の品質を更に改善する。
【0075】
計算形状の分野では、それ自体が知られているように、3D点群の正則三角形分割は1つのより高い次元(つまり、次元4)の多面体の面の影によって誘発される三角形分割である。正則三角形分割は単なるべき乗図の双対であり、例えば、Algorithmic geometry, Jean-Danel Boissonnat and Mariette Yvinec, Cambridge University Press New York, NY, USA.を参照されたい。それ自体知られているように、正則三角形分割は例えば、点群のメッシングS20において、例えば、任意の正則三角形分割法を使用して、以下のようにして得ることができる。
・点群の点を持ち上げる、すなわち各点に座標を追加する。これは、点の集合に1を加えたものを含む元の空間(すなわち、3D点群が属する3D空間)の寸法に寸法が等しい空間に点の集合を埋め込む。
・持ち上げられた点の組の凸包絡線を計算する。
・凸包絡線を任意の公知の方法によって三角形分割する。四面体メッシュの四面体の和は、持ち上げられた点の集合の凸包絡線を形成し、四面体メッシュの任意の第1の四面体と、第1の四面体と交差する四面体メッシュの任意の第2の四面体との間の公差は、第1の四面体の頂点、前記第1の四面体の辺、又は第1の四面体の面である。
・凸包絡線のこの三角形分割の下面を元の空間に投影する。
【0076】
例では、正則三角形分割がドロネー三角形分割である。このような場合、点は放物面に持ち上げられ、その持ち上げは、持ち上げられた点と放物面との間の垂直ギャップによってパラメトリック化される。これは、メッシングの品質、従って、決定された閉三角形分割表面の品質を更に改善する。さらに、この方法は、単にドロネー三角形分割を計算することよりもさらに進むことによって3D再構成を実行する。この方法は実際に、ドロネー四面体メッシュの品質から利益を得るが、ドロネー三角形分割の三角形面で作られている閉三角形分割された全ての候補表面(構造のスキンを真に表すもの)の中から決定するステップS30によって、それを超える。言い換えれば、この方法はドロネー四面体メッシュの三角形面で作られた閉じた三角形分割面の中から、構造のスキンの最良の表現を選択する。
【0077】
実際に、三角形サイズにペナルティを与える三角形順序に基づく辞書式順序に関して、正則な(例えば、ドロネー)四面体メッシュの三角形面で作られた閉三角形分割表面の候補の上位ランクをペナルティを与えることは、決定された閉三角形分割表面を、構造のスキンを特に代表するものにする。特に、このような場合、決定された近接三角形分割面の三角形は大きすぎない及び/又は平すぎない三角形であり、例えば、決定された三角形は反対に、比較的小さい面積を有し、三角形の高さと三角形の底部との間の比率が1に近い三角形である。
【0078】
実際には、3Dドロネー四面体メッシュの三角形面で作られた決定された閉三角形分割表面が構造のスキンに対応する3D点群の部分の2Dドロネー三角形分割である(又は少なくともそれに類似する)。2Dドロネー三角度分割は、三角度分割の各三角度構成要素に対して、三角度の最小角度の値を最大化するという特性を持っている。従って、2Dドロネー三角形分割は(例えば、一般的に)平坦な三角形を回避する。実際、以下のセクション「アルゴリズムについての注釈」でさらに論じるように、コプレーナ点の組が与えられると、コプレーナ点の組の2Dドロネー三角形分割は、いくつかの基準の最小値として定義することができることが観察されている。例として、2D点群Kが与えられた場合(ここで、Tはその凸ハルΩの2Dメッシングである)、Kの2Dドロネー三角形分割T*は、全ての実数
【数10】
について次式で定義される量1(T,p)を最小化するものである
【数11】
ここで、
【数12】
はメッシュTについて
【数13】
の線形補間である。2Dドロネー三角形分割は、T*の三角形で作られ、T*の四面体を囲むすべての表面の中で、pが無限大になるにつれて量の最小値Qに対応する表面である。実際にはT*の三角形で作られ、T*の四面体を囲む表面の中で、pが無限大になるにつれ量の最小値Qに対応する閉三角形分割表面を探索することは、閉三角形分割表面の候補(T*の三角形で作られ、T*の四面体を囲む表面を含む)の中で、三角形順序に基づく辞書式順序で最低ランクを有する閉三角形分割表面を探索することに対応する(例えば、同じ結果を得る)。したがって、このようなコプレーナ点の組について、3Dドロネー四面体メッシュの三角形のみで作られていないメッシュを含む、三角形による点のすべての可能なメッシュが考慮される場合であっても(点の任意の三角形について1つの三角形)、辞書式順序で最小ランクを有するこのような三角形で作られた三角形分割表面の候補閉三角形分割表面の候補の探索は、2Dドロネー三角形分割から三角形のみを選択する。2Dドロネー三角形分割は、三角形の形状(平坦度)における最適を含む多くの三角形分割品質基準に対して最適であることが観測されている。ここで、実際にはコプレーナ点の集合について説明したばかりのことが、依然として非コプレーナ点の集合に適用され、非コプレーナ点の集合をメッシュする閉三角形分割された表面の候補を順序付けるために同じ三角形順序に基づいて同じ辞書式順序を使用することは2Dドロネー三角形分割、すなわち、特に、その三角形が小さく、あまり平坦ではない閉三角形分割された表面に少なくとも類似する、決定された閉三角形分割表面を依然としてもたらすことが、さらに観察されている。
【0079】
いずれの場合においても、三角形分割表面の候補が3Dドロネー四面体メッシュの三角形で作られていない場合であっても、決定S30は、決定された閉三角形分割表面が構造のスキンを表す2Dドロネー三角形分割である(又は少なくともそれに類似する)という結果をもたらすことができる。特に、決定された閉三角形分割表面は(例えば、一般的に)小さく、平坦すぎない三角形で作られる。しかし、三角形分割表面の候補を同じドロネー四面体メッシュの三角形で作った面に限定すると、三角形分割表面の候補の数が減り、この方法の速度と効率が改善される。
【0080】
ここで、決定するステップS30の例について説明する。
【0081】
例では決定するステップS30が構造の内部位置を表す3D点群内にゾーンを提供するステップを含み、閉三角形分割表面の候補はそれぞれゾーンを包含する。
【0082】
前述のように、構造は高密度の3D点群の閉じた形状、例えば、周囲雑音よりも高い密度に対応する。しかしながら、密度が実質的に等しい2つ以上のこのような閉じた形状が点群内に存在することが起こり得る。構造に対応すべき2つ以上を区別するために、決定するステップS30は、構造の内部位置を表す3D点群内のゾーンを提供するステップを含む。この内部位置は典型的には閉じた形状のうちのちょうど1つによって取り囲まれる(例えば、包囲される)。したがって、決定S30によって探索される閉三角形分割表面の候補は、ゾーンを包含することが必要とされる。したがって、ゾーンを設けることにより、真に構造に対応する3D点群の閉じた形状のうちの1つを選択することが可能になり、その場合、スキンの表現を決定することができる(S30)。言い換えれば、ゾーンを設けることにより、この方法はより正確かつロバストになる。特に、本方法は構造に対応する領域に加えて、高密度の点を特徴とする点群のいくつかの領域が存在する間に、構造を再構成することができる。
【0083】
ゾーンの提供は、ユーザによって実行されてもよい。例えば、3D点群は方法を実行するコンピュータのディスプレイ(例えば、GUI)上に表示されてもよく、ユーザは例えば、ディスプレイとのグラフィカルな対話によってゾーンを定義する。例えば、ユーザは、点群の位置をクリックして、ゾーンを定義することができる。このような場合、探索及びペナルティはユーザによるゾーンの提供時に、自動的に実行されてもよい。
【0084】
図10乃至12は、閉三角形分割表面の候補間の辞書式順序の効果を示す。
図10は、各々が高密度の点を有する点群内の2つの閉じた形状100及び102を示す。形状102は再構成される構造に対応し、すなわち、閉じた三角形に分割された表面メッシング形状102は、本方法に従って決定される。形状100は、閉三角形分割表面メッシング形状102よりも辞書式順序で高いランクを有する閉三角形分割表面の候補によってメッシングことができる点群の別の部分を表す。決定するステップS30は、3D点群内にゾーン「内部」104を提供するステップを含む。ゾーンは、形状102に対応する構造の内部位置を表す。
図11は、辞書式順序なしで何が起こり得るかを示す。構造102ではなく、形状100を表す(すなわち、メッシング)閉三角形分割表面110は、辞書式順序で閉三角形分割表面110の高いランクにもかかわらず、得られることができる。
図12は本開示の方法による決定S30の結果を示し、特に辞書式順序のために、構造を真に表す形状102は決定されたS30閉三角形分割表面120によってメッシュされており、これは、面110及び120の中で辞書式順序の中で最も低いランクを有するものである。実際、形状100は、形状102よりも大きな穴を有する。これらの最大の穴は、形状100における最大のエッジをもたらそう。また、辞書式順序が比較されるので、最大エッジは形状100にペナルティを与える。
【0085】
図13乃至
図15は、閉三角形分割表面の候補間の辞書式順序の効果を示す。
図13は、各々が高密度の点を有する点群内の2つの閉じた形状130及び132を示す。形状132は再構成される構造に対応し、すなわち、閉三角形分割表面メッシング形状132は、本方法に従って決定される。形状130は、閉三角形分割表面メッシング形状132よりも辞書式順序で高いランクを有する閉三角形分割表面の候補によってメッシングことができる点群の別の部分を表す。決定するステップS30は、3D点群内にゾーン「内部」134を提供するステップを含む。ゾーンは、形状132に対応する構造の内部位置を表す。
図14は、辞書式順序なしで何が起こり得るかを示す。構造132ではなく、形状130を表す(すなわち、メッシング)閉三角形分割表面140は、辞書式順序で閉三角形分割表面140の高いランクにもかかわらず、得られることができる。
図15は本開示の方法による決定S30の結果を示し、特に辞書式順序のために、構造を真に表す形状132はステップSD30において決定された閉三角形分割表面150によってメッシュされており、これは、面140及び150の中で辞書式順序の中で最も低いランクを有するものである。事実上、形状130は、形状132よりも1つ大きい穴を有する。この単一の最大の穴は、形状130における単一の最大のエッジとなるのであろう。また、辞書式順序が比較されるので、形状130にペナルティを与えるのに単一の最大エッジで十分である。
【0086】
ここで、決定するステップS30のさらなる例を説明する。これらの例では、閉三角形分割表面の候補はそれぞれ、前述のように、3D点群の四面体メッシュの対応する四面体の対応する三角形面の対応する組を含む。
【0087】
探索及びペナルティ化は、三角形順序の減少するランクに従って四面体メッシュの三角形を訪問することと、三角形順序の高いランクを有する訪問された三角形を廃棄することとを含むことができる。
【0088】
四面体メッシュの三角形を訪問することは四面体メッシュのすべての三角形を、又はそれらの一部のみを、例えば、閉三角形分割表面が決定されるまで反復して訪問することからなってもよい。三角形を訪問し、それらのうちのいくつかを廃棄すると、構造のスキンを表す閉三角形分割表面が得られることを理解されたい。別の言い方をすれば、訪問されるべき全ての三角形が訪問された後、及び廃棄されるべき全ての三角形が廃棄された後、残りの三角形(廃棄されていない三角形)は、構造のスキンを表す閉三角形分割表面を形成する。その点で、より多くの訪問された三角形、より少ない訪問された三角形、及び/又は他の異なる訪問された三角形を廃棄することは別の閉三角形分割表面をもたらし、これは実際には閉三角形分割表面の候補のうちの1つに対応する。言い換えれば、それぞれの閉三角形分割表面の候補は、それぞれの三角形廃棄方法に対応する。辞書式順序における閉三角形分割表面の候補の上位ランクにペナルティを与えることによって、決定ステップS30は前述のように、異なる閉三角形分割表面の候補の中から1つの選択を操作することになる、三角形を廃棄する異なる方法の中から1つの選択を操作する。
【0089】
四面体メッシュの三角形は、三角形順序の減少する順位に従って訪問される。これは、四面体メッシュの三角形の大きさが三角形順序によってペナルティを課されるほど、三角形がより早く訪問されるということを意味する。三角形サイズが測度によって測定される前述の例では、これは、三角形サイズの測度が大きいほど、三角形がより早く訪問されることを意味する。これにより、三角形順に高度にランク付けされている三角形、すなわち最大である三角形を素早く効率的に検出することができ、これを廃棄して、それらが廃棄されていない三角形の集合に属することを妨げるようになり、後者は構造を表す閉三角形分割表面に対応する。より具体的には、構造を表す閉じた三角形分割面が比較的小さい、大きすぎない三角形で作るべきである。先に議論したように、この構造は、高密度の点を有する3D点群の閉じた形状を表すからである。このような三角形は、三角形の大きさにペナルティを与えるので、三角形順序においてそれぞれ小さいランクを有する。したがって、三角形順序の減少するランクで三角形を訪問し、高ランクを有する訪問された三角形を廃棄する(すなわち、それらのランクの高さのために三角形を廃棄する)ことによって、この方法はより大きな三角形が廃棄され、構造を表す閉三角形分割表面を形成するように、満足のいく小ささを有する三角形のみが維持されることを保証する。
【0090】
例では、四面体メッシュの各四面体がそれぞれの領域を画定する。これらの例では、決定するステップS30が四面体メッシュの外部の四面体と、四面体メッシュの内部の四面体とを宣言するステップをさらに含む。外部四面体及び内部四面体は、それぞれ、構造の外部領域及び構造の内部領域を表す。これらの例では、三角形の訪問が各訪問された三角形について、訪問された三角形が内部領域を外部領域から分離するかどうかを評価することを含む。これらの例では、三角形の廃棄が内部領域を外部領域から分離しない各訪問済み三角形について、三角形が2つの領域を分離し、三角形を抑制し、2つの領域をマージすることを含む。
【0091】
外部四面体及び内部四面体の宣言は、ユーザによって実行されてもよい。例えば、方法を実行するコンピュータのディスプレイ(例えば、GUI)上に3D点群を表示し、ユーザはディスプレイとのグラフィカルな相互作用によって外部四面体と内部四面体を定義することができる。そのような場合、探索及びペナルティを与えること、したがって訪問及び廃棄は、ユーザが外部の四面体及び内部の四面体を宣言すると、自動的に実行することができる。内部四面体は例えば、構造の内部位置を表す3D点群内の提供されたゾーン内に配置されてもよい。例では、内部四面体が点の密度が低く、構造の内部位置を表す3Dメッシュのゾーンに位置する。外部四面体は、メッシュに属さず、メッシュの外部に位置する領域である外部領域の表現として四面体メッシュに付加された四面体であってもよい。しかしながら、内部の四面体は、それ自体、四面体メッシュに属することができる。言い換えれば、内部四面体を宣言することは例えば、四面体の表現をクリックすることによって、四面体メッシュの四面体を選択することと、外部四面体を宣言しながら、内部四面体としてそれをラベル付けすることとが、例えば、クリックすることによって、補足及び境界四面体をメッシュに追加し、それを外部四面体としてラベル付けすることとからなってもよい。以下にさらに説明する例では四面体メッシュがその二重グラフによって表すことができ、そのノードは四面体メッシュの四面体を表し、その弧は三角形を表す。このような例では、宣言がグラフのノードを選択して(例えば、クリックして)内部の三角形を表現し、ノードをグラフに追加して(例えば、クリックして)外部の三角形を表現することからなる。
【0092】
三角形の訪問と、三角形順序において高いランクを有する訪問済み三角形の廃棄は非廃棄三角形によって形成される閉じた三角形分割面が構造を真に表す、すなわち、三角形順序において高いランクを有する三角形の可能な限り少ない数を含むように、十分な三角形が廃棄されるようなものでなければならない。しかしながら、同時に、訪問及び廃棄は例えば、間違った三角形及び/又は多すぎる三角形を廃棄することによって、構造のスキンを表す閉三角形分割表面内にあるべきである三角形を廃棄することが回避されるようなものでなければならない。構造のスキンを表す閉三角形分割表面を形成する三角形は実際に、構造の内部を外部から分離する四面体のメッシングの三角形に対応する。高ランクの三角形を廃棄することに加えて、三角形が内部領域を外部領域から分離するか否かを評価することにより、構造の内部を外部から分離する三角形を正確に決定し、それらを維持し、他の三角形を抑制することが可能になる。これにより、この方法のロバスト性と精度が改善される。
【0093】
宣言、訪問及び廃棄について、ここでより詳細に論じる。
【0094】
三角形を訪問する前に、外部の四面体は構造の外部に位置する。言い換えれば、外部の四面体は外部の領域を表し、これは、点群の周りのすべての無限空間に対応することができる。内部の四面体は、構造の内部を表す点群の部分に対応する内部領域を表す。ここで、最初に訪問した三角形Tを考える。訪問は、Tが内部領域を外部領域から分離するかどうかを評価することを含む。もし、Tが内部の領域と外部の領域とを分離しないならば、Tは2つの四面体を分離する。第1の四面体は第1の領域を定義し、第2の四面体は第2の領域を定義する。ここで、第1の領域及び第2の領域の少なくとも1つはその地域の外部でも内部でもない、ということになる。そのような場合、廃棄は、2つの四面体によって画定される2つの領域をマージすることを含む。第1の(又は第2の)領域が外部領域を表す場合、第2(又は第1の)領域は外部領域とマージされる。第1の(又は第2の)領域が内部領域を表す場合、第2(又は第1の)領域は内部領域とマージされる。そうでなければ、2つの領域は単に、外部領域でも内部領域でもない新しい領域にマージされる。いずれにせよ、三角形Tは抑制/廃棄される。逆に、Tが内部領域と外部領域とを分離した場合には、Tは廃棄も抑制もされず、Tにより分離された領域はマージされない。この場合、Tは維持される。次に、例えば、訪問された第2の三角形が(例としてT’とする)、内部領域(おそらく、以前のマージングから生じる)を外部領域(おそらく、以前のマージングから生じる)から分離するかどうかが評価される。次に、Tと同様に、T’も、第2のマージが発生した場合は廃棄され、あるいはT’は維持される。次に、次の三角形が訪問され、以下同様である。言い換えれば、三角形は、反復的に抑制/廃棄され、構造の内部を表す内部領域と構造の外部を表す外部領域とを分離する三角形のみが残るまで、領域は互いに、及び内部領域及び/又は外部領域と反復的にマージされる。
【0095】
例では内部領域を外部領域から分離する各訪問済み三角形が維持され、維持された三角形は決定された閉じた三角形分割面を形成する。
【0096】
次に、この方法の実施例について説明する。この例では、探索及びペナルティ化が三角形順序の降順に従った四面体メッシュの三角形の訪問と、三角形順序の上位を有する訪問済み三角形の廃棄とを含む。四面体メッシュの各四面体は、それぞれの領域を画定する。決定するステップS30はさらに、四面体メッシュの外部の四面体及び四面体メッシュの内部の四面体の宣言を含み、外部の四面体及び内部の四面体は、それぞれ、構造の外部領域及び構造の内部領域を表す。三角形の訪問は、各訪問された三角形について、訪問された三角形が内部領域を外部領域から分離するかどうかを評価することを含む。三角形の廃棄は内部領域を外部領域から分離しない各訪問三角形について、三角形が2つの領域を分離し、三角形を抑制し、2つの領域をマージすることを含む。内部領域を外部領域から分離する各訪問された三角形が維持され、維持された三角形は、決定された閉じた三角形分割面を形成する。
図3Bは、本方法のこの例に従った、
図3Aの点群の3D表面再構成を示す。
図4Bは、本方法のこの例に従った、
図4Aの点群の3D表面再構成を示す。
図5Bは、本方法のこの例に従った、
図5Aの点群の3D表面再構成を示す。
図6Bは、本方法のこの例に従った、
図6Aの点群の3D表面再構成を示す。
図7Bは、本方法のこの例に従った、
図7Aの点群の3D表面再構成を示す。
図8Bは、本方法のこの例に従った、
図8Aの点群の3D表面再構成を示す。
図9Bは、本方法のこの例に従った、
図9Aの点群の3D表面再構成を示す。
【0097】
次に、この方法の実施例を、
図16乃至
図45を参照して説明する。
図16は、この実施例を示すフローチャートである。
【0098】
図16のフローチャートを参照すると、この実施例は先に議論したように、3D点群を提供するステップS10と、3D点群のメッシュS20とを含む。メッシュは、提供された3D点群のドロネー三角形分割である。点群は三次元点を含んでいるので、得られるメッシュは隣接する四面体で作られ、各四面体は四つの三角形で囲まれている。次に、この実施例は前述したように、閉三角形分割表面を決定するステップS30を含む。決定するステップS30は、三角形にわたる辞書式順序を定義するステップを含む。この順序付けを設定するために、重み式が使用される。次に、決定することは、四面体メッシュの二重グラフを計算することを含む。このグラフは、三角形シェアリングを通して、隣接する四角形を捉える。したがって、二重グラフの各ノードはメッシュの四面体を表し、二重グラフの各弧はメッシュの三角形を表し、二重グラフの各弧は辞書式順序で対応する三角形のランクでラベル付けされる。二重グラフのアークは、降順に使用される。決定するステップS30は、未知の表面の内部にある四面体を選択するステップをさらに含む。決定することは、先に論じたように、縮小アルゴリズムを適用することによって実行される訪問及び廃棄をさらに含む。アルゴリズムは、選択された内部ノードと外部ノードによって初期化され、二重グラフとそのソート済みアークを利用する。その目的は残りの二重アークが再構成された表面である三角形に分割された閉じた表面を定義するように、二重グラフのアークを廃棄することである。
【0099】
従来技術の方法とは対照的に、この実施例は点群の局所的な密度を含み、これにより、点群は、必須のチューニングパラメータから解放される。非常に密な点群の場合、性能目的のために、任意のフィルタリング距離パラメータを使用して、ドロネー三角形分割における点の数を低減することができる。この実施例は、点群内の外れ値及び密度変動に対してロバストな水密表面を生成する。この実施例はまた、グラフカット方法と同等であり、実際にはしばしばより良好である理論的複雑さを特徴とする。この再構成方法のトレードオフは開放表面をサンプリングし、建物再構成の状況において建物のフットプリントから容易に推論することができる内部領域を指定するときに、点群を閉じる必要があることである。
【0100】
メッシュと二重グラフ
この実装例は、3D点群のドロネー四面体凸包絡線メッシュを利用する(F. Cazals, J. Giesen, Delaunay triangulation based surface reconstruction, Effective computational geometry for curves and surfaces, pages 231-276, 2006.)。四面体メッシュオブジェクトは、以下の特性を特徴とする四面体の集合である。トポロジーは、任意の三角形が正確に2つの領域によって共有されるような、隣接する四面体の組である。第1の共有状況は、2つの隣接する四面体によって共有される三角形である。第2の共有状況は、四面体及び境界のない外部領域によって共有される三角形である。四面体と外部領域とで共有される三角形を境界三角形と呼ぶ。ドロネーメッシュの幾何学的特性は任意の四面体について、その4つの点(外接球と呼ばれる)によって定義される球は雲の他の点を含まないことである。
【0101】
四面体メッシュの二重グラフは、以下のように定義される。二重グラフのノードは四面体に関連し、余分なノードは外部領域に関連する。二重グラフのアークは三角形に関連付けられている。弧は、弧に関連付けられた三角形がそれぞれノードに関連付けられた領域によって共有される場合に、2つのノードを接続する。
【0102】
図17乃至
図19は、3つの四面体1、2、及び3からなるメッシュを示している。
図17は3D点群を示す。
図18は、点、線、三角形、及び四面体を含む凸ハルメッシュの幾何学的形状を示す。
図20は、対応する二重グラフを示す。例えば、二重グラフのアーク“a”はメッシュの三角形の“a”が四面体1と2で共有されているため、ノード1と2を連結する。二重グラフのアーク“b”はメッシュの三角形の“b”が四面体2で共有されているため、ノード2と4を連結する。二重グラフのアーク“c”はノード2と4を連結する。三角形の“c”が四面体2で共有されているため、ノード4と4を連結する。二重グラフのアーク“d”はメッシュの三角形の“d”が四面体1と3で共有されているため、ノード1と3を連結する。二重グラフのアーク“e”は三角形の“e”が四面体3で共有されているため、ノード2と4を連結する。
【0103】
アルゴリズム 明確にするために、この実施例は、2D問題によって示される。3D問題との対応関係は以下の通りである。2D問題は3D点群とは対照的に、平面的な点群を扱う。3D問題の四面体は、2D問題における三角形である。3D問題の四面体を囲む三角形は、2D問題の三角形を囲む線分である。最後に、3D問題の認識された閉三角形分割表面は、2D問題における閉じたポリラインである。
【0104】
図20は初期点群を示す。視覚的に、これは、実装例が計算することを目的とするL字形の近接ポリラインを明確に定義する。
図21は、点群の三角形分割(再投影四面体3Dメッシュ)を示す。
図22に示すように、線分(又は3D三角形)は、それぞれの重み及び降順に従って、それぞれのランクでラベル付けされる。2D問題の文脈において、重みは線分の長さである。最初の線分(1)は最も長い線分であり、最後の線分(32)は最も短い線分である。3D問題の三角形に対する重み計算は、以下に詳述される。
【0105】
図23は、メッシュ化された点群と共に二重グラフを示す。二重グラフの各ノード(空の円)は三角形(それぞれ3D四面体)に関連付けられ、二重グラフの各弧はメッシュの線分(それぞれ3D三角形)に関連付けられる。点群の全周に無限空間に関連する外部ノードが存在することに留意されたい。このノードは、初期化の目的で再利用される。
図24は、そのアークが順序付けにおいてそれぞれのランクでラベル付けされた二重グラフを示す。内部及び外部のノードは、塗りつぶされたドットである。
【0106】
縮小アルゴリズムは、いわゆる最小チェーンを計算する。その定式化は、次元の問題(2D対3D)に依存しない。縮小アルゴリズムの入力は二重グラフ
【数14】
であり、ここでVDはノードの組であり、EDは重みの降順に従ってソートされたアークのリストである。さらに、2つの入力ノードα1及びα2が与えられる。入力ノードα1(又はα2)に関連する四面体は未知の表面の内部(又は外部)にあると想定され、又はその逆であると想定される。縮小アルゴリズムの出力は、最小チェーンを定義する入力二重グラフのノード
【数15】
の組である。縮小アルゴリズムは、いわゆるディスジョイントセットデータ構造を利用する(4.A Galler, and M. J Fisher. An improved equivalence algorithm. Communications of the ACM, 7(5):301-303, 1964を参照されたい)。このデータ構造は、3つの基本的な関数MakeSet(・)、FindSet(・)、及びUnionSet(・)を含む。関数MakeSet(x)は、データ構造体内に、要素xを含む組を作成する。関数FindSet(x)は、要素xを含むデータ構造の関数集合を返す。関数UnionSet(X,Y)は、データ構造体に新しい組
【数16】
を作成し、入力された組をデータ構造体から削除する。このアルゴリズムは、以下の擬似コードによって記述することができる。
【数17】
【0107】
最小チェーンの終了が計算された後、メッシュ化された点群の対応する線(又は3D三角形)が収集され、理論は、それらが出力オブジェクトである閉鎖ポリライン(又は3D三角形分割された表面)を定義することを保証する。
【0108】
2Dの例で実行される場合、縮小アルゴリズムは、
図25における点線のデュアルアークを排除する。
図26に例示されているように、メッシュの対応する線分(3D三角形など)も除去され、それによって、
図27に例示されているように、結果として得られるポリライン(3D三角形分割された表面)が得られる。
【0109】
三角形辞書式順序付け
この実施例の三角形順序付け戦略(
【数18】
と表される)は2つの概念、すなわち、最小の包囲円及び外接円に基づいている。定義により、最小の囲み円は最小の半径を特徴とし、三角形の点を囲む円である。定義により、外接円は、三角形の3点を通る円である。三角形Tが与えられると、その最小の包囲円の半径がRB(T)と表され、その外接円の半径がRC(T)と表される。
【0110】
図28は、三角形Tを、その包囲円及び外接円と共に示す。それらは、三角形が鈍角を特徴とするため、RB(T)≠RC(T)のようなものである。逆に、
図29は、3つの鋭角を有する三角形Tを示す。これにより、包囲円と外接円とが一致し、RB(T)=RC(T)である。
【0111】
三角形が3つの整列点又は一致点を特徴とする場合、外接円は定義されない。この縮退状況は、点群が本質的に一般的であるため、この実施例の範囲外である。2つの三角形T及びT’が与えられると、それらの相対的な順序付け
【数19】
は、以下のように定義される。
【数20】
換言すれば、囲んでいる円の半径RB(T)及びRB(T’)はそれらが等しくない場合には関連し、そうでない場合には、囲んでいる円の半径RC(T)及びRC(T’)は関連する。
図30は、それぞれの半径RBを通して順序付けられた2つの鋭角三角形を示す。
図31は、2つの鈍角の三角形を示す。それらは同じ最小の囲み円半径RB(点線)を特徴とするため、半径RCを通して順序付けられる。
【0112】
この順序付けは、実際には2つの数値によって定義される辞書式順序付けである。メッシュにおけるn個の三角形を
【数21】
と表すと、これらの三角形は、対
【数22】
に対して実行される辞書式順序に従ってソートされること。この順序付けは、三角形の形状(鋭角対鈍角)ならびに寸法を単純な公式に組み合わせるので、非常に微妙である。これは、認識されるべき未知の分離面上で発生する可能性がより高い「小さい平坦である」三角形に、より低いランクを設定するように設計される。
【0113】
交互の順序づけ
前節で説明したものと比較するために、3つの代替的な重み付け戦略を検討した。第1のものは、まさにRBと同様に、三角形を囲む最小円の半径である。第2のものは、まさにRCと同様に、外接円の半径である。第3のものは三角形領域である。ランダムな選択は、同じ重みを特徴とするいくつかの三角形の中で実行される。工業的データに関する実験は、交互の重み付けで得られた結果の表面が辞書式順序で得られたものとかなり類似していることを示している。それにもかかわらず、品質は、以下の意味においてそれほど良好ではない。この理論は認識された表面が近接した三角形分割された表面であることを保証するが、いくつかの非多様体エッジが現れる可能性がある。閉表面の非マニホルドエッジは
図32及び33によって示されるように、正確に2個の三角形によって共有されるマニホルドエッジとは対照的に、2n個の三角形によって共有される。
【0114】
実験は、すべてのテストケースにおいて、辞書式順序が次の表に示すように、最小数の非マニホルドエッジを有する認識された表面を生じることを示す。
【表1】
【0115】
アルゴリズムに関する備考
次に、アルゴリズムに含まれるアイデアについて説明する。
【0116】
第1のアイデアは伝統的な幾何学的理解とは対照的に、ドロネー三角形分割の最適な理解である。点群Kが与えられ、Tがその凸ハルΩのメッシュを表す。KのドロネーメッシュT*は任意の実数
【数24】
に対して次式で定義される量Q(T,p)を最小化するものである。
【数25】
特に、L. Chen, J.C. Xu, Optimal Delaunay triangulation, Journal of Computational Mathematics, Vol.22, No.2, 2004, 299-308を参照されたい。
図34を参照して、マッピング
【数26】
は次のように定義される。
【数27】
及びΩの三角形分割Tが与えられると、
【数28】
となるようなTの三角形(a,b,c)及び非負スカラー数α,β,γが存在する。したがって、
【数29】
である。
【0117】
最適な特徴づけは、如何なる
【数30】
に対しても、
【数31】
であることを意味する(最小値は、Kの凸ハルΩのすべてのメッシュTにわたって取られる)。
【0118】
第2のアイデアは本実施例の目的のために構築された新しい理論的結果であり、これは、三角形で作られたメッシュを扱うときの極限
【数32】
におけるQ(T,p)の明示的な数式である。その結果、前のセクションで説明した三角形の重み付け及び辞書式順序付けが正確に行われ、これは、有利にはQ(T,p)の積分バージョンに置き換わる。
【0119】
直観は可能な限り最良の三角形分割された表面が重み付けを最小化し、この最小値が辞書式順序を使用することによって得られるということである。ここで、3D点群K、その凸ハルΩのドロネー3DメッシュT*、及びT*の選択された四面体hを考える。未知の表面は、四面体hを含む三角形T*からなる閉表面である。もちろん、このような表面Σは多数存在するが、認識すべき表面Σ*は三角形T*からなる可能な限り最良の三角形分割を維持する。換言すると、認識された表面Σ*は、三角形T*及び四面体hで作られ、囲んでいる全ての閉表面Σの中でQ(T,p)を最小化する。この原理は、点群が認識すべき表面の近傍においてより密であるという事実に密接に関連していることを理解しなければならない。
【0120】
図34乃至36は、2Dの例、すなわち点群K、凸ハルΩ、及びその選択されたメッシュT*を有する原理を示す。
図37乃至
図39はhを囲む非最適なΣ1及びΣ2、並びに最小基準による最適なΣ*を示している。