JP2019032820A - 画像を入力とする関数を学習するためのデータセット - Google Patents

画像を入力とする関数を学習するためのデータセット Download PDF

Info

Publication number
JP2019032820A
JP2019032820A JP2018114621A JP2018114621A JP2019032820A JP 2019032820 A JP2019032820 A JP 2019032820A JP 2018114621 A JP2018114621 A JP 2018114621A JP 2018114621 A JP2018114621 A JP 2018114621A JP 2019032820 A JP2019032820 A JP 2019032820A
Authority
JP
Japan
Prior art keywords
parameters
class
parameter
ranges
parametric model
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
JP2018114621A
Other languages
English (en)
Other versions
JP7343963B2 (ja
Inventor
パンチアチチ ジャニン
Panciatici Jeannine
パンチアチチ ジャニン
プンボリオス マリア
Panciatici Maria
プンボリオス マリア
クロー ジョナサン
Cloux Jonathan
クロー ジョナサン
フォーカッド ティボー
Fourcaud Thibault
フォーカッド ティボー
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.)
Dassault Systemes SE
Original Assignee
Dassault Systemes SE
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 Dassault Systemes SE filed Critical Dassault Systemes SE
Publication of JP2019032820A publication Critical patent/JP2019032820A/ja
Priority to JP2023020145A priority Critical patent/JP2023071722A/ja
Application granted granted Critical
Publication of JP7343963B2 publication Critical patent/JP7343963B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects

Landscapes

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

Abstract

【課題】関数を学習するように構成されてたデータセットを作成する。
【解決手段】関数は、現実の物体の1つまたは複数のクラスのインスタンスの画像を入力とする。各クラスについて、当該クラスのパラメトリックモデルを提供することと、パラメトリックモデルを用いて複数の3Dモデル化オブジェクトを生成することと、複数の3Dモデル化オブジェクトのそれぞれについて、1つまたは複数の対応する画像をデータセットに追加することとを含む。
【選択図】図1

Description

