(57)【特許請求の範囲】
【請求項１】
第１の画角で第１のカメラにより撮像された第１の画像および前記第１の画像の撮像時刻と、前記第１の画角より広い第２の画角で第２のカメラにより撮像された第２の画像および前記第２の画像の撮像時刻とを取得し、
前記第２の画像および前記第２の画像の撮像時刻と３次元モデルとに基づいて、前記第２のカメラの位置および姿勢を推定して記憶部に記憶し、
前記第１の画像の撮像時刻に対応する前記第２の画像の撮像時刻における、前記記憶部に記憶された前記第２のカメラの位置および姿勢に基づいて、前記第１の画像を撮像した前記第１のカメラの位置および姿勢を特定し、
複数の前記第１の画像をつなぎ合わせてパノラマ画像を生成し、
生成した前記パノラマ画像の四隅に位置する前記第１の画像に対応する、特定した前記第１のカメラの位置および姿勢に基づいて、前記パノラマ画像内の前記第１の画像それぞれの位置を補正し、
前記第１の画像ぞれぞれの位置が補正された前記パノラマ画像を３次元モデルにテクスチャマッピングする、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項２】
前記補正する処理は、前記パノラマ画像内の前記第１の画像それぞれの中心座標を比較して、前記パノラマ画像の四隅に位置する前記第１の画像の中心座標を基準点として抽出し、抽出した前記基準点に対応する前記３次元モデルのそれぞれの座標に、前記パノラマ画像の四隅に位置する前記第１の画像の中心座標のそれぞれが重なるように、前記パノラマ画像内の前記第１の画像それぞれの位置を補正する、
ことを特徴とする請求項１に記載の情報処理プログラム。
【請求項３】
前記特定する処理は、前記第２の画像の特徴点を抽出し、特定する前記第１のカメラの位置および姿勢に、抽出した前記特徴点に基づく信頼度を付与し、
前記補正する処理は、付与された前記信頼度が所定値未満である前記第１のカメラの位置および姿勢に対応する前記第１の画像を、前記基準点を抽出する選択肢から外して前記基準点を抽出する、
ことを特徴とする請求項２に記載の情報処理プログラム。
【請求項４】
第１の画角で第１のカメラにより撮像された第１の画像および前記第１の画像の撮像時刻と、前記第１の画角より広い第２の画角で第２のカメラにより撮像された第２の画像および前記第２の画像の撮像時刻とを取得し、
前記第２の画像および前記第２の画像の撮像時刻と３次元モデルとに基づいて、前記第２のカメラの位置および姿勢を推定して記憶部に記憶し、
前記第１の画像の撮像時刻に対応する前記第２の画像の撮像時刻における、前記記憶部に記憶された前記第２のカメラの位置および姿勢に基づいて、前記第１の画像を撮像した前記第１のカメラの位置および姿勢を特定し、
複数の前記第１の画像をつなぎ合わせてパノラマ画像を生成し、
生成した前記パノラマ画像の四隅に位置する前記第１の画像に対応する、特定した前記第１のカメラの位置および姿勢に基づいて、前記パノラマ画像内の前記第１の画像それぞれの位置を補正し、
前記第１の画像ぞれぞれの位置が補正された前記パノラマ画像を３次元モデルにテクスチャマッピングする、
処理をコンピュータが実行することを特徴とする情報処理方法。
【請求項５】
第１の画角で第１のカメラにより撮像された第１の画像および前記第１の画像の撮像時刻と、前記第１の画角より広い第２の画角で第２のカメラにより撮像された第２の画像および前記第２の画像の撮像時刻とを取得する取得部と、
前記第２の画像および前記第２の画像の撮像時刻と３次元モデルとに基づいて、前記第２のカメラの位置および姿勢を推定して記憶部に記憶する推定部と、
前記第１の画像の撮像時刻に対応する前記第２の画像の撮像時刻における、前記記憶部に記憶された前記第２のカメラの位置および姿勢に基づいて、前記第１の画像を撮像した前記第１のカメラの位置および姿勢を特定する特定部と、
複数の前記第１の画像をつなぎ合わせてパノラマ画像を生成する生成部と、
生成された前記パノラマ画像の四隅に位置する前記第１の画像に対応する、特定された前記第１のカメラの位置および姿勢に基づいて、前記パノラマ画像内の前記第１の画像それぞれの位置を補正する補正部と、
前記第１の画像ぞれぞれの位置が補正された前記パノラマ画像を３次元モデルにテクスチャマッピングするマッピング部と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理プログラム、情報処理方法および情報処理装置に関する。
【背景技術】
【０００２】
近年、過去に架橋された多くの橋梁が老朽化してきているが、橋梁を管理する自治体等では、橋梁の点検を行う作業員が不足している。このため、ラジオコントロール（無線操縦）によって飛行する無人機、いわゆるドローンを用いて橋梁を点検することが提案されている。無人機を用いて撮像された画像は、例えば複数の画像をつなぎ合わせたパノラマ画像とし、パノラマ画像を用いて橋梁の評価を行う。
【０００３】
また、トンネル壁面を撮像して得られた画像と、トンネル壁面をレーザスキャナ計測して得られた壁面の複数の計測点の座標値および反射強度値を用いて、画像と計測点との位置合わせを行って、トンネルの展開平面に画像を描画することが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２２０４７１号公報
【特許文献２】特開２００３−１１５０５７号公報
【特許文献３】特開２００３−１８５５８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、無人機を用いた橋梁の点検では、橋桁の下部等の空が開けていない場所も撮像するため、ＧＰＳ（Global  Positioning  System）が使用できない場合があり、撮像時の位置および姿勢を計測することが難しい。このため、撮像された画像に基づいてパノラマ画像を生成し、生成したパノラマ画像を橋梁の３次元モデルに貼り付けようとしても、撮像された画像の位置および姿勢の誤差によって、精度よく貼り付けることが困難である。
【０００６】
一つの側面では、本発明は、３次元モデルに高精細画像を精度よく貼り付けできる情報処理プログラム、情報処理方法および情報処理装置を提供することにある。
【課題を解決するための手段】
【０００７】
一つの態様では、情報処理プログラムは、第１の画角および該第１の画角より広い第２の画角で撮像された画像を取得する処理をコンピュータに実行させる。情報処理プログラムは、前記第２の画角で撮像された画像に基づいて、前記第１の画角で撮像された画像を撮像したカメラの位置および姿勢を特定する処理をコンピュータに実行させる。情報処理プログラムは、複数の前記第１の画角で撮像された画像をつなぎ合わせてパノラマ画像を生成する処理をコンピュータに実行させる。情報処理プログラムは、生成された前記パノラマ画像上の前記第１の画角で撮像された画像の位置を、特定された前記カメラの位置および姿勢に基づいて補正する処理をコンピュータに実行させる。情報処理プログラムは、補正された前記第１の画角で撮像された画像の位置に基づいて、前記パノラマ画像を３次元モデルにテクスチャマッピングする処理をコンピュータに実行させる。
【発明の効果】
【０００８】
３次元モデルに高精細画像を精度よく貼り付けできる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例の情報処理システムの構成の一例を示すブロック図である。
【図２】図２は、飛行装置および撮像画像の一例を示す図である。
【図３】図３は、第１画像記憶部の一例を示す図である。
【図４】図４は、第２画像記憶部の一例を示す図である。
【図５】図５は、第１位置姿勢記憶部の一例を示す図である。
【図６】図６は、第２位置姿勢記憶部の一例を示す図である。
【図７】図７は、変換パラメータ記憶部の一例を示す図である。
【図８】図８は、パノラマ画像内位置情報記憶部の一例を示す図である。
【図９】図９は、基準点情報記憶部の一例を示す図である。
【図１０】図１０は、パノラマ画像の生成の一例を示す図である。
【図１１】図１１は、テクスチャマッピングの一例を示す図である。
【図１２】図１２は、パノラマ画像上の基準点と３次元モデルの表面との対応の一例を示す図である。
【図１３】図１３は、テクスチャマッピングの他の一例を示す図である。
【図１４】図１４は、実施例のマッピング処理の一例を示すフローチャートである。
【図１５】図１５は、基準点選択処理の一例を示すフローチャートである。
【図１６】図１６は、情報処理プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて、本願の開示する情報処理プログラム、情報処理方法および情報処理装置の実施例を詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組みあわせてもよい。
【実施例】
【００１１】
図１は、実施例の情報処理システムの構成の一例を示すブロック図である。図１に示す情報処理システム１は、飛行装置１０と、コントローラ２０と、情報処理装置１００とを有する。なお、図１では、飛行装置１０およびコントローラ２０の数を１つとした一例を示したが、飛行装置１０およびコントローラ２０の数は限定されず、任意の数の飛行装置１０およびコントローラ２０を有してもよい。
【００１２】
飛行装置１０は、コントローラ２０から受信する操作コマンドに基づいて飛行する無人機である。また、飛行装置１０は、例えば、構造体の一例である橋梁の桁下面や橋脚の壁面に、これらの面との距離を保つための車輪を接触させ、面に沿って移動する。飛行装置１０は、第１の画角である第１カメラと、第１の画角より広い第２の画角である第２カメラとを用いて構造体の表面を撮像し、撮像した画像を、例えばメモリカードに記憶する。
【００１３】
コントローラ２０は、ユーザの操作を受け付けて、操作コマンドを飛行装置１０に対して送信する。コントローラ２０は、例えば、ラジオコントロール（無線操縦）による無人機の操作に用いられるプロポーショナル式の送信機、いわゆるプロポである。また、コントローラ２０は、飛行装置１０から送信されたテレメトリ情報等を受信して表示するようにしてもよい。
【００１４】
情報処理装置１００は、飛行装置１０でメモリカードに記憶された撮像画像を読み込んで取得する。つまり、情報処理装置１００は、第１の画角および該第１の画角より広い第２の画角で撮像された画像を取得する。情報処理装置１００は、第２の画角で撮像された画像に基づいて、第１の画角で撮像された画像を撮像したカメラの位置および姿勢を特定する。情報処理装置１００は、複数の第１の画角で撮像された画像をつなぎ合わせてパノラマ画像を生成する。情報処理装置１００は、生成されたパノラマ画像上の第１の画角で撮像された画像の位置を、特定されたカメラの位置および姿勢に基づいて補正する。情報処理装置１００は、補正された第１の画角で撮像された画像の位置に基づいて、パノラマ画像を３次元モデルにテクスチャマッピングする。これにより、情報処理装置１００は、３次元モデルに高精細画像を精度よく貼り付けできる。
【００１５】
次に、飛行装置１０の構成について説明する。図１に示すように、飛行装置１０は、通信部１１と、第１カメラ１２と、第２カメラ１３と、入出力部１４と、記憶部１５と、制御部１６とを有する。また、飛行装置１０は、構造体の面に接触する２つの車輪と、飛行のための推力を発生する複数のロータを有するマルチコプタである。飛行装置１０は、２つの車輪により構造体の面から一定の距離を保つことができる。なお、飛行装置１０は、図１に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の表示デバイスや音声出力デバイスなどの機能部を有することとしてもかまわない。
【００１６】
通信部１１は、例えば、４０ＭＨｚ帯、７２ＭＨｚ帯、７３ＭＨｚ帯、２．４ＧＨｚ帯の無線機等によって実現される。通信部１１は、コントローラ２０と無線で接続され、コントローラ２０との間で情報の通信を司る通信インタフェースである。通信部１１は、コントローラ２０から送信された操作コマンド等を受信して制御部１６に出力する。また、通信部１１は、制御部１６から入力されたテレメトリ情報等をコントローラ２０に向けて送信する。
【００１７】
第１カメラ１２は、例えば、予め定められた飛行装置１０の前後方向に設けられ、構造体の面を撮像する。第１カメラ１２は、例えば、撮像素子としてＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）イメージセンサまたはＣＣＤ（Charge  Coupled  Device）イメージセンサ等を用いて、画像を撮像する。第１カメラ１２は、撮像素子が受光した光を光電変換しＡ／Ｄ（Analog／Digital）変換を行って画像を生成する。第１カメラ１２は、生成した画像を撮像時刻とともに制御部１６に出力する。第１カメラ１２は、例えば、３コマ／秒で撮像画像および撮像時刻を制御部１６に出力する。なお、第１カメラ１２は、一方向に固定されていてもよいし、向きを変更できるようにしてもよい。
【００１８】
第２カメラ１３は、例えば、飛行装置１０の上方向に設けられた全天球カメラであり、構造体を含めた周辺を撮像する。第２カメラ１３は、例えば、撮像素子としてＣＭＯＳイメージセンサまたはＣＣＤイメージセンサ等を用いて、画像を撮像する。第２カメラ１３は、撮像素子が受光した光を光電変換しＡ／Ｄ変換を行って画像を生成する。第２カメラ１３は、生成した画像を撮像時刻とともに制御部１６に出力する。第２カメラ１３は、例えば、３コマ／秒で撮像画像および撮像時刻を制御部１６に出力する。なお、以下の説明では、第１カメラ１２で撮像された画像を第１画像とし、第２カメラ１３で撮像された画像を第２画像として説明する。
【００１９】
ここで、図２を用いて飛行装置１０および撮像画像について説明する。図２は、飛行装置および撮像画像の一例を示す図である。図２に示すように、飛行装置１０は、本体に第１カメラ１２と、第２カメラ１３とを有する。第１カメラ１２で撮像された第１画像１２ａは、例えば、橋脚の表面を近接して撮像した画像であり、例えば０．１ｍｍ程度の細かいひび割れが判別可能な高精細な画像である。また、第１画像１２ａは、例えば、撮影距離が４０ｃｍ程度とし、橋脚の０．８ｍ×０．６ｍ程度の範囲をＦｕｌｌＨＤ等の２Ｋ画像として撮像したものである。なお、第１画像１２ａは、撮影距離に応じて、４Ｋ等のさらに画素数の多い画像としてもよい。
【００２０】
第２カメラ１３で撮像された第２画像１３ａは、全天球カメラで撮像されているので広視野角な画像であり、例えば飛行装置１０が近接している橋脚の端部を含む画像である。すなわち、第２画像１３ａは、撮像された構造物の特徴点に基づいて、飛行装置１０の位置推定が可能な画像である。橋梁のひび割れ等の損傷は、３次元での可視化を行うことで点検が可能となる。点検に用いることができる３次元での可視化のためには、複数の第１画像１２ａをつなぎ合わせてひび割れ全体を俯瞰的に見ることができるパノラマ画像を、橋梁等の３次元モデルに貼り付けることで可能となる。パノラマ画像を３次元モデルに貼り付けるには、パノラマ画像の３次元モデルにおける位置を推定することが求められる。このため、第１画像１２ａとともに撮像された第２画像１３ａは、飛行装置１０の位置の推定に用いられる。
【００２１】
図１の説明に戻って、入出力部１４は、例えば、メモリカードＲ／Ｗ（Reader/Writer）である。入出力部１４は、制御部１６から出力される第１画像および撮像時刻と、第２画像および撮像時刻とを、メモリカードに記憶する。なお、メモリカードとしては、例えばＳＤメモリカード等を用いることができる。また、入出力部１４は、例えば、メモリカードに記憶された制御部１６で用いる情報を読み出して制御部１６に出力する。
【００２２】
記憶部１５は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。また、記憶部１５は、第１カメラ１２および第２カメラ１３で撮像された画像を一時的に記憶したり、制御部１６での処理に用いる情報を記憶する。
【００２３】
制御部１６は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部１６は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されるようにしてもよい。制御部１６は、飛行装置１０全体を制御する。
【００２４】
制御部１６は、通信部１１を介してコントローラ２０から受信した操作コマンドに応じて、図示しないロータ等を制御して飛行装置１０の飛行を制御する。また、制御部１６は、飛行装置１０の飛行に関連するテレメトリ情報を、通信部１１を介してコントローラ２０に送信する。
【００２５】
制御部１６は、第１カメラ１２から、画像および撮像時刻が入力されると、入力された画像および撮像時刻を第１画像および撮像時刻として、入出力部１４のメモリカードに記憶する。また、制御部１６は、第２カメラ１３から、画像および撮像時刻が入力されると、入力された画像および撮像時刻を第２画像および撮像時刻として、入出力部１４のメモリカードに記憶する。なお、制御部１６は、入出力部１４のメモリカードへの記憶が遅い場合には、記憶部１５に第１画像および撮像時刻と、第２画像および撮像時刻とを一時的に記憶するようにしてもよい。
【００２６】
続いて、情報処理装置１００の構成について説明する。図１に示すように、情報処理装置１００は、入出力部１１０と、表示部１１１と、操作部１１２と、記憶部１２０と、制御部１３０とを有する。なお、情報処理装置１００は、図１に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイス等の機能部を有することとしてもかまわない。情報処理装置１００の一例としては、据置型のパーソナルコンピュータを採用できる。情報処理装置１００には、上記の据置型のパーソナルコンピュータのみならず、可搬型のパーソナルコンピュータを情報処理装置１００として採用することもできる。また、情報処理装置１００は、可搬型の端末としては、上記の可搬型のパーソナルコンピュータの他にも、例えば、タブレット端末を採用することもできる。
【００２７】
入出力部１１０は、例えば、メモリカードＲ／Ｗである。入出力部１１０は、メモリカードに記憶された第１画像および撮像時刻と、第２画像および撮像時刻とを読み出して制御部１３０に出力する。また、入出力部１１０は、例えば、制御部１３０から出力されたテクスチャ付き３次元モデルのデータをメモリカードに記憶する。なお、メモリカードとしては、例えばＳＤメモリカード等を用いることができる。
【００２８】
表示部１１１は、各種情報を表示するための表示デバイスである。表示部１１１は、例えば、表示デバイスとして液晶ディスプレイ等によって実現される。表示部１１１は、制御部１３０から入力された表示画面等の各種画面を表示する。
【００２９】
操作部１１２は、情報処理装置１００のユーザから各種操作を受け付ける入力デバイスである。操作部１１２は、例えば、入力デバイスとして、キーボードやマウス等によって実現される。操作部１１２は、ユーザによって入力された操作を操作情報として制御部１３０に出力する。なお、操作部１１２は、入力デバイスとして、タッチパネル等によって実現されるようにしてもよく、表示部１１１の表示デバイスと、操作部１１２の入力デバイスとは、一体化されるようにしてもよい。
【００３０】
記憶部１２０は、例えば、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部１２０は、３次元モデル記憶部１２１と、第１画像記憶部１２２と、第２画像記憶部１２３と、第１位置姿勢記憶部１２４と、第２位置姿勢記憶部１２５とを有する。また、記憶部１２０は、変換パラメータ記憶部１２６と、パノラマ画像内位置情報記憶部１２７と、パノラマ画像記憶部１２８と、基準点情報記憶部１２９とを有する。さらに、記憶部１２０は、制御部１３０での処理に用いる情報を記憶する。
【００３１】
３次元モデル記憶部１２１は、撮像対象となる構造体、例えば橋梁の３次元モデルを記憶する。３次元モデルは、例えば、橋梁の設計時の３ＤＣＡＤ（3  Dimension  Computer  Aided  Design）モデルや、別途、レーザスキャナ等で橋梁を計測した３次元形状データに基づいて生成した３次元モデルを用いることができる。３次元モデル記憶部１２１には、例えばユーザの操作によって、予め撮像対象となる構造体の３次元モデルが記憶される。
【００３２】
第１画像記憶部１２２は、飛行装置１０の第１カメラ１２で撮像された第１画像と撮像時刻とを対応付けて記憶する。図３は、第１画像記憶部の一例を示す図である。図３に示すように、第１画像記憶部１２２は、「撮像時刻」、「画像ファイル」といった項目を有する。第１画像記憶部１２２は、例えば、撮像時刻ごとに１レコードとして記憶する。
【００３３】
「撮像時刻」は、第１画像が撮像された時刻を示す情報である。「撮像時刻」は、例えば、ミリ秒単位まで記録することで、撮像間隔が１秒未満である場合についても撮像時刻を判別可能とする。「画像ファイル」は、第１画像の画像ファイルを示す情報である。なお、図３の例では、説明のため画像ファイル名を表している。
【００３４】
図１の説明に戻って、第２画像記憶部１２３は、飛行装置１０の第２カメラ１３で撮像された第２画像と撮像時刻とを対応付けて記憶する。図４は、第２画像記憶部の一例を示す図である。図４に示すように、第２画像記憶部１２３は、「撮像時刻」、「画像ファイル」といった項目を有する。第２画像記憶部１２３は、例えば、撮像時刻ごとに１レコードとして記憶する。
【００３５】
「撮像時刻」は、第２画像が撮像された時刻を示す情報である。「撮像時刻」は、第１画像記憶部１２２と同様に、例えば、ミリ秒単位まで記録することで、撮像間隔が１秒未満である場合についても撮像時刻を判別可能とする。「画像ファイル」は、第２画像の画像ファイルを示す情報である。なお、図４の例では、説明のため画像ファイル名を表している。
【００３６】
図１の説明に戻って、第１位置姿勢記憶部１２４は、第１画像が撮像された第１カメラ１２の位置および姿勢を、第１画像の撮像時刻および画像ファイル名と対応付けて記憶する。図５は、第１位置姿勢記憶部の一例を示す図である。図５に示すように、第１位置姿勢記憶部１２４は、「撮像時刻」、「画像ファイル名」、「第１カメラの位置姿勢」、「信頼度」といった項目を有する。また、「第１カメラの位置姿勢」は、第２画像に基づいて特定された第１カメラ１２の位置および姿勢を示し、「Ｘ」、「Ｙ」、「Ｚ」、「Ｒｏｌｌ」、「Ｐｉｔｃｈ」、「Ｙａｗ」といった項目を有する。第１位置姿勢記憶部１２４は、例えば、撮像時刻ごとに１レコードとして記憶する。
【００３７】
「撮像時刻」は、第１画像が撮像された時刻を示す情報である。「画像ファイル名」は、第１画像記憶部１２２に記憶された第１画像の画像ファイル名を示す情報である。「Ｘ」は、第１カメラ１２の位置のうちＸ軸を示す情報である。「Ｙ」は、第１カメラ１２の位置のうちＹ軸を示す情報である。「Ｚ」は、第１カメラ１２の位置のうちＺ軸を示す情報である。「Ｒｏｌｌ」は、第１カメラ１２の姿勢のうちロール、つまり前後の軸に対する回転を示す情報である。「Ｐｉｔｃｈ」は、第１カメラ１２の姿勢のうちピッチ、つまり左右の軸に対する回転を示す情報である。「Ｙａｗ」は、第１カメラ１２の姿勢のうちヨー、つまり上下の軸に対する回転を示す情報である。「信頼度」は、第２カメラ１３で撮像された第２画像の特徴点に基づく第１カメラ１２の位置姿勢の推定値の信頼度を示す情報である。
【００３８】
図１の説明に戻って、第２位置姿勢記憶部１２５は、第２画像が撮像された第２カメラ１３の位置および姿勢を、第２画像の撮像時刻と対応付けて記憶する。図６は、第２位置姿勢記憶部の一例を示す図である。図６に示すように、第２位置姿勢記憶部１２５は、「撮像時刻」、「第２カメラの位置姿勢」、「信頼度」といった項目を有する。また、「第２カメラの位置姿勢」は、第２画像に基づいて特定された第２カメラ１３の位置および姿勢を示し、「Ｘ」、「Ｙ」、「Ｚ」、「Ｒｏｌｌ」、「Ｐｉｔｃｈ」、「Ｙａｗ」といった項目を有する。第２位置姿勢記憶部１２５は、例えば、撮像時刻ごとに１レコードとして記憶する。
【００３９】
「撮像時刻」は、第２画像が撮像された時刻を示す情報である。「Ｘ」は、第２カメラ１３の位置のうちＸ軸を示す情報である。「Ｙ」は、第２カメラ１３の位置のうちＹ軸を示す情報である。「Ｚ」は、第２カメラ１３の位置のうちＺ軸を示す情報である。「Ｒｏｌｌ」は、第２カメラ１３の姿勢のうちロール、つまり前後の軸に対する回転を示す情報である。「Ｐｉｔｃｈ」は、第２カメラ１３の姿勢のうちピッチ、つまり左右の軸に対する回転を示す情報である。「Ｙａｗ」は、第２カメラ１３の姿勢のうちヨー、つまり上下の軸に対する回転を示す情報である。「信頼度」は、第２カメラ１３で撮像された第２画像の特徴点に基づく第２カメラ１３の位置姿勢の推定値の信頼度を示す情報である。
【００４０】
図１の説明に戻って、変換パラメータ記憶部１２６は、第２カメラ１３の位置および姿勢を第１カメラ１２の位置および姿勢に変換する変換パラメータを記憶する。図７は、変換パラメータ記憶部の一例を示す図である。図７に示すように、変換パラメータ記憶部１２６は、「Ｘ」、「Ｙ」、「Ｚ」、「Ｒｏｌｌ」、「Ｐｉｔｃｈ」、「Ｙａｗ」といった項目を有する。
【００４１】
「Ｘ」は、Ｘ軸に対する変換パラメータを示す情報である。「Ｙ」は、Ｙ軸に対する変換パラメータを示す情報である。「Ｚ」は、Ｚ軸に対する変換パラメータを示す情報である。「Ｒｏｌｌ」は、ロールに対する変換パラメータを示す情報である。「Ｐｉｔｃｈ」は、ピッチに対する変換パラメータを示す情報である。「Ｙａｗ」は、ヨーに対する変換パラメータを示す情報である。
【００４２】
図１の説明に戻って、パノラマ画像内位置情報記憶部１２７は、パノラマ画像内での各第１画像の中心座標を記憶する。図８は、パノラマ画像内位置情報記憶部の一例を示す図である。図８に示すように、パノラマ画像内位置情報記憶部１２７は、「画像ファイル名」、「パノラマ画像内での各第１画像の中心座標」といった項目を有する。「パノラマ画像内での各第１画像の中心座標」は、さらに「水平座標」、「垂直座標」といった項目を有する。
【００４３】
「画像ファイル名」は、第１画像のファイル名を示す情報である。「パノラマ画像内での各第１画像の中心座標」は、パノラマ画像内における各第１画像の中心座標を、水平座標および垂直座標で表わした情報である。
【００４４】
図１の説明に戻って、パノラマ画像記憶部１２８は、生成されたパノラマ画像を記憶する。パノラマ画像は、例えば、構造体が橋梁であれば、橋脚の複数の面それぞれについて生成されたパノラマ画像を記憶する。
【００４５】
基準点情報記憶部１２９は、パノラマ画像で求めた基準点の座標に対応する３次元モデルにおける座標を記憶する。図９は、基準点情報記憶部の一例を示す図である。図９に示すように、基準点情報記憶部１２９は、「パノラマ画像での座標」、「３次元座標」といった項目を有する。また、「パノラマ画像での座標」は、「水平座標」、「垂直座標」といった項目を有する。「３次元座標」は、「Ｘ」、「Ｙ」、「Ｚ」といった項目を有する。
【００４６】
「パノラマ画像での座標」は、パノラマ画像で求めた基準点に対応する第１画像の水平座標および垂直座標を表わした情報である。「パノラマ画像での座標」は、例えばパノラマ画像の水平または垂直方向のピクセル数で表される。「３次元座標」は、パノラマ画像で求めた基準点の座標に対応する３次元モデルにおける座標をＸ軸、Ｙ軸、Ｚ軸で表わした情報である。「３次元座標」は、例えば３次元モデルのＸ軸、Ｙ軸、Ｚ軸の各方向の長さ、例えばメートルで表される。
【００４７】
図１の説明に戻って、制御部１３０は、例えば、ＣＰＵやＭＰＵ等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現されるようにしてもよい。制御部１３０は、取得部１３１と、特定部１３２と、生成部１３３と、補正部１３４と、マッピング部１３５とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図１に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【００４８】
取得部１３１は、入出力部１１０から第１画像および撮像時刻と、第２画像および撮像時刻とが入力される。すなわち、取得部１３１は、第１画像および撮像時刻と、第２画像および撮像時刻とを取得する。言い換えると、取得部１３１は、第１の画角および該第１の画角より広い第２の画角で撮像された画像を取得する。取得部１３１は、取得した第１画像および撮像時刻を第１画像記憶部１２２に記憶する。また、取得部１３１は、取得した第２画像および撮像時刻を第２画像記憶部１２３に記憶する。
【００４９】
特定部１３２は、３次元モデル記憶部１２１、第１画像記憶部１２２および第２画像記憶部１２３を参照し、第２画像および撮像時刻に基づいて、第１画像を撮像した第１カメラ１２の位置および姿勢を特定する。特定部１３２は、まず、例えば、３次元モデルと第２画像とを用いて自己位置を推定する処理を実行することで、第２カメラ１３の位置および姿勢を推定する。ここで、自己位置の推定には、例えば、論文（天目隆平、外5名、「環境の三次元モデルと魚眼カメラを利用した屋外複合現実感システムのためのユーザ位置推定」、画像の認識・理解シンポジウム（MIRU2007）公演論文集、2007年7月、p.1011-1016）を適用できる。
【００５０】
また、特定部１３２は、推定した第２カメラ１３の位置および姿勢について、第２画像の特徴点を抽出し、抽出した特徴点に基づいて、信頼度を付与する。つまり、特定部１３２は、推定誤差に応じた信頼度を生成する。特定部１３２は、例えば、推定誤差が小さい場合には、信頼度を大きくし、推定誤差が大きい場合には、信頼度を小さくする。信頼度は、例えば、「０〜１」として、「１」が信頼度最大、「０」が信頼度最小とする。特定部１３２は、推定した第２カメラ１３の位置および姿勢、ならびに、信頼度を第２位置姿勢記憶部１２５に記憶する。なお、信頼度は、信頼度を用いなくても位置推定の精度が十分であれば、付与しなくてもよい。
【００５１】
特定部１３２は、次に、第１画像記憶部１２２、第２位置姿勢記憶部１２５および変換パラメータ記憶部１２６を参照して、第１カメラ１２の位置および姿勢、ならびに、信頼度を特定する。特定部１３２は、第１画像の撮像時刻に最も近い撮像時刻である第２画像の撮像時刻を特定する。特定部１３２は、特定した第２画像の撮像時刻に対応する第２カメラ１３の位置および姿勢、ならびに、信頼度に対し、変換パラメータを適用して、それぞれの第１画像の撮像時刻に対応する第１カメラ１２の位置および姿勢、ならびに、信頼度を特定する。特定部１３２は、特定した第１カメラ１２の位置および姿勢、ならびに、信頼度を、第１画像の撮像時刻および画像ファイル名と対応付けて、第１位置姿勢記憶部１２４に記憶する。
【００５２】
生成部１３３は、特定部１３２における第１カメラ１２の位置および姿勢、ならびに、信頼度の特定が完了すると、第１画像記憶部１２２を参照し、第１画像をつなぎ合わせてパノラマ画像を生成する。ここで、パノラマ画像の生成には、例えば、論文（Matthew  Brown、外1名、"Automatic  Panoramic  Image  Stitching  using  Invariant  Features"、International  Journal  of  Computer  Vision  74:59、2006年）に示す技術を適用できる。生成部１３３は、生成したパノラマ画像をパノラマ画像記憶部１２８に記憶する。
【００５３】
ここで、図１０を用いてパノラマ画像の生成について説明する。図１０は、パノラマ画像の生成の一例を示す図である。図１０に示すように、生成部１３３は、第１画像記憶部１２２から第１画像群３１を読み込む。生成部１３３は、第１画像群３１の各第１画像に基づいて、パノラマ画像３２を生成する。パノラマ画像３２では、例えば、左上のピクセルを（水平座標，垂直座標）＝（０,０）とした座標を用いる。
【００５４】
生成部１３３は、パノラマ画像３２に、例えば「ｃ００１．ｊｐｇ」というファイル名の第１画像を左下に配置する。また、生成部１３３は、パノラマ画像３２に、例えば「ｃ００２．ｊｐｇ」というファイル名の第１画像を第１画像「ｃ００１．ｊｐｇ」とつなぎ合わせて配置する。以下同様に、生成部１３３は、第１画像群３１の他の第１画像もつなぎ合わせて配置する。なお、図１０の例では、パノラマ画像３２の四隅の第１画像は、左上が「ｃ０１１．ｊｐｇ」、右上が「ｃ０２１．ｊｐｇ」、左下が「ｃ００１．ｊｐｇ」、右下が「ｃ０３１．ｊｐｇ」であったとする。
【００５５】
生成部１３３は、パノラマ画像３２内における第１画像「ｃ００１．ｊｐｇ」の中心座標（１０００,６０００）を取得する。また、生成部１３３は、パノラマ画像３２内における第１画像「ｃ００２．ｊｐｇ」の中心座標（１０００,５８００）を取得する。以下同様に、生成部１３３は、第１画像群３１の各第１画像の中心座標を取得する。生成部１３３は、取得した中心座標を第１画像の画像ファイル名と対応付けてパノラマ画像内位置情報記憶部１２７に記憶する。
【００５６】
図１の説明に戻って、補正部１３４は、パノラマ画像が生成されると、パノラマ画像を３次元モデルに貼り付ける際における基準点を選択する。補正部１３４は、パノラマ画像上において、該パノラマ画像に含まれる第１画像の中心座標を比較して、パノラマ画像の辺縁部に位置する第１画像の中心座標を基準点として抽出する。補正部１３４は、パノラマ画像の辺縁部に位置する第１画像として、例えばパノラマ画像の四隅に位置する第１画像を採用することができる。
【００５７】
ここで、図１１を用いて基準点とテクスチャマッピングとの関係について説明する。図１１は、テクスチャマッピングの一例を示す図である。図１１に示すように、パノラマ画像３２を３次元モデル３３に貼り付ける際には、それぞれの座標を対応させるようにパノラマ画像３２を補正する。図１１の例では、パノラマ画像３２の四隅の第１画像の中心座標を基準点として３次元モデル３３に貼り付ける場合を示す。なお、パノラマ画像３２の四隅の第１画像の中心座標は、それぞれ中心座標３２ａ、３２ｂ、３２ｃおよび３２ｄとする。また、各中心座標３２ａ、３２ｂ、３２ｃおよび３２ｄに対応する基準点は、それぞれ基準点Ａ、Ｂ、ＣおよびＤとする。
【００５８】
補正部１３４は、３次元モデル３３における基準点Ａ〜Ｄに対応する座標３３ａ、３３ｂ、３３ｃおよび３３ｄに対して、パノラマ画像３２の四隅の第１画像の中心座標３２ａ〜３２ｄが重なるように、パノラマ画像３２上の各第１画像の位置を補正する。
【００５９】
具体的には、補正部１３４は、パノラマ画像内位置情報記憶部１２７を参照し、パノラマ画像内の位置情報に含まれる水平座標および垂直座標のうち、水平座標の最小値および最大値、ならびに、垂直座標の最小値および最大値を抽出する。補正部１３４は、（水平座標の最小値，垂直座標の最大値）に最も近い位置に中心座標がある第１画像の中心座標を基準点Ａとして選択する。
【００６０】
同様に、補正部１３４は、（水平座標の最大値，垂直座標の最大値）に最も近い位置に中心座標がある第１画像の中心座標を基準点Ｂとして選択する。補正部１３４は、（水平座標の最小値，垂直座標の最小値）に最も近い位置に中心座標がある第１画像の中心座標を基準点Ｃとして選択する。補正部１３４は、（水平座標の最大値，垂直座標の最小値）に最も近い位置に中心座標がある第１画像の中心座標を基準点Ｄとして選択する。
【００６１】
補正部１３４は、第１位置姿勢記憶部１２４およびパノラマ画像内位置情報記憶部１２７を参照し、基準点Ａ〜Ｄとして選択された各第１画像に対応する中心座標と、第１カメラ１２の位置および姿勢とを取得する。補正部１３４は、取得した第１カメラ１２の位置および姿勢に基づいて、パノラマ画像上の基準点を３次元モデルの表面に貼り付ける際の座標の補正を行う。補正部１３４は、補正後の基準点の３次元座標をパノラマ画像での座標と対応付けて基準点情報記憶部１２９に記憶する。
【００６２】
すなわち、補正部１３４は、抽出した基準点の位置を補正することで、パノラマ画像内の第１画像の位置を補正する。言い換えると、補正部１３４は、基準点の位置に基づいて、パノラマ画像内の各第１画像の位置や縮尺を補正する。なお、補正部１３４は、第１位置姿勢記憶部１２４の信頼度を用いて、信頼度が所定値、例えば０．５未満の第１画像について、選択肢から外すようにしてもよい。
【００６３】
ここで、図１２を用いてパノラマ画像上の基準点を３次元モデルの表面に貼り付ける際の座標の補正について説明する。図１２は、パノラマ画像上の基準点と３次元モデルの表面との対応の一例を示す図である。図１２の例では、まず、補正部１３４は、中心座標３４が基準点である第１画像に対応する第１カメラ１２の位置（ｘｃ，ｙｃ，ｚｃ）および姿勢（Ｒｏｌｌ，Ｐｉｔｃｈ，Ｙａｗ）を第１位置姿勢記憶部１２４から読み出す。補正部１３４は、姿勢（Ｒｏｌｌ，Ｐｉｔｃｈ，Ｙａｗ）から第１カメラ１２の向き３５を示す方向ベクトル（ｅｘ，ｅｙ，ｅｚ）を算出する。
【００６４】
補正部１３４は、位置（ｘｃ，ｙｃ，ｚｃ）を通る方向ベクトル（ｅｘ，ｅｙ，ｅｚ）に対応する下記の式（１）で示す直線が、３次元モデル３３を構成する各面と交わるか否かを求める。
【００６５】
【数１】
0006733267.tif 000002
【００６６】
補正部１３４は、式（１）で示す直線と交わる面の交点のうち、最も位置（ｘｃ，ｙｃ，ｚｃ）に近い点、つまり、式（１）のｔが最小となる点を基準点の３次元モデル上の位置とする。すなわち、補正部１３４は、３次元モデル３３の表面３６上の点３７を、基準点である中心座標３４の３次元モデル上の位置と算出する。
【００６７】
図１の説明に戻って、マッピング部１３５は、基準点情報記憶部１２９にパノラマ画像と３次元モデルとにおける基準点の座標が記憶されると、３次元モデルにパノラマ画像をテクスチャマッピングする。マッピング部１３５は、３次元モデル記憶部１２１から３次元モデルを読み出す。また、マッピング部１３５は、パノラマ画像記憶部１２８からパノラマ画像を読み出す。また、マッピング部１３５は、基準点情報記憶部１２９を参照し、パノラマ画像での座標と基準点の３次元座標とに基づいて、パノラマ画像を３次元モデルにテクスチャマッピングする。マッピング部１３５は、パノラマ画像を貼り付けたテクスチャ付き３次元モデルを、表示部１１１に表示する。また、マッピング部１３５は、テクスチャ付き３次元モデルのデータを、入出力部１１０を介してメモリカードに記憶する。
【００６８】
ここで、図１３を用いて、テクスチャマッピングについて説明する。図１３は、テクスチャマッピングの他の一例を示す図である。図１３に示すように、マッピング部１３５は、パノラマ画像３２の四隅の基準点、つまり第１画像の中心座標３２ａ〜３２ｄを、３次元モデル３３の基準点に対応する座標３３ａ〜３３ｄに対応させてマッピングする。図１３の例では、第１画像「ｃ０１１．ｊｐｇ」の中心座標３２ａは、パノラマ画像での座標が（１０００，１０００）である。マッピング部１３５は、基準点情報記憶部１２９を参照して、パノラマ画像での座標（１０００，１０００）が３次元座標（０．５，０，６．５）に対応するので、中心座標３２ａを３次元モデル３３の基準点に対応する座標３３ａに対応させる。マッピング部１３５は、他の四隅の中心座標３２ｂ〜３２ｄについても同様に対応させる。このように、マッピング部１３５は、パノラマ画像３２を３次元モデル３３にマッピングできる。
【００６９】
次に、実施例の情報処理システム１の動作について説明する。図１４は、実施例のマッピング処理の一例を示すフローチャートである。
【００７０】
飛行装置１０の制御部１６は、第１カメラ１２から、画像および撮像時刻が入力されると、入力された画像および撮像時刻を第１画像および撮像時刻として、入出力部１４のメモリカードに記憶する。また、制御部１６は、第２カメラ１３から、画像および撮像時刻が入力されると、入力された画像および撮像時刻を第２画像および撮像時刻として、入出力部１４のメモリカードに記憶する。
【００７１】
情報処理装置１００の取得部１３１は、第１画像および撮像時刻と、第２画像および撮像時刻とを取得する（ステップＳ１）。取得部１３１は、取得した第１画像および撮像時刻を第１画像記憶部１２２に記憶する。また、取得部１３１は、取得した第２画像および撮像時刻を第２画像記憶部１２３に記憶する。
【００７２】
特定部１３２は、３次元モデル記憶部１２１および第２画像記憶部１２３を参照し、３次元モデルと第２画像とを用いて自己位置を推定する処理を実行することで、第２カメラ１３の位置および姿勢を推定する。また、特定部１３２は、推定した第２カメラ１３の位置および姿勢について、第２画像の特徴点を抽出し、抽出した特徴点に基づいて、信頼度を付与する。特定部１３２は、推定した第２カメラ１３の位置および姿勢、ならびに、信頼度を第２位置姿勢記憶部１２５に記憶する。
【００７３】
特定部１３２は、次に、第１画像記憶部１２２、第２位置姿勢記憶部１２５および変換パラメータ記憶部１２６を参照して、第１カメラ１２の位置および姿勢、ならびに、信頼度を特定する（ステップＳ２）。特定部１３２は、特定した第１カメラ１２の位置および姿勢、ならびに、信頼度を、第１画像の撮像時刻および画像ファイル名と対応付けて、第１位置姿勢記憶部１２４に記憶する。
【００７４】
生成部１３３は、特定部１３２における第１カメラ１２の位置および姿勢、ならびに、信頼度の特定が完了すると、第１画像記憶部１２２を参照し、第１画像をつなぎ合わせてパノラマ画像を生成する（ステップＳ３）。生成部１３３は、生成したパノラマ画像をパノラマ画像記憶部１２８に記憶する。
【００７５】
補正部１３４は、パノラマ画像が生成されると、パノラマ画像を３次元モデルに貼り付ける際における基準点を選択する基準点選択処理を実行する（ステップＳ４）。ここで、図１５を用いて基準点選択処理について説明する。図１５は、基準点選択処理の一例を示すフローチャートである。
【００７６】
補正部１３４は、パノラマ画像内位置情報記憶部１２７を参照し、パノラマ画像内の位置情報に含まれる水平座標および垂直座標のうち、水平座標の最小値および最大値、ならびに、垂直座標の最小値および最大値を抽出する（ステップＳ４１）。補正部１３４は、（水平座標の最小値，垂直座標の最大値）に最も近い位置に中心座標がある第１画像の中心座標を基準点Ａとして選択する（ステップＳ４２）。
【００７７】
補正部１３４は、（水平座標の最大値，垂直座標の最大値）に最も近い位置に中心座標がある第１画像の中心座標を基準点Ｂとして選択する（ステップＳ４３）。補正部１３４は、（水平座標の最小値，垂直座標の最小値）に最も近い位置に中心座標がある第１画像の中心座標を基準点Ｃとして選択する（ステップＳ４４）。補正部１３４は、（水平座標の最大値，垂直座標の最小値）に最も近い位置に中心座標がある第１画像の中心座標を基準点Ｄとして選択する（ステップＳ４５）。補正部１３４は、基準点Ａ〜Ｄを選択すると、基準点選択処理を終了し、元の処理に戻る。これにより、補正部１３４は、テクスチャマッピングにおける基準点を選択できる。
【００７８】
図１４の説明に戻って、補正部１３４は、第１位置姿勢記憶部１２４およびパノラマ画像内位置情報記憶部１２７を参照し、基準点Ａ〜Ｄとして選択された各第１画像に対応する中心座標と、第１カメラ１２の位置および姿勢とを取得する。補正部１３４は、取得した第１カメラ１２の位置および姿勢に基づいて、基準点の位置を補正することで、パノラマ画像内の第１画像の位置を補正する（ステップＳ５）。補正部１３４は、補正後の基準点の３次元座標をパノラマ画像での座標と対応付けて基準点情報記憶部１２９に記憶する。
【００７９】
マッピング部１３５は、基準点情報記憶部１２９にパノラマ画像と３次元モデルとにおける基準点の座標が記憶されると、３次元モデルにパノラマ画像をテクスチャマッピングする（ステップＳ６）。マッピング部１３５は、パノラマ画像を貼り付けたテクスチャ付き３次元モデルを、表示部１１１に表示する。これにより、情報処理装置１００は、３次元モデルに高精細画像を精度よく貼り付けできる。また、情報処理装置１００は、全天球カメラの撮像画像を用いて位置推定を行うので、搭載量に制約のある飛行装置１０を用いて撮像画像を取得することができる。また、情報処理装置１００は、位置推定に信頼度を用いることで、推定精度の低い位置情報を除外するので、パノラマ画像、つまりテクスチャの位置がずれることを防止できる。
【００８０】
このように、情報処理装置１００は、第１の画角および該第１の画角より広い第２の画角で撮像された画像を取得する。また、情報処理装置１００は、第２の画角で撮像された画像に基づいて、第１の画角で撮像された画像を撮像したカメラの位置および姿勢を特定する。また、情報処理装置１００は、複数の第１の画角で撮像された画像をつなぎ合わせてパノラマ画像を生成する。また、情報処理装置１００は、生成したパノラマ画像上の第１の画角で撮像された画像の位置を、特定したカメラの位置および姿勢に基づいて補正する。また、情報処理装置１００は、補正した位置に基づいて、パノラマ画像を３次元モデルにテクスチャマッピングする。その結果、３次元モデルに高精細画像を精度よく貼り付けできる。
【００８１】
また、情報処理装置１００は、パノラマ画像上において、該パノラマ画像に含まれる第１の画角で撮像された画像の中心座標を比較して、パノラマ画像の辺縁部に位置する第１の画角で撮像された画像の中心座標を基準点として抽出する。また、情報処理装置１００は、抽出した基準点の位置を補正する。その結果、３次元モデルに高精細画像を精度よく貼り付けできる。
【００８２】
また、情報処理装置１００は、第２の画角で撮像された画像の特徴点を抽出し、特定するカメラの位置および姿勢に抽出した特徴点に基づく信頼度を付与する。また、情報処理装置１００は、パノラマ画像上において、該パノラマ画像に含まれる第１の画角で撮像された画像の中心座標を比較して、付与された信頼度に基づいて、第１の画角で撮像された画像の中心座標を基準点として抽出する。また、情報処理装置１００は、抽出した基準点の位置を補正する。その結果、推定精度の低い位置情報を除外するので、テクスチャの位置がずれることを防止できる。
【００８３】
また、情報処理装置１００は、パノラマ画像の四隅に位置する第１の画角で撮像された画像の中心座標を基準点として抽出し、抽出した基準点の位置を補正する。その結果、３次元モデルに高精細画像を精度よく貼り付けできる。
【００８４】
なお、上記実施例では、飛行装置１０を用いて第１画像および第２画像を撮像したが、これに限定されない。例えば、伸縮自在のポールの先に第１カメラ１２および第２カメラ１３を設けて、ポールを伸縮させつつ第１画像および第２画像を撮像するようにしてもよい。
【００８５】
また、上記実施例では、飛行装置１０が第１画像および撮像時刻と、第２画像および撮像時刻とを、メモリカードに記憶したが、これに限定されない。例えば、飛行装置１０と情報処理装置１００との間を無線通信によって接続し、第１画像および撮像時刻と、第２画像および撮像時刻とを、飛行装置１０から情報処理装置１００に送信するようにしてもよい。これにより、より素早く構造体の表面の撮像画像が貼り付けられた３次元モデルを得ることができる。
【００８６】
また、上記実施例では、撮像対象の構造体として、平面を有する橋梁を一例として説明したが、これに限定されない。例えば、円柱の橋脚を持つ橋梁の曲面に対して、幾何補正を行って撮像画像を貼り付けてもよい。
【００８７】
また、上記実施例では、撮像対象の構造体の面として垂直面を一例として説明したが、これに限定されない。例えば、橋梁の桁や床板等の水平面に対して適用してもよい。
【００８８】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、補正部１３４とマッピング部１３５とを統合してもよい。また、図示した各処理は、上記の順番に限定されるものではなく、処理内容を矛盾させない範囲において、同時に実施してもよく、順序を入れ替えて実施してもよい。
【００８９】
さらに、各装置で行われる各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行されるプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。
【００９０】
ところで、上記の実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図１６は、情報処理プログラムを実行するコンピュータの一例を示す図である。
【００９１】
図１６に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０１と、データ入力を受け付ける入力装置２０２と、モニタ２０３とを有する。また、コンピュータ２００は、記憶媒体からプログラム等を読み取る媒体読取装置２０４と、各種装置と接続するためのインタフェース装置２０５と、他の情報処理装置等と有線または無線により接続するための通信装置２０６とを有する。また、コンピュータ２００は、各種情報を一時記憶するＲＡＭ２０７と、ハードディスク装置２０８とを有する。また、各装置２０１〜２０８は、バス２０９に接続される。
【００９２】
ハードディスク装置２０８には、図１に示した取得部１３１、特定部１３２、生成部１３３、補正部１３４およびマッピング部１３５の各処理部と同様の機能を有する情報処理プログラムが記憶される。また、ハードディスク装置２０８には、３次元モデル記憶部１２１、第１画像記憶部１２２、第２画像記憶部１２３、第１位置姿勢記憶部１２４および第２位置姿勢記憶部１２５が記憶される。また、ハードディスク装置２０８には、変換パラメータ記憶部１２６、パノラマ画像内位置情報記憶部１２７、パノラマ画像記憶部１２８、基準点情報記憶部１２９、および、情報処理プログラムを実現するための各種データが記憶される。入力装置２０２は、例えば、コンピュータ２００のユーザから操作情報等の各種情報の入力を受け付ける。モニタ２０３は、例えば、コンピュータ２００のユーザに対して出力画面等の各種画面を表示する。媒体読取装置２０４は、メモリカード等の記憶媒体から第１画像および撮像時刻と、第２画像および撮像時刻とを読み取る。インタフェース装置２０５は、例えば印刷装置等が接続される。通信装置２０６は、例えば、図示しないネットワークと接続され、他の情報処理装置と各種情報をやりとりする。
【００９３】
ＣＰＵ２０１は、ハードディスク装置２０８に記憶された各プログラムを読み出して、ＲＡＭ２０７に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ２００を図１に示した取得部１３１、特定部１３２、生成部１３３、補正部１３４およびマッピング部１３５として機能させることができる。
【００９４】
なお、上記の情報処理プログラムは、必ずしもハードディスク装置２０８に記憶されている必要はない。例えば、コンピュータ２００が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ２００が読み出して実行するようにしてもよい。コンピュータ２００が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ等に接続された装置にこの情報処理プログラムを記憶させておき、コンピュータ２００がこれらから情報処理プログラムを読み出して実行するようにしてもよい。
【００９５】
以上、本実施例を含む実施の形態に関し、さらに以下の付記を開示する。
【００９６】
（付記１）第１の画角および該第１の画角より広い第２の画角で撮像された画像を取得し、
前記第２の画角で撮像された画像に基づいて、前記第１の画角で撮像された画像を撮像したカメラの位置および姿勢を特定し、
複数の前記第１の画角で撮像された画像をつなぎ合わせてパノラマ画像を生成し、
生成した前記パノラマ画像上の前記第１の画角で撮像された画像の位置を、特定した前記カメラの位置および姿勢に基づいて補正し、
補正した前記位置に基づいて、前記パノラマ画像を３次元モデルにテクスチャマッピングする、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【００９７】
（付記２）前記補正する処理は、前記パノラマ画像上において、該パノラマ画像に含まれる前記第１の画角で撮像された画像の中心座標を比較して、前記パノラマ画像の辺縁部に位置する前記第１の画角で撮像された画像の中心座標を基準点として抽出し、抽出した前記基準点の位置を補正する、
ことを特徴とする付記１に記載の情報処理プログラム。
【００９８】
（付記３）前記特定する処理は、前記第２の画角で撮像された画像の特徴点を抽出し、特定する前記カメラの位置および姿勢に抽出した前記特徴点に基づく信頼度を付与し、
前記補正する処理は、前記パノラマ画像上において、該パノラマ画像に含まれる前記第１の画角で撮像された画像の中心座標を比較して、付与された前記信頼度に基づいて、前記第１の画角で撮像された画像の中心座標を基準点として抽出し、抽出した前記基準点の位置を補正する、
ことを特徴とする付記１に記載の情報処理プログラム。
【００９９】
（付記４）前記補正する処理は、前記パノラマ画像の四隅に位置する前記第１の画角で撮像された画像の中心座標を基準点として抽出し、抽出した前記基準点の位置を補正する、
ことを特徴とする付記２に記載の情報処理プログラム。
【０１００】
（付記５）第１の画角および該第１の画角より広い第２の画角で撮像された画像を取得し、
前記第２の画角で撮像された画像に基づいて、前記第１の画角で撮像された画像を撮像したカメラの位置および姿勢を特定し、
複数の前記第１の画角で撮像された画像をつなぎ合わせてパノラマ画像を生成し、
生成した前記パノラマ画像上の前記第１の画角で撮像された画像の位置を、特定した前記カメラの位置および姿勢に基づいて補正し、
補正した前記位置に基づいて、前記パノラマ画像を３次元モデルにテクスチャマッピングする、
処理をコンピュータが実行することを特徴とする情報処理方法。
【０１０１】
（付記６）前記補正する処理は、前記パノラマ画像上において、該パノラマ画像に含まれる前記第１の画角で撮像された画像の中心座標を比較して、前記パノラマ画像の辺縁部に位置する前記第１の画角で撮像された画像の中心座標を基準点として抽出し、抽出した前記基準点の位置を補正する、
ことを特徴とする付記５に記載の情報処理方法。
【０１０２】
（付記７）前記特定する処理は、前記第２の画角で撮像された画像の特徴点を抽出し、特定する前記カメラの位置および姿勢に抽出した前記特徴点に基づく信頼度を付与し、
前記補正する処理は、前記パノラマ画像上において、該パノラマ画像に含まれる前記第１の画角で撮像された画像の中心座標を比較して、付与された前記信頼度に基づいて、前記第１の画角で撮像された画像の中心座標を基準点として抽出し、抽出した前記基準点の位置を補正する、
ことを特徴とする付記５に記載の情報処理方法。
【０１０３】
（付記８）前記補正する処理は、前記パノラマ画像の四隅に位置する前記第１の画角で撮像された画像の中心座標を基準点として抽出し、抽出した前記基準点の位置を補正する、
ことを特徴とする付記６に記載の情報処理方法。
【０１０４】
（付記９）第１の画角および該第１の画角より広い第２の画角で撮像された画像を取得する取得部と、
前記第２の画角で撮像された画像に基づいて、前記第１の画角で撮像された画像を撮像したカメラの位置および姿勢を特定する特定部と、
複数の前記第１の画角で撮像された画像をつなぎ合わせてパノラマ画像を生成する生成部と、
生成された前記パノラマ画像上の前記第１の画角で撮像された画像の位置を、特定された前記カメラの位置および姿勢に基づいて補正する補正部と、
補正された前記第１の画角で撮像された画像の位置に基づいて、前記パノラマ画像を３次元モデルにテクスチャマッピングするマッピング部と、
を有することを特徴とする情報処理装置。
【０１０５】
（付記１０）前記補正部は、前記パノラマ画像上において、該パノラマ画像に含まれる前記第１の画角で撮像された画像の中心座標を比較して、前記パノラマ画像の辺縁部に位置する前記第１の画角で撮像された画像の中心座標を基準点として抽出し、抽出した前記基準点の位置を補正する、
ことを特徴とする付記９に記載の情報処理装置。
【０１０６】
（付記１１）前記特定部は、前記第２の画角で撮像された画像の特徴点を抽出し、特定する前記カメラの位置および姿勢に抽出した前記特徴点に基づく信頼度を付与し、
前記補正部は、前記パノラマ画像上において、該パノラマ画像に含まれる前記第１の画角で撮像された画像の中心座標を比較して、付与された前記信頼度に基づいて、前記第１の画角で撮像された画像の中心座標を基準点として抽出し、抽出した前記基準点の位置を補正する、
ことを特徴とする付記９に記載の情報処理装置。
【０１０７】
（付記１２）前記補正部は、前記パノラマ画像の四隅に位置する前記第１の画角で撮像された画像の中心座標を基準点として抽出し、抽出した前記基準点の位置を補正する、
ことを特徴とする付記１０に記載の情報処理装置。
【符号の説明】
【０１０８】
１  情報処理システム
１０  飛行装置
１１  通信部
１２  第１カメラ
１３  第２カメラ
１４  入出力部
１５  記憶部
１６  制御部
２０  コントローラ
１００  情報処理装置
１１０  入出力部
１１１  表示部
１１２  操作部
１２０  記憶部
１２１  ３次元モデル記憶部
１２２  第１画像記憶部
１２３  第２画像記憶部
１２４  第１位置姿勢記憶部
１２５  第２位置姿勢記憶部
１２６  変換パラメータ記憶部
１２７  パノラマ画像内位置情報記憶部
１２８  パノラマ画像記憶部
１２９  基準点情報記憶部
１３０  制御部
１３１  取得部
１３２  特定部
１３３  生成部
１３４  補正部
１３５  マッピング部
【図１】
0006733267.tif 000003
【図２】
0006733267.tif 000004
【図３】
0006733267.tif 000005
【図４】
0006733267.tif 000006
【図５】
0006733267.tif 000007
【図６】
0006733267.tif 000008
【図７】
0006733267.tif 000009
【図８】
0006733267.tif 000010
【図９】
0006733267.tif 000011
【図１０】
0006733267.tif 000012
【図１１】
0006733267.tif 000013
【図１２】
0006733267.tif 000014
【図１３】
0006733267.tif 000015
【図１４】
0006733267.tif 000016
【図１５】
0006733267.tif 000017
【図１６】
0006733267.tif 000018