JP2019003615A - オートエンコーダの学習 - Google Patents

オートエンコーダの学習 Download PDF

Info

Publication number
JP2019003615A
JP2019003615A JP2018083781A JP2018083781A JP2019003615A JP 2019003615 A JP2019003615 A JP 2019003615A JP 2018083781 A JP2018083781 A JP 2018083781A JP 2018083781 A JP2018083781 A JP 2018083781A JP 2019003615 A JP2019003615 A JP 2019003615A
Authority
JP
Japan
Prior art keywords
image
component
encoder
auto
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
JP2018083781A
Other languages
English (en)
Other versions
JP7388811B2 (ja
Inventor
メア イーライ
Mehr Eloi
メア イーライ
ルチ アンドレ
Lieutier Andre
ルチ アンドレ
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 JP2019003615A publication Critical patent/JP2019003615A/ja
Application granted granted Critical
Publication of JP7388811B2 publication Critical patent/JP7388811B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • 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/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24143Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • 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
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/14Transformations for image registration, e.g. adjusting or mapping for alignment of images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/653Three-dimensional objects by matching three-dimensional models, e.g. conformal mapping of Riemann surfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/1916Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19173Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • 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]

Landscapes

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

Abstract

【課題】オートエンコーダを学習するための方法、装置、データ構造及びプログラムを提供する。
【解決手段】方法は、画像のデータセットを提供することを含む。各画像は、それぞれのオブジェクト表現を含む。本方法はまた、データセットに基づいてオートエンコーダを学習することを含む。学習は、再構成損失の最小化を含む。再構成損失は、各画像について距離にペナルティを課す項を含む。ペナルティが課される距離は、各画像にオートエンコーダを適用した結果と、各画像のオブジェクト表現に変換群の少なくとも一部を適用した結果の集合との距離である。
【選択図】図1

Description

