JP2022125003A - 機械部品を表す3dモデル化オブジェクトのセグメント化 - Google Patents

機械部品を表す3dモデル化オブジェクトのセグメント化 Download PDF

Info

Publication number
JP2022125003A
JP2022125003A JP2021209552A JP2021209552A JP2022125003A JP 2022125003 A JP2022125003 A JP 2022125003A JP 2021209552 A JP2021209552 A JP 2021209552A JP 2021209552 A JP2021209552 A JP 2021209552A JP 2022125003 A JP2022125003 A JP 2022125003A
Authority
JP
Japan
Prior art keywords
segmentation
modeled object
distance
merging
curvature
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
Application number
JP2021209552A
Other languages
English (en)
Inventor
メア エロイ
Mehr Eloi
ジャーダン アリアドネ
Jourdan Ariane
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dassault Systemes SE
Original Assignee
Dassault Systemes SE
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dassault Systemes SE filed Critical Dassault Systemes SE
Publication of JP2022125003A publication Critical patent/JP2022125003A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/187Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/17Mechanical parametric or variational design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/162Segmentation; Edge detection involving graph-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2008Assembling, disassembling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Architecture (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

【課題】機械部品を表す3Dモデル化オブジェクトをセグメント化するための、コンピュータによって実施される方法を提供する。【解決手段】方法は、Dモデル化オブジェクトを提供し、3Dモデル化オブジェクトの階層的セグメント化を実行する。階層的セグメント化は、第1のセグメント化及び第2のセグメント化を含む。第1のセグメント化は、当該3Dオブジェクトの複数の表面から、それぞれが当該3Dモデル化オブジェクトの単純な幾何学的表面に対応する第1のセグメントを識別する。単純な幾何学的表面は、少なくとも1つの滑動可能な動きを示すプリミティブである。第2のセグメント化は、当該3Dモデル化オブジェクトの複数の識別されていない表面から、当該3Dモデル化オブジェクトの自由曲面にそれぞれ対応する第2のセグメントを識別する。【選択図】図1

Description

本開示は、コンピュータプログラムおよびシステムの分野に関し、より具体的には、機械部品を表す3Dモデル化オブジェクトをセグメント化するための方法、システム、およびプログラムに関する。
オブジェクトの設計、エンジニアリングおよび製造のために、多くのシステムおよびプログラムが市場に提供されている。CADは、コンピュータ支援設計(Computer-Aided Design)の略語であり、例えば、オブジェクトを設計するためのソフトウェアソリューションに関する。CAEは、コンピュータ支援エンジニアリング(Computer-Aided Engineering)の略語であり、例えば、将来の製品の物理的挙動をシミュレートするためのソフトウェアソリューションに関する。CAMは、コンピュータ支援製造(Computer-Aided Manufacturing)の略語であり、例えば、製造プロセスおよび動作を定義するためのソフトウェアソリューションに関する。このようなコンピュータ支援設計システムでは、グラフィカルユーザインタフェースは、技術の効率に関して重要な役割を果たす。これらの技術は、製品ライフサイクル管理(Product Lifecycle Management:PLM)システムに組み込むことができる。PLMとは、企業が、拡張エンタープライズの概念全体にわたって、製品データを共有し、共通の工程を適用し、構想に始まり製品寿命の終わりに至る製品開発のための企業知識を活用するのを支援するビジネス戦略を指す。ダッソー・システムズが提供するPLMソリューション(製品名CATIA、ENOVIA、DELMIA)は、製品エンジニアリング知識をオーガナイズするエンジニアリング・ハブ、製品エンジニアリング知識を管理する製造ハブ、およびエンジニアリング・ハブと製造ハブの両方に対するエンタープライズ統合と接続を可能にするエンタープライズ・ハブを提供する。全体として、システムは、製品、工程、リソースを結ぶオープンなオブジェクトモデルを提供し、最適化された製品定義、製造準備、生産およびサービスを推進する、動的な知識ベースの製品作成および意思決定支援を可能にする。
このコンテキストおよび他のコンテキストでは、単に「3Dセグメント化(3Dセグメンテーション)」または「セグメント化(セグメンテーション)」と呼ばれることもある、3Dモデル化オブジェクトをセグメント化することが、広く重要になってきている。
3Dモデル化オブジェクト(例えばメッシュ)が与えられると、3Dセグメンテーションは、一般に、3Dモデル化オブジェクトの幾何学的要素(例えば、面、例えば、それにより場合によっては、頂点またはエッジなどの他の要素)をセグメントと呼ばれるいくつかの接続されたクラスタに分割/区分することからなり、各セグメントは、その内部一貫性を最大にする一方で、他のセグメントに対する類似性を最小限にする。セグメント化プロセスの結果は、各セグメントが他のセグメントに関して明確な境界を有する、意味的に一貫した集合を表すように、面をいくつかの集合(セグメント)に分割することをもたらす。
セグメント化は、形状抽象化プロセスにおいて使用され得、ここで、その3Dジオメトリおよび/または特徴は、例えば、参考文献“Kaiser A.et.al.、A survey of Simple Geometric Primitives Detection Methods for Captured 3D data、Computer Graphics Forum、2018.”において議論されるように、キャプチャされた3Dデータから検索される。セグメント化はまた、例えば参考文献“Wu. Q.et.al.、Constructing 3D CSG Models from 3D Raw Point Clouds、Computer Graphics Forum、2018”および“Shapiro V.et.al.、Separation for Boundary to CSG Conversion、ACM Transactions on Graphics、Vol.12、No.1、1993年1月、35~55ページ”において議論されるように、例えば3D生データから、CSG(Constructive Solid Geometory)モデル(例えばCSGツリー)を構築するために使用され得る。これらの2つの参考文献は、とくにRANSACベースのアプローチを使用して、特徴ツリーが構築される、特徴の初期プールを検出する。
これに関連して、機械部品を表す3Dモデル化オブジェクトをセグメント化するための改善された方法が依然として必要とされている。
したがって、3Dモデル化オブジェクトをセグメント化するための、コンピュータによって実施される方法が提供される。当該3Dモデル化オブジェクトは、機械部品を表す。本方法は、当該3Dモデル化オブジェクトを提供することを含む。本方法は、当該3Dモデル化オブジェクトの階層的セグメント化を実行することをさらに含む。当該階層的セグメント化は、第1のセグメント化を含む。当該第1のセグメント化は、当該3Dオブジェクトの複数の表面から、それぞれが当該3Dモデル化オブジェクトの単純な幾何学的表面に対応する第1のセグメントを識別することを含む。単純な幾何学的表面は、少なくとも1つの滑動可能な動きを示すプリミティブである。次いで、当該階層的セグメント化は、第2のセグメント化を含む。当該第2のセグメント化は、当該3Dモデル化オブジェクトの複数の識別されていない表面から、当該3Dモデル化オブジェクトの自由曲面にそれぞれ対応する第2のセグメントを識別することを含む。
本方法は、以下の1つまたは複数を含み得る。
当該第1のセグメント化において、当該識別は、単純な幾何学的表面部分の間の形状類似性を定量化する1つまたは複数の第1の距離に基づく、距離の昇順に従って、当該3Dモデル化オブジェクトの隣接する表面を探索および併合することを含み、
当該第2のセグメント化において、当該識別は、自由曲面部分の間の形状類似性を定量化する1つまたは複数の第2の距離に基づく、距離の昇順に従って、当該3Dモデル化オブジェクトの隣接する識別されていない表面を探索および併合することを含む。
当該第1のセグメント化は、当該併合から得られた各表面について、表面サイズの降順に従って、
当該表面に標準プリミティブを適合させることと、
適合誤差を算出することと、
当該適合誤差が所定の適合閾値よりも低い場合、当該適合誤差が当該所定の適合閾値よりも同様に低い隣接面を当該表面に集約し、
当該適合誤差が当該所定の適合閾値よりも大きい場合、当該表面を破棄することと、を含む。
当該第1のセグメント化は、自由曲面の局所的な標準領域に適合する各プリミティブを破棄することによって、当該適合された標準プリミティブをフィルタリングすることをさらに含み、
当該フィルタリングは、あらかじめ定義されたサイズ閾値よりも小さいサイズを有する適合されたプリミティブを破棄することをさらに含み、
当該1つまたは複数の第1の距離は、表面間の平均曲率不一致にペナルティを課す重心曲率距離、表面間の境界周辺の曲率平滑度に報酬を与える境界曲率平滑度距離、および/または表面間の平均法線方向の不一致にペナルティを科す重心法線距離、のうちの1つまたは複数を有し、
当該第1セグメント化における当該探索および併合は、当該1つまたは複数の第1の距離に含まれる各距離に対して実行され、
当該1つまたは複数の第1の距離は、当該重心曲率距離と、当該境界曲率平滑距離と、当該重心法線距離と、を含み、
当該重心曲率距離は、
Figure 2022125003000002

のタイプであり、
Figure 2022125003000003

および
Figure 2022125003000004

は隣接する表面を表し、
Figure 2022125003000005

は、表面
Figure 2022125003000006

の平均最小曲率または平均最大曲率を表し、
当該境界曲率平滑距離は、
Figure 2022125003000007

のタイプであり、
Figure 2022125003000008

および
Figure 2022125003000009

は隣接する表面を表し、
Figure 2022125003000010


Figure 2022125003000011

および
Figure 2022125003000012

にそれぞれ属する、隣接する表面の部分の対を表し、
Figure 2022125003000013


Figure 2022125003000014

の最小または最大曲率であり、
Figure 2022125003000015

はセグメント
Figure 2022125003000016

への値のクランピングを表し、
Figure 2022125003000017

および
Figure 2022125003000018

は規制値であり、
当該重心法線距離は、
Figure 2022125003000019

のタイプであり、
Figure 2022125003000020

および
Figure 2022125003000021

は隣接する表面を表し、
Figure 2022125003000022


Figure 2022125003000023

の平均法線を表す。
当該1つまたは複数の第2の距離は、表面間の平均曲率不一致にペナルティを科す、かつ/あるいは併合された表面の不規則性にペナルティを科す1つの第2の距離からなり、
当該1つの第2の距離は、
Figure 2022125003000024

のタイプであり、
Figure 2022125003000025

および
Figure 2022125003000026

は隣接する表面を表し、
Figure 2022125003000027


Figure 2022125003000028

の平均最大曲率を表し、また
Figure 2022125003000029

であり、
Figure 2022125003000030


Figure 2022125003000031

の周囲長を表し、
Figure 2022125003000032


Figure 2022125003000033

の面積を表し、
Figure 2022125003000034


Figure 2022125003000035

へのクランピングを表し、
Figure 2022125003000036

は、
Figure 2022125003000037

ではない、集合
Figure 2022125003000038

の要素であるノードを表し、
Figure 2022125003000039

は小さい表面の低減された影響を定義するハイパーパラメータを表す。
当該第1のセグメント化および/または当該第2のセグメント化において、当該探索および併合は、当該3Dモデル化オブジェクトの部分間の既知の幾何学的な区切りに対応する境界によって接続された表面を併合することができないという制約に基づき、
当該第1のセグメント化において、当該識別は、各々が、第1の距離のそれぞれに対して、当該探索および併合することを1回または複数回実行することを含み、各実行することは、2つの表面の間の第1の距離のそれぞれが、当該第1の距離のそれぞれに関連付けられた所定の許容閾値よりも小さい場合に、当該2つの表面が併合されるという基準に基づき、かつ/あるいは、
当該第2のセグメント化において、当該識別は、各々が、第2の距離のそれぞれに対して、当該探索および併合することを1回または複数回実行することを含み、各実行することは、第2のセグメントの数に関する基準に基づくか、あるいは2つの表面間の第2の距離のそれぞれが、当該第2の距離のそれぞれに関連づけられた、あらかじめ定義された許容閾値よりも小さい場合に、当該2つの表面が併合されるという基準に基づく。
本方法を実行するための命令を含むコンピュータプログラムがさらに提供される。
当該コンピュータプログラムが記録されたコンピュータ可読データ記憶媒体がさらに提供される。
当該コンピュータプログラムが記憶されたメモリに結合されたプロセッサを備えるコンピュータがさらに提供される。
非限定的な実施例を、添付の図面を参照して説明する。
本方法の一例のフローチャートを示す。 第1のセグメント化の一例のフローチャートを示す。 本方法を示す。 本方法を示す。 本方法を示す。 本方法を示す。 本方法を示す。 本方法を示す。 本方法を示す。 本方法を示す。 本方法を示す。 本方法を示す。 本方法を示す。 本方法を示す。 本方法を示す。 本方法を示す。 本方法を示す。 本方法を示す。 本方法を示す。 本方法を示す。 本システムの一例を示す。
図1のフローチャートを参照して、3Dモデル化オブジェクトをセグメント化するためにコンピュータによって実施される方法が提案される。当該3Dモデル化オブジェクトは、機械部品を表す。本方法は、当該3Dモデル化オブジェクトを提供すること(S10)を含む。本方法は、当該3Dモデル化オブジェクトの階層的セグメント化を実行することをさらに含む。当該階層的セグメント化は、第1のセグメント化(S20)を含む。第1のセグメント化(S20)は、当該3Dオブジェクトの複数の表面から、それぞれが当該3Dモデル化オブジェクトの単純な幾何学的表面に対応する第1のセグメントを識別することを含む。単純な幾何学的表面は、少なくとも1つの滑動可能な動きを示すプリミティブである。次いで、当該階層的セグメント化は、第2のセグメント化(S30)を含む。第2のセグメント化(S30)は、当該3Dモデル化オブジェクトの複数の識別されていない表面から、当該3Dモデル化オブジェクトの自由曲面にそれぞれ対応する第2のセグメントを識別することを含む。
これにより、機械部品を表す3Dモデル化オブジェクトをセグメント化するための改善された方法が構成される。
特に、本方法は、単純な幾何学的表面に対応するセグメント(すなわち、第1のセグメント)と自由曲面に対応するセグメント(すなわち、第2のセグメント)の両方を識別することによって、3Dモデル化オブジェクトをセグメント化する、すなわち、それぞれが当該3Dモデル化オブジェクトの一部分に対応するセグメントの集合を提供する。それにより、本方法は、当該3Dモデル化オブジェクトの堅牢で正確なセグメンテーションを提供する。実際に本方法は、単純な幾何学的表面に対応するセグメントを識別するだけではなく、複雑で識別が難しいセグメントであり得る、自由曲面に対応するセグメントも識別する(すなわち、幾何学的プリミティブまたは特徴をこれらのセグメントに適合させることは、それらの自由曲面の幾何学的形状に起因して複雑である)。したがって、全体的なセグメンテーション(すなわち、結果として得られる第1および第2のセグメントの集合)は、特に正確である。
さらに、本方法は、当該セグメント化の効率および堅牢性を向上させる2段階の階層的セグメント化を提供する。実際、本方法は、最初に、単純な幾何学的プリミティブに対応するセグメントを識別する第1のセグメント化を実行する。それにより、本方法は、最初に、自由曲面ではなく単純な幾何学的プリミティブが当該3Dモデル化オブジェクト内で効率的に識別され得るという考察に効率的に依拠し、したがって、本方法は、第1のセグメント化(S20)を通じて幾何学的プリミティブを識別する。したがって、第1セグメント化(S20)の終わりには、本方法では、単純な幾何学的表面に対応するセグメントがすでに識別されている当該3Dモデル化オブジェクトについて、部分的なセグメント化が既にもたらされている。これにより、自由曲面に対応するセグメントを識別することが残るが、この方法では、第2のセグメント化(S30)を通じてこれを行う。言い換えると、自由曲面に対応するセグメントに関して言えば、その幾何学的形状に起因して識別するのに最も複雑なセグメントであり、当該3Dモデル化オブジェクトの残りの部分が、既に識別された第1のセグメントで構成されているので、本方法では、当該3Dモデル化オブジェクトの一部のみにおいて自由曲面に対応するセグメントを識別する。したがって、2セグメント化手法(two-segmentation approach)により、効率化および堅牢性が与えられる。
本方法は、機械部品を表す3Dモデル化オブジェクトをセグメント化するためのものである。したがって、本方法は、3Dセグメント化の方法である。先に説明したように、3Dモデル化オブジェクト(例えばメッシュ)が与えられると、3Dセグメント化は、一般に、当該3Dモデル化オブジェクトの面を、セグメントと呼ばれるいくつかの接続されたクラスタに分割/区分することに在り、各セグメントは、その内部一貫性を最大にする一方で、他のセグメントに対する類似性を最小限にする。ここで、クラスタ/セグメントはセグメント化の結果であり、「セグメント化」と呼ばれ得る。
本方法では、この一般的なセグメント化フレームワークが実施される。具体的には、本方法では、S10で提供された3Dモデル化オブジェクトを入力として受け取り、セグメントの集合を出力する。セグメントの集合は、(すなわち、当該3Dモデル化オブジェクトの)「本方法によって出力/生成されたセグメンテーション」、または単に「セグメント化」と呼ばれ得る。本方法の場合においては、セグメントの集合は、第1のセグメント化(S20)によって識別される第1のセグメントと、第2のセグメント化(S30)によって識別される第2のセグメントからなる。セグメントの集合は、任意選択として、出力セグメンテーションとして本方法によって出力される前に、後処理されてもよい。一般的なセグメント化フレームワークが実施されるが、本方法は、階層的セグメント化であり、本方法で実施される全体的なセグメント化が、第1のセグメント化(S20)および第2のセグメント化(S30)を含むという特徴を有する。換言すれば、本方法が出力するセグメントの集合は、前述のような2ステップの階層的セグメント化によって、すなわち、特定の順番(すなわち、第2のセグメント化(S30)の前の第1のセグメント化(S20))で実行される2つのセグメント化(すなわち、第1のセグメント化(S20)および第2のセグメント化(S30))によって識別される。
本方法によって識別される各セグメントは、第1のセグメントであれ第2のセグメントであれ、当該3Dモデル化オブジェクトの形状の幾何学的にコヒーレントな部分を形成する表面を構成する当該3Dモデル化オブジェクトの一部である。本方法によって識別される各セグメントは、その内部の一貫性を最大化する一方で、他のセグメントに対する類似性を最小化する傾向があり、他のセグメントに対する明確な境界を有する。例えば、各セグメントは、例えば単一のCADにおける特徴(例えばCATIAにおける特徴)によって表現(例えば適合化、および/またはパラメータ化)することができる当該3Dモデル化オブジェクトの基本表面を形成することができる。
各セグメントは、機械部品の製造の観点から幾何学的にコヒーレントな表面を形成することができる。換言すれば、機械部品は、現実世界において、部分に分割されてもよく、各部分は、それぞれの製造プロセス(例えば、成形、追加的な製造、または機械加工)を必要とするか、またはそれに適合したそれぞれの幾何学的形状を有し、各部分は、本方法によって出力されるセグメンテーションにおいて1つまたは複数のセグメントによって表される。さらに別の言い方をすれば、本方法によって出力されるセグメントの集合は、1つまたは複数のセグメントのそれぞれの部分集合で構成することができ、各々の部分集合について、部分集合の1つまたは複数のセグメントは、全体として、製造の観点から一貫した、すなわち特定の(場合によっては、いくつかの適切な製造プロセスから選択される)製造プロセスを必要とするまたはそれに適合した機械部品の一部分の表面形状(すなわち、材料のレイアウト)を表す。例えば、1つまたは複数のそのような部分集合はそれぞれ、機械加工によって製造される機械部品のそれぞれの部分を表すことができ、機械加工ツールの経路となるように適合された形状(すなわち、幾何学的形状)を有する。追加的または代替的に、1つまたは複数の他の部分集合はそれぞれ、成形によって製造される機械部品のそれぞれの部分を表すことができ、成形型のコヒーレント部分の形状(すなわち、幾何学的形状)に対応する形状(すなわち、当該幾何学的形状)を有する。成形型は、それ自体が機械加工によって製造されてもよく、そのような各部分は、機械加工工具の経路となるように適合された形状(すなわち、幾何学的形状)を呈してもよい。追加的または代替的に、1つまたは複数の他の部分集合はそれぞれ、追加的な製造によって製造され、そして、その追加的な製造プロセスによって形成される最終外層の形状(すなわち、幾何学的形状)に対応する形状(すなわち、当該幾何学的形状)を有する機械部品のそれぞれの部分を表すことができる。したがって、本方法では、製造に関して、コヒーレントな機械部品の部分を識別することを可能となる。
製造CADの分野において広く知られているように、本方法によって出力されるセグメンテーションなどのセグメンテーションは、いくつかのステップでセグメント化を必要とする様々なアプリケーションまたはプロセスで使用することができる。本方法による3Dモデル化オブジェクトのセグメント化は、当該3Dモデル化オブジェクトの外面の改善された表現を提供し、多くのアプリケーションで使用することができる。さらに、セグメントはパラメータ化されてもよく、したがって、セグメント化に加えて、CADツールを用いて編集可能にされてもよく、これにより、これらのセグメントを操作(例えば、編集)することが可能になり、これはまた、多くのアプリケーションにおいて有用であり得る。「パラメータ化される」とは、各セグメントが、パラメトリック方程式またはパラメトリック関数によって表される正確に1つの3D幾何学的オブジェクトに適合され得ることを意味し、したがって、1つまたは複数のパラメータを含み、当該1つまたは複数のパラメータは、それぞれの連続範囲内の値をそれぞれ取り得る。3Dパラメータ化された幾何学的オブジェクトは、離散表現(例えば、点群、メッシュ、デクセル表現)などのパラメータ化されていない3D幾何学的オブジェクトとは対照的に、容易な操作および/または編集可能性および/またはメモリへの効率的な記憶を可能にする。例えば、第1のセグメントは、標準プリミティブ(例えば、平面、球または円柱)で適合されてもよく、第2のセグメントは、他の適合された幾何学的ツール、例えば、NURBUSまたは押出表面などの自由形式パラメータ化表面でパラメータ化されてもよい。なお、本方法は、階層的セグメント化中に、プリミティブを3Dモデル化オブジェクトの少なくともいくつかの表面(例えば、単純な幾何学的表面)に既に適合させることができ、そのような場合、少なくともいくつかのセグメントは、プリミティブに適合され、したがって(本方法の出力として直接的に)編集可能であり得る。以下に説明されるものを含む、本方法の任意のアプリケーションにおいて、3Dモデル化オブジェクトは、測定された3Dモデル化オブジェクトであってもよく、したがって、本方法は、セグメント化を行うことによって、当該測定された3Dモデル化オブジェクトを処理し、(いったんセグメント化された)当該測定された3Dモデル化オブジェクトを最終的に編集することを可能にする。したがって、本方法は、一般に、測定された3Dモデル化オブジェクトをセグメント化し、次いで当該測定された3Dモデル化オブジェクトを編集可能なデータ構造に処理するために使用することができる。
本方法の第1の適用例では、本方法によって得られたセグメンテーションをB-repの構築に用いることができる。セグメントを使用するB-repの構築は、参考文献“P.Benko et.al.、Algorithm for revulerse engineering boundary representation models、Computer-Aided Design 33(2001)、839-851”、“A.Tumanin、Polygonal Mesh to B-Rep Solid Conversion:Algorithm Details and C++ Code Samples、posted on September 4、2019 on the Habr.com website”、および“Beniere et.al.、Recovering Primitives in 3D CAD meshes、Proceedings of SPIE、2011”に論じられており、これらは全て参照により本明細書に組み込まれる。本方法の第1の適用例では、本方法によって出力された3Dモデル化オブジェクトのセグメンテーションを使用して、当該3Dモデル化オブジェクトを境界表現(すなわち、広く知られているように、例えばSTEPファイルフォーマットの下で接続された境界面要素の集まりであるB-rep)に変換することを含む。当該変換は、複数の表面をセグメントのそれぞれの上に適合させることを含むことができ、セグメンテーションに関するデータ(例えば、以下で論じられる実施におけるセグメンテーショングラフのエッジ)を使用して、当該複数の表面を境界付ける(すなわち、B-repのトポロジカルなデータを決定する、すなわち、当該複数の表面間の関係「によって表面が境界付けられる」)。したがって、本方法は、機械部品を表す3Dモデル化オブジェクトをB-repに変換するための、コンピュータによって実施されるプロセスに含めることができ、当該プロセスは、
当該3Dモデル化オブジェクトに対して本方法を実行することによって当該3Dモデル化オブジェクトのセグメンテーションを提供することであって、本方法に従って当該3Dモデル化オブジェクトのセグメンテーションを出力することと、
そのような変換に適した任意の既知の方法に従って、複数の表面を当該セグメンテーションのセグメントのそれぞれの上に適合させ、当該セグメンテーションに基づいて当該複数の表面を境界付けることによって、当該3Dモデル化オブジェクトをB-repに変換することと、を含む。
本方法の第2の適用例では、本方法によって得られるセグメンテーションが、特徴ツリーの構築に使用される。セグメントに基づく、(例えば、プリミティブをセグメントに適合させることによる)特徴ツリーの構築は、参考文献“T. Du et.al.、InverseCSG: Automatic Conversion of 3D Models to CSG Trees、ACM SIGGRAPH ASIA 2018”、“Wu.Q.et.al.、Constructing 3D CSG Models from 3D Raw Point Clouds、Computer Graphics Forum、2018”、および“Shapiro V.et.al.、Separation for Boundary to CSG Conversion、ACM Transactions on Graphics、Vol.12、No.1、1993年1月、35~55ページ”に論じられており、これらは全て参照により本明細書に組み込まれる。本方法の第2の適用例は、本方法によって出力された3Dモデル化オブジェクトのセグメンテーションを使用して、当該3Dモデル化オブジェクトの特徴ツリー表現を構築することを含む。当該構築は、まず、本方法によって出力されたセグメンテーションを使用し、プリミティブを各セグメントに適合させて、「特徴リスト」とも呼ばれるCADの特徴のプールを構築することを含み、このプールから特徴ツリーが構築される。RANSACベースの手法を使用する既知の構成と比較して、本方法によって出力されたセグメンテーションを使用し、プリミティブを各セグメントに適合させて特徴のプール/リストを構築することは、より堅牢であり、より良好にスケーリングし、すべてのプリミティブを見つけることを確実にする。したがって、当該方法は、機械部品を表す3Dモデル化オブジェクトから特徴ツリーを構築するためのコンピュータによって実施されるプロセスに含めることができ、当該プロセスは、
当該3Dモデル化オブジェクトに対して本方法を実行することによって当該3Dモデル化オブジェクトのセグメント化を提供することであって、本方法に従って当該3Dモデル化オブジェクトのセグメンテーションを出力する、提供することと、
任意の既知の方法に従って、複数の表面を当該セグメント化のセグメントのそれぞれに適合させることによって、CAD特徴のプール(すなわち、特徴リスト)を構築することと、
任意の既知の方法に従って、当該適合された複数の表面から当該特徴ツリーを構築することと、を含む。
本方法の第3の適用例では、本方法によって得られたセグメンテーションは、(提供された3Dモデル化オブジェクトが3Dメッシュである場合には)再メッシュ化、または(提供された3Dモデル化オブジェクトが3D点群である場合には)再サンプリングに使用される。本方法によって出力されるセグメンテーションは、単純な幾何プリミティブに対応し、したがって、標準プリミティブによってパラメータ化され得る第1のセグメントと、自由曲面に対応し、したがって、NURBSによってパラメータ化され得る第2のセグメントとを含み、各セグメントの表面定義を使用することによって、3Dモデル化オブジェクトの再メッシュ化(提供された3Dモデル化オブジェクトが3Dメッシュである場合)、または再サンプリング(提供された3Dモデル化オブジェクトが3D点群である場合)を可能にする。この再メッシュ化/再サンプリングは、3Dモデル化オブジェクトからノイズを除去する(例えば、特に3D点群について外れ値点を除去する、または特に3Dメッシュについて3Dモデル化オブジェクトの外面を平滑化する)ために使用されてもよい。追加的にまたは代替的に、再メッシュ化/再サンプリングは、3Dメッシュを効率的にテッセレーションするために使用され得、すなわち、面の数を最小限に抑えるために、メッシュの面のサイズを対応する表面の曲率に適応させ、それによって、正確な表面までの最大離散化距離を保証しながら、メッシュの重みを(すなわち、記憶することに関して)最適化する。したがって、本方法は、機械部品を表す3Dメッシュ(または3D点群)である3Dモデル化オブジェクトを再メッシュ化(または再サンプリング)するための、コンピュータによって実施されるプロセスに含めることができ、当該プロセスは、
当該3Dモデル化オブジェクトに対して本方法を実行することによって当該3Dモデル化オブジェクトのセグメント化を提供することであって、当該方法に従って当該3Dモデル化オブジェクトのセグメンテーションを出力する、提供することと、
当該セグメンテーション内の第1のセグメントをそれぞれ標準プリミティブでパラメータ化し、当該セグメンテーション内の第2のセグメントをNURBSでパラメータ化し、それによって、当該セグメンテーション内のすべてのセグメントについて表面定義を生成することと、
任意の既知の適切な方法に従って、当該3Dメッシュ(または当該3D点群)を再メッシュ化(または再サンプリング)するために各セグメントの表面定義を用いることと、を含み、
任意選択的に、
当該再メッシュ化(または、当該再サンプリング)を用いて、当該3Dメッシュ(または、当該3D点群)のノイズを除去すること、および/または、
正確な表面までの最大離散化距離を確保しながら、メッシュの重みを(記憶することに関して)最適化するために、メッシュの面のサイズを対応する表面の曲率に適応させることによって、3Dメッシュをより効率的にテッセレーションすることのうちの1つまたは複数を含む。
本方法の第4の適用例では、本方法によって得られたセグメンテーションは、3Dモデル化オブジェクトにおける異常(例えば製造上の異常)を検出するために使用される。この適用例では、機械部品が有するべき特性の利用可能な知識を、本方法によって出力されたセグメンテーションのセグメントと比較し、それによって機械部品の欠陥または異常についての情報をもたらすことを含むことができる。例えば、利用可能な知識には、「機械部品の立方体部分は6つの大きな平面を有するべきである」あるいは「通常の機械部品は小さな面部分を有するべきではない」などの情報を含めることができる。立方体を表す3Dモデル化オブジェクト部分が7つの面にセグメント化されている場合、またはいくつかのセグメントがフォーム面を表す場合、本適用例は、機械部品が異常(すなわち、製造上の異常)を特徴付けるように、当該3Dモデル化オブジェクトが異常を特徴付けることを推測することを含み得る。
本方法によって出力されるセグメンテーションは、3D形状セグメンテーションの他のアプリケーション、例えば3D変形、3Dレンダリング(幾何学的/材料属性算出、オクルージョンカリング、シャドウの決定)、3Dアニメーション、および/または形状圧縮において使用されてもよい。これらのアプリケーションは、先に引用した参考文献である“Kaiser A. et. al.、A survey of Simple Geometric Primitives Detection Methods for Captured 3D data、 Computer Graphics Forum、2018”において論じられており、これは参照により本明細書組み込まれる。
さらに図1のフローチャートを参照して、3Dモデル化オブジェクトを提供すること(S10)について説明する。3Dモデル化オブジェクトを提供すること(S10)について説明する前に、そこに含まれるデータ構造について説明する。
本方法は、3Dモデル化オブジェクトをセグメント化するためのものであり、したがって、この方法では一般に、モデル化オブジェクトが操作される。モデル化オブジェクトは、例えば、データベースに格納されたデータによって定義される任意のオブジェクトである。広い意味では、「モデル化オブジェクト」という表現は、データ自体を示す。システムのタイプに従って、モデル化オブジェクトは、異なる種類のデータによって定義されてもよい。システムは、実際には、CADシステム、CAEシステム、CAMシステム、PDMシステム、および/またはPLMシステムの任意の組み合わせであってもよい。これらの異なるシステムでは、モデル化オブジェクトは対応するデータによって定義される。したがって、CADオブジェクト、PLMオブジェクト、PDMオブジェクト、CAEオブジェクト、CAMオブジェクト、CADデータ、PLMデータ、PDMデータ、CAMデータ、CAEデータと呼ぶことができる。しかしながら、モデル化オブジェクトは、これらのシステムの任意の組み合わせに対応するデータによって定義されてもよいので、これらのシステムは、互いに排他的ではない。
3Dモデル化オブジェクトは、機械部品を表す。「3Dモデル化オブジェクト」とは、その3D表現を可能にするデータによってモデル化される任意のオブジェクトを意味する。3D表現により、全ての視点から(例えば、様々な角度、および/または距離から)部品を見ることが可能となる。例えば、3Dモデル化オブジェクトは、3D表現されると、その軸のいずれかを中心に、または3D表現が表示されるスクリーン内の任意の軸を中心に、操作および回転され得る。これにより、特に、3Dモデル化されていない2Dアイコンが除外される。3D表現の表示は、設計を容易にする(すなわち、設計者がタスクを統計的に達成する速度を増加させる)。これにより、製品の設計が製造プロセスの一部であるので、産業における製造プロセスが加速される。
3Dモデル化オブジェクトは、例えばCADソフトウェアソリューションまたはCADシステムを用いた仮想設計の完了後に、現実世界で製造される製品(すなわち機械部品)の幾何形状を表す。機械部品は、部品の組立体であってもよく、部品の組立体は、本方法の観点から部品自体として見ることができ、または本方法は、組立体の各部品、またはより一般的には任意の剛体組立体(例えば、可動機構)に独立して適用することができる。CADソフトウェアソリューションは、航空宇宙、建築、建設、消費財、ハイテクデバイス、産業機器、輸送、船舶、および/または海上石油/ガス生産または輸送を含む、様々な無制限な産業分野における製品の設計を可能にする。したがって、本方法によって設計される3Dオブジェクトは、地上車両(例えば、自動車および軽トラック機器、レーシングカー、オートバイ、トラックおよびモータ機器、トラックおよびバス、列車を含む)の一部、航空機(例えば、機体機器、航空宇宙機器、推進機器、防衛製品、航空機器、宇宙機器を含む)の一部、海軍車両(例えば、海軍機器、民間船、洋上設備、ヨットおよび作業船、海洋機器を含む)の一部、一般機械部品(例えば、工業製造機械、大型移動機械または機器、設置機器、工業機器製品、加工金属製品、タイヤ製造製品を含む)の一部、電気機械または電子部品(例えば、消費者電子機器、セキュリティおよび/または制御および/または計装用製品、コンピューティングおよび通信機器、半導体、医療装置および機器を含む)、消費財(例えば、家具、家庭および庭用製品、レジャー製品、ファッション製品、ハード商品小売業者の製品、ソフト商品小売業者の製品を含む)、包装(例えば、食品および飲料およびタバコ、美容およびパーソナルケア、家庭用製品包装を含む)などの、任意の機械部品であり得る工業製品を表しうる。
提供された3Dモデル化オブジェクトは、機械部品の離散的な幾何学的表現を形成することができる。離散的な幾何学的表現は、本明細書では、離散的なデータ片の集合を含むデータ構造である。各データ片は、3D空間内に配置された幾何学的実体のそれぞれを表す。各幾何学的実体は、機械部品のそれぞれの位置(言い換えれば、3Dモデル化オブジェクトによって表される立体を構成する材料のそれぞれの部分)を表す。幾何学的実体の集約(すなわち、幾何学的実体の結合または並置)は、全体として機械部品を表す。本明細書における離散的な幾何学的表現は、一例において、100、1000、または10000よりも多い数のそのようなデータ片を含み得る。
離散的な幾何学的表現は、例えば3D点群であってもよく、各々の幾何学的実体は点である。離散的な幾何学的表現は、代替的に3Dメッシュであってもよく、各々の幾何学的実体はメッシュタイルまたはメッシュ面である。3Dメッシュは、規則的または不規則的であってもよい(すなわち、同じタイプの面から構成されてもよいし、構成されなくてもよい)。3Dメッシュは、多角形メッシュ、例えば三角形メッシュであってもよい。3Dメッシュは、例えば3D点群を(例えばドロネー三角形分割を用いて)三角形分割することによって、3D点群から取得されてもよい。本明細書における3D点群は、例えば3D再構成プロセスにおいて、機械部品の物理的測定値から決定することができる。3D再構成プロセスは、機械部品を提供することと、物理信号のそれぞれを取得するようにそれぞれ構成された1つまたは複数の物理センサを提供することと、当該機械部品上の1つまたは複数の物理センサを動作させる(すなわち、各センサを用いて当該機械部品を走査する)ことによって1つまたは複数の物理信号のそれぞれを取得すること、とを含むことができる。次いで、3D再構成は、任意の既知の技法にしたがって、測定値に基づいて3D点群および/または3Dメッシュを自動的に決定することができる。当該1つまたは複数のセンサは、複数の(例えば、RGBおよび/または画像もしくはビデオ)カメラを含んでもよく、当該決定することは、動きからの構造解析を含んでもよい。当該1つまたは複数のセンサは、代替的にまたは追加的に、(例えば、RGB深度カメラ上の)1つまたは複数の深度センサを備え得、当該決定することは、深度データからの3D再構成を備え得る。当該1つまたは複数の深度センサは、例えば、レーザ(例えば、ライダ)または超音波エミッタ-レシーバを備えていてもよい。
3Dモデル化オブジェクトを提供すること(S10)は、例えば、3Dモデル化オブジェクトが、(例えば、前述のような再構成プロセスを通して)その作成または取得または獲得までさらに記憶されている(例えば、遠隔)データベースまたはメモリから、当該3Dモデル化オブジェクトを読み出すことを含んでもよい。例えば、当該読み出すことは、当該データベースまたはメモリにアクセスすることと、当該3Dモデル化オブジェクトをダウンロードすることとを含み得る。代替的に、当該3Dモデル化オブジェクトを提供することは、機械部品に対して物理的測定を実行することと、当該物理的測定から、例えば前述の3D再構成プロセスを介して当該3Dモデル化オブジェクトを決定することとを含んでもよい。当該3Dモデル化オブジェクトを提供することは、代替的に、例えばユーザによって、例えばスケッチすることによって当該3Dモデル化オブジェクトを作成することを含んでもよい。
さらに図1のフローチャートを参照すると、当該3Dモデル化オブジェクトを提供すること(S10)に加えて、本方法は、当該3Dモデル化オブジェクトの階層的セグメント化を実行することを含む。当該階層的セグメント化は、第1のセグメント化(S20)と第2のセグメント化(S30)とを含む。換言すれば、当該階層的セグメント化は、2つのセグメント化、すなわち、第1のセグメント化(S20)と第2のセグメント化(S30)とを含む。第1のセグメント化は、提供された3Dモデル化オブジェクトを入力として受け取り、その部分セグメント化、すなわち第1のセグメントを出力する。第2のセグメント化(S30)は、第1のセグメント化(S20)の結果としてまだセグメント化されていない3Dモデル化オブジェクトの一部、すなわち当該3Dモデル化オブジェクトから第1のセグメントの集合を引いたものを入力として受け取り、そのセグメンテーション、すなわち第2のセグメントを出力する。第1のセグメントの集合と第2のセグメントの集合との和集合は、階層的セグメント化の結果であるセグメントの集合を形成する。このセグメントの集合は、当該3Dモデル化オブジェクトのセグメンテーションを形成する。
さらに図1のフローチャートを参照して、第1のセグメント化(S20)について説明する。
第1のセグメント化(S20)は、当該3Dオブジェクトの複数の表面から、それぞれが当該3Dモデル化オブジェクトの単純な幾何学的表面に対応する第1のセグメントを識別することを含む。換言すれば、第1のセグメント化(S20)は、当該3Dモデル化オブジェクトの複数の表面から、単純な幾何学的表面を形成する表面を見つけ、それらを第1のセグメントとして識別する。単純な幾何学的表面は、少なくとも1つの滑動可能な動きを示すプリミティブである。滑動可能な動きとは、平行移動と回転との線形結合である。言い換えれば、単純な幾何学的表面は、平行移動または回転の少なくとも1つの線形結合によって不変であるプリミティブである。滑動可能な動きの概念は、参考文献“Gelfand N. and Guibas L. J.、Shape Segmentation Using Local Slippage Analysis、Eurographics Symposium on Geometry Processing、2004”から知られており、これは参照により本明細書に組み込まれる。特に、滑動可能な動きの定義および滑動可能な動きを算出する方法を提供するこの参考文献の第2節の内容は、参照により本明細書に組み込まれる。第1のセグメント化(S20)は、単純な幾何学的表面である表面を3Dモデル化オブジェクト上で識別する任意の方法を使用して、第1のセグメントを識別することができる。
次に、第1のセグメント化(S20)の一例のフローチャートを示す図2のフローチャートを参照すると、当該第1のセグメントを識別することは、当該3Dモデル化オブジェクトの隣接する表面を探索して併合すること(S200)を含むことができる。当該探索および併合することは、第1のセグメント化(S20)が当該3Dモデル化オブジェクトの隣接する表面を繰り返し訪問し、それらを併合することが第1のセグメントを形成するかまたは形成に寄与することができる限り、それらを併合することを意味する。各表面は、当該3Dモデル化オブジェクトの外側部分である。任意の表面は、2つの表面の、前回の併合の結果であり得る。ここで、3Dモデル化オブジェクトは、3Dメッシュであってもよい。そのような場合、表面は、メッシュ面(例えば、メッシュが三角形メッシュである場合、三角形)、または前回の併合から、もしくは反復的に上述の併合から生じるメッシュ面の結合である。探索および併合すること(S200)は、そのような場合、メッシュ構造を使用して、隣接するメッシュ面またはその結合を繰り返し訪問し、適切な場合にそれらを併合することができる。代替的に、3Dモデル化オブジェクトは3D点群であってもよく、その場合、表面は当該点群の点によって画定される表面である。そのような場合、探索および併合すること(S200)は、隣接する点群点を探索およびクラスタリングすることによって点群構造を使用することができ、これは、点群点によって画定される隣接する表面を探索および併合することに直結する。そのような場合、当該探索および併合することの開始時に、探索および併合すること(S200)を実行する目的で、点が表面と見なされ得る。
探索および併合すること(S200)は、1つまたは複数の第1の距離に基づく、距離の昇順に従う。言い換えれば、探索および併合すること(S200)は、第1の距離ごとに、隣接する表面部分間の第1の距離の値をそれぞれ含むデータに基づく。ここで、表面部分とは表面の一部である。このデータは、新たな第1の距離値を有する新たな隣接面が形成されるように、面が反復的に併合される際に、探索および併合すること(S200)に沿って更新されてもよい。探索および併合すること(S200)は、当該1つまたは複数の第1の距離に基づく、距離の昇順に従う。すなわち、探索および併合すること(S200)は、当該1つまたは複数の第1の距離に従って近い第1の隣接面を探索する傾向がある。ここで、各第1の距離は、単純な幾何学的表面部分間、すなわち、隣接する単純な幾何学的表面部分間の形状類似性を定量化する。なぜなら、本方法では、(隣接する表面が併合されるので)隣接する部分間の第1の距離を使用するからである。したがって、各第1の距離は、探索および併合すること(S200)において、隣接する表面が、1つの単純な幾何学的表面の一部を、(すなわち、併合された場合)全体として形成する隣接する部分を含むかどうかを定量化し、含む場合、それらは併合される傾向がある。任意のそのような第1の距離を使用することができる。
当該第1のセグメントを識別することは、各々が当該第1の距離のそれぞれについて、探索および併合すること(S200)の1つまたは複数を実行することを備え得る。言い換えれば、探索および併合すること(S200)は、当該1つまたは複数の当該第1の距離の各々の第1の距離について繰り返され得、第1の実行は当該3Dモデル化オブジェクトに対して実行され、各後続の実行は前の実行の結果に対して実行される。そのような場合、各々の当該第1の距離について、この第1の距離について探索および併合すること(S200)は、第1の距離に基づく、距離の昇順に従い、探索および併合すること(S200)は、一対の隣接する表面間の第1の距離のそれぞれの値を含むデータに基づき、探索および併合すること(S200)は、それらの間の第1の距離の値の増加する順序で隣接する表面の対を探索する。当該第1の距離の値は、2つの表面が併合されるたびに更新されてもよい。すなわち、当該値、または当該値のうちの少なくともいくつかが再算出される。探索および併合すること(S200)における各実行は、2つの表面間の第1の距離のそれぞれが、第1の距離のそれぞれに関連付けられた、あらかじめ定義された許容閾値よりも小さい場合、当該2つの表面が併合されるという基準に基づき得る。言い換えれば、探索および併合すること(S200)を実行することは、第1の距離のそれぞれにおける値の増加順で隣接面を探索するので、当該基準は、すべての残りの値が第1の距離のそれぞれに関連付けられた、あらかじめ定義された許容閾値よりも大きいときに探索および併合すること(S200)を停止することである。あらかじめ定義された許容閾値は、全ての第1の距離に対して異なってもよい。一例において、第1のセグメントを識別することは、
各々の第1の距離に対して、
当該3Dモデル化オブジェクトの、または探索および併合すること(S200)における前回の実行の結果の隣接する表面の各対について、当該隣接する表面間の第1距離の値を算出することと、
任意選択的に、隣接する表面の対の間のすべての値が当該第1の距離に関連付けられた、あらかじめ定義された許容閾値よりも低い限り、隣接する表面を探索および併合すること(S200)であって、
当該第1距離の最小値を見つけることと、
隣接する表面の当該対応する対を併合することであって、当該対を新しい表面に置き換える、併合することと、
当該併合の結果として、当該第1の距離の値を更新すること、とを反復することを含む、隣接する表面を探索および併合すること(S200)と、を含む。
本方法の実施においては、探索および併合すること(S200)(すなわち、その各実行)は、グラフ
Figure 2022125003000040

の階層クラスタリングを使用する。提供された3Dモデル化オブジェクトがメッシュである場合、グラフ
Figure 2022125003000041

は、各ノードが当該メッシュの面であるグラフであり、当該2つの対応する面が当該メッシュ内で隣接する、および隣接する場合のみ、2つのノードが当該グラフ内で接続される。このグラフは、メッシュの双対グラフと呼ばれる。当該3Dモデル化オブジェクトは3D点群であり、グラフ
Figure 2022125003000042

はk最近傍グラフ
Figure 2022125003000043

であり、各ノードは点を表し、2つのノードは、一方のノードが他方のノードの近傍にある場合、およびその場合にのみ当該グラフ内で接続され、または代替的に、2つのノードの距離が所与の閾値を下回る場合、およびその場合にのみ当該グラフ内で接続される。
これらのグラフ概念は周知である。本方法は、任意の適切な既知の方法に従って、グラフ
Figure 2022125003000044

を構築することを含んでもよい。
階層的クラスタリングは、各ステップにおいて、2つの「最も類似する」接続ノードを、これら2つのノードを接続するエッジを折り畳むことによって収集する。2つのノード間の形状類似性は、ノード間の第1の距離によって評価される。当該グラフでは、ノードおよびそれらの隣接だけでなく、当該グラフのノードおよびエッジの両方がモデル化される。各エッジは、そのエッジによって接続された当該2つのノード間の境界に関する情報を格納することができる。さらに、現時点でのグラフの各エッジは、算出された第1の距離値によってソートされた二分探索ツリーに記憶され、したがって、「最小」エッジ、すなわち2つの最も類似するノードを接続するエッジを見つけることが非常に効率的である。さらに、2つのノードが併合されるとき、当該クラスタリングは、それらの属性を新しい統合されたノードに、ならびに当該ノードの1つを接続するすべてのエッジに更新し、それらを新しい併合されたたノード対して向け直す。当該クラスタリングはまた、これらのエッジに関連付けられた第1の距離値を更新する。
図3は、簡略化のため、2Dにおけるメッシュ上の階層的クラスタリングの概念を示す。図3は、メッシュ30およびその双対グラフ32を示す。図3は、当該階層的クラスタリング(すなわち、グラフノードの再帰的折り畳み)、および対応するメッシュセグメント化36を受けた後の双対グラフ34をさらに示す。
当該1つまたは複数の第1の距離はそれぞれ、隣接する単純な幾何学的表面部分間の形状類似性を定量化する任意の好適な第1の距離であってもよい。「形状類似性」とは、各々の第1の距離が、隣接する部分が、併合された場合に、例えば比較的変化の少ない曲率および/または法線を有する幾何学的にコヒーレントな単純な幾何学的表面またはその一部を形成する程度を定量化することを意味する。各々の第1の距離は、部分間の曲率および/または法線の変化に基づくことができる。当該1つまたは複数の第1の距離は、
表面間の平均曲率不一致にペナルティを科す(すなわち、境界において曲率の変化が小さい表面の併合を支持/促進する)重心曲率距離と、
表面間の境(「境界」と呼ばれるこの)周辺の曲率平滑度に報酬を与える(すなわち、共通境界の周辺で、局所的に曲率的に平滑である表面の併合を支持/促進する)境界曲率平滑度距離、および/または、
表面間の平均法線方向の不一致にペナルティを科す(すなわち、同様の法線方向を有する表面の併合を支持/促進する)重心法線距離のうちの1つまたは複数を有してもよく、
第1のセグメント化における探索および併合すること(S200)は、前に説明したように、1つまたは複数の第1の距離に含まれる距離のそれぞれに対して実行される(すなわち、第1の距離ごとに、探索および併合すること(S200)の実行があり、第1の実行は3Dモデル化オブジェクトに対して実行され、後続の各実行は、前の実行の結果に対して実行される)。代替的な第1の距離は、代替的に使用することができ、例えば、(KL発散を使用する)属性分布比較距離、またはWard距離のような分散比較距離である。当該1つまたは複数の第1の距離に含まれる距離(すなわち、先に列挙した3つの距離)が多いほど、本方法は堅牢かつ効率的になる。例として、当該1つまたは複数の第1の距離は、当該重心曲率距離と、当該境界曲率平滑度距離と、当該法線距離とを含む。これにより、本方法は、特に堅牢になる。
一例において
当該重心曲率距離は、
Figure 2022125003000045

のタイプであり、
Figure 2022125003000046

および
Figure 2022125003000047

は隣接する表面を表し
Figure 2022125003000048

は、
Figure 2022125003000049

の平均最小曲率または平均最大曲率を表し、
当該境界曲率平滑距離は、
Figure 2022125003000050

のタイプであり、
Figure 2022125003000051

および
Figure 2022125003000052

は隣接する表面を表し、
Figure 2022125003000053


Figure 2022125003000054
および
Figure 2022125003000055

にそれぞれ属する、隣接する表面の部分の対を表し、
Figure 2022125003000056


Figure 2022125003000057

の最小または最大曲率であり、
Figure 2022125003000058

はセグメント
Figure 2022125003000059

への値のクランピングを表し、
Figure 2022125003000060

および
Figure 2022125003000061

は規制値であり、
当該重心法線距離は、
Figure 2022125003000062

のタイプであり、
Figure 2022125003000063

および
Figure 2022125003000064

は隣接する表面を表し、
Figure 2022125003000065


Figure 2022125003000066

の平均法線を表す。
したがって、第1のセグメント化は、3D点群の点または3Dメッシュの面のいずれかの幾何学的属性の比較に依存することができる。したがって、入力された3Dモデル化オブジェクト(すなわち、提供された3Dモデル化オブジェクト)は、S10において、要素ごとのグランドトゥルース法線および/または曲率値をすでに提供されている場合がある。代替的に、本方法は、例えば提供すること(S10)において、または提供すること(S10)の後であるが第1のセグメント化(S20)の前に、既知のアルゴリズムを使用してそれらの属性を推定してもよい。提供された当該3Dモデル化オブジェクトが3Dメッシュである場合、本方法は、各メッシュの面法線を、面によって画定される平面に対する法線ベクトルとして算出してもよい。本方法は、参照により本明細書に組み込まれる、参考文献“D. Cohen-Steiner、J. Morvan、Restricted Delaunay Triangulations and Normal Cycle、in SCG、2003”で考案された方法を使用して、任意の点におけるメッシュの曲率を算出することができる。次いで、本方法は、各面の重心上でこの方法を使用することによって、曲率値をメッシュの各面に関連付けることができる。提供された当該3Dモデル化オブジェクトが3D点群である場合、本方法は、例えば平面を各点の近傍に適合させることによって点群の法線を算出することができ、次いで、対応する適合された平面の法線軸によって点の法線を推定することができる。本方法は、二次曲面を各点の近傍に適合させ、この局所的に適合された表面上の点の曲率を算出することによって、点群の各点における曲率を算出してもよい。
階層グラフクラスタリングを使用する前述の実施においては、上記で列挙した3つの距離を使用することができる。言い換えれば、当該実施においては、当該3Dモデル化オブジェクトの単純な幾何学的プリミティブ領域/表面をセグメント化するために、3つの距離と、これらの距離に関連付けられた3つの異なる停止(すなわち、公差)閾値とを用いて、グラフの3つの連続する階層クラスタリングを実行し得る。当該実施においては、2つのノード間の最小重心曲率距離がこの距離に関連付けられた停止閾値よりも高くなるまで最初に重心曲率距離を用いてグラフの階層的クラスタリングが実行され、次いで、2つのノード間の最小境界曲率平滑距離がこの距離に関連付けられた停止閾値よりも高くなるまで境界曲率平滑距離を用いて前のクラスタリングから得られたグラフの階層的クラスタリングが実行され、次いで、2つのノード間の最小重心法線距離がこの距離に関連付けられた停止閾値よりも高くなるまで重心法線距離を用いて前のクラスタリングから得られたグラフの階層的クラスタリングが実行される。
階層グラフクラスタリングはグラフ上で機能するので、これら3つの距離は、この実施においては、グラフノード上で定義される。重心曲率距離は、この実施においては、以下の式によって2つのノード
Figure 2022125003000067


Figure 2022125003000068

との間で、式
Figure 2022125003000069

により定義される。
ここで、
Figure 2022125003000070

は、ノード
Figure 2022125003000071

の要素の平均最小または平均最大曲率を表す。この距離は、最小平均曲率差または最大平均曲率差のいずれかが大きいノードの対にペナルティを科し、したがって、曲率の変化が小さい領域のクラスタリングに有利に働く。境界曲率平滑距離は、この実施では、式
Figure 2022125003000072

によって定義され。
ここで、
Figure 2022125003000073

は、それぞれ
Figure 2022125003000074

および
Figure 2022125003000075

に属する面または点のいずれかであり、初期形状グラフにおいてエッジによって接続され、すなわち、
Figure 2022125003000076

および
Figure 2022125003000077

に共通の境界のすぐ周りの要素であり、
Figure 2022125003000078

は、要素
Figure 2022125003000079

の最小または最大曲率であり、
Figure 2022125003000080

は、セグメント
Figure 2022125003000081

への値のクランピングを表し、
Figure 2022125003000082

および
Figure 2022125003000083

は、選択された規制値である。この距離は、より大きな非幾何学的プリミティブに属し、したがってそのように識別されるべきではないほぼ一定の曲率の領域を一緒に併合するために、滑らかな共通の境界を有するノードの併合を促進する(すなわち、それらの共通の境界の周りで曲率に関して局所的に滑らかであるノードの併合に有利に働く)。2つのノード間の平均法線方向の差にペナルティを科す重心法線曲率距離は、この実施においては、式
Figure 2022125003000084

により定義される。
ここで、
Figure 2022125003000085

は、ノード
Figure 2022125003000086

の要素の平均法線を表す。この距離により、同様の法線方向を有する領域の併合が促進される。曲率は、通常、局所近傍における平均として算出され、したがって、プリミティブの交点の周りにおいては不正確であるので、法線を活用することで、それらの境界にはるかに近い平面領域が拡張することが可能となる。
図4、図5、および図6は、階層グラフクラスタリングを実行する方法の実施において、これら3つの距離を連続的に使用した結果を示す。図4は、重心曲率距離に対して実行された階層的クラスタリングによる併合から生じる表面を有する機械部品を表す3Dモデル化オブジェクトを示す。次いで、図5は、境界曲率平滑度距離に対して実行された後続の階層的クラスタリングによる(すなわち、図4に示されるモデル化オブジェクトに適用される)後続の併合から生じる表面を示す。次いで、図6は、重心法線距離に対して実行された後続の階層的クラスタリングによる(すなわち、図5に示されるモデル化オブジェクトに適用される)併合から得られる表面を示す。
図2のフローチャートに戻って参照すると、第1のセグメント化(S20)は、探索および併合すること(S200)に加えて、当該併合から生じる各表面(すなわち、当該併合によって出力されるメッシュの表面)について、表面サイズ(例えば、表面積)の降順に従って、
少なくとも1つの滑動可能な動きを示すプリミティブである標準プリミティブを当該表面に適合させること(S210)であって、当該滑動可能な動きの概念は以前に定義され議論されている、適合させることと、
適合誤差を算出することと、
当該適合誤差が所定の適合閾値よりも低い場合、当該適合誤差が当該所定の適合閾値よりも同様に低い隣接面を当該表面に集約し(S220)、
当該適合誤差が当該所定の適合閾値よりも大きい場合、当該表面を破棄することと、を含む。
これにより、複数の表面が探索および併合すること(S200)によって正しく併合/クラスタ化されなかった場合に、当該複数の表面を正確に識別または破棄することが可能となり、これによって、本方法の堅牢性がさらに向上する。
「サイズの降順」とは、本方法において、サイズ(例えば、面積)の降順に併合することから生じる複数の表面を探索し、これらの表面に対して、サイズの降順で適合すること(S210)、および場合によっては集約すること(S220)を実行することを意味する。当該探索することは、十分に大きいサイズ(例えば、面積)を有する、例えば、事前に定義された閾値より大きい表面に限定されてもよい。これにより、より大きな幾何学的プリミティブに対応する小さな併合された/クラスタ化された表面/領域を、それらを適合させようとする前に効率的に集約することが可能となる。
適合させること(S210)は、先に論じた実施の場合におけるクラスタ化されたノードに対応する、併合から得られた表面が与えられると、二次適合もしくはBFGS最適化などの既知のプリミティブフィッティング技法、または、参照により本明細書に組み込まれる、参考文献“A. Kaiser、A survey of Simple Geometric Primitives Detection Methods for Captured 3D data、 Computer Graphics Forum 38(4)、 2018”、または参考文献“T.Birdal et.al.、Generic Primitive Detection in Point Clouds Using Novel Minimal Quadric Fits、IEEE Transactions on Pattern Analysis and Machine Intelligence、2019”において論じられる任意のプリミティブ適合技法を使用して、例えば通常の標準幾何プリミティブの集合の中から選択された1つまたは複数の標準プリミティブを表面に適合しようと試みること、を含むことができる。次に、本方法では、当該試みることにおける各プリミティブについて適合誤差を算出し、最も低い適合誤差を有するプリミティブが表面に適合するように選択される。通常の標準的な幾何学的プリミティブの集合は、平面、円柱、円錐、および球を含むことができる。
このプリミティブに対する適合誤差が所定の適合閾値よりも低い場合、例えば、表面の要素(例えば、3Dモデル化オブジェクトが3Dメッシュである場合はメッシュ要素、または3Dモデル化オブジェクトが3D点群である場合は点群点)の所与の割合が、閾値よりも近いプリミティブまでの距離(例えば、ユークリッド距離)を有する場合、当該表面、または前述の実施の場合は対応するクラスタ化されたノードは、適合されたプリミティブに対応すると見なされる。そうである場合、本方法では、適合誤差が所定の適合閾値よりも低い表面に隣接する表面に集約する(S220)。言い換えれば、当該集約することは、当該表面の隣接する表面を反復的に探索することと、プリミティブまでの距離も所与の閾値よりも低い限り、それらを当該表面に集約/併合することとを含み得る。前述の実施において、集約すること(S220)は、適合された幾何プリミティブに属する要素の近傍である、提供された3Dモデル化オブジェクトのグラフの要素(3Dメッシュの場合は面、または3D点群の場合は頂点)を反復的に探索し、プリミティブまでの距離も所与の閾値よりも小さい場合、例えば領域成長ベースの手法を使用してそれらをプリミティブ要素の集合に追加する、任意の既知の連続した近傍集約方法を実行することができる。これにより、例えば境界曲率算出問題により正しくクラスタ化されなかった場合であっても、各幾何学的プリミティブに属する全ての要素を正確に分類することが可能になる。
さらに図2のフローチャートを参照すると、S210においてプリミティブが連続的に適合され、次いでS220において連続的な集約が実行された各表面は、識別された表面、すなわち、例えば任意選択的にフィルタリングすること(S230)までの第1のセグメントである(すなわち、本方法がフィルタリングすること(S230)を含み、当該表面がフィルタリングすること(S230)において破棄される場合、当該表面は識別された表面ではない)。併合すること(S200)から得られ、適合誤差が所定の適合閾値よりも大きい表面は破棄される。すなわち、それらは識別された表面ではない。
さらに図2のフローチャートを参照すると、第1のセグメント化(S20)は、自由曲面の局所的な曲面領域に適合する各プリミティブを破棄することによって、適合された曲面プリミティブをフィルタリングすること(S230)をさらに含むことができる。これにより、本方法の堅牢性が向上する。実際には、探索および併合すること(S200)(例えば、前述の実施においては、「クラスタリング」とも呼ばれる)、ならびに適合-集約すること(S210~S220)は、場合によっては、本方法が満足のいくセグメンテーションを出力し続けるには、プリミティブが多過ぎるという結果になる。標準プリミティブによって適合され得る多くの局所領域を含むいくつかの自由曲面が存在し得るが、それらは単純な幾何学的表面/プリミティブではないので、幾何学的表面/プリミティブであるべきではない。フィルタリングすること(S230)により、そのような幾何学的表面/プリミティブが適合されている場合、それらの局所的領域は破棄される。破棄された表面は識別された表面ではなく、破棄されていない表面は識別された表面である。
前述の実施において、より大きい自由形式領域に属するエリアへの、これらの好ましくなく適合された単純な幾何学的表面/プリミティブを破棄するために、本方法は、初期幾何学的プリミティブクラスタリング(すなわち、階層的グラフクラスタリングから生じるクラスタリング)を利用し得る。破棄されるべき適合された標準プリミティブを識別するために、本実施においては、それらが適合されたノードのサイズを、集約された要素が属するノードのサイズと比較することができる。第2のクラスタリング距離により、互いに滑らかに結合された領域の併合が促進されるので、より大きな自由形状領域に属する標準領域は、少なくとも部分的に併合されるべきである。したがって、小さい残りのノードが、より大きいノードからの要素を集約する標準プリミティブによって適合された場合、そのより大きいノードの要素のすべてに適合することなく(この場合、ノードがサイズの降順に適合されるので、標準プリミティブはすでにより大きいノードに適合されているはずである)、当該実施は、標準プリミティブがより大きい自由形式領域のローカル標準エリアに対応することを検出し(すなわち、標準プリミティブを検出することを含み)、当該標準プリミティブを破棄する(すなわち、当該標準プリミティブを破棄することを含む)。
フィルタリングすること(S230)は、あらかじめ定義されたサイズ閾値よりも小さいサイズ(例えば、領域)を有する適合されたプリミティブを破棄することをさらに含む。
図7~図9は、前述の実施におけるステップS200~S230を示す。図7は、機械部品を表す3Dモデル化オブジェクトを示し、図7に示される3Dメッシュは、探索および併合すること(S200)の結果である。図8は、図7に示される3Dモデル化オブジェクトに、適合すること(S210)および集約すること(S220)を適用した結果を示す図である。次いで、図9は、図8に示される3Dモデル化オブジェクトに、フィルタリングすること(S230)を適用した結果を示す。
第1のセグメント化(S20)により、3Dモデル化オブジェクトの、複数の識別された表面がもたらされ、各識別された表面は、単純な幾何学的表面に対応する第1のセグメントである。換言すれば、第1のセグメントは、単純な幾何学的表面の幾何学的形状である幾何学的形状を有し、すなわち、単純な幾何学的表面は、第1セグメントに適合する。識別された表面は、第1のセグメント化(S20)が併合すること(S200)、後続の適合すること(S210)および集約すること(S220)を含む場合、併合すること(S200)から生じる表面、後続の適合すること(S210)および集約すること(S220)から生じる表面(すなわち、併合すること(S200)から生じ、プリミティブがS210において適合され、隣接する表面がS220において成功して集約された表面)、または第1のセグメント化(S20)がフィルタリングすること(S230)を含む場合にフィルタリングすること(S230)から生じる表面(すなわち、ステップS230において破棄されない表面)のいずれかである。これらの第1の表面に加えて、当該3Dモデル化オブジェクトは、併合すること(S200)から生じない表面、またはステップS210~S220もしくはS230において破棄された表面である、複数の識別されていない表面を依然として含む。
第1のフローチャートに戻って参照すると、第1のセグメント化(S20)に加えて、当該階層的セグメント化を実行することは、第2のセグメント化(S30)を含む。第2のセグメント化は、当該3Dモデル化オブジェクトの複数の識別されていない表面において、当該3Dモデル化オブジェクトの自由曲面にそれぞれ対応する第2のセグメント化を識別することを含む。自由表面は、単純な幾何学表面ではない任意の表面である。したがって、自由曲面は、単純なプリミティブによって適合またはパラメータ化され得ないが、適切なツール(例えばNURBS)を使用して、依然としてパラメータ化され得る。第2のセグメント化(S30)は、メッシュの表面の単純な幾何形状(すなわち、第1のセグメント)が第1のセグメント化(S20)によってすべて識別されており、したがって、当該メッシュの表面の残りの幾何学的形状が、第2のセグメント化(S30)によって第2のセグメントとして識別される自由形式の幾何学的形状であるという考慮に基づく。したがって、第1のセグメント化(S20)の後に、当該3Dモデル化オブジェクトの複数の識別されていない表面に対してのみ第2のセグメント化(S30)を実行することは、自由曲面が第2のセグメント化(S30)によって識別されることを確実にすることに寄与する。各々の第2のセグメントは自由曲面に対応し、すなわち、第2のセグメントは、自由曲面の幾何学的形状である幾何学的形状を有し、例えば、NURBSを使用してパラメータ化することができる。
当該第2のセグメントを識別することは、当該3Dモデル化オブジェクトの、隣接する識別されていない表面を探索および併合することを含むことができる。これは、第1のセグメント化(S20)における探索および併合することと区別するために、第2のセグメント化(S30)を探索および併合することを指すので、「第2の探索および併合すること」と呼ばれることがある。探索および併合することとは、第2のセグメント化(S30)が、当該3Dモデル化オブジェクトの隣接する識別されていない表面を繰り返し訪問し、それらを併合することが第2のセグメントを形成するかまたは形成に寄与することができる限り、それらを併合することを意味する。前に説明したように、各表面は、当該3Dモデル化オブジェクトの外側部分であり、2つの表面における前回の併合の結果であり得る。また、前に説明したように、当該モデル化オブジェクトは3Dメッシュとすることができ、その場合、表面はメッシュ面(例えば、メッシュが三角形メッシュである場合は三角形)であるか、または前回の併合から、もしくは前回の併合から反復的に得られるメッシュ面の結合である。そのような場合、第2の探索および併合することは、メッシュ構造を使用して、隣接するメッシュ面またはその結合を繰り返し訪問し、適切な場合にそれらを併合することができる。前に説明したように、代替的に、当該3Dモデル化オブジェクトは3D点群であってもよく、その場合、表面は当該点群の点によって画定される表面である。そのような場合、第2の探索および併合することは、隣接する点群点を探索およびクラスタリングすることによって点群構造を使用することができ、これは、点群点によって画定される隣接する表面を探索および併合することに直結する。そのような場合、第2の探索および併合することの開始時に、点は表面と見なされ得る。第2の探索および併合することの前に、本方法は、第2の探索および併合することによって識別され、探索されるべきでないものとして、第1のセグメントをマーキングすることを含み得る。
第2の探索および併合することは、1つまたは複数の第2の距離に基づく、距離の昇順に従う。言い換えれば、第2の探索および併合することは、第2の距離ごとに、隣接する表面部分間の第2の距離の値をそれぞれ含むデータに基づく。ここで、表面部分は表面の一部である。このデータは、新たな第2の距離値を有する新たな隣接する複数の表面が形成されるように、表面が反復的に併合される際に、第2の探索および併合することに沿って更新されてもよい。第2の探索および併合することは、当該1つまたは複数の第2の距離に基づく、距離の昇順に従う。すなわち、当該探索および併合することは、当該1つまたは複数の第2の距離に従って近い第1の隣接する表面を探索する傾向がある。ここで、各々の第2の距離により、自由曲面表面部分間、すなわち、隣接する自由曲面表面部分間の形状類似性が定量化される。なぜなら、本方法は、(隣接する表面が併合されるので)隣接する部分間の距離を使用するからである。したがって、各々の第2の距離により、第2の探索および併合することにおいて、隣接する表面が、自由曲面の幾何学的にコヒーレントな部分を形成する隣接する部分を含むかどうかが定量化され、含む場合、当該隣接する表面は併合される傾向がある。言い換えれば、「形状類似性」とは、第2の距離の場合、当該第2の距離が、隣接する部分が併合された場合に幾何学的にコヒーレントな自由形式の幾何学的表面またはその一部分を形成する程度を定量化することを意味する。任意のそのような第2の距離を使用することができる。
第2のセグメントにおける識別することは、第1の探索および併合すること(S200)の場合と同様に、第2の距離のそれぞれについて、第2の探索および併合することの1つまたは複数を実行することを備え得る。そのような場合、各々の第2の距離について、この第2の距離について第2の探索および併合することは、第2の距離に基づく、距離の昇順に従っており、第2の探索および併合することは、一対の隣接する表面間の第2の距離の値をそれぞれ含むデータに基づき、これは3Dモデル化オブジェクトのすべての識別されていない表面を対象とし、第2の探索および併合することは、それらの間の第2の距離の値の増加順に、隣接する表面の対を探索する。当該第2の距離の値は、2つの表面が併合されるたびに更新されてもよい。すなわち、当該値、または当該値のうちの少なくともいくつかが再算出される。第2の探索および併合することにおける各実行は、2つの表面間の第2の距離のそれぞれが、第2の距離のそれぞれに関連付けられた、あらかじめ定義された許容閾値よりも小さい場合、当該2つの表面が併合されるという基準に基づき得る。言い換えれば、第2の探索および併合することを実行することは、第2の距離のそれぞれの値の昇順で隣接する表面を探索するので、基準は、すべての値が第2の距離のそれぞれに関連付けられたあらかじめ定義された許容閾値よりも大きいとき、第2の探索および併合することを停止することである。代替的に、第2の探索および併合を実行することは、第2のセグメントの数、すなわちターゲット数、例えば第2のセグメントの最大数または最小数に対する基準に基づき得る(すなわち、ターゲット数に達すると第2の探索および併合することは停止する)。一例において、当該第2のセグメントを識別することは、
各々の第2の距離に対して、
当該3Dモデル化オブジェクトの、または第2の探索および併合することにおける前回の実行の結果の、隣接する認識されていない表面の各対について、当該隣接する表面間の第2距離の値を算出することと、
任意選択的に、隣接する表面の対の間のすべての値が当該第2の距離に関連付けられた、あらかじめ定義された許容閾値よりも低い限り、または第2のセグメントのターゲット数が達していいない限り、当該隣接する表面を探索および併合することであって、
当該第2の距離の最小値を見つけることと、
隣接する表面の当該対応する対を併合することであって、当該対を新しい表面に置き換える、併合することと、
当該併合の結果として、当該第2の距離の値を更新することと、を反復することを含む、隣接する表面を探索および併合することと、を含む。
本方法の前述の実施においては、第2の探索および併合することは、第1の探索および併合すること(S200)と同様に、第1の探索および併合すること(S200)について前述したグラフ
Figure 2022125003000087

の階層的クラスタリングを使用する。第1の探索および併合すること(S200)に関して、第2の探索および併合することで用いられる階層的クラスタリングは、各ステップにおいて、2つの「最も類似した」接続ノードを、これら2つのノードを接続するエッジを折り畳むことによって収集する。ここで、2つのノード間の形状類似性は、ノード間の第2の距離によって評価される。第1の探索および探索すること(S200)と同様に、各エッジは、このエッジによって接続された2つのノード間の境界に関する情報を記憶することができる。さらに、その時点でのグラフの各エッジは、算出された第2の距離値によってソートされた二分探索ツリーに依然として記憶され、したがって、「最小」エッジ、すなわち2つの最も類似したノードを接続するエッジを見つけることが非常に効率的である。さらに、2つのノードが併合されるとき、当該クラスタリングは、それらの属性を新しい統合されたノードに、ならびに当該ノードのうちの1つを接続するすべてのエッジに更新し、それらを新しい併合されたたノード対して向け直す。当該クラスタリングはまた、これらのエッジに関連付けられた当該クラスタリングの距離値を更新する。第1の探索および併合すること(S200)によって使用される階層的クラスタリングとの主な違いは、少なくとも1つの表面が識別された第1のセグメントに属する2つの表面を接続するエッジが、第2の距離の無限値でマークされることである。当該実施は、第2の階層的クラスタリングの前に、このようにこれらのエッジをマークすることを含んでもよい。それによって、このエッジは、(第2の探索および併合することのために実行する)第2の階層的クラスタリングによって探索される機会がない。第2の階層的クラスタリングは、ノードの対の間の最小距離が所与の閾値よりも大きいとき、または別の定義されたエネルギーが最小化されるとき、またはユーザが結果を満足できると考えるときには手動で、停止され得る。
一例において、当該1つまたは複数の第2の距離は、表面間の平均曲率不一致にペナルティを科す、および/または併合された表面の不規則性にペナルティを科す1つの第2の距離に在り、言い換えれば、当該1つの第2の距離は、表面間の平均曲率不一致にペナルティを科す第1の項、および/または併合された表面の不規則性にペナルティを科す第2の項を含み得る。あるいは、第2の項は、隣接する表面間の境界の滑らかさを促進することができる。当該距離は、例えば、これら2つの項の乗算であってもよい。当該1つの第2の距離は、
Figure 2022125003000088

のタイプであってもよく、
Figure 2022125003000089

および
Figure 2022125003000090

は隣接する表面を表し、
Figure 2022125003000091


Figure 2022125003000092

の平均最第曲率を表し、また
Figure 2022125003000093

であり、
Figure 2022125003000094


Figure 2022125003000095

の周囲長を表し、
Figure 2022125003000096


Figure 2022125003000097

の面積を表し、
Figure 2022125003000098


Figure 2022125003000099

へのクランピングを表し、
Figure 2022125003000100

は、
Figure 2022125003000101

ではない、集合
Figure 2022125003000102

の要素であるノードを表し、
Figure 2022125003000103

は、小さい表面の低減された影響を定義するハイパーパラメータを表す。
Figure 2022125003000104

が第1の項であり、
Figure 2022125003000105

が第2の項である。
前述の実施における第2の階層的クラスタリングは、上記で説明した1つの第2の距離を使用することができ、他の第2の距離は使用されない(すなわち、クラスタリングの1回の実行のみが実施される)。当該第2の階層的クラスタリングがグラフノードに作用するので、当該1つの第2の距離は、この場合、以下の式によって2つの隣接するノード
Figure 2022125003000106


Figure 2022125003000107

との間で、式
Figure 2022125003000108

により定義される。
この距離は、併合された領域の形状係数を正規化しようとする項によって重み付けされた、領域の平均最大曲率を比較することになる。形状係数は、不規則な複数の表面を識別する量である。形状係数は、式
Figure 2022125003000109

によって与えられる。
ここで、
Figure 2022125003000110


Figure 2022125003000111

の周囲長を表し、
Figure 2022125003000112

はその面積を表し、
Figure 2022125003000113


Figure 2022125003000114

へのクランピングを表し、
Figure 2022125003000115

は、
Figure 2022125003000116

ではない、集合
Figure 2022125003000117

の要素であるノードを表し、
Figure 2022125003000118

は比較的小さいノードの低減された影響を定義するハイパーパラメータを表す。この形状係数により、大きな不規則なノードと小さな規則的なノードとの併合に過度にペナルティを科さないように、ノードの相対的なサイズによって重み付けされた、2つの初期ノードの併合と比較して、2つのノードの併合から生じる非円形性(すなわち、形状が円の規則性からどれだけ離れているか)の増加にペナルティが科される。全てのセグメント化された領域が円形である必要はないので、その値自体ではなく、非円形性の増加が考慮されるが、領域の規則性を悪化させる代わりに、領域の規則性を改善する併合が好ましい。代替的に使用され得る形状係数の別の例は、例えばメッシュ上で、隣接するエッジ間の角度の合計にペナルティを科すことによって、領域の境界の滑らかさを促進する形状係数である。堅牢性を改善するために、3D形状の非標準表面をクラスタ化する前に、当該実施においては、他の非標準要素のみを隣接要素として使用して、標準要素に属さない3D形状の要素の曲率を再算出して平均化してもよい。これにより、自由曲面と曲面プリミティブ面との交点の周りの、より正確な曲率値が与えられる。
図10は、図9に示される3Dモデル化オブジェクトに対して、前述の実施によって行われた第2の階層的クラスタリングの結果を示す。
一例において、第1のセグメント化および/または第2のセグメント化において、(第1のセグメント化(S200)および/または第2のセグメント化を)探索および併合することは、3Dモデル化オブジェクトの部分間の既知の幾何学的な区切りに対応する境界によって接続された表面を併合することができないという制約に基づく。表面に対するこれらの制約は、「事前境界(boundary prior)」と呼ばれることがあり、機械部品に関する事前知識により、いくつかの表面において、それらの境界が当該表面に対応する当該機械部品の部分間の既知の区切りに対応するので、併合されてはならないことを意味するという事実が捉えられる。前述の実施においては、グラフのエッジは、事前境界に関連付けられ得る。例えば、グラフエッジに関連付けられた距離(例えば、第1の階層的クラスタリングの場合は第1の距離、および第2の階層的クラスタリングの場合は第2の距離)は、無限大として設定されてもよい。事前境界は、設定されてもよく、すなわち算出されなくてもよい。代替的に、本方法は、(例えば、前述の実施において、関係するエッジごとに)事前境界の分布を算出することを含み得る。事前境界の値は、併合(第1の併合、および/または第2の併合)に沿って更新することができる。例えば、前述の実施においては、エッジに関連付けられた事前境界のエッジは、新しいエッジごとに、それを含む事前境界のエッジの割合を決定することによって更新され得る。
3Dモデル化オブジェクトが3Dメッシュである場合、事前境界の分布の算出では、2つの隣接する面の間の二面角(すなわち、各面の法線ベクトル間の角度)の知識を使用し、それらの2つの隣接する面に共通のエッジに対する事前境界の分布値を算出することができる。実際、2つの面が十分に大きい二面角を有する場合、それらは同じ平滑な表面に属することができない。したがって、前述の実施におけるグラフでは、当該2つの面は、交差不可能な表面境界を表すエッジによって分離されるべきである。3Dモデル化オブジェクトが3D点群である場合、事前境界の分布は、各々の初期グラフエッジについて、このエッジに対応する2つの点の法線間の角度として算出することができる。
3Dモデル化オブジェクトがテッセレートされた3Dメッシュであるとき、事前境界の算出では、テッセレートされたメッシュが、その離散化されたメッシュとそれが近似する正確な表面との間の最大固定距離
Figure 2022125003000119

を満たすように設計されるという知識を使用することができる。この知識を使用するために、当該算出においては、図11に示されるように、2つの隣接する面と、2つの面の共通エッジおよび2つの対向する頂点を通過する円筒表面との間の最大距離を決定し得る。当該円筒表面は、両方の面が同じ表面に属する場合にサンプリングされる滑らかで一定の曲率の表面に近似する。図11において、
Figure 2022125003000120

は、両方の面に直交する平面における共通エッジの投影を表し、
Figure 2022125003000121

および
Figure 2022125003000122

は、両方の面の対向する頂点を表す。したがって、
Figure 2022125003000123

および
Figure 2022125003000124

は、両方の面の投影である。
Figure 2022125003000125

は両方の面における法線の間の二面角であり、
Figure 2022125003000126

は上述の円筒の半径である。
Figure 2022125003000127

は、2つの面と円筒との間の最大距離であり、すなわち、2つの面が同じ表面の近似である場合の2つの面の理論上のテッセレーション誤差である。
Figure 2022125003000128

は、面
Figure 2022125003000129

と円筒との距離であり得る。ピタゴラスの定理より、
Figure 2022125003000130

が与えられる。正弦および外接円の法則より、
Figure 2022125003000131

が与えられる。両方の式を組み合わせることで、
Figure 2022125003000132

が与えられる。これらの式は、同じ表面プリミティブに属するという仮定の下において、隣接する面の各対について理論的な近似誤差を算出するために使用され得、それは、それが近似する正確な表面までの最大許容テッセレーション距離
Figure 2022125003000133

と比較されるとき、エッジについての事前境界の値を与える。
図12および図13は、2つの機械部品を表す2つの3Dモデル化オブジェクトを示し、それらのそれぞれに対して算出された事前境界が黒の実線で示されている。
本方法は、第1のセグメントおよび第2のセグメントが識別されると、分離された要素を分類し、本方法によって行われるセグメント化全体を完成させる最終の後処理ステップを含んでもよい。当該後処理は任意であり、場合によっては行われなくてもよい。分離された要素は、例えば、表面間の境界にノイズが多く、不正確な鮮明度および/または曲率値のいずれかをもたらし、それらの境界の周りの要素のクラスタリングを困難にするときに生じ得る。この場合、本方法では、併合すること(例えば、前述の実施におけるクラスタリング)をより早く停止し、別の戦略を用いて、例えばそれらの残りの要素を最も近いセグメントに割り当てることによって、当該残りの要素を分類することを含むことができる。別の追加的な、または代替的な、可能な後処理は、領域の境界を処理して、それらをより平滑にすることに在り得る。
ここで、式が上述された3つの第1の距離および1つの第2の距離を使用することによって、本実施で得られるセグメンテーションの例とともに、図14~図20を参照して、上述された実施をさらに説明する。
図14は、本実施のためのセグメント化方法全体の経路を示す。本実施では、2つのメインステップにおける、算出効率の良い階層的クラスタリングが提供される。図14に示されるように、階層的セグメント化の第1のステップ(S20)において、単純な幾何学的プリミティブのみがセグメント化される。次いで、領域成長プロセスと同様に、誤ったプリミティブをフィルタリングし、残りのプリミティブを隣接する面に拡張するために、プリミティブが検出され、対応する領域に適合される。第2のステップ(S30)において、階層的セグメント化により、これらのプリミティブおよびそれらに対応する領域が凍結され、残りの自由曲面がセグメント化される。2つの別個のステップにおけるセグメント化のこの分離により、それらの特定のクラスタリング距離の概念における単純な幾何学的プリミティブの強い規則性、ならびに内座層の堅牢な分類を可能にするこれらの単純なプリミティブの正確な定義の知識を活用することが可能となる。全体として、自由形式プリミティブの前に、第1のパスにおいて、これらの単純なプリミティブを処理することにより、単純な幾何学的プリミティブ規則性および明示的な定義が提供する追加された堅牢性が完全に活用されるので、はるかに堅牢な全体的な経路が可能となる。最後に、本実施においては、セグメンテーションを後処理することで、非常に小さな領域または分離された面を除去することができる。先に説明したように、階層的クラスタリングは、グラフトポロジー、すなわち、メッシュ入力に対する双対グラフ定式化、または点群入力に対する最近傍グラフに基づく。2つの接続された領域間の距離は、それらの面(または点)の曲率、ならびに平滑な境界を好む形状係数に基づく。2つの接続された領域の境界の滑らかさを記述する追加の距離も、鮮明な境界によって分離された2つの類似の領域の併合を防止するために使用される。本実施においては、点群またはメッシュの両方のCADセグメンテーションのための、高速かつ健全な(すなわち、堅牢な)フレームワークが提供される。さらに、単純な幾何学的プリミティブだけでなく、(例えば、押出し成形に基づく)複雑な幾何学的プリミティブ、ならびに完全な自由曲面(フィレットまたはNURBSなど)もセグメント化することができる。
図15は、コンピュータマウスの外殻を表し、前述の実施によってセグメント化された3Dモデル化オブジェクトを示す。当該マウスの外殻は成形されてもよく、例えば、当該マウスの外殻は射出成形プラスチックから作製されてもよい。異なるセグメントは成形型に対応し、すなわち、各セグメントは、成形型の一部の対応する形状に対応する形状を形成する。当該成形型は、それ自体が機械加工によって製造されてもよく、また各部分は、機械加工工具の経路となるように適合された形状(すなわち、幾何学的形状)を呈してもよい。
図16は、機械部品を表し、前述の実施によってセグメント化された3Dモデル化オブジェクトを示す。セグメンテーションは、フィレット、すなわち各々がフィレット特徴を形成するセグメントを含む。これらのセグメントは、コーナー丸めエンドミルを使用して製造され得る機械部品のフィレット部分に対応する。セグメンテーションは、シリンダ孔、すなわち各々がシリンダ孔特徴を形成するセグメントを含む。これらのセグメントは、フライス盤を使用して製造され得る機械部品のシリンダ孔部分に対応する。セグメンテーションは、平面、すなわち各々が平面特徴を形成するセグメントを含む。これらのセグメントは、レーザまたは油圧切断機を使用して製造され得る機械部品の平面部分に対応する。
図17は、機械部品を表し、前述の実施によってセグメント化された3Dモデル化オブジェクトを示す。セグメンテーションは、外側円筒、すなわち各々が外側円筒特徴を形成するセグメントを含む。これらのセグメントは、金属旋盤を使用して製造され得る機械部品の外側円筒部分に対応する。
図18は、機械部品を表し、前述の実施によってセグメント化された3Dモデル化オブジェクトを示す。セグメンテーションは、フィレット、すなわち各々がフィレット特徴を形成するセグメントを含む。これらのセグメントは、コーナー丸めエンドミルを使用して製造され得る機械部品のフィレット部分に対応する。セグメンテーションは、シリンダ孔、すなわち各々がシリンダ孔特徴を形成するセグメントを含む。これらのセグメントは、フライス盤を使用して製造され得る機械部品のシリンダ孔部分に対応する。セグメンテーションは、平面、すなわち各々が平面特徴を形成するセグメントを含む。これらのセグメントは、機械部品の平面部分に対応する。
図19は、ソープディスペンサを表し、前述の実施によってセグメント化された3Dモデル化オブジェクトを示す。セグメンテーションは、外側円筒、すなわち各々が外側円筒特徴を形成するセグメントを含む。これらのセグメントは、金属旋盤を使用して製造され得るソープディスペンサの外側円筒部分に対応する。セグメンテーションは、滑らかなコーナー、すなわち、面取り特徴とフィレット特徴との組み合わせである滑らかなコーナー特徴をそれぞれ形成するセグメントを含む。これらのセグメントは、面取りエンドミルおよびコーナー丸めエンドミルを使用して製造することができるソープディスペンサの滑らかなコーナー部分に対応する。
図20は、接続ロッドを表し、前述の実施によってセグメント化された3Dモデル化オブジェクトを示す。セグメンテーションは、フィレット、すなわち各々がフィレット特徴を形成するセグメントを含む。これらのセグメントは、コーナー丸めエンドミルを使用して製造され得る接続ロッドのフィレット部分に対応する。セグメンテーションは、シリンダ孔、すなわち各々がシリンダ孔特徴を形成するセグメントを含む。これらのセグメントは、フライス盤を使用して製造され得る接続ロッドのシリンダ孔部分に対応する。セグメンテーションは、平面、すなわち各々が平面特徴を形成するセグメントを含む。これらのセグメントは、レーザまたは油圧切断機を使用して製造され得る接続ロッドの平面部分に対応する。
本方法は、コンピュータによって実施される。これは、本方法のステップ(または、実質的にすべてのステップ)が、少なくとも1つのコンピュータ、または任意のシステムによって同様に実施されることを意味する。したがって、本方法のステップは、場合によっては完全に自動的に、または半自動的に、コンピュータによって実施される。例示的には、本方法の少なくともいくつかのステップのトリガーは、ユーザとコンピュータの対話を介して実行され得る。必要とされるユーザとコンピュータとの対話のレベルは、予測される自動化のレベルに依存し、ユーザの希望を実現する必要性とバランスをとることができる。例示的に、このレベルは、ユーザ定義および/または事前定義され得る。
本方法がコンピュータによって実施される典型的な例は、この目的のために適合されたシステムを用いて、本方法を実施することである。当該システムは、メモリに結合されたプロセッサと、グラフィカル・ユーザ・インターフェース(GUI)とを含むことができ、当該メモリは、本方法を実行するための命令を含むコンピュータプログラムを記録している。当該メモリはまた、データベースを記憶してもよい。当該メモリは、場合によってはいくつかの物理的に別個の部品(例えば、1つはプログラム用、場合によっては、1つはデータベース用)を備える、そのような記憶に適合された任意のハードウェアである。
図21は、システムの例を示し、当該システムは、クライアントコンピュータシステム、例えばユーザのワークステーションである。
この例のクライアントコンピュータは、内部通信バス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)

  1. 機械部品を表す3Dモデル化オブジェクトをセグメント化するための、コンピュータによって実施される方法であって、
    前記3Dモデル化オブジェクトを提供することと、
    第1のセグメント化および第2のセグメント化を有し、前記3Dモデル化オブジェクトの階層的セグメント化を実行することであって、
    前記第1のセグメント化は、前記3Dモデル化オブジェクトの複数の表面から、各々、少なくとも1つの滑動可能な動きを示すプリミティブである、前記3Dモデル化オブジェクトの単純な幾何学的表面に対応する複数の第1セグメントを識別することを含み、
    前記第2のセグメント化は、前記3Dモデル化オブジェクトの複数の識別されていない表面から、各々が前記3Dモデル化オブジェクトの自由曲面に対応する複数の第2のセグメントを識別することを含む
    ことを特徴とする方法。
  2. 前記第1のセグメント化において、前記識別は、単純な幾何学的表面部分間の形状類似性を定量化する1つまたは複数の第1の距離に基づいた距離の昇順に従って、前記3Dモデル化オブジェクトの隣接する表面を、探索および併合することを含み、
    前記第2のセグメント化において、前記識別は、自由曲面部分間の形状類似性を定量化する1つまたは複数の第2の距離に基づく、距離の昇順に従って、前記3Dモデル化オブジェクトの隣接する識別されていない表面を、探索および併合することを含む、
    ことを特徴とする請求項1に記載の方法。
  3. 前記第1のセグメント化は、前記併合から得られた各表面について、表面サイズの降順に従って、
    前記表面に標準プリミティブを適合させることと、
    適合誤差を算出することと、
    前記適合誤差が所定の適合閾値よりも低い場合、前記適合誤差が前記所定の適合閾値よりも同様に低い隣接する表面を前記表面に集約し、
    前記適合誤差が前記所定の適合閾値よりも大きい場合、前記表面を破棄することと、
    をさらに含むことを特徴とする請求項2に記載の方法。
  4. 前記第1のセグメント化は、自由曲面の局所的な標準領域に適合する各プリミティブを破棄することによって、前記適合された標準プリミティブをフィルタリングすることをさらに含む
    ことを特徴とする請求項3に記載の方法。
  5. 前記フィルタリングは、あらかじめ定義されたサイズ閾値よりも小さいサイズを有する適合されたプリミティブを破棄することをさらに含む
    ことを特徴とする請求項4に記載の方法。
  6. 前記1つまたは複数の第1の距離は、
    表面間の平均曲率不一致にペナルティを科す重心曲率距離、
    表面間の境界周辺の曲率平滑度に報酬を与える境界曲率平滑度距離、および/または
    表面間の平均法線方向の不一致にペナルティを科す重心法線距離のうちの1つまたは複数を有し、
    前記第1のセグメント化における前記探索および併合は、前記1つまたは複数の第1の距離に含まれる各距離に対して実行される
    ことを特徴とする請求項2から請求項5のいずれか1項に記載の方法。
  7. 前記1つまたは複数の第1の距離は、前記重心曲率距離と、前記境界曲率平滑度距離と、前記重心法線距離とを含む
    ことを特徴とする請求項6に記載の方法。
  8. 前記重心曲率距離は、
    Figure 2022125003000134

    のタイプであり、
    Figure 2022125003000135

    および
    Figure 2022125003000136

    は隣接する表面を表し、
    Figure 2022125003000137


    Figure 2022125003000138

    の平均最小曲率または平均最大曲率を表し、
    前記境界曲率平滑度距離は、
    Figure 2022125003000139

    のタイプであり、
    Figure 2022125003000140

    および
    Figure 2022125003000141

    は隣接する表面を表し、
    Figure 2022125003000142


    Figure 2022125003000143

    および
    Figure 2022125003000144

    にそれぞれ属する、隣接する面の部分の対を表し、
    Figure 2022125003000145


    Figure 2022125003000146

    の最小または最大曲率であり、
    Figure 2022125003000147

    はセグメント
    Figure 2022125003000148

    への値のクランピングを表し、
    Figure 2022125003000149

    および
    Figure 2022125003000150

    は規制値であり、
    前記重心法線距離は、
    Figure 2022125003000151

    のタイプであり、
    Figure 2022125003000152

    および
    Figure 2022125003000153

    は隣接する表面を表し、
    Figure 2022125003000154

    は、
    Figure 2022125003000155

    の平均法線を表す
    ことを特徴とする請求項6または7に記載の方法。
  9. 前記1つまたは複数の第2の距離は、表面間の平均曲率不一致にペナルティを科す、かつ/あるいは、併合された表面の不規則性にペナルティを科す1つの第2の距離からなる
    ことを特徴とする請求項2から請求項8のいずれか1項に記載の方法。
  10. 前記1つの第2の距離は、
    Figure 2022125003000156

    のタイプであり、
    Figure 2022125003000157

    および
    Figure 2022125003000158

    は隣接する表面を表し、
    Figure 2022125003000159


    Figure 2022125003000160

    の平均最大曲率を表し、
    Figure 2022125003000161

    であり、
    Figure 2022125003000162


    Figure 2022125003000163

    の周囲長を表し、
    Figure 2022125003000164


    Figure 2022125003000165

    の面積を表し、
    Figure 2022125003000166


    Figure 2022125003000167

    へのクランピングを表し、
    Figure 2022125003000168

    は、
    Figure 2022125003000169

    ではない、集合
    Figure 2022125003000170

    の要素であるノードを表し、
    Figure 2022125003000171

    は小さい表面の低減された影響を定義するハイパーパラメータを表す
    ことを特徴とする請求項9に記載の方法。
  11. 前記第1のセグメント化および/または前記第2のセグメント化において、前記探索および併合は、前記3Dモデル化オブジェクトの部分間の既知の幾何学的な区切りに対応する境界によって接続された複数の表面を併合することができないという制約に基づく
    ことを特徴とする請求項2から請求項10のいずれか1項に記載の方法。
  12. 前記第1のセグメント化において、前記識別は、各々が、第1の距離のそれぞれに対して、前記探索および併合を1回または複数回実行することを含み、各実行は、2つの表面の間の第1の距離のそれぞれが、当該第1の距離のそれぞれに関連付けられた所定の許容閾値よりも小さい場合に、前記2つの表面が併合されるという基準に基づき、かつ/あるいは、
    前記第2のセグメント化において、前記識別は、各々が、第2の距離のそれぞれに対して、前記探索および併合を1回または複数回実行することを含み、各実行は、第2のセグメントの数に関する基準に基づくか、または2つの表面間の第2の距離のそれぞれが、当該第2の距離のそれぞれに関連づけられた、あらかじめ定義された許容閾値よりも小さい場合に、前記2つの表面が併合されるという基準に基づく
    ことを特徴とする請求項2から請求項11のいずれか1項に記載の方法。
  13. 請求項1から請求項12のいずれか1項に記載の方法を実行するための命令を含むコンピュータプログラム。
  14. 請求項13に記載のコンピュータプログラムが記録されたコンピュータ可読データ記憶媒体。
  15. 請求項13に記載のコンピュータプログラムが記憶されたメモリに結合されたプロセッサを備えるコンピュータ。
