(57)【要約】【課題】カメラの外部パラメータの校正精度を向上する。【解決手段】ワールド座標系を規定する基準平面４０を校正対象のレンジファインダ１０により三次元計測する。これにより、基準平面４０上の多数の点の三次元位置の情報を得ることができる。これら多数の点を通る平面を計算することで、基準平面４０の法線方向を高精度に求めることができる。基準平面の法線方向を基準にワールド座標系の所定の座標軸、例えばＹwの方向を規定しておけば、その法線方向を精度よく求めることで、カメラ座標系からワールド座標系への座標変換を精度よく求めることができる。【選択図】図３
2007256091.tif 000002
【特許請求の範囲】
【請求項１】
レンジファインダのカメラ座標系からワールド座標系への座標変換を求めるレンジファインダ校正方法であって、
前記ワールド座標系を規定する基準平面を前記レンジファインダで三次元計測して前記基準平面上の各点のカメラ座標系での三次元位置を求める工程と、
それら各点のカメラ座標系での三次元位置に基づき前記基準平面の前記カメラ座標系での法線方向を計算する工程と、
計算により求められた法線方向が前記ワールド座標系の１つの座標軸方向となるように前記カメラ座標系から前記ワールド座標系への座標変換を計算する工程と、
を有するレンジファインダ校正方法。
【請求項２】
請求項１記載の方法であって、
前記基準平面には、前記ワールド座標系の原点と１つの座標軸とを特定するためのパターンが示され、
前記カメラ座標系から前記ワールド座標系への座標変換を計算する工程は、
前記パターンから特定される前記原点の前記カメラ座標系での三次元位置を前記レンジファインダによる三次元計測の結果から求め、求めた三次元位置に基づき前記カメラ座標系から前記ワールド座標系への並進ベクトルを求めるサブ工程と、
前記パターンから特定される前記座標軸上の各点の三次元位置からその座標軸の三次元方向を計算するサブ工程と、
前記パターンから特定される前記座標軸の三次元方向が前記ワールド座標系での所定の１つの座標軸の方向となり、前記法線方向が前記ワールド座標系での他の所定の１つの座標軸の方向となるよう、前記カメラ座標系から前記ワールド座標系への変換行列を求めるサブ工程と、
を有することを特徴とするレンジファインダ校正方法。
【請求項３】
レンジファインダのカメラ座標系からワールド座標系への座標変換を求めるレンジファインダ校正方法であって、
互いに法線方向が異なり且つ各々の法線方向の前記ワールド座標系に対する関係が既知の複数の基準平面を前記レンジファインダで計測することにより、前記各基準平面上の各点の前記カメラ座標系での三次元位置を求める工程と、
前記基準平面ごとに、その基準平面上の各点のカメラ座標系での三次元位置に基づきその基準平面の前記カメラ座標系での法線方向を計算する工程と、
前記各基準平面の法線方向に基づき前記ワールド座標系の３つの座標軸の三次元方向をそれぞれ計算する工程と、
計算により得られた前記ワールド座標系の各座標軸の三次元方向に基づき、前記カメラ座標系から前記ワールド座標系への座標変換を計算する工程と、
を有するレンジファインダ校正方法。
【請求項４】
請求項３記載の方法であって、
前記複数の基準平面の少なくとも一つには、前記ワールド座標系の原点を特定するためのパターンが示され、
前記カメラ座標系から前記ワールド座標系への座標変換を計算する工程は、
前記パターンから特定される前記原点の前記カメラ座標系での三次元位置を前記レンジファインダによる三次元計測の結果から求め、求めた三次元位置に基づき前記カメラ座標系から前記ワールド座標系への並進ベクトルを求めるサブ工程と、
計算により得られた前記ワールド座標系の各座標軸の三次元方向に基づき、前記カメラ座標系から前記ワールド座標系への回転行列を求めるサブ工程と、
を有することを特徴とするレンジファインダ校正方法。
【請求項５】
請求項３記載のレンジファインダ校正方法であって、
前記複数の基準平面として１つの交点で交わる３つの基準平面を用い、
前記カメラ座標系から前記ワールド座標系への座標変換を計算する工程は、
前記各基準平面上の各点の三次元位置の計測結果から前記交点の前記カメラ座標系での三次元位置を求め、求めた三次元位置が前記ワールド座標系の原点となるように前記カメラ座標系から前記ワールド座標系への並進ベクトルを求めるサブ工程と、
計算により得られた前記ワールド座標系の各座標軸の三次元方向に基づき、前記カメラ座標系から前記ワールド座標系への回転行列を求めるサブ工程と、
を有することを特徴とするレンジファインダ校正方法。
【請求項６】
請求項２又は４に記載の方法であって、
前記並進ベクトルを求めるサブ工程では、
前記パターンのうち前記レンジファインダにより撮影された部分を前記パターンの画像とパターンマッチングすることにより、その部分の前記パターン上での位置を特定し、その位置と前記原点との位置関係と、前記レンジファインダによる三次元計測により求められたその部分の三次元位置とに基づき、前記原点の三次元位置を計算する、
ことを特徴とするレンジファインダ校正方法。
【請求項７】
複数のレンジファインダのそれぞれについて、そのレンジファインダのカメラ座標系から共通のワールド座標系への座標変換を求めるレンジファインダ校正方法であって、
基準軸から放射状に延びる複数の基準平面であって各々の法線方向のワールド座標系に対する関係が既知の複数の基準平面を備えた基準体を、前記各レンジファインダの視野にそれぞれ２つの基準平面が入るようにセットする準備工程と、
レンジファインダごとに、そのレンジファインダのカメラ座標系から前記ワールド座標系への座標変換を求めるレンジファインダごとの計測工程と、
を有し、
前記レンジファインダごとの計測工程は、
当該レンジファインダの視野内の２つの基準平面を計測することによりそれら基準平面上の各点の前記カメラ座標系での三次元位置を求める工程と、
前記基準平面ごとに、その基準平面上の各点のカメラ座標系での三次元位置に基づきその基準平面の前記カメラ座標系での法線方向を計算する工程と、
前記各基準平面の法線方向に基づき前記ワールド座標系の３つの座標軸の三次元方向をそれぞれ計算する工程と、
計算により得られた前記ワールド座標系の各座標軸の三次元方向に基づき、前記カメラ座標系から前記ワールド座標系への座標変換を計算する工程と、
を有する、レンジファインダ校正方法。
【請求項８】
レンジファインダのカメラ座標系からワールド座標系への座標変換を求めるレンジファインダ校正装置であって、
前記ワールド座標系を規定する基準平面を前記レンジファインダで三次元計測して前記基準平面上の各点のカメラ座標系での三次元位置を求める手段と、
それら各点のカメラ座標系での三次元位置に基づき前記基準平面の前記カメラ座標系での法線方向を計算する手段と、
計算により求められた法線方向が前記ワールド座標系の１つの座標軸方向となるように前記カメラ座標系から前記ワールド座標系への座標変換を計算する手段と、
を有するレンジファインダ校正装置。
【請求項９】
レンジファインダのカメラ座標系からワールド座標系への座標変換を求めるレンジファインダ校正装置であって、
互いに法線方向が異なり且つ各々の法線方向の前記ワールド座標系に対する関係が既知の複数の基準平面を前記レンジファインダで計測することにより、前記各基準平面上の各点の前記カメラ座標系での三次元位置を求める手段と、
前記基準平面ごとに、その基準平面上の各点のカメラ座標系での三次元位置に基づきその基準平面の前記カメラ座標系での法線方向を計算する手段と、
前記各基準平面の法線方向に基づき前記ワールド座標系の３つの座標軸の三次元方向をそれぞれ計算する手段と、
計算により得られた前記ワールド座標系の各座標軸の三次元方向に基づき、前記カメラ座標系から前記ワールド座標系への座標変換を計算する手段と、
を有するレンジファインダ校正装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レンジファインダのカメラ外部パラメータの校正に関する。
【背景技術】
【０００２】
対象物の三次元形状を光学的に求める手法としては、古くから受動的な形状計測法であるステレオ画像法や、アクティブ方式の形状計測法である光切断法、空間コード化法など様々な手法が開発され、利用されてきている。いずれの手法も、対象物の画像を撮影したり、レーザ光の対象物からの反射光を撮影するためにカメラを用い、三角法の原理により対象物表面の各点の三次元位置を求める。このため、三角法の原理では、対象物に対するカメラの位置や姿勢などのカメラパラメータを事前に特定する必要がある。カメラパラメータには、焦点距離や投影中心座標などの内部パラメータと、カメラの三次元的な位置や姿勢などの外部パラメータとがある。このようなカメラパラメータの特定のための処理は、カメラ校正と呼ばれる。
【０００３】
従来、カメラの外部パラメータの校正にはいくつかの手法が知られているが、代表的なものとして、例えば特許文献１に示すものがある。この手法では、互いに異なる形状の図形（例えば、数字、バーコード等）を複数配列した校正用のパネルを用いる。そして、校正用のパネルを対象物とを同時にカメラの視野内に捉えて撮影し、校正用のソフトウエアが、パネル上の各図形の形状や世界座標系での位置についての既知情報を用い、撮影した画像内から各図形をそれぞれ識別し、各図形の画面座標系での位置と世界座標系での位置の対応から、両座標系での座標変換のパラメータを計算する。この座標変換のパラメータは、パネルに対するカメラの位置及び姿勢などの外部パラメータを表すものである。
【０００４】
また別の方式として、特許文献２には、光切断法により三次元形状を計測する測定ヘッドの上面に、ＬＥＤ（発光ダイオード）からなるマーカーを複数設け、対象物に対して自由に配置した測定ヘッドを情報からステレオカメラで撮影することで、測定ヘッドの世界座標系での位置・姿勢を求める方式が示されている。この方式では、測定ヘッドで計測した測定ヘッド中心座標系での対象物の各点の座標を、ステレオカメラで求めた測定ヘッドの位置・姿勢の情報を用いて変換することで、世界座標系での対象物の形状を求めている。
【０００５】
特許文献１及び２に示される方式は、いずれも数個乃至せいぜい数十個のマーカを基準に校正を行うものなので、高い精度が得にくいという問題があった。
【０００６】
【特許文献１】特開２００１−２６４０３７号公報
【特許文献２】特開２００１−２４１９２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の１つの側面は、レンジファインダのカメラ外部パラメータを、従来方式より高精度に校正するための技術を提供する。
【課題を解決するための手段】
【０００８】
本発明では、ワールド座標系を規定する基準平面を校正対象のレンジファインダにより三次元計測する。これにより、基準平面上の多数の点の三次元位置の情報を得ることができる。これら多数の点を通る平面を計算することで、基準平面の法線方向を高精度に求めることができる。基準平面の法線方向を基準にワールド座標系の所定の座標軸の方向を規定しておけば、、その法線方向が精度よく求めることで、カメラ座標系からワールド座標系への座標変換を精度よく求めることができる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して、本発明の実施の形態（以下「実施形態」と呼ぶ）について説明する。
【００１０】
まず、図１を参照して、本発明に係る三次元形状計測システムの例を説明する。図示のように、このシステムは、１台以上のレンジファインダ１０Ａ，１０Ｂ，・・・と、三次元形状計算装置２０とを備える。
【００１１】
まず、レンジファインダ１０Ａは、例えばアクティブ方式のレンジファインダである。アクティブ方式のレンジファインダの代表例としてレーザ・レンジファインダがあり、ここではレンジファインダ１０Ａはレーザ・レンジファインダであるとして説明する。
【００１２】
レンジファインダ１０Ａは、レーザのスリット光又はスポット光を対象物に投光するための投光部１２Ａと、対象物を撮影するためのカメラ部１４Ａを備える。投光部１２Ａは、レーザ、レンズ系等からなる光源からスリット光又はスポット光を発し、この光をポリゴンミラーなどの偏向装置で反射させて対象物に投影する。これにより対象物の表面がスリット状又はスポット状に照明される。対象物の表面からの反射光は、カメラ部１４Ａのレンズ系で集束され、カメラ部１４Ａ内の撮像素子（例えばＣＣＤ撮像素子）の撮像面に結像する。撮像面には、対象物表面のスリット状又はスポット状の被照明部のみが明るく、他の部分は暗くなった像が形成される。このとき、対象物上の被照明部の点の三次元座標は、その点に対応する撮像面上の点の二次元位置、光源（レーザ）と撮像面の位置、及びその時のスリット光又はスポット光の投影方向（角度）から三角測量の原理で求められる。そして、偏向装置により光の偏向方向を順に変えることにより、スリット光又はスポット光で対象物の表面を走査する。原理上、対象物表面のすべての点（もちろん光学系の構成上影になる部分は除く）は、この１回の走査の間に一回だけスリット光又はスポット光により照明されるので、上述の三角測量の原理でその三次元位置を特定できる。レンジファインダ１０Ａは、撮像面の各画素に対応する対象物表面の点の三次元位置情報（距離情報）を求めることができる。レンジファインダ１０Ａが出力する三次元形状の情報は、距離画像とも呼ばれる。
【００１３】
以上、概略を説明したが、レーザ・レンジファインダの計測原理や大まかなシステム構成については、井口征治・佐藤宏介共著「三次元画像計測」，初版，昭晃堂，１９９０年１１月２０日発行，ｐ３６−４０（２．２．２  スリット光投影法）に示されており、周知のものであるので、これ以上の説明は省く。
【００１４】
以上、レンジファインダ１０Ａを代表に説明したが、他のレンジファインダ１０Ｂ，・・・も同様である。
【００１５】
以上ではレンジファインダ１０Ａ，１０Ｂ，・・・はレーザ・レンジファインダであるとして説明したが、本発明の手法の適用対象は、レーザ・レンジファインダに限られるものではない。レンジファインダ１０Ａ，１０Ｂ，・・・は、この他に、例えばレーザのスリット光やスポット光で対象物を走査する代わりに、順次変化するパターン光を投射するタイプのレンジファインダであってもよい。
【００１６】
このシステムでは、複数のレンジファインダ１０Ａ，１０Ｂ，・・・で同じ対象物を様々な方向から三次元計測し、各々の計測結果を合成することで、１つのレンジファインダでは死角となる部分の形状も求められるようにしている。三次元形状計算装置２０が、このような合成を行って対象物の三次元形状データ１００を求める。
【００１７】
ここで、複数のレンジファインダの計測結果を合成する場合、各々の計測結果の座標系を統一する必要がある。すなわち、図２に示すように、各レンジファインダ１０Ａ，１０Ｂ，・・・は、それぞれ自分自身に固定されたカメラ座標系ＯcＸcＹcＺcで計測を行う。各レンジファインダ１０Ａ，１０Ｂ，・・・はその設置位置や姿勢が異なるので、各々のカメラ座標系は一致しない。そこで、それら各レンジファインダの計測した三次元形状を共通のワールド座標系ＯwＸwＹwＺwに座標変換することで、それら各三次元形状の合成を可能とする。ワールド座標系は、例えば対象物３０を基準に定めればよい。
【００１８】
このような各レンジファインダの求めた三次元形状に対する座標変換を行うのが、三次元形状計算装置２０の座標変換部２２である。合成部２４は、座標変換された各三次元形状を合成することで、対象物の三次元形状データ１００を作成する。
【００１９】
さて、このシステムにおいて、精度のよい三次元形状形状データ１００を求めるには、各レンジファインダの計測結果の座標変換の精度を高くする必要がある。このため、対象物３０の周囲にレンジファインダ１０Ａ，１０Ｂ，・・・を設置した際に、対象物３０のおかれる場所にワールド座標系を規定する基準体を設置し、その基準体を各レンジファインダで計測し、その計測結果を用いて各レンジファインダごとに座標変換の変換行列を計算する。このような座標変換はカメラ外部パラメータに該当するものであり、この座標変換を求める処理はカメラ外部パラメータの校正処理の１つと言える。カメラ校正部２６がこの座標変換行列の計算を実行する。なお、以下の処理では、レンジファインダ１０のカメラ内部パラメータは既に校正済みであるものとする。
【００２０】
本実施形態では、このカメラ外部パラメータの校正のために、図３に示すような基準平面４０上の各点の三次元位置をレンジファインダ１０で計測する。レンジファインダの中には、例えばＶＧＡ規格（６００×４８０画素）程度の解像度で三次元位置情報（距離情報）を求めるものもあり、基準平面４０上の数万点以上の点の三次元位置を求めることができる。本実施形態では、このような膨大な数の点の三次元位置の情報に基づき、基準平面４０の法線ベクトル（言い換えれば平面の方程式）を求め、この法線ベクトルに基づきワールド座標系の座標軸を求める。
【００２１】
三次元空間における平面の方程式は、次のように表される。
【００２２】
【数１】
2007256091.tif 000003
【００２３】
ここで、いま、カメラ座標系において基準平面を計測したＭ個の点の三次元座標［ｘi，ｙi，ｚi］が与えられたとする。これらの点群は上式（１）を満足するから、以下の式（２）が成り立つ。
【００２４】
【数２】
2007256091.tif 000004
【００２５】
最小二乗法などの回帰法を用いてこの式に最もフィットする係数の組（ａ，ｂ，ｃ）を求めると、それがその基準平面４０の法線ベクトルとなる。この法線ベクトルは、数万点規模の点から求めたものなので、非常に精度が高い。この法線ベクトルの方向を、ワールド座標系ＯwＸwＹwＺwの例えばＹw軸の方向とするなどすれば、ワールド座標系の１軸を非常に高精度に定めることができる。高々数十個程度のマークに基づく従来の校正方式に比べて、はるかに高い精度を得ることができる。
【００２６】
この考え方を拡張すれば、例えば図４に示すように、互いに直交する２つの基準平面Ａ，Ｂをレンジファインダ１０で計測すれば、基準平面Ａ，Ｂの法線ベクトルを高精度に求めることができ、それら各法線ベクトルの方向をそれぞれワールド座標系の所定の２座標軸（例えばＸw軸とＹw軸）の方向として定めることができる。２つの座標軸の方向が定められれば、残りの１つの座標軸の方向も決まるので、結局３軸の方向が高い精度で決定できる。
【００２７】
また、図５に示すように、互いに直交する３つの基準平面Ａ，Ｂ，Ｃをレンジファインダで計測すれば、ワールド座標系の３軸の方向を高い精度で求めることができる。
【００２８】
以上のようにして、基準平面の三次元計測により、ワールド座標系の座標軸方向を高精度に求めることができる。求められた方向は、ワールド座標系の座標軸の方向を個々のレンジファインダのカメラ座標系で表現したものである。
【００２９】
周知のように、座標系から別の座標系へのユークリッド座標変換は、座標系の回転と並進との組み合わせにより表される。ワールド座標系の３つの座標軸の方向が求められれば、カメラ座標系からワールド座標系への回転が求められるので、後は座標系間での特定の点（例えば原点）平行移動が求めれば、座標変換を求めることができる。したがって、例えばワールド座標系の３つの座標軸の方向と原点の位置を、カメラ座標系で求めることができれば、カメラ座標系からワールド座標系への座標変換を求めることができる。すなわち、カメラ座標系からワールド座標系への座標変換は、次の（３）式で表すことができる。
【００３０】
【数３】
2007256091.tif 000005
【００３１】
ここで、［ｘi，ｙi，ｚi］はカメラ座標系における三次元座標、［ｘi*，ｙi*，ｚi*］はワールド座標系における三次元座標である。また、Ｒはカメラ座標系からワールド座標系への回転を示す回転行列であり、Ｔはカメラ座標系からワールド座標系への平行移動を示す並進ベクトルである。
【００３２】
以下、１つの基準平面を用いる方式、２つの基準平面を用いる方式、および３つの基準平面を用いる方式のそれぞれについて、カメラ座標系からワールド座標系への座標変換の求め方を説明する。
【００３３】
＜１つの基準平面を用いる手法＞
上述の１つの基準平面を用いる方式では、基準平面の法線方向が１つしか求められないので、ワールド座標系の１座標軸を定められる。したがって、後１つの座標軸（あと１軸は、既定の２軸に対して垂直な方向に自動的に決めることができる）と、原点の位置を求めることができれば、座標変換が決定できる。このために、基準平面上に、１軸と原点とを定めるための基準となるパターンを、印刷などにより表示しておく。そして、この基準パターンを読みとった画像を用いることで、基準平面だけでは決定できない軸方向成分及び原点位置を求める。
【００３４】
よく知られるように、レンジファインダの中には、三次元形状計測の際のレーザ光或いはパターン光の反射光を撮像面で撮像し、この撮像結果から、対象物各点での反射強度に応じた画像（例えば輝度画像又はＲＧＢ等のカラー画像）と、前述の距離画像との両方を生成できるものある。このような反射強度に応じた画像を、距離画像との区別のためにテクスチャ画像と呼ぶことにする。テクスチャ画像の画素は、三次元計測の結果である距離画像の画素と対応づけることができる。カメラパラメータの校正に基準平面上の基準パターンを用いる方式では、このように距離画像とテクスチャ画像を並列して生成できるレンジファインダを用いる。
【００３５】
基準パターンとしては、例えば、ワールド座標系の原点Ｏwを示すマークと、ワールド座標系の所定の１軸（例えばｘ軸）を示す矢印などのマークなどの組み合わせを用いることができる。このような基準パターンを表示した基準平面を用いた座標変換の計算手順を、図６（及び適宜図１及び図３）を参照して説明する。この手順では、まずレンジファインダ１０を設置し、基準平面４０（具体的には、例えば表面に基準パターンが印刷された平板）を所定の位置（後で計測対象物を置く場所）に配置した後、レンジファインダ１０により計測を行い、三次元形状情報（距離画像）及びテクスチャ画像を取得する（Ｓ１）。カメラ校正部２６は、これら三次元形状情報とテクスチャ情報とを受け取り、まずテクスチャ情報を画面表示して、その中から基準平面４０の範囲をユーザに指定させる（Ｓ２）。これは、基準平面４０以外の領域の距離画像が測定される場合に、その部分を校正処理の対象から除外するためである。なお、基準平面４０以外の領域が撮像されない場合（例えば十分大きな基準平面を用い、その一部をレンジファインダ１０で撮像する場合など）には、ステップＳ２は不要である。
【００３６】
次にカメラ校正部２６は、三次元形状情報のうち、基準平面４０に該当する領域中の各点の位置情報に基づき、上述のようにして基準平面４０の平面の式を推定する（Ｓ３）。この平面の式の係数が、基準平面４０の法線方向を示し、この法線方向がワールド座標系の特定の１軸（例えばＹw軸）の方向となる。
【００３７】
また、カメラ校正部２６は、テクスチャ画像の中から、基準パターンの像を抽出し（Ｓ４）、抽出した像からワールド座標系の原点及び特定の１軸（例えばＸw軸）の方向を推定する（Ｓ５）。例えば、カメラ校正部２６は、テクスチャ画像内での原点マークの２次元位置、すなわち原点に対応する画素を求め、その画素に対応する点、すなわち原点の三次元位置を距離画像から求める。また、カメラ校正部２６は、Ｘw軸方向を示す矢印の線分をテクスチャ画像から抽出し、その線分上の各画素に対応する距離画像の各画素の値（三次元位置を示す）を読み出し、読み出した各画素の三次元位置の情報から、最小二乗法などを用いることで線分上の各点が通る回帰直線を計算する。この直線の方向がＸw軸方向となる。なお、Ｘw軸の正負の方向については、例えば矢印マークの矢の有無など、基準パターンに対して正負の方向を示すマークを組み込んでおき、これをテクスチャ画像から検出することで判定することができる。
【００３８】
このようにして、基準平面４０の三次元形状情報からワールド座標系の１座標軸の方向が、テクスチャ画像と三次元形状情報からワールド座標系の原点と１座標軸が、それぞれ求められると、カメラ校正部２６は、それらの情報に基づき、カメラ座標系からワールド座標系への座標変換を計算する（Ｓ６）。すなわち、ワールド座標系の原点Ｏwのカメラ座標系での三次元位置が分かっているので、これから即座にカメラ座標系から前記ワールド座標系への並進ベクトルＴが求められる（Ｓ６−１）。また、基準パターンからワールド座標系の特定の１座標軸の方向が求められ、基準平面４０の法線方向からもう１つの特定の座標軸の方向が求められると、残りの１座標軸の方向はそれらに垂直な方向として自動的に決定される（右手系又は左手系などのように座標軸の方向性に制限があれば一意に決定される）。このようにワールド座標系の各座標軸の方向がカメラ座標系の表現として求められると、この情報に基づき、周知の方法により、カメラ座標系からワールド座標系への回転行列Ｒを求めることができる（Ｓ６−２）。このようにして求められた並進ベクトルＴ及び回転行列Ｒにより、ワールド座標系からカメラ座標系への座標変換が表される。
【００３９】
以上の手法では、ワールド座標系の１つの座標軸については、基準平面４０上の多数の点の三次元計測結果を用いることで高精度に推定できる。したがって、全体として求められる座標変換の精度を高精度とするには、基準パターンからの原点及び１座標軸の方向の推定の精度を高いものとする必要がある。このためには、原点及び１座標軸を求めるための基礎情報として、テクスチャ画像からできるだけ多数の点をサンプリングすることが望ましい。このため、図３に示した基準平面４０では、基準パターンとして、互いに直交する２方向の平行直線群からなる直線群直交格子パターンを用いている。この格子パターンのうち一方の直線群の延びる方向をＸw軸方向、もう一方の直線群の延びる方向をＺw軸方向などと定めることができる。例えば、一方向の直線群を赤色で、もう一方の方向の直線群を青色で表現し、レンジファインダ１０としてＲＧＢのテクスチャ画像を撮像するものを用いれば、Ｒチャンネルの画像から１方向の直線群を、Ｂチャンネルの画像からもう一方の方向の直線群を、それぞれ抽出することできる。例えば、Ｒチャンネルから抽出した各直線上の画素の三次元位置を距離画像から求め、回帰法によりそれら三次元位置の集まりに最も適合する直線の方向を求めることができ、これをワールド座標系の特定の座標軸、例えばＸw軸の方向とすることができる。各軸の正負の方向は、例えばＸw軸など特定の軸の正の方向を示すマーク（図示省略）を基準パターンに組み込んでおき、それを検出することで判定することができる。
【００４０】
同様にＢチャンネルから別の特定の座標軸の方向を求めることができる。また、例えば各方向の直線群のうちそれそれ真ん中の直線同士の交点を原点Ｏwとするなどの規則を定めておけば、原点を特定することができる。それら交差する２直線上の多数の点の三次元位置からの回帰式から、それら交差する２直線の三次元での式を精度よく求めることができるので、それら２直線の交点（又は２直線が最も近づいた位置の点など）を原点Ｏwとして求めることができる。
【００４１】
また、基準パターンとして、図７に示すように、原点Ｏwから放射状に延びる多数の直線４１と、ワールド座標系の特定の１つの座標軸の方向の基準となる平行な直線４２を含んだパターンを用いている。放射状の各直線４１の三次元空間での式は、距離画像の情報を用いて回帰法により求めることができるので、それら各直線４１の三次元空間での交点（厳密には交差しない場合もあるがそのときは各直線から見て最も距離の近い点）の三次元位置を、原点Ｏwの三次元位置として求めることができる。また、各直線４２上の点の三次元位置に最もフィットする直線の方向を回帰法により求め、それをワールド座標系の特定の座標軸の方向とすることができる。この方法でも、原点及び１座標軸の方向を複数の直線上の多数の点の情報に基づき求めることができるので、高い精度が期待できる。
【００４２】
以上は、基準平面４０上の基準パターンがレンジファインダ１０により完全に撮像できる場合の例である。しかし、レンジファインダ１０と基準平面４０との位置関係によっては、基準パターンのうちの一部分しか撮像できない場合がある。このような場合にも適用できる校正手法を以下に説明する。
【００４３】
この方法では、基準パターンとして、どの一部分をとっても他の部分とは異なるようなパターンを用いる。例えば、直交する直線格子パターンにおいて、隣り合う平行直線同士の間隔をランダムにしておけば、そのような性質を持つ基準パターンを得ることができる。そして、レンジファインダ１０で撮影したテクスチャ画像に含まれるその基準パターンの一部が、カメラ校正部２６に登録された基準パターン全体の内のどの部分かをパターンマッチングなどの処理で特定する。基準パターン全体の中で、ワールド座標系の原点と特定の１座標軸の方向とを決めておけばよい。この手順を、図８に示す。図８において、図６の手順におけるステップと同一の処理内容のステップには、同一符号を付して説明を省略する。
【００４４】
図８の手順では、カメラ校正部２６は、ステップＳ３で基準平面の方程式を求めた後、レンジファインダ１０で撮影したテクスチャ画像のうちの基準パターンの部分（これはステップＳ２で特定されている）を、その方程式から特定される基準平面の法線方向から見た状態へと座標変換する（Ｓ１０）。カメラ校正部２６に登録された基準パターンは、正面（例えば図３ではＹw軸の方向）から見た状態のものであるのに対し、レンジファインダ１０では斜め方向からその基準パターンを撮像することになるので、このステップでは、後者の画像を正面から見た状態のもの（検査対象画像と呼ぶ）へと座標変換することで、両者についてパターンマッチング処理ができるようにするのである。
【００４５】
パターンマッチング（Ｓ１１）では、登録された基準パターンをテンプレートとし、検査対象画像をこのテンプレート上でラスタ走査パターンやジグザグ走査パターンなどのパターンに従って走査させながら、各時点での検査対象画像とテンプレートとの相関を求める。
【００４６】
ここで、検査対象画像の向きはレンジファインダ１０の撮影の方向によるので、ステップＳ１０の座標変換をしたとしても、テンプレートと同じ向きになるとは限らない。そこで、検査対象画像のテンプレートの全域にわたる走査が終わると検査対象画像を回転させて再び走査を行うようにし、これを繰り返す。ここで、図３のような直交格子パターンの場合、パターンマッチングに際しては２つの直交する方向をテンプレートの直交方向に合わせればよい。このように角度合わせをした場合、あとは検査対象画像がテンプレート１８０度又は±９０度回転している場合を考えればよく、合計４通りのケースについて上述の走査を行えばよい。なお、座標変換の誤差を考慮して、４通りの各場合について、それぞれ微小角度だけ検査対象画像を回転させた場合についても走査を行うようにしてもよい。
【００４７】
また、検査対象画像のサイズは、レンジファインダ１０と基準平面との距離によって変わってくるので、検査対象画像のサイズを拡大又は縮小しながら、上述の走査を繰り返すようにする。この場合、レンジファインダ１０と基準平面との概略の距離が分かっていれば、その概略の距離に対応する検査対象画像のサイズを中心として、所定刻みずつ所定の拡大・縮小倍率の範囲内で、検査対象画像を拡大又は縮小すればよい。
【００４８】
カメラ校正部２６は、このように検査対象画像の向きを変えながら、かつ検査対象画像を拡大・縮小しながら走査を行い、その中で検査対象画像とテンプレートとの相関が最も高くなるときの検査対象画像の位置（テンプレート上での位置）と回転角度（すなわち、ステップＳ１０の座標変換後の回転角度）とを求める。ワールド座標系の原点と特定の１座標軸の方向をテンプレートに対して予め決めておけば、パターンマッチングで求められた最も相関が高いときの検査対象画像の位置からワールド座標系の原点の位置を、最も相関が高いときの検査対象画像の回転角度からワールド座標系の特定の１座標軸の方向を、それぞれ求めることができる（Ｓ１２）。すなわち、撮像したテクスチャ画像は、ステップＳ１０での座標変換と、その後のステップＳ１１でのパターンマッチングの際の走査の際の平行移動、回転及び拡大・縮小（これは基準平面に対する垂直方向への移動に対応）による座標変換の合成変換により、テンプレートと一致する状態となっている。したがって、テンプレート上で規定される原点Ｏwの位置（０，０，０）と、特定の１座標軸の方向をその合成変換の逆変換により座標変換することで、カメラ座標系での原点Ｏwと特定の１座標軸の方向を求めることができる。
【００４９】
このように、ステップＳ１２でワールド座標系の原点及び特定の１軸の方向が求められれば、ステップＳ３で求められたもう１つの軸の方向と組み合わせることで、上述と同様の処理でカメラ座標系からワールド座標系への座標変換を求めることができる。
【００５０】
以上では、隣り合う直線間の間隔がランダムな直交格子パターンを用いたが、基準パターンの一部しか撮影できない場合にも対応できる基準パターンとして、これに限らず様々なものを用いることができる。すなわち、基準パターンとしては、そのどの部分をとっても、回転させても平行移動させても他の部分と一致しないようなパターンであれば、どのようなものを用いてもよい。
【００５１】
＜２つの基準平面を用いる手法＞
次に、２つの基準平面を用いる校正手法について説明する。
【００５２】
既に図４を参照して、互いに直交する２つの基準平面から、ワールド座標系の２つの座標軸の方向を求めることができることについて説明した。後は、ワールド座標系の原点の位置を求めることができれば、カメラ座標系からワールド座標系への座標変換を求めることができる。
【００５３】
原点の位置を求めるためには、２つの基準平面の少なくとも一方に、原点の位置を示す基準パターンを示すようにすればよい。図９に示す２つの基準平面４０Ａ，４０Ｂには、それぞれ、平行に等間隔で並んだ複数の直線４３と、それら各直線４３の間に配置された識別コード４４とからなる基準パターンが表示される。識別コード４４は、図では２つのドットの白黒の組合せで示しているが、これはあくまで一例に過ぎない。識別コード４４は、その上または下にある直線を識別するためのコードであり、その役割を果たすものであれば、どのようなものを用いてもよい。図示例では、最も上にある直線４３に対する識別コード４４は基準平面４０Ａと４０Ｂとで異なるのに対し、その下の各直線に対応する識別コード４４は２つの基準平面同士で同じものとなっているが、これは一例に過ぎない。識別コード４４のビット数（例えばドットの数）を増やして、２つの基準平面４０Ａ及び４０Ｂの中で各直線４３を一意に識別できる識別コード４４を付すようにしてもよい。
【００５４】
例えば、ワールド座標系の原点を、２つの基準平面４０Ａと４０Ｂとの交線上の特定の位置に定めれば、原点と各直線４３との距離（すなわち直線４３のＹw座標）が決まる。この原点と各直線４３との距離の情報をカメラ校正部２６に登録しておけば、テクスチャ画像から直線４３を抽出し、識別コード４４からその直線がどの直線かを特定することで、２平面４０Ａと４０Ｂの交線上で、その直線とその交線との交点からその距離にある点を原点として求めることができる。
【００５５】
なお、直線４３の近傍の識別コードから、その直線４３が一意に特定できれば、その直線が属する基準平面が基準平面４０Ａ及び４０Ｂのうちのいずれであるかを判別することもできる。したがって、例えば基準平面４０Ａの法線方向をＸw軸方向とし、基準平面４０Ｂの法線方向をＺw軸方向とするなどと予め定めておけば、各基準平面の法線方向からワールド座標系の所定の２つの座標軸の方向を一意に決定することができる。このような基準平面の識別は、例えば、レンジファインダ１０を上下逆向きに設置した場合などに有効である。
【００５６】
以上の処理は、テクスチャ画像の中から１つの識別コード４４と、それに隣接する直線４３が読み取ることができれば、実行することができる。
【００５７】
この場合のカメラ校正部２６の処理手順は図１０に示すようなものとなる。この手順では、まずレンジファインダ１０と２つの基準平面４０Ａ及び４０Ｂを含む基準体をセットし、レンジファインダ１０で計測を行うことで三次元形状情報とテクスチャ画像を取得する（Ｓ１）。カメラ校正部２６は、得られたテクスチャ画像を表示し、その中で各基準平面４０Ａ及び４０Ｂの範囲をユーザに指定させる（Ｓ２）。そして、指定された範囲ごとに、その中の各点の三次元位置から、上述の回帰法により、各基準平面４０Ａ及び４０Ｂの平面の方程式を推定する（Ｓ２０）。
【００５８】
また、カメラ校正部２６は、テクスチャ画像に含まれる基準パターンを抽出し（Ｓ２１）、この基準パターンに基づき、上述のようにしてワールド座標系の原点及び３つの座標軸の方向を求める（Ｓ２２）。すなわち、基準平面４０Ａ及び４０Ｂの方程式はそれぞれステップＳ２０で求められているのでそれら両平面の交線は決定でき、テクスチャ画像中の基準パターンとその交線から、原点Ｏwのカメラ座標系での座標が推定できる。また、テクスチャ画像中の基準パターンに基づき、読み取った各基準平面がそれぞれ２つの基準平面のいずれであるかが判定できるので、各基準平面の法線方向をそれぞれワールド座標系のどの座標軸の方向とすればよいかが判定できる。このようにして２つの座標軸の方向が決まれば、もう１つの座標軸の方向も決定される。
【００５９】
このようにしてワールド座標系の原点及び３つの座標軸の方向が求められれば、１つの基準平面を用いる場合と同様にして、カメラ座標系からワールド座標系への座標変換を求めることができる（Ｓ６）。
【００６０】
以上、２つの基準平面の計測結果を用いてカメラの外部パラメータを計算する処理の例を説明した。ここで、図９に例示した基準パターンはあくまで一例に過ぎない。基準パターンとしては、少なくとも２つの基準平面の交線の延びる方向に沿って各部分のパターンが一致しないようなものであればよく、この場合、上述のパターンマッチングの手法を用いることで、撮像された部分が基準パターン全体のどの部分かを特定することができ、これにより原点の位置を推定することができる。この場合パターンマッチングでは、交線近傍のテクスチャ画像を交線方向に対して走査しながら、テンプレートに対して最も相関の高い位置を求めればよい。
【００６１】
また、以上の例では、２つの基準平面の両方がその表面に基準パターンを持っていたが、基準パターンはそれら２つの面のうちの一方のみに設ければ足りる。
【００６２】
また、以上の例では、２つの基準平面の交線上にワールド座標系の原点をとったが、これに限定されるものではない。例えば、上述の１つの基準平面を用いる手法と同様にして、一方の基準平面上にワールド座標系の原点を定めてもよい。
【００６３】
また、以上の例では、互いに直交する２つの基準平面を用いたが、２つの基準平面は交わりさえすればよく、必ずしも直交しなくてよい。直交しない場合でも、２つの基準平面の交線の方向をワールド座標系の所定の座標軸とし、それら２つの基準平面の法線方向と同じ面内にありそれら２つの法線方向に対して所定の関係にある方向をワールド座標系のもう一つの所定の座標軸として定めれば（例えば所定の一方の基準平面の法線方向を所定の座標軸方向とするなど）、ワールド座標系の３つの座標軸の方向を決定することができる。
【００６４】
＜３つの基準平面を用いる手法＞
３つの直交する基準平面を用いる場合は、テクスチャ画像は必要ない。この場合、図１１に示すように、まずレンジファインダ１０と３つの基準平面を含む基準体とをセットし、レンジファインダ１０で計測を行うことで、３つの基準平面の三次元形状情報とテクスチャ画像を取得する（Ｓ１）。カメラ校正部２６は、得られたテクスチャ画像を表示し、その中で各基準平面の範囲をユーザに指定させる（Ｓ２）。そして、指定された範囲ごとに、その中の各点の三次元位置から、上述の回帰法により、各基準平面の平面の方程式を推定する（Ｓ３０）。３つの基準平面の方程式から、ワールド座標系における３つの座標軸の方向が決定できる（Ｓ３１）。また、３つの基準平面の方程式からそれら３つの面の交点の三次元座標を求めることができる。この交点をワールド座標系の原点とすれば、ワールド座標系の原点及び各座標軸の方向が求められたことになる（Ｓ３２）。これらの情報から、上述と同様の処理により、カメラ座標系からワールド座標系への座標変換を求めることができる（Ｓ６）。
【００６５】
なお、３つの基準平面が互いに直交しなくても、それら３つの基準平面の法線ベクトルからワールド座標系の各座標軸の方向を定めることは可能であり、またそれら３つの面の交点を原点として求めることも可能である。
【００６６】
＜複数のレンジファインダの校正＞
以上に説明した各手法では、複数のレンジファインダ１０により同じ基準平面を計測することができれば、それら複数のレンジファインダ１０のカメラ座標系を共通のワールド座標系に合わせることができる。１つの基準平面を用いる手法の場合、その基準平面を周囲の３６０度どの方向から見ても、共通の基準平面を計測することができるので、問題はない。
【００６７】
これに対し、２つの基準平面を用いる場合はそのようにはいかない。例えば、２つの基準平面を屏風のように床に立てた場合、それら２つの基準平面が挟む角度内の方向から複数のレンジファインダ１０が計測を行う場合には、それら複数のレンジファインダ１０を共通のワールド座標系に合わせるように校正できる。それに対し、それら２つの基準平面の挟む角度の外側から計測する位置にレンジファインダ１０がある場合、このレンジファインダ１０はその２つの基準平面を計測することができないので、このままではその角度内のレンジファインダに合わせて校正することができない。例えば、対象物をその全周囲の様々な方向から計測し、それらの計測結果を合成する場合、２つの基準平面だけでは、その死角になる方向に位置するレンジファインダの校正はできない。そこで、以下では、例えば対象物の周囲３６０度の広い方向にわたって配置されたレンジファインダを、上述の２つの基準平面を用いる手法により共通のワールド座標系に合わせるための手法の例を説明する。
【００６８】
この手法では、図１２に示すように、基準となる平板５２〜５８を複数組み合わせた基準体を用いる。仮にこの基準体を床面に立てて、垂直上方から見ると、模式的に図１３に示すような構成となる。図１３では、床面に対して垂直上方をワールド座標系のＹw軸方向としている。この構成では、４つの平板のうち隣り合うもの同士のなす角度α、β、γ、δがいずれも１８０度以下であり、レンジファインダがＹw軸の周りのどの位置にあっても、そのレンジファインダがＹw軸の近傍を見る方向に向いていれば、そのレンジファインダは隣り合う基準平板のうちの２つの面（例えば面５２ａと５４ｂ）を視野に収めることになる。基準平板の表及び裏の各面には、上述の２つの基準平面を用いる手法と同様の基準パターンが形成されており、レンジファインダは、読み取った基準パターンからそれが基準平板５２〜５８の内のどの面かが識別できるとともに、ワールド座標系の原点の位置が特定できるようになっている。カメラ校正部２６には、各基準平板の面同士がなす角の情報を登録しておく。ここで、例えば、特定の基準平板５２の面５２ａの法線方向をワールド座標系のＸw軸方向と決めておけば、例えば面５４ａと５６ｂを計測したレンジファインダの校正の際、カメラ校正部２６は、テクスチャ画像の基準パターンからそれら各面を識別し、その面と面５２ａとのなす角から、Ｘw軸方向を特定することができる。レンジファインダをＹw軸の周りの広い範囲にわたって配置しても、このようにして、それら各レンジファインダを共通のワールド座標系に合わせて校正できる。
【００６９】
以上説明したように本実施形態によれば、基準平面の三次元計測により得られる多数の点の三次元位置情報を用いることで、ワールド座標系の座標軸方向を高精度に求めることができるので、従来よりも高精度でカメラ外部パラメータの校正ができる。
【００７０】
以上に説明した三次元形状計算装置２０、特にカメラ校正部２６は、例えば、汎用のコンピュータにて上述の各部の機能又は処理内容を記述したプログラムを実行することにより実現される。コンピュータは、ハードウエアとして、例えばＣＰＵ（中央演算装置）、一次記憶、各種Ｉ／Ｏ（入出力）インタフェースなどがバスを介して相互に接続された構成を有する。そのバスに対し、Ｉ／Ｏインタフェースを介して、ハードディスク装置などの固定二次記憶や、ＣＤ又はＤＶＤ、フラッシュメモリなどの可搬型の不揮発性記録媒体を取り扱うドライブが接続される。上述の実施形態の装置の各部の処理内容が記述されたプログラムが、可搬型の記録媒体又はネットワークを経由して固定二次記憶に保存され、コンピュータにインストールされる。そして、インストールされたプログラムが一次記憶に読み出され、ＣＰＵで実行されることにより、上述の実施形態の装置が実現される。
【００７１】
なお、カメラ校正部２６の処理はその大部分が画像処理なので、このようにその一部又は全ての処理機能をＡＳＩＣ(Application Specific Integrated Circuit)等のハードウエア回路や、デジタル・シグナル・プロセッサなどとして構成することも可能である。
【図面の簡単な説明】
【００７２】
【図１】三次元形状計測システムの構成例を示す図である。
【図２】カメラ座標系とワールド座標系との関係を示す図である。
【図３】基準平面を用いた外部パラメータ校正を説明するための図である。
【図４】２つの基準平面の組み合わせからなる基準体を説明するための図である。
【図５】３つの基準平面の組み合わせからなる基準体を説明するための図である。
【図６】１つの基準平面を用いた外部パラメータ校正の手順の一例を示すフローチャートである。
【図７】１つの基準平面を用いる方式で用いる基準パターンの別の一例を示す図である。
【図８】１つの基準平面を用いた外部パラメータ校正の手順の別の例を示すフローチャートである。
【図９】２つの基準平面に示される基準パターンの例を説明するための図である。
【図１０】２つの基準平面を用いた外部パラメータ校正の手順の別の例を示すフローチャートである。
【図１１】３つの基準平面を用いた外部パラメータ校正の手順の別の例を示すフローチャートである。
【図１２】様々な方向から対象物を計測する場合のレンジファインダ群の校正に用いる基準平板群を模式的に示す斜視図である。
【図１３】様々な方向から対象物を計測する場合のレンジファインダ群の校正に用いる基準平板群の位置関係を模式的に示す図である。
【符号の説明】
【００７３】
１０，１０Ａ，１０Ｂ  レンジファインダ、１２Ａ，１２Ｂ  投光部、１４Ａ，１４Ｂ  カメラ部、２０  三次元形状計算装置、２２  座標変換部、２４  合成部、２６  カメラ校正部、４０  基準平面。
【図１】
2007256091.tif 000006
【図２】
2007256091.tif 000007
【図６】
2007256091.tif 000008
【図８】
2007256091.tif 000009
【図９】
2007256091.tif 000010
【図１０】
2007256091.tif 000011
【図１１】
2007256091.tif 000012
【図１２】
2007256091.tif 000013
【図１３】
2007256091.tif 000014
【図３】
2007256091.tif 000015
【図４】
2007256091.tif 000016
【図５】
2007256091.tif 000017
【図７】
2007256091.tif 000018