特許第6342180号(P6342180)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 公立大学法人首都大学東京の特許一覧

<>
  • 特許6342180-3次元CADモデル類似検索方法 図000030
  • 特許6342180-3次元CADモデル類似検索方法 図000031
  • 特許6342180-3次元CADモデル類似検索方法 図000032
  • 特許6342180-3次元CADモデル類似検索方法 図000033
  • 特許6342180-3次元CADモデル類似検索方法 図000034
  • 特許6342180-3次元CADモデル類似検索方法 図000035
  • 特許6342180-3次元CADモデル類似検索方法 図000036
  • 特許6342180-3次元CADモデル類似検索方法 図000037
  • 特許6342180-3次元CADモデル類似検索方法 図000038
  • 特許6342180-3次元CADモデル類似検索方法 図000039
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6342180
(24)【登録日】2018年5月25日
(45)【発行日】2018年6月13日
(54)【発明の名称】3次元CADモデル類似検索方法
(51)【国際特許分類】
   G06F 17/30 20060101AFI20180604BHJP
【FI】
   G06F17/30 350C
   G06F17/30 170Z
【請求項の数】1
【全頁数】28
(21)【出願番号】特願2014-32343(P2014-32343)
(22)【出願日】2014年2月21日
(65)【公開番号】特開2015-158752(P2015-158752A)
(43)【公開日】2015年9月3日
【審査請求日】2017年2月13日
(73)【特許権者】
【識別番号】305027401
【氏名又は名称】公立大学法人首都大学東京
(74)【代理人】
【識別番号】110000420
【氏名又は名称】特許業務法人エム・アイ・ピー
(72)【発明者】
【氏名】片山 薫
【審査官】 齊藤 貴孝
(56)【参考文献】
【文献】 特開2009−080796(JP,A)
【文献】 特開2002−207777(JP,A)
【文献】 特開2006−277166(JP,A)
【文献】 国際公開第2012/114457(WO,A1)
【文献】 米国特許出願公開第2006/0114252(US,A1)
【文献】 特開2007−164498(JP,A)
【文献】 特開平06−187426(JP,A)
【文献】 米国特許出願公開第2011/0080168(US,A1)
【文献】 米国特許出願公開第2004/0028264(US,A1)
【文献】 馬庭 尚志、外1名,3次元モデルデータの形状特徴抽出に関する研究,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2008年 1月10日,第107巻,第427号,p.293−298
【文献】 根本 祐介、外1名,位相限定相関法を用いた大規模高次元データ検索手法の提案,第3回データ工学と情報マネジメントに関するフォーラム 論文集,日本,電子情報通信学会データ工学専門委員会,2011年 8月 4日,p.1−8
【文献】 長田 邦男、外2名,顕著度を考慮した多視点画像特徴量を用いた三次元形状類似検索,Visual Computing グラフィクスとCAD 合同シンポジウム2007 予稿集,日本,画像電子学会 社団法人情報処理学会,2007年 6月23日,p.135−140
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/30
G06F 17/50
(57)【特許請求の範囲】
【請求項1】
コンピュータに、複数の3次元CADデータからなるデータ群から特定の3次元構造と類似する構造に係る3次元CADデータを特定するための検索を実行させる方法であって、
上記3次元CADデータを3次元モデル化するモデル化ステップ
得られた3次元モデルを複数の方向からスキャニングして複数の2次元投影図を得る投影図化ステップと、
別に検索対象の3次元CADデータを3次元モデル化し、検索対象となる3次元構造を示す2次元投影図が得られるようにスキャニングして対象投影図を得る対象データ取得ステップ
得られた複数の2次元投影図の中から対象投影図と最も高い相関性を有する2次元投影図を選出するステップであって、2次元投影図と対象投影図のそれぞれをラドン変換した後にフーリエ変換したものについて位相限定相関法によって相関値を求め、最も高い相関値が検出された2次元投影図を選出する選出ステップ
選出した2次元投影図が得られた3次元CADデータにアクセスして、当該3次元CADデータを検索結果として表示する表示ステップと、
をコンピュータに実行させる方法
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、膨大であり且つ多種フォーマットで格納された3次元CADデータから従来の方法では検索困難であったアセンブリ構造を含めて必要なデータを簡易に検索できる検索方法に関する。
【背景技術】
【0002】
3次元CADデータは様々な製作現場で活用されているが、過去のデータを有効に活用して設計作業の効率化を行うことが求められているが、通常はCADソフトによってフォーマットが異なり、複数のデータから所望のデータを抽出することは困難であるという問題がある。また、通常のグラフを活用した検索システムではアセンブリ構造までは検出できないという問題がある。
そこで、これらの問題を解消した3次元CADの検索システムが種々提案されている。
たとえば、特許文献1には、配置調整および部品編集の両方の作業に適応した設計システムを実現し、部品要素の流用性を向上させるべく、三次元配置調整CADで作成した部品モデルの情報を処理する三次元配置調整CADの部品情報処理装置であって、この三次元配置調整CADの部品情報処理装置が、部品データをスプレッドシート形式で格納した部品テーブルを備え、この部品テーブルに格納された部品データの中から配置調整に必要な配置情報のみを抽出して部品配置調整する配置調整ツールと、前記部品テーブルから部品要素の編集に必要な部品要素編集情報のみを抽出して部品要素の編集を行う部品要素編集ツールとから構成されたことを特徴とする三次元配置調整CADの部品情報処理装置が提案されている。
また特許文献2には、CADデータとこのCADデータに関連する属性情報を格納したデータベースとを関連付けた理解支援データの作成装置として、文字列情報を有するCADデータから文字列情報を取得する文字列情報取得手段と、この文字列情報に関連する属性情報をデータベースから検索して取得する関連情報取得手段と、取得した関連情報に基づいて理解支援データを作成して出力する理解支援データ作成手段とを備えたものが提案されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−108023号公報
【特許文献2】特開2006−344095号公報
【非特許文献】
【0004】
【非特許文献1】大西 弘之、鈴木 寿、 有本 卓、“ハフおよびフーリエ変換を用いた回転と平行移動の検出“、電子情報通信学会論文誌、D-、情報・システム、-情報処理、J80-D-2(7)、pp.1668-1675、1997
【非特許文献2】坪井 辰彦、平井 慎一、“ラドン変換と一次元位相限定相関を用いた複数物体の平面移動検出”、 電子情報通信学会論文誌 D-Vol.J87-D- No.10 pp1963-1972 2004
【非特許文献3】Ding-Yun Chen、Xiao-pei Tian、Yu-te Shen and Ming Ouhyoung、“On Visual Similarity Based 3D Model Re-trieval"、The Eurographics Association and Blackwell Pub-lishers 2003
【非特許文献4】新垣仁、福井和広、“多視点画による類似形状を有する 3 次元物体の高精度識別の検討”、電子情報通信学会技術研究報告。PRMU、パターン認識・メディア理解 107(539)、151-156、2008-03-03
【非特許文献5】延原 章平、松山 隆司、ウ 小軍、松浦 宣彦、“多視点画像を用いた複雑環境下における 3 次元形状・対象領域の同時推定"、MIRU2011
【非特許文献6】石井 純平、酒井 修二、伊藤 康一、青木 孝文、“SIFT と POCを用いた高精度 3 次元復元とその応用”、映像情報メディア学会技術報告、Vol. 35、 No. 33、 pp.17-20、 2011
【非特許文献7】Tajima、 Yuichiro and Fudano、 Kinya and Ito、 Koichi and Aoki、 Takafumi、“Object recognition from local scale invari-ant features"、 IEICE Transactions、pp826-835、2013
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、上述の提案にかかるシステムでは、CADデータを文字として認識して処理しようとするものであるため、データの格納形式により検索できない場合や検索精度が低下する場合がある。また、文字データの場合には3次元化するに際して、部材のかかり方や位置、方向など詳細なデータを処理しようとすると検索に膨大な時間を要するため、データを検索しやすい形に再構築する必要があり、そのように再構築すると必要なデータが不足し、所望の3次元データを得にくいという問題もある。
また、3次元CADデータを画像として認識して処理することも試みられているが、従来提案されている手法では単にデータの外観がわかるだけであり、内部の構造や構成部品の詳細、位置関係、部品相互の関連性等実際のモノづくりに役立つデータは得られないという問題がある。
以下に投影データを用いた、2 データ間の回転角検出や拡大・縮小率検出の手法及び 3 次元ボリュームモデルを対象とした研究について紹介する。
有本ら (非特許文献1等)はハフ変換やフーリエ変換を用いて 2 つの画像間の回転角と平行移動量を推定するアルゴリズムを提案し、平面上に配置された機械部品の位置決めや印鑑照合への応用を提案している。
坪井ら(非特許文献2)はラドン変換と一次元位相限定相関を用いた対象物体の位置と姿勢を検出する手法を提案した。
Ding-YunChen ら(非特許文献3) は物体を中心とした正十二面体の頂点を定義し、その各頂点から20 枚のシルエット画像のセットを求め、この画像を Light field descriptor と呼んだ。この Light field descriptor を様々な角度から求め、3 次元モデルの回転を許容したマッチングを可能にした。新垣ら(非特許文献4) は 3 次元物体のマッチングに対し、多視点から撮影した画像を用いた。さらにこの画像に HLAC や輪郭線特徴などを抽出し、手法ごとに精度を比較した。彼らはマッチングのために制約相互部分空間法や相互部分空間法などを用いた。延原(非特許文献5)らは多視点シルエットなど事前情報を使わず、背景などが含まれた複雑な環境下でも対象の領域、また形状の推定を行うため、背景差分値やエッジ特徴量などを用いる手法を提案した。
石井(非特許文献6)らは位相限定相関法とSIFT を用いて、3Dモデルの多視点画像から 3 次元の形状を復元する提案をした。
ボリュームモデルを扱った研究では Tajima(非特許文献7)らが位相限定相関法による対応点検索を3 次元に拡張し、サブポクセル精度でボリュームモデル間の対応付けを行うことで、非剛体のレジストレーションにも拡張することができる、高精度かつ高速な医用ボリュームモデルのレジストレーション手法を提案した。
従って、本発明の目的は、膨大であり且つ多種フォーマットで格納された3次元CADデータから従来の方法では検索困難であったアセンブリ構造を含めて必要なデータを簡易に検索できる検索方法を提供することにある。
【課題を解決するための手段】
【0006】
本発明は上記目的に鑑みなされたものであり、以下の発明を提供するものである。
複数の3次元CADデータからなるデータ群から特定の3次元構造と類似する構造に係る3次元CADデータを特定する3次元CADデータの検索方法であって、
上記3次元CADデータを3次元モデル化するモデル化ステップ、
得られた3次元モデルを複数の方向からスキャニングして複数の2次元投影図を得る投影図化ステップ
別に検索対象の3次元CADデータを3次元モデル化し、検索対象となる3次元構造を示す2次元投影図が得られるようにスキャニングして対象投影図を得る対象データ取得ステップ、
得られた複数の2次元投影図の中から対象投影図と最も高い相関性を有する2次元投影図を選出する選出ステップ、
選出した2次元投影図が得られた3次元CADデータにアクセスして、当該3次元CADデータを検索結果として表示する表示ステップ
を具備する検索方法。
【発明の効果】
【0007】
本発明の3次元CADデータの検索方法によれば、膨大であり且つ多種フォーマットで格納された3次元CADデータから従来の方法では検索困難であったアセンブリ構造を含めて必要なデータを簡易に検索できる。
特に、本発明によれば、既存技術で検索が困難であった、複数の部品から構成されるアセンブリモデルであって、形状が同じであっても、材質の異なる部品から構成されたモデルや部品の配置が異なるモデルを検索することができる。
【図面の簡単な説明】
【0008】
図1図1は、頂点座標を 3 次元配列へ格納する態様を示す概要図である。
図2図2は、サーフェスモデルとボリュームモデルとを示す説明図である。
図3図3は、3次元モデル化のアルゴリズムを示す説明図である。
図4図4は、3投影データの求め方を示す概略図である。
図5図5は、2 次元ラドン変換の態様を示す概要図である。
図6図6は、投影データを2次元ラドン変換した例を示す説明図である。
図7図7は、3 次元モデルの一例を示す説明図である。
図8図8は、図7に示す3次元モデルの投影データの一例を示す説明図である。
図9図9は、従来の回転角検出の例を示す参考図である。
図10図10は、似ている投影データの一例を示す説明図である。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について、添付図面を参照して説明する。
<全体構成>
本発明の3次元CADデータの検索方法は、複数の3次元CADデータからなるデータ群から特定の3次元構造と類似する構造に係る3次元CADデータを特定する3次元CADデータの検索方法であって、
上記3次元CADデータを3次元モデル化するモデル化ステップ、
得られた3次元モデルを複数の方向からスキャニングして複数の2次元投影図を得る投影図化ステップ
別に検索対象の3次元CADデータを3次元モデル化し、検索対象となる3次元構造を示す2次元投影図が得られるようにスキャニングして対象投影図を得る対象データ取得ステップ、
得られた複数の2次元投影図の中から対象投影図と最も高い相関性を有する2次元投影図を選出する選出ステップ、
選出した2次元投影図が得られた3次元CADデータにアクセスして、当該3次元CADデータを検索結果として表示する表示ステップ
を行うことにより実施できる。
本発明の検索方法は、通常のコンピュータを用いて行うことができる。具体的には、中央処理演算装置(CPU)、データ及びプログラムを格納する、ハードディスクなどの記録媒体、データやプログラムを一時的に保存するメモリ、キーボードなどの入力デバイス、計算結果などを表示する液晶モニタ等の表示媒体を具備するコンピュータを用いて行うことができ、上記方法を実施できるようにコンピュータを作動させるプログラムを上記記録媒体に格納して実施できる。
【0010】
<モデル化ステップ>
このステップは、3次元CADデータを3次元モデル化するステップである。
なお、本明細書において3次元モデル化とは、3次元配列を意味する場合と物理的な実現とは関係しないモデル化を意味する場合との両方を含む。
ここで3次元CADデータとは、様々なCADソフトを用いて作成されたデータを意味し、そのフォーマットなどは特に制限されない。
3次元モデル化は、CADデータを3次元モデルにすることであり、通常の3Dモデル作成ソフトでデータを読み込んで3Dモデルをコンピュータ上で作成する際の手法を特に制限なく用いて実施することができる。
本発明において採用できる手法の一例を示すと、McGill 大学が公開している plyファイル (サーフェスモデル) を利用した.ply ファイルから頂点情報 (x; y; z) を取り出し、図1に示すように頂点に該当する3 次元配列を1で埋め (図1)、ボリュームモデルを作成する。その処理手順を図3のAlgorithm 1 に示す。また、図2にサーフェスモデルからボリュームモデルを作成した例を示す。
【0011】
<投影図化ステップ>
このステップは、得られた3次元モデルを複数の方向からスキャニングして複数の2次元投影図(以下、投影データと呼ぶ場合もある)を得るステップである。
ここで複数の方向とは、任意に選択される方向であるが、いわゆる6面方向に加えて物体の形状や部品の数等に応じて設定される。
スキャニングに際しては、「投影」を実装し、3 次元モデルから投影データを得る。
従来の手法では、モデルが同じシルエットや多視点画像であり、アセンブリ構造が異なる場合に正しくマッチングを行うことは難しい。そこで本発明においては、対象をアセンブリモデルであっても正確に構造などを把握し、精度の高い検索を実現するため、シルエットではなく投影データを求め、それらを特徴量として用いる。
投影データにはシルエットや多視点画像のようにモデルの形状の情報に加え、内部情報も含まれるため、アセンブリ構造を考慮することが可能である。3 次元モデルから投影データを得るため、図1に示すように3次元モデルを 0 ≦η<π、0≦ζ<2πの範囲で適当な間隔で回転させ、投影面 S に垂直な和を求め、投影データを得る。投影データを求める処理の流れを Algorithm2 に示す。
【数1】
【0012】
<対象データ取得ステップ>
このステップは、別に検索対象の3次元CADデータを3次元モデル化し、検索対象となる3次元構造を示す2次元投影図が得られるようにスキャニングして対象投影図を得るステップである。
検索対象の3次元データは、クエリデータの投影データをクエリ投影データと呼ぶ場合もある。
このデータの3次元モデルも、上述のモデル化ステップと同様にして得ることができる。
また、本ステップにおける対象投影図を得る手法は上記投影図化ステップと同様にして行うことができる。
【0013】
<選出ステップ>
本ステップは、得られた複数の2次元投影図の中から対象投影図と最も高い相関性を有する2次元投影図を選出するステップである。
以下に詳述する。
3 次元モデルを 0°≦η<180°、0°≦ζ<360°の範囲で投影計算し、保存したものを 3 次元モデルデータベースとする。クエリデータは内部構造が未知の 3 次元モデルとして扱い、その 3 次元モデルはどのような状態で存在しているか不明なものとする。もっとも高い相関性を有する2次元投影図を選出する、いわゆるマッチングでは 3 次元モデルデータベースに保存されている投影データとクエリ投影データの全てについて求められる相関値によって同一かどうかの判別を行う。
本発明では、3 次元モデルから得られた投影データを用いてマッチングを行う。3 次元モデルの投影データはη、ζの組み合わせから求まるため、3 次元モデルデータベースに保存される投影データを細かい間隔で計算することで、3 次元モデルデータベースと同一の 3 次元モデルのクエリ投影データが入力された場合、ほぼ同一のものが存在する可能性が高くなる。しかし、3 次元モデルデータベースのサイズが大きくなるにつれ、マッチング精度が向上する一方処理時間も膨大となってしまう。
その問題を解消するため、本発明では得られた投影データに対し、ラドン変換を用いた回転角検出を用いる。ラドン変換を用いた回転角検出は従来、図8のような同一な 2つの画像に対して行われる。2つの対象の回転量を平行移動量に置き換え、その平行移動量を位相限定相関法によって求める。高い相関値が検出されると、その相関値の座標から回転量が検出される。
即ち、従来は、
・高い相関値が検出された →回転角を求める
というアルゴリズムの流れである。
一方、本発明では姿勢検出ではなくデータの検出が目的であるため、
・高い相関値が検出された→検出されるということはクエリデータが存在する。
というアルゴリズムの流れにした。
その為、本発明では図8のような同一画像ではなく、図9のような、似ている投影画像の回転角検出を行う。この手法を用いることで、保存されている投影データとクエリ投影データが多少異なる場合でも、高い相関値が検出され、同一物体の投影であると判断することができる。
【0014】
また、本発明においては、相互部分空間法を用いて、又は上記の手法に組み合わせて上記マッチングを行うことも可能である。
相互部分空間法とは、1985 年に前田らによって提案された部分空間法の拡張である。相互部分空間法では、複数の入力データが利用できる場合に適用される。入力パターンから特徴を抽出して入力部分空間を作り、それと辞書として登録された各クラスの部分空間とがなす最小角度 θ1 に基づいて識別を行う。相互部分空間法では M 次元部分空間 V と N 次元部分空間
U (M≦N) のなす最小角度の余弦を以下で定義し、これを類似度とする。
【数2】
この角度 θ1 は、以下で定義される行列 S の最大固有値となる。
【数3】
【数4】
また 2 つの部分空間をなす角度である正準角を用いて相互部分空間法を一般化する。M 次元空間 V と N 次元空間 U の間には N 個の正準角が定義できる。ここで、un(1≦n≦N )、 vm(1≦m≦M) は、それぞれ正規直交基底である。第 2 正準角 θ2 は、第1正準角 θ1 に直交する方向において測った最小角、第 3 正準角 θ3 は θ1 と θ2 に直交する方向で測った最小角である。以下同様に N 個の正準角が順次求まる。これを式で書くと次のようになる。
【数5】
ここで、ui ∈ U 、 vi ∈ V 、 ||ui ||≠0、 || vi ||≠0、 ui⊥uj (= 1
、 . . . 、 i - 1)、 vi⊥vj (= 1、 . . . 、 i - 1) である。また、上記式 (4) の第i 番目に大きい固有値が第 i 正準角 θi に対する cos2θi となる。
2 つの部分空間の構造的な類似性を測る尺度として、第 n 正準角まで考慮した類似度 S [n] (n ≧1) を次のように定義する。
【数6】
本発明では第一正準角 cos2θ1 と S [n] を用いてマッチングを行い、両者の比較を行う。
【0015】
さらに本発明では、非線形的なパターン分布の識別の効果的な手法として知られている核非線形相互部分空間法を利用することもできる。かかる核非線形相互分空間法は Scholkopfが提案したカーネル主成分分析を相互部分空間法へと適用したものである。徴空間への非線形写像を: RN→ F と定義する。特徴ベクトルであるベクトルx を特徴空間へ写像すると (ベクトルx) となる。F は高次元もしくは無限次元であるため直接これらの内積を求めることは難しい。そこでカーネル主成分分析を用いることで、有限時間で計算を行えるようにした。クラス V と U の特徴空間上のベクトルを Vi (1≦i ≦m)、Uj (1≦j ≦n) とすると、それらの内積は次式で求められる。
【数7】

