特許第6564622号(P6564622)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社大林組の特許一覧 ▶ 株式会社アプライド・ビジョン・システムズの特許一覧

特許6564622三次元位置計測方法、測量方法、三次元位置計測装置及び三次元位置計測プログラム
<>
  • 特許6564622-三次元位置計測方法、測量方法、三次元位置計測装置及び三次元位置計測プログラム 図000007
  • 特許6564622-三次元位置計測方法、測量方法、三次元位置計測装置及び三次元位置計測プログラム 図000008
  • 特許6564622-三次元位置計測方法、測量方法、三次元位置計測装置及び三次元位置計測プログラム 図000009
  • 特許6564622-三次元位置計測方法、測量方法、三次元位置計測装置及び三次元位置計測プログラム 図000010
  • 特許6564622-三次元位置計測方法、測量方法、三次元位置計測装置及び三次元位置計測プログラム 図000011
  • 特許6564622-三次元位置計測方法、測量方法、三次元位置計測装置及び三次元位置計測プログラム 図000012
  • 特許6564622-三次元位置計測方法、測量方法、三次元位置計測装置及び三次元位置計測プログラム 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6564622
(24)【登録日】2019年8月2日
(45)【発行日】2019年8月21日
(54)【発明の名称】三次元位置計測方法、測量方法、三次元位置計測装置及び三次元位置計測プログラム
(51)【国際特許分類】
   G01B 11/00 20060101AFI20190808BHJP
【FI】
   G01B11/00 H
