JP2022119713A - 副次的な3d変形の学習 - Google Patents
副次的な3d変形の学習 Download PDFInfo
- Publication number
- JP2022119713A JP2022119713A JP2021209547A JP2021209547A JP2022119713A JP 2022119713 A JP2022119713 A JP 2022119713A JP 2021209547 A JP2021209547 A JP 2021209547A JP 2021209547 A JP2021209547 A JP 2021209547A JP 2022119713 A JP2022119713 A JP 2022119713A
- Authority
- JP
- Japan
- Prior art keywords
- neural network
- deformation
- modeled object
- training
- generative
- 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
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
- 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/047—Probabilistic or stochastic 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/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- 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
- 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)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Graphics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Architecture (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
【課題】コンピュータ実装された機械学習の方法、システム及びプログラムを提供する。【解決手段】方法は、現実世界のオブジェクトを表す3Dモデル化されたオブジェクトのデータセットを提供し、データセットに基づいて、生成ニューラルネットワークを学習する。生成ニューラルネットワークは、入力3Dモデル化オブジェクトの変形基底を生成する。学習は、敵対的な訓練を含む。方法はさらに、識別損失を最小化することによって、生成ニューラルネットワークによって生成された変形基底の線形結合の適用から生じる3Dモデル化オブジェクトが現実的であるか合成であるかを決定するために構成された識別ニューラルネットワークを訓練する。【選択図】なし
Description
本発明は、コンピュータプログラムおよびシステムの分野、ならびに、より具体的には、3D変形を学習するための機械学習の方法、システムおよびプログラムに関する。
多数のシステムおよびプログラムが、オブジェクトの設計、エンジニアリング、および製造のために、市場で提供されている。CADは、コンピュータ支援設計用の頭字語であり、例えば、これは、オブジェクトを設計するためのソフトウェアソリューションに関連している。CAEは、コンピュータ支援エンジニアリング用の頭字語であり、これは、将来の製品の物理的動作をシミュレートするためのソフトウェアソリューションに関連している。CAMは、コンピュータ支援製造用の頭字語であり、これは、製造プロセスおよび操作を定義するためのソフトウェアソリューションに関連している。そのようなコンピュータ支援設計システムにおいて、グラフィカルユーザインタフェースは、技術の効率に関して重要な役割を果たす。これらの技術は、製品ライフサイクル管理(PLM)システム内に組み込まれ得る。PLMとは、拡張エンタープライズの概念全体で、構想から寿命の終わりまでの製品の開発のために、企業が製品データを共有し、共通のプロセスを適用し、そして企業の知識を活用するのに役立つビジネス戦略を指す。DassaultSystemes(CATIA、ENOVIA、およびDELMIAの商標)は、製造エンジニアリングの知識を整理するエンジニアリングハブ、製造エンジニアリングの知識を管理する製造ハブ、ならびにエンジニアリングおよび製造ハブの両方において、エンタープライズ統合および接続を可能にするエンタープライズハブを提供する。システムはすべて一緒に、製品、プロセス、リソースをリンクするオープンオブジェクトモデルを提供し、最適化された製品定義、製造準備、製品およびサービスを推進する動的な知識ベースの製品作成および意思決定サポートを可能にする。
この文脈および他の文脈内で、3Dモデル化オブジェクトの変形が広く重要になっている。
しかしながら、3Dモデル化オブジェクト変形の改善されたソリューションの必要性が、依然としてある。
したがって、コンピュータ実装された機械学習の方法が提供される。
この方法は、現実世界のオブジェクトを表す3Dモデル化オブジェクトのデータセットを提供することを含む。この方法は、データセットに基づいて、生成ニューラルネットワークを学習することをさらに含む。生成ニューラルネットワークは、入力3Dモデル化オブジェクトの変形ベースを生成するように構成されている。 学習は、敵対的な訓練を含む。
この方法は、識別損失を最小化することによって、生成ニューラルネットワークによって生成された変形基底の線形結合の適用から生じる3Dモデル化オブジェクトが現実的であるか合成であるかを決定するために構成された識別ニューラルネットワークを訓練することをさらに含む。
この方法は、以下のうちの1つ以上を含み得る:
この方法は、識別的損失を最小化することによって、生成ニューラルネットワークによって生成された変形基底の線形結合の適用から生じる3Dモデル化オブジェクトが現実的であるか合成であるかを決定するために構成された識別ニューラルネットワークを訓練することをさらに含む。
生成ニューラルネットワークの学習は、識別ニューラルネットワークをだますために生成ニューラルネットワークを訓練することを含む。
生成ニューラルネットワークの学習は、生成的損失を最小化することを含み、方法は、生成的損失の最小化および識別的損失の最小化を交互にする。
識別的損失の最小化は、生成ニューラルネットワークによって生成された変形基底のランダムな線形結合に基づいている。
学習は、各ミニバッチ毎に実行され、各ミニバッチ毎に、学習は、ミニバッチの各3Dモデル化オブジェクトのために、線形結合の係数を無作為にサンプリングすることにより、生成ニューラルネットワークによって生成された3Dモデル化オブジェクトの変形基底の無作為な線形結合を生成することを含む。
無作為なサンプリングは、多数の非ゼロ係数の無作為なサンプリング、および/または各非ゼロ係数について、疑似有界確率分布に従った係数値の無作為なサンプリングを含む。 生成的損失は、生成ニューラルネットワークによって生成された変形基底の線形結合による識別ニューラルネットワークのだましに報いる項を含む。
生成的損失は、入力3Dモデル化オブジェクトと、生成ニューラルネットワークによって生成された変形基底にまたがる入力3Dモデル化オブジェクトの線形変形との間の不一致に報いる項をさらに含む。
生成的損失は、生成ニューラルネットワークによって生成された変形基底のスパース性に報いる項をさらに含む、および/または
生成的損失は、以下のタイプある:
この方法は、識別的損失を最小化することによって、生成ニューラルネットワークによって生成された変形基底の線形結合の適用から生じる3Dモデル化オブジェクトが現実的であるか合成であるかを決定するために構成された識別ニューラルネットワークを訓練することをさらに含む。
生成ニューラルネットワークの学習は、識別ニューラルネットワークをだますために生成ニューラルネットワークを訓練することを含む。
生成ニューラルネットワークの学習は、生成的損失を最小化することを含み、方法は、生成的損失の最小化および識別的損失の最小化を交互にする。
識別的損失の最小化は、生成ニューラルネットワークによって生成された変形基底のランダムな線形結合に基づいている。
学習は、各ミニバッチ毎に実行され、各ミニバッチ毎に、学習は、ミニバッチの各3Dモデル化オブジェクトのために、線形結合の係数を無作為にサンプリングすることにより、生成ニューラルネットワークによって生成された3Dモデル化オブジェクトの変形基底の無作為な線形結合を生成することを含む。
無作為なサンプリングは、多数の非ゼロ係数の無作為なサンプリング、および/または各非ゼロ係数について、疑似有界確率分布に従った係数値の無作為なサンプリングを含む。 生成的損失は、生成ニューラルネットワークによって生成された変形基底の線形結合による識別ニューラルネットワークのだましに報いる項を含む。
生成的損失は、入力3Dモデル化オブジェクトと、生成ニューラルネットワークによって生成された変形基底にまたがる入力3Dモデル化オブジェクトの線形変形との間の不一致に報いる項をさらに含む。
生成的損失は、生成ニューラルネットワークによって生成された変形基底のスパース性に報いる項をさらに含む、および/または
生成的損失は、以下のタイプある:
方法に従って学習可能な生成ニューラルネットワーク、例えば、方法によって学習された生成ニューラルネットワークが、さらに提供される。生成ニューラルネットワークは、値が、方法に従った学習によって設定可能(例えば、設定済み)である重み(パラメータとも呼ばれる)を持つニューロンの層を有するコンピュータ実装のデータ構造を形成する。
生成ニューラルネットワークを使用するコンピュータ実装の方法が、さらに提供される。
その方法および/または使用の方法を実行するための命令を含むコンピュータプログラムが、さらに提供される。
コンピュータプログラムおよび/またはニューラルネットワークをその上に記録されたデータ記憶媒体を含むデバイスが、さらに提供される。
デバイスは、例えば、SaaS(サービスとしてのソフトウェア)または他のサーバー、あるいは、クラウドベースのプラットフォームなどの上で、非一時的なコンピュータ可読媒体を形成するか、または非一時的なコンピュータ可読媒体として機能し得る。あるいは、デバイスは、データ記憶媒体に結合されたプロセッサを備え得る。したがって、デバイスは、全体的または部分的にコンピュータシステムを形成し得る(例えば、デバイスは、システム全体のサブシステムである)。システムは、プロセッサに結合されたグラフィカルユーザインタフェースをさらに備え得る。
機械学習のコンピュータ実装の方法が提案されている。この方法は、現実世界のオブジェクトを表す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構造発見など、以下で説明する多くのアプリケーションにおいて使用され得る。
学習方法は、機械学習用である。
機械学習の分野からそれ自体が知られているように、ニューラルネットワークによる入力の処理には、入力への操作の適用が含まれ、操作は、重量値を含むデータによって定義される。したがって、ニューラルネットワークの学習には、そのような学習用に構成されたデータセットに基づいて重量値を決定することが含まれ、そのようなデータセットは、学習データセットまたは訓練データセットと呼ばれることもあり得る。そのため、データセットには、それぞれが、それぞれの訓練サンプルを形成するデータピースが含まれる。訓練サンプルは、ニューラルネットワークが学習された後に使用される状況の多様性を表している。本明細書中の任意の訓練データセットは、1000、10000、100000、または1000000より高い多数の訓練サンプルを含み得る。本開示の文脈において、「データセットに基づいてニューラルネットワークを学習すること」によって、データセットが、ニューラルネットワークの学習/訓練データセットであり、それに基づいて重みの値(「パラメーター」とも呼ばれる)が設定されることを意味する。
学習方法の文脈において、訓練データセットは、3Dモデル化オブジェクトの提供されたデータセットであり、これについて次に説明する。データセットの提供に関する議論の前に、その中に含まれるデータ構造について議論する。
訓練データセットは、3Dモデル化オブジェクトのデータセットであり、すなわち、3Dモデル化オブジェクトで構成される。したがって、学習方法は通常、モデル化オブジェクトを操作する。モデル化オブジェクトは、例えば、データベース内に保存されたデータによって定義された任意のオブジェクトである。ひいては、「モデル化オブジェクト」という表現は、データ自体を示す。システムのタイプに応じて、モデル化オブジェクトは、異なる種類のデータによって定義され得る。このシステムは、実際には、CADシステム、CAEシステム、CAMシステム、PDMシステム、および/またはPLMシステムの任意の組み合わせであり得る。それらの異なるシステムにおいて、モデル化オブジェクトは、対応するデータによって定義される。したがって、CADオブジェクト、PLMオブジェクト、PDMオブジェクト、CAEオブジェクト、CAMオブジェクト、CADデータ、PLMデータ、PDMデータ、CAMデータ、CAEデータについて話し得る。しかしながら、モデル化オブジェクトは、これらのシステムの任意の組み合わせに対応するデータによって定義され得るため、これらのシステムは、他のシステムの排他的なものではない。したがって、システムは、以下に提供されるそのようなシステムの定義から明らかなように、CADおよびPLMシステムの両方であり得る。
本明細書中の任意の3Dモデル化オブジェクトは、部品または部品のアセンブリ、あるいは場合によっては、製品のアセンブリなどの製品を表し得る。「3Dモデル化オブジェクト」によって、その3D表現を可能にするデータによってモデル化される任意のオブジェクトを意味する。3D表現により、すべての視点から(例えば、さまざまな角度および/または距離から)部品の表示を可能にする。例えば、3Dモデル化オブジェクトは、3Dで表現される場合、その軸のいずれかの周り、または、表現が表示される画面内の任意の軸の周りで処理および回転され得る。これは特に、3Dモデル化されていない2Dアイコンを除外する。3Dモデル化オブジェクトは、例えば、CADソフトウェアソリューションまたはCADシステム(例えば、機械的に)部品または部品のアセンブリ(または、部品のアセンブリは、方法の観点から部品自体と見なされ得るため、または方法は、アセンブリの各部品に独立して適用され得るため、部品のアセンブリと同等に、)、あるいはより一般的に、任意の剛体アセンブリ(例えば、モバイルメカニズム)を使用したその仮想設計の完了後に、実世界において製造される製品のジオメトリを表し得る。CADソフトウェアソリューションにより、航空宇宙、建築、建設、消費財、ハイテクデバイス、産業機器、輸送、海洋、および/またはオフショア石油/ガス生産または輸送を含む、さまざまなかつ無制限の産業分野における製品の設計が可能になる。したがって、この方法によって設計された3Dモデル化オブジェクトは、任意の機械部品、例えば、地上車両の一部(例えば、自動車および軽トラック機器、レーシングカー、オートバイ、トラックおよびモータ機器、トラックおよびバス、列車を含む)、航空機の一部(例えば、航空機機器、航空宇宙機器、推進機器、防衛製品、航空機器、宇宙機器を含む)、海軍車両の一部(例えば、海軍機器、商用船、オフショア機器、ヨットおよび作業船、船舶用機器を含む)、一般的な機械部品(例えば、産業用製造機械、大型移動機械または機器、設置済み機器、産業用機器製品、金属加工製品、タイヤ製造製品を含む)、電気機械式または電子部品(例えば、家電製品、セキュリティおよび/または制御および/または計装製品、コンピューティングおよび通信機器、半導体、医療デバイスおよび機器を含む)、消費財(例えば、家具、家庭および園芸用品、レジャー用品、ファッション製品、ハードグッズ小売業者の製品、ソフトグッズ小売業者の製品を含む)、パッケージング(例えば、食品および飲料、タバコ、美容およびパーソナルケア、家庭用品のパッケージング)になり得る産業製品を表し得る。
本明細書中の任意の3Dモデル化オブジェクトは、3D実世界オブジェクト、例えば、前述のように、機械部品などの実世界からのオブジェクトを表す、離散的な幾何学的表現を形成し得る。離散的な幾何学的表現は、本明細書においては、離散的なデータのセットを含むデータ構造である。各データは、3D空間内に位置決めされたそれぞれの幾何学的実体を表す。各幾何学的実体は、3Dオブジェクトのそれぞれの位置(換言すれば、3Dオブジェクトによって表されるソリッドを構成する材料のそれぞれの部分)を表す。幾何学的実体の集約(すなわち、結合または並置)は、3Dオブジェクト全体を表す。本明細書における任意の離散的な幾何学的表現は、例において、100、1000、または1000より高いそのような多数のデータを含み得る。
本明細書における任意の離散的な幾何学的表現は、例えば、3D点群であり得、各幾何学的実体は点である。本明細書における任意の離散的な幾何学的表現は、代わりに、3Dメッシュであり得、各幾何学的実体はメッシュタイルまたは面である。本明細書における3Dメッシュは、規則的または不規則的(すなわち、同じタイプの面で構成されているかどうか)である。本明細書における任意の3Dメッシュは、多角形メッシュ、例えば、三角形メッシュであり得る。本明細書における任意の3Dメッシュは、代わりに、B-Repであり得る。本明細書における任意の3Dメッシュは、例えば、3D点群を三角測量することによって(例えば、ドロネー三角測量を用いて)、3D点群から取得され得る。本明細書における任意の3D点群は、例えば、3D再構成プロセス内で、実際の物体上の物理的測定から決定され得る。3D再構成プロセスは、実際の物体を提供すること、それぞれが、それぞれの物理信号を取得するように構成された1つ以上の物理センサを提供すること、および実際の物体上で1つ以上の物理センサを操作することによって、1つ以上のそれぞれの物理信号を取得すること(すなわち、各センサで実際のオブジェクトをスキャンすること)を含み得る。次に、3D再構成は、任意の既知の技術に従って、測定値に基づいて3D点群および/または3Dメッシュを自動的に決定し得る。1つ以上のセンサは、複数の(例えば、RGB、および/または画像またはビデオ)カメラを含み得、決定は、運動からの構造分析を含み得る。1つ以上のセンサは、代替的にまたは付加的に、1つ以上の深度センサ(例えば、RGB深度カメラ上)を含み得、決定は、深度データからの3D再構成を含み得る。1つ以上の深度センサは、例えば、レーザ(例えば、ライダー)または超音波エミッタ-レシーバを含み得る。
あるいは、本明細書における任意の3D点群または3Dメッシュは、例えば、固体の皮膚(すなわち、外面)を表す3Dモデル化オブジェクト(例えば、皮膚、すなわち正確な表面を表すB-Repモデルに対応する)から取得され得る。3Dモデル化オブジェクトにレイキャストするか、3Dモデル化オブジェクトをテッセレーションする。テッセレーションは、任意の3Dモデル化オブジェクトレンダリングプロセスに従って実行できる。このようなレンダリングプロセスは、3Dモデル化オブジェクトのグラフィック表現を表示するために、任意のCADシステムでコーディングできる。3Dモデル化オブジェクトは、CADシステムを使用するユーザによって設計されるか、設計され得る。
データセットの提供は、例えば、3Dモデル化オブジェクトを作成することによるデータセットの形成を含み得る。3Dモデル化オブジェクトの作成は、例えば、上記で論じられるように、3D再構成プロセスで3Dモデル化オブジェクトを取得することを含み得る。あるいは、データセットの提供は、データセットが作成後に保存された(例えば、離れた)メモリからデータセットを取得することを含み得る。訓練データセットの3Dモデル化オブジェクトは、例えば、既知のShapenetCore.V2データセットから全てまたは部分的に取得できる。データセットの3Dモデル化オブジェクトは、例えば、3Dメッシュの前処理から生じる、全て3D点群であり得る。あるいは、データセットの3Dモデル化オブジェクトは、全て3Dメッシュであり得る。このような場合、学習方法は、これらのメッシュを3D点群にサンプリングする前処理を含み得る。前処理は、各3Dメッシュをセンタリングすることを含み得る。次に、前処理は、メッシュの頂点が単位球に正確に適合するように、各3Dメッシュの寸法を個別に再スケーリングすることを含み得る。次に、前処理は、例えば、6つの正投影ビューでそれぞれ1つをレイキャストすることによって、データセット内の正規化された各形状から高密度の点群を抽出することを含み得る。次に、前処理は、(例えば、各点群を同じサイズにダウンサンプリングすることによって)各点群を均一にサブサンプリングすることを含み得る。サブサンプリングは、点群のランダムな点から開始し得、すでに選択された点から点群の最も遠い点を繰り返し選択して、所望の点数に到達する。あるいは、3Dメッシュは、すなわち、前処理をすることなく、データセットの3Dモデル化オブジェクトを直接形成し得る。データセットの3Dモデル化オブジェクトは、全て同じ数の点を有し得、点は、例えばメッシュの場合は頂点、またはメッシュの場合はメッシュ表面からサンプリングされた点、または点群の場合は点群の点である。あるいは、点の数は、データセットのオブジェクトごとに異なる場合がある。
訓練データセットの3Dモデル化オブジェクトは、現実世界のオブジェクトを表す。すなわち、訓練データセットの各3Dモデル化オブジェクトは、車両(例えば、飛行機)、家具(例えば、ソファ又は椅子)あるいは機械部品などの、現実世界のオブジェクトを表す。訓練データセットの3Dモデル化されたオブジェクトは、オブジェクトのさまざまなカテゴリに属し得る。例えば、訓練データセットの3Dモデル化オブジェクトは、2つ以上の家具、機械部品および車両で構成され得る。
次に、生成ニューラルネットワークの学習について説明する。
生成ニューラルネットワークは、入力3Dモデル化オブジェクトの変形基底を生成するように構成されている。言い換えると、生成ニューラルネットワークは、3Dモデル化オブジェクトを入力として受け取り、3Dモデル化オブジェクトの変形基底を出力する。変形基底が生成される:生成ニューラルネットワークは、ターゲットオブジェクトまたはユーザの制約を満たす変形を推測しようとはしないが、入力オブジェクトの変形基底を生成、つまり作成する。そのため、入力された3Dモデル化オブジェクトは、訓練データセットの3Dモデル化オブジェクトと同じデータ型である。例えば、データセットの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モデル化オブジェクトのそれぞれの変形を形成する。変形を生成することは、そのような結合の1つだけの結果を直接生成することに対応する。言い換えると、学習された生成ニューラルネットワークは、入力ごとに1つの変形を推測するだけでなく、ベクトルを線形結合するよりもさらに計算することなく、自由に線形結合してさまざまな変形を生成できる変形ベクトルの基底を提供する。
生成ニューラルネットワークは、3Dモデル化オブジェクトを入力として受け取り、その変形基底を出力するように構成されたアーキテクチャを備える。つまり、生成ニューラルネットワークは、そうするように適合された任意のアーキテクチャであるアーキテクチャを備える。生成ニューラルネットワークは、深いニューラルネットワークであり得る。例えば、ニューラルネットワークは、エンコーダおよびディープフィードフォワードニューラルネットワークを含み得る。エンコーダは、3Dモデル化オブジェクトを入力として受け取り、入力された3Dモデル化オブジェクトを表す潜在ベクトルを出力するように構成されている。したがって、エンコーダは、例えば3Dメッシュからサンプリングされた3Dメッシュまたは3D点群を入力として受け取るように構成され得る。ディープフィードフォワードニューラルネットワークは、エンコーダによって出力された潜在ベクトルを入力として受け取り、潜在ベクトルによって表される3Dモデル化オブジェクトの変形基底を出力するように構成されている。エンコーダアーキテクチャは、(例えば、C.Qi,H.Su,K.Mo,L.Guibas.“Pointnet: Deep learning on point sets FOR 3D classification AND segmentation“, IN Conference on Computer Vision AND Pattern Recognition (CVPR),2017,参照により本明細書に組み込まれる、に記載されるように)PointNetまたはその任意の拡張に基づき得る。あるいは、エンコーダアーキテクチャは、(つまり、データセットの3Dモデル化オブジェクトが3Dメッシュである場合)、例えば、(例えば、R.Hanocka,A.Hertz,N.Fish,R.Giryes,S.Fleishman,D.Cohen-Or, “Meshcnn:A network WITH an edge”,In SIGGRAPH, 2019,参照により本書に組み込まれる、に記載されるように)MeshCNNで行われるように、メッシュトポロジを使用し得る。生成ニューラルネットワークは、「ジェネレータ」と呼ばれることもある。
生成ニューラルネットワークの学習は、敵対的な訓練を含む。
敵対的な訓練は、例えば、学習方法によって実行される敵対的な訓練アルゴリズムによって実装される訓練方法であり、緊急性/要件の増加に伴う生成ニューラルネットワークの出力のリアリズムを評価する。具体的には、生成ニューラルネットワークは、訓練データセットの連続する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オブジェクトが、現実的なオブジェクトであるかどうかを判断する、つまり、線形結合を現実的または合成として分類する。識別ニューラルネットワークは、例えば、線形結合が現実的または合成的である確率、すなわち、0から1の間に含まれる値、例えば、1は現実的な物体を示し、0は合成物体を示すことができる。
識別ニューラルネットワークの訓練は、生成ニューラルネットワークによって生成された基底の線形結合の適用から生じる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モデル化オブジェクトをリアリズムとして決定するか、決定する傾向がある場合、および/または識別ニューラルネットワークが入力3Dモデル化オブジェクトを合成として決定する場合、識別ニューラルネットワークの重みを変更することの1回以上の反復の反復を含み得る。
訓練データセットの入力3Dモデル化オブジェクトを選択すること;
生成ニューラルネットワークによって、入力された3Dモデル化オブジェクトの変形基底を生成すること;
入力3Dモデル化オブジェクトへの基底の線形結合の適用から生じる3Dモデル化オブジェクトに識別ニューラルネットワークを適用することにより、生成された変形基底のリアリズムを評価すること;および
変形基底が合成として評価される傾向がある場合は、生成ニューラルネットワークの重みを変更することの1回以上の反復:ならびに
生成ニューラルネットワークによって生成された変形基底の線形結合を選択すること;および
識別ニューラルネットワークが線形結合の適用から生じる3Dモデル化オブジェクトをリアリズムとして決定するか、決定する傾向がある場合、および/または識別ニューラルネットワークが入力3Dモデル化オブジェクトを合成として決定する場合、識別ニューラルネットワークの重みを変更することの1回以上の反復の反復を含み得る。
識別ニューラルネットワークの重みが変更されると、生成ニューラルネットワークの重みが固定され、逆に、生成ニューラルネットワークの重みが変更されると、識別ニューラルネットワークの重みが固定されることを理解されたい。
生成ニューラルネットワークの学習は、識別ニューラルネットワークをだます(すなわち欺く)ように生成型ニューラルネットワークを訓練することを含み得る。前に説明したように、生成ニューラルネットワークは、現実的な変形基底を出力するように訓練される。つまり、基底ベクトルの線形結合を入力に適用した結果として生じる3Dモデル化されたオブジェクトは、現実的である傾向があるが、識別ニューラルネットワークは、この変形の結果として生じるオブジェクトが合成であると判断するように訓練されている。「欺く」とは、現実的な基底を出力するための生成ニューラルネットワークの訓練が、生成ニューラルネットワークを出力変形基底に制約することによって実行されることを意味する。これは、線形結合されて入力に適用されると、識別ニューラルネットワークによって現実的であると判断される傾向がある3Dモデル化されたオブジェクトを形成するはずである。言い換えると、識別ニューラルネットワークは、生成ニューラルネットワークを体系的に修正するように、すなわち、生成ニューラルネットワークの入力の線形変形である3Dモデル化オブジェクトを合成的として体系的に分類する一方で、生成ニューラルネットワークは、それを修正する識別ニューラルネットワークを回避するように、つまり、その出力によって生成される変形を合成として決定する識別ニューラルネットワークを回避するように、訓練される。さらに言い換えると、生成ニューラルネットワークは、線形結合されて入力3Dモデル化オブジェクトに適用されると、入力の変形である変形結果の3Dモデル化オブジェクトを形成する基底を出力するように訓練される。識別ニューラルネットワークによってリアリズムである一方、識別ニューラルネットワークは、この変形の結果として生じるオブジェクトをリアリズムと見なさないように訓練されている。これにより、生成ニューラルネットワークの堅牢性が向上する。生成ニューラルネットワークは、ますます堅牢になり、敵対的な訓練に沿って徐々にだまされる可能性が低い識別器を欺くように訓練される。敵対的な訓練は、言い換えれば、ジェネレータをだまそうとする試みにますます警戒するように識別器を訓練しながら、識別器をだますようにジェネレータを訓練し得る。
生成ニューラルネットワークの学習は、生成損失を最小化すること、生成損失の最小化と識別損失の最小化を交互にする方法を含み得る。生成損失は、生成ニューラルネットワークによって生成された基底の線形結合を入力3Dモデル化オブジェクトに適用した結果、3Dモデル化オブジェクトのリアリズムに報いる任意の損失である。言い換えると、生成損失は、の変形の結果として生じる3Dモデル化されたオブジェクトのリアリズムに依存し(つまり、この変形の結果として生じる3Dモデル化オブジェクトは損失の変数である)、リアリズムが低い傾向にある場合、高い値を有する、すなわち、この変形の結果として生じる3Dモデル化されたオブジェクトリは、合成的である傾向がある。生成損失は、例えば、損失への入力として供給されるこの変形の結果として生じる3Dモデル化オブジェクト上の識別ニューラルネットワークの値に依存し得る。この方法は、生成損失と識別損失の最小化を交互に行いる。言い換えると、生成損失の最小化は、生成ニューラルネットワークを訓練し(つまり、その重みの変更をもたらす)、識別損失の最小化は、識別ニューラルネットワークを訓練する(つまり、その重みの変更をもたらす)。方法は、それらを交互に行いる。学習は、生成損失の最小化の1回以上の反復と、識別損失の最小化の1回以上の反復で構成される。学習は、例えば、以下の反復を含み得る:
-1回以上の反復:
訓練データセットの入力3Dモデル化オブジェクトを選択すること;
生成ニューラルネットワークによって、入力された3Dモデル化オブジェクトの変形基底を生成すること;
入力3Dモデル化オブジェクトへの基底の線形結合の適用から生じる3Dモデル化オブジェクトに識別ニューラルネットワークを適用し、線形結合の適用から生じる3Dモデル化オブジェクトの生成損失の値を評価することにより、生成された変形基底のリアリズムを評価すること;
生成損失の値が大きすぎる場合、生成ニューラルネットワークの重みを変更すること;
の1回以上の反復:および
生成ニューラルネットワークによって生成された変形基底の線形結合を選択すること;
線形結合の適用に起因する3Dモデル化オブジェクトおよび入力3Dモデル化オブジェクトの識別損失の値が大きすぎる場合は、識別ニューラルネットワークの重みを変更すること;の1回以上の反復:の反復を含み得る。
-1回以上の反復:
訓練データセットの入力3Dモデル化オブジェクトを選択すること;
生成ニューラルネットワークによって、入力された3Dモデル化オブジェクトの変形基底を生成すること;
入力3Dモデル化オブジェクトへの基底の線形結合の適用から生じる3Dモデル化オブジェクトに識別ニューラルネットワークを適用し、線形結合の適用から生じる3Dモデル化オブジェクトの生成損失の値を評価することにより、生成された変形基底のリアリズムを評価すること;
生成損失の値が大きすぎる場合、生成ニューラルネットワークの重みを変更すること;
の1回以上の反復:および
生成ニューラルネットワークによって生成された変形基底の線形結合を選択すること;
線形結合の適用に起因する3Dモデル化オブジェクトおよび入力3Dモデル化オブジェクトの識別損失の値が大きすぎる場合は、識別ニューラルネットワークの重みを変更すること;の1回以上の反復:の反復を含み得る。
識別損失の最小化は、生成ニューラルネットワークによって生成された変形基底の無作為な線形結合に基づき得る。前に説明したように、識別ニューラルネットワークは、例えば、結合を選択し、それを入力に適用し、結果として得られた3Dモデル化されたオブジェクトを入力として識別損失に供給し、損失の値がそれによって大きいかどうかを評価するすることによって、生成ニューラルネットワークによって生成された基底の線形結合を入力3Dモデル化オブジェクトに適用した結果、3Dモデル化オブジェクトが現実的であるか、合成的であるかを判断するように訓練される。この場合、識別ニューラルネットワークの重みが変更される(つまり、損失は最小限に抑えられる)。識別損失の最小化は、線形結合の選択が無作為に実行されるという点で、無作為線形結合に基づいている。つまり、線形結合の係数の無作為選択(サンプリングなど)を含む。これにより、識別損失の最小化が実行される生成ニューラルネットワークによって生成される基底の線形結合は、無作為であり、識別ニューラルネットワークは、これらの組み合わせのかなりの多様性に基づいてリアリズムを決定するように訓練される。これにより、識別型ニューラルネットワークがより堅牢になる。
生成損失の最小化は、生成ニューラルネットワークによって生成された変形基底の無作為線形結合に基づくこともできる。つまり、線形結合の係数のランダム選択(サンプリングなど)を含む。これにより、生成損失が最小化される生成ニューラルネットワークによって生成される基底の線形結合は無作為であり、生成ニューラルネットワークは、現実的な変形を形成するための非常に多様な線形結合に基づく出力基底に訓練され、入力オブジェクトを実行できる。これにより、生成型ニューラルネットワークがより堅牢になる。
したがって、敵対的な訓練は、損失の最小化を交互に行うときに、基底のランダムな線形結合を操作する可能性がある。例えば、学習には、
訓練データセットの入力3Dモデル化オブジェクトを選択すること;
生成ニューラルネットワークによって、入力された3Dモデル化オブジェクトの変形ベースを生成すること;
線形結合の係数をランダムに選択(サンプリングなど)することにより、変形基底の線形結合をランダムに選択すること;
基底の選択された線形結合を入力3Dモデル化オブジェクトに適用した結果、3Dモデル化オブジェクトに識別ニューラルネットワークを適用し、線形結合の生成損失の値を評価することにより、生成された変形基底のリアリズムを評価すこと;および
損失の値が大きすぎる場合は、生成ニューラルネットワークの重みを変更すること;の1回以上の反復:
選択された線形結合またはそれらの少なくとも一部について、選択された線形結合の適用に起因する3Dモデル化オブジェクトおよび入力された3Dモデル化オブジェクトの識別損失の値が大きすぎる場合、識別ニューラルネットワークの重みを変更すること;の1回以上の反復の反復を含み得る。
訓練データセットの入力3Dモデル化オブジェクトを選択すること;
生成ニューラルネットワークによって、入力された3Dモデル化オブジェクトの変形ベースを生成すること;
線形結合の係数をランダムに選択(サンプリングなど)することにより、変形基底の線形結合をランダムに選択すること;
基底の選択された線形結合を入力3Dモデル化オブジェクトに適用した結果、3Dモデル化オブジェクトに識別ニューラルネットワークを適用し、線形結合の生成損失の値を評価することにより、生成された変形基底のリアリズムを評価すこと;および
損失の値が大きすぎる場合は、生成ニューラルネットワークの重みを変更すること;の1回以上の反復:
選択された線形結合またはそれらの少なくとも一部について、選択された線形結合の適用に起因する3Dモデル化オブジェクトおよび入力された3Dモデル化オブジェクトの識別損失の値が大きすぎる場合、識別ニューラルネットワークの重みを変更すること;の1回以上の反復の反復を含み得る。
学習は、ミニバッチごとに実行することができる。ミニバッチは、訓練データセットのサブセットである。前に説明したように、ニューラルネットワークの学習には、訓練データセットの連続する訓練サンプルを入力として(前処理まで)ニューラルネットワークにフィードし、重みを変更してニューラルネットワークの出力を修正することが含まれる。ミニバッチによるミニバッチの学習は、学習が訓練サンプルのサブセット(つまりミニバッチ)の反復選択を含み、各サブセット(つまりミニバッチ)のサンプルが入力として(事前処理)ニューラルネットワークに連続的に供給されることを意味する。学習方法は、任意のミニマッチ学習方法、例えば、任意のミニバッチ確率的勾配降下法または任意の他のミニバッチ確率的最適化方法を実行することができる。
これにより、学習方法による学習は、ミニバッチを繰り返し選択し、ミニバッチごとに、ミニバッチの訓練サンプルを使用して、生成ニューラルネットワークおよび/または識別ニューラルネットワークを訓練する。両方のネットワークは、同じミニバッチで訓練することも、異なるミニバッチで訓練することもできる。訓練データセットの3Dモデル化されたオブジェクトは、1つ以上のミニバッチに属している可能性があることを理解されたい。ミニバッチの各3Dモデル化オブジェクトについて、学習は、入力として3Dモデル化オブジェクトを生成ニューラルネットワークにフィードすることを含む。生成ニューラルネットワークは、入力3Dモデル化オブジェクトの変形ベースを出力/生成する。次に、学習は、線形結合の係数をランダムにサンプリングすることによって、生成された変形基底のランダムな線形結合を生成することを含む。言い換えると、学習は、変形基底のベクトルのそれぞれの重みを形成する係数(実数など)のランダムサンプリングを含む。学習は、ランダムにサンプリングされた係数および生成された基底のベクトルを使用して線形結合を形成することを含み得る。「ランダムサンプリング」とは、係数値のランダムな選択を意味する。
次に、ランダムにサンプリングされた係数を使用した線形結合を使用して、前述のように、識別損失の最小化および/または生成損失の最小化を行うことができる。例えば、学習には次の反復が含まれ得る:
訓練データセットでミニバッチを選択すること;の1つ以上の最初の反復:
ミニバッチの入力3Dモデル化オブジェクトを選択する。
生成ニューラルネットワークによって、入力された3Dモデル化オブジェクトの変形ベースを生成すること;
線形結合の係数をランダムにサンプリングすることにより、変形基底の線形結合をランダムに選択すること;
基底の選択された線形結合を入力3Dモデル化オブジェクトに適用した結果、3Dモデル化オブジェクトに識別ニューラルネットワークを適用し、線形結合の生成損失の値を評価することにより、生成された変形基底のリアリズムを評価すること;
生成損失の値が大きすぎる場合は、生成ニューラルネットワークの重みを変更すること;および
選択された線形結合またはそれらの少なくとも一部について、選択された線形結合の適用に起因する3Dモデル化オブジェクトおよび入力された3Dモデル化オブジェクトの識別損失の値が大きすぎる場合は、識別ニューラルネットワークの重みを変更すること;の1回以上の2回目の反復の反復を含み得る。
訓練データセットでミニバッチを選択すること;の1つ以上の最初の反復:
ミニバッチの入力3Dモデル化オブジェクトを選択する。
生成ニューラルネットワークによって、入力された3Dモデル化オブジェクトの変形ベースを生成すること;
線形結合の係数をランダムにサンプリングすることにより、変形基底の線形結合をランダムに選択すること;
基底の選択された線形結合を入力3Dモデル化オブジェクトに適用した結果、3Dモデル化オブジェクトに識別ニューラルネットワークを適用し、線形結合の生成損失の値を評価することにより、生成された変形基底のリアリズムを評価すること;
生成損失の値が大きすぎる場合は、生成ニューラルネットワークの重みを変更すること;および
選択された線形結合またはそれらの少なくとも一部について、選択された線形結合の適用に起因する3Dモデル化オブジェクトおよび入力された3Dモデル化オブジェクトの識別損失の値が大きすぎる場合は、識別ニューラルネットワークの重みを変更すること;の1回以上の2回目の反復の反復を含み得る。
あるいは、1つ以上の第1の反復が2つ以上のミニバッチに対して実行され得、次いで、1つ以上の第2の反復が、同じミニバッチ、または(例えば、部分的に)異なるものに対して実行され得る。言い換えれば、生成損失の最小化と識別損失の最小化との間の厳密な交代は必要ない。
無作為サンプリングは、いくつかの非ゼロ係数の無作為サンプリングを含み得る。言い換えれば、無作為サンプリングは、線形結合の非ゼロ係数の数の無作為な選択を含み得る。これにより、ニューラルネットワークの訓練中に、ゼロ以外の係数の数が少ない(例えば、1つだけ)線形結合と、ゼロ以外の係数の数が多い(または任意の数の)線形結合を無作為に選択できる。これらの線形結合は、損失を最小限に抑えるために使用される。特に、損失に入力される非ゼロ係数の数が少ない(例えば、1つだけ)線形結合を選択すると、生成された変形基底のいくつかのベクトル(例えば、1つだけ)から得られた変形に基づく損失を最小限に抑えることができる。損失を最小化することにより、生成ニューラルネットワークを訓練して、ベクトルがそのように(つまり、それ自体で)現実的な変形を形成する変形基底を出力することができる。これにより、各ベクトルは、そのように現実的で意味のある入力オブジェクトの変形を形成する。さらに、ゼロ以外の係数の無作為サンプリングにより、現実的な変形がより適切に調査されるため、学習の速度が向上する。非ゼロ係数の数の無作為サンプリングは、例えば、非ゼロ係数のインデックスのランダムサンプリングを含み得、例えば、各インデックスにベルヌーイ分布を伴う。
追加的または代替的に、無作為サンプリングは、ゼロ以外の係数ごとに、疑似有界確率分布に従った係数値の無作為サンプリングを含み得る。「疑似境界」とは、テールが小さい確率分布を意味する。例えば、ガウス確率分布や均一法則確率分布など、積分可能な確率分布である。疑似境界確率分布に従って係数値を無作為にサンプリングすると、ゼロ以外の係数の振幅をサンプリングして、大きくなりすぎないようにすることができる。これは、大きな変形は非現実的である可能性が高いためである。言い換えると、この無作為サンプリングは、ガウス分布などの小さな裾の確率分布に従って、損失を最小限に抑えるときに、大きすぎて非現実的な変形を探索しないようにする。これは、線形結合されたときに入力オブジェクトの現実的な変形を形成する変形基底を出力するように、生成ニューラルネットワークの訓練に貢献する。これにより、とにかく非現実的な大きすぎる変形を回避することにより、可能な変形基底をより効率的に調査することもできる。
追加的または代替的に、無作為サンプリングは、ゼロ以外の係数ごとに、例えばベルヌーイ確率分布に従って、係数の符号の無作為サンプリングを含み得る。これにより、異なる符号の係数を取得でき、サンプリングされた線形結合の変動性が高まり、学習の堅牢性が向上する。
無作為サンプリングが、多数の非ゼロ係数の無作為サンプリング、および非ゼロ係数ごとに、疑似有界確率分布に従った係数値のランダムサンプリングと、係数の符号の無作為サンプリングとを含む場合、学習は、生成ニューラルネットワークにそのように現実的な変形を生成するように強制する。
次に、生成損失についてさらに説明する。
生成損失は、生成ニューラルネットワークによって生成された変形基底の線形結合による識別ニューラルネットワークのだましに報いる項を含み得る。この項は、識別ニューラルネットワークに依存する。つまり、この項は、識別ニューラルネットワークへの入力として供給される3Dモデル化オブジェクトのリアリズムの評価を使用して、線形結合の適用から生じる3Dモデル化オブジェクトのリアリズムを定量化する。この項は、識別ニューラルネットワークが3Dモデル化されたオブジェクトを合成として評価する場合は大きく、識別ニューラルネットワークが3Dモデル化されたオブジェクトを現実的であると評価する場合は小さくなる。言い換えると、生成ニューラルネットワークは、3Dモデル化オブジェクトが識別ニューラルネットワークをだまし/欺かないような基底を生成する場合、つまり、識別ニューラルネットワークが、3Dモデル化オブジェクトが生成ニューラルネットワークによって生成された基底のベクトルの線形結合を適用し、それを合成として決定する場合、生成損失を最小化する必要があるため、つまり、生成損失が入力に対して十分に小さい値を持たない限り、生成ニューラルネットワークの重みが変更されるため、これは、現実的な変形基底を出力するように生成ニューラルネットワークを訓練するのに役立つ。これを線形結合すると、現実的な変形が生じる。つまり、識別なニューラルネットワークがだまされる。
生成損失は、入力3Dモデル化オブジェクトと、生成ニューラルネットワークによって生成された変形基底にまたがる入力3Dモデル化オブジェクトの線形変形との間の不一致に報いる項をさらに含み得る。生成ニューラルネットワークによって生成された変形基底がまたがる入力3Dモデル化オブジェクトの線形変形は、入力3Dモデル化オブジェクトとして生成された生成ニューラルネットワークによって生成された変形基底のベクトルの入力3Dモデル化オブジェクトに適用される線形結合である。線形変形の係数は、例えば前述のように無作為にサンプリングされる。この項は、入力3Dモデル化オブジェクトに適用された線形変形の結果が入力3Dモデル化オブジェクトと異なる場合は小さく、入力3Dモデル化オブジェクトに適用された線形変形の結果が入力3Dモデル化されたオブジェクトに近くなるように、線形変形と入力の結果は常に異なる。生成損失を最小化する必要があるため、つまり、生成損失が入力に対して十分に小さい値を持たない限り、生成ニューラルネットワークの重みが変更されるため、これは、生成ニューラルネットワークが変形基底を出力するように訓練するのに役立つ。線形結合されて入力に適用されると、変形基底が生成された入力オブジェクトとは異なる変形が生成される。これにより、生成ニューラルネットワークの崩壊が防止される。つまり、生成ニューラルネットワークが、変形ではない(つまり、ゼロ変形である)変形が生成されるのが防止される。この項は、入力3Dモデル化オブジェクトと線形変形の結果との間の距離の反対など、入力3Dモデル化オブジェクトと線形変形の結果との間の不一致に報いる任意の項であり得る。距離は、例えば、3D面取り距離であり得る。
生成損失は、生成ニューラルネットワークによって生成された変形基底のスパース性に報いる項をさらに含み得る。報酬スパース性という項は、変形基底がまばらである場合、つまり変形基底の各ベクトルの振幅がまばらである場合に値が低い任意の項である。損失を最小限に抑える必要があるため、この項は、スパース変形基底を出力するように訓練されている生成ニューラルネットワークを強制する。つまり、基底の各ベクトルの振幅をスパースに強制する。これにより、3Dモデル化されたオブジェクトの構造さえ知らなくても、完全に監視されていない方法で3Dモデル化されたオブジェクトの一部にローカライズされた変形を形成するようにベクトルを強制する。実際、スパースでありながらもっともらしい変形には、3Dモデル化されたオブジェクトの頂点や点が多すぎることはありません。また、パーツのすべてではなく一部の点/頂点のみを移動する変形は現実的ではありません。この項は、例えば、J.Mairal,F.Bach,J.Ponce,“Sparse Modeling FOR Image AND Vision Processing”,New Foundations AND Trends, 2014,参照により本明細書に組み込まれる、において記載されるように、グループスパース性損失とも呼ばれるグループスパース性項であり得る。
生成損失は、独立項をさらに含むことができる。これは、変形基底が冗長になるのを防ぐ任意の項である。つまり、基底のベクトルを、例えば直交させることによって、線形独立に強制する。独立項は、例えば、直交性の喪失、または各ベクトルが各点で他のベクトルと直交するように強制する任意の項による場合がある。追加的または代替的に、生成損失は、W.Wang,D.Ceylan,R.Mech,U.Neumann,“3dn:3d deformation network”,In Conference on Computer Vision AND Pattern Recognition(CVPR),2019.で説明されているように、変形した形状で保存されるようにラプラシアン座標を強制するラプラシアン損失など、他の正則化項をさらに含み得る。
次に、学習方法の実装について説明する。
この実装は、任意の3Dモデルの現実的な変形基準を計算するための新しいソリューションを提供する。さらに、学習された変形は、監視なしで(特に構造の監視なしで)オブジェクトの部分に局所化されるため、形状の構造を暗黙的に引き出する。次に、そのような変形を利用して、形状合成、画像からの形状再構成、形状マッチング、またはセグメンテーションを実行することができる。
この実装では、完全に教師なしの敵対的な深層生成モデルが導入される。このモデルでは、生成ニューラルネットワーク/ジェネレータが任意の3D入力の変形の線形基底を予測する。意味のある現実的な変形を学習するために、ジェネレータネットワークは、識別ニューラルネットワーク/識別器を欺くように訓練され、識別器は、訓練形状と合成形状とを分類するように訓練される。合成形状は、この形状の予測基底の線形スパンでランダムな変形が適用される入力形状から取得される。いくつかの規則性の項を通じて、この実装は、学習された変形の独立性のおかげで、ジェネレータが崩壊しないこと、および学習された変形が、オブジェクトの部分にローカライズされることを強制する。オブジェクトの構造は、訓練中にモデルに与えられたことがないため、モデルは、それ自体で入力の意味のある構造を暗黙的に学習する。これにより学習されたジェネレータは、インテリジェント3D設計ツール、自動3Dセグメンテーション、3D構造検出などのいくつかのアプリケーションで使用できる。
この実装には、次の利点がある。
各カテゴリを個別に学習するために、さまざまな種類の3Dモデルをクラスター化する必要はない。それどころか、この実装は、データセット全体を一度に直接学習するのに適している。これは、ゼロから形状を生成するよりも変形を学習する方が簡単だからである。
学習したジェネレータを使用して取得できる合成形状は、既存の形状が変形するため、現実的である。
リアルタイムアプリケーションで使用できる変形の線形基礎が学習される。
変形ハンドルによる変形に制約はなく、変形は自由形式である。
ジェネレータは、敵対的な訓練のおかげでより良い変形を学習する。
ジェネレータによって学習された構造は、訓練中に監視を必要としない。
各カテゴリを個別に学習するために、さまざまな種類の3Dモデルをクラスター化する必要はない。それどころか、この実装は、データセット全体を一度に直接学習するのに適している。これは、ゼロから形状を生成するよりも変形を学習する方が簡単だからである。
学習したジェネレータを使用して取得できる合成形状は、既存の形状が変形するため、現実的である。
リアルタイムアプリケーションで使用できる変形の線形基礎が学習される。
変形ハンドルによる変形に制約はなく、変形は自由形式である。
ジェネレータは、敵対的な訓練のおかげでより良い変形を学習する。
ジェネレータによって学習された構造は、訓練中に監視を必要としない。
実装は、図1に示されるパイプラインに従う。
(データセットの前処理)
このステップでは、3Dモデル化オブジェクトの訓練データセットの提供を実装する。
このステップでは、3Dモデル化オブジェクトの訓練データセットの提供を実装する。
このステップは、3D点群のデータセットを提供し、それらがすべて同じ数の点を有するようにサブサンプリングすることで構成され、サブサンプリングされた点群が、訓練データセットを形成する。
あるいは、3Dメッシュのデータセットが与えられた場合、前処理は、各メッシュを中央に配置し、それらを単位球で再スケーリングすることで構成される。そのために、前処理は、データセット内の正規化された各メッシュから、6つの正投影ビューでそれぞれをレイキャストすることによって高密度の点群を抽出し、次に各点群を均一にサブサンプリングする。そのために、前処理は、点群のランダムな点から開始され、目的の点数に達するまでに選択されている点から点群の最も遠い点を繰り返し選択する。
さらに別の代替案では、このステップは、3Dメッシュのデータセットを提供することからなる場合がある。
以下の実装の説明では、訓練データセットは、全て同じ数の点を有する3D点群のデータセットと見なされる。ただし、この説明は、3Dメッシュのデータセットにも、点数が異なる点群のデータセットにも同様に当てはまるデータセットmの全ての3D点群に共通する点の数とする。
ソースと変形した形状の間の面取り距離を最大化すると、変形した形状が入力とは異なることが保証されるため、ジェネレータの崩壊を防ぐことができる。
項
は、J.Mairal,F.Bach,J.Ponce,“Sparse Modeling for Image and Vision Processing”,New Foundations and Trends, 2014,参照により本明細書に組み込まれる、におけるグループの希薄性の喪失である。これは、オブジェクトの構造を知らなくても、完全に監視されていない方法でオブジェクトのパーツにローカライズするために変形を強制する項である。実際、それは各変形の振幅をまばらにすることを強制する。スパース変形は、あまりにも多くの頂点を含むことができないため、ジェネレータがスパースであるもっともらしい変形を学習するための最も効率的な方法は、オブジェクトの部分の変形をローカライズすることである。部品の、一部ではあるが全部ではない頂点の変改は現実的ではなかった。
独立項は、変形が冗長になるのを防ぐ任意の項である。この項は、次のような直交性の損失である可能性がある。
または、代わりに、この項は、例えば、
のタイプであることによって、各点で各変形が互いに直交するように強制し得る(そのような制約は、基底の3つ以下の変形ベクトルが各点で非ゼロになり得ることを数学的に課すことに注意されたい)。
ジェネレータ損失は、W.Wang,D.Ceylan,R.Mech,U.Neumann,“3dn:3d deformation network”,In Conference on Computer Vision and Pattern Recognition (CVPR), 2019において議論されているように、ジェネレータ損失は、変形した形状で保存されるようにラプラシアン座標を強制するためのラプラシアン損失など、他の正則化項をさらに含み得る。
図2から13を参照して、ここで、前述の実装に従って学習された生成ニューラルネットワークによって生成された変形ベースで取得できる変形の例について説明する。これらの例では、訓練データセットは、ShapeNetCore.V2データセットから取得された3D点群のデータセットで構成されていた。
図2は、椅子を表す入力3Dモデル化オブジェクトを示している。図3は、図3の椅子の変形を示している。変形は、図2の椅子に適用されたときに生成ニューラルネットワークによって生成された変形基底の単一のベクトルに対応する。図2に示される変形は、椅子の腕のみを変形させる。これは、椅子が腕に局在していることを示している。
図4は、椅子を表す入力3Dモデル化オブジェクトを示している。図5は、図4の椅子の変形を示している。変形は、図4の椅子に適用されたときに生成ニューラルネットワークによって生成された変形基底の単一のベクトルに対応する。図4に示される変形は、椅子の背もたれのみを変形させる。これは、椅子が背もたれに局在していることを示している。
図6は、ソファを表す入力3Dモデル化オブジェクトを示している。図7は、図6のカウチの変形を示している。変形は、図6のソファに適用されたときに生成ニューラルネットワークによって生成された変形基底の単一のベクトルに対応する。図6に示す変形は、ソファの側面のみを変形させる。これは、ソファが側面に局在していることを示している。
図8は、ソファを表す入力3Dモデル化オブジェクトを示している。図9は、図8のカウチの変形を示している。変形は、図8のカウチに適用されたときに生成ニューラルネットワークによって生成された変形基底の単一のベクトルに対応する。図8に示す変形は、ソファの背面のみを変形させる。これは、ソファが背面に局在していることを示している。
図10は、平面を表す入力3Dモデル化オブジェクトを示している。図11は、図10の平面の変形を示している。変形は、図10の平面に適用されたときに生成ニューラルネットワークによって生成される変形基底の単一のベクトルに対応する。図10に示す変形は、飛行機のみの翼およびそれに取り付けられたエンジンを変形させ、これは、それが翼に局在していることを示している。
図12は、平面を表す入力3Dモデル化オブジェクトを示している。図13は、図12の平面の変形を示している。変形は、図12の平面に適用されたときに生成ニューラルネットワークによって生成された変形基底の単一のベクトルに対応する。図12に示す変形は、飛行機のみの翼およびそれに取り付けられたエンジンを変形させ、これは、それが翼に局在していることを示している。
例えば、学習方法によって学習された生成ニューラルネットワークも提供される。生成ニューラルネットワークは、学習方法に従った学習によって値が設定可能(例えば、設定済み)の重み(パラメータとも呼ばれる)を有するニューロンの層を持つコンピュータ実装のデータ構造を形成する。
さらに、生成ニューラルネットワークを使用するコンピュータ実装の方法が提供される。使用方法は、生成ニューラルネットワークを入力3Dモデル化オブジェクトに適用することを含み、それにより、入力3Dモデル化オブジェクトの変形基底を生成する。
使用方法は、形状合成とも呼ばれる3D編集用である。この場合、使用方法は、入力オブジェクトのそれぞれの変形基底を取得するために、それぞれの入力3Dモデル化オブジェクト上での生成ニューラルネットワークの1つ以上のアプリケーションを含む。次に、それぞれの変形基底について、使用方法は、変形基底の線形結合を形成することを含み、それにより、入力3Dモデル化オブジェクトの線形変形をもたらす。
3D編集の使用方法の一例では、使用方法は以下を含む。
最初の3Dモデル化されたオブジェクトを提供する。
最初の3Dモデル化されたオブジェクトから開始して、次の1つ以上の反復。
生成ニューラルネットワークを最初の3Dモデル化オブジェクトの以前の変形に適用して、前述の以前の変形の変形基礎を取得する。
変形基底の線形結合を形成し、それによって最初の3Dモデル化オブジェクトの次の変形を生成する。
最初の3Dモデル化されたオブジェクトを提供する。
最初の3Dモデル化されたオブジェクトから開始して、次の1つ以上の反復。
生成ニューラルネットワークを最初の3Dモデル化オブジェクトの以前の変形に適用して、前述の以前の変形の変形基礎を取得する。
変形基底の線形結合を形成し、それによって最初の3Dモデル化オブジェクトの次の変形を生成する。
この例では、使用方法は、最初の3Dモデル化オブジェクトの反復線形変形を実行する。これにより、最終的に、最初の3Dモデル化オブジェクトから2番目の3Dモデル化オブジェクトへの非線形変形が生成される。この実施例の使用方法は、3Dモデル化オブジェクトを変形する/上記のように変形基底を繰り返し使用する3Dモデル化オブジェクト変形を決定するための任意の方法であり得る。
あるいは、使用方法は、深度フレーム再構成のためのものであり得る。デプスフレームの再構築には、3Dメッシュと別のオブジェクトのデプスマップを提供することが含まれる。もう1つのオブジェクトは、提供されている3Dメッシュの近くにある。次に、深度フレームの再構築には、生成ニューラルネットワークを3Dメッシュに適用することが含まれる。これにより、3Dメッシュの変形ベースが生成される。デプスフレームの再構築では、この変形ベースを使用して、提供された3Dメッシュをデプスマップで表される別のオブジェクトに変形する。次に、深度フレームの再構築は、深度マップに適合するように変形基底を最適化することをさらに含む。すなわち、深度フレームの再構築は、線形結合による3Dメッシュの変形が深度マップに適合するように、変形基底ベクトルの線形結合の係数を最適化することを含む。再構成の目的は、深度マップに対応する3Dモデル化されたオブジェクトを取得することである。
あるいは、使用方法は、画像からの形状再構成のためのものであり得る。これは、前述の深度フレーム再構成の使用と同様に機能するが、深度マップが画像に置き換えられるという違いがある。前述の使用法は、2Dビューがあいまいさを特徴とする可能性があるという事実をより適切に説明するために変更する必要がある場合がある(例えば、3D情報の欠如による)。それ自体が知られているように、追加の正則化が必要になる場合がある。
あるいは、使用方法はセグメンテーションのためのものであり得る。この場合、使用方法は次のとおりである。
3Dモデル化されたオブジェクトを提供する。
生成ニューラルネットワークを3Dモデル化オブジェクトに適用し、それによって、それぞれが3Dモデル化オブジェクトの局所変形を表すベクトルからなる3Dモデル化オブジェクトの変形基礎を生成する。
基底の各ベクトルのそれぞれの局所部分を(例えば自動的に)推測することによって(例えば自動的に)3Dモデル化オブジェクトの局所部分を決定する:
各ベクトルについて、単一の(つまりすべてのベクトルに共通の)振幅/係数を掛けたベクトルに従ってオブジェクトを変形する。
単一変形ごとに、事前定義されたしきい値を超えて変形された3Dモデル化オブジェクトの点/頂点を決定し、決定された点は3Dモデル化オブジェクトのセグメンテーションのセグメントを形成する。
3Dモデル化されたオブジェクトを提供する。
生成ニューラルネットワークを3Dモデル化オブジェクトに適用し、それによって、それぞれが3Dモデル化オブジェクトの局所変形を表すベクトルからなる3Dモデル化オブジェクトの変形基礎を生成する。
基底の各ベクトルのそれぞれの局所部分を(例えば自動的に)推測することによって(例えば自動的に)3Dモデル化オブジェクトの局所部分を決定する:
各ベクトルについて、単一の(つまりすべてのベクトルに共通の)振幅/係数を掛けたベクトルに従ってオブジェクトを変形する。
単一変形ごとに、事前定義されたしきい値を超えて変形された3Dモデル化オブジェクトの点/頂点を決定し、決定された点は3Dモデル化オブジェクトのセグメンテーションのセグメントを形成する。
言い換えると、変形基底ベクトルは、前に説明したように入力3Dモデル化オブジェクトの部分にローカライズされるため、入力3Dモデル化オブジェクトの構造を抽出するために使用できる。
使用方法は、3D構造の発見にも使用できる。各変形ベクトルは、オブジェクトの一部に局所化された変形を形成するため、変形ベクトルの知識により、オブジェクトのローカル部分の知識を取得できる(つまり、事前にはわからない)、オブジェクトの3D構造を生成する。
学習方法と使用方法は独立して行うことができる。あるいは、それらは、3Dオブジェクト変形のための同じコンピュータ実装プロセス、すなわち、最初に学習方法、次に使用方法を含む方法を統合するプロセスに統合され得る。
方法は、コンピュータで実装される。これは、方法のステップ(または実質的にすべてのステップ)が少なくとも1台のコンピュータまたは同様のシステムによって実行されることを意味する。したがって、方法のステップは、おそらく完全に自動的に、または半自動的に、コンピュータによって実行される。例では、方法の少なくともいくつかのステップのトリガーは、ユーザとコンピュータの相互作用を介して実行され得る。必要なユーザとコンピュータの相互作用のレベルは、予測される自動化のレベルに依存し、ユーザの希望を実装する必要性とバランスをとることができる。例では、このレベルはユーザ定義および/または事前定義されている場合がある。
方法のコンピュータ実装の典型的な例は、この目的に適合したシステムで方法を実行することである。システムは、メモリおよびグラフィカルユーザインターフェース(GUI)に結合されたプロセッサを備え得、メモリは、方法を実行するための命令を含むコンピュータプログラムをその上に記録した。メモリはデータベースを保存することもできる。メモリは、そのようなストレージに適合したハードウェアであり、おそらくいくつかの物理的に異なる部分(例えば、プログラム用に1つ、データベース用に1つ)で構成される。
図14は、システムの例を示しており、システムは、クライアントコンピュータシステム、例えば、ユーザのワークステーションである。
この例のクライアントコンピュータは、同じくBUSに接続された内部通信BUS1000, aランダムアクセスメモリ(RAM)1070に接続された中央処理装置(CPU)1010を備える。クライアントコンピュータはさらに、バスに接続されたビデオランダムアクセスメモリ1100に関連付けられたグラフィックプロセッシングユニット(GPU)1110を備えている。ビデオRAM1100は、当技術分野ではフレームバッファとしても知られている。大容量記憶装置コントローラ1020は、ハードドライブ1030などの大容量記憶装置へのアクセスを管理する。コンピュータプログラム命令およびデータを具体的に具体化するのに適した大容量記憶装置には、例えば、以下のような半導体記憶装置を含む、あらゆる形態の不揮発性記憶が含まれる。EPROM、EEPROM、およびフラッシュメモリデバイス。内蔵ハードディスクやリムーバブルディスクなどの磁気ディスク。光磁気ディスク;上記のいずれも、特別に設計されたASIC(特定用途向け集積回路)によって補足されるか、または組み込まれ得る。ネットワークアダプタ1050は、ネットワーク1060へのアクセスを管理する。クライアントコンピュータはまた、カーソル制御デバイス、キーボードなどのような触覚デバイス1090を含み得る。カーソル制御装置は、ユーザがディスプレイ108上の任意の所望の位置にカーソルを選択的に配置することを可能にするためにクライアントコンピュータで使用される。さらに、カーソル制御装置は、ユーザが様々なコマンドを選択し、制御信号を入力することを可能にする。カーソル制御装置は、システムに制御信号を入力するためのいくつかの信号生成装置を含む。通常、カーソル制御デバイスはマウスであり得、マウスのボタンは信号を生成するために使用される。代替的または追加的に、クライアントコンピュータシステムは、敏感なパッド、および/または敏感なスクリーンを含み得る。
コンピュータプログラムは、コンピュータによって実行可能な命令を含み得、命令は、上記のシステムに1つ以上の方法を実行させるための手段を含む。プログラムは、システムのメモリを含む任意のデータ記憶媒体に記録可能である可能性がある。プログラムは、例えば、デジタル電子回路、またはコンピュータのハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせで実装することができる。プログラムは、装置、例えば、プログラム可能なプロセッサによって実行するために機械可読記憶装置に具体的に具体化された製品として実施することができる。方法ステップは、入力データを操作して出力を生成することにより、方法の機能を実行するための命令プログラムを実行するプログラム可能なプロセッサによって実行され得る。したがって、プロセッサは、データストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、データおよび命令を送信するようにプログラム可能および結合され得る。アプリケーションプログラムは、高レベルの手続き型プログラミング言語またはオブジェクト指向プログラミング言語で実装することも、必要に応じてアセンブリ言語または機械語で実装することもできる。いずれの場合も、言語はコンパイルされた言語またはインタプリタされた言語である可能性がある。プログラムは、フルインストールプログラムまたは更新プログラムの場合がある。システムにプログラムを適用すると、どのような場合でも、方法を実行するための指示が出される。
Claims (15)
- コンピュータ実装された機械学習の方法であって、該方法は、
実世界のオブジェクトを表す3Dモデル化されたオブジェクトのデータセットを提供することと、
前記データセットに基づいて、入力3Dモデル化オブジェクトの変形ベースを生成するように構成された生成ニューラルネットワークを学習することと、を含み、前記学習は、敵対的な訓練を含む、方法。 - 前記方法は、識別的損失を最小化することによって、前記生成ニューラルネットワークによって生成された変形基底の線形結合の適用から生じる3Dモデル化オブジェクトが、現実的または合成的であるかどうかを決定するために構成された識別ニューラルネットワークを訓練することをさらに含む、請求項1に記載の方法。
- 前記生成ニューラルネットワークの前記学習が、前記識別ニューラルネットワークをだますために前記生成ニューラルネットワークを訓練することを含む、請求項2に記載の方法。
- 前記生成ニューラルネットワークの前記学習が、生成的損失を最小化することを含み、前記方法は、前記生成的損失の最小化および前記識別的損失の最小化を交互に行う、請求項2または3に記載の方法。
- 前記識別的損失の的最小化が、的生成ニューラルネットワークによって生成された変形基底のランダム線形結合に基づいている、請求項4に記載の方法。
- 前記学習は、ミニバッチごとに実行され、各ミニバッチに対して、前記学習は、前記ミニバッチの各3Dモデル化オブジェクトに対して、線形結合の係数をランダムにサンプリングすることにより、前記生成ニューラルネットワークによって生成された前記3Dモデル化オブジェクトの前記変形基底のランダム線形結合を生成することを含む、請求項5に記載の方法。
- 前記ランダムサンプリングは、多数の非ゼロ係数のランダムサンプリングおよび/または各非ゼロ係数について、疑似境界確率分布に従った係数値のランダムサンプリングを含む、請求項6に記載の方法。
- 前記生成的損失は、前記生成ニューラルネットワークによって生成された前記変形基底の線形結合による前記識別ニューラルネットワークのだましに報いる項を含む、請求項4~7のいずれか一項に記載の方法。
- 前記生成損失は、入力3Dモデル化オブジェクトと、前記生成ニューラルネットワークによって生成された前記変形基底にまたがる前記入力3Dモデル化オブジェクトの線形変形との間の不一致に報いる項をさらに含む、請求項8に記載の方法。
- 前記生成損失は、前記生成ニューラルネットワークによって生成された前記変形基底のスパース性に報いる項をさらに含む、請求項8または9に記載の方法。
- 前記生成損失が、以下のタイプ:
dは、前記識別可能なニューラルネットワークであり;
X1,・・・,XNは、前記データセットのミニバッチを形成する3Dモデル化オブジェクトであり、Nは、前記ミニバッチ内の多数のオブジェクであり;
mは、前記ミニバッチの各3Dモデル化オブジェクトの多数の点または頂点であり、
Yiは、オブジェクトXiでの前記生成ニューラルネットワークによって生成された前記変形基底によってまたがるの前記線形変形であり、
DCHは、面取り距離であり、および
λおよびδは、前記生成損失のパラメータである、請求項10に記載の方法。 - 請求項1~11のいずれか一項に記載の学習可能な生成ニューラルネットワークを使用するコンピュータ実装の方法。
- 請求項1~11のいずれか一項に記載の前記方法および/または請求項12に記載の前記方法を実行するための命令をその上に記録されたコンピュータプログラム。
- 請求項13に記載の前記コンピュータプログラムをその上に記録されたデータ記憶媒体を含むデバイス。
- 前記データ記憶媒体に結合されたプロセッサをさらに備える、請求項14に記載のデバイス。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21305132 | 2021-01-29 | ||
EP21305132.9A EP4036783A1 (en) | 2021-01-29 | 2021-01-29 | Adversarial 3d deformations learning |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022119713A true JP2022119713A (ja) | 2022-08-17 |
Family
ID=74553773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021209547A Pending JP2022119713A (ja) | 2021-01-29 | 2021-12-23 | 副次的な3d変形の学習 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220245431A1 (ja) |
EP (1) | EP4036783A1 (ja) |
JP (1) | JP2022119713A (ja) |
CN (1) | CN114912337A (ja) |
-
2021
- 2021-01-29 EP EP21305132.9A patent/EP4036783A1/en active Pending
- 2021-12-23 JP JP2021209547A patent/JP2022119713A/ja active Pending
- 2021-12-24 CN CN202111596762.9A patent/CN114912337A/zh active Pending
- 2021-12-27 US US17/646,082 patent/US20220245431A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN114912337A (zh) | 2022-08-16 |
US20220245431A1 (en) | 2022-08-04 |
EP4036783A1 (en) | 2022-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11443192B2 (en) | Machine-learning for 3D modeled object inference | |
US11562207B2 (en) | Set of neural networks | |
US10839267B2 (en) | Learning an autoencoder | |
EP3188033B1 (en) | Reconstructing a 3d modeled object | |
JP7473335B2 (ja) | ソリッドcadフィーチャを推測するためのニューラルネットワークの学習 | |
US11514214B2 (en) | Forming a dataset for inference of solid CAD features | |
US11436795B2 (en) | Learning a neural network for inference of editable feature trees | |
US11210866B2 (en) | Forming a dataset for inference of editable feature trees | |
US11869147B2 (en) | Neural network for outputting a parameterized 3D model | |
US20210241106A1 (en) | Deformations basis learning | |
EP3671660A1 (en) | Designing a 3d modeled object via user-interaction | |
US20210264079A1 (en) | Determining a 3d modeled object deformation | |
JP2022119713A (ja) | 副次的な3d変形の学習 | |
EP4057222B1 (en) | Machine-learning for 3d segmentation | |
JP7509537B2 (ja) | 編集可能なフィーチャツリーの推測のためのデータ集合を形成すること |