(57)【要約】【課題】利用者の視線方向から見やすくなるようなパノラマ画像を生成すること。【解決手段】情報処理装置２００は、異なる位置で撮影され、同一の特徴点を有する複数の画像を取得する。情報処理装置２００は、複数の画像に基づき生成されるパノラマ画像を見るユーザの視線方向を特定する。情報処理装置２００は、視線方向を基にして、複数の画像から特定の画像を選択し、選択した特定の画像により構成したパノラマ画像を表示させる。【選択図】図４
2018010599.tif 000002
【特許請求の範囲】
【請求項１】
異なる位置で撮影され、同一の特徴点を有する複数の画像を取得する取得部と、
前記複数の画像に基づき生成されるパノラマ画像を見るユーザの視線方向を特定する特定部と、
前記視線方向を基にして、前記複数の画像から特定の画像を選択し、選択した特定の画像により構成したパノラマ画像を表示させる表示制御部と
を有することを特徴とする情報処理装置。
【請求項２】
前記表示制御部は、視線方向および画像中心に基づく第１線分と、画像を撮影した位置および前記画像中心を通る第２線分とのなす角を特定する処理を、画像毎に実行し、画像毎のなす角に基づいて、前記特定の画像を選択することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記表示制御部は、前記なす角が所定の閾値未満となる画像を、前記特定の画像として選択することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記表示制御部は、前記なす角が所定の閾値未満となる画像から類似する複数の画像を抽出し、抽出した画像のうち、前記なす角が最小となる画像を、前記特定の画像として選択することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
コンピュータが実行するパノラマ画像表示方法であって、
異なる位置で撮影され、同一の特徴点を有する複数の画像を取得し、
前記複数の画像に基づき生成されるパノラマ画像を見るユーザの視線方向を特定し、
前記視線方向を基にして、前記複数の画像から特定の画像を選択し、選択した特定の画像により構成したパノラマ画像を表示させる
処理を実行することを特徴とするパノラマ画像表示方法。
【請求項６】
コンピュータに、
異なる位置で撮影され、同一の特徴点を有する複数の画像を取得し、
前記複数の画像に基づき生成されるパノラマ画像を見るユーザの視線方向を特定し、
前記視線方向を基にして、前記複数の画像から特定の画像を選択し、選択した特定の画像により構成したパノラマ画像を表示させる
処理を実行させることを特徴とするパノラマ画像表示プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置等に関する。
【背景技術】
【０００２】
現在、作業現場では、労働力不足、現場技術者の育成などの課題に直面しており、熟練者を各作業現場に配置することが難しい場合がある。この課題を解消するべく、熟練者が遠隔地の情報を把握しながら、遠隔地で作業する作業者に指示を行うことで、協調的に作業を行うシステムがある。また、カメラで撮影した実環境の映像に仮想世界情報を重畳し、作業者に情報提供を行うＡＲ（Augmented  Reality）技術と併用することで、作業を効率的に行うことができる。
【０００３】
図１６は、従来のシステムの一例を示す図である。図１６に示すシステムでは、一例として、作業現場の作業員２が、指示者１からの指示に基づき作業を行う場合を示している。作業員２は、作業員端末５０と、表示デバイス２１ｄと、カメラ２１ｃとを装着している。作業員端末５０は、表示デバイス２１ｄおよびカメラ２１ｃと無線通信等により接続されている。作業員２のカメラ２１ｃが捉えた２次元（２Ｄ）画像を含む画像フレーム２ｃは、作業員端末５０の無線ネットワーク通信機能により、指示者１の遠隔支援装置６０に送信される。例えば、画像フレーム２ｃの画像で表される範囲は、視野７ｄで示される。
【０００４】
遠隔支援装置６０は、指示者１によって操作される。遠隔支援装置６０は、遠隔地の作業員端末５０から送信される画像フレーム２ｃから３次元（３Ｄ）パノラマ画像４を生成して表示する。指示者１は、遠隔支援装置６０に表示された３次元パノラマ画像４から遠隔地の作業現場の状況を把握する。３次元パノラマ画像４は、画像フレーム２ｃを受信する度に更新される。
【０００５】
指示者１が、例えば、３次元パノラマ画像４内において指示したい箇所をクリックする。指示者１がクリックした画像フレーム２ｃ内の位置情報、指示内容２ｇ等を含む指示情報２ｆが、遠隔支援装置６０から作業員端末５０に送信される。作業員端末５０は、指示情報２ｆを受信すると、指示内容２ｇを、表示デバイス２１ｄに表示させる。作業員２は、表示デバイス２１ｄに表示された指示内容２ｇを参照して、作業を行う。
【０００６】
ここで、３次元パノラマ画像４を生成する従来処理の一例について説明する。従来技術は、画像フレーム２ｃを撮影したカメラ２１ｃの位置姿勢情報を、ＳＬＡＭ（Simultaneous  Localization  And  Mapping）技術等に基づいて算出する。従来技術は、カメラの位置姿勢情報と、事前に取得しておいたカメラ２１ｃの内部パラメータを用いて、フラスタム状の３次元画像描画オブジェクトを生成し、３次元画像描画オブジェクトの底辺に、画像フレーム２ｃをテクスチャマッピングする。そして、従来技術は、テクスチャマッピングした３次元画像描画オブジェクトを、カメラ２１ｃの位置姿勢情報に基づいて、３次元空間上に配置する。従来技術は、上記の処理を、繰り返し実行することで、３次元パノラマ画像４を生成する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１２−５３８９６号公報
【特許文献２】特開２００２−２０９２０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した従来技術では、利用者の視線方向から見やすくなるようなパノラマ画像を生成することができないという問題がある。
【０００９】
１つの側面では、本発明は、利用者の視線方向から見やすくなるようなパノラマ画像を生成することができる情報処理装置、パノラマ画像表示方法、パノラマ画像表示プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
第１の案では、情報処理装置は、取得部と、特定部と、表示制御部とを有する。取得部は、異なる位置で撮影され、同一の特徴点を有する複数の画像を取得する。特定部は、複数の画像に基づき生成されるパノラマ画像を見るユーザの視線方向を特定する。表示制御部は、視線方向を基にして、複数の画像から特定の画像を選択し、選択した特定の画像により構成したパノラマ画像を表示させる。
【発明の効果】
【００１１】
利用者の視線方向から見やすくなるようなパノラマ画像を生成することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、参考例の画像処理装置によって生成される３次元パノラマ画像の一例を示す図である。
【図２】図２は、作業員の動きによる撮影位置を説明するための図である。
【図３】図３は、利用者にとって見づらい３次元パノラマ画像の一例を示す図である。
【図４】図４は、本実施例に係るシステムの構成を示す図である。
【図５】図５は、本実施例に係る作業員端末の構成を示す機能ブロック図である。
【図６】図６は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。
【図７】図７は、管理テーブルのデータ構造の一例を示す図である。
【図８】図８は、リストのデータ構造の一例を示す図である。
【図９】図９は、パノラマ画像テーブルのデータ構造の一例を示す図である。
【図１０】図１０は、なす角を算出する処理を説明するための図である。
【図１１】図１１は、表示制御部の処理を説明するための図（１）である。
【図１２】図１２は、表示制御部の処理を説明するための図（２）である。
【図１３】図１３は、本実施例に係るシステムの処理手順の一例を示すフローチャートである。
【図１４】図１４は、３次元パノラマ画像生成処理の処理手順を示すフローチャートである。
【図１５】図１５は、情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【図１６】図１６は、従来のシステムの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下に、本願の開示する情報処理装置、パノラマ画像表示方法、パノラマ画像表示プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【００１４】
本実施例に係る情報処理装置の説明を行う前に、３次元パノラマ画像を生成する参考例について説明する。以下に説明する参考例は従来技術ではない。参考例として説明する画像処理装置は、カメラにより撮影された画像データから特徴点を抽出し、カメラの撮影位置から特徴点までの距離を算出する。画像処理装置は、各画像データをテクスチャマッピングした３次元画像描画オブジェクトを生成し、撮影位置から特徴点までの距離に合わせて、３次元画像描画オブジェクトを配置していくことで、３次元パノラマ画像を生成する。
【００１５】
図１は、参考例の画像処理装置によって生成される３次元パノラマ画像の一例を示す図である。図１に示す例では、撮影位置から特徴点までの距離に合わせて３次元描画オブジェクト１０−１，１０−２，１０−３，１０−４を配置することで、３次元パノラマ画像１０が生成されている。参考例の画像処理装置は、現場の作業員２があまり移動せず、その場で作業員２が、現場の環境を見回すような動作を行うことを想定している。このため、想定通りに作業員２が動作してくれれば、３次元パノラマ画像を適切に生成することができる。
【００１６】
しかし、作業員が想定通りに動作しない状況が発生する場合がある。例えば、点検現場等では配管の継ぎ手部分の錆やヒビを点検するなど、作業員２が特定の物体に対して様々な方向から覗き込むようにチェックを行う場合がある。図２は、作業員の動きによる撮影位置を説明するための図である。図２に示す例では、点検対象１５に対して、作業員２が、撮影位置１５ａ，１５ｂ，１５ｃ、その他の撮影において、点検対象１５を点検したものとする。
【００１７】
例えば、図２に示したように、作業員２が点検を行った場合には、図３に示すような３次元パノラマ画像が生成される。図３は、利用者にとって見づらい３次元パノラマ画像の一例を示す図である。図２のように作業員２が点検を行うと、同一の特徴点を含む３次元描画オブジェクトが交互に交差した状態で表示されるため、利用者にとって非常に見づらい３次元パノラマ画像が生成されてしまう。
【００１８】
次に、本実施例に係るシステムの構成について説明する。図４は、本実施例に係るシステムの構成を示す図である。図４に示すように、このシステムは、作業員端末１００と、情報処理装置２００とを有する。作業員端末１００と、情報処理装置２００とは、ネットワーク７０を介して相互に接続される。
【００１９】
作業員端末１００は、作業現場で作業する作業員が装備する端末装置である。図５は、本実施例に係る作業員端末の構成を示す機能ブロック図である。図５に示すように、この作業員端末１００は、通信部１１０と、カメラ１２０と、表示デバイス１３０と、記憶部１４０と、制御部１５０とを有する。
【００２０】
通信部１１０は、ネットワーク７０を介して、情報処理装置２００とデータ通信を実行する処理部である。通信部１１０は、例えば、通信装置に対応する。後述する制御部１５０は、通信部１１０を介して、情報処理装置２００と情報をやり取りする。
【００２１】
カメラ１２０は、作業員が装着するカメラである。カメラ１２０は、無線通信等によって、作業員端末１００に接続される。カメラ１２０は、ＨＭＣ（Head  Mounted  Camera）であり、ウェアラブルなＣＣＤ（Charge  Coupled  Device）等の小型カメラである。カメラ１２０は、撮影範囲の画像を撮影し、撮影した画像の情報を、作業員端末１００に出力する。
【００２２】
表示デバイス１３０は、制御部１５０から出力される情報を表示する表示装置である。表示デバイス１３０は、例えば、ＨＭＤ（Head  Mounted  Display）であり、ウェアラブルな音声の入出力可能な表示装置である。例えば、表示デバイス１３０は、情報処理装置２００から送信される指示者による指示情報等を表示する。
【００２３】
記憶部１４０は、特徴点マップ情報１４１と、位置姿勢情報１４２と、画像情報１４３とを有する。記憶部１４０は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子や、ＨＤＤ（Hard  Disk  Drive）などの記憶装置に対応する。
【００２４】
特徴点マップ情報１４１は、カメラ１２０によって撮影された画像情報１４３に含まれる複数の特徴点と、各特徴点の３次元座標とを対応付けた情報である。
【００２５】
位置姿勢情報１４２は、カメラ１２０が画像情報１４３を撮影したタイミングにおけるカメラ１２０の位置および姿勢を示す情報である。
【００２６】
画像情報１４３は、カメラ１２０によって撮影される画像の情報である。
【００２７】
制御部１５０は、取得部１５１と、送信部１５２と、表示デバイス制御部１５３とを有する。制御部１５０は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）や、ＦＰＧＡ（Field  Programmable  Gate  Array）などの集積装置に対応する。また、制御部１５０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等の電子回路に対応する。
【００２８】
取得部１５１は、カメラ１２０によって撮影された画像情報に含まれる被写体の特徴点の情報と、カメラ１２０の位置姿勢情報とを取得する処理部である。取得部１５１は、被写体の特徴点の情報を、特徴点マップ情報１４１に登録する。取得部１５１は、カメラ１２０の位置姿勢情報を、位置姿勢情報１４２として、記憶部１４０に格納する。また、取得部１５１は、カメラ１２０によって撮影された画像情報を、画像情報１４３として、記憶部１４０に登録する。
【００２９】
取得部１５１が、特徴点の情報を算出する処理の一例について説明する。取得部１５１は、カメラ１２０から画像情報を取得し、画像情報から特徴点を抽出する。例えば、取得部１５１は、画像情報に対してエッジ検出処理を実行することで、画像情報から特徴点を抽出する。
【００３０】
取得部１５１は、時刻Ｔ１においてカメラ１２０により撮影された第１画像情報の特徴点と、時刻Ｔ２においてカメラ１２０により撮影された第２画像情報の特徴点とを比較して、同一の特徴点を対応付ける。例えば、取得部１５１は、特徴点の特徴量を比較して、特徴量の差分が最小となる特徴点の組を、同一の特徴点と判定する。特徴点の特徴量は、特徴点周辺の輝度分布、エッジ強度等に対応する。
【００３１】
取得部１５１は、第１画像情報および第２画像情報に含まれる同一の特徴点の座標と、ステレオマッチングの原理に基づいて、特徴点の３次元座標を算出する。取得部１５１は、各特徴点について、上記処理を繰り返し実行することで、各特徴点の３次元座標を算出することで、特徴点の情報を取得する。
【００３２】
取得部１５１が、カメラ１２０の位置姿勢情報を算出する処理の一例について説明する。取得部１５１は、単眼ＳＬＡＭ機能によって、カメラの位置姿勢情報を推定すればよい。例えば、取得部１５１は、特徴点マップ情報１４１の各特徴点の３次元座標を、変換テーブルに基づき、２次元座標に変換することで、各特徴点を、現在のカメラ１２０により撮影された画像情報に投影する。変換テーブルは、カメラ１２０の位置姿勢情報に応じて、特徴点の３次元座標から求められる２次元座標が異なる。
【００３３】
取得部１５１は、同一の特徴点について、画像情報上の特徴点と、投影された特徴点との誤差が最小となる、カメラ１２０の位置姿勢情報を探索する。取得部１５１は、誤差が最小となる位置姿勢情報を、現在のカメラ１２０の位置姿勢情報として取得する。
【００３４】
送信部１５２は、記憶部１４０に格納される特徴点マップ情報１４１、位置姿勢情報１４２、画像情報１４３を含む画像フレームを、情報処理装置２００に送信する処理部である。例えば、送信部１５２は、画像情報１４３が更新され、更新された画像情報１４３を基に、位置姿勢情報１４２が更新される度に、画像フレームを、情報処理装置２００に送信する。なお、送信部１５２は、画像フレームに、カメラ１２０の内部パラメータの情報を格納しても良い。
【００３５】
表示デバイス制御部１５３は、情報処理装置２００から指示情報を受信した場合に、受信した指示情報を、表示デバイス１３０に表示させる処理部である。
【００３６】
情報処理装置２００は、作業員端末１００から画像フレームを受信して、３次元パノラマ画像を生成する装置である。情報処理装置２００を使用する指示者は、３次元パノラマ画像等を参照することで、現場の状況を把握する。
【００３７】
図６は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。図６に示すように、この情報処理装置２００は、通信部２１０と、入力部２２０と、表示デバイス２３０と、記憶部２４０と、制御部２５０とを有する。
【００３８】
通信部２１０は、ネットワーク７０を介して、作業員端末１００とデータ通信を実行する処理部である。通信部２１０は、例えば、通信装置に対応する。後述する制御部２５０は、通信部２１０を介して、作業員端末１００と情報をやり取りする。
【００３９】
入力部２２０は、情報処理装置２００に各種の情報を入力するための入力装置である。入力部２２０は、例えば、キーボードやマウス、タッチパネル等に対応する。指示者は、入力部２２０を操作して、各種の指示情報を入力する。また、指示者は、３次元パノラマ画像を見る場合に、入力部２２０を操作して、指示者の視線方向を指示する。
【００４０】
表示デバイス２３０は、制御部２５０から出力される情報を表示する表示装置である。例えば、表示デバイス２３０は、制御部２５０から出力される３次元パノラマ画像の情報を表示する。表示デバイス２３０は、例えば、液晶ディスプレイ、タッチパネル等に対応する。
【００４１】
記憶部２４０は、管理テーブル２４１と、リスト２４２と、パノラマ画像テーブル２４３とを有する。記憶部２４０は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。
【００４２】
管理テーブル２４１は、作業員端末１００から送信される画像フレームを格納するテーブルである。上記のように、画像フレームには、特徴点マップ情報１４１、位置姿勢情報１４２、画像情報１４３が含まれる。
【００４３】
図７は、管理テーブルのデータ構造の一例を示す図である。図７に示すように、この管理テーブル２４１は、レコード番号と、特徴点マップ情報と、位置姿勢情報と、画像情報とを対応付けて記憶する。レコード番号は、管理テーブル２４１の各レコードを一意に識別する情報である。特徴点マップ情報、位置姿勢情報、画像情報に関する説明は、上記の説明と同様である。なお、同一の画像フレームに含まれる特徴点マップ情報、位置姿勢情報、画像情報は、同一のレコード番号に対応付けられて、管理テーブル２４１に格納される。
【００４４】
リスト２４２は、３次元パノラマ画像に用いる画像情報と非表示にする画像情報とを区別する場合に利用する情報である。図８は、リストのデータ構造の一例を示す図である。図８に示すように、このリスト２４２は、レコード番号と、なす角と、非表示フラグとを対応付ける。レコード番号は、管理テーブル２４１のレコードと対応付けるための番号である。なす角に関する説明は後述する。非表示フラグは、対応する画像情報を非表示にするか否かを示す情報である。例えば、非表示フラグが「オフ」であれば、レコード番号に対応する画像情報を表示することを示す。非表示フラグが「オン」であれば、レコード番号に対応する画像情報を表示しないことを示す。
【００４５】
パノラマ画像テーブル２４３は、３次元パノラマ画像を構成する複数の３次元画像描画オブジェクトの情報を保持するテーブルである。図９は、パノラマ画像テーブルのデータ構造の一例を示す図である。図９に示すように、このパノラマ画像テーブル２４３は、識別番号と、レコード番号と、３次元画像描画オブジェクトとを対応付ける。識別番号は、３次元画像描画オブジェクトを一意に識別する情報である。レコード番号は、管理テーブル２４１のレコードと対応付けるための番号である。３次元画像描画オブジェクトは、３次元パノラマ画像を生成する場合に、配置される情報である。
【００４６】
例えば、３次元画像描画オブジェクトＡ１６は、管理テーブル２４１のレコード番号「Ｒ１００１」のレコードに基づき生成される。３次元画像描画オブジェクトＡ２６は、管理テーブル２４１のレコード番号「Ｒ１００２」のレコードに基づき生成される。３次元画像描画オブジェクトＡ３６は、管理テーブル２４１のレコード番号「Ｒ１００３」のレコードに基づき生成される。ここでは図示を省略するが、その他の３次元画像描画オブジェクトも、同様に、管理テーブル２４１のレコードに対応付けられる。
【００４７】
制御部２５０は、取得部２５１と、特定部２５２と、表示制御部２５３と、指示情報送信部２５４とを有する。制御部２５０は、ＡＳＩＣや、ＦＰＧＡなどの集積装置に対応する。また、制御部２５０は、例えば、ＣＰＵやＭＰＵ等の電子回路に対応する。
【００４８】
取得部２５１は、作業員端末１００から画像フレームを受信する処理部である。取得部２５１は、画像フレームを受信する度に、受信した画像フレームに含まれる特徴点マップ情報、位置姿勢情報、画像情報を、レコード番号に対応付けて、管理テーブル２４１に格納する。
【００４９】
特定部２５２は、３次元パノラマ画像を見る指示者の視線方向を特定する処理部である。特定部２５２は、特定した視線方向の情報を、表示制御部２５３に出力する。例えば、特定部２５２は、入力部２２０から指示者の視線方向の指示を受け付けることで、指示者の視線方向を特定する。なお、特定部２５２は、他の技術を利用して、指示者の視線方向を特定しても良い。例えば、指示者が加速度・角速度センサ等を備えたヘッドマウントディスプレイを装着し、特定部２５２は、加速度・角速度センサから得られる情報を基にして、指示者の頭の動き・視線方向を特定しても良い。
【００５０】
表示制御部２５３は、視線方向の情報を基にして、管理テーブル２４１の複数の画像情報から特定の画像情報を選択し、選択した特定の画像情報により構成した３次元パノラマ画像を表示デバイス２３０に表示させる処理部である。以下において、表示制御部２５３の処理について具体的に説明する。
【００５１】
表示制御部２５３は、管理テーブル２４１から、レコード番号によって対応付けられる位置姿勢情報および画像情報を取得する。表示制御部２５３は、位置姿勢情報、画像情報、視線方向の情報を基にして、なす角を算出する。以下の説明では、表示制御部２５３が、管理テーブル２４１から取得する画像情報を、適宜、キーフレーム（Keyframe）と表記する。
【００５２】
図１０は、なす角を算出する処理を説明するための図である。図１０において、なす角θは、第１線分８０ａと第２線分８０ｂとのなす角である。第１線分８０ａは、指示者の視点８６とキーフレーム９０ａの画像中心９０ｂとを通る直線である。キーフレーム９０ａは、特徴点マップ情報に基づき、仮想空間上に配置されている。
【００５３】
第１線分８０ａは、視線方向の情報と、画像中心９０ｂとを基に特定される。第２線分８０ｂは、画像中心９０ｂとカメラ１２０の位置９０ｃとを通る直線である。位置９０ｃは、キーフレーム９０ａを撮影した時点におけるカメラ１２０の位置姿勢情報により特定される。第２線分８０ｂは、画像中心９０ｂを通る、キーフレーム９０ａの法線に対応する。
【００５４】
表示制御部２５３は、各キーフレームに対して、なす角を算出する処理を繰り返し実行する。表示制御部２５３は、キーフレームに対応するレコード番号と、なす角とを対応付け、なす角の小さいものから昇順にソートすることで、リスト２４２を生成する。各レコード番号に対応する非表示フラグの初期値を「オフ」とする。
【００５５】
続いて、表示制御部２５３は、下記の処理を実行することで、キーフレームに対応するレコード番号の非表示フラグを「オン」にするか「オフ」にするかを判定し、非表示フラグを更新する。非表示フラグが「オフ」であれば、該当するキーフレームは、３次元パノラマ画像を生成する場合に利用される。一方、非表示フラグが「オン」であれば、該当するキーフレームは、３次元パノラマ画像を生成する場合に利用されない。
【００５６】
図１１および図１２は、表示制御部の処理を説明するための図である。まず、表示制御部２５３は、上記のようにキーフレーム毎になす角を算出し、各キーフレームの内、なす角が所定の閾値以上であるキーフレームに対応する非表示フラグを「オン」に設定する。所定の閾値を９０度とする。
【００５７】
図１１のステップＳ１０について説明する。ここでは一例として、キーフレーム１１−１，１１−２，１１−３，１１−４を用いて説明する。例えば、キーフレーム１１−１〜１１−４のうち、キーフレーム１１−１のなす角θ１１−１が、閾値以上であるとする。この場合には、表示制御部２５３は、キーフレーム１１−１のレコード番号に対応する非表示フラグを「オン」に設定する。
【００５８】
図１２のステップＳ１１について説明する。上記のように、表示制御部２５３が、キーフレーム１１−１のレコード番号に対応する非表示フラグを「オン」に設定することで、３次元パノラマ画像を構成するキーフレームから、キーフレーム１１−１が取り除かれる。
【００５９】
続いて、表示制御部２５３は、表示フラグが「オフ」となる各キーフレームのうち、画像の特徴が類似するキーフレームを選択する。表示制御部２５３は、画像の特徴が類似するキーフレームが複数存在する場合には、画像の特徴が類似するキーフレームのうち、最もなす角が小さいキーフレームの非表示フラグを「オフ」に設定し、他のキーフレームの非表示フラグを「オン」に設定する。
【００６０】
図１２のステップＳ１２について説明する。ここでは一例として、キーフレーム１１−２〜１１−４のなす角を、所定の閾値未満とする。また、キーフレーム１１−３の画像特徴と、キーフレーム１１−４の画像特徴とが類似しているものとする。表示制御部２５３は、キーフレーム１１−３のなす角θ１１−２と、キーフレーム１１−４のなす角θ１１−４とを比較する。表示制御部２５３は、最もなす角が小さいキーフレーム１１−３の非表示フラグを「オフ」に設定し、キーフレーム１１−４の非表示フラグを「オン」に設定する。
【００６１】
図１２のステップＳ１３について説明する。上記のように、表示制御部２５３が、キーフレーム１１−４のレコード番号に対応する非表示フラグを「オン」に設定することで、３次元パノラマ画像を構成するキーフレームから、キーフレーム１１−４が取り除かれる。
【００６２】
ここで、表示制御部２５３が、画像特徴の類似するキーフレームの組を判定する処理の一例について説明する。ＳＬＡＭ技術でキーフレームを取得する場合には、”FAST”，”AGAST”，”ORB”，”BRISK”，”GFTT”，”AKAZE”，”MSER”など様々な画像特徴抽出方法を使ってキーフレーム上の各画素に対して画像特徴を抽出する。表示制御部２５３は、２枚のキーフレームの画像特徴を比較し、同一の特徴点か否かを判定することで共通の画像特徴を持つ特徴点を特定する。
【００６３】
表示制御部２５３は、画像の類似度の指標を示すＳＳＯを式（１）に基づき算出する。
【００６４】
ＳＳＯ＝共通の画像特徴点の数／（第１のキーフレームの画像特徴点の数＋第２のキーフレームの画像特徴点の数−共通の画像特徴点の数）・・・（１）
【００６５】
例えば、第１のキーフレームと第２のキーフレームとが完全に同じ画像である場合には、ＳＳＯの値は「１」となる。第１のキーフレームと第２のキーフレームとが全く異なる画像である場合には、ＳＳＯの値は「０」となる。表示制御部２５３は、ＳＳＯの値が閾値Ｔ以上である場合に、第１のキーフレームと、第２のキーフレームとが類似するキーフレームの組であると判定する。
【００６６】
表示制御部２５３は、なす角が所定の閾値未満となる各キーフレームに対して、上記処理を繰り返し実行し、類似するキーフレームの組を判定する。
【００６７】
続いて、表示制御部２５３が、リスト２４２において非表示フラグが「オフ」となる画像情報を用いて３次元パノラマ画像を生成する処理について説明する。非表示フラグが「オフ」となる画像情報は、リスト２４２の非表示フラグが「オフ」となるレコード番号をキーにして特定される。例えば、図８において、レコード番号「Ｒ１００１」の非表示フラグが「オフ」となっているため、図７におけるレコード番号「Ｒ１００１」の画像情報は、３次元パノラマ画像の生成に用いられる。
【００６８】
表示制御部２５３は、フラスタム状の基準オブジェクトを生成し、基準オブジェクトの底面に、非表示フラグが「オフ」となる画像情報をテクスチャマッピングすることで、３次元画像描画オブジェクトを生成し、パノラマ画像テーブル２４３に格納する。基準オブジェクトの形状は、予め設定されているものとする。表示制御部２５３は、非表示フラグが「オフ」となる全ての画像情報について、上記処理を繰り返し実行する。
【００６９】
表示制御部２５３は、パノラマ画像テーブル２４３の各３次元画像描画オブジェクトを、位置姿勢情報を基にして配置していくことで、３次元パノラマ画像を生成する。表示制御部２５３は、生成した３次元パノラマ画像の情報を、表示デバイス２３０に出力して、表示させる。
【００７０】
指示情報送信部２５４は、入力部２２０等を介して指示者に入力された指示情報を、作業員端末１００に送信する処理部である。
【００７１】
次に、本実施例に係るシステムの処理手順の一例について説明する。図１３は、本実施例に係るシステムの処理手順の一例を示すフローチャートである。図１３に示すように、作業員端末１００は、画像フレームを情報処理装置２００に送信する（ステップＳ１０１）。情報処理装置２００は、作業員端末１００から画像フレームを受信する（ステップＳ１０２）。
【００７２】
情報処理装置２００は、３次元パノラマ画像生成処理を実行する（ステップＳ１０３）。情報処理装置２００は、３次元パノラマ画像を表示する（ステップＳ１０４）。情報処理装置２００は、指示者による指示情報を受け付ける（ステップＳ１０５）。
【００７３】
情報処理装置２００は、指示情報を作業員端末１００に送信する（ステップＳ１０６）。作業員端末１００は、指示情報を情報処理装置２００から受信し（ステップＳ１０７）、受信した指示情報を作業員に表示する（ステップＳ１０８）。
【００７４】
続いて、図１３のステップＳ１０３で説明した３次元パノラマ画像生成処理の処理手順の一例について説明する。図１４は、３次元パノラマ画像生成処理の処理手順を示すフローチャートである。図１４に示すように、情報処理装置２００の取得部２５１は、作業員端末１００から画像フレームを取得する（ステップＳ２０１）。
【００７５】
情報処理装置２００の特定部２５２は、指示者の視線方向を特定する（ステップＳ２０２）。情報処理装置２００の表示制御部２５３は、指示者の視線方向に基づき、第１線分を特定する（ステップＳ２０３）。表示制御部２５３は、各キーフレームについて、第２線分を特定する（ステップＳ２０４）。
【００７６】
表示制御部２５３は、第１線分と第２線分とのなす角をそれぞれ算出する（ステップＳ２０５）。表示制御部２５３は、なす角θが０度に近い順に、リスト２４２を生成する（ステップＳ２０６）。表示制御部２５３は、第１線分とのなす角θが閾値以上となる第２線分を特定し、この第２線分に対応するキーフレームの非表示フラグを「オン」に設定する（ステップＳ２０７）。
【００７７】
表示制御部２５３は、リスト２４２の選択対象となるレコードの内、最上位のレコードに対応するキーフレームと画像特徴が類似したキーフレームのレコードの非表示フラグを「オン」に設定する（ステップＳ２０８）。ステップＳ２０８において、最上位のレコードに対応するキーフレームは、リスト２４２の最上位のレコード番号に対応する、画像情報を示す。画面特徴が類似したキーフレームは、リスト２４２の最上位のレコード番号に対応する、画像情報と画面特徴が類似した画像情報を示す。
【００７８】
表示制御部２５３は、リスト２４２の選択対象となるレコードの内、最上位のレコードと、非表示フラグが「オン」となったレコードをリスト２４２の選択対象から除外する（ステップＳ２０９）。
【００７９】
表示制御部２５３は、リスト２４２に選択対象のレコードが存在するか否かを判定する（ステップＳ２１０）。表示制御部２５３は、リスト２４２に選択対象のレコードが存在する場合には（ステップＳ２１０，Ｙｅｓ）、ステップＳ２０８に移行する。
【００８０】
一方、表示制御部２５３は、リスト２４２に選択対象のレコードが存在しない場合には（ステップＳ２１０，Ｎｏ）、３次元パノラマ画像を生成する（ステップＳ２１１）。
【００８１】
次に、本実施例に係る情報処理装置２００の効果について説明する。情報処理装置２００は、カメラ１２０の撮影位置に応じて、３次元パノラマ画像を生成する場合に、指示者の視線方向を基にして、類似する複数の画像情報から適切な画像情報以外を削除して、３次元パノラマ画像を生成する。これにより、指示者にとって見やすい３次元パノラマ画像を生成することができる。例えば、情報処理装置２００は、類似する複数の画像情報が存在している場合に、利用者の視線方向に基づき、より利用者に対して正面を向いている画面情報を残すように処理を行うことで、見やすい３次元パノラマ画像の生成を可能にする。
【００８２】
情報処理装置２００は、視線方向および画像中心に基づく第１線分と、画像を撮影した位置および画像中心を通る第２線分とのなす角を特定する処理を、画像情報毎に実行し、なす角が所定の閾値未満となる画像を、特定の画像として選択する。このため、利用者の方向を向いている画像情報を精度良く選択することができる。
【００８３】
情報処理装置２００は、なす角が所定の閾値未満となる画像から類似する複数の画像を抽出し、抽出した画像のうち、なす角が最小となる画像を、特定の画像として選択する。このため、方向が異なる類似した複数の画像情報が密集している場合に、密集している画像情報から、利用者にたいしてより正面を向いている画像情報を残して、３次元パノラマ画像を生成することができる。例えば、現場の作業員が、特定の物体に対して様々な方向から覗き込むようにチェックを行う場合でも、指示者によって見やすい３次元パノラマ画像を生成することができる。
【００８４】
次に、上記実施例に示した情報処理装置２００と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図１５は、情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【００８５】
図１５に示すように、コンピュータ３００は、各種演算処理を実行するＣＰＵ３０１と、ユーザからのデータの入力を受け付ける入力装置３０２と、ディスプレイ３０３とを有する。また、コンピュータ３００は、記憶媒体からプログラム等を読み取る読み取り装置３０４と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインタフェース装置３０５とを有する。また、コンピュータ３００は、各種情報を一時記憶するＲＡＭ３０６と、ハードディスク装置３０７とを有する。そして、各装置３０１〜３０７は、バス３０８に接続される。
【００８６】
ハードディスク装置３０７は、取得プログラム３０７ａ、特定プログラム３０７ｂ、表示制御プログラム３０７ｃを有する。ＣＰＵ３０１は、取得プログラム３０７ａ、特定プログラム３０７ｂ、表示制御プログラム３０７ｃを読み出してＲＡＭ３０６に展開する。
【００８７】
取得プログラム３０７ａは、取得プロセス３０６ａとして機能する。特定プログラム３０７ｂは、特定プロセス３０６ｂとして機能する。表示制御プログラム３０７ｃは、表示制御プロセス３０６ｃとして機能する。
【００８８】
取得プロセス３０６ａの処理は、取得部２５１の処理に対応する。特定プロセス３０６ｂの処理は、特定部２５２の処理に対応する。表示制御プロセス３０６ｃの処理は、表示制御部２５３の処理に対応する。
【００８９】
なお、各プログラム３０７ａ〜３０７ｃについては、必ずしも最初からハードディスク装置３０７に記憶させておかなくても良い。例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ３００が各プログラム３０７ａ〜３０７ｃを読み出して実行するようにしてもよい。
【００９０】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００９１】
（付記１）異なる位置で撮影され、同一の特徴点を有する複数の画像を取得する取得部と、
前記複数の画像に基づき生成されるパノラマ画像を見るユーザの視線方向を特定する特定部と、
前記視線方向を基にして、前記複数の画像から特定の画像を選択し、選択した特定の画像により構成したパノラマ画像を表示させる表示制御部と
を有することを特徴とする情報処理装置。
【００９２】
（付記２）前記表示制御部は、視線方向および画像中心に基づく第１線分と、画像を撮影した位置および前記画像中心を通る第２線分とのなす角を特定する処理を、画像毎に実行し、画像毎のなす角に基づいて、前記特定の画像を選択することを特徴とする付記１に記載の情報処理装置。
【００９３】
（付記３）前記表示制御部は、前記なす角が所定の閾値未満となる画像を、前記特定の画像として選択することを特徴とする付記２に記載の情報処理装置。
【００９４】
（付記４）前記表示制御部は、前記なす角が所定の閾値未満となる画像から類似する複数の画像を抽出し、抽出した画像のうち、前記なす角が最小となる画像を、前記特定の画像として選択することを特徴とする付記３に記載の情報処理装置。
【００９５】
（付記５）コンピュータが実行するパノラマ画像表示方法であって、
異なる位置で撮影され、同一の特徴点を有する複数の画像を取得し、
前記複数の画像に基づき生成されるパノラマ画像を見るユーザの視線方向を特定し、
前記視線方向を基にして、前記複数の画像から特定の画像を選択し、選択した特定の画像により構成したパノラマ画像を表示させる
処理を実行することを特徴とするパノラマ画像表示方法。
【００９６】
（付記６）前記選択する処理は、視線方向および画像中心に基づく第１線分と、画像を撮影した位置および前記画像中心を通る第２線分とのなす角を特定する処理を、画像毎に実行し、画像毎のなす角に基づいて、前記特定の画像を選択することを特徴とする付記５に記載のパノラマ画像表示方法。
【００９７】
（付記７）前記選択する処理は、前記なす角が所定の閾値未満となる画像を、前記特定の画像として選択することを特徴とする付記６に記載のパノラマ画像表示方法。
【００９８】
（付記８）前記選択する処理は、前記なす角が所定の閾値未満となる画像から類似する複数の画像を抽出し、抽出した画像のうち、前記なす角が最小となる画像を、前記特定の画像として選択することを特徴とする付記７に記載のパノラマ画像表示方法。
【００９９】
（付記９）コンピュータに、
異なる位置で撮影され、同一の特徴点を有する複数の画像を取得し、
前記複数の画像に基づき生成されるパノラマ画像を見るユーザの視線方向を特定し、
前記視線方向を基にして、前記複数の画像から特定の画像を選択し、選択した特定の画像により構成したパノラマ画像を表示させる
処理を実行させることを特徴とするパノラマ画像表示プログラム。
【０１００】
（付記１０）前記選択する処理は、視線方向および画像中心に基づく第１線分と、画像を撮影した位置および前記画像中心を通る第２線分とのなす角を特定する処理を、画像毎に実行し、画像毎のなす角に基づいて、前記特定の画像を選択することを特徴とする付記９に記載のパノラマ画像表示プログラム。
【０１０１】
（付記１１）前記選択する処理は、前記なす角が所定の閾値未満となる画像を、前記特定の画像として選択することを特徴とする付記１０に記載のパノラマ画像表示プログラム。
【０１０２】
（付記１２）前記選択する処理は、前記なす角が所定の閾値未満となる画像から類似する複数の画像を抽出し、抽出した画像のうち、前記なす角が最小となる画像を、前記特定の画像として選択することを特徴とする付記１１に記載のパノラマ画像表示プログラム。
【符号の説明】
【０１０３】
１００  作業員端末
２００  情報処理装置
【図１】
2018010599.tif 000003
【図２】
2018010599.tif 000004
【図３】
2018010599.tif 000005
【図４】
2018010599.tif 000006
【図５】
2018010599.tif 000007
【図６】
2018010599.tif 000008
【図７】
2018010599.tif 000009
【図８】
2018010599.tif 000010
【図９】
2018010599.tif 000011
【図１０】
2018010599.tif 000012
【図１１】
2018010599.tif 000013
【図１２】
2018010599.tif 000014
【図１３】
2018010599.tif 000015
【図１４】
2018010599.tif 000016
【図１５】
2018010599.tif 000017
【図１６】
2018010599.tif 000018