(57)【要約】      （修正有）【課題】ユーザ対話を介して３Ｄモデル化オブジェクトを設計するための改善された方法を提供する。【解決手段】方法は、３Ｄモデル化オブジェクト及び機械学習デコーダを提供することを含む。機械学習デコーダは潜在空間内の値を取り、３Ｄモデル化オブジェクト空間内の値を出力する微分可能関数である。方法は、ユーザによって、３Ｄモデル化オブジェクトの一部の変形制約を定義するステップをさらに含む。方法は、最適ベクトルを決定することをさらに含む。最適ベクトルは、エネルギーを最小化する。エネルギーは潜在ベクトルを探索する。エネルギーは探索された潜在ベクトルにデコーダを適用した結果によって、探索された潜在ベクトルごとに、変形制約の非尊重を不利にする項を含む。方法は、デコーダを最適な潜在ベクトルに適用することをさらに含む。【選択図】図１
2020102215.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ対話を介して３Ｄモデル化オブジェクトを設計するためのコンピュータ実施方法であって、
以下を提供するステップ（Ｓ１０）と
３Ｄモデル化オブジェクト、及び
潜在空間内の値をとり、３Ｄモデル化オブジェクト空間内の値を出力する微分可能な関数である機械学習デコーダ、
３Ｄモデル化オブジェクトの一部に対する変形制約をユーザによって定義するステップ（Ｓ３０）と、
エネルギを最小化する最適な潜在ベクトルを決定するステップ（Ｓ４０）であって、エネルギ探索潜在ベクトルは、探索潜在ベクトルにデコーダを適用した結果による変形制約の非尊重を探索潜在ベクトル毎にペナルティとする項を含むステップと、
最適な潜在ベクトルに前記デコーダを適用するステップ（Ｓ５０）と、
を含む方法。
【請求項２】
前記変形制約は幾何学的形状を定義し、
前記項は、前記デコーダを前記探索された潜在ベクトルに適用した結果と前記幾何学的形状との間の不一致にペナルティを課す
請求項１に記載の方法。
【請求項３】
前記不一致は、前記デコーダを前記探索された潜在ベクトルに適用した結果の導関数と前記幾何学的形状との間の距離を含む
請求項２に記載の方法。
【請求項４】
幾何学的形状は３Ｄ空間において定義され、導関数は探索された潜在ベクトルにデコーダを適用した結果であるか、又は
幾何学的形状が２Ｄ平面において定義され、導関数は探索された潜在ベクトルにデコーダを適用した結果の射影である
請求項３に記載の方法。
【請求項５】
前記不一致は、前記距離の単調関数である
請求項３又は４に記載の方法。
【請求項６】
前記３Ｄモデル化オブジェクトは３Ｄメッシュであり、
幾何学的形状が３Ｄ空間で定義され、導関数が探索された潜在ベクトルにデコーダを適用した結果である場合、前記項は次式の型であり
【数１】
2020102215.tif 000077
幾何学的形が２Ｄ平面で定義され、導関数が、探索された潜在ベクトルにデコーダを適用した結果の射影である場合、前記項は次式の型である
【数２】
2020102215.tif 000078
請求項４又は５に記載の方法。
【請求項７】
前記デコーダを前記潜在空間上への前記３Ｄモデル化オブジェクトの射影に適用した結果から、前記デコーダを前記最適化された潜在ベクトルに適用した結果に変形演算を計算するステップ（Ｓ６０）と、
前記変形演算を前記３Ｄモデル化オブジェクトに適用するステップ（Ｓ７０）と
をさらに有する請求項１から６のいずれか一項に記載の方法。
【請求項８】
前記機械学習デコーダはエンコーダも備えるオートエンコーダのデコーダであり、
前記最適な潜在ベクトルを決定するステップ（Ｓ４０）は、前記デコーダを前記探索された潜在ベクトルに適用した結果と前記３Ｄモデル化オブジェクトとの間の類似性に報酬を与える
請求項１から７のいずれか一項に記載の方法。
【請求項９】
前記最適な潜在ベクトルを決定するステップ（Ｓ４０）は、前記エンコーダを前記３Ｄモデル化オブジェクトに適用した結果である第１の探索された潜在ベクトルから開始して、反復的に実行される
請求項８に記載の方法。
【請求項１０】
前記エネルギーは、前記探索された潜在ベクトルと、前記エンコーダを前記３Ｄモデル化オブジェクトに適用した結果との間の類似性に報酬を与える別の項を含む
請求項８又は９に記載の方法。
【請求項１１】
前記他の項は、前記探索された潜在ベクトルと、前記エンコーダを前記３Ｄモデル化オブジェクトに適用した結果との間の距離を含む
請求項１０に記載の方法。
【請求項１２】
前記エネルギーは、前記潜在空間上の探索された潜在ベクトルの尤度に報酬を与える別の項を含む
請求項１乃至１１のいずれか一項に記載の方法。
【請求項１３】
請求項１乃至１２のいずれか一項に記載の方法を実行するための命令を含むコンピュータプログラム。
【請求項１４】
請求項１３に記載のコンピュータプログラムを記録したコンピュータ可読記憶媒体。
【請求項１５】
請求項１３に記載のコンピュータプログラムを記録した、メモリ及びディスプレイに結合されたプロセッサを含むコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータプログラム及びシステムの分野に関し、より具体的には、ユーザ対話を介して３Ｄモデル化オブジェクトを設計するための方法、システム、及びプログラムに関する。
【背景技術】
【０００２】
物体の設計、エンジニアリング及び製造のために、多数のシステム及びプログラムが市場に提供されている。ＣＡＤはコンピュータ支援設計の頭字語であり、例えば、オブジェクトを設計するためのソフトウェアソリューションに関する。ＣＡＥはコンピュータ支援エンジニアリングの頭字語であり、例えば、将来の製品の物理的挙動をシミュレートするためのソフトウェアソリューションに関連する。ＣＡＭはコンピュータ支援製造の頭字語であり、例えば、製造プロセス及び動作を定義するためのソフトウェアソリューションに関する。そのようなコンピュータ支援設計システムでは、グラフィカルユーザインタフェースが技術の効率に関して重要な役割を果たす。これらの技術は、製品ライフサイクル管理（ＰＬＭ）システム内に組み込まれてもよい。ＰＬＭとは、企業が製品データを共有し、共通のプロセスを適用し、企業知識を活用して、長期的な企業のコンセプトを越えて、コンセプトから生涯にわたる製品の開発に役立てることを支援するビジネス戦略のことをいう。（ＣＡＴＩＡ、ＥＮＯＶＩＡ及びＤＥＬＭＩＡの商標で）ダッソーシステムズによって提供されるＰＬＭソリューションは、製品工学知識を編成するエンジニアリングハブと、製造工学知識を管理する製造ハブと、エンタープライズ統合及びエンジニアリングハブ及び製造ハブの両方への接続を可能にするエンタープライズハブとを提供する。全体として、システムは最適化された製品定義、製造準備、生産、及びサービスを駆動する動的な知識ベースの製品作成及び意思決定サポートを可能にするために、製品、プロセス、リソースをリンクするオープン・オブジェクト・モデルを提供する。
この文脈及び他の文脈において、機械学習、特にオートエンコーダ及び／又はマニホールド学習は、広く重要性を増している。
【０００３】
以下の論文はこの技術分野に関するものであり、以下に参照される：
［１］：  “Ｓｔａｃｋｅｄ  Ｄｅｎｏｉｓｉｎｇ  Ａｕｔｏｅｎｃｏｄｅｒｓ：
Ｌｅａｒｎｉｎｇ  Ｕｓｅｆｕｌ  Ｒｅｐｒｅｓｅｎｔａｔｉｏｎｓ  ｉｎ  ａ  Ｄｅｅｐ  Ｎｅｔｗｏｒｋ  ｗｉｔｈ  ａ  Ｌｏｃａｌ  Ｄｅｎｏｉｓｉｎｇ  Ｃｒｉｔｅｒｉｏｎ”、ＰＶｉｎｃｅｎｔ、ＨＬａｒｃｏｈｅｌｌｅ、ＩＬａｊｏ
ｉｅ、ＹＢｅｎｇｉｏ、ＰＭａｎｚａｇｏｌ、ｉｎ  Ｔｈｅ  Ｊｏｕｒｎａｌ  ｏｆ  Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ  Ｒｅｓｅａｒｃｈ、２０１０．
［２］：  Ｓｃｉｅｎｃｅ、２００６において、Ｇ．ＥＨｉｎｔｏｎ、ＲＲＳａｌａｋｈｕｔｄｉｎｏｖ、“Ｒｅｄｕｃｉｎｇ  Ｄｉｍｅｎｓｉｏｎａｌｉｔｙ  ｏ
ｆ  Ｄａｔａ  ｗｉｔｈ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ”．
［３］：  “Ｌｅａｒｎｉｎｇ  Ｄｅｅｐ  Ａｒｃｈｉｔｅｃｔｕｒｅｓ  ｆｏｒ
ＡＩ”、ＹＢｅｎｇｉｏ、ｉｎ  Ｆｏｕｎｄａｔｉｏｎｓ  ａｎｄ  Ｔｒｅｎｄ
ｓ  ｉｎ  Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ、２００９．
［４］：  “Ｇｅｎｅｒａｔｉｖｅ  Ａｄｖｅｒｓａｒｉａｌ  Ｎｅｔｓ”、ＩＧ
ｏｏｄｆｅｌｌｏｗ、ＪＰｏｕｇｅｔ−Ａｂａｄｉｅ、ＭＭｉｒｚａ、ＢＸｕ、ＤＷａｒｄｅ−Ｆａｒｌｅｙ、ＳＯｚａｉｒ、ＡＣｏｕｒｖｉｌｌｅ、ＹＢｅｎｇｉｏ、ｉｎ  Ａｄｖａｎｃｅｓ  ｉｎ  Ｎｅｕｒａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍｓ、２０１４．
［５］：  “Ｇｅｎｅｒａｔｉｖｅ  Ｖｉｓｕａｌ  Ｍａｎｉｐｕｌａｔｉｏｎ  
ｏｎ  Ｎａｔｕｒａｌ  Ｉｍａｇｅ  Ｍａｎｉｆｏｌｄ”、Ｊ−Ｙ  Ｚｈｕ、ＰＫ
ｒaｈｅｎｂuｈｌ、ＥＳｈｅｃｈｔｍａｎ、ＡＡＥｆｒｏｓ、ｉｎ  ＥＣＣＶ  ２０１６．
［６］：  “Ｎｅｕｒａｌ  Ｐｈｏｔｏ  Ｅｄｉｔｉｎｇ  ｗｉｔｈ  Ｉｎｔｒｏ
ｓｐｅｃｔｉｖｅ  Ａｄｖｅｒｓａｒｉａｌ  Ｎｅｔｗｏｒｋｓ”、ＡＢｒｏｃｋ
、ＴＬｉｍ、Ｊ．ＭＲｉｔｃｈｉｅ、ｉｎ  ＩＣＬＲ  ２０１７．
【０００４】
同じクラスからのサンプルを表すデータセット、例えば椅子の画像のデータセット、又は車の３Ｄモデルのデータセットが与えられると、オートエンコーダ（［１，２］で説明されている）は、このデータセットの元の入力空間と、しばしば潜在空間と呼ばれる低次元空間との間のマッピングを学習することを目的とする。さらに、オートエンコーダは、潜在空間から元の入力空間への逆マッピングも学習する。それらは、元の空間において現実的な非線形補間を行い、データにおいて有意義な特徴を抽出し、データをコンパクトな表現に圧縮するなどのために使用されてもよい。
【０００５】
論文［４］は生成的な敵対的ネットワーク、すなわちデコーダを学習するモデルを導入するが、データの分布を学習するために潜在空間に確率論的事前設定も行う。そうするために、それらは識別器をだますためにデコーダを訓練し、一方、識別器は実際のデータと合成されたデータとの間を分類するように訓練される。オートエンコーダのような再構成エラーを使用して、潜在空間上にデータを射影するエンコーダを学習することもできる。
【０００６】
論文［５］は、画像上で生成的な敵対的ネットワークを学習する。変形例は最終的に、オプティカルフローを用いてオリジナル画像上に再ターゲット化される。論文［６］はまた、内観的敵対ネットワーク、変分オートエンコーダと生成敵対ネットワークとの間のハイブリダイゼーションを学習することによって、画像に対する編集システムを提案するが、それらはオプティカルフローの代わりにマスキング技術を用いてユーザ修正を再ターゲットする。
【０００７】
しかしながら、（例えば、３Ｄ）設計の文脈における機械学習技術の使用はまれであり、比較的未知のアプローチのままである。
【０００８】
この文脈内で、ユーザ対話を介して３Ｄモデル化オブジェクトを設計するための改善された方法が依然として必要とされている。
【発明の概要】
【０００９】
したがって、ユーザ対話を介して３Ｄモデル化オブジェクトを設計するためのコンピュータ実施方法が提供される。この方法は、３Ｄモデル化オブジェクト及び機械学習デコーダを提供することを含む。機械学習デコーダは潜在空間内の値を取り、３Ｄモデル化オブジェクト空間内の値を出力する微分可能関数である。この方法は、ユーザによって、３Ｄモデル化オブジェクトの一部の変形制約を定義するステップをさらに含む。この方法は、最適ベクトルを決定することをさらに含む。最適ベクトルは、エネルギーを最小化する。エネルギーは潜在ベクトルを探索する。エネルギーは探索された潜在ベクトルにデコーダを適用した結果によって、探索された潜在ベクトルごとに、変形制約の非尊重を不利にする項を含む。この方法は、デコーダを最適な潜在ベクトルに適用することをさらに含む。
【００１０】
そのような方法は、ユーザ対話を介して３Ｄモデル化オブジェクトを設計するための改善された方法を構成する。
【００１１】
特に、本方法は、ユーザ対話を介して３Ｄモデル化オブジェクトを設計する状況において、機械学習デコーダを利用する。
【００１２】
さらに、ユーザは、３Ｄモデル化オブジェクトの一部の変形制約を定義する。換言すれば、ユーザは、３Ｄモデル化オブジェクトを変形させることを目的とする設計意図を提供する。次に、この方法は、潜在ベクトル空間上の変形制約の非尊重にペナルティを課すエネルギーを最小化するベクトルである最適潜在ベクトルを決定する。換言すれば、決定された最適な潜在ベクトルは、変形制約を尊重する傾向がある潜在空間のベクトルである。例では、最適な潜在ベクトルが変形制約を（例えば、最適に）尊重する。次に、最適な潜在ベクトルは、３Ｄモデル化オブジェクト空間の要素に復号される。言い換えれば、本方法はユーザによって提供される変形制約を考慮する（例えば、最適に）傾向がある３Ｄモデル化オブジェクトを見つける。したがって、この方法はユーザの設計意図を尊重する（例えば、尊重する）傾向がある３Ｄモデル化オブジェクトを見つけることを可能にする。
【００１３】
さらに、最適な潜在ベクトルの決定及び最適な潜在ベクトルへのデコーダの適用は、ユーザによる変形制約の提供の結果として、ユーザアクションを伴うことなく、自動的に実行されてもよい。したがって、この方法は、ユーザの設計意図を尊重する傾向がある３Ｄモデル化オブジェクトを出力するだけでなく、ユーザ／マシン対話をほとんど行わずに出力する。したがって、この方法は効率的であり、人間工学的である。
【００１４】
また、デコーダは、そのようにするために機械学習された可能性があるので、妥当な３Ｄモデル化オブジェクトのみを出力することができる。例えば、３Ｄモデル化オブジェクト空間は、妥当な３Ｄモデル化オブジェクトの空間であってもよい。言い換えれば、本方法は、人間工学的かつ効率的な方法でユーザの設計意図を尊重する傾向がある、妥当な３Ｄモデル化オブジェクトを出力することができる。
【００１５】
この方法は、以下のうちの１つ又は複数を含むことができる：
−変形制約は幾何学的形状を定義し、項は、探索された潜在ベクトルにデコーダを適用した結果と幾何学的形状との間の不一致にペナルティを課す；
−不一致は、探索された潜在ベクトルにデコーダを適用した結果の導関数と幾何学的形状との間の距離を含む；
−幾何学的形状は３Ｄ空間で定義され、導関数は探索された潜在ベクトルにデコーダを適用した結果である；
−幾何学的形状は２Ｄ平面内で定義され、導関数は探索された潜在ベクトルにデコーダを適用した結果の射影である；
−不一致は距離の単調関数である；
−３Ｄモデル化オブジェクトは３Ｄメッシュであり、幾何学的形状が３Ｄ空間で定義され、導関数が探索された潜在ベクトルにデコーダを適用した結果である場合、項は次のタイプのものである：
【数１】
2020102215.tif 000003
【００１６】
−３Ｄモデル化オブジェクトは３Ｄメッシュであり、幾何学的形状が２Ｄ平面内で定義され、導関数が探索された潜在ベクトルにデコーダを適用した結果の射影である場合、項は次のタイプのものである：
【数２】
2020102215.tif 000004
【００１７】
−潜在空間上への３Ｄモデル化オブジェクトの射影にデコーダを適用した結果から、最適化された潜在ベクトルにデコーダを適用し、３Ｄモデル化オブジェクトに変形操作を適用した結果への変形操作の計算。
−機械学習デコーダは、エンコーダも備えるオートエンコーダのデコーダである；
−最適な潜在ベクトルの決定は、探索された潜在ベクトルにデコーダを適用した結果と３Ｄモデル化オブジェクトとの間の類似性に報酬を与える；
−最適な潜在ベクトルの決定は、エンコーダを３Ｄモデル化オブジェクトに適用した結果である第１の探索された潜在ベクトルから開始して、反復的に実行される；
−  エネルギーは、探索された潜在ベクトルと、エンコーダを３Ｄモデル化オブジェクトに適用した結果との間の類似性に報酬を与える別の項を含む；
−他の項は探索された潜在ベクトルと、エンコーダを３Ｄモデル化オブジェクトに適用した結果との間の距離を含み、及び／又は、
−エネルギーが潜在空間上の探索された潜在ベクトルの尤度に報酬を与える別の項を含む。
【００１８】
本方法を実行するための命令を含むコンピュータプログラムがさらに提供される。
【００１９】
さらに、コンピュータプログラムが記録されたコンピュータ可読記憶媒体が提供される。
【００２０】
さらに、メモリに結合されたプロセッサとグラフィカルユーザインタフェースとを含むシステムが提供され、メモリは、その上に記録されたコンピュータ・プログラムを有する。
【図面の簡単な説明】
【００２１】
【図１】方法の一例のフローチャートを示す。
【図２】この方法を示す。
【図３】この方法を示す。
【図４】この方法を示す。
【図５】この方法を示す。
【図６】この方法を示す。
【図７】この方法を示す。
【図８】この方法を示す。
【図９】この方法を示す。
【図１０】この方法を示す。
【図１１】この方法を示す。
【図１２】この方法を示す。
【図１３】この方法を示す。
【図１４】システムのグラフィカルユーザインタフェースの一例を示す。
【図１５】システムの一例を示す。
【発明を実施するための形態】
【００２２】
図１のフローチャートを参照すると、ユーザ対話を介して３Ｄモデル化オブジェクトを設計するためのコンピュータ実施方法が提案されている。この方法は、３Ｄモデル化オブジェクト及び機械学習デコーダを提供するステップＳ１０を含む。機械学習デコーダは潜在空間内の値を取り、３Ｄモデル化オブジェクト空間内の値を出力する微分可能関数である。この方法はさらに、ユーザによって、３Ｄモデル化オブジェクトの一部の変形制約を定義するステップＳ３０を含む。この方法は、最適ベクトルを決定するステップＳ４０をさらに含む。最適ベクトルは、エネルギーを最小化する。エネルギーは潜在ベクトルを探索する。エネルギーは探索された潜在ベクトルにデコーダを適用した結果によって、探索された潜在ベクトルごとに、変形制約の非尊重を不利にする項を含む。この方法は、デコーダを最適な潜在ベクトルに適用するステップＳ５０をさらに含む。
【００２３】
この方法は、コンピュータで実施される。この手段は、該方法のステップ（又は実質的に全てのステップ）が少なくとも１つのコンピュータ又は任意のシステムによって実行されることである。したがって、本方法のステップはコンピュータによって、場合によっては完全に自動的に、又は半自動的に実行される。例では、方法のステップのうちの少なくともいくつかのトリガがユーザ／コンピュータ対話を介して実行され得る。必要とされるユーザ／コンピュータ対話のレベルは予測される自動化のレベルに依存し、ユーザの希望を実施する必要性とバランスをとることができる。例では、このレベルがユーザ定義及び／又は事前定義され得る。
【００２４】
方法のコンピュータ実装の典型的な例は、この目的のために適合されたシステムを用いて方法を実行することである。システムはメモリに結合されたプロセッサと、グラフィカルユーザインタフェース（ＧＵＩ）とを備えることができ、メモリには、本方法を実行するための命令を含むコンピュータプログラムが記録されている。メモリはまた、データベースを記憶してもよい。メモリはそのような記憶装置に適合された任意のハードウェアであり、場合によっては、いくつかの物理的に別個の部分（例えば、プログラムのための部分、及び場合によってはデータ断片ベースのための部分）を備える。
【００２５】
この方法は一般に、モデル化されたオブジェクトを操作する。モデル化されたオブジェクトは、例えばデータベースに格納されたデータによって定義される任意のオブジェクトである。伸長により、表現「モデル化オブジェクト」は、データ自体を指定する。システムのタイプに応じて、モデル化されたオブジェクトは、異なる種類のデータによって定義されてもよい。システムは、実際にはＣＡＤシステム、ＣＡＥシステム、ＣＡＭシステム、ＰＤＭシステム、及び／又はＰＬＭシステムの任意の組み合わせであってもよい。これらの異なるシステムでは、モデル化されたオブジェクトが対応するデータによって定義される。したがって、ＣＡＤオブジェクト、ＰＬＭオブジェクト、ＰＤＭオブジェクト、ＣＡＥオブジェクト、ＣＡＭオブジェクト、ＣＡＤデータ、ＰＬＭデータ、ＰＤＭデータ、ＣＡＭデータ、ＣＡＥデータについて言うことができる。しかしながら、モデル化されたオブジェクトはこれらのシステムの任意の組み合わせに対応するデータによって定義され得るので、これらのシステムは他のシステムのうちの１つを排他的にするものではない。したがって、システムは以下に提供されるそのようなシステムの定義から明らかになるように、ＣＡＤシステム及びＰＬＭシステムの両方であってもよい。
【００２６】
ＣＡＤシステムとは、さらに、ＣＡＴＩＡのような、モデル化されたオブジェクトのグラフィック表現に基づいてモデル化されたオブジェクトを少なくとも設計するように適合された任意のシステムを意味する。この場合、モデル化されたオブジェクトを定義するデータは、モデル化されたオブジェクトの表現を可能にするデータを含む。ＣＡＤシステムは例えば、ある場合には、顔又は表面を有するエッジ又は線を使用してＣＡＤモデル化オブジェクトの表現を提供することができる。線、エッジ、又は表面は様々な方法、例えば、不均一有理Ｂスプライン（ＮＵＲＢＳ）で表すことができる。具体的には、ＣＡＤファイルは仕様を含み、そこから幾何学的形状を生成することができ、これにより表現を生成することができる。モデル化されたオブジェクトの仕様は、単一のＣＡＤファイル又は複数のＣＡＤファイルに格納することができる。ＣＡＤシステム内のモデル化されたオブジェクトを表すファイルの典型的なサイズは、パーツ当たり１メガバイトの範囲内である。そして、モデル化されたオブジェクトは、典型的には何千ものパーツのアセンブリであり得る。
【００２７】
ここで、この方法に含まれる「３Ｄモデル化オブジェクト」の概念について説明する。
【００２８】
ＣＡＤの文脈では、モデル化されたオブジェクトが典型的には例えば、部品又は部品のアセンブリ、又は場合によっては製品のアセンブリなどの製品を表す３Ｄモデル化されたオブジェクトとすることができる。「３Ｄモデリングされたオブジェクト」とは、その３Ｄ表現を可能にするデータによってモデリングされる任意のオブジェクトを意味する。３Ｄ表現は、全ての角度から部品を見ることを可能にする。例えば、３Ｄモデル化オブジェクトは３Ｄ表現される場合、その軸のいずれかの周り、又は表現が表示される画面内のいずれかの軸の周りで取り扱われ、回転され得る。これは特に、３Ｄモデル化されていない２Ｄアイコンを除外する。３Ｄ表現の表示は設計を容易にする（すなわち、設計者が統計的に彼らのタスクを達成する速度を増加させる）。これは、製品の設計が製造工程の一部であるため、産業界における製造工程を高速化する。
【００２９】
本方法の文脈では３Ｄモデル化オブジェクトが例えばＣＡＤソフトウェアソリューション又はＣＡＤシステムを用いた仮想設計の完了後に、現実世界で製造される製品の幾何学的形状を表すことができ、例えば、（機械の）部品又は部品のアセンブリ（又は同等に部品のアセンブリが本方法の観点から部品自体として見ることができるので、部品のアセンブリ）、又はより一般的には任意の剛体アセンブリ（例えば、可動機構）などである。ＣＡＤソフトウェアソリューションは、航空宇宙、建築、建築、消費財、ハイテク装置、産業機器、輸送、海洋、及び／又は沖合の石油／ガスの生産又は輸送を含む、さまざまな無制限の産業分野における製品の設計を可能にする。したがって、本方法によって設計された３Ｄモデル化オブジェクトは陸上車両の一部（例えば、自動車及び軽トラック機器、レーシングカー、オートバイ、トラック及びモータ機器、トラック及びバス、トラック及びバスを含む）、航空車両の一部（例えば、機体機器、航空宇宙機器、推進機器、推進機器、航空機機器、宇宙機器を含む）、海軍車両の一部（例えば、海軍機器、商用船、オフショア機器、ヨット及び作業船を含む）、一般機械部品（例えば、工業製造機械、重移動機械又は機器、設置機器、産業機器、加工金属製品、タイヤ製造製品を含む）、電気機械又は電子部品（例えば、家庭用電化製品、セキュリティ及び／又は制御及び／又は計装製品、コンピュータ及び通信機器、半導体、医療デバイス及び機器を含む）、消費財（例えば、家具、家庭用品、レジャー用品、ファッション用品、ハードグッズ小売業者の製品、ソフトグッズ小売業者の製品を含む）、包装（例えば、食品及び飲料及びタバコ、美容及びパーソナルケア、家庭用品包装を含む）など、任意の機械部品であってもよい工業製品を表してもよい。
【００３０】
例では、本方法によって設計された、及び／又は本方法に含まれる任意の３Ｄモデル化オブジェクトは成形部品（すなわち、成形製造工程によって製造された部品）、機械加工部品（すなわち、機械加工製造工程によって製造された部品）、穿孔部品（すなわち、穿孔製造工程によって製造された部品）、旋削部品（すなわち、旋削製造工程によって製造された部品）、鍛造部品（すなわち、鍛造製造工程によって製造された部品）、打ち抜き部品（すなわち、打ち抜き製造工程によって製造された部品）、及び／又は折り曲げ部品（すなわち、折り曲げ製造工程によって製造された部品）のうちの１つ又は妥当な組合せである機械部品を表すことができる。
【００３１】
本方法によって設計され、及び／又は本方法に含まれる任意の３Ｄモデル化オブジェクトは妥当な（例えば、現実的である）３Ｄモデル化オブジェクトであってもよい。妥当な３Ｄモデル化オブジェクトは妥当な（例えば、現実的である）機械部品を表す３Ｄモデル化オブジェクトを指定することができる。もっともらしい機械部品は、現実世界の工業製造プロセスで現実的に製造可能な機械部品を指すことができる。妥当な機械部品とは、現実世界の工業製造プロセスで機械部品を現実的に製造するために尊重されなければならないすべての制約を尊重する機械部品を指すことができる。制約は機械的制約（例えば、古典的機械学の法則から生じる制約）、機能的制約（例えば、一度製造された機械部品によって実行されるべき１つ以上の機械的機能に関する制約）、製造制約（例えば、機械部品を製造するための１つ以上の製造工程中に機械部品に１つ以上の製造ツールを適用する能力に関する制約）、構造的制約（例えば、機械部品の強度及び／又は抵抗に関する制約）、及び／又はアセンブリ制約（例えば、機械部品を１つ以上の他の機械部品とどのように組み立てることができるかを定義する制約）のうちの１つ又は任意の妥当な組み合わせを含むことができる。
【００３２】
「３Ｄモデル化オブジェクトを設計する」は、３Ｄモデル化オブジェクトを作成するプロセスの少なくとも一部である任意のアクション又は一連のアクションを指定する。したがって、この方法は、３Ｄモデル化オブジェクトをスクラッチから作成することを含むことができる。あるいは、本方法が以前に作成された３Ｄモデル化オブジェクトを提供するステップと、次いで、３Ｄモデル化オブジェクトを修正するステップとを含むことができる。
【００３３】
方法は製造プロセスに含まれてもよく、製造プロセスは方法を実行した後に、モデル化されたオブジェクトに対応する物理的製品を生成することを含んでもよい。いずれの場合も、本方法によって設計されたモデル化オブジェクトは、製造オブジェクトを表すことができる。したがって、モデル化されたオブジェクトはモデル化されたソリッド（すなわち、固体を表すモデル化されたオブジェクト）とすることができる。製造対象物は、部品などの製品、又は部品のアセンブリであってもよい。この方法はモデル化された物体の設計を改善するので、この方法はまた、製品の製造を改善し、したがって、製造プロセスの生産性を増加させる。
次に、３Ｄモデル化オブジェクトの提供ステップＳ１０について説明する。
【００３４】
３Ｄモデル化オブジェクトの提供は、ＣＡＤシステムなどのコンピュータのディスプレイ上に３Ｄモデル化オブジェクトを表示することを含むことができる。３Ｄモデル化オブジェクトの提供はユーザのアクション、例えば、ユーザとコンピュータとの間の対話に起因し得る。例では、３Ｄモデル化オブジェクトが別のコンピュータ上の別のユーザによって設計され、任意選択でメモリに格納され、及び／又は（例えば、ネットワークを介して）コンピュータに送信されてもよい。３Ｄモデル化オブジェクトの提供は、メモリから３Ｄモデル化オブジェクトを取り出すことを含むことができる。例では、ユーザと別のユーザとが異なり、コンピュータと別のコンピュータとが異なる。これらの例では、コンピュータと他のコンピュータとがネットワークで接続されていてもよい。例では、ユーザと別のユーザは同じであり、コンピュータと別のコンピュータは同じである。
【００３５】
３Ｄモデル化オブジェクトは、メッシュ又はポイントクラウドとして提供されてもよい（Ｓ１０）。あるいは、提供するステップＳ１０が３Ｄモデル化オブジェクトを任意のフォーマット（例えば、ＣＡＤファイルとして）で提供するステップと、３Ｄモデル化オブジェクトをメッシュ化するステップと、及び／又は（例えば、メッシュ化された）３Ｄモデル化オブジェクトから、３Ｄモデル化オブジェクトを表す点群を決定するステップ（例えば、推論するステップ、例えば、抽出するステップ、例えば、計算するステップ）とを含んでもよい。
【００３６】
次に、機械学習デコーダについて説明する。
【００３７】
機械学習デコーダは、微分可能な関数である。この関数は機械学習される。この関数は、潜在空間内の値をとる。潜在空間はベクトル空間である。関数は３Ｄモデル化されたオブジェクト空間、すなわち、３Ｄモデル化された物体から構成される（例えば、製造された）空間での値を出力する。換言すれば、潜在空間のベクトル（以下、「潜在ベクトル」という）に関数を適用することにより、３Ｄモデル化オブジェクトが出力される。換言すれば、関数による各潜在ベクトルの画像は、３Ｄモデル化オブジェクト空間の３Ｄモデル化オブジェクトである。関数による潜在空間の画像は、３Ｄモデル化オブジェクト空間又は３Ｄモデル化オブジェクト空間の厳密な部分集合とすることができる。デコーダを潜在ベクトルに適用する手段に、潜在ベクトルを復号する。したがって、復号の結果を「復号された潜在ベクトル」と呼ぶことができる。例では、潜在空間が確率的事前を特徴とする。言い換えれば、以下に示す確率的事前表現ｐ（ｚ）は、潜在空間にわたって与えられる。ｚは、潜在空間のベクトルの表記である。これらの例では、事前が潜在ベクトルが潜在空間にわたってどのように分布されるかを表す事前確率分布であってもよい。潜在空間を完全に知ることなく、確率分布を決定する（例えば、計算する、例えば、確立する）ことができるという先験的な手段。例えば、潜在空間にわたる事前は３Ｄモデル化オブジェクト空間にわたる３Ｄモデル化オブジェクトの既存の（例えば、確率）分布から推論（例えば、推定）することができ、その結果、事前は３Ｄモデル化オブジェクト空間にわたる３Ｄモデル化オブジェクトの分布に（例えば、実質的に）対応する潜在空間にわたる潜在ベクトルの分布を表す。
【００３８】
機械学習デコーダは、オートエンコーダのデコーダであってもよい。本方法の文脈では、オートエンコーダが２つのフィードフォワードディープニューラルネットワーク（論文［３］参照）の構成として定義される。
【数３】
2020102215.tif 000005
これは、重み
【数４】
2020102215.tif 000006
によってパラメータ化される。ここで、
【数５】
2020102215.tif 000007
である。
【数６】
2020102215.tif 000008
はエンコーダであり、
【数７】
2020102215.tif 000009
はデコーダである。
【数８】
2020102215.tif 000010
は潜在空間、すなわち、エンコーダ
【数９】
2020102215.tif 000011
がその値を出力し、デコーダ
【数１０】
2020102215.tif 000012
がその値をとるベクトル空間である。ｐは、潜在空間の次元である。
【数１１】
2020102215.tif 000013
は、エンコーダ
【数１２】
2020102215.tif 000014
がその値をとり、デコーダ
【数１３】
2020102215.tif 000015
がその値を出力する空間である。
【数１４】
2020102215.tif 000016
は「元の入力空間」と呼ぶことができる。ｍは、元の入力空間の次元である。本方法によって提供される機械学習デコーダの場合、元の入力空間は、３Ｄモデル化オブジェクト空間であってもよい。あるいは、３Ｄモデル化オブジェクト空間が元の入力空間のサブセットであってもよい。言い換えれば、エンコーダ
【数１５】
2020102215.tif 000017
は元の入力空間においてその値をとるが、デコーダ
【数１６】
2020102215.tif 000018
による潜在空間の画像、すなわち、本方法のコンテキストにおける３Ｄモデル化オブジェクト空間は元の入力空間のサブセットであってもよい。ベクトル
【数１７】
2020102215.tif 000019
は、「潜在ベクトル」又は「隠れベクトル」と呼ばれることがある。オートエンコーダ
【数１８】
2020102215.tif 000020
はまた、「再構成」と呼ばれることもある。再構成は元の入力空間の第１の要素（例えば、３Ｄモデル化オブジェクト空間の第１の３Ｄモデル化オブジェクト）を入力として取り、それを潜在ベクトル空間の潜在ベクトル上にマッピングし、次いで、潜在ベクトルから元の入力空間の第２の要素（例えば、３Ｄモデル化オブジェクト空間の第２の３Ｄモデル化オブジェクト）を出力することによってマッピングを逆にする。第２の要素は、第１の要素の「再構成」と呼ばれることがある。例では、それは、第２の要素が第１の要素の近似を表すことを意味する。例では、ｘが３Ｄモデル化オブジェクトである場合、３Ｄモデル化オブジェクト
【数１９】
2020102215.tif 000021
は再構築された３Ｄモデル化オブジェクトと呼ばれ得る。また、ｘは入力と呼ばれ、
【数２０】
2020102215.tif 000022
は再構成された入力と呼ばれることもある。本方法の文脈では、エンコーダ
【数２１】
2020102215.tif 000023
及びデコーダ
【数２２】
2020102215.tif 000024
が例えば、再構成誤差を最小化することによって、（例えば、別々に、又は同時に）機械加工学習されてもよい。符号器をオブジェクトに適用する手段にオブジェクトを符号化する。したがって、符号化の結果を「符号化オブジェクト」と呼ぶことができる。デコーダを潜在ベクトルに適用する手段に、潜在ベクトルを復号する。したがって、復号の結果を「復号された潜在ベクトル」と呼ぶことができる。
【００３９】
次に、機械学習デコーダの提供ステップＳ１０について説明する。
【００４０】
機械学習デコーダの提供ステップＳ１０は、データベースから機械学習デコーダを取り出すことを含むことができる。言い換えれば、機械学習デコーダは、以前に学習され、後の使用のためにデータベースに記憶されていてもよい。例では、機械学習デコーダの提供ステップＳ１０がデータベース内のデコーダにアクセスするユーザによって実行されてもよい。さらに、又は代替として、提供するステップＳ１０はデコーダを最初から学習し、それを本方法による使用に利用可能にするステップを含むことができる。
【００４１】
次に、３Ｄモデル化オブジェクト空間について説明する。
【００４２】
３Ｄモデル化オブジェクト空間は一般に、３Ｄモデル化オブジェクトからなる空間を指す。３Ｄモデル化オブジェクト空間は、ベクトル空間に含まれてもよい。例では、３Ｄモデル化オブジェクト空間がベクトル空間の多様体、例えば接続された多様体である。例では、３Ｄモデル化オブジェクト空間が同じクラスの３Ｄモデル化オブジェクトの３Ｄモデル化オブジェクトから作られる。３Ｄモデル化オブジェクトのクラスは、ベクトル空間の接続された多様体に対応することができる。加えて、又は代替として、３Ｄモデル化オブジェクトのクラスは以下の特性を有する３Ｄモデル化オブジェクトのセットを指定することができる。すなわち、セットの任意の第１の３Ｄモデル化オブジェクトがセットの少なくとも第２の３Ｄモデル化オブジェクトに類似する（例えば、類似する形状を有する）。
【００４３】
例では、３Ｄモデル化オブジェクトのクラスがそれぞれの機械部品を表す３Ｄモデル化オブジェクトから作られ、機械部品は以下の条件のいずれか１つ又は任意の組合せをすべて尊重するクラスに関連する（すなわち、対応する）：
・クラスに対する機械部品は、全て、同じ製造工程又は製造工程の同じ組み合わせで製造される；
・クラスに対する機械部品はすべて妥当な機械部品である；
・クラスに対する機械部品は、全て、技術及び／又は産業の同じ分野からのものである；
・クラスに対する機械部品はすべて、同じ機械的機能を実行する；
クラスに対する機械部品はそれぞれ、クラスの少なくとも１つの他の３Ｄモデル化オブジェクトと同様の形状を有する３Ｄモデル化オブジェクトによって表され（したがって、クラスに対する別の機械部品を表す）；及び／又は
・クラスに対する機械部品はすべて、同じ機械的制約、機能的制約、製造制約、構造的制約、及び／又はアセンブリ制約に従う（例えば、これらを満たす、例えば、検証する）。
【００４４】
例では、提供される３Ｄモデル化オブジェクト及び（例えば、実質的に）３Ｄモデル化オブジェクト空間の３Ｄモデル化オブジェクトのすべては同じクラスの３Ｄモデル化オブジェクトの３Ｄモデル化オブジェクトである。これらの例では、デコーダが前記同じクラスの３Ｄモデル化オブジェクトのデータセットに基づいて機械学習されていてもよい。例えば、デコーダは、任意の潜在ベクトルを前記同じクラスの３Ｄモデル化オブジェクト上にマッピングするために機械学習されていてもよい。例ではデコーダがエンコーダをさらに備えるオートエンコーダのデコーダであってもよく、デコーダ及びエンコーダは両方とも、前記同じクラスの３Ｄモデル化オブジェクトのデータセットに基づいて機械学習される。これらの例では、エンコーダが前記同じクラスの任意の３Ｄオブジェクトを潜在空間の潜在ベクトル上にマッピングするために機械学習されていてもよい。これらの例では、デコーダが任意の潜在ベクトルを前記同じクラスの３Ｄモデル化オブジェクト上にマッピングするために機械学習されていてもよい。例では、３Ｄモデル化オブジェクト空間のすべてのモデル化オブジェクトがもっともらしい３Ｄモデル化オブジェクトである。
【００４５】
図２は、本方法の３Ｄモデル化オブジェクトのセット２０の一例を形成する３Ｄモデル化オブジェクトのクラスを示す。３Ｄモデル化オブジェクトは椅子である。椅子は（例えば、人間の）体重を支持する同じ機械的機能を全て実行するので、３Ｄモデル化オブジェクトのクラスを形成する。この機械的機能を実行することはまた、椅子がすべて同じ機械的拘束、機能的拘束及び構造的拘束に従うことを意味する。図２の椅子は機械的制約、機能的制約、製造上の制約、及び構造上の制約を尊重し、それによって、１つ又は複数の製造プロセスによる現実世界でのそれらの製造を可能にするので、妥当な機械的部品である。
【００４６】
図３は、本方法の３Ｄモデル化オブジェクトのセット３０の一例を形成する３Ｄモデル化オブジェクトのクラスを示す。３Ｄモデル化オブジェクトは、４つの脚を有する椅子である。４つの脚を有する椅子はそれらが全て、（例えば、人間の）体重を支持する同じ機械的機能を実行し、また、４つの脚を有するこの機械的機能を実行することは、椅子が全て同じ機械的制約、機能的制約、及び構造的制約に従うことも意味するので、一群の３Ｄモデル化オブジェクトを形成する。図３の椅子は機械的制約、機能的制約、製造上の制約、及び構造上の制約を尊重し、それによって、１つ又は複数の製造プロセスによる現実世界でのそれらの製造を可能にするので、妥当な機械的部品である。
【００４７】
３Ｄモデル化オブジェクト空間は、メッシュ及び／又はポイントクラウドのような３Ｄモデル化オブジェクトの離散表現で作られた空間であってもよい。言い換えると、３Ｄモデル化オブジェクト空間は、空間の３Ｄモデル化オブジェクトの対応する離散表現（メッシュ及び／又は点群など）から作られる。そのような場合、３Ｄモデル化オブジェクト空間の要素は単純化のために、それらの対応する離散表現ではなく、３Ｄモデル化オブジェクト自体と依然として呼ばれることがある。
【００４８】
例では、この方法が３Ｄモデル化オブジェクトを潜在空間上に射影するステップＳ２０を含む。これらの例では、機械学習デコーダが機械学習エンコーダも含む機械学習オートエンコーダのデコーダであってもよい。３Ｄモデル化オブジェクトを射影するステップＳ２０は、エンコーダを３Ｄモデル化オブジェクトに適用するステップと、エンコーダを３Ｄモデル化オブジェクトに適用して潜在ベクトルをもたらすステップとを含むことができる。潜在ベクトルは、潜在空間上の３Ｄモデル化オブジェクトの射影と呼ぶことができる。あるいは、３Ｄモデル化オブジェクトの提供ステップＳ１０が３Ｄモデル化オブジェクトに加えて、エンコーダを３Ｄモデル化オブジェクトに適用した結果である潜在ベクトルを提供することを含むことができる。いずれにせよ、射影ステップＳ２０は本明細書で後述するように、３Ｄモデル化オブジェクトの潜在空間への射影である潜在ベクトルが、本方法でのさらなる使用のために利用可能になるという結果をもたらすことができる。
【００４９】
ここで、３Ｄモデル化オブジェクトの部分について説明する。
【００５０】
例では本方法によって設計された、又は本方法に関与する任意の３Ｄモデル化オブジェクトは複数の部分に分割され得る。機械部品を表す３Ｄモデル化オブジェクトの場合、３Ｄモデル化オブジェクトの一部は機械部品の材料のレイアウトを指定することができ、材料のレイアウトは、機械機能を実行する。言い換えれば、機械部品を表す３Ｄモデル化オブジェクトは各々が機械部品の材料のそれぞれのレイアウトを表す部分に分割されてもよく、材料のそれぞれのレイアウトはそれぞれの機械機能を実行する。本発明の文脈では、機械部品の材料のレイアウトによって実行される関数が支持関数、強化関数、抵抗関数、他の材料のレイアウト間の接続関数、質量低減関数、空間予約関数、固定関数、締め付け関数、調整関数、位置決め関数、機械的接合関数、冷却関数、空間予約関数、回転又は円筒機械的接合関数、アセンブリ関数、補強関数、位置決めピン関数、回転又は円筒機械的接合関数、及び／又はすべての機械加工及び穿孔された突起関数のための台のうちの１つ又は妥当な組み合わせとすることができる。
【００５１】
例えば、図２又は図３に示す椅子のいずれか１つの脚のような椅子の脚は、支持機能を果たす椅子の材料のレイアウトである。換言すれば、椅子の脚部は椅子を形成するさらなる材料の質量、ならびに椅子に座っている人間の質量を支持する機能を実行することに関与する（例えば、他の脚部と同様に）。
【００５２】
別の例は図２又は図３に表される椅子のいずれか１つの椅子の背もたれのような（例えば、屈曲した）椅子の背もたれである。椅子背もたれは、支持機能を果たす椅子の材料のレイアウトである。換言すれば、椅子の背もたれは、椅子に座っている人間の背中を支持する機能を果たすことに関与する。
【００５３】
別の例は、図２又は図３に示す椅子のいずれか１つの椅子座席のような椅子座席である。椅子座席は、支持機能を果たす椅子の材料のレイアウトである。換言すれば、椅子座席は、椅子を形成するさらなる材料の質量、ならびに椅子に座っている人間の質量を支持する機能を果たすことに関与する。椅子座席はまた、他の背もたれ及び／又は他の脚のような他の部分を接続するので、接続機能を果たす。
【００５４】
次に、３Ｄモデル化オブジェクトの他の例について説明する。
【００５５】
本方法に含まれる任意の３Ｄモデル化オブジェクトは、自動車を表してもよい。そのような場合、３Ｄモデル化オブジェクトの部分は、（支持機能ならびに転がり及び／又は旋回の機能を実行する）自動車のホイール、又は（接続機能及び／又は抵抗機能及び／又は強化機能を実行する）自動車本体の一部（ドア、フード、又はトランクの蓋などの）を表すことができる。自動車は、３Ｄモデル化オブジェクトのクラスを形成することができる。代替的に又は追加的に、本方法に含まれる任意の３Ｄモデル化オブジェクトは、平面を表してもよい。そのような場合、３Ｄモデル化オブジェクトの部分は、平面の翼（流体を通って移動する間に揚力を生成する機能を実行する）、又は平面のエンジン（平面を移動させるための力を生成する機能を実行する）、又は平面の胴体（接続機能及び／又は抵抗機能及び／又は強化機能を実行する）を表すことができる。平面は、３Ｄモデル化オブジェクトのクラスを形成することができる。
【００５６】
次に、３Ｄモデル化オブジェクトの一部に対する変形制約の定義ステップＳ３０について説明する。
【００５７】
変形制約はユーザによって定義され（Ｓ３０）、すなわち、ユーザアクションから生じ得る。変形制約は３Ｄモデル化オブジェクトの部分の幾何学的形状の別の幾何学的形状（以下では「新しい幾何学的形状」と呼ぶことがある）への変形（例えば、変位）を決定する（例えば、幾何学的）仕様のセットを指定することができる。言い換えれば、変形はユーザによって直接定義されなくてもよいが、ユーザ動作はむしろ、変形を強制する仕様をもたらす。例では、ユーザが例えば、鍵盤及び／又は触覚デバイス及び／又は触覚デバイスを使用することによって、仕様の組を提供する（例えば、宣言する、例えば、指定する）ことが手段である。代替的に、仕様のセットは３Ｄモデル化オブジェクト（例えば、その一部）に対するユーザアクションから（例えば、自動的に）取り出されてもよい。代替的に、仕様のセットは３Ｄモデル化オブジェクトを含む画面上でユーザの図面から（例えば、自動的に）取り出されてもよい。したがって、変形制約によって定義される変形は、部品の幾何学的形状を新しい幾何学的形状に変形することによって、３Ｄモデル化オブジェクトを変形された３Ｄモデル化オブジェクトに変形することができる。
【００５８】
例では、変形制約の定義Ｓ３０がユーザと３Ｄモデル化オブジェクトの一部とのグラフィカル対話から生じる。グラフィカル対話は、例えばマウスなどの触覚デバイスを用いて３Ｄモデル化オブジェクトをクリックすること、又は指などの付属物を用いて３Ｄモデル化オブジェクトにタッチすることを含むことができる。グラフィカルインタラクションは、例えばドラッグアンドドロップ操作を実行することによって、クリックされた又はタッチされた３Ｄモデル化オブジェクトを移動させることをさらに含むことができる。例えば、ユーザは当技術分野で知られているように、例えば、マウスなどの触覚デバイスを用いて１つ又は複数の点をクリックすることによって、３Ｄモデル化オブジェクトの部分上の１つ又は複数の点を選択し、ドラッグ・アンド・ドロップ操作によってそれらを移動させる（例えば、それらを１つずつ、又はワンショット・ドラッグ・アンド・ドロップ操作によって移動させる）。移動された１つ以上の点のそれぞれの１つ以上の位置は３Ｄモデル化オブジェクトの部分の新しい幾何学的形状を決定する（例えば、形成する、例えば、結果として生じる）。言い換えると、３Ｄモデル化オブジェクトは提供ステップＳ１０において所与の幾何学的形状を有し、ユーザは、点を移動させることによって新しい幾何学的形状を定義する。したがって、所与の幾何学的形状の新しい幾何学的形状への変形は、ユーザによって動かされる１つ又は複数の点のそれぞれの１つ又は複数の位置によって制約される。換言すれば、１つ以上の点を動かすことは部品の新しい幾何学的形状を定義し、部品の新しい幾何学的形状は変形制約を定義する。
【００５９】
代替的に、ユーザは提供ステップＳ１０において所与の幾何学的形状を有する３Ｄモデル化オブジェクトの部分の新しい幾何学的形状を表す２Ｄ描画（例えば、ディスプレイ上に）を描画することによって（例えば、触覚デバイスを使用することによって）変形制約を定義することができる。したがって、所与の幾何学的形状の新しい幾何学的形状への変形は、ユーザの描画によって制約される。言い換えれば、ユーザの描画は部品の新しい幾何学的形状を定義し、部品の新しい幾何学的形状は、変形制約を定義する。
【００６０】
次に、最適潜在ベクトルの決定ステップＳ４０について説明する。
【００６１】
最適な潜在ベクトルは、エネルギーを最小化する。したがって、潜在ベクトルの決定ステップＳ４０はエネルギーを最小化することにあり、最適な潜在ベクトルは、最小化の結果である。エネルギーは潜在ベクトルを探索する。例ではエネルギーが潜在ベクトルを表す少なくとも１つの変数の機能であるというこの手段、すなわち、少なくとも１つの変数は潜在空間又は潜在空間の部分空間に属する。エネルギーを最小化することは、反復的に、すなわち、エネルギーを最小化する潜在ベクトル（すなわち、最適な潜在ベクトル）が見つかるまで（例えば、その近似）、潜在空間の少なくとも部分空間の潜在ベクトルを反復的に訪れることによって実行されてもよい。エネルギーの最小化は、変形制約を定義するステップＳ３０で自動的に実行されてもよい。エネルギーの最小化は、反復再重み付け最小二乗アルゴリズムなどの任意の最小化アルゴリズムを実行することによって実行することができる。
【００６２】
エネルギーは探索された潜在ベクトルにデコーダを適用した結果によって、探索された潜在ベクトルごとに、変形制約の非尊重を不利にする項を含む。エネルギーが潜在ベクトルを表す少なくとも１つの変数の関数である例では、項が少なくとも１つの変数に依存することができ、デコーダを少なくとも１つの変数に適用した結果によって、変形制約の非関連性の尺度（例えば、定量化）を提供することができる。これらの例では、ペナルティを課すことはその項が尺度の大きさの増加関数であることを意味し得る。
【００６３】
したがって、この方法は潜在ベクトルを探索し、復号された潜在ベクトル（すなわち、探索された潜在ベクトルにデコーダを適用した結果）が変形制約を尊重するか、又は尊重しないことを検証することによって、最適な潜在ベクトルを決定する。非尊重はデコーダの最適な潜在ベクトルが変形制約を尊重する（例えば、尊重する）傾向があるようにペナルティを課される。復号化された潜在ベクトルは、もっともらしい３Ｄモデル化オブジェクトであってもよく、この場合、本方法はもっともらしく、変形制約を考慮する（例えば、それに関して）傾向がある３Ｄモデル化オブジェクトを出力する。全ての復号された探索潜在ベクトルは、もっともらしい３Ｄモデル化オブジェクトであってもよい。言い換えれば、本方法は複数の妥当な３Ｄモデル化オブジェクトの中で変形制約を尊重する（例えば、最良を尊重する）傾向がある妥当な３Ｄモデル化オブジェクトを決定することができる。さらに、３Ｄモデル化オブジェクト空間は、３Ｄモデル化オブジェクトのクラスであってもよく、その結果、この場合、この方法はクラスの複数のもっともらしい３Ｄモデル化オブジェクトの中で、変形制約を尊重する（例えば、最良を尊重する）傾向があるクラスのもっともらしい３Ｄモデル化オブジェクトを決定してもよい。さらに、この方法はこれらの例ではこの方法が効率的で人間工学的であるように、自動的にそうすることができる。
例では、変形制約が幾何学的形状を定義する。これらの例では、この項が探索された潜在ベクトルにデコーダを適用した結果と幾何学的形状との間の不一致にペナルティを課す。
【００６４】
変形制約によって定義される変形は、３Ｄモデル化オブジェクトの部分の形状を、３Ｄモデル化オブジェクトの部分の新しい幾何学的形状に変形させることができる。その結果、変形は、部品の幾何学的形状を変形させることによって、３Ｄモデル化オブジェクト全体を新しい３Ｄモデル化オブジェクト（変形入力とも呼ばれる）に変形させることもできる。言い換えれば、新しい３Ｄモデル化オブジェクトは、部品の幾何学的形状が変形されるという点で、提供される３Ｄモデル化オブジェクトとは異なってもよい。したがって、変形制約によって定義される幾何学的形状は、新しい３Ｄモデル化オブジェクトを指定することができる。デコーダがオートエンコーダのデコーダである例では、新たな３Ｄモデル化オブジェクトが再構成された３Ｄモデル化オブジェクトから計算されてもよい。すなわち、オートエンコーダは３Ｄモデル化オブジェクトに適用され、それによって、再構成された３Ｄモデル化オブジェクトを出力し、新しい３Ｄモデル化オブジェクトは、再構成された３Ｄモデル化オブジェクトに変形制約によって定義された変形を適用することによって計算される。あるいは、変形制約によって定義される幾何学的形状が３Ｄモデル化オブジェクトの部分の新しい幾何学的形状を指定することができる。
【００６５】
探索された潜在ベクトルにデコーダを適用した結果と幾何学的形状との間の不一致は探索された潜在ベクトルにデコーダを適用した結果と、変形制約によって定義された幾何学的形状との間の差又は誤差に対する（例えば、その関数である）量であってもよい。言い換えれば、幾何学的形状は変形制約によって定義され、不一致は探索された潜在ベクトルにデコーダを適用した結果による変形制約の非関連性の尺度（例えば、定量化）を提供する量であってもよい。これらの例では、ペナルティを課すことは量が尺度の大きさの増加関数であることを意味し得る。
【００６６】
本方法に含まれる３Ｄモデル化オブジェクトもっともらしい３Ｄモデル化オブジェクトである例では、本方法が不一致が許容可能である（例えば、ペナルティが少ない）３Ｄモデル化オブジェクト（復号された最適な潜在ベクトル）が決定されるまで、もっともらしい３Ｄモデル化オブジェクト（すなわち、復号され探索された潜在ベクトル）と、訪問されたもっともらしい３Ｄモデル化オブジェクトと変形制約によって定義される幾何学的形状との間のペナルティ付き不一致とを訪問する。言い換えれば、本方法は変形制約によって定義される幾何学的形状に（例えば、最良に）適合する幾何学的形状の、もっともらしい３Ｄモデル化オブジェクトを決定する。
【００６７】
例では、不一致が探索された潜在ベクトルにデコーダを適用した結果の導関数と幾何学的形状との間の距離を含む。
【００６８】
探索された潜在ベクトルにデコーダを適用した結果の導関数は例えば、１つ以上の数式を適用することによって、探索された潜在ベクトルにデコーダを適用した結果から得られる数量であってもよい。言い換えれば、探索された潜在ベクトルにデコーダを適用した結果の導関数は、探索された潜在ベクトルにデコーダを適用した結果の関数であってもよい。不一致は、探索された潜在ベクトルにデコーダを適用した結果の導関数と幾何学的形状との間の距離を含む。例では、不一致が距離に依存することが手段である。
【００６９】
探索された潜在ベクトルにデコーダを適用した結果の導関数と幾何学的形状との間の距離を使用することは、変形制約の非尊重を評価する（例えば、定量化する）ための単純かつ効率的な方法である。したがって、本方法は、これらの実施例において効率的である。
例では、不一致が距離の単調関数である。
【００７０】
したがって、この方法はこれらの例では変形制約を考慮せずに効率的に評価し、変形制約が考慮されないほど、距離が大きくなり、不一致が大きくなる。逆に、変形制約が少ないほど、距離は小さくなり、不一致は小さくなる。したがって、この方法は効率的である。
【００７１】
例では幾何学的形状が３Ｄ空間において定義され、導関数は探索された潜在ベクトルにデコーダを適用した結果である。したがって、これらの例では、幾何学的形状が３Ｄモデル化オブジェクトの新しい幾何学的形状、すなわち、３Ｄモデル化オブジェクトの一部が変形制約に対応する変形を受けた後の３Ｄモデル化オブジェクトの幾何学的形状を表すことができる。
【００７２】
あるいは幾何学的形状が２Ｄ平面において定義されてもよく、導関数は探索された潜在ベクトルにデコーダを適用した結果の射影であってもよい。したがって、例では、幾何学的形状が３Ｄモデル化オブジェクトの部分の新しい幾何学的形状を表す、ユーザの２Ｄ図形とすることができる。
【００７３】
例では、３Ｄモデル化オブジェクトは３Ｄメッシュである。これらの例では、３Ｄモデル化オブジェクト空間が３Ｄメッシュからなる空間である。したがって、機械学習デコーダは潜在空間内の値をとり、３Ｄメッシュを出力する。
【００７４】
これらの例では、幾何学的形状が３Ｄ空間で定義され、導関数が探索された潜在ベクトルにデコーダを適用した結果である場合、項は次のタイプのものとすることができる：
【数２３】
2020102215.tif 000025
【００７５】
式（１）において、ｚは探索された潜在ベクトルを、ｇは提供されたデコーダを、そしてｇ（ｚ）は探索された潜在ベクトルにデコーダを適用した結果を示す。
【数２４】
2020102215.tif 000026
は、３Ｄモデル化オブジェクトの部分を表すｇ（ｚ）のｋ個の頂点のインデックスである。換言すれば、３Ｄモデル化オブジェクトは３Ｄメッシュであり、３Ｄモデル化オブジェクトの一部は３Ｄメッシュのサブメッシュであり、ｇ（ｚ）は（３Ｄモデル化オブジェクト空間は３Ｄメッシュ空間であるため）３Ｄメッシュでもあり、
【数２５】
2020102215.tif 000027
は３Ｄメッシュのサブメッシュを表すｇ（ｚ）のｋ個の頂点のインデックスである。表現は、インデックス
【数２６】
2020102215.tif 000028
を有するサブメッシュが３Ｄモデル化オブジェクトの部分に最も良い近似を与える（例えば、最も近い）ｇ（ｚ）のサブメッシュであるように近似することを意味し得る。Ｍは３Ｄモデル化オブジェクトのサンプリングサイズ、例えば、３Ｄメッシュの点の数である。ρは非負の非増加関数である。例えば、ρはコンパクトにサポートされている。ｙは幾何学的形状である。式（１）は、Ｌ2ノルム型の二乗のノルム、すなわち
【数２７】
2020102215.tif 000029
型の項を特徴とする。このようなノルムは、明確にするために式（１）に記載された例であることを理解されたい。しかし、ノルムは、任意の他のノルム又は距離によって置き換えることができる。
【００７６】
あるいは、幾何学的形状が２Ｄ平面内で定義され、導関数が探索された潜在ベクトルにデコーダを適用した結果の射影である場合、項は次の種類であってもよい：
【数２８】
2020102215.tif 000030
式（２）において、ｚは探索された潜在ベクトルであり、Ｍは３Ｄモデル化オブジェクトのサンプリングサイズであり、Ｓは幾何学的形状のピクセル座標のセットであり、ｇ（ｚ）は探索された潜在ベクトルにデコーダを適用した結果であり、Ｐは射影である。例では、ユーザが３Ｄモデル化オブジェクトに描画することによって、変形制約をスケッチした。したがって、これらの例では、幾何学的形状がユーザのスケッチによって定義されるピクセルのセットである。Ｐは、ピクセル座標で定義されたオブジェクトの２Ｄ空間にわたる３Ｄモデル化オブジェクト空間からの射影であってもよい。もう一度、式（２）のＬ2ノルム型のノルムは例示であり、明確にするために式に入れられることを理解されたい。しかし、ノルムは、任意の他のノルム又は距離によって置き換えることができる。
【００７７】
次に、最適な潜在ベクトルへのデコーダの適用ステップＳ５０について説明する。
【００７８】
デコーダを最適な潜在ベクトルに適用すること（Ｓ５０）は、３Ｄモデル化オブジェクトを出力することである。３Ｄモデル化オブジェクトは、最適な潜在ベクトルから推論される。言い換えれば、本方法は変形制約を考慮する（例えば、最良を考慮する）傾向がある３Ｄモデル化オブジェクトでエネルギーの最小値に対応する３Ｄモデル化オブジェクトを出力する。本方法に含まれる３Ｄモデル化オブジェクトが妥当な３Ｄモデル化オブジェクトである例では、本方法がしたがって、（例えば、クラスの）いくつかの妥当な３Ｄモデル化オブジェクトの間の変形制約を尊重する（例えば、例えば、最良の点に関して）傾向がある（例えば、クラスの）妥当な３Ｄモデル化オブジェクトを出力する。
【００７９】
例では、この方法がデコーダを潜在空間上への３Ｄモデル化オブジェクトの射影に適用した結果から、デコーダを最適化された潜在ベクトルに適用した結果に変形演算を計算するステップＳ６０をさらに含む。これらの例では、本方法が変形操作を３Ｄモデル化オブジェクトに適用するステップＳ７０をさらに含む。
【００８０】
変形動作を計算するステップＳ６０では、デコーダを潜在空間上への３Ｄモデル化オブジェクトの射影に適用した結果から、変形動作を見つける手段にデコーダを最適化された潜在ベクトルに適用した結果に、変形動作を計算する。変形動作は、潜在空間上への３Ｄモデル化オブジェクトの射影にデコーダを適用した結果を、最適化された潜在ベクトルにデコーダを適用した結果に変換する（Ｓ５０）。機械学習デコーダも含むオートエンコーダの符号器を３Ｄモデル化オブジェクトに適用する手段に、３Ｄモデル化オブジェクトを潜在空間上に射影する例では、本方法がしたがって、再構成された３Ｄモデル化オブジェクトを、エネルギの最小限に対応する３Ｄモデル化オブジェクト、すなわち、変形制約を尊重する（例えば、最良を尊重する）傾向がある３Ｄモデル化オブジェクトに変換する変形を計算する（Ｓ６０ａ）。Ｓ７０を適用すると、３Ｄモデル化オブジェクトに変形操作が適用され、３Ｄモデル化オブジェクトが変形制約を考慮する（例えば、最適に考慮する）傾向がある別の３Ｄモデル化オブジェクトに変形される。そのような変形は３Ｄモデル化オブジェクトの詳細（例えば、位相的）を保存することができる。
【００８１】
本方法に含まれる３Ｄモデル化オブジェクトが妥当な３Ｄモデル化オブジェクトである例では、本方法がしたがって、３Ｄモデル化オブジェクトを、もっともらしく、変形制約を尊重する（例えば、最良の点に関して）傾向がある別の３Ｄモデル化オブジェクトに変換する変換を計算することができる。言い換えれば、変形制約を提供すると、本方法は３Ｄモデル化オブジェクトを、妥当であり、いくつかの他の妥当なオブジェクト（例えば、クラスの）の中で変形制約を尊重する（例えば、例えば、最良の点に関して）傾向がある３Ｄモデル化オブジェクト（例えば、クラスの）に自動的に変形することができる。また、３Ｄモデル化オブジェクトを変形することにより、復号された最適な潜在ベクトルが特徴としない３Ｄモデル化オブジェクトの詳細（例えば、トポロジー）を保存することが可能になる。言い換えれば、復号化された潜在ベクトルを単独で出力することは変形制約を尊重する（例えば、それに関して）傾向がある妥当な３Ｄモデル化オブジェクトを提供することができるが、さらに、復号化された潜在ベクトルへの３Ｄモデル化オブジェクトの変形を出力することは提供された３Ｄモデル化オブジェクトのトポロジー的詳細と同様に、変形制約を尊重する（例えば、それに関して）傾向がある妥当な３Ｄオブジェクトを出力することを可能にする。したがって、この方法は、効率的で、正確で、人間工学的である。
【００８２】
ここで、Ｓ４０の決定例について説明する。
【００８３】
例では、機械学習デコーダがエンコーダも備える（例えば、機械学習された）オートエンコーダのデコーダであってもよい。これらの例では、最適な潜在ベクトルの決定ステップＳ４０が探索された潜在ベクトルにデコーダを適用した結果と３Ｄモデル化オブジェクトとの間の類似性に報酬を与えることができる。
【００８４】
報酬は一般に、エネルギーの最小化が潜在空間上への３Ｄモデル化オブジェクトの射影に近い結果（すなわち、最適な潜在ベクトル）になる傾向があると考えられることを意味し得る。類似性に報酬を与えることは、３Ｄモデル化オブジェクトの潜在空間への射影に（例えば、比較的）近い潜在ベクトルを探索することを含むことができる。例えば、潜在ベクトルの探索は反復的に実行されてもよく（すなわち、潜在ベクトルは、最適な潜在ベクトルが見つかるまで１つずつ探索される）、潜在空間上への３Ｄモデル化オブジェクトの射影である第１の潜在ベクトルから開始してもよい。代替的に又は追加的に、類似性に報酬を与えることは、探索された潜在ベクトルにデコーダを適用した結果と３Ｄモデル化オブジェクトとの間の誤差の増加関数である量を含むエネルギーを考慮することによって実行されてもよい。
類似性に報酬を与えることは、提供された３Ｄモデル化オブジェクトに類似する３Ｄモデル化オブジェクト（すなわち、復号された潜在ベクトル）に報酬を与えることを可能にする。したがって、復号された最適な潜在ベクトルは、変形制約に適合する３Ｄモデル化オブジェクトであるだけでなく、提供された３Ｄモデル化オブジェクトに類似する３Ｄモデル化オブジェクトでもある。例では、本方法がしたがって、（例えばクラスの）他のもっともらしい３Ｄモデル化オブジェクトの中で、ユーザによって定義された変形制約及び提供された３Ｄモデル化オブジェクトの形状に（例えば最良に）適合する（例えばクラスの）もっともらしい３Ｄモデル化オブジェクトを決定することを可能にする。したがって、この方法は効率的かつ正確である。
これらの例では、最適な潜在ベクトルの決定ステップＳ４０がエンコーダを３Ｄモデル化オブジェクトに適用した結果である第１の探索された潜在ベクトルから開始して、反復的に実行される。この最初に探索された潜在ベクトルを開始することは、潜在ベクトルの探索が符号化された３Ｄモデル化オブジェクトの近くで実行されるので、符号化された３Ｄモデル化オブジェクトに比較的近い最適な潜在ベクトルでエネルギーを最小化するための特に効率的な方法である。
【００８５】
さらに、又は代替として、エネルギーは、探索された潜在ベクトルと、エンコーダを３Ｄモデル化オブジェクトに適用した結果との間の類似性に報酬を与える別の項を含むことができる。探索された潜在ベクトルと、エンコーダを３Ｄモデル化オブジェクトに適用した結果との間の類似性を補償することにより、符号化された３Ｄモデル化オブジェクトから遠すぎる潜在ベクトルを探索することを回避することができる。
【００８６】
例では、他の項が探索された潜在ベクトルと、エンコーダを３Ｄモデル化オブジェクトに適用した結果との間の距離を含む。距離は潜在ベクトルと符号化された３Ｄモデル化オブジェクトとの間の近さを評価し、報酬を与える効率的な方法である。
【００８７】
探索された潜在ベクトルと、エンコーダを３Ｄモデル化オブジェクトに適用した結果との間の類似性を報酬することは、他の項が探索された潜在ベクトルと、エンコーダを３Ｄモデル化オブジェクトに適用した結果との間の距離の増加関数であることを意味し得る。
【００８８】
例では、エネルギーが潜在空間上の探索された潜在ベクトルの尤度に報酬を与える別の項を含む。潜在ベクトルを表す変数である確率事前ｐ（ｚ）が潜在空間にわたって与えられる例（ここでｚは潜在空間を表す変数である）では、その項はｐ（ｚ）の大きさを評価することができる。この項は、例えばｐ（ｚ）の減少関数であってもよい。したがって、ｐ（ｚ）が１に近いとき、すなわち、潜在ベクトルが大きな尤度を有するとき、項は小さい。したがって、最適な潜在ベクトルの尤度、したがって復号された最適な潜在ベクトルの尤度が最大化される。
【００８９】
次に、この方法の２つの例について説明する。第１の例では幾何学的形状が３Ｄ空間において定義され、導関数は探索された潜在ベクトルにデコーダを適用した結果である。第２の例では幾何学的形状が２Ｄ平面内で定義され、導関数は探索された潜在ベクトルにデコーダを適用した結果の射影である。図４〜９は第１の例を示す。図１０〜１３は第２の例を示す。
【００９０】
両方の例において、ユーザは、提供された３Ｄモデル化オブジェクトの離散化である３Ｄメッシュｘである３Ｄモデル化オブジェクトを提供する（Ｓ１０）。言い換えると、提供される３Ｄモデル化オブジェクトは、３Ｄメッシュである。また、Ｓ１０において、機械学習オートエンコーダ
【数２９】
2020102215.tif 000031
が提供され（Ｓ１０）（ここで、ｇは機械学習デコーダであり、ｆは機械学習エンコーダである）。ｇ（ｆ（ｘ））は提供された３Ｄモデル化オブジェクトを表す再構成メッシュであり、Ｍはそのポイント数（すなわち、そのサンプリングサイズ）の表記である。例では、確率的事前決定ｐ（ｚ）が潜在空間にわたって与えられる。これが当てはまらない例では、ｐ（ｚ）が、単に、ｐ（ｚ）が現れるすべての式において
【数３０】
2020102215.tif 000032
に置換されてもよく、一様な事前に対応する。例では、この方法が
【数３１】
2020102215.tif 000033
を計算することよって潜在空間上にｘを射影するステップＳ２０を含む。
【００９１】
第１の例では、メッシュｘが、適切な場所を見つけるために３Ｄ関心点を使用した特徴的な場所において制御点
【数３２】
2020102215.tif 000034
を含む。ユーザは、３Ｄメッシュの一部を変形するため、これらの制御点
【数３３】
2020102215.tif 000035
の一つ又はいくつかを引くことによって（例えば、ドラッグアンドドロップ操作を通して）変形制約を定義する（Ｓ３０）。ここで
【数３４】
2020102215.tif 000036
を、変形制約を定義した後の制御点の座標とする。変形制約に対する変形（すなわち、変形制約を適用することから生じる変形）は、半径基底関数（ＲＢＦ）補間を用いて計算することができる。この方法は、適切に選択された関数
【数３５】
2020102215.tif 000037
によってＲＢＦを考慮することができる。この方法は、ｒ、ｓ、及びｔについて以下の３つの線形システム
【数３６】
2020102215.tif 000038
を解くことによって、変形場
【数３７】
2020102215.tif 000039
に適合させることができる。
【００９２】
図４は、メッシュｘの一例を示す図である。このメッシュは、図３の椅子の１つのような４本の脚を有するもっともらしい椅子４０を表す。椅子は噛み合わされ、メッシュは制御点
【数３８】
2020102215.tif 000040
を含む。図５に示すように、使用者は、椅子４０（椅子の一部である）の脚を変形させるために点
【数３９】
2020102215.tif 000041
を引っ張る。図５は、変形後の制御点
【数４０】
2020102215.tif 000042
を示す。
【００９３】
この第１の例では、
【数４１】
2020102215.tif 000043
は再構成された３Ｄメッシュｇ（ｚ）から
【数４２】
2020102215.tif 000044
への最も近い頂点のインデックスである。この例では、
【数４３】
2020102215.tif 000045
は、変形フィールドδの下で変形された再構成された３Ｄメッシュである。言い換えれば、ｙは変形制約によって定義される新しい幾何学的形状である。図６は３Ｄメッシュ椅子４０の再構成６０を示し、図７は、変形された再構成３Ｄメッシュ７０を示す。
【００９４】
最適な潜在ベクトルは、次式のエネルギーを最小化することによって決定される（Ｓ４０）。
【数４４】
2020102215.tif 000046
ここでは、ρは例えばコンパクトな台を用いた、非負の非増加関数である。ρは、ユーザが制御点を引っ張ったところでのみ、再構成をユーザ変形に適合させるために使用され、それによって変形制約ｇ（ｚ）の非尊重にペナルティを課す。本方法はユーザによって与えられた変形に適合するように再構成された入力ｇ（ｚ）を修正するために、
【数４５】
2020102215.tif 000047
から開始する潜在ベクトルｚを最適化することができる。
【００９５】
エネルギーは、別の項
【数４６】
2020102215.tif 000048
を含んでもよい。例では、他の項がエネルギーに含まれないように、γはゼロに等しい。他の例では、他の項がエネルギーに含まれるように、γはゼロに等しくない。他の項は、探索された潜在ベクトルｚと、エンコーダを３Ｄモデル化オブジェクトに適用した結果
【数４７】
2020102215.tif 000049
との間の距離である平滑項である。他の項は、最適化が
【数４８】
2020102215.tif 000050
から離れすぎてｚを刈り取ることを防止し、したがって、ユーザ定義の変形フィールドにフィッティングしながら、元の入力に可能な限り近い状態を維持する。
【００９６】
【数４９】
2020102215.tif 000051
は、潜在空間上で探索された潜在ベクトルｚの尤度を与える別の項である。ｐ（ｚ）は潜在空間上で与えられる確率的事前である。別の項は、最適化された形状の尤度を最大化するために使用される。例では、他の項がエネルギーに含まれないように、βはゼロに等しい。他の例では、他の項がエネルギーに含まれるように、βは厳密に正である。
【００９７】
Ｅの最小化（すなわち、最適潜在ベクトルの決定）は反復的に再重み付けされた最小二乗法を適用することを含むことができ、これは各最適化反復において、この方法が最小二乗の重み
【数５０】
2020102215.tif 000052
を更新するが、最適化ステップ中に固定されたものとみなすことを意味する。
【００９８】
図８は、第１の例の場合の最適化潜在ベクトルにデコーダを適用した結果を示す。椅子８０は、ユーザによって定義された変形制約に適合する妥当な椅子を表すメッシュである。本方法は、変形制約に適合する、再構築された椅子６０から椅子８０への変形を計算するステップをさらに含むことができる。椅子４０に変形を加えた結果、椅子４０の変形制約と初期形状の両方を考慮した、図９のもっともらしい椅子９０が得られる。
【００９９】
ここで、第１の例の場合の計算及び変形の適用の実施についてさらに説明する。
【０１００】
第１の例によるエネルギーの最小化は、元の入力に可能な限り近い最適化された潜在ベクトル
【数５１】
2020102215.tif 000053
を（制御点又はスケッチのいずれかによって与えられるユーザ制約に適合しながら）もたらした。それにもかかわらず、この最適化された形状は（椅子８０によって示される）再構成
【数５２】
2020102215.tif 000054
から開始して計算され、これは必ずしも完全な精度を有する正確な再構成ではない。特に、再構成は必ずしも同じトポロジー（例えば、椅子の横木の数）を有さず、入力３Ｄモデル化オブジェクト４０の局所的な詳細は、必ずしも再構成に含まれない。元の椅子４０のスタイルにできるだけ近いままであるために、ユーザの制約にフィットしながら、本方法は、（椅子８０によって示される）
【数５３】
2020102215.tif 000055
と（椅子７０によって示される）
【数５４】
2020102215.tif 000056
との間の変形を元の椅子ｘに再ターゲットすることができる。この方法は、ＲＢＦ補間を使用して
【数５５】
2020102215.tif 000057
と
【数５６】
2020102215.tif 000058
との間の変形場θを計算することができる。この技法は本方法が制御点を使用しなくてもよいが、代わりに、再構成の頂点（又はこれらの頂点の特徴的な部分集合）を直接使用して変形フィールドを計算してもよいことを除いて、前述のＲＢＦ補間と同じであってもよい。
【０１０１】
したがって、
【数５７】
2020102215.tif 000059
を導出するために、この方法は、以下の線形システムを解いてもよい。
【数５８】
2020102215.tif 000060
【０１０２】
最終編集メッシュ９０は単に、元のメッシュｘに適用される変形場によって与えられる。
【数５９】
2020102215.tif 000061
非剛体位置合わせ（Ｃｏｍｐｕｔ．Ｇｒａｐｈ．Ｆｏｒｕｍ  ２７  （５）：  １４２１−１４３０、２００８「Ｇｌｏｂａｌ  Ｃｏｒｒｅｓｐｏｎｄｅｎｃｅ  Ｏｐｔｉｍｉｚａｔｉｏｎ  ｆｏｒ  Ｎｏｎ−Ｒｉｇｉｄ  Ｒｅｇｉｓｔｒａｔｉｏｎ  ｏｆ  Ｄｅｐｔｈ  Ｓｃａｎｓ．」ＨＬｉ、ＲＳｕｍｎｅｒ、ａｎｄ  ＭＰａｕｌｙを参照）、又はカーネル回帰のように、他のリターゲティング方法も変形フィールドを計算するために使用できることに留意されたい。 
【０１０３】
第２の例では、ユーザが３Ｄモデル化オブジェクトｘを選択したビューでスケッチする。図１０は、３Ｄモデル化オブジェクトｘの例を示す。これは、図１０のものような４本の脚を有する椅子１００である。図１０は椅子１００の正面図を示す。Ｐは、選択されたビューに関連付けられた射影とする。Ｐは、椅子が属する３Ｄモデル化オブジェクト空間からスクリーン上のピクセル座標の２Ｄ空間への射影であってもよい。ユーザは、画面上に形状１０２をスケッチすることによって、変形制約を定義する。Ｓは、描かれたスケッチのピクセル座標、又はこの図のサブサンプリングされたバージョンである。
【０１０４】
最適な潜在ベクトルは、次式のエネルギーを最小化することによって決定される（Ｓ４０）。
【数６０】
2020102215.tif 000062
【０１０５】
本方法はユーザによって与えられたスケッチに適合するように再構成された入力ｇ（ｚ）を修正するために、
【数６１】
2020102215.tif 000063
から開始する潜在ベクトルｚを最適化することができる。
【０１０６】
エネルギーは、別の項
【数６２】
2020102215.tif 000064
を含んでもよい。例では、他の項がエネルギーに含まれないように、γはゼロに等しい。他の例では、他の項がエネルギーに含まれるように、γはゼロに等しくない。他の項は、探索された潜在ベクトルｚと、エンコーダを３Ｄモデル化オブジェクトに適用した結果
【数６３】
2020102215.tif 000065
との間の距離である平滑項である。他の項は最適化が元の入力から離れすぎて
【数６４】
2020102215.tif 000066
からｚを刈り取ることを防止し、したがって、ユーザ定義の変形フィールドにフィッティングしながら、元の入力に可能な限り近いままである。
【０１０７】
【数６５】
2020102215.tif 000067
は、潜在空間上で探索された潜在ベクトルｚの確率を与える別の項である。ｐ（ｚ）は、潜在空間上で与えられる確率的事前である。別の項は、最適化された形状の尤度を最大化するために使用される。例では、他の項がエネルギーに含まれないように、βはゼロに等しい。他の例では、他の項がエネルギーに含まれないように、βは厳密に正である。
【０１０８】
図１２は、最適化された潜在ベクトルにデコーダを適用するステップＳ５０の結果の一例を示す。椅子１２０は、ユーザによって定義された変形制約に適合する妥当な椅子を表すメッシュである。この方法は、図１１の再構成された椅子１１０から変形制約に適合する椅子１２０までの変形を計算するステップＳ６０をさらに含むことができる。椅子１００に変形を適用するＳ７０の結果は、椅子１００の変形制約及び初期形状の両方を尊重する妥当な椅子１３０である。
【０１０９】
ここで、第２の例の場合の、計算Ｓ６０及び変形の適用Ｓ７０の実施についてさらに説明する。
【０１１０】
第２の例によるエネルギーの最小化は制御点又はスケッチのいずれかによって与えられるユーザ制約に適合しながら、元の入力に可能な限り近い最適化された潜在ベクトル
【数６６】
2020102215.tif 000068
をもたらした。それにもかかわらず、この最適化された形状は再構成
【数６７】
2020102215.tif 000069
（椅子１００によって示される）から開始して計算され、これは必ずしも完全な精度を有する正確な再構成ではない。特に、再構成は必ずしも同じトポロジー（例えば、椅子の横木の数）を有さず、入力３Ｄモデル化オブジェクト１００の局所的な詳細は、必ずしも再構成に含まれない。元の椅子１００のスタイルにできるだけ近いままであるために、ユーザの制約にフィットしながら、本方法は、
【数６８】
2020102215.tif 000070
（椅子１００によって示される）と
【数６９】
2020102215.tif 000071
（椅子１２０によって示される）との間の変形を元の椅子ｘに再ターゲットすることができる。この方法は、ＲＢＦ補間を使用して
【数７０】
2020102215.tif 000072
と
【数７１】
2020102215.tif 000073
との間の変形場θを計算することができる。この技法は本方法が制御点を使用しなくてもよいが、代わりに、再構成の頂点（又はこれらの頂点の特徴的な部分集合）を直接使用して変形フィールドを計算してもよいことを除いて、前述のＲＢＦ補間と同じであってもよい。
【０１１１】
したがって、
【数７２】
2020102215.tif 000074
を導出するために、この方法は、以下の線形システムを解いてもよい。
【数７３】
2020102215.tif 000075
最終編集メッシュ１３０は単に、元のメッシュｘに適用される変形フィールドによって以下のように与えられる。
【数７４】
2020102215.tif 000076
なお、非剛体位置合わせ（Ｃｏｍｐｕｔ．Ｇｒａｐｈ．Ｆｏｒｕｍ  ２７  （５）：  １４２１−１４３０、２００８「Ｇｌｏｂａｌ  Ｃｏｒｒｅｓｐｏｎｄｅｎｃｅ  Ｏｐｔｉｍｉｚａｔｉｏｎ  ｆｏｒ  Ｎｏｎ−Ｒｉｇｉｄ  Ｒｅｇｉｓｔｒａｔｉｏｎ  ｏｆ  Ｄｅｐｔｈ  Ｓｃａｎｓ．」ＨＬｉ、ＲＳｕｍｎｅｒ、ａｎｄ  ＭＰａｕｌｙを参照）、又はカーネル回帰のように、他のリターゲティング方法も変形フィールドを計算するために使用できることに留意されたい。
【０１１２】
図１４はシステムのＧＵＩの一例を示しており、システムはＣＡＤシステムである。
【０１１３】
ＧＵＩ  ２１００は、標準的なメニューバー２１１０、２１２０、ならびに底部及び側部ツールバー２１４０、２１５０を有する、典型的なＣＡＤ様インターフェースであり得る。このようなメニューバー及びツールバーはユーザが選択可能なアイコンのセットを含み、各アイコンは当技術分野で知られているように、１つ又は複数の操作又は関数に関連付けられている。これらのアイコンのいくつかは、ＧＵＩ  ２１００に表示された３Ｄモデル化オブジェクト２０００を編集及び／又は作業するように適合されたソフトウェアツールに関連付けられる。ソフトウェアツールは、ワークベンチにグループ化することができる。各ワークベンチは、ソフトウェアツールの部分集合を含む。特に、ワークベンチの１つは、モデル化された製品２０００の幾何学的特徴を編集するのに適した編集ワークベンチである。動作中、設計者は例えば、オブジェクト２０００の一部を事前に選択し、次いで、適切なアイコンを選択することによって、動作（例えば、寸法、色などを変更する）又は幾何学的制約を編集することができる。例えば、典型的なＣＡＤ動作は、画面上に表示される３Ｄモデル化オブジェクトの打ち抜き加工又は折り畳みのモデル化である。ＧＵＩは例えば、表示された製品２０００に関連するデータ２５００を表示することができる。図の例では「特徴木」として表示されるデータ２５００、及びそれらの３Ｄ表現２０００はブレーキキャリパ及びディスクを含むブレーキアセンブリに関する。ＧＵＩは編集された製品の動作のシミュレーションをトリガするために、又は表示された製品２０００の様々な属性をレンダリングするために、例えば、オブジェクトの３Ｄ配向を容易にするための様々なタイプのグラフィックツール２１３０、２０７０、２０８０をさらに示すことができる。カーソル２０６０はユーザがグラフィックツールと対話することを可能にするために、触覚デバイスによって制御され得る。
【０１１４】
図１５は、システムがクライアント・コンピュータ・システム、例えばユーザのワークステーションであるシステムの一例を示す。
【０１１５】
この例のクライアント・コンピュータは、内部通信バス１０００に接続された中央処理装置（ＣＰＵ）１０１０と、やはりバスに接続されたランダム・アクセス・メモリ（ＲＡＭ）１０７０とを備える。クライアント・コンピュータには、さらに、ＢＵＳに接続されたビデオ・ランダム・アクセス・メモリ１１００に関連するグラフィカル・プロセッシング・ユニット（ＧＰＵ）１１１０が設けられている。ビデオＲＡＭ  １１００は、当技術分野ではフレームバッファとしても知られている。大容量記憶装置コントローラ１０２０は、ハードドライブ１０３０などの大容量記憶装置へのアクセスを管理する。コンピュータプログラム命令及びデータを有形に具現化するのに適した大容量メモリデバイスは、例として、ＥＰＲＯＭ、ＥＥＰＲＯＭ、及びフラッシュメモリデバイスなどの半導体メモリデバイス、内部ハードディスク及びリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにＣＤ−ＲＯＭディスク１０４０を含む、すべての形態の不揮発性メモリを含む。前述のいずれも、特別に設計されたＡＳＩＣ（特定用途向け集積回路）によって補足されるか、又はその中に組み込まれてもよい。ネットワークアダプタ１０５０は、ネットワーク１０６０へのアクセスを管理する。クライアントコンピュータは、カーソル制御デバイス、キーボードなどの触覚デバイス１０９０も含むことができる。ユーザがディスプレイ１０８０上の任意の所望の位置にカーソルを選択的に位置決めすることを可能にするために、カーソル制御装置がクライアント・コンピュータ内で使用される。さらに、カーソル制御装置はユーザが様々なコマンドを選択し、制御信号を入力することを可能にする。カーソル制御装置は、システムに制御信号を入力するための多数の信号発生装置を含む。典型的にはカーソル制御装置がマウスであってもよく、マウスのボタンは信号を生成するために使用される。代替的に又は追加的に、クライアントコンピュータシステムは、センシティブパッド及び／又はセンシティブスクリーンを含むことができる。
【０１１６】
コンピュータプログラムはコンピュータによって実行可能な命令を含むことができ、命令は、上記装置に該方法を実行させるための手段を含む。プログラムは、システムのメモリを含む任意のデータ記憶媒体に記録可能であってもよい。プログラムは例えば、デジタル電子回路において、又はコンピュータハードウェア、ファームウェア、ソフトウェアにおいて、又はそれらの組み合わせにおいて実装されてもよい。プログラムは装置、例えば、プログラマブルプロセッサによる実行のための機械可読記憶デバイスに有形に具現化された製品として実装されてもよい。方法のステップは入力データ断片に対して動作し、出力を生成することによって、方法の機能を実行するための命令のプログラムを実行するプログラマブルプロセッサによって実行されてもよい。したがって、プロセッサはプログラム可能であり、データ断片記憶システム、少なくとも１つの入力デバイス、及び少なくとも１つの出力デバイスからデータ断片及び命令を受信し、それらにデータ断片及び命令を送信するように結合され得る。アプリケーション・プログラムは、高レベルの手続き型又はオブジェクト指向プログラミング言語で、あるいは必要に応じてアセンブリ言語又は機械語で実装することができる。いずれの場合も、言語は、コンパイルされた言語又は解釈された言語であってもよい。プログラムはフルインストールプログラムであってもよいし、更新プログラムであってもよい。システム上にプログラムを適用すると、いずれにしても、この方法を実行するための命令が得られる。
【図１】
2020102215.tif 000079
【図２】
2020102215.tif 000080
【図３】
2020102215.tif 000081
【図４】
2020102215.tif 000082
【図５】
2020102215.tif 000083
【図６】
2020102215.tif 000084
【図７】
2020102215.tif 000085
【図８】
2020102215.tif 000086
【図９】
2020102215.tif 000087
【図１０】
2020102215.tif 000088
【図１１】
2020102215.tif 000089
【図１２】
2020102215.tif 000090
【図１３】
2020102215.tif 000091
【図１４】
2020102215.tif 000092
【図１５】
2020102215.tif 000093
【外国語明細書】
2020102215.tif 000094
2020102215.tif 000095
2020102215.tif 000096
2020102215.tif 000097
2020102215.tif 000098
2020102215.tif 000099
2020102215.tif 000100
2020102215.tif 000101
2020102215.tif 000102
2020102215.tif 000103
2020102215.tif 000104
2020102215.tif 000105
2020102215.tif 000106
2020102215.tif 000107
2020102215.tif 000108
2020102215.tif 000109
2020102215.tif 000110
2020102215.tif 000111
2020102215.tif 000112
2020102215.tif 000113
2020102215.tif 000114
2020102215.tif 000115
2020102215.tif 000116
2020102215.tif 000117
2020102215.tif 000118
2020102215.tif 000119
2020102215.tif 000120
2020102215.tif 000121
2020102215.tif 000122
2020102215.tif 000123
2020102215.tif 000124
2020102215.tif 000125
2020102215.tif 000126
2020102215.tif 000127
2020102215.tif 000128
2020102215.tif 000129
2020102215.tif 000130
2020102215.tif 000131
2020102215.tif 000132
【図１】
2020102215.tif 000133
【図２】
2020102215.tif 000134
【図３】
2020102215.tif 000135
【図４】
2020102215.tif 000136
【図５】
2020102215.tif 000137
【図６】
2020102215.tif 000138
【図７】
2020102215.tif 000139
【図８】
2020102215.tif 000140
【図９】
2020102215.tif 000141
【図１０】
2020102215.tif 000142
【図１１】
2020102215.tif 000143
【図１２】
2020102215.tif 000144
【図１３】
2020102215.tif 000145
【図１４】
2020102215.tif 000146
【図１５】
2020102215.tif 000147