JP2023017718A - 機械的アセンブリを表す3dモデル化オブジェクトのセグメント化 - Google Patents
機械的アセンブリを表す3dモデル化オブジェクトのセグメント化 Download PDFInfo
- Publication number
- JP2023017718A JP2023017718A JP2022114233A JP2022114233A JP2023017718A JP 2023017718 A JP2023017718 A JP 2023017718A JP 2022114233 A JP2022114233 A JP 2022114233A JP 2022114233 A JP2022114233 A JP 2022114233A JP 2023017718 A JP2023017718 A JP 2023017718A
- Authority
- JP
- Japan
- Prior art keywords
- primitives
- primitive
- neural network
- merging
- subsets
- 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
- 238000000034 method Methods 0.000 claims abstract description 181
- 238000013528 artificial neural network Methods 0.000 claims abstract description 89
- 238000004590 computer program Methods 0.000 claims abstract description 9
- 238000004422 calculation algorithm Methods 0.000 claims description 28
- 230000003993 interaction Effects 0.000 claims description 20
- 238000005192 partition Methods 0.000 claims description 19
- 238000012549 training Methods 0.000 claims description 17
- 238000013527 convolutional neural network Methods 0.000 claims description 8
- 238000013500 data storage Methods 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims description 2
- 230000011218 segmentation Effects 0.000 abstract description 47
- 238000004519 manufacturing process Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 238000012804 iterative process Methods 0.000 description 8
- 230000000712 assembly Effects 0.000 description 7
- 238000000429 assembly Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 7
- 238000009826 distribution Methods 0.000 description 7
- 238000000354 decomposition reaction Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 239000000463 material Substances 0.000 description 5
- 238000012952 Resampling Methods 0.000 description 4
- 230000001427 coherent effect Effects 0.000 description 4
- 239000012634 fragment Substances 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 238000000053 physical method Methods 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000010146 3D printing Methods 0.000 description 1
- 244000068988 Glycine max Species 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 235000002637 Nicotiana tabacum Nutrition 0.000 description 1
- 244000061176 Nicotiana tabacum Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 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
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000012887 quadratic function Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000005476 soldering Methods 0.000 description 1
- 238000012916 structural analysis Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- 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/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- 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/10—Geometric CAD
- G06F30/17—Mechanical parametric or variational design
-
- 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
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2012—Colour editing, changing, or manipulating; Use of colour codes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Architecture (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
【課題】低減された計算時間で3Dモデル化オブジェクトの正確でロバストなセグメンテーションを効率的に達成する方法、コンピュータプログラム及びデバイスを提供する。【解決手段】抽象化ニューラルネットワークは、3Dモデル化オブジェクトに適合する第1の数の第1のプリミティブの第1の集合を出力し、第1のセットから、第2の数の第2のプリミティブの第2のセットを決定する。第2の数は、第1の数よりも小さい。前記決定することは、第3のプリミティブの第3のセットを第1のセットとして初期化することと、反復を実行することとを含む。各反復は、第3のプリミティブの部分集合を夫々1つの夫々の単一の第4のプリミティブに一緒にマージし、それによって第4のプリミティブの第4のセットを取得し、次の反復の第3のセットを現在の反復の第4のセットとして設定し、第2のセットを取得された第4のセットとして設定する。【選択図】図1
Description
本開示はコンピュータプログラム及びシステムの分野に関し、より具体的には、3Dモデル化オブジェクトをセグメント化するための方法、コンピュータプログラム、及びデバイスに関する。
物体の設計、エンジニアリング及び製造のために、多数のシステム及びプログラムが市場に提供されている。CADはコンピュータ支援設計(Computer-Aided Design)の頭字語であり、例えば、オブジェクトを設計するためのソフトウェアソリューションに関する。CAEはコンピュータ支援エンジニアリング(Computer-Aided Engineering)の頭字語であり、例えば、将来の製品の物理的挙動をシミュレートするためのソフトウェアソリューションに関する。CAMはコンピュータ支援製造(Computer-Aided Manufacturing)の頭字語であり、例えば、製造プロセス及び動作を定義するためのソフトウェアソリューションに関する。そのようなコンピュータ支援設計システムでは、グラフィカルユーザーインタフェースが技法の効率に関して重要な役割を果たす。これらの技術は、製品ライフサイクル管理(PLM)システム内に組み込まれてもよい。PLMとは、企業が製品データを共有し、共通の処理を適用し、企業知識を活用して、長期的な企業のコンセプトを越えて、コンセプトから生涯にわたる製品の開発に役立てることを支援するビジネス戦略のことをいう。(CATIA、ENOVIA及びDELMIAの商標で)ダッソーシステムズによって提供されるPLMソリューションは、製品工学知識を編成するエンジニアリングハブと、製造工学知識を管理する製造ハブと、エンタープライズハブ及びエンジニアリングハブ及び製造ハブの両方への接続を可能にする企業ハブとを提供する。全体として、システムは最適化された製品定義、製造準備、生産、及びサービスを駆動する動的な知識ベースの製品作成及び意思決定サポートを可能にするために、製品、プロセス、リソースをリンクするオープンオブジェクトモデルを提供する。
この文脈及び他の文脈内で、単に「3Dセグメンテーション」又は「セグメンテーション」と呼ばれることもある3Dモデル化オブジェクトをセグメンテーションするステップは、広く重要性を増している。
機械的アセンブリを表す3Dモデル化オブジェクト(例えば、メッシュ)が与えられると、3Dセグメンテーションは一般に、3Dモデル化オブジェクトの幾何学的部分(例えば、機械的アセンブリの部品)を、セグメントと呼ばれるいくつかの接続されたクラスタに分割/区分することで構成され得、各セグメントは他のセグメントに対するその類似性を最小化しながら、その内部整合性を最大化する。セグメンテーションプロセスの結果は、各セグメントが他のセグメントに対して明確な境界を有する意味的に一貫したセットを表すように、機械的アセンブリの部品のいくつかのセット(セグメント)へのパーティションをもたらしてもよい。3Dセグメンテーションの目的は3Dモデル化オブジェクト(例えば、3Dモデル化オブジェクトのメッシュ)を入力とし、この入力をいくつかの部品に分解すること(例えば、各メッシュ頂点を所与の部分に割り当てることによって)であってもよい。
最近の研究は、3Dモデル化オブジェクトを分割するためのディープニューラルネットワークの適用に焦点を当てている。特に、最新技術には、3D形状を分割するために教師ありディープラーニング法を使用する先行研究と、教師なしディープラーニング法を使用する先行研究とが含まれる。
監督された方法の中で、Luoら[1]は、シーン及びオブジェクトセグメンテーションを実行するためのボトムアップ方法を提案している。Ganapathi-Subramanianら[2] は現実世界のセンサーによって捕捉された生のデータをセグメント化するために、オブジェクトカテゴリごとにテンプレートのセットを使用する。より最近では、Wangら[3]がオブジェクトをオーバーセグメント化するためのパイプラインを開発し、次いで、オーバーセグメント化されたパッチを一緒にマージする。これらの方法は、1つの大きな欠点を有する:教師あり学習の使用がこれらの方法をラベルなし及び/又は見えないオブジェクトカテゴリに適用することを可能にしない。
いくつかの方法は、様々なネットワークを学習するために再構成損失を使用して、代わりに教師なし学習に焦点を当てた。ジェノバら[4]は、3D形状を表すために一組のガウス関数をパラメータ化するためにニューラルネットワークを学習する。その後、ジェノバらは、彼ら[5]の最初の手法を改良した。両方の参考文献は、主に幾何学的精度に焦点を当てている。同じカテゴリにおいて、デンら[6]は、3Dオブジェクトを一組の凸部に分解するためにオートエンコーダを学習する。前述の基準とは対照的に、主な用途は、リアルタイム物理シミュレーションにおいて分解を使用することである。これらの作業はすべて、固定数の部分を出力し、意味的に関連する形状セグメンテーションをもたらすことはできない。
また、従来技術は、3D形状が与えられると、プリミティブ抽象化を実行するソリューションを含む。Tulsianiら[7]による被験者に対する第1の解決策は、1組の立方体を有する3D形状を表すネットワークを学習する。Paschalidouら[8]及びSunら[9]は、この方法に対する様々な改良を提案している。第1の方法は、強化学習の使用を避けるために損失を適応させ、基本プリミティブとして(立方体の代わりに)超楕円体を使用する。第2のものは、各抽象化に対して異なる数の直方体を有するいくつかのプリミティブ抽象化を予測するためにネットワークを学習する。最終的な形状抽象化は、各抽象化から最良の部分を選択することによって得られる。最後に、Paschalidouら[10]は、再び超楕円体によって表される2つの部分に形状を反復的に分解することによって、階層の概念を導入する。これらの基準はすべて、異なるオブジェクトがそれらを表すために異なる数のプリミティブを必要とするという事実に対処する独自の方法を有する。しかしながら、それらのいずれも、低減された計算時間で3Dモデル化オブジェクトの正確でロバストなセグメンテーションを効率的に達成することを可能にしない。
この文脈内で、機械的アセンブリを表す3Dモデル化オブジェクトをセグメント化するための改善された方法が依然として必要とされている。
[1] T. Luo, K. Mo, Z. Huang, J. Xu, S. Hu, L. Wang, H. Su, “LEARNING TO GROUP: A BOTTOM-UP FRAMEWORK FOR 3D PART DISCOVERY IN UNSEEN CATEGORIES” ICLR 2020
[2] V. Ganapathi-Subramanian, O. Diamanti, S. Pirk, C. Tang, M. Niessner, L. Guibas. "Parsing geometry using structure-aware shape templates” 3DV 2018
[3] X. Wang, X. Sun, X. Cao, K. Xu, B. Zhou, “Learning Fine-Grained Segmentation of 3D Shapes without Part Labels”. CVPR 2021
[4] K. Genova, F. Cole, D. Vlasic, A. Sarna, W. Freeman, T. Funkhouser, “Learning Shape Templates with Structured Implicit Functions”. ICCV 2019
[5] K. Genova, F. Cole, A. Sud, A. Sarna, T. Funkhouser, “Local Deep Implicit Functions for 3D Shape”. CVPR 2020
[6] B. Deng, K. Genova, S. Yazdani, S. Bouaziz, G. Hinton, A. Tagliasacchi. “CvxNet: Learnable Convex Decomposition”. CVPR 2020
[7] S. Tulsiani, H. Su, L. J. Guibas, A. Efros, J. Malik. “Learning Shape Abstractions by Assembling Volumetric Primitives”. CVPR 2018
[8] D. Paschalidou, A. Osman, A. Geiger. ”Superquadrics Revisited: Learning 3D Shape Parsing beyond Cuboids”. CVPR 2019
[9] C. Sun, Q. Zou, X. Tong, Y. Liu. “Learning Adaptive Hierarchical Cuboid Abstractions of 3D Shape Collections”. SIGGRAPH Asia 2019
[10] D. Paschalidou, L. van Gool, A. Geiger, “Learning Unsupervised Hierarchical Part Decomposition of 3D Objects from a Single RGB Image”, CVPR 2020
[11] A. X. Chang et al., “ShapeNet: An Information-Rich 3D Model Repository,” Dec. 2015.
[12] Zvi Galil. “Efficient algorithms for finding maximum matching in graphs”. In: ACM Comput. Surv. 18.1 (Mar. 1986), pp. 23-38. ISSN: 0360-0300. DOI: 10.1145/6462. 6502. URL: https://doi.org/10.1145/6462.6502 (visited on 10/05/2020)
[13] Lin Gao, Yu-Kun Lai, Jie Yang, Zhang Ling-Xiao, Shihong Xia, and Leif Kobbelt. Sparse data driven mesh deformation. IEEE transactions on visualization and computer graphics (2019)
[14] Ales Jaklic, Ales Leonardis, and F. Solina. Segmentation and Recovery of Superquadrics. en. Computational Imaging and Vision. Springer Netherlands, 2000. ISBN: 978- 0-7923-6601-0. DOI: 10.1007/978- 94- 015- 9456- 1. URL: https://www.springer.com/gp/book/9780792366010
[15] Charles R Qi, Hao Su, Kaichun Mo, and Leonidas J Guibas. Pointnet: Deep learning on point sets for 3d classification and segmentation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 652-660, 2017a.
[2] V. Ganapathi-Subramanian, O. Diamanti, S. Pirk, C. Tang, M. Niessner, L. Guibas. "Parsing geometry using structure-aware shape templates” 3DV 2018
[3] X. Wang, X. Sun, X. Cao, K. Xu, B. Zhou, “Learning Fine-Grained Segmentation of 3D Shapes without Part Labels”. CVPR 2021
[4] K. Genova, F. Cole, D. Vlasic, A. Sarna, W. Freeman, T. Funkhouser, “Learning Shape Templates with Structured Implicit Functions”. ICCV 2019
[5] K. Genova, F. Cole, A. Sud, A. Sarna, T. Funkhouser, “Local Deep Implicit Functions for 3D Shape”. CVPR 2020
[6] B. Deng, K. Genova, S. Yazdani, S. Bouaziz, G. Hinton, A. Tagliasacchi. “CvxNet: Learnable Convex Decomposition”. CVPR 2020
[7] S. Tulsiani, H. Su, L. J. Guibas, A. Efros, J. Malik. “Learning Shape Abstractions by Assembling Volumetric Primitives”. CVPR 2018
[8] D. Paschalidou, A. Osman, A. Geiger. ”Superquadrics Revisited: Learning 3D Shape Parsing beyond Cuboids”. CVPR 2019
[9] C. Sun, Q. Zou, X. Tong, Y. Liu. “Learning Adaptive Hierarchical Cuboid Abstractions of 3D Shape Collections”. SIGGRAPH Asia 2019
[10] D. Paschalidou, L. van Gool, A. Geiger, “Learning Unsupervised Hierarchical Part Decomposition of 3D Objects from a Single RGB Image”, CVPR 2020
[11] A. X. Chang et al., “ShapeNet: An Information-Rich 3D Model Repository,” Dec. 2015.
[12] Zvi Galil. “Efficient algorithms for finding maximum matching in graphs”. In: ACM Comput. Surv. 18.1 (Mar. 1986), pp. 23-38. ISSN: 0360-0300. DOI: 10.1145/6462. 6502. URL: https://doi.org/10.1145/6462.6502 (visited on 10/05/2020)
[13] Lin Gao, Yu-Kun Lai, Jie Yang, Zhang Ling-Xiao, Shihong Xia, and Leif Kobbelt. Sparse data driven mesh deformation. IEEE transactions on visualization and computer graphics (2019)
[14] Ales Jaklic, Ales Leonardis, and F. Solina. Segmentation and Recovery of Superquadrics. en. Computational Imaging and Vision. Springer Netherlands, 2000. ISBN: 978- 0-7923-6601-0. DOI: 10.1007/978- 94- 015- 9456- 1. URL: https://www.springer.com/gp/book/9780792366010
[15] Charles R Qi, Hao Su, Kaichun Mo, and Leonidas J Guibas. Pointnet: Deep learning on point sets for 3d classification and segmentation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 652-660, 2017a.
したがって、機械的アセンブリを表す3Dモデル化オブジェクトをセグメント化するためのコンピュータ実装方法が提供される。本方法は、3Dモデル化オブジェクトを提供するステップを含む。本方法は、3Dモデル化オブジェクトの表現を抽象化ニューラルネットワークに入力するステップをさらに含む。抽象化ニューラルネットワークは、3Dモデル化オブジェクトに適合する第1のプリミティブの第1のセットを出力する。第1のセットは、第1の数の第1のプリミティブからなる。本方法は第1のセットから、それぞれの第2のプリミティブの1つ又は複数の第2のセットをそれぞれ決定するステップをさらに含む。各第2のセットは、それぞれの第2の数のそれぞれの第2のプリミティブからなる。第2の数は、第1の数よりも小さい。決定するステップは、第3のプリミティブの第3のセットを第1のセットとして初期化するステップを含む。決定するステップは、1つ又は複数の反復を実行するステップをさらに含む。各反復は、第3のプリミティブの第3のセットを提供するステップを含む。各反復はまた、第3のプリミティブの1つ又は複数の部分集合をそれぞれ1つの単一の第4のプリミティブに一緒にマージするステップを含む。それによって、反復は、各単一の第4のプリミティブと、各マージされていない第3のプリミティブとからなる第4のプリミティブの第4のセットを取得する。各反復は、次の反復の第3のセットを現在の反復の第4のセットとして設定するステップをさらに含む。決定するステップは、1つ又は複数の第2のセットを1つ又は複数の取得された第4のセットとして設定するステップをさらに含む。
この方法は、以下のうちの1つ又は複数を含むことができる:
前記マージするステップが、候補部分集合のグループ間でマージされるべき前記1つ又は複数の部分集合を決定するステップを備え、前記マージされるべき前記1つ又は複数の部分集合を前記決定するステップは、前記グループのそれぞれの候補部分集合ごとに、前記それぞれの候補部分集合のマージコストのペナルティを含む。
前記マージするステップが、サブセットの候補グループのうちの候補サブセットの前記グループを決定するステップを備え、前記候補サブセットの前記グループを決定するステップが、各候補グループについて、前記各候補グループのすべてのサブセットについて、各サブセットの前記第3のプリミティブ間のマージ互換性のグローバルペナルティを含む。
前記サブセットの候補グループが、前記第3のセットの各パーティションから第3のプリミティブのペアになり、前記候補サブセットのグループを決定するステップが、最小重みマッチングアルゴリズムを含む。
前記抽象化ニューラルネットワークが、
エンコーダーであって、当該エンコーダーは任意選択的に畳み込みニューラルネットワークを備え、及び/又は当該エンコーダーはボクセルグリッドを入力として取り込むように構成され、抽象ニューラルネットワークに入力される3Dモデル化オブジェクトの表現はボクセルグリッドフォーマットに従うエンコーダーと、
プリミティブサイズパラメータ、プリミティブ位置決めパラメータ及びプリミティブ配向パラメータをそれぞれ出力するように構成された3つのサブネットワーク、及び任意選択で、プリミティブ形状パラメータを出力するように構成された1つの追加のサブネットワークであって、任意選択で、少なくとも1つ(例えば、それぞれ)のサブネットワークはそれぞれ完全に接続された層から構成される(例えば、各サブネットワークの第1の数及びそれぞれの出力されたパラメータの数に応じた出力サイズ及び/又は第1の数がハイパーパラメータである)サブネットワークと
を含む。
前記1つ又は複数の第2のセットが複数の第2のセットを含み、前記方法が、それぞれが以下を含む1回以上の反復を含む。
ユーザインタラクションの際に、複数の第2のセットのうちの単一の第2のセットを選択するステップ、及び
選択された第2のセットのグラフィック表現をリアルタイムで表示するステップ。
単一の第4のセットを自動的に選択ステップであって、選択された単一の第4のセットはしきい値以上の連続する反復間のマージ再構成損失の進化に対応するステップと、選択した単一の4番目のセットをマーキングするステップとを有する。
前記抽象化ニューラルネットワークが、それぞれの機械的アセンブリをそれぞれ表す注釈付きでない3Dモデル化オブジェクトを含むデータセット上で教師なし的な方法で学習される。
前記マージするステップが各部分集合の表現をマージングニューラルネットワークに入力するステップを含み、前記マージングニューラルネットワークが前記それぞれの単一の第4のプリミティブを出力する。
前記合流ニューラルネットワークが、
任意選択的に、エンコーダーは畳み込みニューラルネットワークを備え、及び/又はエンコーダーはボクセルグリッド及び/又は点群を入力として取り込むように構成され、マージングニューラルネットワークに入力されるそれぞれのサブセットの表現はそれぞれボクセルグリッドフォーマット又は点群フォーマットに従っており、
プリミティブサイズパラメータ、プリミティブ測位パラメータ及びプリミティブ方位パラメータを各出力するように各構成された3つのサブネットワークと、プリミティブ形状パラメータを出力するように構成された任意選択的に1つの追加のサブネットワークであって、任意選択的に少なくとも1つ(例えば、各)のサブネットワークは各完全に接続された層から構成される(例えば、各のサブネットワークの各の出力パラメータに応じた出力サイズを有する)サブネットワーク
を含む。
前記抽象化ニューラルネットワーク及び前記マージングニューラルネットワークのうちの少なくとも1つが、再構成損失をペナルティとするそれぞれの学習損失に基づいて学習され、任意選択的に、前記再構成損失が点群ディスタンスに基づいており、前記抽象化ニューラルネットワークの前記学習損失が重複損失及び領域損失をさらにペナルティとし、及び/又は前記学習損失が前記再構成損失、前記重複損失、及び前記領域損失の加重和に等しい。
前記マージするステップが、候補部分集合のグループ間でマージされるべき前記1つ又は複数の部分集合を決定するステップを備え、前記マージされるべき前記1つ又は複数の部分集合を前記決定するステップは、前記グループのそれぞれの候補部分集合ごとに、前記それぞれの候補部分集合のマージコストのペナルティを含む。
前記マージするステップが、サブセットの候補グループのうちの候補サブセットの前記グループを決定するステップを備え、前記候補サブセットの前記グループを決定するステップが、各候補グループについて、前記各候補グループのすべてのサブセットについて、各サブセットの前記第3のプリミティブ間のマージ互換性のグローバルペナルティを含む。
前記サブセットの候補グループが、前記第3のセットの各パーティションから第3のプリミティブのペアになり、前記候補サブセットのグループを決定するステップが、最小重みマッチングアルゴリズムを含む。
前記抽象化ニューラルネットワークが、
エンコーダーであって、当該エンコーダーは任意選択的に畳み込みニューラルネットワークを備え、及び/又は当該エンコーダーはボクセルグリッドを入力として取り込むように構成され、抽象ニューラルネットワークに入力される3Dモデル化オブジェクトの表現はボクセルグリッドフォーマットに従うエンコーダーと、
プリミティブサイズパラメータ、プリミティブ位置決めパラメータ及びプリミティブ配向パラメータをそれぞれ出力するように構成された3つのサブネットワーク、及び任意選択で、プリミティブ形状パラメータを出力するように構成された1つの追加のサブネットワークであって、任意選択で、少なくとも1つ(例えば、それぞれ)のサブネットワークはそれぞれ完全に接続された層から構成される(例えば、各サブネットワークの第1の数及びそれぞれの出力されたパラメータの数に応じた出力サイズ及び/又は第1の数がハイパーパラメータである)サブネットワークと
を含む。
前記1つ又は複数の第2のセットが複数の第2のセットを含み、前記方法が、それぞれが以下を含む1回以上の反復を含む。
ユーザインタラクションの際に、複数の第2のセットのうちの単一の第2のセットを選択するステップ、及び
選択された第2のセットのグラフィック表現をリアルタイムで表示するステップ。
単一の第4のセットを自動的に選択ステップであって、選択された単一の第4のセットはしきい値以上の連続する反復間のマージ再構成損失の進化に対応するステップと、選択した単一の4番目のセットをマーキングするステップとを有する。
前記抽象化ニューラルネットワークが、それぞれの機械的アセンブリをそれぞれ表す注釈付きでない3Dモデル化オブジェクトを含むデータセット上で教師なし的な方法で学習される。
前記マージするステップが各部分集合の表現をマージングニューラルネットワークに入力するステップを含み、前記マージングニューラルネットワークが前記それぞれの単一の第4のプリミティブを出力する。
前記合流ニューラルネットワークが、
任意選択的に、エンコーダーは畳み込みニューラルネットワークを備え、及び/又はエンコーダーはボクセルグリッド及び/又は点群を入力として取り込むように構成され、マージングニューラルネットワークに入力されるそれぞれのサブセットの表現はそれぞれボクセルグリッドフォーマット又は点群フォーマットに従っており、
プリミティブサイズパラメータ、プリミティブ測位パラメータ及びプリミティブ方位パラメータを各出力するように各構成された3つのサブネットワークと、プリミティブ形状パラメータを出力するように構成された任意選択的に1つの追加のサブネットワークであって、任意選択的に少なくとも1つ(例えば、各)のサブネットワークは各完全に接続された層から構成される(例えば、各のサブネットワークの各の出力パラメータに応じた出力サイズを有する)サブネットワーク
を含む。
前記抽象化ニューラルネットワーク及び前記マージングニューラルネットワークのうちの少なくとも1つが、再構成損失をペナルティとするそれぞれの学習損失に基づいて学習され、任意選択的に、前記再構成損失が点群ディスタンスに基づいており、前記抽象化ニューラルネットワークの前記学習損失が重複損失及び領域損失をさらにペナルティとし、及び/又は前記学習損失が前記再構成損失、前記重複損失、及び前記領域損失の加重和に等しい。
さらに、抽象化ニューラルネットワークを学習するための、及び/又はマージングニューラルネットワークを学習するためのコンピュータ実施方法が提供される。学習のいずれか又は両方は教師なしであってもよく、すなわち、注釈が付けられていないデータセットに基づいてもよい。
さらに、3Dモデル化物体をセグメント化するためのコンピュータ実装方法を実行するための命令と、抽象ニューラルネットワークを学習するためのコンピュータ実装方法と、及び/又はマージングニューラルネットワークを学習するためのコンピュータ実装方法とを含むコンピュータプログラムが提供される。
さらに、コンピュータプログラムが記録されたデータ記憶媒体を含む装置が提供される。この装置は、例えばSaaS、又は他のサーバ、あるいはクラウドベースのプラットフォームなど上で、一時的でないコンピュータ可読媒体を形成するか、又はそのような媒体として機能することができる。デバイスは代替的に、データ記憶媒体に結合されたプロセッサを備えることができる。したがって、装置は全体的又は部分的にコンピュータシステムを形成することができる(たとえば、装置は、システム全体のサブシステムである)。システムは、プロセッサに結合されたグラフィカルユーザーインターフェースをさらに備えることができる。
図1のフローチャートに関連して、機械的アセンブリを表す3Dモデル化オブジェクトをセグメント化するためのコンピュータ実装方法が提案される。この方法は、3Dモデル化オブジェクトを提供するステップS10を含む。方法は、3Dモデル化オブジェクトの表現を抽象化ニューラルネットワークに入力するステップS20をさらに含む。抽象化ニューラルネットワークは、3Dモデル化オブジェクトに適合する第1のプリミティブの第1のセットを出力する。第1のセットは、第1の数の第1のプリミティブからなる。本方法は、第1のセットから、それぞれの第2のプリミティブの1つ又は複数の第2のセットをそれぞれ決定するステップS30をさらに含む。第2のセットは、それぞれの第2の数のそれぞれの第2のプリミティブからなる。第2の数は、第1の数よりも小さい。決定するステップは、第3のプリミティブの第3のセットを第1のセットとして初期化するステップを含む。決定するステップは、1つ又は複数の反復を実行することをさらに含む。各反復は、第3のプリミティブの第3のセットを提供するステップと、第3のプリミティブの1つ又は複数の部分集合を一緒にそれぞれ1つのそれぞれの単一の第4のプリミティブにマージするステップと、それによって、各単一の第4のプリミティブ及び各非マージされた第3のプリミティブからなる第4のプリミティブの第4のセットを取得するステップと、次の反復の第3のセットを現在の反復の第4のセットとして設定するステップとを備える。決定するステップは、1つ又は複数の第2のセットを1つ又は複数の取得された第4のセットとして設定することをさらに含む。
これは、機械的アセンブリを表す3Dモデル化オブジェクトをセグメント化するための改善された方法を構成する。
最初に、第1のプリミティブの第1の設定を決定し、次いで、プリミティブの副設定を共に反復的にマージすることによって、本方法は特に関連性があり、ロバストかつ正確な方法で3Dモデル化オブジェクトをセグメント化することを可能にする。この方法は、抽象化ニューラルネットワーク、すなわち第1のプリミティブの第1のセットの出力から開始する。この第1のセットは、反復プロセスによって出力される1つ又は複数の第2のセットよりも高い粒度を提示する。実際、第1の数は、それぞれの第2の数の各々よりも厳密に高い。したがって、第1の設定は、3Dモデル化オブジェクトのオーバーセグメンテーションと見なすことができる。この第1のオーバーセグメンテーションから出発して、正確な方法で、すなわち、3Dモデル化オブジェクトの微細な幾何学的特徴を考慮することによって、3Dモデル化オブジェクトをセグメント化することが可能になる。
さらに、本方法は反復プロセスに基づいて1つ又は複数の第2のセットを決定し、反復プロセスは、各反復において、プリミティブの1つ又は複数の部分集合をそれぞれ新しいプリミティブにマージすることを含む。したがって、反復プロセスは、各反復において、前の反復中に取得された第4のセットと一致する第4のセットを取得することを可能にする。マージはコヒーレンスを回復するために、3Dモデル化オブジェクトのジオメトリーを局所的に見ることを可能にする。
加えて、本方法は、学習バイアスを低減することを可能にする。実際、第1の微細なセグメンテーションから開始し、次いでマージすることによって、学習データセットの部分と比較して複雑であってもよい機械的アセンブリのジオメトリーをよりよく考慮することが可能になる。さらに、この方法は、学習プロセスの重複を回避する。オーバーセグメンテーションから開始し、次いでプリミティブの部分集合をマージするという事実は、計算時間において妥当なままであることを可能にする。
本明細書における3Dモデル化オブジェクトのセグメンテーションは、3Dモデル化オブジェクトを「セグメント」と呼ばれる別個の部分に分割することを可能にするデータを決定することを意味する。本方法は、そのようなデータを、3Dモデル化オブジェクトにそれぞれ適合する1つ又は複数の第2のプリミティブセットの形態で提供する。第2のセットは、各々1つのセグメンテーションを形成することができ、第2のセットの各プリミティブは、1つのセグメントを表すことができる。
本方法は、例えば、その部分からそれぞれのプリミティブまでの距離に基づいて、3Dモデル化オブジェクトの各部分を少なくとも1つの第2のセット(例えば、各第2のセット又は選択された単一の第2のセット)のそれぞれのプリミティブにマッピングすることをさらに含んでもよい(例えば、3Dモデル化オブジェクトの部分は、最も近いプリミティブにマッピングされてもよい)。方法は、マッピングされた部分をそれに応じてラベル付けすることをさらに含んでもよい。例えば、プリミティブの少なくとも1つの第2の設定について、セグメンテーションは各プリミティブについてそれぞれのラベルを定義/インスタンス化することと、3Dモデル化オブジェクトの各部分をそれぞれのラベルに割り当てること(すなわち、各部分をそれぞれのラベルでマーキングすること)とを含んでもよい。例えば、3Dモデル化オブジェクトは離散的な幾何学的表現(例えば、メッシュ又はそれぞれ点群)を含むことができ、この方法はそれぞれのラベルに、それぞれの離散的素子(例えば、三角形メッシュ又はそれぞれの点の際の三角形のようなメッシュタイル)を割り当てることを含むことができる。割り当ては、それぞれのラベルに対応するプリミティブとの距離に基づいてもよい。例えば、本方法は、3Dモデル化オブジェクトの各部分を最も近いプリミティブに割り当てることができる。機械的アセンブリの部品は、機械的アセンブリを表すメッシュの部分、又は機械的アセンブリを表す3DCADモデルの部分であってもよい。したがって、セグメントはそれぞれ、同じラベルを有する異なる部分に対応してもよい。
この方法は、プリミティブのいくつかのセット(第1、第2、第3、及び第4のセット)を決定する。これらの異なるセットはそれぞれのプリミティブの数を有し、プリミティブの数は、機械的アセンブリの部品の数よりも多くても少なくてもよい。したがって、所与のセットのプリミティブと機械的アセンブリの部品との間には、全射が存在しないことがある。たとえば、所与のセットについて、1つのプリミティブは単一の部品に、又はいくつかの部品に対応してもよい。逆に、依然として所与のセットを考慮すると、機械的アセンブリの一部は所与のセットの単一のプリミティブに、又は所与のセットのいくつかのプリミティブに対応してもよい。
機械的アセンブリは、いわゆる機械的「部品」のアセンブリである。機械的アセンブリは別個の構成要素を形成し、(例えば、固定具、圧入、スナップ留め、又はんだ付けによって)機械的に一緒に組み立てられる別個のピース(すなわち、部品)からなる。本方法は他のセグメントに対するその類似性を最小化しながら、各セグメントの内部整合性を最大化することができる。したがって、各セグメンテーションは機械的アセンブリに対してコヒーレントであり、すなわち、機械的アセンブリ内の部品/構成要素の位置決め/組み立てに対してコヒーレントである。例えば、各セグメンテーションは以下の条件のうちの1つが、機械的アセンブリの各所与の部分によって満たされるようにすることができる:(i)1つ又は複数のセグメントが所与の部分に適合する(すなわち、部品に実質的に一致する)、又は(ii)1つのセグメントが所与の部品を含む部品のグループに適合する。セグメンテーションはさらに、アセンブリが備える部品の種類(例えば、本体部品、ねじ、又は脚)に関してコヒーレントであってもよい。機械的アセンブリはアセンブリライン上に構成要素(すなわち、機械的アセンブリの部品)をまとめるプロセスに基づいて製造されてもよい。セグメンテーションの境界(すなわち、異なるセグメント間)及び機械的アセンブリの境界(すなわち、異なる部分間)は共通である。
3Dモデリングされたオブジェクトのセグメンテーションは3Dモデリングされたオブジェクトが表す機械的アセンブリの改善された理解及び知識を提供し、多くの製造CAD用途(すなわち、設計及び/又は製造工程内)においてさらに有用であってもよい。
第1のアプリケーションでは、セグメンテーションが3Dモデル化オブジェクトの操作又は設計のために使用されてもよい。実際に、セグメンテーションは、3Dモデル化オブジェクトのセグメントを全体として修正及び/又は移動するために使用されてもよい。さらに、プリミティブは、パラメータ化され、したがって、単にプリミティブパラメータ値を変更することによって、CADツールで編集可能にされる。「パラメータ化された」とは、プリミティブがパラメトリック方程式又はパラメトリック関数によって表され、したがって、1つ又は複数のパラメータを含み、1つ又は複数のパラメータがそれぞれの連続範囲内の値をとり得ることを意味する。3Dパラメータ化された幾何学的オブジェクトは離散表現(例えば、点群、メッシュ、デクセル表現)のようなパラメータ化されていない3D幾何学的オブジェクトとは対照的に、メモリにおける容易な操作及び/又は編集可能性及び/又は効率的な記憶を可能にする。したがって、第1のアプリケーションは、ユーザ対話によって1つ又は複数のプリミティブのパラメータを編集することと、そのようなエディションを3Dモデル化オブジェクトのそれぞれのセグメントに自動的に反映することとを含むことができる。
第1のアプリケーションでは、セグメンテーションが3Dモデル化オブジェクトの操作又は設計のために使用されてもよい。実際に、セグメンテーションは、3Dモデル化オブジェクトのセグメントを全体として修正及び/又は移動するために使用されてもよい。さらに、プリミティブは、パラメータ化され、したがって、単にプリミティブパラメータ値を変更することによって、CADツールで編集可能にされる。「パラメータ化された」とは、プリミティブがパラメトリック方程式又はパラメトリック関数によって表され、したがって、1つ又は複数のパラメータを含み、1つ又は複数のパラメータがそれぞれの連続範囲内の値をとり得ることを意味する。3Dパラメータ化された幾何学的オブジェクトは離散表現(例えば、点群、メッシュ、デクセル表現)のようなパラメータ化されていない3D幾何学的オブジェクトとは対照的に、メモリにおける容易な操作及び/又は編集可能性及び/又は効率的な記憶を可能にする。したがって、第1のアプリケーションは、ユーザ対話によって1つ又は複数のプリミティブのパラメータを編集することと、そのようなエディションを3Dモデル化オブジェクトのそれぞれのセグメントに自動的に反映することとを含むことができる。
代替的又は追加的に、第1のアプリケーションは、異なる3Dモデル化オブジェクト内の同一のセグメント及び/又は同じオブジェクト内の同じセグメントのいくつかの発生を識別することを含んでもよい。次いで、第1のアプリケーションはメモリ内の同一のセグメントを複製する代わりに、同一のセグメントの各々について(及び/又はいくつかのオカレンスの各々について)単一のセグメントをメモリ内に記憶し、同一のセグメント(及び/又はいくつかのオカレンス)への参照を追加すること、言い換えれば、メモリ内の単一のオブジェクトのインスタンスを呼び出すことによって、データを再編成することを備えてもよい。データのこの再編成は効率的なメモリ記憶を得るために、セグメンテーションの後に実行されてもよい。
第2のアプリケーションでは、セグメンテーションがデータベースから3Dモデル化オブジェクトに部品をインポートするために使用されてもよい。例えば、第2のアプリケーションは、1つ又は複数のセグメントをデータベースからの1つ又は複数の部品とマッチングさせることと、3Dモデル化オブジェクトにおいて、1つ又は複数のセグメントを、1つ又は複数のセグメントにマッチングするデータベースからインポートされた1つ又は複数の部品と置き換えることとを備えてもよい。データベースからインポートされる1つ又は複数の部品は追加の情報(例えば、パラメトリック表現、名前、材料のタイプ、又は特定の製造プロセス)を含むことができる。したがって、データベースからの部品のインポートは、3Dモデル化オブジェクトを強化することを可能にする。
第3のアプリケーションでは、セグメンテーションが部品のライブラリを構築するために使用されてもよい。部品のライブラリは、他の機械的アセンブリにおける部品の再使用目的のために参照されてもよい。例えば、第3のアプリケーションは3Dモデル化オブジェクトのセグメントを部品のライブラリに追加することと、別の機械的アセンブリの設計中に、別の機械的アセンブリ内の追加されたセグメントのうちの1つ又は複数を再使用することとを含んでもよい。
本方法の第4のアプリケーションでは、本方法によってもたらされる1つ又は複数のセグメント化が再メッシュ化(すなわち、提供された3Dモデル化オブジェクトが3Dメッシュである場合)又は再サンプリング(すなわち、提供された3Dモデル化オブジェクトが3D点群である場合)のために使用されてもよい。この再メッシュ化/再サンプリングを使用して、3Dモデル化オブジェクトをノイズ除去(例えば、特に3D点群のための外れ点の除去、又は特に3Dメッシュのための3Dモデル化オブジェクトの外面の平滑化)することができる。追加的又は代替的に、3Dメッシュを、機械的アセンブリを表すいくつかの3Dメッシュに効率的に分割するために、すなわち、それぞれが機械的アセンブリのそれぞれの部分に対応する複数の3Dメッシュを取得するために使用されてもよい。提供される3Dモデル化オブジェクトが3D点群である場合、メカニカルアセンブリに対して3D点群を分割するために使用されてもよい。この際、この方法は、点群の各点部分に属するかを定義するために使用することができる。
本方法の第5のアプリケーションでは、本方法によってもたらされるセグメンテーションが3Dモデル化オブジェクトの異常(例えば、製造異常)を検出するために使用されてもよい。このアプリケーションは、機械的アセンブリが有するべき特性の利用可能な知識を、方法によって出力されたセグメンテーションのセグメントと比較することを含んでもよく、それによって、機械的アセンブリにおける欠陥又は異常に関する情報をもたらす。例えば、利用可能な知識は、「所与の機械的アセンブリが6つの機械的部品を有するべきである」又は「通常の部品がいかなる小さい面部分も有するべきではない」などの情報を含んでもよい。機械的アセンブリを表す3Dモデル化オブジェクトが6つの機械的部品に対応しないいくつかのセグメントにセグメント化される場合、又はいくつかのセグメントが小さい面部分を表す場合(たとえば、1つのプリミティブが小さい面部分を表すパラメータを有する場合)、本方法は所与のアセンブリ特徴が異常(すなわち、製造欠陥)を特徴付けるように、3Dモデル化オブジェクトが異常を特徴付けることを控除することを含んでもよい。
代替的又は追加的に、セグメンテーションは将来の製造のための特定の基準、例えば、3D印刷のための各セグメントの最大サイズが尊重されることを検証するために、第5のアプリケーションにおいて使用されてもよい。第5のアプリケーションは、セグメンテーションがオブジェクトを、製造を担当する機械と互換性のある最大サイズのセグメントにセグメント化することを検証することを含んでもよい。
第6のアプリケーションでは、セグメント化がデータセットに(セグメント化されたオブジェクトに)自動的に注釈を付けるために使用されてもよい。次いで、注釈付きデータセットはたとえば、学習タスク(たとえば、弁別的又は生成的)のために使用されてもよい。
この方法によって出力されるセグメンテーションは3D形状セグメンテーションの他のアプリケーション、例えば、3D変形、3Dレンダリング(幾何学的/材料特性計算、オクルージョンカリング、シャドウ決定)、3D動画及び/又は形状コンプレッションにおいて使用されてもよい。例えば、この方法は、3Dシーン内のオブジェクトを検出するために使用することができる。3D形状のセグメンテーションは例えば、セグメントに基づいて、3D形状のCADツリーを生成するための第1のステップであってもよい。
引き続き図1のフローチャートを参照して、3Dモデル化オブジェクトを提供するステップS10について説明する。3Dモデル化オブジェクトを提供するステップS10に関する議論に先立って、その中に含まれるデータストラクチャがここで議論される。
本方法は3Dモデル化オブジェクトをセグメント化するためのものであり、その結果、本方法は一般に、モデル化オブジェクトを操作する。モデル化オブジェクトは、例えばデータベースに格納されたデータによって定義される任意のオブジェクトである。拡張により、表現「モデル化オブジェクト」は、データ自体を指定する。システムのタイプに応じて、モデル化された被写体は、異なる種類のデータによって定義されてもよい。システムは、実際にはCADシステム、CAEシステム、CAMシステム、PDMシステム、及び/又はPLMシステムの任意の組み合わせであってもよい。これらの異なるシステムでは、モデル化されたオブジェクトが対応するデータによって定義される。したがって、CADオブジェクト、PLMオブジェクト、PDMオブジェクト、CAEオブジェクト、CAMオブジェクト、CADデータ、PLMデータ、PDMデータ、CAMデータ、CAEデータについて言うことができる。しかしながら、モデル化オブジェクトはこれらのシステムの任意の組み合わせに対応するデータによって定義されてもよいので、これらのシステムは他のシステムのうちの1つを排他的にするものではない。
3Dモデル化オブジェクトは、機械的アセンブリを表す。「3Dモデリングされたオブジェクト」とは、その3D表現を可能にするデータによってモデリングされる任意のオブジェクトを意味する。3D表現は全ての視点から(例えば、様々な角度及び/又は距離から)機械的アセンブリを見ることを可能にする。例えば、3Dモデル化オブジェクトは3D表現されたとき、処理され、その軸のいずれかの周りに、又は表現が表示される画面内の任意の軸の周りに回転されてもよい。これは、例えば、機械的アセンブリの異なる部品を検査することを可能にする。これは特に、3Dモデル化されていない2Dアイコンを除外する。3D表現の表示は設計を容易にする(すなわち、設計者が統計的にそのタスクを達成する速度を増加させる)。これは、製品の設計が製造工程の一部であるため、産業界における製造工程を高速化する。
3Dモデル化オブジェクトは例えば、CADソフトウェアソリューション又はCADシステムを用いた仮想デザインの完了後に現実世界で製造される製品(すなわち、機械的アセンブリ)のジオメトリーを表す。3Dモデル化オブジェクトは機械的アセンブリを表し、したがって、複数の部品を含む。機械的アセンブリの製造は、機械的アセンブリの部品をアセンブリライン上に集めることからなるプロセスを含むことができる。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に加えて、この方法は、抽象化ニューラルネットワークによって実行される第1のセグメンテーションステップS20を含む。抽象化ニューラルネットワークは3Dモデル化オブジェクトの表現を入力として受け取り、プリミティブの第1のセットを出力する任意のニューラルネットワークである。ニューラルネットワークは、3Dモデル化オブジェクトの初期表現をプリミティブのセットに抽象化する能力に関連して、「抽象化」ニューラルネットワークと呼ばれる。プリミティブの第1のセットは3Dモデル化オブジェクトの入力表現に適合するプリミティブのセットであり、プリミティブのセットは、3Dモデル化オブジェクトの空間分布を再現する空間分布を定義することを意味する。第1のプリミティブの各々は3Dモデル化オブジェクトのそれぞれの部分、すなわち、機械的アセンブリのそれぞれの部分を表す。
第1のセットは第1の数の第1のプリミティブからなり、第1の数は予め決定されてもよい(すなわち、抽象化ニューラルネットワークの入力のどちらでも同じ値)。例えば、第1の数は機械的アセンブリの部品の数よりも多い、例えば、部品の数の2倍よりも多い、又は3倍であってもよい。これは、3Dモデル化オブジェクトの第1の微細なセグメンテーション(オーバーセグメンテーション)を達成することを可能にする。例では、第1の数がデフォルト値、たとえば、32、又はユーザによって選択された値であってもよい。例えば、ユーザは所定の組の機械的アセンブリをセグメント化することを望んでもよく、第1の数は所定の組のすべての機械的アセンブリが第1の組のプリミティブによって十分に正確に表されてもよいように十分に大きい選択されてもよい。方法は出力されたプリミティブの第1のセットを、例えば、メモリに記憶することができる。
抽象化ニューラルネットワークは、3Dオブジェクトのデータセット(例えば、メッシュ又は点群)上で学習されて、3Dモデル化物体の入力表現に適合する基本要素のセットを出力するニューラルネットワークである。学習中、抽象化ニューラルネットワークは、プリミティブのセットの形態で所与の形状表現のプリミティブ抽象化を推論することを学習する。
本方法はプリミティブのセット(すなわち、それぞれ、第1、第2、第3、又は第4のプリミティブの第1、第2、第3、又は第4のセット)を操作する。プリミティブは有限数のパラメータ、例えば、100又は50又は15未満のパラメータから完全に決定される幾何学的形状である。各パラメータは整数値又は実数値(例えば、浮動小数点によって数値的に表される)とすることができる。本方法において考慮される各プリミティブは、機械的アセンブリの材料の一部を画定する。この区切りは、プリミティブを構成する幾何学的形状である。したがって、決定されたプリミティブの各々は、機械的アセンブリの材料のそれぞれの部分を表す。したがって、プリミティブを決定するステップは、プリミティブのそれぞれのパラメータを決定することを意味する。プリミティブパラメータは、プリミティブのサイズを表すパラメータ(サイズパラメータ)と、プリミティブの位置決めを表すパラメータ(プリミティブ位置決めパラメータ)と、プリミティブの配向を表すパラメータ(プリミティブ配向パラメータ)とを備えてもよい。プリミティブパラメータは、プリミティブの形状を表すパラメータ(プリミティブ形状パラメータ)を含むこともできる。例では、プリミティブが1つ又は複数の直方体を備えてもよい。代替的に又は追加的に、プリミティブは、1つ又は複数の超楕円体を含むことができる。
さらに図1のフローチャートを参照すると、第1のセグメンテーションステップS20に加えて、方法は第1のセットから、それぞれの第2のプリミティブの1つ又は複数の第2のセットをそれぞれ決定するステップS30を含む。各第2のセットは、それぞれの第2の数のそれぞれの第2のプリミティブからなる。各第2のセット(すなわち、各第2の数)のプリミティブの数は、第1の数よりも少ない。実際、第2のセットは、各反復において、プリミティブの1つ又は複数の部分集合をマージする反復プロセスに基づいて計算される。各第2のセットは、それぞれの数のプリミティブを有する。例えば、各第2のセットは、それ自体の数のプリミティブ、すなわちその他第2のセットのプリミティブとは異なるプリミティブを有することができる。
ここで、反復プロセスをより詳細に説明する。決定ステップS30は、第3のプリミティブの第3の集合を第1の集合として初期化することを含む。第3のセットは、反復プロセスを実行するために方法によって使用される。特に、第3の設定は最初に各反復において(すなわち、開始するために)、前の反復において得られた設定を考慮するために使用される。第3の集合を初期化するために、方法は、第1の集合がメモリに記憶されている位置を指し示すことができる。あるいは、方法が第1のセットを第3のセット専用のメモリ位置にコピーすることができる。
初期化の後、決定ステップS30は1つ又は複数の反復を実行することを含み、各反復は、それぞれの第4のセットを取得することを可能にする。各反復は、第3のプリミティブの第3のセットを提供することを含む。第1の反復について、提供される第3のセットは初期化された第3のセットであり、各後続の反復について、第3のセットは、前の反復で得られた第4のセットである。各反復は、第3のプリミティブの1つ又は複数の部分集合をそれぞれ1つの単一の第4のプリミティブに一緒にマージすることをさらに含む。マージはプリミティブのサブセットを単一の一意のプリミティブ(すなわち、単一の第4のプリミティブ)に置き換える演算である。この一意のプリミティブは、この一意のプリミティブがサブセットのプリミティブに適合することを意味する、サブセットのプリミティブの結合から生じる。したがって、マージは幾何学的情報の誘導損失を最小限に抑えながら、プリミティブの件数を減らすことを可能にする。マージはプリミティブの所与の部分集合について、幾何学的情報のこの損失を最良に最小化する単一のプリミティブ(すなわち、プリミティブの部分集合に適合する単一のプリミティブ)を計算することができる。したがって、マージはプリミティブの部分集合を入力として取り、プリミティブの部分集合を表す単一のプリミティブを出力することができる。代替として、マージは、いくつかのプリミティブを出力してもよい。マージはプリミティブのいくつかの部分集合を計算し得、各部分集合について、それぞれの単一のプリミティブを計算してもよい(すなわち、マージは、プリミティブの各入力された部分集合について1つの単一のプリミティブを出力してもよい)。マージの計算は並列化することができる(例えば、各部分集合について1つの計算)。あるいは、各部分集合のマージの計算が連続的に実行されてもよい。
第4のセットは各単一の第4のプリミティブ(すなわち、マージされたサブセットごとに1つの第4のプリミティブ)と、各マージされていない第3のプリミティブ(すなわち、1つ又は複数のサブセットに含まれない第3のプリミティブ)とからなる。したがって、第4のセットは、各マージされたサブセットのプリミティブが単一のプリミティブに置き換えられるまで、第3のセットに相当する。各反復は現在の反復の第4のセットとして次の反復の第3のセットを設定する(すなわち、固定する/決定する)ことをさらに含む。言い換えれば、所与の反復の第4のセットは、後続の反復の第3のセットになる。本方法は例えば、メモリ内で、マージされた各部分集合のプリミティブパラメータを、計算された単一の第4のプリミティブのパラメータと置き換えることができる。したがって、各反復において、第3のセットのメモリサイズが減少し、第3のセットのプリミティブの数が減少する。
1回以上の反復の後、決定ステップS30は1つ以上の第2のセットを1つ以上の取得された第4のセットとして設定(すなわち、固定/決定)することを含む。言い換えれば、1つ又は複数の第2のセットは、反復を通して得られる1つ又は複数の第4のセットであると決定される。方法は例えば、1つ又は複数の取得された第4のセットをメモリに記憶し、1つ又は複数の第2のセットを、取得された第4のセットのうちの1つ又は複数のメモリ内の位置を指すことによって設定することができる。代替的に、方法は、取得された第4のセットのうちの1つ又は複数をコピーしてもよい。例では、決定ステップS30が1回の反復を実行することができる。この場合、単一の第4のセットが得られ、第2のセットは得られた単一の第4のセットである。別の例では、方法が2回の反復を実行し、それによって、2つの第4のセットを取得することができる。この場合、方法は第2のセットを2つの取得された第4のセットのうちの1つとして設定することができ、あるいは、2つの第2のセットを2つの取得された第4のセットとして設定することができる。別の例では、方法が3回の反復を実行することができ、方法は1つ、2つ、又は3つの第2のセットを、それぞれ、取得された3つの第4のセットのうちのいずれか1つ、取得された第4のセットのうちのいずれか2つ(たとえば、最初及び最後に取得された第4のセット)、又は取得された第4のセットのうちの3つとして設定することが。本方法は任意の等しいnの反復を実行し、任意の等しいmの第2のセットを設定することができ、等しいmは、反復の等しいn以下であることが理解される。例えば、この方法は例えば、2つの連続する反復のうちの1つの反復の後に連続して得られる4つのセットを選択することによって、又は3つの連続する反復のうちの1つの反復のために、又は連続する反復の数iのうちの1つの反復のために、第4のセットの数よりも実質的に2倍低い数の第2のセットを設定することができる(iは正の整数である)。
各反復において、第3のプリミティブの1つ又は複数の部分集合は、各々が1つのそれぞれの単一の第4のプリミティブに一緒にマージされる。プリミティブの部分集合をマージする手段に、部分集合のプリミティブを1つのプリミティブにまとめる、すなわち、部分集合のプリミティブを表す(すなわち、部分集合のプリミティブのマージである)単一のプリミティブを形成する。単一プリミティブは部分集合に適合する、すなわち、部分集合のプリミティブの和集合が表す空間分布を表す。各反復において、第3のプリミティブの1つ又は複数の部分集合をマージするステップは、各反復において、得られた第4のセットのプリミティブの数が与えられた第3のセットのプリミティブの数よりも少ないことを意味する。その結果、得られた第4の組のプリミティブの数は、各反復において連続的に低減される。したがって、(1つ又は複数の取得された第4のセットとして設定される)1つ又は複数の第2のセットはプリミティブの数が減少する(又は代替的に、増加する)ことによって順序付けられ得、各第2のセットは、それ自体の別個の数のプリミティブを有する。したがって、本方法は3Dモデル化オブジェクトの1つ又は複数のセグメンテーションを効率的に、かつロバストな方法で提供することを可能にし、提供されるセグメンテーションの各々は、他のセグメンテーションよりも細かいか又は粗い。
マージするステップは、候補部分集合のグループ間でマージされるべき1つ又は複数の部分集合を決定することを備えてもよい。候補サブセットは、n個の素子の順序付けられていないセットである(ここでは素子は第3のプリミティブである)。各候補サブセットはたとえば、2つの第3のプリミティブ(第3のプリミティブのペア)又は3つの第3のプリミティブを備えてもよい。グループの候補サブセットは、異なる数のプリミティブを有してもよい。いくつかの候補部分集合は2つの第3のプリミティブを備え得、いくつかの他の候補部分集合は第3のプリミティブのうちの2つよりも大きい数を備えてもよい。代替的に、グループの各候補サブセットは同じ数のプリミティブ(たとえば、2つ又は3つの第3のプリミティブ)を有してもよい。この場合、マージされる1つ又は複数の部分集合も同じ数のプリミティブを有する。各第3のプリミティブは、候補サブセットに含まれ得る。各候補サブセットは、2つ以上の第3のプリミティブを含む。したがって、第3のプリミティブの一部は、グループの候補サブセットのうちの1つに含まれ得る。代替として、第3のプリミティブの各々は、グループの1つ又は複数のそれぞれの候補サブセットに含まれ得る。例えば、各第3のプリミティブは、グループの正確に1つの候補サブセットに含まれ得る。この場合、候補サブセットのグループは、第3のプリミティブのパーティションを形成する。候補部分集合のグループは、候補部分集合の結合が第3のセットに等しく、候補部分集合が2つずつ互いに素である場合、第3のプリミティブの第3のセットの区分である。
マージされるべき1つ又は複数のサブセットの前記決定はグループのそれぞれの候補サブセットごとに、それぞれの候補サブセットのマージコストのペナルティを含んでもよい。マージされるべき1つ又は複数の部分集合は、最も低いマージコストを有する1つ又は複数の候補部分集合であってもよい。マージされるべき1つ又は複数の部分集合は、しきい値よりも低いマージコストを有する1つ又は複数の候補部分集合であってもよい。代替的に、マージされるべき1つ又は複数の部分集合は、n個の候補部分集合が与えられると、候補部分集合の中で最も低いマージコストを有するn個の候補部分集合であってもよい。この場合、方法は例えば、候補部分集合の各々についてマージコストを計算することと、マージコストを増加させることによって候補部分集合を順序付けることと、最も低いマージコストを有するn個の1つ又は複数の部分集合を選択することによってマージされるべき1つ又は複数の部分集合を決定することとを含むアルゴリズムを実行することができる。他のアルゴリズム、特に、候補部分集合の各々についてマージコストを計算することなくマージコストを最小化する1つ又は複数の部分集合を決定することを可能にするアルゴリズムを使用して、1つ又は複数の部分集合を決定することができる。マージコストは2つ以上のプリミティブをマージするためのコスト、すなわち、これら2つ以上のプリミティブをまとめるための努力を修飾する量である。プリミティブの部分集合をマージするステップは、部分集合のプリミティブ(すなわち、部分集合のプリミティブの和集合の空間分布)を表す単一のプリミティブを形成することであってもよい。したがって、損失は、単一のプリミティブが表す空間分布と、サブセットのプリミティブの結合の空間分布との間の差分又は誤差の範囲に対応してもよい。差が大きいほど、マージコストは高くなってもよい。したがって、サブセットのマージコストは、サブセットのプリミティブがマージされるときのジオメトリー情報の損失を定量化することができる。これは、3Dモデル化オブジェクトの正確な1つ以上のセグメント化を達成することを可能にする。
マージするステップは、第3のセットのパーティション間の候補サブセットのグループを、それぞれ第3のプリミティブのペアに決定することを備えてもよい。この場合、部分集合は、第3のプリミティブの別個のペアである。したがって、各パーティションは、第3のプリミティブの対の間のエッジ集合と見なされてもよい。候補サブセットのグループの決定は、最小重みマッチングアルゴリズムを含んでもよい。実数又は整数のエッジ重み(又はコスト)が与えられると、最小重みマッチングアルゴリズムはその関連するエッジ重みの合計を最小化するマッチング(すなわち、パーティション)を計算することを含む。したがって、最小重みマッチングは、エッジ重みの合計を最小化する区分を決定することを可能にする。所与のエッジ(又はペア)の重みは、たとえば、所与のペアの第3のプリミティブ間の距離に基づいてもよい。したがって、決定されたパーティションは、ペア間の距離を最小化するパーティションであってもよい。距離は例えば、各対の2つのプリミティブ間、例えば、それらの外面間、又はそれらの中心間の幾何学的距離であってもよい。
したがって、最小重みマッチングアルゴリズムは候補パーティション間で最小化するパーティションを選択し、各候補グループのすべての部分集合について、各部分集合の第3のプリミティブ間の各距離をグローバルペナルティ化する。他のアルゴリズムを使用して、グローバルペナルティ化を最小化する候補パーティションの中からパーティションを選択することができる。本方法は、第3の組の各対への分割に限定されない。本方法は、第3のセットのパーティションを、3つの第3のプリミティブのサブセット、又は任意の数nの第3のプリミティブのサブセットにそれぞれ検討することができる。考慮されるパーティションに応じて、特定のアルゴリズムを使用することができる。
より一般的には、本方法が第3のプリミティブのサブセットの任意のグループを考慮することができる。したがって、マージは、サブセットの候補グループの中から候補サブセットのグループを決定することを備えてもよい。候補部分集合のグループの前記決定はそれぞれの候補グループごとに、それぞれの候補グループのすべての部分集合について、マージ互換性のグローバルペナルティを含んでもよい。マージ互換性は、マージの適合性を修飾する任意の量であってもよい。マージ互換性は、幾何学的距離などの距離であってもよい。マージ相溶性は、特に超楕円体の場合、主軸間の差であってもよい。
抽象化ニューラルネットワークは、エンコーダーを備えてもよい。エンコーダーは、入力された3Dモデル化オブジェクトを符号に変換する構成要素である。したがって、エンコーダーは、入力された3Dモデル化オブジェクトの形式に依存してもよい。選択的に、エンコーダーは、畳み込みニューラルネットワークを含むことができる。これに加えて、又はこれに代えて、エンコーダーは、入力としてボクセルグリッドを取るように構成されてもよい。抽象化ニューラルネットワークに入力される3Dモデル化オブジェクトの表現は、ボクセルグリッドフォーマットに従ってもよい。
抽象化ニューラルネットワークはまた、プリミティブサイズパラメータ、プリミティブ測位パラメータ、及びプリミティブ方位パラメータをそれぞれ出力するように構成された3つのサブネットワークを備えてもよい。任意選択で、抽象化ニューラルネットワークは、プリミティブ形状パラメータを出力するように構成された1つの追加のサブネットワークをさらに備えることができる。任意選択で、少なくとも1つのサブネットワークは、それぞれ完全に接続された層から構成されてもよい。例えば、各サブネットワークは、それぞれの完全に接続された層から構成されてもよい。それぞれの完全に接続された層は、第1の数及びそれぞれの出力パラメータの数に応じて出力サイズを有することができる。追加又は代替として、第1の数(すなわち、第1のセットのプリミティブの数)は、ハイパーパラメータであってもよい。
1つ以上の第2のセットは複数の第2のセット、例えば、2つ以上の第2のセットを含んでもよい。この場合、本方法は、各々を含む1つ以上の相互作用をさらに含むことができる:
ユーザインタラクションの際に、複数の第2のセットのうちの単一の第2のセットを選択するステップ、及び
選択された第2のセットのグラフィック表現をリアルタイムで表示するステップ。
ユーザインタラクションの際に、複数の第2のセットのうちの単一の第2のセットを選択するステップ、及び
選択された第2のセットのグラフィック表現をリアルタイムで表示するステップ。
1つ又は複数のインタラクションは、方法によって実行されるユーザインタラクションツールを介して実行されてもよい。本方法は例えば、1つの相互作用を含むことができる。選択は、スライドバーに基づいて実行されてもよい。スライドバー(又はトラックバー)は、ユーザがインジケータを例えば水平に動かすことによって値を設定することができるグラフィカル制御要素である。ユーザが設定してもよい値は、第2のセットの各々に対応してもよい。したがって、値を設定することによって、ユーザは、第2のセットのうちの1つを選択することができる。したがって、ユーザは、インジケータを移動させることによって値を設定することができる。あるいは、ユーザがスライドバー上のポイントを直接クリックして、値を設定してもよい。選択された第2のセットのグラフィック表現はスライドバーの近く、例えば、スライドバーの上に表示されてもよい。各連続する対話において、前の対話において表示されたグラフィック表現は、新しいグラフィック表現によって置き換えられてもよい。したがって、ユーザは、第2のセット間をナビゲートすることができる。例えば、ユーザは、第4のセットの各々の間をナビゲートすることができる。
本方法は、単一の第4のセットを自動的に選択することをさらに含むことができる。選択された単一の第4の組は、連続する反復間のマージ再構成損失の発展がしきい値よりも高いことに対応してもよい。本方法は、選択された単一の第4の組をマーキングすることをさらに含むことができる。第1のオプションでは、1つ又は複数の第2のセットが単一のマークされた選択された第4のセットであってもよい。言い換えれば、単一のマークされた選択された第4のセットで1つの第2のセットのみが存在する。第2のオプションではいくつかの第2のセットがあり、単一のマークされた選択された第4のセットは第2のセットのうちの1つ。この第2のオプションでは、ユーザがスライドバーを介して第2のセット間をナビゲートすることができ、単一のマークされた選択された第4のセットに対応するスライドバーの値を強調表示することができる。したがって、この方法は、予測された最適な第2の組を自動的にマークすることができる。
抽象化ニューラルネットワークは、各々がそれぞれの機械的アセンブリを表す注釈付きでない3Dモデル化オブジェクトを含むデータセット上で教師なしの方法で学習されてもよい。教師なし学習のために、データセットの3Dモデル化された物体は、学習損失のためのネットワークトゥルースとグラウンドトゥルースの両方の入力として使用されるように前処理されてもよい。
マージするステップは、各部分集合の表現をマージングニューラルネットワークに入力することを含んでもよい。マージングニューラルネットワークは、それぞれの単一の第4のプリミティブを出力してもよい。
マージングニューラルネットワークは、エンコーダーを備えてもよい。任意選択的に、エンコーダーは畳み込みニューラルネットワークを含んでもよい。代替的又は追加的に、エンコーダーは、入力としてボクセルグリッド又は点群を取るように構成されてもよい。エンコーダーはまた、入力としてボクセルグリッド及び点群の両方を取るように構成されてもよい。マージングニューラルネットワークは、入力としてボクセルグリッドフォーマットを取ってもよい。これに代えて、又はこれに加えて、マージングニューラルネットワークは、点群形式を取ってもよい。
マージングニューラルネットワークはまた、プリミティブサイズパラメータ、プリミティブ測位パラメータ、及びプリミティブ方位パラメータをそれぞれ出力するように構成された3つのサブネットワークを備えてもよい。任意選択で、マージングニューラルネットワークは、プリミティブ形状パラメータを出力するように構成された1つの追加のサブネットワークを含むこともできる。任意選択で、少なくとも1つのサブネットワークは、それぞれ完全に接続された層から構成されてもよい。例えば、各サブネットワークは、それぞれの完全に接続された層から構成されてもよい。各完全接続層は、各サブネットワークのそれぞれの出力パラメータに応じて出力サイズを有することができる。
抽象化ニューラルネットワーク及びマージングニューラルネットワークのうちの少なくとも1つは、それぞれの学習損失に基づいて学習されてもよい。それぞれの学習損失は、再構成損失にペナルティを課すことができる。抽象化ニューラルネットワーク及びマージングニューラルネットワークの両方はたとえば、それぞれの学習損失に基づいて学習されてもよい。任意選択で、再構成損失は、点群間隔に基づいてもよい。抽象化ニューラルネットワークの学習損失は、重複損失及び領域損失をさらにペナルティとすることができる。代替的に又は追加的に、学習損失は、再構成損失、重複損失、及び領域損失の加重和に等しくてもよい。
次に、この方法の実施について説明する。
いくつかの前提条件が最初に導入される。
ディープニューラルネットワーク(DNN):それらはニューラルネットワークにおける学習のための強力な技術の集合であり、これはコンピュータが観察データから学習することを可能にする生物学的にインスパイアされたプログラミングパラダイムである。画像認識では、DNNの成功が他の画像分類方法(例えば、SVM、ブースティング又はランダムフォレスト)で使用される手で設計された低レベル特徴(例えば、ゼルニケモーメント、HOG、Bag-of-Words又はSIFT)とは対照的に、リッチな中間レベルメディア表現を学習する能力に起因する。より具体的には、DNNが生データに基づくエンドツーエンド学習に焦点を当てている。言い換えれば、それらは、未加工の特徴で始まりラベルで終わるエンドツーエンド最適化を達成することによって、特徴量工学から可能な限り最大限に脱却する。
超楕円体:数学では、超楕円体(「超楕円体」とも呼ばれる)が11個のパラメータのセットによってパラメータ化される立体である。コンピュータグラフィックプリミティブとしての超楕円体は、Alan HBarr(超楕円体とスーパートロイドの両方を指す“超二次関数(superquadrics)”という名前を用いた)によって普及した。しかし、いくつかの超楕円体は超二次関数であるが、どちらのファミリも他方には含まれない。これらのタイプのプリミティブの選択、及びそれらがどのように正確にパラメータ化されるかについては、後で説明する。
プリミティブ:「プリミティブ」という用語は幾何学的な意味で使用され、プリミティブは一パラメータセットによってパラメータ化された幾何学的な立体である。プリミティブの例には、立方体及び超楕円体が含まれる。
プリミティブ抽象化:幾何プリミティブを使用してオブジェクトを組み立てることを指す。
オーバーリファインされたプリミティブ抽象化:プリミティブの数がプリミティブの最適な数よりも多いプリミティブ抽象化を指す。プリミティブの最適な数は、ユーザの入力であってもよい。あるいは、最適なプリミティブ数が自動的に決定されてもよい。
マージ:プリミティブをマージする手段に、プリミティブの元のセットを表す最適な単一のプリミティブを計算し、プリミティブの入力セットをこの単一のプリミティブに置き換える。最適性は、入力プリミティブと出力プリミティブとの間の幾何学的距離によって反映されてもよい。
教師なし学習は人間がラベル付けされたデータを通常利用する教師あり学習とは対照的に、既存のラベルがなく、人間の注釈もないデータセット内の以前に検出されていないパターンを探す機械学習の一種である。
ボクセルグリッド:ボクセルグリッドはピクセルグリッドの3D等価物であり、それらは、3D正規グリッドであり、各ボクセルにおいて2つの可能な値、すなわち、フル又は空である。
この方法は、オフライン段階とオンライン段階の2つの段階で分解されるフレームワークを実装することができる。オフライン段階では、本方法が2つのニューラルネットワーク(第1のニューラルネットワーク及び第2のニューラルネットワーク)を独立してトレーニングすることを含む。このオフライン段階は、ユーザにとって透過的である。第1のニューラルネットワーク(「最初の抽象化ネットワーク」とも呼ばれる)は、3Dオブジェクトのデータセットについて学習される。第1のニューラルネットワークは、3Dオブジェクトとプリミティブのセットとの間の再構成損失を最小化することによって、3Dオブジェクトを最も良く表すプリミティブのセットのパラメータを出力することを学習する。結果は、過度に洗練されたプリミティブ抽象化である。第2のニューラルネットワークはデータセット上で学習され、データセットの各インスタンスはプリミティブを記述するパラメータのセットである。第2のニューラルネットワークは、入力として与えられるプリミティブのセットを最も良く表す単一のプリミティブのパラメータを出力することを学習する。
オンライン段階は、3つのステップを含む。第1のステップでは提供された3Dオブジェクトが与えられると、この方法は最初の抽象化回路網を使用して、第1のオーバーリファインされた基本抽象化を得る。第2のステップではこの最初の抽象化が与えられると、この方法は抽象化を単純化するために反復アルゴリズムを適用する。このアルゴリズムは、2つの主要なステップから構成される:
マージするプリミティブの最適なセットを選択するステップ、及び
それらをマージする、すなわち、これらのプリミティブを1つの新しいプリミティブに置き換えるステップ。
それらをマージする、すなわち、これらのプリミティブを1つの新しいプリミティブに置き換えるステップ。
したがって、この方法はプリミティブ要素の1つ又は複数のセットを計算し、これらのセットの各々は、提供された3Dオブジェクトの所与のセグメント化に対応する。
第3のステップでは、マージアルゴリズムが実行されると、方法はユーザが最終抽象化のために所望の数のプリミティブを選択することを可能にし、及び/又は方法が自動的に最適抽象化を決定する。したがって、本方法は、提供された3Dモデル化オブジェクトの1つ又は複数のセグメンテーションの中から所与のセグメンテーションを選択又は自動的に決定することを可能にする。
ここで、実装をより詳しく提示する。まず、フレームワークの2つの段階について議論する。次に実装内容を示す。最後に、いくつかの定性的結果を示す。
図2のフローチャートを参照して、本方法が実装してもよいフレームワークの2つの段階を説明する。
上述のように、オフライン段階は、2つの別個のニューラルネットワークを学習するステップを含む(S50及びS60)。次に、第1のニューラルネットワーク(「初期抽象化ネットワーク」とも呼ばれる)の学習ステップS50について説明する。最初の抽象化回路網は例えば[11]のように、3Dオブジェクトのデータセット、すなわち3D形状(例えば、網目又は点群)のセット上で学習される(S50)。最初の抽象化ネットワークは、プリミティブパラメータのセットの形成で、所与の形状表現のプリミティブ抽象化を推論することを学習する。この方法は、学習損失(教師なし学習)のためのネットワークトゥルース及びグラウンドトゥルースの両方の入力として使用される3Dオブジェクトを前処理するステップを含むことができる。入力はボクセルグリッド(3D CNNエンコーダーを使用する)、点群(点群エンコーダー、例えば、ポイントネット[15]を使用する)、又はメッシュ(例えば、[13]に記載のエンコーダーを使用する)であってもよい。この実装では、3Dボクセルグリッドエンコーダーを最初の抽象化回路網への入力として使用し、点群を再構成損失のグラウンドトゥルースとして使用する。他の実装では、この方法が最初の抽象化回路網への入力と、再構成損失、例えば点群形式のグラウンドトゥルースとに同じ形式を使用することができる。ボクセルグリッドフォーマットは、2つの理由で関連する。第1に、ボクセルグリッドフォーマットは、表面の詳細が必要とされない可能性があるので、十分であってもよい粗い解像度を得ることを可能にする。第2に、ボクセルグリッドは局所的に異なる密度(実際にはボクセルが0又は1などの離散値を有してもよい)を提供する、実際の走査(例えば、ライダー)のノイズを除去することを可能にする。あるいは、この方法が点群をノイズ除去することができる。
次に、第2のニューラルネットワークS60の学習について説明する。第2のニューラルネットワークは、プリミティブのセットのデータセットについて学習される。トレーニングパターンとして、各セットは1つの単一のプリミティブ(すなわち、セットのプリミティブのマージの結果)に関連付けられてもよい。単一のプリミティブは例えば、マージされるべきセットのプリミティブから計算される点群であってもよい。そのような点群は、直接的に計算されてもよく、したがって、データセットに含まれなくてもよい。論じた実装では、この方法が第1の回路網によって推論された抽象化から基本要素を選択することによって、このようなデータセットを合成的に生成する。そのようなデータセットを得るための別の方法は、手続き的な方法で最初から1つを生成することであってもよい。
トレーニングパターンでは、プリミティブの各セットが以下のように前処理されてもよい。第1に、本方法は、プリミティブのパラメータを使用して、これらのプリミティブの表面上をサンプリングすることができる。この方法は、得られた点群を再構成損失のグラウンドトゥルースとして使用することができる。第2のニューラルネットワークの学習のための再構成損失は、第1のニューラルネットワークの再構成損失と異なってもよい。第2のニューラルネットワークへの入力を得るために、この方法はこの点群の凸包を計算し、この凸包上の点を再サンプリングしてもよい。凸包は、点群を囲む最小の凸形である。凸包の特性は、点群の極値点の部分集合が凸包表面に属することである。したがって、極値点の部分集合は非常に疎であり、したがって十分ではない。凸包の点の数は100よりも多くてもよく、例えば、1000であってもよく、これは、規則的な形状を得ることを可能にする。凸包を計算し、次いで再サンプリングするステップは、基本要素の組に対する点群を単純に計算することよりも、結果を改善する(すなわち、より良好な結果を与える、より正確である)。最後に、この方法はこの点群をボクセル化する(すなわち、ボクセルグリッドフォーマットで点群を変換する)ことができる。ボクセル化は各方向に所与の数のボクセルを有する解像度、例えば、32(すなわち、32x32x32の解像度)を有してもよい。各ボクセルはボクセル内の点の存在又は非存在に基づいて、2進値(たとえば、0又は1)を有してもよい。
この前処理(点群、凸包、再サンプリング、ボクセル化を経て順次)は、最適な結果をもたらす。本方法は、この前処理に限定されない。本方法の他の実装は、プリミティブ上でサンプリングされた点を使用して前処理なしでマージするステップ、及び/又はプリミティブの組のパラメータを入力として使用するステップを含んでもよい。追加の利点は、第2のニューラルネットワークが任意の数のプリミティブを一緒にマージすることができることである(したがって、プリミティブのセットのパラメータを入力として使用する場合であっても)。例えば、第2のニューラルネットワークは、2つのプリミティブのサブセット又は3つのプリミティブのサブセットをマージすることができる。
オンライン段階について説明する。前述のように、オンライン段階は、ここでより詳細に説明される3つのステップを含む。
第1のステップは、オンライン段階の初期ステップである初期プリミティブ抽象化ステップS20である。最初のプリミティブ抽象化は例えばユーザによって入力された(網又は点群のいずれかであってもよい)入力を取得し、それをネットワークの入力フォーマット(例えば、ボクセルフォーマット)に変換し、それを最初の抽象化ネットワークに供給することからなる。初期抽象化ネットワークは初期プリミティブ抽象化を出力し、初期プリミティブ抽象化は、プリミティブの第1のセットからなる。より具体的には、初期抽象化ネットワークが第1のセットの各プリミティブを記述するパラメータのセットを出力することができる。初期抽象化ネットワークは固定数のプリミティブを出力するように構成されてもよい(すなわち、第1のセットのプリミティブの数が予め決定されてもよい)。
第2のステップS30は、初期抽象化の簡略化である。この目的のために、本方法は反復マージアルゴリズムを適用し、これは、各反復において、初期抽象化を単純化する。マージアルゴリズムは、より少ないプリミティブを有する抽象化を得るために適用される。この具体的な実装は、プリミティブの個数が反復ごとに1つずつ減少される、マージアルゴリズムのあるバージョンを使用する。マージアルゴリズムの他のバージョンが実装されてもよい。例えば、マージアルゴリズムの他の変形は各反復において、任意の数のプリミティブをマージすることができる(例えば、反復sにおいてNs対を最も低いマージコストでマージすることを単に選択することによって、Nsは、反復処理の反復sにおいてプリミティブの数に等しいか又はそれよりも少ない)。
図3のフローチャートを参照して、図2の第2のステップS30をより詳細に説明する。前述のように、マージアルゴリズムは2つのメインステップ、すなわち、マージするプリミティブを選択するステップ、及びそれらを一緒にマージするステップを繰り返すことからなる。マージするためのプリミティブの選択は、2つのサブステップを含むことができる。
第1のサブステップでは本方法が抽象化のすべてのプリミティブのマッチングを計算する(すなわち、本方法は可能なマージのペアによってプリミティブをグループ化することができる)。そうするために、方法は、まず、抽象化内のすべてのプリミティブについて、プリミティブのペア間の距離S31を計算することができる。説明した実装では、本手法がそれぞれのプリミティブ上の点のセットをサンプリングし、点のセット間の面取り距離を適用して、2つのプリミティブ間の距離を計算する。他の実装では、距離がサンプリングされた点のセットの間の地上移動者の距離、プリミティブ点の中心間のユークリッド距離、又は前述のすべての距離の加重和であってもよい。プリミティブ間距離が計算されると、本方法は問題を最小重みマッチングの1つとして扱い、S32で、所望のマッチングを得るためのアルゴリズム、例えば[12]からのアルゴリズム(Blossomアルゴリズムと呼ばれる)を適用する。最小重みマッチングアルゴリズムは候補パーティション間で最小化するパーティションを選択し、それぞれの候補グループのすべての部分集合に対して、それぞれの部分集合の第3のプリミティブ間の距離のグローバルペナルティ化を行う。
第2のサブステップにおいて、マッチングが行われると、本方法は所望のマッチングの全てのペアのマージ結果を計算し(S33)、マージ結果に基づいて各ペアのマージコストを計算し(S34)、最小のマージコストを有するペアをマージすることを決定する(S35)。プリミティブ要素の所与の対のマージ費用を計算する(S34)ために、この方法は第1のニューラルネットワークの再構成損失に使用されるグラウンドトゥルース、すなわち、入力形状上でサンプリングされた点の集合を使用する。次いで、本方法は現在の再構成損失(すなわち、現在のプリミティブの設定を有する再構成損失)と、潜在的な再構成損失との間の差分を計算し、これは、本方法がそれらのマージ(すなわち、単一のプリミティブ)によって考慮されるプリミティブの対を置き換えるときの再構成損失である。この差をマージコストとして使用する。すべてのマージコストを計算するために、本方法はマッチングからすべてのプリミティブペアのマージを推論する(すなわち、すべてのペアについて前記差を計算する)。
方法がどのプリミティブのペアをマージするかを決定する(S35)と、方法は、ペアの2つのプリミティブをそれらのマージの結果で置き換え(S36)、プロセス全体を反復する。例えば、方法は、ユーザの入力粒度に達するまでプロセスを反復することができる(S38)。ユーザ粒度はたとえば、いくつかのプリミティブであってもよい。本方法はまた、S37において、アルゴリズムの各反復の結果を保存する、すなわち、全ての中間プリミティブ抽象化を保存する。各反復の結果を保存することにより、1つ又は複数の選択中に中間プリミティブ抽象化をリアルタイムで表示することが可能になる。
さらに、ステップS30において、マージアルゴリズムが行われると、方法はプリミティブ抽象化のリストを有し、各抽象化は、異なる数のプリミティブ(各反復に対して1つの抽象化)を有する。このとき、本方法は得られたプリミティブ抽象化のリストの中で、プリミティブの所定のセットを1つの抽象化として設定する(すなわち、最終抽象化を選択する)。最終的な抽象化のこの選択を実行するために、第1のオプションはユーザが異なる抽象化をレビューし、自分の意図に最も適合するものを選択することを可能にすることである。第2のオプションは、プロセスを自動化することである。これを行うために、この方法は、マージ処理中の再構成損失の発展を監視する。
図4は、この進化の例を示す。この方法は、この再構成損失の発展を使用することによって、最終的な抽象化の選択肢を自動化することができる。ここで、再構成損失の発展に基づいて、最終的な抽象化をどのように選択するかについて例示する。マージ処理における反復回数をnとする。0<i<nとする。Ciを第iのプリミティブ抽象化の再構成損失の価値とする。本方法はCi+1-Ci>kである反復iに対応する抽象化を最終抽象化として選択することができ、ここで、kは所定のしきい値(例えば、k=2)である。
最終抽象化が選択されると、方法は、最終抽象化のプリミティブを3Dモデル化オブジェクトに投影することを含む。この最終ステップは、形状部分を対応するプリミティブでラベル付けすることからなるラベル付けステップである。対応関係は3Dモデル化オブジェクトの各要素(例えば、入力オブジェクトが点群である場合の各点、又は入力オブジェクトが網目である場合の各頂点)に、その最も近いプリミティブの指標を帰属させることによって計算されてもよい。この方法は、メトリックとして、プリミティブ面の近接度を選択することができる。したがって、本方法は、所望のユーザ粒度を有するセグメント化3Dモデル化オブジェクトを取得することを可能にする。
ここで、より実装な詳細について説明する。特に、トレーニング中の損失の最小化について論じた。
この実装では、プリミティブ抽象化のためのプリミティブの選択肢として超楕円体を用いた。このタイプのプリミティブは、表現力とパラメータの数との間の良好なトレードオフを提供する。他のタイプのプリミティブ(例えば、立方体又は星形ドメイン)を考慮することができる。超楕円体は、安定な損失を達成することができる。星形ドメインは超楕円体よりもさらに高い柔軟性を可能にし、これは、性能を改善し、抽象化が抽象化(すなわち、表現力)を通してオブジェクトにどれだけ接近するかを改善する。
超楕円体は、11個のパラメータのセットを使用してパラメータ化することができる。超楕円体は明示的な超二次関数に基づいて定義され、それは以下の方法で表面ベクトルrを定義する:
ここで、α=[α1、α2、α3]はサイズパラメータ(正の実数値)を表し、ε=[ε1,ε2]は、形状パラメータ(それぞれ0と2の間)を表す。
図5は、形状パラメータε1及びε2が超楕円体([8])の形状をどのように修正するかを示す。この方程式は原点を中心とし、軸上に整列された超楕円体を生成する。プリミティブパラメータ化は、(3つのパラメータに基づいて)位置を表すための並進ベクトルと、(3つのパラメータにも基づいて)配向を表すためのオイラー角とを用いて完了されてもよい。本方法はまた、方位を表すために、四元数又は軸角度表現を使用してもよい。
ここで、最初の抽象化モデルについて論じる。最初に、初期抽象化ニューラルネットワークの例示的なアーキテクチャを詳細に説明する。
図6は、初期抽象化モデルのアーキテクチャの一例を示す。
最初の抽象化ネットワークは、エンコーダーと、いくつかの以下のサブネットワークとからなる。このエンコーダーは先に示したように、入力に依存してもよい。この例では、この方法は入力としてボクセルグリッドを使用する。ボクセルグリッドは、畳み込みニューラルネットワークの連続する層を通過する。ボクセルグリッドは畳み込み、可能なバッチ正規化、活性化関数(例えば、ReLu、leaky ReLu、Tanhなど)及びプーリング(例えば、Maxプーリング及び/又は手段プーリング)の連続のうちの少なくとも1つを通過させられてもよい。次いで、ボクセルグリッドは、完全に接続された層を通過して、潜在ベクトルを抽出する。次いで、このベクトルは、プリミティブのサイズパラメータ、プリミティブの位置決めパラメータ、プリミティブの配向パラメータ、及びプリミティブの形状パラメータε=[ε1,ε2]をそれぞれ決定する4つのサブネットワークに供給される。例えば、初期抽象化ネットワークは、サイズパラメータ、位置決めパラメータ、配向パラメータ、及び形状パラメータをそれぞれ決定する(サブネットワークごとに1つの)ファルトモジュールを備えることができる。初期抽象化ネットワークが備えるモジュールの数は、プリミティブの種類に依存してもよい。たとえば、1つ又は複数の追加の有用なモジュールをネットワークに追加することができ、又は1つ又は複数の無駄なモジュールを除去することができる(たとえば、形状モジュールは、超楕円体プリミティブの代わりに直方体プリミティブの場合には除去することができる)。これらのサブネットワークは出力される特定のパラメータに応じた出力サイズ(例えば、サイズサブネットワークの場合はM×3、変換サブネットワークの場合はM×3、形状サブネットワークの場合はM×2など、Mは初期抽象化ネットワークによって出力されるプリミティブの数である)を有する、完全に接続された層から構成される。
ここで、初期抽象化ネットワークの研修について説明する。最初の抽象化ネットワークは、提供された3Dモデル化オブジェクトに可能な限り近いプリミティブの抽象化を得ることを可能にする。ここで、学習処理のために実施されてもよい様々な損失が詳細に説明される。
第1の学習損失は、再構成損失であってもよい。再構成損失は計算されたプリミティブアセンブリと入力形状との間の不一致を測定するために、面取り距離使用する。再構成損失は、以下のように定式化することができる。入力形状面(処理対象)からサンプリングされたN点のセットは、
で表される。推測された各プリミティブmの表面からサンプリングされたK点のセットは、
で表される。再構成損失は次式で表される:
ここで、LY→Xは予測されるプリミティブYから点群Xまでの距離を測定し、LX→Yは点群XからプリミティブYまでの距離を測定する。
2つの損失の詳細な表現は、以下のように定式化することができる。
は、第mのプリミティブ上の第kの点
から目標点群Xまでの最小距離を示し、一方、
は、点xiから第mのプリミティブの表面までの最小距離を設計する。ここで、Tmは、
ワールド座標系の3D点xiを第mのプリミティブのローカル座標系に変換する関数である。
ワールド座標系の3D点xiを第mのプリミティブのローカル座標系に変換する関数である。
第2の学習損失は、重複損失であってもよい。この第2の研修損失は、プリミティブ間の重複をペナルティ化する正則化である。したがって、この第2の学習損失は重複を回避し、(重複するオブジェクトの部分なしに)オブジェクトの分解を得ることを可能にする。したがって、オブジェクトの構造は明確にセグメント化される。追加の利点として、この正則化は、オブジェクトの異なる部分におけるプリミティブのより均等な分布を促進する。本方法は、[14]で与えられた超二次関数のインサイド機能を利用することによって、超二次関数Sを使用するように適応されてもよい:
パラメータα1、α2、α3、及びε1、ε2は、明示的な超二次関数のものと同じである。Fsは、特定の点(x,y,z)が超二次関数Sの内側にあるか外側にあるかを簡単に調べる方法を提供する。F<1であれば点はSの内側にあり、F=1であれば点は表面上にあり、F>1であれば点はSの外側にある。
プリミティブ重複をペナルティにするために、この方法は、プリミティブのセットの内側及び表面上のサンプル点を進め、次いで、別のプリミティブの内側にある所与のプリミティブに属する点をペナルティにする。重複損失は、以下のように定式化することができる:
第3の学習損失は、領域均一性損失であってもよい。領域均一性損失は正則化であり、表面を制御することにより、網によって推論される超二次関数の次元の均一な分布を促進する。この正則化をオーバーラップの正則化と組み合わせることにより、オブジェクトの全ボリュームにわたって、関連する詳細レベルで均一な密度を維持することが可能になる。領域均一性損失を実施するために、この方法は楕円体の表領域を決定し、したがって超二次関数Sの表領域を近似することを可能にする、以下のクヌッド・トムセンの公式を使用することができる:
ここで、本方法は、
を私用することができ、これは近似の相対誤差として1.061%を与える。類似表面積を有する超二次関数をネットワーク推論するために、この方法は、以下の損失を実施することができる:
領域均一性損失Lareaは、推定される超二次関数の分散の標準偏差をペナルティとする。これは、モデルが学習された平均の周りの表面を標準化することを促進する傾向がある。
損失の実例が詳述されている。本発明は、これらの損失に限定されず、学習のための他の損失を用いて実施されてもよい。この方法は、単一の損失を用いて実施することができる。代替的に、この方法は、損失の任意の組合せを用いて実装されてもよい。例えば、以下の公式を使用することによって、定義された損失の加重和を使用してモデルを学習することができる:
式中、α及びβは、重み付け正のスカラーである。
次に、マージングニューラルネットワーク(第2ニューラルネットワーク)について説明する。マージングニューラルネットワークは、ボクセルグリッドエンコーダーと、それに続くいくつかのサブネットワークとを備える。最初の抽象化ネットワークとの差は、サブネットワークの出力寸法にある。マージングニューラルネットワークは単一のプリミティブのパラメータを出力するので、各サブネットワークの出力寸法は適合される(サイズサブネットワークについて1×3、形状サブネットワークについて1×2など)。
マージングニューラルネットワークのエンコーダーは入力(例えば、[15]のようなそのようなネット)として点群をとるように適合されてもよい。この例示ではマージングニューラルネットワークが3Dボクセルグリッドエンコーダーを有するが、提示される解決策は3Dボクセルグリッドエンコーダーに限定されない。マージングニューラルネットワークは、上においてM=1で議論された再構成損失Lreconなどの再構成損失を使用して学習されてもよい。
図7及び図8を参照して、本方法の定性的結果をここで議論する。図7及び図8は、得られた結果のいくつかの例を示す。図7は、6つの異なる椅子100、110、120、130、140、及び150について得られた6つの推論例を示す。図7は左から右に、椅子の3Dモデル化オブジェクト、計算されたプリミティブの初期セット102(すなわち、マージ前の初期抽象化)、及びプリミティブの最終セット104(すなわち、マージ後の最終抽象化)に対応する3つのピクチャを有する6つの例を示す。6つの例はプリミティブの初期設定102が入力形状の均一で規則的な表現を与える一方で、マージ(すなわち、最終抽象化)後の得られたプリミティブの設定が入力形状の微細な分解を反映することを示す。さらに、得られた分解は意味的に意味があり、この方法は、人間が行うのと同じように形状を分解する。
図8は、本方法によって実行されるユーザ対話ツールの一例を示す。ユーザ対話ツールは、ユーザがマージアルゴリズムステップで実行される反復の数を制御する所望の粒度レベルを選択することを可能にする。これを行うことによって、本方法は、ユーザが最終的なセグメンテーションにおいて所望される部品の正確な数を制御することを可能にする。この例で考慮されるオブジェクトは、3Dモデル化オブジェクト200によって表される椅子である。ユーザ対話ツールは、粒度スライダ210を含む。粒度スライダ210は、インジケータを水平方向に移動させることによって、ユーザが値を設定することを可能にする。ユーザセットがプリミティブの計算されたセットの各々に対応する値(すなわち、第1の微細な抽象化から最終的な粗抽象化まで、第1及び第2のニューラルネットワークによって反復的に計算されたプリミティブのセット)。スライダ210の値を設定することによって、ユーザは、これらの計算されたセットのうちの1つを選択する。ユーザは、インジケータを動かすことによって値を設定する。あるいは、ユーザがスライドバー上のポイントを直接クリックして、値を設定してもよい。図8に示すように、ユーザ対話ツールは、スライドバーの上の計算されたセットの各々のグラフィック表現を、それらのそれぞれのスライダ値で表示することができる。この表示は、計算されたセットのうちの1つを効率的に選択するための使用を可能にする。あるいは、ユーザ対話ツールが現在選択されているセットに対応する単一のセットのグラフィカル表現のみを表示してもよい。現在選択されているセットのグラフィック表現は、スライドバーの近く、例えばスライドバーの上に表示されてもよい。ユーザとスライダとの新しい連続的な相互作用の各々の後、以前の相互作用で表示されたグラフィック表現は、新しく選択されたセットに対応する新しいグラフィック表現に置き換えられてもよい。したがって、ユーザは、計算されたセット間をナビゲートすることができる。
図8に示すように、ユーザ対話ツールはラベル付き3Dモデル化オブジェクト220、すなわち、最終抽象化のプリミティブを3Dモデル化オブジェクトに投影した後の3Dモデル化オブジェクトを表示することもできる。したがって、方法によって識別された機械的アセンブリの各部分は例えば、識別された部分の各々について異なる色を使用して、強調表示されてもよい。
この方法は、コンピュータで実施される。これは、この方法のステップ(又は実質的に全てのステップ)は、少なくとも1つのコンピュータ又は任意のシステムによって実行されることを意味する。したがって、本方法のステップはコンピュータによって、場合によっては完全に自動的に、又は半自動的に実行される。例では、方法のステップのうちの少なくともいくつかのトリガがユーザ/コンピュータ対話を介して実行されてもよい。必要とされるユーザ/コンピュータ対話のレベルは予測される自動化のレベルに依存し、ユーザの希望を実施する必要性とバランスをとることができる。例では、このレベルがユーザ定義及び/又は事前定義されてもよい。
方法のコンピュータ実装の典型的な例は、この目的のために適合されたシステムを用いて方法を実行することである。システムはメモリに結合されたプロセッサと、グラフィカルユーザインタフェース(GUI)とを備えることができ、メモリには、本方法を実行するための命令を含むコンピュータプログラムが記録されている。メモリはまた、データベースを記憶してもよい。メモリはそのような記憶のために適合された任意のハードウェアであり、場合によっては、いくつかの物理的に異なる部分(例えば、プログラムのためのもの、及び場合によってはデータベースのためのもの)を含む。
図9はシステムの例を示し、システムはクライアントコンピュータシステム、例えば、ユーザのワークステーションである。
この例のクライアントコンピュータは、内部通信バス1000に接続された中央処理装置(CPU)1010と、やはりバスに接続されたランダムアクセスメモリ(RAM)1070とを備える。クライアントコンピュータには、さらに、BUSに接続されたビデオランダムアクセスメモリ1100に関連するグラフィカルプロセッシングユニット(GPU)1110が設けられている。ビデオRAM1100は、当技術分野ではフレームバッファとしても知られている。大容量記憶装置コントローラ1020は、ハードドライブ1030などの大容量記憶装置へのアクセスを管理する。コンピュータプログラム命令及びデータを有形に具現化するのに適した大容量メモリデバイスは、例として、EPROM、EEPROM、及びフラッシュメモリデバイスなどの半導体メモリデバイス、内部ハードディスク及びリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにCDROMディスク1040を含む、すべての形態の不揮発性メモリを含む。前述のいずれも、特別に設計されたASIC(特定用途向け集積回路)によって補足されるか、又はその中に組み込まれてもよい。ネットワークアダプタ1050は、ネットワーク1060へのアクセスを管理する。クライアントコンピュータは、カーソル制御デバイス、キーボードなどの触覚デバイス1090も含むことができる。ユーザがディスプレイ1080上の任意の所望の位置にカーソルを選択的に位置決めすることを可能にするために、カーソル制御装置がクライアントコンピュータ内で使用される。さらに、カーソル制御装置はユーザが様々なコマンドを選択し、制御信号を入力することを可能にする。カーソル制御装置は、システムに制御信号を入力するための多数の信号発生装置を含む。典型的にはカーソル制御装置がマウスであってもよく、マウスのボタンは信号を生成するために使用される。代替的に又は追加的に、クライアントコンピュータシステムは、センシティブパッド及び/又はセンシティブスクリーンを含むことができる。
コンピュータプログラムはコンピュータによって実行可能な命令を含むことができ、命令は、上記のシステムに本方法を実行させるための手段を含む。プログラムは、システムのメモリを含む任意のデータ記憶媒体に記録可能であってもよい。プログラムは例えば、デジタル電子回路において、又はコンピュータハードウェア、ファームウェア、ソフトウェアにおいて、又はそれらの組み合わせにおいて実装されてもよい。プログラムは装置、例えば、プログラマブルプロセッサによる実行のための機械可読記憶デバイスに有形に具現化された製品として実装されてもよい。方法のステップは入力データ断片に対して動作し、出力を生成することによって、方法の機能を実行するための命令のプログラムを実行するプログラマブルプロセッサによって実行されてもよい。したがって、プロセッサはプログラム可能であり、データ断片記憶システム、少なくとも1つの入力デバイス、及び少なくとも1つの出力デバイスからデータ断片及び命令を受信し、それらにデータ断片及び命令を送信するように結合されてもよい。アプリケーションプログラムは、高レベルの手続き型又はオブジェクト指向プログラミング言語で、あるいは必要に応じてアセンブリ言語又は機械語で実装することができる。いずれの場合も、言語は、コンパイルされた言語又は解釈された言語であってもよい。プログラムはフルインストールプログラムであってもよいし、更新プログラムであってもよい。システム上にプログラムを適用すると、いずれにしても、この方法を実行するための命令が得られる。
Claims (15)
- 機械的アセンブリを表す3Dモデル化オブジェクトをセグメント化するためのコンピュータ実装方法であって、
前記3Dモデル化オブジェクトを提供するステップと、
前記3Dモデル化オブジェクトの表現を抽象化ニューラルネットワークに入力するステップであって、抽象化ニューラルネットワークは3Dモデル化オブジェクトに適合する第1のプリミティブのセットを出力し、第1のセットは、第1の数の第1のプリミティブからなり、
第1のセットから、それぞれの第2のプリミティブの1つ又は複数の第2のセットを決定するステップであって、各第2のセットはそれぞれの第2の数のそれぞれの第2のプリミティブからなり、第2の数は第1の数よりも小さく、
前記決定するステップが、
第3のプリミティブの第3の設定を第1の設定として初期化するステップと、
各々が以下を含む1回以上の反復を実行するステップと
第3のプリミティブの第3のセットを提供し、
第3のプリミティブの1つ又は複数の部分集合をそれぞれ1つのそれぞれの単一の第4のプリミティブに一緒にマージし、それによって、それぞれの単一の第4のプリミティブ及びそれぞれのマージされていない第3のプリミティブからなる第4のプリミティブの第4のセットを取得し、
次の反復の第3のセットを現在の反復の第4のセットとして設定し、
前記1つ又は複数の第2のセットを、1つ又は複数の取得された第4のセットとして設定するステップと
を有するコンピュータ実装方法。 - 前記マージするステップが、候補部分集合のグループ間でマージされるべき前記1つ又は複数の部分集合を決定するステップを備え、
前記マージされるべき前記1つ又は複数の部分集合を前記決定するステップは、前記グループのそれぞれの候補部分集合ごとに、前記それぞれの候補部分集合のマージコストのペナルティを含む
請求項1に記載の方法。 - 前記マージするステップが、サブセットの候補グループのうちの候補サブセットの前記グループを決定するステップを備え、
前記候補サブセットの前記グループを決定するステップが、各候補グループについて、前記各候補グループのすべてのサブセットについて、各サブセットの前記第3のプリミティブ間のマージ互換性のグローバルペナルティを含む
請求項2に記載の方法。 - 前記サブセットの候補グループが、前記第3のセットの各パーティションから第3のプリミティブのペアになり、
前記候補サブセットのグループを決定するステップが、最小重みマッチングアルゴリズムを含む
請求項3に記載の方法。 - 前記抽象化ニューラルネットワークが、
エンコーダーであって、当該エンコーダーは任意選択的に畳み込みニューラルネットワークを備え、及び/又は当該エンコーダーはボクセルグリッドを入力として取り込むように構成され、抽象ニューラルネットワークに入力される3Dモデル化オブジェクトの表現はボクセルグリッドフォーマットに従うエンコーダーと、
プリミティブサイズパラメータ、プリミティブ位置決めパラメータ及びプリミティブ配向パラメータをそれぞれ出力するように構成された3つのサブネットワーク、及び任意選択で、プリミティブ形状パラメータを出力するように構成された1つの追加のサブネットワークであって、任意選択で、少なくとも1つ(例えば、それぞれ)のサブネットワークはそれぞれ完全に接続された層から構成される(例えば、各サブネットワークの第1の数及びそれぞれの出力されたパラメータの数に応じた出力サイズ及び/又は第1の数がハイパーパラメータである)サブネットワークと。
を有する請求項1から4のいずれか一項に記載の方法。 - 前記1つ又は複数の第2のセットが複数の第2のセットを含み、前記方法が、それぞれが以下を含む1回以上の反復を含む
ユーザインタラクションの際に、複数の第2のセットのうちの単一の第2のセットを選択するステップ、及び
選択された第2のセットのグラフィック表現をリアルタイムで表示するステップ
請求項1から5のいずれか一項に記載の方法。 - 単一の第4のセットを自動的に選択ステップであって、選択された単一の第4のセットはしきい値以上の連続する反復間のマージ再構成損失の進化に対応するステップと、
選択した単一の4番目のセットをマーキングするステップと
を有する請求項1から6のいずれか一項に記載の方法。 - 前記抽象化ニューラルネットワークが、それぞれの機械的アセンブリをそれぞれ表す注釈付きでない3Dモデル化オブジェクトを含むデータセット上で教師なし的な方法で学習される
請求項1から7のいずれか一項に記載の方法。 - 前記マージするステップが各部分集合の表現をマージングニューラルネットワークに入力するステップを含み、
前記マージングニューラルネットワークが前記それぞれの単一の第4のプリミティブを出力する
請求項1から8のいずれか一項に記載の方法。 - 前記合流ニューラルネットワークが、
任意選択的に、エンコーダーは畳み込みニューラルネットワークを備え、及び/又はエンコーダーはボクセルグリッド及び/又は点群を入力として取り込むように構成され、マージングニューラルネットワークに入力されるそれぞれのサブセットの表現はそれぞれボクセルグリッドフォーマット又は点群フォーマットに従っており、
プリミティブサイズパラメータ、プリミティブ測位パラメータ及びプリミティブ方位パラメータを各出力するように各構成された3つのサブネットワークと、プリミティブ形状パラメータを出力するように構成された任意選択的に1つの追加のサブネットワークであって、任意選択的に少なくとも1つ(例えば、各)のサブネットワークは各完全に接続された層から構成される(例えば、各のサブネットワークの各の出力パラメータに応じた出力サイズを有する)サブネットワーク
を含む請求項9に記載の方法。 - 前記抽象化ニューラルネットワーク及び前記マージングニューラルネットワークのうちの少なくとも1つが、再構成損失をペナルティとするそれぞれの学習損失に基づいて学習され、任意選択的に、前記再構成損失が点群ディスタンスに基づいており、前記抽象化ニューラルネットワークの前記学習損失が重複損失及び領域損失をさらにペナルティとし、及び/又は前記学習損失が前記再構成損失、前記重複損失、及び前記領域損失の加重和に等しい
請求項1から10のいずれか一項に記載の方法。 - 請求項1~11のいずれか一項に記載の抽象化ニューラルネットワークを学習するため、及び/又は請求項9に記載のマージングニューラルネットワーク又はそのいずれかの従属請求項を学習するためのコンピュータ実施方法。
- 請求項1から11のいずれか一項に記載の方法及び/又は請求項12に記載の方法を実行するための命令を含むコンピュータプログラム。
- 請求項13に記載のプログラムを記録したデータ記憶媒体を含む装置。
- 前記デバイスは、前記データ記憶媒体に結合されたプロセッサをさらに備える
請求項14に記載のデバイス。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21306003.1A EP4120203A1 (en) | 2021-07-16 | 2021-07-16 | Segmenting a 3d modeled object representing a mechanical assembly |
EP21306003 | 2021-07-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023017718A true JP2023017718A (ja) | 2023-02-07 |
Family
ID=77126714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022114233A Pending JP2023017718A (ja) | 2021-07-16 | 2022-07-15 | 機械的アセンブリを表す3dモデル化オブジェクトのセグメント化 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11893687B2 (ja) |
EP (1) | EP4120203A1 (ja) |
JP (1) | JP2023017718A (ja) |
CN (1) | CN115631486A (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3839793A1 (en) * | 2019-12-16 | 2021-06-23 | Dassault Systèmes | Interactive object selection |
US11903793B2 (en) * | 2019-12-31 | 2024-02-20 | Align Technology, Inc. | Machine learning dental segmentation methods using sparse voxel representations |
CN116649159B (zh) * | 2023-08-01 | 2023-11-07 | 江苏慧岸信息科技有限公司 | 一种食用菌生长参数寻优的系统和方法 |
CN116758243B (zh) * | 2023-08-15 | 2023-12-01 | 深圳市其域创新科技有限公司 | 基于实时点云流的场景网格划分生成及渲染显示方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3675061A1 (en) * | 2018-12-29 | 2020-07-01 | Dassault Systèmes | Forming a dataset for inference of editable feature trees |
EP3674984B1 (en) * | 2018-12-29 | 2024-05-15 | Dassault Systèmes | Set of neural networks |
-
2021
- 2021-07-16 EP EP21306003.1A patent/EP4120203A1/en active Pending
-
2022
- 2022-07-15 CN CN202210835119.5A patent/CN115631486A/zh active Pending
- 2022-07-15 US US17/866,193 patent/US11893687B2/en active Active
- 2022-07-15 JP JP2022114233A patent/JP2023017718A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
CN115631486A (zh) | 2023-01-20 |
US11893687B2 (en) | 2024-02-06 |
EP4120203A1 (en) | 2023-01-18 |
US20230014934A1 (en) | 2023-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Regenwetter et al. | Deep generative models in engineering design: A review | |
JP7464387B2 (ja) | 3dモデル化オブジェクト推定のための機械学習 | |
JP7491685B2 (ja) | ニューラルネットワークのセット | |
JP7473335B2 (ja) | ソリッドcadフィーチャを推測するためのニューラルネットワークの学習 | |
JP7473336B2 (ja) | ソリッドcadフィーチャを推測するためのニューラルネットワークの学習 | |
JP2023017718A (ja) | 機械的アセンブリを表す3dモデル化オブジェクトのセグメント化 | |
JP7343963B2 (ja) | 画像を入力とする関数を学習するためのデータセット | |
JP7428516B2 (ja) | 編集可能なフィーチャツリーの推測のためにニューラルネットワークを学習すること | |
JP7431028B2 (ja) | ユーザインタラクションを介した3dモデルオブジェクトのデサイニング | |
CN111381919B (zh) | 形成用于推断可编辑特征树的数据集 | |
Uy et al. | Point2cyl: Reverse engineering 3d objects from point clouds to extrusion cylinders | |
JP2022036024A (ja) | パラメータ化された3dモデルを出力するニューラルネットワーク | |
JP2021012693A (ja) | 機能構造に対するモデリング演算 | |
JP2022036023A (ja) | 3dモデルを出力する変分オートエンコーダ | |
JP2021131854A (ja) | 変形の基礎学習 | |
JP2023143870A (ja) | スケッチ加工 | |
Lee et al. | Simplification of 3D CAD Model in Voxel Form for Mechanical Parts Using Generative Adversarial Networks | |
Zhang et al. | ParaNet: Deep regular representation for 3D point clouds | |
US20220292352A1 (en) | Machine-learning for 3d segmentation | |
JP2023160791A (ja) | 画像からの3d再構成 | |
Pradhan et al. | 3D object reconstruction from a single 2D image: performance of two novel frameworks based on lightweight CNN architectures and free-form deformation of meshes | |
Barazzetti | Turning Meshes into B-reps with T-splines | |
Sun et al. | A review of point cloud segmentation for understanding 3D indoor scenes | |
Aremu et al. | 3D Object Reconstruction with Deep Learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221116 |