JP2022036918A - 人工知能の使用による3dオブジェクトへのuvマッピング - Google Patents

人工知能の使用による3dオブジェクトへのuvマッピング Download PDF

Info

Publication number
JP2022036918A
JP2022036918A JP2021132562A JP2021132562A JP2022036918A JP 2022036918 A JP2022036918 A JP 2022036918A JP 2021132562 A JP2021132562 A JP 2021132562A JP 2021132562 A JP2021132562 A JP 2021132562A JP 2022036918 A JP2022036918 A JP 2022036918A
Authority
JP
Japan
Prior art keywords
model
seam
seams
predicted
machine learning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2021132562A
Other languages
English (en)
Other versions
JP7129529B2 (ja
Inventor
セバスティアン カサラス スアレス フアン
Sebastian Casallas Suarez Juan
レプレトレ サチャ
Lepretre Sacha
ジュリアーノ ヴィヴォナ サルヴァトーレ
Giuliano Vivona Salvatore
デイビッド マクドナルド ジョセフ
David Macdonald Joseph
ヴィルヌーブ ブライアン
Villeneuve Bryan
バンキンバイ タカール ヴィラル
Bankimbhai Thakar Viral
ロイ ブルーノ
Roy Bruno
ミシェル ロング エルベ
Michel Lange Herve
テイマリー フェイトメ
Teimury Fatemah
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Autodesk Inc
Original Assignee
Autodesk Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Autodesk Inc filed Critical Autodesk Inc
Publication of JP2022036918A publication Critical patent/JP2022036918A/ja
Application granted granted Critical
Publication of JP7129529B2 publication Critical patent/JP7129529B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/008Cut plane or projection plane definition

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Generation (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】人工知能の使用による3DオブジェクトへのUVマッピングの提供。【解決手段】様々な実施形態は、3Dモデルのためのシームを生成するシステム及び技術を示す。技術は、3Dモデルに基づいて、1つ以上の訓練済み機械学習モデルのための1つ以上の入力を生成することと、1つ以上の訓練済み機械学習モデルに1つ以上の入力を提供することと、1つ以上の訓練済み機械学習モデルから、1つ以上の入力に基づいて生成されたシーム予測データを受信することと、シーム予測データに基づいて、3Dモデル上に1つ以上の予測済みシームを配置することと、を含む。【選択図】図3

Description

本発明の実施形態は概して、コンピュータグラフィックに関し、特に、人工知能の使用による3DオブジェクトへのUVマッピングに関する。
三次元(3D)グラフィック用途は、ユーザが、3Dモデルに基づいた、ビデオゲーム、特殊効果、設計可視化、及び物理的物品の印刷を含む、様々な用途に対して3Dモデルを設計及び生成することを可能にする。3Dモデルは、UVマッピング工程を介して、1つ以上の2D画像を使用してテクスチャ加工されることが多い。UVマッピング工程は典型的には、3Dモデルが1つ以上の部位に分けられるべき、または分割されるべき、シームのセットを定義することを伴う。1つ以上の部位は、単一の2D画像(二次元UV空間)にアンラップまたは平坦化され、その結果、2D画像上にテクスチャを描くことができる。そのようにして、2D画像上のテクスチャが3Dモデルに適用または「マッピング」される。
UVマッピングでは、3Dモデル上のシームの不適切な配置は、いくつかの問題を引き起こすことがある。特に、非常に多くのシーム、非常に少ないシーム、または不正確に配置されたシームが所与の3Dモデルに対して定義される場合、結果として生じる2Dテクスチャ画像は、いくつかの問題を含むことがある。以下で詳細に説明されるように、それらの問題は、レイアウトの非効率性、歪み、視覚的アーチファクト、及びセマンティック境界に位置しないシームを含む。
レイアウトの非効率性に関して、3Dモデルが平坦化されるとき、平坦化されたピースは、単一の2D画像に配列される。各々の平坦化されたピースのサイズ及び形状は、平坦化されたピースが2D画像上でどのようにレイアウトされるかに影響を与える。配列に応じて、2D画像上に配列された平坦化されたピースの周りにいくらかの量のブランク空間が残る。しかしながら、大容量のブランク空間、よって、2D画像上の空間の最適でない使用は望ましくない。特に、2D画像がより大きいほど、2D画像を記憶するためにより多くのコンピュータ記憶空間が利用され、2D画像を送信するためにより多くのネットワーク帯域幅が利用され、コンピューティングデバイスがテクスチャを有する3Dモデルをレンダリングしているときにより多くのメモリが利用される。よって、2D画像内でブランク空間を最小化する効率的なレイアウトがより望ましい。
歪みに関して、2D画像上のテクスチャが3Dモデルに適用されるとき、2D画像は、拡張または圧縮されることがある。例えば、世界地図の画像を球体上に配置する場合、単一の矩形ピースは、赤道に沿って拡張し、極に沿って圧縮する画像を結果としてもたらす。より多くのシームを追加することが、より多くのピースを結果としてもたらし、2D画像を適用するときの歪みの量を減少させる。しかしながら、多くの追加のピースを使用することが、2D画像のレイアウトの効率性に影響を及ぼし、したがって、歪みを減少させる最適な解決策ではないことが多い。球体の例を参照して、3Dモデルを単一の矩形ピースに分割することは、3Dモデルをいくつかの非矩形ピースに分割することと比較して、2D画像内でのより少ないブランク空間を結果としてもたらす。
視覚的アーチファクトに関して、2D画像上のテクスチャが3Dモデルに適用されるとき、シームが位置する場所の周りで視覚的アーチファクトまたは視覚的不一致が存在することがある。したがって、視覚的に顕著な領域にシームを配置することは望ましくない。例えば、世界地図の画像が球体上に配置されるとき、2D画像のエッジが共に背後で接合されるライン、歪み、または他の視覚的アーチファクトが存在することがある。歪みを減少させるために追加のシームを追加することは、そのような視覚的アーチファクトが顕著である場所の数を増大させる。
加えて、シームは、3Dモデルを1つ以上の平坦化されたピースに分割する。3Dモデルを論理的部位に、すなわち、セマンティック境界に沿って分割するようにシームを配置することは、アーチストが、モデルの異なる部位のためのテクスチャを識別及び編集することを可能にする。例えば、人間のモデルについて、モデルを腕部、脚部、頭部、及び胴部に対応するピースに分割することは、アーチストが、体の部位ごとのテクスチャを識別及び編集することを可能にする。しかしながら、不正確または望ましくないシーム配置は、3Dモデルが非常に多くのピースに、3Dモデルとの1つよりも多い論理的セマンティック対応を有するピースに、または3Dモデルとの論理的セマンティック対応を有さないピースに分割されることを結果としてもたらすことがある。人間モデルの例を参照して、モデルを追加のピースに分割することが、歪みを少なくすることを結果としてもたらすことがあるが、追加のピースは、人間の体の根本的な3Dモデルに意味的に対応しないことがある。結果として、アーチストは、体のどの部位がどのピースに及ぶべきか、または体のどの部位が各ピース上のどの位置に及ぶべきか、及び体の部位がどの方位に描かれるべきかを判定することに困難を有する。
上述したことが示すように、本分野において必要とされるのは、3DモデルのためのUVマッピングシームを生成するより効果的且つロバストな技術である。
本出願の1つの実施形態は、三次元(3D)モデルのためのシーム予測のセットを生成するコンピュータ実施方法を示す。方法は、3Dモデルに基づいて、3Dモデルの1つ以上の表現を1つ以上の訓練済み機械学習モデルのための入力として生成することと、3Dモデルの1つ以上の表現に1つ以上の訓練済み機械学習モデルを適用することによって、3Dモデルと関連付けられたシーム予測のセットを生成することであって、シーム予測のセットに含まれる各シーム予測は、それに沿って3Dモデルを切断することができる異なるシームを識別する、生成することと、シーム予測のセットに基づいて、3Dモデル上に1つ以上のシームを配置することと、を含む。
前のアプローチと比較した開示された技術の少なくとも1つの利点は、前のアプローチとは異なり、コンピュータシステムが、セマンティック境界及びシーム位置を説明する3Dモデルのためのシームを自動で生成すると共に、歪みを最小化し、セマンティック境界を保存するために必要とされるピースの数を減少させることである。加えて、訓練済み機械学習モデルの使用は、コンピュータシステムが、学習されたベストプラクティスに基づいて、すなわち、機械学習モデル訓練工程の間に抽出された観察可能でない基準に基づいて、シームを生成することを可能にする。
上述したことが様々な実施形態の特徴を記載した方式を詳細に理解することができるように、上記簡易的に要約された発明的概念のより特定の説明は、様々な実施形態を参照することによって得ることができ、様々な実施形態のいくつかは、添付図面において示される。しかしながら、添付図面は、発明的概念の典型的な実施形態を示しているにすぎず、したがって、範囲を何ら限定することと考えられず、他の等しく効果的な実施形態が存在することに留意されよう。
本発明は、例えば、以下を提供する。
(項目1)
三次元(3D)モデルのためのシームを自動で生成する方法であって、
前記3Dモデルに基づいて、前記3Dモデルの1つ以上の表現を1つ以上の訓練済み機械学習モデルのための入力として生成することと、
前記3Dモデルの前記1つ以上の表現に前記1つ以上の訓練済み機械学習モデルを適用することによって、前記3Dモデルと関連付けられたシーム予測のセットを生成することであって、前記シーム予測のセットに含まれる各シーム予測は、それに沿って前記3Dモデルを切断することができる異なるシームを識別する、前記生成することと、
前記シーム予測のセットに基づいて、前記3Dモデル上に1つ以上のシームを配置することと、
を備える、前記方法。
(項目2)
前記3Dモデルを複数のグループに分割することと、
前記複数のグループのグループごとに、前記3Dモデルのそれぞれの1つ以上の表現を前記1つ以上の訓練済み機械学習モデルのための入力として生成することと、
を更に備える、上記項目に記載の方法。
(項目3)
前記3Dモデルの前記1つ以上の表現は、1つ以上の2D画像を含み、前記シーム予測のセットは、前記1つ以上の2D画像の2D画像ごとに、前記2D画像におけるそれぞれの1つ以上のシーム予測を示す、上記項目のいずれかに記載の方法。
(項目4)
前記3Dモデル上に前記1つ以上のシームを配置することは、前記1つ以上の2D画像の2D画像ごとに、前記2D画像における前記それぞれの1つ以上のシーム予測を前記3Dモデル上に投影することを含む、上記項目のいずれかに記載の方法。
(項目5)
前記3Dモデルの前記1つ以上の表現は、前記3Dモデルのグラフ表現を含み、前記シーム予測のセットは、シームの部位であると予測された前記グラフ表現の1つ以上のエッジを示す、上記項目のいずれかに記載の方法。
(項目6)
前記3Dモデル上に前記1つ以上のシームを配置することは、
シームの部位であると予測された前記グラフ表現の前記1つ以上のエッジのエッジごとに、前記3Dモデルの対応するエッジを判定することと、
前記3Dモデルの前記対応するエッジにシームのエッジを配置することと、
を含む、上記項目のいずれかに記載の方法。
(項目7)
前記3Dモデルの前記1つ以上の表現は、前記3Dモデルのグラフ表現を含み、前記シーム予測のセットは、シームの部位であると予測された前記グラフ表現の1つ以上の頂点を示す、上記項目のいずれかに記載の方法。
(項目8)
前記3Dモデル上に前記1つ以上のシームを配置することは、
シームの部位であると予測された前記グラフ表現の前記1つ以上の頂点の頂点ごとに、前記3Dモデルの対応する頂点を判定することと、
前記3Dモデルの前記対応する頂点にシームの頂点を配置することと、
を含む、上記項目のいずれかに記載の方法。
(項目9)
前記3Dモデルは、複数のエッジを含み、各エッジは、前記エッジがシームに対応する尤度を示すそれぞれのシーム確率値と関連付けられ、前記3Dモデル上に前記1つ以上のシームを配置することは、
前記1つ以上のシームと関連付けられた前記複数のエッジの1つ以上のエッジを判定することと、
前記1つ以上のエッジのエッジごとに、前記エッジと関連付けられた前記それぞれのシーム確率値を更新することと、
を含む、上記項目のいずれかに記載の方法。
(項目10)
前記3Dモデルは、複数の頂点を含み、各頂点は、前記頂点がシームに対応する尤度を示すそれぞれのシーム確率値と関連付けられ、前記3Dモデル上に前記1つ以上のシームを配置することは、
前記1つ以上のシームと関連付けられた前記複数の頂点の1つ以上の頂点を判定することと、
前記1つ以上の頂点の頂点ごとに、前記頂点と関連付けられた前記それぞれのシーム確率値を更新することと、
を含む、上記項目のいずれかに記載の方法。
(項目11)
前記シーム予測のセットのシーム予測の少なくともサブセットを評価することによって、前記シーム予測のセットと関連付けられた検証値を生成することを更に備える、上記項目のいずれかに記載の方法。
(項目12)
前記1つ以上のシームを精緻化することを更に備え、前記1つ以上のシームを精緻化することは、前記1つ以上のシームの1つ以上の特定のシームを除去すること、前記1つ以上のシームの1つ以上の特定のシームの厚みを減少させること、前記1つ以上のシームの2つ以上の特定のシームを接続すること、前記1つ以上のシームの1つ以上の特定のシームを平滑化すること、1つ以上のシーム頂点を除去すること、前記3Dモデルの対称性に基づいて前記1つ以上のシームの1つ以上の特定のシームを調節すること、のうちの1つ以上を含む、上記項目のいずれかに記載の方法。
(項目13)
前記1つ以上のシームを精緻化することを更に備え、前記1つ以上のシームを精緻化することは、
前記1つ以上のシームに基づいて、前記3Dモデルのグラフ表現を生成することと、
前記3Dモデルの前記グラフ表現に前記1つ以上の訓練済み機械学習モデルを適用することによって、前記3Dモデルと関連付けられた精緻化されたシーム予測のセットを生成することと、
前記精緻化されたシーム予測のセットに基づいて、前記1つ以上のシームを更新することと、
を含む、上記項目のいずれかに記載の方法。
(項目14)
命令を含む非一時的コンピュータ可読媒体であって、前記命令は、1つ以上のプロセッサによって実行されるとき、前記1つ以上のプロセッサに、
三次元(3D)モデルに基づいて、前記3Dモデルの1つ以上の表現を1つ以上の訓練済み機械学習モデルのための入力として生成することと、
前記3Dモデルの前記1つ以上の表現に前記1つ以上の訓練済み機械学習モデルを適用することによって、前記3Dモデルと関連付けられたシーム予測のセットを生成することであって、前記シーム予測のセットに含まれる各シーム予測は、それに沿って前記3Dモデルを切断することができる異なるシームを識別する、前記生成することと、
前記シーム予測のセットに基づいて、前記3Dモデル上に1つ以上のシームを配置することと、
のステップを実行させる、前記非一時的コンピュータ可読媒体。
(項目15)
前記1つ以上のプロセッサによって実行されるとき、前記1つ以上のプロセッサに、
前記3Dモデルを複数のグループに分割することと、
前記複数のグループのグループごとに、前記3Dモデルのそれぞれの1つ以上の表現を前記1つ以上の訓練済み機械学習モデルのための入力として生成することと、
のステップを実行させる命令を更に含む、上記項目のいずれかに記載の非一時的コンピュータ可読媒体。
(項目16)
前記3Dモデルの前記1つ以上の表現は、1つ以上の2D画像を含み、前記シーム予測のセットは、前記1つ以上の2D画像の2D画像ごとに、前記2D画像におけるそれぞれの1つ以上のシーム予測を示し、前記3Dモデル上に前記1つ以上のシームを配置することは、前記1つ以上の2D画像の2D画像ごとに、前記3Dモデル上に前記2D画像における前記それぞれの1つ以上のシーム予測を投影することを含む、上記項目のいずれかに記載の非一時的コンピュータ可読媒体。
(項目17)
前記3Dモデルの前記1つ以上の表現は、前記3Dモデルのグラフ表現を含み、前記シーム予測のセットは、シームの部位であると予測された前記グラフ表現の1つ以上のエッジを示し、前記3Dモデル上に前記1つ以上のシームを配置することは、
シームの部位であると予測された前記グラフ表現の前記1つ以上のエッジのエッジごとに、前記3Dモデルの対応するエッジを判定することと、
前記3Dモデルの前記対応するエッジにシームのエッジを配置することと、
を含む、上記項目のいずれかに記載の非一時的コンピュータ可読媒体。
(項目18)
前記3Dモデルの前記1つ以上の表現は、前記3Dモデルのグラフ表現を含み、前記シーム予測のセットは、シームの部位であると予測された前記グラフ表現の1つ以上の頂点を示し、前記3Dモデル上に前記1つ以上のシームを配置することは、
シームの部位であると予測された前記グラフ表現の前記1つ以上の頂点の頂点ごとに、前記3Dモデルの対応する頂点を判定することと、
前記3Dモデルの前記対応する頂点にシームの頂点を配置することと、
を含む、上記項目のいずれかに記載の非一時的コンピュータ可読媒体。
(項目19)
前記1つ以上のプロセッサによって実行されるとき、前記1つ以上のプロセッサに、
前記1つ以上のシームに基づいて、前記3Dモデルのグラフ表現を生成することと、
前記3Dモデルの前記グラフ表現に前記1つ以上の訓練済み機械学習モデルを適用することによって、前記3Dモデルと関連付けられた精緻化されたシーム予測のセットを生成することと、
前記精緻化されたシーム予測のセットに基づいて、前記1つ以上のシームを更新することと、
のステップを実行させる命令を更に含む、上記項目のいずれかに記載の非一時的コンピュータ可読媒体。
(項目20)
1つ以上のソフトウェアアプリケーションを記憶したメモリと、
プロセッサと、を備え、前記プロセッサは、前記1つ以上のソフトウェアアプリケーションを実行するとき、
三次元(3D)モデルに基づいて、前記3Dモデルの1つ以上の表現を1つ以上の訓練済み機械学習モデルのための入力として生成することと、
前記3Dモデルの前記1つ以上の表現に前記1つ以上の訓練済み機械学習モデルを適用することによって、前記3Dモデルと関連付けられたシーム予測のセットを生成することであって、前記シーム予測のセットに含まれる各シーム予測は、それに沿って前記3Dモデルを切断することができる異なるシームを識別する、前記生成することと、
前記シーム予測のセットに基づいて、前記3Dモデル上に1つ以上のシームを配置することと、
のステップを実行するように構成される、システム。
(摘要)
様々な実施形態は、3Dモデルのためのシームを生成するシステム及び技術を示す。技術は、3Dモデルに基づいて、1つ以上の訓練済み機械学習モデルのための1つ以上の入力を生成することと、1つ以上の訓練済み機械学習モデルに1つ以上の入力を提供することと、1つ以上の訓練済み機械学習モデルから、1つ以上の入力に基づいて生成されたシーム予測データを受信することと、シーム予測データに基づいて、3Dモデル上に1つ以上の予測済みシームを配置することと、を含む。
本開示の1つ以上の態様を実装するように構成されたコンピューティングシステムを示す概略図である。 本開示の様々な実施形態による、図1の3Dモデル化アプリケーション及び機械学習モデルをより詳細に示す。 本開示の様々な実施形態による、図1の3Dモデル化アプリケーションによって実行される予測済みシーム生成のための方法ステップのフローチャートである。 本開示の様々な実施形態による、図1の3Dモデル化アプリケーションによって実行される、2D画像を使用した予測済みシーム生成のための方法ステップのフローチャートである。 本開示の様々な実施形態による、図1の3Dモデル化アプリケーションによって実行される、グラフ表現を使用した予測済みシーム生成のための方法ステップのフローチャートである。 本開示の様々な実施形態による、2D画像を使用した予測済みシーム生成手順の例示である。 本開示の様々な実施形態による、グラフ表現を使用した予測済みシーム生成手順の例示である。
以下の説明では、様々な実施形態のより完全な理解を提供するために多数の特定の詳細が示される。しかしながら、それらの特定の詳細のうちの1つ以上なしに、発明的概念が実施されてもよいことが当業者にとって明らかである。
図1は、本開示の1つ以上の態様を実装するように構成されたコンピューティングデバイス100を示す。示されるように、コンピューティングデバイス100は、1つ以上のプロセシングユニット102、1つ以上の入力/出力(I/O)デバイス108に結合された入力/出力(I/O)デバイスインタフェース104、メモリ116、記憶装置114、及びネットワーク110に接続されたネットワークインタフェース106を接続する、相互接続(バス)112を含む。
コンピューティングデバイス100は、サーバコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、スマートフォン、携帯情報端末(PDA)、タブレットコンピュータ、または入力を受信し、データを処理し、任意選択で画像を出力するように構成され、1つ以上の実施形態を実施するために適切ないずれかの他のタイプのコンピューティングデバイスを含む。本明細書で説明されるコンピューティングデバイス100は例示であり、いずれかの他の技術的に実現可能な構成が、本開示の範囲内にある。
プロセシングユニット(複数可)102は、中央処理装置(CPU)、グラフィックプロセシングユニット(GPU)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、テンソルプロセシングユニット(TPU)などの人工知能(AI)アクセラレータ、いずれかの他のタイプのプロセシングユニット、またはGPUと連動して動作するように構成されたCPUなどの異なるプロセシングユニットの組み合わせとして実装された、いずれかの適切なプロセッサを含む。概して、プロセシングユニット(複数可)102は、データを処理し、及び/またはソフトウェアアプリケーションを実行することが可能ないずれかの技術的に実現可能なハードウェアユニットであってもよい。更に、本開示のコンテキストでは、コンピューティングデバイス100において示されるコンピューティング要素は、物理コンピューティングシステム(例えば、データセンタにおけるシステム)に対応してもよく、またはコンピューティングクラウド内で実行する仮想コンピューティングの具体化であってもよい。
1つの実施形態では、I/Oデバイス108は、キーボード、マウス、及びタッチ感知スクリーンなど、入力を提供することが可能なデバイスと共に、ディスプレイデバイスなど、出力を提供することが可能なデバイスを含む。加えて、I/Oデバイス108は、タッチスクリーン及びユニバーサルシリアルバス(USB)ポートなど、入力を受信すること、及び出力を提供することの両方が可能なデバイスを含んでもよい。I/Oデバイス108は、コンピューティングデバイス100のエンドユーザ(例えば、設計者)から様々なタイプの入力を受信し、また、コンピューティングデバイス100のエンドユーザに、表示されたデジタル画像またはデジタルビデオもしくはテキストなどの様々なタイプの出力を提供するように構成されてもよい。いくつかの実施形態では、I/Oデバイス108のうちの1つ以上は、コンピューティングデバイス100をネットワーク110に結合するように構成される。
ネットワーク110は、コンピューティングデバイス100と、ウェブサーバまたは別のネットワーク化されたコンピューティングデバイスなどの外部エンティティまたはデバイスとの間でデータが交換されることを可能にする、いずれかの技術的に実現可能なタイプの通信ネットワークを含む。例えば、ネットワーク110は、とりわけ、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、無線(WiFi)ネットワーク、及び/またはインターネットを含んでもよい。
記憶装置114は、アプリケーション及びデータ用の不揮発性記憶装置を含み、固定または着脱可能ディスクドライブ、フラッシュメモリデバイス、及びCD-ROM、DVD-ROM、Blu-Ray、HD-DVD、または他の磁気記憶装置、光学記憶装置、もしくはソリッドステート記憶装置を含んでもよい。3Dモデル化アプリケーション118及び機械学習モデル120は、記憶装置114に記憶されてもよく、実行されるときにメモリ116にロードされてもよい。
メモリ116は、ランダムアクセスメモリ(RAM)モジュール、フラッシュメモリユニット、もしくはいずれかの他のタイプのメモリユニット、またはそれらの組み合わせを含む。プロセシングユニット(複数可)102、I/Oデバイスインタフェース104、及びネットワークインタフェース106は、メモリ116からデータを読み込み、メモリ116にデータを書き込むように構成されている。メモリ116は、3Dモデル化アプリケーション118及び機械学習モデル120を含む、プロセシングユニット(複数可)102によって実行することができる様々なソフトウェアプログラム、及び当該ソフトウェアプログラムと関連付けられたアプリケーションデータを含む。3Dモデル化アプリケーション118及び機械学習モデル120は、図2に関して以下で更に詳細に説明される。
図2は、本開示の様々な実施形態による、図1の3Dモデル化アプリケーション118及び機械学習モデル120をより詳細に示す。示されるように、3Dモデル化アプリケーション118は、限定することなく、3Dモデル220、前処理エンジン222、シーム視覚化エンジン224、後処理エンジン226、及びグラフィカルユーザインタフェース228を含む。
3Dモデル化アプリケーション118は、機械学習モデル120の1つ以上のモデルを使用して、3Dモデル220のための1つ以上の予測済みシームのセットを自動で生成する。各予測済みシームは、とり得るシームを示し、とり得るシームに沿って、3Dモデル220を切断及び平坦化することができる。いくつかの実施形態では、3Dモデル化アプリケーション118は、3Dモデル220などの3Dモデルを生成または修正するためのツール及び機構をも含む。他の実施形態では、3Dモデル化アプリケーション118は、3Dモデル220を生成または修正するために使用されるアプリケーションとは別個のアプリケーションまたはツールであってもよく、予測済みシームを生成するための3Dモデル220を受信してもよい。
動作中、前処理エンジン222は、3Dモデル220に基づいて3Dモデルデータ230を生成し、入力データとして機械学習モデル120に3Dモデルデータ230を提供する。いくつかの実施形態では、3Dモデルデータ230は、3Dモデル220の1つ以上の表現を含む。
1つ以上の実施形態では、前処理エンジン222は、3Dモデル220に基づいて2D画像のセットをレンダリングすることによって、3Dモデルデータ230を生成する。2D画像のセットの各2D画像は、3Dモデル220の異なる視点を描写する。3Dモデルの異なる視点は、異なるズームレベル、視野角、視野位置、3Dモデル姿勢、及び/または3Dモデルの空間的変形のいずれかの組み合わせであってもよい。加えて、各2D画像は、描写された視点において視認可能な3Dモデル220の部分のための3Dモデル220に関連する異なるタイプの情報に対応してもよい。異なるタイプの3Dモデル情報は、例えば、法線ベクトル、3D位置、ワイヤフレーム、ガウス曲率、形状インデックス、湾曲、真球度比、またはいずれかの他のタイプのモデルジオメトリの内在的測定であってもよい。
法線ベクトル情報に対応する2D画像は、赤-緑-青(RGB)値において、2D画像の視点から視認可能な3Dモデル220の各頂点の法線ベクトルを表す。頂点の間にある3Dモデル上の位置は、2D画像において補間される。3D位置情報に対応する2D画像は、RGB値において、2D画像の視点からの3Dモデルのレンダリングされた各画素の3D位置を表す。ワイヤフレーム情報に対応する2D画像は、グレースケール値において、2D画像の視点から視認可能な3Dモデル220のエッジに対応するラインを表す。主曲率に対応する2D画像は、色相-彩度-明度(HSV)値において、各点における3Dモデルの表面の極値(すなわち、局所的最小及び最大)屈曲を表す。加えて、ガウス曲率、形状インデックス、湾曲、及び真球度比は、主曲率値から導出されてもよい。ガウス曲率情報に対応する2D画像は、色相-彩度-明度(HSV)値において、歪みを最小化しながら平面にマッピングされる尤度を表す。形状インデックス情報に対応する2D画像は、HSV値において、局所的曲率の5つの一意な群を表す。湾曲情報に対応する2D画像は、HSV値において、重み付けされた近傍に基づいた純粋な局所的曲率を表す。真球度比情報に対応する2D画像は、HSV値において、球体から局所的曲率がどの程度近いかを表す。
1つ以上の実施形態では、前処理エンジン222は、3Dモデル220のグラフ表現を生成することによって、3Dモデルデータ230を生成する。グラフ表現は、3Dモデル220の頂点に対応する頂点のセット及び3Dモデル220のエッジに対応するエッジのセットを含む。いくつかの実施形態では、グラフ表現の各頂点は、対応する頂点の法線ベクトル、対応する頂点の3D位置情報、及び対応する頂点が歪みを最小化しながら平面にマッピングされる尤度など、3Dモデル220の対応する頂点に関連する追加の情報を含む。
いくつかの実施形態では、前処理エンジン222は、3Dモデル220を複数のグループに分割する。各グループは、複数のグループにおける他のグループを塞がず、または他のグループと交差しない。例えば、自動車の3Dモデルは、自動車のホイールを含む第1のグループ及び自動車の筐体を含む第2のグループに分離されてもよい。前処理エンジン222は、上記議論された技術のいずれかを使用して、複数のグループのグループごとのそれぞれの3Dモデルデータ230を生成する。
実施形態では、前処理エンジン222は、3Dモデル220を連結成分のセットcに分離することによって、3Dモデル220を複数のグループに分割する。連結成分は、相互に連結された3Dモデル220の頂点及びエッジのセットを含んでもよい。例えば、自動車の3Dモデルについて、自動車の右前ホイールを形成するエッジ及び頂点は、相互に連結されるが、自動車の左前ホイールを形成するエッジ及び頂点、または自動車の筐体を形成するエッジ及び頂点には連結されない。前処理エンジン222は、自動車の3Dモデルを5つの連結成分:自動車の右前ホイール、左前ホイール、右後ホイール、左後ホイール、及び筐体、に分割してもよい。
セットcにおける連結成分c[i]ごとに、前処理エンジン222は、成分を新たなグループGに追加する。セットcにおける残りの成分c[j]ごとに、前処理エンジン222は、c[i]及びc[j]が互いに交差するかどうか、並びにc[i]及びc[j]が互いを塞ぐかどうかを判定する。c[i]及びc[j]が相互に交差せず、互いを塞がない場合、前処理エンジン222は、成分c[j]をグループGに追加し、セットcから成分c[j]を除去する。この処理は、セットが空になるまで、セットcにおける残りの成分ごとに繰り返される。
機械学習モデル120は、3Dモデル化アプリケーション118から3Dモデルデータ230を受信し、3Dモデルデータ230に基づいて、3Dモデル220のための1つ以上の予測済みシームを示す予測済みシームデータ240を生成する。3Dモデルデータ230が3Dモデル220の特定の部分に、及び/または3Dモデル220の特定の視点に対応する場合、機械学習モデル120によって生成された予測済みシームは、3Dモデル220の特定の部分に、及び/または3Dモデル220の特定の視点に対応する。
機械学習モデル120は、モデル210(1)及びモデル210(2)などの1つ以上の訓練済み機械学習モデルを含む。2つの機械学習モデルが図2に示されるが、機械学習モデル120は、任意の数の機械学習モデルを含んでもよい。機械学習モデル120の各機械学習モデルは、任意の技術的に実現可能な機械学習モデルであってもよい。いくつかの実施形態では、機械学習モデル120は、リカレントニューラルネットワーク(RNN)、畳み込みニューラルネットワーク(CNN)、ディープニューラルネットワーク(DNN)、ディープ畳み込みネットワーク(DCN)、ディープビリーフネットワーク(DBN)、制限付きボルツマンマシン(RBM)、長・短期記憶(LSTM)ユニット、ゲート付き回帰型ユニット(GRU)、敵対的生成ネットワーク(GAN)、自己組織化マップ(SOM)、及び/または他のタイプの人工ニューラルネットワークもしくは人工ニューラルネットワークのコンポーネントを含む。他の実施形態では、機械学習モデル120は、クラスタリング、主成分分析(PCA)、潜在意味解析(LSA)、Word2vec、及び/または別の教師なし学習技術、半教師あり学習技術、強化学習技術、もしくは自己教師あり学習技術を実行するための機能性を含む。いくつかの実施形態では、機械学習モデル120は、ニューラルネットワーク(シャローまたはディープ)、回帰モデル、サポートベクトルマシン、決定木、ランダムフォレスト、勾配ブースティング木、単純ベイズ分類器、ベイジアンネットワーク、階層モデル、及び/またはアンサンブルモデルを含む。
いくつかの実施形態では、機械学習モデル120は、3Dモデルの2D画像を受信し、2D画像上の予測済みシームを示すデータを生成するよう訓練された、訓練済み機械学習モデルを含む。例えば、データは、2D画像のどの画素が予測済みシームに対応するかを示すことができる。
いくつかの実施形態では、機械学習モデル120は、3Dモデルに対応するグラフ表現を受信し、グラフ表現のどの頂点及び/またはエッジが予測済みシームに対応するかを示すデータを生成するよう訓練された、訓練済み機械学習モデルを含む。
いくつかの実施形態では、機械学習モデル120は、3Dモデルに対応する立体表現を受信し、立体表現のどのボクセルが予測済みシームに対応するかを示すデータを生成するよう訓練された、訓練済み機械学習モデルを含む。
いくつかの実施形態では、機械学習モデル120は、3Dモデルのポイントクラウドデータを受信し、ポイントクラウド表現におけるどのポイントが予測済みシームに対応するかを示すデータを生成するよう訓練された、訓練済み機械学習モデルを含む。
いくつかの実施形態では、機械学習モデル120は、3Dモデルに対応するパラメトリック表現を受信し、パラメトリック表現におけるどのパラメータ値が予測済みシームに対応するかを示すデータを生成するよう訓練された、訓練済み機械学習モデルを含む。
加えて、いくつかの実施形態では、機械学習モデル120は、予測済みシームの初期セットを含むモデルデータを受信し、例えば、閾値確率値を満たさない予測済みシームを除去すること、予測済みシームを指定された厚みに減少させること、隙間を埋めるよう2つ以上の予測済みシームを接続すること、予測済みシームを平滑化すること、隔離した頂点を除去すること、またはモデル対称性に基づいて予測済みシームを調節すること、によって予測済みシームの精緻化されたセットまたは調節されたセットを生成する、1つ以上の訓練済み機械学習モデルを含む。
いくつかの実施形態では、機械学習モデル120によって生成された出力データは、予測済みシームと関連付けられた確率値を含む。確率値は、画素、頂点、エッジ、ボクセル、またはポイントが3Dモデル220のためのシームに対応する尤度を示すことができる。例えば、0の確率値は、画素、頂点、エッジ、ボクセル、またはポイントがシームに対応する可能性が低いことを示すよう、画素、頂点、またはエッジと関連付けられてもよく、1の確率値は、画素、頂点、エッジ、ボクセル、またはポイントがシームに対応する可能性が高いことを示すよう、画素、頂点、エッジ、ボクセル、またはポイントと関連付けられてもよい。いくつかの実施形態では、確率値は、例えば、シームありまたはシームなしを示すよう、2つの二値のうちの1つであってもよい。いくつかの実施形態では、確率値は、例えば、確率尤度を示すよう、値の範囲であってもよい。
機械学習モデル120のモデルは、異なるタイプの入力データを受信し、異なるタイプの出力データを生成するよう訓練されてもよく、並びに/または異なるモデル及び訓練ハイパーパラメータ及び重みにより訓練されてもよい。例として、モデル210(1)は、3Dモデルのビューを描写する2D画像を受信し、2D画像において描写された3Dモデルのビューのための予測済みシームを示す出力を生成するように訓練されてもよい。モデル210(2)は、3Dモデルに対応するグラフデータを受信し、グラフのどのエッジがシームにすると予測されるかを示す出力を生成するように訓練されてもよい。別の例として、モデル210(1)は、3Dモデルに対応するモデルデータを受信し、予測済みシームを示す出力を生成するように訓練されてもよく、一方、モデル210(2)は、3Dモデルのための1つ以上の予測済みシームに対応する予測済みシームデータを受信し、3Dモデルのための1つ以上の精緻化された予測済みシームを示す出力を生成するように訓練されてもよい。いくつかの実施形態では、機械学習モデル120の1つ以上のモデルは、3Dモデル化アプリケーション118から受信された入力のタイプに基づいて選択される。
いくつかの実施形態では、機械学習モデル120のモデルは、訓練データの異なるセットを使用して訓練される。訓練データの各セットは、有機体、人造、人間、自動車、動物、または他のカテゴリもしくはモデルタイプなど、異なる様式の3Dモデルに対応してもよい。機械学習モデル120の1つ以上のモデルは、3Dモデル220の様式に基づいて選択されてもよい。
いくつかの実施形態では、機械学習モデル120の1つ以上のモデルは、ユーザによって提供される訓練データを使用して訓練される。例えば、ユーザは、ユーザが前に生成しており、それについてシームを定義した3Dモデルの訓練セットを提供してもよい。したがって、1つ以上のモデルは、選好及びユーザの前の作業から学習された他の基準に基づいて、予測済みシームを生成するよう訓練される。機械学習モデル120の1つ以上のモデルは、3Dモデル化アプリケーション118を使用して、ユーザに基づいて選択されてもよい。
いくつかの実施形態では、機械学習モデル120の複数のモデルは、3Dモデル化アプリケーション118によって提供される同一の入力を受信する。したがって、機械学習モデル120は、単一の入力に基づいて、予測済みシームの複数のセットを生成してもよい。
シーム視覚化エンジン224は、機械学習モデル120によって生成された予測済みシームデータ240を受信し、予測済みシームデータ240を処理する。いくつかの実施形態では、予測済みシームデータ240を処理することは、予測済みシームデータの複数のセットを集約または組み合わせることを含む。いくつかの実施形態では、予測済みシームデータの複数のセットは、3Dモデル220の同一の部分に、または3Dモデル220の同一の視点に対応する。例えば、機械学習モデル120に提供される複数の入力は、3Dモデル220の同一の視点に対応してもよいが、3Dモデル220に関連する異なる情報を含む。予測済みシームデータのそれぞれのセットは、各入力に基づいて生成されてもよい。別の例として、機械学習モデル120は、3Dモデル化アプリケーション118によって提供される入力ごとの予測済みシームデータの複数のセットを生成してもよい。シーム視覚化エンジン224は、その視点における3Dモデル220の部分のための、または3Dモデル220のための予測済みシームの単一のセットを生成するよう、予測済みシームデータの複数のセットを集約する。1つ以上の実施形態では、シーム視覚化エンジン224は、予測済みシームデータの複数のセットの間で互いに同一でありもしくは互いの閾値距離内にある予測済みシームを識別すること、または予測済みシームデータの閾値数のセットにない予測済みシームを除去すること、によって予測済みシームデータの複数のセットを集約する。
いくつかの実施形態では、予測済みシームデータの複数のセットは、3Dモデル220の異なる部分に、または3Dモデル220の異なる視点に対応する。シーム視覚化エンジン224は、予測済みシームデータの複数のセットを組み合わせる。1つ以上の実施形態では、予測済みシームデータの複数のセットを組み合わせることは、3Dモデル220のための予測済みシームの単一のセットを生成するよう、予測済みシームデータの複数のセットの間で重なるまたは接続する予測済みシームを識別及びマージすることを含む。予測済みシームの単一のセットを生成した後、予測済みシームは、3Dモデル220上に配置される。1つ以上の実施形態では、予測済みシームデータの複数のセットを組み合わせることは、予測済みシームデータのセットごとに、予測済みシームデータのセットに基づいて、3Dモデル220上に1つ以上の予測済みシームを配置することを含む。シーム視覚化エンジン224は、以下で議論されるのと同様の方式において3Dモデル220上に予測済みシームを配置してもよい。予測済みシームデータの複数のセットからの予測済みシームが3Dモデル220上に配置された後、3Dモデル220は、予測済みシームの単一のセットを含む。
いくつかの実施形態では、予測済みシームデータ240を処理することは、予測済みシームデータ240に基づいて、3Dモデル220上に1つ以上の予測済みシームを配置することを含む。いくつかの実施形態では、予測済みシームデータ240は、シームを配置することができる3Dモデル220上の位置を示す。シーム視覚化エンジン224は、予測済みシームデータ240によって示された位置に基づいて、3Dモデル220上に1つ以上の予測済みシームを配置する。いくつかの実施形態では、予測済みシームデータ240は、シームに対応すると予測された3Dモデル220の1つ以上のエッジ及び/または1つ以上の頂点を示す。シーム視覚化エンジン224は、1つ以上のエッジ及び/または1つ以上の頂点に基づいて、3Dモデル220上に1つ以上の予測済みシームを配置する。
いくつかの実施形態では、3Dモデル220の各々のエッジ及び/または頂点は、エッジまたは頂点がシームに対応する尤度を示す確率値と関連付けられている。3Dモデル220上に1つ以上の予測済みシームを配置することは、予測済みシームデータ240に基づいて、3Dモデル220の1つ以上のエッジ及び/または1つ以上の頂点の確率値を更新することを含む。
いくつかの実施形態では、予測済みシームデータ240は、3Dモデル220のグラフ表現の各頂点と関連付けられたそれぞれの確率値を含む。3Dモデル220上に1つ以上の予測済みシームを配置することは、グラフ表現の頂点ごとに、3Dモデル220の対応する頂点を判定すること、及びグラフ表現の頂点と関連付けられた確率値に基づいて、3Dモデル220の対応する頂点の確率値を更新することを含む。
いくつかの実施形態では、予測済みシームデータ240は、3Dモデル220のグラフ表現の各エッジと関連付けられたそれぞれの確率値を含む。3Dモデル220上に1つ以上の予測済みシームを配置することは、グラフ表現のエッジごとに、3Dモデル220の対応するエッジを判定すること、及びグラフ表現のエッジと関連付けられた確率値に基づいて、3Dモデル220の対応するエッジの確率値を更新することを含む。
いくつかの実施形態では、予測済みシームデータ240は、3Dモデル220を描写する複数の2D画像を含み、複数の2D画像の2D画像ごとに、2D画像上の予測済みシームを示す。シーム視覚化エンジン224は、複数の2D画像において示された予測済みシームに基づいて、3Dモデル220に予測済みシームを投影する。
いくつかの実施形態では、3Dモデル220に予測済みシームを投影するために、シーム視覚化エンジン224は、3Dモデル220の各頂点wにq[w]=0の確率値を割り当てる。いくつかの実施形態では、各2D画像は、カメラ位置k[v]によって捕捉された、3Dモデル220の視点vに対応し、画像の各画素[i,j]は、画素が3Dモデル220上のシームに対応する確率を表す(例えば、確率p[i,j]==0は、シームに対応せず、p[i,j]==1は、シームに対応する)。
画素[i,j]ごとに、シーム視覚化エンジン224は、カメラ位置k[v]において発生し、画素を通過するベクトルを計算する。シーム視覚化エンジン224は次いで、存在する場合、ベクトルと3Dモデル220との間の交差t,nを計算し、tは、交差の位置を表し、nは、交差の法線を表す。
ベクトルと3Dモデル220との間で交差が存在する場合、シーム視覚化エンジン224は、3Dモデル220の交差に最も近い頂点wを判定し、頂点の確率値q[w]を確率p[i,j]及びq[w]の平均に更新する。いくつかの実施形態では、シーム視覚化エンジン224は、交差法線n及び交差距離|t-k[v]|だけ確率値q[w]を重み付けする。3Dモデル220の頂点の確率値が複数の2D画像に基づいて更新された後、シーム視覚化エンジン224は、3Dモデルの各エッジ[wi,wj]に、エッジの頂点と関連付けられた確率値、例えば、p[wi]及びp[wj]に基づいた確率値を割り当てる。1つの実施形態では、エッジに割り当てられた確率値は、エッジの頂点に割り当てられた確率値よりも大きい。
予測済みシームが3Dモデル上に配置されると、後処理エンジン226は、閾値確率値を満たさない予測済みシームを除去すること、予測済みシームを指定された厚みに減少させること、隙間を埋めるよう2つ以上の予測済みシームを接続すること、予測済みシームを平滑化すること、隔離した頂点を除去すること、及びモデル対称性に基づいて予測済みシームを調節すること、などによって予測済みシームを精緻化または調節する。
いくつかの実施形態では、閾値確率値を満たさない予測済みシームを除去するために、後処理エンジン226は、3Dモデル220の頂点またはエッジが、閾値確率値を下回る確率値と関連付けられているかどうかを判定する。頂点またはエッジが閾値確率値を下回る確率値と関連付けられている場合、後処理エンジン226は、エッジまたは頂点がシームに対応しないことを示す値、例えば、ゼロの確率値に確率値を更新する。
いくつかの実施形態では、モデル対称性に基づいて予測済みシームを調節するために、後処理エンジン226は、左右対称性において一致する、例えば、左側及び右側が対称である頂点を識別するよう、3Dモデル220を分析する。対称の頂点のいずれかのペアについて、後処理エンジン226は、各頂点と関連付けられた確率値を2つの確率値の平均と置き換える。
いくつかの実施形態では、予測済みシーム内の隙間を埋め、または隙間を減少させるために、後処理エンジン226は、予測済みシームの部分内の頂点と関連付けられた確率値が閾値確率値を下回る、予測済みシームの部分を識別する。後処理エンジン226は、予測済みシームの部分内の頂点の確率値を閾値確率値に調節する。
いくつかの実施形態では、予測済みシームは、複数のエッジの厚さであり、例えば、3Dモデル220の複数の並列なエッジを含む。後処理エンジン226は、それが単一のエッジのみの厚さであるように予測済みシームを調節する。例えば、予測済みシームが3つの並列なエッジを含む場合、後処理エンジン226は、予測済みシームからエッジを除去するよう、エッジの2つと関連付けられた確率値をゼロに調節する。加えて、後処理エンジン226はまた、予測済みシームから、残りのエッジを除去されたエッジに接続されたいずれかのエッジを除去してもよい。いくつかの実施形態では、後処理エンジン226は、並列なエッジのセットの中間にあるエッジを残りのエッジとして選択する。他の実施形態では、後処理エンジン226は、最高確率値と関連付けられたエッジを残りのエッジとして選択する。
いくつかの実施形態では、後処理エンジン226は、予測済みシームのセットから、漂遊した頂点または隔離した頂点を除去する。後処理エンジン226は、その確率値が閾値確率値よりも大きい頂点を識別するが、除去された場合、接続されたシームのトポロジに影響を与えない。後処理エンジン226は、予測済みシームのセットからそれらを除去するよう、隔離した頂点と関連付けられた確率値をゼロに調節する。
いくつかの実施形態では、予測済みシームを平滑化するために、後処理エンジン226は、予測済みシーム内の1つ以上の頂点を隣接する頂点に移動させる。いくつかの実施形態では、後処理エンジン226は、移動が予測済みシーム内で連続したエッジの間の角度を減少させる場合、頂点を隣接する頂点に移動させる。予測済みシーム内でエッジの間の角度を減少させることは、予測済みシームの元の経路に近くでなおも辿る、より平滑なバージョンにシームを変更させる。
いくつかの実施形態では、後処理エンジン226は、予測済みシームを調節または精緻化するために、機械学習モデル120を使用する。後処理エンジン226は、予測済みシームに基づいて3Dモデルデータ230を生成し、機械学習モデル120に3Dモデルデータ230を提供する。1つの実施形態では、後処理エンジン226は、予測済みシームのセットを含む、3Dモデル220のグラフ表現を生成する。後処理エンジン226は、機械学習モデル120にグラフ表現を提供する。機械学習モデル120は、グラフ表現における予測済みシームのセットを調節及び精緻化する。例えば、グラフ表現の各エッジは、エッジがシームである尤度を示す確率値と関連付けられてもよい。機械学習モデル120は、グラフ表現のエッジと関連付けられた確率値を調節することによって、予測済みシームのセットを調節または精緻化する。
グラフィカルユーザインタフェース228は、3Dモデル220を表示する。いくつかの実施形態では、グラフィカルユーザインタフェース228は、異なる視点からの3Dモデル220を回転させ、拡大及び縮小し、そうでなければ閲覧するための制御を含む。1つ以上の予測済みシームが3Dモデル220上に配置された後、グラフィカルユーザインタフェース228は、その予測済みシームを有する3Dモデル220を表示するよう更新される。
いくつかの実施形態では、各予測済みシームは、確率値と関連付けられている。グラフィカルユーザインタフェース228は、各予測済みシームと関連付けられた確率値の視覚的インジケーションを表示する。例えば、グラフィカルユーザインタフェース228は、確率値の範囲に対応する色の範囲を使用してもよく、予測済みシームと関連付けられた確率値に対応する色を使用して、各予測済みシームを表示してもよい。別の例として、グラフィカルユーザインタフェース228は、ユーザが予測済みシーム上にカーソルを配置し、予測済みシームを選択するとき、予測済みシームと関連付けられた確率値を表示してもよい。
いくつかの実施形態では、グラフィカルユーザインタフェース228は、ユーザが、1つ以上の予測済みシームを調節することを可能にするグラフィカル制御を含む。いくつかの実施形態では、グラフィカルユーザインタフェース228は、ユーザが、3Dモデル220にシームを追加し、予測済みシームを修正し、予測済みシームを除去し、または2つ以上の予測済みシームをマージすることを可能にする、ツール及び制御を含む。いくつかの実施形態では、ユーザが1つ以上の予測済みシームを調節した後、調節されたシームを有する3Dモデル220は、追加の機械学習モデルを訓練し、または訓練済み機械学習モデルを精緻化するために、機械学習モデル120に記憶され、またはそうでなければ機械学習モデル120に提供される。
いくつかの実施形態では、グラフィカルユーザインタフェース228は、ユーザが、前処理エンジン222、機械学習モデル120、シーム視覚化エンジン224、及び/または後処理エンジン226と関連付けられた構成設定を変更することを可能にするツール及び制御を含む。例として、グラフィカルユーザインタフェース228は、入力の数、入力のタイプ、入力を生成するときに使用される3Dモデル220に関連する情報、または3Dモデル220を複数のグループに分割するかどうかなど、前処理エンジン222によって生成された入力を調節するためのグラフィカル制御を含んでもよい。別の例として、グラフィカルユーザインタフェース228は、複数の3Dモデル様式から3Dモデル様式を選択するためのグラフィカル制御を含んでもよい。各々の3Dモデル様式は、有機体、人造、人間、自動車、動物、または異なる機械学習モデルを訓練するために使用される3Dモデルの他の様式など、異なる機械学習モデルに対応してもよい。
いくつかの実施形態では、グラフィカルユーザインタフェース228は、変更された構成設定が予測済みシームにどのように影響を与えるかに基づいて、3Dモデル220上で表示された予測済みシームを更新する。例えば、グラフィカルユーザインタフェース228は、閾値確率値を指定または調節するための制御を含んでもよい。後処理エンジン226は、閾値確率値よりも高い確率値と関連付けられていない予測済みシームを隠す、破棄、または除去してもよい。閾値確率値がグラフィカルユーザインタフェース228を使用して調節された後、後処理エンジン226は、調節された閾値確率値に基づいて、3Dモデル220のための予測済みシームを更新する。グラフィカルユーザインタフェース228は、予測済みシームの更新されたセットにより3Dモデル220の表示を更新する。
図3は、本開示の様々な実施形態による、図1の3Dモデル化アプリケーション118によって実行される予測済みシーム生成のための方法ステップのフローチャートである。方法ステップが図1及び2のシステムと併せて説明されるが、当業者は、いずれかの順序において方法ステップを実行するように構成されたいずれかのシステムが本開示の範囲内にあることを理解するであろう。
ステップ302では、前処理エンジン222は、機械学習モデル120のための1つ以上の入力を生成するよう、3Dモデル220を処理する。1つ以上の入力を生成することは、前処理エンジン222に関して上記開示され、図4及び5に関して以下で更に説明されるのと同様の方式において実行される。
いくつかの実施形態では、前処理エンジン222は、3Dモデル220に基づいて2D画像のセットをレンダリングすることによって、1つ以上の入力を生成する。2D画像のセットの各2D画像は、3Dモデル220の異なる視点を描写する。3Dモデルの異なる視点は、異なるズームレベル、視野角、視野位置、及び/または3Dモデル姿勢のいずれかの組み合わせであってもよい。加えて、各2D画像は、描写された視点において視認可能な3Dモデル220の部分の3Dモデル220に関連する異なるタイプの情報に対応してもよい。
いくつかの実施形態では、前処理エンジン222は、3Dモデル220のグラフ表現を生成することによって、1つ以上の入力を生成する。グラフ表現は、3Dモデル220の頂点に対応するノードのセット及び3Dモデル220のエッジに対応するエッジのセットを含む。いくつかの実施形態では、グラフ表現の各ノードは、対応する頂点の法線ベクトル、対応する頂点の3D位置情報、及び対応する頂点が歪みを最小化しながら平面にマッピングされる尤度など、3Dモデル220の対応する頂点に関連する追加の情報を含む。
いくつかの実施形態では、前処理エンジン222は、3Dモデル220を複数のグループに分割する。各グループは、複数のグループにおける他のグループを塞がず、または他のグループと交差しない。例えば、自動車の3Dモデルは、自動車のホイールを含む第1のグループ及び自動車の筐体を含む第2のグループに分離されてもよい。別の例として、人間の3Dモデルは、頭部を含むグループ、肢部を含むグループ、及び胴部を含むグループに分離されてもよい。前処理エンジン222は、上記議論された技術のいずれかを使用して、複数のグループのグループごとのそれぞれの3Dモデルデータ230を生成する。
ステップ304では、3Dモデル化アプリケーション118は、1つ以上の入力に機械学習モデル120を適用する。いくつかの実施形態では、機械学習モデル120を適用することは、機械学習モデル120の1つ以上のモデルに1つ以上の入力を提供することを含む。機械学習モデル120は、1つ以上の入力を受信し、1つ以上の入力に基づいて、3Dモデル220のための1つ以上の予測済みシームを示す出力データを生成する。3Dモデルデータ230が3Dモデル220の特定の部分に、及び/または3Dモデル220の特定の視点に対応する場合、予測済みシームは、3Dモデル220の特定の部分に、及び/または3Dモデル220の特定の視点に対応する。
ステップ306では、3Dモデル化アプリケーション118は、機械学習モデル120から出力データを受信する。出力データは、ステップ304において機械学習モデル120に提供された1つ以上の入力に基づいて、3Dモデル220のための1つ以上の予測済みシームを示す。いくつかの実施形態では、1つ以上の入力は、3Dモデル220の2D画像を含み、機械学習モデル120から受信された出力データは、2D画像上の予測済みシームを示す。いくつかの実施形態では、1つ以上の入力は、3Dモデル220に対応するグラフ表現を含み、機械学習モデル120から受信された出力データは、グラフ表現のどのエッジが予測済みシームに対応するかを示す。
ステップ308では、シーム視覚化エンジン224は、3Dモデル220のための予測済みシームのセットを生成するよう、出力データを処理する。出力データを処理することは、シーム視覚化エンジン224に関して上記開示され、図4及び5に関して以下で更に説明されるのと同様の方式において実行される。いくつかの実施形態では、出力データを処理することは、3Dモデル220のための予測済みシームの組み合わされたセットを生成するよう、出力データの複数のセットを集約または組み合わせることを含む。いくつかの実施形態では、出力データを処理することは、出力データに基づいて、3Dモデル220上に1つ以上のシームを配置することを含む。
いくつかの実施形態では、出力データは、シームに対応すると予測された3Dモデル220上の位置を示す。シーム視覚化エンジン224は、出力データによって示された位置に基づいて、3Dモデル220上に1つ以上の予測済みシームを配置する。例えば、出力データは、3Dモデル220を描写する2D画像上の予測済みシームを示すことができ、シーム視覚化エンジン224は、2D画像に基づいて、3Dモデル220に予測済みシームを投影する。別の例として、出力データは、シームの部位であると予測された3Dモデル220の1つ以上のエッジ及び/または1つ以上の頂点を示すことができ、シーム視覚化エンジン224は、1つ以上のエッジ及び/または1つ以上の頂点に基づいて、3Dモデル220上に1つ以上の予測済みシームを配置する。
ステップ310では、後処理エンジン226は、予測済みシームのセットを精緻化する。予測済みシームのセットを精緻化することは、後処理エンジン226に関して上記開示され、図4及び5に関して以下で更に説明されるのと同様の方式において実行される。いくつかの実施形態では、後処理エンジン226は、閾値確率値を満たさない予測済みシームを除去すること、予測済みシームを指定された厚みに減少させること、隙間を埋めるよう2つ以上の予測済みシームを接続すること、予測済みシームを平滑化すること、隔離した頂点を除去すること、またはモデル対称性に基づいて予測済みシームを調節すること、によって予測済みシームのセットを精緻化する。
いくつかの実施形態では、後処理エンジン226は、機械学習モデル120を使用することによって、予測済みシームのセットを精緻化する。後処理エンジン226は、予測済みシームに基づいて入力データを生成し、機械学習モデル120に入力データを提供する。例として、後処理エンジン226は、予測済みシームのセットを含む、3Dモデル220のグラフ表現を生成してもよい。後処理エンジン226は、機械学習モデルにグラフ表現を提供する。機械学習モデル120は、グラフ表現における予測済みシームのセットを調節及び精緻化する。
ステップ312では、3Dモデル化アプリケーション118は、3Dモデル220に予測済みシームを適用する。いくつかの実施形態では、3Dモデル化アプリケーション118は、予測済みシームを受け入れるグラフィカルユーザインタフェース228を介してユーザ入力を受信したことに応答して、予測済みシームを適用する。
いくつかの実施形態では、3Dモデル220に予測済みシームを適用することは、予測済みシームに沿って3Dモデルを分けること、及び3Dモデル220の結果として生じたピースを2Dテクスチャ画像に平坦化することを含む。他の実施形態では、3Dモデル220に予測済みシームを適用することは、予測済みシームを有する3Dモデル220を記憶すること、及び/または2Dテクスチャ画像生成を実行する異なるアプリケーションもしくはツールに、予測済みシームを有する3Dモデル220を提供することを含む。
図4は、本開示の様々な実施形態による、図1の3Dモデル化アプリケーションによって実行される、2D画像を使用した予測済みシーム生成のための方法ステップのフローチャートである。方法ステップが図1及び2のシステムと併せて説明されるが、当業者は、いずれかの順序において方法ステップを実行するように構成されたいずれかのシステムが本開示の範囲内にあることを理解するであろう。
ステップ402では、前処理エンジン222は、3Dモデル220を2D画像のセットにレンダリングする。3Dモデル220を2D画像のセットにレンダリングすることは、前処理エンジン222に関して上記開示されたものと同様の方式において実行される。いくつかの実施形態では、2D画像のセットの各2D画像は、3Dモデル220の異なる視点を描写する。3Dモデルの異なる視点は、異なるズームレベル、視野角、視野位置、及び/または3Dモデル姿勢のいずれかの組み合わせであってもよい。加えて、各2D画像は、描写された視点において視認可能な3Dモデル220の部分のための3Dモデル220に関連する異なるタイプの情報に対応してもよい。いくつかの実施形態では、前処理エンジン222は、3Dモデル220を複数の塞がないグループ及び交差しないグループに分割する。前処理エンジン222は、複数のグループのグループごとの2D画像のそれぞれのセットを生成する。
ステップ404では、3Dモデル化アプリケーション118は、2D画像のセットの2D画像に機械学習モデル120を適用する。いくつかの実施形態では、2D画像に機械学習モデル120を適用することは、機械学習モデル120の1つ以上のモデルに2D画像を提供することを含む。機械学習モデル120は、3Dモデル化アプリケーション118から2D画像を受信し、2D画像に基づいて、2D画像上の3Dモデル220のための予測済みシームを示す出力データを生成する。
ステップ406では、3Dモデル化アプリケーション118は、機械学習モデル120から、2D画像上の予測済みシームを示す出力データを受信する。例えば、出力データは、2D画像における画素ごとに、画素が3Dモデル220上のシームに対応すると予測されるかどうかを示すことができる。
ステップ408では、シーム視覚化エンジン224は、2D画像に基づいて、3Dモデル220上に予測済みシームを配置する。2D画像に基づいて3Dモデル220上に予測済みシームを配置することは、シーム視覚化エンジン224に関して上記開示されたものと同様の方式において実行される。実施形態では、シーム視覚化エンジン224は、2D画像において示された予測済みシームを3Dモデル220上に投影することによって、3Dモデル上に予測済みシームを配置する。例えば、3Dモデル220の各頂点は、頂点がシームの部位である確率を示す確率値と関連付けられてもよい。2D画像の画素ごとに、シーム視覚化エンジン224は、画素に対応する3Dモデル220の頂点を判定し、画素と関連付けられた確率値に基づいて、頂点と関連付けられた確率値を更新する。
上記ステップ404~408は、2D画像のセットの2D画像ごとに繰り返される。ステップ404~408が2D画像のセットに対して実行された後、3Dモデル220は、2D画像のセットに対応する予測済みシームを含む。
ステップ410では、後処理エンジン226は、3Dモデル220上に配置された予測済みシームを精緻化する。予測済みシームを精緻化することは、後処理エンジン226に関して上記開示されたものと同様の方式において実行される。いくつかの実施形態では、後処理エンジン226は、例えば、閾値確率値を満たさない予測済みシームを除去すること、予測済みシームを指定された厚みに減少させること、隙間を埋めるよう2つ以上の予測済みシームを接続すること、予測済みシームを平滑化すること、隔離した頂点を除去すること、及びモデル対称性に基づいて予測済みシームを調節すること、によって3Dモデル220上の予測済みシームを精緻化する。
いくつかの実施形態では、後処理エンジン226は、予測済みシームを調節または精緻化するために、機械学習モデル120を使用する。後処理エンジン226は、予測済みシームに基づいて3Dモデルデータ230を生成し、機械学習モデル120に3Dモデルデータ230を提供する。1つの実施形態では、後処理エンジン226は、予測済みシームのセットを含む、3Dモデル220のグラフ表現を生成する。後処理エンジン226は、機械学習モデル120にグラフ表現を提供する。機械学習モデル120は、グラフ表現における予測済みシームのセットを調節及び精緻化する。例えば、グラフ表現の各エッジは、エッジがシームである尤度を示す確率値と関連付けられてもよい。機械学習モデル120は、グラフ表現のエッジと関連付けられた確率値を調節することによって、予測済みシームのセットを調節または精緻化する。
図5は、本開示の様々な実施形態による、図1の3Dモデル化アプリケーションによって実行される、グラフ表現を使用した予測済みシーム生成のための方法ステップのフローチャートである。方法ステップが図1及び2のシステムと併せて説明されるが、当業者は、いずれかの順序において方法ステップを実行するように構成されたいずれかのシステムが本開示の範囲内にあることを理解するであろう。
ステップ502では、前処理エンジン222は、3Dモデル220のグラフ表現を生成するよう、3Dモデル220を処理する。3Dモデル220のグラフ表現を生成することは、前処理エンジン222に関して上記開示されたものと同様の方式において実行される。いくつかの実施形態では、グラフ表現は、3Dモデル220の頂点に対応する頂点のセット及び3Dモデル220のエッジに対応するエッジのセットを含む。加えて、いくつかの実施形態では、グラフ表現の各頂点は、対応する頂点の法線ベクトル、対応する頂点の3D位置情報、及び対応する頂点が歪みを最小化しながら平面にマッピングされる尤度など、3Dモデル220の対応する頂点に関連する追加の情報を含む。
いくつかの実施形態では、前処理エンジン222は、3Dモデル220を複数の塞がないグループ及び交差しないグループに分割する。前処理エンジン222は、複数のグループのグループごとのそれぞれのグラフ表現を生成する。
ステップ504では、3Dモデル化アプリケーション118は、グラフ表現に機械学習モデル120を適用する。いくつかの実施形態では、グラフ表現に機械学習モデル120を適用することは、機械学習モデル120の1つ以上のモデルにグラフ表現を提供することを含む。機械学習モデル120は、3Dモデル化アプリケーション118からグラフ表現を受信し、グラフ表現に基づいて、グラフ表現に対応する予測済みシームを示す出力データを生成する。例えば、出力データは、グラフ表現の1つ以上の頂点及び/または1つ以上のエッジが3Dモデル220上のシームの部位であると予測されるかどうかを示すことができる。
ステップ506では、3Dモデル化アプリケーション118は、機械学習モデル120から、グラフ表現のどのエッジ及び/または頂点が3Dモデル220上のシームまたはシームの部位に対応するかを示す出力データを受信する。例えば、出力データは、グラフ表現のエッジまたは頂点ごとに、エッジまたは頂点が3Dモデル220上のシームに対応すると予測されるかどうかを示すことができる。
ステップ508では、シーム視覚化エンジン224は、出力データに基づいて、3Dモデル220上に1つ以上の予測済みシームを配置する。出力データに基づいて3Dモデル220上に予測済みシームを配置することは、シーム視覚化エンジン224に関して上記開示されたものと同様の方式において実行される。実施形態では、シーム視覚化エンジン224は、シームに対応するとして出力データによって示されたグラフ表現のエッジ及び/または頂点に基づいて、1つ以上の予測済みシームを配置する。いくつかの実施形態では、3Dモデル220の各頂点またはエッジは、エッジまたは頂点がシームの部位である確率を示す確率値と関連付けられてもよい。シーム視覚化エンジン224は、グラフ表現における対応するエッジまたは頂点と関連付けられた確率値に基づいて、各エッジまたは頂点の確率値を更新する。
ステップ510では、後処理エンジン226は、3Dモデル220上に配置された予測済みシームを精緻化する。予測済みシームを精緻化することは、後処理エンジン226に関して上記開示されたものと同様の方式において実行される。いくつかの実施形態では、後処理エンジン226は、例えば、閾値確率値を満たさない予測済みシームを除去すること、予測済みシームを指定された厚みに減少させること、隙間を埋めるよう2つ以上の予測済みシームを接続すること、予測済みシームを平滑化すること、隔離した頂点を除去すること、及びモデル対称性に基づいて予測済みシームを調節すること、によって3Dモデル220上の予測済みシームを精緻化する。
いくつかの実施形態では、後処理エンジン226は、予測済みシームを調節または精緻化するために、機械学習モデル120を使用する。後処理エンジン226は、予測済みシームに基づいて3Dモデルデータ230を生成し、機械学習モデル120に3Dモデルデータ230を提供する。1つの実施形態では、後処理エンジン226は、予測済みシームのセットを含む、3Dモデル220のグラフ表現を生成する。後処理エンジン226は、機械学習モデル120にグラフ表現を提供する。機械学習モデル120は、グラフ表現における予測済みシームのセットを調節及び精緻化する。例えば、グラフ表現の各エッジは、エッジがシームである尤度を示す確率値と関連付けられてもよい。機械学習モデル120は、グラフ表現のエッジと関連付けられた確率値を調節することによって、予測済みシームのセットを調節または精緻化する。
図6は、本開示の様々な実施形態による、予測済みシーム生成手順の例示である。図6では、3Dモデルは、3Dモデル化アプリケーション118を使用して生成される、または3Dモデル化アプリケーション118に提供される例示的な3Dモデル220を示す。
ステップ610では、前処理エンジン222は、3Dモデルに基づいて、2D画像のセットを生成する。2D画像(1)、2D画像(2)、及び2D画像(3)は、前処理エンジン222によって3Dモデルからレンダリングされた例示的な2D画像を示す。図6に示されるように、各2D画像は、3Dモデルの異なる視点を描写する。図には示されないが、各2D画像は、3Dモデルに関連する異なる情報にも基づいてもよい。3つの2D画像が図6に示されるが、任意の数の2D画像が3Dモデルからレンダリングされてもよい。いくつかの実施形態では、前処理エンジン222は、3Dモデルの各々の部分が少なくとも1つの2D画像において描写されるように、いくつかの2D画像をレンダリングする。
ステップ620では、3Dモデル化アプリケーション118は、機械学習モデル120に2D画像のセットを提供する。機械学習モデル120は、2D画像のセットを受信し、2D画像のセットの2D画像ごとに、3Dモデルのための1つ以上の予測済みシームを生成する。予測済みシーム(1)、予測済みシーム(2)、及び予測済みシーム(3)は、2D画像(1)、2D画像(2)、及び2D画像(3)のそれぞれに基づいて、機械学習モデル120によって生成された予測済みシームの例を示す。例えば、機械学習モデル120は、2D画像(1)を受信し、2D画像(1)に基づいて、2D画像(1)において描写された3Dモデルのビューのための1つ以上の予測済みシームを示す予測済みシーム(1)を生成する。図6は、各2D画像に対応する単一の予測済みシームを示すが、機械学習モデル120は、3Dモデル化アプリケーション118によって提供される2D画像ごとの複数の予測済みシームを生成してもよい。
ステップ630では、機械学習モデル120は、3Dモデル化アプリケーション118に、予測済みシームのセット、予測済みシーム(1)、予測済みシーム(2)、及び予測済みシーム(3)を提供する。
ステップ640では、シーム視覚化エンジン224は、3Dモデル上に予測済みシームのセットを配置する。更新された3Dモデルは、シーム視覚化エンジン224によって3Dモデル上に配置された予測済みシームの例を示す。
図7は、本開示の様々な実施形態による、予測済みシーム生成手順の例示である。図7では、3Dモデルは、3Dモデル化アプリケーション118を使用して生成され、または3Dモデル化アプリケーション118に提供される例示的な3Dモデル220を示す。
ステップ710では、前処理エンジン222は、3Dモデルに基づいて、グラフ表現を生成する。
ステップ720では、3Dモデル化アプリケーション118は、機械学習モデル120にグラフ表現を提供する。機械学習モデル120は、グラフ表現を受信し、3Dモデルのための1つ以上の予測済みシームを示す注釈付きグラフ表現を生成する。注釈付きグラフ表現は、グラフ表現における頂点及び/またはエッジごとに、頂点及び/またはエッジが3Dモデルのためのシームの部位であると予測されるかどうかを示すデータを含む。
ステップ730では、機械学習モデル120は、3Dモデル化アプリケーション118に注釈付きグラフ表現を提供する。
ステップ740では、シーム視覚化エンジン224は、注釈付きグラフ表現に基づいて、3Dモデル上に1つ以上の予測済みシームを配置する。更新された3Dモデルは、シーム視覚化エンジン224によって3Dモデル上に配置された予測済みシームの例を示す。
グラフィカルユーザインタフェース228に関して上記議論されたように、グラフィカルユーザインタフェースは、3Dモデル及び更新された3Dモデルを表示する。いくつかの実施形態では、グラフィカルユーザインタフェース228は、ユーザが、3Dモデル上に配置された予測済みシームを閲覧するよう、更新された3Dモデルを回転させ、ズームし、及びパンすることを可能にするグラフィカル制御を含む。いくつかの実施形態では、グラフィカルユーザインタフェース228は、ユーザが、更新された3Dモデルにシームを追加し、更新された3Dモデル上に配置された予測済みシームを修正し、予測済みシームを除去し、または2つ以上の予測済みシームをマージすることを可能にするツール及び制御を含む。
いくつかの実施形態では、3Dモデル化アプリケーション118は、3Dモデルのための予測済みシーム、及び/または3Dモデルに予測済みシームを適用したことから結果として生じたUVマッピングを評価する。
いくつかの実施形態では、予測済みシームを検証または評価することは、例えば、3DモデルにUVマッピングを適用することが最小の視認可能な歪みを結果としてもたらすかどうか、UVマッピングがUV空間内の最小数のシェル内に包含されるかどうか、予測済みシームが3Dモデル上の隠された位置もしくはより視認可能でない位置に配置されるかどうか、またはUVマッピングが最適化されたUV空間内で定義されるかどうかを判定することを含む。
歪みの量を最小化することは、2D画像からのテクスチャを3Dモデルにマッピングするときに生じる圧縮および拡張の量を最小化する。いくつかの実施形態では、3DモデルにUVマッピングを適用することが最小の視認可能な歪みを結果としてもたらすかどうかを判定することは、テクスチャを3Dモデルにマッピングするときに圧縮または拡張がどの程度生じるかを判定することを含んでもよい。3DモデルにUVマッピングを適用することが最小の視認可能な歪みを結果としてもたらすかどうかを判定することは、圧縮または拡張の量が閾値量内にあるかどうかを判定することも含んでもよい。
シェルの数を最小化することで、3Dモデルのセマンティック境界を保存することができる。いくつかの実施形態では、UVマッピングがUV空間内の最小数のシェル内に包含されるかどうかを判定することは、何個のシェルがシームが適用されるときのUVマッピングを結果としてもたらすかどうかを判定することを含む。UVマッピングがUV空間内の最小数のシェル内に包含されるかどうかを判定することは、例えば、3Dモデルにおけるオブジェクトのタイプ、3Dモデルに基づいて機械学習モデルによって示された量、またはユーザによって示された最大数のシェルに基づいて、シェルの数が閾値量内にあるかどうかを判定することも含んでもよい。
いくつかの実施形態では、予測済みシームが3Dモデル上の隠された位置またはより視認可能でない位置に配置されるかどうかを判定することは、予測済みシームが1つ以上のカメラ位置から視認可能であるかどうかを判定することを含む。1つ以上のカメラ位置は、3Dモデルがどのように視覚化されるかに基づいてもよい。例えば、3Dモデルが上向観点から閲覧されるとき、1つ以上のカメラ位置は、1つ以上の上向カメラ位置を含む。
最適化されたUV空間内でUVマッピングを定義することは、UVマッピングを記憶及び処理するために必要なリソースの量、例えば、コンピュータ記憶空間、コンピュータメモリ使用量、及びネットワーク帯域幅を減少させる。いくつかの実施形態では、UVマッピングが最適化されたUV空間内で定義されるかどうかを判定することは、UVマッピングのサイズを判定することを含む。UVマッピングが最適化されたUV空間内で定義されるかどうかを判定することは、サイズが閾値面積内にあるかどうかを判定することも含んでもよい。いくつかの実施形態では、UVマッピングが最適化されたUV空間内で定義されるかどうかを判定することは、3Dモデルに対応する空間の量と比較して、UVマッピングにおける空の空間の量を判定することを含む。
いくつかの実施形態では、予測済みシームを評価することは、予測済みシームと関連付けられた1つ以上の検証値を生成することを含んでもよい。検証値は、例えば、予測済みシームのセットが正確である信頼度のレベル、予測済みシームのセットが上記議論された基準のうちの1つ以上を満たすかどうか、予測済みシームが3Dモデルのための妥当なシームである尤度、予測済みシームのセットが3Dモデルのための提供されたシームのセット(例えば、ユーザによって前に生成された)とどの程度厳密に一致するか、を示すことができる。1つ以上の検証値は、グラフィカルユーザインタフェース228においてユーザに表示されてもよい。例えば、3Dモデル化アプリケーション118は、1つ以上の検証値を示す分析報告を生成及び表示してもよい。
いくつかの実施形態では、1つ以上の検証値を生成することは、予測済みシームと関連付けられた信頼区間を生成することを含む。機械学習モデル120の精度は、検証サンプルのセットに基づいて評価される。信頼区間は、予測済みシームを生成するために使用された機械学習モデル120の特定の機械学習モデルの精度に基づいて生成されてもよい。信頼区間は、機械学習モデルが予測済みシームのサブセットに関してどの程度信頼できるかを示す。
いくつかの実施形態では、1つ以上の検証値を生成することは、予測済みシームを、3Dモデルに対して提供されたシームのセットと比較することを含む。提供されたシームのセットは、例えば、3Dモデルに対してユーザまたは他の機械学習モデルによって前に生成されたシームであってもよい。1つ以上の検証値は、歪みにおける差、シェルの数における差、真陽性率、偽陽性率、または偽陰性率などの比較に基づいて生成される。
いくつかの実施形態では、1つ以上の検証値を生成することは、予測済みシームのセットを示す入力を受信し、予測済みシームのセットの精度を示す出力を生成するよう訓練された1つ以上の訓練済み機械学習モデルに、予測済みシームを提供することを含む。1つ以上の訓練済み機械学習モデルは、予測済みシームを生成した対応する機械学習モデルによって生成された結果を評価するための識別的モデルであってもよい。
いくつかの実施形態では、予測済みシームを評価することに基づいて、予測済みシームを有する3Dモデルは、追加の機械学習モデルを訓練し、または訓練済み機械学習モデルを精緻化するために、機械学習モデル120に記憶され、またはそうでなければ機械学習モデル120に提供される。例えば、予測済みシームが上記議論された基準を満たさないことを評価が示す場合、予測済みシームが精緻化されてもよく、またはシームのセットを手動で定義するために、3Dモデルが1つ以上のユーザに提供されてもよい。精緻化されたシームまたは手動で定義されたシームを有する3Dモデルは、機械学習モデル120への訓練入力として提供される。機械学習モデルを保持するために評価結果を使用することの1つの利点は、通常でない形状を有し、または新たなオブジェクトタイプを描写する3Dモデルなど、機械学習モデルを訓練するために前に使用された3Dモデルに準拠しない3Dモデルから機械学習モデルが学習することができることである。
要するに、コンピュータシステムは、テクスチャを適用するために3Dモデルを2D画像にどのようにアンラップ及び平坦化することができるかを示す、3Dモデルのためのシームのセットを生成する。コンピュータシステムは、訓練されたニューラルネットワークに提供される1つ以上の入力を生成するよう、3Dモデルを処理する。
訓練されたニューラルネットワークは、1つ以上の入力を受信し、3Dモデルのための1つ以上の予測済みシームを示す出力を生成するように構成されている。コンピュータシステムは更に、例えば、対称性を改善し、シームラインを真っすぐにし、歪みを減少させるよう、1つ以上の予測済みシームを精緻化する。加えて、コンピュータシステムは、ユーザが、GUIを介して、3Dモデル上の1つ以上の予測済みシームを閲覧し、予測済みシームを精緻化するためのパラメータを修正し、どの予測済みシームを受け入れるかを示す確率閾値を選択することを可能にする。
1つのアプローチでは、訓練されたニューラルネットワークのための1つ以上の入力を生成するために、コンピュータシステムは、3Dモデルを2D画像のセットにレンダリングし、各2D画像は、異なる視点からの3Dモデルを描写する。訓練されたニューラルネットワークは、各2D画像を受信し、2D画像に基づいて、各2D画像上の予測済みシームのインジケーションを生成する。2D画像上の予測済みシームの位置及び2D画像によって描写された視点に基づいて、コンピュータシステムは、対応する位置において3Dモデル上に予測済みシームを配置する。
別のアプローチでは、訓練されたニューラルネットワークのための1つ以上の入力を生成するために、コンピュータシステムは、3Dモデルのグラフ表現を生成する。グラフ表現は、訓練されたニューラルネットワークに入力として提供され、訓練されたニューラルネットワークは、グラフ表現の各エッジまたは頂点がシームまたはシームの部位であると予測されるかどうかを示す出力を生成する。シームまたはシームの部位であると予測された3Dモデルのエッジに基づいて、コンピュータシステムは、対応するエッジにおいて3Dモデル上に予測済みシームを配置する。
別のアプローチでは、第1の訓練されたニューラルネットワークは、予測済みシームの第1のセットを生成するために使用される。コンピュータシステムは、第2の訓練されたニューラルネットワークのための入力を生成するよう、予測済みシームの第1のセットを処理する。第2の訓練されたニューラルネットワークは、予測済みシームの第1のセットを受信し、例えば、対称性を改善すること、シームラインを真っすぐにすること、及び歪みを減少させること、によって予測済みシームの第2のセットを生成するよう、予測済みシームの第1のセットを精緻化するように構成されている。第1の訓練されたニューラルネットワーク及び第2の訓練されたニューラルネットワークに提供される入力は、上記議論されたアプローチのいずれかを使用して生成されてもよい。例えば、予測済みシームの第1のセットは、第1の訓練されたニューラルネットワークに3Dモデルの2D画像のセットを提供することによって生成されてもよい。コンピュータシステムが3Dモデル上に予測済みシームの第1のセットを配置した後、コンピュータシステムは、予測済みシームの第1のセットを含む3Dモデルのグラフ表現を生成する。グラフ表現は、第2の訓練されたニューラルネットワークに入力として提供される。
前のアプローチと比較した開示された技術の少なくとも1つの利点は、前のアプローチとは異なり、コンピュータシステムが、セマンティック境界及びシーム位置を明らかにする3Dモデルのためのシームを自動で生成する一方、歪み及びレイアウトの非効率性を最小化することである。それらの技術的な利点は、従来技術アプローチよりも1つ以上の技術的利点をもたらす。
条項1.いくつかの実施形態では、三次元(3D)モデルのためのシームを自動で生成する方法であって、前記3Dモデルに基づいて、前記3Dモデルの1つ以上の表現を1つ以上の訓練済み機械学習モデルのための入力として生成することと、前記3Dモデルの前記1つ以上の表現に前記1つ以上の訓練済み機械学習モデルを適用することによって、前記3Dモデルと関連付けられたシーム予測のセットを生成することであって、前記シーム予測のセットに含まれる各シーム予測は、それに沿って前記3Dモデルを切断することができる異なるシームを識別する、前記生成することと、前記シーム予測のセットに基づいて、前記3Dモデル上に1つ以上のシームを配置することと、を含む、前記方法。
条項2.前記3Dモデルを複数のグループに分割することと、前記複数のグループのグループごとに、前記3Dモデルのそれぞれの1つ以上の表現を前記1つ以上の訓練済み機械学習モデルのための入力として生成することと、を更に備える、条項1に記載の方法。
条項3.前記3Dモデルの前記1つ以上の表現は、1つ以上の2D画像を含み、前記シーム予測のセットは、前記1つ以上の2D画像の2D画像ごとに、前記2D画像におけるそれぞれの1つ以上のシーム予測を示す、条項1及び2のいずれかに記載の方法。
条項4.前記3Dモデル上に前記1つ以上のシームを配置することは、前記1つ以上の2D画像の2D画像ごとに、前記2D画像における前記それぞれの1つ以上のシーム予測を前記3Dモデルに投影することを含む、条項1~3のいずれかに記載の方法。
条項5.前記3Dモデルの前記1つ以上の表現は、前記3Dモデルのグラフ表現を含み、前記シーム予測のセットは、シームの部位であると予測された前記グラフ表現の1つ以上のエッジを示す、条項1~4のいずれかに記載の方法。
条項6.前記3Dモデル上に前記1つ以上のシームを配置することは、シームの部位であると予測された前記グラフ表現の前記1つ以上のエッジのエッジごとに、前記3Dモデルの対応するエッジを判定することと、前記3Dモデルの前記対応するエッジにシームのエッジを配置することと、を含む、条項1~5のいずれかに記載の方法。
条項7.前記3Dモデルの前記1つ以上の表現は、前記3Dモデルのグラフ表現を含み、前記シーム予測のセットは、シームの部位であると予測された前記グラフ表現の1つ以上の頂点を示す、条項1~6のいずれかに記載の方法。
条項8.前記3Dモデル上に前記1つ以上のシームを配置することは、シームの部位であると予測された前記グラフ表現の前記1つ以上の頂点の頂点ごとに、前記3Dモデルの対応する頂点を判定することと、前記3Dモデルの前記対応する頂点にシームの頂点を配置することと、を含む、条項1~7のいずれかに記載の方法。
条項9.前記3Dモデルは、複数のエッジを含み、各エッジは、前記エッジがシームに対応する尤度を示すそれぞれのシーム確率値と関連付けられ、前記3Dモデル上に前記1つ以上のシームを配置することは、前記1つ以上のシームと関連付けられた前記複数のエッジの1つ以上のエッジを判定することと、前記1つ以上のエッジのエッジごとに、前記エッジと関連付けられた前記それぞれのシーム確率値を更新することと、を含む、条項1~8のいずれかに記載の方法。
条項10.前記3Dモデルは、複数の頂点を含み、各頂点は、前記頂点がシームに対応する尤度を示すそれぞれのシーム確率値と関連付けられ、前記3Dモデル上に前記1つ以上のシームを配置することは、前記1つ以上のシームと関連付けられた前記複数の頂点の1つ以上の頂点を判定することと、前記1つ以上の頂点の頂点ごとに、前記頂点と関連付けられた前記それぞれのシーム確率値を更新することと、を含む、条項1~9のいずれかに記載の方法。
条項11.前記シーム予測のセットのシーム予測の少なくともサブセットを評価することによって、前記シーム予測のセットと関連付けられた検証値を生成することを更に含む、条項1~10のいずれかに記載の方法。
条項12.前記1つ以上のシームを精緻化することを更に含み、前記1つ以上のシームを精緻化することは、前記1つ以上のシームの1つ以上の特定のシームを除去すること、前記1つ以上のシームの1つ以上の特定のシームの厚みを減少させること、前記1つ以上のシームの2つ以上の特定のシームを接続すること、前記1つ以上のシームの1つ以上の特定のシームを平滑化すること、1つ以上のシーム頂点を除去すること、前記3Dモデルの対称性に基づいて前記1つ以上のシームの1つ以上の特定のシームを調節すること、のうちの1つ以上を含む、条項1~11のいずれかに記載の方法。
条項13.前記1つ以上のシームを精緻化することを更に含み、前記1つ以上のシームを精緻化することは、前記1つ以上のシームに基づいて、前記3Dモデルのグラフ表現を生成することと、前記3Dモデルの前記グラフ表現に前記1つ以上の訓練済み機械学習モデルを適用することによって、前記3Dモデルと関連付けられた精緻化されたシーム予測のセットを生成することと、前記精緻化されたシーム予測のセットに基づいて、前記1つ以上のシームを更新することと、を含む、条項1~12のいずれかに記載の方法。
条項14.いくつかの実施形態では、プログラム命令を記憶した非一時的コンピュータ可読媒体であって、前記プログラム命令は、1つ以上のプロセッサによって実行されるとき、前記1つ以上のプロセッサに、三次元(3D)モデルに基づいて、前記3Dモデルの1つ以上の表現を1つ以上の訓練済み機械学習モデルのための入力として生成することと、前記3Dモデルの前記1つ以上の表現に前記1つ以上の訓練済み機械学習モデルを適用することによって、前記3Dモデルと関連付けられたシーム予測のセットを生成することであって、前記シーム予測のセットに含まれる各シーム予測は、それに沿って前記3Dモデルを切断することができる異なるシームを識別する、前記生成することと、前記シーム予測のセットに基づいて、前記3Dモデル上に1つ以上のシームを配置することと、のステップを実行させる、前記非一時的コンピュータ可読媒体。
条項15.前記1つ以上のプロセッサによって実行されるとき、前記1つ以上のプロセッサに、前記3Dモデルを複数のグループに分割することと、前記複数のグループのグループごとに、前記3Dモデルのそれぞれの1つ以上の表現を前記1つ以上の訓練済み機械学習モデルのための入力として生成することと、のステップを実行させる命令を更に含む、条項14に記載の非一時的コンピュータ可読媒体。
条項16.前記3Dモデルの前記1つ以上の表現は、1つ以上の2D画像を含み、前記シーム予測のセットは、前記1つ以上の2D画像の2D画像ごとに、前記2D画像におけるそれぞれの1つ以上のシーム予測を示し、前記3Dモデル上に前記1つ以上のシームを配置することは、前記1つ以上の2D画像の2D画像ごとに、前記2D画像における前記それぞれの1つ以上のシーム予測を前記3Dモデル上に投影することを含む、条項14及び15のいずれかに記載の非一時的コンピュータ可読媒体。
条項17.前記3Dモデルの前記1つ以上の表現は、前記3Dモデルのグラフ表現を含み、前記シーム予測のセットは、シームの部位であると予測された前記グラフ表現の1つ以上のエッジを示し、前記3Dモデル上に前記1つ以上のシームを配置することは、シームの部位であると予測された前記グラフ表現の前記1つ以上のエッジのエッジごとに、前記3Dモデルの対応するエッジを判定することと、前記3Dモデルの前記対応するエッジにシームのエッジを配置することと、を含む、条項14~16のいずれかに記載の非一時的コンピュータ可読媒体。
条項18.前記3Dモデルの前記1つ以上の表現は、前記3Dモデルのグラフ表現を含み、前記シーム予測のセットは、シームの部位であると予測された前記グラフ表現の1つ以上の頂点を示し、前記3Dモデル上に前記1つ以上のシームを配置することは、シームの部位であると予測された前記グラフ表現の前記1つ以上の頂点の頂点ごとに、前記3Dモデルの対応する頂点を判定することと、前記3Dモデルの前記対応する頂点にシームの頂点を配置することと、を含む、条項14~17のいずれかに記載の非一時的コンピュータ可読媒体。
条項19.前記1つ以上のプロセッサによって実行されるとき、前記1つ以上のプロセッサに、前記1つ以上のシームに基づいて、前記3Dモデルのグラフ表現を生成することと、前記3Dモデルの前記グラフ表現に前記1つ以上の訓練済み機械学習モデルを適用することによって、前記3Dモデルと関連付けられた精緻化されたシーム予測のセットを生成することと、前記精緻化されたシーム予測のセットに基づいて、前記1つ以上のシームを更新することと、のステップを実行させる命令を更に含む、条項14~18のいずれかに記載の非一時的コンピュータ可読媒体。
条項20.いくつかの実施形態では、1つ以上のソフトウェアアプリケーションを記憶したメモリと、プロセッサと、を含み、前記プロセッサは、前記1つ以上のソフトウェアアプリケーションを実行するとき、三次元(3D)モデルに基づいて、前記3Dモデルの1つ以上の表現を1つ以上の訓練済み機械学習モデルのための入力として生成することと、前記3Dモデルの前記1つ以上の表現に前記1つ以上の訓練済み機械学習モデルを適用することによって、前記3Dモデルと関連付けられたシーム予測のセットを生成することであって、前記シーム予測のセットに含まれる各シーム予測は、それに沿って前記3Dモデルを切断することができる異なるシームを識別する、前記生成することと、前記シーム予測のセットに基づいて、前記3Dモデル上に1つ以上のシームを配置することと、のステップを実行するように構成される、システム。
請求項のいずれかに記載された特許請求される要素及び/または本出願において説明されたいずれかの要素のいずれか及びいずれかの全ての組み合わせは、いずれかの形式において、本発明の考慮される範囲及び保護内にある。
様々な実施形態の説明が例示を目的として提示されてきたが、包括的であること、または開示される実施形態に限定されることを意図していない。説明された実施形態の範囲及び趣旨から逸脱することなく、多くの修正及び変形が当業者にとって明らかである。
本実施形態の態様は、システム、方法、またはコンピュータプログラム製品として具体化されてもよい。したがって、本開示の態様は、全体的にハードウェア実施形態、全体的にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、または全てが本明細書で「モジュール」、「システム」、もしくは「コンピュータ」と全体的に称されてもよい、ソフトウェアの態様及びハードウェアの態様を組み合わせた実施形態の形式を取ってもよい。加えて、本開示において説明されたいずれかのハードウェア技術及び/またはソフトウェア技術、プロセス、関数、コンポーネント、エンジン、モジュール、またはシステムは、回路または回路のセットとして実装されてもよい。更に、本開示の態様は、コンピュータ可読プログラムコードを具体化した1つ以上のコンピュータ可読媒体(複数可)において具体化されたコンピュータプログラム製品の形式を取ってもよい。
1つ以上のコンピュータ可読媒体(複数可)のいずれかの組み合わせが利用されてもよい。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体であってもよい。コンピュータ可読記憶媒体は、例えば、それらに限定されないが、電気、磁気、光学、電磁気、赤外線、もしくは半導体システム、装置、もしくはデバイス、または上述したもののいずれかの適切な組み合わせであってもよい。コンピュータ可読記憶媒体のより多くの特定の例(非包括的なリスト)は、1つ以上のワイヤを有する電気接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMもしくはフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスクリードオンリメモリ(CD-ROM)、光学記憶装置、磁気記憶装置、または上述したもののいずれかの適切な組み合わせを含む。本明細書のコンテキストでは、コンピュータ可読記憶媒体は、命令実行システム、装置、もしくはデバイスによって使用するための、または命令実行システム、装置、もしくはデバイスと関連して使用するためのプログラムを包含または記憶することができるいずれかの有形媒体であってもよい。
本開示の態様は、開示の実施形態による方法、装置(システム)、及びコンピュータプログラム製品のフローチャートの例示及び/またはブロック図を参照して上記説明されてきた。フローチャートの例示及び/またはブロック図の各ブロック、並びにフローチャートの例示及び/またはブロック図におけるブロックの組み合わせは、コンピュータプログラム命令によって実装されてもよいことが理解されよう。それらのコンピュータプログラム命令は、汎用コンピュータ、特殊目的コンピュータ、または機械を生成する他のプログラム可能データ処理装置のプロセッサに提供されてもよい。命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行されるとき、フローチャート及び/またはブロック図のブロックもしくは複数のブロックにおいて指定された機能/動作の実施を可能にする。そのようなプロセッサは、限定することなく、汎用プロセッサ、特殊目的プロセッサ、特定用途プロセッサ、またはフィールドプログラマブルゲートアレイであってもよい。
図におけるフローチャート及びブロック図は、本開示の様々な実施形態によるシステム、方法、及びコンピュータプログラム製品のとり得る実装態様のアーキテクチャ、機能性、及び演算を示す。この点に関して、フローチャートまたはブロック図における各ブロックは、指定された論理機能(複数可)を実施するための1つ以上の実行可能命令を含む、モジュール、セグメント、またはコードの部分を表すことができる。いくつかの代替的な実装態様では、ブロックにおいて注記された関数は、図において注記された順序以外で行われてもよいことに留意されるべきである。例えば、関与する機能性に応じて、連続して示された2つのブロックは、実際には、実質的に同時に実行されてもよく、またはブロックは時に、逆の順序において実行されてもよい。ブロック図及び/またはフローチャートの例示の各ブロック、並びにブロック図及び/またはフローチャートの例示におけるブロックの組み合わせは、指定された関数もしくは動作を実行する特殊目的ハードウェア方式システム、または特殊目的ハードウェア及びコンピュータ命令の組み合わせによって実施されてもよいことにも留意されよう。
先述したことは、本開示の実施形態に向けられるが、その基本的な範囲から逸脱することなく、開示の他の実施形態及び更なる実施形態が考案されてもよく、その範囲は、以下の特許請求の範囲によって決定される。

Claims (15)

  1. 三次元(3D)モデルのためのシームを自動で生成する方法であって、
    前記3Dモデルに基づいて、前記3Dモデルの1つ以上の表現を1つ以上の訓練済み機械学習モデルのための入力として生成することと、
    前記3Dモデルの前記1つ以上の表現に前記1つ以上の訓練済み機械学習モデルを適用することによって、前記3Dモデルと関連付けられたシーム予測のセットを生成することであって、前記シーム予測のセットに含まれる各シーム予測は、それに沿って前記3Dモデルを切断することができる異なるシームを識別する、前記生成することと、
    前記シーム予測のセットに基づいて、前記3Dモデル上に1つ以上のシームを配置することと、
    を備える、前記方法。
  2. 前記3Dモデルを複数のグループに分割することと、
    前記複数のグループのグループごとに、前記3Dモデルのそれぞれの1つ以上の表現を前記1つ以上の訓練済み機械学習モデルのための入力として生成することと、
    を更に備える、請求項1に記載の方法。
  3. 前記3Dモデルの前記1つ以上の表現は、1つ以上の2D画像を含み、前記シーム予測のセットは、前記1つ以上の2D画像の2D画像ごとに、前記2D画像におけるそれぞれの1つ以上のシーム予測を示す、請求項1に記載の方法。
  4. 前記3Dモデル上に前記1つ以上のシームを配置することは、前記1つ以上の2D画像の2D画像ごとに、前記2D画像における前記それぞれの1つ以上のシーム予測を前記3Dモデル上に投影することを含む、請求項3に記載の方法。
  5. 前記3Dモデルの前記1つ以上の表現は、前記3Dモデルのグラフ表現を含み、前記シーム予測のセットは、シームの部位であると予測された前記グラフ表現の1つ以上のエッジを示す、請求項1に記載の方法。
  6. 前記3Dモデル上に前記1つ以上のシームを配置することは、
    シームの部位であると予測された前記グラフ表現の前記1つ以上のエッジのエッジごとに、前記3Dモデルの対応するエッジを判定することと、
    前記3Dモデルの前記対応するエッジにシームのエッジを配置することと、
    を含む、請求項5に記載の方法。
  7. 前記3Dモデルの前記1つ以上の表現は、前記3Dモデルのグラフ表現を含み、前記シーム予測のセットは、シームの部位であると予測された前記グラフ表現の1つ以上の頂点を示す、請求項1に記載の方法。
  8. 前記3Dモデル上に前記1つ以上のシームを配置することは、
    シームの部位であると予測された前記グラフ表現の前記1つ以上の頂点の頂点ごとに、前記3Dモデルの対応する頂点を判定することと、
    前記3Dモデルの前記対応する頂点にシームの頂点を配置することと、
    を含む、請求項7に記載の方法。
  9. 前記3Dモデルは、複数のエッジを含み、各エッジは、前記エッジがシームに対応する尤度を示すそれぞれのシーム確率値と関連付けられ、前記3Dモデル上に前記1つ以上のシームを配置することは、
    前記1つ以上のシームと関連付けられた前記複数のエッジの1つ以上のエッジを判定することと、
    前記1つ以上のエッジのエッジごとに、前記エッジと関連付けられた前記それぞれのシーム確率値を更新することと、
    を含む、請求項1に記載の方法。
  10. 前記3Dモデルは、複数の頂点を含み、各頂点は、前記頂点がシームに対応する尤度を示すそれぞれのシーム確率値と関連付けられ、前記3Dモデル上に前記1つ以上のシームを配置することは、
    前記1つ以上のシームと関連付けられた前記複数の頂点の1つ以上の頂点を判定することと、
    前記1つ以上の頂点の頂点ごとに、前記頂点と関連付けられた前記それぞれのシーム確率値を更新することと、
    を含む、請求項1に記載の方法。
  11. 前記シーム予測のセットのシーム予測の少なくともサブセットを評価することによって、前記シーム予測のセットと関連付けられた検証値を生成することを更に備える、請求項1に記載の方法。
  12. 前記1つ以上のシームを精緻化することを更に備え、前記1つ以上のシームを精緻化することは、前記1つ以上のシームの1つ以上の特定のシームを除去すること、前記1つ以上のシームの1つ以上の特定のシームの厚みを減少させること、前記1つ以上のシームの2つ以上の特定のシームを接続すること、前記1つ以上のシームの1つ以上の特定のシームを平滑化すること、1つ以上のシーム頂点を除去すること、前記3Dモデルの対称性に基づいて前記1つ以上のシームの1つ以上の特定のシームを調節すること、のうちの1つ以上を含む、請求項1に記載の方法。
  13. 前記1つ以上のシームを精緻化することを更に備え、前記1つ以上のシームを精緻化することは、
    前記1つ以上のシームに基づいて、前記3Dモデルのグラフ表現を生成することと、
    前記3Dモデルの前記グラフ表現に前記1つ以上の訓練済み機械学習モデルを適用することによって、前記3Dモデルと関連付けられた精緻化されたシーム予測のセットを生成することと、
    前記精緻化されたシーム予測のセットに基づいて、前記1つ以上のシームを更新することと、
    を含む、請求項1に記載の方法。
  14. 命令を含む非一時的コンピュータ可読媒体であって、前記命令は、1つ以上のプロセッサによって実行されるとき、前記1つ以上のプロセッサに、
    三次元(3D)モデルに基づいて、前記3Dモデルの1つ以上の表現を1つ以上の訓練済み機械学習モデルのための入力として生成することと、
    前記3Dモデルの前記1つ以上の表現に前記1つ以上の訓練済み機械学習モデルを適用することによって、前記3Dモデルと関連付けられたシーム予測のセットを生成することであって、前記シーム予測のセットに含まれる各シーム予測は、それに沿って前記3Dモデルを切断することができる異なるシームを識別する、前記生成することと、
    前記シーム予測のセットに基づいて、前記3Dモデル上に1つ以上のシームを配置することと、
    のステップを実行させる、前記非一時的コンピュータ可読媒体。
  15. 1つ以上のソフトウェアアプリケーションを記憶したメモリと、
    プロセッサと、を備え、前記プロセッサは、前記1つ以上のソフトウェアアプリケーションを実行するとき、
    三次元(3D)モデルに基づいて、前記3Dモデルの1つ以上の表現を1つ以上の訓練済み機械学習モデルのための入力として生成することと、
    前記3Dモデルの前記1つ以上の表現に前記1つ以上の訓練済み機械学習モデルを適用することによって、前記3Dモデルと関連付けられたシーム予測のセットを生成することであって、前記シーム予測のセットに含まれる各シーム予測は、それに沿って前記3Dモデルを切断することができる異なるシームを識別する、前記生成することと、
    前記シーム予測のセットに基づいて、前記3Dモデル上に1つ以上のシームを配置することと、
    のステップを実行するように構成される、システム。
JP2021132562A 2020-08-24 2021-08-17 人工知能の使用による3dオブジェクトへのuvマッピング Active JP7129529B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/000,856 2020-08-24
US17/000,856 US11915362B2 (en) 2020-08-24 2020-08-24 UV mapping on 3D objects with the use of artificial intelligence

Publications (2)

Publication Number Publication Date
JP2022036918A true JP2022036918A (ja) 2022-03-08
JP7129529B2 JP7129529B2 (ja) 2022-09-01

Family

ID=77431260

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021132562A Active JP7129529B2 (ja) 2020-08-24 2021-08-17 人工知能の使用による3dオブジェクトへのuvマッピング

Country Status (4)

Country Link
US (2) US11915362B2 (ja)
EP (1) EP3961573A3 (ja)
JP (1) JP7129529B2 (ja)
CN (1) CN114092615A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3958182A1 (en) * 2020-08-20 2022-02-23 Dassault Systèmes Variational auto-encoder for outputting a 3d model
US11816793B2 (en) * 2021-01-06 2023-11-14 Eagle Technology, Llc Geospatial modeling system providing 3D geospatial model update based upon iterative predictive image registration and related methods
US11636649B2 (en) 2021-01-06 2023-04-25 Eagle Technology, Llc Geospatial modeling system providing 3D geospatial model update based upon predictively registered image and related methods
US11978149B2 (en) * 2021-06-21 2024-05-07 The Weather Company, Llc UV map using weight painting
CN116977530A (zh) * 2023-07-11 2023-10-31 优酷网络技术(北京)有限公司 三维模型的处理方法、装置、电子设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190012578A1 (en) * 2017-07-07 2019-01-10 Carnegie Mellon University 3D Spatial Transformer Network
KR101966732B1 (ko) * 2018-10-29 2019-04-08 한국지질자원연구원 석회석 광산 갱내의 디지털 사진 자료를 이용한 암상 분석 방법
JP2022513272A (ja) * 2018-12-17 2022-02-07 ボディグラム、インコーポレイテッド 訓練深層学習ネットワークの3dモデルから大量訓練データセットを自動的に生成する方法及びシステム
JP7067709B1 (ja) * 2022-02-28 2022-05-16 株式会社ワコール スキンモデルから骨格に基づく体長を統計的に分析するプログラム、装置及び方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2584960A1 (en) 2004-10-21 2006-05-04 Charles L. Niblett Methods and materials for conferring resistance to pests and pathogens of plants

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190012578A1 (en) * 2017-07-07 2019-01-10 Carnegie Mellon University 3D Spatial Transformer Network
KR101966732B1 (ko) * 2018-10-29 2019-04-08 한국지질자원연구원 석회석 광산 갱내의 디지털 사진 자료를 이용한 암상 분석 방법
JP2022513272A (ja) * 2018-12-17 2022-02-07 ボディグラム、インコーポレイテッド 訓練深層学習ネットワークの3dモデルから大量訓練データセットを自動的に生成する方法及びシステム
JP7067709B1 (ja) * 2022-02-28 2022-05-16 株式会社ワコール スキンモデルから骨格に基づく体長を統計的に分析するプログラム、装置及び方法

Also Published As

Publication number Publication date
US11915362B2 (en) 2024-02-27
EP3961573A3 (en) 2022-03-30
JP7129529B2 (ja) 2022-09-01
EP3961573A2 (en) 2022-03-02
CN114092615A (zh) 2022-02-25
US20240169661A1 (en) 2024-05-23
US20220058859A1 (en) 2022-02-24

Similar Documents

Publication Publication Date Title
JP7129529B2 (ja) 人工知能の使用による3dオブジェクトへのuvマッピング
CN113039563B (zh) 学习生成用于训练神经网络的合成数据集
US11977960B2 (en) Techniques for generating designs that reflect stylistic preferences
EP3188033B1 (en) Reconstructing a 3d modeled object
JP7473335B2 (ja) ソリッドcadフィーチャを推測するためのニューラルネットワークの学習
Wang et al. Feature based 3D garment design through 2D sketches
JP7473336B2 (ja) ソリッドcadフィーチャを推測するためのニューラルネットワークの学習
US8610712B2 (en) Object selection in stereo image pairs
JP2023526566A (ja) 高速で深い顔面変形
CN111382496A (zh) 学习用于推断可编辑特征树的神经网络
JP7294788B2 (ja) 3d配置のタイプに応じた2d画像の分類
US20150339850A1 (en) Multi-view drawing apparatus of three-dimensional objects, and method
Kazmi et al. A survey of sketch based modeling systems
CN113822993A (zh) 一种基于3d模型匹配的数字孪生方法和系统
Liu et al. High-quality textured 3D shape reconstruction with cascaded fully convolutional networks
Huang et al. Network algorithm real-time depth image 3D human recognition for augmented reality
Rasoulzadeh et al. Strokes2Surface: Recovering Curve Networks From 4D Architectural Design Sketches
US9665955B1 (en) Pose-space shape fitting
CN115841546A (zh) 一种场景结构关联的地铁站多视矢量仿真渲染方法及系统
Akande et al. A Review of Generative Models for 3D Vehicle Wheel Generation and Synthesis
Alhamazani et al. 3DCascade-GAN: Shape completion from single-view depth images
US8704828B1 (en) Inverse kinematic melting for posing models
US20240161403A1 (en) High resolution text-to-3d content creation
Kumar et al. Efficient 3D Object Synthesis and Modeling Through Generative Adversarial Networks
CN111381919A (zh) 形成用于推断可编辑特征树的数据集

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210817

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220711

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220812

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220822

R150 Certificate of patent or registration of utility model

Ref document number: 7129529

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150