JP2014186565A - 3次元点群解析方法 - Google Patents
3次元点群解析方法 Download PDFInfo
- Publication number
- JP2014186565A JP2014186565A JP2013061211A JP2013061211A JP2014186565A JP 2014186565 A JP2014186565 A JP 2014186565A JP 2013061211 A JP2013061211 A JP 2013061211A JP 2013061211 A JP2013061211 A JP 2013061211A JP 2014186565 A JP2014186565 A JP 2014186565A
- Authority
- JP
- Japan
- Prior art keywords
- dimensional
- point group
- dimensional point
- point cloud
- feature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 65
- 239000013598 vector Substances 0.000 claims abstract description 104
- 230000005484 gravity Effects 0.000 claims abstract description 76
- 238000000034 method Methods 0.000 claims description 155
- 238000012545 processing Methods 0.000 claims description 92
- 230000008569 process Effects 0.000 claims description 88
- 238000009826 distribution Methods 0.000 claims description 30
- 230000006870 function Effects 0.000 claims description 20
- 238000000513 principal component analysis Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 7
- 238000013500 data storage Methods 0.000 claims description 6
- 238000012109 statistical procedure Methods 0.000 abstract 1
- 238000011156 evaluation Methods 0.000 description 39
- 230000000875 corresponding effect Effects 0.000 description 25
- 238000003384 imaging method Methods 0.000 description 20
- 238000000926 separation method Methods 0.000 description 18
- 101100279855 Arabidopsis thaliana EPFL5 gene Proteins 0.000 description 11
- 101150031358 COLEC10 gene Proteins 0.000 description 11
- 102100024206 Collectin-10 Human genes 0.000 description 11
- 101100496086 Homo sapiens CLEC12A gene Proteins 0.000 description 11
- 238000007726 management method Methods 0.000 description 10
- 238000003860 storage Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 9
- 101000654316 Centruroides limpidus Beta-toxin Cll2 Proteins 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 239000006185 dispersion Substances 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000005520 cutting process Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 4
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 3
- 238000010191 image analysis Methods 0.000 description 3
- 101100328360 Schizosaccharomyces pombe (strain 972 / ATCC 24843) clr1 gene Proteins 0.000 description 2
- 101100328361 Schizosaccharomyces pombe (strain 972 / ATCC 24843) clr2 gene Proteins 0.000 description 2
- 101150111878 Vegfd gene Proteins 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 101150013335 img1 gene Proteins 0.000 description 2
- 101150071665 img2 gene Proteins 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 238000000137 annealing Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000002922 simulated annealing Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Processing Or Creating Images (AREA)
Abstract
【解決手段】 複数の地物の外形を表し、解析用に設定された3次元座標空間における位置座標と、その点が存在すると推測される面の法線ベクトルとが格納された3次元点群データを用意する。まず、3次元点群データを主成分分析することによって仮の重力方向を定め、これに沿う法線ベクトルを有する点を除外することで側面点群を抽出する。さらに、点間の距離が近いもの同士をグループ化することで、点群を建物単位に分離し、建物ごとの側面を決定する。こうして得られた各側面について主成分分析によって法線ベクトルを求め、法線ベクトル同士の外積の加重平均をとることによって重力方向を求める。
このように複数の地物を表す広域の3次元点群を用い、主成分分析という統計的手法を用いることにより、精度良く重力方向を決定することができる。
【選択図】 図1
Description
3次元復元処理とは、複数の地点から撮影した複数の画像間の特徴点の対応関係に基づいて、撮影された地物の3次元点群を得る処理である。3次元復元を利用すれば、処理の対象範囲内の画像を航空機等から複数撮影し、この画像を解析することで、対象範囲を表す3次元の点群を得ることができる。かかる点群が得られれば、それを解析することによって3次元モデルを生成することも可能となる。画像間の特徴点の対応関係を判断するための技術として、SIFT(Scale-Invariant Feature Transform)などが利用される。
特許文献1は、3次元点群のうち、高さの低い点群に基づいて水平面を定義し、さらに水平方向に近い点群に基づいて垂直面を定義する技術を開示する。
特許文献2は、3次元点群を解析して得られる面のうち、最大面積のものを床面とみなすことで、水平面および垂直面を定義する技術を開示する。
複数の地物の外形を表す複数の点からなる3次元点群をコンピュータによって解析する3次元点群解析方法であって、
前記3次元点群を構成する3次元点群データは、前記地物の外形を表す複数の点に対し、点ごとに解析用に設定された3次元座標空間における位置座標が格納されており、
前記3次元点群解析方法は、前記コンピュータが実行するステップとして、
(a) 前記3次元点群データを読み込むステップと、
(b) 前記3次元点群データから、前記地物の側面を表す点の集合である側面点群を特定するステップと、
(c) 前記側面点群に基づいて、前記地物の各側面の法線ベクトルを求めるステップと、
(d) 前記法線ベクトルから選択した2つの法線ベクトルの外積を、複数組の選択について求め、得られた複数の外積の統計的処理に基づいて、前記3次元座標空間における重力方向を決定するステップとを備える
3次元点群解析方法として構成することができる。
ここで、本発明で扱う3次元点群は、例えばSIFTおよびSfM(Structure from Motion)を利用した技術、レーザー計測など種々の方法で得られたものを対象とすることができる。
前記3次元点群は、前記地物の高さ方向の分布が、前記複数の地物の配置による水平方向の分布に比較して十分小さくなる領域について得られているとともに、各点について前記位置座標とともに該点が存在すると推測される面の法線ベクトルが格納されており、
前記3次元点群解析方法は、前記コンピュータが実行するステップとして、
(e) 前記3次元点群の主成分分析によって得られる第3主成分の方向を、仮の重力方向と設定するステップを有し、
前記ステップ(b)は、前記各点の法線ベクトルが前記仮の重力方向に沿っている点群を除くことにより、前記側面点群を特定するものとしてもよい。
各点について法線ベクトルが得られる3次元点群の取得方法としては、SIFTおよびSfM(Structure from Motion)を利用した技術などが挙げられる。
上記態様で用いる3次元点群における高さ方向の分布は、水平方向の分布に比較して十分小さい。このことは、主成分分析をした場合、第1主成分、第2主成分が高さ方向とは異なり水平方向に現れることを意味する。従って、主成分分析の第3主成分を採用すれば、3次元点群の重力方向を定めることができるのである。もっとも、こうして得られる重力方向には、誤差が含まれているから、仮の重力方向を表すものとなる。
高さ方向、水平方向の分布が、上述した条件を満たす3次元点群の取得は、比較的容易である。地物の高さは、たかだか数百メートル程度までの範囲に過ぎないから、その数倍程度の半径の領域で3次元点群を得ることにより、上述した条件は自然と満たされることとなる。
本発明における側面点群の特定は、必ずしも仮の重力方向を用いる方法に限られない。例えば、3次元点群を構成する各点を、法線ベクトルの方向によって分類し、それぞれの法線ベクトル方向に投影する場合を考える。上方向の法線ベクトルを有する点は、地物の上面または地表面であるから、これを投影すれば、3次元点群が得られている領域をほぼカバーすることができるはずである。従って、点の法線ベクトル方向にそれぞれ投影したときに、投影結果において、空隙が少なくなる方向を上面または地表面と特定し、これに相当する点群を除外することによっても側面点群を特定することができる。
前記ステップ(c)、即ち地物の各側面の法線ベクトルを求めるステップは、前記側面点群を各地物の各側面に分離するとともに、該側面ごとに主成分分析を行って得られる第3主成分を前記地物の各側面の法線ベクトルとするものとしてもよい。
地物の側面を構成する点群は、側面に沿って分布しているため、主成分分析を行えば、第1主成分、第2主成分が側面に沿う方向に現れ、第3主成分は、これらに直交する方向、即ち側面の法線方向となる。かかる方法によって各側面の法線ベクトルを求めるものとすれば、各点に含まれる誤差の影響を抑制し、精度を向上させることができる。
本発明において側面の法線ベクトルは、この他の方法によって求めることも可能である。例えば、側面点群を構成する各点の法線ベクトルの平均等によって求めても良い。また、側面点群に基づいて、最小誤差二乗法などによって、これらの点群の中央を通過する平面を求め、この平面の法線ベクトルを求める方法によってもよい。
前記ステップ(d)、即ち統計的処理によって重力方向を決定するステップは、前記主成分分析において前記法線ベクトルに対して得られる第3固有値を用いて、前記各組における法線ベクトルの外積の精度を表す重み値を算出し、前記統計的処理として、前記重み値を用いた前記外積の加重平均を求めるものとしてもよい。
主成分分析における第1〜第3固有値は、各主成分における分散の大きさを表す値である。側面を構成する点群を主成分分析した場合、点群が精度良く側面を構成していれば、第3主成分方向の分散は小さくなるから、第3固有値も小さくなるはずである。つまり、第3固有値によれば、側面の法線ベクトルの精度を表す重み値を設定することが可能となる。精度が高いほど値が大きくなる重み値を得るためには、例えば、第3固有値の逆数などを用いればよい。
上記態様によれば、こうして得られる重み値を用いた加重平均によって重力方向を決定することができる。従って、精度の高い法線ベクトルを重視することができるため、得られる重力方向の精度をより向上させることができる。
本発明における統計的手法は、必ずしも上述の加重平均に限られるものではない。重み値は、第3固有値とは無関係に、側面の面積や点群の数などによって定めても良い。また、加重平均に代えて、重み値を用いない単純平均を用いても良い。さらに、平均に代えて、中央値を用いても良いるなど、種々の統計的手法を用いることができる。
前記ステップ(b)、即ち地物の側面を表す点の集合である側面点群を特定するステップは、さらに、前記地物ごとに前記側面点群の各点の法線ベクトルの水平方向成分の分布を求め、所定以上の度数分布が得られている水平方向に相当する点を抽出することにより、前記側面点群を、前記地物の各側面に分離するものとしてもよい。
例えば、四角柱状の地物を考えると、その側面の法線ベクトルは、大きく直交する2方向に分類できる。従って、各点の法線ベクトルの分布に従って、点を分離すれば、かかる地物の側面を、少なくとも対向する一組の面ごとに分離することが可能となる。四角柱状以外の地物においても、側面が種々の方向を向く結果、各点の法線ベクトルの分布によって、点群を側面単位に分離することが可能である。
このように側面ごとに点群が分離されれば、それぞれの点群が含まれる側面を定義しやすくなり、側面の法線ベクトルを精度良く求めることが可能となる。
前記ステップ(b)は、前記3次元点群を構成する点同士の距離が所定値以下となる点を、同一の地物を構成する点群として分離することにより、前記地物ごとの側面点群を特定するものとしてもよい。
複数の地物を表す3次元点群を得た場合、地物間の距離は、同一地物を構成する点群の点同士の距離よりも十分に大きいため、点同士の距離を用いれば、比較的容易に点群を地物単位に分離することができる。側面は、地物を構成する面であるため、地物単位に分離してから側面の解析を行うことにより、側面を定義しやすくなり、側面の法線ベクトルの精度も向上させることができる。
図1は、3次元モデル生成システムの構成を示す説明図である。3次元モデル生成システムは、処理対象となる地域の写真を航空機から撮影し、この写真を解析して地物ごとの3次元形状を表す3次元モデルを生成するシステムである。航空機に搭載され、地域の写真の画像データを取得する装置を撮影管理装置100と呼ぶ。画像データから3次元モデルを生成する装置を、3次元モデル生成装置200と呼ぶ。以下、それぞれの構成について順に説明する。
撮影管理装置100は、航空機に搭載されている。航空機は、固定翼、回転翼いずれでもよく、有人/無人のいずれであってもよい。
撮影管理装置100には、撮影用のカメラ101、位置情報を取得するためのセンサであるGPS(Global Positioning System)102、および図示する各機能ブロックが備えられている。機能ブロックは、それぞれの機能を実現するためのコンピュータプログラムを、コンピュータにインストールすることによって構成することもできるし、ハードウェア的に構成してもよい。
カメラ101は、3次元モデルを生成するための解析に使用される写真を撮影するためのものである。解析精度を向上させるためには、高解像度の写真が望ましい。本実施例では高解像度での撮影が可能な静止画用のディジタルカメラを用いた。十分な解像度が得られる場合には、動画撮影用のカメラを用いてもよい。
有人の航空機を用いる場合、飛行経路に従って航空機を飛行させるのはパイロットの役目となる。かかる場合には、撮影シーケンス記憶部112は、パイロットに対し、適宜、設定された飛行経路に沿った飛行を支援するための情報を提供してもよい。
無人の航空機を用いる場合には、撮影シーケンス記憶部112は、飛行を制御する制御装置に、飛行経路に関する情報を送信するように構成してもよい。
また、撮影シーケンスは、必ずしも撮影ポイントを特定する方法だけでなく、一定の時間周期で撮影を行うように設定してもよい。かかる場合には、撮影制御部110は、設定された時間間隔ごとに撮影を行うようカメラ101を制御することになる。
撮影制御部110は、いずれの方法で撮影を行う場合においても、カメラ101による撮影と同期して、GPS102から撮影位置の位置情報を取得し、両者を関連づけて画像記録部120に記録する。
撮影制御部110は、自動的に撮影を行う態様として構成する他、航空機に搭乗した撮影者に対して、撮影タイミングを知らせるものとしてもよい。
3次元モデル生成装置200には、図示する機能ブロックが備えられている。これらの機能ブロックは、それぞれの機能を実現するためのコンピュータプログラムを、コンピュータにインストールすることによって構成されるし、ハードウェア的に構成してもよい。
以下、各機能ブロックの機能について説明する。
3次元点群生成部202は、画像データ記憶部201の画像データおよび撮影位置を用いて、3次元点群を生成する。3次元点群とは、それぞれ3次元の座標値および法線ベクトルが付与された多数の点である。法線ベクトルとは、各点が存在すると推定される面の法線ベクトルを意味する。
本実施例では、画像データを撮影した時系列に並べると、前後の画像データ同士は、約60%程度以上の面積が重複した状態で撮影されている。つまり、対象領域内の建物は、撮影ポイントが異なる複数の画像データに撮影されていることになる。従って、複数の画像データ内で相互に対応する点を特定できれば、いわゆる三角測量と同様の原理によってその点の3次元座標を特定することが可能となる。複数の画像データ内で対応する点を特定する技術としては、種々の技術が知られているが、本実施例では、SIFT(Scale-Invariant Feature Transform)と呼ばれる公知の技術を適用した。
3次元点群データ記憶部203は、3次元点群生成部202によって得られた3次元点群を記憶する。画像データに写っている部分を解析して得られた点群であるから、3次元点群は、主として建物等の外壁、屋根などの外面部分を表すものとなる。また、画像内には、地面、道路、街路樹、車両など建物以外も多数写っており、これらについても画像内の対応関係が特定される限り3次元点群は生成可能であるから、3次元点群には、こうした建物以外を表すものも多数含まれている。3次元点群は、それぞれ3次元の座標値と法線ベクトルを有しているが、これらの座標値、法線ベクトルは、地球座標系で定義されたものではなく、解析のために設定された架空の3次元空間における座標値である。
このように地球座標系での位置関係が特定されておらず、建物単位に区分もされていない3次元点群から、建物ごとに地図として利用可能な精度で位置座標を有する3次元ポリゴンを生成するのが、以下で示す各機能ブロックの機能である。
点群分離処理部205は、点群を建物単位に分離する。3次元点群は、画像に写っている点の3次元座標を求めたものであり、建物単位で分離もされていなければ、建物の地面等との分離もされていない。点群分離処理部205は、かかる3次元点群を解析して、建物ごとの点群に分離する機能を奏する。
建物枠生成部206は、建物ごとに分離された点群に基づいて2次元的な外形形状を表す建物枠を生成する。
位置合わせ処理部207は、2次元地図データ210に記憶された2次元地図に複数の建物枠を適合させることによって、重力方向以外の座標系を地球座標系に対応づける機能を奏する。位置合わせ処理部207は、建物ごとに分離された点群を1つずつ2次元地図に適合させていくのではない。点群で表されている複数の建物全体を、その相対的な関係を概ね保った状態で、全体として2次元地図に適合させるのである。このように複数の建物全体を適合させることによって、精度良く位置合わせを行うことができる。
ポリゴン生成部208は、以上の処理によって2次元的な形状が定まった建物ごとに、点群に基づき側面および上面のポリゴンを生成する。
テクスチャ生成部209は、生成されたポリゴンの表面に貼り付けるテクスチャを、画像データ記憶部201に記憶された画像データによって生成する。
以上の処理で生成された3次元ポリゴンおよびテクスチャは、3次元モデルデータ211に格納される。
次に、解析に利用する画像を撮影する飛行経路および撮影ポイントの設定方法について説明する。
図2は、対象領域の空撮方法を示す説明図である。本実施例では、目標となる建物の周辺の所定の領域に含まれる複数の建物について3次元モデルを生成する。一般に街並みは、駅などのランドマークを中心に展開していることが多いため、こうしたランドマークに相当する建物を目標として、その周辺を撮影し、3次元モデルを生成することにより、効率的に3次元モデルを生成することができる。
撮影に用いるカメラの画角および飛行高度を決定すれば、目標を含む所定範囲を撮影するための飛行経路の概ねの半径を求めることができる。
処理を開始すると、コンピュータはまず、撮影目標地点を入力する(ステップS1)。また、カメラの取付角度rおよび画角を入力する(ステップS2)。図中にカメラの取付角度rを示した。本実施例のように、目標物の周囲を周回しながら撮影する場合には、カメラの画角の中心軸を鉛直下方に向けて取り付けるよりも、飛行経路の中心側に向けて傾けて取り付けた方が効率的な場合がある。航空機の鉛直軸と、カメラの画角の中心軸とのなす角度が、取付角度rである。取付角度rは、カメラの撮影範囲に影響することになる。
コンピュータは、撮影高度Hを入力する(ステップS3)。そして、以上で入力した値を用いて、飛行経路の半径Rを算出する(ステップS4)。図中に半径Rの算出方法を示した。カメラの画角および取付角度rを考慮した上で、撮影目標が撮影範囲に入るよう、飛行高度Hに応じた半径Rを算出する。例えば、撮影目標が撮影範囲の中心に来るように撮影する場合には、飛行経路の半径Rは、R=H×tan(r)で求められることになる。
撮影ポイントは、飛行経路に対して、図2(b)に示したように、所定の角度間隔θを設定するようにしてもよいし、所定の時間間隔で撮影するように設定してもよい。
本実施例では、画像間で特徴点の対応関係を解析するため、画像同士が重複して撮影されている必要があるところ、本実施例のような周回軌道であれば、目標周辺の領域の画像を、相互に十分重複させながら、多方面からの画像を、無駄なく効率的に撮影することができる。
また、画像間の特徴点の対応関係の認識精度が向上する利点もある。つまり、画像間で特徴点を認識する際には、画像の色成分を利用することになるため、撮影時のライティングの条件が異なると、対応関係の認識精度が低下する。これに対し、本実施例のような周回軌道であれば、目標周辺の領域を、比較的短時間に集中的に撮影することが可能となるため、ライティングの条件の変化が小さくなり、認識精度を向上させることができる。
さらに、目標および対象領域を、ほぼ全方位から漏れなく撮影することが可能となる。
飛行経路および撮影ポイントが決まると、これに従って、目標の周辺を飛行しながら撮影が行われる。撮影された画像データは、図1で説明した通り、逐次、撮影ポイントの位置座標とともに、撮影管理装置100の画像記録部120に記録される。撮影が完了すると、画像データおよび位置座標は、3次元モデル生成装置200に入力され、3次元点群が生成される。画像データの3次元モデル生成装置200への読込みは、種々の方法で行うことができるが、本実施例では、記録媒体を介して読み込ませるものとした。
処理を開始すると、3次元モデル生成装置200は、画像データおよび位置情報を読み込む(ステップS10)。そして、SIFT(Scale-Invariant Feature Transform)マッチングにより、画像間の特徴点の対応付けを行う(ステップS11)。図中に特徴点の対応付けの様子を示した。図示するように画像1、画像2のそれぞれから、特徴点(図中の4つの×印)を抽出し、それぞれの特徴点同士の対応関係を認識するのである。SIFTマッチングは、画像内の色成分に基づいて特徴点を抽出し、画像間の対応関係を求める解析技術であり、解析原理およびアルゴリズムともに周知であるため、詳細な説明は省略する。ステップS11では、画像間の特徴点同士を対応づけるものであれば、SIFTマッチングに限らず、種々の手法を用いることができる。
法線ベクトルとは、各特徴点が存在すると推定される推定面の法線方向のベクトルである。実施例では、対応する画像において多数の特徴点が抽出され、各画像内の特徴点同士の相対的な位置関係が維持されることを前提として、画像間での特徴点の対応関係を認識する。このように特徴点同士の相対的な位置関係から、その特徴点が存在する推定面が特定され、その法線ベクトルを求めることができる。
これらの画像間の相対的位置関係、3次元座標および法線ベクトルの算出も、SfM(Structure from Motion)技術、およびそれを利用した手法として周知であるため、さらなる詳細な説明は省略する。
3次元座標および法線ベクトルが算出された特徴点の集合を、以下、3次元点群と呼ぶ。3次元モデル生成装置200は、得られた3次元点群のデータを格納し(ステップS13)、3次元点群生成処理を終了する。
本実施例では、撮影した画像データから3次元点群を取得しているが、以下の処理は、レーザ計測など、他の方法によって得られた3次元点群を用いて行うこともできる。
図5は、3次元モデル生成処理のフローチャートである。先に説明した3次元点群データに基づいて、建物ごとの3次元形状を表す3次元モデルを生成するための処理である。この処理は、図1に示した重力方向解析部204、点群分離処理部205、建物枠生成部206、位置合わせ処理部207、ポリゴン生成部208、テクスチャ生成部209によって、それぞれ実現される処理である。ハードウェア的には、3次元モデル生成装置200のCPUが実行する処理となる。
3次元モデル生成処理では、まず重力方向解析処理が行われる(ステップS20)。これは、重力方向解析部204の機能に相当する処理であり、3次元点群を解析して重力方向を特定する処理である。
次に、点群分離処理が行われる(ステップS21)。これは、点群分離処理部205の機能に相当する処理であり、3次元点群を建物単位に分離する処理である。
次に、建物枠生成処理が行われる(ステップS22)。これは、建物枠生成部206の機能に相当する処理であり、建物の2次元的な形状を特定する処理である。
次に、位置合わせ処理が行われる(ステップS23)。これは、位置合わせ処理部207の機能に相当する処理であり、3次元点群を2次元の地図に適合させる処理である。
次に、ポリゴン生成処理が行われる(ステップS24)。これは、ポリゴン生成部208の機能に相当する処理であり、建物ごとの3次元点群に基づいて、側面および上面のポリゴンを生成する処理である。
最後に、テクスチャ生成処理が行われる(ステップS25)。これは、テクスチャ生成部209の機能に相当する処理であり、撮影された画像データを用いてポリゴンの表面に貼るテクスチャを生成する処理である。
以上の処理によって、3次元地図として利用可能な位置精度を有する建物ごとの3次元モデルが生成される。
以下、それぞれの処理について順に内容を詳述する。
図6〜9は、重力方向解析処理のフローチャートである。3次元モデル生成処理(図5)のステップS20における処理に相当する。
処理を開始すると、3次元モデル生成装置200は、3次元点群データを読み込む(ステップS31)。
そして、3次元点群全体の主成分分析を行い、第3主成分を仮の重力方向Gtとして設定する(ステップS32)。図中に主成分分析の概要を示した。本実施例の3次元点群は、図2に示すように目標を中心とする周辺の領域を撮影して得られるものである。撮影される建物が高層ビルであっても、その高さは、撮影される領域の水平方向の広がりに比べれば小さい。従って、3次元点群は、全体的に見れば、図示するように、比較的平たい領域に分布することとなる。
主成分分析とは、3次元空間内における3次元点群の分布を特徴づける方向を求めるものであり、3次元点群の分布が大きい方向から順に第1主成分、第2主成分、第3主成分となる。平たい領域に分布した3次元点群については、水平方向の分布に基づいて第1主成分、第2主成分が求まり、それに直交する方向が第3主成分となる。従って、第3主成分は、3次元点群の重力方向Gtを表すことになる。ただし、点群の分布に基づく誤差が含まれているため、第3主成分は、あくまでも仮の重力方向を示すに過ぎない。
本実施例では、このように平たい領域に分布する3次元点群を利用するため、垂直方向と推測される面のみを抽出するなどといった複雑な前処理を行うまでなく、主成分分析により仮の重力方向を求めることが可能となる。
図中に処理の様子を示した。図中の×および○は、それぞれ3次元点群を示している。実施例の点群は、建物を撮影した画像から得られるものであるから、建物の外壁に沿って分布する。点P1は、建物の水平面S1に含まれる点であり、法線ベクトルn1は上向きとなっている。法線ベクトルn1と、仮の重力方向Gtとの角度θ1は、閾値THaよりも小さくなり、ステップS33の処理において除外される。同様に、面S1に存在する×で示した他の点群も除外される。
点P2は、建物の側面S2に含まれる点であり、法線ベクトルn2は、水平に近い方向を向いている。法線ベクトルn2と仮の重力方向Gtとの角度θ2は、閾値THaよりも大きくなり、ステップS33の処理において除外されない。同様に、面S2に存在する○で示した他の点群も除外されない。
点P3は、建物の水平面S3に含まれる点であり、法線ベクトルn3は下向きとなっている。このような面S3は、建物の床面等に相当するものであり、外部から撮影した画像に写ることはないため、実施例における処理では、このような点群は得られない。ただし、ここでは説明の便宜上、法線ベクトルn3が下向きとなっている場合についての例も示したものである。点P3についても、法線ベクトルn3と、仮の重力方向Gtとの角度θ1は、閾値THaよりも小さくなるため、ステップS33の処理において除外される。同様に、面S3に存在する×で示した他の点群も除外される。
以上の通り、ステップS33の処理では、建物を構成する点群のうち、水平面を構成する点群を除外することができる。
図中に処理の様子を示した。左側の図は、クラスタリングの方法を模式的に示したものである。3次元モデル生成装置200は、処理対象となる点群の中から、任意に1つの点P1を選択し、固有のラベル(図の例では「A」)を付与する。そして、この点P1から所定の距離ra内にある点を探索し、これらに同じラベルを付与する。図の例では、点P2,P3に対してラベル「A」が付与されている。距離raは、クラスタリングするか否かの判断基準となる距離である。クラスタリングの目的は、点群を建物ごとに分離することであるから、距離raは、処理対象となる領域における建物の間隔よりも小さい範囲で任意に設定することができる。
点P2、P3にラベルを付すと、3次元モデル生成装置200は、これらの点からさらに距離ra内の点を探索し、これらの同じラベルを付与する。図の例では、点P4、P5にラベル「A」が付与されている。かかる処理を繰り返し実行することによって、相互に距離ra内にある点を探索することができ、それらに同じラベルを付与することができる。距離ra内にある点が探索できなくなった時点で、ラベルの付与されていない未処理の点を選択し、新たなラベル(例えば、「B」)を付与しながら、同様の処理を実行することによって、点間の距離によるクラスタリングを行うことができる。
図の右側に、クラスタリングの結果を例示した。図示するように、ビル1に属する点群(図中の×)、ビル2に属する点群(図中の○)というように、建物単位に点群を分離することができる。
図中に処理の様子を示した。左側には、法線ベクトルの方向を決める方法を示している。3次元モデル生成装置200は、処理対象の建物の任意の点P1の法線n1に対して、その水平方向の成分nh1を求める。ここに言う水平方向の成分とは、仮の重力方向Gtに直交する成分という意味である。そして、水平成分nh1の方向を、基準軸からの角度Ag1で表す。この角度Ag1は、図の右側に示すように0〜180度の範囲で求めるものとした。基準軸からの角度は、反時計回りを正、時計回りを負として表されるのが通常であるが、ここでは分布を求めるという処理の性質上、0〜180度の範囲で絶対値を求めるのである。点P2に対しても同様に、法線ベクトルn2の水平成分nh2の方向を表す角度Ag2が求められる。
図中に処理の様子を示した。下側の図に示すように、法線ベクトルの方向ごとに、それに該当する点の数を計数し、図示することによって法線ベクトルの分布を得ることができる。上側の図に示すような平面的な側面からなる建物の場合には、法線ベクトルに比較的明瞭なピークが生じる。図の例では、最大のピーク1は、面積が大きい側の側面に対応し、2番目のピーク2は、面積が小さい側の側面に対応する。
従って、法線ベクトルの水平成分が、それぞれのピーク1、ピーク2に該当する点群を抽出することによって、建物の点群を、側面単位に分離することができる。ここで、図の例では、ピーク1、ピーク2に所定の幅を持たせた範囲(図中の枠で囲んだ部分)で、点群を抽出している。この幅は、ピーク1、ピーク2を区別可能な範囲で任意に設定可能である。ただし、実施例では、水平成分を0〜180度の範囲で求めているため、面積が最大となる側の表面/裏面の双方がクラスタとして分離されることになり、面積が小さい側の側面についても表面/裏面の双方がクラスタとして分離される。
図中に処理の様子を示した。左側に示すように、ステップS36の処理では、建物の表面S1、裏面S2が1つのクラスタとして認識されている。これを点間の距離によるクラスタリングを行うと、右側に示すように、距離が離れている表面S1、裏面S2が分類される。図中では、表面S1の点群を×、裏面S2の点群を○で示した。
以上の処理によって、建物の側面ごとに点群が分離されたことになる。
図中に処理の様子を示した。処理対象となる点群は、建物の側面を構成する点群であるから、主成分分析を行うと、面内の分散に応じて第1主成分、第2主成分が求まり、これらに直交する方向、即ち面の法線方向が第3主成分となる。そして、その分散値が第3固有値となる。精度よく点群が得られていれば、点群は精度良く側面上に分布するはずであるから法線方向の分散値は非常に小さくなるはずである。従って、第3固有値が大きいということは、法線方向に点群のばらつきが大きいことを示しており、法線の精度が低いことを表している。この処理を、各面について実行することにより、その面の法線ベクトルを得るとともに、その精度を表す評価値を得ることができる。
図中に示すように、任意の2つの側面の法線ベクトルVi、Vjを用いて、これらの外積Vi×Vjを求めれば、重力方向Gが得られるはずである。ただし、法線ベクトルVi、Vjには、それぞれ誤差が含まれているから、こうして得られる重力方向Gにも誤差が含まれている。そこで、実施例では、得られている法線ベクトルから、平行ではない任意の組み合わせを選択して、外積により個別の重力方向を求め、その加重平均によって最終的な重力方向Gを算出するものとした。
ここで加重平均は、法線ベクトルの精度を表す第3固有値の和(ei+ej)の逆数とした。第3固有値が大きいほど法線ベクトルの精度が低いことを表しているから、第3固有値の逆数を重み値として乗じることにより、法線ベクトルの精度が高い項ほど重み値が大きくなることになる。以上の考え方に基づき、本実施例では、重力方向は、(Vi×Vj)/(ei+ej)の平均によって求める。
重力方向Gの算出は、上述の方法に限られるものではない。例えば、重み値は、法線ベクトルの精度を反映できればよく、ei+ejの他、eiとejの積などとしてもよい。また、全ての法線ベクトルを用いるのではなく、第3固有値が所定の閾値以下の精度が高いと見なすことができる法線ベクトルのみを用いるようにしてもよい。
図10〜13は、点群分離処理のフローチャートである。3次元モデル生成処理(図5)のステップS21における処理に相当する。
先に実行した重力方向解析処理において、点間の距離によるクラスタリングを利用して、点群を建物単位、さらには建物の側面単位に分離する処理を実行した(図7のステップS34および図8のステップS37)。しかし、建物には、いわゆるツインタワーのように高層階のみが複数に分岐して建築されているものや、中間の階層のみ複数に分岐して建築されているものなどが存在する。重力方向解析処理におけるクラスタリングでは、こうした特殊な形状の建物について、点群を建物単位に分離することはできない。点群分離処理は、こうした建物の存在も考慮し、点群を建物単位に分離する処理を実行する。点群分離処理は、特殊な形状の建物のみを対象とすることも可能ではあるが、3次元点群の中から、かかる形状の建物を抽出すること自体が、容易ではないため、本実施例では、形状が特殊か否かに関わらず、全建物を対象として処理を行うものとしている。
図中に階層ごとに分離する様子を示した。図中の×は、3次元点群を表している。階層ごとへの分離とは、3次元点群が存在する3次元空間内に、所定の高さHごとに境界平面を設定することによって行う。図の例では、左側の建物の屋上面に階層の境界平面が位置するように示してあるが、境界面は、建物形状とは無関係に設定すればよい。
図中に処理の様子を示した。処理対象となる階層内に×で示す点群が存在する場合を考える。距離によってクラスタリングを行うと、点群は、左右の各クラスタCL1、CL2に分離される。屋上に相当する面の点群が、クラスタCL1にのみ含まれているのは、クラスタCL2側の建物は、処理対象となった階層よりも高く、この階層には側面の点群しか含まれないからである。
図の右側に、上向き法線の分布を示した。側面のみに点群が存在するクラスタCL2の結果は、実線で示すように、全点群のうち、評価値|n・G|が比較的小さい値となる点の割合が高くなる。一方、屋上面の点群も含まれるクラスタCL1の結果は、破線で示すように、全点群のうち、評価値|n・G|が比較的小さい値となる点の割合および値1付近の点の割合の2カ所が高くなる。
ステップS54の図中に、属性の付与結果を示した。ここでは、独立した直方体形状の建物と、高層階のみ2つに分岐している建物を例示している。箱を積み重ねたように描かれているのは、階層への分離結果を模式的に表すものである。図中では、上面をハッチングで、側面を白抜きで示した。図に示すように、独立した建物では、屋上面を含む階層R1が上面と判断される。分岐した建物では、分岐部分の各屋上面R2、R3、および分岐の根元に当たる中間階層R4が上面と判断される。
さらに、本実施例では、地表面も上面と判断される。3次元点群においては、建物と地表面との分離もなされておらず、地表面は、上向き法線の割合が高い面に相当するからである。
図中に処理の様子を示した。ここでは、上階層に属するクラスタCLUと、その下階層に属するクラスタCLL1、CLL2との距離の算出について説明する。人間が見ると、クラスタCLUと、クラスタCLL2が、同じ建物の上下に位置するクラスタであることは容易に識別できるが、コンピュータが3次元点群の解析をする過程においては、かかる判断を行うためのアルゴリズムが必要である。隣接階層のクラスタ間の距離の算出は、同じ建物の上下に配置するクラスタを特定するために行う処理であるから、上階層に属するクラスタCLUは、その下階層に属する全クラスタCLL1、CLL2を対象に、クラスタ間の距離を算出することになる。
3次元モデル生成装置200は、まず、処理の対象となる各クラスタCLU、CLL1、CLL2の点群を、水平面に投影する。そして、投影面内において、クラスタCLUに属する点とクラスタCLL1に属する点の間の距離を算出し、その距離の最小値を両クラスタ間の距離とする。つまり、クラスタCLUに属する点(図中の〇)およびクラスタCLL1に属する点(図中の×)は多数存在するため、それぞれから1点ずつを任意に選出し、点間の距離を算出する。全ての点の組み合わせについて距離を算出し、その中の最小値を求めることにより、クラスタCLUとクラスタCLL1との距離を求めることができる。図の例では、クラスタCLU内の点P1と、クラスタCLL1の点P3間の距離D11が、両クラスタ間の距離となる。
同様の方法で、3次元モデル生成装置200は、クラスタCLUと、クラスタCLL2との間の距離を算出する。図の例では、クラスタCLU内の点P1と、クラスタCLL1の点P2間の距離D12が、両クラスタ間の距離となる。
クラスタCLL1、CLL2は、同階層に属するクラスタであるため、クラスタ間の距離を算出する必要はない。
図中に処理の様子を示した。クラスタCLUから見た場合、クラスタCLL1との間のクラスタ間距離D11は閾値Thdよりも大きく、クラスタCLL2との間のクラスタ間距離D12は閾値Thdよりも小さいとする。この結果、クラスタCLUに対しては、クラスタCLL2が同じ建物で上下関係にあるものと関連づけられ、クラスタCLL1は、関連づけられない。
閾値Thdは、このように上下関係を判断するための基準となる値である。その値は、建築物の分岐部分の間隔よりも小さい範囲で任意に設定することができる。
実施例では、最も下位層には、地表面が存在しており、建物と地表面との間のクラスタ間距離は小さくなるから、全ての建物は、地表面に関連づけられることになる。
図中にツリー構造の例を示した。左側に示す建物を例にとり、右側にそのツリー構造を示してある。独立して建築されている建物LV3については、特に分岐や合流することなく、一本の筋として各クラスタが関連づけられ、地表面LV5に到達する。
分岐している建物については、高層階の分岐部分LV1、LV2から低層階に向けて、それぞれ分岐した状態で関連づけが行われた後、中間の階層LV4で合流し、その後、低層階では一本の筋として各クラスタが関連づけられ、地表面LV5に到達する。他の建物についても、同様の方法によりツリー構造が生成される。
図中では、ツリー構造を図示しているが、ステップS57におけるツリー構造生成とは、必ずしもこのような図を描くことを意味するものではなく、全クラスタ間の関連付けを特定することを意味している。
図中に処理の様子を示した。最下位層の地表面(図中の破線)を除き、その直上の階層CLR1、CLR2が建物の基礎部分に相当すると判断する。従って、階層CLR1に関連づけられている一覧のクラスタは建物1を表すものと判断される。また、階層CLR2に関連づけられている一連のクラスタは、途中で分岐する部分も含めて、建物2を表すものと判断される。
このようにクラスタの関連付けおよびツリー構造を利用することにより、特殊な形状の建物も含め、3次元点群を建物ごとに分離することが可能となる。
図14、15は、建物枠生成処理のフローチャートである。3次元モデル生成処理(図5)のステップS22における処理に相当する。建物ごとに分離された3次元点群に基づいて、建物の2次元形状を特定する処理である。
3次元モデル生成装置200は、処理対象となる建造物の3次元点群データを読み込む(ステップS70)。
そして、点群の法線ベクトルに基づいて、上面の点群、側面の点群を分離する(ステップS71)。
図中に処理の様子を示した。上面の点群は、点P1のように法線ベクトルが上を向いているものとなり、側面の点群は、点P2のように法線ベクトルがほぼ水平方向を向いているものとなる。上向きの法線ベクトルを有する点群は、点群分離処理と同様の方法で特定することができる(図11のステップS53参照)。
図中の例では、建造物について、上面1、上面2という2つの高さの異なる上面(図中にハッチングを付した部分)と、その他の側面とが分離される。建物枠生成処理は、通常、建物の2次元形状は上面を外包する形状となっているであろうとの考えに基づいて行われるものである。従って、ステップS70で分離する上面は、図中に示した上面1、上面2のように高さの異なる面であってもよい。
図中に処理の様子を示した。分離された側面には、多数の点群が存在する。これらの点群を水平面に投影すると建造物の平面形状、即ち建物枠に沿って分布する点群が得られる。これらの多数の点群を通過する線分を解析によって求めることも可能ではあるが、本実施例では、より簡易な方法として、グリッドを利用することで、建物枠の決定に際し、考慮すべき点群を減らすものとした。
図の右側にグリッドを配置した例を示した。グリッドは建造物に対して任意の状態で配置することが可能であるが、建物枠の形状を精度良く表すために、グリッドGL1のように建物枠に対して斜めに配置するよりは、グリッドGL2のように建物枠の最も長い辺に沿って配置することが好ましい。
かかる配置を行う方法としては、例えば、建物枠の点群を解析して最も長い辺の方向を求め、グリッドGL2の配置方向を決定する方法をとることができる。
また、別の方法として、次の2段階の方法で求めても良い。第1に、グリッドを仮配置した上で、点群が属している格子を抽出し、この格子がグリッドの縦または横方向に並ぶ最長の長さを評価値として求める。第2に、グリッドの配置方向を回転させながら、同様にして評価値を求め、この評価値が最大となる方向を求める。こうすることによっても、グリッドを建物枠に沿わせて配置することができる。
グリッドの格子サイズは任意に設定可能である。格子サイズが小さければ、建物形状を精度良く表すことができる一方、処理負荷が高くなる。格子サイズが大きければ、建物形状を表す精度が粗くなるが、処理負荷が軽減される。これらを考慮しながら、格子サイズは決定すればよい。
図中に点群を投影した状態を示した。点は×で表してある。各グリッド内に1個または複数の点群が存在する格子、全く点が存在しない格子が表れる。
上面に代えて、側面の点群を投影するものとしてもよいが、途中から分岐している建物(図11のステップS54参照)や、側面よりも上面が張り出している建物では、建物枠を正確に特定できない場合が生じ得るため、上面を用いることが好ましい。
図中に処理の様子を示した。ステップS73に示した点群の投影結果に基づき、1又は複数の点が存在する格子を抽出する。ステップS74内の図では、このような格子にハッチングを付して示した。3次元モデル生成装置200は、ハッチングを付した各格子の代表点を結ぶことによって建物枠を特定する。本実施例では、格子の重心(図中の●で示した点)を代表点として用いた。
この処理によって、処理対象となるべき点数は、建物枠に対応する位置にある格子点の数にまで減少される。
本実施例では、図中の左側に示すように、ほぼ直線的に配列されていると判断される部分について、中央に位置する頂点を削除する方法を採用した。例えば、頂点a、b、cが存在する場合、線分ab、bcの外角αを求める。そして、α<閾値の場合には、これらの3点がほぼ直線的に並んでいるものと判断し、頂点bを削除するのである。閾値は、頂点bを削除するか否かの判断基準となる値であり、頂点bを削除することによって建物枠に有意な形状変化を与えるか否かという観点から任意に設定することができる。
図の右側には、頂点を削除した結果を例示した。この処理によって、ステップS74で示した形状に対し、ステップS75の図中に示すように、頂点P1〜P4の4点に削除することができる。
以上の処理によって、3次元モデル生成装置200は、建物枠を決定することができる。
図16は、位置合わせ処理のフローチャートである。3次元モデル生成処理(図5)のステップS23における処理に相当する。
先に説明した処理によって、3次元点群は建物単位に分割され、しかも建物枠までは求められている。しかし、こうして得られた建物枠は、点群の解析によるものであり、点群の位置誤差および解析誤差などが含まれているため、必ずしも3次元の地図モデルとして使用できるほどの精度は有していない。位置合わせ処理では、2次元地図データを参照することによって、建物枠の形状や位置の精度の向上を図る。
ここで、最初に本実施例での処理の考え方を説明しておく。本実施例における位置合わせ処理は、建物ごとに2次元地図データと対比して、形状や位置の微修正を行うものではない。本実施例では、目標の建物周辺の領域について3次元点群が得られており、これらの3次元点群は、建物ごとに上面、側面を再現するのと同様の精度で、建物間の相対的な位置関係も表しているはずである。かかる考え方の下、本実施例では、これまでの処理で得られている複数の建物枠の全体を,2次元地図に最も精度良く適合させ得る形状および位置の変換方法を見いだすのである。
建物ごとに位置、形状を合わせる方法では、建物の相対的な位置関係について3次元点群が有する情報を無視することになる。これに対し、本実施例の方法によれば、建物ごとの形状、および建物の相対的な位置関係について、3次元点群が有する情報を十分に活用することができるため、精度良く位置合わせを行うことが可能となるのである。以下、その処理方法について説明する。
そして、3次元点群に基づき、側面の端点位置を算出する(ステップS81)。
図中に処理の様子を示した。側面の点群に基づき、側面を表す法線ベクトルnを求める。法線ベクトルnは、重力方向解析処理と同様の方法によって求めることができる(図9のステップS38参照)。
また、重力方向gと法線ベクトルnとの外積g×nによって、これらに直交する方向、即ち側面の幅方向を求める。こうして求められた幅方向において側面の点群が最も遠方に位置する点W1、W2を求め、これを側面の端点位置とするのである。ここで、3次元点群は散在しているため、幅方向の線分上に点W1、W2が存在するとは限らない。そこで、側面を構成する点群を、幅方向の線分上に投影した上で、点W1、W2を求める方法をとることができる。
図中に処理の様子を示した。左側に破線で示したのが3次元点群の分布によって得られる建物枠の形状を表し、右側の実線および点が2次元地図上の建物枠およびその頂点を表している。
この例では、3次元点群のうち、2つの建物から求められた側面の端点W1、W2、W3、W4を2次元地図に合わせる例を示した。3次元モデル生成装置200は、まず、端点W1〜W4について、2次元地図上の頂点と任意に対応づけを行う。3次元点群と2次元地図とを人間が見れば、端点W1〜W4と2次元地図上の頂点との対応関係は容易に特定することができるが、コンピュータが処理を行う際には、両者を対応づける情報が何も存在しないため、双方から任意に選択したものを対応づけることになるのである。
例えば、端点W1、W2、W3、W4を頂点f1、f2、f5、f6にそれぞれ対応づけたものとする。次に、3次元モデル生成装置200は、この対応づけに適合するような、3次元点群の位置を変換するための変換式を求める。本実施例では、ホモグラフィ変換の変換行列を求めるものとした。そして、かかる変換により3次元点群の形状および位置がどの程度変形するのかを表す評価値を求める。この評価値の算出方法については後述する。
3次元モデル生成装置200は、端点と頂点との対応関係を変更しながら、上述の変換行列の算出、評価値の算出を繰り返す。そして、最も小さい変形で、3次元点群を2次元地図に適合させられる対応関係を特定するのである。
図の例では、端点W1、W2、W3、W4を頂点f1、f2、f5、f6に対応づけた場合には、これを実現する変換では、3次元点群の形状、位置が大きく変形する。これに対し、端点W1、W2、W3、W4を頂点f1、f2、f3、f4に対応づけると、これを実現する変換では、3次元点群の形状、位置の変形は小さい。この結果、端点W1、W2、W3、W4は頂点f1、f2、f3、f4に対応するものと特定することができる。
かかる考え方により、最適な対応関係を特定する方法を焼きなまし法、またはシミューレーテッドアニーリング法と呼ぶ。対応関係の特定は、他の方法を用いるものとしてもよい。
先に説明した通り、位置合わせ処理では、3次元点群を2次元地図に合わせた場合の変形の大きさを評価する評価値を用いることになる。
図17(a)は、正方形ABCDを用いた評価値の算出方法を示している。図16のステップS82において、3次元点群の端点から2次元地図の頂点への変換方法が求められると、この変換方法によって正方形ABCDを変換することによって四角形A1、B1、C1、D1が得られる。変換方法による変形が小さいほど、変形後の四角形A1、B1、C1、D1は元の正方形ABCDに近い形状をなすはずである。従って、正方形からの形状の変化を、この変換方法の評価値として用いることができる。かかる評価値としては例えば、次の評価値Ea1が考えられる。
評価値Ea1=|A1/(π/2)−1|+|B1/(π/2)−1|+|C1/(π/2)−1|+|D1/(π/2)−1|;
ここで、A1、B1、C1、D1は、各頂角の大きさ(rad)を表している。
評価値Ea1は、変形後の四角形A1、B1、C1、D1の頂角の90度(π/2(rad))からのずれに着目した評価値である。この例では、頂角A1、B1、C1、D1の全てを用いて評価値を求めているが、いずれかの頂角で代表させてもよい。
評価値Ea2=|1−(A1B1)/(C1D1)|;
ここで、A1B1は辺A1B1の長さ、C1D1は辺C1D1の長さを表している。
評価値Ea2は、変形後の四角形A1、B1、C1、D1の向かい合う辺の長さの変化に着目した評価値である。この例では、辺A1B1と辺C1D1を用いているが、他の対辺、即ち辺A1D1と辺B1C1とを併せて用いるようにしてもよい。
右側には、2次元地図において端点W1〜W5に対応づけられている頂点f1〜f5を示した。これらの頂点f1〜f5の重心はGfと求められ、各頂点の相対的な位置関係も端点と同様に定義できる。例えば、頂点f1、f2の位置関係は、線分f1、Gfと線分f2、Gfのなす角θf12で表される。
このとき、変形の程度を表す評価値Eb1としては、次の値が考えられる。
評価値Eb1=(θfij−θWij)の分散または標準偏差;
評価値Eb1は、端点と頂点の相対的な位置関係のずれの大きさに着目した評価値である。
また別の評価値として、次の評価値Eb2を用いても良い。
評価値Eb2=|(fiGf)/(WiGW)|の分散または標準偏差;
ここで、fiGfは線分fi、Gfの長さを表し、WiGWは線分Wi、GWの長さを表している。
評価値Eb2は、端点および頂点とそれぞれの重心位置との相対的な長さの変化に着目した評価値である。
上述した評価値Ea1、Ea2、Eb1、Eb2は、いずれか一つを選択して用いても良いし、これらを併用してもよい。また、これらを用いた計算式によって新たな評価値を求めるものとしてもよい。
図18は、ポリゴン生成処理例を示す説明図である。3次元モデル生成処理(図5)のステップS24における処理に相当する。
先に説明した処理により、3次元点群は建物ごとに分離されており、また建物枠も求められている。しかも、3次元点群と2次元地図との対応関係も求められているため、建物枠の形状も、対応関係で用いられたホモグラフィ変換により、さらに精度が向上している。
3次元モデル生成装置200は、こうして得られた情報に基づき、3次元点群から、各建物のポリゴンを生成する。
具体的には、建物枠に基づいて上面を定義し、次にこれを下方に平行移動することで、各辺に対して建物の側面のポリゴンを設定する。特殊な形状の建物(図13のステップS57参照)についても同様に、分岐している各上面を下方に平行移動することによって分岐部分の側面を生成し、また低階層の上面を下方に平行移動することによって低階層の側面ポリゴンを生成する。このように上面の形状を利用する他、建物枠生成処理で分離された側面の点群(図14のステップS71参照)に基づいてポリゴンを定義してもよい。
図18(a)には、生成前の3次元点群の様子を示し、図18(b)には生成されたポリゴンの様子を示した。ポリゴンによって3次元点群が精度良く再現されていることが分かる。
図19、20は、テクスチャ生成処理のフローチャートである。3次元モデル生成処理(図5)のステップS25における処理に相当する。
処理を開始すると、3次元モデル生成装置200は、ポリゴン生成処理で生成されたポリゴンデータおよび画像データ、撮影条件を入力する(ステップS90)。撮影条件とは、撮影位置、撮影時のカメラの方向、画角などである。
3次元モデル生成装置200は、次に、ポリゴンが画像内に描かれる画像データを抽出する(ステップS91)。これは、建物に対するテクスチャを切り出すのに適した画像を選択するための処理である。かかる画像を選択する方法としては、撮影した画像の画像解析によって目的となる建物が写っているか否かを判断する方法も可能ではあるが、多大な処理負荷がかかる。そこで、本実施例では、既に建物のポリゴンが得られていることから、このポリゴンを、ステップS90で読み込んだ撮影位置、撮影条件に相当する投影条件で透視投影し、得られた投影画像に基づいて目的の建物が写っているか否かを判断するのである。
図中に処理の様子を例示した。左側の画像1では、撮影位置、撮影条件に相当する投影条件で建物を描いたところ、画像外にはみ出す部分が生じている。右側の画像2では、画像内に建物全体が描かれている。本実施例では、このようにポリゴンを描画した結果に基づき、建物全体が描かれている画像2を、テクスチャの切り出し用に抽出する。
図中に処理の様子を示した。左側の画像では、処理対象となるべきポリゴンが背面として描かれている。一方、右側の画像では、視認できる範囲に描かれている。従って、左側の画像データは、テクスチャを切り出すのに不適切と判断し、除外されることになる。例えば、処理対象となるべきポリゴンの法線ベクトルと、視線方向を表すベクトルとのなす角度が90度以下である場合には、目標のポリゴンが背面となると判断することができる。
3次元モデル生成装置200は、これらの候補画像データの中から、処理対象ポリゴンの面積が最大となるものを選択する(ステップS94)。
図中に処理の様子を示した。図示するように、候補画像が3通りある場合、処理対象ポリゴン(図中のハッチングを付した部分)を正面から撮影した中央の画像が、面積最大となるため、これを選択することになる。この処理は、処理対象となるポリゴンの面積を算出することによって行うことができる。また、ポリゴンを正面から撮影した画像が面積最大になることが通常であるため、ポリゴンの法線ベクトルと視線方向とのなす角が最小となる画像を候補として選択するようにしてもよい。
候補の選択にあたっては、処理対象となるポリゴンの面積だけでなく、さらに画像データの画質などを考慮するようにしてもよい。
本実施例のテクスチャ生成処理によれば、処理対象となるポリゴンを正面付近から撮影した画像を利用することにより、画質に優れたテクスチャを生成することができる。
また、かかる画像を選択するに当たり、シミュレーション、即ち3次元点群から得られた建物のポリゴンを用いて、各画像データに対応する撮影位置、撮影条件で透視投影を行うことで得られる画像データを利用することにより、画像解析を利用する場合に比較して、軽い処理負荷で精度良く処理を行うことができる。
本発明は上述の実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、実施例においてハードウェア的に構成されている部分は、ソフトウェア的に構成することもでき、その逆も可能である。
101…カメラ
102…GPS
110…撮影制御部
112…撮影シーケンス記憶部
120…画像記録部
200…3次元モデル生成装置
201…画像データ記憶部
202…3次元点群生成部
203…3次元点群データ記憶部
204…重力方向解析部
205…点群分離処理部
206…建物枠生成部
207…位置合わせ処理部
208…ポリゴン生成部
209…テクスチャ生成部
210…2次元地図データ
211…3次元モデルデータ
Claims (8)
- 複数の地物の外形を表す複数の点からなる3次元点群をコンピュータによって解析する3次元点群解析方法であって、
前記3次元点群を構成する3次元点群データは、前記地物の外形を表す複数の点に対し、点ごとに解析用に設定された3次元座標空間における位置座標が格納されており、
前記3次元点群解析方法は、前記コンピュータが実行するステップとして、
(a) 前記3次元点群データを読み込むステップと、
(b) 前記3次元点群データから、前記地物の側面を表す点の集合である側面点群を特定するステップと、
(c) 前記側面点群に基づいて、前記地物の各側面の法線ベクトルを求めるステップと、
(d) 前記法線ベクトルから選択した2つの法線ベクトルの外積を、複数組の選択について求め、得られた複数の外積の統計的処理に基づいて、前記3次元座標空間における重力方向を決定するステップとを備える
3次元点群解析方法。 - 請求項1記載の3次元点群解析方法であって、
前記3次元点群は、前記地物の高さ方向の分布が、前記複数の地物の配置による水平方向の分布に比較して十分小さくなる領域について得られているとともに、各点について前記位置座標とともに該点が存在すると推測される面の法線ベクトルが格納されており、
前記3次元点群解析方法は、前記コンピュータが実行するステップとして、
(e) 前記3次元点群の主成分分析によって得られる第3主成分の方向を、仮の重力方向と設定するステップを有し、
前記ステップ(b)は、前記各点の法線ベクトルが前記仮の重力方向に沿っている点群を除くことにより、前記側面点群を特定する
3次元点群解析方法。 - 請求項1または2記載の3次元点群解析方法であって、
前記ステップ(c)は、前記側面点群を各地物の各側面に分離するとともに、該側面ごとに主成分分析を行って得られる第3主成分を前記地物の各側面の法線ベクトルとする
3次元点群解析方法。 - 請求項3記載の3次元点群解析方法であって、
前記ステップ(d)は、前記主成分分析において前記法線ベクトルに対して得られる第3固有値を用いて、前記各組における法線ベクトルの外積の精度を表す重み値を算出し、前記統計的処理として、前記重み値を用いた前記外積の加重平均を求める
3次元点群解析方法。 - 請求項1〜4いずれか記載の3次元点群解析方法であって、
前記ステップ(b)は、さらに、前記地物ごとに前記側面点群の各点の法線ベクトルの水平方向成分の分布を求め、所定以上の度数分布が得られている水平方向に相当する点を抽出することにより、前記側面点群を、前記地物の各側面に分離する
3次元点群解析方法。 - 請求項1〜5いずれか記載の3次元点群解析方法であって、
前記ステップ(b)は、前記3次元点群を構成する点同士の距離が所定値以下となる点を、同一の地物を構成する点群として分離することにより、前記地物ごとの側面点群を特定する
3次元点群解析方法。 - 複数の地物の外形を表す複数の点からなる3次元点群を解析する3次元点群解析装置であって、
前記3次元点群を構成する3次元点群データとして、前記地物の外形を表す複数の点に対し、点ごとに解析用に設定された3次元座標空間における位置座標を格納する3次元点群データ記憶部と、
前記3次元座標空間における重力方向を決定する重力方向解析部とを備え、
該重力方向解析部は、
前記3次元点群データから、前記地物の側面を表す点の集合である側面点群を特定し、
前記側面点群に基づいて、前記地物の各側面の法線ベクトルを求め、
前記法線ベクトルから選択した2つの法線ベクトルの外積を、複数組の選択について求め、得られた複数の外積の統計的処理に基づいて、前記3次元座標空間における重力方向を決定する
3次元点群解析装置。 - 複数の地物の外形を表す複数の点からなる3次元点群をコンピュータによって解析するためのコンピュータプログラムであって、
前記3次元点群を構成する3次元点群データは、前記地物の外形を表す複数の点に対し、点ごとに解析用に設定された3次元座標空間における位置座標が格納されており、
前記コンピュータプログラムは、
(a) 前記3次元点群データを読み込む機能と、
(b) 前記3次元点群データから、前記地物の側面を表す点の集合である側面点群を特定する機能と、
(c) 前記側面点群に基づいて、前記地物の各側面の法線ベクトルを求める機能と、
(d) 前記法線ベクトルから選択した2つの法線ベクトルの外積を、複数組の選択について求め、得られた複数の外積の統計的処理に基づいて、前記3次元座標空間における重力方向を決定する機能とをコンピュータに実現させるコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013061211A JP6080640B2 (ja) | 2013-03-25 | 2013-03-25 | 3次元点群解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013061211A JP6080640B2 (ja) | 2013-03-25 | 2013-03-25 | 3次元点群解析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014186565A true JP2014186565A (ja) | 2014-10-02 |
JP6080640B2 JP6080640B2 (ja) | 2017-02-15 |
Family
ID=51834070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013061211A Active JP6080640B2 (ja) | 2013-03-25 | 2013-03-25 | 3次元点群解析方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6080640B2 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016132489A1 (ja) * | 2015-02-18 | 2016-08-25 | 株式会社日立製作所 | 図面作成システム及び図面作成方法 |
JP2018010515A (ja) * | 2016-07-14 | 2018-01-18 | エーティーラボ株式会社 | メッシュ作成装置、メッシュ作成方法およびメッシュ作成プログラム |
WO2019017454A1 (ja) | 2017-07-21 | 2019-01-24 | 株式会社タダノ | 点群データのクラスタリング方法、ガイド情報表示装置およびクレーン |
WO2019017431A1 (ja) | 2017-07-21 | 2019-01-24 | 株式会社タダノ | 測定対象物の上面推定方法、ガイド情報表示装置およびクレーン |
WO2019017430A1 (ja) | 2017-07-21 | 2019-01-24 | 株式会社タダノ | 測定対象物の上面推定方法、ガイド情報表示装置およびクレーン |
WO2021210725A1 (ko) * | 2020-04-14 | 2021-10-21 | 주식회사 맥스트 | 점군 정보 가공 장치 및 방법 |
CN113917917A (zh) * | 2021-09-24 | 2022-01-11 | 四川启睿克科技有限公司 | 室内仿生多足机器人避障方法、装置及计算机可读介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010191066A (ja) * | 2009-02-17 | 2010-09-02 | Mitsubishi Electric Corp | 三次元地図補正装置及び三次元地図補正プログラム |
JP2012037490A (ja) * | 2010-08-11 | 2012-02-23 | Pasuko:Kk | データ解析装置、データ解析方法、及びプログラム |
JP2013053915A (ja) * | 2011-09-02 | 2013-03-21 | Pasuko:Kk | データ解析装置、データ解析方法、及びプログラム |
JP2013088999A (ja) * | 2011-10-18 | 2013-05-13 | Aero Asahi Corp | 建物抽出装置、方法及びプログラム |
-
2013
- 2013-03-25 JP JP2013061211A patent/JP6080640B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010191066A (ja) * | 2009-02-17 | 2010-09-02 | Mitsubishi Electric Corp | 三次元地図補正装置及び三次元地図補正プログラム |
JP2012037490A (ja) * | 2010-08-11 | 2012-02-23 | Pasuko:Kk | データ解析装置、データ解析方法、及びプログラム |
JP2013053915A (ja) * | 2011-09-02 | 2013-03-21 | Pasuko:Kk | データ解析装置、データ解析方法、及びプログラム |
JP2013088999A (ja) * | 2011-10-18 | 2013-05-13 | Aero Asahi Corp | 建物抽出装置、方法及びプログラム |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016132489A1 (ja) * | 2015-02-18 | 2016-08-25 | 株式会社日立製作所 | 図面作成システム及び図面作成方法 |
JPWO2016132489A1 (ja) * | 2015-02-18 | 2017-04-27 | 株式会社日立製作所 | 図面作成システム及び図面作成方法 |
JP2018010515A (ja) * | 2016-07-14 | 2018-01-18 | エーティーラボ株式会社 | メッシュ作成装置、メッシュ作成方法およびメッシュ作成プログラム |
EP3809367A1 (en) | 2017-07-21 | 2021-04-21 | Tadano, Ltd. | Measurement target top-surface estimation method, guide information display device, and crane |
WO2019017431A1 (ja) | 2017-07-21 | 2019-01-24 | 株式会社タダノ | 測定対象物の上面推定方法、ガイド情報表示装置およびクレーン |
WO2019017430A1 (ja) | 2017-07-21 | 2019-01-24 | 株式会社タダノ | 測定対象物の上面推定方法、ガイド情報表示装置およびクレーン |
WO2019017454A1 (ja) | 2017-07-21 | 2019-01-24 | 株式会社タダノ | 点群データのクラスタリング方法、ガイド情報表示装置およびクレーン |
EP3809368A1 (en) | 2017-07-21 | 2021-04-21 | Tadano Ltd. | Measurement target top-surface estimation method, guide information display device, and crane |
EP3809369A1 (en) | 2017-07-21 | 2021-04-21 | Tadano, Ltd. | Data point group clustering method, guide information display device, and crane |
US11270450B2 (en) | 2017-07-21 | 2022-03-08 | Tadano Ltd. | Data point group clustering method, guide information display device, and crane |
US11414305B2 (en) | 2017-07-21 | 2022-08-16 | Tadano Ltd. | Measurement target top-surface estimation method, guide information display device, and crane |
US11560292B2 (en) | 2017-07-21 | 2023-01-24 | Tadano Ltd. | Measurement target top-surface estimation method, guide information display device, and crane |
WO2021210725A1 (ko) * | 2020-04-14 | 2021-10-21 | 주식회사 맥스트 | 점군 정보 가공 장치 및 방법 |
CN113917917A (zh) * | 2021-09-24 | 2022-01-11 | 四川启睿克科技有限公司 | 室内仿生多足机器人避障方法、装置及计算机可读介质 |
CN113917917B (zh) * | 2021-09-24 | 2023-09-15 | 四川启睿克科技有限公司 | 室内仿生多足机器人避障方法、装置及计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
JP6080640B2 (ja) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6080642B2 (ja) | 3次元点群解析方法 | |
JP2014185947A (ja) | 3次元復元のための画像撮影方法 | |
JP6080641B2 (ja) | 3次元点群解析方法 | |
JP6080640B2 (ja) | 3次元点群解析方法 | |
US11222204B2 (en) | Creation of a 3D city model from oblique imaging and lidar data | |
CN109883401B (zh) | 一种城市观山可视域的测量方法及系统 | |
CN110287519A (zh) | 一种集成bim的建筑工程施工进度监测方法及系统 | |
CN107514993A (zh) | 基于无人机的面向单体建筑建模的数据采集方法及系统 | |
Barazzetti et al. | True-orthophoto generation from UAV images: Implementation of a combined photogrammetric and computer vision approach | |
WO2018061010A1 (en) | Point cloud transforming in large-scale urban modelling | |
JP2015114954A (ja) | 撮影画像解析方法 | |
WO2021181647A1 (ja) | 画像処理装置、画像処理方法、およびコンピュータ可読媒体 | |
Remondino et al. | Oblique aerial imagery for NMA: some best practices | |
CN114066960B (zh) | 三维重建方法、点云融合方法、装置、设备及存储介质 | |
CN117315146B (zh) | 基于跨尺度多源数据的三维模型的重建方法及存储方法 | |
US20240233262A1 (en) | Method for 3d reconstruction from satellite imagery | |
CN110838129A (zh) | 基于倾斜摄影测量的三维建筑物模型轮廓特征线提取方法 | |
CN107564111A (zh) | 基于计算机视觉的电力线空间安全分析方法 | |
CN109931912A (zh) | 一种航空倾斜摄影方法及装置 | |
Bevilacqua et al. | Digital technology and mechatronic systems for the architectural 3D metric survey | |
Özdemir et al. | A multi-purpose benchmark for photogrammetric urban 3D reconstruction in a controlled environment | |
CN116129064A (zh) | 电子地图生成方法、装置、设备及存储介质 | |
Kwiatek et al. | Immersive photogrammetry in 3D modelling | |
CN114359489A (zh) | 一种管道施工期实景影像的制作方法、装置、设备及存储介质 | |
CN110163962A (zh) | 一种基于Smart 3D倾斜摄影技术输出实际地形等高线的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161102 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161122 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170113 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170117 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6080640 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |