(57)【特許請求の範囲】
【請求項１】
軌道上の複数の測定位置から被測定物をカメラで撮像することにより、被測定物の３次元形状を測定する３次元形状測定装置におけるカメラパラメータ校正方法において、
複数の平面部を備え、各平面部上にはその平面部上の二次元座標が既知である少なくとも６点以上の参照点が配置されている校正治具を、軌道の内側に配置する第１ステップ、
軌道上の複数の測定位置において、校正治具の各平面部の参照点の画像をカメラによって取得する第２ステップ、
取得した参照点の画像および校正治具の平面部上の参照点の２次元座標値に基づいて、カメラ内部パラメータおよびレンズ歪係数を推定する第３ステップ、
軌道上の複数の測定位置のうち、校正治具の１平面部上の全ての参照点を含む画像が取得された測定位置毎に、その測定位置で取得した参照点の画像、第３ステップによって推定されたカメラ内部パラメータおよびレンズ歪係数、校正治具の各平面部上の参照点の２次元座標値ならびにワールド座標系から校正治具の各平面部への回転行列および並進ベクトルに基づいて、カメラの外部パラメータを推定する第４ステップ、ならびに
軌道上の複数の測定位置のうち、１平面部上の全ての参照点を含む画像が取得できなかった測定位置毎に、軌道上の複数の測定位置のうち、１平面部上の全ての参照点を含む画像が取得された測定位置に対して推定されたカメラの外部パラメータを線形補間することにより、カメラの外部パラメータを推定する第５ステップ、
を備えていることを特徴とする３次元形状測定装置におけるカメラパラメータ校正方法。
【請求項２】
校正治具は、軌道が直線から曲線および曲線から直線へと変化する部分において、カメラから１つの平面部上に配置された参照点が全て観察できるように、配されていることを特徴とする請求項１に記載の３次元形状測定装置におけるカメラパラメータ校正方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、軌道上の複数の測定位置から被測定物をカメラで撮像することにより、被測定物の３次元形状を測定する３次元形状測定装置におけるカメラパラメータ校正方法に関する。
【０００２】
【従来の技術】
従来から、スポット光またはスリット光を被測定物に照射し、被測定物の表面に観察される光像の位置からその形状を復元する能動ステレオ型の形状測定装置が知られている。この能動ステレオ型の形状測定装置としては、測定台上に載置された被測定物の周囲からスリット光を回転ミラーによって走査させるものや、回転ステージを使用して、被測定物を３６０度の全周囲から測定するものが開発されている。しかしながら、被測定物が複雑な形状である場合には、回転ステージを用いても観察できない領域が存在するため、被測定物全体の形状を測定できない。
【０００３】
そこで、本願出願人は、被測定物の形状が複雑であっても、適切に測定を行うことができる形状測定装置を開発した（例えば、特開２００１−４１７２３号公報参照）。本出願人が既に開発している形状測定装置（以下、従来装置という）について説明する。
【０００４】
〔１〕形状測定装置の説明
【０００５】
図１は、形状測定装置の概略構成を示している。
【０００６】
測定台２０１には、楕円形状のガイドレール（軌道）２０４が固定されており、そのガイドレール２０４で囲まれる領域に被測定物としての足１００が載せられている。また、台２０１には、台２０１に対して脱着可能な支柱２０２が取り付けられており、その上部には、水平バー２０３が取り付けられている。
【０００７】
形状測定装置は、測定者によってガイドレール２０４上を移動せしめられる測定ヘッド１０と、水平バー２０３の両端部に取り付けられたステレオカメラ２１、２２と、それらの制御、各種演算等を行うパーソナルコンピュータからなる制御装置３０とを備えている。各ステレオカメラ２１、２２の撮像レンズには、図２に示す測定ヘッドマーカ１４が放つ光の周波数帯を選択的に透過するバンドパスフィルタ２３が取り付けられている。
【０００８】
図２は、測定ヘッド１０の概略構成を示している。
【０００９】
測定ヘッド１０は、直方体状で前方開口のケーシング１１と、ケーシング１１内に収納された１台のＣＣＤカメラ１２及びスリット光源１３と、ケーシング１１の上面に設けられた６つのＬＥＤ光源１４ａ〜１４ｆからなる測定ヘッドマーカ１４とを備えている。スリット光源１３としては、半導体レーザが用いられている。
【００１０】
測定ヘッドマーカ１４を構成する６つのＬＥＤ光源１４ａ〜１４ｆは、測定ヘッド１０の方向を特定するために、点対称な配置とせず、測定ヘッド１０の中心線に対し線対称な配置となっている。ここでは、ケーシング１１の上面にＬＥＤ光源１１ｂ、１１ｃ、１１ｄ、１１ｅ、１１ｆの５点が長方形をなすように配置され、それら５点の重心にＬＥＤ光源１１ａが配置される。
【００１１】
なお、３次元空間中での測定ヘッド１０の位置及び方向を測定するためには、測定ヘッドマーカとして少なくとも３個のＬＥＤ光源があれば十分であるが、４個以上のＬＥＤ光源を用いることにより、測定ヘッド１０の位置及び方向の測定精度が最小２乗的に向上する。
【００１２】
測定ヘッド１０は、図示しない支持機構によって、ガイドレール２０４に沿って移動可能に取り付けられている。また、測定ヘッド１０は、ガイドレール２０４上における所定位置を基準とした測定ヘッド１０の位置を検出するためのエンコーダ１６を備えている。エンコーダ１６の出力は、制御装置３０に入力される。
【００１３】
〔２〕形状測定装置の測定原理の説明
【００１４】
図３は、形状測定装置の測定原理を示している。
【００１５】
測定者によってガイドレール２０４上を移動せしめられる測定ヘッド１０を用いてある測定点Ａの座標を測定する。測定された座標を測定ヘッド中心の座標系（以下、カメラ座標系という）における座標（ＸC ，ＹC ，ＺC ）で表す。この座標系は、測定ヘッド１０の移動とともに移動する座標系である。
【００１６】
一方、被測定物１００の形状は、固定した座標系で表され、この座標系をワールド座標と呼ぶ。測定ヘッド１０によって測定された測定点のワールド座標系における座標を（ＸW ，ＹW ，ＺW ）とする。被測定物１００の形状はワールド座標系で記述する必要があるため、測定ヘッド１０によって測定された測定点Ａの測定ヘッド中心の座標系における座標（ＸC ，ＹC ，ＺC ）を、ワールド座標系に変換する。この変換は、測定ヘッド１０の移動を表す回転行列＊Ｒと並進ベクトル＊ｔとを用いて、次式（１）に基づいて行われる。なお、＊Ａにおける記号＊は、Ａがベクトルであることを表す記号として用いられている。
【００１７】
【数１】
0003685772.tif 000002
【００１８】
したがって、ワールド座標系における測定ヘッド１０の位置及び方向を、回転行列＊Ｒと並進ベクトル＊ｔとして求めることで、測定ヘッド中心の座標系における座標（ＸC ，ＹC ，ＺC ）を、ワールド座標系の座標（ＸW ，ＹW ，ＺW ）に変換することができる。
【００１９】
〔３〕形状測定装置による形状測定処理手順の説明
【００２０】
この形状測定装置による形状測定は、次のような処理手順によって実行される。
【００２１】
まず、実際の形状測定を行う前に、事前処理を行う。
【００２２】
（１）第１ステップ（事前処理）：ワールド座標系における測定ヘッド１０の各測定位置に関する情報を、測定ヘッド１０の各測定位置におけるエンコーダ１６の出力値と対応付けて、制御装置３０に搭載されたメモリ（図示省略）に格納する。
【００２３】
事前処理の後に以下の第２ステップおよび第３ステップからなる形状測定処理を行なう。形状測定処理は、ステレオカメラ２１、２２を支持する支柱２０２を測定台２０１から取り外して行なうことができる。
【００２４】
（２）第２ステップ：ステレオカメラ２１、２２を支持する支柱２０２を測定台２０１から取り外した後、測定ヘッド１０を用いて、カメラ座標系における被測定物１００上の測定点の座標を求める。
【００２５】
（３）第３ステップ：ワールド座標系における測定ヘッド１０の位置に関する情報に基づいて、カメラ座標系における被測定物上の測定点の座標を、ワールド座標系における座標に変換する。
【００２６】
以下、これら各ステップについて説明する。
【００２７】
〔４〕第１ステップの説明
【００２８】
図４は、第１ステップの処理手順を説明するフローチャートである。
【００２９】
まず、測定ヘッド１０をガイドレール２０４の基準位置に配置して（ステップ１）、その位置におけるエンコーダ１６の出力値を制御装置３０のメモリに格納する（ステップ２）。
【００３０】
次に、測定ヘッド１０に設けられたマーカ１４のワールド座標系における座標を、ステレオカメラ２１、２２によって測定する。この位置測定方法は、ステレオ法としてよく知られているため、その説明を省略する（ステップ３）。
【００３１】
次に、マーカ１４を構成する各ＬＥＤ光源１４ａ〜１４ｆのカメラ座標系の座標をそれぞれ（ＸCi，ＹCi，ＺCi）とし、また、ステレオカメラ２１、２２によって測定された各ＬＥＤ光源１４ａ〜１４ｆのワールド座標系における座標をそれぞれ（ＸWi，ＹWi，ＺWi）とする。但し、ｉは、１、２…６である。各ＬＥＤ光源１４ａ〜１４ｆのカメラ座標系での座標（ＸCi，ＹCi，ＺCi）は、既知である。
【００３２】
測定ヘッド１０の移動を表す回転行列＊Ｒと並進ベクトル＊ｔを、次式（２）を満足する行列＊Ｒとベクトル＊ｔとして求める（ステップ４）。そして、求めた行列＊Ｒとベクトル＊ｔとを、先にメモリに格納しておいたエンコーダ１６の出力値と対応付けてメモリに格納する（ステップ５）。
【００３３】
【数２】
0003685772.tif 000003
【００３４】
そして、測定ヘッド１０をガイドレール２０４に沿って移動させ、全ての測定位置について上述したステップ２〜５の処理を繰り返す（ステップ６、７）。これにより、エンコーダ１６の出力値とその位置における回転行列Ｒ及び並進ベクトルｔを対応付けたテーブルデータが生成され、制御装置３０のメモリに格納される。
【００３５】
〔５〕第２ステップの説明
【００３６】
図５は測定ヘッド１０による測定点の位置測定方法を示している。
【００３７】
図５に示すように、カメラ座標系とは、ＣＣＤカメラ１２の光学中心を原点とし、光軸方向をＺC 軸、ＣＣＤカメラ１２の水平方向をＸC 軸、ＣＣＤカメラ１２の垂直方向をＹC 軸とする座標系である。ＣＣＤカメラ１２の画像面Ｓは、原点から焦点距離ｆの位置に存在する。つまり、画像面Ｓは、ＸC −ＹC 平面に平行でかつＺC ＝ｆである平面である。
【００３８】
測定ヘッド１０による位置計測方法自体は、光切断法と呼ばれる公知の測定方法である。被測定物１００の表面上におけるスリット光源１３からのスリット光が照射されている線上の所定の点を測定点Ａとする。
【００３９】
この測定点Ａのカメラ座標系での座標を（ＸC ，ＹC ，ＺC ）とし、画像面Ｓ上での測定点Ａに対応する観察点Ａ´の座標を（Ｘs ，Ｙs ，ｆ）とし、スリット光を表す平面の方程式をＡL Ｘc ＋ＢL Ｙc ＋ＣL Ｚc ＋ＤL ＝０とする。観察点Ａ´の座標（ＸS ，ＹS ，ｆ）におけるｆは、ＣＣＤカメラ１２の焦点距離として既知であり、（ＸS ，ＹS ）は画像面で観察されるスリット光の画素位置から求められる。
【００４０】
スリット光を表す平面の方程式は測定ヘッド１０の校正によって求められている。したがって、ＸC ，ＹC ，ＺC ，αを未知数とする次式（３）で表される連立方程式を解くことにより、（ＸC ，ＹC ，ＺC ）が求められる。
【００４１】
【数３】
0003685772.tif 000004
【００４２】
この処理は、ＣＣＤカメラ１２の出力に基づいて、制御装置３０によって行われる。
【００４３】
〔６〕第３ステップの説明
【００４４】
第３ステップでは、まず、エンコーダ１６の出力に基づいて、制御装置３０のメモリから対応する回転行列＊Ｒと並進ベクトル＊ｔとが読み出される。
【００４５】
次に、得られた回転行列＊Ｒと並進ベクトル＊ｔとに基づいて、第２ステップで求めたカメラ座標系における足１００上の測定点の座標（ＸC ，ＹC ，ＺC ）を、ワールド座標系の座標（ＸW ，ＹW ，ＺW ）に変換する。
【００４６】
そして、測定ヘッド１０をガイドレール２０４に沿って移動させながら、ガイドレール２０４上における全ての観察位置について、第２ステップ及び第４ステップの処理を繰り返すことにより、その都度得られる測定点のワールド座標系における座標（ＸW ，ＹW ，ＺW ）の集合として、足１００の形状が求められる。
【００４７】
なお、求められた足の３次元形状は、図６に示すように、足の３次元形状に沿った複数の曲線によって制御装置３０のモニタ上に表示される。上記形状測定装置では、足の３次元形状を表す各曲線は、第２ステップによってその曲線に対応するスリット光が検出された際の、当該スリット光の輝度に応じて色を変えてカラー表示される。また、足の３次元形状を表す各曲線の幅は、第２ステップによってその曲線に対応するスリット光が検出された際の、当該スリット光の幅に応じた幅で表示される。
【００４８】
【発明が解決しようとする課題】
上記従来装置においては、測定ヘッド内のカメラの内部パラメータの校正は、図示しない高精度位置決めテーブルを用いて行われていた。また、測定ヘッド内のカメラの外部パラメータ（上記式（１）の＊Ｒ，＊ｔ）の校正は、上述したように、ステレオカメラ２１、２２を用いて行われていた。
【００４９】
したがって、高精度位置決めテーブルが設置されている場所でしか、カメラの内部パラメータを校正することができない。また、カメラの外部パラメータを校正するためにはステレオカメラ２１、２２が必要である。
【００５０】
この発明は、カメラの外部パラメータの校正が容易となる３次元形状計測装置のカメラパラメータ校正方法を提供することを目的とする。
【００５１】
また、この発明は、カメラの外部パラメータの他、カメラの内部パラメータおよびレンズ歪係数の校正が容易となる３次元形状計測装置のカメラパラメータ校正方法を提供することを目的とする。
【００５２】
【課題を解決するための手段】
この発明は、軌道上の複数の測定位置から被測定物をカメラで撮像することにより、被測定物の３次元形状を測定する３次元形状測定装置におけるカメラパラメータ校正方法において、複数の平面部を備え、各平面部上にはその平面部上の二次元座標が既知である少なくとも６点以上の参照点が配置されている校正治具を、軌道の内側に配置する第１ステップ、軌道上の複数の測定位置において、校正治具の各平面部の参照点の画像をカメラによって取得する第２ステップ、取得した参照点の画像および校正治具の平面部上の参照点の２次元座標値に基づいて、カメラ内部パラメータおよびレンズ歪係数を推定する第３ステップ、軌道上の複数の測定位置のうち、校正治具の１平面部上の全ての参照点を含む画像が取得された測定位置毎に、その測定位置で取得した参照点の画像、第３ステップによって推定されたカメラ内部パラメータおよびレンズ歪係数、校正治具の各平面部上の参照点の２次元座標値ならびにワールド座標系から校正治具の各平面部への回転行列および並進ベクトルに基づいて、カメラの外部パラメータ（カメラの位置および姿勢）を推定する第４ステップ、ならびに軌道上の複数の測定位置のうち、１平面部上の全ての参照点を含む画像が取得できなかった測定位置毎に、軌道上の複数の測定位置のうち、１平面部上の全ての参照点を含む画像が取得された測定位置に対して推定されたカメラの外部パラメータを線形補間することにより、カメラの外部パラメータを推定する第５ステップを備えていることを特徴とする。
【００５５】
校正治具は、軌道が直線から曲線および曲線から直線へと変化する部分において、カメラから１つの平面部上に配置された参照点が全て観察できるように、配される。
【００５６】
【発明の実施の形態】
【００５７】
〔１〕形状測定装置の概略構成の説明
図７は、形状測定装置の概略構成を示している。図７において、図１と対応するものには同じ符号を付してある。
【００５８】
図７の形状測定装置では、支柱２０２、水平バー２０３およびステレオカメラ２１、２２は、不要である。また、測定ヘッド１０は、ケーシング１１と、ケーシング１１内に収納された１台のＣＣＤカメラ１２およびスリット光源１３を備えているが、ＬＥＤ光源１４ａ〜１４ｆは設けられていない。
【００５９】
なお、この実施の形態では、測定ヘッド１０は図示しないステッピングモータによってレール２０４上を移動せしめられるようになっているものとする。また、ステッピングモータの駆動制御は、制御装置３０によって行われるものとする。
【００６０】
従来装置における形状測定処理と、本実施の形態による形状測定装置による形状測定処理とは、図４に示された第１ステップ（事前処理）のみが異なっており、第２ステップ以降の処理は同じである。
【００６１】
〔２〕校正ボックスの説明
【００６２】
本実施の形態では、事前処理において校正ボックス（校正治具）が用いられるので、校正ボックスについて説明する。
【００６３】
図８および図９は、校正ボックスを示している。
【００６４】
校正ボックス３００は、平板３１０上に平面から見て横長六角形の筒体３２０が固定されてなる。筒体３２０は、６枚の矩形板（平面部）３２１〜３２６が平面から見て横長六角形となるように連結されてなる。各矩形板３２１〜３２６には、６×６個の参照点（点光源）が格子状に配置されている。点光源としては、ＬＥＤが用いられている。なお、各矩形板３２１〜３２６には、この例では、それぞれ３６個の点光源が配置されているが、１つの矩形板に最低６個の点光源があればよい。
【００６５】
校正ボックス３００は、図９に示すように、楕円状のレール２０４の内側に配置される。この際、レール２０４の直線から曲線および曲線から直線へと変化する部分において、測定ヘッド１０から校正ボックス３００の１つの矩形板上の全ての点光源が観察できるように校正ボックス３００が配置される。
【００６６】
校正ボックス３００の各矩形板３２１〜３２６には、図１０に示すような平面座標系（ＸP ，ＹP ，ＺP ）が設定されており、矩形板上の各点光源の平面座標系（ＸP ，ＹP ，ＺP ）における２次元座標は既知となっている。また、図９に示すように、校正ボックス３００上にワールド座標系（ＸW ，ＹW ，ＺW ）が設定されており、ワールド座標系（ＸW ，ＹW ，ＺW ）から各矩形板３２１〜３２６の平面座標系への回転行列＊Ｒpwi （ｉ＝１，２，…，６）および並進ベクトル＊Ｔpwi が既知となっている。
【００６７】
〔３〕事前処理の全体的な説明
【００６８】
図１１は、事前処理の手順を示している。
【００６９】
まず、レール２０４の全長に対するステッピングモータのパルス数Ｌ[pulse] に対して、画像を抽出する測定位置の数（分割数）Ｎを設定することにより、移動ステップパルス数ΔＰ＝Ｌ／Ｎを算出する（ステップ１１）。また、測定ヘッド１０の移動回数を記憶するための変数ｑを０に設定する。
【００７０】
次に、校正ボックス３００をレール２０４の内側に設置する（ステップ１２）。なお、測定ヘッド１０は、図９に示すように、矩形板３２１に対向する基準位置にあるものとする。
【００７１】
この後に行われるステップ１３以降の処理は、自動的に行われる処理である。測定ヘッド１０内のカメラ１２から画像を入力する（ステップ１３）。入力された画像内に存在する各点光源を抽出する（ステップ１４）。図１２（ａ）〜（ｄ）は、入力画像の例を示している。カメラ１２の画像上の座標系（Ｕ，Ｖ）は、図１２に示す通りである。
【００７２】
抽出した点光源の総数が、１平面上の全点光源数（３６個）以上であるか否かを判別する（ステップ１５）。抽出した点光源の総数が、３６個以上である場合には、抽出点のソート処理を行う（ステップ１６）。抽出点のソート処理とは、各抽出点の画像座標と１平面上の各点光源の２次元座標とを対応付ける処理をいう。この処理の詳細については、後述する。
【００７３】
抽出点のソート処理を行った場合には、抽出点のソートが成功したか否かを判別する（ステップ１７）。抽出点のソートが成功した場合には、図１３に示すように、測定ヘッド１０の現在までの全移動パルス数Ｐと、抽出点の画像座標（ｕ，ｖ）とをパルス数−画像座標値テーブルに記憶した後（ステップ１８）、ステップ１９に移行する。抽出点のソートが失敗した場合には、図１３に示すように、ソート失敗（抽出失敗）をパルス数−画像座標値テーブルに記憶した後、ステップ１９に移行する。
【００７４】
なお、上記ステップ１５において、抽出した点光源の総数が、３６個未満である場合にも、抽出失敗をパルス数−画像座標値テーブルに記憶した後、ステップ１９に移行する。
【００７５】
ステップ１９では、測定ヘッド１０の移動回数を示す変数ｑを１だけインクリメント（＋１）する。そして、ｑがＮに達したか（ｑ≧Ｎ）否かを判定する（ステップ２０）。ｑがＮ未満である場合には、測定ヘッド１０を移動ステップパルス数ΔＰだけ移動させる（ステップ２１）。そして、ステッ１３に戻る。このようにして、Ｎ個の測定位置において、ステップ１３〜ステップ２０の処理を行う。Ｎ個の測定位置において、ステップ１３〜ステップ２０の処理が行われると、ステップ２０においてＹＥＳとなり、ステップ２２に進む。
【００７６】
ステップ２２では、カメラ内部パラメータの推定処理を行う。カメラ内部パラメータの推定処理が終了すると、カメラ外部パラメータの推定処理を行う（ステップ２３）。カメラ外部パラメータの推定処理が終了すると、カメラ外部パラメータの補間処理を行う（ステップ２４）。
【００７７】
以下、ステップ１６、ステップ２２、２３、２４の処理について説明する。
【００７８】
〔４〕  抽出点のソート処理（上記ステップ１６）の説明
【００７９】
ソート処理の大まかな手順は、次の通りである。
【００８０】
▲１▼  画像上でｕ座標の小さい順に、ほぼ直線上に並ぶ６つの候補点を探索する。
▲２▼  ほぼ直線上に並ぶ６つの候補点が見つかれば、その６つの候補点を候補ラインとする。このようにして、候補ラインを探索していく。
▲３▼  候補ラインが６ライン以上見つからなかった場合には、ソート失敗（抽出失敗）とする。
▲４▼  候補ラインが６ライン以上見つかった場合には、各候補ライン上の６つの候補点を、ｖ座標の昇順でソートする。そして、各隣接候補ライン間の間隔が一定値以下の連続した６ラインが存在していればソート成功（抽出成功）とし、各隣接候補ライン間の間隔が一定値以下の連続した６ラインが存在していない場合にはソート失敗（抽出失敗）とする。
【００８１】
図１４は、ソート処理の詳細な手順を示している。
【００８２】
まず、ｕ座標の最も小さい抽出点とその次にｕ座標の小さい抽出点との２点を選択して候補点１，２とするとともに、その２点を結ぶ直線の傾きａを求める（ステップ３１）。入力画像が図１５に示すような画像である場合には、図１５（ａ）に示すように、左上の点が候補点１として選択され、その下側の点が候補点２として選択される。
【００８３】
最後に選択された抽出点の次にｕ座標が小さい抽出点を選択し、選択した抽出点と最終候補点とを結ぶ直線の傾きａ’を求める（ステップ３２）。
【００８４】
傾きａとａ’との差が０．１以下であれば、ステップ３２で選択した抽出点を候補点（最終候補点）として加え、当該抽出点と当該抽出点が候補点として加えられる前の最終候補点とを結ぶ直線との傾きａ’を傾きａとする（ステップ３３）。傾きａとａ’との差が０．１を越えていれば、ステップ３２で選択した抽出点を候補点として加えない。
【００８５】
次に、候補点が６点見つかったか否かを判定する（ステップ３４）。候補点が６点見つかっていない場合には、次に選択すべき抽出点（最後に選択された抽出点の次にｕ座標が小さい点）が存在するか否かを判定する（ステップ３５）。次に選択すべき点が存在する場合には、ステップ３２に戻り、ステップ３２、３３および３４の処理を再度行う。
【００８６】
ステップ３２、３３、３４、３５の処理が繰り返されて行われることにより、候補点が６点見つかった場合には（ステップ３４でＹＥＳ）、それらの６点を候補ラインを構成する候補点であるとして記憶するとともに、抽出点から除く（ステップ３６）。そして、ステップ３８に移行する。入力画像が図１５に示すような画像である場合には、図１５（ａ）に示すように、左端の６点が候補ラインを構成する候補点であるとして記憶される。
【００８７】
上記ステップ３５において、次に選択すべき抽出点が存在しないと判定された場合には、ステップ３１において候補点とされたｕ座標の最も小さい抽出点は、候補ラインを構成しない点であると判定し、その点を抽出点から除く（ステップ３７）。そして、ステップ３８に移行する。
【００８８】
ステップ３８では、残りの抽出点が６点より少ないか否かを判定する。残りの抽出点が６点以上存在する場合には、ステップ１に戻って、同様な処理を行う。
【００８９】
ステップ３８において、残りの抽出点が６点より少ないと判定された場合には、それまでに抽出された候補ライン数が６以上か否かを判定する（ステップ３９）。抽出された候補ライン数が６未満である場合には、ソート結果としてソート失敗（抽出失敗）を記憶する（ステップ４４）。
【００９０】
抽出された候補ライン数が６以上である場合には、それぞれの候補ラインにおいて、６つの候補点をｖ座標の昇順でソートする（ステップ４０）。そして、各候補ラインにおいて、最初と最後の候補点を結ぶ直線を求め、右隣の候補ラインの最初の候補点との距離を候補ライン間の距離として算出する（ステップ４１）。
【００９１】
候補ライン間の距離が一定値以下の候補ラインが、連続して６ライン存在するか否かを判定する（ステップ４２）。候補ライン間の距離が一定値以下の候補ラインが、連続して６ライン存在する場合には、それらの６ライン上の各候補点の座標を、校正ボックス３００の１矩形板上の点光源に対応する画像座標として記憶するとともに、ソート結果としてソート成功（抽出成功）を記憶する（ステップ４３）。
【００９２】
入力画像が図１５に示すような画像である場合には、図１５（ｂ）に示すように、７本の候補ラインが抽出されるが、最も右端の候補ラインは、その左隣の候補ラインとの距離が大きいため、除外され、残りの６つの候補ライン上の抽出点の座標が、校正ボックス３００の１矩形板上の点光源に対応する画像座標として記憶される。
【００９３】
候補ライン間の距離が一定値以下の候補ラインが、連続して６ライン存在しない場合には、ソート結果としてソート失敗（抽出失敗）を記憶する（ステップ４４）。
【００９４】
例えば、入力画像が図１２（ａ）〜（ｄ）である場合には、ソート処理の結果は、次のようになる。図１２（ａ）では、抽出点が３６未満であるので、抽出失敗となる。図１２（ｂ）では、抽出点は３６以上てあるが、候補ライン間の距離が一定値以下の候補ラインが、連続して６ライン存在しないため、ソート失敗（抽出失敗）となる。図１２（ｃ）および図１２（ｄ）の場合は、ソート成功となる。
【００９５】
ソート成功区間（抽出成功区間）は、図１６に黒点を囲む白丸の連続部分で示すように、区間１〜区間７となる。ただし、区間１と区間７とは、同じ矩形板３２１に対応する区間であるので、１つの区間とみなされる。
【００９６】
〔５〕  カメラ内部パラメータの推定処理（図１１のステップ２２）の説明
【００９７】
カメラ内部パラメータの推定処理においては、図１３のパルス数−画像座標値テーブルに基づいて、カメラの内部パラメータ及びレンズ歪み係数の推定が行なわれる。
【００９８】
カメラ内部パラメータの推定では、校正ボックス３００の矩形板３２１〜３２６に対して、カメラの回転移動がある場所で推定を行う必要があるため、２番目の抽出成功区間２（図１６参照）のデータを用いて推定処理が行われる。
【００９９】
カメラ内部パラメータの推定処理の大まかな手順は、次の通りである。以下、行列およびベクトル表記の右上の添字Ｔは転置を表し、添字−Ｔは逆行列の転置を表す。
【０１００】
まず、２番目の抽出成功区間２における全測定位置での抽出点の画像座標値＊ｍ＝[ ｕ  ｖ] T と、校正ボックス３００の矩形板３２２上の全点光源の２次元座標値＊Ｍ＝[ Ｘp Ｙp ] T とを用いて、線形解の算出処理を行うことにより、カメラ内部パラメータと２番目の抽出成功区間２における各測定位置でのカメラ外部パラメータとを求める。そして、最小二乗法により最適化を行うことにより、カメラ内部パラメータとレンズ歪係数とを算出する。なお、線形解法については、Zhang の手法( 文献１参照）を用いた。
【０１０１】
文献１：Zhengyou Zhang, "A Flexible New Technique for Camera Calibration",  Technique Report MSR-TR-98-71, Microsoft Research, Microsoft Corporation.
【０１０２】
〔５−１〕基礎式
ワールド座標上の点＊Ｍ＝[ ＸW   ＹW   ＺW ] T と、カメラ画像座標上の点＊ｍ＝[ ｕ  ｖ] T には、次式（４）に示すような関係式が成り立つ。
【０１０３】
【数４】
0003685772.tif 000005
【０１０４】
〔５−２〕線形解の算出
ワールド座標系として、校正ボックス３００の矩形板３２２上の座標系[ ＸP ＹP   ＺP ] を用いることにする。矩形板３２２上では、ＺP ＝０である。
【０１０５】
矩形板３２２上の点光源の２次元座標と抽出点の画像座標との関係は、上記式（４）において、ＸW ＝ＸP ，ＹW ＝ＹP ，ＺW ＝ＺP ＝０となるため、回転行列＊Ｒの列ベクトル＊Ｒ[ ＊ｒ1   ＊ｒ2   ＊ｒ3 ] を用いると、次式（５）のようになる。
【０１０６】
【数５】
0003685772.tif 000006
【０１０７】
上記式（５）において、行列＊Ｈは、ホモグラフィー行列であり、次式（６）で表される。
【０１０８】
【数６】
0003685772.tif 000007
【０１０９】
また、このとき、記号〜が上側に付けられた＊Ｍは、次式（７）で表される。
【０１１０】
【数７】
0003685772.tif 000008
【０１１１】
次式（８）は、ホモグラフィー行列＊Ｈの行ベクトルを表している。
【０１１２】
【数８】
0003685772.tif 000009
【０１１３】
上記式（５）において、ホモグラフィー行列＊Ｈの行ベクトルを用いると、上記式（５）は次式（９）のように変形できる。
【０１１４】
【数９】
0003685772.tif 000010
【０１１５】
ここで、１平面上の点光源数をｍとしたとき、それぞれの点光源について、上記式（９）が得られ、このとき、上記式（９）は、２ｍ行×９列の行列＊Ｌと、次式（１０）で表されるベクトル＊ｘとを用いて、次式（１１）のように表される。
【０１１６】
【数１０】
0003685772.tif 000011
【０１１７】
【数１１】
0003685772.tif 000012
【０１１８】
この解ベクトル＊ｘは、＊ＬT ＊Ｌの最小固有値に対応する固有ベクトルとして算出でき、ホモグラフィー行列＊Ｈを求めることができる。２番目の抽出成功区間２での全ての取得画像について、上記式（１１）を作成し、それぞれの取得画像に対してホモグラフィー行列＊Ｈを算出する。
【０１１９】
次に、ホモグラフィー行列＊Ｈの列ベクトル＊Ｈ＝[ ＊ｈ1 ＊ｈ2   ＊ｈ3 ] と、次式（１２）で表される回転行列＊Ｒの一般的な性質と、上記式（６）とから、次式（１３）が得られる。
【０１２０】
【数１２】
0003685772.tif 000013
【０１２１】
【数１３】
0003685772.tif 000014
【０１２２】
ここで、対角行列＊Ｂを次式（１４）に示すように定義する。
【０１２３】
【数１４】
0003685772.tif 000015
【０１２４】
また、対角行列＊Ｂの６つの要素Ｂ11，Ｂ12，Ｂ22，Ｂ13，Ｂ23，Ｂ33を用いた列ベクトルを次式（１５）に示すように定義する。
【０１２５】
【数１５】
0003685772.tif 000016
【０１２６】
上記式（１３）、（１４）、（１５）から、次式（１６）の関係式が得られる。
【０１２７】
【数１６】
0003685772.tif 000017
【０１２８】
したがって、上記式（１３）は、上記式（１６）を用いて、次式（１７）のように表される。
【０１２９】
【数１７】
0003685772.tif 000018
【０１３０】
ｎ枚の画像が観察されたとき、それぞれの画像についてのホモグラフィー行列＊Ｈを用いて上式（１７）が得られ、このとき上記式（１７）は２ｎ行×６列の行列＊Ｖを用いて、次式（１８）のように表される。
【０１３１】
【数１８】
0003685772.tif 000019
【０１３２】
この解ベクトル＊ｂは、＊ＶT ＊Ｖの最小固有値に対応する固有ベクトルとして算出できる。解ベクトル＊ｂから、カメラ内部パラメータは、次式（１９）により、求められる。
【０１３３】
【数１９】
0003685772.tif 000020
【０１３４】
さらに、上記式（４）でのカメラ内部パラメータの定義により、Ｐy を任意の値として、θ, ｆ，Ｐx を次式（２０）から求めることができる。
【０１３５】
【数２０】
0003685772.tif 000021
【０１３６】
また、カメラ内部パラメータが算出されると、２番目の抽出成功区間２の各取得画像（各測定位置）毎に、カメラ外部パラメータは、次式（２１）により算出される。
【０１３７】
【数２１】
0003685772.tif 000022
【０１３８】
ここで得られた回転行列＊Ｒは計算誤差等により一般的な回転行列の直交性を満足していない。そこで、次式（２２）のように、特異値分解定理を用いることで、一般的な回転行列＊Ｒ’を求めることができる。
【０１３９】
【数２２】
0003685772.tif 000023
【０１４０】
ここで、＊Ｕ，＊Ｖはユニタリ行列であり、＊Ｓは負でない対角要素を降順する方向に持つ対角行列である。
【０１４１】
以上により、カメラ内部パラメータ及び２番目の抽出成功区間２でのカメラ外部パラメータの線形解が算出された。
【０１４２】
〔５−３〕最適化
次に、正規化画像座標での誤差を最小にするように、次式（２３）で示す最小二乗法によりカメラ内部パラメータ及びレンズ歪係数の最適化を行う。ここで、初期値として、上記で求めた線形解を用い、レンズ歪係数の初期値はｋ1 ＝ｋ2 ＝０とする。
【０１４３】
【数２３】
0003685772.tif 000024
【０１４４】
ここで、添字ｉは２番目の抽出成功区間２での画像の番号を示し、添字ｊは矩形板３２２上の点光源の番号を示している。また、＊Ｍu は画像座標から算出される正規化画像座標であり、ハット（∧）付きの＊Ｍu （∧＊Ｍu ）は矩形板３２２上の点光源の二次元座標から算出される正規化画像座標である。
【０１４５】
画像座標からの正規化画像座標＊Ｍu の算出方法および点光源の二次元座標からの正規化画像座標∧＊Ｍu の算出方法について説明する。
【０１４６】
（ａ）  画像座標からの正規化画像座標＊Ｍu の算出方法
まず、次式（２４）のように、取得した各抽出点の画像座標ｕ，ｖ（単位：pixel ）を、画像中心を原点とする座標Ｘd ，Ｙd （単位：ｍｍ）へと変換する。
【０１４７】
【数２４】
0003685772.tif 000025
【０１４８】
次に、二次の項までのレンズ歪係数ｋ1 ，ｋ2 を用いて、次式（２５）によって、レンズ歪の無い正規化画像座標＊Ｍu ＝[ Ｘu   Ｙu ] T へと変換する。
【０１４９】
【数２５】
0003685772.tif 000026
【０１５０】
（ｂ）  点光源の二次元座標からの正規化画像座標∧＊Ｍu の算出方法
まず、矩形板３２２上の点光源の２次元座標＊Ｍ＝[ Ｘp   Ｙp ] T を、次式（２６）のように、カメラ座標＊Ｍc ＝[ Ｘc   Ｙc   Ｘc ] T へと変換する。
【０１５１】
【数２６】
0003685772.tif 000027
【０１５２】
次に、焦点距離ｆを用いて、次式（２７）によって、正規化画像座標∧＊Ｍu ＝[ ∧Ｘu   ∧Ｙu ] T へと変換する。
【０１５３】
【数２７】
0003685772.tif 000028
【０１５４】
〔６〕  カメラ外部パラメータの推定処理（図１１のステップ２３）の説明
【０１５５】
カメラ外部パラメータの推定処理においては、上記〔５〕によって推定されたカメラ内部パラメータおよびレンズ歪係数を用いて、全抽出成功区間でのカメラ外部パラメータを線形解法により算出する。
【０１５６】
使用されるデータは次の通りである。
・カメラ内部パラメータ：ｕ0 ，ｖ0 ，Ｐx ，Ｐy ，ｆ，θ
・レンズ歪係数：ｋ1 ，ｋ2 
・全抽出成功区間における全抽出点の画像座標値：＊ｍ＝[ ｕ  ｖ] T 
・１平面上の全点光源の２次元座標値：＊Ｍ＝[ Ｘp   Ｙp ] T 
【０１５７】
これらのデータに基づいて、線形解法によって全抽出成功区間でのカメラ外部パラメータ＊Ｒw ，＊Ｔw が推定される。
【０１５８】
全抽出成功区間の各測定位置毎に、カメラ外部パラメータ＊Ｒw ，＊Ｔw が推定されるが、ここでは、任意の１つの測定位置に対するカメラ外部パラメータ＊Ｒw ，＊Ｔw を推定する方法について説明する。
【０１５９】
まず、次式（２８）のように、任意の１つの測定位置で取得された画像中の各抽出点の画像座標ｕ，ｖを、画像中心を原点とする座標Ｘd ，Ｙd へと変換する。
【０１６０】
【数２８】
0003685772.tif 000029
【０１６１】
次に、二次の項までのレンズ歪係数ｋ1 ，ｋ2 を用いて、次式（２９）によって、レンズ歪の無い正規化画像座標へと変換する。
【０１６２】
【数２９】
0003685772.tif 000030
【０１６３】
次式（３０）は、正規化画像座標とカメラ座標との関係式を表している。
【０１６４】
【数３０】
0003685772.tif 000031
【０１６５】
次式（３１）は、カメラ座標とワールド座標（校正ボックスの矩形板の座標）との関係式を表している。
【０１６６】
【数３１】
0003685772.tif 000032
【０１６７】
上記式（３０）と（３１）から、次式（３２）が与えられる。
【０１６８】
【数３２】
0003685772.tif 000033
【０１６９】
ここで、行列＊Ｊを次式（３３）のように定義すると、行列＊Ｊの行ベクトルを用いて、上記式（３２）は次式（３４）のように変形できる。
【０１７０】
【数３３】
0003685772.tif 000034
【０１７１】
【数３４】
0003685772.tif 000035
【０１７２】
ここで、１平面上の点光源数がｍの場合、それぞれの点光源について上記式（３４）が得られ、このとき、２ｍ行×９列の行列＊Ｌと次式（３５）で表されるベクトル＊ｘを用いて、上記式（３４）は次式（３６）のように表現される。
【０１７３】
【数３５】
0003685772.tif 000036
【０１７４】
【数３６】
0003685772.tif 000037
【０１７５】
この解ベクトル＊ｘは、＊ＬT ＊Ｌの最小固有値に対応する固有ベクトルとして算出でき、これにより、行列＊Ｊが求まり、上記式（３３）から、カメラ外部パラメータの＊ｒ1 ，＊ｒ2 ，＊ｔが求まる。
【０１７６】
ここで得られたカメラ外部パラメータは、回転行列の一般的な性質を満たしていないため、次式（３７）により、一般的な回転行列：Ｒ’＝[ ＊ｒ1 ’，＊ｒ2 ’，＊ｒ3 ’] および並進ベクトル＊ｔ’へと変換する。
【０１７７】
【数３７】
0003685772.tif 000038
【０１７８】
さらに、回転行列の直交性を満足させるため、特異値分解定理により、次式（３８）のように変換して、一般的な回転行列＊Ｒ”を求める。
【０１７９】
【数３８】
0003685772.tif 000039
【０１８０】
ここで、＊Ｕ，＊Ｖはユニタリ行列であり、＊Ｓは負でない対角要素を降順する方向に持つ対角行列である。
【０１８１】
以上にようにして、矩形板上での平面座標系（Ｘp   ＹP   ＺP ）からの測定ヘッド１０のカメラ外部パラメータ＊Ｒ”，＊ｔ’が推定された。
【０１８２】
さらに、推定されたカメラ外部パラメータ＊Ｒ”，＊ｔ’を、校正ボックス３００上に設定されたワールド座標系（ＸW   ＹW   ＺW ）での測定ヘッド１０のカメラ外部パラメータに変換する。つまり、図９に示すように、ワールド座標系（ＸW   ＹW   ＺW ）から各矩形板３２１〜３２６の座標系への回転行列＊ＲPWi および並進ベクトル＊ＴPWi を用いて、ワールド座標系（ＸW   ＹW   ＺW ）での測定ヘッド１０のカメラ外部パラメータ＊ＲW ，＊ＴW を算出する。
【０１８３】
＊ＲPWi および＊ＴPWi における添字ｉは平面の番号を表しており、パルス数−画像座標値テーブルの抽出成功区間の順序に基づいて、各抽出成功区間が何番目の平面を参照していたかを判別することができる。
【０１８４】
したがって、各抽出成功区間毎に、それぞれに対応した矩形板の回転行列＊ＲPWi および並進ベクトル＊ＴPWi を用いて、次式（３９）により、ワールド座標系（ＸW   ＹW   ＺW ）での測定ヘッド１０のカメラ外部パラメータ＊ＲW ，＊ＴW を算出することができる。
【０１８５】
【数３９】
0003685772.tif 000040
【０１８６】
〔７〕  カメラ外部パラメータの補間処理（図１１のステップ２４）の説明
【０１８７】
抽出失敗区間では、カメラ外部パラメータは推定されていない。しかし、抽出失敗区間は、図１６に示すように、レール形状の単純なところであるので、抽出失敗区間内の各位置でのカメラ外部パラメータは、前後の抽出成功区間でのパルス数およびカメラ外部パラメータ＊ＲW ，＊ＴW を用いて、直線または円弧の線形補間により推定することができる。
【０１８８】
このようにして、抽出失敗区間内の各位置でのカメラ外部パラメータを推定することにより、図１７に示すような、パルス数−カメラ外部パラメータテーブルが生成される。つまり、事前処理が完了する。
【０１８９】
事前処理が終了すると、校正ボックス３００を台２０１上から除去した後、台２０１上に足を乗せる。そして、レール上の各測定位置で、測定ヘッド１０を用いて足上の測定点のカメラ座標系での座標を求める。そして、得られたカメラ座標系での測定点の座標を、その座標が得られたときの測定ヘッド１０の移動パルス数と、バルス数−カメラ外部パラメータテーブルとを用いて、ワールド座標系に変換する。
【０１９０】
上記実施の形態では、ガイドレールとしては、図９で示すような平面から見て楕円形状のものが用いられているが、図１８に示すような平面から見てＵ形のガイドレール２０４Ａまたは他の形状のレールを用いてもよい。つまり、レール形状としては、どのような形状であってもよい。
【０１９１】
ガイドレールとして、図１８に示すような平面から見てＵ形のレール２０４Ａが用いられた場合には、例えば、図１８および図１９に示すように、Ｕ形のガイドレール２０４Ａに応じた校正ボックス３００Ａを用いて、同様にカメラパラメータを校正することができる。図１９に示す校正ボックス３００Ａは、平板３３０と、平板３３０上に平面から見て略Ｕ形に配置された６枚の矩形板（平面部）３３１〜３３６とから構成されている。各矩形板３３１〜３３６には、６×６個の参照点（点光源）が格子状に配置されている。
【０１９２】
また、上記実施の形態では、校正ボックスに備えられている矩形板（平面部）は６枚であるが、レール形状等によって矩形板の枚数を任意に設定することができる。
【０１９３】
また、上記実施の形態では、カメラ内部パラメータの推定処理時においては、２番目の抽出成功区間２で得られたデータを用いているが、矩形板（平面部）に対してカメラが回転移動している部分での抽出成功区間２、３、５、６のいずれかまたはこれらの複数の区間で得られたデータを用いてもよい。
【０１９４】
また、上記実施の形態では、ステッピングモータによってカメラのレール上の位置を把握しているが、エンコーダを用いてカメラのレール上の位置を把握することも可能である。
【０１９５】
【発明の効果】
この発明によれば、カメラの外部パラメータの校正が容易となる。また、この発明によれば、カメラの外部パラメータの他、カメラの内部パラメータおよびレンズ歪係数の校正が容易となる。
【図面の簡単な説明】
【図１】本出願人が既に開発した形状測定装置（従来装置）の構成を表す概略構成図である。
【図２】図１の形状測定装置における測定ヘッドの概略構成を示す斜視図である。
【図３】図１の形状測定装置における測定原理を説明する説明図である。
【図４】第１ステップにおける処理手順を説明するフローチャートである。
【図５】図２の測定ヘッドを用いて測定点の位置測定を行う測定方法を説明する説明図である。
【図６】第４ステップで得られる足の像を示す説明図である。
【図７】本発明の実施の形態における形状測定装置の構成を表す概略構成図である。
【図８】校正ボックスを示す斜視図である。
【図９】校正ボックスを示す平面図である。
【図１０】校正ボックスの１つの平面に対する平面座標系を示す模式図である。
【図１１】事前処理の手順を示すフローチャートである。
【図１２】入力画像の例を示す模式図である。
【図１３】パルス数−画像座標値テーブルの内容を示す模式図である。
【図１４】抽出点のソート処理手順を示すフローチャートである。
【図１５】ソート処理を説明するための模式図である。
【図１６】抽出成功区間を示す模式図である。
【図１７】事前処理によって最終的に生成されるパルス数−カメラ外部パラメータテーブルを示す模式図である。
【図１８】ガイドレールの変形例および当該レール形状に適した校正ボックスを示す平面図である。
【図１９】図１８のレール形状に適した校正ボックスを示す斜視図である。
【符号の説明】
１０  測定ヘッド
１２  ＣＣＤカメラ
１３  スリット光源
１６  エンコーダ
２０１  測定台
２０４、２０４Ａ  ガイドレール
３００、３００Ａ  校正ボックス
【図１】
0003685772.tif 000041
【図２】
0003685772.tif 000042
【図３】
0003685772.tif 000043
【図４】
0003685772.tif 000044
【図５】
0003685772.tif 000045
【図６】
0003685772.tif 000046
【図７】
0003685772.tif 000047
【図８】
0003685772.tif 000048
【図９】
0003685772.tif 000049
【図１０】
0003685772.tif 000050
【図１１】
0003685772.tif 000051
【図１２】
0003685772.tif 000052
【図１３】
0003685772.tif 000053
【図１４】
0003685772.tif 000054
【図１５】
0003685772.tif 000055
【図１６】
0003685772.tif 000056
【図１７】
0003685772.tif 000057
【図１８】
0003685772.tif 000058
【図１９】
0003685772.tif 000059