JP6888484B2 - 検索プログラム、検索方法、及び、検索プログラムが動作する情報処理装置 - Google Patents

検索プログラム、検索方法、及び、検索プログラムが動作する情報処理装置 Download PDF

Info

Publication number
JP6888484B2
JP6888484B2 JP2017164550A JP2017164550A JP6888484B2 JP 6888484 B2 JP6888484 B2 JP 6888484B2 JP 2017164550 A JP2017164550 A JP 2017164550A JP 2017164550 A JP2017164550 A JP 2017164550A JP 6888484 B2 JP6888484 B2 JP 6888484B2
Authority
JP
Japan
Prior art keywords
dimensional feature
search
feature vector
dimensional
low
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.)
Active
Application number
JP2017164550A
Other languages
English (en)
Other versions
JP2019045894A (ja
Inventor
雅如 木寺
雅如 木寺
慎 坂入
慎 坂入
セルバン ジョルジェスク
セルバン ジョルジェスク
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017164550A priority Critical patent/JP6888484B2/ja
Priority to US16/109,832 priority patent/US20190065913A1/en
Publication of JP2019045894A publication Critical patent/JP2019045894A/ja
Application granted granted Critical
Publication of JP6888484B2 publication Critical patent/JP6888484B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/56Information retrieval; Database structures therefor; File system structures therefor of still image data having vectorial format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • 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/647Three-dimensional objects by matching two-dimensional images to three-dimensional objects
    • 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
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/08Intellectual property [IP] blocks or IP cores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

Landscapes

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

Description

本発明は、検索プログラム、検索方法、及び、検索プログラムが動作する情報処理装置に関する。
近年、製品開発では、3次元CAD(Computer Aided Design)を使用してコンピュータの仮想空間に製品モデルを生成し、その3次元形状を活用することで各種解析やデジタルモックアップ等による各種検証が適用されている。昨今は製品開発のサイクルが非常に短いこともあり、3次元CADで製品モデルを作成する際には、購入部品のCADデータをライブラリとしてデータベースに登録しておくことで、設計済み部品として流用する。または、旧機種で設計した部品を流用することで短期で製品開発を行なえる。
しかしながら、部品の3次元のCADデータを蓄積したデータベースを利用した製品モデルの3次元での検索では、部品と製品モデルのそれぞれを複数方向から見て得た特徴により類似性を判断するため、検索時のメモリ消費量が膨大になる。
検索テンプレートと候補画像の間の相対的一致度を得るため、先ず低解像度で圧縮画像のデータベースを検索し、一致度が一定の閾値より大きい場合、候補画像の解像度を上げて再度マッチングを行う技術等が知られている。
特開平10−55433号公報 特開2009−129337号公報 特表2008−527473号公報
しかしながら、上述した技術では、ウェーブレット圧縮技術を用いて圧縮した画像を、フーリエ相関技術を用いて画像データベースから検索する技術であり、対象は2次元画像である。従って、3次元の製品モデルを検索する際のメモリ消費量を削減することができない。
したがって、1つの側面では、検索時のメモリ消費量を減らすことを目的とする。
一態様によれば、異なる視線方向から捉えた対象物の各画像から、高次元特徴ベクトルと、該高次元特徴ベクトルより次元の低い低次元特徴ベクトルとを算出して特徴を抽出し、前記低次元特徴ベクトルを使用して類似画像の検索範囲を特定し、特定された前記検索範囲において、定められた選択基準を満たす前記類似画像を、前記高次元特徴ベクトルを用いて検索する処理をコンピュータに行わせる検索プログラムが提供される。
また、上記課題を解決するための手段として、検索方法、及び、上記検索プログラムが動作する情報処理装置とすることもできる。
検索時のメモリ消費量を減らすことができる。
第1実施例におけるシステム構成例を示す図である。 ハードウェア構成を示す図である。 第1実施例における特徴抽出部の機能構成例を示す図である。 描画・抽出処理を説明するためのフローチャート図である。 図4のステップS63での処理を説明するためのフローチャート図である。 圧縮処理を説明するためのフローチャート図である。 圧縮用ニューラルネットワークの一例を示す図である。 サーバの検索部の機能構成例を示す図である。 検索処理を説明するためのフローチャート図である。 高次元特徴比較処理を説明するためのフローチャート図である。 第2実施例におけるシステム構成例を示す図である。 第2実施例における特徴抽出部の機能構成例を示す図である。 サイズ算出処理を説明するためのフローチャート図である。 サーバの検索部の機能構成例を示す図である。 高次元DBのデータ構成例を示す図である。 低次元DBのデータ構成例を示す図である。 素材DBのデータ構成例を示す図である。 サイズDBのデータ構成例を示す図である。
以下、本発明の実施の形態を図面に基づいて説明する。情報処理による部品の検索では、見る角度によって見えない突起、凹み等があるため、部品に係る3次元のデータで検索することが望ましい。部品の検索では、主には類似する形状で検索される。
例えば、各部品の形状にラベリングした部品種類、サイズ等の属性情報をデータベースに格納し、検索対象の部品の形状にラベリングされた属性情報を用いて検索する方法等が考えられる。このようは方法では、「形状が類似する」という結果は得られない。
このようなことから、形状の類似度を考慮する検索方法が求められ、これまでにいくつかのアプローチが提案されている。一例として、3次元形状の表面上にランダムに(又は複数の固定方向から)点群を配置し、点群間の距離をヒストグラムとして解析する方法がある。このような方法は、計算が非常に複雑であり計算コストが高く、また、機械的に類似度が算出されるため、人間の感覚で「類似する形状」とは大きく乖離することが多々あった。
一方、人工知能(AI)技術の進歩により、2次元画像の中から特徴的なパターン(即ち、類似するパターン)を検出できるようになっている。一例として、自動車産業においては、道路や車線の認識、障害物や歩行者の検知は、人工知能技術により瞬時に行えるレベルに達しており、近い将来に自動運転技術が確立され得る。
設計する部品又はアセンブリに似た過去の製品モデルが存在する場合には、既存の部品への代替えや改良等により、新たに開発する場合に比べて、製品開発の工数を削減できるため、設計者にとって大きな関心ごとである。
人工知能による画像認識技術を3次元の類似形状検索に応用することで、人間の感覚で「類似する形状」を「学習」させた技術に係る発明が、同一出願人により出願されている(米国特許出願番号15/474304)。この発明により、人工知能による画像認識が実現されている。以下の説明において、この出願により開示されている発明を発明αと呼び、この発明αに係る記述子作成装置を、「人工知能を用いた検索装置」、又は、単に「検索装置」という。
人間が人工知能に検出すべき特徴パターンを教えるフェーズを含んでいるため、人間の感覚に近い「似ている」形状の検索が可能である。人工知能を用いた検索装置は、以下の2つの主要な要素を包含する。
<主要要素1>
3次元モデルから特徴ベクトルを抽出してデータベースに格納する抽出部
<主要要素2>
3次元モデルを入力とし、この3次元モデルに最も類似する形状をデータベースの中から検索する検索部
上記<主要要素1>及び<主要要素2>の詳細は後述される。
人工知能を用いた検索装置は、高速かつ高い精度で「似ている」形状の検索を可能とするが、大規模な3次元モデルデータベースを用いた場合、計算コストとメモリ消費の両方の観点において、高価なシステムでもある。
3次元モデルをR個の視線方向(以下、「R方向」という場合がある)からレンダリングする。R方向は、3次元モデルをXYZの各軸を所定角度で回転させることで得られる。所定角度は、一例として、45度、90度等である。1視線方向あたりT個の特徴が単精度浮動小数点(4バイト)からなるベクトルに変換する際、データベースにS個のモデルを格納する場合、特徴を表現する行列を格納するために必要となる記憶領域は、
R×4T×S
で計算される。
即ち、Sが数10万〜数100万程度になる場合、50GB〜数100GB程度のRAM(Random Access Memory)を用いることが望ましい。また、検索に必要な浮動小数点の演算命令は1TFLOP(Teraflop)を超える。
視線方向の数(R)を少なくする、又は、1画像あたりの特徴量(T)を少なくすること等により、メモリ消費量と検索時間とを削減できる可能性があるが、その場合には、検索精度が低下する問題がある。また、データや空間を分割して検索範囲を削減することが考えられるが、高次元での特徴空間に対して効率的ではない。
また、所定の解像度でレンダリングされた画像から部品を特定し、類似するモデルを検索する場合、通常、画像内の部品の大きさが考慮されない。一例として、データベースに蓄積された画像によっては、電子機器に使用される極めて小さいネジと航空機等に使用されるリベットが類似形状として検索される問題がある。また、通常、部品の形状は、画像から得たジオメトリ情報を用いて算出するが、材質や部品の種類といった情報は得られない。
流用可能な購入部品を検索する場合、採用する部品の素材及びサイズは流用する上で重要な情報である。従って、類似形状のモデルを検索するシステムを利用する設計者にとって、採用する部品の素材及びサイズの情報も同時に得られることが望ましい。一例として、導電性の有無は、電磁的な不干渉性等のEMC(Electromagnetic Compatibility)対策に大きく関わるため、素材は部品選択の際の重要な情報となる。
したがって、導電性有無の見極めとなる素材、サイズ等の情報を予めデータベースで関連付けて管理し、類似形状の部品の検索結果は、複数の類似形状とその素材を示すことが望ましい。この観点において、発明者等は人工知能を用いた検索装置に関して以下の考察を行った。
第1案は、検索装置において、素材、サイズ等の属性を示す付加情報を付与し、これらを含めて類似度を算出する方法である。この第1案の方法は、システム技術者であれば容易に思いつく応用例である。
即ち、第1案の方法による検索装置は、第1のニューラルネットワーク層に加えて、第2のニューラルネットワーク層を有する。第1のニューラルネットワーク層では、形状の類似性を算出する。つまり、1方向あたりT要素の特徴ベクトルがR方向のそれぞれで計算される。更に、第2のニューラルネットワーク層において、素材、サイズ等の属性と、第1のニューラルネットワーク層で算出された形状の類似度に基づいて、総合的な類似度が算出される。この第1案の別形態として、特徴ベクトル(T要素)に素材、サイズ等を要素として含めてもよい。
しかしながら、この第1案では、類似度の計算コスト及びメモリ消費量を削減できない。第1案の方法による検索装置の場合、出力結果を総合的な指標(総合的な類似度に相当)で指定できる場合にのみネットワークを学習させることが可能である。つまり、学習時に相当の学習モデルを準備し、その総合的な類似度で関連付けする必要がある。よって、第1案の方法は汎用性の低い方法と言える。
第2案は、検索装置内で、形状の類似度の計算を行う前に、検索条件でスクリーニングする方法である。この第2案の方法によれば、形状の類似度算出の前に検索条件に検索対象を絞り込むため処理速度が向上するが、メモリ消費量の削減は実現できない。また、検索条件を与えない場合、計算コストも変わらない。
一例として、設計者が検索装置のデータベースに類似形状の部品のデータが存在するか否かを知りたい場合に検索条件を指定せず形状のみで検索する場合が考えられる。この場合には、計算コスト及びメモリ消費量を削減できない。
第3案は、検索装置の類似形状の部品を特定した出力結果に、データベース内で関連付けられた素材、サイズ等の付加情報も含める方法である。第3案による検索装置は、設計者に複数の類似形状とそれぞれの形状に関連する付加情報とを提示し、類似度や、素材、サイズ等の注目する属性で並べ替える方法である。第3案においても、処理速度及びメモリ消費量を改善できない。
上述した考察を経て、発明者等は、画像を異なる解像度で比較することで、精度を保持しつつ、メモリ消費量と計算コストとを削減する手法を見出した。簡潔には、低次元の特徴ベクトルを用いて低コストで少数の類似形状の検索範囲に絞り込み、続いて、高次元の特徴ベクトルを用いた高精度な検索を行うことで、検索全体の精度を改善する。
[第1実施例]
先ず、第1実施例におけるシステム構成例について説明する。図1は、第1実施例におけるシステム構成例を示す図である。図1に示すシステム1001は、サーバ100と、複数の端末3とを有し、サーバ100と複数の端末3とがネットワーク2を介して接続される。
サーバ100は、上述した人工知能を用いた検索装置におけるメモリ消費量と計算コストとを改善した情報処理装置である。サーバ100は、特徴抽出部40と、検索部50とを有する。また、サーバ100の記憶部130には、高次元DB(DataBase)31、低次元DB32等が記憶される。
特徴抽出部40は、3D(3次元)モデル4から部品の特徴を抽出し、抽出した特徴を示す高次元特徴ベクトルを作成し、更に、高次元特徴ベクトルから低次元特徴ベクトルを生成する。高次元特徴ベクトル及び低次元特徴ベクトルの生成では、予め人間の感覚で「類似する形状」を学習して獲得したニューラルネットワークが用いられる。
3Dモデル4は、3次元で部品の形状を表わしたデータであり、ネットワーク2を介して端末3からの蓄積要求5によってサーバ100に与えられてもよいし、予め相当量の3Dモデル4を蓄積した高次元DB31をサーバ100に用意してもよい。3Dモデル4は、端末3で作成されたCAD(computer-aided design)データ、複数の方向から撮影された部品を被写体とした2D(2次元)画像であってもよい。
高次元特徴ベクトル4H(図3)は高次元DB31に蓄積され、低次元特徴ベクトル4L(図3)は低次元DB32に蓄積される。特徴抽出部40は、サーバ100が端末3から検索要求6を受信した場合には、検索要求6で指定される3Dモデル4から高次元特徴ベクトル4H(図3)と低次元特徴ベクトル4L(図3)とを取得する。
検索部50は、検索要求6の3Dモデル4の低次元特徴ベクトル4Lを用いて、低次元DB32を検索し、高次元特徴ベクトル4Hによる検索対象を定め、定めた検索対象において、3Dモデル4の高次元特徴ベクトル4Hを用いて、類似する3Dモデル4を特定する。特定された3Dモデル4をリストにした類似情報一覧7が作成され、検索結果8に含まれて端末3に送信される。
第1実施例は、上述したシステム1001の構成に限定されない。設計者が使用する端末3が、サーバ100の機能を実装した単体のワークステーションであってもよい。この場合、ネットワークを構築することなく、1台のワークステーションで第1実施例に係る種々の処理を実現できる。
第1実施例では、低次元特徴ベクトル4Lで絞り込んだ検索対象に対して、高次元特徴ベクトル4Hの類似性を判定するため、高次元DB31全体を検索対象とする場合に比べて、処理に必要なメモリ消費量を削減できる。
各端末3は、ユーザである設計者等が利用する端末であり、製品化した部品、購入した部品等の3Dモデル4をサーバ100の記憶部130に蓄積したり、開発予定の部品の3Dモデル4を含む検索要求6を送信することで、類似情報一覧7を含む検索結果8を受信する。
類似情報一覧7は端末3に表示され、設計者は、部品の開発要否を判断することができる。開発又は購入等の実績のある部品の利用により、製品開発の工程を短縮できる。
図2は、ハードウェア構成を示す図である。図2より、サーバ100は、コンピュータによって制御される情報処理装置であって、CPU(Central Processing Unit)111と、主記憶装置112と、補助記憶装置113と、入力装置114と、表示装置115と、通信I/F(インターフェース)117と、ドライブ装置118とを有し、バスB1に接続される。
CPU111は、主記憶装置112に格納されたプログラムに従ってサーバ100を制御するプロセッサに相当する。主記憶装置112には、RAM(Random Access Memory)、ROM(Read Only Memory)等が用いられ、CPU111にて実行されるプログラム、CPU111での処理に必要なデータ、CPU111での処理にて得られたデータ等を記憶又は一時保存する。
補助記憶装置113には、HDD(Hard Disk Drive)等が用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置113に格納されているプログラムの一部が主記憶装置112にロードされ、CPU111に実行されることによって、各種処理が実現される。主記憶装置112及び補助記憶装置113が記憶部130に相当する。
入力装置114は、マウス、キーボード等を有し、管理者がサーバ100による処理に必要な各種情報を入力するために用いられる。表示装置115は、CPU111の制御のもとに必要な各種情報を表示する。入力装置114と表示装置115とは、一体化したタッチパネル等によるユーザインタフェースであってもよい。通信I/F117は、有線又は無線などのネットワークを通じて通信を行う。通信I/F117による通信は無線又は有線に限定されるものではない。
サーバ100によって行われる処理を実現するプログラムは、例えば、CD−ROM(Compact Disc Read-Only Memory)等の記憶媒体119によってサーバ100に提供される。
ドライブ装置118は、ドライブ装置118にセットされた記憶媒体119(例えば、CD−ROM等)とサーバ100とのインターフェースを行う。
また、記憶媒体119に、後述される本実施の形態に係る種々の処理を実現するプログラムを格納し、この記憶媒体119に格納されたプログラムは、ドライブ装置118を介してサーバ100にインストールされる。インストールされたプログラムは、サーバ100により実行可能となる。
尚、プログラムを格納する記憶媒体119はCD−ROMに限定されず、コンピュータが読み取り可能な、構造(structure)を有する1つ以上の非一時的(non-transitory)な、有形(tangible)な媒体であればよい。コンピュータ読取可能な記憶媒体として、CD−ROMの他に、DVDディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
端末3は、CPU11と、主記憶装置12と、補助記憶装置13と、入力装置14と、表示装置15と、通信I/F(インターフェース)17と、ドライブ装置18とを有し、バスB2に接続される。
CPU11は、主記憶装置12に格納されたプログラムに従って端末3を制御するプロセッサに相当する。主記憶装置12には、RAM(Random Access Memory)、ROM(Read Only Memory)等が用いられ、CPU11にて実行されるプログラム、CPU11での処理に必要なデータ、CPU11での処理にて得られたデータ等を記憶又は一時保存する。
補助記憶装置13には、HDD(Hard Disk Drive)等が用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置13に格納されているプログラムの一部が主記憶装置12にロードされ、CPU11に実行されることによって、各種処理が実現される。主記憶装置12及び補助記憶装置13が記憶部30に相当する。
入力装置14は、マウス、キーボード等を有し、管理者が端末3による処理に必要な各種情報を入力するために用いられる。表示装置15は、CPU11の制御のもとに必要な各種情報を表示する。入力装置14と表示装置15とは、一体化したタッチパネル等によるユーザインタフェースであってもよい。通信I/F17は、有線又は無線などのネットワークを通じて通信を行う。通信I/F17による通信は無線又は有線に限定されるものではない。
端末3によって行われる処理を実現するプログラムは、例えば、CD−ROM(Compact Disc Read-Only Memory)等の記憶媒体19によって端末3に提供される。
ドライブ装置18は、ドライブ装置18にセットされた記憶媒体19(例えば、CD−ROM等)と端末3とのインターフェースを行う。
また、記憶媒体19に、後述される本実施の形態に係る種々の処理を実現するプログラムを格納し、この記憶媒体19に格納されたプログラムは、ドライブ装置18を介して端末3にインストールされる。インストールされたプログラムは、端末3により実行可能となる。
尚、プログラムを格納する記憶媒体19はCD−ROMに限定されず、コンピュータが読み取り可能な、構造(structure)を有する1つ以上の非一時的(non-transitory)な、有形(tangible)な媒体であればよい。コンピュータ読取可能な記憶媒体として、CD−ROMの他に、DVDディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
図3は、第1実施例における特徴抽出部の機能構成例を示す図である。図3において、特徴抽出部40は、描画部41と、抽出部43と、圧縮部45とを有する。描画部41と抽出部43とは、それぞれ、発明αの画像描画部11と特徴ベクトル抽出部12とに相当する。抽出部43は、発明αの検索装置の<主要要素1>に相当する。描画部41と、抽出部43と、圧縮部45とは、サーバ100にインストールされたプログラムが、サーバ100のCPU111に実行させる処理により実現される。
特徴抽出部40において、3Dモデル4が入力されると、3Dモデル4にID(部品IDに相当する)が付与され、IDと3Dモデル4とが部品DB(不図示)等に蓄積される。3Dモデル4に対して、描画部41が複数方向(「R方向」という)から部品を見た場合の2D画像を含むR方向画像セット4Rを作成する。
抽出部43は、描画部41が作成したR方向画像セット4Rを用いて、1方向毎の2D画像からT個の要素を抽出し、高次元特徴ベクトル4Hを作成する。
抽出部43は、画像からT個の要素を抽出する特徴抽出用ニューラルネットワークに相当し、特徴抽出用ニューラルネットワークを用いて高次元特徴ベクトル4Hを取得する。高次元特徴ベクトル4Hは3Dモデル4に与えられたIDと共に高次元DB31に格納される。また、3Dモデル4のIDと、高次元特徴ベクトル4Hとが圧縮部45に入力される。
そして、圧縮部45が、高次元特徴ベクトル4Hから低次元特徴ベクトル4Lへと変換する。得られた低次元特徴ベクトル4Lは、低次元DB32に、3Dモデル4のIDと共に格納される。
特徴抽出部40は、蓄積要求5又は検索要求6の受信を契機として上述した特徴抽出処理を実行する。検索要求6を受信した場合、高次元特徴ベクトル4Hと低次元特徴ベクトル4Lの蓄積は省略される。
描画部41と、抽出部43とによる描画・抽出処理ついて説明する。図4は、描画・抽出処理を説明するためのフローチャート図である。図4より、描画・抽出処理では、描画部41は、3Dモデル4を入力し(ステップS61)、R方向のそれぞれから部品を見た場合の複数の視野を描画し、R方向画像セット4Rを記憶部130に出力する(ステップS62)。
そして、抽出部43は、記憶部130に記憶された描画部41が生成したR方向画像セット4Rを用いて、モデルの特徴を抽出して高次元特徴ベクトル4Hを作成する(ステップS63)。全ての視野方向に対して高次元特徴ベクトル4Hが作成される。抽出部43は、高次元特徴ベクトル4Hを記憶部130に出力する(ステップS64)。その後、描画・抽出処理は終了する。
上述したステップS63における、抽出部43による高次元特徴ベクトル4Hを抽出する処理を詳述する。図5は、図4のステップS63での処理を説明するためのフローチャート図である。図5において、描画部41は、記憶部130に記憶されたR方向画像セット4Rから視線方向毎に画像を1つ読み込んで(ステップS71)、読み込んだ画像に対して前処理を行う(ステップS72)。方向毎に画像が読み込まれる。
描画部41は、特徴抽出用ニューラルネットワークを用いて画像を処理し、T個の要素を取得する(ステップS73)。そして、描画部41は、全ての視線方向で要素を取得したか否かを判断する(ステップS74)。全ての視線方向で要素を取得した場合(ステップS74のNO)、描画部41は、ステップS71へと戻り、次の視線方向の画像を読み込み、上記同様の処理を行う。
一方、全ての視線方向で要素を取得した場合(ステップS74のYES)、描画部41は、高次元特徴ベクトル4H(T要素 × R方向)を記憶部130に出力する(ステップS75)。高次元特徴ベクトル4Hは記憶部130の高次元DB31に保持される。そして、ステップS63の処理を終了する。
次に、圧縮部45による圧縮処理について説明する。圧縮部45は、人間の感覚で「類似する形状」を学習して得たニューラルネットワークに相当する。圧縮部45のニューラルネットワークは、抽出部43のニューラルネットワークのニューロン数を削減したネットワークである。以下、「圧縮用ニューラルネットワーク」という。
特徴抽出用ニューラルネットワーク及び圧縮用ニューラルネットワークとして、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)を用いればよいが、これらに限定するものではなく、他のニューラルネットワークであってもよい。
図6は、圧縮処理を説明するためのフローチャート図である。図6において、圧縮部45は、記憶部130に記憶されている高次元特徴ベクトル4Hから視線方向毎にT個の要素を読み込む(ステップS81)。
圧縮部45は、読み込んだT個の要素を圧縮用ニューラルネットワークを介してT個の要素に圧縮する(ステップS82)。T個の要素を得ると、圧縮部45は、全ての視線方向で要素を取得したか否かを判断する(ステップS83)。全ての視線方向で要素を取得していない場合(ステップS83のNO)、圧縮部45は、ステップS81へと進み、次の視線方向のT個の要素を取得し、上述した同様の処理を繰り返す。
一方、全ての視線方向で要素を取得した場合(ステップS83のYES)、圧縮部45は、低次元特徴ベクトル4L(T要素 × R方向)を記憶部130に出力する(ステップS84)。そして、圧縮部45は、圧縮処理を終了する。この圧縮処理によって、視線方向毎に、T個より要素数の少ないT個を有する低次元特徴ベクトル4Lを得られる。得られた低次元特徴ベクトル4Lは記憶部130の低次元DB32に保持される。
図7は、圧縮用ニューラルネットワークの一例を示す図である。図7において、圧縮用ニューラルネットワーク45aは、入力層45inと、人工知能層45pと、出力層45outとを有する。
入力層45inは、高次元特徴ベクトル4Hの要素数Tのノード数を有し、各要素の値が入力される。人工知能層45pは、人間の感覚で「類似する形状」を予め学習して得られた重みパラメータを有し、入力されたノードの値に重み付けする処理を行う。出力層45outは、低次元特徴ベクトル4Lの要素数Tのノード数を有し、人工知能層45pから入力される重み付け後の値を用いて演算を行った結果を出力する。
図8は、サーバの検索部の機能構成例を示す図である。図8では、端末3からの検索要求6に応じて、特徴抽出部40による特徴抽出処理の後に、検索部50による検索処理を行うため、特徴抽出部40の機能構成も併せて例示している。
検索時には、検索要求6に含まれる3Dモデル4の特徴抽出を行うが、高次元DB31及び低次元DB31への高次元特徴ベクトル4H及び低次元特徴ベクトル4Lの蓄積は行なわれず、一時的に記憶部130に記憶される。
検索部50は、低次元特徴比較部51と、高次元特徴比較部53と、結果表示部57とを有する。低次元特徴比較部51と、高次元特徴比較部53と、結果表示部57とは、サーバ100にインストールされたプログラムが、サーバ100のCPU111に実行させる処理により実現される。
低次元特徴比較部51は、低次元DB32を読み込んで、記憶部130から、一時的に格納された検索要求6の3Dモデル4の低次元特徴ベクトル4Lを取得し、取得した低次元特徴ベクトル4Lと低次元DB32の全ての低次元特徴ベクトル4Lと比較する。低次元特徴ベクトル4L同士の内積により類似性を判定すればよい。
最も類似する順に、低次元特徴ベクトル4Lに関連付けられたIDを低次元DB32から取得し、低次元特徴比較結果51aを作成する。設計者によって設定されたN個より多めに抽出することが望ましいため、M×N個のIDが抽出される。
ここで、Mはデータ依存の因子であり、2以上の整数値であればよい。具体的には、N(=10)個の最も類似する形状を検索する要求に対して、M(=5)個の場合、低次元特徴比較部51では50モデルを類似性の高い順に特定する。低次元特徴比較結果51aでは、50個のIDが示される。低次元特徴比較結果51aは、一時的に記憶部130に記憶される。
高次元特徴比較部53は、高次元DB31を読み込んで、記憶部130内の低次元特徴比較結果51aで示されるIDの高次元特徴ベクトル4Hを高次元DB31から取得する。高次元特徴比較部53は、記憶部130から検索要求6の3Dモデル4の高次元特徴ベクトル4Hと高次元DB31から取得した高次元特徴ベクトル4Hと比較する。高次元特徴ベクトル4H同士の類似性は、内積で判定してもよい。
高次元特徴比較部53は、最も類似する順にN個のIDを選択し、選択したIDを示す類似形状結果53aを作成する。類似形状結果53aにより、候補画像のIDが示される。
結果表示部57は、作成した類似形状結果53aのIDに関連付られる部品DBから部品情報を取得して類似情報一覧7を作成し、作成した類似情報一覧7を含む検索結果8を検索要求元の端末3に送信することで、端末3に類似情報一覧7を表示させる。
上述では、入力された3Dモデル4に最も類似するモデルをN個検索する場合を例として説明しているが、定めた閾値以下の距離(類似度)となる複数のモデルを検索するようにしてもよい。
次に、検索部50による検索処理を説明する。図9は、検索処理を説明するためのフローチャート図である。図9において、検索部50では、低次元特徴比較部51が低次元DB32をロードし(ステップS501)、低次元検索を行う(ステップS502)。低次元検索は、線形検索に相当し、低次元DB32の全てのIDに対して行われる。
低次元特徴比較部51は、低次元検索の結果に基づいて、最も類似するM×N個の3Dモデル4のIDを取得する(ステップS503)。M×N個の3Dモデル4のIDを示す低次元特徴比較結果51aが記憶部130に記憶される。
次に、高次元特徴比較部53は、高次元DB31から、低次元特徴比較結果51aを参照して、ステップS503で取得したIDを含むサブセットをロードして(ステップS504)、高次元検索を行う(ステップS505)。この場合、ステップS503で取得したIDで検索範囲が絞り込まれているため、ロードするサブセットによるメモリ消費量を大幅に低減できる。
高次元特徴比較部53は、最も類似するN個の3Dモデル4のIDを取得して(ステップS506)、高次元DB31のサブセットを解放する(ステップS507)。そして、高次元特徴比較部53は、取得したN個の3Dモデル4のIDを示す類似形状結果53aを戻り値として出力する(ステップS506)。
ステップS503における低次元検索は、類似度計算用の行列を格納するためのメモリ消費量を減少させ、高次元検索と比べると次元数が少ないため類似度計算の計算速度を減少させつつ、計算結果である類似形状の候補をスクリーニングできる特徴がある。
ステップS505における高次元検索は、非常に小さなIDの部分集合に対してのみに行われるため、わずかな資源しか必要としない。
Mは、単純には、M>1であればよいが、Mの値及び圧縮部45のニューロン数は、高次元検索で計算される最も類似する形状が低次元検索で出力されるIDの部分集合に含まれることを保証できる程度の大きさが好ましい。一般に、圧縮部45のニューロン数が少ないと、Mの値はより大きくなる。
次に、検索部50の低次元特徴比較部51が上述した発明αの<主要要素2>に相当する。低次元特徴比較部51による低次元特徴比較処理について説明する。図10は、低次元特徴比較処理を説明するためのフローチャート図である。
図10において、低次元特徴比較部51は類似行列sMを計算する(ステップS91)。類似行列sMは、
sM = 1−fM*dM (1)
で表される。上記(1)式において、fMは特徴行列を示し、dMはデータベース行列を示す。記号「*」は行列の乗算を示し、上付きTは転置行列を示す。この(1)式では特徴ベクトルは正規化されていることを前提とする。
特徴行列fMでは、行が視線方向を指定し、列は要素(特徴)を指定する。1つの列は、ある視線方向から部品を見たときの画像の特徴ベクトルを示す。特徴行列fMは、複数の列により、異なる視線方向の全ての特徴ベクトルを示した行列となる。
データベース行列dMは、低次元DB32で管理される全てのIDと、特徴行列fMとによる行列である。データベース行列dMの大きさは、IDの総数と、特徴ベクトルの長さとで表される。
次に、低次元特徴比較部51は、類似ベクトルsVを計算する(ステップS92)。類似ベクトルsVは、IDの総数を長さとし、j番目の要素は、検索要求6の3Dモデル4とj番目のモデルとの距離を示す。
検索要求6の3Dモデル4のi番目の視線方向の画像の特徴ベクトルと、j番目のモデルの全ての視線方向の画像のそれぞれの特徴ベクトルとの最小コサイン距離を求める処理を、検索要求6の3Dモデル4の全ての視線方向の画像に対して行う。距離が小さい程、より類似していることを示す。得られた最小コサイン距離の全てを合計する。この合計値が、j番目の要素によって示される。
低次元特徴比較部51は、類似ベクトルsVに基づいて、最も類似するモデルの順に、設計者が指定したM×N個のIDを取得する(ステップS93)。M×N個のIDを示す類似形状結果53aが記憶部130に出力され、低次元特徴比較部51による低次元特徴比較処理を終了する。
高次元特徴比較部54による高次元特徴比較処理は、上述した低次元特徴比較部51による低次元特徴比較処理と同様である。高次元特徴比較処理では、ステップS93で取得したM×N個の3Dモデル4のIDを対象として、データベース行列dMを定めればよく、また、類似ベクトルsVに基づいて、N個の3Dモデル4のIDを取得すればよい。
このように第1実施例では、検索の対象となる3Dモデル4の特徴抽出を高次元及び低次元で行っておくことで、検索時のメモリ消費量と実行回数とを減少できる。
また、特徴抽出では、人間の感覚で類似する形状を学習したニューロンネットワークを用いるため、精度良く類似形状を持つ部品のモデルを特定できる。
[第2実施例]
次に、サイズ、素材等の付加情報を含めた検索結果8を出力する第2実施例について説明する。第2実施例では、CADで作成された部品形状を3次元で表現する3次元CADデータ4bで形状の類似するモデルを検索することで、3次元CADデータ4bに含まれる付加情報を用いて、類似形状のモデルを精度良く検索する。
図11は、第2実施例におけるシステム構成例を示す図である。図11に示すシステム1002は、サーバ100と、複数の端末3とを有し、サーバ100と複数の端末3とCADデータDB200とがネットワーク2を介して接続される。
サーバ100は、第1実施例と同様の情報処理装置であり、特徴抽出部40−2と、検索部50bとを有する。第1実施例と同様に、サーバ100の記憶部130には、高次元DB(DataBase)31、低次元DB32等が記憶される。
第1実施例との違いは、端末3からの蓄積要求5は、CADデータDB200に対して行なわれる。CADデータDB200への3次元CADデータ4bの追加に応じて、サーバ100の特徴抽出40−2によって、高次元特徴ベクトル4Hと、低次元特徴ベクトル4Lとが作成され、それぞれ高次元DB31と低次元DB32とに格納される。
第2実施例では、特徴抽出40−2は、更に、3次元CADデータ4bから付加情報を取得して、取得した付加情報をIDと関連付けて記憶部130に格納する。
CADデータDB200から蓄積要求5をサーバ100へ送信してもよいし、サーバ100が定期的に、CADデータDB200から新たに蓄積された3次元CADデータ4bを要求してもよい。3次元CADデータ4bは、CAD等で作成された、仮想空間上に部品形状を表現可能な情報を含むデータであって、頂点値、位置、形状を表現するパラメータ等を示す。
第2実施例では、設計者は、サーバ100への3次元CADデータ4bを蓄積することを意識する必要がない。設計者は、端末3等においてCADで部品を設計し、CADデータDB200へ格納すればよい。
サーバ100では、端末3からの検索要求6に対して、検索部50bは、第1実施例での処理で得られた類似する形状を持つモデルのID毎に、IDに関連付けられた付加情報を取得し、付加情報を含む検索結果7bを端末に提供する。
第2実施例における検索結果8では、付加情報を含む類似情報一覧7bが端末3に提供され表示装置15に表示されるため、設計者は、形状の類似のみではなく、サイズ、素材等についても付加情報から得ることができる。
サーバ100及び端末3のハードウェア構成は、第1実施例と同様であるため、その説明を省略する。
図12は、第2実施例における特徴抽出部の機能構成例を示す図である。図12において、特徴抽出部40−2は、第1実施例における描画部41と、抽出部43と、及び圧縮部45とに加えて、素材情報取得部47と、サイズ算出部49とを更に有する。
描画部41と、抽出部43と、圧縮部45と、素材情報取得部47と、サイズ算出部49とは、サーバ100にインストールされたプログラムが、サーバ100のCPU111に実行させる処理により実現される。
特徴抽出部40−2は、3次元CADデータ4bから形状データ4cを取得し、描画部41に入力する。描画部41、抽出部43、及び圧縮部45によるそれぞれの処理は、第1実施例と同様であるため、その説明を省略する。
一方、特徴抽出部40−2の素材情報取得部47は、3次元CADデータ4bから素材情報を取得して素材DB33にIDと共に追加する。また、サイズ算出部49は、形状データ4cから頂点座標等を取得して、部品のサイズを算出し、IDと共にサイズDB34に追加する。サイズ算出部49によるサイズ算出処理について説明する。
図13は、サイズ算出処理を説明するためのフローチャート図である。図13において、サイズ算出部49は、形状データ4cから頂点座標を取得し(ステップS251)、取得した頂点座標を用いて、XYZの各軸方向の幅を算出する(ステップS252)。
サイズ算出部49は、XYZの各軸ごとに、最長の長さを取得して、サイズDB34に記憶し(ステップS253)、このサイズ算出処理を終了する。
図14は、サーバの検索部の機能構成例を示す図である。図14では、端末3からの検索要求6に応じて、特徴抽出部40−2による特徴抽出処理の後に、検索部50−2による検索処理を行うため、特徴抽出部40−2の機能構成も併せて例示している。
検索時には、検索要求6に含まれる形状データ4cの特徴抽出を行うが、高次元DB31及び低次元DB31への高次元特徴ベクトル4H及び低次元特徴ベクトル4Lの蓄積は行なわれず、一時的に記憶部130に記憶される。
検索部50−2は、低次元特徴比較部51と、高次元特徴比較部53とを有し、第1実施例と同様であるためその説明を省略する。第2実施例では、検索部50−2は、更に、付加情報抽出部55と、結果表示部57−2とを有する。低次元特徴比較部51と、高次元特徴比較部53と、付加情報抽出部55と、結果表示部57−2とは、サーバ100にインストールされたプログラムが、サーバ100のCPU111に実行させる処理により実現される。
第1実施例と同様に、低次元特徴比較部51は、低次元特徴ベクトル4Lと低次元DB32の全ての低次元特徴ベクトル4Lとを比較し、低次元特徴比較結果51aを得る。内積により比較すればよい。低次元特徴比較結果51aのIDにより、人間の感覚で類似する形状を持つM×N個の候補モデルが示される。
高次元特徴比較部53は、高次元特徴ベクトル4Hと高次元DB31から低次元特徴比較結果51aに基づいて得られた高次元特徴ベクトル4Hとを比較し、類似形状結果53aを得る。高次元DB31の全データを対象とせず、低次元特徴比較結果51aで特定されるM×N個の候補モデルを対象とする。比較は、内積により行えばよい。類似形状結果53aでは、N個の候補モデルがIDで特定される。
第2実施例では、更に、付加情報抽出部55が、高次元特徴比較部53によって得られた類似形状結果53aで示されるIDを用いて素材DB33とサイズDB34とを検索し、それぞれから素材とサイズとを取得する。類似形状結果53aで示される各IDに対応付けて、素材とサイズとを示した抽出結果55aが出力される。
結果表示部57−2は、類似形状結果53aと、抽出結果55aとを用いて、付加情報を含む類似情報一覧7bを作成して、検索要求6の要求元である端末3へ類似情報一覧7bを含む検索結果8を送信する。類似形状結果53aに加えて抽出結果55aを用いる以外には、第1実施例の結果表示部57と同様である。
このように第2実施例では、CADデータDB200との連携により、新たな3次元CADデータ4bが追加される毎に、自動的に特徴抽出を行って、高次元DB31と低次元DB32とを更新する。
また、3次元CADデータ4bの検索時には、第1実施例と同様にメモリ消費量と実行回数とを減少させる。更に、第2実施例では、人間の感覚で類似する形状を持つ候補モデルに対してサイズ、素材等の付加情報を更に設計者に提示できるため、設計者は、所望する部品の存在の有無をより確実に検証することができる。
次に、第1実施例及び第2実施例で利用される種々のデータベースについて説明する。図15は、高次元DBのデータ構成例を示す図である。図15において、高次元DB31は、部品を表わすモデル毎に高次元特徴ベクトル4Hを記憶したデータベースであり、部品ID、高次元特徴ベクトル等の項目を有する。
部品IDは、モデルを特定するIDである。高次元特徴ベクトルは、抽出部43によって計算された高次元特徴ベクトル4HのT個の要素の各値を示す。
この例では、部品ID「1」の高次元特徴ベクトル4Hは(0.1,0.1,0.3,0.3,0.2,0.9,0.5,...)であり、部品ID「2」の高次元特徴ベクトル4Hは(0.5,0.2,0.4,0.4,0.4,0.7,0.4,...)である。他の部品IDについても同様に高次元特徴ベクトル4HのT個の値が示される。
図16は、低次元DBのデータ構成例を示す図である。図16において、低次元DB32は、部品を表わすモデル毎に低次元特徴ベクトル4Lを記憶したデータベースであり、部品ID、低次元特徴ベクトル等の項目を有する。
部品IDは、モデルを特定するIDである。低次元特徴ベクトルは、抽出部43によって計算された低次元特徴ベクトル4LのT個の要素の各値を示す。T<Tである。
この例では、部品ID「1」の高次元特徴ベクトル4Hは(0.2,0.2,0.4,...)であり、部品ID「2」の高次元特徴ベクトル4Hは(0.4,0.3,0.3,...)である。他の部品IDについても同様に高次元特徴ベクトル4HのT個の値が示される。
第2実施例では、更に、素材DB33と、サイズDB34とが用いられる。図17は、素材DBのデータ構成例を示す図である。図17において、素材DB33は、部品を表わすモデルの素材名を記憶し管理するためのデータベースであり、第1テーブル33aと第2テーブル33bとを有する。
第1テーブル33aは、部品IDと素材IDとを対応付けたテーブルである。第2テーブル33bは、素材IDと素材名とを対応付けたテーブルである。第1テーブル33aと第2テーブル33bとは、素材IDで関連付けされるため、部品IDに素材名を対応付けることができる。
図18は、サイズDBのデータ構成例を示す図である。図18において、サイズDB34は、モデル毎のサイズを記憶したデータベースであり、部品ID、サイズ等の項目を有する。部品IDは、モデルを特定するIDである。サイズは、形状データ4cから得られるXYZの各軸方向の幅のなかで最長の長さを示す。
上述したデータベース31〜34は、リレーショナル・データベースであり、どのモデル(部品)に対する情報であるかを検索可能なリレーションを有する。
上述したデータベース31〜34に加えて、第2実施例では、更に、過去に部品を使用した際の不具合等の情報、部品を購入した時の価格等のデータベースを備えるようにしてもよい。この場合、モデルを特定するID(部品ID)を用いて、これらのデータベースを検索し、更なる情報をサイズ及び素材に加えて付加情報としてもよい。
この場合、設計者は、過去の情報を参照することで、既に存在する部品の利用可能性を検討できる。また、価格情報に基づいて、部品開発の必要性を検討できる。
上述した第1実施例及び第2実施例によれば、既存の技術では、検索時のメモリ消費量が約100GB必要となる場合であっても、1/10の約10GBで検索が可能であるため、通常のワークステーションで動作可能である。
また、第1又は第2実施例のいずれも、GPU(Graphics Processing Unit)等のアクセレレーターへの実装も十分に可能な値であり、GPUを活用し、より高速な大規模な形状検索システムを構築可能である。
具体的には、第1及び第2実施例によれば、浮動小数点演算命令が1桁少なくなる。即ち、検索に要する時間が約1/10になる。現状において、約100GB以上のRAMを搭載する高性能マシンならば論理上の検索時間は5.6秒となるが、マシンが高価なものとなり現在ではこの計算時間を実現することは非常に困難である。
上述した第1及び第2実施例では、R個の視線方向を削減することなく、同環境での検索時間が凡そ0.35秒となる上に、メモリ消費量も約1/10とすることができ、形状検索を1台のワークステーションで容易に実現できる。
2016年5月17日に出願した英国特許出願番号1608645.6及び独国特許出願番号102016208436.4を基礎としてパリ条約に基づく優先権を主張した、2017年3月30日に出願の米国特許出願番号15/474304の全内容を本出願に援用する。
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、主々の変形や変更が可能である。
以上の第1及び第2実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
異なる視線方向から捉えた対象物の各画像から、高次元特徴ベクトルと、該高次元特徴ベクトルより次元の低い低次元特徴ベクトルとを算出して特徴を抽出し、
前記低次元特徴ベクトルを使用して類似画像の検索範囲を特定し、
特定された前記検索範囲において、定められた選択基準を満たす前記類似画像を、前記高次元特徴ベクトルを用いて検索する
処理をコンピュータに行わせる検索プログラム。
(付記2)
前記コンピュータは、
前記高次元特徴ベクトルを、人間の感覚で類似する形状を学習させた第1のニューラルネットワークを用いて算出し、
前記低次元特徴ベクトルを、前記高次元特徴ベクトルを入力とする第2のニューラルネットワークから算出する
ことを特徴とする付記1記載の検索プログラム。
(付記3)
前記第2のニューラルネットワークは、前記第1のニューラルネットワークのニューロン数を削減したニューラルネットワークである
ことを特徴とする付記2記載の検索プログラム。
(付記4)
前記第2のニューラルネットワークは、前記選択基準にマージンを持たせた基準に変更して、前記検索範囲を特定する
ことを特徴とする付記3記載の検索プログラム。
(付記5)
前記コンピュータに、
検索された前記類似画像に関連付けられた形状に係る付加情報と、該類似画像とを示す検索結果を出力する
処理を行わせる付記1乃至4のいずれか一項に記載の検索プログラム。
(付記6)
前記対象物は、3次元形状を有する
ことを特徴とする付記1乃至5のいずれか一項に記載の検索プログラム。
(付記7)
複数の座標軸のそれぞれに対して前記対象物を回転させて、固定された視点から該対象物を描画した複数の2次元画像を取得し、
取得した前記複数の2次元画像のそれぞれから高次元特徴ベクトルを抽出する
ことを特徴とする付記1乃至6のいずれか一項に記載の検索プログラム。
(付記8)
異なる視線方向から捉えた対象物の各画像から、高次元特徴ベクトルと、該高次元特徴ベクトルより次元の低い低次元特徴ベクトルとを算出して特徴を抽出し、
前記低次元特徴ベクトルを使用して類似画像の検索範囲を特定し、
特定された前記検索範囲において、定められた選択基準を満たす前記類似画像を、前記高次元特徴ベクトルを用いて検索する
処理をコンピュータが行う検索方法。
(付記9)
異なる視線方向から捉えた対象物の各画像から、高次元特徴ベクトルと、該高次元特徴ベクトルより次元の低い低次元特徴ベクトルとを算出して特徴を抽出し、
前記低次元特徴ベクトルを使用して類似画像の検索範囲を特定し、
特定された前記検索範囲において、定められた選択基準を満たす前記類似画像を、前記高次元特徴ベクトルを用いて検索する
検索プログラムが動作する情報処理装置。
2 ネットワーク
3 端末
4 3D部品モデル
4b 3次元CADデータ
4c 形状データ
4R R方向画像セット
5 蓄積要求
6 検索要求
7、7b 類似情報一覧
8 検索結果
31 高次元DB
32 低次元DB
33 素材DB
34 サイズDB
40、40−2 特徴抽出部
41 描画部
43 抽出部
45 圧縮部
50、50−2 検索部
51 低次元特徴比較部
51a 低次元特徴比較結果
53 高次元特徴比較部
53a 高次元特徴比較結果
55 付加情報抽出部
57、57−2 結果表示部
100 サーバ
200 CADデータDB

Claims (7)

  1. 異なる視線方向から捉えた対象物の各画像から、高次元特徴ベクトルと、該高次元特徴ベクトルより次元の低い低次元特徴ベクトルとを算出して特徴を抽出し、
    前記低次元特徴ベクトルを使用して類似画像の検索範囲を特定し、
    特定された前記検索範囲において、定められた選択基準を満たす前記類似画像を、前記高次元特徴ベクトルを用いて検索する
    処理をコンピュータに行わせる検索プログラム。
  2. 前記コンピュータは、
    前記高次元特徴ベクトルを、人間の感覚で類似する形状を学習させた第1のニューラルネットワークを用いて算出し、
    前記低次元特徴ベクトルを、前記高次元特徴ベクトルを入力とする第2のニューラルネットワークから算出する
    ことを特徴とする請求項1記載の検索プログラム。
  3. 前記第2のニューラルネットワークは、前記第1のニューラルネットワークのニューロン数を削減したニューラルネットワークである
    ことを特徴とする請求項2記載の検索プログラム。
  4. 前記コンピュータに、
    検索された前記類似画像に関連付けられた形状に係る付加情報と、該類似画像とを示す検索結果を出力する
    処理を行わせる請求項1乃至3のいずれか一記載の検索プログラム。
  5. 前記対象物は、3次元形状を有する
    ことを特徴とする請求項1乃至4のいずれか一項に記載の検索プログラム。
  6. 異なる視線方向から捉えた対象物の各画像から、高次元特徴ベクトルと、該高次元特徴ベクトルより次元の低い低次元特徴ベクトルとを算出して特徴を抽出し、
    前記低次元特徴ベクトルを使用して類似画像の検索範囲を特定し、
    特定された前記検索範囲において、定められた選択基準を満たす前記類似画像を、前記高次元特徴ベクトルを用いて検索する
    処理をコンピュータが行う検索方法。
  7. 異なる視線方向から捉えた対象物の各画像から、高次元特徴ベクトルと、該高次元特徴ベクトルより次元の低い低次元特徴ベクトルとを算出して特徴を抽出し、
    前記低次元特徴ベクトルを使用して類似画像の検索範囲を特定し、
    特定された前記検索範囲において、定められた選択基準を満たす前記類似画像を、前記高次元特徴ベクトルを用いて検索する
    検索プログラムが動作する情報処理装置。
