説明

座標計測装置と座標計測方法

【課題】 安価な市販の道具で、周囲を3次元計測する技術を提供する。
【解決手段】 所定のXYZ直交座標系を用いて、移動体の周囲に存在する計測点の3次元座標を計測する方法であって、移動体を移動しながら、移動体に搭載したラインカメラで撮影を繰返す工程と、ラインカメラで計測点を撮影した時の「移動体の位置と、ラインカメラ視野面のXYZ直交座標系に対する角度と、ラインカメラ映像内での計測点位置」のデータの組を特定する工程と、少なくとも2組の前記データの組から、計測点の座標を演算する工程とを備えている

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、移動体の周囲に存在する計測点の座標を計測する装置と方法に関する。または、移動する計測点の座標を計測する装置と方法に関する。
【背景技術】
【0002】
移動体から周囲を見ると、その周囲には多様な物体が存在しており、様々な景色が広がっている。例えば、移動体が車両の場合、法面を切り開いた道路を走行する際には法面を観測することができる。あるいは、交通標識が観測されることもある。また車両がトンネル内を走行するときは上方にトンネルの天井が観測される。車両の下方には路面が観測される。
移動体から周囲に存在する地点の位置を計測したいという要望が存在する。例えば道路を走行する車両から道路側方に植栽されている樹木の形状を測定できれば、剪定作業が必要となったのか否かを判別することができる。あるいは、法面の形状を時間間隔をおいて測定できれば、法面が変形していることを認識することができ、地すべり等の災害が生じる前に必要な対策を講じることができる。また、比較的大型のもの、例えば、材木などを回転させながらその形状を計測する場合、画像と形状を同時に測定することができると非常に有用であることが多い。
【0003】
景色内に存在する計測点を3次元計測する技術が従来から提案されている。
最も古典的には、航空機を用いて上空から撮影することによって計測点の高さを計測する。上空からエリアカメラによってステレオ撮影した映像を取得し、そのステレオ映像から3次元情報を再現することによって計測点の高さを計測する技術が知られている。
上空から撮影する技術では、上空からは死角となる計測点の高さを計測することができない。例えば、トンネル内壁の形状を計測することはできない。
地上で測量すれば、上空からは死角となるような計測点についても、その位置を計測することができる。しかしながらこの方法では、広域をカバーすることが難しい。
そこで、道路を走行する車両を利用する技術が提案されている。特許文献1には、車両にラインカメラを搭載し、車両を走行させながら車両側方に広がる景色を撮影し、撮影された映像を繋ぎ合わせることで、道路側方に広がる景色のパノラマ映像を生成する技術が開示されている。特許文献2には、車両にレーザスキャナを搭載し、車両を走行させながら車両側方に広がる景色内に存在する計測点の位置を3次元計測する技術が開示されている。特許文献2には、3次元計測して得られた立体形状データに、ラインカメラで撮影した映像を貼り付けることによって、景色を再現する立体映像を再現する技術も説明されている。
【特許文献1】特開2000−156818号公報
【特許文献2】特開2002−34055号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
特許文献1の技術では、道路側方に広がる景色のパノラマ映像を取得することに留まっており、景色内に存在する計測点の位置を計測することができない。計測点の位置を数量化することができない。
特許文献2の技術によると、車両の周囲に存在する計測点の位置を計測することができるが、そのために、照射したレーザが計測点で反射して戻ってくるレーザを検出して計測点の位置を3次元計測する手法を用いており、高価なレーザスキャナを必要とする。安価な市販の道具を利用して、周囲の景色を計測することができる技術が望まれている。
またレーザスキャナによる計測では、レーザによる走査に要する時間が長く、移動しながらの計測に不向きであるという問題もある。
【0005】
本発明では上記課題を解決する。本発明では、安価な市販の道具で、移動体の周囲に存在する計測点の座標を正確に計測する技術を提供する。同様に、この技術は、対象物が移動する場合においても適用できる。
また、上記の技術の計測原理を応用して、安価な市販の道具で、被写体の表面形状を正確に計測することが可能な技術を提供する。
【課題を解決するための手段】
【0006】
本発明の方法は、所定のXYZ直交座標系を用いて、移動体の周囲に存在する計測点の3次元座標を計測する方法である。その計測方法は、移動体を移動しながら、少なくとも2回異なる方向または位置から計測点を撮影するように移動体に搭載したラインカメラで撮影する工程と、ラインカメラで計測点を撮影した時点におけるラインカメラの位置および方向を特定する工程と、ラインカメラの映像内における計測点の像の位置を特定する工程と、映像内の計測点の像の映像内における位置と計測点とラインカメラの光軸中心を結ぶ視線上の点の前記XYZ直交座標系における位置との関係を特定する工程と、少なくとも2組の映像内の計測点の像の位置と計測点を撮影した時点におけるラインカメラの位置および方向から前記XYZ座標系における計測点の位置を演算する工程を備えている。
【0007】
ここで言う「ラインカメラ」とは、狭義には、直線状に配列された撮像素子の撮像面における像を取得するものであり、通常のエリアカメラの視野が焦点から立体的に四角錐状に広がるのに対し、ラインカメラの視野は焦点から略平面状に三角形に広がる。撮像素子が直線状に配列された一般的なラインセンサカメラに加えて、広義には、得られた映像から直線的に伸びる領域の映像を切り出して使用することが可能な、撮像素子が面的に配列されたエリアカメラを用いても本発明の原理を適用できると解される。ここで得られる1ラインの画像をライン画像と称する。
ここで言う「視線」とは、ラインカメラの直線状の撮像面上の1点から伸び、ラインカメラの焦点を通る、半直線のことをいう。ラインカメラの映像内に像を形成する計測点は、この視線上のどこかに存在する。
ここで言う「視野面」とは、撮像面を直線とみなしたときに視線が集まってできる平面のことをいう。ラインカメラで撮影される複数のライン画像を並べると、1つの映像を得ることができる。この映像は、並べるラインの本数に制約はなく、不定長の映像となるが、ここではこれを「パノラマ映像」と称している。ライン画像における撮像素子の端を特定したとき、パノラマ映像は、ラインごとにこの同じ端に相当する部分を結ぶ線が交差しない、つまり、ライン画像が裏返らないことと、撮像した時刻にしたがって同じ方向にラインを接して並べるものとするが、その他の並べ方に制約はない。多くは、長方形になるように並べる。ラインの撮像は、周期性をもたなくてもよい。ラインが撮像時刻にしたがって番号付けされ得るものであればどのようなものでもよく、この番号付けされたライン画像をここでは、「ラインの時系列」と称している。
【0008】
図1は、上記した計測方法の原理を模式的に示している。以下では、移動体として道路を走行する車両Aを用いる場合について説明する。図1では、時刻t1における車両をA1で示し、時刻t2における車両をA2で示している。図示しない走行距離測定手段によって、時刻t1から時刻t2までに車両Aが走行した距離Lを測定することができる。走行距離測定手段は、車両Aに搭載されていてもよいし、車外から走行距離を測定する手段であってもよい。GPS等を利用することによって、走行距離を測定することもできる。
車両Aは、第1ラインカメラB1と第2ラインカメラB2を搭載している。第1ラインカメラB1は、視野面C1と交差する物体表面を撮影する。第2ラインカメラB2は、視野面C2が交差する物体表面を撮影する。
座標系XYZは、路面を平面とみなし、XY面が路面と平行となるように設定されている。それぞれのラインカメラは、視野面がXY面に垂直となるように車両Aに取り付けられている。
図示のPが計測点を例示している。図1では、時刻t1に第1ラインカメラB1が計測点Pを撮影し、時刻t2に第2ラインカメラB2が計測点Pを撮影した様子を示している。
【0009】
上記の場合において、計測点Pは、視野面C1と視野面C2の交差する線上に存在する。第1ラインカメラB1が計測点Pを撮影した時点での、車両Aの位置と視野面C1が座標系XYZに対してなす角度が特定されると、座標系XYZにおける視野面C1を特定することができる。第2ラインカメラB2が計測点Pを撮影した時点での、車両Aの位置と視野面C2が座標系XYZに対してなす角度が特定されると、座標系XYZにおける視野面C2を特定することができる。視野面C1と視野面C2が特定されると、それらの交差する線が特定される。計測点Pは、特定された交線上に存在する。これにより、車体側方から計測点Pまでの奥行きが計測できる。計測点Pまでの奥行きの計測は、1ライン映像内における計測点の像の位置(すなわち対応する視線)を特定することなく、実施することができる。
上記に加えて、ラインカメラによって撮影される映像内での計測点Pの位置およびその計測点における視線の向きが特定されると、計測点Pの3次元座標を特定することができる。例えば第1ラインカメラB1で撮影される映像内での計測点Pの位置が特定されると、第1ラインカメラB1の視野内における計測点Pの迎角を特定することができる。計測点Pは、前記の特定された交線上にあって、かつ第1ラインカメラB1から前記の特定された迎角で観測される位置に存在する。従って、上記の特定された交線と、上記の特定された迎角から、計測点Pの3次元座標を特定することができる。
【0010】
上記の計測方法を用いることによって、位置を計測したい計測点が多数存在する場合に、計測点を地上から測量する際に従来実施されている一般的な測量方法にくらべ、作業に係る労力を劇的に低減することができる。またレーザスキャナにくらべ安価なラインカメラを利用して周囲の景色を計測することが可能であり、計測に係る費用を低減することができる。
【0011】
上記した計測方法は、下記の計測装置を用いることで、好適に実施することができる。本発明の装置は、所定のXYZ直交座標系を用いて、移動体の周囲に存在する計測点の3次元座標を計測する装置である。その計測装置は、移動体と、移動体に搭載したラインカメラと、ラインカメラで撮影を繰返す手段と、ラインカメラで計測点を撮影したときの「移動体の位置と、ラインカメラ視野面のXYZ直交座標系に対する角度と、ラインカメラ映像内での計測点の位置およびその計測点の視線の方向」を備えるデータの組を特定する手段と、特定されたデータの組を記憶する手段と、少なくとも2組の記憶されたデータの組から、計測点の3次元座標を演算する手段とを備えている。
【0012】
上記の計測方法では、前記移動体に第1ラインカメラと第2ラインカメラを搭載し、前記撮影する工程は、移動体を移動させながら、移動体に搭載した第1ラインカメラと第2ラインカメラのそれぞれで撮影を繰返し、前記特定する工程は、第1ラインカメラで計測点を撮影した時の「移動体の位置と、第1ラインカメラ視野面のXYZ直交座標系に対する角度と、第1ラインカメラ映像内での計測点の位置およびその計測点の視線の方向」を備える第1のデータの組を特定する工程と、第2ラインカメラで計測点を撮影した時の「移動体の位置と、第2ラインカメラ視野面のXYZ直交座標系に対する角度と、第2ラインカメラ映像内での計測点の位置およびその計測点の視線の方向」を備える第2のデータの組を特定する工程と、を備え、前記演算する工程は、前記第1のデータの組と前記第2のデータの組から、計測点の3次元座標を演算することが好ましい。
上記のように、2台のラインカメラを移動体に搭載して、撮影を実施することによって、計測点の座標を演算するために必要なデータの組を一度の撮影工程から取得することが可能となる。
【0013】
上記の計測方法では、前記撮影する工程は、移動体が、XY面に平行な面に沿って移動しながら、ラインカメラは、XY面に垂直な面に沿う視野内を撮影することを繰り返す。
このように移動体の移動する範囲をXY面に平行な面に沿う範囲しながらその位置と向きを計測することによって、広範囲な計測点を位置を計測でき、かつ、XY面に投影した計測点の位置特定に係る処理時間を短縮することができる。
【0014】
上記の方法によって計測点の位置を特定する場合について説明する。上記の方法の場合、図1の第1ラインカメラB1は、平面視したときに、車両の進行方向からθ1の撮影方向を撮影する。ここで、図1において時刻t1におけるカメラの位置を原点とし、車の進行方向をX軸正の向きとする。上方がZ軸である。角度の向きは、X軸正の方向から時計と反対周りが正である。カメラの視野面は、図1において第1ラインカメラがC1、第2ラインカメラがC2である。図1をXY面に投影したものが図2であって、視野面C1、C2の共通部分である直線が1点Pで表現される。このXY座標軸は、移動の間すなわち、t1からt2までにおいて同じであるとする。図1の第1ラインカメラB1の視野面をXY面に投影すると直線となるが、この直線は車両の進行方向(図1では時刻t1の進行方向がX軸と一致している)からθ1の方向である。つまり、第1ラインカメラB1はθ1の方向の計測点を撮像している。同様に第2ラインカメラB2は、θ2の方向を撮像している。
図2において、2つのカメラが同じ計測点を撮像したとして、その位置は、Pであるので、この位置(Xo,Yo)をt1の車両の位置を基準に示すと以下である。
Xo=L・tanθ2/(tanθ2−tanθ1)
Yo=L・tanθ1・tanθ2/(tanθ2−tanθ1)
【0015】
時刻t1において車両Aが位置していた道路上の座標原点から計測点Pまでの平面内距離Hoは、次の式から計算することができる。
Ho=(Xo2+Yo2)1/2
=L・(1+tan2θ1)1/2・|tanθ2/(tanθ2−tanθ1)|
ここで、いうXY面は、この車両を例にとると道路面であるが、カメラを下方に向けた場合(図1のカメラ1とカメラ2をX軸回りに90度回転下向き)、XY面を路面と垂直面にとればよく、この場合、車両が、路面に平行に進行しているとみなすと、ライン画像に映る路面の凹凸を検出できる。
【0016】
図1と図2に示したように、X軸に対して異なる角度に設定されているX−Y面に垂直な面に沿った視野内を撮影する2台のラインカメラB1,B2を利用することによって、計測点PのX座標とY座標を計算することができ、さらには水平面内距離Hoを計算することができる。そこに、仰角の情報を加味すると、高さを計算することができる。ここでは、カメラ1とカメラ2の光軸が同じ平面上であるとする。
図1と図5は、第1ラインカメラB1の仰角φ1から、時刻t1において車両Aが位置していた道路上の座標系(X、Y、Z座標系)によって、計測点Pの高さ座標Zoを計算する様子を示している。図5は、YZ平面ではなく、第1ラインカメラB1が撮影する垂直面C1の面内であることに留意されたい。
計測点Pが第1ラインカメラB1で撮影されたときの仰角をφ1とすれば、計測点Pの高さ座標Zoは、下記の式で計算できる。
Zo=Ho・tanφ1
=L・tanφ1・(1+tan2θ1)1/2・|tanθ2/(tanθ2−tanθ1)|
同様の計算は、第2ラインカメラB2で撮影されたときの仰角φ2から実行することもできる。仰角は、第1ラインカメラB1と第2ラインカメラB2の少なくとも一方から入手できればよい。
迎角φ1は、例えば図5に示すように、ラインカメラのレンズから像面までの距離Fと、計測点を像面に投影した点の像面上での高さZCから、下記の式で計算できる。
tanφ1=ZC/F
本技術によると、移動体の周囲の大半の点(大半の点が両方のパノラマ映像に撮影されている)のX座標、Y座標、Z座標を計測することができる。これらの位置関係は、時刻t1における移動体の位置と姿勢で決まる座標軸および座標原点によって求められているものであることに注意されたい。移動体の位置が、固定された座標軸と座標原点で表現できれば、この計測点の位置は、これらの座標系によって表現できる。
【0017】
上記式では、平面視したときに、2台のラインカメラB1、B2が車両Aの同一位置に搭載されているものとしている。2台のラインカメラB1、B2の車両Aにおける搭載位置が相違する場合には、車両の進行方向に沿って測定した搭載位置間距離によって走行距離から補正した値を、前記Lの値とする。
計測点Pが第1ラインカメラB1で撮影された第1撮影時点t1と、計測点Pが第2ラインカメラB2で撮影された第2撮影時点t2は、撮影しながらリアルタイムで特定してもよい。あるいは、撮影データを記録しておき、それを再現した結果から特定することもできる。
【0018】
上記の例では、車両は直線的な軌道を走行しているため、移動体進行方向は常にX軸の方向に等しい。車両が曲線を描く軌道を走行して移動体進行方向のX軸からの角度が変化する場合には、それを考慮すればよい。図2において計測点Pを通る2本の直線a、bを決定するのに足りる情報が得られれば、計測点PのY座標が決定できる。それぞれの直線a、bの通る位置と角度が2組決定できればよい。ラインカメラの視野面がXY面に垂直であることから、ラインカメラで計測点を撮影した時点を図2に再現することができる。ここで、移動体に対するカメラの設置位置および姿勢が変わらないのであれば、計測点を撮影したときの移動体の位置と姿勢を求めることによりこれらが決定できる。したがって、移動体の位置を固定された座標軸と座標原点で表現できれば、この計測点の位置が、これらの座標系によって表現できる。これは、移動体の位置を画像を撮像する時刻と同時に計測し記録することによって実現される。
【0019】
上記の計測方法では、移動体に2台のラインカメラを搭載して、一度の撮影で2つのデータの組を取得する代わりに、移動体に1台のラインカメラを搭載して、2度の撮影で2つのデータの組を取得してもよい。このような場合には、上記の計測方法では、前記撮影する工程は、移動体を第1の所定軌道に沿って移動しながら、ラインカメラで撮影を繰り返す第1撮影工程と、移動体を第2の所定軌道に沿って移動しながら、ラインカメラで撮影を繰り返す第2撮影工程とを備え、前記特定する工程は、第1撮影工程で計測点を撮影した時の「移動体の位置と、ラインカメラ視野面のXYZ直交座標系に対する角度と、ラインカメラ映像内での計測点の位置およびその計測点の視線の方向」を備える第1のデータの組を特定する工程と、第2撮影工程で計測点を撮影した時の「移動体の位置と、ラインカメラ視野面のXYZ直交座標系に対する角度と、ラインカメラ映像内での計測点の位置およびその計測点の視線の方向」を備える第2のデータの組を特定する工程とを備え、前記演算する工程は、前記第1のデータの組と前記第2のデータの組から、計測点の3次元座標を演算する、ことが好ましい。
上記の第1の所定軌道と第2の所定軌道は、同一でもよいし、異なっていてもよい。このような場合、計測作業に必要なラインカメラは1台であり、複数のラインカメラを用いる必要はない。計測作業に要する機材に係る費用を低減することができる。上述したように、移動体の経路において画像を撮像する時刻と同時に計測し記録することが望ましい。
【0020】
図3に、1台のラインカメラ106を車両108に所定角度で固定し、車両108を2回走行させて周囲を撮影する場合の模式図を示す。まず1回目の撮影では、車両108は軌道104上を走行し、所定の距離を走行する度に、周囲の被写体102をラインカメラ106で撮影していく。次に2回目の撮影では、車両108は軌道110上を走行し、所定の距離を走行する度に、周囲の被写体102をラインカメラ108で撮影していく。軌道104と軌道110は進行方位が互いに異なる直線状の軌道であり、軌道104を走行する際のラインカメラ106の視野の角度と、軌道110を走行する際のラインカメラ106の視野の角度は、互いに異なる。1回目の走行軌道104を車両108が走行するときの進行方向をX軸として、X軸に垂直な水平方向をY軸とする。走行軌道104上で計測点Pを撮影した車両108の位置と、そのときのラインカメラ106の設置角度から直線aの位置と方向が決まり、走行軌道110上で計測点Pを撮影した車両108の位置と、そのときの車両108の進行方位角度と、そのときのラインカメラ106の設置角度から、直線bの位置と方向が決まる。その結果、三角測量の原理で計測点PのY座標を算出することができる。走行軌道104、110は、車両108の走行中に磁気コンパス等を用いて車両108の進行方位を随時計測して、車両108の走行距離と進行方位の関係から決定してもよいし、GPS受信機を車両108に搭載して、車両108の走行中に車両108の位置と進行方位を随時計測して決定してもよい。また車両を走行させる前に、予め走行軌道104、110を所定の形状に規定しておき、規定された軌道の上で車両を走行させてもよい。この計測方法でも、図2の2本の直線a、bを決定するのに必要な情報を得ることができる。
【0021】
また、車両の走行する軌道によっては、1台のラインカメラを車両に搭載して、1回の走行で同一の計測点を2回計測することが可能な場合がある。このような場合には、作業に必要となる機材の費用を低減し、かつ作業に係る労力を低減することができる。
【0022】
図4に示すように、車両108が直線的な軌道ではなく、曲線を描く軌道120上を走行する場合、1度の走行で計測点Pが2回撮影される。計測点Pを撮影した時点での車両108の位置と進行方向を特定することで、計測点Pを通る2本の直線a、bの位置と方向を決定することができ、三角測量の原理に基づいて計測点Pの位置を算出することができる。
走行軌道120は車両108の走行中に磁気コンパス等を用いて車両108の進行方位を随時計測して、車両108の走行距離と進行方位の関係から決定してもよいし、GPS受信機を車両108に搭載して、車両108の走行中に車両108の位置と進行方位を随時計測して決定してもよい。また車両108を走行させる前に、予め走行軌道120を所定の形状に規定しておき、規定された軌道の上で車両108を走行させてもよい。
また、計測点Pを撮影した時点における車両108の走行距離は、ロータリーエンコーダ等を用いて計測することができる。車両108の走行軌道120と、計測点Pを撮影した時点での車両108の走行距離とが特定されると、車両108の位置と、そのときのラインカメラ106の角度が特定される。特定された位置と角度に基づいて、計測点Pを通る2本の直線a、bの位置と方向を決定することができ、計測点Pの位置を算出することができる。
【0023】
上記したように、計測点Pが第1ラインカメラB1で撮影された第1撮影時点t1と、計測点Pが第2ラインカメラB2で撮影された第2撮影時点t2は、撮影しながらリアルタイムで特定してもよい。あるいは、撮影データを記録しておき、それを再現した結果から特定してもよい。後者の場合には、第1ラインカメラB1で撮影された垂直面C1に沿った映像を車両進行方向に並列配置することによって第1ラインカメラB1によって撮影されたパノラマ映像を得ることができる。また、第2ラインカメラB2で撮影された垂直面C2に沿った映像を車両進行方向に並列配置することによって第2ラインカメラB2によって撮影されたパノラマ映像を得ることができる。得られる2つのパノラマ映像を用いて、ステレオ視の原理を用いて計測点の位置を計測することもできる。
【0024】
本発明で具現化される他の一つの計測方法は、所定のXYZ直交座標系を用いて、移動体の周囲に存在する計測点の3次元座標を計測する方法である。その計測方法は、移動体を移動しながら、移動体に搭載されているラインカメラで撮影を繰返す工程と、得られた画像を進行方向に繋ぎ合わせたパノラマ映像を作成する工程と、「計測点のパノラマ映像内の座標と、ラインカメラのカメラパラメータ」を備えるデータの組を特定する工程と、ラインカメラのカメラパラメータを撮像ラインの時系列に関連付ける手段と、少なくとも2組の前記特定されたデータの組とから、計測点の3次元座標を演算する工程とを備えている。この方法は、上述のようにカメラの視野面の角度や視線の方向などを陽に求めなくても撮像された画像における計測点の位置と所定の座標系に記述された計測点の位置の関係を表現できる点において非常に有用である。とくに、焦点距離などを正確に求めることは困難であり、以下で述べる方法によることが望ましい。
【0025】
ラインカメラを移動させながら連続的に撮影し、得られた線状の映像を繋ぎ合わせていくことで、連続的でサイズ制約のないパノラマ映像を作成することができる。通常のエリアカメラによる撮影では、撮影対象までの奥行きに応じて、一回の撮影で得られる映像内での位置に応じて像の映り方が異なる。すなわち、一回の撮影で得られる映像において、映像の中央部と映像の端部とでは、同一の像であっても、その映り方が異なる。従って、カメラを移動させながら連続的に撮影して、得られた映像を繋ぎ合わせてパノラマ映像を作成すると、各映像の繋ぎ目で像の映り方に不整合が生じてしまい、連続的なパノラマ映像を作成することができない。ラインカメラを使用する場合、映像内での像の映り方は幅方向に関してほとんど変化がないため、上記したような不整合を生じることなく、連続的なパノラマ映像を容易に作成することができる。
ラインカメラとしては、好適にはラインセンサカメラを用いる。ラインセンサカメラとは、光を受光する感光部が一列に配列されたセンサのことを言う。
ラインセンサカメラはベルトコンベアに流れる製品の検査などの用途によく利用される。通常のエリアカメラに比べて、解像度が高く、スキャンレートが非常に早いからである。一般にスキャンレートが早い場合、露光時間が短くなるため照明の照度を上げなければならないが、ラインセンサカメラの撮像範囲は線状であるため、集光した高輝度の光源により、容易に鮮明な画像を得ることができる。上述のように、ラインセンサカメラにはエリアカメラには無い様々な利点がある。
【0026】
撮像した対象物の画像中の位置とそれが存在する空間位置との関係は、カメラパラメータとして表現される。カメラパラメータは、任意に設定した計測点および画像の座標系によって記述されるカメラ画像の位置とその計測点の関係を同次座標で表現するものである。ラインカメラの場合、得られる画像を撮像ラインを並べたものであると考えるが、透視変換を表現するカメラパラメータは、1ラインについての記述である。カメラの画像位置を原点を適当にとってXcと表現し、計測点を直交座標系で表現した座標値として、X0、Y0、Z0とする。これらの関係は、以下である。
【数1】

また画像のY座標は0であるので、以下の関係がある。
【数2】

ここに、C11〜C34がカメラパラメータである。ここで、C34は、1として差し支えない。エリアカメラの場合、カメラパラメータを求めるのは、容易である。すなわち、座標系を固定した上で、形状が既知であるものを撮像し、上記パラメータを最小自乗近似して求めればよい。しかし、ラインカメラの場合、画像が1ラインしかないため、形状が既知のものを撮像しても判読不明である。そこで、ラインカメラを移動させるか、もしくは、対象物を移動させるかして画像を得た上で、上記パラメータを算出する方法をとる。今、カメラが、既知の座標系に対して、速度ベクトル(nx,ny,nz)で並進移動すると、カメラともに移動する座標系においては、物体の座標位置は、以下のように変換される。カメラは、等速運動するものとし、単位時間に進む距離は、1である。
【数3】

ここに、Xo’、Yo’、Zo’は、固定した座標系による座標値、Xo、Yo、Zoは、並進移動した座標系による座標値である。上式を先のカメラパラメータによる関係式に代入すると、C11〜C33に関する1次式ができる。これより、C11〜C33を算出する。ここに、カメラが移動した場合の固定座標による計測点の位置とそれに対応した画像位置の関係が以下のように求められる。
【数4】

ここで、
【数5】

は、ラインの番号ごとに変化するみかけのカメラパラメータとみることができる。視野が異なる2つのラインカメラが一つの移動体に固定され、同一のタイミングでラインを撮像するとき、計測点の位置を共通の座標系で記述するようなカメラパラメータを算出することは、さきに述べた方法で容易であるので、(4)(5)式から、計測点の位置Xo、Yo、Zoを算出可能である。また、上記は、カメラが並進運動するとして、その座標変換を求めたが、この座標変換は、アフィン変換でよく、すなわち、ライン画像のライン番号とそのときの移動体の向きと位置が対応付けられていれば、同様に計測点の位置を算出可能である。この場合、一つのカメラで数回の撮像を行って求めることも可能である。
【0027】
一つの移動体に複数のラインカメラが搭載されている場合、一方のカメラ画像に映った計測点は、他方のカメラの画像のどの位置に存在し得るかを計算することが可能である。例えば2つのカメラがあったとして、それぞれ(4)(5)式のカメラパラメータが同じ座標系(物体側)のもとに算出されているとする。すると、2つのカメラに対する(4)(5)式から、Xo、Yo、Zoを同じ値として消去するとそれぞれのカメラの画像位置Xcとライン番号nの関係式ができる。
【数6】

(7)(8)(9)式は、(1)(2)式をXo、Yoについて解いたもので、Zoをパラメータとしている。これは、ラインカメラにおける撮像点Xcの視線を表現したものであるが、例えば、カメラAにおける0番目のラインにおける画素Xcの視線である。カメラBは、カメラAと相対位置関係が固定され、両方とも同じ座標系によってカメラパラメータが記述されているとする。さきの画素Xcに現れている計測点は,カメラBでは、(4)(5)式に(7)(8)式のXo、Yoを代入して得られる(Xc、n)の位置である。(5)式にXo、Yoを代入するとsがnの1次式で表現され、(4)式にXo,Yoを代入することで、Xcとnの1次式ができる。これが、カメラBにおけるカメラAのXcの視線を表現したものである。
【0028】
上述した方法は、カメラが固定され対象物がベルトコンベアなどで並進運動している場合であっても同様であって、この場合、例えば、ベルトコンベアが1mm進むごとに複数のラインカメラが撮像することを繰り返せばよい。この場合、(4)(5)における速度ベクトルの向きが逆になることは、あきらかである。
【0029】
移動体が回転する場合も上記と同様である。このとき、回転軸をz軸、それに直交するx軸、y軸として、カメラが回転軸に直交する平面上の円周を移動する場合、カメラパラメータを表現すると以下である。回転角度が0度の基準を設け、これによりカメラパラメータが算出されていたとする。カメラがθ回転したとき、計測点Xo、Yo、Zoと画像位置Xcとの関係は、
【数7】

このようにカメラが回転軸に直交する平面上の円周を移動する場合、計測点の回転軸からの距離は、容易に求めることができる。(1)(2)式において、中心軸をZ軸、これに垂直な面をXY軸として座標系を設定し、カメラパラメータを求めておく。(1)(2)式からZoをパラメータとしてXo、Yoを求めると以下である。
【数8】

いま、2つのカメラパラメータを記述する座標軸は、z軸が共通であるが、X,Y軸が異なっているものとする。すると、同一の計測点であっても、(12)(13)式で算出されるXo、Yoが異なるが、Z軸からの距離は、同じである。また、中心からの距離が同じであるので、
【数9】

によって、中心軸から計測点までの距離を求めることができる。この方法の利点は、カメラパラメータ算出についてのZ軸は、共通とするが、X、Y軸は、Z軸に直交するのみで異なっていてもよい点にある。
【0030】
回転体を固定された方向の異なる2台のラインカメラで撮像する場合、カメラパラメータ算出に関わる座標系は、Z軸を回転軸、これに直交するX、Y軸を共通にとる。回転体が、例えば、1度回転するごとに2台のラインカメラは、同時にラインを撮像する。こうすると、ラインの時系列は、回転角度に関連付けられる。同一の計測点が、1方のカメラ(カメラ1)では、θ1の角度で算出され、他方のカメラ(カメラ2)では、θ2の角度で算出されたとする。このとき、一方のカメラで観察された計測点が、他方のカメラでθ2−θ1回転して観察されたと解釈できる。よって、(1)(2)式において、カメラの物体座標Xo,Yo,Zoは、カメラ2においては、θ2−θ1回転変換した位置とする。こうして、カメラ1とカメラ2からそれぞれの画像中の計測点の位置を代入した(1)(2)式を得て、Xo,Yo,Zoを算出する。例えば、カメラパラメータの座標は、Z軸が回転体の中心軸、これに直交してX軸、Y軸とする。回転体の計測点が、このX軸からθのところでラインカメラの画像として現われたとする。回転体の形状を0度の角度のときで表現するものとする。さきに(1)(2)式によって、ライン上の画像位置Xcと計測点Xo、Yo、Zoとの関係は、
【数10】

