説明

3次元メッシュモデルの特徴稜線抽出装置、プログラム及び方法

【課題】3次元メッシュモデルからのソリッドモデルの自動生成を支援するための、広域的法線評価と改良Watershed法に基づく3次元メッシュモデルの特徴稜線抽出技術を提供する。
【解決手段】 3次元メッシュモデルのデータを用い、ユークリッド距離で定めた領域内の三角形集合の法線を広域的に評価することにより稜線と頂点の特徴量を算出し、算出した頂点特徴量の離散化および差分化を行うことにより、第1、第2の要求条件を満たす特徴稜線を抽出し、算出した特徴量に基づいて、頂点をグルーピング可能な改良Watershed法を用いて連結三角形集合からなる領域分けを行い、この領域の境界線を特徴稜線として抽出し、抽出した特徴稜線のうち、ユーザの要求する特徴稜線のみを対話的に選択させ、選択された特徴稜線のデータを出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソリッドモデルの自動生成を目的とした3次元メッシュモデルの特徴稜線抽出装置、プログラム及び方法に関する。
【背景技術】
【0002】
近年、リバースエンジニアリングにおける3次元測定機の性能向上により、物理モデルからの高密度メッシュモデルの作成が可能となり、工業製品開発における意匠設計段階でこのようなメッシュモデルを用いる機会が多くなってきている。また、3次元(3D)データベース内のメッシュモデルが劇的に増加していることから、これらの検索から得られるメッシュモデルを再利用し、製品の意匠設計に用いることも可能となっている。
【0003】
しかし、工業製品開発の詳細設計のためには、最終的に設計対象のソリッドモデルを生成することが必要となるが、現状ではこの3次元メッシュモデルからソリッドモデルを生成するために多くの時間を費やしている。そこで製品開発期間短縮のため、メッシュモデルからソリッドモデルを自動で生成する技術が望まれている。このような3次元メッシュモデルからのソリッドモデル生成に関する研究は、リバースエンジニアリングの分野で盛んに研究が行われているが、現状では複雑な形状のソリッドモデルを自動で生成することは困難である。
【0004】
メッシュモデルからソリッドモデルを自動で生成するためのアプローチの1つに、まずメッシュモデルから特徴稜線を適切に抽出し、その特徴稜線を活かして曲面フィッティングを行う技術がある(P.Benko, R.R.Martin, and T.Varady. "Algorithms for reverse engineering boundary representation models." Computer-Aided Design 33(11), 839-851, 2001.―非特許文献1)。ここで述べる特徴稜線とは、機能的に1つの面分として認識することが望ましい連結された多角形(三角形メッシュの場合は三角形)集合からなる領域の境界線を意味する。この観点から、特徴稜線抽出に対する要求条件として以下の4つがある。
【0005】
その第1の要求条件は、ノイズやメッシュ分割方法にできるだけ影響を受けずに特徴稜線が抽出できることである。第2の要求条件は、工業製品に多く含まれるフィレット面(面と面とをつなぐ丸い曲面)の境界線を特徴稜線として抽出できることである。第3の要求条件は、抽出される特徴稜線がループをなし、これに囲まれた領域を1つの面分として認識できることである。そして第4の要求条件は、ユーザの利用目的に応じた特徴稜線が選択的に抽出できることである。しかしながら既存の特徴稜線抽出技術では、上記4つの要求条件すべてを満たすものは知られていない。
【0006】
メッシュモデルからの特徴稜線抽出する方法としては、大きく分けて2つの方法がある。1つは特徴稜線を直接抽出する方法であり、もう1つは領域分けの結果として得られる領域の境界線を特徴稜線として抽出する方法である。
【0007】
前者の特徴稜線を直接抽出する方法は、『渡辺大地、千代倉弘明、「任意三角形メッシュからの特徴稜線抽出」、電子情報通信学会論文誌 D-IIJ83-D-II (5) 1344-1352, 2000.―非特許文献2』、『A.Meyer and P.Marin. "Segmentation of 3D triangulated data points using edges constructed with a C1 discontinuous surface fitting." Computer-Aided Design 36, 1327-1336, 2004.―非特許文献3』、『Yutaka Ohtake, Alexander Belyaev, and Hans-Peter Seidel. "Ridge-Valley Lines on Meshes via Implicit Surface Fitting." ACM Transactions on Graphics 23(3), 652-663, 2004.―非特許文献4』に提案されている。非特許文献2の方法は、三角形メッシュモデルの単純化の際に、形状特徴を表す稜線をできるだけ保存することを目的とし、まず各稜線に対して、稜線接続性、隣接2平面間角度、位相距離で定められる部分領域内の湾曲度の3つを考慮して稜線特徴量を算出し、この値がユーザの指定した閾値以上の稜線をグルーピングし特徴稜線として抽出するものである。しかしこの方法では、位相距離により定められた領域内の稜線群を評価し稜線特徴量を算出するため、抽出される特徴稜線がメッシュの分割方法の影響を受けやすいという問題点があった。さらに、閾値処理に基づき特徴稜線を抽出するため、特徴稜線がループを形成しないという問題点もあった。
【0008】
非特許文献3の方法では、まずメッシュの2面角評価により処理の開始点を見つけ、次にその点から局所的な、不連続な形状をよく表現可能なabsoid曲面のフィッティングにより、本来の稜線の開始点を見つけ、そのabsoid曲面から得られる特徴稜線を生成することを繰り返し行い、最後に抽出された特徴稜線の端点を接続する。しかしこの方法では、複雑な形状が少ない数の三角形で構成される場合に特徴稜線がループをなさないことがある問題点があった。
【0009】
非特許文献4では、まず入力メッシュモデルから生成した近似陰関数曲面上での曲率を計算し、次にこれをもとに特徴稜線を検出し、最後に検出した特徴稜線をもとのメッシュモデルに投影することで、特徴稜線を抽出する方法を提案している。この方法では、メッシュから直接計算することは困難である高次の微分値を、入力メッシュから近似し生成した陰関数曲面上で計算し、これをもとにメッシュ上の山線・谷線を抽出する。しかし、この方法では、抽出される特徴稜線がループをなさず、ループを形成するには複雑な後処理が必要となるという問題点があり、加えて、メッシュの向きにより異なる特徴稜線が抽出される、陰関数曲面上で高次の微分値を計算するため計算時間がかかるという問題点もあった。
【0010】
後者の領域分けに基づく特徴稜線抽出方法として、『A.P.Mangan and R.T.Whitaker. "Partitioning 3D Surface Meshes Using Watershed Segmentation." IEEE Transactions on visualization and computer graphics 5(4), 308-321, 1999.―非特許文献5』、『Y. Sun, D. L. Page, J. K. Paik, A. Koschan, and M. A. Abidi. "Triangle mesh-based edge detection and its application to surface segmentation and adaptive surface smoothing." Proc. IEEE ICIP 2002, 825-828, 2002.―非特許文献6』、『Y. Sun. "Surface Modeling and Analysis Using Range Images, Smoothing, Registration, Integration and Segmentation." A Dissertation Presented for the Doctor of Philosophy Degree, The University of Tennessee, Knoxville, 2002.―非特許文献7』に、リバースエンジニアリングにより得られるノイズを多く含んだ三角形メッシュモデルの領域分けをする方法が提案されている。これらの方法では、まず各頂点の特徴量を算出し、次に算出した特徴量をもとにWatershed法を用いて領域分けを行うことで、各領域の境界線を特徴稜線として抽出することができる。しかしながら、Watershed法を用いると抽出される特徴稜線は頂点特徴量に大きく依存し、変化してしまう。そこで、特徴稜線抽出においてメッシュに含まれる測定ノイズやメッシュ分割方法の影響を受けにくくするためには、メッシュを局所的に評価するのではなく、メッシュを広域的に評価し、頂点特徴量を算出する必要がある。しかし、Watershed法では頂点集合からなる領域分けを行うため、隣接領域間にどの領域にも属さない三角形集合からなる隙間領域が生じ、その結果として、本来隣接領域の境界線として共有されるべき特徴稜線が共有されないという問題点があった。
【0011】
さらに、『S. Pulla, A. Razdan, and Gerald Farin. "Improved Curvature Estimation for Watershed Segmentation of 3-Dimensional Meshes." Arizona State University, Technical Report, 2001.―非特許文献8』では、特徴量を算出するために、まず入力メッシュの各頂点の近傍において近似ベジェ曲面を生成し、このベジェ曲面より各頂点の近似曲率を算出し、これを頂点特徴量とする方法が提案されている。この方法では、近似ペジェ曲面を生成する範囲を広域的に設定すれば、入力メッシュに含まれるノイズの影響は低減されるが、シャープな稜線上の頂点における特徴量に大きな誤差を含む問題点があった。また、算出される特徴量はその近似精度に依存し、近似精度を上げると計算時間がかかる問題点があった。
【0012】
また、『A. Razdan and M. S. Bae. "A hybrid approach to feature segmentation of triangle meshes." Computer-Aided Design 35, 783-789, 2003.―非特許文献9』では、従来のWatershed法では適切に領域分けされなかった、ソリッドモデルやパラメトリック曲面モデルのテセレーションから得られる三角形メッシュモデルなどに多く見られる、1つの領域として認識したい面内に頂点を含まない面(例えば、長方形が2つの三角形から構成される場合など)を含むメッシュモデルを適切に領域分けできる、Watershed法をベースにした技術が提案されている。この非特許文献9の方法では、頂点特徴量算出には非特許文献8の方法を用いている。この方法では、すべての三角形がいずれかの領域に属する領域分けが行えるため、隣接領域間に隙間領域が生じず、その結果として抽出される特徴稜線は一致するといった利点がある。
【0013】
『M. Vieira and K. Shimada. "Segmentation of Noisy Laser-Scanner Generated Meshes with Piecewise Polynomial Approximations." Proceedings of DETC '04, 2004.―非特許文献10』では、入力メッシュの各頂点において近似双2次曲面を生成し、この近似曲面より各頂点の曲率を近似し、次にこの曲率に対してスムージングを適用することでノイズの影響をあまり受けないで特徴量を算出できる方法が提案されている。この方法ではさらに、上記の曲率を用いてシード領域を生成し、これを拡大していくことで頂点集合からなる領域分けを行う。しかし、この方法では頂点集合からなる領域を生成するため、隣接領域間にどの領域にも属さない三角形集合からなる隙間領域が生じ、その結果として、本来隣接領域の境界線として共有されるべき特徴稜線が共有されないという問題点があり、さらに、頂点数の少ない領域が生成され、これらの領域の境界線は微小な特徴稜線として抽出されるため、後の応用に利用しにくい問題点があった。
【0014】
特徴稜線抽出方法の別の提案として、『S. Katz and A. Tal. "Hierarchical mesh decomposition using fuzzy clustering and cuts." ACM Transactions on Graphics 22(3), 954-961, 2003.―非特許文献11』には、過度な領域分けを回避でき、滑らかな境界線を抽出できる階層的な方法が提案されている。この方法では、メッシュの双対グラフに対するカットを最大流量アルゴリズムを用いて解くことにより領域分けを行う。しかし、この方法では工業製品の領域分けに必要な面分単位での領域分けが困難であり、処理時間がかかる問題点があった。
【0015】
以上に述べたすべての従来技術には、共通の問題点として、いずれの方法もフィレット面の境界線を特徴稜線として適切に抽出できず、また、1通りの抽出パラメータ設定(例えば、特徴量を算出する際のメッシュの評価範囲を定めるパラメータ)では要求するすべての特徴稜線の抽出が困難である問題点があった。
【非特許文献1】P.Benko, R.R.Martin, and T.Varady. "Algorithms for reverse engineering boundary representation models." Computer-Aided Design 33(11), 839-851, 2001.
【非特許文献2】渡辺大地、千代倉弘明、「任意三角形メッシュからの特徴稜線抽出」、電子情報通信学会論文誌 D-IIJ83-D-II (5) 1344-1352, 2000.
【非特許文献3】A.Meyer and P.Marin. "Segmentation of 3D triangulated data points using edges constructed with a C1 discontinuous surface fitting." Computer-Aided Design 36, 1327-1336, 2004.
【非特許文献4】Yutaka Ohtake, Alexander Belyaev, and Hans-Peter Seidel. "Ridge-Valley Lines on Meshes via Implicit Surface Fitting." ACM Transactions on Graphics 23(3), 652-663, 2004.
【非特許文献5】A.P.Mangan and R.T.Whitaker. "Partitioning 3D Surface Meshes Using Watershed Segmentation." IEEE Transactions on visualization and computer graphics 5(4), 308-321, 1999.
【非特許文献6】Y. Sun, D. L. Page, J. K. Paik, A. Koschan, and M. A. Abidi. "Triangle mesh-based edge detection and its application to surface segmentation and adaptive surface smoothing." Proc. IEEE ICIP 2002, 825-828, 2002.
【非特許文献7】Y. Sun. "Surface Modeling and Analysis Using Range Images, Smoothing, Registration, Integration and Segmentation." A Dissertation Presented for the Doctor of Philosophy Degree, The University of Tennessee, Knoxville, 2002.
【非特許文献8】S. Pulla, A. Razdan, and Gerald Farin. "Improved Curvature Estimation for Watershed Segmentation of 3-Dimensional Meshes." Arizona State University, Technical Report, 2001.
【非特許文献9】A. Razdan and M. S. Bae. "A hybrid approach to feature segmentation of triangle meshes." Computer-Aided Design 35, 783-789, 2003.
【非特許文献10】M. Vieira and K. Shimada. "Segmentation of Noisy Laser-Scanner Generated Meshes with Piecewise Polynomial Approximations." Proceedings of DETC '04, 2004.
【非特許文献11】S. Katz and A. Tal. "Hierarchical mesh decomposition using fuzzy clustering and cuts." ACM Transactions on Graphics 22(3), 954-961, 2003.
【非特許文献12】Andre Bleau and L. Joshua Leon. "Watershed-Based Segmentation and Region Merging." Computer Vision and Image Understanding 77(3), 317-370, 2000.
【非特許文献13】J. B. T. M. Roerdink and A. Meijster. "Watershed Transform: Definitions, Algorithms and Parallelization Strategies." Fundamenta Informaticae 41, 87-228, IOS Press, 2001.
【発明の開示】
【発明が解決しようとする課題】
【0016】
本発明は、上述のような従来技術の問題点に鑑みてなされたものであり、メッシュモデルからのソリッドモデルの自動生成を支援するための、上記の4つの要求条件をすべて満たす、広域的法線評価と改良Watershed法に基づく3次元メッシュモデルの特徴稜線抽出技術を提供することを目的とする。
【課題を解決するための手段】
【0017】
請求項1の発明の3次元メッシュモデルの特徴稜線抽出装置は、諸データを保持する記憶手段と、前記記憶手段に保持されている3次元メッシュモデルを呼び出し、稜線特徴量と頂点特徴量を算出する特徴量算出手段と、前記特徴量算出手段の算出した頂点特徴量に基づいて、前記3次元メッシュモデルに対して連結三角形集合からなる領域分けを行い、この領域の境界線を特徴稜線として抽出する領域分け処理手段と、前記領域分け処理手段の抽出した特徴稜線のうち、ユーザの要求する特徴稜線のみを対話的に選択させ、選択された特徴稜線のデータを出力する特徴稜線選択的抽出手段とを備えたものである。
【0018】
請求項2の発明は、請求項1の3次元メッシュモデルの特徴稜線抽出装置において、前記特徴量算出手段は、前記記憶手段に保持されている3次元メッシュモデルに対して、ユークリッド距離で定めた領域内の三角形集合の法線を広域的に評価することにより稜線特徴量と頂点特徴量を算出し、前記領域分け処理手段は、前記特徴量算出手段の算出した頂点特徴量に基づいて、前記3次元メッシュモデルに対して改良Watershed法を用いて連結三角形集合からなる領域分けを行い、この領域の境界線を特徴稜線として抽出することを特徴とするものである。
【0019】
請求項3の発明の3次元メッシュモデルの特徴稜線抽出プログラムは、入力される若しくは記憶手段に保持されている3次元メッシュモデルのデータを呼び出す処理と、前記3次元メッシュモデルの稜線特徴量と頂点特徴量を算出する処理と、前記頂点特徴量に基づいて、前記3次元メッシュモデルに対して連結三角形集合からなる領域分けを行い、この領域の境界線を特徴稜線として抽出する処理と、前記特徴稜線のうち、ユーザの要求する特徴稜線のみを対話的に選択させ、選択された特徴稜線のデータを出力する処理とをコンピュータに実行させるものである。
【0020】
請求項4の発明は、請求項3の3次元メッシュモデルの特徴稜線抽出プログラムにおいて、前記特徴量を算出する処理では、前記3次元メッシュモデルに対して、ユークリッド距離で定めた領域内の三角形集合の法線を広域的に評価することにより稜線特徴量と頂点特徴量を算出し、前記特徴稜線を抽出する処理では、前記頂点特徴量に基づいて、前記3次元メッシュモデルに対して改良Watershed法を用いて連結三角形集合からなる領域分けを行い、この領域の境界線を特徴稜線として抽出することを特徴とするものである。
【0021】
請求項5の発明は、請求項3又は4の3次元メッシュモデルの特徴稜線抽出プログラムにおいて、抽出パラメータと繰り返し回数を設定する処理を有し、前記処理各々を、設定された抽出パラメータを用いて設定された繰り返し回数だけ繰り返し実行することを特徴とするものである。
【0022】
請求項6の発明の3次元メッシュモデルの特徴稜線抽出方法は、入力される若しくは記憶手段に保持されている3次元メッシュモデルを呼び出すステップと、前記3次元メッシュモデルの稜線特徴量と頂点特徴量を算出するステップと、算出した頂点特徴量に基づいて、前記3次元メッシュモデルに対して連結三角形集合からなる領域分けを行い、この領域の境界線を特徴稜線として抽出するステップと、前記特徴稜線のうち、ユーザの要求する特徴稜線のみを対話的に選択させ、選択された特徴稜線のデータを出力するステップとを有するものである。
【0023】
請求項7の発明の3次元メッシュモデルの特徴稜線抽出方法は、前記特徴量を算出するステップでは、前記3次元メッシュモデルに対して、ユークリッド距離で定めた領域内の三角形集合の法線を広域的に評価することにより稜線特徴量と頂点特徴量を算出し、前記特徴稜線を抽出するステップでは、前記頂点特徴量に基づいて、前記3次元メッシュモデルに対して改良Watershed法を用いて連結三角形集合からなる領域分けを行い、この領域の境界線を特徴稜線として抽出することを特徴とするものである。
【0024】
請求項8の発明は、請求項6又は7の3次元メッシュモデルの特徴稜線抽出方法において、抽出パラメータと繰り返し回数を設定するステップを有し、前記ステップ各々を、設定された抽出パラメータを用いて設定された繰り返し回数だけ繰り返すことを特徴とするものである。
【発明の効果】
【0025】
本発明によれば、メッシュに含まれる測定ノイズやメッシュ分割方法の影響をあまり受けずに特徴稜線抽出が可能である。また、特徴稜線で囲まれた領域を1つの面分として認識でき、従来の特徴稜線抽出技術では抽出しにくかったフィレット面の境界線を特徴稜線として抽出することができる。さらに、異なる抽出パラメータ設定より得られる特徴稜線群のうちのユーザが要求する稜線のみを選択的に合成し、これらを3次元CADシステムで読み込む機能が実現できる。
【発明を実施するための最良の形態】
【0026】
以下、本発明の実施の形態を図に基づいて詳説する。図1は、本発明の1つの実施の形態の3次元メッシュモデルの特徴稜線抽出装置の機能構成を示している。本実施の形態の装置はコンピュータシステムに下記諸演算処理機能を実行するソフトウェアをインストールすることによって実現されるものであるが、機能構成に分けて示すと、図2に示すように、頂点特徴量算出部1、領域分け処理部2、特徴稜線選択的抽出部3、そして諸データを格納する記憶装置4、抽出パラメータ設定部5、各部の演算処理機能を制御する演算処理制御部6、データ信号やその他の電気信号の入出力を行う入出力処理部7を備えている。そして通常コンピュータの周辺機器として最低限、入力手段としてキーボード8、マウスその他のポインティングデバイス9、また出力を表示するディスプレイ10がこの装置に接続されている。
【0027】
図2に示すように、本実施の形態の3次元メッシュモデルの特徴稜線抽出装置は、当該装置にて頂点特徴量算出処理SQ1、領域分け処理SQ2、特徴稜線選択的抽出処理SQ3をそれぞれの該当処理部1〜3にて実行する。
【0028】
頂点特徴量算出処理SQ1では、メッシュ上において、ユークリッド距離で定めた領域内の三角形集合の法線を広域的に評価することにより稜線や頂点の特徴量を算出する。さらに、頂点特徴量の離散化、および差分化を行うことによって特徴稜線を抽出する。領域分け処理SQ2では、頂点特徴量算出部SQ1で算出した特徴量に基づいて、頂点をグルーピング可能なWatershed法(T. Funkhouser, M. Kazhdan, P. Shilane, P. Min, W. Kiefer, A. Tal, S. Rusinkiewicz, and D. Dobkin. "Modeling by Example." ACM Transactions on Graphics 23(3), 609-612, 2004.)を改良した手法を用いて連結三角形集合からなる領域分けを行い、この領域の境界線を特徴稜線として抽出する。これにより第3の要求条件を満たす特徴稜線が抽出できる。特徴稜線選択的抽出処理SQ3は、領域分け処理SQ2で抽出された特徴稜線のうち、ユーザの要求する特徴稜線のみを対話的に選択させる。本実施の形態の3次元メッシュモデルの特徴稜線抽出装置では、これら3つの処理SQ1〜SQ3を、抽出パラメータ設定部5にて設定される異なる抽出パラメータ設定で数回繰り返し実行し、各パラメータ設定で抽出される特徴稜線群を対話的に集約する。
【0029】
まず、頂点特徴量算出処理SQ1について説明する。本実施の形態では、まず稜線の特徴量を算出し、この稜線特徴量をもとに頂点特徴量を算出する。稜線特徴量算出の最も単純な方法として、稜線を共有する2平面の2面角を計算する手法が考えられるが、この手法は2面角の値が大きなシャープな特徴稜線の抽出には有効だが、リバースエンジニアリングから得られるノイズを多く含んだメッシュモデルに対しては、局所的な形状に基づいた特徴量算出しか行っていないため、算出される特徴量がノイズの影響を受けやすく、隣接2平面の2面角の値が小さな特徴稜線の抽出は難しい。そこで本実施の形態では、稜線の近傍のユークリッド距離で定められる広域的な領域を評価し、特徴量を算出することで、この問題を解決する。図3は本実施の形態で実行する稜線特徴算出方法の説明図である。まず稜線eの中点を中心とする半径rの球Bを考える。次に、球Bに含まれる三角形の面法線ベクトルの和n(バー)と稜線eとで定義した平面を用いて球Bを、2つの半球BR、BLに分割する。次にBR、BL内の各三角形面分の面積で重み付けした面法線ベクトルの和nBR、nBLを数1式、数2式で計算する。
【数1】

