(57)【特許請求の範囲】
【請求項１】
互いに対向する２本の直線状の輪郭で遮蔽された対象物を計測するステレオカメラの配置決定方法であって、
第一のカメラを配置するステップと、
前記第一のカメラの位置と第一の直線状の輪郭により形成される第一のエピポーラ面を算出するステップと、
前記第一のカメラの位置と第二の直線状の輪郭により形成される第二のエピポーラ面を算出するステップと、
前記第一のエピポーラ面と前記第二のエピポーラ面の交線を算出するステップと、
前記第一のエピポーラ面と前記第二のエピポーラ面の交線上に第二のカメラを配置するステップと、
を有するステレオカメラの配置決定方法。
【請求項２】
請求項１記載のステレオカメラの配置決定方法は、さらに、
前記２本の直線状の輪郭を計測するステップと、
前記２本の直線状の輪郭について三次元座標における直線の方程式を算出するステップと、を有するステレオカメラの配置決定方法。
【請求項３】
前記２本の直線状の輪郭を計測するステップは、三次元測定機によって２点以上の輪郭線上の三次元点座標を計測することであり、
前記三次元座標における直線の方程式を算出するステップは、計測された２点以上の三次元点座標を直線近似することで算出することを特徴とする請求項２記載のステレオカメラ配置決定方法。
【請求項４】
前記２本の直線状の輪郭を計測するステップは、２台以上のカメラで２本の直線状の輪郭を撮像し、三次元計測することであり、
前記三次元座標における直線の方程式を算出するステップは、三次元計測の結果、復元された点列を直線近似することで算出することを特徴とする請求項２記載のステレオカメラ配置決定方法。
【請求項５】
請求項１記載のステレオカメラの配置決定方法は、さらに、前記２本の直線状の輪郭を有する遮蔽物の図面に基づいて、前記２本の直線状の輪郭について直線の方程式を算出するステップを有するステレオカメラの配置決定方法。
【請求項６】
互いに対向する２本の直線状の輪郭で遮蔽された対象物を計測するステレオカメラの配置支援システムにおいて、
第一のカメラの位置と第一の直線状の輪郭により形成される第一のエピポーラ面を算出する第一エピポーラ面算出手段と、
前記第一のカメラの位置と、第二の直線状の輪郭により形成される第二のエピポーラ面を算出する第二エピポーラ面算出手段と、
前記第一のエピポーラ面と前記第二のエピポーラ面の交線を算出する交線算出手段と、
を有するステレオカメラの配置支援システム。
【請求項７】
請求項６記載のステレオカメラの配置支援システムにおいて、
前記２本の直線状の輪郭について、それぞれの輪郭線の三次元座標における直線の方程式を算出する輪郭線算出手段をさらに有することを特徴とするステレオカメラの配置支援システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物の３次元計測のためのステレオ画像処理システムにおいて、カメラの最適配置を決定する方法に関するものである。
【背景技術】
【０００２】
現在、さまざまな分野において複数のカメラを用いた３次元計測システムが利用されている。計測対象物を複数のカメラで撮影して撮影された画像を画像処理して、その対象物の形状、寸法などを計測する。ステレオ法では、距離が既知である２台以上のカメラで同一の対象物を撮像し、撮像した画像間の対応点を探索する。そしていわゆる三角測量の原理で対応の取れた画素点の座標を基に、対象物の座標位置を算出する。
【０００３】
図１は、ステレオカメラによる三次元計測の原理図である。まず、基準画像I0中の点P0’に対する参照画像I1中の対応点P1’を探索する。その後、あらかじめキャリブレーションで計算されている投影光学系のカメラパラメータによって、点P0’の二次元座標に対応する画像面上の三次元点P0、同様に点P1’の二次元座標に対応する三次元点P1を計算し、二つのカメラの投影中心をO0およびO1としたとき直線O0P0およびO1P1の交点として対象点Pを計算する。
【０００４】
このとき、基準画像中の点P’0から参照画像中の点P’1を探索する方法のひとつとしてそれぞれの点の近傍の輝度のテクスチャの類似性をもとに評価するステレオ相関法がある。輝度差の総和を評価値とするSADでは、例えば両者の周囲に設けた正方形のウィンドウの各点についての輝度差の絶対値が評価値として計算される。すなわち、
【０００５】
【数１】
0005510837.tif 000002
ただし、S(x0,y0,x1,y1)は基準画像における点P’0(x0,y0)に対して参照画像における点P’1(x1, y1)がもつ評価値、I0(x,y)およびI1(x,y)は基準画像および参照画像における輝度、uおよびvはx方向およびy方向のウィンドウ内のオフセット、hはウィンドウサイズの半値である。この式を計算したのち、Sの値が最小になるような(x1,y1)が対応点となる。なお、輝度差の二乗和を評価値とするSSDを用いてもよい。
【０００６】
点P0’は空間中の直線O0P0に対応するため、点Pがこの直線上を移動すると、参照画像上では平面O0O1P0と参照画像の画像面が交差した直線上を移動することになる。この平面をエピポーラ面、画像中に現れる直線をエピポーラ線という。従って、点P1’を探索する際には参照画像中でエピポーラ線上のみを探索すればよいことになる。
一般には図１に示すように二台のカメラはカメラ間の共通視野を広くとるために寄り目の状態に置かれることが多い。図２は、エピポーラ線、エピポーラ面を説明する図面である。図２に示すように、寄り目のようなカメラ配置においては、エピポーラ線は参照画像中で放射状の直線となる。
【０００７】
特にステレオ相関法ではこの放射状の直線上を探索するアルゴリズムが複雑となる。このため、放射状の直線であるエピポーラ線が画像中で水平になるような画像変換を行う。図３は、エピポーラ線が画像中で水平になるような画像変換をした場合の画像の説明図である。エピポーラ線を平行化することにより探索範囲は水平線状に限られることになる。このような画像変換後のエピポーラ線上の対応点候補における評価値の式は次のようになる。
【０００８】
【数２】
0005510837.tif 000003
ただし、ｄは視差である。この式においては、（数１）におけるx1およびy1はx0+dおよびy0+dで置きかえられている。
【０００９】
上のエピポーラ線が平行になるような画像処理は平行化と呼ばれる。平行化後の画像においては、帰納的なアルゴリズムを用いることにより、格段に高速な処理が可能になる。このアルゴリズムは非特許文献１などで開示されている。平行化の効果で、画像全体の形は長方形から歪んだ四角形に変換される。このようなステレオ相関法及び平行化については、非特許文献２に開示されている。
【００１０】
また、画像の自己相関を計算して最も安定した計算が可能なカメラ配置の計算方法については特許文献１に開示されている。
【００１１】
【特許文献１】特開２００４−３４０７１４号公報
【００１２】
【非特許文献１】岡田、加賀美、稲葉、井上、” PC による高速対応点探索に基づくロボット搭載可能な実時間視差画像・フロー生成法と実現”、日本ロボット学会誌、Vol.18,No.6,pp.896-901(2000)
【非特許文献２】徐剛、辻三郎著「3次元ビジョン」、共立出版、1998年4月20日、95−99ページ
【発明の概要】
【発明が解決しようとする課題】
【００１３】
非特許文献２のように平行化処理を行うと、エピポーラ線が平行になるために対応点の探索処理が高速化される。しかし、平行化処理によって画像は歪んだ四角形となる。例えば、図４のように輪郭が直線状になっている遮蔽物が対象物の手前にある場合、平行化を行うとエピポーラ線に対して斜めの輪郭線が現れることになる。このため、遮蔽物に近い点での対応点探索においては、十分な候補点数が得られず対応点を計算できなくなるとう問題がある。また、特許文献１に開示された方法は、このような課題を考慮していない。
【００１４】
本発明は、上述した従来技術の課題に鑑みてなされたもので、直線状の輪郭を有する遮蔽物に遮蔽されている対象物を三次元計測する場合に、輪郭付近に見えている画像すべての点を使えるように、効率よく十分な候補点数を確保し、対応点探索ができるようにするカメラ配置方法を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明におけるステレオカメラ配置決定方法は、互いに対向する２本の直線状の輪郭で遮蔽された対象物を計測する場合のステレオカメラの配置決定方法であって、第一のカメラを設置するステップと、前記第一のカメラの位置と第一の直線状の輪郭により形成される第一のエピポーラ面を算出するステップと、前記第一のカメラの位置と第二の直線状の輪郭により形成される第二のエピポーラ面を算出するステップと、前記第一のエピポーラ面と前記第二のエピポーラ面の交線を算出するステップと、前記第一のエピポーラ面と前記第二のエピポーラ面の交線上に第二のカメラを配置するステップと、を有するステレオカメラの配置決定方法を提供する。
【００１６】
また、本発明におけるステレオカメラの配置支援システムにおいては、互いに対向する２本の直線状の輪郭で遮蔽された対象物を計測する場合に、第一のカメラの位置と第一の直線状の輪郭により形成される第一のエピポーラ面を算出する第一エピポーラ面算出手段と、第一のカメラの位置と、第二の直線状の輪郭により形成される第二のエピポーラ面を算出する第二エピポーラ面算出手段と、第一のエピポーラ面と第二のエピポーラ面の交線を算出する交線算出手段と、を有するステレオカメラの配置支援システムを提供する。
【発明の効果】
【００１７】
本発明によるカメラ配置によれば、平行化処理後であっても遮蔽物による輪郭線が水平線となる。従って、輪郭付近に見えている画像も含めて、無駄なく、すべて利用することができるようになる。従って、遮蔽物近傍の点についてもステレオ相関法により計算することができるようになる。
【００１８】
また、二つのエピポーラ面はそれぞれの輪郭線を含んでいればよく、回転の自由度があるため、任意の基準カメラの位置に対して計算することが可能であるため、二つのカメラの配置は、自由度高く行うことが可能である。
【図面の簡単な説明】
【００１９】
【図１】ステレオカメラによる三次元計測の原理を説明する図面である。
【図２】エピポーラ面、エピポーラ線を説明する図面である。
【図３】エピポーラ線が画像中で水平になるような画像変換をした場合の画像の説明図である。
【図４】輪郭が直線状になっている遮蔽物が対象物の手前にある場合の平行化処理後の画像を示す図面である。
【図５】ステレオカメラによる三次元計測システムの構成を示す図面である。
【図６】本発明におけるステレオカメラ配置方法を支援するためのシステム構成図である。
【図７】本発明にかかるカメラ配置方法を示すフローチャートである。
【図８】２台のカメラと遮蔽物との位置関係を示す図面である。
【図９】本発明によって配置された２台のカメラが撮像した画像を平行化処理した場合を説明する図面である。
【図１０】輪郭線１と輪郭線２が互いに平行である場合のカメラ配置を説明する図面である。
【発明を実施するための形態】
【００２０】
図５は、本発明のステレオカメラ配置方法により実現される、ステレオカメラによる三次元計測システムの構成を示す図面である。三次元計測に用いられるステレオ画像処理システム１は、対象物Aを撮像するための第一のカメラ２、第二のカメラ３と、第一のカメラ２及び第二のカメラ３で撮像された画像を処理する画像処理装置４とから構成される。第一のカメラ２及び第二のカメラ３は、対象物Aを撮像するカメラであり、撮像した画像の情報信号をそれぞれ画像処理装置４へ送信する。画像処理装置４は、図示しないＣＰＵ（Central  Processing  Unit）などによる制御手段を備えるコンピュータで構成されており、入力された二枚の画像に基づいて、対象物Aの三次元座標を算出し、算出結果を出力表示する。対象物Aは、遮蔽物Wによって一部が遮蔽されており、第一のカメラ２及び第二のカメラ３は、遮蔽物の間から見えている対象物Aをそれぞれ矢印の方向から撮像する。なお、遮蔽物Wとしては、例えば、対象物Aを載置するための板などが考えられるが、これに限られず、遮蔽物自体が三次元計測システムの一部を構成していてもよい。対象物Aを遮る部分の遮蔽物Wは２本の直線状の輪郭を有する。「直線状」とは、必ずしも直線である必要はなく、直線に近似することができる曲線も含まれる。
【００２１】
図６は、本発明におけるステレオカメラ配置方法を支援するための配置支援システムの構成図である。ステレオカメラ配置支援システム６００は、一般的なコンピュータで実現可能であり、少なくとも、ＣＰＵやマイクロプロセッサ、ＩＣメモリなどの演算装置で構成される制御装置１０、キーボードやマウスなどの入力装置２０、ディスプレイなどで構成される表示装置３０、ＩＣメモリや光磁気ディスクなどの情報記憶媒体で構成される記憶装置４０、外部の装置との間で送受信を行うための通信装置５０を備える。
【００２２】
制御装置１０は、様々な演算処理を行ってステレオカメラ配置支援システムの動作を制御する。たとえば、入力部２０からの入力信号に基づいて、表示装置３０に入力された内容を表示させたり、通信装置４０を介して外部より受信したデータを記憶装置５０に記憶するように制御を行ったり、記憶装置５０のデータを読み出して通信装置４０を介して外部へのデータの送信の制御を行う。また、記憶装置５０に記憶されたプログラムを読み出して実行することによって、演算の実行を行うことを実現する。
【００２３】
制御装置１０は、例えば、ＣＰＵ（Central  Processing  Unit：中央演算処理装置）やＶＤＰ（Video  Display  Processor）などのプロセッサや、ＡＳＩＣ、ＩＣメモリなどから構成され、記憶装置５０に記憶されたプログラムを実行して演算処理を行うことで、輪郭線算出手段１１、第一エピポーラ面算出手段１２、第二エピポーラ面算出手段１３、交線算出手段１４として機能する。
【００２４】
入力装置２０は、マウス、キーボード、ボタンなどによって構成され、使用者による操作に応じた入力信号を生成して制御装置１０に入力する。表示装置３０は、例えば、液晶表示装置などから構成され、第一のカメラ２と第二のカメラ３、対象物Aとの位置関係などを表示する。
【００２５】
通信装置４０は、外部装置との間でデータを送受信するためのインターフェースで構成され、たとえば、ＵＳＢコネクタやＬＡＮコネクタ、無線ＬＡＮモジュールなどで構成される。通信装置４０を介して例えば第一のカメラ２や第二のカメラ３から画像を受信して記憶装置５０に画像を記憶したりすることができる。
【００２６】
記憶装置５０は、例えば、ハードディスク、ＲＯＭ（Read  Only  Memory）やフラッシュメモリなどの内部記憶装置や、光磁気ディスクやＵＳＢメモリといった着脱可能な外部記憶装置から構成され、ステレオカメラ配置支援システムの動作に必要なプログラムやデータなどを格納したり、一時的に記憶したりする。
【００２７】
図７は、本発明に係るステレオカメラの配置方法を示す図面である。具体的には、遮蔽物Wにより形成される輪郭線１及び２の位置及び姿勢を計測する（S701）。輪郭線の位置及び姿勢を計測することで、輪郭線により形成される直線の三次元座標における方程式を算出する。輪郭線１及び２の位置及び姿勢の計測方法については、例えば、第一のカメラ２及び第二のカメラ３を、輪郭線１及び輪郭線２を撮像できる適当な位置に設置することで行う。２台のカメラが撮像した輪郭線の画像を配置支援システムが通信装置50で受信し、制御装置１０でそれぞれの輪郭線を三次元復元し、復元された点列に対して直線近似することで、輪郭線の直線の方程式を輪郭線算出手段１１が算出する。
【００２８】
また、カメラを使用せず、接触式三次元測定機又はレーザー等を投影する非接触式三次元測定機を用いて２点以上の輪郭線上の三次元点座標を計測し、それらの点座標データを配置支援システムに入力し、各点座標データに対して直線に近似することで輪郭線の直線の方程式を算出してもよい。また、遮蔽物について設計図面などがあり、遮蔽物の輪郭線の形状がわかる場合には、図面をカメラ配置支援システムに読み込んで、制御装置１０において輪郭線を直線近似させ、三次元座標における輪郭線の直線の方程式を算出して得てもよい。なお、遮蔽物が、例えばステレオ画像システムのために予め設計された機械の一部であるなど、既に位置・姿勢が既知である場合には、本ステップを省略することが可能である。
【００２９】
次に、遮蔽物Wの輪郭線１及び２の位置・姿勢に基づいて第一のカメラ２の位置を決定する（S702）。第一のカメラの位置としては、カメラの画素数やレンズのF値や焦点距離、計測精度などの条件も考慮しながら決定する。具体的には、計測精度を高めるためにはなるべく対象物をクローズアップして撮影したり第一のカメラと第二のカメラの距離を離したりする必要があるが、反面こういった配置にすると対象物全体を観測できなかったり二つのカメラで同時に観測できる場所が減ってしまったりする欠点もある。
【００３０】
このため、遮蔽物Wの輪郭線１及び輪郭線２を含み、輪郭線１及び輪郭線２の間から見える対象物Aの全体を撮像できる位置に第一のカメラを配置するかどうかは、用意するカメラの台数、要求される計測精度などにより決定され、必ずしも全体を撮像できる位置とは限らない。この場合に、レンズの焦点距離、用いるカメラの台数、画素数、計測精度などの諸条件をカメラ配置支援システムに入力し、記憶装置40に記憶されたシミュレーションプログラムによって、演算、シミュレーションすることで位置を決定してもよい。
【００３１】
そして、遮蔽物Wの輪郭線１の位置と第一のカメラ２の投影中心の位置に基づいてエピポーラ面１を算出する（S703）。第一のカメラ２の位置が決まれば、第一のカメラ２と遮蔽物Wの輪郭線１とを有するエピポーラ面１が決まるからである。具体的には第一エピポーラ面算出手段１２が、以下の数式によりエピポーラ面１を算出する。
【００３２】
第一のカメラの中心位置をQ、遮蔽輪郭線１の直線の式をx=P1+st1とする。ただし、P1は遮蔽輪郭線１が通る一点の座標ベクトル、t1は遮蔽輪郭線１の接線ベクトル、sは媒介変数を示す。
【００３３】
また、エピポーラ面１の式を
【数３】
0005510837.tif 000004
とする。ただし、n1はエピポーラ面１の法線ベクトル、d1はエピポーラ面１の原点までの距離を示す。このとき、直線が平面に含まれていることから、t1とn1は直交する。同様に、点P1および点Qが平面に含まれていることより、ベクトルP1Qもまたn1に直交する。したがって、法線n1は次のように計算される。
【数４】
0005510837.tif 000005
その後、d1は次の式により計算される。
【数５】
0005510837.tif 000006
【００３４】
次に、遮蔽物Wの輪郭線２の位置と第一のカメラ２の投影中心の位置に基づいて第二エピポーラ面算出手段が、エピポーラ面２を算出する（S704）。画像処理装置４は、エピポーラ面１を算出した場合と同様に、以下の数式によりエピポーラ面２を算出する。
【数６】
0005510837.tif 000007
ただし、P2は遮蔽輪郭線２が通る一点の座標ベクトル、t2は遮蔽輪郭線２の接線ベクトル、n2はエピポーラ面２の法線ベクトル、d2はエピポーラ面２の原点までの距離を示す。
【００３５】
配置支援システム６００の交線算出手段１４は、Ｓ６０３及びＳ６０４で算出されたエピポーラ面１及び２に基づいてエピポーラ面１とエピポーラ面２による交線を計算する（S705）。交線の接線ベクトルは、交線が二つのエピポーラ面に含まれることから、エピポーラ面１の法線ベクトル及びエピポーラ面２の法線ベクトルに直交する。
【００３６】
従って、交線の接線ベクトルは以下のように計算できる。
【数７】
0005510837.tif 000008
これを用いて、交線の式は次のようになる。
【数８】
0005510837.tif 000009
【００３７】
Ｓ７０５で算出された交線に基づいて、交線上の適切な位置に第二のカメラ３の投影中心を配置できるかチェックする（Ｓ７０６）。交線上の適切な位置に第二のカメラ３を配置できない場合は、Ｓ７０２に戻って、再度第一のカメラの位置を決定しなおす。交線上に第二のカメラ３を配置できるときは、第二のカメラを交線上に配置する（Ｓ７０７）。このとき、配置支援システム６００に第一のカメラ２の三次元座標、交線の式、対象物Aの位置座標を入力し、位置関係の様子を制御手段１０によって演算して、表示装置３０に表示させてもよい。第二のカメラ３の位置を決定するにあたっては、第一のカメラ２との距離、カメラの性能、画像精度などの要素も考慮する必要があるため、位置関係を表示装置３０に表示することで、第二のカメラ３の位置として交線上のどこが適切か、また配置可能かどうか、容易に決定することが可能となる。また、上記の要素を情報入力することで、シミュレーションしてもよい。
【００３８】
図８は、２台のカメラと遮蔽物との位置関係を示す図面である。図８に示すように、第一のカメラおよび第二のカメラは、上記ステップに従うことにより、遮蔽物の輪郭１と第一のカメラ及び第二のカメラを有するエピポーラ面１と、遮蔽物の輪郭２と第一のカメラと第二のカメラを有するエピポーラ面２との交線上に配置されることとなる。
【００３９】
図９は、本発明によって配置された２台のカメラが撮像した画像を平行化処理した場合を説明する図面である。遮蔽物Ｗの輪郭線１を含むエピポーラ面１と輪郭線２を含むエピポーラ面２の交線上に配置された第一のカメラ２又は第二のカメラ３で撮像された画像は、平行化処理した場合に、遮蔽物の輪郭線１及び輪郭線２がともに水平線状となる。よって、遮蔽輪郭近傍の点においても、探索方向でウィンドウ内の点数が変わることなく、対象物との距離を計算することが可能となる。
【００４０】
図１０は、遮蔽物Wの輪郭線１及び輪郭線２が互いに平行である場合を説明する図面である。輪郭線１及び輪郭線２が平行の場合は、第一のカメラ２の投影中心O0と第二のカメラ３の投影中心O１を結ぶ線が輪郭線1及び輪郭線２と平行となるように２台のカメラを配置する。これにより、平行化処理後の第一のカメラの撮像画像及び第二のカメラの撮像画像双方において輪郭線１及び２が水平線状になり、遮蔽物の間から見えている対象物の画像を無駄なく利用して対象物との距離を計算することが可能となる。
【産業上の利用可能性】
【００４１】
本発明によるステレオカメラの配置方法及びそのシステムは、計測する対象が遮蔽物に阻まれた環境で三次元計測する必要がある場合、例えばスペースに制限のある検査機械の内部や、倒壊した建物の下を検査する災害救助ロボット、床下の検査用ロボット、内視鏡による体内臓器の計測などに用いることができる。
【図１】
0005510837.tif 000010
【図２】
0005510837.tif 000011
【図３】
0005510837.tif 000012
【図４】
0005510837.tif 000013
【図５】
0005510837.tif 000014
【図６】
0005510837.tif 000015
【図７】
0005510837.tif 000016
【図８】
0005510837.tif 000017
【図９】
0005510837.tif 000018
【図１０】
0005510837.tif 000019