JP2021131854A - 変形の基礎学習 - Google Patents

変形の基礎学習 Download PDF

Info

Publication number
JP2021131854A
JP2021131854A JP2021011110A JP2021011110A JP2021131854A JP 2021131854 A JP2021131854 A JP 2021131854A JP 2021011110 A JP2021011110 A JP 2021011110A JP 2021011110 A JP2021011110 A JP 2021011110A JP 2021131854 A JP2021131854 A JP 2021131854A
Authority
JP
Japan
Prior art keywords
modeled object
neural network
modeled
basis
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021011110A
Other languages
English (en)
Inventor
メア エロワ
Mehr Eloi
メア エロワ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dassault Systemes SE
Original Assignee
Dassault Systemes SE
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dassault Systemes SE filed Critical Dassault Systemes SE
Publication of JP2021131854A publication Critical patent/JP2021131854A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Graphics (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】3Dモデル化オブジェクトを変形させるための機械学習の方法、システム及びプログラムを提供する。【解決手段】ディープフィードフォワードニューラルネットワークによる方法は、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.
しかし、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モデル化オブジェクトの2つ以上のカテゴリからなる場合、ニューラルネットワークの一般化能力はさらに向上する。実際、マニホールドは、それらの間に少なくとも2対2の接続性を有するオブジェクトの異なるカテゴリによって形成されてもよい、すなわち、共有された特徴/特性の一定量(例えば、椅子とベンチがそうであるように)。このため、変形基底の単一のベクトルは、マニホールド内の多くのオブジェクトカテゴリに対して意味のあるもっともらしい変形であるかもしれない(例えば、椅子とベンチの座面も同様に変形されるかもしれない)。別の言い方をすれば、提供されたデータセットが3Dモデル化オブジェクト(例えば、椅子とベンチ)のマニホールドを形成する場合、ニューラルネットワークは、オブジェクトの異なるカテゴリの変形の間で相互化するような方法で学習される。これにより、提供されるデータセットが、マニホールドを形成する異なるカテゴリのモデル化オブジェクトの数が少ない場合でも、ニューラルネットワークは、物理的に現実的/許容可能な変形基準を推論するように学習することができる。これにより、ニューラルネットワークの一般化能力が向上する。
一般的に言えば、学習がニューラルネットワークに与える一般化力は、他のディープラーニングフレームワークと比較して、ニューラルネットワークが変形の根拠を推論する能力に影響を与えることなく、カテゴリごとの3Dモデル化オブジェクトの数が少ないトレーニングデータセット(すなわち、提供されるデータセット)を必要とするようなものである。具体的には、ニューラルネットワークが異なるカテゴリで学習した変形を相互に対応させることができるため、カテゴリごとのオブジェクト数が少なくて済む。しかし、提供されるデータセットが、非常に異なる2つのカテゴリのオブジェクトの1つのカテゴリのみから構成される場合、より多くのオブジェクトが必要とされるかもしれない。
ニューラルネットワークが出力した変形基底を用いて得られた変形量は、例えば3D編集アプリケーションなどの3Dモデリングに利用されてもよい。また、ニューラルネットワークによって推論された変形基底は、後述するように、形状マッチングや非線形変形推論などの他の用途に利用されてもよい。さらに、ニューラルネットワークは、入力された3Dモデル化オブジェクトの線形変形を提供するので、リアルタイムアプリケーションでの使用に効率的である。
学習方法は、以下のうちの1つ以上から構成されていてもよい。
・前記ニューラルネットワークが、
3Dモデル化オブジェクトを入力として受け取り、入力された3Dモデル化オブジェクトを表す潜在ベクトルを出力するように構成されたエンコーダを有し、
前記エンコーダから出力された潜在ベクトルを入力とし、潜在ベクトルで表現された3Dモデル化オブジェクトの変形基底を出力するように構成されたディープフィードフォワードニューラルネットワークである。
・前記学習が、前記データセットの少なくとも一部について、前記データセットの少なくとも一部の3Dモデル化オブジェクトごとに、ベクトルを有する変形基底の候補ごとに、前記3Dモデル化オブジェクトの変形と別の3Dモデル化オブジェクトの変形との間の距離を、ベクトルの線形結合によってペナルティを与える損失を最小化することを含む。
・前記学習がミニバッチごとに行われ、各ミニバッチについて損失を最小化するステップを含む。
・前記学習が、前記データセットの前記少なくとも一部の3Dモデル化オブジェクトからの距離に基づいて、前記データセットの前記少なくとも一部の3Dモデル化オブジェクトの中から前記別の3Dモデル化オブジェクトを選択するステップを含む。
・前記別の3Dモデル化オブジェクトが、前記データセットの少なくとも一部の3Dモデル化オブジェクトの中で、前記データセットの少なくとも一部の3Dモデル化オブジェクトに最も近い3Dモデル化オブジェクトである。
・前記学習が、ミニバッチごと行われ、前記ミニバッチごとに、損失を最小化し、前記ミニバッチの3Dモデル化オブジェクトの中から前記最も近い3Dモデル化オブジェクトを選択するステップを含む。
・前記損失が、前記ベクトルと前記別の3Dモデル化オブジェクトとの線形結合による前記3Dモデル化オブジェクトの変形の間の距離の最小値にペナルティを与える。
・前記損失が以下のタイプである。
Figure 2021131854
・・e1,…,eNは、データセットの少なくとも一部の3Dモデル化オブジェクトである。Nは、データセットの少なくとも一部に含まれるオブジェクトの数である。
・・p1,…,pNは、e1,…,eNから得られた点群である。
・・各3Dモデル化オブジェクトeiに対して、gw(fw(ei),pi)1,…,gw(fw(ei),pi)nは3Dモデル化オブジェクトの変形基底候補のベクトルである。nは変形基底候補のサイズである。
Figure 2021131854
は3Dモデル化オブジェクトeiのベクトルの線形結合による変形である。α1,…,αNは線形結合の係数である。
・・qiは、別の3Dモデル化オブジェクトから得られる点群である。
・・dCHは距離である。
・・ニューラルネットワークは重みを有する。wはニューラルネットワークの重みを表す。
・・fwは、3Dモデル化オブジェクトを入力として取り、入力された3Dモデル化オブジェクトを表す潜在ベクトルを出力するように構成されたエンコーダである。
・・gwは、エンコーダが出力する潜在ベクトルを入力として取り、潜在ベクトルで表される3Dモデル化オブジェクトの変形基底を出力するように構成されたディープフィードフォワードニューラルネットワークである。
・前記損失が、前記線形結合の入力係数として取る疎さ誘導関数にさらにペナルティを与える。
請求項3乃至9のいずれか一項に記載の方法。
・前記損失が、前記変形候補基底の直交性にさらに報酬を与える。
請求項3乃至10のいずれか一項に記載の方法。
学習方法に従って学習可能なニューラルネットワーク、例えば、学習方法によって直接学習された(すなわち、学習された)ニューラルネットワークがさらに提供される。
ニューラルネットワークの使用方法がさらに提供される。
使用方法は、ニューラルネットワークを提供し(例えば、学習方法を実行することによって)、ニューラルネットワークを1つ以上の3Dモデル化オブジェクトに適用する(すなわち、入力された3Dモデル化オブジェクトに対してそれぞれ1つ以上の変形基底を推論するためにニューラルネットワークを使用する)ことから構成されてもよい。使用方法は、学習方法のアプリケーションを形成してもよい。アプリケーションは、奥行きフレーム再構成、形状マッチング、又は3D編集であってもよい。使用方法は、例えば、ニューラルネットワークの学習後に実行されるステップとして学習方法に統合されてもよく、その場合、学習方法及び使用方法は、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モデル化オブジェクトとの間の距離の最小値であってもよく、線形結合の係数のすべての可能な値のうちの最小値であってもよい。損失は、最小値が大きくなると損失が大きくなる傾向にあるという点で、最小値をペナルティとしている。この場合、損失を最小化する学習は、損失の値を低くするようにニューラルネットワークの重みを修正する。学習は、損失が最小値、又は少なくとも十分に小さい値(例えば、収束基準に関して)に達するまでそのようにする(例えば、ミニバッチごとに)。
損失は以下のタイプであってもよい。
Figure 2021131854
ここで、
・e1,…,eNは、データセットの少なくとも一部の3Dモデル化オブジェクトである。Nは、データセットの少なくとも一部に含まれるオブジェクトの数である。
・p1,…,pNは、e1,…,eNから得られた点群である。
・各3Dモデル化オブジェクトeiに対して、gw(fw(ei),pi)1,…,gw(fw(ei),pi)nは3Dモデル化オブジェクトの変形基底候補のベクトルである。nは変形基底候補のサイズである。
Figure 2021131854
は3Dモデル化オブジェクトeiのベクトルの線形結合による変形である。α1,…,αNは線形結合の係数である。
・qiは、別の3Dモデル化オブジェクトから得られる点群である。
・dCHは距離である。
・ニューラルネットワークは重みを有する。wはニューラルネットワークの重みを表す。
・fwは、3Dモデル化オブジェクトを入力として取り、入力された3Dモデル化オブジェクトを表す潜在ベクトルを出力するように構成されたエンコーダである。
・gwは、エンコーダが出力する潜在ベクトルを入力として取り、潜在ベクトルで表される3Dモデル化オブジェクトの変形基底を出力するように構成されたディープフィードフォワードニューラルネットワークである。
1,・・・,eNは既に3D点群である可能性があり、その場合はe1=p1,…,eN=pNである。あるいは、e1,・・・,eNが3Dメッシュであってもよく、その場合はp1,…,pNはe1,…,eNのサンプリングに起因する可能性がある。dCHは、アースムーバー距離や面取り距離などの3D点群間の任意の3D距離であってもよい。dCHは、例として、以下のタイプのものがある。
Figure 2021131854
1は次のように計算される。f’を、先に説明した別のエンコーダであるとする。次に、各iに対して、その学習方法は、
Figure 2021131854
で決定する。次に、qiはqi=pi’で与えられる。前述したように、ベクトルf’(ei)を事前に計算することができる。
損失は、各3Dモデル化オブジェクト及び各候補変形基底について、線形結合の係数を入力として取る(例えば、最小の)関数を含む疎さをさらにペナルティとしてもよい。疎さ関数は、例えば、以前に議論されたように、線形結合の係数のL1ノルムであってもよい(例えば、参照により本明細書に組み込まれる参考文献[6]を参照のこと)。言い換えれば、(例えば、最小値の)疎さ誘導関数が大きい場合には、損失が大きくなる傾向がある。この場合、損失を最小化する学習は、損失の値を低くするようにニューラルネットワークの重みを修正する。学習は、損失が最小値、又は少なくとも十分に小さい値(例えば、収束基準に関して)に達するまで(例えば、ミニバッチごとに)そうする。この場合、損失は、以下のタイプのものであってもよい。
Figure 2021131854
λはトレードオフパラメータ(機械学習の分野でよく知られている概念)であり、φはL1ノルム(例えば、参照により本明細書に組み込まれる、以前に引用した参考文献[6]を参照のこと)のような疎さ誘導関数であり、(α1、…、αp)は係数のベクトルであり、振幅のベクトルとも呼ばれる。
これにより、学習中に係数/振幅を疎にすることができる。最終的には、これにより、ニューラルネットワークは、相関のない変形基底ベクトルを出力するように学習することができ、これにより、学習方法の一般化力がさらに向上する。特筆すべきことは、このようにして学習されたニューラルネットワークは、その疎さにより、入力された3Dモデル化オブジェクトの変形を基底ベクトルの線形結合で計算するために、少数のベクトルを用いることができるため、満足のいく基底を出力することができるということである。また、出力される基底は、線形代数の意味での基底であるか、少なくともその傾向がある。
損失は、各3Dモデル化オブジェクト及び各変形基底候補について、変形基底候補の変形基底の直交性に報酬を与えることをさらに含んでもよい。言い換えれば、損失は、ニューラルネットワークによって推定された3Dモデル化オブジェクトの変形基底の直交性を現在の重み値で捕捉する項をさらに含んでもよく、変形基底が直交性である傾向がある場合には、項は小さくなる傾向がある。この場合の損失は、以下のタイプのものであってもよい。
Figure 2021131854
δはトレードオフパラメータ(機械学習の分野でよく知られている概念)である。これにより、ニューラルネットワークは、ニューラルネットワークが、直交行列になりがちなので、無相関である変形基底ベクトルを出力するように学習することをさらに可能にする。これにより、このような基底は線形代数の意味での基底であるか、少なくともその傾向がある。
損失は、機械学習の分野からそれ自体知られているように、任意の適切な正則化関数をさらに含んでいてもよい。
学習法の実装が議論される。
本実施形態は、3Dモデリング及び3D機械学習の分野に改善をもたらす。本実施形態の結果は、仮想及び拡張現実(より一般的には、あらゆる種類の没入体験)、ビデオゲーム、製造及び3D印刷、又は3Dモデリングのような分野で使用することができる。本実施形態は、任意の3Dモデル化オブジェクトに対して現実的な疎な変形線形基底を計算するソリューションを提供し、それを利用して形状合成、画像からの形状再構成、又は形状マッチングを実行することができる。
本実施形態では、モデル化された任意の3Dオブジェクトに、その基底を構成する変形ベクトルの任意の線形の組み合わせによって、モデルを局所的な近傍で現実的に変形させることができるような、もっともらしい線形変形基底を提供することができる。このような変形は、3Dモデリングソフトウェア、特に3D編集アプリケーションにおいて使用することができる。すなわち、大きな非線形変形の推論や形状マッチングに利用できる。
本実施形態では、互いに独立したもっともらしい変形を得るために、疎な制約を持つ線形3D変形場を学習するニューラルネットワーク(学習時に学習するニューラルネットワーク)を学習する。本実施形態では、提供されるデータセットである、ラベル付けされていない3Dモデル化オブジェクトのデータセットから、入力された3Dモデル化オブジェクトの各点で変形基底を推論するニューラルネットワークを学習する(学習時に学習する)。このネットワークを学習するために、学習は、前述したように、ミニバッチごとに進行する。
(1)各バッチの各3Dモデル化オブジェクトを、同一バッチ内の最も近い3Dモデル化オブジェクトとマッチングさせる。すなわち、バッチの3Dモデル化オブジェクトの中から、バッチの3Dモデル化オブジェクトに最も近い別の3Dモデル化オブジェクトを選択する。
(2)現在の重みを有するニューラルネットワークによって推論された変形ベクトルと、バッチ内の最も近い3Dモデル化オブジェクトとの間の距離を最小化する3Dモデル化オブジェクトの予測された変形ベクトルの線形結合を、追加の疎さ正則化項を用いて計算する。
(3)ニューラルネットワークの重みにわたって同じ損失(変形した3Dモデル化オブジェクトとその最も近い3Dモデル化オブジェクトとの間の距離)を最小化し、予測された変形量の基礎を最適化する。
本実施形態では、異なる種類の3Dモデル化オブジェクトをクラスター化して、それぞれを個別に学習する必要はない。逆に、データセット全体を一括して直接学習するのに適している。本実施形態では、各変形がそれ自体がもっともらしい変形である無相関変形量ベースの学習を行う。推定された変形量は線形であるため、リアルタイムでの利用が可能である。変形は3D変形場として推定され、入力された3Dモデル化オブジェクトの表現力を最大化する。
データセットの提供時に、本実施形態では、提供されるデータセットが3Dメッシュからなる場合には、前述したような前処理を行ってもよい。前処理は、各メッシュをセンタリングし、メッシュの頂点が単位立方体に正確に収まるように、各メッシュの寸法を独立に再スケーリングすることからなる。次に、前処理は、データセット内の各正規化された形状から、6つの正投影図にレイキャストすることにより、密な点群を抽出することから始まる。次に、前処理は、各点群を一様にサブサンプリングする(例えば、各点群を同じサイズにダウンサンプリングする)。これを行うために、前処理は、点群のランダムな点から開始してもよく、既に選択された点から点群の最も遠い点を、予め定義された(例えば、所望の)点数に到達するまで反復的に選択する。
現在議論されている実施形態に従ったニューラルネットワークのアーキテクチャについて議論する。
この実施形態では、ニューラルネットワークは、(例えば、任意の入力3Dモデル化オブジェクトに対して)同じ固定数の変形基底ベクトルを推論する。nは、推論された変形基底の、この固定された同じサイズであるとする。この実施形態では、3D点群又は3Dメッシュを入力として受け取り、潜在ベクトル
Figure 2021131854
を出力するエンコーダアーキテクチャfwを含む。潜在ベクトルは、入力された3D点群又は3Dメッシュを表す。このようなエンコーダアーキテクチャは、PointNet(例えば、以前に引用した参考文献[8]を参照)やその多数の拡張機能をベースにしたり、MeshCNN(例えば、以前に引用した参考文献[9]を参照)で行われているようなメッシュトポロジーを使用したりすることができる。このようにfwは、3Dメッシュx又はそのサンプリングされた3D点群yを入力として取るように設計することができる。
wに加えて、この実装は、ディープフィードフォワードニューラルネットワークgwの設計を含む。gwは、入力として3D点xに加え、3D点群又は3Dメッシュの潜在ベクトルhを取る。またgwは、xにおけるその変形基底
Figure 2021131854
を出力する。表記をさらに簡単にするためgq(h, p)jを、任意の点群又はメッシュ
Figure 2021131854
(m個の点又は頂点を含む)に対するベクトル
Figure 2021131854
とする(ここで
Figure 2021131854
である)。このように、
Figure 2021131854
はXのすべての点で計算された基底である。その上、この実装はすべての
Figure 2021131854
に対して
Figure 2021131854
となるように構築することができる。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のサンプリングに使用されたソースメッシュである。
各iに対し、
Figure 2021131854
であるとする。ベクトルf’(ei)を計算することができる。この実装は、例えば学習の前においてベクトルの事前計算を含む。
すると、損失は次式で与えられる。
Figure 2021131854
CHはここでは面取り3D距離であるが、アースムーバー距離のような他の3D損失で置き換えることができる。
Figure 2021131854
φは、Lノルム(文献[6])のような疎さ誘導関数である。(α1,…,αp)を振幅のベクトルと呼ぶ。この実装では、任意の変形ベクトルがそれ自体がもっともらしいものとなるように、変形の相関を可能な限りなくすために、振幅を疎にすることを求めている。同じ理由で、この実装では、変形基底がδペナルティに対して正規直交であることを強いる。δペナルティは、前に議論したように基底の正則性を捕捉する項に先行している。
σ(ei,ei+v)は以下の組み合わせを含む任意の正則化関数であってもよいが、これらに限定されるものではない。
・eiとei+vとの間のエッジ長さの差に対してペナルティを与える(eiが点群であれば、この実装は、k個の最近傍点グラフを用いて点群上のエッジを生成することを含む)。
・eiとei+vとの間のラプラシアン座標の差(すなわち、L(ei)とL(ei+v)との差。ここでLはeiのラプラス演算子である。
λ、δ、及びγはトレードオフパラメータである。
E(w)を最小化するために、学習は、バッチの各入力について、E(w)の勾配を計算することに加え振幅(α1,…, αp)における最小値を計算することを含む。
各入力iに対して、
Figure 2021131854
は標準的な勾配降下法、又は任意の連続最適化アルゴリズムを用いて計算することができる。
しかし、最小値
Figure 2021131854
を実現する振幅
Figure 2021131854
がwに依存するので、勾配∇E(w)は手に負えないように見えるかもしれない。
ここで、
Figure 2021131854
及び
Figure 2021131854
とする。なお
Figure 2021131854
である。
包絡線定理は、
Figure 2021131854
の勾配を扱いやすいものにする(E(w)の勾配も同様)(なぜなら
Figure 2021131854
の勾配に等しいと考えられるので(ここで、(α1,…,αp)はwに対して定数であると考えられる)、すなわち、勾配の計算は振幅α1,…,αpの計算を介してバックプロパゲーションしないので)。すなわち、
Figure 2021131854
である。これは、
Figure 2021131854
の定義により
Figure 2021131854
という事実を利用して証明することができる。
図2は、現在議論されている実施形態に従って学習されたニューラルネットワークのディープモデルアーキテクチャを示す図である。
学習法の応用について議論する。
学習方法の適用とは、学習方法に従って学習可能なニューラルネットワーク、例えば、学習方法によって直接学習された(すなわち、学習された)ニューラルネットワークのコンピュータ実装された使用方法を意味する。使用方法は、ニューラルネットワークを使用して、入力された3Dモデル化オブジェクトにそれぞれ対応する1つ以上の変形基底を推論し、推論された1つ以上の変形基底を使用するために、ニューラルネットワークを使用するように構成されてもよい。学習方法は、例えば、学習後に実行される学習方法の更なるステップとして、使用方法を構成してもよい。
学習方法の適用の第1の例は、深度フレーム再構成である(参照により本明細書に組み込まれる、例えば先に引用された参考文献[3]を参照)。深度フレーム再構成は、3Dメッシュと、別のオブジェクトの深さマップを提供することを含む。他のオブジェクトは、提供された3Dメッシュの近くにある。深度フレーム再構成は、次に、ニューラルネットワークを3Dメッシュに適用することで構成され、3Dメッシュの変形基底が得られる。深度フレーム再構成は、この変形基底を使用して、提供された3Dメッシュを、深さマップによって表される別のオブジェクトに変形させる。次に、深度フレーム再構成は、深度マップに適合するように変形基底を最適化することをさらに含み、すなわち、深度フレーム再構成は、線形結合によって3Dメッシュを変形させることが深度マップに適合するように、変形基底ベクトルの線形結合の係数を最適化することからなる。再構成の目的は、深度マップに対応する3Dモデル化オブジェクトを得ることである。
学習方法の応用の第2の例は、形状マッチングである。形状マッチングは、2つの近い3Dメッシュe1及びe2を提供することを含む。次に、形状マッチングは、第1の3Dメッシュe1の変形基底を計算し、第1の3Dメッシュe1を変形させるために、変形基底ベクトルの線形結合の係数を最適化し、e1が第2の3Dメッシュe2と一致するようにする。例えば、形状マッチングは以下のように計算してもよい。
Figure 2021131854
ここで、
Figure 2021131854
ここで、p1はe1からサンプリングされた点群であり、p2はe2からサンプリングされた点群である。
図3は、形状マッチングの第1の例を示す。第1の3Dメッシュは椅子30であり、第2の3Dメッシュは椅子36であり、椅子30がマッチングされる。椅子34は係数の最適化の結果を示し、椅子32は最適化中に計算された中間椅子を示している。
図4は、形状マッチングの第1の例を示している。第1の3Dメッシュは椅子40であり、第2の3Dメッシュは椅子46であり、椅子40がマッチングされる。椅子44は係数の最適化の結果を示し、椅子42は最適化中に計算された中間椅子を示している。
学習方法の第3の例示的な適用は、3D編集である。3D編集は、第1の3Dモデル化オブジェクトを提供し、第1の3Dモデル化オブジェクトから出発して、第1の3Dモデル化オブジェクトの反復的な変形にニューラルネットワークを適用することによって、第1の3Dモデル化オブジェクトを第2の3Dモデル化オブジェクトに反復的に変形させることから構成されてもよい。

Claims (15)

  1. コンピュータ実装される機械学習の方法であって、
    3Dモデル化オブジェクトのデータセットを提供するステップと、
    入力された3Dモデル化オブジェクトの変形基底を推論するように構成されたニューラルネットワークを学習するステップと
    を有する機械学習の方法。
  2. 前記ニューラルネットワークが、
    3Dモデル化オブジェクトを入力として受け取り、入力された3Dモデル化オブジェクトを表す潜在ベクトルを出力するように構成されたエンコーダを有し、
    前記エンコーダから出力された潜在ベクトルを入力とし、潜在ベクトルで表現された3Dモデル化オブジェクトの変形基底を出力するように構成されたディープフィードフォワードニューラルネットワークである
    請求項1に記載の方法。
  3. 前記学習が、前記データセットの少なくとも一部について、前記データセットの少なくとも一部の3Dモデル化オブジェクトごとに、ベクトルを有する変形基底の候補ごとに、前記3Dモデル化オブジェクトの変形と別の3Dモデル化オブジェクトの変形との間の距離を、ベクトルの線形結合によってペナルティを与える損失を最小化することを含む
    請求項1又は2に記載の方法。
  4. 前記学習がミニバッチごとに行われ、各ミニバッチについて損失を最小化するステップを含む
    請求項3に記載の方法。
  5. 前記学習が、前記データセットの前記少なくとも一部の3Dモデル化オブジェクトからの距離に基づいて、前記データセットの前記少なくとも一部の3Dモデル化オブジェクトの中から前記別の3Dモデル化オブジェクトを選択するステップを含む
    請求項3又は4に記載の方法。
  6. 前記別の3Dモデル化オブジェクトが、前記データセットの少なくとも一部の3Dモデル化オブジェクトの中で、前記データセットの少なくとも一部の3Dモデル化オブジェクトに最も近い3Dモデル化オブジェクトである
    請求項5に記載の方法。
  7. 前記学習が、ミニバッチごとに行われ、前記ミニバッチごとに、損失を最小化し、前記ミニバッチの3Dモデル化オブジェクトの中から前記最も近い3Dモデル化オブジェクトを選択するステップを含む
    請求項6に記載の方法。
  8. 前記損失が、前記ベクトルと前記別の3Dモデル化オブジェクトとの線形結合による前記3Dモデル化オブジェクトの変形の間の距離の最小値にペナルティを与える
    請求項3乃至7のいずれか一項に記載の方法。
  9. 前記損失が以下のタイプである、請求項8の方法。
    Figure 2021131854
    ・e1,…,eNは、データセットの少なくとも一部の3Dモデル化オブジェクトである。Nは、データセットの少なくとも一部に含まれるオブジェクトの数である。
    ・p1,…,pNは、e1,…,eNから得られた点群である。
    ・各3Dモデル化オブジェクトeiに対して、gw(fw(ei),pi)1,…,gw(fw(ei),pi)nは3Dモデル化オブジェクトの変形基底候補のベクトルである。nは変形基底候補のサイズである。
    Figure 2021131854
    は3Dモデル化オブジェクトeiのベクトルの線形結合による変形である。α1,…,αNは線形結合の係数である。
    ・qiは、別の3Dモデル化オブジェクトから得られる点群である。
    ・dCHは距離である。
    ・ニューラルネットワークは重みを有する。wはニューラルネットワークの重みを表す。
    ・fwは、3Dモデル化オブジェクトを入力として取り、入力された3Dモデル化オブジェクトを表す潜在ベクトルを出力するように構成されたエンコーダである。
    ・gwは、エンコーダが出力する潜在ベクトルを入力として取り、潜在ベクトルで表される3Dモデル化オブジェクトの変形基底を出力するように構成されたディープフィードフォワードニューラルネットワークである。
  10. 前記損失が、前記線形結合の入力係数として取る疎さ誘導関数にさらにペナルティを与える
    請求項3乃至9のいずれか一項に記載の方法。
  11. 前記損失が、前記変形候補基底の直交性にさらに報酬を与える
    請求項3乃至10のいずれか一項に記載の方法。
  12. 請求項1乃至11のいずれか一項に記載の方法に従って学習可能なニューラルネットワーク。
  13. 前記コンピュータで実行されると、前記コンピュータに請求項1乃至11のいずれか一項に従った方法を実行させる命令を含む
    コンピュータプログラム。
  14. 請求項13のコンピュータプログラム及び/又は請求項12のニューラルネットワークを記録したコンピュータ読み取り可能なデータ記憶媒体。
  15. メモリに結合されたプロセッサからなるコンピュータであって、前記メモリには、請求項13のコンピュータプログラム及び/又は請求項12のニューラルネットワークが記録されていることを特徴とするコンピュータ。
JP2021011110A 2020-01-30 2021-01-27 変形の基礎学習 Pending JP2021131854A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP20305081.0A EP3859610A1 (en) 2020-01-30 2020-01-30 Deformations basis learning
EP20305081.0 2020-01-30

Publications (1)

Publication Number Publication Date
JP2021131854A true JP2021131854A (ja) 2021-09-09

Family

ID=69528726

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021011110A Pending JP2021131854A (ja) 2020-01-30 2021-01-27 変形の基礎学習

Country Status (4)

Country Link
US (1) US20210241106A1 (ja)
EP (1) EP3859610A1 (ja)
JP (1) JP2021131854A (ja)
CN (1) CN113205609A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
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
CN113593043B (zh) * 2021-08-19 2024-03-08 中山大学 一种基于生成对抗网络的点云三维重建方法与***
CN114396877B (zh) * 2021-11-19 2023-09-26 重庆邮电大学 面向材料力学性能的智能三维位移场及应变场测量方法
CN117409161A (zh) * 2022-07-06 2024-01-16 戴尔产品有限公司 点云处理方法和电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3188033B1 (en) 2015-12-31 2024-02-14 Dassault Systèmes Reconstructing a 3d modeled object

Also Published As

Publication number Publication date
US20210241106A1 (en) 2021-08-05
EP3859610A1 (en) 2021-08-04
CN113205609A (zh) 2021-08-03

Similar Documents

Publication Publication Date Title
JP7464387B2 (ja) 3dモデル化オブジェクト推定のための機械学習
CN108804094B (zh) 学习自动编码器
JP7491685B2 (ja) ニューラルネットワークのセット
JP6878011B2 (ja) 3dモデル化オブジェクトの再構築
JP7473335B2 (ja) ソリッドcadフィーチャを推測するためのニューラルネットワークの学習
JP7473336B2 (ja) ソリッドcadフィーチャを推測するためのニューラルネットワークの学習
JP2021131854A (ja) 変形の基礎学習
JP7343963B2 (ja) 画像を入力とする関数を学習するためのデータセット
JP7431028B2 (ja) ユーザインタラクションを介した3dモデルオブジェクトのデサイニング
JP2020109659A (ja) 編集可能なフィーチャツリーの推測のためにニューラルネットワークを学習すること
JP2022036024A (ja) パラメータ化された3dモデルを出力するニューラルネットワーク
JP2020109660A (ja) 編集可能なフィーチャツリーの推測のためのデータ集合を形成すること
JP2021152880A (ja) 3dモデル化オブジェクトの変形の決定
EP4120203A1 (en) Segmenting a 3d modeled object representing a mechanical assembly
JP2022036023A (ja) 3dモデルを出力する変分オートエンコーダ
JP2022184829A (ja) 3d形状最適化のためのディープパラメータ化
JP2022119713A (ja) 副次的な3d変形の学習
JP2023160791A (ja) 画像からの3d再構成

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231218