JP2021082297A - 実オブジェクト上での形状属性の3d信号の処理 - Google Patents
実オブジェクト上での形状属性の3d信号の処理 Download PDFInfo
- Publication number
- JP2021082297A JP2021082297A JP2020194624A JP2020194624A JP2021082297A JP 2021082297 A JP2021082297 A JP 2021082297A JP 2020194624 A JP2020194624 A JP 2020194624A JP 2020194624 A JP2020194624 A JP 2020194624A JP 2021082297 A JP2021082297 A JP 2021082297A
- Authority
- JP
- Japan
- Prior art keywords
- value
- node
- values
- point
- distance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 14
- 238000000034 method Methods 0.000 claims abstract description 157
- 238000009826 distribution Methods 0.000 claims abstract description 29
- 230000006870 function Effects 0.000 claims description 91
- 238000004590 computer program Methods 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 7
- 230000001537 neural effect Effects 0.000 claims 1
- 238000013528 artificial neural network Methods 0.000 description 29
- 238000009499 grossing Methods 0.000 description 24
- 238000004364 calculation method Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 13
- 230000008859 change Effects 0.000 description 12
- 238000004519 manufacturing process Methods 0.000 description 12
- 230000011218 segmentation Effects 0.000 description 10
- 230000000670 limiting effect Effects 0.000 description 9
- 238000005259 measurement Methods 0.000 description 9
- 239000007787 solid Substances 0.000 description 9
- 230000008901 benefit Effects 0.000 description 8
- 238000010276 construction Methods 0.000 description 8
- 239000000203 mixture Substances 0.000 description 7
- 238000009472 formulation Methods 0.000 description 6
- 238000000053 physical method Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 241000208125 Nicotiana Species 0.000 description 1
- 235000002637 Nicotiana tabacum Nutrition 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 235000013361 beverage Nutrition 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 238000010413 gardening Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/23—Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/12—Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20036—Morphological image processing
- G06T2207/20044—Skeletonization; Medial axis transform
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20072—Graph-based image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20192—Edge enhancement; Edge preservation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30164—Workpiece; Machine component
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Computer Graphics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Architecture (AREA)
- Human Computer Interaction (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
Abstract
【課題】実オブジェクト上で形状属性の3D信号を処理するためのコンピュータ実装方法を提供する。【解決手段】方法は、ノード、円弧を有するグラフ及び形状属性の分布を表す値を提供する。ノードは、実オブジェクトの測定された3D離散表現の点を表す。円弧は、離散表現の隣接する点を表す2つのノードを接続する。各値は、グラフのノードに関連付けられ、ノードによって表される点の形状属性を表す。グラフ上に形成されたマルコフ確率場で定義されたエネルギーを最小化することで、値のセットを変更する。エネルギーは、第1のノードを第2のノードに接続する円弧について、第1のノードを第1の値に関連付け、第2のノードを第2の値に関連付け、第1の値と第2の値との間の距離、第1の点と離散表現の内側の幾何学的要素との間の距離、第2のノードによって表される第2の点と内側の幾何学的要素との間の距離、の増加関数の高さにペナルティを課す。【選択図】なし
Description
本発明は、コンピュータプログラムおよびシステムの分野、より具体的には、実オブジェクト(real object)上で形状属性の3D(3次元)信号を処理するための方法、システム、およびプログラムに関する。
オブジェクトの設計、エンジニアリング、製造のために、多くのシステムとプログラムが市場で提供されている。CADは、コンピュータ支援設計の頭字語である。たとえば、オブジェクトを設計するためのソフトウェアソリューションに関連している。CAEは、Computer−Aided Engineeringの頭字語である。たとえば、将来の製品の物理的な動作をシミュレートするためのソフトウェアソリューションに関連している。CAMは、Computer−Aided Manufacturingの頭字語である。たとえば、製造プロセスと操作を定義するためのソフトウェアソリューションに関連している。このようなコンピュータ支援設計システムでは、グラフィカルユーザインターフェースが技術の効率に関して重要な役割を果たす。これらの手法は、製品ライフサイクル管理(PLM)システムに組み込まれている場合がある。PLMとは、企業が製品データを共有し、共通のプロセスを適用し、企業の知識を活用して、拡張エンタープライズの概念全体で、製品の構想から寿命の終わりまでの開発を支援するビジネス戦略を指します。DassaultSystemesが提供するPLMソリューション(CATIA、ENOVIA、DELMIAの商標)は、製品エンジニアリングの知識を整理するエンジニアリングハブ、製造エンジニアリングの知識を管理する製造ハブ、およびエンタープライズ統合とエンジニアリングおよび製造ハブの両方への接続とを可能にするエンタープライズハブ、を提供する。このシステムはすべて、製品、プロセス、リソースをリンクするオープンオブジェクトモデルを提供し、動的な知識ベースの製品作成と意思決定支援を可能にして、最適化された製品定義、製造準備、生産、およびサービスを推進する。
このコンテキストや他のコンテキスト内では、実オブジェクト上で形状属性の3D信号を処理することが非常に役立つことがよくある。
実オブジェクト上で形状属性の3D信号を処理するための既存の方法は、精度の欠如に悩まされている。
このコンテキスト内で、実オブジェクト上で形状属性の3D信号を処理するための改善された方法が必要である。
Junjie Cao&al、ラプラシアンベースの収縮による点群骨格(2010)
Amenta&al、ボロノイフィルタリングによる表面再構成(1999)
Andrea Tagliasacchi&al、3Dスケルトン:最先端のレポート、DOI:10.1111/cgf.12865、EUROGRAPHICS 2016
Daniel Rebain&al、LSMAT最小二乗中間軸変換、DOI:10.1111/cgf.13599
ThomasDelame&al、3D内側骨格の構造化:比較研究.ビジョンに関するシンポジウム、モデリングと視覚化、2016年10月、バイロイト、ドイツ、pp.1−8、10.2912/vmv.20161336、hal−01359738
D.Thuerck&al、大規模向けの高速で超並列のソルバー
D.Rebain&al、LSMAT 最小二乗中間軸変換、2019
Amenta&al、ボロノイフィルタリングによる表面再構成、1999
したがって、実オブジェクト上で形状属性の3D信号を処理するためのコンピュータ実施の方法が提供される。この方法は、ノードおよび円弧を有するグラフを提供することを含む。各ノードは、実オブジェクトの測定された3D離散表現のそれぞれの点を表す。各円弧は、離散表現の隣接する点を表す2つのノードを接続する。この方法は、実オブジェクト上の形状属性の分布を表す値のセットを提供することをさらに含む。各値はグラフのそれぞれのノードに関連付けられ、それぞれのノードによって表されるそれぞれの点での形状属性を表す。この方法は、グラフ上に形成されたマルコフ確率場で定義されたエネルギーを最小化することによって値のセットを変更することをさらに含む。エネルギーは、第1のノードを第2のノードに接続する各円弧について、第1のノードが第1の値に関連付けられ、第2のノードが第2の値に関連付けられる、次の、
第1の値と第2の値との間の距離、第1のノードによって表される第1の点と離散表現の内側の幾何学的要素との間の距離、および第2のノードによって表される第2の点と内側の幾何学的要素との間の距離、の増加関数の高さにペナルティを課す。
第1の値と第2の値との間の距離、第1のノードによって表される第1の点と離散表現の内側の幾何学的要素との間の距離、および第2のノードによって表される第2の点と内側の幾何学的要素との間の距離、の増加関数の高さにペナルティを課す。
この方法は、以下のうちの1つまたは複数を含む。
− マルコフ確率場は、形状属性の目標分布を表す目標値を有し、エネルギーは、各ノードについて、ノードに関連付けられた値と少なくとも1つの目標値との間の少なくとも1つの距離の別の増加関数の高さにさらにペナルティを課す。
− 別の増加関数は、次の、
ノードに関連付けられた値と、第1の目標値との間の距離、
ノードに関連付けられた値と、第2の目標値との間の距離、
の増加関数である。
ノードに関連付けられた値と、第1の目標値との間の距離、
ノードに関連付けられた値と、第2の目標値との間の距離、
の増加関数である。
− 少なくとも1つの目標値は、ノードによって表されるそれぞれの点で幾何学的に計算された形状属性の少なくとも1つの値、および/またはノードによって表されるそれぞれの点でニューラルネットワークによって推論される形状属性の少なくとも1つの値を含む。
− 別の増加関数もまた、少なくとも1つの目標値に含まれる値の間の対応を定量化する。
− 前記別の増加関数は、対応と前記少なくとも1つの距離との間の積の関数である。
− 内側の幾何学的要素は、離散表現の内側軸または離散表現の内側表面である。
− 離散表現は、3D点群である。
− 離散表現は、写真測量および/またはスキャンに由来する。
− 形状属性は、法線、曲率、またはプリミティブのタイプである。
− 実オブジェクトは、少なくとも1つの鋭い特徴を含む。
− この方法は、修正された値のセットに基づいて、離散表現をセグメント化することをさらに含む。
さらに、この方法を実行するための命令を含むコンピュータプログラムが提供される。
さらに、コンピュータプログラムをそれに記録したコンピュータ可読記憶媒体が提供される。
それはさらに、メモリに結合されたプロセッサおよびグラフィカルユーザインターフェースを含むシステムが提供され、メモリはその上にコンピュータプログラムを記録している。
次に、本発明の実施形態を、非限定的な例として、添付の図面を参照して説明する。
非限定的な方法の例を示す説明図である。
非限定的な方法の例を示す説明図である。
非限定的な方法の例を示す説明図である。
非限定的な方法の例を示す説明図である。
非限定的な方法の例を示す説明図である。
非限定的な方法の例を示す説明図である。
非限定的な方法の例を示す説明図である。
非限定的な方法の例を示す説明図である。
システムの例を示すブロック図である。
発明の詳細な説明
実オブジェクト(real object)上で形状属性の3D信号を処理するためのコンピュータ実施方法が提案される。
実オブジェクト(real object)上で形状属性の3D信号を処理するためのコンピュータ実施方法が提案される。
この方法は、ノードおよび円弧を有するグラフを提供することを含む。各ノードは、実オブジェクトの測定された3D離散表現のそれぞれの点を表す。各円弧は、離散表現の隣接する点を表す2つのノードを接続する。この方法は、実オブジェクト上の形状属性の分布を表す値のセットを提供することをさらに含む。各値はグラフのそれぞれのノードに関連付けられ、それぞれのノードによって表されるそれぞれの点の形状属性を表す。この方法は、グラフ上に形成されたマルコフ(Markov)確率場で定義されたエネルギーを最小化することによって値のセットを変更することをさらに含む。エネルギーは、第1のノードを第2のノードに接続する円弧ごとに、第1のノードが第1の値に関連付けられ、第2のノードが第2の値に関連付けられるごとに、次の、第1の値と第2の値との間の距離、第1のノードによって表される第1の点と離散表現の内側の幾何学的要素との間の距離、および第2のノードによって表される第2の点と内側の幾何学的要素との間の距離、の増加関数の高さに、ペナルティを課す。
これは、実オブジェクト上で形状属性の3D信号を処理するための改善された方法を構成する。
このメソッドは、実オブジェクトに対する形状属性の分布を表す値のセットを入力として受け取る。各値はグラフのノードに関連付けられ、ノードは実オブジェクトの測定された3D離散表現のそれぞれの点を表し、値はそれぞれの点の形状属性を表す。したがって、実オブジェクトの測定された3D離散表現と、それぞれが測定された3D離散表現のそれぞれの位置での形状属性(例えば、形状属性の値)を表わすセットの値とがある。言い換えると、値のセットは、形状属性の3D信号を形成し、3D信号は、測定された3D離散表現(例えば、3D離散表から計算され、および/または同時に測定されている)に対応し、各値は、測定された3D離散表現のそれぞれの位置での形状属性の測定値を表す。別の言い方をすれば、3D信号は、実オブジェクト全体の形状属性の分布の尺度である。
実オブジェクト上の形状属性の分布を測定する3D信号は、コンピュータビジョン、3Dソリッドモデリング(CAD)、3D再構成など、多くのコンテキストで使用できる(例えば、メソッドに従って処理される)。たとえば、仮想現実や拡張現実、あらゆる種類の没入型体験、ビデオゲームや機械部品、建物、あらゆる種類のオブジェクトの3D再構成やモデリングなどの分野で使用できる。3D信号は、例えば、3Dソリッドモデリングプロセスおよび/または3D再構成プロセスにおいて、例えば、3D信号に基づいて離散表現をセグメント化するために使用される。セグメンテーションの後に、離散表現の3D再構成プロセス(例えば、離散表現が3D点群であるとき)が続く場合があり、および/またはB−repの、CSG構築ツリーの、および/または3D再構成および3Dソリッドモデリングの分野からそれ自体既知の実オブジェクトを表す特徴ツリーの、決定が続く場合がある。
とは言うものの、この方法は、グラフ上に形成されたマルコフ確率場(以下「MRF」と呼ぶこともある)で定義されたエネルギーを最小化することによって値のセットを変更する。エネルギーは、セットの第1の値に関連付けられた第1のノードを、セットの第2の値に関連付けられた第2のノード(すなわち第1のノードの隣接ノード)に接続する円弧ごとに、第1の値と第2の値の間の距離の増加関数の高さにペナルティを課す。言い換えれば、隣接する点のカップルごとに、エネルギーは、これらの隣接する点での形状属性をそれぞれ表す値間の視差(例えば不一致、不一致)にペナルティを課す。言い換えれば、エネルギーは、形状属性の3D信号内の残忍な局所変動(例えば鋭いおよび/または滑らかでない局所変動)にペナルティを課す。別の言い方をすれば、エネルギーは、3D離散表現の隣接する点で測定された形状属性の値の滑らかでない変動にペナルティを課す。したがって、最小化の結果(すなわち変更された値のセット)は、形状属性の変更された(したがって処理された)3D信号であり、少なくとも(例えば厳密な)残忍な局所変動の一部は(例えばMRFの収束基準に関して)、比較的滑らかになっている。さらに、この方法の場合、および以下でさらに説明するように、実世界に鋭い形状/幾何学的変動が存在する領域では、形状属性の3D信号内の局所的変動の過度の平滑化が回避される。これらの領域は、対象の形状属性値に対してスムージングが逆効果になる可能性がある領域と見なすことができる。これは、以下でさらに説明するように、特に内側の幾何学的要素までの距離を使用することによって行われる。ちなみに、MRFは強力なツールであり、そのために一定数の効率的で高速なソルバーが存在する。
現在、測定された3D離散表現は、このタスクに適した1つ以上の物理デバイス(センサーなど)によって実行された測定に由来する。形状属性の3D信号内の残忍な局所的変動は、通常、形状属性の3D信号内のノイズを表し、前記ノイズは、測定から生じる。例では、離散表現はノイズが多い。これらの残忍な局所変動の少なくとも一部にペナルティを課すエネルギーを最小化することによって、メソッドは、形状属性の3D信号内の局所的な変化が比較的(例えばMRFの収束基準に関して)滑らかになるように(例えば、滑らかになるまで)、値のセットを(例えば繰り返して)変更する。言い換えると、このメソッドは、形状属性の3D信号のノイズを除去する。
さらに、増加関数は、前記第1の点と離散表現の内側の幾何学的要素との間の距離、および前記第2の点と内側の幾何学的要素との間の距離、の増加関数でもある。さて、その点と内側の幾何学的要素との間の距離が小さい点は、実オブジェクトの鋭い特徴に対応する点であり、例えば実オブジェクトの鋭い特徴上に位置する点または実オブジェクトの鋭い特徴の近くにある点である。したがって、前記第1の点または前記第2の点のいずれかが実オブジェクトの鋭い特徴に対応する場合、この点と内側の幾何学的要素との間の距離は比較的小さい(例えば実オブジェクトの滑らかな特徴と内側の幾何学的要素に対応する他の点の間の他の距離と比較して)、したがって、増加する関数の高さにあまり寄与しない。したがって、増加する関数の高さは、エネルギーを最小化するときに、例えば両方の点が実オブジェクトの滑らかな特徴に対応する、他の第1の点と第2の点とのカップルと比較して、ペナルティが少なくなる。これは、両方の点が鋭いフィーチャに対応している場合にさらに当てはまる。
したがって、エネルギーを最小化すると、値のセット内の強すぎる局所的な変動が確実に正規化されるが、実オブジェクトの鋭い特徴に対応する値の周囲では平滑化がはるかに少なくなる。言い換えると、このメソッドは、実オブジェクトの形状属性の3D信号のノイズを除去するが、ノイズには対応しないが、実世界のように実オブジェクトの鋭い特徴に対応する3D信号内の変動を保持する。その結果、形状属性の処理された3D信号(すなわち変更された値のセット)は、実オブジェクト全体の形状属性の分布を正確に表す。言い換えると、実オブジェクトは1つまたは複数の鋭い特徴を含むことが多く、この方法では、これらの鋭い特徴の存在に起因する信号の変動を維持しながら、3D信号のノイズを除去できる。言い換えると、現実の世界では、形状属性は実オブジェクトの滑らかな部分で非常にスムーズに変化し、鋭い特徴が存在する実オブジェクトの形状の領域ではより残酷に変化し、このメソッドは、例えば、(例えばMRFの)収束基準に関して実世界のように形状属性の分布に近づくように(例えば近づくまで)、形状属性の3D信号を処理する。したがって、この方法は正確であり、3D信号の現実的なノイズ除去を提供する。
この方法は、実オブジェクト上で形状属性の3D信号を処理するためのものである。「実オブジェクト」とは、実世界のあらゆるオブジェクトを意味する。したがって、実オブジェクトは、3次元の立体(すなわち3Dクローズドボリューム)である。例では、実オブジェクトは、少なくとも1つの鋭い特徴を含む。鋭い特徴は、鋭い(すなわち滑らかではない、不規則な)形状を有する実オブジェクト内の材料のレイアウトである。
実オブジェクトは、(例えば機械的)部品または部品のアセンブリ(または同等に部品のアセンブリ、部品のアセンブリは方法の観点から部品自体と見なされる場合があり、または方法はアセンブリの各部品に独立して適用される場合がある)、または、より一般的には任意の剛体アセンブリ(例えばモバイルメカニズム)であってよい。実オブジェクトは、航空宇宙、建築、建設、消費財、ハイテク機器、産業機器、輸送、海洋、および/またはオフショア石油/ガスの生産または輸送を含む、さまざまな無制限の産業分野の任意の(例えば製造)製品であってよい。したがって、実オブジェクトは、地上車両(例えば車および軽トラック機器、レーシングカー、オートバイ、トラックおよびモーター機器、トラックおよびバス、列車を含む)の一部、航空機(例えば機体機器、航空宇宙機器、推進機器、防衛製品、航空機器、宇宙機器を含む)の一部、海軍車両(例えば海軍機器、商用船、オフショア機器、ヨットおよび作業船、船舶機器を含む)の一部、一般的な機械部品(例えば産業用製造機械、大型移動機械または装置、設置機器、産業用機器製品、金属加工製品、タイヤ製造製品を含む)、電気機械または電子部品(例えば家庭用電化製品、セキュリティおよび/または制御および/または計装製品、コンピューティングおよび通信機器、半導体、医療機器および機器を含む)、消費財(例えば家具、家庭用品、園芸用品、レジャー用品、ファッション製品、ハードグッズ小売業者の製品、ソフトグッズ小売業者の製品を含む)、パッケージ(例えば食品および飲料およびタバコ、美容およびパーソナルケア、家庭用品の包装を含む)、などの任意の機械部品である工業製品を表すことができる。これらのオブジェクトはすべて、多くの場合、1つ以上の鋭い特徴を備えている。
「形状属性」とは、実オブジェクトの形状をローカルに記述する属性を意味する。「実オブジェクト上の形状属性の3D信号」とは、実オブジェクト上の形状属性の測定された分布、すなわちそれぞれが実オブジェクトの特定の場所にある形状属性の値を表す値の測定フィールド、を意味する。「測定された分布」とは、分布が実オブジェクトに対して実行された(例えば1つまたは複数の物理センサによる)物理的な測定に由来することを意味する。分布は直接測定された例においてあり、物理測定から計算された(例えば測定された離散表現の測定された点に基づいて実行される計算による)他の例においてある。前述のように、提供された値のセットは、形状属性の3D信号を形成する。値のセットの提供は、実オブジェクト上の値のセットを測定すること、または測定された離散表現(例えば離散表現の測定点)に基づいて値のセットを計算することを含む。値のセットの提供については、以下でさらに説明する。
前述のように、形状属性は、オブジェクトの形状をローカルに記述する属性である。実オブジェクト上の所与の場所の形状属性は、所与の場所における実オブジェクトの局所形状の特性を指定する1つまたは複数のパラメータおよび/またはラベルの任意のセットである。形状属性は、たとえば、通常の場合、すなわち例えば実オブジェクトの外側の向きに関して、法線ベクトルがある。あるいは、形状属性は、表面上の任意の曲率、例えば、ガウス曲率、主曲率、または平均曲率などの曲率である。あるいは、形状属性はプリミティブのタイプであり、すなわち形状属性は、実オブジェクトの局所的な形状を形成し、幾何学的プリミティブのタイプ(例えば立方体、円柱、球、円錐、ピラミッド、楕円体、またはトーラス)をローカルに記述できる。
次に、グラフと値のセットの提供について説明する。実オブジェクトの測定された3D離散表現がこの提供に関与しているので、次に、実オブジェクトの測定された3D離散表現が議論される。
実オブジェクトの3D離散表現は、本明細書では、データの離散セットを含むデータ構造である。データの一部は、それぞれの幾何学的エンティティ(例えば3D空間に配置された実オブジェクトの3D形状の点、表面)を表す。各幾何学的エンティティは、3D形状(言い換えると、3D形状によって表されるソリッドを構成する材料のそれぞれの部分)のそれぞれの位置を表す。幾何学的エンティティの集計(すなわち結合または並置)は、完全に3D形状を表す。本明細書の任意の離散幾何学的表現は、例では、100を超える(例えば1000より高い)そのようなデータの数を含む。
実オブジェクトの3D離散表現は、例では3D点群であり、各幾何学的エンティティは点である。実オブジェクトの3D離散表現は、他の例では3Dメッシュであり、各幾何学的エンティティは、メッシュタイルまたは面である。ここでの3Dメッシュは、規則的または不規則(すなわち同じタイプの面で構成されているかどうか)である。本明細書の任意の3Dメッシュは、多角形メッシュ、例えば三角形メッシュである。あるいは、本明細書の任意の3Dメッシュは、B−Repである。本明細書の任意の3Dメッシュは、例えば、3D点群を三角測量することによって、(例えば3D Delaunay三角形分割と、関連するファセットを抽出する方法とを伴って)3D点群から取得することができる。
「測定された」とは、実オブジェクトの3D離散表現が、たとえば3D再構成プロセス内で、実オブジェクトの物理的測定値に由来する(すなわち物理的測定値から決定される)ことを意味する。3D再構成プロセスは、実物体を提供すること、それぞれがそれぞれの物理信号を取得するように構成された1つまたは複数の物理センサを提供すること、および、実物体上で1つまたは複数の物理センサを操作する(すなわち各センサで実オブジェクトをスキャンする)ことによって、1つまたは複数のそれぞれの物理信号を取得することを含む。次に、3D再構成は、任意の既知の技術に従って、測定値に基づいて3D点群および/または3Dメッシュを自動的に決定することができる。1つまたは複数のセンサは、1つまたは複数のポータブルトレイスキャンを含む。1つまたは複数のセンサは、追加的または代替的に、1つまたは複数の計測スキャンを含む。
この方法は、特に、例えばグラフと値のセットを提供する前、測定された3D離散表現を提供することを含む。3D離散表現を提供することは、例えば、前述の3D再構成プロセスを実行することによって、実オブジェクトに対して前述の物理的測定を実行することを含む。あるいは、測定された3D離散表現の提供は、例えば前に説明したように、物理的な測定を実行することによって取得後に保存された、(例えば遠方の)メモリから3D離散表現を検索することを含む。
次に、グラフの提供について説明する。
3Dメッシュであろうと3D点群であろうと、実オブジェクトの測定された3D離散表現には、それぞれが実オブジェクト上の特定の場所を表す点がある。グラフは、ノードがそれぞれ3D離散表現のそれぞれの点を表し、円弧がそれぞれ離散表現の隣接する点を接続することによって、離散表現によって表される実オブジェクトのトポロジーをキャプチャする。「実オブジェクトのトポロジー」とは、「実オブジェクトの3D離散表現に関するトポロジー」を意味し、たとえば、B−rep表現に関するトポロジーとは異なる。点の隣接点(「ネイバー」とも呼ばれる)は、例えば与えられた距離(3Dの既知の距離など)に関して、その点に最も近い点である。たとえば、点の隣接点は、点までの距離が事前定義されたしきい値よりも小さい点である場合がある。しきい値は、入力として提供される値のセットに依存する場合がある。たとえば、しきい値は、提供された値のセットが小さな機械部品のスキャンからのLIDARに由来するかどうかに依存する場合がある。しきい値は、実際には、特定のケースと値のセットの取得方法に依存する場合がある。しきい値は、取得方法によって提供される(点の)測定の密度に関連している可能性がある。第1の点が第2の点の隣接点に属する場合、第1の点および第2の点は隣接点であり、これは、第2の点が第1の点の隣接点に属することを意味する。
グラフの提供は、グラフの構築を含む。あるいは、グラフの提供は、グラフが作成された後に保存された(例えば遠方)メモリからグラフを検索することを含む。グラフの構築は、離散表現の各点にそれぞれのノードを帰属させることを含む。次に、グラフの作成には、離散表現内の隣接する点の各カップルの検索が含まれる場合がある。次に、グラフを構築することは、グラフ内の弧によって偶力の点をそれぞれ表すグラフのノードを接続することを含む。
例では、離散表現は3Dメッシュであり、頂点、エッジ、面、またはメッシュタイルがある。これらの例では、「2つの隣接する点」は、エッジを共有する2つの頂点を表す場合がある(すなわちエッジによって接続されている)およびグラフの構築は、それぞれ2つの頂点を表すノードを接続する円弧を作成することを含み、これは隣接する点のカップルごとに行われる。つまり、この場合、グラフの円弧は2つの頂点で共有される3Dメッシュのエッジに対応し、円弧は頂点を表す2つのノードを接続する。
他の例では、離散表現は3D点群である。これらの例では、グラフの作成は、3D点群の各点について、点の隣接点を見つけ、その点と少なくともいくつかの確立された隣接点との間に円弧を作成することで構成できる。隣接点を見つけることは、最近傍探索アルゴリズムなど、3D点内の点の隣接点を見つけるのに適した任意の既知の方法を使用することを含む。離散表現が3D点群であるこれらの例では、グラフの構築は、ノードおよび円弧を有するグラフを構築するのに適した任意の既知の方法を使用することによって実行でき、各ノードは3D点群のそれぞれの点を表し、また、各円弧は、3D点群の隣接する点を表す2つのノードを接続する。例えば、グラフの構築は、参照により本明細書に組み込まれる(非特許文献1)に記載されている方法を使用して実行することができる。
離散表現が3D点群である例の例では、グラフの構築は、点をそれらの隣接点のいくつかと接続することを含む。建物は、各点について、その接平面を推定し、次にその平面内の点の隣接平面を投影することで構成できる。次に、建物は、投影された点の2Dドロネー(Delaunay)三角形分割を決定することを含み、点とその隣接する投影を含む縮小されたフラットメッシュを生成する。建物は、そのメッシュを使用して、点を接続するネイバーを決定することで構成できる。具体的には、建物は、点に関連付けられたノードを、接平面での投影に寄与しかつ最終的に2Dドロネー三角形分割経由の接平面に組み込まれた2Dメッシュの点に接続された、点群の点に関連付けられたグラフノードに接続することを含むことができる。この方法は、参照により本明細書に組み込まれる(非特許文献1)の別の文脈で実行することができる。
次に、値のセットの提供について説明する。
値のセットは、実オブジェクトに対する形状属性の測定された分布を表す。前に述べたように、これは、値のセットの各値が、離散表現のそれぞれの位置での形状属性を表すことを意味する。言い換えると、値は、離散表現のそれぞれの位置にある形状属性の値である。値のセットの値は、スカラー値、ベクトル値、またはラベル値である。例では、MRFはラベルで機能する。そのような場合、この方法は、値がスカラー値またはベクトル値である場合、量子化によって、値のセットの値をラベルに減らすことを含む。値がベクトル値である場合、最小化は、対応するベクトル空間の次元に等しい回数実行することができる。
値のセットの提供は、3D離散表現から値のセットを計算することを含み、計算は、任意の適切な方法によって実行される。値のセットの計算は、離散表現に基づいて、例えば離散表現の点に基づいて実行できる。例えば、値のセットの計算は、離散表現の少なくとも一部(例えばすべて)の各点について、点および/または点の隣接点に基づいて、点での形状属性の値を計算することを含む。
値の計算は幾何学的に、すなわち1つまたは複数の既知の幾何学的方法によって行うことができる。このような方法では、ジオメトリのみに依存することによって、例えば1つまたは複数の幾何学的公式を計算することによって、および/または1つまたは複数の幾何学的問題を解決することによって、値を計算する。例えば、値の計算は、以下のうちの1つまたは複数を含む。
− 点とその隣接点で構成される点のセットに平面をフィッティングし、値としてプランの法線を使用する、
−(前述のように計算された)点とその隣接点に、3D表現の点の曲率を計算するためのよく知られた余接法を適用することによって、点の曲率を値として計算する、および/または
− 楕円体などのプリミティブを、その点とその隣接する点で構成される点のセットにフィッティングし、フィッティングされたプリミティブに基づいて、点の法線と点の主曲率を計算する。
−(前述のように計算された)点とその隣接点に、3D表現の点の曲率を計算するためのよく知られた余接法を適用することによって、点の曲率を値として計算する、および/または
− 楕円体などのプリミティブを、その点とその隣接する点で構成される点のセットにフィッティングし、フィッティングされたプリミティブに基づいて、点の法線と点の主曲率を計算する。
あるいは、値は、点および/または点の隣接点に基づいて、離散表現の任意の点の形状属性の値を推論するために学習された任意の既知のニューラルネットワークによって推論される。例では、ニューラルネットワークはPCPNetであり、形状属性の値について「地形の真理」が既知である3D点群の例のデータセットに基づく学習教師によって学習される。
あるいは、提供することは、例えば前に説明したように、物理的測定によって3D離散表現を提供する場合、実オブジェクトの値のセットを測定することを含む。どちらの場合も、値のセットは、実オブジェクト上で形状属性の3D信号を形成する。
あるいは、値のセットの提供は、例えばその計算または測定に続いて、保存された(例えば遠方の)メモリから値のセットを検索することを含み、値のセットは、実オブジェクト上で形状属性の3D信号を形成する。
次に、エネルギーの最小化について説明する。その前に、マルコフ確立場の概念をここで簡単に説明する。
広く知られているように、マルコフ確率場は、平滑化項(「平滑性項」とも呼ばれる)およびコスト項(およびオプションで正則化項)で、エネルギーを最小化することによって、グラフ上のラベル(または離散値)の確率分布を前提として、ラベル(または離散値)の最も可能性の高い構成を推測するために使用されるツールである。そのため、これらは、計算の入力の過度のノイズによって引き起こされた可能性のあるいくつかの欠陥を計算の結果で滑らかにするための優れたツールである。知られているようにそれ自体、マルコフ確率場の背後には、グラフのノードが特定のクラス(目標クラス)に属する確率と、そのノードが隣接するクラスとは異なるクラスに属する確率とによって、問題をモデル化できるという考えがあり、次のタイプのエネルギーを最小化することによってモデル化される。
その目的のために、エネルギーは、コスト項(式(1)の1番目の合計)、ノードごとに特定のクラス(目標クラス)に属するノードの確率、および平滑性項(式(1)の2番目の合計)を捉えることと、隣接するノードのカップルごとに、これらのノードが異なるクラスに属する確率を捉えることとを含む。スカラーγは、エネルギーにおける平滑性項の寄与の量を決定する:つまり、大きいγは、滑らかさがよりエネルギーに寄与する。スカラーγは正で、例1に関して、事前定義された数値よりも小さくなる。この方法によって最小化されるエネルギーはタイプ(1)である。方法の例では、γは、1に等しい。
この方法の場合、モデル化される問題は次のように説明できる。実オブジェクトの測定された3D離散表現、点を持つ離散表現、および、実オブジェクト上で形状属性の分布を表す値のセットがある。各値は、離散表現のそれぞれの点での形状属性の値を表す。最小化の目的は、次のように値のセットを変更することである。目的1)値のセットが提供された値のセットに近いままである(すなわち離散表現から測定/計算された形状属性の3D信号の変更はそれほど多くない)、および目的2)値のセット内の局所的な強い変動、すなわち離散表現の隣接点での形状属性を表す値の強い変動は、3D離散表現の鋭い特徴を表す離散表現の領域を除いて平滑化される。その目的のために、この方法は、提供されたグラフ上に形成されたランダムマルコフ確率場で定義されたエネルギーを最小化することによって値のセットを変更する。エネルギーは、目的1)を捉えるコスト項と、目的2)を捉える滑らかさ項とを含む。エネルギーのコスト項は、目的1)を捉えることができる任意の既知のコスト項である。次に、滑らかさの項について説明する。
エネルギーは、第1のノードを第2のノードに接続する各円弧について、第1のノードが第1の値に関連付けられ、第2のノードが第2の値に関連付けられ、増加する関数の高さにペナルティを課す。これにより、第1の値は、第1のノードによって表される第1の点の形状属性を表し、これにより、第2の値は、第2のノードによって表される第2の点の形状属性を表す。また、第1の点と第2の点は、それらの代表的なノードがグラフ内において円弧で接続されているため、隣接点である。エネルギーの平滑性項は、増加する関数の高さのペナルティを実行する。言い換えると、第1ノードと第2ノードで表される隣接点のカップルごとに、平滑性項は増加する関数の高さにペナルティを課す。「増加関数の高さにペナルティを課す」とは、エネルギーが、第1ノードと第2ノードで表される隣接点のカップルごとに、増加関数の高さ(例えば関数の値の高さ)を定量化することを意味し、および、最小化中に、カップルの隣接する点での形状属性を表す値は、増加する関数が大きすぎる(すなわち値が大き過ぎる)場合に変更されることを意味する。それらは、増加関数が小さくなるように変更される。次に、増加関数について説明する。
増加関数は、第1の値と第2の値との間の距離の増加関数である。距離は、1次元またはそれ以上の次元の距離など、値間の任意の距離にすることができる。したがって、前述のように、2つの隣接点での形状属性の値を表す第1の値と第2の値が互いに大きすぎる場合、それらの間の距離は大きくなる。このような場合、増加関数は大きくなる傾向がある。これは、距離が大きいと関数の値が大きくなることを意味するが、関数は他のパラメータに依存するため、以下で説明するように、関数の値はまだ比較的小さい場合がある。
実際のところ、この関数は、(第1のノードと第2のノードとによって表される2つの隣接点の)第1の点と離散表現の内側の幾何学的要素との間の距離の増加関数でもある。内側の幾何学的要素は、離散表現の任意の内側の幾何学的要素である。例えば、内側の幾何学的要素は、離散表現の内側軸または離散表現の内側表面である。第1の点と内側の幾何学的要素との間の距離は、第1の点と内側の幾何学的要素との間のユークリッド距離など、第1の点と内側の幾何学的要素との間の任意の距離であり得る。この距離は、第1の点のローカルフィーチャサイズ値(「LFS値」とも呼ばれる)と呼ばれることもある。
同様に、この関数は、(第1のノードと第2のノードとによって表される2つの隣接点の)第2の点と離散表現の内側の幾何学的要素との間の距離の増加関数でもある。第2の点と内側の幾何学的要素との間の距離は、第2の点と内側の幾何学的要素との間のユークリッド距離など、第2の点と内側の幾何学的要素との間の任意の距離であり得る。この距離は、第2の点のローカルフィーチャサイズ値(「LFS値」とも呼ばれる)と呼ばれることもある。
より一般的には、離散表現の点のLFS値は、点と内側の幾何学的要素との間の距離である。
第1の点と内側の幾何学的要素との間の距離の小さな値、例えば他の点と幾何学的要素との間の他の距離の他の値と比較して、第1の点が実オブジェクトの形状の鋭い部分に属する実オブジェクトの位置に対応するという事実を表す。このような場合、第1の点と内側の幾何学的要素との間の距離は、関数の値を大きくすることにあまり寄与せず、逆に、関数の値を小さくすることに寄与する。同様に、第2の点と内側の幾何学的要素との間の距離の小さな値、例えば他の点と幾何学的要素との間の他の距離の他の値と比較して、第2の点が実オブジェクトの形状の鋭い部分に属する実オブジェクトの位置に対応するという事実を表している。このような場合、第2の点と内側の幾何学的要素との間の距離は、関数の値を大きくすることにはあまり寄与せず、逆に、関数の値を小さくすることに寄与する。
したがって、次のことが言える。第1の点と第2の点との両方が実オブジェクトの形状の滑らかな部分に属している場合、それらのLFS値は大きくなる。このような場合、増加関数の高さは、主に第1の値と第2の値との間の距離の高さに依存する。この距離が大きい場合は、第1の値と第2の値との間に大きな変動があることを示すが、第1の点と第2の点とは両方とも実オブジェクトの形状の滑らかな部分に属しているため、実際には存在しないはずである。したがって、この強い変動は、前述のようにノイズに対応し、その結果、最小化により、第1の値および/または第2の値が変更され、それらの間の距離が(例えばMRFの収束基準に関して)小さくなる。言い換えると、隣接点が実オブジェクトの形状の滑らかな部分に属しているために隣接点の形状属性の実際の値が近い場合、最小化は、値のセット内の対応する値が近くにおよび/または同様に留まることを保証する傾向がある。言い換えると、3D信号内の強い形状属性の局所的な変動は、ノイズに対応するときに平滑化される。
ここで、第1(または第2)の点が実オブジェクトの形状の鋭い部分に属している場合、そのLFS値は小さくなる。このような場合、このLFS値は、増加する関数の値の減少に寄与する。したがって、第1の値と第2の値との間の距離が大きい場合でも、増加関数の値は最小化中にペナルティが少なくなる。第2(または第1)の点のLFS値も小さい場合、つまり第2(または第1)の点が実オブジェクトの形状の鋭い部分に属している場合、増加関数の値は、第1の値と第2の値との間の距離が大きい場合でも、最小化中のペナルティはさらに少なくなる。したがって、2つの隣接点の値の間の強い変動は、隣接点の少なくとも1つが形状の鋭い部分に属する場合、最小化中に保持される(または、少なくともあまり平滑化されない)傾向があり、両方の隣接点が形状の鋭い部分に属している場合、最小化中にさらに保存される(または少なくとも滑らかにならない)。言い換えると、隣接する点の形状属性の実際の値が大きく異なる場合、(隣接点の少なくとも1つ(例えば両方)が実オブジェクトの形状の鋭い部分に属している場合、最小化すると、値のセット内の対応する値も大きく異なることが保証される傾向がある。言い換えると、3D信号内の強い形状属性の局所的な変動は、実オブジェクトの鋭い特徴に対応する場合に保持される傾向がある。
したがって、この方法では、3D信号のノイズを除去しながら、形状属性の強い局所的な変化を保持しながら、これらの強い変化が実世界の実オブジェクトの鋭い特徴に対応する場合に使用できる。
次に、LFS値についてさらに説明する。
LFS値および内側の幾何学的要素は、よく知られた概念であり、任意の既知の方法または既知の方法の組み合わせによって計算することができる。これらの方法のいくつかは、非特許文献2、非特許文献3、非特許文献4、非特許文献5に開示されており、これらはそれぞれ参照により本明細書に組み込まれる。この方法は、任意の既知の方法によって、例えば値のセットを変更する前に、離散表現の点のLFS値を計算することを含む。この方法は、任意の既知の方法によって、例えばLFS値を計算する前に、内側の幾何学的要素を計算することをさらに含む。
LFS値および/または内側の幾何学的要素の計算は、3D離散表現に基づいている。例えば、これは、LFS値および/または内側の幾何学的要素の計算が、離散表現(の例えば、点)を入力として受け取ることを意味し、および任意の適切な既知の方法(前述の方法など)に従って、LFS値および/または内側の幾何学的要素を出力する。さらに他の例では、LFS値および/または内側の幾何学的要素の計算は、離散表現をノイズ除去(例えばスムージング、例えば正則化)し、ノイズ除去された離散表現に基づいて、LFS値および/または内側の幾何学的要素を計算する。これは、LFS値および/または内側の幾何学的要素の計算が、ノイズ除去された離散表現(の例えば、点)を入力として受け取ることを意味し、および任意の適切な既知の方法(前述の方法など)に従って、LFS値および/または内側の幾何学的要素を出力する。LFS値および/または内側幾何学的要素の計算が離散表現のノイズ除去を含むこれらの例では、エネルギーの最小化は、ノイズ除去されていない離散表現に基づいて実行されることを理解されたい。LFS値および/または内側の幾何学的要素を計算する前に、離散表現をノイズ除去することによって、LFS値および/または内側の幾何学的要素をより正確に計算することができる。ノイズ除去されていない離散表現に基づいて最小化を実行し続けると、LFS値および/または最小化に使用される内側の幾何学的要素が、より正確に計算されるため、前述のように鋭い特徴をより正確に維持しながら、形状属性の3D信号のノイズを除去できる。あるいは、この方法は、最初に離散表現を平滑化/ノイズ除去することなく、LFS値を計算することができる。これは特に、LFS値の計算が前述のLSMATメソッドに従って実行される場合に当てはまる。
次に、エネルギーの最小化についてさらに説明する。
最小化は、任意の既知のマルコフ確率場ソルバーなど、最小化を実行するのに適した任意の既知のアルゴリズムによって実行することができる。マルコフ確率場はアルファ展開グラフカットを介して解くことができ、これは参照により本明細書に組み込まれる、D.Thuerck&alの大規模向けの高速で超並列のソルバーのような、最新のハードウェアとの並列処理を活用するソリューションが存在する。グラフによって形成されるマルコフ確率場で定義されるエネルギーを最小化する概念、そのアルゴリズムは、実際にはマルコフ確率場の分野でよく知られており、これ以上説明はしない。
次に、滑らかさの項についてさらに説明する。
例では、滑らかさの項は、次のタイプの項のグラフ内のすべての円弧の合計である可能性がある。
ここで、(p,q)は、(第1の点に関連付けられた)第1の値pと、(第2の点に関連付けられた)第2の値qとで作られたカップルである。|p-q|は、第1の値と第2の値との間の距離である。LFSpは、第1の点のLFS値である。LFSqは、第2の点のLFS値である。ここで、maxLFSは、離散表現の点のすべてのLFS値の最大値である。
他の例では、滑らかさの項は、次のタイプの項のグラフ内のすべての円弧の合計である。
ここで、(p,q)は、(第1の点に関連付けられた)第1の値pと、(第2の点に関連付けられた)第2の値qとで作られたカップルである。|p-q|は、第1の値と第2の値との間の距離である。LFSpは、第1の点のLFS値である。LFSqは、第2の点のLFS値である。ここで、maxLFSは、離散表現の点のすべてのLFS値の最大値である。minLFSは、離散表現の点のすべてのLFS値の最小値である。
次に、コスト条件についてさらに説明する。
前に説明したように、コスト項は、提供された値のセットに近いままであるように変更される値のセットの要件を捕捉する。言い換えると、平滑度の項は、(エネルギーを最小化する場合)、値のセットを変更する傾向があり、鋭い特徴に対応する離散表現の領域を除いて局所的な残忍な変動が平滑化されるようになるが、コストの項は、(エネルギーを最小化する場合)、変更された値のセットが、提供された値のセットの近くにとどまることを確実にする傾向がある。前述のように、コスト項は、最小化中に、変更される値のセットが、提供された値のセットに近いままであることを保証する、任意の既知のコスト項にすることができる。
例では、マルコフ確率場には、形状属性の目標分布を表す目標値がある。これらの例では、エネルギーは、ノードごとに、ノードに関連付けられた値と少なくとも1つの目標値との間の少なくとも1つの距離の別の増加関数の高さにさらにペナルティを課す。
これらの例では、目標値は、それぞれが形状属性の目標分布を表す1つ以上の目標値のセットを形成する。言い換えれば、エネルギーの最小化は、値のセットが、1つ以上の目標値のセットに近くなる(例えば、値のセットに向かって収束する)ように変更される傾向があるようなものである。すなわち、値のセットは、1つまたは複数の目標値のセットの各セットに比較的近くなるように変更される傾向がある。目標値の各セットは、提供された値のセットによって表される形状属性の分布に類似している形状属性の分布を表す任意の値のセットである。例えば、目標値のセットの値は、提供された値のセットの値を表すことができる。追加的または代替的に、目標値のセットの値は、離散表現から計算される。そのような場合、方法は、1つまたは複数の目標値のセットのそれぞれの目標値のセットごとに、例えば。最小化する前に、離散表現からの目標値のそれぞれのセットの値を計算することを含む。計算は、それぞれの目標値のセットごとにそれぞれ異なる方法によって実行することができる。追加的または代替的に、この方法は、前記セットのそれぞれの目標値を、提供された値のセットの値を表す値にサンプリングすることを含む。目標値の各セットの値は、スカラー値、ベクトル値、またはラベル値である。
前記目標値のセットのそれぞれの目標値の計算は、離散表現に基づいて、例えば離散表現の点に基づいて、実行することができる。例えば、セットの目標値の計算は、離散表現の少なくとも一部(例えばすべて)の各点について、点および/または点の隣接点に基づいて、点での形状属性の値を計算することを含む。値の計算は、幾何学的に、すなわち1つまたは複数の既知の幾何学的方法によって行うことができる。このような方法では、ジオメトリのみに依存することによって、例えば1つまたは複数の幾何学的公式を計算することによって、および/または1つまたは複数の幾何学的問題を解決することによって、値を計算する。例えば、値の計算は、以下のうちの1つまたは複数を含む。
− 点とその隣接点で構成される点のセットにプランを適合させ、プランの法線を値として使用する、
− 点とその隣接点(前述のように計算)に、3D表現の点の曲率を計算するためのよく知られた余接法を適用することによって、点の曲率を値として計算する、および/または
− 楕円体などのプリミティブを、その点とその隣接する点で構成される点のセットにフィッティングし、フィッティングされたプリミティブに基づいて、点の法線または点の主曲率を計算する。
− 点とその隣接点(前述のように計算)に、3D表現の点の曲率を計算するためのよく知られた余接法を適用することによって、点の曲率を値として計算する、および/または
− 楕円体などのプリミティブを、その点とその隣接する点で構成される点のセットにフィッティングし、フィッティングされたプリミティブに基づいて、点の法線または点の主曲率を計算する。
あるいは、値は、点および/または点の隣接点に基づいて、離散表現の任意の点の形状属性の値を推論するために、学習された任意の既知のニューラルネットワークによって推論される。
さらにこれらの例では、エネルギーは、ノードごとに、ノードに関連付けられた値と、少なくとも1つの目標値との間の少なくとも1つの距離の別の増加関数の高さにさらにペナルティを課す。エネルギーのコスト項は、増加する関数の高さのペナルティを実行する。言い換えると、グラフの各ノードについて、コスト項は別の増加する関数の高さにペナルティを課す。「別の増加関数の高さにペナルティを課す」とは、エネルギーが各ノードについて、別の増加関数の高さ(例えば別の増加関数の値の高さ)を定量化すること、および、最小化中に、別の増加関数が大き過ぎる(すなわち値が大き過ぎる)場合、ノードによって表される点で形状属性を表す値が変更されることを意味する。別の増加関数が小さくなるように変更される。次に、もう1つの増加関数について説明する。
前記別の増加関数は、ノードに関連付けられた値と、少なくとも1つの目標値との間の少なくとも1つの距離の関数である。これは、別の増加関数が1つ以上の距離の関数であり、それぞれがノードに関連付けられた値と、それぞれの目標値(例えば前記1つまたは複数の目標値のセットのそれぞれのセットに属する値)との間であることを意味する。1つまたは複数の距離のそれぞれのそれぞれは、1次元またはより高い次元における任意の距離など、値間の任意の距離である。したがって、前記1つまたは複数の距離の距離ごとに、ノードに関連付けられた値と前記それぞれの目標値とが互いにあまりにも異なる場合、それらの間の距離は大きい。そのような場合、別の増加関数も大きくなる。その結果、ノードに関連付けられた値は、別の増加する関数の値が減少するように、最小化中に変更される。これにより、変更された値のセットが、最小化中に、提供された値のセットに近くなることが保証される傾向がある。その理由は、例えば変更された値のセットと目標値との間の不一致(相違、不調和)は、別の増加関数の増加に寄与するためペナルティが課せられる、からである。
例では、少なくとも1つの距離が1つの単一の距離で構成される。言い換えれば、目標値は、前述のように、提供された値のセットを表す単一の目標値のセットを形成し、各ノードに対してペナルティを課されるコスト条件は、ノードに関連付けられた値と目標値の単一セットの目標値との間の前記単一の距離の別の増加関数である。これらの例では、コスト項は、次のタイプの項のグラフのすべてのノードの合計である可能性がある。
ここで、pはノードに関連付けられた値である。|p-target|は、ノードに関連付けられた値と目標値との間の単一の距離である。ここで、targetは、目標値である。
他の例では、前記別の増加関数は、ノードに関連付けられた値と第1の目標値との間の距離の増加関数、およびノードに関連付けられた値と第2の目標値との間の距離の増加関数である。
このような例について、次に説明する。
これらの例では、目標値は、第1の目標値で構成される第1の目標値のセットと、第2の目標値で構成される第2の目標値のセットとを形成する。前に説明したように、目標値の第1のセットと第2のセットとはどちらも、提供された値のセットを表す値で構成される。これらの例では、少なくとも1つの距離は、第1の距離と第2の距離とで構成される(例えば、それらの距離内にある)。前記別の増加関数は、言い換えれば、ノードに関連付けられた値と第1の目標値(すなわち、目標値の第1のセットに属する値)との間の第1の距離の関数、およびノードに関連付けられた値と第2の目標値(すなわち、目標値の第2のセットに属する値)との間の第2の距離の関数である。したがって、前述のように、コスト項は、最小化中に、例えば変更された値のセットと、目標値の第1のセットおよび第2のセットのそれぞれとの間の、不一致(相違、不調和)にペナルティを課す。言い換えると、エネルギーの最小化は、提供された値のセットが変更されたときに、目標値の第1のセットと第2のセットとの両方に近いままであるかどうかを測定し、それらが目標値の第1のセットまたは第2のセットのいずれかの値と不一致になり過ぎるとき、変更された提供された値のセットの値を変更する傾向がある。さらに言い換えると、コスト項は、変更された値のセットが、両方とも提供された値のセットを表す2つのセットに近いままになる傾向があることを保証する。これは、コスト項が最小化中に、変更された値のセットと2つの異なる値のセットとの間の不一致にペナルティを課すが、両方とも提供された値のセットを表すことを意味する。これは、メソッドが2つの異なる目標値のセットに近いことを保証する傾向があるが、両方とも提供された値のセットを表すため、変更された値のセットと提供された値のセットとが近いままであることを保証する方法を強化する。これにより、メソッドの精度がさらに向上する。
例では、少なくとも1つの目標値は、ノードによって表されるそれぞれの点で幾何学的に計算された形状属性の少なくとも1つの値、および/または、ノードによって表されるそれぞれの点でニューラルネットワークによって推論される形状属性の少なくとも1つの値を含む。
「幾何学的に計算された形状属性の少なくとも1つの値」とは、形状属性の値を計算するのに適した1つまたは複数の幾何学的方法によって計算された形状属性の少なくとも1つの値を意味する。この方法は、前述のように、前記少なくとも1つの目標値ごとに、ノードによって表されるそれぞれの点で形状属性の少なくとも1つの値を幾何学的に計算することを含む、目標値の計算を含む。
「ニューラルネットワークによって推論された形状属性の少なくとも1つの値」とは、形状属性の値を計算するために学習されたニューラルネットワークによって生成された形状属性の少なくとも1つの値を意味する。ニューラルネットワークは、形状属性の値を計算するために学習された任意のニューラルネットワークである可能性がある。前述のように、この方法は、目標値の計算を含み、これは、前に説明したように、前記少なくとも1つの目標値のそれぞれについて、ニューラルネットワークを適用することによって、ノードによって表されるそれぞれの点での形状属性の少なくとも1つの値を計算することを含む。
したがって、この方法は、目標値として、幾何学的に計算された値および/またはニューラルネットワークによって推論された値を使用することができる。これは、方法が目標値を計算する少なくとも2つの異なる方法に依存するように柔軟であり、したがって、精度、速度および/またはロバスト性など、これらの2つの方法の少なくとも1つによってもたらされる利点から利益を得ることができる。この方法は、これらの利点をさらに組み合わせることができる。
例では、少なくとも1つの目標値は、ノードによって表されるそれぞれの点で幾何学的に計算された形状属性の少なくとも1つの値と、ノードによって表されるそれぞれの点でニューラルネットワークによって推論される形状属性の少なくとも1つの値とを含む。これらの例では、この方法では、幾何学的に計算された値とニューラルネットワークによって推測された値との融合から生じる値を目標値として使用する。これは、変更された値のセットの親密さ(例えば、収束)を、他の値(幾何学的手法とニューラルネットワークが同様の推定値を提供する値)よりも信頼できると見なされる値に促進する。これにより、手法の精度が向上する。
例では、前記別の増加関数が、ノードに関連付けられた値と第1の目標値との間の距離(前述のように第1の距離)と、ノードに関連付けられた値と第2の目標値との間の距離(前述のように第2の距離)との増加関数である。少なくとも1つの目標値は、ノードによって表されるそれぞれの点で幾何学的に計算された形状属性の少なくとも1つの値と、ノードによって表されるそれぞれの点でのニューラルネットワークによって推論された形状属性の少なくとも1つの値とを含む。具体的には、そのような場合、第1の目標値は、ノードによって表されるそれぞれの点で幾何学的に計算された形状属性の少なくとも1つの値であり、第2の目標値は、ノードによって表されるそれぞれの点でのニューラルネットワークによって推論された形状属性の少なくとも1つの値である。
例では、前記別の増加関数はまた、少なくとも1つの目標値に含まれる値の間の対応を定量化する。これらの例について、次に説明する。
前述のように、目標値は、1つまたは複数の目標値のセットを形成してよい。前記別の増加関数は、ノードに関連付けられた値と、1つまたは複数の目標値のセットのそれぞれに属するそれぞれの目標値との間の、それぞれ1つまたは複数の距離の増加関数である。前記それぞれの目標値はそれぞれ、ノードによって表される点に対応する離散表現の位置における形状属性の値を表す。さて、対応とは、それぞれの目標値の間の対応(例えば類似性、例えば実質的な同等性)を定量化する用語または量である。この用語は、前記それぞれの目標値が互いに対応するとき、例えば似ている、例えば等しいか実質的に等しいときに、大きい用語である。そして、前記目標値が互いに対応しないとき、例えば違いが大きすぎるか、大幅に違うときは、小さい。これにより、エネルギーを最小化するときに、目標値までの距離がさらに影響を及ぼす。追加的または代替的に、項は、前記それぞれの目標値が互いに対応するとき、例えば似ている、例えば等しいか実質的に等しいとき、にゼロ以外の項である。そして、前記目標値が互いに対応しないとき、例えば違いが大きすぎるか、大幅に違うときは、ヌルである。このような場合、エネルギーは、とにかくお互いに一致しない目標値から離れることはそれほど深刻ではないという考慮を捉えていると言える。この用語は、前記それぞれの目標値に依存し、前記それぞれの目標値に直接基づいて、前記それぞれの目標値間の対応を定量化することができる。あるいは、この用語は、他の値に依存し、前記他の値に基づいて、前記それぞれの目標値間の対応を定量化することができる。
少なくとも1つの目標値に含まれる値間の対応を定量化すると、メソッドの堅牢性と精度が向上する。実際、少なくとも1つの目標値に含まれる値が対応しないとき、前記別の増加関数の値は減少する傾向がある。したがって、少なくとも1つの目標値に含まれる少なくとも1つの目標値が、前記少なくとも1つの距離が大きいようなものであっても、前記別の増加関数は、必ずしもそれに応じて大きくなる傾向はない。これは、少なくとも1つの目標値に含まれる値間の対応がないため、関数の値を減少させる傾向にあるからである。これにより、コスト項は、互いに対応する少なくとも1つの目標値に含まれる、目標値にさらに強い力を与える傾向がある。言い換えると、最小化は、これらの強力な目標値(上記のように、さらに強い目標値が与えられている値)に近いままになるように、値のセットを変更する傾向がある。ここで、これらの強力な目標値のそれぞれは、離散表現の場所での形状属性を比較的正確に表す。これは、強力な目標値に含まれる目標値は、計算方法が異なっていても、例えば少なくとも1つは幾何学的に、および少なくとも1つはニューラルネットワークによって推測されるように、互いに対応しているためである。言い換えれば、コスト項は、最小化中に、変更された値のセットの親密さ(例えば収束、例えばMRFの収束基準と比較する)を、提供された値のセットの値を適切に表す目標値のセットに促進する。
例では、前記別の増加関数は、対応と前記少なくとも1つの距離との間の積の関数である。これは、目標値にさらに強い力を与えるための特に単純で、ロバスト(robust)で、効率的な方法であり、前記少なくとも1つの目標値に含まれ、これらは互いに対応している。確かに、対応が小さい場合(例えばnull)、積も同様になる傾向があり、関数も同様になる傾向がある。したがって、ノードに関連付けられた前記値と前記少なくとも1つの目標値の値との間の前記少なくとも1つの距離が大きくなければならない場合でも、最小化中に関数の値のペナルティが少なくなる。
この方法のさらなる例について、次に説明する。
これらの例において、前記別の増加関数は、ノードに関連付けられた値と第1の目標値との間の第1の距離の増加関数、およびノードに関連付けられた値と第2の目標値との間の第2の距離の増加関数である。これらの例では、第1の目標値は、ノードによって表されるそれぞれの点で幾何学的に計算された形状属性の値であり、第2の目標値は、ノードによって表されるそれぞれの点でニューラルネットワークによって推測される形状属性の値である。これらの例では、前記別の増加関数もまた、第1の目標値と第2の目標値との間の対応を定量化する。
これらの例では、コスト項は、最小化中に変更される値のセットが、幾何学的に計算された第1の目標値とニューラルネットワークによって推測された第2の目標値との両方に近いままであることを保証する傾向がある。第1の目標値と第2の目標値はどちらも、提供された値のセットによって表されるものと同様の、実オブジェクトに対する形状属性の分布を表す。言い換えれば、この方法によるMRF最適化は、幾何学的に計算された目標値とニューラルネットワークによって推測された目標値との融合を、目標値として使用する。これにより、少なくとも2つの異なるタイプの目標値、すなわち2つの異なる計算ソースから取得され、変更された値のセットを提供された値のセットに近づけるために使用される目標値として、メソッドの堅牢性と精度が向上する。さらに、この方法は、2つのソースが一致する目標値、すなわち同様の値が得られる目標値に、さらに強い力を与える。これにより、両方のメソッドの精度の利点を活用でき、メソッドの堅牢性と精度がさらに向上する。これらの例では、前記別の増加関数は、対応、ノードに関連付けられた値と第1の目標値との間の距離、およびノードに関連付けられた値と第2の目標値との間の距離、の間の積の関数である。前に述べたように、これによりメソッドの単純さと堅牢性がさらに向上する。
これらの例では、コスト項は、次のタイプの項のグラフ内のすべてのノードの合計である可能性がある。
pは、ノードに関連付けられた値である。geomTargetは、第1の目標値であり、幾何学的に計算される。neuralTargetは、第2の目標値であり、ニューラルネットワークによって推測される。geomNormalは、ノードによって表される点で幾何学的に計算された法線であり、neuralNormalは、ノードによって表される点でニューラルネットワークによって推測される法線である。|p-geomTarget|は、ノードに関連付けられた値と第1の目標値との間の距離である。|p-neuralTarget|は、ノードに関連付けられた値と第2の目標値との間の距離である。geomNormal.neuralNormalは、第1の目標値と第2の目標値との対応である。ここで、形状属性は、法線または法線に密接に関連する任意の形状属性であり、例えば最大曲率などの法線に基づいて計算される。
それでもこれらの例では、コスト項は、代わりに、タイプの項のグラフ内のすべてのノードの合計であってよい。
pは、ノードに関連付けられた値である。geomTargetは、第1の目標値であり、幾何学的に計算される。neuralTargetは、第2の目標値であり、ニューラルネットワークによって推測される。geomValueGaussianは、geomTargetを中心としたガウス分布であり、値のそれぞれが形状属性を表し、およびそれぞれがノードによって表される点で幾何学的に計算され、neuralValueGaussianは、neuralTargetを中心としたガウス分布であり、値のそれぞれが形状属性を表し、およびそれぞれがノードによって表される点でニューラルネットワークによって推測される。(i)は、提供された値のセットの値の範囲をカバーするヒストグラムのバケットインデックスである。|p-geomTarget|は、ノードに関連付けられた値と第1の目標値との間の距離である。|p-neuralTarget|は、ノードに関連付けられた値と第2の目標値との間の距離である。
は、第1の目標値と第2の目標値との間の対応である。ここで、形状属性は、任意の形状属性、たとえば、法線に関連しない任意の形状属性にすることができる。
この方法は、コンピュータビジョン、3Dソリッドモデリング(CAD)、および/または3D再構成に適用できる。たとえば、この方法は、仮想現実や拡張現実、あらゆる種類の没入型体験、ビデオゲームや機械部品、建物、またはあらゆる種類のオブジェクトの3D再構成やモデリングなどの分野に適用できる。この方法は、例えば、3Dソリッドモデリングプロセスおよび/または3D再構成プロセスに含まれる。
この方法は、例えば、修正された値のセットに基づいて離散表現をセグメント化することをさらに含む。離散表現のセグメント化は、離散表現をより小さく意味のある離散サブ表現に分割(例えば分解、クラスタリング)する。分割は、離散表現上の形状属性の値のセットに基づいており、これは、メソッドの場合に変更された値のセットである。この方法による分割は、任意の既知の分割方法によって行うことができ、よく知られており、本明細書でこれ以上説明しない。変更された値のセットが、実世界と同じように実オブジェクト全体の形状属性の分布を比較的正確に表すため、セグメント化が改善される。セグメント化の後に、離散表現の3D再構成プロセス(例えば、離散表現が3D点群である場合)、および/またはB−rep、CSG構築ツリー、および/または、3D再構成および3Dソリッドモデリングの分野からそれ自体、既知の実オブジェクトを表す特徴ツリーの決定によって続く場合がある。
ここで、メソッドの実施について説明する。
この実施は、コンピュータビジョン、3Dソリッドモデリング(CAD)、および3D再構成の分野に適用できる。したがって、この実施は、仮想現実および拡張現実(より一般的には、あらゆる種類の没入型体験)、ビデオゲームおよび機械部品、建物またはあらゆる種類のオブジェクトの3D再構成およびモデリングなどの分野に役立つ。
ノイズの多い点群およびメッシュの局所的な量または特性を評価することは、複雑な作業である。この実施は、ノイズの多い入力の結果の品質を向上させるのに役立つ。この実施は、鋭い特徴が存在する形状の領域の詳細な特性を比較的保持する。
マルコフ確率場(MRF)は、平滑化項とコスト項(そして、しばしば正則化項)を伴ったエネルギーを最小化することによって、グラフ上のラベル(分散値)の分散可能性を与えるラベル(分散値)の最も似た構成を推測するように使用される既知のツールである。この実施は、平滑化項でローカルフィーチャサイズを使用するMRFエネルギーの定式化を含む。入力にノイズが多いと、ローカルフィーチャサイズ自体にノイズが発生する。このような場合、ローカルフィーチャサイズは、点群の平滑化された変化に基づいて計算できる。平滑化が少し強力で、入力の鋭い幾何学的特徴を保持しない場合でも、この実施は、平滑化する価値のある領域とそうするのが危険な領域とを識別するためにのみ使用するため、良好な結果を提供する。あるいは、局所的な特徴のサイズは、点群の平滑化された変化を必要としない方法(前述のLSMAT法など)によって計算される。さらに、コスト項は、純粋に幾何学的な方法と、両方の方法が同様の推定値に一致し、2つの推定値の融合を実現する傾向がある値にさらに強い力を与える方法で、ニューラルネットワークによって推測された値を介して、計算された値を使用できる。マルコフ確率場は、アルファ展開グラフカットを介して解くことができ、参照により本明細書に組み込まれる非特許文献6のような、最新のハードウェアとの並列処理を活用するソリューションが存在する。この実施では、任意のマルコフ確率場ソルバーを使用できるが、数千のラベル/値を持つ数十万のノードで動作できるソルバーを使用することが望ましい。
ローカルフィーチャサイズに基づくこの実施の平滑化項の定式化により、この実施では、鋭い幾何学的フィーチャが存在する領域で過度に平滑化することができなくなる。そのため、鋭い特徴から滑らかに変化することは期待されないが、鋭い幾何学的特徴が存在する領域で鋭い変化が保持される値を滑らかにするための便利なツールになる。さらに、コスト項が幾何学的に計算された値とニューラルネットワークによって推測された値との両方を含む場合、それは近さ(例えば収束)を、他よりも信頼性が高いと見なされる値(幾何学的手法とニューラルネットワーク推論が同様の推定値を提供する値)に促進する。これは、たとえば、ジオメトリの再構築又は分析の古典的なステップである点群のセグメンテーション、または計測機器を使用して、または写真測量によって再構築された、Lidar PointCloudとして捕捉されたモデルやシーンを改善するのに役立つ。図1は、そのようなセグメンテーションを示す、よく知られているコンピュータビジョンライブラリの文書から抽出された画像のスクリーンショットを示す。図1から、そのようなセグメンテーションは、点群を超えたモデルの再構築、ロボットの意思決定、またはその他の形式の分析に役立つ可能性のあるプリミティブな識別につながる可能性があることを示す、ことが明らかである。
点群ライブラリ(PCL)(図1の画像)で使用されているようなアルゴリズムでは、入力点群にノイズが多い場合、品質の低い結果が得られる。たとえば、古典的な欠陥は、セグメント化された結果を生成することである。このような状況では、入力点群を平滑化するだけでは、入力から興味深い機能が削除される可能性があるため、十分ではない。マルコフ確率場は、ノイズの多い点群で動作するアルゴリズムの出力を平滑化するための優れたツールでもあるが、平滑化が行われない領域であまり平滑化が行われないように注意する必要がある。この実施のエネルギー定式化は、鋭い形状の特徴が存在する領域で発生する平滑化がはるかに少なくなることを保証するため、その観点から興味深いものである。この実施では、エネルギー定式化の各頂点に関連付けられたローカルフィーチャサイズを使用する。ローカルフィーチャサイズは、点群(またはメッシュ)の内側要素(軸または表面)までの距離である。それらの内側要素の少なくともかなり良い品質の推定値が好ましい。これは参照により本明細書に組み込まれる非特許文献7のように、ノイズの多い入力に対してもこれらを生成することに焦点を当てたアプローチは、かなりある。したがって、この実施は、中間軸要素に対するこれらの正則化メソッドの利点を、メソッドが点群またはメッシュ上で機能する値のフィールドに拡張する。この実施では、メソッドは隣接する平均平面上で2回の投影の反復を使用する。
ニューラルネットワークはノイズの多い入力を処理する上である程度の強みを示しているため、前述のマルコフ確率場を使用して、ニューラルネットワークからの予測をより古典的なアルゴリズムの出力と融合することも興味深い。これにより、鋭い特徴に対応する領域にあまり平滑化を適用せずに、一致する予測にさらに強い強度を与えることによって、2つの予測を融合することができる。繰り返すが、これにより、たとえば点群のセグメンテーションを改善できる。
この実施は、ノイズの多い入力の点群セグメンテーションを改善し、したがって、ジオメトリの再構築など、そのようなセグメンテーションに依存するすべての使用ケースを改善するために適用できる。
この実施は、次の4つのステップで構成される。
1.ノイズの多い点群またはメッシュを取得する
2.ローカルの数量またはプロパティを見積もる(例:法線、曲率、表面タイプ)
3.LFSを計算する
4.MRFの最適化
その結果、この実施では、実オブジェクト全体の形状属性の分布を表す値のセットが生成され、これは、入力のノイズによって推定が影響を受けた領域で平滑化され、実オブジェクトの形状の鋭い領域の急激な変化を維持する。
2.ローカルの数量またはプロパティを見積もる(例:法線、曲率、表面タイプ)
3.LFSを計算する
4.MRFの最適化
その結果、この実施では、実オブジェクト全体の形状属性の分布を表す値のセットが生成され、これは、入力のノイズによって推定が影響を受けた領域で平滑化され、実オブジェクトの形状の鋭い領域の急激な変化を維持する。
1.ノイズの多い点群を取得する。
このような入力点群の例を図2に示し、これはノイズの多い点群を示す。
2.ローカルの数量またはプロパティ(形状属性とも呼ばれる)を見積もる。
図3に示されるように、例えば、その点群上の法線点ごとに推定し、ニューラルネットワークによって推論された法線を示す。
3.ローカルフィーチャサイズを計算する。
ローカルフィーチャサイズは、極までの距離を評価することによって概算できる(詳細については、参照により本明細書に組み込まれる、非特許文献8を参照)。図4は、そのような評価の例を示しており、小さい局所特徴サイズ(LFS)値40および高いLFS値42を含む。入力にノイズが多い場合、LFS値が不正確である可能性がある。図5は、非常にノイズの多い点群上のLFSを示す画像を示す。
ノイズの多い入力に対しても内側要素(軸/表面)の生成に焦点を当てたアプローチの長い伝統がある。最新のものの1つは、たとえば、参照により本明細書に組み込まれる、非特許文献7に記載されている。したがって、どういうわけか、この実施は、中間軸要素に対するこれらの正則化メソッドの利点を、メソッドが点群またはメッシュ上で機能する値のフィールドに拡張する。図6に示されるように、画像に見えるLFSを計算するために、この実施は、隣接する平均平面上での投影の2つの反復を使用する。
平滑化された点群は、内側の要素を計算するためにのみ使用され、明らかに、すべての計算は元の点群で実行される。点群ノイズでほとんど消える非常に小さな鋭い特徴の場合、MRF平滑化項がそれらの領域で非常に強くなる可能性もある。非常にノイズの多い点群の場合、この単純な平滑化では不十分であり、非常に縮退した場合、この実施は、参照により本明細書に組み込まれる、非特許文献7のようなアプローチに依存する可能性があり、これは、MRFで使用される局所特徴サイズを計算するために使用される内側要素を取得する。何らかの方法で、この実施の種類は、入力の最良の近似を計算するために中間要素を計算するための正則化アプローチの利点を拡張する。
図6に示すように、結果は使用可能であり、そして平滑化された点群はLFS値の計算にのみ使用される。MRFでの作業は元のノイズの多い点群で引き続き実行される。計算されたLFS値は、鋭い幾何学的特徴が存在する領域においては、平滑項が非常に弱い場合にのみ保証する。
LFS値は、図7に示されるように、最も近いLFS極までの距離を介して概算することができる。これは形状の内側表面と軸の良い近似を形成する(再び、より完全な説明のために、参照により本明細書に組み込まれる、非特許文献8)。それでも、この実施は、点に関連付けられたローカルフィーチャサイズを計算するために使用される方法とは無関係である。
4.MRFの最適化
マルコフ確率場の背後には、グラフのノードが特定のクラス(目標クラス)に属する確率と、そのノードが隣接するクラスとは異なるクラスに属する確率とによってモデル化できる問題があるという考えがあり、エネルギーを最小化することによってモデル化する:
4.MRFの最適化
マルコフ確率場の背後には、グラフのノードが特定のクラス(目標クラス)に属する確率と、そのノードが隣接するクラスとは異なるクラスに属する確率とによってモデル化できる問題があるという考えがあり、エネルギーを最小化することによってモデル化する:
直感的には、形状属性は、形状の滑らかな部分上で非常にスムーズに変化し、鋭い特徴が存在する領域ではより残酷に変化する。この実施は、入力のノイズの多い性質の結果である、実オブジェクトの形状の滑らかな部分の残忍な変化を滑らかにすることを目的としている。マルコフ確率場の背後にある考え方に関する上記の議論から、基本的に特定の点に割り当てられるべき値が現在の推定値に近い可能性が高いという状況であるため、この数学ツールはその目標を達成するのに役立つ可能性があり、鋭い特徴が存在する形状の部分を除いて、隣接する点値に近い可能性がかなりある。
この実施は、特に点群で機能する。メッシュの場合、使用するグラフは、メッシュの頂点によって形成されるグラフか、メッシュの面によって形成されるグラフのいずれかである。点群の場合、グラフは、点をいくつかの隣接点と接続することによって作成される。各点について、接平面が推定され、点の隣接平面がその平面に投影される。次に、投影された点の2Dドロネーは、点とその隣接点の投影をメッシュする縮小フラットメッシュを与える。そのメッシュは、どの隣接に点を接続するかを決定するために使用される。実際、関連するノードは、点群の点に関連付けられたグラフノードに接続されており、これらのノードは、接線の場所で投影に寄与し、最終的には、Delaunayを介して接平面に構築された2Dメッシュの点に接続されている。このメソッドは、(参照により本明細書に組み込まれる非特許文献1)において実行される。
これで、離散表現にグラフ構造が与えられる。図4は、局所的な特徴サイズを示しており、低いLFS値40の領域における強い変動を維持しながら、高いLFS42の領域における値を平滑化することが望ましいように思われる。したがって、pとqの目標クラスが大きく異なる場合でも、青い領域で滑らかさの項が小さいままになるように滑らかさの項を定式化することは興味深い。スカラー値は離散化されており、各離散値は実際、この実装で参照されるクラスの1つである。
滑らかさの項の定式化は次のとおりである。
または、次のようになります。
さらに、複数の入力を使用する場合は、入力が一致する値に、より多くの強度を与える必要がある。この実施で提供される値のセットは、「normal_x、normal_y、normal_z」タイプのスカラーフィールドである。法線は、特定のノードに割り当てることができるさまざまなクラスである他の100(または最大1000)のインデックス付き離散値で離散化される。
1つの入力のみを使用する場合、目標エネルギー項は、次のようになる(2つの場合、上記の式3が実際には以下の式4を置き換える)。
2つの入力の場合の上記の定式化は、法線フィールド「normal_x、normal_y、normal_z」の場合に適用できる。あるいは、法線がどのように類似しているかを推定することが、特定の点または頂点に関連付けられた入力値がどれだけ評価されているかを示す場合、実施はそれを使用して他のスカラー場で作業することができる。代わりに、法線と直接関係のないスカラー場の場合、この実施は2つの入力値を中心とする2つのガウス分布を作成し、2つのガウス分布の乗算の最大値を取る。
geomValueGaussianとgeomTargetは、neuralValueGaussianとneuralTargetも同じ値フィールドに関連しているのと同様に、点群またはメッシュ上で定義された同じ値フィールドに関連する関数である。iは、提供された値のセットの値の範囲をカバーするヒストグラムのバケットインデックスである(ここでも、値は離散化され、各離散値はマルコフ確率場の異なるクラスに同化される)。
図8は、MRFの結果を示す。
この方法はコンピュータで実行される。これは、メソッドのステップ(または実質的にすべてのステップ)が、少なくとも1台のコンピュータまたは任意のシステムによって実行されることを意味する。したがって、方法のステップは、おそらく完全に自動で、または半自動で、コンピュータによって実行される。例えば、方法の少なくともいくつかのステップのトリガーは、ユーザとコンピュータの相互作用を介して実行される。必要なユーザとコンピュータとの相互作用のレベルは、予測される自動化のレベルに依存し、ユーザの希望を実施する必要性とバランスをとることができる。例では、このレベルはユーザ定 義および/または事前定義されている場合がある。
メソッドのコンピュータ実装の典型的な例は、この目的に適合したシステムでメソッドを実行することである。システムは、メモリおよびグラフィカルユーザインターフェース(GUI)に結合されたプロセッサを含み、メモリは、方法を実行するための命令を含むコンピュータプログラムをその上に記録した。メモリはデータベースを格納することもできる。メモリは、そのようなストレージに適合したハードウェアであり、おそらくいくつかの物理的に異なる部分(例えば、プログラム用に1つ、データベース用に1つ)で構成される。
図9は、システムがクライアントコンピュータシステム、例えばユーザのワークステーション、であるシステムの例を示す。
この例のクライアントコンピュータは、内部通信バス1000に接続された中央処理装置(CPU)1010を備える。ランダムアクセスメモリ(RAM)1070もバスに接続されている。クライアントコンピュータはさらに、バスに接続されたビデオランダムアクセスメモリ1100に関連付けられたグラフィックプロセッシングユニット(GPU)1110を備えている。ビデオRAM1100は、当技術分野ではフレームバッファとしても知られている。大容量記憶装置コントローラ1020は、ハードドライブ1030などの大容量記憶装置へのアクセスを管理する。コンピュータプログラム命令および/またはデータを具体的に実施するのに適した大容量記憶装置は、例としてEPROM、EEPROM、およびフラッシュメモリデバイスといった半導体メモリデバイス、内部ハードディスク及びリムーバブルディスクといった磁気ディスク、光磁気ディスク、およびCD−ROMディスク1040を含む、すべての形式の不揮発性メモリを含む。前述のいずれも、特別に設計されたASIC(特定用途向け集積回路)によって補完または組み込まれる場合がある。ネットワークアダプタ1050は、ネットワーク1060へのアクセスを管理する。クライアントコンピュータはまた、カーソル制御デバイス、キーボードなどのような触覚デバイス1090を含む。カーソル制御デバイスは、ユーザがディスプレイ1080の任意の所望の位置にカーソルを選択的に配置することを可能にするために、クライアントコンピュータで使用される。さらに、カーソル制御装置は、ユーザにさまざまなコマンドを選択させ、制御信号を入力させることができる。カーソル制御装置は、システムに制御信号を入力するためのいくつかの信号生成装置を含む。通常、カーソル制御デバイスはマウスであり、マウスのボタンは信号を生成するために使用される。あるいは、またはさらに、クライアントコンピュータシステムは、敏感なパッド、および/または敏感なスクリーンを含む。
コンピュータプログラムは、コンピュータによって実行可能な命令を含み、命令は、上記のシステムに方法を実行させるための手段を含む。プログラムは、システムのメモリを含む任意のデータ記憶媒体に記録可能である。プログラムは、例えば、デジタル電子回路、またはコンピュータハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせで実施することができる。プログラムは、装置、例えば、プログラム可能なプロセッサによって実行するために、機械可読記憶装置に具体的に具体化された製品として実装される。本方法ステップは、入力データに作用して、および出力を生じさせることにより、方法の機能を実行するように、命令のプログラムを実行するプログラム可能なプロセッサによって実行されてよい。したがって、プロセッサは、データ記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、データおよび命令を送信するようにプログラム可能および結合される。アプリケーションプログラムは、高レベルの手続き型プログラミング言語またはオブジェクト指向プログラミング言語で実施することも、必要に応じてアセンブリ言語または機械語で実施することもできる。いずれの場合も、言語はコンパイル済みまたはインタープリター型言語である可能性がある。プログラムは、フルインストールプログラムまたは更新プログラムの場合がある。システムにプログラムを適用すると、いずれの場合もメソッドを実行するための指示が出される。
Claims (15)
- 実オブジェクト上で形状属性の3D信号を処理するためのコンピュータ実施方法であって、
ノードおよび円弧を有するグラフを提供するステップであって、各ノードは、実オブジェクトの測定された3D離散表現のそれぞれの点を表し、各円弧は、前記離散表現の隣接する点を表す2つのノードを接続する、該グラフを提供するステップと、
前記実オブジェクト上の前記形状属性の分布を表す値のセットを提供するステップであって、各値は、前記グラフのそれぞれのノードに関連付けられ、および、前記それぞれのノードによって表される前記それぞれの点での前記形状属性を表す、該値のセットを提供するステップと、
前記グラフ上に形成されたマルコフ確率場で定義されたエネルギーを最小化することによって、前記値のセットを変更するステップであって、前記エネルギーは、第1のノードを第2のノードに接続する各円弧について、前記第1のノードが第1の値に関連付けられ、前記第2のノードが第2の値に関連付けられ、次の、
前記第1の値と前記第2の値との間の距離と、
前記第1のノードによって表される第1の点と、前記離散表現の内側の幾何学的要素との間の距離と、
前記第2のノードによって表される第2の点と、前記内側の幾何学的要素との間の距離と、の増加関数の高さにペナルティを課す、該変更するステップと
を含むことを特徴とするコンピュータ実施方法。 - 前記マルコフ確率場は、前記形状属性の目標分布を表す目標値を有し、前記エネルギーは、前記各ノードについて、前記ノードに関連付けられた値と少なくとも1つの目標値との間の少なくとも1つの距離の別の増加関数の高さにさらにペナルティを課すことを特徴とする請求項1記載のコンピュータ実施方法。
- 前記別の増加関数は、次の、
前記ノードに関連付けられた値と、第1の目標値との間の距離と、
前記ノードに関連付けられた値と、第2の目標値との間の距離と
の増加関数であることを特徴とする請求項2記載のコンピュータ実施方法。 - 前記少なくとも1つの目標値は、前記ノードによって表される前記それぞれの点で幾何学的に計算された前記形状属性の少なくとも1つの値、および/または前記ノードによって表される前記それぞれの点でニューラルネットワークによって推論される前記形状属性の少なくとも1つの値を含むことを特徴とする請求項2または3記載のコンピュータ実施方法。
- 前記別の増加関数もまた、前記少なくとも1つの目標値に含まれる値の間の対応を定量化することを特徴とする請求項2ないし4のいずれか1つに記載のコンピュータ実施方法。
- 前記別の増加関数は、前記対応と前記少なくとも1つの距離との間の積の関数であることを特徴とする請求項5記載のコンピュータ実施方法。
- 前記内側の幾何学的要素は、前記離散表現の内側軸または前記離散表現の内側表面であることを特徴とする請求項1ないし6のいずれか1つに記載のコンピュータ実施方法。
- 前記離散表現は、3D点群であることを特徴とする請求項1ないし7のいずれか1つに記載のコンピュータ実施方法。
- 前記離散表現は、写真測量および/またはスキャンに由来することを特徴とする請求項1ないし8のいずれか1つに記載のコンピュータ実施方法。
- 前記形状属性は、法線、曲率、またはプリミティブのタイプであることを特徴とする請求1ないし9のいずれか1つに記載のコンピュータ実施方法。
- 前記実オブジェクトは、少なくとも1つの鋭い特徴を含むことを特徴とする請求項1ないし10のいずれか1つに記載のコンピュータ実施方法。
- 前記変更された値のセットに基づいて、前記離散表現をセグメント化することをさらに含むことを特徴とする請求項1ないし11のいずれか1つに記載のコンピュータ実施方法。
- 請求項1ないし12のいずれか1つに記載の方法を実行するための命令を含むコンピュータプログラム。
- 請求項13記載のコンピュータプログラムをそれに記録したコンピュータ可読記憶媒体。
- メモリに結合されたプロセッサと、グラフィカルユーザインターフェースとを含み、前記メモリは、その上に請求項13記載のコンピュータプログラムを記録していることを特徴とするシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19306502.6A EP3825956B1 (en) | 2019-11-21 | 2019-11-21 | Processing a 3d signal of a shape attribute over a real object |
EP19306502.6 | 2019-11-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021082297A true JP2021082297A (ja) | 2021-05-27 |
Family
ID=69063661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020194624A Pending JP2021082297A (ja) | 2019-11-21 | 2020-11-24 | 実オブジェクト上での形状属性の3d信号の処理 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11657195B2 (ja) |
EP (1) | EP3825956B1 (ja) |
JP (1) | JP2021082297A (ja) |
CN (1) | CN112825200A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023189166A1 (ja) * | 2022-03-29 | 2023-10-05 | ソニーグループ株式会社 | 情報処理装置、情報処理方法および情報処理システム |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3675063A1 (en) * | 2018-12-29 | 2020-07-01 | Dassault Systèmes | Forming a dataset for inference of solid cad features |
EP3675062A1 (en) | 2018-12-29 | 2020-07-01 | Dassault Systèmes | Learning a neural network for inference of solid cad features |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6850233B2 (en) * | 2002-05-01 | 2005-02-01 | Microsoft Corporation | Systems and methods for optimizing geometric stretch of a parametrization scheme |
US8675951B2 (en) * | 2007-05-11 | 2014-03-18 | Three Pixels Wide Pty Ltd. | Method and system for generating a 3D model |
KR100969764B1 (ko) * | 2008-02-13 | 2010-07-13 | 삼성전자주식회사 | 메쉬 모델로 구현된 3차원 데이터의 부호화 및 복호화 방법 |
EP2400410B1 (en) * | 2010-05-25 | 2014-01-08 | Dassault Systèmes | Computing of a resulting closed triangulated polyhedral surface from a first and a second modeled object |
EP3032495B1 (en) * | 2014-12-10 | 2019-11-13 | Dassault Systèmes | Texturing a 3d modeled object |
EP3188033B1 (en) * | 2015-12-31 | 2024-02-14 | Dassault Systèmes | Reconstructing a 3d modeled object |
US10424064B2 (en) * | 2016-10-18 | 2019-09-24 | Adobe Inc. | Instance-level semantic segmentation system |
CN108805261B (zh) * | 2017-04-28 | 2021-11-12 | 微软技术许可有限责任公司 | 基于八叉树的卷积神经网络 |
US10403031B2 (en) * | 2017-11-15 | 2019-09-03 | Google Llc | Learning to reconstruct 3D shapes by rendering many 3D views |
EP3675059B1 (en) * | 2018-12-29 | 2022-09-14 | Dassault Systèmes | Extracting a feature tree from a mesh |
-
2019
- 2019-11-21 EP EP19306502.6A patent/EP3825956B1/en active Active
-
2020
- 2020-11-20 CN CN202011316715.XA patent/CN112825200A/zh active Pending
- 2020-11-23 US US17/102,254 patent/US11657195B2/en active Active
- 2020-11-24 JP JP2020194624A patent/JP2021082297A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023189166A1 (ja) * | 2022-03-29 | 2023-10-05 | ソニーグループ株式会社 | 情報処理装置、情報処理方法および情報処理システム |
Also Published As
Publication number | Publication date |
---|---|
US11657195B2 (en) | 2023-05-23 |
CN112825200A (zh) | 2021-05-21 |
EP3825956B1 (en) | 2022-06-22 |
EP3825956A1 (en) | 2021-05-26 |
US20210157961A1 (en) | 2021-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6659336B2 (ja) | 3dモデル化オブジェクトのテクスチャリング | |
JP7491685B2 (ja) | ニューラルネットワークのセット | |
US11100710B2 (en) | Extracting a feature tree from a mesh | |
JP2021082297A (ja) | 実オブジェクト上での形状属性の3d信号の処理 | |
JP7049807B2 (ja) | パラメトリックビュー関数に基づくデータベースの照会 | |
CN111815774A (zh) | 真实场景的结构的3d重建 | |
CN107818196B (zh) | 机械部件的骨架的表示 | |
JP2021120853A (ja) | 平滑マップによる3d再構成 | |
CN115374546A (zh) | Cad模型参数化 | |
JP2022075560A (ja) | 開表面を用いた現実のシーンの構造の3d再構成 | |
US20220261512A1 (en) | Segmenting a 3d modeled object representing a mechanical part | |
JP7505880B2 (ja) | 生メッシュからの構造化3dモデルの生成 | |
JP7256005B2 (ja) | 実オブジェクトのスキンを表すファセットの集合の決定 | |
Hong et al. | Surface reconstruction of 3D objects using local moving least squares and KD trees | |
Taime et al. | A new semantic segmentation approach of 3D mesh using the stereoscopic image colors | |
JP2023160791A (ja) | 画像からの3d再構成 | |
JP2022140339A (ja) | 3dセグメンテーションのための機械学習 | |
JP2024013228A (ja) | ビルディングシーンのセグメント化 | |
JP2024003783A (ja) | Cadフィーチャーツリー生成 | |
JP2020109660A (ja) | 編集可能なフィーチャツリーの推測のためのデータ集合を形成すること |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231107 |