(57)【要約】【課題】複雑な３次元ＣＡＤデータを構成する構成要素ごとに検索を行い、かかる構成要素から完成品である３次元ＣＡＤデータにアクセスする等多種多様な検索が可能な３次元ＣＡＤモデル類似検索方法を提供すること。【解決手段】３次元ＣＡＤデータを３次元配列化する配列化ステップ、３次元モデルをＣＡＤデータの構成要素ごとに分解して要素データを得る分解ステップ、要素データを処理してサイノグラムを得るサイノグラム化ステップ、サイノグラムと元の３次元ＣＡＤデータとを関連付ける関連付けステップ、及びサイノグラムを目印として各３次元データの検索を行い、構成要素データごとに照合して適合する構成要素を抽出するか、又は構成要素と関連付けられた３次元ＣＡＤデータを抽出する、抽出ステップを具備する３次元ＣＡＤモデル部分検索方法。【選択図】図１
2018136946.tif 000002
【特許請求の範囲】
【請求項１】
複数の３次元ＣＡＤデータからなるデータ群から特定の３次元構造を包含する３次元ＣＡＤデータを特定する３次元ＣＡＤモデル部分検索方法であって、
上記３次元ＣＡＤデータを３次元配列化する配列化ステップ、
得られた３次元モデルをＣＡＤデータの構成要素ごとに分解して要素データを得る分解ステップ、
得られた要素データを処理してサイノグラムを得るサイノグラム化ステップ、
得られたサイノグラムと元の３次元ＣＡＤデータとを関連付ける関連付けステップ、
及び
上記サイノグラムを目印として各３次元データの検索を行い、構成要素データごとに照合して適合する構成要素を抽出するか、又は当該構成要素と関連付けられた３次元ＣＡＤデータを抽出する、抽出ステップ
を具備する３次元ＣＡＤモデル部分検索方法。
【請求項２】
さらに、得られたサイノグラムの横軸を細分化すると共に各要素データを関連付けて、位置情報が関連付けられた位置情報サイノグラムを得る位置情報取得ステップを有し、
上記関連付けステップが、
位置情報サイノグラムと元の３次元ＣＡＤデータにおける位置情報サイノグラムと対比するステップを含む
請求項１記載の３次元ＣＡＤモデル部分検索方法。
【請求項３】
複数の３次元ＣＡＤデータからなるデータ群から特定の３次元構造を包含する３次元ＣＡＤデータを特定する３次元ＣＡＤモデル検索方法であって、
上記３次元ＣＡＤデータを３次元配列化する配列化ステップ、
得られた３次元モデルをＣＡＤデータの構成要素ごとに分解して要素データを得る分解ステップ、
得られた要素データを処理してサイノグラムを得るサイノグラム化ステップ、
得られたサイノグラムの横軸を細分化すると共に各要素データを関連付けて、位置情報が関連付けられた位置情報サイノグラムを得る位置情報取得ステップ、
得られたサイノグラムと元の３次元ＣＡＤデータとを関連付けると共に、位置情報サイノグラムと元の３次元ＣＡＤデータにおける位置情報サイノグラムと対比する、関連付けステップ、
及び
各位置情報サイノグラムを動径方向にフーリエ変換し、次いで角度方向にフーリエ変換することにより、不変量データを得、得られた不変量データを基に検索を行う
３次元ＣＡＤモデル検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、膨大であり且つ多種フォーマットで格納された３次元ＣＡＤデータから従来の方法では検索困難であったアセンブリ構造を含めて必要なデータを簡易に検索できる検索方法に関する。
【背景技術】
【０００２】
近年、 製造業などでは３次元 CAD を用いてモデル設計が行われている。特に製造業では部品の組み合わせによって１つのモデルを表すアセンブリモデルを用いて設計を行うことが多い。
年々増えているデータを効率的に管理するためには、３次元アセンブリモデルの検索手法が必要となる。効率的に管理することが可能になれば、設計者の設計にかかる時間が短縮されより効率的な設計、生産につながる。主な処理として、形状だけを特徴量に反映して検索を行うのが一般的である。 ３次元アセンブリモデルにおいては、 形状はもちろん、内部構造や各部品の配置や部品に使用されている材質まで識別する検索手法が必要になる。またデータの再利用をする場合、使われている部品単位で検索を行うことができればさらにデータの再利用が効率化する。部品単位で検索を行う場合、モデルの一部分から全体を検索する部分検索技術が必要になるが、比較するモデルで形状が異なるため、類似するモデルを検索する技術の適用では実現が難しい。アセンブリモデルの部品の配置や材質などを識別する３次元モデルの検索手法として複数の視点からの投影データを用いた３次元モデル検索がある。複数枚の投影画像の類似度を計算して、 ３次元モデルの類似度とするものである。投影画像に対してラドン変換を行い、フーリエ変換を行い位相限定相関法で比較することでモデルの類似度を計算している。しかし得られた投影の画像の類似度を計算する方法ではその物体が類似しているかどうかしかわからない。部分検索の場合には、モデル全体に対して比較対象がそのモデルを構成する一部品であるため、必ずしも類似しているわけではないという問題点がある。
【０００３】
３次元モデルの形状をもとにした検索はこれまで数多く提案されている 非特許文献１）。非特許文献２では３次元モデルを”Light FieldDescriptor(LFD)”という特徴量から形状検索を行う方法が提案されている。”LFD”は３次元モデルを複数の方向からレンダリングし、得られたシルエット画像を検索に用いている。非特許文献３では、検索者が書いたスケッチを用いて、手書きの線画スケッチの揺らぎやノイズに対して頑強な３次元モデルの検索を行う手法を提案している。３次元モデルは製作者によって、位置・大きさ・向きが任意である。３次元モデルの検索の手法としてモデルの位置や向きを合わせて検索を行う方法がある。非特許文献４では検索を行う前の処理として、モデルの面上に点をランダムにとり、点群の主成分分析を行うことでモデルの軸を決定し、その軸を利用した位置合わせの手法を提案した。位置合わせを行ったモデルに対して、レンダリングを行い、４つの形状表現を生成し、それぞれのフーリエスペクトルを計算し、それらの低周波成分の組み合わせを特徴量として検索を行っている。
これらの手法については、アセンブリモデル構造を持たない３次元モデルを検索の対象としている。非特許文献５ではモデルの構成部品を頂点としたグラフに変換し、グラフ検索を行うことで、モデルの内部構造を識別するモデル検索を提案している。部分検索の研究として、非特許文献６では、”KAZE特徴量”が提案されている。SIFTや SURFに用いられる"Gaussian Filter"によるスケールスペースは、"Gaussian Filter" が等方的であるため、モデルの輪郭をぼやかしてしまい、局所的な特徴量をうまくとれないことがある。それを解決するために、非線形なスケールスペースを用いたのが” KAZE 特徴量”である。非特許文献７では複数視点から”Depth Buffer ”画像という物体の深さ画像を生成し、”Depth Buffer”画像から抽出した KAZE 特徴量のエンコーディング手法に”Vector of Locally AggregatedDescriptors(VLAD) ”を用いて、局所特徴量を３次元モデルの特徴量として統合し、３次元物体の部分検索を実現している。この手法は３次元モデルのアセンブリ構造を考慮した部分検索ではないため、提案手法とは異なる。
また、特許文献１には、膨大であり且つ多種フォーマットで格納された３次元ＣＡＤデータからアセンブリ構造を含めて必要なデータを簡易に検索できる検索方法として、複数の３次元ＣＡＤデータからなるデータ群から特定の３次元構造と類似する構造に係る３次元ＣＡＤデータを特定する３次元ＣＡＤデータの検索方法で、３次元ＣＡＤデータを３次元モデル化するステップ、３次元モデルを複数の方向からスキャニングして複数の２次元投影図を得るステップ、別に検索対象の３次元ＣＡＤデータを３次元モデル化し、検索対象となる３次元構造を示す２次元投影図が得られるようにスキャニングして対象投影図を得るステップ、 得られた複数の２次元投影図の中から対象投影図と最も高い相関性を有する２次元投影図を選出するステップ、選出した２次元投影図が得られた３次元ＣＡＤデータにアクセスして、３次元ＣＡＤデータを検索結果として表示するステップを具備する検索方法が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１５８７５２号公報
【０００５】
【非特許文献１】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
【非特許文献３】古屋 貴彦, 松田 隆弘, 栗田 侑希紀, ”多視点画像特徴の多様体を用いたスケッチによる３ 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
【非特許文献８】脇田 志郎, 青野 雅樹, ”突起形状に着目した３次元モデルのセグメンテーション” , 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-
【発明の概要】
【発明が解決しようとする課題】
【０００６】
近年、 製造業で用いられる３次元ＣＡＤ ソフトの普及により、３次元 ＣＡＤ モデルの数は増加する一方である。これらを再利用するために 3 次元モデルの検索に対する需要は高まることが期待される。さらなる再利用の効率化にはモデルの一部分からモデル全体の検索を行う部分検索技術が必要になる。
しかし、従来提案されている手法では未だ迅速な検索の点では不十分であり、また一宇の構成要素から全体図を検索する等現在の多様な要求にこたえることができていなかった。
従って本発明の目的は、複雑な３次元ＣＡＤデータを迅速に検索できるだけでなく、複雑な３次元ＣＡＤデータを構成する構成要素ごとに検索を行い、かかる構成要素から完成品である３次元ＣＡＤデータにアクセスする等多種多様な検索が可能な３次元ＣＡＤモデル部分検索方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明者らは上記課題を解消すべく鋭意検討した結果、
を提供することにより上記課題を解消したものである。
１．複数の３次元ＣＡＤデータからなるデータ群から特定の３次元構造を包含する３次元ＣＡＤデータを特定する３次元ＣＡＤモデル部分検索方法であって、
上記３次元ＣＡＤデータを３次元配列化する配列化ステップ、
得られた３次元モデルをＣＡＤデータの構成要素ごとに分解して要素データを得る分解ステップ、
得られた要素データを処理してサイノグラムを得るサイノグラム化ステップ、
得られたサイノグラムと元の３次元ＣＡＤデータとを関連付ける関連付けステップ、
及び
上記サイノグラムを目印として各３次元データの検索を行い、構成要素データごとに照合して適合する構成要素を抽出するか、又は当該構成要素と関連付けられた３次元ＣＡＤデータを抽出する、抽出ステップ
を具備する３次元ＣＡＤモデル部分検索方法。
２．さらに、得られたサイノグラムの横軸を細分化すると共に各要素データを関連付けて、位置情報が関連付けられた位置情報サイノグラムを得る位置情報取得ステップを有し、
上記関連付けステップが、
位置情報サイノグラムと元の３次元ＣＡＤデータにおける位置情報サイノグラムと対比するステップを含む
１記載の３次元ＣＡＤモデル部分検索方法。
３．複数の３次元ＣＡＤデータからなるデータ群から特定の３次元構造を包含する３次元ＣＡＤデータを特定する３次元ＣＡＤモデル検索方法であって、
上記３次元ＣＡＤデータを３次元配列化する配列化ステップ、
得られた３次元モデルをＣＡＤデータの構成要素ごとに分解して要素データを得る分解ステップ、
得られた要素データを処理してサイノグラムを得るサイノグラム化ステップ、
得られたサイノグラムの横軸を細分化すると共に各要素データを関連付けて、位置情報が関連付けられた位置情報サイノグラムを得る位置情報取得ステップ、
得られたサイノグラムと元の３次元ＣＡＤデータとを関連付けると共に、位置情報サイノグラムと元の３次元ＣＡＤデータにおける位置情報サイノグラムと対比する、関連付けステップ、
及び
各位置情報サイノグラムを動径方向にフーリエ変換し、次いで角度方向にフーリエ変換することにより、不変量データを得、得られた不変量データを基に検索を行う
３次元ＣＡＤモデル検索方法。
【発明の効果】
【０００８】
本発明の３次元ＣＡＤモデル部分検索方法によれば、複雑な３次元ＣＡＤデータを迅速に検索できるだけでなく、複雑な３次元ＣＡＤデータを構成する構成要素ごとに検索を行い、かかる構成要素から完成品である３次元ＣＡＤデータにアクセスする等多種多様な検索が可能である。
【図面の簡単な説明】
【０００９】
【図１】検索対象モデルを示す斜視図である。
【図２】サイノグラムの列同士の比較の例を示す概略図である。
【図３】サイノグラムの全体の比較の例を示す概略図である。
【図４】投影における対応点の決定の例を示す概要図であり、（a）はクエリモデルの投影点を示し、（b）はデータベースモデルの投影点を示す概要図である。
【図５】評価に使用した部品を示す斜視図であり、（a）はＣｌｕｔｃｈを、(b)はＤｉｅを、(c)はＧｅａｒを示す。
【図６】使用したモデルの一覧を示す概要図である。
【図７】サイノグラムの比較を用いた手法による各モデルとクエリモデルとの一致度を示すチャートであり、（a）はＣｌｕｔｃｈをクエリモデルとした場合、(b)はＤｉｅをクエリモデルとした場合、(c)はＧｅａｒをクエリモデルとした場合を、それぞれ示す。
【図８】サイノグラムの比較を用いた手法と位相限定相関法を用いた手法の検索精度を示すチャートである。
【図９】投影数の変化と各クエリモデルにおけるデータベースモデルの一致度を示すチャートであり、（a）はＣｌｕｔｃｈをクエリモデルとした場合、(b)はＤｉｅをクエリモデルとした場合、(c)はＧｅａｒをクエリモデルとした場合を、それぞれ示す。
【図１０】検索に用いる投影点を削減した場合の検索制度を示すチャートである。
【図１１】モデルのサイズを変更した場合の検索制度を示すチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明を、図面を参照して詳細に説明するが、本発明はこれらに制限されるものではない。
【００１１】
本発明の３次元ＣＡＤモデル部分検索方法は、
複数の３次元ＣＡＤデータからなるデータ群から特定の３次元構造を包含する３次元ＣＡＤデータを特定する３次元ＣＡＤモデル部分検索方法であって、
上記３次元ＣＡＤデータを３次元配列化する配列化ステップ、
得られた３次元モデルをＣＡＤデータの構成要素ごとに分解して要素データを得る分解ステップ、
得られた要素データを処理してサイノグラムを得るサイノグラム化ステップ、
得られたサイノグラムと元の３次元ＣＡＤデータとを関連付ける関連付けステップ、
及び
上記サイノグラムを目印として各３次元データの検索を行い、構成要素データごとに照合して適合する構成要素を抽出するか、又は当該構成要素と関連付けられた３次元ＣＡＤデータを抽出する、抽出ステップ
を行うことにより実施することができる。
【００１２】
本発明は、３次元ＣＡＤアセンブリモデルの形状だけでなく、部品の配置まで考慮した部分検索手法を提案する。検索には３次元配列を用いる（配列化ステップ）。アセンブリモデルを構成する部品の識別のため、使用されている部品の種類ごとに数値を付与する。アセンブリモデルに対して、複数の視点から投影画像を生成する（分解ステップ）。こうすることで部品に付与された数値を投影画像に反映させる（関連付けステップ）。この投影画像に対してラドン変換を施し、サイノグラムを生成する（サイノグラム生成ステップ）。こうして得られたサイノグラム同士を比較する（抽出ステップ）。なお、以下の実施形態においては、データベースモデルには３種類の３次元ＣＡＤアセンブリモデルについて、部品の配置が異なる３次元 ＣＡＤアセンブリモデルをそれぞれ３タイプ３種類、計２７個用意し、提案手法を実験的に評価した。 
本発明では投影画像に２次元ラドン変換を施し、得られたサイノグラムの性質を利用し比較を行うことで部分検索を実現する手法を提案する。検索の前準備として、検索に不要な部品の除去と部品を表すラベルの重み付けを行う。なおラベルについては設計者間で部品に対して一意にラベルが決まっているものとする。ラベルの重み付けについては、それぞれの部品に対して体積に基づいた値の設定を行うことで、ラベルの値が検索結果に与える影響を少なくした。サイノグラムの性質上、３次元アセンブリモデルの平行移動と回転量がサイノグラムの上下の平行移動に置き換わる。またサイノグラムの比較には膨大な時間がかかってしまう問題がある。そのため、回転の量を計算し投影点を絞り比較に用いるサイノグラムの数を削減することで計算量の削減を行った。
【００１３】
＜部分検索＞
本発明で扱う部分検索については「クエリモデルをすべて含むデータベースモデルを検索すること」を定義とする。つまり、データベースモデルの一部がクエリモデルと一致するモデル」を検索することである。図１に示す Gear モデルを例に本稿で扱う部分検索について説明する。アセンブリモデルとは図１に示すように複数の部品が組み合わさって１つのモデルが構成されているモデルのことを表す。本発明で扱う部分検索は、Gearモデルの構成部品である"Cap" をクエリモデルとしてデータベースモデルのギアモデルを検索することを表す。ただ Gear モデルは、"Cap" を６つもっている。クエリモデルが"Cap" ６つでありデータベースモデルと同じ配置で構成されるのであれば当然部分検索である。しかし本発明ではクエリモデル"Cap" １つの場合も６つのうちの１つと同じ形状であれば、部分検索として扱う。形状検索の場合は、クエリモデルに対して類似するデータベースモデルを検索することが目的であるため、クエリモデルと検索したいデータベースモデルの形状が類似しているという前提がある。クエリモデルを Gear モデルとした場合、Gear モデルに形状が似ているデータベースモデルを検索することを形状検索という。しかし部分検索においては、データベースモデルの一部であるため、 検索したいデータベースのモデルと形状が類似しているとは限らない。そのため、画像の類似度を計算するだけでは、部分検索の実現は難しい。
【００１４】
＜提案手法＞
以下、本発明の部分検索方法の各ステップを説明する。
（配列化ステップ）
上記配列ステップは、上記３次元ＣＡＤデータを３次元配列化する配列化ステップである。
３次元ＣＡＤアセンブリモデルの形状と、使用している部品の配置を考慮した部分検索手法を提案する。検索に用いるアセンブリモデルの形式は３次元配列である。すなわち、通常３次元ＣＡＤデータは３次元配列されたデータであるので、３次元配列されたデータであればそのまま使用する。また、異なる形式で表されている場合は３次元配列へと公知の関数を用いて変換する。
３次元配列の大きさは元の３次元アセンブリモデルの大きさに比例した大きさとする。
使用されている部品ごとにラベルを付与することで部品の情報を含む３次元配列となる。またこのラベルの情報については設計者間で共通のラベルリストがあり、ラベルに対して一意に部品が決まっているものとする。
【００１５】
配列化ステップの前、同時又は後に前処理を行うのが好ましい。
一般に部分検索の場合、使用されている部品の種類や数が異なる為、比較対象との形状が異なり検索が難しい場合がある。そのような場合には検索の精度を上げる為に、検索の前処理を行い、不要な部品の排除とラベルの再付与を行うことが好ましい。
不要な部品の削除とは、 データベースモデルに含まれている部品の中でクエリモデル（後述する）に含まれていない部品を削除することを表す。 元々のラベルの値を検索に用いると、ラベル間の差異によって検索の結果に影響を及ぼす。ラベル値の影響は完全にはなくならないが、 ラベルの値を再付与し影響をできるだけ少なくする。
この前処理について具体的に説明すると、例えば以下のように行う。
３次元アセンブリモデルｍの３次元配列の要素数を Ｖ（ｍ）とする。同様にｍの構成部品である ｃｋの要素数をＶ (ｃｋ)とする。また比較対象のモデルを ｐ とする。このとき前処理として以下の方法を行う。（１）ｍの構成部品のうち、ｐ の構成部品ではない部品 ｃｋ に対してラベル０を付与する。（２）ｍの構成部品であるｃｋのうち要素が０でない部品に対して、１＝Ｖ （ｃｋ） をラベル値として再付与する。
【００１６】
（分解ステップ）
このステップは、得られた３次元モデルをＣＡＤデータの構成要素ごとに分解して要素データを得るステップであり、３次元ＣＡＤアセンブリモデルの特徴量を得るステップとして把握することができる。
３次元モデルの位置や向きはそれぞれ異なるため、一般的には事前に姿勢の正規化を行う。３次元アセンブリモデルの検索の場合、機械部品を扱うため対称の形状を持ったり、 部品が円形であったりするため向きが一意に決まらないという問題がある。３次元モデルの平行移動や回転に普遍な検索を行う為には、モデルの平行移動や回転に対して頑強な特徴量が必要である。そのような特徴量を得る為に、様々な角度からアセンブリモデルに対しての投影画像を得る。クエリモデルとデータベースモデルの比較は投影画像の特徴量を用いる。投影画像は、アセンブリモデルの３次元配列の投影面に対して垂直な値の和であり、モデルの形状や構成部品の配置も画像に反映されている。 本実施形態においてはＧｅｏｄｅｓｉｃ Ｄｏｍｅ の頂点座標を投影点として、３次元アセンブリモデルの特徴量を得る。 
【００１７】
（サイノグラム化ステップ）
得られた要素データを処理してサイノグラムを得るサイノグラム化ステップ、
こうして得られた投影画像に対して、２次元ラドン変換を行うことでサイノグラムを得る。 サイノグラムの性質として２次元平面上の平行移動が動径方向の平行移動で表され、 ２次元平面上の回転が偏角方向の平行移動として表される。その後、動径方向に対して１次元離散フーリエ変換を行い、振幅スペクトルを得て、さらに角度方向へ、１次元離散フーリエ変換を行い、振幅スペクトルを得る。こうすることにより、２次元空間において平行移動と回転に対して頑強な特徴量が得られる。 
なお、本実施形態では、振幅スペクトルを位相限定相関法で計算する手法を比較手法として、本発明の方法の優位性を説明する（後述する）。 それに加えて形状が異なる部分検索を実現するために投影画像を２次元ラドン変換したサイノグラムを比較に用いる。
【００１８】
（関連付けステップ）
このステップは、得られたサイノグラムと元の３次元ＣＡＤデータとを関連付けるステップである。具体的には、上述の分解ステップにおいて特徴量を算出する際に、投影前の３次元アセンブリモデルのデータと関連付けを行うか、上述のサイノグラム化ステップで得られたサイノグラムを投影前のデータにさかのぼって関連付けを行うことにより行う。本実施形態においては、前者の方法を採用しており、分解ステップにおいて、絵次元アセンブリモデルのデータを、投影、特徴量の算出、サイノグラム化まで型ぞっくして関連付けを行うことにより、本ステップを実施している。
【００１９】
（抽出ステップ）
本ステップは、上記サイノグラムを目印として各３次元データの検索を行い、構成要素データごとに照合して適合する構成要素を抽出するか、又は当該構成要素と関連付けられた３次元ＣＡＤデータを抽出する、ステップである。本ステップにおいては、アセンブリモデル間の一致度＞
アセンブリモデルの特徴量は上述のように投影を経て得られているので２次元配列で表されている。一致度の計算に用いるのは投影画像に対して２次元ラドン変換を行ったサイノグラムである。特徴量の抽出の手順は 表１に示すAlgorithm1に示す。２つのサイノグラムを比較し、サイノグラム間の一致度を計算する。 ２つのサイノグラムの一致度の計算の手順は表１に示すAlgorithm2と表１に示すAlgorithm3 に表す。 Algorithm2はサイノグラム間の一致度の計算の手順を表している。Algorithm2 のＣｉｒｃ（ｓｙｎ， ｋ） はｓｙｎを偏角方向にｋずらし、配列の大きさが偏角の大きさを超えた場合は、 また配列の１番目から順に値を格納していく処理を表している。これは２次元平面上の物体の回転量が偏角方向の平行移動に置き換わるサイノグラムの性質を利用した処理である。 Algorithm3 はサイノグラムの列同士の比較の手順を表している。Algorithm3 の Ｅｘｔｅｎｓｉｏｎ（ｓ， ）Ｉ） は ｓを動径方向にｉだけずらし、配列の大きさが動径方向の大きさを超えた場合は、 配列を拡張し０を代入する処理を表している。 またサイノグラムの比較の例を図２と図３に示す。 図 4 はサイノグラムの一列同士の比較の手順を示しており、 図３はサイノグラムの全体の比較の流れを示している。 パラメータはそれぞれのAlgorithm と対応している。 図２はサイノグラムの列Ｓ１とＳ２の比較の手順を示している。 まずはＳ１とs２の各要素の差を計算する。計算した値の中で０より大きい値は０とする。Ｓ２を動径方向に一行ずつずらしてこの処理を繰り返す。 得られたＮの総和をサイノグラムの列間の一致度とする。 図３はサイノグラム ｓｙｎ１とｓｙｎ２の比較の手順を示している。 まずそれぞれのサイノグラムの列を取り出し、列間の一致度を図２の手順で計算する。ｓｙｎ２を偏角方向にずらしてこの処理を繰り返す。そうして得られたｍｄｅｇｒｅｅ１ の各列の最小値を ｍｄｅｇｒｅｅ２とする。
ｍｄｅｇｒｅｅ２の総和がサイノグラム間の一致度ｍｄｅｇｒｅｅとなる。計算された一致度については差であり、 数値は負になるが値が大きいほどモデルが一致していることを表す。しかし一致度が０を超える場合は、クエリモデルの方が大きいことを表すため除く。モデル間の一致度を計算する手順を表２に示す Algorithm4 に表す。
【００２０】
【表１】
2018136946.tif 000003
【表２】
2018136946.tif 000004
【００２１】
＜一致度計算の効率化＞
３次元アセンブリモデルの一致度の計算に、サイノグラムを用いて部分検索を行う。サイノグラムの比較に時間がかかってしまう問題がある。検索にかかる時間を削減するために２つの工夫を行う。１つ目が投影数の削減である。従来、クエリモデルの投影数とデータベースモデルの投影数を等しくして投影画像の比較を行っていた。本実施形態においてはクエリモデルの投影数を減らして検索を行うことで効率化を図った。２つ目の工夫として、クエリモデルの投影点間から回転量を計算し、データベースモデルの投影点を絞り比較するサイノグラムの数を減らすことで計算量の削減を行った。 例えば図 ４に示すクエリモデルの投影点のように、ＡからＦまでの６つの投影点から投影画像を生成している場合、 点 Ａ から生成したクエリモデルの投影画像１枚に対してデータベースモデルの全ての投影点から生成した投影画像との一致度を計算していた。クエリモデルの投影画像に対して、 最も一致度が高い投影画像を持つ投影点を対応点と呼ぶとすると、クエリモデルの投影画像１枚目の対応点がわかれば、２枚目の対応点の座標は Ｇｅｏｄｅｓｉｃ Ｄｏｍｅ の頂点座標の回転量から計算することができる。 クエリモデルの投影画像１枚目の対応点は、 クエリモデルの投影画像１枚目とデータベースモデルの全ての投影画像の一致度を計算し、 最も一致度が高い投影画像の投影点を対応点とする。 例えば図４においてクエリモデルの投影画像１枚目の対応点が投影点Ｇだったとする。 投影点Ｇに対して、Ｇｅｏｄｅｓｉｃ  Ｄｏｍｅの頂点座標から計算した回転量分だけ回転をした点をＧ’とすると、クエリモデルの投影画像２枚目の対応点がＧ’付近となるはずである。同じ点から投影されるということが起こりにくいため、本実施形態では計算した点の座標から距離が近い５つの投影点を対応点の候補の点を候補点とする。クエリモデルの投影画像２枚目以降との一致度計算についてはこの候補点から得られた投影画像のみと計算を行い、候補点の中で最も一致度が高い投影画像が得られた点をそれ以降の対応点とし一致度計算を行っていく。
【００２２】
＜評価実験＞
本実施形態における評価のために、部品の配置が異なる３次元 CADアセンブリモデルを用いて実験的評価をした。 ＧｒａｂＣＡＤ［９］ から選んだ、様々な部品を持つ図５に示すＣｌｕｔｃｈ、Ｄｉｅ、Ｇｅａｒ の３種類の３次元ＣＡＤ アセンブリモデルを選び、簡素化のためにいくつかの部品を削除した。３種類のモデルそれぞれをモデルの構成によってタイプ１からタイプ３に分類した。タイプ１はコンポーネントの総数に違いがあるモデル、タイプ２はコンポーネント数は一致、コンポーネントの部品数に違いがあるモデル、タイプ３はコンポーネントの総数、部品数両方に違いがあるモデルである。それぞれのタイプの中で部品の配置が異なる３種類のモデルを作成した。Ｃｌｕｔｃｈ、Ｄｉｅ、Ｇｅａｒそれぞれに対して、 タイプ１としてＡ、Ｂ、Ｃの３種類のモデルを用意した。 Ａを正解モデルとし、Ｂ、Ｃを不正解モデルとする。 タイプ２についてはＤを正解モデル、ｅ、Ｆを不正解モデルとする。 タイプ３については Ｇを正解モデル、Ｈ、Ｉを不正解モデルとする。
モデルの一覧を表 ３に示す。クエリとして与えられたアセンブリモデルをクエリモデルと呼び、 クエリモデルと比較するアセンブリモデルをデータベースモデルと呼ぶ。 データベースモデルは、Ｃｌｕｔｃｈ、Ｄｉｅ、Ｇｅａｒの３種類に対して９パターン、 計 27 個のアセンブリモデルを用意した。 クエリモデルとしてＣｌｕｔｃｈ、Ｄｉｅ、Ｇｅａｒの３モデルを用意した。 それぞれにランダムに平行移動と回転を加えたアセンブリモデルを１０種類ずつ用意した。 データベースモデルにも、 それぞれランダムな平行移動と回転を加えた。 実験に用いたモデルを図６に示す。 色調の違いは部品の違いを表している。 Ｃｌｕｔｃｈモデルの構成についても表３に示す。 モデルのサイズは６４ ×６４Ｖ６４、データベースモデルの投影数は１６２、 クエリモデルの投影数は ４２ で実験を行う。 Ｖｉｓｕａｌ Ｃ＋＋２０１２、 ＭＡＴＬＡＢ ２０１５ｂ を Ｗｉｎｄｏｗｓ ７ Ｐｒｏｆｅｓｓｉｏｎａｌ ６４ ｂｉｔ 上で用い、 ２．８ＧＨｚ Ｉｎｔｅｌ Ｃｏｒｅ ｉ３ プロセッサ、 １６ＧＢ ＲＡＭ のコンピュータで実験を行った。
【００２３】
【表３】
2018136946.tif 000005
【００２４】
比較手法として、位相限定相関法を用いた３次元モデル検索を行った。本実施形態の方法と同様に、３次元モデルの形状と部品の配置の識別をした。検索に用いる特徴量はAlgorithm1で得たサイノグラムのパワースペクトルを計算したものである。 モデル間の一致度計算の手順については表４のAlgorithm5に示す。Algorithm5のＰＯＣ（ｆ （ｍ１， ｖ ）， ｆ （ｍ２， ｖ ）） は特徴量 ｆ （ｍ１， ｖ ） と ｆ （ｍ２， ｖ ） を位相限定相関法で比較することを表す。
【００２５】
【表４】
2018136946.tif 000006
【００２６】
＜部品の配置が異なる３次元 CAD アセンブリモデルの識別＞
部品の配置が異なるモデルを用いて、提案手法を実験的に評価した。前述の計 ２７ 個のアセンブリモデルをデータベースモデルとし、それらのモデルについてあらかじめ投影画像を生成しておく。 投影画像は各モデルで １６２ 枚用意し、 ２７ 個のモデルの投影画像に対してサイノグラムを生成し、それらを用いた。クエリモデルも同様に投影画像を 42 枚生成し、それらを用いてデータベース検索を行う。 図７ が Ｃｌｕｔｃｈ、 Ｄｉｅ、 Ｇｅａｒの各データベースモデルとクエリモデルとの一致度を提案手法で計算したものである。Ｃｌｕｔｃｈ、 Ｄｉｅ、 Ｇｅａｒの各モデルのタイプ内で正解モデル (各モデルの Ａ、 Ｄ、 Ｇ） の一致度が最も高いという結果を得ることができた。この結果から、本発明の手法は実験で使用したアセンブリモデルについては、タイプごとに分類すれば、形状だけでなく、部品の配置が異なるアセンブリモデルの部分検索の識別ができているとわかる。Ｃｌｕｔｃｈモデルのタイプ３のモデル (Ｃｌｕｔｃｈ Ｇ、 Ｈ、 Ｉ) については他のタイプ１、 ２の結果より全体的に一致度が高い。 Ｃｌｕｔｃｈ Ｈ、 Ｉ については不正解モデルであるが、タイプ２の正解モデルより一致度が高くなっている。 すなわちタイプごとに分類せずに検索を行うよりも、タイプごとに分類した方がより高い精度で検索を行うことができることがわかる。 各手法の検索精度を図８に示す。なお、本実施形態における検索精度とは、クエリモデルの集合をＱとすると以下のように表される。
検索精度 =（｜タイプ内で最も一致度が高いモデルのうち; 正解モデルであるモデルの数 ｜）／｜Ｑ｜  
【００２７】
＜投影数を変化させた時の検索精度と処理時間＞
投影画像の枚数を変化させ、データベース検索の実験を行い、我々の提案手法の検索精度とモデル間の一致度計算にかかる処理時間の評価を行う。 本稿では投影画像の枚数は、 GeodesicDome の頂点数によって決定する。 ここでは頂点数を 42、 92、162、 252、 362 と変化させ、 投影枚数を 42 枚、 92 枚、 162 枚、 252枚、 362 枚と変化させたときのデータベースの各モデルの一致度と処理時間を評価する。 図 ９はそれぞれ正解モデルを ClutchA、 Die A、 Gear A としたときのクエリモデルとデータベース内の各モデルとの一致度を表している。 図９から、 正解モデルが Clutch A、 Die A のときは、 投影数を変えても正解モデルの一致度が一番高くなっていることがわかる。 すなわちタイプごとであれば正しく検索ができているといえる。しかし、正解モデルが Gear A のときでは、 投影数によっては正解モデルではないモデルの一致度が最大の一致度となっている場合がある。これは、モデルの姿勢の影響により 一致度が高い投影画像が少ないために、検索ができなかったと考えられる。
【００２８】
＜計算量削減による処理時間への影響＞
最も処理時間がかかっているのが、 サイノグラムの比較である。 処理時間を短縮するためにサイノグラムの比較を行う回数を減らし、 計算量を削減する。 提案手法では 3。 4 で述べた方法で計算量の削減を行い、 検索精度とモデル間の一致度計算にかかる処理時間を評価する。 ２枚目以降の一致度計算に用いる投影点の数を 3、 5、 12、 42、 92、 162 と変化させた場合の処理時間が図１０である。 また投影点を削減した場合の提案手法の検索精度の変化を図１１に示す。 図１１より投影点を５点まで削減しても検索精度にあまり影響がないことがわかる。しかし、投影点を３点まで削減してしまうと、 検索精度が低下してしまう。これは、投影点の削減により正しい対応点がとれなくなっていることが原因だと思われる。投影点の削減を行わない場合、比較に用いる投影点の数は 162 である。 提案手法では２枚目以降の一致度計算に用いる投影点の数を５点に削減し、 モデル間の一致度計算にかかる処理時間を５％まで短縮することができた。
【００２９】
＜効果＞
本実施形態の方法によれば、投影画像を用いて、３次元 ＣＡＤ アセンブリモデルの形状や部品の数だけでなく、 部品の配置まで考慮した部分検索が高精度に行うことができる。 形状が異なる部分検索の実現のためにサイノグラムを用いて比較を行い、比較にかかる時間は、投影数の削減と比較に用いる投影点の削減により実現することができる。 
【００３０】
また、本実施形態の検索方法においては、
さらに、得られたサイノグラムの横軸を細分化すると共に各要素データを関連付けて、位置情報が関連付けられた位置情報サイノグラムを得る位置情報取得ステップを有し、
上記関連付けステップが、
位置情報サイノグラムと元の３次元ＣＡＤデータにおける位置情報サイノグラムと対比するステップを含む
ようにすることもできる。
【００３１】
（位置情報取得ステップ）
本ステップは、得られたサイノグラムの横軸を細分化すると共に各要素データを関連付けて、位置情報が関連付けられた位置情報サイノグラムを得るステップである。
部分検索においては、クエリモデルに包含されるモデルを検索する場合と、クエリモデルを包含するモデルを検索する場合が考えられるが、本実施形態においては前者を前提とする。なお、後者の場合でも、後述する差の方向を変更することで対応できる。
この位置情報取得ステップを行う場合のアルゴリズムを表５の Algorithm 1 に示す．Algorithm 1 は，以下に示すステップによりデータベースモデルとクエリモデルの比較を行うものである。なお、ここでは配列化ステップは省略している。
（ 1 ） データベースモデル及びクエリモデルのサブアセンブリの全ての組み合わせの中から、対応候補となる組み合わせを探す（前処理ステップ）。
（ 2 ） “Geodesic Sphere” の頂点座標から２次元平面への投影画像を，データベースモデルとクエリモデルの各サブアセンブリについて計算する（分解ステップ）。
（ 3 ） ラドン変換によって投影画像からサイノグラムを構成する（サイノグラム化ステップ）。
（ 4 ） 対応候補となるサブアセンブリの組について，サイノグラム間の相違度を計算する。
（ 5 ） 得られた相違度を基に，データベースモデルとクエリモデルのサブアセンブリの対応関係を決定して，そのときの相違度をデータベースモデルとクエリモデルの間の相違度として返す（４及び５で位置情報取得ステップ）。
ここで，アセンブリモデル内で同じ材質ラベルを持つ部品の集合をサブアセンブリと呼ぶ。また、アセンブリモデルｍのサブアセンブリを集合ＳＡ（ｍ）として表し、ｍに含まれる部品からなる集合をＣ（ｍ）のように表す。同様に、サブアセンブリｓａ∈ＳＡ（ｍ）について、Ｃ（ｓａ）はｓａに含まれる部品の集合を表す。本実施形態では、Ｃ（ｓａ） には同じ部品のみ含まれるものとする。
【００３２】
【表５】
2018136946.tif 000007
【００３３】
（前処理ステップ）
データベースモデル mdとクエリモデル mqが与えられたとき、２つのアセンブリモデル間の材質情報の対応関係が不明となるため，まず 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に含まれない。表６のAlgorithm 2 に，mdと mqのサブアセンブリ毎の対応を判定し，対応候補となるペアを格納した集合 CRP を返すアルゴリズムを示す。
次に、CRP を基に、 mdのサブアセンブリに対して mqのサブアセンブリが一対一に対応するような組み合わせを全て求め、集合 CSA を構成する。この処理は、Algorithm 1 の 10 行目における関数 MakeSubassemblyPairs(CRP ) によって行う。例えば，CRP ={ (sad1; saq1); (sad1; saq2); (sad2; saq1); (sad2; saq2)) } であるとき，戻り値 CSA は， CSA ={ ((sad1; saq1); (sad2; saq2));((sad1; saq2); (sad2; saq1)) }となる．材質情報の一対一対応が取れず、｜CSA｜= 0 となる場合には，mdと mqは異なるアセンブリモデルと判断して、処理を終了する。
【００３４】
（分解ステップ）
一般に３次元モデルの空間上における位置や姿勢は製作者によって異なるため，モデルの平行移動や回転に対して頑健な特徴量が必要となる。そこでまず、モデルの仰角及び方位角方向の回転に対して頑健な特徴量を得るため，ある視点に垂直な２次元平面へのモデルの投影画像を計算する。使用する視点には，正多面体を拡張して得られる \Geodesic Sphere" の頂点座標を利用することができ、この点で上述した分解ステップと異なる。
（サイノグラム化ステップ）
本ステップについては上述したサイノグラム化ステップと同様であるが、角度を変化させながら投影ベクトルを計算し，得られた投影ベクトルを横に並べることで構成されるようにすることもできる。サイノグラムには，原画像の回転を角度方向の平行移動に変換し、平行移動を動径方向のゆらぎに変換するという特徴がある。
通常サイノグラムは，0°≦角度θ＜180°の範囲で投影ベクトルを計算して構成されるが、サイノグラムの位置合わせによって投影軸方向の回転に対応するために、クエリモデルmq側のサイノグラムについては、0°≦角度θ＜540°の範囲で投影ベクトルを計算する。表７のAlgorithm 3 に３次元 ＣＡＤアセンブリモデルｍの特徴量抽出手順を示す．前述の通り，mdについては｜Ad｜ = 180 となり，mqについては ｜Aq｜ = 540 となる。
【００３５】
【表６】
2018136946.tif 000008
【表７】
2018136946.tif 000009
【００３６】
（位置情報取得ステップ）
集合 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)によって除算することで，体積の大きいサブアセンブリによる相違度計算結果が支配的となることを防ぐ。
表８のAlgorithm 4 及び Algorithm 5 に，サイノグラム sngd及びsngqの相違度計算アルゴリズムを示す。ここで、Algorithm 4 における添字“:”は，配列から特定の次元の要素を全て抜出する処理を表す．例えば，サイズ ny×nxの配列 a 及び １≦ｋ≦nxである ｋに対し，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の最終的な相違度となる。この処理を，表９のAlgorithm 6 に示す。Algorithm 6における処理は，csa∈CSA における，投影点 vd∈Vd及びvq∈Vqの全組み合わせについて，CSAD[csa] に格納された相違度を基にして，相違度が最も低くなる投影点の組を，同じ視点を重複して選ばないようにしながら探す処理となる。
この位置情報取得ステップは、上述の抽出ステップにより適合する構成要素を抽出した後で行うことができる。すなわち、形状の特徴点としては上述の抽出ステップにより適合すると判断された場合でも、この位置情報取得ステップを行うことにより、全体の中での部品の位置や配置角度を正確に把握することが可能となる。
また、この場合には関連付けステップにおいて、取得された位置情報と元の３次元ＣＡＤデータとの関連付けを行うことにより検索が可能となる。この関連付けについては、上述の関連付けステップにおいて説明した関連付けの手法を用いて行うことができる。
【００３７】
【表８】
2018136946.tif 000010
【表９】
2018136946.tif 000011
【００３８】
次に、上述した部分検索方法ではなく、全体を検索する３次元ＣＡＤモデル検索方法の１実施形態について説明する。なお、以下の説明においては、上述した本発明の３次元ＣＡＤモデル部分検索方法と異なる部分について特に説明する。
本実施形態の３次元ＣＡＤモデル検索方法は、
複数の３次元ＣＡＤデータからなるデータ群から特定の３次元構造を包含する３次元ＣＡＤデータを特定する３次元ＣＡＤモデル検索方法であって、
上記３次元ＣＡＤデータを３次元配列化する配列化ステップ、
得られた３次元モデルをＣＡＤデータの構成要素ごとに分解して要素データを得る分解ステップ、
得られた要素データを処理してサイノグラムを得るサイノグラム化ステップ、
得られたサイノグラムの横軸を細分化すると共に各要素データを関連付けて、位置情報が関連付けられた位置情報サイノグラムを得る位置情報取得ステップ、
得られたサイノグラムと元の３次元ＣＡＤデータとを関連付けると共に、位置情報サイノグラムと元の３次元ＣＡＤデータにおける位置情報サイノグラムと対比する、関連付けステップ、
及び
各位置情報サイノグラムを動径方向にフーリエ変換し、次いで角度方向にフーリエ変換することにより、不変量データを得、得られた不変量データを基に検索を行う検索ステップを行うことにより実施できる。
すなわち、上述の抽出ステップに代えて検索ステップを行う点が異なり、それ以外は上述の本実施形態の３次元ＣＡＤモデル部分検索方法と同じである。なお、本実施形態においても抽出ステップを行ってはいけないということはなく、上記検索ステップが必須のステップであるという意味である。この検索ステップを行うことにより、構成部品点数が多い場合でも正確に検索を行うことが可能となる。
【００３９】
（検索ステップ）
一般に内部構造が複雑なアセンブリモデルの場合, 内部構造が単純なアセンブリモデルと比べて検索するのが難しい. したがって構成部品が多い 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 個を複合するときの配置する座標は表 １０に示す。
これによりアセンブリモデル同士が重なることがなく複合することができる. しかし配置する座標の決定や, 複合したモデル空間の中心から離れているので, 検索前に保存されている姿勢変化量によってモデル空間からはみ出す可能性があるので考慮する必要がある。
一般的に３次元モデルの位置や向きはそれぞれ異なり, それを正規化する手法にはいくつかの問題点が存在する。このような問題点を改善するには平行移動や回転に対して頑健な特徴量が必要である。３次元ＣＡＤモデルを３次元ボクセルモデルに変換し、それを投影点ごとに投影画像を生成し、得られた投影画像に対して、２次元ラドン変換を行い（サイノグラム化ステップ）、その後動径方向に対して１次元フーリエ変換し振幅スペクトルをとり、その後偏角方向に対して １次フーリエ変換を行い、振幅スペクトルをとることで平行移動や回転に対して頑健な特徴量を得ることができた。しかし、構成部品の材質の種類ごとの数値の付与について、ユーザーやモデル間で統一されていない場合、２つのアセンブリモデルの類似度を計算する際に数値の正規化を行わなければ、その数値によって検索の結果に影響を及ぼす. このような場合を想定し, 以下のような手法を提案する。
アセンブリモデル m とし、m の構成部品集合の１要素であるci の体積を V (c) とし、 m の構成部品の材質の種類の数をｎとする。球面座標系における２次元ラドン変換の角度をＡとする。
（ 1 ） 投影点ごとに ci の投影画像を計算し（分解ステップ）、２次元ラドン変換を行いサイノグラム 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))) に格納する（２〜６について検索ステップ）。
これにより f (f (sino(cs1 + ．．．+ csn))) は構成部品の体積が異なる場合においても特徴量を得ることができる。
【００４０】
また、特徴量は削減させることもできる。フーリエ変換は、ラドン変換の動径方向と偏角方向に行っているため、中心をピークとした２次元配列に変換される。特徴量はピークから離れるほど値が小さくなり、検索結果に対する影響が少なくなる。そこで、値の小さい高周波成分を削減し、低周波成分だけを特徴量として用いることで特徴量自体のデータ量が削減でき、検索精度を維持したまま類似度計算時間を削減することができる。削除する配列数は特徴量の配列数の半分とし、１回削減するたびに２次元配列を大きさが１／４ になるように高周波成分を取り除いた。本実施形態においては４回特徴量を削減している。
また、検索ステップにおける検索結果の判定、即ち、類似度の判定は以下のようにして行うことができる。
アセンブリモデルの特徴量は 2 次元配列として表されている。２次元配列をユークリッド空間のベクトルとし、２つのベクトルのユークリッド距離を計算し、これを類似度とする。２つのアセンブリモデル間の類似度を以下のように計算することができる。
ユーザーやモデルによって構成部品に付与する数値が統一されていない場合には, その数値によって共通の構成部品を検索することは難しいため、従来手法では２つのアセンブリモデルの類似度が一致する可能性のある、それぞれの構成部品をすべて計算する必要があった。 しかし、本実施形態の手法では投影点ごとにすべて構成部品の材質ごとのサイノグラムを生成し一つにするのでユーザやモデルによって構成部品に付与する数値が統一されていない場合においても同じ特徴量を得ることができるため、アセンブリモデルの投影点ごとの類似度計算を行い、最小となるものをその投影点の類似度とし、投影点ごとに出た類似度を総和したものを最終的な類似度とする。そして、この類似度が高いものを抽出することができる。
【００４１】
【表１０】
2018136946.tif 000012
【図１】
2018136946.tif 000013
【図２】
2018136946.tif 000014
【図３】
2018136946.tif 000015
【図４】
2018136946.tif 000016
【図５】
2018136946.tif 000017
【図６】
2018136946.tif 000018
【図７】
2018136946.tif 000019
【図８】
2018136946.tif 000020
【図９】
2018136946.tif 000021
【図１０】
2018136946.tif 000022
【図１１】
2018136946.tif 000023