IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ダッソー システムズの特許一覧 ▶ エコール ポリーテクニークの特許一覧 ▶ サントル ナショナル ドゥ ラ ルシェルシュ スィヤンティフィック(セーエヌエルエス)の特許一覧

特開2024-1051853Dオブジェクト生成のために正準化されるコードブック
<>
  • 特開-3Dオブジェクト生成のために正準化されるコードブック 図1
  • 特開-3Dオブジェクト生成のために正準化されるコードブック 図2
  • 特開-3Dオブジェクト生成のために正準化されるコードブック 図3
  • 特開-3Dオブジェクト生成のために正準化されるコードブック 図4
  • 特開-3Dオブジェクト生成のために正準化されるコードブック 図5
  • 特開-3Dオブジェクト生成のために正準化されるコードブック 図6
  • 特開-3Dオブジェクト生成のために正準化されるコードブック 図7
  • 特開-3Dオブジェクト生成のために正準化されるコードブック 図8
  • 特開-3Dオブジェクト生成のために正準化されるコードブック 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024105185
(43)【公開日】2024-08-06
(54)【発明の名称】3Dオブジェクト生成のために正準化されるコードブック
(51)【国際特許分類】
   G06N 3/0455 20230101AFI20240730BHJP
   G06T 7/00 20170101ALI20240730BHJP
   G06V 10/774 20220101ALI20240730BHJP
   G06V 10/82 20220101ALI20240730BHJP
【FI】
G06N3/0455
G06T7/00 350C
G06V10/774
G06V10/82
【審査請求】未請求
【請求項の数】15
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023220150
(22)【出願日】2023-12-27
(31)【優先権主張番号】23305095.4
(32)【優先日】2023-01-25
(33)【優先権主張国・地域又は機関】EP
(71)【出願人】
【識別番号】500102435
【氏名又は名称】ダッソー システムズ
【氏名又は名称原語表記】DASSAULT SYSTEMES
(71)【出願人】
【識別番号】511027965
【氏名又は名称】エコール ポリーテクニーク
(71)【出願人】
【識別番号】505045610
【氏名又は名称】サントル ナショナル ドゥ ラ ルシェルシュ スィヤンティフィック(セーエヌエルエス)
【氏名又は名称原語表記】CENTRE NATIONAL DE LA RECHERCHE SCIENTIFIQUE(CNRS)
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】マリエム メズガニ
(72)【発明者】
【氏名】カウター ザヘル
(72)【発明者】
【氏名】マリカ ブールケナフェド
(72)【発明者】
【氏名】マクス オヴシャニコフ
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096EA39
5L096HA11
5L096KA04
(57)【要約】
【課題】機械学習のコンピューターに実装される方法を提供する。
【解決手段】方法は、実世界の物体の3Dモデルのトレーニングデータセットを提供することを含み、トレーニングデータセットとトレーニングデータセットの3Dモデルのパッチ分解とに基づいて、量子化ベクトルの有限コードブックとニューラルネットワークとを学習することをさらに含む。ニューラルネットワークは回転不変なエンコーダーを含む。回転不変なエンコーダーは3Dモデルのパッチに対するコードブックの量子化された潜在ベクトルへの回転不変なエンコーディングのために構成される。ニューラルネットワークはデコーダーをさらに含む。デコーダーはコードブックの量子化された潜在ベクトルのシーケンスに対する3Dモデルへのデコードのために構成される。シーケンスはパッチ分解に対応する。今述べたことは3Dモデル生成のための改良されたソリューションを構成する。
【選択図】図8
【特許請求の範囲】
【請求項1】
機械学習のコンピューターに実装される方法であって、
- 実世界の物体の3Dモデルのトレーニングデータセットを提供することと、
- 前記トレーニングデータセットと、前記トレーニングデータセットの前記3Dモデルのパッチ分解とに基づいて、量子化ベクトルの有限コードブックとニューラルネットワークとを学習することであって、前記ニューラルネットワークは、
〇 前記コードブックの量子化された潜在ベクトルへの3Dモデルのパッチの回転不変なエンコーディングのために構成された回転不変なエンコーダー、および
〇 前記コードブックの量子化された潜在ベクトルのシーケンスを3Dモデルへデコードするために構成されたデコーダーであって、前記シーケンスはパッチ分解に対応する、デコーダー
を含む、ことと
を備えることを特徴とする方法。
【請求項2】
前記エンコーダーは、並進不変および回転不変であり、前記コードブックの量子化された潜在ベクトルへの前記トレーニングデータセットの3Dモデルのパッチの並進不変なおよび回転不変なエンコーディングのために構成されることを特徴とする請求項1に記載の方法。
【請求項3】
前記デコーダーは、
- パッチ分解に対応する前記コードブックの量子化された潜在ベクトルのシーケンスを入力として取り、3Dモデルを再構成するためのパッチの回転を推論するように構成された第1のモジュール、および
- 前記パッチ分解に対応する前記コードブックの量子化された潜在ベクトルの前記シーケンスを入力として取り、3Dモデルを再構成するためのパッチのジオメトリを推論するように構成された第2のモジュール
を含むことを特徴とする請求項1または2に記載の方法。
【請求項4】
前記学習することは、損失を最小にすることを含み、前記損失が、再構成損失およびコミットメント損失を含み、前記コミットメント損失が、前記エンコーダーによって出力された量子化された潜在ベクトルと前記コードブックのベクトルとの間の一貫性に報いることを特徴とする請求項1ないし3のいずれか一項に記載の方法。
【請求項5】
前記損失は、前記タイプ
【数1】

