(57)【特許請求の範囲】
【請求項１】
一つの視点から撮影された室内のパノラマ画像を、このパノラマ画像が有する画角情報を反映するように仮想空間上で円筒にして配置する工程と、
前記仮想空間上における前記室内の天井面と床面とを、それぞれ前記円筒の上面と下面とに接するように配置する工程と、
前記パノラマ画像の長さである前記円筒の周面長から、該円筒の半径を求める工程と、
前記パノラマ画像の高さを得る工程と、
前記仮想空間上の任意の柱が前記天井面および床面に接するそれぞれの頂点に対応するマーカーを前記パノラマ画像中に設定する工程と、
前記各マーカーの前記パノラマ画像中での高さを求める工程と、
前記円筒の半径、前記パノラマ画像の高さ、および前記各マーカーの前記パノラマ画像中での高さに基づいて、前記仮想空間上での視点から前記柱までの距離および前記視点の高さを求める工程とを有し、
前記パノラマ画像に基づいて前記室内の仮想環境モデルを生成することを特徴とする仮想環境生成方法。
【請求項２】
請求項１記載の仮想環境作成方法において、
視点の高さを求めるのに使用しなかった視線方向に関する視点の高さを、水平面内の回転方向において少なくともその前後に位置する既に求めた視点の高さに基づいて補間により求めることを特徴とする仮想環境生成方法。
【請求項３】
請求項１記載の仮想環境生成方法において、
前記パノラマ画像に基づいて構築した前記仮想環境モデルにおける梁の位置を視線方向とする視点位置を、該視点が存在する前記仮想空間上の水平面内で移動させて、前記梁を直線に修正することを特徴とする仮想環境生成方法。
【請求項４】
請求項１記載の仮想環境生成方法において、
前記パノラマ画像に基づいて構築した前記仮想環境モデルの表面情報として、前記パノラマ画像中の対応する位置の画像情報をテクスチャとして貼り付けることを特徴とする仮想環境生成方法。
【請求項５】
一つの視点から撮影された室内のパノラマ画像を、このパノラマ画像が有する画角情報を反映するように仮想空間上で円筒にして配置する工程と、
前記仮想空間上における前記室内の天井面および床面の少なくとも一方を、前記円筒の上面および下面のうち少なくとも一方に接するように配置する工程と、
前記円筒の周面長、半径、高さ、および前記パノラマ画像の撮影時の画角を求める工程と、
前記仮想空間上の任意の柱が前記天井面および床面に接するそれぞれの頂点に対応するマーカーを前記パノラマ画像中に設定する工程と、
前記各マーカーの前記パノラマ画像中での高さを求める工程と、
前記パノラマ画像での視点位置を設定して、その設定された視点位置、前記円筒の半径、および前記各マーカーの前記パノラマ画像中での高さに基づいて、前記仮想空間上での視点から前記柱までの距離および前記仮想空間上における前記室内の高さを求める工程とを有し、
前記パノラマ画像に基づいて前記室内の仮想環境モデルを生成することを特徴とする仮想環境生成方法。
【請求項６】
請求項５記載の仮想環境生成方法において、
前記仮想環境モデルの壁面が四辺形であることを拘束条件として、前記仮想空間上での視点から前記柱までの距離を補正することを特徴とする仮想環境生成方法。
【請求項７】
請求項５または６記載の仮想環境生成方法において、
前記円筒を前記画角に基づく曲面に補正し、この補正した曲面の前記パノラマ画像中の画像情報をテクスチャとして、前記パノラマ画像に基づいて構築した前記仮想環境モデルの対応する位置の表面情報として貼り付けることを特徴とする仮想環境生成方法。
【請求項８】
請求項１〜７のいずれか一項に記載の仮想環境生成方法を実施する装置であって、
パノラマ画像を表示する画像表示手段と、
この画像表示手段に表示されたパノラマ画像上で、仮想空間上の任意の柱が天井面および床面に接するそれぞれの頂点に対応するマーカーを設定する手段と、
前記パノラマ画像および前記マーカーの前記パノラマ画像上での位置情報に基づいて、前記パノラマ画像に対応する仮想環境モデルを生成する手段と、
を有することを特徴とする仮想環境生成装置。
【請求項９】
一つの視点から撮影された室内のパノラマ画像をもとに、コンピュータにより仮想環境を生成するためのプログラムを記録した記録媒体であって、
前記コンピュータに、
前記パノラマ画像を、その画像が有する画角情報を反映するように仮想空間上で円筒として、該円筒の上面および下面を前記仮想空間上における前記室内の天井面および床面にそれぞれ接するように配置する機能と、
前記円筒の周面長、半径および高さを求める機能と、
前記仮想空間上の任意の柱が前記天井面および床面に接するそれぞれの頂点に対応して前記パノラマ画像中に設定されるマーカーに基づいて、各マーカーの前記パノラマ画像中での高さを求める機能と、
前記円筒の半径、高さ、および前記各マーカーの前記パノラマ画像中での高さに基づいて、前記仮想空間上での視点から前記柱までの距離および前記視点の高さを求めて、前記パノラマ画像に基づいて前記室内の仮想環境モデルを生成する機能と、
を実現させるためのプログラムを記録した記録媒体。
【請求項１０】
一つの視点から撮影された室内のパノラマ画像をもとに、コンピュータにより仮想環境を生成するためのプログラムを記録した記録媒体であって、
前記コンピュータに、
前記パノラマ画像を、その画像が有する画角情報を反映するように仮想空間上で円筒として、該円筒の上面および下面のうち少なくとも一方が前記仮想空間上における前記室内の天井面および床面のうち少なくとも一方に接するように配置する機能と、
前記円筒の周面長、半径、高さ、および前記パノラマ画像の撮影時の画角を求める機能と、
前記仮想空間上の任意の柱が前記天井面および床面に接するそれぞれの頂点に対応して前記パノラマ画像中に設定されるマーカーに基づいて、各マーカーの前記パノラマ画像中での高さを求める機能と、
前記パノラマ画像の設定された視点位置、前記円筒の半径、および前記各マーカーの前記パノラマ画像中での高さに基づいて、前記仮想空間上での視点から前記柱までの距離および前記仮想空間上における前記室内の高さを求めて、前記パノラマ画像に基づいて前記室内の仮想環境モデルを生成する機能と、
を実現させるためのプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、三次元仮想空間を体験するための仮想環境を生成する方法および装置、並びに仮想環境を生成するプログラムを記録した記録媒体に関するものである。
【０００２】
【従来の技術】
コンピュータグラフィックを用いて三次元の仮想空間を作成する方法は、従来種々提案されている。例えば、特開平９−１８７０３８号公報には、被写体の一部が重複して撮像されるように、撮像手段により異なる複数の撮像位置で被写体を撮像して複数の画像を得ると共に、各撮像位置および撮像手段のレンズ位置とに基づいてパラメータを算出して、これら複数の画像と算出したパラメータとを用いて被写体の距離分布を抽出し、その順次求められる距離分布と撮像した画像とを上記のパラメータを用いて逐次統合して被写体の三次元モデルを再構成するようにしたものが開示されている。
【０００３】
また、特開平９−２４４５２２号公報には、建築物の平面図や別の三次元モデリングソフトを用いて建築物の三次元幾何データを作成すると共に、この三次元幾何データを周りの景観を表す円筒形の空間内に設置して、建築物内部の写真やベランダ等で撮影した景観のパノラマ写真の画像に映っている特徴点と対応する三次元幾何データ中の頂点のマッピングを指定して画像マッピングデータを作成し、これら三次元幾何データおよび画像マッピングデータを仮想空間データとして保存して、仮想空間体験時には、三次元幾何データの画像への投影に加えて、画像マッピングデータに指定された画像を三次元幾何データにテクスチャマッピングして表示するようにしたものが開示されている。
【０００４】
【発明が解決しようとする課題】
しかしながら、前者の仮想空間作成方法にあっては、被写体の距離分布を抽出するために、撮像手段で撮像して得た複数の画像の各々に対して、その撮像位置と撮像手段のレンズ位置とを検出する必要があるため、操作が煩雑で、処理に時間がかかるという問題がある。また、この場合、三次元座標データを、レンジファインダ等の測距装置を用いて直接コンピュータに取り込むこともできるが、このようにするとシステム全体が高価になるという問題が生じることになる。
【０００５】
また、後者の仮想空間作成方法にあっては、建築物の平面図や別の三次元モデリングソフトを用いて建築物の三次元幾何データを作成する必要があるため、モデリング作業が煩雑となり、使用者に多大な労力と時間を強いることになるという問題がある。
【０００６】
この発明は、このような従来の問題点に着目してなされたもので、その第１の目的は、仮想環境を簡単に作成できる仮想環境作成方法を提供しようとするものである。
【０００７】
さらに、この発明の第２の目的は、上記の仮想環境作成方法を簡単かつ安価な構成で実施できる仮想環境作成装置を提供しようとするものである。
【０００８】
さらに、この発明の第３の目的は、上記の仮想環境作成方法を実行するための仮想環境生成プログラムを記録した記録媒体を提供しようとするものである。
【０００９】
【課題を解決するための手段】
上記第１の目的を達成するため、この発明に係る仮想環境生成方法は、
一つの視点から撮影された室内のパノラマ画像を、このパノラマ画像が有する画角情報を反映するように仮想空間上で円筒にして配置する工程と、
前記仮想空間上における前記室内の天井面と床面とを、それぞれ前記円筒の上面と下面とに接するように配置する工程と、
前記パノラマ画像の長さである前記円筒の周面長（Ｌ）から、該円筒の半径（ｒ）を求める工程と、
前記パノラマ画像の高さ（Ｈ）を得る工程と、
前記仮想空間上の任意の柱が前記天井面および床面に接するそれぞれの頂点（Ａ，Ｂ）に対応するマーカー（Ａ’，Ｂ’）を前記パノラマ画像中に設定する工程と、
前記各マーカーの前記パノラマ画像中での高さ（ａ，ｂ）を求める工程と、
前記円筒の半径（ｒ）、前記パノラマ画像の高さ（Ｈ）、および前記各マーカーの前記パノラマ画像中での高さ（ａ，ｂ）に基づいて、前記仮想空間上での視点（Ｏ）から前記柱（Ａ−Ｂ線）までの距離（Ｚ）および前記視点（Ｏ）の高さ（ｗ）を求める工程とを有し、
前記パノラマ画像に基づいて前記室内の仮想環境モデルを生成することを特徴とするものである。
【００１０】
この発明の一実施形態では、パノラマ画像作成時における視点の高さの変動を補正するため、視点の高さを求めるのに使用しなかった視線方向に関する視点の高さを、水平面内の回転方向において少なくともその前後に位置する既に求めた視点の高さに基づいて補間により求める。
【００１１】
さらに、この発明の一実施形態では、パノラマ画像作成時における視点の水平位置の変動を補正するため、前記パノラマ画像に基づいて構築した前記仮想環境モデルにおける梁の位置を視線方向とする視点位置を、該視点が存在する前記仮想空間上の水平面内で移動させて、前記梁を直線に修正する。
【００１２】
さらに、この発明の一実施形態では、テクスチャ情報を別データとして準備することなく、パノラマ画像情報中のデータをテクスチャ情報として利用するため、前記パノラマ画像に基づいて構築した前記仮想環境モデルの表面情報として、前記パノラマ画像中の対応する位置の画像情報をテクスチャとして貼り付ける。
【００１３】
さらに、この発明に係る仮想環境生成方法は、
一つの視点から撮影された室内のパノラマ画像を、このパノラマ画像が有する画角情報を反映するように仮想空間上で円筒にして配置する工程と、
前記仮想空間上における前記室内の天井面および床面の少なくとも一方を、前記円筒の上面および下面のうち少なくとも一方に接するように配置する工程と、
前記円筒の周面長（Ｌ）、半径（ｒ）、高さ（Ｈ）、および前記パノラマ画像の撮影時の画角（θ）を求める工程と、
前記仮想空間上の任意の柱が前記天井面および床面に接するそれぞれの頂点（Ａ，Ｂ）に対応するマーカーを前記パノラマ画像中に設定する工程と、
前記各マーカーの前記パノラマ画像中での高さ（ａ，ｂ）を求める工程と、
前記パノラマ画像での視点位置（Ｈ/2）を設定して、その設定された視点位置（Ｈ/2）、前記円筒の半径（ｒ）、および前記各マーカーの前記パノラマ画像中での高さ（ａ，ｂ）に基づいて、前記仮想空間上での視点（Ｏ）から前記柱（Ａ−Ｂ線）までの距離（Ｚp ）および前記仮想空間上における前記室内の高さ（ｈ）を求める工程とを有し、
前記パノラマ画像に基づいて前記室内の仮想環境モデルを生成することを特徴とするものである。
【００１４】
この発明の一実施形態では、前記仮想環境モデルの壁面が四辺形であることを拘束条件として、前記仮想空間上での視点から前記柱までの距離を補正する。
【００１５】
さらに、この発明の一実施形態では、パノラマ画像情報中のデータをテクスチャ情報として利用するため、前記円筒を前記画角に基づく曲面に補正し、この補正した曲面の前記パノラマ画像中の画像情報をテクスチャとして、前記パノラマ画像に基づいて構築した前記仮想環境モデルの対応する位置の表面情報として貼り付ける。
【００１６】
さらに、上記第２の目的を達成するため、この発明に係る仮想環境生成装置では、パノラマ画像を表示する画像表示手段と、この画像表示手段に表示されたパノラマ画像上で、仮想空間上の任意の柱が天井面および床面に接するそれぞれの頂点に対応するマーカーを設定する手段と、前記パノラマ画像および前記マーカーの前記パノラマ画像上での位置情報に基づいて、前記パノラマ画像に対応する仮想環境モデルを生成する手段とを設けて、請求項１〜７のいずれか一項に記載の仮想環境生成方法を実施するようにする。
【００１７】
さらに、上記第３の目的を達成するため、この発明は、一つの視点から撮影された室内のパノラマ画像をもとに、コンピュータにより仮想環境を生成するためのプログラムを記録した記録媒体であって、
前記コンピュータに、
前記パノラマ画像を、その画像が有する画角情報を反映するように仮想空間上で円筒として、該円筒の上面および下面を前記仮想空間上における前記室内の天井面および床面にそれぞれ接するように配置する機能と、
前記円筒の周面長、半径および高さを求める機能と、
前記仮想空間上の任意の柱が前記天井面および床面に接するそれぞれの頂点に対応して前記パノラマ画像中に設定されるマーカーに基づいて、各マーカーの前記パノラマ画像中での高さを求める機能と、
前記円筒の半径、高さ、および前記各マーカーの前記パノラマ画像中での高さに基づいて、前記仮想空間上での視点から前記柱までの距離および前記視点の高さを求めて、前記パノラマ画像に基づいて前記室内の仮想環境モデルを生成する機能と、
を実現させるためのプログラムを記録する。
【００１８】
さらに、この発明は、一つの視点から撮影された室内のパノラマ画像をもとに、コンピュータにより仮想環境を生成するためのプログラムを記録した記録媒体であって、
前記コンピュータに、
前記パノラマ画像を、その画像が有する画角情報を反映するように仮想空間上で円筒として、該円筒の上面および下面のうち少なくとも一方が前記仮想空間上における前記室内の天井面および床面のうち少なくとも一方に接するように配置する機能と、
前記円筒の周面長、半径、高さ、および前記パノラマ画像の撮影時の画角を求める機能と、
前記仮想空間上の任意の柱が前記天井面および床面に接するそれぞれの頂点に対応して前記パノラマ画像中に設定されるマーカーに基づいて、各マーカーの前記パノラマ画像中での高さを求める機能と、
前記パノラマ画像の設定された視点位置、前記円筒の半径、および前記各マーカーの前記パノラマ画像中での高さに基づいて、前記仮想空間上での視点から前記柱までの距離および前記仮想空間上における前記室内の高さを求めて、前記パノラマ画像に基づいて前記室内の仮想環境モデルを生成する機能と、
を実現させるためのプログラムを記録する。
【００１９】
【発明の実施の形態】
以下、この発明の実施の形態について、図面を参照して説明する。
図１は、この発明の第１実施形態を説明するための図で、パノラマ画像と再構成される３Ｄモデルとの位置関係を示すものである。パノラマ画像は、全周囲方向３６０°を撮影したもので、視点から有限距離の円筒の側面上に、被写体を投影した平面状のものである。このパノラマ画像の高さをＨ、幅をＬとすると、パノラマ画像は高さＨ、半径ｒの円筒の内側面に、円筒の外側の被写体をテクスチャとした三次元オブジェクトと考えることができる。ここで、パノラマ画像の高さＨおよび幅Ｌは、パノラマ画像の垂直方向の画素数および水平方向の画素数に基づいてそれぞれ求めることができ、また、半径ｒは、ｒ＝Ｌ／２πの演算により求めることができる。
【００２０】
この実施形態では、一つの視点から撮影された部屋等の構造物の内部（室内）のパノラマ画像を、そのパノラマ画像が有する画角情報を反映するように再構成する室内の３Ｄモデル２上で円筒形に配置し、そのパノラマ画像の円筒１を、その上面と下面とが３Ｄモデル２の天井と床とにそれぞれ接するように配置して、仮想的視点を移動させてパノラマ画像から３Ｄモデル２を再構成する。したがって、この場合、３Ｄモデル２の高さはＨとなる。このように、パノラマ画像の円筒画像をスケールの基準とした３Ｄ再構成空間を、仮想空間Ｒ3 と定義する。
【００２１】
図２は、第１実施形態による３Ｄモデル２の再構成を説明するための図である。図２において、仮想空間Ｒ3 の被写体の天井に接している角の頂点をＡ、この頂点Ａと同じ水平位置で床に接している頂点をＢとし、これら頂点Ａ，Ｂと対応するパノラマ画像の円筒１上の点をそれぞれＡ’，Ｂ’とする。これら点Ａ’，Ｂ’は、それぞれ頂点Ａ，Ｂに対応するマーカーで、ユーザにおいてパノラマ画像上で室内の天井および床に接する角の柱から、それぞれの柱について指定し、その指定された柱の点Ａ’，Ｂ’のパノラマ画像上でのそれぞれの垂直位置ａ，ｂを、垂直方向の画素数に基づいて求める。
【００２２】
ここで、仮想空間Ｒ3 における垂直位置のゼロ点をパノラマ画像の上端とすると、マーカーによって指定された各柱に対応する仮想空間Ｒ3 でのパノラマ画像の視点Ｏの座標は、各柱についての被写体の頂点Ａ，Ｂと円筒１上の点Ａ’，Ｂ’とをそれぞれ結んだ直線と円筒１の中心線Ｍとの交点で、中心線Ｍ上に存在するが、その高さｗは与えられていない。また、頂点Ａ，Ｂの各座標についても、中心線Ｍから頂点Ａ，Ｂまでの距離Ｚが未知数である。これら視点の高さｗおよび距離Ｚは、視点Ｏからパノラマ画像までの距離が円筒の半径Ｌ／２πに等しいことと、三角形の相似を用いて、
【数１】
0004119529.tif 000002
により求めることができるので、これにより３Ｄモデル２の各頂点に対応する視点の座標と、各頂点の座標とを求める。
【００２３】
このように、マーカーによって指定された各柱について被写体の頂点Ａ，Ｂが仮想空間Ｒ3 でのモデルの天井、床に接する頂点に対応させるようにすれば、その頂点を結ぶことにより３Ｄモデル２を構成することができる。
【００２４】
以上のようにして３Ｄモデル２を構成したら、３Ｄモデルのテクスチャマッピングを行う。すなわち、図３に示すように、パノラマ画像の円筒１上の点Ｑと視点Ｏとを結ぶ直線が３Ｄモデル２と交差する点をＰとすると、この点Ｐに点Ｑの画素情報を写像する。この画素の対応づけを行う実際のアルゴリズムの一例について、以下に説明する。
【００２５】
図４は、パノラマ画像の円筒１を真上から見たもので、３Ｄモデル２の壁面の位置（ｐ，ｑ）とパノラマ画像の画素位置（ｉp ，ｊq ）との関係を示している。ただし、（ｐ，ｑ）は壁面の画素の配列とし、左上すみを始点（０，０）としている。ここで、視点Ｏから角１，２の柱までの距離をＺ1 ，Ｚ2 、視点Ｏから角１，２で囲まれた壁面１までの距離をＺｃ、角１，２に対応するマーカーの水平座標（パノラマ画像の左端を０とする）をｉ1 ，ｉ2 、Ｚ1 ，Ｚ2 方向の成す角度をθ、Ｚ1 ，Ｚｃ方向の成す角度をθ1 とすると、Ｚｃは、
【数２】
0004119529.tif 000003
【００２６】
図５は、テクスチャマッピングを視点Ｏと注目点（ｐ，ｑ）を結ぶ直線とを含む床に垂直な面上でみたものである。図２で説明したと同様に、パノラマ画像の垂直方向のインデックスｊq は、三角形の相似を用いて、
【数３】
0004119529.tif 000004
で得られる。
【００２７】
図６は、３Ｄモデル２の天井部分と床の部分とのテクスチャマッピングの様子を示すものである。パノラマ画像の円筒１は、パノラマ画像の左端が（ｘ，ｙ）＝（−Ｌ／２π，０）となるように、中心Ｒを（ｘ，ｙ）＝（０，０）に配置する。このような座標系で、上記（１）式で求めた３Ｄモデル２のすべての頂点を含むような最小の直方体を考える。この場合、直方体の天井の座標は（ｄ2 ，ｅ1 ，Ｈ）、（ｄ1 ，ｅ1 ，Ｈ）、（ｄ2 ，ｅ2 ，Ｈ）、（ｄ1 ，ｅ2 ，Ｈ）となり、床の座標は（ｄ2 ，ｅ1 ，０）、（ｄ1 ，ｅ1 ，０）、（ｄ2 ，ｅ2 ，０）、（ｄ1 ，ｅ2 ，０）となる（ただし、ｄ1 ＞０，ｄ2 ＜０，ｅ1 ＞０，ｅ2 ＜０）。
【００２８】
このように、直方体の天井と床とを長方形の画素の配列［ｍ，ｎ］とすると、［ｍ，ｎ］は、［０，０］から［ｄ1 −ｄ2 ，ｅ1 −ｅ2 ］までの配列となる。ここで、中心線からそれぞれの頂点までの距離をＺk （ｋ＝１，‥‥，Ｎ）とすると、ｄ1 ，ｄ2 ，ｅ1 ，ｅ2 は、
【数４】
0004119529.tif 000005
となる。
【００２９】
図７は、上記第１実施形態に係る仮想環境生成方法を実施するこの発明に係る仮想環境生成装置の一例の構成を示すブロック図である。この仮想環境生成装置は、補助記憶装置５１、データ入出力装置５２、ユーザーインターフェースデバイスとしてのマウス５３およびキーボード５４、ＣＰＵ５５、ディスプレイ５６およびメモリー５７を有する。補助記憶装置５１は、パノラマ画像のデータや、計算した３Ｄモデルのデータを格納する。データ入出力装置５２は、例えばデジタルカメラ等からのパノラマ画像のデータを入力したり、計算した３Ｄモデルのデータを外部に出力する。なお、データ入出力装置５２から入力されるパノラマ画像のデータは、補助記憶装置５１を介さずに直接メモリー５７にロードすることもできる。マウス５３は、パノラマ画像上の特徴点の指定、および画像の加工を行い、キーボード５４は、入出力画像のファイル名の指定や、画像の加工時のパラメータの指定などを行う。ＣＰＵ５５は、データの入出力の管理、グラフィックユーザインターフェースの管理、およびパノラマ画像から３Ｄモデルヘの変換の計算を行う。ディスプレイ５６は、グラフィックユーザインターフェースの表示を行い、ユーザがマウス５３を用いてパノラマ画像の特徴点を抽出、指定できるようにする。なお、マウス５３の代わりに、ペンタブレット、ジョイスティック、トラックパッド等のポインティングデバイスを用いることもできる。メモリー５７は、パノラマ画像のデータや計算した３Ｄモデルのデータを格納したり、ＣＰＵ５５においてパノラマ画像から３Ｄモデルヘの変換の計算を行うのに必要なデータ等を格納する。
【００３０】
以下、図７に示す仮想環境生成装置の動作を、図８に示すフローチャートを参照して説明する。先ず、ステップＳ１０１で、グラフィックユーザインターフェースの提示を行って、対象とするパノラマ画像の入力を促したり、パノラマ画像のデータを自動的に入力するようなパラメータを用意し、次のステップＳ１０２でパノラマ画像のデータをロードしてディスプレイ５６に表示する。その後、ステップＳ１０３で、マウス５３等のポインティングデバイスを用いて、ディスプレイ５６に表示されているパノラマ画像の天井および床に接している特徴点（頂点）をマーカーとして指定する。
【００３１】
その後、ステップＳ１０４で、ＣＰＵ５５において指定されたマーカーの位置に矛盾がないかを計算して、矛盾がある場合には自動的に補正したり、ユーザーにおいてマーカーの位置を変更する。なお、マーカー位置の自動補正では、この実施形態ではパノラマ画像の横方向の歪みを考慮していないので、天井と床の対をなすマーカーのパノラマ画像上での水平方向の位置が同じとなるように行う。次に、ステップＳ１０５で、すべての必要な位置にマーカーが配置されたか否かを判断し、この判断の基準を満たしていない場合はステップＳ１０３から繰り返す。
【００３２】
ステップＳ１０５で、判断の基準を満たしたら、次にステップＳ１０６で、マーカーの位置をもとに上記（１）式に従って視点Ｏの座標を計算すると共に、ステップＳ１０７で、仮想空間Ｒ3 上での頂点の座標の計算を行って３Ｄモデルの再構成を行う。なお、これらステップＳ１０６およびＳ１０７での処理は、並行に行ってもよい。その後、ステップＳ１０８で、上記（４）〜（６）式に従って、テクスチャマッピングの計算を行い、これにより得られた３Ｄモデルのデータを、ステップＳ１０９において、ＶＲＭＬ (Virtua1 Rea1ity Modeling Language ）、ＤＸＦ (Data Exp1oer Fi1e ）等の形式でメモリー５７や補助記憶装置５１に格納したり、データ入出力装置５２を経て外部に出力する。
【００３３】
このように、この実施形態によれば、通常のカメラやデジタルカメラ等の画像入力装置の映像から構成したパノラマ画像のみを用い、その特徴点を指定するだけで、仮想空間上の視点位置、視点と柱、天井および床とのそれぞれの相対的な位置関係を求めて、パノラマ画像情報中のデータをテクスチャ情報として利用して室内モデル（仮想環境）を作成することができる。したがって、レンジファインダ等の高価な測距装置や、室内の平面図あるいは３ＤＣＡＤデータ等の３Ｄの座標情報のデータを用いる必要がなく、また、テクスチャ情報を別データとして準備する必要もないので、簡単な操作で仮想環境を作成できると共に、装置全体も簡単かつ安価にできる。
【００３４】
ところで、パノラマ画像は、専用の撮影機で撮影したものの他に、通常の３５ｍｍカメラ、デジタルカメラなどで撮影した画像をもとに、画像の繋ぎあわせのアプリケーションを用いてパノラマ画像に加工したものもある。しかし、いずれの場合でも、カメラのレンズ系の収差によって、上述した第１実施形態におけるように、円筒の側面上に理想的に被写体を投影したものとは誤差がある場合がある。このように、パノラマ画像が理想的な幾何学変換からのずれを有する場合、上記（１）式に従って視点を計算すると、図９に示すように、例えば角１から計算したｗの値と、角２から計算したｗの値１が異なることになる。
【００３５】
そこで、この発明の第２実施形態では、このようなパノラマ画像の理想的な幾何学変換からのずれに基づく誤差を修正して仮想環境を生成する。このため、この実施形態では、３Ｄモデルのそれぞれの頂点に対応するマーカーを置いて計算した視点の高さをＯ1 ，Ｏ2 ，Ｏ3 ，Ｏ4 ，・・・とし、これらを図１０に示すように連結して、すなわち、視点の高さを求める際に使用しなかった視線方向に関する視点の高さを、水平方向（回転方向）において少なくともその前後に位置する既に求めた視点の高さに基づいて補間して、視点の高さを水平方向の画素位置の関数Ｏ［ｉ］として与え、この関数Ｏ［ｉ］から視点の高さを求める際に使用しなかった視線方向に関する視点の高さを求める。
【００３６】
ここで、視点の高さが必要な計算は、パノラマ画像の画素情報を３Ｄモデルの位置Ｐとパノラマ画像の位置Ｑとの関係から「逆引き」するときに、垂直画素位置ｊq を計算するときで、このときｉp は独立に計算できるので、視点から３Ｄモデルまでの距離をＺとすると、ｊq ［Ｏ［ｉp ］，Ｚ］は一意的に決まる。これにより、パノラマ画像の理想的な幾何学変換からのずれに基づく誤差を解消することができる。
【００３７】
図１１は、第２実施形態による仮想環境作成方法を図７に示した仮想環境作成装置で実行する場合の動作を示すフローチャートである。図１１において、ステップＳ２０１からステップＳ２０５までの処理は、図８に示したステップＳ１０１からステップＳ１０５までの処理と同じである。この実施形態では、ステップＳ２０５で、判断の基準を満たしたら、次にステップＳ２０６で、マーカーの位置をもとに上記（１）式に従って視点Ｏの座標を計算すると共に、その計算によって求めた視点間の視点の座標を、線形補間やスプライン補間により補間して、視点の座標をパノラマ画像の横方向の画素位置の関数Ｏ［ｉ］とする。次に、ステップＳ２０７で、図８のステップＳ１０７と同様に、仮想空間Ｒ3 上での頂点の座標の計算を行って３Ｄモデルの再構成を行う。なお、ステップＳ２０６およびＳ２０７での処理は、並行に行ってもよい。その後、ステップＳ２０８で、視点の座標を関数Ｏ［ｉ］から求め、上記（４）〜（６）式に従って、テクスチャマッピングの計算を行い、これにより得られた３Ｄモデルのデータを、ステップＳ２０９において、図８のステップＳ１０９と同様にして、メモリー５７や補助記憶装置５１に格納したり、データ入出力装置５２を経て外部に出力する。
【００３８】
この実施形態によれば、柱等がないために視点の高さが求められない視線方向における視点の高さも、関数Ｏ［ｉ］から求めることができるので、第１実施形態における効果に加えて、仮想環境をより正確に生成することができる。
【００３９】
この発明の第３実施形態では、第２実施形態において、パノラマ画像が歪曲収差を有する場合に、その歪曲収差を実際に構成した３Ｄモデルをもとに軽減してテクスチャマッピングを行う。すなわち、パノラマ画像を構成する場合、あるいは撮影した場合には、垂直方向の歪曲収差が残ることがある。この歪曲収差は、パノラマ画像を構成する際に、アルゴリズム上で除去することも可能であるが、パノラマ画像のデータのみがある場合には、そのデータに歪曲収差が含まれているか否かは知ることができない。
【００４０】
このため、この実施形態では、図１２に示すように、角１，角２から計算した視点は第２実施形態と同様にＯ1 ，Ｏ2 とする。また、パノラマ画像上で３Ｄモデル２の角に対応するマーカーを結んだ曲線は壁面１に対応し、壁面１は四角形であるという拘束条件を有するから、壁面１の高さはパノラマ画像の高さＨとなる。そこで、角１，角２の中間で、壁面１の天井および床と接する点Ｓ，Ｔをパノラマ画像上のマーカーＳ’，Ｔ’により選択して、その視点の位置Ｏｓを、水平方向の角度は正しいものとして計算して求める。したがって、この場合の視点位置Ｏｓは、パノラマ画像が歪曲収差を有すると、パノラマ画像を円筒１としたときの中心Ｒの軸上から外れることになる。
【００４１】
このようにして、それぞれの角から計算した視点については、軸上に固定して第２実施形態と同様にして高さの変化で誤差を補正し、角と角との中間にある３Ｄモデル２の直線上の点に対応する視点は、３Ｄモデルの形状の拘束条件から求めるようにする。したがって、この場合の視点の位置は、水平方向の画素位置ｉを媒介変数とした三次元曲線で、パノラマ画像がモデルの各角に対応する位置のときだけ、円筒１の中心Ｒ上に現れる三次元の関数となる。このようにすれば、パノラマ画像に歪曲収差の補正（例えば、画像の伸縮等）を行わなくても、歪曲による矛盾の少ない３Ｄモデルのテクスチャマッピングを行うことができる。
【００４２】
図１３は、第３実施形態による仮想環境作成方法を図７に示した仮想環境作成装置で実行する場合の動作を示すフローチャートである。図１３において、ステップＳ３０１からステップＳ３０５までの処理は、図８に示したステップＳ１０１からステップＳ１０５までの処理と同じである。この実施形態では、ステップＳ３０５で、判断の基準を満たしたら、次にステップＳ３０６で、ステップＳ３０３からステップＳ３０５で指定した頂点に対応するマーカーの中間位置にマーカーを指定する。その後、ステップＳ３０７でステップＳ３０４と同様にして、指定した中間のマーカー位置の自動補正やユーザによる補正を行って、ステップＳ３０８ですべての必要な中間位置にマーカーを配置したか否かを判断し、この判断の基準を満たしていない場合はステップＳ３０６から繰り返す。
【００４３】
ステップＳ３０８で、判断の基準を満たしたら、次にステップＳ３０９で、３Ｄモデルのそれぞれの頂点に対応する視点の座標をそのマーカーの位置をもとに上記（１）式に従って計算すると共に、ステップＳ３０６からステップＳ３０８で指定した中間位置のマーカーに対応する３Ｄモデルの中間位置の視点の座標を、マーカーのパノラマ画像上での画素位置と、３Ｄモデルの中間位置とが頂点を結ぶ直線上にあるという拘束条件をもとに計算し、これら計算によって求めた視点間の視点の座標を、線形補間やスプライン補間により補間して、視点の座標をパノラマ画像の横方向の画素位置の三次元の関数とする。次に、ステップＳ３１０で、図８のステップＳ１０７と同様に、仮想空間Ｒ3 上での頂点の座標の計算を行って３Ｄモデルの再構成を行う。なお、ステップＳ３０９およびＳ３１０での処理は、並行に行ってもよい。
【００４４】
その後、ステップＳ３１１で、視点の座標を上記の三次元関数から求め、上記（４）〜（６）式に従って、テクスチャマッピングの計算を行い、これにより得られた３Ｄモデルのデータを、ステップＳ３１２において、図８のステップＳ１０９と同様にして、メモリー５７や補助記憶装置５１に格納したり、データ入出力装置５２を経て外部に出力する。
【００４５】
この実施形態によれば、パノラマ画像の作成時に視点の水平位置が変動しても、湾曲した梁を本来有すべき姿の直線に修正するように視点の位置を、視点が存在する仮想空間上の水平面上で移動させるようにしたので、視点をより適正な位置に設定することができる。したがって、第２実施形態における効果に加えて、仮想環境をより正確に生成することができる。
【００４６】
上述した第１実施形態〜第３実施形態では、パノラマ画像の円筒１を、その上面と下面とが３Ｄモデル２の天井と床とにそれぞれ接するように配置し、仮想的視点を移動させてパノラマ画像から３Ｄモデル２を再構成したが、この発明の第４実施形態では、仮想的視点はパノラマ画像の円筒１の中央にあるものとし、二つのマーカーから３Ｄモデル２の高さを求めてパノラマ画像から３Ｄモデル２を再構成する。したがって、この実施形態では、パノラマ画像の円筒１の高さと、３Ｄモデル２の高さとが異なることになる。
【００４７】
ここで、パノラマ画像の高さをＨ、３６０°全周囲方向の画像の幅をＬとすると、撮影時のレンズが魚眼レンズの場合に撮影時に撮影装置の上下方向の煽りがなければ、図１４（ａ）に示すように、高さＨは、撮影時の画角をα、パノラマ画像の円筒１の半径をｒとして、
【数５】
0004119529.tif 000006
で表される。また、パノラマ画像は、３６０°全周囲方向の画像で、Ｌ＝２πｒであるから、Ｌが既知の場合には、その値から画角αを計算することができる。この実施形態では、画像の中央を視点Ｏとするので、パノラマ画像での視点位置はＨ／２となる。
【００４８】
図１４（ａ）において、３Ｄモデル２の室内の角の天井Ａおよび床Ｂに対応するマーカーのパノラマ画像での垂直画素位置をａ，ｂとすると、視点Ｏからａ，ｂをみたときの上下方向の角度β，γは、
【数６】
0004119529.tif 000007
となる。ここで、
【数７】
0004119529.tif 000008
とすると、
【数８】
0004119529.tif 000009
となり、視点Ｏから３Ｄモデル２の壁面までの距離Ｚが求められる。また、他方のマーカーに対応する点も、円筒１の中心線Ｍから同一の距離にあることから、３Ｄモデル２の高さをｈとすると、
【数９】
0004119529.tif 000010
となり、これにより３Ｄモデル２の高さｈを求める。なお、図１４（ａ）では、ｕ＝ｂ−Ｈ／２，ｖ＝Ｈ／２−ａとしている。
【００４９】
また、撮影時のレンズに歪曲収差の無い場合のパノラマ画像（円筒画像）と再構成される３Ｄモデルとの関係を図１４（ｂ）に示す。この場合、パノラマ画像の高さをＨ、画角をαとすると、
【数１０】
0004119529.tif 000011
となる。ここで、上記（９）式と同様に、マーカーａ，ｂと視点Ｏとの位置関係から得られるｕ，ｖを用いると、視点Ｏから直線ＡＢまでの距離Ｚは、
【数１１】
0004119529.tif 000012
となる。図１４（ｂ）でのｕ，ｖの与え方の例は、図１４（ａ）の場合と同じである。ここで、モデルの高さｈを求めるために、上記（１１）式と同様に、
【数１２】
0004119529.tif 000013
を用いる。以下、後述のテクスチャマッピングでは、魚眼レンズの場合と歪曲収差の無い場合とで、それぞれのモデルの高さｈと距離Ｚとを用いれば良い。
【００５０】
３Ｄモデル２のテクスチャマッピングでは、図１５に示すように、パノラマ画像の円筒１上の点Ｑと視点Ｏとを結ぶ直線が３Ｄモデル２と交差する点をＰとすると、この点Ｐに点Ｑの画素情報を写像する。この画素の対応づけを行う実際のアルゴリズムの一例について、以下に説明する。
【００５１】
この実施形態において、壁面の画像の配列（ｐ，ｑ）に対応するパノラマ画像の画素位置（ｉp ，ｊq ）と水平方向の画素位置との関係は、図４と同様であるので、（ｐ，ｑ）に対応するパノラマ画像の画素位置は、
【数１３】
0004119529.tif 000014
【００５２】
また、３Ｄモデル２の高さｈの壁面の画像の配列を基準にすると、視点Ｏが天井に近い場合には、図１６に示すように、視点Ｏから見た天井の高さは、ｈ−Ｈ／２となり、視点Ｏが床に近い場合には、図１７に示すように、視点Ｏから見た天井の高さは、Ｈ／２となる。したがって、前者の場合には、
【数１４】
0004119529.tif 000015
となる。このように、画素情報をパノラマ画像の配列（ｉp ，ｊp ）から（ｐ，ｑ）に写像して、壁面のテクスチャマッピングを行う。
【００５３】
また、天井および床のテクスチャマッピングについては、第１実施形態と同様に、３Ｄモデルの角１，２，３，４に対応するパノラマ画像のマーカーの水平位置のインデクスをｉ1 ，ｉ2 ，ｉ3 ，ｉ4 、パノラマ画像の左端を０としたときの水平角度をφ1 ，φ2 ，φ3 ，φ4 、天井および床の画像の配列を［ｍ，ｎ］、視点Ｏを座標の原点としたときのｘ，ｙ座標を（ｄ，ｅ）として、［ｍ，ｎ］に対応するパノラマ画像の水平方向の画素位置を計算する。ただし、ここでは、視点の高さをＨ／２、３Ｄモデルの室内の高さをｈとする。
【００５４】
図１８は、天井および床のテクスチャマッピングの様子を示すものである。以下、天井の点［ｍ，ｎ］に対してテクスチャマッピングをする手順を定式化して説明する。配列［ｍ，ｎ］の示す座標が、視点Ｏを基準（０，０）とした座標系での、原点からの距離ｌは、
【数１５】
0004119529.tif 000016
となる。
【００５５】
これに対して、［ｍ，ｎ］に対応するパノラマ画像の垂直方向の画素位置ｊn は、視点Ｏの垂直位置が３Ｄモデル２の天井に近いか、床に近いかで場合分けする。図１９および図２０は、視点Ｏが天井に近い場合を示すものである。この場合、図１９に示すように、天井の点［ｍ，ｎ］から円筒１の中心線Ｍまでの距離はｌで、視点Ｏと天井との距離はｈ−Ｈ／２であるから、視点Ｏと点［ｍ，ｎ］との距離ｌ’は、
【数１６】
0004119529.tif 000017
となる。したがって、点［ｍ，ｎ］と視点Ｏとを結ぶ直線と、視点Ｏを中心とする半径ｒの球面との交点のパノラマ画像上端からの距離をｊn とすると、
【数１７】
0004119529.tif 000018
となる。
【００５６】
また、床へのテクスチャマッピングでは、図２０に示すように、床の点［ｍ，ｎ］から視点Ｏまでの距離ｌ’、および点［ｍ，ｎ］に対応するパノラマ画像の垂直方向の画素位置ｊn は、それぞれ、
【数１８】
0004119529.tif 000019
となる。
【００５７】
同様に、視点Ｏが床に近い場合は、天井へのテクスチャマッピングの際に、天井の点［ｍ，ｎ］に対応するパノラマ画像の垂直方向の画素位置ｊn は、
【数１９】
0004119529.tif 000020
となり、床へのテクスチャマッピングの際に、床の点［ｍ，ｎ］に対応するパノラマ画像の垂直方向の画素位置ｊn は
【数２０】
0004119529.tif 000021
となる。
【００５８】
このようにして、この実施形態では、ユーザインターフェースにより、表示されたパノラマ画像にマーカーを指定したら、仮想的視点をパノラマ画像の円筒１の中央にして、上記（７）〜（11) 式に基づいて二つのマーカーから３Ｄモデル２の高さｈを求め、それに基づいて頂点の座標を計算する処理と、上記（12）〜（16）式に基づく３Ｄモデル２のテクスチャマッピングの計算処理とを行って、パノラマ画像から３Ｄモデル２を再構成する。その他の処理動作については、第１実施形態と同様である。
【００５９】
この実施形態によれば、パノラマ画像の画角を考慮して、テクスチャマッピングを行うようにしているので、広角のパノラマ画像でも歪みの少ない仮想環境を生成することができる。
【００６０】
この発明の第５実施形態では、上記の第４実施形態において、３Ｄモデルを再構成する際に、モデルの部屋の高さが一定であることと、角を結ぶ梁が直線であることとを拘束条件として、視点Ｏに関する距離の誤差を補正する。このため、図２１に示すように、３Ｄモデル２の角の頂点Ａ1 ，Ａ2 ，Ｂ1 ，Ｂ2 に囲まれた壁面１内に、中間の点Ｃ1 ，Ｃ2 をユーザインターフェースを用いて指定し、点Ａ1 ，Ｃ1 ，Ｂ1 および点Ａ2 ，Ｃ2 ，Ｂ2 が直線上にあり、直線Ａ1 −Ａ2 ，Ｂ1 −Ｂ2 およびＣ1 −Ｃ2 の距離が、３Ｄモデル２の部屋の高さｈに等しいことを用いて、３Ｄモデルの再構成時に視点Ｏに関する距離の誤差を補正する。
【００６１】
まず、頂点Ａ1 ，Ａ2 に対応するパノラマ画像上のマーカーａ1 ，ａ2 の位置から、第４実施形態と同様にして視点Ｏから直線Ａ1 −Ａ2 までの距離Ｚａ、および部屋の高さｈを求める。次に、マーカーｂ1 ，ｂ2 からモデルまでの実距離を求める。この時点では、部屋の高さｈが決定しているので、図２２に示すように、円筒１の中心線Ｍから頂点Ｂ1 までの距離Ｚｂを、マーカーｂ1 と視点Ｏとの位置を用いて、
【数２１】
0004119529.tif 000022
により計算する。なお、図２２は、視点Ｏが天井に近い場合を示している。
【００６２】
同様に、円筒１の中心線Ｍから頂点Ｂ2 までの距離Ｚｂ’を、マーカーｂ2 と視点Ｏとの位置を用いて、
【数２２】
0004119529.tif 000023
により計算する。ここで、Ｚｂ≠Ｚｂ’のときは、３Ｄモデル２ではＺｂの値が正しいものとして、Ｚｂ’からＺｂへの補正を行って、３Ｄモデル２の形状とテクスチャマッピングとに矛盾がないようにする。
【００６３】
このため、画角θをあらわす円弧と床とが接する位置から、円筒１の中心線Ｍまでの距離ｚは、どの方向でも、
【数２３】
0004119529.tif 000024
となるようにする。このようにして、拡大率ｆを、
【数２４】
0004119529.tif 000025
となるように定義して、パノラマ画像の実際のテクスチャが視点ＯからＺｂの距離になるように修正する。このような修正を、視点Ｏの高さＨ/2を境界として行う。
【００６４】
図２３は、３Ｄモデル２の頂点Ａ1 ，Ａ2 を基準にしてマーカーｂ2 から計算したモデルまでの距離に誤差がある状態を示している。３Ｄモデル２の壁面１は同一平面上にあるので、図２３のようなずれを補正するには、水平面よりも下の部分の壁面へのテクスチャマッピングでは、上記の拡大率ｆをパノラマ画像の水平方向の画素位置の関数として与える。すなわち、マーカーａ1 ，ａ2 の水平方向画素位置をｉa 、マーカーｂ1 ，ｂ2 の水平方向の画素位置をｉb として、
【数２５】
0004119529.tif 000026
とする。なお、図２３では、水平画素位置を線形補間するように補正係数ｆを設定しているが、壁面１の画像の画素配列（ｐ，ｑ）の関数ｆ（ｐ）として設定することもできる。
【００６５】
一方、マーカーａ1 ，ｂ1 を用いて計算した３Ｄモデル２の壁面１までの距離は、第４実施形態と同様に、上記（12）式を用いて、壁面１の画素（ｐ，ｑ）からｐの関数であるＺｐとして与える。このようにして、（ｐ，ｑ）に対応するパノラマ画像の水平画素位置ｉp には変更がないものとして、垂直画素位置ｊq を、上記（13）式および（14）式に上記（26）式を代入して、
【数２６】
0004119529.tif 000027
により求める。このようにして得られたパノラマ画像の画素位置（ｉp ，ｊq ）の画素情報を壁面上の画素位置（ｐ，ｑ）へとテクスチャマッピングすることにより、図２３に示すような誤差を補正して、３Ｄモデル２の壁面を構成する。
【００６６】
また、図２３において、視点Ｏより上の領域ではテクスチャマッピングに誤差が生じない場合には、床面のテクスチャマッピングの補正だけを考えればよい。この場合、床面の配列［ｍ，ｎ］の示す点と円筒の中心線Ｍとの距離をｌとすると、補正値ｌ2 は、
【数２７】
0004119529.tif 000028
とする。すなわち、図２４に示すように、床面の画像の配列［ｍ，ｎ］に対応するパノラマ画像の画素を探すときは、距離ｌをｌ2 に補正してｊn を計算し、これにより配列［ｍ，ｎ］に［ｉm ，ｊn ］の画素情報を与えるようにする。
【００６７】
次に、図２１に示したように、対象とする部屋の形状から３Ｄモデル２の壁面では、角の頂点Ａ，Ｂを結ぶ梁の上の点Ｃも直線上にあるという拘束条件をもとにテクスチャマッピングの補正を行う。すなわち、図２５に示すように、円筒１の中心Ｒから直線Ａ−Ｂ上への垂線の交点をＤとすると、∠ＡＲＤの角度θは、図４で説明した場合と同様にして、
【数２８】
0004119529.tif 000029
となる。すなわち、点Ｃに対応するマーカーのパノラマ画像上での水平画素位置ｉc が決まれば、壁面１が平面である場合の距離が定まる。
【００６８】
これに対し、実際のマーカーｃ1 ，ｃ2 のパノラマ画像上での画素位置（ｉc ，ｊc ）から計算した距離は、視点Ｏが天井に近い場合には、天井部分では、
【数２９】
0004119529.tif 000030
となり、床部分では、
【数３０】
0004119529.tif 000031
となって、それぞれ誤差によりＺｃと一致しない場合がある。
【００６９】
図２６は、３Ｄモデル２の壁面が単一平面で構成されている場合について、マーカーから計算した壁面までの距離の誤差の他の例を示すものである。ここで、上記（26）式と同様にして、視点Ｏより上の領域および下の領域の補正係数ｆc1，ｆc2を導入すると、
【数３１】
0004119529.tif 000032
となる。
【００７０】
したがって、図２６に示す例の場合には、視点Ｏより上の領域での補正係数ｆc1は、点Ａ1 ，Ｃ1 ，Ｂ1 に沿って、１→ｆc1→１と変化し、視点Ｏより下の領域では、１→ｆc2→ｆｂと変化することになる。これを上記（27）式に従って、パノラマ画像の水平方向の画素位置ｉの関数として補間したり、あるいは壁面の画像水平方向の画素位置ｐの関数とする。なお、図２６では線形に補間しているが、図２７に示すように、曲線に補間するようにしてもよい。このようにして、３Ｄモデル２の形状とパノラマ画像のマーカーから計算される形状との間の誤差を修正する。
【００７１】
なお、この第５実施形態による仮想環境作成方法を図７に示した仮想環境作成装置で実行する場合の動作は、図１３に示すフローチャートとほぼ同様であるので、ここではその説明を省略する。
【００７２】
この実施形態によれば、３Ｄモデルを再構成する際に、モデルの部屋の高さが一定であることと、角を結ぶ梁が直線であることとを拘束条件として、視点に関する距離の誤差を補正し、これにより３Ｄモデルの形状とテクスチャマッピングに矛盾がないようにしたので、第４実施形態の効果に加えて、仮想環境をより正確に生成することができる。
【００７３】
以上、この発明に係る仮想環境作成方法および装置の実施形態について説明したが、この発明の他の実施形態では、第１〜５実施形態で説明した仮想環境作成方法を実行するための仮想環境生成プログラムを記録媒体に記録し、この記録媒体をコンピュータで読み取って仮想環境を作成するようにする。
【００７４】
【発明の効果】
この発明によれば、レンジファインダ等の特別高価な装置や、３ＤＣＡＤデータ等の３Ｄの座標情報のデータを用いることなく、通常のカメラ、デジタルカメラ等の画像入力装置の映像から構成したパノラマ画像のみを用いて、仮想環境を生成するようにしたので、所望の仮想環境を簡単な操作で生成することができると共に、装置全体も簡単かつ安価にできる。
【図面の簡単な説明】
【図１】この発明の第１実施形態でのパノラマ画像と再構成される３Ｄモデルとの位置関係を示す図である。
【図２】第１実施形態による３Ｄモデルの再構成を説明するための図である。
【図３】第１実施形態での３Ｄモデルのテクスチャマッピングを説明するための図である。
【図４】同じく、テクスチャマッピングを説明するための図で、パノラマ画像の円筒を真上から見た状態での３Ｄモデルの壁面の位置とパノラマ画像の画素位置との関係を示す図である。
【図５】同じく、テクスチャマッピングを説明するための図で、３Ｄモデルの視点と注目点とを含む床に垂直な面上での３Ｄモデルの壁面の位置とパノラマ画像の画素位置との関係を示す図である。
【図６】同じく、３Ｄモデルの天井部分と床の部分とのテクスチャマッピングを説明するための図である。
【図７】第１実施形態に係る仮想環境生成方法を実施するこの発明に係る仮想環境生成装置の一例の構成を示すブロック図である。
【図８】その動作を説明するためのフローチャートである。
【図９】この発明の第２実施形態を説明するためのパノラマ画像と再構成される３Ｄモデルとの位置関係を示す図である。
【図１０】第２実施形態による視点の高さの変化を示す図である。
【図１１】第２実施形態による仮想環境作成方法を図７に示した仮想環境作成装置で実行する場合の動作を示すフローチャートである。
【図１２】この発明の第３実施形態を説明するためのパノラマ画像と再構成される３Ｄモデルとの位置関係を示す図である。
【図１３】第３実施形態による仮想環境作成方法を図７に示した仮想環境作成装置で実行する場合の動作を示すフローチャートである。
【図１４】この発明の第４実施形態を説明するための図である。
【図１５】第４実施形態での３Ｄモデルのテクスチャマッピングを説明するための図である。
【図１６】第４実施形態で、視点が天井に近い場合の壁面のテクスチャマッピングを説明するための図である。
【図１７】同じく、視点が床に近い場合の壁面のテクスチャマッピングを説明するための図である。
【図１８】同じく、視点が天井に近い場合の天井および床のテクスチャマッピングを説明するための図である。
【図１９】同じく、視点が天井に近い場合の天井のテクスチャマッピングをさらに詳細に説明するための図である。
【図２０】同じく、視点が天井に近い場合の床のテクスチャマッピングをさらに詳細に説明するための図である。
【図２１】この発明の第５実施形態を説明するための図である。
【図２２】第５実施形態でのパノラマ画像の円筒と、その中心線から３Ｄモデルの頂点Ｂ1 ，Ｂ2 までの距離との関係を示す図である。
【図２３】第５実施形態において、３Ｄモデルの視点から頂点までの距離の誤差の一例を説明するための図である。
【図２４】第５実施形態での床面のテクスチャマッピングを説明するための図である。
【図２５】同じく、壁面のテクスチャマッピングを説明するための図である。
【図２６】第５実施形態において、３Ｄモデルの視点から頂点までの距離の誤差の他の例を説明するための図である。
【図２７】第５実施形態での距離の他の補間例を示す図である。
【符号の説明】
１  パノラマ画像の円筒
２  ３Ｄモデル
５１  補助記憶装置
５２  データ入出力装置
５３  マウス
５４  キーボード
５５  ＣＰＵ
５６  ディスプレイ
５７  メモリー
【図１】
0004119529.tif 000033
【図２】
0004119529.tif 000034
【図３】
0004119529.tif 000035
【図４】
0004119529.tif 000036
【図５】
0004119529.tif 000037
【図６】
0004119529.tif 000038
【図７】
0004119529.tif 000039
【図８】
0004119529.tif 000040
【図９】
0004119529.tif 000041
【図１０】
0004119529.tif 000042
【図１１】
0004119529.tif 000043
【図１２】
0004119529.tif 000044
【図１３】
0004119529.tif 000045
【図１４】
0004119529.tif 000046
【図１５】
0004119529.tif 000047
【図１６】
0004119529.tif 000048
【図１７】
0004119529.tif 000049
【図１８】
0004119529.tif 000050
【図１９】
0004119529.tif 000051
【図２０】
0004119529.tif 000052
【図２１】
0004119529.tif 000053
【図２２】
0004119529.tif 000054
【図２３】
0004119529.tif 000055
【図２４】
0004119529.tif 000056
【図２５】
0004119529.tif 000057
【図２６】
0004119529.tif 000058
【図２７】
0004119529.tif 000059