(57)【要約】      （修正有）【課題】各々が対応する機械部品を表す３Ｄモデル化オブジェクトを含むデータセットを用いた機械学習の改善された方法を提供する。【解決手段】方法は、ニューラルネットワークのセットを提供することを含む。各ニューラルネットワークは、それぞれの重みを有する。各ニューラルネットワークは、３Ｄモデル化オブジェクトの推論のために構成される。方法は、損失を最小限に抑えることによってニューラルネットワークのそれぞれの重みを修正することをさらに含む。データセットの各３Ｄモデル化オブジェクトについて、損失は、複数の項の中から１つの項を選択する。各項は、３Ｄモデル化オブジェクトと、セットの対応するニューラルネットワークによって推論される対応する３Ｄモデル化オブジェクトとの間の不均衡にペナルティを課す。選択された項は、複数の項の中で、不均衡が最小のペナルティを課される項である。【選択図】図１
2020115337.tif 000002
【特許請求の範囲】
【請求項１】
機械学習のコンピュータ実施方法であって、
各々が対応する機械部品を表す３Ｄモデル化オブジェクトを含むデータセットを提供するステップ（Ｓ１０）と、
各ニューラルネットワークがそれぞれの重みを有し、各ニューラルネットワークが３Ｄモデル化オブジェクトの推論のために構成される、ニューラルネットワークのセットを提供するステップ及び（Ｓ４００）と、
データセットの各３Ｄモデル化オブジェクトについて、複数の項の中から１つの項を選択し、各項は３Ｄモデル化オブジェクトと、セットの各ニューラルネットワークによって推論される各３Ｄモデル化オブジェクトとの間の不均衡にペナルティを課し、選択された項は、不均衡が最小のペナルティを課される複数の項の中の１つの項で損失を最小にすることによって、ニューラルネットワークの各重みを修正するステップ（Ｓ４２０）と、
を含む方法。
【請求項２】
前記３Ｄモデル化オブジェクトと、前記セットの対応するニューラルネットワークによって推論される対応する３Ｄモデル化オブジェクトとの間の不均衡は、前記３Ｄモデル化オブジェクトと、前記セットの対応するニューラルネットワークによって推論される対応する３Ｄモデル化オブジェクトとの間の距離を含む
請求項１に記載の方法。
【請求項３】
前記距離は、前記３Ｄモデル化オブジェクトを表す第１の点群と、前記セットの対応するニューラルネットワークによって推論される対応する３Ｄモデル化オブジェクトを表す第２の点群との間の距離である
請求項２に記載の方法。
【請求項４】
各ニューラルネットワークが、対応する基本テンプレートの変形を対応する３Ｄモデル化オブジェクトに推論するように構成され、対応する基本テンプレートが３Ｄモデル化オブジェクトである
請求項１、２又は３に記載の方法。
【請求項５】
各基本テンプレートが、データセットのサブデータセットの３Ｄモデル化オブジェクトの重心を表す３Ｄモデル化オブジェクトである
請求項４に記載の方法。
【請求項６】
損失が以下のタイプである
【数１】
2020115337.tif 000074
請求項４又は５に記載の方法。
【請求項７】
前記最小化は、
データセットの３Ｄモデル化オブジェクトのセットを選択するステップ、及び
選択されたセットの各３Ｄモデル化オブジェクトに対して、３Ｄモデル化オブジェクトと、対応するニューラルネットワークによって推論される対応する３Ｄモデル化オブジェクトとの間の不均衡の小ささに報酬を与えることによって、対応するニューラルネットワークを３Ｄモデル化オブジェクトへ割り当てるステップであって、対応するニューラルネットワークは選択されたセットの１つ又は複数の３Ｄモデル化オブジェクトに割り当てられ、対応するニューラルネットワークの重みは割り当ての結果として修正されるステップ
の反復を含む
請求項１乃至６のいずれか一項に記載の方法。
【請求項８】
対応するニューラルネットワークは、３Ｄモデル化オブジェクトの推論のために構成された対応するデコーダを備える対応するオートエンコーダである
請求項１乃至７のいずれか一項に記載の方法。
【請求項９】
請求項１乃至８のいずれか一項に記載の方法により得ることができるニューラルネットワークのセット。
【請求項１０】
請求項９に記載のニューラルネットワークのセットを使用するコンピュータ実施方法。
【請求項１１】
各々のニューラルネットワークが３Ｄモデル化オブジェクトの推論のために構成された対応するデコーダを備える対応するオートエンコーダであり、
前記方法が、
２つ以上の３Ｄモデル化オブジェクトを提供するステップと、
各々がニューラルネットワークのセットの対応するオートエンコーダの潜在空間上に２つ以上の３Ｄモデル化オブジェクトを投影するステップと、
投影された２つ以上の３Ｄモデル化オブジェクト間の潜在空間上の１つ以上の補間を計算するステップと、
計算された各補間にデコーダを適用するステップと
を備える請求項１０に記載の方法。
【請求項１２】
各々のニューラルネットワークが３Ｄモデル化オブジェクトの推論のために構成された対応するデコーダを備える対応するオートエンコーダであり、
前記方法が、
３Ｄモデル化オブジェクトの一部を提供するステップと、
３Ｄモデル化オブジェクトの前記一部に対応するオートエンコーダを適用するステップと、
３Ｄモデル化オブジェクトの前記一部に対応するオートエンコーダの適用の結果を、３Ｄモデル化オブジェクトの前記一部にフィッティングするステップと
を備える請求項１０に記載の方法。
【請求項１３】
各々のニューラルネットワークが３Ｄモデル化オブジェクトの推論のために構成された対応するデコーダを備える対応するオートエンコーダであり、
前記方法が、
３Ｄモデル化オブジェクトを提供するステップと、
１つ以上の対応するオートエンコーダを３Ｄモデル化オブジェクトに適用するステップと、
前記適用するステップに基づいて、各々のオートエンコーダを選択するステップと
を備える請求項１０に記載の方法。
【請求項１４】
請求項１乃至８のいずれか一項に記載の方法、及び／又は請求項１０乃至１３のいずれか一項に記載の方法を実行するための命令を含むコンピュータプログラム。
【請求項１５】
請求項９に記載の２つ以上の対応するニューラルネットワークのセット及び／又は請求項１４に記載のコンピュータプログラムが記録されたデータ記憶媒体を備える装置であって、前記装置は、任意選択で、前記データ記憶媒体に結合されたプロセッサをさらに備える、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示はコンピュータプログラム及びシステムの分野に関し、より具体的には、それぞれが対応する機械部品を表す３Ｄモデル化オブジェクトを含むデータセットを用いた機械学習の方法、システム、及びプログラムに関する。
【背景技術】
【０００２】
物体の設計、エンジニアリング及び製造のために、多数のシステム及びプログラムが市場に提供されている。ＣＡＤはコンピュータ支援設計の頭字語であり、例えば、オブジェクトを設計するためのソフトウェアソリューションに関する。ＣＡＥはコンピュータ支援エンジニアリングの頭字語であり、例えば、将来の製品の物理的挙動をシミュレートするためのソフトウェアソリューションに関連する。ＣＡＭはコンピュータ支援製造の頭字語であり、例えば、製造プロセス及び動作を定義するためのソフトウェアソリューションに関する。そのようなコンピュータ支援設計システムでは、グラフィカルユーザインターフェースが技法の効率に関して重要な役割を果たす。これらの技術は、製品ライフサイクル管理（ＰＬＭ）システム内に組み込まれてもよい。ＰＬＭとは、企業が製品データを共有し、共通のプロセスを適用し、企業知識を活用して、長期的な企業のコンセプトを越えて、コンセプトから生涯にわたる製品の開発に役立てることを支援するビジネス戦略のことをいう。（ＣＡＴＩＡ、ＥＮＯＶＩＡ及びＤＥＬＭＩＡの商標で）ダッソーシステムズによって提供されるＰＬＭソリューションは、製品工学知識を編成するエンジニアリングハブと、製造工学知識を管理する製造ハブと、エンタープライズ統合及びエンジニアリングハブ及び製造ハブの両方への接続を可能にする企業ハブとを提供する。全体として、システムは最適化された製品定義、製造準備、製造、及びサービスを駆動する動的な知識ベースの製品作成及び意思決定サポートを可能にするために、製品、プロセス、リソースをリンクするオープン・オブジェクト・モデルを提供する。
【０００３】
この文脈及び他の文脈では、機械学習、特にオートエンコーダ及び／又は多様体学習が広く重要になっている。
【０００４】
以下の論文はこの分野に関するものであり、以下において言及される。
[1]: "Stacked Denoising Autoencoders: Learning Useful Representations in a Deep Network with a Local Denoising Criterion", P. Vincent, H. Larcohelle, I. Lajoie, Y. Bengio, P. Manzagol, in The Journal of Machine Learning Research, 2010.
[2]: "Reducing the Dimensionality of Data with Neural Networks", G.E. Hinton, R.R. Salakhutdinov, in Science, 2006.
[3]: "Learning Deep Architectures for AI", Y. Bengio, in Foundations and Trends in Machine Learning, 2009.
[4] Maxim Tatarchenko, Alexey Dosovitskiy, and Thomas Brox. Multi-view 3d models from single images with a convolutional network. In European Conference on Computer Vision, 2016.
[5] Xinchen Yan, Jimei Yang, Ersin Yumer, Yijie Guo, and Honglak Lee. Perspective transformer nets: Learning single-view 3d object reconstruction without 3d supervision. In Advances in Neural Information Processing Systems, 2016.
[6] Zhirong Wu, Shuran Song, Aditya Khosla, Fisher Yu, Linguang Zhang, Xiaoou Tang, and Jianxiong Xiao. 3d shapenets: A deep representation for volumetric shapes. In Computer Vision and Pattern Recognition, 2015.
[7] Christian Hane, Shubham Tulsiani, and Jitendra Malik. Hierarchical surface prediction for 3d object reconstruction. In 3DV, 2017.
[8] Charles R Qi, Hao Su, Kaichun Mo, and Leonidas J Guibas. Pointnet: Deep learning on point sets for 3d classification and segmentation. In Computer Vision and Pattern Regognition, 2017.
[9] Charles Ruizhongtai Qi, Li Yi, Hao Su, and Leonidas J. Guibas. Pointnet++: Deep hierarchical feature learning on point sets in a metric space. In NIPS, 2017.
[10] Thibault Groueix, Matthew Fisher, Vladimir G. Kim, Bryan Russell, and Mathieu Aubry. AtlasNet: A Papier-Mache Approach to Learning 3D Surface Generation. In Computer Vision and Pattern Recognition, 2018.
[11] Yaoqing Yang, Chen Feng, Yiru Shen, and Dong Tian. FoldingNet: Point Cloud Auto-encoder via Deep Grid Deformation. In Computer Vision and Pattern Recognition, 2018.
[12] Dimitri P. Bertsekas. The Auction Algorithm : a Distributed Relaxation Method for the Assignment. In Annals of Operations Research - Special Issue: Parallel Optimization on Novel Computer Architectures, Volume 14 Issue 1-4, June 1988.
【０００５】
同じクラスからのサンプルを表すデータセット、例えば椅子の画像のデータセット、又は車の３Ｄモデルのデータセットが与えられると、オートエンコーダ（先に引用した論文［１，２］で説明されている）を使用して、このデータセットの元の入力空間と、しばしば潜在空間と呼ばれる低次元空間との間のマッピングを学習することができる。さらに、オートエンコーダは、潜在空間から元の入力空間への逆マッピングを学習することもできる。それらは、データ中の有意義な特徴を抽出するために、及び／又はデータをコンパクトな表現に圧縮するために使用されてもよい。
【０００６】
論文［４］はある種のオートエンコーダを学習し、入力はオブジェクトのＲＧＢ画像及び視点であり、所与の視点における入力画像内のオブジェクトの奥行きマップを予測するが、論文［５］は単一のＲＧＢ画像を、入力内の３Ｄオブジェクトを表す３２３のボクセルグリッドに直接変換するオートエンコーダを学習する。
【０００７】
論文［６］は、３Ｄ形状の２進占有体積を表す３２３のボクセルグリッド上で直接３Ｄ畳み込み深部信念ネットワークを学習する。論文［７］で行ったように、オクトリーを用いて高解像度のボクセルグリッドを再構成することが可能である。
【０００８】
論文［８］と論文［９］のマルチスケール伸長は、ポイントネットと呼ばれる点群について直接学ぶことができる深いアーキテクチャを紹介している。点群が３Ｄ点のベクトルとして表される場合、キーは点の置換に対して不変なネットワークを構築することであり、その結果、ネットワークは置換の動作による３Ｄ点の空間の商に実際に依存する、すなわち、点群を表すために使用する順序とは無関係である。この目的を達成するために、アーキテクチャは各入力点に適用される共有層に依存し、
【数１】
2020115337.tif 000003
の形式を有する。ここで、ｈは
【数２】
2020115337.tif 000004
から
【数３】
2020115337.tif 000005
へのニューラルネットワークであり、ｇは最大関数のような置換不変関数である。
【０００９】
これらの方法はすべて、正確さに欠けるという欠点がある。
【００１０】
この状況の中で、各々が対応する機械部品を表す３Ｄモデル化オブジェクトを含むデータセットを用いた機械学習の改善された方法が依然として必要とされている。
【発明の概要】
【００１１】
したがって、本発明は、機械学習のコンピュータ実施方法を提供する。この方法は、それぞれが対応する機械部品を表す３Ｄモデル化オブジェクトを含むデータセットを提供することを含む。この方法は、ニューラルネットワークのセットを提供することをさらに含む。各ニューラルネットワークは、それぞれの重みを有する。各ニューラルネットワークは、３Ｄモデル化オブジェクトの推論のために構成される。この方法は、損失を最小限に抑えることによってニューラルネットワークのそれぞれの重みを修正することをさらに含む。データセットの各３Ｄモデル化オブジェクトについて、損失は、複数の項の中から１つの項を選択する。各項は、３Ｄモデル化オブジェクトと、セットの対応するニューラルネットワークによって推論される対応する３Ｄモデル化オブジェクトとの間の不均衡にペナルティを課す。選択された項は、複数の項の中で、不均衡が最小のペナルティを課される項である。
【００１２】
これは、各々が対応する機械部品を表す３Ｄモデル化オブジェクトを含むデータセットを用いた機械学習の改善された方法を構成する。
【００１３】
この方法は、以下のうちの１つ又は複数を含むことができる。
・３Ｄモデル化オブジェクトと、セットの対応するニューラルネットワークによって推論される対応する３Ｄモデル化オブジェクトとの間の不均衡は、３Ｄモデル化オブジェクトと、セットの対応するニューラルネットワークによって推論される対応する３Ｄモデル化オブジェクトとの間の距離を含む。
・その距離は、３Ｄモデル化オブジェクトを表す第１の点群と、セットのそれぞれのニューラルネットワークによって推論されるそれぞれの３Ｄモデル化オブジェクトを表す第２の点群との間の距離である。
・各ニューラルネットワークは、対応する基本テンプレートの変形を対応する３Ｄモデル化オブジェクトに推論するように構成され、対応する基本テンプレートはそれぞれ３Ｄモデル化オブジェクトである。
・各基本テンプレートは、データセットのサブデータセットの３Ｄモデル化オブジェクトの重心を表す３Ｄモデル化オブジェクトである。
・損失は以下のタイプのものである。
【数４】
2020115337.tif 000006
【００１４】
最小化は以下の反復を含む：
・データセットの３Ｄモデル化オブジェクトのセットの選択。
・選択されたセットの各３Ｄモデル化オブジェクトに対して、３Ｄモデル化オブジェクトと、対応するニューラルネットワークによって推論される対応する３Ｄモデル化オブジェクトとの間の不均衡の小ささに報酬を与えることによって、対応するニューラルネットワークを３Ｄモデル化オブジェクトに割り当て、対応するニューラルネットワークは選択されたセットの１つ又は複数の３Ｄモデル化オブジェクトに割り当てられ、対応するニューラルネットワークの重みは割り当ての結果として修正され、及び／又は
対応するニューラルネットワークが３Ｄモデル化オブジェクトの推論のために構成された対応するデコーダを備える対応するオートエンコーダである。
【００１５】
さらに、本方法によって得られるニューラルネットワークのセットが提供される。
【００１６】
本発明はさらに、ニューラルネットワークのセットを使用するコンピュータ実施方法を提供する。
【００１７】
使用方法は、以下の１つ以上を含んでもよい。
各ニューラルネットワークは、３Ｄモデル化オブジェクトの推論のために構成された対応するデコーダを備える対応するオートエンコーダである、この方法は以下を含む。
・２つ以上の３Ｄモデル化オブジェクトを提供するステップ、
・ニューラルネットワークのセットの対応するオートエンコーダの潜在空間上にそれぞれ２つ以上の３Ｄモデル化オブジェクトを投影するステップ、
・投影された２つ以上の３Ｄモデル化オブジェクト間の潜在空間上で１つ以上の補間を計算するステップ、
・各計算された補間にデコーダを適用するステップ。
【００１８】
各ニューラルネットワークは、３Ｄモデル化オブジェクトの推論のために構成された対応するデコーダを備える対応するオートエンコーダであり、この方法は以下を含む。
・３Ｄモデル化オブジェクトの一部を提供するステップ、
・３Ｄモデル化オブジェクトの部分に対応するオートエンコーダを適用するステップ、３Ｄモデル化オブジェクトの部分に、対応するオートエンコーダを３Ｄモデル化オブジェクトの部分に適用した結果をフィッティングするステップ、及び／又は
各ニューラルネットワークは、３Ｄモデル化オブジェクトの推論のために構成された対応するデコーダを備える対応するオートエンコーダであり、この方法は以下を含む。
・３Ｄモデル化オブジェクトを提供するステップ。
・１つ又は複数の対応するオートエンコーダを３Ｄモデル化オブジェクトに適用し、その適用に基づいて対応するオートエンコーダを選択するステップ。
【００１９】
本方法及び／又は使用方を実行するための命令を含むコンピュータプログラムがさらに提供される。
【００２０】
さらに、２つ以上の対応するニューラルネットワーク及び／又はコンピュータプログラムのセットが記録されたデータ記憶媒体を備える装置が提供される。
【００２１】
この装置は、例えばＳａａＳ、又は他のサーバ、あるいはクラウドベースのプラットフォームなど上で、一時的でないコンピュータ可読媒体を形成するか、又はそのような媒体として機能することができる。デバイスは代替的に、データ記憶媒体に結合されたプロセッサを備えることができる。したがって、装置は全体的に又は部分的にコンピュータシステムを形成することができる（たとえば、装置は、システム全体のサブシステムである）。システムは、プロセッサに結合されたグラフィカルユーザインターフェースをさらに備えることができる。
【図面の簡単な説明】
【００２２】
【図１】本方法の一例を統合した例示的なコンピュータ実装プロセスのフローチャートを示す。
【図２】方法及び／又は処理及び／又は使用方法を示す。
【図３】方法及び／又は処理及び／又は使用方法を示す。
【図４】方法及び／又は処理及び／又は使用方法を示す。
【図５】方法及び／又は処理及び／又は使用方法を示す。
【図６】方法及び／又は処理及び／又は使用方法を示す。
【図７】方法及び／又は処理及び／又は使用方法を示す。
【図８】方法及び／又は処理及び／又は使用方法を示す。
【図９】方法及び／又は処理及び／又は使用方法を示す。
【図１０】方法及び／又は処理及び／又は使用方法を示す。
【図１１】方法及び／又は処理及び／又は使用方法を示す。
【図１２】方法及び／又は処理及び／又は使用方法を示す。
【図１３】方法及び／又は処理及び／又は使用方法を示す。
【図１４】方法及び／又は処理及び／又は使用方法を示す。
【図１５Ａ】方法及び／又は処理及び／又は使用方法を示す。
【図１５Ｂ】方法及び／又は処理及び／又は使用方法を示す。
【図１６】方法及び／又は処理及び／又は使用方法を示す。
【図１７】方法及び／又は処理及び／又は使用方法を示す。
【図１８】方法及び／又は処理及び／又は使用方法を示す。
【図１９】方法及び／又は処理及び／又は使用方法を示す。
【図２０】方法及び／又は処理及び／又は使用方法を示す。
【図２１】システムのグラフィカルユーザインターフェースの一例を示す。
【図２２】システムの一例を示す図である。
【発明を実施するための形態】
【００２３】
本発明は、各々が対応する機械部品を表す３Ｄモデル化オブジェクトを含むデータセットを用いた機械学習のコンピュータ実施方法を提供する。
【００２４】
本発明は特に、機械学習の第１のコンピュータ実施方法を提供する。第１の方法は、３Ｄモデル化オブジェクトを含むデータセットを提供することを含む。３Ｄモデル化オブジェクトはそれぞれ、対応する機械部品を表す。データセットには、１  つ以上のサブデータセットがある。各サブデータセットは、少なくともデータセットの一部を形成する。第１の方法は対応するサブデータセットごとに、基本テンプレートを決定することをさらに含む。基本テンプレートは、サブデータセットの３Ｄモデル化オブジェクトの重心を表す３Ｄモデル化オブジェクトである。第１の方法は、基本テンプレートの変形を対応する３Ｄモデル化オブジェクトに推論するように構成されたニューラルネットワークを学習するステップをさらに含む。学習は、サブデータセットに基づく訓練を含む。以下、この第１の方法を「テンプレート学習方法」と呼ぶことがある。
【００２５】
テンプレート学習方法は、各々が対応する機械部品を表す３Ｄモデル化オブジェクトを含むデータセットを用いて機械学習の改善された方法を形成する。
【００２６】
特に、テンプレート学習方法は、対応するサブデータセットについて、サブデータセットの３Ｄモデル化オブジェクトの重心を表す３Ｄモデル化オブジェクトを決定することを可能にする。言い換えれば、テンプレート学習方法はサブデータセットの３Ｄモデル化オブジェクトを表す（例えば、その平均形状）３Ｄモデル化オブジェクト、すなわち基本テンプレートを決定する。テンプレート学習方法はさらに、対応する３Ｄモデル化オブジェクトへの重心の変形を推論するニューラルネットワークを学習することを可能にする。このようなニューラルネットワークの学習は、サブデータセットに基づく訓練を含む。言い換えれば、学習は、サブデータセットの３Ｄモデル化オブジェクトを使用して、そのようなモデル化オブジェクトの重心の変形の推論を学習する。したがって、学習は、サブデータセットの重心である基本テンプレートがサブデータセットの３Ｄモデル化オブジェクトに変換されるためにあまり変形される必要がない、及び／又は大まかに変形される必要がないので、変形の正確な詳細の推論の学習に焦点を当てることができる。したがって、テンプレート学習方法に従って学習済のニューラルネットワークは、基本テンプレートの正確な変形を、データセットの３Ｄモデル化オブジェクトに推論する。例では、ニューラルネットワークが変形の推論のために構成されたデコーダを備えるオートエンコーダである。そのような例ではオートエンコーダが入力として３Ｄモデル化オブジェクトを取り、３Ｄモデル化オブジェクトの再構成を出力することができ、再構成は３Ｄモデル化オブジェクトへの基本テンプレートの、デコーダによって推論された変形であるか、又はそれに基づく。デコーダは、基本テンプレートの正確な変形をサブデータセットの３Ｄモデル化オブジェクトに推論するので、オートエンコーダによるそのようなオブジェクトの再構成は正確である。
【００２７】
例では、データセットは対応するサブデータセットによって区分されるか、又は実質的に区分され、その数ｋは例えば、２よりも大きい。これらの例では、テンプレート学習方法がｋ個の基本テンプレートを決定し、ｋ個のニューラルネットワークを学習する。各基本テンプレートは、対応するサブデータセットの重心を表す。これらの例では、テンプレート学習方法によって学習済の対応するニューラルネットワークがｋ個の基本テンプレートのそれぞれ１つの変形を３Ｄモデル化オブジェクトに推論する。したがって、先に説明したように、各ニューラルネットワークは、ｋ個の基本テンプレートのそれぞれ１つの正確な変形を、対応するサブデータセットの３Ｄモデル化オブジェクト（ｋ個の基本テンプレートのそれぞれ１つが重心を表す）に推論する。言い換えれば、テンプレート学習方法は、対応するサブデータセットの重心の正確な変形をサブデータセットのオブジェクトに推論することに特化したｋ個のニューラルネットワークを学習する。例では、テンプレート学習方法がしたがって、対応するサブデータセットの３Ｄモデル化オブジェクトを再構成する際にそれぞれ特化されたｋ個のオートエンコーダを学習することができる。
【００２８】
数ｋは１に等しくてもよく、この場合、データセットは１つのサブデータセットのみを含むことを理解されたい。サブデータセットは少なくとも一部を形成し、この例では、サブデータセットがデータセットに等しいか、又は実質的に等しいことを意味する。このような例では、テンプレート学習方法は、決定された基本テンプレートの変形を推論するように構成されたニューラルネットワークの学習の前述の精度に対して依然として有益である。実際に、決定された基本テンプレートはデータセットの３Ｄモデル化オブジェクトのすべて又は実質的にすべての重心を表し、したがって、その学習中に、決定された基本テンプレートの変形を推論するように構成されたニューラルネットワークは、変形の正確な詳細を学習することに焦点を当てることができる。
【００２９】
この数ｋは、データセット自体が３Ｄモデル化オブジェクトのそれぞれのクラスに区分されるか、又は実質的に区分されるという事実に対応し得る。つまり、対応するサブデータセットは、それぞれ１つのクラスの３Ｄモデル化オブジェクトに対して、一意的又は実質的に一意的に作成される。「データセット自体がそれぞれのクラスの３Ｄモデル化オブジェクトからなるｋ個のそれぞれのサブデータセットによって区分される」とは、例ではテンプレート学習方法が基本テンプレートを決定する前、及び／又はニューラルネットワークを学習する前に、それぞれのクラスの３Ｄモデル化オブジェクトからなるｋ個のそれぞれのサブデータセットによってデータセットを区分するステップを含むことを意味する。分割はデータセットの各３Ｄモデル化オブジェクトに、それぞれのクラスを表すラベルを割り当てることを含むことができる。このような場合、テンプレート学習方法はｋ個のニューラルネットワークを提供し、各ニューラルネットワークは、それぞれのサブデータセットの重心の、サブデータセットに対応するクラスのオブジェクトへの正確な変形を推論することに特化している。例では、テンプレート学習方法がしたがって、それぞれのクラスの３Ｄモデル化オブジェクトを再構成する際にそれぞれ特化されたｋ個のオートエンコーダを学習することができる。
【００３０】
これに加えて、又はこれに代えて、その数ｋは、ユーザによって提供されてもよい。そのような例ではデータセットが必ずしもそれ自体がそれぞれのクラスの３Ｄモデル化オブジェクトからそれぞれ作成されたｋ個のそれぞれのサブデータセットに分割又は実質的に分割されるわけではないが、その数ｋの提供はそのような分割を強制することができる。「強制する」とは、区分が例えば、ユーザアクションなしに、基本テンプレートの決定及び／又はニューラルネットワークの学習から生じ得る（及び／又はその間に生じ得る）ことを意味する。実際、ｋ個の基本テンプレートを決定することは、共通の損失を最小化することを含むことができる。データセットの各３Ｄモデル化オブジェクトについて、共通損失は、複数の項の中から１つの項を選択する。各項は、３Ｄモデル化オブジェクトと候補基本テンプレートとの間の不均衡にペナルティを課す。選択された項は、不均衡が最小のペナルティを課される複数の項のうちの１つの項であってもよい。言い換えれば、決定はデータセットの３Ｄモデル化オブジェクトに対するそれらの類似性に従って、候補基本テンプレート（潜在的な基本テンプレートとしてテストされる３Ｄモデル化オブジェクトである）の選択を（例えば、反復的に）操作する。これは、対応するサブデータセットのすべての３Ｄモデル化オブジェクトに対する平均非類似性が最小である対応するｋ個の基本テンプレートの決定を強制する。言い換えれば、テンプレート学習方法は重心の決定を強制することによって、データセットをサブデータセットに分割することを実施し、それによって、データセットのオブジェクトを、重心のうちの１つに対するそれらの（例えば、最良の）類似性に従って各クラスタ化する。言い換えると、この数ｋを提供することは、データセットをそれぞれのクラスに自動的に分割し、各クラスは各サブデータセットの１つのオブジェクトに対応し、すなわち、サブデータセットの重心に対する非類似性が最小であるオブジェクトである。そのような分割はまた、学習済のニューラルネットワークの各学習済のニューラルネットワークを、それぞれのｋ個のサブデータセットのｋ個の重心の正確な変形をサブデータセットに対応するクラスのオブジェクトに推論することに特化させる。データセット自体が３Ｄモデル化オブジェクトの５個それぞれのクラスに区分されるか、又は実質的に区分される例では、数ｋの提供に続くデータセットの前述の区分が実際にはデータセットのそれ自体の区分に対応するか、又は実質的に対応し得る。言い換えると、数ｋの提供後のｋ個のデータセットの前述の分割はデータセットのそれ自体の分割と同じ結果（すなわち、データセットの同じ分割）をもたらす可能性がある。
【００３１】
例では、１つのサブデータセット（例えば、全体のデータセットを形成するただ１つのサブデータセット）しかなく、従って、全体のデータセットの重心を表すただ１つのテンプレートだけが決定される。他の例では、いくつかのサブデータセットがあり、したがって、サブデータセットごとに１つの重心が決定される。そのような例の特定の例では、データセットが生で提供され（すなわち、データセットのどのサブデータセット要素に属するかに関する情報がなく）、学習は単一の損失を最小化すること（すなわち、及び他の損失がないこと）を含む。そのような特定の例では、損失が対応するサブデータセットを訂正するために要素の割り当てを操作するように構成される。このような例では、いくつかの基本テンプレートの学習により、データセットを事前にいくつかのサブデータセットに分離する必要性を避けることができる。このような例では、単一損失が（いくつかのオートエンコーダの学習と同様に）基本テンプレートの学習中にデータセットをステップ自動的にクラスタ化することを可能にすることができる。
【００３２】
本発明はまた、機械学習の第２のコンピュータ実施方法を提供する。第２の方法は、３Ｄモデル化オブジェクトを含むデータセットを提供することを含む。３Ｄモデル化オブジェクトはそれぞれ、対応する機械部品を表す。第２の方法は、ニューラルネットワークのセットを提供することを含む。各ニューラルネットワークはそれぞれの重みを有し、各ニューラルネットワークは、３Ｄモデル化オブジェクトの推論のために構成される。第２の方法は、損失を最小化することによってニューラルネットワークのそれぞれの重みを修正することをさらに含む。データセットの各３Ｄモデル化オブジェクトについて、損失は、複数の項の中から１つの項を選択する。各項は、３Ｄモデル化オブジェクトと、セットの対応するニューラルネットワークによって推論される対応する３Ｄモデル化オブジェクトとの間の不均衡にペナルティを課す。選択された項は不均衡が最小ペナルティとなる複数の項のうちの１つの項であり、この第２の方法は、以下では「多様体学習方法」と呼ばれることがある。
【００３３】
多様体学習方法は、各々が対応する機械部品を表す３Ｄモデル化オブジェクトを含むデータセットを用いて機械学習の改善された方法を形成する。
【００３４】
特に、多様体学習方法は３Ｄモデル化オブジェクトの同じデータセット上でいくつかのニューラルネットワークを学習し、各ニューラルネットワークは、３Ｄモデル化オブジェクトを推論する。学習は損失の最小化を含み、損失は、データセットの３Ｄモデル化オブジェクトと、対応するニューラルネットワークによって推論される３Ｄモデル化オブジェクトとの間の不一致にペナルティを課す項の中からの選択を操作する。選択された項は、不均衡が最小のペナルティを課される項である。言い換えれば、多様体学習方法はデータセットの各３Ｄモデル化オブジェクトについて、どのニューラルネットワークが３Ｄモデル化オブジェクトを（例えば、最も正確に）推論するかの選択を（例えば、反復的に）操作することによって、ニューラルネットワークを学習する。その結果、各ニューラルネットワークはデータセットのサブデータセットの３Ｄモデル化オブジェクトを推論することに特化され（例えば、学習中に漸進的に）、各サブデータセットは、ニューラルネットワークが特化されるデータセットの３Ｄモデル化オブジェクトから作られる。したがって、多様体学習法によって学習済のニューラルネットワークは正確である。例では、ニューラルネットワークはそれぞれ、３Ｄモデル化オブジェクトの推論のために構成されたデコーダを備えるオートエンコーダである。このような例では、各オートエンコーダが入力として３Ｄモデル化された物体を取り、３Ｄモデル化された物体、再構築された物体、又はエンコーダによって推測された３Ｄモデル化された物体に基づくもの再構築を出力することができる。各デコーダはデータセットのサブデータセットの３Ｄモデル化オブジェクトを正確に推論するので、オートエンコーダによるこのようなオブジェクトの再構成はこのように正確である。
【００３５】
例では、多様体学習方法がｋ個のニューラルネットワークを学習する。すなわち、ニューラルネットワークの集合は、ｋ個のニューラルネットワークで構成されている。その数ｋは、ユーザが提供することができる。このような数ｋの提供は次に、データセットのｋ個のサブデータセットのそれぞれの１つの３Ｄモデル化オブジェクトの推論において、各ニューラルネットワークの上述の特殊化を強制する。このような数ｋの提供はまた、データセットを３Ｄモデル化オブジェクトのｋ個のクラスに分割すること（例えば、学習中に、例えば、ユーザアクションなしに）を強制し、各クラスは、推論が学習済のニューラルネットワークのそれぞれの１つの特殊性である３Ｄモデル化オブジェクトに対応する。例ではデータセットを３Ｄモデル化オブジェクトのｋ個のクラスに強制的に分割することはそれ自体がデータセットを３Ｄモデル化オブジェクトのｋ個クラスに実質的に分割することに対応し得る。ここで、各サブデータセットはそれぞれ１つのクラスの３Ｄモデル化オブジェクトに対して、それぞれ一意的又は実質的に一意的に作成される。「データセットの３Ｄモデル化オブジェクトのｋ個のクラスへのそれ自体の分割」とは、例において、多様体学習方法がニューラルネットワークの学習の前に、それぞれのクラスの３Ｄモデル化オブジェクトからそれぞれ作成されたｋ個のそれぞれのサブデータセットによってデータセットを分割するステップを含むことをさらに意味する。分割はデータセットの各３Ｄモデル化オブジェクトに、それぞれのクラスを表すラベルを割り当てることを含むことができる。
【００３６】
例では、各ニューラルネットワークが対応する基本テンプレートの変形を対応する３Ｄモデル化オブジェクトに推論するように構成される。これらの例では、それぞれの基本テンプレートが３Ｄモデル化オブジェクトである。これらの例では、対応する基本テンプレートがデータセットのサブデータセットの３Ｄモデル化オブジェクトの重心を表す３Ｄモデル化オブジェクトであってもよい。このような例では、各ニューラルネットワークは特に正確である。第１に、それはサブデータセットの３Ｄモデル化オブジェクトを推論することに特化されているので、前述のように、それを正確にする。第２に、ニューラルネットワークによって推論される３Ｄモデル化オブジェクトはそれらが類似している３Ｄモデル化オブジェクト（重心）の変形であるか、又はそれに基づいているので、前述のように、ニューラルネットワークを正確にする。実施例では、それぞれの基本テンプレート又はそれらの少なくとも一部がテンプレート学習方法に従って決定される。このような場合、学習済のニューラルネットワークはテンプレート学習方法と多様体学習方法の両方の前述の精度から利益を得、これにより、それらを特に正確にする。あるいは、対応する基本テンプレート又はそれらの少なくとも一部が任意の他の方法によって決定されてもよい。
【００３７】
なお、テンプレート学習方法と多様体学習方法とは独立して行われてもよい。テンプレート学習方法による１つ又は複数のニューラルネットワークの学習（すなわち、１つ又は複数のサブデータセットのそれぞれ１つに対するニューラルネットワークの学習）は、多様体学習方法による損失の最小化を含むことができる。あるいは、テンプレート学習方法による１つ以上のニューラルネットワークの学習が任意の他の機械学習方法によって実行されてもよい。多様体学習によって学習済のニューラルネットワークは、基本テンプレートの変形の推論のために構成されてもよい。基本テンプレートは前述のように、テンプレート学習方法によって、又は任意の他の方法によって決定される。
【００３８】
テンプレート学習方法と多様体学習方法は、同じプロセスに統合されてもよい。図１は、ここで説明されるプロセスを示すフローチャートを示す。
【００３９】
このプロセスは、３Ｄモデル化オブジェクトを含む共通データセットを提供するステップＳ１０を含む。各３Ｄモデル化オブジェクトは、対応する機械部品を表す。例ではテンプレート学習方法によるデータセットの提供、及び多様体学習方法によるデータセットの提供は、提供され共通データセットを再利用することに帰着する。言い換えれば、テンプレート学習方法によって提供されるデータセット及び多様体学習方法によって提供されるデータセットは、両方とも、プロセスによって提供される共通のデータセットと同一である。あるいはテンプレート学習方法によるデータセットの提供が共通データセットの第１の部分を再使用することにあり、多様体学習方法によるデータセットの提供は共通データセットの第２の部分を再使用することにある。第２の部分と第１の部分とは異なっていてもよい。例では第２の部分及び第１の部分が異なることができるが、同じクラスの３Ｄモデル化オブジェクトを含むことができる。言い換えると、第２の部分と第１の部分の両方は、それ自体、同じ数ｋのクラスの３Ｄモデル化オブジェクトによって区分されてもよい。このプロセスは、数ｋを提供するステップＳ２０をさらに含む。数ｋを提供するステップＳ２０はユーザによって数ｋを指定する（例えば、宣言する）ことを含むことができる。このプロセスはさらに、ｋ個の基本テンプレートを決定するステップＳ３０を含む。ｋ個の基本テンプレートを決定するステップＳ３０は、テンプレート学習法に従って実行される。このプロセスは、ｋ個のニューラルネットワークを学習するステップＳ４０をさらに含む。ｋ個のニューラルネットワークの学習ステップＳ４０は、多様な学習方法に従って、ｋ個のニューラルネットワークからなるニューラルネットワークのセットのそれぞれの重みを修正するステップＳ４０を含む。
【００４０】
このプロセスにおいて、同じデータセット（すなわち、共通のデータセット）を使用して、テンプレート学習方法によるｋ個の基本テンプレートを決定するステップＳ３０と、多様体学習方法によるｋ個のニューラルネットワークの学習とを実行することにより、これら２つの方法の組み合わせから特に有益となる。実際、テンプレート学習法によるｋ個の基本テンプレートを決定するステップＳ３０は共通データセットをｋ個のサブデータセットに分割し、これにより、言い換えれば、共通データセットを３Ｄモデル化オブジェクトのｋ個のクラスに分割する。多様体学習方法に従って学習済のｋ個のニューラルネットワークのそれぞれ１つは、ｋ個の基本テンプレートのそれぞれ１つの変形を共通データセットの３Ｄモデル化オブジェクトに推論するように構成されるように学習されてもよい。そのような場合、ｋ個の基本テンプレートを決定するステップＳ３０によって提供される、共通データセットのｋ個のサブデータセットへの分割はサブデータセットのそれぞれの重心のサブデータセットの３Ｄモデル化オブジェクトへの正確な変形の推論への、ｋ個のニューラルネットワークのそれぞれのそれぞれの１つの前述の特殊化を容易にし、改善する。さらに、ｋ個のニューラルネットワークのそれぞれ１つはサブデータセットの重心の、サブデータセットの３Ｄモデル化オブジェクトへの変形に関する詳細を学習（Ｓ４０）することに焦点を当てることができ、これは前述のように、その精度を改善する。したがって、例ではプロセスは、それぞれが、対応するサブデータセットの特に正確に３Ｄモデル化されたオブジェクトを再構成することに特に特化されたｋ個のオートエンコーダを学習することができる。
【００４１】
さらに、又は代替として、提供される数ｋは前述のように、共通データセット自体が、３Ｄモデル化オブジェクトのｋ個のクラスに区分されるか、又は実質的に区分されるという事実に対応し得る。このような場合、プロセスは、したがって、それぞれが１つのクラスのオブジェクトから作られたｋ個のそれぞれのサブデータセットの対応する重心の変形をクラスの３Ｄモデル化オブジェクトに推論するように特化されたｋ個のニューラルネットワークを提供することができる。特に、このプロセスは、したがって、それぞれが特に特殊化されたｋ個のオートエンコーダを学習して、それぞれのクラスの特に正確に３Ｄモデル化されたオブジェクトを再構成することができる。
【００４２】
さらに、テンプレート学習方法、多様体学習方法、又はプロセスに従って学習可能及び／又は取得可能なニューラルネットワーク及び／又は（例えばｋ個の）ニューラルネットワークのセットが提案される。本発明はまた、ニューラルネットワーク及び／又は（例えばｋ個の）ニューラルネットワークのセットのコンピュータ実施方法された使用方法を提供する。ここで、使用方法の例を説明する。
【００４３】
次に、ニューラルネットワークの使用方法の例について説明する。
【００４４】
これらの例では、ニューラルネットワークは、基本テンプレートの変形を対応する３Ｄモデル化オブジェクトに推論するように構成されたデコーダを含むオートエンコーダである。これらの例では、使用方法が第１の３Ｄモデル化オブジェクト及び第２の３Ｄモデル化オブジェクトを提供することをさらに含む。これらの例では、使用方法が第１の３Ｄモデル化オブジェクト及び第２の３Ｄモデル化オブジェクトにオートエンコーダを適用することをさらに含む。これらの例では、使用方法がオートエンコーダの適用の結果に基づいて、第１の３Ｄモデル化オブジェクトと第２の３Ｄモデル化オブジェクトとの間の形状マッチングを決定することをさらに含む。
【００４５】
基本テンプレートは、３Ｄモデル化オブジェクトのクラスの３Ｄモデル化オブジェクトの重心を表すことができる。例では、クラス及び基本テンプレートの各３Ｄモデル化オブジェクトが３Ｄメッシュ（又は点群）である。これらの例では、デコーダが基本テンプレートの各頂点（又は点）と、基本テンプレートが変形されるクラスの３Ｄモデル化オブジェクトの頂点（又は点）との間の対応関係のセットを推論するように構成され得る。３Ｄモデル化オブジェクト及び第２の３Ｄモデル化オブジェクトは、クラスの両方のモデル化オブジェクトであってもよい。したがって、例では、オートエンコーダの適用が基本テンプレートの各頂点（又は点）と第１の３Ｄモデル化オブジェクトの各頂点（又は点）との間の第１の対応セットを出力する。これらの例では、オートエンコーダの適用が基本テンプレートの各頂点（又は点）と第２の３Ｄモデル化オブジェクトの各頂点（又は点）との間の第２の対応セットをさらに出力する。第１の対応セット及び第２の対応セットに基づいて、第１の３Ｄモデル化オブジェクトの各頂点（又は点）と第２の３Ｄモデル化オブジェクトの各頂点（又は点）との間の第３の対応セットを推論することができる。例では、形状マッチングを決定することは対応関係の第３のセットの推論に対応する。
【００４６】
基本テンプレートを学習することにより、オートエンコーダのトポロジーの一貫性が向上する。特に、学習済の基本テンプレートから始めて、オートエンコーダによって再構成されたすべてのメッシュ又は点群の間の頂点対頂点の対応関係を保証し、前述のように、使用方法によって提供される形状マッチングを可能にする。次に、形状整合の２つのアプリケーションについて説明する。
【００４７】
第１のアプリケーションは、シミュレーションのための形状整合である。第１のアプリケーションは第１の３Ｄモデル化オブジェクトと、１つ又は複数の第２の３Ｄモデル化オブジェクト、例えば、第１の３Ｄモデル化オブジェクトと、１つ又は複数の第２の３Ｄモデル化オブジェクトとを提供することを含み、これらはすべて、３Ｄモデル化オブジェクトの同じクラスに属する。各第２の３Ｄモデル化オブジェクトについて、第１のアプリケーションは、使用方法に従って、第１の３Ｄモデル化オブジェクト及び第２の３Ｄモデル化オブジェクトにオートエンコーダを適用することを含む。第１のアプリケーションは、使用方法に従って、オートエンコーダの適用の結果に基づいて、第１の３Ｄモデル化オブジェクトと第２の３Ｄモデル化オブジェクトとの間の形状マッチングを決定することをさらに含む。第１のアプリケーションはさらに、シミュレーション体験のために１つ又は複数の出版物及び／又はランドマークで第１の３Ｄモデル化オブジェクトに注釈を付けることと、それぞれの決定された形状マッチングを使用することによって、各第２の３Ｄモデル化オブジェクト上の１つ又は複数の注釈のターゲットを変更することとを含む。第１のアプリケーションはさらに、注釈が付けられた各第２の３Ｄモデル化オブジェクトについてのシミュレーション経験を再実行することを含み、それによって、第１の３Ｄモデル化オブジェクトに注釈を付けるだけで、任意の第２の３Ｄモデル化オブジェクトについてのシミュレーションを再実行することを可能にする。
【００４８】
第２のアプリケーションは、材料／テクスチャ再設定のための形状マッチングである。第２のアプリケーションは第１の３Ｄモデル化オブジェクトと、１つ又は複数の第２の３Ｄモデル化オブジェクト、例えば、第１の３Ｄモデル化オブジェクトと、１つ又は複数の第２の３Ｄモデル化オブジェクトとを提供することを含み、これらはすべて、３Ｄモデル化オブジェクトの同じクラスに属する。各第２の３Ｄモデル化オブジェクトについて、第２のアプリケーションは、使用方法に従って、第１の３Ｄモデル化オブジェクト及び第２の３Ｄモデル化オブジェクトにオートエンコーダを適用することを含む。第２のアプリケーションは、使用方法に従って、オートエンコーダの適用の結果に基づいて、第１の３Ｄモデル化オブジェクトと第２の３Ｄモデル化オブジェクトとの間の形状マッチングを決定することをさらに含む。第２のアプリケーションは、第１のモデル化されたオブジェクト上にＵＶマッピングを用いてテクスチャ又は材料を適用することをさらに含む。第２のアプリケーションは、決定された各形状マッチングを使用することによって、１つ又は複数の第２のモデル化されたオブジェクト上のＵＶマッピングを再ターゲット化することをさらに含む。これは、任意の他の第２の３Ｄモデル化オブジェクト上のＵＶマッピングを再標的化し、したがってテクスチャ又は材料を再標的化することを可能にする。
【００４９】
正確には、オートエンコーダは常に同じ出力接続性を有する同じメッシュトポロジを有することができるので、オートエンコーダによって提供される再構成によって再ターゲッティングはより容易になる。
【００５０】
上述した使用方法の例によって決定された形状マッチングの適用例が図２に示されており、ここでは、オートエンコーダが接続性を保持し、椅子の頂点に対応させることを可能にすることが示されている。
【００５１】
次に、（例えばｋ個の）ニューラルネットワークのセットの使用方法の例を説明する。
【００５２】
これらの例では、各ニューラルネットワークは、３Ｄモデル化オブジェクトの推論のために構成された対応するデコーダを備えるそれぞれのオートエンコーダである。これらの例では、使用方法が２つ以上の３Ｄモデル化オブジェクトを提供することを含む。これらの例では、使用方法がニューラルネットワークのセットの対応するオートエンコーダの潜在空間上にそれぞれ２つ以上の３Ｄモデル化オブジェクトを投影することをさらに含む。これらの例では、使用方法が投影された２つ以上の３Ｄモデル化オブジェクト間の潜在空間上の１つ以上の補間を計算することをさらに含む。これらの例では、使用方法が各計算された補間にデコーダを適用することをさらに含む。
【００５３】
潜在空間上で計算された１つ以上の補間の任意の計算された補間は２つの潜在ベクトル間の補間である潜在ベクトル（「補間潜在ベクトル」とも呼ばれる）であり、２つの潜在ベクトルは、潜在空間上の、２つ以上の３Ｄモデル化オブジェクトのそれぞれの投影である。したがって、使用方法は、１つ又は複数のそのような補間された潜在ベクトルを計算する。２つの潜在ベクトル間の補間は、ベクトル空間上の任意の線形補間など、任意の補間であってもよい。
【００５４】
例では、使用方法に含まれる各３Ｄモデル化オブジェクトがクラスの３Ｄモデル化オブジェクトである。そのような場合、対応するオートエンコーダのデコーダはクラスの３Ｄモデル化オブジェクトの推論のために構成され得る（例えば、それに特化され得る）。デコーダを計算された補間に適用することにより、クラスの３Ｄモデル化オブジェクトが出力される。計算された内挿はクラスの２つの３Ｄモデル化オブジェクトの２つの射影間で計算された内挿潜在ベクトルであるため、復号された内挿潜在ベクトルはクラスの前記２つの３Ｄモデル化オブジェクト間の中間幾何学的形状などの内挿を表すクラスの３Ｄモデル化オブジェクトである。したがって、使用方法は、１つ又は複数のそのような補間を計算することができる。
【００５５】
次に、図３及び図４を参照して、使用方法の例を説明する。
【００５６】
図３は、第１の３Ｄモデル化オブジェクト３０及び第２の３Ｄモデル化オブジェクト３２を示す。両方の物体は、４本の脚を有する椅子のクラスに属する椅子である。図３は４つの脚を有する６つの椅子のセット３４を示し、各１つはクラスに属し、各１つは、使用方法に従って計算された２つの椅子３０と３２との間の補間である。
【００５７】
図４は、第１の３Ｄモデル化オブジェクト４０及び第２の３Ｄモデル化オブジェクト４２を示す。両方のオブジェクトは、椅子のクラスに属する椅子である。図４は６つの椅子のセット４４を示し、各椅子はクラスに属し、各椅子は、使用方法に従って計算された２つの椅子４０と４２との間の補間である。
【００５８】
このように、テンプレート学習法、多様体学習法、又はプロセスの前述した精度から利益を得るために、この使用方法は、各オートエンコーダの元の入力空間において現実的な非線形補間を実行することを可能にする。
【００５９】
次に、（例えばｋ個の）ニューラルネットワークの組の使用方法の他の例について説明する。
【００６０】
使用方法のこれらの例では、各ニューラルネットワークが３Ｄモデル化オブジェクトの推論のために構成された対応するデコーダを備える対応するオートエンコーダである。これらの例では、使用方法が３Ｄモデル化オブジェクトの一部を提供することを含む。これらの例では、使用方法が３Ｄモデル化オブジェクトの部分に対応するオートエンコーダを適用することを含む。これらの例では、使用方法が３Ｄモデル化オブジェクトの部分に、対応するオートエンコーダを３Ｄモデル化オブジェクトの部分に適用した結果をフィッティングすることをさらに含む。
【００６１】
デコーダは、３Ｄモデル化オブジェクトのクラスの３Ｄモデル化オブジェクトを推論するように構成され得る。３Ｄモデル化オブジェクトは、クラスに属することができる。したがって、３Ｄモデル化オブジェクトの一部にオートエンコーダを適用することにより、クラスの別の３Ｄモデル化オブジェクトを出力することができる。したがって、３Ｄモデル化オブジェクトの一部に、対応するオートエンコーダを３Ｄモデル化オブジェクトの一部に適用する結果はクラスの別の３Ｄモデル化オブジェクトを変形させて、クラスの別の３Ｄモデル化オブジェクトの一部が３Ｄモデル化オブジェクトの一部と（例えば、幾何学的に）一致するようにし、それによって、３Ｄモデル化オブジェクトの自動完了をもたらし得る。
【００６２】
このような使用方法の例を図５を参照して説明する。図５は、脚が欠けている椅子で３Ｄモデル化オブジェクトの部分５０の一例を示す。図５はさらに、３Ｄモデル化対象物の部分５０に対応するオートエンコーダを適用した結果５２を示しており、この結果は、３Ｄモデル化対象物の部分５０に一旦フィッティングされる。フィッティングされた結果５２は、脚が欠けていない椅子５０である。
【００６３】
したがって、使用方法は、３Ｄスキャンパイプラインにおけるスキャン自動完了のための形状推論プロセスに適用することができる。次に、このようなパイプラインについて説明する。
【００６４】
３Ｄスキャンパイプラインは１つ以上の実オブジェクト、例えば、実世界の３Ｄシーンのオブジェクトをスキャンすることを含むことができる。スキャンは各々が対応する物理的信号を取得するように構成された１つ又は複数の物理的センサーを提供することと、１つ又は複数の実物体上の１つ又は複数の物理的センサーを動作させることによって１つ又は複数の対応する物理的信号を取得すること（すなわち、例えば、１つ又は複数の実物体を各センサーで１つずつ又は同時にスキャンすること）とを含むことができる。３Ｄスキャンパイプラインは、各スキャンされた現実世界オブジェクトについて、１つ又は複数の物理センサの測定値に基づいて、スキャンされた現実世界オブジェクトを表す３Ｄ点群及び／又は３Ｄメッシュを自動的に決定する３Ｄ再構成方法を適用することを含むことができる。３Ｄ再構成は、任意の既知の技術に従って実行されてもよい。１つ又は複数のセンサーは複数の（例えば、ＲＧＢ、及び／又は画像又はビデオ）カメラを備えることができ、判定は、動きからの構造解析を備えることができる。１つ以上のセンサーは代替的に又は追加的に、（例えば、ＲＧＢ深度カメラ上の）１つ以上の深度センサーを含むことができ、判定は、深度データからの３Ｄ再構成を含むことができる。１つ又は複数の深度センサは例えば、レーザ（例えば、ライダー）又は超音波送受信機を含んでもよい。
【００６５】
１つ以上のスキャンされた実世界オブジェクトは、少なくとも１つのオクルージョンの各々を特徴とすることができる。そのようなオブジェクトは部分的な点群（すなわち、完全な実オブジェクトを表すと想定される完全な点群の一部、遮蔽なし）によって表すことができる。次いで、３Ｄスキャンパイプラインは、オクルージョンを特徴とする１つ又は複数のスキャンされた実世界オブジェクトを表す１つ又は複数の部分点群のそれぞれに使用方法を適用して、各部分点群をオートコンプリートすることを含むことができる。具体的には各部分点群について、使用方法に従って提供される３Ｄモデル化オブジェクトの部分は部分点群である。使用方法によれば、対応するオートエンコーダが部分点群に適用され、対応するオートエンコーダを適用した結果が部分点群にフィッティングされ、それによって部分点群をオートコンプリートさせる。例では、オートコンプリートを実行するために、単に部分点群を自動符号化するように与えることはできないことを理解されたい。これらの例ではむしろ、不完全なクラウドから３Ｄ形状の潜在ベクトルを予測するか、又は部分点群に最も良く適合する３Ｄ形状を潜在空間において最適化する別のエンコーダを学習することができる。
【００６６】
前記部分点群のそれぞれ１つについて、点群が３Ｄモデル化オブジェクトのクラスに属するオブジェクトを表すとき、使用方法は、したがって、そのデコーダがクラスの３Ｄモデル化オブジェクトの推論のために構成される対応するエンコーダを適用することを可能にすることができる。その結果、そのようなオブジェクトの自動完了は、クラスの３Ｄモデル化オブジェクトの推論へのデコーダの前述の特殊化から利益を得るので、正確である。使用方法に従っていくつかのオートエンコーダを使用すると、各オートエンコーダはそれぞれのクラスの３Ｄモデル化オブジェクトの推論に特化されたそれぞれのデコーダを有し、したがって、自動完了の精度を大幅に改善する。
【００６７】
次に、（例えばｋ個の）ニューラルネットワークの組の使用方法の他の例について説明する。
【００６８】
使用方法のこれらの例では、各ニューラルネットワークが３Ｄモデル化オブジェクトの推論のために構成された対応するデコーダを備える対応するオートエンコーダである。これらの例では、使用方法が３Ｄモデル化オブジェクトを提供することをさらに含む。これらの例では、使用方法が１つ又は複数の対応するオートエンコーダを３Ｄモデル化オブジェクトに適用することをさらに含む。これらの例では、使用方法が適用に基づいて対応するオートエンコーダを選択することをさらに含む。
【００６９】
オートエンコーダを選択するには、提供された３Ｄモデル化オブジェクトを最良に再構成するオートエンコーダを選択する必要がある。したがって、この使用方法は、クラスタリングプロセスで使用することができる。具体的には、対応するデコーダが３Ｄモデル化オブジェクトのデータセットの対応するクラスの３Ｄモデル化オブジェクトの推論に特化することができ、データセットは例えば、対応するクラスによって区分される。クラスタリングプロセスは、３Ｄモデル化オブジェクトの別のデータセットを提供することを含むことができる。クラスタリングプロセスはまた、別のデータセットの各３Ｄモデル化オブジェクトに使用方法を適用することを含んでもよい。その結果、別のデータセットの各３Ｄモデル化オブジェクトについて、クラスタリングプロセスは、どのオートエンコーダが最良の３Ｄモデル化オブジェクトを再構成するかを決定する。次いで、クラスタリングプロセスは、３Ｄモデル化オブジェクトを、オートエンコーダのデコーダが特殊化されているクラスに割り当てることができる。言い換えれば、使用方法を繰り返すことによって、自動クラスタリングアルゴリズムを得ることができる。
【００７０】
テンプレート学習方法、多様体学習方法、及びプロセスは、コンピュータで実施される。次に、コンピュータ実施方法（又は処理）の概念について説明する。
【００７１】
「方法（又は処理）は、コンピュータによって実施される」とは方法（又は処理）のステップ（又は実質的にすべてのステップ）が少なくとも１つのコンピュータ、又は任意の同様のシステムによって実行されることを意味する。したがって、本方法のステップ（又は処理）はコンピュータによって、場合によっては完全に自動的に、又は半自動的に実行される。例では、方法（又は処理）のステップのうちの少なくともいくつかのトリガがユーザ／コンピュータ対話を介して実行され得る。必要とされるユーザ／コンピュータ対話のレベルは予測される自動化のレベルに依存し、ユーザの希望を実施する必要性とバランスをとることができる。例では、このレベルがユーザ定義及び／又は事前定義され得る。
【００７２】
方法（又はプロセス）のコンピュータ実装の典型的な例は、この目的のためにフィッティングされたシステムを用いて方法（又はプロセス）を実行することである。システムはメモリに結合されたプロセッサ及び、グラフィカルユーザインターフェース（ＧＵＩ）及びを備えることができ、メモリには、本方法の／作業を実行するための命令を含むコンピュータプログラムが記録される。メモリはまた、データベースを記憶してもよい。メモリはそのような記憶装置にフィッティングされた任意のハードウェアであり、場合によっては、いくつかの物理的に別個の部分（例えば、プログラムのための部分、及び場合によってはデータ断片ベースのための部分）を備える。
【００７３】
プロセスの例では、テンプレート学習方法によるｋ個の基本テンプレートを決定するステップＳ３０及び多様体学習方法によるｋ個のニューラルネットワークの学習ステップＳ４０が同じコンピュータによって、又は同じコンピュータセットによって実行されてもよい。これらの例では例えば、数ｋを提供するステップＳ２０など、ユーザ対話を通じて実行されるプロセスのステップは同じユーザによってトリガされてもよい。あるいは、プロセスが異なるコンピュータ及び／又はユーザによって実行されてもよい。例えば、テンプレート学習方法によるｋ個の基本テンプレートを決定するステップＳ３０はおそらく第１のユーザとのヒューマンマシン対話を含む１つ以上のコンピュータの第１のセットによって実行されてもよく、多様体学習方法によるｋ個のニューラルネットワークの学習ステップＳ４０はおそらく第２のユーザとのヒューマンマシン対話を含む１つ以上のコンピュータの第２のセットによって実行されてもよい。一つ又は複数のコンピュータの第１及び第２のセットは、ネットワークによって接続されてもよい。
【００７４】
テンプレート学習方法、多様体学習方法、及びプロセスに関与する、３Ｄモデル化オブジェクトを含むデータセットを提供する概念を説明する。この概念の議論の前に、そこに含まれるデータ構造がここで議論される。理解されるように、本明細書で提供されるデータ構造定義及び例はテンプレート学習方法、多様体学習方法、及び／又は処理によって提供されるデータセットの少なくとも一部（例えば、すべて）に適用され得る。
【００７５】
３Ｄ形状の離散幾何学的表現は、本明細書ではデータの離散セットを含むデータ構造である。データの各断片は、３Ｄ空間に配置されたそれぞれの幾何学的実体を表す。各幾何学的実体は３Ｄ形状の対応する位置を表す（換言すれば、３Ｄ形状によって表されるソリッドを構成する材料の対応する部分）。幾何学的エンティティの集合（すなわち、結合又は並置）は、３Ｄ形状を完全に表す。本明細書の任意の離散的な幾何学的表現は、例では１００、１０００、又は１００００を超える多数のそのようなデータを含むことができる。
【００７６】
本明細書における任意の離散的な幾何学的表現は例えば、３Ｄ点群であってもよく、各幾何学的実体は点である。本明細書における任意の離散的な幾何学的表現は代替的に、３Ｄメッシュであってもよく、各幾何学的エンティティは、メッシュタイル又は面である。本明細書の任意の３Ｄメッシュは規則的であっても不規則であってもよい（すなわち、同じタイプの面からなるか、又はなっていなくてもよい）。本明細書における任意の３Ｄメッシュは多角形メッシュ、例えば、三角形メッシュであってもよい。本明細書における任意の３Ｄメッシュは代替的に、Ｂ−Ｒｅｐであってもよい。本明細書における任意の３Ｄメッシュは例えば、３Ｄ点群を三角測量することによって（例えば、ドロネー三角測量を用いて）、３Ｄ点群から得ることができる。
【００７７】
本明細書における任意の３Ｄ点群は、例えば３Ｄ再構成プロセス内で、実物体上の物理的測定値から決定されてもよい。３Ｄ再構成プロセスは現実物体を提供することと、対応する物理的信号を取得するようにそれぞれ構成された１つ又は複数の物理的センサーを提供することと、現実物体上の１つ又は複数の物理的センサーを動作させる（すなわち、各センサーで現実物体をスキャンする）ことによって１つ又は複数の対応する物理的信号を取得することとを含むことができる。次いで、３Ｄ再構成は、任意の既知の技法に従って、測定値に基づいて３Ｄ点群及び／又は３Ｄメッシュを自動的に決定することができる。１つ又は複数のセンサーは複数の（例えば、ＲＧＢ、及び／又は画像又はビデオ）カメラを備えることができ、判定は、動きからの構造解析を備えることができる。１つ以上のセンサーは代替的に又は追加的に、（例えば、ＲＧＢ深度カメラ上の）１つ以上の深度センサーを含むことができ、判定は、深度データからの３Ｄ再構成を含むことができる。１つ又は複数の深度センサは例えば、レーザ（例えば、ライダ）又は超音波送受信機を含んでもよい。
【００７８】
本明細書における任意の３Ｄ点群又は３Ｄメッシュは代替的に、例えば、３Ｄモデル化オブジェクト上にレイキャスティングすることによって、又は３Ｄモデル化オブジェクトをモデリングすることによって、ソリッド（例えば、Ｂ−Ｒｅｐモデル）のスキン（すなわち、外面）を表す３Ｄモデル化オブジェクトから取得されてもよい。テッセレーションは、任意の３Ｄモデル化オブジェクトレンダリングプロセスに従って実行することができる。このようなレンダリングプロセスは３Ｄモデル化されたオブジェクトのグラフィカルな表現を表示するために、任意のＣＡＤシステム上にコーディングすることができる。３Ｄモデル化オブジェクトはＣＡＤシステムを用いてユーザによって設計されてもよいし、設計されていてもよい。
【００７９】
モデル化されたオブジェクトは、例えばデータベースに格納されたデータによって定義される任意のオブジェクトである。拡大解釈すれば、表現「モデル化オブジェクト」は、データ自体を指定する。テンプレート学習方法、多様体学習方法、及び／又はプロセスを実行するシステムのタイプに応じて、モデル化されたオブジェクトは、異なる種類のデータによって定義されてもよい。システムは、実際にはＣＡＤシステム、ＣＡＥシステム、ＣＡＭシステム、ＰＤＭシステム、及び／又はＰＬＭシステムの任意の組み合わせであってもよい。これらの異なるシステムでは、モデル化されたオブジェクトが対応するデータによって定義される。したがって、ＣＡＤオブジェクト、ＰＬＭオブジェクト、ＰＤＭオブジェクト、ＣＡＥオブジェクト、ＣＡＭオブジェクト、ＣＡＤデータ、ＰＬＭデータ、ＰＤＭデータ、ＣＡＭデータ、ＣＡＥデータについて言うことができる。しかしながら、モデル化オブジェクトはこれらのシステムの任意の組み合わせに対応するデータによって定義され得るので、これらのシステムは他のシステムのうちの１つを排他的にするものではない。したがって、システムは以下に提供されるそのようなシステムの定義から明らかになるように、ＣＡＤシステム及びＰＬＭシステムの両方であってもよい。
【００８０】
ＣＡＤシステムとは、さらに、ＣＡＴＩＡのような、モデル化オブジェクトのグラフィック表現に基づいてモデル化オブジェクトを少なくとも設計するようにフィッティングされた任意のシステムを意味する。この場合、モデル化オブジェクトを定義するデータは、モデル化オブジェクトの表現を可能にするデータを含む。ＣＡＤシステムは例えば、ある場合には、顔又は表面を有するエッジ又は線を使用してＣＡＤモデル化オブジェクトの表現を提供することができる。線、エッジ、又は表面は様々な方法、例えば、不均一有理Ｂスプライン（ＮＵＲＢＳ）で表すことができる。具体的には、ＣＡＤファイルは仕様を含み、そこから幾何学的形状を生成することができ、これにより表現を生成することができる。モデル化されたオブジェクトの仕様は、単一のＣＡＤファイル又は複数のＣＡＤファイルに格納することができる。ＣＡＤシステム内のモデル化されたオブジェクトを表すファイルの典型的なサイズは、部品当たり１メガバイトの範囲内である。そして、モデル化されたオブジェクトは、典型的には何千もの部品のアセンブリであり得る。
【００８１】
ＣＡＤの文脈では、モデル化されたオブジェクトが典型的には例えば、部品又は部品のアセンブリ、又は場合によっては製品のアセンブリなどの製品を表す３Ｄモデル化されたオブジェクトとすることができる。「３Ｄモデリングされたオブジェクト」とは、その３Ｄ表現を可能にするデータによってモデリングされる任意のオブジェクトを意味する。３Ｄ表現は、全ての角度から部品を見ることを可能にする。例えば、３Ｄモデル化オブジェクトは３Ｄ表現される場合、その軸のいずれかの周り、又は表現が表示される画面内のいずれかの軸の周りで取り扱われ、回転され得る。これは特に、３Ｄモデル化されていない２Ｄアイコンを除外する。３Ｄ表現の表示は設計を容易にする（すなわち、設計者が統計的に彼らのタスクを達成する速度を増加させる）。これは、製品の設計が製造工程の一部であるため、産業界における製造工程を高速化する。
【００８２】
本開示の文脈では３Ｄモデル化オブジェクトが例えばＣＡＤソフトウェアソリューション又はＣＡＤシステムを用いた仮想設計の完了後に現実世界で製造される製品のジオメトリを表すことができ、例えば、（機械的である）部品又は部品のアセンブリ（又は部品のアセンブリと同等に、部品のアセンブリはテンプレート学習方法、多様体学習方法、及び／又は処理の観点からそれ自体の一部として見ることができるため、部品のアセンブリ）、又はより一般的には任意の剛体アセンブリ（例えば、可動機構）などのＣＡＤソフトウェアソリューション又はＣＡＤシステムを用いることができる。ＣＡＤソフトウェアソリューションは、航空宇宙、建築、建築、消費財、ハイテク装置、産業機器、輸送、海洋、及び／又は沖合の石油／ガスの製造又は輸送を含む、種々無制限の産業分野における製品の設計を可能にする。したがって、テンプレート学習方法、多様体学習方法、及び／又は処理に関与する任意の３Ｄモデル化オブジェクトは、陸上車両（例えば、自動車及び軽トラック機器、レーシングカー、オートバイ、トラック及びモーター機器、トラック及びバス、列車を含む）の一部（又は全体）、航空車両（例えば、機体機器、航空宇宙機器、推進機器、防衛機器、航空機機器、宇宙機器を含む）の一部（又は全体）、海軍車両（例えば、海軍機器、商用船、オフショア機器、ヨット及びワークボート、船舶機器を含む）の一部（又は全体）、機械部品（例えば、産業用製造機械、重機、移動機器、設置機器、産業用機器、加工金属製品、タイヤ製造製品を含む）、電気機械又は電子部品（例えば、家庭用電化製品、セキュリティ及び／又は制御装置及び／又は計装製品、コンピュータ及び通信機器、半導体、医療デバイス及び機器を含む）、消費者であり得る産業製品を表す。商品（家具、家庭用品、庭用品、レジャー用品、ファッション用品、ハードグッズ小売業用品、ソフトグッズ小売業用品等）、包装（食品・飲料・たばこ、美容・パーソナルケア、家庭用品包装等）を表す。
【００８３】
例では、本開示の任意の３Ｄモデル化オブジェクトが成形部品（すなわち、成形製造工程によって製造された部品）、機械加工部品（すなわち、機械加工製造工程によって製造された部品）、穿孔部品（すなわち、穿孔製造工程によって製造された部品）、旋削部品（すなわち、旋削製造工程によって製造された部品）、鍛造部品（すなわち、鍛造製造工程によって製造された部品）、打ち抜き部品（すなわち、打ち抜き製造工程によって製造された部品）、及び／又は折り曲げ部品（すなわち、折り曲げ製造工程によって製造された部品）のうちの１つ又は妥当な組合せである機械部品を表すことができる。
【００８４】
本開示の文脈では、３Ｄモデル化オブジェクトがもっともらしい（例えば、現実的である）３Ｄモデル化オブジェクトとすることができる。妥当な３Ｄモデル化オブジェクトは妥当な（例えば、現実的である）機械部品を表す３Ｄモデル化オブジェクトを指定することができる。妥当な機械部品は、現実世界の工業製造プロセスで現実的に製造可能な機械部品を指すことができる。妥当な機械部品とは、現実世界の工業製造プロセスにおいて機械部品を現実的に製造するために順守しなければならないすべての制約を留意する機械部品を指してもよい。制約は機械的制約（例えば、古典的機械学の法則から生じる制約）、機能的制約（例えば、一度製造された機械部品によって実行されるべき１つ以上の機械的機能に関する制約）、製造制約（例えば、機械部品を製造するための１つ以上の製造工程中に機械部品に１つ以上の製造ツールを適用する能力に関する制約）、構造的制約（例えば、機械部品の強度及び／又は耐性に関する制約）、及び／又はアセンブリ制約（例えば、機械部品を１つ以上の他の機械部品とどのように組み立てることができるかを定義する制約）のうちの１つ又は任意の妥当な組み合わせを含むことができる。
【００８５】
本開示の文脈において、「３Ｄモデル化オブジェクトを含むデータセット」とは、少なくとも３Ｄモデル化オブジェクトを含むデータセットを意味する。例では、データセットが３Ｄモデル化オブジェクトから作成されてもよい。あるいは、データセットが３Ｄモデル化オブジェクトを厳密に含むことができ、３Ｄモデル化オブジェクトに関する仕様などの追加データを含むことができる。データセットの３Ｄモデル化オブジェクトは、３Ｄモデル化オブジェクトの離散幾何学的表現であってもよい。言い換えると、データセットは、３Ｄモデル化オブジェクトの離散的な幾何学的表現（メッシュ及び／又は点群など）を含むことができる。そのような場合、３Ｄモデル化オブジェクト空間の離散幾何学的表現は単純化のために、それらの対応する離散表現ではなく、依然として３Ｄモデル化オブジェクト自体と呼ばれることがある。データセットは、１つ以上のサブデータセットを含んでもよい。各サブデータセットはデータセットの少なくとも部品（例えば、全て）を形成してもよい。
【００８６】
本開示の文脈では、３Ｄモデル化オブジェクトを含むデータセットが３Ｄモデル化オブジェクトの１つ又は複数のサブデータセットに区分されるか、又は実質的に区分され得る。「分割」とはデータセットの各３Ｄモデル化オブジェクトが分割を形成する１つの唯一のサブデータセットに属することを意味し、「実質的に分割」とはサブデータセットがデータセットの少なくとも一部の分割を形成することを意味する。そのような場合、データセットは少なくとも一部分及び別の部分からなり、別の部分に属する３Ｄモデル化オブジェクトの数は、サブデータセットのいずれか１つに属する３Ｄモデル化オブジェクトの数と比較して無視できる。例では、各サブデータセットが３Ｄモデル化オブジェクトの１つのクラスの３Ｄモデル化オブジェクトから作られる。このような例ではデータセットが「３Ｄモデル化オブジェクトのクラスによって区分される」と指定されてもよい。具体的には、ｋをクラスの数とすると、ｋは１より大きく、例えば２より大きい。「データセットは３Ｄモデル化オブジェクトのｋ個のクラスに区分される、又は実質的に区分される」と言われる場合、データセットはｋ個のサブデータセットに区分され、ｋ個のサブデータセットのそれぞれの１つのすべての３Ｄモデル化オブジェクトはｋ個のクラスのそれぞれの１つに属することを意味する。クラスの概念については、以下でさらに説明する。
【００８７】
本開示の文脈では、３Ｄモデル化オブジェクトが３Ｄモデル化オブジェクト空間に属することができる。３Ｄモデル化オブジェクト空間は一般に、３Ｄモデル化オブジェクトからなる空間を指定する。３Ｄモデル化オブジェクト空間はベクトル空間に含まれてもよい（例えば、その部分空間であってもよい）。３Ｄモデル化オブジェクト空間は、ベクトル空間の多様体であってもよい。多様体は、接続された多様体であってもよい。あるいは、多様体が１つ以上（例えば、２つ以上）の接続された成分を含む、接続されていない多様体であってもよい。本開示に含まれる３Ｄモデル化オブジェクトの任意のデータセットは、３Ｄモデル化オブジェクト空間に含まれてもよく、又は厳密に含まれてもよい。例では、データセットが多様体に含まれるか、又は厳密に含まれる。これらの例では、多様体が接続された多様体であっても、切断された多様体であってもよい。これらの例ではデータセットが１つ又は複数のサブデータセットを備えることができ、各サブデータセットはデータセットの少なくとも一部を形成し、各サブデータセットは切断された多様体の接続された構成要素にあるか、又は厳密に含まれる。
【００８８】
本開示の文脈では、３Ｄモデル化オブジェクトのクラスがベクトル空間の接続された多様体に対応することができる。代替的に又は追加的に、３Ｄモデル化オブジェクトのクラスは、ベクトル空間の分離された多様体の連結成分に対応することができる。加えて、又は代替として、３Ｄモデル化オブジェクトのクラスは以下の特性を有する３Ｄモデル化オブジェクトのセットを指定することができる：セットの任意の第１の３Ｄモデル化オブジェクトがセットの少なくとも第２の３Ｄモデル化オブジェクトに類似する、例えば、類似する形状を有する。３Ｄモデル化オブジェクトのクラスは単純化のために、依然としてクラスと呼ばれる１つ又は複数のサブクラスに分割（例えば、分割）され得ることを理解されたい。
【００８９】
例では、３Ｄモデル化オブジェクトのクラスがそれぞれの機械部品を表す３Ｄモデル化オブジェクトから作られ、機械部品は以下の条件のいずれか１つ又は任意の組合せをすべて尊重するクラスに関連する（すなわち、対応する）。
・クラスに対する機械部品はすべて、同一の製造工程又は同一の製造工程の組み合わせで製造される。
・クラスに対する機械部品はすべて妥当な機械部品である。
・クラスに対する機械部品はすべて、技術及び／又は産業の同じ分野からのものである。
・クラスに対する機械部品はすべて同じ機械的機能を果たす。
・クラスに対する機械部品はそれぞれ、クラスの少なくとも１つの他の３Ｄモデル化オブジェクトと同様の形状を有する３Ｄモデル化オブジェクトによって表され（したがって、クラスに対する別の機械部品を表す）、及び／又は
・クラスに対する機械部品はすべて、同じ機械的制約、機能的制約、製造制約、構造的制約、及び／又はアセンブリ制約に従う（例えば、これらを満たす、例えば、検証する）。
【００９０】
図６は、テンプレート学習方法、多様体学習方法、及び／又は処理に関与する３Ｄモデル化オブジェクトのデータセット６０の例を示す。データセットは、１クラスの３Ｄモデル化オブジェクトの３Ｄモデル化オブジェクトからなる。クラスの３Ｄモデル化オブジェクトは椅子である。椅子は（例えば、人間の）体重を支持する同じ機械的機能を全て実行するので、３Ｄモデル化オブジェクトのクラスを形成する。この機械的機能を実行することはまた、椅子がすべて同じ機械的制約、機能的制約及び構造的制約に従うことを意味する。図６の椅子は機械的制約、機能的制約、製造制約、及び構造的制約を守り、それによって１つ又は複数の製造プロセスによる現実世界での製造を可能にするので、もっともらしい機械部品である。データセット６０のすべてのオブジェクトが図６に示されているわけではないことを理解されたい。明確にするために、データセット６０のオブジェクトの一部のみが表されているが、データセットはより多くのオブジェクトを含むことができる。
【００９１】
図７は、テンプレート学習方法、多様体学習方法、及び／又は処理に関与する３Ｄモデル化オブジェクトのデータセット７０の例を示す。データセットは、１クラスの３Ｄモデル化オブジェクトの３Ｄモデル化オブジェクトからなる。クラスの３Ｄモデル化オブジェクトは、４つの脚（それぞれ）を有する椅子である。４つの脚を有する椅子はそれらが全て、（例えば、人間の）体重を支持する同じ機械的機能を実行し、また、４つの脚を有するこの機械的機能を実行することは、椅子が全て同じ機械的制約、機能的制約、及び構造的制約に従うことも意味するので、一群の３Ｄモデル化オブジェクトを形成する。図７の椅子は機械的制約、機能的制約、製造上の制約、及び構造上の制約を順守し、それによって、１つ又は複数の製造プロセスによる現実世界でのそれらの製造を可能にするので、妥当な機械的部品である。データセット７０のすべてのオブジェクトが図７に示されているわけではないことを理解されたい。データセットのオブジェクトの一部のみが、明確にするために示されているが、データセットはより多くのオブジェクトを含むことができる。
【００９２】
図８は、図６のデータセット６０を２つのサブデータセット８２及び８４に分割する例を示す。第１データセット８２は第１クラスの椅子の椅子である脚のない椅子を含み、第２データセット８４は、第２クラスの椅子の椅子である４本の脚のある椅子を含む。言い換えると、図６を参照して説明した椅子のクラスはいくつかのクラスの椅子に分割することができ、そのうちの２つは、第１のクラス及び第２のクラスである。２つのクラスの椅子は、支持質量の同じ機械的機能を果たすので、同じ機能的制約に従う。しかし、異なる数の脚部で前記同じ機械的機能を実行することは、異なる機械的制約及び／又は構造的制約に従うことを意味する。言い換えれば、第１のクラスの椅子はすべて、第１の組の機械的制約及び／又は構造的制約に従い、第２のクラスの椅子はすべて、第２の組の機械的制約及び／又は構造的制約に従い、第１及び第２の組の制約は異なる。サブデータセット８２（又は８４）のすべてのオブジェクトが図８に示されているわけではないことを理解されたい。サブデータセット８２（又は８４）のオブジェクトの一部のみが、明確にするために表されているが、サブデータセットはより多くのオブジェクトを含むことができる。
【００９３】
次に、３Ｄモデル化オブジェクトの他の例について説明する。
【００９４】
本開示の文脈では、任意の３Ｄモデル化オブジェクトが自動車を表すことができる。自動車は、３Ｄモデル化オブジェクトのクラスを形成することができる。代替的に又は追加的に、任意の３Ｄモデル化オブジェクトは、平面を表すことができる。平面は、３Ｄモデル化オブジェクトのクラスを形成することができる。代替的に又は追加的に、任意の３Ｄモデル化オブジェクトは、ボートを表すことができる。ボートは、３Ｄモデル化オブジェクトのクラスを形成することができる。
【００９５】
次に、テンプレート学習方法、多様体学習方法、及びプロセスに含まれる「３Ｄモデル化オブジェクトを含むデータセットを提供する」という概念について説明する。
【００９６】
データセットの提供は自動的に、又は、ユーザによって行われてもよい。例えば、ユーザは、データセットが格納されているメモリからデータセットを検索することができる。さらに、ユーザは既に取得されたデータセットに１つ以上の３Ｄモデリングされたオブジェクトを追加（例えば、１つずつ）することによって、データセットを完成させることを選択することができる。１つ又は複数の３Ｄモデリングされたオブジェクトを追加することは、１つ又は複数のメモリからそれらを取得し、それらをデータセットに含めることを含んでもよい。あるいは、ユーザが３Ｄモデル化オブジェクトを（例えば、１つずつ）選択し、これらの選択された３Ｄモデル化オブジェクトでデータセットを形成する（例えば、宣言する）ことによって、データセットを最初から作成することができる。３Ｄモデル化オブジェクトを選択することは、メモリからそれを取り出すことを含むことができる。データセットの３Ｄモデリングされたオブジェクトの一部（例えば、それらのすべて）は以前に（例えば、１人以上の他のユーザによって）設計され、ユーザによって検索される前に、１つ以上のメモリに格納されている可能性がある。「３Ｄモデル化オブジェクトを設計する」は、３Ｄモデル化オブジェクトを作成するプロセスの少なくとも一部である任意のアクション又は一連のアクションを指定する。
【００９７】
本開示の文脈ではデータセットの任意の発明において、データセットのすべての３Ｄモデル化オブジェクトは点群として発明されてもよい。あるいは、データセットの３Ｄモデル化オブジェクトの少なくとも一部（例えば、それらの全て）は別のフォーマットで（例えば、ＣＡＤオブジェクトとして、例えば、３Ｄメッシュのような他の離散的な幾何学的表現として）提供されてもよい。そのような場合、データセットの提供は少なくとも一部の各３Ｄモデル化オブジェクトから点群を決定する（例えば、抽出する）ことを含むことができる。点群の抽出は当技術分野で知られているように、モデル化されたオブジェクトを、例えば、６つの正投影図上でレイキャストすることを含むことができる。
【００９８】
例ではデータセットのすべての３Ｄモデル化オブジェクトが点群として提供されるかどうかにかかわらず、又は前述のようにレイキャスティングが実行された場合、データセットの３Ｄモデル化オブジェクトはいくつかのポイントですべての点群にある。これらの例では、データセットの提供が当技術分野で知られているように、各点群が同じ固定数の点を有するように、前記点群の一様なサブサンプリングを含むことができる。一実施形態では、一様なサブサンプリングが各点群について、最初に点群のランダムな点を選び、前記固定数の点に到達するまで、既に選ばれた点から点群の最も遠い点を繰り返し選ぶことを含む。
【００９９】
したがって、例では抽出ステップ及び／又は一様サブサンプリングステップが実行されたかどうかにかかわらず、データセットの３Ｄモデル化オブジェクトはすべてが同じ固定数の点を有する点群として提供される。これらの例では、データセットの提供が当技術分野で知られているように、点群をセンタリングするステップと、任意選択で、センタリングされた点群に単位ボールスケーリングを適用するステップとをさらに含むことができる。
【０１００】
ここで、「ニューラルネットワークを学習する」という概念について説明する。
【０１０１】
「ニューラルネットワークを学習すること」は機械学習方法の手段による１つ以上のニューラルネットワークのセット（例えば、ニューラルネットワーク、例えば、２つ以上のニューラルネットワークのセット）の決定を指定する。本開示の文脈ではセットの各ニューラルネットワークが重みを有し（例えば、重みによってパラメータ化され）、ニューラルネットワークを学習することは一般に、重みを初期化することと、重みを更新することとを含むことができる。特に、多様体学習方法による集合のニューラルネットワークのそれぞれの重みを修正するステップＳ４２０は、ニューラルネットワークの集合を学習するステップＳ４０の一部である。本開示の文脈では、セットの各ニューラルネットワークの学習がデータセット（又はデータセットのサブデータセット）に基づく訓練を含むことができる。これにより、例ではデータセット（データセットのサブデータセット）は訓練セット（学習セットなど）の一部であるが、データセット（データセットのサブデータセット）のみが、従って訓練セットの他の部分はニューラルネットワークの重みを修正するステップＳ４２０に直接関与しないことを意味する。例えば、重みを修正するステップＳ４２０はデータセットの３Ｄモデル化オブジェクト（又はデータセットのサブデータセット）のみに対する（例えば、それから得られる）データ（例えば、計算の結果）に基づいて実行されてもよい。例えば、これは、学習するステップＳ４０及び／又は修正するステップＳ４２０が訓練セットの３Ｄモデル化オブジェクトの中からの選択を操作する損失を最小化することを含み、その結果、それぞれの重みを修正するステップＳ４２０が選択によって選択された３Ｄモデル化オブジェクトのみを含む場合であり得る。
【０１０２】
本開示に従って学習済の任意のニューラルネットワークは、３Ｄモデル化オブジェクトの推論のために構成されたニューラルネットワークであってもよい。この手段は、ニューラルネットワークが３Ｄモデル化されたオブジェクト空間又は３Ｄモデル化されたオブジェクト空間の部分集合、例えば３Ｄモデル化されたオブジェクトのクラスにおいて値を出力することである。これに加えて、又はこれに代えて、ニューラルネットワークは、対応する３Ｄモデル化オブジェクトへの基本テンプレートの変形を推論するように構成されてもよい。「基本テンプレート」の概念は以下でさらに説明されるが、いずれの場合も、「基本テンプレート」は３Ｄモデル化オブジェクトを指定する。基本テンプレートのそれぞれの３Ｄモデル化オブジェクトへの変形は、基本テンプレートをそれぞれの３Ｄモデル化オブジェクトにマッピングする１つ又は複数の幾何学的変換のセットとすることができる。そのような場合、変形を推論することは、１つ又は複数の幾何学的変換及び／又はそれらのパラメータを推論することを含むことができる。代替的に又は追加的に、基本テンプレート及びそれぞれの３Ｄモデル化オブジェクトがそれぞれ第１の３Ｄメッシュ（又は第１の点群）及び第２の３Ｄメッシュ（又は第２の点群）によって表されるか、又は表される場合、それぞれの３Ｄモデル化オブジェクトへの基本テンプレートの変形は、第１の３Ｄメッシュ（又は第１の点群）の各頂点（又は点）と第２の３Ｄメッシュ（又は第２の点群）の各頂点（又は点）との間のそれぞれの対応関係のセットとすることができる。そのような場合、変形を推論することは、そのような対応を推論することを含んでもよい。変形を推論することは、基本テンプレートが１つ又は複数の幾何学的変換のセットによってマッピングされる対応する３Ｄモデル化オブジェクトを推論することをさらに含むことができる。言い換えると、ニューラルネットワークの出力は、１つ又は複数の幾何学的変換のセットと、対応する３Ｄモデル化オブジェクトとを含むことができる。例では、ニューラルネットワークが３Ｄモデル化オブジェクトの推論及び／又は変形の推論のために構成されたデコーダを備えるオートエンコーダである。
【０１０３】
次に、オートエンコーダの概念について説明する。オートエンコーダは、２つのフィードフォワード・ディープ・ニューラルネットワーク
【数５】
2020115337.tif 000007
及び
【数６】
2020115337.tif 000008
（先に引用した論文［３］を参照されたい）の構成として定義され、重み
【数７】
2020115337.tif 000009
及び
【数８】
2020115337.tif 000010
によってパラメータ化される。ここで、
【数９】
2020115337.tif 000011
であり、
【数１０】
2020115337.tif 000012
はエンコーダであり、
【数１１】
2020115337.tif 000013
はデコーダである。
【数１２】
2020115337.tif 000014
は潜在空間、すなわち、エンコーダ
【数１３】
2020115337.tif 000015
がその値を出力し、デコーダ
【数１４】
2020115337.tif 000016
がその値をとるベクトル空間である。
【数１５】
2020115337.tif 000017
は、潜在空間の次元である。
【数１６】
2020115337.tif 000018
は、エンコーダ
【数１７】
2020115337.tif 000019
がその値をとり、デコーダ
【数１８】
2020115337.tif 000020
がその値を出力する空間である。
【数１９】
2020115337.tif 000021
は「元の入力空間」と呼ばれることがある。ｍは元の入力空間の次元である。元の入力空間が元の入力空間の次元であってもよく、又は厳密に３Ｄモデル化されたオブジェクト空間を含んでもよい。言い換えれば、エンコーダ
【数２０】
2020115337.tif 000022
は元の入力空間においてその値をとるが、デコーダ
【数２１】
2020115337.tif 000023
による潜在空間の画像、例えば、３Ｄモデル化されたオブジェクト空間は元の入力空間のサブセットであってもよい。ベクトル
【数２２】
2020115337.tif 000024
が「潜在ベクトル」又は「隠れベクトル」と呼ばれることがある。オートエンコーダ
【数２３】
2020115337.tif 000025
が「再構成」と呼ばれることがある。再構成が元の入力空間の第１の要素（例えば、３Ｄモデル化されたオブジェクト空間の第１の３Ｄモデル化されたオブジェクト）を入力としてとり、潜在ベクトル（すなわち、潜在空間の要素）にマッピングし、次に、元の入力空間の第２の要素（例えば、３Ｄモデル化されたオブジェクト空間の第２の３Ｄモデル化されたオブジェクト）を潜在ベクトルから出力することによって、マッピングを逆転する。第２の要素は第１の要素の「再構成」と呼ばれることがある。例では、それを第２の要素が第１の要素の近似を表すことを意味する。例では、ｘが３Ｄモデル化オブジェクトである場合、３Ｄモデル化オブジェクト
【数２４】
2020115337.tif 000026
は再構築された３Ｄモデル化オブジェクトと呼ばれ得る。また、ｘは入力と呼ばれ、
【数２５】
2020115337.tif 000027
は再構成された入力と呼ばれることもある。プロセスの文脈では、エンコーダ
【数２６】
2020115337.tif 000028
及びデコーダ
【数２７】
2020115337.tif 000029
が例えば、再構成誤差を最小化することによって、（例えば、別々に又は同時に）機械加工学習され得る。エンコーダをオブジェクトに適用する手段にオブジェクトを符号化する。したがって、符号化の結果を「符号化オブジェクト」と呼ぶことができ、オブジェクトを符号化することを「オブジェクトを（例えば、エンコーダの潜在空間上に）投影すること」と呼ぶこともでき、符号化の結果を「投影オブジェクト」と呼ぶことができ、デコーダを潜在ベクトルに適用する手段に潜在ベクトルを復号すること、したがって、復号の結果を「復号潜在ベクトル」と呼ぶことができる。
【０１０４】
次に、オートエンコーダを学習する実施形態について説明する。
【数２８】
2020115337.tif 000030
を訓練セットとすると、ここで、ｎは訓練セット内の３Ｄモデル化オブジェクトの数である。この実施形態では、オートエンコーダ
【数２９】
2020115337.tif 000031
を学習することは再構成損失
【数３０】
2020115337.tif 000032
を最適化することを含み、ここで、
【数３１】
2020115337.tif 000033
はオートエンコーダによる入力サンプルと再構成サンプルとを比較する間隔であり、
【数３２】
2020115337.tif 000034
は例えば、Ｌ２ノルムとすることができる。学習プロセスはランダムノイズを各サンプル
【数３３】
2020115337.tif 000035
に適用し、クリーンバージョンのｘｉを再構築するようにオートエンコーダを訓練することによって、よりロバストにすることができる。このような例は、「ノイズ除去オートエンコーダ」（先に引用した論文［５］に紹介されている）と呼ばれることがある。本開示の文脈では、学習が前述の論文［６］で説明されているように、積み重ねられた発明エンコーダと呼ばれるバージョンで、欲張りの層様式でアーキテクチャを事前訓練することもできる。
【０１０５】
次に、基本テンプレートを決定するステップＳ３０について説明する。
【０１０６】
本開示の文脈において、基本テンプレートを決定するステップＳ３０は各々がそれぞれの機械的部分を表す３Ｄモデル化オブジェクトを含むデータセットの各サブデータセットについて実行され、データセットは１つ以上のサブデータセットを有し、各サブデータセットはデータセットの少なくとも一部を形成する。換言すれば、それぞれのサブデータセットごとに、基本テンプレートがＳ３０と決定される。
【０１０７】
ここでは、１つの対応するサブデータセットに対する基本テンプレートを決定するステップＳ３０について議論する。以下の議論は、任意の対応するサブデータセットのための任意の基本テンプレートを決定するステップＳ３０に適用されることが理解されるべきである。
【０１０８】
基本テンプレートは、例えば機械部品を表す３Ｄモデル化オブジェクトである。基本テンプレートは、メッシュ又は点群であってもよい。基本テンプレートは、サブデータセットの３Ｄモデル化オブジェクトの重心を表す３Ｄモデル化オブジェクトである。これは、基本テンプレートの幾何学的形状がサブデータセットの３Ｄモデル化オブジェクトの形状の平均幾何学的形状（例えば、ハウスドルフ距離、ワッサースタイン距離、地球移動距離、又は面取り距離などの距離による）を表す（例えば、それである）ことを意味することができる。例では、３Ｄ基本テンプレートがサブデータセットのすべての３Ｄモデル化オブジェクトに対する平均非類似性が最小であるサブデータセットの３Ｄモデル化オブジェクトである。第１の３Ｄモデル化オブジェクトと第２の３Ｄモデル化オブジェクトとの間の相違は第１の３Ｄモデル化オブジェクトの幾何学的形状と第２の３Ｄモデル化オブジェクトの幾何学的形状との間の差の定量化であってもよく、例えば、ハウスドルフ距離、ワッサースタイン距離、地球移動距離、又は面取り距離に従う。
【０１０９】
図９は、図６のデータセット６０の重心を表す決定された基本テンプレート９２の例を示す。図１０は、図７のデータセット７０の重心を表す決定された基本テンプレート１０２の例を示す。
【０１１０】
例では、基本テンプレートを決定するステップＳ３０が候補基本テンプレート内で、サブデータセットの各３Ｄモデル化オブジェクトについて、サブデータセットの３Ｄモデル化オブジェクトと候補基本テンプレートとの間の不一致にペナルティを課す損失の最小値を計算するステップＳ３００を含む。
【０１１１】
候補基本テンプレート内の損失の最小値を計算するステップＳ３００は、３Ｄモデル化オブジェクトを探索すること（例えば、反復的に）と、各探索された３Ｄモデル化オブジェクトの損失に対する影響を評価することとを含むことができる。このような場合、候補基本テンプレートは、探索された３Ｄモデル化オブジェクトを指定する。候補基本テンプレートは例えば、３Ｄモデル化オブジェクト（例えば、別の候補基本テンプレート）の変形から、又は３Ｄモデル化オブジェクト（例えば、候補基本テンプレート）の連続的な変形から生じる、３Ｄモデル化オブジェクトであってもよい。損失の最小値を計算するステップＳ３００は、任意の緩和アルゴリズムの使用を含むことができる。
【０１１２】
損失はサブデータセットの各３Ｄモデル化オブジェクトについて、３Ｄモデル化オブジェクトと候補基本テンプレートとの間の（例えば、幾何学的）類似性及び／又は非類似性を測定する量（例えば、関数）であってもよい。損失は例えば、パラメータとしてサブデータセットの各３Ｄモデル化オブジェクトを取り、候補基本テンプレートを入力として取り、入力候補基本テンプレートとサブデータセットの３Ｄモデル化オブジェクトとの間の（例えば、幾何学的である）類似性及び／又は非類似性を表す量（陽性の実数など）を出力する関数とすることができる。各３Ｄモデル化オブジェクトについて、３Ｄモデル化オブジェクトと候補基本テンプレートとの間の不均衡は３Ｄモデル化オブジェクトと候補基本テンプレートとの間の（例えば、幾何学的）非類似性の定量化であってもよい。不均衡をペナライズすることは、損失が不均衡の増加関数であることを意味し得る。
【０１１３】
したがって、基本テンプレートを決定するステップＳ３０は、３Ｄモデル化オブジェクト（候補基本テンプレート）の中で、サブデータセットの３Ｄモデル化オブジェクトとの類似性に報酬を与えることができる。特に、基本テンプレートを決定するステップＳ３０は候補基本テンプレートを反復的に探索（例えば、訪問）し、候補基本テンプレートのそれぞれについて、探索された候補基本テンプレートとサブデータセットの各３Ｄモデル化オブジェクトとの類似性を求め、報酬を与えることができ、その結果、ステップＳ３０において決定された基本テンプレートは、サブデータセットの３Ｄモデル化オブジェクトの重心を表す。
【０１１４】
例では、サブデータセットの３Ｄモデル化オブジェクトと候補基本テンプレートとの間の不均衡が３Ｄモデル化オブジェクトと候補基本テンプレートとの間の距離の関数である。
【０１１５】
距離は、３Ｄモデル化オブジェクト間の類似性及び／又は非類似性を測定する特に単純かつ効率的な方法である。
【０１１６】
距離は３Ｄモデル化オブジェクト間の任意の距離、例えば、３Ｄモデル化オブジェクト間の（例えば、幾何学的）非類似性を定量化する距離であってもよい。したがって、３Ｄモデル化オブジェクトと候補基本テンプレートとの間の距離は３Ｄモデル化オブジェクトと候補基本テンプレートとの間の（例えば、幾何学的である）相違を定量化することができる。距離は例えば、ワッサースタイン距離、地球移動体の距離、面取り距離、又はハウスドルフ距離であってもよい。不均衡は、距離の二乗のような距離の増加関数であってもよい。
【０１１７】
例では、距離が３Ｄモデル化オブジェクトを表す第１の点群と、候補基本テンプレートを表す第２の点群との間の距離である。
【０１１８】
前述のように、サブデータセットの各３Ｄモデル化オブジェクトは点群（したがって、３Ｄモデル化オブジェクトを表す）として提供されてもよく、又は３Ｄモデル化オブジェクトを表す点群は３Ｄモデル化オブジェクトが提供される別のフォーマットから決定されてもよい。いずれの場合も、基本テンプレートを決定するステップＳ３０は、サブデータセットの３Ｄモデル化オブジェクトの各々を表す点群を操作することができる。また、３Ｄモデル化オブジェクトであるので、候補基本テンプレートは、任意選択で他の３Ｄモデル化オブジェクトフォーマットから決定され得る、それぞれの点群によって表されてもよい。したがって、この距離は、ワッサースタイン距離又は地球移動距離など、点群間の任意の距離とすることができる。
【０１１９】
例では、損失が次のタイプのものである。
【数３４】
2020115337.tif 000036
【０１２０】
例では、地球移動者の距離損失
【数３５】
2020115337.tif 000037
が次式で与えられる。
【数３６】
2020115337.tif 000038
【０１２１】
例では、計算するステップＳ３００が基本３Ｄモデル化オブジェクトを提供することを含む。これらの例では、計算するステップＳ３００が基本３Ｄモデル化オブジェクトから開始して、損失に対する以前の候補基本テンプレートの効果を評価することと、以前の候補基本テンプレートを新しい候補基本テンプレートに変形することとを繰り返すことをさらに含む。
【０１２２】
基本３Ｄモデル化オブジェクトは、３Ｄモデル化オブジェクトである。基本３Ｄモデル化オブジェクトは、候補基本テンプレートである。基本３Ｄモデル化オブジェクトは、データセットの任意の３Ｄモデル化オブジェクトが提供されるときに提供されてもよい（Ｓ１０）。言い換えれば、基本３Ｄモデル化オブジェクトの提供は任意のオブジェクトを提供するステップＳ１０として、例では、例えば（例えば、実質的に）同時に実行されてもよい。
【０１２３】
次に、反復処理について説明する。反復は、基本３Ｄモデル化オブジェクトから開始する。計算するステップＳ３００は基本３Ｄモデル化オブジェクトを探索（例えば、訪問）することができ、損失に対する基本３Ｄモデル化オブジェクトの影響を評価することができる。損失に対する基本３Ｄモデル化オブジェクトの効果を評価することは、損失を計算すること、及び／又は損失を計算した結果の導関数を計算することを含むことができる。基本３Ｄモデル化オブジェクトの効果を評価することは、例えば、計算するステップＳ３００を実行する緩和アルゴリズムの収束パラメータに従って、損失の計算の結果及び／又は損失の計算の結果の導関数が損失が十分に小さいようなものであるかどうかを決定することをさらに含んでもよい。例では損失に対する効果が損失が十分に小さくないようなものである場合、基本３Ｄモデル化オブジェクトは新しい候補基本テンプレートに変形される。次に、反復は以前の候補基本テンプレートの変形から生じる各候補基本テンプレートについて、反復は損失に対する候補基本テンプレートの効果を評価することを含み、この評価は基本３Ｄモデル化オブジェクトの効果の評価として実行することができる。例では損失に対する効果が損失が十分に小さくないようなものである場合、候補基本テンプレートは新たな候補基本テンプレートに変形され、損失に対する新たな候補基本テンプレートの効果が評価され、以下同様である。言い換えれば、損失の十分な小ささが達成されない限り、反復は互いの変形である候補基本テンプレートを連続的に探索し、損失の十分でない小ささの結果として候補基本テンプレートを互いに変形させる。
【０１２４】
次に、以前の候補基本テンプレートを新しい候補基本テンプレートに変形する概念について説明する。前述のように、サブデータ基本セットの各３Ｄモデル化オブジェクトについて、以前の候補基本テンプレートの損失は、３Ｄモデル化オブジェクトと以前の候補基本テンプレートとの間の不一致にペナルティを課す。損失を評価することは、各それぞれの３Ｄモデル化オブジェクトと以前の候補基本テンプレートとの間のそれぞれの不均衡が最小のペナルティ付き不均衡（すなわち、損失のすべての不均衡の間の）であるサブデータセットの１つ又は複数の３Ｄモデル化オブジェクトを決定することを含むことができる。以前の候補基本テンプレートの変形は、次いで、１つ又は複数の３Ｄモデル化オブジェクトを以前の候補基本テンプレートに割り当てることを含むことができる。以前の候補基本テンプレートの変形は、以前の候補基本テンプレートを、例えば距離に従って、１つ又は複数の３Ｄモデル化オブジェクトの重心に変換することをさらに含むことができる。そのような場合、重心は、新しい候補基本テンプレートを形成することができる。
【０１２５】
換言すれば、計算するステップＳ３００は基本３Ｄモデル化オブジェクトから開始し、サブデータセットの３Ｄモデル化オブジェクトのうちの１つ（例えば、すべて）に対する候補基本テンプレートの非類似性が許容可能（例えば、収束パラメータよりも低い、例えば、最適）になるまで、基本３Ｄモデル化オブジェクトを連続する候補基本テンプレートに反復的に変形する。これは、３Ｄモデル化オブジェクトをサブデータセットの重心に変形する効率的な方法を構成する。
【０１２６】
例では、基本３Ｄモデル化オブジェクトは球を表す。加えて、又は代替として、損失は、サブデータセットの各３Ｄモデル化オブジェクトについて、データセットの３Ｄモデル化オブジェクトを表す第１の点群と、新しい候補基本テンプレートを表す第２の点群との間の地球移動者の距離損失にペナルティを課すことができる。
【０１２７】
基本３Ｄモデル化オブジェクトは、単位球など、球を表す点群であってもよい。このような場合、以前の候補基本テンプレートの変形の影響である各新しい候補基本テンプレートは、球体の反復変形の影響である。したがって、各新しい候補基本テンプレートは、球を表す点群の反復変形から生じる点群によって表すことができる。
【０１２８】
球体は、球体を表す点群が球体にホメオモルフィックな３Ｄモデル化オブジェクトなどの多数の３Ｄモデル化オブジェクトを表す点群に容易に変形され得るので、特に便利な基本３Ｄモデル化オブジェクトである。単位球を使用することは、サブデータセットの３Ｄモデル化オブジェクトが中心に置かれ、単位ボールスケーリングに従ってスケーリングされる点群として提供される場合に特にフィッティングされる（Ｓ１０）。地球移動者の距離は、基本３Ｄモデル化オブジェクトとしての球の使用に特にフィッティングされる。
【０１２９】
例では、基本３Ｄモデル化オブジェクトは点群である。これらの例では、反復が最適化された点群をもたらす。これらの例では、基本テンプレートを決定するステップＳ３０が最適化された点群の点上の法線を推論するステップＳ３３０をさらに含むことができる。これらの例では、基本テンプレートを決定するステップＳ３０が推論された法線に基づいて最適化された点群の表面再構成を実行するステップＳ３４０をさらに含むことができる。
【０１３０】
点群は基本３Ｄモデル化オブジェクトを表す点群の反復変形から生じるように最適化され、前記変形は基本３Ｄモデル化オブジェクトを表す点群を最小損失を表す点群に変形するために実行される（又は少なくとも、損失の最小の近似を表す）。
【０１３１】
法線を推論するステップＳ３３０は、点群の点上の法線を推論することができる任意の方法によって実行することができる。法線は、最適化された点群に関するトポロジ情報を提供する。表面再構成の実行は、点群と推論された法線に基づいて、点群とかみ合う表面を推論することができる任意の方法によって実行されてもよい。その結果、ステップＳ３０において決定された基本テンプレートは、サブデータセットの重心を表す３Ｄメッシュとして出力されてもよい。言い換えれば、例では、ステップＳ３０において決定された基本テンプレートが表面再構成を実行するステップＳ３４０の結果である。
【０１３２】
基本３Ｄモデル化オブジェクトを表す点群の点は、少なくとも幾何学的観点から最適化される。換言すれば、最適化された点群は幾何学的観点からのみ３Ｄモデル化オブジェクトの重心を正確に表すことができるが、正しいトポロジを有することはできない。例えば、サブデータセットはクラスの３Ｄモデル化オブジェクトから作成されてもよく、最適化された点群はサブデータセットの重心を幾何学的に表してもよいが、例えば、最適化された点群が例えば、ネイティブにメッシュ化された場合、クラスの３Ｄモデル化オブジェクトを表さないような、誤ったトポロジーを有する可能性がある。法線を推論し（Ｓ３３０）、後続の表面再構成を実行する（Ｓ３４０）ことは、これらの困難を回避し、新しいメッシュが正しいトポロジを有するように最適化された点群を再メッシュすることを可能にする。したがって、ステップＳ３０において決定された基本テンプレートは、これらの例ではクラスの３Ｄモデル化オブジェクトの重心を表す３Ｄモデル化オブジェクトとすることができる。
【０１３３】
ここで、図１１〜１６を参照して、法線の推定するステップＳ３３０及び表面再構成の実行するステップＳ３４０の実施について議論する。図１１は、球を表す点群である基本３Ｄモデル化オブジェクト１１０の一例を示す。図１２は、椅子を表す最適化された点群１２０を示す。最適化された点群はその間違ったトポロジを有する最適化された点群１２０を示す図１３に示されるように、間違ったトポロジを有する。図１３に見られるように、最適化された点群１３０は、それが有するべき椅子のトポロジーを有していない。この実施形態では、基本テンプレートを決定するステップＳ３０が、決定するステップＳ３０が最適化された点群を配置する粗いグリッドを提供するステップＳ３１０を含む。点を含む各ボクセルは値１を有し、他のボクセルはヌル値を有する。この実施形態では、決定するステップＳ３０がグリッドから粗いメッシュを抽出するステップＳ３２０をさらに含む。粗メッシュの抽出Ｓ３２０は、等値が１に近いマーチングキューブアルゴリズムを適用することによって実行することができる。図１４は、図１２の最適化された点群１２０から抽出された粗いメッシュ１４０を示す。この実装では、法線の推定するステップＳ３３０が最適化された点群１２０の各点の法線を正確に計算するために、マーチングキューブアルゴリズムからの粗いメッシュを使用することを含む。法線の推論Ｓ３３０は各点を粗メッシュの最も近い三角形に投影し、その法線に対して三角形の法線の重み付け平均を割り当てることを含むことができ、重みは、投影された点の重心重みである。図１５Ａは、推論された法線を有する図１２の最適化された点群１５０を示す。これらの適切な法線を用いて、決定するステップＳ３０はさらに、ポアソン表面再構成を実行するステップＳ３４０を含む。これにより、正確なトポロジーを有する３Ｄメッシュである基本テンプレートを得ることができる。決定するステップＳ３０は、任意選択で、頂点が多すぎる場合に３Ｄメッシュをデシメートするステップを含むことができる。図１５Ｂは、Ｓ３４０のポアソン表面再構成を実行することによって、図１５Ａの推論された法線を用いて最適化された点群１５０から取得された３Ｄ基本テンプレート１６０の一例を示す。
【０１３４】
１つの対応するサブデータセットに対する基本テンプレートを決定するステップＳ３０について議論した。２つ以上の対応するサブデータセットがある場合、対応するサブデータセットについて、対応するサブデータセットについての基本テンプレートの決定は、同様に実行されてもよいことを理解されたい。全ての対応するサブデータセットの全ての基本テンプレートは、同時に決定される（Ｓ３０）ことができる。特に、実施例ではこれらの基本テンプレートの同時に決定するステップＳ３０が同時に、各サブデータセットに対して、少なくとも損失の計算するステップＳ３００を含み、計算するステップＳ３００は各サブデータセットに対して、先に説明したように実行される。
【０１３５】
ここでは、これらの基本テンプレートの同時に決定するステップＳ３０の例を、Ｓ３００を計算することによって、同時に、各サブデータセットについて、損失の最小値を検討する。
【０１３６】
これらの例では損失の最小値の、対応するサブデータセットごとの、同時に計算するステップＳ３００は共通の損失を最小化することを含む。共通損失を最小化することは、前述のように、それぞれのサブデータセットごとに各計算するステップＳ３００を実行することに対応し得る（例えば、同等であることを意味する）。データセットの各３Ｄモデル化オブジェクトについて、共通損失は、複数の項の中から１つの項を選択する。各項は、３Ｄモデル化オブジェクトと候補基本テンプレートとの間の不均衡にペナルティを課す。選択された項は、不均衡が最小のペナルティを課される複数の項のうちの１つの項であってもよい。
【０１３７】
共通損失はデータセットの各３Ｄモデル化オブジェクトについて、３Ｄモデル化オブジェクトとそれぞれの候補基本テンプレートとの間の２つ以上の（例えば、幾何学的である）それぞれの類似性及び／又は非類似性を測定する量（例えば、関数）であってもよい。複数の項の各項は２つ以上の（例えば、幾何学的である）対応する類似性及び／又は非類似性のそれぞれ１つの尺度であってもよい。したがって、３Ｄモデル化オブジェクトとそれぞれの候補基本テンプレートとの間の、項によってペナルティを課された不均衡は３Ｄモデル化オブジェクトと候補基本テンプレートとの間の（例えば、幾何学的）非類似性の定量化であってもよい。したがって、不均衡をペナライズすることは、その項が不均衡の増加関数であることを意味し得る。共通損失は複数の項の中から、データセットの各３Ｄモデル化オブジェクトについて、ペナルティが最小である項を選択する。例では、共通損失がパラメータとして、データセットの３Ｄモデル化オブジェクトを取り、インプット基本テンプレート候補として取り、各３Ｄモデル化オブジェクトに対して選択される各項の関数（例えば、和）である量（例えば、正の実数）を出力する関数であることが手段である。言い換えると、損失はデータベースの各３Ｄモデル化オブジェクトについて、どの候補基本テンプレートが３Ｄモデル化オブジェクトに（例えば、幾何学的に）最も類似しているかを表す結果を出力することができる。共通損失の最小化は、ミニバッチ確率勾配緩和アルゴリズムのような任意の緩和アルゴリズムを使用することができる。
【０１３８】
例では、３Ｄモデル化オブジェクトとそれぞれの候補基本テンプレートとの間の不均衡が３Ｄモデル化オブジェクトとそれぞれの候補基本テンプレートとの間の距離を含む。
【０１３９】
距離は、３Ｄモデル化オブジェクト間の類似性及び／又は非類似性を測定する特に単純かつ効率的な方法である。
【０１４０】
距離は、ハウスドルフ距離、ワッサースタイン距離、チャムファー距離、アースムーバー距離など、任意の距離をとることができる。例では、不均衡が３Ｄモデル化オブジェクトとそれぞれの候補基本テンプレートとの間の距離の（例えば、増加する）関数であるという点で、３Ｄモデル化オブジェクトとそれぞれの候補基本テンプレートとの間の距離を含む。例では、不均衡が３Ｄモデル化オブジェクトとそれぞれの候補基本テンプレートとの間の距離の計算に対する結果に依存するという点で、３Ｄモデル化オブジェクトとそれぞれの候補基本テンプレートとの間の距離を含む。
【０１４１】
例では、距離が３Ｄモデル化オブジェクトを表す第１の点群と、それぞれの候補基本テンプレートを表す第２の点群との間の距離である。
【０１４２】
前述のように、データセットの各３Ｄモデル化オブジェクトは点群（したがって、３Ｄモデル化オブジェクトを表す）として提供されてもよく、又は３Ｄモデル化オブジェクトを表す点群は３Ｄモデル化オブジェクトが提供される別のフォーマットから決定されてもよい。いずれの場合も、決定するステップＳ３０は、データセットの３Ｄモデル化オブジェクトの各々を表す点群を操作することができる。また、３Ｄモデル化オブジェクトであるため、それぞれの候補基本テンプレートはそれぞれの点群によって表されてもよく、これは任意選択で、他の３Ｄモデル化オブジェクトフォーマットから決定されてもよい。したがって、この距離は、ワッサースタイン距離又は地球移動距離など、点群間の任意の距離とすることができる。
【０１４３】
例では、共通損失は次のタイプのものである。
【数３７】
2020115337.tif 000039
【０１４４】
例では、
【数３８】
2020115337.tif 000040
は地球移動者の距離損失であり、次式で与えられる。
【数３９】
2020115337.tif 000041
例では、共通の損失
【数４０】
2020115337.tif 000042
を最小化することは同時に、かつ対応するサブデータセットごとに、前述した損失の最小値
【数４１】
2020115337.tif 000043
を計算するステップＳ３００をもたらす（例えば、それと同等であることを意味する）。
【０１４５】
ここでは、ｋ個の基本テンプレート（ｋ≧２である）を決定するステップＳ３０の実装について議論する。
【０１４６】
この実施態様ではデータセットがｎ個の３Ｄモデル化オブジェクトからなり、
【数４２】
2020115337.tif 000044
と表される。各３Ｄモデル化オブジェクトｘｉは中心に置かれ、単位ボールスケーリングに従ってスケーリングされる点群であり、ｍは各点群ｘｉの点の共通数である。決定するステップＳ３０は共通の損失を最小化するステップと、共通の損失を最小化するステップとを含み、共通の損失を最小化するステップはそれぞれが、ｍ個の点を有する単位球である基本３Ｄモデル化オブジェクトを表すｋ個の点群
【数４３】
2020115337.tif 000045
を提供するステップとを含む。この実施形態では、決定するステップＳ３０が各基本３Ｄモデル化オブジェクトが互いに非常にわずかに異なるように、各点群Ｓｊに非常に小さなノイズを追加することを含む。これは、各基本３Ｄモデル化オブジェクトが最初から、他の基本３Ｄモデル化オブジェクトと既に異なり、したがって、データセットのいくつかの３Ｄモデル化オブジェクトの共通形状を表すように既にわずかに特殊化されているので、データベースセットの対応するｋ個のサブデータセットのｋ個の重心を決定するステップＳ３０を容易にする。
【０１４７】
この実施形態では、最小化される共通損失が次のタイプのものである。
【数４４】
2020115337.tif 000046
ここで、
【数４５】
2020115337.tif 000047
はデータセットの３Ｄモデル化オブジェクトを表す第１の点群ｘｉと、候補基本テンプレートを表す第２の点群Ｓｊとの間の地球移動者の距離損失である。共通損失の最小化は損失を（ミニバッチ確率的勾配降下によって）最小化するために、各球の点を最適化するために、先に引用した論文［１２］に提示された緩和アルゴリズムを使用することによって実行することができる。
【０１４８】
各基本３Ｄモデル化オブジェクトは、各訓練モデルに対して最小値が最も近い基本３Ｄモデル化オブジェクトのみを最適化するので、他の最適化された基本３Ｄモデル化オブジェクトとは異なる種類の形状を表す基本テンプレート形状において決定するステップＳ３０によって最適化される。各基本３Ｄモデル化オブジェクトは、他の対応するサブデータセットとは異なる、データセットの対応するサブデータセットの３Ｄモデル化オブジェクトの重心を代表、特定の基本テンプレートにおいてそれ自体を特殊化する。言い換えれば、各基本テンプレートは、地球移動者の距離が与えられた３Ｄモデルのデータセット内のそれ自体のクラスタの重心を表す。
【０１４９】
各基本３Ｄモデル化オブジェクトを、それ自体の３Ｄモデル化オブジェクト形状に特化させるために、決定するステップＳ３０のこの実装は、ミニバッチ訓練中に再割り当てアルゴリズムを使用することもできる。実際に、すべての３Ｄモデル化オブジェクトが同じ基本テンプレートに対してそれらの最小損失に達し、最適化されるべき他の基本３Ｄモデル化オブジェクトを妨げることが起こり得る。その影響を妨げるために、訓練中の各ミニバッチにおいて、各以前の候補基本テンプレートについて、決定するステップＳ３０は、以前の候補テンプレート（第１の再割り当てアルゴリズム）の損失に従って、第１の点群を降順にソートすることができる。あるいは、決定するステップＳ３０が前の候補基本テンプレートと、この３Ｄモデル化オブジェクトを再構成する最良の候補基本テンプレートとの間の損失差に従って、第１の点群をソートすることができる（第２の再割り当てアルゴリズム）。次いで、決定するステップＳ３０は最上部Ω（ここでΩはミニバッチサイズの小さな割合である）を前の候補基本テンプレートに割り当てることを強制することができ、これは、決定するステップＳ３０がこの第１の点群のために
【数４６】
2020115337.tif 000048
を変更し、またその結果
【数４７】
2020115337.tif 000049
を変更して、この第１の点群のためのこのテンプレートを逆伝播が通過するように強制することを意味する。その結果、以前の候補基本テンプレートを新しい候補基本テンプレートに変形することができる。
【０１５０】
次に、第１及び第２の再割り当てアルゴリズムについて説明する。両方のアルゴリズムは、入力として以下を取る。
【数４８】
2020115337.tif 000050
【０１５１】
どちらのアルゴリズムも以下を出力。
・再割当後のミニバッチ全体の損失L_１
【０１５２】
以下は、最初の再割り当てアルゴリズムの擬似コードである。
【数４９】
2020115337.tif 000051
【０１５３】
以下は、第２の再割り当てアルゴリズムの擬似コードである。
【数５０】
2020115337.tif 000052
【０１５４】
共通損失Ｌ１の最小化により、各３Ｄ基本テンプレートの頂点の最適化に対応するｋ個の最適化された点群が生じるが、トポロジを考慮に入れることはできない。これは、正確な点群を有するが間違ったトポロジを有する基本テンプレートにつながる可能性がある。したがって、決定するステップＳ３０は、基本テンプレートの再メッシュ化を含むことができる。そのような場合、決定するステップＳ３０は、各基本テンプレートについて、決定するステップＳ３０が基本テンプレートを入れる粗いグリッドを提供するステップＳ３１０を含むことができる。点を含む各ボクセルは値１を有し、他のボクセルはヌル値を有する。次いで、決定するステップＳ３０は例えば、１に近い等値を有するマーチングキューブアルゴリズムを適用することによって、各粗いグリッドから粗いメッシュを抽出するステップＳ３２０を含んでもよい。次いで、決定するステップＳ３３０は、各最適化された点群の点上の法線を推論するステップＳ３３０を含むことができる。法線の推定するステップＳ３３０は各最適化された点群の各点について正確な法線を計算するために、マーチングキューブアルゴリズムからの粗いメッシュを使用することを含むことができる。これは、各点を粗メッシュの最も近い三角形上に投影し、その法線に対して三角形の法線の重み付き平均を割り当てることからなり、重みは投影された点の重心重みである。これらの適切な法線を用いて、決定するステップＳ３４０は正確なトポロジーを有する基本テンプレートを得るために、各最適化された点群に対して（例えば、ポアソン）表面再構成を実行するステップを含むことができ、このトポロジーは、頂点が多すぎる場合に最終的に間引かれることができる。
【０１５５】
次に、２つの基本テンプレートが決定される例Ｓ３０について、図１６〜１９を参照して説明する。図１６は、４本の脚を有する椅子で作られたデータセット１６０の一例を示す。データセットは、４本の脚を有する２つのクラスの椅子、４本の脚及び狭い椅子の背もたれを有する椅子で作られた第１のクラス１６２、及び４本の脚及び広い椅子の背もたれを有する椅子で作られた第２のクラス１６４に分割される。図１７及び図１８は、それぞれ、第１のクラス１６２の重心を表す第１の基本テンプレート及び第２のクラス１６４の重心を表す第２の基本テンプレートを決定するステップＳ３０を示す。点群１７０及び１８０は２つの基本３Ｄモデル化オブジェクトであり、各々が最適化点群１７４及び１８４に反復的に変形される（１７２、１８２）。図１９は、それぞれ最適化された点群１７４及び１８４の表面再構成である第１の基本テンプレート１９０及び第２の基本テンプレート１９２を示す。
【０１５６】
次に、ニューラルネットワークの学習ステップＳ４０について説明する。
【０１５７】
前述のように、学習するステップＳ４０ニューラルネットワークは、１つ以上のニューラルネットワーク、例えば２つ以上のニューラルネットワークのセットの決定を指定する。セットの各ニューラルネットワークは、それぞれの重みを有する。ニューラルネットワークのセットを学習するステップＳ４０は、ニューラルネットワークのセットを提供するステップＳ４００を含むことができる。ニューラルネットワークのセットを提供するステップＳ４００は、ユーザによって実行されてもよい。例えば、ユーザは、データセットが格納されているメモリからニューラルネットワークの集合を検索することができる。各ニューラルネットワークは構造として提供（Ｓ４０）されてもよいが、ニューラルネットワークの訓練は依然として行われなければならない。言い換えれば、ニューラルネットワークの重みを含む各ニューラルネットワークの構造はＳ４００で提供されてもよいが、重みは依然として初期化され（Ｓ４１０）、及び／又は修正されなければならない（Ｓ４２０）。ニューラルネットワークのセットを学習するステップＳ４０は、各ニューラルネットワークのそれぞれの重みを初期化すること（Ｓ４１０）、及び／又はニューラルネットワークのそれぞれの重みを修正すること（Ｓ４２０）を含むことができる。それぞれの重みを修正するステップＳ４２０は前述したように、訓練の一部であってもよい。訓練はすべてのニューラルネットワークの同時訓練であってもよく、前述のように、データセットに基づくものであってもよい。例では、それぞれのニューラルネットワークの訓練がデータセット全体に基づくことが手段である。代替的に又は追加的に、それは対応するニューラルネットワークの訓練がデータセットの対応するサブデータセットに基づいており、データセットは１つ又は複数の対応するサブデータセットを含み、対応するサブデータセットはデータセットの少なくとも一部を形成することを意味することができる。以下、「データセット」は、ニューラルネットワークのセットの訓練が今述べたように実行されるデータセットを指す。
【０１５８】
例では、それぞれの重みを初期化するステップＳ４１０がニューラルネットワークのセットを提供するステップＳ４００の後、それぞれの重みを修正するステップＳ４２０の前に実行される。それぞれの重みを初期化するステップＳ４１０は一般に、例えば、ユーザ対話によって、セットの各ニューラルネットワークのそれぞれの重みの値を指定する（例えば、宣言する）ことを含む。例では、各ニューラルネットワークのそれぞれの重みがすべて、所定の閾値よりも低い値に初期化され得る（Ｓ４１０）。所定の閾値は、ユーザによって提供されてもよい。所定の閾値は、１、０．５、０．１又は０．００１より低くてもよい。
【０１５９】
例では、最初にゼロに近く初期化されるのは重みではなく、（合理的である）入力が何であれ、ゼロに近くなるのはニューラルネットワークの出力である。しかしながら、実際には使用されるアーキテクチャが与えられると、初期化Ｓ４１０において弱い重みを置くことはニューラルネットワークが弱い変形を予測することによって開始することを確実にすることを可能にする。したがって、例では、それ自体しきい値は存在せず、すべてが使用されるアーキテクチャに依存する。このような例では、初期化Ｓ４２０がニューラルネットワークの出力が学習が開始する前に小さな歪みを予測するように実行されてもよい。
【０１６０】
Ｓ４１０で、ニューラルネットワークの各の重みを、そのような所定閾値よりも低い値に初期化することは、各の基本テンプレートの変形を各３Ｄモデル化オブジェクトに推論するように構成されたニューラルネットワークを学習するように特にフィッティングされる。そのような場合、ニューラルネットワークの入力が何であれ、ニューラルネットワークの出力が小さいこと、すなわち、対応する基本テンプレートの小さい変形であることを必要とすることがある。実際、対応する基本テンプレートが、データベースセットのサブデータセットの重心を表す場合、対応する基本テンプレートはサブデータセットの３Ｄモデル化オブジェクトに変換されるために、あまり変形される必要はなく、かつ／又は大まかに変形される必要はない。ニューラルネットワークの重みをこのように初期化するステップＳ４１０によって、学習するステップＳ４０は、ニューラルネットワークがサブデータセットの３Ｄモデル化オブジェクトを出力することによって訓練を開始することを保証する。言い換えれば、ニューラルネットワークはそれぞれの重みを初期化するステップＳ４１０から、それぞれの基本テンプレートの変形を、それぞれの基本テンプレートが重心であるサブデータセットの３Ｄモデル化オブジェクトに推論することに特化する。
【０１６１】
次に、ニューラルネットワークのそれぞれの重みを修正するステップＳ４２０について説明する。
【０１６２】
ニューラルネットワークのそれぞれの重みを修正するステップＳ４２０はデータセットの各３Ｄモデル化オブジェクトについて、複数の項の中から１つの項を選択し、各項は３Ｄモデル化オブジェクトと、セットのそれぞれのニューラルネットワークによって推論されるそれぞれの３Ｄモデル化オブジェクトとの間の不均衡にペナルティを課し、選択された項は、不均衡が最小ペナルティである複数の項の中の１つの項で損失を最小化することによって実行される。
【０１６３】
「ニューラルネットワークのそれぞれの重みを修正する」とは、ニューラルネットワークの少なくとも一部（例えば、すべて）のそれぞれの重みの少なくとも一部（例えば、すべて）が例えば、損失の反復最小化中に反復的に修正されることを意味する。たとえば、損失の最小化は１つ又は複数のアルゴリズムの実行を含むことができ、１つ又は複数のアルゴリズムの少なくとも部品（たとえば、すべての）ステップは、実行時にそれぞれの重みを修正することができる。損失の最小化は、ミニバッチにわたるＡＤＡＭソルバなどの任意の深い学習技術を使用することができる。
【０１６４】
損失はデータセットの各３Ｄモデル化オブジェクトについて、３Ｄモデル化オブジェクトと対応するニューラルネットワークによって推論される対応する３Ｄモデル化オブジェクトとの間の２つ以上の（例えば、幾何学的である）対応する類似性及び／又は非類似性を測定する量（例えば、関数）であってもよい。複数の項の各項は２つ以上の（例えば、幾何学的である）対応する類似性及び／又は非類似性のそれぞれ１つの尺度であってもよい。したがって、３Ｄモデル化オブジェクトと、対応するニューラルネットワークによって推論される対応する３Ｄモデル化オブジェクトとの間の、項によってペナルティを課された不均衡は３Ｄモデル化オブジェクトと、対応するニューラルネットワークによって推論される対応する３Ｄモデル化オブジェクトとの間の（例えば、幾何学的）非類似性の定量化であり得る。したがって、不均衡をペナライズすることは、その項が不均衡の増加関数であることを意味し得る。損失は複数の項の中から、データセットの各３Ｄモデル化オブジェクトについて、ペナルティが最も少ない項を選択する。例では、損失がパラメータとしてデータセットの３Ｄモデル化オブジェクトを取り、入力としてニューラルネットワークのセットを取り、各３Ｄモデル化オブジェクトに対して選択される各項の関数（例えば、和）である量（例えば、正の実数）を出力する関数であることが手段である。言い換えれば、損失はデータセットの各３Ｄモデル化オブジェクトについて、３Ｄモデル化オブジェクトに（例えば、幾何学的に）最も類似している対応する３Ｄモデル化オブジェクトをニューラルネットワークが推論することを表す結果を出力することができる。
【０１６５】
例では３Ｄモデル化オブジェクトと、セットの対応するニューラルネットワークによって推論される対応する３Ｄモデル化オブジェクトとの間の不均衡は３Ｄモデル化オブジェクトと、セットの対応するニューラルネットワークによって推論される対応する３Ｄモデル化オブジェクトとの間の距離を含む。
【０１６６】
距離は、３Ｄモデル化オブジェクト間の類似性及び／又は非類似性を測定する特に単純かつ効率的な方法である。
【０１６７】
距離は、ハウスドルフ距離、ワッサースタイン距離、チャムファー距離、アースムーバー距離など、任意の距離をとることができる。例では、不均衡が３Ｄモデル化オブジェクトと、セットの対応するニューラルネットワークによって推論される対応する３Ｄモデル化オブジェクトとの間の距離を含み、不均衡は３Ｄモデル化オブジェクトと、セットの対応するニューラルネットワークによって推論される対応する３Ｄモデル化オブジェクトとの間の距離の（例えば、増加する）関数である。例では不均衡が３Ｄモデル化オブジェクトと、セットの対応するニューラルネットワークによって推論される対応する３Ｄモデル化オブジェクトとの間の距離を含み、不均衡は３Ｄモデル化オブジェクトと、セットの対応するニューラルネットワークによって推論される対応する３Ｄモデル化オブジェクトとの間の距離の計算に対する結果に依存する。
【０１６８】
例では、距離が３Ｄモデル化オブジェクトを表す第１の点群と、セットの対応するニューラルネットワークによって推論される対応する３Ｄモデル化オブジェクトを表す第２の点群との間の距離である。
【０１６９】
前述のように、データセットの各３Ｄモデル化オブジェクトは点群（したがって、３Ｄモデル化オブジェクトを表す）として提供されてもよく、又は３Ｄモデル化オブジェクトを表す点群は３Ｄモデル化オブジェクトが提供される別のフォーマットから決定されてもよい。いずれの場合も、修正するステップＳ４２０は、データセットの３Ｄモデル化オブジェクトのそれぞれを表す点群を操作することができる。また、３Ｄモデル化オブジェクトであるので、セットの対応するニューラルネットワークによって推論される対応する３Ｄモデル化オブジェクトは対応する点群によって表されてもよく、点群は任意選択で、他の３Ｄモデル化オブジェクトフォーマットから決定されてもよい。したがって、距離は、ワッサースタイン距離又は地球移動者の距離など、点群間の任意の距離とすることができる。
【０１７０】
例では、各ニューラルネットワークが対応する基本テンプレートの変形を対応する３Ｄモデル化オブジェクトに推論するように構成される。これらの例では、それぞれの基本テンプレートが３Ｄモデル化オブジェクトである。
【０１７１】
例では、各基本テンプレートがデータセットのサブデータセットの３Ｄモデル化オブジェクトの重心を表す３Ｄモデル化オブジェクトである。
【０１７２】
例では、損失が次のタイプのものである。
【数５１】
2020115337.tif 000053
【０１７３】
例では、Ｄ２は面取り距離損失である。
【数５２】
2020115337.tif 000054
【０１７４】
例では、最小化がデータセットの３Ｄモデル化オブジェクトのセットを選択することと、選択されたセットの各３Ｄモデル化オブジェクトについて、３Ｄモデル化オブジェクトと、対応するニューラルネットワークによって推論される対応する３Ｄモデル化オブジェクトとの間の不均衡の小ささに報酬を与えることによって、対応するニューラルネットワークを３Ｄモデル化オブジェクトに割り当てることとの反復を含む。これらの例では、対応するニューラルネットワークが選択されたセットの１つ又は複数の３Ｄモデル化オブジェクトに割り当てられる。これらの例では、各ニューラルネットワークの重みは割り当ての結果として修正される。
【０１７５】
選択の反復は、データセットの各３Ｄモデル化オブジェクトが少なくとも１回選択されるまで、及び／又はデータセットの各３Ｄモデル化オブジェクトがそれに割り当てられた対応するニューラルネットワークを有するまで、実行されてもよい。選択されたセットの３Ｄモデル化オブジェクトに対応するニューラルネットワークを割り当てることは、３Ｄモデル化オブジェクトと、対応するニューラルネットワークによって推論された対応する３Ｄモデル化オブジェクトとの間の不均衡にペナルティを課す損失の各項を評価することを含むことができる。選択されたセットの３Ｄモデル化オブジェクトにそれぞれのニューラルネットワークを割り当てることは、不均衡が最小のペナルティを課される項を評価することをさらに含むことができる。例では、評価された項によってペナルティを課された不均衡に対応するそれぞれのニューラルネットワークが３Ｄモデル化オブジェクトに割り当てられたものである。
【０１７６】
言い換えれば、修正するステップＳ４２０方法はデータセット内の３Ｄモデル化オブジェクトのセットを反復的に訪れ、各セットの各３Ｄモデル化オブジェクトに、３Ｄモデル化オブジェクトに（例えば、幾何学的に）最も類似する対応する３Ｄモデル化オブジェクトを推論する対応するニューラルネットワークを割り当てる。したがって、対応するニューラルネットワークごとに、１つ又は複数の３Ｄモデル化オブジェクトが、対応するニューラルネットワークに反復的に割り当てられる。対応するニューラルネットワークの重みは、各割り当てにおいて修正される。例では対応するニューラルネットワークの重みが、対応するニューラルネットワークが対応するニューラルネットワークに現在割り当てられており、以前に割り当てられている少なくとも対応する３Ｄモデル化オブジェクトを推論するように構成されるように修正されることを意味する。
【０１７７】
したがって、修正するステップＳ４２０はセットの３Ｄモデル化オブジェクトを反復的に探索し、対応するニューラルネットワークを１つ又は複数の３Ｄモデル化オブジェクトに反復的に割り当てる。重みはまた、対応するニューラルネットワークが少なくともそれに割り当てられた３Ｄモデル化オブジェクトを推論する際に特化するように、反復的に修正されてもよい。言い換えれば、修正するステップＳ４２０はデータセットの３Ｄモデル化オブジェクトの１つ又は複数のサブデータセット（例えば、クラス）の選択を操作し、実質的に同時に、各それぞれのニューラルネットワークのそれぞれの重みを修正して、各それぞれのニューラルネットワークが、サブデータセットのそれぞれの１つの３Ｄモデル化オブジェクトの推論に特化するようにすることができる。
【０１７８】
ここで、対応するニューラルネットワークが、３Ｄモデル化オブジェクトの推論のために構成された対応するデコーダを備える対応するオートエンコーダである例の実装について説明する。
【０１７９】
この実装では、
【数５３】
2020115337.tif 000055
を、Ｓ３０において決定されたｋ個の基本テンプレートとする（ｋ≧２である）。学習するステップＳ５０は、基本テンプレート毎に１つずつｋ個のオートエンコーダ
【数５４】
2020115337.tif 000056
を学習することからなる。各エンコーダは、先に引用した論文［８，９，１０，１１］に基づいて、３Ｄモデル化オブジェクトを表す入力３Ｄメッシュのサンプリングｘを入力として受け取る。各デコーダｇｉは潜在ベクトルｆｊ（ｘ）及び３Ｄ座標ｙを入力として、基本テンプレートＳｊの変形を予測し、変形されたテンプレートが
【数５５】
2020115337.tif 000057
として得られる。各デコーダは、学習が始まる前に小さな変形を予測するように初期化される。これは、前述のように、各デコーダのそれぞれの重みを、所定のしきい値よりも低い初期値に初期化すること（Ｓ４１０）を含むことができる。それぞれの重みは、（ミニバッチに対するＡＤＡＭソルバのような標準的な深い学習技術を使用して）以下の面取り距離損失を最小化することによって修正される（Ｓ４２０）。
【数５６】
2020115337.tif 000058
ここで、
【数５７】
2020115337.tif 000059
は面取り距離である。
【０１８０】
損失は、前述した第１の再割当てアルゴリズム又は第２の再割当てアルゴリズムに類似した再割当てアルゴリズムを使用することによって最小限に抑えることができる。これにより、訓練中に各ミニバッチの少なくとも数個の３Ｄモデル化オブジェクトによって、各オートエンコーダの再割り当て
【数５８】
2020115337.tif 000060
を可能にし、その
【数５９】
2020115337.tif 000061
を、各オートエンコーダに最適化させることができる。この実施態様ではオートエンコーダは基本テンプレートから開始するので、オートエンコーダは関連する基本テンプレートによって表される３Ｄモデル化オブジェクトの種類に特化することが容易である。さらに、それらは入力にマッチするためにこの基本テンプレートをわずかに変形する必要があるだけであり、その結果、オートエンコーダはそれらの出力のより一貫したトポロジを保証する。
【０１８１】
次に、プロセスの実施について説明する。
【０１８２】
この実施形態ではプロセスがいくつかのオートエンコーダをメッシュ上に学習し、各オートエンコーダは特定の種類のトポロジに自動的に特化する。各デコーダはまた、それ自身の基本テンプレートを変形し、基本テンプレートは、提供されたＳ１０データベースセットに存在する異なる種類のベース形状を表すように自動的に決定される（Ｓ３０）。これは、より良好な精度及びより低い再構成損失で多様体を学習し、異なるトポロジーを効率的に処理し、再構成された形状がより一貫したトポロジーを共有することを保証することを可能にする。
このプロセスの実施は４つのステージ１、２、３及び４を含み、これらはここで説明される。
【０１８３】
１．データセットのサンプル
【数６０】
2020115337.tif 000062
ステップＳ１０において提供された３Ｄメッシュのデータセットあるとする。通常は同じクラスの対象（たとえば、椅子のデータセット）に属しているとする。このプロセスは、６つの正投影図上の各モデルをレイキャストすることによって、データセット内の各形状から点群ｍを抽出することを含む。このプロセスはさらに、固定数の点ｍを得るために各点群を均一にサブサンプリングすることを含む。そうするために、プロセスは点群のランダムな点によって開始し、既に選択された点から点群の最も遠い点を、我々が多数の点に到達するまで繰り返し選択する。ここで、
【数６１】
2020115337.tif 000063
は訓練メッシュのサンプリングされた点群を表す。このプロセスでは、形状の中心をさらに中心に合わせ、単位ボールスケーリングを適用する。
【０１８４】
２．基本テンプレートの学習−  ｋ個の基本テンプレートを決定するステップＳ３０
このプロセスは、それぞれｍ個の点を有するｋ個の単位球
【数６２】
2020115337.tif 000064
から開始する。このプロセスは各球体が互いに非常にわずかに異なるように、各球体に非常に小さいノイズを加える。
【０１８５】
このプロセスは以前に引用した論文［１２］に提示された緩和アルゴリズムを使用して、各球の点を最適化し、次の地球移動者の距離損失を（ミニバッチの確率的勾配降下によって）最小化する。
【数６３】
2020115337.tif 000065
ここで、
【数６４】
2020115337.tif 000066
はテンプレートＳｊと形状ｘｉとの間の地球移動体の距離損失である。
【０１８６】
各球は他の最適化された球とは異なる一種の形状を表す基本テンプレート形状で最適化される。なぜなら、各訓練モデルに対して、最小値は、最も近い球のみを最適化するからである。各球体は、他の球体とは異なる特定のトポロジー及び形状の種類を表す特定の基本テンプレートに特化する。各基本テンプレートは、（地球移動者の距離が与えられた）３Ｄモデルの空間におけるそれ自体のクラスタの重心として解釈することができる。
【０１８７】
各球体をそれ自体の形状に特化させるために、プロセスはまた、ミニバッチ訓練中に再割り当てアルゴリズムを使用する。実際、すべての形状が同じ基本テンプレートに対して最小損失に達し、他の球が最適化されるのを妨げることが起こり得る。再割当アルゴリズムは、前述の第１の再割当アルゴリズム及び第２の再割当アルゴリズムのうちの１つとすることができる。
【０１８８】
損失Ｌ１は球体の頂点を最適化するが、トポロジーは考慮しない。これにより、正確な点群を持つ基本テンプレートが作成されるが、間違ったトポロジになる。したがって、このプロセスは、基本テンプレートを再メッシュ化することを含む。そうするために、プロセスは各基本テンプレートを粗い３Ｄグリッドに入れ、点を含む各ボクセルは値１を有し、他のボクセルはヌル値を有する。次に、このプロセスは、１に近い等値を有するマーチングキューブアルゴリズムを適用して、各基本テンプレートの粗いメッシュを抽出することを含む。このプロセスは各基本テンプレートの各点について正確な法線を計算するために、マーチングキューブアルゴリズムからの粗いメッシュを使用する。プロセスは各点を粗メッシュの最も近い三角形上に単に投影し、その法線に対して三角形の法線の重み付き平均を割り当て、重みは投影された点の重心重みである。これらの適切な法線を用いて、プロセスは正確なトポロジーを有する基本テンプレートを得るために、ポアソン表面再構成を実行し、このプロセスは、頂点が多すぎる場合に最終的に間引くことができる。ここで、
【数６５】
2020115337.tif 000067
はｋ個の学習済基本テンプレートを表す。各基本鋳型が球体に対してホメオモルフィックであることに注目されたい。
【０１８９】
３．多様体を学習−ｋ個のオートエンコーダを学習するステップＳ４０
このプロセスはさらに、各基本テンプレートに１つずつｋ個のオートエンコーダ
【数６６】
2020115337.tif 000068
を学習することを含む。各エンコーダは、先に引用した論文［８，９，１０，１１］に基づいて、入力メッシュのサンプリングを入力として取る。各デコーダｇｉは潜在ベクトルｆｊ（ｘ）及び３Ｄ座標ｙを入力として、基本テンプレートＳｊの変形を予測し、変形されたテンプレートが
【数６７】
2020115337.tif 000069
として得られる。各デコーダは、学習が始まる前に小さな変形を予測するように初期化される。
【０１９０】
オートエンコーダは、（ミニバッチにわたるＡＤＡＭソルバなどの標準的な深い学習技法を使用して）以下のチャンファ距離損失を最小化することによって学習される。
【数６８】
2020115337.tif 000070
ここで、
【数６９】
2020115337.tif 000071
は面取り距離の関数である。
【０１９１】
プロセスはまた、
【数７０】
2020115337.tif 000072
を再割り当てし、その
【数７１】
2020115337.tif 000073
に各オートエンコーダを訓練中に各ミニバッチの少なくともいくつかの形状によって最適化させるために、前のステージと全く同じ分割アルゴリズムを使用する。オートエンコーダは、基本テンプレートから開始するので、関連する基本テンプレートによって表される形状の種類に特化することが容易である。さらに、それらは入力にマッチするためにこの基本テンプレートをわずかに変形する必要があるだけであり、その結果、オートエンコーダはそれらの出力のより一貫したトポロジを保証する。
【０１９２】
４．  多様体を生成モデルにする
多様体が学習されると、プロセスは新しい形状をサンプリングし合成することができるように、各オートエンコーダの各潜在空間についてガウス混合モデルを適合させることもできる。各オートエンコーダに対して、プロセスはこのオートエンコーダによって最良に再構成される訓練形状をとり、これらの形状を使用してｋ平均クラスタリングを初期化し、その後、ガウス混合に適合するために期待値最大化を実行する。ガウス混合は、容易にサンプリングできる各潜在空間上の確率分布関数を与える。
【０１９３】
さらに、テンプレート学習方法、多様体学習方法、プロセス、及び／又は使用方法を実行するための命令を含むコンピュータプログラムが提供される。
【０１９４】
さらに、プログラム及び／又はニューラルネットワーク及び／又はニューラルネットワークのセットが記録されたデータ記憶媒体を備える装置が提供される。この装置は、例えばＳａａＳ、又は他のサーバ、あるいはクラウドベースのプラットフォームなど上で、一時的でないコンピュータ可読媒体を形成するか、又はそのような媒体として機能することができる。装置は代替的に、データ記憶媒体に結合されたプロセッサを備えることができる。したがって、装置は全体的に又は部分的にコンピュータシステムを形成することができる（たとえば、装置は、システム全体のサブシステムである）。システムは、プロセッサに結合されたグラフィカルユーザインターフェースをさらに備えることができる。
【０１９５】
次に、システム及びプログラムについて説明する。
【０１９６】
図２１は、システムがＣＡＤシステムである場合のシステムのＧＵＩの一例を示す。
【０１９７】
ＧＵＩ  ２１００は、標準メニューバー２１１０、２１２０、並びに底部及び側面ツールバー２１４０、２１５０を有する典型的なＣＡＤ様インターフェースであってもよい。このようなメニュー及びツールバーは当技術分野で知られているように、ユーザが選択可能なアイコンのセットを含み、各アイコンは、１つ以上の操作又は機能に関連付けられる。これらのアイコンのいくつかは、ソフトウェアツールに関連付けられており、ＧＵＩ  ２１００に表示される３Ｄモデル化オブジェクト２０００の編集及び／又は作業のためにフィッティングされている。ソフトウェアツールは、ワークベンチにグループ化できる。各ワークベンチは、ソフトウェアツールの部分集合で構成される。特に、ワークベンチの１つは、モデル化された製品２０００の幾何学的特徴を編集するのに適した編集ワークベンチである。動作中、設計者は例えば、オブジェクト２０００の一部を事前に選択し、次いで、適切なアイコンを選択することによって、動作（例えば、寸法、色などを変更する）又は幾何学的制約を編集することができる。例えば、典型的なＣＡＤ動作は、画面上に表示される３Ｄモデル化オブジェクトの打ち抜き加工又は折り畳みのモデル化である。ＧＵＩは例えば、表示された製品２０００に関連するデータ２５００を表示することができる。図の例では「特徴木」として表示されるデータ２５００、及びそれらの３Ｄ表現２０００はブレーキキャリパ及びディスクを含むブレーキアセンブリに関する。ＧＵＩは編集された製品の動作のシミュレーションをトリガするために、又は表示された製品２０００の様々な属性をレンダリングするために、例えば、オブジェクトの３Ｄ配向を容易にするための様々なタイプのグラフィックツール２１３０、２０７０、２０８０をさらに示すことができる。カーソル２０６０はユーザがグラフィックツールと対話することを可能にするために、触覚デバイスによって制御されてもよい。
【０１９８】
図２２は、システムがクライアントコンピュータ・システム、例えばユーザのワークステーションであるシステムの一例を示す。
【０１９９】
この例のクライアントコンピュータは、内部通信バス１０００に接続された中央処理装置（ＣＰＵ）１０１０と、やはりバスに接続されたランダム・アクセス・メモリ（ＲＡＭ）１０７０とを備える。クライアントコンピュータには、さらに、ＢＵＳに接続されたビデオ・ランダム・アクセス・メモリ１１００に関連するグラフィカル・プロセッシング・ユニット（ＧＰＵ）１１１０が設けられている。ビデオＲＡＭ  １１００は、当技術分野ではフレームバッファとしても知られている。大容量記憶装置コントローラ１０２０は、ハードドライブ１０３０などの大容量記憶装置へのアクセスを管理する。コンピュータプログラム命令及びデータを有形に具現化するのに適した大容量メモリデバイスは、例として、ＥＰＲＯＭ、ＥＥＰＲＯＭ、及びフラッシュメモリデバイスなどの半導体メモリデバイス、内部ハードディスク及びリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにＣＤ−ＲＯＭディスク１０４０を含む、すべての形態の不揮発性メモリを含む。前述のいずれも、特別に設計されたＡＳＩＣ（特定用途向け集積回路）によって補足されるか、又はその中に組み込まれてもよい。ネットワークアダプタ１０５０は、ネットワーク１０６０へのアクセスを管理する。クライアントコンピュータは、カーソル制御デバイス、キーボードなどの触覚デバイス１０９０も含むことができる。ユーザがディスプレイ１０８０上の任意の所望の位置にカーソルを選択的に位置決めすることを可能にするために、カーソル制御装置がクライアントコンピュータ内で使用される。さらに、カーソル制御装置はユーザが様々なコマンドを選択し、制御信号を入力することを可能にする。カーソル制御装置は、システムに制御信号を入力するための多数の信号発生装置を含む。典型的にはカーソル制御装置がマウスであってもよく、マウスのボタンは信号を生成するために使用される。代替的に又は追加的に、クライアントコンピュータシステムは、センシティブパッド及び／又はセンシティブスクリーンを含むことができる。
【０２００】
コンピュータプログラムはコンピュータによって実行可能な命令を含むことができ、命令は、テンプレート学習方法、多様体学習方法、及び／又はプロセスを上記システムに実行させるための手段を含む。プログラムは、システムのメモリを含む任意のデータ記憶媒体に記録可能であってもよい。プログラムは例えば、デジタル電子回路において、又はコンピュータハードウェア、ファームウェア、ソフトウェアにおいて、又はそれらの組み合わせにおいて実装されてもよい。プログラムは装置、例えば、プログラマブルプロセッサによる実行のための機械可読記憶デバイスに有形に具現化された製品として実装されてもよい。プロセス／方法ステップ（すなわち、テンプレート学習方法、多様体学習方法、及び／又はプロセスのステップ）は入力データに対して動作し、出力を生成することによって、プロセスの機能を実行するための命令のプログラムを実行するプログラマブルプロセッサによって実行され得る。したがって、プロセッサはプログラム可能であり、データ断片記憶システム、少なくとも１つの入力デバイス、及び少なくとも１つの出力デバイスからデータ断片及び命令を受信し、それらにデータ断片及び命令を送信するように結合され得る。アプリケーション・プログラムは、高レベルの手続き型又はオブジェクト指向プログラミング言語で、あるいは必要に応じてアセンブリ言語又は機械語で実装することができる。いずれの場合も、言語は、コンパイルされた言語又は解釈された言語であってもよい。プログラムはフルインストールプログラムであってもよいし、更新プログラムであってもよい。システムにプログラムを適用すると、いずれにしても、テンプレート学習方法、多様体学習方法、及び／又は処理を実行するための命令が得られる。
【図１】
2020115337.tif 000075
【図２】
2020115337.tif 000076
【図３】
2020115337.tif 000077
【図４】
2020115337.tif 000078
【図５】
2020115337.tif 000079
【図６】
2020115337.tif 000080
【図７】
2020115337.tif 000081
【図８】
2020115337.tif 000082
【図９】
2020115337.tif 000083
【図１０】
2020115337.tif 000084
【図１１】
2020115337.tif 000085
【図１２】
2020115337.tif 000086
【図１３】
2020115337.tif 000087
【図１４】
2020115337.tif 000088
【図１５Ａ】
2020115337.tif 000089
【図１５Ｂ】
2020115337.tif 000090
【図１６】
2020115337.tif 000091
【図１７】
2020115337.tif 000092
【図１８】
2020115337.tif 000093
【図１９】
2020115337.tif 000094
【図２０】
2020115337.tif 000095
【図２１】
2020115337.tif 000096
【図２２】
2020115337.tif 000097
【外国語明細書】
2020115337.tif 000098
2020115337.tif 000099
2020115337.tif 000100
2020115337.tif 000101
2020115337.tif 000102
2020115337.tif 000103
2020115337.tif 000104
2020115337.tif 000105
2020115337.tif 000106
2020115337.tif 000107
2020115337.tif 000108
2020115337.tif 000109
2020115337.tif 000110
2020115337.tif 000111
2020115337.tif 000112
2020115337.tif 000113
2020115337.tif 000114
2020115337.tif 000115
2020115337.tif 000116
2020115337.tif 000117
2020115337.tif 000118
2020115337.tif 000119
2020115337.tif 000120
2020115337.tif 000121
2020115337.tif 000122
2020115337.tif 000123
2020115337.tif 000124
2020115337.tif 000125
2020115337.tif 000126
2020115337.tif 000127
2020115337.tif 000128
2020115337.tif 000129
2020115337.tif 000130
2020115337.tif 000131
2020115337.tif 000132
2020115337.tif 000133
2020115337.tif 000134
2020115337.tif 000135
2020115337.tif 000136
2020115337.tif 000137
2020115337.tif 000138
2020115337.tif 000139
2020115337.tif 000140
2020115337.tif 000141
2020115337.tif 000142
2020115337.tif 000143
2020115337.tif 000144
2020115337.tif 000145
2020115337.tif 000146
2020115337.tif 000147
2020115337.tif 000148
2020115337.tif 000149
2020115337.tif 000150
2020115337.tif 000151
2020115337.tif 000152
2020115337.tif 000153
2020115337.tif 000154
2020115337.tif 000155
2020115337.tif 000156
2020115337.tif 000157
2020115337.tif 000158
2020115337.tif 000159
2020115337.tif 000160
2020115337.tif 000161
2020115337.tif 000162
2020115337.tif 000163
【図１】
2020115337.tif 000164
【図２】
2020115337.tif 000165
【図３】
2020115337.tif 000166
【図４】
2020115337.tif 000167
【図５】
2020115337.tif 000168
【図６】
2020115337.tif 000169
【図７】
2020115337.tif 000170
【図８】
2020115337.tif 000171
【図９】
2020115337.tif 000172
【図１０】
2020115337.tif 000173
【図１１】
2020115337.tif 000174
【図１２】
2020115337.tif 000175
【図１３】
2020115337.tif 000176
【図１４】
2020115337.tif 000177
【図１５Ａ】
2020115337.tif 000178
【図１５Ｂ】
2020115337.tif 000179
【図１６】
2020115337.tif 000180
【図１７】
2020115337.tif 000181
【図１８】
2020115337.tif 000182
【図１９】
2020115337.tif 000183
【図２０】
2020115337.tif 000184
【図２１】
2020115337.tif 000185
【図２２】
2020115337.tif 000186