本発明は、コンピュータプログラムおよびシステムの分野に関し、より具体的には、関数を学習するように構成されたデータセットを形成することに関連する方法、システム、およびプログラムに関し、当該関数は、現実の物体の1つまたは複数のクラスのインスタンスの画像を入力とする。
オブジェクトの設計、エンジニアリング、製造のため、多数のシステムおよびプログラムが市場に提供されている。CADは、コンピュータ支援設計(Computer−Aided Design)の略語であり、例えば、オブジェクトを設計するためのソフトウェア・ソリューションに関する。CAEは、コンピュータ支援エンジニアリング(Computer−Aided Engineering)の略語であり、例えば、将来の製品の物理的挙動をシミュレーションするためのソフトウェア・ソリューションに関する。CAMは、コンピュータ支援製造(Computer−Aided Manufacturing)の略語であり、例えば、製造工程および動作を定義するためのソフトウェア・ソリューションに関する。このようなコンピュータ支援設計システムにおいて、グラフィカル・ユーザ・インターフェースは、技術の効率に関して、重要な役割を果たす。これらの技術は、製品ライフサイクル管理(Product Lifecycle Management:PLM)システムに組み込むことができる。PLMとは、企業が、拡張エンタープライズの概念全体にわたって、製品データを共有し、共通の工程を適用し、構想に始まり製品寿命の終わりに至る製品開発のための企業知識を活用するのを支援するビジネス戦略を指す。ダッソー・システムズが提供するPLMソリューション(製品名CATIA、ENOVIA、DELMIA)は、製品エンジニアリング知識を体系化するエンジニアリング・ハブ、製造エンジニアリング知識を管理する製造ハブ、およびエンジニアリング・ハブと製造ハブの両方に対するエンタープライズ統合と接続を可能にするエンタープライズ・ハブを提供する。全てのシステムは、製品、工程、リソースを結ぶオープンなオブジェクトモデルを提供し、最適化された製品定義、製造準備、生産およびサービスを推進する、動的な知識ベースの製品作成および意思決定支援を可能にする。
こうした文脈において、画像を入力とする関数の機械学習がますます重要になっている。
例えば、2次元(2D)の画像から3次元(3D)の物体を認識するように設計された人工ニューラルネットワーク(より簡単には「ニューラルネットワーク」とも呼ばれる)が開発されている。他の機械学習関数同様、そのような人工ニューラルネットワークは、使用前に訓練しなければならない。訓練は、「訓練/学習データセット」、より簡単には「データセット」とも呼ばれる訓練パターンのサンプルを用いて実行される。
ニューラルネットワークは、二つの特徴により定義される。すなわち、トポロジーと重みである。トポロジーは、接続された演算ユニットのシステムである。各演算ユニットは、その入力数値データの重み付けされた組み合わせを出力し、その結果を、方向づけられた接続に応じて、隣接する演算ユニットに送る。データは、最初のデータが供給された最初のユニット群から端末のユニット群まで流れ、これにより出力数値結果が得られる。数値の組み合わせは、重みと呼ばれるこれらの数値係数を用いて行われる。最初は、重みの値は不明であり、ニューラルネットワークの目的(例えば、2Dの画像から3Dの物体を認識すること)に応じて、調整する必要がある。この調整ステップは、訓練または学習と呼ばれる。ニューラルネットワークを訓練するために、訓練パターンのデータセットが用いられる。訓練パターンは、整合性のある入力データと出力データの対である。この情報を用いて、専用アルゴリズムが重み値を算出することができる。
訓練工程のボトルネックは、訓練パターンの適切なデータセットである。ニューラルネットワークが堅牢で正確となるように、多数の緻密なデータセットであるかもしれない。
既存の解決策では、訓練パターンのデータセットは、一般に、ユーザが画像を見て、どの物体が画像上にあるかを認識することに関与して準備される。このような方法でImageNet(これは、優先日において以下のURLでアクセス可能な2D画像のデータセットである:www.image−net.org)、ShapeNet(これは、優先日において以下のURLでアクセス可能な3Dモデル化オブジェクトのデータセットである:www.shapenet.org)、およびObjectNet3D(以下の論文に記載:Yu Xiang,Wonhui Kim,Wei Chen,Jingwei Ji,Christopher Choy,Hao Su,Roozbeh Mottaghi,Leonidas Guibas,and Silvio Savarese,ObjectNet3D:A Large Scale Database for 3D Object Recognition,Stanford University)などのデータセットが構築された。
この文脈において、画像を入力として関数を学習するように構成されたデータセットを形成するための改善された解決策が依然として必要とされている。
したがって、データセットを形成するための、コンピュータにより実施される方法が提供される。データセットは、関数を学習するように構成されている。関数は、現実の物体の1つまたは複数のクラスのインスタンスの画像を入力とする。本方法は、各クラスについて、当該クラスのパラメトリックモデルを提供することと、パラメトリックモデルを用いて複数の3Dモデル化オブジェクトを生成することと、前記複数の3Dモデル化オブジェクトのそれぞれについて、1つまたは複数の対応する画像を前記データセットに追加することとを含む。前記パラメトリックモデルは、各パラメータの集合についての範囲の集合を含む。前記パラメトリックモデルは、前記範囲の集合内に提供される各値の集合により各3Dモデル化オブジェクトを生成するように構成される。前記生成された3Dモデル化オブジェクトは、クラスの各インスタンスを表す。前記生成することは、前記範囲の集合のうちの1つまたは複数をトラバースすることを含む。
このような方法は、現実の物体の1つまたは複数のクラスのインスタンスの画像を入力とする関数を学習するように構成されたデータセットを、改善された手法で形成することを可能にする。
特に、各クラスについて当該クラスのパラメトリックモデルが提供されると、本方法は、そのようなクラスごとに、当該クラスの各インスタンスにそれぞれ対応する複数のオブジェクトを容易に生成して、データセットにデータを取り込むことができる。本方法は、これによりデータセットを比較的短時間で容易に合成することができ、人間の間違いを避け、それにより緻密なデータセット、効率的な学習、および正確に学習した関数を得ることができる。さらに、パラメトリックモデルの使用により、パラメータ範囲に任意の値を提供することを考慮することが可能になり、それにより、本方法は、任意の多様なデータをデータセットに取り込むことが可能になる。特に、本方法は、前記生成において、前記範囲の集合のうちの1つまたは複数をトラバースすることを含む。これにより、本方法によって形成されたデータセットは、少なくとも、前記トラバースされる範囲に対応するパラメータに関して、比較的多様で網羅的である。これによっても、学習の効率および学習された関数の精度が向上する。ここで、各クラスのパラメトリックモデルが、特に、3Dモデル化オブジェクトであるオブジェクトを生成するように構成されているため、3Dモデル化オブジェクト表現自体が現実の物体の比較的詳細かつ網羅的な表現であり、そのため、本方法により、クラスのインスタンスを比較的正確に表す画像のデータセットを追加することが可能になる。これによっても、学習の効率および学習された関数の精度が向上する。
例において、本方法は、以下のうちの1つまたは複数を含んでいてもよい。
・前記追加は、前記複数の3Dモデル化オブジェクトのそれぞれについて、前記3Dモデル化オブジェクトに基づいて前記1つまたは複数の対応する画像を決定することを含む。
・前記複数の3Dモデル化オブジェクトのそれぞれについて、前記追加された対応する画像は、各3Dモデル化オブジェクト自体から得られた1つまたは複数の2D画像および/または3Dモデル化オブジェクトを含むか、またはそれらからなる。
・追加された各2D画像は、各3Dモデル化オブジェクトからそれぞれの2Dビュー、例えば各3Dモデル化オブジェクトの2D描画を抽出することによって決定される。
・前記各3Dモデル化オブジェクト自体から得られた3Dモデル化オブジェクトは、各3Dモデル化オブジェクトそれ自体、または各3Dモデル化オブジェクトから得られた3Dモデル化オブジェクトである。
・前記抽出は完全に自動的に行われる。
・前記関数は、始域(または入力集合)と終域(または出力集合)とを有し、本方法は、訓練パターンをデータセットに追加することを含み、各訓練パターンは、前記始域の要素および前記終域の要素を含み、前記画像の追加は、前記訓練パターンの追加に含まれ、追加された各画像は、追加された各訓練パターンの要素である。
・前記訓練パターンの追加は、各訓練パターンについて、当該訓練パターンの要素を形成し、当該訓練パターンの要素を互いにリンク付けすることを含む。
・前記訓練パターンの要素のリンク付けは、完全に自動的に実行され、かつ/または人間の手作業による認識を排除する。本方法は、従来の方法に比べて短時間で容易に実行できるだけでなく、人間の認識に関連する間違いを回避することができ、それにより比較的高い精度を有するデータセットを形成することができ、またそれにより、当該データセットで学習した場合に、比較的、正確な関数をもたらし得る。
・各訓練パターンは、前記関数の始域に対応し、追加された画像である、第1の要素と、前記関数の終域に対応し、前記追加された画像に対応する3Dモデル化オブジェクトによって表されるインスタンスに関する情報を提供する別のデータである第2の要素とを含む。
・各訓練パターンの前記第2の要素は、1つまたは複数の他の画像(例えば追加された画像自体に対応する3Dモデル化オブジェクト)および/または、追加された画像に対応する3Dモデル化オブジェクトによって表されるインスタンスのクラスを示す情報(例えばクラスの名前および/またはクラスのラベルを提供するテキスト)など、追加された画像に対応する3Dモデル化オブジェクトによって表されるインスタンスに関する他の種類の情報を含むか、またはそれらからなる。
・各訓練パターンの第1の要素は2D画像であり、第2の要素は、対応する生成された3Dモデル化オブジェクト、および/または、前記対応する生成された3Dモデル化オブジェクトおよび前記2D画像によって表されるインスタンスのクラスを示す情報(例えば、クラスの名前および/またはクラスのラベルを提供するテキスト)である。そのような場合、関数は、入力された2D画像に対応する3Dモデル化オブジェクトを出力するように、および/または入力された2D画像内に表される現実の物体のインスタンスのクラスを認識して出力するように構成される。
・各訓練パターンの第1の要素は、生成された3Dモデル化オブジェクトであり、第2の要素は、3Dモデル化オブジェクトによって表されるインスタンスのクラスを示す情報(例えば、クラスの名前および/またはクラスのラベルを提供するテキスト)である。そのような場合、関数は、入力された3Dモデル化オブジェクト内に表される現実の物体のインスタンスのクラスを認識して出力するように構成される。
・前記パラメータの集合は、1つまたは複数の特性パラメータを含む。
・前記トラバースされる範囲の集合のうちの1つまたは複数は、それぞれ、特性パラメータのものである。
・範囲がトラバースされる前記1つまたは複数の特性パラメータは、スタイルパラメータを含む。
・前記1つまたは複数の特性パラメータは、さらに、1つまたは複数の寸法パラメータを含み、前記生成することは、前記1つまたは複数の寸法パラメータの範囲をサンプリングすることを含む。
・前記生成することは、前記範囲の集合のうち他の1つまたは複数をランダム化することを含む。
・前記ランダム化は、ランダム化されていない範囲の集合のうちの1つまたは複数の集合における値の各組み合わせについて、ランダム化された範囲に対するランダムな値の組み合わせを、クラスについて所定の個数提供することを含む。
・前記パラメトリックモデルは、さらに、それぞれが各パラメータを互いにリンク付けする、1つまたは複数の制約を含む。かつ/あるいは、
・前記生成することは、トラバースされる前記範囲の集合のうちの前記1つまたは複数について優先順位を与える前記パラメータの集合に対して定義され、かつ、前記1つまたは複数の制約に基づく、順序付けにしたがって行われる。
さらには、現実の物体のクラスのパラメトリックモデルを定義する、コンピュータによって実施される方法が提供される。本方法は、パラメータの集合と、各パラメータについての範囲とを定義することを含む。前記定義することは、前記パラメトリックモデルが、前記範囲の集合内に提供される各値の集合により、クラスの各インスタンスを表す各3Dモデル化オブジェクトを生成するように構成されるようなものである。本方法はまた、データセットを形成する際にトラバースされるように1つまたは複数の範囲にラベル付けすることを含む。このような方法により、データセットを形成するための前記方法を適用するために構成され準備されたパラメトリックモデルを定義することが可能になる。
例において、パラメトリックモデルを定義するための前記方法は、以下のうちの1つまたは複数を含んでいてもよい。
・前記パラメータの集合は、1つまたは複数の特性パラメータを含む。
・前記トラバースされる範囲の集合のうちの1つまたは複数は、それぞれ、特性パラメータである。
・範囲がトラバースされる前記1つまたは複数の特性パラメータは、スタイルパラメータを含む。
・前記1つまたは複数の特性パラメータは、さらに、1つまたは複数の寸法パラメータを含む。
・本方法は、さらに、ランダム化された範囲に対して、ランダムな値の組み合わせを、クラスについて所定の個数定義することを含む。
・本方法はさらに、それぞれが各パラメータを互いにリンク付けする、1つまたは複数の制約を定義することを含む。かつ/あるいは、
・本方法はさらに、トラバースされる前記範囲の集合のうちの前記1つまたは複数について優先順位を与える前記パラメータの集合に対して、前記1つまたは複数の制約に基づき、順序を定義することを含む。
さらには、データセットを形成するための前記方法によって形成されたデータセットに基づいて関数を学習(すなわち訓練)するための、コンピュータによって実施される方法が提供される。本方法は、重み付けされたニューラルネットワークのトポロジーのような、重みについて未定義の値を有する関数アーキテクチャ(またはトポロジー)を提供することを含む。関数アーキテクチャは、現実の物体の1つまたは複数のクラスのインスタンスの画像をそれぞれが入力とする関数を提供するように調整され得るデータ構造である。本方法はまた、データセットを提供することと、次いで、例えば所定の損失項を最小化することによって、前記データセットと一致するように前記関数アーキテクチャを調整することを含む。前記調整は、前記ニューラルネットワークの重みの値を調整することからなっていてもよい。このような方法は、機械学習工程のオフライン学習/訓練部分と呼ばれる。
さらには、学習のためのそのような方法によって学習された関数を用いるための、コンピュータで実施される方法が提供される。本方法は、前記関数を提供することを含む。本方法は、次いで、例えば、前記関数が入力として取るように構成された現実の物体の1つまたは複数のクラスのインスタンスの、1つまたは複数の入力画像を提供すること(本方法は、入力画像が前記1つまたは複数のクラスのインスタンスでない場合も何らかの方法で対処する)と、次いで、前記関数を前記入力画像に適用することとを含む。本方法は、次いで、出力についての任意の後処理を含んでいてもよい。このような方法は、機械学習工程のオンライン(またはインライン)部分と呼ばれる。
さらには、上記方法群のうちの任意のシーケンスを含む工程が提供される。前記シーケンスは、同じ位置で、および/または、同じシステムによって、または遠隔システム間におけるデータの交換を含むように実行されてもよい。
さらには、上記の方法群のいずれか1つまたは任意の組み合わせを実行するための命令を含むコンピュータプログラムが提供される。
さらには、データセットを形成するための前記方法によって形成可能なデータセットが提供される。このようなデータセットは、前記方法によって追加された前記1つまたは複数の対応する画像を含み、それにより、前記データセットは、既存の類似のデータセットと比較して、網羅的で正確である。
さらには、パラメトリックモデルを定義するための前記方法によって定義可能なパラメトリックモデルが提供される。このようなパラメトリックモデルは、パラメトリックモデルを定義するための前記方法の間に定義されたすべての情報、特に、データセットを形成する際に1つまたは複数の範囲のそれぞれがトラバースされることを示すラベルを含む。
さらには、前記データセット、前記関数、および/または、前記プログラムを含むデータ構造が提供される。
さらには、前記データ構造が記録されたデータ記憶媒体を含む装置が提供される。前記装置は、非一時的なコンピュータ読み取り可能媒体を構成してもよい。前記装置は、代わりに、前記データ記憶媒体に接続されたプロセッサを備えていてもよい。前記装置は、それによりシステムを構成してもよい。前記システムは、さらに、プロセッサに接続されたグラフィカル・ユーザ・インターフェースを備えていてもよい。
工程の一例のフローチャートを示す。 システムのグラフィカル・ユーザ・インターフェースの一例を示す。 システムの一例を示す。 方法の実施例を説明する図である。 方法の実施例を説明する図である。 方法の実施例を説明する図である。 方法の実施例を説明する図である。 方法の実施例を説明する図である。 方法の実施例を説明する図である。 方法の実施例を説明する図である。 方法の実施例を説明する図である。 方法の実施例を説明する図である。 方法の実施例を説明する図である。 方法の実施例を説明する図である。 方法の実施例を説明する図である。 方法の実施例を説明する図である。 方法の実施例を説明する図である。 方法の実施例を説明する図である。 方法の実施例を説明する図である。 方法の実施例を説明する図である。 方法の実施例を説明する図である。 方法の実施例を説明する図である。 パラメトリックモデルを定義付けの一例を説明するための図である。 パラメトリックモデルを定義付けの一例を説明するための図である。 パラメトリックモデルを定義付けの一例を説明するための図である。 パラメトリックモデルを定義付けの一例を説明するための図である。
関数は、ニューラルネットワークのような、現実の物体の1つまたは複数のクラスのインスタンスのものであり得る画像を入力とし、各入力に対して任意のフォーマットをとり得る出力を生成する任意の関数である。
画像は、物理的信号の空間的分布を表すデータ構造である。現実の物体の画像は、例えばシーン内に位置する当該物体上の物理的信号の分布を表す。空間的分布は、任意の次元、例えば、2Dまたは3Dの分布であり得る。物理的信号は、例えば色、グレーレベル、物質の深度または存在、または物体の境界など、任意の信号であってよい。これに対応して、画像は、2Dまたは3DのRGB、グレースケールまたは深度画像、2D輪郭モデル、または3Dモデル化オブジェクト(例えば、表面占有率または体積占有率モデル、あるいは境界表現)であってもよい。
空間的分布は、任意の方法で、例えば値のグリッドを用いて表現され、それによってピクセルまたはボクセルを定義する。グリッドは不規則または規則的である可能性がある。データセットに追加された画像、および/または、関数に入力される画像は、すべて同じ種類であってもよく、例えば、すべて矩形の2DのRGBまたはグレースケール画像、あるいはすべて3Dモデル化オブジェクトであってもよい。あるいは、データセットに追加された画像、および/または、関数に入力される画像は、異なる種類の画像を含んでいてもよい(例えば、訓練パターンの第1の要素のうちの画像、または第2の要素のうちの画像であってもよい)。
例においては、関数は、2D画像または3Dモデル化オブジェクトのような入力画像によって表される現実の物体のインスタンスのクラスを示す情報を出力するように構成されている。他の例においては、関数は、2D画像のような入力画像によって表される現実の物体のインスタンスの3Dモデル化オブジェクトを出力するように構成されている。
モデル化オブジェクトは、例えばデータベースに格納されたデータによって定義される任意のオブジェクトである。さらには、「モデル化オブジェクト」という表現は、データそのものも指す。使用されるシステムの種類に応じて、モデル化オブジェクトは、異なる種類のデータによって定義されてもよい。実際、システムは、CADシステム、CAEシステム、CAMシステム、PDMシステム、および/またはPLMシステムのうちの任意の組み合わせであってもよい。それら異なるシステムにおいて、モデル化オブジェクトは、対応するデータによって定義される。したがって、CADオブジェクト、PLMオブジェクト、PDMオブジェクト、CAEオブジェクト、CAMオブジェクト、CADデータ、PLMデータ、PDMデータ、CAMデータ、CAEデータについて言及することがある。しかしながら、モデル化オブジェクトは、これらのシステムの任意の組み合わせに対応するデータによって定義されてもよいため、これらのシステムは、互いに排他的なものではない。したがって、システムは、CAD兼PLMシステムであってもよく、これは以下に示すそのようなシステムの定義により明らかとなる。
CADシステムは、少なくとも、CATIAのようなモデル化オブジェクトのグラフィック表現に基づくモデル化オブジェクトの設計に適した任意のシステムをも意味する。この場合、モデル化オブジェクトを定義するデータは、モデル化オブジェクトを表現可能にするデータを含む。CADシステムは、例えば、辺や線を用い、また、場合により面(faces or surfaces)を用いて、CADモデル化オブジェクトの表現を提供してもよい。線、辺、あるいは面は、例えば、非一様有理Bスプライン(NURBS)など、様々な様式で表現されてもよい。具体的には、CADファイルは仕様を含み、その仕様に基づきジオメトリが生成可能であり、よって表現が生成可能となる。モデル化オブジェクトの仕様は1つまたは複数のCADファイルに格納されていてもよい。CADシステムでモデル化オブジェクトを表現するファイルの典型的なサイズは、一部分あたり1メガバイトの範囲である。また、モデル化オブジェクトは、典型的には、数千の部分の集合体であってもよい。
CADの文脈において、モデル化オブジェクトは、典型的には、3Dモデル化オブジェクト、例えば、一つの部品や部品の集合体などの製品、あるいは製品の集合体を表現するものであってもよい。「3Dモデル化オブジェクト」は、3D表現が可能なデータによってモデル化される任意のオブジェクトを意味する。3D表現は、その部品をすべての角度から見ることを可能にする。たとえば、3Dで表現された3Dモデル化オブジェクトは、その軸のうちの任意の軸、あるいは、その表現が表示された画面中の任意の軸を中心に、処理して回転させることが可能である。これは、特に、3Dモデル化されていない2Dアイコンについては除外される。3D表現の表示は、設計を容易にする(すなわち、設計者が作業を達成するスピードを統計的に速める)。
「現実の物体のクラス」という表現は、同じ意味記述子によって記述され得る現実の物体の集合、グループ、またはカテゴリを指す。現実の物体のクラスの意味記述子は、当該クラスの任意の物体を記述する自然言語の単語、またはオプションとして、数を含む表現である。クラスは、任意の種類の現実の物体を集め得る。クラスのサブクラスが、それ自体クラスとみなされてもよい。本方法群は、学習される関数について想定される精度に応じて、分類について任意の細かさを想定してもよい。本方法群は、例えばImageNet、ShapeNet、またはObjectNet3Dで識別されるクラスを想定してもよい。
本方法群は、動物のクラス、身体器官の部分のクラス、または植物/樹木のクラス、または(例えば機械)部品や部品の集合体のクラス、より一般的には任意の剛体の集合体(例えば移動機構)のクラスを想定してもよい。製品は、航空宇宙、建築、建設、消費財、ハイテク機器、産業機器、輸送、海洋、および/または海洋石油/ガス生産、または交通を含む、限定されることのない様々な産業分野において用いてもよい。本方法群は、地上車両の部品のクラス(例えば、自動車のクラス、および軽トラック機器のクラス、レーシングカーのクラス、オートバイのクラス、トラックのクラスおよびモーター機器のクラス、トラックのクラス、バスのクラス、電車のクラスを含む)、航空車両の部品のクラス(例えば、航空機体機器のクラス、航空宇宙機器のクラス、推進機器のクラス、防衛製品のクラス、航空路線機器のクラス、宇宙機器のクラスを含む)、海軍車両の部品のクラス(例えば、海軍用機器のクラス、商業用船舶のクラス、オフショア機器のクラス、ヨットのクラスおよび作業船のクラス、船舶用機器のクラスを含む)、一般的な機械部品のクラス(例えば、工業用製造機械のクラス、大型移動機械のクラスまたは機器のクラス、設置機器のクラス、産業機器製品のクラス、加工金属製品のクラス、タイヤ製造製品のクラスを含む)、電気機械部品のクラスまたは電子部品のクラス、(例えば、家電のクラス、セキュリティのクラスおよび/または制御のクラスおよび/または計装製品のクラス、コンピューティングおよび通信機器のクラス、半導体のクラス、医療装置および設備のクラスを含む)、消費者製品のクラス(例えば、家具のクラス、家庭用および庭用製品のクラス、レジャー用品のクラス、ファッション用品のクラス、耐久消費財小売用品のクラス、織物類小売用品のクラスを含む)、包装のクラス(例えば、食品および飲料およびたばこ、美容およびパーソナルケア、家庭用製品の包装のクラスを含む)などのように、任意の機械部品クラスを含み得る工業製品のクラスを意図したものであってもよい。
クラスの要素を「インスタンス」と呼ぶ。したがって、インスタンスはクラスの現実の物体である。インスタンスは、例えばそのスタイルや、その寸法、および/または、そのテクスチャを含む、異なる物理的特性を有する。クラスのインスタンスは、そのような情報をモデル化した3Dモデル化オブジェクトによって表されてもよい。
クラスのパラメトリックモデル(「テンプレート」としても知られる)は、入力パラメータに対して提供される値(1つのパラメータに1つの値)により、クラスのインスタンスを表す3Dモデル化オブジェクトを生成(すなわち出力)する関数である。したがって、このような生成された3Dモデル化オブジェクトは、それぞれ、パラメトリックモデルに対して提供されるパラメータ値の集合に対応する。各パラメータは、範囲、すなわち、当該パラメータに対して承認されたすべての値の集合に対応する。パラメトリックモデルは、さらに、それぞれが各パラメータを互いにリンク付けする、1つまたは複数の制約を含んでいてもよい(言い換えれば、1つまたは複数の他のパラメータの値に対して、1つまたは複数のパラメータの値に制約を与える)。このような情報は、パラメトリックモデルとともに提供される。
データセットを形成する方法は、次いで、3Dモデル化オブジェクトの生成中に1つまたは複数の範囲を(例えば、完全に)トラバースすることを含む。ある範囲について「トラバースする」という用語は、当該範囲の少なくとも代表的な部分集合の各値(すなわち、当該範囲に全体にわたって分布された当該範囲の値の集合)が、その部分集合の各値について少なくとも1つの対応する3Dモデル化オブジェクトが生成されるように、生成中にアクセスされることを意味する。前記3Dモデル化オブジェクトに対応する他のパラメータ値は、任意の手法で設定すればよく、例については後述する。そのような生成された各3Dモデル化オブジェクトは、次いで、データセット内の対応する1つまたは複数の訓練パターンをもたらしてもよい。これにより、トラバースされるパラメータの範囲(群)について、データセットが包括的で多様なものとなる。言い換えれば、トラバースされる範囲の値のすべての組み合わせがデータセット内に表される。
範囲の集合は、有限である1つまたは複数の範囲を含んでいてもよい。このような有限の範囲をトラバースすると、その範囲のすべての値にアクセスすることになる。そのような場合、範囲の代表的な部分集合は、範囲全体そのものである。範囲の集合は、無限である1つまたは複数の範囲を含んでいてもよい。このような無限集合は、例えば有限集合にサンプリングされる。有限集合もまた、例えば、比較的大きい場合に、サンプリングしてもよい。そのような場合、範囲の代表的な部分集合は、サンプリングの結果である。このようなサンプリングはまた、データセットを形成するための方法の他のステップのために実施され、使用されてもよい。例えば、トラバースされていない範囲の値が必要な場合(例えば、後述するようにランダム化されている場合)、そのような値をサンプリングの結果内で選択してもよい。サンプリングは、パラメトリックモデルの定義時に、または複数の3Dモデル化オブジェクトの生成前または生成時におけるデータセットの形成中に実行してもよい(この場合、サンプリングは単にその範囲に対して行われる)。サンプリングは規則的であっても不規則であってもよい。サンプリングは、所定数のステップまたは所定のステップサイズに対応してもよく、これは一定であってもよく、範囲および/またはパラメータに依存してもよい。サンプリングは、範囲内に少なくとも2個または3個の値、例えば少なくとも5個または10個の値をもたらしてもよい。以下において、範囲の処理とは、そのサンプリングされたバージョンの処理のことを指し得る。
パラメータの集合は、1つまたは複数の特性パラメータを含んでいてもよい。特性パラメータは、クラスの現実の物体を識別する特徴を表すパラメータである。この識別的特徴は、意味記述子に対応していてもよい。クラスの現実の物体の識別的特徴の意味記述子は、当該現実物体の態様を記述する自然言語の単語、またはオプションとして、数を含む表現であり、これにより、現実の物体をクラスの他のインスタンスと識別的に比較することができる。これにより、パラメトリックモデルは、識別され得るクラスのインスタンスの生成を可能にし、形成されたデータセットは、そのような多様性を変換したものとなり得る。
特性パラメータは、スタイルパラメータ、寸法パラメータ、および/または、テクスチャパラメータを含んでいてもよい。スタイルパラメータは、クラスの現実の物体についての形状または配置情報を表すパラメータであり、それにより、特にその画像を視覚化する際の、現実の物体についての幾何学的印象に対応する。このように、スタイルパラメータは、クラスにおける異なるインスタンス同士を識別する効率的な手法を形成する。スタイルパラメータは、物体の形状、その要素の形状、またはその要素の配列を、すべて値の所定の集合内に表してもよい。寸法パラメータは、現実の物体、またはその一部の寸法を表す。テクスチャパラメータは、現実の物体、またはその一部のテクスチャを表し、「テクスチャ」という用語は、例えば、色の分布、材料、および/または、感触の特徴(例えば皺の多さや滑らかさ)をカバーする。
パラメトリックモデルが提供される現実の物体のクラスは、同じタイプの(例えば、機械的な)部品または製品の集合体のクラスを含んでいてもよい。そのようなクラスのパラメトリックモデルは、部品または製品にそれぞれ対応するサブモデルを含んでいてもよい。各サブモデルは、1つまたは複数のスタイルパラメータ(例えば、それぞれが部品の形状種類の有限集合を提供する)、1つまたは複数の寸法パラメータ(例えば、それぞれが値の無限集合を提供する(例えば、種類[a,b]。ここで、aおよびbが正の実数))、および/または、1つまたは複数のテクスチャパラメータ(例えば、それぞれが部品の材料種類の有限集合、部品の感触特徴種類の有限集合、または部品全体の色の値の有限または無限集合(例えば値の257×257×257個の集合における、例えばRGB値)を提供するか、または、それぞれが色の値の有限または無限集合(例えば部品におけるRGB分布マップ)、または感触特徴の値の有限または無限集合(例えば部品における感触特徴のレベルの分布マップ)を定義するか、(例えばチューニングによって)他のパラメータとともに定義に関与する)を含み得るパラメトリックモデルである。クラスのパラメトリックモデルは、さらに、例えばそれぞれが部品の配置の有限集合を提供する、スタイルパラメータを含んでいてもよい。クラスのパラメトリックモデルは、例えば、それぞれがいくつかの部品の所与の配置について、それら部品間の相対的な位置決めの正確な値を提供する、寸法パラメータを含んでいてもよい。クラスのパラメトリックモデルは、他のパラメータを含んでいてもよい。
パラメトリックモデルが提供される1つまたは複数のクラスは、そのような種類の上位クラスのサブクラスであってもよい。上位クラスのパラメトリックモデルは、次いで、1つまたは複数のクラスのパラメトリックモデルの集合からなるものであって、当該1つまたは複数のクラスのパラメトリックモデルのうちの1つを選択するためのパラメータが追加されるものとして定義されてもよい。上位クラスの概念は、同じ上位クラスのサブクラスである異なるクラスがパラメータを共有し得るため、クラスがより簡単に定義できるようになり得る。上位クラスを定義することにより、そのようなパラメータを一度だけ宣言し、次いで、共有した当該パラメータを自動的に継承するものの共有した当該パラメータに適用する関数が異なり得る、インスタンス化サブクラスを宣言することが可能になり得る。
トラバースされる範囲の集合のうちの1つまたは複数は、それぞれ、特性パラメータの範囲であってもよい。そのような場合、データセットは特性パラメータに関して包括的であり、データセットの多様性により、特性パラメータによって提供される特性に応じて識別を行う関数を後で学習することが可能になる。言い換えれば、この関数は、トラバースされる特性パラメータに対して、あるインスタンスを別のものと間違えてしまうことに対してより頑強になる。
このようなトラバースされる特性パラメータは、スタイルパラメータ(例えば、パラメトリックモデルによって提供される全てのスタイルパラメータ)を含んでいてもよい。スタイルパラメータは、実際、特に識別に資する。したがって、スタイルパラメータによって取られる値に関する多様性は特に重要である。これは、同じ種類の(例えば、機械的な)部品または製品の集合体のクラスの場合に、よりいっそう当てはまる。
例においては、すべてのスタイルパラメータがトラバースされ、他のすべてのパラメータはランダム化される。これにより、データセットの迅速な形成が可能になるが、そのうえ、機械エンジニアリングの文脈を含め、多くの文脈において、最もよく識別に資するパラメータの種類であるスタイルに関して、多様性を有する。
本方法群は、コンピュータにより実施される。これは、本方法群のステップ(あるいは略全てのステップ)が少なくとも1つのコンピュータ、または類似の任意のシステムによって実行されることを意味する。よって本方法群のステップは、コンピュータにより、完全に自動的に、あるいは半自動的に実行される可能性がある。例において、本方法群の少なくともいくつかのステップは、ユーザとコンピュータの対話を通じて始動されてもよい。求められるユーザとコンピュータの対話レベルは、想定される自動性のレベルに応じたものであって、ユーザの要望を実装する必要性との間でバランスをとるものとしてもよい。例において、このレベルは、ユーザが設定し、かつ/あるいは、予め定義されていてもよい。
本方法群のコンピュータによる実施の典型的な例は、この目的に適したシステムを用いて本方法群を実行することである。当該システムは、本方法群を実行するための命令を含むコンピュータプログラムを記録したメモリに接続されたプロセッサ、および、グラフィカル・ユーザ・インターフェース(GUI)を備えていてもよい。メモリは、データベースを記憶していてもよい。メモリは、そのような記憶に適した任意のハードウェアであり、場合により、物理的に区別可能ないくつかの部分(例えば、プログラム用に1つ、場合によりデータベース用に1つ)を含む。システムはさらに、プロセッサに接続され、3D再構築のためのインスタンスの深度マップを取得するよう構成された深度センサを備えていてもよい。システムはまた、取得中にインスタンスが姿勢をとるためのポージングスポットを備えていてもよい。
図1は、工程の一例のフローチャートを示す。ブロックS10、S20、S30、S40およびS50は、それぞれ他のブロックとは独立して実行されてもよい。
図1の工程は、現実の物体の複数のクラスのそれぞれに対して、当該クラスのパラメトリックモデルを定義する方法(S10)を含み、これはユーザの対話操作を介して実行され得る。
定義すること(S10)は、パラメータの集合と、各パラメータについての範囲とを定義すること(S12)を含む。パラメータは、寸法、スタイル、および/または、テクスチャパラメータを含んでいてもよい。パラメトリックモデルは、クラスの現実の物体のインスタンスの変動性を表す。
定義すること(S10)はさらに、データセットを形成する際にトラバースされるように1つまたは複数のパラメータ範囲(同様に、パラメータ)にラベル付けすること(S14)を含む。これによりラベル付けされた範囲パラメータは、(例えば、有限である)(例えば、全ての)スタイルパラメータ、および場合により寸法パラメータ、および/またはテクスチャパラメータを含んでいてもよい(例えば、このような寸法/テクスチャパラメータの無限の範囲は、このような場合に、サンプリングされて有限でトラバース可能となるが、これは図には示されていない)。
図1の工程は、他のすべての(すなわち、ラベル付けされていない)範囲を、ランダム化されるものとみなす。あるいは、システムは、「トラバースされていない」範囲用に、特定のラベルを管理してもよい。また、ランダム化の代わりに、ラベル付けされていない範囲については、トラバースとは異なる他の任意の処理が考えられる。
定義すること(S10)はさらに、ラベル付けされた範囲の値の各組み合わせに対して、ラベル付けされていない範囲のランダムな値の所定の個数M個の組合せを定義すること(S16)を含む。言い換えれば、各クラスについて、当該工程は、ラベル付けされた範囲のトラバースされる値の組み合わせごとに、ラベル付けされていない範囲に対して描画されるはずのランダム値の組み合わせが正確に何個あるかを知る。これにより、当該工程は、トラバースされる範囲の組み合わせの全体の多様性を表すデータセットを形成し、他の範囲については「より緩く」(すなわち、より「厳密」でなく)なるように求められる。定義すること(S16)は、さらに、所定数M個に対応するランダム化された範囲について、最小限の多様性を実現する。所定の個数Mは、任意の正の整数値であってよく、例えば、30または20よりも小さくてもよい。これにより組み合わせのコストを低減できる。
定義すること(S10)は、さらに、それぞれが各パラメータを互いにリンクさせる、1つまたは複数の制約を定義すること(S18)を含む。あるいは、ユーザは制約を全く定義しなくてもよい。
S12〜S18は、連続的に表されているが、任意の順序で実行してもよく、例えばインターレースされてもよい。
図1の工程は、次いで、データセットを初期化する(S20)。
図1の工程は、次いで、クラスごとに、データセットに取り込む(S30)。
工程は、各クラスについて、当該クラスのパラメトリックモデルを提供すること(S310)を含む。工程は、次いで、パラメトリックモデルにより複数の3Dモデル化オブジェクトを生成する(S320)。
この生成(S320)は、パラメータの集合について順序を定義すること(S322)を含む。順序付けは、トラバースされる範囲に優先順位を与え、かつ、1つまたは複数の制約に基づくものである。順序は、任意の手法により、自動的に決定されてもよい。このような順序付けの実施については後述する。図1の例の代わりに、順序がS10内で定義され、S30でそのようなものとして提供され、パラメトリックモデルと共に形成されてもよい。さらに、S30は、順序付けに基づかなくてもよく、ヒューリスティックを介して単純に実行してもよい。
生成(S320)は、次いで、トラバースされるようにラベル付けされた範囲をトラバースすること(S324)を含む。トラバーサル(S324)中に、生成(S320)により、ラベル付けされた範囲の値の組み合わせのそれぞれにつき、ラベル付けされていない範囲のランダムな値のM個の組み合わせが提供される(S326)。あるいは、所定数Mが工程に提供されず、よって工程は任意の手法でランダム化を処理する。
これにより、S324〜S326は、S328で出力される3Dモデル化オブジェクトに多様性をもたらす。出力は、ラベル付けされた範囲の値のすべての可能な組み合わせに対応する3Dモデル化オブジェクトと、そのような各組み合わせについて、ラベル付けされていない範囲の値の1つまたは複数(Mの値による)のランダムな組み合わせに対応する3Dモデル化オブジェクトを含む。
次いで、S328の結果に基づきデータを追加する(S330)ことによって、データセットにクラスのデータが取り込まれる。例えば、S328で出力された各3Dモデル化オブジェクトが、いくつかの2D画像を抽出するために用いられ、各2D画像は、S330において、例えば各3Dモデル化オブジェクト、または他の任意の関連データにリンク付けされたデータセットに追加され、訓練パターンを形成する。あるいは、S328で出力された各3Dモデル化オブジェクトは、S330でクラスの名前にリンク付けされたデータセットに追加され、訓練パターンを形成する。S330は、データセットに基づいて後にS40で学習したい関数の種類に基づいて、任意の手法で実行されてもよい。
いずれの場合も、トラバーサル(S324)は、データセット内に、効率的な学習(S40)を可能にする一定レベルの多様性をもたらし、それにより、後にS50において、そのような学習した関数を用いるときに、正確な結果をもたらす。
例における定義すること(S10)はさらに、ランダム化されていない範囲の値の各組み合わせに対して、ランダム化された範囲のランダムな値の所定数M個の組合せを定義すること(S16)を含む。
図2は、本システムのGUIの一例を示す図であって、当該システムはCADシステムである。GUI2100は、例えば、所与のクラスの3Dモデル化オブジェクト2000を、例えば当該クラスのパラメトリックモデルを定義する前に、そのような3Dモデル化オブジェクトを入力とする学習した関数を適用する前に、あるいはそのような3Dモデル化オブジェクトを出力する学習した関数の結果として、表示するために用いられてもよい。
GUI2100は、標準的なメニューバー2110,2120、ならびに底部および側面のツールバー2140,2150を有する典型的なCADのようなインターフェースであってもよい。このようなメニューバーおよびツールバーは、ユーザが選択可能なアイコンのセットを含み、各アイコンは、当技術分野で知られているように、1つまたは複数の操作または機能に関連付けられている。これらのアイコンのいくつかは、GUI2100に表示された3Dモデル化オブジェクト2000の編集および/または作業に適合したソフトウェアツールに関連付けられている。ソフトウェアツールはワークベンチに分類することができる。各ワークベンチは、ソフトウェアツールのサブセットを含む。特に、ワークベンチの1つは、モデル化製品2000のジオメトリ的特徴を編集するのに適した編集ワークベンチである。操作中、設計者は、例えば、オブジェクト2000の一部を予め選択し、次いで、適切なアイコンを選択することによって、操作を開始する(例えば、寸法、色などを変更する)か、ジオメトリ的制約を編集することができる。例えば、典型的なCAD操作は、スクリーン上に表示された3Dモデル化オブジェクトのパンチングまたは折り畳みのモデリングである。GUIは、例えば、表示された製品2000に関連するデータ2500を表示してもよい。図の例では、「特徴ツリー」として表示されたデータ2500およびそれらの3D表現2000は、ブレーキキャリパおよびディスクを含むブレーキ部品に関するものである。GUIは、編集された製品の動作のシミュレーションを起動するため、または表示された製品2000の様々な属性を描画するために、例えばオブジェクトの3D定位を容易にするための様々なタイプのグラフィックツール2130,2070,2080をさらに示してもよい。カーソル2060は、ユーザがグラフィックツールを用いて対話操作ができるように、触覚デバイスによって制御されてもよい。
図3は、深度センサに接続されたコンピュータシステムとしての本システムの一例を示す。
本例のシステムは、内部通信バス1000に接続された中央演算処理装置(CPU)1010、および同じくバスに接続されたランダムアクセスメモリ(RAM)1070とを備える。本システムは、さらに、バスに接続されたビデオランダムアクセスメモリ1100と関連付けられたグラフィックス処理装置(GPU)1110を備える。ビデオRAM1100は、当該技術分野において、フレームバッファとしても知られる。大容量記憶装置コントローラ1020は、ハードドライブ1030などの大容量記憶装置へのアクセスを管理する。コンピュータプログラムの命令及びデータを具体的に実現するのに適した大容量メモリ装置は、例として、EPROM、EEPROM及びフラッシュメモリ装置のような半導体メモリ装置、内蔵ハードディスクやリムーバブルディスクなどの磁気ディスク、光磁気ディスク、およびCD−ROMディスク1040を含む、全ての形式の不揮発性メモリを含む。前述のいずれも、特別に設計されたASIC(特定用途向け集積回路)によって補完されてもよいし、組み入れられてもよい。ネットワークアダプタ1050は、ネットワーク1060へのアクセスを管理する。本システムは、深度センサ1090も含む。
コンピュータプログラムは、コンピュータによって実行可能な命令を含んでいてもよく、命令は、上記システムに本方法群を実行させるための手段を含む。プログラムは、システムのメモリを含む任意のデータ記憶媒体に記録可能であってもよい。プログラムは、例えば、デジタル電子回路、またはコンピュータハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせで実装されてもよい。プログラムは、例えばプログラマブルプロセッサによる実行のための機械読み取り可能な記憶装置に具体的に実現された製品のような装置として実装されてもよい。方法ステップは、プログラム可能なプロセッサが命令のプログラムを実行し、入力データを操作して出力を生成することによって方法の機能を実行することによって実行されてもよい。したがって、プロセッサは、データ記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、また、それらにデータおよび命令を送信するようにプログラム可能であってもよく、またそのように接続されていてもよい。アプリケーションプログラムは、高水準の手続き型またはオブジェクト指向のプログラミング言語で、または必要に応じてアセンブリ言語または機械語で実装されていてもよい。いずれの場合も、言語はコンパイラ型言語またはインタープリタ型言語であってもよい。プログラムは、フルインストールプログラムまたは更新プログラムであってもよい。いずれの場合も、プログラムをシステムに適用すると、本方法を実行するための指示が得られる。
本工程は、例えば、2D画像を用いて3Dオブジェクトを認識するため専用のニューラルネットワークを訓練するために、訓練パターンを準備できるようにし得る。本工程は、CADにおいて非常に一般的な概念である、テンプレートを利用する。原則は、CADシステムを用いて、認識すべき3Dオブジェクトのクラスのパラメータ化されたテンプレートを作成することであってもよい。クラスの各要素は、パラメータ(例えば、角度寸法、長さ寸法、テクスチャ)をインスタンス化することによって得られる。このように、パラメータ値を自動的に変化させることによって、3Dモデルの非常に大きな集合を作成することができる。次いで、各モデルについて、関連付けられた2D画像のもう1つの非常に大きな集合を、CADシステムを再び用いて算出してもよい。本工程は、特に、ジオメトリ的な観点から、完全に制御下にある数千の訓練パターンを提供することが可能であってもよい。これにより、効率的かつ安全な、ニューラルネットワークの訓練が可能になる。
ここで、本方法群の実施例について、図4〜図22を参照して説明する。「ユーザ」という用語は、訓練パターンデータベースの設計者を指す。
ニューラルネットワーク定義の例
ニューラルネットワークは、式にすると、6つ組
によって定義されてもよく、ここで、
はニューロンの集合であり、
は方向づけられた接続であり、マッピング
は、接続の開始ニューロンを記述し、マッピング
は、接続の終了ニューロンを記述し、重みマッピング
は、数値重みを各接続に関連付け、
は、活性化関数と呼ばれる。
これは接続の開始ニューロン