【請求項の数】7
【全頁数】17
(21)【出願番号】特願2015-113716(P2015-113716)
(22)【出願日】2015年6月4日
(65)【公開番号】特開2016-224016(P2016-224016A)
(43)【公開日】2016年12月28日
【審査請求日】2018年5月18日
(73)【特許権者】
【識別番号】000000549
【氏名又は名称】株式会社大林組
(73)【特許権者】
【識別番号】504454060
【氏名又は名称】株式会社アプライド・ビジョン・システムズ
(74)【代理人】
【識別番号】110000176
【氏名又は名称】一色国際特許業務法人
(72)【発明者】
【氏名】池田 雄一
(72)【発明者】
【氏名】坂上 肇
(72)【発明者】
【氏名】高橋 裕信
(72)【発明者】
【氏名】水口 祐司
【審査官】 櫻井 仁
(56)【参考文献】
【文献】 特開2012−103134(JP,A)
【文献】 特開2005−327103(JP,A)
【文献】 特開2006−234597(JP,A)
【文献】 特開2012−202876(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01B 11/00
G06T 1/00
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
三次元空間中に配された第一面上又はそれに対して成す角度が既知の第二面上の計測点の三次元位置を計測する三次元位置計測方法において、
前記第一面に少なくとも3個の第一マーカーを設けるとともに、前記第二面に少なくとも1個の第二マーカーを設ける工程と、
前記第一マーカー及び前記第二マーカーが写るパノラマ画像を撮像装置によって撮像する撮像工程と、
前記パノラマ画像上での前記第一マーカー及び前記第二マーカーの二次元位置を検出する検出工程と、
前記検出工程によって検出された前記第一マーカーの二次元位置に基づいて前記三次元空間での前記第一マーカーの三次元位置を算出するとともに、前記検出工程によって検出された前記第二マーカーの二次元位置に基づいて前記三次元空間での前記第二マーカーの三次元位置を算出する算出工程と、
前記算出工程によって算出された前記第一マーカーの三次元位置に基づいて前記第一面を特定する第一特定工程と、
前記算出工程によって算出された前記第一マーカーの三次元位置及び前記第二マーカーの三次元位置と、前記第一面と前記第二面の成す角度と、に基づいて前記第二面を特定する第二特定工程と、
前記パノラマ画像上での前記計測点の二次元位置を取得する取得工程と、
前記取得工程によって取得された前記パノラマ画像上での前記計測点の二次元位置に基づいて、前記三次元空間での前記撮像装置から前記計測点に向かう方位ベクトルを算出することによってその方位ベクトルに沿った三次元直線を特定する第三特定工程と、
前記第三特定工程によって特定された前記三次元直線と、前記第一特定工程によって特定された前記第一面又は前記第二特定工程によって特定された前記第二面と、の交点の位置を前記計測点の三次元位置として算出する計測点三次元位置算出工程と、を備えることを特徴とする三次元位置計測方法。
【請求項2】
前記第一特定工程では、前記算出工程によって算出された前記第一マーカーの三次元位置に基づいて、前記三次元空間での前記第一面の法線ベクトルを算出することによって前記第一面を特定し、
前記第二特定工程では、前記第一特定工程によって算出された前記第一面の法線ベクトルから前記第二面の法線ベクトルを算出するともに、前記算出工程によって検出された前記第二マーカーの三次元位置と前記第二面の法線ベクトルに基づいて前記第二面を特定することを特徴とする請求項1に記載の三次元位置計測方法。
【請求項3】
前記第一面及び前記第二面としての部屋の壁面、天井面及び床面に前記第一マーカー及び前記第二マーカーを設けることを特徴とする請求項1又は2に記載の三次元位置計測方法。
【請求項4】
前記撮像装置が、全方位のパノラマ画像を撮像する全方位撮像装置であることを特徴とする請求項1から3の何れか一項に記載の三次元位置計測方法。
【請求項5】
請求項1から4の何れか一項に記載された三次元位置計測方法によって複数の計測点の三次元位置を計測し、これら計測点の位置からこれら計測点間の距離、平面形状の面積又は立体形状の体積を算出することを特徴とする測量方法。
【請求項6】
演算処理装置を備え、三次元空間中に配された第一面上又はそれに対して成す角度が既知の第二面上の計測点の三次元位置を前記演算処理装置により計測する三次元位置計測装置において、
前記演算処理装置が、
前記第一面に設けられた少なくとも3個の第一マーカーと、前記第二面に設けられた少なくとも1個の第二マーカーとが写るパノラマ画像上での前記第一マーカー及び前記第二マーカーの二次元位置を検出する検出処理と、
前記検出処理によって検出された前記第一マーカーの二次元位置に基づいて前記三次元空間での前記第一マーカーの三次元位置を算出するとともに、前記検出処理によって検出された前記第二マーカーの二次元位置に基づいて前記三次元空間での前記第二マーカーの三次元位置を算出する算出処理と、
前記算出処理によって算出された前記第一マーカーの三次元位置に基づいて前記第一面を特定する第一特定処理と、
前記算出処理によって算出された前記第一マーカーの三次元位置及び前記第二マーカーの三次元位置と、前記第一面と前記第二面の成す角度と、に基づいて前記第二面を特定する第二特定処理と、
前記パノラマ画像上での前記計測点の二次元位置を取得する取得処理と、
前記取得処理によって取得された前記パノラマ画像上での前記計測点の二次元位置に基づいて、前記パノラマ画像を撮像した撮像装置から前記計測点に向かう方位ベクトルを算出することによってその方位ベクトルに沿った三次元直線を特定する第三特定処理と、
前記第三特定処理によって特定された前記三次元直線と、前記第一特定処理によって特定された前記第一面又は前記第二特定処理によって特定された前記第二面との交点の位置を前記計測点の三次元位置として算出する計測点三次元位置算出処理と、を実行することを特徴とする三次元位置計測装置。
【請求項7】
コンピュータに、
三次元空間中に配されている第一面に設けられた少なくとも3個の第一マーカーと、前記三次元空間中に配されているとともに前記第一面に対して成す角度が既知の第二面に設けられた少なくとも1個の第二マーカーとが写るパノラマ画像上での前記第一マーカー及び前記第二マーカーの二次元位置を検出する検出処理と、
前記検出処理によって検出された前記第一マーカーの二次元位置に基づいて前記三次元空間での前記第一マーカーの三次元位置を算出するとともに、前記検出処理によって検出された前記第二マーカーの二次元位置に基づいて前記三次元空間での前記第二マーカーの三次元位置を算出する算出処理と、
前記算出処理によって算出された前記第一マーカーの三次元位置に基づいて前記第一面を特定する第一特定処理と、
前記算出処理によって算出された前記第一マーカーの三次元位置及び前記第二マーカーの三次元位置と、前記第一面と前記第二面の成す角度と、に基づいて前記第二面を特定する第二特定処理と、
前記パノラマ画像上での計測点の二次元位置を取得する取得処理と、
前記取得処理によって取得された前記パノラマ画像上での前記計測点の二次元位置に基づいて、前記パノラマ画像を撮像した撮像装置から前記計測点に向かう方位ベクトルを算出することによってその方位ベクトルに沿った三次元直線を特定する第三特定処理と、
前記第三特定処理によって特定された前記三次元直線と、前記第一特定処理によって特定された前記第一面又は前記第二特定処理によって特定された前記第二面との交点の位置を前記計測点の三次元位置として算出する計測点三次元位置算出処理と、を実行させるための三次元位置計測プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、三次元位置計測方法、測量方法、面特定方法、三次元位置計測装置及びプログラムに関し、特に三次元空間中の計測点の位置を計測するための技術に関する。
【背景技術】
【0002】
建物、構造物等の製造、改築、改良、修理等にあたって、三次元空間中の計測対象の寸法(二点間の距離)を事前に計測する必要がある。寸法の計測には、コンベックス、光波測距儀等の計測機器を利用するのが一般的である。
【0003】
一方、特許文献1には、光源をカメラによって撮像し、撮像画像を利用して光源の位置を計測する技術が開示されている。特許文献1に記載の技術を応用して、光源を計測対象に設置すれば、計測対象の位置を測定することができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−234597号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、コンベックスを利用して寸法を計測する場合、手作業によってコンベックスを計測箇所に固定しなければならない。また、光波測距儀を利用して寸法を計測する場合も、手作業によって光波測距儀を設置し、その設置箇所と所定の箇所までの距離を光波測距儀によって計測しなければならない。特許文献1に記載の装置でも、手作業によって光源を計測対象に設置しなければならない。よって、特許文献1に記載の装置、コンベックス及び光波測距儀では、作業者の手が届かない範囲にある計測対象の寸法を測定することができない。
【0006】
そこで、本発明は、上記事情に鑑みてなされたものである。本発明が解決しようとする課題は、作業者の手が届かない範囲にある測定対象の位置を特定できるようにすることである。
【課題を解決するための手段】
【0007】
以上の課題を解決するべく、三次元空間中に配された第一面上又はそれに対して成す角度が既知の第二面上の計測点の三次元位置を計測する三次元位置計測方法は、前記第一面に少なくとも3個の第一マーカーを設けるとともに、前記第二面に少なくとも1個の第二マーカーを設ける工程と、前記第一マーカー及び前記第二マーカーが写るパノラマ画像を撮像装置によって撮像する撮像工程と、前記パノラマ画像上での前記第一マーカー及び前記第二マーカーの二次元位置を検出する検出工程と、前記検出工程によって検出された前記第一マーカーの二次元位置に基づいて前記三次元空間での前記第一マーカーの三次元位置を算出するとともに、前記検出工程によって検出された前記第二マーカーの二次元位置に基づいて前記三次元空間での前記第二マーカーの三次元位置を算出する算出工程と、前記算出工程によって算出された前記第一マーカーの三次元位置に基づいて前記第一面を特定する第一特定工程と、前記算出工程によって算出された前記第一マーカーの三次元位置及び前記第二マーカーの三次元位置と、前記第一面と前記第二面の成す角度と、に基づいて前記第二面を特定する第二特定工程と、前記パノラマ画像上での前記計測点の二次元位置を取得する取得工程と、前記取得工程によって取得された前記パノラマ画像上での前記計測点の二次元位置に基づいて、前記三次元空間での前記撮像装置から前記計測点に向かう方位ベクトルを算出することによってその方位ベクトルに沿った三次元直線を特定する第三特定工程と、前記第三特定工程によって特定された前記三次元直線と、前記第一特定工程によって特定された前記第一面又は前記第二特定工程によって特定された前記第二面と、の交点の位置を前記計測点の三次元位置として算出する計測点三次元位置算出工程と、を備える。
【0008】
以上の課題を解決するべく、演算処理装置を備え、三次元空間中に配された第一面上又はそれに対して成す角度が既知の第二面上の計測点の三次元位置を前記演算処理装置により計測する三次元位置計測装置において、前記演算処理装置が、前記第一面に設けられた少なくとも3個の第一マーカーと、前記第二面に設けられた少なくとも1個の第二マーカーとが写るパノラマ画像上での前記第一マーカー及び前記第二マーカーの二次元位置を検出する検出処理と、前記検出処理によって検出された前記第一マーカーの二次元位置に基づいて前記三次元空間での前記第一マーカーの三次元位置を算出するとともに、前記検出処理によって検出された前記第二マーカーの二次元位置に基づいて前記三次元空間での前記第二マーカーの三次元位置を算出する算出処理と、前記算出処理によって算出された前記第一マーカーの三次元位置に基づいて前記第一面を特定する第一特定処理と、前記算出処理によって算出された前記第一マーカーの三次元位置及び前記第二マーカーの三次元位置と、前記第一面と前記第二面の成す角度と、に基づいて前記第二面を特定する第二特定処理と、前記パノラマ画像上での前記計測点の二次元位置を取得する取得処理と、前記取得処理によって取得された前記パノラマ画像上での前記計測点の二次元位置に基づいて、前記パノラマ画像を撮像した撮像装置から前記計測点に向かう方位ベクトルを算出することによってその方位ベクトルに沿った三次元直線を特定する第三特定処理と、前記第三特定処理によって特定された前記三次元直線と、前記第一特定処理によって特定された前記第一面又は前記第二特定処理によって特定された前記第二面との交点の位置を前記計測点の三次元位置として算出する計測点三次元位置算出処理と、を実行する。
【0009】
以上の課題を解決するための三次元位置計測プログラムは、コンピュータに、三次元空間中に配されている第一面に設けられた少なくとも3個の第一マーカーと、前記三次元空間中に配されているとともに前記第一面に対して成す角度が既知の第二面に設けられた少なくとも1個の第二マーカーとが写るパノラマ画像上での前記第一マーカー及び前記第二マーカーの二次元位置を検出する検出処理と、前記検出処理によって検出された前記第一マーカーの二次元位置に基づいて前記三次元空間での前記第一マーカーの三次元位置を算出するとともに、前記検出処理によって検出された前記第二マーカーの二次元位置に基づいて前記三次元空間での前記第二マーカーの三次元位置を算出する算出処理と、前記算出処理によって算出された前記第一マーカーの三次元位置に基づいて前記第一面を特定する第一特定処理と、前記算出処理によって算出された前記第一マーカーの三次元位置及び前記第二マーカーの三次元位置と、前記第一面と前記第二面の成す角度と、に基づいて前記第二面を特定する第二特定処理と、前記パノラマ画像上での計測点の二次元位置を取得する取得処理と、前記取得処理によって取得された前記パノラマ画像上での前記計測点の二次元位置に基づいて、前記パノラマ画像を撮像した撮像装置から前記計測点に向かう方位ベクトルを算出することによってその方位ベクトルに沿った三次元直線を特定する第三特定処理と、前記第三特定処理によって特定された前記三次元直線と、前記第一特定処理によって特定された前記第一面又は前記第二特定処理によって特定された前記第二面との交点の位置を前記計測点の三次元位置として算出する計測点三次元位置算出処理と、を実行させるためのものである。
【0010】
以上によれば、計測点の位置とは無関係な第一マーカー及び第二マーカーを第一面上及び第二面にそれぞれ設けて、第一マーカー及び第二マーカーがパノラマ画像に写るようにパノラマ画像を撮影すれば、第一面上又は第二面上の計測点に作業者の手が届かなくても、その計測点の三次元位置を算出して特定することができる。もちろん、作業者の手が届か範囲内に計測点があっても、その計測点の三次元位置を算出して特定することができる。
【発明の効果】
【0013】
本発明によれば、手の届く範囲にある計測点のみならず、手の届かない範囲にある計測点の三次元位置も計測することができるとともに、複数の計測点の三次元位置から線の距離、平面形状の面積及び立体形状の体積を求めることができる。
【図面の簡単な説明】
【0014】
図1】三次元空間中の計測点の位置を計測する様子を示した図面である。
図2】全方位撮像装置の側面図である。
図3】パノラマ画像を示した図面である。
図4】三次元計測装置のブロック図である。
図5】計測方法の工程図である。
図6】面を特定する処理のフローチャートである。
図7】計測点の座標を算出する処理のフローチャートである。
【発明を実施するための形態】
【0015】
以下、図面を参照して、本発明の実施形態について説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい種々の限定が付されているので、本発明の範囲を以下の実施形態及び図示例に限定するものではない。
【0016】
・面特定方法及び三次元位置計測方法の概要について
図1は、全方位撮像装置30、三次元位置計測装置50及び複数のマーカーMを用いて、現実の三次元空間中に設定された閉空間Wの内面上の計測点P,Qの位置を計測する様子を示している。この三次元位置計測方法では、閉空間Wの内面に複数のマーカーMを貼着して、これらマーカーMを画像に写すようにして全方位撮像装置30によって閉空間Wの内側から全方位(例えば水平方向に360°、垂直方向に180°)の撮影をし、取得した全方位画像(全天球画像)及びそれを展開したパノラマ画像(正距円筒画像)を利用することによって閉空間Wの内面を三次元位置計測装置50により特定するとともに、計測点P,Qの位置を三次元位置計測装置50によって算出する。
【0017】
また、三次元位置計測方法は、各種の測量に利用することができる。つまり、計測した2点以上の計測点(少なくとも計測点P,Q)の位置を利用して、線の長さ(2点の計測点間の距離)、平面形状(例えば、正三角形、直角三角形、二等辺三角形、三角形、正方形、長方形、台形、四角形、多角形、円形、楕円形等)の面積及び立体形状(例えば、三面体、立方体、直方体、四面体、球体等)の体積を公知の公式・定理により計算することもできる。例えば、計測した2点以上の計測点の位置を利用して、閉空間Wとしての部屋の天井高、長さ、幅、奥行き等を計測したり、部屋の壁面、窓枠、ドア枠等の高さ、幅などを計測したり、部屋の床面、天井面、壁面、窓枠、ドア枠等の面積を計測したり、部屋の体積を計測したりすることができる。
ここで、全方位撮像装置30、三次元位置計測装置50及び複数のマーカーMのセットが三次元位置計測システムである。
【0018】
・閉空間について
閉空間Wは、壁面A〜D、天井面E及び床面Fによって囲われた直方体状又は立方体状の部屋である。従って、これら壁面A〜D、天井面E及び床面Fの相互の二面角(法線ベクトル同士の成す角)は既知である。
【0019】
・マーカーについて
マーカーMのサイズ(寸法)は既知である。例えば、マーカーMの形状が円環状であり、その直径R [mm]が既知である。そのため、マーカーMの直径Rが定数として後述のプログラム52aに組み込まれている。なお、マーカーMの形状は円環状に限らず、例えば四角形(例えば長方形又は正方形)であってもよい。
【0020】
・マーカーの設置箇所について
壁面A〜D、天井面E及び床面Fのうち特定したい面にマーカーMを設ける。より具体的には、壁面A〜D、天井面E及び床面Fのうち何れか一面には少なくとも3個のマーカーMを互いに離れた箇所に貼着し、他の少なくとも一面には少なくとも1個のマーカーMを貼着する。そうすれば、後述のように、マーカーMが貼着された面を特定することができるとともに、それら面上の任意の計測点P,Qの位置を計測することができる。
【0021】
以下では、壁面Aに3個のマーカーMを貼着し、壁面B〜D、天井面E及び床面Fにそれぞれ1個のマーカーMを貼着した場合の例を挙げる。また、壁面Aに貼着した3個のマーカーMをそれぞれマーカーMA1、マーカーMA2、マーカーMA3と表記し、壁面B〜D、天井面E、床面Fに貼着したマーカーMをそれぞれマーカーM、マーカーM、マーカーM、マーカーM、マーカーMと表記する。
なお、マーカーMA1,MA2,MA3とマーカーMとマーカーMとマーカーMとマーカーMとマーカーMとを識別可能なように、これらの色・模様等が異なることが好ましい。
【0022】
・全方位撮像装置について
図2は全方位撮像装置30の側面図である。
図2に示すように全方位撮像装置30は筐体31、レンズ光学系32,33、固体撮像素子34,35、シャッターボタン36、コントローラユニット37及び記録媒体38を備える。
【0023】
レンズ光学系32,33は広角レンズ、超広角レンズ又は魚眼レンズであり、好ましくは、画角が180°以上の円周魚眼レンズである。レンズ光学系32,33は、光学的特性が同じものである。レンズ光学系32が筐体31の前面側に設けられ、レンズ光学系33が筐体31の後面側に設けられている。レンズ光学系32,33は、互いに逆向きとなるように且つそれぞれの光軸が合致するように、筐体31に組み付けられている。
【0024】
固体撮像素子34,35はエリア型の撮像素子であり、例えばCCDイメージセンサ又はCMOSイメージセンサである。固体撮像素子34,35が筐体31の内部に組み付けられ、固体撮像素子34がレンズ光学系32の結像面に配置され、固体撮像素子35がレンズ光学系32の結像面に配置される。
【0025】
コントローラユニット37が筐体31の内部に組み付けられ、シャッターボタン36が筐体31の後面に設けられている。記録媒体38は外部半導体メモリであり、筐体31に対して着脱可能である。なお、記録媒体38がコントローラユニット37に組み込まれた内蔵メモリであってもよい。
【0026】
作業者がシャッターボタン36を押下すると、コントローラユニット37によって固体撮像素子34,35が駆動されて、固体撮像素子34,35によって撮像(光電変換)された画像が固体撮像素子34,35からコントローラユニット37に転送される。コントローラユニット37は、固体撮像素子34,35から入力した撮像画像を合成するとともに各種補正処理(例えば、傾き補正や歪み補正等)をすることによって、全方位(例えば立体角が4π [sr])の画像を生成する。更に、コントローラユニット37は、全方位画像を平面直角座標系(以下、画像座標系という。)に座標変換(マッピング)することによって、パノラマ画像を生成する。そして、コントローラユニット37は、生成した全方位画像及びパノラマ画像を記録媒体38に記録する。ここで、パノラマ画像とは、水平方向に広い画像をいうが、コントローラユニット37によって生成されたパノラマ画像は、水平方向に360°の範囲、垂直方向に180°の範囲の全方位パノラマ画像である。
【0027】
全方位撮像装置30としては、例えば株式会社リコー製の全天球カメラ(登録商標:THETA)を利用することができる。
【0028】
・画像座標系及びカメラ座標系について
図3は、全方位撮像装置30によって生成されたパノラマ画像の概略図である。
パノラマ画像には画像座標系Xが設定されており、パノラマ画像のピクセルの位置が画像座標系Xの座標で表される。ここで、画像座標系XのX軸がパノラマ画像の横方向に対して平行に設定され、画像座標系XのY軸がパノラマ画像の縦方向に対して平行に設定される。また、コントローラユニット37には傾斜センサーが設けられており、全方位撮像装置30が傾いた状態で全方位画像を撮影しても、全方位撮像装置30を中心として俯仰角0°の全周像がX軸に平行な中心線に沿ってパノラマ画像に写るように、コントローラユニット37によって傾き補正処理が実行される。従って、三次元空間における俯仰角はパノラマ画像のY座標から換算され、三次元空間における水平角はパノラマ画像のX座標から換算される。
【0029】
また、図1に示すように、三次元空間中の任意の位置は、全方位撮像装置30の撮影点を原点とした直交座標系X(以下、カメラ座標系Xという)の座標によって表される。カメラ座標系XのX軸が画像座標系XのX軸に対して平行に設定され、カメラ座標系XのY軸が画像座標系XのY軸に対して平行に設定され、カメラ座標系XのZ軸がパノラマ画像に対して平行に設定される。
【0030】
また、上述のようにコントローラユニット37によって傾き補正が行われるので、カメラ座標系XのX軸・Z軸は三次元空間における水平面に対して平行である。
【0031】
・三次元位置計測装置について
三次元位置計測装置50は、デスクトップ型、ノートブック型又はタブレット型のパーソナルコンピュータである。図4に示すように、三次元位置計測装置50は演算処理装置51、記憶部52、入力部53、表示部54、リーダライタ55及びインターフェース58等を備える。演算処理装置51は、CPU、GPU、ROM、RAM及びハードウェアインタフェース等を有するコンピュータである。記憶部52は、半導体メモリ又はハードディスクドライブ等からなる記憶装置である。入力部53は、スイッチ、キーボード、ポインティングデバイス等の入力装置である。表示部54は、画面表示を行うディスプレイである。
【0032】
インターフェース58は、有線又は無線によって全方位撮像装置30とデータの送受を行うためのインターフェースである。例えば、インターフェース58は、USBインターフェース、Bluetooth(登録商標)インターフェース又は無線LANインターフェースである。
【0033】
リーダライタ55には、全方位撮像装置30から取り外された記録媒体38が接続可能である。リーダライタ55は、接続された記録媒体38の読み書きが可能なものである。具体的には、リーダライタ55は、記録媒体38に記録された全方位画像及びパノラマ画像を読み取って、それら全方位画像及びパノラマ画像を演算処理装置51に転送する。演算処理装置51は、転送された全方位画像及びパノラマ画像を記憶部52に記録する。ここで、記憶部52に記録された全方位画像56及びパノラマ画像57は、それぞれ、撮影点における撮影によって生成された全方位画像、パノラマ画像である。
【0034】
記憶部52には、演算処理装置51によって実行可能なプログラム52aが格納されている。このプログラム52aには、マーカーMのサイズ(直径R)のほか、全方位撮像装置30の焦点距離f [mm]も組み込まれている。なお、プログラム52aは、演算処理装置51のROMに格納されていてもよい。
【0035】
・工程について
図5のフローチャートを参照して、壁面A〜Dの特定工程、計測点P,Qの計測工程、演算処理装置51の処理工程について説明する。
まず、作業者がマーカーMA1、マーカーMA2,マーカーMA3を壁面Aに、マーカーMを壁面Bに、マーカーMを壁面Cに、マーカーMを壁面Dに、マーカーMを天井面に、マーカーMを床面Fに貼着する(ステップS1)。
【0036】
次に、作業者が閉空間W内に全方位撮像装置30を配置する(ステップS2)。この際、全方位撮像装置30のレンズ光学系32を壁面Aに向けることが好ましく、壁面Aに対してレンズ光学系32の光軸をできる限り垂直に近づけることがより好ましい。
【0037】
次に、作業者がシャッターボタン36を押下することにより全方位撮像装置30によって壁面A〜D、天井面E、床面F及びマーカーMA1,MA2,MA3,M,M,M,M,Mを撮影する(ステップS3)。そうすると、全方位撮像装置30の固体撮像素子34,35によって撮像画像が生成され、コントローラユニット37によって全方位画像及びパノラマ画像が生成され、全方位画像及びパノラマ画像が記録媒体38に記録される。
【0038】
次に、全方位撮像装置30から取り外した記録媒体38をリーダライタ55に接続して、生成された全方位画像及びパノラマ画像を記録媒体38から演算処理装置51の記憶部52に保存する(ステップS4)。こうして、全方位画像56及びパノラマ画像57が記憶部52に記録される。なお、全方位画像56及びパノラマ画像57がインターフェース58を通じて全方位撮像装置30から演算処理装置51に転送されて、演算処理装置51によって記憶部52に記録されてもよい。
【0039】
次に、作業者が入力部53を操作すると、面特定処理がプログラム52aに基づいて演算処理装置51によって実行される(ステップS5)。面特定処理は、カメラ座標系Xにおける壁面A〜D、天井面E及び床面F上の点(具体的には、マーカーMA1,MA2,MA3,M,M,M,M,M)の座標と、壁面A〜D・天井面E・床面Fの法線ベクトルとを求めて、壁面A〜D・天井面E・床面Fをカメラ座標系Xにおける平面の方程式で表す処理である。ここで、壁面A〜D・天井面E・床面F上の任意の点の座標が平面の方程式で表される。面特定処理の詳細については後述する。
【0040】
次に、計測点座標算出処理がプログラム52aに基づいて演算処理装置51によって実行される(ステップS6)。計測点座標処理は、計測点P,Qの三次元位置を算出して、計測点P,Qの三次元位置をカメラ座標系Xの座標で表す処理である。計測点座標算出処理の詳細については後述する。
【0041】
次に、長さ・面積・体積の算出処理がプログラム52aに基づいて演算処理装置51によって実行される(ステップS7)。この算出処理は、ステップS6で算出された複数の計測点の三次元位置(座標)を利用して、線の長さ、平面形状の面積及び立体形状の体積を公知の公式・定理により算出する処理である。
【0042】
次に、結果出力処理がプログラム52aに基づいて演算処理装置51によって実行される(ステップS8)。この結果出力処理は、ステップS6やステップS7の算出結果を表示部54に出力する処理である。なお、ステップS6やステップS7の算出結果が演算処理装置51によって記憶部52に記録されてもよい。
【0043】
続いて、図6のフローチャートを参照して、ステップS5の面特定処理について詳細に説明する。
まず、演算処理装置51が記憶部52からパノラマ画像57を読み込む(ステップS11)。なお、演算処理装置51がリーダライタ55を通じて記録媒体38からパノラマ画像57を読み込んでもよい。
【0044】
次に、演算処理装置51が公知の画像処理(例えば、エッジ検出処理等の特徴抽出処理)によってパノラマ画像57中のマーカーMA1,MA2,MA3,M,M,M,M,Mを認識する。そして、演算処理装置51が、パノラマ画像57中のマーカーMA1,MA2,MA3,M,M,M,M,Mのサイズ、より具体的には最大直径 [pixel]を検出して取得する(ステップS12)。ここで、マーカーMA1,MA2,MA3,M,M,M,M,Mがレンズ光学系32の光軸に直交しない場合、マーカーMA1,MA2,MA3,M,M,M,M,Mが扁平した状態でパノラマ画像57に写っている。
【0045】
次に、演算処理装置51がパノラマ画像57上でのマーカーMA1,MA2,MA3,M,M,Mの二次元位置を検出して取得する(ステップS13:検出処理)。検出されたマーカーMA1,MA2,MA3,M,M,M,M,Mの二次元位置は画像座標系Xで表される。ここで、マーカーMA1,MA2,MA3,M,M,M,M,Mが面積を有するので、マーカーMA1,MA2,MA3,M,M,M,M,Mの座標とは、マーカーMA1,MA2,MA3,M,M,M,M,Mに設定された所定の代表点(例えば、中心点)の座標のことをいう。
【0046】
なお、マーカーMA1,MA2,MA3,M,M,M,M,Mの最大直径及び座標の取得(ステップS12,S13)は、画像処理によるものではなく、手動入力によるものでもよい。つまり、パノラマ画像57が表示部54に表示された状態で、作業者が入力部53を操作して、表示部54に表示されたマーカーMA1,MA2,MA3,M,M,M,M,Mを指定することによって、演算処理装置51がマーカーMA1,MA2,MA3,M,M,M,M,Mの座標を取得する(ステップS13)。また、作業者が入力部53を操作して、マーカーMA1,MA2,MA3,M,M,M,M,Mの最大直径を入力することによって、演算処理装置51がマーカーMA1,MA2,MA3,M,M,M,M,Mの最大直径を取得する(ステップS12)。
【0047】
次に、演算処理装置51が、パノラマ画像57上でのマーカーMA1の二次元位置に基づいて、三次元空間でのマーカーMA1の三次元位置を算出する。具体的には、演算処理装置51が、カメラ座標系におけるマーカーMA1の座標、直径R及び最大直径並びに焦点距離fを用いて、画像座標系XにおけるマーカーMA1の座標をカメラ座標系XにおけるマーカーMA1の座標に変換する(ステップS14:算出処理)。
【0048】
ここで、カメラ座標系Xで表された三次元空間における水平角は画像座標系XのX座標から換算され、左側カメラ座標系Xで表された三次元空間における俯仰角は画像座標系XのY座標から換算されるので、カメラ座標系XにおけるマーカーMA1の座標は次式の通りである。
【0049】
【数1】
【0050】
同様にして、演算処理装置51が、カメラ座標系XにおけるマーカーMA2,MA3,M,M,M,M,Mの座標を算出する(ステップS14)。
【0051】
ここで、マーカーMA1,MA2,MA3,M,M,M,M,Mの直径R及び全方位撮像装置30の焦点距離fが定数としてプログラム52aに組み込まれ、ステップS14の算出に際して、演算処理装置51がプログラム52aから直径R及び焦点距離fを取得する。それに対して、作業者が入力部53を操作することによって直径R及び焦点距離fを入力し、これにより演算処理装置51が直径R及び焦点距離fを取得するものとしてもよい。また、焦点距離fが画像56,57のメタデータとして画像56,57に含まれ、演算処理装置51が画像56,57から焦点距離fを取得するものとしてもよい。
【0052】
次に、演算処理装置51が、カメラ座標系XにおけるマーカーMA1,MA2,MA3の座標から、マーカーMA1,MA2,MA3を通る壁面Aの法線ベクトルを求める(ステップS15:第一特定処理)。これにより、マーカーMA1(又はマーカーMA2,MA3)の座標と法線ベクトルとから壁面Aを特定して、壁面Aの平面の方程式を以下のように特定する。
【0053】
【数2】
【0054】
次に、演算処理装置51が、壁面A,Bの法線ベクトル同士の成す角度と壁面Aの法線ベクトルとから、壁面Bの法線ベクトルを算出する(ステップS16:第二特定処理)。これにより、マーカーMの座標と法線ベクトルとから壁面Bを特定して、壁面Bの平面の方程式を以下のように特定する。
【0055】
【数3】
【0056】
壁面A,Bの法線ベクトル同士の成す角度は、予め定数として設定されたものであるか、手動入力によるものであるか、画像処理によるものである。法線ベクトル同士の成す角度が定数である場合、その定数がプログラム52aに組み込まれ、演算処理装置51がプログラム52aからその定数を取得する。法線ベクトル同士の成す角度が手動入力によるものである場合、作業者が入力部53を操作して、壁面A,Bの法線ベクトル同士の成す角度を入力することによって、演算処理装置51がその角度を取得する。法線ベクトル同士の成す角度が画像処理によるものである場合、演算処理装置51がパノラマ画像57中のマーカーMA1,Mの形状係数(例えば扁平率)を算出して、マーカーMA1,Mの形状係数から角度を算出する。
【0057】
同様にして、演算処理装置51が、壁面Aの法線ベクトルから壁面C,D、天井面E及び床面Fの法線ベクトルを求めて、壁面C,D、天井面E及び床面Fを特定する(ステップS16)。
【0058】
続いて、図7のフローチャートを参照して、ステップS6の計測点座標算出処理について詳細に説明する。
【0059】
まず、演算処理装置51が、パノラマ画像57中の壁面A〜D、天井面E及び床面Fを認識する(ステップS21)。パノラマ画像57中の壁面A〜D、天井面E及び床面Fの認識の具体例を挙げると、次の(a)〜(c)の通りである。
(a) パノラマ画像57中の壁面A〜D、天井面E及び床面Fを区切る境界線が画像座標系Xによって表されるように予めプログラム52aに組み込まれており、演算処理装置51がプログラム52aから境界線の情報を読み取ることによって壁面A〜D、天井面E及び床面Fを認識する。
(b) 演算処理装置51が公知の画像処理(例えば、エッジ検出処理等の特徴抽出処理)によってパノラマ画像57中の壁面A〜D、天井面E及び床面Fを認識する。ここで、壁面A〜D、天井面E及び床面Fの識別が可能なように、壁面A〜D、天井面E及び床面Fごとに形態(形状、色、模様等)の異なるマーカー(マーカーMとは別のマーカー)を壁面A〜D、天井面E及び床面Fにそれぞれ貼着した状態で、ステップS3の撮影を行うことが好ましい。或いは、マーカーMA1,MA2,MA3とマーカーMとマーカーMとマーカーMとマーカーMとマーカーMは色・模様等を異なるようにすることが好ましい。
(c) パノラマ画像が表示部54に表示された状態で、作業者が入力部53を操作して、表示部54に表示された壁面A〜D、天井面E及び床面Fの境界を指定することによって、演算処理装置51がパノラマ画像57中の壁面A〜D、天井面E及び床面Fを認識する。
【0060】
次に、演算処理装置51がパノラマ画像57を表示部54に表示する(ステップS22)。
次に、作業者が入力部53を操作して、表示部54に表示されたパノラマ画像57中の任意の位置を指定することによって計測点Pの座標を入力し、演算処理装置51が画像座標系Xにおける計測点Pの座標を取得する(ステップS23:取得処理)。ここで、計測点Pは、パノラマ画像57に写った面A〜Eの何れにあってもよい。
【0061】
次に、演算処理装置51が、画像座標系Xで表された計測点Pの座標に基づいて、壁面A〜D、天井面E及び床面Fのうち計測点Pのある面を選択する(ステップS24)。
次に、演算処理装置51が、画像座標系Xで表された計測点Pの座標に基づいて、カメラ座標系Xにおける撮影点(原点)から計測点Pに向かう方位ベクトルを求めて、撮影点と計測点Pとを結ぶ直線を特定する(ステップS25:第三特定処理)。ここで、撮影点から計測点Pに向かう方位ベクトルと、撮影点と計測点Pを結ぶ直線の式は、次の通りである。
【0062】
【数4】
【0063】
次に、演算処理装置51が、ステップS15,ステップS16で特定された面A〜FのうちステップS24で選択された面を表す平面の方程式と、ステップS25で特定した直線を表す方程式とから、その直線と面との交点の座標を算出する(ステップS26:計測点三次元位置算出処理)。その交点の座標が計測点Pの座標である。
【0064】
同様にして、作業者がパノラマ画像57中の計測点Qを指定すると、カメラ座標系Xにおける計測点Qの座標が演算処理装置51によって算出される。そして、次式のように、カメラ座標系Xで表された計測点Pの座標(XCP,YCP,ZCP)及び計測点Qの座標(XCQ,YCQ,ZCQ)から計測点P,Q間の距離LPQが演算処理装置51によって算出される(図6のステップS7参照)。
【0065】
【数5】
【0066】
また、計測点P,Qの座標(XCP,YCP,ZCP),(XCQ,YCQ,ZCQ)やこれらの間の距離LPQが演算処理装置51によって表示部54に表示される(図6のステップS8参照)。
【0067】
・効果
以上の実施形態には次のような効果がある。
(1) 設置するマーカーMとは別に計測点P,Qの三次元位置を計測するので、計測点P,Qが手の届かない範囲にあっても、計測点P,Qの三次元位置をカメラ座標系Xの座標として計測することができる。手の届かない範囲にある計測点P,Qの計測にあたって、脚立や足場等の計測補助具を設置しなくても済む。計測者の人数が少なくても、たとえ一人であっても、計測点P,Qの三次元位置を計測することができる。もちろん、計測点P,Qが手の届く範囲にあっても、計測点P,Qの三次元位置を計測することができる。
【0068】
(2) 複数のマーカーMをセッティングして、撮影を行うだけで、計測点P,Qの三次元位置を簡易且つ簡便に行うことができる。
【0069】
(3) 全方位撮像装置30が全方位の画像を撮像するものであるので、計測点P,Qがどのような位置・方位にあっても、計測点P,Qがパノラマ画像に写りさえすれば、計測点P,Qの三次元位置を計測することができる。つまり、閉空間Wの内面上にある対象点の三次元位置を計測するのに有効的である。
【0070】
(4) 全方位撮像装置30が全方位の画像を撮像するものであるので、マーカーMを貼着しさえすれば、どのような向きの面も特定することができる。
【0071】
(5) 3個のマーカーMを貼着する面が一面であり、他の面に貼着するマーカーMは1個で済むので、計測作業が容易になる。
【0072】
・変形例
以上、本発明を実施するための形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得るとともに、本発明にはその等価物も含まれる。以下に、上記実施形態から変更した点について幾つか例を挙げて説明する。
【0073】
上記実施形態では、全方位画像及びパノラマ画像がコントローラユニット37によって生成されたが、演算処理装置51によって生成されてもよい。つまり、全方位撮像装置30の固体撮像素子34,35によって撮像された画像が演算処理装置51に転送されて、演算処理装置51がそれらの撮像画像を合成して全方位画像を生成し、その全方位画像をパノラマ画像に座標変換してもよい。この場合、プログラム52aが、全方位画像生成処理及びパノラマ画像生成処理を演算処理装置51に実行させる。
【0074】
上記実施形態では、壁面Aに3個のマーカーMを貼着することによって壁面Aを第一面とし、面B〜Fに1個のマーカーMを貼着することによってこれら面B〜Fを第二面とした。それに対して、3個のマーカーMを貼着する面は面A〜Fの何れでもよく、1個のマーカーMを貼着する面も面A〜Fの何れもでもよい。また、1個のマーカーMを貼着する面の数は1でもよいし、複数でもよい。
【符号の説明】
【0075】
30…全方位撮像装置, 31…筐体, 32…レンズ光学系, 33…レンズ光学系, 34…固体撮像素子, 35…固体撮像素子, 36…シャッターボタン, 37…コントローラユニット, 38…記録媒体, 50…三次元位置計測装置, 51…演算処理装置, 52…記憶部, 52a…プログラム, 53…入力部, 54…表示部, 55…リーダライタ, 56…全方位画像, 57…パノラマ画像,58…インターフェース, W…閉空間, A…壁面(第一面), B〜D…壁面(第二面), E…天井面(第二面), F…床面(第二面) M…マーカー MA1〜MA3…マーカー(第一マーカー), M〜M…マーカー(第二マーカー), P…計測点, Q…計測点
図1
図2
図3
図4
図5
図6
図7