【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(平成26年度国土技術政策総合研究所、レーザプロファイラ等の既存資産を用いた3次元CADデータの生成・活用技術に関する研究、産業技術力強化法第19条の適用を受ける特許出願)
【文献】
点群座標データを用いた3次元モデルの自動生成に関する研究,知能と情報(日本知能情報ファジィ学会誌,2011年,Vol.23,No.4,p572-590
(58)【調査した分野】(Int.Cl.,DB名)
測量データに基づく処理を行うために、測量データを選択する測量データ処理装置をコンピュータによって実現するための測量データ処理プログラムであって、コンピュータを、
対象物の計測点について計測した、三次元計測データの集まりである点群データを取得する点群データ取得手段と、
対象物の延長方向に所定の間隔をおいて複数の横断面を設定し、当該横断面に近接する計測点を横断面上に投影する設定投影手段と、
前記横断面を高さ方向に複数のエリアに分割し、標高の低いエリアから順に、当該エリアに含まれる計測点を取得し、取得した計測点の横断面における幅方向の距離が所定値以下であれば、当該計測点を選択計測点とし、当該幅に含まれる他の全ての計測点を削除し、当該選択計測点に基づいて平坦な地表面を抽出する平坦地表面を抽出する選択する計測点選択手段として機能させるための測量データ処理プログラム。
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、作業者が目視によって水平地表面やブレークラインを見いだす方法は、効率が悪く、また、作業者によって抽出の精度がまちまちであった。
【0007】
一方、特許文献1の技術では、コンピュータによって自動的にブレークラインなどを見いだすことができるという点において、客観性や効率の面から好ましいものである。
【0008】
しかし、特許文献1の技術では、あらゆる方向におけるブレークラインを考慮しているため、本来必要な方向のブレークラインを抽出するためにはノイズが多く、処理が複雑になるという問題があった。このため、水平地表面も性格に抽出できないという問題があった。加えて、三次元空間から直接的に地表面やブレークラインを抽出しようとしているので、この点においても処理が複雑であるという問題があった。
【0009】
さらに、水平地表面やブレークラインを生成する際に、測定誤差を含むデータも用いているので、処理が煩雑になるだけでなく、抽出の精度が十分であるとはいえなかった。
【0010】
この発明は、上記のような問題点の少なくとも一つを解決して、効率的で精度のよい測量データ処理を行うことのできる測量データ処理装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
独立して適用可能な、本発明のいくつかの特徴を以下に示す。
【0012】
(1)(2)この発明にかかる測量データ処理装置は、測量データに基づいて地表面を抽出する測量データ処理装置であって、対象物の計測点について計測した、三次元計測データの集まりである点群データを取得する点群データ取得手段と、対象物の延長方向に所定の間隔をおいて複数の横断面を設定し、当該横断面に近接する計測点を横断面上に投影する設定投影手段と、前記横断面上の計測点に基づいて、平坦な地表面を抽出する平坦地表面抽出手段とを備えている。
【0013】
したがって、横断面における形状に基づいて地表面を抽出しているので、処理効率がよく精度のよい抽出を行うことができる。
【0014】
(3)この発明にかかる測量データ処理装置は、設定投影手段が、断面形状データによるブレークラインの方向に所定の間隔をおいて複数の横断面を設定することを特徴としている。
【0015】
したがって、平坦地表面を抽出するための横断面を適切に設定することができる。
【0016】
(4)この発明にかかる測量データ処理装置は、平坦地表面抽出手段が、前記横断面の幅方向に近接する複数の計測点について、標高の低いものを選択計測点とし、当該選択計測点に基づいて平坦地表面を抽出することを特徴としている。
【0017】
したがって、計測誤差を低減して正確に平坦地表面を抽出することができる。
【0018】
(5)この発明にかかる測量データ処理装置は、平坦地表面抽出手段が、前記横断面を高さ方向に複数のエリアに分割し、標高の低いエリアから順に、当該エリアに含まれる計測点を取得し、取得した計測点の横断面における幅方向の距離が所定値以下であれば、全てのエリアに関して当該幅に含まれる計測点のうち前記取得した計測点を選択計測点とすることを特徴としている。
【0019】
したがって、より詳細に誤差データを排除することができる。
【0020】
(6)この発明にかかる測量データ処理装置は、平坦地表面抽出手段が、隣接する選択計測点の角度に基づいて平坦地表線を抽出し、各横断面の平坦地表線をつないで平坦地表面とすることを特徴としている。
【0021】
したがって、精度よく平坦地表面を抽出することができる。
【0022】
(7)この発明にかかる測量データ処理装置は、平坦地表面抽出手段が、所定以上の幅があり、最も標高の高い平坦地表線より上部の計測点を削除して平坦にすることを特徴としている。
【0023】
したがって、平坦面の上にあるものに起因したノイズデータを排除することができる。
【0024】
(8)(9)この発明にかかる測量データ処理装置は、各横断面の平坦地表線の端部の変化点をつないだブレークラインを抽出するブレークライン抽出手段を備えている。
【0025】
したがって、精度よくブレークラインを抽出することができる。
【0026】
(10)(11)この発明にかかる測量データ処理装置は、測量データに基づく処理を行うために、測量データを選択する測量データ処理装置であって、対象物の計測点について計測した、三次元計測データの集まりである点群データを取得する点群データ取得手段と、対象物の延長方向に所定の間隔をおいて複数の横断面を設定し、当該横断面に近接する計測点を横断面上に投影する設定投影手段と、前記横断面を高さ方向に複数のエリアに分割し、標高の低いエリアから順に、当該エリアに含まれる計測点を取得し、取得した計測点の横断面における幅方向の距離が所定値以下であれば、全てのエリアに関して当該幅に含まれる計測点のうち前記取得した計測点を選択する計測点選択手段とを備えている。
【0027】
したがって、ノイズデータを排除して測量データ処理のために必要なデータを選択することができる。
【0028】
「点群データ取得手段」は、実施形態においては、ステップS1がこれに対応する。
【0029】
「断面設定手段」は、実施形態においては、ステップS3がこれに対応する。
【0030】
「計測点投影手段」は、実施形態においては、ステップS5がこれに対応する。
【0031】
「計測点選択手段」は、実施形態においては、ステップS6がこれに対応する。
【0032】
「角度変化抽出手段」は、実施形態においては、ステップS7がこれに対応する。
【0033】
「ブレークライン生成手段」は、実施形態においては、ステップS10がこれに対応する。
【0034】
この発明において、「プログラム」とは、CPUにより直接実行可能なプログラムだけでなく、ソース形式のプログラム、圧縮処理がされたプログラム、暗号化されたプログラム等を含む概念である。
【発明を実施するための形態】
【0036】
1.全体構成
図1に、この発明の一実施形態による測量データ処理装置の機能ブロック図を示す。点群データ取得手段2は、河川などの対象物について、航空レーザ測量(LP)などの点群データ(三次元地形データ)18を取得する。点群データ18は、各計測点の三次元計測データの集まりである。点群データ18は、記録部20に記録される。
【0037】
この実施形態において、設定投影手段4は、断面設定手段10と計測点投影手段12を有している。断面設定手段10は、河川などの対象物の延長方向に所定間隔を置いて複数の横断面Sを設定する。この実施形態では、対象物に沿った候補ブレークラインに所定間隔を置いて複数の横断面Sを設定するようにしている。
【0038】
計測点投影手段12は、各横断面Sについて近接する計測点を選択する。この実施形態では、横断面Sに沿って所定区間ΔLを設定し、横断面Sに垂直な方向に選択幅ΔWを設定している。各所定区間ΔLにおいて選択される計測点の数は、選択幅ΔWの大きさによって変わる。つまり、選択幅ΔWが大きいほど、多くの計測点が選択されることになる。この実施形態では、所定区間ΔLのそれぞれにおいて、所定基準によって(たとえば、選択される計測点の数所定数を上回るように、所定区間ΔL内における計測点のX値の標準偏差が所定値以上(所定以上のばらつきとなるよう)となるように)所定区間ΔLごとに選択幅ΔWを変化させて、計測点を選択する様にしている。
【0039】
さらに、計測点投影手段12は、選択した計測点を、横断面S上に来るように平行移動する。つまり、高さ方向の計測値を維持しつつ、横断面S上まで移動する。
【0040】
したがって、横断面Sの近傍に多くの計測点があれば、当該区間では、これら計測点が抽出される。横断面の近傍にある計測点が少ない場合には、当該区間では、より遠くにある計測点も含めて抽出される。
【0041】
このようにして抽出された計測点に基づいて、平坦地表面抽出手段6が、平坦な地表面を抽出する。この実施形態において、平坦地表面抽出手段6は、計測点選択手段14と角度変化抽出手段16を有している。
【0042】
計測点選択手段14は、横断面Sの計測点Pのうち標高の低いもの(図において丸印を付した計測点)を選択する。角度変化抽出手段16は、このようにして選択した計測点Pを並べたときの角度変化をみて、平坦地表面FSを見いだす。
【0043】
ブレークライン生成手段8は、各横断面Sの変化点Vを接続してブレークライン22を生成する。
【0044】
2.ハードウエア構成
図2に、この発明の一実施形態による測量データ処理装置のハードウエア構成を示す。CPU30に、メモリ32、ディスプレイ34、ハードディスク36、DVD−ROMドライブ38、マウス/キーボード40が接続されている。ハードディスク36には、オペレーティングシステム42、測量データ処理プログラム44、横断面形状データ48などが記録されている。
【0045】
測量データ処理プログラム44は、オペレーティングシステム42と協働してその機能を発揮するものである。これらプログラムは、DVD−ROM46に記録されていたものを、DVD−ROMドライブ38を介して、ハードディスク36にインストールしたものである。なお、インターネットを介してダウンロードしたものであってもよい。
【0046】
3.測量データ処理プログラム44の処理
図3に、測量データ処理プログラム44のフローチャートを示す。CPU30は、河川や道路などの計測点について計測した三次元計測データの集まりである点群データ18を取得し、ハードディスク36に記録する(ステップS1)。点群データ18は、各測量点についてのX、Y、Z座標の数値データの集合である。点群データ18は、DVD−ROMなどの記録媒体から読み込んでもいいし、ネットワークなどを介して取り込むようにしてもよい。
【0047】
この実施形態では、レーザプロファイラ測量(LP測量)によって得た点群データを用いている。LP測量とは、航空機に搭載したレーザスキャナから地上にレーザ光を照射し、反射したレーザ光との時間差により得られる地上までの距離と、GPS測量機、IMU(慣性計測装置)から得られる位置とに基づいて、地形の三次元データを測量するものである。なお、車などを用いて測量した三次元データを用いることもできる。
【0048】
3.1横断面の設定と計測点の投影
次に、CPU30は、候補となるブレークラインを設定する(ステップS2)。この実施形態では、既に生成されている過去の断面形状データ48(河川などの所定間隔に生成された断面形状データ)の変化点を結ぶ線(スプライン曲線)によって候補ブレークラインを生成するようにしている。たとえば、
図4Aに示すように、断面形状データ48の法肩を結ぶ線を候補ブレークライン50として生成する。
【0049】
CPU30は、この候補ブレークライン50を点群データ18に重ねる。両者の座標位置は、基準となる座標(たとえば距離標の座標)に基づいて合わせるようにすればよい。
【0050】
なお、過去の断面形状データ48がない場合などは、航空写真などの地図をディスプレイ34に表示し、ユーザがマウス40を操作して、候補ブレークライン50を入力するようにしてもよい。この場合も、基準となる座標に基づいて両者の座標位置を合わせるようにすればよい。
【0051】
続いて、CPU30は、
図4Bに示すように、この候補ブレークライン50に垂直な横断面Sを、候補ブレークライン50に沿って生成する(ステップS3)。なお、この実施形態では、候補ブレークライン50に対して垂直に横断面Sを生成しているが、垂直でなく任意の角度でよい。
【0052】
次に、CPU30は、生成した横断面Sに対し、近傍の計測点Pを抽出して投影する(ステップS5)。この処理の詳細を、
図5、
図6に示す。
【0053】
まず、CPU30は、対象横断面を含む矩形を生成する(ステップS501)。
図7に、点群データ18を模式的に示す。多数の計測点Pが示されている。各計測点Pは、X値、Y値、Z値を有している。なお、
図7において、高さを表すZ値は紙面に垂直な方向であるため表現されていない。
【0054】
CPU30は、対象横断面Sを含む矩形52を生成する。生成された矩形52と、これに含まれる点群データ18の計測点Pを、
図8Aに示す。
【0055】
CPU30は、この矩形52を、対象横断面Sに沿って複数の区間ΔLに分割する(ステップS502)。この実施形態では、等間隔の区間ΔLに分割しているが、異なる大きさの区分ΔLに分割するようにしてもよい。
【0056】
次に、CPU30は、対象横断面Sを中心とした対象幅ΔW1の範囲にある計測点Pの数を計数する(ステップS504)。計測点Pの数がしきい値を超えていれば、当該対象幅ΔW1の範囲内にある計測点Pを選択し(ステップS508)、これらを用いて横断面形状データの生成を行う。
【0057】
計測点Pの数がしきい値を超えていなければ、対象幅をΔW1からΔW2に広げる(ステップS506)。つまり、対象横断面Sに垂直な方向に広げる。そして、対象幅ΔW2の範囲にある計測点Pの数を計数する(ステップS504)。計測点Pの数がしきい値を超えていれば、当該対象幅ΔW2の範囲内にある計測点Pを選択し(ステップS508)、これらを用いて横断面形状データの生成を行う。
【0058】
以上の処理を繰り返し、対象幅に含まれる計測点Pが所定数を超えるまで、対象幅を広げていく。このようにすることで、できるだけ対象横断面Sに近い計測点Pを用いつつ、形状を把握するために必要な数の計測点Pを選択することができる。
【0059】
なお、対象幅を広くした結果、対象幅が矩形52の幅を超えた場合には、計測点Pの数が条件を満たしていなくとも、これを以後の処理のために選択する(ステップS508)。
【0060】
CPU30は、以上のようにして選択した計測点Pを対象横断面Sに投影する。つまり、各計測点Pを対象横断面Sに垂直に移動し、対象横断面S上に位置させる。対象横断面S上に、多数の計測点Pがないと、ブレークラインを得るための変化点を得ることができないからである。
【0061】
この投影処理の詳細は以下のとおりである。各計測点や左基準位置(横断面Sの左端など)50L、右基準位置(横断面Sの右端など)50Rについて、高さ方向を考慮せず、
図9Aに示すような平面を想定する。CPU30は、左基準位置50Lと右基準位置50Rを結ぶ横断側線SL(対象横断面Sの高さがないもの)に対し、対象とする計測点Pから垂線54を引く。垂線54と横断側線SLとの交点Kを求める(ステップS510)。
【0062】
CPU30は、左基準位置50Lから交点Kまでの距離を算出し、これをx値とする(ステップS511)。また、計測点Pの高さ方向の値をそのままz値とする(ステップS312)。このようにして、計測点Pは、
図9に示すように、対象横断面S(水平方向にx軸、高さ方向にz軸)の上に投影される(ステップS313)
CPU30は、この投影処理をステップS308において取得した全ての計測点Pについて行う(ステップS509、S514)。このようにして、当該区間ΔLにおける対象横断面S上の点群データを得ることができる。得られた必要点群データの例を、
図10Aに示す。
【0063】
CPU30は、以上の点群データを抽出する処理を、全ての区間について実行する(ステップS303、S314)。したがって、
図10Bに示すように、各区間における点群データを得ることができる。
【0064】
3.2計測点の選択
次に、CPU30は、横断面に投影した計測点Pについて、変化点を見いだすために用いる計測点を選択する(
図3、ステップS6)。計測点選択のフローチャートを、
図11に示す。
【0065】
まず、CPU30は、当該横断面に投影した計測点Pのうち、最大のz値(標高)をもつものと、最小のz値(標高)を持つものを選択する(ステップS601)。次に、この最大計測点と最小計測点とを含むように、Z方向に所定区分に分割する。この状態を示したのが、
図12Aである。図においては、区分E1から区分E5までの5つの区分に分割されている。
【0066】
次に、CPU30は、最も下の区分E1に含まれる計測点Pを選択する(ステップS604)。
図12Bに示すように、計測点P1とP2が選択される。CPU30は、選択した計測点P1、P2のX方向距離Fが、しきい値(たとえば50cm)より小さいかどうかを判断する(ステップS605)。しきい値より小さければ、計測点P1と計測点P2のX座標範囲にある計測点を対象外とする(ステップS606)。
図12Bの場合であれば、計測点P3、P4、P5を対象外とする。しきい値より大きければ、ステップS606は実行しない。
【0067】
近接したX距離に計測点がある場合、そのX範囲であって、それより上の区分にある計測点は、計測誤差である可能性が高いからである。つまり、短い距離の間に、標高が乱高下することは考えにくく、レーザ測距であれ写真測距であれ、地表を計測する場合、地表上の草木などによって、上部方向に誤差を生じる可能性が高いからである。
【0068】
一方、2点間の距離が離れている場合には、両計測点のX範囲における上の区分の計測点は、実際に地表の標高が高くなっている可能性もあることから、対象外としないようにしている。
【0069】
次に、CPU30は、一つ上の区分E2について同様の処理を行う。
図13Aに示すように、対象外とした計測点P3、P4、P5を除外して処理を行う。したがって、
図13Bに示すように、計測点P6が新たに選択され、計測点P7が対象外とされる。
【0070】
CPU30は、上記の処理を全ての区分について実行する。これにより、当該横断面について、所望の計測点が選択(選択計測点)されることになる。
【0071】
次に、CPU30は、選択された計測点のそれぞれにつきメディアンフィルタ処理を行う(ステップS608)。対象とする計測点を含む前後数個(この実施形態では2個)のz値の平均をとり、これを対象とする計測点のz値とする。これにより、急激な変化(ノイズ)が取り除かれる。
【0072】
3.3角度変化に基づく平坦面の抽出
次に、CPU30は、当該横断面について選択された計測点に基づき、計測点を接続する直線の角度変化に基づき、水平面を抽出する(ステップS7)。水平面抽出のフローチャートを
図14に示す。ここでは、水平に対して所定角度にある面を水平面と呼んでいる。
【0073】
CPU30は、まず、横断面の左端の選択計測点を対象選択計測点とし、右隣の選択計測点との角度を算出する。CPU30は、この角度が所定の範囲内(たとえば、−5度から5度)に入っていれば、当該対象選択計測点と隣接する選択計測点は、水平部分の一部であると判断する。次に、隣接する選択計測点を対象選択計測点として、上記の処理を繰り返す。この処理を、右端の選択計測点まで行えば、水平部分を抽出することができる(ステップS701)。
【0074】
なお、この水平部分の抽出処理は、各計測点を、所定の標高の範囲(下標高から上標高までの範囲(たとえば30cmの範囲))に区分して行う。したがって、各区分において、平坦部分があればこれが選択される。
【0075】
図15Aに示すような場合には、異なる区分において水平部分H1とH2が抽出されることになる。なお、一つの区分において、水平部分が複数見いだされた場合には、誤差である可能性が高いので、低い方の水平部分を、高い方の水平部分にあわせる。つまり、低い方の水平部分の標高を上げて、一つの水平部分とする。
【0076】
次に、CPU30は、抽出された水平部分のうち、所定以上の幅(たとえば、1m以上)があって、最も高い区分にあるものを見いだし、これを天端面とする(ステップS702)。
図15Aの場合であれば、水平部分H2が天端面として選択されることになる。ここで、天端面とは、河川の両岸にある堤防の一番高い水平部分をいうものである。なお、所定の幅以上のものとしたのは、天端面より上に木などがある場合、この部分を天端面とする誤判断を避けるためである。
【0077】
次に、CPU30は、見いだした天端面より高い部分を削除する(ステップS703)。
図15Bの場合であれば、選択計測点DP(×印を付した点)を削除する。これらは、天端面に植えられた植物や木などである可能性が高いからである。
【0078】
次に、CPU30は、
図15Bに示すように、天端面H2と隣接する斜線CLを延長し、両者の交点を求め、これを変化点Vとする(ステップS704)。このようにして、左端の変化点Vと右端の変化点Vとの間が天端面であるとして抽出することができる。
【0079】
以上のように、
図3のステップS5〜S7によって、横断面における天端面(正確には天端面を構成する点端線)を抽出することができる。CPU30は、この処理を、すべての横断面について繰り返し、すべての横断面について天端線を抽出する(ステップS4、ステップS8)。
【0080】
続いて、CPU30は、
図16に示すように、各横断面の天端線Uを結んで、破線にて示す天端面UFを生成する(ステップS9)。さらに、CPU30は、変化点Vを接続して、ブレークライン51を生成する(ステップS10)。これらは、対象物の形状の特徴を表すものとして用いられる。
【0081】
以上のようにして、平坦面(水平面)H1、H2を抽出することができる。
【0082】
4.その他
(1)上記実施形態では、対象物の形状の特徴を表すものとして、天端面やブレークラインを抽出している。しかし、いずれか一方のみを抽出するようにしてもよいし、他の特徴を抽出するようにしてもよい。
【0083】
(2)上記実施形態では、河川を対象として説明した。しかし、道路など他の対象物にも適用することができる。道路の場合には、天端面に代えて、道路面を抽出することができる。
【0084】
(3)上記実施形態では、最も高い水辺部分を天端面として抽出している。しかし、候補ブレークラインの高さに近い水平部分を天端面として抽出するようにしてもよい。
【0085】
(4)上記実施形態において算出した選択計測点を、格子状の水平位置を有する測量データに変換するようにしてもよい。選択計測点の水平位置(X、Y座標値)は、ランダムである。このため、これら選択計測点に基づいて任意の位置で断面形状を得ようとすると、整った形状を得ることが難しい。そこで、
図17Aに示すように、XY座標に関し等間隔の格子となる交点において、Z値を有する点CP、CP・・・のデータに変換する。
【0086】
この場合、
図17Bに示すように、点CPのZ値は、近接する複数の計測点PのZ値を平均したものとすればよい。なお、この平均値の算出において、距離dが小さい計測点PのZ値ほど、ウエイトが高くなるように加重平均を求めるようにすることが好ましい。
【0087】
さらに、このような格子状の点データに加えて、
図17Aに示すように、ブレークライン51上の点BP、BP・・・についても、点データを生成してもよい。点BPのZ値の算出方法は、
図17Bと同じ方法とすることができる。なお、この実施形態では、格子状の点CPの間隔よりも、ブレークライン51上の点BPの間隔を密にしている。これにより、これら点データに基づいて任意位置での断面図などを生成する場合に、ブレークライン51が明瞭に現れるようになる。
【0088】
(5)上記実施形態では、必要点群データ抽出処理において、計測点の数によって計測点を選択するようにしている(ステップS504、S505)。しかし、計測点の数に代えて、あるいは、計測点の数に加えて、次の条件を選択のための指標としてもよい。
【0089】
たとえば、
図8Bの所定区間ΔLに含まれる計測点のX値のばらつき(標準偏差)が所定値以上あることを選択条件としてもよい。標準偏差が所定値に達していなければ、対象幅を広げ、選択条件を満足するようにする。
【0090】
あるいは、所定区間ΔLをさらに細かい微小区間に区分し、各微小区間において計測点があるか否かを判断し、計測点がない微小区間が所定数以上連続していないことを選択条件としてもよい。計測点がない微小区間が所定数以上連続していれば、対象幅を広げ、選択条件を満足するようにする。
【0091】
(6)上記実施形態では、PCを測量データ処理装置としているが、サーバ装置によってこれを実現するよいうにしてもよい。