IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

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

特許70756543次元CADモデル部分検索方法及び3次元CADモデル検索方法
<>
  • 特許-3次元CADモデル部分検索方法及び3次元CADモデル検索方法 図1
  • 特許-3次元CADモデル部分検索方法及び3次元CADモデル検索方法 図2
  • 特許-3次元CADモデル部分検索方法及び3次元CADモデル検索方法 図3
  • 特許-3次元CADモデル部分検索方法及び3次元CADモデル検索方法 図4
  • 特許-3次元CADモデル部分検索方法及び3次元CADモデル検索方法 図5
  • 特許-3次元CADモデル部分検索方法及び3次元CADモデル検索方法 図6
  • 特許-3次元CADモデル部分検索方法及び3次元CADモデル検索方法 図7
  • 特許-3次元CADモデル部分検索方法及び3次元CADモデル検索方法 図8
  • 特許-3次元CADモデル部分検索方法及び3次元CADモデル検索方法 図9
  • 特許-3次元CADモデル部分検索方法及び3次元CADモデル検索方法 図10
  • 特許-3次元CADモデル部分検索方法及び3次元CADモデル検索方法 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-18
(45)【発行日】2022-05-26
(54)【発明の名称】3次元CADモデル部分検索方法及び3次元CADモデル検索方法
(51)【国際特許分類】
   G06F 30/10 20200101AFI20220519BHJP