である。2つのカメラから得られる上式からXcとθを既知としてXo、Yo、Zoを求める。(14)(15)式と(10)(11)式は、θの符号が逆であって、ちょうど、カメラが並進移動する場合と物体が並進移動する場合の関係と同じである。
【0031】
移動体にラインカメラを搭載して撮像した画像は、パノラマ画像になることが知られている。これは、1ラインごとに撮像された画像を時系列に並べたものである。パノラマ映像を利用する方法によると、両方のパノラマ映像に撮影されている任意の点を事後的に計測点Pとすることができ、撮影されている任意の点の3次元座標を計測することができる。本技術によると、景色内の大半の点(大半の点が両方のパノラマ映像に撮影されている)の3次元座標を計測することができる。
【0032】
上記の計測方法は、下記の装置を用いることで好適に実施することができる。本発明の装置は、所定のXYZ直交座標系を用いて、移動体の周囲に存在する計測点の3次元座標を計測する装置である。その計測装置は、移動体と、移動体に搭載したラインカメラと、ラインカメラで撮影を繰返す手段と、撮影された映像を移動体の位置に関連付けて記憶する手段と、記憶された映像を進行方向に繋ぎ合わせたパノラマ映像を作成する手段と、「計測点のパノラマ映像内の座標と、ラインカメラのカメラパラメータ」を備えるデータの組を特定する手段と、特定されたデータの組を記憶する手段と、それぞれのラインカメラのカメラパラメータの関係(座標系の関係)を特定する手段と、少なくとも2組の記憶されたデータの組から、計測点の3次元座標を演算する手段とを備えている。
【0033】
上記の計測方法では、前記移動体に第1ラインカメラと第2ラインカメラを搭載し、前記撮影する工程は、移動体を移動しながら、移動体に搭載した第1ラインカメラと第2ラインカメラのそれぞれで撮影を繰返し、前記作成する工程は、第1ラインカメラから得られた映像を進行方向に繋ぎ合わせた第1パノラマ映像を作成する工程と、第2ラインカメラから得られら映像を進行方向に繋ぎ合わせた第2パノラマ映像を作成する工程と、を備え、前記特定する工程は、「計測点の第1パノラマ映像内の座標と、第1ラインカメラのカメラパラメータ」を備える第1のデータの組を特定する工程と、「計測点の第2パノラマ映像内の座標と、第2ラインカメラのカメラパラメータ」を備える第2のデータの組を特定する工程と、を備え、前記演算する工程は、特定された第1のデータの組と、特定された第2のデータの組と、それぞれのラインカメラのカメラパラメータの関係(座標系の関係)を特定する手段をとから、計測点の3次元座標を演算することが好ましい。
上記のように、2台のラインカメラを移動体に搭載して撮影を実施することによって、一度の撮影工程から2つのパノラマ映像を取得して、計測点の座標を演算するために必要な2のデータの組を取得することが可能となる。この場合、第1ラインカメラが撮像した計測点が、第2ラインカメラで撮像されるまでの間、移動体が並進移動しているものと仮定すると既に詳述した計算によって、第1ラインカメラで撮像した位置と向きを基準にした3次元位置を計測することが可能である。
移動体の移動方向は、並進に限定しなくても計測可能である。移動体の位置と向きをラインカメラの撮像とともに記録すればよい。移動が移動した位置と向きから、カメラパラメータを算出した座標軸に対して計測点の位置を記述可能である。よって、カメラ撮像した時刻とカメラとともに移動した計測点の座標で表現されている(1)(2)式のXo,Yo,Zoを固定した座標系によって記述したXo’,Yo’,Zo’によって表現し、代入すればよい。この表現は、移動体の位置と向きを計測することで可能である。
【0034】
複数のパノラマ映像における同一の計測点を探索する演算は、カメラパラメータを使って、既に詳述した方法を用いればよい。
【0035】
ここでいう複数のパノラマ映像は、一つの移動体に向きの異なる複数のラインカメラを搭載して得られるもの、もしくは、異なった軌道によって複数回の撮像を行ったものいずれも、計測点の位置を計算するのに用いることができる。パノラマ映像のライン番号に関連付けられた移動体の位置、およびカメラパラメータが記録もしくは演算できれば十分である。請求項2および3で述べる方法であっても、同様にパノラマ映像のライン番号に関連付けられた移動体の位置がわかれば十分である。
また、一つのパノラマ映像であっても、異なる向きから同じ計測点を撮像したことが特定できれば、上記の条件で同様に計測点の位置が計算できる。
【0036】
移動体が回転する場合、同様にパノラマ映像が得られる。これは、対象物の全周を連続的に撮像したものである。対象物は、円周の内にあっても外にあってもよい。この場合、パノラマ映像のライン番号に回転角度が関連付けられていると同様に計測点の位置が計算できる。
【0037】
パノラマ映像において移動体の位置とライン番号を関連付ける手段、装置は、さまざまなものがある。最も単純な場合は、移動体が等速直線運動し、ラインカメラは一定の時刻ごとに撮像を繰り返すものとすればよい。移動体が例えば、車のようなものである場合、ロータリーエンコーダによって、一定距離進むごとにパルスを発生させ、このタイミングでラインカメラがラインを撮像する技術はよく知られている。このような手法は、移動体が直線移動している場合、もしくは軌道が予め分かっている場合に有効である。さらに、GPSなど位置を計測するセンサによって、ラインの撮像、記録と同時に移動体の位置を記録してもよい。ラインカメラが1ラインを撮像する時間は、非常に短くすることが可能であり、例えば、1秒間に2000ライン程度を撮像することは十分可能である。上述したように、位置の記録はすべてのラインごとに行う必要はなく、例えば1秒間隔で位置を計測し、最も時刻が近接したラインをその位置における撮像と置き換え、その他は等速近似によって取得してもよい場合がある。また、軌道そのものも区分ごとに直線近似してもよい場合がある。回転する場合は、回転角を計測するが、これロータリーエンコーダやポテンシオメーターで十分である。
【0038】
ラインカメラが静止している場合であっても、対象物が移動もしくは回転する場合、同様にパノラマ映像が得られる。例えば、対象物がベルトコンベアに載置されて移動する場合は、ベルトコンベアに付随するロータリーエンコーダの発生するパルスをトリガとしてライン画像を撮像すればよい。対象物が回転する場合は、回転角度をロータリーエンコーダで計測すればよい。このときもロータリーエンコーダが一定角度回転するごとに発生するパルスによってライン撮像を繰り返すと、容易に角度とライン画像とを関連付けることができる。
【0039】
本発明における移動体としては、さまざまな種類のものを考えることができる。例えば、車にラインカメラを搭載して景観の計測を行ってもよいし、ラインカメラがレール上を移動することで、エリアカメラでは得られない広範囲かつ高精度の位置計測を行ってもよいし、船や飛行機にラインカメラを搭載してもよい。
【0040】
2つの基準位置にある回転軸の周りで、1台のラインカメラをそれぞれ回転させることによっても、計測点の3次元座標を計測することができる。
上記の計測方法では、前記撮影する工程は、第1基準位置に置かれたラインカメラをZ方向に伸びる回転軸の周りに回転させながら撮影を繰返す第1撮影工程と、第2基準位置に置かれたラインカメラをZ方向に伸びる回転軸の周りに回転させながら撮影を繰返す第2撮影工程と、を備え、前記作成する工程は、第1撮影工程で得られた映像を繋ぎ合わせて第1パノラマ映像を作成する第1作成工程と、第2撮影工程で得られた映像を繋ぎ合わせて第2パノラマ映像を作成する第2作成工程と、を備え、前記特定する工程は、「計測点の第1パノラマ映像内での位置と、第1撮影工程におけるラインカメラのカメラパラメータ」を備える第1のデータの組と、「計測点の第2パノラマ映像内での位置と、第2撮影工程におけるラインカメラのカメラパラメータ」を備える第2のデータの組を特定し、前記演算する工程は、第1のデータの組と第2のデータの組から、計測点の3次元座標を演算することが好ましい。
【0041】
図8は、本計測方法を用いて被写体130の計測点Pの座標を算出する原理を説明する図である。回転体132、134は、地上の異なる地点に間隔L2だけ離れて配置され、それぞれラインカメラ136、138を搭載している。回転体132、134は、鉛直方向を回転軸として、一定の速度で回転する。ラインカメラ136は、回転体132の回転軸の方向(図8の紙面垂直方向)に直線状に伸びる視野内を撮影する。ラインカメラ138は、回転体134の回転軸の方向(図8の紙面垂直方向)に直線状に伸びる視野内を撮影する。
回転体132が回転し、ラインカメラ136は逐次周囲を撮影する。撮影された画像から、第1パノラマ映像が作成される。第1パノラマ映像内には、被写体130の計測点Pが観測される。被写体130の計測点Pは、回転体132のラインカメラ136の視野が、所定の方位(図8の上方向)から時計回りに角度θ1´の方向を向いた時点で撮影されている。第1パノラマ映像は、ラインカメラ136が撮影した画像を、回転角が増加(または減少)する方向に繋ぎ合せて作成されており、第1パノラマ映像内の計測点Pの位置と、ラインカメラ136のカメラパラメータから、計測点Pが撮影された時点でのラインカメラ136の角度θ1´が特定される。
また、回転体134が回転し、ラインカメラ138は逐次周囲を撮影する。撮影された画像から、第2パノラマ映像が作成される。第2パノラマ映像内には、被写体130の計測点Pが観測される。被写体130の計測点Pは、回転体134のラインカメラ138の視野が、所定の方位(図8の上方向)から時計回りに角度θ2´の方向を向いた時点で撮影されている。第2パノラマ映像は、ラインカメラ138が撮影した画像を、回転角が増加(または減少)する方向に繋ぎ合せて作成されており、第2パノラマ映像内の計測点Pの位置と、ラインカメラ138のカメラパラメータから、計測点Pが撮影された時点でのラインカメラ138の角度θ2´が特定される。
特定された角度θ1´、θ2´と、回転体132と回転体134の設置間隔L2から、計測点のX−Y面内での位置を算出することができる。また、第1パノラマ映像または第2パノラマ映像における計測点Pの位置と、カメラパラメータから、計測点PのZ座標についても算出することができる。
【0042】
上記した方法は、カメラパラメータを算出することによっても同様に行える。この場合、基準点が2つあるが、一方のカメラパラメータを他方の座標系に変換する必要がある。ここでは、計測点を表現する座標を回転して平行移動したものにしなければならない。こうした変換を施したのち、2つのカメラにおける計測点の画像位置からその空間座標値を算出する。
【0043】
上記のように、ラインカメラが定位置で回転する場合にも、安価な道具を利用して景色内に存在する計測点の位置を計測することができる。
【発明の効果】
【0044】
本発明の計測装置あるいは計測方法によれば、ラインカメラという市販されている安価な道具を利用して、移動体の周囲に存在する計測点の位置を計測することが可能となる。
上記の装置あるいは方法は、次のような用途への応用が可能である。
(1)道路側方に連続的に存在する構造物の位置、奥行きあるいは高さの計測
(2)トンネル内壁の概形形状といった、広範囲に広がる構造物の位置の計測
(3)路面の凹凸、特にわだちなどの局所的なくぼみの計測
(4)レール上を移動するカメラによるパノラマ撮影と位置計測
(5)木材加工における材木などの回転物体の形状測定
(6)回転ポールに搭載したラインカメラによる広範囲ステレオ画像計測
【発明を実施するための最良の形態】
【0045】
以下、本発明を具現化した実施例について図面を参照して説明する。最初に実施例の主要な特徴を列記する。
(形態1):移動体は、道路を走行する車両である。
(形態2):車両のXY面内位置は、車両の走行軌道と、車両の走行距離から算出する。
(形態3):車両の走行距離は、車両に搭載され道路面に接触して回転するロータリーエンコーダを用いて特定する。
(形態4):車両が所定距離を走行するたびに、ラインカメラは垂直方向に伸びる視野内を撮影する。
(形態5):所定距離ごとに撮影された垂直方向に長い映像を、進行方向に並列配置してパノラマ映像を生成する手段が用意されている。
(形態6):車両が走行する間、ラインカメラが撮影する方向は車両に対して固定されており、車両の進行方向を計測することによって、ラインカメラの視野の方向を特定することができる。
【実施例】
【0046】
(第1実施例)
図9から図11を参照しながら、本発明を具現化した計測装置6について説明する。図9は本発明の計測装置6を模式的に示した図であり、図10は計測装置6を図9の視点VAから見た図であり、図11は計測装置6を図9の視点VBから見た図である。
【0047】
図9に明示されているように、計測装置6は、測定車18、撮影部20、ロータリーエンコーダ16、制御装置10、記憶装置12を備えている。
測定車18は、マイクロバスを測定用に改造したものである。
撮影部20は、測定車18の上部に配置され、測定車18の側方に向けて張り出した架台2を備え、架台2の上に2台のラインカメラ4および8を備えている。
ラインカメラ4および8は、光入力を電気信号に変換する多数の撮像素子が縦一列に配列されており、その前面に光信号を集めるレンズを設けている。ラインカメラ4および8は、制御装置10からの指示によって、レンズを透過して入力された映像をCMOS、CCD等の撮像素子で撮影する。このラインカメラ4および8は、それぞれ4096個の撮像素子を持つ。各撮像素子は、レンズから5m離れた被写体について「1mm×1mm」の区画を撮影可能である。
ラインカメラ8は、撮像素子が路面の垂直方向(Z方向)に一列となるように設置されている。図9から図11に示すように、ラインカメラ8は光軸が水平で、かつ測定車18の進行方向(X方向)に対して垂直となるように設置角度を調整されている。すなわち、ラインカメラ8の視野は、Y方向を向いている。
図9および図10に示すように、ラインカメラ4は、ラインカメラ8と同一の高さで、ラインカメラ8より測定車18の前方側の位置に設置されている。ラインカメラ4は、撮像素子が路面の垂直方向(Z方向)に一列となるように設置されている。ラインカメラ4は、その光軸がラインカメラ8のレンズから5m離れた点でラインカメラ8の光軸と交差するように、設置角度を調整されている。
ロータリーエンコーダ16は道路面に接触して回転する。ロータリーエンコーダ16は、計測装置6が1mm走行する毎にパルスを出力する。
制御装置10には、ラインカメラ4および8、ロータリーエンコーダ16、記憶装置12が接続されている。制御装置10は、CPU、ROM、RAM、入出力装置等を備えるコンピュータである。制御装置10は、ロータリーエンコーダ16から入力されるパルス信号を用いて、ROMに格納されている制御プログラムを実行して、計測装置6が1mm走行する毎にラインカメラ4および8に撮影を行わせる。車両側方5mの点に垂直壁があれば、ラインカメラ8によって1mm×1mmの画素を垂直方向に4096個配列したスリット画像データが得られる。車両側方5mの点に垂直壁があれば、ラインカメラ4によって同じ範囲のスリット画像データが得られる。
制御装置10は、ロータリーエンコーダ16から入力されるパルス信号に基づいて、撮影を開始してからの計測装置6の走行距離を把握している。そして、制御装置10は、撮影したスリット映像データ(ラインスキャン画像)と、撮影を開始してからの計測装置6の走行距離とを対応付けて、記憶装置12に記憶させる。制御装置10は、撮影されたスリット映像データを繋ぎ合わせてパノラマ映像を生成する。また制御装置10は、生成された2枚のパノラマ映像から、景色内に存在する計測点の3次元位置を算出する。
記憶装置12は、制御装置10に接続して用いられるハードディスクであって、制御装置10から入力されるデータを記憶する。
【0048】
計測装置6の動作を、図12を参照しながら説明する。
計測装置6は、準備工程S42、撮影工程S44、パノラマ作成工程S46、対応点探索工程S48、位置算出工程S50を順に実施する。
準備工程S42では、計測の準備として、形状および位置が既知である被写体を用いて、ラインカメラ4および8のカメラパラメータを決定する。図13は直方体の枠から構成される基準物体22を用いてカメラパラメータを決定する様子を示している。基準物体22の幾つかの点(例えば直方体の頂点24)は、その空間位置が既知である。この基準物体22にカメラパラメータの座標軸を設ける。この基準物体22に対して平行に車を並進移動させて、基準物体22を撮像した画像を作成する。静止状態から1mm進むごとにラインカメラで撮像し画像を得る。この場合の並進ベクトルは(1、0、0)である。これに対して、静止状態からの撮像ラインの番号nとして、画像中に出現する基準物体22の基準点24の位置とその座標値を代入して式を作成する。例えば基準点24が100個あれば関係式は100個である。これらの関係式から、最小自乗近似を行い基準物体22の座標系に基づくカメラパラメータC11〜C33を決定する。カメラパラメータは、ラインカメラ4と8の双方について算出する。
【0049】
撮影工程S44では、図14に示すように、測定車18を走行させながら、測定車18が所定距離を走行するたびに、ラインカメラ4と8のそれぞれによって、スリット映像を撮影する。
測定車18は直線的に走行する。測定車18が1mm走行するごとに、ロータリーエンコーダ16は制御装置10にパルスを送信する。制御装置10はパルスを受信すると、ラインカメラ4および8に撮影を指示する信号を送信する。ラインカメラ4および8は、1mmごとにスリット映像を撮影する。
ラインカメラ4および8によって撮影されたスリット映像は、制御装置10へ送られる。制御装置10は、ラインカメラ4および8によって撮影されたスリット映像データに、撮影した時点での測定車18の走行距離を関連付けて、記憶装置12に記憶させる。
測定車18の走行距離が測定範囲を超えると、制御装置10はラインカメラ4および8による撮影を中止する。測定車18が走行を停止し、計測装置6は被写体の撮影を終了する。撮影工程S44が終了すると、パノラマ作成工程S46を実施する。
【0050】
パノラマ作成工程S46では、ラインカメラ4で撮影したスリット映像データ系列と、ラインカメラ8で撮影したスリット映像データ系列に基づいて、ラインカメラ4に関するパノラマ映像データと、ラインカメラ8に関するパノラマ映像データを作成する。
記憶装置12に記憶された、ラインカメラ4およびラインカメラ8で撮影されたスリット映像データには、撮影した時点での測定車18の走行距離が関連付けられている。図15に示すように、横方向に測定車18の走行距離をとり、縦方向にスリット映像が伸びるようにスリット映像データ系列を配置することで、ラインカメラ4に関するパノラマ映像データ62と、ラインカメラ8に関するパノラマ映像データ68が生成される。
以下ではラインカメラ4に関するパノラマ映像データ62をパノラマA、ラインカメラ8に関するパノラマ映像データ68をパノラマBと記述する。パノラマ作成工程S44が終了すると、対応点探索工程S48を実施する。
【0051】
対応点探索工程S48では、2つのパノラマ映像に撮影された同一の計測点について、その画像中の位置を探索する。既に詳述したように、一方のパノラマ映像における画像中の計測点に対して、他方のパノラマ画像においてその点が出現しうる範囲は、容易に特定することができる。
図15のパノラマA中の基準点64に付随する領域66に対して、これを撮像したときのラインカメラ4のライン番号を0として、ラインカメラ8においてこの0番のラインに対応するラインを確認する。ラインカメラ4と8は、まったく同じタイミングで画像を撮像しているため、例えば、ラインカメラ4の1200ライン目を0番とするとラインカメラ8においても1200ライン目が0番である。こうすると、ラインカメラ4における0番目のラインのXcの位置に現われる計測点は、ラインカメラ8ではn番目のラインのXncの位置に存在する。この探索範囲は直線となるので、適当な端点の座標を計算すれば、探索領域の各点の位置を計算しなくてもよい。
【0052】
パノラマBの探索線72上で設定した候補点70が、パノラマAの基準点64に対応するか否かを、基準点64周辺の領域(基準領域)66と、候補点70周辺の領域(候補領域)74の類似度を算出することで、判断する。これらの処理は、一般のステレオ画像処理とおなじで、正規化相関をはじめとする幾つかの方法が有効である。また、ラインカメラによる画像の透視効果は、1次元のみであるので、矩形画像をマッチングするとき、ラインに垂直な方向の伸縮を行うと有効である。候補領域74の大きさは、パノラマAの基準領域66(本実施例では正方形)を、パノラマB上ではXC方向(図15に示す左右方向)に伸縮させて候補領域74として、探索線72上での対応点探索を実行する。本実施例の測定装置2では、パノラマBの候補領域74の形状を、パノラマAの基準領域66の形状からXC方向に0.8〜1.3倍程度に縮尺を変更して、対応点の探索を実行する。
【0053】
ラインカメラ4とラインカメラ8は、光軸が平行でないため、同一の被写体を撮影した場合でも、パノラマA上の像と、パノラマB上の像とでは、縮尺が異なる。このため、実際には対応している点であっても、基準領域66と候補領域74の相関を算出する際に、縮尺の相違が原因となって上記の相関値がしきい値を下回り、基準点64と候補点70が対応していない、と判断される場合がある。従って、候補領域74の大きさを一定として探索線72上の全ての点を評価しても対応点が見つからない場合には、候補領域74の大きさを変更して、探索線72上の点について繰り返し評価を実施すると有効である。
【0054】
パノラマB内の全ての候補点について、全ての候補領域を用いて評価を実施しても、対応点が見つからない場合、制御装置10はその基準点64には対応点が存在しないと判断する。このような状況は、例えばラインカメラ4からは撮影可能であり、ラインカメラ8からは死角となる点が被写体に存在する場合に起こりうる。このような場合には、その基準点64については対応点なしと判断する。対応点のない基準点については、位置を算出することができない。
制御装置10は、パノラマAの基準点64の位置と、パノラマBの候補点70の位置を、関連付けて記憶装置12に記憶させる。対応点が存在しない基準点については、その基準点の位置と、対応点がないことを意味するデータを関連付けて、記憶装置12に記憶させる。
上記の対応点探索をパノラマA上の全ての点を基準点として繰り返し実施する。
対応点探索工程S48が終了すると、位置算出工程S50を実施する。
【0055】
位置算出工程S50では、対応点70が検出されたパノラマA上の基準点64について、まず、対応する計測点のカメラパラメータで用いられた座標系における3次元座標(X、Y、Z)を計算する。これは、着目する計測点の行番号を0としたとき、図13における車両がスタートしたときと同じであって、基準物体22が座標系を表現する。カメラ4のライン1500番目の2000番目の画素が計測点であるとする。すると(1)(2)式においてXcは、2000である。これに対応したカメラ8の画素は、ライン1650番目の1230番目の画素であったとする。するとカメラ8のカメラパラメータは、(4)(5)式において、n=350、Xcは、1230である。こうして、カメラ4とカメラ8において式が4つ出来上がるので、これより、Xo,Yo,Zoを算出する。これが計測点の(X,Y,Z)座標値である。ここで、車がx方向に直線走行したとみなし得ると、車のスタート地点を原点にした座標値Xは、X=2000+Xoとなる。
【0056】
制御装置10は、上記算出された3次元座標(X、Y、Z)を、パノラマA上の2次元座標(ZA、XA)と関連付けて、記憶装置12に記憶する。パノラマB上に対応点がなく、位置の算出ができない基準点については、位置の算出ができないことを意味するデータを、パノラマA上の2次元座標(ZA、XA)と関連付けて、記憶装置12に記憶する。上記の位置算出をパノラマAの全ての点について繰り返し実施する。
【0057】
記憶装置12に記憶されたパノラマ映像データと3次元位置データは、例えば制御装置10の入出力装置を用いて表示してもよいし、別のコンピュータ等にデータを転送して別途表示してもよい。
上記の計測装置6を用いることによって、測定車18が走行する周囲の環境について、パノラマ映像データと3次元形状データを取得することができる。
【0058】
上記の実施例では、移動体として自動車を用いた例を説明したが、移動体としてはこれに限らない。人が搭乗する乗り物に限らず、例えばラジコンカー等の人が搭乗しない車両を用いてもよい。
【0059】
上記の実施例では、ラインカメラ4および8の光軸が交差する例を説明したが、ラインカメラの光軸は交差していなくてもよい。ラインカメラ4とラインカメラ8の光軸が平行でなく、互いに異なる方向を撮影することができれば、どのような角度で設置されていてもよい。
【0060】
上記の実施例ではラインカメラ4とラインカメラ8のそれぞれのカメラパラメータを、位置が既知である被写体のパノラマ映像上での座標値から決定しているが、カメラパラメータを決定する方法はこれに限らない。例えばラインカメラ4およびラインカメラ8の取付け位置と取付け角度を正確に計測し、測定車18とラインカメラ4,8の幾何学的関係から、カメラパラメータを決定することもできる。
【0061】
上記の実施例では、全ての工程を計測装置6を用いて実施する例を説明したが、準備工程と撮影工程のみを計測装置6で実施し、パノラマ作成工程、対応点探索工程、位置算出工程は、記憶装置12に記憶された撮影データを、別のコンピュータ等に転送し、別途実施してもよい。
【0062】
上記の実施例では、制御装置10および記憶装置12が測定車18に搭載されている例を説明したが、制御装置10および/または記憶装置12は測定車18に搭載されずに、車外に設置されていてもよい。制御装置10は、ラインカメラ4、8、ロータリーエンコーダ16と、有線または無線で通信可能な状態であれば、測定車18の車外に設置されていてもよい。また記憶装置12は、制御装置10と有線または無線で通信可能な状態であれば、測定車18の車外に設置されていてもよい。
【0063】
上記の実施例では、測定車18の走行距離を計測するためにロータリーエンコーダ16を用いる例を説明したが、測定車18の走行距離を計測する手段としてはこれに限らない。例えばGPS受信機を用いて測定車18の位置を逐次取得し、取得した位置情報から測定車18の走行距離を算出してもよい。
【0064】
上記の実施例では、パノラマA上の全ての点について、自動的に位置の算出を実施する例を説明したが、例えばパノラマ作成工程の後に、利用者がパノラマA上の点を指定し、その点についてのみ対応点を探索して位置を算出してもよい。このような構成とすると、対応点探索工程および位置算出工程での制御装置10の処理時間が大幅に短縮される。被写体の限られた範囲についてのみ、迅速に奥行きや高さを算出したい場合に、極めて有効である。
【0065】
上記の実施例では、対応点探索工程のパノラマAの基準点64周辺の基準領域66を正方形としたが、基準領域66の形状としてはこれに限らない。例えば基準領域66の形状は台形やひし形としてもよいし、円や楕円としてもよいし、三角形や五角形、六角形等の他の多角形でもよい。
また、基準点64と基準領域66の位置関係は、基準点64が基準領域66内に含まれていれば、どのような位置関係であってもよい。候補点70と候補領域74の位置関係についても同様である。
【0066】
上記の実施例では、対応点探索工程で、基準領域66と候補領域74の相関を算出する手法として、領域内の明度に基づいて相関を評価する手法を説明したが、相関を算出する手法はこれに限らない。例えば特定の色の強度に基づいて相関を評価してもよい。
【0067】
(第2実施例)
本発明で具現化される他の計測装置について説明する。第1実施例と同一の内容については、説明を省略する。
本実施例の計測装置6の構成は、第1実施例と同一である。以下では図16を参照しながら、計測装置6の動作を説明する。
計測装置6は、準備工程S62、撮影工程S64、パノラマ作成工程S66、位置算出工程S68を順に実施する。
準備工程S62では、計測の準備としてラインカメラ4および8のパラメータ特性を決定する。
前記したように、計測点の3次元位置(X、Y、Z)と、走行距離L、角θ1、θ2、は、次の関係がある。
X0=L・tanθ2/(tanθ2−tanθ1)
Y0=L・tanθ1・tanθ2/(tanθ2−tanθ1)
Z0=L・tanφ1・(1+tan2θ1)1/2・|tanθ2/(tanθ2−tanθ1)|
tanφ1=ZC/F
ラインカメラ4およびラインカメラ8について、上記係数のうちθ1、θ2、Fを決定する。θ1、θ2、Fは、セットアップ済みの測定車18から直接計測してもよいし、位置が既知である被写体を用意し、その被写体を撮影して、走行距離Lと位置(X、Y、Z)を代入して、上記の連立方程式を数値計算で解くことによって、算出してもよい。上記によって得られたθ1、θ2、Fを、記憶装置12に記憶しておく。
またラインカメラ4とラインカメラ8の搭載位置間距離δを計測し、記憶装置12に記憶しておく。
【0068】
撮影工程S64、パノラマ作成工程S66は、第1実施例の撮影工程S44、パノラマ作成工程S46と同様である。
【0069】
位置算出工程S68では、ラインカメラ4およびラインカメラ8によって撮影された任意の計測点の位置を、その計測点が撮影された時点での測定車18の走行距離から算出する。
以下では、ラインカメラ4で撮影されたスリット映像から作成されるパノラマ映像をパノラマA、ラインカメラ8で撮影されたスリット映像から作成されるパノラマ映像をパノラマBとする。
計測装置6のオペレータが、パノラマAおよびパノラマBを見ながら、計測点のパノラマA上の像を基準点64、計測点のパノラマB上の像を対応点70として指定する。
制御装置10は、指定された基準点64を含むスリット映像が撮影された時点での測定車18の走行距離をX1、指定された対応点70を含むスリット映像が撮影された時点での測定車18の走行距離をX2、車両の進行方向に沿って測定したラインカメラ4とラインカメラ8の搭載位置間距離をδとしたときに、基準点64を撮影した時点でのラインカメラ4の位置から対応点70を撮影した時点でのラインカメラ8の位置までの距離Lを、X2−X1−δの式から算出する。また制御装置10は、パノラマA上の基準点64について、パノラマA上での座標ZCを計測する。座標ZCは、パノラマAの基準点64を投影したスリット映像において、ラインカメラ4の光軸を投影した点を原点として、スリット映像の伸びる方向にとった座標である。
距離Lと基準点64の座標ZCに基づいて、基準点64が示す計測点Pの実際の3次元座標(X、Y、Z)は、次式によって算出される。
X=L・tanθ2/(tanθ2−tanθ1)
Y=L・tanθ1・tanθ2/(tanθ2−tanθ1)
Z=L・tanφ1・(1+tan2θ1)1/2・|tanθ2/(tanθ2−tanθ1)|
tanφ1=ZC/F
制御装置10は上記の計算を実施し、パノラマA上の指定した基準点64について、実際の3次元座標(X、Y、Z)を算出する。算出された3次元座標は、制御装置10の入出力装置に表示される。
【0070】
(実施例3)
図17を参照しながら、本発明を具現化した他の計測装置202について説明する。図17は本発明の計測装置202を模式的に示しており、被写体220と計測装置202を上方向から見た図である。
図17に示すように、計測装置202は、回転撮影部210、216、制御装置206、記憶装置204を備えている。
回転撮影部210は第1基準位置に設置され、回転撮影部216は第2基準位置に設置されている。回転撮影部210が設置される第1基準位置と、回転撮影部216が設置される第2基準位置とを結ぶ方向をX軸とし、X方向に垂直な水平方向をY軸として、XYZ直交座標系が定義される。
回転撮影部210は、制御装置206によって制御されるモータ(図示されない)の回転を駆動力として、Z方向に伸びる回転軸の周りを図17の時計回りに回転する。回転撮影部210は、ラインカメラ212およびロータリーエンコーダ208を備えている。
同様に回転撮影部216は、制御装置206によって制御されるモータ(図示されない)の回転を駆動力として、Z方向に伸びる回転軸の周りを図17の時計回りに回転する。回転撮影部216は、ラインカメラ214およびロータリーエンコーダ218を備えている。
ラインカメラ212、214は、それぞれ回転撮影部210、216に対して視野の方向を固定されており、回転撮影部210、216が回転するに従って、ラインカメラ212、214の視野の方向も回転する。ラインカメラ212、214は、制御部206からのトリガパルスに応じて1ライン撮像動作(露光)を行う。
ロータリーエンコーダ208、218は、それぞれ回転撮影部210、216の回転角を検出する。ロータリーエンコーダ208は、回転撮影部210が0.1°回転するごとにパルスを出力し、ロータリーエンコーダ218は、回転撮影部216が0.1°回転するごとにパルスを出力する。
制御装置206には、回転撮影部210、216、記憶装置204が接続されている。
制御装置206は、回転撮影部210のロータリーエンコーダ208から入力されるパルス信号を用いて、回転撮影部210が0.1°回転する毎にラインカメラ212に撮影を行わせる。制御装置206は、ロータリーエンコーダ208から入力されるパルス信号をカウントし、回転撮影部210の角度を把握している。回転撮影部210の角度は、X方向とラインカメラ212の視野の方向とが成す角度によって記述される。制御装置206は、ラインカメラ212によって撮影された画像データを、回転撮影部210の角度に関連付けて、記憶装置204に記憶させる。
同様に、制御装置206は、回転撮影部216のロータリーエンコーダ218から入力されるパルス信号を用いて、回転撮影部216が0.1°回転する毎にラインカメラ214に撮影を行わせる。制御装置206は、ロータリーエンコーダ218から入力されるパルス信号をカウントし、回転撮影部216の角度を把握している。回転撮影部216の角度は、X方向とラインカメラ214の視野の方向とが成す角度によって記述される。制御装置206は、ラインカメラ214によって撮影された画像データを、回転撮影部216の角度に関連付けて、記憶装置204に記憶させる。
【0071】
回転撮影部210、216のそれぞれが一回転し、回転撮影部210、216の全方位についてのラインカメラ212、214による撮影が完了すると、制御装置206はパノラマ映像を作成する。
先ず制御装置206は、ラインカメラ212によって撮影された画像データを、関連付けられた回転撮影部210の角度が増加していく順序に各画像データを配列して、それらの画像を繋ぎ合わせて、第1のパノラマ映像を作成する。
次に制御装置206は、ラインカメラ214によって撮影された画像データを、関連付けられた回転撮影部216の角度が増加していく順序に各画像データを配列して、それらの画像を繋ぎ合わせて、第2のパノラマ映像を作成する。
【0072】
ラインカメラ212、214のカメラパラメータは、図17に示すX軸、Y軸と、回転中心軸であるZ軸に関して算出しておく。カメラパラメータを算出する手順は、以下である。基準物体をラインカメラ212、214の中間におき、その基準物体が備える基準点をそれぞれの座標系に応じて予め計測しておく。その後、カメラを回転させながら、基準点を撮像し、基準点を撮像した時点の回転角θ(パルス数)と、Xcと、基準点の位置とを用いて、最小自乗近似により、ラインカメラ212、214のそれぞれのカメラパラメータを特定する。ラインカメラ212、214のカメラパラメータが算出された後、ラインカメラ212、214のパノラマ画像から同一の計測点を見出し、これから座標値を計算する。ラインカメラ214の座標系によって、計測点の位置を表現すると、ラインカメラ212の座標系によって記述される計測点Xo’、Yo’、Zo’は、ラインカメラ212と214との中心軸の間隔をDとして、
X0’=D−X0、 Y0’=Y0、 Z0’=Z0
である。これらXo’、Yo’、Zo’を(10)(11)式のXo,Yo,Zoに代入する。ラインカメラ214と同一の計測点が現われている画素の位置とそのときの角度をこの式に代入したものが、ラインカメラ212での画素の位置と計測点との関係である。これとラインカメラ214における(10)(11)式を連立させると、ラインカメラ214における座標系によって、計測点の空間位置が算出される。
ラインカメラ212と214において対応点の探索範囲を調べることも可能である。ラインカメラ214の(10)(11)式においてZ0をパラメータとして、X0、Y0を算出し、これをラインカメラ212の(10)(11)式に代入すれば、回転角度ごとに対応点の存在位置が計算できる。しかし、1次式の形ではない。
【0073】
(実施例4)
図18と図19を参照しながら、本発明の第4実施例に係る方法を説明する。
図18は本発明の計測装置300を模式的に示した側面図である。図19は、計測装置300を断面VIII―VIIIから見た横断面図である。計測装置300は、制御装置302、アーム304、エンコーダ306、筐体308、ラインカメラ310および312から構成されている。被写体314は、計測を実施している間静止しているように、固定されている。筐体308は回転軸ZAから延びるアーム304によって保持されており、アーム304の回転に伴って被写体314の周囲を図19の円316に沿って移動する。本実施例では、アーム304が0.1°回転することによって、筐体308は円316に沿って1mm移動する。筐体308には2のラインカメラ310および312が搭載されている。図19に示すように、ラインカメラ310は回転軸ZAの方向を撮影するように、筐体308に対する姿勢を維持されている。ラインカメラ312はラインカメラ310の視野面からθ0度傾いた面に沿う視野内を撮影するように、筐体308に対する姿勢を維持されている。
アーム304は図示されない回転駆動装置を備えており、制御装置302からの指示に従って回転する。アーム304にはエンコーダ306が設けられており、アーム304が所定の角度だけ回転するごとに制御装置302へパルスを送信する。本実施例では、アーム304が0.1°回転するごとに、エンコーダ306はパルスを送信する。
制御装置302は、他の実施例と同様のコンピュータである。制御装置302は、アーム304を駆動して回転させる。制御装置302は、アーム304の回転に伴いエンコーダ306からパルスを受信し、受信されたパルス数を積算することによってアーム304の回転角度を算出する。さらに制御装置302は、エンコーダ306からパルスを受信するごとに、ラインカメラ310および312に指示を送信して撮影させる。ラインカメラ310および312は、撮影した映像データを制御装置302へ送信する。制御装置302は、受信した映像データを、その時のアーム304の回転角度と関連付けて記憶する。制御装置302は、アーム304が360°回転して、筐体308が被写体314の周囲を1周回転するまで、上記の撮影を繰り返し実施する。
筐体308が被写体314の周囲を1周回転すると、計測装置300は被写体314の撮影を終了する。
【0074】
上記した撮影が終了すると、制御装置302は、ラインカメラ310と312のそれぞれが撮影した映像データから、パノラマ映像を作成する。
制御装置302は、ラインカメラ310によって撮影された映像データを、筐体308の回転方向に繋ぎ合わせて、第1パノラマ映像を作成する。
制御装置302は、ラインカメラ312によって撮影された映像データを、筐体308の回転方向に繋ぎ合わせて、第2パノラマ映像を作成する。
本実施例の計測装置300は、第1パノラマ映像と第2パノラマ映像の双方に映されている計測点の位置を算出することができる。以下では、第1パノラマ映像と第2パノラマ映像の双方に映されている計測点Pの位置算出について説明する。
【0075】
カメラパラメータとしては、回転中心をZ軸、これに垂直にX軸、Y軸とする。回転中心付近に基準物体を設置し、基準物体が備える基準点について前記座標系における位置を予め計測しておく。そして、ラインカメラを回転させながら、上記した基準点を撮像していく。回転角θと基準点のXcを代入することによって、各ラインカメラのカメラパラメータが決定される。ラインカメラ310と312のカメラパラメータが決定されると、得られたパノラマから同一の計測点とみなし得る画素の位置(Xc)とその時の回転角を用いて、計測点のX0、Y0、Z0を求めることができる。対応点の探索については、他の実施例において詳述しているため、ここでは説明を省略する。
上述した関係式に基づいて、計測点Pの3次元座標を演算する。上記の方法を用いることによって、被写体314の表面の形状を計測することができる。
【0076】
上記では、ラインカメラ310とラインカメラ312によって得られる映像から、それぞれパノラマ映像を作成して、それぞれのカメラに関してパノラマ映像内での計測点の位置とカメラパラメータのデータの組を特定し、特定された2のデータの組から計測点の座標を特定する場合について説明した。
上記とは異なり、ラインカメラ310とラインカメラ312のそれぞれが計測点を計測した時点での、ラインカメラの位置と、ラインカメラ視野面のXYZ直交座標系に対する角度と、ラインカメラ映像内での計測点の位置のデータの組を特定し、特定された2のデータの組から計測点の位置を算出することもできる。このような計測方法は、上記の実施例の計測装置300と同様な構成の装置を用いることで、実施することができる。
このような場合、ラインカメラ視野面のXYZ直交座標系に対する角度は、例えばアーム304の回転角に基づいて算出することができる。また、ラインカメラ位置についても、アーム304の回転角に基づいて算出することができる。
【0077】
(実施例5)
図20と図21を参照しながら、本発明の第5実施例に係る方法を説明する。本実施例の方法では、所定の直交座標系XYZにおいて、Z軸を回転軸として回転する被写体について、その表面に存在する計測点の回転半径とZ座標を計測し、被写体の表面形状を計測する。
図20は本発明の計測装置400を模式的に示した側面図である。図21は、計測装置400を断面X―Xから見た横断面図である。計測装置400は、制御装置402、回転治具416、エンコーダ406、ラインカメラ410および412から構成されている。被写体414は、円柱形状をしており、両端を回転治具416によって拘束されている。回転治具416は、図示しない回転駆動装置を備えている。回転治具416は、制御装置402からの指示に応じて、回転軸ZAの周りを被写体414と一体となって回転する。ラインカメラ410および412は、被写体414の表面を撮影するように、位置を固定されている。図20に示すように、ラインカメラ410は被写体414および回転治具416の回転軸ZAの方向を撮影するように、回転軸ZAに対して姿勢を維持されている。ラインカメラ412はラインカメラ410の視野面からθ0度傾いた面に沿う視野内を撮影するように、回転軸ZAに対して姿勢を維持されている。
回転治具416は、ロータリーエンコーダ406を備えている。ロータリーエンコーダ406は、回転治具416が所定の角度回転するごとに制御装置402へパルスを送信する。本実施例では、回転治具416が0.1°回転するごとに、ロータリーエンコーダ406はパルスを送信する。
制御装置402は、他の実施例と同様のコンピュータである。制御装置402は、回転治具416を駆動して回転させる。制御装置402は、回転治具416の回転に伴いロータリーエンコーダ406からパルスを受信し、受信されたパルス数を積算することによって回転治具416の回転角度を算出する。さらに制御装置402は、ロータリーエンコーダ406からパルスを受信するごとに、ラインカメラ410および412に指示を送信して撮影させる。ラインカメラ410および412は、撮影した映像データを制御装置402へ送信する。制御装置402は、受信した映像データを、その時の回転治具416の回転角度と関連付けて記憶する。制御装置402は、回転治具416が360°回転するまで、上記の撮影を繰り返し実施する。
ラインカメラ410および412による撮影を開始してから、回転治具416が360°回転すると、計測装置400は被写体414の撮影を終了する。
【0078】
上記した撮影が終了すると、制御装置402は、ラインカメラ410と412のそれぞれが撮影した映像データから、パノラマ映像を作成する。
制御装置402は、ラインカメラ410によって撮影された映像データを、回転治具416の回転方向に繋ぎ合わせて、第1パノラマ映像を作成する。
計測装置402は、ラインカメラ412によって撮影された映像データを、回転治具416の回転方向に繋ぎ合わせて、第2パノラマ映像を作成する。
本実施例の計測装置400は、第1パノラマ映像と第2パノラマ映像の双方に映されている、被写体414の表面上の計測点の位置を算出することができる。以下では、第1パノラマ映像と第2パノラマ映像の双方に映されている計測点Pの位置算出について説明する。
【0079】
パノラマ映像を作成すると、計測装置402は、計測点Pのパノラマ映像内での位置と、カメラパラメータを特定する。
計測点Pのパノラマ映像内での位置の特定は、例えば第1パノラマ映像内で計測点Pを指定した後に、第2パノラマ映像内で対応点を探索することによって、行うことができる。対応点の探索については、他の実施例において詳述しているため、ここでは説明を省略する。
【0080】
以下では、ラインカメラ410と412のカメラパラメータの特定について説明する。ラインカメラのパラメータは、回転軸をZ軸、これに直交するX軸、Y軸とする。カメラパラメータを算出する基準物体として、例えば幾つかの突起を備える回転体を用いて、この突起の先端の座標値を前記の座標系であらかじめ計測しておく。基準点を表現するXcとその時の回転角を用いて、カメラパラメータが特定される。ラインカメラ410、412のカメラパラメータが算出されると、これらから得られたパノラマ画像を参照しながら、それぞれのパノラマ画像において対応する計測点を探す。対応する計測点が検出されると、対応する計測点の角度と画像位置Xcとを用いて、計測点の座標値X0、Y0、Z0が算出される。
ここで用いるカメラパラメータは、回転軸をZ軸としているため中心軸からの距離を用意に求めることができる。例えば、回転体の表面形状よりも最大半径と最小半径が知りたい場合は、すでに詳述した方法で算出可能である。
上記の方法を用いることによって被写体414の表面の形状を計測することができる。
【0081】
上記では、ラインカメラ410とラインカメラ412によって得られる映像から、それぞれパノラマ映像を作成して、それぞれのカメラに関してパノラマ映像内での計測点の位置とカメラパラメータのデータの組を特定し、特定された2のデータの組から計測点の回転半径とZ座標を特定する場合について説明した。
上記とは異なり、ラインカメラ410とラインカメラ412のそれぞれが計測点を計測した時点での、ラインカメラの位置と、回転軸と計測点を含む面のXYZ直交座標系に対する角度と、ラインカメラ映像内での計測点の位置のデータの組を特定し、特定された2のデータの組から計測点の位置を算出することもできる。このような計測方法は、上記の実施例の計測装置400と同様な構成の装置を用いることで、実施することができる。
このような場合、回転軸と計測点を含む面のXYZ直交座標系に対する角度は、例えば回転治具416の回転角に基づいて算出することができる。
【0082】
以上、本発明の実施形態について詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組み合せによって技術的有用性を発揮するものであり、出願時請求項記載の組み合せに限定されるものではない。また、本明細書または図面に例示した技術は複数の目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【0083】
【図1】本発明の計測装置による計測の原理を示す斜視図である。
【図2】本発明の計測装置による計測の原理を示す平面図である。
【図3】本発明の異なる軌道を移動する移動体を用いる計測方法を示す図である。
【図4】本発明の曲線を描く軌道を移動する移動体を用いる計測方法を示す図である。
【図5】本発明の計測装置による3次元計測の原理を示す側面図である。
【図6】パノラマ映像上のZC座標と計測点の位置との関係を示す図である。
【図7】パノラマ映像上のXC座標と計測点の位置との関係を示す図である。
【図8】本発明による回転体を用いる計測方法を説明する図である。
【図9】計測装置6の構成を模式的に示す図である。(実施例1)
【図10】計測装置6を上方から見た図である。(実施例1)
【図11】計測装置6を後方から見た図である。(実施例1)
【図12】計測装置6の動作を説明するフローチャートである。(実施例1)
【図13】計測装置6の準備工程を示す図である。(実施例1)
【図14】計測装置6の撮影工程を示す図である。(実施例1)
【図15】計測装置6で作成されるパノラマ映像を示す図である。(実施例1)
【図16】計測装置6の動作を説明するフローチャートである。(実施例2)
【図17】計測装置202の構成と動作を示す図である。(実施例3)
【図18】計測装置300の構成を模式的に示す図である。(実施例4)
【図19】計測装置300の横断面図である。(実施例4)
【図20】計測装置400の構成を模式的に示す図である。(実施例5)
【図21】計測装置400の横断面図である。(実施例5)
【符号の説明】
【0084】
2・・・架台
4・・・ラインカメラ
6・・・計測装置
8・・・ラインカメラ
10・・・制御装置
12・・・記憶装置
14・・・後輪
16・・・ロータリーエンコーダ
18・・・測定車
20・・・撮影部
22・・・基準物体
24・・・基準点
62・・・パノラマ映像
64・・・基準点
66・・・基準領域
68・・・パノラマ映像
70・・・候補点
72・・・探索線
74・・・候補領域
102・・・被写体
104・・・軌道
106・・・ラインカメラ
108・・・車両
110・・・軌道
120・・・軌道
130・・・被写体
132、134・・・回転体
136、138・・・ラインカメラ
202・・・計測装置
204・・・記憶装置
206・・・制御装置
208、218・・・ロータリーエンコーダ
210、216・・・回転撮影部
212、214・・・ラインカメラ
220・・・被写体
300・・・計測装置
302・・・制御装置
304・・・アーム
306・・・ロータリーエンコーダ
308・・・筐体
310、312・・・ラインカメラ
314・・・被写体
316・・・円
400・・・計測装置
402・・・制御装置
406・・・ロータリーエンコーダ
410、412・・・ラインカメラ
414・・・被写体
416・・・回転治具

