(57)【特許請求の範囲】
【請求項１】
三次元空間中に配された第一面上又はそれに対して成す角度が既知の第二面上の計測点の三次元位置を計測する三次元位置計測方法において、
前記第一面に少なくとも３個の第一マーカーを設けるとともに、前記第二面に少なくとも１個の第二マーカーを設ける工程と、
前記第一マーカー及び前記第二マーカーが写るパノラマ画像を撮像装置によって撮像する撮像工程と、
前記パノラマ画像上での前記第一マーカー及び前記第二マーカーの二次元位置を検出する検出工程と、
前記検出工程によって検出された前記第一マーカーの二次元位置に基づいて前記三次元空間での前記第一マーカーの三次元位置を算出するとともに、前記検出工程によって検出された前記第二マーカーの二次元位置に基づいて前記三次元空間での前記第二マーカーの三次元位置を算出する算出工程と、
前記算出工程によって算出された前記第一マーカーの三次元位置に基づいて前記第一面を特定する第一特定工程と、
前記算出工程によって算出された前記第一マーカーの三次元位置及び前記第二マーカーの三次元位置と、前記第一面と前記第二面の成す角度と、に基づいて前記第二面を特定する第二特定工程と、
前記パノラマ画像上での前記計測点の二次元位置を取得する取得工程と、
前記取得工程によって取得された前記パノラマ画像上での前記計測点の二次元位置に基づいて、前記三次元空間での前記撮像装置から前記計測点に向かう方位ベクトルを算出することによってその方位ベクトルに沿った三次元直線を特定する第三特定工程と、
前記第三特定工程によって特定された前記三次元直線と、前記第一特定工程によって特定された前記第一面又は前記第二特定工程によって特定された前記第二面と、の交点の位置を前記計測点の三次元位置として算出する計測点三次元位置算出工程と、を備えることを特徴とする三次元位置計測方法。
【請求項２】
前記第一特定工程では、前記算出工程によって算出された前記第一マーカーの三次元位置に基づいて、前記三次元空間での前記第一面の法線ベクトルを算出することによって前記第一面を特定し、
前記第二特定工程では、前記第一特定工程によって算出された前記第一面の法線ベクトルから前記第二面の法線ベクトルを算出するともに、前記算出工程によって検出された前記第二マーカーの三次元位置と前記第二面の法線ベクトルに基づいて前記第二面を特定することを特徴とする請求項１に記載の三次元位置計測方法。
【請求項３】
前記第一面及び前記第二面としての部屋の壁面、天井面及び床面に前記第一マーカー及び前記第二マーカーを設けることを特徴とする請求項１又は２に記載の三次元位置計測方法。
【請求項４】
前記撮像装置が、全方位のパノラマ画像を撮像する全方位撮像装置であることを特徴とする請求項１から３の何れか一項に記載の三次元位置計測方法。
【請求項５】
請求項１から４の何れか一項に記載された三次元位置計測方法によって複数の計測点の三次元位置を計測し、これら計測点の位置からこれら計測点間の距離、平面形状の面積又は立体形状の体積を算出することを特徴とする測量方法。
【請求項６】
演算処理装置を備え、三次元空間中に配された第一面上又はそれに対して成す角度が既知の第二面上の計測点の三次元位置を前記演算処理装置により計測する三次元位置計測装置において、
前記演算処理装置が、
前記第一面に設けられた少なくとも３個の第一マーカーと、前記第二面に設けられた少なくとも１個の第二マーカーとが写るパノラマ画像上での前記第一マーカー及び前記第二マーカーの二次元位置を検出する検出処理と、
前記検出処理によって検出された前記第一マーカーの二次元位置に基づいて前記三次元空間での前記第一マーカーの三次元位置を算出するとともに、前記検出処理によって検出された前記第二マーカーの二次元位置に基づいて前記三次元空間での前記第二マーカーの三次元位置を算出する算出処理と、
前記算出処理によって算出された前記第一マーカーの三次元位置に基づいて前記第一面を特定する第一特定処理と、
前記算出処理によって算出された前記第一マーカーの三次元位置及び前記第二マーカーの三次元位置と、前記第一面と前記第二面の成す角度と、に基づいて前記第二面を特定する第二特定処理と、
前記パノラマ画像上での前記計測点の二次元位置を取得する取得処理と、
前記取得処理によって取得された前記パノラマ画像上での前記計測点の二次元位置に基づいて、前記パノラマ画像を撮像した撮像装置から前記計測点に向かう方位ベクトルを算出することによってその方位ベクトルに沿った三次元直線を特定する第三特定処理と、
前記第三特定処理によって特定された前記三次元直線と、前記第一特定処理によって特定された前記第一面又は前記第二特定処理によって特定された前記第二面との交点の位置を前記計測点の三次元位置として算出する計測点三次元位置算出処理と、を実行することを特徴とする三次元位置計測装置。
【請求項７】
コンピュータに、
三次元空間中に配されている第一面に設けられた少なくとも３個の第一マーカーと、前記三次元空間中に配されているとともに前記第一面に対して成す角度が既知の第二面に設けられた少なくとも１個の第二マーカーとが写るパノラマ画像上での前記第一マーカー及び前記第二マーカーの二次元位置を検出する検出処理と、
前記検出処理によって検出された前記第一マーカーの二次元位置に基づいて前記三次元空間での前記第一マーカーの三次元位置を算出するとともに、前記検出処理によって検出された前記第二マーカーの二次元位置に基づいて前記三次元空間での前記第二マーカーの三次元位置を算出する算出処理と、
前記算出処理によって算出された前記第一マーカーの三次元位置に基づいて前記第一面を特定する第一特定処理と、
前記算出処理によって算出された前記第一マーカーの三次元位置及び前記第二マーカーの三次元位置と、前記第一面と前記第二面の成す角度と、に基づいて前記第二面を特定する第二特定処理と、
前記パノラマ画像上での計測点の二次元位置を取得する取得処理と、
前記取得処理によって取得された前記パノラマ画像上での前記計測点の二次元位置に基づいて、前記パノラマ画像を撮像した撮像装置から前記計測点に向かう方位ベクトルを算出することによってその方位ベクトルに沿った三次元直線を特定する第三特定処理と、
前記第三特定処理によって特定された前記三次元直線と、前記第一特定処理によって特定された前記第一面又は前記第二特定処理によって特定された前記第二面との交点の位置を前記計測点の三次元位置として算出する計測点三次元位置算出処理と、を実行させるための三次元位置計測プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元位置計測方法、測量方法、面特定方法、三次元位置計測装置及びプログラムに関し、特に三次元空間中の計測点の位置を計測するための技術に関する。
【背景技術】
【０００２】
建物、構造物等の製造、改築、改良、修理等にあたって、三次元空間中の計測対象の寸法（二点間の距離）を事前に計測する必要がある。寸法の計測には、コンベックス、光波測距儀等の計測機器を利用するのが一般的である。
【０００３】
一方、特許文献１には、光源をカメラによって撮像し、撮像画像を利用して光源の位置を計測する技術が開示されている。特許文献１に記載の技術を応用して、光源を計測対象に設置すれば、計測対象の位置を測定することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２３４５９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、コンベックスを利用して寸法を計測する場合、手作業によってコンベックスを計測箇所に固定しなければならない。また、光波測距儀を利用して寸法を計測する場合も、手作業によって光波測距儀を設置し、その設置箇所と所定の箇所までの距離を光波測距儀によって計測しなければならない。特許文献１に記載の装置でも、手作業によって光源を計測対象に設置しなければならない。よって、特許文献１に記載の装置、コンベックス及び光波測距儀では、作業者の手が届かない範囲にある計測対象の寸法を測定することができない。
【０００６】
そこで、本発明は、上記事情に鑑みてなされたものである。本発明が解決しようとする課題は、作業者の手が届かない範囲にある測定対象の位置を特定できるようにすることである。
【課題を解決するための手段】
【０００７】
以上の課題を解決するべく、三次元空間中に配された第一面上又はそれに対して成す角度が既知の第二面上の計測点の三次元位置を計測する三次元位置計測方法は、前記第一面に少なくとも３個の第一マーカーを設けるとともに、前記第二面に少なくとも１個の第二マーカーを設ける工程と、前記第一マーカー及び前記第二マーカーが写るパノラマ画像を撮像装置によって撮像する撮像工程と、前記パノラマ画像上での前記第一マーカー及び前記第二マーカーの二次元位置を検出する検出工程と、前記検出工程によって検出された前記第一マーカーの二次元位置に基づいて前記三次元空間での前記第一マーカーの三次元位置を算出するとともに、前記検出工程によって検出された前記第二マーカーの二次元位置に基づいて前記三次元空間での前記第二マーカーの三次元位置を算出する算出工程と、前記算出工程によって算出された前記第一マーカーの三次元位置に基づいて前記第一面を特定する第一特定工程と、前記算出工程によって算出された前記第一マーカーの三次元位置及び前記第二マーカーの三次元位置と、前記第一面と前記第二面の成す角度と、に基づいて前記第二面を特定する第二特定工程と、前記パノラマ画像上での前記計測点の二次元位置を取得する取得工程と、前記取得工程によって取得された前記パノラマ画像上での前記計測点の二次元位置に基づいて、前記三次元空間での前記撮像装置から前記計測点に向かう方位ベクトルを算出することによってその方位ベクトルに沿った三次元直線を特定する第三特定工程と、前記第三特定工程によって特定された前記三次元直線と、前記第一特定工程によって特定された前記第一面又は前記第二特定工程によって特定された前記第二面と、の交点の位置を前記計測点の三次元位置として算出する計測点三次元位置算出工程と、を備える。
【０００８】
以上の課題を解決するべく、演算処理装置を備え、三次元空間中に配された第一面上又はそれに対して成す角度が既知の第二面上の計測点の三次元位置を前記演算処理装置により計測する三次元位置計測装置において、前記演算処理装置が、前記第一面に設けられた少なくとも３個の第一マーカーと、前記第二面に設けられた少なくとも１個の第二マーカーとが写るパノラマ画像上での前記第一マーカー及び前記第二マーカーの二次元位置を検出する検出処理と、前記検出処理によって検出された前記第一マーカーの二次元位置に基づいて前記三次元空間での前記第一マーカーの三次元位置を算出するとともに、前記検出処理によって検出された前記第二マーカーの二次元位置に基づいて前記三次元空間での前記第二マーカーの三次元位置を算出する算出処理と、前記算出処理によって算出された前記第一マーカーの三次元位置に基づいて前記第一面を特定する第一特定処理と、前記算出処理によって算出された前記第一マーカーの三次元位置及び前記第二マーカーの三次元位置と、前記第一面と前記第二面の成す角度と、に基づいて前記第二面を特定する第二特定処理と、前記パノラマ画像上での前記計測点の二次元位置を取得する取得処理と、前記取得処理によって取得された前記パノラマ画像上での前記計測点の二次元位置に基づいて、前記パノラマ画像を撮像した撮像装置から前記計測点に向かう方位ベクトルを算出することによってその方位ベクトルに沿った三次元直線を特定する第三特定処理と、前記第三特定処理によって特定された前記三次元直線と、前記第一特定処理によって特定された前記第一面又は前記第二特定処理によって特定された前記第二面との交点の位置を前記計測点の三次元位置として算出する計測点三次元位置算出処理と、を実行する。
【０００９】
以上の課題を解決するための三次元位置計測プログラムは、コンピュータに、三次元空間中に配されている第一面に設けられた少なくとも３個の第一マーカーと、前記三次元空間中に配されているとともに前記第一面に対して成す角度が既知の第二面に設けられた少なくとも１個の第二マーカーとが写るパノラマ画像上での前記第一マーカー及び前記第二マーカーの二次元位置を検出する検出処理と、前記検出処理によって検出された前記第一マーカーの二次元位置に基づいて前記三次元空間での前記第一マーカーの三次元位置を算出するとともに、前記検出処理によって検出された前記第二マーカーの二次元位置に基づいて前記三次元空間での前記第二マーカーの三次元位置を算出する算出処理と、前記算出処理によって算出された前記第一マーカーの三次元位置に基づいて前記第一面を特定する第一特定処理と、前記算出処理によって算出された前記第一マーカーの三次元位置及び前記第二マーカーの三次元位置と、前記第一面と前記第二面の成す角度と、に基づいて前記第二面を特定する第二特定処理と、前記パノラマ画像上での計測点の二次元位置を取得する取得処理と、前記取得処理によって取得された前記パノラマ画像上での前記計測点の二次元位置に基づいて、前記パノラマ画像を撮像した撮像装置から前記計測点に向かう方位ベクトルを算出することによってその方位ベクトルに沿った三次元直線を特定する第三特定処理と、前記第三特定処理によって特定された前記三次元直線と、前記第一特定処理によって特定された前記第一面又は前記第二特定処理によって特定された前記第二面との交点の位置を前記計測点の三次元位置として算出する計測点三次元位置算出処理と、を実行させるためのものである。
【００１０】
以上によれば、計測点の位置とは無関係な第一マーカー及び第二マーカーを第一面上及び第二面にそれぞれ設けて、第一マーカー及び第二マーカーがパノラマ画像に写るようにパノラマ画像を撮影すれば、第一面上又は第二面上の計測点に作業者の手が届かなくても、その計測点の三次元位置を算出して特定することができる。もちろん、作業者の手が届か範囲内に計測点があっても、その計測点の三次元位置を算出して特定することができる。
【発明の効果】
【００１３】
本発明によれば、手の届く範囲にある計測点のみならず、手の届かない範囲にある計測点の三次元位置も計測することができるとともに、複数の計測点の三次元位置から線の距離、平面形状の面積及び立体形状の体積を求めることができる。
【図面の簡単な説明】
【００１４】
【図１】三次元空間中の計測点の位置を計測する様子を示した図面である。
【図２】全方位撮像装置の側面図である。
【図３】パノラマ画像を示した図面である。
【図４】三次元計測装置のブロック図である。
【図５】計測方法の工程図である。
【図６】面を特定する処理のフローチャートである。
【図７】計測点の座標を算出する処理のフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明の実施形態について説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい種々の限定が付されているので、本発明の範囲を以下の実施形態及び図示例に限定するものではない。
【００１６】
・面特定方法及び三次元位置計測方法の概要について
図１は、全方位撮像装置３０、三次元位置計測装置５０及び複数のマーカーＭを用いて、現実の三次元空間中に設定された閉空間Ｗの内面上の計測点Ｐ，Ｑの位置を計測する様子を示している。この三次元位置計測方法では、閉空間Ｗの内面に複数のマーカーＭを貼着して、これらマーカーＭを画像に写すようにして全方位撮像装置３０によって閉空間Ｗの内側から全方位（例えば水平方向に３６０°、垂直方向に１８０°）の撮影をし、取得した全方位画像（全天球画像）及びそれを展開したパノラマ画像（正距円筒画像）を利用することによって閉空間Ｗの内面を三次元位置計測装置５０により特定するとともに、計測点Ｐ，Ｑの位置を三次元位置計測装置５０によって算出する。
【００１７】
また、三次元位置計測方法は、各種の測量に利用することができる。つまり、計測した２点以上の計測点（少なくとも計測点Ｐ，Ｑ）の位置を利用して、線の長さ（２点の計測点間の距離）、平面形状（例えば、正三角形、直角三角形、二等辺三角形、三角形、正方形、長方形、台形、四角形、多角形、円形、楕円形等）の面積及び立体形状（例えば、三面体、立方体、直方体、四面体、球体等）の体積を公知の公式・定理により計算することもできる。例えば、計測した２点以上の計測点の位置を利用して、閉空間Ｗとしての部屋の天井高、長さ、幅、奥行き等を計測したり、部屋の壁面、窓枠、ドア枠等の高さ、幅などを計測したり、部屋の床面、天井面、壁面、窓枠、ドア枠等の面積を計測したり、部屋の体積を計測したりすることができる。
ここで、全方位撮像装置３０、三次元位置計測装置５０及び複数のマーカーＭのセットが三次元位置計測システムである。
【００１８】
・閉空間について
閉空間Ｗは、壁面Ａ〜Ｄ、天井面Ｅ及び床面Ｆによって囲われた直方体状又は立方体状の部屋である。従って、これら壁面Ａ〜Ｄ、天井面Ｅ及び床面Ｆの相互の二面角（法線ベクトル同士の成す角）は既知である。
【００１９】
・マーカーについて
マーカーＭのサイズ（寸法）は既知である。例えば、マーカーＭの形状が円環状であり、その直径Ｒ [mm]が既知である。そのため、マーカーＭの直径Ｒが定数として後述のプログラム５２ａに組み込まれている。なお、マーカーＭの形状は円環状に限らず、例えば四角形（例えば長方形又は正方形）であってもよい。
【００２０】
・マーカーの設置箇所について
壁面Ａ〜Ｄ、天井面Ｅ及び床面Ｆのうち特定したい面にマーカーＭを設ける。より具体的には、壁面Ａ〜Ｄ、天井面Ｅ及び床面Ｆのうち何れか一面には少なくとも３個のマーカーＭを互いに離れた箇所に貼着し、他の少なくとも一面には少なくとも１個のマーカーＭを貼着する。そうすれば、後述のように、マーカーＭが貼着された面を特定することができるとともに、それら面上の任意の計測点Ｐ，Ｑの位置を計測することができる。
【００２１】
以下では、壁面Ａに３個のマーカーＭを貼着し、壁面Ｂ〜Ｄ、天井面Ｅ及び床面Ｆにそれぞれ１個のマーカーＭを貼着した場合の例を挙げる。また、壁面Ａに貼着した３個のマーカーＭをそれぞれマーカーＭＡ１、マーカーＭＡ２、マーカーＭＡ３と表記し、壁面Ｂ〜Ｄ、天井面Ｅ、床面Ｆに貼着したマーカーＭをそれぞれマーカーＭＢ、マーカーＭＣ、マーカーＭＤ、マーカーＭＥ、マーカーＭＦと表記する。
なお、マーカーＭＡ１，ＭＡ２，ＭＡ３とマーカーＭＢとマーカーＭＣとマーカーＭＤとマーカーＭＥとマーカーＭＦとを識別可能なように、これらの色・模様等が異なることが好ましい。
【００２２】
・全方位撮像装置について
図２は全方位撮像装置３０の側面図である。
図２に示すように全方位撮像装置３０は筐体３１、レンズ光学系３２，３３、固体撮像素子３４，３５、シャッターボタン３６、コントローラユニット３７及び記録媒体３８を備える。
【００２３】
レンズ光学系３２，３３は広角レンズ、超広角レンズ又は魚眼レンズであり、好ましくは、画角が１８０°以上の円周魚眼レンズである。レンズ光学系３２，３３は、光学的特性が同じものである。レンズ光学系３２が筐体３１の前面側に設けられ、レンズ光学系３３が筐体３１の後面側に設けられている。レンズ光学系３２，３３は、互いに逆向きとなるように且つそれぞれの光軸が合致するように、筐体３１に組み付けられている。
【００２４】
固体撮像素子３４，３５はエリア型の撮像素子であり、例えばＣＣＤイメージセンサ又はＣＭＯＳイメージセンサである。固体撮像素子３４，３５が筐体３１の内部に組み付けられ、固体撮像素子３４がレンズ光学系３２の結像面に配置され、固体撮像素子３５がレンズ光学系３２の結像面に配置される。
【００２５】
コントローラユニット３７が筐体３１の内部に組み付けられ、シャッターボタン３６が筐体３１の後面に設けられている。記録媒体３８は外部半導体メモリであり、筐体３１に対して着脱可能である。なお、記録媒体３８がコントローラユニット３７に組み込まれた内蔵メモリであってもよい。
【００２６】
作業者がシャッターボタン３６を押下すると、コントローラユニット３７によって固体撮像素子３４，３５が駆動されて、固体撮像素子３４，３５によって撮像（光電変換）された画像が固体撮像素子３４，３５からコントローラユニット３７に転送される。コントローラユニット３７は、固体撮像素子３４，３５から入力した撮像画像を合成するとともに各種補正処理（例えば、傾き補正や歪み補正等）をすることによって、全方位（例えば立体角が４π [sr]）の画像を生成する。更に、コントローラユニット３７は、全方位画像を平面直角座標系（以下、画像座標系という。）に座標変換（マッピング）することによって、パノラマ画像を生成する。そして、コントローラユニット３７は、生成した全方位画像及びパノラマ画像を記録媒体３８に記録する。ここで、パノラマ画像とは、水平方向に広い画像をいうが、コントローラユニット３７によって生成されたパノラマ画像は、水平方向に３６０°の範囲、垂直方向に１８０°の範囲の全方位パノラマ画像である。
【００２７】
全方位撮像装置３０としては、例えば株式会社リコー製の全天球カメラ（登録商標：THETA）を利用することができる。
【００２８】
・画像座標系及びカメラ座標系について
図３は、全方位撮像装置３０によって生成されたパノラマ画像の概略図である。
パノラマ画像には画像座標系ＸＳＹＳが設定されており、パノラマ画像のピクセルの位置が画像座標系ＸＳＹＳの座標で表される。ここで、画像座標系ＸＳＹＳのＸＳ軸がパノラマ画像の横方向に対して平行に設定され、画像座標系ＸＳＹＳのＹＳ軸がパノラマ画像の縦方向に対して平行に設定される。また、コントローラユニット３７には傾斜センサーが設けられており、全方位撮像装置３０が傾いた状態で全方位画像を撮影しても、全方位撮像装置３０を中心として俯仰角０°の全周像がＸＳ軸に平行な中心線に沿ってパノラマ画像に写るように、コントローラユニット３７によって傾き補正処理が実行される。従って、三次元空間における俯仰角はパノラマ画像のＹＳ座標から換算され、三次元空間における水平角はパノラマ画像のＸＳ座標から換算される。
【００２９】
また、図１に示すように、三次元空間中の任意の位置は、全方位撮像装置３０の撮影点を原点とした直交座標系ＸＣＹＣＺＣ（以下、カメラ座標系ＸＣＹＣＺＣという）の座標によって表される。カメラ座標系ＸＣＹＣＺＣのＸＣ軸が画像座標系ＸＳＹＳのＸＳ軸に対して平行に設定され、カメラ座標系ＸＣＹＣＺＣのＹＣ軸が画像座標系ＸＳＹＳのＹＳ軸に対して平行に設定され、カメラ座標系ＸＣＹＣＺＣのＺＣ軸がパノラマ画像に対して平行に設定される。
【００３０】
また、上述のようにコントローラユニット３７によって傾き補正が行われるので、カメラ座標系ＸＣＹＣＺＣのＸＣ軸・ＺＣ軸は三次元空間における水平面に対して平行である。
【００３１】
・三次元位置計測装置について
三次元位置計測装置５０は、デスクトップ型、ノートブック型又はタブレット型のパーソナルコンピュータである。図４に示すように、三次元位置計測装置５０は演算処理装置５１、記憶部５２、入力部５３、表示部５４、リーダライタ５５及びインターフェース５８等を備える。演算処理装置５１は、ＣＰＵ、ＧＰＵ、ＲＯＭ、ＲＡＭ及びハードウェアインタフェース等を有するコンピュータである。記憶部５２は、半導体メモリ又はハードディスクドライブ等からなる記憶装置である。入力部５３は、スイッチ、キーボード、ポインティングデバイス等の入力装置である。表示部５４は、画面表示を行うディスプレイである。
【００３２】
インターフェース５８は、有線又は無線によって全方位撮像装置３０とデータの送受を行うためのインターフェースである。例えば、インターフェース５８は、ＵＳＢインターフェース、Ｂｌｕｅｔｏｏｔｈ（登録商標）インターフェース又は無線ＬＡＮインターフェースである。
【００３３】
リーダライタ５５には、全方位撮像装置３０から取り外された記録媒体３８が接続可能である。リーダライタ５５は、接続された記録媒体３８の読み書きが可能なものである。具体的には、リーダライタ５５は、記録媒体３８に記録された全方位画像及びパノラマ画像を読み取って、それら全方位画像及びパノラマ画像を演算処理装置５１に転送する。演算処理装置５１は、転送された全方位画像及びパノラマ画像を記憶部５２に記録する。ここで、記憶部５２に記録された全方位画像５６及びパノラマ画像５７は、それぞれ、撮影点における撮影によって生成された全方位画像、パノラマ画像である。
【００３４】
記憶部５２には、演算処理装置５１によって実行可能なプログラム５２ａが格納されている。このプログラム５２ａには、マーカーＭのサイズ（直径Ｒ）のほか、全方位撮像装置３０の焦点距離ｆ [mm]も組み込まれている。なお、プログラム５２ａは、演算処理装置５１のＲＯＭに格納されていてもよい。
【００３５】
・工程について
図５のフローチャートを参照して、壁面Ａ〜Ｄの特定工程、計測点Ｐ，Ｑの計測工程、演算処理装置５１の処理工程について説明する。
まず、作業者がマーカーＭＡ１、マーカーＭＡ２，マーカーＭＡ３を壁面Ａに、マーカーＭＢを壁面Ｂに、マーカーＭＣを壁面Ｃに、マーカーＭＤを壁面Ｄに、マーカーＭＥを天井面に、マーカーＭＦを床面Ｆに貼着する（ステップＳ１）。
【００３６】
次に、作業者が閉空間Ｗ内に全方位撮像装置３０を配置する（ステップＳ２）。この際、全方位撮像装置３０のレンズ光学系３２を壁面Ａに向けることが好ましく、壁面Ａに対してレンズ光学系３２の光軸をできる限り垂直に近づけることがより好ましい。
【００３７】
次に、作業者がシャッターボタン３６を押下することにより全方位撮像装置３０によって壁面Ａ〜Ｄ、天井面Ｅ、床面Ｆ及びマーカーＭＡ１，ＭＡ２，ＭＡ３，ＭＢ，ＭＣ，ＭＤ，ＭＥ，ＭＦを撮影する（ステップＳ３）。そうすると、全方位撮像装置３０の固体撮像素子３４，３５によって撮像画像が生成され、コントローラユニット３７によって全方位画像及びパノラマ画像が生成され、全方位画像及びパノラマ画像が記録媒体３８に記録される。
【００３８】
次に、全方位撮像装置３０から取り外した記録媒体３８をリーダライタ５５に接続して、生成された全方位画像及びパノラマ画像を記録媒体３８から演算処理装置５１の記憶部５２に保存する（ステップＳ４）。こうして、全方位画像５６及びパノラマ画像５７が記憶部５２に記録される。なお、全方位画像５６及びパノラマ画像５７がインターフェース５８を通じて全方位撮像装置３０から演算処理装置５１に転送されて、演算処理装置５１によって記憶部５２に記録されてもよい。
【００３９】
次に、作業者が入力部５３を操作すると、面特定処理がプログラム５２ａに基づいて演算処理装置５１によって実行される（ステップＳ５）。面特定処理は、カメラ座標系ＸＣＹＣＺＣにおける壁面Ａ〜Ｄ、天井面Ｅ及び床面Ｆ上の点（具体的には、マーカーＭＡ１，ＭＡ２，ＭＡ３，ＭＢ，ＭＣ，ＭＤ，ＭＥ，ＭＦ）の座標と、壁面Ａ〜Ｄ・天井面Ｅ・床面Ｆの法線ベクトルとを求めて、壁面Ａ〜Ｄ・天井面Ｅ・床面Ｆをカメラ座標系ＸＣＹＣＺＣにおける平面の方程式で表す処理である。ここで、壁面Ａ〜Ｄ・天井面Ｅ・床面Ｆ上の任意の点の座標が平面の方程式で表される。面特定処理の詳細については後述する。
【００４０】
次に、計測点座標算出処理がプログラム５２ａに基づいて演算処理装置５１によって実行される（ステップＳ６）。計測点座標処理は、計測点Ｐ，Ｑの三次元位置を算出して、計測点Ｐ，Ｑの三次元位置をカメラ座標系ＸＣＹＣＺＣの座標で表す処理である。計測点座標算出処理の詳細については後述する。
【００４１】
次に、長さ・面積・体積の算出処理がプログラム５２ａに基づいて演算処理装置５１によって実行される（ステップＳ７）。この算出処理は、ステップＳ６で算出された複数の計測点の三次元位置（座標）を利用して、線の長さ、平面形状の面積及び立体形状の体積を公知の公式・定理により算出する処理である。
【００４２】
次に、結果出力処理がプログラム５２ａに基づいて演算処理装置５１によって実行される（ステップＳ８）。この結果出力処理は、ステップＳ６やステップＳ７の算出結果を表示部５４に出力する処理である。なお、ステップＳ６やステップＳ７の算出結果が演算処理装置５１によって記憶部５２に記録されてもよい。
【００４３】
続いて、図６のフローチャートを参照して、ステップＳ５の面特定処理について詳細に説明する。
まず、演算処理装置５１が記憶部５２からパノラマ画像５７を読み込む（ステップＳ１１）。なお、演算処理装置５１がリーダライタ５５を通じて記録媒体３８からパノラマ画像５７を読み込んでもよい。
【００４４】
次に、演算処理装置５１が公知の画像処理（例えば、エッジ検出処理等の特徴抽出処理）によってパノラマ画像５７中のマーカーＭＡ１，ＭＡ２，ＭＡ３，ＭＢ，ＭＣ，ＭＤ，ＭＥ，ＭＦを認識する。そして、演算処理装置５１が、パノラマ画像５７中のマーカーＭＡ１，ＭＡ２，ＭＡ３，ＭＢ，ＭＣ，ＭＤ，ＭＥ，ＭＦのサイズ、より具体的には最大直径 [pixel]を検出して取得する（ステップＳ１２）。ここで、マーカーＭＡ１，ＭＡ２，ＭＡ３，ＭＢ，ＭＣ，ＭＤ，ＭＥ，ＭＦがレンズ光学系３２の光軸に直交しない場合、マーカーＭＡ１，ＭＡ２，ＭＡ３，ＭＢ，ＭＣ，ＭＤ，ＭＥ，ＭＦが扁平した状態でパノラマ画像５７に写っている。
【００４５】
次に、演算処理装置５１がパノラマ画像５７上でのマーカーＭＡ１，ＭＡ２，ＭＡ３，ＭＢ，ＭＣ，ＭＤの二次元位置を検出して取得する（ステップＳ１３：検出処理）。検出されたマーカーＭＡ１，ＭＡ２，ＭＡ３，ＭＢ，ＭＣ，ＭＤ，ＭＥ，ＭＦの二次元位置は画像座標系ＸＳＹＳで表される。ここで、マーカーＭＡ１，ＭＡ２，ＭＡ３，ＭＢ，ＭＣ，ＭＤ，ＭＥ，ＭＦが面積を有するので、マーカーＭＡ１，ＭＡ２，ＭＡ３，ＭＢ，ＭＣ，ＭＤ，ＭＥ，ＭＦの座標とは、マーカーＭＡ１，ＭＡ２，ＭＡ３，ＭＢ，ＭＣ，ＭＤ，ＭＥ，ＭＦに設定された所定の代表点（例えば、中心点）の座標のことをいう。
【００４６】
なお、マーカーＭＡ１，ＭＡ２，ＭＡ３，ＭＢ，ＭＣ，ＭＤ，ＭＥ，ＭＦの最大直径及び座標の取得（ステップＳ１２，Ｓ１３）は、画像処理によるものではなく、手動入力によるものでもよい。つまり、パノラマ画像５７が表示部５４に表示された状態で、作業者が入力部５３を操作して、表示部５４に表示されたマーカーＭＡ１，ＭＡ２，ＭＡ３，ＭＢ，ＭＣ，ＭＤ，ＭＥ，ＭＦを指定することによって、演算処理装置５１がマーカーＭＡ１，ＭＡ２，ＭＡ３，ＭＢ，ＭＣ，ＭＤ，ＭＥ，ＭＦの座標を取得する（ステップＳ１３）。また、作業者が入力部５３を操作して、マーカーＭＡ１，ＭＡ２，ＭＡ３，ＭＢ，ＭＣ，ＭＤ，ＭＥ，ＭＦの最大直径を入力することによって、演算処理装置５１がマーカーＭＡ１，ＭＡ２，ＭＡ３，ＭＢ，ＭＣ，ＭＤ，ＭＥ，ＭＦの最大直径を取得する（ステップＳ１２）。
【００４７】
次に、演算処理装置５１が、パノラマ画像５７上でのマーカーＭＡ１の二次元位置に基づいて、三次元空間でのマーカーＭＡ１の三次元位置を算出する。具体的には、演算処理装置５１が、カメラ座標系におけるマーカーＭＡ１の座標、直径Ｒ及び最大直径並びに焦点距離ｆを用いて、画像座標系ＸＳＹＳにおけるマーカーＭＡ１の座標をカメラ座標系ＸＣＹＣＺＣにおけるマーカーＭＡ１の座標に変換する（ステップＳ１４：算出処理）。
【００４８】
ここで、カメラ座標系ＸＣＹＣＺＣで表された三次元空間における水平角は画像座標系ＸＳＹＳのＸＳ座標から換算され、左側カメラ座標系ＸＣＹＣＺＣで表された三次元空間における俯仰角は画像座標系ＸＳＹＳのＹＳ座標から換算されるので、カメラ座標系ＸＣＹＣＺＣにおけるマーカーＭＡ１の座標は次式の通りである。
【００４９】
【数１】
0006564622.tif 000002
【００５０】
同様にして、演算処理装置５１が、カメラ座標系ＸＣＹＣＺＣにおけるマーカーＭＡ２，ＭＡ３，ＭＢ，ＭＣ，ＭＤ，ＭＥ，ＭＦの座標を算出する（ステップＳ１４）。
【００５１】
ここで、マーカーＭＡ１，ＭＡ２，ＭＡ３，ＭＢ，ＭＣ，ＭＤ，ＭＥ，ＭＦの直径Ｒ及び全方位撮像装置３０の焦点距離ｆが定数としてプログラム５２ａに組み込まれ、ステップＳ１４の算出に際して、演算処理装置５１がプログラム５２ａから直径Ｒ及び焦点距離ｆを取得する。それに対して、作業者が入力部５３を操作することによって直径Ｒ及び焦点距離ｆを入力し、これにより演算処理装置５１が直径Ｒ及び焦点距離ｆを取得するものとしてもよい。また、焦点距離ｆが画像５６，５７のメタデータとして画像５６，５７に含まれ、演算処理装置５１が画像５６，５７から焦点距離ｆを取得するものとしてもよい。
【００５２】
次に、演算処理装置５１が、カメラ座標系ＸＣＹＣＺＣにおけるマーカーＭＡ１，ＭＡ２，ＭＡ３の座標から、マーカーＭＡ１，ＭＡ２，ＭＡ３を通る壁面Ａの法線ベクトルを求める（ステップＳ１５：第一特定処理）。これにより、マーカーＭＡ１（又はマーカーＭＡ２，ＭＡ３）の座標と法線ベクトルとから壁面Ａを特定して、壁面Ａの平面の方程式を以下のように特定する。
【００５３】
【数２】
0006564622.tif 000003
【００５４】
次に、演算処理装置５１が、壁面Ａ，Ｂの法線ベクトル同士の成す角度と壁面Ａの法線ベクトルとから、壁面Ｂの法線ベクトルを算出する（ステップＳ１６：第二特定処理）。これにより、マーカーＭＢの座標と法線ベクトルとから壁面Ｂを特定して、壁面Ｂの平面の方程式を以下のように特定する。
【００５５】
【数３】
0006564622.tif 000004
【００５６】
壁面Ａ，Ｂの法線ベクトル同士の成す角度は、予め定数として設定されたものであるか、手動入力によるものであるか、画像処理によるものである。法線ベクトル同士の成す角度が定数である場合、その定数がプログラム５２ａに組み込まれ、演算処理装置５１がプログラム５２ａからその定数を取得する。法線ベクトル同士の成す角度が手動入力によるものである場合、作業者が入力部５３を操作して、壁面Ａ，Ｂの法線ベクトル同士の成す角度を入力することによって、演算処理装置５１がその角度を取得する。法線ベクトル同士の成す角度が画像処理によるものである場合、演算処理装置５１がパノラマ画像５７中のマーカーＭＡ１，ＭＢの形状係数（例えば扁平率）を算出して、マーカーＭＡ１，ＭＢの形状係数から角度を算出する。
【００５７】
同様にして、演算処理装置５１が、壁面Ａの法線ベクトルから壁面Ｃ，Ｄ、天井面Ｅ及び床面Ｆの法線ベクトルを求めて、壁面Ｃ，Ｄ、天井面Ｅ及び床面Ｆを特定する（ステップＳ１６）。
【００５８】
続いて、図７のフローチャートを参照して、ステップＳ６の計測点座標算出処理について詳細に説明する。
【００５９】
まず、演算処理装置５１が、パノラマ画像５７中の壁面Ａ〜Ｄ、天井面Ｅ及び床面Ｆを認識する（ステップＳ２１）。パノラマ画像５７中の壁面Ａ〜Ｄ、天井面Ｅ及び床面Ｆの認識の具体例を挙げると、次の（ａ）〜（ｃ）の通りである。
（ａ）  パノラマ画像５７中の壁面Ａ〜Ｄ、天井面Ｅ及び床面Ｆを区切る境界線が画像座標系ＸＳＹＳによって表されるように予めプログラム５２ａに組み込まれており、演算処理装置５１がプログラム５２ａから境界線の情報を読み取ることによって壁面Ａ〜Ｄ、天井面Ｅ及び床面Ｆを認識する。
（ｂ）  演算処理装置５１が公知の画像処理（例えば、エッジ検出処理等の特徴抽出処理）によってパノラマ画像５７中の壁面Ａ〜Ｄ、天井面Ｅ及び床面Ｆを認識する。ここで、壁面Ａ〜Ｄ、天井面Ｅ及び床面Ｆの識別が可能なように、壁面Ａ〜Ｄ、天井面Ｅ及び床面Ｆごとに形態（形状、色、模様等）の異なるマーカー（マーカーＭとは別のマーカー）を壁面Ａ〜Ｄ、天井面Ｅ及び床面Ｆにそれぞれ貼着した状態で、ステップＳ３の撮影を行うことが好ましい。或いは、マーカーＭＡ１，ＭＡ２，ＭＡ３とマーカーＭＢとマーカーＭＣとマーカーＭＤとマーカーＭＥとマーカーＭＦは色・模様等を異なるようにすることが好ましい。
（ｃ）  パノラマ画像が表示部５４に表示された状態で、作業者が入力部５３を操作して、表示部５４に表示された壁面Ａ〜Ｄ、天井面Ｅ及び床面Ｆの境界を指定することによって、演算処理装置５１がパノラマ画像５７中の壁面Ａ〜Ｄ、天井面Ｅ及び床面Ｆを認識する。
【００６０】
次に、演算処理装置５１がパノラマ画像５７を表示部５４に表示する（ステップＳ２２）。
次に、作業者が入力部５３を操作して、表示部５４に表示されたパノラマ画像５７中の任意の位置を指定することによって計測点Ｐの座標を入力し、演算処理装置５１が画像座標系ＸＳＹＳにおける計測点Ｐの座標を取得する（ステップＳ２３：取得処理）。ここで、計測点Ｐは、パノラマ画像５７に写った面Ａ〜Ｅの何れにあってもよい。
【００６１】
次に、演算処理装置５１が、画像座標系ＸＳＹＳで表された計測点Ｐの座標に基づいて、壁面Ａ〜Ｄ、天井面Ｅ及び床面Ｆのうち計測点Ｐのある面を選択する（ステップＳ２４）。
次に、演算処理装置５１が、画像座標系ＸＳＹＳで表された計測点Ｐの座標に基づいて、カメラ座標系ＸＣＹＣＺＣにおける撮影点（原点）から計測点Ｐに向かう方位ベクトルを求めて、撮影点と計測点Ｐとを結ぶ直線を特定する（ステップＳ２５：第三特定処理）。ここで、撮影点から計測点Ｐに向かう方位ベクトルと、撮影点と計測点Ｐを結ぶ直線の式は、次の通りである。
【００６２】
【数４】
0006564622.tif 000005
【００６３】
次に、演算処理装置５１が、ステップＳ１５，ステップＳ１６で特定された面Ａ〜ＦのうちステップＳ２４で選択された面を表す平面の方程式と、ステップＳ２５で特定した直線を表す方程式とから、その直線と面との交点の座標を算出する（ステップＳ２６：計測点三次元位置算出処理）。その交点の座標が計測点Ｐの座標である。
【００６４】
同様にして、作業者がパノラマ画像５７中の計測点Ｑを指定すると、カメラ座標系ＸＣＹＣＺＣにおける計測点Ｑの座標が演算処理装置５１によって算出される。そして、次式のように、カメラ座標系ＸＣＹＣＺＣで表された計測点Ｐの座標（ＸＣＰ，ＹＣＰ，ＺＣＰ）及び計測点Ｑの座標（ＸＣＱ，ＹＣＱ，ＺＣＱ）から計測点Ｐ，Ｑ間の距離ＬＰＱが演算処理装置５１によって算出される（図６のステップＳ７参照）。
【００６５】
【数５】
0006564622.tif 000006
【００６６】
また、計測点Ｐ，Ｑの座標（ＸＣＰ，ＹＣＰ，ＺＣＰ），（ＸＣＱ，ＹＣＱ，ＺＣＱ）やこれらの間の距離ＬＰＱが演算処理装置５１によって表示部５４に表示される（図６のステップＳ８参照）。
【００６７】
・効果
以上の実施形態には次のような効果がある。
（１）  設置するマーカーＭとは別に計測点Ｐ，Ｑの三次元位置を計測するので、計測点Ｐ，Ｑが手の届かない範囲にあっても、計測点Ｐ，Ｑの三次元位置をカメラ座標系ＸＣＹＣＺＣの座標として計測することができる。手の届かない範囲にある計測点Ｐ，Ｑの計測にあたって、脚立や足場等の計測補助具を設置しなくても済む。計測者の人数が少なくても、たとえ一人であっても、計測点Ｐ，Ｑの三次元位置を計測することができる。もちろん、計測点Ｐ，Ｑが手の届く範囲にあっても、計測点Ｐ，Ｑの三次元位置を計測することができる。
【００６８】
（２）  複数のマーカーＭをセッティングして、撮影を行うだけで、計測点Ｐ，Ｑの三次元位置を簡易且つ簡便に行うことができる。
【００６９】
（３）  全方位撮像装置３０が全方位の画像を撮像するものであるので、計測点Ｐ，Ｑがどのような位置・方位にあっても、計測点Ｐ，Ｑがパノラマ画像に写りさえすれば、計測点Ｐ，Ｑの三次元位置を計測することができる。つまり、閉空間Ｗの内面上にある対象点の三次元位置を計測するのに有効的である。
【００７０】
（４）  全方位撮像装置３０が全方位の画像を撮像するものであるので、マーカーＭを貼着しさえすれば、どのような向きの面も特定することができる。
【００７１】
（５）  ３個のマーカーＭを貼着する面が一面であり、他の面に貼着するマーカーＭは１個で済むので、計測作業が容易になる。
【００７２】
・変形例
以上、本発明を実施するための形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得るとともに、本発明にはその等価物も含まれる。以下に、上記実施形態から変更した点について幾つか例を挙げて説明する。
【００７３】
上記実施形態では、全方位画像及びパノラマ画像がコントローラユニット３７によって生成されたが、演算処理装置５１によって生成されてもよい。つまり、全方位撮像装置３０の固体撮像素子３４，３５によって撮像された画像が演算処理装置５１に転送されて、演算処理装置５１がそれらの撮像画像を合成して全方位画像を生成し、その全方位画像をパノラマ画像に座標変換してもよい。この場合、プログラム５２ａが、全方位画像生成処理及びパノラマ画像生成処理を演算処理装置５１に実行させる。
【００７４】
上記実施形態では、壁面Ａに３個のマーカーＭを貼着することによって壁面Ａを第一面とし、面Ｂ〜Ｆに１個のマーカーＭを貼着することによってこれら面Ｂ〜Ｆを第二面とした。それに対して、３個のマーカーＭを貼着する面は面Ａ〜Ｆの何れでもよく、１個のマーカーＭを貼着する面も面Ａ〜Ｆの何れもでもよい。また、１個のマーカーＭを貼着する面の数は１でもよいし、複数でもよい。
【符号の説明】
【００７５】
３０…全方位撮像装置，  ３１…筐体，  ３２…レンズ光学系，  ３３…レンズ光学系，  ３４…固体撮像素子，  ３５…固体撮像素子，  ３６…シャッターボタン，  ３７…コントローラユニット，  ３８…記録媒体，  ５０…三次元位置計測装置，  ５１…演算処理装置，  ５２…記憶部，  ５２ａ…プログラム，  ５３…入力部，  ５４…表示部，  ５５…リーダライタ，  ５６…全方位画像，  ５７…パノラマ画像，５８…インターフェース，  Ｗ…閉空間，  Ａ…壁面（第一面），  Ｂ〜Ｄ…壁面（第二面），  Ｅ…天井面（第二面），  Ｆ…床面（第二面）  Ｍ…マーカー  ＭＡ１〜ＭＡ３…マーカー（第一マーカー），  ＭＢ〜ＭＦ…マーカー（第二マーカー），  Ｐ…計測点，  Ｑ…計測点
【図１】
0006564622.tif 000007
【図２】
0006564622.tif 000008
【図３】
0006564622.tif 000009
【図４】
0006564622.tif 000010
【図５】
0006564622.tif 000011
【図６】
0006564622.tif 000012
【図７】
0006564622.tif 000013