(57)【要約】      （修正有）【課題】三次元データを取得済みの被写体との位置関係を正確に再現できる別の被写体の三次元データを生成する方法、装置及びプログラムを提供する。【解決手段】データ生成装置の処理部は、複数の位置から撮像された複数の撮像画像と、複数の撮像画像に含まれる第１の被写体における各点の三次元位置を示す第１の三次元データとを取得する。処理部は、取得した複数の撮像画像に基づき、第１の被写体からの距離が所定の閾値以下である第２の被写体における各点の、第１の三次元データが示す三次元位置と同一の座標空間における三次元位置を示す第２の三次元データを生成する。【選択図】図１
2020052719.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、
複数の位置から撮像された複数の撮像画像と、前記複数の撮像画像に含まれる第１の被写体における各点の三次元位置を示す第１の三次元データとを取得し、
前記複数の撮像画像に基づき、前記第１の被写体からの距離が所定の閾値以下である第２の被写体における各点の、前記第１の三次元データが示す三次元位置と同一の座標空間における三次元位置を示す第２の三次元データを生成する、
データ生成方法。
【請求項２】
前記第１の三次元データは、前記複数の撮像画像を撮像したカメラからの距離を距離センサを用いて計測した計測結果に基づいて算出される、
請求項１記載のデータ生成方法。
【請求項３】
前記第２の三次元データの生成では、前記複数の撮像画像のうちの２以上の撮像画像の間で同一の特徴点を示す第１の対応点を複数検出し、検出された前記第１の対応点のうち、前記２以上の撮像画像のそれぞれにおける前記第１の対応点の位置の差が所定値以下である第２の対応点を用いて、前記第２の三次元データを生成する、
請求項１記載のデータ生成方法。
【請求項４】
前記第２の三次元データの生成では、前記第２の対応点のうち、前記複数の撮像画像を撮像したカメラからの距離が所定の閾値距離以下である第３の対応点を、前記第１の被写体からの距離が前記閾値以下である点と見なして用いることで、前記第２の三次元データを生成する、
請求項３記載のデータ生成方法。
【請求項５】
前記コンピュータが、
前記複数の撮像画像のそれぞれから前記第１の被写体に対応する第１の領域を抽出し、前記第１の領域の画像を用いて前記第１の三次元データが示す第１の三次元モデルのテクスチャ画像を生成し、
前記複数の撮像画像のそれぞれから前記第１の領域の画像が削除された撮像画像のそれぞれから、前記第２の被写体に対応する第２の領域を抽出し、前記第２の領域の画像を用いて前記第２の三次元データが示す第２の三次元モデルのテクスチャ画像を生成する、
処理をさらに含む請求項１乃至４のいずれか１項に記載のデータ生成方法。
【請求項６】
前記コンピュータが、
前記座標空間において、前記第１の三次元モデルの位置を中心とした球形を示す第３の三次元モデルを生成し、
前記第３の三次元モデルの内面に貼り付けるテクスチャ画像を、前記複数の撮像画像のそれぞれから前記第１の領域の画像と前記第２の領域の画像とが削除された撮像画像を用いて生成する、
請求項５記載のデータ生成方法。
【請求項７】
前記コンピュータが、
前記座標空間において、前記第１の三次元データが示す第１の三次元モデルの位置を中心とした球形を示す第２の三次元モデルを生成し、
前記複数の撮像画像に基づき、前記第２の三次元モデルの内面に貼り付けるテクスチャ画像を生成する、
処理をさらに含む請求項１乃至４のいずれか１項に記載のデータ生成方法。
【請求項８】
前記コンピュータが、
前記座標空間のうち、前記第１の三次元モデルと、前記第２の三次元モデルと、前記第２の三次元データが示す第３の三次元モデルとが存在する空間以外の空間の形状を、前記第１の三次元データと、前記第２の三次元データと、前記第２の三次元モデルを示す第３の三次元データとに基づいて補完する、
処理をさらに含む請求項７記載のデータ生成方法。
【請求項９】
コンピュータが、
複数の位置から撮像された複数の撮像画像と、前記複数の撮像画像に含まれるいずれかの被写体上の各部の位置情報とを取得し、
取得した前記位置情報に基づき、前記いずれかの被写体の三次元形状に応じた第１の表示モデルを生成し、
取得した前記複数の撮像画像に基づき、前記複数の撮像画像に含まれる、前記いずれかの被写体からの距離が閾値以下である他の被写体の三次元形状に応じた第２の表示モデルを生成し、
生成した前記第１の表示モデルと、生成した前記第２の表示モデルと、前記第１の表示モデルおよび前記第２の表示モデル間の位置関係を示す位置関係情報とを含む表示データを生成する、
データ生成方法。
【請求項１０】
記憶部と、
複数の位置から撮像された複数の撮像画像と、前記複数の撮像画像に含まれる第１の被写体における各点の三次元位置を示す第１の三次元データとを取得して、前記記憶部に格納し、前記複数の撮像画像に基づき、前記第１の被写体からの距離が所定の閾値以下である第２の被写体における各点の、前記第１の三次元データが示す三次元位置と同一の座標空間における三次元位置を示す第２の三次元データを生成して、前記記憶部に格納する処理部と、
を有するデータ生成装置。
【請求項１１】
複数の位置から撮像された複数の撮像画像と、前記複数の撮像画像に含まれるいずれかの被写体上の各部の位置情報とを取得し、
取得した前記位置情報に基づき、前記いずれかの被写体の三次元形状に応じた第１の表示モデルを生成し、
取得した前記複数の撮像画像に基づき、前記複数の撮像画像に含まれる、前記いずれかの被写体からの距離が閾値以下である他の被写体の三次元形状に応じた第２の表示モデルを生成し、
生成した前記第１の表示モデルと、生成した前記第２の表示モデルと、前記第１の表示モデルおよび前記第２の表示モデル間の位置関係を示す位置関係情報とを含む表示データを生成する、
処理部を有するデータ生成装置。
【請求項１２】
コンピュータに、
複数の位置から撮像された複数の撮像画像と、前記複数の撮像画像に含まれる第１の被写体における各点の三次元位置を示す第１の三次元データとを取得し、
前記複数の撮像画像に基づき、前記第１の被写体からの距離が所定の閾値以下である第２の被写体における各点の、前記第１の三次元データが示す三次元位置と同一の座標空間における三次元位置を示す第２の三次元データを生成する、
処理を実行させるデータ生成プログラム。
【請求項１３】
コンピュータに、
複数の位置から撮像された複数の撮像画像と、前記複数の撮像画像に含まれるいずれかの被写体上の各部の位置情報とを取得し、
取得した前記位置情報に基づき、前記いずれかの被写体の三次元形状に応じた第１の表示モデルを生成し、
取得した前記複数の撮像画像に基づき、前記複数の撮像画像に含まれる、前記いずれかの被写体からの距離が閾値以下である他の被写体の三次元形状に応じた第２の表示モデルを生成し、
生成した前記第１の表示モデルと、生成した前記第２の表示モデルと、前記第１の表示モデルおよび前記第２の表示モデル間の位置関係を示す位置関係情報とを含む表示データを生成する、
処理を実行させるデータ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ生成方法、装置およびプログラムに関する。
【背景技術】
【０００２】
近年、仮想現実（Virtual Reality：ＶＲ）技術が様々な分野に応用されつつある。例えば、現実空間を各種のセンサを用いて三次元モデル化し、その三次元モデルを用いて現実空間を仮想化した仮想空間の画像を表示させることで、ある場所の環境を遠隔地において立体的に再現できる。遠隔地のユーザが、自分の位置や向きを検出可能なセンサを備えたヘッドマウントディスプレイ（Head Mounted Display：ＨＭＤ）を装着し、仮想空間の画像を表示させながら歩くことで、ユーザはあたかも現実空間を歩いているような体験をすることができる。このような技術は、エンターテインメント分野だけでなく、各種の業務や作業を支援するための技術としても開発が進められている。
【０００３】
また、三次元モデルを用いてより現実空間に近い三次元画像を表示できるようにする技術として、テクスチャマッピングがある。この技術に関し、視点の異なる複数の撮像画像から、三次元画像のパッチごとに最も解像度の高い画像をそのパッチのテクスチャ画像として選択する三次元画像生成装置が提案されている。また、背景的要素となるオブジェクトに適用されるビルボード技術に対するテクスチャマッピングに関し、次のような画像生成装置が提案されている。この画像生成装置は、オブジェクトを複数の方位から眺めたテクスチャ画像をあらかじめ記憶し、板ポリゴンの基準方向と、板ポリゴンから視点への方向との関係に基づいて、板ポリゴンに対応するテクスチャ画像を特定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２４８５０号公報
【特許文献２】特開２００４−２８７５０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、仮想空間に作業現場の環境を三次元モデルによって再現する技術を作業の訓練や教育の用途で用いる場合には、主たる作業対象物だけでなく、その周囲に存在する物体の形状も仮想空間に再現されることが好ましい場合がある。これにより、再現された画像の閲覧者は、作業対象物とその周囲に存在する物体との位置関係を正確に把握できるようになる。
【０００６】
例えば、クレーンを操作して荷物（作業対象物）を昇降させる作業を行う場合に、クレーンの稼働範囲内に存在する荷物以外の物体との接触を防ぐためには、荷物の位置や形状を認識できるだけでは不十分である。この作業では、荷物の昇降場所の周囲の状況をできるだけ詳しく、立体的に認識できることが好ましい。
【０００７】
ここで、物体の形状を示す三次元データは、例えば、距離センサ（デプスセンサ）を備えた三次元スキャナを用いて、比較的高精度に取得可能である。しかし、このような三次元スキャナを用いて、作業対象物だけでなくその周囲に存在する物体の形状を示す三次元データも取得しようとすると、離れた位置の物体の三次元形状を計測可能な高性能かつ高価な三次元スキャナが必要となる。このため、コスト低減のために安価な三次元スキャナを用い、作業対象物の形状を示す三次元データだけを取得することが現実的となる。
【０００８】
また、作業対象物の形状を示す三次元データだけが取得される場合には、作業対象物の周囲の環境を、撮像された画像を用いて簡易的に再現する方法が考えられる。例えば、前述のビルボード技術を用いる方法や、作業対象物を中心とする球体の内面に周囲環境の画像を貼り付ける方法が考えられる。しかし、この方法では、仮想空間において、周囲の物体の形状が立体的に描画されないことから、作業対象物とその周囲の物体との位置関係が正確に再現されないという問題がある。
【０００９】
１つの側面では、本発明は、三次元データを取得済みの被写体との位置関係を正確に再現できる別の被写体の三次元データを生成可能なデータ生成方法、装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
１つの案では、コンピュータが、複数の位置から撮像された複数の撮像画像と、複数の撮像画像に含まれる第１の被写体における各点の三次元位置を示す第１の三次元データとを取得し、複数の撮像画像に基づき、第１の被写体からの距離が所定の閾値以下である第２の被写体における各点の、第１の三次元データが示す三次元位置と同一の座標空間における三次元位置を示す第２の三次元データを生成する、データ生成方法が提供される。
【００１１】
また、１つの案では、コンピュータが、複数の位置から撮像された複数の撮像画像と、複数の撮像画像に含まれるいずれかの被写体上の各部の位置情報とを取得し、取得した位置情報に基づき、いずれかの被写体の三次元形状に応じた第１の表示モデルを生成し、取得した複数の撮像画像に基づき、複数の撮像画像に含まれる、いずれかの被写体からの距離が閾値以下である他の被写体の三次元形状に応じた第２の表示モデルを生成し、生成した第１の表示モデルと、生成した第２の表示モデルと、第１の表示モデルおよび第２の表示モデル間の位置関係を示す位置関係情報とを含む表示データを生成する、データ生成方法が提供される。
【００１２】
さらに、１つの案では、上記のデータ生成方法と同様の処理を実行するデータ生成装置が提供される。
また、１つの案では、上記のデータ生成方法と同様の処理をコンピュータに実行させるデータ生成プログラムが提供される。
【発明の効果】
【００１３】
１つの側面では、三次元データを取得済みの被写体との位置関係を正確に再現可能な別の被写体の三次元データを生成できる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施の形態に係るデータ生成装置の構成例および処理例を示す図である。
【図２】第２の実施の形態に係る情報処理システムの構成例を示す図である。
【図３】サーバのハードウェア構成例を示す図である。
【図４】情報処理システムの各装置が備える処理機能の構成例を示すブロック図である。
【図５】作業現場の例を示す斜視図である。
【図６】作業現場の例を示す平面図である。
【図７】計測者による計測作業について説明するための図である。
【図８】ポリゴンに対応するテクスチャ画像の生成について説明するための図である。
【図９】対象物データの生成処理手順を示すフローチャートの例（その１）である。
【図１０】対象物データの生成処理手順を示すフローチャートの例（その２）である。
【図１１】対応点の絞り込みについて説明するための図である。
【図１２】対応点までの距離の算出について説明するための図である。
【図１３】中間背景物データの生成処理手順を示すフローチャートの例である。
【図１４】外周の三次元形状の例を示す図である。
【図１５】外周データの生成処理手順を示すフローチャートの例である。
【図１６】仮想空間を描画した画像の例を示す図である。
【図１７】中間背景物の位置補正処理で用いられる変換グラフの例を示す図である。
【図１８】中間背景物の位置補正の処理手順を示すフローチャートの例である。
【図１９】仮想空間における三次元形状の補完領域について説明するための図である。
【図２０】三次元形状の補完処理についての第１の例を示す図である。
【図２１】三次元形状の補完処理についての第２の例を示す図である。
【図２２】三次元形状の補完処理の手順を示すフローチャートの例である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態について図面を参照して説明する。
〔第１の実施の形態〕
図１は、第１の実施の形態に係るデータ生成装置の構成例および処理例を示す図である。
【００１６】
図１に示すデータ生成装置１は、記憶部１ａと処理部１ｂを有する。記憶部１ａは、例えば、データ生成装置１が備える図示しない記憶装置として実現される。処理部１ｂは、例えば、データ生成装置１が備える図示しないプロセッサとして実現される。
【００１７】
処理部１ｂは、複数の位置のそれぞれから撮像された撮像画像２ａ，２ｂ，・・・と、撮像画像２ａ，２ｂ，・・・に含まれる第１の被写体３ａにおける各点の三次元位置を示す第１の三次元データ４ａとを取得する（ステップＳ１）。処理部１ｂは、取得された撮像画像２ａ，２ｂ，・・・と第１の三次元データ４ａを、記憶部１ａに格納する。
【００１８】
現実空間には、撮像画像２ａ，２ｂ，・・・に写り得る被写体として、上記の第１の被写体３ａと、第１の被写体３ａからの距離が所定の閾値以下である第２の被写体３ｂとが存在している。第１の被写体３ａは、主たる撮像対象の被写体であり、基本的には取得される撮像画像２ａ，２ｂ，・・・のすべてに写っている。例えば、撮像画像２ａ，２ｂ，・・・は、例えば、第１の被写体３ａの周囲を周回しながらカメラ５によって第１の被写体３ａを複数回撮像することによって取得される。
【００１９】
なお、例えば、現実空間において所定の作業が行われる場合、第１の被写体３ａは、作業の対象となる物体に相当する。第２の被写体３ｂは、第１の被写体３ａの周囲に存在する物体に相当する。
【００２０】
第１の三次元データ４ａは、例えば、距離センサ（デプスセンサ）を用いてカメラ５の位置から第１の被写体３ａまでの距離を複数回計測して得られた計測結果に基づいて、取得される。第１の三次元データ４ａを用いることで、仮想空間において、第１の被写体３ａの形状を立体的に描画できる。
【００２１】
次に、処理部１ｂは、取得された撮像画像２ａ，２ｂ，・・・に基づき、第２の被写体３ｂにおける各点の三次元位置を示す第２の三次元データ４ｂを生成し、記憶部１ａに格納する（ステップＳ２）。第２の三次元データ４ｂは、例えば、取得された撮像画像２ａ，２ｂ，・・・のうち、第２の被写体３ｂが写っている複数の撮像画像を用い、それらの撮像画像における第２の被写体３ｂの特徴点の位置に基づいて算出される。第２の三次元データ４ｂを用いることで、仮想空間において、第２の被写体３ｂの形状を立体的に描画できる。
【００２２】
この第２の三次元データ４ｂが示す各点の三次元位置は、第１の三次元データ４ａが示す三次元位置と同一の座標空間における三次元位置を示す。このため、第１の三次元データ４ａと第２の三次元データ４ｂを用いることで、第１の被写体３ａの三次元形状と第２の被写体３ｂの三次元形状との位置関係を、上記の座標空間（仮想空間）上で正確に再現できる。
【００２３】
以上のデータ生成装置１によれば、第１の被写体３ａに対応する第１の三次元データ４ａしか取得されていない状況でも、撮像画像２ａ，２ｂ，・・・を用いて第２の被写体３ｂに対応する第２の三次元データ４ｂを生成できる。例えば、第２の被写体３ｂが、距離センサなどを用いてその三次元データを取得できない範囲であるが、第１の被写体３ａからの距離が比較的近い位置にある場合が考えられる。このような場合に、データ生成装置１は、撮像画像２ａ，２ｂ，・・・を用いて第２の被写体３ｂに対応する第２の三次元データ４ｂを生成できる。そして、データ生成装置１は、取得された第１の三次元データ４ａと、生成された第２の三次元データ４ｂとを用いて、第１の被写体３ａの三次元形状と第２の被写体３ｂの三次元形状との位置関係を正確に再現した画像を生成し、表示させることができる。
【００２４】
例えば、第１の被写体３ａが作業の対象物である場合、第１の被写体３ａの三次元形状に加えて、第１の被写体３ａの周囲に存在する第２の被写体３ｂの三次元形状が、作業の現場とは別の場所で、仮想空間の画像として再現される。このとき、画像の閲覧者は、作業の現場とは別の場所において、作業対象である第１の被写体３ａと、その周囲に存在する第２の被写体３ｂとの位置関係を正確に把握できるようになる。したがって、例えば作業の訓練や教育に役立てることができる有用な三次元データを生成できる。
【００２５】
〔第２の実施の形態〕
次に、第２の実施の形態として、図１に示したデータ生成装置１を含む情報処理システムを例示する。
【００２６】
図２は、第２の実施の形態に係る情報処理システムの構成例を示す図である。
図２に示す情報処理システムは、作業現場１００の環境を三次元モデル化し、その三次元モデルを用いて、作業現場１００の環境を仮想化した仮想空間を示す画像を遠隔地において再現するためのシステムである。図２では、遠隔地としてオフィス２００が例示されている。また、この情報処理システムは、サーバ３００を含む。サーバ３００は、図１に示したデータ生成装置１の一例である。
【００２７】
作業現場１００では、作業対象物に対して所定の作業が行われる。例えば、作業者の操作に応じて、クレーンやフォークリフトなどの建設機械によって荷物が昇降され、運搬される。この場合、荷物が作業対象物となる。以下、このような作業現場１００での作業対象物に対する作業者の作業を「現場作業」と記載する。
【００２８】
また、作業現場１００では、作業対象物やその周囲の環境の三次元形状を計測するための計測作業が、計測者によって行われる。図２に示すように、計測作業用のデバイスとしては、空間認識センサ１０１、カメラ１０２および位置・方向センサ１０３が用いられる。
【００２９】
空間認識センサ１０１は、作業現場１００の空間を三次元的に認識可能なセンサである。このようなセンサとしては、例えば、物体との間のデプス（距離）を計測するデプスセンサがある。デプスセンサは、例えば、赤外線照射装置と赤外線受光装置とを備え、ＴＯＦ（Time Of Flight）方式などによって画素ごとのデプスを計測する。
【００３０】
カメラ１０２は、ＲＧＢ（Red Green Blue）画像を撮像可能なデバイスである。カメラ１０２は、その位置と方向が空間認識センサ１０１と可能な限り一致するように配置される。カメラ１０２によって撮像された画像は、主として、空間認識センサ１０１の計測結果に基づいて三次元モデル化された物体を、仮想空間上でよりリアルに見せるために使用される。
【００３１】
位置・方向センサ１０３は、空間認識センサ１０１およびカメラ１０２の位置および方向（姿勢）を認識可能なセンサである。このようなセンサとしては、例えば、加速度センサと角速度センサ（ジャイロ）とを組み合わせて用いることができる。また、加速度センサと角速度センサに対して、さらに方位センサが組み合わされてもよい。
【００３２】
作業現場１００において、計測者は、例えば、作業対象物の周囲を周回しながら、上記の各センサを用いた計測作業を行う。このとき、複数の箇所において、各センサによるセンサデータが取り込まれる。この計測作業では、上記のように、空間認識センサ１０１とカメラ１０２の位置と方向が可能な限り一致するように、作業が行われる。例えば、空間認識センサ１０１、カメラ１０２および位置・方向センサ１０３が搭載されたヘッドマウントユニットを、計測者が頭部に装着した状態で計測作業が行われる。
【００３３】
このようにして得られたセンサデータは、サーバ３００に送信される。サーバ３００は、受信したセンサデータに基づいて、作業現場１００の空間の三次元形状を示す三次元データ３０１を生成する。三次元データ３０１は、作業現場１００の空間から検出された各特徴点の三次元座標を示す点群データを含む。この点群データは、各特徴点によって生成されるポリゴンの頂点の位置を示すデータであってもよい。なお、点群データは、作業現場１００に配置された情報処理機器によって算出されて、サーバ３００に送信されてもよい。さらに、三次元データ３０１は、点群データに基づく各ポリゴンに貼り付けられるテクスチャ画像のデータを含む。テクスチャ画像は、カメラ１０２によるセンサデータ（すなわち、画像データ）を基に生成される。
【００３４】
一方、オフィス２００においては、閲覧者がＨＭＤ２０１を装着している。ＨＭＤ２０１には、ディスプレイに加えて、閲覧者の位置と方向を検出するデバイスが搭載され、閲覧者の位置と方向がサーバ３００に送信される。サーバ３００は、三次元データ３０１と閲覧者の位置および方向とに基づいて、作業現場１００の空間（現実空間）を仮想化した仮想空間を示す画像を描画し、その画像をＨＭＤ２０１に表示させる。
【００３５】
この画像表示では、閲覧者の位置と方向が仮想空間の座標上に関連づけられ、閲覧者の位置と方向の検出結果に基づき、閲覧者の視点から見た仮想空間の状況が画像上に再現される。例えば、三次元モデル化された物体は、閲覧者の位置と方向に応じた位置と姿勢で仮想空間に配置される。また、閲覧者の位置や視線方向が変化した場合、その変化に応じて仮想空間上の物体の位置や姿勢も変化する。これにより、閲覧者は、あたかも作業現場１００に実際に存在し、作業現場１００で移動しながらその環境を視認しているような体験をすることができる。
【００３６】
このような情報処理システムにより、閲覧者は、作業現場１００に実際に赴くことなく、作業現場１００の状況を詳しく把握できる。これにより、作業現場１００における作業についての教育や訓練を、オフィス２００のような作業現場１００とは別の場所で閲覧者に受けさせることができる。
【００３７】
また、作業現場１００に音声デバイス１０４が配置されるとともに、ＨＭＤ２０１が音声の入出力機能を備えていてもよい。この場合、オフィス２００の閲覧者が作業現場１００の仮想空間を視認している間、作業現場１００の作業者と音声によってコミュニケーションをとることができる。
【００３８】
また、オフィス２００においては、それぞれＨＭＤ２０１を装着した複数の閲覧者が、作業現場１００の仮想空間の画像を視認してもよい。この場合、サーバ３００の処理により、個々の閲覧者のＨＭＤ２０１には閲覧者ごとの位置と方向に応じた画像が表示される。また、サーバ３００の処理により、仮想空間の画像上には、他方の閲覧者の位置および方向の検出結果に応じてこの閲覧者を示すアバターが表示されてもよい。
【００３９】
さらに、オフィス２００が複数設置されて、各オフィス２００においてＨＭＤ２０１を装着した閲覧者が作業現場１００の仮想空間の画像を視認してもよい。この場合でも、個々の閲覧者のＨＭＤ２０１には閲覧者ごとの位置と方向に応じた画像が表示される。また、仮想空間の画像上には、他方の閲覧者の位置および方向の検出結果に応じてこの閲覧者を示すアバターが表示されてもよい。さらに、閲覧者同士が音声によってコミュニケーションできるようにしてもよい。
【００４０】
このように、本実施の形態に係る情報処理システムにより、作業現場１００の三次元形状が、オフィス２００のような遠隔地において仮想的に再現される。これにより、例えば、作業現場１００の状況を示す写真や動画像を遠隔地の閲覧者が閲覧する場合と比較して、閲覧者は作業現場１００の状況を正確に把握できる。このため、この情報処理システムを遠隔地における現場作業の教育や訓練に用いることで、その教育や訓練の有用性を高めることができる。
【００４１】
図３は、サーバのハードウェア構成例を示す図である。サーバ３００は、例えば、図３に示すようなコンピュータとして実現される。図３に示すサーバ３００は、プロセッサ３１１、ＲＡＭ（Random Access Memory）３１２、ＨＤＤ（Hard Disk Drive）３１３、グラフィック処理装置３１４、入力インタフェース（Ｉ／Ｆ）３１５、読み取り装置３１６および通信インタフェース（Ｉ／Ｆ）３１７を有する。
【００４２】
プロセッサ３１１は、サーバ３００全体を統括的に制御する。プロセッサ３１１は、例えば、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）またはＰＬＤ（Programmable Logic Device）である。また、プロセッサ３１１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００４３】
ＲＡＭ３１２は、サーバ３００の主記憶装置として使用される。ＲＡＭ３１２には、プロセッサ３１１に実行させるＯＳ（Operating System）プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ３１２には、プロセッサ３１１による処理に必要な各種データが格納される。
【００４４】
ＨＤＤ３１３は、サーバ３００の補助記憶装置として使用される。ＨＤＤ３１３には、ＯＳプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、ＳＳＤ（Solid State Drive）などの他の種類の不揮発性記憶装置を使用することもできる。
【００４５】
グラフィック処理装置３１４には、表示装置３１４ａが接続されている。グラフィック処理装置３１４は、プロセッサ３１１からの命令にしたがって、画像を表示装置３１４ａに表示させる。表示装置としては、液晶ディスプレイや有機ＥＬ（Electroluminescence）ディスプレイなどがある。
【００４６】
入力インタフェース３１５には、入力装置３１５ａが接続されている。入力インタフェース３１５は、入力装置３１５ａから出力される信号をプロセッサ３１１に送信する。入力装置３１５ａとしては、キーボードやポインティングデバイスなどがある。ポインティングデバイスとしては、マウス、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００４７】
読み取り装置３１６には、可搬型記録媒体３１６ａが脱着される。読み取り装置３１６は、可搬型記録媒体３１６ａに記録されたデータを読み取ってプロセッサ３１１に送信する。可搬型記録媒体３１６ａとしては、光ディスク、光磁気ディスク、半導体メモリなどがある。
【００４８】
通信インタフェース３１７は、ネットワーク３１７ａを介して他の装置との間でデータの送受信を行う。
以上のようなハードウェア構成によって、サーバ３００の処理機能を実現することができる。
【００４９】
図４は、情報処理システムの各装置が備える処理機能の構成例を示すブロック図である。
まず、図４を用いて、作業現場１００で用いられる計測用のセンサの具体例について説明する。作業現場１００には、このようなセンサとして、三次元スキャナ１１０と全天球カメラ１２０が配置される。
【００５０】
三次元スキャナ１１０は、デプスセンサ１１１、慣性計測ユニット（Inertial Measurement Unit：ＩＭＵ）１１２および三次元データ計算部１１３を備える。デプスセンサ１１１は、図２の空間認識センサ１０１の機能を実現するデバイスであり、計測対象の物体とのデプス（距離）を画素ごとに検出する。慣性計測ユニット１１２は、図２の位置・方向センサ１０３の機能を実現するデバイスであり、加速度センサ、角速度センサ、方位センサを備えて、これらのセンサデータに基づいて三次元スキャナ１１０の位置と方向を検出する。
【００５１】
三次元データ計算部１１３は、例えばＣＰＵ、ＤＳＰなどのプロセッサとして実現される。三次元データ計算部１１３は、デプスセンサ１１１と慣性計測ユニット１１２の検出結果に基づいて、計測対象の空間の三次元モデルを示す点群データを算出する。また、三次元データ計算部１１３はさらに、点群データに含まれる各特徴点によってポリゴンを生成し、生成されたポリゴンを示すポリゴンデータをサーバ３００に出力する。ポリゴンデータには、各ポリゴンの頂点の三次元座標が含まれる。さらに、三次元データ計算部１１３は、デプスセンサ１１１によってデプスが計測されるたびに、慣性計測ユニット１１２による位置と方向の検出結果をサーバ３００に出力する。
【００５２】
全天球カメラ１２０は、図２のカメラ１０２の機能を実現するデバイスであり、所定の基準方向を中心として３６０°の方向の画像を撮像し、得られた全天球画像のデータをサーバ３００に出力する。全天球カメラ１２０は、その基準方向がデプスセンサ１１１の計測方向と一致するように配置される。また、これらのセンサは同じ位置と見なされるように近接して配置される。また、全天球カメラ１２０による撮像動作は、デプスセンサ１１１によるデプスの計測動作と同期して行われる。これにより、全天球画像が撮像されたタイミングで慣性計測ユニット１１２では位置と方向とが検出されることから、検出された位置と方向を全天球画像の撮像時のカメラ位置とカメラ方向としてそれぞれ用いることが可能となる。
【００５３】
上記の三次元スキャナ１１０と全天球カメラ１２０は、例えば、ヘッドマウントユニットに搭載される。そして、このヘッドマウントユニットを頭部に装着した計測者によって、計測作業が行われる。この計測作業は、作業現場１００に存在する物体のうち、現場作業の対象である作業対象物の三次元データを取得することを主な目的とする。このため、計測者は、作業対象物の周囲において三次元スキャナ１１０と全天球カメラ１２０を作業対象物の方向に向けながら、デプスの計測と全天球画像の撮像とを複数回行う。具体的な例としては、計測者は、作業対象物の周囲を移動しながらデプスの計測と全天球画像の撮像とを複数回行う。これにより、各撮像タイミングでの全天球画像のデータと、それらの撮像時における位置と方向のデータと、ポリゴンデータとがサーバ３００に送信される。
【００５４】
なお、三次元データ計算部１１３の処理の少なくとも一部は、サーバ３００において実行されてもよい。例えば、三次元データ計算部１１３の処理のうち、点群データの算出が三次元データ計算部１１３で実行され、点群データに基づくポリゴンデータの生成がサーバ３００で実行されてもよい。あるいは、デプスセンサ１１１と慣性計測ユニット１１２の検出結果がサーバ３００に送信され、これらの検出結果に基づく三次元データ計算部１１３の処理がサーバ３００で実行されてもよい。
【００５５】
ところで、三次元スキャナ１１０による計測では、主にデプスセンサ１１１の性能から、一定以上の精度で三次元形状を計測可能な計測対象との距離の上限値が存在する。計測者による計測作業は、作業対象物がこの距離の上限値以内の範囲に確実に含まれるように行われる。このため、サーバに送信されるポリゴンデータには、作業対象物の三次元形状を示すデータが含まれているが、それより遠い位置に存在する物体の三次元形状を示すデータは含まれない。
【００５６】
そこで、サーバ３００は、全天球画像のデータと撮像時の位置および方向のデータとに基づき、作業対象物の周囲に存在し、かつ作業対象物から一定の距離範囲内に存在する物体の三次元形状を計測する。以下、このような物体を「中間背景物」と記載する。サーバ３００は、中間背景物の三次元形状を示す三次元データを生成する。
【００５７】
さらに、サーバ３００は、仮想空間において、作業対象物から見て中間背景物よりさらに遠くの位置に、作業対象物を中心とする球形の三次元モデルを生成する。そして、サーバ３００は、全天球画像のデータに基づき、現実空間における中間背景物より遠い領域の状況を示す画像を、球形の三次元モデルの内面にテクスチャ画像として貼り付ける。これにより、作業現場１００の現実空間のほぼ全体についての三次元形状を示す三次元データが得られる。なお、以下の説明では、上記のような球形の三次元モデルの内面を「外周」と記載する。
【００５８】
以下、図４を用いて、サーバ３００が備える処理機能について説明する。
サーバ３００は、ポリゴンデータ取得部３２１、画像データ取得部３２２、対象物データ生成部３２３、中間背景物データ生成部３２４、外周データ生成部３２５、中間背景物位置補正部３２６、補完処理部３２７、三次元データ記憶部３３０および画像データ記憶部３４０を有する。
【００５９】
ポリゴンデータ取得部３２１、画像データ取得部３２２、対象物データ生成部３２３、中間背景物データ生成部３２４、外周データ生成部３２５、中間背景物位置補正部３２６および補完処理部３２７の処理は、例えば、プロセッサ３１１が所定のプログラムを実行することで実現される。三次元データ記憶部３３０および画像データ記憶部３４０は、例えば、ＲＡＭ３１２やＨＤＤ３１３などのサーバ３００が備える記憶装置の記憶領域によって実現される。
【００６０】
ポリゴンデータ取得部３２１は、三次元スキャナ１１０の三次元データ計算部１１３から、三次元スキャンの結果としてのポリゴンデータを受信する。前述のように、このポリゴンデータには、作業対象物の三次元形状を示すデータが含まれる。
【００６１】
画像データ取得部３２２は、全天球カメラ１２０から全天球画像のデータを受信し、画像データ記憶部３４０に格納する。これにより、全天球カメラ１２０によって撮像された全天球画像３４１が画像データ記憶部３４０に保存される。また、画像データ取得部３２２は、三次元スキャナ１１０の三次元データ計算部１１３から、全天球画像３４１のそれぞれの撮像タイミングにおける位置と方向を示すデータを受信する。画像データ取得部３２２は、受信した位置と方向のデータを、全天球画像３４１のそれぞれの撮像時のカメラ位置とカメラ方向とを示すデータとして、全天球画像３４１に付加して画像データ記憶部３４０に格納する。
【００６２】
対象物データ生成部３２３は、画像データ記憶部３４０に記憶された全天球画像３４１を用いて、ポリゴンデータ取得部３２１が取得したポリゴンデータの各ポリゴンに貼り付けるテクスチャ画像を生成する。対象物データ生成部３２３は、ポリゴンデータにテクスチャ画像のデータが付加されたテクスチャ画像付きポリゴンデータを、対象物データ３３１として三次元データ記憶部３３０に格納する。なお、この対象物データ３３１には、少なくとも作業対象物の三次元形状を示すポリゴンとテクスチャ画像の各データが含まれている。
【００６３】
中間背景物データ生成部３２４は、画像データ記憶部３４０に記憶された全天球画像３４１と、これらに付加されたカメラ位置およびカメラ方向に基づいて、各全天球画像３４１における中間背景物とカメラ位置との距離を算出する。中間背景物データ生成部３２４は、算出された距離とカメラ位置およびカメラ方向とに基づいて、中間背景物の三次元モデルを示す点群データを算出する。中間背景物データ生成部３２４は、算出された点群データに含まれる各特徴点によってポリゴンを生成するとともに、全天球画像３４１を用いてポリゴンに貼り付けるテクスチャ画像を生成する。中間背景物データ生成部３２４は、このようにして生成された中間背景物についてのテクスチャ画像付きポリゴンデータを、中間背景物データ３３２として三次元データ記憶部３３０に格納する。
【００６４】
外周データ生成部３２５は、外周（作業対象物を中心とした所定半径の球形三次元モデルの内面）のポリゴンを生成し、画像データ記憶部３４０に記憶された全天球画像３４１を用いて、外周のポリゴンに対応するテクスチャ画像を生成する。外周データ生成部３２５は、このようにして生成された外周についてのテクスチャ画像付きポリゴンデータを、外周データ３３３として三次元データ記憶部３３０に格納する。
【００６５】
中間背景物位置補正部３２６は、現実空間における作業対象物と中間背景物との距離に応じて、仮想空間における中間背景物の位置を補正する。
補完処理部３２７は、現実空間の三次元形状のうち、対象物データ３３１、中間背景物データ３３２、外周データ３３３のいずれによっても表されない三次元形状を補完し、補完された三次元形状を示すデータを出力する。この補完処理により、例えば、作業対象物と中間背景物との間の領域や、中間背景物と外周との間の領域の三次元形状を示すデータが、簡易的に生成される。補完処理部３２７は、これらの領域についてのテクスチャ画像付きポリゴンデータを、補完データ３３４として三次元データ記憶部３３０に格納する。
【００６６】
このようにして、三次元データ記憶部３３０には、作業現場１００の環境を仮想空間に再現するためのデータが記憶される。三次元データ記憶部３３０に記憶されるこれらのデータが、図２の三次元データ３０１に相当する。
【００６７】
次に、図５、図６を用いて、作業現場１００の例について説明する。
図５は、作業現場の例を示す斜視図である。また、図６は、作業現場の例を示す平面図である。図５、図６に示すように、作業現場１００には、物体１３１〜１３６が存在する。これらのうち、物体１３１が、現場作業の対象となる作業対象物である。物体１３２，１３３は、物体１３１から比較的近くに位置している。一方、物体１３４〜１３６は、物体１３２，１３３と比較して、物体１３１から遠くに位置している。
【００６８】
図７は、計測者による計測作業について説明するための図である。
図７の左側に示すように、作業現場１００において、三次元スキャナ１１０と全天球カメラ１２０とを備えたヘッドマウントユニットを頭部に装着した計測者は、作業対象物である物体１３１の方を見ながら、矢印１４１に示すように物体１３１の周囲を周回する。計測者は、その周回中にデプスの計測と全天球カメラ１２０の撮像とを略一定の間隔を置いて複数回行う。また、計測者は、例えば、ヘッドマウントユニットの高さや角度を変えながら、物体１３１の周囲を複数回周回して上記の計測を行ってもよい。
【００６９】
三次元スキャナ１１０の三次元データ計算部１１３は、各計測位置で計測されたデプス、位置および方向に基づいて、デプスを計測可能な範囲における現実空間の三次元モデル３３１ａの点群データを算出する。三次元データ計算部１１３は、算出された点群データに含まれる各特徴点によってポリゴンを生成し、生成されたポリゴンを示すポリゴンデータをサーバ３００に出力する。図７の右上では、生成されたポリゴンの集合としての三次元モデル３３１ａを示している。なお、ポリゴン（パッチ）の形状は、図７の例のように四角形でなくてもよく、例えば三角形などの他の形状の多角形であってもよい。
【００７０】
このようにして三次元スキャナ１１０によって生成されたポリゴンによる三次元モデル３３１ａは、作業対象物である物体１３１の三次元形状を含んでいる。そこで、以下の説明では、三次元スキャナ１１０によって生成されたポリゴンを、単に「作業対象物のポリゴン」と記載する。
【００７１】
一方、全天球カメラ１２０は、図７の右下に示すように、上記の各計測位置で撮像された全天球画像３４１ａ，３４１ｂ，・・・を、サーバ３００に出力する。前述のように、サーバ３００では、画像データ取得部３２２の処理により、全天球画像３４１ａ，３４１ｂ，・・・のそれぞれに対して、撮像時のカメラ位置とカメラ方向とが対応付けられる。
【００７２】
次に、図８〜図１０を用いて、対象物データ３３１の生成処理について説明する。
図８は、ポリゴンに対応するテクスチャ画像の生成について説明するための図である。前述のように、対象物データ生成部３２３は、画像データ記憶部３４０に記憶された全天球画像３４１を用いて、ポリゴンデータ取得部３２１が取得したポリゴンデータの各ポリゴンに貼り付けるテクスチャ画像を生成する。
【００７３】
具体的には、対象物データ生成部３２３は、ポリゴンを１つ選択し、そのポリゴンの各頂点の三次元座標に基づいて、ポリゴンの表面（ポリゴン面）の法線ベクトルを算出する。図８では例として、三次元モデル３３１ａのポリゴンの中からポリゴン１５１が選択され、ポリゴン１５１のポリゴン面の法線ベクトルＶが算出されている。
【００７４】
また、対象物データ生成部３２３は、画像データ記憶部３４０に記憶された全天球画像３４１の中から、ポリゴン１５１のポリゴン面が写っている全天球画像３４１を選択する。対象物データ生成部３２３は、ポリゴン面の中心から、選択された全天球画像３４１のそれぞれのカメラ位置に対するベクトルを算出する。図８の例では、カメラ位置１５２ａに対するベクトルＶａと、カメラ位置１５２ｂに対するベクトルＶｂと、カメラ位置１５２ｃに対するベクトルＶｃとが算出されている。
【００７５】
対象物データ生成部３２３は、算出されたベクトルＶａ，Ｖｂ，Ｖｃの中から、法線ベクトルＶとの間で方向の差が最小のベクトルを選択する。対象物データ生成部３２３は、選択されたベクトルに対応する全天球画像３４１を特定し、特定された全天球画像３４１におけるポリゴン１５１の領域の画像を、ポリゴン１５１に対応するテクスチャ画像とする。
【００７６】
このような処理がすべてのポリゴンについて実行されることで、各ポリゴンに対してテクスチャ画像が対応付けられる。図８の下側に示すように、仮想空間の画像を表示する際には、各ポリゴンに対応するテクスチャ画像が描画されることで、現実空間での見た目に近いリアルな作業対象物の画像３３１ｂが表示される。
【００７７】
図９、図１０は、対象物データの生成処理手順を示すフローチャートの例である。
［ステップＳ１１］ポリゴンデータ取得部３２１は、三次元スキャナ１１０から、作業対象物のポリゴンデータを受信する。また、画像データ取得部３２２は、全天球カメラ１２０から全天球画像のデータを受信するとともに、各全天球画像の撮像時における位置と方向（すなわち、カメラ位置とカメラ方向）を受信する。画像データ取得部３２２は、各全天球画像のデータを画像データ記憶部３４０に格納するとともに、カメラ位置とカメラ方向とを対応する全天球画像のデータに付加して画像データ記憶部３４０に格納する。
【００７８】
［ステップＳ１２］対象物データ生成部３２３は、作業対象物のポリゴンデータから、ポリゴンを１つ選択する。
［ステップＳ１３］対象物データ生成部３２３は、画像データ記憶部３４０に記憶された全天球画像の中から、１つを選択する。
【００７９】
［ステップＳ１４］対象物データ生成部３２３は、ステップＳ１２で選択されたポリゴンの表面（ポリゴン面）の部分が、ステップＳ１３で選択された全天球画像の中に含まれるかを判定する。この判定は、ステップＳ１２で選択されたポリゴンの各頂点の座標と、ステップＳ１３で選択された全天球画像のカメラ位置およびカメラ方向とに基づいて行われる。対象物データ生成部３２３は、ポリゴン面の部分が全天球画像に含まれる場合、ステップＳ１５の処理を実行し、含まれない場合、ステップＳ１７の処理を実行する。
【００８０】
［ステップＳ１５］対象物データ生成部３２３は、ステップＳ１３で選択された全天球画像におけるポリゴン面に対応する部分の画像を、ステップＳ１２で選択されたポリゴンに対応するテクスチャ画像候補としてＲＡＭ３１２に一時的に保存する。このとき、対象物データ生成部３２３は、テクスチャ画像候補に対して、対応する全天球画像のカメラ位置を付加しておく。
【００８１】
［ステップＳ１６］対象物データ生成部３２３は、ステップＳ１３で選択された全天球画像から、ステップＳ１５でテクスチャ画像候補として特定された部分の画像を削除する。これにより、全天球画像のデータの中から、削除された部分の画像データが消去される。
【００８２】
［ステップＳ１７］対象物データ生成部３２３は、画像データ記憶部３４０の中に、ステップＳ１３で選択されていない全天球画像があるかを判定する。対象物データ生成部３２３は、未選択の全天球画像がある場合、処理をステップＳ１３に進め、未選択の全天球画像の中から１つを選択する。一方、対象物データ生成部３２３は、すべての全天球画像が選択済みの場合、ステップＳ１８の処理を実行する。
【００８３】
［ステップＳ１８］対象物データ生成部３２３は、ポリゴンデータの中に、ステップＳ１２で選択されていないポリゴンがあるかを判定する。対象物データ生成部３２３は、未選択のポリゴンがある場合、処理をステップＳ１２に進め、未選択のポリゴンの中から１つを選択する。この場合、画像データ記憶部３４０に記憶されたすべての全天球画像がステップＳ１３で未選択であることを示すように、全天球画像の選択ステータスがリセットされる。一方、対象物データ生成部３２３は、すべてのポリゴンが選択済みの場合、図１０のステップＳ２１の処理を実行する。
【００８４】
以下、図１０を用いて説明を続ける。
［ステップＳ２１］対象物データ生成部３２３は、作業対象物のポリゴンデータから、ポリゴンを１つ選択する。
【００８５】
［ステップＳ２２］対象物データ生成部３２３は、選択されたポリゴンの各頂点の座標に基づいて、ポリゴン面ｆの法線ベクトルｖを算出する。
［ステップＳ２３］対象物データ生成部３２３は、図９のステップＳ１５において保存された、選択されたポリゴンに対応するテクスチャ画像候補のそれぞれについて、ポリゴン面ｆの中心からカメラ位置に対するベクトルを算出する。このカメラ位置とは、図９のステップＳ１５において対応するテクスチャ画像候補に付加された情報であり、このテクスチャ画像候補が抽出された全天球画像のカメラ位置を示す。
【００８６】
［ステップＳ２４］対象物データ生成部３２３は、ステップＳ２３で算出されたベクトルの中から、ステップＳ２２で算出された法線ベクトルｖとの間で方向の差が最小のベクトルを特定する。対象物データ生成部３２３は、特定されたベクトルに対応するテクスチャ画像候補を、ステップＳ２１で選択されたポリゴンに対応するテクスチャ画像に決定する。
【００８７】
ステップＳ２４の初回実行時には、対象物データ生成部３２３は、対象物データ３３１を新規に生成して三次元データ記憶部３３０に格納する。そして、対象物データ生成部３２３は、選択されたポリゴンを示すデータと対応するテクスチャ画像を示すデータとを、対象物データ３３１に含める。ポリゴンを示すデータには、ポリゴンの各頂点の座標データが含まれる。一方、ステップＳ２４の２回目以降の実行時には、対象物データ生成部３２３は、選択されたポリゴンを示すデータと対応するテクスチャ画像を示すデータとを、既存の対象物データ３３１に含める。
【００８８】
［ステップＳ２５］対象物データ生成部３２３は、ポリゴンデータの中に、ステップＳ２１で選択されていないポリゴンがあるかを判定する。対象物データ生成部３２３は、未選択のポリゴンがある場合、処理をステップＳ２１に進め、未選択のポリゴンの中から１つを選択する。一方、対象物データ生成部３２３は、すべてのポリゴンが選択済みの場合、対象物データ３３１の生成処理を終了する。
【００８９】
以上の処理が終了した時点では、すべてのポリゴンを示すデータと、各ポリゴンに対応するテクスチャ画像を示すデータとを含む対象物データ３３１が、三次元データ記憶部３３０に保存された状態となる。また、画像データ記憶部３４０に記憶された全天球画像については、対象物データ３３１として三次元モデル化された被写体（主に作業対象物）が写っている部分が抜き取られた状態になっている。
【００９０】
次に、図１１〜図１３を用いて、中間背景物データ生成部３２４による中間背景物データ３３２の生成処理について説明する。
中間背景物データ生成部３２４は、まず、画像データ記憶部３４０に記憶された各全天球画像の方向を揃える。この処理では、各全天球画像を写したカメラの撮像位置（カメラ位置）と撮像方向（方位）が同じになるように、各全天球画像が変換される。この変換処理は、各全天球画像に付加されたカメラ位置とカメラ方向に基づいて、あるいは、全天球画像間のマッチングによって行われる。次に、中間背景物データ生成部３２４は、変換後の各全天球画像から特徴点を抽出し、全天球画像間での同一特徴点を示す対応点を抽出する。
【００９１】
各全天球画像において、中間背景物に対応する被写体は、作業対象物に対応する被写体より奥側に写っている。このため、中間背景物は、全天球カメラ１２０のカメラ位置からある程度離れた距離に位置している。そこで、中間背景物データ生成部３２４は、まず、全天球画像間の特徴点のマッチングによって対応点を抽出する。その後、中間背景物データ生成部３２４は、次の図１１に示す処理により、抽出された対応点の中からカメラ位置に近いと推定されるものを除外し、カメラ位置からある程度離れた距離に位置する対応点だけに絞り込む。
【００９２】
図１１は、対応点の絞り込みについて説明するための図である。図１１では、カメラ位置１６１から撮像された画像１６１ａと、カメラ位置１６２から撮像された画像１６２ａの両方において、被写体上の特徴点１６３，１６４が写っているものとする。すなわち、特徴点１６３，１６４は、いずれも画像１６２ａと画像１６３ａとの間の対応点として抽出されている。また、カメラ位置１６１，１６２から特徴点１６３までの距離より、カメラ位置１６１，１６２から特徴点１６４までの距離の方が長いものとする。
【００９３】
ここで、通常、カメラ位置が変化すると、撮像された画像における同一の特徴点（対応点）の位置が移動する。カメラ位置の変化量が同じ場合、カメラ位置から特徴点までの距離が長いほど、画像における特徴点の移動量（位置ズレ量）が小さくなる。図１１の場合では、画像１６１ａ，１６２ａのそれぞれにおける特徴点１６４の位置の移動量より、画像１６１ａ，１６２ａのそれぞれにおける特徴点１６３の位置の移動量の方が大きい。
【００９４】
そこで、中間背景物データ生成部３２４は、全天球画像間の対応点の移動量（二次元座標に基づく距離）が所定量以下の場合に、その対応点をそのまま残す一方、移動量が所定量を超える場合、その対応点がカメラ位置に近すぎると判断して、その対応点を除外する。これにより、対応点をカメラ位置からある程度離れた距離に位置するものだけに絞り込むことができる。全天球画像においては、作業対象物やこれに近接する物体の画像部分はすでに抜き取られているものの、このような画像部分の一部が残っている場合、上記の絞り込みによってこのような画像部分から抽出された対応点を除外できる。図１１の例では、特徴点１６４に対応する対応点はそのまま残され、特徴点１６３に対応する対応点は除外される。
【００９５】
この後、中間背景物データ生成部３２４は、絞り込まれた対応点の全天球画像における位置と、全天球画像のカメラ位置およびカメラ方向とに基づいて、カメラ位置から対応点までの距離を算出する。ただし、距離の算出精度はカメラ位置から対応点までの距離が長いほど低下する。そこで、中間背景物データ生成部３２４は、上記の方法で絞り込まれた対応点を、さらにカメラ位置からの距離が一定値以下のものだけに絞り込む。なお、このときに除外された対応点に対応する被写体の特徴点は、外周において描画されることになる。
【００９６】
図１２は、対応点までの距離の算出について説明するための図である。図１２では、カメラ位置１７１ａから撮像された画像と、カメラ位置１７１ｂから撮像された画像の両方に、対応点１７２が写っているものとする。また、カメラ位置１７１ａとカメラ位置１７１ｂとの距離をＬとする。さらに、カメラ位置１７１ａとカメラ位置１７１ｂとを結ぶ直線と、カメラ位置１７１ａと対応点１７２とを結ぶ直線とが、角度θａをなすものとする。また、カメラ位置１７１ａとカメラ位置１７１ｂとを結ぶ直線と、カメラ位置１７１ｂと対応点１７２とを結ぶ直線とが、角度θｂをなすものとする。
【００９７】
なお、距離Ｌは、カメラ位置１７１ａ，１７１ｂのそれぞれから撮像された全天球画像に付加されたカメラ位置に基づいて算出される。また、角度θａ，θｂは、カメラ位置１７１ａ，１７１ｂのそれぞれから撮像された全天球画像に付加されたカメラ位置およびカメラ方向に基づいて算出される。
【００９８】
中間背景物データ生成部３２４は、距離Ｌと角度θａ，θｂを用いて、下記の式（１）にしたがってカメラ位置から対応点１７２までの距離Ｄを算出する。中間背景物データ生成部３２４は、算出された距離Ｄに基づいて、カメラ位置１７１ａ，１７１ｂのそれぞれから対応点１７２までの距離を算出する。
【００９９】
Ｄ＝｛（ｓｉｎθａ＊ｓｉｎθｂ）／ｓｉｎ（θａ＋θｂ）｝＊Ｌ    ・・・（１）
中間背景物データ生成部３２４は、以上の手順により、対応点が写った全天球画像のカメラ位置と対応点との距離を算出する。中間背景物データ生成部３２４は、全天球画像に付加されたカメラ位置およびカメラ方向と対応点の距離とに基づいて、対応点の三次元位置を算出する。これにより、中間背景物の点群データが得られる。中間背景物データ生成部３２４は、さらに、点群データに基づく各ポリゴンに対応するテクスチャ画像を、全天球画像を用いて生成する。これにより、中間背景物についてのテクスチャ画像付きポリゴンデータが生成され、中間背景物データ３３２として三次元データ記憶部３３０に格納される。
【０１００】
図１３は、中間背景物データの生成処理手順を示すフローチャートの例である。
［ステップＳ３１］中間背景物データ生成部３２４は、画像データ記憶部３４０に記憶された各全天球画像の方向を揃える。この処理では、各全天球画像を写したカメラの撮像位置（カメラ位置）と撮像方向（方位）が同じになるように、各全天球画像が変換される。
【０１０１】
［ステップＳ３２］中間背景物データ生成部３２４は、ステップＳ３１で変換された各全天球画像から特徴点を抽出し、全天球画像間での同一特徴点を示す対応点を抽出する。この処理では、多数の特徴点のそれぞれについて、２つ以上の全天球画像の間で対応点が抽出される。また、図９のステップＳ１６の処理により全天球画像からは作業対象物に対応する画像部分が削除されている。そのため、ステップＳ３２では、作業対象物以外の被写体における特徴点だけが抽出される可能性が高くなる。
【０１０２】
［ステップＳ３３］中間背景物データ生成部３２４は、抽出された対応点（すなわち、同一の特徴点）を１つ選択する。
［ステップＳ３４］中間背景物データ生成部３２４は、全天球画像間での対応点の移動量（二次元座標に基づく距離）を算出する。この処理では、選択された対応点が写っている全天球画像の組み合わせごとに、対応点の移動量が算出される。なお、例えば、移動量の計算のためにある全天球画像に対して組み合わされる他の全天球画像としては、カメラ位置間の距離が最短のもののみが選択されればよい。
【０１０３】
［ステップＳ３５］中間背景物データ生成部３２４は、算出された移動量が所定の閾値ＴＨ１以下かを判定し、閾値ＴＨ１以下の場合はステップＳ３６の処理を実行し、閾値ＴＨ１を超える場合はステップＳ３８の処理を実行する。
【０１０４】
この判定では、例えば、対応点が写っている全天球画像の組み合わせごとに算出された移動量の平均値が算出され、平均値が閾値ＴＨ１以下の場合に「移動量が閾値ＴＨ１以下」と判定される。あるいは、全天球画像の組み合わせごとに算出された移動量のうちの最長値が閾値ＴＨ１以下の場合に、「移動量が閾値ＴＨ１以下」と判定されてもよい。
【０１０５】
［ステップＳ３６］中間背景物データ生成部３２４は、対応点が写っている全天球画像のカメラ位置と対応点との距離を、上記の式（１）を用いて算出する。中間背景物データ生成部３２４は、カメラ位置からの対応点の距離が閾値ＴＨ２以下かを判定し、閾値ＴＨ２以下の場合はステップＳ３７の処理を実行し、閾値ＴＨ２を超える場合はステップＳ３８の処理を実行する。
【０１０６】
この判定では、例えば、対応点が写っている全天球画像ごとに算出された対応点との距離の平均値が算出され、平均値が閾値ＴＨ２以下の場合に「距離が閾値ＴＨ２以下」と判定される。あるいは、全天球画像ごとに算出された距離のうちの最長値が閾値ＴＨ２以下の場合に、「距離が閾値ＴＨ２以下」と判定されてもよい。
【０１０７】
［ステップＳ３７］中間背景物データ生成部３２４は、対応点が写っている全天球画像ごとに算出された距離と、各全天球画像に付加されたカメラ位置およびカメラ方向とに基づいて、対応点の三次元座標を算出する。中間背景物データ生成部３２４は、対応点の三次元座標をＲＡＭ３１２に一時的に保存する。
【０１０８】
［ステップＳ３８］中間背景物データ生成部３２４は、ステップＳ３３で選択されていない対応点があるかを判定する。中間背景物データ生成部３２４は、未選択の対応点がある場合、処理をステップＳ３３に進め、未選択の対応点の中から１つを選択する。一方、中間背景物データ生成部３２４は、すべての対応点を選択済みの場合、ステップＳ３９の処理を実行する。
【０１０９】
上記のステップＳ３３〜Ｓ３８の処理により、抽出された対応点のうち、カメラ位置から略一定の距離ｄ１以上離れており、かつ、その距離ｄ１より長い距離ｄ２（閾値ＴＨ２に相当）以内の位置に存在する対応点が特定される。したがって、閾値ＴＨ１，ＴＨ２は、カメラ位置からの距離が上記の条件を満たすような対応点が特定されるように、設定される。
【０１１０】
距離ｄ１としては、三次元スキャナ１１０が一定以上の精度で三次元形状を計測可能な距離の上限値に設定可能である。この上限値は、デプスセンサ１１１が一定以上の精度でデプス（距離）を計測可能な距離の上限値ということもできる。この距離ｄ１と、計測者が計測のために作業対象物を周回する際に作業対象物からどの程度離れるか、どのような間隔でデプスの計測および全天球カメラの撮像を行うかという条件とから、閾値ＴＨ１が決定されればよい。
【０１１１】
一方、閾値ＴＨ２は、作業対象物の位置（例えば、その重心）からどの程度離れている物体を作業対象物として検出するかによって決定されればよい。これは、例えば、作業対象物に対して作業を行う際に、作業対象物からどのような距離に位置する物体がその作業に影響を与えるかによって決まる。
【０１１２】
なお、このような点を考慮すると、ステップＳ３５，Ｓ３６では、作業対象物の位置からの対応点の距離がｄ１以上ｄ２以下（ただし、ｄ１＜ｄ２）であるか否かを擬似的に判定している、と見なすことができる。
【０１１３】
［ステップＳ３９］中間背景物データ生成部３２４は、ステップＳ３７でＲＡＭ３１２に保存された各対応点の三次元座標、すなわち中間背景物の点群データに基づいて、中間背景物のポリゴンを生成する。
【０１１４】
［ステップＳ４０］中間背景物データ生成部３２４は、画像データ記憶部３４０に記憶された全天球画像を用いて、生成された各ポリゴンに貼り付けるテクスチャ画像を決定する。この決定処理は、各ポリゴンについて図１０のステップＳ２１〜Ｓ２５の処理を実行することで実行可能である。中間背景物データ生成部３２４は、各ポリゴンを示すデータにテクスチャ画像のデータを付加したテクスチャ画像付きポリゴンデータを、中間背景物データ３３２として三次元データ記憶部３３０に格納する。
【０１１５】
次に、図１４、図１５を用いて、外周データ生成部３２５による外周データ３３３の生成処理について説明する。
図１４は、外周の三次元形状の例を示す図である。図１４に示すように、外周データ生成部３２５は、仮想空間において、作業対象物の三次元モデル３３１ｃ上の所定の基準点３３１ｄを中心とした所定の半径Ｒを有する球形の三次元モデルを生成し、その内面を外周３３３ａとする。基準点３３１ｄは、例えば、作業対象物の三次元モデル３３１ｃ（正確には、対象物データ３３１に基づく三次元モデル）の重心、あるいは、この三次元モデル３３１ｃと地表面とが接している領域の中心として設定される。
【０１１６】
半径Ｒは、外周３３３ａが作業対象物の三次元モデル３３１ｃの外縁部から所定の距離（例えば、５０ｍ）だけ離れるように設定される。また、半径Ｒは、基準点３３１ｄを中心として上記の中間背景物が抽出される距離の上限値（すなわち、図１３で説明した距離ｄ２）より所定値だけ大きくなるように設定される。
【０１１７】
外周データ生成部３２５は、外周３３３ａの三次元モデルに基づくポリゴンを生成し、画像データ記憶部３４０に記憶された全天球画像を用いて、各ポリゴンに貼り付けるテクスチャ画像を生成する。外周データ生成部３２５は、このようにして生成された外周についてのテクスチャ画像付きポリゴンデータを、外周データ３３３として三次元データ記憶部３３０に格納する。
【０１１８】
図１５は、外周データの生成処理手順を示すフローチャートの例である。
［ステップＳ５１］外周データ生成部３２５は、仮想空間において、作業対象物の三次元モデル上の基準点を中心とした所定の半径を有する球形の三次元モデルを生成する。外周データ生成部３２５は、生成された三次元モデルの点群データに基づき、球形の内面のポリゴン（すなわち、外周のポリゴン）を生成する。
【０１１９】
［ステップＳ５２］外周データ生成部３２５は、図１３のステップＳ３１と同様の手順で、画像データ記憶部３４０に記憶されている各全天球画像の方向を揃える。この処理では、各全天球画像を写したカメラの撮像位置（カメラ位置）と撮像方向（方位）が同じになるように、各全天球画像が変換される。
【０１２０】
［ステップＳ５３］外周データ生成部３２５は、方向が揃えられた全天球画像を用いて、外周の各ポリゴンに貼り付けるテクスチャ画像を決定する。
この処理では、外周データ生成部３２５は、ステップＳ５２で方向が揃えられる際に基準となった全天球画像（方向が変更されなかった全天球画像）のカメラ位置とカメラ方向を特定する。このカメラ方向は、方向が揃えられた後の全天球画像のそれぞれのカメラ方向を表している。外周データ生成部３２５は、特定されたカメラ位置とカメラ方向に基づいて、全天球画像における各ポリゴンに対応する画像領域を、全天球画像ごとに特定する。外周データ生成部３２５は、ポリゴンごとに、各全天球画像から特定された画像領域のデータの論理和（ＯＲ）を計算し、その結果として算出された画像をポリゴンに対応するテクスチャ画像に決定する。
【０１２１】
図９のステップＳ１６および図１３のステップＳ４０の処理により、全天球画像からは作業対象物および中間背景物に対応する画像部分が削除されている。そのため、ステップＳ５３では、全天球画像から作業対象物および中間背景物が写っている部分を抽出して削除することなく、これら以外の被写体が写っている画像だけを用いてテクスチャ画像を容易に決定できる。
【０１２２】
外周データ生成部３２５は、このようにして生成された外周についてのテクスチャ画像付きポリゴンデータを、外周データ３３３として三次元データ記憶部３３０に格納する。
ここで、以上の処理によって生成された対象物データ３３１、中間背景物データ３３２および外周データ３３３を用いて描画した仮想空間の画像の例を、図１６に示す。
【０１２３】
図１６は、仮想空間を描画した画像の例を示す図である。図１６に示すように、仮想空間において、対象物データ３３１に基づいて、作業対象物である物体１３１を示す三次元モデル１３１ａが描画される。また、中間背景物データ３３２に基づいて、中間背景物である物体１３２，１３３をそれぞれ示す三次元モデル１３２ａ，１３３ａが描画される。三次元モデル１３１ａ，１３２ａ，１３３ａは、テクスチャ画像付きの状態で表示される。一方、作業対象物から遠方にある物体１３４〜１３６をそれぞれ示す像１３４ａ〜１３６ａは、外周３３３ｂ（すなわち、球体の内面）に画像として貼り付けた状態で描画される。
【０１２４】
三次元モデル１３１ａ，１３２ａ，１３３ａは、それぞれ三次元データに基づいて描画されるので、視点の位置と方向、すなわち閲覧者の位置と方向に応じた位置と角度で表示される。したがって、閲覧者は、三次元モデル１３１ａと三次元モデル１３２ａ，１３３ａとの位置関係、すなわち、仮想空間での作業対象物と中間背景物との位置関係を、比較的正確に把握できる。また、外周３３３ｂに描画される物体も、視点の位置と方向に応じた位置と角度で表示される。しかし、作業対象物と中間背景物との位置関係と比較して、作業対象物と外周３３３ｂにおける物体の像との位置関係の精度は低い。したがって、外周３３３ｂの描画は、作業対象物から遠方における状況を、距離の算出などを伴わない軽負荷の処理によって簡易的に描画して、作業現場の雰囲気を再現することを目的として行われる。
【０１２５】
ここで、本実施の形態に係る情報処理システムを現場作業の訓練や教育に利用する場合、直接的な作業対象となる作業対象物だけでなく、その周囲に存在する物体の位置や形状を把握できる方が好ましい場合がある。例えば、クレーンを操作して荷物（作業対象物）を昇降させる作業を行う場合に、クレーンの稼働範囲内に存在する荷物以外の物体との接触を防ぐためには、荷物の位置や形状を認識できるだけでは不十分である。この作業では、荷物の昇降場所の周囲の状況をできるだけ詳しく、立体的に認識できることが好ましい。
【０１２６】
このような目的を達成する方法としては、三次元スキャナ１１０などの空間認識センサ１０１として、一定以上の精度で三次元形状を計測可能な距離の上限値が大きいものを使用する方法が考えられる。しかし、この方法では、計測用の高性能で高価なデバイスが必要となり、コストが増大してしまう。一方、周囲の状況をすべて外周３３３ｂに描画する方法では、閲覧者が移動したときに作業対象物とその周囲の物体との位置関係の再現性が低く、現場作業の訓練や教育における有用性が低下してしまう。
【０１２７】
このような問題に対して、サーバ３００の上記処理によれば、全天球カメラ１２０などのカメラ１０２を用いて撮像された画像を用いて、作業対象物の周囲に存在する中間背景物の三次元形状が計測される。これにより、空間認識センサ１０１として、最低限、作業対象物を含む範囲のみ三次元形状を計測可能な比較的低コストのデバイスを用いて、作業対象物の周囲の状況を立体的に認識できる。中間背景物の計測精度は、専用の空間認識センサ１０１を用いて計測された作業対象物の計測精度より低くなる可能性がある。しかし、中間背景物は、仮想空間において作業者に対応する閲覧者のすぐ近くに存在する物体ではないので、作業対象物ほど三次元形状や位置が正確に再現されなくてもよい。すなわち、サーバ３００の処理により、閲覧者は、作業の訓練や教育のための有用性が十分得られる範囲で、作業対象物とその周囲の物体との位置関係を、立体的に認識できるようになる。
【０１２８】
一方、作業対象物から中間背景物よりさらに遠くの物体については、外周３３３ｂにおいて簡易的に描画される。これにより、三次元データの算出や三次元モデルの描画の際の処理負荷を軽減しつつ、作業現場から遠くの状況を閲覧者に認識させ、仮想空間の画像のリアリティを高めることができる。
【０１２９】
なお、対象物データ３３１を用いて描画される物体としては、作業の対象となる物体だけでなく、作業に使用される機材が含まれてもよい。例えば、クレーンを用いた作業の場合、クレーンの操作パネルや操作レバー、これらが設置された操作室などの三次元形状が、対象物データ３３１としてデータ化され、この対象物データ３３１を用いて描画されてもよい。
【０１３０】
次に、図１７、図１８を用いて、中間背景物位置補正部３２６による中間背景物の位置補正処理について説明する。
図１７は、中間背景物の位置補正処理で用いられる変換グラフの例を示す図である。外周の半径を、作業対象物の位置から中間背景物が検出される上限の距離より短く設定することができる。その場合、中間背景物位置補正部３２６は、仮想空間における作業対象物から中間背景物の各特徴点までの距離を、外周の半径以内に変換する。
【０１３１】
図１７は、このような変換で用いられる変換グラフの一例である。図１７のグラフによれば、作業対象物の基準点（図１４の基準点３３１ｄに相当する位置）から中間背景物の各特徴点までの現実空間における０ｍ〜１０００ｍの距離が、仮想空間における０ｍ〜５０ｍの距離に変換される。このとき、現実空間における距離を仮想空間の距離にリニアに変換するのでなく、図１７の例のように現実空間の距離が長いほど変換の倍率を低くすることで、仮想空間において中間背景物を自然に見せることができる。
【０１３２】
図１８は、中間背景物の位置補正の処理手順を示すフローチャートの例である。
［ステップＳ６１］中間背景物位置補正部３２６は、中間背景物が複数検出されている場合、それらの中から中間背景物を１つ選択する。
【０１３３】
［ステップＳ６２］中間背景物位置補正部３２６は、中間背景物データ３３２に基づき、選択された中間背景物におけるポリゴンの頂点（特徴点）を１つ選択する。
［ステップＳ６３］中間背景物位置補正部３２６は、選択された頂点と、作業対象物の基準点との距離を算出する。基準点としては、図１４に示した基準点３３１ｄを用いることができる。
【０１３４】
［ステップＳ６４］中間背景物位置補正部３２６は、図１７に示したグラフにしたがい、算出された距離を変換する。中間背景物位置補正部３２６は、変換後の距離に応じて、選択された頂点の仮想空間における座標を変換する。すなわち、この変換では、選択された頂点と作業対象物の基準点との距離が、変換後の距離になるように、選択された頂点の座標を変換する。
【０１３５】
［ステップＳ６５］中間背景物位置補正部３２６は、選択された中間背景物におけるポリゴンの頂点の中に、ステップＳ６２で未選択の頂点があるかを判定する。中間背景物位置補正部３２６は、未選択の頂点がある場合、処理をステップＳ６２に進め、未選択の頂点を１つ選択する。一方、中間背景物位置補正部３２６は、すべての頂点を選択済みの場合、ステップＳ６６の処理を実行する。
【０１３６】
［ステップＳ６６］中間背景物位置補正部３２６は、ステップＳ６１で未選択の中間背景物があるかを判定する。中間背景物位置補正部３２６は、未選択の中間背景物がある場合、処理をステップＳ６１に進め、未選択の中間背景物を１つ選択する。一方、中間背景物位置補正部３２６は、すべての中間背景物を選択済みの場合、処理を終了する。
【０１３７】
次に、図１９〜図２２を用いて、補完処理部３２７による三次元形状の補完処理について説明する。
図１９は、仮想空間における三次元形状の補完領域について説明するための図である。図１９Ａは、仮想空間の平面図を示し、図１９Ｂは、仮想空間の側面図を示す。
【０１３８】
ここまでの処理で、対象物データ３３１、中間背景物データ３３２および外周データ３３３が生成されている。これにより、仮想空間において作業対象物、中間背景物および外周を描画できる状態となっている。図１９の例では、作業対象物の三次元モデル１３１ａ、中間背景物の三次元モデル１３２ａ，１３３ａ、外周３３３ｂが描画されている。
【０１３９】
しかし、このままでは、作業対象物と中間背景物との間や、中間背景物と外周との間に、三次元モデルが生成されていないために何も描画されない領域（データ不足領域）が発生し得る。図１９の例では、データ不足領域３３４ａを網掛けで示しており、このデータ不足領域３３４ａで何も描画されない。そこで、補完処理部３２７は、現状で生成済みの対象物データ３３１、中間背景物データ３３２および外周データ３３３を用いて、上記のようなデータ不足領域３３４ａの三次元モデルを簡易的に生成する。
【０１４０】
図２０は、三次元形状の補完処理についての第１の例を示す図である。図２０は、仮想空間の側面図の例を示している。作業対象物の三次元モデル１３１ａと中間背景物の三次元モデル１３２ａとの間にデータ不足領域３３４ｂが存在し、中間背景物の三次元モデル１３２ａと外周３３３ｂとの間にデータ不足領域３３４ｃが存在している。
【０１４１】
補完処理部３２７は、作業対象物の三次元モデル１３１ａにおける外側（三次元モデル１３１ａの基準点に対する外側）の端部１３１ｂを通る垂線Ｌ１を引き、その端部１３１ｂから垂線Ｌ１に対して４５°外側に傾けた直線Ｌ２を引く。また、補完処理部３２７は、中間背景物の三次元モデル１３２ａにおける内側の端部１３２ｃを通る垂線Ｌ３を引き、その端部１３２ｃから垂線Ｌ３に対して４５°内側に傾けた直線Ｌ４を引く。
【０１４２】
そして、補完処理部３２７は、直線Ｌ２と直線Ｌ４で挟まれた領域においてこれらの交点Ｐ１の側に湾曲するように端部１３１ｂと端部１３２ｃとをなだらかに結ぶ曲線Ｌ５を生成する。補完処理部３２７は、曲線Ｌ５を通る曲面を示す三次元モデルを生成する。これにより、データ不足領域３３４ｂの三次元形状が補完される。
【０１４３】
また、データ不足領域３３４ｃについても同様の補完処理が行われる。補完処理部３２７は、中間背景物の三次元モデル１３２ａにおける外側の端部１３２ｄを通る垂線Ｌ６を引き、その端部１３２ｄから垂線Ｌ６に対して４５°外側に傾けた直線Ｌ７を引く。また、補完処理部３２７は、外周３３３ｂにおける最も外側の端部３３３ｃ（基準点を通る平面と外周との交点）を通る垂線Ｌ８を引き、その端部３３３ｃから垂線Ｌ８に対して４５°内側に傾けた直線Ｌ９を引く。
【０１４４】
そして、補完処理部３２７は、直線Ｌ７と直線Ｌ９で挟まれた領域においてこれらの交点Ｐ２の側に湾曲するように端部１３２ｄと端部３３３ｃとをなだらかに結ぶ曲線Ｌ１０を生成する。補完処理部３２７は、曲線Ｌ１０を通る曲面を示す三次元モデルを生成する。これにより、データ不足領域３３４ｃの三次元形状が補完される。
【０１４５】
補完処理部３２７はさらに、曲線Ｌ５，Ｌ１０をそれぞれ通る曲面の三次元モデルに対して貼り付けるテクスチャ画像を生成する。テクスチャ画像は、例えば、曲線の両端部の色を用い、一端から他端まで前者の色から後者の色に徐々に変化していくようなグラデーション画像として生成される。例えば、曲線Ｌ５を通る曲面の三次元モデルには、端部１３１ｂから端部１３２ｃに対し、端部１３１ｂの色から端部１３２ｃの色に徐々に変化していくようなグラデーション画像が貼り付けられる。また、曲線Ｌ１０を通る曲面の三次元モデルには、端部１３２ｄから端部３３３ｃに対し、端部１３２ｄの色から端部３３３ｃの色に徐々に変化していくようなグラデーション画像が貼り付けられる。
【０１４６】
以上の処理によって生成されたデータ不足領域の三次元モデルを示すテクスチャ画像付きポリゴンデータが、補完データ３３４として三次元データ記憶部３３０に格納される。
図２１は、三次元形状の補完処理についての第２の例を示す図である。図２１は、仮想空間の側面図の例を示している。図２０と同様に、作業対象物の三次元モデル１３１ａと中間背景物の三次元モデル１３２ａとの間にデータ不足領域３３４ｂが存在し、中間背景物の三次元モデル１３２ａと外周３３３ｂとの間にデータ不足領域３３４ｃが存在している。
【０１４７】
作業現場を含む領域について、緯度・経度データ、標高データおよび航空写真を含む地図データが存在する場合がある。この場合には、地図データを用いてデータ不足領域の三次元形状を補完し、補完された領域のテクスチャ画像を生成できる。
【０１４８】
補完処理部３２７は、データ不足領域３３４ｂに対応する緯度・経度データと標高データを用いて、データ不足領域３３４ｂのポリゴンを生成する。これにより、データ不足領域３３４ｃの三次元形状が補完される。このとき、補完処理部３２７は、図１８に示した変換グラフを用いた方法により、作業対象物の基準点から地図上の各部の位置への距離を補正する。図２１に示す曲線Ｌ１１は、このようにして生成されたポリゴンの断面を示す。また、補完処理部３２７は、航空写真におけるポリゴンに対応する部分の画像を、生成されたポリゴンに貼り付けるテクスチャ画像に決定する。
【０１４９】
データ不足領域３３４ｃについても、上記と同様の手順によって、ポリゴンと対応するテクスチャ画像とが生成される。図２１に示す曲線Ｌ１２は、生成されたポリゴンの断面を示す。補完処理部３２７は、このようにして生成されたデータ不足領域の三次元モデルを示すテクスチャ画像付きポリゴンデータを、補完データ３３４として三次元データ記憶部３３０に格納する。
【０１５０】
図２２は、三次元形状の補完処理の手順を示すフローチャートの例である。
［ステップＳ７１］補完処理部３２７は、作業現場を含む領域についての地図データがあるかを判定する。補完処理部３２７は、地図データがない場合、ステップＳ７２の処理を実行し、地図データがある場合、ステップＳ７３の処理を実行する。
【０１５１】
［ステップＳ７２］補完処理部３２７は、既存のテクスチャ画像付きポリゴンデータ、すなわち、対象物データ３３１、中間背景物データ３３２および外周データ３３３を用いて、データ不足領域の三次元形状を補完する。また、補完処理部３２７は、グラデーション処理によって、補完された三次元形状のポリゴンに対応するテクスチャ画像を生成する。補完処理部３２７は、生成されたデータ不足領域の三次元モデルを示すテクスチャ画像付きポリゴンデータを、補完データ３３４として三次元データ記憶部３３０に格納する。
【０１５２】
［ステップＳ７３］補完処理部３２７は、地図データに含まれる緯度・経度データと標高データを用いて、データ不足領域の三次元形状を補完する。また、補完処理部３２７は、地図データに含まれる航空写真を用いて、補完された三次元形状のポリゴンに対応するテクスチャ画像を生成する。補完処理部３２７は、生成されたデータ不足領域の三次元モデルを示すテクスチャ画像付きポリゴンデータを、補完データ３３４として三次元データ記憶部３３０に格納する。
【０１５３】
以上説明したサーバ３００の処理によって生成された対象物データ３３１、中間背景物データ３３２、外周データ３３３および補完データ３３４を用いることで、オフィス２００における閲覧者が視認する空間全体の環境が、仮想空間上に再現される。対象物データ３３１と中間背景物データ３３２によって、作業対象物と中間背景物が立体的に描画され、かつ、それらの位置関係が正確に描画される。また、外周データ３３３を用いて、遠景の状況が簡易な処理によって描画され、画像のリアリティが高められる。さらに、補完データ３３４によって、作業対象物、中間背景物、外周以外の領域の画像が簡易的に描画され、何も描画されない不自然な領域をなくすことができる。
【０１５４】
したがって、このような仮想空間の描画を現場作業の訓練や教育に利用する場合、空間全体が描画されることで、閲覧者の違和感を軽減できる。また、閲覧者にとって重要な物体のみが立体形状で描画され、それ以外の物体や風景が簡易的に描画される。これにより、描画のための処理負荷が増大することを防止しつつ、閲覧者に対して現場作業の訓練や教育に有用な画像を閲覧させることができる。
【０１５５】
なお、上記の各実施の形態に示した装置（例えば、データ生成装置１、サーバ３００）の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、磁気テープなどがある。光ディスクには、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）、ブルーレイディスク（Blu-ray Disc：ＢＤ、登録商標）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１５６】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１５７】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。
【符号の説明】
【０１５８】
１  データ生成装置
１ａ  記憶部
１ｂ  処理部
２ａ，２ｂ  撮像画像
３ａ  第１の被写体
３ｂ  第２の被写体
４ａ  第１の三次元データ
４ｂ  第２の三次元データ
５  カメラ
Ｓ１，Ｓ２  ステップ
【図１】
2020052719.tif 000003
【図２】
2020052719.tif 000004
【図３】
2020052719.tif 000005
【図４】
2020052719.tif 000006
【図５】
2020052719.tif 000007
【図６】
2020052719.tif 000008
【図７】
2020052719.tif 000009
【図８】
2020052719.tif 000010
【図９】
2020052719.tif 000011
【図１０】
2020052719.tif 000012
【図１１】
2020052719.tif 000013
【図１２】
2020052719.tif 000014
【図１３】
2020052719.tif 000015
【図１４】
2020052719.tif 000016
【図１５】
2020052719.tif 000017
【図１６】
2020052719.tif 000018
【図１７】
2020052719.tif 000019
【図１８】
2020052719.tif 000020
【図１９】
2020052719.tif 000021
【図２０】
2020052719.tif 000022
【図２１】
2020052719.tif 000023
【図２２】
2020052719.tif 000024