【特許請求の範囲】
【請求項1】
所定のXYZ直交座標系を用いて、移動体の周囲に存在する計測点の3次元座標を計測する方法であって、
移動体を移動しながら、少なくとも2回異なる方向または位置から計測点を撮影するように、移動体に搭載したラインカメラで撮影する工程と、
ラインカメラで計測点を撮影した時点におけるラインカメラの位置および方向を特定する工程と、
ラインカメラの映像内における計測点の像の位置を特定する工程と、
映像内の計測点の像の映像内における位置と、計測点とラインカメラの光軸中心を結ぶ視線上の点の前記XYZ直交座標系における位置との関係を特定する工程と、
少なくとも2組の映像内の計測点の像の位置と、計測点を撮影した時点におけるラインカメラの位置および方向から、前記XYZ座標系における計測点の位置を演算する工程
を備えている計測方法。
【請求項2】
所定のXYZ直交座標系を用いて、移動体の周囲に存在する計測点の3次元座標を計測する方法であって、
移動体の2つの位置に共通でかつそれぞれの進行方向を含む平面に対して、ラインカメラの視野面が移動体の上記平面に対して垂直であるようにカメラを移動体に搭載し計測点を含む対象物を撮像する工程と、
上記ラインカメラの撮像時刻における移動体の位置を計測もしくは演算する工程と、
上記ラインカメラが上記計測点を撮像したときのカメラの相対位置関係を特定する工程と、
上記複数のラインカメラの映像において同一の計測点を特定する工程と、
上記ラインカメラの視野面の共通部分がなす直線上に存在する計測点は上記進行方向に平行な平面に投影したとき同一の点となる性質、およびラインカメラ視野面上の計測点は、ラインカメラの映像において同一のラインに存在する性質を用いて、上記平面に投影した上記計測点の位置を演算する工程
を備えている計測方法。
【請求項3】
請求項2の計測方法であって、
計測点の映像内位置とその計測点を撮像する視線の向きを関連付ける工程と、
カメラの光軸のおよび光軸中心の相対位置関係を関連付ける工程と、
上記平面をXY平面としたときの計測点の位置を演算する工程
を備えている計測方法。
【請求項4】
請求項1,2または3の計測方法であって、
2つ以上の向きの異なるラインカメラを同一の移動体に搭載し、それぞれのカメラのライン撮像時刻における移動体の位置を計測もしくは演算によって求める工程を備えている計測方法。
【請求項5】
請求項1,2または3の計測方法であって、
同一の計測点を異なる軌道で移動する移動体もしくは異なるカメラの向きを持った移動体によって撮像する工程と、
軌道上の移動体の位置と向きを特定する工程
を備えている計測方法。
【請求項6】
請求項1,2または3の計測方法であって、
移動体の位置および向きと撮像したラインの時系列番号を関連付ける工程と、
ラインカメラの映像を記録する工程と、
視野の異なる複数のパノラマ映像から同一の計測点を特定する工程
を備えている計測方法。
【請求項7】
請求項1の計測方法であって、
映像内の計測点の位置とその視線方向を関連付けるカメラパラメータをあらかじめ計測しておく工程と、
移動体の移動が並進移動するものとみなし得る時刻内においてその速度ベクトルを特定する工程と、
ラインカメラのカメラパラメータをラインの時系列番号に関連付けて同一の座標原点と座標軸における異なるカメラパラメータを特定する工程と
上記カメラパラメータによって異なる視野面におけるラインカメラの映像から上記座標原点におけるXYZ座標値を計算する工程
を備えている計測方法。
【請求項8】
請求項1の計測方法であって、
映像内の計測点の位置とその視線方向を関連付けるカメラパラメータをあらかじめ計測しておく工程と、
移動体に搭載されたラインカメラのラインの時系列番号と特定された座標原点と座標軸におけるカメラの位置と向きを関連付ける工程と、
ラインカメラのカメラパラメータをラインの時系列番号に関連付けて同一の座標原点と座標軸における異なるカメラパラメータを特定する工程と
上記カメラパラメータによって異なる視野面におけるラインカメラの映像から上記座標系における計測点のXYZ座標値を計算する工程
を備えている計測方法。
【請求項9】
請求項1の計測方法であって、
移動体は、中心軸からの距離が一定であるように同一平面上を回転運動するものであり、
回転中心軸をZ軸とした映像内の計測点の位置とその視線方向を関連付けるカメラパラメータをあらかじめ計測しておく工程と、
ラインの時系列番号とカメラの回転角とを関連付ける工程と、
ラインカメラのカメラパラメータをラインの時系列番号に関連付けて同一の座標原点と座標軸における回転角度ごとに異なるカメラパラメータを特定する工程と、
2つのラインカメラで撮像された画像から同一の計測を特定する工程と、
2つのラインカメラの映像に基づいて、共通の座標系によって計測点の位置を算出する工程
を備えている計測方法。
【請求項10】
請求項2の計測方法であって、
移動体は、中心軸に対して垂直な平面上の円周上で移動するものであり、
カメラの視野面が上記円周をなす面と垂直なように移動体に搭載して撮像する工程と、
移動体に搭載されたラインカメラのラインの時系列番号と移動体の円周上の位置もしくは角度とを関連付ける工程と、
異なる視野面におけるラインカメラの映像から同一の計測点を特定する工程と、
計測点と映像内での位置とカメラの回転角度から計測点の中心軸からの距離を算出する工程
を備えている計測方法。
【請求項11】
請求項10の計測方法であって、
2つのラインカメラを、互いに平行な異なる中心軸の回りで回転させながら、それぞれのラインカメラの視野面がそれぞれの中心軸と平行であるような配置で撮像する工程と、
2つの中心軸に共通の平面に対してカメラの回転角を計測もしくは演算する工程と、
ラインの時系列番号とカメラの回転角とを関連付ける工程と、
2つのカメラで撮像された画像から同一の計測点を特定する工程と、
2つのラインカメラの映像から共通の座標系によって計測点の位置を算出する工程を
備えている計測方法。
【請求項12】
請求項3の計測方法であって、
映像内の計測点の位置とその視線方向を関連付けるカメラパラメータをあらかじめ計測しておく工程と、
上記平面をXY平面としたときの計測点の位置を演算する工程
を備えている計測方法。
【請求項13】
所定のXYZ直交座標系を用いて、移動体の周囲に存在する計測点の3次元座標を計測する方法であって、
異なる方向の視野をもつ複数のラインカメラに対して、対象物が並進移動するとき、映像内の計測点の位置とその視線方向を関連付けるカメラパラメータをあらかじめ計測しておく工程と、
移動体の位置とラインカメラのライン時系列を関連付ける工程と、
ラインカメラのカメラパラメータをラインの時系列番号に関連付けられた同一の座標原点における異なるカメラパラメータを特定する工程と
カメラパラメータを用いて異なる視野面におけるラインカメラの映像から上記座標原点における計測点のXYZ座標値を計算する工程
を備えている計測方法。
【請求項14】
所定のXYZ直交座標系を用いて、移動体の周囲に存在する計測点の3次元座標を計測する方法であって、
異なる方向の視野をもつ複数のラインカメラに対して、対象物を中心軸の回りに回転運動させながら撮像する工程と、
映像のライン時系列とそのときの対象物の回転角度を関連付ける工程と、
映像内の計測点の位置とその視線方向を関連付けるカメラパラメータをあらかじめ計測しておく工程と、
回転角度ごとに異なるカメラパラメータを特定する工程と、
2つのラインカメラ映像において同一の計測点を特定する工程と、
カメラパラメータを用いて異なる視野面におけるラインカメラの映像から上記座標原点における計測点の中心軸からの距離を計算する工程
を備えている計測方法。
【請求項15】
請求項7,8,9,13または14の計測方法であって、
移動体の位置および向きと撮像したラインの時系列番号を関連付ける工程と、
ラインカメラの映像を記録してパノラマ画像を生成する工程と、
パノラマ映像内において、同一の計測点が撮像され得る画像内の位置をそれぞれのラインごとに計算する工程と、
一つのパノラマ映像内の計測点を他方のパノラマ映像内において上記位置により探索する工程
を備えている計測方法。
【請求項16】
2つ以上のラインカメラの視野面が同一平面に直交するように配置し、これと垂直な面上で並進移動する対象物を撮像する工程と、
撮像されるラインの時系列と対象物の位置を関連付ける工程と、
上記ラインカメラの映像において同一の計測点を特定する工程と、
ラインカメラの光軸がなす角度と映像における同一計測点の位置から、上記対象物が移動する面から距離を計算する工程
を備えている計測方法。
【請求項17】
2つ以上のラインカメラの視野面が同一平面に直交するように配置し、その平面と垂直な軸の回りを、その軸からの距離を一定として前記平面に平行な面を回転移動する対象物を撮像する工程と、
撮像されるラインの時系列と対象物の回転を関連付ける工程と、
上記ラインカメラの映像において同一の計測点を特定する工程と、
ラインカメラの光軸がなす角度と映像における同一計測点の位置から、上記計測点の中心軸からの距離を計算する工程
を備えている計測方法。
【請求項18】
2つ以上のラインカメラを用いて並進移動する対象物を撮像する工程と、
あらかじめラインカメラのカメラパラメータを算出しておく工程と、
ラインカメラのラインの時系列番号と対象物の並進移動距離を関連付ける工程と、
上記ラインカメラの映像において同一の計測点を特定する工程と、
ラインカメラの光軸がなす角度と映像における同一計測点の位置から、上記対象物が移動する面から距離を計算する工程
を備えている計測方法。
【請求項19】
ラインカメラで繰返し撮像する手段と、
ラインカメラで撮像したときの移動体の位置、向きを特定する手段と、
上記位置、向きからラインカメラの位置と向きを特定する手段と、
特定された向きと位置を記憶する手段と
異なる映像部分から同一の計測点である画像位置を特定する手段と、
記憶された同一の計測点を撮像した2組の向きと位置から計測点の2次元位置を演算する手段と
を備えている計測装置。
【請求項20】
ラインカメラで繰返し撮像する手段と、
ラインカメラで撮像したときの移動体の位置、向きを特定する手段と、
特定された向きと位置をラインの時系列に関連付けて記憶する手段と
ラインカメラのカメラパラメータを計測する手段と、
ラインカメラのカメラパラメータをラインの時系列番号に関連付けて同一の座標原点と座標軸における異なるカメラパラメータを特定する手段と、
異なる映像部分から同一の計測点である画像位置を特定する手段と、
特定された座標軸と座標原点における計測点の位置を計算する手段と
を備えている計測装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate


【公開番号】特開2006−258486(P2006−258486A)
【公開日】平成18年9月28日(2006.9.28)
【国際特許分類】
【出願番号】特願2005−73420(P2005−73420)
【出願日】平成17年3月15日(2005.3.15)
【出願人】(591270556)名古屋市 (77)
【出願人】(599137828)株式会社 サンウェイブレックス (15)
【Fターム(参考)】