本発明は、コンピュータプログラムおよび及びシステムの分野に関し、より具体的には、オートエンコーダを学習するための方法、装置、データ構造、およびプログラムに関する。
オブジェクトの設計、エンジニアリング、製造のため、多数のシステムおよびプログラムが市場に提供されている。CADは、コンピュータ支援設計(Computer−Aided Design)の略語であり、例えば、オブジェクトを設計するためのソフトウェア・ソリューションに関する。CAEは、コンピュータ支援エンジニアリング(Computer−Aided Engineering)の略語であり、例えば、将来の製品の物理的挙動をシミュレーションするためのソフトウェア・ソリューションに関する。CAMは、コンピュータ支援製造(Computer−Aided Manufacturing)の略語であり、例えば、製造工程および動作を定義するためのソフトウェア・ソリューションに関する。このようなコンピュータ支援設計システムにおいて、グラフィカル・ユーザ・インターフェースは、技術の効率に関して、重要な役割を果たす。これらの技術は、製品ライフサイクル管理(Product Lifecycle Management: PLM)システムに組み込むことができる。PLMとは、企業が、拡張エンタープライズの概念全体にわたって、製品データを共有し、共通の工程を適用し、構想に始まり製品寿命の終わりに至る製品開発のための企業知識を活用するのを支援するビジネス戦略を指す。ダッソー・システムズが提供するPLMソリューション(製品名CATIA、ENOVIA、DELMIA)は、製品エンジニアリング知識を体系化するエンジニアリング・ハブ、製造エンジニアリング知識を管理する製造ハブ、およびエンジニアリング・ハブと製造ハブの両方に対するエンタープライズ統合と接続を可能にするエンタープライズ・ハブを提供する。全てのシステムは、製品、工程、リソースを結ぶオープンなオブジェクトモデルを提供し、最適化された製品定義、製造準備、生産およびサービスを推進する、動的な知識ベースの製品作成および意思決定支援を可能にする。
こうした文脈および他の文脈において、機械学習、特にオートエンコーダ、および/または、多様体学習の重要性が増している。
以下の論文が、本分野に関連し、以下で参照されている。
[1]:“Stacked Denoising Autoencoders:Learning Useful Representations in a Deep Network with a Local Denoising Criterion”,P.Vincent,H.Larcohelle,I.Lajoie,Y.Bengio,P.Manzagol,in The Journal of Machine Learning Research,2010.
[2]:“Reducing the Dimensionality of Data with Neural Networks”,G.E.Hinton,R.R.Salakhutdinov,in Science,2006.
[3]:“Generalized Denoising Auto−Encoders as Generative Models”,Y.Bengio,L.Yao,G.Alain,P.Vincent,in Advances in Neural Information Processing Systems,2013.
[4]:“Learning Deep Architectures for AI”,Y.Bengio,in Foundations and Trends in Machine Learning,2009.
[5]:“Extracting and Composing Robust Features with Denoising Autoencoders”,P.Vincent,H.Larochelle,Y.Bengio,P.Manzagol,W.Cohen,A.McCallum,S.Roweis,in International Conference on Machine Learning,2008.
[6]:“Greedy Layer−Wise Training of Deep Networks”,Y.Bengio,P.Lamblin,D.Popovici,H.Larcohelle,B.Scholkopf,J.Platt,T.Hoffman,in Neural Information Processing Systems,2007.
[7]:“Auto−Encoding Variational Bayes”,D.Kingma,M.Welling,in International Conference on Learning Representations,2014.
[8]:“Stochastic Backpropagation and Approximate Inference in Deep Generative Models”,D.Rezende,S.Mohamed,D.Wierstra,in International Conference on Machine Learning,2014.
[9]:“Generative Adversarial Nets”,I.Goodfellow,J.Pouget−Abadie,M.Mirza,B.Xu,D.Warde−Farley,S.Ozair,A.Courville,Y.Bengio,in Advances in Neural Information Processing Systems,2014.
[10]:“A Fast Learning Algorithm for Deep Belief Nets”,G.Hinton,S.Osindero,Y.The,in Neural Computation,2006.
例えば、同じクラスのサンプルを表す画像のデータセット、例えば、椅子の2D画像のデータセット、または自動車の3Dモデルのデータセットが与えられると、オートエンコーダの学習([1,2]で説明)は、このデータセットの元の入力空間と、潜在空間と呼ばれることの多い低次元空間との間の、マッピング(エンコーダ)を学習することを目的とする。さらに、オートエンコーダは、潜在空間から元の入力空間への逆マッピング(デコーダ)も学習する。オートエンコーダの学習の質は、オートエンコーダが入力をエンコードし、次いで、エンコードした入力を、所定の距離に応じて、入力に近い出力にデコードする能力として測定される。
こうした文脈において、オートエンコーダを学習するための改善された解決策が依然として必要とされている。
したがって、コンピュータによって実施される、オートエンコーダを学習するための方法が提供される。本方法は、画像のデータセットを提供することを含む。各画像は、それぞれのオブジェクト表現を含む。本方法はまた、前記データセットに基づいて前記オートエンコーダを学習することを含む。前記学習は、再構成損失の最小化を含む。前記再構成損失は、各画像について距離にペナルティを課す項を含む。前記ペナルティが課される距離は、各画像に前記オートエンコーダを適用した結果と、各画像のオブジェクト表現に変換群の少なくとも一部を適用した結果の集合との距離である。
本方法は、以下のうち1つまたは複数を含んでいてもよい。
・前記オートエンコーダは、変換群の少なくとも一部に関して不変である。
・前記オートエンコーダは、前記変換群の前記少なくとも一部のそれぞれを入力画像のオブジェクト表現に適用するように構成された変換成分と、前記変換成分から得られる結果に適用されるように構成された集約成分と、符号化成分と、復号成分と、を含む。
・前記符号化成分は、前記変換成分の各結果に並列に適用されるように構成されている。
・前記集約成分は、前記符号化成分の結果に適用されるように構成されている。
・前記復号成分は、前記集約成分の結果に適用されるように構成されている。
・前記符号化成分、および/または、前記復号成分は、畳み込みニューラルネットワークを含む。
・前記集約成分が適用されるように構成された対象である第1の成分から得られる結果は、同じサイズのベクトルであり、前記集約成分は、各座標について、前記集約成分が適用されるように構成された対象である前記ベクトルの前記座標の値のうち、最大値に等しい値を有する同じサイズのベクトルを出力する。
・前記画像は表面占有(surface occupancy)3Dモデルであり、前記変換群は平行移動を含む。かつ/あるいは、
・前記オブジェクト表現は、それぞれ、同じオブジェクトクラスのインスタンスの表現であり、前記データセットの各画像は無向フレームを有し、各オブジェクト表現は、前記無向フレーム内で整列(aligned)し、前記変換群は、前記無向フレームにおける1つの整列(alignment)から前記無向フレームにおける別の整列への全ての回転を含む。
さらには、エンコーダ、デコーダ、および/または、本方法により学習可能なオートエンコーダの全体を含む情報が提供される。前記オートエンコーダの全体は、前記オートエンコーダそれ自体からなる。前記オートエンコーダは、画像空間に属する任意の入力を、例えば潜在空間に属するベクトルに符号化するように構成されたエンコーダと、前記潜在空間に属する任意のベクトルを、前記画像空間に属する出力に復号するように構成されたデコーダとを備える。提供されるこのような情報は、任意の方法で用いることができる。
さらには、本方法、および/または、本プロセスを実行するための命令を含むコンピュータプログラムが提供される。
さらには、前記情報、および/または、前記プログラムを含むデータ構造が提供される。
さらには、前記データ構造を記録したコンピュータ読み取り可能な記憶媒体が提供される。
さらには、前記データ構造を記録したコンピュータ読み取り可能なデータ記憶媒体を備える装置が提供される。前記装置は、非一時的なコンピュータ読み取り可能な媒体を構成してもよい。あるいは、前記装置は、前記データ記憶媒体に接続されたプロセッサを備えていてもよい。前記装置は、このように、システムを構成していてもよい。前記システムは、さらに、前記プロセッサに接続されたグラフィカル・ユーザ・インターフェースを備えていてもよい。
本方法の一例のフローチャートを示す。 本システムのグラフィカル・ユーザ・インターフェースの一例を示す。 本システムの一例を示す。 本方法を説明するための図である。 本方法を説明するための図である。 本方法を説明するための図である。
図1は、オートエンコーダを学習するための方法の一例を示す。
そのような学習において古典的であるように、本方法は、画像のデータセットを提供すること(S10)と、当該データセットに基づいてオートエンコーダを学習すること(S20)とを含む。学習は、再構成損失の最小化を含む。最小化は、どのような方法で行ってもよく、正確な最小化、または疑似最小化を構成してもよい。再構成損失は、データセットのそれぞれの画像について、データセットのそれぞれの画像の距離にペナルティを課す項を含むか、またはそれらからなる。距離は、各画像について、同じ距離関数の値であってもよい。
ここで、本方法の場合、各画像は、オブジェクト表現を含む。そして、再構成損失においてペナルティが課される距離は、所与の各画像について、当該所与の画像にオートエンコーダを適用した結果と、当該所与の画像のオブジェクト表現に変換群の少なくとも一部を適用した結果の集合との距離である。距離は、画像タイプの要素と、それぞれ画像タイプのエレメントの集合との、任意の距離であってもよい。距離は、画像距離、すなわち画像タイプの2つの要素間の距離を実現することができる。距離は、例えば、それぞれが、当該所与の画像と、当該所与の画像のオブジェクト表現に変換群の少なくとも一部を適用した結果の集合のうちのそれぞれ1つとの距離である、画像距離の最小値であってもよい。
画像のオブジェクト表現に対し変換を適用することは、結果の画像が同じフォーマットとなるように画像を処理することに相当し、オブジェクト表現は、結果として得られる画像において、変換に応じて修正されている。変換群は、画像のオブジェクト表現に適用可能な任意の演算の集合である。集合は代数群を構成してもよい。変換群、および/または、当該群の少なくとも一部は、データセットの全ての画像について同じ集合であってもよい。変換群は、例えば、1つまたは複数(例えば全て)の平行移動、1つまたは複数(例えば全て)の回転、1つまたは複数(例えば全て)の剛体運動、1つまたは複数(例えば全て)の等長写像、および、1つまたは複数(例えば全て)の伸張またはスケーリング変換、またはそれらの任意の組み合わせのような1つまたは複数の非等長写像変換などを含む、またはそれらからなる、ジオメトリ的変換を含んでいるか、あるいは、それらからなっていてもよい。
このような方法は、オートエンコーダの学習を改善する。
特に、本方法によって学習されたオートエンコーダは、変換群に対するオブジェクト表現の変動性に関して、比較的正確である。実際、各画像に対して、オブジェクト表現の変換に無関係なペナルティ項を(変換群における提供された部分に応じて)用いることによって、学習は、例えば向き付けではなくジオメトリ的再構成のような、再構成の他の側面に集中することができる。再構成損失の特定の距離ペナルティ項のおかげで、学習は、オートエンコーダが、変換群の前記少なくとも一部のうちのいずれか1つに応じて、それぞれの画像のオブジェクト表現を自由に変換できるようなものとなる。言い換えれば、オートエンコーダは、再構成損失の前記項に影響を及ぼすような修正を加えることなく、入力画像において表されたオブジェクトに対し変換群の前記少なくとも一部のうちのいずれか1つを適用することによって各入力画像を修正することが許可されている。このような自由度により、最小化に新たな可能性が提供される。これにより、自由度を提供しない従来技術の再構成損失、例えば再構成損失においてペナルティが課される唯一の距離がデータセットの各画像にオートエンコーダを適用した結果と、その画像そのまま、すなわち何の変換もしていない画像との距離であるような従来技術の再構成損失と比較して、最終的に学習されるオートエンコーダが改善される。
変換群は予め決定されていてもよく、また(上述のように)前記変換群に無関係なオートエンコーダを学習する目的に対応してもよい。このため、本方法によって学習されたオートエンコーダを、「商」オートエンコーダと呼び、再構成損失を「商」損失と呼ぶことがある。
ここで、変換群は有限または無限であってもよい。変換群が有限の場合、全ての変換が最小化に考慮されてもよい(すなわち、群の上記少なくとも一部が、群全体からなる)。全ての場合、および、特に群が無限の場合、その厳密な部分が考慮されてもよい。全ての場合において、上記群の一部は、群からのサンプリング、例えば、定期的なサンプリング(例えば、群に定義された確率尺度、例えば、特に、回転群のようなリー群の場合には、均一な尺度に従ったサンプリング)であってもよい。サンプリングは、比較的、密なサンプリングであってもよい。これにより学習がロバストになる。
本方法において考えられている画像は、例えばシーン上における物理的信号の空間的分布を表すデータ構造であり、例えば、分布は、区分的に連続している。空間的分布は、任意の次元、例えば、2Dまたは3Dであってもよい。空間的分布は、任意の形状であってもよく、例えば不規則または規則的である可能性のあるグリッドを形成し、それによってピクセルを定義してもよい。物理的信号は、任意の信号であってもよく、例えば、色、グレーレベル、深さ、表面または体積占有率であって、画像が、2Dまたは3DのRGB/グレースケール/深度画像、または3D表面/体積占有モデルであってもよい。画像は、設計された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表現の表示は、設計を容易にする(すなわち、設計者が作業を達成するスピードを統計的に速める)。製品の設計は製造工程の一部であるから、これによって当該産業における製造工程が迅速化する。
データセットの3Dモデル化オブジェクトは、CADソフトウェア・ソリューションやCADシステム等を用いた仮想的デザインの完了後に実世界において製造される製品、すなわち(例えば機械)部品や、部品の集合体(あるいは同様に部品の集合体。なぜなら部品の集合体は本方法の観点では一つの部品としてみることができ、また、本方法は集合体における各部品に独立して適用することができるからである)など、より一般的には任意の剛体の集合体(例えば移動機構)などの製品のジオメトリを表現してもよい。CADソフトウェア・ソリューションは、航空宇宙、建築、建設、消費財、ハイテク機器、産業機器、輸送、海洋、および/または海洋石油/ガス生産、または交通を含む、限定されることのない様々な産業分野において製品の設計を可能にする。本方法により設計された3Dモデル化オブジェクトは、このように、地上車両の部品(例えば、自動車および軽トラック機器、レーシングカー、オートバイ、トラックおよびモーター機器、トラック、バス、電車を含む)、航空車両の部品(例えば、航空機体機器、航空宇宙機器、推進機器、防衛製品、航空路線機器、宇宙機器を含む)、海軍車両の部品(例えば、海軍用機器、商業用船舶、オフショア機器、ヨットおよび作業船、船舶用機器を含む)、一般的な機械部品(例えば、工業用製造機械、大型移動機械または機器、設置機器、産業機器製品、加工金属製品、タイヤ製造製品を含む)、または電気機械部品または電子部品(例えば、家電、セキュリティおよび/または制御および/または計装製品、コンピューティングおよび通信機器、半導体、医療装置および設備を含む)、消費者製品(例えば、家具、家庭用および庭用製品、レジャー用品、ファッション用品、耐久消費財小売用品、織物類小売用品を含む)、包装(例えば、食品および飲料およびたばこ、美容およびパーソナルケア、家庭用製品包装を含む)などのように、任意の機械部品であり得る工業製品を表してもよい。
データセットは、画像を含み、あるいはそれらからなり、オブジェクト表現は、それぞれ、同じオブジェクトクラスのインスタンスの表現である。「オブジェクトクラス」という表現は、画像としてインスタンス化が可能なエンティティ(すなわちオブジェクト)の任意のクラスを指す。オブジェクトクラスのオブジェクト、言い換えれば、クラスのインスタンスが、画像として表現されている場合、オブジェクトクラスが画像としてインスタンス化されていると言う。
本方法によって提供されるデータセットは、同じクラスの非整列オブジェクト表現を有する画像が含まれていてもよい。データセットは、学習に直接(すなわち、そのまま)入力されてもよい。言い換えれば、本方法は、オブジェクト表現を整列させるための前処理を排除してもよい。また、オートエンコーダは、同じクラスのオブジェクト表現を有する画像が入力されたとき(画像は、整列されて、あるいは全て整列はされずに入力される)、全ての出力を、整列させるか、あるいは実質的に整列させるように構成されていてもよい。
本方法において考えられているフレーム(または「基準フレーム」または「基礎」)は、直交フレーム(すなわち、3つの直交方向を定義する)であってもよい。この方法において考えられているフレームは、原点を有していてもよいし、あるいは原点を有していなくてもよい。本方法おいて考えられているフレームは、有向であっても無向であってもよい。
画像は、原点、および/または、向きを有する、フレームを有していてもよい。画像のフレームは、例えば本方法によって、画像をどのように処理するかを決定する。2D矩形画像は例えば(x,y)フレームを有し、3D画像は例えば(x,y,z)フレームを有する。画像は、フレーム、または当該フレームを間接的に定義する向きを有していてもよく、それによって決定することができる。画像のフレームと画像との関係(すなわち、相対的な位置決め)は、データセットの全ての画像について同じであってもよい。
クラスの各オブジェクトは、(例えば、一意、かつ/または、自然な)無向フレーム、を有していてもよく、よって、自然な無向フレームの異なる向きに対応するいくつかの自然な有向フレームを有することができる。言い換えれば、クラスは、そのような、所定の無向および/または有向フレームによって定義することができる。例えば、車のクラス、あるいは椅子のクラスは、自然な有向フレームを有し、z軸は上下方向に対応し、x軸はオブジェクト上、またはその内部に座ったときの左右方向に対応し、y軸は、オブジェクト上、またはその内部に座ったときの前後方向に対応する。画像内のオブジェクト表現のフレームは仮想フレームを指し、オブジェクトのフレームが画像内でどのように表現されるかに対応する。
画像のオブジェクト表現は、オブジェクト表現の無向フレームが画像の無向フレームと等しい場合、画像の無向フレームと整列していると言うことができる。異なる画像のオブジェクト表現は、画像の有向フレームが整列しているとき、オブジェクト表現の有向フレームも整列している場合、整列していると言うことができる。
一般に、任意の学習を、非整列モデルに対して行うことができる。しかし、モデルが単独で回転変動性を学習できるようにするために専用のデータを必要とするため、従来技術では、速度と品質の点で、学習のパフォーマンスが低下する。さらに、従来技術では、オートエンコーダの所与のアーキテクチャに対して、固有の形状に加えて回転の概念を符号化しなければならないため、潜在的なベクトルは、モデルが整列していないとき、それらのジオメトリ的形状をあまり表現できない。
本方法とは異なる解決策として、データセットを前処理して画像を同時整列(co−align)させることが考えられる。それについて、ここで、以下の論文を参照して説明する。
[11]:“Alignment of 3D models”,M.Chaouch,A.Verroust−Blondet,in International Conference on Shape Modeling and Applications,2008.
[12]:“Autocorrelation Descriptor for Efficient Co‐Alignment of 3D Shape Collections”,M.Averkiou,V.Kim,N.Mitra,in Computer Graphics Forum,2016.
[13]:“Co−registration of Surfaces by 3D Least Squares Matching”,D.Akca,in Photogrammetric Engineering and Remote Sensing,2010.
[14]:“Registration of 3D Point Clouds and Meshes:A Survey From Rigid to Non−Rigid”,G.Tam,Z.Cheng,Y.Lai,F.Langbein,Y.Liu,A.David Marshall,R.Martin,X.Sun,P.Rosin,in IEEE Transactions on Visualization and Computer Graphics,2013.
[15]:“A Segmentation Transfer Approach for Rigid Models”,E.Elghoul,A.Verroust−Blondet,M.Chaouch,in Journal of Information Science and Engineering,2015.
[16]:“Consistent Segmentation of 3D Models”,A.Golovinskiy,T.Funkhouser,in Computer and Graphics,2009.
[17]:“Joint Shape Segmentation with Linear Programming”,Q.Huang,V.Koltun,L.Guibas,in SIGGRAPH Asia,2011.
[18]:“Active Co−Analysis of a Set of Shapes”,Y.Wang,S.Asafi,O.Van Kaick,H.Zhang,D.Cohen−Or,B.Chen,in SIGGRAPH Asia,2012.
[19]:“Learning Part−based Templates from Large Collections of 3D Shapes”,V.Kim,W.Li,N.Mitra,S.Chaudhuri,S.DiVerdi,T.Funkhouser,in SIGGRAPH,2013.
同時整列(co−alignment)は、同じフレーム内で画像(例えば、3Dモデル)のデータセットを整列させることからなる。同時整列は、固定的位置合わせ(rigid co−registration)と呼ばれることがある。3Dモデルを同時整列させるための多くの技術が存在し、それらは時に対称性と相関分析に基づき[11,12]、時に連続エネルギーの最小化に基づく[13,14]。同時セグメント化は、3Dモデルの各セグメントが、他のモデルのそれぞれにおいて、対応するセグメントを有するように、3Dモデルのデータセットをセグメント化することからなる。この問題に取り組むために、例えば、グラフクラスタリングを用いたり[16]、線形プログラミングを用いたりするなど[17]、多くの方法が開発されている。同時整列および同時セグメント化は[15,19]で行われているように、同時分析フレームワークにおいて同時に実行することもできる。
しかし、既存の方法には多くの欠点がある。あるものは手動での監視を必要とし[18]、形について変動性が低いものもある。また正確な特徴量を算出するのに非常にクリーンなメッシュも必要とする方法もある。また、いくつかの方法は、1つの基準メッシュに関して各要素のペアワイズマッチングを行うことにより、全てのデータセットの整列について算出するが、データセット全体を一度に活用して一貫したフレームを算出することができない。さらには、データセットを整列させたときに、新しい3Dモデルを同時整列させる高速な方法はない。最後に、何らかのエラーが発生した場合、畳み込み学習では、可能性のある全ての回転についてデータの拡大を伴いつつ、学習することなしには、整列における誤りを訂正することができない。同様の欠点が、同時セグメント化法にも当てはまる。
本方法では、オブジェクト表現を整列させるためのそのようなあらゆる前処理を排除することができるので、本方法は上記欠点を示さない。
本方法によって学習したオートエンコーダは、例えば、元の空間で現実的な非線形補間を行い、データ内の有意な特徴を抽出し、かつ/またはデータをコンパクトな表現に圧縮するために、任意のアプリケーションで用いることができる。
本オートエンコーダは、2つのフィードフォワード・ディープ・ニューラル・ネットワーク([4])を合成したものを含んでいてもよく、これらは、重みWおよびW´でパラメータ化した
および
で表すことができる。ここで、
であり、pは潜在空間の次元、mは元の入力空間の次元である。fWはエンコーダ、gはデコーダと呼ばれる。z=f(x)は、潜在(または隠れ)ベクトルと呼ばれる。
を画像の入力データセットとし、ここでnはサンプルの数である。
従来技術の学習方法では、再構成損失
を最適化してオートエンコーダ
を学習できる。ここで
は入力サンプルと再構成されたサンプルとをオートエンコーダによって比較した距離であり、例えば、
は、L2ノルムとすることができる。本方法は、この原則に従って実行されるが、上述したように、また以下でさらに詳述するように、再構成損失に関わるペナルティ項の定義が異なる。
例では、各サンプルxi+ηにランダムノイズを適用し、オートエンコーダをトレーニングしてクリーンバージョンxiを再構成することにより、学習プロセスをよりロバストにすることができる。そのような場合、本方法で学習したこのバージョンのオートエンコーダを、「ノイズ除去オートエンコーダ」と呼ぶことがある([5]で説明)。
例では、本方法は、[6]で説明されているように、貪欲かつ層ごとの方法で(greedy layer−wise fashion)、アーキテクチャを事前にトレーニングしてもよく、これは「積層オートエンコーダ」と呼ばれるバージョンである。
Wとgに対し、多くのアーキテクチャを用いることができる。画像や3D形状など、空間的に構造化されたデータに対しては、畳み込みニューラルネットワーク(CNN)が非常に強力であることが証明されており、実装可能である。
データの次元性を低下させるエンコーダfについては、特に問題はない。しかし、本方法では、畳み込みデコーダgも構築する。そのための簡単な方法は、以下の通りである。中間空間表現Iについては、本方法は、信号Iをアップサンプリングし(アップ・プーリングと呼ばれることもある工程)、次いで、それに対して古典的な畳み込みを適用してもよい。この動作は、「アップ・コンボリューション」あるいは「転置畳み込み」と呼ばれることがある。
例では、本方法によって学習したオートエンコーダは、生成モデルを形成してもよい([3]で説明)。生成モデルは、データの分布を学習する確率モデルである。このように、オートエンコーダは、学習したデータ分布をサンプリングすることによって、データセットから学習した内容に基づいて、新たな現実的モデルあるいは画像を合成するのに用いることもできる。
そのため、オートエンコーダは、例えば、変分オートエンコーダを形成してもよい([7,8]で説明)。[3]と比較すると、変分オートエンコーダにおけるサンプリング工程は、より効率的である。変分オートエンコーダモデルのエンコーダを
デコーダモデルを
とし、ここでzは潜在ベクトルである。変分オートエンコーダは、p(z)に対し事前分布を行い(imposes a prior)、次いで、p(x)の尤度を最大化するため、
を可能な限り
に近づけようとする。
本方法は、ガウスモデルを用いてもよく、したがって、変分オートエンコーダは、深層潜在ガウスモデル(deep latent Gaussian model)に類似している。実際、変分オートエンコーダで最適化する最終的な損失は、オートエンコーダの伝統的な再構成損失と、

に近づける潜在空間上の正規化項(潜在損失と呼ばれる)である。
したがって、本方法によって学習したオートエンコーダは、従来のオートエンコーダ、または変分オートエンコーダを形成してもよい。
あるいは、本方法は、Generative Adversarial Network([9]で説明)、またはDeep Belief Network([10]で説明)のような、他の任意の生成モデルを形成してもよい。
「コンピュータにより実施される」とは、すなわち、ステップ(あるいは略全てのステップ)が少なくとも1つのコンピュータ、または類似の任意のシステムによって実行されることを意味する。よってステップは、コンピュータにより、完全に自動的に、あるいは半自動的に実行される可能性がある。例えば、少なくともいくつかのステップは、ユーザとコンピュータの対話を通じて始動されてもよい。求められるユーザとコンピュータの対話レベルは、想定される自動性のレベルに応じたものであって、ユーザの要望を実装する必要性との間でバランスをとるものとしてもよい。例えば、このレベルは、ユーザが設定し、かつ/あるいは、予め定義されていてもよい。
方法のコンピュータによる実施の典型的な例は、この目的に適したシステムを用いて本方法を実行することである。当該システムは、本方法を実行するための命令を含むコンピュータプログラムを記録したメモリに接続されたプロセッサ、および、グラフィカル・ユーザ・インターフェース(GUI)を備えていてもよい。メモリは、データベースを記憶していてもよい。メモリは、そのような記憶に適した任意のハードウェアであり、場合により、物理的に区別可能ないくつかの部分(例えば、プログラム用に1つ、場合によりデータベース用に1つ)を含む。
図2は本システムのGUIの一例を示し、本システムは、本方法を起動する前に、3Dモデル化オブジェクト2000である画像を設計し、かつ/あるいは、その画像をデータセットに追加し、かつ/あるいは、そのような画像を、本方法によって学習したオートエンコーダによって出力された再構成体として表示し、またはオートエンコーダまたはその一部をその画像に適用する前の画像を表示するのに用いることができるCADシステムである。
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を含んでいてもよい。カーソル制御装置は、ユーザがディスプレイ1080上の任意の所望の位置にカーソルを選択的に位置させることを可能にするために、クライアントコンピュータ内で使用される。さらに、カーソル制御装置は、ユーザが様々なコマンドを選択し、制御信号を入力することを可能にする。カーソル制御装置は、システムに制御信号を入力するための多数の信号生成装置を含む。典型的には、カーソル制御装置はマウスであってもよく、マウスのボタンは信号を生成するために使用される。あるいは、または追加的に、クライアントコンピュータシステムは、感知パッドおよび/または感知スクリーンを備えてもよい。
コンピュータプログラムは、コンピュータによって実行可能な命令を含んでいてもよく、命令は、上記システムに本方法を実行させるための手段を含む。プログラムは、システムのメモリを含む任意のデータ記憶媒体に記録可能であってもよい。プログラムは、例えば、デジタル電子回路、またはコンピュータハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせで実装されてもよい。プログラムは、例えばプログラマブルプロセッサによる実行のための機械読み取り可能な記憶装置に具体的に実現された製品のような装置として実装されてもよい。方法ステップは、プログラム可能なプロセッサが命令のプログラムを実行し、入力データを操作して出力を生成することによって方法の機能を実行することによって実行されてもよい。したがって、プロセッサは、データ記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、また、それらにデータおよび命令を送信するようにプログラム可能であってもよく、またそのように接続されていてもよい。アプリケーションプログラムは、高水準の手続き型またはオブジェクト指向のプログラミング言語で、または必要に応じてアセンブリ言語または機械語で実装されていてもよい。いずれの場合も、言語はコンパイラ型言語またはインタープリタ型言語であってもよい。プログラムは、フルインストールプログラムまたは更新プログラムであってもよい。いずれの場合も、プログラムをシステムに適用すると、本方法を実行するための命令が得られる。
ここで、本方法について、特に簡単で効率的な異なる例を参照して、さらに詳細に説明する。これらの例において、参照される画像は3Dモデルである。しかしながら、以下の説明は、任意のタイプの画像に当てはまる。また、以下の説明は、非変分オートエンコーダに着目しているが、すでに指摘したように、変分オートエンコーダに拡張するのは簡単である。なぜなら、損失に正則化項を追加し、単一の3Dモデルの代わりにガウス分布のパラメータを出力するためにアーキテクチャを変換するだけでよいからである。
ここで第1の態様の例について説明する。
を、S10で提供され得る3Dモデルのデータセットとする。各3Dモデルは、例えば、ボクセルグリッド内の占有体積または距離フィールドとして表すことができ、これは、
を意味し、ここで、mは、ボクセルの数である。
本方法は、説明のみを目的として図4に示した、32×32×32の入力サイズに適合させた畳み込みオートエンコーダのような、任意の所定のオートエンコーダアーキテクチャに基づいてS20を実行してもよい。
従来技術の設定で最小化するエネルギーは
であってもよく、ここで、ノルムは通常、L2またはL1ノルムである。ここで、学習をより包括的かつロバストにするために、まず、ノルムを包括的メトリック
で置き換えることを考える。ここで、dは、特に3Dモデルが単純(すなわち非表面)占有グリッドまたは距離フィールドである場合には、通常のノルムから帰納することができるが、dはまた、特に3Dモデルが表面占有グリッドである場合、特定の距離関数(ワッサースタイン距離など)でもあり得る。
第1の態様の例の核となるのは、所与の変換群
の動作における距離を除算することである。すなわち、本方法では、上式において、d(x,y)を
で置き換えてもよく、これにより、S20において、以下の商損失が最小化される:
また、本方法では、S20で最小化した商損失に、変換hにペナルティを課す正則化項ρを加えて、最終的な損失を得てもよい。
正規化項は、例えば、変換の程度、または変換の特性(例えば、伸張の程度)にペナルティを課してもよい。
ここで第2の態様の例について説明する。これらの第2の態様の例は、第1の態様の例と組み合わせてもよい。
これらの例において、オートエンコーダは、変換群の少なくとも一部に関して不変である。これは、オートエンコーダが、(変換群の少なくとも一部のいずれか1つに基づいて)画像を修正したものが入力された場合でも、同じ結果を出力することを意味する。オートエンコーダが不変である部分は、再構成損失に関係する距離についてオートエンコーダの適用が考慮される部分と同じであってもよいし、異なっていてもよい。前者の部分は、例えば、後者の部分よりも密度が低く、かつ/あるいは、後者の部分に含まれていてもよい。
そのような場合、学習は、オブジェクト表現の最初の構成に重きを置かないことを認められており、それによって、オートエンコーダがさらに改善されるように、他の側面(グローバル形状など)に集中することができる。
さらに、上記エネルギーを最小化することは、実際には困難である可能性があり、最小化は、悪い極小値に張り付く可能性がある。実際、gは、同じフレーム内の全ての3Dモデルを再構成することができるとき、その能力を、毎回、3Dボリューム内の同じ場所における空間ジオメトリ的特徴を再構成することに専ら費やすことができるため、より優れたデコーダである。それにもかかわらず、潜在ベクトルf(xi)は、xiの最初の向きを依然としてメモリに保持する。なぜなら、例えば2つの入力xとyの向きだけが異なる場合、f(x)とf(y)とが異なる可能性があるためである。よって、本方法は、潜在ベクトルが最初の向きを忘れるようにしてもよい。
そのための具体的な構成は、オートエンコーダが、前記変換群の少なくとも一部のそれぞれを入力画像のオブジェクト表現に適用するように構成されているという事実により定義される変換成分と、第1の成分から得られる(すなわちそこから発生する)結果に適用されるように構成されているという事実により定義される集約成分(例えば集約ビュー・プーリング)とを含むときである。このような構成により、オートエンコーダは最初の構成を忘れることができる。
このような例は、以下のフレームワークを動作させてもよい。従来のオートエンコーダまたは変分オートエンコーダが与えられた場合、フレームワークはエンコーダの最後に集約ビュー・プーリングを追加し、再構成損失に現れるノルムを商損失で置き換えてもよい。したがって、フレームワークは、従来のオートエンコーダまたは変分オートエンコーダを、商オートエンコーダ、すなわち、群の動作によりモデルの商空間内で直接学習を行うオートエンコーダに変換する。例えば、回転群を用いる場合、オートエンコーダは、入力モデルの列とは関係なく、モデルの固有の形状の変動性を学習してもよい。
したがって、本方法は、同時分析技術を用いた3Dデータセットの前処理と、畳み込み学習技術を用いた3D学習との、橋渡しをすることができる。本方法は、整列していない3Dモデルを効率的に学習するために、オートエンコーダまたは変分オートエンコーダの改良を提供し、これらオートエンコーダは、3Dデータ専用であってもよい。本方法は、3Dモデルのより良い表現をもたらし、非同時整列3Dデータセットに対してより効率的である。
本方法は、オートエンコーダの出力を整列させることができるため、3Dデータセット全体を自動的に同時に整列させることもできる。さらに、既存の方法とは異なり、例において、オートエンコーダは、データセットに存在しなかった任意の新しいモデルをリアルタイムで同時に整列させるために適用してもよい。最後に、本フレームワークは、簡単に拡張して、モデルを同時セグメント化したり他のタイプの同時分析を実行したりするようにできる。
ここで、集約成分の例についてさらに説明する。
上記損失は
と書き直すことができ、ここでDqは商距離であり、
は、xiの軌道(群の動作のもとでのxiの等価クラス)であって、すなわち、
である。ここから分かるように、式にxiが介在しているため、このような損失は入力画像の構成に依存する。
この依存性を解消するため、本方法では、ネットワークのエンコーダfに集約ビュー・プーリングのような集約成分を追加することができる。すなわち、オートエンコーダの各入力xについて、本方法では、幾つかの変換
をサンプリングすることにより
を離散化し、変換した全ての入力
を同じネットワークfに渡してもよく、また、各潜在ベクトル
について、本方法では、例えば、各次元における要素ごとの最大値、すなわち
をとることによって、集約潜在ベクトルzを生成してもよい。集約ビュー・プーリングは、より一般的には、次元pのL個の潜在ベクトルに適用される関数であってもよく、これは任意の関数
である可能性があり、ここで
は、置換に対して不変であり、すなわち、任意の
について
であり、また
は、
から
への全射関数であり、また、任意の
について
である。
このような工程を集約ビュー・プーリングと呼ぶ。これにより、潜在ベクトルは、変換群
を法とする形状xを捕捉することが可能になり、局所極小値に対してはるかにロバストになる。すなわち、ここではfは入力xi全体ではなく
のみに依存し、すなわち、
の変換とは関係なく、例えば
が回転群の場合、元のフレームとは関係なく、xiに依存する。
したがって、S20で最小化された再構成損失は、最初の構成とは無関係であってもよく、以下のように書くことができる。
ここでρは任意の正則化項である。
このような再構成損失は、S20において、任意の方法、例えば、確率的勾配降下法やアダム最適化法([20]:“Adam:A Method for Stochastic Optimization”,D.Kingma,J.Ba,in Internation Conference on Learning Representations,2015)などの古典的な確率的方法を用いて最小化してもよい。
ここで、上記の例に沿った、特に良好な結果を提供する具体的なアーキテクチャについて説明する。図5は、椅子の表現を含む入力画像51についてこのアーキテクチャの例を示す。
本アーキテクチャにおいて、符号化成分fwは、変換成分(図示せず)の各結果51〜54に並列に適用されるように構成されている。図に示す例では、画像は3Dモデル化オブジェクトであるが、その2D投影によって表され、変換群
は回転を含む。変換成分は、この例では、画像の2D投影に直交し、その中心にある軸について、0°の回転(すなわち同一)、90°の回転、180°の回転、および270°の回転のうち1つを適用するように構成されている。図には示されていないが、変換成分が適用されるように構成された群
の部分は、より大きくてもよく、これは、図に示されている線に加えて、結果に対応する線を追加することを意味する。
ここで、fwは、各結果51〜54に並列に適用される。言い換えれば、fwは、変換成分によって出力された結果51〜54の数に等しい回数だけインスタンス化される。次いで、fwのすべてのインスタンスの重みが学習(S20)中に共有されてもよい。
fwは、図4の例同様、CNNであり、これにより潜在ベクトルziが得られる。しかしながら、他のタイプのエンコーダを実装することもできる。このアーキテクチャのオートエンコーダは、変換成分から得られた結果、すなわち、図4の例におけるエンコーダfwから出力された潜在ベクトルziに適用されるように構成された、集約ビュー・プーリング60をさらに含む。
ベクトルziは同じサイズであり、本例ではサイズ128である(しかし他の任意のサイズが考えられる)。集約ビュー・プーリング60は、同一サイズ128のベクトルzを出力する。zの各座標lは
に等しい値zlを有している。先に述べたような他の任意の集約成分を実装してもよい。
この時点で、入力画像51における椅子の最初の向きは忘れられている。ある意味では、集約ビュー・プーリング60は、そのような向きを忘れるように構成された決定性ニューロンを有する層として見ることができる。これにより、変換成分によって適用された群
の部分に関してオートエンコーダが不変であり、したがって、学習を他の側面に集中させることが可能になる。
本アーキテクチャのオートエンコーダはさらに、zに適用され、例えば、結果51〜54と同じタイプの画像を出力するように構成された復号成分gを備える。gは、図4の例と同様、CNNである。しかしながら、他のタイプのデコーダを実装することもできる。
ここで、本方法の異なる応用例(場合によってはその組み合わせ)について説明する。これら応用例では、本方法の上記の例のいずれを実装してもよい。
第1の応用例では、画像は表面占有3Dモデルであり、変換群は平行移動を含む。これにより、表面占有3Dモデルの場合の学習において、特に悪い結果をもたらす可能性のある望ましくない小さなシフトに関してロバストなオートエンコーダを得ることができる。
本方法は、例えば同時整列した3Dモデル、例えば椅子のデータセットから始めて、各椅子は表面占有グリッドとしてモデル化してもよい。特に、いくつかのモデルが開いている場合は、それらを単純にボクセル化することができない。解決策は、L2ノルムのような、dの標準ノルムを用いて古典的オートエンコーダを学習することである。しかし、オートエンコーダの出力のわずかなずれは、距離dについて非常に大きな再構成誤差をもたらす。したがって、よりロバストなオートエンコーダを学習するための1つの方法は、27個の小さな平行移動
からなる群の動作で除算したオートエンコーダを適用し、ヌルペナルティρを用いることである。これにより、損失は、再構成されたモデルのずれに対してはるかにロバストになる。
第2の応用例では、オブジェクト表現は、それぞれ、同じオブジェクトクラスのインスタンスの表現である。データセットの各画像は、(例えば1つの)無向フレームを有する。各オブジェクト表現は、無向フレーム内で整列している。このような場合、変換群は、無向フレームにおける1つの整列から無向フレームにおける別の整列への全ての回転を含む。これにより、各画像において整列されているがS10では同じ向きで提供されていないオブジェクトに関して、ロバストなオートエンコーダを得ることができる。そのような場合、ある列から他の列までのすべての回転の群を考慮することによって、オートエンコーダは、オブジェクト表現を再整列させ、それにより、その形状をより正確に学習することが可能になる。
本方法では、例えば、3Dモデル、例えば椅子のデータセットで開始し、各椅子の主軸がそのフレームの軸上に整列するようにしつつ、当該椅子が同一フレーム内で一貫して整列しないようにしてもよい。次いで、本方法では、可能性のある24個の回転を考慮して各モデルを一貫して整列させてもよい。
3Dモデルの同時整列とともに、効率的な学習を実現するために、上記の原則を用いてもよい。本方法では、これら24個の回転からなる群の動作によって除算したオートエンコーダを、ヌルペナルティρと共に適用してもよい。
その場合、
が有限の24個の回転における最小値となり、非常に扱いやすい。もちろん本方法では、学習の前に、最初のデータセット上で、回転した24個のモデル
を予め算出してもよい。
一度オートエンコーダを学習すると、データセットの任意のモデルや、以前には見られなかった任意の新しいモデルを容易に同時整列させることができるようになる。また、本方法では、
を算出してもよく、また、本方法では、入力に対して、変換
を適用してもよい。
図6は、回転群を有する椅子の3Dモデルのデータセットに対する本方法の一実行例を示す。図6は、データセットの12個の画像のデータを示し、第1の列は、データセットの画像(第1または最初の向きのもの)を表現し、第2の列は、椅子を再構成したもの(本方法によって学習したオートエンコーダを適用した後のもの)を表し、第3の列は、変換成分によって得られた向きのうち、再構成したものに最も近い椅子の向きを表す。これらからわかるように、オートエンコーダは、データセットのすべての椅子を整列させる。
本方法の異なる例について説明した。しかし、本方法はそれらに限定されない。ここで、上記説明とは異なる、可能な拡張について説明する。
上述の応用例は、すべての3D回転の群を用いることで、完全に非整列の3Dモデルに拡張することができる。
本方法は、他の変換に適用してもよい。例えば、本方法は、同時整列されたデータセットで動作してもよい。そして、本方法では、3Dモデルを非固定的に整列させることを学習するために、大きな変形に対して高いペナルティ項ρを用いて、3Dモデル上の変形関数を拡張することを考慮してもよい。1つの基準モデルがセグメント化されている場合、本方法は、この非固定的変形によって除算されたオートエンコーダを用いて、セグメントを他の任意のモデルに転送してもよい。
どちらの場合も、変換群
は無限である。本方法はエンコーダへの入力として有限数の変換しか用いないため、このことが集約ビュー・プーリングに問題となることはない。しかしながら、損失の最小化がより複雑になる可能性がある。2つの解決策が可能である。
第1の解決策は、先に説明したように、変換群を離散化することである。
第2の解決策は、
を最小化する変換hを見つけるために、複数の開始点を持つ連続最適化(勾配降下法やニュートン法)を行うことである。
弱い仮定の下では、下限は実際、最小値であり、
に達する。表記を簡略化するため、
をハイパー・パラメータとする。本方法は、
の勾配を算出して損失を最小化可能であってもよく、これには
の導関数を算出する必要がある。実際には、
であり、ここで、
である。よってpのヤコビ行列
は、
のヤコビ行列
を用いてもよい。なぜなら、
が成り立つからである。
の定義上、
である。ここで
とする。いくつかの変数の隠関数定理により、
であり、ここで、
は、固定されたwについてのhに関するqのヤコビ行列であり、
は、固定されたhについてのwに関するqのヤコビ行列である。
このように、本方法は、損失の勾配を算出することができる。
速度が問題である場合には、本方法では、導関数の算出において、
の変化に対するwの変化の影響を無視することもでき、これにより
へと単純化される。

Claims (13)

  1. 各画像がそれぞれのオブジェクト表現を含む、画像のデータセットを提供することと、
    前記データセットに基づいてオートエンコーダ(
    )を学習することであって、前記学習が、再構成損失(
    )の最小化を含み、前記再構成損失が、各画像(xi)について、当該画像(xi)に前記オートエンコーダを適用した結果(
    )と、当該画像(xi)のオブジェクト表現に変換(h)の群(
    )の少なくとも一部を適用した結果(
    )の集合との距離(
    )にペナルティを課す項(
    )を含むような、学習することと
    を含むことを特徴とする、コンピュータによって実施される、オートエンコーダを学習するための方法。
  2. 前記オートエンコーダは、前記変換群の少なくとも一部に関して不変である
    ことを特徴とする請求項1に記載の方法。
  3. 前記オートエンコーダは、前記変換群の前記少なくとも一部のそれぞれを入力画像のオブジェクト表現に適用するように構成された変換成分と、前記変換成分から得られる結果に適用されるように構成された集約成分(60)と、符号化成分(f)と、復号成分(g)とを含む
    ことを特徴とする請求項2に記載の方法。
  4. 前記符号化成分は、前記変換成分の各結果(51〜54)に並列に適用されるように構成されている
    ことを特徴とする請求項3に記載の方法。
  5. 前記集約成分は、前記符号化成分の結果(zi)に適用されるように構成されている
    ことを特徴とする請求項4に記載の方法。
  6. 前記復号成分は、前記集約成分の結果(z)に適用されるように構成されている
    ことを特徴とする請求項3、4、または5に記載の方法。
  7. 前記符号化成分、および/または、前記復号成分は、畳み込みニューラルネットワークを含む
    ことを特徴とする請求項3〜6のいずれか1つに記載の方法。
  8. 前記集約成分が適用されるように構成された対象である第1の成分から得られる結果は、同じサイズのベクトルであり、前記集約成分は、各座標(l)について、前記集約成分が適用されるように構成された対象である前記ベクトルの前記座標の値のうち、最大値(
    )に等しい値(zl)を有する同じサイズのベクトルを出力する
    ことを特徴とする請求項3〜7のいずれか1つに記載の方法。
  9. 前記画像は表面占有3Dモデルであり、前記変換群は平行移動を含む
    ことを特徴とする請求項1〜8のいずれか1つに記載の方法。
  10. 前記オブジェクト表現は、それぞれ、同じオブジェクトクラスのインスタンスの表現であり、前記データセットの各画像は無向フレームを有し、各オブジェクト表現は、前記無向フレーム内で整列し、前記変換群は、前記無向フレームにおける1つの整列から前記無向フレームにおける別の整列へのすべての回転を含む
    ことを特徴とする請求項1〜9のいずれか1つに記載の方法。
  11. エンコーダ、デコーダ、および/または、請求項1〜10のいずれか1つに記載の方法で学習可能なオートエンコーダの全体、および/または、請求項1〜10のいずれか1つに記載の方法を実行するための命令を含むコンピュータプログラムを含む
    ことを特徴とするデータ構造。
  12. 請求項11に記載のデータ構造を記録したデータ記憶媒体を備える装置。
  13. 前記データ記憶媒体に接続されたプロセッサをさらに備えている
    ことを特徴とする請求項12に記載の装置。
