JP2021152880A - 3dモデル化オブジェクトの変形の決定 - Google Patents
3dモデル化オブジェクトの変形の決定 Download PDFInfo
- Publication number
- JP2021152880A JP2021152880A JP2021011113A JP2021011113A JP2021152880A JP 2021152880 A JP2021152880 A JP 2021152880A JP 2021011113 A JP2021011113 A JP 2021011113A JP 2021011113 A JP2021011113 A JP 2021011113A JP 2021152880 A JP2021152880 A JP 2021152880A
- Authority
- JP
- Japan
- Prior art keywords
- modeled object
- deformation
- modeled
- basis
- loss
- 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 154
- 230000001052 transient effect Effects 0.000 claims abstract description 18
- 239000013598 vector Substances 0.000 claims description 107
- 230000009466 transformation Effects 0.000 claims description 72
- 230000006870 function Effects 0.000 claims description 61
- 238000004364 calculation method Methods 0.000 claims description 14
- 238000005284 basis set Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 238000013500 data storage Methods 0.000 claims description 4
- 238000012804 iterative process Methods 0.000 claims description 2
- 230000007704 transition Effects 0.000 abstract description 28
- 238000013528 artificial neural network Methods 0.000 description 87
- 238000004519 manufacturing process Methods 0.000 description 22
- 238000012549 training Methods 0.000 description 18
- 238000005457 optimization Methods 0.000 description 14
- 238000010801 machine learning Methods 0.000 description 12
- 238000000844 transformation Methods 0.000 description 10
- 230000001131 transforming effect Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000007781 pre-processing Methods 0.000 description 7
- 230000003595 spectral effect Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000013016 damping Methods 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000010146 3D printing Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006698 induction Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 241000208125 Nicotiana Species 0.000 description 1
- 235000002637 Nicotiana tabacum Nutrition 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 235000013361 beverage Nutrition 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005226 mechanical processes and functions Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000053 physical method Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/23—Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/10—Numerical modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/20—Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/14—Force analysis or force optimisation, e.g. static or dynamic forces
-
- 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/2021—Shape modification
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Hardware Design (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Medical Informatics (AREA)
- Architecture (AREA)
- Computer Graphics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Operations Research (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
【課題】3Dモデル化オブジェクトの変形を決定するためのコンピュータ実装された方法を提供する。【解決手段】方法は、入力された3Dモデル化オブジェクトの変形基底を推論する変形基底関数、第1の3Dモデル化オブジェクト及び第1の3Dモデル化オブジェクトの変形制約を提供する。方法は、さらに、変形制約を尊重する第2の3Dモデル化オブジェクトを決定するとともに、第2の3Dモデル化オブジェクトの決定は、第1の3Dモデル化オブジェクトと第2の3Dモデル化オブジェクトとの間の過渡的な3Dモデル化オブジェクトの軌跡を計算する。軌跡は、各遷移3Dモデル化オブジェクトを、遷移3Dモデル化オブジェクトに変形基底関数を適用した結果の線形の組み合わせによって変形させるとともに、損失を低減する。損失は、変形した遷移3Dモデル化対象物による変形制約の不遵守の程度にペナルティを与える。【選択図】図2
Description
本発明は、コンピュータプログラム及びシステムの分野に関し、より詳細には、3Dモデル化オブジェクトの変形を決定するための方法、システム及びプログラムに関する。
設計、エンジニアリング、オブジェクトの製造のために、多くのシステムやプログラムが市場で提供されている。CADはコンピュータ支援設計(Computer-Aided Design)の頭文字をとったもので、オブジェクトを設計するためのソフトウェアソリューションに関連している。CAEはコンピュータ支援エンジニアリング(Computer-Aided Engineering)の頭文字をとったもので、例えば、将来の製品の物理的な挙動をシミュレーションするためのソフトウェアソリューションに関連している。CAMはコンピュータ支援製造(Computer-Aided Manufacturing)の頭文字をとったもので、例えば、製造プロセスやオペレーションを定義するためのソフトウェアソリューションに関連している。このようなコンピュータ支援設計システムでは、グラフィカルユーザーインターフェースは、技術の効率性に関して重要な役割を果たしている。これらの技術はプロダクトライフサイクル管理(PLM)システムの内で組み込まれてもよい。PLMとは、企業が製品データを共有し、共通プロセスを適用し、企業の知識を活用して、製品の構想から製品寿命の終わりまでの開発を支援するビジネス戦略のことで、拡張企業の概念を超えている。ダッソーシステムズが(CATIA、ENOVIA、DELMIAの商標で)提供するPLMソリューションは、製品エンジニアリング知識を整理する「エンジニアリングハブ」、製造エンジニアリング知識を管理する「マニュファクチャリングハブ」、エンジニアリングハブとマニュファクチャリングハブの両方への企業統合と接続を可能にする「企業ハブ」を備えている。このシステムは、製品、プロセス、リソースをリンクするオープンオブジェクトモデルを提供し、ナレッジベースのダイナミックな製品作成と意思決定支援を可能にし、製品定義、製造準備、生産、サービスの最適化を促進する。
この文脈や他の文脈では、3Dモデル化オブジェクトを変形させることが広く重要になってきている。
以下の論文は、この分野に関連するものであり、以下に引用する。
[1] W. Wang, D. Ceylan, R. Mech, and U. Neumann. 3Dn: 3D deformation network. In Conference on Computer Vision and Pattern Regognition (CVPR), 2019.
[2] T. Groueix, M. Fisher, V. G. Kim, B. Russell, and M. Aubry. AtlasNet: A Papier-Mache Approach to Learning 3D Surface Generation. In Conference on Computer Vision and Pattern Regognition (CVPR), 2018.
[3] Reconstructing a 3D Modeled Object. Patent US9978177B2, granted in 2018. Eloi Mehr and Vincent Guitteny.
[4] D. Jack, J. K. Pontes, S. Sridharan, C. Fookes, S. Shirazi, F. Maire, and A. Eriksson. Learning free-form deformations for 3D object reconstruction. In Asian Conference on Computer Vision (ACCV), 2018.
[5] I. Kokkinos, and A. Yuille. Unsupervised Learning of Object Deformation Models. In International Conference on Computer Vision (ICCV), 2007.
[6] J. Mairal, F. Bach, and J. Ponce. Sparse Modeling for Image and Vision Processing. New Foundations and Trends, 2014.
[7] V. Blanz and T. Vetter. A morphable model for the synthesis of 3D faces. In SIGGRAPH, 1999.
[8] C. Qi, H. Su, K. Mo, and L. Guibas. Pointnet: Deep learning on point sets for 3D classification and segmentation. In Conference on Computer Vision and Pattern Regognition (CVPR), 2017.
[9] R. Hanocka, A. Hertz, N. Fish, R. Giryes, S. Fleishman, and D. Cohen-Or. Meshcnn: A network with an edge. In SIGGRAPH, 2019.
[10] Eloi Mehr, Ariane Jourdan, Nicolas Thome, Matthieu Cord, and Vincent Guitteny. DiscoNet: Shapes Learning on Disconnected Manifolds for 3D Editing. In ICCV 2019.
[11] J.Liu, F. Yu, and T. Funkhouser. Interactive 3D Modeling with a Generative Adversarial Network. In International Conference on 3D Vision (3DV), 2017.
[12] B. Levy and H. Zhang. Spectral Mesh Processing. In SIGGRAPH Asia, 2009.
[1] W. Wang, D. Ceylan, R. Mech, and U. Neumann. 3Dn: 3D deformation network. In Conference on Computer Vision and Pattern Regognition (CVPR), 2019.
[2] T. Groueix, M. Fisher, V. G. Kim, B. Russell, and M. Aubry. AtlasNet: A Papier-Mache Approach to Learning 3D Surface Generation. In Conference on Computer Vision and Pattern Regognition (CVPR), 2018.
[3] Reconstructing a 3D Modeled Object. Patent US9978177B2, granted in 2018. Eloi Mehr and Vincent Guitteny.
[4] D. Jack, J. K. Pontes, S. Sridharan, C. Fookes, S. Shirazi, F. Maire, and A. Eriksson. Learning free-form deformations for 3D object reconstruction. In Asian Conference on Computer Vision (ACCV), 2018.
[5] I. Kokkinos, and A. Yuille. Unsupervised Learning of Object Deformation Models. In International Conference on Computer Vision (ICCV), 2007.
[6] J. Mairal, F. Bach, and J. Ponce. Sparse Modeling for Image and Vision Processing. New Foundations and Trends, 2014.
[7] V. Blanz and T. Vetter. A morphable model for the synthesis of 3D faces. In SIGGRAPH, 1999.
[8] C. Qi, H. Su, K. Mo, and L. Guibas. Pointnet: Deep learning on point sets for 3D classification and segmentation. In Conference on Computer Vision and Pattern Regognition (CVPR), 2017.
[9] R. Hanocka, A. Hertz, N. Fish, R. Giryes, S. Fleishman, and D. Cohen-Or. Meshcnn: A network with an edge. In SIGGRAPH, 2019.
[10] Eloi Mehr, Ariane Jourdan, Nicolas Thome, Matthieu Cord, and Vincent Guitteny. DiscoNet: Shapes Learning on Disconnected Manifolds for 3D Editing. In ICCV 2019.
[11] J.Liu, F. Yu, and T. Funkhouser. Interactive 3D Modeling with a Generative Adversarial Network. In International Conference on 3D Vision (3DV), 2017.
[12] B. Levy and H. Zhang. Spectral Mesh Processing. In SIGGRAPH Asia, 2009.
しかし、3Dモデル化オブジェクトを変形させるための改良されたソリューションがまだ必要とされている。
したがって、3Dモデル化オブジェクトの変形を決定するためのコンピュータ実装された方法が提供される。この方法は、入力された3Dモデル化オブジェクトの変形基底を推論するように構成された変形基底関数を提供するステップを有する。方法は、さらに、第1の3Dモデル化オブジェクトを提供するステップを有する。さらに、方法は、第1の3Dモデル化オブジェクトの変形制約を提供するステップを有する。方法はさらに、変形制約を尊重する第2の3Dモデル化オブジェクトを決定するステップを有する。第2の3Dモデル化オブジェクトの決定は、第1の3Dモデル化オブジェクトと第2の3Dモデル化オブジェクトとの間の過渡的な3Dモデル化オブジェクトの軌跡を計算するステップを有する。軌跡は、各遷移3Dモデル化オブジェクトを、遷移3Dモデル化オブジェクトに変形基底関数を適用した結果の線形の組み合わせによって変形させる。軌跡は、損失を低減する。損失は、変形された遷移3Dモデル化オブジェクトが変形制約を無視する程度のペナルティを与える。
方法は、以下のうちの1つ以上を含んでもよい。
・前記軌跡が以下の積分式に対応する
・前記計算が、前記第2の3Dモデル化オブジェクトに向かって収束する中間の3Dモデル化オブジェクトのシーケンスを計算することによって軌跡を離散化し、損失を低減するステップを含む。
・前記シーケンスの計算が、最初の3Dモデル化オブジェクトから開始して、次の反復処理を含む。
前の反復処理で計算された中間の3Dモデル化オブジェクトに変形基底関数を適用し,その適用された降伏ベクトルを適用し、
前記反復処理で計算された中間3Dモデル化オブジェクトの変形候補の中から,それぞれの得られたベクトルのそれぞれの線形結合によって,損失を最小化する変形候補を決定し、
現在の中間3Dモデル化オブジェクトに適用されている決定された変形候補を次の中間モデル化されたオブジェクトとして選択する
・前記損失を最小化する変形候補の決定が、それぞれの線形結合の係数の候補セットを探索し、探索された候補セットの中から選択を操作し、選択された候補係数のセットは、決定された変形候補にそれぞれ対応するものである。
・ 前記損失を最小化する変形候補の決定が、前記係数の各候補集合のノルムが所定の値よりも小さいという制約の下で行われる。
・前記ノルムがL1ノルム又はL2ノルムである
・前記第1の3Dモデル化オブジェクトの変形制約を提供するステップは、ユーザが変形制約を定義するステップを含む。
コンピュータ上で実行されると、コンピュータに方法を実行させる命令からなるコンピュータプログラムがさらに提供される。
・前記軌跡が以下の積分式に対応する
・前記計算が、前記第2の3Dモデル化オブジェクトに向かって収束する中間の3Dモデル化オブジェクトのシーケンスを計算することによって軌跡を離散化し、損失を低減するステップを含む。
・前記シーケンスの計算が、最初の3Dモデル化オブジェクトから開始して、次の反復処理を含む。
前の反復処理で計算された中間の3Dモデル化オブジェクトに変形基底関数を適用し,その適用された降伏ベクトルを適用し、
前記反復処理で計算された中間3Dモデル化オブジェクトの変形候補の中から,それぞれの得られたベクトルのそれぞれの線形結合によって,損失を最小化する変形候補を決定し、
現在の中間3Dモデル化オブジェクトに適用されている決定された変形候補を次の中間モデル化されたオブジェクトとして選択する
・前記損失を最小化する変形候補の決定が、それぞれの線形結合の係数の候補セットを探索し、探索された候補セットの中から選択を操作し、選択された候補係数のセットは、決定された変形候補にそれぞれ対応するものである。
・ 前記損失を最小化する変形候補の決定が、前記係数の各候補集合のノルムが所定の値よりも小さいという制約の下で行われる。
・前記ノルムがL1ノルム又はL2ノルムである
・前記第1の3Dモデル化オブジェクトの変形制約を提供するステップは、ユーザが変形制約を定義するステップを含む。
コンピュータ上で実行されると、コンピュータに方法を実行させる命令からなるコンピュータプログラムがさらに提供される。
さらに、コンピュータプログラムが記録されたコンピュータ読み取り可能なデータ記憶媒体が提供される。
さらに、メモリに結合されたプロセッサを含み、メモリは、コンピュータプログラムをそこに記録しているコンピュータを提供する。
3Dモデル化オブジェクトの変形基底を推論するための機械学習の第1のコンピュータ実装方法が提供される。この方法は、3Dモデル化オブジェクトのデータセットを提供することからなる。この方法は、さらに、ニューラルネットワークを学習することからなる。ニューラルネットワークは、入力された3Dモデル化オブジェクトの変形基底を推論するように構成されている。この方法は、「学習方法」と呼ばれることがある。
これは、3Dモデル化オブジェクトを変形させるための改良されたソリューションを構成している。
特筆すべきは、学習手段によって学習されるニューラルネットワークは、3Dモデル化オブジェクトを入力として取り、3Dモデル化オブジェクトの変形基底を出力するように構成されていることである。変形基底は、入力された3Dモデル化対象物の変形を形成する各ベクトルで構成されている。これにより、変形基底のベクトルは線形結合され、それぞれの線形的な結合が3Dモデル化オブジェクトの異なる変形をもたらすので、3Dモデル化オブジェクトの多くの変形を得ることができる。学習方法は、このようにして、3Dモデル化オブジェクトの変形の可能性を増大させることができる。さらに、学習方法は、学習されたニューラルネットワークの単一のアプリケーションによって、変形基底を一度に計算することによって、線形の組み合わせだけがその後に実行される必要があるようにすることを可能にする。これにより、特に計算時間とリソース使用量の点で効率的に変形計算を行うことができる。ニューラルネットワークは、変形基底を得るために3Dモデル化オブジェクトの目標変形を必要としないことにも注目すべきである:ニューラルネットワークだけで、入力された3Dモデル化オブジェクトの目標変形に到達するために線形結合された変形ベクトルの基底を得ることができる。このようにして学習法は、大きな一般化能力を持ち、入力3Dモデル化オブジェクトの表現力を最大化する。
ニューラルネットワークは、局所的な変形ベクトル、すなわち、入力された3Dモデル化オブジェクトの局所的な(例えば、小さい)変形を表す各ベクトルからなる局所的な変形基底を推論してもよい。これにより、3Dモデル化オブジェクトの局所的な近傍(すなわち、3Dモデル化オブジェクトの近傍)で3Dモデル化オブジェクトを現実的に変形させることができる。別の言い方をすれば、ニューラルネットワークは、物理的に許容できる方法で入力オブジェクトを近くのオブジェクトに向かって変形させることができるという意味で、満足のいく基底を出力する。
さらに、ニューラルネットワークは、データセットの3Dモデル化オブジェクト上で学習され、少なくとも大多数(例えば、全体として)は、もっともらしい3Dモデル化オブジェクトである。これにより、ニューラルネットワークは、入力された3Dモデル化オブジェクトの変形のもっともらしいベクトルの基底を得る。前述したように、これらのベクトルは線形に結合されてもよく、それによって、例えば、入力された3Dモデル化オブジェクトの局所的な近傍での、もっともらしい変形が得られる。
さらに、ニューラルネットワークが入力された3Dモデル化オブジェクトのもっともらしい変形ベクトルの基礎を推論するために学習されるためには、提供されたデータセットは、同じカテゴリのオブジェクト(例えば、すべての椅子)で作られている必要はない。具体的には、提供されるデータセットが、同じカテゴリ(例えば、全ての椅子)の3Dモデル化オブジェクトの大量のデータセットから作られているか、又は実質的に作られている場合、ニューラルネットワークは、このカテゴリのオブジェクト(例えば、椅子)の物理的に現実的な変形基底を推論することを認める。しかし、ニューラルネットワークは、提供されるデータセットの3Dモデル化オブジェクトが異なるカテゴリ(例えば、椅子とベンチ)を形成していても、また、これらのカテゴリが提供されるデータセット内の大量の3Dモデル化オブジェクトによって表現されていなくても、そのようにしてもよい。注目すべきことに、学習は、提供されるデータセットのオブジェクトに、それぞれのカテゴリを示すラベル(もしあれば)がアノテーションされていることを要求しない。また、学習は、オブジェクトのカテゴリの平均形状などのテンプレートモデル化オブジェクトの使用を必要としない。さらに、提供されるデータセットは、オブジェクトのカテゴリに応じてクラスタ化されている必要がない。これにより、ニューラルネットワークの一般化能力がさらに向上する。
それにもかかわらず、提供されるデータセットが、マニホールド(例えば、椅子及びベンチ)を形成する3Dモデル化オブジェクトの2つ以上のカテゴリからなる場合、ニューラルネットワークの一般化能力はさらに向上する。実際、マニホールドは、それらの間に少なくとも2対2の接続性を有するオブジェクトの異なるカテゴリによって形成されてもよい、すなわち、共有された特徴/特性の一定量(例えば、椅子とベンチがそうであるように)。このため、変形基底の単一のベクトルは、マニホールド内の多くのオブジェクトカテゴリに対して意味のあるもっともらしい変形であるかもしれない(例えば、椅子とベンチの座面も同様に変形されるかもしれない)。別の言い方をすれば、提供されたデータセットが3Dモデル化オブジェクト(例えば、椅子とベンチ)のマニホールドを形成する場合、ニューラルネットワークは、オブジェクトの異なるカテゴリの変形の間で相互化するような方法で学習される。これにより、提供されるデータセットが、マニホールドを形成する異なるカテゴリのモデル化オブジェクトの数が少ない場合でも、ニューラルネットワークは、物理的に現実的/許容可能な変形基準を推論するように学習することができる。これにより、ニューラルネットワークの一般化能力が向上する。
一般的に言えば、学習がニューラルネットワークに与える一般化力は、他のディープラーニングフレームワークと比較して、ニューラルネットワークが変形の根拠を推論する能力に影響を与えることなく、カテゴリごとの3Dモデル化オブジェクトの数が少ないトレーニングデータセット(すなわち、提供されるデータセット)を必要とするようなものである。具体的には、ニューラルネットワークが異なるカテゴリで学習した変形を相互に対応させることができるため、カテゴリごとのオブジェクト数が少なくて済む。しかし、提供されるデータセットが、非常に異なる2つのカテゴリのオブジェクトの1つのカテゴリのみから構成される場合、より多くのオブジェクトが必要とされるかもしれない。
ニューラルネットワークが出力した変形基底を用いて得られた変形量は、例えば3D編集アプリケーションなどの3Dモデリングに利用されてもよい。また、ニューラルネットワークによって推論された変形基底は、後述するように、形状マッチングや非線形変形推論などの他の用途に利用されてもよい。さらに、ニューラルネットワークは、入力された3Dモデル化オブジェクトの線形変形を提供するので、リアルタイムアプリケーションでの使用に効率的である。
また、3Dモデル化オブジェクトの変形を決定するための第2のコンピュータ実装方法も提供される。この方法は、入力された3Dモデル化オブジェクトの変形基底を推論するように構成された変形基底関数を提供することを有する。この方法は、さらに、第1の3Dモデル化オブジェクトを提供することを有する。さらに、この方法は、第1の3Dモデル化オブジェクトの変形制約を提供することを有する。方法はさらに、変形制約を尊重する第2の3Dモデル化オブジェクトを決定することを有する。第2の3Dモデル化オブジェクトの決定は、第1の3Dモデル化オブジェクトと第2の3Dモデル化オブジェクトとの間の過渡的な3Dモデル化オブジェクトの軌跡を計算することを有する。軌跡は、各遷移3Dモデル化オブジェクトを、遷移3Dモデル化オブジェクトに変形基底関数を適用した結果の線形の組み合わせによって変形させる。軌跡は、損失を低減する。損失は、変形された遷移3Dモデル化されたオブジェクトによる変形制約の不遵守の程度にペナルティを与える。なお、第2の方法を「決定方法」と称してもよい。
決定方法は、3Dモデル化オブジェクトを変形させるための改良されたソリューションを構成する。
注目すべきことに、決定方法は、これら2つのオブジェクトの間の過渡的な3Dモデル化オブジェクトの軌跡を計算することによって、第1の3Dモデル化オブジェクトから第2の3Dモデル化オブジェクトを決定し、各過渡的な3Dモデル化オブジェクトは、別の過渡的な3Dモデル化オブジェクトの変形の結果である。言い換えれば、決定方法は、第1の3Dモデル化オブジェクトを、最終的に第2の3Dモデル化オブジェクトに到達する変形された過渡的な3Dモデル化オブジェクトの軌跡に沿って変形させる。それにより、決定方法は、第1の3Dモデル化オブジェクトの大きく非線形な変形を決定する。
さらに、決定方法は、各遷移3Dモデル化対象物を、遷移3Dモデル化対象物に変形基底関数を適用した結果を直線的に組み合わせて変形させる。変形基底関数の適用により、遷移3Dモデル化対象物の変形基底、すなわち遷移3Dモデル化対象物の変形ベクトルの基底が得られる。基底は、それぞれが過渡的な3Dモデル化オブジェクトの変形方向であるベクトルの集合である。基底は、線形代数の意味での基底であるか、又は少なくともその傾向がある。基底のベクトルは、過渡的な3Dモデル化されたオブジェクトを別の過渡的な3Dモデル化されたオブジェクトに変形させるために線形に結合されてもよいようなものであり、過渡的な3Dモデル化されたオブジェクトのもっともらしい局所的な変形である。例えば、変形基礎関数は、学習手段によって学習可能なニューラルネットワークであってもよく、例えば、学習手段によって学習されたものであってもよく、そのような変形基礎関数は、以前に説明されたようなベクトルをもたらす。それにより、決定方法は、第2の3Dモデル化オブジェクトに到達するまで、各遷移3Dモデル化オブジェクトを、隣接するもっともらしい遷移3Dモデル化オブジェクトに線形的かつ局所的に変形させる。別の言い方をすれば、入力された3Dモデル化オブジェクトの現実的な局所的変形方向の基礎を提供する変形基礎関数にのみ基づいて、決定方法は、第1の3Dモデル化オブジェクトから第2の3Dモデル化オブジェクトまでの軌跡を計算する。言い換えれば、決定方法は、局所的にもっともらしい変形をもたらす変形基底関数のみに基づいて、第1の3Dモデル化オブジェクトの大きな変形を達成し、決定方法を効率的なものにする。さらに、軌跡に沿って使用される局所的な変形は、もっともらしい現実的なものであり、すなわち、3Dモデル化オブジェクトを、3Dモデル化オブジェクトの近傍に属する別のオブジェクトに現実的に変形させるので、第1の3Dモデル化オブジェクトから第2の3Dモデル化オブジェクトに到達するための大きな変形も、同様に現実的である。
変形基底関数が、3Dモデル化オブジェクトのマニホールドに属する入力3Dモデル化オブジェクトの変形基底を推論するように構成されている場合、決定方法の効率及び実在性が顕著に改善される。これは、例えば、変形基底関数が、以前に説明されたように、マニホールドを形成する3Dモデル化オブジェクトのデータセット上で、学習方法に従って学習可能な(例えば、学習された)ニューラルネットワークである場合である。実際、先に説明されたように、このような方法で学習されたニューラルネットワークは、改善された一般化力を有する。この場合、決定方法に含まれる3Dモデル化オブジェクトは、この多様体に属している可能性がある。このような場合、遷移する3Dモデル化オブジェクトの物理的に現実的な局所変形は、学習方法について前述したように、ニューラルネットワークによって効率的に推論される。最終的には、第2の3Dモデル化オブジェクトである第1の3Dモデル化オブジェクトの大きな変形は、同様に効率的かつ現実的に決定される。
また、軌跡は、変形した遷移3Dモデル化対象物が変形制約を無視する程度にペナルティを与える損失を減少させる。言い換えれば、損失は、3Dモデル化オブジェクトが変形制約を尊重するほど小さくなるようなものである。また、過渡的な3Dモデル化オブジェクトの軌跡は、その軌跡に沿って損失が減少/減少するようなものである。言い換えれば、第2の3Dモデル化対象物までの軌跡に沿って、経過的な3Dモデル化対象物は、変形制約をより良く、より良く尊重している。したがって、第2の3Dモデル化対象物は、遷移する3Dモデル化対象物の中で、変形制約を最もよく尊重する。言い換えれば、第2の3Dモデル化されたオブジェクトは、損失の最小値になる傾向があるか、少なくとも損失の最小値に近い傾向がある。決定方法は、それによって、第1の3Dモデル化オブジェクトの最適な大きな非線形のもっともらしい変形をもたらす。
すなわち、決定方法は、局所的にもっともらしい変形基底推論関数のみに頼ることで、第1の3Dモデル化対象物のもっともらしい変形量が大きく、変形制約を尊重した3Dモデル化対象物(すなわち、第2の3Dモデル化対象物)を得ることができる。これにより、決定方法は、効率的でロバストなものとなる。また、このことは、決定方法が、3Dモデル化オブジェクトの大きな現実的な変形を決定することを可能にすることを意味する。このように、決定方法は、ユーザが、決定方法がユーザの意図を満たす、このオブジェクトの大きな現実的な変形をユーザに提供するために、第1の3Dモデル化オブジェクトに変形制約を定義するだけでよいので、3Dモデリングや3D編集に効率的に使用することができる。それにより、決定方法はまた、3D編集のための改善された人間工学的なソリューションを構成する。
学習方法と決定方法は、独立して実行されてもよい。あるいは、決定方法は、学習手段の応用、すなわち、学習手段によって学習されたニューラルネットワークの利用方法であってもよい。決定方法の変形基底関数は、実際にはニューラルネットワークであってもよい。代替的又は追加的に、決定方法の変形基礎関数は、学習手段に従って学習可能な任意のニューラルネットワークであってもよく、例えば、学習手段に従って直接学習されたニューラルネットワークであってもよい。例えば、変形基底関数を提供することは、学習方法を実行することからなり、それによって変形基底関数を形成するニューラルネットワークが得られる。
これらの方法は、3Dモデル化オブジェクトの変形を行う同じコンピュータ実装プロセスに統合されていてもよい。プロセスは、オフラインステージとオフラインステージに続くオンラインステージとからなり、学習方法はオフラインステージを形成し、決定方法はオンラインステージを形成する。このように、オフラインステージは、データセットの提供と学習方法に従ったニューラルネットワークの学習からなり、オンラインステージは、決定方法に従った第2の3Dモデル化オブジェクトの提供と決定を有する。
学習方法及び利用方法は、コンピュータを利用した方法である。
これは、方法のステップ(又は実質的にすべてのステップ)が、少なくとも1つのコンピュータ、又は同様に任意のシステムによって実行されることを意味する。したがって、方法のステップは、コンピュータによって、場合によっては完全に自動的に、又は半自動的に実行される。例では、方法のステップの少なくとも一部のトリガは、ユーザ/コンピュータ対話によって実行されてもよい。必要とされるユーザ/コンピュータ対話のレベルは、予測される自動化のレベルに依存し、ユーザの希望を実施する必要性とのバランスをとることができる。例示的な実施例では、このレベルは、ユーザ定義及び/又は事前定義されたものであってもよい。
コンピュータによる方法の典型的な例は、この目的のために適合したシステムを使用して方法を実行することである。システムは、メモリとグラフィカルユーザーインターフェース(GUI)に結合されたプロセッサで構成され、メモリには、方法を実行するための命令を含むコンピュータ・プログラムが記録されている。メモリはまた、データベースを格納してもよい。メモリは、そのようなストレージに適応したハードウェアであればどのようなものでもよく、いくつかの物理的に異なる部分(例えば、プログラム用のものと、データベース用のものがある)から構成されてもよい。
方法は通常、モデル化オブジェクトを操作する。モデル化オブジェクトとは、データベースなどに格納されたデータによって定義されたオブジェクトのことである。拡張すると、「モデル化オブジェクト」という表現は、データそのものを意味する。システムの種類に応じて、モデル化オブジェクトは異なる種類のデータによって定義される。システムは、実際には、CADシステム、CAEシステム、CAMシステム、PDMシステム及び/又はPLMシステムの任意の組み合わせであってもよい。これらの異なるシステムでは、モデル化オブジェクトは、対応するデータによって定義される。従って、1つは、CADオブジェクト、PLMオブジェクト、PDMオブジェクト、CAEオブジェクト、CAMオブジェクト、CADデータ、PLMデータ、PDMデータ、CAMデータ、CAEデータと言ってもよい。しかし、モデル化オブジェクトは、これらのシステムの任意の組み合わせに対応するデータによって定義される可能性があるため、これらのシステムは排他的なものではない。このように、システムはCADとPLMの両方のシステムである可能性がある。
CADシステムとは、CATIAのような、少なくともモデル化オブジェクトのグラフィカルな表現に基づいてモデル化オブジェクトを設計するために適応されたシステムを追加的に意味する。この場合、モデル化オブジェクトを定義するデータは、モデル化オブジェクトの表現を可能にするデータからなる。CADシステムは、例えば、CADモデル化オブジェクトの表現を、特定の場合には面又は面を有するエッジ又は線を用いて提供してもよい。線、辺、又は面は、様々な方法、例えば、非一様有理Bスプライン(NURBS)で表現されてもよい。具体的には、CADファイルには仕様が含まれており、そこからジオメトリが生成され、それによって表現が生成される。モデル化オブジェクトの仕様は、1つのCADファイルに格納されている場合と、複数のCADファイルに格納されている場合がある。CADシステムにおけるモデル化オブジェクトを表すファイルの典型的なサイズは、1部品あたり1メガバイトの範囲内である。そして、モデル化オブジェクトは、典型的には数千の部品のアセンブリである場合がある。
CADの文脈では、モデル化オブジェクトは、典型的には3Dモデル化オブジェクトであり、例えば、部品や部品のアセンブリ、あるいは場合によっては製品のアセンブリのような製品を表する。「3Dモデル化オブジェクト」とは、3D表現を可能にするデータによってモデル化された任意のオブジェクトを意味する。3D表現は、あらゆる角度から部品を見ることを可能にする。例えば、3Dモデル化オブジェクトは、3D表現されたときに、その軸のいずれかを中心に、又は表現が表示されている画面のいずれかの軸を中心に、操作したり回転させたりすることができる。これは、特に、3Dモデル化されていない2Dアイコンを除外する。3D表現の表示は、設計を容易にする(すなわち、設計者がタスクを達成する速度を統計的に向上させる)。これは、製品の設計が製造工程の一部であるため、産業界では製造工程のスピードアップにつながる。
(任意の方法における)任意の3Dモデル化オブジェクトは、例えばCADソフトウェアソリューション又はCADシステムを用いて仮想設計が完了した後、現実世界で製造される製品の形状を表してもよく、例えば(例えば機械的な)部品又は部品のアセンブリ(又は等価的には部品のアセンブリであり、部品のアセンブリは、方法の観点から部品自体として見られてもよく、又はアセンブリの各部分に独立して方法が適用されてもよい)、又はより一般的には任意の剛体アセンブリ(例えば移動機構)などが挙げられる。CADソフトウェアソリューションは、以下を含む様々な無制限の産業分野における製品の設計を可能にする。航空宇宙、建築、建設、消費財、ハイテク機器、産業機器、輸送、海洋、及び/又は海洋石油/ガスの生産又は輸送。方法に関与する任意の3Dモデル化オブジェクトは、したがって、任意の機械部品であってもよい工業製品を表すことができ、それは、例えば、陸上車両の部品(例えば、自動車及び軽トラック装置、レーシングカー、オートバイ、トラック及びモーター装置、トラック及びバス、列車を含む)、空中車両の部品(例えば、機体機器、航空宇宙機器、推進機器、防衛製品、航空機器、宇宙機器を含む)、海軍車両の部品(例えば、海軍機器、商業船舶、海洋機器、ヨット及びワークボート、海洋機器を含む)、一般的な機械部品(例えば、工業製造機械、重移動機械又は装置、設置された装置、工業機器製品、加工された金属製品、タイヤ製造製品を含む)、電気機械又は電子部品(例えば、家電製品、セキュリティ及び/又は制御及び/又は計装製品、コンピューティング及び通信機器、半導体、医療機器及び装置を含む)、消費財(例えば、家具、家庭用及び園芸製品、レジャー用品、ファッション製品、ハード用品小売店の製品、ソフト用品小売店の製品を含む)、包装(例えば、食品及び飲料及びたばこ、美容及びパーソナルケア、家庭用製品の包装を含む)である。
図1は、システムの一例を示しており、ここで、システムはクライアントコンピュータシステム、例えばユーザのワークステーションである。
本実施例のクライアントコンピュータは、内部通信BUS1000に接続された中央処理装置(CPU)1010と、同じくBUSに接続されたランダムアクセスメモリ(RAM)1070とから構成されている。クライアントコンピュータは、BUSに接続されたビデオランダムアクセスメモリ1100に関連付けられたグラフィカルプロセッシングユニット(GPU)1110をさらに備える。ビデオRAM1100は、当技術分野ではフレームバッファとしても知られている。大容量記憶装置コントローラ1020は、ハードドライブ1030などのマスメモリデバイスへのアクセスを管理する。コンピュータプログラムの命令及びデータを実体として具現化するのに適したマスメモリデバイスは、例示的にはEPROM、EEPROM、フラッシュメモリデバイスなどの半導体メモリデバイス、内部ハードディスク及びリムーバブルディスクなどの磁気ディスク、磁気光ディスク、及びCD−ROMディスク1040を含むあらゆる形態の不揮発性メモリを含む。前述のいずれかは、特別に設計されたASIC(特定用途向け集積回路)によって補完されてもよいし、組み込まれてもよい。ネットワークアダプタ1050は、ネットワーク1060へのアクセスを管理する。クライアントコンピュータは、カーソル制御装置、キーボードなどの触覚デバイス1090を含んでもよい。カーソル制御デバイスは、ユーザがディスプレイ1080上の任意の所望の位置にカーソルを選択的に配置することを可能にするために、クライアントコンピュータで使用される。さらに、カーソル制御装置は、ユーザが様々なコマンドを選択したり、制御信号を入力したりすることを可能にする。カーソル制御装置は、システムに制御信号を入力するための多数の信号生成装置を含む。典型的には、カーソル制御装置はマウスであってもよく、マウスのボタンは信号を生成するために使用される。代替的又は追加的に、クライアントコンピュータシステムは、センシティブパッド、及び/又はセンシティブスクリーンを有してもよい。
コンピュータプログラムは、コンピュータによって実行可能な命令を含んでいてもよく、命令は、システムに方法を実行させるための手段を含んでいる。プログラムは、システムのメモリを含む任意のデータ記憶媒体に記録可能であってもよい。プログラムは、例えば、デジタル電子回路、又はコンピュータハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせで実装されてもよい。プログラムは、装置、例えば、プログラム可能なプロセッサによって実行されるために機械可読記憶装置に実体として具現化された製品として実装されてもよい。方法のステップは、入力データ上で動作し、出力を生成することにより、方法の機能を実行するための命令のプログラムを実行可能なプロセッサによって実行されてもよい。したがって、プロセッサは、データ記憶システム、少なくとも1つの入力デバイス、及び少なくとも1つの出力デバイスからデータ及び指示を受信し、データ及び指示を送信するようにプログラム可能であり、結合されていてもよい。アプリケーションプログラムは、高レベルの手続き型プログラミング言語又はオブジェクト指向プログラミング言語で実装されてもよいし、所望に応じてアセンブリ言語又は機械語で実装されてもよい。いずれの場合においても、言語は、コンパイルされた言語であっても、解釈された言語であってもよい。プログラムは、フルインストールプログラムであってもよいし、更新プログラムであってもよい。システム上でプログラムを適用すると、どのような場合でも方法を実行するための命令が得られる。
学習方法についてさらに説明する。
3Dモデル化オブジェクトのデータセットの提供について説明する。この説明に先立ち、そこに関与するデータ構造について説明する。
本明細書では、任意の3Dモデル化オブジェクトは、3D形状の離散的な幾何学的表現を形成してもよく、例えば、以前に説明されたような機械部品のような現実世界からのオブジェクトを表現してもよい。離散的な幾何学的表現は、本明細書では、データの離散的なセットからなるデータ構造である。データの各部分は、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つ又は複数のセンサは、代替的又は追加的に、1つ又は複数の深度センサ(例えば、RGB深度カメラ)で構成されていてもよく、決定は深度データからの3D再構成で構成されていてもよい。1つ又は複数の深度センサは、例えば、レーザー(ライダーなど)又は超音波エミッタ/レシーバで構成されていてもよい。
本明細書に記載の任意の3D点群又は3Dメッシュは、代替的に、例えば、3Dモデル化オブジェクト上でのレイキャスト又は3Dモデル化オブジェクトのテッセレーションによって、立体(例えば、スキン、すなわち正確な表面を表すB−Repモデルに対応する)のスキン(すなわち外面)を表す3Dモデル化オブジェクトから得られてもよい。テッセレーションは、任意の3Dモデル化オブジェクトのレンダリングプロセスに従って実行されてもよい。このようなレンダリングプロセスは、3Dモデル化オブジェクトのグラフィカルな表現を表示するために、任意のCADシステム上でコード化されてもよい。3Dモデル化オブジェクトは、CADシステムを有するユーザによって設計されたものであってもよいし、設計されたものである。
データセットの提供は、例えば3Dモデル化オブジェクトを作成することによって、データセットを形成することであってもよい。あるいは、データセットの提供は、データセットが作成された後に保存されている(例えば、遠隔の)メモリからデータセットを取り出すことで構成されてもよい。データセットの3Dモデル化オブジェクトは、すべて3D点群であってもよい。あるいは、それらはすべて3Dメッシュであってもよい。このような場合、学習方法は、これらのメッシュを3D点群にサンプリングする前処理を含んでもよい。次に、前処理は、各3Dメッシュのセンタリングを行う。次に、前処理は、メッシュの頂点が単位立方体に正確に収まるように、各3Dメッシュの寸法を独立して再スケーリングすることを含んでもよい。前処理は、次に、データセット内の各正規化された形状から密な点群を抽出してもよく、例えば、6つの正投影図にそれぞれレイキャストすることにより、点群を抽出してもよい。次に、前処理は、各点群を一様にサブサンプリングする(例えば、各点群を同じサイズにダウンサンプリングする)ことから行われてもよい。サブサンプリングは、点群のランダムな点から開始し、既に選択された点から点群の最も遠い点を反復的に選択して、所望の点数に達するようにしてもよい。
データセットの3Dモデル化オブジェクトは、もっともらしい(例えば、現実的な)3Dモデル化オブジェクトであってもよい。もっともらしい3Dモデル化オブジェクトは、現実世界のオブジェクトを表す3Dモデル化オブジェクト、例えば、もっともらしい機械部品を指定してもよい。妥当な機械部品は、現実世界の工業的製造プロセスにおいて現実的に製造可能な機械部品を指定してもよい。妥当な機械部品は、現実世界の工業的製造プロセスにおいて機械部品を現実的に製造するために尊重されなければならないすべての制約を尊重する機械部品を指す場合がある。制約は、機械的制約(例えば、古典力学の法則から生じる制約)、機能的制約(例えば、一度製造された機械部品によって実行される1つ又は複数の機械的機能に関連する制約)、製造制約(例えば、以下の制約)のうちの1つ又は複数から構成されてもよい。機械部品を製造するための1つ以上の製造工程中に、1つ以上の製造ツールを機械部品に適用する能力に関する制約)、構造的制約(例えば、機械部品の強度及び/又は抵抗に関する制約)、及び/又はアセンブリ制約(例えば、機械部品が1つ以上の他の機械部品とどのように組み立てることができるかを定義する制約)である。
前述したように、提供されるデータセットの3Dモデル化オブジェクトは、すべて又は実質的にすべて、3Dモデル化オブジェクトの単一のカテゴリに属していてもよい。あるいは、3Dモデル化オブジェクトの異なるカテゴリを形成していてもよい.いずれにしても、提供されるデータセットの3Dモデル化オブジェクトは、前に説明されたような機械部品のような現実世界からのそれぞれのオブジェクトを表している。
ニューラルネットワークの学習について説明する。
機械学習の分野で知られているように、ニューラルネットワークによる入力の処理は、入力に操作を適用することを含み、操作は重みの値を含むデータによって定義される。したがって、ニューラルネットワークを学習することは、学習のために構成されたデータセットに基づいて重みの値を決定することを含み、そのようなデータセットは学習データセット又は訓練データセットと呼ばれることがある。そのために、データセットは、それぞれがそれぞれの学習サンプルを形成するデータピースを含む。トレーニングサンプルは、ニューラルネットワークが学習された後に使用される状況の多様性を表している。本明細書で言及される任意のデータセットは、10000、100000、又は1000000よりも高い数のトレーニングサンプルを含んでいてもよい。ここで、ニューラルネットワークは、提供されたデータセット上で学習される、つまり、提供されたデータセットがニューラルネットワークの学習/訓練データセットであることを意味する。学習は、任意の適切な既知の方法によって行われてもよい。
ニューラルネットワークは、入力された3Dモデル化オブジェクトの変形基底を推論するように構成されている。すなわち、ニューラルネットワークは、3Dモデル化オブジェクトを入力として受け取り、その3Dモデル化オブジェクトの変形基底を出力する。そのためには、入力された3Dモデル化オブジェクトは、データセットの3Dモデル化オブジェクトと同じデータ型である必要がある。例えば、データセットの3Dモデル化オブジェクトが3Dメッシュである場合、入力された3Dモデル化オブジェクトも3Dメッシュである。あるいは、データセットの3Dモデル化オブジェクトが3D点群である場合、入力された3Dモデル化オブジェクトも3D点群である。それにもかかわらず、3Dモデル化オブジェクトは、メッシュのサンプリングから得られる3D点群であってもよい。変形基底は、それぞれが変形方向であるベクトルの集合である。ベクトルは、入力された3Dモデル化オブジェクトを変形させるために線形に結合されてもよく、その係数(振幅とも呼ばれる)が設定された線形結合は、変形をもたらす。ベクトルは、線形結合が十分に小さい場合、変形した入力3Dモデル化オブジェクトが入力3Dモデル化オブジェクトに近づくような方法で線形結合されてもよい。このような場合、その変形は現実的である。数学的には、その変形は、その多様体が変形基底によって定義される接線空間上にある変形に十分に近接している限り、現実的である。変形基底は線形代数の意味での基底であり、線形的に独立なベクトルの集合であり、基底は正規化されている可能性があり、例えば、直交法である。具体的には、学習は、ニューラルネットワークが、線形的に独立している(例えば、以下でさらに説明されるように、無相関及び/又は直交ベクトルである)変形ベクトルの基底を推論すること、又は少なくとも推論する傾向があることを目的とする。変形ベクトルの基底は、一定の大きさ(例えば、2ベクトル以上10ベクトル以下、又は10ベクトル以上)を有していてもよい。言い換えれば、ニューラルネットワークは、常に(すなわち、入力された3Dモデル化オブジェクトごとに)同じ固定数のベクトルを有する変形基底を出力してもよい。データセットがもっともらしい3Dモデル化オブジェクトで構成されている場合、ニューラルネットワークは、そのように学習されているため、3Dモデル化オブジェクトのもっともらしい変形ベクトルを有する変形基底を推論する。
ニューラルネットワークは、3Dモデル化オブジェクトを入力として取り、その変形基底を出力するように構成されたアーキテクチャを有している。ニューラルネットワークは、エンコーダとディープフィードフォワードニューラルネットワークから構成されていてもよい。エンコーダは、3Dモデル化オブジェクトを入力として受け取り、入力された3Dモデル化オブジェクトを表す潜在ベクトルを出力するように構成されている。このように、エンコーダは、3Dメッシュ又は3D点群(例えば、3Dメッシュからサンプリングされたもの)を入力として受け取るように構成されていてもよい。ディープフィードフォワードニューラルネットワークは、エンコーダによって出力された潜在ベクトルを入力として受け取り、その潜在ベクトルによって表される3Dモデル化オブジェクトの変形基底を出力するように構成されている。エンコーダアーキテクチャは、PointNet(例えば、参照により本明細書に組み込まれる先に引用された参考文献[8]に記載されているようなもの)、又はその延長線上の任意のものに基づいていてもよい。あるいは、エンコーダアーキテクチャは、メッシュトポロジー(すなわち、データセットの3Dモデル化オブジェクトが3Dメッシュである場合)を使用してもよく、例えば、メッシュCNNで行われている。(例えば、以前に引用した参考文献[9]を参照)。
学習は、データセットの少なくとも一部について、損失を最小化してもよい。データセットの少なくとも一部の3Dモデル化オブジェクトのそれぞれについて、及びベクトルを有する変形基底の候補のそれぞれについて、損失は、ベクトルの線形結合による3Dモデル化オブジェクトの変形と別の3Dモデル化オブジェクトとの間の距離にペナルティを与える。
損失の最小化について説明する。
データセットの少なくとも一部は、データセットの3Dモデル化オブジェクトのサンプルである。例えば、データセットの少なくとも一部はミニバッチであってもよい。その場合、学習はミニバッチごとに行われ、ミニバッチごとに損失を最小化することからなる。ミニバッチごとに学習するという概念は、機械学習の分野で知られている。例えば、学習は、ミニバッチ確率的勾配降下法のような公知のミニバッチ確率的最適化手法を実装してもよい。ミニバッチごとの学習は、機械学習の分野からそれ自体知られているように、学習の効率を向上させる。
データセットの少なくとも一部の3Dモデル化オブジェクトごとに、学習は、ニューラルネットワークによって出力されたモデル化オブジェクトの変形基底を現在の重み値で評価する。この計算された変形基底は、3Dモデル化オブジェクトの変形基底候補を形成する。損失は、この候補変形基底のベクトルと別の3Dモデル化オブジェクトとの線形結合による3Dモデル化オブジェクトの変形との間の距離をペナルティとする。つまり、この候補基底のベクトルの線形結合による3Dモデル化対象物の変形と別の3Dモデル化対象物との間の距離が大きい場合に損失が大きくなる傾向がある。この場合、損失を最小化する学習は、損失の値が小さくなるようにニューラルネットワークの重みを修正して、新たな候補を得る。学習は、損失がその最小値、又は少なくとも十分に小さい値(例えば、収束基準に関して)に達するまでそのようにする(例えば、ミニバッチごとに)。
前述の別の3Dモデル化オブジェクトは、ターゲットオブジェクト(すなわち、ベクトルの線形結合が3Dモデル化オブジェクトを変形させるためのものである)であってもよい。これにより、ニューラルネットワークを訓練して変形の基礎を推論することができる。例えば、別の3Dモデル化オブジェクトは、データセットの少なくとも一部の3Dモデル化オブジェクトのうち、データセットの少なくとも一部の3Dモデル化オブジェクトに近い3Dモデル化オブジェクトであってもよい。言い換えれば、学習は、特に、データセットの少なくとも一部の3Dモデル化オブジェクトの中から、データセットの少なくとも一部の3Dモデル化オブジェクトからの距離に基づいて、別の3Dモデル化オブジェクトを選択することを含んでいてもよい。選択は、データセットの少なくとも一部の3Dモデル化オブジェクトとデータセットの少なくとも一部の3Dモデル化オブジェクトとの間の距離を計算し、どの3Dモデル化オブジェクトが近いか、すなわち、どの3Dモデル化オブジェクトについて距離が小さいかを評価することを含んでもよい。そして、選択は、距離が小さい3Dモデル化オブジェクトを選択してもよい。例では、選択は、どの3Dモデル化オブジェクトが最も近いか、すなわち、どの3Dモデル化オブジェクトについて距離が最も小さいかを評価してもよい。言い換えれば、選択は、距離の最小値を計算し、どの3Dモデル化オブジェクトがこの最小値をもたらすかを評価する。これらの例では、別の3Dモデル化オブジェクトは、データセットの少なくとも一部の3Dモデル化オブジェクトの中で、データセットの少なくとも一部の3Dモデル化オブジェクトに最も近い3Dモデル化オブジェクトである。例では、学習は、ミニバッチごとに行われ、各ミニバッチについて、損失を最小化することと、ミニバッチの3Dモデル化オブジェクトの中から最も近い3Dモデル化オブジェクトを選択することからなる。別の言い方をすれば、別の3Dモデル化オブジェクトの選択は、データセットの少なくとも一部がミニバッチであるミニバッチのオブジェクトの中から行われる。
データセットの少なくとも一部の3Dモデル化オブジェクトからの距離は、3Dモデル化オブジェクト間の距離、例えば点群又は3Dメッシュ間の3D内の距離など、任意の距離であってもよい。例では、距離は、現在説明されているように、潜在空間内の距離であってもよい。
具体的には、これらの例では、学習方法は、例えば、学習の前に、学習方法の初期段階などで、提供されたデータセットの3Dモデル化オブジェクトを入力として取り、この3Dモデル化オブジェクトを符号化する潜在ベクトルを出力するように構成された別のエンコーダを提供することで構成されていてもよい。別のエンコーダは、機械学習の分野で知られているように、3Dモデル化オブジェクトの意味のある潜在空間を学習するために、オートエンコーダーのフレームワーク、分類タスク、又は他の機械学習方法で学習されてもよい。別のエンコーダを提供することは、別のエンコーダを訓練することからなる。あるいは、別のエンコーダは、予め訓練されていてもよい。これらの例では、第1の3Dモデル化オブジェクトと第2の3Dモデル化オブジェクトとの間の距離は、第1の3Dモデル化オブジェクトに別のエンコーダを適用した結果と、第2の3Dモデル化オブジェクトに別のエンコーダを適用した結果との間の、別のエンコーダの潜在空間内の距離であってもよい。この潜在空間距離は、別のエンコーダによって出力される潜在ベクトルが、符号化された3Dモデル化オブジェクトのセマンティクスを捕捉するので、より正確に変形の基礎を推論するためにニューラルネットワークを訓練することを可能にする。別の言い方をすれば、エンコーダは、セマンティクスに関して暗黙のうちにデータセットをクラスタリングする。これにより、別の3Dモデル化オブジェクトを、データセットの少なくとも一部の3Dモデル化オブジェクトに最も類似した3Dモデル化オブジェクトとして決定することができる。この潜在空間距離の使用は、このようにして、学習の精度を向上させるだけでなく、例えば、計算に多くのコストがかかる3Dモデル化オブジェクト空間の距離と比較して、効率性を向上させることができる。
別の3Dモデル化オブジェクトの選択は、最小化の前に行われてもよい。例えば、データセットの3Dモデル化オブジェクトに別のエンコーダを適用した結果は、予め計算されていてもよく、すなわち、最小化の前に計算されていてもよい。
線形の組み合わせは係数を持ち、それぞれが組み合わせの中の各ベクトルの寄与度に対応している。係数は、学習中にニューラルネットワークによって計算される。あるいは、学習中に実行される最適化の結果であってもよい。
損失は、ベクトルの線形結合による3Dモデル化オブジェクトの変形と別の3Dモデル化オブジェクトとの間の距離の最小値をペナルティとしてもよい。これにより、損失を最小化する際に、線形結合による最適な変形、すなわち距離を最小化する変形が選択される。最小値は、例えば、ベクトルの線形結合による3Dモデル化オブジェクトの変形と別の3Dモデル化オブジェクトとの間の距離の最小値であってもよく、線形結合の係数のすべての可能な値のうちの最小値であってもよい。損失は、最小値が大きくなると損失が大きくなる傾向にあるという点で、最小値をペナルティとしている。この場合、損失を最小化する学習は、損失の値を低くするようにニューラルネットワークの重みを修正する。学習は、損失が最小値、又は少なくとも十分に小さい値(例えば、収束基準に関して)に達するまでそのようにする(例えば、ミニバッチごとに)。
損失は以下のタイプであってもよい。
ここで、
・e1,…,eNは、データセットの少なくとも一部の3Dモデル化オブジェクトである。Nは、データセットの少なくとも一部に含まれるオブジェクトの数である。
・p1,…,pNは、e1,…,eNから得られた点群である。
・各3Dモデル化オブジェクトeiに対して、gw(fw(ei),pi)1,…,gw(fw(ei),pi)nは3Dモデル化オブジェクトの変形基底候補のベクトルである。nは変形基底候補のサイズである。
は3Dモデル化オブジェクトeiのベクトルの線形結合による変形である。α1,…,αNは線形結合の係数である。
・qiは、別の3Dモデル化オブジェクトから得られる点群である。
・dCHは距離である。
・ニューラルネットワークは重みを有する。wはニューラルネットワークの重みを表す。
・fwは、3Dモデル化オブジェクトを入力として取り、入力された3Dモデル化オブジェクトを表す潜在ベクトルを出力するように構成されたエンコーダである。
・gwは、エンコーダが出力する潜在ベクトルを入力として取り、潜在ベクトルで表される3Dモデル化オブジェクトの変形基底を出力するように構成されたディープフィードフォワードニューラルネットワークである。
・e1,…,eNは、データセットの少なくとも一部の3Dモデル化オブジェクトである。Nは、データセットの少なくとも一部に含まれるオブジェクトの数である。
・p1,…,pNは、e1,…,eNから得られた点群である。
・各3Dモデル化オブジェクトeiに対して、gw(fw(ei),pi)1,…,gw(fw(ei),pi)nは3Dモデル化オブジェクトの変形基底候補のベクトルである。nは変形基底候補のサイズである。
・qiは、別の3Dモデル化オブジェクトから得られる点群である。
・dCHは距離である。
・ニューラルネットワークは重みを有する。wはニューラルネットワークの重みを表す。
・fwは、3Dモデル化オブジェクトを入力として取り、入力された3Dモデル化オブジェクトを表す潜在ベクトルを出力するように構成されたエンコーダである。
・gwは、エンコーダが出力する潜在ベクトルを入力として取り、潜在ベクトルで表される3Dモデル化オブジェクトの変形基底を出力するように構成されたディープフィードフォワードニューラルネットワークである。
e1,・・・,eNは既に3D点群である可能性があり、その場合はe1=p1,…,eN=pNである。あるいは、e1,・・・,eNが3Dメッシュであってもよく、その場合はp1,…,pNはe1,…,eNのサンプリングに起因する可能性がある。dCHは、アースムーバー距離や面取り距離などの3D点群間の任意の3D距離であってもよい。dCHは、例として、以下のタイプのものがある。
q1は次のように計算される。f’を、先に説明した別のエンコーダであるとする。次に、各iに対して、その学習方法は、
で決定する。次に、qiはqi=pi’で与えられる。前述したように、ベクトルf’(ei)を事前に計算することができる。
損失は、各3Dモデル化オブジェクト及び各候補変形基底について、線形結合の係数を入力として取る(例えば、最小の)関数を含む疎さをさらにペナルティとしてもよい。疎さ関数は、例えば、以前に説明されたように、線形結合の係数のL1ノルムであってもよい(例えば、参照により本明細書に組み込まれる参考文献[6]を参照のこと)。言い換えれば、(例えば、最小値の)疎さ誘導関数が大きい場合には、損失が大きくなる傾向がある。この場合、損失を最小化する学習は、損失の値を低くするようにニューラルネットワークの重みを修正する。学習は、損失が最小値、又は少なくとも十分に小さい値(例えば、収束基準に関して)に達するまで(例えば、ミニバッチごとに)そうする。この場合、損失は、以下のタイプのものであってもよい。
λはトレードオフパラメータ(機械学習の分野でよく知られている概念)であり、φはL1ノルム(例えば、参照により本明細書に組み込まれる、以前に引用した参考文献[6]を参照のこと)のような疎さ誘導関数であり、(α1、…、αp)は係数のベクトルであり、振幅のベクトルとも呼ばれる。
これにより、学習中に係数/振幅を疎にすることができる。最終的には、これにより、ニューラルネットワークは、相関のない変形基底ベクトルを出力するように学習することができ、これにより、学習方法の一般化力がさらに向上する。特筆すべきことは、このようにして学習されたニューラルネットワークは、その疎さにより、入力された3Dモデル化オブジェクトの変形を基底ベクトルの線形結合で計算するために、少数のベクトルを用いることができるため、満足のいく基底を出力することができるということである。また、出力される基底は、線形代数の意味での基底であるか、少なくともその傾向がある。
損失は、各3Dモデル化オブジェクト及び各変形基底候補について、変形基底候補の変形基底の直交性に報酬を与えることをさらに含んでもよい。言い換えれば、損失は、ニューラルネットワークによって推定された3Dモデル化オブジェクトの変形基底の直交性を現在の重み値で捕捉する項をさらに含んでもよく、変形基底が直交性である傾向がある場合には、項は小さくなる傾向がある。この場合の損失は、以下のタイプのものであってもよい。
δはトレードオフパラメータ(機械学習の分野でよく知られている概念)である。これにより、ニューラルネットワークは、ニューラルネットワークが、直交行列になりがちなので、無相関である変形基底ベクトルを出力するように学習することをさらに可能にする。これにより、このような基底は線形代数の意味での基底であるか、少なくともその傾向がある。
損失は、機械学習の分野からそれ自体知られているように、任意の適切な正則化関数をさらに含んでいてもよい。
学習法の実装が説明される。
本実施形態は、3Dモデリング及び3D機械学習の分野に改善をもたらす。本実施形態の結果は、仮想及び拡張現実(より一般的には、あらゆる種類の没入体験)、ビデオゲーム、製造及び3D印刷、又は3Dモデリングのような分野で使用することができる。本実施形態は、任意の3Dモデル化オブジェクトに対して現実的な疎な変形線形基底を計算するソリューションを提供し、それを利用して形状合成、画像からの形状再構成、又は形状マッチングを実行することができる。
本実施形態では、モデル化された任意の3Dオブジェクトに、その基底を構成する変形ベクトルの任意の線形の組み合わせによって、モデルを局所的な近傍で現実的に変形させることができるような、もっともらしい線形変形基底を提供することができる。このような変形は、3Dモデリングソフトウェア、特に3D編集アプリケーションにおいて使用することができる。すなわち、大きな非線形変形の推論や形状マッチングに利用できる。
本実施形態では、互いに独立したもっともらしい変形を得るために、疎な制約を持つ線形3D変形場を学習するニューラルネットワーク(学習時に学習するニューラルネットワーク)を学習する。本実施形態では、提供されるデータセットである、ラベル付けされていない3Dモデル化オブジェクトのデータセットから、入力された3Dモデル化オブジェクトの各点で変形基底を推論するニューラルネットワークを学習する(学習時に学習する)。このネットワークを学習するために、学習は、前述したように、ミニバッチごとに進行する。
(1)各バッチの各3Dモデル化オブジェクトを、同一バッチ内の最も近い3Dモデル化オブジェクトとマッチングさせる。すなわち、バッチの3Dモデル化オブジェクトの中から、バッチの3Dモデル化オブジェクトに最も近い別の3Dモデル化オブジェクトを選択する。
(2)現在の重みを有するニューラルネットワークによって推論された変形ベクトルと、バッチ内の最も近い3Dモデル化オブジェクトとの間の距離を最小化する3Dモデル化オブジェクトの予測された変形ベクトルの線形結合を、追加の疎さ正則化項を用いて計算する。
(3)ニューラルネットワークの重みにわたって同じ損失(変形した3Dモデル化オブジェクトとその最も近い3Dモデル化オブジェクトとの間の距離)を最小化し、予測された変形量の基礎を最適化する。
(2)現在の重みを有するニューラルネットワークによって推論された変形ベクトルと、バッチ内の最も近い3Dモデル化オブジェクトとの間の距離を最小化する3Dモデル化オブジェクトの予測された変形ベクトルの線形結合を、追加の疎さ正則化項を用いて計算する。
(3)ニューラルネットワークの重みにわたって同じ損失(変形した3Dモデル化オブジェクトとその最も近い3Dモデル化オブジェクトとの間の距離)を最小化し、予測された変形量の基礎を最適化する。
本実施形態では、異なる種類の3Dモデル化オブジェクトをクラスター化して、それぞれを個別に学習する必要はない。逆に、データセット全体を一括して直接学習するのに適している。本実施形態では、各変形がそれ自体がもっともらしい変形である無相関変形量ベースの学習を行う。推定された変形量は線形であるため、リアルタイムでの利用が可能である。変形は3D変形場として推定され、入力された3Dモデル化オブジェクトの表現力を最大化する。
データセットの提供時に、本実施形態では、提供されるデータセットが3Dメッシュからなる場合には、前述したような前処理を行ってもよい。前処理は、各メッシュをセンタリングし、メッシュの頂点が単位立方体に正確に収まるように、各メッシュの寸法を独立に再スケーリングすることからなる。次に、前処理は、データセット内の各正規化された形状から、6つの正投影図にレイキャストすることにより、密な点群を抽出することから始まる。次に、前処理は、各点群を一様にサブサンプリングする(例えば、各点群を同じサイズにダウンサンプリングする)。これを行うために、前処理は、点群のランダムな点から開始してもよく、既に選択された点から点群の最も遠い点を、予め定義された(例えば、所望の)点数に到達するまで反復的に選択する。
現在説明されている実施形態に従ったニューラルネットワークのアーキテクチャについて説明する。
この実施形態では、ニューラルネットワークは、(例えば、任意の入力3Dモデル化オブジェクトに対して)同じ固定数の変形基底ベクトルを推論する。nは、推論された変形基底の、この固定された同じサイズであるとする。この実施形態では、3D点群又は3Dメッシュを入力として受け取り、潜在ベクトル
を出力するエンコーダアーキテクチャfwを含む。潜在ベクトルは、入力された3D点群又は3Dメッシュを表す。このようなエンコーダアーキテクチャは、PointNet(例えば、以前に引用した参考文献[8]を参照)やその多数の拡張機能をベースにしたり、MeshCNN(例えば、以前に引用した参考文献[9]を参照)で行われているようなメッシュトポロジーを使用したりすることができる。このようにfwは、3Dメッシュx又はそのサンプリングされた3D点群yを入力として取るように設計することができる。
fwに加えて、本実施形態は、ディープフィードフォワードニューラルネットワークgwの設計を含む。gwは、入力として3D点xに加え、3D点群又は3Dメッシュの潜在ベクトルhを取る。またgwは、xにおけるその変形基底
を出力する。表記をさらに簡単にするためgq(h, p)jを、任意の点群又はメッシュ
(m個の点又は頂点を含む)に対するベクトル
とする(ここで
である)。このように、
はXのすべての点で計算された基底である。その上、本実施形態はすべての
に対して
となるように構築することができる。wはニューラルネットワークf及びgの訓練可能な重みである。
本実施形態は、fwに似た別のエンコーダアーキテクチャf’を提供することを含んでもよい。前述したようにf’は、3Dオブジェクトの意味のある潜在空間を学習するために、オートエンコーダーフレームワーク、又は分類タスク、又は任意の他の機械学習方法で訓練される。この実施形態では、別のエンコーダを使用して、3Dモデル化オブジェクト(3Dメッシュ又は3D点群)を、その最も近い3Dモデル化オブジェクトと、fwの訓練の間バッチで効率的に一致させる。
本実施形態では、ニューラルネットワークの学習時に、教師なし学習を行う。これについて説明する。
学習ではネットワークfw及びgwの両方を、任意のミニバッチ確率的最適化(例えば、ミニバッチ確率的勾配降下)によって、N個の点群p1、…、pNに対する損失E(w)(「エネルギー」ともいう)を最小化することで学習する。e1、…、eNをfwの入力空間における、対応する3Dモデル化オブジェクトとする。すなわち、これらの入力が点群ei=piでありメッシュであれば、eiはpiのサンプリングに使用されたソースメッシュである。
φは、L1ノルム(文献[6])のような疎さ誘導関数である。(α1,…,αp)を振幅のベクトルと呼ぶ。本実施形態では、任意の変形ベクトルがそれ自体がもっともらしいものとなるように、変形の相関を可能な限りなくすために、振幅を疎にすることを求めている。同じ理由で、本実施形態では、変形基底がδペナルティに対して正規直交であることを強いる。δペナルティは、前に説明したように基底の正則性を捕捉する項に先行している。
σ(ei,ei+v)は以下の組み合わせを含む任意の正則化関数であってもよいが、これらに限定されるものではない。
・eiとei+vとの間のエッジ長さの差に対してペナルティを与える(eiが点群であれば、本実施形態は、k個の最近傍点グラフを用いて点群上のエッジを生成することを含む)。
・eiとei+vとの間のラプラシアン座標の差(すなわち、L(ei)とL(ei+v)との差。ここでLはeiのラプラス演算子である。
λ、δ、及びγはトレードオフパラメータである。
・eiとei+vとの間のエッジ長さの差に対してペナルティを与える(eiが点群であれば、本実施形態は、k個の最近傍点グラフを用いて点群上のエッジを生成することを含む)。
・eiとei+vとの間のラプラシアン座標の差(すなわち、L(ei)とL(ei+v)との差。ここでLはeiのラプラス演算子である。
λ、δ、及びγはトレードオフパラメータである。
E(w)を最小化するために、学習は、バッチの各入力について、E(w)の勾配を計算することに加え振幅(α1,…, αp)における最小値を計算することを含む。
包絡線定理は、
の勾配を扱いやすいものにする(E(w)の勾配も同様)(なぜなら
の勾配に等しいと考えられるので(ここで、(α1,…,αp)はwに対して定数であると考えられる)、すなわち、勾配の計算は振幅α1,…,αpの計算を介してバックプロパゲーションしないので)。すなわち、
である。これは、
の定義により
という事実を利用して証明することができる。
図2は、現在説明されている実施形態に従って学習されたニューラルネットワークのディープモデルアーキテクチャを示す図である。
次に、決定方法についてさらに説明する。
決定方法は、3Dモデル化オブジェクトの変形を決定するためのものである。換言すれば、決定方法は、3Dモデル化オブジェクトを入力として取り、その3Dモデル化オブジェクトの変形を出力し、その3Dモデル化オブジェクトの変形は、大きな非線形変形である。決定方法は、特に、決定方法によって変形される3Dモデル化オブジェクトである第1の3Dモデル化オブジェクトを(例えば、ユーザの操作によって、例えば、3D編集プロセスの間に)提供することを有する。第1の3Dモデル化オブジェクトは、3D点群であってもよいし、3Dメッシュであってもよい。例えば、変形基底関数が3D点群を入力として取る場合、第1のモデル化対象物は3D点群である。また、例えば、変形基底関数が3Dメッシュを入力として取る場合、第1のモデル化対象物は3Dメッシュである。
決定方法は、さらに、第1の3Dモデル化オブジェクトの変形制約を提供することを有する。3Dモデル化オブジェクトの変形制約の概念それ自体は知られている。しかしながら、ここでは、完全性のために、そこに関与する概念の例が説明されている。それにもかかわらず、決定方法は、変形制約を提供するための任意の既知の方法を実施してもよい。
変形制約の提供は、ユーザによって実行されてもよく、すなわち、ユーザの行動の結果として実行されてもよい。例えば、ユーザは、変形制約を定義してもよい。変形制約は、第1の3Dモデル化オブジェクトの一部の幾何学的形状の別の幾何学的形状(以下では「新しい幾何学的形状」と呼ぶことがある)への変形を決定する一連の(例えば、幾何学的な)仕様を指定してもよい。言い換えれば、変形は、ユーザによって直接的に定義されるものではなく、むしろ、ユーザの行動によって、変形を強制する仕様になっていてもよい。例示的には、ユーザが、例えばキーボード及び/又はタッチ及び/又は触覚デバイスを使用して、仕様のセットを提供する(例えば宣言する、例えば指定する)ことを意味する。代替的に、仕様のセットは、第1の3Dモデル化オブジェクトの(例えば、その一部の)ユーザアクションから(例えば、自動的に)取得されてもよい。また、仕様書のセットは、第1の3Dモデル化オブジェクトを構成する画面上のユーザの描画から(例えば、自動的に)取得されてもよい。従って、変形制約によって定義された変形は、第1の3Dモデル化オブジェクトの一部の幾何学的形状を新しい幾何学的形状に変形させることによって、第1の3Dモデル化オブジェクトの変形バージョンへの変形を定義してもよい。
変形制約の定義は、ユーザが第1の3Dモデル化されたオブジェクトの一部とグラフィカルインタラクションを行うことによって行われる。グラフィカルインタラクションは、例えばマウスのような触覚デバイスを使って、第1の3Dモデル化オブジェクトをクリックするか、指のような付属品を使って第1の3Dモデル化オブジェクトに触れることで実現することができる。グラフィカル・インタラクションは、例えばドラッグ・アンド・ドロップ操作を実行することによって、クリックされた3Dモデル化オブジェクト又はタッチされた3Dモデル化オブジェクトを移動させることからさらに構成されてもよい。例えば、ユーザは、3Dモデル化オブジェクトの部分上の1つ以上の点を選択し、例えば、マウスなどの触覚デバイスで1つ以上の点をクリックすることにより、当該技術分野で知られているように、ドラッグ・アンド・ドロップ操作(例えば、1つずつ、又はワンショット・ドラッグ・アンド・ドロップ操作を介して移動させる)によりそれらを移動させる。移動された1以上の点のそれぞれの1以上の位置は、第1の3Dモデル化オブジェクトの部分の新しい幾何学的形状を決定する(例えば、形成する、例えば、結果をもたらす)。言い換えれば、第1の3Dモデル化オブジェクトは、提供されたときに所定の幾何学的形状を有しており、ユーザは、点を移動させることによって、新しい幾何学的形状を定義してもよい。所与の幾何学的形状の新しい幾何学的形状への変形は、このようにして、ユーザによって移動された1つ以上の点のそれぞれの1つ以上の位置によって拘束される。言い換えれば、1つ以上の点を移動させることにより、その部分の新しい幾何学的形状が定義され、その部分の新しい幾何学的形状が変形制約を定義する。
代替的に、ユーザは、提供されたときに所定の幾何学的形状を有する第1の3Dモデル化オブジェクトの部分の新しい幾何学的形状を表す3D又は2Dの図面/スケッチを(例えば、ハプティックデバイスを使用して)描画することによって、変形制約を定義してもよい。所与の幾何学的形状の新しい幾何学的形状への変形は、このようにして、ユーザの描画、例えばピクセルのセットによって捕捉される描画によって拘束される。言い換えれば、ユーザの描画は、その部分の新しい幾何学的形状を定義し、その部分の新しい幾何学的形状は、変形制約を定義する。
決定方法は、さらに、入力された3Dモデル化オブジェクトの変形基底を推論するように構成された変形基底関数を提供することを有する。言い換えれば、変形基底関数は、入力された3Dモデル化オブジェクトを入力として取り、基底を出力する。基底は、線形代数の意味での基底であるか、少なくともその傾向がある。基底はベクトルの集合であり、各ベクトルは入力された3Dモデル化されたオブジェクトの局所的にもっともらしい変形の方向である。基底のベクトルは線形的に結合されてもよく、その結果として得られる線形的な結合は、入力された3Dモデル化オブジェクトの局所的にもっともらしい変形を形成する。基底のベクトルは、無相関であるか、又は少なくともその傾向がある。例えば、基底は、直交していてもよく、例えば、正方体であってもよい。
そのために、変形基底関数は、学習手段に従って取得可能なニューラルネットワーク、例えば、学習手段に従って学習されたニューラルネットワークで構成されていてもよい(例えば、構成されていてもよい)。この場合、基底は、このニューラルネットワークが出力する変形基底のベクトルからなる(例えば、構成される)。
付加的に、又は代替的に、変形基底関数は、入力として3Dモデル化されたオブジェクトを取り、幾何学的及び/又は物理的なスペクトルモードを出力する関数で構成されていてもよい(例えば、関数であってもよい)。モードは,入力3Dモデル化されたオブジェクトのラプラシアンや剛性マトリックスのような量のスペクトル分解によって計算されたベクトルであり,例えば,最終的には減衰力のような追加の力を加えて計算される。このような場合、基底は、これらのモードを含む(例えば、これらのモードで構成される)。これらのモードは、参照により本明細書に組み込まれる、先に引用された参考文献[12]のもの(ラプラシアンの場合)又は先に引用された参考文献[3]のもの(剛性マトリックスの場合)であってもよい。
さらに,変形基底関数は,入力3Dモデル化されたオブジェクトを入力とし,入力3Dモデル化されたオブジェクトのデータセットに適用された PCA の主成分を出力する関数で構成されてもよい(例えば、関数であってもよい)。このような場合、基底は、これらのベクトルからなる(例えば、構成される)。これらのベクトルは、参照により本明細書に組み込まれる先に引用された参考文献[7]のものであってもよい。
付加的に、又は代替的に、変形基底関数は、入力された3Dモデル化オブジェクトを入力として取り、手作業で作成された幾何学的なモードを出力する関数で構成されていてもよい(例えば、関数であってもよい)。このような場合、変形基底は、これらのモードを含む(例えば、これらのモードで構成される)。これらのモードは、参照により本明細書に組み込まれる先に引用された参考文献[3]のものであってもよい。
実施例では、変形基底関数は、
のBスムーズ関数V1、…、VBであり、これらの関数は変形基底を定義する。ここで、
は、すべての
について、入力された3Dモデル化オブジェクトXをもっともらしい方法で局所的に変形させるための正規化された変形ベクトルを出力する。
・任意で、
であり、より一般的にはVi関数は無相関であり、独立した変形モードを表している。これにより、決定方法の効率が向上する。
・任意で、
これらの関数は,入力3Dモデル化オブジェクトXの局所的にもっともらしい変形を推論するために線形的に結合され。言い換えれば、
は、入力Xの変形を示すもっともらしい3Dモデル化オブジェクト(3Dメッシュや3D点群など)である。ここで、
は変形が局所的なままであることを確実にするために十分に小さい重みの集合である。
前述したように、変形ベクトルViの変形基底は、以下の任意の組み合わせであってもよい。
・線形変形基底のベクトル。線形変形基底のベクトルは、学習方法に応じて学習可能なニューラルネットワーク、例えば学習方法に応じて学習されたニューラルネットワークが出力する。このような場合には、
例えばfwは、3Dモデル化オブジェクトを入力として取り、入力された3Dモデル化オブジェクトを表す潜在ベクトルを出力するように構成されたエンコーダでありgwは、エンコーダが出力する潜在ベクトルを入力として取り、潜在ベクトルで表される3Dモデル化オブジェクトの変形基底を出力するように構成されたディープフィードフォワードニューラルネットワークである。
・幾何学的及び/又は物理的なスペクトルモード。入力形状のラプラシアン(以前に引用された参考文献[12]で検討されたものなど)や剛性行列(以前に引用された参考文献[3]で検討されたものなど)のような量のスペクトル分解によって計算された固有ベクトルで、最終的には付加的な力(例えば、減衰力)が加えられている。
・PCAの主成分。PCAの主成分は,対応関係を共有する入力形状のデータセットに適用され,その結果,無相関の変形ベクトル(先に引用された参考文献 [7] で検討されたものなど)が得られる。
・ハンドクラフトの幾何学的モード。例えば先に引用された参考文献[3]で検討された以下のものなど。
・線形変形基底のベクトル。線形変形基底のベクトルは、学習方法に応じて学習可能なニューラルネットワーク、例えば学習方法に応じて学習されたニューラルネットワークが出力する。このような場合には、
・幾何学的及び/又は物理的なスペクトルモード。入力形状のラプラシアン(以前に引用された参考文献[12]で検討されたものなど)や剛性行列(以前に引用された参考文献[3]で検討されたものなど)のような量のスペクトル分解によって計算された固有ベクトルで、最終的には付加的な力(例えば、減衰力)が加えられている。
・PCAの主成分。PCAの主成分は,対応関係を共有する入力形状のデータセットに適用され,その結果,無相関の変形ベクトル(先に引用された参考文献 [7] で検討されたものなど)が得られる。
・ハンドクラフトの幾何学的モード。例えば先に引用された参考文献[3]で検討された以下のものなど。
次に、第2の3Dモデル化対象物の決定について説明する。
第2の3Dモデル化オブジェクトの決定は、軌跡を計算することを有する。軌跡は、第1の3Dモデル化オブジェクトと、変形制約を尊重する第2の3Dモデル化オブジェクトとの間、すなわち、(例えば、ユーザ定義の)変形制約を満たす第1の3Dモデル化オブジェクトの変形である。軌跡は、遷移3Dモデル化オブジェクトの軌跡である。各遷移3Dモデル化オブジェクトは、第1の3Dモデル化オブジェクトの遷移変形であり、すなわち、第2の3Dモデル化オブジェクトよりも変形制約を小さく尊重するが、以前の遷移3Dモデル化オブジェクトよりも変形制約を大きく尊重する。各遷移3Dモデル化されたオブジェクトは、遷移3Dモデル化されたオブジェクトに変形基底関数を適用した結果を線形に組み合わせることにより、別のオブジェクトに変形される。すなわち、軌跡に沿って、各遷移3Dモデル化オブジェクトは、遷移3Dモデル化オブジェクトに適用された変形基底関数のベクトルの線形結合に変形されることで変形される。この線形結合は、遷移3Dモデル化されたオブジェクトの局所的にもっともらしい線形変形である。すなわち、変形基礎関数を逐次適用した結果得られたベクトルの逐次的な線形結合による、第1の3Dモデル化対象物の逐次的な変形の軌跡である。この点において、本開示では、軌跡は、第1の3Dモデル化されたオブジェクトを起点として、各遷移3Dモデル化されたオブジェクトを、遷移3Dモデル化されたオブジェクトに適用された変形基礎関数のベクトルの線形の組み合わせによって変形させ、この変形は、最終的に第2の3Dモデル化されたオブジェクトをもたらすと考えられている。
軌跡は、損失を低減する。損失は、ユーザによって定義されてもよく、すなわち、ユーザによって定義されてもよく、例えば、ユーザによって提供された/定義された変形制約の非尊重を捕捉する目的のために、ユーザによって定義されてもよい。損失は、変形された遷移3Dモデル化オブジェクトによる変形制約の非尊重の程度にペナルティを与える。言い換えれば、損失は、遷移3Dモデル化オブジェクトが変形制約を尊重する傾向がある場合には低い値を持つ傾向があり、遷移3Dモデル化オブジェクトが変形制約を尊重しない傾向がある場合には高い値を持つ傾向がある関数である。例えば、変形制約は、第1の3Dモデル化オブジェクトの変形を表す3D形状/スケッチであってもよく、損失は、スケッチと過渡的な3Dモデル化オブジェクトとの間の距離をペナルティとしてもよい。軌跡は、損失を減少させる、すなわち、軌跡に沿って、過渡的な3Dモデル化オブジェクトに適用される損失の値が減少する(厳密には必ずしもそうではない)。言い換えれば、軌跡に沿って、遷移する3Dモデル化オブジェクトは、変形制約をより多く尊重し、それを最も尊重する第2の3Dモデル化オブジェクトに到達するまで、より多くの変形制約を尊重する。例えば、3Dモデル化されたオブジェクトは、損失の最小値に近い傾向がある。
損失は任意の3D損失L
である。ここでNは、第1の3Dモデル化オブジェクトの頂点又は点の数であり、これは、変形制約を満たさない形状、例えばユーザの意図に合わない形状にペナルティを与える。前述したように、ユーザは、例えば、3DスケッチSを描くことができる。3DスケッチSは、第1の3Dモデル化オブジェクトの変形形状(すなわち変形制約)を表す。この場合、損失L(X)は、3Dスケッチの各点と、その点に最も近いX上の頂点との間の距離の合計であってもよい。
ここでXは損失の3Dモデル化オブジェクトの入力であり、dは3Dモデル化オブジェクト間の任意の距離(面取り距離や地球移動距離など)であり、ρは、いくつかの制約を強制するための追加の正則化項(任意で、λはゼロである)。例えば、以下のようにρ(X)は対称性を強制することができる。
軌跡は、以下のタイプの積分式に対応していてもよい。
ここで、
・X(0)は最初の3Dモデル化オブジェクトである。
・X(.)は過渡的な3Dモデル化オブジェクトに対応している。
・V1(X(.)),…,VB(X(.))は、遷移する3Dモデル化オブジェクトに変形基底関数を適用した結果に対応する。V1(.),…,VB(.)は、変形基底関数である(各V1は関数の座標を定義する。この座標は、変形ベクトル関数であり,すなわち,変形基底関数の入力を入力とし、この入力の単一の変形ベクトルを出力する関数である。
は線形結合に対応する。α1(.),…,αB(.)は線形結合の係数である。
・X(0)は最初の3Dモデル化オブジェクトである。
・X(.)は過渡的な3Dモデル化オブジェクトに対応している。
・V1(X(.)),…,VB(X(.))は、遷移する3Dモデル化オブジェクトに変形基底関数を適用した結果に対応する。V1(.),…,VB(.)は、変形基底関数である(各V1は関数の座標を定義する。この座標は、変形ベクトル関数であり,すなわち,変形基底関数の入力を入力とし、この入力の単一の変形ベクトルを出力する関数である。
「軌跡が積分式に対応する」ということは、計算された軌跡がX(t)により捉えられる傾向があることを意味する。決定方法は、この軌跡を正確に計算してもよいし、代わりに、決定方法は、(例えば、公知の任意の離散化方法によって離散化することにより)X(t)を近似して軌跡を計算してもよい。
実際のところ、計算は、第2の3Dモデル化オブジェクトに向かって収束し、損失を減少させる中間の3Dモデル化オブジェクトのシーケンスを計算することによって、軌跡を離散化することを構成してもよい。これは、シーケンスが収束すると同時に損失を減少させること、すなわち損失がシーケンスに沿って(必ずしも厳密にではないが)減少することを意味する。離散化は、公知の任意の離散化方法(例えば、積分軌跡を離散化するのに適した任意の方法)を使用することができる。離散化は、シーケンスが収束し、その限界が第2の3Dモデル化オブジェクトを形成し、損失が減少するような方法で行われる。
注目すべきことに、シーケンスの計算は、最初の3Dモデル化オブジェクトから開始して、以下の繰り返しであってもよい。
・前の反復で計算された中間3Dモデル化オブジェクトに変形基底関数を適用し,その適用された降伏ベクトル(すなわち,それぞれが中間3Dモデル化オブジェクトの変形方向であるベクトルの基底を形成する)を適用する。
・前の反復で計算された中間3Dモデル化オブジェクトの変形候補(すなわち,可能な線形変形)の中から,得られたベクトルのそれぞれの線形結合によって,損失を最小化する変形候補を決定する。
・現在の中間3Dモデル化オブジェクトに適用されている決定された変形候補を次の中間モデル化されたオブジェクトとして選択する。
・前の反復で計算された中間3Dモデル化オブジェクトに変形基底関数を適用し,その適用された降伏ベクトル(すなわち,それぞれが中間3Dモデル化オブジェクトの変形方向であるベクトルの基底を形成する)を適用する。
・前の反復で計算された中間3Dモデル化オブジェクトの変形候補(すなわち,可能な線形変形)の中から,得られたベクトルのそれぞれの線形結合によって,損失を最小化する変形候補を決定する。
・現在の中間3Dモデル化オブジェクトに適用されている決定された変形候補を次の中間モデル化されたオブジェクトとして選択する。
言い換えれば、先に説明したようなシーケンスの計算は、各中間3Dモデル化オブジェクトを反復的に計算し、各中間3Dモデル化オブジェクトは、先に計算された中間3Dモデル化オブジェクトに適用された変形基底関数によって出力された変形ベクトルの可能な線形の組み合わせのセットの中で損失を最小化する。損失の最小化は、任意の既知の最小化方法、例えば、任意の既知の制約付き最小化方法又は非制約付き最小化方法によって実行されてもよい。
損失を最小化する候補変形の決定(すなわち、候補変形の間で)は、それぞれの線形結合の係数の候補セットを探索し、探索された候補セットの間で選択を操作してもよい。この場合、選択された候補係数の集合は、決定された候補変形にそれぞれ対応する。言い換えれば、計算中の所定の反復で実行される各損失の最小化は、係数の可能なセットの中から、前に計算された中間3Dモデル化オブジェクトに適用された変形基底関数によって出力される変形ベクトルのこれらの係数を用いた線形結合が損失を最小化するような線形結合係数のセットを決定する。この線形結合が、選択された次の中間3Dモデル化オブジェクトを形成する。これは、計算を反復的に行う効率的な方法である。
損失を最小化する変形候補の決定は、係数の各候補集合のノルム(例えば、L1ノルム又はL2ノルム)が予め定められた値よりも小さいという制約の下で行われてもよい。すなわち、損失の各最小化において、決定された係数の集合のノルムが予め定義された値よりも小さいものでなければならないという制約の下で最小化が行われる。予め定義された値は、収束速度と結果の妥当性との間のトレードオフパラメータであってもよい。これにより、選択された線形結合の係数は、以下の方法で、十分に小さいままであってもよい。
・離散化は、第1の3Dモデル化オブジェクトのもっともらしい非線形変形をもたらす。
・最小化は、線形的に結合されたときに、中間3Dモデル化されたオブジェクトを、最も損失を最小化する傾向のある3Dモデル化されたオブジェクトに近づける変形ベクトルのみを選択するように強制されている。これにより、最適化は、中間3Dモデル化オブジェクト全体をグローバルに変形させる(、これは、最適化されたモデルが最初の3Dモデル化オブジェクトからあまりにも遠くに到達してしまう可能性がある)のではなく、最も意味のある変形のみに焦点を当てることができる。
・離散化は、第1の3Dモデル化オブジェクトのもっともらしい非線形変形をもたらす。
・最小化は、線形的に結合されたときに、中間3Dモデル化されたオブジェクトを、最も損失を最小化する傾向のある3Dモデル化されたオブジェクトに近づける変形ベクトルのみを選択するように強制されている。これにより、最適化は、中間3Dモデル化オブジェクト全体をグローバルに変形させる(、これは、最適化されたモデルが最初の3Dモデル化オブジェクトからあまりにも遠くに到達してしまう可能性がある)のではなく、最も意味のある変形のみに焦点を当てることができる。
ノルムは、例えば、L1ノルムであってもよく、これは、各反復において線形結合係数の疎な選択された集合をもたらす。各最小化は、任意の既知の方法、例えば、任意の既知の制約付き最適化方法又は任意の既知の非制約付き最適化方法、例えば、制約を、そのような非制約付き方法で使用される追加のペナルティ項に変えることによって実行されてもよい。
例では、第2の3Dモデル化オブジェクトの決定は、反復的に軌跡(「パス」とも呼ばれる)X(t)を、シーケンス
で近似することで以下のように計算できる。
ここで、αi,jは小さい。時間ステップnごとに、2番目の3Dモデル化オブジェクトの決定は、振幅
のセットを、微分可能な制約付き最適化を解くことにより計算する。ここで、第2の3Dモデル化オブジェクトの決定は以下を最小化する。
の制約(ノルムは例えばL1又はL2ノルムであってもよい)の下で、
は十分に小さいままであり、これは、
・(大きなもっともらしくない非線形変形に代えてもっともらしい非線形変形を得るために)離散化に意味をもたせ、
・Xnを目標に近づける変形モード(すなわち、損失Lを最小化する3Dモデル化オブジェクト)のみを選択するように最適化を強制し、そして初期の3DモデルX0から離れすぎて最適化されたモデルに到達してしまうような形状全体をグローバルに変形させるのではなく、最も意味のある変形のみに焦点を当てている。
・(大きなもっともらしくない非線形変形に代えてもっともらしい非線形変形を得るために)離散化に意味をもたせ、
・Xnを目標に近づける変形モード(すなわち、損失Lを最小化する3Dモデル化オブジェクト)のみを選択するように最適化を強制し、そして初期の3DモデルX0から離れすぎて最適化されたモデルに到達してしまうような形状全体をグローバルに変形させるのではなく、最も意味のある変形のみに焦点を当てている。
γは定義済みの値であり、ここでは,収束速度と結果の妥当性(例えば、第1の3Dモデル化オブジェクトを構成する3D形状マニホールドからの偏差の観点から)との間のトレードオフパラメータである。例えば、変形基底が正規化されている場合、γは形状の対角線の1/100よりも小さいかもしれない。
決定方法の実施形態について説明する。
本実施形態は、3Dモデリング及び3D編集の分野に関する。本実施形態は、仮想及び拡張現実(より一般的には、あらゆる種類の没入体験)、ビデオゲーム、製造及び3D印刷、モデリングなどの分野に有用であり得る。本実施形態は、線形変形基底関数(線形変形フィールドとも呼ばれる)を利用して、ユーザ制約に関して3Dモデル化オブジェクトの最適な非線形変形を推論するための改良されたソリューションを提供する。このような変形基底関数は、任意の方法、例えば、幾何学的解析を用いた方法、又は機械学習技術を用いた方法で得られてもよい。例えば、変形基底関数は、学習方法に従って学習可能なニューラルネットワークであってもよく、例えば、学習方法によって学習された(例えば、学習方法の先に説明した実施形態に従って)ニューラルネットワークであってもよい。この変形基底関数が与えられると、本実施形態では、ユーザの制約に適合する第2の3Dモデル化オブジェクト(例えば、3Dスケッチ)に到達するために、入力された3Dモデル化オブジェクト(すなわち、第1の3Dモデル化オブジェクト)を大きく、かつ、もっともらしい方法で変形する。本実施形態の3Dモデル化オブジェクトは、説明のために「3Dメッシュ」と呼ばれているが、3D点群であってもよく、本実施形態は、3Dメッシュの代わりに3D点群を用いても同様に実行され得る。
本実施形態では、局所的な変形基底を、もっともらしい3Dモデル化オブジェクトのマニホールド上の接線空間とみなす。本実施形態では、このマニホールド上に、ユーザの制約条件によって定義される要件を満たす最適な3D形状を求める。したがって、本実施形態では、最適な速度ベクトル、すなわち、元のメッシュからユーザの制約に合致する最適化された編集メッシュまでのマニホールド上の最適なパスの方向微分を探索する。この速度は、対応するパスを取得するために「積分」することができる。そのために、本実施形態では、このパスを反復的に計算する。各時間ステップにおいて、本実施形態は、変形を見つけ、それによってパスを目標に近づけるために、マニホールド上の現在位置における変形基底のベクトルの線形結合として、そのベクトルに沿ったステップを行う。
本実施形態では、ハンドクラフトされた変形基礎を活用することができる。本実施形態では、大きなもっともらしい変形を生成する。本実施形態は、小さな線形変形を大きな非線形変形に最適化する。
・任意で、
これらの関数は,入力3Dモデル化オブジェクトXの局所的にもっともらしい変形を推論するために線形的に結合され。言い換えれば、
は、入力Xの変形を示すもっともらしい3Dモデル化オブジェクト(3Dメッシュや3D点群など)である。ここで、
は変形が局所的なままであることを確実にするために十分に小さい重みの集合である。
前述したように、変形ベクトルViの変形基底は、以下の任意の組み合わせであってもよい。
・線形変形基底のベクトル。線形変形基底のベクトルは、学習方法に応じて学習可能なニューラルネットワーク、例えば学習方法に応じて学習されたニューラルネットワークが出力する。このような場合には、
例えばfwは、3Dモデル化オブジェクトを入力として取り、入力された3Dモデル化オブジェクトを表す潜在ベクトルを出力するように構成されたエンコーダでありgwは、エンコーダが出力する潜在ベクトルを入力として取り、潜在ベクトルで表される3Dモデル化オブジェクトの変形基底を出力するように構成されたディープフィードフォワードニューラルネットワークである。
・線形変形基底のベクトル。線形変形基底のベクトルは、学習方法に応じて学習可能なニューラルネットワーク、例えば学習方法に応じて学習されたニューラルネットワークが出力する。このような場合には、
・幾何学的及び/又は物理的なスペクトルモード。入力形状のラプラシアン(以前に引用された参考文献[12]で検討されたものなど)や剛性行列(以前に引用された参考文献[3]で検討されたものなど)のような量のスペクトル分解によって計算された固有ベクトルで、最終的には付加的な力(例えば、減衰力)が加えられている。
・PCAの主成分。PCAの主成分は,対応関係を共有する入力形状のデータセットに適用され,その結果,無相関の変形ベクトル(先に引用された参考文献 [7] で検討されたものなど)が得られる。
・ハンドクラフトの幾何学的モード。例えば先に引用された参考文献[3]で検討された以下のものなど。
・ハンドクラフトの幾何学的モード。例えば先に引用された参考文献[3]で検討された以下のものなど。
損失は任意の3D損失L
である。ここでNは、第1の3Dモデル化オブジェクトの頂点又は点の数であり、これは、変形制約を満たさない形状、例えばユーザの意図に合わない形状にペナルティを与える。前述したように、ユーザは、例えば、3DスケッチSを描くことができる。3DスケッチSは、第1の3Dモデル化オブジェクトの変形形状(すなわち変形制約)を表す。この場合、損失L(X)は、3Dスケッチの各点と、その点に最も近いX上の頂点との間の距離の合計であってもよい。
ここでXは損失の3Dモデル化オブジェクトの入力であり、dは3Dモデル化オブジェクト間の任意の距離(面取り距離や地球移動距離など)であり、ρは、いくつかの制約を強制するための追加の正則化項(任意で、λはゼロである)。例えば、以下のようにρ(X)は対称性を強制することができる。
線形局所変形ベクトル
は、Xにおける接線空間の基底として見ることができる。すなわち、これらは、X0から最適な第2のモデル化オブジェクトX∞までのパスの方向微分を定義するために用いられることができる。変形基底ベクトルViの1つから、本実施形態は以下の軌跡の集合を導出することができる。
図3は、もっともらしい形状のマニホールド30、3つの異なる位置31、32、33に基底を有する接線空間、及び元のメッシュ/第1の3Dモデル化オブジェクト34から最適化されたメッシュ/第2の3Dモデル化オブジェクト35までの経路39の方向導関数を示しており、元のメッシュ34を非線形に変形させている。比較のために、36は、元のメッシュ34を変形させるための線形軌跡法の結果のメッシュを示している。図3は、変形制約37をさらに示している。
時間ステップnごとに、アルゴリズムは、以下を最小化する微分可能な制約付き最適化を解くことで振幅
の集合を計算する。
の制約(ノルムは例えばL1又はL2ノルムであってもよい)の下で、
は十分に小さいままであり、これは、
・(大きなもっともらしくない非線形変形に代えてもっともらしい非線形変形を得るために)離散化に意味をもたせ、
・Xnを目標に近づける変形モード(すなわち、損失Lを最小化する第2の3Dモデル化オブジェクト)のみを選択するように最適化を強制し、そして初期の3DモデルX0から離れすぎて最適化されたモデルに到達してしまうような形状全体をグローバルに変形させるのではなく、最も意味のある変形のみに焦点を当てている。
・(大きなもっともらしくない非線形変形に代えてもっともらしい非線形変形を得るために)離散化に意味をもたせ、
・Xnを目標に近づける変形モード(すなわち、損失Lを最小化する第2の3Dモデル化オブジェクト)のみを選択するように最適化を強制し、そして初期の3DモデルX0から離れすぎて最適化されたモデルに到達してしまうような形状全体をグローバルに変形させるのではなく、最も意味のある変形のみに焦点を当てている。
γは定義済みの値であり、ここでは,収束速度と結果の妥当性(例えば、第1の3Dモデル化オブジェクトを構成する3D形状マニホールドからの偏差の観点から)との間のトレードオフパラメータである。例えば、変形基底が正規化されている場合、γは形状の対角線の1/100よりも小さいかもしれない。
最適化が
であることが確実なので、収束が保証される。この制約付き最適化問題は、専用のアルゴリズムで解くことができることに注意が必要である。あるいは、制約を追加のペナルティ項に変えて、非制約最適化手法を使用することもできる。
図4は、本実施形態を用いて得られた結果の一例を示す図である。本実施形態では、ユーザは、スケッチ42を描くことによって第1の3Dモデル化オブジェクト/3Dメッシュ40の一部を選択し、別のスケッチ44を描くことによって変形制約を定義する:以下のように、第1の3Dモデル化オブジェクト/3Dメッシュ40の変形制約を定義する。この例では、損失は、スケッチ42に最も近いメッシュ頂点と、スケッチ44におけるそれらの対応する点との間の二乗距離の合計である。対応する点は、スケッチの曲線横軸がスケッチ42のメッシュ頂点の曲線横軸に最も近いものとして計算される。この損失を最小化することにより、スケッチ42によって選択されたメッシュの部分が他のスケッチ44に効果的にマッピングされる。図4は、比較のために、方法によって決定された第2の3Dモデル化オブジェクト/3Dメッシュ46と、線形回帰によって得られた第1の3Dモデル化オブジェクト40の変形を表す別の3Dモデル化オブジェクト48とを示す。
決定方法は、いくつかのアプリケーションで使用されてもよい。「アプリケーション」とは、決定方法のステップを含むコンピュータ実装された方法を意味し、それはさらにステップを含んでもよい。
決定方法の適用の第1の例は、3D編集である。この3D編集は、例えば、以下のステップを含んでも(又はその反復で構成されても)よい。
・決定方法に従って、第1の3Dモデル化オブジェクトを提供する。
・決定方法に従って変形基底関数を提供する(これは、すべての反復について同じであってもよい)。
・決定方法に従って、提供された第1の3Dモデル化オブジェクトの変形制約を提供する。
・決定方法に従って変形制約を尊重する第2の3Dモデル化オブジェクトを決定する。決定された第2の3Dモデル化オブジェクトは、例えば次の第1の3Dモデル化オブジェクト、すなわち次の反復の第1の3Dモデル化オブジェクトを形成する。
・決定方法に従って、第1の3Dモデル化オブジェクトを提供する。
・決定方法に従って変形基底関数を提供する(これは、すべての反復について同じであってもよい)。
・決定方法に従って、提供された第1の3Dモデル化オブジェクトの変形制約を提供する。
・決定方法に従って変形制約を尊重する第2の3Dモデル化オブジェクトを決定する。決定された第2の3Dモデル化オブジェクトは、例えば次の第1の3Dモデル化オブジェクト、すなわち次の反復の第1の3Dモデル化オブジェクトを形成する。
学習方法の応用の第二の例は、形状マッチングである。形状マッチングは、2つの3Dメッシュe1及びe2を提供することを含む。メッシュe1は、提供された第1の3Dモデル化オブジェクトを形成する。他のメッシュe2は、提供された変形制約を形成する。2つのメッシュは、互いに近接していてもよいし、又は、互いに離れていてもよい。次に、形状マッチングは、決定方法に従って第2の3Dモデル化オブジェクトを決定することを含む。第2の3Dモデル化オブジェクトは、第1の3Dメッシュe1の変形である3Dメッシュであり、これは第2の3Dメッシュe2と一致するか又は一致する傾向がある。
Claims (11)
- 3Dモデル化オブジェクトの変形を決定するためのコンピュータ実装された方法であって、
以下を提供するステップと、
・入力された3Dモデル化オブジェクトの変形基底を推論するために構成された変形基底関数、
・第1の3Dモデル化オブジェクト、及び
・第1の3Dモデル化オブジェクトの変形制約
前記第2の3Dモデル化オブジェクトを決定するステップであって、当該ステップが、前記第1の3Dモデル化オブジェクトと前記第2の3Dモデル化オブジェクトとの間の過渡的な3Dモデル化オブジェクトの軌跡を計算するステップを含み、前記軌跡は、前記過渡的な3Dモデル化オブジェクトに変形基底関数を適用した結果の線形の組み合わせによって各過渡的な3Dモデル化オブジェクトを変形させ、前記軌跡は、前記変形された過渡的な3Dモデル化オブジェクトによる変形制約の不遵守の程度をペナルティとする損失を減少させる
方法。 - 前記計算が、前記第2の3Dモデル化オブジェクトに向かって収束する中間の3Dモデル化オブジェクトのシーケンスを計算することによって軌跡を離散化し、損失を低減するステップを含む
請求項1又は2に記載の方法。 - 前記シーケンスの計算が、最初の3Dモデル化オブジェクトから開始して、次の反復処理を含む
前の反復処理で計算された中間の3Dモデル化オブジェクトに変形基底関数を適用し,その適用された降伏ベクトルを適用し、
前記反復処理で計算された中間3Dモデル化オブジェクトの変形候補の中から,それぞれの得られたベクトルのそれぞれの線形結合によって,損失を最小化する変形候補を決定し、
現在の中間3Dモデル化オブジェクトに適用されている決定された変形候補を次の中間モデル化されたオブジェクトとして選択する
請求項3に記載の方法。 - 前記損失を最小化する変形候補の決定が、それぞれの線形結合の係数の候補セットを探索し、探索された候補セットの中から選択を操作し、選択された候補係数のセットは、決定された変形候補にそれぞれ対応するものである
請求項4に記載の方法。 - 前記損失を最小化する変形候補の決定が、前記係数の各候補集合のノルムが所定の値よりも小さいという制約の下で行われる
請求項5に記載の方法。 - 前記ノルムがL1ノルム又はL2ノルムである
請求項6に記載の方法。 - 前記第1の3Dモデル化オブジェクトの変形制約を提供するステップは、ユーザが変形制約を定義するステップを含む
請求項1乃至7のいずれか1項に記載の方法。 - コンピュータ上で実行されると、コンピュータに請求項1から8のいずれか1項に従った方法を実行させる命令を含むコンピュータプログラム。
- 請求項9のコンピュータプログラムを記録したコンピュータ読み取り可能なデータ記憶媒体。
- メモリに結合されたプロセッサからなるコンピュータであって、メモリには請求項9のコンピュータプログラムが記録されていることを特徴とするコンピュータ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20305177.6 | 2020-02-25 | ||
EP20305177.6A EP3872771B1 (en) | 2020-02-25 | 2020-02-25 | Determining a 3d modeled object deformation |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021152880A true JP2021152880A (ja) | 2021-09-30 |
Family
ID=69810746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021011113A Pending JP2021152880A (ja) | 2020-02-25 | 2021-01-27 | 3dモデル化オブジェクトの変形の決定 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210264079A1 (ja) |
EP (1) | EP3872771B1 (ja) |
JP (1) | JP2021152880A (ja) |
CN (1) | CN113378448A (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3671660A1 (en) * | 2018-12-20 | 2020-06-24 | Dassault Systèmes | Designing a 3d modeled object via user-interaction |
US11443484B2 (en) * | 2020-05-15 | 2022-09-13 | Microsoft Technology Licensing, Llc | Reinforced differentiable attribute for 3D face reconstruction |
US11978155B2 (en) * | 2020-09-25 | 2024-05-07 | Intel Corporation | Inferred shading mechanism |
US20230067485A1 (en) * | 2021-09-01 | 2023-03-02 | Tusimple, Inc. | Autonomous vehicle maneuver in response to construction zone hand signals |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3188033B1 (en) | 2015-12-31 | 2024-02-14 | Dassault Systèmes | Reconstructing a 3d modeled object |
-
2020
- 2020-02-25 EP EP20305177.6A patent/EP3872771B1/en active Active
-
2021
- 2021-01-27 JP JP2021011113A patent/JP2021152880A/ja active Pending
- 2021-02-19 CN CN202110191305.5A patent/CN113378448A/zh active Pending
- 2021-02-25 US US17/185,795 patent/US20210264079A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP3872771B1 (en) | 2024-10-16 |
US20210264079A1 (en) | 2021-08-26 |
EP3872771A1 (en) | 2021-09-01 |
CN113378448A (zh) | 2021-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7464387B2 (ja) | 3dモデル化オブジェクト推定のための機械学習 | |
JP7491685B2 (ja) | ニューラルネットワークのセット | |
CN108804094B (zh) | 学习自动编码器 | |
CN107067473B (zh) | 用于对3d建模对象进行重构的方法、装置及系统 | |
JP2021152880A (ja) | 3dモデル化オブジェクトの変形の決定 | |
JP7473335B2 (ja) | ソリッドcadフィーチャを推測するためのニューラルネットワークの学習 | |
JP7473336B2 (ja) | ソリッドcadフィーチャを推測するためのニューラルネットワークの学習 | |
JP7431028B2 (ja) | ユーザインタラクションを介した3dモデルオブジェクトのデサイニング | |
CN111382496B (zh) | 学习用于推断可编辑特征树的神经网络 | |
JP2021131854A (ja) | 変形の基礎学習 | |
US10255381B2 (en) | 3D modeled object defined by a grid of control points | |
US10719549B2 (en) | Querying a database based on a parametric view function | |
JP2023071722A (ja) | 画像を入力とする関数を学習するためのデータセット | |
JP2020109660A (ja) | 編集可能なフィーチャツリーの推測のためのデータ集合を形成すること | |
JP2022036024A (ja) | パラメータ化された3dモデルを出力するニューラルネットワーク | |
JP2022036023A (ja) | 3dモデルを出力する変分オートエンコーダ | |
JP2023017718A (ja) | 機械的アセンブリを表す3dモデル化オブジェクトのセグメント化 | |
JP2022184829A (ja) | 3d形状最適化のためのディープパラメータ化 | |
JP2022119713A (ja) | 副次的な3d変形の学習 | |
JP2024028206A (ja) | トポロジー認識cad検索のための機械学習 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231218 |