【実施例1】
【0017】
以下、3次元モデル生成支援システムとして構成した場合を例にとって、本発明の実施例を説明する。3次元モデル生成支援システムとは、オペレータの操作に基づいて、建物の形状を表す3次元モデルの生成・修正を支援するためのシステムである。オペレータは、本システムを用いて、3次元モデルの生成対象となる建物を撮影した新旧の実写画像を比較し、時間の経過によって変化した部分、即ち3次元モデルに修正が必要な部分を指示する。指摘された部分を3次元モデルに反映する作業は、3次元モデルの生成および修正を取り扱う別の専用システムで行われる。即ち、本システムは、3次元モデルを生成または修正するために必要な指示を設定するためのシステムである。本システムによって設定される指示を、以下、付加情報と呼ぶ。
まず、3次元モデル生成支援システムの機能等を説明するため、同システムの出力例を示した後、それを実現するための構成および処理内容等について説明する。
【0018】
A.出力例:
図1〜
図6は、3次元モデル生成支援システムの出力例を示す説明図である。それぞれ3次元モデル生成支援システムを構成するコンピュータのディスプレイ上に表示される画面である。
図1に示すように、3次元モデル生成支援システムの画面は、実写表示ウィンドウ、3Dモデル表示ウィンドウ、および2次元地図ウィンドウで構成される。それぞれのウィンドウは、独立したウィンドウとなっており、オペレータの操作に応じてサイズを変更し、閉じることも可能である。
実写表示ウィンドウには、処理対象となる建物(以下、「対象建物」と呼ぶ)を撮影した実写画像が表示される。
3Dモデル表示ウィンドウには、対象建物の3次元モデルを透視投影したグラフィックス画像が表示される。この透視投影は、実写画像の撮影位置を視点、撮影方向を視線方向として行われており、3Dモデル表示ウィンドウの画像は、実写表示ウィンドウにおける対象建物の表示を再現した画像となっている。精度のよい3次元モデルが未生成の場合には、対象建物の平面形状を高さ方向に平行移動しただけの簡易なモデルなどを用いてもよい。
2次元地図ウィンドウには、対象建物周囲の2次元地図が表示され、カメラのモデルによって、3Dモデル表示ウィンドウの視点位置および画角が示される。また、カメラの方向は、透視投影の視線方向を表している。この視点位置は、実写画像の撮影位置に対応しており、視線方向は,撮影方向に対応している。
【0019】
図2は、
図1と同じ対象建物の従前の実写画像を表示した例である。実写画像は、
図1と撮影地点、撮影方向が近似しているものが選択されている。従って、
図1、2における対象建物の実写画像は、同一の建物を、ほぼ同じ位置から、ほぼ同じ方向に見た新旧の画像ということになる。オペレータは、
図1、2のように表示された新旧の実写画像を比較することによって、対象建物の外観に現れる経年変化を確認することができる。この例では、
図2に示した旧実写画像に対して、
図1に示した新実写画像では、対象建物の壁面中央部分に、垂れ幕が下げられていることが分かる。この部分が、3次元モデルに反映すべき経年変化であると判断される場合には、オペレータは、
図1の画面で、この垂れ幕部分を指定して、3次元モデルにその内容を変化させるべき指示を、付加情報として設定するのである。
【0020】
図3、4は、
図1、2と同じ対象建物を別の視点から見た状態を表している。
図3が新実写画像であり、
図4が旧実写画像である。本実施例では、対象建物に対して、その周囲の多方向からの実写画像が用意されている。こうすることにより、対象建物のいずれの壁面に年変化が生じた場合でも、確認可能となっている。このように多方向からの実写画像を用意する方法については、後述する。
【0021】
図5、6は、
図1、2と同じ対象建物をさらに別の視点から見た状態を表している。
図5が新実写画像であり、
図6が旧実写画像である。実写画像では、連絡通路で2つの建物が接続された状態の画像が表示されているのに対し、
図5、6内の右上に示した3Dモデル表示ウィンドウには、連絡通路部分で分断された状態で対象建物が表示されている。これは、連絡通路の左右の建物が、道路をはさんだ別の敷地に建てられている都合上、3Dモデル上は別の建物として扱っていることによるものである。このように、3Dモデル表示ウィンドウに対象建物の3Dモデルのみを表示させることにより、オペレータが、経年変化を確認すべき対象を明確にすることができる利点がある。仮に、3Dモデルにも、連結通路の左右の建物を表示したとすると、連結通路の右側の部分に経年変化が見いだされた場合、オペレータが、右側の部分の経年変化に対して修正指示を指定するおそれがあるが、実施例のように対象建物の3Dモデルのみを表示させるようにすれば、こうした過誤を抑制することができるのである。
【0022】
図7は、付加情報の表示例を示す説明図である。
図2に示した旧実写画像内で付加情報を設定した例を示した。オペレータが、先に示した
図1、2内の新旧実写画像を比較して、垂れ幕の有無が経年変化として存在することを見い出し、この変化に対する修正指示を付加情報として設定する場合を考える。オペレータは、マウスなどのポインティングデバイスを使用して実写画像内で経年変化が現れている領域を指定し、経年変化の内容または3Dモデルに施すべき修正の内容を文字等で入力する。
図7の例では、垂れ幕がかけられる部分を示す矩形領域およびその下に記載された文字列がこれらの付加情報に相当する。
ここで付された付加情報は、3Dモデルを修正する役割を担う別のオペレータに対する修正指示となる。付加情報自体を読み込んで自動的に3Dモデルに修正を施すという訳ではないため、付加情報を設定する領域等は、修正担当のオペレータが経年変化を認識し得る程度の精度で示されていれば足りる。入力された付加情報には、対象建物の壁面上の3次元座標が付されるため、右上の3Dモデル表示ウィンドウおよび右下の2次元地図ウィンドウにも、その位置が表示される。
図7では、3Dモデル表示ウィンドウ等には、単に付加情報の位置を示すマーキングのみを表示した例を示しているが、ここに、実写画像表示ウィンドウと同様の領域や指示内容を表示するものとしてもよい。
図7では、旧実写画像内で付加情報を設定した例を示したが、
図1に示した新実写画像内で設定することも可能である。
【0023】
図8、9は、別の視点位置からの付加情報の表示例を示す説明図である。上述の通り、付加情報には、3次元座標が付されるため、このように視点位置が変化した表示画像内においても、実写画像表示ウィンドウ、3Dモデル表示ウィンドウ、2次元地図ウィンドウのそれぞれに、付加情報が表示される。つまり、
図8、9に示された付加情報は、それぞれの表示画面内で設定されたものではなく、
図7の画面内で設定された付加情報が表示されているのである。こうすることで、
図7の画面で既に設定された付加情報と同じ内容が、
図8、9の画面で重複して設定されることを回避できる。また、
図8、9の左側の実写表示ウィンドウだけでは、垂れ幕の有無による経年変化が生じる壁面が視認しづらく、オペレータが経年変化を見落とすおそれがあるが、
図7の画面では明確に経年変化を認識可能であり、それを他の実写画像等でも共有できうるため、対象建物に生じた経年変化を漏れなく見いだすことができる利点もある。
図8、9の例でも、付加情報の位置のみを表示した例を示しているが、付加情報を付した領域や指示内容を表示するものとしてもよい。
【0024】
B.システム構成:
図10は、3次元モデル生成支援システムの構成を示す説明図である。3次元モデル生成支援システムは、調査車両で街中を走行しながら撮影した画像を取り込み、これに基づいて
図1〜9に示した表示等を実現するよう構成されている。図の上方には、調査車両100の構成を示し、下方には3次元モデル生成支援システム200の構成を示した。
【0025】
調査車両100は、普通自動車を利用して構成されている。
調査車両100の屋根には、全方位を写すカメラ120が設置されている。カメラ120としては、例えば、魚眼カメラを利用してもよいし、複数の通常のカメラを多方向に向けて設置するようにしてもよい。カメラ120は、動画用および静止画用のいずれでもよい。画像データは、ハードディスク114に記録される。画像データの記録には、ハードディスク114の他、フラッシュメモリ、SSDなど種々の記録媒体を利用可能である。
また、調査車両100には、撮影位置を記録するためのセンサ102、104が取り付けられている。センサ102は、GPS(Global Positioning System)であり、撮影時の車両の位置情報、即ち緯度経度を周期的に検出し、検出時刻とともに出力する。このデータは、画像データと併せてハードディスク114に記録される。
センサ104は、車両が一定距離移動する度に車速パルスと呼ばれる信号を出力する。車速パルスも、画像データと併せてハードディスク114に記録される。
制御部110は、CPU、ROM、RAMを備えたコンピュータであり、カメラ120、センサ102、104およびハードディスク114の動作を制御する。特に、カメラ120からの画像に対して、各センサ102、104の出力を同期させて、ハードディスク114に記録する機能を奏する。
【0026】
3次元モデル生成支援システム200は、CPU、ROM、RAM、ハードディスク等を備えるコンピュータに、図示する各機能ブロックを実現するためのコンピュータプログラムをインストールすることによって構成される。
【0027】
まず、3次元モデル生成支援システム200に備えられたデータベースについて説明する。これらのデータベースは、ハードウェア的には、3次元モデル生成支援システム200のハードディスク内に格納されているものである。各データベースを、3次元モデル生成支援システム200とは別のサーバ等に格納し、それぞれネットワークを介してアクセス可能な構成としてもよい。
調査画像DB201は、調査車両100によって撮影された画像(以下、調査画像と呼ぶこともある)および撮影位置等のデータを蓄積するデータベースである。調査車両100からのデータの移植は、例えば、DVD114aを介して行うことができる。
インタフェース用画像DB203は、調査画像から切り出され、実写画像の表示に使用される画像データ(以下、「実写画像データ」と呼ぶこともある)を蓄積する。本実施例では、対象建物のそれぞれについて、
図1〜9に示した実写画像データが蓄積されているのである。経年変化を確認することができるよう、実写画像データとしては、以前に撮影された旧データ、および調査車両100によって撮影された新データがそれぞれ格納されている。
視点情報DB202は、実写画像データのそれぞれについての視点情報、即ち、各実写画像データを撮影した撮影地点および撮影方向のデータを格納する。実写画像データの旧データ、新データに対応して、視点情報も、旧データ、新データがそれぞれ格納されている。
3次元モデルDB205は、対象建物の3次元形状を表す3次元モデルを格納している。3次元モデルは、いわゆる3次元地図を表示するために用いられるデータと共通しており、対象建物を表すポリゴンデータおよびそこに貼付されるテクスチャデータなどから構成される。3次元モデルDB205には、建物に関する3次元モデルのみを格納してもよいし、その他の種々の地物に関する3次元モデルを併せて格納しておいてもよい。
付加情報DB206は、3次元モデル生成支援システム200を用いてオペレータによって設定された付加情報を記憶する。具体的には、
図7に示したように、付加情報の3次元座標、およびその指示内容などが記憶されることになる。
地物IDリスト204は、3次元モデル生成支援システム200における経年変化の確認や3Dモデルの修正対象となる対象建物を特定するための識別情報、即ち地物IDを記憶している。
【0028】
次に、各機能ブロックの内容を説明する。
視点情報生成部210は、地物IDリスト204で特定される各建物に対して、調査画像DB201から実写画像データおよび視点情報を生成する機能を奏する。本実施例では、調査画像は全方位を撮影した画像となっており、対象建物以外も写っているため、このままでは、3次元モデル生成支援システム200の画面表示には適さない。そこで、この全方位画像から、対象建物が写っている部分を切り出して、実写画像データを生成し、インタフェース用画像DB203に格納するのである。また、その切り出しに用いた視点情報を、視点情報DB202に格納するのである。
インタフェース用画像DB203には、このように切り出した実写画像データを記録する態様の他、全方位画像から実写画像データを切り出すための切り出し情報、例えば、切り出すべき全方位画像の名称、および当該画像内で切り出すべき領域を特定する情報などを保持する切り出し情報DBとして構成してもよい。この場合は、実写画像データを表示する際に、切り出し情報に基づいて全方位画像から切り出した実写画像データを用いて画面表示を行うようにすればよい。こうすることによって、インタフェース用画像DB203のデータ容量を抑制することができ、また切り出し情報を調整することで、表示に用いられる実写画像のサイズや位置を柔軟に変化させることができる利点がある。
透視投影部213は、3次元モデルDB205に格納された3次元モデルを透視投影することによって、3Dモデル表示ウィンドウの画像を生成する。
2次元地図表示部214は、3次元モデルDB205に格納された3次元モデルを平面投影することによって、2次元地図ウィンドウの画像を生成する。
付加情報表示部215は、付加情報DB206に格納された付加情報を、その3次元座標に従って、仮想空間に配置し、透視投影することで、実写表示ウィンドウ、3Dモデル表示ウィンドウ、および2次元地図ウィンドウのそれぞれに付加情報を表示する画像を生成する。
コマンド入力部212は、3次元モデル生成支援システム200の画像において、付加情報の設定などについてのオペレータのコマンドを入力する。
インタフェース表示部211は、透視投影部213、2次元地図表示部214、付加情報表示部215で生成された画像を統合して、
図1〜9に示した画像、即ち、実写表示ウィンドウ、3Dモデル表示ウィンドウ、および2次元地図ウィンドウをそれぞれ表示する。また、オペレータによって入力されたコマンドに応じて付加情報を生成し、付加情報DB206に格納する機能も奏する。
【0029】
図11は、各データベースの構造を示す説明図である。
上段には、調査画像DB201の構造を模式的に示した。調査画像DBには、調査車両100で撮影された全方位画像が、調査車両100の走行軌を表す軌跡データに沿って、撮影位置情報とともに記録されている。全方位画像は、数メートル間隔の撮影位置となるように、間引いて記録してもよい。
視点情報DB202およびインタフェース用画像DB203には、調査画像DB201の全方位画像を切り出して生成された実写画像データおよびその際に設定された視点情報を格納する。これらの情報は、対象建物ごとに生成されるため、対象建物を特定する地物IDに対応して格納される。
まず、切り出し処理の対象としての全方位画像を選択すると、その撮影位置情報が、矢印aに示すように、切り出し画像の視点位置として格納される。また、全方位画像から、対象建物が撮影されている範囲を切り出すと、その範囲に対応した視線方向および画角が定まる。切り出された実写画像データは、インタフェース用画像DB203に識別子としての画像IDを付されて格納される。視点情報DB202には、上述の視点位置、視線方向、画角および画像IDが、視点情報1として格納される。
対象建物については、複数の視点から実写画像データが用意されるから、上述の処理を繰り返すことによって、視点情報2以降のデータが生成され、格納されることになる。
【0030】
図12は、付加情報データベースの構造を示す説明図である。上側に示した3次元モデル中の左側面(枠で囲んだ部分)に付加情報が付された例を示す。
本実施例における付加情報としては、下側の図に示す付加情報1のように点Pという一つの点を指定して付される情報、付加情報2のように点P1〜P4という領域を指定して付される情報がある。
付加情報1の場合、その付加情報が付されている対象建物の地物ID、および付加情報が付されているポリゴンを特定するポリゴンID、そして付加情報を付す点の3次元座標P、およびその指示内容が格納される。
付加情報2の場合、地物ID、ポリゴンID、指示内容は付加情報1と同じであるが、位置を表す情報としては、指定された領域を構成する頂点列P1〜P4のそれぞれの3次元座標が格納される。
本実施例では、付加情報は対象建物の壁面上に付されているものとして扱うため、付加情報DB206に、その壁面を表すポリゴンIDを記憶するものとしたが、これを省略することも可能である。
【0031】
C.視点情報生成処理:
C1.全体処理:
図13は、視点情報生成処理のフローチャートである。この処理は、全方位画像から、実写画像データ等を切り出す処理である。また、視点情報生成部210が実行する処理であり、ハードウェア的には、3次元モデル生成支援システム200のCPUが実行する処理である。
【0032】
処理を開始すると、CPUは、対象建物を選択する(ステップS10)。オペレータの入力に従って選択するものとしてもよいし、予め設定された規則に従って自動的に選択するものとしてもよい。かかる場合の規則としては、例えば、調査車両100の走行した軌跡の周囲に存在する建物を選択する方法、地物IDリスト204に記憶されている地物から、未処理のものを選択する方法などが考えられる。
【0033】
CPUは、対象建物に基づき、必要なデータを読み込む(ステップS11)。読み込むべきデータとしては、対象建物および周辺の3次元モデル、対象建物周辺の撮影軌跡データ、旧視点情報が挙げられる。撮影軌跡データとは、調査車両100が走行した軌跡であり、例えば、全方位画像の撮影地点の点列で表すことができる。旧視点情報とは、対象建物について、既に視点情報DB202に、旧視点情報が存在する場合には、それを読み込むという意味である。
【0034】
そして、CPUは、旧視点情報が存在しない場合には(ステップS12)、新規生成処理(ステップS13)によって、新視点情報を生成する。また、旧視点情報が存在する場合には(ステップS12)、これを利用する旧視点情報利用生成処理(ステップS14)によって、新視点情報を生成する。それぞれの処理内容については、後述する。
CPUは、生成された視点情報を視点情報DB202に格納し(ステップS15)、対象となるべき全建物について処理が終了するまで(ステップZS16)、以上の処理を繰り返し実行する。
【0035】
C2.旧視点情報利用生成処理:
図14は、旧視点情報利用生成処理のフローチャートである。視点情報生成処理(
図13)のステップS14に相当する処理である。この処理では、CPUは、旧視点情報に準じて、新視点情報を生成する。
処理を開始すると、CPUは、対象建物に対応した旧視点情報を1つ選択し(ステップS20)、視点位置および視線方向の情報を読み込む。また、旧視点情報に近い撮影位置を選択する(ステップS21)。
図中に撮影位置の選択方法を例示した。直線で示す調査車両100の軌跡データ上に、×で示す撮影位置で全方位画像が撮影されているものとする。一方、旧視点情報は、この軌跡データからややはずれた●で示した位置にあるものとする。このとき、軌跡データ上の撮影位置の中では、〇を付した位置が旧視点情報に近いため、CPUは、この点を選択するのである。
【0036】
撮影位置は、旧視点情報における視点位置と一致している訳ではないため、選択された撮影位置における全方位画像から、旧視点情報に対応した視線方向および画角で画像を切り出すと、対象建物が小さくなったり、対象建物の一部が欠けたりするおそれがある。こうした不都合を避けるため、CPUは、選択された視点情報を調整する。即ち、対象建物の描画部分が最大となるように視点位置、視線方向、画角を調整するのである。
調整は、例えば、次の手順で行うことができる。まず、対象建物が切り出された画像の描画領域からはみ出さないように、視線方向、画角を調整する。そして、描画領域に対して、対象建物が占める描画部分の面積を算出し、その割合が最大となるように、さらに、視線方向および画角を調整するのである。最大という条件に代えて、対象建物の描画部分が占める割合が所定値以上となる条件で調整するようにしてもよい。
CPUは、以上の処理を、旧視点情報に含まれる全ての視点情報について終了するまで繰り返し(ステップS23)、この処理を終了する。
【0037】
このように旧視点情報を利用して、新視点情報を設定することにより、旧実写画像データと視点位置、視線方向が近い新実写画像データを用意することが可能となる。従って、新旧の画像の比較が容易となり、対象建物の経年変化を認識しやすくなる利点がある。
【0038】
C2.新規生成処理:
図15は、新規生成処理のフローチャートである。視点情報生成処理(
図13)のステップS13に相当する処理である。この処理では、CPUは、旧視点情報が存在しないため、新規に新視点情報を生成する。
処理を開始すると、CPUは、仮視点情報群を生成する(ステップS30)。
図中に生成方法を示した。まず、CPUは、対象建物の平面形状に基づき、その重心位置CGを特定する。地図データとして、対象建物に対して、代表点が設定されている場合には、それを用いても良い。
そして、重心位置CGを中心として所定の半径の円Cを描画する。この円Cは、仮想視点を設定する領域の限界を画定するためのものである。円Cの半径は、任意に設定可能であるが、対象建物周囲の調査車両100の軌跡が円C内を貫通する程度の大きさにしておく必要がある。
CPUは、重心位置CGを中心として図に示すように8方向に半径を描く。本実施例では、東(E)、南東、南(S)、南西、西(W)、北西、北(N)、北東の8方位としたが、調査車両100の軌跡のいずれかを基準として8方向を設定してもよい。
こうして8方向の半径が決まると、CPUは、各半径と軌跡との交点を求め、これを仮視点とする。図中に示した5カ所の〇が仮視点となる。南(S)、南西、西(W)方向は、円C内に交点が見いだされないため、仮視点は設定されない。
西(W)方向の半径については、このまま延長すれば軌跡との交点を見いだすことができる状態にあるが、あまりに遠方の交点を視点に設定したとしても、そこから撮影された画像には、対象建物が十分な大きさで写っておらず、3次元モデル生成支援システムの実写画像データとしては適さないと考えられる。本実施例において、円Cによって仮視点の設定範囲を限定した意義は、このような点にある。
【0039】
実施例では、仮視点を設定する領域を画定するために円Cを用いたが、これに代えて、次に示す方法で、各方向の半径の長さを規制するようにしてもよい。
まず、重心CGから8方向に放射状に直線を伸ばし、対象建物の輪郭線との交点を求める。対象建物は閉図形であるから、この交点は8カ所求まるはずである。次に、重心CGから、各交点までの距離を算出し、その最大値を求める。そして、この最大値に所定の倍率を乗じるか、最大値に対して所定値を加えるなどして、得られる距離を、仮視点設定のための半径の上限値とするのである。
【0040】
CPUは、以上の方法で、仮視点を設定すると、それぞれに対して仮視点情報を調整する(ステップS31)。調整方法は、旧視点情報利用生成処理(
図14)のステップS22で説明したのと同じである。
【0041】
以上の処理によって、CPUは、対象建物の周囲に、視点情報を設定し、調査画像から対象建物が写っている部分を切り出して、3次元モデル生成支援システムに表示するための実写画像データを生成することができる。
【0042】
D.インタフェース表示、付加情報入力処理:
D1.全体処理:
図16は、インタフェース表示、付加情報入力処理のフローチャートである。
図1〜9で示した各画面の出力や、付加情報の設定を行うための処理である。これは、
図10に示したインタフェース表示部211を中心とする各機能ブロックの連携によって実現される処理であり、ハードウェア的には3次元モデル生成支援システム200のCPUによって実行される処理である。
【0043】
図1〜9に示した通り、インタフェース画面は、対象建物単位で表示されるため、処理を開始すると、CPUは、対象建物の地物IDを設定する(ステップS40)。オペレータが指示するものとしてもよいし、地物IDリスト204に格納されている地物IDから自動的に選択するようにしてもよい。
CPUは、視点情報DB202およびインタフェース用画像DB203から、新旧視点情報および新旧実写画像データを読み込むと(ステップS41)、以下、オペレータの操作に応じて、次の各処理を実行する。
オペレータが視点情報を選択したときは(ステップS42)、CPUはインタフェース表示処理(ステップS43)を実行する。この処理は、選択された視点情報に基づき、
図1〜9で示したインタフェース画像を表示する処理である。本実施例では、
図1〜9で示した通り、新実写画像データを用いた画面、旧実写画像データを用いた画面を表示可能である。そこで、本実施例では、画像表示用のバッファを2つ設け、一方に新実写画像データを用いた画面、他方に旧実写画像データを用いた画面を描画するようにした。こうすることで、表示に用いるバッファを切り換えることにより、速やかに新旧の画像を切り換えて表示することが可能となる。インタフェース表示処理(ステップS43)の具体的な処理内容は後述する。
オペレータが切換指示を選択したときは(ステップS44)、CPUは、バッファ切換(ステップS45)を行って、新旧の画面を切り換える。
オペレータが、付加情報の入力操作を行った場合には(ステップS46)、CPUは、付加情報入力処理(ステップS47)を行う。処理の具体的内容は後述する。
CPUは、オペレータが、終了を指示するまで(ステップS48)、以上の処理を繰り返し実行する。
【0044】
D2.インタフェース表示処理:
図17は、インタフェース表示処理のフローチャートである。インタフェース表示、付加情報入力処理(
図16)のステップS43に相当する処理である。
処理を開始すると、CPUは、表示に必要なデータを読み込む(ステップS60)。読み込むべきデータとしては、新旧の視点情報、およびそれに対応した新旧実写画像データ、地物IDに対応した3Dモデル、付加情報が挙げられる。
CPUは、新旧実写画像データを用いて実写画像を表示する(ステップS61)。この画像は、
図1に示した実写表示ウィンドウとなる。特に加工することなく、実写画像データをそのまま表示すればよい。本実施例では、新旧それぞれの画像表示用に2つのバッファを設けているため、一方に新実写画像データによる表示、他方に旧実写画像データによる表示を行っている。
【0045】
CPUは、3Dモデル、付加情報を用いて2次元地図を表示する(ステップS62)。この画像は、
図1の右下に示した2次元地図ウィンドウとなる。3Dモデルを真上から平面に投影することにより2次元地図の画像を生成することができる。また、付加情報には、3次元の座標が付されているから、この中の2次元的な位置座標を用いて付加情報を表示すればよい。付加情報は、
図7に示したように、その位置のみを表示するようにしてもよいし、付加情報の内容をテキスト等で表示するようにしてもよい。
【0046】
CPUは、3Dモデル、付加情報を用いて視点情報に基づき透視投影を行う(ステップS63)。視点情報、即ち実写画像データを撮影する際の視点位置、視線方向を用いて透視投影をすることにより、実写画像と同じ状態で対象建物を表示する画像を生成することができる。また、付加情報には3次元の座標が付されているから、3Dモデル上に付加情報を貼付した状態で透視投影を行えば、建物の表面上に付加情報が付された画像を生成することができる。こうして得られる画像は、
図1の右上に示した3Dモデル表示ウィンドウとなる。
【0047】
また、ここで生成される画像は、実写表示ウィンドウに付加情報を表示するためにも、用いられる。CPUは、生成された透視投影画像を、実写画像に重畳表示することによって、付加情報を実写表示ウィンドウに表示する(ステップS64)。ただし、重畳する際には、3Dモデルは透過表示とし、付加情報については非透過表示とする。こうすることによって、あたかも実写画像中の建物の壁面に付加情報が付された状態の画像を表示することが可能となる。
【0048】
以上の処理において、3Dモデルおよび付加情報を透視投影する際には、新実写画像用の画面では、新視点情報を用い、旧実写画像用の画面では、旧視点情報を用いることが好ましい。ただし、経年変化を容易に行えるようにするため、本実施例では、旧視点情報が存在する場合には、それを利用するようにして(
図14参照)、新旧の視点情報には大きな差異が生じないようにしている。従って、上記透視投影においては、新実写画像、旧実写画像ともに、新視点情報または旧視点情報のいずれかを共通して用いるようにしてもよい。こうすることにより、透視投影に要する処理負荷を軽減することができる。
【0049】
本実施例では、実写表示ウィンドウ、3Dモデル表示ウィンドウ、2次元地図ウィンドウの全てを表示するものとしているが、それぞれオペレータの指示によって表示/非表示を切換可能としてもよい。3Dモデル表示ウィンドウを表示しない場合には、3Dモデルを透視投影する必要はないから、付加情報のみを3次元の仮想空間上に配置し、これを透視投影するようにしてもよい。
【0050】
D2.付加情報入力処理:
図18は、付加情報入力処理のフローチャートである。インタフェース表示、付加情報入力処理(
図16)のステップS47に相当する処理である。オペレータが、実写表示ウィンドウまたは3Dモデル表示ウィンドウで位置を指定して付加情報を入力するための処理である。
処理を開始すると、CPUは、オペレータがポインティングデバイスで指示した点の画面上の位置座標を入力する(ステップS70)。実写表示ウィンドウ内の点PPが指定されたときは、このウィンドウに設けられた2次元座標xi、yiでその位置座標を入力することになる。3Dモデル表示ウィンドウ内の点が指定されたときは、このウィンドウに設けられた2次元座標xc、ycでその位置座標を入力することになる。
【0051】
CPUは、入力された位置座標を、建物のポリゴン上の3次元座標に変換する(ステップS71)。図中の左側には、実写表示ウィンドウで点PPが指定された状態を示している。実写画像データの視点位置および視線方向は視点情報として既知であるから、CPUは、点PPの2次元座標値に対して、視点情報を用いて透視投影の逆変換をする。ただし、この変換では、視点位置を通り点PPが存在する直線が定まるだけであり、点PPの3次元座標までは定まらない。そこで、指定された点PPは、対象建物の壁面上の点であるとの拘束条件を用いることにより、点PPの3次元座標に変換するのである。
例えば、次の方法で3次元座標を得ることができる。まず、対象建物の3次元モデルを視点情報に基づいて透視投影して得られるポリゴンを実写画像に重畳することによって、指定された点PPのポリゴン内での相対的な位置を求める。そして、3次元モデルのポリゴン内において、点PPに相当する位置を求めるのである。3次元座標への変換は、この他、種々の方法で行うことができる。
3Dモデル表示ウィンドウ内で点PPが指定された場合も同様である。また、付加情報を付す領域が指定された場合は(
図12参照)、上述の変換をそれぞれの点に対して行えばよい。
【0052】
CPUは、また、付加情報の指示内容を文字列として入力する(ステップS72)。そして、
図12に示すように、付加情報の位置座標と指示内容を対応づけた形で付加情報DB206に、付加情報を格納する(ステップS73)。
格納された付加情報は、インタフェース表示処理(
図17)によって、画面上に表示されることになる。
【0053】
E.効果および変形例:
以上で説明した3次元モデル生成支援システムによれば、いずれかのインタフェース画面内で建物の任意の点または領域に対して設定した付加情報を、実写画像とは別の付加情報DB206によって管理することができる。付加情報には、それを表示すべき3次元座標が関連づけられているため、対象建物の全ての実写表示ウィンドウ、3次元モデル表示ウィンドウにおいて共有することができる。
【0054】
本実施例において、説明した種々の特徴は、必ずしも全てを備えている必要はなく、適宜、一部を省略したり、組み合わせたりして実施してもよい。
また、本発明は、上述した3次元モデル生成支援システムとしての態様に限らず、対象建物に付された種々の付加情報を表示する付加情報表示システムとして構成することも可能である。例えば、対象建物の壁面の領域を指定し、広告画像などを付加情報として設定しておくことにより、
図1〜9で示した実写画像を表示する画面内において、あたかも対象建物自体に広告が付されているかのような画像を提供することが可能となる。
また、付加情報として、対象建物の壁面に対する種々のテクスチャを用意しておき、付加情報を切り換えて実写画像を表示することにより、対象建物の外壁仕上げのシミュレーションを行うこともできる。