(57)【要約】      （修正有）【課題】二次元画像から三次元モデル化オブジェクトを認識するための、コンピュータで実施される方法を提供する。【解決手段】三次元モデル化オブジェクトから描画され、各二次元画像がラベルに関連付けられた、第１の二次元画像セットを提供することと、三次元モデル化オブジェクトから描画されておらず、各二次元画像がラベルに関連付けられた、第２の二次元画像セットを提供することと、第１および第２のセットの両方についてモデルのトレーニングを行うことと、類似度計量を提供することと、少なくとも１つのオブジェクトを表す二次元画像を提出することと、トレーニング済みモデルと類似度計量とを用いて提出した二次元画像の少なくとも１つのオブジェクトに類似する三次元オブジェクトを取得することとを含む。【選択図】図７
2017142780.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによって実施される、二次元画像から三次元モデル化オブジェクトを認識するための方法であって、
三次元モデル化オブジェクトから描画され、各二次元画像がラベルに関連付けられた、第１の二次元画像セットを提供すること（Ｓ１５０）と、
三次元モデル化オブジェクトから描画されておらず、各二次元画像がラベルに関連付けられた、第２の二次元画像セットを提供すること（Ｓ１６０）と、
前記第１の二次元画像セットおよび前記第２の二次元画像セットの両方についてモデルのトレーニングを行うこと（Ｓ１７０）と、
類似度計量を提供することと、
少なくとも１つのオブジェクトを表す二次元画像を提出することと、
前記トレーニング済みモデルと前記類似度計量とを用いて提出した二次元画像の前記少なくとも１つのオブジェクトに類似する三次元オブジェクトを取得することと
を含むことを特徴とする方法。
【請求項２】
請求項１に記載の、コンピュータによって実施される方法であって、前記第１の二次元画像セットに係るそれぞれの二次元画像は、三次元オブジェクト上の複数の視点の中から選択された視点から算出されることを特徴とする方法。
【請求項３】
請求項２に記載の、コンピュータによって実施される方法であって、前記三次元オブジェクト上の前記複数の視点は、Ｔｈｏｍｓｏｎ球から得られることを特徴とする方法。
【請求項４】
請求項１〜３のいずれか１つに記載の、コンピュータによって実施される方法であって、さらに、前記モデルのトレーニング後に、
前記第１の二次元画像セットに係る二次元画像のインデックスを、前記第１の二次元画像セットに係る二次元画像のそれぞれについて特徴ベクトルを抽出（Ｓ５００）することによって構築することを含み、特徴ベクトルは前記トレーニング済みモデルを用いて抽出することを特徴とする方法。
【請求項５】
請求項４に記載の、コンピュータによって実施される方法であって、抽出された特徴ベクトルは、二次元画像に対して、前記トレーニング済みモデルのパラメータを連続的に適用することを含むことを特徴とする方法。
【請求項６】
請求項４〜５のいずれか１つに記載の、コンピュータによって実施される方法であって、さらに、
前記提出した二次元画像の特徴ベクトルを抽出することを含むことを特徴とする方法。
【請求項７】
請求項６に記載の、コンピュータによって実施される方法であって、さらに、
前記提出した二次元画像の前記抽出した特徴ベクトルを、前記類似度計量を用いて、前記インデックスが付与された特徴ベクトルと比較することを含むことを特徴とする方法。
【請求項８】
請求項７に記載の、コンピュータによって実施される方法であって、前記比較に用いる前記類似度計量は、決定性計量であることを特徴とする方法。
【請求項９】
請求項７に記載の、コンピュータによって実施される方法であって、前記比較に用いる前記類似度計量は、学習工程で学習した計量であることを特徴とする方法。
【請求項１０】
請求項９に記載の、コンピュータによって実施される方法であって、前記学習工程は、
前記第１の二次元画像セットおよび第２の二次元画像セットの両方について類似性モデルのトレーニングを行うことを含み、前記第１の二次元画像セットに係る二次元画像はそれぞれ前記第２の二次元画像セットに係る二次元画像とペアになっており、前記第１の二次元画像セットおよび前記第２の二次元画像セットの二次元画像に関連づけられた前記ラベルは、少なくとも類似性情報ラベルを含むことを特徴とする方法。
【請求項１１】
請求項９または１０に記載の、コンピュータによって実施される方法であって、前記特徴ベクトルの抽出および前記類似度計量の学習工程は、Ｓｉａｍｅｓｅネットワークを用いて同時に行われること特徴とする方法。
【請求項１２】
請求項１〜１１のいずれか１つに記載の、コンピュータによって実施される方法であって、前記トレーニング済みモデルは、ディープニューラルネットワークにより得られることを特徴とする方法。
【請求項１３】
二次元画像から三次元モデル化オブジェクトを認識するためのコンピュータプログラムであって、請求項１〜１２のいずれか１つに記載の方法を処理回路に実行させる命令を含むことを特徴とするコンピュータプログラム。
【請求項１４】
請求項１３に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記憶媒体。
【請求項１５】
メモリに接続された処理回路を備えるシステムであって、前記メモリは、請求項１３に記載のコンピュータプログラムを記録していることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラムおよびシステムの分野に関し、より詳細には、三次元（３Ｄ）オブジェクトのデータベースにおける３Ｄオブジェクトを、そのオブジェクトを表す画像または写真から取得するための方法、システム、およびプログラムに関する。
【背景技術】
【０００２】
既存の三次元（３Ｄ）オブジェクト取得アプローチは、（ｉ）３Ｄコンテンツ上で直接的に動作するものと、（ｉｉ）「２．５Ｄ」または２Ｄコンテンツ（立体画像、画像の複数のビュー、人工的に描画された３Ｄオブジェクト、シルエットなど）を抽出するものとに分類できる。
【０００３】
取得を行うための入力として２Ｄ画像に基づく「２Ｄから３Ｄへ」の取得フレームワークに注目すると、境界解析を含むいくつかの形状ベースのアプローチが、２Ｄ画像（群）からの３Ｄオブジェクトの取得に応用されている。
【０００４】
例えば、Ｔ．Ｎａｐｏｌｅｏｎ“Ｆｒｏｍ  ２Ｄ  Ｓｉｌｈｏｕｅｔｔｅｓ  ｔｏ  ３Ｄ  Ｏｂｊｅｃｔ  Ｒｅｔｒｉｅｖａｌ：Ｃｏｎｔｒｉｂｕｔｉｏｎｓ  ａｎｄ  Ｂｅｎｃｈｍａｒｋｉｎｇ”，Ｉｎ．ＥＵＲＡＳＩＰ  Ｊｏｕｒｎａｌ  ｏｎ  Ｉｍａｇｅ  ａｎｄ  Ｖｉｄｅｏ  Ｐｒｏｃｅｓｓｉｎｇ（２０１０）では、複数のシルエット画像を用いて３Ｄオブジェクト検索を行っている。クエリは、２Ｄシルエットだけでなく、手書きのスケッチも含んでいる。特に、この文献は、検索の効率化のため、粗から密への動的計画法（ｄｙｎａｍｉｃ  ｐｒｏｇｒａｍｍｉｎｇ）を用いたシルエット／輪郭の整列を含めるというアイデアを導入した。しかしながら、この方法の重大な欠点は、性能が、自動迂回の結果得られる輪郭の品質に左右されやすいということであり、これは依然として大きな課題である。
【０００５】
２Ｄ画像からの３Ｄ取得のもう１つの例として、Ｓｉｇｎａｌ  ＆  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｃｅｓｓｉｎｇ  Ａｓｓｏｃｉａｔｉｏｎ  Ａｎｎｕａｌ  Ｓｕｍｍｉｔ  ａｎｄ  Ｃｏｎｆｅｒｅｎｃｅ（ＡＰＳＩＰＡ  ＡＳＣ）（２０１２）におけるＡｏｎｏほか“３Ｄ  Ｓｈａｐｅ  Ｒｅｔｒｉｅｖａｌ  ｆｒｏｍ  ａ  ２Ｄ  Ｉｍａｇｅ  ａｓ  Ｑｕｅｒｙ”では、合成特徴ベクトルを、単一の２Ｄ画像から３Ｄオブジェクトを取得するためのＺｅｒｎｉｋｅモーメントとＨＯＧ特徴量の組み合わせとして用いている。ＨＯＧ特徴量は、陰影付きの深度バッファ画像から算出され、Ｚｅｒｎｉｋｅモーメントは、シルエット画像から算出される。これらの特徴量は、概形が同一の類似したオブジェクト同士を区別するには不十分である。また、これらは、部分的に閉塞したオブジェクトの場合には、機能しないことがよくある。
【０００６】
その他の「２Ｄから３Ｄへ」のマッチングでは、効率的なオブジェクト検出および／または精密な位置姿勢推定のための３Ｄモデルを利用する。そのために、多数の視点から描画した３Ｄ典型モデルの集合に依存する。描画した画像は、部分テンプレートを学習するのに用いられ、それにより所定の画像内においてオブジェクトを特定し、精密な位置姿勢を推定する。このようなアプローチの主な欠点は、大量の注釈付けや計算を必要とすることである。したがって、これらはスケーラビリティが高くない。有意なモデルを学習するためには、利用可能な各ＣＡＤモデルを、同じＣＡＤモデルを含み、オブジェクト位置姿勢で注釈付けされた、画像のセットに関連付ける必要がある。
【０００７】
２Ｄ画像を用いた３Ｄオブジェクトのデータベースの照会は、ＣＶＰＲ（２０１５）におけるＱ．Ｈｕａｎｇほか“Ｓｉｎｇｌｅ−Ｖｉｅｗ  Ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ  ｖｉａ  Ｊｏｉｎｔ  Ａｎａｌｙｓｉｓ  ｏｆ  Ｉｍａｇｅ  ａｎｄ  Ｓｈａｐｅ  Ｃｏｌｌｅｃｔｉｏｎｓ”において、ウェブ画像に表されたオブジェクトの自動３Ｄ再構成にも使用されている。このアプローチでは、単一の視点からオブジェクトを再構成する。鍵となるアイデアは、異なるオブジェクトの画像の集合を、既存の３Ｄモデルの、より小さな集合と共に分析することである。自然画像と描画画像との間に画素レベルでの密な対応関係が確立される。これらの対応関係は、画像と３Ｄモデルとを共に分割するのに使用される。次に、算出された分割部分および対応関係が、新しいモデルを構築するのに使用される。しかしながら、このような方法は分割の質に左右されやすく、したがって、背景が複雑な画像や、部分的に閉塞したオブジェクトの場合には、機能しない可能性がある。
【０００８】
ゆえに、これらの方法にはいくつかの欠点がある。第一に、入力される画像に制限を課す必要がある。例えば、画像の分割や、画像の自動的な迂回である。また、部分的に閉塞したオブジェクトは、必ずしも取得できない。さらには、これらの方法は、すぐに学習能力の限界に達してしまう学習機械に依存しているため、スケーラビリティが限られている。そのうえ、オブジェクトを取得するために使用される署名の識別能力では、必ずしも関連する３Ｄオブジェクトを識別できない。例えば、これらの方法では、３Ｄモデルにおける２つのオブジェクトを区別するものが何であるかを、それら自体で決定することができない。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
こうした背景において、二次元画像から三次元モデル化オブジェクトを認識するための改良された方法が、依然として求められている。
【課題を解決するための手段】
【００１０】
したがって、二次元画像から三次元モデル化オブジェクトを認識するための、コンピュータで実施される方法が提供される。当該方法は、三次元モデル化オブジェクトから描画され、各二次元画像がラベルに関連付けられた、第１の二次元画像セットを提供することと、三次元モデル化オブジェクトから描画されておらず、各二次元画像がラベルに関連付けられた、第２の二次元画像セットを提供することと、前記第１および第２のセットの両方についてモデルのトレーニングを行うことと、類似度計量を提供することと、少なくとも１つのオブジェクトを表す二次元画像を提出することと、前記トレーニング済みモデルと前記類似度計量とを用いて提出した二次元画像の前記少なくとも１つのオブジェクトに類似する三次元オブジェクトを取得することとを含む。
【００１１】
当該方法は、さらに以下のうちの１つまたは複数を含んでいてもよい。
・前記第１のセットの二次元画像のそれぞれは、三次元オブジェクト上の複数の視点の中から選択された視点から算出される。
・前記三次元オブジェクト上の前記複数の視点は、Ｔｈｏｍｓｏｎ球から得られる。
・前記モデルのトレーニング後に、前記第１のセットの二次元画像のインデックスを、前記第１のセットの二次元画像それぞれについて特徴ベクトルを抽出（Ｓ５００）することによって構築し、特徴ベクトルは前記トレーニング済みモデルを用いて抽出する。
・抽出された特徴ベクトルは、二次元画像に対して、前記トレーニング済みモデルのパラメータを連続的に適用することを含む。
・前記提出した二次元画像の特徴ベクトルを抽出すること。
・前記提出した二次元画像の前記抽出した特徴ベクトルを、前記類似度計量を用いて、前記インデックス付けした特徴ベクトルと比較すること。
・前記比較に用いる前記類似度計量は、決定性計量である。
・前記比較に用いる前記類似度計量は、学習工程で学習した計量である。
・前記学習工程は、前記第１および第２セット両方について類似性モデルのトレーニングを行うことを含み、前記第１セットの二次元画像はそれぞれ前記第２セットの二次元画像とペアになっており、前記第１および第２セットの二次元画像に関連づけられた前記ラベルは、少なくとも類似性情報ラベルを含む。
・前記特徴ベクトルの抽出および前記類似度計量の学習工程は、Ｓｉａｍｅｓｅネットワークを用いて同時に行われる。
・前記トレーニング済みモデルは、ディープニューラルネットワークにより得られる。
【００１２】
さらには、二次元画像から三次元モデル化オブジェクトを認識するためのコンピュータプログラムであって、上記方法を処理回路に実行させる命令を含むことを特徴とするコンピュータプログラムが提供される。
【００１３】
さらには、前記コンピュータプログラムを記録したコンピュータ読み取り可能な記憶媒体が提供される。
【００１４】
さらには、メモリに接続された処理回路を備えるシステムであって、前記メモリが前記コンピュータプログラムを記録していることを特徴とするシステムが提供される。
【図面の簡単な説明】
【００１５】
【図１】モデルのトレーニングの一例についてのフローチャートを示す。
【図２】カメラ位置用のＴｈｏｍｓｏｎ球の一例を示す。
【図３】カメラ位置用のＴｈｏｍｓｏｎ球に基づいて１つの３Ｄオブジェクト用に生成したビューの一例を示す。
【図４】ディープニューラルネットワークアーキテクチャの一例を示す。
【図５】２Ｄ画像のインデックス作成の一例についてのフローチャートを示す。
【図６】オフライン学習およびインデックス作成の一例を示す。
【図７】オブジェクト取得の一例についてのフローチャートを示す。
【図８】オブジェクトのオンライン取得の一例を示す。
【図９】ディープＳｉａｍｅｓｅアーキテクチャの一例を示す。
【図１０】コンピュータシステムの一例を示す。
【発明を実施するための形態】
【００１６】
以下、非限定的な例として、本発明の実施の形態を添付の図面を参照しつつ説明する。
【００１７】
図１、５、および７のフローチャートを参照して、二次元（２Ｄ）画像から三次元（３Ｄ）モデル化オブジェクトを認識するためのコンピュータで実施される方法を提案する。本方法は、第１および第２の２Ｄ画像セットを提供することを含む。第１セットの画像は３Ｄモデル化オブジェクトから描画され、第２セットの画像は３Ｄモデル化オブジェクトから描画されない。第１および第２セットの２Ｄ画像のそれぞれは、あるラベルに関連付けられている。本方法はまた、第１および第２セット両方についてモデルのトレーニングを行うことを含む。モデルは、典型的には、ニューラルネットワークモデルである。本方法はさらに、類似度計量（ｓｉｍｉｌａｒｉｔｙ  ｍｅｔｒｉｃ）を提供することを含む。そして、本方法は、少なくとも１つのオブジェクトを表す２Ｄ画像を提出することを含む。次に、本方法は、予め提出された３Ｄ画像によって表される１つまたは複数のオブジェクトに類似する少なくとも１つの３Ｄオブジェクトを取得することを含む。当該取得は、トレーニング済みモデルおよび類似度計量を用いて実行される。このような方法は、２Ｄ画像からの３Ｄモデル化オブジェクトの識別を改善する。
【００１８】
特に、本発明は、３Ｄモデル化オブジェクトを取得するための入力データ（２Ｄ画像）に適用する上で、何ら特定の制約を要さない。実際、モデルのトレーニングでは、画像コンテンツ分析のための分割を行うことを回避しており、また、分割を用いる方法が直面する閉塞に関する問題を回避している。モデルの識別は、生データに基づくエンドツーエンドの学習から得られるトレーニング済みモデルに依拠するため、本方法は堅牢である。検索されるのは、システムが知っているものである。スケーラビリティもまた改善されている。実際、モデルのトレーニングに用いられるディープニューラルネットワークは、学習能力に関して何ら制限がない（ただし、システムが識別成功率１００％に達したときを除く）。そのうえ、本方法は、３Ｄオブジェクトを用いたディープラーニングの効率的な利用法を提供する。このモデルのトレーニング法により、格納された３Ｄオブジェクトのタイプに適した署名を取得することができる。このように、署名の識別能力は、識別したオブジェクトの関連性を改善するのに用いられる。
【００１９】
本方法は、コンピュータにより実施される。すなわち、本方法のステップ（あるいは実質的にすべてのステップ）は、少なくとも１つのコンピュータ、または類似の任意のシステムによって実行される。このように、本方法のステップは、コンピュータによって、場合により、完全に自動的に、または半自動的に実行することができる。例えば、本方法のステップの少なくともいくつかは、ユーザ・コンピュータ間の相互作用によって起動されてもよい。必要とされるユーザ・コンピュータ間の相互作用のレベルは、見込まれる自動性のレベルに応じたものであってもよく、ユーザの希望を実現する必要性との間でバランスを取ってもよい。例えば、このレベルは、ユーザが設定し、また／あるいは、予め定義されていてもよい。
【００２０】
本方法のコンピュータによる実施の典型的な例は、この目的に適したシステムを用いて本方法を実行することである。当該システムは、メモリに接続したプロセッサを備える。さらに、グラフィカルユーザインタフェース（ＧＵＩ）を備えていてもよい。典型的には、メモリには、本方法を実行するための命令を含むコンピュータプログラムが記録されている。メモリは、データベースを記憶していてもよい。メモリは、そのような記憶に適した任意のハードウェアであり、場合により、物理的に区別可能ないくつかの部分（例えば、プログラム用に１つ、場合によりデータベース用に１つ）を含む。
【００２１】
第１および第２セットの２Ｄ画像は、典型的には、「データベース」に格納されている。データベースとは、検索および取得用に最適化されたデータ（すなわち情報）の任意の集合（例えば所定の構造化言語、例えばＳＱＬに基づく、例えばリレーショナルデータベース）を意味する。データベースは、メモリに格納されると、コンピュータによる迅速な検索および取得を可能にする。データベースは、実際、様々なデータ処理動作と連動して、データの記憶、取得、修正、および検出を容易にするよう構造化されている。データベースは、それぞれ１つまたは複数のフィールドからなるレコードに分割可能な１つのファイルあるいはファイルのセットからなっていてもよい。フィールドは、データ記憶の基本単位である。ユーザは、主としてクエリによってデータを取得してもよい。ユーザは、使用されているデータベース管理システムのルールに従って、キーワードとソートコマンドを用いて、多数のレコードにおけるフィールドを、迅速に、検索、再配置、グループ化、および選択し、特定の集積データに関するレポートを取得または作成することができる。
【００２２】
本方法は、一般に、自然画像およびモデル化オブジェクトから得た合成画像を操作する。モデル化オブジェクトは、例えばデータベースに格納されたデータによって定義される任意のオブジェクトである。さらには、「モデル化オブジェクト」という表現は、データそのものも指す。システムの種類に応じて、異なる種類のデータによってモデル化オブジェクトが定義されてもよい。実際、システムは、ＣＡＤシステム、ＣＡＥシステム、ＣＡＭシステム、ＰＤＭシステム、および／またはＰＬＭシステムのうちの任意のもの（あるいは任意の組み合わせ）であってもよい。それら異なるシステムにおいて、モデル化オブジェクトは、対応するデータによって定義される。したがって、ＣＡＤオブジェクト、ＰＬＭオブジェクト、ＰＤＭオブジェクト、ＣＡＥオブジェクト、ＣＡＭオブジェクト、ＣＡＤデータ、ＰＬＭデータ、ＰＤＭデータ、ＣＡＭデータ、ＣＡＥデータについて言及することがある。しかしながら、モデル化オブジェクトは、これらのシステムの任意の組み合わせに対応するデータによって定義されてもよいため、これらのシステムは、互いに排他的なものではない。したがって、以下に示すこのようなシステムの定義から明らかなように、システムは、ＣＡＤ兼ＰＬＭシステムであってもよい。
【００２３】
ＣＡＤシステムは、少なくとも、ＣＡＴＩＡのようなモデル化オブジェクトのグラフィック表現に基づくモデル化オブジェクトの設計に適した任意のシステムをも意味する。この場合、モデル化オブジェクトを定義するデータは、モデル化オブジェクトを表現可能にするデータを含む。ＣＡＤシステムは、例えば、辺や線を用い、また、場合により面や曲面を用いて、ＣＡＤモデル化オブジェクトの表現を提供してもよい。線、辺、あるいは面は、例えば、非一様有理Ｂスプライン（ＮＵＲＢＳ）など、様々な様式で表現されてもよい。具体的には、ＣＡＤファイルは仕様を含み、その仕様に基づきジオメトリが生成可能であり、よって表現が生成可能となる。モデル化オブジェクトの仕様は１つまたは複数のＣＡＤファイルに格納されていてもよい。ＣＡＤシステムでモデル化オブジェクトを表現するファイルの典型的なサイズは、一部分あたり１メガバイトの範囲である。また、モデル化オブジェクトは、典型的には、数千の部分の集合体であってもよい。
【００２４】
ＣＡＤの文脈において、モデル化オブジェクトは、典型的には、３Ｄモデル化オブジェクト、例えば、一つの部品や部品の集合体などの製品、あるいは製品の集合体を表現するものであってもよい。「３Ｄモデル化オブジェクト」は、３Ｄ表現が可能なデータによってモデル化される任意のオブジェクトを意味する。３Ｄ表現は、その部品をすべての角度から見ることを可能にする。たとえば、３Ｄで表現された３Ｄモデル化オブジェクトは、その軸のうちの任意の軸、あるいは、その表現が表示された画面中の任意の軸を中心に、処理して回転させることが可能である。これは、特に、３Ｄモデル化されていない２Ｄアイコンについては除外される。３Ｄ表現の表示は、設計を容易にする（すなわち、設計者が作業を達成するスピードを統計的に速める）。製品の設計は製造工程の一部であるから、これによって当該産業における製造工程が迅速化する。
【００２５】
３Ｄモデル化オブジェクトは、ＣＡＤソフトウェア・ソリューションやＣＡＤシステム等を用いた仮想的デザインの完了後に実世界において製造される製品、すなわち（例えば機械的な）部品や、部品の集合（あるいは同様に部品の集合。なぜなら部品の集合は本方法の観点では一つの部品としてみることができ、また、本方法は集合体における各部品に独立して適用することができるからである）、より一般的には任意の剛体の集合体（例えば移動機構）などの製品のジオメトリを表現してもよい。ＣＡＤソフトウェア・ソリューションは、航空宇宙、建築、建設、消費財、ハイテク機器、産業機器、輸送、海洋、および／または海洋石油／ガス生産、または交通を含む、限定されることのない様々な産業分野において製品の設計を可能にする。本方法により設計された３Ｄモデル化オブジェクトは、このように、地上車両の部品（例えば、自動車および軽トラック機器、レーシングカー、オートバイ、トラックおよびモーター機器、トラック、バス、電車を含む）、航空車両の部品（例えば、航空機体機器、航空宇宙機器、推進機器、防衛製品、航空路線機器、宇宙機器を含む）、海軍車両の部品（例えば、海軍用機器、商業用船舶、オフショア機器、ヨットおよび作業船、船舶用機器を含む）、一般的な機械部品（例えば、工業用製造機械、大型移動機械または機器、設置機器、産業機器製品、加工金属製品、タイヤ製造製品を含む）、電気機械部品または電子部品（例えば、家電、セキュリティおよび／または制御および／または計装製品、コンピューティングおよび通信機器、半導体、医療装置および設備を含む）、消費者製品（例えば、家具、家庭用および庭用製品、レジャー用品、ファッション用品、耐久消費財小売用品、織物類小売用品を含む）、包装（例えば、食品および飲料およびたばこ、美容およびパーソナルケア、家庭用製品包装を含む）などのように、任意の機械的部品であり得る工業製品を表してもよい。
【００２６】
ＰＬＭシステムとは、物理的な、製造された製品（または製造される予定の製品）を表すモデル化オブジェクトの管理に適した任意のシステムをも指す。ＰＬＭシステムでは、モデル化オブジェクトは、このように、物理的な物体の製造に適したデータによって定義される。これらは、典型的には、寸法の値および／または公差の値であってもよい。物体を正しく製造するために、実際、このような値を用いるのが望ましい。
【００２７】
ＣＡＭソリューションとは、製品の製造データを管理するのに適した、ハードウェアのソフトウェアである、あらゆるソリューションをも指す。製造データは、一般に、製造する製品、製造工程、および必要なリソースに関するデータを含む。ＣＡＭソリューションは、製品の製造工程全体を計画し最適化するのに用いられる。例えば、実現可能性、製造工程の期間、または製造工程における特定のステップで使用されるリソース、例えば特定のロボットの数に関する情報をＣＡＭユーザに提供することができる。これにより、管理や必要な投資についての決定を可能にする。ＣＡＭは、ＣＡＤ工程、および、場合によりＣＡＥ工程に続く工程である。このようなＣＡＭソリューションは、ダッソー・システムズにより、ＤＥＬＭＩＡ（登録商標）として提供されている。
【００２８】
ＣＡＥソリューションとは、モデル化オブジェクトの物理的挙動の分析に適した、ハードウェアのソフトウェアである、あらゆるソリューションをも指す。よく知られており広く用いられているＣＡＥ技術は有限要素法（Ｆｉｎｉｔｅ  Ｅｌｅｍｅｎｔ  Ｍｅｔｈｏｄ：ＦＥＭ）であり、これは、典型的には、モデル化オブジェクトを、物理的挙動を方程式によって計算しシミュレーションできる要素に分割することを含む。このようなＣＡＥソリューションは、ダッソー・システムズにより、ＳＩＭＵＬＩＡ（登録商標）として提供されている。成長するＣＡＥ技術のもう１つは、ＣＡＤジオメトリデータを使用せずに異なる物理分野の複数の要素で構成される複雑なシステムのモデリングと解析を行うことを含む。ＣＡＥソリューションはシミュレーションを可能にし、それにより、製造する製品の最適化、改善および検証を可能にする。このようなＣＡＥソリューションは、ダッソー・システムズにより、ＤＹＭＯＬＡ（登録商標）として提供されている。
【００２９】
ＰＤＭはＰｒｏｄｕｃｔ  Ｄａｔａ  Ｍａｎａｇｅｍｅｎｔ（生産データ管理）の略である。ＰＤＭソリューションとは、特定の製品に関するすべての種類のデータを管理するのに適した、ハードウェアのソフトウェアである、あらゆるソリューションを指す。ＰＤＭソリューションは、製品のライフサイクルにかかわるすべての関係者によって使用される。これには、主として技術者のほか、プロジェクトマネージャー、財務担当者、営業担当者、およびバイヤーも含まれる。ＰＤＭソリューションは、一般に、製品指向のデータベースに基づく。これにより、関係者が製品に関する一貫したデータを共有することが可能になり、これにより、関係者が異なるデータを用いるのを防止する。このようなＰＤＭソリューションは、ダッソー・システムズにより、ＥＮＯＶＩＡ（登録商標）として提供されている。
【００３０】
図１０はシステムの一例を示すものであって、当該システムは、クライアントコンピュータシステム、例えばユーザのワークステーションである。
【００３１】
本例のクライアントコンピュータは、内部通信バス１０００に接続された中央演算処理装置（ＣＰＵ）１０１０、および同じくバスに接続されたランダムアクセスメモリ（ＲＡＭ）１０７０とを備える。クライアントコンピュータは、さらに、バスに接続されたビデオランダムアクセスメモリ１１００と関連付けられたグラフィックス処理装置（ＧＰＵ）１１１０を備える。ビデオＲＡＭ１１００は、当該技術分野において、フレームバッファとしても知られる。大容量記憶装置コントローラ１０２０は、ハードドライブ１０３０などの大容量記憶装置へのアクセスを管理する。コンピュータプログラムの命令及びデータを具体的に実現するのに適した大容量メモリ装置は、例として、ＥＰＲＯＭ、ＥＥＰＲＯＭ及びフラッシュメモリ装置のような半導体メモリ装置、内蔵ハードディスクやリムーバブルディスクなどの磁気ディスク、光磁気ディスク、およびＣＤ−ＲＯＭディスク１０４０を含む、全ての形式の不揮発性メモリを含む。前述のいずれも、特別に設計されたＡＳＩＣ（特定用途向け集積回路）によって補完されてもよいし、組み入れられてもよい。ネットワークアダプタ１０５０は、ネットワーク１０６０へのアクセスを管理する。クライアントコンピュータはまた、カーソル制御装置、キーボードなどの触覚装置１０９０を含んでいてもよい。カーソル制御装置は、ユーザがディスプレイ１０８０上の任意の所望の位置にカーソルを選択的に位置させることを可能にするために、クライアントコンピュータ内で使用される。さらに、カーソル制御デバイスは、ユーザが様々なコマンドを選択し、制御信号を入力することを可能にする。カーソル制御装置は、システムに制御信号を入力するための多数の信号生成装置を含む。典型的には、カーソル制御装置はマウスであってもよく、マウスのボタンは信号を生成するために使用される。あるいは、または追加的に、クライアントコンピュータシステムは、感知パッドおよび／または感知スクリーンを備えてもよい。
【００３２】
コンピュータプログラムは、コンピュータによって実行可能な命令を含んでいてもよく、命令は、上記システムに方法を実行させるための手段を含む。プログラムは、システムのメモリを含む任意のデータ記憶媒体に記録可能であってもよい。プログラムは、例えば、デジタル電子回路、またはコンピュータハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせで実装されてもよい。プログラムは、例えばプログラマブルプロセッサによる実行のための機械読み取り可能な記憶装置に具体的に実現された製品のような装置として実装されてもよい。方法ステップは、プログラム可能なプロセッサが命令のプログラムを実行し、入力データを操作して出力を生成することによって方法の機能を実行することによって実行されてもよい。したがって、プロセッサは、データ記憶システム、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスからデータおよび命令を受信し、また、それらにデータおよび命令を送信するようにプログラム可能であってもよく、またそのように接続されていてもよい。アプリケーションプログラムは、高水準の手続き型またはオブジェクト指向のプログラミング言語で、または必要に応じてアセンブリ言語または機械語で実装されていてもよい。いずれの場合も、言語はコンパイラ型言語またはインタープリタ型言語であってもよい。プログラムは、フルインストールプログラムまたは更新プログラムであってもよい。いずれの場合も、プログラムをシステムに適用すると、本方法を実行するための指示が得られる。
【００３３】
「二次元画像から三次元モデル化オブジェクトを認識する」とは、３Ｄモデル化オブジェクトを作り上げる工程の少なくとも一部である行為、例えば３Ｄモデル化オブジェクトを設計することを意味する。本方法は、製造工程に含まれていてもよく、当該製造工程は、本方法を実行した後、取得した３Ｄモデル化オブジェクトに対応する物理的製品を生産することを含んでいてもよい。いずれの場合も、本方法によって認識したモデル化オブジェクトは、例えば３Ｄプリンター上で、製造物を表してもよい。３Ｄモデル化オブジェクトは、このように、モデル化した立体（すなわち立体を表すモデル化オブジェクト）であってもよい。製造物は、部品や部品の集合などの製品であってもよい。本方法は３Ｄモデル化オブジェクトの認識を改善するため、本方法はまた、製品の製造を改善し、それにより製造工程の生産性を改善する。
【００３４】
ここで図１を参照して、トレーニング済みモデルの作成（Ｓ１８０）について述べるトレーニング済みモデルは、与えられた２つの２Ｄ画像セット（Ｓ１５０およびＳ１６０）に対して行うトレーニング（Ｓ１７０）の結果として得られる。トレーニング済みモデルの作成は、本発明の、いわゆるオフライン段階の一部であり、これは図７および８に例示したオンライン段階と対照をなす。オフラインという表現は、ユーザがシステムに対し、写真に表された３Ｄモデル化オブジェクトを認識するためシステムに照会を行う際に実行される必要のない前処理動作を指し、オンライン段階で用いられるオフライン段階の結果は、オンライン段階が実行される時点ですでにオンラインステップで利用可能となっている。なお、オフライン段階はオンライン段階の実行中であっても実行可能である。この場合、オンライン段階で用いられるオフライン段階の結果は現在の結果ではなく、以前に実行されたオフライン段階の結果である。オンライン段階中、ユーザのクエリは、３Ｄモデル化オブジェクトのうちの認識されるオブジェクトを含む２Ｄ画像を使用する。オフライン段階は、典型的には１度だけ実行され、これはユーザにとって透過的な動作である。また、オフライン段階は数回実行することも可能であり、例えば、トレーニング済みモデルを充実させる目的で再び実行される。
【００３５】
好ましくは、本発明のオフライン段階は、ディープニューラルネットワークに大きく依存し、すべての特徴を学習しインデックス付けする段階に対応する。オフライン段階は、媒体の集合を使用する２段階の工程と考えることができる。媒体の集合は、好ましくは数万単位の範囲であり、集合中の媒体の数が多いほど、トレーニング済みモデルが的確になる。まず、署名が集合の媒体ごとに抽出される。この抽出工程は、典型的には数万回繰り返される。繰り返しの回数は、少なくとも媒体の集合における媒体の数に依存する。次に、構造化リストが作成される。このリストは、通常、インデックスと呼ばれ、すべての署名と、集合中の実際の媒体へのリンクを含む。インデックスは、クエリに最も近い署名を高速で取得することを可能にするデータ構造である。特徴量という用語は、署名を指定するのに使用することができる。すなわち、特徴量は、提供された媒体の集合から得られる値であり、有益であり、冗長ではなく、後の学習を容易にする。
【００３６】
オフライン段階は、２Ｄオブジェクトカテゴライズ法（分類法とも呼ばれる）、すなわち、ディープニューラルネットワーク（ＤＮＮ）の効率に影響を与える効果的な方法を提供する。ＤＮＮは、コンピュータが観測データから学習するのを可能にする、生物学に着想を得たプログラミングパラダイムであるニューラルネットワークで学習するための技術のセットである。ＤＮＮについては、Ｒｕｍｅｌｈａｒｔほか“Ｌｅａｒｎｉｎｇ  ｉｎｔｅｒｎａｌ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎｓ  ｂｙ  ｅｒｒｏｒ  ｂａｃｋｐｒｏｐａｇａｔｉｏｎ”（１９８６）に記載されている。ＤＮＮは、生データに基づくエンドツーエンドの学習に重点を置いている。言い換えれば、生の特徴で始まりラベルで終わるエンドツーエンドの最適化を達成することによって、可能な限り特徴エンジニアリングから離れる。カテゴライズとは、カテゴリへの所属が分かっている観測（またはインスタンス）を含むデータのトレーニングセットに基づいて、新しい観測がカテゴリのセットのうちのいずれに属するかを特定するという課題である。カテゴリ化の例は、ある歌を、その音楽スタイルに割り当てること、または、ある患者に、その患者において観察された特性によって説明される、診断を割り当てることである。言い換えれば、初見のサンプルを分類することは、ラベル付きサンプルとともにトレーニングセットが与えられた場合に、カテゴリ（すなわち、ラベル）を正確に復元する、モデルのパラメータを学習することからなる。
【００３７】
図４は、ＤＮＮアーキテクチャの一例を示す。データはＤＮＮに入力され、層１〜層Ｋ−１のカスケードがデータを処理して特徴を抽出し変換する。各層は、直前の層の出力を入力として用い、場合により、直前の層が次の層の出力を受け取るものとしてもよい。各層において、より高いレベルの特徴が、より低いレベルの特徴から導き出されて、特徴の階層表現が形成される。特徴ベクトルは、層ごとに、特徴から抽出することができる。次に、次に、ＤＮＮに入力されたデータが、連続する層Ｋ〜Ｎを用いて分類される。ＤＮＮのパラメータが正しくトレーニングされているとき、入力されるデータのラベルとカテゴリ化の結果とが一致する。
【００３８】
ここで、モデルのトレーニングに使用される２セットの２Ｄ画像が、ステップＳ１５０およびＳ１６０において、どのように提供されるかを説明する。
【００３９】
ステップＳ１００〜Ｓ１５０は、３Ｄモデル化オブジェクトから描画された第１の２Ｄ画像セットを提供するための例であり、各３Ｄ画像はラベルに関連付けられている。ステップＳ１００において、３Ｄモデル化オブジェクトが提供される。３Ｄモデル化されたオブジェクトを提供することは、オフライン段階を実行するシステムが、上で定義したように、オブジェクトの３Ｄ表現を可能にするデータにアクセスできることを意味する。これは例えば、少なくとも１つの３Ｄモデル化オブジェクトを記憶するデータベースへのアクセスを提供することによって行われる。
【００４０】
次に、ステップＳ１１０〜Ｓ１３０において、ステップＳ１００で提供された３Ｄモデル化オブジェクトから２Ｄ画像が算出される。これら算出された２Ｄ画像は、３Ｄモデル化オブジェクトから描画される。そうでなければ、ステップＳ１１０〜Ｓ１３０で得られた２Ｄ画像は合成画像である。合成画像（または描画した画像）は、描画エンジンによって算出される画像である。したがって、合成画像は、写真（自然画像とも呼ばれる）が含むノイズと同じノイズ、例えば、回折、イメージセンサのノイズ、樽型歪みなどの歪み、物体の照明および周囲の物体などのノイズを含まない。したがって、写真の署名は写真を撮影したカメラによって異なるが、合成画像の署名はどのコンピュータでも同じである。
【００４１】
提供された３Ｄモデル化オブジェクトに対して、いくつかの視点が決定され、それにより３Ｄモデル化オブジェクト上に複数の視点を形成する。少なくとも１つの視点が選択され、選択された視点に応じて画像が算出される。ここで、視点という用語は、当技術分野で知られているように、カメラが置かれて撮影を行う、３Ｄシーン内の特定の位置（３Ｄモデル化オブジェクトが３Ｄシーン内に配置され描画される位置）を意味する。
【００４２】
視点の決定は、当技術分野で知られているように実行される。これはユーザの操作により行うことができる。例えば、ユーザは触覚デバイスを用いてカメラ位置を選択する。好ましくは、これは、３Ｄモデル化オブジェクトが配置されている３Ｄシーンにおける、３Ｄ描画のための異なるカメラ位置を固定することができる空間離散化を用いて実行することができる。
【００４３】
文献には、いくつかの空間離散化法が存在する。一実装例においては、Ｔｈｏｍｓｏｎ球が利用される（ステップＳ１１０）。Ｔｈｏｍｓｏｎ球は、Ｊ．Ｊ．Ｔｈｏｍｓｏｎ，Ｐｈｉｌｏｓｏｐｈｉｃａｌ  Ｍａｇａｚｉｎｅ  ７，２３７（１９０４）に記載されているように、Ｔｈｏｍｓｏｎ問題を用いて離散化された３Ｄモデル化オブジェクトの境界球である。図２は、境界ボックス２１０に囲まれた３Ｄモデル化オブジェクト２００（椅子）を示す。３Ｄモデル化オブジェクト２００および境界ボックス２１０は、境界球２２０に囲まれている。これらは完全に囲まれており、すなわち、３Ｄモデル化オブジェクトのうち境界球の外側にある部分はないことを意味する。なお、境界ボックス２１０は、Ｔｈｏｍｓｏｎ球を使用するために必須ではない。Ｔｈｏｍｓｏｎ球には、Ｍ個のカメラ位置が含まれている。
【００４４】
視点が識別されると、識別された視点のそれぞれについて、２Ｄ画像が描画される（Ｓ１２０）。描画は当該技術分野で知られている方法で実行される。
【００４５】
３Ｄモデル化オブジェクトから描画される２Ｄ画像の数Ｎは、視点の数Ｍと同じである。しかし、視点の数Ｍは巨大であり、視点から得られるいくつかの２Ｄ画像は、トレーニングを行うにはノイズが多く、すなわち、役に立たない可能性がある。視点の数を制限するため、カメラの位置をオブジェクト境界ボックスの上面と底面との間に含めて２Ｄ画像を生成することができる。これにより、関連するトレーニング用２Ｄ画像のみを提供しつつ、算出する２Ｄ画像の数を減らすことが可能になる。さらに、視点の数が減少し、ノイズの少ない２Ｄ画像を提供する視点が選択されたとしても、トレーニングを行うにはノイズが多い２Ｄ画像が依然として存在する可能性がある。したがって、ノイズの少ない２Ｄ画像のみを保持するために、描画された２Ｄ画像に対して選択（Ｓ１３０）を行うことができる。これはユーザが行うことができる。別の例では、２Ｄ画像の数は、ユーザの操作なしに減少させることができる。実際、整列した３Ｄモデル化オブジェクトのデータセットの場合、特定の位置間隔、すなわちＴ／２とＢ／２の間に含まれるカメラ位置を直接考慮することができる。ここで、Ｔはオブジェクト境界ボックスの上面であり、Ｂはオブジェクト境界ボックスの底面である。
【００４６】
図３は、図２の３Ｄモデル化オブジェクト２００の１０個のビューの例を示す。なお、２Ｄ画像の数は一般的に１０枚より多い。例えば、３Ｄモデルごとに約１００枚の画像が生成されてもよい。正確な数は、各オブジェクトのサイズ（すなわち、３Ｄモデル化オブジェクトの、境界ボックスまたは他の任意の境界の体積）に依存する。上の５つのビューは、椅子２００が容易に認識することができるため、関連性があると考えられるが、下の５つのビューは、椅子を容易に認識することができない。このように、妥当なビューだけが考慮される。下の５つのビューは、図２のオブジェクト境界ボックスの上面と底面との間に含まれないビューである。
【００４７】
次に、ステップＳ１４０において、各画像がラベルに関連付けられる。あるいは、各画像がラベルを用いて分類される。ラベルとは、有益、すなわち、画像について知るのに望ましい情報を提供する有意なタグ、カテゴリ、またはＩＤである。例えば、ラベルには、画像に椅子かテーブルが含まれているかどうかや、ビデオでどのような動作が実行されているかなどがあるが、これに限定されない。このように、ラベルは、画像の内容を記述することができる。実際には、ラベルは、２Ｄモデル化オブジェクトから描画されたすべての２Ｄ画像を分類するユーザによって追加される。
【００４８】
このように、ステップＳ１５０において、提供された３Ｄモデル化オブジェクトから描画されラベル付けされた第１の２Ｄ画像セットが取得される。この第１のセットは、トレーニング済みモデルを得るために使用されるトレーニングシステムに提供される。
【００４９】
ステップＳ１６０において、第２の２Ｄ画像セットがトレーニングシステム、例えばＤＮＮに提供される。第２の２Ｄ画像セットは、写真、すなわち自然画像である。上述のとおり、自然画像は、３Ｄモデル化オブジェクトから描画されず、その署名は、少なくともその画像を撮影したカメラに依存して（同一の物体に対して）変化する。自然画像のノイズは、画像が撮影された条件に依存する。典型的には、２Ｄ画像または写真は、異なる解像度、背景および文脈を有するオブジェクトの複雑な写真である。
【００５０】
そして、ステップＳ１７０において、第１および第２の画像セットからモデルのトレーニングが行われる。トレーニングは、典型的には、分類フレームワーク内で一般的に使用されるディープニューラルネットワーク上で実行される。一例では、畳み込みニューラルネットワーク（ＣＮＮ）が使用される。ＣＮＮについては、Ｙ．Ｌｅｃｕｎほか“Ｂａｃｋｐｒｏｐａｇａｔｉｏｎ  ａｐｐｌｉｅｄ  ｔｏ  ｈａｎｄｗｒｉｔｔｅｎ  ｚｉｐ  ｃｏｄｅ  ｒｅｃｏｇｎｉｔｉｏｎ”，Ｎｅｕｒａｌ  Ｃｏｍｐｕｔ（１９８９）に記載されている。畳み込みニューラルネットワークは、一般的な行列乗算の代わりに畳み込みを使用するニューラルネットワークであり、雑然とした背景や他に複数のオブジェクトを有する画像における複雑なシーンからオブジェクトを効率的に認識することが実証されている。別の例において用いられるＣＮＮは、ＡｌｅｘＮｅｔと呼ばれるＣＮＮである（ＡｌｅｘＮｅｔは、Ａｌｅｘ  Ｋｒｉｚｈｅｖｓｋｙ，“ＩｍａｇｅＮｅｔ  Ｃｌａｓｓｉｆｉｃａｔｉｏｎ  ｗｉｔｈ  Ｄｅｅｐ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ”，ＮＩＰＳ２０１２に記載されている）。好ましくは、ＡｌｅｘＮｅｔ  ＣＮＮは、考慮されるカテゴリの数に対応する最後の層のニューロンの数、例えば１０００個、を変更することによって本発明に応用される。ＡｌｅｘＮｅｔ  ＣＮＮは、５つの畳み込み層（プーリング層および正規化層を含む）と３つの全結合層で構成されている。
【００５１】
モデルのトレーニングは、特に、ＤＮＮのパラメータを学習することを含む。画像を分類するために学習したＣＮＮのようなＤＮＮの上位層に現れるパラメータは、画像取得に役立つ記述子として機能し得る。パラメータは、描画画像（第１の２Ｄ画像セット）および描画されていない画像（第２の２Ｄ画像セット）のそれぞれ多数から学習する。
【００５２】
そして、ステップＳ１８０において、トレーニング済みモデルが取得される。トレーニング済みモデルは、学習したＤＮＮパラメータのセットである。ＤＮＮパラメータは、Ｂａｂｅｎｋｏほか“Ｎｅｕｒａｌ  Ｃｏｄｅｓ  ｆｏｒ  Ｉｍａｇｅ  Ｒｅｔｒｉｅｖａｌ”に記載のように、ニューラルコードとも呼ばれる。
【００５３】
ステップＳ１００〜Ｓ１８０のオフライン学習を図６の上部に示す。なお、ＤＮＮのトレーニングセット（本図の例ではＣＮＮ）は、第１および第２のセットによって提供される２Ｄ画像を含む。これら両方の種類の画像について、制約は不要である。実際には、トレーニングデータセットは、４分の１（１／４）の描画画像と４分の３（３／４）の写真からなる。これにより、ＤＮＮの分類結果が改善できる。画像の他の組み合わせも考えられる。最良の結果は、４分の１の描画画像と４分の３の写真を含むトレーニングデータセットで得られた。トレーニングセットは、ＤＮＮをホストするＤＮＮ学習器６００に提供され、ステップＳ１８０で取得されたモデルを算出する。ＤＮＮ学習機械６００は、典型的には、ソフトウェアアプリケーションであり、当該技術分野で知られている方法で実装される。
【００５４】
図５は、オフライン段階の第２の態様、すなわち、第１の２Ｄ画像セットから抽出された特徴ベクトルのインデックス、すなわち３Ｄモデル化オブジェクトから描画された画像の作成を示す。自然画像（第２の２Ｄ画像セット）は、モデルのトレーニングにのみ使用され、検索には使用されない。各２Ｄ画像のニューラルコード（または特徴ベクトル）を抽出し（Ｓ５００）、特徴ベクトルとして使用することができる。特徴ベクトルは、ステップＳ１８０において、トレーニング済みモデルを用いて抽出される。特徴の抽出は、学習したパラメータのセットを使用して、入力画像に「順方向パス」を適用することによって実行される。すなわち、画像は、傾斜したパラメータ用いてパラメータ化された異なる層を通過する。このように、抽出された特徴ベクトルは、所定の二次元画像、例えば、提供された２Ｄ描画画像に対して、トレーニング済みモデルのパラメータを連続的に適用することを含む。ニューラルコードは、ＤＮＮの１つまたは複数の隠れ層に属してもよい。ＤＮＮのより多くの層を考慮するほど、得られる特徴ベクトルは、より識別性が高いが長いものとなる。２Ｄ画像から抽出された各特徴ベクトルについて、特徴ベクトルのサイズが長すぎるかどうかが判定される。特徴ベクトルのサイズは、メモリ使用量および／または全体的なシステム性能に影響を及ぼす可能性がある。特徴ベクトルのサイズは、最大で数メガバイトまで許容される。実際には、システムの全体的な性能と特徴ベクトルの識別特性との間の最良のトレードオフは、４キロバイトのサイズの特徴ベクトルによって得られている。特徴ベクトルのサイズが所定のサイズを超えていると判定された場合、特徴ベクトルの縮小を行うことができる。当該技術分野で知られているように、特徴ベクトルのサイズを縮小するのに、異なる次元削減法を適用することができる。例えば、Ｗ．Ｓｖａｎｔｅ，Ｋ．Ｅｓｂｅｎｓｅｎ，およびＰ．Ｇｅｌａｄｉ，“Ｐｒｉｎｃｉｐａｌ  ｃｏｍｐｏｎｅｎｔ  ａｎａｌｙｓｉｓ”，Ｃｈｅｍｏｍｅｔｒｉｃｓ  ａｎｄ  Ｉｎｔｅｌｌｉｇｅｎｔ  Ｌａｂｏｒａｔｏｒｙ  Ｓｙｓｔｅｍｓ（１９８７）に記載のように、主成分分析を用いることができる。
【００５５】
特徴ベクトルが抽出されると（ステップＳ５００）、抽出された特徴ベクトルを用いて、対応する２Ｄ画像が描画された３Ｄモデル化オブジェクトにインデックスが付される。なお、対応する２Ｄ画像は、特徴ベクトルが抽出された２Ｄ描画画像である。インデックスは、データの位置決め速度を向上させるデータ構造である。当該データ構造の構築は、当該技術分野で知られている方法で実行される。
【００５６】
ステップＳ５００〜Ｓ５１０のオフラインインデックス付けを図６の下部に示す。３Ｄモデル化オブジェクトから描画された２Ｄ画像は、特徴ベクトル抽出器６１０に供給され、抽出された特徴ベクトルは、特徴ベクトルのインデックスを構築する特徴ベクトルインデクサ６２０に送信される。図６の例では、ニューラルネットワークの第２層から最後の全結合層が抽出される。この例でも、ニューラルネットワークはＡｌｅｘＮｅｔ  ＣＮＮであり、この第２層から最後の層には４０９６個のニューロンが含まれている。各２Ｄ描画画像から、４０９６次元の特徴ベクトルが抽出される。
【００５７】
ここで図７および図８を参照して、実行されるオンライン段階について説明する。オンライン段階は、オブジェクトを含む２Ｄ画像から少なくとも１つの３Ｄモデル化オブジェクトを識別することを目的とする。
【００５８】
図７の例では、オンライン段階は、トレーニング済みモデル、例えば、ステップＳ１８０で得たトレーニング済みモデルを提供すること（Ｓ７００）から始まる。
【００５９】
そして、類似度計量が提供される（Ｓ７１０）。類似度計量は、少なくとも１つのオブジェクトを表す２Ｄ画像と、例えば３Ｄモデル化オブジェクトのデータベースに格納された３Ｄモデル化オブジェクトとの間の類似度の計測を実行することを可能にする。数学的には、類似度の概念は内積の概念と等価であり、ノルム線型空間におけるベクトル間の距離に正比例する。類似度と距離の概念は、単純な変換で一方から他方が得られ、互換性があることが多い。
【００６０】
類似度計量は、ユーザの操作によって提供されてもよいし、システムによってデフォルトで提供されてもよく（例えば、類似度計量の自動選択）、また、デフォルトで提供され、その後ユーザによって修正されてもよい。
【００６１】
類似度計量は、決定性の類似度計量であってもよい。決定性類似度計量は、パラメータのない類似度計量であり、仮に類似度計量のパラメータがある場合、それらはオペレータによって選択されるものであって、自動工程によって選択されることはない。決定性類似度計量の中で、ユークリッド距離、マンハッタン距離、コサイン類似度のうちの１つを提供することができる。コサイン類似度は、ノルムベクトル間のユークリッド距離に等しい。
【００６２】
類似度は、学習した類似度であってもよい。学習した類似度については、文献で広く議論されており、この分野は計量学習（Ｍｅｔｒｉｃ  Ｌｅａｒｎｉｎｇ）とも呼ばれている。例えば、計量学習法の調査については、Ｂｅｌｌｅｔほか“Ａ  Ｓｕｒｖｅｙ  ｏｎ  Ｍｅｔｒｉｃ  Ｌｅａｒｎｉｎｇ  ｆｏｒ  Ｆｅａｔｕｒｅ  Ｖｅｃｔｏｒｓ  ａｎｄ  Ｓｔｒｕｃｔｕｒｅｄ  Ｄａｔａ”に記載がある。計量学習法の背後にあるアイデアは、注釈付きペア（あるいは場合により３つからなる組）のデータベースを使用して、計量のパラメータを設定することである。データベースは、２種類のペア、すなわち類似ペアと非類似ペアに分けられる。計量学習法は、計量のパラメータを調整してデータベースにおける類似度の関係を模倣することを目的とする。すなわち、２つの類似オブジェクト間の距離は、２つの非類似オブジェクト間の距離よりも常に小さい。
【００６３】
計量学習の第１の方法の１つはＸｉｎｇほか“Ｄｉｓｔａｎｃｅ  Ｍｅｔｒｉｃ  Ｌｅａｒｎｉｎｇ  ｗｉｔｈ  Ａｐｐｌｉｃａｔｉｏｎ  ｔｏ  Ｃｌｕｓｔｅｒｉｎｇ  ｗｉｔｈ  Ｓｉｄｅ−Ｉｎｆｏｒｍａｔｉｏｎ”に記載のように、マハラノビス距離のパラメータを修正することである。この場合、距離は以下の式１で表される。
【数１】
2017142780.tif 000003
ここで、ｄ（ｘ，ｙ）は点ｘとｙとの間の距離計量であり、パラメータ行列Σは最適化工程により見つけられる。パラメータ行列Σが単一である場合、距離ｄはユークリッド距離である。
【００６４】
計量学習の別の方法では、計量学習問題は空間埋め込み問題ともみなすことができ、決定性類似度に関して、類似要素が非類似要素よりも近い空間に対して、空間埋め込みを行う。このような空間埋め込みは、ハミング空間で行うことができる。ハミング空間はバイナリベクトルの空間であり、通常は長さＮの２N個のすべての２進列の集合であり、距離はハミング距離であり、これはハミングスペースで評価されたマンハッタン距離である空間埋め込みは、データベース内の類似度関係を保持するバイナリコードベクトル内の任意の特徴ベクトルを変換する関数である。
【００６５】
類似度計量の選択の後、２Ｄ画像がシステムに提供される（Ｓ７２０）。２Ｄ画像は、少なくとも１つのオブジェクト、例えば実世界の製造物を表す。２Ｄ画像は、自然画像（写真）、または３Ｄモデル化オブジェクトから描画された２Ｄ画像であってもよい。画像は、典型的には、ユーザの操作によって提供される。ユーザは画像を選択し、この選択された画像が、クエリを実行するシステムに提供される。画像の選択は、当該技術分野で知られている方法で実行され、例えば、ユーザは、画像ファイルを選択するために触覚装置を使用する。あるいは、クエリを実行するシステムに自動的に画像を提供することもできる。２Ｄ画像を提供することは、２Ｄ画像を表すデータがクエリシステムで利用可能であることを意味する。２Ｄ画像は、ラスタグラフィクスまたはベクタグラフィクスからなっていてもよい。後者の場合、画像のベクタグラフィクスは、ラスタグラフィクスに変換される。したがって、ステップＳ７２０では、あらゆる種類の２Ｄ画像を提供することができる。
【００６６】
少なくとも１つのオブジェクトを表す２Ｄ画像が提出されると、システムは当該２Ｄ画像の特徴ベクトルを抽出する（Ｓ７３０）。抽出は、当該分野で知られているように行われる。すなわち、特徴抽出専用のアルゴリズムが２Ｄ画像に適用される。
【００６７】
次に、ステップＳ７２０で提供された２Ｄ画像の、算出した特徴ベクトルを、ステップＳ５００〜Ｓ５１０で構築したインデックスの特徴ベクトルと比較する（Ｓ７４０）。この比較は、当該技術分野で知られている方法で行う。この比較では、提供された類似度計量を使用して、インデックスが付された最も近い特徴ベクトル（１つまたは複数）がどれであるかを決定する。このように、ステップＳ７２０で提供された２Ｄ画像の抽出された特徴ベクトルと、インデックスの１つまたは複数の特徴ベクトルとの間で、１つまたは複数の一致が得られる。なお、提供された２Ｄ画像とインデックスが付された３Ｄモデル化オブジェクトとの間の相違が重大すぎる場合には、一致は決定されない。例えば、類似度計量値が非常に低い場合、一致がないことを意味する。
【００６８】
次に、ステップＳ７２０で提供された２Ｄ画像の抽出された特徴ベクトルと一致するインデックスの特徴ベクトルのそれぞれについて、１つまたは複数の３Ｄモデル化オブジェクトを識別することができる。すなわち、インデックスは、すべての署名（特徴ベクトル）、および集合における実際の媒体へのリンク（署名に関連付けられた２Ｄ画像が描画された３Ｄモデル化オブジェクト）を含む構造化リストである。したがって、ステップＳ７２０で提出した画像に表されるオブジェクトに類似する１つまたは複数の３Ｄオブジェクトが取得される（Ｓ７５０）。取得とは、システムが３Ｄオブジェクトにアクセスすることを可能にする少なくとも最小限の情報、例えば３Ｄオブジェクトのデータへのリンクが提供されることを意味する。３Ｄオブジェクトの取得は、クライアントコンピュータ上での３Ｄオブジェクトのデータのダウンロード、または取得した３Ｄオブジェクトの１つまたは複数の２Ｄ画像の表示をさらに含んでいてもよい。ここで、クライアントコンピュータとは、取得した結果を表示すべき、コンピュータ化されたシステムである。実際には、クライアントコンピュータは、類似の３Ｄモデル化オブジェクトの検索を起動するために２Ｄ画像が提供されたコンピュータである。
【００６９】
図８は、オンライン段階の一例を示す図である。画像クエリは、２Ｄ画像を提供することによって起動される。２Ｄ画像の特徴ベクトルは、オフライン段階でのトレーニング済みモデルを用いて抽出される。抽出は、図６の６１０と同じであり得る特徴ベクトル抽出器８００によって行われる。そして、抽出された特徴ベクトルは、類似度計量に応じた特徴ベクトル間の類似度の算出を担当するマッチングモジュール８１０に送られる。マッチングモジュール８１０は、比較を実行するため、特徴ベクトルのインデックスにアクセスすることができる。マッチングモジュール８１０は、１つまたは複数の特徴ベクトルのリストを出力する（Ｓ７４０）。なお、一致が決定されなかった場合、リストは空であってもよい。
【００７０】
オフラインでのインデックス付けと計量学習とを同時に実行するのに適した特定のアーキテクチャを含む計量学習の別の例について説明する。そのアーキテクチャは図９に表されており、これはＣｈｏｐｒａほか“Ｌｅａｒｎｉｎｇ  ａ  Ｓｉｍｉｌａｒｉｔｙ  Ｍｅｔｒｉｃ  Ｄｉｓｃｒｉｍｉｎａｔｉｖｅｌｙ  ｗｉｔｈ  Ａｐｐｌｉｃａｔｉｏｎ  ｔｏ  Ｆａｃｅ  Ｖｅｒｉｆｉｃａｔｉｏｎ”に記載のＳｉａｍｅｓｅネットワークに依拠する。Ｓｉａｍｅｓｅネットワークでは、ニューラルネットワークを介して類似度を学習することができる。Ｓｉａｍｅｓｅネットワークは、非線形埋め込みを作成する２つの同一部分を持ち、これら両方の表現間のユークリッド距離またはマンハッタン距離を取り、この距離がデータベースのものと似ていない場合、ニューラルネットワークの重みが最適化工程で修正される。Ｚａｇｏｒｕｙｋｏほか“Ｌｅａｒｎｉｎｇ  ｔｏ  Ｃｏｍｐａｒｅ  Ｉｍａｇｅ  Ｐａｔｃｈｅｓ  ｖｉａ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ”に記載のように、Ｓｉａｍｅｓｅネットワークに対し、画像のコンテクストで、いくつかの追加および修正がなされているか、可能である。
【００７１】
図９のディープＳｉａｍｅｓｅアーキテクチャでは、特徴抽出工程と距離計量の学習が統合されている。距離計量を学習し、そして、２つの学習工程を、２つの異なる学習データベース、例えば、第１および第２の画像セットを含むデータベース９００および９１０を用いて、同時に行ってもよい。本発明では、学習工程はＳｉａｍｅｓｅネットワークの使用によって統合され、この場合、１つの学習のみが行われる。学習データベース９００および９１０は、それぞれの特徴抽出ネットワーク、すなわち層１〜層Ｋ−１のカスケードに２Ｄ画像を提供する。特徴抽出ネットワークは、Ｓｉａｍｅｓｅネットワークブランチそれぞれの下部に接続され、特徴ベクトルおよび距離計量を同時に学習するためにバックプロパゲーションが使用される。これにより、目前の比較タスクを行うための、より良い特徴エンジニアリングが可能となる。モデルは２Ｄ画像のペアを用いてトレーニングされ、ペアの１つの２Ｄ画像は第１のセットに属し、第２の画像は第２のセットに属する。ペアにおける２つの画像はラベル付けされ、ラベルは少なくとも類似度情報を含む。類似度情報は、＜＜非常に類似＞＞、＜＜非常に異なる＞＞などのタグを表すことができる。同じカテゴリ（例えば、椅子）に属する２つの画像は、非常に類似しているとみなすことができる。異なるカテゴリに属する画像は、非常に異なるとみなすことができる。アーキテクチャによって出力された類似度の結果が、２Ｄ画像のペアのラベルのそれと同じである場合、決定層Ｋ〜Ｎのパラメータは正確に調整され、これら調整されたパラメータが、学習した計量となる。
【００７２】
以上、本発明の好適な実施形態について説明した。本発明の要旨および本発明の範囲から逸脱することなく、様々な変更がなされ得ることが理解されるであろう。したがって、他の実施態様は、以下の特許請求の範囲内にある。例えば、３Ｄオブジェクトの集合は、クライアントコンピュータに記憶することができ、また、クライアントコンピュータが、例えば通信ネットワークを介して接続されている、専用サーバに記憶することができる。トレーニング済みモデルは、好ましくは、インデックス同様、３Ｄオブジェクトをホスティングするサーバに格納される。
【図１】
2017142780.tif 000004
【図２】
2017142780.tif 000005
【図３】
2017142780.tif 000006
【図４】
2017142780.tif 000007
【図５】
2017142780.tif 000008
【図６】
2017142780.tif 000009
【図７】
2017142780.tif 000010
【図８】
2017142780.tif 000011
【図９】
2017142780.tif 000012
【図１０】
2017142780.tif 000013
【外国語明細書】
2017142780.tif 000014
2017142780.tif 000015
2017142780.tif 000016
2017142780.tif 000017
2017142780.tif 000018
2017142780.tif 000019
2017142780.tif 000020
2017142780.tif 000021
2017142780.tif 000022
2017142780.tif 000023
2017142780.tif 000024
2017142780.tif 000025
2017142780.tif 000026
2017142780.tif 000027
2017142780.tif 000028
2017142780.tif 000029
2017142780.tif 000030
2017142780.tif 000031
2017142780.tif 000032
2017142780.tif 000033
2017142780.tif 000034
2017142780.tif 000035
2017142780.tif 000036
2017142780.tif 000037
2017142780.tif 000038
2017142780.tif 000039
【図１】
2017142780.tif 000040
【図２】
2017142780.tif 000041
【図３】
2017142780.tif 000042
【図４】
2017142780.tif 000043
【図５】
2017142780.tif 000044
【図６】
2017142780.tif 000045
【図７】
2017142780.tif 000046
【図８】
2017142780.tif 000047
【図９】
2017142780.tif 000048
【図１０】
2017142780.tif 000049