JP2004272459A - 三次元形状の自動生成装置、自動生成方法、そのプログラム、及びそのプログラムを記録した記録媒体 - Google Patents
三次元形状の自動生成装置、自動生成方法、そのプログラム、及びそのプログラムを記録した記録媒体 Download PDFInfo
- Publication number
- JP2004272459A JP2004272459A JP2003060334A JP2003060334A JP2004272459A JP 2004272459 A JP2004272459 A JP 2004272459A JP 2003060334 A JP2003060334 A JP 2003060334A JP 2003060334 A JP2003060334 A JP 2003060334A JP 2004272459 A JP2004272459 A JP 2004272459A
- Authority
- JP
- Japan
- Prior art keywords
- shape
- segment
- dimensional shape
- generated
- automatic generation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Length Measuring Devices By Optical Means (AREA)
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
- Image Analysis (AREA)
Abstract
【課題】点群データから高精度な三次元形状データを生成する。
【解決手段】三次元座標を持つ複数の点群データから三次元形状を自動生成する三次元形状の自動生成装置において、前記点群データから三次元形状のエッジ及び面を抽出するためのセグメント化を行うセグメント手段と、前記セグメント手段により生成されたセグメント情報及び予め設定された関数に基づいて三次元形状を判定し自動生成する形状判定生成手段とを有することにより、上記課題を解決する。
【選択図】 図1
【解決手段】三次元座標を持つ複数の点群データから三次元形状を自動生成する三次元形状の自動生成装置において、前記点群データから三次元形状のエッジ及び面を抽出するためのセグメント化を行うセグメント手段と、前記セグメント手段により生成されたセグメント情報及び予め設定された関数に基づいて三次元形状を判定し自動生成する形状判定生成手段とを有することにより、上記課題を解決する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、三次元形状の自動生成装置、自動生成方法、そのプログラム、及びそのプログラムを記録した記録媒体に係り、特に三次元レーザースキャナー等で取得した点群データから高精度で均質な三次元形状データを自動生成する自動生成装置、自動生成方法、そのプログラム、及びそのプログラムを記録した記録媒体に関する。
【0002】
【従来の技術】
近年の著しい情報技術(IT)の発展により、従来の紙ベースの二次元地図から二次元電子地図へ、更にはカーナビゲーションシステムやコンピュータを利用した地理検索システム等、広範な分野をターゲットに三次元電子地図の構築が進められている。
【0003】
また、三次元の位置情報を持つ点群データを用いて三次元形状データを生成する点群データ処理ソフトウェアは、複数の点群データについて位置合わせ(アラインメント)、統合(マージング)、ポリゴン化等の機能を有し、三次元形状データの生成を実現している。なお、点群データは、実際の建物等の三次元形状を、距離計測器等を用いてレーザースキャニングすることにより取得している。
【0004】
また、三次元物体における二次元図形情報を用いて、三次元基本形状モデルとの対応付けを行うことで三次元物体の三次元形状モデルを生成する技術が開示されている(例えば、特許文献1参照。)。
【0005】
【特許文献1】
特開平4―289976号公報
【0006】
【発明が解決しようとする課題】
しかしながら、レーザースキャニングで取得した点群データから三次元データを作成する従来のソフトウェアはその機能が未だ十分とは言えず、多くの手作業と熟練技術が必要になっている。
【0007】
例えば、プラントや建築物等の三次元形状の場合、カーナビゲーションシステム等のコンテンツ制作や3D−CADで利用するためには、明確にエッジと面で構成される三次元データを必要とするが、そのような三次元形状データを生成するには点群データの量が少なすぎるため、特に、レーザースキャニングによる点群データが取得されていない場合、三次元形状の不可視部分(オクルージョン部分)のエッジや面を精度よく生成することができず、多大な手作業の労力を要している。三次元形状が複数あれば、人手による作業が多分に発生し、更に作業者の技術、経験等によって抽出し生成した三次元形状の質にばらつきが生じてしまう。
【0008】
なお、スキャニングの数を増やして点群の精度を上げた場合にもデータ量が多くなり計算処理時間が増大するという問題があり、三次元デジタル化業務等においては、レーザースキャニングによる点群データをアラインメント、マージング、ポリゴン化及びポリゴンリダクションによる三次元形状データ作成が主体であったが、プラントや建築物等の大規模な対象物においては全ての部分をスキャニングすることは困難であるため現実的な方法ではない。同様に特許文献1に示すようなカメラ画像等からなる二次元図形の取得も困難である。
【0009】
本発明は、上述した問題点に鑑みなされたものであり、レーザースキャニングという技術を利用して、プラント、建築物・街並、文化財建造物等について高精度な三次元形状データを自動生成することにより手作業や熟練技術を大幅に軽減し、三次元データ作成の均質化、高精度化及び高効率化を実現するための三次元形状の自動生成装置、自動生成方法、そのプログラム、及びそのプログラムを記録した記録媒体を提供することを目的とする。
【0010】
【課題を解決するための手段】
上記課題を解決するために、本件発明は、以下の特徴を有する課題を解決するための手段を採用している。
【0011】
請求項1に記載された発明は、三次元座標を持つ複数の点群データから三次元形状を自動生成する三次元形状の自動生成装置において、前記点群データから三次元形状のエッジ及び面を抽出するためのセグメント化を行うセグメント手段と、前記セグメント手段により生成されたセグメント情報及び予め設定された関数に基づいて三次元形状を判定し自動生成する形状判定生成手段とを有することを特徴とする。
【0012】
請求項1記載の発明によれば、点群データにないオクルージョン部分が、単純な幾何形状で構成されている場合が多いことを利用し、近傍の可視部分の形状、色、対象物の種類等の補足情報から類推してオクルージョン部分のエッジや面を正確に生成することで高精度な三次元形状データを生成する。また、作業者による手作業をなくすことで均質な三次元形状データを生成することができる。
【0013】
請求項2に記載された発明は、前記セグメント手段は、前記点群データに整列情報が含まれる場合は整列順に基づきセグメント化を行い、前記点群データに整列情報が含まれていない場合は、三角ポリゴンを生成してセグメント化を行うことを特徴とする。
【0014】
請求項2記載の発明によれば、点群データからセグメントを容易に生成することができる。また、点群データに整列情報が含まれていない場合でも点群データのセグメント化を可能にする。
【0015】
請求項3に記載された発明は、前記セグメント手段は、前記セグメント化された点群データのセグメント形状情報から各形状間において、隣接する形状同士の連続性、法線方向、距離に基づきエッジ及び面を抽出することを特徴とする。
【0016】
請求項3記載の発明によれば、セグメント形状同士の連続性、法線方向、距離からエッジ及び面に関する情報を容易に取得することができる。これにより、高精度な三次元形状を生成することができる。
【0017】
請求項4に記載された発明は、前記形状判定生成手段は、セグメント化された各々のセグメントにおける点群データから最小二乗法を用いて前記所定の関数として設定された平面方程式又は曲面方程式に置き換え、その係数値により固有値及び固有ベクトルを生成することを特徴とする。
【0018】
請求項4記載の発明によれば、点群データに含まれていない三次元形状のオクルージョン部分に対しても三次元形状を生成することができる。これにより、高精度で均質な三次元形状データを生成することができる。
【0019】
請求項5に記載された発明は、前記形状判定生成手段は、前記固有値に対する寄与率と、予め設定した閾値とに基づいて平面又は二次曲面の形状を判定することを特徴とする。
【0020】
請求項5記載の発明によれば、閾値条件に基づき、生成される三次元形状の精度を設定することができ、より詳細で高精度な三次元形状データを生成することができる。
【0021】
請求項6に記載された発明は、前記形状判定生成手段は、前記二次曲面形状から移動量ベクトルを生成することを特徴とする。
【0022】
請求項6記載の発明によれば、移動量ベクトルにより、生成する形状における軸の座標等、形状に関する情報を得ることができるため、高精度な三次元形状データを生成することができる。
【0023】
請求項7に記載された発明は、前記形状判定生成手段は、前記固有ベクトル及び前記移動ベクトルにより前記セグメントの点群データをオブジェクト座標に変換して曲面形状を生成することを特徴とする。
【0024】
請求項7記載の発明によれば、点群データに含まれていない三次元形状のオクルージョン部分に対しても三次元形状を生成することができる。これにより、高精度で均質な三次元形状データを生成することができる。
【0025】
請求項8に記載された発明は、三次元座標を持つ複数の点群データから三次元形状を自動生成する三次元形状の自動生成方法において、前記点群データから三次元形状のエッジ及び面を抽出するためのセグメント化を行うセグメント段階と、前記セグメント段階により生成されたセグメント情報及び予め設定された関数に基づいて三次元形状を判定し自動生成する形状判定生成段階とを有することを特徴とする。
【0026】
請求項8記載の発明によれば、点群データにないオクルージョン部分が、単純な幾何形状で構成されている場合が多いことを利用し、近傍の可視部分の形状、色、対象物の種類等の補足情報から類推してオクルージョン部分のエッジや面を正確に生成することで高精度な三次元形状データを生成する。また、作業者による手作業をなくすことで均質な三次元形状データを生成することができる。
【0027】
請求項9に記載された発明は、前記セグメント段階は、前記点群データに整列情報が含まれる場合は整列順に基づきセグメント化を行い、前記点群データに整列情報が含まれていない場合は、三角ポリゴンを生成してセグメント化を行うことを特徴とする。
【0028】
請求項9記載の発明によれば、点群データからセグメントを容易に生成することができる。また、点群データに整列情報が含まれていない場合でも点群データのセグメント化を可能にする。これにより、高精度な三次元形状データを生成することができる。
【0029】
請求項10に記載された発明は、前記セグメント段階は、前記セグメント化された点群データのセグメント形状情報から各形状間において、隣接する形状同士の連続性、法線方向、距離に基づきエッジ及び面を抽出することを特徴とする。
【0030】
請求項10記載の発明によれば、セグメント形状同士の連続性、法線方向、距離からエッジ及び面に関する情報を容易に取得することができる。これにより、高精度な三次元形状を生成することができる。
【0031】
請求項11に記載された発明は、前記形状判定生成段階は、セグメント化された各々のセグメントにおける点群データから最小二乗法を用いて前記所定の関数として設定された平面方程式又は曲面方程式に置き換え、その係数値により固有値及び固有ベクトルを生成することを特徴とする。
【0032】
請求項11記載の発明によれば、点群データに含まれていない三次元形状のオクルージョン部分に対しても三次元形状を生成することができる。これにより、高精度で均質な三次元形状データを生成することができる。
【0033】
請求項12に記載された発明は、前記形状判定生成段階は、前記固有値に対する寄与率と、予め設定した閾値とに基づいて平面又は二次曲面の形状を判定することを特徴とする。
【0034】
請求項12記載の発明によれば、閾値条件に基づき、生成される三次元形状の精度を設定することができ、より詳細で高精度な三次元形状データを生成することができる。
【0035】
請求項13に記載された発明は、前記形状判定生成段階は、前記二次曲面形状から移動量ベクトルを生成することを特徴とする。
【0036】
請求項13記載の発明によれば、移動量ベクトルにより、生成する形状における軸の座標等、形状に関する情報を得ることができるため、高精度な三次元形状データを生成することができる。
【0037】
請求項14に記載された発明は、前記形状判定生成段階は、前記固有ベクトル及び前記移動ベクトルにより前記セグメントの点群データをオブジェクト座標に変換して曲面形状を生成することを特徴とする。
【0038】
請求項14記載の発明によれば、点群データに含まれていない三次元形状のオクルージョン部分に対しても三次元形状を生成することができる。これにより、高精度で均質な三次元形状データを生成することができる。
【0039】
請求項15に記載された発明は、三次元座標を持つ複数の点群データから三次元形状を自動生成する三次元形状の自動生成をコンピュータに実行させるためのプログラムにおいて、前記点群データから三次元形状のエッジ及び面を抽出するためのセグメント化を行うセグメントステップと、前記セグメントステップにより生成されたセグメント情報及び予め設定された関数に基づいて三次元形状を判定し自動生成する形状判定生成ステップとをコンピュータに実行させる。
【0040】
請求項15記載の発明によれば、点群データにないオクルージョン部分が、単純な幾何形状で構成されている場合が多いことを利用し、近傍の可視部分の形状、色、対象物の種類等の補足情報から類推してオクルージョン部分のエッジや面を正確に生成することで高精度な三次元形状データを生成する。また、作業者による手作業をなくすことで均質な三次元形状データを生成することができる。
【0041】
請求項16に記載された発明は、前記セグメントステップは、前記点群データに整列情報が含まれる場合は整列順に基づきセグメント化を行い、前記点群データに整列情報が含まれていない場合は、三角ポリゴンを生成してセグメント化を行うことを特徴とする。
【0042】
請求項16記載の発明によれば、点群データからセグメントを容易に生成することができる。また、点群データに整列情報が含まれていない場合でも点群データのセグメント化を可能にする。これにより、高精度な三次元形状データを生成することができる。
【0043】
請求項17に記載された発明は、前記セグメントステップは、前記セグメント化された点群データのセグメント形状情報から各形状間において、隣接する形状同士の連続性、法線方向、距離に基づきエッジ及び面を抽出することを特徴とする。
【0044】
請求項17記載の発明によれば、セグメント形状同士の連続性、法線方向、距離からエッジ及び面に関する情報を容易に取得することができる。これにより、高精度な三次元形状を生成することができる。
【0045】
請求項18に記載された発明は、前記形状判定生成ステップは、セグメント化された各々のセグメントにおける点群データから最小二乗法を用いて前記所定の関数として設定された平面方程式又は曲面方程式に置き換え、その係数値により固有値及び固有ベクトルを生成することを特徴とする。
【0046】
請求項18記載の発明によれば、点群データに含まれていない三次元形状のオクルージョン部分に対しても三次元形状を生成することができる。これにより、高精度で均質な三次元形状データを生成することができる。
【0047】
請求項19に記載された発明は、前記形状判定生成ステップは、前記固有値に対する寄与率と、予め設定した閾値とに基づいて平面又は二次曲面の形状を判定することを特徴とする。
【0048】
請求項19記載の発明によれば、閾値条件に基づき、生成される三次元形状の精度を設定することができ、より詳細で高精度な三次元形状データを生成することができる。
【0049】
請求項20に記載された発明は、前記形状判定生成ステップは、前記二次曲面形状から移動量ベクトルを生成することを特徴とする。
【0050】
請求項20記載の発明によれば、移動量ベクトルにより、生成する形状における軸の座標等、形状に関する情報を得ることができるため、高精度な三次元形状データを生成することができる。
【0051】
請求項21に記載された発明は、前記形状判定生成ステップは、前記固有ベクトル及び前記移動ベクトルにより前記セグメントの点群データをオブジェクト座標に変換して曲面形状を生成することを特徴とする。
【0052】
請求項21記載の発明によれば、点群データに含まれていない三次元形状のオクルージョン部分に対しても三次元形状を生成することができる。これにより、高精度で均質な三次元形状データを生成することができる。
【0053】
請求項22に記載された発明は、前記請求項15乃至21何れか一項記載のプログラムを記録媒体に記録したものである。
【0054】
【発明の実施の形態】
本発明は、レーザースキャニング等から取得した点群データを用いて、エッジと面の抽出及び生成と、パターン認識及びパターンマッチングによる点群データ欠落部の補完とを効率的で高精度に行うことにより三次元形状データを自動生成する。これにより、従来の三次元モデリング手法と比較して三次元形状データの生成を飛躍的に高効率化することができる。また、三次元形状データの生成に関して大幅なコストダウンを可能にする。
【0055】
なお、本発明では、点群データにないオクルージョン部分が、単純な幾何形状で構成されている場合が多いことを利用し、近傍の可視部分の形状、色、対象物の種類等の補足情報から類推してオクルージョン部分のエッジや面を正確に生成することで高精度な三次元形状データを生成する。
【0056】
次に、本発明の実施の形態について、図面を用いて説明する。
【0057】
図1は、本発明における三次元形状自動生成装置の一構成例を示す図である。
【0058】
図1の三次元形状自動生成装置1は、点群データ入力部2と、セグメンテーション部3と、形状生成部4と、記憶部5と、出力部6とを有するよう構成されている。
【0059】
三次元形状自動生成装置1では、上述したように、点群データ入力部2から計測器で測定された入力データを入力しレンジ画像を生成して、セグメンテーション部3へ出力する。セグメンテーション部3では、レンジ画像における各計測点のセグメンテーション化を行い、その結果を形状生成部4に出力する。形状生成部4では、記憶部5に予め記憶されている関数及び閾値データを用いて三次元形状の生成を行う。三次元形状が生成された後、その出力データをディスプレイ等の出力部6から作業者が容易に自動生成された三次元形状を把握できるよう出力を行う。これにより、均質で高精度な三次元形状データを生成することができる。
【0060】
次に、具体的な三次元形状生成手順について説明する。本発明における三次元形状データの自動生成では、大別して以下に示す2つの手順からなる。
【0061】
(1)エッジ及び面の抽出及び生成
点群データ入力部2によりレーザースキャナーにより計測した点群データが入力されるとセグメンテーション部3で点群データを解析し、その幾何形状を利用してエッジ及び面の抽出を行う。具体的には、計測した点群データから矩形形状を生成し、その矩形形状間において、隣接するポリゴン同士の連続性、法線方向、距離等により、エッジ及び面を認識する。また、点群データの平面性又は曲面性を、平面方程式又は曲面方程式に対して最小二乗法を用いて置き換え、グループ分け(セグメンテーション化)を行う。ここで得られたグループをより計測対象物に類似又は同一となるようなプリミティブな形状へ再度置き換えることでエッジ及び面の生成を行う。
【0062】
(2)オクルージョン部分の補完
抽出したエッジ及び面の情報を形状生成部4に出力し、形状生成部4は、点群データが取得できなかった部分(オクルージョン部分)の形状について、欠落部近傍の形状特徴によるパターンマッチングを行い当該欠落部分の形状を類推する。これにより、欠落部分を補完して全体の三次元形状データを生成する。
【0063】
なお、形状特徴としては、平面形状、円柱、円錐、球等の予め記憶部5に設定された形状を用いる。生成された三次元形状データは出力部6にて出力され、これにより作業者が生成された三次元形状データを容易に確認することができる。また、記憶部5は、後述する各プロセスで設定される閾値データ及び関数データ、更には点群データ等の本発明における三次元形状データの自動生成に必要なデータを記憶することができ、セグメンテーション部3、又は形状生成部4が必要に応じてデータを読み出し、あるいは蓄積することができる。
【0064】
ここで、本発明における三次元データの自動生成手順の概略についてフローチャートを用いて説明する。図2は、本発明における三次元データ自動生成手順の概略を示す一例のフローチャートである。
【0065】
エッジ及び面の抽出及び生成するためのセグメンテーションプロセスでは、レーザースキャニングにより計測された頂点群であるレンジ画像のセグメンテーションを行う方法として、まず、セグメントの最小なユニットとして三角ポリゴンを形成し(S01)、形成された複数の三角ポリゴンの夫々に対する隣接関係により、互いに接続関係にあるセグメント同士の同一平面性及び同一曲面性を最小二乗法により判定しながら繰り返しセグメンテーションの検索を行う(S02)。
【0066】
次に、セグメンテーションにより生成されたセグメントの形状情報からオクルージョン部分の補完するための形状判別と判別結果から三次元形状を自動生成する判別形状・自動生成プロセスでは、各々のセグメントは最小二乗法により求められた平面方程式又は曲面方程式に対応しているので、計測された物体形状はこれらのセグメントによって近似することができる。例えば、二次曲面形状の場合、実際には計測されていないオクル−ジョン部分を、曲面方程式により推定して形状生成を行うことが可能となる。
【0067】
しかしながら、平面又は曲面が混在したセグメンテーションを行う場合、各々のセグメントは平面であっても二次曲面方程式に当てはまってしまうため、セグメントを平面又は曲面のどちらとして扱うか、また、曲面として扱う場合、二次曲面形状の中から、どの形状で近似を行うかが問題となる。
【0068】
そこで、二次曲面形状は固有値により分類ができる性質に着目し、二次曲面方程式の係数により固有値、固有ベクトルの導出を行い(S03)、固有値による平面、曲面あるいは二次曲面形状の判別を行う(S04)。
【0069】
更に、S04から得られた判別結果に基づいて、平面形状の生成を行い(S05)、二次曲面形状の生成を行った後(S06)、三次元形状データの生成を行う(S07)。これにより、三次元データの自動生成を均質で高精度に行うことができる。
【0070】
次に、上述のセグメンテーションプロセス(S01〜S02)と、形状判別・自動生成プロセス(S03〜S07)について、具体的に説明する。
【0071】
(S01ステップ:点群データの三角ポリゴン化)
最初に点群データの三角ポリゴン化について説明する。
【0072】
入力点群データが格子状に並べられている場合は、その並び順により三角ポリゴンを形成する。なお、三角形のエッジの長さが事前に設定した閾値より大きくなる場合は三角ポリゴンを生成しない。
【0073】
そこで、点群データがx,y,z座標値のみで並び順に規則性がない場合は「Delaunay Trianglation(ドロネイ分割:三角形の外接円の内部に、他の頂点を含まないようにして三角形群を生成する幾何アルゴリズム)」により三角ポリゴンを生成する。
【0074】
つまり、計測した点群データの各点から三角形を生成する場合に、距離の近さだけで判断すると重なりあったデータから不適切な三角形が生成される可能性があるため、ドロネイの定義に基づき三角形の外接円の中に他の三角形の頂点は存在しないようにして三角形の生成を行う。なお、以上のプロセスが終了した段階で、個々の三角ポリゴンを一つのセグメントとして扱う。
ここで、上述により形成される入力レンジ画像に対する最小ユニットセグメントの結果を図に示す。
【0075】
図3は、S01のステップ実行後の結果の一例を示す図である。なお、図3(a)は、入力レンジ画像を示し、図3(b)は、図3(a)から抽出された不規則な点群データを示し、図3(c)は、上述した「Delaunay Trianglation」により、形成された最小ユニットセグメント(三角ポリゴン)の形成結果を示す図である。
【0076】
(S02:最小二乗法により同一セグメントの検索)
次に、S02として一次、二次方程式によるセグメンテーションとして最小二乗法による同一セグメントを検索する。
【0077】
ここで、具体的な例をあげて説明すると、任意のセグメントSe、及び、Seと接続関係にあるセグメントSi(i=0,1,・・・、n)が同一セグメントとして扱えるかどうかを判定する。図4は、S02のステップにおける動作を説明するための一例の図である。なお、図4(a)は、S02のステップを実施前の最小ユニットセグメントを生成した図であり、セグメントSeの周りには、S0,S1,S2,S3の4つのセグメントが隣接している。
【0078】
まず、Seに属する点群データから最小二乗法を用いて下記平面方程式((1)式)の係数を求める。
【0079】
【数1】
次に、Siに属する点群データの、平面方程式である(1)式に対する残差の分散値Vを下記(2)式により求める。
【0080】
【数2】
残差の分散値が事前に設定した閾値TP以下の場合、SeとSiを同一セグメントとする。以上の処理を残りのセグメントに対しても同様に行い、セグメンテーションが行われなくなるまで繰り返す。
【0081】
平面方程式によるセグメンテーションが終了したら、セグメントの点群データから最小二乗法を用いて、下記に示す二次曲面方程式((3)式)の係数を求め、更に、残差の分散値Vを下記(4)式により求めて、残差の分散値が事前に設定した閾値TQ以下の場合、SeとSiを同一セグメントとする。
【0082】
【数3】
【0083】
【数4】
以上の処理を平面方程式の場合と同様に、セグメンテーションが行われなくなるまで繰り返す。これにより、個々のセグメントから同一セグメントとなる領域を抽出しセグメント化することができる。
【0084】
図4(b)では、上述の手法により算出されたセグメンテーション適用結果を示す一例の図であり、Seの同一セグメントとしてS1及びS3が適用されたことを示している。
【0085】
(S03:固有ベクトルの導出)
次に、形状判別・自動生成プロセスとして、S02にて得られる各々のセグメントに属する点群データから最小二乗法を用いて下記(5)式に示す陰関数形式による二次曲面方程式の係数を求める。
【0086】
【数5】
ここで、
【0087】
【数6】
として、Mの固有値ei、固有ベクトルeviを求める(i=1,2,3)。次に、Mの固有値eiの寄与率ciを下記(7)式により求める。
【0088】
【数7】
ここで、寄与率ciの値と予め設定された閾値TEとを比較し、寄与率ciより閾値TEより小さい場合は固有値eiを0にする。
【0089】
これにより、形状判定を行うための固有値・固有ベクトルを算出することができる。
【0090】
(S04:平面・曲面の判別)
次に、平面・曲面の判別について説明する。S04では、上述した(1)式の係数により求められた固有値eiのうち2つが0の場合、そのセグメントを平面セグメントとみなし、それ以外を曲面セグメントとする。
【0091】
(S05:平面形状の生成)
上述したセグメンテーションプロセスが終了した段階で、各セグメントは平面であっても曲面方程式によるセグメンテーションを実行しているので、再度、平面セグメントの点群データから最小二乗法を用いて下記(8)式に示す陰関数形式による平面方程式の係数を求める。
【0092】
【数8】
ここで、陰関数形式による平面方程式の係数は、平面の法線ベクトルとなる。(8)式の係数及び点群の中心座標値により、点群データをオブジェクト座標に変換する。次に、平面セグメントの点群を囲む矩形のうち、最小面積となる矩形を検索し平面を生成する。
【0093】
図5は、矩形の検索内容の一例を示す図である。ここで、図5に示す点群51は、同一セグメント内に存在する点群である。図5に示すように点群51の全ての点を含む最小矩形領域を検索する。検索方法は、図5に示すように矩形52を外周にある点群に接触する矩形を少しずつ左に回転させながら、点群全体を含む矩形の面積を計算し、最小となる面積の矩形の配置を決定する。
【0094】
なお、本発明では、同様に五角形やコの字形等、多角形データに蓄積された他の凹凸多角形に対しても最小面積を計算し、求めた最小面積の値の中で更に最小の多角形を最小面積矩形とする。また、図5では矩形を左に回転させたが本発明においては、この限りではなく、右に回転させてもよく、また、多角形を固定した状態にして点群グループを回転させてもよい。
【0095】
なお、使用する矩形は、予め基本形状を設定した多角形データとして蓄積されており、例えば、凸多角形であれば矩形、菱形、正八角形等であり、凹多角形であればL字型、コの字型、T字型、十字型等である。点群グループ毎に各種凹凸多角形を割当ててもよい。
【0096】
(S06:二次曲面形状の生成)
(i)曲面形状の判別
次に、二次曲面形状の生成について説明する。なお、本実施例では、曲面形状の判別として「楕円柱面」、「楕円錐面」、及び「楕円球面」を用いて曲面形状の判別手法について説明する。
【0097】
曲面形状の判別では、(1)式における二次曲面方程式の係数により求められた固有値により曲面形状を判定する。
【0098】
ここで、曲面判定基準の例について表を用いて説明する。表1は、本発明における曲面形状を分類する際の判定条件の一例を示すものである。
【0099】
【表1】
表1に示すように「楕円柱面」、「楕円錐面」、及び「楕円球面」の夫々について、係数e1,e2、及びe3の符号に基づいて形状の判定を行う。表1において、係数e1,e2、及びe3の符号は、0より大きい場合に「+」とし、0より小さい場合は「−」とする。
(ii)移動ベクトルの抽出
次に、生成する三次元形状の軸の座標等を定める。上述の方法により判別された二次曲面形状が「楕円錐面」及び「楕円球面」の場合は、逆行列により移動量ベクトルを算出し、「楕円柱面」の場合は、特異値分解(SVD:Singular Value Decomposition)等により二次曲面形状の移動量ベクトルを求める。
(iii)曲面形状の生成
固有値に対する固有ベクトルはオブジェクトの軸になるので、移動量ベクトル、固有ベクトルによりセグメントの点群データをオブジェクト座標に変換する。次に、セグメントに属する点群データから最小二乗法を用いて、上述の「(i)曲面形状の判別」で判別された二次曲面形状の方程式の係数を求め、曲面形状を生成する。ここで、上述した「楕円柱面」、「楕円錐面」、及び「楕円球面」の夫々の一般式を以下に示す。
【0100】
【数9】
また、上述の数式により、形成される曲面形状について、図を用いて説明する。図6は、曲面形状の一例を示す図である。ここで、図6(a)は、楕円柱面の形状の例を示し、図6(b)は、楕円錐面の形状の例を示し、図6(c)は、楕円球面の形状の例を示すものである。図6に示すように、上記数9にて記載された一般式の係数を求めることにより、三次元におけるオクリュージョン部分の形状の補間を行うことができ、高精度な三次元形状を生成することができる(S07)。
【0101】
なお、生成される形状の種類についてはこの限りではなく、他の形状についても同様に形状に対応する数式を用いることで三次元形状を高精度に形成することができる。
【0102】
次に、上述したセグメンテーションプロセスと、形状判別・自動生成プロセスの処理手順として、フローチャートを用いて説明する。
【0103】
図7は、本発明おけるセグメンテーションプロセスの一例を示すフローチャートである。
【0104】
まず、既に取得されている点群データの読み込みを行い(S11)、点群データが整列されて記述されているかを判断する(S12)。点群データが整列されていない場合は(S12において、NO)、上述したように「DelaunayTriangle」により最小ユニットセグメントの生成を行う(S13)。また点群データが整列されている場合は(S12において、YES)、並び順に基づいて最小ユニットセグメントメンの生成を行う(S14)。
【0105】
S13又はS14のステップが終了後、生成された最小ユニットセグメントの中から隣接セグメントの検索を行い、平面方程式のよるセグメンテーションを行う(S15)。次に、平面方程式によるセグメンテーションが終了しているかを判断し(S16)、終了している場合は(S16において、YES)、最小二乗法によりセグメントの曲面方程式を求める(S17)。また、隣接セグメントの曲面方程式に対する残差の分散値を算出する(S18)。
【0106】
また、平面方程式によるセグメンテーションが終了していない場合は(S16において、NO)、最小二乗法によりセグメントの平面方程式を求め(S19)、隣接セグメントの平面方程式に対する残差の分散値を算出する(S20)。
【0107】
次に、S18又はS20のステップが終了後、算出された分散値が設定した閾値より小さいかを判断し(S21)、小さい場合は(S21において、YES)、セグメントと隣接セグメントを同一セグメントとする処理を行う(S22)。また、S21において、分散値が設定した閾値以上の場合(S21において、NO)は、次の最小ユニットに対してS16からの処理を行う。
【0108】
ここで、S16からS22までの隣接セグメントを生成するステップは、S13又はS14のステップにて生成された全ての最小ユニットセグメントに対して繰り返し処理を行い、また、S15からS22までのセグメントの生成ステップについて、全ての最小ユニットセグメントに対して行う。
【0109】
次に、全ての最小ユニットセグメントについてセグメンテーション処理を行った後、セグメンテーションが完了しているかを判断し(S23)、完了していなかった場合は(S23において、NO)、S15における検索方法や、S21における閾値等の設定条件を変更して(S24)、再びセグメント処理を行う。また、セグメンテーションが完了している場合は(S23において、YES)、曲面方程式によるセグメンテーションが終了しているかを判断し(S25)、終了していない場合は(S25において、NO)、閾値等の設定条件を変更して(S24)、S15からのセグメント処理を行う。また、曲面方程式によるセグメンテーションが終了している場合は(S25において、YES)、セグメンテーションプロセスを終了する。
【0110】
次に、形状判別・自動生成プロセスについて説明する。図8は、本発明における形状判別・自動生成プロセスの一例を示すフローチャートである。
【0111】
まず前提として、上述したセグメンテーションプロセスにより、点群データのセグメンテーションが行われている(S31)。次に、セグメンテーションにより生成されたセグメント形状情報に基づき、最小二乗法によりセグメントに属する点群データから二次曲面方程式の係数を求める(S32)。2次曲面方程式の係数より固有値ei、固有ベクトルeviの計算を行う(S33)。なお、固有値ベクトルは三次元であるため、3つの固有値が算出される。
【0112】
次に、計算した固有値eiの寄与率が設定した閾値より小さい場合、固有値を0とする(S34)。ここで、S33のステップによる算出された固有値eiのうち2つが0であるかを判断し(S35)、2つが0である場合は(S35において、YES)、平面セグメントの点群を囲む矩形のうち、最小面積となる矩形を抽出する(S36)。また、S36にて抽出された矩形を用いて平面におけるプリミティブな形状の生成を行う(S37)。
【0113】
一方、固有値eiのうち2つが0でない場合は(S35において、NO)、eiにおける3つの固有値e1,e2,e3に基づく形状の生成を行う。なお、この条件は、上述の表1に対応するものであるが、ここでは、フローチャートに対応させて説明する。
【0114】
まず、e1,e2が0より大きく、更にe3が0であるかを判断し(S38)、S38の条件に該当する場合は(S38において、YES)、楕円柱面の生成を行う(S39)。また、S38の条件に該当しない場合は(S38において、NO)、e1,e2が0より大きく、e3が0より小さいかを判断し(S40)、S40の条件に該当する場合は(S40において、YES)、楕円錐面の生成を行う(S41)。また、S40の条件に該当しない場合は(S40において、NO)、次に固有値e1,e2,及びe3が共に0であるかを判断する(S42)。
【0115】
固有値e1,e2,及びe3が共に0である場合は楕円球面の生成を行い(S43)、e1,e2,及びe3が共に0でない場合は、その他の形状の割り当てを行う(S44)。S44のステップでは、楕円ではない所定の曲面を割り当てることもでき、また、多角形状を割り当てることもできる。また、何も割り当てなくてもよい。なお、S32からS44までのステップは、S31に取得した点群データの全てのセグメンテーションにおいて行う。
【0116】
これにより、点群データからでは取得することができなかった三次元形状のオクルージョン部分について補間することができ、高精度な三次元形状を生成するこができる。
【0117】
上述により本発明によれば、人手によることなく、低コストで自動的に且つ均質な三次元形状データを生成することができる。また、三次元形状データの生成に関して大幅なコストダウンを可能にする。
【0118】
なお、上述したセグメンテーションプロセスと、形状判別・自動生成プロセスとをコンピュータに実行させるような実行プログラムを生成し、例えば、汎用のパーソナルコンピュータ、ワークステーション等にインストールすることにより本発明における三次元形状の自動生成が容易に実行可能となる。ここで、実行可能となるコンピュータのハードウェア構成例について図を用いて説明する。
【0119】
図9は、本発明における三次元形状自動生成が実現可能なハードウェア構成の一例を示す図である。
【0120】
図9において、三次元形状の自動生成装置全体を統括的に制御するプログラムされた主制御部(制御手段、以下CPUと略称する)10に、記憶装置20が接続されている。CPU10には、入力制御部30を介してキーボードやマウス等のポインティングデバイスからなる入力装置40、実行指示画面表示、出力結果表示等のモニタに用いる表示装置50、及び生成された三次元形状データを出力する出力装置60が接続されている。
【0121】
CPU10は、OS(Operating System)等の制御プログラム、三次元形状を生成するための処理手順を規定したプログラム、及び所要データを格納するための内部メモリを有し、これらのプログラム等により、点群グループをセグメンテーションする処理、セグメント化された点群データから形状を判別し、三次元形状を自動生成する処理等を実現している。記憶装置20は、ハードディスクやフレキシブルディスク、或いは光ディスク等のストレージ手段であり、点群データ21、閾値データ22、関数データ23が格納されている。
【0122】
ここで、上述したセグメンテーションプロセス及び形状判別・自動生成プロセスにおける夫々のステップは、作業者が入力装置40からのプログラムの実行指示することでCPU10の制御に基づいて入力制御部30によりデータ、制御信号の入出力が行われ、セグメンテーションプロセス及び形状判別・自動生成プロセスが実行される。また、本発明において三次元形状データを自動生成するのに必要な点群データ21、閾値データ22、及び関数データ23は、必要に応じて記憶装置20から取得することができる。上述において、生成された三次元形状データは出力装置60に出力され、表示装置50には処理結果が出力される。
【0123】
なお、上述したハードウェア構成において、入力装置40は三次元形状自動生成装置1の点群データ入力部2に、記憶装置20は記憶部5に、また表示装置50,出力装置60は出力部6に夫々相当し、セグメンテーション部3及び形状生成部4とにおける処理はCPU10が実行プログラムにより実行する。
【0124】
上述のプログラムを用いることにより、パーソナルコンピュータに一般的に具備されているハードウェア構成を用いて本発明における三次元形状の自動生成を容易に行うことができる。
【0125】
また、本発明における三次元形状データを自動生成するためのプログラムはCD−ROM、フロッピー(登録商標)ディスク等の持ち運び可能な記録媒体に格納することにより任意の端末で実行することができる。上述したようなハードウェア構成により、人手によることなく、低コストで自動的に且つ均質な三次元形状データを生成することができる。
(自動生成結果)
次に、本発明を用いて自動生成された距離画像における三次元データの自動生成結果について説明する。なお、点群データのセグメンテーションと形状判別・自動生成については、計測に使用したレーザーレンジファインダ(距離計測器)として「VIVID900」(精度X=±1.40mm,Y=±1.04mm,Z=±0.64mm)、及び「Cyrax2500」(精度X,Y=±6.00mm,Z=±4.00mm)を用いるものとする。また、後述の三次元形状の生成にて用いられる計測対象物(球体、円錐、立体)の実際のサイズを図に示す。
【0126】
図10は、本発明における三次元形状データの自動生成に用いられる計測対象物の一例を示す図である。ここで、図10(a)は円錐の図を示し、図10(b)は球体の図を示し、図10(c)は正方体の図を示している。図10の図に基づいて、種々の条件に基づき、三次元形状データを自動生成した結果について説明する。
【0127】
まず、セグメンテーションプロセスにおいて、三次元レーザースキャナーから得られた点群データであるレンジ画像(距離画像)に対して、一次方程式によるセグメンテーションを行う際に設定する閾値TP、及び二次方程式によるセグメンテーションを行う際に設定する閾値TQを変化させた場合におけるセグメンテーション結果について図を用いて説明する。
【0128】
図11は、異なる閾値に基づくセグメンテーション結果の一例を示す図である。
【0129】
ここで、図11(a)は、入力されるレンジ画像を示し、図11(b)は閾値TP,TQを共に0.001mに設定した結果を示し、図11(c)は閾値TPを0.001m、TQを0.005mに設定して結果を示し、図11(d)は、閾値TP,TQを共に0.01mに設定した結果を示す図である。なお、図11の結果は、計測器「VIVID900」を使用して計測した点群データを使用したものである。
【0130】
図11(b)では、閾値が小さいため、二次曲面形状(球、円錐)が1つのセグメントとして判断されていないケースである。しかしながら、単純に閾値を大きくすれば、隣接関係にあるセグメント同士が同一セグメントとなるわけではない。図11(d)でオブジェクトの置かれている平面が同一セグメントとなっていないのは、閾値を大きく設定したために円錐と床の一部が同一セグメントとなってしまい、平面同士の隣接関係が途絶えてしまったためである。
【0131】
これにより、図11の(b)から(d)において、最適な閾値の設定は、図11(b)であることがわかる。上述したように、閾値を設定してセグメンテーションを行うことにより高精度な形状を取得することができる。
【0132】
次に、図11に示す球体のみを計測器「Cyrax2500」により計測して得られたレンジ画像に対するセグメンテーション結果について説明する。
【0133】
図12は、異なる機器で計測して点群データを用いたセグメンテーション結果の一例を示す図である。
【0134】
ここで、図12(a)は、入力レンジ画像を示し、図12(b)は、閾値TPを0.001m、TQを0.005mに設定して結果を示し、図12(c)は、閾値TPを0.01m、TQを0.02mに設定した結果を示し、図12(d)は、計測誤差を示す図である。
【0135】
図12(b)は、図11(c)と同じ閾値を設定した場合における結果であるが、計測器のレンジ誤差、及びレンジ画像の点群間隔よりも閾値が小さい値なので、平面内にあっても同一セグメントとなっていない個所が多数存在する。また、図12(c)は、見た目には良好な結果が得られているが、図12(d)に示すように奥行き方向へ流れたレンジ誤差が発生している。これは、図12のレンジ画像が計測器で推奨している計測レンジの最小値付近(計測器から対象物までの距離が1.5m)で計測されているために生じたものである。
【0136】
また、図13は、広範囲を計測した場合のセグメンテーション結果を示す図である。ここで、図13(a)は、図12と同様に計測器「Cyrax2500」で計測したレンジ画像を示し、図13(b)は、閾値TPを0.02m、TQを0.02mに設定して結果を示し、図13(c)は、閾値TPを0.02m、TQを0.05mに設定した結果を示す図である。
【0137】
図13(b)と図13(c)を比較すると、図13(c)のほうが床面に対するセグメンテーションがうまく行われている。以上の実測結果によりセグメンテーション時に設定する閾値は、およそ閾値TPが計測器の計測誤差の1〜2倍、閾値TQが2〜5倍程度の範囲で設定するのが妥当であると考えられる。
【0138】
次に、形状判別・自動生成プロセスの三次元データの自動生成結果について説明する。ここで、後述する自動生成結果については、セグメンテーションが比較的良好に行われているレンジ画像に対して、固有値の寄与率を0にする閾値TEを変化させた場合における形状判別・自動生成の違いを表したものである。
【0139】
図14は、本発明における異なる閾値による形状判別・自動生成結果の一例を示す図である。
【0140】
ここで、図14(a)は閾値TEを0.005に設定した結果であり、図14(b)は、閾値TEを0.01に設定した場合における形状生成の違いを示すものである。
【0141】
図14(a)では、円錐が形成されているが、図14(b)では、固有値の寄与率の1つが閾値よりも小さい値になっているため、円柱として認識された結果である。また、自動生成の不具合は、上述した閾値TEの設定の他に、レンジ誤差により自動生成の不具合もある。ここで、上述の内容について図を用いて説明する。
【0142】
図15は、レンジ誤差による自動生成不具合の一例を示す図である。なお、図15は、上述した図12(c)のセグメンテーション結果から自動生成を行った結果である。
【0143】
図12(d)に示すようなレンジ画像に誤差が含まれると図15(b)に示すように自動生成された三次元形状が楕円形になってしまう。この対処法として、レンジ誤差に対応した閾値に変更する方法や、実在する物体には楕円形より正形が多いので正形に当て嵌めてしまう方法により対応することができる。
【0144】
ここで、自動生成結果の一例として、図14における形状判別・自動生成結果を表2、表3に示す。
【0145】
【表2】
表2では、図14において、計測器「VIVID900」を用いて閾値TPを0.001m、閾値TQを0.01m、閾値TEを0.005mとして三次元形状判別を行った際の係数(固有値)e1,e2,e3における固有値及び寄与率を示している。また、図14の立方体については上面、左面、右面の夫々についての固有値、寄与率を示している。
【0146】
ここで、表2▲1▼において固有値e3となる固有値「―0.010335」の寄与率が0.07277と閾値TEよりも小さい値になっているため、実際は円錐でありながら、図14(b)に示す円柱として図形が生成されている。ここで、閾値TEを調整し再度計算した結果が表3に示すものである。
【0147】
【表3】
表3は、図10で示した実際の計測対象物における自動生成された三次元形状のサイズ(単位m)を示すものである。表3に示すように最適となる閾値を設定することにより全ての計測対象物に対し、図10に示す形状とほぼ同一の高精度な三次元形状を自動生成することができる。
【0148】
上述したように本発明により、高精度で均質な三次元形状データの自動生成を実現することができる。
【0149】
次に、より高精度に三次元形状を自動生成するための応用例について、いくつか例を用いて説明する。
(応用例1:複数レンジ画像の自動マージング)
計測対象が比較的簡単な形状である場合は、方程式により近似してオクル−ジョン部分を補完することができるが、より複雑な形状を対象とする場合は、対象物体を複数の地点から計測し、取得した各々のレンジ画像の位置合わせを行う必要がある。しかしながら、複数のレンジ画像の位置を合わせるには正確な計測地点の位置や計測方向が必要であり、それらの情報の取得には角度を計測するためのトランシットや、距離、角度を同時に測ることのできるトータルステーション等を用いた測量技術が求められる。これらの作業は熟練を要し、また計測効率も低下させる。
【0150】
そこで、複数の計測地点から得られた複数のレンジ画像を自動でマッチングして、全てのレンジ画像をグローバル座標系に変換する手法が必要となる。以下に具体的なマージング手順を示す。
【0151】
(応用例1−1:二つのレンジ画像のマージング)
まず、各レンジ画像から任意に3つのセグメントを選び、これらを対応するセグメントと仮定する。次に、対応するセグメントから、回転行列と移動量ベクトルを推定し、推定した回転行列と移動量ベクトルを用いて2つのレンジ画像を重ね合わせたとき互いに一致するセグメントの一致度を固有値、固有ベクトルにより求める。
【0152】
全てのセグメントの組み合わせで上述までの処理を行い、最も一致度の高い回転行列と移動量ベクトルを採用する。
【0153】
(応用例1−2:複数レンジ画像のマージング)
複数のレンジ画像の場合は、任意のレンジ画像R1と、計測地点がR1に最も近いレンジ画像R2のマージングを行い2つの画像を統合する。統合したレンジ画像に、計測地点が最も近いレンジ画像R3とのマージングを行う。
【0154】
残りのレンジ画像に対しても同様の処理を行い、複数レンジ画像を一つのレンジ画像に統合する。
【0155】
(応用例2:パラメトリック曲面への置き換え)
複雑な形状を対象とする自動生成においては、一般的な平面や二次曲面形状だけでは表現できないケースも存在する(例:いす、車のボディー等)。そのような形状を生成する場合は、得られた点群データに対して曲面上のある座標値(x,y,z)があるパラメータの値によって一意に決定するよう、例えばベジェ曲面やNURBS曲面等のパラメトリック曲面によりフィッティングを行う。これにより、形状を修正する必要が生じた際に、修正が行い易くなるという利点が考えられる。しかしながら、パラメトリック曲面のフィッティングでは、計測された部分に対するフィッティングは行えるが、計測されていない部分についての推定等ができないので複数地点からの計測が必要となってくる。この理由からも、上述した応用例1のマージングが必要となる。
【0156】
(応用例3:生成形状データベースへの登録と参照)
実務レベルでのデータ処理(形状生成)を行う際、これまでに挙げた幾つかの手法でセグメント化及び形状生成されたものが、そのまま最終形状とする場合と多少の手修正を加える場合とが起こり得る。形状生成の場合において、その修正したデータに関する情報を次回以降の自動生成を行う際の形状決定のための判断条件に加えることで、目的とする形状の生成効率を経験的に高めることが可能となる。そこで、形状に関する情報等を生成形状データベースに登録し、次に自動生成を行う際にそのデータベースを参照し、形状判断の条件に逐次加える事で、自動生成の効率を高めていく手法である。
【0157】
なお、上述した実施例では、3種類の曲面形状の曲面部分を生成する例について説明したが、それ以外の形状の特徴をパラメータや他の設定条件等をデータベースに登録し、必要に応じて参照することでより高精度に三次元形状の判定を行うことができる。
【0158】
上述したように本発明によれば、点群データにないオクルージョン部分が、単純な幾何形状で構成されている場合が多いことを利用し、近傍の可視部分の形状、色、対象物の種類等の補足情報から類推してオクルージョン部分のエッジや面を正確に生成することで高精度な三次元形状データを生成する。これにより、従来の三次元モデリング手法と比較して三次元形状データの生成を飛躍的に高効率化することができる。また、三次元形状データの生成に関して大幅なコストダウンを可能にする。
【0159】
なお、レーザースキャニングによる点群データだけでは、計測時間や計測対象物の大きさ・素材等の問題で、形状取得に不十分な点もある。そこで、ステレオ画像、動画像等を併用する方法も有効である。複数画像を用いる場合、その処理結果は計測時の光学的環境による影響が大きく、均一な環境光下においては、高精度な処理結果を得ることが可能となる。
【0160】
また、本発明において生成した三次元形状を用いれば、以下に示すような効果がある。
【0161】
自動車プラントの分野においては、ますます激化する国内外の競争の中、よりスピーディな新車の開発が必要となり、工場の生産ラインの迅速な変更を行うために正確な三次元データが必要とされている。ところが、従来の工場の施工においては現場合わせが多く、図面も完全に保管されなかった等の理由により、三次元化がほとんど行われていないのが現状である。現在、レーザースキャニングの実用検討が行われているが、面とエッジを備えた正確な三次元形状データを自動生成する技術は極めて重要である。今後、レーザースキャニングによる自動車プラントの三次元化の業務急速に増加することが確実である。
【0162】
自動車以外の分野では、原子力、化学等の各種プラントにおいても同様のニーズが存在し、今後の増加が予想される。
【0163】
また、文化財建造物においては保存修復等の際に現状の形状をデジタル化することが重要であり、従来の写真測量等に代わる技術としてレーザースキャニングが注目され、実験的に行われ始めている。本発明により面及びエッジを備えた正確な三次元形状データを自動生成することが可能になれば、特に古建築のデジタル化における利用が普及することとなる。
【0164】
また、測量業務としての利用や次世代カーナビでの利用等、多種の分野においての利用が実現できる。
【0165】
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【0166】
【発明の効果】
本発明によれば、点群データから高精度な三次元形状データを生成するこができる。
【図面の簡単な説明】
【図1】本発明における三次元形状自動生成装置の一構成例を示す図である。
【図2】本発明における三次元データ自動生成手順の概略を示す一例のフローチャートである。
【図3】S01ステップ実行後の結果の一例を示す図である。
【図4】S02のステップにおける動作を説明するための一例の図である。
【図5】矩形の検索内容の一例を示す図である。
【図6】曲面形状の一例を示す図である。
【図7】本発明おけるセグメンテーションプロセスの一例を示すフローチャートである。
【図8】本発明における形状判別・自動生成プロセスの一例を示すフローチャートである。
【図9】本発明における三次元形状自動生成が実現可能なハードウェア構成の一例を示す図である。
【図10】本発明における三次元形状データの自動生成に用いられる計測対象物の一例を示す図である。
【図11】異なる閾値に基づくセグメンテーション結果の一例を示す図である。
【図12】異なる機器で計測して点群データを用いたセグメンテーション結果の一例を示す図である。
【図13】広範囲を計測した場合のセグメンテーション結果の一例を示す図である。
【図14】本発明における異なる閾値による形状判別・自動生成結果の一例を示す図である。
【図15】レンジ誤差による自動生成不具合の一例を示す図である。
【符号の説明】
1 三次元形状自動生成装置
2 点群データ入力部
3 セグメンテーション部
4 形状生成部
5 記憶部
6 出力部
10 主制御部
20 記憶装置
21 点群データ
22 閾値データ
23 関数データ
30 入出力制御部
40 入力装置
50 表示装置
60 出力装置
【発明の属する技術分野】
本発明は、三次元形状の自動生成装置、自動生成方法、そのプログラム、及びそのプログラムを記録した記録媒体に係り、特に三次元レーザースキャナー等で取得した点群データから高精度で均質な三次元形状データを自動生成する自動生成装置、自動生成方法、そのプログラム、及びそのプログラムを記録した記録媒体に関する。
【0002】
【従来の技術】
近年の著しい情報技術(IT)の発展により、従来の紙ベースの二次元地図から二次元電子地図へ、更にはカーナビゲーションシステムやコンピュータを利用した地理検索システム等、広範な分野をターゲットに三次元電子地図の構築が進められている。
【0003】
また、三次元の位置情報を持つ点群データを用いて三次元形状データを生成する点群データ処理ソフトウェアは、複数の点群データについて位置合わせ(アラインメント)、統合(マージング)、ポリゴン化等の機能を有し、三次元形状データの生成を実現している。なお、点群データは、実際の建物等の三次元形状を、距離計測器等を用いてレーザースキャニングすることにより取得している。
【0004】
また、三次元物体における二次元図形情報を用いて、三次元基本形状モデルとの対応付けを行うことで三次元物体の三次元形状モデルを生成する技術が開示されている(例えば、特許文献1参照。)。
【0005】
【特許文献1】
特開平4―289976号公報
【0006】
【発明が解決しようとする課題】
しかしながら、レーザースキャニングで取得した点群データから三次元データを作成する従来のソフトウェアはその機能が未だ十分とは言えず、多くの手作業と熟練技術が必要になっている。
【0007】
例えば、プラントや建築物等の三次元形状の場合、カーナビゲーションシステム等のコンテンツ制作や3D−CADで利用するためには、明確にエッジと面で構成される三次元データを必要とするが、そのような三次元形状データを生成するには点群データの量が少なすぎるため、特に、レーザースキャニングによる点群データが取得されていない場合、三次元形状の不可視部分(オクルージョン部分)のエッジや面を精度よく生成することができず、多大な手作業の労力を要している。三次元形状が複数あれば、人手による作業が多分に発生し、更に作業者の技術、経験等によって抽出し生成した三次元形状の質にばらつきが生じてしまう。
【0008】
なお、スキャニングの数を増やして点群の精度を上げた場合にもデータ量が多くなり計算処理時間が増大するという問題があり、三次元デジタル化業務等においては、レーザースキャニングによる点群データをアラインメント、マージング、ポリゴン化及びポリゴンリダクションによる三次元形状データ作成が主体であったが、プラントや建築物等の大規模な対象物においては全ての部分をスキャニングすることは困難であるため現実的な方法ではない。同様に特許文献1に示すようなカメラ画像等からなる二次元図形の取得も困難である。
【0009】
本発明は、上述した問題点に鑑みなされたものであり、レーザースキャニングという技術を利用して、プラント、建築物・街並、文化財建造物等について高精度な三次元形状データを自動生成することにより手作業や熟練技術を大幅に軽減し、三次元データ作成の均質化、高精度化及び高効率化を実現するための三次元形状の自動生成装置、自動生成方法、そのプログラム、及びそのプログラムを記録した記録媒体を提供することを目的とする。
【0010】
【課題を解決するための手段】
上記課題を解決するために、本件発明は、以下の特徴を有する課題を解決するための手段を採用している。
【0011】
請求項1に記載された発明は、三次元座標を持つ複数の点群データから三次元形状を自動生成する三次元形状の自動生成装置において、前記点群データから三次元形状のエッジ及び面を抽出するためのセグメント化を行うセグメント手段と、前記セグメント手段により生成されたセグメント情報及び予め設定された関数に基づいて三次元形状を判定し自動生成する形状判定生成手段とを有することを特徴とする。
【0012】
請求項1記載の発明によれば、点群データにないオクルージョン部分が、単純な幾何形状で構成されている場合が多いことを利用し、近傍の可視部分の形状、色、対象物の種類等の補足情報から類推してオクルージョン部分のエッジや面を正確に生成することで高精度な三次元形状データを生成する。また、作業者による手作業をなくすことで均質な三次元形状データを生成することができる。
【0013】
請求項2に記載された発明は、前記セグメント手段は、前記点群データに整列情報が含まれる場合は整列順に基づきセグメント化を行い、前記点群データに整列情報が含まれていない場合は、三角ポリゴンを生成してセグメント化を行うことを特徴とする。
【0014】
請求項2記載の発明によれば、点群データからセグメントを容易に生成することができる。また、点群データに整列情報が含まれていない場合でも点群データのセグメント化を可能にする。
【0015】
請求項3に記載された発明は、前記セグメント手段は、前記セグメント化された点群データのセグメント形状情報から各形状間において、隣接する形状同士の連続性、法線方向、距離に基づきエッジ及び面を抽出することを特徴とする。
【0016】
請求項3記載の発明によれば、セグメント形状同士の連続性、法線方向、距離からエッジ及び面に関する情報を容易に取得することができる。これにより、高精度な三次元形状を生成することができる。
【0017】
請求項4に記載された発明は、前記形状判定生成手段は、セグメント化された各々のセグメントにおける点群データから最小二乗法を用いて前記所定の関数として設定された平面方程式又は曲面方程式に置き換え、その係数値により固有値及び固有ベクトルを生成することを特徴とする。
【0018】
請求項4記載の発明によれば、点群データに含まれていない三次元形状のオクルージョン部分に対しても三次元形状を生成することができる。これにより、高精度で均質な三次元形状データを生成することができる。
【0019】
請求項5に記載された発明は、前記形状判定生成手段は、前記固有値に対する寄与率と、予め設定した閾値とに基づいて平面又は二次曲面の形状を判定することを特徴とする。
【0020】
請求項5記載の発明によれば、閾値条件に基づき、生成される三次元形状の精度を設定することができ、より詳細で高精度な三次元形状データを生成することができる。
【0021】
請求項6に記載された発明は、前記形状判定生成手段は、前記二次曲面形状から移動量ベクトルを生成することを特徴とする。
【0022】
請求項6記載の発明によれば、移動量ベクトルにより、生成する形状における軸の座標等、形状に関する情報を得ることができるため、高精度な三次元形状データを生成することができる。
【0023】
請求項7に記載された発明は、前記形状判定生成手段は、前記固有ベクトル及び前記移動ベクトルにより前記セグメントの点群データをオブジェクト座標に変換して曲面形状を生成することを特徴とする。
【0024】
請求項7記載の発明によれば、点群データに含まれていない三次元形状のオクルージョン部分に対しても三次元形状を生成することができる。これにより、高精度で均質な三次元形状データを生成することができる。
【0025】
請求項8に記載された発明は、三次元座標を持つ複数の点群データから三次元形状を自動生成する三次元形状の自動生成方法において、前記点群データから三次元形状のエッジ及び面を抽出するためのセグメント化を行うセグメント段階と、前記セグメント段階により生成されたセグメント情報及び予め設定された関数に基づいて三次元形状を判定し自動生成する形状判定生成段階とを有することを特徴とする。
【0026】
請求項8記載の発明によれば、点群データにないオクルージョン部分が、単純な幾何形状で構成されている場合が多いことを利用し、近傍の可視部分の形状、色、対象物の種類等の補足情報から類推してオクルージョン部分のエッジや面を正確に生成することで高精度な三次元形状データを生成する。また、作業者による手作業をなくすことで均質な三次元形状データを生成することができる。
【0027】
請求項9に記載された発明は、前記セグメント段階は、前記点群データに整列情報が含まれる場合は整列順に基づきセグメント化を行い、前記点群データに整列情報が含まれていない場合は、三角ポリゴンを生成してセグメント化を行うことを特徴とする。
【0028】
請求項9記載の発明によれば、点群データからセグメントを容易に生成することができる。また、点群データに整列情報が含まれていない場合でも点群データのセグメント化を可能にする。これにより、高精度な三次元形状データを生成することができる。
【0029】
請求項10に記載された発明は、前記セグメント段階は、前記セグメント化された点群データのセグメント形状情報から各形状間において、隣接する形状同士の連続性、法線方向、距離に基づきエッジ及び面を抽出することを特徴とする。
【0030】
請求項10記載の発明によれば、セグメント形状同士の連続性、法線方向、距離からエッジ及び面に関する情報を容易に取得することができる。これにより、高精度な三次元形状を生成することができる。
【0031】
請求項11に記載された発明は、前記形状判定生成段階は、セグメント化された各々のセグメントにおける点群データから最小二乗法を用いて前記所定の関数として設定された平面方程式又は曲面方程式に置き換え、その係数値により固有値及び固有ベクトルを生成することを特徴とする。
【0032】
請求項11記載の発明によれば、点群データに含まれていない三次元形状のオクルージョン部分に対しても三次元形状を生成することができる。これにより、高精度で均質な三次元形状データを生成することができる。
【0033】
請求項12に記載された発明は、前記形状判定生成段階は、前記固有値に対する寄与率と、予め設定した閾値とに基づいて平面又は二次曲面の形状を判定することを特徴とする。
【0034】
請求項12記載の発明によれば、閾値条件に基づき、生成される三次元形状の精度を設定することができ、より詳細で高精度な三次元形状データを生成することができる。
【0035】
請求項13に記載された発明は、前記形状判定生成段階は、前記二次曲面形状から移動量ベクトルを生成することを特徴とする。
【0036】
請求項13記載の発明によれば、移動量ベクトルにより、生成する形状における軸の座標等、形状に関する情報を得ることができるため、高精度な三次元形状データを生成することができる。
【0037】
請求項14に記載された発明は、前記形状判定生成段階は、前記固有ベクトル及び前記移動ベクトルにより前記セグメントの点群データをオブジェクト座標に変換して曲面形状を生成することを特徴とする。
【0038】
請求項14記載の発明によれば、点群データに含まれていない三次元形状のオクルージョン部分に対しても三次元形状を生成することができる。これにより、高精度で均質な三次元形状データを生成することができる。
【0039】
請求項15に記載された発明は、三次元座標を持つ複数の点群データから三次元形状を自動生成する三次元形状の自動生成をコンピュータに実行させるためのプログラムにおいて、前記点群データから三次元形状のエッジ及び面を抽出するためのセグメント化を行うセグメントステップと、前記セグメントステップにより生成されたセグメント情報及び予め設定された関数に基づいて三次元形状を判定し自動生成する形状判定生成ステップとをコンピュータに実行させる。
【0040】
請求項15記載の発明によれば、点群データにないオクルージョン部分が、単純な幾何形状で構成されている場合が多いことを利用し、近傍の可視部分の形状、色、対象物の種類等の補足情報から類推してオクルージョン部分のエッジや面を正確に生成することで高精度な三次元形状データを生成する。また、作業者による手作業をなくすことで均質な三次元形状データを生成することができる。
【0041】
請求項16に記載された発明は、前記セグメントステップは、前記点群データに整列情報が含まれる場合は整列順に基づきセグメント化を行い、前記点群データに整列情報が含まれていない場合は、三角ポリゴンを生成してセグメント化を行うことを特徴とする。
【0042】
請求項16記載の発明によれば、点群データからセグメントを容易に生成することができる。また、点群データに整列情報が含まれていない場合でも点群データのセグメント化を可能にする。これにより、高精度な三次元形状データを生成することができる。
【0043】
請求項17に記載された発明は、前記セグメントステップは、前記セグメント化された点群データのセグメント形状情報から各形状間において、隣接する形状同士の連続性、法線方向、距離に基づきエッジ及び面を抽出することを特徴とする。
【0044】
請求項17記載の発明によれば、セグメント形状同士の連続性、法線方向、距離からエッジ及び面に関する情報を容易に取得することができる。これにより、高精度な三次元形状を生成することができる。
【0045】
請求項18に記載された発明は、前記形状判定生成ステップは、セグメント化された各々のセグメントにおける点群データから最小二乗法を用いて前記所定の関数として設定された平面方程式又は曲面方程式に置き換え、その係数値により固有値及び固有ベクトルを生成することを特徴とする。
【0046】
請求項18記載の発明によれば、点群データに含まれていない三次元形状のオクルージョン部分に対しても三次元形状を生成することができる。これにより、高精度で均質な三次元形状データを生成することができる。
【0047】
請求項19に記載された発明は、前記形状判定生成ステップは、前記固有値に対する寄与率と、予め設定した閾値とに基づいて平面又は二次曲面の形状を判定することを特徴とする。
【0048】
請求項19記載の発明によれば、閾値条件に基づき、生成される三次元形状の精度を設定することができ、より詳細で高精度な三次元形状データを生成することができる。
【0049】
請求項20に記載された発明は、前記形状判定生成ステップは、前記二次曲面形状から移動量ベクトルを生成することを特徴とする。
【0050】
請求項20記載の発明によれば、移動量ベクトルにより、生成する形状における軸の座標等、形状に関する情報を得ることができるため、高精度な三次元形状データを生成することができる。
【0051】
請求項21に記載された発明は、前記形状判定生成ステップは、前記固有ベクトル及び前記移動ベクトルにより前記セグメントの点群データをオブジェクト座標に変換して曲面形状を生成することを特徴とする。
【0052】
請求項21記載の発明によれば、点群データに含まれていない三次元形状のオクルージョン部分に対しても三次元形状を生成することができる。これにより、高精度で均質な三次元形状データを生成することができる。
【0053】
請求項22に記載された発明は、前記請求項15乃至21何れか一項記載のプログラムを記録媒体に記録したものである。
【0054】
【発明の実施の形態】
本発明は、レーザースキャニング等から取得した点群データを用いて、エッジと面の抽出及び生成と、パターン認識及びパターンマッチングによる点群データ欠落部の補完とを効率的で高精度に行うことにより三次元形状データを自動生成する。これにより、従来の三次元モデリング手法と比較して三次元形状データの生成を飛躍的に高効率化することができる。また、三次元形状データの生成に関して大幅なコストダウンを可能にする。
【0055】
なお、本発明では、点群データにないオクルージョン部分が、単純な幾何形状で構成されている場合が多いことを利用し、近傍の可視部分の形状、色、対象物の種類等の補足情報から類推してオクルージョン部分のエッジや面を正確に生成することで高精度な三次元形状データを生成する。
【0056】
次に、本発明の実施の形態について、図面を用いて説明する。
【0057】
図1は、本発明における三次元形状自動生成装置の一構成例を示す図である。
【0058】
図1の三次元形状自動生成装置1は、点群データ入力部2と、セグメンテーション部3と、形状生成部4と、記憶部5と、出力部6とを有するよう構成されている。
【0059】
三次元形状自動生成装置1では、上述したように、点群データ入力部2から計測器で測定された入力データを入力しレンジ画像を生成して、セグメンテーション部3へ出力する。セグメンテーション部3では、レンジ画像における各計測点のセグメンテーション化を行い、その結果を形状生成部4に出力する。形状生成部4では、記憶部5に予め記憶されている関数及び閾値データを用いて三次元形状の生成を行う。三次元形状が生成された後、その出力データをディスプレイ等の出力部6から作業者が容易に自動生成された三次元形状を把握できるよう出力を行う。これにより、均質で高精度な三次元形状データを生成することができる。
【0060】
次に、具体的な三次元形状生成手順について説明する。本発明における三次元形状データの自動生成では、大別して以下に示す2つの手順からなる。
【0061】
(1)エッジ及び面の抽出及び生成
点群データ入力部2によりレーザースキャナーにより計測した点群データが入力されるとセグメンテーション部3で点群データを解析し、その幾何形状を利用してエッジ及び面の抽出を行う。具体的には、計測した点群データから矩形形状を生成し、その矩形形状間において、隣接するポリゴン同士の連続性、法線方向、距離等により、エッジ及び面を認識する。また、点群データの平面性又は曲面性を、平面方程式又は曲面方程式に対して最小二乗法を用いて置き換え、グループ分け(セグメンテーション化)を行う。ここで得られたグループをより計測対象物に類似又は同一となるようなプリミティブな形状へ再度置き換えることでエッジ及び面の生成を行う。
【0062】
(2)オクルージョン部分の補完
抽出したエッジ及び面の情報を形状生成部4に出力し、形状生成部4は、点群データが取得できなかった部分(オクルージョン部分)の形状について、欠落部近傍の形状特徴によるパターンマッチングを行い当該欠落部分の形状を類推する。これにより、欠落部分を補完して全体の三次元形状データを生成する。
【0063】
なお、形状特徴としては、平面形状、円柱、円錐、球等の予め記憶部5に設定された形状を用いる。生成された三次元形状データは出力部6にて出力され、これにより作業者が生成された三次元形状データを容易に確認することができる。また、記憶部5は、後述する各プロセスで設定される閾値データ及び関数データ、更には点群データ等の本発明における三次元形状データの自動生成に必要なデータを記憶することができ、セグメンテーション部3、又は形状生成部4が必要に応じてデータを読み出し、あるいは蓄積することができる。
【0064】
ここで、本発明における三次元データの自動生成手順の概略についてフローチャートを用いて説明する。図2は、本発明における三次元データ自動生成手順の概略を示す一例のフローチャートである。
【0065】
エッジ及び面の抽出及び生成するためのセグメンテーションプロセスでは、レーザースキャニングにより計測された頂点群であるレンジ画像のセグメンテーションを行う方法として、まず、セグメントの最小なユニットとして三角ポリゴンを形成し(S01)、形成された複数の三角ポリゴンの夫々に対する隣接関係により、互いに接続関係にあるセグメント同士の同一平面性及び同一曲面性を最小二乗法により判定しながら繰り返しセグメンテーションの検索を行う(S02)。
【0066】
次に、セグメンテーションにより生成されたセグメントの形状情報からオクルージョン部分の補完するための形状判別と判別結果から三次元形状を自動生成する判別形状・自動生成プロセスでは、各々のセグメントは最小二乗法により求められた平面方程式又は曲面方程式に対応しているので、計測された物体形状はこれらのセグメントによって近似することができる。例えば、二次曲面形状の場合、実際には計測されていないオクル−ジョン部分を、曲面方程式により推定して形状生成を行うことが可能となる。
【0067】
しかしながら、平面又は曲面が混在したセグメンテーションを行う場合、各々のセグメントは平面であっても二次曲面方程式に当てはまってしまうため、セグメントを平面又は曲面のどちらとして扱うか、また、曲面として扱う場合、二次曲面形状の中から、どの形状で近似を行うかが問題となる。
【0068】
そこで、二次曲面形状は固有値により分類ができる性質に着目し、二次曲面方程式の係数により固有値、固有ベクトルの導出を行い(S03)、固有値による平面、曲面あるいは二次曲面形状の判別を行う(S04)。
【0069】
更に、S04から得られた判別結果に基づいて、平面形状の生成を行い(S05)、二次曲面形状の生成を行った後(S06)、三次元形状データの生成を行う(S07)。これにより、三次元データの自動生成を均質で高精度に行うことができる。
【0070】
次に、上述のセグメンテーションプロセス(S01〜S02)と、形状判別・自動生成プロセス(S03〜S07)について、具体的に説明する。
【0071】
(S01ステップ:点群データの三角ポリゴン化)
最初に点群データの三角ポリゴン化について説明する。
【0072】
入力点群データが格子状に並べられている場合は、その並び順により三角ポリゴンを形成する。なお、三角形のエッジの長さが事前に設定した閾値より大きくなる場合は三角ポリゴンを生成しない。
【0073】
そこで、点群データがx,y,z座標値のみで並び順に規則性がない場合は「Delaunay Trianglation(ドロネイ分割:三角形の外接円の内部に、他の頂点を含まないようにして三角形群を生成する幾何アルゴリズム)」により三角ポリゴンを生成する。
【0074】
つまり、計測した点群データの各点から三角形を生成する場合に、距離の近さだけで判断すると重なりあったデータから不適切な三角形が生成される可能性があるため、ドロネイの定義に基づき三角形の外接円の中に他の三角形の頂点は存在しないようにして三角形の生成を行う。なお、以上のプロセスが終了した段階で、個々の三角ポリゴンを一つのセグメントとして扱う。
ここで、上述により形成される入力レンジ画像に対する最小ユニットセグメントの結果を図に示す。
【0075】
図3は、S01のステップ実行後の結果の一例を示す図である。なお、図3(a)は、入力レンジ画像を示し、図3(b)は、図3(a)から抽出された不規則な点群データを示し、図3(c)は、上述した「Delaunay Trianglation」により、形成された最小ユニットセグメント(三角ポリゴン)の形成結果を示す図である。
【0076】
(S02:最小二乗法により同一セグメントの検索)
次に、S02として一次、二次方程式によるセグメンテーションとして最小二乗法による同一セグメントを検索する。
【0077】
ここで、具体的な例をあげて説明すると、任意のセグメントSe、及び、Seと接続関係にあるセグメントSi(i=0,1,・・・、n)が同一セグメントとして扱えるかどうかを判定する。図4は、S02のステップにおける動作を説明するための一例の図である。なお、図4(a)は、S02のステップを実施前の最小ユニットセグメントを生成した図であり、セグメントSeの周りには、S0,S1,S2,S3の4つのセグメントが隣接している。
【0078】
まず、Seに属する点群データから最小二乗法を用いて下記平面方程式((1)式)の係数を求める。
【0079】
【数1】
次に、Siに属する点群データの、平面方程式である(1)式に対する残差の分散値Vを下記(2)式により求める。
【0080】
【数2】
残差の分散値が事前に設定した閾値TP以下の場合、SeとSiを同一セグメントとする。以上の処理を残りのセグメントに対しても同様に行い、セグメンテーションが行われなくなるまで繰り返す。
【0081】
平面方程式によるセグメンテーションが終了したら、セグメントの点群データから最小二乗法を用いて、下記に示す二次曲面方程式((3)式)の係数を求め、更に、残差の分散値Vを下記(4)式により求めて、残差の分散値が事前に設定した閾値TQ以下の場合、SeとSiを同一セグメントとする。
【0082】
【数3】
【0083】
【数4】
以上の処理を平面方程式の場合と同様に、セグメンテーションが行われなくなるまで繰り返す。これにより、個々のセグメントから同一セグメントとなる領域を抽出しセグメント化することができる。
【0084】
図4(b)では、上述の手法により算出されたセグメンテーション適用結果を示す一例の図であり、Seの同一セグメントとしてS1及びS3が適用されたことを示している。
【0085】
(S03:固有ベクトルの導出)
次に、形状判別・自動生成プロセスとして、S02にて得られる各々のセグメントに属する点群データから最小二乗法を用いて下記(5)式に示す陰関数形式による二次曲面方程式の係数を求める。
【0086】
【数5】
ここで、
【0087】
【数6】
として、Mの固有値ei、固有ベクトルeviを求める(i=1,2,3)。次に、Mの固有値eiの寄与率ciを下記(7)式により求める。
【0088】
【数7】
ここで、寄与率ciの値と予め設定された閾値TEとを比較し、寄与率ciより閾値TEより小さい場合は固有値eiを0にする。
【0089】
これにより、形状判定を行うための固有値・固有ベクトルを算出することができる。
【0090】
(S04:平面・曲面の判別)
次に、平面・曲面の判別について説明する。S04では、上述した(1)式の係数により求められた固有値eiのうち2つが0の場合、そのセグメントを平面セグメントとみなし、それ以外を曲面セグメントとする。
【0091】
(S05:平面形状の生成)
上述したセグメンテーションプロセスが終了した段階で、各セグメントは平面であっても曲面方程式によるセグメンテーションを実行しているので、再度、平面セグメントの点群データから最小二乗法を用いて下記(8)式に示す陰関数形式による平面方程式の係数を求める。
【0092】
【数8】
ここで、陰関数形式による平面方程式の係数は、平面の法線ベクトルとなる。(8)式の係数及び点群の中心座標値により、点群データをオブジェクト座標に変換する。次に、平面セグメントの点群を囲む矩形のうち、最小面積となる矩形を検索し平面を生成する。
【0093】
図5は、矩形の検索内容の一例を示す図である。ここで、図5に示す点群51は、同一セグメント内に存在する点群である。図5に示すように点群51の全ての点を含む最小矩形領域を検索する。検索方法は、図5に示すように矩形52を外周にある点群に接触する矩形を少しずつ左に回転させながら、点群全体を含む矩形の面積を計算し、最小となる面積の矩形の配置を決定する。
【0094】
なお、本発明では、同様に五角形やコの字形等、多角形データに蓄積された他の凹凸多角形に対しても最小面積を計算し、求めた最小面積の値の中で更に最小の多角形を最小面積矩形とする。また、図5では矩形を左に回転させたが本発明においては、この限りではなく、右に回転させてもよく、また、多角形を固定した状態にして点群グループを回転させてもよい。
【0095】
なお、使用する矩形は、予め基本形状を設定した多角形データとして蓄積されており、例えば、凸多角形であれば矩形、菱形、正八角形等であり、凹多角形であればL字型、コの字型、T字型、十字型等である。点群グループ毎に各種凹凸多角形を割当ててもよい。
【0096】
(S06:二次曲面形状の生成)
(i)曲面形状の判別
次に、二次曲面形状の生成について説明する。なお、本実施例では、曲面形状の判別として「楕円柱面」、「楕円錐面」、及び「楕円球面」を用いて曲面形状の判別手法について説明する。
【0097】
曲面形状の判別では、(1)式における二次曲面方程式の係数により求められた固有値により曲面形状を判定する。
【0098】
ここで、曲面判定基準の例について表を用いて説明する。表1は、本発明における曲面形状を分類する際の判定条件の一例を示すものである。
【0099】
【表1】
表1に示すように「楕円柱面」、「楕円錐面」、及び「楕円球面」の夫々について、係数e1,e2、及びe3の符号に基づいて形状の判定を行う。表1において、係数e1,e2、及びe3の符号は、0より大きい場合に「+」とし、0より小さい場合は「−」とする。
(ii)移動ベクトルの抽出
次に、生成する三次元形状の軸の座標等を定める。上述の方法により判別された二次曲面形状が「楕円錐面」及び「楕円球面」の場合は、逆行列により移動量ベクトルを算出し、「楕円柱面」の場合は、特異値分解(SVD:Singular Value Decomposition)等により二次曲面形状の移動量ベクトルを求める。
(iii)曲面形状の生成
固有値に対する固有ベクトルはオブジェクトの軸になるので、移動量ベクトル、固有ベクトルによりセグメントの点群データをオブジェクト座標に変換する。次に、セグメントに属する点群データから最小二乗法を用いて、上述の「(i)曲面形状の判別」で判別された二次曲面形状の方程式の係数を求め、曲面形状を生成する。ここで、上述した「楕円柱面」、「楕円錐面」、及び「楕円球面」の夫々の一般式を以下に示す。
【0100】
【数9】
また、上述の数式により、形成される曲面形状について、図を用いて説明する。図6は、曲面形状の一例を示す図である。ここで、図6(a)は、楕円柱面の形状の例を示し、図6(b)は、楕円錐面の形状の例を示し、図6(c)は、楕円球面の形状の例を示すものである。図6に示すように、上記数9にて記載された一般式の係数を求めることにより、三次元におけるオクリュージョン部分の形状の補間を行うことができ、高精度な三次元形状を生成することができる(S07)。
【0101】
なお、生成される形状の種類についてはこの限りではなく、他の形状についても同様に形状に対応する数式を用いることで三次元形状を高精度に形成することができる。
【0102】
次に、上述したセグメンテーションプロセスと、形状判別・自動生成プロセスの処理手順として、フローチャートを用いて説明する。
【0103】
図7は、本発明おけるセグメンテーションプロセスの一例を示すフローチャートである。
【0104】
まず、既に取得されている点群データの読み込みを行い(S11)、点群データが整列されて記述されているかを判断する(S12)。点群データが整列されていない場合は(S12において、NO)、上述したように「DelaunayTriangle」により最小ユニットセグメントの生成を行う(S13)。また点群データが整列されている場合は(S12において、YES)、並び順に基づいて最小ユニットセグメントメンの生成を行う(S14)。
【0105】
S13又はS14のステップが終了後、生成された最小ユニットセグメントの中から隣接セグメントの検索を行い、平面方程式のよるセグメンテーションを行う(S15)。次に、平面方程式によるセグメンテーションが終了しているかを判断し(S16)、終了している場合は(S16において、YES)、最小二乗法によりセグメントの曲面方程式を求める(S17)。また、隣接セグメントの曲面方程式に対する残差の分散値を算出する(S18)。
【0106】
また、平面方程式によるセグメンテーションが終了していない場合は(S16において、NO)、最小二乗法によりセグメントの平面方程式を求め(S19)、隣接セグメントの平面方程式に対する残差の分散値を算出する(S20)。
【0107】
次に、S18又はS20のステップが終了後、算出された分散値が設定した閾値より小さいかを判断し(S21)、小さい場合は(S21において、YES)、セグメントと隣接セグメントを同一セグメントとする処理を行う(S22)。また、S21において、分散値が設定した閾値以上の場合(S21において、NO)は、次の最小ユニットに対してS16からの処理を行う。
【0108】
ここで、S16からS22までの隣接セグメントを生成するステップは、S13又はS14のステップにて生成された全ての最小ユニットセグメントに対して繰り返し処理を行い、また、S15からS22までのセグメントの生成ステップについて、全ての最小ユニットセグメントに対して行う。
【0109】
次に、全ての最小ユニットセグメントについてセグメンテーション処理を行った後、セグメンテーションが完了しているかを判断し(S23)、完了していなかった場合は(S23において、NO)、S15における検索方法や、S21における閾値等の設定条件を変更して(S24)、再びセグメント処理を行う。また、セグメンテーションが完了している場合は(S23において、YES)、曲面方程式によるセグメンテーションが終了しているかを判断し(S25)、終了していない場合は(S25において、NO)、閾値等の設定条件を変更して(S24)、S15からのセグメント処理を行う。また、曲面方程式によるセグメンテーションが終了している場合は(S25において、YES)、セグメンテーションプロセスを終了する。
【0110】
次に、形状判別・自動生成プロセスについて説明する。図8は、本発明における形状判別・自動生成プロセスの一例を示すフローチャートである。
【0111】
まず前提として、上述したセグメンテーションプロセスにより、点群データのセグメンテーションが行われている(S31)。次に、セグメンテーションにより生成されたセグメント形状情報に基づき、最小二乗法によりセグメントに属する点群データから二次曲面方程式の係数を求める(S32)。2次曲面方程式の係数より固有値ei、固有ベクトルeviの計算を行う(S33)。なお、固有値ベクトルは三次元であるため、3つの固有値が算出される。
【0112】
次に、計算した固有値eiの寄与率が設定した閾値より小さい場合、固有値を0とする(S34)。ここで、S33のステップによる算出された固有値eiのうち2つが0であるかを判断し(S35)、2つが0である場合は(S35において、YES)、平面セグメントの点群を囲む矩形のうち、最小面積となる矩形を抽出する(S36)。また、S36にて抽出された矩形を用いて平面におけるプリミティブな形状の生成を行う(S37)。
【0113】
一方、固有値eiのうち2つが0でない場合は(S35において、NO)、eiにおける3つの固有値e1,e2,e3に基づく形状の生成を行う。なお、この条件は、上述の表1に対応するものであるが、ここでは、フローチャートに対応させて説明する。
【0114】
まず、e1,e2が0より大きく、更にe3が0であるかを判断し(S38)、S38の条件に該当する場合は(S38において、YES)、楕円柱面の生成を行う(S39)。また、S38の条件に該当しない場合は(S38において、NO)、e1,e2が0より大きく、e3が0より小さいかを判断し(S40)、S40の条件に該当する場合は(S40において、YES)、楕円錐面の生成を行う(S41)。また、S40の条件に該当しない場合は(S40において、NO)、次に固有値e1,e2,及びe3が共に0であるかを判断する(S42)。
【0115】
固有値e1,e2,及びe3が共に0である場合は楕円球面の生成を行い(S43)、e1,e2,及びe3が共に0でない場合は、その他の形状の割り当てを行う(S44)。S44のステップでは、楕円ではない所定の曲面を割り当てることもでき、また、多角形状を割り当てることもできる。また、何も割り当てなくてもよい。なお、S32からS44までのステップは、S31に取得した点群データの全てのセグメンテーションにおいて行う。
【0116】
これにより、点群データからでは取得することができなかった三次元形状のオクルージョン部分について補間することができ、高精度な三次元形状を生成するこができる。
【0117】
上述により本発明によれば、人手によることなく、低コストで自動的に且つ均質な三次元形状データを生成することができる。また、三次元形状データの生成に関して大幅なコストダウンを可能にする。
【0118】
なお、上述したセグメンテーションプロセスと、形状判別・自動生成プロセスとをコンピュータに実行させるような実行プログラムを生成し、例えば、汎用のパーソナルコンピュータ、ワークステーション等にインストールすることにより本発明における三次元形状の自動生成が容易に実行可能となる。ここで、実行可能となるコンピュータのハードウェア構成例について図を用いて説明する。
【0119】
図9は、本発明における三次元形状自動生成が実現可能なハードウェア構成の一例を示す図である。
【0120】
図9において、三次元形状の自動生成装置全体を統括的に制御するプログラムされた主制御部(制御手段、以下CPUと略称する)10に、記憶装置20が接続されている。CPU10には、入力制御部30を介してキーボードやマウス等のポインティングデバイスからなる入力装置40、実行指示画面表示、出力結果表示等のモニタに用いる表示装置50、及び生成された三次元形状データを出力する出力装置60が接続されている。
【0121】
CPU10は、OS(Operating System)等の制御プログラム、三次元形状を生成するための処理手順を規定したプログラム、及び所要データを格納するための内部メモリを有し、これらのプログラム等により、点群グループをセグメンテーションする処理、セグメント化された点群データから形状を判別し、三次元形状を自動生成する処理等を実現している。記憶装置20は、ハードディスクやフレキシブルディスク、或いは光ディスク等のストレージ手段であり、点群データ21、閾値データ22、関数データ23が格納されている。
【0122】
ここで、上述したセグメンテーションプロセス及び形状判別・自動生成プロセスにおける夫々のステップは、作業者が入力装置40からのプログラムの実行指示することでCPU10の制御に基づいて入力制御部30によりデータ、制御信号の入出力が行われ、セグメンテーションプロセス及び形状判別・自動生成プロセスが実行される。また、本発明において三次元形状データを自動生成するのに必要な点群データ21、閾値データ22、及び関数データ23は、必要に応じて記憶装置20から取得することができる。上述において、生成された三次元形状データは出力装置60に出力され、表示装置50には処理結果が出力される。
【0123】
なお、上述したハードウェア構成において、入力装置40は三次元形状自動生成装置1の点群データ入力部2に、記憶装置20は記憶部5に、また表示装置50,出力装置60は出力部6に夫々相当し、セグメンテーション部3及び形状生成部4とにおける処理はCPU10が実行プログラムにより実行する。
【0124】
上述のプログラムを用いることにより、パーソナルコンピュータに一般的に具備されているハードウェア構成を用いて本発明における三次元形状の自動生成を容易に行うことができる。
【0125】
また、本発明における三次元形状データを自動生成するためのプログラムはCD−ROM、フロッピー(登録商標)ディスク等の持ち運び可能な記録媒体に格納することにより任意の端末で実行することができる。上述したようなハードウェア構成により、人手によることなく、低コストで自動的に且つ均質な三次元形状データを生成することができる。
(自動生成結果)
次に、本発明を用いて自動生成された距離画像における三次元データの自動生成結果について説明する。なお、点群データのセグメンテーションと形状判別・自動生成については、計測に使用したレーザーレンジファインダ(距離計測器)として「VIVID900」(精度X=±1.40mm,Y=±1.04mm,Z=±0.64mm)、及び「Cyrax2500」(精度X,Y=±6.00mm,Z=±4.00mm)を用いるものとする。また、後述の三次元形状の生成にて用いられる計測対象物(球体、円錐、立体)の実際のサイズを図に示す。
【0126】
図10は、本発明における三次元形状データの自動生成に用いられる計測対象物の一例を示す図である。ここで、図10(a)は円錐の図を示し、図10(b)は球体の図を示し、図10(c)は正方体の図を示している。図10の図に基づいて、種々の条件に基づき、三次元形状データを自動生成した結果について説明する。
【0127】
まず、セグメンテーションプロセスにおいて、三次元レーザースキャナーから得られた点群データであるレンジ画像(距離画像)に対して、一次方程式によるセグメンテーションを行う際に設定する閾値TP、及び二次方程式によるセグメンテーションを行う際に設定する閾値TQを変化させた場合におけるセグメンテーション結果について図を用いて説明する。
【0128】
図11は、異なる閾値に基づくセグメンテーション結果の一例を示す図である。
【0129】
ここで、図11(a)は、入力されるレンジ画像を示し、図11(b)は閾値TP,TQを共に0.001mに設定した結果を示し、図11(c)は閾値TPを0.001m、TQを0.005mに設定して結果を示し、図11(d)は、閾値TP,TQを共に0.01mに設定した結果を示す図である。なお、図11の結果は、計測器「VIVID900」を使用して計測した点群データを使用したものである。
【0130】
図11(b)では、閾値が小さいため、二次曲面形状(球、円錐)が1つのセグメントとして判断されていないケースである。しかしながら、単純に閾値を大きくすれば、隣接関係にあるセグメント同士が同一セグメントとなるわけではない。図11(d)でオブジェクトの置かれている平面が同一セグメントとなっていないのは、閾値を大きく設定したために円錐と床の一部が同一セグメントとなってしまい、平面同士の隣接関係が途絶えてしまったためである。
【0131】
これにより、図11の(b)から(d)において、最適な閾値の設定は、図11(b)であることがわかる。上述したように、閾値を設定してセグメンテーションを行うことにより高精度な形状を取得することができる。
【0132】
次に、図11に示す球体のみを計測器「Cyrax2500」により計測して得られたレンジ画像に対するセグメンテーション結果について説明する。
【0133】
図12は、異なる機器で計測して点群データを用いたセグメンテーション結果の一例を示す図である。
【0134】
ここで、図12(a)は、入力レンジ画像を示し、図12(b)は、閾値TPを0.001m、TQを0.005mに設定して結果を示し、図12(c)は、閾値TPを0.01m、TQを0.02mに設定した結果を示し、図12(d)は、計測誤差を示す図である。
【0135】
図12(b)は、図11(c)と同じ閾値を設定した場合における結果であるが、計測器のレンジ誤差、及びレンジ画像の点群間隔よりも閾値が小さい値なので、平面内にあっても同一セグメントとなっていない個所が多数存在する。また、図12(c)は、見た目には良好な結果が得られているが、図12(d)に示すように奥行き方向へ流れたレンジ誤差が発生している。これは、図12のレンジ画像が計測器で推奨している計測レンジの最小値付近(計測器から対象物までの距離が1.5m)で計測されているために生じたものである。
【0136】
また、図13は、広範囲を計測した場合のセグメンテーション結果を示す図である。ここで、図13(a)は、図12と同様に計測器「Cyrax2500」で計測したレンジ画像を示し、図13(b)は、閾値TPを0.02m、TQを0.02mに設定して結果を示し、図13(c)は、閾値TPを0.02m、TQを0.05mに設定した結果を示す図である。
【0137】
図13(b)と図13(c)を比較すると、図13(c)のほうが床面に対するセグメンテーションがうまく行われている。以上の実測結果によりセグメンテーション時に設定する閾値は、およそ閾値TPが計測器の計測誤差の1〜2倍、閾値TQが2〜5倍程度の範囲で設定するのが妥当であると考えられる。
【0138】
次に、形状判別・自動生成プロセスの三次元データの自動生成結果について説明する。ここで、後述する自動生成結果については、セグメンテーションが比較的良好に行われているレンジ画像に対して、固有値の寄与率を0にする閾値TEを変化させた場合における形状判別・自動生成の違いを表したものである。
【0139】
図14は、本発明における異なる閾値による形状判別・自動生成結果の一例を示す図である。
【0140】
ここで、図14(a)は閾値TEを0.005に設定した結果であり、図14(b)は、閾値TEを0.01に設定した場合における形状生成の違いを示すものである。
【0141】
図14(a)では、円錐が形成されているが、図14(b)では、固有値の寄与率の1つが閾値よりも小さい値になっているため、円柱として認識された結果である。また、自動生成の不具合は、上述した閾値TEの設定の他に、レンジ誤差により自動生成の不具合もある。ここで、上述の内容について図を用いて説明する。
【0142】
図15は、レンジ誤差による自動生成不具合の一例を示す図である。なお、図15は、上述した図12(c)のセグメンテーション結果から自動生成を行った結果である。
【0143】
図12(d)に示すようなレンジ画像に誤差が含まれると図15(b)に示すように自動生成された三次元形状が楕円形になってしまう。この対処法として、レンジ誤差に対応した閾値に変更する方法や、実在する物体には楕円形より正形が多いので正形に当て嵌めてしまう方法により対応することができる。
【0144】
ここで、自動生成結果の一例として、図14における形状判別・自動生成結果を表2、表3に示す。
【0145】
【表2】
表2では、図14において、計測器「VIVID900」を用いて閾値TPを0.001m、閾値TQを0.01m、閾値TEを0.005mとして三次元形状判別を行った際の係数(固有値)e1,e2,e3における固有値及び寄与率を示している。また、図14の立方体については上面、左面、右面の夫々についての固有値、寄与率を示している。
【0146】
ここで、表2▲1▼において固有値e3となる固有値「―0.010335」の寄与率が0.07277と閾値TEよりも小さい値になっているため、実際は円錐でありながら、図14(b)に示す円柱として図形が生成されている。ここで、閾値TEを調整し再度計算した結果が表3に示すものである。
【0147】
【表3】
表3は、図10で示した実際の計測対象物における自動生成された三次元形状のサイズ(単位m)を示すものである。表3に示すように最適となる閾値を設定することにより全ての計測対象物に対し、図10に示す形状とほぼ同一の高精度な三次元形状を自動生成することができる。
【0148】
上述したように本発明により、高精度で均質な三次元形状データの自動生成を実現することができる。
【0149】
次に、より高精度に三次元形状を自動生成するための応用例について、いくつか例を用いて説明する。
(応用例1:複数レンジ画像の自動マージング)
計測対象が比較的簡単な形状である場合は、方程式により近似してオクル−ジョン部分を補完することができるが、より複雑な形状を対象とする場合は、対象物体を複数の地点から計測し、取得した各々のレンジ画像の位置合わせを行う必要がある。しかしながら、複数のレンジ画像の位置を合わせるには正確な計測地点の位置や計測方向が必要であり、それらの情報の取得には角度を計測するためのトランシットや、距離、角度を同時に測ることのできるトータルステーション等を用いた測量技術が求められる。これらの作業は熟練を要し、また計測効率も低下させる。
【0150】
そこで、複数の計測地点から得られた複数のレンジ画像を自動でマッチングして、全てのレンジ画像をグローバル座標系に変換する手法が必要となる。以下に具体的なマージング手順を示す。
【0151】
(応用例1−1:二つのレンジ画像のマージング)
まず、各レンジ画像から任意に3つのセグメントを選び、これらを対応するセグメントと仮定する。次に、対応するセグメントから、回転行列と移動量ベクトルを推定し、推定した回転行列と移動量ベクトルを用いて2つのレンジ画像を重ね合わせたとき互いに一致するセグメントの一致度を固有値、固有ベクトルにより求める。
【0152】
全てのセグメントの組み合わせで上述までの処理を行い、最も一致度の高い回転行列と移動量ベクトルを採用する。
【0153】
(応用例1−2:複数レンジ画像のマージング)
複数のレンジ画像の場合は、任意のレンジ画像R1と、計測地点がR1に最も近いレンジ画像R2のマージングを行い2つの画像を統合する。統合したレンジ画像に、計測地点が最も近いレンジ画像R3とのマージングを行う。
【0154】
残りのレンジ画像に対しても同様の処理を行い、複数レンジ画像を一つのレンジ画像に統合する。
【0155】
(応用例2:パラメトリック曲面への置き換え)
複雑な形状を対象とする自動生成においては、一般的な平面や二次曲面形状だけでは表現できないケースも存在する(例:いす、車のボディー等)。そのような形状を生成する場合は、得られた点群データに対して曲面上のある座標値(x,y,z)があるパラメータの値によって一意に決定するよう、例えばベジェ曲面やNURBS曲面等のパラメトリック曲面によりフィッティングを行う。これにより、形状を修正する必要が生じた際に、修正が行い易くなるという利点が考えられる。しかしながら、パラメトリック曲面のフィッティングでは、計測された部分に対するフィッティングは行えるが、計測されていない部分についての推定等ができないので複数地点からの計測が必要となってくる。この理由からも、上述した応用例1のマージングが必要となる。
【0156】
(応用例3:生成形状データベースへの登録と参照)
実務レベルでのデータ処理(形状生成)を行う際、これまでに挙げた幾つかの手法でセグメント化及び形状生成されたものが、そのまま最終形状とする場合と多少の手修正を加える場合とが起こり得る。形状生成の場合において、その修正したデータに関する情報を次回以降の自動生成を行う際の形状決定のための判断条件に加えることで、目的とする形状の生成効率を経験的に高めることが可能となる。そこで、形状に関する情報等を生成形状データベースに登録し、次に自動生成を行う際にそのデータベースを参照し、形状判断の条件に逐次加える事で、自動生成の効率を高めていく手法である。
【0157】
なお、上述した実施例では、3種類の曲面形状の曲面部分を生成する例について説明したが、それ以外の形状の特徴をパラメータや他の設定条件等をデータベースに登録し、必要に応じて参照することでより高精度に三次元形状の判定を行うことができる。
【0158】
上述したように本発明によれば、点群データにないオクルージョン部分が、単純な幾何形状で構成されている場合が多いことを利用し、近傍の可視部分の形状、色、対象物の種類等の補足情報から類推してオクルージョン部分のエッジや面を正確に生成することで高精度な三次元形状データを生成する。これにより、従来の三次元モデリング手法と比較して三次元形状データの生成を飛躍的に高効率化することができる。また、三次元形状データの生成に関して大幅なコストダウンを可能にする。
【0159】
なお、レーザースキャニングによる点群データだけでは、計測時間や計測対象物の大きさ・素材等の問題で、形状取得に不十分な点もある。そこで、ステレオ画像、動画像等を併用する方法も有効である。複数画像を用いる場合、その処理結果は計測時の光学的環境による影響が大きく、均一な環境光下においては、高精度な処理結果を得ることが可能となる。
【0160】
また、本発明において生成した三次元形状を用いれば、以下に示すような効果がある。
【0161】
自動車プラントの分野においては、ますます激化する国内外の競争の中、よりスピーディな新車の開発が必要となり、工場の生産ラインの迅速な変更を行うために正確な三次元データが必要とされている。ところが、従来の工場の施工においては現場合わせが多く、図面も完全に保管されなかった等の理由により、三次元化がほとんど行われていないのが現状である。現在、レーザースキャニングの実用検討が行われているが、面とエッジを備えた正確な三次元形状データを自動生成する技術は極めて重要である。今後、レーザースキャニングによる自動車プラントの三次元化の業務急速に増加することが確実である。
【0162】
自動車以外の分野では、原子力、化学等の各種プラントにおいても同様のニーズが存在し、今後の増加が予想される。
【0163】
また、文化財建造物においては保存修復等の際に現状の形状をデジタル化することが重要であり、従来の写真測量等に代わる技術としてレーザースキャニングが注目され、実験的に行われ始めている。本発明により面及びエッジを備えた正確な三次元形状データを自動生成することが可能になれば、特に古建築のデジタル化における利用が普及することとなる。
【0164】
また、測量業務としての利用や次世代カーナビでの利用等、多種の分野においての利用が実現できる。
【0165】
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【0166】
【発明の効果】
本発明によれば、点群データから高精度な三次元形状データを生成するこができる。
【図面の簡単な説明】
【図1】本発明における三次元形状自動生成装置の一構成例を示す図である。
【図2】本発明における三次元データ自動生成手順の概略を示す一例のフローチャートである。
【図3】S01ステップ実行後の結果の一例を示す図である。
【図4】S02のステップにおける動作を説明するための一例の図である。
【図5】矩形の検索内容の一例を示す図である。
【図6】曲面形状の一例を示す図である。
【図7】本発明おけるセグメンテーションプロセスの一例を示すフローチャートである。
【図8】本発明における形状判別・自動生成プロセスの一例を示すフローチャートである。
【図9】本発明における三次元形状自動生成が実現可能なハードウェア構成の一例を示す図である。
【図10】本発明における三次元形状データの自動生成に用いられる計測対象物の一例を示す図である。
【図11】異なる閾値に基づくセグメンテーション結果の一例を示す図である。
【図12】異なる機器で計測して点群データを用いたセグメンテーション結果の一例を示す図である。
【図13】広範囲を計測した場合のセグメンテーション結果の一例を示す図である。
【図14】本発明における異なる閾値による形状判別・自動生成結果の一例を示す図である。
【図15】レンジ誤差による自動生成不具合の一例を示す図である。
【符号の説明】
1 三次元形状自動生成装置
2 点群データ入力部
3 セグメンテーション部
4 形状生成部
5 記憶部
6 出力部
10 主制御部
20 記憶装置
21 点群データ
22 閾値データ
23 関数データ
30 入出力制御部
40 入力装置
50 表示装置
60 出力装置
Claims (22)
- 三次元座標を持つ複数の点群データから三次元形状を自動生成する三次元形状の自動生成装置において、
前記点群データから三次元形状のエッジ及び面を抽出するためのセグメント化を行うセグメント手段と、
前記セグメント手段により生成されたセグメント情報及び予め設定された関数に基づいて三次元形状を判定し自動生成する形状判定生成手段とを有することを特徴とする自動生成装置。 - 前記セグメント手段は、
前記点群データに整列情報が含まれる場合は整列順に基づきセグメント化を行い、前記点群データに整列情報が含まれていない場合は、三角ポリゴンを生成してセグメント化を行うことを特徴とする請求項1に記載の自動生成装置。 - 前記セグメント手段は、
前記セグメント化された点群データのセグメント形状情報から各形状間において、隣接する形状同士の連続性、法線方向、又は距離に基づきエッジ及び面を抽出することを特徴とする請求項1又は2に記載の自動生成装置。 - 前記形状判定生成手段は、
セグメント化された各々のセグメントにおける点群データから最小二乗法を用いて前記所定の関数として設定された平面方程式又は曲面方程式に置き換え、その係数値により固有値及び固有ベクトルを生成することを特徴とする請求項1に記載の自動生成装置。 - 前記形状判定生成手段は、
前記固有値に対する寄与率と、予め設定した閾値とに基づいて平面又は二次曲面の形状を判定することを特徴とする請求項4に記載の自動生成装置。 - 前記形状判定生成手段は、
前記二次曲面形状から移動量ベクトルを生成することを特徴とする請求項5に記載の自動生成装置。 - 前記形状判定生成手段は、
前記固有ベクトル及び前記移動ベクトルにより前記セグメントの点群データをオブジェクト座標に変換して曲面形状を生成することを特徴とする請求項4乃至6の何れか1項に記載の自動生成装置。 - 三次元座標を持つ複数の点群データから三次元形状を自動生成する三次元形状の自動生成方法において、
前記点群データから三次元形状のエッジ及び面を抽出するためのセグメント化を行うセグメント段階と、
前記セグメント段階により生成されたセグメント情報及び予め設定された関数に基づいて三次元形状を判定し自動生成する形状判定生成段階とを有することを特徴とする自動生成方法。 - 前記セグメント段階は、
前記点群データに整列情報が含まれる場合は整列順に基づきセグメント化を行い、前記点群データに整列情報が含まれていない場合は、三角ポリゴンを生成してセグメント化を行うことを特徴とする請求項8に記載の自動生成方法。 - 前記セグメント段階は、
前記セグメント化された点群データのセグメント形状情報から各形状間において、隣接する形状同士の連続性、法線方向、又は距離に基づきエッジ及び面を抽出することを特徴とする請求項8又は9に記載の自動生成方法。 - 前記形状判定生成段階は、
セグメント化された各々のセグメントにおける点群データから最小二乗法を用いて前記所定の関数として設定された平面方程式又は曲面方程式に置き換え、その係数値により固有値及び固有ベクトルを生成することを特徴とする請求項8に記載の自動生成方法。 - 前記形状判定生成段階は、
前記固有値に対する寄与率と、予め設定した閾値とに基づいて平面又は二次曲面の形状を判定することを特徴とする請求項11に記載の自動生成方法。 - 前記形状判定生成段階は、
前記二次曲面形状から移動量ベクトルを生成することを特徴とする請求項12に記載の自動生成方法。 - 前記形状判定生成段階は、
前記固有ベクトル及び前記移動ベクトルにより前記セグメントの点群データをオブジェクト座標に変換して曲面形状を生成することを特徴とする請求項11乃至13の何れか1項に記載の自動生成方法。 - 三次元座標を持つ複数の点群データから三次元形状を自動生成する三次元形状の自動生成をコンピュータに実行させるためのプログラムにおいて、
前記点群データから三次元形状のエッジ及び面を抽出するためのセグメント化を行うセグメントステップと、
前記セグメントステップにより生成されたセグメント情報及び予め設定された関数に基づいて三次元形状を判定し自動生成する形状判定生成ステップとをコンピュータに実行させるためのプログラム。 - 前記セグメントステップは、
前記点群データに整列情報が含まれる場合は整列順に基づきセグメント化を行い、前記点群データに整列情報が含まれていない場合は、三角ポリゴンを生成してセグメント化を行うことを特徴とする請求項15に記載のプログラム。 - 前記セグメントステップは、
前記セグメント化された点群データのセグメント形状情報から各形状間において、隣接する形状同士の連続性、法線方向、又は距離に基づきエッジ及び面を抽出することを特徴とする請求項15乃至16に記載のプログラム。 - 前記形状判定生成ステップは、
セグメント化された各々のセグメントにおける点群データから最小二乗法を用いて前記所定の関数として設定された平面方程式又は曲面方程式に置き換え、その係数値により固有値及び固有ベクトルを生成することを特徴とする請求項15に記載のプログラム。 - 前記形状判定生成ステップは、
前記固有値に対する寄与率と、予め設定した閾値とに基づいて平面又は二次曲面の形状を判定することを特徴とする請求項18に記載のプログラム。 - 前記形状判定生成ステップは、
前記二次曲面形状から移動量ベクトルを生成することを特徴とする請求項19に記載のプログラム。 - 前記形状判定生成ステップは、
前記固有ベクトル及び前記移動ベクトルにより前記セグメントの点群データをオブジェクト座標に変換して曲面形状を生成することを特徴とする請求項18乃至20の何れか1項に記載のプログラム。 - 請求項15乃至21何れか一項記載のプログラムを記録した記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003060334A JP2004272459A (ja) | 2003-03-06 | 2003-03-06 | 三次元形状の自動生成装置、自動生成方法、そのプログラム、及びそのプログラムを記録した記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003060334A JP2004272459A (ja) | 2003-03-06 | 2003-03-06 | 三次元形状の自動生成装置、自動生成方法、そのプログラム、及びそのプログラムを記録した記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004272459A true JP2004272459A (ja) | 2004-09-30 |
Family
ID=33122908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003060334A Pending JP2004272459A (ja) | 2003-03-06 | 2003-03-06 | 三次元形状の自動生成装置、自動生成方法、そのプログラム、及びそのプログラムを記録した記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004272459A (ja) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006350756A (ja) * | 2005-06-17 | 2006-12-28 | Hitachi Ltd | ポリゴンデータ修正方法、それを記述したコンピュータプログラムおよびポリゴンデータ修正装置 |
WO2007052462A1 (ja) * | 2005-11-07 | 2007-05-10 | Daihatsu Motor Co., Ltd. | 形状認識装置及び歪評価装置 |
JP2012008867A (ja) * | 2010-06-25 | 2012-01-12 | Topcon Corp | 点群データ処理装置、点群データ処理システム、点群データ処理方法、および点群データ処理プログラム |
WO2012141235A1 (ja) * | 2011-04-13 | 2012-10-18 | 株式会社トプコン | 三次元点群位置データ処理装置、三次元点群位置データ処理システム、三次元点群位置データ処理方法およびプログラム |
DE112010004767T5 (de) | 2009-12-11 | 2013-01-24 | Kabushiki Kaisha Topcon | Punktwolkedaten-Verarbeitungsvorrichtung, Punktwolkedaten-Verarbeitungsverfahren und Punktwolkedaten-Verarbeitungsprogramm |
JP2013088999A (ja) * | 2011-10-18 | 2013-05-13 | Aero Asahi Corp | 建物抽出装置、方法及びプログラム |
JP2013101113A (ja) * | 2011-10-21 | 2013-05-23 | Thales | シーン内の対象物を3d再構成するための方法 |
JP2014238714A (ja) * | 2013-06-07 | 2014-12-18 | Necソリューションイノベータ株式会社 | 三次元データ生成装置、三次元データ生成方法、及びプログラム |
CN104574500A (zh) * | 2013-10-25 | 2015-04-29 | 株式会社日立制作所 | 三维模型生成装置、三维模型生成方法以及程序 |
JP2015125685A (ja) * | 2013-12-27 | 2015-07-06 | Kddi株式会社 | 空間構造推定装置、空間構造推定方法及び空間構造推定プログラム |
US9251624B2 (en) | 2010-08-11 | 2016-02-02 | Kabushiki Kaisha Topcon | Point cloud position data processing device, point cloud position data processing system, point cloud position data processing method, and point cloud position data processing program |
JP2016173296A (ja) * | 2015-03-17 | 2016-09-29 | 大成建設株式会社 | トータルステーションを用いた測定方法および段差算出装置 |
JP2017009616A (ja) * | 2011-08-29 | 2017-01-12 | 国立大学法人北海道大学 | 柱状物体抽出方法、柱状物体抽出プログラム、及び柱状物体抽出装置 |
JP2017166933A (ja) * | 2016-03-15 | 2017-09-21 | 富士通株式会社 | 情報処理装置及び情報合成プログラム |
JP2019159379A (ja) * | 2018-03-07 | 2019-09-19 | 五洋建設株式会社 | 三次元画像生成システム |
JP2020153687A (ja) * | 2019-03-18 | 2020-09-24 | 日本電信電話株式会社 | 構造物検出装置、構造物検出方法および構造物検出処理プログラム |
WO2022003649A1 (en) * | 2020-06-29 | 2022-01-06 | Cron Systems Pvt. Ltd. | A system and a method for searching position of a geographical data point in three-dimensional space |
-
2003
- 2003-03-06 JP JP2003060334A patent/JP2004272459A/ja active Pending
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4714511B2 (ja) * | 2005-06-17 | 2011-06-29 | 株式会社日立製作所 | ポリゴンデータ修正方法およびポリゴンデータ修正プログラムならびにポリゴンデータ修正装置 |
JP2006350756A (ja) * | 2005-06-17 | 2006-12-28 | Hitachi Ltd | ポリゴンデータ修正方法、それを記述したコンピュータプログラムおよびポリゴンデータ修正装置 |
WO2007052462A1 (ja) * | 2005-11-07 | 2007-05-10 | Daihatsu Motor Co., Ltd. | 形状認識装置及び歪評価装置 |
JP2007127610A (ja) * | 2005-11-07 | 2007-05-24 | Daihatsu Motor Co Ltd | 形状認識装置及び歪評価装置 |
US9207069B2 (en) | 2009-12-11 | 2015-12-08 | Kabushiki Kaisha Topcon | Device for generating a three-dimensional model based on point cloud data |
DE112010004767B4 (de) | 2009-12-11 | 2024-09-12 | Kabushiki Kaisha Topcon | Punktwolkedaten-Verarbeitungsvorrichtung, Punktwolkedaten-Verarbeitungsverfahren und Punktwolkedaten-Verarbeitungsprogramm |
DE112010004767T5 (de) | 2009-12-11 | 2013-01-24 | Kabushiki Kaisha Topcon | Punktwolkedaten-Verarbeitungsvorrichtung, Punktwolkedaten-Verarbeitungsverfahren und Punktwolkedaten-Verarbeitungsprogramm |
JP2012008867A (ja) * | 2010-06-25 | 2012-01-12 | Topcon Corp | 点群データ処理装置、点群データ処理システム、点群データ処理方法、および点群データ処理プログラム |
US9251624B2 (en) | 2010-08-11 | 2016-02-02 | Kabushiki Kaisha Topcon | Point cloud position data processing device, point cloud position data processing system, point cloud position data processing method, and point cloud position data processing program |
JP6030549B2 (ja) * | 2011-04-13 | 2016-11-24 | 株式会社トプコン | 三次元点群位置データ処理装置、三次元点群位置データ処理システム、三次元点群位置データ処理方法およびプログラム |
US9053547B2 (en) | 2011-04-13 | 2015-06-09 | Kabushiki Kaisha Topcon | Three-dimensional point cloud position data processing device, three-dimensional point cloud position data processing system, and three-dimensional point cloud position data processing method and program |
JPWO2012141235A1 (ja) * | 2011-04-13 | 2014-07-28 | 株式会社トプコン | 三次元点群位置データ処理装置、三次元点群位置データ処理システム、三次元点群位置データ処理方法およびプログラム |
WO2012141235A1 (ja) * | 2011-04-13 | 2012-10-18 | 株式会社トプコン | 三次元点群位置データ処理装置、三次元点群位置データ処理システム、三次元点群位置データ処理方法およびプログラム |
JP2017009616A (ja) * | 2011-08-29 | 2017-01-12 | 国立大学法人北海道大学 | 柱状物体抽出方法、柱状物体抽出プログラム、及び柱状物体抽出装置 |
JP2013088999A (ja) * | 2011-10-18 | 2013-05-13 | Aero Asahi Corp | 建物抽出装置、方法及びプログラム |
JP2013101113A (ja) * | 2011-10-21 | 2013-05-23 | Thales | シーン内の対象物を3d再構成するための方法 |
JP2014238714A (ja) * | 2013-06-07 | 2014-12-18 | Necソリューションイノベータ株式会社 | 三次元データ生成装置、三次元データ生成方法、及びプログラム |
CN104574500A (zh) * | 2013-10-25 | 2015-04-29 | 株式会社日立制作所 | 三维模型生成装置、三维模型生成方法以及程序 |
JP2015084171A (ja) * | 2013-10-25 | 2015-04-30 | 株式会社日立製作所 | 3次元モデル生成装置、3次元モデル生成方法及びプログラム |
JP2015125685A (ja) * | 2013-12-27 | 2015-07-06 | Kddi株式会社 | 空間構造推定装置、空間構造推定方法及び空間構造推定プログラム |
JP2016173296A (ja) * | 2015-03-17 | 2016-09-29 | 大成建設株式会社 | トータルステーションを用いた測定方法および段差算出装置 |
JP2017166933A (ja) * | 2016-03-15 | 2017-09-21 | 富士通株式会社 | 情報処理装置及び情報合成プログラム |
JP2019159379A (ja) * | 2018-03-07 | 2019-09-19 | 五洋建設株式会社 | 三次元画像生成システム |
JP7079926B2 (ja) | 2018-03-07 | 2022-06-03 | 五洋建設株式会社 | 三次元画像生成システム |
JP2020153687A (ja) * | 2019-03-18 | 2020-09-24 | 日本電信電話株式会社 | 構造物検出装置、構造物検出方法および構造物検出処理プログラム |
JP7192595B2 (ja) | 2019-03-18 | 2022-12-20 | 日本電信電話株式会社 | 構造物検出装置、構造物検出方法および構造物検出処理プログラム |
WO2022003649A1 (en) * | 2020-06-29 | 2022-01-06 | Cron Systems Pvt. Ltd. | A system and a method for searching position of a geographical data point in three-dimensional space |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004272459A (ja) | 三次元形状の自動生成装置、自動生成方法、そのプログラム、及びそのプログラムを記録した記録媒体 | |
JP6323993B2 (ja) | 情報処理装置、情報処理方法、及びコンピュータプログラム | |
US9953110B2 (en) | Apparatus and method for interactively extracting shapes from a point cloud | |
JP4785880B2 (ja) | 三次元オブジェクト認識のためのシステムおよび方法 | |
CN107610061B (zh) | 一种基于二维投影的保边点云孔洞修补方法 | |
JP2007299373A (ja) | 3次元リバースモデリングのためのオリジナルモデルデータから2次元スケッチデータを検出する方法 | |
Zheng et al. | Adaptive T-spline surface fitting to z-map models | |
Junior et al. | A new variant of the ICP algorithm for pairwise 3D point cloud registration | |
CN108563915B (zh) | 车辆数字化仿真测试模型构建系统及方法、计算机程序 | |
JP4427656B2 (ja) | 測量データの処理方法 | |
Tao et al. | Automatic multi-view registration of point clouds via a high-quality descriptor and a novel 3D transformation estimation technique | |
Men et al. | Hue-assisted automatic registration of color point clouds | |
Novacheva | Building roof reconstruction from LiDAR data and aerial images through plane extraction and colour edge detection | |
JPWO2003051034A1 (ja) | 電子情報埋め込み方法及びその抽出方法、電子情報埋め込み装置及びその抽出装置、並びにそのプログラム | |
Franaszek et al. | Fitting spheres to range data from 3-D imaging systems | |
JP7374433B2 (ja) | 構築物の三次元形状データの生成方法 | |
Sitnik et al. | 3DMADMAC system: optical 3D shape acquisition and processing path for VR applications | |
Li et al. | Automatic 3D digital patching for fragmented cultural relics repair | |
Krahnstoever et al. | Computing curvature-adaptive surface triangulations of three-dimensional image data | |
Liu et al. | A novel approach to automatic registration of point clouds | |
Kroll et al. | Adaptive preprocessing and segmentation for a region-based surface extraction method | |
Selvi et al. | Triangulation method for area-line geometry-type changes in map generalisation | |
US20240320813A1 (en) | Systems and methods for assessing deviations of a surface from a design plan | |
KR101906730B1 (ko) | 삼각파 패턴 구조광을 이용하는 3차원 스캐닝 방법 및 시스템 | |
Gede | Automatic reconstruction of old globes by photogrammetry and its accuracy |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060213 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090127 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090609 |