(57)【要約】【課題】本発明の課題は、検索時のメモリ消費量を減らすことを目的とする。【解決手段】上記課題は、異なる視線方向から捉えた対象物の各画像から、高次元特徴ベクトルと、該高次元特徴ベクトルより次元の低い低次元特徴ベクトルとを算出して特徴を抽出し、前記低次元特徴ベクトルを使用して類似画像の検索範囲を特定し、特定されたにおいて、定められた選択基準を満たす前記類似画像を、前記高次元特徴ベクトルを用いて検索する処理をコンピュータに行わせる検索プログラムにより達成される。【選択図】図８
2019045894.tif 000002
【特許請求の範囲】
【請求項１】
異なる視線方向から捉えた対象物の各画像から、高次元特徴ベクトルと、該高次元特徴ベクトルより次元の低い低次元特徴ベクトルとを算出して特徴を抽出し、
前記低次元特徴ベクトルを使用して類似画像の検索範囲を特定し、
特定された前記検索範囲において、定められた選択基準を満たす前記類似画像を、前記高次元特徴ベクトルを用いて検索する
処理をコンピュータに行わせる検索プログラム。
【請求項２】
前記コンピュータは、
前記高次元特徴ベクトルを、人間の感覚で類似する形状を学習させた第１のニューラルネットワークを用いて算出し、
前記低次元特徴ベクトルを、前記高次元特徴ベクトルを入力とする第２のニューラルネットワークから算出する
ことを特徴とする請求項１記載の検索プログラム。
【請求項３】
前記第２のニューラルネットワークは、前記第１のニューラルネットワークのニューロン数を削減したニューラルネットワークである
ことを特徴とする請求項２記載の検索プログラム。
【請求項４】
前記コンピュータに、
検索された前記類似画像に関連付けられた形状に係る付加情報と、該類似画像とを示す検索結果を出力する
処理を行わせる請求項１乃至３のいずれか一記載の検索プログラム。
【請求項５】
前記対象物は、３次元形状を有する
ことを特徴とする請求項１乃至４のいずれか一項に記載の検索プログラム。
【請求項６】
異なる視線方向から捉えた対象物の各画像から、高次元特徴ベクトルと、該高次元特徴ベクトルより次元の低い低次元特徴ベクトルとを算出して特徴を抽出し、
前記低次元特徴ベクトルを使用して類似画像の検索範囲を特定し、
特定された前記検索範囲において、定められた選択基準を満たす前記類似画像を、前記高次元特徴ベクトルを用いて検索する
処理をコンピュータが行う検索方法。
【請求項７】
異なる視線方向から捉えた対象物の各画像から、高次元特徴ベクトルと、該高次元特徴ベクトルより次元の低い低次元特徴ベクトルとを算出して特徴を抽出し、
前記低次元特徴ベクトルを使用して類似画像の検索範囲を特定し、
特定された前記検索範囲において、定められた選択基準を満たす前記類似画像を、前記高次元特徴ベクトルを用いて検索する
検索プログラムが動作する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索プログラム、検索方法、及び、検索プログラムが動作する情報処理装置に関する。
【背景技術】
【０００２】
近年、製品開発では、３次元ＣＡＤ（Computer  Aided  Design）を使用してコンピュータの仮想空間に製品モデルを生成し、その３次元形状を活用することで各種解析やデジタルモックアップ等による各種検証が適用されている。昨今は製品開発のサイクルが非常に短いこともあり、３次元ＣＡＤで製品モデルを作成する際には、購入部品のＣＡＤデータをライブラリとしてデータベースに登録しておくことで、設計済み部品として流用する。または、旧機種で設計した部品を流用することで短期で製品開発を行なえる。
【０００３】
しかしながら、部品の３次元のＣＡＤデータを蓄積したデータベースを利用した製品モデルの３次元での検索では、部品と製品モデルのそれぞれを複数方向から見て得た特徴により類似性を判断するため、検索時のメモリ消費量が膨大になる。
【０００４】
検索テンプレートと候補画像の間の相対的一致度を得るため、先ず低解像度で圧縮画像のデータベースを検索し、一致度が一定の閾値より大きい場合、候補画像の解像度を上げて再度マッチングを行う技術等が知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−５５４３３号公報
【特許文献２】特開２００９−１２９３３７号公報
【特許文献３】特表２００８−５２７４７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した技術では、ウェーブレット圧縮技術を用いて圧縮した画像を、フーリエ相関技術を用いて画像データベースから検索する技術であり、対象は２次元画像である。従って、３次元の製品モデルを検索する際のメモリ消費量を削減することができない。
【０００７】
したがって、１つの側面では、検索時のメモリ消費量を減らすことを目的とする。
【課題を解決するための手段】
【０００８】
一態様によれば、異なる視線方向から捉えた対象物の各画像から、高次元特徴ベクトルと、該高次元特徴ベクトルより次元の低い低次元特徴ベクトルとを算出して特徴を抽出し、前記低次元特徴ベクトルを使用して類似画像の検索範囲を特定し、特定された前記検索範囲において、定められた選択基準を満たす前記類似画像を、前記高次元特徴ベクトルを用いて検索する処理をコンピュータに行わせる検索プログラムが提供される。
【０００９】
また、上記課題を解決するための手段として、検索方法、及び、上記検索プログラムが動作する情報処理装置とすることもできる。
【発明の効果】
【００１０】
検索時のメモリ消費量を減らすことができる。
【図面の簡単な説明】
【００１１】
【図１】第１実施例におけるシステム構成例を示す図である。
【図２】ハードウェア構成を示す図である。
【図３】第１実施例における特徴抽出部の機能構成例を示す図である。
【図４】描画・抽出処理を説明するためのフローチャート図である。
【図５】図４のステップＳ６３での処理を説明するためのフローチャート図である。
【図６】圧縮処理を説明するためのフローチャート図である。
【図７】圧縮用ニューラルネットワークの一例を示す図である。
【図８】サーバの検索部の機能構成例を示す図である。
【図９】検索処理を説明するためのフローチャート図である。
【図１０】高次元特徴比較処理を説明するためのフローチャート図である。
【図１１】第２実施例におけるシステム構成例を示す図である。
【図１２】第２実施例における特徴抽出部の機能構成例を示す図である。
【図１３】サイズ算出処理を説明するためのフローチャート図である。
【図１４】サーバの検索部の機能構成例を示す図である。
【図１５】高次元ＤＢのデータ構成例を示す図である。
【図１６】低次元ＤＢのデータ構成例を示す図である。
【図１７】素材ＤＢのデータ構成例を示す図である。
【図１８】サイズＤＢのデータ構成例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態を図面に基づいて説明する。情報処理による部品の検索では、見る角度によって見えない突起、凹み等があるため、部品に係る３次元のデータで検索することが望ましい。部品の検索では、主には類似する形状で検索される。
【００１３】
例えば、各部品の形状にラベリングした部品種類、サイズ等の属性情報をデータベースに格納し、検索対象の部品の形状にラベリングされた属性情報を用いて検索する方法等が考えられる。このようは方法では、「形状が類似する」という結果は得られない。
【００１４】
このようなことから、形状の類似度を考慮する検索方法が求められ、これまでにいくつかのアプローチが提案されている。一例として、３次元形状の表面上にランダムに（又は複数の固定方向から）点群を配置し、点群間の距離をヒストグラムとして解析する方法がある。このような方法は、計算が非常に複雑であり計算コストが高く、また、機械的に類似度が算出されるため、人間の感覚で「類似する形状」とは大きく乖離することが多々あった。
【００１５】
一方、人工知能（ＡＩ）技術の進歩により、２次元画像の中から特徴的なパターン（即ち、類似するパターン）を検出できるようになっている。一例として、自動車産業においては、道路や車線の認識、障害物や歩行者の検知は、人工知能技術により瞬時に行えるレベルに達しており、近い将来に自動運転技術が確立され得る。
【００１６】
設計する部品又はアセンブリに似た過去の製品モデルが存在する場合には、既存の部品への代替えや改良等により、新たに開発する場合に比べて、製品開発の工数を削減できるため、設計者にとって大きな関心ごとである。
【００１７】
人工知能による画像認識技術を３次元の類似形状検索に応用することで、人間の感覚で「類似する形状」を「学習」させた技術に係る発明が、同一出願人により出願されている（米国特許出願番号15/474304）。この発明により、人工知能による画像認識が実現されている。以下の説明において、この出願により開示されている発明を発明αと呼び、この発明αに係る記述子作成装置を、「人工知能を用いた検索装置」、又は、単に「検索装置」という。
【００１８】
人間が人工知能に検出すべき特徴パターンを教えるフェーズを含んでいるため、人間の感覚に近い「似ている」形状の検索が可能である。人工知能を用いた検索装置は、以下の２つの主要な要素を包含する。
【００１９】
＜主要要素１＞
３次元モデルから特徴ベクトルを抽出してデータベースに格納する抽出部
＜主要要素２＞
３次元モデルを入力とし、この３次元モデルに最も類似する形状をデータベースの中から検索する検索部
上記＜主要要素１＞及び＜主要要素２＞の詳細は後述される。
【００２０】
人工知能を用いた検索装置は、高速かつ高い精度で「似ている」形状の検索を可能とするが、大規模な３次元モデルデータベースを用いた場合、計算コストとメモリ消費の両方の観点において、高価なシステムでもある。
【００２１】
３次元モデルをＲ個の視線方向（以下、「Ｒ方向」という場合がある）からレンダリングする。Ｒ方向は、３次元モデルをＸＹＺの各軸を所定角度で回転させることで得られる。所定角度は、一例として、４５度、９０度等である。１視線方向あたりＴ個の特徴が単精度浮動小数点（４バイト）からなるベクトルに変換する際、データベースにＳ個のモデルを格納する場合、特徴を表現する行列を格納するために必要となる記憶領域は、
Ｒ×４Ｔ×Ｓ
で計算される。
【００２２】
即ち、Ｓが数１０万〜数１００万程度になる場合、５０ＧＢ〜数１００ＧＢ程度のＲＡＭ（Random  Access  Memory）を用いることが望ましい。また、検索に必要な浮動小数点の演算命令は１ＴＦＬＯＰ（Ｔｅｒａｆｌｏｐ）を超える。
【００２３】
視線方向の数（Ｒ）を少なくする、又は、１画像あたりの特徴量（Ｔ）を少なくすること等により、メモリ消費量と検索時間とを削減できる可能性があるが、その場合には、検索精度が低下する問題がある。また、データや空間を分割して検索範囲を削減することが考えられるが、高次元での特徴空間に対して効率的ではない。
【００２４】
また、所定の解像度でレンダリングされた画像から部品を特定し、類似するモデルを検索する場合、通常、画像内の部品の大きさが考慮されない。一例として、データベースに蓄積された画像によっては、電子機器に使用される極めて小さいネジと航空機等に使用されるリベットが類似形状として検索される問題がある。また、通常、部品の形状は、画像から得たジオメトリ情報を用いて算出するが、材質や部品の種類といった情報は得られない。
【００２５】
流用可能な購入部品を検索する場合、採用する部品の素材及びサイズは流用する上で重要な情報である。従って、類似形状のモデルを検索するシステムを利用する設計者にとって、採用する部品の素材及びサイズの情報も同時に得られることが望ましい。一例として、導電性の有無は、電磁的な不干渉性等のＥＭＣ（Electromagnetic  Compatibility）対策に大きく関わるため、素材は部品選択の際の重要な情報となる。
【００２６】
したがって、導電性有無の見極めとなる素材、サイズ等の情報を予めデータベースで関連付けて管理し、類似形状の部品の検索結果は、複数の類似形状とその素材を示すことが望ましい。この観点において、発明者等は人工知能を用いた検索装置に関して以下の考察を行った。
【００２７】
第１案は、検索装置において、素材、サイズ等の属性を示す付加情報を付与し、これらを含めて類似度を算出する方法である。この第１案の方法は、システム技術者であれば容易に思いつく応用例である。
【００２８】
即ち、第１案の方法による検索装置は、第１のニューラルネットワーク層に加えて、第２のニューラルネットワーク層を有する。第１のニューラルネットワーク層では、形状の類似性を算出する。つまり、１方向あたりＴ要素の特徴ベクトルがＲ方向のそれぞれで計算される。更に、第２のニューラルネットワーク層において、素材、サイズ等の属性と、第１のニューラルネットワーク層で算出された形状の類似度に基づいて、総合的な類似度が算出される。この第１案の別形態として、特徴ベクトル（Ｔ要素）に素材、サイズ等を要素として含めてもよい。
【００２９】
しかしながら、この第１案では、類似度の計算コスト及びメモリ消費量を削減できない。第１案の方法による検索装置の場合、出力結果を総合的な指標（総合的な類似度に相当）で指定できる場合にのみネットワークを学習させることが可能である。つまり、学習時に相当の学習モデルを準備し、その総合的な類似度で関連付けする必要がある。よって、第１案の方法は汎用性の低い方法と言える。
【００３０】
第２案は、検索装置内で、形状の類似度の計算を行う前に、検索条件でスクリーニングする方法である。この第２案の方法によれば、形状の類似度算出の前に検索条件に検索対象を絞り込むため処理速度が向上するが、メモリ消費量の削減は実現できない。また、検索条件を与えない場合、計算コストも変わらない。
【００３１】
一例として、設計者が検索装置のデータベースに類似形状の部品のデータが存在するか否かを知りたい場合に検索条件を指定せず形状のみで検索する場合が考えられる。この場合には、計算コスト及びメモリ消費量を削減できない。
【００３２】
第３案は、検索装置の類似形状の部品を特定した出力結果に、データベース内で関連付けられた素材、サイズ等の付加情報も含める方法である。第３案による検索装置は、設計者に複数の類似形状とそれぞれの形状に関連する付加情報とを提示し、類似度や、素材、サイズ等の注目する属性で並べ替える方法である。第３案においても、処理速度及びメモリ消費量を改善できない。
【００３３】
上述した考察を経て、発明者等は、画像を異なる解像度で比較することで、精度を保持しつつ、メモリ消費量と計算コストとを削減する手法を見出した。簡潔には、低次元の特徴ベクトルを用いて低コストで少数の類似形状の検索範囲に絞り込み、続いて、高次元の特徴ベクトルを用いた高精度な検索を行うことで、検索全体の精度を改善する。
【００３４】
［第１実施例］
先ず、第１実施例におけるシステム構成例について説明する。図１は、第１実施例におけるシステム構成例を示す図である。図１に示すシステム１００１は、サーバ１００と、複数の端末３とを有し、サーバ１００と複数の端末３とがネットワーク２を介して接続される。
【００３５】
サーバ１００は、上述した人工知能を用いた検索装置におけるメモリ消費量と計算コストとを改善した情報処理装置である。サーバ１００は、特徴抽出部４０と、検索部５０とを有する。また、サーバ１００の記憶部１３０には、高次元ＤＢ（DataBase）３１、低次元ＤＢ３２等が記憶される。
【００３６】
特徴抽出部４０は、３Ｄ（３次元）モデル４から部品の特徴を抽出し、抽出した特徴を示す高次元特徴ベクトルを作成し、更に、高次元特徴ベクトルから低次元特徴ベクトルを生成する。高次元特徴ベクトル及び低次元特徴ベクトルの生成では、予め人間の感覚で「類似する形状」を学習して獲得したニューラルネットワークが用いられる。
【００３７】
３Ｄモデル４は、３次元で部品の形状を表わしたデータであり、ネットワーク２を介して端末３からの蓄積要求５によってサーバ１００に与えられてもよいし、予め相当量の３Ｄモデル４を蓄積した高次元ＤＢ３１をサーバ１００に用意してもよい。３Ｄモデル４は、端末３で作成されたＣＡＤ（computer-aided  design）データ、複数の方向から撮影された部品を被写体とした２Ｄ（２次元）画像であってもよい。
【００３８】
高次元特徴ベクトル４Ｈ（図３）は高次元ＤＢ３１に蓄積され、低次元特徴ベクトル４Ｌ（図３）は低次元ＤＢ３２に蓄積される。特徴抽出部４０は、サーバ１００が端末３から検索要求６を受信した場合には、検索要求６で指定される３Ｄモデル４から高次元特徴ベクトル４Ｈ（図３）と低次元特徴ベクトル４Ｌ（図３）とを取得する。
【００３９】
検索部５０は、検索要求６の３Ｄモデル４の低次元特徴ベクトル４Ｌを用いて、低次元ＤＢ３２を検索し、高次元特徴ベクトル４Ｈによる検索対象を定め、定めた検索対象において、３Ｄモデル４の高次元特徴ベクトル４Ｈを用いて、類似する３Ｄモデル４を特定する。特定された３Ｄモデル４をリストにした類似情報一覧７が作成され、検索結果８に含まれて端末３に送信される。
【００４０】
第１実施例は、上述したシステム１００１の構成に限定されない。設計者が使用する端末３が、サーバ１００の機能を実装した単体のワークステーションであってもよい。この場合、ネットワークを構築することなく、１台のワークステーションで第１実施例に係る種々の処理を実現できる。
【００４１】
第１実施例では、低次元特徴ベクトル４Ｌで絞り込んだ検索対象に対して、高次元特徴ベクトル４Ｈの類似性を判定するため、高次元ＤＢ３１全体を検索対象とする場合に比べて、処理に必要なメモリ消費量を削減できる。
【００４２】
各端末３は、ユーザである設計者等が利用する端末であり、製品化した部品、購入した部品等の３Ｄモデル４をサーバ１００の記憶部１３０に蓄積したり、開発予定の部品の３Ｄモデル４を含む検索要求６を送信することで、類似情報一覧７を含む検索結果８を受信する。
【００４３】
類似情報一覧７は端末３に表示され、設計者は、部品の開発要否を判断することができる。開発又は購入等の実績のある部品の利用により、製品開発の工程を短縮できる。
【００４４】
図２は、ハードウェア構成を示す図である。図２より、サーバ１００は、コンピュータによって制御される情報処理装置であって、ＣＰＵ（Central  Processing  Unit）１１１と、主記憶装置１１２と、補助記憶装置１１３と、入力装置１１４と、表示装置１１５と、通信Ｉ／Ｆ（インターフェース）１１７と、ドライブ装置１１８とを有し、バスＢ１に接続される。
【００４５】
ＣＰＵ１１１は、主記憶装置１１２に格納されたプログラムに従ってサーバ１００を制御するプロセッサに相当する。主記憶装置１１２には、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）等が用いられ、ＣＰＵ１１１にて実行されるプログラム、ＣＰＵ１１１での処理に必要なデータ、ＣＰＵ１１１での処理にて得られたデータ等を記憶又は一時保存する。
【００４６】
補助記憶装置１１３には、ＨＤＤ（Hard  Disk  Drive）等が用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置１１３に格納されているプログラムの一部が主記憶装置１１２にロードされ、ＣＰＵ１１１に実行されることによって、各種処理が実現される。主記憶装置１１２及び補助記憶装置１１３が記憶部１３０に相当する。
【００４７】
入力装置１１４は、マウス、キーボード等を有し、管理者がサーバ１００による処理に必要な各種情報を入力するために用いられる。表示装置１１５は、ＣＰＵ１１１の制御のもとに必要な各種情報を表示する。入力装置１１４と表示装置１１５とは、一体化したタッチパネル等によるユーザインタフェースであってもよい。通信Ｉ／Ｆ１１７は、有線又は無線などのネットワークを通じて通信を行う。通信Ｉ／Ｆ１１７による通信は無線又は有線に限定されるものではない。
【００４８】
サーバ１００によって行われる処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ（Compact  Disc  Read-Only  Memory）等の記憶媒体１１９によってサーバ１００に提供される。
【００４９】
ドライブ装置１１８は、ドライブ装置１１８にセットされた記憶媒体１１９（例えば、ＣＤ−ＲＯＭ等）とサーバ１００とのインターフェースを行う。
【００５０】
また、記憶媒体１１９に、後述される本実施の形態に係る種々の処理を実現するプログラムを格納し、この記憶媒体１１９に格納されたプログラムは、ドライブ装置１１８を介してサーバ１００にインストールされる。インストールされたプログラムは、サーバ１００により実行可能となる。
【００５１】
尚、プログラムを格納する記憶媒体１１９はＣＤ−ＲＯＭに限定されず、コンピュータが読み取り可能な、構造（structure）を有する１つ以上の非一時的（non-transitory）な、有形（tangible）な媒体であればよい。コンピュータ読取可能な記憶媒体として、ＣＤ−ＲＯＭの他に、ＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
【００５２】
端末３は、ＣＰＵ１１と、主記憶装置１２と、補助記憶装置１３と、入力装置１４と、表示装置１５と、通信Ｉ／Ｆ（インターフェース）１７と、ドライブ装置１８とを有し、バスＢ２に接続される。
【００５３】
ＣＰＵ１１は、主記憶装置１２に格納されたプログラムに従って端末３を制御するプロセッサに相当する。主記憶装置１２には、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）等が用いられ、ＣＰＵ１１にて実行されるプログラム、ＣＰＵ１１での処理に必要なデータ、ＣＰＵ１１での処理にて得られたデータ等を記憶又は一時保存する。
【００５４】
補助記憶装置１３には、ＨＤＤ（Hard  Disk  Drive）等が用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置１３に格納されているプログラムの一部が主記憶装置１２にロードされ、ＣＰＵ１１に実行されることによって、各種処理が実現される。主記憶装置１２及び補助記憶装置１３が記憶部３０に相当する。
【００５５】
入力装置１４は、マウス、キーボード等を有し、管理者が端末３による処理に必要な各種情報を入力するために用いられる。表示装置１５は、ＣＰＵ１１の制御のもとに必要な各種情報を表示する。入力装置１４と表示装置１５とは、一体化したタッチパネル等によるユーザインタフェースであってもよい。通信Ｉ／Ｆ１７は、有線又は無線などのネットワークを通じて通信を行う。通信Ｉ／Ｆ１７による通信は無線又は有線に限定されるものではない。
【００５６】
端末３によって行われる処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ（Compact  Disc  Read-Only  Memory）等の記憶媒体１９によって端末３に提供される。
【００５７】
ドライブ装置１８は、ドライブ装置１８にセットされた記憶媒体１９（例えば、ＣＤ−ＲＯＭ等）と端末３とのインターフェースを行う。
【００５８】
また、記憶媒体１９に、後述される本実施の形態に係る種々の処理を実現するプログラムを格納し、この記憶媒体１９に格納されたプログラムは、ドライブ装置１８を介して端末３にインストールされる。インストールされたプログラムは、端末３により実行可能となる。
【００５９】
尚、プログラムを格納する記憶媒体１９はＣＤ−ＲＯＭに限定されず、コンピュータが読み取り可能な、構造（structure）を有する１つ以上の非一時的（non-transitory）な、有形（tangible）な媒体であればよい。コンピュータ読取可能な記憶媒体として、ＣＤ−ＲＯＭの他に、ＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
【００６０】
図３は、第１実施例における特徴抽出部の機能構成例を示す図である。図３において、特徴抽出部４０は、描画部４１と、抽出部４３と、圧縮部４５とを有する。描画部４１と抽出部４３とは、それぞれ、発明αの画像描画部１１と特徴ベクトル抽出部１２とに相当する。抽出部４３は、発明αの検索装置の＜主要要素１＞に相当する。描画部４１と、抽出部４３と、圧縮部４５とは、サーバ１００にインストールされたプログラムが、サーバ１００のＣＰＵ１１１に実行させる処理により実現される。
【００６１】
特徴抽出部４０において、３Ｄモデル４が入力されると、３Ｄモデル４にＩＤ（部品ＩＤに相当する）が付与され、ＩＤと３Ｄモデル４とが部品ＤＢ（不図示）等に蓄積される。３Ｄモデル４に対して、描画部４１が複数方向（「Ｒ方向」という）から部品を見た場合の２Ｄ画像を含むＲ方向画像セット４Ｒを作成する。
【００６２】
抽出部４３は、描画部４１が作成したＲ方向画像セット４Ｒを用いて、１方向毎の２Ｄ画像からＴＨ個の要素を抽出し、高次元特徴ベクトル４Ｈを作成する。
【００６３】
抽出部４３は、画像からＴＨ個の要素を抽出する特徴抽出用ニューラルネットワークに相当し、特徴抽出用ニューラルネットワークを用いて高次元特徴ベクトル４Ｈを取得する。高次元特徴ベクトル４Ｈは３Ｄモデル４に与えられたＩＤと共に高次元ＤＢ３１に格納される。また、３Ｄモデル４のＩＤと、高次元特徴ベクトル４Ｈとが圧縮部４５に入力される。
【００６４】
そして、圧縮部４５が、高次元特徴ベクトル４Ｈから低次元特徴ベクトル４Ｌへと変換する。得られた低次元特徴ベクトル４Ｌは、低次元ＤＢ３２に、３Ｄモデル４のＩＤと共に格納される。
【００６５】
特徴抽出部４０は、蓄積要求５又は検索要求６の受信を契機として上述した特徴抽出処理を実行する。検索要求６を受信した場合、高次元特徴ベクトル４Ｈと低次元特徴ベクトル４Ｌの蓄積は省略される。
【００６６】
描画部４１と、抽出部４３とによる描画・抽出処理ついて説明する。図４は、描画・抽出処理を説明するためのフローチャート図である。図４より、描画・抽出処理では、描画部４１は、３Ｄモデル４を入力し（ステップＳ６１）、Ｒ方向のそれぞれから部品を見た場合の複数の視野を描画し、Ｒ方向画像セット４Ｒを記憶部１３０に出力する（ステップＳ６２）。
【００６７】
そして、抽出部４３は、記憶部１３０に記憶された描画部４１が生成したＲ方向画像セット４Ｒを用いて、モデルの特徴を抽出して高次元特徴ベクトル４Ｈを作成する（ステップＳ６３）。全ての視野方向に対して高次元特徴ベクトル４Ｈが作成される。抽出部４３は、高次元特徴ベクトル４Ｈを記憶部１３０に出力する（ステップＳ６４）。その後、描画・抽出処理は終了する。
【００６８】
上述したステップＳ６３における、抽出部４３による高次元特徴ベクトル４Ｈを抽出する処理を詳述する。図５は、図４のステップＳ６３での処理を説明するためのフローチャート図である。図５において、描画部４１は、記憶部１３０に記憶されたＲ方向画像セット４Ｒから視線方向毎に画像を１つ読み込んで（ステップＳ７１）、読み込んだ画像に対して前処理を行う（ステップＳ７２）。方向毎に画像が読み込まれる。
【００６９】
描画部４１は、特徴抽出用ニューラルネットワークを用いて画像を処理し、ＴＨ個の要素を取得する（ステップＳ７３）。そして、描画部４１は、全ての視線方向で要素を取得したか否かを判断する（ステップＳ７４）。全ての視線方向で要素を取得した場合（ステップＳ７４のＮＯ）、描画部４１は、ステップＳ７１へと戻り、次の視線方向の画像を読み込み、上記同様の処理を行う。
【００７０】
一方、全ての視線方向で要素を取得した場合（ステップＳ７４のＹＥＳ）、描画部４１は、高次元特徴ベクトル４Ｈ（ＴＨ要素  ×  Ｒ方向）を記憶部１３０に出力する（ステップＳ７５）。高次元特徴ベクトル４Ｈは記憶部１３０の高次元ＤＢ３１に保持される。そして、ステップＳ６３の処理を終了する。
【００７１】
次に、圧縮部４５による圧縮処理について説明する。圧縮部４５は、人間の感覚で「類似する形状」を学習して得たニューラルネットワークに相当する。圧縮部４５のニューラルネットワークは、抽出部４３のニューラルネットワークのニューロン数を削減したネットワークである。以下、「圧縮用ニューラルネットワーク」という。
【００７２】
特徴抽出用ニューラルネットワーク及び圧縮用ニューラルネットワークとして、AlexNet（Krizhevsky，AIex，llya  Sutskever，and  Geoffrey  E．Hinton．“Advances  in  neural  information  processing  system，2012）and  GoogLeNet（Szegedy，Christian，et  al．“Going  deeper  with  convotutions”Proceedings  Of  the  IEEE  Confbrence  on  Computer  Vision  and  Pattern  Recognition，2015）を用いればよいが、これらに限定するものではなく、他のニューラルネットワークであってもよい。
【００７３】
図６は、圧縮処理を説明するためのフローチャート図である。図６において、圧縮部４５は、記憶部１３０に記憶されている高次元特徴ベクトル４Ｈから視線方向毎にＴＨ個の要素を読み込む（ステップＳ８１）。
【００７４】
圧縮部４５は、読み込んだＴＨ個の要素を圧縮用ニューラルネットワークを介してＴＬ個の要素に圧縮する（ステップＳ８２）。ＴＬ個の要素を得ると、圧縮部４５は、全ての視線方向で要素を取得したか否かを判断する（ステップＳ８３）。全ての視線方向で要素を取得していない場合（ステップＳ８３のＮＯ）、圧縮部４５は、ステップＳ８１へと進み、次の視線方向のＴＨ個の要素を取得し、上述した同様の処理を繰り返す。
【００７５】
一方、全ての視線方向で要素を取得した場合（ステップＳ８３のＹＥＳ）、圧縮部４５は、低次元特徴ベクトル４Ｌ（ＴＬ要素  ×  Ｒ方向）を記憶部１３０に出力する（ステップＳ８４）。そして、圧縮部４５は、圧縮処理を終了する。この圧縮処理によって、視線方向毎に、ＴＨ個より要素数の少ないＴＬ個を有する低次元特徴ベクトル４Ｌを得られる。得られた低次元特徴ベクトル４Ｌは記憶部１３０の低次元ＤＢ３２に保持される。
【００７６】
図７は、圧縮用ニューラルネットワークの一例を示す図である。図７において、圧縮用ニューラルネットワーク４５ａは、入力層４５ｉｎと、人工知能層４５ｐと、出力層４５ｏｕｔとを有する。
【００７７】
入力層４５ｉｎは、高次元特徴ベクトル４Ｈの要素数ＴＨのノード数を有し、各要素の値が入力される。人工知能層４５ｐは、人間の感覚で「類似する形状」を予め学習して得られた重みパラメータを有し、入力されたノードの値に重み付けする処理を行う。出力層４５ｏｕｔは、低次元特徴ベクトル４Ｌの要素数ＴＬのノード数を有し、人工知能層４５ｐから入力される重み付け後の値を用いて演算を行った結果を出力する。
【００７８】
図８は、サーバの検索部の機能構成例を示す図である。図８では、端末３からの検索要求６に応じて、特徴抽出部４０による特徴抽出処理の後に、検索部５０による検索処理を行うため、特徴抽出部４０の機能構成も併せて例示している。
【００７９】
検索時には、検索要求６に含まれる３Ｄモデル４の特徴抽出を行うが、高次元ＤＢ３１及び低次元ＤＢ３１への高次元特徴ベクトル４Ｈ及び低次元特徴ベクトル４Ｌの蓄積は行なわれず、一時的に記憶部１３０に記憶される。
【００８０】
検索部５０は、低次元特徴比較部５１と、高次元特徴比較部５３と、結果表示部５７とを有する。低次元特徴比較部５１と、高次元特徴比較部５３と、結果表示部５７とは、サーバ１００にインストールされたプログラムが、サーバ１００のＣＰＵ１１１に実行させる処理により実現される。
【００８１】
低次元特徴比較部５１は、低次元ＤＢ３２を読み込んで、記憶部１３０から、一時的に格納された検索要求６の３Ｄモデル４の低次元特徴ベクトル４Ｌを取得し、取得した低次元特徴ベクトル４Ｌと低次元ＤＢ３２の全ての低次元特徴ベクトル４Ｌと比較する。低次元特徴ベクトル４Ｌ同士の内積により類似性を判定すればよい。
【００８２】
最も類似する順に、低次元特徴ベクトル４Ｌに関連付けられたＩＤを低次元ＤＢ３２から取得し、低次元特徴比較結果５１ａを作成する。設計者によって設定されたＮ個より多めに抽出することが望ましいため、Ｍ×Ｎ個のＩＤが抽出される。
【００８３】
ここで、Ｍはデータ依存の因子であり、２以上の整数値であればよい。具体的には、Ｎ（＝１０）個の最も類似する形状を検索する要求に対して、Ｍ（＝５）個の場合、低次元特徴比較部５１では５０モデルを類似性の高い順に特定する。低次元特徴比較結果５１ａでは、５０個のＩＤが示される。低次元特徴比較結果５１ａは、一時的に記憶部１３０に記憶される。
【００８４】
高次元特徴比較部５３は、高次元ＤＢ３１を読み込んで、記憶部１３０内の低次元特徴比較結果５１ａで示されるＩＤの高次元特徴ベクトル４Ｈを高次元ＤＢ３１から取得する。高次元特徴比較部５３は、記憶部１３０から検索要求６の３Ｄモデル４の高次元特徴ベクトル４Ｈと高次元ＤＢ３１から取得した高次元特徴ベクトル４Ｈと比較する。高次元特徴ベクトル４Ｈ同士の類似性は、内積で判定してもよい。
【００８５】
高次元特徴比較部５３は、最も類似する順にＮ個のＩＤを選択し、選択したＩＤを示す類似形状結果５３ａを作成する。類似形状結果５３ａにより、候補画像のＩＤが示される。
【００８６】
結果表示部５７は、作成した類似形状結果５３ａのＩＤに関連付られる部品ＤＢから部品情報を取得して類似情報一覧７を作成し、作成した類似情報一覧７を含む検索結果８を検索要求元の端末３に送信することで、端末３に類似情報一覧７を表示させる。
【００８７】
上述では、入力された３Ｄモデル４に最も類似するモデルをＮ個検索する場合を例として説明しているが、定めた閾値以下の距離（類似度）となる複数のモデルを検索するようにしてもよい。
【００８８】
次に、検索部５０による検索処理を説明する。図９は、検索処理を説明するためのフローチャート図である。図９において、検索部５０では、低次元特徴比較部５１が低次元ＤＢ３２をロードし（ステップＳ５０１）、低次元検索を行う（ステップＳ５０２）。低次元検索は、線形検索に相当し、低次元ＤＢ３２の全てのＩＤに対して行われる。
【００８９】
低次元特徴比較部５１は、低次元検索の結果に基づいて、最も類似するＭ×Ｎ個の３Ｄモデル４のＩＤを取得する（ステップＳ５０３）。Ｍ×Ｎ個の３Ｄモデル４のＩＤを示す低次元特徴比較結果５１ａが記憶部１３０に記憶される。
【００９０】
次に、高次元特徴比較部５３は、高次元ＤＢ３１から、低次元特徴比較結果５１ａを参照して、ステップＳ５０３で取得したＩＤを含むサブセットをロードして（ステップＳ５０４）、高次元検索を行う（ステップＳ５０５）。この場合、ステップＳ５０３で取得したＩＤで検索範囲が絞り込まれているため、ロードするサブセットによるメモリ消費量を大幅に低減できる。
【００９１】
高次元特徴比較部５３は、最も類似するＮ個の３Ｄモデル４のＩＤを取得して（ステップＳ５０６）、高次元ＤＢ３１のサブセットを解放する（ステップＳ５０７）。そして、高次元特徴比較部５３は、取得したＮ個の３Ｄモデル４のＩＤを示す類似形状結果５３ａを戻り値として出力する（ステップＳ５０６）。
【００９２】
ステップＳ５０３における低次元検索は、類似度計算用の行列を格納するためのメモリ消費量を減少させ、高次元検索と比べると次元数が少ないため類似度計算の計算速度を減少させつつ、計算結果である類似形状の候補をスクリーニングできる特徴がある。
【００９３】
ステップＳ５０５における高次元検索は、非常に小さなＩＤの部分集合に対してのみに行われるため、わずかな資源しか必要としない。
【００９４】
Ｍは、単純には、Ｍ＞１であればよいが、Ｍの値及び圧縮部４５のニューロン数は、高次元検索で計算される最も類似する形状が低次元検索で出力されるＩＤの部分集合に含まれることを保証できる程度の大きさが好ましい。一般に、圧縮部４５のニューロン数が少ないと、Ｍの値はより大きくなる。
【００９５】
次に、検索部５０の低次元特徴比較部５１が上述した発明αの＜主要要素２＞に相当する。低次元特徴比較部５１による低次元特徴比較処理について説明する。図１０は、低次元特徴比較処理を説明するためのフローチャート図である。
【００９６】
図１０において、低次元特徴比較部５１は類似行列ｓＭを計算する（ステップＳ９１）。類似行列ｓＭは、
ｓＭ  ＝  １−ｆＭ＊ｄＭＴ            （１）
で表される。上記（１）式において、ｆＭは特徴行列を示し、ｄＭはデータベース行列を示す。記号「＊」は行列の乗算を示し、上付きＴは転置行列を示す。この（１）式では特徴ベクトルは正規化されていることを前提とする。
【００９７】
特徴行列ｆＭでは、行が視線方向を指定し、列は要素（特徴）を指定する。１つの列は、ある視線方向から部品を見たときの画像の特徴ベクトルを示す。特徴行列ｆＭは、複数の列により、異なる視線方向の全ての特徴ベクトルを示した行列となる。
【００９８】
データベース行列ｄＭは、低次元ＤＢ３２で管理される全てのＩＤと、特徴行列ｆＭとによる行列である。データベース行列ｄＭの大きさは、ＩＤの総数と、特徴ベクトルの長さとで表される。
【００９９】
次に、低次元特徴比較部５１は、類似ベクトルｓＶを計算する（ステップＳ９２）。類似ベクトルｓＶは、ＩＤの総数を長さとし、ｊ番目の要素は、検索要求６の３Ｄモデル４とｊ番目のモデルとの距離を示す。
【０１００】
検索要求６の３Ｄモデル４のｉ番目の視線方向の画像の特徴ベクトルと、ｊ番目のモデルの全ての視線方向の画像のそれぞれの特徴ベクトルとの最小コサイン距離を求める処理を、検索要求６の３Ｄモデル４の全ての視線方向の画像に対して行う。距離が小さい程、より類似していることを示す。得られた最小コサイン距離の全てを合計する。この合計値が、ｊ番目の要素によって示される。
【０１０１】
低次元特徴比較部５１は、類似ベクトルｓＶに基づいて、最も類似するモデルの順に、設計者が指定したＭ×Ｎ個のＩＤを取得する（ステップＳ９３）。Ｍ×Ｎ個のＩＤを示す類似形状結果５３ａが記憶部１３０に出力され、低次元特徴比較部５１による低次元特徴比較処理を終了する。
【０１０２】
高次元特徴比較部５４による高次元特徴比較処理は、上述した低次元特徴比較部５１による低次元特徴比較処理と同様である。高次元特徴比較処理では、ステップＳ９３で取得したＭ×Ｎ個の３Ｄモデル４のＩＤを対象として、データベース行列ｄＭを定めればよく、また、類似ベクトルｓＶに基づいて、Ｎ個の３Ｄモデル４のＩＤを取得すればよい。
【０１０３】
このように第１実施例では、検索の対象となる３Ｄモデル４の特徴抽出を高次元及び低次元で行っておくことで、検索時のメモリ消費量と実行回数とを減少できる。
【０１０４】
また、特徴抽出では、人間の感覚で類似する形状を学習したニューロンネットワークを用いるため、精度良く類似形状を持つ部品のモデルを特定できる。
【０１０５】
［第２実施例］
次に、サイズ、素材等の付加情報を含めた検索結果８を出力する第２実施例について説明する。第２実施例では、ＣＡＤで作成された部品形状を３次元で表現する３次元ＣＡＤデータ４ｂで形状の類似するモデルを検索することで、３次元ＣＡＤデータ４ｂに含まれる付加情報を用いて、類似形状のモデルを精度良く検索する。
【０１０６】
図１１は、第２実施例におけるシステム構成例を示す図である。図１１に示すシステム１００２は、サーバ１００と、複数の端末３とを有し、サーバ１００と複数の端末３とＣＡＤデータＤＢ２００とがネットワーク２を介して接続される。
【０１０７】
サーバ１００は、第１実施例と同様の情報処理装置であり、特徴抽出部４０−２と、検索部５０ｂとを有する。第１実施例と同様に、サーバ１００の記憶部１３０には、高次元ＤＢ（DataBase）３１、低次元ＤＢ３２等が記憶される。
【０１０８】
第１実施例との違いは、端末３からの蓄積要求５は、ＣＡＤデータＤＢ２００に対して行なわれる。ＣＡＤデータＤＢ２００への３次元ＣＡＤデータ４ｂの追加に応じて、サーバ１００の特徴抽出４０−２によって、高次元特徴ベクトル４Ｈと、低次元特徴ベクトル４Ｌとが作成され、それぞれ高次元ＤＢ３１と低次元ＤＢ３２とに格納される。
【０１０９】
第２実施例では、特徴抽出４０−２は、更に、３次元ＣＡＤデータ４ｂから付加情報を取得して、取得した付加情報をＩＤと関連付けて記憶部１３０に格納する。
【０１１０】
ＣＡＤデータＤＢ２００から蓄積要求５をサーバ１００へ送信してもよいし、サーバ１００が定期的に、ＣＡＤデータＤＢ２００から新たに蓄積された３次元ＣＡＤデータ４ｂを要求してもよい。３次元ＣＡＤデータ４ｂは、ＣＡＤ等で作成された、仮想空間上に部品形状を表現可能な情報を含むデータであって、頂点値、位置、形状を表現するパラメータ等を示す。
【０１１１】
第２実施例では、設計者は、サーバ１００への３次元ＣＡＤデータ４ｂを蓄積することを意識する必要がない。設計者は、端末３等においてＣＡＤで部品を設計し、ＣＡＤデータＤＢ２００へ格納すればよい。
【０１１２】
サーバ１００では、端末３からの検索要求６に対して、検索部５０ｂは、第１実施例での処理で得られた類似する形状を持つモデルのＩＤ毎に、ＩＤに関連付けられた付加情報を取得し、付加情報を含む検索結果７ｂを端末に提供する。
【０１１３】
第２実施例における検索結果８では、付加情報を含む類似情報一覧７ｂが端末３に提供され表示装置１５に表示されるため、設計者は、形状の類似のみではなく、サイズ、素材等についても付加情報から得ることができる。
【０１１４】
サーバ１００及び端末３のハードウェア構成は、第１実施例と同様であるため、その説明を省略する。
【０１１５】
図１２は、第２実施例における特徴抽出部の機能構成例を示す図である。図１２において、特徴抽出部４０−２は、第１実施例における描画部４１と、抽出部４３と、及び圧縮部４５とに加えて、素材情報取得部４７と、サイズ算出部４９とを更に有する。
【０１１６】
描画部４１と、抽出部４３と、圧縮部４５と、素材情報取得部４７と、サイズ算出部４９とは、サーバ１００にインストールされたプログラムが、サーバ１００のＣＰＵ１１１に実行させる処理により実現される。
【０１１７】
特徴抽出部４０−２は、３次元ＣＡＤデータ４ｂから形状データ４ｃを取得し、描画部４１に入力する。描画部４１、抽出部４３、及び圧縮部４５によるそれぞれの処理は、第１実施例と同様であるため、その説明を省略する。
【０１１８】
一方、特徴抽出部４０−２の素材情報取得部４７は、３次元ＣＡＤデータ４ｂから素材情報を取得して素材ＤＢ３３にＩＤと共に追加する。また、サイズ算出部４９は、形状データ４ｃから頂点座標等を取得して、部品のサイズを算出し、ＩＤと共にサイズＤＢ３４に追加する。サイズ算出部４９によるサイズ算出処理について説明する。
【０１１９】
図１３は、サイズ算出処理を説明するためのフローチャート図である。図１３において、サイズ算出部４９は、形状データ４ｃから頂点座標を取得し（ステップＳ２５１）、取得した頂点座標を用いて、ＸＹＺの各軸方向の幅を算出する（ステップＳ２５２）。
【０１２０】
サイズ算出部４９は、ＸＹＺの各軸ごとに、最長の長さを取得して、サイズＤＢ３４に記憶し（ステップＳ２５３）、このサイズ算出処理を終了する。
【０１２１】
図１４は、サーバの検索部の機能構成例を示す図である。図１４では、端末３からの検索要求６に応じて、特徴抽出部４０−２による特徴抽出処理の後に、検索部５０−２による検索処理を行うため、特徴抽出部４０−２の機能構成も併せて例示している。
【０１２２】
検索時には、検索要求６に含まれる形状データ４ｃの特徴抽出を行うが、高次元ＤＢ３１及び低次元ＤＢ３１への高次元特徴ベクトル４Ｈ及び低次元特徴ベクトル４Ｌの蓄積は行なわれず、一時的に記憶部１３０に記憶される。
【０１２３】
検索部５０−２は、低次元特徴比較部５１と、高次元特徴比較部５３とを有し、第１実施例と同様であるためその説明を省略する。第２実施例では、検索部５０−２は、更に、付加情報抽出部５５と、結果表示部５７−２とを有する。低次元特徴比較部５１と、高次元特徴比較部５３と、付加情報抽出部５５と、結果表示部５７−２とは、サーバ１００にインストールされたプログラムが、サーバ１００のＣＰＵ１１１に実行させる処理により実現される。
【０１２４】
第１実施例と同様に、低次元特徴比較部５１は、低次元特徴ベクトル４Ｌと低次元ＤＢ３２の全ての低次元特徴ベクトル４Ｌとを比較し、低次元特徴比較結果５１ａを得る。内積により比較すればよい。低次元特徴比較結果５１ａのＩＤにより、人間の感覚で類似する形状を持つＭ×Ｎ個の候補モデルが示される。
【０１２５】
高次元特徴比較部５３は、高次元特徴ベクトル４Ｈと高次元ＤＢ３１から低次元特徴比較結果５１ａに基づいて得られた高次元特徴ベクトル４Ｈとを比較し、類似形状結果５３ａを得る。高次元ＤＢ３１の全データを対象とせず、低次元特徴比較結果５１ａで特定されるＭ×Ｎ個の候補モデルを対象とする。比較は、内積により行えばよい。類似形状結果５３ａでは、Ｎ個の候補モデルがＩＤで特定される。
【０１２６】
第２実施例では、更に、付加情報抽出部５５が、高次元特徴比較部５３によって得られた類似形状結果５３ａで示されるＩＤを用いて素材ＤＢ３３とサイズＤＢ３４とを検索し、それぞれから素材とサイズとを取得する。類似形状結果５３ａで示される各ＩＤに対応付けて、素材とサイズとを示した抽出結果５５ａが出力される。
【０１２７】
結果表示部５７−２は、類似形状結果５３ａと、抽出結果５５ａとを用いて、付加情報を含む類似情報一覧７ｂを作成して、検索要求６の要求元である端末３へ類似情報一覧７ｂを含む検索結果８を送信する。類似形状結果５３ａに加えて抽出結果５５ａを用いる以外には、第１実施例の結果表示部５７と同様である。
【０１２８】
このように第２実施例では、ＣＡＤデータＤＢ２００との連携により、新たな３次元ＣＡＤデータ４ｂが追加される毎に、自動的に特徴抽出を行って、高次元ＤＢ３１と低次元ＤＢ３２とを更新する。
【０１２９】
また、３次元ＣＡＤデータ４ｂの検索時には、第１実施例と同様にメモリ消費量と実行回数とを減少させる。更に、第２実施例では、人間の感覚で類似する形状を持つ候補モデルに対してサイズ、素材等の付加情報を更に設計者に提示できるため、設計者は、所望する部品の存在の有無をより確実に検証することができる。
【０１３０】
次に、第１実施例及び第２実施例で利用される種々のデータベースについて説明する。図１５は、高次元ＤＢのデータ構成例を示す図である。図１５において、高次元ＤＢ３１は、部品を表わすモデル毎に高次元特徴ベクトル４Ｈを記憶したデータベースであり、部品ＩＤ、高次元特徴ベクトル等の項目を有する。
【０１３１】
部品ＩＤは、モデルを特定するＩＤである。高次元特徴ベクトルは、抽出部４３によって計算された高次元特徴ベクトル４ＨのＴＨ個の要素の各値を示す。
【０１３２】
この例では、部品ＩＤ「１」の高次元特徴ベクトル４Ｈは（0．1，0．1，0．3，0．3，0．2，0．9，0．5，．．．）であり、部品ＩＤ「２」の高次元特徴ベクトル４Ｈは（0．5，0．2，0．4，0．4，0．4，0．7，0．4，．．．）である。他の部品ＩＤについても同様に高次元特徴ベクトル４ＨのＴＨ個の値が示される。
【０１３３】
図１６は、低次元ＤＢのデータ構成例を示す図である。図１６において、低次元ＤＢ３２は、部品を表わすモデル毎に低次元特徴ベクトル４Ｌを記憶したデータベースであり、部品ＩＤ、低次元特徴ベクトル等の項目を有する。
【０１３４】
部品ＩＤは、モデルを特定するＩＤである。低次元特徴ベクトルは、抽出部４３によって計算された低次元特徴ベクトル４ＬのＴＬ個の要素の各値を示す。ＴＬ＜ＴＨである。
【０１３５】
この例では、部品ＩＤ「１」の高次元特徴ベクトル４Ｈは（0．2，0．2，0．4，．．．）であり、部品ＩＤ「２」の高次元特徴ベクトル４Ｈは（0．4，0．3，0．3，．．．）である。他の部品ＩＤについても同様に高次元特徴ベクトル４ＨのＴＬ個の値が示される。
【０１３６】
第２実施例では、更に、素材ＤＢ３３と、サイズＤＢ３４とが用いられる。図１７は、素材ＤＢのデータ構成例を示す図である。図１７において、素材ＤＢ３３は、部品を表わすモデルの素材名を記憶し管理するためのデータベースであり、第１テーブル３３ａと第２テーブル３３ｂとを有する。
【０１３７】
第１テーブル３３ａは、部品ＩＤと素材ＩＤとを対応付けたテーブルである。第２テーブル３３ｂは、素材ＩＤと素材名とを対応付けたテーブルである。第１テーブル３３ａと第２テーブル３３ｂとは、素材ＩＤで関連付けされるため、部品ＩＤに素材名を対応付けることができる。
【０１３８】
図１８は、サイズＤＢのデータ構成例を示す図である。図１８において、サイズＤＢ３４は、モデル毎のサイズを記憶したデータベースであり、部品ＩＤ、サイズ等の項目を有する。部品ＩＤは、モデルを特定するＩＤである。サイズは、形状データ４ｃから得られるＸＹＺの各軸方向の幅のなかで最長の長さを示す。
【０１３９】
上述したデータベース３１〜３４は、リレーショナル・データベースであり、どのモデル（部品）に対する情報であるかを検索可能なリレーションを有する。
【０１４０】
上述したデータベース３１〜３４に加えて、第２実施例では、更に、過去に部品を使用した際の不具合等の情報、部品を購入した時の価格等のデータベースを備えるようにしてもよい。この場合、モデルを特定するＩＤ（部品ＩＤ）を用いて、これらのデータベースを検索し、更なる情報をサイズ及び素材に加えて付加情報としてもよい。
【０１４１】
この場合、設計者は、過去の情報を参照することで、既に存在する部品の利用可能性を検討できる。また、価格情報に基づいて、部品開発の必要性を検討できる。
【０１４２】
上述した第１実施例及び第２実施例によれば、既存の技術では、検索時のメモリ消費量が約１００ＧＢ必要となる場合であっても、１／１０の約１０ＧＢで検索が可能であるため、通常のワークステーションで動作可能である。
【０１４３】
また、第１又は第２実施例のいずれも、ＧＰＵ（Graphics  Processing  Unit）等のアクセレレーターへの実装も十分に可能な値であり、ＧＰＵを活用し、より高速な大規模な形状検索システムを構築可能である。
【０１４４】
具体的には、第１及び第２実施例によれば、浮動小数点演算命令が１桁少なくなる。即ち、検索に要する時間が約１／１０になる。現状において、約１００ＧＢ以上のＲＡＭを搭載する高性能マシンならば論理上の検索時間は５．６秒となるが、マシンが高価なものとなり現在ではこの計算時間を実現することは非常に困難である。
【０１４５】
上述した第１及び第２実施例では、Ｒ個の視線方向を削減することなく、同環境での検索時間が凡そ０．３５秒となる上に、メモリ消費量も約１／１０とすることができ、形状検索を１台のワークステーションで容易に実現できる。
【０１４６】
２０１６年５月１７日に出願した英国特許出願番号1608645．6及び独国特許出願番号102016208436．4を基礎としてパリ条約に基づく優先権を主張した、２０１７年３月３０日に出願の米国特許出願番号15/474304の全内容を本出願に援用する。
【０１４７】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、主々の変形や変更が可能である。
【０１４８】
以上の第１及び第２実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
異なる視線方向から捉えた対象物の各画像から、高次元特徴ベクトルと、該高次元特徴ベクトルより次元の低い低次元特徴ベクトルとを算出して特徴を抽出し、
前記低次元特徴ベクトルを使用して類似画像の検索範囲を特定し、
特定された前記検索範囲において、定められた選択基準を満たす前記類似画像を、前記高次元特徴ベクトルを用いて検索する
処理をコンピュータに行わせる検索プログラム。
（付記２）
前記コンピュータは、
前記高次元特徴ベクトルを、人間の感覚で類似する形状を学習させた第１のニューラルネットワークを用いて算出し、
前記低次元特徴ベクトルを、前記高次元特徴ベクトルを入力とする第２のニューラルネットワークから算出する
ことを特徴とする付記１記載の検索プログラム。
（付記３）
前記第２のニューラルネットワークは、前記第１のニューラルネットワークのニューロン数を削減したニューラルネットワークである
ことを特徴とする付記２記載の検索プログラム。
（付記４）
前記第２のニューラルネットワークは、前記選択基準にマージンを持たせた基準に変更して、前記検索範囲を特定する
ことを特徴とする付記３記載の検索プログラム。
（付記５）
前記コンピュータに、
検索された前記類似画像に関連付けられた形状に係る付加情報と、該類似画像とを示す検索結果を出力する
処理を行わせる付記１乃至４のいずれか一項に記載の検索プログラム。
（付記６）
前記対象物は、３次元形状を有する
ことを特徴とする付記１乃至５のいずれか一項に記載の検索プログラム。
（付記７）
複数の座標軸のそれぞれに対して前記対象物を回転させて、固定された視点から該対象物を描画した複数の２次元画像を取得し、
取得した前記複数の２次元画像のそれぞれから高次元特徴ベクトルを抽出する
ことを特徴とする付記１乃至６のいずれか一項に記載の検索プログラム。
（付記８）
異なる視線方向から捉えた対象物の各画像から、高次元特徴ベクトルと、該高次元特徴ベクトルより次元の低い低次元特徴ベクトルとを算出して特徴を抽出し、
前記低次元特徴ベクトルを使用して類似画像の検索範囲を特定し、
特定された前記検索範囲において、定められた選択基準を満たす前記類似画像を、前記高次元特徴ベクトルを用いて検索する
処理をコンピュータが行う検索方法。
（付記９）
異なる視線方向から捉えた対象物の各画像から、高次元特徴ベクトルと、該高次元特徴ベクトルより次元の低い低次元特徴ベクトルとを算出して特徴を抽出し、
前記低次元特徴ベクトルを使用して類似画像の検索範囲を特定し、
特定された前記検索範囲において、定められた選択基準を満たす前記類似画像を、前記高次元特徴ベクトルを用いて検索する
検索プログラムが動作する情報処理装置。
【符号の説明】
【０１４９】
２          ネットワーク
３          端末
４          ３Ｄ部品モデル
４ｂ        ３次元ＣＡＤデータ
４ｃ        形状データ
４Ｒ        Ｒ方向画像セット
５          蓄積要求
６          検索要求
７、７ｂ    類似情報一覧
８          検索結果
３１        高次元ＤＢ
３２        低次元ＤＢ
３３        素材ＤＢ
３４        サイズＤＢ
４０、４０−２  特徴抽出部
４１        描画部
４３        抽出部
４５        圧縮部
５０、５０−２  検索部
５１        低次元特徴比較部
５１ａ      低次元特徴比較結果
５３        高次元特徴比較部
５３ａ      高次元特徴比較結果
５５        付加情報抽出部
５７、５７−２  結果表示部
１００      サーバ
２００      ＣＡＤデータＤＢ
【図１】
2019045894.tif 000003
【図２】
2019045894.tif 000004
【図３】
2019045894.tif 000005
【図４】
2019045894.tif 000006
【図５】
2019045894.tif 000007
【図６】
2019045894.tif 000008
【図７】
2019045894.tif 000009
【図８】
2019045894.tif 000010
【図９】
2019045894.tif 000011
【図１０】
2019045894.tif 000012
【図１１】
2019045894.tif 000013
【図１２】
2019045894.tif 000014
【図１３】
2019045894.tif 000015
【図１４】
2019045894.tif 000016
【図１５】
2019045894.tif 000017
【図１６】
2019045894.tif 000018
【図１７】
2019045894.tif 000019
【図１８】
2019045894.tif 000020