JP4917351B2 - 3次元形状測定装置におけるキャリブレーション方法 - Google Patents

3次元形状測定装置におけるキャリブレーション方法 Download PDF

Info

Publication number
JP4917351B2
JP4917351B2 JP2006136090A JP2006136090A JP4917351B2 JP 4917351 B2 JP4917351 B2 JP 4917351B2 JP 2006136090 A JP2006136090 A JP 2006136090A JP 2006136090 A JP2006136090 A JP 2006136090A JP 4917351 B2 JP4917351 B2 JP 4917351B2
Authority
JP
Japan
Prior art keywords
image
projector
camera
pattern
code
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
Application number
JP2006136090A
Other languages
English (en)
Other versions
JP2007309660A (ja
Inventor
泰敏 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Roland DG Corp
Original Assignee
Roland DG Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Roland DG Corp filed Critical Roland DG Corp
Priority to JP2006136090A priority Critical patent/JP4917351B2/ja
Publication of JP2007309660A publication Critical patent/JP2007309660A/ja
Application granted granted Critical
Publication of JP4917351B2 publication Critical patent/JP4917351B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Length Measuring Devices By Optical Means (AREA)

Description

本発明は、3次元形状測定装置におけるキャリブレーション方法に関し、さらに詳細には、2値化投影パターンにより空間に対し絶対的なコード値を生成する空間コード化法を用いた3次元形状測定装置におけるキャリブレーション方法に関する。
一般に、光を用いて測定対象物の3次元形状を非接触で計測する技術としては、受動的測定法と能動的測定法とがある。
ここで、受動的測定法とは、ステレオ法に代表されるように、測定機器側は投光手段を持たずに、環境光を利用して計測するという手法である。
一方、能動的測定法とは、測定機器側の投光手段から測定対象物に向けて光を照射して、その反射光を計測するという手法である。
また、こうした能動的測定法のなかで、三角測量の原理を用いるものとしては、スリット光投影法や空間コード化法などが知られている。
ここで、空間コード化法とは、測定対象物に対して光透過領域と光非透過領域とよりなるストライプ状の光パターンたる2値化投影パターンを何種類も投影することにより、当該ストライプ状の光パターンを投影された測定対象物上の1点を観察していると、その観察している1点に投影される光線が点滅して符号(コード)を形成するようになるが、そのコードを利用して測定対象物の3次元形状を測定するという手法である。
この空間コード化法においては、コードが示す値(空間コード値)と光線の方向とは一対一の関係で対応しており、測定対象物上における光点の位置から観察位置の視線の方向が判り、また、その光点の空間コード値から光線の方向が判るので、三角測量の原理により測定対象物上における全ての光点までの距離を求めることができ、これにより測定対象物の3次元形状を非接触で計測することができるようになるものである。

一般に、上記した空間コード化法を用いた3次元形状測定装置は、コンピュータによりその全体の動作を制御するように構成されており、コンピュータの制御により測定対象物へ複数の2値化投影パターンを投影する投影手段としてのプロジェクタと、プロジェクタにより2値化投影パターンを投影された測定対象物を撮影する撮影手段としてのカメラとを有して構成されている。
即ち、3次元測定装置においては、プロジェクタはコンピュータに接続されていて、測定対象物の表面に、コンピュータで生成される各種の2値化投影パターンを投影することができるように配置にされている。また、カメラは、プロジェクタの投影方向とは異なる方向から測定対象物の表面を撮影することができるように配置されており、カメラで撮影された画像は、デジタル化されてコンピュータに取り込まれるようになされている。

ところで、上記したような空間コード化法を用いた3次元形状測定装置においては、カメラのキャリブレーション(カメラキャリブレーション)およびカメラのレンズの歪み補正ならびにプロジェクタのキャリブレーション(プロジェクタキャリブレーション)およびプロジェクタのレンズの歪み補正を行う必要がある(非特許文献1、2参照)。
即ち、空間コード化法を用いた3次元形状測定装置では、空間コード値がプロジェクタの方向に、また、画像上での画素の位置が視線の方向、即ち、カメラの撮影方向にそれぞれ対応し、それらを知ることにより三角測量の原理で距離情報を得ることができる。
ここで、空間コード値は光パターン面上における座標系(プロジェクタ座標系)上で定義された量であり、画素の位置はカメラ画面上における座標系(カメラ座標系)上で定義された量である。
従って、これらと測定対象物の存在する物体座標系との関係を求めなければ、三角測量の原理で距離情報を得ることはできない。
一般に、この各座標系間の関係を求める作業を、カメラパラメータのキャリブレーション、即ち、カメラキャリブレーションと称するとともに、プロジェクタパラメータのキャリブレーション、即ち、プロジェクタキャリブレーションと称している。
以下、上記したキャリブレーションについて詳細に説明するが、非特許文献1、2には、カメラキャリブレーションによりカメラパラメータを算出するとともに、プロジェクタキャリブレーションによりプロジェクタパラメータを算出する手法の一例が開示されている。この手法は、2次元のカメラ画像座標ならびにプロジェクタ画像座標と3次元の測定対象物座標との幾何学的関係を表すパラメータを求めるというものであり、非特許文献1、2をあわせて参照するものとする。
まず、画像座標系とカメラ座標系との関係は、図1(a)に示すようなピンホールカメラモデルで表すことができる。また、図1(b)は、図1(a)の各平面の並びを入れ替え、横軸と縦軸の向きを合わせたものであるが、この図1(b)でも同じ関係を示すことができる。
なお、図1(a)の方が実際のカメラの構造に近いが、図1(b)の方が座標変換演算の様子を追いやすい。
これら図1(a)(b)において、焦点面の(C,X,Y,Z)座標系をカメラ座標系、画像平面の(u,v)座標系を画像座標系、焦点面から単位焦点距離(f=1)だけ離れた位置にある平面の(c、x、y)座標系を正規化画像座標系と称することとする。
また、点Cを通り画像平面に垂直な線が光軸であり、その光軸と画像平面との交点cが光軸点である。さらに、その光軸は、画像平面の中心(u,v)で交わる。
3Dカメラ座標M=(X,Y,Z)を焦点Cで結像し、正規化画像平面に投影したものが2D正規化画像座標(x、y)、画像平面に投影したものが2D画像座標m=(u,v)である。
ここで、M=(X,Y,Z)と正規化画像座標(x,y)との間には、次式の関係が成り立つ。
上記の非線形の式は、次のように線形に表現することができる。
また、正規化画像座標(x,y)と2D画像座標m=(u,v)との間には、次式の関係が成り立つ。
,kはそれぞれu、v軸の単位長を示し、θはu、v軸のなす角度を示す。fk、−fkcosθ、fk/sinθは、それぞれそのままで残るので、これらをα、β、γとそれぞれおくと、
と表すことができる。
(1)式および(2)式より、
となる。
ところで、3次元座標は実際にはカメラ座標系とは別のワールド座標系(X,Y,Z)の値として表されるので、ワールド座標系とカメラ座標系との関係を回転・移動変換行列を用いて表すと、
となる。
(3)式および(4)式より、
となり、これらの座標系の値の関係は次式で示される。
ここで、
は画像座標の同次座標表示、
は3D座標の同次座標表示である。
行列Aは、焦点距離やレンズ歪みなどのカメラ内部に関する変数のみから成っており、カメラ内部パラメータと称する。
また、[R,t]はワールド座標系でのカメラの姿勢と位置を表し、カメラ外部パラメータと称する。
次に、レンズ歪みについても考慮することになるが、レンズ歪みは画像の中心座標(u,v)から放射状に広がっていると仮定され、次式により表される。
ここで、(u,v)は歪み後の画像座標であり、k、kは歪み係数である。

次に、上記した(5)式および(6)式のパラメータであるカメラ内部パラメータA、カメラ外部パラメータ[R,t]および歪み係数k=[k,k]を求める手順を、図2に示すフローチャートを参照しながら説明する。
まず、同一平面でない異なる向きのチェッカーボードの画像を3枚以上撮影し、各画像についてチェッカー交点の画像座標をサブピクセル精度で推定するチェッカーボード交点検出を行う(ステップS202)。即ち、このチェッカーボード交点検出においては、入力データとしてチェッカーボード画像(3枚以上)を用い、出力データとしてチェッカー交点の2D画像座標群とそれぞれに対応する既知の3D座標を得る。
ここで、交点の画像座標をサブピクセル精度で推定する手順、即ち、チェッカーボード交点検出の手法を詳細に説明すると、まず、交点座標をピクセル単位で求め、その座標を中心として円形領域Rを設定する(図3参照)。
そして、円形領域R内の点qについて、その他の全ての点piとの間で次の4つについて計算を行う。即ち、
(i)ベクトル(pi−q)(図3における実線矢印参照)、
(ii)点piにおける輝度勾配ベクトルDpi(図3における破線矢印参照)、
(iii)上記(i)(ii)で求めたベクトルの内積εi=Dpi・(pi−q)、
(iv)上記(iii)で求めたベクトルの内積εiの二乗の総和であるΣεiを求める、
という計算を行う。
上記(iv)で求めたΣεiが最小になる点qが、チェッカー交点に最も近いピクセルである。
ここで、点qのピクセルを元に、以下の(i)〜(iii)のようにして、Σεiが真に最小となる座標をサブピクセル推定する。
(i)まず、点qの上下y座標を通る水平ライン上でΣεiが極小になるピクセルを探し、それらと点qを通る直線を最小二乗法で求める。
(ii)次に、点qの左右x座標を通る垂直ライン上でΣεiが極小になるピクセルを探し、それらと点qを通る直線を最小二乗法で求める。
(iii)そして、これらの直線の交点座標を実数値で求めると、サブピクセル単位でΣεiが最も小さくなる座標がチェッカーパターンの交点となる。

次に、初期射影変換行列を求める(ステップS204)。より詳細には、各入力画像について、チェッカー交点の3D座標を対応する2D画像座標に変換する射影変換行列を求める。即ち、この初期射影変換行列を求める処理においては、入力データとしてチェッカー交点の2D画像座標群と対応する3D座標とを用い、出力データとして画像枚数分の射影変換行列Hを求める。
ここで、初期射影変換行列を求める手法を詳細に説明すると、まず、チェッカボードから推定したチェッカー交点の3次元座標と画像座標の関係は、(5)式より次式で表される。
平面パターンではZ=0とできるので、
カメラパラメータをHで表すと、
となる。
このHは、3×3の行列で、ホモグラフィ(射影変換行列)と称する。これを平面パターン上の画像座標とそれに対応する既知のワールド座標の組を使って求める。
同一平面でない異なる方向から撮影した3種類以上の画像について、それぞれH〜Hを求める。
次に、初期射影変換行列からカメラ内部パラメータを推定する(ステップS206)。即ち、入力データとして画像枚数分の射影変換行列Hを用い、出力データとしてカメラ内部パラメータAを求める。
ここで、初期射影変換行列からカメラ内部パラメータを推定する手法を詳細に説明すると、まず、ホモグラフィHのi列のベクトルをh=[hi1,hi2,hi3と表すと、
となる。
、rが直交する単位ベクトルであることから、
というカメラ内部パラメータAに関する2つの拘束式が得られる。
これに3枚以上の画像から得られたホモグラフィH〜Hの要素を当てはめると、カメラ内部パラメータAの要素を求めることができる。
次に、初期射影変換行列HとステップS206で推定したカメラ内部パラメータAとから、各画像についてのカメラ外部パラメータを推定する(ステップS208)。即ち、入力データとして各画像の初期射影変換行列HとステップS206で推定したカメラ内部パラメータAとを用い、出力データとしてカメラ外部パラメータ[R,t]を求める。
ここで、初期射影変換行列HとステップS206で推定したカメラ内部パラメータAとから、各画像についてのカメラ外部パラメータを推定する手法を詳細に説明すると、各画像のカメラ外部変数を、それぞれの初期射影変換行列HとステップS206で求めたカメラ内部パラメータAとから、次式によって推定する。
次に、全ての画像について、カメラ内部パラメータと各画像についてのカメラ外部パラメータとが最適になるように調整し、カメラパラメータを最適化する(ステップS210)。即ち、入力データとしてカメラ内部パラメータAと全画像のカメラ外部パラメータ[R,t]とを用いて、出力データとして最適化後のカメラ内部パラメータおよびカメラ外部パラメータを求める。
ここで、カメラパラメータを最適化する手法を詳細に説明すると、ここまでで得られたパラメータを初期値として、次式が最小になるように非線形最小二乗法(Levenberg−Marquardt法)でパラメータA、Ri、tiを最適化する。
なお、
は、画像No.iでのMの射影座標である。
次に、最小二乗法でレンズ歪み補正係数を求める(ステップS212)。即ち、入力データとしてカメラ内部パラメータAと全画像のカメラ外部パラメータ[R,t]とを用いて、出力データとしてレンズ歪み補正係数を求める。
ここで、レンズ歪み補正係数を求める手法を詳細に説明すると、得られたカメラパラメータを用いて、チェッカー交点の既知3D座標から理想画像座標値(u,v)と正規化画像座標(x,y)を求める。
そして、(u,v)と(x,y)とを(6)式に当てはめて、歪み係数k,kを求める。
次に、歪み係数を含めた全カメラパラメータ、即ち、カメラ内部パラメータおよびカメラ外部パラメータを最適化して決定する(ステップS214)。
より詳細には、次式が最小になるように、非線形最小二乗法(Levenberg−Marquardt法)で全てのカメラパラメータA、k、k、R、tを最適化して決定する。

次に、プロジェクタキャリブレーションの手法について説明するが、プロジェクタキャリブレーションについては、例えば、非特許文献1、2に開示されており、この非特許文献1、2を合わせて参照する。
まず、図4には、カメラ、プロジェクタ、物体座標系の位置関係が示されている。このプロジェクタキャリブレーションの説明においても、カメラキャリブレーションの場合と同様に、数学的モデルにピンホールモデルを用いて説明する。
プロジェクタキャリブレーションにおいては、2次元のプロジェクタ投影画像座標系(X,Y)と3次元の物体座標系(X,Y,Z)間のホモグラフィを3つ以上求め、最終的にプロジェクタパラメータ(内部パラメータA、外部パラメータ[R,t]、歪み係数k、k)を求める。
ここで、プロジェクタキャリブレーションにおいて、カメラキャリブレーションの場合との相違点は、ホモグラフィの算出に用いる画像座標がカメラの撮影画像上の座標ではなく、プロジェクタ画像座標であるという点である。このプロジェクタ画像座標は、以下の手順により求められる。
まず、平板に垂直・水平グレイコードパターンを投影し撮影する。
そして、歪み補正後のカメラ座標としての整数ピクセル座標(u,v)に対応する実数座標を(u,v)を(6)式で求め、その座標の周囲の標本化ピクセルの画素値から(u,v)の画素値をバイリニア補間により決定し、撮影画像のカメラレンズによる歪みを補正する。
次に、撮影画像から垂直・水平それぞれの空間コード画像を作成する(図5(a)(b)参照)。なお、図5(a)が垂直空間コード画像を表し、図5(b)が水平空間コード画像を表す。
その後に、カメラ画像座標系での水平・垂直パターンの交点の座標をサブピクセル単位で検出する。即ち、まず、グレイコードパターンの境界を検出し、空間コード化法による計測時の場合と同様にして、図6に示すようにポジとネガとの相補的なパターンを平板に投影する。それから、パターン境界付近の濃度値を用いて直線当てはめを行い、2つの直線の交点を求めることにより、サブピクセル単位でパターン境界を検出する。
そして、対応点を得るために、上記において検出した垂直、水平方向のパターン境界の交点を求めると、図7に示すようにパターン境界点群が得られる。
さらに、その交点付近の画素に直線を当てはめ、2つの直線の交点を求めることにより、カメラ画像座標系での垂直・水平パターンの交点の座標をサブピクセル単位で検出する。
次に、交点の3D座標を求めるものであり、平板上の3D座標M=[X,Y]は、カメラ画像座標m=[u,v]と、予め求められているカメラ画像座標と平板の3D座標とのホモグラフィを用いて、次式で求められる。
ここで、はグレイコードパターンを投影したときと同じ方向、同じ位置の平面で算出したカメラパラメータA[R t]=A[r t]より求められる。さらに、平板上の3D座標のZ値は0であるので、
=A[r t]
で求められる。以上から、3D座標は次のように求められる。
それから、交点のプロジェクタ座標を求めるものであり、プロジェクタ画像座標系のu,v座標値は、それぞれ垂直スリットによる空間コード画像、水平スリットによる空間コード画像のコード値である。また、先に求めたパターン交点カメラ画像座標に対応するコード値を取得する。
上記で求めた値を用いて、プロジェクタ画像座標m=[u,v]と平板上の3D座標M=[X,Y]が得られるので、これらを次式に当てはめホモグラフィ を求めるが、その詳細な手順は上記したカメラキャリブレーションの場合と同様であるので省略する。
そして、同一でない3方向以上の平面について同様にホモグラフィを求め、それらを用いてプロジェクタのキャリブレーション(内部パラメータ、外部パラメータ、レンズ歪み係数の算出)を行う。これの詳細な手順も、上記したカメラキャリブレーションの場合と同様であるので省略する。

以上において説明したように、上記したプロジェクタキャリブレーションの手法によりプロジェクタ画像座標と物体座標との対応を得るためには、グレイコードパターンを投影するときの平板の位置が、予めカメラ座標との関係が既知でカメラパラメータが求められているような位置である必要がある。
即ち、プロジェクタパラメータを算出するときには、カメラキャリブレーションを行ったときに使用したチェッカーボードをそのまま使用する必要がある。
こうした従来の技術による手法では、プロジェクタ画像座標上の交点を決定すると、当該交点とカメラキャリブレーション時に用いたチェッカー交点座標との関係は、図8に示すような関係となる。
ここで、カメラキャリブレーション時には、チェッカー交点座標が使われるので、求められたカメラパラメータは、チェッカー交点座標群がある範囲内では正確である。図8の場合は、その範囲はこのカメラ画像の中心付近の極めて限定された箇所である。
一方、そのチェッカー交点座標群がある範囲を超えた外側のカメラ画像座標は、カメラパラメータを用いて3D座標に変換したり、レンズ歪み補正を行うことにより、正確でなくなってしまうことになる。
仮に、他の角度で撮影をした画像でチェッカー交点座標群が、図8に示すチェッカー交点座標群の外側をくまなく網羅しているならば、最終的に得られるカメラパラメータは画像全体に対して正確になるかも知れないが、こうした撮影を行うことは実用的ではない。
また、チェッカーパターンがカメラ画像に占める範囲を広げたとしても、そのチェッカーパターンの外側に垂直水平スリット境界の交点が検出される可能性は依然として残されている。
上記において説明したように、求められたプロジェクタ画像座標と物体座標が不正確であると、それらを元に算出されるプロジェクタパラメータも不正確となり、このプロジェクタパラメータを用いる3次元計測の精度が悪化するという問題点があった。
また、プロジェクタキャリブレーション時には、プロジェクタ画像座標(=空間コード値)からその画像のプロジェクタのレンズによる歪みを認識し、その歪み係数を求めることになるが、従来より知られた空間コード化法では、その歪みを正確に認識できないため歪み係数を正確に求めることができなかった。その結果、プロジェクタ投影画像の歪みを正確に補正することができず、最終的に3次元計測の精度が悪化するという問題点があった。
Zhenyou Zhang,"A flexible new technique for camera calibration",Microsoft Research Technical Report,http://research.microsoft.com/〜zhang/calib/,1998. 福田正則,宮阪健夫,荒木和男,中京大学大学院情報科学研究科/中京大学生命システム工学部,"柔軟なキャリブレーション手法を用いた3次元計測装置の試作",第11回画像センシングシンポジウム講演論文集,June 2005.
本発明は、上記したような従来の技術の有する種々の問題点に鑑みてなされたものであり、その目的とするところは、3次元形状測定装置におけるプロジェクタキャリブレーションの精度を向上させて、3次元形状の形状計測の精度を向上するようにした3次元形状測定装置におけるキャリブレーション方法を提供しようとするものである。
上記目的を達成するために、本発明による3次元形状測定装置におけるキャリブレーション方法は、プロジェクタキャリブレーションに用いるプロジェクタ画像座標群を、先にカメラキャリブレーション時に用いたチェッカーボード撮影画像上のチェッカー交点座標群が存在する範囲内で選択するようにしたものである。
即ち、プロジェクタキャリブレーションにおいては、プロジェクタキャリブレーションに用いる画像座標として、水平スリットパターンと垂直スリットパターンとの交点座標群を用いているが、本発明による3次元形状測定装置におけるキャリブレーション方法は、その中にカメラキャリブレーション時に使用した画像座標範囲外のものが含まれないようにして、プロジェクタパラメータが不正確になることを防止するようにしたものである。
つまり、本発明による3次元形状測定装置におけるキャリブレーション方法は、ホモグラフィ算出に用いるプロジェクタ画像座標を、チェッカー交点群と同じ範囲で求めるようにしたものである。
また、上記目的を達成するために、本発明による3次元形状測定装置におけるキャリブレーション方法は、プロジェクタキャリブレーション時に、2値化投影パターンを任意の移動量でシフトすることで空間コードを細分化するようにした空間コード化法(以下、単に「位相シフト空間コード化法」と適宜に称する。)を用いて空間コード値を求め、これによりプロジェクタキャリブレーションパラメータを求めるようにしたものである。
こうした本発明による3次元形状測定装置におけるキャリブレーション方法によれば、安定して正確なプロジェクタパラメータを得ることができるようになり、精度の高い3次元形状の形状計測を行うことができるようになる。
なお、本発明における位相シフト空間コード化法によれば、空間コード化法のアルゴリズムをそのまま利用することができるので、ハードウェアやソフトウェアの構成も従来の空間コード化法のものをそのまま利用することが可能となり、簡単な構成で3次元形状の形状計測の測定分解能を向上することができるようになる。

即ち、本発明のうち請求項1に記載の発明は、2値化投影パターンを投影するプロジェクタと、上記プロジェクタにより投影された2値化投影パターンを撮影するカメラとを有し、上記プロジェクタにより2値化投影パターンを投影して空間に対し絶対的なコード値を生成する空間コード化法を用いた3次元形状測定装置におけるキャリブレーション方法において、プロジェクタのキャリブレーションに用いるプロジェクタ画像座標群を、カメラのキャリブレーション時に用いたチェッカーボード撮影画像上のチェッカー交点座標群が存在する範囲内で選択して上記プロジェクタのキャリブレーションを行うものであり、上記カメラのキャリブレーションとして、チェッカーボードを用いて、異なる角度で撮影した同一平面でない複数のチェッカーボード画像をそれぞれ作成し、上記複数のチェッカーボード画像について、チェッカーパターンの交点座標の、2次元座標群と、それぞれに対応する既知の3次元座標とを求め、チェッカーパターンの交点座標の、2次元座標群と、それぞれに対応する既知の3次元座標を用いて、上記複数のチェッカーボード画像のそれぞれについて、射影変換行列を求め、各画像の上記射影変換行列の要素より、カメラ内部パラメータを推定し、各画像の上記射影変換行列と上記カメラ内部パラメータとより、上記複数のチェッカーボード画像についてのカメラ外部パラメータをそれぞれ推定し、すべての上記複数のチェッカーボード画像について、上記カメラ内部パラメータおよびすべての画像の上記カメラ外部パラメータとを最適化し、上記最適化したカメラ内部パラメータおよびすべての画像の上記最適化したカメラ外部パラメータとを用いて、歪み補正係数を算出し、上記歪み補正係数を含むカメラ内部パラメータと、カメラ外部パラメータとを最適化してカメラパラメータを決定するものとし、上記プロジェクタのキャリブレーションとして、平板に垂直方向のグレイコードパターンと水平方向のグレイコードパターンとを投影し画像をグレイコードパターン画像として撮影し、複数のグレイコードパターン画像をそれぞれ作成し、上記複数のグレイコードパターン画像のカメラレンズによる歪みを補正し、光透過領域が垂直方向に延長した2値化投影パターンを任意の移動量で水平方向にシフトすることで空間コードを細分化する方法により、上記複数のグレイコードパターン画像から垂直方向の位相シフト空間コード画像を作成し、光透過領域が水平方向に延長した2値化投影パターンを任意の移動量で垂直方向にシフトすることで空間コードを細分化する方法により、上記複数のグレイコードパターン画像から水平方向の位相シフト空間コード画像を作成し、チェッカーボードの撮影画像をカメラレンズの上記歪み補正係数を用いて補正し、補正されたチェッカーボードの撮影画像上でのチェッカー交点のカメラ画像座標サブピクセル単位で検出し、上記垂直方向の位相シフト空間コード画像から交点座標に対応する第1のコード値を取得し、上記第1のコード値をプロジェクタ画像座標の水平方向座標とし、上記水平方向の位相シフト空間コード画像から交点座標に対応する第2のコード値を取得し、上記第2のコード値をプロジェクタ画像座標の垂直方向座標とし、上記複数のグレイコードパターン画像について、上記プロジェクタ画像座標の水平方向座標と上記プロジェクタ画像座標の垂直方向座標と、上記カメラキャリブレーションの場合と同様に既知のデータを用いて求めた平板上の交点の3次元座標とを用いて、射影変換行列を求め、上記射影変換行列を用いて、プロジェクタ内部パラメータ、プロジェクタ外部パラメータ、プロジェクタキャリブレーションのためのレンズ歪み係数をそれぞれ算出し、上記プロジェクタ内部パラメータ、上記プロジェクタ外部パラメータ、上記レンズ歪み係数とを最適化して、プロジェクタパラメータを決定して、プロジェクタのキャリブレーションを行うようにしたものである。
本発明は、以上説明したように構成されているので、3次元形状測定装置におけるプロジェクタキャリブレーションの精度を向上することができ、3次元形状の形状計測の精度を向上することができるようになるという優れた効果を奏する。
以下、添付の図面を参照しながら、本発明による3次元形状測定装置におけるキャリブレーション方法の実施の形態の一例について詳細に説明するものとする。

図9には、本発明による3次元形状測定装置におけるキャリブレーション方法を実施する3次元形状測定装置の概略構成説明図が示されている。
この3次元形状測定装置(以下、単に「測定装置」と適宜に称する。)10は、バス12aを介して接続された中央処理装置(CPU)12b、CPU12bが実行するプログラムなどを格納したリードオンリメモリ(ROM)12c、データ信号を一時記憶するバッファメモリやCPU12bによるプログラムの実行時に必要な各種レジスタなどが設定されたワーキングエリアとしてのランダムアクセスメモリ(RAM)12d、キーボードやマウスなどの各種の入力装置12eならびにCPU12bの処理結果などを出力して表示する表示装置12fなどを有して構成されるコンピュータ12によりその全体の動作を制御するように構成されており、コンピュータ12の制御により測定対象物14へ複数の2値化投影パターンを投影する投影手段たるプロジェクタ(投影機)16と、プロジェクタ16により2値化投影パターンを投影された測定対象物14を撮影する撮影手段たるカメラ(撮影機)18とを有して構成されている。
即ち、3次元形状測定装置10においては、プロジェクタ16はコンピュータ12に接続されていて、測定対象物14の表面に、コンピュータ12で生成される各種の2値化投影パターンを投影することができるように配置にされている。また、カメラ18は、プロジェクタ16の投影方向とは異なる方向から測定対象物14の表面を撮影することができるように配置されており、カメラ18で撮影された画像は、デジタル化されてコンピュータ12に取り込まれるようになされている。

ここで、図10(a)(b)(c)(d)には、コンピュータ12で生成される各種の2値化投影パターンの例が示されている。
これら2値化投影パターンは、それぞれ一定の幅Wを有するとともに幅W方向と直交する所定の方向に延長するスリット状の光透過領域100aとスリットの枠に相当する光非透過領域100bとが、交互に連続するようにして形成されている。光透過領域100aと光非透過領域100bとの幅Wは、任意の大きさに設定することができる。なお、「発明を実施するための最良の形態」の項の説明においては、図10(a)(b)(c)(d)に示す光透過領域100aの延長方向(図10(a)(b)(c)(d)における上下方向)を垂直方向とし、図10(a)(b)(c)(d)に示す光透過領域100aの延長方向と直交する方向(図10(a)(b)(c)(d)における左右方向)を水平方向とする。
また、図10(a)(b)(c)(d)に示す2値化投影パターンにおいては、幅Wが最も狭い2値化投影パターンは図10(d)に示すものである。このように、それぞれ異なる複数の2値化投影パターンの中で幅Wが最も狭い2値化投影パターンを「LSBパターン」と一般に称する。
なお、こうした2値化投影パターンは、従来より周知の技術であるためその詳細な説明は省略する。
また、この3次元形状測定装置10においては、2値化投影パターンとして、光透過領域100aが図10(a)(b)(c)(d)に示す方向たる垂直方向と直交する方向たる水平方向に延長する2値化投影パターンを生成することができるようになされている。
なお、こうした互いに光透過領域100aの延長方向が直交する2種類の2値化投影パターンは、後述するプロジェクタキャリブレーションの処理を行う際に用いられる。

次に、図11に示すコンピュータ12により実現される3次元形状測定装置10の制御システムのブロック構成説明図を参照しながら、3次元形状測定装置10における測定対象物14の3次元形状の形状計測動作について説明しておく。
この制御システムは、プロジェクタ16で投影する処理に使用する、光透過領域100aの延長方向が一方向の複数の2値化投影パターン(例えば、光透過領域100aの延長方向が、図10(a)(b)(c)(d)に示す2値化投影パターンと同方向、即ち、垂直方向のものである。)を決定して、当該決定した複数の2値化投影パターンを測定対象物14の表面に投影するとともに、当該決定した複数の2値化投影パターンの中のいずれか1つを幅W方向に所定の移動量だけシフト(移動)させながら測定対象物14の表面に投影するための制御を行う2値化投影パターン投影手段20と、カメラ18が撮影した画像をデジタル化して画像処理手段24(後述する。)へ送る画像入力手段22と、画像入力手段22から送られた画像を処理して測定対象物14の三次元情報を抽出する画像処理手段24とを有して構成されている。

ここで、2値化投影パターン投影手段20は、図10(a)(b)(c)(d)に示すような2値化投影パターンを生成する2値化投影パターン生成部20aと、2値化投影パターン生成部20aにおいて生成された2値化投影パターンを測定対象物14へ投影するようにカメラ16を制御する2値化投影パターン投影制御部20bとを有して構成されている。
即ち、この2値化投影パターン投影手段20においては、2値化投影パターン生成部20aで所定の幅Wの光透過領域100aと光非透過領域100bとからなる複数の2値化投影パターンを生成する。
そして、空間コード画像生成処理(後述する。)を行う場合には、2値化投影パターン投影制御部20bがプロジェクタ16を制御して、2値化投影パターン生成部20aが生成した種類の異なる複数の2値化投影パターンを測定対象物14の表面にそれぞれ投影する。この際には、2値化投影パターン投影制御部20bは、測定対象物14の表面に投影する2値化投影パターンを幅W方向へシフトしない。
一方、位相シフト画像生成処理(後述する。)を行う場合には、2値化投影パターン投影制御部20bがプロジェクタ16を制御して、2値化投影パターン生成部20aが生成した複数の2値化投影パターンのいずれか1つを測定対象物14の表面に投影する。この際には、2値化投影パターン投影制御部20bは、測定対象物14の表面に投影する2値化投影パターンを幅W方向に所定の移動量ずつ順次にシフトさせながら投影する。
この移動量は任意であり、幅Wよりも小さくてもよいし大きくてもよいが、この移動量が、測定対象物14における3次元形状の形状計測の測定分解能に関する最小分解能となる。
次に、画像入力手段22は、測定対象物14の表面に投影された2値化投影パターンをカメラ18により撮影し、当該撮影により得られた画像をデジタル化して画像処理手段24へ入力するものである。
さらに、画像処理手段24は、画像入力手段22から送られた画像を処理して測定対象物14の三次元情報を抽出するものであり、2値化投影パターン生成部20aが生成した種類の異なる複数の2値化投影パターンを測定対象物14の表面にそれぞれ投影し、カメラ18により2値化投影パターンを投影された測定対象物14の表面を、当該種類の異なる複数の2値化投影パターン毎に撮影した画像を画像入力手段22から送られて、当該送られた画像を合成した画像(以下、「空間コード画像」と適宜に称する。)を生成する空間コード画像処理を行う空間コード画像生成手段24aと、2値化投影パターン生成部20aが生成したいずれか1つの2値化投影パターンを幅W方向に所定の移動量だけ順次にシフトさせながら測定対象物14の表面に投影し、カメラ18により2値化投影パターンを投影された測定対象物14の表面をシフト毎に撮影した画像を画像入力手段22から送られて、当該送られた画像を合成した画像(以下、「位相シフト画像」と適宜に称する。)を生成する位相シフト画像生成処理を行う位相シフト画像生成手段24bと、空間コード画像生成手段24aにより得られた空間コード画像(空間コード値)と位相シフト画像生成手段24bにより得られた位相シフト画像(シフトコード値)とを合成した画像たる位相シフト空間コード画像を生成する位相シフト空間コード画像生成手段24cと、位相シフト空間コード画像生成手段24cにより得られた位相シフト空間コード画像から測定対象物14の3次元形状情報を得る3次元形状情報取得手段24dとを有して構成されている。
そして、3次元形状情報取得手段24dにより取得された測定対象物14の3次元形状情報は、表示装置12fなどへ出力されて利用に供される。
なお、位相シフト空間コード画像生成手段24cにより得られた画像たる位相シフト空間コード画像は空間コード画像であるので、3次元形状情報取得手段24dは、空間コード化法のアルゴリズムのままで測定対象物14の3次元形状情報を取得することができる。換言すれば、3次元形状情報取得手段24dは、従来より公知の技術により構築することができ、従来より公知の技術を利用して3次元形状情報が得られる。

次ぎに、図12に示すフローチャートを参照しながら、3次元形状測定装置10の動作についてさらに詳細に説明する。
即ち、この3次元形状測定装置10において測定対象物14の3次元形状情報を得るには、まず、空間をコード化するために、所定の幅Wがそれぞれ異なる複数の2値化投影パターンを生成する(ステップS1202)。
ここで、空間を分割するためのスリットの数をnとすると、logn枚の異なる2値化投影パターンを用意しなければならない。
次に、ステップS1202で生成された2値化投影パターンの中で任意の一つを選択して、位相シフト画像を生成する位相シフト画像生成処理を行う(ステップS1204)。即ち、プロジェクタ16により、選択した2値化投影パターンを幅W方向に所定の移動量だけ順次にシフトさせながら測定対象物14の表面に投影し、カメラ18により2値化投影パターンを投影された測定対象物14の表面をシフト毎に撮影した画像を画像入力手段22から送られて、当該送られた画像を合成して位相シフト画像を生成する。
つまり、位相シフト画像生成処理においては、後述する空間コード画像生成処理に必要な2値化投影パターンのうちの任意の一つ選択して用いるものであり、この位相シフト画像生成処理で用いる2値化投影パターンを「シフトパターン」と適宜に称することとする。
シフトパターンとしては、原理的にはいずれの2値化投影パターンを用いてもよく、いずれの2値化投影パターンでも同様の効果を得ることが可能であるが、シフト数を考慮すると最も幅Wの狭い2値化投影パターン、即ち、LSBパターンを用いることが好ましいものである。
即ち、シフトパターンとしては、原理的にはいずれの2値化投影パターンを用いても同様な作用効果を得ることができるが、位相シフト画像生成処理においてはシフト毎に2値化投影パターンを投影された測定対象物14の画像を撮影するため、撮影枚数が最も少なくなる、換言すれば、シフト回数が最も少なくなるLSBパターンを用いてそれをシフトすることが好ましい。
また、シフトパターンをシフトする際のシフト毎の移動量(以下、「シフトピッチ」と適宜に称する。)は、3次元形状測定装置10のユーザーが希望する測定分解能のピッチでよく、このシフトピッチが最小分解能となる。なお、プロジェクタ16の最小ドットピッチを採用すると、プロジェクタ16の解像度に影響を受けることなく最も測定分解能を高くすることができる。
また、シフトパターンは、そのパターンの1周期以内で複数回シフトするものとする。即ち、シフトパターンのシフト幅は、例えば、LSBパターンの光透過領域100aと光非透過領域100bとの位置が入れ替わる1/2位相反転する範囲までシフトする。
ここで、測定対象物14の表面をシフト毎に撮影した画像を合成して位相シフト画像を生成する際には、シフト毎に撮影した各画像をそれぞれに重み無く(または、同一の重みでもよい。)足し込むことで、シフトピッチを最小分解能とする空間コード画像たる位相シフト画像を生成する。
なお、位相シフト画像は、2値化投影パターンのストライプ幅間隔である幅W間隔でコード値が繰り返され、生成される位相シフト画像中に同一コード値が複数存在するようになる。このため、位相シフト画像生成処理においては、撮影空間に対して絶対的なコード値は生成されない。
また、後述するように、2値化投影パターンに「グレイコード」を採用した場合には、足し込みの前にBit演算をすることが望ましい。
上記したステップS1204の処理を終了すると、ステップS1206の処理へ進み、ステップS1202で生成された所定の幅Wがそれぞれ異なる複数の2値化投影パターンを用いて、空間コード画像を生成する空間コード画像生成処理を行う。即ち、プロジェクタ16により、種類の異なる複数の2値化投影パターンを測定対象物14の表面にそれぞれ投影し、カメラ18により2値化投影パターンを投影された測定対象物14の表面を、当該種類の異なる複数の2値化投影パターン毎に撮影した画像を画像入力手段22から送られて、当該送られた画像を合成して空間コード画像を生成する。
つまり、空間コード画像生成処理においては、例えば、シフトパターンとしてLSBパターンを選択したならば、シフトさせる前のLSBパターンも含めた2値化投影パターンを測定対象物14の表面に投影し、従来より公知の、所謂、空間コード画像を生成する。
この空間コード画像の分解能はLSBパターンのストライプ幅であるが、撮影空間に対して絶対的なコードとなる。
次に、ステップS1204で生成した位相シフト画像とステップS1206で生成した空間コード画像とを合成して、位相シフト空間コード画像を生成する位相シフト空間コード画像生成処理を行う(ステップS1208)。この位相シフト空間コード画像は、撮影空間に対して相対的なコード値の画像たる位相シフト画像と撮影空間に対して絶対的なコード値の画像たる空間コード画像との合成であるため、これにより生成された位相シフト空間コード画像は、シフトピッチを測定分解能とし、かつ、撮影空間に対して絶対的なコード値の画像となる。即ち、シフトピッチまで細分化(高分解能化)された絶対的なコード画像(コード値)が生成される。
ステップS1208の処理を終了すると、ステップS1210の処理へ進み、ステップS1208で生成された位相シフト空間コード画像に基づいて、測定対象物14の3次元形状情報を取得する3次元形状情報取得処理を行う。即ち、位相シフト空間コード画像は空間コード画像であるため、位相シフト空間コード画像を空間コード画像として扱い、従来より公知の技術を用いて測定対象物14の3次元形状情報を取得する。
そして、ステップS1210の3次元形状情報取得処理により取得された測定対象物14の3次元形状情報は、表示装置12fなどへ出力されて各種の利用に供される。

次に、シフトパターンをシフトしながら各シフト毎における測定対象物14の表面へ投影された2値化投影パターン画像を撮影する手法の原理について、以下により詳細に説明することする。
まず、図13(a)(b)(c)には、光非透過領域(図13(a)(b)(c)においてハッチングで示す領域)が、16分割したシフトピッチ幅で図上左側から右側へシフトパターンをシフトして、光透過領域(図13(a)(b)(c)においてハッチングされていない領域)と光非透過領域とが反転する位置までシフトしたときにおける、各シフトパターンのシフト状態と各シフトピッチに対応するコード値とが示されている。なお、図13(a)(b)(c)において、黒1〜nは、シフトパターンをシフトしたことで光非透過領域がシフトパターンを含めて何回であったかを示している。
ここで、図13(a)は、シフトピッチを分解能とした空間に分割するものであり、シフトパターンを撮影した画像と、シフトごとに撮影した各画像の中の同一画素の2値化された値を単純に加算することによって空間を分割する。
例えば、図13(b)に示すように、シフトパターンを予め二分割しておけばシフト回数は1/2になり、撮影枚数ならびに撮影時間ともに1/2となる。
同様に、図13(c)に示すように、シフトパターンを4分割にすれば、シフト回数は1/4になり、さらに分割していけば同様に撮影枚数が減り、撮影時間も短縮することができる。
このことから、シフトパターンとしては、2値化投影パターンの中で最もストライプ幅の小さい、即ち、分割数の多いLSBパターンを選択することがより効率的である。

また、図13(b)および図13(c)に示すように、位相シフト画像は、2値化投影パターンのストライプの幅Wの間隔でコード値が繰り返され、生成される位相シフト画像中に同一コード値が複数存在することになる。このため、撮影空間に対して絶対的なコード値は生成されない。
しかしながら、シフトパターンをシフトさせることによって得られた同一コード値は、シフトパターンの光透過領域と光非透過領域という2値化された値の中では、複数回発生しないという特徴を備えている。
例えば、図13(c)において、「光非透過領域|光透過領域|光非透過領域|光透過領域」という2値化投影パターンで4分割されたパターンをシフトパターンとした場合、「黒1」というコード値は4カ所に発生している。
しかしながら、シフトパターンの中の「光透過領域」の中には1カ所しか発生しない。同様に、シフトパターンの中の「光非透過領域」の中にも「黒1」というコード値は1カ所しかない。
ここで、シフトさせる前のシフトパターンも含めた2値化投影パターンを投影および撮影し空間コード画像を生成すると、当該空間コード画像は分解能はLSBパターンのストライプ幅であるが、撮影空間に対して絶対的なコード値となる。
即ち、図14に示すように、シフトパターンの「右側の光透過領域」は「空間コード0」、「左側の光非透過領域」は「空間コード3」というように撮影空間を一意にコード化できる。
従って、図15に示すように、撮影空間に対して相対的なコード値を持つ位相シフト画像と、絶対的なコード値を持つ空間コード画像との複雑な演算システムを必要としない足し合わせによる合成により、シフトピッチを分解能とし撮影空間に対して絶対的なコード値を持つ位相シフト空間コード画像を生成することができる。
これにより、例えば空間を16分割するのに16回のシフトや撮影を行わずに撮影枚数を減少させ、撮影時間を短縮することができるようになる。

なお、上記においては、バイナリコードを用いた場合について説明したが、一般に用いられているグレイコードでも原理は同じである。
ここで、グレイコードで表現した2値化投影パターンを使用し、位相シフト空間コード画像を公知の表計算ソフトウェアを用いて処理した結果を図16に示す。
なお、図16において、光透過領域は「1」、光非透過領域は「0」で表され、空間コード値は実際は255までであるが、35までのみが表示されている。
また、プロジェクタの解像度が、2値化投影パターンにおけるLSBパターンのストライプの幅の4倍であるとしてシフトさせているため、バイナリコードであれば4回のシフトとなるが、グレイコードのため7回シフトとなっている。
G32〜G1はグレイコードで表現した2値化投影パターンを示し、S1〜S7はG1(LSB)を位相シフトしたパターンを示す。
足し合わせの覧には、位相シフトを単純に足し込みをした値を示している。ここで、足し合わせを行った位相シフト画像は「0〜3」までの変化でなくてはならないものが、「0〜7」「7〜0」と大きさと変化の方向が一定でなくなっている。
このままでも空間コード画像との合成は可能であるが、三次元情報抽出時の演算が複雑になってしまうので、空間コード画像との合成の前に図17に示すBit演算を行うことで大きさと変化の方向をバイナリコードから生成された空間コード画像に合わせる値で示した。
変換データの覧には、G32〜G1のグレイコードパターンをバイナリコードパターンに変換した値を示す。バイナリ空間コードはバイナリコードから生成された空間コード画像を示す。
Bit演算によりグレイコードからバイナリコードに変換された位相シフト画像とバイナリコードから生成された空間コード画像を合成した位相シフト空間コード画像は、図18に示すように、グラフの傾きが階段状になっているバイナリコードから生成された空間コード画像に対し、位相シフト空間コード画像ではグラフの傾きが直線状となり分解能が向上したことがわかる。

上記した3次元形状測定装置10においては、シフトパターンをシフトする機能および位相シフト画像と空間コード画像とを合成する機能以外の特別な構成を必要とせずに、従来の空間コード化法で用いる構成を用いて、撮影画像の合成だけで高解像度の空間コード画像が生成でき、これにより測定対象物14の3次元形状計測の分解能を向上することができる。
また、上記した3次元形状測定装置10においては、測定分解能はシフトピッチに依存し、2値化投影パターンのストライプの幅Wとは独立しているため、LSBパターンのストライプの幅Wは、プロジェクタ16やカメラ18の解像度に応じてLSBパターンのストライプが識別が可能な幅とすることができる。
なお、3次元形状測定装置10は、上記において説明した2値化投影パターンを任意の移動量でシフトすることで空間コードを細分化するようにした空間コード化法の他に、2値化投影パターンをシフトしない従来の空間コード化法も実施できるものである。この従来の空間コード化法も実施する場合には、2値化投影パターンをシフトすることなしに空間コード化法を適用する。

次に、上記した3次元形状測定装置10におけるキャリブレーション方法(以下、単に「本発明キャリブレーション方法」と適宜に称する。)について説明すると、本発明キャリブレーション方法は、ホモグラフィ算出に用いるプロジェクタ画像座標を、チェッカー交点群と同じ範囲で求めるようにしたものである。
以下に、本発明キャリブレーション方法の一例について詳細に説明するが、この例においては、空間コード画像を作成するまでは、「背景技術」の項において説明した従来の技術を用いることができる。
そして、空間コード画像を作成した後は、チェッカーボードの撮影画像をカメラレンズの歪み係数を用いて補正する。そして、その画像上でチェッカー交点のカメラ画像座標をサブピクセル単位で求める。なお、このカメラ座標の求め方は、「背景技術」の項において説明したカメラキャリブレーションにおけるステップS202の処理と同様にして行う。
次に、垂直にスリットの入った2値化投影パターン(例えば、図10(a)(b)(c)に示すように、垂直方向にスリット状の光透過領域100aが延長する2値化投影パターンである。)の撮影画像より生成した空間コード画像(図5(a)参照)から交点座標に対応する第1の空間コード値を取得する。ここで、第1の空間コード値を取得するときは、空間コード画像の標本化・量子化誤差の補正を行う。
また、同様にして水平にスリットの入った2値化投影パターン(例えば、図10(a)(b)(c)に示すスリット状の光透過領域100aの延長方向たる垂直方向と直交する方向、即ち、図10(a)(b)(c)上において水平方向にスリット状の光透過領域が延長する2値化投影パターンである。)の撮影画像より生成した空間コード画像(図5(b)参照)から交点座標に対応する第2の空間コード値を取得する。ここで、第2の空間コード値を取得するときは、空間コード画像の標本化・量子化誤差の補正を行う。
次に、上記のようにして得られた第1の空間コード値および第2の空間コード値を、それぞれプロジェクタ画像座標の水平・垂直方向座標とする。
このプロジェクタ画像座標に対応するチェッカーボード上の3D座標値には、カメラキャリブレーションの場合と同様に既知のデータを用いる。

上記した本発明キャリブレーション方法によれば、パラメータが正確である範囲はチェッカー交点のある範囲に限られることになるが、その範囲内においては高精度を確保することができる。
なお、チェッカーパターンがカメラ画像に占める範囲が図8に示す例ほど極端に狭くなく、チェッカーパターンがカメラ画像に占める範囲が十分に広い場合には、その広い範囲で高い精度を確保することができる。

ここで、上記した本発明キャリブレーション方法においては、空間コード画像を作成する際に従来の空間コード化法を用いたが、これに代えて、3次元形状測定装置10において計測時に実施する手法である、2値化投影パターンを任意の移動量でシフトすることで空間コードを細分化するようにした空間コード化法(位相シフト空間コード化法)を用いるようにしてもよい。
プロジェクタキャリブレーション時に行う空間コード化法の作業を位相シフト空間コード化法で行うことにより、より高い精度のパラメータを求めることができるようになる。
ここで、キャリブレーションを行う際には、空間コード値は水平方向座標系だけではなく、垂直方向座標系についても求める必要がある。
上記した3次元形状計測装置10の動作の説明は、図10(a)(b)(c)において光透過領域100aが垂直方向に延長した2値化投影パターンを水平方向にシフトする場合について行ったが、図10(a)(b)(c)に示す2値化投影パターンとは反対に光透過領域が水平方向に延長した2値化投影パターンを垂直方向にシフトする場合にも、上記した3次元形状計測装置10の動作と同様な動作を行えばよいものであるが、以下に、当該水平方向に延長した2値化投影パターンを垂直方向にシフトする場合について補足的に説明する。
例えば、キャリブレーションの対象とするプロジェクタの解像度がXGA(1024×768ピクセル)である場合に、図10(a)(b)(c)に示すような光透過領域100aが垂直方向に延長した2値化投影パターンを水平方向にシフトするには、水平方向に8ビットの空間コードの1コード分が連続する画素数4(=1024÷256)をさらに4分割することで、空間コードの分解能を4倍に向上することができるものである。
一方、垂直方向の空間コードを分割する場合は、1空間コードの画素数は3(=768÷256)である。
ここで、4画素を4分割する場合とは異なり、3画素を3分割する場合には、例えば、以下のような手法をとればよい。
即ち、図19(a)(b)(c)に示すように、3画素を3分割することにより垂直方向にシフトする位相シフト空間コード化法を行えばよい。この位相シフト空間コード化法は、上記において説明した垂直方向に延長した2値化投影パターンを水平方向にシフトする位相シフト空間コード化法と同様である。
以下、具体的に説明すると、水平方向に延長するスリット状の光透過領域を備えた2値化投影パターンは、図19(a)に示すように、垂直方向に延長する一定の高さTを有するとともに、高さT方向と直交する水平方向に延長するスリット状の光透過領域200aとスリット枠に相当する光非透過領域200bとが交互に連続するようにして形成されている。
こうした水平方向に延長する光透過領域200aを備えた2値化投影パターンを用いて空間コード画像を生成することになるものであり、「光非透過領域|光透過領域|光非透過領域」という2値化投影パターンで3分割されたシフトパターンにより、それぞれにコード値が決められ(図19(b)参照)、位相シフト画像値を生成する。
さらに、図19(c)に示すように、空間コード画像値と位相シフト画像値の足し合わせによる合成により位相シフト空間コード画像を生成する。
また、上記においては、バイナリコードを用いた場合について説明したが、一般に用いられているグレイコードでも原理は同じである。
ここで、グレイコードで表現した2値化投影パターンを使用し、位相シフト空間コード画像を処理した結果について図20の図表に示している。
なお、図20において、光透過領域は「1」、光非透過領域は「0」で表され、同じ空間コード値が3つずつ行方向に続いている。
また、プロジェクタの解像度が、2値化投影パターンにおけるLSBパターンのストライプ幅の3倍であるとしてシフトさせているため、バイナリコードであれば3回のシフトとなるが、グレイコードのため5回シフトとなっている。
20h〜01hはグレイコードパターンで表現した2値化投影パターンを示し、S1〜S5は01h(LSB)を位相シフトしたパターンを示す。
図20の図表に示すこれらの数値からは、以下のようにしてシフトデータを数値化することになる。
まず、グレイコードのLSBと同じビット値が、S1〜S5にいくつあるかを数え(図20の図表中では影の付いた範囲で示されている。)、その数が3以上である場合は3を引くことによりシフトデータを求める。
そして、元の空間コード値(20の図表中ではBinaryと表示している。)を3倍した値に、得られたシフトデータの値を加えることにより位相シフト空間コード値を求める。
このようにして、3画素分連続していた空間コードを3段階に分割することができるものであり、計測時に投影する画像は、8ビット目のグレイコードパターン画像を垂直方向に1〜5画素分シフトしたものになる。

なお、位相シフトグレーコードパターンの撮影画像を2値化するときには、オーバーサンプリング技術を利用してオーバーサンプリング2値画像を生成し、擬似的にサンプリング周波数を逓倍するようにして、位相シフト空間コード化法の解像度を向上させるようにしてもよい。
このオーバーサンプリング2値画像の生成について、図21を参照しながら疑似的にサンプリング周波数を8倍にする場合を例に説明すると、まず、2値化投影パターンを撮影画像の1画素幅に満たないシフト幅で順次にシフトさせながら測定対象物14の表面に投影し、カメラ18により2値化投影パターンを投影された測定対象物14の表面をシフト毎に撮影した画像(以下、「シフト画像」と適宜に称する。)について、各シフト画像のポジパターン(撮影した状態における輝度情報を示す画像)と各シフト画像のネガパターン(ポジパターンを反転した状態における輝度情報を示す画像)とのそれぞれの輝度情報から2値画像を生成する際に、シフト方向(以下、「x方向」と適宜に称する。)の画素数を元の画素の8倍にする。このようにすることにより、2値化投影パターンにおけるパターン境界をより高精度に特定することができるようになる。
次に、パターン境界付近におけるポジパターン輝度分布曲線とネガパターン輝度分布曲線とが交差する座標(以下、「交差座標」と適宜に称する。)xc×8(図21においては、元の画素の交差座標を「xc」で示す。)の座標値を、サブピクセルの単位で実数値として求める(なお、この求め方については、例えば、井口征士・佐藤宏介著の「三次元画像計測」(1990年 昭晃堂発行)の第113頁〜第114頁を参照する。)。
次に、上記で求めた実数値の小数部を切り捨てた値を交差座標xc×8のピクセル単位の座標値として設定し、当該交差座標xc×8の画素よりもx方向左側の座標(以下、「輝度変化左側座標」と適宜に称する。)の画素をxl×8(図21においては、元の画素の輝度変化左側座標「xl」で示す。)で表し、当該交差座標xc×8の画素よりもx方向右側の座標(以下、「輝度変化右側座標」と適宜に称する。)の画素をxr×8(図21においては、元の画素の輝度変化左側座標「xr」で示す。)で表すとき、輝度変化左側座標xl×8〜交差座標xc×8までを「1」(または「0」)とし、交差座標xc×8〜輝度変化右側座標xr×8までを「0」(または「1」)、即ち、、輝度変化左側座標xl×8〜交差座標xc×8の反転値として2値画像を生成する。本明細書においては、こうして生成された2値画像をオーバーサンプリング2値画像と称することとする。
そして、上記したステップS1204の処理においては、上記した手法により全てのシフト画像に対してオーバーサンプリング2値画像を生成し、生成したオーバーサンプリング2値画像を合成して、x方向に画素が8倍に拡大されたサイズのままの位相シフト画像であるオーバーサンプリング位相シフト画像を生成する。
また、上記したステップS1206の処理においては、上記した手法を用いて、複数の2値化投影パターンを投影した全ての画像に対してオーバーサンプリング2値画像を生成し、生成したオーバーサンプリング2値画像を合成して、x方向に画素が8倍に拡大されたサイズのままの空間コード画像であるオーバーサンプリング空間コード画像を生成する。
そして、ステップS1208においては、ステップS1204で生成されたオーバーサンプリング位相シフト画像とステップS1206で生成されたオーバーサンプリング空間コード画像とをを合成して、x方向に画素が8倍に拡大されたサイズのままの位相シフト空間コード画像であるオーバーサンプリング位相シフト空間コード画像を生成する。
ステップS1210においては、ステップS1208で生成されたオーバーサンプリング位相シフト空間コード画像に基づいて3次元形状情報を取得することになる。具体的には、オーバーサンプリング位相シフト空間コード画像の各画素座標とコード値とを用いて3次元座標を計算する。
この際に、2値化投影パターンのシフト方向であるx方向の画素数が8倍になっているので、画像座標値を1/8にしてから3次元座標値を計算する必要がある。
ここで、全ての画素について上記した計算を行うとデータ数が膨大になり無駄も大きいため、データ点数がオーバーサンプリングしない場合と同じとなるように、x方向に8画素おきに画像座標値を1/8にしてから3次元座標値を計算すればよい。
なお、単純に8画素おきに計算したのでは、オーバーサンプリング2値画像生成時に求めたパターン境界のサブピクセル座標値を十分に利用することができないため、当該8画素おき画素の座標に最も近くでパターン境界がサブピクセル推定された箇所の座標値を用いて、3次元座標値を計算することにより標本化誤差を軽減することができるようになる。
上記したように、オーバーサンプリング2値画像を用いることにより、極度に高解像度のカメラを必要とせずに、低い解像度で撮影しても、パターン境界を高精度で推定でき、位相シフト空間コード化法の解像度をさらに向上することができる。
また、上記した3次元形状測定装置10においては、シフトパターンをシフトする機能およびオーバーサンプリング位相シフト画像とオーバーサンプリング空間コード画像とを合成する機能以外の特別な構成を必要とせずに、従来の空間コード化法で用いる構成を用いて、撮影画像の合成だけで高解像度の空間コード画像が生成でき、これにより測定対象物14の3次元形状計測の分解能を向上することができる。
また、上記した3次元形状測定装置10においては、測定分解能はシフトピッチに依存し、2値化投影パターンのストライプの幅Wとは独立しているため、LSBパターンのストライプの幅Wは、カメラ16やプロジェクタ18の解像度に応じてLSBパターンのストライプが識別が可能な幅とすることができる。
なお、上記したオーバーサンプリングする手法については、光透過領域100aが垂直方向に延長した2値化投影パターンを水平方向にシフトする場合と、光透過領域100aが水平方向に延長した2値化投影パターンを垂直方向にシフトする場合とで、ともに共通である。

なお、上記した4画素を4分割する位相シフト空間コード化法においては、図17に示す演算式を用いてシフトデータを求めていたが(図16参照)、LSBと同じビット値を数える手法を用いてシフトデータを求めるようにすることもできる(図22参照)。

次に、本願発明者が行った各種の実験の結果ついて、その結果を示す図表を参照しながら詳細に説明する。
まず、3次元形状測定の精度を左右する要因として、
(1)計測時におけるプロジェクタレンズの歪み補正の有無
(2)計測時ならびにキャリブレーション時における位相シフト空間コード化法の適用の有無
(3)キャリブレーション時におけるチェッカーボード撮影時のボードの傾き角度
について着目し、これらの組み合わせにより計測精度にどのような傾向があらわれるかを検討した。
その結果、
a.キャリブレーションパラメータの算出時と計測時との双方において位相シフト空間コード化法を適用する、
b.計測時にプロジェクタのレンズの歪み補正を行う、
c.チェッカーボードの回転角度は、X軸およびY軸周りにそれぞれ15度、Z軸周りに10度程度でチェッカーボード画像がカメラ画像から多くはみ出さないようにすること、
という、上記a、b、cの条件を備えたときに最適な計測精度が得られることが判明した。

以下、第1の実験の詳細について説明すると、まず、キャリブレーションパラメータ算出時の条件は以下の通りである。なお、第1の実験においては、位相シフト空間コード化法を適用するにあたっては、光透過領域100aが垂直方向に延長した2値化投影パターンを水平方向にのみシフトするものとして、光透過領域100aが水平方向に延長した2値化投影パターンについては垂直方向へのシフトは行わないようにした。
カメラ:ARTRAY ARTCAM−130MI(画素数1280×1024ピクセル)
レンズ:焦点距離f=12mm、絞り値F=1.4、Mega Pixel対応
プロジェクタ:三菱電機株式会社製LVP−XL5(画素数1024×768ピクセル)
画像サイズ:640×480ピクセル(プロジェクタ画像のピクセル間隙間の影響を軽減するため、1280×1024ピクセルで一旦撮影し、2次元移動平均フィルタ適用後間引き縮小した。)
撮影パターン:35mm四方のマゼンタ色市松模様を横8個、縦7個のピッチで配置したものを、カラーレーザープリンタで普通紙に印刷後、セラミック製タイルに貼り付けたものをチェッカーボードとして用いる。
まず、キャリブレーションパラメータの精度について検討した。即ち、チェッカーボードをカメラから650mmの位置に設置し、X、Y、Z軸周りに全て5、10、15、20度の様々な組み合わせで傾けてキャリブレーションを行った。
その結果が図23の図表に示されており、この図表において列方向がチェッカーコードを傾け色々な角度にして撮影した回数(以下、「面数」と適宜に称する。)、セルの値はXYZ方向に傾けた角度を示す。このとき、チェッカーボードが撮影範囲から多くはみ出してしまう傾きは避けた。

次に、既知のカメラおよびプロジェクタ画像座標と3D座標の対応を用いて得られたキャリブレーションパラメータで3D座標を画像座標に変換した値が、それに対応する画像座標とどれだけの誤差があるかを検討した。また、プロジェクタ画像座標の求め方による違いも検討した。
従来は、プロジェクタ画像座標として、投影した水平・垂直スリット境界線の交点を算出していたが、それらのうち幾つかはチェッカーパターン画像の外側にある。
カメラ画像の歪み係数は、それを求める際に使ったチェッカー交点のある範囲では正確であるが、それ以外の範囲ではその精度は信頼できない。
そのような箇所の画像座標を用いると、歪み補正後の画像座標が不正確になり、その結果プロジェクタキャリブレーションパラメータも不正確になる。
そこで、チェッカー交点カメラ画像座標をカメラ歪み係数で補正した座標を求め、その補正座標に対応する空間コード値をプロジェクタ画像座標とした場合のパラメータ算出についても検討した(コード値を求める場合は、標本化・量子化誤差の補間を行う。)。
具体的には、図23に示す4つの傾き角度の組み合わせにおいて、
・カメラパラメータ、
・チェッカー交点位置を用い、コード値の算出に位相シフト空間コード化法を用いたプロジェクタ画像座標位置によるプロジェクタパラメータ、
・チェッカー交点位置を用い、コード値算出に従来の空間コード化法を用いたプロジェクタ画像座標位置によるプロジェクタパラメータ、
・スリット境界線の交点を用い、コード値の算出に従来の空間コード化法を用いたプロジェクタ画像座標位置によるプロジェクタパラメータ、
の4つのパラメータについて、パラメータの算出に用いた面数と、そのパラメータでの誤差(ピクセル単位での距離差)との関係を図24(a)(b)(c)(d)に示す。
図24(a)は傾き角度5度における面数に対するパラメータでの誤差を示しており、図24(b)は傾き角度10度における面数に対するパラメータでの誤差を示しており、図24(c)は傾き角度15度における面数に対するパラメータでの誤差を示しており、図24(d)は傾き角度20度における面数に対するパラメータでの誤差を示している。
また、図25には、図24(a)(b)(c)(d)のそれぞれの傾き角度におけるパラメータでの誤差の平均値が示されている。
なお、図25においては、スリット境界線の交点を用い、コード値の算出に空間コード化法を用いたプロジェクタ画像座標位置によるプロジェクタパラメータの場合、誤差が極端に大きい場合はそのデータを省いている。
図25に示されるように、キャリブレーション時のチェッカーボードの傾き角度としては、15度においてキャリブレーションパラメータの誤差が最も小さくなった。
そして、プロジェクタ画像座標の求め方としては、プロジェクタキャリブレーション時に、プロジェクタ画像座標と平板上の3D座標の対応を得るために用いる画像座標は、図24(a)(b)(c)(d))に示すように、スリットパターン境界の交点を用いるより、カメラキャリブレーション時に用いたチェッカー交点の範囲内で選ぶ方が、安定して良い精度が得られた。
また、位相シフト空間コード化法を用いた場合は、チェッカーボード傾き角度15度でわずかに誤差が小さくなっていた。

次に、上記した3次元形状測定の精度を左右する3点の要因がそれぞれどのように影響するかを検討した。
チェッカーボードの各傾き角度において、それぞれのキャリブレーション時の位相シフト空間コード化法適用の有無、計測時の位相シフト空間コード化法適用の有無およびプロジェクタレンズ歪み補正の有無の条件を変えて、平板をカメラから550mm〜850mmまで50mm毎に移動して計測した時の誤差を測定した。
図26(a)(b)(c)(d)には、その誤差の平均値が示されている。ここで、図26(a)は傾き角度5度における各条件の誤差の平均値を示し、図26(b)は傾き角度10における各条件の誤差の平均値を示し、図26(c)は傾き角度15度における各条件の誤差の平均値を示し、図26(d)は傾き角度20度における各条件の誤差の平均値を示している。
なお、誤差の測定方法はとしては、まず、550mm〜850mmの各位置で平板を3次元計測し、カメラ座標系でy=0、x=−100〜+100での平板表面のz座標を計算する。そして、各計測区間で同じxyカメラ座標でのz値の差を求める。
次に、得られたz値の差が物体座標系での50mmとどれだけ誤差があるかを計算する。
ここで、物体座標系とカメラ座標系のz軸は必ずしも平行ではないため、物体座標系でのz方向に50mmという移動量をカメラ座標系のz方向の値に換算してから比較する。換算にはカメラ外部パラメータを用いる。

この結果から、キャリブレーション時のチェッカーボードの傾き角度の影響としては、15度の傾き角度でキャリブレーションしたパラメータを用いて計測した結果が全体的に最も誤差が少なかった(図26(c)参照)。
また、キャリブレーション時の位相シフト空間コード化法の適用の影響としては、図26(c)に示す15度の傾き角度でキャリブレーションしたパラメータを用いた場合では、キャリブレーション時に位相シフト空間コード化法を用いた方が誤差が少ない(プロジェクタレンズ歪み補正ありの場合)。
さらに、計測時の位相シフト空間コード化法の適用の影響としては、キャリブレーション時のチェッカーボードの傾き角度にかかわらず、全ての場合において得られたキャリブレーションパラメータを用いて計測しても、位相シフト空間コード化法を用いた方が誤差が少なくなっている。
そして、計測時のプロジェクタレンズ歪み補正の影響としては、15度の傾きでキャリブレーションしたパラメータを用いて計測した場合は、歪み補正をした方が誤差は少ない(図26(c)参照)。
しかしながら、それ以外の角度の場合では歪み補正をすると誤差は大きくなっているが、これは、それらの角度で求められたキャリブレーションパラメータの精度が悪く、そのパラメータの1つである歪み係数も不正確となっていることが原因と考えられる。
図27には、図26(c)の平均化前の詳細データが示されているが、最も少ない誤差を得られた条件は、キャリブレーション時にチェッカーボードの傾き角度を15度とし、キャリブレーション時および計測時に位相シフト空間コード化法を用いるようにして、プロジェクタレンズ歪み補正を行い、平板の位置は800mm〜850mm間の場合において、誤差は0.02%であった。

次に、第2の実験の詳細について説明すると、まず、キャリブレーションパラメータ算出時の条件は以下の通りである。なお、第2の実験においては、位相シフト空間コード化法を適用するにあたっては、光透過領域100aが垂直方向に延長した2値化投影パターンを水平方向にシフトするとともに、光透過領域100aが水平方向に延長した2値化投影パターンを垂直方向へシフトするようにした。
カメラ:ARTRAY ARTCAM−130MI(画素数1280×1024ピクセル)
レンズ:焦点距離f=12mm、絞り値F=1.4、Mega Pixel対応
プロジェクタ:三菱電機株式会社製LVP−XL5(画素数1024×768ピクセル)
画像サイズ:640×480ピクセル(プロジェクタ画像のピクセル間隙間の影響を軽減するため、1280×1024ピクセルで一旦撮影し、2次元移動平均フィルタ適用後間引き縮小した。)
撮影パターン:35mm四方のマゼンタ色市松模様を横8個、縦7個のピッチで配置したものを、カラーレーザープリンタで普通紙に印刷後、セラミック製タイルに貼り付けたものをチェッカーボードとして用いる。
そして、チェッカーボードをカメラから650mmの位置に設置し、チェッカーボードの傾き角度は、上記した第1の実験の結果に鑑みて、最も精度の良い結果が得られた15度とした。なお、Z軸周りに関しては、Z軸周りに15度傾けるとチェッカーパターンが画像からはみ出す量が多いため、Z軸周りについては10度の傾き角度とした。
図28に示す図表には、撮影面数とそのときのXYZ傾き角度の対応関係を示している。この図28に示す図表において、列方向が面数を示し、セルの値はXYZ方向に傾けた角度を示す。
次に、チェッカー交点のカメラ画像座標とプロジェクタ画像座標と既知の3D座標との対応を用い、得られたキャリブレーションパラメータでその3D座標を画像座標に変換した値が、対応するカメラ/プロジェクタ画像座標でのチェッカー交点検出座標とどれだけ誤差があるかを調べた。その結果が、図29ならびに図30に示されている。
次に、キャリブレーション時の位相シフト空間コード化法適用の有無、計測時の位相シフト空間コード化法適用の有無およびプロジェクタレンズの歪み補正の有無の条件を変えて、平板をカメラから550mm〜850mmの位置まで50mm毎に移動して計測したときの誤差を測定した。
誤差の測定方法としては、まず、550mm〜850mmの各位置で平板を3次元計測し、カメラ座標系でy=0、x=−100〜+100での平板表面のz座標を計算する。そして、各計測区間で同じxyカメラ座標でのz値の差を求める。
次に、得られたz値の差が物体座標系での50mmとどれだけ誤差があるかを計算する。
ここで、物体座標系とカメラ座標系のz軸は必ずしも平行ではないため、物体座標系でのz方向に50mmという移動量をカメラ座標系のz方向の値に換算してから比較する。換算にはカメラ外部パラメータを用いる。

その結果が図31(a)(b)(c)、図32(a)(b)(c)ならびに図33(a)(b)(c)に示されている。
ここで、図31(a)は、キャリブレーションパラメータ算出時に19面を使用し、位相シフト空間コード化法を適用しない場合の各計測区間に対する誤差変化を示している。また、図31(b)は、キャリブレーションパラメータ算出時に19面を使用し、位相シフト空間コード化法を適用した場合の各計測区間に対する誤差変化を示している。さらに、図31(c)は、図31(a)(b)の全計測区間の誤差の平均値である。
次に、図32(a)は、キャリブレーションパラメータ算出時に20面を使用し、位相シフト空間コード化法を適用しない場合の各計測区間に対する誤差変化を示している。また、図32(b)は、キャリブレーションパラメータ算出時に20面を使用し、位相シフト空間コード化法を適用した場合の各計測区間に対する誤差変化を示している。さらに、図32(c)は、図32(a)(b)の全計測区間の誤差の平均値である。
一方、図33(a)は、キャリブレーションパラメータ算出時に21面を使用し、位相シフト空間コード化法を適用しない場合の各計測区間に対する誤差変化を示している。また、図33(b)は、キャリブレーションパラメータ算出時に21面を使用し、位相シフト空間コード化法を適用した場合の各計測区間に対する誤差変化を示している。さらに、図33(c)は、図33(a)(b)の全計測区間の誤差の平均値である。
これらの結果より、位相シフト空間コード化法を適用してキャリブレーションパラメータを求め、得られたパラメータを用いて計測を行う場合には、計測時に位相シフト空間コード化法を適用すると、適用していない場合に比べ誤差は少なくなっている。
さらに、計測時にプロジェクタレンズ歪み補正を行うことによっても誤差は少なくなっている(図31(c)、図32(c)、図33(c)の黒色棒グラフ参照)。
上記したように、キャリブレーション時に位相シフト空間コード化法を用いることによって得られたパラメータを用い、計測時において位相シフト空間コード化法を適用する場合、プロジェクタレンズ歪み補正を行うと誤差が少なくなっている。
これは、レンズ歪み係数は正確に求められ、適切に歪みを補正できていることを示している。さらに、歪み係数の計算に必要なプロジェクタレンズによる画像の歪み具合を、位相シフト空間コード化法によって従来技術の空間コード化法よりも正確にとられることができていると言える。
即ち、計測時だけでなく、キャリブレーション時にも位相シフト空間コード化法を用いることによって、より精度の高い3次元形状の測定が可能となる。
本発明は、工業デザインでの形状取得、人体の形状取得あるいは建築物の形状取得などに利用することができる。
図1(a)(b)は、ピンホールカメラモデルにおける画像座標系とカメラ座標系の関係を表した説明図である。 図2は、カメラキャリブレーションの処理手順を説明するためのフローチャートである。 図3は、交点座標をピクセル単位で求める場合の座標の中心としての円形領域Rを示す説明図である。 図4は、カメラ座標系とプロジェクタ座標系と物体座標系との位置関係を示す説明図である。 図5(a)(b)は、プロジェクタキャリブレーションにおける空間コード画像を示す説明図である。 図6は、パターン境界検出のためのパターンを示す説明図である。 図7は、パターン交点検出のための交点群を示す説明図である。 図8は、プロジェクタ画像座標上の交点とカメラキャリブレーション時に用いたチェッカー交点座標との関係を示す説明図である。 図9は、本発明による3次元形状測定装置におけるキャリブレーション方法を実施する3次元形状測定装置の概略構成説明図である。 図10(a)(b)(c)(d)は、各種の2値化投影パターンの例を示す説明図である。 図11は、図9に示す3次元形状測定装置の制御システムのブロック構成説明図である。 図12は、図9に示す3次元形状測定装置の動作を示すフローチャートである。 図13(a)(b)(c)は、図9に示す3次元形状測定装置の動作原理を示す説明図である。 図14は、図9に示す3次元形状測定装置の動作原理を示す説明図である。 図15は、図9に示す3次元形状測定装置の動作原理を示す説明図である。 図16は、グレイコードで表現した2値化投影パターンを使用し、位相シフト空間コード画像を公知の表計算ソフトウェアを用いて処理した結果を示す図表である。 図17は、Bit演算の演算内容を示すものである。 図18は、Bit演算によりグレイコードからバイナリコードに変換された位相シフト画像とバイナリコードから生成された空間コード画像を合成した位相シフト空間コード画像を示すグラフである。 図19(a)(b)(c)は、3画素を3分割することにより垂直方向にシフトする位相シフト空間コード化法の説明図である。 図20は、垂直3画素分の空間コードを分割し、グレイコードで表現した2値化投影パターンを使用し、位相シフト空間コード画像を公知の表計算ソフトウェアを用いることなく処理した結果を示す図表である。 図21は、オーバーサンプリング2値画像の生成の手法の説明図である。 図22は、水平4画素分の空間コードを分割し、グレイコードで表現した2値化投影パターンを使用し、位相シフト空間コード画像を公知の表計算ソフトウェアを用いることなく処理した結果を示す図表である。 図23は、チェッカーボードの傾き角度を表した図表である。 図24(a)(b)(c)(d)は、4つのパラメータについてパラメータの算出に用いた面数とそのパラメータでの誤差(ピクセル単位での距離差)との関係を示すグラフであり、図24(a)は傾き角度5度における面数に対するパラメータでの誤差を示し、図24(b)は傾き角度10度における面数に対するパラメータでの誤差を示し、 図24(c)は傾き角度15度における面数に対するパラメータでの誤差を示し、 図24(d)は傾き角度20度における面数に対するパラメータでの誤差を示している。 図25は、図24(a)(b)(c)(d)のそれぞれの傾き角度におけるパラメータでの誤差の平均値を示すグラフである。 図26(a)(b)(c)(d)は、チェッカーボードの各傾き角度において各条件での誤差の平均値を示すグラフであり、図26(a)は傾き角度5度における各条件の誤差の平均値を示し、図26(b)は傾き角度10度における各条件の誤差の平均値を示し、図26(c)は傾き角度15度における各条件の誤差の平均値を示し、図26(d)は傾き角度20度における各条件の誤差の平均値を示している。 図27は、図26(c)の平均化前の詳細データを示すグラフである。 図28は、撮影面数とその時のXYZ軸周りの傾き角度の対応を示した図表である。 図29は、各面数に対するキャリブレーションパラメータの誤差を示す図表である。 図30は、図29に示した図表をグラフで示したものである。 図31(a)(b)(c)は、キャリブレーションパラメータ算出時に19面を使用し、位相シフト空間コード化法適用の有無による各計測区間に対する誤差を示すグラフであり、図31(a)は、キャリブレーションパラメータ算出時に19面を使用し、位相シフト空間コード化法を適用しない場合の各計測区間に対する誤差変化を示し、 図31(b)は、キャリブレーションパラメータ算出時に19面を使用し、位相シフト空間コード化法を適用した場合の各計測区間に対する誤差変化を示し、図31(c)は、図31(a)(b)の全計測区間の誤差の平均値を示している。 図32(a)(b)(c)は、キャリブレーションパラメータ算出時に20面を使用し、位相シフト空間コード化法適用の有無による各計測区間に対する誤差を示すグラフであり、図32(a)は、キャリブレーションパラメータ算出時に20面を使用し、位相シフト空間コード化法を適用しない場合の各計測区間に対する誤差変化を示し、図32(b)は、キャリブレーションパラメータ算出時に20面を使用し、位相シフト空間コード化法を適用した場合の各計測区間に対する誤差変化を示し、図32(c)は、図32(a)(b)の全計測区間の誤差の平均値を示している。 図33は、キャリブレーションパラメータ算出時に21面を使用し、位相シフト空間コード化法適用の有無による各計測区間に対する誤差を示すグラフであり、図33(a)は、キャリブレーションパラメータ算出時に21面を使用し、位相シフト空間コード化法を適用しない場合の各計測区間に対する誤差変化を示し、図33(b)は、キャリブレーションパラメータ算出時に21面を使用し、位相シフト空間コード化法を適用した場合の各計測区間に対する誤差変化を示し、図33(c)は、図33(a)(b)の全計測区間の誤差の平均値を示している。
符号の説明
10 3次元形状測定装置
12 コンピュータ
12a バス
12b 中央処理装置(CPU)
12c リードオンリメモリ(ROM)
12d ランダムアクセスメモリ(RAM)
12e 入力装置
12f 表示装置
14 測定対象物
16 プロジェクタ
18 カメラ
20 2値化投影パターン投影手段
20a 2値化投影パターン生成部
20b 2値化投影パターン投影制御部
22 画像入力手段
24 画像処理手段
24a 空間コード画像生成手段
24b 位相シフト画像生成手段
24c 位相シフト空間コード画像生成手段
24d 3次元形状情報取得手段

Claims (1)

  1. 2値化投影パターンを投影するプロジェクタと、前記プロジェクタにより投影された2値化投影パターンを撮影するカメラとを有し、前記プロジェクタにより2値化投影パターンを投影して空間に対し絶対的なコード値を生成する空間コード化法を用いた3次元形状測定装置におけるキャリブレーション方法において、
    プロジェクタのキャリブレーションに用いるプロジェクタ画像座標群を、カメラのキャリブレーション時に用いたチェッカーボード撮影画像上のチェッカー交点座標群が存在する範囲内で選択して前記プロジェクタのキャリブレーションを行うものであり、
    前記カメラのキャリブレーションとして、
    チェッカーボードを用いて、異なる角度で撮影した同一平面でない複数のチェッカーボード画像をそれぞれ作成し、
    前記複数のチェッカーボード画像について、チェッカーパターンの交点座標の、2次元座標群と、それぞれに対応する既知の3次元座標とを求め、
    チェッカーパターンの交点座標の、2次元座標群と、それぞれに対応する既知の3次元座標を用いて、前記複数のチェッカーボード画像のそれぞれについて、射影変換行列を求め、
    各画像の前記射影変換行列の要素より、カメラ内部パラメータを推定し、
    各画像の前記射影変換行列と前記カメラ内部パラメータとより、前記複数のチェッカーボード画像についてのカメラ外部パラメータをそれぞれ推定し、
    すべての前記複数のチェッカーボード画像について、前記カメラ内部パラメータおよびすべての画像の前記カメラ外部パラメータとを最適化し、
    前記最適化したカメラ内部パラメータおよびすべての画像の前記最適化したカメラ外部パラメータとを用いて、歪み補正係数を算出し、
    前記歪み補正係数を含むカメラ内部パラメータと、カメラ外部パラメータとを最適化してカメラパラメータを決定するものとし、
    前記プロジェクタのキャリブレーションとして、
    平板に垂直方向のグレイコードパターンと水平方向のグレイコードパターンとを投影し画像をグレイコードパターン画像として撮影し、複数のグレイコードパターン画像をそれぞれ作成し、
    前記複数のグレイコードパターン画像のカメラレンズによる歪みを補正し、
    光透過領域が垂直方向に延長した2値化投影パターンを任意の移動量で水平方向にシフトすることで空間コードを細分化する方法により、前記複数のグレイコードパターン画像から垂直方向の位相シフト空間コード画像を作成し、
    光透過領域が水平方向に延長した2値化投影パターンを任意の移動量で垂直方向にシフトすることで空間コードを細分化する方法により、前記複数のグレイコードパターン画像から水平方向の位相シフト空間コード画像を作成し、
    チェッカーボードの撮影画像をカメラレンズの前記歪み補正係数を用いて補正し、
    補正されたチェッカーボードの撮影画像上でのチェッカー交点のカメラ画像座標サブピクセル単位で検出し、
    前記垂直方向の位相シフト空間コード画像から交点座標に対応する第1のコード値を取得し、前記第1のコード値をプロジェクタ画像座標の水平方向座標とし、
    前記水平方向の位相シフト空間コード画像から交点座標に対応する第2のコード値を取得し、前記第2のコード値をプロジェクタ画像座標の垂直方向座標とし、
    前記複数のグレイコードパターン画像について、前記プロジェクタ画像座標の水平方向座標と前記プロジェクタ画像座標の垂直方向座標と、前記カメラキャリブレーションの場合と同様に既知のデータを用いて求めた平板上の交点の3次元座標とを用いて、射影変換行列を求め、
    前記射影変換行列を用いて、プロジェクタ内部パラメータ、プロジェクタ外部パラメータ、プロジェクタキャリブレーションのためのレンズ歪み係数をそれぞれ算出し、
    前記プロジェクタ内部パラメータ、前記プロジェクタ外部パラメータ、前記レンズ歪み係数とを最適化して、プロジェクタパラメータを決定して、プロジェクタのキャリブレーションを行うものとする
    ことを特徴とする3次元形状測定装置におけるキャリブレーション方法。
JP2006136090A 2006-05-16 2006-05-16 3次元形状測定装置におけるキャリブレーション方法 Expired - Fee Related JP4917351B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006136090A JP4917351B2 (ja) 2006-05-16 2006-05-16 3次元形状測定装置におけるキャリブレーション方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006136090A JP4917351B2 (ja) 2006-05-16 2006-05-16 3次元形状測定装置におけるキャリブレーション方法

Publications (2)

Publication Number Publication Date
JP2007309660A JP2007309660A (ja) 2007-11-29
JP4917351B2 true JP4917351B2 (ja) 2012-04-18

Family

ID=38842667

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006136090A Expired - Fee Related JP4917351B2 (ja) 2006-05-16 2006-05-16 3次元形状測定装置におけるキャリブレーション方法

Country Status (1)

Country Link
JP (1) JP4917351B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015125401A1 (ja) 2014-02-18 2015-08-27 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 投影システム、半導体集積回路、および画像補正方法
EP3106312A1 (en) 2015-06-19 2016-12-21 Roland DG Corporation Printing device and printing method
US9654748B2 (en) 2014-12-25 2017-05-16 Panasonic Intellectual Property Management Co., Ltd. Projection device, and projection method
US10161745B2 (en) 2015-06-30 2018-12-25 Panasonic Intellectual Property Management Co., Ltd. Real-time-measurement projection device and three-dimensional-projection measurement device

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9046355B2 (en) 2009-07-29 2015-06-02 Canon Kabushiki Kaisha Measuring apparatus, measuring method, and program
JP5235842B2 (ja) * 2009-11-10 2013-07-10 日本電信電話株式会社 光学系パラメータ校正装置、光学系パラメータ校正方法、プログラム、及び記録媒体
US9188973B2 (en) * 2011-07-08 2015-11-17 Restoration Robotics, Inc. Calibration and transformation of a camera system's coordinate system
JP5857858B2 (ja) * 2012-04-13 2016-02-10 新日鐵住金株式会社 形状計測装置及び形状計測方法
JP6055391B2 (ja) * 2012-11-05 2016-12-27 株式会社デンソーアイティーラボラトリ 関連性判定装置、関連性判定プログラム、及び関連性判定方法
JP6172495B2 (ja) 2012-12-28 2017-08-02 株式会社リコー 校正装置、装置、プロジェクタ、3次元スキャナ、校正方法、方法、プログラム、及び記憶媒体
JP6058465B2 (ja) 2013-05-13 2017-01-11 ローランドディー.ジー.株式会社 印刷装置および印刷方法
JP2015007866A (ja) * 2013-06-25 2015-01-15 ローランドディー.ジー.株式会社 投影画像補正システム、投影画像補正方法、プログラムおよびコンピューター読み取り可能な記録媒体
CN103453835A (zh) * 2013-08-06 2013-12-18 王向阳 脊柱白光三维运动测量方法
JP6320051B2 (ja) * 2014-01-17 2018-05-09 キヤノン株式会社 三次元形状計測装置、三次元形状計測方法
JP6224476B2 (ja) 2014-02-07 2017-11-01 ローランドディー.ジー.株式会社 印刷装置および印刷方法
WO2015141080A1 (ja) * 2014-03-18 2015-09-24 アドバンストヘルスケア株式会社 プロジェクタシステム及びキャリブレーションボード
JP6377392B2 (ja) * 2014-04-08 2018-08-22 ローランドディー.ジー.株式会社 画像投影システムおよび画像投影方法
WO2016106196A1 (en) * 2014-12-22 2016-06-30 Cyberoptics Corporation Updating calibration of a three-dimensional measurement system
JP6182739B2 (ja) * 2014-12-25 2017-08-23 パナソニックIpマネジメント株式会社 投影装置及び投影方法
WO2018029950A1 (ja) * 2016-08-12 2018-02-15 オリンパス株式会社 較正装置、較正方法、光学装置、撮影装置、および投影装置
US11483528B2 (en) 2018-02-08 2022-10-25 Sony Corporation Information processing apparatus and information processing method
CN108765494B (zh) * 2018-05-21 2021-12-24 南昌航空大学 一种基于圆柱体标定物的多相机标定方法
CN112050751B (zh) * 2020-07-17 2022-07-22 深圳大学 一种投影仪标定方法、智能终端及存储介质
CN112629407B (zh) * 2020-11-24 2024-03-22 西安理工大学 基于图像分析的螺纹钢尺寸测量方法
CN112530020B (zh) * 2020-12-22 2024-08-09 珠海格力智能装备有限公司 三维数据的重建方法、装置、处理器和电子装置
CN113188478B (zh) * 2021-04-28 2022-10-18 伏燕军 一种远心显微三维测量系统混合标定方法
CN113310431B (zh) * 2021-05-25 2022-11-25 伏燕军 一种基于相位编码的四帧快速三维测量方法
CN116399227A (zh) * 2023-03-06 2023-07-07 中国科学院深圳先进技术研究院 一种基于mems振镜的结构光三维扫描系统标定方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11166818A (ja) * 1997-12-04 1999-06-22 Suzuki Motor Corp 三次元形状計測装置の校正方法及び校正装置
JP4347614B2 (ja) * 2003-06-10 2009-10-21 Jfeテクノリサーチ株式会社 3次元曲面形状の測定装置及び測定方法
JP4203389B2 (ja) * 2003-09-17 2008-12-24 株式会社リコー 光学的形状計測装置
JP4944435B2 (ja) * 2005-12-07 2012-05-30 ローランドディー.ジー.株式会社 三次元形状の測定方法およびその装置
JP4874657B2 (ja) * 2006-01-18 2012-02-15 ローランドディー.ジー.株式会社 三次元形状の測定方法およびその装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015125401A1 (ja) 2014-02-18 2015-08-27 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 投影システム、半導体集積回路、および画像補正方法
US9654748B2 (en) 2014-12-25 2017-05-16 Panasonic Intellectual Property Management Co., Ltd. Projection device, and projection method
EP3106312A1 (en) 2015-06-19 2016-12-21 Roland DG Corporation Printing device and printing method
US10161745B2 (en) 2015-06-30 2018-12-25 Panasonic Intellectual Property Management Co., Ltd. Real-time-measurement projection device and three-dimensional-projection measurement device

Also Published As

Publication number Publication date
JP2007309660A (ja) 2007-11-29

Similar Documents

Publication Publication Date Title
JP4917351B2 (ja) 3次元形状測定装置におけるキャリブレーション方法
JP4874657B2 (ja) 三次元形状の測定方法およびその装置
JP5029618B2 (ja) パターン投影法による3次元形状計測装置、方法およびプログラム
US6542250B1 (en) Method of three-dimensionally measuring object surfaces
JP4480488B2 (ja) 計測装置、コンピュータ数値制御装置及びプログラム
JP5576726B2 (ja) 三次元計測装置、三次元計測方法、及びプログラム
JP6565037B2 (ja) 変位測定装置、変位測定方法およびそのプログラム
JP5633058B1 (ja) 3次元計測装置及び3次元計測方法
Yang et al. Flexible and accurate implementation of a binocular structured light system
JP6581359B2 (ja) 情報処理装置及びその制御方法及びプログラム及び記憶媒体、並びに、ビデオカメラ
JP6035031B2 (ja) 複数の格子を用いた三次元形状計測装置
US20160086311A1 (en) High-resolution image generation apparatus, high-resolution image generation method, and high-resolution image generation program
JP2021117228A (ja) 三次元形状測定装置及び三次元形状測定方法
JP2011155412A (ja) 投影システムおよび投影システムにおける歪み修正方法
WO2010013289A1 (ja) カメラ校正画像作成装置およびカメラ校正画像作成プログラム
JPWO2018168757A1 (ja) 画像処理装置、システム、画像処理方法、物品の製造方法、プログラム
JP4944435B2 (ja) 三次元形状の測定方法およびその装置
US20210183092A1 (en) Measuring apparatus, measuring method and microscope system
JP2011075336A (ja) 3次元形状計測装置、3次元形状計測方法
US20230083039A1 (en) Method and system for optically measuring an object having a specular and/or partially specular surface and corresponding measuring arrangement
JP2009146150A (ja) 特徴位置検出方法及び特徴位置検出装置
JP6867766B2 (ja) 情報処理装置およびその制御方法、プログラム
CN115127481A (zh) 条纹投影3d测量方法、终端设备及计算机可读存储介质
KR20090022486A (ko) 단일 카메라를 이용한 객체 정보 추정기 및 그 방법
JP5968370B2 (ja) 三次元計測装置、三次元計測方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090424

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111011

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111209

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: 20120110

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120126

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees