点群データ処理装置、点群データ処理システム、点群データ処理方法、および点群データ処理プログラム
【課題】測定対象物の点群データからその特徴を抽出し、対象物の輪郭に係るデータを自動的かつ短時間に生成する技術を提供する。
【解決手段】測定対象物の二次画像と、この二次元画像を構成する複数の点の三次元座標データとを関連付けた点群データの中から、演算の負担の大きい非面領域に係る点群データ除去する非面領域除去部101と、非面領域のデータが除去された後の点群データに対して、面を指定するラベルを付与する面ラベリング部102と、ラベルが付与された面から連続した局所領域に基づく局所平面を利用して、対象物の輪郭線を算出する輪郭線算出部103と、精度を高めるために点群データの再取得の要求を行う点群データ再取得要求処理部106を備えている。
【解決手段】測定対象物の二次画像と、この二次元画像を構成する複数の点の三次元座標データとを関連付けた点群データの中から、演算の負担の大きい非面領域に係る点群データ除去する非面領域除去部101と、非面領域のデータが除去された後の点群データに対して、面を指定するラベルを付与する面ラベリング部102と、ラベルが付与された面から連続した局所領域に基づく局所平面を利用して、対象物の輪郭線を算出する輪郭線算出部103と、精度を高めるために点群データの再取得の要求を行う点群データ再取得要求処理部106を備えている。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、点群データ処理技術に係り、特に測定対象物の点群データからその特徴を抽出し、三次元形状を自動的かつ短時間に生成する点群データ処理技術に関する。
【背景技術】
【0002】
測定対象物の点群データから三次元形状を生成する方法として、隣接点を結んでポリゴンを形成していく方法がある。しかしながら、点群データの数万〜数千万の点に対してポリゴンを形成するには、膨大な処理時間が掛かり、使い勝手が悪いものとなってしまう。このため、点群データから三次元の特徴(エッジや面)のみを抽出して、三次元ポリラインを自動的に生成する技術が開示されている(例えば、特許文献1〜3)。
【0003】
特許文献1に記載の発明では、走査レーザー装置が三次元対象を走査して、ポイントクラウドを生成する。ポイントクラウドは、走査点に関する深さと法線の変化に基づいて、エッジポイントと非エッジポイントのグループに分割される。各グループを幾何学的原図にフィットさせ、フィットした幾何学的原図を拡張、交差させることで、三次元形状を生成する。
【0004】
特許文献2に記載の発明では、点群データからセグメント(三角ポリゴン)を形成し、隣接するポリゴン同士の連続性、法線方向、または距離に基づき、エッジおよび面を抽出する。また、各セグメントの点群データの平面性または曲面性を、最小二乗法を用いて、平面方程式または曲面方程式に置き換え、グループ分けを行い、三次元形状を生成する。
【0005】
特許文献3に記載の発明では、三次元点群データに対して二次元矩形領域を設定し、その矩形領域に対応する測定点の合成法線ベクトルを求める。合成法線ベクトルがZ軸方向と一致するように、矩形領域内の全ての計測点を回転移動する。矩形領域内の各計測点についてZ値の標準偏差σを求め、標準偏差σが所定値を超えた場合、矩形領域の中心点と対応する計測点をノイズとして取り扱う。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特表2000−509150号公報
【特許文献2】特開2004−272459号公報
【特許文献3】特開2005−024370号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
レーザー機器やステレオ撮像装置等から得られた対象物の三次元情報の利用用途の一つは、対象物の特徴を抽出して三次元CADのデータを得る点にある。ここで重要なのは、自動的かつ短い演算時間で所望のデータが得られることである。このような背景において、本発明は、測定対象物の点群データからその特徴を抽出し、対象物の輪郭に係るデータを自動的かつ短時間に生成する技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
請求項1に記載の発明は、測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去部と、前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出部と、前記非面領域除去部、前記面ラベリング部および前記輪郭線算出部の少なくとも一つの処理の結果に基づいて前記点群データの再取得を要求する処理を行う点群データ再取得要求処理部とを備え、前記輪郭線算出部は、前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得部と、前記局所領域にフィッティングし前記第1の面および前記第2の面と異なる面の方向を有する局所面、または前記局所領域にフィッティングし前記第1の面および前記第2の面と平行でない局所線の取得を行う局所空間取得部とを備え、前記局所面または前記局所線に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理装置である。
【0009】
点群データでは、二次元画像と三次元座標とが結び付けられている。すなわち、点群データでは、測定対象物の二次元画像のデータと、この二次元画像に対応付けされた複数の測定点と、この複数の測定点の三次元空間中の位置(三次元座標)とが関連付けされている。点群データによれば、点の集合により測定対象物の外形を再現することができる。また、各点の三次元座標が判るので、各点の相対位置関係が把握でき、画面表示した対象物の画像を回転させたり、異なる視点から見た画像に切り替えたりする処理が可能となる。
【0010】
請求項1において、ラベルとは面を特定する(あるいは他の面と区別する)識別子である。面は、演算の対象として選択するのに適切な面のことであり、平面、曲率の大きい曲面、曲率が大きくその位置による変化が小さい曲面が含まれる。本発明では、演算により数学的に把握(データ化)する際の演算量が許容される量であるか否かによって、面と非面とが区別される。非面には、角、エッジ部分、その他曲率の小さい部分や曲率の場所による変化が激しい部分が含まれる。これらの部分は、演算による数学的な把握(データ化)に際して、多量の演算が必要であり、演算装置への高負担や演算時間の増大を招く。本発明は、演算時間の短縮が課題の一つであるので、このような演算装置への高負担や演算時間の増大を招く面を非面として除去し、極力演算の対象としないようにする。
【0011】
請求項1において、第1の面と第2の面は、間に非面領域を挟んだ位置関係にあるものが対象となる。一般に、非面領域を除去した場合に、この非面領域を間に挟む位置にある2つの面は隣接する第1の面と第2の面となる。
【0012】
輪郭線というのは、測定対象物の外観を視覚的に把握するために必要な、当該測定対象物の外形を形作っている線(outline)のことである。具体的には、折れ曲がった部分や急激に曲率が小さくなっている部分が輪郭線となる。輪郭線は、外側の輪郭の部分のみが対象となるとは限らず、凸状に飛び出している部分を特徴付ける縁の部分や、凹状に引っ込んでいる部分(例えば、溝構造の部分)を特徴づける縁の部分も対象となる。輪郭線により所謂線図が得られ、対象物の外観が把握し易い画像表示を行うことができる。実際の輪郭線は、面と面の境やエッジの部分に存在するが、本発明では、これらの部分は、非面領域として点群データから除去するので、下記に説明するように輪郭線を演算により予想する。
【0013】
請求項1に記載の発明では、対象物の角や縁の部分に相当する領域を非面領域として除去し、データとしてまとめて扱いやすい面の集まりにより対象物の電子的な把握を行う。この原理によれば、対象物の外観は、複数の面の集合として把握される。このため、扱うデータ量が節約され、対象物の3次元データを得るのに必要な演算量が節約される。そして、点群データの処理時間が短縮化され、測定対象物の三次元画像の表示やそれに基づく各種の演算の処理時間が短縮化される。
【0014】
ところで、三次元CADデータとしては、対象物の形状を視覚的に把握する必要から、対象物の3次元的な輪郭線の情報(線図データ)が必要とされる。しかしながら、対象物の輪郭情報は、面と面との間に存在するので、上述した非面領域に含まれている。そこで、請求項1に記載の発明では、まず少ない演算量で済む面の集まりとして対象物を把握し、次に隣接する面と面との間に輪郭線があるものとして輪郭線を推定する。
【0015】
対象物の輪郭線の部分は、エッジ等の曲率が鋭く変化している部分を含む場合があるので、得られた点群データから直接演算を行い、輪郭線のデータを得ることは、演算量の増大を招くので効率的ではない。請求項1に記載の発明では、輪郭線付近の点群データは非面領域として除去し、計算し易い面の点群データに基づきまず面を抽出する。しかる後に得られた面に連続し、先に除去された非面領域の点群データに基づく局所領域を取得し、この局所領域にフィッティングする局所面(一次元の局所空間)または局所線(二次元の局所空間)を取得する。
【0016】
ここで局所面は、5点×5点というような局所的な領域(局所領域)にフィッティングさせた局所的な面である。局所面は、平面(局所平面)を選択すると演算がより簡単になるが、曲面(局所曲面)であっても構わない。また、局所線は、局所領域にフィッティングさせた曲線的な線分である。局所線も直線(局所直線)を利用すると演算がより簡単になるが、曲線(局所曲線)であっても構わない。
【0017】
上記の局所面を考えた場合、この局所面は、第1の面よりは、非面領域の形状にフィッティングした局所的な面となる。この局所面は、第1の面と第2の面との間の非面領域の状態を完全ではないが反映した面であるので、第1の面および第2の面とは面の方向(法線方向)が異なっている。
【0018】
上述したようにこの局所面は、第1の面と第2の面との間の非面領域の状態を反映した面であるので、この局所面に基づいて輪郭線を算出することで、近似精度の高い輪郭線を得ることができる。またこの手法によれば、局所面で非面領域を近似するので、演算量を抑えることができる。この点は、局所線を利用する場合も同様である。
【0019】
請求項1に記載の発明において、局所領域は第1の面に隣接していてもよいし、第1の面から離れた位置にあってもよい。この場合、局所領域が第1の面から離れた位置にある場合、当該局所領域と第1の面との間は、1または複数の局所領域によって接続される。ここで、第1の面とそこに隣接する局所領域で点が共有され(例えば縁の部分が共有され)、次にこの局所領域とその隣の局所領域で点が共有され、という関係が確保されば、領域の連続性は確保される。
【0020】
請求項1に記載の発明において、面と非面の区別は、面として扱うのに適しているか否かを判定する指標となるパラメータに基づいて行われる。このパラメータとしては、(1)局所曲率、(2)局所平面のフィッティング精度、(3)共平面性が挙げられる。
【0021】
局所曲率は、注目点とその周囲の点との法線ベクトルのバラツキを示すパラメータである。例えば、注目点とその周囲の点とが同一平面上にある場合、各点の法線ベクトルのバラツキはないので、局所曲率は最小となる。
【0022】
局所平面というのは、局所的な領域を平面で近似したものである。局所平面のフィッティング精度というのは、算出された局所平面とこの局所平面の基となった局所領域とが一致する精度である。局所領域は、例えば、一辺が3〜9画素程度の正方領域(矩形の領域)のことである。そしてこの局所領域を扱いやすい局所的な平面(局所平面)で近似したものを局所平面とし、各点における局所平面と当該局所領域との距離の平均値を求める。この値により局所平面の局所領域へのフィッティング精度が判定される。例えば、局所領域が平面であれば、局所領域と局所平面とは一致し、局所平面のフィッティング精度が最も高い(良い)状態となる。
【0023】
共平面性は、隣接または近接する2つの面の方向の違いを示すパラメータである。例えば、隣接する平面が90度で交差する場合、この隣接する平面の法線ベクトルは直交する。そして2つの平面のなす角度が小さくなる程、2つの平面の法線ベクトルのなす角度は小さくなる。この性質を利用して、隣接する2つの面が同一面にあるのか、そして同一面にないのであれば、その違いはどの程度なのか、が判定される。この程度が共平面性である。具体的には、対象となる2つの局所領域のそれぞれにフィッティングする2つの局所平面の法線ベクトルと、その中心点間を結ぶベクトルとの内積が0であれば、両局所平面が同一平面上に存在すると判定される。また、上記内積が大きくなる程、2つの局所平面が同一面上にない程度がより顕著であると判定される。
【0024】
上述した(1)局所曲率、(2)局所平面のフィッティング精度、(3)共平面性を判定する各パラメータには、閾値が設定され、その閾値によって面と非面の区別の判定が行われる。一般に、面の向きが変わることで発生する鋭い三次元エッジや、曲率の大きい曲面によって発生する滑らかな三次元エッジのような非面領域は、(1)の局所曲率によって判定される。オクルージョン(手前の物体に遮られて奥の物体が見えなくなっている状態)によって発生する三次元エッジのような非面領域は、点の位置が急峻に変化するため、(2)の局所平面のフィッティング精度により主に判定される。面の向きが変わることで発生する鋭い三次元エッジのような非面領域は、(3)の共平面性により主に判定される。
【0025】
面と非面とを区別する判定は、上記3種類の判定基準の1または複数を用いて可能である。例えば、上記3種類の判定をそれぞれ実行し、その中の1以上で非面との判定が下された場合に、対象領域を非面領域と判定する場合が挙げられる。
【0026】
ところで、上述した面としてラベリングした部分をまず求め、その後に非面領域に局所領域を設定して輪郭線を算出する方法では、点群データの精度が必要とされるレベルになく、そのため精度の高い輪郭線の算出が行えず(つまり誤差が多く)、ディスプレイ上に表示させた際に対象物の正確な輪郭画像が表示されない場合がある(例えば、輪郭の一部が不鮮明である等)。この点群データの精度が必要とされるレベルで得られない原因として、点群データの取得時における通過車両や通行人の影響、天候や照明の影響、点群データの密度が粗かった場合等が挙げられる。
【0027】
この問題に対応するために、本発明では、非面領域除去部、面ラベリング部および前記輪郭線算出部の少なくとも一つの処理の結果に基づき、再度点群データの取得を要求する処理を行う。これにより、再度の点群データの取得が行われ、新たな点群データに基づく再度の演算が可能となる。そして再度の演算を行うことで、上述したような精度を低下させる要因を低減あるいは排除することが可能となる。また、再度の点群データの取得において、点群データの取得密度(つまり、測定対象物における点群データを得るための測定点の密度)を前回よりも高めることで、上述したような精度を低下させる要因を低減あるいは排除することが可能となる。
【0028】
請求項2に記載の発明は、請求項1に記載の発明において、前記点群データ再取得要求処理部は、前記非面領域の点群データの取得を要求する処理を行うことを特徴とする。演算精度が問題となるのは、輪郭線の算出精度であり、それは非面領域に係る演算である。すなわち、請求項1の発明では、非面領域の点群データに基づいて局所領域を取得し、この局所領域にフィッティングする曲線面または局所線を取得し、この局所面または局所線に基づいて輪郭線を算出している。つまり、部分的ではあるが非面領域の点群データに基づく演算を行っている。したがって、輪郭線の算出精度に問題がある場合、非面領域の点群データに誤差がある(あるいは必要な精度がない)ことが疑われる。請求項2に記載の発明によれば、非面領域の点群データの再取得が要求されるので、輪郭線の算出精度を高めることができる。また、ラベリングされた面の点群データを再要求しないことで、点群データの再取得に係る処理を効率化することができる。
【0029】
請求項3に記載の発明は、請求項1または2に記載の発明において、前記同一ラベルの付与および前記輪郭線の算出の精度を判定する精度判定部を備え、前記点群データ再取得要求処理部は、前記精度判定部の判定に基づいて前記点群データの再取得を要求する処理を行うことを特徴とする。請求項3に記載の発明によれば、同一ラベルの付与や輪郭線の算出精度が自動的に判定され、それに基づいて点群データの再取得が指示される。このため、マニュアル操作を行わなくても点群データの再取得およびその後の演算による輪郭線の算出精度の向上を期待できる。
【0030】
請求項4に記載の発明は、請求項1〜3のいずれか一項に記載の発明において、前記点群データの再取得を要求する領域の指定を受け付ける受け付け部を備えることを特徴とする。請求項4に記載の発明によれば、ユーザが希望する領域の輪郭線算出精度を高めることができる。図面の目的や要求される内容によっては、精度が必要な領域とそうでない領域がある場合がある。この場合、一律に精度を求めるのは、必要でない演算に処理時間が消費されることになる。請求項4に記載の発明によれば、ユーザの操作によって点群データの再取得領域が選択され、それに基づいて点群データの再取得が指示されるので、要求される精度と処理時間の短縮を両立することができる。
【0031】
請求項5に記載の発明は、請求項1〜4のいずれか一項に記載の発明において、前記点群データの再取得を要求する処理は、その前の点群データの取得時に比較して、点の密度の高い点群データの再取得を要求する処理であることを特徴とする。請求項5に記載の発明によれば、再度の点群データの取得が要求される測定対象物の領域(被測定領域)における点群データの取得密度が、以前に点群データを取得した場合に比較して高く設定される。すなわち、単位面積当たりにおける測定点の数が、以前に点群データを取得した場合に比較して高く設定される。こうすることで、より詳細な点群データの取得が行われ、モデリングの精度を高めることができる。
【0032】
請求項6に記載の発明は、請求項1〜5のいずれか一項に記載の発明において、前記点群データは、対象物からの反射光の強度に関する情報を含み、前記反射光の強度に関する情報に基づいて、前記同一ラベルを付与された面内における模様を構成する二次元エッジを算出する二次元エッジ算出部を更に備え、前記点群データ再取得要求処理部は、前記二次元エッジ算出部の算出結果に基づいて前記点群データの再取得を要求する処理を行うことを特徴とする。
【0033】
二次元エッジというのは、ラベリングされた面の中での線として表示される部分である。例えば、模様、濃淡の変化、タイルの目地等の線状の模様、幅が狭く長手方向に延在した凸部、部材と部材のつなぎ目や境目等である。これらは、厳密にいうと測定対象物の輪郭を構成する輪郭線(Out Line)ではないが、輪郭線と同様に対象物の外観を把握する場合に役立つ線の表示である。例えば、建物の外観を把握する場合、凹凸の少ない窓枠や外壁部材の境は、二次元エッジとなる。請求項6に記載の発明によれば、二次元エッジを算出し、更にそれを再演算の対象とすることで、よりリアルが測定対象物の外観の線図データを得ることができる。
【0034】
請求項7に記載の発明は、測定対象物に対して測距光を回転照射する回転照射部と、前記測距光の飛行時間に基づいて自身の位置から測定対象物上の測定点までの距離を測距する測距部と、前記測距光の照射方向を検出する照射方向検出部と、前記距離および前記照射方向に基づいて、前記測定点の三次元座標を算出する三次元座標算出部と、前記三次元座標算出部が算出した結果に基づいて前記測定対象物の点群データを取得する点群データ取得部と、測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去部と、前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出部と、前記非面領域除去部、前記面ラベリング部および前記輪郭線算出部の少なくとも一つの処理の結果に基づいて前記点群データの再取得を要求する処理を行う点群データ再取得要求処理部とを備え、前記輪郭線算出部は、前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得部と、前記局所領域にフィッティングし前記第1の面および前記第2の面と異なる面の方向を有する局所面、または前記局所領域にフィッティングし前記第1の面および前記第2の面と平行でない局所線の取得を行う局所空間取得部とを備え、前記局所面または前記局所線に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理装置である。
【0035】
請求項8に記載の発明は、異なる方向から重複した撮影領域で測定対象物を撮影する撮影部と、前記撮影部によって得られた重複画像内の特徴点を対応づける特徴点対応付部と、前記撮影部の位置および姿勢を測定する撮影位置姿勢測定部と、前記撮影部の位置および姿勢と前記重複画像内における特徴点の位置とに基づいて特徴点の三次元座標を算出する三次元座標算出部と、前記三次元座標算出部が算出した結果に基づいて前記測定対象物の点群データを取得する点群データ取得部と、測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去部と、前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出部と、前記非面領域除去部、前記面ラベリング部および前記輪郭線算出部の少なくとも一つの処理の結果に基づいて前記点群データの再取得を要求する処理を行う点群データ再取得要求処理部とを備え、前記輪郭線算出部は、前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得部と、前記局所領域にフィッティングし前記第1の面および前記第2の面と異なる面の方向を有する局所面、または前記局所領域にフィッティングし前記第1の面および前記第2の面と平行でない局所線の取得を行う局所空間取得部とを備え、前記局所面または前記局所線に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理装置である。
【0036】
請求項9に記載の発明は、測定対象物の点群データを光学的に得る点群データ取得手段と、測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去手段と、前記非面領域除去手段によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング手段と、前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出手段と、前記非面領域除去手段、前記面ラベリング手段および前記輪郭線算出手段の少なくとも一つの処理の結果に基づいて前記点群データの再取得を要求する処理を行う点群データ再取得要求処理手段とを備え、前記輪郭線算出手段は、前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得手段と、前記局所領域にフィッティングし前記第1の面および前記第2の面と異なる面の方向を有する局所面、または前記局所領域にフィッティングし前記第1の面および前記第2の面と平行でない局所線の取得を行う局所空間取得手段とを備え、前記局所面または前記局所線に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理システムである。
【0037】
請求項10に記載の発明は、測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去ステップと、前記非面領域除去ステップによって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリングステップと、前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出ステップと、前記非面領域除去ステップ、前記面ラベリングステップおよび前記輪郭線算出ステップの少なくとも一つの処理の結果に基づいて前記点群データの再取得を要求する処理を行う点群データ再取得要求処理ステップとを備え、前記輪郭線算出ステップは、前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得ステップと、前記局所領域にフィッティングし前記第1の面および前記第2の面と異なる面の方向を有する局所面、または前記局所領域にフィッティングし前記第1の面および前記第2の面と平行でない局所線の取得を行う局所空間取得ステップとを備え、前記局所面または前記局所線に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理方法である。
【0038】
請求項11に記載の発明は、コンピュータに読み取らせて実行させるプログラムであって、コンピュータを、測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去機能と、前記非面領域除去機能によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング機能と、前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出機能と、前記非面領域除去機能、前記面ラベリング機能および前記輪郭線算出機能の少なくとも一つの処理の結果に基づいて前記点群データの再取得を要求する処理を行う点群データ再取得要求処理機能とを備え、前記輪郭線算出機能は、前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得機能と、前記局所領域にフィッティングし前記第1の面および前記第2の面と異なる面の方向を有する局所面、または前記局所領域にフィッティングし前記第1の面および前記第2の面と平行でない局所線の取得を行う局所空間取得機能とを備え、前記局所面または前記局所線に基づいて前記輪郭線の算出が行われる処理を実行させることを特徴とする点群データ処理プログラムである。
【発明の効果】
【0039】
本発明によれば、測定対象物の点群データからその特徴を抽出し、対象物の輪郭に係るデータを自動的かつ短時間に生成する技術が提供される。
【図面の簡単な説明】
【0040】
【図1】実施形態の点群データ処理装置のブロック図である。
【図2】実施形態の処理の手順を示すフローチャートである。
【図3】測定対象物の一例を示す概念図である。
【図4】ラベルが付与された面の縁の様子を示す概念図である。
【図5】輪郭線を算出する原理を示す概念図である。
【図6】輪郭線を算出する原理を示す概念図である。
【図7】輪郭線算出部の一例を示すブロック図である。
【図8】ラベルが付与された面の縁と輪郭線の関係を示す概念図である。
【図9】実施形態の処理の手順を示すフローチャートである。
【図10】三次元レーザースキャナ機能を有した点群データ処理装置の概念図である。
【図11】三次元レーザースキャナ機能を有した点群データ処理装置の概念図である。
【図12】実施形態の制御系のブロック図である。
【図13】実施形態の演算部のブロック図である。
【図14】グリッドの形成手順の一例を示す概念図である。
【図15】グリッドの一例を示す概念図である。
【図16】ステレオカメラを用いた三次元情報の取得機能を有した点群データ処理装置の概念図である。
【図17】実施形態のブロック図である。
【発明を実施するための最良の形態】
【0041】
1.第1の実施形態
以下、点群データ処理装置の一例について、図面を参照して説明する。本実施形態の点群処理装置は、測定対象物の二次元画像と、この二次元画像に対応させた複数の点の三次元座標データとを関連付けた点群データの中から、演算の負担の大きい非面領域に係る点群データを除去する非面領域除去部を備えている。また、非面領域のデータが除去された後の点群データに対して、面を指定するラベルを付与する面ラベリング部と、ラベルが付与された面から連続した局所領域に基づく局所平面を利用して、対象物の輪郭線を算出する輪郭線算出部を備えている。また、点群データを再取得に係る処理を行う点群データ再取得要求処理部106を備えている。
【0042】
(点群データ処理装置の構成)
図1は、点群データ処理装置のブロック図である。点群データ処理装置100は、測定対象物の点群データに基づいて、測定対象物の特徴を抽出し、当該特徴に基づく三次元形状を生成する。点群データは、測定対象物にレーザー光を捜査して照射し、その反射光を検出することで、測定対象物の3次元座標のデータを点群データとして得る三次元位置測定装置(三次元レーザースキャナ)や複数の撮像装置を用いて立体画像情報を取得し、それに基づいて測定対象物の3次元座標のデータを点群データとして得る立体画像情報取得装置から得られる。三次元レーザースキャナについては実施形態2で、立体画像情報取得装置については、実施形態3で説明する。
【0043】
図1に示す点群処理装置100は、ノート型のパーソナルコンピュータ内においてソフトウェア的に構成されている。よって、本発明を利用した点群処理を行う専用のソフトウェアがインストールされたパーソナルコンピュータが図1の点群処理装置として機能する。このプログラムは、パーソナルコンピュータ中にインストールされている状態に限定されず、サーバや適当な記録媒体に記録しておき、そこから提供される形態であってもよい。
【0044】
利用されるパーソナルコンピュータは、キーボートやタッチパネルディスプレイ等の入力部、液晶ディスプレイ等の表示部、入力部と表示部を統合したユーザインターフェースであるGUI(グラフィカル・ユーザ・インターフェース)機能部、CPUおよびその他専用の演算デバイス、半導体メモリ、ハードディスク記憶部、光ディスク等の記憶媒体との間で情報のやり取りを行えるディスク記憶装置駆動部、USBメモリ等の携帯型記憶媒体との間で情報のやり取りを行えるインターフェース部、無線通信や有線通信を行う通信インターフェース部を必要に応じて備えている。なお、パーソナルコンピュータは、ノート型に限定されず、携帯型や卓上型等の他の形態であってもよい。また、汎用のパーソナルコンピュータを利用する以外に、ASIC(Application Specific Integrated Circuit)や、FPGA(Field Programmable Gate Array)などのPLD(Programmable Logic Device)等を用いて構成した専用のハードウェアによって点群処理装置100を構成することも可能である。
【0045】
(A)輪郭線の算出に係る構成
まず、点群処理装置100における輪郭線を算出する処理を行う構成を説明する。点群処理装置100は、非面領域除去部101、面ラベリング部102、輪郭線算出部103を備えている。以下、これら各機能部について説明する。
【0046】
(A1:非面領域除去部)
図2は、点群データ処理装置100において行われる処理の一例を示すフローチャートである。図2のステップS202〜S204の処理が非面領域除去部101において行われる。非面領域除去部101は、局所領域を取得する局所領域取得部101a、局所領域の法線ベクトルを算出する法線ベクトル算出部101b、局所領域の局所曲率を算出する局所曲率算出部101c、局所領域にフィッティングする局所平面を算出する局所平面算出部101dを備える。以下、処理の流れに従って、これらの機能部について説明する。
【0047】
局所領域取得部101aは、点群データに基づき、注目点を中心とした一辺が3〜7画素程度の正方領域(格子状の領域)を局所領域として取得する。法線ベクトル算出部101bは、局所領域取得部101aが取得した上記の局所領域における各点の法線ベクトルの算出を行う(ステップS202)。この法線ベクトルを算出する処理では、局所領域における点群データに着目し、各点の法線ベクトルを算出する。この処理は、全ての点群データを対象として行われる。すなわち、点群データが無数の局所領域に区分けされ、各局所領域において各点の法線ベクトルの算出が行われる。
【0048】
局所曲率算出部101cは、上述した局所領域内の法線ベクトルのバラツキ(局所曲率)を算出する(ステップS203)。ここでは、着目している局所領域において、各法線ベクトルの3軸成分の強度値(NVx, NVy, NVz)の平均(mNVx,mNVy,mNVz)を求め、さらに標準偏差(StdNVx,StdNVy,StdNVz)を求める。次に、標準偏差の二乗和の平方根を局所曲率(Local Curveture:crv)として算出する(下記数1参照)。
【0049】
【数1】
【0050】
局所平面算出部101dは、局所空間取得部の一例であり、局所領域にフィッティング(近似)する局所平面(二次元の局所空間)を求める(ステップS204)。この処理では、着目している局所領域の各点の三次元座標から局所平面の方程式を求める(局所平面フィッティング)。局所平面は、着目している局所領域にフィッティングさせた平面である。ここでは、最小二乗法を用いて、当該局所領域にフィッティングする局所平面の面の方程式を算出する。具体的には、複数の異なる平面方程式を求め、更にそれらを比較し、当該局所領域にフィッティングする局所平面の面の方程式を算出する。仮に、着目している局所領域が平面であれば、局所平面と局所領域とは一致する。
【0051】
以上の処理を、局所領域を順次ずらしながら、全ての点群データが対象となるように繰り返し行い、各局所領域における法線ベクトル、局所平面、局所曲率を得る。
【0052】
次に、上で求めた各局所領域における法線ベクトル、局所平面、局所曲率に基づいて、非面領域の点を除去する処理を行う(ステップS205)。すなわち、面(平面および曲面)を抽出するために、予め面でないと判断できる部分(非面領域)を除去する。なお、非面領域とは、平面でも曲面でもない領域であるが、下記の(1)〜(3)の閾値によっては曲率の高い曲面を含む場合がある。
【0053】
非面領域除去の処理は、以下に示す3つの方法のうち、少なくとも一つを用いて行うことができる。ここでは、下記の(1)〜(3)の方法による判定を上述した局所領域の全てに対して行い、1以上の方法において非面領域と判定された局所領域を、非面領域を構成する局所領域として抽出する。そして、抽出された非面領域を構成する点に係る点群データを除去する。
【0054】
(1)局所曲率の高い部分
ステップS203で求めた局所曲率を予め設定しておいた閾値と比較し、閾値を超える局所曲率の局所領域を非面領域と判定する。局所曲率は、注目点とその周辺点における法線ベクトルのバラツキを表しているので、面(平面および曲率の小さい曲面)ではその値が小さく、面以外(非面)ではその値は大きくなる。したがって、予め決めた閾値よりも局所曲率が大きければ、当該局所領域を非面領域と判定する。
【0055】
(2)局所平面のフィッティング精度
局所領域の各点と対応する局所平面との距離を計算し、これらの距離の平均が予め設定した閾値よりも大きい場合、当該局所領域を非面領域と判定する。すなわち、局所領域が平面から乖離した状態であると、その程度が激しい程、当該局所領域の各点と対応する局所平面との距離は大きくなる。このことを利用して当該局所領域の非面の程度が判定される。
【0056】
(3)共平面性のチェック
ここでは、隣接する局所領域において、対応する局所平面同士の向きを比較する。この局所平面の向きの違いが閾値を超えている場合、比較の対象となった局所領域が非面領域に属していると判定する。具体的には、対象となる2つの局所領域のそれぞれにフィッティングする2つの局所平面の法線ベクトルと、その中心点間を結ぶベクトルとの内積が0であれば、両局所平面が同一平面上に存在すると判定される。また、上記内積が大きくなる程、2つの局所平面が同一面上にない程度がより顕著であると判定される。
【0057】
上記の(1)〜(3)の方法による判定において、1以上の方法において非面領域と判定された局所領域を、非面領域を構成する局所領域として抽出する。そして、この抽出された局所領域を構成する点に係る点群データを算出対象としている点群データから除去する。以上のようにして、図2のステップS205における非面領域の除去が行われる。こうして、点群データ処理装置100に入力された点群データの中から非面領域の点群データが非面領域除去部101において除去される。なお、除去された点群データは、後の処理で利用する可能性があるので、適当な記憶領域に格納するなり、除去されなかった点群データと識別できる状態とするなどして、後で利用できる状態にしておく。
【0058】
(A2:面ラベリング部)
次に面ラベリング部102の機能について、図2を参照して説明する。面ラベリング部102は、非面領域除去部101で処理された点群データを対象として、図2のステップS206以下の処理を実行する。
【0059】
面ラベリング部102は、非面領域除去部101において非面領域の点群データが除去された点群データに対して、法線ベクトルの連続性に基づいて面ラベリングを行う(ステップS205)。具体的には、特定の注目点と隣接点の法線ベクトルの角度差が予め決めた閾値以下なら、それらの点に同一ラベルを貼る。この作業を繰り返すことで、連続する平面、連続する緩やかな曲面に同一ラベルが貼られ、それらを一つの面として識別可能となる。また、ステップS205の面ラベリングの後、法線ベクトルの角度差や法線ベクトルの3軸成分の標準偏差を用いて、ラベル(面)が平面であるか、または曲率の小さい曲面であるかを判定し、その旨を識別する識別データを各ラベルに関連付ける。
【0060】
続いて、面積の小さいラベル(面)をノイズとして除去する(ステップS207)。なお、このノイズ除去は、ステップS205の面ラベリングの処理と同時に行ってもよい。この場合、面ラベリングを行いながら、同一ラベルの点数(ラベルを構成する点の数)を数え、所定以下の点の数であるラベルを取り消す処理を行う。次に、この時点でラベルが無い点に対して、最近傍面(最も近い面)と同一のラベルを付与していく。これにより、既にラベリングされた面の拡張を行う(ステップS208)。
【0061】
以下、ステップS207の処理の詳細を説明する。まず、ラベルの付いた面の方程式を求め、当該面とラベルが無い点との距離を求める。ラベルが無い点の周辺に複数のラベル(面)がある場合には、その距離が最も短いラベルを選択する。そして、依然としてラベルが無い点が残存している場合には、非面領域除去(ステップS205)、ノイズ除去(ステップS207)、およびラベル拡張(ステップS208)における各閾値を変更し、再度関連する処理(再ラベリング)を行う(ステップS209)。例えば、非面領域除去(ステップS205)において、局所曲率の閾値を上げることで、非面として抽出する点の数が少なくなるようにする。または、ラベル拡張(ステップS208)において、ラベルの無い点と最近傍面との距離の閾値を上げることで、ラベルの無い点に対してより多くのラベルを付与するようにする。
【0062】
次に、ラベルが異なる面であっても同一面である場合にラベルを統合する(ステップS210)。この場合、連続しない面であっても、位置または向きが等しい面同士に同じラベルを付ける。具体的には、各面の法線ベクトルの位置および向きを比較することで、連続しない同一面を抽出し、いずれかの面のラベルに統一する。以上が面ラベリング部102の機能である。
【0063】
この面ラベリング部102の機能によれば、扱うデータ量を圧縮できるので、点群データの処理を高速化できる。また必要なメモリ量を節約できる。また、測定中に紛れ込んだ通行人や通過した車両の点群データをノイズとして除去することができる。
【0064】
以下、面ラベリング部102によって処理された点群データに基づく表示画像の一例を説明する。図3には、測定対象物の一例として立方体120が示されている。ここでは、立方体120を斜め上方の視点から三次元レーザースキャナによってスキャニングし、立方体120の点群データを得た場合を考える。この場合、この点群データに対して、図2のステップS201〜S210の処理を施すと、図2で見えている3つの面にラベルが貼られ、遠目で見た場合は、一見すると図3に示すのと同様な画像データを得ることができる。
【0065】
しかしながら、平面123と平面124の境の付近を拡大すると、図4に示すように面123の面124側の外縁123aと、平面124の平面123側の外縁124bとは一致せず、略平行に延在した状態で位置している。つまり、立方体120の輪郭線122は正確に再現されない。
【0066】
これは、輪郭線122の部分のデータは、立方体120を構成する平面123と124の境の部分のエッジ部分であり、非面領域125として点群データから除去されているからである。この場合、異なるラベルの貼られた(付与された)平面123の外側の縁である外縁123aと平面124の外側の縁である外縁124bの点群データは処理対象とされるので、その部分の表示は行われる。しかしながら、外縁123aと124bの間(非面領域125)は、点群データがないので、当該部分に関する画像情報は表示されない。
【0067】
この理由により、面ラベリング部102の出力に基づく画像表示をした場合に、平面123と平面124との境となる輪郭線122が正確に表示されない。本実施形態では、点群データ処理装置100から、例えば上記の例示における輪郭線122が出力されるようにするために、次に説明する輪郭線算出部103を備えている。
【0068】
(A3:輪郭線算出部)
輪郭線算出部103は、隣接する面の点群データに基づき、輪郭線を算出(推定)する(図2のステップS211)。以下、具体的な算出方法について説明する。
【0069】
(算出方法その1)
図5には、輪郭線を算出する方法の原理の一つが示されている。図5には、平面131と平面132の境の付近が概念的に示されている。この場合、非面領域除去の処理により、曲率の小さい非面領域133が除去され、隣接する平面131と132が面としてラベルが貼られる。この際、平面131の平面132側の外縁131aと平面132の平面131側の外縁132aの間の点群データは、非面領域として除去されているので、非面領域133にあるはずの輪郭線のデータを点群データから直接得ることはできない。
【0070】
そこでこの例では、以下の処理を輪郭線算出部103において行う。この場合、平面132と平面131とを延長し、その交線134を算出する。そして、交線134を推定された輪郭線とする。この場合、平面131の延長した交線までの部分と、平面132の延長した交線までの部分により多面体が形成され、この多面体が平面131と132を接続する近似的な接続面となる。なお、平面131と平面132が曲面である場合は、その外縁131aおよび132aの部分の法線ベクトルを有する平面を考え、それを延長することで、交線134を算出する。
【0071】
この方法は、他の方法に比較して演算が簡単であるので、高速処理に適している。他方で、実際の非面領域と算出される輪郭線との距離が大きくなり易く、誤差が大きくなる可能性が高い。しかしながら、エッジが急峻である場合や非面領域の幅が狭い場合には、誤差は小さくなるので、処理時間が短くて済む優位性が生きてくる。
【0072】
「算出方法その1」を実行する場合における図1の輪郭線算出部103の構成を図7(A)に示す。この場合、輪郭線算出部103は、接続面算出部141を備え、接続面算出部141は、隣接する第1の面と第2の面を延長する演算を行う隣接面延長部142と、延長された第1の面と第2の面との交線を算出する交線算出部143を備える。
【0073】
(算出方法その2)
図6には、輪郭線を算出する方法の原理が示されている。図6(A)には、図5と同じ面を垂直に切った断面を見る視点からの概念図が示され、図6(B)には、2つの面とその間の輪郭線を俯瞰して見た状態の概念図(モデル図)が示されている。図6には、図5の場合と同様な平面131と平面132の境の付近が概念的に示されている。この場合も非面領域除去の処理により、曲率の小さい非面領域133が除去され、隣接する平面131と132が面としてラベルが貼られている。この点は、図5の場合と同じである。
【0074】
以下、処理の一例を説明する。まず、平面131の平面132の側の外縁131aの点を含み、更に平面132の側にある局所領域を取得する。この局所領域は、縁の部分で平面131の外縁131aを共有し、非面領域133の一部を構成する3×3点、5×5点のような局所的な正方領域である。この局所領域は、縁の部分を平面131の外縁131aと共有するので、平面131から連続した領域となる。そして、この局所領域にフィティングする局所平面135を取得する。局所平面135は、主に非面領域133の形状の影響を受けるので、その法線ベクトルの方向(面の方向)は、平面131、132の法線ベクトルの方向(面の方向)と異なっている。なお、局所平面の算出方法は、局所平面算出部101cにおけるものと同じである。
【0075】
次に、平面132の平面131の側の外縁132aの点を含み、更に平面131の側にある局所領域を取得する。そして、この局所領域にフィティングする局所平面137を取得する。ここで、局所平面135と137の間に更に局所平面を設定するスペースがある場合(あるいは精度追求上その必要がある場合)、同様な処理を繰り返し、平面131の側から平面132の側へ、また平面132の側から平面131の側へ、局所平面を非面領域133上の局所領域にフィッティングさせてゆく。言い換えると、局所平面を継ぎ接ぎして非面領域133を多面体で近似してゆく。
【0076】
この例では、局所平面135と137の間の距離が閾値以下であるので(つまり、更に局所平面を設定する間隔でないと判定されるので)、近接し隣接する位置関係にある局所平面135と137の交線を求め、輪郭線138を算出する。この場合、局所平面135、局所平面137、およびそれらを延長した交線までの部分により多面体が形成され、この多面体が平面131と132を接続する近似的な接続面となる。この方法によれば、非面領域にフィッティングする局所平面を繋いで平面131と132を接続する接続面を形成するので、図5の場合よりも輪郭線の算出精度を高くできる。
【0077】
こうして、図6(B)に示されるように、局所平面135、137の寸法程度の長さを有する輪郭線138(輪郭線の線素)を得る。そして上記の処理を非面領域の延在方向に沿って行うことで、平面131と132とを区分けする輪郭線139が算出される。すなわち、図6(A)に示す輪郭線138の算出の後、同様の手法により局所平面135’、137’を取得することで、その間の輪郭線部分を算出する。この処理を繰り返すことで、短い輪郭線138を延ばしてゆき、輪郭線139を得る。
【0078】
以下、例えば、局所平面135の平面132の側に更に局所平面を設定する場合を説明する。この場合、局所平面135の基となった局所領域の平面132側の縁の点を含み、更に平面132の側にある局所領域を取得し、そこにフィッティングする局所平面を取得する。この処理は、平面132の側でも同様に行われる。この処理を両平面の側でそれぞれ繰り返し行い、両面からの接続面を繋いでゆき、その隙間が閾値以下となった段階で、対向した位置関係で近接する2つの局所面の交線を求め、それを輪郭線とする。
【0079】
この場合、第1の面から第2の面に向かって次々と取得していった複数の局所領域は、隣接する第1の面や局所領域で一部の点を共有しているので、それぞれ第1の面から連続した局所領域となる。つまり、第1の面から離れた位置にある局所領域も上記の手順に従って取得されたものであれば、第1の面から連続した局所領域として把握される。なお、隣接する局所平面同士は、連続する局所領域にそれぞれフィッティングする局所平面であっても、非面領域の形状に応じて、それらは互いに異なる方向を向いている。したがって、局所平面同士が完全に繋がらない場合もあり、正確には、隙間が生じた多面体となる場合もあるが、ここではその隙間は無視し、多面体構造の接続面として把握する。
【0080】
算出方法その2を実行する場合における図1の輪郭線算出部103の構成を図7(B)に示す。この場合、輪郭線算出部103は、接続面算出部144を備える。接続面算出部144は、局所領域取得部145、局所平面取得部146、局所平面延長部147、交線算出部148を備えている。局所領域取得部145は、局所平面135、137を取得するために必要な局所領域を取得する。局所平面取得部146は、局所空間取得部の一例であり、局所領域取得部145が取得した局所領域にフィッティングする局所平面を取得する。局所平面延長部147は、平面131から平面132の方向に延ばしていった局所平面(図6の場合は局所平面135)と、平面132から平面131の方向に延ばしていった局所平面(図6の場合は局所平面137)を延長する演算を行う。交線算出部148は、上記延長した2つの局所平面の交線を算出する。
【0081】
以上述べた方法によれば、非面領域を介して隣接する第1の面と第2の面との間の隙間(非面領域の部分)を局所平面で繋いでゆき、この隙間を徐々に狭くし、この隙間がある程度狭くなったところで、隙間を隔てて隣接する局所平面の交線を算出し、輪郭線とする演算を行う。なお、局所平面135と137の間に更に局所平面を設定するか否かを判定する基準として、局所平面135と137の法線ベクトルの方向の差を利用してもよい。この場合、局所平面135と137の法線ベクトルの方向の差が閾値以下であれば、交線を利用した輪郭線の算出でも充分に精度が確保できると考え、新たな局所平面の取得は行わず、図示する場合のように、局所平面135と137の交線に基づく輪郭線の算出を行う。
【0082】
(算出方法その3)
この方法では、最初の段階で非面領域と判定された領域に対して、閾値を変更しての再度の非面領域の除去およびラベリングを行い、より限定された非面領域の除去とし、その後に再度「算出方法その1」または「算出方法その2」のいずれかを用いての輪郭線の算出を行う。
【0083】
なお、2回、3回と閾値を変更しての再演算を行い、更に除去される非面領域を狭くし、精度を高めることも可能であるが、閾値を変更しての繰り返しの演算の回数が多くなると、演算時間が長くなるので、閾値の変更回数に適当な閾値を設定し、ある程度再処理の回数を行った段階で他の算出方法による輪郭線の算出に切り替えることが望ましい。
【0084】
(算出方法その4)
算出方法その2と同様な考え方として、局所平面ではなく、局所直線(一次元の局所空間)を用いる方法もある。この場合、図1の局所平面算出部101dは、一次元の局所空間を取得する局所空間取得部である局所直線算出部として機能する。以下、図6を用いて説明する。この場合、まず図6の概念図において、符号135と137を局所直線として把握する。ここで、局所直線は、局所平面の幅を1点分の幅(数学的には、幅はない)に狭めた形態として把握できる。考え方は、局所平面の場合と同じで、平面131に連続した局所領域を取得し、この局所領域にフィッティングし、平面132の方向に延びる局所直線を算出する。そしてこの局所直線により平面131と132を接続する接続線(この場合、面ではなく線となる)を構成する。
【0085】
局所直線の算出は、局所平面の場合と同じで、最小二乗法を用いて、当該局所領域にフィッティングする線の方程式を算出することで行う。具体的には、複数の異なる直線の方程式を求めて比較し、当該局所領域にフィッティングする直線の方程式を算出する。仮に、着目している局所領域が平面であれば、局所直線と局所領域とは平行となる。なお、局所直線のフィッティング対象となる局所領域は、非面領域133の一部を構成する局所的な領域であるので、局所直線(この場合は、符号135)は、平面131および132と平行とならない。
【0086】
また、面132の側でも同様の処理を行い、この場合符号137で示される局所直線を算出する。そして、2つの局所直線の交点(この場合、符号138)が、求める輪郭線の通過点となる。実際の輪郭線の算出は、複数の上記交点を求め、それを結ぶことで得られる。なお、上記局所直線の交点を隣接する部分で求め、それを繋ぐことで輪郭線を算出することも可能であるが、複数点を飛び越した間隔をおいた部分で局所直線同士の交点を複数求め、それらを結ぶことで輪郭線を算出することも可能である。
【0087】
なお、局所直線を更に細かく複数設定し、接続線を更に細かく刻んでゆき、輪郭線を算出することも可能である。これは、「算出方法その2」において説明した局所平面を用いた輪郭線の算出の場合と同じである。
【0088】
(算出方法その他)
局所平面の交線を求めることで輪郭線を予想する方法の別バージョンとして、接続面の中央部分で輪郭線を設定する手法が挙げられる。この場合、接続面の中央を算出する方法として、(1)距離的な中央の部分を輪郭線が通るとして輪郭線を算出する方法、(2)局所面の法線の変化(面の方向の変化)に基づき、その変化範囲の中央の法線(またはそこに近い法線)を有する局所面の中心点を輪郭線の通過点とする方法、(3)局所面の法線の変化(面の方向の変化)に基づき、その変化率の最も大きな部分を輪郭線の通過点とする方法等が挙げられる。局所面として局所曲面を採用することもできる。この場合、データとして扱いやすい曲面を選定し、それを上述した局所平面の代わりに利用する。また、局所面を複数種類用意し、その中から局所領域へのフィッティング性の高いものを選択する方法も可能である。
【0089】
(輪郭線の一例)
以下、算出した輪郭線の一例を説明する。図8は、図4に対応する概念図である。図8には、図4に示す状態において、本実施形態で説明した輪郭線算出処理(輪郭線算出方法その2)を施し、輪郭線150を算出した場合が示されている。この場合、非面領域として除去された領域において、ラベルが付与された平面123の外縁123a、および平面124の外縁124bに基づいて「輪郭線算出方法その2」により両平面を接続する接続面を算出し(図6参照)、この接続面を構成する2つの局所平面の公線を求めることで輪郭線150が算出される。輪郭線150が算出されることで、不明瞭であった図3の測定対象物(この場合は、立体120)の輪郭の画像が明確となる。こうして、三次元CADデータに取り込むことで、CADデータとして活用するのに適した画像データを点群データから得ることができる。
【0090】
(A4:二次元エッジ算出部)
次に図2のステップS212の処理を行う図1の二次元エッジ算出部104について説明する。以下、二次元エッジ算出部104で行われる処理の一例を説明する。まず、対象物からの反射光の強度分布に基づいて、ラプラシアン、プリューウィット、ソーベル、キャニーなどの公知のエッジ抽出オペレータを用いて、セグメント化(区分け)された面に対応する二次元画像の領域内からエッジを抽出する。すなわち、二次元エッジは、面内の濃淡の違いにより認識されるので、この濃淡の違いを反射光の強度の情報から抽出し、その抽出条件に閾値を設けることで、濃淡の境目をエッジとして抽出する。次に、抽出されたエッジを構成する点の三次元座標の高さ(z値)と、その近傍の輪郭線(三次元エッジ)を構成する点の三次元座標の高さ(z値)とを比較し、この差が所定の閾値以内の場合には、当該エッジを二次元エッジとして抽出する。すなわち、二次元画像上で抽出されたエッジを構成する点が、セグメント化された面上にあるか否かを判定し、面上にあると判定された場合にそれを二次元エッジとする。
【0091】
二次元エッジの算出(ステップS212)後、輪郭線算出部103が算出した輪郭線と二次元エッジ算出部104が算出した二次元エッジとを統合する。これにより、点群データに基づくエッジの抽出が行われる(S214)。このエッジの抽出により、測定対象物を視認する際における測定対象物の外観を構成する線が抽出される。これにより、測定対象物の線図のデータが得られる。例えば、測定対象物として建物が選択し、この建物の点群データに基づいて、図2の処理により線図のデータを得た場合を説明する。この場合、当該建物の外観、外壁の模様、窓等の輪郭が線図のデータとして表現される。なお、窓のような比較的凹凸の少ない部分の輪郭は、閾値の判定により、輪郭線として処理される場合もあるし、二次元エッジとして処理される場合もある。このような線図のデータは、3次元CADデータや対象物の下図のデータとして利用できる。
【0092】
(B)点群データの再取得を要求する処理に係る構成1
点群データ処理装置100は、点群データの再取得を要求する処理に係る構成として、点群データ再取得要求処理部106を備えている。点群データ再取得要求処理部106は、非面領域除去部101、面ラベリング部102、輪郭線算出部103の少なくとも一つの処理の結果に基づいて、点群データの再取得の要求に係る処理を行う。以下、点群データ再取得要求処理部106で行われる処理について説明する。
【0093】
(処理その1)
この場合、点群データ再取得要求処理部106は、非面領域除去部101の処理の結果に基づいて、非面領域として処理された領域の点群データを再度得るための処理を行う。つまり、非面領域の点群データを再取得する要求を行う。以下この処理の一例を説明する。まず、最初に得る点群データの密度を相対的に粗く設定する。そして最初の段階で面としてラベリングされた部分以外の部分(つまり非面領域)に対して、再度の点群データの取得を指示する。こうすることで、効率よく点群データを取得でき、且つ、演算の精度を高めることができる。また、上記の処理において、設定する点群データの密度を段階的に複数設定し、点群データを繰り返し取得し、徐々により非面度が大きい領域の点群データをよりデータ密度が高い状態で取得する形態を採用してもよい。つまり、徐々により細かく点群データを得る必要がある領域を絞り込んでゆく手法を採用することもできる。
【0094】
(処理その2)
点群データ再取得要求処理部106は、輪郭線算出部103の処理の結果に基づいて、輪郭線およびその近傍における再度の点群データの取得を行う処理を行う。この場合、輪郭線の部分とその周辺(例えば、測定点で捉えて4〜10点分の幅)に対して、再度の点群データの取得が要求される。この処理によれば、より精度の高い輪郭線の画像データを得ることができる。また、輪郭線に加えて二次元エッジの部分およびその周辺を再度の点群データの取得対象として選択する設定も可能である。
【0095】
(処理その3)
点群データ再取得要求処理部106は、面ラベリング部102の処理の結果に基づき、面のフィッティング精度の悪い部分に対して再度の点群データの取得を要求する処理を行う。この場合、ラベリングされた面のフィッティング精度の良し悪しを閾値により判定し、フィッティングの精度が悪いと判定された面の点群データを再度取得する要求が行われる。
【0096】
(処理その4)
オクルージョン(手前の物体に遮られて奥の物体が見えなくなっている状態)によって発生する三次元エッジのような非面領域は、特に誤差が生じやすい。点群データ再取得要求処理部106は、そのような領域を局所平面のフィッティング精度や共平面性を判定することで抽出し、その領域に限定して再度の点群データの取得を行う処理を行う。この場合、非面領域除去部101における処理の結果に基づいて、点群データの再取得の要求に係る処理が行われる。
【0097】
(処理その5)
何らかの理由により、面のラベリングや輪郭線の算出が行えず、空白となる部分が生じる場合がある。例えば、オクルージョン(手前の物体に遮られて奥の物体が見えなくなっている状態)の部分や、スキャン光が極めて浅い角度で(面やエッジの延在方向に対して平行に近い角度)測定対象物に入射する部分では、この問題が生じ易い。点群データ再取得要求処理部106は、このような領域を検出し、当該領域に対する点群データの再取得を行う処理を行う。上述した空白の部分の検出は、ラベルの有無、稜線の有無、他の領域との間におけるデータの連続性によって判別される。この場合、非面領域除去部101、面ラベリング部102、輪郭線算出部103の少なくとも一つの処理の結果に基づいて、点群データの再取得の要求に係る処理が行われる。
【0098】
(処理その6)
点群データ再取得要求処理部106は、エッジ統合部105で得られた輪郭線と二次元エッジを統合した画像(線で構成された画像:線図の画像)の精度を判定する。この場合、点群データ再取得要求処理部106は、図示するように精度判定部106’の機能を有する。具体的には、線のぼけ、途切れ、不自然な折れ曲がり(ギザギザ表示)といった線の表現として不自然な表示を検出する。この処理では、予め選択しておいた基準となる比較対象をデータとして用意しておき、このデータと比較することで不自然な表示か否かを判定する。この場合、輪郭線算出部103および二次元エッジ算出部104の処理の結果に基づいて、点群データの再取得の要求に係る処理が行われる。
【0099】
(C)点群データの再取得を要求する処理に係る構成2
点群データ処理装置100は、点群データの再取得を要求する処理に係る構成として、点群データ再取得要求信号出力部107、操作入力部110、操作入力受け付け部111を備えている。点群データ再取得要求信号出力部107は、点群データ再取得要求処理部106における処理に基づき、点群データの再取得を要求する信号を生成し、外部に出力する。例えば、点群データ再取得要求処理部106における処理の結果を受け、指定された領域における点群データの再取得を要求する信号を、点群データ処理装置100を構成するパーソナルコンピュータに接続された三次元レーザースキャナに対して出力する。
【0100】
図1の点群データ処理装置100は、操作入力部110、操作入力受け付け部111を備えている。操作入力部110は、ユーザによる点群データ処理装置100に対する操作が行われる入力装置であり、例えば、GUIを利用した操作インターフェースである。操作入力受け付け部111は、ユーザより操作された内容を解釈し、各種の制御信号に変換する。
【0101】
以下、操作入力部110を利用しての操作の内容を説明する。この例において、ユーザは、画像表示装置109を見ながら、希望する部分(例えば、輪郭線が不鮮明な部分)を選択することができる。この操作は、GUIを用いて行うことができる。この際、選択した領域の色や濃淡を変化させ、強調表示とし、視覚的に把握し易い表示制御が行われる。
【0102】
(D)その他の構成
点群データ処理装置100は、画像表示制御部108と画像表示装置109を備えている。画像表示制御部108は、表示された画像の移動や回転、表示画面の切り替え、拡大縮小表示、スクロール、その他公知のGUIに係る画像表示装置109における画面表示の制御を行う。画像表示装置109としては、例えば液晶ディスプレイ等が挙げられる。エッジ統合部105で得られた線図のデータは、画像表示制御部108に送られ、画像表示制御部108は、この線図のデータに基づく図面表示(線図の表示)を画像表示装置109上で行う。
【0103】
(動作例)
以上説明した構成の動作の一例を説明する。図9には、点群データ処理装置100で行われる動作の一例が示されている。ここでは、点群データ処理装置100に点群データの取得を行うための三次元レーザースキャナが接続されている構成を前提とする。処理が開始されると(ステップS301)、まず粗点群データの取得が三次元レーザースキャナに対して指示され、粗点群データの取得が行われる(ステップS302)。粗点群データは、相対的に測定点の密度が小さい設定(スキャン密度が小さい設定)とされたスキャン条件で得られるデータであり、面の抽出には充分であるが、輪郭線の算出には、やや不十分である密度で点群データを得る設定である。粗点群データの点の密度(スキャン密度)は、実験的に求めた値を利用する。
【0104】
粗点群データを得たら、図2に示す処理を行いエッジの抽出を行う(ステップS303)。この処理により、輪郭線と二次元エッジにより構成される線図のデータを得る。次いで、点群データ再取得要求処理部106の機能により、点群データを再取得する領域を決定する(ステップS304)。この決定は、上述した点群データ再取得要求処理部106で行われる処理の一または複数を利用して行われる。なお、点群データを再取得する領域がない場合は、ステップS307に進む。点群データを再取得する領域がない場合としては、粗点群データで充分な精度が得られた場合が挙げられる。次に、点群データを再取得する領域に対して再度の点群データを得る処理(再スキャン)を行い、再度点群データを取得する(ステップS305)。この際、ステップS302の場合よりも相対的に点群データの密度(測定点の密度=スキャン密度)を高くした条件で再度点群データを取得する。
【0105】
次いで、再度得た点群データに基づき、図2の処理を再度行い、再度エッジを抽出する処理を行う(ステップS306)。その後、抽出したエッジの画像(輪郭線と二次元エッジを統合した線図の画像)を画像表示装置109に表示する(ステップS307)。ここで、ユーザが表示された画面を見て、再度点群データの取得を要求する部分がある場合、その旨が図1の操作入力装置110から操作入力される。この場合、ステップS308の判定が再取得領域ありとなり、ステップS304の前段階に戻る。この際、ユーザにより指定された測定対象物の領域を再取得領域として決定し(ステップS304)、ステップS305以下の処理を再度実行する。ステップS308において、ユーザによる再度の点群データ取得の指示がない場合、処理を終了する(ステップS309)。
【0106】
2.第2の実施形態
以下、三次元レーザースキャナを備えた点群データ処理装置について説明する。この例において、点群データ処理装置は、測定対象物に対して測距光(レーザー光)を走査しつつ照射し、レーザー光の飛行時間に基づいて自身の位置から測定対象物上の多数の測定点までの距離を測距する。また、点群データ処理装置は、レーザー光の照射方向(水平角および高低角)を検出し、距離および照射方向に基づいて測定点の三次元座標を演算する。また、点群データ処理装置は、測定対象物を撮像した二次元画像(各測定点におけるRGB強度)を取得し、二次元画像と三次元座標とを結び付けた点群データを形成する。さらに、点群データ処理装置は、形成した点群データから輪郭線により構成された対象物の三次元輪郭線を示す線図を形成する。さらに、点群データ処理装置は、第1の実施形態で説明した点群データの再取得機能を有する。
【0107】
(構成)
図10および図11は、点群データ処理装置1の構成を示す断面図である。点群データ処理装置1は、整準部22、回転機構部23、本体部27、および回転照射部28を備えている。本体部27は、測距部24、撮像部25、制御部26等から構成されている。なお、図11は、説明の便宜のため、図10に示す断面方向に対して、回転照射部28のみ側方から見た状態を示している。
【0108】
整準部22は、台盤29を有し、回転機構部23は下部ケーシング30を有する。下部ケーシング30は、ピン31と2個の調整ネジ32とにより3点で台盤29に支持されている。下部ケーシング30は、ピン31の先端を支点にして傾動する。なお、台盤29と下部ケーシング30との間には、台盤29と下部ケーシング30とが互いに離反しないようにするため、引っ張りスプリング33が設けられている。
【0109】
下部ケーシング30の内部には、2個の整準モータ34が設けられている。2個の整準モータ34は、制御部26によって互いに独立して駆動される。整準モータ34の駆動により整準駆動ギア35、整準従動ギア36を介して調整ネジ32が回転し、調整ネジ32の下方への突出量が調整される。また、下部ケーシング30の内部には傾斜センサ37(図12参照)が設けられている。2個の整準モータ34は、傾斜センサ37の検出信号により駆動され、これにより整準が実行される。
【0110】
回転機構部23は、下部ケーシング30の内部に水平角用駆動モータ38を有する。水平角用駆動モータ38の出力軸には水平回動駆動ギア39が嵌着されている。水平回動駆動ギア39は、水平回動ギア40に噛合されている。水平回動ギア40は、回転軸部41に設けられている。回転軸部41は、回転基盤42の中央部に設けられている。回転基盤42は、下部ケーシング30の上部に、軸受け部材43を介して設けられている。
【0111】
また、回転軸部41には水平角検出器44として、例えばエンコーダが設けられている。水平角検出器44は、下部ケーシング30に対する回転軸部41の相対的回転角(水平角)を検出する。水平角は制御部26に入力され、制御部26は、その検出結果に基づき水平角用駆動モータ38を制御する。
【0112】
本体部27は、本体部ケーシング45を有する。本体部ケーシング45は、回転基盤42に固着されている。本体部ケーシング45の内部には鏡筒46が設けられている。鏡筒46は、本体部ケーシング45の回転中心と同心の回転中心を有する。鏡筒46の回転中心は、光軸47に合致されている。鏡筒46の内部には、光束分離手段としてのビームスプリッタ48が設けられている。ビームスプリッタ48は、可視光を透過し、かつ、赤外光を反射する機能を有する。光軸47は、ビームスプリッタ48によって光軸49と光軸50とに分離される。
【0113】
測距部24は、鏡筒46の外周部に設けられている。測距部24は、発光部としてのパルスレーザ光源51を有する。パルスレーザ光源51とビームスプリッタ48との間には、穴あきミラー52、レーザー光のビームウエスト径を変更するビームウエスト変更光学系53が配設されている。測距光源部は、パルスレーザ光源51、ビームウエスト変更光学系53、穴あきミラー52で構成されている。穴あきミラー52は、パルスレーザ光を穴部52aからビームスプリッタ48に導き、測定対象物から反射して戻って来た反射レーザー光を測距受光部54に向けて反射する役割を有する。
【0114】
パルスレーザ光源51は、制御部26の制御により所定のタイミングで赤外パルスレーザ光を発する。赤外パルスレーザ光は、ビームスプリッタ48によって高低角用回動ミラー55に向けて反射される。高低角用回動ミラー55は、赤外パルスレーザ光を測定対象物に向けて反射する。高低角用回動ミラー55は、高低角方向に回転することで、鉛直方向に延びる光軸47を高低角方向の投光光軸56に変換する。ビームスプリッタ48と高低角用回動ミラー55との間でかつ鏡筒46の内部には集光レンズ57が配設されている。
【0115】
測定対象物からの反射レーザー光は、高低角回動用ミラー55、集光レンズ57、ビームスプリッタ48、穴あきミラー52を経て測距受光部54に導かれる。また、測距受光部54には、内部参照光路を通って参照光も導かれる。反射レーザー光が測距受光部54で受光されるまでの時間と、レーザー光が内部参照光路を通って測距受光部54で受光されるまでの時間との差に基づき、点群データ処理装置1から測定対象物(測定対象点)までの距離が測定される。
【0116】
撮像部25は、画像受光部58を有する。画像受光部58は、鏡筒46の底部に設けられている。画像受光部58は、多数の画素が平面状に集合して配列されたもの、例えば、CCD(Charge Coupled Device)で構成されている。画像受光部58の各画素の位置は光軸50によって特定される。例えば、光軸50を原点として、X−Y座標を想定し、このX−Y座標の点として画素が定義される。
【0117】
回転照射部28は、投光ケーシング59の内部に収納されている。投光ケーシング59の周壁の一部は、投光窓となっている。図11に示すように、鏡筒46のフランジ部60には、一対のミラーホルダー板61が対向して設けられている。ミラーホルダー板61には、回動軸62が掛け渡されている。高低角用回動ミラー55は、回動軸62に固定されている。回動軸62の一端部には高低角ギア63が嵌着されている。回動軸62の他端側には高低角検出器64が設けられている。高低角検出器64は、高低角用回動ミラー55の回動角を検出し、その検出結果を制御部26に出力する。
【0118】
ミラーホルダー板61の一方には、高低角用駆動モータ65が取り付けられている。高低角用駆動モータ65の出力軸には駆動ギア66が嵌着されている。駆動ギア66は、回転軸62に取り付けられた高低角ギア63に噛合されている。高低角用駆動モータ65は、高低角検出器64の検出結果に基づき、制御部26の制御により適宜駆動される。
【0119】
投光ケーシング59の上部には、照星照門67が設けられている。照星照門67は、測定対象物を概略視準するのに用いられる。照星照門67を用いた視準方向は、投光光軸56の延びる方向、および回動軸62の延びる方向に対して直交する方向とされている。
【0120】
図12は、制御部のブロック図である。制御部26には、水平角検出器44、高低角検出器64、傾斜センサ37からの検出信号が入力される。また、制御部26は、操作部6から操作指示信号が入力される。制御部26は、水平角用駆動モータ38、高低角用駆動モータ65、整準モータ34を駆動制御する共に、作業状況、測定結果等を表示する表示部7を制御する。制御部26には、メモリカード、HDD等の外部記憶装置68が着脱可能とされている。
【0121】
制御部26は、演算部4、記憶部5、水平駆動部69、高低駆動部70、整準駆動部71、距離データ処理部72、画像データ処理部73等から構成されている。記憶部5は、測距や高低角と水平角の検出を行うために必要なシーケンスプログラム、演算プログラム、測定データの処理を実行する測定データ処理プログラム、画像処理を行う画像処理プログラム、点群データから面を抽出し、更に輪郭線を算出するプログラム、この算出した輪郭線を表示部7に表示させるための画像表示プログラム、点群データの再取得に係る動作を制御するプログラム等の各種のプログラムを格納すると共に、これらの各種のプログラムを統合管理するための統合管理プログラム等を格納する。また、記憶部5は、測定データ、画像データ等の各種のデータを格納する。水平駆動部69は、水平角用駆動モータ38を駆動制御し、高低駆動部70は、高低角用駆動モータ65を駆動制御し、整準駆動部71は、整準モータ34を駆動制御する。距離データ処理部72は、測距部24によって得られた距離データを処理し、画像データ処理部73は、撮像部25により得られた画像データを処理する。
【0122】
図13は、演算部4のブロック図である。演算部4は、三次元座標演算部74、リンク形成部75、グリッド形成部9、点群データ処理部100’を備えている。三次元座標演算部74には、距離データ処理部72から測定対象点の距離データが入力され、水平角検出器44および高低角検出器64から測定対象点の方向データ(水平角および高低角)が入力される。三次元座標演算部74は、入力された距離データと方向データとに基づき、点群データ処理装置1の位置を原点(0,0,0)とした各測定点の三次元座標(直交座標)を算出する。
【0123】
リンク形成部75には、画像データ処理部73から画像データおよび三次元座標演算部74が算出した各測定点の三次元座標の座標データが入力される。リンク形成部75は、画像データ(各測定点のRGB強度)と三次元座標を結び付けた点群データ2を形成する。つまり、リンク形成部75は、測定対象物のある点に着目した場合、その着目点の二次元画像中における位置と、その着目点の三次元座標とを関連付けしたものを作成する。この関連付けされたデータは、全ての測定点について算出され、それらが点群データ2となる。
【0124】
点群データ処理装置1は、異なる方向から測定した測定対象物の点群データ2を取得可能である。このため、一つの測定方向を1ブロックとすると、点群データ2は、複数ブロックの二次元画像と三次元座標で構成することができる。
【0125】
また、リンク形成部75は、以上の点群データ2をグリッド形成部9に出力する。グリッド形成部9は、点群データ2の隣接点の点間距離が一定でない場合に、等間隔のグリッド(メッシュ)を形成し、グリッドの交点に最も近い点を登録する。または、グリッド形成部9は、線形補間法やバイキュービック法を用いて、グリッドの交点位置に全点を補正する。なお、点群データ2の点間距離が一定である場合には、グリッド形成部9の処理を省略することができる。
【0126】
以下、グリッドの形成手順について説明する。図14は、点間距離が一定でない点群データを示す図であり、図15は、形成したグリッドを示す図である。図14に示すように、各列の平均水平間隔H1〜Nを求め、さらに列間の平均水平間隔の差分ΔHi,jを算出し、その平均をグリッドの水平間隔ΔHとする(数2)。垂直方向の間隔は、各列での垂直方向の隣接点との距離ΔVN,Hを算出し、画像サイズW,Hの画像全体におけるΔVN,Hの平均を垂直間隔ΔVとする(数3)。そして、図15に示すように、算出した水平間隔ΔHおよび垂直間隔ΔVのグリッドを形成する。
【0127】
【数2】
【0128】
【数3】
【0129】
次に、形成したグリッドの交点に最も近い点を登録する。この際、交点から各点までの距離には所定の閾値を設けて、登録を制限する。例えば、閾値は、水平間隔ΔHおよび垂直間隔ΔVの1/2とする。なお、線形補間法やバイキュービック法のように、交点との距離に応じた重みを付けて全点を補正してもよい。ただし、補間を行った場合には、本来計測していない点となる。
【0130】
以上のようにして得られた点群データは、点群データ処理部100’に出力される。点群データ処理部100’は、第1の実施形態で説明した動作を行い、その結果得られた画像が液晶ディスプレイである表示部7に表示される。この点は、第1の実施形態に関係して説明した場合と同じである。
【0131】
点群データ処理部100’は、図1の点群データ処理装置100において、画像表示装置109と操作入力部110を省いた構成を有する。この場合、FPGAを利用した専用の集積回路によりハードウェア的に点群データ処理部100’が構成されている。点群データ処理部100’は、点群データ処理装置100と同様にして点群データに対する処理を行う。
【0132】
(その他)
制御部26の構成において、グリッド形成部9から点群データが出力される形態とすると、第1の実施形態の点群データ処理装置と組み合わせて使用可能な三次元レーザースキャナとなる。また、グリッド形成部9から点群データが出力される形態とした三次元スキャナと、この三次元スキャナの出力を受け付け、実施形態1において説明した動作を行う図1の点群データ処理装置1とを組み合わせたシステムとすることで、本発明を利用した点群データ処理システムが得られる。
【0133】
3.第3の実施形態
以下、ステレオカメラを備えた画像計測装置を備えた点群データ処理装置について説明する。第1および第2の実施形態と同様の構成については、同じ符号を用いて、その説明を省略する。
【0134】
(点群データ処理装置の構成)
図16には、点群データ処理装置200が示されている。点群データ処理装置200は、ステレオカメラを備えた画像計測機能と、本発明を利用した点群データ処理機能を統合した構成を有している。点群データ処理装置200は、異なる方向から重複した撮影領域で測定対象物を撮影し、重複画像内の特徴点を対応づけ、予め求めた撮影部の位置および姿勢と重複画像内における特徴点の位置とに基づいて、特徴点の三次元座標を演算する。また、点群データ処理装置200は、重複画像における特徴点の視差、計測空間、および基準形態に基づいて、二次元画像と三次元座標が結び付けられている点群データを形成する。さらに、点群データ処理装置200は、得られた点群データに基づいて、面ラベリング処理および輪郭線データの算出を行う。また、点群データ処理装置200は、第1の実施形態で説明した点群データの再取得およびそれに基づく再演算を行う機能を有する。
【0135】
図16は、点群データ処理装置200の構成を示すブロック図である。点群データ処理装置200は、ステレオ画像を得るための撮影部76、77、特徴投影部78、画像データ処理部73、演算部4、記憶部5、操作部6、表示部7、データ出力部8を備えている。撮影部76、77には、デジタルカメラ、ビデオカメラ、工業計測用のCCDカメラ(Charge Coupled Device Camera)、CMOSカメラ(Complementary Metal Oxide Semiconductor Camera)等を用いる。撮影部76、77は、異なる撮影位置から重複した撮影領域で測定対象物を撮影するステレオカメラとして機能する。なお、撮像部の数は2台に限定されず、3台以上であってもよい。
【0136】
特徴投影部78には、プロジェクター、レーザー装置等を用いる。特徴投影部78は、測定対象物に対してランダムドットパターン、点状のスポット光、線状のスリット光などのパターンを投影する。これにより、測定対象物の特徴が乏しい部分に特徴を持たせ、画像処理を容易とする。特徴投影部78は、主に模様のない中〜小型の人工物の精密な計測の場合に使用する。通常屋外にある比較的大きい測定対象物の計測や、精密計測が不要な場合、あるいは、測定対象物に特徴がある場合、模様を塗布できる場合には、特徴投影部78を省略できる。
【0137】
画像データ処理部73は、撮像部76、77が撮影した重複画像を演算部4で処理できる画像データに変換する。記憶部5は、撮影位置および姿勢を測定するプログラム、重複画像内から特徴点を抽出して対応づけるプログラム、撮影位置および姿勢と重複画像内の特徴点の位置とに基づいて三次元座標を演算するプログラム、誤対応点を判定して点群データを形成するプログラム、点群データから面を抽出し、更に輪郭線を算出するプログラム、この算出した輪郭線を表示部7に表示させるための画像表示プログラム、点群データの再取得に係る動作を制御するプログラム等の各種のプログラムを格納すると共に、これらの各種のプログラムを統合管理するための統合管理プログラム等を格納する。また、記憶部5には、点群データや画像データ等の各種データが記憶される。
【0138】
操作部6は、ユーザにより操作され、演算部4に操作指示信号を出力する。表示部7は、演算部4の処理データを表示し、データ出力部8は、演算部4の処理データを外部に出力する。演算部4には、画像データ処理部73から画像データが入力される。演算部4は、固定された2台以上のカメラを使用する場合、校正用被写体79の撮影画像に基づいて撮像部76、77の位置および姿勢を測定し、測定対象物の重複画像内から特徴点を抽出して対応付ける。演算部4は、撮像部76、77の位置および姿勢を計算し、そして重複画像内の特徴点の位置に基づいて、測定対象物の三次元座標を演算し、点群データ2を形成する。さらに、演算部4は、点群データ2から面を抽出し、測定対象物の輪郭線を算出する。
【0139】
図17は、演算部4のブロック図である。演算部4は、点群データ処理部100’、撮影位置姿勢測定部81、特徴点対応付部82、背景除去部83、特徴点抽出部84、対応点探索部85、三次元座標演算部86、誤対応点判定部87、視差判定部88、空間判定部89、形態判定部90を備えている。
【0140】
点群データ処理部100’は、図1の点群データ処理装置100において、画像表示装置109と操作入力部110を省いた構成を有する。ここでは、FPGAを利用した専用の集積回路によりハードウェア的に点群データ処理部100’が構成されている。点群データ処理部100’は、点群データ処理装置100と同様にして点群データに対する処理を行う。
【0141】
撮影位置姿勢測定部81には、撮像部76、77が撮影した重複画像の画像データが画像データ処理部73から入力される。図16に示すように、校正用被写体79には、ターゲット80(レトロターゲット、またはコードターゲット、またはカラーコードターゲット)が所定間隔で貼られており、撮影位置姿勢測定部81は、校正用被写体79の撮影画像からターゲット80の画像座標を検出し、公知の相互標定法、または単写真標定法もしくはDLT(Direct Linear Transformation)法、あるいはバンドル調整法を用いて、撮影部76、77の位置および姿勢を測定する。なお、相互標定法、単写真標定法もしくはDLT法、バンドル調整法は、単独でも用いても組み合わせて用いてもよい。
【0142】
特徴点対応付部82は、測定対象物の重複画像を画像データ処理部73から入力し、重複画像から測定対象物の特徴点を抽出して対応付ける。特徴点対応付部82は、背景除去部83、特徴点抽出部84、対応点探索部85で構成されている。背景除去部83は、測定対象物が写された撮影画像から測定対象物が写されていない背景画像を差分することや、測定したい箇所をオペレータが操作部6により指定すること、あるいは測定箇所を自動抽出(あらかじめ登録されたモデルの利用や特徴が豊富な箇所を自動的に検出)することで、測定対象物のみが写された背景除去画像を生成する。なお、背景を除去する必要がない場合には、背景除去部83の処理を省略することができる。
【0143】
特徴点抽出部84は、背景除去画像から特徴点を抽出する。特徴点の抽出には、ソーベル、ラプラシアン、プリューウィット、ロバーツなどの微分フィルタを用いる。対応点探索部85は、一方の画像で抽出された特徴点に対応する対応点を他方の画像内で探索する。対応点の探索には、残差逐次検定法(Sequential Similarity Detection Algorithm Method:SSDA)、正規化相関法、方向符号照合法(Orientation Code Matching:OCM)などのテンプレートマッチングを用いる。
【0144】
三次元座標演算部86は、撮影位置姿勢測定部81で測定された撮像部76、77の位置および姿勢と、特徴点対応付部82で対応付けた特徴点の画像座標に基づいて、各特徴点の三次元座標を演算する。誤対応点判定部87は、視差、計測空間、および基準形態の少なくとも一つに基づいて、誤対応点を判定する。誤対応点判定部87は、視差判定部88、空間判定部89、形態判定部90で構成されている。
【0145】
視差判定部88は、重複画像で対応する特徴点の視差のヒストグラムを作成し、視差の平均値から所定範囲内にない視差を持つ特徴点を誤対応点として判定する。例えば、平均値±1.5σ(標準偏差)を閾値とする。空間判定部89は、校正用被写体70の重心位置から所定距離の空間を計測空間として定義し、三次元座標演算部86で演算された特徴点の三次元座標がその計測空間からはみ出していた場合に、その特徴点を誤対応点として判定する。形態判定部90は、三次元座標演算部86で演算された特徴点の三次元座標から、測定対象物の基準形態(粗面)を形成または入力し、基準形態と特徴点の三次元座標との距離に基づいて誤対応点を判定する。例えば、特徴点に基づいて、所定長さ以上の辺を有するTIN(Triangulated Irregular Network)を形成し、辺の長いTINを削除することで、粗面を形成する。次に、粗面と特徴点との距離に基づいて誤対応点を判定する。
【0146】
誤対応点判定部87は、判定された誤対応点を除いた点群データ2を形成する。点群データ2は、二次元画像と三次元座標とを結び付けたダイレクトリンク構造を有している。点群データ2の隣接点の点間距離が一定でない場合には、第2の実施形態で説明したように、演算部4は、誤対応点判定部87と点群データ処理装置100’との間に、グリッド形成部9を備える必要がある。この場合、グリッド形成部9は、等間隔のグリッド(メッシュ)を形成し、グリッドの交点に最も近い点を登録する。その後、第1の実施形態で説明したように、点群データ2から面が抽出され、更に測定対象物の輪郭線の算出が行われる。また、再度点群データの取得な必要な領域における点群データの取得が行われる。
【0147】
本実施形態における点群データの再取得には、2つの方法がある。その第1は、撮影部76、77により、再度の撮影を行い、指定された領域の点群データの再取得を行う場合である。これは、通過する車両が移ってしまい点群データにノイズが混じってしまった場合や天候により正確に点群データが得られなかった場合等に利用される。その第2は、撮影画像のデータは、前回と同じものを用い、特徴点の密度をより高くした演算を行い、再度点群データを得る場合である。第2の実施形態の三次元レーザースキャナの場合と異なり、撮影部76、77が撮影した画像の密度(精細さ)は、利用するカメラの性能に依存するので、同じ条件であれば、再度撮影を行ってもより高密度な画像が得られるわけではない。この場合、指定された領域において、特徴点の密度を大きくした演算を再度行うことで、より高密度な点群データを得る方法が有効となる。
【0148】
第3の実施形態によれば、画像計測装置によって二次元画像と三次元座標から成る点群データを取得することができる。また、誤対応点判定部87から点群データが出力される形態とした画像計測装置と、この画像形成装置の出力を受け付け、実施形態1において説明した動作を行う図1の点群データ処理装置1とを組み合わせたシステムとすることで、本発明を利用した点群データ処理システムが得られる。
【産業上の利用可能性】
【0149】
本発明は、三次元情報の測定を行う技術に利用することができる。
【符号の説明】
【0150】
1、100、200…点群データ処理装置、120…立方体、121…拡大部分、122…輪郭線、123…平面、123a…平面121の外縁、124…平面、124b…平面124の外縁、125…非面領域、131…平面、131a…平面131の外縁、132…平面、132a…平面132の外縁、133…非面領域、134…交線、135…局所平面、136…局所平面、137…局所平面、138…輪郭線、150…輪郭線、1…点群データ処理装置、2…点群データ、22…整準部、23…回転機構部、24…測距部、25…撮像部、26…制御部、27…本体部、28…回転照射部、29…台盤、30…下部ケーシング、31…ピン、32…調整ネジ、33…引っ張りスプリング、34…整準モータ、35…整準駆動ギア、36…整準従動ギア、37…傾斜センサ、38…水平回動モータ、39…水平回動駆動ギア、40…水平回動ギア、41…回転軸部、42…回転基盤、43…軸受部材、44…水平角検出器、45…本体部ケーシング、46…鏡筒、47…光軸、48…ビームスプリッタ、49、50…光軸、51…パルスレーザ光源、52…穴あきミラー、53…ビームウエスト変更光学系、54…測距受光部、55…高低角用回動ミラー、56…投光光軸、57…集光レンズ、58…画像受光部、59…投光ケーシング、60…フランジ部、61…ミラーホルダー板、62…回動軸、63…高低角ギア、64…高低角検出器、65…高低角用駆動モータ、66…駆動ギア、67…照星照門、68…外部記憶装置、69…水平駆動部、76、77…撮影部、78…特徴投影部、79…校正用被写体、80…ターゲット。
【技術分野】
【0001】
本発明は、点群データ処理技術に係り、特に測定対象物の点群データからその特徴を抽出し、三次元形状を自動的かつ短時間に生成する点群データ処理技術に関する。
【背景技術】
【0002】
測定対象物の点群データから三次元形状を生成する方法として、隣接点を結んでポリゴンを形成していく方法がある。しかしながら、点群データの数万〜数千万の点に対してポリゴンを形成するには、膨大な処理時間が掛かり、使い勝手が悪いものとなってしまう。このため、点群データから三次元の特徴(エッジや面)のみを抽出して、三次元ポリラインを自動的に生成する技術が開示されている(例えば、特許文献1〜3)。
【0003】
特許文献1に記載の発明では、走査レーザー装置が三次元対象を走査して、ポイントクラウドを生成する。ポイントクラウドは、走査点に関する深さと法線の変化に基づいて、エッジポイントと非エッジポイントのグループに分割される。各グループを幾何学的原図にフィットさせ、フィットした幾何学的原図を拡張、交差させることで、三次元形状を生成する。
【0004】
特許文献2に記載の発明では、点群データからセグメント(三角ポリゴン)を形成し、隣接するポリゴン同士の連続性、法線方向、または距離に基づき、エッジおよび面を抽出する。また、各セグメントの点群データの平面性または曲面性を、最小二乗法を用いて、平面方程式または曲面方程式に置き換え、グループ分けを行い、三次元形状を生成する。
【0005】
特許文献3に記載の発明では、三次元点群データに対して二次元矩形領域を設定し、その矩形領域に対応する測定点の合成法線ベクトルを求める。合成法線ベクトルがZ軸方向と一致するように、矩形領域内の全ての計測点を回転移動する。矩形領域内の各計測点についてZ値の標準偏差σを求め、標準偏差σが所定値を超えた場合、矩形領域の中心点と対応する計測点をノイズとして取り扱う。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特表2000−509150号公報
【特許文献2】特開2004−272459号公報
【特許文献3】特開2005−024370号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
レーザー機器やステレオ撮像装置等から得られた対象物の三次元情報の利用用途の一つは、対象物の特徴を抽出して三次元CADのデータを得る点にある。ここで重要なのは、自動的かつ短い演算時間で所望のデータが得られることである。このような背景において、本発明は、測定対象物の点群データからその特徴を抽出し、対象物の輪郭に係るデータを自動的かつ短時間に生成する技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
請求項1に記載の発明は、測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去部と、前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出部と、前記非面領域除去部、前記面ラベリング部および前記輪郭線算出部の少なくとも一つの処理の結果に基づいて前記点群データの再取得を要求する処理を行う点群データ再取得要求処理部とを備え、前記輪郭線算出部は、前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得部と、前記局所領域にフィッティングし前記第1の面および前記第2の面と異なる面の方向を有する局所面、または前記局所領域にフィッティングし前記第1の面および前記第2の面と平行でない局所線の取得を行う局所空間取得部とを備え、前記局所面または前記局所線に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理装置である。
【0009】
点群データでは、二次元画像と三次元座標とが結び付けられている。すなわち、点群データでは、測定対象物の二次元画像のデータと、この二次元画像に対応付けされた複数の測定点と、この複数の測定点の三次元空間中の位置(三次元座標)とが関連付けされている。点群データによれば、点の集合により測定対象物の外形を再現することができる。また、各点の三次元座標が判るので、各点の相対位置関係が把握でき、画面表示した対象物の画像を回転させたり、異なる視点から見た画像に切り替えたりする処理が可能となる。
【0010】
請求項1において、ラベルとは面を特定する(あるいは他の面と区別する)識別子である。面は、演算の対象として選択するのに適切な面のことであり、平面、曲率の大きい曲面、曲率が大きくその位置による変化が小さい曲面が含まれる。本発明では、演算により数学的に把握(データ化)する際の演算量が許容される量であるか否かによって、面と非面とが区別される。非面には、角、エッジ部分、その他曲率の小さい部分や曲率の場所による変化が激しい部分が含まれる。これらの部分は、演算による数学的な把握(データ化)に際して、多量の演算が必要であり、演算装置への高負担や演算時間の増大を招く。本発明は、演算時間の短縮が課題の一つであるので、このような演算装置への高負担や演算時間の増大を招く面を非面として除去し、極力演算の対象としないようにする。
【0011】
請求項1において、第1の面と第2の面は、間に非面領域を挟んだ位置関係にあるものが対象となる。一般に、非面領域を除去した場合に、この非面領域を間に挟む位置にある2つの面は隣接する第1の面と第2の面となる。
【0012】
輪郭線というのは、測定対象物の外観を視覚的に把握するために必要な、当該測定対象物の外形を形作っている線(outline)のことである。具体的には、折れ曲がった部分や急激に曲率が小さくなっている部分が輪郭線となる。輪郭線は、外側の輪郭の部分のみが対象となるとは限らず、凸状に飛び出している部分を特徴付ける縁の部分や、凹状に引っ込んでいる部分(例えば、溝構造の部分)を特徴づける縁の部分も対象となる。輪郭線により所謂線図が得られ、対象物の外観が把握し易い画像表示を行うことができる。実際の輪郭線は、面と面の境やエッジの部分に存在するが、本発明では、これらの部分は、非面領域として点群データから除去するので、下記に説明するように輪郭線を演算により予想する。
【0013】
請求項1に記載の発明では、対象物の角や縁の部分に相当する領域を非面領域として除去し、データとしてまとめて扱いやすい面の集まりにより対象物の電子的な把握を行う。この原理によれば、対象物の外観は、複数の面の集合として把握される。このため、扱うデータ量が節約され、対象物の3次元データを得るのに必要な演算量が節約される。そして、点群データの処理時間が短縮化され、測定対象物の三次元画像の表示やそれに基づく各種の演算の処理時間が短縮化される。
【0014】
ところで、三次元CADデータとしては、対象物の形状を視覚的に把握する必要から、対象物の3次元的な輪郭線の情報(線図データ)が必要とされる。しかしながら、対象物の輪郭情報は、面と面との間に存在するので、上述した非面領域に含まれている。そこで、請求項1に記載の発明では、まず少ない演算量で済む面の集まりとして対象物を把握し、次に隣接する面と面との間に輪郭線があるものとして輪郭線を推定する。
【0015】
対象物の輪郭線の部分は、エッジ等の曲率が鋭く変化している部分を含む場合があるので、得られた点群データから直接演算を行い、輪郭線のデータを得ることは、演算量の増大を招くので効率的ではない。請求項1に記載の発明では、輪郭線付近の点群データは非面領域として除去し、計算し易い面の点群データに基づきまず面を抽出する。しかる後に得られた面に連続し、先に除去された非面領域の点群データに基づく局所領域を取得し、この局所領域にフィッティングする局所面(一次元の局所空間)または局所線(二次元の局所空間)を取得する。
【0016】
ここで局所面は、5点×5点というような局所的な領域(局所領域)にフィッティングさせた局所的な面である。局所面は、平面(局所平面)を選択すると演算がより簡単になるが、曲面(局所曲面)であっても構わない。また、局所線は、局所領域にフィッティングさせた曲線的な線分である。局所線も直線(局所直線)を利用すると演算がより簡単になるが、曲線(局所曲線)であっても構わない。
【0017】
上記の局所面を考えた場合、この局所面は、第1の面よりは、非面領域の形状にフィッティングした局所的な面となる。この局所面は、第1の面と第2の面との間の非面領域の状態を完全ではないが反映した面であるので、第1の面および第2の面とは面の方向(法線方向)が異なっている。
【0018】
上述したようにこの局所面は、第1の面と第2の面との間の非面領域の状態を反映した面であるので、この局所面に基づいて輪郭線を算出することで、近似精度の高い輪郭線を得ることができる。またこの手法によれば、局所面で非面領域を近似するので、演算量を抑えることができる。この点は、局所線を利用する場合も同様である。
【0019】
請求項1に記載の発明において、局所領域は第1の面に隣接していてもよいし、第1の面から離れた位置にあってもよい。この場合、局所領域が第1の面から離れた位置にある場合、当該局所領域と第1の面との間は、1または複数の局所領域によって接続される。ここで、第1の面とそこに隣接する局所領域で点が共有され(例えば縁の部分が共有され)、次にこの局所領域とその隣の局所領域で点が共有され、という関係が確保されば、領域の連続性は確保される。
【0020】
請求項1に記載の発明において、面と非面の区別は、面として扱うのに適しているか否かを判定する指標となるパラメータに基づいて行われる。このパラメータとしては、(1)局所曲率、(2)局所平面のフィッティング精度、(3)共平面性が挙げられる。
【0021】
局所曲率は、注目点とその周囲の点との法線ベクトルのバラツキを示すパラメータである。例えば、注目点とその周囲の点とが同一平面上にある場合、各点の法線ベクトルのバラツキはないので、局所曲率は最小となる。
【0022】
局所平面というのは、局所的な領域を平面で近似したものである。局所平面のフィッティング精度というのは、算出された局所平面とこの局所平面の基となった局所領域とが一致する精度である。局所領域は、例えば、一辺が3〜9画素程度の正方領域(矩形の領域)のことである。そしてこの局所領域を扱いやすい局所的な平面(局所平面)で近似したものを局所平面とし、各点における局所平面と当該局所領域との距離の平均値を求める。この値により局所平面の局所領域へのフィッティング精度が判定される。例えば、局所領域が平面であれば、局所領域と局所平面とは一致し、局所平面のフィッティング精度が最も高い(良い)状態となる。
【0023】
共平面性は、隣接または近接する2つの面の方向の違いを示すパラメータである。例えば、隣接する平面が90度で交差する場合、この隣接する平面の法線ベクトルは直交する。そして2つの平面のなす角度が小さくなる程、2つの平面の法線ベクトルのなす角度は小さくなる。この性質を利用して、隣接する2つの面が同一面にあるのか、そして同一面にないのであれば、その違いはどの程度なのか、が判定される。この程度が共平面性である。具体的には、対象となる2つの局所領域のそれぞれにフィッティングする2つの局所平面の法線ベクトルと、その中心点間を結ぶベクトルとの内積が0であれば、両局所平面が同一平面上に存在すると判定される。また、上記内積が大きくなる程、2つの局所平面が同一面上にない程度がより顕著であると判定される。
【0024】
上述した(1)局所曲率、(2)局所平面のフィッティング精度、(3)共平面性を判定する各パラメータには、閾値が設定され、その閾値によって面と非面の区別の判定が行われる。一般に、面の向きが変わることで発生する鋭い三次元エッジや、曲率の大きい曲面によって発生する滑らかな三次元エッジのような非面領域は、(1)の局所曲率によって判定される。オクルージョン(手前の物体に遮られて奥の物体が見えなくなっている状態)によって発生する三次元エッジのような非面領域は、点の位置が急峻に変化するため、(2)の局所平面のフィッティング精度により主に判定される。面の向きが変わることで発生する鋭い三次元エッジのような非面領域は、(3)の共平面性により主に判定される。
【0025】
面と非面とを区別する判定は、上記3種類の判定基準の1または複数を用いて可能である。例えば、上記3種類の判定をそれぞれ実行し、その中の1以上で非面との判定が下された場合に、対象領域を非面領域と判定する場合が挙げられる。
【0026】
ところで、上述した面としてラベリングした部分をまず求め、その後に非面領域に局所領域を設定して輪郭線を算出する方法では、点群データの精度が必要とされるレベルになく、そのため精度の高い輪郭線の算出が行えず(つまり誤差が多く)、ディスプレイ上に表示させた際に対象物の正確な輪郭画像が表示されない場合がある(例えば、輪郭の一部が不鮮明である等)。この点群データの精度が必要とされるレベルで得られない原因として、点群データの取得時における通過車両や通行人の影響、天候や照明の影響、点群データの密度が粗かった場合等が挙げられる。
【0027】
この問題に対応するために、本発明では、非面領域除去部、面ラベリング部および前記輪郭線算出部の少なくとも一つの処理の結果に基づき、再度点群データの取得を要求する処理を行う。これにより、再度の点群データの取得が行われ、新たな点群データに基づく再度の演算が可能となる。そして再度の演算を行うことで、上述したような精度を低下させる要因を低減あるいは排除することが可能となる。また、再度の点群データの取得において、点群データの取得密度(つまり、測定対象物における点群データを得るための測定点の密度)を前回よりも高めることで、上述したような精度を低下させる要因を低減あるいは排除することが可能となる。
【0028】
請求項2に記載の発明は、請求項1に記載の発明において、前記点群データ再取得要求処理部は、前記非面領域の点群データの取得を要求する処理を行うことを特徴とする。演算精度が問題となるのは、輪郭線の算出精度であり、それは非面領域に係る演算である。すなわち、請求項1の発明では、非面領域の点群データに基づいて局所領域を取得し、この局所領域にフィッティングする曲線面または局所線を取得し、この局所面または局所線に基づいて輪郭線を算出している。つまり、部分的ではあるが非面領域の点群データに基づく演算を行っている。したがって、輪郭線の算出精度に問題がある場合、非面領域の点群データに誤差がある(あるいは必要な精度がない)ことが疑われる。請求項2に記載の発明によれば、非面領域の点群データの再取得が要求されるので、輪郭線の算出精度を高めることができる。また、ラベリングされた面の点群データを再要求しないことで、点群データの再取得に係る処理を効率化することができる。
【0029】
請求項3に記載の発明は、請求項1または2に記載の発明において、前記同一ラベルの付与および前記輪郭線の算出の精度を判定する精度判定部を備え、前記点群データ再取得要求処理部は、前記精度判定部の判定に基づいて前記点群データの再取得を要求する処理を行うことを特徴とする。請求項3に記載の発明によれば、同一ラベルの付与や輪郭線の算出精度が自動的に判定され、それに基づいて点群データの再取得が指示される。このため、マニュアル操作を行わなくても点群データの再取得およびその後の演算による輪郭線の算出精度の向上を期待できる。
【0030】
請求項4に記載の発明は、請求項1〜3のいずれか一項に記載の発明において、前記点群データの再取得を要求する領域の指定を受け付ける受け付け部を備えることを特徴とする。請求項4に記載の発明によれば、ユーザが希望する領域の輪郭線算出精度を高めることができる。図面の目的や要求される内容によっては、精度が必要な領域とそうでない領域がある場合がある。この場合、一律に精度を求めるのは、必要でない演算に処理時間が消費されることになる。請求項4に記載の発明によれば、ユーザの操作によって点群データの再取得領域が選択され、それに基づいて点群データの再取得が指示されるので、要求される精度と処理時間の短縮を両立することができる。
【0031】
請求項5に記載の発明は、請求項1〜4のいずれか一項に記載の発明において、前記点群データの再取得を要求する処理は、その前の点群データの取得時に比較して、点の密度の高い点群データの再取得を要求する処理であることを特徴とする。請求項5に記載の発明によれば、再度の点群データの取得が要求される測定対象物の領域(被測定領域)における点群データの取得密度が、以前に点群データを取得した場合に比較して高く設定される。すなわち、単位面積当たりにおける測定点の数が、以前に点群データを取得した場合に比較して高く設定される。こうすることで、より詳細な点群データの取得が行われ、モデリングの精度を高めることができる。
【0032】
請求項6に記載の発明は、請求項1〜5のいずれか一項に記載の発明において、前記点群データは、対象物からの反射光の強度に関する情報を含み、前記反射光の強度に関する情報に基づいて、前記同一ラベルを付与された面内における模様を構成する二次元エッジを算出する二次元エッジ算出部を更に備え、前記点群データ再取得要求処理部は、前記二次元エッジ算出部の算出結果に基づいて前記点群データの再取得を要求する処理を行うことを特徴とする。
【0033】
二次元エッジというのは、ラベリングされた面の中での線として表示される部分である。例えば、模様、濃淡の変化、タイルの目地等の線状の模様、幅が狭く長手方向に延在した凸部、部材と部材のつなぎ目や境目等である。これらは、厳密にいうと測定対象物の輪郭を構成する輪郭線(Out Line)ではないが、輪郭線と同様に対象物の外観を把握する場合に役立つ線の表示である。例えば、建物の外観を把握する場合、凹凸の少ない窓枠や外壁部材の境は、二次元エッジとなる。請求項6に記載の発明によれば、二次元エッジを算出し、更にそれを再演算の対象とすることで、よりリアルが測定対象物の外観の線図データを得ることができる。
【0034】
請求項7に記載の発明は、測定対象物に対して測距光を回転照射する回転照射部と、前記測距光の飛行時間に基づいて自身の位置から測定対象物上の測定点までの距離を測距する測距部と、前記測距光の照射方向を検出する照射方向検出部と、前記距離および前記照射方向に基づいて、前記測定点の三次元座標を算出する三次元座標算出部と、前記三次元座標算出部が算出した結果に基づいて前記測定対象物の点群データを取得する点群データ取得部と、測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去部と、前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出部と、前記非面領域除去部、前記面ラベリング部および前記輪郭線算出部の少なくとも一つの処理の結果に基づいて前記点群データの再取得を要求する処理を行う点群データ再取得要求処理部とを備え、前記輪郭線算出部は、前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得部と、前記局所領域にフィッティングし前記第1の面および前記第2の面と異なる面の方向を有する局所面、または前記局所領域にフィッティングし前記第1の面および前記第2の面と平行でない局所線の取得を行う局所空間取得部とを備え、前記局所面または前記局所線に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理装置である。
【0035】
請求項8に記載の発明は、異なる方向から重複した撮影領域で測定対象物を撮影する撮影部と、前記撮影部によって得られた重複画像内の特徴点を対応づける特徴点対応付部と、前記撮影部の位置および姿勢を測定する撮影位置姿勢測定部と、前記撮影部の位置および姿勢と前記重複画像内における特徴点の位置とに基づいて特徴点の三次元座標を算出する三次元座標算出部と、前記三次元座標算出部が算出した結果に基づいて前記測定対象物の点群データを取得する点群データ取得部と、測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去部と、前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出部と、前記非面領域除去部、前記面ラベリング部および前記輪郭線算出部の少なくとも一つの処理の結果に基づいて前記点群データの再取得を要求する処理を行う点群データ再取得要求処理部とを備え、前記輪郭線算出部は、前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得部と、前記局所領域にフィッティングし前記第1の面および前記第2の面と異なる面の方向を有する局所面、または前記局所領域にフィッティングし前記第1の面および前記第2の面と平行でない局所線の取得を行う局所空間取得部とを備え、前記局所面または前記局所線に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理装置である。
【0036】
請求項9に記載の発明は、測定対象物の点群データを光学的に得る点群データ取得手段と、測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去手段と、前記非面領域除去手段によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング手段と、前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出手段と、前記非面領域除去手段、前記面ラベリング手段および前記輪郭線算出手段の少なくとも一つの処理の結果に基づいて前記点群データの再取得を要求する処理を行う点群データ再取得要求処理手段とを備え、前記輪郭線算出手段は、前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得手段と、前記局所領域にフィッティングし前記第1の面および前記第2の面と異なる面の方向を有する局所面、または前記局所領域にフィッティングし前記第1の面および前記第2の面と平行でない局所線の取得を行う局所空間取得手段とを備え、前記局所面または前記局所線に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理システムである。
【0037】
請求項10に記載の発明は、測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去ステップと、前記非面領域除去ステップによって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリングステップと、前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出ステップと、前記非面領域除去ステップ、前記面ラベリングステップおよび前記輪郭線算出ステップの少なくとも一つの処理の結果に基づいて前記点群データの再取得を要求する処理を行う点群データ再取得要求処理ステップとを備え、前記輪郭線算出ステップは、前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得ステップと、前記局所領域にフィッティングし前記第1の面および前記第2の面と異なる面の方向を有する局所面、または前記局所領域にフィッティングし前記第1の面および前記第2の面と平行でない局所線の取得を行う局所空間取得ステップとを備え、前記局所面または前記局所線に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理方法である。
【0038】
請求項11に記載の発明は、コンピュータに読み取らせて実行させるプログラムであって、コンピュータを、測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去機能と、前記非面領域除去機能によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング機能と、前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出機能と、前記非面領域除去機能、前記面ラベリング機能および前記輪郭線算出機能の少なくとも一つの処理の結果に基づいて前記点群データの再取得を要求する処理を行う点群データ再取得要求処理機能とを備え、前記輪郭線算出機能は、前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得機能と、前記局所領域にフィッティングし前記第1の面および前記第2の面と異なる面の方向を有する局所面、または前記局所領域にフィッティングし前記第1の面および前記第2の面と平行でない局所線の取得を行う局所空間取得機能とを備え、前記局所面または前記局所線に基づいて前記輪郭線の算出が行われる処理を実行させることを特徴とする点群データ処理プログラムである。
【発明の効果】
【0039】
本発明によれば、測定対象物の点群データからその特徴を抽出し、対象物の輪郭に係るデータを自動的かつ短時間に生成する技術が提供される。
【図面の簡単な説明】
【0040】
【図1】実施形態の点群データ処理装置のブロック図である。
【図2】実施形態の処理の手順を示すフローチャートである。
【図3】測定対象物の一例を示す概念図である。
【図4】ラベルが付与された面の縁の様子を示す概念図である。
【図5】輪郭線を算出する原理を示す概念図である。
【図6】輪郭線を算出する原理を示す概念図である。
【図7】輪郭線算出部の一例を示すブロック図である。
【図8】ラベルが付与された面の縁と輪郭線の関係を示す概念図である。
【図9】実施形態の処理の手順を示すフローチャートである。
【図10】三次元レーザースキャナ機能を有した点群データ処理装置の概念図である。
【図11】三次元レーザースキャナ機能を有した点群データ処理装置の概念図である。
【図12】実施形態の制御系のブロック図である。
【図13】実施形態の演算部のブロック図である。
【図14】グリッドの形成手順の一例を示す概念図である。
【図15】グリッドの一例を示す概念図である。
【図16】ステレオカメラを用いた三次元情報の取得機能を有した点群データ処理装置の概念図である。
【図17】実施形態のブロック図である。
【発明を実施するための最良の形態】
【0041】
1.第1の実施形態
以下、点群データ処理装置の一例について、図面を参照して説明する。本実施形態の点群処理装置は、測定対象物の二次元画像と、この二次元画像に対応させた複数の点の三次元座標データとを関連付けた点群データの中から、演算の負担の大きい非面領域に係る点群データを除去する非面領域除去部を備えている。また、非面領域のデータが除去された後の点群データに対して、面を指定するラベルを付与する面ラベリング部と、ラベルが付与された面から連続した局所領域に基づく局所平面を利用して、対象物の輪郭線を算出する輪郭線算出部を備えている。また、点群データを再取得に係る処理を行う点群データ再取得要求処理部106を備えている。
【0042】
(点群データ処理装置の構成)
図1は、点群データ処理装置のブロック図である。点群データ処理装置100は、測定対象物の点群データに基づいて、測定対象物の特徴を抽出し、当該特徴に基づく三次元形状を生成する。点群データは、測定対象物にレーザー光を捜査して照射し、その反射光を検出することで、測定対象物の3次元座標のデータを点群データとして得る三次元位置測定装置(三次元レーザースキャナ)や複数の撮像装置を用いて立体画像情報を取得し、それに基づいて測定対象物の3次元座標のデータを点群データとして得る立体画像情報取得装置から得られる。三次元レーザースキャナについては実施形態2で、立体画像情報取得装置については、実施形態3で説明する。
【0043】
図1に示す点群処理装置100は、ノート型のパーソナルコンピュータ内においてソフトウェア的に構成されている。よって、本発明を利用した点群処理を行う専用のソフトウェアがインストールされたパーソナルコンピュータが図1の点群処理装置として機能する。このプログラムは、パーソナルコンピュータ中にインストールされている状態に限定されず、サーバや適当な記録媒体に記録しておき、そこから提供される形態であってもよい。
【0044】
利用されるパーソナルコンピュータは、キーボートやタッチパネルディスプレイ等の入力部、液晶ディスプレイ等の表示部、入力部と表示部を統合したユーザインターフェースであるGUI(グラフィカル・ユーザ・インターフェース)機能部、CPUおよびその他専用の演算デバイス、半導体メモリ、ハードディスク記憶部、光ディスク等の記憶媒体との間で情報のやり取りを行えるディスク記憶装置駆動部、USBメモリ等の携帯型記憶媒体との間で情報のやり取りを行えるインターフェース部、無線通信や有線通信を行う通信インターフェース部を必要に応じて備えている。なお、パーソナルコンピュータは、ノート型に限定されず、携帯型や卓上型等の他の形態であってもよい。また、汎用のパーソナルコンピュータを利用する以外に、ASIC(Application Specific Integrated Circuit)や、FPGA(Field Programmable Gate Array)などのPLD(Programmable Logic Device)等を用いて構成した専用のハードウェアによって点群処理装置100を構成することも可能である。
【0045】
(A)輪郭線の算出に係る構成
まず、点群処理装置100における輪郭線を算出する処理を行う構成を説明する。点群処理装置100は、非面領域除去部101、面ラベリング部102、輪郭線算出部103を備えている。以下、これら各機能部について説明する。
【0046】
(A1:非面領域除去部)
図2は、点群データ処理装置100において行われる処理の一例を示すフローチャートである。図2のステップS202〜S204の処理が非面領域除去部101において行われる。非面領域除去部101は、局所領域を取得する局所領域取得部101a、局所領域の法線ベクトルを算出する法線ベクトル算出部101b、局所領域の局所曲率を算出する局所曲率算出部101c、局所領域にフィッティングする局所平面を算出する局所平面算出部101dを備える。以下、処理の流れに従って、これらの機能部について説明する。
【0047】
局所領域取得部101aは、点群データに基づき、注目点を中心とした一辺が3〜7画素程度の正方領域(格子状の領域)を局所領域として取得する。法線ベクトル算出部101bは、局所領域取得部101aが取得した上記の局所領域における各点の法線ベクトルの算出を行う(ステップS202)。この法線ベクトルを算出する処理では、局所領域における点群データに着目し、各点の法線ベクトルを算出する。この処理は、全ての点群データを対象として行われる。すなわち、点群データが無数の局所領域に区分けされ、各局所領域において各点の法線ベクトルの算出が行われる。
【0048】
局所曲率算出部101cは、上述した局所領域内の法線ベクトルのバラツキ(局所曲率)を算出する(ステップS203)。ここでは、着目している局所領域において、各法線ベクトルの3軸成分の強度値(NVx, NVy, NVz)の平均(mNVx,mNVy,mNVz)を求め、さらに標準偏差(StdNVx,StdNVy,StdNVz)を求める。次に、標準偏差の二乗和の平方根を局所曲率(Local Curveture:crv)として算出する(下記数1参照)。
【0049】
【数1】
【0050】
局所平面算出部101dは、局所空間取得部の一例であり、局所領域にフィッティング(近似)する局所平面(二次元の局所空間)を求める(ステップS204)。この処理では、着目している局所領域の各点の三次元座標から局所平面の方程式を求める(局所平面フィッティング)。局所平面は、着目している局所領域にフィッティングさせた平面である。ここでは、最小二乗法を用いて、当該局所領域にフィッティングする局所平面の面の方程式を算出する。具体的には、複数の異なる平面方程式を求め、更にそれらを比較し、当該局所領域にフィッティングする局所平面の面の方程式を算出する。仮に、着目している局所領域が平面であれば、局所平面と局所領域とは一致する。
【0051】
以上の処理を、局所領域を順次ずらしながら、全ての点群データが対象となるように繰り返し行い、各局所領域における法線ベクトル、局所平面、局所曲率を得る。
【0052】
次に、上で求めた各局所領域における法線ベクトル、局所平面、局所曲率に基づいて、非面領域の点を除去する処理を行う(ステップS205)。すなわち、面(平面および曲面)を抽出するために、予め面でないと判断できる部分(非面領域)を除去する。なお、非面領域とは、平面でも曲面でもない領域であるが、下記の(1)〜(3)の閾値によっては曲率の高い曲面を含む場合がある。
【0053】
非面領域除去の処理は、以下に示す3つの方法のうち、少なくとも一つを用いて行うことができる。ここでは、下記の(1)〜(3)の方法による判定を上述した局所領域の全てに対して行い、1以上の方法において非面領域と判定された局所領域を、非面領域を構成する局所領域として抽出する。そして、抽出された非面領域を構成する点に係る点群データを除去する。
【0054】
(1)局所曲率の高い部分
ステップS203で求めた局所曲率を予め設定しておいた閾値と比較し、閾値を超える局所曲率の局所領域を非面領域と判定する。局所曲率は、注目点とその周辺点における法線ベクトルのバラツキを表しているので、面(平面および曲率の小さい曲面)ではその値が小さく、面以外(非面)ではその値は大きくなる。したがって、予め決めた閾値よりも局所曲率が大きければ、当該局所領域を非面領域と判定する。
【0055】
(2)局所平面のフィッティング精度
局所領域の各点と対応する局所平面との距離を計算し、これらの距離の平均が予め設定した閾値よりも大きい場合、当該局所領域を非面領域と判定する。すなわち、局所領域が平面から乖離した状態であると、その程度が激しい程、当該局所領域の各点と対応する局所平面との距離は大きくなる。このことを利用して当該局所領域の非面の程度が判定される。
【0056】
(3)共平面性のチェック
ここでは、隣接する局所領域において、対応する局所平面同士の向きを比較する。この局所平面の向きの違いが閾値を超えている場合、比較の対象となった局所領域が非面領域に属していると判定する。具体的には、対象となる2つの局所領域のそれぞれにフィッティングする2つの局所平面の法線ベクトルと、その中心点間を結ぶベクトルとの内積が0であれば、両局所平面が同一平面上に存在すると判定される。また、上記内積が大きくなる程、2つの局所平面が同一面上にない程度がより顕著であると判定される。
【0057】
上記の(1)〜(3)の方法による判定において、1以上の方法において非面領域と判定された局所領域を、非面領域を構成する局所領域として抽出する。そして、この抽出された局所領域を構成する点に係る点群データを算出対象としている点群データから除去する。以上のようにして、図2のステップS205における非面領域の除去が行われる。こうして、点群データ処理装置100に入力された点群データの中から非面領域の点群データが非面領域除去部101において除去される。なお、除去された点群データは、後の処理で利用する可能性があるので、適当な記憶領域に格納するなり、除去されなかった点群データと識別できる状態とするなどして、後で利用できる状態にしておく。
【0058】
(A2:面ラベリング部)
次に面ラベリング部102の機能について、図2を参照して説明する。面ラベリング部102は、非面領域除去部101で処理された点群データを対象として、図2のステップS206以下の処理を実行する。
【0059】
面ラベリング部102は、非面領域除去部101において非面領域の点群データが除去された点群データに対して、法線ベクトルの連続性に基づいて面ラベリングを行う(ステップS205)。具体的には、特定の注目点と隣接点の法線ベクトルの角度差が予め決めた閾値以下なら、それらの点に同一ラベルを貼る。この作業を繰り返すことで、連続する平面、連続する緩やかな曲面に同一ラベルが貼られ、それらを一つの面として識別可能となる。また、ステップS205の面ラベリングの後、法線ベクトルの角度差や法線ベクトルの3軸成分の標準偏差を用いて、ラベル(面)が平面であるか、または曲率の小さい曲面であるかを判定し、その旨を識別する識別データを各ラベルに関連付ける。
【0060】
続いて、面積の小さいラベル(面)をノイズとして除去する(ステップS207)。なお、このノイズ除去は、ステップS205の面ラベリングの処理と同時に行ってもよい。この場合、面ラベリングを行いながら、同一ラベルの点数(ラベルを構成する点の数)を数え、所定以下の点の数であるラベルを取り消す処理を行う。次に、この時点でラベルが無い点に対して、最近傍面(最も近い面)と同一のラベルを付与していく。これにより、既にラベリングされた面の拡張を行う(ステップS208)。
【0061】
以下、ステップS207の処理の詳細を説明する。まず、ラベルの付いた面の方程式を求め、当該面とラベルが無い点との距離を求める。ラベルが無い点の周辺に複数のラベル(面)がある場合には、その距離が最も短いラベルを選択する。そして、依然としてラベルが無い点が残存している場合には、非面領域除去(ステップS205)、ノイズ除去(ステップS207)、およびラベル拡張(ステップS208)における各閾値を変更し、再度関連する処理(再ラベリング)を行う(ステップS209)。例えば、非面領域除去(ステップS205)において、局所曲率の閾値を上げることで、非面として抽出する点の数が少なくなるようにする。または、ラベル拡張(ステップS208)において、ラベルの無い点と最近傍面との距離の閾値を上げることで、ラベルの無い点に対してより多くのラベルを付与するようにする。
【0062】
次に、ラベルが異なる面であっても同一面である場合にラベルを統合する(ステップS210)。この場合、連続しない面であっても、位置または向きが等しい面同士に同じラベルを付ける。具体的には、各面の法線ベクトルの位置および向きを比較することで、連続しない同一面を抽出し、いずれかの面のラベルに統一する。以上が面ラベリング部102の機能である。
【0063】
この面ラベリング部102の機能によれば、扱うデータ量を圧縮できるので、点群データの処理を高速化できる。また必要なメモリ量を節約できる。また、測定中に紛れ込んだ通行人や通過した車両の点群データをノイズとして除去することができる。
【0064】
以下、面ラベリング部102によって処理された点群データに基づく表示画像の一例を説明する。図3には、測定対象物の一例として立方体120が示されている。ここでは、立方体120を斜め上方の視点から三次元レーザースキャナによってスキャニングし、立方体120の点群データを得た場合を考える。この場合、この点群データに対して、図2のステップS201〜S210の処理を施すと、図2で見えている3つの面にラベルが貼られ、遠目で見た場合は、一見すると図3に示すのと同様な画像データを得ることができる。
【0065】
しかしながら、平面123と平面124の境の付近を拡大すると、図4に示すように面123の面124側の外縁123aと、平面124の平面123側の外縁124bとは一致せず、略平行に延在した状態で位置している。つまり、立方体120の輪郭線122は正確に再現されない。
【0066】
これは、輪郭線122の部分のデータは、立方体120を構成する平面123と124の境の部分のエッジ部分であり、非面領域125として点群データから除去されているからである。この場合、異なるラベルの貼られた(付与された)平面123の外側の縁である外縁123aと平面124の外側の縁である外縁124bの点群データは処理対象とされるので、その部分の表示は行われる。しかしながら、外縁123aと124bの間(非面領域125)は、点群データがないので、当該部分に関する画像情報は表示されない。
【0067】
この理由により、面ラベリング部102の出力に基づく画像表示をした場合に、平面123と平面124との境となる輪郭線122が正確に表示されない。本実施形態では、点群データ処理装置100から、例えば上記の例示における輪郭線122が出力されるようにするために、次に説明する輪郭線算出部103を備えている。
【0068】
(A3:輪郭線算出部)
輪郭線算出部103は、隣接する面の点群データに基づき、輪郭線を算出(推定)する(図2のステップS211)。以下、具体的な算出方法について説明する。
【0069】
(算出方法その1)
図5には、輪郭線を算出する方法の原理の一つが示されている。図5には、平面131と平面132の境の付近が概念的に示されている。この場合、非面領域除去の処理により、曲率の小さい非面領域133が除去され、隣接する平面131と132が面としてラベルが貼られる。この際、平面131の平面132側の外縁131aと平面132の平面131側の外縁132aの間の点群データは、非面領域として除去されているので、非面領域133にあるはずの輪郭線のデータを点群データから直接得ることはできない。
【0070】
そこでこの例では、以下の処理を輪郭線算出部103において行う。この場合、平面132と平面131とを延長し、その交線134を算出する。そして、交線134を推定された輪郭線とする。この場合、平面131の延長した交線までの部分と、平面132の延長した交線までの部分により多面体が形成され、この多面体が平面131と132を接続する近似的な接続面となる。なお、平面131と平面132が曲面である場合は、その外縁131aおよび132aの部分の法線ベクトルを有する平面を考え、それを延長することで、交線134を算出する。
【0071】
この方法は、他の方法に比較して演算が簡単であるので、高速処理に適している。他方で、実際の非面領域と算出される輪郭線との距離が大きくなり易く、誤差が大きくなる可能性が高い。しかしながら、エッジが急峻である場合や非面領域の幅が狭い場合には、誤差は小さくなるので、処理時間が短くて済む優位性が生きてくる。
【0072】
「算出方法その1」を実行する場合における図1の輪郭線算出部103の構成を図7(A)に示す。この場合、輪郭線算出部103は、接続面算出部141を備え、接続面算出部141は、隣接する第1の面と第2の面を延長する演算を行う隣接面延長部142と、延長された第1の面と第2の面との交線を算出する交線算出部143を備える。
【0073】
(算出方法その2)
図6には、輪郭線を算出する方法の原理が示されている。図6(A)には、図5と同じ面を垂直に切った断面を見る視点からの概念図が示され、図6(B)には、2つの面とその間の輪郭線を俯瞰して見た状態の概念図(モデル図)が示されている。図6には、図5の場合と同様な平面131と平面132の境の付近が概念的に示されている。この場合も非面領域除去の処理により、曲率の小さい非面領域133が除去され、隣接する平面131と132が面としてラベルが貼られている。この点は、図5の場合と同じである。
【0074】
以下、処理の一例を説明する。まず、平面131の平面132の側の外縁131aの点を含み、更に平面132の側にある局所領域を取得する。この局所領域は、縁の部分で平面131の外縁131aを共有し、非面領域133の一部を構成する3×3点、5×5点のような局所的な正方領域である。この局所領域は、縁の部分を平面131の外縁131aと共有するので、平面131から連続した領域となる。そして、この局所領域にフィティングする局所平面135を取得する。局所平面135は、主に非面領域133の形状の影響を受けるので、その法線ベクトルの方向(面の方向)は、平面131、132の法線ベクトルの方向(面の方向)と異なっている。なお、局所平面の算出方法は、局所平面算出部101cにおけるものと同じである。
【0075】
次に、平面132の平面131の側の外縁132aの点を含み、更に平面131の側にある局所領域を取得する。そして、この局所領域にフィティングする局所平面137を取得する。ここで、局所平面135と137の間に更に局所平面を設定するスペースがある場合(あるいは精度追求上その必要がある場合)、同様な処理を繰り返し、平面131の側から平面132の側へ、また平面132の側から平面131の側へ、局所平面を非面領域133上の局所領域にフィッティングさせてゆく。言い換えると、局所平面を継ぎ接ぎして非面領域133を多面体で近似してゆく。
【0076】
この例では、局所平面135と137の間の距離が閾値以下であるので(つまり、更に局所平面を設定する間隔でないと判定されるので)、近接し隣接する位置関係にある局所平面135と137の交線を求め、輪郭線138を算出する。この場合、局所平面135、局所平面137、およびそれらを延長した交線までの部分により多面体が形成され、この多面体が平面131と132を接続する近似的な接続面となる。この方法によれば、非面領域にフィッティングする局所平面を繋いで平面131と132を接続する接続面を形成するので、図5の場合よりも輪郭線の算出精度を高くできる。
【0077】
こうして、図6(B)に示されるように、局所平面135、137の寸法程度の長さを有する輪郭線138(輪郭線の線素)を得る。そして上記の処理を非面領域の延在方向に沿って行うことで、平面131と132とを区分けする輪郭線139が算出される。すなわち、図6(A)に示す輪郭線138の算出の後、同様の手法により局所平面135’、137’を取得することで、その間の輪郭線部分を算出する。この処理を繰り返すことで、短い輪郭線138を延ばしてゆき、輪郭線139を得る。
【0078】
以下、例えば、局所平面135の平面132の側に更に局所平面を設定する場合を説明する。この場合、局所平面135の基となった局所領域の平面132側の縁の点を含み、更に平面132の側にある局所領域を取得し、そこにフィッティングする局所平面を取得する。この処理は、平面132の側でも同様に行われる。この処理を両平面の側でそれぞれ繰り返し行い、両面からの接続面を繋いでゆき、その隙間が閾値以下となった段階で、対向した位置関係で近接する2つの局所面の交線を求め、それを輪郭線とする。
【0079】
この場合、第1の面から第2の面に向かって次々と取得していった複数の局所領域は、隣接する第1の面や局所領域で一部の点を共有しているので、それぞれ第1の面から連続した局所領域となる。つまり、第1の面から離れた位置にある局所領域も上記の手順に従って取得されたものであれば、第1の面から連続した局所領域として把握される。なお、隣接する局所平面同士は、連続する局所領域にそれぞれフィッティングする局所平面であっても、非面領域の形状に応じて、それらは互いに異なる方向を向いている。したがって、局所平面同士が完全に繋がらない場合もあり、正確には、隙間が生じた多面体となる場合もあるが、ここではその隙間は無視し、多面体構造の接続面として把握する。
【0080】
算出方法その2を実行する場合における図1の輪郭線算出部103の構成を図7(B)に示す。この場合、輪郭線算出部103は、接続面算出部144を備える。接続面算出部144は、局所領域取得部145、局所平面取得部146、局所平面延長部147、交線算出部148を備えている。局所領域取得部145は、局所平面135、137を取得するために必要な局所領域を取得する。局所平面取得部146は、局所空間取得部の一例であり、局所領域取得部145が取得した局所領域にフィッティングする局所平面を取得する。局所平面延長部147は、平面131から平面132の方向に延ばしていった局所平面(図6の場合は局所平面135)と、平面132から平面131の方向に延ばしていった局所平面(図6の場合は局所平面137)を延長する演算を行う。交線算出部148は、上記延長した2つの局所平面の交線を算出する。
【0081】
以上述べた方法によれば、非面領域を介して隣接する第1の面と第2の面との間の隙間(非面領域の部分)を局所平面で繋いでゆき、この隙間を徐々に狭くし、この隙間がある程度狭くなったところで、隙間を隔てて隣接する局所平面の交線を算出し、輪郭線とする演算を行う。なお、局所平面135と137の間に更に局所平面を設定するか否かを判定する基準として、局所平面135と137の法線ベクトルの方向の差を利用してもよい。この場合、局所平面135と137の法線ベクトルの方向の差が閾値以下であれば、交線を利用した輪郭線の算出でも充分に精度が確保できると考え、新たな局所平面の取得は行わず、図示する場合のように、局所平面135と137の交線に基づく輪郭線の算出を行う。
【0082】
(算出方法その3)
この方法では、最初の段階で非面領域と判定された領域に対して、閾値を変更しての再度の非面領域の除去およびラベリングを行い、より限定された非面領域の除去とし、その後に再度「算出方法その1」または「算出方法その2」のいずれかを用いての輪郭線の算出を行う。
【0083】
なお、2回、3回と閾値を変更しての再演算を行い、更に除去される非面領域を狭くし、精度を高めることも可能であるが、閾値を変更しての繰り返しの演算の回数が多くなると、演算時間が長くなるので、閾値の変更回数に適当な閾値を設定し、ある程度再処理の回数を行った段階で他の算出方法による輪郭線の算出に切り替えることが望ましい。
【0084】
(算出方法その4)
算出方法その2と同様な考え方として、局所平面ではなく、局所直線(一次元の局所空間)を用いる方法もある。この場合、図1の局所平面算出部101dは、一次元の局所空間を取得する局所空間取得部である局所直線算出部として機能する。以下、図6を用いて説明する。この場合、まず図6の概念図において、符号135と137を局所直線として把握する。ここで、局所直線は、局所平面の幅を1点分の幅(数学的には、幅はない)に狭めた形態として把握できる。考え方は、局所平面の場合と同じで、平面131に連続した局所領域を取得し、この局所領域にフィッティングし、平面132の方向に延びる局所直線を算出する。そしてこの局所直線により平面131と132を接続する接続線(この場合、面ではなく線となる)を構成する。
【0085】
局所直線の算出は、局所平面の場合と同じで、最小二乗法を用いて、当該局所領域にフィッティングする線の方程式を算出することで行う。具体的には、複数の異なる直線の方程式を求めて比較し、当該局所領域にフィッティングする直線の方程式を算出する。仮に、着目している局所領域が平面であれば、局所直線と局所領域とは平行となる。なお、局所直線のフィッティング対象となる局所領域は、非面領域133の一部を構成する局所的な領域であるので、局所直線(この場合は、符号135)は、平面131および132と平行とならない。
【0086】
また、面132の側でも同様の処理を行い、この場合符号137で示される局所直線を算出する。そして、2つの局所直線の交点(この場合、符号138)が、求める輪郭線の通過点となる。実際の輪郭線の算出は、複数の上記交点を求め、それを結ぶことで得られる。なお、上記局所直線の交点を隣接する部分で求め、それを繋ぐことで輪郭線を算出することも可能であるが、複数点を飛び越した間隔をおいた部分で局所直線同士の交点を複数求め、それらを結ぶことで輪郭線を算出することも可能である。
【0087】
なお、局所直線を更に細かく複数設定し、接続線を更に細かく刻んでゆき、輪郭線を算出することも可能である。これは、「算出方法その2」において説明した局所平面を用いた輪郭線の算出の場合と同じである。
【0088】
(算出方法その他)
局所平面の交線を求めることで輪郭線を予想する方法の別バージョンとして、接続面の中央部分で輪郭線を設定する手法が挙げられる。この場合、接続面の中央を算出する方法として、(1)距離的な中央の部分を輪郭線が通るとして輪郭線を算出する方法、(2)局所面の法線の変化(面の方向の変化)に基づき、その変化範囲の中央の法線(またはそこに近い法線)を有する局所面の中心点を輪郭線の通過点とする方法、(3)局所面の法線の変化(面の方向の変化)に基づき、その変化率の最も大きな部分を輪郭線の通過点とする方法等が挙げられる。局所面として局所曲面を採用することもできる。この場合、データとして扱いやすい曲面を選定し、それを上述した局所平面の代わりに利用する。また、局所面を複数種類用意し、その中から局所領域へのフィッティング性の高いものを選択する方法も可能である。
【0089】
(輪郭線の一例)
以下、算出した輪郭線の一例を説明する。図8は、図4に対応する概念図である。図8には、図4に示す状態において、本実施形態で説明した輪郭線算出処理(輪郭線算出方法その2)を施し、輪郭線150を算出した場合が示されている。この場合、非面領域として除去された領域において、ラベルが付与された平面123の外縁123a、および平面124の外縁124bに基づいて「輪郭線算出方法その2」により両平面を接続する接続面を算出し(図6参照)、この接続面を構成する2つの局所平面の公線を求めることで輪郭線150が算出される。輪郭線150が算出されることで、不明瞭であった図3の測定対象物(この場合は、立体120)の輪郭の画像が明確となる。こうして、三次元CADデータに取り込むことで、CADデータとして活用するのに適した画像データを点群データから得ることができる。
【0090】
(A4:二次元エッジ算出部)
次に図2のステップS212の処理を行う図1の二次元エッジ算出部104について説明する。以下、二次元エッジ算出部104で行われる処理の一例を説明する。まず、対象物からの反射光の強度分布に基づいて、ラプラシアン、プリューウィット、ソーベル、キャニーなどの公知のエッジ抽出オペレータを用いて、セグメント化(区分け)された面に対応する二次元画像の領域内からエッジを抽出する。すなわち、二次元エッジは、面内の濃淡の違いにより認識されるので、この濃淡の違いを反射光の強度の情報から抽出し、その抽出条件に閾値を設けることで、濃淡の境目をエッジとして抽出する。次に、抽出されたエッジを構成する点の三次元座標の高さ(z値)と、その近傍の輪郭線(三次元エッジ)を構成する点の三次元座標の高さ(z値)とを比較し、この差が所定の閾値以内の場合には、当該エッジを二次元エッジとして抽出する。すなわち、二次元画像上で抽出されたエッジを構成する点が、セグメント化された面上にあるか否かを判定し、面上にあると判定された場合にそれを二次元エッジとする。
【0091】
二次元エッジの算出(ステップS212)後、輪郭線算出部103が算出した輪郭線と二次元エッジ算出部104が算出した二次元エッジとを統合する。これにより、点群データに基づくエッジの抽出が行われる(S214)。このエッジの抽出により、測定対象物を視認する際における測定対象物の外観を構成する線が抽出される。これにより、測定対象物の線図のデータが得られる。例えば、測定対象物として建物が選択し、この建物の点群データに基づいて、図2の処理により線図のデータを得た場合を説明する。この場合、当該建物の外観、外壁の模様、窓等の輪郭が線図のデータとして表現される。なお、窓のような比較的凹凸の少ない部分の輪郭は、閾値の判定により、輪郭線として処理される場合もあるし、二次元エッジとして処理される場合もある。このような線図のデータは、3次元CADデータや対象物の下図のデータとして利用できる。
【0092】
(B)点群データの再取得を要求する処理に係る構成1
点群データ処理装置100は、点群データの再取得を要求する処理に係る構成として、点群データ再取得要求処理部106を備えている。点群データ再取得要求処理部106は、非面領域除去部101、面ラベリング部102、輪郭線算出部103の少なくとも一つの処理の結果に基づいて、点群データの再取得の要求に係る処理を行う。以下、点群データ再取得要求処理部106で行われる処理について説明する。
【0093】
(処理その1)
この場合、点群データ再取得要求処理部106は、非面領域除去部101の処理の結果に基づいて、非面領域として処理された領域の点群データを再度得るための処理を行う。つまり、非面領域の点群データを再取得する要求を行う。以下この処理の一例を説明する。まず、最初に得る点群データの密度を相対的に粗く設定する。そして最初の段階で面としてラベリングされた部分以外の部分(つまり非面領域)に対して、再度の点群データの取得を指示する。こうすることで、効率よく点群データを取得でき、且つ、演算の精度を高めることができる。また、上記の処理において、設定する点群データの密度を段階的に複数設定し、点群データを繰り返し取得し、徐々により非面度が大きい領域の点群データをよりデータ密度が高い状態で取得する形態を採用してもよい。つまり、徐々により細かく点群データを得る必要がある領域を絞り込んでゆく手法を採用することもできる。
【0094】
(処理その2)
点群データ再取得要求処理部106は、輪郭線算出部103の処理の結果に基づいて、輪郭線およびその近傍における再度の点群データの取得を行う処理を行う。この場合、輪郭線の部分とその周辺(例えば、測定点で捉えて4〜10点分の幅)に対して、再度の点群データの取得が要求される。この処理によれば、より精度の高い輪郭線の画像データを得ることができる。また、輪郭線に加えて二次元エッジの部分およびその周辺を再度の点群データの取得対象として選択する設定も可能である。
【0095】
(処理その3)
点群データ再取得要求処理部106は、面ラベリング部102の処理の結果に基づき、面のフィッティング精度の悪い部分に対して再度の点群データの取得を要求する処理を行う。この場合、ラベリングされた面のフィッティング精度の良し悪しを閾値により判定し、フィッティングの精度が悪いと判定された面の点群データを再度取得する要求が行われる。
【0096】
(処理その4)
オクルージョン(手前の物体に遮られて奥の物体が見えなくなっている状態)によって発生する三次元エッジのような非面領域は、特に誤差が生じやすい。点群データ再取得要求処理部106は、そのような領域を局所平面のフィッティング精度や共平面性を判定することで抽出し、その領域に限定して再度の点群データの取得を行う処理を行う。この場合、非面領域除去部101における処理の結果に基づいて、点群データの再取得の要求に係る処理が行われる。
【0097】
(処理その5)
何らかの理由により、面のラベリングや輪郭線の算出が行えず、空白となる部分が生じる場合がある。例えば、オクルージョン(手前の物体に遮られて奥の物体が見えなくなっている状態)の部分や、スキャン光が極めて浅い角度で(面やエッジの延在方向に対して平行に近い角度)測定対象物に入射する部分では、この問題が生じ易い。点群データ再取得要求処理部106は、このような領域を検出し、当該領域に対する点群データの再取得を行う処理を行う。上述した空白の部分の検出は、ラベルの有無、稜線の有無、他の領域との間におけるデータの連続性によって判別される。この場合、非面領域除去部101、面ラベリング部102、輪郭線算出部103の少なくとも一つの処理の結果に基づいて、点群データの再取得の要求に係る処理が行われる。
【0098】
(処理その6)
点群データ再取得要求処理部106は、エッジ統合部105で得られた輪郭線と二次元エッジを統合した画像(線で構成された画像:線図の画像)の精度を判定する。この場合、点群データ再取得要求処理部106は、図示するように精度判定部106’の機能を有する。具体的には、線のぼけ、途切れ、不自然な折れ曲がり(ギザギザ表示)といった線の表現として不自然な表示を検出する。この処理では、予め選択しておいた基準となる比較対象をデータとして用意しておき、このデータと比較することで不自然な表示か否かを判定する。この場合、輪郭線算出部103および二次元エッジ算出部104の処理の結果に基づいて、点群データの再取得の要求に係る処理が行われる。
【0099】
(C)点群データの再取得を要求する処理に係る構成2
点群データ処理装置100は、点群データの再取得を要求する処理に係る構成として、点群データ再取得要求信号出力部107、操作入力部110、操作入力受け付け部111を備えている。点群データ再取得要求信号出力部107は、点群データ再取得要求処理部106における処理に基づき、点群データの再取得を要求する信号を生成し、外部に出力する。例えば、点群データ再取得要求処理部106における処理の結果を受け、指定された領域における点群データの再取得を要求する信号を、点群データ処理装置100を構成するパーソナルコンピュータに接続された三次元レーザースキャナに対して出力する。
【0100】
図1の点群データ処理装置100は、操作入力部110、操作入力受け付け部111を備えている。操作入力部110は、ユーザによる点群データ処理装置100に対する操作が行われる入力装置であり、例えば、GUIを利用した操作インターフェースである。操作入力受け付け部111は、ユーザより操作された内容を解釈し、各種の制御信号に変換する。
【0101】
以下、操作入力部110を利用しての操作の内容を説明する。この例において、ユーザは、画像表示装置109を見ながら、希望する部分(例えば、輪郭線が不鮮明な部分)を選択することができる。この操作は、GUIを用いて行うことができる。この際、選択した領域の色や濃淡を変化させ、強調表示とし、視覚的に把握し易い表示制御が行われる。
【0102】
(D)その他の構成
点群データ処理装置100は、画像表示制御部108と画像表示装置109を備えている。画像表示制御部108は、表示された画像の移動や回転、表示画面の切り替え、拡大縮小表示、スクロール、その他公知のGUIに係る画像表示装置109における画面表示の制御を行う。画像表示装置109としては、例えば液晶ディスプレイ等が挙げられる。エッジ統合部105で得られた線図のデータは、画像表示制御部108に送られ、画像表示制御部108は、この線図のデータに基づく図面表示(線図の表示)を画像表示装置109上で行う。
【0103】
(動作例)
以上説明した構成の動作の一例を説明する。図9には、点群データ処理装置100で行われる動作の一例が示されている。ここでは、点群データ処理装置100に点群データの取得を行うための三次元レーザースキャナが接続されている構成を前提とする。処理が開始されると(ステップS301)、まず粗点群データの取得が三次元レーザースキャナに対して指示され、粗点群データの取得が行われる(ステップS302)。粗点群データは、相対的に測定点の密度が小さい設定(スキャン密度が小さい設定)とされたスキャン条件で得られるデータであり、面の抽出には充分であるが、輪郭線の算出には、やや不十分である密度で点群データを得る設定である。粗点群データの点の密度(スキャン密度)は、実験的に求めた値を利用する。
【0104】
粗点群データを得たら、図2に示す処理を行いエッジの抽出を行う(ステップS303)。この処理により、輪郭線と二次元エッジにより構成される線図のデータを得る。次いで、点群データ再取得要求処理部106の機能により、点群データを再取得する領域を決定する(ステップS304)。この決定は、上述した点群データ再取得要求処理部106で行われる処理の一または複数を利用して行われる。なお、点群データを再取得する領域がない場合は、ステップS307に進む。点群データを再取得する領域がない場合としては、粗点群データで充分な精度が得られた場合が挙げられる。次に、点群データを再取得する領域に対して再度の点群データを得る処理(再スキャン)を行い、再度点群データを取得する(ステップS305)。この際、ステップS302の場合よりも相対的に点群データの密度(測定点の密度=スキャン密度)を高くした条件で再度点群データを取得する。
【0105】
次いで、再度得た点群データに基づき、図2の処理を再度行い、再度エッジを抽出する処理を行う(ステップS306)。その後、抽出したエッジの画像(輪郭線と二次元エッジを統合した線図の画像)を画像表示装置109に表示する(ステップS307)。ここで、ユーザが表示された画面を見て、再度点群データの取得を要求する部分がある場合、その旨が図1の操作入力装置110から操作入力される。この場合、ステップS308の判定が再取得領域ありとなり、ステップS304の前段階に戻る。この際、ユーザにより指定された測定対象物の領域を再取得領域として決定し(ステップS304)、ステップS305以下の処理を再度実行する。ステップS308において、ユーザによる再度の点群データ取得の指示がない場合、処理を終了する(ステップS309)。
【0106】
2.第2の実施形態
以下、三次元レーザースキャナを備えた点群データ処理装置について説明する。この例において、点群データ処理装置は、測定対象物に対して測距光(レーザー光)を走査しつつ照射し、レーザー光の飛行時間に基づいて自身の位置から測定対象物上の多数の測定点までの距離を測距する。また、点群データ処理装置は、レーザー光の照射方向(水平角および高低角)を検出し、距離および照射方向に基づいて測定点の三次元座標を演算する。また、点群データ処理装置は、測定対象物を撮像した二次元画像(各測定点におけるRGB強度)を取得し、二次元画像と三次元座標とを結び付けた点群データを形成する。さらに、点群データ処理装置は、形成した点群データから輪郭線により構成された対象物の三次元輪郭線を示す線図を形成する。さらに、点群データ処理装置は、第1の実施形態で説明した点群データの再取得機能を有する。
【0107】
(構成)
図10および図11は、点群データ処理装置1の構成を示す断面図である。点群データ処理装置1は、整準部22、回転機構部23、本体部27、および回転照射部28を備えている。本体部27は、測距部24、撮像部25、制御部26等から構成されている。なお、図11は、説明の便宜のため、図10に示す断面方向に対して、回転照射部28のみ側方から見た状態を示している。
【0108】
整準部22は、台盤29を有し、回転機構部23は下部ケーシング30を有する。下部ケーシング30は、ピン31と2個の調整ネジ32とにより3点で台盤29に支持されている。下部ケーシング30は、ピン31の先端を支点にして傾動する。なお、台盤29と下部ケーシング30との間には、台盤29と下部ケーシング30とが互いに離反しないようにするため、引っ張りスプリング33が設けられている。
【0109】
下部ケーシング30の内部には、2個の整準モータ34が設けられている。2個の整準モータ34は、制御部26によって互いに独立して駆動される。整準モータ34の駆動により整準駆動ギア35、整準従動ギア36を介して調整ネジ32が回転し、調整ネジ32の下方への突出量が調整される。また、下部ケーシング30の内部には傾斜センサ37(図12参照)が設けられている。2個の整準モータ34は、傾斜センサ37の検出信号により駆動され、これにより整準が実行される。
【0110】
回転機構部23は、下部ケーシング30の内部に水平角用駆動モータ38を有する。水平角用駆動モータ38の出力軸には水平回動駆動ギア39が嵌着されている。水平回動駆動ギア39は、水平回動ギア40に噛合されている。水平回動ギア40は、回転軸部41に設けられている。回転軸部41は、回転基盤42の中央部に設けられている。回転基盤42は、下部ケーシング30の上部に、軸受け部材43を介して設けられている。
【0111】
また、回転軸部41には水平角検出器44として、例えばエンコーダが設けられている。水平角検出器44は、下部ケーシング30に対する回転軸部41の相対的回転角(水平角)を検出する。水平角は制御部26に入力され、制御部26は、その検出結果に基づき水平角用駆動モータ38を制御する。
【0112】
本体部27は、本体部ケーシング45を有する。本体部ケーシング45は、回転基盤42に固着されている。本体部ケーシング45の内部には鏡筒46が設けられている。鏡筒46は、本体部ケーシング45の回転中心と同心の回転中心を有する。鏡筒46の回転中心は、光軸47に合致されている。鏡筒46の内部には、光束分離手段としてのビームスプリッタ48が設けられている。ビームスプリッタ48は、可視光を透過し、かつ、赤外光を反射する機能を有する。光軸47は、ビームスプリッタ48によって光軸49と光軸50とに分離される。
【0113】
測距部24は、鏡筒46の外周部に設けられている。測距部24は、発光部としてのパルスレーザ光源51を有する。パルスレーザ光源51とビームスプリッタ48との間には、穴あきミラー52、レーザー光のビームウエスト径を変更するビームウエスト変更光学系53が配設されている。測距光源部は、パルスレーザ光源51、ビームウエスト変更光学系53、穴あきミラー52で構成されている。穴あきミラー52は、パルスレーザ光を穴部52aからビームスプリッタ48に導き、測定対象物から反射して戻って来た反射レーザー光を測距受光部54に向けて反射する役割を有する。
【0114】
パルスレーザ光源51は、制御部26の制御により所定のタイミングで赤外パルスレーザ光を発する。赤外パルスレーザ光は、ビームスプリッタ48によって高低角用回動ミラー55に向けて反射される。高低角用回動ミラー55は、赤外パルスレーザ光を測定対象物に向けて反射する。高低角用回動ミラー55は、高低角方向に回転することで、鉛直方向に延びる光軸47を高低角方向の投光光軸56に変換する。ビームスプリッタ48と高低角用回動ミラー55との間でかつ鏡筒46の内部には集光レンズ57が配設されている。
【0115】
測定対象物からの反射レーザー光は、高低角回動用ミラー55、集光レンズ57、ビームスプリッタ48、穴あきミラー52を経て測距受光部54に導かれる。また、測距受光部54には、内部参照光路を通って参照光も導かれる。反射レーザー光が測距受光部54で受光されるまでの時間と、レーザー光が内部参照光路を通って測距受光部54で受光されるまでの時間との差に基づき、点群データ処理装置1から測定対象物(測定対象点)までの距離が測定される。
【0116】
撮像部25は、画像受光部58を有する。画像受光部58は、鏡筒46の底部に設けられている。画像受光部58は、多数の画素が平面状に集合して配列されたもの、例えば、CCD(Charge Coupled Device)で構成されている。画像受光部58の各画素の位置は光軸50によって特定される。例えば、光軸50を原点として、X−Y座標を想定し、このX−Y座標の点として画素が定義される。
【0117】
回転照射部28は、投光ケーシング59の内部に収納されている。投光ケーシング59の周壁の一部は、投光窓となっている。図11に示すように、鏡筒46のフランジ部60には、一対のミラーホルダー板61が対向して設けられている。ミラーホルダー板61には、回動軸62が掛け渡されている。高低角用回動ミラー55は、回動軸62に固定されている。回動軸62の一端部には高低角ギア63が嵌着されている。回動軸62の他端側には高低角検出器64が設けられている。高低角検出器64は、高低角用回動ミラー55の回動角を検出し、その検出結果を制御部26に出力する。
【0118】
ミラーホルダー板61の一方には、高低角用駆動モータ65が取り付けられている。高低角用駆動モータ65の出力軸には駆動ギア66が嵌着されている。駆動ギア66は、回転軸62に取り付けられた高低角ギア63に噛合されている。高低角用駆動モータ65は、高低角検出器64の検出結果に基づき、制御部26の制御により適宜駆動される。
【0119】
投光ケーシング59の上部には、照星照門67が設けられている。照星照門67は、測定対象物を概略視準するのに用いられる。照星照門67を用いた視準方向は、投光光軸56の延びる方向、および回動軸62の延びる方向に対して直交する方向とされている。
【0120】
図12は、制御部のブロック図である。制御部26には、水平角検出器44、高低角検出器64、傾斜センサ37からの検出信号が入力される。また、制御部26は、操作部6から操作指示信号が入力される。制御部26は、水平角用駆動モータ38、高低角用駆動モータ65、整準モータ34を駆動制御する共に、作業状況、測定結果等を表示する表示部7を制御する。制御部26には、メモリカード、HDD等の外部記憶装置68が着脱可能とされている。
【0121】
制御部26は、演算部4、記憶部5、水平駆動部69、高低駆動部70、整準駆動部71、距離データ処理部72、画像データ処理部73等から構成されている。記憶部5は、測距や高低角と水平角の検出を行うために必要なシーケンスプログラム、演算プログラム、測定データの処理を実行する測定データ処理プログラム、画像処理を行う画像処理プログラム、点群データから面を抽出し、更に輪郭線を算出するプログラム、この算出した輪郭線を表示部7に表示させるための画像表示プログラム、点群データの再取得に係る動作を制御するプログラム等の各種のプログラムを格納すると共に、これらの各種のプログラムを統合管理するための統合管理プログラム等を格納する。また、記憶部5は、測定データ、画像データ等の各種のデータを格納する。水平駆動部69は、水平角用駆動モータ38を駆動制御し、高低駆動部70は、高低角用駆動モータ65を駆動制御し、整準駆動部71は、整準モータ34を駆動制御する。距離データ処理部72は、測距部24によって得られた距離データを処理し、画像データ処理部73は、撮像部25により得られた画像データを処理する。
【0122】
図13は、演算部4のブロック図である。演算部4は、三次元座標演算部74、リンク形成部75、グリッド形成部9、点群データ処理部100’を備えている。三次元座標演算部74には、距離データ処理部72から測定対象点の距離データが入力され、水平角検出器44および高低角検出器64から測定対象点の方向データ(水平角および高低角)が入力される。三次元座標演算部74は、入力された距離データと方向データとに基づき、点群データ処理装置1の位置を原点(0,0,0)とした各測定点の三次元座標(直交座標)を算出する。
【0123】
リンク形成部75には、画像データ処理部73から画像データおよび三次元座標演算部74が算出した各測定点の三次元座標の座標データが入力される。リンク形成部75は、画像データ(各測定点のRGB強度)と三次元座標を結び付けた点群データ2を形成する。つまり、リンク形成部75は、測定対象物のある点に着目した場合、その着目点の二次元画像中における位置と、その着目点の三次元座標とを関連付けしたものを作成する。この関連付けされたデータは、全ての測定点について算出され、それらが点群データ2となる。
【0124】
点群データ処理装置1は、異なる方向から測定した測定対象物の点群データ2を取得可能である。このため、一つの測定方向を1ブロックとすると、点群データ2は、複数ブロックの二次元画像と三次元座標で構成することができる。
【0125】
また、リンク形成部75は、以上の点群データ2をグリッド形成部9に出力する。グリッド形成部9は、点群データ2の隣接点の点間距離が一定でない場合に、等間隔のグリッド(メッシュ)を形成し、グリッドの交点に最も近い点を登録する。または、グリッド形成部9は、線形補間法やバイキュービック法を用いて、グリッドの交点位置に全点を補正する。なお、点群データ2の点間距離が一定である場合には、グリッド形成部9の処理を省略することができる。
【0126】
以下、グリッドの形成手順について説明する。図14は、点間距離が一定でない点群データを示す図であり、図15は、形成したグリッドを示す図である。図14に示すように、各列の平均水平間隔H1〜Nを求め、さらに列間の平均水平間隔の差分ΔHi,jを算出し、その平均をグリッドの水平間隔ΔHとする(数2)。垂直方向の間隔は、各列での垂直方向の隣接点との距離ΔVN,Hを算出し、画像サイズW,Hの画像全体におけるΔVN,Hの平均を垂直間隔ΔVとする(数3)。そして、図15に示すように、算出した水平間隔ΔHおよび垂直間隔ΔVのグリッドを形成する。
【0127】
【数2】
【0128】
【数3】
【0129】
次に、形成したグリッドの交点に最も近い点を登録する。この際、交点から各点までの距離には所定の閾値を設けて、登録を制限する。例えば、閾値は、水平間隔ΔHおよび垂直間隔ΔVの1/2とする。なお、線形補間法やバイキュービック法のように、交点との距離に応じた重みを付けて全点を補正してもよい。ただし、補間を行った場合には、本来計測していない点となる。
【0130】
以上のようにして得られた点群データは、点群データ処理部100’に出力される。点群データ処理部100’は、第1の実施形態で説明した動作を行い、その結果得られた画像が液晶ディスプレイである表示部7に表示される。この点は、第1の実施形態に関係して説明した場合と同じである。
【0131】
点群データ処理部100’は、図1の点群データ処理装置100において、画像表示装置109と操作入力部110を省いた構成を有する。この場合、FPGAを利用した専用の集積回路によりハードウェア的に点群データ処理部100’が構成されている。点群データ処理部100’は、点群データ処理装置100と同様にして点群データに対する処理を行う。
【0132】
(その他)
制御部26の構成において、グリッド形成部9から点群データが出力される形態とすると、第1の実施形態の点群データ処理装置と組み合わせて使用可能な三次元レーザースキャナとなる。また、グリッド形成部9から点群データが出力される形態とした三次元スキャナと、この三次元スキャナの出力を受け付け、実施形態1において説明した動作を行う図1の点群データ処理装置1とを組み合わせたシステムとすることで、本発明を利用した点群データ処理システムが得られる。
【0133】
3.第3の実施形態
以下、ステレオカメラを備えた画像計測装置を備えた点群データ処理装置について説明する。第1および第2の実施形態と同様の構成については、同じ符号を用いて、その説明を省略する。
【0134】
(点群データ処理装置の構成)
図16には、点群データ処理装置200が示されている。点群データ処理装置200は、ステレオカメラを備えた画像計測機能と、本発明を利用した点群データ処理機能を統合した構成を有している。点群データ処理装置200は、異なる方向から重複した撮影領域で測定対象物を撮影し、重複画像内の特徴点を対応づけ、予め求めた撮影部の位置および姿勢と重複画像内における特徴点の位置とに基づいて、特徴点の三次元座標を演算する。また、点群データ処理装置200は、重複画像における特徴点の視差、計測空間、および基準形態に基づいて、二次元画像と三次元座標が結び付けられている点群データを形成する。さらに、点群データ処理装置200は、得られた点群データに基づいて、面ラベリング処理および輪郭線データの算出を行う。また、点群データ処理装置200は、第1の実施形態で説明した点群データの再取得およびそれに基づく再演算を行う機能を有する。
【0135】
図16は、点群データ処理装置200の構成を示すブロック図である。点群データ処理装置200は、ステレオ画像を得るための撮影部76、77、特徴投影部78、画像データ処理部73、演算部4、記憶部5、操作部6、表示部7、データ出力部8を備えている。撮影部76、77には、デジタルカメラ、ビデオカメラ、工業計測用のCCDカメラ(Charge Coupled Device Camera)、CMOSカメラ(Complementary Metal Oxide Semiconductor Camera)等を用いる。撮影部76、77は、異なる撮影位置から重複した撮影領域で測定対象物を撮影するステレオカメラとして機能する。なお、撮像部の数は2台に限定されず、3台以上であってもよい。
【0136】
特徴投影部78には、プロジェクター、レーザー装置等を用いる。特徴投影部78は、測定対象物に対してランダムドットパターン、点状のスポット光、線状のスリット光などのパターンを投影する。これにより、測定対象物の特徴が乏しい部分に特徴を持たせ、画像処理を容易とする。特徴投影部78は、主に模様のない中〜小型の人工物の精密な計測の場合に使用する。通常屋外にある比較的大きい測定対象物の計測や、精密計測が不要な場合、あるいは、測定対象物に特徴がある場合、模様を塗布できる場合には、特徴投影部78を省略できる。
【0137】
画像データ処理部73は、撮像部76、77が撮影した重複画像を演算部4で処理できる画像データに変換する。記憶部5は、撮影位置および姿勢を測定するプログラム、重複画像内から特徴点を抽出して対応づけるプログラム、撮影位置および姿勢と重複画像内の特徴点の位置とに基づいて三次元座標を演算するプログラム、誤対応点を判定して点群データを形成するプログラム、点群データから面を抽出し、更に輪郭線を算出するプログラム、この算出した輪郭線を表示部7に表示させるための画像表示プログラム、点群データの再取得に係る動作を制御するプログラム等の各種のプログラムを格納すると共に、これらの各種のプログラムを統合管理するための統合管理プログラム等を格納する。また、記憶部5には、点群データや画像データ等の各種データが記憶される。
【0138】
操作部6は、ユーザにより操作され、演算部4に操作指示信号を出力する。表示部7は、演算部4の処理データを表示し、データ出力部8は、演算部4の処理データを外部に出力する。演算部4には、画像データ処理部73から画像データが入力される。演算部4は、固定された2台以上のカメラを使用する場合、校正用被写体79の撮影画像に基づいて撮像部76、77の位置および姿勢を測定し、測定対象物の重複画像内から特徴点を抽出して対応付ける。演算部4は、撮像部76、77の位置および姿勢を計算し、そして重複画像内の特徴点の位置に基づいて、測定対象物の三次元座標を演算し、点群データ2を形成する。さらに、演算部4は、点群データ2から面を抽出し、測定対象物の輪郭線を算出する。
【0139】
図17は、演算部4のブロック図である。演算部4は、点群データ処理部100’、撮影位置姿勢測定部81、特徴点対応付部82、背景除去部83、特徴点抽出部84、対応点探索部85、三次元座標演算部86、誤対応点判定部87、視差判定部88、空間判定部89、形態判定部90を備えている。
【0140】
点群データ処理部100’は、図1の点群データ処理装置100において、画像表示装置109と操作入力部110を省いた構成を有する。ここでは、FPGAを利用した専用の集積回路によりハードウェア的に点群データ処理部100’が構成されている。点群データ処理部100’は、点群データ処理装置100と同様にして点群データに対する処理を行う。
【0141】
撮影位置姿勢測定部81には、撮像部76、77が撮影した重複画像の画像データが画像データ処理部73から入力される。図16に示すように、校正用被写体79には、ターゲット80(レトロターゲット、またはコードターゲット、またはカラーコードターゲット)が所定間隔で貼られており、撮影位置姿勢測定部81は、校正用被写体79の撮影画像からターゲット80の画像座標を検出し、公知の相互標定法、または単写真標定法もしくはDLT(Direct Linear Transformation)法、あるいはバンドル調整法を用いて、撮影部76、77の位置および姿勢を測定する。なお、相互標定法、単写真標定法もしくはDLT法、バンドル調整法は、単独でも用いても組み合わせて用いてもよい。
【0142】
特徴点対応付部82は、測定対象物の重複画像を画像データ処理部73から入力し、重複画像から測定対象物の特徴点を抽出して対応付ける。特徴点対応付部82は、背景除去部83、特徴点抽出部84、対応点探索部85で構成されている。背景除去部83は、測定対象物が写された撮影画像から測定対象物が写されていない背景画像を差分することや、測定したい箇所をオペレータが操作部6により指定すること、あるいは測定箇所を自動抽出(あらかじめ登録されたモデルの利用や特徴が豊富な箇所を自動的に検出)することで、測定対象物のみが写された背景除去画像を生成する。なお、背景を除去する必要がない場合には、背景除去部83の処理を省略することができる。
【0143】
特徴点抽出部84は、背景除去画像から特徴点を抽出する。特徴点の抽出には、ソーベル、ラプラシアン、プリューウィット、ロバーツなどの微分フィルタを用いる。対応点探索部85は、一方の画像で抽出された特徴点に対応する対応点を他方の画像内で探索する。対応点の探索には、残差逐次検定法(Sequential Similarity Detection Algorithm Method:SSDA)、正規化相関法、方向符号照合法(Orientation Code Matching:OCM)などのテンプレートマッチングを用いる。
【0144】
三次元座標演算部86は、撮影位置姿勢測定部81で測定された撮像部76、77の位置および姿勢と、特徴点対応付部82で対応付けた特徴点の画像座標に基づいて、各特徴点の三次元座標を演算する。誤対応点判定部87は、視差、計測空間、および基準形態の少なくとも一つに基づいて、誤対応点を判定する。誤対応点判定部87は、視差判定部88、空間判定部89、形態判定部90で構成されている。
【0145】
視差判定部88は、重複画像で対応する特徴点の視差のヒストグラムを作成し、視差の平均値から所定範囲内にない視差を持つ特徴点を誤対応点として判定する。例えば、平均値±1.5σ(標準偏差)を閾値とする。空間判定部89は、校正用被写体70の重心位置から所定距離の空間を計測空間として定義し、三次元座標演算部86で演算された特徴点の三次元座標がその計測空間からはみ出していた場合に、その特徴点を誤対応点として判定する。形態判定部90は、三次元座標演算部86で演算された特徴点の三次元座標から、測定対象物の基準形態(粗面)を形成または入力し、基準形態と特徴点の三次元座標との距離に基づいて誤対応点を判定する。例えば、特徴点に基づいて、所定長さ以上の辺を有するTIN(Triangulated Irregular Network)を形成し、辺の長いTINを削除することで、粗面を形成する。次に、粗面と特徴点との距離に基づいて誤対応点を判定する。
【0146】
誤対応点判定部87は、判定された誤対応点を除いた点群データ2を形成する。点群データ2は、二次元画像と三次元座標とを結び付けたダイレクトリンク構造を有している。点群データ2の隣接点の点間距離が一定でない場合には、第2の実施形態で説明したように、演算部4は、誤対応点判定部87と点群データ処理装置100’との間に、グリッド形成部9を備える必要がある。この場合、グリッド形成部9は、等間隔のグリッド(メッシュ)を形成し、グリッドの交点に最も近い点を登録する。その後、第1の実施形態で説明したように、点群データ2から面が抽出され、更に測定対象物の輪郭線の算出が行われる。また、再度点群データの取得な必要な領域における点群データの取得が行われる。
【0147】
本実施形態における点群データの再取得には、2つの方法がある。その第1は、撮影部76、77により、再度の撮影を行い、指定された領域の点群データの再取得を行う場合である。これは、通過する車両が移ってしまい点群データにノイズが混じってしまった場合や天候により正確に点群データが得られなかった場合等に利用される。その第2は、撮影画像のデータは、前回と同じものを用い、特徴点の密度をより高くした演算を行い、再度点群データを得る場合である。第2の実施形態の三次元レーザースキャナの場合と異なり、撮影部76、77が撮影した画像の密度(精細さ)は、利用するカメラの性能に依存するので、同じ条件であれば、再度撮影を行ってもより高密度な画像が得られるわけではない。この場合、指定された領域において、特徴点の密度を大きくした演算を再度行うことで、より高密度な点群データを得る方法が有効となる。
【0148】
第3の実施形態によれば、画像計測装置によって二次元画像と三次元座標から成る点群データを取得することができる。また、誤対応点判定部87から点群データが出力される形態とした画像計測装置と、この画像形成装置の出力を受け付け、実施形態1において説明した動作を行う図1の点群データ処理装置1とを組み合わせたシステムとすることで、本発明を利用した点群データ処理システムが得られる。
【産業上の利用可能性】
【0149】
本発明は、三次元情報の測定を行う技術に利用することができる。
【符号の説明】
【0150】
1、100、200…点群データ処理装置、120…立方体、121…拡大部分、122…輪郭線、123…平面、123a…平面121の外縁、124…平面、124b…平面124の外縁、125…非面領域、131…平面、131a…平面131の外縁、132…平面、132a…平面132の外縁、133…非面領域、134…交線、135…局所平面、136…局所平面、137…局所平面、138…輪郭線、150…輪郭線、1…点群データ処理装置、2…点群データ、22…整準部、23…回転機構部、24…測距部、25…撮像部、26…制御部、27…本体部、28…回転照射部、29…台盤、30…下部ケーシング、31…ピン、32…調整ネジ、33…引っ張りスプリング、34…整準モータ、35…整準駆動ギア、36…整準従動ギア、37…傾斜センサ、38…水平回動モータ、39…水平回動駆動ギア、40…水平回動ギア、41…回転軸部、42…回転基盤、43…軸受部材、44…水平角検出器、45…本体部ケーシング、46…鏡筒、47…光軸、48…ビームスプリッタ、49、50…光軸、51…パルスレーザ光源、52…穴あきミラー、53…ビームウエスト変更光学系、54…測距受光部、55…高低角用回動ミラー、56…投光光軸、57…集光レンズ、58…画像受光部、59…投光ケーシング、60…フランジ部、61…ミラーホルダー板、62…回動軸、63…高低角ギア、64…高低角検出器、65…高低角用駆動モータ、66…駆動ギア、67…照星照門、68…外部記憶装置、69…水平駆動部、76、77…撮影部、78…特徴投影部、79…校正用被写体、80…ターゲット。
【特許請求の範囲】
【請求項1】
測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去部と、
前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、
前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出部と、
前記非面領域除去部、前記面ラベリング部および前記輪郭線算出部の少なくとも一つの処理の結果に基づいて前記点群データの再取得を要求する処理を行う点群データ再取得要求処理部と
を備え、
前記輪郭線算出部は、
前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得部と、
前記局所領域にフィッティングし前記第1の面および前記第2の面と異なる面の方向を有する局所面、または前記局所領域にフィッティングし前記第1の面および前記第2の面と平行でない局所線の取得を行う局所空間取得部と
を備え、
前記局所面または前記局所線に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理装置。
【請求項2】
前記点群データ再取得要求処理部は、前記非面領域の点群データの取得を要求する処理を行うことを特徴とする請求項1に記載の点群データ処理装置。
【請求項3】
前記同一ラベルの付与および前記輪郭線の算出の精度を判定する精度判定部を備え、
前記点群データ再取得要求処理部は、前記精度判定部の判定に基づいて前記点群データの再取得を要求する処理を行うことを特徴とする請求項1または2に記載の点群データ処理装置。
【請求項4】
前記点群データの再取得を要求する領域の指定を受け付ける受け付け部を備えることを特徴とする請求項1〜3のいずれか一項に記載の点群データ処理装置。
【請求項5】
前記点群データの再取得を要求する処理は、その前の点群データの取得時に比較して、点の密度の高い点群データの再取得を要求する処理であることを特徴とする請求項1〜4のいずれか一項に記載の点群データ処理装置。
【請求項6】
前記点群データは、対象物からの反射光の強度に関する情報を含み、
前記反射光の強度に関する情報に基づいて、前記同一ラベルを付与された面内における模様を構成する二次元エッジを算出する二次元エッジ算出部を更に備え、
前記点群データ再取得要求処理部は、前記二次元エッジ算出部の算出結果に基づいて前記点群データの再取得を要求する処理を行うことを特徴とする請求項1〜5のいずれか一項に記載の点群データ処理装置。
【請求項7】
測定対象物に対して測距光を回転照射する回転照射部と、
前記測距光の飛行時間に基づいて自身の位置から測定対象物上の測定点までの距離を測距する測距部と、
前記測距光の照射方向を検出する照射方向検出部と、
前記距離および前記照射方向に基づいて、前記測定点の三次元座標を算出する三次元座標算出部と、
前記三次元座標算出部が算出した結果に基づいて前記測定対象物の点群データを取得する点群データ取得部と、
測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去部と、
前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、
前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出部と、
前記非面領域除去部、前記面ラベリング部および前記輪郭線算出部の少なくとも一つの処理の結果に基づいて前記点群データの再取得を要求する処理を行う点群データ再取得要求処理部と
を備え、
前記輪郭線算出部は、
前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得部と、
前記局所領域にフィッティングし前記第1の面および前記第2の面と異なる面の方向を有する局所面、または前記局所領域にフィッティングし前記第1の面および前記第2の面と平行でない局所線の取得を行う局所空間取得部と
を備え、
前記局所面または前記局所線に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理装置。
【請求項8】
異なる方向から重複した撮影領域で測定対象物を撮影する撮影部と、
前記撮影部によって得られた重複画像内の特徴点を対応づける特徴点対応付部と、
前記撮影部の位置および姿勢を測定する撮影位置姿勢測定部と、
前記撮影部の位置および姿勢と前記重複画像内における特徴点の位置とに基づいて特徴点の三次元座標を算出する三次元座標算出部と、
前記三次元座標算出部が算出した結果に基づいて前記測定対象物の点群データを取得する点群データ取得部と、
測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去部と、
前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、
前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出部と、
前記非面領域除去部、前記面ラベリング部および前記輪郭線算出部の少なくとも一つの処理の結果に基づいて前記点群データの再取得を要求する処理を行う点群データ再取得要求処理部と
を備え、
前記輪郭線算出部は、
前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得部と、
前記局所領域にフィッティングし前記第1の面および前記第2の面と異なる面の方向を有する局所面、または前記局所領域にフィッティングし前記第1の面および前記第2の面と平行でない局所線の取得を行う局所空間取得部と
を備え、
前記局所面または前記局所線に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理装置。
【請求項9】
測定対象物の点群データを光学的に得る点群データ取得手段と、
測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去手段と、
前記非面領域除去手段によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング手段と、
前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出手段と、
前記非面領域除去手段、前記面ラベリング手段および前記輪郭線算出手段の少なくとも一つの処理の結果に基づいて前記点群データの再取得を要求する処理を行う点群データ再取得要求処理手段と
を備え、
前記輪郭線算出手段は、
前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得手段と、
前記局所領域にフィッティングし前記第1の面および前記第2の面と異なる面の方向を有する局所面、または前記局所領域にフィッティングし前記第1の面および前記第2の面と平行でない局所線の取得を行う局所空間取得手段と
を備え、
前記局所面または前記局所線に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理システム。
【請求項10】
測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去ステップと、
前記非面領域除去ステップによって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリングステップと、
前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出ステップと、
前記非面領域除去ステップ、前記面ラベリングステップおよび前記輪郭線算出ステップの少なくとも一つの処理の結果に基づいて前記点群データの再取得を要求する処理を行う点群データ再取得要求処理ステップと
を備え、
前記輪郭線算出ステップは、
前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得ステップと、
前記局所領域にフィッティングし前記第1の面および前記第2の面と異なる面の方向を有する局所面、または前記局所領域にフィッティングし前記第1の面および前記第2の面と平行でない局所線の取得を行う局所空間取得ステップと
を備え、
前記局所面または前記局所線に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理方法。
【請求項11】
コンピュータに読み取らせて実行させるプログラムであって、
コンピュータを、
測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去機能と、
前記非面領域除去機能によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング機能と、
前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出機能と、
前記非面領域除去機能、前記面ラベリング機能および前記輪郭線算出機能の少なくとも一つの処理の結果に基づいて前記点群データの再取得を要求する処理を行う点群データ再取得要求処理機能と
を備え、
前記輪郭線算出機能は、
前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得機能と、
前記局所領域にフィッティングし前記第1の面および前記第2の面と異なる面の方向を有する局所面、または前記局所領域にフィッティングし前記第1の面および前記第2の面と平行でない局所線の取得を行う局所空間取得機能と
を備え、
前記局所面または前記局所線に基づいて前記輪郭線の算出が行われる処理を実行させることを特徴とする点群データ処理プログラム。
【請求項1】
測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去部と、
前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、
前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出部と、
前記非面領域除去部、前記面ラベリング部および前記輪郭線算出部の少なくとも一つの処理の結果に基づいて前記点群データの再取得を要求する処理を行う点群データ再取得要求処理部と
を備え、
前記輪郭線算出部は、
前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得部と、
前記局所領域にフィッティングし前記第1の面および前記第2の面と異なる面の方向を有する局所面、または前記局所領域にフィッティングし前記第1の面および前記第2の面と平行でない局所線の取得を行う局所空間取得部と
を備え、
前記局所面または前記局所線に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理装置。
【請求項2】
前記点群データ再取得要求処理部は、前記非面領域の点群データの取得を要求する処理を行うことを特徴とする請求項1に記載の点群データ処理装置。
【請求項3】
前記同一ラベルの付与および前記輪郭線の算出の精度を判定する精度判定部を備え、
前記点群データ再取得要求処理部は、前記精度判定部の判定に基づいて前記点群データの再取得を要求する処理を行うことを特徴とする請求項1または2に記載の点群データ処理装置。
【請求項4】
前記点群データの再取得を要求する領域の指定を受け付ける受け付け部を備えることを特徴とする請求項1〜3のいずれか一項に記載の点群データ処理装置。
【請求項5】
前記点群データの再取得を要求する処理は、その前の点群データの取得時に比較して、点の密度の高い点群データの再取得を要求する処理であることを特徴とする請求項1〜4のいずれか一項に記載の点群データ処理装置。
【請求項6】
前記点群データは、対象物からの反射光の強度に関する情報を含み、
前記反射光の強度に関する情報に基づいて、前記同一ラベルを付与された面内における模様を構成する二次元エッジを算出する二次元エッジ算出部を更に備え、
前記点群データ再取得要求処理部は、前記二次元エッジ算出部の算出結果に基づいて前記点群データの再取得を要求する処理を行うことを特徴とする請求項1〜5のいずれか一項に記載の点群データ処理装置。
【請求項7】
測定対象物に対して測距光を回転照射する回転照射部と、
前記測距光の飛行時間に基づいて自身の位置から測定対象物上の測定点までの距離を測距する測距部と、
前記測距光の照射方向を検出する照射方向検出部と、
前記距離および前記照射方向に基づいて、前記測定点の三次元座標を算出する三次元座標算出部と、
前記三次元座標算出部が算出した結果に基づいて前記測定対象物の点群データを取得する点群データ取得部と、
測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去部と、
前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、
前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出部と、
前記非面領域除去部、前記面ラベリング部および前記輪郭線算出部の少なくとも一つの処理の結果に基づいて前記点群データの再取得を要求する処理を行う点群データ再取得要求処理部と
を備え、
前記輪郭線算出部は、
前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得部と、
前記局所領域にフィッティングし前記第1の面および前記第2の面と異なる面の方向を有する局所面、または前記局所領域にフィッティングし前記第1の面および前記第2の面と平行でない局所線の取得を行う局所空間取得部と
を備え、
前記局所面または前記局所線に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理装置。
【請求項8】
異なる方向から重複した撮影領域で測定対象物を撮影する撮影部と、
前記撮影部によって得られた重複画像内の特徴点を対応づける特徴点対応付部と、
前記撮影部の位置および姿勢を測定する撮影位置姿勢測定部と、
前記撮影部の位置および姿勢と前記重複画像内における特徴点の位置とに基づいて特徴点の三次元座標を算出する三次元座標算出部と、
前記三次元座標算出部が算出した結果に基づいて前記測定対象物の点群データを取得する点群データ取得部と、
測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去部と、
前記非面領域除去部によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング部と、
前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出部と、
前記非面領域除去部、前記面ラベリング部および前記輪郭線算出部の少なくとも一つの処理の結果に基づいて前記点群データの再取得を要求する処理を行う点群データ再取得要求処理部と
を備え、
前記輪郭線算出部は、
前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得部と、
前記局所領域にフィッティングし前記第1の面および前記第2の面と異なる面の方向を有する局所面、または前記局所領域にフィッティングし前記第1の面および前記第2の面と平行でない局所線の取得を行う局所空間取得部と
を備え、
前記局所面または前記局所線に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理装置。
【請求項9】
測定対象物の点群データを光学的に得る点群データ取得手段と、
測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去手段と、
前記非面領域除去手段によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング手段と、
前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出手段と、
前記非面領域除去手段、前記面ラベリング手段および前記輪郭線算出手段の少なくとも一つの処理の結果に基づいて前記点群データの再取得を要求する処理を行う点群データ再取得要求処理手段と
を備え、
前記輪郭線算出手段は、
前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得手段と、
前記局所領域にフィッティングし前記第1の面および前記第2の面と異なる面の方向を有する局所面、または前記局所領域にフィッティングし前記第1の面および前記第2の面と平行でない局所線の取得を行う局所空間取得手段と
を備え、
前記局所面または前記局所線に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理システム。
【請求項10】
測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去ステップと、
前記非面領域除去ステップによって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリングステップと、
前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出ステップと、
前記非面領域除去ステップ、前記面ラベリングステップおよび前記輪郭線算出ステップの少なくとも一つの処理の結果に基づいて前記点群データの再取得を要求する処理を行う点群データ再取得要求処理ステップと
を備え、
前記輪郭線算出ステップは、
前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得ステップと、
前記局所領域にフィッティングし前記第1の面および前記第2の面と異なる面の方向を有する局所面、または前記局所領域にフィッティングし前記第1の面および前記第2の面と平行でない局所線の取得を行う局所空間取得ステップと
を備え、
前記局所面または前記局所線に基づいて前記輪郭線の算出が行われることを特徴とする点群データ処理方法。
【請求項11】
コンピュータに読み取らせて実行させるプログラムであって、
コンピュータを、
測定対象物の点群データに基づいて非面領域の点を除去する非面領域除去機能と、
前記非面領域除去機能によって除去された点以外の点に対して、同一面上の点に同一ラベルを付与する面ラベリング機能と、
前記非面領域を間に挟み、異なるラベルが付与された第1の面および第2の面の間の部分において、前記第1の面と前記第2の面とを区別する輪郭線を算出する輪郭線算出機能と、
前記非面領域除去機能、前記面ラベリング機能および前記輪郭線算出機能の少なくとも一つの処理の結果に基づいて前記点群データの再取得を要求する処理を行う点群データ再取得要求処理機能と
を備え、
前記輪郭線算出機能は、
前記第1の面と前記第2の面の間において、前記第1の面に連続し前記非面領域の点群データに基づく局所領域を取得する局所領域取得機能と、
前記局所領域にフィッティングし前記第1の面および前記第2の面と異なる面の方向を有する局所面、または前記局所領域にフィッティングし前記第1の面および前記第2の面と平行でない局所線の取得を行う局所空間取得機能と
を備え、
前記局所面または前記局所線に基づいて前記輪郭線の算出が行われる処理を実行させることを特徴とする点群データ処理プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2012−13660(P2012−13660A)
【公開日】平成24年1月19日(2012.1.19)
【国際特許分類】
【出願番号】特願2010−153318(P2010−153318)
【出願日】平成22年7月5日(2010.7.5)
【出願人】(000220343)株式会社トプコン (904)
【Fターム(参考)】
【公開日】平成24年1月19日(2012.1.19)
【国際特許分類】
【出願日】平成22年7月5日(2010.7.5)
【出願人】(000220343)株式会社トプコン (904)
【Fターム(参考)】
[ Back to top ]