説明

キャリブレーション装置および方法、ならびにそれらを利用可能な3次元モデリング装置および3次元モデリングシステム

【課題】 カメラ付き3次元座標計測用多関節アームシステムを用いて撮影画像から3次元モデリングを行うためには、正確なカメラ位置情報が必要である。
【解決手段】 回転台10とカメラ付き3次元座標計測用多関節アームシステム40の位置関係は、回転台座標系からアーム基準座標系への変換行列Mにより規定され、カメラ設置軸20dとカメラ30の位置関係は、カメラ設置座標系からカメラ座標系への変換行列Mにより規定される。これらの位置関係を事前にキャリブレーションする。アーム基準関節18aとカメラ設置関節18cの位置関係を規定するアーム基準座標系からカメラ設置軸座標系への変換行列Mはカメラ付き3次元座標計測用多関節アームシステム40のアーム出力データから得られる。任意のアームポジションにおける回転台−カメラ座標変換行列Mは、計算式M=M・M・Mにより算出される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3次元モデリング技術に関し、特に対象物を撮影した画像から3次元形状を生成する3次元モデリング装置および3次元モデリングシステム、ならびに3次元モデリング装置をキャリブレーションするキャリブレーション装置および方法に関する。
【背景技術】
【0002】
コンピュータグラフィックスが各種分野で利用されており、3次元CADなど高精度の3次元グラフィックス画像が必要とされるビジネスアプリケーションもある。また、コンピュータゲームなどのエンドユーザアプリケーションにおいても、ユーザの3次元グラフィックス画像に対する品質の要求が高くなっており、より複雑な3次元形状を画面上で表現したいというニーズがある。複雑で精細な3次元グラフィックス画像を描画するためには、実際の3次元物体をモデル化し、その3次元モデルデータを入力する必要があるが、そのデータ量は膨大であり、初期入力の効率化が望まれる。そこで、対象物体を撮影して3次元形状データを自動取得する3次元スキャナが利用されている。
【0003】
たとえば、特許文献1には、位置検出用マークを付与した回転台上に載せた対象物体を回転台とともにカメラで撮影し、その複数の撮影画像の各画像における位置検出マークから撮影位置情報を、またその撮影画像からシルエット画像を得て、立体モデルを生成する3次元モデリング装置が開示されている。
【特許文献1】特開2001−108421号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1の3次元モデリング装置では、カメラの位置が固定されており、複雑な形状の対象物体をいろいろな角度から撮影して3次元形状を取得するためには不向きであった。カメラ位置の自由度を上げるためにはカメラを3次元座標計測用多関節アームに取り付けることが考えられるが、3次元座標計測用多関節アームでカメラの位置を移動させた場合、撮影毎にカメラの正確な位置情報が必要となる。3次元モデリングにおいては、撮影画像から3次元形状を再現するため、わずかな誤差の影響で3次元形状の再現精度が悪くなる。カメラ付き3次元座標計測用多関節アームを用いた3次元モデリングシステムでは、システムをキャリブレーションしてカメラの位置情報を正確に効率良く算出することが不可欠である。
【0005】
本発明はこうした状況に鑑みてなされたもので、その目的は、撮影位置に自由度をもたせることのできる3次元モデリング技術を提供することにある。また別の目的は、撮影位置に自由度をもたせた3次元モデリング装置のキャリブレーション技術を提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明のある態様のキャリブレーション装置は、カメラ付き3次元座標計測用多関節アームと対象物を載せるための台とを含む3次元モデリング装置をキャリブレーションする装置であって、前記台上に設置された較正用パネルに設けられた計測点を前記カメラ付き3次元座標計測用多関節アームによって計測して取得される前記計測点の座標値に基づいて、前記台と前記カメラ付き3次元座標計測用多関節アームの位置関係の較正を行うアーム設置位置較正部と、前記台上に設置された前記較正用パネルに設けられた参照マークを前記カメラにより撮影して取得される前記参照マークの座標値に基づいて、撮影時における前記台に対する前記カメラの位置情報を算出する撮影位置算出部と、前記較正用パネルに設けられた前記参照マークを前記カメラにより撮影したときの3次元座標計測用多関節アームの位置情報を算出するアーム位置算出部と、前記台と前記カメラ付き3次元座標計測用多関節アームの位置関係の較正結果、撮影時における前記台に対する前記カメラの位置情報、および前記3次元座標計測用多関節アームの位置情報を利用して、前記カメラ付き3次元座標計測用多関節アームのカメラ設置関節と前記カメラの位置関係の較正を行うカメラ設置位置較正部とを含む。
【0007】
この態様によると、カメラの位置の自由度の高いカメラ付き3次元座標計測用多関節アームと対象物を載せるための台を含む3次元モデリング装置のキャリブレーションを効率良く行うことができる。
【0008】
前記台と前記カメラ付き3次元座標計測用多関節アームの位置関係の較正結果、および前記カメラ設置関節と前記カメラの位置関係の較正結果を利用して、任意のアーム位置における前記台に対する前記カメラの位置情報を算出するカメラ位置算出部をさらに含んでもよい。これにより、任意のアーム位置において対象物を撮影するときの正確なカメラ位置を得ることができる。
【0009】
前記台は、対象物を載せて回転させることのできる回転台であってもよい。回転台を用いることにより、カメラ位置の自由度がさらに高くなる。前記回転台の回転角を異ならせて前記較正用パネル上の前記計測点を前記カメラ付き3次元座標計測用多関節アームによって計測して取得される前記計測点の座標値に基づいて、前記較正用パネルの前記回転台に対するずれを補正する較正パネル補正部をさらに含んでもよい。「前記較正用パネルの前記回転台に対するずれ」には、較正用パネルの前記回転台の回転中心からの位置ずれ、前記回転台の回転平面に対する傾きなどが含まれる。
【0010】
前記カメラにより撮影された画像から前記台に置かれた対象物に投影されたスリット光を抽出するスリット光抽出部と、投影されたスリット光の座標位置を照射されたスリット光のつくる平面方程式に当てはめることにより、前記カメラに対するスリット光の投影位置を較正するスリット光位置較正部をさらに含んでもよい。対象物の3次元形状データの取得にスリット光投影法を用いる場合において、スリット光位置をキャリブレーションして高い精度で3次元形状データを取得することができる。
【0011】
前記較正用パネルに設けられた複数の前記参照マークは、ランダムに配置されていてもよい。参照マークの配置のランダム性により、任意の個数の参照マークからなるパターンが、異なる角度から撮影した場合に同一の形状になることを避けることができ、不定性を排除することができる。また、前記較正用パネルに設けられた複数の前記参照マークは、ランダムに複数のタイプに分類されていてもよい。較正用パネルに設けられた複数の参照マークが、仮に何らかの規則性をもって、たとえば台の中心に関して対称に配置されていたとしても、参照マークがランダムに複数のタイプに分類されていることより、タイプの違いによって、撮影方向による不定性を排除することができる。また、撮影位置算出部は、参照マークのタイプにもとづいて、カメラにより撮影された画像から抽出される参照マークと較正用パネルの参照マークの対応関係を判定して、無意味な組み合わせを処理対象から外すことができる。
【0012】
前記較正用パネルに設けられた複数の前記参照マークは、複数のタイプに分類されており、前記計測点は異なるタイプの前記参照マークに対応づけて設けられていてもよい。たとえば、参照マークが色や形状によって分類され、計測点は参照マーク内に設けられてもよい。これにより、計測点を参照マークの色や形状などのタイプで特定することができ、また、複数の計測点を計測する順序を参照マークのタイプにより指定することができる。
【0013】
本発明の別の態様は、3次元モデリング装置である。この3次元モデリング装置は、カメラが設置された3次元座標計測用多関節アームと、前記カメラにより撮影される対象物を載せるための台と、前記台に設置される較正用パネルとを含み、前記較正用パネルは、前記台と前記3次元座標計測用多関節アームの位置関係の較正を行うために前記3次元座標計測用多関節アームによって計測される複数の計測点と、前記台に対する前記カメラの位置情報を算出するために、前記カメラによって撮影される複数の参照マークとを含む。
【0014】
この態様によると、カメラの位置の設定の自由度を高め、精細な3次元モデリングが可能となる。また、較正用パネルを用いて、カメラ、3次元座標計測用多関節アーム、および対象物を載せるための台の位置関係を効率良くキャリブレーションすることができる。
【0015】
本発明の別の態様は、3次元モデリングシステムである。この3次元モデリングシステムは、カメラ付き3次元座標計測用多関節アームと対象物を載せるための台とを含む3次元モデリング装置と、前記3次元モデリング装置をキャリブレーションするキャリブレーション装置とを含む。前記キャリブレーション装置は、前記台上に設置された較正用パネルに設けられた計測点を前記カメラ付き3次元座標計測用多関節アームによって計測して取得される前記計測点の座標値に基づいて、前記台と前記カメラ付き3次元座標計測用多関節アームの位置関係の較正を行うアーム設置位置較正部と、前記台上に設置された前記較正用パネルに設けられた参照マークを前記カメラにより撮影して取得される前記参照マークの座標値に基づいて、撮影時における前記台に対する前記カメラの位置情報を算出する撮影位置算出部と、前記較正用パネルに設けられた前記参照マークを前記カメラにより撮影したときの3次元座標計測用多関節アームの位置情報を算出するアーム位置算出部と、前記台と前記カメラ付き3次元座標計測用多関節アームの位置関係の較正結果、撮影時における前記台に対する前記カメラの位置情報、および前記3次元座標計測用多関節アームの位置情報を利用して、前記カメラ付き3次元座標計測用多関節アームのカメラ設置関節と前記カメラの位置関係の較正を行うカメラ設置位置較正部とを含む。
【0016】
本発明のさらに別の態様は、キャリブレーション方法である。この方法は、カメラ付き3次元座標計測用多関節アームと対象物を載せるための台とを含む3次元モデリング装置をキャリブレーションする方法であって、前記台上に設置された較正用パネルに設けられた計測点を前記カメラ付き3次元座標計測用多関節アームによって計測して取得される前記計測点の座標値に基づいて、前記台と前記カメラ付き3次元座標計測用多関節アームの位置関係の較正を行うステップと、前記台上に設置された前記較正用パネルに設けられた参照マークを前記カメラにより撮影して取得される前記参照マークの座標値に基づいて、撮影時における前記台に対する前記カメラの位置情報を算出するステップと、前記較正用パネルに設けられた前記参照マークを前記カメラにより撮影したときの3次元座標計測用多関節アームの位置情報を算出するステップと、前記台と前記カメラ付き3次元座標計測用多関節アームの位置関係の較正結果、撮影時における前記台に対する前記カメラの位置情報、および前記3次元座標計測用多関節アームの位置情報を利用して、前記カメラ付き3次元座標計測用多関節アームのカメラ設置関節と前記カメラの位置関係の較正を行うステップとを含む。
【0017】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0018】
本発明によれば、撮影位置を自由に変えて対象物体を撮影して3次元形状を効率良く、高い精度で取得することができる。また、撮影位置に自由度をもたせた3次元モデリング装置のキャリブレーションを効率良く、正確に行うことができる。
【発明を実施するための最良の形態】
【0019】
図1は、実施の形態に係る3次元モデリングシステム300の構成図である。3次元モデリングシステム300は、カメラ付き3次元座標計測用多関節アームシステム40、回転台10、およびカメラ付き3次元座標計測用多関節アームシステム40に接続された3次元データ処理装置100を含む。
【0020】
カメラ付き3次元座標計測用多関節アームシステム40は、5つの回転軸をもつ多関節アーム20a〜20dにカメラ30を設置したものである。支持台12に設置された第1アーム20aは、第1の回転方向21に回転可能である。第2アーム20bは、第1関節18aを介して第1アーム20aと接続しており、第1関節18aを中心として第2の回転方向22に回転可能である。第1関節18aをアーム基準関節ともいう。第3アーム20cは、第2関節18bを介して第2アーム20bと接続しており、第2関節18bを中心とした第3の回転方向23およびアーム軸の回りの第4の回転方向24に回転可能である。
【0021】
第3アーム20cの先端の第3関節18cにはカメラ設置軸20dが設けられ、カメラ設置軸20dは、軸回りの第5の回転方向25に回転可能である。第3関節18cをカメラ設置関節ともいう。カメラ設置軸20dには、カメラ30、ラインレーザ36、および計測用プローブ32が設けられている。
【0022】
回転台10は、3次元モデリングの対象物体を載せるものであり、回転軸を中心に符号11に示した回転方向に回転可能である。
【0023】
3次元データ処理装置100は、カメラ付き3次元座標計測用多関節アームシステム40の各関節の回転角のデータや各軸の法線ベクトル、位置ベクトルのデータなどのアーム出力データ、カメラ30により撮影された画像データ、および計測用プローブ32による計測データをカメラ付き3次元座標計測用多関節アームシステム40から受け取り、システムのキャリブレーションおよび3次元モデルデータの生成を行う。
【0024】
図2は、カメラ設置軸20dの詳細な構成図である。カメラ設置軸20dは回転軸26の回りに回転可能である。カメラ設置軸20dには取り付け部37が設けられ、カメラ30およびラインレーザ36が取り付け部37に固定されている。カメラ30およびラインレーザ36は図示しない接続ケーブルを介してそれぞれの制御ユニットに接続されている。また、カメラ設置軸20dには計測用プローブ32が設けられ、対象物体の表面などに計測用プローブ32の先端を当てることにより、計測対象の点の位置情報を取得することができる。
【0025】
図3は、回転台10上に設けられたキャリブレーションパネルを説明する図である。回転台10の天板がキャリブレーションパネルを兼ねてもよく、キャリブレーション時に回転台10の上にキャリブレーションパネルを載せてもよい。キャリブレーションパネルは、カメラ付き3次元座標計測用多関節アームシステム40の計測用プローブ32により計測するための複数の計測点15と、カメラ30により撮影するための複数の参照マーク16からなる参照パターンが設けられている。計測点15は、計測用プローブ32の先端が入る穴であり、複数の参照マーク16は、青、赤、黄、緑など数種類の色でランダムに着色された円マークである。
【0026】
キャリブレーションパネル上の複数の参照マーク16が数種類の色でランダムに着色されていることから、後述の投票処理によって撮影画像から抽出された参照マーク16に基づいてカメラ位置のキャリブレーションを行うとき、撮影画像から抽出された参照マーク16とキャリブレーションパネル上の参照マーク16の対応を取りやすくなり、組み合わせ数が少なくなることから、計算時間を短縮することができる。
【0027】
また、キャリブレーションパネル上の複数の参照マーク16が数種類の色でランダムに着色されているため、異なる角度から撮影した場合でも、任意の個数の複数の参照マーク16からなるパターンが、色の組み合わせの違いのゆえ、同一のパターンになることを避けることができ、不定性を排除することができる。
【0028】
なお、図3のキャリブレーションパネルでは、設計を容易にするため、複数の参照マーク16が規則性をもって、ここでは、キャリブレーションパネルの中心に関して対称に配置されているが、この配置をランダムにしてもよい。その場合は、参照マーク16が同一色であっても、参照マーク16の配置のランダム性から、前述の不定性を排除することができる。同じ色の参照マーク16について見た場合、その配置がランダムになっているからである。
【0029】
計測点15は、参照マーク16内に設けられているが、これは、計測点15の設けられた参照マーク16の色を異ならせておくことで、計測用プローブ32により計測すべき計測点15を色によって特定することができるようにするためである。たとえば、複数の計測点15の計測順序を赤、青、黄の順など参照マーク16の色によってユーザに指定することができる。ユーザが指定された色順で計測点15を計測するなら、ユーザの計測した計測点15が、キャリブレーションパネル上のどの位置にある計測点15であるか、一意に特定することが可能となる。
【0030】
図4は、本実施の形態に係る3次元モデリングシステム300により3次元モデルデータを取得する様子を説明する図である。回転台10上に対象物体14を載せ、カメラ付き3次元座標計測用多関節アームシステム40の多関節アームを手動で操作し、対象物体14を撮影可能な位置にカメラ30を移動する。ラインレーザ36により回転台10上の対象物体14にスリット光を照射し、カメラ30により対象物体14に投影されたレーザライン38を撮影する。回転台10を回転させたり、カメラ30の位置を移動させることで、さまざまな角度から対象物体14に投影されたレーザライン38を撮影する。3次元データ処理装置100は、投影されたレーザライン38の撮影画像を用いて、スリット光投影法(光切断法ともいう)によって対象物体14の3次元形状データを取得し、対象物体14の3次元モデリングを行う。
【0031】
図5は、回転台10に設定される座標系を説明する図である。回転台10の表面をxz平面とし、回転台10の回転軸をy軸とする直交座標系x0−y0−z0を定義する。これを回転台座標系と呼ぶ。
【0032】
図6は、カメラ付き3次元座標計測用多関節アームシステム40のアーム基準関節18aに設定される座標系を説明する図である。第1アーム20aおよび第2アーム20bを接続するアーム基準関節18aに、第1アーム20aの回転軸をz軸とする直交座標系x1−y1−z1を定義する。これをアーム基準座標系と呼ぶ。
【0033】
図7は、カメラ設置関節18cに設定される座標系とカメラ30に設定される座標系を説明する図である。カメラ設置軸20dは、アームの関節軸のうち、カメラ30との位置関係が不変の軸である。カメラ設置関節18cを原点として、カメラ設置軸20dをy軸とする直交座標系x2−y2−z2を定義する。これをカメラ設置軸座標系と呼ぶ。また、カメラ30の焦点を原点とし、焦点面34をxy平面とし、光軸をz軸とする直交座標系x3−y3−z3を定義する。これをカメラ座標系と呼ぶ。
【0034】
図5〜7で示したように、3次元モデリングシステム300には、回転台座標系、アーム基準座標系、カメラ設置軸座標系、カメラ座標系の4つの座標系があり、これらの異なる座標系の間で座標変換が必要となる。一般に座標変換は、変換元座標系における座標値をX=(x,y,z)、変換先座標系における座標値をX’=(x’,y’,z’)とすると、次式の座標変換式で表される。
【0035】
X’=M・X+t
ここで、行列Mは、変換元座標系の回転成分を与える3行3列の行列であり、ベクトルtは、変換元座標系の並進成分を与えるベクトルである。
【0036】
回転成分を与える行列Mの第1行、第2行、第3行をそれぞれMr1=(m11,m12,m13)、Mr2=(m21,m22,m23)、Mr3=(m31,m32,m33)とおき、並進成分を与えるベクトルtをt=(m14,m24,m34)とおくと、上記の座標変換式は、
x’=m11x+m12y+m13z+m14
y’=m21x+m22y+m23z+m24
z’=m31x+m32y+m33z+m34
と書くことができる。
【0037】
3行4列の座標変換行列Mの各行をM=(m11,m12,m13,m14)、M=(m21,m22,m23,m24)、M=(m31,m32,m33,m34)と定義し、変換元座標系における座標値Xに第4成分として1を加えたベクトルX=(x,y,z,1)を定義すると、座標変換式は、
X’=M・X
と書くことができる。このように、異なる座標系間の位置関係は、3行4列の変換行列Mにより一意に定めることができる。
【0038】
なお、3行4列の座標変換行列どうしの積の計算や3行4列の座標変換行列の逆行列の計算は本来はできないが、以下では記述における便宜上、それらの計算を行うような記載をしている。これは以下のように計算することを意味する。
【0039】
3行4列の行列の積の計算について、M=M・Mとは、
・X=M・M・X
r0・X+t=Mr1・(Mr2・X+t)+t
のように、3行3列の回転成分と1列の並進成分に分けて計算することとし、
r0=Mr1・Mr2
=Mr1・t+t
とする。
【0040】
逆行列の計算についても同様に、
X’=M・X
X’=M・X+t
X=M−1・(X’−t)
=M−1・X’−M−1・t
のように、回転成分と並進成分に分け、Mの逆行列M−1の回転成分M−1と並進成分t−1をそれぞれ
−1=M−1
−1=−M−1・t
と計算する。
【0041】
なお、回転成分を与える3行3列の行列Mの各成分mijはオイラー角α、β、γを用いて次のように書くこともできるから、回転成分のパラメータ数は実質的には3個である。
【0042】
11=cosαcosβcosγ−sinαsinγ
12=−cosαcosβsinγ−sinαcosγ
13=cosαsinβ
21=sinαcosβcosγ+cosαsinγ
22=−sinαcosβsinγ+cosαcosγ
23=sinαsinβ
31=−sinβcosγ
32=sinαsinγ
33=cosβ
【0043】
並進成分を与えるベクトルtをt=(tx、ty、tz)とおくと、オイラー角α、β、γ、および並進成分tx、ty、tzの6つのパラメータは、座標変換行列Mを規定する座標変換パラメータであり、座標変換行列Mを求める際の未知パラメータの個数は6個である。
【0044】
図8は、カメラ付き3次元座標計測用多関節アームシステム40と回転台10のキャリブレーションの計算原理を説明する図である。カメラ付き3次元座標計測用多関節アームシステム40により3次元データを取得するためには、回転台10に対するカメラ30の正確な位置情報が必要である。カメラ付き3次元座標計測用多関節アームシステム40を操作して、カメラ30を適当な位置に移動させたときに、回転台10に対するカメラ30の位置を把握するためには、回転台座標系からカメラ座標系への変換行列M(これを回転台−カメラ座標変換行列と呼ぶ)が必要である。
【0045】
回転台−カメラ座標変換行列Mを正確に求めるためには、回転台10とカメラ付き3次元座標計測用多関節アームシステム40の位置関係のキャリブレーション、およびカメラ設置軸20dとカメラ30の位置関係のキャリブレーションが必要である。
【0046】
回転台10とカメラ付き3次元座標計測用多関節アームシステム40の位置関係は、回転台座標系からアーム基準座標系への変換行列M(これを回転台−アーム基準関節座標変換行列と呼ぶ)により規定され、カメラ設置軸20dとカメラ30の位置関係は、カメラ設置座標系からカメラ座標系への変換行列M(これをカメラ設置関節−カメラ座標変換行列と呼ぶ)により規定される。これらの位置関係のキャリブレーション結果が与えられると、アーム基準関節18aとカメラ設置関節18cの位置関係を規定するアーム基準座標系からカメラ設置軸座標系への変換行列M(これをアーム基準関節−カメラ設置関節座標変換行列と呼ぶ)はカメラ付き3次元座標計測用多関節アームシステム40のアーム出力データから得られるから、回転台−カメラ座標変換行列Mは、次式により算出することができる。
【0047】
=M・M・M
ここで、各座標変換行列M、M、M、Mはいずれも3行4列の行列である。
【0048】
このように、回転台−アーム基準関節座標変換行列Mと、カメラ設置関節−カメラ座標変換行列Mを事前にキャリブレーションしておけば、アーム出力データを用いて、任意のアームポジションにおいて回転台座標系とカメラ座標系間の位置関係を定める回転台−カメラ座標変換行列Mを算出することができる。
【0049】
回転台座標系における座標値をX0=(x0,y0,z0)とすると、カメラ座標系における座標値X3=(x3,y3,z3)は、回転台−カメラ座標変換行列Mにより次のように求めることができる。
【0050】
X3=M・X0
ここで、X0=(x0,y0,z0,1)である。
【0051】
図9(a)〜(c)は、カメラ付き3次元座標計測用多関節アームシステム40と回転台10のキャリブレーションの手順を説明する図である。図9(a)のように、回転台10とカメラ付き3次元座標計測用多関節アームシステム40の位置を決め、計測用プローブ32により回転台10上のキャリブレーションパネルの計測点を計測して、回転台−アーム基準関節座標変換行列Mを求める。
【0052】
次に、図9(b)のように、回転台10とカメラ付き3次元座標計測用多関節アームシステム40の位置を図9(a)と同じ状態に保ったまま、カメラ30により回転台10上のキャリブレーションパネルの参照パターンを撮影し、キャリブレーションパネル撮影時における回転台−カメラ座標変換行列M’を求める。また、このとき、キャリブレーションパネル撮影時におけるアーム出力データを取得し、アーム基準関節−カメラ設置関節座標変換行列Mを求めておく。後で図9(a)で求めた回転台−アーム基準関節座標変換行列Mを利用するため、キャリブレーションパネル撮影時において、回転台10とカメラ付き3次元座標計測用多関節アームシステム40の位置関係は、図9(a)で回転台−アーム基準関節座標変換行列Mを求めたとき同じでなければならないが、カメラ30の位置は任意である。
【0053】
図9(a)、図9(b)の2つの手順でキャリブレーションに必要なすべてのデータが揃う。最後に、図9(c)に示すように、図9(a)で取得した回転台−アーム基準関節座標変換行列M、および図9(b)で取得したキャリブレーションパネル撮影時の回転台−カメラ座標変換行列M’とアーム基準関節−カメラ設置関節座標変換行列Mを用いて、次式により、カメラ設置関節−カメラ座標変換行列Mを算出する。
【0054】
=M’・M−1・M−1
ここで、アーム基準関節−カメラ設置関節座標変換行列Mは、図9(b)でキャリブレーションパネルを撮影したときのアーム出力データから求めたものである。
【0055】
図10は、3次元データ処理装置100の構成図である。これらの構成は、ハードウエア的には、任意のコンピュータのCPU、メモリ、その他のLSIで実現でき、ソフトウエア的にはメモリにロードされた3次元モデリング機能および画像処理機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。
【0056】
撮影画像入力部160は、カメラ付き3次元座標計測用多関節アームシステム40のカメラ30により撮影されたキャリブレーションパネルの画像、スリット光の照射された対象物体の画像を取得し、キャリブレーションパネルの画像は撮影位置算出部120に、スリット光の照射された対象物体の画像はスリット光抽出部200に与える。
【0057】
アームデータ入力部170は、カメラ付き3次元座標計測用多関節アームシステム40のアーム出力データおよび計測用プローブ32による計測データを取得し、アーム設置位置較正部110、アーム位置算出部180、および較正パネル補正部190に与える。
【0058】
アーム位置算出部180は、アーム出力データをもとに、現在のアームポジションにおけるアーム基準関節−カメラ設置関節座標変換行列Mを算出し、アーム位置情報としてカメラ設置位置較正部130とカメラ位置算出部140に与える。
【0059】
アーム設置位置較正部110は、カメラ付き3次元座標計測用多関節アームシステム40の計測用プローブ32による回転台10上のキャリブレーションパネルの複数の計測点15の計測結果を利用して、回転台10とカメラ付き3次元座標計測用多関節アームシステム40の位置関係をキャリブレーションする。アーム設置位置較正部110は、キャリブレーションパネルの計測点15の回転台座標系における既知の座標値と、計測用プローブ32により計測されたアーム基準座標系における座標値にもとづいて、座標変換パラメータを求めることにより、回転台−アーム基準関節座標変換行列Mを算出する。
【0060】
アーム設置位置較正部110は、回転台10とカメラ付き3次元座標計測用多関節アームシステム40の位置関係のキャリブレーション結果として、算出された回転台−アーム基準関節座標変換行列Mをカメラ設置位置較正部130、カメラ位置算出部140、および較正パネル補正部190に与える。
【0061】
撮影位置算出部120は、カメラ付き3次元座標計測用多関節アームシステム40のカメラ30により回転台10上のキャリブレーションパネルの複数の参照マーク16からなる参照パターンを撮影した画像を利用して、キャリブレーションパネル撮影時における回転台10とカメラ30の位置関係を求める。撮影位置算出部120は、キャリブレーションパネルの撮影画像から画像処理によってすべての参照マーク16を抽出する。
【0062】
撮影位置算出部120は、キャリブレーションパネルの参照マーク16の回転台座標系における既知の座標値と、撮影画像から抽出された参照マーク16の撮影画像における座標値にもとづいて、座標変換パラメータを求めることにより、キャリブレーションパネル撮影時における回転台−カメラ座標変換行列M’を算出し、撮影位置情報としてカメラ設置位置較正部130に与える。
【0063】
カメラ設置位置較正部130は、撮影位置算出部120により与えられた撮影位置情報をもとに、カメラ付き3次元座標計測用多関節アームシステム40のカメラ設置関節18cとカメラ30の位置関係をキャリブレーションする。カメラ設置位置較正部130は、アーム位置算出部180から与えられたキャリブレーションパネル撮影時のアーム基準関節−カメラ設置関節座標変換行列M、アーム設置位置較正部110から与えられた回転台−アーム基準関節座標変換行列M、および撮影位置算出部120から与えられたキャリブレーションパネル撮影時における回転台−カメラ座標変換行列M’を用いて、次式により、カメラ設置関節−カメラ座標変換行列Mを算出する。
【0064】
=M’・M−1・M−1
【0065】
カメラ設置位置較正部130は、カメラ設置関節18cとカメラ30の位置関係のキャリブレーション結果として、算出されたカメラ設置関節−カメラ座標変換行列Mをカメラ位置算出部140に与える。
【0066】
カメラ位置算出部140は、アーム設置位置較正部110およびカメラ設置位置較正部130により、カメラ付き3次元座標計測用多関節アームシステム40と回転台10からなるシステムのキャリブレーションが完了した後、回転台10に置かれた対象物体14の3次元形状データを取得する際に必要となる任意のアームポジションにおけるカメラ位置情報をキャリブレーション結果にもとづいて算出する。
【0067】
カメラ位置算出部140は、アーム設置位置較正部110からキャリブレーション結果として与えられた回転台−アーム基準関節座標変換行列Mと、カメラ設置位置較正部130からキャリブレーション結果として与えられたカメラ設置関節−カメラ座標変換行列Mと、アーム位置算出部180からアーム位置情報として与えられたアーム基準関節−カメラ設置関節座標変換行列Mとを利用して、次式により、現在のアームポジションにおける回転台−カメラ座標変換行列Mを算出する。
【0068】
=M・M・M
【0069】
カメラ位置算出部140は、算出された回転台−カメラ座標変換行列Mを現在のアームポジションにおけるカメラ位置情報として3次元データ生成部150に与える。
【0070】
スリット光抽出部200は、カメラ付き3次元座標計測用多関節アームシステム40のラインレーザ36によりスリット光の照射された対象物体の撮影画像からスリット光を抽出し、抽出されたスリット光の情報を3次元データ生成部150に与える。
【0071】
3次元データ生成部150は、カメラ位置算出部140からカメラ位置情報として与えられた回転台−カメラ座標変換行列Mと、スリット光抽出部200により撮影画像から抽出されたスリット光の情報とを利用して、スリット光投影法により、対象物体の3次元形状データを生成し、記録する。
【0072】
キャリブレーションパネルが回転台10の回転中心からずれている場合や回転台10の回転平面に対して傾いている場合などに、較正パネル補正部190は、回転台10に対するキャリブレーションパネルのずれを補正する処理を行う。較正パネル補正部190は、回転台10の回転角θを変えながらキャリブレーションパネル上の複数の計測点15を計測用プローブ32により計測した結果と、アーム設置位置較正部110により算出された回転台−アーム基準関節座標変換行列Mとを利用して、回転台10に対するキャリブレーションパネルのずれを補正するための座標変換補正行列Mを算出する。
【0073】
較正パネル補正部190は、算出された座標変換補正行列Mをアーム設置位置較正部110、カメラ設置位置較正部130、およびカメラ位置算出部140に与える。アーム設置位置較正部110は、座標変換補正行列Mを用いて、キャリブレーションパネル上の計測点15の回転台座標系における座標値を補正した上で、前述の回転台−アーム基準関節座標変換行列Mの計算を行う。カメラ設置位置較正部130は、前述のカメラ設置関節−カメラ座標変換行列Mの計算式を座標変換補正行列Mにより補正する。カメラ位置算出部140は、前述の回転台−カメラ座標変換行列Mの計算式を座標変換補正行列Mにより補正する。
【0074】
スリット光位置較正部210は、カメラ30とラインレーザ36の位置関係のキャリブレーションを行う。スリット光抽出部200は、キャリブレーション用の平面板をカメラ30との位置を変えながら撮影した画像から、ラインレーザ36によるスリット光を抽出する。スリット光位置較正部210は、撮影画像から抽出されたスリット光の3次元位置を求め、ラインレーザ36によるスリット光が作る平面方程式に当てはめることにより、スリット光位置のキャリブレーションを行う。スリット光位置較正部210は、スリット光位置のキャリブレーションの結果をスリット光抽出部200に与え、スリット光抽出部200は抽出されたスリット光の位置情報をキャリブレーション結果にもとづいて補正する。
【0075】
以上の構成の3次元モデリングシステム300によるシステムキャリブレーション手順を説明する。
【0076】
図11は、システムキャリブレーションの大まかな手順を説明するフローチャートである。回転台10とカメラ付き3次元座標計測用多関節アームシステム40の位置関係を較正する(S100)。次に、カメラ付き3次元座標計測用多関節アームシステム40のカメラ設置関節18cとカメラ30の位置関係を較正する(S200)。ステップS100とステップS200の較正結果にもとづいて、任意のアームポジションにおいてカメラ位置を算出する(S300)。
【0077】
図12は、図11の回転台10とカメラ付き3次元座標計測用多関節アームシステム40の位置関係の較正処理S100の手順を説明するフローチャートである。
【0078】
カメラ付き3次元座標計測用多関節アームシステム40の計測用プローブ32により回転台10に設置されたキャリブレーションパネル上の複数の計測点15を計測する(S110)。
【0079】
計測用プローブ32でキャリブレーションパネル上の計測点15を計測すると、アーム出力データからアーム基準座標系における計測点15の座標値が得られる。また、キャリブレーションパネル上の計測点15の位置は設計仕様により決まっているため、計測点15の回転台座標系における座標値は既知である。n個の計測点15を計測するとして、n個の計測点15の回転台座標系における座標値をt0,t1,…,tnとし、同じ計測点15のアーム基準座標系における座標値をa0,a1,…,anとする。
【0080】
アーム設置位置較正部110は、回転台10とカメラ付き3次元座標計測用多関節アームシステム40の位置関係を較正するために、回転台−アーム基準関節座標変換行列Mを算出する(S120)。回転台−アーム基準関節座標変換行列Mの座標変換パラメータは、原理的にはキャリブレーションパネル上の3つの計測点15の座標値により算出することができる。
【0081】
ある3つの計測点15を選び、その3つの計測点15の回転台座標系における座標値t0,t1,t2を用いて、次式により、3つのベクトルvt1,vt2,vt3を求め、さらに同じ3つの計測点15のアーム基準座標系における座標値a0,a1,a2を用いて、va1,va2,va3を求める。
t1=t1−t0,vt2=t2−t0,vt3=vt1×vt2
a1=a1−a0,va2=a2−a0,va3=va1×va2
ここで、記号×はベクトルの外積を表す。
【0082】
回転台座標系における3つのベクトルvt1,vt2,vt3を列とする3行3列の行列T、およびアーム基準座標系における3つのベクトルva1,va2,va3を列とする3行3列の行列Aを次のように定義する。
T=(vt1t2t3
A=(va1a2a3
【0083】
求めたい回転台−アーム基準関節座標変換行列Mの回転成分Mは次式で与えられる。
=A・T−1
【0084】
また、回転台−アーム基準関節座標変換行列Mの並進成分tは次式で与えられる。
t=a0−M・t0
【0085】
次に、アーム設置位置較正部110は、ステップS120で求めた回転台−アーム基準関節座標変換行列Mの精度を上げるために、キャリブレーションパネル上の3つ以上の計測点15を用いて、回転台−アーム基準関節座標変換行列Mの座標変換パラメータを最小二乗法により最適化する(S130)。
【0086】
ステップS120で求めた回転台−アーム基準関節座標変換行列Mにより、回転台座標系における計測点15の既知の座標値をアーム基準座標系における座標値(計算上の座標値という)に変換し、同じ計測点15を計測用プローブ32で計測した座標値(実測上の座標値という)と比較し、計算上の座標値と実測上の座標値の各成分の差の二乗和により、これらの座標値の誤差を求める。キャリブレーションパネル上のすべての計測点15について、計算上の座標値と実測上の座標値の誤差を求め、すべての計測点15について誤差の総和を求める。誤差の総和が最小となるように、回転台−アーム基準関節座標変換行列Mの回転成分を与える行列Mのオイラー角α、β、γ、および並進成分を与えるベクトルtの各成分tx、ty、tzをステップS120で求めた結果を初期値として、最小二乗法により最適化する。
【0087】
以上により算出される回転台−アーム基準関節座標変換行列Mは、回転台10の回転角が0の場合である。回転台10の回転角がθである場合に一般化するためには、回転台座標系における座標値t0,t1,…,tnを次のように回転行列Rにより回転させたt0’,t1’,…,tn’に置き換えればよい。
ti’=R・ti (i=0,1,…,n)
【0088】
ここで、回転行列Rの第1行R,第2行R,第3行Rは、
=(cosθ,0,−sinθ)
=(0,1,0)
=(sinθ,0,cosθ)
である。
なお、以降の計算式では、回転行列Rは各行の4列目として0を追加し、3行4列の変換行列として表現する。
【0089】
図13は、図11のカメラ設置関節18cとカメラ30の位置関係の較正処理S200の手順を説明するフローチャートである。
【0090】
カメラ付き3次元座標計測用多関節アームシステム40のカメラ30を適当な位置に移動して、キャリブレーションパネル上の複数の参照マーク16からなる参照パターンを撮影する(S210)。このとき、回転台10とカメラ付き3次元座標計測用多関節アームシステム40の相対的な位置関係は、ステップS100のデータ取得時と同じであることが必要である。後の計算でステップS100の回転台とアームの位置関係の較正結果を用いるからである。
【0091】
撮影位置算出部120は、撮影画像を利用して、キャリブレーションパネル撮影時における回転台−カメラ座標変換行列M’を算出する(S220)。この処理については、図14において詳述する。
【0092】
アーム位置算出部180は、アーム出力データからキャリブレーションパネル撮影時におけるアームの位置情報として、アーム基準関節−カメラ設置関節座標変換行列Mを算出する(S230)。
【0093】
アーム基準関節−カメラ設置関節座標変換行列Mはアーム出力データから算出される。アーム出力データとして、カメラ設置軸20dの位置ベクトルeと方向ベクトルv、および計測用プローブ32の位置ベクトルpの情報を用いる。これらのデータはカメラ付き3次元座標計測用多関節アームシステム40から得られるので、アーム基準座標系における値である。
【0094】
アーム基準関節−カメラ設置関節座標変換行列Mは以下の手順で算出される。まず、次式により、アーム基準座標系から見たカメラ設置軸座標系の座標軸ベクトルvx、vy、vzを算出する。
vy=v/|v|
vp=p−e
vn=v×vp
vx=vn/|vn|
vz=vx×vy
【0095】
これらの座標軸ベクトルvx、vy、vzを用いると、アーム基準関節−カメラ設置関節座標変換行列Mの回転成分を与える行列Mは、
=(vx vy vz)
で与えられる。アーム基準関節−カメラ設置関節座標変換行列Mの並進成分を与えるベクトルtは、カメラ設置軸20dの位置ベクトルeに等しく、
t=e
である。
【0096】
カメラ設置位置較正部130は、ステップS100で得られた回転台−アーム基準関節座標変換行列M、ステップS220で得られたキャリブレーションパネル撮影時における回転台−カメラ座標変換行列M’、およびステップS230で得られたアーム基準関節−カメラ設置関節座標変換行列Mを用いて、カメラ設置関節−カメラ座標変換行列Mを次式により算出する(S240)。
=M’・M−1・M−1
【0097】
上記のカメラ設置関節−カメラ座標変換行列Mを求める式は、回転台の回転角が0の場合である。回転角がθである場合に一般化するなら、前述の回転行列Rを用いて、次式によりカメラ設置関節−カメラ座標変換行列Mを求めればよい。
=M’・R−1・M−1・M−1
【0098】
図14は、図13のキャリブレーションパネル撮影時の回転台−カメラ座標変換行列M’の算出処理S220の手順を説明するフローチャートである。ここでは、カメラ30のレンズの焦点距離、歪み中心、歪み係数など内部パラメータは事前に得られているものとする。
【0099】
撮影位置算出部120は、キャリブレーションパネルの撮影画像から画像処理によって複数の参照マーク16を抽出する(S222)。
【0100】
撮影位置算出部120は、キャリブレーションパネル上の参照マーク16の回転台座標系における既知の座標値と、撮影画像から抽出された参照マーク16の撮影画像における実測上の座標値にもとづいて、投票処理によって撮影時における回転台−カメラ座標変換行列M’の座標変換パラメータを算出する(S224)。
【0101】
投票処理による回転台−カメラ座標変換行列M’の座標変換パラメータの算出手順を説明する。
【0102】
(1)座標変換パラメータ(α,β,γ,tx,ty,tz)に対応する6次元のパラメータ空間(ハフ空間ともいう)を設定し、すべての領域に投票数0をセットする。
【0103】
(2)キャリブレーションパネルのすべての参照マーク16の内、任意の3つの参照マーク16からなる組をすべてリストアップする。キャリブレーションパネルからリストアップされた3つの参照マーク16の全組み合わせを参照集合と呼ぶ。
【0104】
(3)キャリブレーションパネルの撮影画像から抽出された参照マーク16の内、任意の3つの参照マーク16からなる組をすべてリストアップする。撮影画像からリストアップされた3つの参照マーク16の全組み合わせを抽出集合と呼ぶ。
【0105】
(4)抽出集合に含まれる任意の3つの参照マーク16の組と、参照集合に含まれる任意の3つの参照マーク16の組の間のすべての組み合わせについて以下の処理を行う。
【0106】
(4−1)抽出集合から選択された3つの参照マーク16の組と、参照集合から選択された3つの参照マーク16の組とで、参照マーク16の色の組み合わせが異なる場合、以下の(4−2)、(4−3)の処理は行わない。
【0107】
(4−2)抽出集合から選択された3つの参照マーク16の撮影画像における座標値と、参照集合から選択された3つの参照マーク16の回転台座標系における座標値をカメラ座標系に変換し、さらにそれを撮影画像面に射影した座標値にもとづいて、座標変換パラメータ(α,β,γ,tx,ty,tz)を算出する。
【0108】
カメラ座標系における点を撮影画像面に射影する計算は、カメラ座標系における点を(x,y,z)、撮影画像面上に射影された点を(x’,y’)とすると、
x’=x・f/z+cx
y’=y・f/z+cy
と書ける。ここで、fは焦点距離、(cx,cy)は画像中心である。ただし、焦点距離の単位はピクセルである。
【0109】
(4−3)パラメータ空間において、算出された座標変換パラメータ(α,β,γ,tx,ty,tz)の値に対応する領域に投票する。これによりパラメータ空間の対応領域の投票数が1だけ増える。
【0110】
(5)すべての投票が終わると、パラメータ空間から投票数のピークを検出し、ピークとなっている領域に対応する座標変換パラメータ(α,β,γ,tx,ty,tz)の値を正解として出力する。
【0111】
上述の投票処理により、抽出集合から選択された参照マーク16の組と、参照集合から選択された参照マーク16の組の対応関係が正しいものから算出される座標変換パラメータが正解として得られることになる。キャリブレーションパネルにおいて参照マーク16が複数の種類の色で色分けされていることから、抽出集合から選択された参照マーク16の組と、参照集合から選択された参照マーク16の組との間で無意味な組み合わせを判別してスキップすることができ、無駄な計算をなくし、処理時間を高速化することができる。
【0112】
キャリブレーションパネルに設けられた複数の参照マーク16は、ランダムに配色されていることから、上述の投票処理において3つの参照マーク16の組を選択した場合、それらを異なる角度から撮影した場合に、他の3つの参照マーク16の組と同一パターンになることを極力避けることができ、撮影方向による不定性を排除して、一意性をもたせることができるようになる。さらに、複数の参照マーク16の配置をもランダムにするならば、その効果をさらに高めることができ、投票処理の精度が上がる。
【0113】
さらに、撮影位置算出部120は、ステップS224で求めた回転台−カメラ座標変換行列M’の座標変換パラメータについて、これらの座標変換パラメータとカメラ内部パラメータによって参照マーク16の回転台座標系における既知の座標値をカメラ座標系に変換し、さらにそれを撮像画像面に射影した座標値と、撮影画像から抽出された参照マーク16の座標値を比較し、これらの座標値の各成分の差の二乗和により誤差を求める。すべての参照マーク16についてこの誤差を求め、その総和が最小となるように、ステップS224で得られた座標変換パラメータを初期値として、最小二乗法により座標変換パラメータを最適化する(S226)。
【0114】
図15は、図11のシステムの較正結果に基づくカメラ位置の算出処理を説明するフローチャートである。
【0115】
回転台10に対象物体14を置き、カメラ付き3次元座標計測用多関節アームシステム40によりカメラ30を適当な位置に移動する。アーム位置算出部180は、カメラ付き3次元座標計測用多関節アームシステム40のアーム出力データにもとづいて、現在のアームポジションにおけるアーム基準関節−カメラ設置関節座標変換行列Mを算出する(S310)。アーム基準関節−カメラ設置関節座標変換行列Mの算出には、図13のステップS230で述べた計算方法が用いられる。
【0116】
カメラ位置算出部140は、ステップS100のキャリブレーション処理で得られた回転台−アーム基準関節座標変換行列M、ステップS200のキャリブレーション処理で得られたカメラ設置関節−カメラ座標変換行列M、およびステップS310で得られた現在のアームポジションにおけるアーム基準関節−カメラ設置関節座標変換行列Mを用いて、次式により、回転台−カメラ座標変換行列Mを算出する(S320)。
=M・M・M
【0117】
上記の回転台−カメラ座標変換行列Mの計算式は、回転台10の回転角が0である場合であるが、回転台10の回転角がθである一般の場合は、次式により回転台−カメラ座標変換行列Mを算出することができる。
=M・M・M・R
ここで、Rは前述の回転角θの回転行列である。
【0118】
以上、カメラ付き3次元座標計測用多関節アームシステム40と回転台10からなるシステムのキャリブレーションの手順を説明したが、他にキャリブレーションの必要が生じるものとして、回転台10とキャリブレーションパネルの位置関係、およびカメラ30とラインレーザ36によるスリット光の位置関係がある。以下これらの位置関係のキャリブレーションについて補足する。
【0119】
まず、回転台10とキャリブレーションパネルの位置関係のキャリブレーションについて説明する。
【0120】
キャリブレーションパネルは回転台10の天板も兼ねており、キャリブレーションパネル座標系の原点は回転台10の回転中心となるように設計されている。しかし実際には、キャリブレーションパネルの原点は回転台10の回転中心からずれることがありうる。また、回転台10上のキャリブレーションパネルが傾いている可能性もある。
【0121】
そのため、キャリブレーションパネルの回転中心からのずれ、回転平面に対する傾きなど、回転台10に対するキャリブレーションパネルのずれを補正するパラメータを算出しておく。補正パラメータの算出には、キャリブレーションパネルに設置された計測点15を計測用プローブ32によって計測したデータを用いる。ただし、回転台10の回転角を変えてデータを取得することが必要である。
【0122】
キャリブレーションパネルのずれの補正は以下の手順で行う。まず、各回転角θにおける計測点15の計測データを取得し、ステップS100の手順により回転台−アーム基準関節座標変換行列Mを算出する。
【0123】
キャリブレーションパネルの回転台10に対するずれを補正するパラメータを変換行列M(座標変換補正行列と呼ぶ)で表し、キャリブレーションパネルの計測点15の回転台座標系における座標値をpで表し、その計測点15のアーム基準座標系における座標値をaで表すと、次の変換式が成り立つ。
a=M・R・M・p
【0124】
上記の変換式により、回転台座標系における計測点15の既知の座標値をアーム基準座標系に変換した座標値と、計測用プローブ32により計測された計測点15の座標値の各成分の差の二乗和により誤差を求める。キャリブレーションパネルのすべての計測点15についてこの誤差を求め、誤差の総和が最小となるように、最小二乗法によって回転中心からのずれ補正の変換行列Mの座標変換パラメータを最適化する。ただし、回転台−アーム基準関節座標変換行列Mは、回転台10の回転角θを変えてステップS100により求めたMの平均値、座標変換補正行列Mは、最初の計測点15について得られた回転成分α、β、γ、並進成分tx、ty、tzを初期値とする。ただし、座標変換補正行列Mについては、回転成分α、β、γのうち1つ、並進成分tx、ty、tzのうち1つは固定にしておく。
【0125】
このようにして算出された座標変換補正行列Mを用いるには、ステップS100の計算の際、n個の計測点15の回転台座標系における座標値t0,t1,…,tnを次式により補正されたt0’,t1’,…,tn’に置き換えればよい。
ti’=R・M・ti (i=0,1,…,n)
【0126】
また、ステップS200でカメラ設置関節−カメラ座標変換行列Mを求める際、座標変換補正行列Mを用いて、次式のように補正して計算すればよい。
=M’・M−1・R−1・M−1・M−1
【0127】
また、ステップS320において、回転台−カメラ座標変換行列Mを求める際には、座標変換補正行列Mを用いて、次式にように補正して計算すればよい。
=M・M・M・R・M
【0128】
次に、スリット光位置のキャリブレーションについて説明する。
【0129】
図16は、スリット光位置のキャリブレーションの方法を説明する図である。カメラ設置軸20dには、カメラ30とラインレーザ36からなる計測ユニットが取り付けられている。ラインレーザ36によりスリット光投影法を行うには、カメラ30とラインレーザ36によるスリット光の位置関係のキャリブレーションが必要となる。カメラ30とスリット光の位置関係は、カメラ座標系におけるスリット光の平面方程式により規定することができる。
【0130】
カメラ座標系において、スリット光の平面の方程式は、
a・x+b・y+c・z+d=0
と書くことができる。この平面の方程式の係数a、b、c、dを求めることにより、投影されたスリット光位置のキャリブレーションを行う。
【0131】
キャリブレーション用のデータを取得するため、キャリブレーション用の円パターンを付与した平面板42にスリット光を投射し、その画像を撮影する。その撮影を平面板42の位置を変えて2回以上行う。
【0132】
平面板42上の円パターンは平面板42の周辺部のみに配置され、中央部は空白となっている。スリット光抽出部200が平面板42の撮影画像からスリット光を抽出する際、中央の空白領域のみに限定して処理することで、スリット光の抽出の精度が確保される。また、スリット光抽出部200は、撮影画像から周辺領域にある円パターンを抽出することで平面板42とカメラ30の相対的な位置関係を求めることができる。したがって、平面板42を撮影することにより、カメラ30に対する平面板42の位置関係の取得と、撮影画像上のスリット光の2次元座標位置の測定とを同時に行うことができる。
【0133】
スリット光位置較正部210によるスリット光位置のキャリブレーションは以下の手順で行われる。
【0134】
(1)スリット光位置較正部210は、平面板42の撮影画像から円パターンを抽出して、平面板42とカメラの位置関係を算出する。この位置関係は、平面板座標系からカメラ座標系への変換行列により表現される。これにより、平面板42の位置が得られる。
【0135】
(2)スリット光抽出部200は、(1)の処理により得られた変換行列を用いて、平面板42の撮影画像からキャリブレーション用の円パターンのない平面板中央の空白領域を抽出する。
【0136】
(3)スリット光抽出部200は、(2)の処理で抽出された空白領域からラインレーザ36によるスリット光を抽出する。
【0137】
(4)スリット光位置較正部210は、(3)のスリット光の抽出処理において、スリット光投影位置と判定された画素について、焦点と結んだ直線と平面板が交わる点のカメラ座標系における座標値を算出する。
【0138】
(5)スリット光位置較正部210は、平面板42の位置を変えることにより、スリット光投影位置と判定される複数の点p=(px,py,pz)(i=0,1,…,n)を取得し、次式fが最小となるような係数a、b、c、dを最小二乗法により算出する。
f=Σi(a・px+b・py+c・pz+d)
【0139】
図16は、平面板42を符号42a、42bで示す位置に移動させ、ラインレーザ36からレーザ光を照射し、平面板42a、b上のレーザライン44a、44bをカメラ30により撮影する様子を示している。平面板42a、42bの撮影画像からスリット光投影位置と判定される画素p1、p2が抽出され、その画素p1、p2のカメラ座標系における3次元座標値が算出される。画素p1、p2の3次元座標値をラインレーザ36によるスリット光が作る平面46の方程式に当てはめて、平面方程式の係数a、b、c、dを求め、スリット光位置のキャリブレーションを行う。
【0140】
上記のスリット光位置のキャリブレーションの手順において、スリット光の抽出処理を行う領域は、キャリブレーション用の円パターンと重複しない、平面板中央の空白部分に限定することにより、スリット光の抽出の誤差を減らすことができる。また、円パターンを付与した平面板を撮影することで、平面板の位置情報の取得とスリット光の抽出を同じ撮影画像を利用して行うことができ、撮影の手間を減らすことができる。撮影画像から投影レーザの2次元位置を抽出し、先立って得た平面板の位置情報から投影レーザの3次元位置が求まり、複数の投影レーザラインを結ぶことによりレーザ平面が算出できる。
【0141】
以上説明したように、本実施の形態の3次元モデリングシステム300によれば、回転台10とカメラ付き3次元座標計測用多関節アームシステム40を組み合わせた撮影システムであるため、カメラ30の位置の自由度が高く、対象物体の精細なモデリングが可能である。また、カメラ30を移動させて撮影する際、システムのキャリブレーション結果にもとづいて、3次元モデリングの計算に必要な撮影時のカメラ位置情報を回転台10の回転角とアーム位置情報から正確に求めることができ、撮影画像から取得される3次元形状データの精度を保証することができる。
【0142】
図17は、3次元モデリングシステム300の拡張例を説明する図である。これまで説明した回転台10とカメラ付き3次元座標計測用多関節アームシステム40以外に、カメラ無し3次元座標計測用多関節アームシステム50と固定カメラ60がシステムに追加されている。回転台10とカメラ付き3次元座標計測用多関節アームシステム40の組み合わせについては、これまで説明したキャリブレーション手順により既にキャリブレーションが完了しているとする。
【0143】
固定カメラ60はいったん設置すると、カメラ位置が固定し、移動することはない。そのため、固定カメラ60をシステムに追加するには、回転台10上のキャリブレーションパネルの参照パターンを撮影することにより、回転台10と固定カメラ60の位置関係をキャリブレーションすることで足りる。具体的には、撮影位置算出部120が、図14で説明したステップS220の手順と同様の手順にしたがって、固定カメラ60により回転台10上のキャリブレーションパネルの複数の参照マーク16からなる参照パターンを撮影した画像を利用して、回転台10と固定カメラ60の位置関係を求める。
【0144】
このように固定カメラ60と既に設置された回転台10の位置関係のキャリブレーションを後から行うことにより、固定カメラ60は3次元モデリングシステム300に組み込まれ、システムの拡張を図ることができる。固定カメラ60は、たとえば、回転台10上の対象物体を遠方から撮影して対象物体の大まかな3次元形状データを取得するために用いられる。一方、カメラ付き3次元座標計測用多関節アームシステム40は、対象物体を接写して対象物体のより細かな3次元形状データを取得するために用いられる。
【0145】
カメラ無し3次元座標計測用多関節アームシステム50は、多関節アームの先端に計測用プローブがついているが、カメラは設けられていない。カメラ無し3次元座標計測用多関節アームシステム50は、対象物体の表面に計測用プローブを当てることにより、対象物体上の計測点の3次元座標を取得するものである。カメラ無し3次元座標計測用多関節アームシステム50をシステムに追加するためには、計測用プローブによって回転台10上のキャリブレーションパネルの計測点を計測することにより、回転台10とカメラ無し3次元座標計測用多関節アームシステム50の位置関係をキャリブレーションすることで足りる。具体的には、アーム設置位置較正部110が、図12で説明したステップS100の手順と同様の手順にしたがって、カメラ無し3次元座標計測用多関節アームシステム50の計測用プローブによる回転台10上のキャリブレーションパネルの複数の計測点15の計測結果を利用して、回転台10とカメラ無し3次元座標計測用多関節アームシステム50の位置関係をキャリブレーションする。
【0146】
このようにカメラ無し3次元座標計測用多関節アームシステム50と既に設置された回転台10の位置関係のキャリブレーションを後から行うことにより、カメラ無し3次元座標計測用多関節アームシステム50は3次元モデリングシステム300に組み込まれ、システムの拡張を図ることができる。カメラ無し3次元座標計測用多関節アームシステム50は、アームの先端にカメラやラインレーザーを搭載せず、計測用プローブだけを搭載するため、構成が簡単であり、計測用プローブの設置自由度が高いという利点がある。
【0147】
カメラ無し3次元座標計測用多関節アームシステム50は、たとえば、次のような使い方ができる。対象物体が透明もしくは半透明である場合や、鏡面反射物体である場合、カメラによる撮影では対象物体の3次元形状データを取得することが困難であるが、カメラ無し3次元座標計測用多関節アームシステム50の計測用プローブを用いれば、そのような対象物体でも表面の3次元座標を計測することにより3次元形状データを取得することができる。
【0148】
また、カメラ無し3次元座標計測用多関節アームシステム50を用いれば、計測用プローブの先端の球の大きさがわかっているとして、回転台10上の対象物体の存在しうる3次元空間の領域を初期化しておき、カメラ無し3次元座標計測用多関節アームシステム50のアームを操作して、計測用プローブを対象物体の周辺で動かし、計測用プローブの先端の球が通過することのできた3次元空間の領域には対象物体が存在しないとして、その領域を候補から削り、対象物体が占める3次元空間の候補領域を絞っていくことができる。
【0149】
このように、最初にカメラ付き3次元座標計測用多関節アームシステム40と回転台10からなるシステムのキャリブレーションを行っておけば、その後、カメラ無し3次元座標計測用多関節アームシステム50や固定カメラ60を追加して、システムを容易に拡張することができる。
【0150】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0151】
上記の説明では、キャリブレーションパネルの参照マーク16は複数種類の色によって色分けされていたが、参照マーク16の形状によって参照マーク16が分類されてもよい。異なる形状の参照マーク16内に計測点15が設けられることにより、計測点15を参照マーク16の形状によって特定し、複数の計測点15の計測順序を形状によって指定することができる。また、計測点15は参照マーク16の内部に設けられなくても、参照マーク16との対応がわかるなら、参照マーク16の外部に設けられてもよい。たとえば、計測点15を参照マーク16の近傍に設けることにより、計測点15と参照マーク16を対応づけてもよい。また、計測点15を参照マーク16の位置とは無関係に設け、計測点15自身を色分けしてもよい。たとえば、計測点15の穴の周囲に色を塗ったり、穴底に色を塗って色分けすることができる。
【図面の簡単な説明】
【0152】
【図1】実施の形態に係る3次元モデリングシステムの構成図である。
【図2】図1のカメラ付き3次元座標計測用多関節アームシステムのカメラ設置軸の詳細な構成図である。
【図3】図1の回転台上に設けられたキャリブレーションパネルを説明する図である。
【図4】実施の形態に係る3次元モデリングシステムにより3次元モデルデータを取得する様子を説明する図である。
【図5】図1の回転台に設定される座標系を説明する図である。
【図6】図1のカメラ付き3次元座標計測用多関節アームシステムのアーム基準関節に設定される座標系を説明する図である。
【図7】図1のカメラ付き3次元座標計測用多関節アームシステムのカメラ設置関節に設定される座標系とカメラに設定される座標系を説明する図である。
【図8】図1のカメラ付き3次元座標計測用多関節アームシステムと回転台のキャリブレーションの計算原理を説明する図である。
【図9】図1のカメラ付き3次元座標計測用多関節アームシステムと回転台のキャリブレーションの手順を説明する図である。
【図10】図1の3次元データ処理装置の構成図である。
【図11】本実施の形態に係る3次元モデリングシステムのキャリブレーションの大まかな手順を説明するフローチャートである。
【図12】図11の回転台とカメラ付き3次元座標計測用多関節アームシステムの位置関係の較正処理の手順を説明するフローチャートである。
【図13】図11のカメラ設置関節とカメラの位置関係の較正処理の手順を説明するフローチャートである。
【図14】図13のキャリブレーションパネル撮影時の回転台−カメラ座標変換行列の算出処理の手順を説明するフローチャートである。
【図15】図11のシステムの較正結果に基づくカメラ位置の算出処理を説明するフローチャートである。
【図16】スリット光位置のキャリブレーションの方法を説明する図である。
【図17】実施の形態に係る3次元モデリングシステムの拡張例を説明する図である。
【符号の説明】
【0153】
10 回転台、 12 支持台、 15 計測点、 16 参照マーク、 18a アーム基準関節、 18c カメラ設置関節、 20d カメラ設置軸、 30 カメラ、 32 計測用プローブ、 36 ラインレーザ、 40 カメラ付き3次元座標計測用多関節アームシステム、 50 カメラ無し3次元座標計測用多関節アームシステム、 60 固定カメラ、 100 3次元データ処理装置、 110 アーム設置位置較正部、 120 撮影位置算出部、 130 カメラ設置位置較正部、 140 カメラ位置算出部、 150 3次元データ生成部、 160 撮影画像入力部、 170 アームデータ入力部、 180 アーム位置算出部、 190 較正パネル補正部、 200 スリット光抽出部、 210 スリット光位置較正部、 300 3次元モデリングシステム。

【特許請求の範囲】
【請求項1】
カメラ付き3次元座標計測用多関節アームと対象物を載せるための台とを含む3次元モデリング装置をキャリブレーションする装置であって、
前記台上に設置された較正用パネルに設けられた計測点を前記カメラ付き3次元座標計測用多関節アームによって計測して取得される前記計測点の座標値に基づいて、前記台と前記カメラ付き3次元座標計測用多関節アームの位置関係の較正を行うアーム設置位置較正部と、
前記台上に設置された前記較正用パネルに設けられた参照マークを前記カメラにより撮影して取得される前記参照マークの座標値に基づいて、撮影時における前記台に対する前記カメラの位置情報を算出する撮影位置算出部と、
前記較正用パネルに設けられた前記参照マークを前記カメラにより撮影したときの3次元座標計測用多関節アームの位置情報を算出するアーム位置算出部と、
前記台と前記カメラ付き3次元座標計測用多関節アームの位置関係の較正結果、撮影時における前記台に対する前記カメラの位置情報、および前記3次元座標計測用多関節アームの位置情報を利用して、前記カメラ付き3次元座標計測用多関節アームのカメラ設置関節と前記カメラの位置関係の較正を行うカメラ設置位置較正部とを含むことを特徴とするキャリブレーション装置。
【請求項2】
前記台と前記カメラ付き3次元座標計測用多関節アームの位置関係の較正結果、および前記カメラ設置関節と前記カメラの位置関係の較正結果を利用して、任意のアーム位置における前記台に対する前記カメラの位置情報を算出するカメラ位置算出部をさらに含むことを特徴とする請求項1に記載のキャリブレーション装置。
【請求項3】
前記台は、対象物を載せて回転させることのできる回転台であり、
前記回転台の回転角を異ならせて前記較正用パネル上の前記計測点を前記カメラ付き3次元座標計測用多関節アームによって計測して取得される前記計測点の座標値に基づいて、前記較正用パネルの前記回転台に対するずれを補正する較正パネル補正部をさらに含むことを特徴とする請求項1または2に記載のキャリブレーション装置。
【請求項4】
前記カメラにより撮影された画像から前記台に置かれた対象物に投影されたスリット光を抽出するスリット光抽出部と、
投影されたスリット光の座標位置を照射されたスリット光のつくる平面方程式に当てはめることにより、前記カメラに対するスリット光の投影位置を較正するスリット光位置較正部をさらに含むことを特徴とする請求項1から3のいずれかに記載のキャリブレーション装置。
【請求項5】
前記較正用パネルに設けられた複数の前記参照マークは、ランダムに配置されていることを特徴とする請求項1から4のいずれかに記載のキャリブレーション装置。
【請求項6】
前記較正用パネルに設けられた複数の前記参照マークは、ランダムに複数のタイプに分類されていることを特徴とする請求項1から4のいずれかに記載のキャリブレーション装置。
【請求項7】
前記較正用パネルに設けられた複数の前記参照マークは、複数のタイプに分類されており、前記計測点は異なるタイプの前記参照マークに対応づけて設けられていることを特徴とする請求項1から4のいずれかに記載のキャリブレーション装置。
【請求項8】
カメラが設置された3次元座標計測用多関節アームと、
前記カメラにより撮影される対象物を載せるための台と、
前記台に設置される較正用パネルとを含み、
前記較正用パネルは、
前記台と前記3次元座標計測用多関節アームの位置関係の較正を行うために前記3次元座標計測用多関節アームによって計測される複数の計測点と、
前記台に対する前記カメラの位置情報を算出するために、前記カメラによって撮影される複数の参照マークとを含むことを特徴とする3次元モデリング装置。
【請求項9】
前記較正用パネルに設けられた複数の前記参照マークは、ランダムに複数種類の色によって色分けされていることを特徴とする請求項8に記載の3次元モデリング装置。
【請求項10】
前記較正用パネルに設けられた複数の前記参照マークは、複数種類の色によって色分けされており、前記計測点は異なる色の前記参照マーク内に設けられていることを特徴とする請求項8に記載の3次元モデリング装置。
【請求項11】
カメラ付き3次元座標計測用多関節アームと対象物を載せるための台とを含む3次元モデリング装置と、
前記3次元モデリング装置をキャリブレーションするキャリブレーション装置とを含み、
前記キャリブレーション装置は、
前記台上に設置された較正用パネルに設けられた計測点を前記カメラ付き3次元座標計測用多関節アームによって計測して取得される前記計測点の座標値に基づいて、前記台と前記カメラ付き3次元座標計測用多関節アームの位置関係の較正を行うアーム設置位置較正部と、
前記台上に設置された前記較正用パネルに設けられた参照マークを前記カメラにより撮影して取得される前記参照マークの座標値に基づいて、撮影時における前記台に対する前記カメラの位置情報を算出する撮影位置算出部と、
前記較正用パネルに設けられた前記参照マークを前記カメラにより撮影したときの3次元座標計測用多関節アームの位置情報を算出するアーム位置算出部と、
前記台と前記カメラ付き3次元座標計測用多関節アームの位置関係の較正結果、撮影時における前記台に対する前記カメラの位置情報、および前記3次元座標計測用多関節アームの位置情報を利用して、前記カメラ付き3次元座標計測用多関節アームのカメラ設置関節と前記カメラの位置関係の較正を行うカメラ設置位置較正部とを含むことを特徴とする3次元モデリングシステム。
【請求項12】
前記台に載せられる対象物を撮影するための、撮影位置が固定された固定式カメラをさらに含み、
前記キャリブレーション装置の前記撮影位置算出部は、前記固定式カメラを当該システムに追加してシステムを拡張するために、前記台上に設置された前記較正用パネルに設けられた参照マークを前記固定式カメラにより撮影して取得される前記参照マークの座標値に基づいて、前記台に対する前記固定式カメラの位置関係を算出することを特徴とする請求項11に記載の3次元モデリングシステム。
【請求項13】
前記台に載せられる対象物を計測するためのカメラ無し3次元座標計測用多関節アームをさらに含み、
前記キャリブレーション装置の前記アーム設置位置較正部は、前記3次元座標計測用多関節アームを当該システムに追加してシステムを拡張するために、前記台上に設置された較正用パネルに設けられた計測点を前記カメラ無し3次元座標計測用多関節アームによって計測して取得される前記計測点の座標値に基づいて、前記台と前記カメラ無し3次元座標計測用多関節アームの位置関係の較正を行うことを特徴とする請求項11に記載の3次元モデリングシステム。
【請求項14】
カメラ付き3次元座標計測用多関節アームと対象物を載せるための台とを含む3次元モデリング装置をキャリブレーションする方法であって、
前記台上に設置された較正用パネルに設けられた計測点を前記カメラ付き3次元座標計測用多関節アームによって計測して取得される前記計測点の座標値に基づいて、前記台と前記カメラ付き3次元座標計測用多関節アームの位置関係の較正を行うステップと、
前記台上に設置された前記較正用パネルに設けられた参照マークを前記カメラにより撮影して取得される前記参照マークの座標値に基づいて、撮影時における前記台に対する前記カメラの位置情報を算出するステップと、
前記較正用パネルに設けられた前記参照マークを前記カメラにより撮影したときの3次元座標計測用多関節アームの位置情報を算出するステップと、
前記台と前記カメラ付き3次元座標計測用多関節アームの位置関係の較正結果、撮影時における前記台に対する前記カメラの位置情報、および前記3次元座標計測用多関節アームの位置情報を利用して、前記カメラ付き3次元座標計測用多関節アームのカメラ設置関節と前記カメラの位置関係の較正を行うステップとを含むことを特徴とするキャリブレーション方法。
【請求項15】
カメラ付き3次元座標計測用多関節アームと対象物を載せるための台とを含む3次元モデリング装置をキャリブレーションするためのプログラムであって、
前記台上に設置された較正用パネルに設けられた計測点を前記カメラ付き3次元座標計測用多関節アームによって計測して取得される前記計測点の座標値に基づいて、前記台と前記カメラ付き3次元座標計測用多関節アームの位置関係の較正を行うステップと、
前記台上に設置された前記較正用パネルに設けられた参照マークを前記カメラにより撮影して取得される前記参照マークの座標値に基づいて、撮影時における前記台に対する前記カメラの位置情報を算出するステップと、
前記較正用パネルに設けられた前記参照マークを前記カメラにより撮影したときの3次元座標計測用多関節アームの位置情報を算出するステップと、
前記台と前記カメラ付き3次元座標計測用多関節アームの位置関係の較正結果、撮影時における前記台に対する前記カメラの位置情報、および前記3次元座標計測用多関節アームの位置情報を利用して、前記カメラ付き3次元座標計測用多関節アームのカメラ設置関節と前記カメラの位置関係の較正を行うステップとをコンピュータに実行させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2006−98065(P2006−98065A)
【公開日】平成18年4月13日(2006.4.13)
【国際特許分類】
【出願番号】特願2004−280881(P2004−280881)
【出願日】平成16年9月28日(2004.9.28)
【出願人】(000001889)三洋電機株式会社 (18,308)
【Fターム(参考)】