【文献】
馬庭 尚志、外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名)
【発明を実施するための形態】
【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 に対する cos
2θi となる。
2 つの部分空間の構造的な類似性を測る尺度として、第 n 正準角まで考慮した類似度 S [n] (n ≧1) を次のように定義する。
【数6】
本発明では第一正準角 cos
2θ
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) からカーネル関数を用いて行列K
vij = k(ベクトルvi , ベクトルvj ) を作り、固有ベクトル α
vを求める。この固有ベクトルを固有値の昇順にソートし、正規化する。相互部分空間法の場合はベクトル化したあとベクトルを並べた行列を固有値分解することで固有値と固有ベクトルを求める。固有値の大きい順に固有ベクトルをソートし、これから部分空間 V を構成する。ここで M はクエリの投影データの入力枚数である。
アルゴリズムを数9 に示す。
【数9】
【0018】
(分類フェーズ)
学習フェーズと同様にクエリ側のクラス μ の 3 次元モデルの投影データをそれぞれ作成する。投影データから基底ベクトル u
uj(1 ≦j≦N ) を作り、これからカーネル関数を用いて行列Kuを作り、固有ベクトル αuを求める。この固有ベクトルを固有値の昇順にソートし、正規化する。学習フェーズで求めた固有ベクトル αvと入力データをベクトル化した vi を数7の式に代入することで数4の行列 S を作る。但しすべての固有ベクトルを利用するのではなく、辞書側、入力側からそれぞれ設定した本数のベクトルを用いることができる。この行列の最大固有値から cos
2θ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 種類を用いた。
核非線形相互部分空間を用いる際、辞書側部分空間の次元数r
d、入力側部分空間次元数 r
i、使用する正準角の数 nca、そしてスケールパラメーター s の 4 つがある。今回の実験では正準角の数は式 (5) の行列の行数、つまり辞書側部分空間の次元数r
d と等しくした。r
d = 6、r
i = 5 として今回は主に実験を行った。
またカーネル関数としては下記のガウス型 RBFを用いた。
【数11】
【0036】
スケールパラメーターは σ の値を決定するのに用いる。具体的には投影データから得られるベクトルを平均を計算しこれにスケールパラメーター s を乗じたものを σ とした。また精度の比較のために相互部分空間法を用いて同様の実験も行なった。相互部分空間法の場合は比較するモデルそれぞれの投影データから求めたベクトルを並べて行列を作る。その行列の固有ベクトルを式 (5) に代入することで類似度を求めた。
【0037】
まず異なる複数のモデルに対し核非線形相互部分空間法(KMSM) 及び相互部分空間法 (MSM) を用いた結果を示す。
まずどのモデルも重みは加えていないものとの類似度の結果を示す。ここで table1-1-rot とは table1-1 を θ、φ ともに 5°だけ回転させたものである。これは投影データを 10°ずつとるため、最大誤差である 5°に設定した。実験の結果の数値は空間同士の角度 θ を用いて表される cos
2θ1 の値及び、S [n] である。
【表9】
今回辞書側部分空間の次元数 r
d と等しい n = 6 とした。類似度は cos
2θ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]、cos
2θ1 の値は MSM よりも小さい。しかし表 12 の human と spider という異なる物体の中でも最も高い類似度が cos
2θ1 = 0.8176、 S [n] = 0.2505 である。
このことから例え最大誤差の 5°回転していても同一物体であると認識できることが分かる。またこれらの実験から cos
2θ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】