の損失であり、ただし、Lは再構成バイナリークロスエントロピー損失であり、LVQはコミットメント損失であり、xは3次元の点を表し、Ψは前記デコーダーの前記パラメーターを表し、βは重みのパラメーターであり、
【数2】
はxのグランドトゥルースの占有を表し、oはxの予測される占有を表し、Φは前記エンコーダーの前記パラメーターを表し、ただし、
【数3】
であり、ただし、sg[.]は、前記stop-gradient演算子を表し、Z={z、Z={z であり、ただし、zはパッチXの非量子化エンコーディングであり、ただし、
【数4】
であり、ただし、D={e∈R},k=1,・・・,Kはコードブックであることを特徴とする請求項4に記載の方法。
【請求項6】
請求項1ないし5のいずれか一項に記載の方法に従って学習可能なデコーダーおよびコードブックを含むことを特徴とするニューラルネットワーク機能。
【請求項7】
デコーダーおよびコードブックの使用に関する請求項6に記載の方法であって、
- 前記コードブックの量子化された潜在ベクトルのシーケンスを取得することと、
- 前記シーケンスに前記デコーダーを適用することと
を備えることを特徴とする方法。
【請求項8】
前記シーケンスを取得することは、
- トランスフォーマーニューラルネットワークを適用して前記シーケンスを取得することであって、前記トランスフォーマーニューラルネットワークが、入力3Dモデルを表す入力潜在ベクトルを与えられると、前記入力3Dモデルのパッチ分解に対応する前記コードブックの量子化された潜在ベクトルのシーケンスを生成するために構成される、こと
を含むことを特徴とする請求項7に記載の方法。
【請求項9】
前記入力3Dモデルを表す前記潜在ベクトルは、前記入力3Dモデルを表す画像または点群の埋め込みに対応することを特徴とする請求項8に記載の方法。
【請求項10】
前記画像はシングルビュー画像である、または前記点群は部分点群であることを特徴とする請求項9に記載の方法。
【請求項11】
前記シーケンスを取得することは、入力3Dモデルのパッチ分解に前記エンコーダーを適用することを含むことを特徴とする請求項7に記載の方法。
【請求項12】
前記トランスフォーマーニューラルネットワークを学習することをさらに含むことを特徴とする請求項1ないし5または8ないし10に記載の方法。
【請求項13】
コンピューターシステムにより実行されると、前記コンピューターシステムに、請求項1ないし5のいずれか一項に記載の方法および/または請求項7ないし11のいずれか一項に記載および/または請求項12に記載の方法を行わせる命令を含むことを特徴とするコンピュータープログラム。
【請求項14】
請求項13に記載のコンピュータープログラムおよび/または請求項6に記載のニューラルネットワーク機能を記録したことを特徴とするコンピューター読取り可能な記録媒体。
【請求項15】
メモリーに結合されたプロセッサーを備えたコンピューターシステムであって、前記メモリーは、請求項13に記載のコンピュータープログラムおよび/または請求項6に記載のニューラルネットワーク機能を記録したことを特徴とするコンピューターシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータープログラムおよびシステムの分野に関し、より具体的には、機械学習に関する方法、システム、およびプログラムに関する。
【背景技術】
【0002】
複数のシステムおよびプログラムが、物体の設計、エンジニアリング、および製造の市場に出ている。CADは、Computer-Aided Designの頭字語であり、例えば、物体を設計するためのソフトウェアソリューションに関する。CAEは、Computer-Aided Engineeringの頭字語であり、例えば、将来の製品の物理的挙動をシミュレーションするためのソフトウェアソリューションに関する。CAMは、Computer-Aided Manufacturingの頭字語であり、例えば、製造プロセスおよび操作を定義するためのソフトウェアソリューションに関する。上記のコンピューター支援設計システムでは、グラフィカルユーザーインターフェースが、技法の効率に関して、重要な役割を果たす。今述べた技法は、製品ライフサイクル管理(PLM)システム内に埋め込まれることがある。PLMは、拡張された企業体(extended enterprise)の概念にわたって、会社が、製品の開発に対して着想から耐用期間の終わりまで、製品のデータを共有し、共通のプロセスを適用し、企業の知識をレバレッジするのに役に立つ事業戦略に言及する。ダッソー・システムズによって提供されるPLMソリューション(商標CATIA、ENOVIA、およびDELMIAのもとに)は、製品エンジニアリングの知識を体系づける「エンジニアリングハブ」、製造エンジニアリングの知識を管理する「マニュファクチャリングハブ」、およびエンジニアリングハブとマニュファクチャリングハブとの両方への企業の統合および連結を可能にする「エンタープライズハブ」を提供する。すべて合わせてシステムは、製品、プロセス、リソースを結びつけるオープンなオブジェクトモデルを提供して、ダイナミックなナレッジベースの製品作成と、最適化された製品定義、製造準備、生産、およびサービスを促進する決断支援とを可能にする。
【0003】
今述べた状況および他の状況の範囲内に、3Dモデル生成は、広く重要性を増している。しかしながら、3Dモデル生成のための改良されたソリューションが必要である。
【発明の概要】
【0004】
それゆえ、機械学習に関する、コンピューターに実装される方法が提供される。方法は、実世界の物体の3Dモデルのトレーニングデータセットを提供することを含む。方法は、トレーニングデータセットと、トレーニングデータセットの3Dモデルのパッチ分解とに基づいて、量子化ベクトルの有限コードブックとニューラルネットワークとを学習することをさらに含む。ニューラルネットワークは、回転不変なエンコーダーを含む。回転不変なエンコーダーは、3Dモデルのパッチに対する、コードブックの量子化された潜在ベクトル(latent vector)への回転不変なエンコーディングのために構成される。ニューラルネットワークは、デコーダーをさらに含む。デコーダーは、コードブックの量子化された潜在ベクトルのシーケンスに対する、3Dモデルへのデコードのために構成される。シーケンスは、パッチ分解に対応する。
【0005】
方法は、下記のうちの1つまたは複数を含むことがある。
- エンコーダーは、並進不変および回転不変であり、トレーニングデータセットの3Dモデルのパッチに対する、コードブックの量子化された潜在ベクトルへの並進不変および回転不変なエンコーディングのために構成される、
- デコーダーは、次を含む、
〇 パッチ分解に対応する前記コードブックの量子化された潜在ベクトルのシーケンスを入力として取り、3Dモデルを再構成するためのパッチの回転を推論するように構成された第1のモジュール、および
〇 パッチ分解に対応するコードブックの量子化された潜在ベクトルのシーケンスを入力として取り、3Dモデルを再構成するためのパッチのジオメトリを推論するように構成された第2のモジュール、
- 学習は、損失を最小にすることを含み、損失が、再構成損失およびコミットメント損失(commitment loss)を含み、コミットメント損失が、エンコーダーによって出力された量子化された潜在ベクトルとコードブックのベクトルとの間の一貫性に報いる、および/または
- 損失は、次のタイプのである、
【0006】
【数1】
【0007】
ただし、Lは再構成バイナリークロスエントロピー損失であり、LVQはコミットメント損失であり、xは3次元の点を表し、Ψはデコーダーのパラメーターを表し、βは重みのパラメーターであり、
【0008】
【数2】
【0009】
はxのグランドトゥルースの占有を表し、oはxの予測される占有を表し、Φはエンコーダーのパラメーターを表し、ただし、
【0010】
【数3】
【0011】
ただし、sg[]は、stop-gradient演算子を表し、Z={z、Z={z 、ただし、zはxの非量子化エンコーディングであり、ただし、
【0012】
【数4】
【0013】
ただし、D={e∈R},k=1,・・・,Kはコードブックである。
【0014】
さらに言えば、本方法に従う学習可能なデコーダーおよびコードブックを含むニューラルネットワーク機能が提供される。ニューラルネットワーク機能は、本方法に従って学習可能なエンコーダーをさらに含むことがある。エンコーダーおよびデコーダーは、オートエンコーダーニューラルネットワークを形成することがある。
【0015】
さらに言えば、デコーダーおよびコードブックの使用に関するコンピューターに実装される方法が提供される。使用の方法は、コードブックの量子化された潜在ベクトルのシーケンスを取得することを含む。使用の方法は、デコーダーをシーケンスに適用することをさらに含む。
【0016】
使用の方法は、下記のうちの1つまたは複数を含むことがある。
- シーケンスを取得すること、
〇 トランスフォーマーニューラルネットワークを適用してシーケンスを取得し、トランスフォーマーニューラルネットワークが、入力3Dモデルを表す入力潜在ベクトルを与えられると、入力3Dモデルのパッチ分解に対応するコードブックの量子化された潜在ベクトルのシーケンスを生成するように構成されること、
- 入力3Dモデルを表す潜在ベクトルは、入力3Dモデルを表す画像または点群の埋め込みに対応する、
- 画像はシングルビュー画像である、もしくは点群は部分点群である、および/または、
- シーケンスを取得することは、入力3Dモデルのパッチ分解にエンコーダーを適用することを含む。
【0017】
方法、または使用の方法は、トランスフォーマーニューラルネットワークを学習することをさらに含むことがある。
【0018】
さらに言えば、方法、および/または使用の方法を行うための命令を含むコンピュータープログラムが提供される。
【0019】
さらに言えば、コンピュータープログラムおよび/またはニューラルネットワーク機能を記録したコンピューター読取り可能なデータ記録媒体が提供される。
【0020】
さらに言えば、コンピューター読取り可能なデータ記録媒体を含むデバイスが提供される。
【0021】
デバイスは、例えばSaaS(Software as a Service;サービスとしてのソフトウェア)もしくは他のサーバー、またはクラウドベースのプラットフォーム、または同類のもの、非一時的なコンピューター読取り可能媒体になる、または非一時的なコンピューター読取り可能媒体として供給することがある。あるいは、デバイスは、データ記録媒体に結合されたプロセッサーを含むことがある。ゆえに、デバイスは、全体としてまたは部分的に、コンピューターシステムを形成することがある(例えば、デバイスは全体システムのサブシステムである)。システムは、プロセッサーに結合されたグラフィカルユーザーインターフェースをさらに含むことがある。ゆえに、メモリーに結合されたプロセッサーを含むコンピューターシステムも提供され、メモリーが、コンピュータープログラムおよび/またはニューラルネットワーク機能を記録している。
【図面の簡単な説明】
【0022】
図1】方法を例示する。
図2】方法を例示する。
図3】方法を例示する。
図4】方法を例示する。
図5】方法を例示する。
図6】方法を例示する。
図7】方法を例示する。
図8】方法を例示する。
図9】システムの例を示す。
【発明を実施するための形態】
【0023】
機械学習に関する、コンピューターに実装される方法が提案される。方法は、実世界の物体の3Dモデルのトレーニングデータセットを提供することを含む。方法は、トレーニングデータセットと、トレーニングデータセットの3Dモデルのパッチ分解とに基づいて、量子化ベクトルの有限コードブックとニューラルネットワークとを学習することをさらに含む。ニューラルネットワークは、回転不変なエンコーダーを含む。回転不変なエンコーダーは、3Dモデルのパッチに対する、コードブックの量子化された潜在ベクトル(latent vector)への回転不変なエンコーディングのために構成される。ニューラルネットワークは、デコーダーをさらに含む。デコーダーは、コードブックの量子化された潜在ベクトルのシーケンスに対する、3Dモデルへのデコードのために構成される。シーケンスは、パッチ分解に対応する。本方法は「学習メソッド(learning method)」と呼ばれることがある。
【0024】
学習メソッドは、3Dモデル生成のための改良されたソリューションを構成する。
【0025】
実際、本方法は、3Dモデルのパッチに対するコードブックの量子化された潜在ベクトルへのエンコーディングのために構成されたエンコーダーと、パッチ分解に対応するコードブックの量子化された潜在ベクトルのシーケンスの(すなわち、パッチ分解が対応する3Dモデルへの)デコーディングのために構成されたデコーダーとを学習する。ゆえに、訓練されたデコーダーは、パッチ分解のエンコーディングに基づいて、3Dモデルの再構成および/または生成のために用いられることがある。ニューラルネットワークを訓練するためのパッチ分解の使用は、ニューラルネットワークに、種々の3Dモデルが属する物体カテゴリ(例えば、飛行機、車、椅子)に対して不可知論者(agnostic)であることを可能にし、用いられるパッチは、3Dモデルの局所的な部分に対応し、ゆえに本方法は、つまり、モデルの大域的なトポロジーおよびジオメトリよりもむしろ局所的なジオメトリおよびトポロジーを考慮することによって、3Dモデルを局所的にエンコードおよびデコードするニューラルネットワークを訓練する。局所的なジオメトリおよびトポロジーが、モデルの大域的なジオメトリおよびトポロジーに反して、一般に1つの物体カテゴリまたは別のものに特有ではないので、ゆえにネットワークは、3Dモデルのカテゴリに対して不可知論者であるように訓練される。
【0026】
その上、本方法は、連続的な潜在ベクトルを、つまり、連続的な(すなわち非離散的な)値をとる座標に属する潜在ベクトルをエンコードおよびデコードすることをニューラルネットワークに教えない。代わりに本方法は、エンコーダーに、コードブックの量子化されたすなわち離散的な潜在ベクトルへ、パッチをエンコードすることを教え、デコーダーに、上記ベクトルのシーケンスをデコードすることを教える。さらに本方法は、トレーニングデータセットを用いてコードブックを学習させることによって、コードブックが、トレーニングデータセットのモデルのエンコーディングに対応する(すなわち、通じて学習される)量子化されたベクトルを含む。ゆえに、本方法は、3Dモデルへデコードされることになる連続潜在ベクトルを学習しないで、むしろ、3Dモデルを形成するパッチ分解へデコードされることになるシーケンスに組み合わせ可能な離散的な潜在ベクトルの有限のおよび正準のコードブック(canonical codebook)を学習する。コードブックの今述べた使用は、連続的な潜在空間ではなく、正準のおよびコンパクトな潜在空間を用いることを可能にし、訓練しているおよび学習したネットワークおよびコードブックの使用の両方の間、メモリー空間および使用量を節約する。言い換えれば、本方法は、メモリー空間および使用量を節約することを考慮して設計された機械学習フレームワークを提供する。
【0027】
そのうえ、メモリー空間および使用量をさらに削減する目的として、本方法は、パッチの回転不変なエンコーディングのために構成されたエンコーダーを学習する。言い換えれば、回転変換による互いの画像である2つのパッチが与えられると、エンコーダーは、これらを同一の潜在ベクトルへエンコードする。今、パッチが局所的な部分を表すので、与えられた3Dモデルに対して、一般的に、回転による互いの画像であるパッチがある。例えば、椅子の背もたれの上部の2つの角は、回転するまで、同じジオメトリを有することがある。本方法により学習したエンコーダーは、今述べた角を同一の潜在ベクトルによりエンコードする。今述べた回転不変なエンコーダーは、トレーニングデータセットパッチを完全にエンコードするのに必要な潜在ベクトルの数を減らす、すなわち、コードブックのサイズを減らし、よりコンパクトにさせる。今述べたことは、メモリー空間および使用量をさらに節約することを可能にする。例では、その上、エンコーダーは、並進不変であり、コードブックを、より一層コンパクトにし(移動による互いの画像である2つのパッチが同一のエンコーディングを有するので)、メモリー空間および使用量を、より一層節約することを可能にする。
【0028】
言い換えれば、学習メソッドは、前述のコードブックから項目を選択し組み立てることにより、妥当な革新的な形状を生成することを可能にする、3D局所表面パッチに関連付けられたR(D∈N)における離散的な表現に関する固定されたサイズNのコンパクトなコードブックを自動的に学習することを可能にする。本方法の実装のために本開示に提供されるテストは、本方法が、メモリーおよび計算コストの増加を避けるために、NおよびDを増大させることなく、学習されたコードブックの表現の豊かさと品質とを向上させることをどのように可能にするかを示す。本方法は、局所的な3Dポーズの変化の説明をする革新的な離散的な局所表現を提供し、より正確な効率的な定式化を可能にする。実際、連続的な潜在表現とは異なった、離散的な表現は、3次元ジオメトリをコンパクトに効率的に埋め込むことを可能にする。今述べた状況の範囲内に、既存の方法は、3Dジオメトリに固有の曖昧さ、特にローカルレベルおよびグローバルレベルの可能な移動および回転に関する曖昧さを無視する。結果として、上記技法は、ジオメトリとポーズとの両方のすべての可能性がある可変性をキャプチャする非常に大きなコードブックを必要とすることがある。本方法は、局所的なジオメトリを回転不変(およびオプションで並進不変)にコンパクトに埋め込むことにより生成品質を向上させる、革新的な局所ベースの生成的なモデルを提案する。今述べた戦略は、離散コードのコードブックに、ポーズの変化により誘発される冗長性を避けることによって、したがって、メモリーおよび計算コストの増加を避けることによって、より広い範囲の局所的なジオメトリのかたちを表現することを可能にする。よって、本方法は、形状の最適化、シングルビューの再構成、および形状のコンプリーションに関するタスクのために、複数のカテゴリから3D形状を自動的に生成することに向ける、自動データ生成の分野に効率的に適用されることがある。
【0029】
学習メソッドは、機械学習に関するメソッドである。
【0030】
機械学習の分野からそれ自体知られているように、ニューラルネットワークによる入力の処理は、入力に演算を適用することを含み、演算が、重み値を含むデータによって定義される。ゆえに、ニューラルネットワークに学習させることは、上記学習のために構成されたデータセットに基づいて重みの値を決定することを含み、データセットが、もしかすると学習データセットまたはトレーニングデータセットと呼ばれる。そのため、データセットは、データ片を含み、各々が、それぞれのトレーニングサンプルを形成する。トレーニングサンプルは、ニューラルネットワークが学習された後に用いられることになる状況の多様性を表す。本明細書におけるトレーニングデータセットはどれでも、1000、10000、100000、または1000000より多い数のトレーニングサンプルを含むことがある。本開示の状況では、「データセットに基づいてニューラルネットワークに学習させること」によって、データセットが、重みの値(「パラメーター」とも呼ばれる)が設定されるニューラルネットワークに基づく、ニューラルネットワークの学習データセット/トレーニングデータセットであることを意味する。
【0031】
学習メソッドの状況では、トレーニングデータセットは、ただちに述べられる3Dモデルに関して提供されるデータセットである。データセットについて提供することの議論の前に、含まれたデータ構造が、ただちに述べられる。
【0032】
本明細書における各3Dモデルは、実世界の物体の3D表現である。本明細書における各3Dモデルは、3D点群であり得る。3D点群は、3Dの座標を有する点の順序付けられていない集合であり、たとえば強度または色などの追加の特徴を伴うことがある。あるいは、本明細書における各3Dモデルは、3Dメッシュであり得る。3Dメッシュは、形状を定義する頂点、辺、および面の集まりである。面は、三角形(三角形メッシュ)、四辺形(クアッド(quad))、または他の単純な凸のポリゴン(n-ゴン(n-gon))からなることがあるが、これは、レンダリングを簡略化するが、凹のポリゴン、またはすっかり穴の空いたポリゴンからなることもある。あるいは、本明細書におけるあらゆる3Dモデルは、陰関数による暗黙的な3D表現であり得る。上記関数は、3次元空間に定義される関数であり、形状面がこの関数の等値面に対応する。等値面は、空間のボリューム内の一定の値(例えば、形状面までの距離)の点を表す面である。言い換えれば、領域が3D空間である連続関数のレベルセットである。あるいは、本明細書におけるあらゆる3Dモデルは、CAEモデルまたはCADモデル(例えばB-repモデル)であり得る。トレーニングデータセットの3Dモデルは、すべて同じタイプ(たとえば、すべて点群またはメッシュ)であり得る。ニューラルネットワークは、入力として3D点群を取り、他のタイプの幾何学的表現を取らないように構成されることがある。上記場合、トレーニングデータセットの3Dモデルはすべて3D点群であることがあり、3D点群でない3Dモデルについては、方法は、例えば適切なサンプリング方法を用いて3Dモデルを3D点群に変換することを含む。より一般的には、3D点群を入力として取る本明細書のあらゆるニューラルネットワークまたは関数に関して、関数は、それにもかかわらず、適切な方法を用いて3D点群への変換の後、3Dモデルに適用されることがある。
【0033】
トレーニングデータセットを提供することは、3Dモデルが格納される(例えば遠い)メモリーまたはサーバーまたはデータベースから3Dモデルの少なくとも一部(例えばすべて)を取得すること(例えばダウンロードすること)を含むことがある。モデルは、例えば、本明細書において後に述べられるShapeNetデータセットから取得されることがある。トレーニングデータセットを提供することは、本明細書において後に述べられるパッチ分解(分割とも呼ばれる)を行うことによって、モデルのパッチおよびパッチ分解を取得することを含むことがある。あるいは、パッチ分解を行うことは、トレーニングデータセットの提供と学習との間の中間段階として行われることがある。トレーニングデータセットのモデルは、いくつかのカテゴリ、例えば、13のカテゴリ、例えば、飛行機、ベンチ、キャビネット、車、椅子、ディスプレイ、ランプ、スピーカー、ライフル銃、ソファ、テーブル、電話、および舟の実世界の物体を表すことがある。
【0034】
トレーニングデータセットを提供することにさらに付け加えると、本方法は、トレーニングデータセットに基づいて、量子化ベクトルの有限コードブック、およびニューラルネットワークを学習することを含む。学習は、トレーニングデータセットの3Dモデルのパッチ分解に基づく。今述べたことは、学習が、完全な3Dモデルを直接操作するまたは用いるのではなく、パッチ分解を用い操作することを意味する。
【0035】
本明細書におけるあらゆる3Dモデルに関して、3Dモデルは、3D点群であるか、3D点群のみを入力として取る本明細書のあらゆるニューラルネットワークに入れられる前に3D点群に変換されるかのいずれかである。3Dモデルのパッチ分解は、規則的なボクセルのリージョンへの、3D点群の分解(すなわち、モデル、またはモデルが変換された3D点群)である。
【0036】
本方法は、学習の前に、トレーニングデータセットの各3D点群について、上記の分割を行うためのあらゆる適切な方法によって、3D点群を予め決められた解像度の規則的なボクセルのリージョンに分割することを含むことがある。
【0037】
パッチはエレメンタリーサーフェイス(elementary surface)である。パッチは、今述べた規則的なボクセルのリージョンであり得る。あるいは、パッチは、パッチが変形されることが可能である制御点のグリッドを介して制御されることがあるパラメトリックなエレメンタリーサーフェイスであり得る。ゆえに、3Dモデル/3D点群のパッチ分解は、3Dモデル/3D点群の予め決められた解像度の規則的なボクセル分解であり得る。X∈RN×3を3D点群とおく。次に、パッチは{X=1,・・・,kと表されることがあり、ただし、kは解像度である。ボクセルのリージョンは、3D点群を含む3D空間を分割することがある、すなわち、点群のそれぞれの部分を含むパッチ、および3D空間のそれぞれの部分を含むが点群の点を含まない他のパッチがあることは理解されることである。学習は、エンコーダーがこれらの他のパッチをヌルベクトル(すなわち、すべての座標が0に設定されたベクトル)としてエンコードするようなやり方にて行われる。
【0038】
ニューラルネットワークはディープニューラルネットワーク(DNN)である。DNNのことは、参考文献D. E. Rumelhart、G. E. Hinton、R. J. Williams、「Learning internal representations by error propagation, Parallel distributed processing: exploreorations in microstructure of cognition」、第1巻:foundations、MIT Press、ケンブリッジ、MA、1986年に述べられ、参照により本明細書に組み入れられる。DNNは、コンピューターにオブザベーションデータ(observational data)から学習することを可能にする生物学にインスパイアされたプログラミングパラダイムである、ニューラルネットワークにて学習するための技法の強力なセットである。物体認識において、DNNの成功は、他の手法(min-cut、SVM、ブースティング、ランダムフォレスト)において用いられる手により設計される低いレベルの特徴(Zernikeモーメント、HOG、Bag-of-Words、SIFT)とは対照的に、リッチな中間レベルのメディア表現を学習する能力による。より具体的には、DNNは、生データに基づくエンドツーエンドの学習に焦点を合わせる。言い換えると、生の特徴から始まりラベルに終わるエンドツーエンドの最適化を達成することにより、特徴工学から可能な限り極大の範囲へ離れる。
【0039】
ニューラルネットワークは、エンコーダーおよびデコーダーを含む。ゆえに、ニューラルネットワークはオートエンコーダー(autoencoder)であり得る。
【0040】
エンコーダーは、入力として、3Dモデルのパッチを取り、入力パッチのエンコーディングであるコードブックの量子化された(すなわち、離散的な)潜在ベクトルを出力する。エンコーディングおよび潜在ベクトルの概念は、機械学習ではそれ自体知られている。エンコーダーは、回転によって互いの画像である2つのパッチが同一のエンコーディングを有する、すなわち、同一の潜在ベクトルにエンコードされることを意味する、回転不変である。エンコーダーは、並進不変および回転不変であることがあり、ゆえに、トレーニングデータセットの3Dモデルのパッチに対する、コードブックの量子化された潜在ベクトルへの並進不変および回転不変なエンコーディングのために構成されることがある。今述べたことは、回転、移動、または1つまたは複数の移動および1つまたは複数の回転の組み合わせによって、互いの画像である2つのパッチが、同一のエンコーディングを有する、すなわち、同一の潜在ベクトルにエンコードされることを意味する。
【0041】
エンコーダーは、テンソルフィールドネットワーク(Tensor Field Network)、ローカルエンコーダー、および量子化演算子の合成であり得る。
【0042】
テンソルフィールドネットワーク(TFN)は、学習可能な放射関数と球面調和関数との積として点畳み込み演算を定義する畳み込みニューラルネットワーク(CNN)である。TFNを用いることは、並べ替え不変な、並進および回転等価なやり方にてパッチ(より一般的には点群形状)を処理することを可能にする。TFNは、参考文献Nathaniel Thomas, Tess E. Smidt, Steven Kearnes, Lusann Yang, Li Li, Kai Kohlhoff, and Patrick Riley、「Tensor field networks:Rotation-and translation-equivariant neural networks for 3D point clouds」、2018年に述べられ、参照により本明細書に組み込まれる。
【0043】
点群P∈RN×3が与えられると、TFNは、球面調和関数の次数lに対して、埋め込みF(P)∈R(2l+1)×Cを計算し、ただし、Cはユーザー定義のチャンネル数である。
【0044】
(P)は、回転等価な固有性F(RP)=D(R)F(P)を満たし、ただし、R∈SO(3)およびD:SO(3)→SO(2l+1)は、次数lのいわゆるウィグナー行列である(参考文献 Leon Lang and Maurice Weiler、「A Wigner-Eckart Theorem for Group Equivariant Convolution Kernels」、International Conference on Learning Representations、2021年、およびRahul Sajnani, Adrien Poulenard, Jivitesh Jain, Radhika Dua, Leonidas J. Guibas, and Srinath Sridhar、「Condor:Self-supervised canonicalization of 3D pose for partial shapes」、The IEEE Conference on Computer Vision and Pattern Recognition(CVPR)、2022年6月に述べられ、両方とも参照により本明細書に組み込まれる)。F(P)の特徴が、次数lの球面調和関数Y(P)∈R(2l+1)×Nのベクトルと同じ回転等価な固有性を有することを観察すると、ただし、Y(.)が次数lの球面調和関数多項式(先に引用された参考文献 Rahul Sajnani, Adrien Poulenard, Jivitesh Jain, Radhika Dua, Leonidas J. Guibas, and Srinath Sridhar、「Condor:Self-supervised canonicalization of 3D pose for partial shapes」、The IEEE Conference on Computer Vision and Pattern Recognition(CVPR)、2022年6月に述べられる)を表し、回転不変な特徴ベクトルS(P)は次のように計算されることが可能である。
(P)=Y(P)(P)∈RN×C
今述べたオブザベーション(observation)に対する鍵は、等価な信号の転置による等価な信号の積が回転不変であるという着想であり(先に引用された参考文献 Rahul Sajnani, Adrien Poulenard, Jivitesh Jain, Radhika Dua, Leonidas J. Guibas, and Srinath Sridhar、「Condor: Self-supervised canonicalization of 3d pose for partial shapes」、The IEEE Conference on Computer Vision and Pattern Recognition(CVPR)、2022年6月に述べられる)。
(RP)=Y(RP)(RP)=Y(P)(R)(R)F(R)=S(P)
R∈SO(3)に対して、方法は、次のように、潜在空間を定義するためにS(.)をレバレッジすることがある。
【0045】
ローカルエンコーダーEΦは、学習可能なパラメーターΦを有して、各パッチXを独立に入力として取り、次のように、潜在表現を計算する。
【0046】
【数5】
【0047】
を有し、i番目はパッチの中心位置をグリッドし、zはS(.)の回転不変性を引き継ぐ。さらに、構成によって、zは、それぞれ、センタリングおよび最大プーリング操作のための移動不変および並べ替え不変である。「並べ替え(permutation)」により、点x∈Xの並べ替えを意味する。独立のエンコーディングは、学習された離散潜在空間が、局所的な状況のみをキャプチャすることを確実にし、異なった物体カテゴリにわたる一般化の能力に利益を与える。さらに、大域的な形状埋め込みと比較して、今述べた局所的な独立の設定は、リージョンのエンコーディングが影響を及ぼされるのみであるので、ノイジーな部分的なリージョンの影響を個々のパッチ埋め込みレベルに集中させる。特に、今述べたことは、たとえば形状のオートエンコーディング(auto-encoding.)およびコンプリーションなど、多くのタスクを強化する。
【0048】
量子化演算子VQは、高次元連続表現をよりコンパクトな潜在空間に変換することが、潜在変数のサイズと数とを大幅に減らすことにより、連続的な埋め込み{zに直に取り組むことを避けることを可能にする。最終的には、今述べたことは、例えば非常に表現の豊かなTransformerアーキテクチャ(参考文献Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Lukasz Kaiser, and Illia Polosukhin、「Attention is all you need」、I. Guyon, U. Von Luxburg, S. Bengio, H. Wallach, R. Fergus, S. Vishwanathan, and R. Garnett, editors, Advances in Neural Information Processing Systems、第30巻、 Curran Associates, Inc、2017に述べられ、参照により本明細書に組み入れられる)を用いて、離散コードの妥当な分布の空間を効率的に学習することを可能にする。参照により本明細書に組み込まれる参考文献Aaron van den Oord, Oriol Vinyals, and koray kavukcuoglu、「Neural discrete representation learnin g」、Advances in Neural Information Processing Systems, 2017年のワークVQ-VAEに述べられるように、方法は、Kベクトルの離散潜在空間を定義することを含み、次元D:e∈RK×Dの各々が、学習可能なコードブックD={e∈R},k=1,・・・,Kに積み重ねられる。エンコーダーは、演算子VQをローカルエンコーダーEΦに適用することにあり、計算された各連続埋め込みzが、次のL2ノルムに関してDにおいて最も近いベクトルにベクトル量子化されることがある。
【0049】
【数6】
【0050】
方法は、z のデコーダーの勾配を後方の段階のzにコピーするストレートスルー勾配技法を介して、非微分VQ演算子を介した勾配バックプロパゲーションを確実にし、モデルのエンドツーエンドの訓練を可能にすることがある。
【0051】
コードブックは、量子化された(離散的な)ベクトルの学習可能な有限集合であり、例えばこれらのベクトルの行列から構成され、メソッドが学習する。コードブックは、エンコーダーの画像を含むように訓練される、すなわち、コードブックは、コードブックの量子化されたベクトルが、エンコーダーによって行われるエンコーディングを通じてトレーニングデータセットのモデルのパッチの画像であるベクトルを少なくとも含むことを目的として訓練される。しかしながら、コードブックには他のベクトルを含めることがある。本方法は、コードブックとニューラルネットワークとを同じ学習で学習する、本方法は、エンコーダーがパッチをコードブックのベクトルにエンコードするように訓練し、同様に、エンコーダーによって行われたエンコーディングと一致するベクトルを含むようにコードブックを訓練する(すなわち、その中のベクトルの座標を修正する)。ゆえに、学習されたコードブックのベクトルは、量子化された潜在ベクトルのシーケンスに結合されることがあり、ベクトルがトレーニングデータセットのモデルのパッチ(すなわち、上記パッチのエンコーディングであるように学習される)に対応するため、シーケンスは、3Dモデルのパッチ分解に対応する。
【0052】
デコーダーは、コードブックの量子化された潜在ベクトルのシーケンスに対する、3Dモデルへのデコードのために構成される。上記シーケンスは、3Dモデルのパッチ分解に対応する。今述べたことは、デコーダーが、コードブックの量子化された潜在ベクトルのシーケンスを入力として取り、ゆえにシーケンスの各ベクトルが、3Dモデルのパッチのエンコーディングを表し、ゆえにシーケンスが、この3Dモデルのパッチ分解を表し、シーケンスをこの3Dモデルにデコードするように訓練されることを意味する。方法は、ベクトルがエンコードするジオメトリを決定することによって、および、このジオメトリが回転、移動、または回転と移動との組み合わせを介して別のパッチのジオメトリの画像であるかどうかを決定することによって、各ベクトルを対応するパッチにデコードするようにデコーダーを訓練することがある。そのため、デコーダーは、第1のモジュールおよび第2のモジュールを含むことがある。第1のモジュールは、(すなわち、3Dモデルの)パッチ分解に対応するコードブックの量子化された潜在ベクトルのシーケンスを入力として取り、3Dモデルを再構成するために(すなわち、パッチ分解が入力シーケンスによって表される3Dモデルを再構成するために)パッチの回転を推論するために構成される(すなわち、そのために訓練される)。言い換えれば、第1のモジュールは、回転を通して、分解におけるどのパッチが互いの画像であるかを推論するように訓練される。第1のモジュールは、例えば、シーケンスのベクトルに対応する各パッチについて回転四元数を推論するように訓練されることがある。第2のモジュールは、パッチ分解に対応するコードブックの量子化された潜在ベクトルのシーケンスを入力として取り、3Dモデルを再構成するための(すなわち、パッチ分解に対応する3Dモデルを再構成するための)パッチのジオメトリを推論するように構成される。言い換えれば、第2のモジュールは、分解におけるパッチのジオメトリを推論するように訓練される。そのため、第2のモジュールは、パッチにより占められる空間リージョンを予測するシーケンスのあらゆる与えられたベクトルに対応するあらゆる与えられたパッチの占有を予測するように訓練されることがある。各パッチの占有を推論するとともに、各パッチの向きを推論すること(第1のモジュールがすることである)によって、3Dモデルを再構成するようにデコーダーを訓練すること(訓練がデコーダーに何を教えるか)は、3Dモデルのパッチにすべての潜在ベクトルをデコードすることを可能にし、たとえ同じコードブックベクトルによってエンコードされていても、回転(複数可)、移動(複数可)、またはそれらの組み合わせを介して互いの画像であるパッチを推論することを可能にする。本明細書において後に述べられるように、移動は(ボクセルの中心vを用いて)固定され、予め定義されることがあり、ゆえにこの場合、並進を推定する必要はない。
【0053】
デコーダーの例がただちに述べられる。例では、デコーダーは、DΨと表されることがあり、ただし、Ψは学習可能なパラメーターである。デコーダーDΨは、3DモデルXの量子化された表現
【0054】
【数7】
【0055】
を、対応する占有値の暗黙的なフィールドにマッピングするように訓練される。入力パッチ{Xが別々にエンコードされるため、DΨは、大域的な一貫性を確実にしながら、ポーズおよびジオメトリ推定を回復するために、別々のリージョンベースの埋め込みから大域的なコンテキストを取り込むことを目的とする。デコーダーDΨは、2つのモジュール(ブランチとも呼ばれる)、各ローカルリージョンiに対して回転四元数R=[r ,r ,r ,r ]を回復するポーズエスティメーション(pose estimation)ブランチf(すなわち第1のモジュール)と、与えられた点xにおける占有値を計算するジオメトリ予測ブランチgλ(すなわち第2のモジュール)とを含む。正式には、Ψ={ρ,λ}、および
:{z →{R
λ:(R,x,{z )→o
である。
【0056】
デコーダーの今述べた2分岐分解は、DΨに、その能力をジオメトリ予測のためだけでなく、パッチの向きを回復しグローバルな一貫性を確保するためにも割り当てることを可能にする。今述べたことは、従来の設定と比較して、DΨの性能を落とすことを避ける(コードブックの正準化される定式化のため)。
【0057】
正準化されたジオメトリのかたちを生成することは、gλの生成タスクを簡略化し、したがって、デコーダーの分岐分解構造は、ジオメトリデコーダーを方向バイアスから解放することを可能にするだけではなく、本来のジオメトリの特徴を強化することに集中することを可能にする。このように、中心vのリージョンiに属する空間の点x∈Rが与えられると、その占有値oは、次のように予測されることがある。
Ψ(x,{z )=gλ(R(x-v),{z )=o
例では、上の公式に関して次のように変更したバージョンが用いられることが可能である。
【0058】
【数8】
【0059】
ただし、wはグリッド中心vまでの距離に反比例する重み付け係数である。言い換えれば、デコーダーは、境界に近い点xに対して、隣接するリージョンxからの占有推定を補間する。今述べたことは、パッチの境界にわたって不連続である再構成を取得することを避けることを可能にする。
【0060】
発明者は、DΨの設計の広範囲に実験し、特に、ポーズパラメーターを明示的に推定することなく、正準化された表現から直にジオメトリのデコードを試みるというアプローチをテストした。発明者は、十分な精度を提供する回転予測分岐を含む上述のデコーダー設計とは逆に、これが性能の低下と精度の低さにつながることに気づいた。
【0061】
上述したようなニューラルネットワーク(すなわち、デコーダーDΨ、およびテンソルフィールドネットワーク、ローカルエンコーダー、および量子化演算子の合成であるエンコーダーを含む)およびコードブックは、アーキテクチャを例示する図を示す図1に例示されるRIVQ-VAEアーキテクチャを形成することがある。図1に示すように、このアーキテクチャは、(i)各面のパッチを回転不変および並進不変の表現にマッピングするローカルエンコーダー、(ii)学習可能なコードブック、および(iii)パッチの回転ベクトルを回復するポーズ推定ブロックと形状占有フィールドを推定するジオメトリ予測ブロックとからなる暗黙的な面ベースデコーダーにある。
【0062】
このアーキテクチャは、離散変数のシーケンスによって3D形状をキャプチャする革新的なベクトル量子化表現を提供する。RIVQ-VAEは、学習可能なコードブックからサンプリングされた離散的な回転不変および並進不変な潜在表現に、入力点群の局所的なリージョンを独立にマッピングするエンコーダーからなる一方、暗黙的なデコーダーは、入力点群と一致する水密メッシュに、リージョンベースの離散的な表現を共同してマッピングする。明白にコンパクトな表現は、Transformerアーキテクチャ(参考文献Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Lukasz Kaiser, and Illia Polosukhin、「Attention is all you need」、I. Guyon, U. Von Luxburg, S. Bengio, H. Wallach, R. Fergus, S. Vishwanathan, and R. Garnett編、「Advances in Neural Information Processing Systems」、第30巻、Curran Associates, Inc、2017年に述べられ、参照により本明細書に組み込まれる)を用いて、多様な生成タスクを可能にする離散的な表現を介して先行して自己回帰を学習することを可能にする。Transformerアーキテクチャの使用は、本明細書において後に述べられる。
【0063】
学習は、ニューラルネットワークとコードブックとを、例えば同時に学習することを含む。学習は、ニューラルネットワークの重みと、コードブックユニットのベクトルの座標値とを変更すること、1)エンコーダーが、コードブックの量子化された潜在ベクトルへのトレーニングデータセットのあらゆる3Dモデルのあらゆるパッチの回転不変な(例えば、および並進不変な)エンコーディングを行う、2)コードブックのベクトルが、エンコーダーによってエンコードされた(ゆえに出力された)ベクトルに対応する、3)デコーダーが、エンコーダーによって、トレーニングデータセットのあらゆる3Dモデルのパッチ分解に関する、3Dモデルへのエンコーディングを表すコードブックの量子化された潜在ベクトルのシーケンスをデコードすることにより、十分な再構成精度を(例えば、適切な再構成収束精度に関して)有して3Dモデルを再構成する、を含む。
【0064】
そのため、学習は、損失を最小限に抑えることを含む。言い換えれば、学習は、トレーニングデータセットのサンプルを入力として取ると、損失が十分に低い値を(例えば、適切な収束基準に関して)達成するまで、ニューラルネットワークの重みとコードブックのベクトルの座標とを修正することを含む。損失は、機械学習においてそれ自体知られている概念である再構成損失を含み、エンコーダーとデコーダーとを入力3Dモデルに適用すると、この3Dモデルの正確な再構成が出力されるように、エンコーダーとデコーダーが学習されることを確実にする。損失はさらにコミットメント損失を含む。コミットメント損失の概念は、例えば、参考文献Aaron van den Oord, Oriol Vinyals, and koray kavukcuoglu、「Neural discrete representation learning」、Advances in Neural Information Processing Systems、2017年に述べられ、参照により本明細書に組み込まれる。コミットメント損失は、エンコーダーにより出力される量子化された潜在ベクトルとコードブックのベクトルとの間の一貫性に報いるものである。言い換えれば、エンコーダーが、コードブックのベクトルと一致する(例えば、コードブックのベクトルとの適切な距離に従って近い)量子化された潜在ベクトルを出力するとき、およびコードブックのベクトルがエンコーダーによって出力されるベクトルと一致する(例えば、エンコーダーによって出力されるベクトルとの適切な距離に従って近い)とき、コミットメント損失は、低い値に到達する傾向がある。言い換えれば、エンコーダーがコードブックのベクトル集合の値を出力するとき、およびコードブックのベクトルがトレーニングデータセット上のエンコーダーの画像に含まれ、および近いとき、コミットメント損失は低い値になる傾向がある。
【0065】
損失は、次のタイプのであり得る。
【0066】
【数9】
【0067】
ただし、Lは再構成バイナリークロスエントロピー損失(reconstruction binary cross-entropy loss)であり、LVQはコミットメント損失であり、xは3次元の点(すなわち、3D空間の点であり、トレーニングデータセットのモデル(例えば、3D点群)に属する、またはモデルの外側のボリュームに属することがある)を表し、Ψはデコーダーのパラメーターを表し、βは重みのパラメーターであり、
【0068】
【数10】
【0069】
はxのグランドトゥルースの占有を表し、oはxの予測される占有を表し、Φはエンコーダーのパラメーターを表し、ただし、
【0070】
【数11】
【0071】
ただし、sg[.]は、前記stop-gradient演算子を表し、Z={z、Z={z 、ただし、zはパッチXの非量子化エンコーディングであり、およびただし、次であり、
【0072】
【数12】
【0073】
ただし、D={e∈R},k=1,・・・,Kはコードブックであるコミットメント損失は、予測されるコードZに、関連したコードブックベクトルZに近くなることよう勧めることによって、エンコーダーが離散的な潜在分布(すなわち、コードブック)にコミットすることを確実なことにする。損失はトレーニングデータに適用され、点xが3Dモデルに属するか、3Dモデルの外側にあるかどうかを予測する(すなわち分類する)モデルを訓練することを可能にする。
【0074】
また、学習メソッドに従って学習可能なデコーダーおよびコードブックを含むニューラルネットワーク機能も提案される。ニューラルネットワーク機能は、コンピューターに実装されたニューラルネットワークアーキテクチャであり、学習メソッドによって行われる学習に従って設定されたパラメーターとベクトル座標とを有するデコーダーとコードブックとを含む。ニューラルネットワーク機能は、例えば、学習メソッドに従って学習されたデコーダーとコードブックをと含む。ニューラルネットワーク機能は、学習メソッドに従って学習可能な(例えば学習された)エンコーダーをさらに含むことがある。ゆえに、関数は、学習メソッドによって学習された先に述べたRIVQ-VAEアーキテクチャを含むことがある。ニューラルネットワーク機能は、本明細書において後に述べられるように、学習メソッドに従って学習可能な、もしくは使用の方法に従って学習可能な、例えば学習メソッド、もしくは使用の方法によって学習されたトランスフォーマーニューラルネットワーク、または本明細書において後に述べられるように、いくつかの入力潜在ベクトルに対して学習された、いくつかの上記トランスフォーマーニューラルネットワークをさらに含むことがある。
【0075】
さらに、ニューラルネットワーク機能のデコーダーおよびコードブックの使用の方法も提案される。ゆえに、使用の方法は、ニューラルネットワーク機能が、学習メソッドにより傾いたデコーダーおよびコードブックを含ならば、学習メソッドにより学習されたデコーダーおよびコードブックに関する使用の方法である。学習メソッド、および使用の方法は、別々に独立して行われることがある。あるいは、学習メソッド、および使用の方法は、同一のコンピューター実装される処理に統合されることがある。ゆえに、オンライン段階が続くオフライン段階を含み、オフライン段階が学習メソッドを行うことを含み、オンライン段階が使用の方法を行うことを含むまたは行うことにある、コンピューターに実装される処理も提案される。使用の方法は、コードブックの量子化された潜在ベクトルのシーケンスを取得し、デコーダーをシーケンスに適用することを含む。
【0076】
使用の方法は、部分点群である入力3Dモデルのコンプリーションを行うことである形状のコンプリーションを行うための、または物体の入力シングルビュー画像から物体を表す3Dモデルを再構成するシングルビューの再構成を行うためのであり得る。部分点群は、部分点群が部分的に表す実世界の物体のスキャンから起こることがある。使用の方法は、初期段階として上記スキャンを行うことを含むことがある。
【0077】
使用の方法が形状のコンプリーションを、または単一のビュー再構成を行うためであるこれらの場合、量子化された潜在ベクトルのシーケンスを取得することは、トランスフォーマーニューラルネットワークを適用することを含む。トランスフォーマーニューラルネットワークは、本明細書において後に述べられる。入力3Dモデルを表す入力潜在ベクトルを与えられると、入力3Dモデルのパッチ分解に対応するコードブックの量子化された潜在ベクトルのシーケンスを生成するように構成されたニューラルネットワークである。トランスフォーマーニューラルネットワークを適用することは、トランスフォーマーニューラルネットワークが訓練された入力潜在ベクトルにトランスフォーマーニューラルネットワークを適用して、潜在ベクトルによって表される3Dモデルのパッチ分解に対応するコードブックの量子化された潜在ベクトルのシーケンスを生成することにある。ゆえに、潜在ベクトルは、例えば、先に説明したPointNetまたはResNetアーキテクチャを用いて取得された、入力3Dモデルを表す画像の、または点群の埋め込みに対応することがある。画像はシングルビュー画像であり得る、または点群は部分点群であり得る
学習メソッド、または使用の方法は、トランスフォーマーニューラルネットワークを学習することをさらに含むことがある。言い換えれば、トランスフォーマーニューラルネットワークの学習は、学習メソッドの一部であることがあり、使用の方法の一部であり得る。トランスフォーマーニューラルネットワークは、先に説明したニューラルネットワークに含まれることがある。トランスフォーマーニューラルネットワークは、入力3Dモデルを表す入力潜在ベクトルが与えられると、入力3Dモデルのパッチ分解に対応するコードブックの量子化された潜在ベクトルのシーケンスを生成するように構成される。言い換えれば、トランスフォーマーニューラルネットワークは、入力3Dモデルと、3Dモデルを表す入力潜在ベクトル(「潜在埋め込み」とも呼ばれる)(例えば、あらゆる適切なエンコーダーアーキテクチャを用いて取得される)が与えられると、例えば対数尤度に関して、入力潜在ベクトルに最もよく対応するコードブックの量子化された潜在ベクトルのシーケンスを予測する/見つけるように構成される(すなわち、訓練される)。トランスフォーマーニューラルネットワークの学習は、学習メソッドの一部のとき、コードブックの学習の後に行われることがある。
【0078】
トランスフォーマーニューラルネットワークは、先に引用された参考文献Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Lukasz Kaiser, and Illia Polosukhin、「Attention is all you need」、I. Guyon, U. Von Luxburg, S. Bengio, H. Wallach, R. Fergus, S. Vishwanathan, and R. Garnett編、「Advances in Neural Information Processing Systems」、第30巻、Curran Associates, Inc、2017年に述べられ、入力潜在ベクトルにより初期化されるトランスフォーマーアーキテクチャを有することがある。トランスフォーマーニューラルネットワークは、入力3Dモデルが与えられると、入力潜在ベクトルを決定するように構成されたエンコーダーも含むエンコーダーデコーダーアーキテクチャのデコーダー部分であり得る。エンコーダーは、入力3Dモデルが画像であるならば、ResNetアーキテクチャ(参照により本明細書に組み入れられる参考文献Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun, "Deep residual learning for image recognition", In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition(CVPR), 2016年6月に述べられる)を、または、入力3Dモデルが点群であるならば、Local PointNetアーキテクチャ(参照により本明細書に組み入れられる参考文献Charles R Qi, Hao Su, Kaichun Mo, and Leonidas J Guibas, "Pointnet:Pointnet: Deep learning on point sets for 3D classification and segmentation", Proc. Computer Vision and Pattern Recognition(CVPR)、IEEE、2017年に述べられる)を、有することがある。学習メソッド、または使用の方法は、トランスフォーマーネットワーク、すなわちアーキテクチャのデコーダー部分のみを学習することがある、またはアーキテクチャのデコーダー部分とエンコーダー部分との両方を学習することがある。
【0079】
トランスフォーマーニューラルネットワークは、次ように学習されることがある。たとえば(例えば部分)点群の形状または画像ビューなどの入力3DモデルОが与えられると、方法は、形状のコンプリーションタスクと単一ビュー再構成タスクとをそれぞれ可能にするために、妥当な形状シーケンスの分布をモデリングすることを目的とする。言い換えれば、オブザベーションОが与えられると、目標は完全なシーケンスp(Z|О;θ)の分布を学習することであり、ただし、pは0に条件付けられた離散的な潜在表現Z∈Rk3×Dの分布を指定し、θは学習可能な分布パラメーターを表す。方法は、因数分解されたシーケンス分布を次のように書くことが可能であるように、自己回帰的なモデルp(Z|О;θ)を含むことがある。
【0080】
【数13】
【0081】
p(.;θ)を学習するために、使用の方法、または学習メソッドは、図2に例示されるエンコーダーデコーダーアーキテクチャを用いることがある。第1に、アーキテクチャは、オブザベーションОを、入力潜在ベクトル/潜在埋め込みeにつながる埋め込み空間に投影する。方法は、入力画像または点群オブザベーションを(それぞれ)処理するバックボーンとして、先に述べられたResNetまたはLocal PointNetアーキテクチャを用いる。次に、使用の方法、または学習メソッドは、完全なターゲット表現Z={zi=1,・・・,Lを順次予測するためのeトークンによりトランスフォーマーニューラルネットワークを初期化する。訓練は、ОおよびZが与えられる対数尤度を最大にする学習目的により行われる。
L=-logp(Z|О;θ)
推論時間/オンライン段階では、部分点群、または単一の画像ビューОが与えらると、対応する形状表現Zは、トップ-p技法(参考文献Ari Holtzman、Jan Buys、Li Du、Maxwell Forbes、およびYejin Choi、「The curious case of neural text degeneration」、International Conference on Learning Representations、2020年に述べられ、参照により本明細書に組み込まれる)に従って順次サンプリングされることがあり、ただし、コードインデックスは、確率和がしきい値pを超えるインデックスの集合から選択される。
【0082】
トランスフォーマーニューラルネットワークの学習は、いくつかのトランスフォーマーニューラルネットワークが、異なるそれぞれの入力潜在ベクトルに対して各々学習される(すなわち、与えられた潜在ベクトルに、潜在ベクトルによって表される入力3Dモデルのパッチ分解に対応するコードブックの量子化された潜在ベクトルのシーケンスを生成するために学習された与えられたトランスフォーマーニューラルネットワークが対応する)場合では、いくつかの入力3Dモデル(例えば、シングルビュー画像または部分点群)を表すいくつかの入力潜在ベクトルに対して繰り返されることがあることは、理解されることである。
【0083】
あるいは、方法は、形状の再構成のために、つまり、与えられた入力3Dモデルのために、エンコーダー、デコーダー、およびコードブックを用いてモデルを再構成することであり得る。この場合、シーケンスを取得することは、入力3Dモデルのパッチ分解にエンコーダーを適用することを含む。今述べたことは、各パッチにエンコーダーを適用することにより、異なるパッチを表す量子化された潜在ベクトルに対して生まれ、全体としてシーケンスを形成することにある。次に、デコーダーは、このシーケンスに適用され、ゆえに入力3Dモデルを再構成する。
【0084】
手法およびニューラルネットワークの実装およびテストが、直ちに述べられる。
【0085】
これらの実装では、トレーニングデータセットは、ShapeNetから取られた3Dモデル(約35kモデル)にある(参考文献Angel X. Chang, Thomas Funkhouser, Leonidas Guibas, Pat Hanrahan, Qixing Huang, Zimo Li, Silvio Savarese, Manolis Savva, Shuran Song, Hao Su, Jianxiong Xiao, Li Yi, and Fisher Yu、「ShapeNet:An information-rich 3D model repository」、arXiv preprint、2015年12月に述べられ、参照により本明細書に組み込まれる)。モデルは、13のカテゴリの物体(飛行機、ベンチ、キャビネット、車、椅子、ディスプレイ、ランプ、スピーカー、ライフル銃、ソファ、テーブル、電話、および舟)を表す。学習は、参照により本明細書に組み入れられる参考文献Qiangeng Xu、Weiyue Wang、Duygu Ceylan、Radomir Mech、and Ulrich Neumann、「Deep implicit surface network for high-quality single-view 3d reconstruction」、H.Wallach, H. Larochelle, A. Beygelzimer, F. d'Alch´e-Buc, E. Fox, and R. Garnett編、Advances in Neural Information Processing Systems、第32巻、Curran Associates, Inc.によって提供される訓練/テスト分割を用いて、これらのモデルにおいて行われる。
【0086】
テストの評価のために、参照により本明細書に組み込まれる参考文献Maxim Tatarchenko*, Stephan R. Richter*, Ren´e Ranftl, Zhuwen Li, Vladlen Koltun, and Thomas Brox、「What do single-view 3D reconstruction networks learn?」、 Proceedings of IEEE Conference on Computer Vision and Pattern Recognition(CVPR)、2019年に述べられる、一般的な再構成メトリックCD(Chamfer distance), EMD(Earth moving distance)、およびF-score%1(F1)が用いられる。
【0087】
形状の再構成のためのテスト
第1の実験として、発明者は、有限潜在空間が、異なったジオメトリの構成を組み入れて、テスト形状をどれぐらい正確に表現することが可能であるかを強調するために、学習されたニューラルネットワークの再構成性能を測定した。適切な評価のために、本方法は、次の設定を有するAutoSDF(参考文献Paritosh Mittal, Yen-Chi Cheng, Maneesh Singh, and Shubham Tulsiani、「AutoSDF Shape priors for 3d completion, reconstruction and generation」、CVPR、2022年に述べられる)およびShapeFormer-res8(参考文献 Xingguang Yan, Liqiang Lin, Niloy J. Mitra, Dani Lischinski, Danny Cohen-Or, and Hui Huang、「Shapeformer: Transformer-based shape completion via sparse representation」、 Proceedings of IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2022年)と比較された。
コードブックサイズN=512、潜在空間分解能k=8、潜在コードサイズD=256
下の表1は、AutoSDFおよびShapeFormerモデルにより取得された再構成結果と、現在述べられている実装に従った本RIVQ-VAEモデルにより取得された再構成結果とを示す。
【0088】
【表1】
【0089】
異なったメトリックに関して、実装は、AutoSDFの64^3の解像度のSDFボクセルからと、ShapeFormer-8およびRIVQ-VAEの128^3にてサンプリングされた陰関数からと、マーチングキューブ(Marching Cube)を用いてメッシュを取得する。CDおよびF1に関して50kのサーフェイスポイント、EMD評価に関して8096のサーフェイスポイントが用いられた。同様の設定のもとに、RIVQ-VAEは、異なったメトリックにわたって基準のメソッドより性能がよい。今述べたことは、図3に例示された定性的な再構成結果によってさらに支援される。具体的には、図3は、グラウンドトゥルースオブジェクト(GT)と、本RIVQ-VAEモデル、およびAutoSDF(AS)およびShapeFormer(SF-8)モデルによる再構成とを示す。本実装により行われる再構成は、明白に、プレゼンスコードブックの正準化される定式化が潜在空間の多様性を促進するので、改善した品質を有する。例示のために、図4は、本実装が、学習されたコードブックを、より多様なジオメトリのかたちをキャプチャすることに内在的に導く、リジッドな変換にまで類似のジオメトリをコンパクトに表すことをどれぐらい可能するかを示す。図4では、各単一の形状に関して、同一のハッチングを有するパッチは、同一のコードブックインデックスにより表される。基準のアプローチ(1行目)が、類似した回転ジオメトリを表すために複数のインデックスを消費するが、本方法(2行目)は、よりコンパクトな効率的な表現に対する類似性をレバレッジする。
【0090】
シングルビューの再構成のためのテスト
第2のテストとして、発明者は、シングルビューの再構成のタスクに関して、本実装により取得された結果を、先に述べたAutoSDFモデル、および基準のグローバルベースメソッドPix2Vox(参考文献Haozhe Xie, Hongxun Yao, Xiaoshuai Sun, Shangchen Zhou, and Shengping Zhang、「Pix2vox: Single and multi-view images from Context-aware 3D reconstruction」、Proceedings of the IEEE/CVF International Conference on Computer Vision(ICCV)、2019年に述べられる)と比較した。下の表2、および図5は、定量的な結果、および定性的な結果をそれぞれ示す。
【0091】
【表2】
【0092】
図5は、入力されたシングルビューの画像(「画像」行)、グランドトゥルースモデル(GT)、およびPx2Vox、AutoSDF、およびRIVQ-VAEモデルの結果を示す。
【0093】
結果は、本実装が、上の再構成実験にて際立ったように、RIVQ-VAEにより可能な高品質の表現のために、異なったメトリックにわたってより高品質の再構成を生成し、その利点が下流のタスクに広がることを示す。重要なことには、提案された正準化される潜在空間の定式化が、自己回帰モデルを学習することに対して効率的にレバレッジされることが可能であることと、本デコーダーが、多様な局所的なシーケンスを正確に回転させ、妥当な大域的なジオメトリに組み立てることが可能であることとを明確に示す。そのうえ、先の自己回帰をレバレッジすることによって、本方法は、例えば図6に例示されているように、単一の入力画像に対して複数の妥当な解をサンプリングすることを可能にする。図6は、シングルビューの再構成の定性的な結果を示し、入力画像を与えられると、本実装は、複数の再構成をサンプリングすることが可能であることを例示する。
【0094】
形状のコンプリーションのためのテスト
発明者は、テスト形状からランダムなリージョンを切り取ることによって合成的に生成された部分的なオブザベーションの形状のコンプリーションスキーム(すなわち、使用の方法によって行われた)を評価した。結果は、先に述べた基準のShapeFormer-8アプローチと比較された。この目的のために、テスト形状からランダムなリージョンを切り取ることにより、部分点群のテストセットがビルドされた。各モデルに関して、発明者は、学習された潜在空間分布に基づき、与えられた入力部分点群に条件つけられた3つの形状のコンプリーション解をサンプリングした。評価に関して、TMD(Total Mutual Difference)メトリックが多様性を測定するのに用いられ、UHD(Unidirectional Hausdorff Distance)が入力に向けた忠実性を測定するのに用いられ、MMD(Minimal Matching Distance)(参考文献Panos Achlioptas, Olga Diamanti, Ioannis Mitliagkas, and Leonidas J Guibas、「Learning representations and generative models for 3d point clouds」、arXiv preprint arXiv:1707.02392、2017年に述べられ、参照により本明細書に組み込まれる)が妥当性および品質をキャプチャするのに用いられる。異なったメトリックは、2048個のランダムにサンプリングされたサーフェイスポイントに基づいて計算され、異なったカテゴリにわたって平均される。定量的結果、および定性的結果は、下の表3,および図7にそれぞれ示される。
【0095】
【表3】
【0096】
本手法は、より良い幾何学的な品質および妥当性(より低いMMD)を確実にしながら、より良い多様性(より高いTMD)を達成する。ShapeFormer-8は、部分入力(より低いUHD)により近い形状のコンプリーションの結果を生むが、今述べたことは、より少ないジオメトリシフトに内在的に導く、生成されるコンテンツのより低い多様性に帰属することになることが特筆される。図7は、説明と、多様なコンプリーション候補を提供することに関して本方法によりもたらされる改善とを明確に支援する。重要なことには、MMDの評価により述べられたように、幾何学的な妥当性を確実にしながら、この多様性が達成される。図7は、形状のコンプリーションに関する定性的な結果を示す。図7は、入力部分点群(左)が与えられると、ShapeFormer-8(SF-8)および本実装(RIVQ-VAE)が返す形状のコンプリーション解の比較を示す。
図8は、オフライン段階としての学習メソッドと、オンライン段階としての使用の方法とを含む処理の例示的な実装のフローチャートを示す。
【0097】
追加の定義
TMD(Total Mutual Difference)コンプリーションダイバーシティは、コンプリーションした形状の間のダイバーシティを計算する。全相互差分(Total Mutual Difference)を用いて計算される。部分入力に関するk個のコンプリーションが与えられると、各コンプリーションに対して、他のk-1個のコンプリーションへのCDの平均が計算される。TMDは、k個のコンプリーションにわたる和である。
【0098】
UHD(Unidirectional Hausdorff Distance)は、部分入力が、コンプリーションの間に、どれだけ変わるかを計算する。部分入力から完了出力までの平均の単一方向ハウスドルフ距離(Unidirectional Hausdorff Distance)として計算される。UHDは、次のように、部分点群P={p,p,・・・,p}から完全点群C={c,c.・・・,c}として計算される。
【0099】
【数14】
【0100】
形状の表現:空間レイアウトを変更するのに用いられる形状の自由度を表す。今述べたことは、3D形状ジオメトリの完全な制御を有することから、形状の修正を扱いやすくするためか、構造的な制約を強いるためかのいずれかの、形状の自由度の減らされる数を定義することまでの間におさまる。本開示は、ニューラルネットワークによって生成されるパラメトリゼーションを提案する。後者は、潜在空間を複雑な3次元形状の分布にマッピングすることを学習する。したがって、3D形状を修正することは、結局パラメトリゼーションベクトルの修正することになる。
【0101】
方法は、コンピューターに実装される。今述べたことは、方法のステップ(または実質的にすべてのステップ)が、少なくとも1台のコンピューター、または同じようなあらゆるシステムによって実行されることを意味する。ゆえに、方法のステップは、コンピューターによって、おそらく完全に自動的に、または、半自動的に行われる。例では、方法のステップのうちの少なくともいくつかのトリガーは、ユーザーコンピューターインタラクションを通じて行われることがある。要求されるユーザーコンピューターインタラクションのレベルは、予想される自動性のレベルしだいであり、ユーザーの願望を実装する必要性とのバランスに置かれることがある。例では、今述べたレベルは、ユーザー定義されるおよび/または事前定義されることがある。
【0102】
方法のコンピューター実装の典型的な例は、今述べた目的に対して適合したシステムにより方法を行うことである。システムは、メモリーおよびグラフィカルユーザーインターフェース(GUI)に結合されたプロセッサーを含むことがあり、メモリーは、方法を行うための命令を含むコンピュータープログラムを記録している。さらに、メモリーは、データベースを格納することもある。メモリーは、上記のストレージに対して適合したあらゆるハードウェアであり、おそらく、いくつかの物理的に異なった部分(例えば、プログラム用の1つ、およびおそらくデータベース用の1つ)を含む。
【0103】
図9は、システムが、クライアントコンピューターシステム、例えば、ユーザーのワークステーションであるシステムの例を示す。
【0104】
例に関するクライアントコンピューターは、内部通信BUS1000に連結された中央処理装置(CPU)1010、BUSにさらに連結されたランダムアクセスメモリー(RAM)1070を含む。さらに言えば、クライアントコンピューターは、BUSに連結されたビデオランダムアクセスメモリー1100に関連付けられたグラフィック処理装置(graphical processing unit:GPU)1110を有して提供される。さらに、ビデオRAM1100は、当業者にはフレームバッファとしても知られている。マスストレージデバイスコントローラー1020は、たとえばハードドライブ1030などのマスメモリーデバイスへのアクセスを管理する。コンピュータープログラム命令およびデータを有形に具現化することに対して適したマスメモリーデバイスは、例として、たとえば、EPROM、EEPROM、およびフラッシュメモリーデバイスなどの半導体メモリーデバイス、たとえば内蔵ハードディスクおよび取外し可能ディスクなどの磁気ディスク、光磁気ディスクを含む、不揮発性メモリーのすべてのかたちを含む。前述のもののいずれかは、特別に設計された ASIC(特定用途向け集積回路)により補完される、または組み込まれることがある。ネットワークアダプター1050は、ネットワーク1060へのアクセスを管理する。さらに、クライアントコンピューターは、たとえば、カーソル制御デバイス、キーボード、または同等のものなど、ハプティックデバイス1090を含むこともある。カーソル制御デバイスは、クライアントコンピューターに用いられて、ユーザーに、カーソルをディスプレイ1080におけるどんな望みのロケーションにでも選択的に置くことを許可する。加えて、カーソル制御デバイスは、ユーザーに、種々のコマンドを選択し制御信号を入力することを可能にする。カーソル制御デバイスは、システムに制御信号を入力するために、いくらかの信号生成デバイスを含む。通常、カーソル制御デバイスは、マウスであり、マウスのボタンが信号を生成するのに用いられることがある。あるいはまたはさらに加えて、クライアントコンピューターシステムは、センシティブパッド、および/またはセンシティブスクリーンを含むことがある。
【0105】
コンピュータープログラムは、コンピューターによって実行可能な命令を含み、命令が上記のシステムに方法を行わせるための手段を含むことがある。プログラムは、システムのメモリーを含む、あらゆるデータ記録媒体に記録可能であり得る。プログラムは、例えば、デジタル電子回路に、またはコンピューターのハードウェア、ファームウェア、ソフトウェアに、またはそれらの組み合わせに実装されることがある。プログラムは、装置として、例えば、プログラマブルプロセッサーによる実行のために機械読取り可能ストレージデバイスに有形に具現化された製品として実装されることがある。方法ステップは、方法の機能を行う命令のプログラムを、入力データに操作し出力を生成することによってプログラマブルプロセッサーが行うことにより行われることがある。ゆえに、プロセッサーは、データストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、データおよび命令を送信するようにプログラム可能であり、結合されることがある。アプリケーションプログラムは、ハイレベル手続きプログラミング言語もしくはオブジェクト指向プログラミング言語にて、または望まれるならばアセンブリ言語もしくはマシン言語にて実装されることがある。いかなる場合も、言語は、コンパイル言語またはインタプリタ言語であり得る。プログラムは、フルインストールプログラムまたはアップデートプログラムであり得る。システムへのプログラムの適用は、いかなる場合も、方法を行うための命令に帰着する。コンピュータープログラムは、あるいは、クラウドコンピューティング環境のサーバーに格納され実行されることがあり、サーバーは、1つまたは複数のクライアントとネットワークを介して通信している。上記場合、処理ユニットがプログラムによって含まれる命令を実行することにより、クラウドコンピューティング環境において方法が実行される。
図1
図2
図3
図4
図5
図6
図7
図8
図9
【外国語明細書】