【新規性喪失の例外の表示】特許法第30条第2項適用 国土交通記者会(東京都千代田区霞が関2−1−3) 国土交通省建設専門紙記者会(東京都千代田区霞が関2−1−3) 国土交通省交通運輸記者会(東京都千代田区霞が関2−1−3) 筑波研究学園都市記者会(茨城県つくば市竹園2−20−5) 平成29年8月30日 発表
(58)【調査した分野】(Int.Cl.,DB名)
建築物の少なくとも1つの面の形状及び位置座標を示す三次元データと、前記面において落下または倒壊の危険性がある劣化箇所を示す劣化箇所データとを記憶する記憶部と、
前記三次元データ及び前記劣化箇所データを基に、前記三次元データ上に前記劣化箇所を示す図形を配置した劣化情報付三次元データを生成するとともに、前記劣化箇所が前記建築物の周辺空間に及ぼす影響範囲を立体的に示す影響範囲図形を生成し当該影響範囲図形の位置座標を示すデータと共に前記三次元データに付加した影響範囲情報付三次元データを生成する制御部と、
前記劣化箇所を示す図形の三次元データおよび前記影響範囲を示す図形の三次元データを表示装置へ出力する出力部と
を具備する情報処理装置。
【発明を実施するための形態】
【0023】
以下、本発明に係る実施形態を、図面を参照しながら説明する。
【0024】
図1は、本実施形態に係る建築物危険性可視化システムの構成を示した図である。
【0025】
同図に示すように、本システムは、PC100と携帯端末200とから構成される。
【0026】
当該PC100と携帯端末200とは、例えばUSB(Universal Serial Bus)ケーブルその他の有線ケーブルまたは無線通信インタフェース等の接続手段50を介して接続可能である。
【0027】
PC100は、建築物が潜在的に有する、外壁や天井等の落下または倒壊の危険性を可視化したデータ(危険性情報付三次元データ)を生成するための情報処理を実行し、当該データを携帯端末200に転送する。
【0028】
携帯端末200は、具体的には、タブレット端末やスマートフォン等の携帯型の情報処理装置であり、上記PC100によって生成されたデータを受信し、ユーザが存在する屋外等の現場においえ、カメラで撮像した実景と共に上記データをAR(Augmented Reality)表示する。
【0029】
これにより、建築物が潜在的に有する落下や倒壊の危険性を建築物の所有者・管理者へ伝えることで、建築物の適切な維持管理を促すことができ、また当該建築物の近傍を通る歩行者等の安全を確保するための施策を取ることが可能となる。
【0030】
[PCのハードウェア構成]
図2は、上記PC100のハードウェア構成を示した図である。同図に示すように、PC100は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、入出力インタフェース15、及び、これらを互いに接続するバス14を備える。
【0031】
CPU11は、必要に応じてRAM13等に適宜アクセスし、各種演算処理を行いながらPC100の各ブロック全体を統括的に制御する。ROM12は、CPU11に実行させるOS、プログラムや各種パラメータなどのファームウェアが固定的に記憶されている不揮発性のメモリである。RAM13は、CPU11の作業用領域等として用いられ、OS、実行中の各種アプリケーション、処理中の各種データを一時的に保持する。
【0032】
入出力インタフェース15には、表示部16、操作受付部17、記憶部18、通信部19等が接続される。
【0033】
表示部16は、例えばLCD(Liquid Crystal Display)、OELD(Organic ElectroLuminescence Display)、CRT(Cathode Ray Tube)等を用いた表示デバイスである。
【0034】
操作受付部17は、例えばマウス等のポインティングデバイス、キーボード、タッチパネル、その他の入力装置である。
【0035】
記憶部18は、例えばHDD(Hard Disk Drive)や、フラッシュメモリ(SSD;Solid State Drive)、その他の固体メモリ等の不揮発性メモリである。当該記憶部18には、上記OSや各種アプリケーション、各種データが記憶される。
【0036】
特に本実施形態では、記憶部18は、PC100が建物の上記危険性の可視化処理を実行するためのアプリケーションその他のプログラム、及び、当該処理に必要な点群データ、建物の劣化箇所の診断結果データ、各建物及び町並の3次元データ、危険性を示すテクスチャデータ等のデータを記憶している。
【0037】
通信部19は、例えばEthernet用のNIC(Network Interface Card)や無線LAN等の無線通信用の各種モジュールであり、上記携帯端末200との間の通信処理を担う。
[携帯端末のハードウェア構成]
図3は、本実施形態に係る携帯端末のハードウェア構成を示したブロック図である。
【0038】
同図に示すように、携帯端末200は、CPU21、RAM22、不揮発メモリ23、表示部24、通信部25、カメラ26、GPSセンサ27、磁気センサ(電子コンパス)28、及び加速度センサ29を有する。
【0039】
CPU121は、必要に応じてRAM22等に適宜アクセスし、各種演算処理を行いながら携帯端末200の各ブロック全体を統括的に制御する。RAM22は、CPU21の作業用領域等として用いられ、OS、実行中の各種アプリケーション、処理中の各種データ(後述の三次元データ、撮像画像データ、座標データ、補正値等)を一時的に保持する。
【0040】
不揮発メモリ23は、例えばフラッシュメモリやROM(Read Only Memory)であり、CPU21に実行させるOS、各種プログラムや各種パラメータなどのファームウェアを固定的に記憶する。
【0041】
特に本実施形態において、不揮発メモリ23は、建物の危険性を可視化するAR(Augmented Reality)表示処理を実行するためのアプリケーションを記憶する。
【0042】
表示部24は、例えばLCD(Liquid Crystal Display)やOELD(Organic ElectroLuminescence Display)であり、カメラ26による撮像画像や、当該撮像画像に建物の危険性を示す情報を合成した合成画像等を表示する。典型的には、表示部24は、タッチパネルと一体とされており、ユーザのタッチ操作を受け付け可能である。すなわち表示部24は、操作検出部としても機能する。
【0043】
図示しないが、携帯端末200は、上記操作検出部として、例えば電源ボタン等のハードウェアボタンも有する。
【0044】
通信部25は、WiFi(Wireless Fidelity)等の無線LAN(IEEE802.11等)や移動通信用の3Gや4Gのネットワークを用いて、他の装置と通信する。
【0045】
カメラ26は、例えばCMOS(Complementary Metal Oxide Semiconductor)やCCD(Charge Coupled Devices)センサ等の撮像素子により、静止画(写真)及び動画を撮像する。当該カメラ26は、例えば夜景モードや人物モード等の各種撮影モードの選択機能、パノラマ撮影機能、3D撮影機能、ホワイトバランス調整機能、絞り調整機能等の様々な機能を有し、ユーザは上記表示部24(タッチパネル)等を操作してそれらの機能の設定を行うことができる。
【0046】
GPSセンサ27は、3つ以上の衛星からの電波を捕捉し、それぞれの衛星までの距離に基づいて、携帯端末200が存在する位置を地球座標系で記述した座標を算出し、これを地球楕円体の上に当てはめて、携帯端末200の位置情報(緯度・経度・標高情報)を検出する。
【0047】
当該GPSセンサ27が用いられる代わりに、通信部25による無線通信により、基地局との間で三辺測量が行われることで、上記位置情報が検出されてもよい。
【0048】
磁気センサ(方位センサ)28は、携帯端末200から見た磁北の向きを検出可能である。加速度センサ29は、鉛直(重力)方向を検出可能である。これら検出された磁北の向き及び鉛直の向きから、携帯端末200の姿勢(カメラ26のアングル)が算出される。
【0049】
[システムの動作]
次に、以上のように構成されたシステムPC100の動作について説明する。当該動作は、PC100のCPU11等のハードウェアと、記憶部18に記憶されたソフトウェアとの協働により実行される。以下の説明では、便宜上、CPU11を動作主体とする。
【0050】
図4は、PC100による建築物可視化処理の大まかな流れを示したフローチャートである。
【0051】
同図に示すように、PC100による建築物可視化処理は、以下の処理で構成されている。
(S1)建物・町並の3次元モデルデータの構築処理
(S2)建築物の劣化箇所の診断結果を表現するテクスチャデータの生成処理
(S3)当該テクスチャデータの上記3次元モデルへの適用処理
(S4)建築物が有する落下または崩壊の危険性を可視化する立体(以下、「リスク立体」と称する)の生成処理
(S5)上記危険性が地面へ及ぼす影響範囲の解析処理
(S6)現場確認用データの編集処理
【0052】
当該各処理により生成されたデータを用いて、携帯端末200による現場確認処理(S7)が実行される。
【0053】
以下、各処理について詳細に説明する。
【0054】
(3次元データの構築処理)
図5は、PC100による、建物・町並の3次元データの生成処理の概要を示した図である。
【0055】
同図(A)に示すように、町並の壁面を示す3次元データは、同図(A)に示すように、移動体計測車を用いたMMS(Mobile Mapping System)を用いて計測された沿道壁面の点群データ(MMSデータ)から生成される。
【0056】
また同図(B)に示すように、個別の建物の壁面の3次元データは、建物の設計CAD(Computer-Aided Design)データ(2次元)やBIM(Building Information Modeling)データ(3次元)からも構築することができる。この処理の詳細については割愛する。
【0057】
図6は、PCによる点群データを用いた3次元モデルの構築処理の流れを示したフローチャートである。
【0058】
同図に示すように、CPU11は、オルソ画像による確認処理(ステップ61)を経た上で、点群データのフォーマット検査を実行する(ステップ62)。
【0059】
続いてCPU11は、上記フォーマット検査後の点群データから、線分を抽出し(ステップ63)、当該抽出した線分を基にさらに面を抽出する(ステップ64)。
【0060】
続いてCPU11は、建物細部の詳細なデータの生成が必要か否かを判断し(ステップ65)、必要と判断した場合(Yes)、建物細部の3次元データを作成する(ステップ66)。
【0061】
以下、各処理の詳細について説明する。
【0062】
図7は、PC100による点群データを用いた3次元モデルの構築処理におけるメタファイル生成処理の流れを示したフローチャートである。当該メタファイルは、点群データのフォーマット検査においてフォーマットに欠陥が見つかった部分をスキップして解読する処理を定義するものである。
【0063】
同図に示すように、CPU11は、まず点群データのフォーマットに欠陥があるか否かの検査を実行する(ステップ71)。
【0064】
点群データにおける各計測点は、CSV(Comma-Separated Values)形式の1行で記述されており、1行は7つの数値から構成されている。1点を記述する1行の最初の3つの浮動小数値は、北緯36度0分、東経139度50分を原点とする平面直角座標系の座標値である。1つの整数パラメータ、カラー(RGB)を示す43つの整数パラメータ(0−255)がこれらに続く。
【0065】
30万点弱の計測点がブロックとして束ねられており、各ブロックの先頭に行数が10進数で記述されている。1つのファイルにはこのブロックが100個格納されており、1つの走行区間は5つのファイルで記述されている。
【0066】
ところが、実際のデータでは、1行に7つ以上の数値が記述されている(コンマの数が6以上である)場合や、ブロックの先頭にある点の総数と実際の行数とが一致しないような場合(フォーマットの欠陥)がしばしば見られる。
【0067】
本実施形態では、このようなフォーマットの欠陥部分があっても、そこをスキップして、ファイルが包含する有意な情報を全て取り出して利用できることが望ましい。
【0068】
このような観点から、本実施形態では、フォーマット検査として、点群データを構成する各ブロックの全ての行について、セパレータ(スペースまたはコンマ)の数をカウントして分析する。セパレータが無い場合、ブロックの先頭とみなして整数値を取得する。
【0069】
そして、ブロック内の行に関して、1行に記述された数値が7ではない行の開始位置と終了位置を検出する。また、ブロック内の行数と先頭の整数値を比較し、一致を確認する。所定の行数に至る前に、1行のデータ数が1つしかない行が検出された場合には、次のブロックがそこから開示されるものと解釈する。
【0070】
CPU11は、以上の検査結果に基づいて、データファイルごとに欠陥区間をスキップしてデータを読み込むメタファイルのテンプレートを作成する(ステップ72)。このテンプレートにおいては、1つの点のデータが正常に取得された場合には、その値(座標値とカラー値)を因数としてpoint関数を呼び出す。point関数はひとまず処理内容が空のテンプレート関数として作成しておき、どのような処理を行うかについては、目的に応じて別途コーディングする。
【0071】
続いてCPU11は、データファイルごとに作成したメタファイルに、必要な処理内容を追記して保存する。具体的には、線分の抽出処理の追記の他、後述するように、個別の建物の存在範囲を包摂する立体や、個別の壁面との包含関係を判定する関数を自動生成してメタファイルに追記した(ステップ73〜78)。
【0072】
そしてCPU11は、これらのメタファイルと点群データを用いて、点群データの線群データへの変換処理へと進む(ステップ79)。
【0073】
本実施形態では、上記検査の結果、フォーマットに欠陥が見つからなかった部分の処理については詳細を割愛し、欠陥が見つかった部分の処理について詳細を説明する。
図8は、PC100による、点群データの欠陥ブロックに関する読込処理の流れを示したフローチャートである。上述したように、当該処理は上記メタファイルによる内部処理である。
【0074】
同図に示すように、CPU11はまず、点群データのブロックのヘッダーを読み込み、ブロック内の点の数Nを取得する(ステップ81)。
【0075】
続いてCPU11は、検査で検出された欠陥区間を除いた点の数N´をNとする(ステップ82)。
【0076】
続いてCPU11は、現在の行が欠陥区間の開始行か否かを判断する(ステップ83)。
【0077】
現在の行が欠陥区間の開始行であると判断した場合(Yes)、CPU11は、当該欠陥区間の行数を読み飛ばす(スキップする)(ステップ84)。
【0078】
一方、現在の行が欠陥区間の開始行ではないと判断した場合(No)、1行(1点)を入力し(ステップ85)、当該入力した点がN個に達したか否かを判断する(ステップ86)。
【0079】
CPU11は、上記ステップ83以降の処理を、点の数がN個に達する(ステップ86のYes)まで繰り返す。
【0080】
図9は、上記のようにフォーマット欠陥部分をスキップしながら解読した点群データから、線分を抽出する処理の流れを示したフローチャートである。当該処理は、上記のようにメタファイルテンプレートに線分抽出用の追記がされた解読用メタファイルによって実行される。
【0081】
点群データの特徴として、MMSにおいては斜めの軸の周りに回転するセンサが反射パルスを取得しているため、壁面や軒裏等の平面に関しては、直線上に連続する座標値が密に並ぶ。一方、建物の手前に樹木などの複雑かつ空隙のある物体が存在する場合には、計測値は断続的となり、座標値は大きく振れる。そこで本実施形態では、隣接間隔が一定値以内の一連の直線上に並ぶ点群は同一の物体を照射しているものとみなして線分として抽出し、両端以外の中間点を捨象する処理を行った。これにより元の点群データを遥かに小さなファイルサイズに圧縮することが可能となる。
【0082】
同図に示すように、CPU11はまず、距離が所定の閾値以下の直線上に並んだ点群配列区間を抽出する(ステップ91)。
【0083】
続いてCPU11は、上記抽出した点群配列区間の開始点と終了点により線分を定義しバッファリングすることで、複数の線分からなる折れ線区間を生成する(ステップ92)。
【0084】
続いてCPU11は、上記複数の線分について、連続する3点の成す角度が所定の閾値(例えば45度)以上である場合には上記折れ線区間が終了し、閾値未満であれば折れ線区間が継続しているものとみなして、複数の線分群を生成する(ステップ93)。
【0085】
そしてCPU11は、上記生成した線分群をメモリ(RAM13)に出力する(ステップ94)。
【0086】
図10は、上記線分群から面を抽出する処理の流れを示したフローチャートである。
【0087】
点群から取得された線分群は、壁面等の平面的形状に対応した部分においては、ハッチラインのような分布となっている。そこで、水平面への投影形が重畳する線分群を、垂直な平面を構成する線分としてグルーピングし、その外周を獲得することにより、壁面を取得することとした。
【0088】
同図に示すように、CPU11はまず、メモリ上の線分群から比較元の線分L1を取り出す(ステップ101)。
【0089】
続いてCPU11は、当該線分L1が最後の線分か否かを判断し(ステップ102)、最後でない場合(Yes)、別の線分L2を取り出す(ステップ103)。
【0090】
続いてCPU11は、当該線分L2が最後の線分か否かを判断し(ステップ104)、最後でない場合(Yes)、L1とL2の水平投影が重なるか否かを判断する(ステップ105)。
【0091】
L1とL2の水平投影が重なると判断した場合(Yes)、CPU11は、L2をL1に帰属させ、使用済フラグを立てることで、L2を再選択できないように設定する(ステップ106)。
【0092】
以上の処理を、メモリ上の全線分について繰り返すことで、複数の線分群が生成されることになる。
【0093】
続いてCPU11は、メモリから線分群Lgを取り出す(ステップ107)。
【0094】
続いてCPU11は、当該線分群Lgが最後の線分群か否かを判断し(ステップ108)、最後でない場合(No)、線分群が面を形成するのに十分な数か(所定の閾値以上か)を判断する(ステップ109)。
【0095】
線分群が十分な数でない場合(No)には、上記ステップ107以降の処理が繰り返される。
【0096】
線分群が十分な数である場合(Yes)、CPU11は、当該線分群の幅と高さから長方形を生成し(ステップ110)、当該正方形により面のオブジェクトを生成する(ステップ111)。
【0097】
上記の処理により、町並全体の概略三次元モデルが得られる。これを用いて、個別の建物の範囲が識別可能となる。本実施形態では、個別の建物を包摂する立体を用いて、元データの全ての点群から、樹木などを含めた建物に関係する点を抽出し、これを用いて、個別の建物の細部をモデリングすることとした。
【0098】
図11は、上記建物細部の3次元モデルの構築処理の流れを示したフローチャートである。この処理は、元の点群ファイルから、建物周囲の点群を抽出する処理である。
【0099】
同図に示すように、CPU11はまず、上記線分群から生成された町並の壁面群が表された状態で、個別建物を包摂する立体を作成する(ステップ121)。
【0100】
続いてCPU11は、ある座標値が上記作成した立体の内部に存在するか否かを判定する関数を作成する(ステップ122)。
【0101】
続いてCPU11は、
図7でも示したように、メタファイルのテンプレートに上記判定関数を組み込んで、建物周囲の点群だけを抽出し表示するメタファイルを作成する(ステップ123)。
【0102】
そしてCPU11は、上記メタファイルを用いて点群ファイルを解読し、当該建物周囲の詳細な表示を得る(ステップ124)。
【0103】
図12は、点群データからの壁面細部の3次元モデルの構築処理の流れを示したフローチャートである。当該処理は、個別壁面に属する点群を元の点群ファイルから抽出する処理である。
【0104】
同図に示すように、CPU11はまず、上記と同様、線分群から生成された町並の壁面群が表された状態で、個別建物を包摂する立体を作成する(ステップ131)。
【0105】
続いてCPU11は、図形演算により上記立体の外部のオブジェクトを全て削除する(ステップ132)。
【0106】
続いてCPU11は、立体の内部に存在する壁面のそれぞれについて、座標値が近傍にあるか否かを判定する関数を作成する(ステップ133)。
【0107】
続いてCPU11は、
図7でも示したように、メタファイルのテンプレートに上記判定関数を組み込んで、壁面近傍の点群だけを抽出し表示するメタファイルを作成(ステップ134)。
【0108】
そしてCPU11は、上記メタファイルを用いて点群ファイルを解読し、壁面(群)の詳細な表示を得る(ステップ135)。
【0109】
(建築物の劣化箇所の診断結果を表現するテクスチャデータの生成処理)
次に、建物の劣化箇所の診断結果データを基に、劣化箇所と劣化箇所以外とを二値表現したテクスチャデータを生成する処理について説明する。
【0110】
図13は、建物の外壁剥落の診断結果を表現するテクスチャの生成処理の概要を示した図である。
【0111】
同図に示すように、この処理では、例えば打診検査機や赤外線センサ等によって計測された外壁の剥落危険個所(劣化箇所)の診断結果報告書(紙データ)のスキャンデータ(PDFデータ等)を解析して、当該データ(劣化箇所データ)を、剥落危険個所Pに対応するテクスチャTを有するテクスチャデータに変換する。
【0112】
上記診断結果では、例えば立面図の上に剥落危険個所Dがハッチや段彩により描かれて表現されている。この図(画像データ)から、剥落危険箇所を1、それ以外を0とするテクスチャを作成し、壁面毎に割り付けることにより、剥落危険箇所の三次元的な位置を明らかにすることができる。
【0113】
図14は、上記テクスチャの生成処理の概要的な流れを示したフローチャートである。
【0114】
同図に示すように、CPU11はまず、上記診断結果の画像ファイルを選択する(ステップ141)。
【0115】
続いてCPU11は、上記画像ファイルがPDF形式か否かを判断する(ステップ142)。
【0116】
上記画像ファイルがPDF形式であると判断した場合(Yes)、CPU11は、当該PDFファイルに含まれている画像ファイル(JPEG等)を個別の画像ファイルに分解してメモリに保存する(ステップ143)。
【0117】
続いてCPU11は、上記画像データを入力し(ステップ144)、そのカラー分析処理を実行する(ステップ145)。
【0118】
そしてCPU11は、上記カラー分析の結果を基に壁面ごとのテクスチャを切り出し、メモリに保存する(ステップ146)。
【0119】
図15は、上記テクスチャの生成処理におけるカラー分析処理の流れを示したフローチャートである。
【0120】
上記診断結果の画像ファイルにおいて、カラー値は(int R, int G, int B)で表現され、R(赤)、G(緑)、B(青)のそれぞれが0〜255の値を持つ。
【0121】
ここで教師データを(Rt,Gt,Bt)としたときに、あるカラー値(R,G,B)の教師データからの隔たりを計測した「色距離」Dを、
D= √((R-Rt)2 + (G-Gt)2 + (B-Bt)2)
で定義すると、Dは最大で255×√3≒442存在する。
【0122】
そこで、長さ442の配列Si[442]を用意し、1つの画像を構成する全てのピクセルのカラー値と教師データとの距離を整数値に丸めることで、分布を集計することができる。
【0123】
次に、全てのピクセルのカラー値がランダムであった場合の分布を見るために、R,G,Bを0〜255の範囲で変化させた時のDの集計結果を配列Sr[442]に求める。Sn[i] = Si[i]*2563/Sr[i]/総ピクセル数を計算することにより、画像全体におけるピクセルの色分布の偏りを見ることができる。
【0124】
外壁診断結果を図示した画像の場合には、欠陥部分の色、地色(多くは白に近い)、囲み線の色、書込み文字の色などがあり、それぞれが中心となる色彩の周辺に集中する分布となることから、上記の集計結果は、いくつかのピークを持つ分布となる。
【0125】
これを用いて、教師データとその周辺の分布だけを切り出し、その色の集団の中央値と分布範囲を求めることにより、色彩を判定する関数を作成することができる。
【0126】
このような原理に基づき、CPU11は、まず、例えばユーザ入力に基づいて教師データを指定する(ステップ151)。
【0127】
続いてCPU11は、ランダムな色分布を仮定した場合の教師データの周りの色分布Sr[442]を集計する(ステップ152)。
【0128】
続いてCPU11は、診断図画像の全ピクセルに関する教師データの周りの色分布Si[442]を集計する(ステップ153)。
【0129】
続いてCPU11は、教師データの周りの正規化された色分布Sr[442]を集計する(ステップ154)。
【0130】
続いてCPU11は、上記集計結果を表示部16に表示した上で(ステップ155)、上記教師データが有効か否かを判断する(ステップ156)。
【0131】
上記教師データが有効でないと判断した場合(No)、上記ステップ151〜155の処理を繰り返す。
【0132】
上記教師データが有効であると判断した場合(Yes)、CPU11は、教師データの周りの正規化された色分布における代表カラーCを求める(ステップ157)。
【0133】
そしてCPU11は、代表カラーと判定する色距離閾値Dを求める(ステップ158)。
【0134】
以上の処理により、診断結果において壁面の剥落危険箇所を示す色塗りの典型的な場所をユーザがクリックして教師データとすることにより、そのカラーで塗り分けられた領域を正確に抽出することができる。
【0135】
図16は、上記カラー分析に基づくテクスチャの切出し処理の流れを示したフローチャートである。
【0136】
同図に示すように、CPU11はまず、診断図に表示されている画面上のユーザ操作に基づいて、1つの壁面範囲の指定する(ステップ161)。
【0137】
続いてCPU11は、上記指定された壁面範囲を切り出した部分画像を作成する(ステップ162)。
【0138】
続いてCPU11は、上記部分画像の全ピクセルに関して、カラー代表値Cから色距離閾値D以内にあるカラーを有するピクセルをカラー1、それ以外をカラー0に変換する(ステップ163)。
【0139】
そしてCPU11は、変換結果をファイルに保存する(ステップ164)。
【0140】
ここで、剥落危険部分を明示的に表示したい場合、元図をカラー1を黒(0,0,0)、カラー2を白(255,255,255)としてもよい。
【0141】
また、剥落危険部分を明示的に表示しない場合、カラー1とカラー2のRGB値を元の値のままとし、カラー1のアルファ値を255、カラー2のアルファ値を254としてもよい。
【0142】
図17は、上記作成したテクスチャの建物各部への配置処理の概要を示した図である。
【0143】
同図に示すように、建物の3次元モデルBの1つの壁面上に、上記作成した剥落危険箇所を示すテクスチャTを立体的に配置する。これにより、建物の3次元データに、当該建物が有する劣化箇所の危険性を示す情報が付加された危険性情報(劣化情報)付3次元データが生成される。
【0144】
図18は、建物各部への上記テクスチャの配置処理の流れを示したフローチャートである。
【0145】
同図に示すように、CPU11はまず、ユーザの操作に基づいて、配置するテクスチャデータを選択する(ステップ181)。
【0146】
続いてCPU11は、ユーザの操作に基づいて、記憶部18に記憶されている建物の3次元モデルデータの中からテクスチャを配置する壁面を選択する(ステップ182)。
【0147】
そしてCPU11は、上記選択された壁面に沿って、
図17で示したようにテクスチャをマッピングする(ステップ183)。
【0148】
テクスチャのポリゴン(多角形)への適用に際しては、頂点毎にテクスチャ座標の定義が必要であるが、垂直な長方形の壁面の場合には、テクスチャ座標を単純に簡単に(0,0),(1,0),(1,1),(0,1)とすればよく、壁面を1つ選択する上記の簡単なユーザ操作のみで実行が可能である。
【0149】
(リスク立体の生成処理)
次に、上記テクスチャを配置した壁面の危険性を可視化するリスク立体の生成処理について説明する。
図19は当該リスク立体の作成処理の概要を示した図である。
【0150】
同図に示すように、上記
図17で示したようなテクスチャデータTとして表現された剥落危険箇所1ドット毎に、影響範囲を示す円錐型のリスク立体Rを生成する。このリスク立体Rの和集合を求めることにより、一つの壁面、一つの建物全体、及び町並全体についての危険な範囲を求めることができる。
【0151】
図20は、上記リスク立体の作成処理の大まかな流れを示したフローチャートである。
【0152】
同図に示すように、CPU11は、リスク立体生成処理として、1点からのリスク立体の生成処理(ステップ201)、1壁面からのリスク立体の生成処理(ステップ202)、1建物からのリスク立体の生成処理(ステップ203)及び町並からのリスク立体の生成処理(ステップ204)を実行する。以下、それぞれの処理について説明する。
【0153】
図21は、1点からのリスク立体作成処理の流れを示したフローチャートである。
【0154】
同図に示すように、CPU11はまず、平面図表示の画面に対するユーザのクリック操作を受け付けることで、対象点のXY座標を取得する(ステップ211)。
【0155】
続いてCPU11は、立面図表示の画面に対するユーザのクリック操作を受け付けることで、対象点のZ座標を取得する(ステップ212)。
【0156】
そしてCPU11は、取得したXYZ座標値で定義される頂点を有し、側面の勾配が1:2の円錐形のリスク立体Rを生成する(ステップ213)。円錐形の底面は地面(Z座標0)と同一面に形成される。
【0157】
ここで、円錐形のリスク立体Rは、背景となる建物の3次元モデルBと区別が付きやすいように、建築物にはあまり使われない紫色等に着色すると共に、後ろの建物の3次元モデルBが透けて見えるように透過率を設定する。
【0158】
図22は、一壁面からのリスク立体作成処理の流れを示したフローチャートである。
【0159】
同図に示すように、CPU11はまず、ユーザの操作に基づいて、ある建物の壁面を選択する(ステップ221)。
【0160】
続いてCPU11は、選択された壁面のテクスチャから、1つの列を取り出す(ステップ222)。
【0161】
続いてCPU11は、上記列の中の最も上方のリスク源を探索する(ステップ223)。
【0162】
続いてCPU11は、テクスチャ上のピクセル座標と、壁面の空間座標から、ピクセルの空間座標を補間計算する(ステップ224)。
【0163】
続いてCPU11は、上記ピクセルの空間座標を頂点とする円錐形のリスク立体Rを生成する(ステップ225)。
【0164】
CPU11は、以上の処理を、全ての列について繰り返す(ステップ226)。
【0165】
なお、1つのリスク源の真上に別のリスク源がある場合、前者から生成されるリスク立体は後者から生成されるリスク立体に包含されるため、CPU11は前者に関する処理を無視することができる。
【0166】
図23は、一建物からのリスク立体作成処理の流れを示したフローチャートである。
【0167】
同図に示すように、CPU11はまず、ユーザの操作に基づいて、1つの建物を選択する(ステップ231)。
【0168】
続いてCPU11は、上記選択された建物から、1つの壁面を取り出す(ステップ232)。
【0169】
続いてCPU11は、取り出した1壁面について、上記
図22で示したリスク立体Rの生成処理を実行する(ステップ233)。
【0170】
CPU11は、以上の処理を、全ての壁面について繰り返す(ステップ234)。
【0171】
図24は、町並み全体からのリスク立体作成処理の流れを示したフローチャートである。
【0172】
同図に示すように、CPU11はまず、町並から1つの建物を取り出す(ステップ241)。
【0173】
続いてCPU11は、
図23で示した1建物からのリスク立体の生成処理を実行する(ステップ242)。
【0174】
CPU11は、以上の処理を、町並に含まれる全ての建物について繰り返す(ステップ243)。
【0175】
(危険性が地面へ及ぼす影響範囲の解析処理)
次に、上記剥落危険箇所の危険性が地面へ及ぼす影響範囲を解析する処理について説明する。
図25は、当該解析処理の概要を示した図である。
【0176】
当該処理では、建物の3次元モデルBの周囲の地面を例えば0.1mのメッシュに分割し、それぞれの地点に影響を及ぼす可能性のある上方の剥落危険箇所の面積(上記リスク立体Rの底面の面積)を集計することにより、地点毎に危険性のレベルをある程度定量的に計算し、それをリスク画像Sとして表現することができる。この地面は水平面である必要はなく、坂道などであってもよい。
【0177】
図26は、上記地面への影響範囲の解析処理の大まかな流れを示したフローチャートである。
【0178】
同図に示すように、CPU11は、当該影響範囲の解析処理として、1壁面からの影響範囲の解析処理(ステップ261)、1建物からの影響範囲の解析処理(ステップ262)、町並全体からの影響範囲の解析処理(ステップ263)を実行する。以下、それぞれの処理について説明する。
【0179】
図27は、1壁面からの影響範囲の解析処理の流れを示したフローチャートである。
【0180】
同図に示すように、CPU11はまず、壁面の3次元モデルの上辺の座標値と最低標高から、十分に広い地面の範囲を含む長方形領域を作成する(ステップ271)。
【0181】
続いてCPU11は、上記長方形領域をメッシュに分割する(ステップ272)。
【0182】
続いてCPU11は、メッシュ毎にリスク源(剥落危険箇所)の面積集計用の配列を用意する(ステップ273)。
【0183】
続いてCPU11は、上記メッシュから1つの点(X,Y)を取り出す(ステップ274)。
【0184】
続いてCPU11は、上記3次元モデルにおける地面を検索して標高Zを求める(ステップ275)。
【0185】
続いてCPU11は、壁面のテクスチャから1つのリスク源を取り出す(ステップ276)。
【0186】
続いてCPU11は、上記取り出したリスク源が上記点(X,Y,Z)に影響するか否かを判断する(ステップ277)。
【0187】
上記リスク源が上記点に影響すると判断した場合(Yes)、CPU11は、当該リスク源に対応する壁面の面積を加算する(ステップ278)。
【0188】
続いてCPU11は、次のリスク源はあるか否かを判断する(ステップ279)。
【0189】
次のリスク源が有ると判断した場合(Yes)には、CPU11は、上記ステップ276以降の処理を繰り返し、全てのリスク源について同様の処理を実行する。
【0190】
次のリスク源が無い(全てのリスク源について処理を実行した)と判断した場合(No)、CPU11は、次のメッシュ点はあるか否かを判断する(ステップ280)。
【0191】
次のメッシュ点が有ると判断した場合(Yes)には、CPU11は、上記ステップ274以降の処理を繰り返し、全てのメッシュ点について同様の処理を実行する。
【0192】
次のメッシュ点が無い(全てのメッシュ点について処理を実行した)と判断した場合(No)、CPU11は、メッシュ点毎のリスク源面積を画像ファイルとして保存(ステップ281)。
【0193】
図28は、1建物からの影響範囲の解析処理の流れを示したフローチャートである。
【0194】
同図に示すように、CPU11はまず、建物の3次元モデルの上面の座標値と最低標高から、十分に広い地面の範囲を含む長方形領域を作成する(ステップ291)。
【0195】
続いてCPU11は、長方形領域をメッシュに分割する(ステップ292)。
【0196】
続いてCPU11は、メッシュ毎にリスク源(剥落危険箇所)の面積集計用の配列を用意する(ステップ293)。
【0197】
続いてCPU11は、上記メッシュから1つの点(X,Y)を取り出す(ステップ294)。
【0198】
続いてCPU11は、上記3次元モデルにおける地面を検索して標高Zを求める(ステップ295)。
【0199】
続いてCPU11は、建物から1つの壁面を取り出す(ステップ296)。
【0200】
続いてCPU11は、上記
図27に示した処理により、壁面に含まれるリスク源の面積を求め、集計用配列に加算する(ステップ297)。
【0201】
続いてCPU11は、次の壁面はあるか否かを判断する(ステップ298)。
【0202】
次の壁面が有ると判断した場合(Yes)には、CPU11は、上記ステップ296以降の処理を繰り返し、全ての壁面について同様の処理を実行する。
【0203】
次の壁面が無い(全ての壁面について処理を実行した)と判断した場合(No)、CPU11は、次のメッシュ点はあるか否かを判断する(ステップ299)。
【0204】
次のメッシュ点が有ると判断した場合(Yes)には、CPU11は、上記ステップ294以降の処理を繰り返し、全てのメッシュ点について同様の処理を実行する。
【0205】
次のメッシュ点が無い(全てのメッシュ点について処理を実行した)と判断した場合(No)、CPU11は、メッシュ点毎のリスク源面積を画像ファイルとして保存する(ステップ300)。
【0206】
図29は、町並全体からの影響範囲の解析処理の流れを示したフローチャートである。
【0207】
同図に示すように、CPU11はまず、全建物の3次元モデルの上面の座標値と最低標高から、十分に広い地面の範囲を含む長方形領域を作成する(ステップ301)。
【0208】
続いてCPU11は、長方形領域をメッシュに分割する(ステップ302)。
【0209】
続いてCPU11は、メッシュ毎にリスク源(剥落危険箇所)の面積集計用の配列を用意する(ステップ293)。
【0210】
続いてCPU11は、上記メッシュから1つの点(X,Y)を取り出す(ステップ304)。
【0211】
続いてCPU11は、上記3次元モデルにおける地面を検索して標高Zを求める(ステップ305)。
【0212】
続いてCPU11は、町並から1つの建物を取り出す(ステップ306)。
【0213】
続いてCPU11は、上記
図28に示した処理により、建物に含まれるリスク源の面積を求め、集計用配列に加算する(ステップ307)。
【0214】
続いてCPU11は、次の建物はあるか否かを判断する(ステップ308)。
【0215】
次の建物が有ると判断した場合(Yes)には、CPU11は、上記ステップ306以降の処理を繰り返し、全ての建物について同様の処理を実行する。
【0216】
次の建物が無い(全ての建物について処理を実行した)と判断した場合(No)、CPU11は、次のメッシュ点はあるか否かを判断する(ステップ309)。
【0217】
次のメッシュ点が有ると判断した場合(Yes)には、CPU11は、上記ステップ304以降の処理を繰り返し、全てのメッシュ点について同様の処理を実行する。
【0218】
次のメッシュ点が無い(全てのメッシュ点について処理を実行した)と判断した場合(No)、CPU11は、メッシュ毎のリスク源面積を、GIS(Geographic Information System)に入力可能なファイルとして保存する(ステップ310)。GISに入力可能なファイルとして生成することで、自動車における自動危険回避制御への活用も可能となる。
【0219】
(現場確認用データの編集処理及び現場確認)
次に、上記生成した危険性情報(劣化箇所を示す図形および/または影響範囲を示す図形の現場確認用データ)の編集処理及び現場での確認処理について説明する。
【0220】
図30は、上記携帯端末300による、建物の危険性のAR表示処理の概要を示した図である。
【0221】
この処理にあたっては、PC100から、これにUSBケーブルで接続された携帯端末200にデータ(危険性情報)を転送した上でユーザが現場に携行することにより、現実の建物の表面では直接目視することができない見えないリスク源としての劣化箇所(テクスチャTを付した壁面データ)、および/または、そこから下方に及ぶ影響範囲(リスク立体R)、および地面への影響範囲(リスク画像S)などを現場で背景画像とリアルタイムで合成して表示・確認することができる。同図の例では、危険性情報としてリスク立体Rが転送され合成表示されている。
【0222】
図31は、PC100による、携帯端末200への現場確認用データの転送処理の流れを示したフローチャートである。
【0223】
同図に示すように、CPU11はまず、現場確認用データ(危険性情報)を編集する(ステップ311)。具体的には、建物の3次元モデル毎のリスク立体Rのファイル名と、各建物の3次元モデルの座標原点の緯度経度標高のリストを作成する。
【0224】
続いてCPU11は、現場確認用データを確認表示する(ステップ312)。すなわち、PC100上で動作するエミュレータで上記リストから建物を選択し、リスク立体Rを表示する。
【0225】
続いてCPU11は、携帯端末200へ現場確認用データを、USBケーブル等を介して転送する(ステップ313)。
【0226】
続いて、携帯端末200を用いた現場作業(確認・記録)が実行される(ステップ314)。具体的には、携帯端末200が、ユーザの視点(カメラ26の撮像面)の移動に応じて、カメラ26で取得した現場の背景画像と、上記受信したリスク立体Tとを合成(AR)表示する。ユーザは、必要に応じてシャッターを操作し、現場写真と視点情報を記録する。
【0227】
続いてCPU11は、携帯端末200から現場で記録したデータを、上記USBケーブル等を介して回収する(ステップ315)。
【0228】
続いてCPU11は、現場記録データを表示部16で再生表示(ステップ316)。すなわち、現場で記録された写真と視点情報に基づき、上記エミュレータ上で合成表示を再現する。
【0229】
図32は、携帯端末200による、現場確認用データを用いたAR表示処理の流れを示したフローチャートである。当該処理の前提として、携帯端末200のユーザは、現場確認用のアプリケーションを起動し、上記PC100から転送された建物のリストからいずれかの建物を選択する。これによりAR表示処理が開始される。
【0230】
同図に示すように、まず携帯端末200のCPU21は、緯度経度情報が取得されているか否かを判断する(ステップ321)。緯度経度情報が取得できない場合とは、GPSセンサ27がオフになっている場合、または、GPSセンサ27がGPS衛星を検索中の状態の場合である。
【0231】
緯度経度情報が取得できている場合(No)、CPU21は、当該緯度経度が所定の特区内であるか否かを判断する(ステップ322)。
【0232】
緯度経度が特区外であると判断した場合(No)、CPU21は、通常のAR表示(通常表示)を実行する(ステップ324)。
【0233】
通常表示とは、3次元モデルの原点の緯度経度標高と、GPSセンサ27が計測した緯度経度標高との差から、3次元モデル座標系における視点位置を求め、この視点位置を用いて、レンダリングを行なう処理である。
【0234】
緯度経度が特区内であると判断した場合(Yes)、CPU21は、PC100から転送された建物の3次元モデルの位置座標を確認し当該位置座標が特区周辺であるか否かを判断する(ステップ323)。
【0235】
上記3次元モデルが特区周辺に存在すると判断した場合(Yes)、CPU21は、通常表示を実行する(ステップ324)。
【0236】
上記3次元モデルが特区周辺には存在しないと判断した場合(No)、CPU21は、特区表示を実行する(ステップ325)。
【0237】
特区表示とは、特区(本実施形態に係るAR技術上の特別な場所)内に定義した原点の緯度経度標高と、GPSセンサ27が計測した緯度経度標高の差から、3次元モデル座標系における視点位置を求め、この視点位置を用いて、レンダリングを行なう処理である。例えば、3次元モデルに対応する建物が実際に存在する位置が、ユーザが存在する場所から遠く離れている場合には、ユーザの近傍に設定した特区において、擬似的に近傍に存在する物件のようにAR表示を体験することができる。なお、本実施形態では、「特区」は、本出願人が存する施設の中央のオープンスペースに設定され、「特区周辺」は、同施設の敷地全体に相当するエリアに設定された。
【0238】
また、上記ステップ321において緯度経度情報が取得できなかった場合(Yes)、CPU21は、回転表示を実行する(ステップ326)。
【0239】
回転表示とは、携帯端末200の表示面に直交するベクトルの各成分(X=東西成分、Y=南北成分、Z=鉛直成分)を、加速度センサ29と磁気センサ28の値から求めるとともに、3次元モデル(地区)を包摂する球の半径Rを計算し、レンダリングのための視点位置を、3次元モデルの原点から上記ベクトルの方向に距離1.5Rの地点に求め、この視点位置を用いてレンダリングを行なう処理である。
【0240】
図33は、携帯端末200によるAR表示処理のうち上記通常表示処理の流れを示したフローチャートである。
【0241】
同図に示すように、CPU21はまず、3次元モデルの座標軸の原点の緯度経度標高(1)を取り出す(ステップ331)。
【0242】
続いてCPU21は、GPSセンサ27が取得した携帯端末の緯度経度標高(2)を取り出す(ステップ332)。
【0243】
続いてCPU21は、上記(1)と(2)から3次元モデルの座標系における携帯端末の位置(x,y,z)を計算する(ステップ333)。
【0244】
続いてCPU21は、算出した携帯端末200の位置と姿勢を用いて3次元モデルの透視図を作成する(ステップ334)。
【0245】
そしてCPU21は、上記作成した透視図をカメラ26の背景画像と合成して表示する(ステップ335)。
【0246】
図34は、携帯端末200によるAR表示処理のうち、特区における表示処理の流れを示したフローチャートである。
【0247】
同図に示すように、CPU21はまず、特区の原点の緯度経度標高(1)を取り出す(ステップ341)。
【0248】
続いてCPU21は、GPSセンサ27が取得した携帯端末の緯度経度標高(2)を取り出す(ステップ342)。
【0249】
続いてCPU21は、上記(1)と(2)から3次元モデルの座標系における携帯端末200の位置(x,y,z)を計算する(ステップ343)。
【0250】
続いてCPU21は、算出した携帯端末200の位置と姿勢を用いて3次元モデルの透視図を作成する(ステップ344)。
【0251】
そしてCPU21は、作成した透視図をカメラ26の背景画像と合成して表示する(ステップ345)。
【0252】
図35は、携帯端末200によるAR表示処理のうち回転表示処理の流れを示したフローチャートである。
【0253】
同図に示すように、CPU21はまず、3次元モデル座標系におけるモデルの存在範囲(3座標の最小値と最大値)を求める(ステップ351)。
【0254】
続いてCPU21は、3次元モデルの中心の座標値と存在範囲を含む半径Rを求める(ステップ352)。
【0255】
続いてCPU21は、3次元モデルの中心から携帯端末200のカメラ軸と逆の方向にR離れた地点を求め、それを携帯端末200の位置とする(ステップ353)。
【0256】
続いてCPU21は、算出した携帯端末200の位置と姿勢を用いて、3次元モデルの透視図を作成する(ステップ354)。
【0257】
そしてCPU21は、作成した透視図をカメラ26の背景画像と合成して表示する(ステップ355)。
【0258】
結果的にこの処理により、一般的な3次元モデラーにおいてモデルを回転させて表示するような視覚効果が得られる。その際の視点移動の入力手段として、携帯端末200の加速度センサ29と磁気センサ28を使用していることになる。
【0259】
[まとめ]
以上説明したように、本実施形態によれば、建築物が潜在的に有する落下または倒壊の危険性を危険性情報(劣化箇所情報/影響範囲情報)として生成し、携帯端末200によるAR表示で可視化することができる。具体的には、上記テクスチャT(が付された壁面データ)のAR表示により現場の建物の劣化箇所が可視化され、上記リスク立体Rにより現場の建物の周辺に危険性が及び立体的範囲が可視化され、上記リスク画像Sにより現場の建物の周辺に危険性が及ぶ地面範囲が可視化される。なお、これらテクスチャT、リスク立体R及びリスク画像Sは、広義にはいずれも「建物の劣化箇所を示す図形」ということができる。
【0260】
[変形例]
本発明は上述の実施形態にのみ限定されるものではなく、本開示の要旨を逸脱しない範囲内において種々変更され得る。
【0261】
上述の実施形態においては、PC100が上記
図4で示したS1〜S6の全ての処理を実行する例を示した。しかし、PC100は、これらの処理のうち全てを実行する必要は無い。例えば、三次元モデルの構築処理やテクスチャの作成処理は他の装置が担い、PC100が当該三次元モデル及びテクスチャデータを利用して、S3〜S6に示した処理を実行してもよい。
【0262】
上述の実施形態では、建物の外壁等の剥離及び落下による危険性を可視化する処理について主に説明したが、危険性はそれらに限られず、例えば地震により倒壊しそうな建物や落下のおそれがある看板等の付属物、漏出の虞れがある有害物質、落下後も高電圧を生じうる発電設備等も同様に危険性情報を示す3次元データとして可視化してもよい。
【0263】
また、建物の外部のみならず、内部の天井が有する危険性についても同様に処理が可能であり、例えば天井の剥落危険箇所からリスク立体Rが床に向けて表示されるように危険性情報の3次元データを生成することも可能である。
【0264】
また、リスク立体Rを地面(床)に向けて表示するのみならず、例えば剥落物が地面に落下した場合に割れて飛散する様子等が可視化されてもよい。この場合、剥落危険箇所の面積に応じて飛散面積が大きくなるような所定の計算式が用いられてもよい。
【0265】
また上述の実施形態では、危険性を示す情報として、劣化箇所が建築物の周辺空間に及ぼす影響範囲を示す影響範囲情報であるリスク立体Rのみが携帯端末200へ転送される例が示されたが、劣化箇所を示す図形であるテクスチャTを付した壁面データとリスク立体R(またはリスク画像S)の両方が携帯端末200へ転送され現場で表示されてもよいし、テクスチャTを付した壁面データまたはリスク画像Sのみが携帯端末200へ転送され現場で合成表示されてもよい。
【0266】
上述の実施形態の各フローチャートで示した処理は一例であり、それ以外の処理によっても本発明の目的を達成することができる。
【0267】
本願の特許請求の範囲に記載された発明のうち、「情報処理方法」と記載された発明は、その各ステップを、ソフトウェアによる情報処理によりコンピュータ等の少なくとも1つの装置が自動的に行うものであり、人間がコンピュータ等の装置を用いて行うものではない。すなわち、当該「情報処理方法」は、コンピュータ・ソフトウェアによる情報処理方法であって、コンピュータという計算道具を人間が操作する方法ではない。