【課題を解決するための手段】
【0045】
上記の目的を達成するために、本発明によるキャリブレーション方法は、カメラおよびプロジェクタを固定し、測定対象物を移動して(または、カメラおよびプロジェクタを移動し、測定対象物を固定して)光切断法により三次元形状を測定する際に、測定対象物が移動可能な直線上の少なくとも2点において、カメラキャリブレーションを行って、測定対象物の移動量に応じたカメラおよびプロジェクタの外部パラメータを算出するようにしたものである。
【0046】
なお、カメラの内部パラメータについては、事前に取得するようにしてもよいし、上記した2点のうちのどちらか1点において取得するようにしてもよい。
【0047】
また、測定対象物は、テーブルなどの移動手段上に載置され、当該移動手段の移動により移動することとなるため、「測定対象物が移動可能な直線上の少なくとも2点」とは、換言すると、「移動手段が移動可能な直線上の少なくとも2点」となる。同様に、「測定対象物の移動量に応じたカメラおよびプロジェクタの外部パラメータ」とは、換言すると、「移動手段の移動量に応じたカメラおよびプロジェクタの外部パラメータ」となる。
【0048】
ここで、実際には移動手段が直線上を移動する構成となっているが、移動手段上の所定の点から見るとカメラが移動していると考えることができる(
図3(a)(b)を参照する。なお、
図3(a)(b)においては、所定の点としてワールド座標原点を示している。)。
【0049】
このため、本発明においては、実際にはカメラ(プロジェクタ)が固定されて移動手段が移動しているのだが、移動手段が固定されてカメラ(プロジェクタ)が移動するものと考えるようにしたものである。
【0050】
即ち、移動手段の移動量を相対的なカメラ(プロジェクタ)の移動量とみなすようにしたものである。
【0051】
そして、移動手段の移動量に応じたカメラの外部パラメータを算出する場合には、移動手段が移動可能な直線上の少なくとも2点におけるカメラの外部パラメータ(回転行列および並進ベクトルである。)を算出し、算出した少なくとも2点における外部パラメータに基づいて、移動手段の移動ピッチ単位で按分比例し、移動手段の移動ピッチ毎のカメラの外部パラメータを取得するようにしたものである。
【0052】
具体的には、移動手段の移動量に応じたカメラの外部パラメータ(以下、「カメラの動的な外部パラメータ」と適宜に称することとする。)を算出する計算式を作成し、作成した計算式からカメラの動的な外部パラメータ(カメラの位置を示す並進ベクトルおよびカメラの向きを示す回転行列)を算出するようにしたものである。
【0053】
さらに、算出したカメラの動的な外部パラメータから、移動手段の移動量に応じたプロジェクタの外部パラメータ(以下、「プロジェクタの動的な外部パラメータ」と適宜に称することとする。)を算出するようにしたものである。
【0054】
以下、カメラの動的な外部パラメータおよびプロジェクタの動的な外部パラメータの算出方法について説明する。
【0055】
ここで、以下の説明においては、移動手段が前後方向に移動するものとし、「チェッカーシート(後述する。)がカメラに撮影可能な最も前方側の移動手段の位置」を「前端」と称するとともに、「チェッカーシート(図示せず。)がカメラに撮影可能な最も後方側の移動手段の位置」を「後端」と称する。
【0056】
そして、移動手段は前後方向に所定のピッチ幅単位で移動するものとし、移動手段が前端に位置するときのカメラの外部パラメータを並進ベクトル「Tf」、回転行列「Rf」とし、移動手段が後端にあるときのカメラの外部パラメータを並進ベクトル「Tb」、回転行列「Rb」とする。
【0057】
また、移動手段の前端から後端までの総移動量を「S」、移動手段が移動する最小単位たる所定のピッチ幅を「P」とし、移動手段の前端からの移動カウント数を「C」とする。なお、移動手段が移動する際には、移動手段の移動量を前端を基点として所定のピッチ幅単位でカウントするようにしており、移動手段の前端からの移動カウント数とはこのカウント数である。
【0058】
まず、カメラの動的な外部パラメータの算出方法について説明する。つまり、移動手段の移動量に応じた並進ベクトルおよび回転行列の算出方法について説明する。
【0059】
移動手段が前端から後端に移動するときの移動手段の移動量に応じた並進ベクトル「T」は、下記の(1)式により表される。
T=Tf+(Tb−Tf)/S×P×C・・・(1)
【0060】
また、移動手段が直線的にのみ移動しているとすれば、理想的には回転行列を考慮する必要はないが、現実的には回転行列の変化を検討する必要がある。
【0061】
ここで、並進ベクトルと同様に、移動手段が前端から後端に移動すると、回転行列は、
Rf→Rb
に変化する。この変化は、回転行列の回転である。
【0062】
回転行列を回転させる行列を「n」とすると、
Rf×n=Rb
となる。
【0063】
従って、
n=Rf
−1×Rb
となる。なお、Rf
−1はRfの逆行列である。Rf自体が回転行列であり、正規直交行列なので逆行列は存在する。
【0064】
次に、並進ベクトルと同様に、移動手段の移動量に応じた「n」の変化を考える。
【0065】
「n」は回転行列であるため、移動手段の移動量に応じた(移動手段の前端からの移動カウント数に応じた)回転量(角度)を直接取得することはできない。
【0066】
そこで、「n」を回転軸と回転量(角度)とに分解する必要があり、ロドリゲスの回転公式を使用する。なお、ロドリゲスの回転公式、回転軸および回転量への変換については、公知の技術であるため、その詳細な説明は省略する。
【0067】
即ち、「n」はロドリゲスの回転公式により、
n=θj
となる。なお、「θ」は回転量、「j」は回転軸(単位方向ベクトル)とする。
【0068】
この結果、移動手段の移動量に応じた回転量を「θ’」とすると、
θ’=θ/S×P×C
となる。
【0069】
従って、ロドリゲスの回転公式で表現された移動手段の移動量に応じた回転ベクトルは、「θ’j」となる。
【0070】
この「θ’j」をロドリゲスの逆変換を行って回転行列に戻すことで、移動手段の移動量に応じた回転行列「n’」を取得することができる。
【0071】
これにより、移動手段の移動量に応じた回転行列「Rb’」は、下記の(2)式により表される。
Rb’=Rf×n’・・・(2)
【0072】
このようにして、移動カウント数に応じて上記した(1)式および(2)式からカメラの動的な外部パラメータ(移動手段の移動量に応じた並進ベクトル「T」および回転行列「Rb’」)を求めることができるようになる。
【0073】
次に、プロジェクタの動的な外部パラメータの算出方法について説明する。
【0074】
まず、移動手段が前端に位置するときのプロジェクタから出ている光平面を示す平面の方程式「ax+by+cz+d=0」の係数a、b、c、d(つまり、プロジェクタの外部パラメータである。)を算出する。
【0075】
なお、プロジェクタの外部パラメータの算出方法については、公知の技術を用いているため、その詳細な説明は省略することとする。
【0076】
また、算出した平面の方程式により表される光平面は、移動手段が移動してもカメラとの相対的な位置関係は変化しない。つまり、ワールド座標系で当該平面の方程式を表現すると、移動手段の移動により変化するものであるが、カメラ座標系で当該平面の方程式を表現すると、移動手段が移動しても変化することはない。
【0077】
即ち、プロジェクタの動的な外部パラメータを求めるには、まず、光平面を示す平面の方程式をワールド座標系で表現する。つまり、ax+by+cz+d=0と表す。
【0078】
次に、「ax+by+cz+d=0」上の任意の3点P
0W、P
1W、P
2W(この任意の3点P
0W、P
1W、P
2Wは勿論、ワールド座標である。)を、
P
0W(X
0W、Y
0W、Z
0W)
P
1W(X
1W、Y
1W、Z
1W)
P
2W(X
2W、Y
2W、Z
2W)
とする。
【0079】
そして、点P
0W、P
1W、P
2Wをそれぞれ、移動手段が前端に位置するときのカメラの外部パラメータ(回転行列:Rf、並進ベクトル:Tf)を使用して、カメラ座標系で表す。
【0080】
即ち、カメラ座標系において点P
0Wに対応する点を点P
0Cとすると、
P
0C=Rf×P
0W+Tf
により算出し、P
0C(X
0C、Y
0C、Z
0C)を取得する。
【0081】
また、カメラ座標系において点P
1Wに対応する点を点P
1Cとすると、
P
1C=Rf×P
1W+Tf
により算出し、P
1C(X
1C、Y
1C、Z
1C)を取得する。
【0082】
さらに、カメラ座標系において点P
2Wに対応する点を点P
2Cとすると、
P
2C=Rf×P
2W+Tf
により算出し、P
2C(X
2C、Y
2C、Z
2C)を取得する。
【0083】
その後、点P
0C、P
1C、P
2Cをカメラの動的な外部パラメータを使用して、動的なワールド座標系で表現する。
【0084】
即ち、点P
0Cを動的なワールド座標系で表現した点を点P’
0Wとすると、
P’
0W=inv(Rb’)×P
0C−inv(Rb’)×T
により算出し、P’
0W(X’
0W、Y’
0W、Z’
0W)を取得する。
【0085】
また、点P
1Cを動的なワールド座標系で表現した点を点P’
1Wとすると、
P’
1W=inv(Rb’)×P
1C−inv(Rb’)×T
により算出し、P’
1W(X’
1W、Y’
1W、Z’
1W)を取得する。
【0086】
さらに、点P
2Cを動的なワールド座標系で表現した点を点P’
2Wとすると、
P’
2W=inv(Rb’)×P
2C−inv(Rb’)×T
により算出し、P’
2W(X’
2W、Y’
2W、Z’
2W)を取得する。
【0087】
なお、inv(Rb’)は、Rb’の逆行列である。
【0088】
こうして算出した3点P’
0W、P’
1W、P’
2Wから新たに光平面を示す平面の方程式「a’x+b’y+c’z+d’=0」を求める。
【0089】
こうして求められた係数「a’、b’、c’、d’」がプロジェクタの動的な外部パラメータとなる。
【0090】
従って、プロジェクタの動的な外部パラメータは、移動カウント数に応じて変化するカメラの動的な外部パラメータに応じて変化することとなる。
【0091】
なお、幾何学的には、「ax+by+cz+d=0」(ワールド座標系表現)を直接カメラの動的な外部パラメータ「T」、「Rb’」により「a’x+b’y+c’z+d’=0」変換することもできる。
【0092】
ここで、上記においては、測定対象物が移動可能な直線上の2点(前端および後端)においてカメラキャリブレーションを行う場合について説明したが、測定対象物が移動可能な直線上の3点以上の点においてキャリブレーションを行う場合には、隣り合う2点間において、上記した測定対象物が移動可能な直線上の2点(前端および後端)においてキャリブレーションを行う場合と同様の処理を行って、カメラおよびプロジェクタの動的な外部パラメータを算出するようにすればよい。
【0093】
上記にようにしてカメラの内部パラメータおよび動的な外部パラメータとプロジェクタの動的な外部パラメータとを算出した後、算出したカメラの内部パラメータおよび動的な外部パラメータとプロジェクタの動的な外部パラメータとを利用して三次元形状の測定を行う。
【0094】
即ち、カメラにより撮影された映像の移動量(つまり、移動カウント数)に応じたカメラの動的な外部パラメータおよびプロジェクタの動的な外部パラメータに基づいて、当該映像におけるスリット光により形成された測定対象物の三次元形状を測定し、こうした処理を繰り返すことにより、測定対象物の全体の三次元形状を測定する。
【0095】
このように、本発明によるキャリブレーション方法においては、複雑なアルゴリズムを使用することなく、容易に、測定対象物(テーブル上に載置された測定対象物である。)の移動量に応じたカメラおよびプロジェクタの外部パラメータを取得することができるようになり、簡単にキャリブレーションすることができるようになる。
【0096】
また、本発明による三次元加工装置は、上記したキャリブレーション方法を利用して、キャリブレーションを行い、その後、所望の形状の模型をスキャンして当該模型の三次元形状の測定を行って、この測定結果から専用のソフトなどを利用して所望の形状の三次元形状データを作成するようにしたものである。
【0097】
これにより、本発明による三次元加工装置においては、容易に三次元形状データを作成することができるようになり、被加工物を所望の形状に加工することが可能となる。
【0098】
即ち、本発明によるキャリブレーション方法は、光切断法により測定対象物の三次元形状の測定を行うとともに、スリット光を投光するプロジェクタと、上記プロジェクタより投光されたスリット光を撮影するカメラとが固定的に配設され、移動手段により上記測定対象物を移動するようにした三次元形状測定装置におけるキャリブレーション方法において、カメラによる撮影が可能であり、かつ、移動手段の移動可能な少なくとも2箇所において上記カメラの外部パラメータを算出し、算出した上記カメラの外部パラメータから上記移動手段の最小移動単位で按分比例して、上記移動手段の移動量に基づく上記カメラの外部パラメータを取得し、取得した移動量に基づく上記カメラの外部パラメータからプロジェクタの外部パラメータを取得するようにしたものである。
【0099】
また、本発明によるキャリブレーション方法は、上記した発明において、上記移動手段の移動可能な少なくとも2箇所は、上記カメラにより上記移動手段に載置されたチェッカーシートを撮影可能な最も前方側たる前端部と、上記カメラにより上記移動手段に載置された上記チェッカーシートを撮影可能な最も後方側たる後端部とであり、上記カメラを上記前端部に位置させて上記チェッカーシートを撮影し、上記カメラを上記後端部に位置させて上記チェッカーシートをそれぞれ異なる少なくとも6つの方向から撮影し、上記カメラを再度上記前端部に位置させて上記チェッカーシートを、未だ撮影していない方向であり、かつ、それぞれ異なる少なくとも5つの方向から撮影することによって、上記前端部において少なくとも6つのそれぞれ異なる方向から撮影したチェッカーシートの映像を取得するとともに、上記後端部において少なくとも6つのそれぞれ異なる方向から撮影したチェッカーシートの映像を取得し、上記前端部において少なくとも6つのそれぞれ異なる方向から撮影したチェッカーシートの映像に基づいて、上記前端部におけるカメラの外部パラメータを求めるとともに、上記後端部において少なくとも6つのそれぞれ異なる方向から撮影したチェッカーシートの映像に基づいて、上記後端部におけるカメラの外部パラメータを求めるようにしたものである。
【0100】
また、本発明による三次元加工装置は、三次元形状データに基づいて、被加工物に対して三次元加工を行う三次元加工装置において、上記被加工物や所望の形状に形成された測定対象物を載置するとともに、傾斜角度をそれぞれ異なる少なくとも6つの方向に変更することが可能な移動手段と、上記移動手段上にスリット光を投光するプロジェクタと、上記プロジェクタより投光されたスリット光を撮影するカメラと、上記移動手段の移動および傾斜角度を制御するとともに、上記プロジェクタのスリット光の投光のタイミングおよび上記カメラの撮影のタイミングを制御する制御手段と、上記した本発明によるキャリブレーション方法によりキャリブレーションを行うとともに、光切断法により上記測定対象物の三次元形状を測定して、上記測定対象物の三次元形状データを作成する三次元形状測定手段とを有するようにしたものである。
【0101】
また、本発明による三次元加工装置は、上記した発明において、上記カメラおよび上記プロジェクタは、キャリブレーションおよび上記測定対象物の三次元形状データを作成する際に取り付けられ、上記被加工物に対して三次元加工を行う際には取り外されるようにしたものである。