であり、その終了ニューロンが
であり、その重みが
であることを意味する。さらに、ニューロンの入力接続の集合

であり、ニューロンの出力接続の集合

である。同様に、ニューロン
の内向きニューロン
は、
の入力接続の開始ニューロンであり、すなわち、
である。ニューラルネットワークのトポロジーは、ニューロンと、接続
によって定義される。
定義により、活性化関数は、ネットワーク内の情報伝播の非線形閾値効果を捉える。教本「Kriesel David,A brief introduction to Neural Networks,2006」に記載のとおり、典型的な活性化関数は、
である。
数学的な観点から、ニューラルネットワークは、活性化関数に関連づけられた加重弧を有する有向グラフであってもよい。
定義により、入力ニューロン
は、入力接続を有しておらず、これは、
を意味し、また出力ニューロン
は出力接続を有しておらず、これは
を意味する。
各ニューロン
は以下の意味において演算ユニットのように振る舞う。出力数値
は、以下の式に従って内向きニューロンの数値を組み合わせることによって算出できる。

は伝播値と呼ばれる。これは、ニューロン
で終了するすべての接続
の開始ニューロン
によって算出した数値の加重合計である。値
は、伝播値
において適用された閾値効果
である。数式は再帰的に定義され、順序付けの問題には、トポロジーを通して対処する。図4は、ニューロン5における、その3つの内向きニューロン1、2、および3からの演算を説明する図である。
本工程によって実装され得るニューラルネットワークの非常に一般的なトポロジーは、フィードフォワードモデルである。ニューロンの集合は、層
と呼ばれる順序付けられた疎な部分集合として構成され、ここで
は、入力層(入力ニューロンの層)と呼ばれ、
は、隠れ層と呼ばれ、
は、出力層(出力ニューロンの層)と呼ばれる。層
の各ニューロンから、層
の全てのニューロンへの接続が存在する。層
の各ニューロンから、
としたときの
の全てのニューロンへの接続が存在する。最後の隠れ層
の各ニューロンから、出力層
の全てのニューロンへの接続が存在する。フィードフォワードニューラルネットワークの文脈では、特定の活性化関数を各層に関連付けることができる。
図5は、2つの隠れ層を特徴とするフィードフォワードニューラルネットワークを示す。入力ニューロンは入力矢印で記号化されている。出力ニューロンは出力矢印で記号化されている。
明らかなように、フィードフォワードニューラルネットワークは非周期的である。したがって、数値
を入力ニューロンに設定し、これはすなわち、全ての
について
であることを意味し、また、層ごとに演算を伝播することにより、出力ニューロンによって算出される数値
がもたらされる。フィードフォワードニューラルネットワークを通して
から
を算出するマッピングは、
で表され、ここで
は入力ニューロンの数であり、
は出力ニューロンの数である。