JP2021209552A 2021-02-16 2021-12-23 機械部品を表す3dモデル化オブジェクトのセグメント化 Pending JP2022125003A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP21305195 2021-02-16
EP21305195.6A EP4044116A1 (en) 2021-02-16 2021-02-16 Segmenting a 3d modeled object representing a mechanical part

Publications (1)

Publication Number Publication Date
JP2022125003A true JP2022125003A (ja) 2022-08-26

Family

ID=74701456

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021209552A Pending JP2022125003A (ja) 2021-02-16 2021-12-23 機械部品を表す3dモデル化オブジェクトのセグメント化

Country Status (4)

Country Link
US (1) US20220261512A1 (ja)
EP (1) EP4044116A1 (ja)
JP (1) JP2022125003A (ja)
CN (1) CN114943130A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112766577A (zh) * 2021-01-22 2021-05-07 佛山科学技术学院 一种基于nurbs曲线的喷涂轨迹过渡段优化系统及方法
US20240020935A1 (en) * 2022-07-15 2024-01-18 The Boeing Company Modeling system for 3d virtual model

Also Published As

Publication number Publication date
US20220261512A1 (en) 2022-08-18
EP4044116A1 (en) 2022-08-17
CN114943130A (zh) 2022-08-26

Similar Documents

Publication Publication Date Title
Buonamici et al. Reverse engineering modeling methods and tools: a survey
JP7491685B2 (ja) ニューラルネットワークのセット
US11100710B2 (en) Extracting a feature tree from a mesh
CA2797162C (en) Creating a surface from a plurality of 3d curves
CN108073682B (zh) 基于参数视图函数查询数据库
JP2022125003A (ja) 機械部品を表す3dモデル化オブジェクトのセグメント化
CN115374546A (zh) Cad模型参数化
US11657195B2 (en) Processing a 3D signal of a shape attribute over a real object
Tabib et al. Learning-based hole detection in 3D point cloud towards hole filling
US11195330B2 (en) Generation of a structured 3D model from a raw mesh
JP2023143870A (ja) スケッチ加工
JP2019145083A (ja) 実オブジェクトのスキンを表すファセットの集合の決定
Edessa A framework for Hull form reverse engineering and geometry integration into numerical simulations
EP4057222B1 (en) Machine-learning for 3d segmentation
US20220398356A1 (en) Processing a cad 3d model of a mechanical part
JP2022179418A (ja) 材料の押し出し検出方法
문병진 A Fast Slicing Algorithm of the 3D-Scanned Point Clouds Object for Rapid Prototyping
Schinko et al. Vertex Climax: Converting Geometry into a Non-nanifold Midsurface.
JP2023160791A (ja) 画像からの3d再構成
JP2024003783A (ja) Cadフィーチャーツリー生成
Yu Integrated NURBS surface reconstruction and boundary element analysis
Song et al. Forschungsschwerpunkt S92
Valdes Complex scene modeling and segmentation with deformable simplex meshes