ここで k(-, -) はカーネル関数、{αl }i,{α′l′ }j は係数であり、特徴ベクトルであるベクトルxvl,ベクトルxul′ から求まる。ベクトルxvl,ベクトルxul′ は V 、U の特徴ベクトルである。具体的にカーネル主成分分析で求められた基底同士の角度を計算するためには、数4の数式に代入すればよい。
【0016】
本発明において核非線形相互部分空間法を用いてマッチングを行う場合について詳述する。
上述の投影図化ステップにある方法で投影データを求め、この複数枚の投影データを用いて相互部分空間法によりマッチングを行なうと、角度により投影データは大きく異なり、非線形的な分布になり、相互部分空間法にそのまま投影データと認識率が低くなってしまう。この点を改善することができる。また 3 次元モデルが平行移動していてもマッチングできるように投影データをフーリエ変換したものや重心による位置合わせを用いる。
・重心による位置合わせ
本発明では、3 次元モデルが平行移動していてもマッチングできるようにするために、フーリエ変換を用いた場合と重心による位置合わせを用いる2通りで実験を行なった。本節では重心による位置合わせについて述べる。投影データ一枚一枚の重心を求め、その重心の位置を画像の中心に合わせるように移動させる。ここで投影データの位置 (xn, yn)(1≦n≦N ) における値を f (xn, yn) とすると投影データの画像の重心 (xg , yg ) は、以下の様に定義する。