ニューラルネットワークの訓練の例
フィードフォワードニューラルネットワークのトポロジーが与えられ、その活性化関数が与えられると、ニューラルネットワーク訓練ステップの目標は、重み付けマッピング
を算出することである。この目的のために、訓練パターンの集合が必要である。訓練パターンは、組
である。この組は、入力データ
が与えられたときにニューラルネットワークが算出するものと思われる出力データ
を表す。入力と出力は他の手段で算出され、これらは「入力が
の場合、ニューラルネットワークは
を出力しなければならない」ということを教えるのに用いられる。
個の訓練パターン
が与えられると、

について、可能な限り
に近くなるように重み付けマッピングを調整するのに、専用のアルゴリズムを用いてもよい。この目的のための典型的なアルゴリズムは、バックプロパゲーションである。数学的観点からは、これはマッピング
を算出する補間問題である。
図6は、ニューラルネットワークの訓練ステップと実行ステップとを比較して示す。

分類ニューラルネットワークの訓練の例
ニューラルネットワークは、特に分類のために用いることができる。3Dオブジェクトの
個のクラスの有限の集合が与えられるとき、目標は、未知の入力3Dオブジェクトが属するクラスをニューラルネットワークが認識することである。分類ニューラルネットワークは、クラスごとに1つの出力ニューロンを特徴とする。出力数値は、区間

