JP3685772B2 - 3次元形状測定装置におけるカメラパラメータ校正方法 - Google Patents
3次元形状測定装置におけるカメラパラメータ校正方法 Download PDFInfo
- Publication number
- JP3685772B2 JP3685772B2 JP2002138284A JP2002138284A JP3685772B2 JP 3685772 B2 JP3685772 B2 JP 3685772B2 JP 2002138284 A JP2002138284 A JP 2002138284A JP 2002138284 A JP2002138284 A JP 2002138284A JP 3685772 B2 JP3685772 B2 JP 3685772B2
- Authority
- JP
- Japan
- Prior art keywords
- camera
- measurement
- point
- plane
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Length Measuring Devices By Optical Means (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Description
【発明の属する技術分野】
本発明は、軌道上の複数の測定位置から被測定物をカメラで撮像することにより、被測定物の3次元形状を測定する3次元形状測定装置におけるカメラパラメータ校正方法に関する。
【0002】
【従来の技術】
従来から、スポット光またはスリット光を被測定物に照射し、被測定物の表面に観察される光像の位置からその形状を復元する能動ステレオ型の形状測定装置が知られている。この能動ステレオ型の形状測定装置としては、測定台上に載置された被測定物の周囲からスリット光を回転ミラーによって走査させるものや、回転ステージを使用して、被測定物を360度の全周囲から測定するものが開発されている。しかしながら、被測定物が複雑な形状である場合には、回転ステージを用いても観察できない領域が存在するため、被測定物全体の形状を測定できない。
【0003】
そこで、本願出願人は、被測定物の形状が複雑であっても、適切に測定を行うことができる形状測定装置を開発した(例えば、特開2001−41723号公報参照)。本出願人が既に開発している形状測定装置(以下、従来装置という)について説明する。
【0004】
〔1〕形状測定装置の説明
【0005】
図1は、形状測定装置の概略構成を示している。
【0006】
測定台201には、楕円形状のガイドレール(軌道)204が固定されており、そのガイドレール204で囲まれる領域に被測定物としての足100が載せられている。また、台201には、台201に対して脱着可能な支柱202が取り付けられており、その上部には、水平バー203が取り付けられている。
【0007】
形状測定装置は、測定者によってガイドレール204上を移動せしめられる測定ヘッド10と、水平バー203の両端部に取り付けられたステレオカメラ21、22と、それらの制御、各種演算等を行うパーソナルコンピュータからなる制御装置30とを備えている。各ステレオカメラ21、22の撮像レンズには、図2に示す測定ヘッドマーカ14が放つ光の周波数帯を選択的に透過するバンドパスフィルタ23が取り付けられている。
【0008】
図2は、測定ヘッド10の概略構成を示している。
【0009】
測定ヘッド10は、直方体状で前方開口のケーシング11と、ケーシング11内に収納された1台のCCDカメラ12及びスリット光源13と、ケーシング11の上面に設けられた6つのLED光源14a〜14fからなる測定ヘッドマーカ14とを備えている。スリット光源13としては、半導体レーザが用いられている。
【0010】
測定ヘッドマーカ14を構成する6つのLED光源14a〜14fは、測定ヘッド10の方向を特定するために、点対称な配置とせず、測定ヘッド10の中心線に対し線対称な配置となっている。ここでは、ケーシング11の上面にLED光源11b、11c、11d、11e、11fの5点が長方形をなすように配置され、それら5点の重心にLED光源11aが配置される。
【0011】
なお、3次元空間中での測定ヘッド10の位置及び方向を測定するためには、測定ヘッドマーカとして少なくとも3個のLED光源があれば十分であるが、4個以上のLED光源を用いることにより、測定ヘッド10の位置及び方向の測定精度が最小2乗的に向上する。
【0012】
測定ヘッド10は、図示しない支持機構によって、ガイドレール204に沿って移動可能に取り付けられている。また、測定ヘッド10は、ガイドレール204上における所定位置を基準とした測定ヘッド10の位置を検出するためのエンコーダ16を備えている。エンコーダ16の出力は、制御装置30に入力される。
【0013】
〔2〕形状測定装置の測定原理の説明
【0014】
図3は、形状測定装置の測定原理を示している。
【0015】
測定者によってガイドレール204上を移動せしめられる測定ヘッド10を用いてある測定点Aの座標を測定する。測定された座標を測定ヘッド中心の座標系(以下、カメラ座標系という)における座標(XC ,YC ,ZC )で表す。この座標系は、測定ヘッド10の移動とともに移動する座標系である。
【0016】
一方、被測定物100の形状は、固定した座標系で表され、この座標系をワールド座標と呼ぶ。測定ヘッド10によって測定された測定点のワールド座標系における座標を(XW ,YW ,ZW )とする。被測定物100の形状はワールド座標系で記述する必要があるため、測定ヘッド10によって測定された測定点Aの測定ヘッド中心の座標系における座標(XC ,YC ,ZC )を、ワールド座標系に変換する。この変換は、測定ヘッド10の移動を表す回転行列*Rと並進ベクトル*tとを用いて、次式(1)に基づいて行われる。なお、*Aにおける記号*は、Aがベクトルであることを表す記号として用いられている。
【0017】
【数1】
【0018】
したがって、ワールド座標系における測定ヘッド10の位置及び方向を、回転行列*Rと並進ベクトル*tとして求めることで、測定ヘッド中心の座標系における座標(XC ,YC ,ZC )を、ワールド座標系の座標(XW ,YW ,ZW )に変換することができる。
【0019】
〔3〕形状測定装置による形状測定処理手順の説明
【0020】
この形状測定装置による形状測定は、次のような処理手順によって実行される。
【0021】
まず、実際の形状測定を行う前に、事前処理を行う。
【0022】
(1)第1ステップ(事前処理):ワールド座標系における測定ヘッド10の各測定位置に関する情報を、測定ヘッド10の各測定位置におけるエンコーダ16の出力値と対応付けて、制御装置30に搭載されたメモリ(図示省略)に格納する。
【0023】
事前処理の後に以下の第2ステップおよび第3ステップからなる形状測定処理を行なう。形状測定処理は、ステレオカメラ21、22を支持する支柱202を測定台201から取り外して行なうことができる。
【0024】
(2)第2ステップ:ステレオカメラ21、22を支持する支柱202を測定台201から取り外した後、測定ヘッド10を用いて、カメラ座標系における被測定物100上の測定点の座標を求める。
【0025】
(3)第3ステップ:ワールド座標系における測定ヘッド10の位置に関する情報に基づいて、カメラ座標系における被測定物上の測定点の座標を、ワールド座標系における座標に変換する。
【0026】
以下、これら各ステップについて説明する。
【0027】
〔4〕第1ステップの説明
【0028】
図4は、第1ステップの処理手順を説明するフローチャートである。
【0029】
まず、測定ヘッド10をガイドレール204の基準位置に配置して(ステップ1)、その位置におけるエンコーダ16の出力値を制御装置30のメモリに格納する(ステップ2)。
【0030】
次に、測定ヘッド10に設けられたマーカ14のワールド座標系における座標を、ステレオカメラ21、22によって測定する。この位置測定方法は、ステレオ法としてよく知られているため、その説明を省略する(ステップ3)。
【0031】
次に、マーカ14を構成する各LED光源14a〜14fのカメラ座標系の座標をそれぞれ(XCi,YCi,ZCi)とし、また、ステレオカメラ21、22によって測定された各LED光源14a〜14fのワールド座標系における座標をそれぞれ(XWi,YWi,ZWi)とする。但し、iは、1、2…6である。各LED光源14a〜14fのカメラ座標系での座標(XCi,YCi,ZCi)は、既知である。
【0032】
測定ヘッド10の移動を表す回転行列*Rと並進ベクトル*tを、次式(2)を満足する行列*Rとベクトル*tとして求める(ステップ4)。そして、求めた行列*Rとベクトル*tとを、先にメモリに格納しておいたエンコーダ16の出力値と対応付けてメモリに格納する(ステップ5)。
【0033】
【数2】
【0034】
そして、測定ヘッド10をガイドレール204に沿って移動させ、全ての測定位置について上述したステップ2〜5の処理を繰り返す(ステップ6、7)。これにより、エンコーダ16の出力値とその位置における回転行列R及び並進ベクトルtを対応付けたテーブルデータが生成され、制御装置30のメモリに格納される。
【0035】
〔5〕第2ステップの説明
【0036】
図5は測定ヘッド10による測定点の位置測定方法を示している。
【0037】
図5に示すように、カメラ座標系とは、CCDカメラ12の光学中心を原点とし、光軸方向をZC 軸、CCDカメラ12の水平方向をXC 軸、CCDカメラ12の垂直方向をYC 軸とする座標系である。CCDカメラ12の画像面Sは、原点から焦点距離fの位置に存在する。つまり、画像面Sは、XC −YC 平面に平行でかつZC =fである平面である。
【0038】
測定ヘッド10による位置計測方法自体は、光切断法と呼ばれる公知の測定方法である。被測定物100の表面上におけるスリット光源13からのスリット光が照射されている線上の所定の点を測定点Aとする。
【0039】
この測定点Aのカメラ座標系での座標を(XC ,YC ,ZC )とし、画像面S上での測定点Aに対応する観察点A´の座標を(Xs ,Ys ,f)とし、スリット光を表す平面の方程式をAL Xc +BL Yc +CL Zc +DL =0とする。観察点A´の座標(XS ,YS ,f)におけるfは、CCDカメラ12の焦点距離として既知であり、(XS ,YS )は画像面で観察されるスリット光の画素位置から求められる。
【0040】
スリット光を表す平面の方程式は測定ヘッド10の校正によって求められている。したがって、XC ,YC ,ZC ,αを未知数とする次式(3)で表される連立方程式を解くことにより、(XC ,YC ,ZC )が求められる。
【0041】
【数3】
【0042】
この処理は、CCDカメラ12の出力に基づいて、制御装置30によって行われる。
【0043】
〔6〕第3ステップの説明
【0044】
第3ステップでは、まず、エンコーダ16の出力に基づいて、制御装置30のメモリから対応する回転行列*Rと並進ベクトル*tとが読み出される。
【0045】
次に、得られた回転行列*Rと並進ベクトル*tとに基づいて、第2ステップで求めたカメラ座標系における足100上の測定点の座標(XC ,YC ,ZC )を、ワールド座標系の座標(XW ,YW ,ZW )に変換する。
【0046】
そして、測定ヘッド10をガイドレール204に沿って移動させながら、ガイドレール204上における全ての観察位置について、第2ステップ及び第4ステップの処理を繰り返すことにより、その都度得られる測定点のワールド座標系における座標(XW ,YW ,ZW )の集合として、足100の形状が求められる。
【0047】
なお、求められた足の3次元形状は、図6に示すように、足の3次元形状に沿った複数の曲線によって制御装置30のモニタ上に表示される。上記形状測定装置では、足の3次元形状を表す各曲線は、第2ステップによってその曲線に対応するスリット光が検出された際の、当該スリット光の輝度に応じて色を変えてカラー表示される。また、足の3次元形状を表す各曲線の幅は、第2ステップによってその曲線に対応するスリット光が検出された際の、当該スリット光の幅に応じた幅で表示される。
【0048】
【発明が解決しようとする課題】
上記従来装置においては、測定ヘッド内のカメラの内部パラメータの校正は、図示しない高精度位置決めテーブルを用いて行われていた。また、測定ヘッド内のカメラの外部パラメータ(上記式(1)の*R,*t)の校正は、上述したように、ステレオカメラ21、22を用いて行われていた。
【0049】
したがって、高精度位置決めテーブルが設置されている場所でしか、カメラの内部パラメータを校正することができない。また、カメラの外部パラメータを校正するためにはステレオカメラ21、22が必要である。
【0050】
この発明は、カメラの外部パラメータの校正が容易となる3次元形状計測装置のカメラパラメータ校正方法を提供することを目的とする。
【0051】
また、この発明は、カメラの外部パラメータの他、カメラの内部パラメータおよびレンズ歪係数の校正が容易となる3次元形状計測装置のカメラパラメータ校正方法を提供することを目的とする。
【0052】
【課題を解決するための手段】
この発明は、軌道上の複数の測定位置から被測定物をカメラで撮像することにより、被測定物の3次元形状を測定する3次元形状測定装置におけるカメラパラメータ校正方法において、複数の平面部を備え、各平面部上にはその平面部上の二次元座標が既知である少なくとも6点以上の参照点が配置されている校正治具を、軌道の内側に配置する第1ステップ、軌道上の複数の測定位置において、校正治具の各平面部の参照点の画像をカメラによって取得する第2ステップ、取得した参照点の画像および校正治具の平面部上の参照点の2次元座標値に基づいて、カメラ内部パラメータおよびレンズ歪係数を推定する第3ステップ、軌道上の複数の測定位置のうち、校正治具の1平面部上の全ての参照点を含む画像が取得された測定位置毎に、その測定位置で取得した参照点の画像、第3ステップによって推定されたカメラ内部パラメータおよびレンズ歪係数、校正治具の各平面部上の参照点の2次元座標値ならびにワールド座標系から校正治具の各平面部への回転行列および並進ベクトルに基づいて、カメラの外部パラメータ(カメラの位置および姿勢)を推定する第4ステップ、ならびに軌道上の複数の測定位置のうち、1平面部上の全ての参照点を含む画像が取得できなかった測定位置毎に、軌道上の複数の測定位置のうち、1平面部上の全ての参照点を含む画像が取得された測定位置に対して推定されたカメラの外部パラメータを線形補間することにより、カメラの外部パラメータを推定する第5ステップを備えていることを特徴とする。
【0055】
校正治具は、軌道が直線から曲線および曲線から直線へと変化する部分において、カメラから1つの平面部上に配置された参照点が全て観察できるように、配される。
【0056】
【発明の実施の形態】
【0057】
〔1〕形状測定装置の概略構成の説明
図7は、形状測定装置の概略構成を示している。図7において、図1と対応するものには同じ符号を付してある。
【0058】
図7の形状測定装置では、支柱202、水平バー203およびステレオカメラ21、22は、不要である。また、測定ヘッド10は、ケーシング11と、ケーシング11内に収納された1台のCCDカメラ12およびスリット光源13を備えているが、LED光源14a〜14fは設けられていない。
【0059】
なお、この実施の形態では、測定ヘッド10は図示しないステッピングモータによってレール204上を移動せしめられるようになっているものとする。また、ステッピングモータの駆動制御は、制御装置30によって行われるものとする。
【0060】
従来装置における形状測定処理と、本実施の形態による形状測定装置による形状測定処理とは、図4に示された第1ステップ(事前処理)のみが異なっており、第2ステップ以降の処理は同じである。
【0061】
〔2〕校正ボックスの説明
【0062】
本実施の形態では、事前処理において校正ボックス(校正治具)が用いられるので、校正ボックスについて説明する。
【0063】
図8および図9は、校正ボックスを示している。
【0064】
校正ボックス300は、平板310上に平面から見て横長六角形の筒体320が固定されてなる。筒体320は、6枚の矩形板(平面部)321〜326が平面から見て横長六角形となるように連結されてなる。各矩形板321〜326には、6×6個の参照点(点光源)が格子状に配置されている。点光源としては、LEDが用いられている。なお、各矩形板321〜326には、この例では、それぞれ36個の点光源が配置されているが、1つの矩形板に最低6個の点光源があればよい。
【0065】
校正ボックス300は、図9に示すように、楕円状のレール204の内側に配置される。この際、レール204の直線から曲線および曲線から直線へと変化する部分において、測定ヘッド10から校正ボックス300の1つの矩形板上の全ての点光源が観察できるように校正ボックス300が配置される。
【0066】
校正ボックス300の各矩形板321〜326には、図10に示すような平面座標系(XP ,YP ,ZP )が設定されており、矩形板上の各点光源の平面座標系(XP ,YP ,ZP )における2次元座標は既知となっている。また、図9に示すように、校正ボックス300上にワールド座標系(XW ,YW ,ZW )が設定されており、ワールド座標系(XW ,YW ,ZW )から各矩形板321〜326の平面座標系への回転行列*Rpwi (i=1,2,…,6)および並進ベクトル*Tpwi が既知となっている。
【0067】
〔3〕事前処理の全体的な説明
【0068】
図11は、事前処理の手順を示している。
【0069】
まず、レール204の全長に対するステッピングモータのパルス数L[pulse] に対して、画像を抽出する測定位置の数(分割数)Nを設定することにより、移動ステップパルス数ΔP=L/Nを算出する(ステップ11)。また、測定ヘッド10の移動回数を記憶するための変数qを0に設定する。
【0070】
次に、校正ボックス300をレール204の内側に設置する(ステップ12)。なお、測定ヘッド10は、図9に示すように、矩形板321に対向する基準位置にあるものとする。
【0071】
この後に行われるステップ13以降の処理は、自動的に行われる処理である。測定ヘッド10内のカメラ12から画像を入力する(ステップ13)。入力された画像内に存在する各点光源を抽出する(ステップ14)。図12(a)〜(d)は、入力画像の例を示している。カメラ12の画像上の座標系(U,V)は、図12に示す通りである。
【0072】
抽出した点光源の総数が、1平面上の全点光源数(36個)以上であるか否かを判別する(ステップ15)。抽出した点光源の総数が、36個以上である場合には、抽出点のソート処理を行う(ステップ16)。抽出点のソート処理とは、各抽出点の画像座標と1平面上の各点光源の2次元座標とを対応付ける処理をいう。この処理の詳細については、後述する。
【0073】
抽出点のソート処理を行った場合には、抽出点のソートが成功したか否かを判別する(ステップ17)。抽出点のソートが成功した場合には、図13に示すように、測定ヘッド10の現在までの全移動パルス数Pと、抽出点の画像座標(u,v)とをパルス数−画像座標値テーブルに記憶した後(ステップ18)、ステップ19に移行する。抽出点のソートが失敗した場合には、図13に示すように、ソート失敗(抽出失敗)をパルス数−画像座標値テーブルに記憶した後、ステップ19に移行する。
【0074】
なお、上記ステップ15において、抽出した点光源の総数が、36個未満である場合にも、抽出失敗をパルス数−画像座標値テーブルに記憶した後、ステップ19に移行する。
【0075】
ステップ19では、測定ヘッド10の移動回数を示す変数qを1だけインクリメント(+1)する。そして、qがNに達したか(q≧N)否かを判定する(ステップ20)。qがN未満である場合には、測定ヘッド10を移動ステップパルス数ΔPだけ移動させる(ステップ21)。そして、ステッ13に戻る。このようにして、N個の測定位置において、ステップ13〜ステップ20の処理を行う。N個の測定位置において、ステップ13〜ステップ20の処理が行われると、ステップ20においてYESとなり、ステップ22に進む。
【0076】
ステップ22では、カメラ内部パラメータの推定処理を行う。カメラ内部パラメータの推定処理が終了すると、カメラ外部パラメータの推定処理を行う(ステップ23)。カメラ外部パラメータの推定処理が終了すると、カメラ外部パラメータの補間処理を行う(ステップ24)。
【0077】
以下、ステップ16、ステップ22、23、24の処理について説明する。
【0078】
〔4〕 抽出点のソート処理(上記ステップ16)の説明
【0079】
ソート処理の大まかな手順は、次の通りである。
【0080】
▲1▼ 画像上でu座標の小さい順に、ほぼ直線上に並ぶ6つの候補点を探索する。
▲2▼ ほぼ直線上に並ぶ6つの候補点が見つかれば、その6つの候補点を候補ラインとする。このようにして、候補ラインを探索していく。
▲3▼ 候補ラインが6ライン以上見つからなかった場合には、ソート失敗(抽出失敗)とする。
▲4▼ 候補ラインが6ライン以上見つかった場合には、各候補ライン上の6つの候補点を、v座標の昇順でソートする。そして、各隣接候補ライン間の間隔が一定値以下の連続した6ラインが存在していればソート成功(抽出成功)とし、各隣接候補ライン間の間隔が一定値以下の連続した6ラインが存在していない場合にはソート失敗(抽出失敗)とする。
【0081】
図14は、ソート処理の詳細な手順を示している。
【0082】
まず、u座標の最も小さい抽出点とその次にu座標の小さい抽出点との2点を選択して候補点1,2とするとともに、その2点を結ぶ直線の傾きaを求める(ステップ31)。入力画像が図15に示すような画像である場合には、図15(a)に示すように、左上の点が候補点1として選択され、その下側の点が候補点2として選択される。
【0083】
最後に選択された抽出点の次にu座標が小さい抽出点を選択し、選択した抽出点と最終候補点とを結ぶ直線の傾きa’を求める(ステップ32)。
【0084】
傾きaとa’との差が0.1以下であれば、ステップ32で選択した抽出点を候補点(最終候補点)として加え、当該抽出点と当該抽出点が候補点として加えられる前の最終候補点とを結ぶ直線との傾きa’を傾きaとする(ステップ33)。傾きaとa’との差が0.1を越えていれば、ステップ32で選択した抽出点を候補点として加えない。
【0085】
次に、候補点が6点見つかったか否かを判定する(ステップ34)。候補点が6点見つかっていない場合には、次に選択すべき抽出点(最後に選択された抽出点の次にu座標が小さい点)が存在するか否かを判定する(ステップ35)。次に選択すべき点が存在する場合には、ステップ32に戻り、ステップ32、33および34の処理を再度行う。
【0086】
ステップ32、33、34、35の処理が繰り返されて行われることにより、候補点が6点見つかった場合には(ステップ34でYES)、それらの6点を候補ラインを構成する候補点であるとして記憶するとともに、抽出点から除く(ステップ36)。そして、ステップ38に移行する。入力画像が図15に示すような画像である場合には、図15(a)に示すように、左端の6点が候補ラインを構成する候補点であるとして記憶される。
【0087】
上記ステップ35において、次に選択すべき抽出点が存在しないと判定された場合には、ステップ31において候補点とされたu座標の最も小さい抽出点は、候補ラインを構成しない点であると判定し、その点を抽出点から除く(ステップ37)。そして、ステップ38に移行する。
【0088】
ステップ38では、残りの抽出点が6点より少ないか否かを判定する。残りの抽出点が6点以上存在する場合には、ステップ1に戻って、同様な処理を行う。
【0089】
ステップ38において、残りの抽出点が6点より少ないと判定された場合には、それまでに抽出された候補ライン数が6以上か否かを判定する(ステップ39)。抽出された候補ライン数が6未満である場合には、ソート結果としてソート失敗(抽出失敗)を記憶する(ステップ44)。
【0090】
抽出された候補ライン数が6以上である場合には、それぞれの候補ラインにおいて、6つの候補点をv座標の昇順でソートする(ステップ40)。そして、各候補ラインにおいて、最初と最後の候補点を結ぶ直線を求め、右隣の候補ラインの最初の候補点との距離を候補ライン間の距離として算出する(ステップ41)。
【0091】
候補ライン間の距離が一定値以下の候補ラインが、連続して6ライン存在するか否かを判定する(ステップ42)。候補ライン間の距離が一定値以下の候補ラインが、連続して6ライン存在する場合には、それらの6ライン上の各候補点の座標を、校正ボックス300の1矩形板上の点光源に対応する画像座標として記憶するとともに、ソート結果としてソート成功(抽出成功)を記憶する(ステップ43)。
【0092】
入力画像が図15に示すような画像である場合には、図15(b)に示すように、7本の候補ラインが抽出されるが、最も右端の候補ラインは、その左隣の候補ラインとの距離が大きいため、除外され、残りの6つの候補ライン上の抽出点の座標が、校正ボックス300の1矩形板上の点光源に対応する画像座標として記憶される。
【0093】
候補ライン間の距離が一定値以下の候補ラインが、連続して6ライン存在しない場合には、ソート結果としてソート失敗(抽出失敗)を記憶する(ステップ44)。
【0094】
例えば、入力画像が図12(a)〜(d)である場合には、ソート処理の結果は、次のようになる。図12(a)では、抽出点が36未満であるので、抽出失敗となる。図12(b)では、抽出点は36以上てあるが、候補ライン間の距離が一定値以下の候補ラインが、連続して6ライン存在しないため、ソート失敗(抽出失敗)となる。図12(c)および図12(d)の場合は、ソート成功となる。
【0095】
ソート成功区間(抽出成功区間)は、図16に黒点を囲む白丸の連続部分で示すように、区間1〜区間7となる。ただし、区間1と区間7とは、同じ矩形板321に対応する区間であるので、1つの区間とみなされる。
【0096】
〔5〕 カメラ内部パラメータの推定処理(図11のステップ22)の説明
【0097】
カメラ内部パラメータの推定処理においては、図13のパルス数−画像座標値テーブルに基づいて、カメラの内部パラメータ及びレンズ歪み係数の推定が行なわれる。
【0098】
カメラ内部パラメータの推定では、校正ボックス300の矩形板321〜326に対して、カメラの回転移動がある場所で推定を行う必要があるため、2番目の抽出成功区間2(図16参照)のデータを用いて推定処理が行われる。
【0099】
カメラ内部パラメータの推定処理の大まかな手順は、次の通りである。以下、行列およびベクトル表記の右上の添字Tは転置を表し、添字−Tは逆行列の転置を表す。
【0100】
まず、2番目の抽出成功区間2における全測定位置での抽出点の画像座標値*m=[ u v] T と、校正ボックス300の矩形板322上の全点光源の2次元座標値*M=[ Xp Yp ] T とを用いて、線形解の算出処理を行うことにより、カメラ内部パラメータと2番目の抽出成功区間2における各測定位置でのカメラ外部パラメータとを求める。そして、最小二乗法により最適化を行うことにより、カメラ内部パラメータとレンズ歪係数とを算出する。なお、線形解法については、Zhang の手法( 文献1参照)を用いた。
【0101】
文献1:Zhengyou Zhang, "A Flexible New Technique for Camera Calibration", Technique Report MSR-TR-98-71, Microsoft Research, Microsoft Corporation.
【0102】
〔5−1〕基礎式
ワールド座標上の点*M=[ XW YW ZW ] T と、カメラ画像座標上の点*m=[ u v] T には、次式(4)に示すような関係式が成り立つ。
【0103】
【数4】
【0104】
〔5−2〕線形解の算出
ワールド座標系として、校正ボックス300の矩形板322上の座標系[ XP YP ZP ] を用いることにする。矩形板322上では、ZP =0である。
【0105】
矩形板322上の点光源の2次元座標と抽出点の画像座標との関係は、上記式(4)において、XW =XP ,YW =YP ,ZW =ZP =0となるため、回転行列*Rの列ベクトル*R[ *r1 *r2 *r3 ] を用いると、次式(5)のようになる。
【0106】
【数5】
【0107】
上記式(5)において、行列*Hは、ホモグラフィー行列であり、次式(6)で表される。
【0108】
【数6】
【0109】
また、このとき、記号〜が上側に付けられた*Mは、次式(7)で表される。
【0110】
【数7】
【0111】
次式(8)は、ホモグラフィー行列*Hの行ベクトルを表している。
【0112】
【数8】
【0113】
上記式(5)において、ホモグラフィー行列*Hの行ベクトルを用いると、上記式(5)は次式(9)のように変形できる。
【0114】
【数9】
【0115】
ここで、1平面上の点光源数をmとしたとき、それぞれの点光源について、上記式(9)が得られ、このとき、上記式(9)は、2m行×9列の行列*Lと、次式(10)で表されるベクトル*xとを用いて、次式(11)のように表される。
【0116】
【数10】
【0117】
【数11】
【0118】
この解ベクトル*xは、*LT *Lの最小固有値に対応する固有ベクトルとして算出でき、ホモグラフィー行列*Hを求めることができる。2番目の抽出成功区間2での全ての取得画像について、上記式(11)を作成し、それぞれの取得画像に対してホモグラフィー行列*Hを算出する。
【0119】
次に、ホモグラフィー行列*Hの列ベクトル*H=[ *h1 *h2 *h3 ] と、次式(12)で表される回転行列*Rの一般的な性質と、上記式(6)とから、次式(13)が得られる。
【0120】
【数12】
【0121】
【数13】
【0122】
ここで、対角行列*Bを次式(14)に示すように定義する。
【0123】
【数14】
【0124】
また、対角行列*Bの6つの要素B11,B12,B22,B13,B23,B33を用いた列ベクトルを次式(15)に示すように定義する。
【0125】
【数15】
【0126】
上記式(13)、(14)、(15)から、次式(16)の関係式が得られる。
【0127】
【数16】
【0128】
したがって、上記式(13)は、上記式(16)を用いて、次式(17)のように表される。
【0129】
【数17】
【0130】
n枚の画像が観察されたとき、それぞれの画像についてのホモグラフィー行列*Hを用いて上式(17)が得られ、このとき上記式(17)は2n行×6列の行列*Vを用いて、次式(18)のように表される。
【0131】
【数18】
【0132】
この解ベクトル*bは、*VT *Vの最小固有値に対応する固有ベクトルとして算出できる。解ベクトル*bから、カメラ内部パラメータは、次式(19)により、求められる。
【0133】
【数19】
【0134】
さらに、上記式(4)でのカメラ内部パラメータの定義により、Py を任意の値として、θ, f,Px を次式(20)から求めることができる。
【0135】
【数20】
【0136】
また、カメラ内部パラメータが算出されると、2番目の抽出成功区間2の各取得画像(各測定位置)毎に、カメラ外部パラメータは、次式(21)により算出される。
【0137】
【数21】
【0138】
ここで得られた回転行列*Rは計算誤差等により一般的な回転行列の直交性を満足していない。そこで、次式(22)のように、特異値分解定理を用いることで、一般的な回転行列*R’を求めることができる。
【0139】
【数22】
【0140】
ここで、*U,*Vはユニタリ行列であり、*Sは負でない対角要素を降順する方向に持つ対角行列である。
【0141】
以上により、カメラ内部パラメータ及び2番目の抽出成功区間2でのカメラ外部パラメータの線形解が算出された。
【0142】
〔5−3〕最適化
次に、正規化画像座標での誤差を最小にするように、次式(23)で示す最小二乗法によりカメラ内部パラメータ及びレンズ歪係数の最適化を行う。ここで、初期値として、上記で求めた線形解を用い、レンズ歪係数の初期値はk1 =k2 =0とする。
【0143】
【数23】
【0144】
ここで、添字iは2番目の抽出成功区間2での画像の番号を示し、添字jは矩形板322上の点光源の番号を示している。また、*Mu は画像座標から算出される正規化画像座標であり、ハット(∧)付きの*Mu (∧*Mu )は矩形板322上の点光源の二次元座標から算出される正規化画像座標である。
【0145】
画像座標からの正規化画像座標*Mu の算出方法および点光源の二次元座標からの正規化画像座標∧*Mu の算出方法について説明する。
【0146】
(a) 画像座標からの正規化画像座標*Mu の算出方法
まず、次式(24)のように、取得した各抽出点の画像座標u,v(単位:pixel )を、画像中心を原点とする座標Xd ,Yd (単位:mm)へと変換する。
【0147】
【数24】
【0148】
次に、二次の項までのレンズ歪係数k1 ,k2 を用いて、次式(25)によって、レンズ歪の無い正規化画像座標*Mu =[ Xu Yu ] T へと変換する。
【0149】
【数25】
【0150】
(b) 点光源の二次元座標からの正規化画像座標∧*Mu の算出方法
まず、矩形板322上の点光源の2次元座標*M=[ Xp Yp ] T を、次式(26)のように、カメラ座標*Mc =[ Xc Yc Xc ] T へと変換する。
【0151】
【数26】
【0152】
次に、焦点距離fを用いて、次式(27)によって、正規化画像座標∧*Mu =[ ∧Xu ∧Yu ] T へと変換する。
【0153】
【数27】
【0154】
〔6〕 カメラ外部パラメータの推定処理(図11のステップ23)の説明
【0155】
カメラ外部パラメータの推定処理においては、上記〔5〕によって推定されたカメラ内部パラメータおよびレンズ歪係数を用いて、全抽出成功区間でのカメラ外部パラメータを線形解法により算出する。
【0156】
使用されるデータは次の通りである。
・カメラ内部パラメータ:u0 ,v0 ,Px ,Py ,f,θ
・レンズ歪係数:k1 ,k2
・全抽出成功区間における全抽出点の画像座標値:*m=[ u v] T
・1平面上の全点光源の2次元座標値:*M=[ Xp Yp ] T
【0157】
これらのデータに基づいて、線形解法によって全抽出成功区間でのカメラ外部パラメータ*Rw ,*Tw が推定される。
【0158】
全抽出成功区間の各測定位置毎に、カメラ外部パラメータ*Rw ,*Tw が推定されるが、ここでは、任意の1つの測定位置に対するカメラ外部パラメータ*Rw ,*Tw を推定する方法について説明する。
【0159】
まず、次式(28)のように、任意の1つの測定位置で取得された画像中の各抽出点の画像座標u,vを、画像中心を原点とする座標Xd ,Yd へと変換する。
【0160】
【数28】
【0161】
次に、二次の項までのレンズ歪係数k1 ,k2 を用いて、次式(29)によって、レンズ歪の無い正規化画像座標へと変換する。
【0162】
【数29】
【0163】
次式(30)は、正規化画像座標とカメラ座標との関係式を表している。
【0164】
【数30】
【0165】
次式(31)は、カメラ座標とワールド座標(校正ボックスの矩形板の座標)との関係式を表している。
【0166】
【数31】
【0167】
上記式(30)と(31)から、次式(32)が与えられる。
【0168】
【数32】
【0169】
ここで、行列*Jを次式(33)のように定義すると、行列*Jの行ベクトルを用いて、上記式(32)は次式(34)のように変形できる。
【0170】
【数33】
【0171】
【数34】
【0172】
ここで、1平面上の点光源数がmの場合、それぞれの点光源について上記式(34)が得られ、このとき、2m行×9列の行列*Lと次式(35)で表されるベクトル*xを用いて、上記式(34)は次式(36)のように表現される。
【0173】
【数35】
【0174】
【数36】
【0175】
この解ベクトル*xは、*LT *Lの最小固有値に対応する固有ベクトルとして算出でき、これにより、行列*Jが求まり、上記式(33)から、カメラ外部パラメータの*r1 ,*r2 ,*tが求まる。
【0176】
ここで得られたカメラ外部パラメータは、回転行列の一般的な性質を満たしていないため、次式(37)により、一般的な回転行列:R’=[ *r1 ’,*r2 ’,*r3 ’] および並進ベクトル*t’へと変換する。
【0177】
【数37】
【0178】
さらに、回転行列の直交性を満足させるため、特異値分解定理により、次式(38)のように変換して、一般的な回転行列*R”を求める。
【0179】
【数38】
【0180】
ここで、*U,*Vはユニタリ行列であり、*Sは負でない対角要素を降順する方向に持つ対角行列である。
【0181】
以上にようにして、矩形板上での平面座標系(Xp YP ZP )からの測定ヘッド10のカメラ外部パラメータ*R”,*t’が推定された。
【0182】
さらに、推定されたカメラ外部パラメータ*R”,*t’を、校正ボックス300上に設定されたワールド座標系(XW YW ZW )での測定ヘッド10のカメラ外部パラメータに変換する。つまり、図9に示すように、ワールド座標系(XW YW ZW )から各矩形板321〜326の座標系への回転行列*RPWi および並進ベクトル*TPWi を用いて、ワールド座標系(XW YW ZW )での測定ヘッド10のカメラ外部パラメータ*RW ,*TW を算出する。
【0183】
*RPWi および*TPWi における添字iは平面の番号を表しており、パルス数−画像座標値テーブルの抽出成功区間の順序に基づいて、各抽出成功区間が何番目の平面を参照していたかを判別することができる。
【0184】
したがって、各抽出成功区間毎に、それぞれに対応した矩形板の回転行列*RPWi および並進ベクトル*TPWi を用いて、次式(39)により、ワールド座標系(XW YW ZW )での測定ヘッド10のカメラ外部パラメータ*RW ,*TW を算出することができる。
【0185】
【数39】
【0186】
〔7〕 カメラ外部パラメータの補間処理(図11のステップ24)の説明
【0187】
抽出失敗区間では、カメラ外部パラメータは推定されていない。しかし、抽出失敗区間は、図16に示すように、レール形状の単純なところであるので、抽出失敗区間内の各位置でのカメラ外部パラメータは、前後の抽出成功区間でのパルス数およびカメラ外部パラメータ*RW ,*TW を用いて、直線または円弧の線形補間により推定することができる。
【0188】
このようにして、抽出失敗区間内の各位置でのカメラ外部パラメータを推定することにより、図17に示すような、パルス数−カメラ外部パラメータテーブルが生成される。つまり、事前処理が完了する。
【0189】
事前処理が終了すると、校正ボックス300を台201上から除去した後、台201上に足を乗せる。そして、レール上の各測定位置で、測定ヘッド10を用いて足上の測定点のカメラ座標系での座標を求める。そして、得られたカメラ座標系での測定点の座標を、その座標が得られたときの測定ヘッド10の移動パルス数と、バルス数−カメラ外部パラメータテーブルとを用いて、ワールド座標系に変換する。
【0190】
上記実施の形態では、ガイドレールとしては、図9で示すような平面から見て楕円形状のものが用いられているが、図18に示すような平面から見てU形のガイドレール204Aまたは他の形状のレールを用いてもよい。つまり、レール形状としては、どのような形状であってもよい。
【0191】
ガイドレールとして、図18に示すような平面から見てU形のレール204Aが用いられた場合には、例えば、図18および図19に示すように、U形のガイドレール204Aに応じた校正ボックス300Aを用いて、同様にカメラパラメータを校正することができる。図19に示す校正ボックス300Aは、平板330と、平板330上に平面から見て略U形に配置された6枚の矩形板(平面部)331〜336とから構成されている。各矩形板331〜336には、6×6個の参照点(点光源)が格子状に配置されている。
【0192】
また、上記実施の形態では、校正ボックスに備えられている矩形板(平面部)は6枚であるが、レール形状等によって矩形板の枚数を任意に設定することができる。
【0193】
また、上記実施の形態では、カメラ内部パラメータの推定処理時においては、2番目の抽出成功区間2で得られたデータを用いているが、矩形板(平面部)に対してカメラが回転移動している部分での抽出成功区間2、3、5、6のいずれかまたはこれらの複数の区間で得られたデータを用いてもよい。
【0194】
また、上記実施の形態では、ステッピングモータによってカメラのレール上の位置を把握しているが、エンコーダを用いてカメラのレール上の位置を把握することも可能である。
【0195】
【発明の効果】
この発明によれば、カメラの外部パラメータの校正が容易となる。また、この発明によれば、カメラの外部パラメータの他、カメラの内部パラメータおよびレンズ歪係数の校正が容易となる。
【図面の簡単な説明】
【図1】本出願人が既に開発した形状測定装置(従来装置)の構成を表す概略構成図である。
【図2】図1の形状測定装置における測定ヘッドの概略構成を示す斜視図である。
【図3】図1の形状測定装置における測定原理を説明する説明図である。
【図4】第1ステップにおける処理手順を説明するフローチャートである。
【図5】図2の測定ヘッドを用いて測定点の位置測定を行う測定方法を説明する説明図である。
【図6】第4ステップで得られる足の像を示す説明図である。
【図7】本発明の実施の形態における形状測定装置の構成を表す概略構成図である。
【図8】校正ボックスを示す斜視図である。
【図9】校正ボックスを示す平面図である。
【図10】校正ボックスの1つの平面に対する平面座標系を示す模式図である。
【図11】事前処理の手順を示すフローチャートである。
【図12】入力画像の例を示す模式図である。
【図13】パルス数−画像座標値テーブルの内容を示す模式図である。
【図14】抽出点のソート処理手順を示すフローチャートである。
【図15】ソート処理を説明するための模式図である。
【図16】抽出成功区間を示す模式図である。
【図17】事前処理によって最終的に生成されるパルス数−カメラ外部パラメータテーブルを示す模式図である。
【図18】ガイドレールの変形例および当該レール形状に適した校正ボックスを示す平面図である。
【図19】図18のレール形状に適した校正ボックスを示す斜視図である。
【符号の説明】
10 測定ヘッド
12 CCDカメラ
13 スリット光源
16 エンコーダ
201 測定台
204、204A ガイドレール
300、300A 校正ボックス
Claims (2)
- 軌道上の複数の測定位置から被測定物をカメラで撮像することにより、被測定物の3次元形状を測定する3次元形状測定装置におけるカメラパラメータ校正方法において、
複数の平面部を備え、各平面部上にはその平面部上の二次元座標が既知である少なくとも6点以上の参照点が配置されている校正治具を、軌道の内側に配置する第1ステップ、
軌道上の複数の測定位置において、校正治具の各平面部の参照点の画像をカメラによって取得する第2ステップ、
取得した参照点の画像および校正治具の平面部上の参照点の2次元座標値に基づいて、カメラ内部パラメータおよびレンズ歪係数を推定する第3ステップ、
軌道上の複数の測定位置のうち、校正治具の1平面部上の全ての参照点を含む画像が取得された測定位置毎に、その測定位置で取得した参照点の画像、第3ステップによって推定されたカメラ内部パラメータおよびレンズ歪係数、校正治具の各平面部上の参照点の2次元座標値ならびにワールド座標系から校正治具の各平面部への回転行列および並進ベクトルに基づいて、カメラの外部パラメータを推定する第4ステップ、ならびに
軌道上の複数の測定位置のうち、1平面部上の全ての参照点を含む画像が取得できなかった測定位置毎に、軌道上の複数の測定位置のうち、1平面部上の全ての参照点を含む画像が取得された測定位置に対して推定されたカメラの外部パラメータを線形補間することにより、カメラの外部パラメータを推定する第5ステップ、
を備えていることを特徴とする3次元形状測定装置におけるカメラパラメータ校正方法。 - 校正治具は、軌道が直線から曲線および曲線から直線へと変化する部分において、カメラから1つの平面部上に配置された参照点が全て観察できるように、配されていることを特徴とする請求項1に記載の3次元形状測定装置におけるカメラパラメータ校正方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002138284A JP3685772B2 (ja) | 2002-05-14 | 2002-05-14 | 3次元形状測定装置におけるカメラパラメータ校正方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002138284A JP3685772B2 (ja) | 2002-05-14 | 2002-05-14 | 3次元形状測定装置におけるカメラパラメータ校正方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003329423A JP2003329423A (ja) | 2003-11-19 |
JP3685772B2 true JP3685772B2 (ja) | 2005-08-24 |
Family
ID=29699767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002138284A Expired - Fee Related JP3685772B2 (ja) | 2002-05-14 | 2002-05-14 | 3次元形状測定装置におけるカメラパラメータ校正方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3685772B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4533090B2 (ja) * | 2004-05-14 | 2010-08-25 | キヤノン株式会社 | 指標較正装置および情報処理方法 |
DE102004028635A1 (de) * | 2004-06-15 | 2006-01-19 | Burkhard Heins | Verfahren zur Vermessung von Gegenständen mit einer Kamera |
JP4918830B2 (ja) * | 2006-08-31 | 2012-04-18 | 富士ゼロックス株式会社 | 位置計測システム |
JP4743538B2 (ja) * | 2006-11-17 | 2011-08-10 | アイシン精機株式会社 | カメラ校正装置 |
JP6029938B2 (ja) * | 2012-11-06 | 2016-11-24 | ローランドディー.ジー.株式会社 | キャリブレーション方法および三次元加工装置 |
JP6104828B2 (ja) * | 2014-02-24 | 2017-03-29 | 株式会社東芝 | 3次元変形量計測装置および3次元変形量計測方法 |
CN113223095B (zh) * | 2021-05-25 | 2022-06-17 | 中国人民解放军63660部队 | 一种基于已知相机位置内外参数标定方法 |
-
2002
- 2002-05-14 JP JP2002138284A patent/JP3685772B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003329423A (ja) | 2003-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4604774B2 (ja) | 3次元計測のためのキャリブレーション方法 | |
CN106441099B (zh) | 多线结构光传感器的标定方法 | |
JP4959930B2 (ja) | 内部表面幾何形状を再構成する方法 | |
JP3624353B2 (ja) | 3次元形状計測方法およびその装置 | |
US7257249B2 (en) | Discrete linear space sampling method and apparatus for generating digital 3D models | |
JP2009017480A (ja) | カメラキャリブレーション装置およびそのプログラム | |
JP2002116007A (ja) | 基板上のパターン要素のエッジをポジション決定するための方法および測定装置 | |
JP2011017700A (ja) | 対象物の3次元座標の決定方法 | |
CN101526336A (zh) | 基于量块的线结构光三维视觉传感器标定方法 | |
CN111623942B (zh) | 一种单向振动台试验结构模型位移测量方法 | |
CN112505663B (zh) | 用于多线激光雷达与相机联合标定的标定方法 | |
JP2005017286A (ja) | カメラキャリブレーション方法およびカメラキャリブレーション装置 | |
JPH11166818A (ja) | 三次元形状計測装置の校正方法及び校正装置 | |
JP3685772B2 (ja) | 3次元形状測定装置におけるカメラパラメータ校正方法 | |
CN116485914A (zh) | 一种激光辅助标定方法 | |
CN113658270A (zh) | 基于工件孔心的多目视觉标定的方法、装置、介质及系统 | |
CN105434046A (zh) | 基于消除红外滤光片折射效应的手术导航仪定位方法 | |
JP2000039310A (ja) | 形状測定方法および形状測定装置 | |
JPH04172213A (ja) | 三次元形状測定装置の校正方法 | |
JP2012177596A (ja) | 校正用治具および光切断式形状計測装置の校正方法 | |
CN116839503A (zh) | 大尺寸结构表面形貌测量方法 | |
CN109373901B (zh) | 位于平面上的孔的中心位置的计算方法 | |
JP2007033040A (ja) | 光切断法による3次元形状計測装置における光学ヘッド部のキャリブレーション方法及び装置 | |
JP4077755B2 (ja) | 位置検出方法、その装置及びそのプログラム、並びに、較正情報生成方法 | |
Frobin et al. | Calibration and model reconstruction in analytical close-range stereophotogrammetry |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050209 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050408 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050518 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050531 |
|
LAPS | Cancellation because of no payment of annual fees |