解析曲面セグメンテーション装置、方法、プログラム及び記録媒体
【課題】測定メッシュモデルデータからソリッドモデル上で1つの解析曲面(平面、円筒面、円錐面、球面、トーラス面)に相当する領域とそれらの境界線を特徴稜線として抽出し、さらにフィレット面領域、線形押し出し面領域、回転面領域を自動認識する。
【解決手段】メッシュモデルデータを入力し、入力したメッシュモデルデータからシャープ頂点でない頂点に対して、主曲率を算出し、算出した主曲率をもとに、ある1つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成し、このシード領域を拡大することで解析曲面領域を抽出し、こうして抽出した複数の曲面領域の境界線を特徴稜線として抽出し、また抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識し、特徴稜線抽出処理で抽出した特徴稜線の情報と曲面認識処理で認識した曲面領域の情報からソリッドモデルデータを生成する。
【解決手段】メッシュモデルデータを入力し、入力したメッシュモデルデータからシャープ頂点でない頂点に対して、主曲率を算出し、算出した主曲率をもとに、ある1つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成し、このシード領域を拡大することで解析曲面領域を抽出し、こうして抽出した複数の曲面領域の境界線を特徴稜線として抽出し、また抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識し、特徴稜線抽出処理で抽出した特徴稜線の情報と曲面認識処理で認識した曲面領域の情報からソリッドモデルデータを生成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メッシュモデルデータから解析曲面フィッティングに基づき解析曲面のセグメンテーションを行う解析曲面セグメンテーション装置、方法、プログラム及び記録媒体に関する。
【背景技術】
【0002】
近年、工業用高エネルギーX線CTスキャナにより機械部品をスキャンすることでその機械部品の3次元(3D)のメッシュモデルを自動的に取得できるようになってきており、工業製品開発に多く用いられるようになってきている。この高エネルギーX線CTスキャナは、複雑な形状の工業製品の内部構造の3次元画像データを迅速に、非破壊で取得するのに利用される。
【0003】
今日、得られた3次元スキャン画像データは容易に3次元メッシュモデルデータに変換可能である。例えば、非特許文献1に記載されたマーチングキューブ法がよく知られている。3次元スキャンメッシュモデルが工業製品の修理、レプリカ作成、解析あるいは検査に利用されるとき、その用途に応じてメッシュモデルを望ましい領域群に効果的に分割することが必要である。
【0004】
工業製品の表面は主に解析曲面、例えば、平面、円筒面、球面、円錐面そしてトーラスの組み合わせによって構成されている。したがって、メッシュモデルから引き出される単純な解析曲面によって近似できる領域群を抽出することが必要である。この領域分割はメッシュモデルに対する特徴認識を可能にし、パラメータによるメッシュ変形、メッシュスムージング、FEMメッシュ生成、立体モデル作成の前処理に重要な役割をする。
【0005】
シャープエッジによって分けられる領域を抽出する方法について、多数の方法が提案されている。しかしながら、メッシュモデルから解析曲面によって近似できる領域を抽出する方法はほとんど提案されていない。また、提案された方法にあっては、ノイズの多いメッシュモデルからの領域抽出の正確さ、また抽出された解析曲面の応用範囲は実用性の面で不十分である。
【0006】
関連する公知技術は以下のようなものである。メッシュ分割、メッシュ特徴抽出と再メッシュ分割のようなメッシュ応用技術で利用される基本技術の1つにメッシュ曲率推定法がある。この方法のアプローチには、非特許文献5,6,7がある。
【0007】
非特許文献5では、メッシュ曲率推定法は2つのグループに分けられている。1つは、離散的表現における微分幾何演算のために閉鎖形状を形成することで曲率を推定するものである。他の1つは、メッシュ頂点ごとの周りに比較的高度の曲面を局所的にフィットし、この曲面を解析することで曲率を推定するものである。過去の非特許文献3,4,5では、後者の推定方法はノイズの多いメッシュモデルに対してより良い結果をもたらすとされている。
【0008】
メッシュ分割は、メッシュモデルを用途に応じて望ましい領域に分割するという技術である。メッシュ分割には多数の取り組みが提案されているが、大きく分けて3つのグループに分けることができる。
【0009】
第1のグループは、メッシュモデル上のシャープエッジによって分けられる領域を抽出するものである。このグループでは、ウォータシェッド法(Watershed method)をベースとする取り組みが良く研究されている。非特許文献8,9,10である。このウェータシェッド法のアルゴリズムは、最初は2次元画像の分割のために提案されたものであり、マンガンその他(Mangan et al.)による非特許文献8ではそれをメッシュ分割に拡張した。このウォータシェッド法のアルゴリズムは、各頂点に対するメッシュ曲率のような特徴量を割り当て、局所的な極小値を発見する。続いて、各局所的な極小値の周りに隣接する頂点群を最急峻降下アルゴリズムを用いてクラスタ分けすれば、シャープエッジは隣接するクラスタ間の境界に現われる。サンその他(Sun et al.)による非特許文献9では、ノイズの多いスキャンメッシュデータに対するローバストな頂点特徴量計算法を用いるアルゴリズムを改善している。ラズダンその他(Razdan et al.)の非特許文献10では、ソリッドモデルから切り出されるメッシュモデルに対するアルゴリズムを改善している。これらの方法は、メッシュモデルをシャープエッジによって分離される領域に分割することができる。しかしながら、スムーズエッジにより分離される領域群(円筒面にスムーズに接続される平面)を抽出することはできない。また、それゆえに、分割された領域ごとの幾何学面を正しく同定することもできない。
【0010】
第2のグループは、単純な自由形状面により近似される領域群を抽出するものである。このグループでは、非特許文献3,11,12で領域拡大法(Region growing method)による取り組みが研究されている。最初、ベスルその他(Besl et al.)による非特許文献11において、高さ領域データに対する領域拡大法が提案された。近年、ビエラその他(Vieira et all.)による非特許文献3で、この方法がレーザスキャナによるノイズの多い3次元メッシュモデルに対して拡張されている。このアルゴリズムでは、最初にメッシュ曲率を推定し、メッシュ曲率の符号を用いて領域候補群を作り出す。そして、自由形状曲面に繰り返しフィットし、隣接する頂点群を追加することで最終的な領域群を抽出する。この方法によれば、ノイズの多いメッシュモデルから自由形状曲面領域を抽出し、多種の曲面を分離抽出することができる。しかしながら、この方法は、解析曲面とその幾何変数によって近似される領域群を抽出することは目的としていない。
【0011】
最後のグループは、単純な解析曲面にて近似される領域群を抽出するものである。ゲルファンドその他(Gelfand et al.)による非特許文献13は、メッシュ頂点とその法線ベクトルを固有値解析に基づく方法を提案している。しかしながら、この方法は、平面、円筒面そして球面による近似できる領域群のみを抽出する。
【0012】
ウーその他(Wu et al.)の非特許文献14は、ロイドのクラスタリングアルゴリズム(Lloyd’s clustering algorithm)に基づく方法を提案している。それによると、上の3曲面に加えて自由形状曲線上を転がる転動球により近似されるフィレット領域群が抽出される。しかしながら、この方法は、ノイズの多いメッシュモデルではどの程度有効なものか不明であり、また分割領域の内部領域を如何に同定するかも不明である。加えて、曲面フィッティングとクラスタリングを繰り返すために処理時間が比較的遅い。
【0013】
メッシュモデルデータからソリッドモデルを生成することを目的としたメッシュモデルのセグメンテーション法として、ベンコーその他(Benko et al.)による非特許文献4では、工業部品のリバースエンジニアリングのための直接セグメンテーション法が提案されている。その方法では、最初に局所的に平面をフィッティングすることによってシャープエッジの近傍における三角形群を除去してから、入力されたメッシュを領域群に分割する。次に、法線ベクトルや主曲率のような指標に基づき各領域ごとに三角形群と曲面群との幾何的適合性をテストする。こうして、分割領域群を、単純な解析曲面(平面、円筒面、球面、円錐面、トーラス面)、線形押し出し面、回転面により近似される。しかしながら、この方法では、ソリッドモデル生成に適した解析曲面領域、線形押し出し面領域、回転面領域を抽出できるが、領域抽出の精度が低く、簡単な形状にしか適用できないといった問題点があった。
【0014】
このように、メッシュモデルを設計・製造に有効に利用するために、メッシュモデルからソリッドモデルを自動で生成する手法の開発が望まれている。しかし現状では、この初期段階である測定メッシュモデルから適切に領域抽出するセグメンテーション手法が不十分であり、複雑形状に適用できるものはなく、ユーザによる多くのマニュアル操作を必要としていた。加えて、機械部品は解析曲面で構成される部分が多く、形状変更などの容易性を考えた場合、その形状が解析曲面でパラメトリックに表現されることが望ましいが、それに答える技術はない。
【0015】
【発明の開示】
【発明が解決しようとする課題】
【0016】
本発明は、このような従来の技術的課題に鑑みてなされたものであり、機械部品などの測定メッシュモデルからソリッドモデル上の解析曲面(平面、円筒面、円錐面、球面、トーラス面)に相当する領域とそれらの境界線を抽出し、さらにフィレット面領域、線形押し出し面領域、回転面領域を自動認識する解析曲面セグメンテーション装置、方法、プログラム及び記録媒体を提供することを目的とする。
【0017】
より具体的には、上記のBenkoその他の方法を拡張し、高精度な曲率算出と曲面フィッティングに基づき高精度に解析曲面領域とその境界線とを抽出する技術を提供することを目的とする。また、抽出した解析曲面領域の隣接関係やそれらの組み合わせから、既存の技術と比べてより幅広いタイプの領域である、フィレット面領域、線形押し出し面領域、回転面領域を認識する解析曲面セグメンテーション装置、方法、プログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0018】
本発明の第1の特徴は、入力された若しくは記憶装置から読出されたメッシュモデルデータを受け付けるメッシュデータ受付手段と、前記メッシュモデルデータからメッシュモデルの各頂点の主曲率を計算し、最大主曲率の値が閾値より大きな頂点をシャープ頂点として除外するメッシュ主曲率算出手段と、前記シャープ頂点ではない頂点の主曲率をもとに、ある1つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成するシード領域生成手段と、前記シード領域生成手段が生成したシード領域内の頂点に基づき、各解析曲面を定義する幾何パラメータを決定し、前記シード領域に解析曲面をフィッティングする解析曲面フィッティング手段と、前記シード領域生成手段が生成したシード領域に隣接する頂点のうち、前記解析曲面フィッティング手段がフィッティングした解析曲面に対する位置と法線の誤差が閾値よりも小さい頂点を当該シード領域に追加してシード領域を拡大して、拡大したシード領域を表わす解析曲面領域を抽出する解析曲面領域抽出手段と、前記解析曲面領域抽出手段が抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識する解析曲面領域認識手段と、前記解析曲面領域抽出手段の抽出した解析曲面と前記解析曲面領域認識手段が認識したフィレット面領域、線形押し出し面領域及び回転面領域との認識結果を出力するデータ出力手段とを備えた解析曲面セグメンテーション装置である。
【0019】
上記解析曲面セグメンテーション装置において、前記メッシュ主曲率算出手段は、曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの2倍に設定し、各頂点の主曲率を算出し、最大主曲率の値が閾値より大きな頂点をシャープ頂点と分類し、当該シャープ頂点でない頂点に対して、前記曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの5倍に設定し、主曲率を算出するものとすることができる。
【0020】
また、上記解析曲面セグメンテーション装置において、前記シード領域生成手段は、前記主曲率算出手段が算出した各頂点の主曲率値を比較し、各頂点に対してそれが平面、円筒面、円錐面、球面、その他の面のうちのどれに属するかを識別するラベルを割り当てる頂点ラベリング手段と、前記頂点ラベリング手段が割り当てたラベルに基づき、同じラベルを持つ連結頂点集合をシード領域として抽出するシード領域抽出手段とから成るものとすることができる。
【0021】
また、上記解析曲面セグメンテーション装置において、前記頂点ラベリング手段は、前記その他の面に属するラベルが割り当てられた頂点に対して、横軸を主曲率、縦軸をその主曲率の値を持つ頂点数としたヒストグラムを作成し、ある主曲率値を持つ頂点数が閾値より大きければ、それらの頂点群にトーラス面のラベルを割り当てるものとすることができる。
【0022】
また、上記解析曲面セグメンテーション装置において、前記解析曲面フィッティング手段は、円筒・円錐面については、まず、シード領域内の頂点の法線のガウス球との交点に平面をフィッティングし、この平面の法線を軸方向として算出し、円筒面については、シード領域内の頂点を、軸方向を法線に持ち原点を通る平面に投影し、投影面上で円弧をフィッティングし、その中心と軸上の任意点を求め、円錐面については、円錐の頂点とメッシュの各頂点とを結ぶベクトルがメッシュの各頂点の法線と直交するという条件から、その頂点を最小2乗法を用いて算出し、最後に、軸方向とメッシュ頂点の法線のなす角度の平均値から頂角を求めるものとすることができる。
【0023】
さらに、上記解析曲面セグメンテーション装置において、前記解析曲面フィッティング手段は、トーラス面については、まず、軸方向と軸上の任意点を求め、次に、これらをもとに中心点をcとおき、さらに、メッシュの各頂点からその法線方向に小半径rだけトーラスの内側方向に離れた点をc’とおき、中心点cと点c’との距離が大半径Rであるといった性質から、中心点c、大半径R、小半径rを最小2乗法により求めるものとすることができる。
【0024】
本発明の別の特徴は、入力された若しくは記憶装置から読出されたメッシュモデルデータを受け付けるステップと、前記メッシュモデルデータからメッシュモデルの各頂点の主曲率を計算し、最大主曲率の値が閾値より大きな頂点をシャープ頂点として除外するメッシュ主曲率算出ステップと、前記シャープ頂点ではない頂点の主曲率をもとに、ある1つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成するシード領域生成ステップと、前記シード領域生成ステップで生成したシード領域内の頂点に基づき、各解析曲面を定義する幾何パラメータを決定し、前記シード領域に解析曲面をフィッティングする解析曲面フィッティングステップと、前記シード領域生成ステップで生成したシード領域に隣接する頂点のうち、前記解析曲面フィッティングステップでフィッティングした解析曲面に対する位置と法線の誤差が閾値よりも小さい頂点を当該シード領域に追加してシード領域を拡大して、拡大したシード領域を表わす解析曲面領域を抽出する解析曲面領域抽出ステップと、前記解析曲面領域抽出ステップで抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識する解析曲面領域認識ステップと、前記解析曲面領域抽出ステップで抽出した解析曲面と前記解析曲面領域認識ステップで認識したフィレット面領域、線形押し出し面領域及び回転面領域との認識結果を出力するデータ出力ステップとを有する解析曲面セグメンテーション方法である。
【0025】
上記解析曲面セグメンテーション方法において、前記メッシュ主曲率算出ステップは、曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの2倍に設定し、各頂点の主曲率を算出し、最大主曲率の値が閾値より大きな頂点をシャープ頂点と分類し、当該シャープ頂点でない頂点に対して、前記曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの5倍に設定し、主曲率を算出するものとすることができる。
【0026】
また、上記解析曲面セグメンテーション方法において、前記シード領域生成ステップは、前記メッシュ主曲率算出ステップで算出した各頂点の主曲率値を比較し、各頂点に対してそれが平面、円筒面、円錐面、球面、その他の面のうちのどれに属するかを識別するラベルを割り当てる頂点ラベリングステップと、前記頂点ラベリングステップで割り当てたラベルに基づき、同じラベルを持つ連結頂点集合をシード領域として抽出するシード領域抽出ステップとを有するものとすることができる。
【0027】
また、上記解析曲面セグメンテーション方法において、前記頂点ラベリングステップは、前記その他の面に属するラベルが割り当てられた頂点に対して、横軸を主曲率、縦軸をその主曲率の値を持つ頂点数としたヒストグラムを作成し、ある主曲率値を持つ頂点数が閾値より大きければ、それらの頂点群にトーラス面のラベルを割り当てるものとすることができる。
【0028】
また、上記解析曲面セグメンテーション方法において、前記解析曲面フィッティングステップは、円筒・円錐面については、まず、シード領域内の頂点の法線のガウス球との交点に平面をフィッティングし、この平面の法線を軸方向として算出し、円筒面については、シード領域内の頂点を、軸方向を法線に持ち原点を通る平面に投影し、投影面上で円弧をフィッティングし、その中心と軸上の任意点を求め、円錐面については、円錐の頂点とメッシュの各頂点とを結ぶベクトルがメッシュの各頂点の法線と直交するという条件から、その頂点を最小2乗法を用いて算出し、最後に、軸方向とメッシュ頂点の法線のなす角度の平均値から頂角を求めるものとすることができる。
【0029】
さらに、上記解析曲面セグメンテーション方法において、前記解析曲面フィッティングステップは、トーラス面については、まず、軸方向と軸上の任意点を求め、次に、これらをもとに中心点をcとおき、さらに、メッシュの各頂点からその法線方向に小半径rだけトーラスの内側方向に離れた点をc’とおき、中心点cと点c’との距離が大半径Rであるといった性質から、中心点c、大半径R、小半径rを最小2乗法により求めるものとすることができる。
【0030】
本発明のさらに別の特徴は、入力された若しくは記憶装置から読出されたメッシュモデルデータを受け付けるステップと、前記メッシュモデルデータからメッシュモデルの各頂点の主曲率を計算し、最大主曲率の値が閾値より大きな頂点をシャープ頂点として除外するメッシュ主曲率算出ステップと、前記シャープ頂点ではない頂点の主曲率をもとに、ある1つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成するシード領域生成ステップと、前記シード領域生成ステップで生成したシード領域内の頂点に基づき、各解析曲面を定義する幾何パラメータを決定し、前記シード領域に解析曲面をフィッティングする解析曲面フィッティングステップと、前記シード領域生成ステップで生成したシード領域に隣接する頂点のうち、前記解析曲面フィッティングステップでフィッティングした解析曲面に対する位置と法線の誤差が閾値よりも小さい頂点を当該シード領域に追加してシード領域を拡大して、拡大したシード領域を表わす解析曲面領域を抽出する解析曲面領域抽出ステップと、前記解析曲面領域抽出ステップで抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識する解析曲面領域認識ステップと、前記解析曲面領域抽出ステップで抽出した解析曲面と前記解析曲面領域認識ステップで認識したフィレット面領域、線形押し出し面領域及び回転面領域との認識結果を出力するデータ出力ステップとをコンピュータに実行させる解析曲面セグメンテーションプログラムである。
【0031】
上記解析曲面セグメンテーションプログラムにおいて、前記メッシュ主曲率算出ステップでは、前記コンピュータに、曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの2倍に設定し、各頂点の主曲率を算出し、最大主曲率の値が閾値より大きな頂点をシャープ頂点と分類し、当該シャープ頂点でない頂点に対して、前記曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの5倍に設定し、主曲率を算出させるものとすることができる。
【0032】
また、上記解析曲面セグメンテーションプログラムにおいて、前記シード領域生成ステップでは、前記コンピュータに、前記メッシュ主曲率算出ステップで算出した各頂点の主曲率値を比較し、各頂点に対してそれが平面、円筒面、円錐面、球面、その他の面のうちのどれに属するかを識別するラベルを割り当てる頂点ラベリングステップと、前記頂点ラベリングステップで割り当てたラベルに基づき、同じラベルを持つ連結頂点集合をシード領域として抽出するシード領域抽出ステップとを実行させるものとすることができる。
【0033】
また、上記解析曲面セグメンテーションプログラムにおいて、前記頂点ラベリングステップでは、前記コンピュータに、前記その他の面に属するラベルが割り当てられた頂点に対して、横軸を主曲率、縦軸をその主曲率の値を持つ頂点数としたヒストグラムを作成し、ある主曲率値を持つ頂点数が閾値より大きければ、それらの頂点群にトーラス面のラベルを割り当てさせるものとすることができる。
【0034】
また、上記解析曲面セグメンテーションプログラムにおいて、前記解析曲面フィッティングステップでは、前記コンピュータに、円筒・円錐面については、まず、シード領域内の頂点の法線のガウス球との交点に平面をフィッティングし、この平面の法線を軸方向として算出し、円筒面については、シード領域内の頂点を、軸方向を法線に持ち原点を通る平面に投影し、投影面上で円弧をフィッティングし、その中心と軸上の任意点を求め、円錐面については、円錐の頂点とメッシュの各頂点とを結ぶベクトルがメッシュの各頂点の法線と直交するという条件から、その頂点を最小2乗法を用いて算出し、最後に、軸方向とメッシュ頂点の法線のなす角度の平均値から頂角を求めさせるものとすることができる。
【0035】
さらに、上記解析曲面セグメンテーションプログラムにおいて、前記解析曲面フィッティングステップでは、前記コンピュータに、トーラス面については、まず、軸方向と軸上の任意点を求め、次に、これらをもとに中心点をcとおき、さらに、メッシュの各頂点からその法線方向に小半径rだけトーラスの内側方向に離れた点をc’とおき、中心点cと点c’との距離が大半径Rであるといった性質から、中心点c、大半径R、小半径rを最小2乗法により求めさせるものとすることができる。
【0036】
本発明のさらに別の特徴は、入力された若しくは記憶装置から読出されたメッシュモデルデータを受け付けるステップと、前記メッシュモデルデータからメッシュモデルの各頂点の主曲率を計算し、最大主曲率の値が閾値より大きな頂点をシャープ頂点として除外するメッシュ主曲率算出ステップと、前記シャープ頂点ではない頂点の主曲率をもとに、ある1つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成するシード領域生成ステップと、前記シード領域生成ステップで生成したシード領域内の頂点に基づき、各解析曲面を定義する幾何パラメータを決定し、前記シード領域に解析曲面をフィッティングする解析曲面フィッティングステップと、前記シード領域生成ステップで生成したシード領域に隣接する頂点のうち、前記解析曲面フィッティングステップでフィッティングした解析曲面に対する位置と法線の誤差が閾値よりも小さい頂点を当該シード領域に追加してシード領域を拡大して、拡大したシード領域を表わす解析曲面領域を抽出する解析曲面領域抽出ステップと、前記解析曲面領域抽出ステップで抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識する解析曲面領域認識ステップと、前記解析曲面領域抽出ステップで抽出した解析曲面と前記解析曲面領域認識ステップで認識したフィレット面領域、線形押し出し面領域及び回転面領域との認識結果を出力するデータ出力ステップとを有する解析曲面セグメンテーションプログラムを記録したコンピュータ読取り可能な記録媒体である。
【0037】
上記記録媒体に記録された解析曲面セグメンテーションプログラムおいて、前記メッシュ主曲率算出ステップでは、曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの2倍に設定し、各頂点の主曲率を算出し、最大主曲率の値が閾値より大きな頂点をシャープ頂点と分類し、当該シャープ頂点でない頂点に対して、前記曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの5倍に設定し、主曲率を算出するものとすることができる。
【0038】
また、上記記録媒体に記録された解析曲面セグメンテーションプログラムおいて、前記シード領域生成ステップでは、前記メッシュ主曲率算出ステップで算出した各頂点の主曲率値を比較し、各頂点に対してそれが平面、円筒面、円錐面、球面、その他の面のうちのどれに属するかを識別するラベルを割り当てる頂点ラベリングステップと、前記頂点ラベリングステップで割り当てたラベルに基づき、同じラベルを持つ連結頂点集合をシード領域として抽出するシード領域抽出ステップとを実行するものとすることができる。
【0039】
また、上記記録媒体に記録された解析曲面セグメンテーションプログラムおいて、前記頂点ラベリングステップでは、前記その他の面に属するラベルが割り当てられた頂点に対して、横軸を主曲率、縦軸をその主曲率の値を持つ頂点数としたヒストグラムを作成し、ある主曲率値を持つ頂点数が閾値より大きければ、それらの頂点群にトーラス面のラベルを割り当てるものとすることができる。
【0040】
また、上記記録媒体に記録された解析曲面セグメンテーションプログラムおいて、前記解析曲面フィッティングステップでは、円筒・円錐面については、まず、シード領域内の頂点の法線のガウス球との交点に平面をフィッティングし、この平面の法線を軸方向として算出し、円筒面については、シード領域内の頂点を、軸方向を法線に持ち原点を通る平面に投影し、投影面上で円弧をフィッティングし、その中心と軸上の任意点を求め、円錐面については、円錐の頂点とメッシュの各頂点とを結ぶベクトルがメッシュの各頂点の法線と直交するという条件から、その頂点を最小2乗法を用いて算出し、最後に、軸方向とメッシュ頂点の法線のなす角度の平均値から頂角を求めるものとすることができる。
【0041】
さらに、上記記録媒体に記録された解析曲面セグメンテーションプログラムおいて、前記解析曲面フィッティングステップでは、トーラス面については、まず、軸方向と軸上の任意点を求め、次に、これらをもとに中心点をcとおき、さらに、メッシュの各頂点からその法線方向に小半径rだけトーラスの内側方向に離れた点をc’とおき、中心点cと点c’との距離が大半径Rであるといった性質から、中心点c、大半径R、小半径rを最小2乗法により求めるものとすることができる。
【発明の効果】
【0042】
本発明の解析曲面セグメンテーション装置、方法、プログラム及び記録媒体では、メッシュモデルデータを入力し、入力したメッシュモデルデータからメッシュモデルの各頂点の主曲率、最大主曲率の値が閾値より大きな頂点をシャープ頂点として除外し、当該シャープ頂点でない頂点に対して、主曲率を算出し、算出した主曲率をもとに、ある1つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成し、生成したシード領域内の頂点に、各解析曲面を定義する幾何パラメータを決定する解析曲面フィッティングを行い、また生成したシード領域に隣接する頂点のうち、解析曲面フィッティングしたフィッティング曲面との位置と法線の誤差が閾値よりも小さい頂点を当該シード領域に追加し、シード領域を拡大することで解析曲面領域を抽出し、こうして抽出した複数の曲面領域の境界線を抽出し、また抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識する。これにより、本発明によれば、機械部品などの測定メッシュモデルデータを入力し、このメッシュモデルからソリッドモデル上の解析曲面(平面、円筒面、円錐面、球面、トーラス面)に相当する領域とそれらの境界線を抽出し、さらにフィレット面領域、線形押し出し面領域、回転面領域を自動認識して出力することができる。
【発明を実施するための最良の形態】
【0043】
以下、本発明の実施の形態を図に基づいて詳説する。
【0044】
図1は、本発明の1つの実施の形態の解析曲面セグメンテーション装置100の機能構成を示している。本実施の形態の解析曲面セグメンテーション装置100は、各処理部をハードウェアとして備えたものとして、あるいはコンピュータシステムにメッシュモデル・ソリッドモデル変換プログラムを組み込み、実行させることによってコンピュータシステムとして構成することもできる。本実施の形態では、後者のものとして説明する。
【0045】
本実施の形態の解析曲面セグメンテーション装置100は、例えばネットワークを通じてのデータ信号の入力/出力、キーボード21、マウス22からの信号の入力、ディスプレイ23に対するビデオ信号の出力、プリンタ等の周辺機器に対するデータ信号の入力/出力等、データ及び信号の入力/出力を制御する入出力制御部1、入出力制御部1を通じて入力されたメッシュモデルデータ、また当該メッシュモデルデータから変換したソリッドモデルデータ、プログラムデータ、その他、諸々のデータを記憶するデータ記憶部2を備えている。このデータ記憶部2は、例えばハードディスク、DVD、CD−ROMディスク等、外部大容量記憶装置あるいは内蔵の大容量記憶装置、フラッシュメモリ、システムメモリ等のデータを恒久的に保存する手段、一時的に保存する手段の両方を総称している。
【0046】
また、解析曲面セグメンテーション装置100は、メッシュモデルからシャープ頂点を考慮したメッシュ主曲率を算出するメッシュ主曲率算出部3、このメッシュ主曲率算出部3にて算出した主曲率をもとに、シード領域を生成するシード領域生成部4、このシード領域生成部4にて生成したシード領域内の頂点に解析曲面をフィッティングし、さらにシード領域に隣接する頂点のうち、フィッティングされた解析曲面と等質の頂点を当該シード領域に追加し、領域を拡大する領域拡大法(Region growing法)により解析曲面領域を抽出する解析曲面領域抽出部5、この解析曲面領域抽出部5にて抽出した領域間の隣接関係を構築するために、各領域間の境界線を特徴稜線として抽出する特徴稜線抽出部6を備えている。
【0047】
さらに、解析曲面セグメンテーション装置100は、解析曲面領域抽出部5にて抽出した複数の連結した解析曲面領域の隣接関係やそれらの組み合わせから、フィレット面領域、線形押し出し面領域、回転面領域を認識する曲面領域種別認識部7、そして、上記各処理部の動作を制御する制御演算処理部9を備えている。
【0048】
次に、上記構成の解析曲面セグメンテーション装置100により実行される、例えば、3次元X線CTスキャナにより取得した三角形メッシュモデルデータで構成される測定メッシュモデルからソリッドモデル上で1つの解析曲面(平面、円筒面、円錐面、球面、トーラス面)に相当する領域とそれらの境界線を特徴稜線として抽出し、さらにフィレット面領域、線形押し出し面領域、回転面領域を自動認識するメッシュモデル・ソリッドモデル変換方法について説明する。
【0049】
このメッシュモデル・ソリッドモデル変換方法は、図2に示す3つのステップから成る。すなわち、メッシュ主曲率算出ステップSTEP1、解析曲面領域抽出ステップSTEP2、そしてフィレット面・線形押し出し面・回転面の抽出ステップSTEP3から成る。
【0050】
メッシュ主曲率算出ステップSTEP1では、メッシュ主曲率算出部3において、シード領域三角メッシュモデルデータを入力し、非特許文献5のラズダンの手法をベースにしたシャープエッジを考慮した手法を用いてメッシュ主曲率を算出する。アルゴリズムは2パスの曲率算出を持つ。第1パスでは、曲率に基づいてメッシュ上のシャープエッジを見つけ出し、第2パスでは、シャープエッジを含まない領域のために再計算してメッシュ曲率を算出する。この手法により、メッシュに含まれる測定ノイズの影響を受けにくく、また、本来算出精度が低くなりやすいシャープエッジ付近の頂点のメッシュ主曲率をも高精度に算出できる。後のA節においてさらに詳説する。
【0051】
曲面領域抽出ステップSTEP2では、シード領域生成部4と解析曲面領域抽出部5において、STEP1で算出した主曲率をもとに、ビエイラその他の非特許文献3による領域拡大アルゴリズムを拡張したアルゴリズムを用いて、解析曲面でフィッティング可能な領域を抽出する。最初に、STEP1で得たメッシュ主曲率を用いて解析曲面抽出のための大きなシード領域群を作り出す。続いて、各シード領域に解析曲面をフィッティングし、幾何的に類似した性質のシード領域に位相的に接続されている頂点群をリード領域に加える。このフィッティングと追加の処理においては、フィッティング曲面の再計算は必要とされない。結果として、解析曲面によって近似された領域が抽出される。この拡張された領域拡大法は、曲面境界を高精度に抽出できる。後のB節、C節においてさらに詳説する。
【0052】
フィレット面・線形押し出し面・回転面の抽出ステップSTEP3では、曲面領域種別認識部7において、STEP2で抽出した解析曲面領域の隣接関係やそれらの組み合わせから、非特許文献4,13,14に記載されている既存の手法と比べより幅広いクラスの曲面であるフィレット面、線形押し出し面、回転面を抽出する。後のD節においてさらに詳説する。
【0053】
ここでは、説明の単純化のため図4Aに示すように80000個の三角形のメッシュモデルを例にして、平面群、円筒面群、球面群、円錐面群、トーラス面群から成る三角形メッシュモデルを取り扱う。このモデルは、ソリッドモデルのFEMメッシュ切りによって生成されている。シャープエッジ群と頂点群はソリッドモデル上に小半径のフィレット面を生成することで丸くできる。そこで、このモデル上に人工的なノイズをガウス分布する乱数値を用いて、頂点位置を法線方向に移動させて乗せる。このモデルは4つの平面、5つの円筒面、1つの球面、1つの円錐面、1つのトーラス面、2つのフィレット面、1つの線形押し出し面、そして1つの回転面を持っている。
【0054】
A:シャープエッジを考慮したメッシュ主曲率算出処理。
【0055】
ラズダンの方法を拡張した方法に基づきメッシュ上のシャープエッジ群を認識する主曲率算出方法と、曲率の正確さを保証する2パス算出法を採用する。
【0056】
A1)非特許文献5によるラズダンのメッシュ曲率算出。
【0057】
ノイズの多いメッシュモデル上のメッシュ曲率を算出するために、ラズダンは最初に、(u,v)のメッシュ頂点とその2リング内に存在する頂点群に対して(1)式で表わされる双2次ベジェ曲面をフィッティングし、フィッティングされた曲面から頂点におけるメッシュ曲率を算出する。
【数1】
【0058】
ここで、bijは双2次ベジェ曲面の制御点、x(u,v)はその曲面上の点、Bi2(u),Bj2(v)は2次バーンスタイン関数である。
【0059】
データ中のスキャニングノイズに起因するフィットされた曲面の望ましくない歪みを避けるために、平滑化のための制約(smoothing constraint)がかけられる。これは、9個の制御点によって規定される4つの四辺形それぞれが可能な限り平行四辺形に近くなるようにするものである。ラズダンの方法では、この制約を最小2乗フィッティング問題に追加し、平滑化変数αを0〜1の間で特定することで平滑化効果を調整していた。
【0060】
A2)提案されているメッシュ曲率算出と頂点法線ベクトルの計算方法。
【0061】
上で述べたラズダンの方法は改良された。その改良された方法では、各頂点と(2)式を満たす隣接頂点群の組に対して双2次ベジェ曲面フィッティングを行い、フィッティングされた曲面からvjに対して主曲率ki,max,ki,minを算出する。
【数2】
【0062】
ここで、li,avgは頂点viを含む平均エッジ長さであり、Wは曲面フィットのサイズを特定する変数である。
【0063】
非特許文献5では、平滑化パラメータαはα=0.7にするとノイズの多いメッシュモデルに対して良い結果が得られるとしている。しかし、実験結果としては、α=0.9とした方が特にシャープエッジの周りでより良い結果が得られる。これは、ベジェ曲面にフィッティングするための提案された方法による方が、ラズダンの方法によるよりもたくさんの数の近傍頂点群が使用されるので、ベジェ曲面自体の局所最小2乗フィッティングの方がより平滑化効果を示す。それ故、本実施の形態では、α=0.9をすべてのメッシュモデルに対して用いている。
【0064】
viの頂点法線ベクトルは、次の(3)式にて計算される。
【数3】
【0065】
ここで、F*(t)は頂点viに含まれている三角形の組、afは1つの三角形fの面積である。この法線ベクトルは、後述するC2節で述べる領域拡大ステップでも用いられる。
【0066】
ノイズの多いスキャンメッシュ上で主曲率を算出するために、パラメータWは大きい方がよい。しかしながら、これを大きくすると、シャープエッジ付近での曲率算出がお粗末になる。この問題を解決するために、2パス曲率算出法が好ましい。第1パスでは、メッシュの表面上で比較的大きな曲面をフィッティングすることで主曲率を算定する。そのために、パラメータW=2とする。頂点viの最大曲率ki,maxが(4)式を満たすなら、その頂点はシャープ頂点であると分類する。
【数4】
【0067】
ビエラその他の非特許文献3で述べられているように、thse=10.0に設定すると、測定メッシュモデルに対して良い結果が得られる。
【0068】
第2パスでは、非シャープ頂点群に対してパラメータW=5にして主曲率群を再計算する。このステップでは、図3に示すようにベジェ曲面フィッティングにはシャープ頂点群は含まれていない。この結果、図4A〜図4Dに示すように、シャープエッジの近くに存在する頂点の主曲率について精度が良くなる。
【0069】
本実施の形態の方法では、後のC1節の解析曲面フィッティングで利用するためにフィッティングしたベジェ曲面からメッシュの各頂点viの法線ベクトルni’も算出する。この法線ベクトルは、(3)式にて隣接三角形を利用して求めた法線ベクトルniよりも近似精度が高い。
【0070】
A3)メッシュ主曲率算出法の比較。
【0071】
本実施の形態のメッシュ主曲率算出法とラズダンその他による算出法とによるメッシュ主曲率算出結果を比較した。比較には以下の3つの方法を用いた。実験結果は図5に示してある。
【0072】
i)ラズダンその他による方法(α=0.7)
ii)本実施の形態の方法(シャープ頂点の認識なし:W=5,α=0.9)
iii)本実施の形態の方法(シャープ頂点の認識あり:W=2,α=0.9;W=5,α=0.9)
比較には、図5のモデルに、平均メッシュ稜線長に5%の標準偏差のガウス乱数を用いて人為的にノイズを加えたモデルを用いた。図5(A)では、理論的には一定であるべき円筒面上でも曲率が変化している。これは、(i)の方法では、ノイズの多いメッシュモデルに対して精度の高い主曲率を算出することができないことを示している。図5(B)では、円筒面上で主曲率がほとんど一定であるように見える。しかし、円筒面と平面とが交わるシャープエッジの近くでは大きく変化している。このことは、(ii)の方法はシャープエッジの近くで算出される主曲率が誤算されることを示している。図5(C)では、円筒面上で、さらにはシャープエッジの近くでも主曲率がほとんど一定である。このことは、シャープエッジを含むノイズの多いメッシュモデルに対しても主曲率を精度良く計算できることを示している。
【0073】
A4)主曲率のフィルタリング。
【0074】
本実施の形態のメッシュ曲率算出法では、既存の算出法に比べて測定ノイズを多く含むメッシュモデルから高精度に主曲率を算出することができるが、測定誤差に起因する主曲率の算出誤差を避けられない。そこで、このような主曲率算出誤差を緩和するために、非特許文献3でビエラその他が提案しているフィルタリング法にて算出された主曲率を平滑化する。
【0075】
まず、(5)式に示す中央値フィルタリングを非シャープ頂点に適用して、非正規主曲率と同様に非正規の主曲率に対する頂点のために非シャープ頂点を算出する。下記のようなシャープ頂点を含まないある頂点viの1リング近接領域N*(i)に対して適用する。
【数5】
【0076】
次に、(6)式で平均フィルタリングを、主曲率を平滑化するための非シャープの頂点に対して3回適用される。これはシャープ頂点を含まない、1リング近接領域のN*(i)に対して適用する。
【数6】
【0077】
B:シード領域生成。
【0078】
次に、算出された主曲率群を分類することでメッシュの表面上にシード領域を生成する。ここでは、シード領域とは、ある解析曲面上に存在すると見なせる位相接続された頂点群の組を意味する。
【0079】
B1)頂点群に対する初期ラベル割り当て。
【0080】
図6に示すように、このシード領域生成はステップSTA1〜STA4から成る。
【0081】
[STA1:平面、円筒・円錐面、球面のラベルの割り当て処理]
算出した各頂点の主曲率を比較し、その頂点viがトーラスを除く解析曲面のうちのどれに属するかを推定するラベルを割り当てる。本実施の形態では、平面:ラベル1、円筒・円錐面:ラベル2、球面:ラベル3、その他の面:ラベル0を割り当てる。ここでは、(7)式に示すように、3つのパラメータを用いる。これらは、ε1=ε2=ε3=0.01に設定するとほとんどのメッシュモデルで良い結果が得られるが、複雑な形状のモデルに対しては、その形状やメッシュの解像度に応じて適切に設定する。
【数7】
【0082】
[STA2:円筒面と円錐面との分類及び滑らかに接続する円筒面の分類処理]
上のステップSTA1の処理だけでは、円筒面と円錐面上の頂点には同じラベル2が割り当てられる。また複数の円筒面が滑らかに接続している場合、本来それぞれの円筒面に対して1つずつシード領域を生成したいはずが、曲面境界付近の頂点も同じラベル2を持ち、それらの複数の円筒面に対して1つのシード領域が生成されてしまう。
【0083】
そこで、(8)式で表わされる各頂点viとn個の2近傍頂点N**(i)との最大主曲率kmaxの類似度f(vi)を算出する。
【数8】
【0084】
このf(vi)値が閾値thcyl_coneより大きな頂点には円錐ラベル4、小さな頂点には円筒ラベル2を割り当てる。この閾値thcyl_coneは0.05−0.3に設定すると良い結果が得られることが実験により分かっている。このf(vi)は円筒や円錐の大きさに依存せず、0.0−1.0の値を持つので、より直感的なパラメータ設定が可能である。この処理により、円筒面と円錐面をそれぞれに分類することができ、また滑らかに接続する複数の円筒面に対して1つずつシード領域を生成することができる。尚、この処理の際に円筒面の境界付近の頂点では不適切に円錐ラベル4を持つ頂点が生成されやすいが、これらの頂点からできるシード領域は、後の解析曲面領域抽出の際に隣接するいずれかの領域に統合され、結果として円錐領域は抽出されない。
【0085】
[STA3:トーラス面のラベルの割り当て処理]
これまでのステップSTA1,2でトーラス面を除く4種類の曲面に対しては頂点ラベルを割り当てた。形状を構成する曲面がすべて解析曲面で構成されていると仮定すると、残りの大部分はトーラス面であると考えられる。そこで、ラベル0を持つ頂点最大・最小主曲率を比較して、トーラス面上にあると推定される頂点群を分類する。
【0086】
トーラス面は、ある半径を持つ球を、ある軸周りに回転させた軌跡となる曲面である。そのため1つの主曲率が、球の半径に対応する一定の主曲率を持つ。この性質を利用して、図7に示す、横軸を主曲率、縦軸をその主曲率の値を持つ頂点数としたヒストグラムを作成し、ある一定範囲の主曲率値を持つ頂点数が閾値thtorusより大きければ、それらの頂点群にトーラスラベル5を割り当てる。ここでは、横軸の間隔は0.01に設定し、閾値thtorusはメッシュの頂点数の0.1−0.5%に設定すると良い結果が得られる。
【0087】
[STA4:シード領域の生成]
最後に、ステップSTA1〜STA3の処理で割り当てた各頂点のラベルを参照し、同じラベルを持つある閾値以上の頂点数から成る連結頂点集合をシード領域として抽出する。
【表1】
【0088】
この閾値thseedは、表1に示すように、次に述べる最小2乗法を用いた解析曲面フィッティングを行うために、シード領域の曲面種類に応じて必要最小限の値に設定する。このシード領域生成結果を図8に示してある。図8において、Rplは平面のシード、Rcylは円筒面のシード、Rcrnは円錐面のシード、Rsphは球面のシード、Rtrsはトーラス面を示している。
【0089】
C:解析曲面領域抽出処理。
【0090】
次に、解析曲面領域の抽出処理について説明する。この解析曲面領域の抽出処理は、図9のフローチャートに示すように、シード領域への解析曲面フィッティングのステップSTB1と、シード領域への領域拡大法による近傍頂点追加処理のステップSTB2と、領域の境界線抽出のステップの3ステップで成る。
【0091】
[STB1:シード領域への解析曲面フィッティング]
生成したシード領域内の頂点に解析曲面をフィッティングする。ここでいう曲面フィッティングとは、図10〜図14に示す各曲面を定義する幾何パラメータを決定することである。
【0092】
物理モデルの測定データへの解析曲面フィッティングに関する技術は、リバースエンジニアリングの分野で非特許文献16〜18のように盛んに行われている。マーシャルその他(Marshall et al.)による非特許文献18は、より高精度にフィッティングするために、球面、円筒面、円錐面、トーラス面に対して非線形最小2乗法を用いた方法を提案している。この方法では、高精度なフィッティングが可能であるが、非線形最小2乗法を解くための反復時間がかかる問題点がある。
【0093】
本実施の形態の方法では、これらの曲面に対してメッシュから近似した頂点の法線ベクトルn’iを利用し、簡単な線形最小2乗法を解くことで曲面フィッティングを行う。本実施の形態の方法によれば、マーシャルその他の方法よりも精度では劣るものの高速処理が可能であり、解析曲面領域抽出には十分な結果が得られる。
【0094】
[平面のフィッティング]
図10に示すように、平面Rplは、その単位法線ベクトルn=(nx,ny,nz)と原点からの距離dで定義される。本実施の形態の方法では、シード領域内のn個の頂点viの法線ベクトルn’iの平均値を算出し、これを正規化したものを単位法線ベクトルnとして算出する。原点oからの距離dは(9)式を用いて算出する。
【数9】
【0095】
[円筒面のフィッティング]
図11に示すように、円筒面Rcylは、単位軸方向ベクトルd=(dx,dy,dz)、半径r、軸上の任意点p=(px,py,pz)で定義される。円筒フィッティングは、4つのステップから成る。
【0096】
図15に示すように、まず、シード領域内の頂点の法線ベクトルn’iを、原点を中心に持ち、半径1のガウス球にマッピングする。次に、法線ベクトルn’iとガウス球との交点に、(10)式で表わされる平面を最小2乗法を用いてフィッティングし、この平面の法線ベクトルnを円筒面の軸方向ベクトルdとして算出する。
【数10】
【0097】
そして図16に示すように、シード領域内の頂点を軸方向ベクトルdを法線ベクトルに持ち原点を通る平面に投影し、投影面上での各頂点のパラメータ(si,ti)を求める。最後に図17に示すように、各頂点のパラメータ(si,ti)に対して、投影面上で(11)式で表わされる円弧を最小2乗法を用いてフィッティングし、半径rと円弧の中心点のパラメータ(sc,tc)を求める。また、パラメータ(sc,tc)から3次元での軸上の任意点pを求める。
【数11】
【0098】
[球面のフィッティング]
図12に示すように、球面Rsphは、中心点c=(cx,cy,cz)と半径rで定義される。そこで、(12)式を最小2乗法を用いて解き、係数(A,B,C,D)から中心点cと半径rを算出する。
【数12】
【0099】
[円錐面のフィッティング]
図13に示すように、円錐面Rcrnについては、単位軸方向ベクトルd=(dx,dy,dz)、頂点a=(ax,ay,az)、頂角θで定義される。この円錐面のフィッティングは3つのステップから成る。最初には、軸方向ベクトルdを円筒と同様の、頂点法線のガウス球マッピングに基づいた方法で求める。次に、円錐の頂点aとメッシュの各頂点viとを結ぶベクトルがメッシュの各頂点の法線n’iと直交するという条件から、頂点aを(13)式を最小2乗法を用いて解くことで算出する。
【数13】
【0100】
ただし、(xi,yi,zi)はn個のシード頂点viの座標値である。
【0101】
次に、単位軸方向ベクトルdとメッシュ頂点の法線n’iのなす角度の平均値から(14)式を用いて頂角θを求める。
【数14】
【0102】
[トーラス面のフィッティング]
図14に示すように、トーラス面Rtrsについては、半径rの球をある軸周りに回転させた軌跡となる曲面である。このトーラス面は、単位軸方向ベクトルd=(dx,dy,dz)、中心点c=(cx,cy,cz)、小半径r、大半径Rで定義される。
【0103】
このトーラス面のフィッティングは、次の2つのステップから成る。まず非特許文献16に記載されているコスその他(Kos et al.)の手法と同じ方法を用いてこれらのパラメータを求める。コスその他の方法によれば、最初に、固有値解析により軸方向と軸上の任意の点を求め、次に、それらを出発値として繰返し計算によって正確な解を得る。トーラス面のフィッティングのために、コスその他の方法により、最初に軸方向ベクトルdと軸上の任意の点pを計算する。続いて、c,r,Rをこれらの軸方向ベクトルdと軸上の任意の点pを用いて計算する。
【0104】
1)軸方向ベクトルと軸上の任意点算出。
【0105】
まず、単位ベクトルdと位置ベクトルpに直交するベクトルをp0=d*pと定義する。次に、dと各頂点の法線ベクトルn’iとのなす角度をφi、法線vi+tn’iと単位軸ベクトルdのなす角度をδiとする。
【0106】
コスその他の方法では、dとpを計算するために、
【数15】
【0107】
を最小にする。ただし、(15)式
【数16】
【0108】
は、p0とdの線形関数である。
【数17】
【0109】
は、|d|=1、p0*d=0の制約のもとで、p0とdに関して簡単な二次形式に書ける。ここで、p0*d=0の制約を加えないようにすることで、この評価関数の最小化問題を固有値問題に変え、pとdがその結果として得られる。
【0110】
2)平面投影を用いた中心点c、大半径R、小半径rの算出。
【0111】
次に、シード領域内のすべての頂点について、算出された軸の周りに回転させることで算出された軸を含む平面上に投影し、続いて、1つの円を最小2乗法により平面上の点群にフィットする。半径rはその円の1つとして計算される。中心点cは、トーラスの中心cから円の中心に向かうベクトルがトーラス面の軸に直交するという条件によって計算する。大半径Rについては、トーラス面の中心と円の中心との距離であるとして計算する。
【0112】
[STB2:シード領域への近傍頂点追加による解析曲面領域の抽出]
以上で、各シード領域に対してその曲面種類の解析曲面をフィッティングし、それら決定する幾何パラメータを算出した。ここでは、これらを利用して解析曲面領域を抽出する。
【0113】
シード領域を適切に近似する曲面は、シード領域の近傍の頂点も含めた領域を適切に近似するはずである。そこで、シード領域に隣接する頂点のうち、(16)式を満たすフィッティングした解析曲面との位置の誤差ei,pos、法線方向の誤差ei,normが(17)式を満たす頂点viを領域に追加し領域拡大する。
【数18】
【0114】
ここで、lavgはメッシュの全稜線の平均長である。閾値は、thpos=0.5、thnorm=8.0のように設定することで良い結果が得られる。
【0115】
このシード領域への近傍頂点の追加は、シード領域内の頂点数が大きな領域から順に行う。これは、頂点数の大きい方が曲面のフィッティング精度も高いため、領域の抽出精度も高く、より大きな領域が抽出されやすいからである。シード領域に追加された近傍頂点には、シード領域の頂点と同じ領域ラベルを割り当てる。この頂点追加は、領域に隣接するすべての頂点の誤差が閾値より大きくなれば終了する。領域は特定の解析曲面によって近似される位相的に連続した頂点群の組として抽出される。
【0116】
図18A〜図18Dは領域拡大の過程を示している。図18Aは初期シード領域を示し、図18Bはシード領域1が拡大し、2つの円錐面のシード頂点が平面領域に追加され、2つのシード頂点が残された状態を示している。図18Cは、閾値よりも小さい数の頂点数の円錐面のシード領域が削除された状態を示し、図18Dは、2つの解析曲面が抽出された状態を示している。
【0117】
これら図18A〜図18Dに示したように、1つのシード領域からスタートした領域拡大は、当初は他のシード領域に属していた頂点を取り込む。この場合、隣接する頂点は当初のシード領域から削除される。この場合、追加されずに残ったシード領域内の頂点数が閾値thseedよりも大きければシード領域として保存し、小さければ除去する。図19には、以上の解析曲面領域の抽出の結果が示してある。
【0118】
[STB3:領域の境界線抽出]
抽出した領域間の隣接関係を構築するため、各領域間の境界線を抽出する。これまでの処理では、特にシャープエッジ付近において、いずれの領域にも属していない頂点が存在しやすい。そこで、これらの頂点をいずれかの領域に統合するため、まず、先のステップで設定した頂点追加の閾値(thpos ,thnorm)を、(1.0,16.0)、(1.5,24.0)、(2.0,32.0)、…のように段階的に大きくし、段階毎に領域拡大を行い、すべての頂点をいずれかの領域に統合する。
【0119】
領域の境界線を抽出するには、頂点単位ではなく、三角形単位での領域分けが必要なる。そのため、まず、3つの頂点領域ラベルが一致する三角形にはその頂点領域ラベルを割り当てる。3つのラベルが一致しない三角形は、その各頂点が属する領域と三角形の法線方向の誤差を比較し、その誤差が最も小さい領域の頂点領域ラベルを割り当てる。最後に、各稜線に隣接する2つの三角形が異なる領域ラベルを持てば、その稜線を領域境界線として抽出する。領域境界線を抽出した結果を図20A、図20Bに示す。図20Aは解析曲面領域を抽出した状態、図20Bはそれから領域境界線を抽出した状態を示している。
【0120】
D:フィレット面、線形押し出し面領域、回転面領域の認識。
【0121】
ソリッドモデル生成へのより効率的な利用のため、機械部品に多く含まれているフィレット面、線形押し出し面、回転面に相当する領域を抽出する。本実施の形態の方法では、上で述べた平面、円筒面、円錐面、トーラス面の抽出手法と同様に、抽出した複数の連結した解析曲面領域の隣接関係やそれらの組み合わせから、フィレット面領域、線形押し出し面領域、回転面領域を認識する。
【0122】
D1)フィレット面領域の認識。
【0123】
フィレット面とは、製品製造の際に製品の局所部分に過度な荷重が加わるのを避けるため、シャープエッジやコーナーを丸めて生成される曲面である。フィレット面は、他の曲面とは性質の異なる従属面であるため、ソリッドモデル生成のためには、メッシュ上で認識しておくことが望ましい。
【0124】
形状を構成する曲面がすべて解析曲面で構成されると仮定すると、フィレット面もまた解析曲面となり、それらはメンクその他(Menq et al.)の非特許文献16による3種類―円筒面、球面、そしてトーラス面―に分類される。これらのフィレット面は、隣接する曲面とそれらの曲面の幾何パラメータから図21、そして図22〜図25に示すように定義する。
【0125】
抽出されたトーラス面領域、球面領域、円筒面領域の内、隣接する曲面との間の領域で幾何条件により、2曲面間にある図22に示すトーラス型フィレット面領域FLT1、2曲面間にある図23に示すトーラス型フィレット面領域FLT2、2曲面間にある図24に示す円筒型フィレット面領域FLT3、そして3曲面間にある図25に示す球・トーラス型フィレット面領域FLT4,FLT4‘が認識される。
【0126】
図22のトーラス型タイプIのフィレット面FLT1は、隣接条件として球面と平面とが隣接すること、幾何条件として(1)平面の法線ベクトルnpとトーラスの軸ベクトルdtとが平行であり、かつ、(2)球の中心psがトーラスの軸上に存在することである。
【0127】
また図23のトーラス型タイプIIのフィレット面FLT2は、隣接条件として円筒面と平面とが隣接すること、幾何条件として平面の法線ベクトルnp、トーラスの軸ベクトルdt、円筒面の軸ベクトルdcが平行であることである。すなわち、
【数19】
【0128】
である。
【0129】
また、図24の2曲面間にある円筒型フィレット面FLT3は、隣接条件として2つの平面が隣接すること、幾何条件として(1)円筒面の軸ベクトルdcと平面の法線ベクトルnp1,np2が互いに直交し、かつ、(2)円筒面の開き角θが0°<θ<180°を満たすことである。
【0130】
すなわち、
【数20】
【0131】
である。
【0132】
さらに、図25の3曲面間にある円筒型フィレット面FLT4(凸型)、FLT4’(凹型)は、隣接条件として3つの円筒型フィレット面が隣接すること、幾何条件として(1)球型の場合にはすべての円筒面がすべて凸面若しくは凹面であり、かつ、(2)トーラス型の場合には凹面と凸面が混在することである。
【0133】
上記定義以外にも多種の組み合わせがあるが、本実施の形態の方法ではこれら3タイプしか認識しない。これらのフィレット面は製品部品にしばしば見られるものであるためである。他の形状のフィレット面についても容易に定義することはできる。図26A、図26B、また図27A〜図27Cは本実施の形態によるフィレット面の認識例を示している。尚、図27Aはメッシュモデルを示し、図27Bは解析曲面の認識結果を示し、
図27Cは解析曲面間のフィレット面の認識結果を示している。
【0134】
D2)線形押し出し面領域の認識。
【0135】
線形押し出し面領域は、図28に示すように、平面上で定義される2次元曲線C1をその法線n方向に押し出すことによって生成される曲面A1であり、複数の平面領域と円筒面領域の組み合わせで構成される。これらの領域が満たすべき条件は、1)平面の法線と円筒の軸とが垂直であり、2)3つ以上の平面の法線が同一平面上にあり、3)2つ以上の円筒の軸方向が一致していることである。
【0136】
これらの条件を満たす組み合わせを、線形押し出し面領域として抽出する。図30には線形押し出し面領域の認識結果A1が後述する回転面領域の認識結果A2と共に示してある。
【0137】
D3)回転面領域の認識。
【0138】
回転面領域は、図29に示すように、平面上で定義される2次元閉曲線C2をある軸周りに回転させた軌跡となる曲面A2である。回転面は、複数の平面、円筒面、球面、円錐面、トーラス面の組み合わせで構成される。これらが満たすべき条件は、1)それぞれの法線や軸方向が一致しており、2)球とトーラスの中心点、円錐の頂点がある直線上に分布していることである。これらの条件を満たす組み合わせを、回転面領域として抽出する。図30には回転面領域の認識結果A2も示してある。
【実施例】
【0139】
図31(a)、(b)は、これまで本発明で採用するアルゴリズムの説明に用いたメッシュモデルとそれに対する領域抽出結果を対比して示してある。図31(a)の入力メッシュモデルと図31(b)の領域抽出結果とを比較すれば、ノイズの多いメッシュモデルに対して本発明の方法は十分に良く作用し、適切な領域群の抽出ができるが確認できる。このモデルには4つの平面、4つの円筒面、1つの球面、1つの円錐面、1つのトーラス面が含まれるが、本発明の方法を適用することで、これらのすべての曲面が抽出できている。これらの各シード領域に対してフィッティングした解析曲面の幾何パラメータを、ソリッド上で定義したパラメータと比較した結果を表2に示してある。メッシュモデルの平均エッジ長は1.8mmであった。この実施例により、比較的大きなシード領域に対しては高精度に曲面フィッティングできていることが分かり、領域抽出が適切に行われていることが保証できる。
【表2】
【0140】
図32A〜図32Fにはメッシュモデルに本発明の方法を適用した実験結果を示している。この実施例では、図32Aに示した3D−CADで作ったメッシュモデルをFEMメッシャにてメッシュ分割した図32Bに示す三角形数約30,000のメッシュモデルを用いた。このメッシュモデルには、メッシュの平均稜線長さの3%の値を標準偏差に持つガウス乱数を用いて人為的にノイズを加えている。このモデルには、51個の平面と40個の円筒面が含まれている。これに対して本発明の方法を適用することで、49個の平面と23個の円筒面が適切に抽出できた。つまり、本発明の方法によれば、比較的に大きな領域は抽出できたが、2つの薄い平面と12の小径の穴形円筒面が抽出できなかった。円筒面のほとんどは、微小フィレットや径の小さな穴に相当する曲面であった。抽出できた平面や円筒面の内、そのシード領域内の頂点数が100個以上の曲面では、その法線ベクトルや軸方向ベクトルの算出誤差はいずれも1[deg]未満であった。最大フィッティング誤差は、27頂点を持つ平面シード領域の法線方向に対して8.8[deg]であり、85頂点を持つ円筒面シード領域の軸方向に対して3.0[deg]であった。100個以下の曲面では、平面では最大で6.5[deg]、円筒面では最大で11.5[deg]の誤差が見られた。演算時間は、CPU:Xeon(正面名)2.4GHz、メモリ:2GBの性能のコンピュータにて実施したところ、2パス曲率算出に92秒、解析曲面抽出に15秒かかった。
【0141】
図33A、図33Bは、自動車エンジン部品のX線CTスキャニングにより生成したメッシュモデルとそれに対する解析曲面領域抽出結果を示している。この実験結果から、本発明の方法は比較的大きな面積の平面や円筒面について効果的に抽出できることが確認できた。特に、機能的に重要な円筒面領域(軸受にフィッティングされている)をすべて抽出できた。このメッシュモデルは、約1,000,000の三角メッシュを持つものであるが、上記性能のコンピュータにより7分かからずに領域抽出処理が完了した。
【0142】
以上により、本発明の領域セグメンテーション法はメッシュモデルから解析曲面領域を自動的に抽出できる。本発明の方法は、シャープエッジ認識による精確な曲率算出と、平面、円筒面、球面、円錐面、トーラス面により近似可能な領域を抽出する領域拡大法に基づいている。このセグメンテーション法はまた、近傍関係を分類すること、あるいは、抽出された解析曲面を組み合わせることによって、より高レベルな曲面、フィレット面、線形押し出し面、回転面の抽出が可能である。
【0143】
上記の実施例、また種々のメッシュモデルに対する実験から、本発明の方法によれば、メッシュモデルから解析曲面、フィレット面、線形押し出し面、回転面精確で実用的な幾何モデルを生成できることが確認できた。
【0144】
本発明は、メッシュ生成、CAEの前処理におけるFEMメッシュに対するメッシュ変形、また、リバースエンジニアリングのためのソリッドモデル自動生成に適用できるものである。
【図面の簡単な説明】
【0145】
【図1】本発明の1つの実施の形態の解析曲面セグメンテーション装置の機能的構成を示すブロック図。
【図2】上記実施の形態の解析曲面セグメンテーション装置によるメッシュモデル・ソリッドモデル変換処理のフローチャート。
【図3】上記実施の形態によるシャープエッジ認識と主曲率算出結果を示す説明図。
【図4A】上記実施の形態による主曲率演算を適用する対象としての入力メッシュモデルの説明図。
【図4B】上記実施の形態による図4Aのメッシュモデルに対して抽出したシャープ頂点群の説明図。
【図4C】上記実施の形態による図4Aのメッシュモデルに対する最大主曲率算出結果の説明図。
【図4D】上記実施の形態による図4Aのメッシュモデルに対する最小主曲率算出結果の説明図。
【図5】上記実施の形態による3種類の主曲率算出法による演算結果を比較した説明図。
【図6】上記実施の形態によるシード領域の生成処理のフローチャート。
【図7】上記実施の形態によるトーラス面に対する主曲率のヒストグラム。
【図8】上記実施の形態によるシード領域生成結果の説明図。
【図9】上記実施の形態による領域拡大法によるシード領域拡大処理のフローチャート。
【図10】上記実施の形態による解析曲面領域のうちの平面領域を抽出するためのパラメータの説明図。
【図11】上記実施の形態による解析曲面領域のうちの円筒面領域を抽出するためのパラメータの説明図。
【図12】上記実施の形態による解析曲面領域のうちの球面領域を抽出するためのパラメータの説明図。
【図13】上記実施の形態による解析曲面領域のうちの円錐面領域を抽出するためのパラメータの説明図。
【図14】上記実施の形態による解析曲面領域のうちのトーラス面領域を抽出するためのパラメータの説明図。
【図15】上記実施の形態による解析曲面領域のうちの円筒面領域の抽出処理の説明図。
【図16】上記実施の形態による解析曲面領域のうちの円筒面領域を抽出するためのパラメータを求める処理の説明図その1。
【図17】上記実施の形態による解析曲面領域のうちの円筒面領域を抽出するためのパラメータを求める処理の説明図その2。
【図18A】上記実施の形態による領域拡大処理における初期のシード領域を示す説明図。
【図18B】上記実施の形態による領域拡大処理において、平面のシード領域に対してそれに隣接する円錐面のシード領域から2頂点を取り込む領域拡大を行った結果を示す説明図。
【図18C】上記実施の形態による領域拡大処理において、平面のシード領域に隣接する円錐面のシード領域から2頂点を削除した状態を示す説明図。
【図18D】上記実施の形態による領域拡大処理において、平面のシード領域とそれに隣接する円筒面のシード領域とを抽出した状態を示す説明図。
【図19】上記実施の形態において、領域拡大処理にて抽出した解析曲面群を示す説明図。
【図20A】上記実施の形態による領域境界線抽出処理の対象モデルを示す説明図。
【図20B】上記実施の形態による領域境界線の抽出結果を示す説明図。
【図21】上記実施の形態によるフィレット面の定義を示す図表。
【図22】上記実施の形態による平面と球面との間のトーラス型フィレット面FLT1を示す説明図。
【図23】上記実施の形態による平面と円筒面との間のトーラス型フィレット面FLT2を示す説明図。
【図24】上記実施の形態による2曲面間にある円筒型フィレット面FLT3を示す説明図。
【図25】上記実施の形態による3曲面間にある球型、トーラス型フィレット面FLT4,FLT4’を示す説明図。
【図26A】上記実施の形態によるフィレット面の認識結果を示す説明図(1)。
【図26B】上記実施の形態によるフィレット面の認識結果を示す説明図(2)。
【図27A】上記実施の形態によるフィレット面の認識の対象とした入力メッシュモデルの説明図。
【図27B】図27Aのメッシュモデルに対する解析曲面群の認識結果を示す説明図。
【図27C】図27Aのメッシュモデルに対するフィレット面の認識結果を示す説明図。
【図28】上記実施の形態による線形押し出し面領域の抽出処理の説明図。
【図29】上記実施の形態による回転面領域の抽出処理の説明図。
【図30】上記実施の形態により抽出された線形押し出し面領域と回転面領域を示す説明図。
【図31】本発明の1つの実施例による入力メッシュモデルと最終セグメンテーション結果を示す説明図。
【図32A】本発明の別の実施例による認識対象とするソリッドモデルの説明図。
【図32B】上記別の実施例による認識対象とするメッシュモデルの説明図。
【図32C】上記別の実施例によるシード領域の抽出結果の説明図。
【図32D】上記別の実施例による解析領域の抽出結果の説明図。
【図32E】上記別の実施例による境界線の抽出結果の説明図。
【図32F】上記別の実施例による線形押し出し面領域の抽出結果の説明図。
【図33A】本発明のさらに別の実施例による認識対象とするメッシュモデルの説明図。
【図33B】上記さらに別の実施例による解析曲面の抽出結果の説明図。
【符号の説明】
【0146】
1 入出力制御部
2 データ記憶部
3 メッシュ主曲率算出部
4 シード領域生成部
5 解析曲面領域抽出部
6 境界線抽出部
7 領域種別認識部
8 ソリッドモデルデータ生成部
9 制御演算処理部
21 キーボード
22 マウス
23 ディスプレイ
100 解析曲面セグメンテーション装置
【技術分野】
【0001】
本発明は、メッシュモデルデータから解析曲面フィッティングに基づき解析曲面のセグメンテーションを行う解析曲面セグメンテーション装置、方法、プログラム及び記録媒体に関する。
【背景技術】
【0002】
近年、工業用高エネルギーX線CTスキャナにより機械部品をスキャンすることでその機械部品の3次元(3D)のメッシュモデルを自動的に取得できるようになってきており、工業製品開発に多く用いられるようになってきている。この高エネルギーX線CTスキャナは、複雑な形状の工業製品の内部構造の3次元画像データを迅速に、非破壊で取得するのに利用される。
【0003】
今日、得られた3次元スキャン画像データは容易に3次元メッシュモデルデータに変換可能である。例えば、非特許文献1に記載されたマーチングキューブ法がよく知られている。3次元スキャンメッシュモデルが工業製品の修理、レプリカ作成、解析あるいは検査に利用されるとき、その用途に応じてメッシュモデルを望ましい領域群に効果的に分割することが必要である。
【0004】
工業製品の表面は主に解析曲面、例えば、平面、円筒面、球面、円錐面そしてトーラスの組み合わせによって構成されている。したがって、メッシュモデルから引き出される単純な解析曲面によって近似できる領域群を抽出することが必要である。この領域分割はメッシュモデルに対する特徴認識を可能にし、パラメータによるメッシュ変形、メッシュスムージング、FEMメッシュ生成、立体モデル作成の前処理に重要な役割をする。
【0005】
シャープエッジによって分けられる領域を抽出する方法について、多数の方法が提案されている。しかしながら、メッシュモデルから解析曲面によって近似できる領域を抽出する方法はほとんど提案されていない。また、提案された方法にあっては、ノイズの多いメッシュモデルからの領域抽出の正確さ、また抽出された解析曲面の応用範囲は実用性の面で不十分である。
【0006】
関連する公知技術は以下のようなものである。メッシュ分割、メッシュ特徴抽出と再メッシュ分割のようなメッシュ応用技術で利用される基本技術の1つにメッシュ曲率推定法がある。この方法のアプローチには、非特許文献5,6,7がある。
【0007】
非特許文献5では、メッシュ曲率推定法は2つのグループに分けられている。1つは、離散的表現における微分幾何演算のために閉鎖形状を形成することで曲率を推定するものである。他の1つは、メッシュ頂点ごとの周りに比較的高度の曲面を局所的にフィットし、この曲面を解析することで曲率を推定するものである。過去の非特許文献3,4,5では、後者の推定方法はノイズの多いメッシュモデルに対してより良い結果をもたらすとされている。
【0008】
メッシュ分割は、メッシュモデルを用途に応じて望ましい領域に分割するという技術である。メッシュ分割には多数の取り組みが提案されているが、大きく分けて3つのグループに分けることができる。
【0009】
第1のグループは、メッシュモデル上のシャープエッジによって分けられる領域を抽出するものである。このグループでは、ウォータシェッド法(Watershed method)をベースとする取り組みが良く研究されている。非特許文献8,9,10である。このウェータシェッド法のアルゴリズムは、最初は2次元画像の分割のために提案されたものであり、マンガンその他(Mangan et al.)による非特許文献8ではそれをメッシュ分割に拡張した。このウォータシェッド法のアルゴリズムは、各頂点に対するメッシュ曲率のような特徴量を割り当て、局所的な極小値を発見する。続いて、各局所的な極小値の周りに隣接する頂点群を最急峻降下アルゴリズムを用いてクラスタ分けすれば、シャープエッジは隣接するクラスタ間の境界に現われる。サンその他(Sun et al.)による非特許文献9では、ノイズの多いスキャンメッシュデータに対するローバストな頂点特徴量計算法を用いるアルゴリズムを改善している。ラズダンその他(Razdan et al.)の非特許文献10では、ソリッドモデルから切り出されるメッシュモデルに対するアルゴリズムを改善している。これらの方法は、メッシュモデルをシャープエッジによって分離される領域に分割することができる。しかしながら、スムーズエッジにより分離される領域群(円筒面にスムーズに接続される平面)を抽出することはできない。また、それゆえに、分割された領域ごとの幾何学面を正しく同定することもできない。
【0010】
第2のグループは、単純な自由形状面により近似される領域群を抽出するものである。このグループでは、非特許文献3,11,12で領域拡大法(Region growing method)による取り組みが研究されている。最初、ベスルその他(Besl et al.)による非特許文献11において、高さ領域データに対する領域拡大法が提案された。近年、ビエラその他(Vieira et all.)による非特許文献3で、この方法がレーザスキャナによるノイズの多い3次元メッシュモデルに対して拡張されている。このアルゴリズムでは、最初にメッシュ曲率を推定し、メッシュ曲率の符号を用いて領域候補群を作り出す。そして、自由形状曲面に繰り返しフィットし、隣接する頂点群を追加することで最終的な領域群を抽出する。この方法によれば、ノイズの多いメッシュモデルから自由形状曲面領域を抽出し、多種の曲面を分離抽出することができる。しかしながら、この方法は、解析曲面とその幾何変数によって近似される領域群を抽出することは目的としていない。
【0011】
最後のグループは、単純な解析曲面にて近似される領域群を抽出するものである。ゲルファンドその他(Gelfand et al.)による非特許文献13は、メッシュ頂点とその法線ベクトルを固有値解析に基づく方法を提案している。しかしながら、この方法は、平面、円筒面そして球面による近似できる領域群のみを抽出する。
【0012】
ウーその他(Wu et al.)の非特許文献14は、ロイドのクラスタリングアルゴリズム(Lloyd’s clustering algorithm)に基づく方法を提案している。それによると、上の3曲面に加えて自由形状曲線上を転がる転動球により近似されるフィレット領域群が抽出される。しかしながら、この方法は、ノイズの多いメッシュモデルではどの程度有効なものか不明であり、また分割領域の内部領域を如何に同定するかも不明である。加えて、曲面フィッティングとクラスタリングを繰り返すために処理時間が比較的遅い。
【0013】
メッシュモデルデータからソリッドモデルを生成することを目的としたメッシュモデルのセグメンテーション法として、ベンコーその他(Benko et al.)による非特許文献4では、工業部品のリバースエンジニアリングのための直接セグメンテーション法が提案されている。その方法では、最初に局所的に平面をフィッティングすることによってシャープエッジの近傍における三角形群を除去してから、入力されたメッシュを領域群に分割する。次に、法線ベクトルや主曲率のような指標に基づき各領域ごとに三角形群と曲面群との幾何的適合性をテストする。こうして、分割領域群を、単純な解析曲面(平面、円筒面、球面、円錐面、トーラス面)、線形押し出し面、回転面により近似される。しかしながら、この方法では、ソリッドモデル生成に適した解析曲面領域、線形押し出し面領域、回転面領域を抽出できるが、領域抽出の精度が低く、簡単な形状にしか適用できないといった問題点があった。
【0014】
このように、メッシュモデルを設計・製造に有効に利用するために、メッシュモデルからソリッドモデルを自動で生成する手法の開発が望まれている。しかし現状では、この初期段階である測定メッシュモデルから適切に領域抽出するセグメンテーション手法が不十分であり、複雑形状に適用できるものはなく、ユーザによる多くのマニュアル操作を必要としていた。加えて、機械部品は解析曲面で構成される部分が多く、形状変更などの容易性を考えた場合、その形状が解析曲面でパラメトリックに表現されることが望ましいが、それに答える技術はない。
【0015】
【発明の開示】
【発明が解決しようとする課題】
【0016】
本発明は、このような従来の技術的課題に鑑みてなされたものであり、機械部品などの測定メッシュモデルからソリッドモデル上の解析曲面(平面、円筒面、円錐面、球面、トーラス面)に相当する領域とそれらの境界線を抽出し、さらにフィレット面領域、線形押し出し面領域、回転面領域を自動認識する解析曲面セグメンテーション装置、方法、プログラム及び記録媒体を提供することを目的とする。
【0017】
より具体的には、上記のBenkoその他の方法を拡張し、高精度な曲率算出と曲面フィッティングに基づき高精度に解析曲面領域とその境界線とを抽出する技術を提供することを目的とする。また、抽出した解析曲面領域の隣接関係やそれらの組み合わせから、既存の技術と比べてより幅広いタイプの領域である、フィレット面領域、線形押し出し面領域、回転面領域を認識する解析曲面セグメンテーション装置、方法、プログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0018】
本発明の第1の特徴は、入力された若しくは記憶装置から読出されたメッシュモデルデータを受け付けるメッシュデータ受付手段と、前記メッシュモデルデータからメッシュモデルの各頂点の主曲率を計算し、最大主曲率の値が閾値より大きな頂点をシャープ頂点として除外するメッシュ主曲率算出手段と、前記シャープ頂点ではない頂点の主曲率をもとに、ある1つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成するシード領域生成手段と、前記シード領域生成手段が生成したシード領域内の頂点に基づき、各解析曲面を定義する幾何パラメータを決定し、前記シード領域に解析曲面をフィッティングする解析曲面フィッティング手段と、前記シード領域生成手段が生成したシード領域に隣接する頂点のうち、前記解析曲面フィッティング手段がフィッティングした解析曲面に対する位置と法線の誤差が閾値よりも小さい頂点を当該シード領域に追加してシード領域を拡大して、拡大したシード領域を表わす解析曲面領域を抽出する解析曲面領域抽出手段と、前記解析曲面領域抽出手段が抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識する解析曲面領域認識手段と、前記解析曲面領域抽出手段の抽出した解析曲面と前記解析曲面領域認識手段が認識したフィレット面領域、線形押し出し面領域及び回転面領域との認識結果を出力するデータ出力手段とを備えた解析曲面セグメンテーション装置である。
【0019】
上記解析曲面セグメンテーション装置において、前記メッシュ主曲率算出手段は、曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの2倍に設定し、各頂点の主曲率を算出し、最大主曲率の値が閾値より大きな頂点をシャープ頂点と分類し、当該シャープ頂点でない頂点に対して、前記曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの5倍に設定し、主曲率を算出するものとすることができる。
【0020】
また、上記解析曲面セグメンテーション装置において、前記シード領域生成手段は、前記主曲率算出手段が算出した各頂点の主曲率値を比較し、各頂点に対してそれが平面、円筒面、円錐面、球面、その他の面のうちのどれに属するかを識別するラベルを割り当てる頂点ラベリング手段と、前記頂点ラベリング手段が割り当てたラベルに基づき、同じラベルを持つ連結頂点集合をシード領域として抽出するシード領域抽出手段とから成るものとすることができる。
【0021】
また、上記解析曲面セグメンテーション装置において、前記頂点ラベリング手段は、前記その他の面に属するラベルが割り当てられた頂点に対して、横軸を主曲率、縦軸をその主曲率の値を持つ頂点数としたヒストグラムを作成し、ある主曲率値を持つ頂点数が閾値より大きければ、それらの頂点群にトーラス面のラベルを割り当てるものとすることができる。
【0022】
また、上記解析曲面セグメンテーション装置において、前記解析曲面フィッティング手段は、円筒・円錐面については、まず、シード領域内の頂点の法線のガウス球との交点に平面をフィッティングし、この平面の法線を軸方向として算出し、円筒面については、シード領域内の頂点を、軸方向を法線に持ち原点を通る平面に投影し、投影面上で円弧をフィッティングし、その中心と軸上の任意点を求め、円錐面については、円錐の頂点とメッシュの各頂点とを結ぶベクトルがメッシュの各頂点の法線と直交するという条件から、その頂点を最小2乗法を用いて算出し、最後に、軸方向とメッシュ頂点の法線のなす角度の平均値から頂角を求めるものとすることができる。
【0023】
さらに、上記解析曲面セグメンテーション装置において、前記解析曲面フィッティング手段は、トーラス面については、まず、軸方向と軸上の任意点を求め、次に、これらをもとに中心点をcとおき、さらに、メッシュの各頂点からその法線方向に小半径rだけトーラスの内側方向に離れた点をc’とおき、中心点cと点c’との距離が大半径Rであるといった性質から、中心点c、大半径R、小半径rを最小2乗法により求めるものとすることができる。
【0024】
本発明の別の特徴は、入力された若しくは記憶装置から読出されたメッシュモデルデータを受け付けるステップと、前記メッシュモデルデータからメッシュモデルの各頂点の主曲率を計算し、最大主曲率の値が閾値より大きな頂点をシャープ頂点として除外するメッシュ主曲率算出ステップと、前記シャープ頂点ではない頂点の主曲率をもとに、ある1つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成するシード領域生成ステップと、前記シード領域生成ステップで生成したシード領域内の頂点に基づき、各解析曲面を定義する幾何パラメータを決定し、前記シード領域に解析曲面をフィッティングする解析曲面フィッティングステップと、前記シード領域生成ステップで生成したシード領域に隣接する頂点のうち、前記解析曲面フィッティングステップでフィッティングした解析曲面に対する位置と法線の誤差が閾値よりも小さい頂点を当該シード領域に追加してシード領域を拡大して、拡大したシード領域を表わす解析曲面領域を抽出する解析曲面領域抽出ステップと、前記解析曲面領域抽出ステップで抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識する解析曲面領域認識ステップと、前記解析曲面領域抽出ステップで抽出した解析曲面と前記解析曲面領域認識ステップで認識したフィレット面領域、線形押し出し面領域及び回転面領域との認識結果を出力するデータ出力ステップとを有する解析曲面セグメンテーション方法である。
【0025】
上記解析曲面セグメンテーション方法において、前記メッシュ主曲率算出ステップは、曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの2倍に設定し、各頂点の主曲率を算出し、最大主曲率の値が閾値より大きな頂点をシャープ頂点と分類し、当該シャープ頂点でない頂点に対して、前記曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの5倍に設定し、主曲率を算出するものとすることができる。
【0026】
また、上記解析曲面セグメンテーション方法において、前記シード領域生成ステップは、前記メッシュ主曲率算出ステップで算出した各頂点の主曲率値を比較し、各頂点に対してそれが平面、円筒面、円錐面、球面、その他の面のうちのどれに属するかを識別するラベルを割り当てる頂点ラベリングステップと、前記頂点ラベリングステップで割り当てたラベルに基づき、同じラベルを持つ連結頂点集合をシード領域として抽出するシード領域抽出ステップとを有するものとすることができる。
【0027】
また、上記解析曲面セグメンテーション方法において、前記頂点ラベリングステップは、前記その他の面に属するラベルが割り当てられた頂点に対して、横軸を主曲率、縦軸をその主曲率の値を持つ頂点数としたヒストグラムを作成し、ある主曲率値を持つ頂点数が閾値より大きければ、それらの頂点群にトーラス面のラベルを割り当てるものとすることができる。
【0028】
また、上記解析曲面セグメンテーション方法において、前記解析曲面フィッティングステップは、円筒・円錐面については、まず、シード領域内の頂点の法線のガウス球との交点に平面をフィッティングし、この平面の法線を軸方向として算出し、円筒面については、シード領域内の頂点を、軸方向を法線に持ち原点を通る平面に投影し、投影面上で円弧をフィッティングし、その中心と軸上の任意点を求め、円錐面については、円錐の頂点とメッシュの各頂点とを結ぶベクトルがメッシュの各頂点の法線と直交するという条件から、その頂点を最小2乗法を用いて算出し、最後に、軸方向とメッシュ頂点の法線のなす角度の平均値から頂角を求めるものとすることができる。
【0029】
さらに、上記解析曲面セグメンテーション方法において、前記解析曲面フィッティングステップは、トーラス面については、まず、軸方向と軸上の任意点を求め、次に、これらをもとに中心点をcとおき、さらに、メッシュの各頂点からその法線方向に小半径rだけトーラスの内側方向に離れた点をc’とおき、中心点cと点c’との距離が大半径Rであるといった性質から、中心点c、大半径R、小半径rを最小2乗法により求めるものとすることができる。
【0030】
本発明のさらに別の特徴は、入力された若しくは記憶装置から読出されたメッシュモデルデータを受け付けるステップと、前記メッシュモデルデータからメッシュモデルの各頂点の主曲率を計算し、最大主曲率の値が閾値より大きな頂点をシャープ頂点として除外するメッシュ主曲率算出ステップと、前記シャープ頂点ではない頂点の主曲率をもとに、ある1つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成するシード領域生成ステップと、前記シード領域生成ステップで生成したシード領域内の頂点に基づき、各解析曲面を定義する幾何パラメータを決定し、前記シード領域に解析曲面をフィッティングする解析曲面フィッティングステップと、前記シード領域生成ステップで生成したシード領域に隣接する頂点のうち、前記解析曲面フィッティングステップでフィッティングした解析曲面に対する位置と法線の誤差が閾値よりも小さい頂点を当該シード領域に追加してシード領域を拡大して、拡大したシード領域を表わす解析曲面領域を抽出する解析曲面領域抽出ステップと、前記解析曲面領域抽出ステップで抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識する解析曲面領域認識ステップと、前記解析曲面領域抽出ステップで抽出した解析曲面と前記解析曲面領域認識ステップで認識したフィレット面領域、線形押し出し面領域及び回転面領域との認識結果を出力するデータ出力ステップとをコンピュータに実行させる解析曲面セグメンテーションプログラムである。
【0031】
上記解析曲面セグメンテーションプログラムにおいて、前記メッシュ主曲率算出ステップでは、前記コンピュータに、曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの2倍に設定し、各頂点の主曲率を算出し、最大主曲率の値が閾値より大きな頂点をシャープ頂点と分類し、当該シャープ頂点でない頂点に対して、前記曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの5倍に設定し、主曲率を算出させるものとすることができる。
【0032】
また、上記解析曲面セグメンテーションプログラムにおいて、前記シード領域生成ステップでは、前記コンピュータに、前記メッシュ主曲率算出ステップで算出した各頂点の主曲率値を比較し、各頂点に対してそれが平面、円筒面、円錐面、球面、その他の面のうちのどれに属するかを識別するラベルを割り当てる頂点ラベリングステップと、前記頂点ラベリングステップで割り当てたラベルに基づき、同じラベルを持つ連結頂点集合をシード領域として抽出するシード領域抽出ステップとを実行させるものとすることができる。
【0033】
また、上記解析曲面セグメンテーションプログラムにおいて、前記頂点ラベリングステップでは、前記コンピュータに、前記その他の面に属するラベルが割り当てられた頂点に対して、横軸を主曲率、縦軸をその主曲率の値を持つ頂点数としたヒストグラムを作成し、ある主曲率値を持つ頂点数が閾値より大きければ、それらの頂点群にトーラス面のラベルを割り当てさせるものとすることができる。
【0034】
また、上記解析曲面セグメンテーションプログラムにおいて、前記解析曲面フィッティングステップでは、前記コンピュータに、円筒・円錐面については、まず、シード領域内の頂点の法線のガウス球との交点に平面をフィッティングし、この平面の法線を軸方向として算出し、円筒面については、シード領域内の頂点を、軸方向を法線に持ち原点を通る平面に投影し、投影面上で円弧をフィッティングし、その中心と軸上の任意点を求め、円錐面については、円錐の頂点とメッシュの各頂点とを結ぶベクトルがメッシュの各頂点の法線と直交するという条件から、その頂点を最小2乗法を用いて算出し、最後に、軸方向とメッシュ頂点の法線のなす角度の平均値から頂角を求めさせるものとすることができる。
【0035】
さらに、上記解析曲面セグメンテーションプログラムにおいて、前記解析曲面フィッティングステップでは、前記コンピュータに、トーラス面については、まず、軸方向と軸上の任意点を求め、次に、これらをもとに中心点をcとおき、さらに、メッシュの各頂点からその法線方向に小半径rだけトーラスの内側方向に離れた点をc’とおき、中心点cと点c’との距離が大半径Rであるといった性質から、中心点c、大半径R、小半径rを最小2乗法により求めさせるものとすることができる。
【0036】
本発明のさらに別の特徴は、入力された若しくは記憶装置から読出されたメッシュモデルデータを受け付けるステップと、前記メッシュモデルデータからメッシュモデルの各頂点の主曲率を計算し、最大主曲率の値が閾値より大きな頂点をシャープ頂点として除外するメッシュ主曲率算出ステップと、前記シャープ頂点ではない頂点の主曲率をもとに、ある1つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成するシード領域生成ステップと、前記シード領域生成ステップで生成したシード領域内の頂点に基づき、各解析曲面を定義する幾何パラメータを決定し、前記シード領域に解析曲面をフィッティングする解析曲面フィッティングステップと、前記シード領域生成ステップで生成したシード領域に隣接する頂点のうち、前記解析曲面フィッティングステップでフィッティングした解析曲面に対する位置と法線の誤差が閾値よりも小さい頂点を当該シード領域に追加してシード領域を拡大して、拡大したシード領域を表わす解析曲面領域を抽出する解析曲面領域抽出ステップと、前記解析曲面領域抽出ステップで抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識する解析曲面領域認識ステップと、前記解析曲面領域抽出ステップで抽出した解析曲面と前記解析曲面領域認識ステップで認識したフィレット面領域、線形押し出し面領域及び回転面領域との認識結果を出力するデータ出力ステップとを有する解析曲面セグメンテーションプログラムを記録したコンピュータ読取り可能な記録媒体である。
【0037】
上記記録媒体に記録された解析曲面セグメンテーションプログラムおいて、前記メッシュ主曲率算出ステップでは、曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの2倍に設定し、各頂点の主曲率を算出し、最大主曲率の値が閾値より大きな頂点をシャープ頂点と分類し、当該シャープ頂点でない頂点に対して、前記曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの5倍に設定し、主曲率を算出するものとすることができる。
【0038】
また、上記記録媒体に記録された解析曲面セグメンテーションプログラムおいて、前記シード領域生成ステップでは、前記メッシュ主曲率算出ステップで算出した各頂点の主曲率値を比較し、各頂点に対してそれが平面、円筒面、円錐面、球面、その他の面のうちのどれに属するかを識別するラベルを割り当てる頂点ラベリングステップと、前記頂点ラベリングステップで割り当てたラベルに基づき、同じラベルを持つ連結頂点集合をシード領域として抽出するシード領域抽出ステップとを実行するものとすることができる。
【0039】
また、上記記録媒体に記録された解析曲面セグメンテーションプログラムおいて、前記頂点ラベリングステップでは、前記その他の面に属するラベルが割り当てられた頂点に対して、横軸を主曲率、縦軸をその主曲率の値を持つ頂点数としたヒストグラムを作成し、ある主曲率値を持つ頂点数が閾値より大きければ、それらの頂点群にトーラス面のラベルを割り当てるものとすることができる。
【0040】
また、上記記録媒体に記録された解析曲面セグメンテーションプログラムおいて、前記解析曲面フィッティングステップでは、円筒・円錐面については、まず、シード領域内の頂点の法線のガウス球との交点に平面をフィッティングし、この平面の法線を軸方向として算出し、円筒面については、シード領域内の頂点を、軸方向を法線に持ち原点を通る平面に投影し、投影面上で円弧をフィッティングし、その中心と軸上の任意点を求め、円錐面については、円錐の頂点とメッシュの各頂点とを結ぶベクトルがメッシュの各頂点の法線と直交するという条件から、その頂点を最小2乗法を用いて算出し、最後に、軸方向とメッシュ頂点の法線のなす角度の平均値から頂角を求めるものとすることができる。
【0041】
さらに、上記記録媒体に記録された解析曲面セグメンテーションプログラムおいて、前記解析曲面フィッティングステップでは、トーラス面については、まず、軸方向と軸上の任意点を求め、次に、これらをもとに中心点をcとおき、さらに、メッシュの各頂点からその法線方向に小半径rだけトーラスの内側方向に離れた点をc’とおき、中心点cと点c’との距離が大半径Rであるといった性質から、中心点c、大半径R、小半径rを最小2乗法により求めるものとすることができる。
【発明の効果】
【0042】
本発明の解析曲面セグメンテーション装置、方法、プログラム及び記録媒体では、メッシュモデルデータを入力し、入力したメッシュモデルデータからメッシュモデルの各頂点の主曲率、最大主曲率の値が閾値より大きな頂点をシャープ頂点として除外し、当該シャープ頂点でない頂点に対して、主曲率を算出し、算出した主曲率をもとに、ある1つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成し、生成したシード領域内の頂点に、各解析曲面を定義する幾何パラメータを決定する解析曲面フィッティングを行い、また生成したシード領域に隣接する頂点のうち、解析曲面フィッティングしたフィッティング曲面との位置と法線の誤差が閾値よりも小さい頂点を当該シード領域に追加し、シード領域を拡大することで解析曲面領域を抽出し、こうして抽出した複数の曲面領域の境界線を抽出し、また抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識する。これにより、本発明によれば、機械部品などの測定メッシュモデルデータを入力し、このメッシュモデルからソリッドモデル上の解析曲面(平面、円筒面、円錐面、球面、トーラス面)に相当する領域とそれらの境界線を抽出し、さらにフィレット面領域、線形押し出し面領域、回転面領域を自動認識して出力することができる。
【発明を実施するための最良の形態】
【0043】
以下、本発明の実施の形態を図に基づいて詳説する。
【0044】
図1は、本発明の1つの実施の形態の解析曲面セグメンテーション装置100の機能構成を示している。本実施の形態の解析曲面セグメンテーション装置100は、各処理部をハードウェアとして備えたものとして、あるいはコンピュータシステムにメッシュモデル・ソリッドモデル変換プログラムを組み込み、実行させることによってコンピュータシステムとして構成することもできる。本実施の形態では、後者のものとして説明する。
【0045】
本実施の形態の解析曲面セグメンテーション装置100は、例えばネットワークを通じてのデータ信号の入力/出力、キーボード21、マウス22からの信号の入力、ディスプレイ23に対するビデオ信号の出力、プリンタ等の周辺機器に対するデータ信号の入力/出力等、データ及び信号の入力/出力を制御する入出力制御部1、入出力制御部1を通じて入力されたメッシュモデルデータ、また当該メッシュモデルデータから変換したソリッドモデルデータ、プログラムデータ、その他、諸々のデータを記憶するデータ記憶部2を備えている。このデータ記憶部2は、例えばハードディスク、DVD、CD−ROMディスク等、外部大容量記憶装置あるいは内蔵の大容量記憶装置、フラッシュメモリ、システムメモリ等のデータを恒久的に保存する手段、一時的に保存する手段の両方を総称している。
【0046】
また、解析曲面セグメンテーション装置100は、メッシュモデルからシャープ頂点を考慮したメッシュ主曲率を算出するメッシュ主曲率算出部3、このメッシュ主曲率算出部3にて算出した主曲率をもとに、シード領域を生成するシード領域生成部4、このシード領域生成部4にて生成したシード領域内の頂点に解析曲面をフィッティングし、さらにシード領域に隣接する頂点のうち、フィッティングされた解析曲面と等質の頂点を当該シード領域に追加し、領域を拡大する領域拡大法(Region growing法)により解析曲面領域を抽出する解析曲面領域抽出部5、この解析曲面領域抽出部5にて抽出した領域間の隣接関係を構築するために、各領域間の境界線を特徴稜線として抽出する特徴稜線抽出部6を備えている。
【0047】
さらに、解析曲面セグメンテーション装置100は、解析曲面領域抽出部5にて抽出した複数の連結した解析曲面領域の隣接関係やそれらの組み合わせから、フィレット面領域、線形押し出し面領域、回転面領域を認識する曲面領域種別認識部7、そして、上記各処理部の動作を制御する制御演算処理部9を備えている。
【0048】
次に、上記構成の解析曲面セグメンテーション装置100により実行される、例えば、3次元X線CTスキャナにより取得した三角形メッシュモデルデータで構成される測定メッシュモデルからソリッドモデル上で1つの解析曲面(平面、円筒面、円錐面、球面、トーラス面)に相当する領域とそれらの境界線を特徴稜線として抽出し、さらにフィレット面領域、線形押し出し面領域、回転面領域を自動認識するメッシュモデル・ソリッドモデル変換方法について説明する。
【0049】
このメッシュモデル・ソリッドモデル変換方法は、図2に示す3つのステップから成る。すなわち、メッシュ主曲率算出ステップSTEP1、解析曲面領域抽出ステップSTEP2、そしてフィレット面・線形押し出し面・回転面の抽出ステップSTEP3から成る。
【0050】
メッシュ主曲率算出ステップSTEP1では、メッシュ主曲率算出部3において、シード領域三角メッシュモデルデータを入力し、非特許文献5のラズダンの手法をベースにしたシャープエッジを考慮した手法を用いてメッシュ主曲率を算出する。アルゴリズムは2パスの曲率算出を持つ。第1パスでは、曲率に基づいてメッシュ上のシャープエッジを見つけ出し、第2パスでは、シャープエッジを含まない領域のために再計算してメッシュ曲率を算出する。この手法により、メッシュに含まれる測定ノイズの影響を受けにくく、また、本来算出精度が低くなりやすいシャープエッジ付近の頂点のメッシュ主曲率をも高精度に算出できる。後のA節においてさらに詳説する。
【0051】
曲面領域抽出ステップSTEP2では、シード領域生成部4と解析曲面領域抽出部5において、STEP1で算出した主曲率をもとに、ビエイラその他の非特許文献3による領域拡大アルゴリズムを拡張したアルゴリズムを用いて、解析曲面でフィッティング可能な領域を抽出する。最初に、STEP1で得たメッシュ主曲率を用いて解析曲面抽出のための大きなシード領域群を作り出す。続いて、各シード領域に解析曲面をフィッティングし、幾何的に類似した性質のシード領域に位相的に接続されている頂点群をリード領域に加える。このフィッティングと追加の処理においては、フィッティング曲面の再計算は必要とされない。結果として、解析曲面によって近似された領域が抽出される。この拡張された領域拡大法は、曲面境界を高精度に抽出できる。後のB節、C節においてさらに詳説する。
【0052】
フィレット面・線形押し出し面・回転面の抽出ステップSTEP3では、曲面領域種別認識部7において、STEP2で抽出した解析曲面領域の隣接関係やそれらの組み合わせから、非特許文献4,13,14に記載されている既存の手法と比べより幅広いクラスの曲面であるフィレット面、線形押し出し面、回転面を抽出する。後のD節においてさらに詳説する。
【0053】
ここでは、説明の単純化のため図4Aに示すように80000個の三角形のメッシュモデルを例にして、平面群、円筒面群、球面群、円錐面群、トーラス面群から成る三角形メッシュモデルを取り扱う。このモデルは、ソリッドモデルのFEMメッシュ切りによって生成されている。シャープエッジ群と頂点群はソリッドモデル上に小半径のフィレット面を生成することで丸くできる。そこで、このモデル上に人工的なノイズをガウス分布する乱数値を用いて、頂点位置を法線方向に移動させて乗せる。このモデルは4つの平面、5つの円筒面、1つの球面、1つの円錐面、1つのトーラス面、2つのフィレット面、1つの線形押し出し面、そして1つの回転面を持っている。
【0054】
A:シャープエッジを考慮したメッシュ主曲率算出処理。
【0055】
ラズダンの方法を拡張した方法に基づきメッシュ上のシャープエッジ群を認識する主曲率算出方法と、曲率の正確さを保証する2パス算出法を採用する。
【0056】
A1)非特許文献5によるラズダンのメッシュ曲率算出。
【0057】
ノイズの多いメッシュモデル上のメッシュ曲率を算出するために、ラズダンは最初に、(u,v)のメッシュ頂点とその2リング内に存在する頂点群に対して(1)式で表わされる双2次ベジェ曲面をフィッティングし、フィッティングされた曲面から頂点におけるメッシュ曲率を算出する。
【数1】
【0058】
ここで、bijは双2次ベジェ曲面の制御点、x(u,v)はその曲面上の点、Bi2(u),Bj2(v)は2次バーンスタイン関数である。
【0059】
データ中のスキャニングノイズに起因するフィットされた曲面の望ましくない歪みを避けるために、平滑化のための制約(smoothing constraint)がかけられる。これは、9個の制御点によって規定される4つの四辺形それぞれが可能な限り平行四辺形に近くなるようにするものである。ラズダンの方法では、この制約を最小2乗フィッティング問題に追加し、平滑化変数αを0〜1の間で特定することで平滑化効果を調整していた。
【0060】
A2)提案されているメッシュ曲率算出と頂点法線ベクトルの計算方法。
【0061】
上で述べたラズダンの方法は改良された。その改良された方法では、各頂点と(2)式を満たす隣接頂点群の組に対して双2次ベジェ曲面フィッティングを行い、フィッティングされた曲面からvjに対して主曲率ki,max,ki,minを算出する。
【数2】
【0062】
ここで、li,avgは頂点viを含む平均エッジ長さであり、Wは曲面フィットのサイズを特定する変数である。
【0063】
非特許文献5では、平滑化パラメータαはα=0.7にするとノイズの多いメッシュモデルに対して良い結果が得られるとしている。しかし、実験結果としては、α=0.9とした方が特にシャープエッジの周りでより良い結果が得られる。これは、ベジェ曲面にフィッティングするための提案された方法による方が、ラズダンの方法によるよりもたくさんの数の近傍頂点群が使用されるので、ベジェ曲面自体の局所最小2乗フィッティングの方がより平滑化効果を示す。それ故、本実施の形態では、α=0.9をすべてのメッシュモデルに対して用いている。
【0064】
viの頂点法線ベクトルは、次の(3)式にて計算される。
【数3】
【0065】
ここで、F*(t)は頂点viに含まれている三角形の組、afは1つの三角形fの面積である。この法線ベクトルは、後述するC2節で述べる領域拡大ステップでも用いられる。
【0066】
ノイズの多いスキャンメッシュ上で主曲率を算出するために、パラメータWは大きい方がよい。しかしながら、これを大きくすると、シャープエッジ付近での曲率算出がお粗末になる。この問題を解決するために、2パス曲率算出法が好ましい。第1パスでは、メッシュの表面上で比較的大きな曲面をフィッティングすることで主曲率を算定する。そのために、パラメータW=2とする。頂点viの最大曲率ki,maxが(4)式を満たすなら、その頂点はシャープ頂点であると分類する。
【数4】
【0067】
ビエラその他の非特許文献3で述べられているように、thse=10.0に設定すると、測定メッシュモデルに対して良い結果が得られる。
【0068】
第2パスでは、非シャープ頂点群に対してパラメータW=5にして主曲率群を再計算する。このステップでは、図3に示すようにベジェ曲面フィッティングにはシャープ頂点群は含まれていない。この結果、図4A〜図4Dに示すように、シャープエッジの近くに存在する頂点の主曲率について精度が良くなる。
【0069】
本実施の形態の方法では、後のC1節の解析曲面フィッティングで利用するためにフィッティングしたベジェ曲面からメッシュの各頂点viの法線ベクトルni’も算出する。この法線ベクトルは、(3)式にて隣接三角形を利用して求めた法線ベクトルniよりも近似精度が高い。
【0070】
A3)メッシュ主曲率算出法の比較。
【0071】
本実施の形態のメッシュ主曲率算出法とラズダンその他による算出法とによるメッシュ主曲率算出結果を比較した。比較には以下の3つの方法を用いた。実験結果は図5に示してある。
【0072】
i)ラズダンその他による方法(α=0.7)
ii)本実施の形態の方法(シャープ頂点の認識なし:W=5,α=0.9)
iii)本実施の形態の方法(シャープ頂点の認識あり:W=2,α=0.9;W=5,α=0.9)
比較には、図5のモデルに、平均メッシュ稜線長に5%の標準偏差のガウス乱数を用いて人為的にノイズを加えたモデルを用いた。図5(A)では、理論的には一定であるべき円筒面上でも曲率が変化している。これは、(i)の方法では、ノイズの多いメッシュモデルに対して精度の高い主曲率を算出することができないことを示している。図5(B)では、円筒面上で主曲率がほとんど一定であるように見える。しかし、円筒面と平面とが交わるシャープエッジの近くでは大きく変化している。このことは、(ii)の方法はシャープエッジの近くで算出される主曲率が誤算されることを示している。図5(C)では、円筒面上で、さらにはシャープエッジの近くでも主曲率がほとんど一定である。このことは、シャープエッジを含むノイズの多いメッシュモデルに対しても主曲率を精度良く計算できることを示している。
【0073】
A4)主曲率のフィルタリング。
【0074】
本実施の形態のメッシュ曲率算出法では、既存の算出法に比べて測定ノイズを多く含むメッシュモデルから高精度に主曲率を算出することができるが、測定誤差に起因する主曲率の算出誤差を避けられない。そこで、このような主曲率算出誤差を緩和するために、非特許文献3でビエラその他が提案しているフィルタリング法にて算出された主曲率を平滑化する。
【0075】
まず、(5)式に示す中央値フィルタリングを非シャープ頂点に適用して、非正規主曲率と同様に非正規の主曲率に対する頂点のために非シャープ頂点を算出する。下記のようなシャープ頂点を含まないある頂点viの1リング近接領域N*(i)に対して適用する。
【数5】
【0076】
次に、(6)式で平均フィルタリングを、主曲率を平滑化するための非シャープの頂点に対して3回適用される。これはシャープ頂点を含まない、1リング近接領域のN*(i)に対して適用する。
【数6】
【0077】
B:シード領域生成。
【0078】
次に、算出された主曲率群を分類することでメッシュの表面上にシード領域を生成する。ここでは、シード領域とは、ある解析曲面上に存在すると見なせる位相接続された頂点群の組を意味する。
【0079】
B1)頂点群に対する初期ラベル割り当て。
【0080】
図6に示すように、このシード領域生成はステップSTA1〜STA4から成る。
【0081】
[STA1:平面、円筒・円錐面、球面のラベルの割り当て処理]
算出した各頂点の主曲率を比較し、その頂点viがトーラスを除く解析曲面のうちのどれに属するかを推定するラベルを割り当てる。本実施の形態では、平面:ラベル1、円筒・円錐面:ラベル2、球面:ラベル3、その他の面:ラベル0を割り当てる。ここでは、(7)式に示すように、3つのパラメータを用いる。これらは、ε1=ε2=ε3=0.01に設定するとほとんどのメッシュモデルで良い結果が得られるが、複雑な形状のモデルに対しては、その形状やメッシュの解像度に応じて適切に設定する。
【数7】
【0082】
[STA2:円筒面と円錐面との分類及び滑らかに接続する円筒面の分類処理]
上のステップSTA1の処理だけでは、円筒面と円錐面上の頂点には同じラベル2が割り当てられる。また複数の円筒面が滑らかに接続している場合、本来それぞれの円筒面に対して1つずつシード領域を生成したいはずが、曲面境界付近の頂点も同じラベル2を持ち、それらの複数の円筒面に対して1つのシード領域が生成されてしまう。
【0083】
そこで、(8)式で表わされる各頂点viとn個の2近傍頂点N**(i)との最大主曲率kmaxの類似度f(vi)を算出する。
【数8】
【0084】
このf(vi)値が閾値thcyl_coneより大きな頂点には円錐ラベル4、小さな頂点には円筒ラベル2を割り当てる。この閾値thcyl_coneは0.05−0.3に設定すると良い結果が得られることが実験により分かっている。このf(vi)は円筒や円錐の大きさに依存せず、0.0−1.0の値を持つので、より直感的なパラメータ設定が可能である。この処理により、円筒面と円錐面をそれぞれに分類することができ、また滑らかに接続する複数の円筒面に対して1つずつシード領域を生成することができる。尚、この処理の際に円筒面の境界付近の頂点では不適切に円錐ラベル4を持つ頂点が生成されやすいが、これらの頂点からできるシード領域は、後の解析曲面領域抽出の際に隣接するいずれかの領域に統合され、結果として円錐領域は抽出されない。
【0085】
[STA3:トーラス面のラベルの割り当て処理]
これまでのステップSTA1,2でトーラス面を除く4種類の曲面に対しては頂点ラベルを割り当てた。形状を構成する曲面がすべて解析曲面で構成されていると仮定すると、残りの大部分はトーラス面であると考えられる。そこで、ラベル0を持つ頂点最大・最小主曲率を比較して、トーラス面上にあると推定される頂点群を分類する。
【0086】
トーラス面は、ある半径を持つ球を、ある軸周りに回転させた軌跡となる曲面である。そのため1つの主曲率が、球の半径に対応する一定の主曲率を持つ。この性質を利用して、図7に示す、横軸を主曲率、縦軸をその主曲率の値を持つ頂点数としたヒストグラムを作成し、ある一定範囲の主曲率値を持つ頂点数が閾値thtorusより大きければ、それらの頂点群にトーラスラベル5を割り当てる。ここでは、横軸の間隔は0.01に設定し、閾値thtorusはメッシュの頂点数の0.1−0.5%に設定すると良い結果が得られる。
【0087】
[STA4:シード領域の生成]
最後に、ステップSTA1〜STA3の処理で割り当てた各頂点のラベルを参照し、同じラベルを持つある閾値以上の頂点数から成る連結頂点集合をシード領域として抽出する。
【表1】
【0088】
この閾値thseedは、表1に示すように、次に述べる最小2乗法を用いた解析曲面フィッティングを行うために、シード領域の曲面種類に応じて必要最小限の値に設定する。このシード領域生成結果を図8に示してある。図8において、Rplは平面のシード、Rcylは円筒面のシード、Rcrnは円錐面のシード、Rsphは球面のシード、Rtrsはトーラス面を示している。
【0089】
C:解析曲面領域抽出処理。
【0090】
次に、解析曲面領域の抽出処理について説明する。この解析曲面領域の抽出処理は、図9のフローチャートに示すように、シード領域への解析曲面フィッティングのステップSTB1と、シード領域への領域拡大法による近傍頂点追加処理のステップSTB2と、領域の境界線抽出のステップの3ステップで成る。
【0091】
[STB1:シード領域への解析曲面フィッティング]
生成したシード領域内の頂点に解析曲面をフィッティングする。ここでいう曲面フィッティングとは、図10〜図14に示す各曲面を定義する幾何パラメータを決定することである。
【0092】
物理モデルの測定データへの解析曲面フィッティングに関する技術は、リバースエンジニアリングの分野で非特許文献16〜18のように盛んに行われている。マーシャルその他(Marshall et al.)による非特許文献18は、より高精度にフィッティングするために、球面、円筒面、円錐面、トーラス面に対して非線形最小2乗法を用いた方法を提案している。この方法では、高精度なフィッティングが可能であるが、非線形最小2乗法を解くための反復時間がかかる問題点がある。
【0093】
本実施の形態の方法では、これらの曲面に対してメッシュから近似した頂点の法線ベクトルn’iを利用し、簡単な線形最小2乗法を解くことで曲面フィッティングを行う。本実施の形態の方法によれば、マーシャルその他の方法よりも精度では劣るものの高速処理が可能であり、解析曲面領域抽出には十分な結果が得られる。
【0094】
[平面のフィッティング]
図10に示すように、平面Rplは、その単位法線ベクトルn=(nx,ny,nz)と原点からの距離dで定義される。本実施の形態の方法では、シード領域内のn個の頂点viの法線ベクトルn’iの平均値を算出し、これを正規化したものを単位法線ベクトルnとして算出する。原点oからの距離dは(9)式を用いて算出する。
【数9】
【0095】
[円筒面のフィッティング]
図11に示すように、円筒面Rcylは、単位軸方向ベクトルd=(dx,dy,dz)、半径r、軸上の任意点p=(px,py,pz)で定義される。円筒フィッティングは、4つのステップから成る。
【0096】
図15に示すように、まず、シード領域内の頂点の法線ベクトルn’iを、原点を中心に持ち、半径1のガウス球にマッピングする。次に、法線ベクトルn’iとガウス球との交点に、(10)式で表わされる平面を最小2乗法を用いてフィッティングし、この平面の法線ベクトルnを円筒面の軸方向ベクトルdとして算出する。
【数10】
【0097】
そして図16に示すように、シード領域内の頂点を軸方向ベクトルdを法線ベクトルに持ち原点を通る平面に投影し、投影面上での各頂点のパラメータ(si,ti)を求める。最後に図17に示すように、各頂点のパラメータ(si,ti)に対して、投影面上で(11)式で表わされる円弧を最小2乗法を用いてフィッティングし、半径rと円弧の中心点のパラメータ(sc,tc)を求める。また、パラメータ(sc,tc)から3次元での軸上の任意点pを求める。
【数11】
【0098】
[球面のフィッティング]
図12に示すように、球面Rsphは、中心点c=(cx,cy,cz)と半径rで定義される。そこで、(12)式を最小2乗法を用いて解き、係数(A,B,C,D)から中心点cと半径rを算出する。
【数12】
【0099】
[円錐面のフィッティング]
図13に示すように、円錐面Rcrnについては、単位軸方向ベクトルd=(dx,dy,dz)、頂点a=(ax,ay,az)、頂角θで定義される。この円錐面のフィッティングは3つのステップから成る。最初には、軸方向ベクトルdを円筒と同様の、頂点法線のガウス球マッピングに基づいた方法で求める。次に、円錐の頂点aとメッシュの各頂点viとを結ぶベクトルがメッシュの各頂点の法線n’iと直交するという条件から、頂点aを(13)式を最小2乗法を用いて解くことで算出する。
【数13】
【0100】
ただし、(xi,yi,zi)はn個のシード頂点viの座標値である。
【0101】
次に、単位軸方向ベクトルdとメッシュ頂点の法線n’iのなす角度の平均値から(14)式を用いて頂角θを求める。
【数14】
【0102】
[トーラス面のフィッティング]
図14に示すように、トーラス面Rtrsについては、半径rの球をある軸周りに回転させた軌跡となる曲面である。このトーラス面は、単位軸方向ベクトルd=(dx,dy,dz)、中心点c=(cx,cy,cz)、小半径r、大半径Rで定義される。
【0103】
このトーラス面のフィッティングは、次の2つのステップから成る。まず非特許文献16に記載されているコスその他(Kos et al.)の手法と同じ方法を用いてこれらのパラメータを求める。コスその他の方法によれば、最初に、固有値解析により軸方向と軸上の任意の点を求め、次に、それらを出発値として繰返し計算によって正確な解を得る。トーラス面のフィッティングのために、コスその他の方法により、最初に軸方向ベクトルdと軸上の任意の点pを計算する。続いて、c,r,Rをこれらの軸方向ベクトルdと軸上の任意の点pを用いて計算する。
【0104】
1)軸方向ベクトルと軸上の任意点算出。
【0105】
まず、単位ベクトルdと位置ベクトルpに直交するベクトルをp0=d*pと定義する。次に、dと各頂点の法線ベクトルn’iとのなす角度をφi、法線vi+tn’iと単位軸ベクトルdのなす角度をδiとする。
【0106】
コスその他の方法では、dとpを計算するために、
【数15】
【0107】
を最小にする。ただし、(15)式
【数16】
【0108】
は、p0とdの線形関数である。
【数17】
【0109】
は、|d|=1、p0*d=0の制約のもとで、p0とdに関して簡単な二次形式に書ける。ここで、p0*d=0の制約を加えないようにすることで、この評価関数の最小化問題を固有値問題に変え、pとdがその結果として得られる。
【0110】
2)平面投影を用いた中心点c、大半径R、小半径rの算出。
【0111】
次に、シード領域内のすべての頂点について、算出された軸の周りに回転させることで算出された軸を含む平面上に投影し、続いて、1つの円を最小2乗法により平面上の点群にフィットする。半径rはその円の1つとして計算される。中心点cは、トーラスの中心cから円の中心に向かうベクトルがトーラス面の軸に直交するという条件によって計算する。大半径Rについては、トーラス面の中心と円の中心との距離であるとして計算する。
【0112】
[STB2:シード領域への近傍頂点追加による解析曲面領域の抽出]
以上で、各シード領域に対してその曲面種類の解析曲面をフィッティングし、それら決定する幾何パラメータを算出した。ここでは、これらを利用して解析曲面領域を抽出する。
【0113】
シード領域を適切に近似する曲面は、シード領域の近傍の頂点も含めた領域を適切に近似するはずである。そこで、シード領域に隣接する頂点のうち、(16)式を満たすフィッティングした解析曲面との位置の誤差ei,pos、法線方向の誤差ei,normが(17)式を満たす頂点viを領域に追加し領域拡大する。
【数18】
【0114】
ここで、lavgはメッシュの全稜線の平均長である。閾値は、thpos=0.5、thnorm=8.0のように設定することで良い結果が得られる。
【0115】
このシード領域への近傍頂点の追加は、シード領域内の頂点数が大きな領域から順に行う。これは、頂点数の大きい方が曲面のフィッティング精度も高いため、領域の抽出精度も高く、より大きな領域が抽出されやすいからである。シード領域に追加された近傍頂点には、シード領域の頂点と同じ領域ラベルを割り当てる。この頂点追加は、領域に隣接するすべての頂点の誤差が閾値より大きくなれば終了する。領域は特定の解析曲面によって近似される位相的に連続した頂点群の組として抽出される。
【0116】
図18A〜図18Dは領域拡大の過程を示している。図18Aは初期シード領域を示し、図18Bはシード領域1が拡大し、2つの円錐面のシード頂点が平面領域に追加され、2つのシード頂点が残された状態を示している。図18Cは、閾値よりも小さい数の頂点数の円錐面のシード領域が削除された状態を示し、図18Dは、2つの解析曲面が抽出された状態を示している。
【0117】
これら図18A〜図18Dに示したように、1つのシード領域からスタートした領域拡大は、当初は他のシード領域に属していた頂点を取り込む。この場合、隣接する頂点は当初のシード領域から削除される。この場合、追加されずに残ったシード領域内の頂点数が閾値thseedよりも大きければシード領域として保存し、小さければ除去する。図19には、以上の解析曲面領域の抽出の結果が示してある。
【0118】
[STB3:領域の境界線抽出]
抽出した領域間の隣接関係を構築するため、各領域間の境界線を抽出する。これまでの処理では、特にシャープエッジ付近において、いずれの領域にも属していない頂点が存在しやすい。そこで、これらの頂点をいずれかの領域に統合するため、まず、先のステップで設定した頂点追加の閾値(thpos ,thnorm)を、(1.0,16.0)、(1.5,24.0)、(2.0,32.0)、…のように段階的に大きくし、段階毎に領域拡大を行い、すべての頂点をいずれかの領域に統合する。
【0119】
領域の境界線を抽出するには、頂点単位ではなく、三角形単位での領域分けが必要なる。そのため、まず、3つの頂点領域ラベルが一致する三角形にはその頂点領域ラベルを割り当てる。3つのラベルが一致しない三角形は、その各頂点が属する領域と三角形の法線方向の誤差を比較し、その誤差が最も小さい領域の頂点領域ラベルを割り当てる。最後に、各稜線に隣接する2つの三角形が異なる領域ラベルを持てば、その稜線を領域境界線として抽出する。領域境界線を抽出した結果を図20A、図20Bに示す。図20Aは解析曲面領域を抽出した状態、図20Bはそれから領域境界線を抽出した状態を示している。
【0120】
D:フィレット面、線形押し出し面領域、回転面領域の認識。
【0121】
ソリッドモデル生成へのより効率的な利用のため、機械部品に多く含まれているフィレット面、線形押し出し面、回転面に相当する領域を抽出する。本実施の形態の方法では、上で述べた平面、円筒面、円錐面、トーラス面の抽出手法と同様に、抽出した複数の連結した解析曲面領域の隣接関係やそれらの組み合わせから、フィレット面領域、線形押し出し面領域、回転面領域を認識する。
【0122】
D1)フィレット面領域の認識。
【0123】
フィレット面とは、製品製造の際に製品の局所部分に過度な荷重が加わるのを避けるため、シャープエッジやコーナーを丸めて生成される曲面である。フィレット面は、他の曲面とは性質の異なる従属面であるため、ソリッドモデル生成のためには、メッシュ上で認識しておくことが望ましい。
【0124】
形状を構成する曲面がすべて解析曲面で構成されると仮定すると、フィレット面もまた解析曲面となり、それらはメンクその他(Menq et al.)の非特許文献16による3種類―円筒面、球面、そしてトーラス面―に分類される。これらのフィレット面は、隣接する曲面とそれらの曲面の幾何パラメータから図21、そして図22〜図25に示すように定義する。
【0125】
抽出されたトーラス面領域、球面領域、円筒面領域の内、隣接する曲面との間の領域で幾何条件により、2曲面間にある図22に示すトーラス型フィレット面領域FLT1、2曲面間にある図23に示すトーラス型フィレット面領域FLT2、2曲面間にある図24に示す円筒型フィレット面領域FLT3、そして3曲面間にある図25に示す球・トーラス型フィレット面領域FLT4,FLT4‘が認識される。
【0126】
図22のトーラス型タイプIのフィレット面FLT1は、隣接条件として球面と平面とが隣接すること、幾何条件として(1)平面の法線ベクトルnpとトーラスの軸ベクトルdtとが平行であり、かつ、(2)球の中心psがトーラスの軸上に存在することである。
【0127】
また図23のトーラス型タイプIIのフィレット面FLT2は、隣接条件として円筒面と平面とが隣接すること、幾何条件として平面の法線ベクトルnp、トーラスの軸ベクトルdt、円筒面の軸ベクトルdcが平行であることである。すなわち、
【数19】
【0128】
である。
【0129】
また、図24の2曲面間にある円筒型フィレット面FLT3は、隣接条件として2つの平面が隣接すること、幾何条件として(1)円筒面の軸ベクトルdcと平面の法線ベクトルnp1,np2が互いに直交し、かつ、(2)円筒面の開き角θが0°<θ<180°を満たすことである。
【0130】
すなわち、
【数20】
【0131】
である。
【0132】
さらに、図25の3曲面間にある円筒型フィレット面FLT4(凸型)、FLT4’(凹型)は、隣接条件として3つの円筒型フィレット面が隣接すること、幾何条件として(1)球型の場合にはすべての円筒面がすべて凸面若しくは凹面であり、かつ、(2)トーラス型の場合には凹面と凸面が混在することである。
【0133】
上記定義以外にも多種の組み合わせがあるが、本実施の形態の方法ではこれら3タイプしか認識しない。これらのフィレット面は製品部品にしばしば見られるものであるためである。他の形状のフィレット面についても容易に定義することはできる。図26A、図26B、また図27A〜図27Cは本実施の形態によるフィレット面の認識例を示している。尚、図27Aはメッシュモデルを示し、図27Bは解析曲面の認識結果を示し、
図27Cは解析曲面間のフィレット面の認識結果を示している。
【0134】
D2)線形押し出し面領域の認識。
【0135】
線形押し出し面領域は、図28に示すように、平面上で定義される2次元曲線C1をその法線n方向に押し出すことによって生成される曲面A1であり、複数の平面領域と円筒面領域の組み合わせで構成される。これらの領域が満たすべき条件は、1)平面の法線と円筒の軸とが垂直であり、2)3つ以上の平面の法線が同一平面上にあり、3)2つ以上の円筒の軸方向が一致していることである。
【0136】
これらの条件を満たす組み合わせを、線形押し出し面領域として抽出する。図30には線形押し出し面領域の認識結果A1が後述する回転面領域の認識結果A2と共に示してある。
【0137】
D3)回転面領域の認識。
【0138】
回転面領域は、図29に示すように、平面上で定義される2次元閉曲線C2をある軸周りに回転させた軌跡となる曲面A2である。回転面は、複数の平面、円筒面、球面、円錐面、トーラス面の組み合わせで構成される。これらが満たすべき条件は、1)それぞれの法線や軸方向が一致しており、2)球とトーラスの中心点、円錐の頂点がある直線上に分布していることである。これらの条件を満たす組み合わせを、回転面領域として抽出する。図30には回転面領域の認識結果A2も示してある。
【実施例】
【0139】
図31(a)、(b)は、これまで本発明で採用するアルゴリズムの説明に用いたメッシュモデルとそれに対する領域抽出結果を対比して示してある。図31(a)の入力メッシュモデルと図31(b)の領域抽出結果とを比較すれば、ノイズの多いメッシュモデルに対して本発明の方法は十分に良く作用し、適切な領域群の抽出ができるが確認できる。このモデルには4つの平面、4つの円筒面、1つの球面、1つの円錐面、1つのトーラス面が含まれるが、本発明の方法を適用することで、これらのすべての曲面が抽出できている。これらの各シード領域に対してフィッティングした解析曲面の幾何パラメータを、ソリッド上で定義したパラメータと比較した結果を表2に示してある。メッシュモデルの平均エッジ長は1.8mmであった。この実施例により、比較的大きなシード領域に対しては高精度に曲面フィッティングできていることが分かり、領域抽出が適切に行われていることが保証できる。
【表2】
【0140】
図32A〜図32Fにはメッシュモデルに本発明の方法を適用した実験結果を示している。この実施例では、図32Aに示した3D−CADで作ったメッシュモデルをFEMメッシャにてメッシュ分割した図32Bに示す三角形数約30,000のメッシュモデルを用いた。このメッシュモデルには、メッシュの平均稜線長さの3%の値を標準偏差に持つガウス乱数を用いて人為的にノイズを加えている。このモデルには、51個の平面と40個の円筒面が含まれている。これに対して本発明の方法を適用することで、49個の平面と23個の円筒面が適切に抽出できた。つまり、本発明の方法によれば、比較的に大きな領域は抽出できたが、2つの薄い平面と12の小径の穴形円筒面が抽出できなかった。円筒面のほとんどは、微小フィレットや径の小さな穴に相当する曲面であった。抽出できた平面や円筒面の内、そのシード領域内の頂点数が100個以上の曲面では、その法線ベクトルや軸方向ベクトルの算出誤差はいずれも1[deg]未満であった。最大フィッティング誤差は、27頂点を持つ平面シード領域の法線方向に対して8.8[deg]であり、85頂点を持つ円筒面シード領域の軸方向に対して3.0[deg]であった。100個以下の曲面では、平面では最大で6.5[deg]、円筒面では最大で11.5[deg]の誤差が見られた。演算時間は、CPU:Xeon(正面名)2.4GHz、メモリ:2GBの性能のコンピュータにて実施したところ、2パス曲率算出に92秒、解析曲面抽出に15秒かかった。
【0141】
図33A、図33Bは、自動車エンジン部品のX線CTスキャニングにより生成したメッシュモデルとそれに対する解析曲面領域抽出結果を示している。この実験結果から、本発明の方法は比較的大きな面積の平面や円筒面について効果的に抽出できることが確認できた。特に、機能的に重要な円筒面領域(軸受にフィッティングされている)をすべて抽出できた。このメッシュモデルは、約1,000,000の三角メッシュを持つものであるが、上記性能のコンピュータにより7分かからずに領域抽出処理が完了した。
【0142】
以上により、本発明の領域セグメンテーション法はメッシュモデルから解析曲面領域を自動的に抽出できる。本発明の方法は、シャープエッジ認識による精確な曲率算出と、平面、円筒面、球面、円錐面、トーラス面により近似可能な領域を抽出する領域拡大法に基づいている。このセグメンテーション法はまた、近傍関係を分類すること、あるいは、抽出された解析曲面を組み合わせることによって、より高レベルな曲面、フィレット面、線形押し出し面、回転面の抽出が可能である。
【0143】
上記の実施例、また種々のメッシュモデルに対する実験から、本発明の方法によれば、メッシュモデルから解析曲面、フィレット面、線形押し出し面、回転面精確で実用的な幾何モデルを生成できることが確認できた。
【0144】
本発明は、メッシュ生成、CAEの前処理におけるFEMメッシュに対するメッシュ変形、また、リバースエンジニアリングのためのソリッドモデル自動生成に適用できるものである。
【図面の簡単な説明】
【0145】
【図1】本発明の1つの実施の形態の解析曲面セグメンテーション装置の機能的構成を示すブロック図。
【図2】上記実施の形態の解析曲面セグメンテーション装置によるメッシュモデル・ソリッドモデル変換処理のフローチャート。
【図3】上記実施の形態によるシャープエッジ認識と主曲率算出結果を示す説明図。
【図4A】上記実施の形態による主曲率演算を適用する対象としての入力メッシュモデルの説明図。
【図4B】上記実施の形態による図4Aのメッシュモデルに対して抽出したシャープ頂点群の説明図。
【図4C】上記実施の形態による図4Aのメッシュモデルに対する最大主曲率算出結果の説明図。
【図4D】上記実施の形態による図4Aのメッシュモデルに対する最小主曲率算出結果の説明図。
【図5】上記実施の形態による3種類の主曲率算出法による演算結果を比較した説明図。
【図6】上記実施の形態によるシード領域の生成処理のフローチャート。
【図7】上記実施の形態によるトーラス面に対する主曲率のヒストグラム。
【図8】上記実施の形態によるシード領域生成結果の説明図。
【図9】上記実施の形態による領域拡大法によるシード領域拡大処理のフローチャート。
【図10】上記実施の形態による解析曲面領域のうちの平面領域を抽出するためのパラメータの説明図。
【図11】上記実施の形態による解析曲面領域のうちの円筒面領域を抽出するためのパラメータの説明図。
【図12】上記実施の形態による解析曲面領域のうちの球面領域を抽出するためのパラメータの説明図。
【図13】上記実施の形態による解析曲面領域のうちの円錐面領域を抽出するためのパラメータの説明図。
【図14】上記実施の形態による解析曲面領域のうちのトーラス面領域を抽出するためのパラメータの説明図。
【図15】上記実施の形態による解析曲面領域のうちの円筒面領域の抽出処理の説明図。
【図16】上記実施の形態による解析曲面領域のうちの円筒面領域を抽出するためのパラメータを求める処理の説明図その1。
【図17】上記実施の形態による解析曲面領域のうちの円筒面領域を抽出するためのパラメータを求める処理の説明図その2。
【図18A】上記実施の形態による領域拡大処理における初期のシード領域を示す説明図。
【図18B】上記実施の形態による領域拡大処理において、平面のシード領域に対してそれに隣接する円錐面のシード領域から2頂点を取り込む領域拡大を行った結果を示す説明図。
【図18C】上記実施の形態による領域拡大処理において、平面のシード領域に隣接する円錐面のシード領域から2頂点を削除した状態を示す説明図。
【図18D】上記実施の形態による領域拡大処理において、平面のシード領域とそれに隣接する円筒面のシード領域とを抽出した状態を示す説明図。
【図19】上記実施の形態において、領域拡大処理にて抽出した解析曲面群を示す説明図。
【図20A】上記実施の形態による領域境界線抽出処理の対象モデルを示す説明図。
【図20B】上記実施の形態による領域境界線の抽出結果を示す説明図。
【図21】上記実施の形態によるフィレット面の定義を示す図表。
【図22】上記実施の形態による平面と球面との間のトーラス型フィレット面FLT1を示す説明図。
【図23】上記実施の形態による平面と円筒面との間のトーラス型フィレット面FLT2を示す説明図。
【図24】上記実施の形態による2曲面間にある円筒型フィレット面FLT3を示す説明図。
【図25】上記実施の形態による3曲面間にある球型、トーラス型フィレット面FLT4,FLT4’を示す説明図。
【図26A】上記実施の形態によるフィレット面の認識結果を示す説明図(1)。
【図26B】上記実施の形態によるフィレット面の認識結果を示す説明図(2)。
【図27A】上記実施の形態によるフィレット面の認識の対象とした入力メッシュモデルの説明図。
【図27B】図27Aのメッシュモデルに対する解析曲面群の認識結果を示す説明図。
【図27C】図27Aのメッシュモデルに対するフィレット面の認識結果を示す説明図。
【図28】上記実施の形態による線形押し出し面領域の抽出処理の説明図。
【図29】上記実施の形態による回転面領域の抽出処理の説明図。
【図30】上記実施の形態により抽出された線形押し出し面領域と回転面領域を示す説明図。
【図31】本発明の1つの実施例による入力メッシュモデルと最終セグメンテーション結果を示す説明図。
【図32A】本発明の別の実施例による認識対象とするソリッドモデルの説明図。
【図32B】上記別の実施例による認識対象とするメッシュモデルの説明図。
【図32C】上記別の実施例によるシード領域の抽出結果の説明図。
【図32D】上記別の実施例による解析領域の抽出結果の説明図。
【図32E】上記別の実施例による境界線の抽出結果の説明図。
【図32F】上記別の実施例による線形押し出し面領域の抽出結果の説明図。
【図33A】本発明のさらに別の実施例による認識対象とするメッシュモデルの説明図。
【図33B】上記さらに別の実施例による解析曲面の抽出結果の説明図。
【符号の説明】
【0146】
1 入出力制御部
2 データ記憶部
3 メッシュ主曲率算出部
4 シード領域生成部
5 解析曲面領域抽出部
6 境界線抽出部
7 領域種別認識部
8 ソリッドモデルデータ生成部
9 制御演算処理部
21 キーボード
22 マウス
23 ディスプレイ
100 解析曲面セグメンテーション装置
【特許請求の範囲】
【請求項1】
入力された若しくは記憶装置から読出されたメッシュモデルデータを受け付けるメッシュデータ受付手段と、
前記メッシュモデルデータからメッシュモデルの各頂点の主曲率を計算し、最大主曲率の値が閾値より大きな頂点をシャープ頂点として除外するメッシュ主曲率算出手段と、
前記シャープ頂点ではない頂点の主曲率をもとに、ある1つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成するシード領域生成手段と、
前記シード領域生成手段が生成したシード領域内の頂点に基づき、各解析曲面を定義する幾何パラメータを決定し、前記シード領域に解析曲面をフィッティングする解析曲面フィッティング手段と、
前記シード領域生成手段が生成したシード領域に隣接する頂点のうち、前記解析曲面フィッティング手段がフィッティングした解析曲面に対する位置と法線の誤差が閾値よりも小さい頂点を当該シード領域に追加してシード領域を拡大して、拡大したシード領域を表わす解析曲面領域を抽出する解析曲面領域抽出手段と、
前記解析曲面領域抽出手段が抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識する解析曲面領域認識手段と、
前記解析曲面領域抽出手段の抽出した解析曲面と前記解析曲面領域認識手段が認識したフィレット面領域、線形押し出し面領域及び回転面領域との認識結果を出力するデータ出力手段とを備えたことを特徴とする解析曲面セグメンテーション装置。
【請求項2】
前記メッシュ主曲率算出手段は、曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの2倍に設定し、各頂点の主曲率を算出し、最大主曲率の値が閾値より大きな頂点をシャープ頂点と分類し、当該シャープ頂点でない頂点に対して、前記曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの5倍に設定し、主曲率を算出するものであることを特徴とする請求項1に記載の解析曲面セグメンテーション装置。
【請求項3】
前記シード領域生成手段は、前記主曲率算出手段が算出した各頂点の主曲率値を比較し、各頂点に対してそれが平面、円筒面、円錐面、球面、その他の面のうちのどれに属するかを識別するラベルを割り当てる頂点ラベリング手段と、前記頂点ラベリング手段が割り当てたラベルに基づき、同じラベルを持つ連結頂点集合をシード領域として抽出するシード領域抽出手段とから成ることを特徴とする請求項1に記載の解析曲面セグメンテーション装置。
【請求項4】
前記頂点ラベリング手段は、前記その他の面に属するラベルが割り当てられた頂点に対して、横軸を主曲率、縦軸をその主曲率の値を持つ頂点数としたヒストグラムを作成し、ある主曲率値を持つ頂点数が閾値より大きければ、それらの頂点群にトーラス面のラベルを割り当てることを特徴とする請求項3に記載の解析曲面セグメンテーション装置。
【請求項5】
前記解析曲面フィッティング手段は、円筒・円錐面については、
まず、シード領域内の頂点の法線のガウス球との交点に平面をフィッティングし、この平面の法線を軸方向として算出し、
円筒面については、シード領域内の頂点を、軸方向を法線に持ち原点を通る平面に投影し、投影面上で円弧をフィッティングし、その中心と軸上の任意点を求め、
円錐面については、円錐の頂点とメッシュの各頂点とを結ぶベクトルがメッシュの各頂点の法線と直交するという条件から、その頂点を最小2乗法を用いて算出し、最後に、軸方向とメッシュ頂点の法線のなす角度の平均値から頂角を求めることを特徴とする請求項3又は4に記載の解析曲面セグメンテーション装置。
【請求項6】
前記解析曲面フィッティング手段は、トーラス面については、
まず、軸方向と軸上の任意点を求め、次に、これらをもとに中心点をcとおき、さらに、メッシュの各頂点からその法線方向に小半径rだけトーラスの内側方向に離れた点をc’とおき、中心点cと点c’との距離が大半径Rであるといった性質から、中心点c、大半径R、小半径rを最小2乗法により求めることを特徴とする請求項3又は4に記載の解析曲面セグメンテーション装置。
【請求項7】
入力された若しくは記憶装置から読出されたメッシュモデルデータを受け付けるステップと、
前記メッシュモデルデータからメッシュモデルの各頂点の主曲率を計算し、最大主曲率の値が閾値より大きな頂点をシャープ頂点として除外するメッシュ主曲率算出ステップと、
前記シャープ頂点ではない頂点の主曲率をもとに、ある1つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成するシード領域生成ステップと、
前記シード領域生成ステップで生成したシード領域内の頂点に基づき、各解析曲面を定義する幾何パラメータを決定し、前記シード領域に解析曲面をフィッティングする解析曲面フィッティングステップと、
前記シード領域生成ステップで生成したシード領域に隣接する頂点のうち、前記解析曲面フィッティングステップでフィッティングした解析曲面に対する位置と法線の誤差が閾値よりも小さい頂点を当該シード領域に追加してシード領域を拡大して、拡大したシード領域を表わす解析曲面領域を抽出する解析曲面領域抽出ステップと、
前記解析曲面領域抽出ステップで抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識する解析曲面領域認識ステップと、
前記解析曲面領域抽出ステップで抽出した解析曲面と前記解析曲面領域認識ステップで認識したフィレット面領域、線形押し出し面領域及び回転面領域との認識結果を出力するデータ出力ステップとを有することを特徴とする解析曲面セグメンテーション方法。
【請求項8】
前記メッシュ主曲率算出ステップは、曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの2倍に設定し、各頂点の主曲率を算出し、最大主曲率の値が閾値より大きな頂点をシャープ頂点と分類し、当該シャープ頂点でない頂点に対して、前記曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの5倍に設定し、主曲率を算出することを特徴とする請求項7に記載の解析曲面セグメンテーション方法。
【請求項9】
前記シード領域生成ステップは、前記メッシュ主曲率算出ステップで算出した各頂点の主曲率値を比較し、各頂点に対してそれが平面、円筒面、円錐面、球面、その他の面のうちのどれに属するかを識別するラベルを割り当てる頂点ラベリングステップと、前記頂点ラベリングステップで割り当てたラベルに基づき、同じラベルを持つ連結頂点集合をシード領域として抽出するシード領域抽出ステップとを有することを特徴とする請求項7に記載の解析曲面セグメンテーション方法。
【請求項10】
前記頂点ラベリングステップは、前記その他の面に属するラベルが割り当てられた頂点に対して、横軸を主曲率、縦軸をその主曲率の値を持つ頂点数としたヒストグラムを作成し、ある主曲率値を持つ頂点数が閾値より大きければ、それらの頂点群にトーラス面のラベルを割り当てることを特徴とする請求項9に記載の解析曲面セグメンテーション方法。
【請求項11】
前記解析曲面フィッティングステップは、円筒・円錐面については、
まず、シード領域内の頂点の法線のガウス球との交点に平面をフィッティングし、この平面の法線を軸方向として算出し、
円筒面については、シード領域内の頂点を、軸方向を法線に持ち原点を通る平面に投影し、投影面上で円弧をフィッティングし、その中心と軸上の任意点を求め、
円錐面については、円錐の頂点とメッシュの各頂点とを結ぶベクトルがメッシュの各頂点の法線と直交するという条件から、その頂点を最小2乗法を用いて算出し、最後に、軸方向とメッシュ頂点の法線のなす角度の平均値から頂角を求めることを特徴とする請求項9又は10に記載の解析曲面セグメンテーション方法。
【請求項12】
前記解析曲面フィッティングステップは、トーラス面については、
まず、軸方向と軸上の任意点を求め、次に、これらをもとに中心点をcとおき、さらに、メッシュの各頂点からその法線方向に小半径rだけトーラスの内側方向に離れた点をc’とおき、中心点cと点c’との距離が大半径Rであるといった性質から、中心点c、大半径R、小半径rを最小2乗法により求めることを特徴とする請求項9又は10に記載の解析曲面セグメンテーション方法。
【請求項13】
入力された若しくは記憶装置から読出されたメッシュモデルデータを受け付けるステップと、
前記メッシュモデルデータからメッシュモデルの各頂点の主曲率を計算し、最大主曲率の値が閾値より大きな頂点をシャープ頂点として除外するメッシュ主曲率算出ステップと、
前記シャープ頂点ではない頂点の主曲率をもとに、ある1つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成するシード領域生成ステップと、
前記シード領域生成ステップで生成したシード領域内の頂点に基づき、各解析曲面を定義する幾何パラメータを決定し、前記シード領域に解析曲面をフィッティングする解析曲面フィッティングステップと、
前記シード領域生成ステップで生成したシード領域に隣接する頂点のうち、前記解析曲面フィッティングステップでフィッティングした解析曲面に対する位置と法線の誤差が閾値よりも小さい頂点を当該シード領域に追加してシード領域を拡大して、拡大したシード領域を表わす解析曲面領域を抽出する解析曲面領域抽出ステップと、
前記解析曲面領域抽出ステップで抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識する解析曲面領域認識ステップと、
前記解析曲面領域抽出ステップで抽出した解析曲面と前記解析曲面領域認識ステップで認識したフィレット面領域、線形押し出し面領域及び回転面領域との認識結果を出力するデータ出力ステップとをコンピュータに実行させることを特徴とする解析曲面セグメンテーションプログラム。
【請求項14】
前記メッシュ主曲率算出ステップでは、前記コンピュータに、曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの2倍に設定し、各頂点の主曲率を算出し、最大主曲率の値が閾値より大きな頂点をシャープ頂点と分類し、当該シャープ頂点でない頂点に対して、前記曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの5倍に設定し、主曲率を算出させることを特徴とする請求項13に記載の解析曲面セグメンテーションプログラム。
【請求項15】
前記シード領域生成ステップでは、前記コンピュータに、前記メッシュ主曲率算出ステップで算出した各頂点の主曲率値を比較し、各頂点に対してそれが平面、円筒面、円錐面、球面、その他の面のうちのどれに属するかを識別するラベルを割り当てる頂点ラベリングステップと、前記頂点ラベリングステップで割り当てたラベルに基づき、同じラベルを持つ連結頂点集合をシード領域として抽出するシード領域抽出ステップとを実行させることを特徴とする請求項13に記載の解析曲面セグメンテーションプログラム。
【請求項16】
前記頂点ラベリングステップでは、前記コンピュータに、前記その他の面に属するラベルが割り当てられた頂点に対して、横軸を主曲率、縦軸をその主曲率の値を持つ頂点数としたヒストグラムを作成し、ある主曲率値を持つ頂点数が閾値より大きければ、それらの頂点群にトーラス面のラベルを割り当てさせることを特徴とする請求項15に記載の解析曲面セグメンテーションプログラム。
【請求項17】
前記解析曲面フィッティングステップでは、前記コンピュータに、
円筒・円錐面については、まず、シード領域内の頂点の法線のガウス球との交点に平面をフィッティングし、この平面の法線を軸方向として算出し、
円筒面については、シード領域内の頂点を、軸方向を法線に持ち原点を通る平面に投影し、投影面上で円弧をフィッティングし、その中心と軸上の任意点を求め、
円錐面については、円錐の頂点とメッシュの各頂点とを結ぶベクトルがメッシュの各頂点の法線と直交するという条件から、その頂点を最小2乗法を用いて算出し、最後に、軸方向とメッシュ頂点の法線のなす角度の平均値から頂角を求めさせることを特徴とする請求項15又は16に記載の解析曲面セグメンテーションプログラム。
【請求項18】
前記解析曲面フィッティングステップでは、前記コンピュータに、
トーラス面については、まず、軸方向と軸上の任意点を求め、次に、これらをもとに中心点をcとおき、さらに、メッシュの各頂点からその法線方向に小半径rだけトーラスの内側方向に離れた点をc’とおき、中心点cと点c’との距離が大半径Rであるといった性質から、中心点c、大半径R、小半径rを最小2乗法により求めさせることを特徴とする請求項15又は16に記載の解析曲面セグメンテーションプログラム。
【請求項19】
入力された若しくは記憶装置から読出されたメッシュモデルデータを受け付けるステップと、
前記メッシュモデルデータからメッシュモデルの各頂点の主曲率を計算し、最大主曲率の値が閾値より大きな頂点をシャープ頂点として除外するメッシュ主曲率算出ステップと、
前記シャープ頂点ではない頂点の主曲率をもとに、ある1つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成するシード領域生成ステップと、
前記シード領域生成ステップで生成したシード領域内の頂点に基づき、各解析曲面を定義する幾何パラメータを決定し、前記シード領域に解析曲面をフィッティングする解析曲面フィッティングステップと、
前記シード領域生成ステップで生成したシード領域に隣接する頂点のうち、前記解析曲面フィッティングステップでフィッティングした解析曲面に対する位置と法線の誤差が閾値よりも小さい頂点を当該シード領域に追加してシード領域を拡大して、拡大したシード領域を表わす解析曲面領域を抽出する解析曲面領域抽出ステップと、
前記解析曲面領域抽出ステップで抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識する解析曲面領域認識ステップと、
前記解析曲面領域抽出ステップで抽出した解析曲面と前記解析曲面領域認識ステップで認識したフィレット面領域、線形押し出し面領域及び回転面領域との認識結果を出力するデータ出力ステップとを有する解析曲面セグメンテーションプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項20】
前記メッシュ主曲率算出ステップでは、曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの2倍に設定し、各頂点の主曲率を算出し、最大主曲率の値が閾値より大きな頂点をシャープ頂点と分類し、当該シャープ頂点でない頂点に対して、前記曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの5倍に設定し、主曲率を算出することを特徴とする請求項19に記載の解析曲面セグメンテーションプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項21】
前記シード領域生成ステップでは、前記メッシュ主曲率算出ステップで算出した各頂点の主曲率値を比較し、各頂点に対してそれが平面、円筒面、円錐面、球面、その他の面のうちのどれに属するかを識別するラベルを割り当てる頂点ラベリングステップと、前記頂点ラベリングステップで割り当てたラベルに基づき、同じラベルを持つ連結頂点集合をシード領域として抽出するシード領域抽出ステップとを実行することを特徴とする請求項19に記載の解析曲面セグメンテーションプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項22】
前記頂点ラベリングステップでは、前記その他の面に属するラベルが割り当てられた頂点に対して、横軸を主曲率、縦軸をその主曲率の値を持つ頂点数としたヒストグラムを作成し、ある主曲率値を持つ頂点数が閾値より大きければ、それらの頂点群にトーラス面のラベルを割り当てることを特徴とする請求項21に記載の解析曲面セグメンテーションプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項23】
前記解析曲面フィッティングステップでは、
円筒・円錐面については、まず、シード領域内の頂点の法線のガウス球との交点に平面をフィッティングし、この平面の法線を軸方向として算出し、
円筒面については、シード領域内の頂点を、軸方向を法線に持ち原点を通る平面に投影し、投影面上で円弧をフィッティングし、その中心と軸上の任意点を求め、
円錐面については、円錐の頂点とメッシュの各頂点とを結ぶベクトルがメッシュの各頂点の法線と直交するという条件から、その頂点を最小2乗法を用いて算出し、最後に、軸方向とメッシュ頂点の法線のなす角度の平均値から頂角を求めることを特徴とする請求項21又は22に記載の解析曲面セグメンテーションプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項24】
前記解析曲面フィッティングステップでは、
トーラス面については、まず、軸方向と軸上の任意点を求め、次に、これらをもとに中心点をcとおき、さらに、メッシュの各頂点からその法線方向に小半径rだけトーラスの内側方向に離れた点をc’とおき、中心点cと点c’との距離が大半径Rであるといった性質から、中心点c、大半径R、小半径rを最小2乗法により求めることを特徴とする請求項21又は22に記載の解析曲面セグメンテーションプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項1】
入力された若しくは記憶装置から読出されたメッシュモデルデータを受け付けるメッシュデータ受付手段と、
前記メッシュモデルデータからメッシュモデルの各頂点の主曲率を計算し、最大主曲率の値が閾値より大きな頂点をシャープ頂点として除外するメッシュ主曲率算出手段と、
前記シャープ頂点ではない頂点の主曲率をもとに、ある1つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成するシード領域生成手段と、
前記シード領域生成手段が生成したシード領域内の頂点に基づき、各解析曲面を定義する幾何パラメータを決定し、前記シード領域に解析曲面をフィッティングする解析曲面フィッティング手段と、
前記シード領域生成手段が生成したシード領域に隣接する頂点のうち、前記解析曲面フィッティング手段がフィッティングした解析曲面に対する位置と法線の誤差が閾値よりも小さい頂点を当該シード領域に追加してシード領域を拡大して、拡大したシード領域を表わす解析曲面領域を抽出する解析曲面領域抽出手段と、
前記解析曲面領域抽出手段が抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識する解析曲面領域認識手段と、
前記解析曲面領域抽出手段の抽出した解析曲面と前記解析曲面領域認識手段が認識したフィレット面領域、線形押し出し面領域及び回転面領域との認識結果を出力するデータ出力手段とを備えたことを特徴とする解析曲面セグメンテーション装置。
【請求項2】
前記メッシュ主曲率算出手段は、曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの2倍に設定し、各頂点の主曲率を算出し、最大主曲率の値が閾値より大きな頂点をシャープ頂点と分類し、当該シャープ頂点でない頂点に対して、前記曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの5倍に設定し、主曲率を算出するものであることを特徴とする請求項1に記載の解析曲面セグメンテーション装置。
【請求項3】
前記シード領域生成手段は、前記主曲率算出手段が算出した各頂点の主曲率値を比較し、各頂点に対してそれが平面、円筒面、円錐面、球面、その他の面のうちのどれに属するかを識別するラベルを割り当てる頂点ラベリング手段と、前記頂点ラベリング手段が割り当てたラベルに基づき、同じラベルを持つ連結頂点集合をシード領域として抽出するシード領域抽出手段とから成ることを特徴とする請求項1に記載の解析曲面セグメンテーション装置。
【請求項4】
前記頂点ラベリング手段は、前記その他の面に属するラベルが割り当てられた頂点に対して、横軸を主曲率、縦軸をその主曲率の値を持つ頂点数としたヒストグラムを作成し、ある主曲率値を持つ頂点数が閾値より大きければ、それらの頂点群にトーラス面のラベルを割り当てることを特徴とする請求項3に記載の解析曲面セグメンテーション装置。
【請求項5】
前記解析曲面フィッティング手段は、円筒・円錐面については、
まず、シード領域内の頂点の法線のガウス球との交点に平面をフィッティングし、この平面の法線を軸方向として算出し、
円筒面については、シード領域内の頂点を、軸方向を法線に持ち原点を通る平面に投影し、投影面上で円弧をフィッティングし、その中心と軸上の任意点を求め、
円錐面については、円錐の頂点とメッシュの各頂点とを結ぶベクトルがメッシュの各頂点の法線と直交するという条件から、その頂点を最小2乗法を用いて算出し、最後に、軸方向とメッシュ頂点の法線のなす角度の平均値から頂角を求めることを特徴とする請求項3又は4に記載の解析曲面セグメンテーション装置。
【請求項6】
前記解析曲面フィッティング手段は、トーラス面については、
まず、軸方向と軸上の任意点を求め、次に、これらをもとに中心点をcとおき、さらに、メッシュの各頂点からその法線方向に小半径rだけトーラスの内側方向に離れた点をc’とおき、中心点cと点c’との距離が大半径Rであるといった性質から、中心点c、大半径R、小半径rを最小2乗法により求めることを特徴とする請求項3又は4に記載の解析曲面セグメンテーション装置。
【請求項7】
入力された若しくは記憶装置から読出されたメッシュモデルデータを受け付けるステップと、
前記メッシュモデルデータからメッシュモデルの各頂点の主曲率を計算し、最大主曲率の値が閾値より大きな頂点をシャープ頂点として除外するメッシュ主曲率算出ステップと、
前記シャープ頂点ではない頂点の主曲率をもとに、ある1つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成するシード領域生成ステップと、
前記シード領域生成ステップで生成したシード領域内の頂点に基づき、各解析曲面を定義する幾何パラメータを決定し、前記シード領域に解析曲面をフィッティングする解析曲面フィッティングステップと、
前記シード領域生成ステップで生成したシード領域に隣接する頂点のうち、前記解析曲面フィッティングステップでフィッティングした解析曲面に対する位置と法線の誤差が閾値よりも小さい頂点を当該シード領域に追加してシード領域を拡大して、拡大したシード領域を表わす解析曲面領域を抽出する解析曲面領域抽出ステップと、
前記解析曲面領域抽出ステップで抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識する解析曲面領域認識ステップと、
前記解析曲面領域抽出ステップで抽出した解析曲面と前記解析曲面領域認識ステップで認識したフィレット面領域、線形押し出し面領域及び回転面領域との認識結果を出力するデータ出力ステップとを有することを特徴とする解析曲面セグメンテーション方法。
【請求項8】
前記メッシュ主曲率算出ステップは、曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの2倍に設定し、各頂点の主曲率を算出し、最大主曲率の値が閾値より大きな頂点をシャープ頂点と分類し、当該シャープ頂点でない頂点に対して、前記曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの5倍に設定し、主曲率を算出することを特徴とする請求項7に記載の解析曲面セグメンテーション方法。
【請求項9】
前記シード領域生成ステップは、前記メッシュ主曲率算出ステップで算出した各頂点の主曲率値を比較し、各頂点に対してそれが平面、円筒面、円錐面、球面、その他の面のうちのどれに属するかを識別するラベルを割り当てる頂点ラベリングステップと、前記頂点ラベリングステップで割り当てたラベルに基づき、同じラベルを持つ連結頂点集合をシード領域として抽出するシード領域抽出ステップとを有することを特徴とする請求項7に記載の解析曲面セグメンテーション方法。
【請求項10】
前記頂点ラベリングステップは、前記その他の面に属するラベルが割り当てられた頂点に対して、横軸を主曲率、縦軸をその主曲率の値を持つ頂点数としたヒストグラムを作成し、ある主曲率値を持つ頂点数が閾値より大きければ、それらの頂点群にトーラス面のラベルを割り当てることを特徴とする請求項9に記載の解析曲面セグメンテーション方法。
【請求項11】
前記解析曲面フィッティングステップは、円筒・円錐面については、
まず、シード領域内の頂点の法線のガウス球との交点に平面をフィッティングし、この平面の法線を軸方向として算出し、
円筒面については、シード領域内の頂点を、軸方向を法線に持ち原点を通る平面に投影し、投影面上で円弧をフィッティングし、その中心と軸上の任意点を求め、
円錐面については、円錐の頂点とメッシュの各頂点とを結ぶベクトルがメッシュの各頂点の法線と直交するという条件から、その頂点を最小2乗法を用いて算出し、最後に、軸方向とメッシュ頂点の法線のなす角度の平均値から頂角を求めることを特徴とする請求項9又は10に記載の解析曲面セグメンテーション方法。
【請求項12】
前記解析曲面フィッティングステップは、トーラス面については、
まず、軸方向と軸上の任意点を求め、次に、これらをもとに中心点をcとおき、さらに、メッシュの各頂点からその法線方向に小半径rだけトーラスの内側方向に離れた点をc’とおき、中心点cと点c’との距離が大半径Rであるといった性質から、中心点c、大半径R、小半径rを最小2乗法により求めることを特徴とする請求項9又は10に記載の解析曲面セグメンテーション方法。
【請求項13】
入力された若しくは記憶装置から読出されたメッシュモデルデータを受け付けるステップと、
前記メッシュモデルデータからメッシュモデルの各頂点の主曲率を計算し、最大主曲率の値が閾値より大きな頂点をシャープ頂点として除外するメッシュ主曲率算出ステップと、
前記シャープ頂点ではない頂点の主曲率をもとに、ある1つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成するシード領域生成ステップと、
前記シード領域生成ステップで生成したシード領域内の頂点に基づき、各解析曲面を定義する幾何パラメータを決定し、前記シード領域に解析曲面をフィッティングする解析曲面フィッティングステップと、
前記シード領域生成ステップで生成したシード領域に隣接する頂点のうち、前記解析曲面フィッティングステップでフィッティングした解析曲面に対する位置と法線の誤差が閾値よりも小さい頂点を当該シード領域に追加してシード領域を拡大して、拡大したシード領域を表わす解析曲面領域を抽出する解析曲面領域抽出ステップと、
前記解析曲面領域抽出ステップで抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識する解析曲面領域認識ステップと、
前記解析曲面領域抽出ステップで抽出した解析曲面と前記解析曲面領域認識ステップで認識したフィレット面領域、線形押し出し面領域及び回転面領域との認識結果を出力するデータ出力ステップとをコンピュータに実行させることを特徴とする解析曲面セグメンテーションプログラム。
【請求項14】
前記メッシュ主曲率算出ステップでは、前記コンピュータに、曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの2倍に設定し、各頂点の主曲率を算出し、最大主曲率の値が閾値より大きな頂点をシャープ頂点と分類し、当該シャープ頂点でない頂点に対して、前記曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの5倍に設定し、主曲率を算出させることを特徴とする請求項13に記載の解析曲面セグメンテーションプログラム。
【請求項15】
前記シード領域生成ステップでは、前記コンピュータに、前記メッシュ主曲率算出ステップで算出した各頂点の主曲率値を比較し、各頂点に対してそれが平面、円筒面、円錐面、球面、その他の面のうちのどれに属するかを識別するラベルを割り当てる頂点ラベリングステップと、前記頂点ラベリングステップで割り当てたラベルに基づき、同じラベルを持つ連結頂点集合をシード領域として抽出するシード領域抽出ステップとを実行させることを特徴とする請求項13に記載の解析曲面セグメンテーションプログラム。
【請求項16】
前記頂点ラベリングステップでは、前記コンピュータに、前記その他の面に属するラベルが割り当てられた頂点に対して、横軸を主曲率、縦軸をその主曲率の値を持つ頂点数としたヒストグラムを作成し、ある主曲率値を持つ頂点数が閾値より大きければ、それらの頂点群にトーラス面のラベルを割り当てさせることを特徴とする請求項15に記載の解析曲面セグメンテーションプログラム。
【請求項17】
前記解析曲面フィッティングステップでは、前記コンピュータに、
円筒・円錐面については、まず、シード領域内の頂点の法線のガウス球との交点に平面をフィッティングし、この平面の法線を軸方向として算出し、
円筒面については、シード領域内の頂点を、軸方向を法線に持ち原点を通る平面に投影し、投影面上で円弧をフィッティングし、その中心と軸上の任意点を求め、
円錐面については、円錐の頂点とメッシュの各頂点とを結ぶベクトルがメッシュの各頂点の法線と直交するという条件から、その頂点を最小2乗法を用いて算出し、最後に、軸方向とメッシュ頂点の法線のなす角度の平均値から頂角を求めさせることを特徴とする請求項15又は16に記載の解析曲面セグメンテーションプログラム。
【請求項18】
前記解析曲面フィッティングステップでは、前記コンピュータに、
トーラス面については、まず、軸方向と軸上の任意点を求め、次に、これらをもとに中心点をcとおき、さらに、メッシュの各頂点からその法線方向に小半径rだけトーラスの内側方向に離れた点をc’とおき、中心点cと点c’との距離が大半径Rであるといった性質から、中心点c、大半径R、小半径rを最小2乗法により求めさせることを特徴とする請求項15又は16に記載の解析曲面セグメンテーションプログラム。
【請求項19】
入力された若しくは記憶装置から読出されたメッシュモデルデータを受け付けるステップと、
前記メッシュモデルデータからメッシュモデルの各頂点の主曲率を計算し、最大主曲率の値が閾値より大きな頂点をシャープ頂点として除外するメッシュ主曲率算出ステップと、
前記シャープ頂点ではない頂点の主曲率をもとに、ある1つの解析曲面に属しているとみなせる連結頂点集合からなるシード領域を生成するシード領域生成ステップと、
前記シード領域生成ステップで生成したシード領域内の頂点に基づき、各解析曲面を定義する幾何パラメータを決定し、前記シード領域に解析曲面をフィッティングする解析曲面フィッティングステップと、
前記シード領域生成ステップで生成したシード領域に隣接する頂点のうち、前記解析曲面フィッティングステップでフィッティングした解析曲面に対する位置と法線の誤差が閾値よりも小さい頂点を当該シード領域に追加してシード領域を拡大して、拡大したシード領域を表わす解析曲面領域を抽出する解析曲面領域抽出ステップと、
前記解析曲面領域抽出ステップで抽出した複数の連結した解析曲面領域それぞれについて、フィレット面領域、線形押し出し面領域又は回転面領域を認識する解析曲面領域認識ステップと、
前記解析曲面領域抽出ステップで抽出した解析曲面と前記解析曲面領域認識ステップで認識したフィレット面領域、線形押し出し面領域及び回転面領域との認識結果を出力するデータ出力ステップとを有する解析曲面セグメンテーションプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項20】
前記メッシュ主曲率算出ステップでは、曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの2倍に設定し、各頂点の主曲率を算出し、最大主曲率の値が閾値より大きな頂点をシャープ頂点と分類し、当該シャープ頂点でない頂点に対して、前記曲率評価範囲を決定するパラメータの値を各頂点に接続する稜線の平均長さの5倍に設定し、主曲率を算出することを特徴とする請求項19に記載の解析曲面セグメンテーションプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項21】
前記シード領域生成ステップでは、前記メッシュ主曲率算出ステップで算出した各頂点の主曲率値を比較し、各頂点に対してそれが平面、円筒面、円錐面、球面、その他の面のうちのどれに属するかを識別するラベルを割り当てる頂点ラベリングステップと、前記頂点ラベリングステップで割り当てたラベルに基づき、同じラベルを持つ連結頂点集合をシード領域として抽出するシード領域抽出ステップとを実行することを特徴とする請求項19に記載の解析曲面セグメンテーションプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項22】
前記頂点ラベリングステップでは、前記その他の面に属するラベルが割り当てられた頂点に対して、横軸を主曲率、縦軸をその主曲率の値を持つ頂点数としたヒストグラムを作成し、ある主曲率値を持つ頂点数が閾値より大きければ、それらの頂点群にトーラス面のラベルを割り当てることを特徴とする請求項21に記載の解析曲面セグメンテーションプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項23】
前記解析曲面フィッティングステップでは、
円筒・円錐面については、まず、シード領域内の頂点の法線のガウス球との交点に平面をフィッティングし、この平面の法線を軸方向として算出し、
円筒面については、シード領域内の頂点を、軸方向を法線に持ち原点を通る平面に投影し、投影面上で円弧をフィッティングし、その中心と軸上の任意点を求め、
円錐面については、円錐の頂点とメッシュの各頂点とを結ぶベクトルがメッシュの各頂点の法線と直交するという条件から、その頂点を最小2乗法を用いて算出し、最後に、軸方向とメッシュ頂点の法線のなす角度の平均値から頂角を求めることを特徴とする請求項21又は22に記載の解析曲面セグメンテーションプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項24】
前記解析曲面フィッティングステップでは、
トーラス面については、まず、軸方向と軸上の任意点を求め、次に、これらをもとに中心点をcとおき、さらに、メッシュの各頂点からその法線方向に小半径rだけトーラスの内側方向に離れた点をc’とおき、中心点cと点c’との距離が大半径Rであるといった性質から、中心点c、大半径R、小半径rを最小2乗法により求めることを特徴とする請求項21又は22に記載の解析曲面セグメンテーションプログラムを記録したコンピュータ読取り可能な記録媒体。
【図1】
【図2】
【図3】
【図4A】
【図4B】
【図4C】
【図4D】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18A】
【図18B】
【図18C】
【図18D】
【図19】
【図20A】
【図20B】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26A】
【図26B】
【図27A】
【図27B】
【図27C】
【図28】
【図29】
【図30】
【図31】
【図32A】
【図32B】
【図32C】
【図32D】
【図32E】
【図32F】
【図33A】
【図33B】
【図2】
【図3】
【図4A】
【図4B】
【図4C】
【図4D】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18A】
【図18B】
【図18C】
【図18D】
【図19】
【図20A】
【図20B】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26A】
【図26B】
【図27A】
【図27B】
【図27C】
【図28】
【図29】
【図30】
【図31】
【図32A】
【図32B】
【図32C】
【図32D】
【図32E】
【図32F】
【図33A】
【図33B】
【公開番号】特開2007−241996(P2007−241996A)
【公開日】平成19年9月20日(2007.9.20)
【国際特許分類】
【出願番号】特願2007−15473(P2007−15473)
【出願日】平成19年1月25日(2007.1.25)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 2006年7月26日スプリンガー発行の「第4回国際会議 幾何モデリングとプロセッシング−GMP2006 講演録」に発表
【出願人】(504173471)国立大学法人 北海道大学 (971)
【Fターム(参考)】
【公開日】平成19年9月20日(2007.9.20)
【国際特許分類】
【出願日】平成19年1月25日(2007.1.25)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 2006年7月26日スプリンガー発行の「第4回国際会議 幾何モデリングとプロセッシング−GMP2006 講演録」に発表
【出願人】(504173471)国立大学法人 北海道大学 (971)
【Fターム(参考)】
[ Back to top ]