JP2017164550A 2017-08-29 2017-08-29 検索プログラム、検索方法、及び、検索プログラムが動作する情報処理装置 Active JP6888484B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017164550A JP6888484B2 (ja) 2017-08-29 2017-08-29 検索プログラム、検索方法、及び、検索プログラムが動作する情報処理装置
US16/109,832 US20190065913A1 (en) 2017-08-29 2018-08-23 Search method and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017164550A JP6888484B2 (ja) 2017-08-29 2017-08-29 検索プログラム、検索方法、及び、検索プログラムが動作する情報処理装置

Publications (2)

Publication Number Publication Date
JP2019045894A JP2019045894A (ja) 2019-03-22
JP6888484B2 true JP6888484B2 (ja) 2021-06-16

Family

ID=65435379

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017164550A Active JP6888484B2 (ja) 2017-08-29 2017-08-29 検索プログラム、検索方法、及び、検索プログラムが動作する情報処理装置

Country Status (2)

Country Link
US (1) US20190065913A1 (ja)
JP (1) JP6888484B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7302229B2 (ja) * 2019-03-28 2023-07-04 株式会社レゾナック データ管理システム、データ管理方法、およびデータ管理プログラム
JP7036079B2 (ja) * 2019-03-29 2022-03-15 トヨタ車体株式会社 性能推定装置
JP7118920B2 (ja) * 2019-04-11 2022-08-16 株式会社日立ソリューションズ 画像検索装置および画像検索方法
CN110110617B (zh) * 2019-04-22 2021-04-20 腾讯科技(深圳)有限公司 医学影像分割方法、装置、电子设备和存储介质
JP7391746B2 (ja) * 2020-03-27 2023-12-05 エヌ・ティ・ティ・コミュニケーションズ株式会社 受注支援装置、方法およびプログラム
US11599360B2 (en) * 2020-12-14 2023-03-07 Cognitive Science & Solutions, Inc. AI synaptic coprocessor
JP7200279B2 (ja) * 2021-03-03 2023-01-06 三菱電機インフォメーションシステムズ株式会社 検知装置、検知方法、検知プログラム及び検知システム
WO2023119293A1 (en) * 2021-12-22 2023-06-29 Beegris Ltd. 3d model search
CN114490727A (zh) * 2021-12-31 2022-05-13 深圳云天励飞技术股份有限公司 目标数据库的高维向量搜索方法及相关设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3155033B2 (ja) * 1991-09-13 2001-04-09 日本電信電話株式会社 類似尺度構成処理方法
JP2004046612A (ja) * 2002-07-12 2004-02-12 Techno Network Shikoku Co Ltd データマッチング方法、データマッチング装置、データマッチングプログラムおよびコンピュータで読み取り可能な記録媒体
JP2009129337A (ja) * 2007-11-27 2009-06-11 Hitachi Ltd 三次元類似形状検索装置
JP6211407B2 (ja) * 2013-12-06 2017-10-11 株式会社デンソーアイティーラボラトリ 画像検索システム、画像検索装置、検索サーバ装置、画像検索方法、及び画像検索プログラム
JP6532190B2 (ja) * 2014-03-26 2019-06-19 キヤノン株式会社 画像検索装置、画像検索方法
EP3179407B1 (en) * 2015-12-07 2022-07-13 Dassault Systèmes Recognition of a 3d modeled object from a 2d image
US9864930B2 (en) * 2016-02-05 2018-01-09 International Business Machines Corporation Clustering technique for optimized search over high-dimensional space

Also Published As

Publication number Publication date
JP2019045894A (ja) 2019-03-22
US20190065913A1 (en) 2019-02-28

Similar Documents

Publication Publication Date Title
JP6888484B2 (ja) 検索プログラム、検索方法、及び、検索プログラムが動作する情報処理装置
US10176404B2 (en) Recognition of a 3D modeled object from a 2D image
Zhang et al. A review of deep learning-based semantic segmentation for point cloud
Ghadai et al. Learning localized features in 3D CAD models for manufacturability analysis of drilled holes
Poux et al. Smart point cloud: Definition and remaining challenges
Xie et al. Point clouds learning with attention-based graph convolution networks
EP3462385A1 (en) Sgcnn: structural graph convolutional neural network
Da Silva et al. Active learning paradigms for CBIR systems based on optimum-path forest classification
US9323886B2 (en) Performance predicting apparatus, performance predicting method, and program
Liu et al. Computing the inner distances of volumetric models for articulated shape description with a visibility graph
JP2015506026A (ja) 画像分類
WO2013051619A1 (ja) 類似性検出装置及び指向性近傍検出方法
JP5969837B2 (ja) 性能予測装置、性能予測方法、及びプログラム
CN107545025A (zh) 利用形态学标准查询数据库
Sun et al. PGCNet: patch graph convolutional network for point cloud segmentation of indoor scenes
CN109886297A (zh) 一种用于从二维图像识别三维模型对象的方法
EP4016392A1 (en) Machine-learning for 3d object detection
Rodriguez‐Lozano et al. Efficient data dimensionality reduction method for improving road crack classification algorithms
Tang et al. Two-stage filtering method to improve the performance of object detection trained by synthetic dataset in heavily cluttered industry scenes
Khan et al. Correspondence measure: a review for the digital twin standardization
Pawar et al. Deep learning based glance of real world scenes through decision tree
JP2014006787A (ja) 特徴点決定装置、特徴点決定方法、及びプログラム
Xiao et al. Human motion retrieval based on statistical learning and bayesian fusion
Nayef et al. Efficient symbol retrieval by building a symbol index from a collection of line drawings
JP6336827B2 (ja) 画像検索装置、画像検索方法および検索システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210412

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210503

R150 Certificate of patent or registration of utility model

Ref document number: 6888484

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150