JP2018083781A 2017-04-27 2018-04-25 オートエンコーダの学習 Active JP7388811B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP17305475.0 2017-04-27
EP17305475.0A EP3396603B1 (en) 2017-04-27 2017-04-27 Learning an autoencoder

Publications (2)

Publication Number Publication Date
JP2019003615A true JP2019003615A (ja) 2019-01-10
JP7388811B2 JP7388811B2 (ja) 2023-11-29

Family

ID=58709899

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018083781A Active JP7388811B2 (ja) 2017-04-27 2018-04-25 オートエンコーダの学習

Country Status (4)

Country Link
US (2) US10839267B2 (ja)
EP (2) EP3396603B1 (ja)
JP (1) JP7388811B2 (ja)
CN (1) CN108804094B (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020087432A (ja) * 2018-11-20 2020-06-04 ザ・ボーイング・カンパニーThe Boeing Company 人工知能ベースの製造部品設計
JP2020154654A (ja) * 2019-03-19 2020-09-24 富士通株式会社 推定プログラム、推定装置および推定方法
WO2021161823A1 (ja) * 2020-02-14 2021-08-19 住友電気工業株式会社 判定装置、復元モデル生成方法、及びコンピュータプログラム
JP2022015236A (ja) * 2020-07-08 2022-01-21 日本電信電話株式会社 学習装置、学習済みモデルの生成方法および学習プログラム

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3396603B1 (en) 2017-04-27 2019-12-25 Dassault Systèmes Learning an autoencoder
EP3655926A1 (en) * 2017-08-08 2020-05-27 Siemens Aktiengesellschaft Synthetic depth image generation from cad data using generative adversarial neural networks for enhancement
US10650001B2 (en) * 2017-10-05 2020-05-12 Google Llc Disaggregating latent causes for computer system optimization
US10586370B2 (en) 2018-01-08 2020-03-10 Facebook Technologies, Llc Systems and methods for rendering avatars with deep appearance models
US10824909B2 (en) * 2018-05-15 2020-11-03 Toyota Research Institute, Inc. Systems and methods for conditional image translation
EP3671574B1 (en) * 2018-12-19 2024-07-10 Robert Bosch GmbH Device and method to improve the robustness against adversarial examples
EP3671660A1 (en) * 2018-12-20 2020-06-24 Dassault Systèmes Designing a 3d modeled object via user-interaction
EP3674984B1 (en) 2018-12-29 2024-05-15 Dassault Systèmes Set of neural networks
EP3674983B1 (en) 2018-12-29 2024-09-18 Dassault Systèmes Machine-learning for 3d modeled object inference
EP3675061A1 (en) * 2018-12-29 2020-07-01 Dassault Systèmes Forming a dataset for inference of editable feature trees
KR102198461B1 (ko) * 2019-01-15 2021-01-05 연세대학교 산학협력단 편향성이 감소된 분류장치 및 방법
US11443137B2 (en) 2019-07-31 2022-09-13 Rohde & Schwarz Gmbh & Co. Kg Method and apparatus for detecting signal features
US10853728B1 (en) 2019-08-23 2020-12-01 Capital One Services, Llc Automated data ingestion using an autoencoder
CN110648276B (zh) * 2019-09-25 2023-03-31 重庆大学 基于流形映射与字典学习的高维图像数据降维方法
CN115039108A (zh) 2019-10-17 2022-09-09 华为技术有限公司 学习数据密度函数
US11157772B2 (en) * 2019-10-28 2021-10-26 Element Ai Inc. System and method for generating adversarial examples
RU2745445C1 (ru) * 2020-01-27 2021-03-25 Автономная некоммерческая образовательная организация высшего образования "Сколковский институт науки и технологий" Способ генерации трёхмерных облаков точек
WO2021191499A1 (en) * 2020-03-26 2021-09-30 Nokia Technologies Oy A method, an apparatus and a computer program product for video encoding and video decoding
KR102398931B1 (ko) * 2020-05-11 2022-05-17 성균관대학교산학협력단 포인트 오토인코더, 듀얼 오토인코더, 및 이를 이용한 포인트 클라우드의 차원 변환 방법
RU2740683C1 (ru) * 2020-07-23 2021-01-19 Общество с ограниченной ответственностью "Интеллектуальные электроэнергетические системы" Способ перераспределения функций между устройствами автоматики при возникновении неисправностей в автоматизированной системе
US20220215289A1 (en) * 2021-01-06 2022-07-07 Hewlett Packard Enterprise Development Lp Managing data drift and outliers for machine learning models trained for image classification
US11341699B1 (en) 2021-03-09 2022-05-24 Carmax Enterprise Services, Llc Systems and methods for synthetic image generation
CN113610125B (zh) * 2021-07-23 2023-12-22 北京航空航天大学 一种基于编码器-解码器图神经网络的高光谱分类方法
CN116912351B (zh) * 2023-09-12 2023-11-17 四川大学 基于人工智能的颅内结构成像的修正方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003281541A (ja) * 2002-03-20 2003-10-03 Fuji Xerox Co Ltd 認識装置および方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7599847B2 (en) * 2000-06-09 2009-10-06 Airport America Automated internet based interactive travel planning and management system
US8429512B2 (en) * 2008-06-23 2013-04-23 Romat At Tel Aviv University Ltd. Reduced complexity LDPC decoder
US9916538B2 (en) * 2012-09-15 2018-03-13 Z Advanced Computing, Inc. Method and system for feature detection
US9536177B2 (en) * 2013-12-01 2017-01-03 University Of Florida Research Foundation, Inc. Distributive hierarchical model for object recognition in video
US11836746B2 (en) * 2014-12-02 2023-12-05 Fair Isaac Corporation Auto-encoder enhanced self-diagnostic components for model monitoring
US11221990B2 (en) * 2015-04-03 2022-01-11 The Mitre Corporation Ultra-high compression of images based on deep learning
CN105069400B (zh) * 2015-07-16 2018-05-25 北京工业大学 基于栈式稀疏自编码的人脸图像性别识别系统
US10296846B2 (en) * 2015-11-24 2019-05-21 Xerox Corporation Adapted domain specific class means classifier
US10354199B2 (en) * 2015-12-07 2019-07-16 Xerox Corporation Transductive adaptation of classifiers without source data
US9916542B2 (en) * 2016-02-02 2018-03-13 Xerox Corporation Domain adaptation by multi-noising stacked marginalized denoising encoders
CN105868706A (zh) * 2016-03-28 2016-08-17 天津大学 一种基于稀疏自编码的三维模型识别方法
KR101836096B1 (ko) * 2016-12-02 2018-03-12 주식회사 수아랩 이미지 데이터의 상태 판단 방법, 장치 및 컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램
EP3396603B1 (en) * 2017-04-27 2019-12-25 Dassault Systèmes Learning an autoencoder
US10803347B2 (en) * 2017-12-01 2020-10-13 The University Of Chicago Image transformation with a hybrid autoencoder and generative adversarial network machine learning architecture

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003281541A (ja) * 2002-03-20 2003-10-03 Fuji Xerox Co Ltd 認識装置および方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020087432A (ja) * 2018-11-20 2020-06-04 ザ・ボーイング・カンパニーThe Boeing Company 人工知能ベースの製造部品設計
JP7319141B2 (ja) 2018-11-20 2023-08-01 ザ・ボーイング・カンパニー 人工知能ベースの製造部品設計
JP2020154654A (ja) * 2019-03-19 2020-09-24 富士通株式会社 推定プログラム、推定装置および推定方法
JP7205328B2 (ja) 2019-03-19 2023-01-17 富士通株式会社 推定プログラム、推定装置および推定方法
WO2021161823A1 (ja) * 2020-02-14 2021-08-19 住友電気工業株式会社 判定装置、復元モデル生成方法、及びコンピュータプログラム
JP2022015236A (ja) * 2020-07-08 2022-01-21 日本電信電話株式会社 学習装置、学習済みモデルの生成方法および学習プログラム
JP7315929B2 (ja) 2020-07-08 2023-07-27 日本電信電話株式会社 学習装置、学習済みモデルの生成方法および学習プログラム

Also Published As

Publication number Publication date
US20180314917A1 (en) 2018-11-01
EP3599575B1 (en) 2023-05-24
CN108804094A (zh) 2018-11-13
CN108804094B (zh) 2024-04-05
JP7388811B2 (ja) 2023-11-29
US20200285907A1 (en) 2020-09-10
US10839267B2 (en) 2020-11-17
EP3599575A1 (en) 2020-01-29
EP3396603B1 (en) 2019-12-25
EP3396603A1 (en) 2018-10-31
US11468268B2 (en) 2022-10-11

Similar Documents

Publication Publication Date Title
JP7388811B2 (ja) オートエンコーダの学習
JP7464387B2 (ja) 3dモデル化オブジェクト推定のための機械学習
JP7491685B2 (ja) ニューラルネットワークのセット
JP6878011B2 (ja) 3dモデル化オブジェクトの再構築
Groueix et al. A papier-mâché approach to learning 3d surface generation
JP7343963B2 (ja) 画像を入力とする関数を学習するためのデータセット
JP7473335B2 (ja) ソリッドcadフィーチャを推測するためのニューラルネットワークの学習
JP7431028B2 (ja) ユーザインタラクションを介した3dモデルオブジェクトのデサイニング
JP7473336B2 (ja) ソリッドcadフィーチャを推測するためのニューラルネットワークの学習
JP2017130188A (ja) 三次元モデル化オブジェクトの圧縮
JP2018073393A (ja) 深度マップからの現実の物体の3d再構築
Tang et al. Skeletonnet: A topology-preserving solution for learning mesh reconstruction of object surfaces from rgb images
JP2018109948A (ja) パラメトリックビュー関数に基づくデータベースの照会
JP2022036024A (ja) パラメータ化された3dモデルを出力するニューラルネットワーク
JP2022036023A (ja) 3dモデルを出力する変分オートエンコーダ
EP4120203A1 (en) Segmenting a 3d modeled object representing a mechanical assembly
JP2021131854A (ja) 変形の基礎学習
Friedrich et al. On the potential and challenges of neural style transfer for three-dimensional shape data
JP2017168081A (ja) 記述子を用いた3dオブジェクトの位置特定
JP2017162447A (ja) 量子化を用いた3dオブジェクトの位置特定
JP2022119713A (ja) 副次的な3d変形の学習

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210329

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231006

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: 20231024

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231116

R150 Certificate of patent or registration of utility model

Ref document number: 7388811

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150