個の数のベクトル
である。各数
は、入力オブジェクトがクラス番号
に属する確率である。典型的な訓練パターンは、
かつ
の場合
となるような、出力ベクトルに関連づけられたクラス番号
に属する既知の入力3Dオブジェクトである。

データセットを形成するための提供された方法で訓練パターンを構築する例
物理的3Dオブジェクトの
個のクラス
が定義されると、ユーザは、特性パラメータを、それらの制約と共に定義することとしてもよい。パラメータ/クラステーブルは、それぞれのクラスに対応するパラメータ値のそれぞれの範囲を捉えたものである。また、ユーザは、3DCADテンプレートモデル(以下、テンプレートモデルという)を設計してもよい。最後に、ユーザは、
個の描画パラメータを定義してもよい。描画パラメータは、画像を算出するのに必要なすべてのデータ、(すなわち視点、照明、環境、背景など)を含む組である。
後続の工程のすべてのステップは、完全に自動化されていてもよい。各クラス
について、システムは1つの設計テーブルを生成してもよく、各設計テーブルは、複数の
個のオブジェクトを表す可能性がある。次いで、システムは、各設計テーブルをテンプレートモデルと組み合わせてもよく、これにより合計
個の3Dモデルが生成される。最後に、システムは、描画定義に従って、各3Dモデルの
個の2D画像を生成してもよい。これにより
個の画像が生成される。データセットは、以下のような
個の組
からなる。

のそれぞれについて、
のそれぞれについて、および
のそれぞれについて、
は、描画番号
に応じた構成番号
におけるクラス
の物体の2D画像である

かつ
の場合
である。
ワークフローが図7に示されている。
物体のクラスの例
訓練パターンを設計するための第1のステップは、認識すべき物体のクラスを定義することであってもよい。それらはすべて同じルートクラスから派生してもよい。典型的なルートクラスは「テーブル」であり、クラスは機能的な観点から配置され、典型的には「ダイニングテーブル」、「エンドテーブル」、「コンソールテーブル」、「アクセントテーブル」および「バーテーブル」である。
これは図8に示されている。
パラメータ/クラステーブルおよびパラメータ範囲の例
特性パラメータおよび典型的な(範囲の)値は、この機能により編成したクラスに関連付けられてもよい。これには数、および記号の値が含まれてもよい。いくつかの種類のパラメータが関与してもよい。すなわち、寸法パラメータ、スタイルパラメータ、および、テクスチャパラメータである。寸法パラメータは、長さまたは角度であってもよい。スタイルパラメータは、物体の1つまたは複数の部材の性質を決定するものであってもよい。テクスチャパラメータは、その材料に応じて物体の外観を決定するものであってもよい。
図9〜図11において、Leg(脚)とPlate(天板)はスタイルパラメータである。パラメータLegの値Circular(またはSquare)は、テーブルの中央の脚が、円形(または正方形)の土台を有することを意味する。パラメータLegの値4はテーブルが、4つの垂直な脚を備えることを意味する。パラメータPlateの値Circular(またはRectangleまたはOval)は、天板が円形(または長方形、または長円形)であることを意味する。
パラメータの名前、種類、および範囲が、いわゆる「パラメータ/クラステーブル」に集められ、それを簡略化したものが表Iに示されている。
表I−テーブルのクラスについてのパラメータ/クラスの表を簡略化したビュー:「ダイニングテーブル」クラス、「エンドテーブル」クラス、「アクセントテーブル」クラス、「バーテーブル」クラス、および「コンソールテーブル」クラス
また、いわゆる「ランダムな構成」の数
を各クラスに関連付けてもよい。上側に*でラベル付けされたパラメータは、「ランダム化されたパラメータ」と呼ばれる。その他のパラメータは「トラバースされるパラメータ」と呼ばれる。後述のように、これら2つの特徴を、設計テーブルを生成する際に用いてもよい。
このテーブルは、以下のように定式化される。クラスの集合
が与えられ、パラメータの集合
が与えられると、パラメータ/クラステーブルは、
から、
で表される集合
のべき集合へのマッピング
であって、
である。
例においては、
である。
各組
について、
は、クラス
をパラメータ化する際に用いられるパラメータ
の範囲である。スタイルパラメータの範囲は、常に有限集合であってもよい。寸法パラメータの範囲は、有限集合または数の区間とすることができる。
例えば、
は、エンドテーブルの長さが80センチより長く120センチより短いことを意味する。スタイルパラメータは
である。寸法パラメータは
である。テクスチャパラメータは
である。

トラバースされるパラメータとランダムなパラメータの比較例
パラメータのトラバースされる/ランダムな状態は、訓練パターンデータセットの設計者によって設定される。定義により、設計テーブルを構築する際に、トラバースされるパラメータのすべての可能な組み合わせが生成される。対照的に、設計テーブル内のランダムなパラメータを設定するには、所定数の値がランダムに選択される。
原理は、3Dオブジェクトの形状に大きく寄与するパラメータは、トラバースされるパラメータであるべきで、形状にそれほど寄与しないパラメータは、ランダムなパラメータであるべきである、というものであってもよい。典型的には、スタイルパラメータはトラバースされるパラメータであり、寸法パラメータはランダムなパラメータである。なお、数値区間の範囲
を有するパラメータをトラバースすることは、それをサンプリングすることを暗に意味する。なぜなら、それは値の無限集合だからである。そのような場合、範囲を完全にトラバースすることはできない。
説明した実施例では、トラバースされるスタイルパラメータとランダムな寸法パラメータが検討されているが、ランダムなスタイルパラメータとトラバースされる寸法パラメータとすることも可能である。テクスチャパラメータは、ユーザの選択に応じて、トラバースされることも、ランダムとすることも可能である。
制約の例
パラメータの依存関係は、例えば、2つの種類の制約、すなわち、比例制約と条件/動作制約を用いて捉えてもよい。比例は、数値パラメータの値が別の数値パラメータの値に比例することを示す。例えば、
は、典型的な比例制約である。これは、
の値が設定された後で
の値が設定されるという意味で方向性を有する。
条件/動作制約では、条件にはパラメータのリストとそれらの値が関与する。制約の条件に関与するパラメータは、「条件パラメータ」と呼ばれる。制約の動作に関与するパラメータは、「動作パラメータ」と呼ばれる。制約によってアクティブ化される動作とは、条件パラメータの値に従って動作パラメータの範囲を定義することである。例えば、典型的な条件/動作制約は以下のとおりである。
これは、中央に脚を備えたテーブルは、長過ぎてはならないことを示している。条件パラメータは
である。動作パラメータは
である。
視覚的には、制約はパラメータの依存関係を形成する可能性があるが、ユーザが循環的な依存関係を避ける必要があってもよい。前述のように、訓練パターンの集合は、トラバースされるパラメータの観点からは、網羅的である。逆に、ランダムなパラメータの観点からは、ランダムにサンプリングされている。このため、条件パラメータとして、ランダムなパラメータが関与する制約は、動作パラメータとして、トラバースされるパラメータを含まない可能性がある。設計テーブルの生成は、この制限の恩恵を受ける場合があるが、これについては後述する。
説明した実施例の文脈では、優先日においてアクセス可能であった以下のURLに記載されているように、制約はprotobuff言語を用いて表す:https://developers.google.com/protocol−buffers/。
設計テーブルの例
設計テーブルの概念は、CADの業界では非常に一般的である。これは、本工程によって有利に再使用され得る。パラメータのリスト
が与えられ、「パラメータの範囲」である集合のリスト
が与えられ、いわゆる構成の数
が与えられると、設計テーブルは、「構成」と呼ばれる
個の行と、「パラメータ」と呼ばれる

個の列を特徴とすることになる。これは
と表され、ここで
は、範囲
の要素である。構成は、各パラメータの特定の値を指定する、設計テーブルの行である。設計テーブルの目的は、所与のオブジェクトの
個のバリエーションをコンパクトな構造で収集することである。設計テーブルの存在意義は、設計テーブルのパラメータがCADモデルのものであるかのように、パラメータ化された3DCADモデルと組み合わされることである。このように、各構成は3Dオブジェクトの、あるバージョンを表す可能性がある。
例えば、ダイニングテーブルの
個の構成を有する設計テーブルには、表IIに示すように、それぞれが範囲
および
に関連付けられた
個のパラメータ
が関与する。
表II−「ダイニングテーブル」クラスの構成
図12は3Dオブジェクトの各構成を示す。
順序付けパラメータと制約の例
制約はパラメータの依存関係を形成するため、設計テーブルを構築する際に、適切な順序に従って、パラメータを設定し制約をアクティブ化してもよい。この順序は、有向非循環グラフ(DAG)のトポロジー的順序付けアルゴリズムをカスタマイズすることによって算出してもよい。
を制約の集合とし、各制約
について、制約
の条件パラメータの集合を
と表し、制約
の動作パラメータの集合を
と表す。順序は、パラメータおよび制約の依存関係を捉える有向グラフ
を用いて算出される。このグラフは以下のように定義される。ノード
は制約、条件パラメータ、および動作パラメータである。式にすると、
となる。
弧は、条件パラメータから制約へ、および制約から動作パラメータへと方向づけられている。式にすると、すべての制約
および各パラメータ
について、
で始まり
で終わる弧
が存在し、これは
および
を意味する。同様に、各パラメータ
について、
で始まり、
で終わる弧
が存在し、これは
および
を意味する。定義により、ノード
の入力弧(または出力弧)は
で終わる(または始まる)弧
であり、すなわち、
または(
)である。ルートノード
は入力弧を有さず、すなわち、
であり、または同様に、
である。定義により、ノード
の出力ノード
は、ノード
の出力弧の終了ノードである。ノード
の出力ノードの集合は
である。グラフ理論によれば、有向非循環グラフには、少なくとも1つのルートノードが存在する。
例えば、表IIIに定義するように、制約
および
、トラバースされるパラメータ
および
、ランダムなパラメータ
および
、および依存関係を検討する。
表III−パラメータの依存関係
対応するグラフが図13に示されている。
順序付けアルゴリズムの原理は、除去シーケンスを記録しながら、グラフのルートノードを反復的に(および実質的に)除去することであってもよい。この目的のために、各ノード
は、その入力弧の現在の数を表し、入力弧の初期数で初期化された整数
に関連付けられる。すなわち、
である。このように、ルートノード
は、
となるようなノードである。アルゴリズムの出力は、マッピング
であってもよく、これは、シーケンスにおける
番目のノードが
であることを述べている。アルゴリズムは、
によって定義される現在のルートノードの集合を利用してもよい。
命令03は、除去するべき適切な現在のルートノードを選択する。選択は、次の優先順位に従って行われる。すなわち、まず、トラバースされるパラメータを選択する。トラバースされるパラメータがない場合は、制約を選択し、そうでない場合はランダムなパラメータを選択する。
なお、このアルゴリズムは、パラメータと制約とを区別しない。これはパラメータ値を設定し制約をアクティブ化するための順序を提供する。
例における
および
の最初のデータ構造は、以下の通りであってもよい。ルートノードは、最初の
の集合が
であってテーブル
が設定されていないような
および
である。
これは図14に示されている。
アルゴリズムのwhileループにおけるデータ構造の連続的な状態が図15に示されている。
なお、ステップ4は、好ましくは、ランダムなパラメータのルートノード
に対して、制約のルートノード
を選択する。同様に、ステップ5は、好ましくは、ランダムなパラメータのルートノード
または
に対して、トラバースされるパラメータのルートノード
を選択する。これは図16に示されている。
ステップ6の後、すべてのトラバースされるパラメータが順序付けに挿入され得る。最後のステップが、全体の順序付けを完了する。すなわち
となる。
式にすると、図17に示すように、テーブル
において
そして
まで捉えられる。
後に、設計テーブルを作成する際には、この順序付けは次のように解釈されてもよい。
1.パラメータ
を設定する。
2.パラメータ
を設定する。
3.制約
をアクティブ化する。これはパラメータ
および
のそれぞれの範囲を定義する制約である。
4.制約
をアクティブ化する。これはパラメータ
および
のそれぞれの範囲を定義する制約である。
5.パラメータ
を設定する。
6.パラメータ
を設定する。
7.パラメータ
を設定する。
8.制約
をアクティブ化する。これはパラメータ