【数2】

【0030】
ここで、nfは三角形面分fの単位面法線ベクトル、FBR、FBLはBR、BLに含まれる三角形の集合、|f∩BR|、|f∩BL|はfのBR、BLに含まれる部分の面積である。ただし、球や、球を分割した際に定義した平面と交差する三角形面分の球に含まれる部分の面積は、交差する部分を線分で置き換え、多角形で近似する。最後に面法線ベクトルnBR、nBLのなす角度を数3式で算出し、これを稜線eの特徴量θe(r)とする。
【数3】

【0031】
稜線特徴量θe(r)の値が基本特徴稜線識別閾値τθより大きい稜線を基本特徴稜線、さらに基本特徴稜線の両端の頂点を基本特徴頂点と分類する。ここで、稜線の両端の頂点が基本特徴頂点であっても、必ずしもその稜線が基本特徴稜線とはならない。
【0032】
次に、算出した稜線特徴量をもとに頂点特徴量を算出する。図4は頂点特徴算出のグラフであり、図5は各特徴量に基づく特徴稜線抽出結果の比較図である。それぞれ、(a)は連続特徴量、(b)は離散特徴量、(c)は差分特徴量を示している。まず頂点vに接続する稜線集合e*(v)内の稜線特徴量のうち、最も大きな稜線特徴量をvの連続特徴量gcon(v)とする。
【数4】

【0033】
数4式で得られる連続特徴量では、図4(a)のように本来1つの領域として認識したいフィレット面の頂点特徴量にばらつきが生じる。フィレットの開始位置にある頂点が小さい値を持ち、中央に近いほど大きな値を持ち、終了位置では開始位置と同じ小さい値を持つ。これをもとに後述する改良Watershed法を適用し領域分けを行うと、図5(a)のように、フィレット部が中央で2つに分割され、フィットの中央線が特徴稜線として抽出されてしまう。そこで図4(b)のように、頂点特徴量離散化閾値τvを用いてこの特徴量を離散化(2値化)したものをgdis(v)とし、これによりフィレット面の頂点の特徴量を一定値にする。しかし、この離散特徴量では図5(b)に示すように、Watershed法の性質上、抽出したいフィレット部はそれに滑らかに接続する片側の領域と同じ領域と認識され、フィレット面の片側の境界線しか抽出できない。そこで図4(c)のように、頂点vの1近傍頂点との離散特徴量の差分を数5式で計算し、これを差分特徴量gdif(v)とする。これを用いることで図5(c)に示すように、フィレット面の境界線が適切に抽出できる。
【数5】

【0034】
ここでv*はvの隣接頂点集合である。本発明では、フィレット面の境界線抽出にのみ差分特徴量を、それ以外の特徴稜線抽出には連続特徴量を用いる。
【0035】
次に、領域分け処理SQ2について説明する。この演算処理では、改良したWatershed法を実行する。Watershed法は、画像の領域分け発明として提案された手法であり、画像処理の分野で今でも盛んに研究が行われている(非特許文献12)。このWatershed法は、後に3次元メッシュモデルの領域分け手法に拡張された。非特許文献5では、水が高い所から低い所へ流れ落ちるように特徴量の大きい頂点から小さい頂点へとたどり、その過程でたどった頂点に共通の領域ラベルを割り当て、同じラベルを持つ頂点を1つの領域にグルーピングする手法が提案されている。
【0036】
Watershed法は図6に示すように3つのステップからなる。図7は、Watershed法の概要を示す図であり、同図(a)がモデルの斜視図、同図(b)が同図(a)の断面図、同図(c)は同図(a)を展開し高さを特徴量とみなした曲線図、同図(d)は頂点にラベルを割り当てた図、同図(e)は同じ領域ラベルを持つ頂点をグルーピングした図、同図(f)、(g)は小さな領域を除去した図、同図(h)は領域分けができなかった場合の図である。同図(a)では頂点特徴量を色分けしており、黒い頂点が大きい特徴量、白い頂点が小さい特徴量を持つ。
【0037】
図6におけるステップSQ11の局所最小値抽出処理は、図7(d)に示すように、局所最小頂点抽出頂点特徴量が局所最小(その近傍の頂点がそれ自身より大きな特徴量を持つ)となる頂点集合を見つけ、それぞれの頂点に0から始まる固有の領域ラベルを割り当てる。
【0038】
ステップSQ12の降下処理は、図7(e)に示すように、降下領域ラベルのない頂点をラベル付けされた領域(頂点集合)に到達するまで降下させ、その過程でたどった頂点すべてにその領域ラベルを割り当て、同じ領域ラベルを持つ頂点を1つの領域にグルーピングする。
【0039】
ステップSQ13の領域統合処理は次の通りである。ステップSQ12で頂点集合からなる領域分けを行った際に、少ない数の頂点集合からなる小さな領域ができやすい。これらの領域の境界線として後に抽出される特徴稜線は、その利用の観点から見て好ましくなく、除去することが望ましい。そこでまず、領域内の最も低い連続特徴量を持つ頂点と、その領域の境界とその領域に隣接する領域の境界の頂点のうちの最も低い連続特徴量を持つ頂点vbouとの連続特徴量の差分を計算する。この差分をWatershed深さと呼ぶ。領域内の頂点数が領域内最小頂点数閾値τnより少なく、かつ、Watershed深さが領域統合閾値τdより小さい領域を、vbouに隣接する領域と統合する。この処理を上の条件を満たす領域がなくなるまで繰り返し、図7(f)、図7(g)のように小さな領域を除去する。
【0040】
このWatershed法は頂点のみに領域ラベルを割り当て頂点集合からなる領域分けを行うため、3つの頂点の領域ラベルが一致せずどの領域にも属さない三角形集合からなる隙間領域が生じ、その結果として、本来隣接領域の境界線として共有されるべき特徴稜線が共有されないといった問題点がある。また、図7(h)に示すように認識すべき面分の内部に頂点がない(例えば、長方形が2つの直角三角形から構成される)場合に適切な領域分けができないといった問題点もある。
【0041】
このような問題点を解決するため、非特許文献9に特徴稜線抽出精度向上のための改良を加えた改良Watershed法が提案されている。この手法では、Watershed法と三角形への領域ラベルの割り当てに基づき、三角形集合からなる領域分けが可能である。改良Watershed法は図8に示すように5つの処理ステップからなる。つまり、頂点追加処理のステップSQ21、頂点特徴量算出のステップSQ22、Watershed法による処理ステップSQ23、頂点削除処理のステップSQ24、そして面分への領域ラベル割り当て処理をするステップSQ25である。
【0042】
図9(a)は認識すべき面分の内部に頂点を含まないメッシュモデルの斜視図である。図9(b)〜図9(g)は、図9(a)の断面図を展開し、高さを特徴量とみなした曲線図である。この図では、線分はメッシュの三角形を表す。また、図10は頂点追加の規則を説明する図である。
【0043】
図8におけるステップSQ21は、1つの領域として認識すべき面分集合内に頂点がない部分を適切に認識するため、メッシュ上の基本特徴稜線、図9(b)の基本特徴頂点の分布状況に基づき、図9(c)のように図10に示す頂点追加規則に従って各辺の中点に頂点を追加する。
【0044】
ステップSQ22は、図9(d)に示すように、追加した頂点のうち、基本特徴稜線上にある頂点には全頂点のうち最大特徴量を、三角形の面上にある頂点には全頂点のうち最小特徴量を、それ以外の頂点にはその頂点が追加された稜線の特徴量を定義する。
【0045】
ステップSQ23は、図9(e)に示すように、頂点を追加したメッシュモデルにWatershed法を適用し各頂点に領域ラベルを割り当て、頂点集合からなる領域分けを行う。
【0046】
ステップSQ24は、図9(f)に示すように、基本特徴頂点にそれら自身の領域ラベルとともに1近傍頂点の領域ラベルも付加した後、ステップSQ21で追加した頂点をメッシュから削除する。これにより、基本特徴頂点は複数の領域ラベルを持つことになる。
【0047】
ステップSQ25は、図9(g)に示すように、図11の表に示す頂点ラベルの割り当て状況に従って各三角形に対して1つずつ領域ラベルを割り当てる。特にcase2〜case5は、ソリッドモデルのテセレーションなどにより得られる、1つの面分として認識したい領域内部に頂点を含まないために適切に領域分けできなかったメッシュモデルを領域分けする際に有効である。一方、case6は、リバースエンジニアリングから得られた高密度メッシュモデルにWatershed法を適用した場合に生じる隙間領域の三角形に適切に領域ラベルを割り当てる際に有効である。これによりすべての三角形に一つずつ領域ラベルが割り当てられ、同じ領域ラベルを持つ三角形群を1つの面分としてグルーピングする。
【0048】
以上の5つのステップSQ21〜SQ25により、メッシュモデルに対し連結三角形集合からなる領域分けを行い、最後に各領域の境界線を特徴稜線として抽出する。図12は従来のWatershed法と、改良Watershed法を用いて領域分けを行った結果の比較図である。図12(a)、(b)は従来のWatershed法を用いた場合であり、同図(c)、(d)は改良Watershed法を用いた場合である。従来のWatershed法では、図12(a)のように隣接領域間に隙間領域が生じ、その結果として、本来隣接領域の境界線として共有されるべき特徴稜線が共有されないといった問題点、さらに、図12(b)のように1つの面分として認識したい領域の内部に頂点がない場合に適切な領域分けができないといった問題点を持つことが分かる。これに対し、改良Watershed法を用いることで、これらの問題点が解決され、図12(c)のように特徴稜線が共有され、また図12(d)のように適切な領域分けができていることが確認できる。
【0049】
次に、本実施の形態の装置にて実施する3次元メッシュモデルの特徴稜線抽出方法で用いる5つの抽出パラメータが、特徴稜線抽出に与える効果について説明する。この抽出パラメータは抽出パラメータ設定部5により行う。球の半径rは、稜線特徴量を算出する際の評価範囲を定めるために用いる。この値を小さくすると評価範囲が局所的になり、シャープな特徴稜線が抽出しやすくなり、大きくすると評価範囲が広域的になり、形状がなだらかに変化する部分にある特徴稜線が抽出しやすくなる。
【0050】
頂点特徴量離散化閾値τvは、フィレット面の境界線の抽出位置を調整する際に用いる。この値は、フィレット面の境界線上にある頂点が持つ特徴量に一致するよう、適切に設定する必要がある。この適切値より小さく設定すると、抽出したいフィレット面より広いフィレット面の境界線が抽出されてしまい、大きくすると抽出したいフィレット面より狭いフィレット面の境界線が抽出される。
【0051】
基本特徴稜線識別閾値τθは、主にクリースエッジの抽出の際に用いる。大きくする設定すると隣接面との2面角が大きい面の境界線のみが抽出でき、この値を小さく設定すると隣接面との2面角が大きい面の境界線のみならず、小さい面の境界線もが抽出できる。
【0052】
領域内最小頂点数閾値τnこの値を小さく設定すると、少ない数の頂点集合からなる領域分けが行われ、その境界線が抽出でき、大きく設定すると、多い数の頂点集合からなる領域分けが行われ、その境界線のみ抽出できる。
【0053】
領域統合閾値τdは、この値を小さく設定すると、領域内の頂点特徴量の差が少ない領域分けが行われ、その境界線が抽出でき、大きくすると、領域内の頂点特徴量の差が大きい領域分けが行われ、その境界線のみ抽出できる。
【0054】
上述した処理SQ1の基本特徴稜線と基本特徴頂点に分類する手法を1通りのパラメータ設定で一度実行しただけでは、要求する特徴稜線のすべてを抽出することは困難である。そこで、以上の手法を異なる抽出パラメータ設定で繰り返し実行し、各抽出パラメータ設定で抽出される特徴稜線のうちのユーザの要求する稜線をディスプレイ上で対話的に選択し、集約することでこの問題を解決する。
【0055】
本実施の形態の装置では、効率の良いユーザの特徴稜線抽出のために2つの特徴稜線選択手法を実装している。第1は、領域境界線ループの抽出である。これは、図13(a)に示すように、領域内の面分の選択によって、領域境界のループをなす特徴稜線群を全て抽出する。第2は、区分特徴稜線の抽出である。これは、特徴稜線上のメッシュの稜線の選択によって、図13(b)に示すように3つ以上の特徴稜線が交わる頂点で境界付けられた区分的な特徴稜線を抽出する。これらを使い分けることで、あらゆる特徴稜線が選択的に集約でき、ユーザの要求する特徴稜線のみを抽出できる。
【0056】
本実施の形態では、メッシュモデルからのソリッドモデルの自動生成を目的とした、広域的法線評価と改良Watershed法に基づく特徴稜線抽出が行える。
【実施例】
【0057】
実験により、本発明を用いることで、メッシュに含まれるノイズやメッシュ分割方法の影響を受けにくく特徴稜線が抽出できること、またフィレット面の境界線を特徴稜線として抽出できること、抽出された特徴稜線がループをなし、それに囲まれる領域を1つの面分として認識できること、利用目的に応じた特徴稜線が選択的に抽出できることを確認した。また、抽出した特徴稜線の3次元CADシステムへの読み込みも実現した。
【0058】
図14に、硬質ウレタンフォームで作られたIT機器筐体モックアップ(a)を非接触測定器(Comet400:商品名)で計測して得られた点群(約140万点)から三角形メッシュを生成した高密度メッシュモデル(b)に対する特徴稜線抽出結果を示している。図14(c)、(e)はそれぞれ異なる抽出パラメータで領域分けを行った結果である。同図(d)、(f)はそれぞれ、同図(c)、(e)の領域の境界線を特徴稜線として抽出した結果である。このような測定ノイズを多く含むメッシュモデルからも、抽出パラメータを適切に設定することで特徴稜線が抽出できることが確認できた。処理時間は、Xeon2.4GHz、メモリ2GBのPCで1通りの抽出パラメータ設定での自動抽出処理に約6分(頂点特徴量算出に約5分、領域分けに基づく特徴稜線抽出に約1分)であった。
【0059】
図15に、ソリッドモデルを異なる分割方法で分割し得られたメッシュモデルに対する特徴稜線抽出結果を示している。図15(a)の上段はFEMメッシャにより分割して得られた高密度メッシュ、同図(b)の上段はFEMメッシャにより分割して得られた低解像度メッシュ、同図(c)の上段はSTLデータへの変換により得られたメッシュである。また、同図(a)〜(c)の下段それぞれは、これらのメッシュモデルに対して本発明の特徴稜線抽出方法を何度か繰り返し実行し、特徴稜線を集約した結果である。図15に示すように、分割方法の異なるメッシュモデルからも、ほぼ等しい特徴稜線が抽出できることが確認できた。図15(a)、(b)に関しては、メッシュの稜線はソリッドモデルを生成した際に定義した稜線上にある保障はない。それゆえ本来のソリッドモデル上の稜線に最も近いと思われる稜線を特徴稜線として抽出した結果、若干の誤差が見られた。
【0060】
球の半径rの値は厳密に設定する必要はなく、例えば、物理モデルを測定して得られるノイズを多く含んだメッシュモデルに対しては、入力メッシュのBoundingBoxの対角線の50分の1〜100分の1程度に設定すると良い結果が得られやすい。また、隣接2平面の2面角が大きいクリースエッジを多く含んだメッシュに対しては、rを小さな値に設定すると良い結果を得られやすい。また、図14のように、頂点特徴量離散化閾値τvを変更することで、径の小さなフィレット面、大きなフィレット面の境界線がそれぞれ抽出できることが確認できた。
【0061】
図16に、ユーザにより選択された特徴稜線の集約結果を示す。入力は、ソリッドモデルをFEMメッシャにより分割して得られたひずみの小さい三角形からなるメッシュモデル(三角形数約65、000)である。図中の細い線がある抽出パラメータ設定で抽出されたすべての特徴稜線、太い線がユーザにより選択された特徴稜線である。図16(a)〜(c)の3通りの抽出パラメータ設定での特徴稜線の集約結果が図16(d)である。これより、異なる抽出パラメータ設定で抽出される特徴稜線が集約できることが分かる。処理時間は1通りの抽出パラメータ設定での自動抽出処理で、約4秒〜26秒であった。
【0062】
図14〜図16により、抽出された特徴稜線がループをなすこと、また、フィレット面の境界線が特徴稜線として抽出できていることが確認できた。
【0063】
さらに、図16のようにして得られた特徴稜線を3次元CADシステム(SolidWorks:商品名)内に読み込んだ結果を図17に示す。これより、集約された特徴稜線が3次元CADシステムに正しく読み込まれていることが確認できた。
【図面の簡単な説明】
【0064】
【図1】本発明の1つの実施の形態の3次元メッシュモデルの特徴稜線抽出装置のブロック図。
【図2】本発明の1つの実施の形態の3次元メッシュモデルの特徴稜線抽出装置が実行する3次元メッシュモデルの特徴稜線抽出プログラム及び方法のフローチャート。
【図3】上記実施の形態で実行される稜線特徴算出処理の説明図。
【図4】上記実施の形態で実行される頂点特徴算出処理のグラフ図。
【図5】上記実施の形態で抽出された特徴稜線の比較図。
【図6】Watershed法のシーケンス図。
【図7】Watershed法の説明図。
【図8】上記実施の形態で実行する改良Watershed法のシーケンス図。
【図9】上記実施の形態の改良Watershed法の説明図。
【図10】上記実施の形態で採用した頂点追加規則の説明図。
【図11】上記実施の形態で採用した頂点追加規則の表。
【図12】従来のWatershed法と本実施の形態で実行する改良Watershed法とを用いて領域分けを行った結果の比較図。
【図13】上記実施の形態で実行する特徴稜線の選択的抽出処理の説明図。
【図14】本発明の実施例の特徴稜線抽出結果を示す図。
【図15】本発明の実施例の物理モデルを異なる分割方法で分割し得られたメッシュモデルに対する特徴稜線抽出結果を示す図。
【図16】本発明の実施例において複数の選択された特徴稜線の集約結果を示す図。
【図17】図16により得られた特徴稜線を3次元CADシステム内に読み込んだ結果を示す図。
【符号の説明】
【0065】
1 頂点特徴量算出部
2領域分け処理部
3 特徴稜線選択的抽出部
4記憶装置
5 抽出パラメータ設定部
6 演算処理制御部
7 入出力処理部
8 キーボード
9 ポインティングデバイス
10 ディスプレイ

【特許請求の範囲】
【請求項1】
諸データを保持する記憶手段と、
前記記憶手段に保持されている3次元メッシュモデルを呼び出し、稜線特徴量と頂点特徴量を算出する特徴量算出手段と、
前記特徴量算出手段の算出した頂点特徴量に基づいて、前記3次元メッシュモデルに対して連結三角形集合からなる領域分けを行い、この領域の境界線を特徴稜線として抽出する領域分け処理手段と、
前記領域分け処理手段の抽出した特徴稜線のうち、ユーザの要求する特徴稜線のみを対話的に選択させ、選択された特徴稜線のデータを出力する特徴稜線選択的抽出手段とを備えた3次元メッシュモデルの特徴稜線抽出装置。
【請求項2】
前記特徴量算出手段は、前記記憶手段に保持されている3次元メッシュモデルに対して、ユークリッド距離で定めた領域内の三角形集合の法線を広域的に評価することにより稜線特徴量と頂点特徴量を算出し、
前記領域分け処理手段は、前記特徴量算出手段の算出した頂点特徴量に基づいて、前記3次元メッシュモデルに対して改良Watershed法を用いて連結三角形集合からなる領域分けを行い、この領域の境界線を特徴稜線として抽出することを特徴とする請求項1に記載の3次元メッシュモデルの特徴稜線抽出装置。
【請求項3】
入力される若しくは記憶手段に保持されている3次元メッシュモデルのデータを呼び出す処理と、
前記3次元メッシュモデルの稜線特徴量と頂点特徴量を算出する処理と、
前記頂点特徴量に基づいて、前記3次元メッシュモデルに対して連結三角形集合からなる領域分けを行い、この領域の境界線を特徴稜線として抽出する処理と、
前記特徴稜線のうち、ユーザの要求する特徴稜線のみを対話的に選択させ、選択された特徴稜線のデータを出力する処理とをコンピュータに実行させる3次元メッシュモデルの特徴稜線抽出プログラム。
【請求項4】
前記特徴量を算出する処理では、前記3次元メッシュモデルに対して、ユークリッド距離で定めた領域内の三角形集合の法線を広域的に評価することにより稜線特徴量と頂点特徴量を算出し、
前記特徴稜線を抽出する処理では、前記頂点特徴量に基づいて、前記3次元メッシュモデルに対して改良Watershed法を用いて連結三角形集合からなる領域分けを行い、この領域の境界線を特徴稜線として抽出することを特徴とする請求項3に記載の3次元メッシュモデルの特徴稜線抽出プログラム。
【請求項5】
抽出パラメータと繰り返し回数を設定する処理を有し、
前記処理各々を、設定された抽出パラメータを用いて設定された繰り返し回数だけ繰り返し実行することを特徴とする請求項3又は4に記載の3次元メッシュモデルの特徴稜線抽出プログラム。
【請求項6】
入力される若しくは記憶手段に保持されている3次元メッシュモデルを呼び出すステップと、
前記3次元メッシュモデルの稜線特徴量と頂点特徴量を算出するステップと、
算出した頂点特徴量に基づいて、前記3次元メッシュモデルに対して連結三角形集合からなる領域分けを行い、この領域の境界線を特徴稜線として抽出するステップと、
前記特徴稜線のうち、ユーザの要求する特徴稜線のみを対話的に選択させ、選択された特徴稜線のデータを出力するステップとを有する3次元メッシュモデルの特徴稜線抽出方法。
【請求項7】
前記特徴量を算出するステップでは、前記3次元メッシュモデルに対して、ユークリッド距離で定めた領域内の三角形集合の法線を広域的に評価することにより稜線特徴量と頂点特徴量を算出し、
前記特徴稜線を抽出するステップでは、前記頂点特徴量に基づいて、前記3次元メッシュモデルに対して改良Watershed法を用いて連結三角形集合からなる領域分けを行い、この領域の境界線を特徴稜線として抽出することを特徴とする請求項6に記載の3次元メッシュモデルの特徴稜線抽出方法。
【請求項8】
抽出パラメータと繰り返し回数を設定するステップを有し、
前記ステップ各々を、設定された抽出パラメータを用いて設定された繰り返し回数だけ繰り返すことを特徴とする請求項6又は7に記載の3次元メッシュモデルの特徴稜線抽出方法。

【図1】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2006−277713(P2006−277713A)
【公開日】平成18年10月12日(2006.10.12)
【国際特許分類】
【出願番号】特願2005−211955(P2005−211955)
【出願日】平成17年7月21日(2005.7.21)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 平成16年9月1日 社団法人精密工学会発行の「2004年度 精密工学会秋季大会 学術講演会講演論文集」に発表
【出願人】(504173471)国立大学法人 北海道大学 (971)
【Fターム(参考)】