【FI】
G06F30/10
【請求項の数】 3
(21)【出願番号】P 2018030202
(22)【出願日】2018-02-22
(65)【公開番号】P2018136946
(43)【公開日】2018-08-30
【審査請求日】2021-01-26
(31)【優先権主張番号】P 2017032589
(32)【優先日】2017-02-23
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】305027401
【氏名又は名称】東京都公立大学法人
(74)【代理人】
【識別番号】100150876
【弁理士】
【氏名又は名称】松山 裕一郎
(72)【発明者】
【氏名】片山 薫
【審査官】堀井 啓明
(56)【参考文献】
【文献】特開2015-158752(JP,A)
【文献】国際公開第2014/192889(WO,A1)
【文献】特開2013-254269(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/00-30/398
(57)【特許請求の範囲】
【請求項1】
コンピュータに下記の各ステップを実行させることにより、データベースに格納された複数の3次元CADデータからなるデータ群から特定の3次元構造を包含する3次元CADデータを特定する3次元CADモデル部分検索方法であって、
上記3次元CADデータを3次元配列化する配列化ステップ、
得られた3次元モデルをCADデータの構成要素ごとに分解して要素データを得る分解ステップ、
得られた要素データを処理してサイノグラムを得るサイノグラム化ステップ、
得られたサイノグラムと元の3次元CADデータとを関連付ける関連付けステップ、
及び
上記サイノグラムを目印として各3次元データの検索を行い、構成要素データごとに照合して適合する構成要素を抽出するか、又は当該構成要素と関連付けられた3次元CADデータを抽出する、抽出ステップ
を具備する3次元CADモデル部分検索方法。
【請求項2】
さらに、得られたサイノグラムの横軸を細分化すると共に各要素データを関連付けて、位置情報が関連付けられた位置情報サイノグラムを得る位置情報取得ステップを実行させると共に
上記関連付けステップが、
上記位置情報サイノグラムと元の3次元CADデータにおける位置情報サイノグラムと対比するステップを含む
請求項1記載の3次元CADモデル部分検索方法。
【請求項3】
コンピュータに下記の各ステップを実行させることにより、データベースに格納された複数の3次元CADデータからなるデータ群から特定の3次元構造を包含する3次元CADデータを特定する3次元CADモデル検索方法であって、
上記3次元CADデータを3次元配列化する配列化ステップ、
得られた3次元モデルをCADデータの構成要素ごとに分解して要素データを得る分解ステップ、
得られた要素データを処理してサイノグラムを得るサイノグラム化ステップ、
得られたサイノグラムの横軸を細分化すると共に各要素データを関連付けて、位置情報が関連付けられた位置情報サイノグラムを得る位置情報取得ステップ、
得られたサイノグラムと元の3次元CADデータとを関連付けると共に、位置情報サイノグラムと元の3次元CADデータにおける位置情報サイノグラムと対比する、関連付けステップ、
及び
各位置情報サイノグラムを動径方向にフーリエ変換し、次いで角度方向にフーリエ変換することにより、不変量データを得、得られた不変量データを基に検索を行う
3次元CADモデル検索方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、膨大であり且つ多種フォーマットで格納された3次元CADデータから従来の方法では検索困難であったアセンブリ構造を含めて必要なデータを簡易に検索できる検索方法に関する。
【背景技術】
【0002】
近年、 製造業などでは3次元 CAD を用いてモデル設計が行われている。特に製造業では部品の組み合わせによって1つのモデルを表すアセンブリモデルを用いて設計を行うことが多い。
年々増えているデータを効率的に管理するためには、3次元アセンブリモデルの検索手法が必要となる。効率的に管理することが可能になれば、設計者の設計にかかる時間が短縮されより効率的な設計、生産につながる。主な処理として、形状だけを特徴量に反映して検索を行うのが一般的である。 3次元アセンブリモデルにおいては、 形状はもちろん、内部構造や各部品の配置や部品に使用されている材質まで識別する検索手法が必要になる。またデータの再利用をする場合、使われている部品単位で検索を行うことができればさらにデータの再利用が効率化する。部品単位で検索を行う場合、モデルの一部分から全体を検索する部分検索技術が必要になるが、比較するモデルで形状が異なるため、類似するモデルを検索する技術の適用では実現が難しい。アセンブリモデルの部品の配置や材質などを識別する3次元モデルの検索手法として複数の視点からの投影データを用いた3次元モデル検索がある。複数枚の投影画像の類似度を計算して、 3次元モデルの類似度とするものである。投影画像に対してラドン変換を行い、フーリエ変換を行い位相限定相関法で比較することでモデルの類似度を計算している。しかし得られた投影の画像の類似度を計算する方法ではその物体が類似しているかどうかしかわからない。部分検索の場合には、モデル全体に対して比較対象がそのモデルを構成する一部品であるため、必ずしも類似しているわけではないという問題点がある。
【0003】
3次元モデルの形状をもとにした検索はこれまで数多く提案されている 非特許文献1)。非特許文献2では3次元モデルを”Light FieldDescriptor(LFD)”という特徴量から形状検索を行う方法が提案されている。”LFD”は3次元モデルを複数の方向からレンダリングし、得られたシルエット画像を検索に用いている。非特許文献3では、検索者が書いたスケッチを用いて、手書きの線画スケッチの揺らぎやノイズに対して頑強な3次元モデルの検索を行う手法を提案している。3次元モデルは製作者によって、位置・大きさ・向きが任意である。3次元モデルの検索の手法としてモデルの位置や向きを合わせて検索を行う方法がある。非特許文献4では検索を行う前の処理として、モデルの面上に点をランダムにとり、点群の主成分分析を行うことでモデルの軸を決定し、その軸を利用した位置合わせの手法を提案した。位置合わせを行ったモデルに対して、レンダリングを行い、4つの形状表現を生成し、それぞれのフーリエスペクトルを計算し、それらの低周波成分の組み合わせを特徴量として検索を行っている。
これらの手法については、アセンブリモデル構造を持たない3次元モデルを検索の対象としている。非特許文献5ではモデルの構成部品を頂点としたグラフに変換し、グラフ検索を行うことで、モデルの内部構造を識別するモデル検索を提案している。部分検索の研究として、非特許文献6では、”KAZE特徴量”が提案されている。SIFTや SURFに用いられる"Gaussian Filter"によるスケールスペースは、"Gaussian Filter" が等方的であるため、モデルの輪郭をぼやかしてしまい、局所的な特徴量をうまくとれないことがある。それを解決するために、非線形なスケールスペースを用いたのが” KAZE 特徴量”である。非特許文献7では複数視点から”Depth Buffer ”画像という物体の深さ画像を生成し、”Depth Buffer”画像から抽出した KAZE 特徴量のエンコーディング手法に”Vector of Locally AggregatedDescriptors(VLAD) ”を用いて、局所特徴量を3次元モデルの特徴量として統合し、3次元物体の部分検索を実現している。この手法は3次元モデルのアセンブリ構造を考慮した部分検索ではないため、提案手法とは異なる。
また、特許文献1には、膨大であり且つ多種フォーマットで格納された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データを検索結果として表示するステップを具備する検索方法が提案されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2015-158752号公報
【0005】
【文献】J.H. Tangelder and R.C. Veltkamp, ” A Survey of Content 3D Shape Retrieval Methods ” , Multimedia Tools and Ap-plications, vol.39, no.3, pp.441-471, 2008
【文献】D.Y. Chen, X.P. Tian, Y.T. Shen, and M. Ouhyoung, ” On Visual Similarity Based 3D Model Retrieval ” , Computer Graphics Forum, vol.22, no.3, pp.223-232, 2003
【文献】古屋 貴彦, 松田 隆弘, 栗田 侑希紀, ”多視点画像特徴の多様体を用いたスケッチによる3 D モデルの検索” , NICOGRAPH,2013.
【文献】立間 淳司, 関 洋平, ”多重フーリエスペクトル表現に基づく三次元モデルの形状類似検索” , 電子情報通信学会論文誌 Vol.J91-D,No.1, pp.23-36, 電子情報通信学会, 2008
【文献】A.S. Deshmukh, A.G. Banerjee, S.K. Gupta, R.D. Sriram,” Content-based assembly search: A step towards assemblyreuse” , Computer-Aided Design, vol.40, issue 2, pp.244-261,2008
【文献】Pablo F. Alcantarilla, Adrien Bartoli and Andrew J. Davi-son, ” KAZE Features ” European Conference on ComputerVision(ECCV), October 2012
【文献】小坂 龍一, 立間 淳司, 青野 雅樹, ”複数視点画像の局所特徴量を用いた三次元物体の部分検索手法” , ITE Technical Report Vol.37, No.56, ME2013-124, December 2013
【文献】脇田 志郎, 青野 雅樹, ”突起形状に着目した3次元モデルのセグメンテーション” , ITE Technical Report Vol. 35, No. 9 AIT 2011-11, HI2011-11, ME2011-50(Feb. 2011)
【文献】K. Katayama and T. Sato, “ Matching 3D CAD Assembly Models with Different Layouts of Components using Projec-tions ” , IEICE Transactions on Information and Systems, Vol.E98-D(6), pp.1247-1250, 2015[10] N. Chida, T. Sato, K. Katayama, ”部品を強調した投影画像による 3 次元モデルの検索手法とその実験的評価” DEIM Forum 2016 E5-
【発明の概要】
【発明が解決しようとする課題】
【0006】
近年、 製造業で用いられる3次元CAD ソフトの普及により、3次元 CAD モデルの数は増加する一方である。これらを再利用するために 3 次元モデルの検索に対する需要は高まることが期待される。さらなる再利用の効率化にはモデルの一部分からモデル全体の検索を行う部分検索技術が必要になる。
しかし、従来提案されている手法では未だ迅速な検索の点では不十分であり、また一宇の構成要素から全体図を検索する等現在の多様な要求にこたえることができていなかった。
従って本発明の目的は、複雑な3次元CADデータを迅速に検索できるだけでなく、複雑な3次元CADデータを構成する構成要素ごとに検索を行い、かかる構成要素から完成品である3次元CADデータにアクセスする等多種多様な検索が可能な3次元CADモデル部分検索方法を提供することにある。
【課題を解決するための手段】
【0007】
本発明者らは上記課題を解消すべく鋭意検討した結果、
を提供することにより上記課題を解消したものである。
1.複数の3次元CADデータからなるデータ群から特定の3次元構造を包含する3次元CADデータを特定する3次元CADモデル部分検索方法であって、
上記3次元CADデータを3次元配列化する配列化ステップ、
得られた3次元モデルをCADデータの構成要素ごとに分解して要素データを得る分解ステップ、
得られた要素データを処理してサイノグラムを得るサイノグラム化ステップ、
得られたサイノグラムと元の3次元CADデータとを関連付ける関連付けステップ、
及び
上記サイノグラムを目印として各3次元データの検索を行い、構成要素データごとに照合して適合する構成要素を抽出するか、又は当該構成要素と関連付けられた3次元CADデータを抽出する、抽出ステップ
を具備する3次元CADモデル部分検索方法。
2.さらに、得られたサイノグラムの横軸を細分化すると共に各要素データを関連付けて、位置情報が関連付けられた位置情報サイノグラムを得る位置情報取得ステップを有し、
上記関連付けステップが、
位置情報サイノグラムと元の3次元CADデータにおける位置情報サイノグラムと対比するステップを含む
1記載の3次元CADモデル部分検索方法。
3.複数の3次元CADデータからなるデータ群から特定の3次元構造を包含する3次元CADデータを特定する3次元CADモデル検索方法であって、
上記3次元CADデータを3次元配列化する配列化ステップ、
得られた3次元モデルをCADデータの構成要素ごとに分解して要素データを得る分解ステップ、
得られた要素データを処理してサイノグラムを得るサイノグラム化ステップ、
得られたサイノグラムの横軸を細分化すると共に各要素データを関連付けて、位置情報が関連付けられた位置情報サイノグラムを得る位置情報取得ステップ、
得られたサイノグラムと元の3次元CADデータとを関連付けると共に、位置情報サイノグラムと元の3次元CADデータにおける位置情報サイノグラムと対比する、関連付けステップ、
及び
各位置情報サイノグラムを動径方向にフーリエ変換し、次いで角度方向にフーリエ変換することにより、不変量データを得、得られた不変量データを基に検索を行う
3次元CADモデル検索方法。
【発明の効果】
【0008】
本発明の3次元CADモデル部分検索方法によれば、複雑な3次元CADデータを迅速に検索できるだけでなく、複雑な3次元CADデータを構成する構成要素ごとに検索を行い、かかる構成要素から完成品である3次元CADデータにアクセスする等多種多様な検索が可能である。
【図面の簡単な説明】
【0009】
図1】検索対象モデルを示す斜視図である。
図2】サイノグラムの列同士の比較の例を示す概略図である。
図3】サイノグラムの全体の比較の例を示す概略図である。
図4】投影における対応点の決定の例を示す概要図であり、(a)はクエリモデルの投影点を示し、(b)はデータベースモデルの投影点を示す概要図である。
図5】評価に使用した部品を示す斜視図であり、(a)はClutchを、(b)はDieを、(c)はGearを示す。
図6】使用したモデルの一覧を示す概要図である。
図7】サイノグラムの比較を用いた手法による各モデルとクエリモデルとの一致度を示すチャートであり、(a)はClutchをクエリモデルとした場合、(b)はDieをクエリモデルとした場合、(c)はGearをクエリモデルとした場合を、それぞれ示す。
図8】サイノグラムの比較を用いた手法と位相限定相関法を用いた手法の検索精度を示すチャートである。
図9】投影数の変化と各クエリモデルにおけるデータベースモデルの一致度を示すチャートであり、(a)はClutchをクエリモデルとした場合、(b)はDieをクエリモデルとした場合、(c)はGearをクエリモデルとした場合を、それぞれ示す。
図10】検索に用いる投影点を削減した場合の検索制度を示すチャートである。
図11】モデルのサイズを変更した場合の検索制度を示すチャートである。
【発明を実施するための形態】
【0010】
以下、本発明を、図面を参照して詳細に説明するが、本発明はこれらに制限されるものではない。
【0011】
本発明の3次元CADモデル部分検索方法は、
複数の3次元CADデータからなるデータ群から特定の3次元構造を包含する3次元CADデータを特定する3次元CADモデル部分検索方法であって、
上記3次元CADデータを3次元配列化する配列化ステップ、
得られた3次元モデルをCADデータの構成要素ごとに分解して要素データを得る分解ステップ、
得られた要素データを処理してサイノグラムを得るサイノグラム化ステップ、
得られたサイノグラムと元の3次元CADデータとを関連付ける関連付けステップ、
及び
上記サイノグラムを目印として各3次元データの検索を行い、構成要素データごとに照合して適合する構成要素を抽出するか、又は当該構成要素と関連付けられた3次元CADデータを抽出する、抽出ステップ
を行うことにより実施することができる。
【0012】
本発明は、3次元CADアセンブリモデルの形状だけでなく、部品の配置まで考慮した部分検索手法を提案する。検索には3次元配列を用いる(配列化ステップ)。アセンブリモデルを構成する部品の識別のため、使用されている部品の種類ごとに数値を付与する。アセンブリモデルに対して、複数の視点から投影画像を生成する(分解ステップ)。こうすることで部品に付与された数値を投影画像に反映させる(関連付けステップ)。この投影画像に対してラドン変換を施し、サイノグラムを生成する(サイノグラム生成ステップ)。こうして得られたサイノグラム同士を比較する(抽出ステップ)。なお、以下の実施形態においては、データベースモデルには3種類の3次元CADアセンブリモデルについて、部品の配置が異なる3次元 CADアセンブリモデルをそれぞれ3タイプ3種類、計27個用意し、提案手法を実験的に評価した。
本発明では投影画像に2次元ラドン変換を施し、得られたサイノグラムの性質を利用し比較を行うことで部分検索を実現する手法を提案する。検索の前準備として、検索に不要な部品の除去と部品を表すラベルの重み付けを行う。なおラベルについては設計者間で部品に対して一意にラベルが決まっているものとする。ラベルの重み付けについては、それぞれの部品に対して体積に基づいた値の設定を行うことで、ラベルの値が検索結果に与える影響を少なくした。サイノグラムの性質上、3次元アセンブリモデルの平行移動と回転量がサイノグラムの上下の平行移動に置き換わる。またサイノグラムの比較には膨大な時間がかかってしまう問題がある。そのため、回転の量を計算し投影点を絞り比較に用いるサイノグラムの数を削減することで計算量の削減を行った。
【0013】
<部分検索>
本発明で扱う部分検索については「クエリモデルをすべて含むデータベースモデルを検索すること」を定義とする。つまり、データベースモデルの一部がクエリモデルと一致するモデル」を検索することである。図1に示す Gear モデルを例に本稿で扱う部分検索について説明する。アセンブリモデルとは図1に示すように複数の部品が組み合わさって1つのモデルが構成されているモデルのことを表す。本発明で扱う部分検索は、Gearモデルの構成部品である"Cap" をクエリモデルとしてデータベースモデルのギアモデルを検索することを表す。ただ Gear モデルは、"Cap" を6つもっている。クエリモデルが"Cap" 6つでありデータベースモデルと同じ配置で構成されるのであれば当然部分検索である。しかし本発明ではクエリモデル"Cap" 1つの場合も6つのうちの1つと同じ形状であれば、部分検索として扱う。形状検索の場合は、クエリモデルに対して類似するデータベースモデルを検索することが目的であるため、クエリモデルと検索したいデータベースモデルの形状が類似しているという前提がある。クエリモデルを Gear モデルとした場合、Gear モデルに形状が似ているデータベースモデルを検索することを形状検索という。しかし部分検索においては、データベースモデルの一部であるため、 検索したいデータベースのモデルと形状が類似しているとは限らない。そのため、画像の類似度を計算するだけでは、部分検索の実現は難しい。
【0014】
<提案手法>
以下、本発明の部分検索方法の各ステップを説明する。
(配列化ステップ)
上記配列ステップは、上記3次元CADデータを3次元配列化する配列化ステップである。
3次元CADアセンブリモデルの形状と、使用している部品の配置を考慮した部分検索手法を提案する。検索に用いるアセンブリモデルの形式は3次元配列である。すなわち、通常3次元CADデータは3次元配列されたデータであるので、3次元配列されたデータであればそのまま使用する。また、異なる形式で表されている場合は3次元配列へと公知の関数を用いて変換する。
3次元配列の大きさは元の3次元アセンブリモデルの大きさに比例した大きさとする。
使用されている部品ごとにラベルを付与することで部品の情報を含む3次元配列となる。またこのラベルの情報については設計者間で共通のラベルリストがあり、ラベルに対して一意に部品が決まっているものとする。
【0015】
配列化ステップの前、同時又は後に前処理を行うのが好ましい。
一般に部分検索の場合、使用されている部品の種類や数が異なる為、比較対象との形状が異なり検索が難しい場合がある。そのような場合には検索の精度を上げる為に、検索の前処理を行い、不要な部品の排除とラベルの再付与を行うことが好ましい。
不要な部品の削除とは、 データベースモデルに含まれている部品の中でクエリモデル(後述する)に含まれていない部品を削除することを表す。 元々のラベルの値を検索に用いると、ラベル間の差異によって検索の結果に影響を及ぼす。ラベル値の影響は完全にはなくならないが、 ラベルの値を再付与し影響をできるだけ少なくする。
この前処理について具体的に説明すると、例えば以下のように行う。
3次元アセンブリモデルmの3次元配列の要素数を V(m)とする。同様にmの構成部品である ckの要素数をV (ck)とする。また比較対象のモデルを p とする。このとき前処理として以下の方法を行う。(1)mの構成部品のうち、p の構成部品ではない部品 ck に対してラベル0を付与する。(2)mの構成部品であるckのうち要素が0でない部品に対して、1=V (ck) をラベル値として再付与する。
【0016】
(分解ステップ)
このステップは、得られた3次元モデルをCADデータの構成要素ごとに分解して要素データを得るステップであり、3次元CADアセンブリモデルの特徴量を得るステップとして把握することができる。
3次元モデルの位置や向きはそれぞれ異なるため、一般的には事前に姿勢の正規化を行う。3次元アセンブリモデルの検索の場合、機械部品を扱うため対称の形状を持ったり、 部品が円形であったりするため向きが一意に決まらないという問題がある。3次元モデルの平行移動や回転に普遍な検索を行う為には、モデルの平行移動や回転に対して頑強な特徴量が必要である。そのような特徴量を得る為に、様々な角度からアセンブリモデルに対しての投影画像を得る。クエリモデルとデータベースモデルの比較は投影画像の特徴量を用いる。投影画像は、アセンブリモデルの3次元配列の投影面に対して垂直な値の和であり、モデルの形状や構成部品の配置も画像に反映されている。 本実施形態においてはGeodesic Dome の頂点座標を投影点として、3次元アセンブリモデルの特徴量を得る。
【0017】
(サイノグラム化ステップ)
得られた要素データを処理してサイノグラムを得るサイノグラム化ステップ、
こうして得られた投影画像に対して、2次元ラドン変換を行うことでサイノグラムを得る。 サイノグラムの性質として2次元平面上の平行移動が動径方向の平行移動で表され、 2次元平面上の回転が偏角方向の平行移動として表される。その後、動径方向に対して1次元離散フーリエ変換を行い、振幅スペクトルを得て、さらに角度方向へ、1次元離散フーリエ変換を行い、振幅スペクトルを得る。こうすることにより、2次元空間において平行移動と回転に対して頑強な特徴量が得られる。
なお、本実施形態では、振幅スペクトルを位相限定相関法で計算する手法を比較手法として、本発明の方法の優位性を説明する(後述する)。 それに加えて形状が異なる部分検索を実現するために投影画像を2次元ラドン変換したサイノグラムを比較に用いる。
【0018】
(関連付けステップ)
このステップは、得られたサイノグラムと元の3次元CADデータとを関連付けるステップである。具体的には、上述の分解ステップにおいて特徴量を算出する際に、投影前の3次元アセンブリモデルのデータと関連付けを行うか、上述のサイノグラム化ステップで得られたサイノグラムを投影前のデータにさかのぼって関連付けを行うことにより行う。本実施形態においては、前者の方法を採用しており、分解ステップにおいて、絵次元アセンブリモデルのデータを、投影、特徴量の算出、サイノグラム化まで型ぞっくして関連付けを行うことにより、本ステップを実施している。
【0019】
(抽出ステップ)
本ステップは、上記サイノグラムを目印として各3次元データの検索を行い、構成要素データごとに照合して適合する構成要素を抽出するか、又は当該構成要素と関連付けられた3次元CADデータを抽出する、ステップである。本ステップにおいては、アセンブリモデル間の一致度>
アセンブリモデルの特徴量は上述のように投影を経て得られているので2次元配列で表されている。一致度の計算に用いるのは投影画像に対して2次元ラドン変換を行ったサイノグラムである。特徴量の抽出の手順は 表1に示すAlgorithm1に示す。2つのサイノグラムを比較し、サイノグラム間の一致度を計算する。 2つのサイノグラムの一致度の計算の手順は表1に示すAlgorithm2と表1に示すAlgorithm3 に表す。 Algorithm2はサイノグラム間の一致度の計算の手順を表している。Algorithm2 のCirc(syn, k) はsynを偏角方向にkずらし、配列の大きさが偏角の大きさを超えた場合は、 また配列の1番目から順に値を格納していく処理を表している。これは2次元平面上の物体の回転量が偏角方向の平行移動に置き換わるサイノグラムの性質を利用した処理である。 Algorithm3 はサイノグラムの列同士の比較の手順を表している。Algorithm3 の Extension(s, )I) は sを動径方向にiだけずらし、配列の大きさが動径方向の大きさを超えた場合は、 配列を拡張し0を代入する処理を表している。 またサイノグラムの比較の例を図2図3に示す。 図 4 はサイノグラムの一列同士の比較の手順を示しており、 図3はサイノグラムの全体の比較の流れを示している。 パラメータはそれぞれのAlgorithm と対応している。 図2はサイノグラムの列S1とS2の比較の手順を示している。 まずはS1とs2の各要素の差を計算する。計算した値の中で0より大きい値は0とする。S2を動径方向に一行ずつずらしてこの処理を繰り返す。 得られたNの総和をサイノグラムの列間の一致度とする。 図3はサイノグラム syn1とsyn2の比較の手順を示している。 まずそれぞれのサイノグラムの列を取り出し、列間の一致度を図2の手順で計算する。syn2を偏角方向にずらしてこの処理を繰り返す。そうして得られたmdegree1 の各列の最小値を mdegree2とする。
mdegree2の総和がサイノグラム間の一致度mdegreeとなる。計算された一致度については差であり、 数値は負になるが値が大きいほどモデルが一致していることを表す。しかし一致度が0を超える場合は、クエリモデルの方が大きいことを表すため除く。モデル間の一致度を計算する手順を表2に示す Algorithm4 に表す。
【0020】
【表1】
【表2】
【0021】
<一致度計算の効率化>
3次元アセンブリモデルの一致度の計算に、サイノグラムを用いて部分検索を行う。サイノグラムの比較に時間がかかってしまう問題がある。検索にかかる時間を削減するために2つの工夫を行う。1つ目が投影数の削減である。従来、クエリモデルの投影数とデータベースモデルの投影数を等しくして投影画像の比較を行っていた。本実施形態においてはクエリモデルの投影数を減らして検索を行うことで効率化を図った。2つ目の工夫として、クエリモデルの投影点間から回転量を計算し、データベースモデルの投影点を絞り比較するサイノグラムの数を減らすことで計算量の削減を行った。 例えば図 4に示すクエリモデルの投影点のように、AからFまでの6つの投影点から投影画像を生成している場合、 点 A から生成したクエリモデルの投影画像1枚に対してデータベースモデルの全ての投影点から生成した投影画像との一致度を計算していた。クエリモデルの投影画像に対して、 最も一致度が高い投影画像を持つ投影点を対応点と呼ぶとすると、クエリモデルの投影画像1枚目の対応点がわかれば、2枚目の対応点の座標は Geodesic Dome の頂点座標の回転量から計算することができる。 クエリモデルの投影画像1枚目の対応点は、 クエリモデルの投影画像1枚目とデータベースモデルの全ての投影画像の一致度を計算し、 最も一致度が高い投影画像の投影点を対応点とする。 例えば図4においてクエリモデルの投影画像1枚目の対応点が投影点Gだったとする。 投影点Gに対して、Geodesic Domeの頂点座標から計算した回転量分だけ回転をした点をG’とすると、クエリモデルの投影画像2枚目の対応点がG’付近となるはずである。同じ点から投影されるということが起こりにくいため、本実施形態では計算した点の座標から距離が近い5つの投影点を対応点の候補の点を候補点とする。クエリモデルの投影画像2枚目以降との一致度計算についてはこの候補点から得られた投影画像のみと計算を行い、候補点の中で最も一致度が高い投影画像が得られた点をそれ以降の対応点とし一致度計算を行っていく。
【0022】
<評価実験>
本実施形態における評価のために、部品の配置が異なる3次元 CADアセンブリモデルを用いて実験的評価をした。 GrabCAD[9] から選んだ、様々な部品を持つ図5に示すClutch、Die、Gear の3種類の3次元CAD アセンブリモデルを選び、簡素化のためにいくつかの部品を削除した。3種類のモデルそれぞれをモデルの構成によってタイプ1からタイプ3に分類した。タイプ1はコンポーネントの総数に違いがあるモデル、タイプ2はコンポーネント数は一致、コンポーネントの部品数に違いがあるモデル、タイプ3はコンポーネントの総数、部品数両方に違いがあるモデルである。それぞれのタイプの中で部品の配置が異なる3種類のモデルを作成した。Clutch、Die、Gearそれぞれに対して、 タイプ1としてA、B、Cの3種類のモデルを用意した。 Aを正解モデルとし、B、Cを不正解モデルとする。 タイプ2についてはDを正解モデル、e、Fを不正解モデルとする。 タイプ3については Gを正解モデル、H、Iを不正解モデルとする。
モデルの一覧を表 3に示す。クエリとして与えられたアセンブリモデルをクエリモデルと呼び、 クエリモデルと比較するアセンブリモデルをデータベースモデルと呼ぶ。 データベースモデルは、Clutch、Die、Gearの3種類に対して9パターン、 計 27 個のアセンブリモデルを用意した。 クエリモデルとしてClutch、Die、Gearの3モデルを用意した。 それぞれにランダムに平行移動と回転を加えたアセンブリモデルを10種類ずつ用意した。 データベースモデルにも、 それぞれランダムな平行移動と回転を加えた。 実験に用いたモデルを図6に示す。 色調の違いは部品の違いを表している。 Clutchモデルの構成についても表3に示す。 モデルのサイズは64 ×64V64、データベースモデルの投影数は162、 クエリモデルの投影数は 42 で実験を行う。 Visual C++2012、 MATLAB 2015b を Windows 7 Professional 64 bit 上で用い、 2.8GHz Intel Core i3 プロセッサ、 16GB RAM のコンピュータで実験を行った。
【0023】
【表3】
【0024】
比較手法として、位相限定相関法を用いた3次元モデル検索を行った。本実施形態の方法と同様に、3次元モデルの形状と部品の配置の識別をした。検索に用いる特徴量はAlgorithm1で得たサイノグラムのパワースペクトルを計算したものである。 モデル間の一致度計算の手順については表4のAlgorithm5に示す。Algorithm5のPOC(f (m1, v ), f (m2, v )) は特徴量 f (m1, v ) と f (m2, v ) を位相限定相関法で比較することを表す。
【0025】
【表4】
【0026】
<部品の配置が異なる3次元 CAD アセンブリモデルの識別>
部品の配置が異なるモデルを用いて、提案手法を実験的に評価した。前述の計 27 個のアセンブリモデルをデータベースモデルとし、それらのモデルについてあらかじめ投影画像を生成しておく。 投影画像は各モデルで 162 枚用意し、 27 個のモデルの投影画像に対してサイノグラムを生成し、それらを用いた。クエリモデルも同様に投影画像を 42 枚生成し、それらを用いてデータベース検索を行う。 図7 が Clutch、 Die、 Gearの各データベースモデルとクエリモデルとの一致度を提案手法で計算したものである。Clutch、 Die、 Gearの各モデルのタイプ内で正解モデル (各モデルの A、 D、 G) の一致度が最も高いという結果を得ることができた。この結果から、本発明の手法は実験で使用したアセンブリモデルについては、タイプごとに分類すれば、形状だけでなく、部品の配置が異なるアセンブリモデルの部分検索の識別ができているとわかる。Clutchモデルのタイプ3のモデル (Clutch G、 H、 I) については他のタイプ1、 2の結果より全体的に一致度が高い。 Clutch H、 I については不正解モデルであるが、タイプ2の正解モデルより一致度が高くなっている。 すなわちタイプごとに分類せずに検索を行うよりも、タイプごとに分類した方がより高い精度で検索を行うことができることがわかる。 各手法の検索精度を図8に示す。なお、本実施形態における検索精度とは、クエリモデルの集合をQとすると以下のように表される。
検索精度 =(|タイプ内で最も一致度が高いモデルのうち; 正解モデルであるモデルの数 |)/|Q|
【0027】
<投影数を変化させた時の検索精度と処理時間>
投影画像の枚数を変化させ、データベース検索の実験を行い、我々の提案手法の検索精度とモデル間の一致度計算にかかる処理時間の評価を行う。 本稿では投影画像の枚数は、 GeodesicDome の頂点数によって決定する。 ここでは頂点数を 42、 92、162、 252、 362 と変化させ、 投影枚数を 42 枚、 92 枚、 162 枚、 252枚、 362 枚と変化させたときのデータベースの各モデルの一致度と処理時間を評価する。 図 9はそれぞれ正解モデルを ClutchA、 Die A、 Gear A としたときのクエリモデルとデータベース内の各モデルとの一致度を表している。 図9から、 正解モデルが Clutch A、 Die A のときは、 投影数を変えても正解モデルの一致度が一番高くなっていることがわかる。 すなわちタイプごとであれば正しく検索ができているといえる。しかし、正解モデルが Gear A のときでは、 投影数によっては正解モデルではないモデルの一致度が最大の一致度となっている場合がある。これは、モデルの姿勢の影響により 一致度が高い投影画像が少ないために、検索ができなかったと考えられる。
【0028】
<計算量削減による処理時間への影響>
最も処理時間がかかっているのが、 サイノグラムの比較である。 処理時間を短縮するためにサイノグラムの比較を行う回数を減らし、 計算量を削減する。 提案手法では 3。 4 で述べた方法で計算量の削減を行い、 検索精度とモデル間の一致度計算にかかる処理時間を評価する。 2枚目以降の一致度計算に用いる投影点の数を 3、 5、 12、 42、 92、 162 と変化させた場合の処理時間が図10である。 また投影点を削減した場合の提案手法の検索精度の変化を図11に示す。 図11より投影点を5点まで削減しても検索精度にあまり影響がないことがわかる。しかし、投影点を3点まで削減してしまうと、 検索精度が低下してしまう。これは、投影点の削減により正しい対応点がとれなくなっていることが原因だと思われる。投影点の削減を行わない場合、比較に用いる投影点の数は 162 である。 提案手法では2枚目以降の一致度計算に用いる投影点の数を5点に削減し、 モデル間の一致度計算にかかる処理時間を5%まで短縮することができた。
【0029】
<効果>
本実施形態の方法によれば、投影画像を用いて、3次元 CAD アセンブリモデルの形状や部品の数だけでなく、 部品の配置まで考慮した部分検索が高精度に行うことができる。 形状が異なる部分検索の実現のためにサイノグラムを用いて比較を行い、比較にかかる時間は、投影数の削減と比較に用いる投影点の削減により実現することができる。
【0030】
また、本実施形態の検索方法においては、
さらに、得られたサイノグラムの横軸を細分化すると共に各要素データを関連付けて、位置情報が関連付けられた位置情報サイノグラムを得る位置情報取得ステップを有し、
上記関連付けステップが、
位置情報サイノグラムと元の3次元CADデータにおける位置情報サイノグラムと対比するステップを含む
ようにすることもできる。
【0031】
(位置情報取得ステップ)
本ステップは、得られたサイノグラムの横軸を細分化すると共に各要素データを関連付けて、位置情報が関連付けられた位置情報サイノグラムを得るステップである。
部分検索においては、クエリモデルに包含されるモデルを検索する場合と、クエリモデルを包含するモデルを検索する場合が考えられるが、本実施形態においては前者を前提とする。なお、後者の場合でも、後述する差の方向を変更することで対応できる。
この位置情報取得ステップを行う場合のアルゴリズムを表5の Algorithm 1 に示す.Algorithm 1 は,以下に示すステップによりデータベースモデルとクエリモデルの比較を行うものである。なお、ここでは配列化ステップは省略している。
( 1 ) データベースモデル及びクエリモデルのサブアセンブリの全ての組み合わせの中から、対応候補となる組み合わせを探す(前処理ステップ)。
( 2 ) “Geodesic Sphere” の頂点座標から2次元平面への投影画像を,データベースモデルとクエリモデルの各サブアセンブリについて計算する(分解ステップ)。
( 3 ) ラドン変換によって投影画像からサイノグラムを構成する(サイノグラム化ステップ)。
( 4 ) 対応候補となるサブアセンブリの組について,サイノグラム間の相違度を計算する。
( 5 ) 得られた相違度を基に,データベースモデルとクエリモデルのサブアセンブリの対応関係を決定して,そのときの相違度をデータベースモデルとクエリモデルの間の相違度として返す(4及び5で位置情報取得ステップ)。
ここで,アセンブリモデル内で同じ材質ラベルを持つ部品の集合をサブアセンブリと呼ぶ。また、アセンブリモデルmのサブアセンブリを集合SA(m)として表し、mに含まれる部品からなる集合をC(m)のように表す。同様に、サブアセンブリsa∈SA(m)について、C(sa)はsaに含まれる部品の集合を表す。本実施形態では、C(sa) には同じ部品のみ含まれるものとする。
【0032】
【表5】
【0033】
(前処理ステップ)
データベースモデル mdとクエリモデル mqが与えられたとき、2つのアセンブリモデル間の材質情報の対応関係が不明となるため,まず mdに含まれるサブアセンブリ毎に,mqのどのサブアセンブリが同じ部品を含んでいるかを判定する.サブアセンブリ sad∈SA(md) および saq∈SA(mq) について,sadに含まれる部品 cd∈C(sad) の体積 Vol(cd) と,sadに含まれる部品総数|C(sad)|を,saqに含まれる部品 cq∈C(saq) の体積 Vol(cq) 及び,saqに含まれる部品総数 |C(saq)|とそれぞれ比較する。体積比|Vol(cq)/Vol(cd)-1|が閾値 tよりも大きければ,cqは cdとは異なる部品とみなし,sadは saqに含まれないとみなす。また,|C(sad) | が |C(saq) |よりも大きい時は、明らかに sadは saqに含まれない。表6のAlgorithm 2 に,mdと mqのサブアセンブリ毎の対応を判定し,対応候補となるペアを格納した集合 CRP を返すアルゴリズムを示す。
次に、CRP を基に、 mdのサブアセンブリに対して mqのサブアセンブリが一対一に対応するような組み合わせを全て求め、集合 CSA を構成する。この処理は、Algorithm 1 の 10 行目における関数 MakeSubassemblyPairs(CRP ) によって行う。例えば,CRP ={ (sad 1; saq 1); (sad 1; saq 2); (sad 2; saq 1); (sad 2; saq 2)) } であるとき,戻り値 CSA は, CSA ={ ((sad 1; saq 1); (sad 2; saq 2));((sad 1; saq 2); (sad 2; saq 1)) }となる.材質情報の一対一対応が取れず、|CSA|= 0 となる場合には,mdと mqは異なるアセンブリモデルと判断して、処理を終了する。
【0034】
(分解ステップ)
一般に3次元モデルの空間上における位置や姿勢は製作者によって異なるため,モデルの平行移動や回転に対して頑健な特徴量が必要となる。そこでまず、モデルの仰角及び方位角方向の回転に対して頑健な特徴量を得るため,ある視点に垂直な2次元平面へのモデルの投影画像を計算する。使用する視点には,正多面体を拡張して得られる \Geodesic Sphere" の頂点座標を利用することができ、この点で上述した分解ステップと異なる。
(サイノグラム化ステップ)
本ステップについては上述したサイノグラム化ステップと同様であるが、角度を変化させながら投影ベクトルを計算し,得られた投影ベクトルを横に並べることで構成されるようにすることもできる。サイノグラムには,原画像の回転を角度方向の平行移動に変換し、平行移動を動径方向のゆらぎに変換するという特徴がある。
通常サイノグラムは,0°≦角度θ<180°の範囲で投影ベクトルを計算して構成されるが、サイノグラムの位置合わせによって投影軸方向の回転に対応するために、クエリモデルmq側のサイノグラムについては、0°≦角度θ<540°の範囲で投影ベクトルを計算する。表7のAlgorithm 3 に3次元 CADアセンブリモデルmの特徴量抽出手順を示す.前述の通り,mdについては|Ad| = 180 となり,mqについては |Aq| = 540 となる。
【0035】
【表6】
【表7】
【0036】
(位置情報取得ステップ)
集合 CRP に含まれる md及び mqのサブアセンブリの対応候補 (saq; sad) 毎に,サイノグラムの比較を行い,候補 (sad; saq)における相違度を計算する.この処理は,Algorithm 1 における,14 行目から 18 に相当する。
サイノグラム sngd及び sngqの比較は,md及び mqの 3次元空間上における位置や姿勢のずれを埋め合わせるために,sngdを動径方向及び角度方向に移動させながら,sngqとの差を投影ベクトル単位で計算することで行っている.sngd及びsngqには、それぞれサブアセンブリ sad及び saqの部品配置が反映されており,差の絶対値 |sngq-sngd|は,部品配置の異なりの度合いである相違度を表す.ここで,C(saq) > C(sad) であるときには,部品配置が部分一致していても,差 sngq-sngdには正の要素が残る.そこで,差 sngq-sngdにおいて 0 より大きい要素については全て 0 に置き換えてから,相違度を評価することにより,部品総数が異なっていても部品配置の部分一致を評価することができる.また,|sngq-sngd|を Vol(sad)によって除算することで,体積の大きいサブアセンブリによる相違度計算結果が支配的となることを防ぐ。
表8のAlgorithm 4 及び Algorithm 5 に,サイノグラム sngd及びsngqの相違度計算アルゴリズムを示す。ここで、Algorithm 4 における添字“:”は,配列から特定の次元の要素を全て抜出する処理を表す.例えば,サイズ ny×nxの配列 a 及び 1≦k≦nxである kに対し,a(:, k) は,サイズ ny である,a の k 番目の行ベクトルを返す。また、Algorithm 4 における関数 sum(v)は,ベクトル v の全ての要素の和を返す関数である。さらに、Algorithm 5 における関数 abs(x) は,スカラー値xの絶対値を返す関数であり、Algorithm 5 における関数 shift(pv, i) は,投影ベクトル pv を i だけシフトさせ,空いた要素を 0 で埋める関数である。
ただし,候補 (sad; saq) について得られた相違度から,動径方向及び角度方向に最もマッチする位置を求めてしまうと,サブアセンブリの対応候補 (saq; sad) 毎に位置や姿勢のずれの位置合わせ結果が異なってしまうため,md及び mqの各サブアセンブリの配置関係が失われてしまう.そこで,Algorithm 1の 19 行目から 27 行目に示すように,サブアセンブリの対応候補 (saq; sad) 毎に計算した相違度を,md及び mqのサブアセンブリの一対一対応の候補 csa∈CSA に従い足し合わせてから,動径方向及び角度方向の位置合わせを行って得られたmd及び mqの対応 csa における相違度を集合 CSAD[csa] に追加することで,アセンブリモデル全体として md及び mqの位置合わせを行っている.ここで,相違度を足し合わせる回数は jSA(md)j に依存するため,離散誤差の蓄積を考慮して,Algorithm 1 の 26 のように,位置合わせにより得られた相違度を |SA(md)| で除算している.また,Algorithm 1 における関数 ArrayMin(a,dim) 及び関数 ArraySum(a,dim) はそれぞれ,多次元配列 a の dim 次元における最小値を求める関数、及びa の dim 次元の要素を総和する関数となる。例えば,サイズ ny nx の配列 a に対して,ArrayMin(a,1) は,a の各列ベクトルについて最小の要素を求めた,サイズ nx のベクトルを返す。また、ArraySum(a, 1) は,a の各列ベクトルについて,その列ベクトルの全ての要素の和を求めた,サイズ nxのベクトルを返す。
投影点 vd∈Vd及び vq∈Vqの全組み合わせについて,サイノグラムの比較による相違度を求めたあとは,csa∈CSAの中から,最も md,mq間の相違度が低くなるサブアセンブリの対応関係を探す.このときの md,mq間の相違度が,そのままデータベースモデル mdとクエリモデル mqの最終的な相違度となる。この処理を,表9のAlgorithm 6 に示す。Algorithm 6における処理は,csa∈CSA における,投影点 vd∈Vd及びvq∈Vqの全組み合わせについて,CSAD[csa] に格納された相違度を基にして,相違度が最も低くなる投影点の組を,同じ視点を重複して選ばないようにしながら探す処理となる。
この位置情報取得ステップは、上述の抽出ステップにより適合する構成要素を抽出した後で行うことができる。すなわち、形状の特徴点としては上述の抽出ステップにより適合すると判断された場合でも、この位置情報取得ステップを行うことにより、全体の中での部品の位置や配置角度を正確に把握することが可能となる。
また、この場合には関連付けステップにおいて、取得された位置情報と元の3次元CADデータとの関連付けを行うことにより検索が可能となる。この関連付けについては、上述の関連付けステップにおいて説明した関連付けの手法を用いて行うことができる。
【0037】
【表8】
【表9】
【0038】
次に、上述した部分検索方法ではなく、全体を検索する3次元CADモデル検索方法の1実施形態について説明する。なお、以下の説明においては、上述した本発明の3次元CADモデル部分検索方法と異なる部分について特に説明する。
本実施形態の3次元CADモデル検索方法は、
複数の3次元CADデータからなるデータ群から特定の3次元構造を包含する3次元CADデータを特定する3次元CADモデル検索方法であって、
上記3次元CADデータを3次元配列化する配列化ステップ、
得られた3次元モデルをCADデータの構成要素ごとに分解して要素データを得る分解ステップ、
得られた要素データを処理してサイノグラムを得るサイノグラム化ステップ、
得られたサイノグラムの横軸を細分化すると共に各要素データを関連付けて、位置情報が関連付けられた位置情報サイノグラムを得る位置情報取得ステップ、
得られたサイノグラムと元の3次元CADデータとを関連付けると共に、位置情報サイノグラムと元の3次元CADデータにおける位置情報サイノグラムと対比する、関連付けステップ、
及び
各位置情報サイノグラムを動径方向にフーリエ変換し、次いで角度方向にフーリエ変換することにより、不変量データを得、得られた不変量データを基に検索を行う検索ステップを行うことにより実施できる。
すなわち、上述の抽出ステップに代えて検索ステップを行う点が異なり、それ以外は上述の本実施形態の3次元CADモデル部分検索方法と同じである。なお、本実施形態においても抽出ステップを行ってはいけないということはなく、上記検索ステップが必須のステップであるという意味である。この検索ステップを行うことにより、構成部品点数が多い場合でも正確に検索を行うことが可能となる。
【0039】
(検索ステップ)
一般に内部構造が複雑なアセンブリモデルの場合, 内部構造が単純なアセンブリモデルと比べて検索するのが難しい. したがって構成部品が多い 3 次元アセンブリモデルの検索手法が必要となってきている. しかし構成部品の多いアセンブリモデルが少なく, 我々の研究室にはそういったモデルが今までなかった. 本稿では, GrabCAD[2] から複数個の 3 次元モデルのポリゴンメッシュを用いることで, 人工的に構成部品が多いアセンブリモデル生成する手法を提案する.
本稿では GrabCAD[2] から同じまたは異なる 3 次元 CADモデルを 2 2 2 = 8 個, 2 2 3 = 12 個, 3 3 3 = 27個, 4 4 4 = 64 個で複合し, 人工的に構成部品の多いアセンブリモデルを生成する.
本実施形態の方法は以下のような流れになる. 以下の流れでは 8 個のアセンブリモデルを複合していく. アセンブリモデル k,l,m,n,p,q,r,s の頂点データを vk,vl, vm,vn,vp,vq ,vr,vsとする. 3 次元空間の一辺の大きさは w とする.
( 1 ) k を構成している頂点データを保存している stl ファイルから vk を取得する.
( 2 ) vk から k の中心を計算し, アセンブリモデルごとに配置する座標に平行移動する.
( 3 ) モデル空間の一辺の長さが w=2 に合わせるため倍率を平行移動した k に反映させる.
( 4 ) 上記を l,m, n, p, q, r, s において行い総和する.
2 の場合においての配置する座標の決定は, 図 1 に基づき, K = (w/4, w/4, w/4), L = (3w/4, w/4, w/4),M =(w/4, 3w/4, w/4),N = (3w/4, 3w/4, w/4), P = (w/4, w/4, 3w/4),Q = (3w/4, w/4, 3w/4),R = (w/4, 3w/4, 3w/4), S =(3w/4, 3w/4, 3w/4) と定義している。8, 12, 27, 64 個を複合するときの配置する座標は表 10に示す。
これによりアセンブリモデル同士が重なることがなく複合することができる. しかし配置する座標の決定や, 複合したモデル空間の中心から離れているので, 検索前に保存されている姿勢変化量によってモデル空間からはみ出す可能性があるので考慮する必要がある。
一般的に3次元モデルの位置や向きはそれぞれ異なり, それを正規化する手法にはいくつかの問題点が存在する。このような問題点を改善するには平行移動や回転に対して頑健な特徴量が必要である。3次元CADモデルを3次元ボクセルモデルに変換し、それを投影点ごとに投影画像を生成し、得られた投影画像に対して、2次元ラドン変換を行い(サイノグラム化ステップ)、その後動径方向に対して1次元フーリエ変換し振幅スペクトルをとり、その後偏角方向に対して 1次フーリエ変換を行い、振幅スペクトルをとることで平行移動や回転に対して頑健な特徴量を得ることができた。しかし、構成部品の材質の種類ごとの数値の付与について、ユーザーやモデル間で統一されていない場合、2つのアセンブリモデルの類似度を計算する際に数値の正規化を行わなければ、その数値によって検索の結果に影響を及ぼす. このような場合を想定し, 以下のような手法を提案する。
アセンブリモデル m とし、m の構成部品集合の1要素であるci の体積を V (c) とし、 m の構成部品の材質の種類の数をnとする。球面座標系における2次元ラドン変換の角度をAとする。
( 1 ) 投影点ごとに ci の投影画像を計算し(分解ステップ)、2次元ラドン変換を行いサイノグラム sino(ci ) を n 個分すべて計算しsino(c1 ,...,cn) に格納する(サイノグラム化ステップ)。
( 2 ) sino(c1 ,...,cn) を動径方向に離散フーリエ変換を行い、振幅スペクトルをとり, f (sino(c1 ,...,cn)) に格納する。
( 3 ) f (sino(c1 ,...,cn)) のそれぞれの A ごとに f (sino(c1 ,...,cn))の要素 e(cn,A) を 2 乗し総和したものを B(c n,A) として格納する。
( 4 ) s(c n,A) = e(c n,A)/B(c n,A) とし, s(c n,A) を e(c n,A) に再付与する.
( 5 ) V (c) が小さいものから f (sino(c1 ,...,cn)) をソートし, 動径方向に連結したもの f (sino(cs1 + ... + csn)) を生成する。
( 6 ) f (sino(cs1 + ... + csn)) を角度方向に離散フーリエ変換を行い、振幅スペクトルをとり, f (f (sino(cs1 + ... + csn))) に格納する(2~6について検索ステップ)。
これにより f (f (sino(cs1 + ...+ csn))) は構成部品の体積が異なる場合においても特徴量を得ることができる。
【0040】
また、特徴量は削減させることもできる。フーリエ変換は、ラドン変換の動径方向と偏角方向に行っているため、中心をピークとした2次元配列に変換される。特徴量はピークから離れるほど値が小さくなり、検索結果に対する影響が少なくなる。そこで、値の小さい高周波成分を削減し、低周波成分だけを特徴量として用いることで特徴量自体のデータ量が削減でき、検索精度を維持したまま類似度計算時間を削減することができる。削除する配列数は特徴量の配列数の半分とし、1回削減するたびに2次元配列を大きさが1/4 になるように高周波成分を取り除いた。本実施形態においては4回特徴量を削減している。
また、検索ステップにおける検索結果の判定、即ち、類似度の判定は以下のようにして行うことができる。
アセンブリモデルの特徴量は 2 次元配列として表されている。2次元配列をユークリッド空間のベクトルとし、2つのベクトルのユークリッド距離を計算し、これを類似度とする。2つのアセンブリモデル間の類似度を以下のように計算することができる。
ユーザーやモデルによって構成部品に付与する数値が統一されていない場合には, その数値によって共通の構成部品を検索することは難しいため、従来手法では2つのアセンブリモデルの類似度が一致する可能性のある、それぞれの構成部品をすべて計算する必要があった。 しかし、本実施形態の手法では投影点ごとにすべて構成部品の材質ごとのサイノグラムを生成し一つにするのでユーザやモデルによって構成部品に付与する数値が統一されていない場合においても同じ特徴量を得ることができるため、アセンブリモデルの投影点ごとの類似度計算を行い、最小となるものをその投影点の類似度とし、投影点ごとに出た類似度を総和したものを最終的な類似度とする。そして、この類似度が高いものを抽出することができる。
【0041】
【表10】

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11