の範囲を定義する制約である。
9.パラメータ
を設定する。

予想されるように、各パラメータは、その範囲が更新された後に設定され、各制約は、そのすべての条件パラメータが設定された後にアクティブ化される。また、さらに、制約の仕様とルートノード選択の優先順位により、順序付けには、ステップ1からステップ5において、最も左のサブシーケンス
内のすべてのトラバースされるパラメータが関与する。残りの最も右のサブシーケンス
には、すべてのランダムなパラ―メータが関与する。
しかしながら、パラメータ
の範囲は、ステップ3で初めて設定され、ステップ4で再定義されることに留意されたい。パラメータ
の値は、ステップ4において制約
によって設定された範囲に従ってステップ5で設定される。明らかなように、最初の構造
における制約の順序は、パラメータの出力値に影響を与える。実際、図18に示すように、制約
が制約
の前にあるテーブル
を考える。
このような状況において、結果として得られるシーケンスは
であり、これはパラメータ
が、ステップ5において、ステップ4において制約
により定義された範囲に従って設定されることを意味する。この現象は不可避であり、ユーザは順序付けアルゴリズムが予期されるシーケンスを生成するように、テーブル
を編成しなければならない。

設計テーブル生成の例
設計テーブルの生成は、訓練の実行後における、訓練パターンの多様性を決定し、よって、ニューラルネットワークの効率を決定する。アルゴリズムは、オブジェクトの各クラスについて、1つの設計テーブルを生成する。これは、トラバースされるパラメータ値の、取り得るすべての組み合わせをカバーするために構築されている。対照的に、ランダムなパラメータを設定するためには、ランダムな値が選択される。入力は、パラメータ/クラステーブル、制約、および順序付けられたシーケンス
である。アルゴリズム全体は、以下のようであってもよい。
クラス
が与えられるとき、設計テーブル生成アルゴリズムは、すべてのトラバースされるパラメータの値の網羅的なトラバーサルに基づいていてもよい。設計テーブルは、トラバースされるパラメータ値の各組み合わせについて
個の構成で充実され、トラバースされるパラメータ値は当該組み合わせを用いて設定される。次いで、設計テーブルのランダムなパラメータが、それぞれの範囲内でランダムな値を選択することによって設定される。以下において、整数
は、図19に示すように、順序付けにおいて最も右のトラバースされるパラメータの位置である
アルゴリズムは、図20に示すように、深さ優先ツリーのトラバーサルのように構成されてもよい。
図19における「設計テーブルを初期化」のステップでは、各パラメータについて、0ライン1列の設計テーブル
を作成する。便宜上、列はパラメータ名でインデックス付けされている。
という表現は、設計テーブル
のライン数を表し、
が、構成数
におけるパラメータ
の値となる。
図19における「設計テーブルを充実」のステップは、トラバースされるパラメータの組に新しい値が設定される度に起動されてもよい。これは以下のようであってもよい。
次いで、順序付け、制約のアクティブ化、およびランダムサンプリングに従ってランダムなパラメータを設定してもよい。なお、
は、順序付けシーケンスにおける記号の数である。
命令
は、パラメータ
の範囲
内の値をランダムに選択する。
ここで、例を用いてアルゴリズムを説明する。最初の空の設計テーブルは図21に示すようなものであってもよい。ランダムな構成の数は
個であってもよい。
表IV−設計テーブル
トラバースされるパラメータの範囲は、それぞれ、
および
である。さらには、制約
は、
の場合
となることを示している。制約
については後で詳述する。制約
については説明不要である。順序付け
を用いることにより、トラバースされる(実質的な)ツリーは、次のようなものであってもよい。10個の葉ノードを特徴とし、それぞれが制約に準拠するトラバースされるパラメータの値の組み合わせを定義する。
これは図21に示されている。
一番左の葉ノードがアクセスされると、3つの構成が作成されてもよく、ツリーの一番左の枝に従って、トラバースされるパラメータ
が設定され、ランダムなパラメータ
はまだ設定されない。
表IV−設計テーブル
ランダムなパラメータの範囲は
および
である。制約
は、
の場合
であることを示している。
設計テーブルは、サブシーケンス
に従ってランダムに選択されたランダムパラメータを用いて完成させてもよい。例えば、設計テーブルの第1の構成は、以下によって得てもよい。
1.
2.
3.制約
をアクティブ化する。これは、
を設定する。なぜなら
だからである。
4.
よって、
表V−設計テーブル
同じ工程を各構成に繰り返すことにより以下の設計テーブルが得られる。
表VI−設計テーブル
ここで、図22に示すように、次の葉ノードにアクセスする。
3つの新たな構成が設計テーブルに追加されてもよく、トラバースされるパラメータがアクセスされた枝に応じて設定されてもよい。
表VII−設計テーブル
ランダムなパラメータは、順序に従って、適切な範囲内の値をランダムに選択することによって設定してもよい。
表VIII−設計テーブル
この工程は、10番目の葉ノードがアクセスされるまで続いてもよい。結果として生成される設計テーブルは、30個の構成を含む。
テンプレート3DCADモデルの例
テンプレート3DCADモデルは、寸法、パラメータ、公式、および制約を有する立体を含むパラメータ化された3Dモデルである。パラメータの名前は、パラメータ/クラステーブルの名前である。テンプレートモデルは、熟練したユーザによって、パラメータに適切な値を設定することにより任意のクラスの任意のオブジェクトの3Dジオメトリを作成できるように設計される。論理的には、このテンプレートモデルの名前はルートクラス名である。ダッソー・システムズのCATIA(登録商標)システムが、この機能を提供する。
3Dモデル、画像、および訓練パターン
設計テーブルをテンプレートモデルに挿入することにより、3Dモデルの作成が自動化される。実際には、挿入された設計テーブルの行を選択するとアクティブな構成となり、テンプレートモデルのパラメータが構成の値で設定される。ジオメトリを更新することにより、3Dオブジェクトの形状が算出される。ダッソー・システムズのCATIA(登録商標)システムが、この機能を提供する。
図23〜図26は、パラメトリックモデルの定義付けの一例を説明するための図である。
ソファの上位クラスは、カウチのサブクラスを含んでいてもよい。
カウチのクラスを定義することは、6つの値の範囲、すなわち、「no」、「right」、「left」、「right+」、「left+」、および「double」を有し得る「angle_sofa」スタイルパラメータを定義することを含んでいてもよい。これらの値は図23に示されている。スタイルパラメータ「armrest」は、さらに、アームレストの数を提供する異なる値で定義されていてもよく、その範囲は、例えば、{0;1;2;3}である。これらの値は図24に示されている。スタイルパラメータ「base」は、さらにベースの種類を提供してもよく、その範囲は、例えば、4つの値、すなわち、「none」、「armrests」、「round」、および「square」を有する。これらの値の範囲は図25に示されている。カウチクラスは、さらに、寸法パラメータを含んでいてもよい。図26は、寸法パラメータの値が異なる、異なるインスタンスを示している。カウチクラスは、さらに、異なる部材について材料のリストの例を提供するテクスチャパラメータを含んでいてもよい。すべてのパラメータおよびその範囲が宣言されると、パラメータモデルを定義することは、パラメータ値を入力として3Dモデル化オブジェクトを生成する関数を定義することを含んでいてもよい。このような関数を定義する手法は、上で定義したパラメータに鑑みると、容易である。工程は、オプションとして、パラメータ間に制約を定義することを含んでいてもよい。
他の家具クラスも同様の手法で定義してもよい。表IXは、異なる家具クラスについてパラメータを提供し、これにより、これらのクラスについて効率的に多様なデータセットを作成することが可能になる。スタイルパラメータは、トラバースされるようにラベル付けされてもよい。寸法およびテクスチャパラメータはランダム化(例えばランダム化されるようにラベル付け)されていてもよい。
表IX−異なる家具クラスのパラメータ

Claims (14)

  1. 関数を学習するように構成されたデータセットを形成するための、コンピュータによって実施される方法であって、前記関数は、現実の物体の1つまたは複数のクラスのインスタンスの画像を入力とし、前記方法は、各クラスについて、
    当該クラスのパラメトリックモデルを提供することであって、前記パラメトリックモデルは各パラメータの集合についての範囲の集合を含み、前記パラメトリックモデルは前記範囲の集合内に提供される各値の集合により、クラスの各インスタンスを表す各3Dモデル化オブジェクトを生成するように構成されるような、提供することと、
    パラメトリックモデルにより複数の3Dモデル化オブジェクトを生成することであって、前記範囲の集合のうちの1つまたは複数をトラバースすることを含む、生成することと、
    前記複数の3Dモデル化オブジェクトのそれぞれについて、1つまたは複数の対応する画像をデータセットに追加することと
    を含むことを特徴とする方法。
  2. 請求項1に記載の方法であって、前記パラメータの集合は、1つまたは複数の特性パラメータを含むことを特徴とする方法。
  3. 請求項2に記載の方法であって、前記トラバースされる範囲の集合のうちの1つまたは複数は、それぞれ、特性パラメータのものであることを特徴とする方法。
  4. 請求項3に記載の方法であって、範囲がトラバースされる前記1つまたは複数の特性パラメータは、スタイルパラメータを含むことを特徴とする方法。
  5. 請求項2〜4のいずれか1つに記載の方法であって、前記1つまたは複数の特性パラメータは、さらに、1つまたは複数の次元パラメータを含み、前記生成することは、前記1つまたは複数の次元パラメータの範囲をサンプリングすることを含むことを特徴とする方法。
  6. 請求項1〜5のいずれか1つに記載の方法であって、前記生成することは、前記範囲の集合のうち他の1つまたは複数をランダム化することを含むことを特徴とする方法。
  7. 請求項6に記載の方法であって、前記ランダム化は、ランダム化されていない範囲の集合のうちの1つまたは複数の集合における値の各組み合わせについて、ランダム化された範囲に対するランダムな値の組み合わせを、クラスについて所定の個数提供することを含むことを特徴とする方法。
  8. 請求項1〜7のいずれか1つに記載の方法であって、前記パラメトリックモデルは、さらに、各パラメータを互いにリンクさせる1つまたは複数の制約をさらに含むことを特徴する方法。
  9. 請求項8に記載の方法であって、前記生成することは、トラバースされる前記範囲の集合のうちの前記1つまたは複数について優先順位を与える前記パラメータの集合に対して定義され、かつ、前記1つまたは複数の制約に基づく、順序付けにしたがって行われることを特徴とする方法。
  10. 請求項1〜9のいずれか1つに記載の方法にしたがってデータセットを形成するように構成された、現実の物体のクラスのパラメトリックモデルを定義するための、コンピュータによって実施される方法であって、前記パラメトリックモデルは、各パラメータの集合についての範囲の集合を含み、前記パラメトリックモデルは、前記範囲の集合内に提供される各値の集合により、クラスの各インスタンスを表す各3Dモデル化オブジェクトを生成するように構成されており、前記方法は、
    前記パラメータの集合と、各パラメータについての範囲とを、定義することと、
    前記データセットを形成する際にトラバースされるように1つまたは複数の範囲にラベル付けすることと
    を含むことを特徴とする方法。
  11. 請求項10に記載の方法であって、さらに、それぞれが各パラメータを互いにリンク付けする、1つまたは複数の制約を定義することと、オプションで、トラバースされ、かつ、前記1つまたは複数の制約に基づく、前記範囲の集合のうちの、前記1つまたは複数について優先順位を付ける前記パラメータの集合に対して、順序を定義することを含むことを特徴とする方法。
  12. データ構造であって、
    請求項1〜9のいずれか1つに記載の方法を実行するための命令を含むコンピュータプログラムと、
    請求項10または11に記載の方法を実行するための命令を含むコンピュータプログラムと、
    請求項1〜9のいずれか1つに記載の方法によって形成可能なデータセット、および/または、
    請求項10または11に記載の方法によって定義可能なパラメトリックモデルと
    を含むことを特徴とするデータ構造。
  13. 請求項12に記載のデータ構造を記憶したコンピュータ読み取り可能媒体を備える装置。
  14. 請求項13に記載の装置であって、前記装置は、前記コンピュータ読み取り可能媒体に接続されたプロセッサをさらに備えることを特徴とする装置。
