(57)【要約】【課題】画像上の位置情報と関連付けた情報を集約する作業をより容易に実行可能とする。【解決手段】構造物における診断対象の診断結果を入力する入力装置であって、構造物の全天球画像を表示する表示手段と、全天球画像に対する、診断対象を示す位置の入力を受け付けて、受け付けた位置を示す位置情報を記憶手段に記憶する受付手段と、を有する。表示手段は、全天球画像と、診断対象の診断結果を含む診断情報の入力を受け付ける診断情報入力画面と、を１の画面に表示し、受付手段は、診断情報入力画面に応じた診断情報の入力を受け付け、診断情報と、位置情報と、を関連付けて記憶手段に記憶する、ことを特徴とする。【選択図】図７
2019175383.tif 000002
【特許請求の範囲】
【請求項１】
構造物における診断対象の診断結果を入力する入力装置であって、
前記構造物の全天球画像を表示する表示手段と、
前記全天球画像に対する、前記診断対象を示す位置の入力を受け付けて、受け付けた該位置を示す位置情報を記憶手段に記憶する受付手段と、
を有し、
前記表示手段は、
前記全天球画像と、前記診断対象の診断結果を含む診断情報の入力を受け付ける診断情報入力画面と、を１の画面に表示し、
前記受付手段は、
前記診断情報入力画面に応じた前記診断情報の入力を受け付け、該診断情報と、前記位置情報と、を関連付けて前記記憶手段に記憶する、
ことを特徴とする入力装置。
【請求項２】
前記表示手段は、
前記全天球画像に対して、前記位置情報に従い前記診断対象を示す画像を重畳させて表示させる
ことを特徴とする請求項１に記載の入力装置。
【請求項３】
前記受付手段は、
前記全天球画像に対する、前記診断対象を含む診断領域の入力を受け付け、受け付けた該診断領域に対応する前記位置情報と、該診断対象に対する前記診断情報と、を関連付けて前記記憶手段に記憶する
ことを特徴とする請求項１または請求項２に記載の入力装置。
【請求項４】
前記表示手段は、
前記全天球画像における、該診断領域内の画像を前記診断情報入力画面に表示させる
ことを特徴とする請求項３に記載の入力装置。
【請求項５】
前記表示手段は、
前記全天球画像とは異なる画像を前記診断情報入力画面に表示させる
ことを特徴とする請求項１乃至請求項４の何れか１項に記載の入力装置。
【請求項６】
前記表示手段は、
前記診断情報入力画面を前記全天球画像に重畳させて表示させる
ことを特徴とする請求項１に記載の入力装置。
【請求項７】
前記受付手段は、
前記全天球画像に対する、前記診断対象を複数の位置を用いて示す位置集合の入力を受け付けて、受け付けた該位置集合を示す位置情報を前記記憶手段に記憶する、
ことを特徴とする請求項１乃至請求項６の何れか１項に記載の入力装置。
【請求項８】
前記表示手段は、
前記構造物の構造を示す図面と、前記全天球画像と、を１の画面に表示させる
ことを特徴とする請求項１乃至請求項７の何れか１項に記載の入力装置。
【請求項９】
前記全天球画像は、３次元情報を持つ３次元画像であって、
前記受付手段は、
前記診断対象を示す、３次元情報を持つ前記位置の入力を受け付ける、
ことを特徴とする請求項１乃至請求項８の何れか１項に記載の入力装置。
【請求項１０】
構造物における診断対象の診断結果を入力する入力装置の入力方法であって、
前記構造物の全天球画像を表示する表示ステップと、
前記全天球画像に対する、前記診断対象を示す位置の入力を受け付けて、受け付けた該位置を示す位置情報を記憶手段に記憶する受付ステップと、
を有し、
前記表示ステップは、
前記全天球画像と、前記診断対象の診断結果を含む診断情報の入力を受け付ける診断情報入力画面と、を１の画面に表示し、
前記受付ステップは、
前記診断情報入力画面に応じた前記診断情報の入力を受け付け、該診断情報と、前記位置情報と、を関連付けて前記記憶手段に記憶する、
ことを特徴とする入力装置の入力方法。
【請求項１１】
構造物の診断結果を入力する入力装置であって、
前記構造物の全天球画像を表示する表示制御手段と、
表示された前記全天球画像に対して診断対象を指定する指定手段と、
前記診断対象に対する診断情報を入力する入力手段と、
前記全天球画像に対して指定された前記診断対象の位置と、前記診断情報と、を関連付けて記憶する記憶手段と、
を有する
ことを特徴とする入力装置。
【請求項１２】
構造物における診断対象の診断結果を出力する出力装置であって、
全天球画像に対する、前記診断対象の位置を示す位置情報と、前記診断対象の診断結果を含む診断情報と、が関連付けられて記憶された記憶手段から、該位置情報と、該位置情報に関連付けられた該診断情報と、を取得する診断情報取得手段と、
前記診断情報取得手段により取得された前記診断情報を、該診断情報に関連付けられた前記位置情報に基づき出力する出力手段と、
を有する
ことを特徴とする出力装置。
【請求項１３】
前記診断情報取得手段は、
前記位置情報に関連付けられて前記記憶手段に記憶される、前記全天球画像に基づく画像を該記憶手段からさらに取得し、
前記出力手段は、
前記診断情報取得手段に取得された前記画像を、前記位置情報に基づき、前記診断情報に含めて出力する
請求項１２に記載の出力装置。
【請求項１４】
前記全天球画像を取得する全天球画像取得手段と、
前記全天球画像取得手段に取得された前記全天球画像を表示すると共に、該全天球画像に対して、該全天球画像の前記位置情報が示す位置に、該位置情報に関連付けられた前記診断情報を示す情報を重畳して表示する表示手段と、
をさらに有する
ことを特徴とする請求項１２または請求項１３に記載の出力装置。
【請求項１５】
前記全天球画像に重畳されて表示される前記診断情報を示す情報を指定する指定入力を受け付ける受付手段をさらに有し、
前記出力手段は、
前記受付手段に受け付けられた前記指定入力により指定される前記診断情報を出力する
請求項１２乃至請求項１４の何れか１項に記載の出力装置。
【請求項１６】
構造物における診断対象の診断結果を出力する出力装置の出力方法であって、
全天球画像に対する、前記診断対象の位置を示す位置情報と、前記診断対象の診断結果を含む診断情報と、が関連付けられて記憶された記憶手段から、該位置情報と、該位置情報に関連付けられた該診断情報と、を取得する診断情報取得ステップと、
前記診断情報取得ステップにより取得された前記診断情報を、該診断情報に関連付けられた前記位置情報に基づき出力する出力ステップと、
を有する
ことを特徴とする出力装置の出力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力装置および入力装置の入力方法、ならびに、出力装置および出力装置の出力方法に関する。
【背景技術】
【０００２】
近年、建造物の現場調査の重要度が増している。特に、修繕のための調査、工事作業計画立案のための調査、設備更新のための調査、設計のための調査など、現場での調査を実施しなければ分からないものも多い。現場で調査を実行した際に、撮像装置を用いて調査対象を撮像し、この撮像データを蓄積することで、検査業務の省力化や情報共有化を図る技術が知られている。
【０００３】
また、特許文献１には、３次元空間モデル上の所定の位置の位置情報を検索条件に含み、これを抽出可能となるよう構成し、位置情報から周囲の状況を共有可能にする技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ひび割れなど変状部分の検査では、検査結果を報告書に纏めて報告する必要がある。この場合、検査者は、３次元空間モデル上の位置を示す位置情報に基づき関連付けられた情報の検索が可能である。しかしながら、従来では、検査結果を報告書に纏める際の、３次元空間モデルの位置情報と変状部分とを対応付ける作業は、人手により行われていたため、報告書作成作業が煩雑となり、作業に多大な時間を要してしまうという問題点があった。
【０００５】
本発明は、上記に鑑みてなされたものであって、画像上の位置情報と関連付けた情報を集約する作業をより容易に実行可能とすることを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、構造物における診断対象の診断結果を入力する入力装置であって、構造物の全天球画像を表示する表示手段と、全天球画像に対する、診断対象を示す位置の入力を受け付けて、受け付けた位置を示す位置情報を記憶手段に記憶する受付手段と、を有し、表示手段は、全天球画像と、診断対象の診断結果を含む診断情報の入力を受け付ける診断情報入力画面と、を１の画面に表示し、受付手段は、診断情報入力画面に応じた診断情報の入力を受け付け、診断情報と、位置情報と、を関連付けて記憶手段に記憶する、ことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、画像上の位置情報と関連付けた情報を集約する作業がより容易に実行可能となるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１の実施形態に適用可能な撮像装置の一例の外観を概略的に示す図である。
【図２】図２は、第１の実施形態に適用可能な撮像体の一例の構造を示す図である。
【図３】図３は、第１の実施形態に係る撮像装置の外観を概略的に示す３面図である。
【図４】図４は、第１の実施形態に係る撮像装置の一例の構成を示すブロック図である。
【図５】図５は、第１の実施形態に係る撮像装置における、バッテリおよび回路部の配置の例を示す図である。
【図６】図６は、第１の実施形態に適用可能な、アノテーションを入力する入力装置としての情報処理装置の一例の構成を示すブロック図である。
【図７】図７は、第１の実施形態に係る情報処理装置の機能を説明するための一例の機能ブロック図である。
【図８】図８は、第１の実施形態に適用可能な撮像レンズがどのように３次元入射光を２次元に射影するかを説明するための図である。
【図９】図９は、第１の実施形態に係る撮像装置の傾きについて説明するための図である。
【図１０】図１０は、第１の実施形態に適用可能な全天球画像のフォーマットについて説明する図である。
【図１１】図１１は、第１の実施形態に適用可能な、変換テーブルによる半球画像の各画素位置と、全天球画像の各画素位置との対応付を説明するための図である。
【図１２】図１２は、第１の実施形態に適用可能な鉛直補正を説明するための図である。
【図１３】図１３は、第１の実施形態に適用可能な情報処理システムの構成の例を概略的に示す図である。
【図１４】図１４は、第１の実施形態に係る撮像装置を用いた撮像例を説明するための図である。
【図１５−１】図１５−１は、第１の実施形態に係る情報処理システムにおけるアノテーション入力処理について概略的に説明するための図である。
【図１５−２】図１５−２は、第１の実施形態に係る情報処理システムにおけるアノテーション入力処理について概略的に説明するための図である。
【図１５−３】図１５−３は、第１の実施形態に係る情報処理システムにおけるアノテーション入力処理について概略的に説明するための図である。
【図１６】図１６は、第１の実施形態に係るアノテーション入力処理を示す一例のフローチャートである。
【図１７】図１７は、第１の実施形態に適用可能な画像切り取り処理を説明するための図である。
【図１８】図１８は、第１の実施形態に係る、ＵＩ部により表示デバイスに表示される画面の例を示す図である。
【図１９】図１９は、第１の実施形態に適用可能な見取り図画像の例を示す図である。
【図２０】図２０は、第１の実施形態に係る、アノテーション入力画面が表示された例を示す図である。
【図２１】図２１は、第１の実施形態に適用可能な、領域指定画面に切り換えられたアノテーション入力画面の例を示す図である。
【図２２】図２２は、第１の実施形態に係る、切り取り領域を指定するための画面の表示の例を示す図である。
【図２３】図２３は、第１の実施形態に係る、切り取り画像表示領域に表示された切り取り画像にマーカを表示させた例を示す図である。
【図２４】図２４は、第１の実施形態に係る、報告書データ作成に係る画面の表示の例を示す図である。
【図２５】図２５は、第１の実施形態に適用可能な報告書データの例を示す図である。
【図２６】図２６は、第１の実施形態の変形例に適用可能な、壁面にひびが観察される例を示す図である。
【図２７】図２７は、第１の実施形態の変形例に係る、指定されたひびに対するアノテーションを入力するためのアノテーション入力画面の例を示す図である。
【図２８】図２８は、第１の実施形態の変形例に適用可能な、領域指定画面に切り換えられたアノテーション入力画面の例を示す図である。
【図２９】図２９は、第１の実施形態の変形例に係る、切り取り領域を指定するための画面の表示の例を示す図である。
【図３０】図３０は、第２の実施形態に係る撮像装置を概略的に示す図である。
【図３１】図３１は、第２の実施形態に適用可能な各撮像体により撮像可能な撮像範囲の例を示す図である。
【図３２】図３２は、第２の実施形態に係る、アノテーションを入力する入力装置としての情報処理装置の機能を説明するための一例の機能ブロック図である。
【図３３】図３３は、第２の実施形態に適用可能な、撮像装置において、異なる５つの視点で撮像され、各撮像体毎に合成された画像の例を示す図である。
【図３４】図３４は、第２の実施形態に適用可能な３次元復元モデルの作成処理を示す一例のフローチャートである。
【図３５】図３５は、第２の実施形態に適用可能な三角測量について説明するための図である。
【図３６】図３６は、第２の実施形態に適用可能なＥＰＩの原理について説明するための図である。
【図３７】図３７は、第２の実施形態に適用可能なＥＰＩの原理について説明するための図である。
【図３８】図３８は、第２の実施形態に適用可能な、ＥＰＩを全周囲画像を用いて構成した場合に傾きｍが曲線に基づく値となる点を説明するための図である。
【図３９】図３９は、第２の実施形態に適用可能な、ＥＰＩを全周囲画像を用いて構成した場合に傾きｍが曲線に基づく値となる点を説明するための図である。
【図４０】図４０は、第２の実施形態に係る撮像装置で撮像された撮像画像に基づき視差が優先的に算出される平面の例を示す図である。
【図４１】図４１は、第２の実施形態に係る、３次元復元モデル作成の対象としての、大きな建物などを含む大きな空間の例を示す図である。
【図４２】図４２は、実施形態に係る撮像装置の一例の構成を示すブロック図である。
【図４３】図４３は、第２の実施形態に係る撮像装置における制御部およびメモリの一例の構成を示すブロック図である。
【図４４】図４４は、第２の実施形態に係る位置指定を説明するための図である。
【図４５】図４５は、第２の実施形態に係る、位置指定を線により行った例を示す図である。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、入力装置および入力装置の入力方法、ならびに、出力装置および出力装置の出力方法の実施形態を詳細に説明する。
【００１０】
（第１の実施形態）
第１の実施形態では、全天球を撮像可能な撮像装置を用いて撮像された診断対象の全天球画像に対して、当該全天球画像上で位置を指定してアノテーションを入力する。入力されたアノテーションは、当該位置と関連付けられて保存される。
【００１１】
診断対象の撮像に全天球画像を用いることで、少ない撮像回数で診断対象を漏れ無く撮像できる。また、アノテーションの入力を、全天球画像上で位置を指定して行うため、アノテーションを入力した対象を直感的に把握可能であり、入力漏れを抑制可能である。さらに、入力したアノテーションを全天球画像の位置と関連付けて保存するため、アノテーションに基づく報告書の作成作業において、アノテーションと、アノテーションを入力した対象との対応関係の把握が容易となり、報告書の作成処理に係る負担を低減可能である。またそれにより、報告書作成における人為的ミスの発生を抑制できる。
【００１２】
なお、全天球画像は、撮像位置に対して、直交する２平面（例えば水平面および垂直面）それぞれにおいて３６０°の画角、すなわち、撮像位置に対して４πステラジアンの画角で撮像された画像である。また、アノテーションは、診断対象を観察および診断した結果に基づく情報である。アノテーションは、診断対象の種別毎に予め定められた１以上の項目と、任意のコメントと、を含むことができる。アノテーションは、さらに、画像を含むことができる。
【００１３】
［第１の実施形態に適用可能な撮像装置］
図１は、第１の実施形態に適用可能な撮像装置の一例の外観を概略的に示す図である。図１において、撮像装置１ａは、略直方体の筐体１０ａの第１の面に撮像レンズ２０ａが設けられ、第１の面に対向する第２の面の、撮像レンズ２０ａに対応する位置に撮像レンズ２０ｂが設けられる。筐体１０ａ内には、各撮像レンズ２０ａおよび２０ｂにそれぞれ対応して撮像素子が設けられる。
【００１４】
各撮像レンズ２０ａおよび２０ｂに入射した光は、筐体１０ａに設けられる、それぞれ撮像レンズ２０ａおよび２０ｂを含む結像光学系を介して、それぞれ対応する撮像素子に照射される。撮像素子は、例えばＣＣＤ(Charge  Coupled  Device)であって、照射された光を電荷に変換する受光素子である。撮像素子は、これに限らず、ＣＭＯＳ(Complementary  Metal  Oxide  Semiconductor)イメージセンサであってもよい。
【００１５】
詳細は後述するが、各撮像素子を駆動する各駆動部は、トリガ信号に応じて、各撮像素子に対してシャッタ制御を行うと共に、各撮像素子から光が変換された電荷を読み出す。各駆動部は、各撮像素子から読み出した電荷をそれぞれ電気信号に変換し、この電気信号をディジタルデータとしての撮像画像に変換して出力する。各駆動部から出力された各撮像画像は、例えばメモリに記憶される。
【００１６】
また、以下では、撮像レンズ２０ａおよび撮像レンズ２０ｂの組と、当該撮像レンズの組に対応する各結像光学系および各撮像素子とを含めた構成を、撮像体２１として説明を行う。この、例えば、トリガ信号に応じて撮像レンズ２０ａおよび２０ｂに入射された光に基づく撮像画像を出力する動作を、便宜上、撮像体２１による撮像、などと記述する。また、撮像レンズ２０ａおよび２０ｂを区別する必要がある場合には、例えば、撮像レンズ２０ａによる撮像、などと記述する。
【００１７】
シャッタボタン３０は、操作に応じて、撮像体２１による撮像を指示するためのボタンである。シャッタボタン３０が操作されると、撮像体２１において、各撮像レンズ２０ａおよび２０ｂによる撮像が同期して行われる。
【００１８】
図１に示されるように、撮像装置１ａの筐体１０ａは、撮像体２１が配置される撮像部領域２ａと、シャッタボタン３０が配置される操作部領域３ａと、を含んで構成される。操作部領域３ａは、ユーザが撮像装置１ａを保持するためのグリップ部３１を含む。グリップ部３１は、ユーザによる保持および操作が容易なように、その表面がより滑り難く形成される。また、撮像装置１ａの底部、すなわちグリップ部３１の底部には、当該撮像装置１ａを三脚などに固定するための固定部３２が設けられる。
【００１９】
次に、撮像体２１の構造について、より具体的に説明する。図２は、第１の実施形態に適用可能な撮像体２１の一例の構造を示す図である。図２において、撮像体２１は、それぞれ撮像レンズ２０ａおよび２０ｂを含む結像光学系２０１ａおよび２０１ｂと、ＣＣＤまたはＣＭＯＳセンサによる撮像素子２００ａおよび２００ｂとを含み構成される。各結像光学系２０１ａおよび２０１ｂは、例えば６群７枚の魚眼レンズとして構成されている。この魚眼レンズは、１８０°（＝３６０度／ｎ、ｎは光学系数＝２）以上、好ましくは１８０°より大きい全画角を有し、好適には、１８５°以上の画角を有し、より好適には、１９０°以上の画角を有する。
【００２０】
各結像光学系２０１ａおよび２０１ｂは、それぞれ、光路を９０°変更するプリズム２０２ａおよび２０２ｂを含む。各結像光学系２０１ａおよび２０１ｂにそれぞれ含まれる６群７枚の魚眼レンズは、プリズム２０２ａおよび２０２ｂより入射側のグループと、出射側（撮像素子２００ａおよび２００ｂ側）のグループとに分けることができる。例えば、結像光学系２０１ａにおいて、撮像レンズ２０ａに入射された光は、プリズム２０２ａより入射側のグループに属する各レンズを介してプリズム２０２ａに入射される。プリズム２０２ａに入射された光は、光路を９０°変換されて、プリズム２０２ａより出射側のグループに属する各レンズ、開口絞り、フィルタを介して撮像素子２００ａに照射される。
【００２１】
２つの結像光学系２０１ａおよび２０１ｂの光学素子（レンズ、プリズム２０２ａおよび２０２ｂ、フィルタおよび開口絞り）は、撮像素子２００ａおよび２００ｂに対して位置関係が定められる。より具体的には、結像光学系２０１ａおよび２０１ｂの光学素子の光軸が、対応する撮像素子２００ａおよび２００ｂの受光領域の中心部に直交して位置するように、かつ、受光領域が、対応する魚眼レンズの結像面となるように、位置決めが行われる。また、撮像体２１では、結像光学系２０１ａおよび２０１ｂは、同一仕様のものであり、それぞれの光軸が合致するようにして、互いに逆向きに組み合わせられる。
【００２２】
図３は、実施形態に係る撮像装置１ａの外観を概略的に示す３面図である。図３（ａ）、図３（ｂ）および図３（ｃ）は、それぞれ撮像装置１ａの上面図、前面図および側面図の例である。図３（ｃ）に示されるように、撮像レンズ２０ａと、当該撮像レンズ２０ａの背面側の、当該撮像レンズ２０ａと対応する位置に配置される撮像レンズ２０ｂと、により撮像体２１が構成される。
【００２３】
図３（ａ）および図３（ｃ）において、角度αは、撮像レンズ２０ａおよび２０ｂの画角（撮像範囲）の例を示している。上述したように、撮像体２１に含まれる各撮像レンズ２０ａおよび２０ｂは、それぞれ１８０°より大きな角度αを画角として撮像を行う。そのため、筐体１０ａは、各撮像レンズ２０ａおよび２０ｂにより撮像された各撮像画像に対する筐体１０ａの写り込みを避けるために、図３（ａ）、図３（ｂ）および図３（ｃ）に面２３1、２３2、２３3および２３4として示されるように、第１の面および第２の面の、各撮像レンズ２０ａおよび２０ｂの中心線Ｃに対する両側が、各撮像レンズ２０ａおよび２０ｂの画角に応じて面取りされる。
【００２４】
なお、中心線Ｃは、撮像装置１ａにより撮像された各半球画像の頂点（極）の方向が鉛直方向に平行になるように撮像装置１ａの姿勢を設定した場合の、各撮像レンズ２０ａおよび２０ｂの中心を鉛直に貫く線である。
【００２５】
撮像体２１は、撮像レンズ２０ａおよび２０ｂの組み合わせにより、撮像体２１の中心部を中心とした全天球を撮像範囲とする。すなわち、上述したように、撮像レンズ２０ａおよび２０ｂは、それぞれ画角が１８０°以上、好ましくは１８０°より大きく、より好適には１８５°以上とされている。したがって、これら撮像レンズ２０ａおよび２０ｂの組み合わせにより、例えば第１の面と直交する面の撮像範囲と、第１の面と平行な面の撮像範囲をそれぞれ３６０°とすることができ、これらの組み合わせにより、全天球の撮像範囲が実現される。
【００２６】
［第１の実施形態に係る撮像装置の信号処理に関する構成］
図４は、第１の実施形態に係る撮像装置１ａの一例の構成を示すブロック図である。なお、図４において、上述した図１および図２と対応する部分には同一の符号を付して、詳細な説明を省略する。
【００２７】
図４において、撮像装置１ａは、撮像系の構成として、撮像素子２００ａおよび２００ｂと、駆動部２１０ａおよび２１０ｂと、を含む撮像体２１と、信号処理部２１１ａおよび２１１ｂと、含む。また、撮像装置１ａは、撮像制御および信号処理系の構成として、それぞれバス２０１０に接続される、ＣＰＵ(Central  Processing  Unit)２０００と、ＲＯＭ(Read  Only  Memory)２００１と、メモリコントローラ２００２と、ＲＡＭ(Random  Access  Memory)２００３と、トリガＩ／Ｆ２００４と、ＳＷ（スイッチ）回路２００５と、データＩ／Ｆ２００６と、通信Ｉ／Ｆ２００７と、加速度センサ２００８と、を含む。さらに、撮像装置１ａは、これら各部に電源を供給するためのバッテリ２０２０を含む。
【００２８】
先ず、撮像系の構成について説明する。撮像系の構成において、撮像素子２００ａおよび駆動部２１０ａは、それぞれ撮像レンズ２０ａに対応する構成である。同様に、撮像素子２００ｂおよび駆動部２１０ｂは、それぞれ撮像レンズ２０ｂに対応する構成である。これら撮像素子２００ａおよび駆動部２１０ａ、ならびに、撮像素子２００ｂおよび駆動部２１０ｂが、それぞれ撮像体２１に含まれる。
【００２９】
撮像体２１において、駆動部２１０ａは、撮像素子２００ａを駆動し、トリガＩ／Ｆ２００４から供給されるトリガ信号に応じて、撮像素子２００ａから電荷を読み出す。駆動部２１０ａは、１回のトリガ信号に応じて、撮像素子２００ａから読み出した電荷に基づき１フレームの撮像画像を出力する。駆動部２１０ａは、撮像素子２００ａから読み出した電荷を電気信号に変換して出力する。駆動部２１０ａから出力された信号は、信号処理部２１１ａに供給される。信号処理部２１１ａは、駆動部２１０ａから供給された信号に対してノイズ除去、ゲイン調整など所定の信号処理を施し、アナログ方式の信号をディジタル方式の信号に変換し、ディジタルデータである撮像画像として出力する。この撮像画像は、全天球のうち撮像レンズ２０ａの画角に対応する半球分の領域が撮像された半球画像（魚眼画像）である。
【００３０】
なお、撮像体２１において、撮像素子２００ｂおよび駆動部２１０ｂについては、上述の撮像素子２００ａおよび駆動部２１０ａと同等の機能を有するため、ここでの説明を省略する。また、信号処理部２１１ｂについても、上述した信号処理部２１１ａと同等の機能を有するため、ここでの説明を省略する。
【００３１】
信号処理部２１１ａおよび２１１ｂから出力された各半球画像は、メモリコントローラ２００２を介してＲＡＭ２００３に記憶される。
【００３２】
次に、撮像制御および信号処理系の構成について説明する。ＣＰＵ２０００は、例えばＲＯＭ２００１に予め記憶されるプログラムに従い、ＲＡＭ２００３の一部の記憶領域をワークメモリとして用いて動作して、この撮像装置１ａの全体の動作を制御する。メモリコントローラ２００２は、ＣＰＵ２０００の指示に従い、ＲＡＭ２００３に対するデータの記憶および読み出しを制御する。
【００３３】
ＳＷ回路２００５は、シャッタボタン３０に対する操作を検知して、検知結果をＣＰＵ２０００に渡す。ＣＰＵ２０００は、ＳＷ回路２００５からシャッタボタン３０に対する操作を検知した旨の検知結果を受け取ると、トリガ信号を出力する。トリガ信号は、トリガＩ／Ｆ２００４を介して出力され、分岐して、各駆動部２１０ａおよび２１０ｂにそれぞれ供給される。
【００３４】
データＩ／Ｆ２００６は、外部機器との間でデータ通信を行うためのインタフェースである。データＩ／Ｆ２００６としては、例えばＵＳＢ(Universal  Serial  Bus)やＢｌｕｅｔｏｏｔｈ（登録商標）を適用することができる。通信Ｉ／Ｆ２００７は、ネットワークと接続され、ネットワークに対する通信を制御する。通信Ｉ／Ｆ２００７に接続されるネットワークは、有線および無線の何れでもよいし、有線および無線の両方に接続可能であってもよい。
【００３５】
なお、上述では、ＣＰＵ２０００は、ＳＷ回路２００５による検知結果に応じてトリガ信号を出力するように説明したが、これはこの例に限定されない。例えば、ＣＰＵ２０００は、データＩ／Ｆ２００６や通信Ｉ／Ｆ２００７を介して供給された信号に応じて、トリガ信号を出力してもよい。さらに、トリガＩ／Ｆ２００４がＳＷ回路２００５の検知結果に応じてトリガ信号を発生させて、各駆動部２１０ａおよび２１０ｂに供給してもよい。
【００３６】
加速度センサ２００８は、３軸の加速度成分を検出し、検出結果をＣＰＵ２０００に渡す。ＣＰＵ２０００は、加速度センサ２００８の検出結果に基づき鉛直方向を検出し、撮像装置１ａの鉛直方向に対する傾きを求める。ＣＰＵ２０００は、撮像体２１において各撮像レンズ２０ａおよび２０ｂにより撮像されＲＡＭ２００３に記憶される各半球画像に対して、撮像装置１ａの傾きを示す傾き情報を付加する。
【００３７】
バッテリ２０２０は、例えばリチウムイオン二次電池といった二次電池であって、撮像装置１ａ内部の電力供給が必要な各部に電力を供給する電力供給部である。なお、バッテリ２０２０は、二次電池に対する充放電の制御を行う充放電制御回路を含む。
【００３８】
図５は、実施形態に係る撮像装置１ａにおける、バッテリ２０２０および回路部２０３０の配置の例を示す図である。このように、バッテリ２０２０および回路部２０３０は、筐体１０ａの内部に設けられる。また、バッテリ２０２０および回路部２０３０のうち少なくともバッテリ２０２０は、接着剤やネジなどの固定手段により筐体１０ａ内部に固定される。なお、図５は、上述した図３（ｂ）に対応するもので、撮像装置１ａを、前面から見た例を示している。回路部２０３０は、例えば上述した撮像制御および信号処理系の各要素を含み、例えば１または複数の回路基板上に構成される。
【００３９】
なお、ここでは、バッテリ２０２０および回路部２０３０が当該位置に配置されるように説明したが、これはこの例に限定されず、例えば回路部２０３０が十分小型であれば、当該位置には、少なくともバッテリ２０２０のみが配置されていればよい。
【００４０】
このような構成において、トリガＩ／Ｆ２００４から、シャッタボタン３０に対する操作に応じてトリガ信号が出力される。トリガ信号は、各駆動部２１０ａおよび２１０ｂに同タイミングで供給される。各駆動部２１０ａおよび２１０ｂは、供給されたトリガ信号に同期して、各撮像素子２００ａおよび２００ｂから電荷を読み出す。
【００４１】
各駆動部２１０ａおよび２１０ｂは、各撮像素子２００ａおよび２００ｂから読み出した電荷を電気信号に変換し、各信号処理部２１１ａおよび２１１ｂにそれぞれ供給する。各信号処理部２１１ａおよび２１１ｂは、各駆動部２１０ａおよび２１０ｂから供給された各信号に対して上述した所定の処理を施して、これら各信号を、それぞれ半球画像に変換して出力する。各半球画像は、メモリコントローラ２００２を介してＲＡＭ２００３に記憶される。
【００４２】
ＲＡＭ２００３に記憶された各半球画像は、データＩ／Ｆ２００６、または、通信Ｉ／Ｆ２００７により、外部の情報処理装置に送られる。
【００４３】
［第１の実施形態に係る画像処理の概略］
次に、第１の実施形態に係る、半球画像に対する画像処理について説明する。図６は、第１の実施形態に適用可能な、アノテーションを入力する入力装置としての情報処理装置の一例の構成を示すブロック図である。図６において、情報処理装置１００ａは、それぞれバス１０３０により接続された、ＣＰＵ１０００と、ＲＯＭ１００１と、ＲＡＭ１００２と、グラフィックＩ／Ｆ１００３と、ストレージ１００４と、データＩ／Ｆ１００５と、通信Ｉ／Ｆ１００６と、入力デバイス１０１１と、を含み、さらに、グラフィックＩ／Ｆ１００３に接続される表示デバイス１０１０と、を含む。
【００４４】
ストレージ１００４は、例えばフラッシュメモリといった不揮発性メモリであって、ＣＰＵ１０００が動作するためのプログラムや、各種データが記憶される。ストレージ１００４にハードディスクドライブを適用してもよい。ＣＰＵ１０００は、ＲＯＭ１００１およびストレージ１００４に記憶されるプログラムに従い、ＲＡＭ１００２をワークメモリとして用いて動作して、この情報処理装置１００ａの全体の動作を制御する。
【００４５】
グラフィックＩ／Ｆ１００３は、ＣＰＵ１０００がプログラムに従い生成した表示制御信号に基づき、表示デバイス１０１０が表示可能な表示信号を生成し、生成した表示信号を表示デバイス１０１０に送る。表示デバイス１０１０は、例えばＬＣＤ(Liquid  Crystal  Display)と、ＬＣＤを駆動する駆動回路とを含み、グラフィックＩ／Ｆ１００３から送られた表示信号に応じた画面を表示する。
【００４６】
入力デバイス１０１１は、ユーザ操作に応じた信号を出力し、ユーザ入力を受け付ける。この例では、情報処理装置１００ａがタブレット型パーソナルコンピュータであって、表示デバイス１０１０と入力デバイス１０１１とが一体的に形成されたタッチパネル１０２０として構成される。入力デバイス１０１１は、表示デバイス１０１０の表示が透過されると共に、接触位置に応じた位置情報を出力する。情報処理装置１００ａは、タブレット型パーソナルコンピュータに限定されず、例えばデスクトップ型パーソナルコンピュータであってもよい。
【００４７】
データＩ／Ｆ１００５は、外部機器との間でデータ通信を行うためのインタフェースである。データＩ／Ｆ１００５としては、例えばＵＳＢやＢｌｕｅｔｏｏｔｈ（登録商標）を適用することができる。通信Ｉ／Ｆ１００６は、ネットワークと無線通信により接続され、ネットワークに対する通信を制御する。通信Ｉ／Ｆ１００６は、有線通信によりネットワークと接続してもよい。ここでは、撮像装置１ａと情報処理装置１００ａとが、データＩ／Ｆ１００５を介して有線にて接続されるものとする。
【００４８】
図７は、第１の実施形態に係る情報処理装置１００ａの機能を説明するための一例の機能ブロック図である。図７において、情報処理装置１００ａは、画像取得部１１０と、画像処理部１１１と、付帯情報生成部１１２と、ＵＩ(User  Interface)部１１３と、通信部１１４と、出力部１１５と、を含む。
【００４９】
これら画像取得部１１０、画像処理部１１１、付帯情報生成部１１２、ＵＩ部１１３、通信部１１４および出力部１１５は、ＣＰＵ１０００上で第１の実施形態に係る入力プログラムが動作することで実現される。これに限らず、画像取得部１１０、画像処理部１１１、付帯情報生成部１１２、ＵＩ部１１３、通信部１１４および出力部１１５の一部または全部を、互いに協働して動作するハードウェア回路により構成してもよい。
【００５０】
ＵＩ部１１３は、入力デバイス１０２２に対するユーザ操作に応じたユーザ入力を受け付け、受け付けたユーザ入力に応じた処理を実行する受付手段である。ＵＩ部１１３は、ユーザ入力に応じて受け付けた情報を、ＲＡＭ１００２やストレージ１００４に記憶することができる。また、ＵＩ部１１３は、表示デバイス１０１０に表示させるための画面を生成する表示手段でもある。通信部１１４は、データＩ／Ｆ１００５および通信Ｉ／Ｆ１００６による通信を制御する。
【００５１】
画像取得部１１０は、データＩ／Ｆ１００５を介して、撮像装置１ａから撮像レンズ２０ａおよび２０ｂにより撮像された各半球画像と、各半球画像に付加された傾き情報と、を取得する。画像処理部１１１は、画像取得部１１０により取得された各半球画像を繋いで１の全天球画像を生成する画像変換処理を実行する。付帯情報生成部１１２は、ＵＩ部１１３に受け付けられたユーザ入力に応じて、画像処理部１１１により生成された全天球画像に対して指定された位置における付帯情報（アノテーション）を生成する。出力部１１５は、付帯情報生成部１１２により生成されたアノテーションに基づき、所定の形式で報告書を作成して出力する。
【００５２】
情報処理装置１００ａにおける第１の実施形態に係る各機能を実現するための入力プログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ(Compact  Disk)、フレキシブルディスク（ＦＤ）、ＤＶＤ(Digital  Versatile  Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供される。これに限らず、当該入力プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、当該ネットワークを介してダウンロードさせることにより提供してもよい。また、当該入力プログラムをインターネットなどのネットワークを経由して提供または配布するように構成してもよい。
【００５３】
当該入力プログラムは、画像取得部１１０、画像処理部１１１、付帯情報生成部１１２、ＵＩ部１１３、通信部１１４および出力部１１５を含むモジュール構成となっている。実際のハードウェアとしては、ＣＰＵ１０００がストレージ１００４などの記憶媒体から当該入力プログラムを読み出して実行することにより、上述した各部がＲＡＭ１００２などの主記憶装置上にロードされ、画像取得部１１０、画像処理部１１１、付帯情報生成部１１２、ＵＩ部１１３、通信部１１４および出力部１１５が主記憶装置上に生成されるようになっている。
【００５４】
［第１の実施形態に適用可能な画像変換］
次に、第１の実施形態に適用可能な画像変換処理について、図８〜図１２を用いて説明する。以下に説明する画像変換処理は、例えば、情報処理装置１００ａにおける画像処理部１１１により実行される処理となる。
【００５５】
図８は、第１の実施形態に適用可能な撮像レンズ２０ａおよび２０ｂがどのように３次元入射光を２次元に射影するかを説明するための図である。なお、以下では、特に記載の無い限り、撮像レンズ２０ａおよび２０ｂを、撮像レンズ２０ａで代表させて説明を行う。
【００５６】
図８（ａ）において、撮像レンズ２０ａは、魚眼レンズ２４（結像光学系２０１ａ）と、撮像素子２００ａと、を含む。撮像素子２００ａの受光面に垂直の軸を、光軸とする。また、図６（ａ）の例では、入射角φは、魚眼レンズ２４の縁に接する平面と光軸との交点を頂点とした場合の、光軸に対する角度として表される。
【００５７】
１８０°を超える画角を持つ魚眼レンズ２４で撮像された魚眼画像（半球画像）は、撮像位置から、半球分のシーンの画像となる。ただし、図８（ａ）および図８（ｂ）に示されるように、射影関数ｆ(φ)で関係が決められる、入射角度φに対応する像高ｈで半球画像２２が生成される。なお、図８（ｂ）において、撮像素子２００ａの撮像面において、魚眼レンズ２４からの光が照射されない領域を無効領域として黒で塗りつぶして示している。射影関数ｆ(φ)は、魚眼レンズ２４の性質によって異なる。例えば、像高ｈ、焦点距離ｆ、入射方向と光軸の成す角（入射角）をφとして、下記の式（１）で表される等距離射影方式と呼ばれる射影方式を持つ魚眼レンズ２４があり、今回はそれを用いるものとする。
【００５８】
【数１】
2019175383.tif 000003
【００５９】
図９は、第１の実施形態に係る撮像装置１ａの傾きについて説明するための図である。図９において、鉛直方向は、グローバル座標系のｘｙｚ３次元方向の直交座標におけるｚ軸に一致する。この方向と、図３（ｂ）に示した撮像装置１ａの中心線Ｃとが平行になる場合が、カメラが傾いてない状態である。これらが平行になっていない場合、撮像装置１ａは、傾いた状態となる。
【００６０】
撮像装置１ａは、撮像レンズ２０ａおよび２０ｂにより撮像された各半球画像と、当該撮像時に加速度センサ２００８から出力された出力値と、を関連付けて例えばＲＡＭ２００３に記憶する。情報処理装置１００ａは、撮像装置１ａから、ＲＡＭ２００３に記憶される各半球画像および加速度センサ２００８の出力値を取得する。
【００６１】
情報処理装置１００ａにおいて、画像処理部１１１は、重力ベクトルからの傾き角度（以下、傾き角α）と、ｘｙ平面での傾斜角度β（以下、傾き角β）と、を、撮像装置１ａから取得した加速度センサ２００８の出力値を用いて、下記の式（２）および式（３）により求める。ここで、値Ａｘは、加速度センサ２００８の出力値におけるカメラ座標系のｘ０軸方向成分の値、値Ａｙは、加速度センサ２００８の出力値におけるカメラ座標系のｙ０軸方向成分の値、値Ａｚは、加速度センサ２００８の出力値におけるカメラ座標系のｚ０軸方向成分の値をそれぞれ示す。画像処理部１１１は、トリガ信号に応じて加速度センサ２００８の各軸方向成分の値から傾き角α、βを求める。画像処理部１１１、求めた傾き角α、βを、撮像装置１ａから取得した各半球画像に関連付けて、例えばストレージ１００４に記憶する。
【００６２】
【数２】
2019175383.tif 000004
【００６３】
【数３】
2019175383.tif 000005
【００６４】
画像処理部１１１は、撮像装置１ａから取得した各半球画像と、当該各半球画像に関連付けられた傾き角α、βと、に基づき、全天球画像を生成する。
【００６５】
図１０は、第１の実施形態に適用可能な全天球画像のフォーマットについて説明する図である。図１０（ａ）は、全天球画像を平面で表した場合のフォーマットの例、図１０（ｂ）は、全天球画像を球面で表した場合のフォーマットの例、をそれぞれ示す。全天球画像のフォーマットは、平面で表した場合、図１０（ａ）に示すように、水平角度が０°から３６０°、垂直角度が０°から１８０°の角度座標（φ，θ）に対応する画素値を有する画像である。角度座標（φ，θ）は、図１０（ｂ）に示す球面上の座標点の各点と対応付けられており、地球儀上における緯度経度座標のようなものとなっている。
【００６６】
魚眼レンズで撮影された画像の平面座標値と、全天球画像の球面座標値との関係は、図８で説明したような射影関数ｆ（ｈ＝ｆ（θ））を用いることによって対応付けることができる。これにより、魚眼レンズで撮影された部分画像（半球画像）２枚を変換して結合（合成）することによって、図１０（ａ）に示すような、平面による全天球画像を作成することができる。
【００６７】
第１の実施形態では、半球画像の各画素位置と、図１０（ａ）に示した平面による全天球画像における各画素位置と、を対応付ける変換テーブルを予め作成し、例えば情報処理装置１００ａのストレージ１００４に記憶しておく。表１は、この変換テーブルの例を示す。図１１は、第１の実施形態に適用可能な、変換テーブルによる半球画像の各画素位置と、全天球画像の各画素位置との対応付を説明するための図である。
【００６８】
【表１】
2019175383.tif 000006
【００６９】
変換テーブルは、表１に示すように、変換後画像の座標値である（θ，φ）［ｐｉｘ：ピクセル］と、それに対応する変換前画像の座標値（ｘ，ｙ）［ｐｉｘ］とのデータセットを、変換後画像の全ての座標値に対して有する。表１に示した変換テーブルに従って、撮像された半球画像（変換前画像）から変換後画像を生成することができる。具体的には、図１１に示すように、表１の変換テーブルに示される、変換前座標と変換後座標との対応関係から、変換後画像の各画素を、座標値（θ，φ）［ｐｉｘ］に対応する変換前画像の座標値（ｘ，ｙ）［ｐｉｘ］の画素値を参照することによって生成することができる。
【００７０】
表１に示した変換テーブルは、撮像装置１ａの中心線Ｃの方向が鉛直方向と平行であるとして、歪み補正を反映したものである。この変換テーブルに、傾き角α、βに応じた修正処理を施すことにより、撮像装置１ａの中心線Ｃと鉛直方向とを平行にさせる補正（鉛直補正と呼ぶ）を行うことができる。
【００７１】
図１２は、第１の実施形態に適用可能な鉛直補正を説明するための図である。図１２（ａ）は、カメラ座標系、図１２（ｂ）は、グローバル座標系をそれぞれ示している。図１２（ｂ）において、グローバル座標系の３次元直交座標を（ｘ１，ｙ１，ｚ１）、球面座標を（θ１，φ１）と表記する。また、図１２（ａ）において、カメラ座標系の３次元直交座標を（ｘ０，ｙ０，ｚ０）、球面座標を（θ０，φ０）と表記する。
【００７２】
画像処理部１１１は、鉛直補正演算により、下記の式（４）〜式（９）を用いて、球面座標（θ１、φ１）から球面座標（θ０、φ０）への変換を行う。先ず、傾きを補正するためには、３次元直交座標を用いて回転変換する必要があるため、画像処理部１１１は、式（４）式〜（６）式を用いて、球面座標（θ１，φ１）から３次元直交座標（ｘ１、ｙ１、ｚ１）への変換を行う。
【００７３】
【数４】
2019175383.tif 000007
【００７４】
【数５】
2019175383.tif 000008
【００７５】
【数６】
2019175383.tif 000009
【００７６】
次に、画像処理部１１１は、傾き角（α、β）を用いて、式（７）に示す回転座標変換を行い、グローバル座標系（ｘ１，ｙ１，ｚ１）を、カメラ座標系（ｘ０，ｙ０，ｚ０）に変換する。換言すれば、式（６）は、傾き角（α、β）の定義を与える。
【００７７】
【数７】
2019175383.tif 000010
【００７８】
これは、グローバル座標系を、先ずｚ軸を軸にα回転させ、次にｘ軸を軸にβ回転させるとカメラ座標系になることを意味する。最後に、画像処理部１１１は、式（８）および式（９）を用いて、カメラ座標系の３次元直交座標（ｘ０，ｙ０，ｚ０）を球面座標（θ０，φ０）に戻す変換を行う。
【００７９】
【数８】
2019175383.tif 000011
【００８０】
【数９】
2019175383.tif 000012
【００８１】
なお、上述では、鉛直補正演算を実行することにより座標変換を行うように説明したが、これはこの例に限定されない。例えば、傾き角（α、β）に応じた複数の変換テーブルを予め作成して記憶しておいてもよい。これにより、鉛直補正演算の処理を省略でき、処理の高速化を図ることができる。
【００８２】
［第１の実施形態に係る入力処理の概要］
次に、第１の実施形態に係るアノテーションの入力処理について、より具体的に説明する。図１３は、第１の実施形態に適用可能な情報処理システムの構成の例を概略的に示す図である。図１３（ａ）において、情報処理システムは、撮像装置１ａと、撮像装置１ａと有線または無線通信により接続される情報処理装置１００ａと、情報処理装置１００ａとネットワーク５を介して接続されるサーバ６と、を含む。
【００８３】
撮像装置１ａにおいて各撮像レンズ２０ａおよび２０ｂにより撮像された各半球画像は、情報処理装置１００ａに送信される。情報処理装置１００ａは、撮像装置１ａから送信された各半球画像を、上述したようにして全天球画像に変換する。また、情報処理装置１００ａは、ユーザ入力に応じて、変換された全天球画像に対してアノテーションを付加する。情報処理装置１００ａは、例えば、全天球画像とアノテーションとを、ネットワーク５を介してサーバ６に送信する。サーバ６は、情報処理装置１００ａから送信された全天球画像とアノテーションとを保存、管理する。
【００８４】
また、情報処理装置１００ａは、サーバ６から全天球画像およびアノテーションを取得し、取得した全天球画像およびアノテーションに基づき報告書データを作成する。これに限らず、情報処理装置１００ａは、当該情報処理装置１００ａが記憶する全天球画像およびアノテーションに基づき報告書データを作成することもできる。情報処理装置１００ａは、作成した報告書データをサーバ６に送信する。
【００８５】
なお、図１３（ａ）およびの例では、サーバ６が単一のコンピュータにより構成されるように示しているが、これはこの例に限定されない。すなわち、サーバ６は、その機能を複数台のコンピュータにより分散させて実現するように構成してもよい。また、サーバ６は、ネットワーク５上におけるクラウドシステムとして構成してもよい。
【００８６】
さらに、図１３（ｂ）に示されるように、撮像装置１ａおよび情報処理装置１００ａをそれぞれネットワーク５に接続する構成も考えられる。この場合、撮像装置１ａにて撮像された各半球画像は、ネットワーク５を介してサーバ６に送信される。サーバ６は、各半球画像に対して上述したようにして変換処理を施し、当該各半球画像を全天球画像に変換し、保存する。情報処理装置１００ａは、サーバ６に保存される全天球画像に対してアノテーションを付加する。
【００８７】
これに限らず、第１の実施形態では、情報処理装置１００ａをサーバ６と接続させずに、情報処理装置１００ａにおいてローカルで処理を行ってもよい。
【００８８】
図１４は、第１の実施形態に係る撮像装置１ａを用いた撮像例を説明するための図である。例えば、診断対象である建造物４の内部にて、撮像装置１ａを用いて全天球を撮像する。建造物４内の複数の位置で撮像を行ってもよい。全天球の撮像範囲を１度の撮像操作にて撮像できるため、建造物４内部の天井を含め、撮像漏れを抑制することができる。また、図１４では、撮像装置１ａを用い、建造物４の内部にて撮像を行っているが、これはこの例に限定されず、撮像装置１ａを用いて建造物４の外面を撮像することもできる。この場合、例えば建造物４の全周を移動しながら複数回の撮像を行うことで、建造物４の外面（例えば壁面）を漏れ無く撮像できる。
【００８９】
図１５−１〜図１５−３を用いて、第１の実施形態に係る情報処理システムにおけるアノテーション入力処理について、概略的に説明する。第１の実施形態に係る情報処理システムでは、全天球画像に対するアノテーション入力を補助するための幾つかの機能を提供する。ここでは、提供される補助機能のうち、撮像位置を自動推定する機能と、複数の全天球画像間での視点の移動を実現する３Ｄパノラマ自動ツアー機能と、アノテーションの入力および確認機能について、概略的に説明する。
【００９０】
図１５−１は、第１の実施形態に係る、撮像位置の自動推定機能を説明するための図である。図１５−１において、表示デバイス１０１０に表示される画面５００に、例えば診断対象の建造物４の内部を全天球で撮像した各半球画像に基づく全天球画像の所定領域の画像５０１０が表示される。また、画面５００に、予め取得した、当該建造物４の見取り図画像５０１１が表示される。
【００９１】
ここで、図１５−１の例では、見取り図画像５０１１に対し、撮像を行った撮像位置を示すピンマーカ５０４０1、５０４０2、５０４０3、…が表示されている。
【００９２】
例えば、撮像装置１ａを用いて、診断対象を、撮像位置を移動させながら複数回撮像し、撮像レンズ２０ａおよび２０ｂによる半球画像の組を複数組、取得する。情報処理装置１００ａにおいて、画像処理部１１１は、複数の半球画像の組それぞれに基づき複数の全天球画像を生成し、生成した各全天球画像間で既知の方法によりマッチング処理を行う。画像処理部１１１は、マッチング処理の結果と、各全天球画像の変換前の各半球画像とに基づき、各全天球画像の相対的な撮像位置を推定する。推定した各撮像位置の相対的な位置関係を維持しつつ、各撮像位置の組を回転、拡大縮小して見取り図画像５０１１と対応付けることで、建造物４における各撮像位置を推定できる。
【００９３】
また、情報処理装置１００ａにおいて、ＵＩ部１１３は、画面５００に対してユーザ操作に応じて位置を任意に移動可能なカーソル５０４１を表示させる。ＵＩ部１１３は、各ピンマーカ５０４０1、５０４０2、５０４０3、…のうち、カーソル５０４１で指定されたピンマーカに対応する全天球画像に基づく画像５０１０を、画面５００に表示させる。
【００９４】
このように、複数の全天球画像を撮像した撮像位置を自動推定することで、ユーザは、複数の全天球画像の関係を容易に把握することが可能となり、作業効率を向上させることができる。
【００９５】
なお、ＵＩ部１１３は、画像５０１０上でユーザが指定した位置に、タグを表示させることができる。図１５−１の例では、画像５０１０に対して、タグ５０３０ａおよび５０３０ｂが表示されている。詳細は後述するが、タグ５０３０ａおよび５０３０ｂは、アノテーションを入力した対象の位置を示し、当該画像５０１０を含む全天球画像の座標に関連付けられる。
【００９６】
図１５−２は、第１の実施形態に係る、３Ｄパノラマ自動ツアー機能を説明するための図である。例えば、図１５−２（ａ）を参照し、見取り図画像５０１１におけるピンマーカ５０４０10が指定され、ピンマーカ５０４０10の位置に対応する画像５０１０ａ（図１５−２（ｂ）参照）が画面５００に表示されているものとする。ＵＩ部１３３は、この状態で、例えばカーソル５４１により左斜め前への移動（図中に矢印で示す）が指示されると、ピンマーカへの指定を、ピンマーカ５０４０10から、当該ピンマーカ５０４０10の右斜め前の直近に表示されるピンマーカ５０４０11に移動させ、当該ピンマーカ５０４０11に対応する全天球画像に基づく画像５０１０ｂを画面５００に表示させる。同様に、ＵＩ部１１３は、ピンマーカへの指定が、ピンマーカ５０４０10から、当該ピンマーカ５０４０10の右斜め前の直近に表示されるピンマーカ５０４０12に移動（図中に矢印で示す）されると、当該ピンマーカ５０４０12に対応する全天球画像に基づく画像５０１０ｃを画面５００に表示させる。
【００９７】
このように、画面５００内で移動を指定することで、例えばピンマーカ５０４０1、５０４０2、５０４０3、…といったように、指定されるピンマーカが移動の方向に隣接するピンマーカに移動し、それに伴い、画面５００に表示される画像５０１０が切り替わる。これにより、ユーザは、恰も自身が診断対象を順次観察しているかの如く操作することができ、診断作業の効率化を図ることが可能である。
【００９８】
図１５−３は、第１の実施形態に係る、アノテーションの入力および確認機能を説明するための図である。ＵＩ部１１３は、画面５００において、画像５０１０の所望の位置をカーソル５０４１を用いて指定することで、その位置を示すタグ５０３０ａが画像５０１０に重畳されて表示される。また、画面５００に対して、画像５０１０と共に、タグ５０３０ａの位置に応じたアノテーションを入力するためのアノテーション入力画面６００が表示される。すなわち、アノテーション入力画面６００は、診断対象に関する診断情報を入力するための診断情報入力画面である。なお、図１５−３では、説明のためアノテーション入力画面６００が強調して示されている。
【００９９】
詳細は後述するが、このアノテーション入力画面６００は、予め設定された項目に対する入力や、任意のコメントの入力を行うことができる。また、アノテーション入力画面６００は、既に入力された情報を編集することもできる。さらに、アノテーション入力画面６００は、画像５０１０においてタグ５０３０ａが示す位置を含めて指定された範囲の画像や、外部から取得した画像をアノテーションとして入力することもできる。
【０１００】
このように、全天球画像に対して位置を指定し、指定した位置に対してアノテーションを入力するため、アノテーションと画像との対応付が容易となり、作業効率を向上させることができる。
【０１０１】
［第１の実施形態に係る入力処理の詳細］
次に、第１の実施形態に係るアノテーション入力処理について、より詳細に説明する。図１６は、第１の実施形態に係るアノテーション入力処理を示す一例のフローチャートである。
【０１０２】
なお、図１６のフローチャートによる処理に先立って、情報処理装置１００ａは、撮像装置１ａにおいて撮像レンズ２０ａおよび２０ｂにより診断対象が撮像された各半球画像と加速度センサ２００８の出力値とを取得し、各半球画像に基づく全天球画像を生成し、例えばストレージ１００４に記憶しているものとする。また、以下では、煩雑さを避けるため、１枚の全天球画像を想定して説明を行う。
【０１０３】
ステップＳ１００で、情報処理装置１００ａにおいて、画像取得部１１０は、ストレージ１００４に記憶される全天球画像を取得する。次のステップＳ１０１で、ＵＩ部１１３は、ステップＳ１００で画像取得部１１０に取得された全天球画像から、予め定められた所定領域の画像を切り取って、画面５００に表示させる。
【０１０４】
図１７は、第１の実施形態に適用可能な、ＵＩ部１１３による画像切り取り処理を説明するための図である。なお、この図１７は、上述した図１０（ａ）と対応するものである。ＵＩ部１１３は、２枚の半球画像から生成した全天球画像５１０の一部の領域５１１の画像を切り取り、画面５００に画像５０１０として表示させる。ステップＳ１０１では、初期値として予め定められた領域５１１の画像を切り取る。ここで、ＵＩ部１１３は、例えば、全天球画像５１０の角度座標（φ，θ）を、画面５００に対する表示に適した座標（ｘ，ｙ）に置き換えて、画像５０１０を表示する。
【０１０５】
次のステップＳ１０２で、ＵＩ部１１３は、ユーザ操作に応じて、領域５１１を全天球画像５１０内で移動させる。また、ＵＩ部１１３は、ユーザ操作に応じて、領域５１１の全天球画像５１０に対する大きさを変更することができる。
【０１０６】
図１８は、第１の実施形態に係る、ＵＩ部１１３により表示デバイス１０１０に表示される画面５００の例を示す図である。この例では、ＵＩ部１１３は、画面５００の全面に対して、図１７で示した領域５１１の画像５０１０を表示させている。画面５００には、さらに、ボタン５０２０、５０２１、５０２２および５０２３と、メニューボタン５０５０および５０５１と、が表示される。
【０１０７】
ボタン５０２０は、全天球画像５１０を読み込むためのボタンである。ボタン５０２１は、当該画面５００において設定される、後述するアノテーションデータを保存するためのボタンである。ボタン５０２１の操作に応じて、現在の画面５００そのものをさらに保存してもよい。ボタン５０２２は、スケールを変更するためのボタンであって、操作に応じて画面５００内の画像５０１０の拡大および縮小を指示する指示画面が表示される。ボタン５２３は、画面５００に対して、後述するアノテーション入力画面６００を表示させるためのボタンである。
【０１０８】
メニューボタン５０５０は、画面５００の表示モードを切り替えるためのメニューを表示させるためのボタンである。メニューボタン５０５１は、画像５０１０に対する視点を切り換えるためのボタンである。
【０１０９】
また、画面５００において、領域５０２４は、図１５−１を用いて説明した、撮像位置を自動推定する機能を用いて推定された各撮像位置が、ピンマーカ５０４１1、５０４１2、…を用いて相対位置により表示される。
【０１１０】
ここで、情報処理装置１００ａは、図１９に例示されるような、診断対象を含む見取り図画像５０１１を予め取得し、例えばストレージ１００４に保存する。ＵＩ部１１３は、この見取り図画像５０１１を、画面５００に表示させることができる。例えば、ＵＩ部１１３は、見取り図画像５０１１を、画面５００における領域５０２４に重畳させて表示させる。また、ＵＩ部１１３は、画面５００に表示した見取り図画像５０１１に対して、撮像位置を示す各ピンマーカ５０４１1、５０４１2、…を表示させることができる。ユーザは、所定の入力操作により、見取り図画像５０１１上で、各ピンマーカ５０４１1、５０４１2、…の位置を、各ピンマーカ５０４１1、５０４１2、…の相対的な位置関係を維持しつつ実際に撮像を行った位置に合わせるように調整できる。
【０１１１】
次のステップＳ１０３で、ＵＩ部１１３は、ボタン５０２３に対する操作を待機し、ボタン５０２３が操作されると、画面５００に対してアノテーション入力画面６００を表示させる。そして、アノテーション入力画面６００に対する所定の操作に応じて、画像５０１０上の位置を指定する。
【０１１２】
図２０は、第１の実施形態に係る、アノテーション入力画面６００が画面５００に表示された例を示す図である。なお、図２０において、上述した図１９と共通する部分には同一の符号を付して、詳細な説明を省略する。図２０において、ステップＳ１０３で指定された位置に、マーカ６０２が重畳して表示される。また、図２０において、アノテーション入力画面６００が画像５０１０に重畳して表示される。ＵＩ部１１３は、指定された位置を示す位置情報を、アノテーションを識別する識別情報（アノテーションＩＤと呼ぶ）と関連付けて、例えばＲＡＭ１００２に記憶する。ここで、位置情報は、例えば、画像５０１０が含まれる全天球画像５１０における座標が用いられる。
【０１１３】
なお、アノテーション入力画面６００は、画像５０１０と同一の画面５００に表示されていればよく、画像５０１０に対して重畳して表示する例に限定されない。例えば、アノテーション入力画面６００と画像５０１０とを画面５００内の別領域に表示してもよいし、アノテーション入力画面６００を画像５０１０とは別のウィンドウに表示させてもよい。また、アノテーション入力画面６００は、画面５００での表示位置をユーザ操作に応じて変更できる。
【０１１４】
図２０において、アノテーション入力画面６００は、アノテーション入力画面６００における機能を切り換えるためのタブ６０１ａ、６０１ｂおよび６０１ｃが設けられる。タブ６０１ａは、アノテーションの編集を行うためのタブである。タブ６０１ｂは、詳細画像を挿入するためのタブであって、操作に応じて、例えば情報処理装置１００ａのＯＳ(Operating  System)により提供されるファイル選択画面が表示され、所望の画像を選択可能とされている。タブ６０１ｃは、切り取り領域選択のためのタブであって、操作に応じて、画面５００の表示が画像５０１０に対して領域指定を行うための表示に切り替わる。
【０１１５】
図２０に示されるアノテーション入力画面６００において、ボタン６０１１は、画像５０１０に対してタグを追加するためのボタンである。ＵＩ部１１３は、ボタン６０１１が操作され、例えばカーソル５０４１により画像５０１０に対する位置指定操作がなされると、指定された位置に対して、マーカ６０２を表示させる。
【０１１６】
次のステップＳ１０４で、ＵＩ部１１３は、アノテーション入力画面６００における各タブ６０１ａ〜６０１ｃ、および、画面５００におけるボタン５０２１に対する操作を待機し、何れかに対する操作がなされた場合に、対応する処理を実行する。
【０１１７】
ＵＩ部１１３は、ボタン５０２３の操作に応じてアノテーション入力画面６００が表示された場合（初期画面）、あるいは、タブ６０１ａが指定された場合、アノテーション入力を行うと判定して処理をステップＳ１１０に移行する。次のステップＳ１１１で、ＵＩ部１１３は、図２０に示したように、アノテーションの入力を行うためのアノテーション入力領域６０１０を含むアノテーション入力画面６００を表示する。
【０１１８】
図２０の例では、アノテーション入力領域６０１０は、入力領域６０１０ａ〜６０１０ｄを含む。この例では、入力領域６０１０ａは、予め定められた項目をプルダウンメニューにより選択するための入力領域となっており、予め定められた「設備種類」の項目から、当該項目に含まれる各種類を選択可能となっている。入力領域６０１０ｂは、テキスト情報を入力するための入力領域となっている。この入力領域６０１０ｂは、例えば製品型番などの、文字数がある程度決まっているテキスト情報が入力される。
【０１１９】
入力領域６０１０ｃは、予め定められた項目が列挙され、適当な項目のチェックボックスに対してチェックマークを入力するための入力領域である。入力領域６０１０ｃは、複数の項目を指定することができる。また、入力領域６０１０ｃは、例えば入力領域６０１０ａにおいて選択された内容に応じた項目が表示される。この例では、入力領域６０１０ｃに対して、入力領域６０１０ａの「設備種類」において選択された「誘導灯」に応じた項目が表示されている。
【０１２０】
入力領域６０１０ｄは、例えば備考を入力するための入力領域であって、自由な形式でテキスト情報の入力が可能とされている。文字数制限は、無制限、若しくは、ある程度の長さの文章を入力可能とされている。ＵＩ部１１３は、アノテーション入力領域６０１０に入力された内容を、ステップＳ１０３で指定された位置を示す位置情報と関連付けてＲＡＭ１００２に記憶する。
【０１２１】
なお、ステップＳ１１１のアノテーション入力画面６００の表示中であっても、画面５００上に配置される各ボタン５０２０〜５０２３、各タブ６０１ａ〜６０１ｃ、ならびに、各メニューボタン５０５０および５０５１の操作が可能である。また、全天球画像５１０から画像５０１０を切り取る領域５１１の、全天球画像５１０内での位置変更操作も、可能である。
【０１２２】
さらに、ステップＳ１１１のアノテーション入力画面６００の表示中において、画像５０１０上の次の位置を指定する操作も、可能である。ＵＩ部１１３は、ステップＳ１５０で、画像５０１０上の次の位置が指定されたか否かを判定する。ＵＩ部１１３は、次の位置が指定されたと判定した場合（ステップＳ１５０、「Ｙｅｓ」）、処理をステップＳ１０２に戻す。
【０１２３】
一方、ＵＩ部１１３は、次の位置が指定されていないと判定した場合（ステップＳ１５０、「Ｎｏ」）、処理をステップＳ１０４に戻す。この場合、ステップＳ１５０による判定直前の状態が維持される。
【０１２４】
ＵＩ部１１３は、ステップＳ１０４においてタブ６０１ｂが指定された場合、詳細画像挿入を行うと判定して、処理をステップＳ１２０に移行する。次のステップＳ１２１で、ＵＩ部１１３は、画面５００に対して画像ファイル選択画面を表示させる。ＵＩ部１１３は、例えば、画像ファイル選択画面として、情報処理装置１００ａに搭載されるＯＳ(Operating  System)により標準機能として提供されるファイル選択画面を用いることができる。このとき、例えばファイル拡張子などに基づきファイル名をフィルタリングして、対応する画像ファイルのファイル名のみが表示されるようにすると好ましい。
【０１２５】
次のステップＳ１２２で、ＵＩ部１１３は、画像ファイル選択画面において選択された画像ファイルを読み込む。次のステップＳ１２３で、ＵＩ部１１３は、ステップＳ１２２で読み込んだ画像ファイルの画像を、アノテーション入力画面６００内の所定領域に表示させる。ＵＩ部１１３は、読み込んだ画像ファイルの、パスを含むファイル名を、ステップＳ１０３で指定された位置を示す位置情報に関連付けて、例えばＲＡＭ１００２に記憶する。ステップＳ１２３の処理の後、処理が上述したステップＳ１５０に移行される。
【０１２６】
ＵＩ部１１３は、ステップＳ１０４においてタブ６０１ｃが指定された場合、画像５０１０に対して切取り領域選択を行うと判定して、処理をステップＳ１３０に移行する。次のステップＳ１３１で、ＵＩ部１１３は、アノテーション入力画面６００の表示を、診断対象の画像を含む診断領域としての切り取り領域を指定するための領域指定画面の表示に切り換える。図２１は、第１の実施形態に適用可能な、領域指定画面に切り換えられたアノテーション入力画面６００の例を示す図である。
【０１２７】
図２１において、領域指定画面に切り替えられたアノテーション入力画面６００は、切り取り画像表示領域６０２０と、チェックボックス６０２１と、選択ボタン６０２２と、を含む。切り取り画像表示領域６０２０は、画像５０１０に対して指定された領域から切り取られた切り取り画像が表示される。切り取り画像表示領域６０２０は、画像５０１０に対して領域が指定されていない初期状態では、例えば空白表示とする。これに限らず、画像５０１０から、ステップＳ１０３で指定された位置に対して予め設定された領域の画像を切り取って切り取り画像表示領域６０２０に表示させてもよい。
【０１２８】
チェックボックス６０２１は、切り取り画像表示領域６０２０に対して、アイコンとしてのマーカ画像を表示させるためのボタンである。選択ボタン６０２２は、画像５０１０に対する切り取り領域の指定を開始するためのボタンである。
【０１２９】
図２２は、第１の実施形態に係る、選択ボタン６０２２に対する操作に応じて切り取り領域を指定するための画面５００の表示の例を示す図である。図２２に示されるように、ＵＩ部１１３は、選択ボタン６０２２に対する操作に応じて、切り取り領域を示す枠６０３を画面５００に表示させると共に、アノテーション入力画面６００の表示を画面５００から消去する。枠６０３は、例えば、ステップＳ１０３で指定された位置に対して予め設定された領域に対応して表示される。
【０１３０】
ＵＩ部１１３は、ユーザ操作に応じて、枠６０３の大きさ、形状および位置を変更できる。形状は、例えば矩形に限られるが、長辺および短辺の長さの比を変えることができる。ＵＩ部１１３は、枠６０３の大きさ、形状および位置の変更時に、変更された枠６０３がステップＳ１０３で指定された位置を含まない場合、その旨を示す警告画面を表示できる。
【０１３１】
図１６のフローチャートの説明に戻り、ＵＩ部１１３は、ステップＳ１３２で、領域の指定が完了したか否かを判定する。例えば、表示デバイス１０１０および入力デバイス１０１１がタッチパネル１０２０として構成され、枠６０３による領域の指定を、ユーザの手指などをタッチパネル１０２０に接触させた状態で当該手指を移動するドラッグ操作などにより行う場合、当該手指がタッチパネル１０２０から離れたことで、ドラッグ操作が終了し枠６０３による領域指定が完了したと判定できる。
【０１３２】
ＵＩ部１１３は、領域指定が完了していないと判定した場合（ステップＳ１３２、「Ｎｏ」）、処理をステップＳ１３２に戻す。一方、ＵＩ部１１３は、領域指定が完了したと判定した場合（ステップＳ１３２、「Ｙｅｓ」）、処理をステップＳ１３３に移行させる。
【０１３３】
ステップＳ１３３で、ＵＩ部１１３は、画像５０１０から、枠６０３により指定された領域の画像を、切り取り画像として取得する。このとき、ＵＩ部１１３は、枠６０３の例えば各頂点の、画像５０１０が含まれる全天球画像５１０における座標を取得し、取得した各座標を、ステップＳ１０３で指定された位置を示す位置情報に関連付けて、例えばＲＡＭ１００２に記憶する。
【０１３４】
次のステップＳ１３４で、ＵＩ部１１３は、ステップＳ１３３で取得した切り取り画像を、アノテーション入力画面６００内の切り取り画像表示領域６０２０に表示させる。また、ＵＩ部１１３は、ステップＳ１３３で取得した切り取り画像を所定の名称のファイル名のファイルに格納し、切り取り画像ファイルを作成する。ＵＩ部１１３は、切り取り画像ファイルを例えばＲＡＭ１００２に記憶する。
【０１３５】
次のステップＳ１３５で、ＵＩ部１１３は、切り取り画像表示領域６０２０に表示された切り取り画像に対してアイコンを表示させるか否かを判定する。ＵＩ部１１３は、アノテーション入力画面６００のチェックボックス６０２１がチェックされていれば、アイコンを表示すると判定し（ステップＳ１３５、「Ｙｅｓ」）、処理をステップＳ１３６に移行させる。
【０１３６】
ステップＳ１３６で、ＵＩ部１１３は、図２３に例示されるように、切り取り画像表示領域６０２０に表示された切り取り画像の、ステップＳ１０３で指定された位置に対応する位置に、マーカ６０２’を表示させる。この例では、マーカ６０２’が画像５０１０上に表示されたマーカ６０２と同等の形状とされているが、これはこの例に限定されず、マーカ６０２’とマーカ６０２は、異なる形状でもよい。
【０１３７】
ステップＳ１３６の処理の後、処理が上述したステップＳ１５０に移行される。また、ステップＳ１３５においてアイコンを表示させないと判定した場合（ステップＳ１３５、「Ｎｏ」）も、処理がステップＳ１５０に移行される。
【０１３８】
ＵＩ部１１３は、ステップＳ１０４において例えばボタン５０２１が操作された場合、アノテーション入力画面６００の入力内容を保存すると判定して、処理をステップＳ１４０に移行させる。ステップＳ１４０で、ＵＩ部１１３は、付帯情報生成部１１２に対して、アノテーション入力画面６００において入力された各データを保存するように指示する。
【０１３９】
次のステップＳ１４１で、付帯情報生成部１１２は、ＵＩ部１１３の指示に従い、上述した各処理（例えばステップＳ１０３、ステップＳ１１１、ステップＳ１２３、ステップＳ１３３、ステップＳ１３４など）においてＵＩ部１１３によりＲＡＭ１００２に記憶されたデータに基づきアノテーションデータを作成する。アノテーションデータは、ステップＳ１０３で指定された位置毎に作成される。付帯情報生成部１１２は、作成したアノテーションデータを、例えば情報処理装置１００ａのストレージ１００４に保存する。これに限らず、付帯情報生成部１１２は、作成したアノテーションデータを、ネットワーク５を介してサーバ６に送信し、サーバ６に保存させてもよい。
【０１４０】
表２〜表７は、第１の実施形態に係るアノテーションデータの構成の例を示す。
【０１４１】
【表２】
2019175383.tif 000013
【０１４２】
【表３】
2019175383.tif 000014
【０１４３】
【表４】
2019175383.tif 000015
【０１４４】
【表５】
2019175383.tif 000016
【０１４５】
【表６】
2019175383.tif 000017
【０１４６】
【表７】
2019175383.tif 000018
【０１４７】
表２は、アノテーションデータの全体の構成を示す。アノテーションデータは、形状データと、属性データと、画像領域データと、アノテーションデータＩＤと、を含む。これら形状データ、属性データおよび画像領域データの構成例を、表３、表４および表５にそれぞれ示す。
【０１４８】
表３は、形状データの例を示す。形状データは、図１６のステップＳ１０３においてユーザにより指定された位置により形成される形状を示し、「プリミティブ種別」、「頂点数」および「頂点座標のリスト」の各項目を含む。
【０１４９】
表６は、項目「プリミティブ種別」に定義される値の例を示す。この例では、項目「プリミティブ種別」は、値「点」、「線」および「多角形」が定義される。項目「プリミティブ種別」の値が「点」である場合、項目「頂点数」の値が「１」とされる。項目「プリミティブ種別」の値が「線」である場合、項目「頂点数」の値が「２以上」とされる。また、項目「プリミティブ種別」の値が「多角形」である場合、項目「頂点数」の値が「３以上」とされる。項目「頂点座標リスト」は、項目「頂点数」に示される各頂点を、（φ，θ）座標系により定義する。ここで、項目「頂点座標のリスト」に列挙される座標を先頭から順番に繋ぐ直線で囲まれた閉領域が、プリミティブ種別で定義される「多角形」の範囲となる。
【０１５０】
上述した例では、図１６のステップＳ１０３において１点が指定されるものとしているため、項目「プリミティブ種別」が値「点」とされ、頂点数が「１」とされる。また、項目「頂点座標のリスト」は、指定された１点の座標のみが記述される。
【０１５１】
表４は、属性データの例を示す。属性データは、「作成者」、「作成日時」、「場所」、「対象」、「ソース画像」、「調査日時」、「対応方法」、「属性情報リスト」および「タグ」の各項目を含む。
【０１５２】
項目「作成者」の値は、例えば情報処理装置１００ａ、あるいは、情報処理装置１００ａの第１の実施形態に係る機能を実現するための入力プログラムに対するログイン情報から取得される。項目「作成日時」の値は、情報処理装置１００ａが有するクロックに基づくシステム時刻から取得される。項目「場所」の値は、見取り図画像５０１１が取得できる場合は、当該見取り図画像５０１１上の撮像位置から取得される。見取り図画像５０１１が取得できない場合、項目「場所」の値は、ユーザ入力から取得される。
【０１５３】
項目「対象」の値は、ユーザ入力から取得される。項目「ソース画像」の値は、アノテーション入力画面６００によりアノテーションを作成時に参照していた画像名（ファイル名）が用いられる。例えば、項目「ソース画像」の値として、上述した切り取り画像表示領域６０２０に表示される切り取り画像ファイルのファイル名が用いられる。項目「調査日時」の値は、項目「ソース画像」に記述される画像ファイルのタイムスタンプから取得される。項目「対応方法」の値は、ユーザ入力から取得される。
【０１５４】
項目「属性情報リスト」の値は、表７に例示する属性情報がリストとして記述される。表７において、属性情報は、「種別」、「名称」および「属性値リスト」の各項目を含む。項目「種別」の値は、設備、変状などの診断対象の種別であって、例えば、図２０に示すアノテーション入力画面６００における、設備種類を入力する入力領域６０１０ａの値が用いられる。項目「名称」の値は、診断対象の具体的な名称であって、例えば、図２０に示すアノテーション入力画面６００における、製品型番を入力する入力領域６０１０ｂの値が用いられる。また項目「属性値リスト」の値は、例えば、図２０に示すアノテーション入力画面６００における入力領域６０１０ｃの、各チェックボックスに対応する名称を属性名とし、チェックボックスの値を属性値とし、これら属性名および属性値の組のリストを取得する。項目「属性値リスト」に含まれる各属性名は、項目「種別」の値に応じて異なるものとなる。
【０１５５】
表４の説明に戻り、項目「タグ」の値は、ユーザ入力から取得される。例えば、項目「タグ」の値として、アノテーション入力画面６００における入力領域６０１０ｄに入力された値（例えば備考）が用いられる。
【０１５６】
表５は、画像領域データの例を示す。画像領域データは、例えば図１６のステップＳ１３２において指定された切り取り画像の、左上、左下、右上および右下各頂点の座標を、全天球画像５１０における角度座標（φ，θ）により示す。
【０１５７】
図１６の説明に戻り、付帯情報生成部１１２は、ステップＳ１４１による上述のアノテーションデータの保存が完了すると、処理をステップＳ１４２に移行させる。ここで、付帯情報生成部１１２は、アノテーションデータに対して、アノテーション入力時に取得されている各全天球画像５１０を示す情報（例えばパスを含むファイル名）を関連付ける。図１５−１を例にとって説明すると、付帯情報生成部１１２は、各ピンマーカ５０４０1、５０４０2、５０４０3、…に対応する各全天球画像５１０、５１０、…を示す情報が、アノテーションデータに対して関連付けられる。
【０１５８】
ステップＳ１４２で、ＵＩ部１１３は、当該入力プログラムによるアノテーション入力処理の終了が指示されたか否かを判定する。例えば、ＵＩ部１１３は、ステップＳ１４１の保存処理の後、アノテーション入力処理の終了または継続を指示するための終了指示画面を表示させる。ＵＩ部１１３は、アノテーション入力処理の終了が指示されたと判定した場合（ステップＳ１４２、「Ｙｅｓ」）、この図１６のフローチャートによる一連の処理を終了させる。一方、ＵＩ部１１３は、アノテーション入力処理の継続が指示されたと判定した場合（ステップＳ１４２、「Ｎｏ」）、処理を上述したステップＳ１５０に移行させる。
【０１５９】
［第１の実施形態に係る出力処理］
次に、第１の実施形態に係る出力処理について説明する。情報処理装置１００ａにおいて、出力部１１５は、上述したようにして作成したアノテーションデータに基づき、診断対象の診断結果を集約した報告書データを作成する。
【０１６０】
一例として、情報処理装置１００ａにおいて、ＵＩ部１１３は、例えば画面５００におけるボタン５０２０の操作に応じて、各アノテーションデータと、当該各アノテーションデータに関連付けられる各全天球画像５１０、５１０、…と、を読み込む。ＵＩ部１１３は、読み込んだ各全天球画像５１０、５１０、…のうち１の全天球画像５１０の所定の領域５１１を切り取って、画像５０１０として画面５００に表示させる。このとき、ＵＩ部１１３は、各アノテーションデータの形状データにおける項目「頂点座標のリスト」の値に応じた画像５０１０上の位置に、例えば各アノテーションデータに対応するタグを表示させる。
【０１６１】
図２４は、第１の実施形態に係る、報告書データ作成に係る画面５００の表示の例を示す図である。図２４において、画面５００に対して、例えば、各アノテーションデータの属性データに含まれる項目「タグ」に従いタグ５０３０ｃおよび５０３０ｄが表示される。また、これらタグ５０３０ｃおよび５０３０ｄに対応して、当該項目「タグ」に入力された値（例えば備考）がコメント６０４ａおよび６０４ｂとして表示される。出力部１１５は、これらタグ５０３０ｃおよび５０３０ｄに対する指定に応じて、指定されたタグに対応するアノテーションデータに基づき報告書データを作成する。
【０１６２】
これに限らず、出力部１１５は、例えば各アノテーションデータの属性データの各項目に対して、ユーザにより指定された条件により絞り込み検索を行い、検索の結果として得られた各アノテーションデータに基づき報告書データを作成することもできる。
【０１６３】
図２５は、第１の実施形態に適用可能な報告書データの例を示す図である。この例では、報告書データは、「点検実施日」および「点検実施者名」の各項目と、「室名」、「対象」、「現場写真」、「内容」、「対応要否」および「備考」の各項目と、を含むレコードを、アノテーションデータ毎に含む。
【０１６４】
報告書データのレコードにおいて、「点検実施日」および「点検実施者名」の各項目は、例えば、上述の表４を参照し、アノテーションデータの属性データにおける項目「作成日時」および「作成者」からそれぞれ取得できる。報告書データにおける項目「対象」は、表４および表７を参照し、アノテーションデータの属性データにおける項目「属性情報リスト」の項目「名称」などから取得できる。また、報告書データにおける「室名」、「内容」および「対応要否」の各項目は、アノテーションデータの属性データにおける項目「場所」、「タグ」および「対応方法」からそれぞれ取得できる。さらに、報告書データにおける項目「現状写真」は、例えば、表４を参照し、アノテーションデータの属性データにおける項目「ソース画像」に記述される画像名に基づき取得した画像が埋め込まれる。
【０１６５】
なお、報告書データにおいて、項目「備考」は、例えば、当該報告書データの作成時におけるユーザ入力に応じて取得できる。
【０１６６】
また、図２５の報告書データは、一例であり、レコードに含まれる各項目は、上述の例に限定されない。また、レコードに含まれる各項目は、ユーザ入力に応じて変更、設定が可能である。
【０１６７】
出力部１１５は、このようにして作成された報告書データを、所定のデータ形式で以て出力する。例えば、出力部１１５は、報告書データを、市販の文書作成アプリケーションプログラムや、テーブル作成用アプリケーションプログラム、プレゼンテーション資料作成用アプリケーションプログラムなどのデータ形式に従って出力できる。また、ＰＤＦ(Portable  Document  Format)といった、印刷および表示に特化したデータ形式に従い出力することもできる。
【０１６８】
なお、出力部１１５は、図２５に示す報告書データは、出力の目的に限られない。例えば、項目「現場写真」に埋め込まれる画像に、当該画像に対応する撮像位置から開始されるパノラマ自動ツアー機能（図１５−２参照）を呼び出すリンク情報を関連付けることができる。ＵＩ部１１３は、図２５に示す報告書データを表す画像を画面５００に表示させる。ＵＩ部１１３は、ユーザ操作により項目「現場写真」に表示される画像が指定されると、当該画像に関連付けられるリンク情報に従い、画面５００の表示を例えば図１５−２（ａ）に示される表示に切り替える。
【０１６９】
また、これに限らず、当該項目「現場写真」に埋め込まれる画像に、特定のＷｅｂサイトへのリンク情報を関連付けることも考えられる。
【０１７０】
また、報告書データにおいて、項目「現状写真」の代わりに時系列画像を埋め込む項目（項目「時系列写真」とする）を設けることもできる。なお、時系列画像、例えばある位置および撮像範囲においてそれぞれ異なる時間に撮像した複数の画像を撮像時間順に並べた画像は、予め撮像して、例えば情報処理装置１００ａに、当該位置を示す位置情報に関連付けて保存しておく。出力部１１５は、報告書データによる画面を表示する際に、項目「時系列写真」に対して、複数の画像を含む時系列画像を表示させる。これにより、例えば工事など作業の進捗を容易に把握することが可能となる。また、異なる時間に撮像された画像を比較することで、経年変化などを容易に確認できる。
【０１７１】
上述した図２４の例では、画面５００上に表示された各タグ５０３０ｃおよび５０３０ｄを指定することで、報告書データの作成に用いるアノテーションデータを指定するように説明したが、これはこの例に限定されない。例えば、サムネイル画像、コメントおよび属性情報などをアノテーションデータ毎に含むリストを作成、表示することも考えられる。サムネイル画像は、切り取り画像を縮小して用いることができる。
【０１７２】
さらに、報告書データに対して、報告書作成者（点検者）以外の者によるコメントを関連付けることもできる。これにより、例えば点検者の報告書データに対して設計者が返答し、さらにその返答に点検者がコメントを返答する、といったスレッド機能を実現できる。
【０１７３】
［第１の実施形態の変形例］
次に、第１の実施形態の変形例について説明する。上述の第１の実施形態では、図２０〜図２３などを用いて説明したように、図１６のステップＳ１０３において、位置を点で指定していた。これはこの例に限定されず、例えば表３および表６の項目「プリミティブ種別」にて説明したように、位置は、線や多角形によっても指定できる。
【０１７４】
以下、図１６のステップＳ１０３において、線により位置の指定を行う例について説明する。図２６は、第１の実施形態の変形例に適用可能な、壁面にひび６１０が観察される例を示す図である。なお、図２６および後述する図２７〜図２９において、上述した図２０〜図２３に対応する部分には同一の符号を付して、詳細な説明を省略する。
【０１７５】
図２６において、画面５００に表示される画像５０１０において、線状の形状を有するひび６１０が観察される。ユーザは、図１６のステップＳ１０３において、例えば、タッチパネル１０２０に対して画像５０１０上のひび６１０の画像をなぞる（ドラッグ操作）ことで指定する。ひび６１０を表す位置情報は、例えば、順次隣接する点の位置が閾値よりも小さい複数の点の位置情報の集合となる。
【０１７６】
図２７は、上述した図２０と対応し、第１の実施形態の変形例に係る、指定されたひび６１０に対するアノテーションを入力するためのアノテーション入力画面６００の例を示す図である。図２７において、アノテーション入力画面６００は、アノテーションを入力するためのアノテーション入力領域６０１０’を含む。この例では、アノテーション入力領域６０１０’は、入力領域６０１０ｄおよび６０１０ｅを含む。
【０１７７】
入力領域６０１０ｅは、ひび６１０などの変状状態に関する情報を入力するための領域であって、「箇所」、「変状種類」、「幅」および「長さ」、ならびに、「状況」の各入力項目を含む。これらのうち、項目「変状種類」および「状況」は、それぞれ、予め定められた項目をプルダウンメニューにより選択するための入力領域となっている。また、項目「箇所」と、項目「幅」および「長さ」と、は、ユーザにより名称や値が入力される。項目「幅」および「長さ」は、固定的な項目ではなく、項目「変状種類」において選択される内容に応じた項目とすることができる。
【０１７８】
図２７に示されるアノテーション入力画面６００において、ボタン６０１２は、変状種類を追加するためのボタンである。ＵＩ部１１３は、ボタン６０１２に対する操作に応じて、例えば上述した項目「変状種類」、項目「幅」および「長さ」、並びに、項目「状況」の組を、アノテーション入力画面６００に対して追加して表示させる。
【０１７９】
この線状に指定された位置に対する切り取り領域の指定は、第１の実施形態において図２１および図２２を用いて説明した方法と同様にして実行可能である。図２８は、第１の実施形態の変形例に適用可能な、領域指定画面に切り換えられたアノテーション入力画面６００の例を示す図である。この例では、切り取り画像表示領域６０２０に対して、画像５０１０上のひび６１０に対応するひび６１０’が表示されている。他は、上述した図２１と何ら変わるところが無い。
【０１８０】
また、図２９は、第１の実施形態の変形例に係る、選択ボタン６０２２に対する操作に応じて切り取り領域を指定するための画面５００の表示の例を示す図である。この場合においても、ひび６１０を含むように枠６０３が指定される。ＵＩ部１１３は、ひび６１０の一部または全部が枠６０３に含まれない場合、その旨を示す警告画面を表示できる。
【０１８１】
また、同様にして、三角形以上の多角形（凹多角形を含む）についても、位置および切り取り領域の指定が可能である。
【０１８２】
［第２の実施形態］
次に、第２の実施形態について説明する。上述した第１の実施形態では、２次元の座標情報を有する全天球画像５１０に基づき、アノテーションデータを作成していた。これに対して、第２の実施形態では、アノテーションデータの作成に際し、３次元の座標情報を有する３次元画像をさらに用いる。
【０１８３】
［第２の実施形態に係る撮像装置］
図３０は、第２の実施形態に係る撮像装置を概略的に示す図である。なお、図３０において、上述した図１と共通する部分には同一の符号を付して、詳細な説明を省略する。図３０において、撮像装置１ｂは、略直方体の筐体１０ｂの第１の面に、複数（この例では５個）の撮像レンズ２０ａ1、２０ａ2、２０ａ3、２０ａ4および２０ａ5と、シャッタボタン３０とが設けられる。筐体１０ｂ内には、各撮像レンズ２０ａ1、２０ａ2、…、２０ａ5にそれぞれ対応して撮像素子が設けられる。
【０１８４】
また、筐体１０ｂの、第１の面の背面側の第２の面に、複数の撮像レンズ２０ｂ1、２０ｂ2、２０ｂ3、２０ｂ4および２０ｂ5が設けられる。これら撮像レンズ２０ｂ1、２０ｂ2、…、２０ｂ4および２０ｂ5も、上述の各撮像レンズ２０ａ1、２０ａ2、…、２０ａ5と同様に、筐体１０ｂ内にそれぞれ対応した撮像素子が設けられる。
【０１８５】
各撮像レンズ２０ａ1、２０ａ2、…、２０ａ5と、撮像レンズ２０ｂ1、２０ｂ2、…、２０ｂ5とにおいて、筐体１０ｂの底面からの高さが一致する撮像レンズの組により、それぞれ、撮像体２１1、２１2、２１3、２１4および２１5が構成される。
【０１８６】
なお、各撮像レンズ２０ａ1、２０ａ2、…、２０ａ5、ならびに、撮像レンズ２０ｂ1、２０ｂ2、…、２０ｂ5は、第１の実施形態にて説明した撮像レンズ２０ａおよび２０ｂと同一の構成を適用できるので、ここでの詳細な説明を省略する。また、各撮像体２１1、２１2、２１3、２１4および２１5は、上述した撮像体２１に対応する。
【０１８７】
第２の実施形態では、各撮像レンズ２０ａ1、２０ａ2、…、２０ａ5は、それぞれ隣接する撮像レンズとの間の距離を距離ｄとして等間隔に配置される。また、撮像レンズ２０ａ1および２０ｂ1、撮像レンズ２０ａ2および２０ｂ2、撮像レンズ２０ａ3および２０ｂ3、撮像レンズ２０ａ4および２０ｂ4、撮像レンズ２０ａ5および２０ｂ5は、それぞれ、筐体１０ｂの例えば底面からの高さが一致するように、筐体１０ｂに配置される。
【０１８８】
さらに、各撮像体２１1、２１2、２１3、２１4および２１5のうち最下部に配される撮像体２１5の各撮像レンズ２０ａ5および５０ｂ5は、それぞれ、底面から高さｈの位置に配される。また、例えば各撮像レンズ２０ａ1〜２０ａ5は、最下部の撮像レンズ２０ａ5を起点として、各撮像レンズ２０ａ4、２０ａ3、２０ａ2および２０ａ1が、距離ｄずつ間隔を開けて、筐体１０ａの底面側から上面側に向けて、筐体１０ａの長辺方向の中心線にレンズ中心を整列させて配置される。
【０１８９】
シャッタボタン３０は、操作に応じて、各撮像レンズ２０ａ1、２０ａ2、…、２０ａ5と、各撮像レンズ２０ｂ1、２０ｂ2、…、２０ｂ5とによる撮像を指示するためのボタンである。シャッタボタン３０が操作されると、各撮像レンズ２０ａ1、２０ａ2、…、２０ａ5、および、各撮像レンズ２０ｂ1、２０ｂ2、…、２０ｂ5による撮像が同期して行われる。
【０１９０】
図３０に示されるように、撮像装置１ｂの筐体１０ｂは、各撮像体２１1〜２１5が配置される撮像部領域２ｂと、シャッタボタン３０が配置される操作部領域３ｂと、を含んで構成される。操作部領域３ｂは、ユーザが撮像装置１ｂを保持するためのグリップ部３１が設けられ、グリップ部３１の底面には、当該撮像装置１ｂを三脚などに固定するための固定部３２が設けられる。
【０１９１】
なお、ここでは、撮像装置１ｂが５つの撮像体２１1〜２１5を備えるように説明したが、これはこの例に限定されない。すなわち、撮像装置１ｂは、複数の撮像体２１を備えていればよく、６以上の撮像体２１を備えていてもよいし、２以上４以下の撮像体２１を備えていてもよい。
【０１９２】
図３１は、第２の実施形態に適用可能な各撮像体２１1、２１2、…、２１5により撮像可能な撮像範囲の例を示す図である。各撮像体２１1、２１2、…、２１5は、同様の撮像範囲を有する。図３１では、撮像体２１1、２１2、…、２１5による各撮像範囲を、撮像体２１1の撮像範囲で代表して示している。
【０１９３】
なお、以下では、図３１に示されるように、例えば撮像レンズ２０ａ1、２０ａ2、…、２０ａ5が整列する方向にＺ軸を定義し、撮像レンズ２０ａ1および２０ｂ1の光軸の方向にＸ軸を定義する。また、Ｚ軸に直角に交わる平面に含まれ、且つ、Ｘ軸に直角に交わる方向にＹ軸を定義する。
【０１９４】
撮像体２１1は、撮像レンズ２０ａ1および２０ｂ1の組み合わせにより、撮像体２１1の中心部を中心とした全天球を撮像範囲とする。すなわち、上述したように、撮像レンズ２０ａ1および２０ｂ1は、それぞれ画角が１８０°以上、好ましくは１８０°より大きく、より好適には１８５°以上とされている。したがって、これら撮像レンズ２０ａ1および２０ｂ1の組み合わせにより、ＸＹ平面上の撮像範囲ＡおよびＸＺ平面上の撮像範囲Ｂをそれぞれ３６０°とすることができ、これらの組み合わせにより、全天球の撮像範囲が実現される。
【０１９５】
また、撮像体２１1、２１2、…、２１5は、それぞれＺ軸方向に距離ｄの間隔を開けて配置されている。したがって、各撮像体２１1、２１2、…、２１5により全天球を撮像範囲として撮像された各半球画像の組は、Ｚ軸方向に距離ｄずつ視点の異なる画像となる。
【０１９６】
このとき、実施形態では、各撮像レンズ２０ａ1〜２０ａ5、および、各撮像レンズ２０ｂ1〜２０ｂ5における撮像が、シャッタボタン３０の操作に応じて同期して行われる。そのため、第２の実施形態に係る撮像装置１ｂを用いることで、筐体１０ｂの第１の面および第２の面それぞれについて、Ｚ軸方向に距離ｄずつ視点が異なり、且つ、同一のタイミングで撮像された５組の半球画像の組を取得することができる。
【０１９７】
この、Ｚ軸方向に距離ｄずつ視点が異なり、且つ、同一のタイミングで撮像された５組の半球画像の組それぞれから生成された５枚の全天球画像は、Ｚ軸方向に伸びる同一のエピポーラ線に並ぶ画像となる。
【０１９８】
［第２の実施形態に係る画像処理の概略］
次に、第２の実施形態に係る画像処理について説明する。図３２は、第２の実施形態に係る、アノテーションを入力する入力装置としての情報処理装置１００ｂの機能を説明するための一例の機能ブロック図である。なお、情報処理装置１００ｂのハードウェアとしての構成は、図６を用いて説明した、情報処理装置１００ａの構成をそのまま適用できるので、ここでの詳細な説明を省略する。また、図３２において、上述した図７と共通する部分には同一の符号を付して、詳細な説明を省略する。
【０１９９】
図３２において、情報処理装置１００ｂは、上述した情報処理装置１００ａと同様に、画像取得部１１０と、画像処理部１１１と、付帯情報生成部１１２と、ＵＩ部１１３と、通信部１１４と、出力部１１５と、を含む。さらに、情報処理装置１００ｂは、３Ｄ情報生成部１２０を含む。
【０２００】
これらのうち、画像取得部１１０は、撮像装置１ｂの各撮像レンズ２０ａ1〜２０ａ5、および、各撮像レンズ２０ｂ1〜２０ｂ5により撮像された各半球画像を取得する。画像処理部１１１は、画像取得部１１０により取得した各半球画像から、図８〜図１２、および、式（１）〜式（９）を用いて説明した処理により、各撮像体２１1〜２１5に対応する、Ｚ軸方向に距離ｄずつ視点が異なる５枚の全天球画像を生成する。
【０２０１】
なお、第２の実施形態に係る撮像装置１ｂは、各撮像レンズ２０ａ1〜２０ａ5の中心を結ぶ中心線が鉛直方向と平行になるように設置され撮像が行われることが前提とされるため、各半球画像の傾き補正処理は省略できる。これに限らず、撮像装置１ｂに上述したような加速度センサ２００８を設け、加速度センサ２００８の検出結果に基づき鉛直方向を検出し、撮像装置１ｂの鉛直方向に対する傾きを求めて傾き補正を行ってもよい。
【０２０２】
ＵＩ部１１３は、各撮像体２１1〜２１5に対応する５枚の全天球画像のうち１枚の全天球画像、例えば撮像体２１1により撮像された半球画像の組から生成した全天球画像により、上述した図１８、図２０〜図２３、図２６〜図２９を用いて説明した各画面５００を表示させる。付帯情報生成部１１２によるアノテーションデータの生成も、この撮像体２１1により撮像された半球画像の組から生成した全天球画像に基づき行われる。
【０２０３】
３Ｄ情報生成部１２０は、画像処理部１１１で生成された、Ｚ軸方向に距離ｄずつ視点が異なる５枚の全天球画像を用いて３次元情報を生成する。
【０２０４】
［第２の実施形態に適用可能な３次元情報生成処理］
次に、３Ｄ情報生成部１２０により実行される、第２の実施形態に適用可能な３次元情報生成処理について説明する。
【０２０５】
図３３は、第２の実施形態に適用可能な、撮像装置１ｂにおいて、異なる５つの視点で撮像され、各撮像体２１1、２１2、…、２１5毎に合成された画像の例を示す図である。図３３（ａ）は、被写体６０の例を示し、図３３（ｂ）、図３３（ｃ）、図３３（ｄ）、図３３（ｅ）および図３３（ｆ）は、同一の被写体６０を、それぞれ異なる５つの視点で撮像した撮像画像が合成された全天球画像３００1、３００2、３００3、３００4および３００5の例を示す。図３３（ｂ）〜図３３（ｆ）に例示されるように、各全天球画像３００1〜３００5は、被写体６０の画像が、各撮像体２１1〜２１5間の距離ｄに応じて、少しずつずれて含まれる。
【０２０６】
なお、図３３では、撮像装置１ｂが、撮像装置１ｂの第１の面（前面）側に存在する被写体６０を撮像するように示しているが、これは説明のためであって、実際には、撮像装置１ｂは、撮像装置１ｂを取り囲んで存在する被写体６０を撮像できる。この場合、全天球画像３００1〜３００5は、例えば正距円筒図法による画像であって、それぞれ、左右の辺が同一の位置を表し、上辺および下辺がそれぞれ１点を表すものとなる。すなわち、図３３に示す全天球画像３００1〜３００5は、説明のために、正距円筒図法による画像を変換して部分的に切り取ったものを示している。
【０２０７】
なお、全天球画像３００1〜３００5の投影方法は、正距円筒図法に限定されない。例えば、全天球画像３００1〜３００5は、Ｚ軸方向の画角を大きく取る必要が無い場合には、シリンドリカル投影を用いた画像であってもよい。
【０２０８】
図３４は、第２の実施形態に適用可能な３次元復元モデルの作成処理を示す一例のフローチャートである。このフローチャートの各処理は、情報処理装置１００ｂにより実行される。また、撮像装置１ｂでは、既に、各撮像体２１1〜２１5により撮像された１０枚の半球画像が内蔵されるメモリに記憶されているものとする。
【０２０９】
ステップＳ１０で、画像取得部１１０は、撮像装置１ｂから、各撮像体２１1〜２１5により撮像された各半球画像を取得する。画像処理部１１１は、取得した各半球画像を撮像体２１1〜２１5毎に合成し、図３３に示したような、複数の視点から撮像された５枚の全天球画像３００1〜３００5を作成する。
【０２１０】
次のステップＳ１１で、３Ｄ情報生成部１２０は、ステップＳ１０で作成した全天球画像３００1〜３００5から１つを基準全天球画像（全天球画像３００1とする）として選択する。３Ｄ情報生成部１２０は、選択した基準全天球画像に対する、他の全天球画像３００2〜３００5の視差を、画像の全画素について計算する。
【０２１１】
ここで、第２の実施形態に適用可能な視差の計算手法の原理について説明する。撮像素子２００ａなどの画像センサにより撮像された撮像画像を用いた視差計算を行う上での基本的な原理は、三角測量を利用した方法である。図３５を用いて、三角測量について説明する。図３５において、カメラ４００ａおよび４００ｂは、それぞれレンズ４０１ａおよび４０１ｂと、撮像素子４０２ａおよび４０２ｂと、を含む。三角測量を用いて、カメラ４００ａおよび４００ｂを結ぶ線から対象４０３までの距離Ｄを、各撮像素子４０２ａおよび４０２ｂにより撮像された撮像画像内の撮像位置情報から算出する。
【０２１２】
図３５において、値ｆは、各レンズ４０１ａおよび４０１ｂの焦点距離を示す。また、レンズ４０１ａおよび４０１ｂの光軸中心を結ぶ線の長さを基線長Ｂとする。図３０の例では、撮像体２１1〜２１5それぞれの間の距離ｄが基線長Ｂに相当する。対象４０３の、撮像素子４０２ａおよび４０２ｂ上での各撮像位置ｉ1およびｉ2の差が視差ｑとなる。三角形の相似関係により、Ｄ：ｆ＝Ｂ：ｑが成り立つので、式（１０）により距離Ｄを算出することができる。
【０２１３】
【数１０】
2019175383.tif 000019
【０２１４】
式（１０）において、焦点距離ｆおよび基線長Ｂが既知であるので、視差ｑを算出することが処理の課題となる。視差ｑは、撮像位置ｉ1と撮像位置ｉ2との差分であるので、各撮像素子４０２ａおよび４０２ｂで撮像された各撮像画像における撮像位置の対応関係を検出することが、視差算出の根本課題となる。一般的には、この、複数の画像間での対応位置を求めるマッチング処理は、エピポーラ拘束に基づき、エピポーラ線上の各視差を探索していくことにより実現される。
【０２１５】
視差の探索処理は、様々な計算方法を用いて実現可能である。例えば、式（１１）に示される、相互相関係数（ＮＣＣ：Normalized  Cross-Correlation）を用いたブロックマッチング処理を適用することができる。これに限らず、ＳＧＭ(Semi  Global  Matching)による密度の高い視差計算処理を適用することもできる。視差の計算に何れの方法を用いるかは、最終的に生成される３次元復元モデルの用途に応じて適宜、選択することができる。なお、式（１１）において、値ｐは画素位置、値ｑは視差をそれぞれ表す。
【０２１６】
【数１１】
2019175383.tif 000020
【０２１７】
これらのコスト関数に基づいて、エピポーラ線上の各画素の対応関係を算出していき、最も類似していると考えられる算出結果を選択することになる。ＮＣＣすなわち式（１１）においては、数値Ｃ(ｐ，ｑ)NCCが最大値のコストを持つ画素位置を、対応点と見做すことができる。また、ＳＧＭにおいては、最小値のコストを持つ画素位置が、対応点と見做される。
【０２１８】
一例として、式（１１）のＮＣＣを用いて視差を算出する場合について、概略的に説明する。ブロックマッチング法は、参照画像内の任意の参照画素を中心としてＭ画素×Ｎ画素のブロックとして切り出される領域の画素値と、対象画像内の任意の対象画素を中心としてＭ画素×Ｎ画素のブロックとして切り出される領域の画素値と、を取得する。取得した画素値に基づき、参照画素を含む領域と、対象画素を含む領域との類似度を計算する。探索対象の画像内でＭ画素×Ｎ画素のブロックを移動させながら類似度を比較し、最も類似度が高くなる位置のブロックにおける対象画素を、参照画素に対応する対応画素とする。
【０２１９】
式（１１）において、値Ｉ(ｉ，ｊ)は、参照画像における画素ブロック内の画素の画素値を表し、値Ｔ(ｉ，ｊ)は、対象画像における画素ブロック内の画素値を表す。参照画像におけるＭ画素×Ｎ画素の画素ブロックに対応する、対象画像における画素ブロックを画素単位で移動させながら、式（１１）の計算を実行し、数値Ｃ(ｐ，ｑ)NCCが最大値となる画素位置を探索する。
【０２２０】
第２の実施形態に係る撮像装置１ｂを用いた場合においても、基本的には、上述の三角測量の原理を用いて視差を算出する。ここで、当該撮像装置１ｂは、５つの撮像体２１1〜２１5を含み、１度に５枚の全天球画像３００1〜３００5を撮像可能とされている。すなわち、第２の実施形態に係る撮像装置１ｂは、３以上の撮像画像を同時に撮像できる。そのため、第２の実施形態には、上述の三角測量の原理を拡張して適用させる。
【０２２１】
例えば、式（１２）に示されるように、基線長Ｂずつ離れたカメラ毎のコストの視差ｑの総和をコストとして、各カメラによる各撮像画像における対応点を検出することができる。
【０２２２】
【数１２】
2019175383.tif 000021
【０２２３】
一例として、第１、第２および第３のカメラが、エピポーラ線上に第１のカメラ、第２のカメラ、第３のカメラ、の順に並べられているものとする。この場合に、第１のカメラおよび第２のカメラの組、第１のカメラおよび第３のカメラの組、ならびに、第２のカメラおよび第３のカメラの組それぞれにおいて、上述したＮＣＣやＳＧＭなどによりコスト計算を行う。対象までの最終的な距離Ｄは、これら各カメラの組のそれぞれにより算出されたコストの総和計算を行い、その総和によるコストの最小値を求めることで算出できる。
【０２２４】
なお、ここで説明したマッチング処理は、図１５−１を用いて説明した、撮像位置の自動推定機能のおけるマッチング処理にも適用可能なものである。
【０２２５】
これに限らず、実施形態における視差の計算手法として、ＥＰＩ(Epipolar  Plane  Image)を用いたステレオ画像計測方法を適用することができる。例えば、撮像装置１ｂにおいて各撮像体２１1〜２１5により撮像された撮像画像に基づく全天球画像３００1〜３００5を、等速度運動するカメラにより撮像された同画像と見做して、ＥＰＩを作成することができる。ＥＰＩを用いることで、各全天球画像３００1〜３００5間の対応点の探索を、例えば上述した三角測量を用いた方法と比較して、容易に実行できる。
【０２２６】
一例として、撮像装置１ｂにおいて、例えば撮像体２１1を基準として、撮像体２１1と各撮像体２１2〜２１5との間の各距離ｄ1-2、ｄ1-3、ｄ1-4およびｄ1-5を算出する。算出結果に基づき、全天球画像３００1〜３００5の横、縦軸（ｘ，ｙ）と、距離Ｄ（＝０，距離ｄ1-2，…，ｄ1-5）と、の３次元からなる空間画像を作成する。この空間画像のｙ−Ｄ平面での断面像をＥＰＩとして作成する。
【０２２７】
上述のように作成したＥＰＩにおいては、元の各全天球画像３００1〜３００5内に存在する物体上の点は、単一の直線として表現される。この直線の傾きは、撮像装置１ｂから当該物体上の点までの距離に応じて変化する。したがって、ＥＰＩに含まれる直線を検出することで、各全天球画像３００1〜３００5間における対応点を決定することが可能である。また、直線の傾きにより、当該直線に対応する物体の撮像装置１ｂからの距離を算出できる。
【０２２８】
図３６および図３７を用いて、ＥＰＩの原理について説明する。図３６（ａ）は、それぞれ円筒画像である複数の画像４２０1、４２０2、…のセットを示している。図３６（ｂ）は、この画像４２０1、４２０2、…のセットから、平面４２１により切り出したＥＰＩ４２２を概略的に示している。図３６（ａ）の例では、奥行方向に、各画像４２０1、４２０2、…の撮影位置軸を取り、画像４２０1、４２０2、…のセットを重ねて、図３６（ａ）に示されるように、３次元データ化する。この３次元データ化した画像４２０1、４２０2、…のセットを、奥行方向に平行な平面４２１で切り出したものが、図３６（ｂ）に示されるＥＰＩ４２２となる。
【０２２９】
換言すれば、ＥＰＩ４２２は、各画像４２０1、４２０2、…からＸ座標が同一のラインを取り出し、取り出した各ラインを、それぞれが含まれる各画像４２０1、４２０2、…をＸ座標として並べて配置した画像である。
【０２３０】
図３７は、第２の実施形態に適用可能な、ＥＰＩの原理を示す図である。図３７（ａ）は、上述した図３６（ｂ）を模式化して示している。図３７（ａ）において、横軸ｕは、各画像４２０1、４２０2、…を重畳した奥行方向であって、視差を表し、縦軸ｖは、各画像４２０1、４２０2、…の縦軸に対応する。ＥＰＩ４２２は、撮像画像を基線長Ｂの方向に重畳した画像を意味する。
【０２３１】
この基線長Ｂの変化は、図３７（ｂ）における距離ΔＸで表される。なお、図３７（ｂ）において、位置Ｃ1およびＣ2は、例えば図８におけるレンズ４０１ａおよび４０１ｂの光学中心にそれぞれ対応する。また、位置ｕ1およびｕ2は、それぞれ位置Ｃ1およびＣ2を基準とした位置であって、図８における撮像位置ｉ1およびｉ2にそれぞれ対応する。
【０２３２】
このように基線長Ｂ方向に各画像４２０1、４２０2、…を並べていくと、各画像４２０1、４２０2、…の対応点の位置は、ＥＰＩ４２２上で、傾きｍを持つ直線、あるいは、曲線として表される。この傾きｍが、すなわち距離Ｄを算出する際に用いる視差ｑとなる。傾きｍは、距離Ｄが近いほど小さく、距離Ｄが遠いほど大きくなる。この距離Ｄに応じて異なる傾きｍを持つ直線または曲線を、特徴点軌跡と呼ぶ。
【０２３３】
傾きｍは、下記の式（１３）で表される。式（１３）において、値Δｕは、図３７（ｂ）における、それぞれ撮像点である位置ｕ1と位置ｕ2との差分であり、式（１４）にて算出できる。傾きｍから、式（１５）により距離Ｄが計算される。ここで、式（１３）〜式（１５）において、値ｖは、カメラの移動速度、値ｆは、カメラのフレームレートを示している。すなわち、式（１３）〜式（１５）は、カメラを等速度ｖで移動させながら、フレームレートｆで各全周囲画像を撮像した場合の計算式となる。
【０２３４】
【数１３】
2019175383.tif 000022
【０２３５】
【数１４】
2019175383.tif 000023
【０２３６】
【数１５】
2019175383.tif 000024
【０２３７】
なお、ＥＰＩを構成する画像として全周囲画像を用いた場合は、傾きｍが曲線に基づく値となる。図３８および図３９を用いて説明する。図３８において、球４１１1、４１１2、４１１3が、それぞれ撮像体２１の構造を有し、直線上に配置されたカメラ＃０、カメラ＃ｒｅｆおよびカメラ＃（ｎ−１）により撮像された全天球画像を示している。カメラ＃０とカメラ＃ｒｅｆとの間隔（基線長）は距離ｄ2、カメラ＃ｒｅｆとカメラ＃（ｎ−１）との間隔は距離ｄ1とされている。以下、球４１１1、４１１2、４１１3を、それぞれ全天球画像４１１1、４１１2、４１１3と呼ぶ。
【０２３８】
対象点Ｐの全天球画像４１１1上の撮像位置は、各カメラ＃０、＃ｒｅｆおよび＃（ｎ−１）が配置される直線に対して角度φn-1を有する位置となる。同様に、対象点Ｐの各全天球画像４１１2および４１１3上の撮像位置は、当該直線に対してそれぞれ角度φrefおよびφ0の角度を有する位置となる。
【０２３９】
図３９は、これらの角度φ0、φrefおよびφn-1を縦軸にプロットし、各カメラ＃０、＃ｒｅｆおよび＃（ｎ−１）の位置を横軸にプロットしたものである。図３９から分かるように、各全天球画像４１１1、４１１2および４１１3における撮像位置と、各カメラ＃０、＃ｒｅｆおよび＃（ｎ−１）の位置として示される特徴点軌跡は、直線にはならず、各点を結ぶ直線４１２1および４１２2に基づき近似した曲線４１３となる。
【０２４０】
全天球画像３００1〜３００5を利用して全周囲の視差ｑを計算する場合には、上述のように全天球画像３００1〜３００5から直接的に曲線４１３上の対応点を探索する方法を用いてもよいし、全天球画像３００1〜３００5をピンホールなどの投影系に変換し、変換した各画像に基づき対応点を探索する方法を用いてもよい。
【０２４１】
図３８の例では、全天球画像４１１1、４１１2、４１１3のうち全天球画像４１１2を参照画像（ｒｅｆ）とし、全天球画像４１１1を（ｎ−１）番目の対象画像、全天球画像４１１3を０番目の対象画像としている。参照画像である全天球画像４１１2をベースに、各全天球画像４１１1および４１１3との対応点は、視差ｑn-1およびｑ0で表される。この視差ｑn-1およびｑ0は、上述の式（１１）を例として、様々な既知の手法を利用して求めることができる。
【０２４２】
３次元復元モデルの作成にＥＰＩを利用することで、大量の全周囲画像を統一的に処理することが可能となる。また傾きｍを利用することで、点としての対応のみではない計算になるため、処理がロバストになる。
【０２４３】
図３４のフローチャートの説明に戻り、３Ｄ情報生成部１２０は、ステップＳ１１での視差計算の後、処理をステップＳ１２に移行する。ステップＳ１２で、３Ｄ情報生成部１２０は、ステップＳ１１で算出した視差を示す視差情報に対して、補正処理を施す。視差情報に対する補正処理としては、Manhattan-world仮説に基づく補正や、線分補正などを適用することができる。次のステップＳ１３で、３Ｄ情報生成部１２０は、ステップＳ１２で補正処理された視差情報を、３次元点群情報に変換する。次のステップＳ１４で、３Ｄ情報生成部１２０は、ステップＳ１３で視差情報が変換された３次元点群情報に対して、必要に応じてスムージング処理、メッシュ化処理などを施す。このステップＳ１４までの処理により、各全天球画像３００1〜３００5に基づく３次元復元モデルが生成される。
【０２４４】
なお、上述したステップＳ１１〜ステップＳ１４の処理は、オープンソースにて配布されるＳｆＭ(Structure-from-Motion)ソフトウェア、ＭＶＳ(Multi-View  Stereo)ソフトウェアなどを用いて実行可能である。情報処理装置１００ｂ上で動作される入力プログラムは、例えば、これらＳｆＭソフトウェア、ＭＶＳソフトウェアなどを含む。
【０２４５】
ここで、図３１を用いて説明したように、第２の実施形態に係る撮像装置１ｂは、各撮像体２１1〜２１5をＺ軸上に配置している。そのため、撮像装置１ｂから各被写体までの距離は、図４０に平面４０として示される、各撮像レンズ２０ａ1〜２０ａ5が整列する方向と直交する平面４０上において放射方向に優先的に算出されることになる。ここでいう優先とは、画角に対する３次元復元モデルの生成能力を示す。
【０２４６】
すなわち、平面４０上の各方向（図４０の放射方向）については、各撮像体２１1〜２１5による画角が、３６０°の全周を含むことができ、全周について距離の算出を行うことが可能である。一方、Ｚ軸方向については、各撮像体２１1〜２１5による画角（撮像範囲）の重複部分が大きくなる。そのため、Ｚ軸方向では、画角の１８０°近辺で、各撮像体２１1〜２１5により撮像された撮像画像に基づく全天球画像３００1〜３００5において視差が少なくなる。したがって、Ｚ軸を含む平面の方向には、３６０°全周にわたる距離算出が困難となる。
【０２４７】
ここで、図４１に例示されるように、大きな建物５０、５０、…などを含む大きな空間を３次元復元モデル作成の対象として考える。なお、図４１において、Ｘ軸、Ｙ軸およびＺ軸は、図３１で示したＸ軸、Ｙ軸およびＺ軸と一致している。この場合、全画角（３６０°）でのモデル化は、Ｘ−Ｙ軸で表される平面４０の方向になる。そのため、この平面４０に対して直交するＺ軸方向に、複数の撮像体２１1〜２１5を整列させて配置させることが好ましい。
【０２４８】
［第２の実施形態に係る撮像装置の信号処理に関する構成］
次に、第２の実施形態に係る撮像装置１ｂの信号処理に関する構成について説明する。図４２は、実施形態に係る撮像装置１ｂの一例の構成を示すブロック図である。なお、図４２において、上述した図３０と対応する部分には同一の符号を付して、詳細な説明を省略する。
【０２４９】
図４２において、撮像装置１ｂは、撮像素子２００ａ1、２００ａ2、…、２００ａ5、および、撮像素子２００ｂ1、２００ｂ2、…２００ｂ5と、駆動部２１０ａ1、２１０ａ2、…、２１０ａ5、および、駆動部２１０ｂ1、２１０ｂ2、…、２１０ｂ5と、バッファメモリ２１１ａ1、２１１ａ2、…、２１１ａ5、および、バッファメモリ２１１ｂ1、２１１ｂ2、…、２１１ｂ5と、を含む。
【０２５０】
これらのうち、撮像素子２００ａ1、２００ａ2、…、２００ａ5と、駆動部２１０ａ1、２１０ａ2、…、２１０ａ5と、バッファメモリ２１１ａ1、２１１ａ2、…、２１１ａ5と、は、それぞれ撮像レンズ２０ａ1、２０ａ2、…、２０ａ5に対応する構成であって、それぞれ撮像体２１1、２１2、…、２１5に含まれる。なお、図４２では、煩雑さを避けるため、撮像体２１1〜２１5のうち、撮像体２１1のみを示している。
【０２５１】
同様に、撮像素子２００ｂ1、２００ｂ2、…、２００ｂ5と、駆動部２１０ｂ1、２１０ｂ2、…、２１０ｂ5と、バッファメモリ２１１ｂ1、２１１ｂ2、…、２１１ｂ5と、は、それぞれ撮像レンズ２０ｂ1、２０ｂ2、…、２０ｂ5に対応する構成であって、それぞれ撮像体２１1、２１2、…、２１5に含まれる。
【０２５２】
撮像装置１ｂは、さらに、制御部２２０、メモリ２２１およびスイッチ（ＳＷ）２２２を含む。スイッチ２２２は、図３０に示したシャッタボタン３０に対応する。例えば、スイッチ２２２が閉状態で、シャッタボタン３０が操作された状態に対応する。
【０２５３】
撮像体２１1について説明する。撮像体２１1は、撮像素子２００ａ1、駆動部２１０ａ1およびバッファメモリ２１１ａ1と、撮像素子２００ｂ1、駆動部２１０ｂ1およびバッファメモリ２１１ｂ1と、を含む。
【０２５４】
駆動部２１０ａ1および撮像素子２００ａ1、ならびに、駆動部２１０ｂ1および撮像素子２００ｂ1は、図４を用いて説明した駆動部２１０ａおよび撮像素子２００ａ、ならびに、駆動部２１０ｂおよび撮像素子２００ｂと同等であるので、ここでの詳細な説明を省略する。
【０２５５】
バッファメモリ２１１ａ1は、少なくとも１フレーム分の撮像画像を記憶可能なメモリである。駆動部２１０ａ1から出力された撮像画像は、このバッファメモリ２１１ａ1に一時的に記憶される。
【０２５６】
なお、他の撮像体２１2〜２１5については、機能は撮像体２１1と同等であるため、ここでの説明を省略する。
【０２５７】
制御部２２０は、撮像装置１ｂの全体の動作を制御する。制御部２２０は、スイッチ２２２の開状態から閉状態への遷移を検知すると、トリガ信号を出力する。トリガ信号は、各駆動部２１０ａ1、２１０ａ2、…、２１０ａ5、および、各駆動部２１０ｂ1、２１０ｂ2、…、２１０ｂ5に同時に供給される。
【０２５８】
メモリ２２１は、トリガ信号の出力に応じた制御部２２０の制御に従い、各バッファメモリ２１１ａ1、２１１ａ2、…、２１１ａ5、および、各バッファメモリ２１１ｂ1、２１１ｂ2、…、２１１ｂ5から各撮像画像を読み出し、読み出した各撮像画像を記憶する。メモリ２２１に記憶された各撮像画像は、撮像装置１ｂと接続される情報処理装置１００ｂにより読み出すことができる。
【０２５９】
バッテリ２０２０は、例えばリチウムイオン二次電池といった二次電池であって、撮像装置１ｂ内部の電力供給が必要な各部に電力を供給する電力供給部である。なお、バッテリ２０２０は、二次電池に対する充放電の制御を行う充放電制御回路を含む。
【０２６０】
図４３は、第２の実施形態に係る撮像装置１ｂにおける制御部２２０およびメモリ２２１の一例の構成を示すブロック図である。なお、図４３において、上述した図４と共通する部分には同一の符号を付して、詳細な説明を省略する。
【０２６１】
図４３において、制御部２２０は、ＣＰＵ２０００と、ＲＯＭ２００１と、トリガＩ／Ｆ２００４と、スイッチ（ＳＷ）回路２００５と、データＩ／Ｆ２００６と、通信Ｉ／Ｆ２００７と、を含み、これら各部がバス２０１０に通信可能に接続される。また、メモリ２２１は、ＲＡＭ２００３と、メモリコントローラ２００２とを含み、バス２０１０に対して、メモリコントローラ２００２がさらに接続される。これらＣＰＵ２０００、ＲＯＭ２００１、メモリコントローラ２００２、ＲＡＭ２００３、トリガＩ／Ｆ２００４、スイッチ回路２００５、データＩ／Ｆ２００６、通信Ｉ／Ｆ２００７およびバス２０１０それぞれに対し、バッテリ２０２０からの電力が供給される。
【０２６２】
メモリコントローラ２００２は、ＣＰＵ２０００の指示に従い、ＲＡＭ２００３に対するデータの記憶および読み出しを制御する。また、メモリコントローラ２００２は、ＣＰＵ２０００の指示に従い、各バッファメモリ２１１ａ1、２１１ａ2、…、２１１ａ5、および、各バッファメモリ２１１ｂ1、２１１ｂ2、…、２１１ｂ5からの撮像画像（半球画像）の読み出しも制御する。
【０２６３】
スイッチ回路２００５は、スイッチ２２２の閉状態および開状態の間の遷移を検知して、検知結果をＣＰＵ２０００に渡す。ＣＰＵ２０００は、スイッチ回路２００５からスイッチ２２２が開状態から閉状態に遷移した旨の検知結果を受け取ると、トリガ信号を出力する。トリガ信号は、トリガＩ／Ｆ２００４を介して出力され、分岐して、各駆動部２１０ａ1、２１０ａ2、…、２１０ａ5、および、各駆動部２１０ｂ1、２１０ｂ2、…、２１０ｂ5にそれぞれ供給される。
【０２６４】
なお、ＣＰＵ２０００は、スイッチ回路２００５による検知結果に応じてトリガ信号を出力するように説明したが、これはこの例に限定されない。例えば、ＣＰＵ２０００は、データＩ／Ｆ２００６や通信Ｉ／Ｆ２００７を介して供給された信号に応じて、トリガ信号を出力してもよい。さらに、トリガＩ／Ｆ２００４がスイッチ回路２００５の検知結果に応じてトリガ信号を発生させて、各駆動部２１０ａ1、２１０ａ2、…、２１０ａ5、および、各駆動部２１０ｂ1、２１０ｂ2、…、２１０ｂ5に供給してもよい。
【０２６５】
このような構成において、制御部２２０は、スイッチ２２２の開状態から閉状態への遷移を検知すると、トリガ信号を生成、出力する。トリガ信号は、各駆動部２１０ａ1、２１０ａ2、…、２１０ａ5、および、各駆動部２１０ｂ1、２１０ｂ2、…、２１０ｂ5に同タイミングで供給される。各駆動部２１０ａ1、２１０ａ2、…、２１０ａ5、および、各駆動部２１０ｂ1、２１０ｂ2、…、２１０ｂ5は、供給されたトリガ信号に同期して、各撮像素子２００ａ1、２００ａ2、…、２００ａ5、および、各撮像素子２００ｂ1、２００ｂ2、…、２００ｂ5から電荷を読み出す。
【０２６６】
各駆動部２１０ａ1、２１０ａ2、…、２１０ａ5、および、各駆動部２１０ｂ1、２１０ｂ2、…、２１０ｂ5は、各撮像素子２００ａ1、２００ａ2、…、２００ａ5、および、各撮像素子２００ｂ1、２００ｂ2、…、２００ｂ5から読み出した電荷をそれぞれ撮像画像に変換し、変換された各撮像画像を各バッファメモリ２１１ａ1、２１１ａ2、…、２１１ａ5、および、各バッファメモリ２１１ｂ1、２１１ｂ2、…、２１１ｂ5に記憶する。
【０２６７】
制御部２２０は、トリガ信号の出力後の所定タイミングで、メモリ２２１に対して、各バッファメモリ２１１ａ1、２１１ａ2、…、２１１ａ5、および、各バッファメモリ２１１ｂ1、２１１ｂ2、…、２１１ｂ5からの撮像画像の読み出しを指示する。メモリ２２１において、メモリコントローラ２００２は、この指示に応じて、各バッファメモリ２１１ａ1、２１１ａ2、…、２１１ａ5、および、各バッファメモリ２１１ｂ1、２１１ｂ2、…、２１１ｂ5から各撮像画像を読み出し、読み出した各撮像画像をＲＡＭ２００３の所定領域に記憶する。
【０２６８】
情報処理装置１００ｂが例えばデータＩ／Ｆ２００６を介して撮像装置１ｂに接続される場合、情報処理装置１００ｂは、データＩ／Ｆ２００６を介して、ＲＡＭ２００３に記憶される各撮像画像（半球画像）の読み出しを要求する。ＣＰＵ２０００は、この要求に応じて、メモリコントローラ２００２に対してＲＡＭ２００３からの各撮像画像の読み出しを指示する。メモリコントローラ２００２は、この指示に応じてＲＡＭ２００３から各撮像画像を読み出して、読み出した各撮像画像を、データＩ／Ｆ２００６を介して情報処理装置１００ｂに送信する。情報処理装置１００ｂは、撮像装置１ｂから送信された各撮像画像に基づき、図３４のフローチャートによる処理を実行する。
【０２６９】
図４３は、第２の実施形態に係る撮像装置１ｂにおける制御部２２０およびメモリ２２１の一例の構成を示す。なお、図４３において、上述した図４と共通する部分には同一の符号を付して、詳細な説明を省略する。
【０２７０】
図４３において、制御部２２０は、ＣＰＵ２０００と、ＲＯＭ２００１と、トリガＩ／Ｆ２００４と、スイッチ（ＳＷ）回路２００５と、データＩ／Ｆ２００６と、通信Ｉ／Ｆ２００７と、を含み、これら各部がバス２０１０に通信可能に接続される。また、メモリ２２１は、ＲＡＭ２００３と、メモリコントローラ２００２とを含み、バス２０１０に対して、メモリコントローラ２００２がさらに接続される。これらＣＰＵ２０００、ＲＯＭ２００１、メモリコントローラ２００２、ＲＡＭ２００３、トリガＩ／Ｆ２００４、スイッチ回路２００５、データＩ／Ｆ２００６、通信Ｉ／Ｆ２００７およびバス２０１０それぞれに対し、バッテリ２０２０からの電力が供給される。
【０２７１】
メモリコントローラ２００２は、ＣＰＵ２０００の指示に従い、ＲＡＭ２００３に対するデータの記憶および読み出しを制御する。また、メモリコントローラ２００２は、ＣＰＵ２０００の指示に従い、各バッファメモリ２１１ａ1、２１１ａ2、…、２１１ａ5、および、各バッファメモリ２１１ｂ1、２１１ｂ2、…、２１１ｂ5からの撮像画像（半球画像）の読み出しも制御する。
【０２７２】
スイッチ回路２００５は、スイッチ２２２の閉状態および開状態の間の遷移を検知して、検知結果をＣＰＵ２０００に渡す。ＣＰＵ２０００は、スイッチ回路２００５からスイッチ２２２が開状態から閉状態に遷移した旨の検知結果を受け取ると、トリガ信号を出力する。トリガ信号は、トリガＩ／Ｆ２００４を介して出力され、分岐して、各駆動部２１０ａ1、２１０ａ2、…、２１０ａ5、および、各駆動部２１０ｂ1、２１０ｂ2、…、２１０ｂ5にそれぞれ供給される。
【０２７３】
なお、ＣＰＵ２０００は、スイッチ回路２００５による検知結果に応じてトリガ信号を出力するように説明したが、これはこの例に限定されない。例えば、ＣＰＵ２０００は、データＩ／Ｆ２００６や通信Ｉ／Ｆ２００７を介して供給された信号に応じて、トリガ信号を出力してもよい。さらに、トリガＩ／Ｆ２００４がスイッチ回路２００５の検知結果に応じてトリガ信号を発生させて、各駆動部２１０ａ1、２１０ａ2、…、２１０ａ5、および、各駆動部２１０ｂ1、２１０ｂ2、…、２１０ｂ5に供給してもよい。
【０２７４】
このような構成において、制御部２２０は、スイッチ２２２の開状態から閉状態への遷移を検知すると、トリガ信号を生成、出力する。トリガ信号は、各駆動部２１０ａ1、２１０ａ2、…、２１０ａ5、および、各駆動部２１０ｂ1、２１０ｂ2、…、２１０ｂ5に同タイミングで供給される。各駆動部２１０ａ1、２１０ａ2、…、２１０ａ5、および、各駆動部２１０ｂ1、２１０ｂ2、…、２１０ｂ5は、供給されたトリガ信号に同期して、各撮像素子２００ａ1、２００ａ2、…、２００ａ5、および、各撮像素子２００ｂ1、２００ｂ2、…、２００ｂ5から電荷を読み出す。
【０２７５】
各駆動部２１０ａ1、２１０ａ2、…、２１０ａ5、および、各駆動部２１０ｂ1、２１０ｂ2、…、２１０ｂ5は、各撮像素子２００ａ1、２００ａ2、…、２００ａ5、および、各撮像素子２００ｂ1、２００ｂ2、…、２００ｂ5から読み出した電荷をそれぞれ撮像画像に変換し、変換された各撮像画像を各バッファメモリ２１１ａ1、２１１ａ2、…、２１１ａ5、および、各バッファメモリ２１１ｂ1、２１１ｂ2、…、２１１ｂ5に記憶する。
【０２７６】
制御部２２０は、トリガ信号の出力後の所定タイミングで、メモリ２２１に対して、各バッファメモリ２１１ａ1、２１１ａ2、…、２１１ａ5、および、各バッファメモリ２１１ｂ1、２１１ｂ2、…、２１１ｂ5からの撮像画像の読み出しを指示する。メモリ２２１において、メモリコントローラ２００２は、この指示に応じて、各バッファメモリ２１１ａ1、２１１ａ2、…、２１１ａ5、および、各バッファメモリ２１１ｂ1、２１１ｂ2、…、２１１ｂ5から各撮像画像を読み出し、読み出した各撮像画像をＲＡＭ２００３の所定領域に記憶する。
【０２７７】
情報処理装置１００ｂが例えばデータＩ／Ｆ２００６を介して撮像装置１ｂに接続される場合、情報処理装置１００ｂは、データＩ／Ｆ２００６を介して、ＲＡＭ２００３に記憶される各撮像画像（半球画像）の読み出しを要求する。ＣＰＵ２０００は、この要求に応じて、メモリコントローラ２００２に対してＲＡＭ２００３からの各撮像画像の読み出しを指示する。メモリコントローラ２００２は、この指示に応じてＲＡＭ２００３から各撮像画像を読み出して、読み出した各撮像画像を、データＩ／Ｆ２００６を介して情報処理装置１００ｂに送信する。情報処理装置１００ｂは、撮像装置１ｂから送信された各撮像画像に基づき、図３４のフローチャートによる処理を実行する。
【０２７８】
なお、第２の実施形態に係る撮像装置１ｂにおいても、図５を用いて説明した第１の実施形態に係る撮像装置１ａと同様に、バッテリ２０２０および回路部２０３０は、筐体１０ｂの内部に設けられる。また、バッテリ２０２０および回路部２０３０のうち少なくともバッテリ２０２０は、接着剤やネジなどの固定手段により筐体１０ｂ内部に固定される。回路部２０３０は、少なくとも、上述した制御部２２０およびメモリ２２１の各要素を含む。制御部２２０およびメモリ２２１は、例えば１または複数の回路基板上に構成される。撮像装置１ｂは、バッテリ２０２０および回路部２０３０が、各撮像レンズ２０ａ1、２０ａ2、…、２０ａ5が整列して配置される列の延長上に配置される。
【０２７９】
なお、ここでは、バッテリ２０２０および回路部２０３０が当該位置に配置されるように説明したが、これはこの例に限定されず、例えば回路部２０３０が十分小型であれば、当該位置には、少なくともバッテリ２０２０のみが配置されていればよい。
【０２８０】
このようにバッテリ２０２０および回路部２０３０を配置することで、撮像装置１ｂの各撮像レンズ２０ａ1、２０ａ2、…、２０ａ5（および各撮像レンズ２０ｂ1、２０ｂ2、…、２０ｂ5）が配置される面（前面および背面）の横幅を細くすることができる。これにより、撮像装置１ｂの筐体１０ｂの一部が各撮像体２１1、２１2、…、２１5により撮像された各撮像画像に含まれることが抑制され、より高精度に視差を算出することが可能となる。また、同様の理由で、撮像装置１ｂの筐体１０ｂの横幅は、可能な限り細くすることが好ましい。これは、第１の実施形態に係る撮像装置１ａについても、同様である。
【０２８１】
［第２の実施形態に係るアノテーション入力方法］
次に、第２の実施形態に係るアノテーション入力方法について説明する。上述したように、情報処理装置１００ｂにおいてＵＩ部１１３は、撮像装置１ｂの５つの撮像体２１1〜２１5のうち１の撮像体（例えば撮像体２１1）により撮像された各半球画像に基づく全天球画像を用いて、アノテーションを入力するための画面を表示する。すなわち、ＵＩ部１１３は、当該全天球画像の一部の領域の画像を切り取り、切り取った画像を、例えば図２０に示す画像５０１０として画面５００に表示させる。
【０２８２】
このとき、ＵＩ部１１３は、３Ｄ情報生成部１２０から、図３４のフローチャートに従い生成された３次元点群情報を取得する。ＵＩ部１１３は、例えばメニューボタン５０５０に対する操作に応じて、画面５００の表示を、画像５０１０と、３次元点群情報とで切り換えることができる。ＵＩ部１１３は、３次元点群情報に含まれる各点を、例えば距離に応じて色分けして表示する。
【０２８３】
また、第２の実施形態においても、アノテーション入力処理は、上述した図１６のフローチャートに従って行われる。ここで、図１６のフローチャートにおけるステップＳ１０３の位置指定は、３次元点群情報に基づく３次元座標により行われる。
【０２８４】
図４４は、第２の実施形態に係る位置指定を説明するための図である。図４４（ａ）に示されるように、互いに直交するＸ軸、Ｙ軸およびＺ軸で表される３次元空間に対し、立体構造を持つオブジェクト７００1、７００2および７００3が配置され、これを撮像装置１ｂにて撮像した場合について考える。撮像装置１ｂの撮像により取得される各全天球画像に基づき生成される３次元点群情報は、例えば撮像位置からの、各オブジェクト７００1〜７００3の、撮像位置に向けた表面の各点における３次元情報を含む。
【０２８５】
図４４（ｂ）は、図４４（ａ）の状態を撮像装置１ｂの撮像体２１1にて撮像した全天球画像から一部を切り取った画像５０１０の例を示す。ＵＩ部１３は、この図４４（ｂ）に示す画像５０１０を画面５００に表示させる。ユーザは、この図４４（ｂ）に示す画像５０１０に対して、例えばマーカ６０２ａおよび６０２ｂに示されるように、オブジェクト７００1および７００2上の点に対して位置指定を行ったものとする。
【０２８６】
ここで、第２の実施形態では、各オブジェクト７００1〜７００3を含む、撮像装置１ｂにより撮像された空間の３次元点群情報を取得できる。そのため、位置指定は、図４４（ａ）にマーカ６０２ａ’および６０２ｂ’として示されるように、各オブジェクト７００1および７００2の３次元座標により示される位置に対して行われる。
【０２８７】
また、位置指定を３次元点群情報に基づく３次元座標により行うことで、例えば、上述の第１の実施形態の変形例で説明したような、位置を線あるいは多角形により指定する場合において、線の長さ、あるいは、多角形の面積を算出することが可能である。
【０２８８】
図４５は、第２の実施形態に係る、位置指定を線により行った例を示す図である。図４５は、図４４（ａ）と同様に、互いに直交するＸ軸、Ｙ軸およびＺ軸で表される３次元空間に対し、立体構造を持つオブジェクト７００4および７００5が配置されている。また、円柱形のオブジェクト７００4には、円柱の柱面に、柱面を周回する方向にひび６１０ａが観察される。直方体（四角柱）のオブジェクト７００5には、辺を跨いでひび６１０ｂが観察される。
【０２８９】
このように、奥行きを持つひび６１０ａおよび６１０ｂは、２次元の撮像画像から長さを算出することが困難である。例えば、上述した図２６の画像５０１０に含まれるひび６１０は、ひび６１０が存在する壁面が画像５０１０の面に対して平行である場合に限り、長さを計測できる。第２の実施形態では、これらオブジェクト７００4および７００5の３次元点群情報を取得するため、これら奥行きを持つひび６１０ａおよび６１０ｂの長さを容易に算出可能である。これは、多角形の面積や周囲長などの算出についても同様である。
【０２９０】
なお、上述の各実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。
【符号の説明】
【０２９１】
１ａ，１ｂ  撮像装置
４  建造物
６  サーバ
２０ａ，２０ａ1，２０ａ2，２０ａ3，２０ａ4，２０ａ5，２０ｂ，２０ｂ1，２０ｂ2，２０ｂ3，２０ｂ4，２０ｂ5  撮像レンズ
２１，２１1，２１2，２１3，２１4，２１5  撮像体
３０  シャッタボタン
１００ａ，１００ｂ  情報処理装置
１１０  画像取得部
１１１  画像処理部
１１２  付帯情報生成部
１１３  ＵＩ部
１１４  通信部
１１５  出力部
１２０  ３Ｄ情報生成部
２００ａ，２００ｂ，２００ａ1，２００ａ2，２００ａ5，２００ｂ1，２００ｂ2，２００ｂ5  撮像素子
２１０ａ，２１０ｂ，２１０ａ1，２１０ａ2，２１０ａ5，２１０ｂ1，２１０ｂ2，２１０ｂ5  駆動部
２１１ａ1，２１１ａ2，２１１ａ5，２１１ｂ1，２１１ｂ2，２１１ｂ5  バッファメモリ
３００1，３００2，３００3，３００4，３００5，５１０  全天球画像
５００  画面
５１１  領域
６００  アノテーション入力画面
６０１ａ，６０１ｂ，６０１ｃ  タブ
６０２，６０２’  マーカ
６１０，６１０ａ，６１０ｂ  ひび
２００２  メモリコントローラ
２００３  ＲＡＭ
２００４  トリガＩ／Ｆ
２００５  スイッチ回路
５０１０，５０１０ａ，５０１０ｂ，５０１０ｃ  画像
５０１１  見取り図画像
５０３０ａ，５０３０ｂ，５０３０ｃ，５０３０ｄ  タグ
５０４０1，５０４０2，５０４０3，５０４０10，５０４０11，５０４０12  ピンマーカ
６０１０  アノテーション入力領域
６０１０ａ，６０１０ｂ，６０１０ｃ，６０１０ｄ，６０１０ｅ  入力領域
【先行技術文献】
【特許文献】
【０２９２】
【特許文献１】特開２０１８−０１３８７８号公報
【図１】
2019175383.tif 000025
【図２】
2019175383.tif 000026
【図３】
2019175383.tif 000027
【図４】
2019175383.tif 000028
【図５】
2019175383.tif 000029
【図６】
2019175383.tif 000030
【図７】
2019175383.tif 000031
【図８】
2019175383.tif 000032
【図９】
2019175383.tif 000033
【図１０】
2019175383.tif 000034
【図１１】
2019175383.tif 000035
【図１２】
2019175383.tif 000036
【図１３】
2019175383.tif 000037
【図１４】
2019175383.tif 000038
【図１５−１】
2019175383.tif 000039
【図１５−２】
2019175383.tif 000040
【図１５−３】
2019175383.tif 000041
【図１６】
2019175383.tif 000042
【図１７】
2019175383.tif 000043
【図１８】
2019175383.tif 000044
【図１９】
2019175383.tif 000045
【図２０】
2019175383.tif 000046
【図２１】
2019175383.tif 000047
【図２２】
2019175383.tif 000048
【図２３】
2019175383.tif 000049
【図２４】
2019175383.tif 000050
【図２５】
2019175383.tif 000051
【図２６】
2019175383.tif 000052
【図２７】
2019175383.tif 000053
【図２８】
2019175383.tif 000054
【図２９】
2019175383.tif 000055
【図３０】
2019175383.tif 000056
【図３１】
2019175383.tif 000057
【図３２】
2019175383.tif 000058
【図３３】
2019175383.tif 000059
【図３４】
2019175383.tif 000060
【図３５】
2019175383.tif 000061
【図３６】
2019175383.tif 000062
【図３７】
2019175383.tif 000063
【図３８】
2019175383.tif 000064
【図３９】
2019175383.tif 000065
【図４０】
2019175383.tif 000066
【図４１】
2019175383.tif 000067
【図４２】
2019175383.tif 000068
【図４３】
2019175383.tif 000069
【図４４】
2019175383.tif 000070
【図４５】
2019175383.tif 000071