【数8】
こうして求められた重心の座標 (xg , yg ) を投影データの中心に合わせる。
なお、これらのデータは、.ply 形式のファイルであり、.ply 形式のファイルは3次元モデルの頂点座標を格納している。モデル化ステップにおいて、このサーフィスデータをボリュームデータに変換するためにまず、頂点座標に対応する番地の3次元配列に重みとしてボクセルの値 1を格納する。このままでは内部は空の状態なので空の部分にも同じく値1を与えることでボリュームデータとする。また部分的に内部の重みの値を1以外に変更することで内部構造の違いとした。今回の実験では重み (ボクセルの値) を20〜45に変更したモデルを作成した。
【0017】
(学習フェーズ)
具体的にはまず辞書側となる 3 次元モデルに対し、3 次元ラドン変換により投影データをηが0°≦ζ<180°の範囲で、 η を 0°≦ζ<360°の範囲で 適当な間隔をあけて複数枚求める。投影データは複数の画像の集まりである。次に 3 次元モデルが平行移動していてもマッチングできるようにフーリエ変換もしくは重心による位置合わせをおこなう。次に相互部分空間法を用いてマッチングするために投影データから辞書側の部分空間を構成する。
投影データの画像一枚一枚をベクトル化する。
このベクトル vi (1 ≦i ≦M) からカーネル関数を用いて行列Kvij = k(ベクトルvi , ベクトルvj ) を作り、固有ベクトル αvを求める。この固有ベクトルを固有値の昇順にソートし、正規化する。相互部分空間法の場合はベクトル化したあとベクトルを並べた行列を固有値分解することで固有値と固有ベクトルを求める。固有値の大きい順に固有ベクトルをソートし、これから部分空間 V を構成する。ここで M はクエリの投影データの入力枚数である。
アルゴリズムを数9 に示す。
【数9】
【0018】
(分類フェーズ)
学習フェーズと同様にクエリ側のクラス μ の 3 次元モデルの投影データをそれぞれ作成する。投影データから基底ベクトル uuj(1 ≦j≦N ) を作り、これからカーネル関数を用いて行列Kuを作り、固有ベクトル αuを求める。この固有ベクトルを固有値の昇順にソートし、正規化する。学習フェーズで求めた固有ベクトル αvと入力データをベクトル化した vi を数7の式に代入することで数4の行列 S を作る。但しすべての固有ベクトルを利用するのではなく、辞書側、入力側からそれぞれ設定した本数のベクトルを用いることができる。この行列の最大固有値から cos2θ1 と S [n] を求め、この値の最も高いクラスにクエリを分類する。
相互部分空間法の場合は学習フェーズと同様に基底ベクトルを並べて行列を作り、固有値分解して求めた固有値の順に固有ベクトルをソートし、正規化する。学習フェーズで求めた固有ベクトルと分類フェーズで求めた固有ベクトルを求めればよい。
アルゴリズムを数10に示す。
【数10】
【0019】
<表示ステップ>
このステップは、選出した2次元投影図が得られた3次元CADデータにアクセスして、当該3次元CADデータを検索結果として表示するステップである。
このステップは、データベースに存在する多数の3次元CADデータの中から目的とするCADデータを選択し、該当するCADデータを画面上に表示し、適宜編集や別名での保存が可能となるよう処理するものであり、通常の手法を特に制限なく用いることができる。
【0020】
上述のように、本発明の検索方法は、アセンブリモデルの周囲から一様に投影を取って、データベースに格納するので投影の数が多い程検索精度は高くなる。
また、検索対象のモデルが与えられたら、ランダムな角度から適当な枚数の投影を取る。ここで、データベース中のモデルに対する投影方法と同じである必要はないが、ここでも投影の数が多い程検索精度は高くなる。
検索対象のモデルから投影データを一枚選び、それと最も高い相関値を持つ投影データをデータベース中から検索する。これらの一連の操作を全ての投影データについて行い、検索対象のモデルの投影データのどれかと最も高い相関値を持つ、データベース中の投影データを選び、その元のアセンブリモデルを検索結果とする。
ここで、以下の様な問題があるところ、本発明ではこれらの問題を解消したものであり、この点において特徴的である。
[上述の検索方法における問題点]
・回転に関する問題
投影角度の違いによって同じアセンブリモデルでも投影は異なる。投影角度の違いが小さくなるようにアセンブリモデルあたりの投影データの数が多くすると検索精度は高くなるが、処理時間やデータ容量が大きくなる。
・並行移動に関する問題
アセンブリモデルの投影を取る際、モデルの位置によって投影の位置もずれる。
[本発明において採用された解決策]
・2枚の投影データを比較する際、それぞれをラドン変換し位相限定相関法によって相関値を求める。ラドン変換とフーリエ変換とを併用することによって回転と並行移動に関する問題を解決することができる。投影角度の影響を小さくできるため、必要な投影データの枚数を少なくすることができる。
<その他>
以上の各ステップの他、必要に応じて他のステップを導入することもできる。
【0021】
以上本発明の3次元CADデータ検索方法について説明したが本発明はこれらに制限されるものではなく、本発明の趣旨を逸脱しない範囲で種々変更可能である。
【実施例】
【0022】
以下、本発明を実施例によりさらに具体的に説明するが、本発明はこれらに制限されるものではない。
【0023】
〔実施例1〕
実験に使用したデータを表 1 にまとめる。
実験で用いた 3 次元モデルデータベースには、 0°≦η≦180°、 0°≦ζ≦360°の範囲を
・η= 0°、5°、10°・・・・175°、ζ= 0°、5°、10°・・・・355°のように 5°間隔で計算されている 36×72 = 2592 枚の投影が保存されている 3 次元モデルデータベース DB1
・10°間隔で計算されている 18×36 = 648 枚の投影が保存されている 3 次元モデルデータベース DB2
・20°間隔で計算されている 9×18 = 162 枚の投影が保存されている 3 次元モデルデータベース DB3
をそれぞれ用意した。ここでのη、ζは図 1 に示す通りである。
【0024】
【表1】
【0025】
実験では、クエリデータとして表 1 の中の 3 次元モデルから1 つ選び、その 3 次元モデルの投影データを0°≦η≦180°、 0°≦ζ≦360°の範囲でランダムに求める。また、クエリデータは 1 枚ではなく、複数枚使用する実験も行い、精度と処理時間の評価も行った。求めたクエリの投影データと 3 次元モデルデータベースを提案手法 4. 4 を用いて、全ての組み合わせの相関値を求める。求められた相関値の高さから、クエリデータと 3 次元モデルデータベースが同一かどうかを判断する。実験に用いたクエリデータの例を表 2 に、実験結果を表 3 のようにまとめる。表 7〜18 では表のスペースの関係上 Query をQ、TABLE を TA、HUMAN を HU、SPIDER を SP と省略した。また表中で、正しくマッチングできていない組み合わせの相関値のセルを網掛けにした。
【0026】
【表2】
【表3】
【0027】
DB1 と様々な枚数のクエリ投影データと相関値検出を行った結果、クエリ投影データの枚数が 1 枚と少ない場合、相関値が非常に低く、TABLE1-1 と TABLE1-2 のように内部構造が非常に似ている 2 つの相関値に差が無く正しくマッチングを行えていない。クエリ投影データの枚数が多いほど、より高い相関値が検出され、正しい 3 次元データマッチングが行えていることがわかる。しかし、TABLE1-1 と TABLE1-2、TABLE2-1と TABLE2-2 のように内部構造が似ている場合他の TABLEや HUMAN、SPIDER のように全く異なる 3 次元モデルデータベースとの相関値と比べて高くなることがわかる。一方、クエリ投影データが増えるにつれ、処理時間が膨大となってしまうという問題点もあった。
DB2 と様々な枚数のクエリ投影データと相関値検出を行った結果、クエリ投影データの枚数が 1 枚と少ない場合、相関値が非常に低く、TABLE1-1 と TABLE1-2 のように内部構造が非常に似ている 2つの相関値に差が無く正しくマッチングを行えていない。また、TABLE1-3 と TABLE2-1 のように外見も内部構造も大きく異なる 2 つから最大の相関値が検出されてしまっている。DB1 と同様に TABLE1-1 と TABLE1-2、TABLE2-1 と TABLE2-2 のように内部構造が似ている場合、他の TABLE や HUMAN、SPIDER のように全く異なる 3 次元モデルデータベースとの相関値と比べて高くなることがわかる。
DB3 と様々な枚数のクエリ投影データと相関値検出を行った結果、クエリ投影データの枚数が 1 枚の場合 DB1、DB2 と同様に、内部構造が似ている場合、相関値が低くなってしまい、正しくマッチングを行えない。
クエリ投影データが 1 枚の場合、3 次元モデルデータベースのサイズに関わらず相関値が低くなってしまった。また、3 次元モデルデータベースのサイズに関わらず、マッチング率が非常に低い。
クエリ投影データが 4 枚の場合、相関値は 1 枚の場合よりも高くなり、正しくマッチングが行える。ランダムに得る投影データによっては、正しくマッチングが行えない場合があったが、クエリ投影データが 1 枚の場合よりも正しいマッチングが行える確率は上がる。
クエリ投影データが 9 枚の場合、相関値は 1 枚、4 枚の場合よりも高くなり、正しくマッチングが行える。ランダムに得る投影データによっては、正しくマッチングが行えない場合があったが、クエリ投影データが 1 枚、4 枚の場合よりも正しくマッチングが行える確率は上がる。また、3 次元モデルデータベースのサイズが大きいほど精度は上がるが、処理時間も増える。
クエリ投影データが 16 枚の場合、保存されている投影データが比較的多い DB1、DB2 では正しいマッチングをほぼ確実に行えるが、処理時間が膨大となってしまった。
今回の評価実験で、クエリ投影データをランダムな角度で求めたが、クエリ投影データによっては正しくマッチングが行われなかった。表 4 にそれぞれの 3 次元モデルデータベースとクエリ投影データの枚数についてのマッチング率を示す。表 4から、3 次元モデルデータベースのサイズが小さく、またクエリ投影データの枚数が少ないと、マッチング率が低下し、正しくマッチングが行われていないことがわかる。これは、クエリ投影データがランダムな角度で求められることから、 3 次元モデルデータベースに保存されている投影データとクエリ投影データの回転角検出が正しく行われず、相関値が低くなってしまったことが原因と考えられる。
この点本発明においては、クエリの投影を多数利用すれば高い精度でマッチングできることが分かった。
【0028】
【表4】
【0029】
ここではマッチングの処理時間について表5及び6に示す。
計算環境は表 6 である。表 5 から処理時間は処理枚数に比例して増加することがわかる。マッチング率 (表 4) と処理時間 (表 5) から今回の実験で適切な 3 次元モデルデータベースとクエリ投影データの枚数は 10°間隔で計算されている 18×36 = 648 枚であり、クエリ投影データの枚数は 9 枚 であると判断した。
【0030】
【表5】
【0031】
【表6】
【0032】
【表7】
【0033】
【表8】
【0034】
以上示したように、本発明の3次元CADデータ検索方法は、投影データを用いることで、従来の手法では考慮することのできない、内部構造を含めたマッチングを行うことができ、実験により適切なクエリ投影データの枚数、3 次元モデルデータベースの構成枚数を評価した。
【0035】
〔実施例2〕
投影データを用いることの有効性を相互部分空間法及び核非線形相互部分空間法による類似度によって評価する。なお、実験は MATLAB2012 を Xenon E31245 3.3GHz、メインメモリ16Gb のマシン上で行った。また実験データのサーフィスデータは McGill 3D Shape Benchmark [9] の公開データセットを用いた。これに前章の変換を施してボリュームデータとした。
マッチングのサンプルとしては上述のボリュームデータを用いた。この中からクエリの部分空間を構成するための入力枚数 R を 50 〜 200 で変化させ類似度の推移を調べた。データベースの 3 次元モデルには
(1) 同一のモデル
(2) 回転移動させたモデル
(3) 平行移動させたモデル
(4) 回転及び平行移動させたモデル
(5) ボリュームデータの内部の値 (重み) を変えたモデル
の 5 種類を用いた。
核非線形相互部分空間を用いる際、辞書側部分空間の次元数rd、入力側部分空間次元数 ri、使用する正準角の数 nca、そしてスケールパラメーター s の 4 つがある。今回の実験では正準角の数は式 (5) の行列の行数、つまり辞書側部分空間の次元数rd と等しくした。rd = 6、ri = 5 として今回は主に実験を行った。
またカーネル関数としては下記のガウス型 RBFを用いた。
【数11】
【0036】
スケールパラメーターは σ の値を決定するのに用いる。具体的には投影データから得られるベクトルを平均を計算しこれにスケールパラメーター s を乗じたものを σ とした。また精度の比較のために相互部分空間法を用いて同様の実験も行なった。相互部分空間法の場合は比較するモデルそれぞれの投影データから求めたベクトルを並べて行列を作る。その行列の固有ベクトルを式 (5) に代入することで類似度を求めた。
【0037】
まず異なる複数のモデルに対し核非線形相互部分空間法(KMSM) 及び相互部分空間法 (MSM) を用いた結果を示す。
まずどのモデルも重みは加えていないものとの類似度の結果を示す。ここで table1-1-rot とは table1-1 を θ、φ ともに 5°だけ回転させたものである。これは投影データを 10°ずつとるため、最大誤差である 5°に設定した。実験の結果の数値は空間同士の角度 θ を用いて表される cos2θ1 の値及び、S [n] である。
【表9】
今回辞書側部分空間の次元数 rd と等しい n = 6 とした。類似度は cos2θ1、S [n] ともに最大 1 である。
表 12 の table1-1 と table1-1-rot より回転していても同一の物体の類似度が最も高くなっていることが分かる。また R = 50を例に取ると MSM では table1-1 と table1-1-rot との類似度が0.9871 で、次に高い類似度は spider と human の 0.9746 と差があまりない。これに対し KMSM では table1-1 と table1-1rotとの類似度は 0.9492 で次に高い spiderto human との類似度は0.8176 となり差が大きく表される。類似の値の差から MSM に比べ KMSM のほうが識別性能が高いことが確認できる。
次に回転の差がどれほど類似度の差として現れるか評価した。
同一の物体に対して投影を撮り始める角度を 1°ずつ変えた場合の結果を示す。実験は table1-2 を用いて行った。
表 13 より回転の違いが大きいほど類似度の低下につながっている。KMSM の方が S [n]、cos2θ1 の値は MSM よりも小さい。しかし表 12 の human と spider という異なる物体の中でも最も高い類似度が cos2θ1 = 0.8176、 S [n] = 0.2505 である。
このことから例え最大誤差の 5°回転していても同一物体であると認識できることが分かる。またこれらの実験から cos2θ1の値を 0.9 をしきい値とし、それ以上であればマッチングするモデル、それ以下であれば異なるモデルと判断することにする。
次に平行移動や重みを加味したした場合の結果を示す。 table1-2 を平行移動したモデル table1-2-1 と、平行移動かつ回転したモデル table1-2-2 を用いた。具体的にはボリュームデータの値を 1 から 20 に変更した。
表 14 より平行移動があってもマッチングは可能だと言える。
また同一形状であれば平行移動かつ回転移動していても高い類似度を示している。しかし一方で table1-2 と table1-3 の 0.9573のように構造が異なるモデル同士でも高い類似度を示している。次に重心による位置合わせを施した場合の結果を示す。表15 より table1-2 と table1-3 の類似度が 0.7804 となっており、table1-2 と table1-2-2、つまり同一物体が移動、回転している場合の類似度よりも高くなっている。このことからフーリエ変換を施すよりも効果的であることが確認できる。
さらに重みであるボリュームデータの値を 20 〜 45 に変え、さらに重みのある脚の本数も変え実験を行った。
表 16 より、table1-2 と table1-4、5、6 との類似度は低くなっている。この結果から重みのある位置が異なればそれも類似度の差として現れている。表 14 の table1-2 と table1-2 の類似度が高くなるのは脚の違いが一つであり、重みが1箇所しか違わないからと考えられる。フーリエ変換を施すと、 重みの位置が異なる場合や、重みの値の差が大きい場合は正しくマッチングできることがわかる。
表 17 より table1-4 と table1-5 の類似度は 0.6189 となり、0.9 を下回っている。このことからフーリエ変換では誤ってマッチングしてしまうものも区別できることがわかる。
投影データの枚数 R = 50、 100、 200 に変化させ、類似度の値の推移を調べた。形状の異なる 3 次元モデルを重心による位置合わせを施して類似度を求めた。結果を以下に示す。
表 18、19、20 から投影データの枚数を増やすと類似度の値が増加する傾向にあることが分かる。
本発明の実行時間について示す。相互部分空間法を用いてマッチングを行う時間に比べ投影データの計算時間のほうが大きくかかることが分かる。
本発明の結果として、今回用いた3次元モデルにおいては回転、移動、または回転移動していてもマッチングできた。さらに机の脚の位置や重みを変更した単純な構造の異なるアセンブリモデルではマッチングできることが確認できた。
【表10】
【表11】
【表12】
【表13】
【表14】
【表15】
【表16】
【表17】
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10