JP2018114621A 2017-06-16 2018-06-15 画像を入力とする関数を学習するためのデータセット Active JP7343963B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023020145A JP2023071722A (ja) 2017-06-16 2023-02-13 画像を入力とする関数を学習するためのデータセット

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP17305738.1 2017-06-16
EP17305738.1A EP3416103A1 (en) 2017-06-16 2017-06-16 Dataset for learning a function taking images as inputs

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023020145A Division JP2023071722A (ja) 2017-06-16 2023-02-13 画像を入力とする関数を学習するためのデータセット

Publications (2)

Publication Number Publication Date
JP2019032820A true JP2019032820A (ja) 2019-02-28
JP7343963B2 JP7343963B2 (ja) 2023-09-13

Family

ID=59227675

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2018114621A Active JP7343963B2 (ja) 2017-06-16 2018-06-15 画像を入力とする関数を学習するためのデータセット
JP2023020145A Withdrawn JP2023071722A (ja) 2017-06-16 2023-02-13 画像を入力とする関数を学習するためのデータセット

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023020145A Withdrawn JP2023071722A (ja) 2017-06-16 2023-02-13 画像を入力とする関数を学習するためのデータセット

Country Status (4)

Country Link
US (1) US10984317B2 (ja)
EP (1) EP3416103A1 (ja)
JP (2) JP7343963B2 (ja)
CN (1) CN109145352B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022027395A (ja) * 2020-07-31 2022-02-10 株式会社アイエンター 姿勢推定学習システム、姿勢推定学習方法及び機械学習用データの作成プログラム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11348032B1 (en) * 2018-09-02 2022-05-31 Meta Platforms, Inc. Automated generation of machine learning models
EP3671660A1 (en) * 2018-12-20 2020-06-24 Dassault Systèmes Designing a 3d modeled object via user-interaction
EP3675061A1 (en) * 2018-12-29 2020-07-01 Dassault Systèmes Forming a dataset for inference of editable feature trees
EP3674870A1 (en) * 2018-12-29 2020-07-01 Dassault Systèmes Learning a neural network for inference of editable feature trees
CN110096674B (zh) * 2019-04-29 2022-10-18 电子科技大学 一种基于参数依赖的仪器参数校正方法
JP7313942B2 (ja) * 2019-07-17 2023-07-25 株式会社エビデント 評価支援方法、評価支援システム、プログラム
CN113222307A (zh) * 2020-01-21 2021-08-06 厦门邑通软件科技有限公司 一种生成操作行为记录集的仿真方法、系统和设备
US11961052B2 (en) * 2020-12-15 2024-04-16 Caterpillar Inc. Systems and methods for wear assessment and part replacement timing optimization
US11886541B2 (en) * 2021-11-17 2024-01-30 Ford Motor Company Systems and methods for generating synthetic images of a training database

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009093611A (ja) * 2007-10-11 2009-04-30 Mwtec Software Gmbh 三次元オブジェクト認識のためのシステムおよび方法
JP2012008685A (ja) * 2010-06-23 2012-01-12 Yamatake Corp 3次元データ生成装置、生成方法およびプログラム
JP2012173812A (ja) * 2011-02-17 2012-09-10 Secom Co Ltd 顔画像処理装置
JP2012532382A (ja) * 2009-07-01 2012-12-13 本田技研工業株式会社 3次元モデルを使用した物体認識
JP2014123662A (ja) * 2012-12-21 2014-07-03 Kyocera Corp 太陽電池および太陽電池モジュール

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102859528A (zh) * 2010-05-19 2013-01-02 加利福尼亚大学董事会 使用生物网络识别药物靶点的系统和方法
EP2990970A1 (en) * 2014-08-26 2016-03-02 Dassault Systèmes Execution of sequential update
EP3163536B1 (en) * 2015-10-30 2021-12-08 Dassault Systèmes Compression of a three-dimensional modeled object
US11664125B2 (en) * 2016-05-12 2023-05-30 Siemens Healthcare Gmbh System and method for deep learning based cardiac electrophysiology model personalization
JP7011146B2 (ja) * 2017-03-27 2022-01-26 富士通株式会社 画像処理装置、画像処理方法、画像処理プログラム、及び教師データ生成方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009093611A (ja) * 2007-10-11 2009-04-30 Mwtec Software Gmbh 三次元オブジェクト認識のためのシステムおよび方法
JP2012532382A (ja) * 2009-07-01 2012-12-13 本田技研工業株式会社 3次元モデルを使用した物体認識
JP2012008685A (ja) * 2010-06-23 2012-01-12 Yamatake Corp 3次元データ生成装置、生成方法およびプログラム
JP2012173812A (ja) * 2011-02-17 2012-09-10 Secom Co Ltd 顔画像処理装置
JP2014123662A (ja) * 2012-12-21 2014-07-03 Kyocera Corp 太陽電池および太陽電池モジュール

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
HANG SU ET AL.: ""Multi-view Convolutional Neural Networks for 3D Shape Recognition"", 2015 IEEE INTERNATIONAL CONFERENCE ON COMPUTER VISION (ICCV), JPN6022021754, 7 December 2015 (2015-12-07), US, pages 945 - 953, XP032866419, ISSN: 0004785785, DOI: 10.1109/ICCV.2015.114 *
RODRIGO ORTIZ-CAYON ET AL.: ""Automatic 3D Car Model Alignment for Mixed Image-Based Rendering"", 2016 FOURTH INTERNATIONAL CONFERENCE ON 3D VISION (3DV), JPN6022021753, 25 October 2016 (2016-10-25), US, pages 286 - 295, XP033027635, ISSN: 0004785784, DOI: 10.1109/3DV.2016.37 *
XINGCHAO PENG ET AL.: ""Learning Deep Object Detectors from 3D Models"", 2015 IEEE INTERNATIONAL CONFERENCE ON COMPUTER VISION (ICCV), JPN6022021756, 7 December 2015 (2015-12-07), US, pages 1278 - 1286, XP032866456, ISSN: 0004785787, DOI: 10.1109/ICCV.2015.151 *
YUMENG WANG ET AL.: ""Viewpoint Estimation for Objects with Convolutional Neural Network Trained on Synthetic Images"", ADVANCES IN MULTIMEDIA INFORMATION PROCESSING - PCM 2016, vol. pp.169-179, JPN6022021755, 27 November 2016 (2016-11-27), DE, ISSN: 0004785786 *
手塚 将来、外2名: ""教示例の人工的拡張により学習効率を改善した3次元形状類似検索"", 情報処理学会研究報告, vol. 2008, no. 63, JPN6022021757, 30 June 2008 (2008-06-30), JP, pages 1 - 6, ISSN: 0004892162 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022027395A (ja) * 2020-07-31 2022-02-10 株式会社アイエンター 姿勢推定学習システム、姿勢推定学習方法及び機械学習用データの作成プログラム

Also Published As

Publication number Publication date
CN109145352B (zh) 2024-04-26
US10984317B2 (en) 2021-04-20
EP3416103A1 (en) 2018-12-19
JP7343963B2 (ja) 2023-09-13
US20180365565A1 (en) 2018-12-20
CN109145352A (zh) 2019-01-04
JP2023071722A (ja) 2023-05-23

Similar Documents

Publication Publication Date Title
JP7343963B2 (ja) 画像を入力とする関数を学習するためのデータセット
JP7464387B2 (ja) 3dモデル化オブジェクト推定のための機械学習
JP7388811B2 (ja) オートエンコーダの学習
CN108228987B (zh) 副本选择
US10922882B2 (en) Terrain generation system
JP7049807B2 (ja) パラメトリックビュー関数に基づくデータベースの照会
CN107067473A (zh) 对3d建模对象进行重构
CN111382541A (zh) 神经网络的集合
JP2022036024A (ja) パラメータ化された3dモデルを出力するニューラルネットワーク
JP7294788B2 (ja) 3d配置のタイプに応じた2d画像の分類
EP3038060A1 (en) 3D modeled object defined by a grid of control points
JP2020115340A (ja) 弱型定義を用いるモデリング
JP2022036023A (ja) 3dモデルを出力する変分オートエンコーダ
US20150193563A1 (en) Method for creating template of building component, method for creating primitive, and apparatus for modeling building component
JP2023548654A (ja) 履き物デジタルアセットを生成するためのコンピュータアーキテクチャ
JP2021131854A (ja) 変形の基礎学習
JP2017168081A (ja) 記述子を用いた3dオブジェクトの位置特定
CN107066926B (zh) 使用描述符的3d对象定位
GB2540791A (en) Apparatus, methods, computer programs and non-transitory computer-readable storage media for generating a three-dimensional model of an object
Bernard et al. Virtual engineering based on knowledge integration
US8818766B2 (en) Systems and methods providing smart nodes for three-dimensional models
JP2020115341A (ja) 弱型定義を用いるフレキシブルモデリング
JP7491685B2 (ja) ニューラルネットワークのセット
Petse Modeling Virtual Environments 3d Assets from Visual Inputs
JP2021105987A (ja) インタラクティブなオブジェクト選択

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220831

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20221011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230213

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20230213

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20230222

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20230228

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20230310

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20230314

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20230404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230901

R150 Certificate of patent or registration of utility model

Ref document number: 7343963

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150