(57)【要約】【課題】  少ない計測点で高精度に較正ができるカメラキャリブレーションの自動化アルゴリズムを提供する。【解決手段】  三次元形状が既知の対象物１２を所定位置に固定配置された複数のカメラ１３、１４で撮影し、得られた二次元の各カメラ画像１５、１６から対象物１２の主要構成を抽出して形成した主要構成画像１８、１９と、対象物１２を透視投影行列Ｐを用いて各カメラ画像１５、１６と同一平面上にそれぞれ作成した二次元のモデル画像２０、２１とが重なるように、透視投影行列Ｐを最適化し、各カメラ１３、１４で撮像した任意の物体の三次元データを得る。【選択図】        図１
2007064836.tif 000002
【特許請求の範囲】
【請求項１】
三次元形状が既知の対象物を所定位置に固定配置された複数のカメラで撮影し、得られた二次元の各カメラ画像から該対象物の主要構成を抽出して形成した主要構成画像と、前記対象物を透視投影行列を用いて前記各カメラ画像と同一平面上にそれぞれ作成した二次元のモデル画像とが重なるように、前記透視投影行列を最適化し、前記各カメラで撮像した任意の物体の三次元データを得ることを特徴とするカメラキャリブレーションの自動化アルゴリズム。
【請求項２】
三次元形状が既知の対象物の主要構成の三次元データを得る第１工程と、
前記対象物を所定位置に固定配置された複数のカメラで撮影して二次元の各カメラ画像を得る第２工程と、
前記第２工程で得られた前記各カメラ画像から前記主要構成を抽出した主要構成画像を得る第３工程と、
前記第１工程で得た前記対象物の複数の主要構成の三次元データから選択された数点の計測点の三次元空間内の座標Ｍ（Ｘ，Ｙ，Ｚ）を、これに対応する前記主要構成画像の座標ｍ（ｕ，ｖ）で探してその位置を決める第４工程と、
前記第１工程で入力した前記対象物の主要構成の前記三次元データと、前記第４工程で決定した主要構成の座標ｍ（ｕ，ｖ）から透視投影行列の各要素を仮決定して、前記カメラ画像と同一面上に前記対象物のモデル画像を作成する第５工程と、
前記仮決定を繰り返すという前記透視投影行列の最適化を行って、前記主要構成画像と前記モデル画像の一致度を最大にして、最適化された前記透視投影行列を得る第６工程とを有し、
前記最適化された前記透視投影行列を用いて前記各カメラで撮像した任意の物体の三次元データを得ることを特徴とするカメラキャリブレーションの自動化アルゴリズム。
【請求項３】
請求項２記載の自動化アルゴリズムにおいて、前記第４工程では、前記計測点を同一の平面上にない４つとすることを特徴とするカメラキャリブレーションの自動化アルゴリズム。
【請求項４】
請求項２及び３のいずれか１項に記載の自動化アルゴリズムにおいて、前記第４工程では、前記第３工程で得た主要構成画像中の前記座標ｍを前記第１工程で得た対象物の三次元データ中の前記計測点の座標Ｍに自動的に対応させていることを特徴とするカメラキャリブレーションの自動化アルゴリズム。
【請求項５】
請求項２〜４のいずれか１項に記載の自動化アルゴリズムにおいて、前記主要構成画像及び前記モデル画像は平滑化されていることを特徴とするカメラキャリブレーションの自動化アルゴリズム。
【請求項６】
請求項２〜５のいずれか１項に記載の自動化アルゴリズムにおいて、前記第６工程での前記透視投影行列の最適化は、多次元滑降シンプレックス法又は勾配法によって行うことを特徴とするカメラキャリブレーションの自動化アルゴリズム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、手順を簡略化したカメラキャリブレーションの自動化アルゴリズムに関する。
【背景技術】
【０００２】
従来、運動計測やロボットの視覚として、カメラを備えた三次元位置計測装置が広く用いられている。三次元位置計測装置においては、カメラのキャリブレーション（較正）が必要不可欠である。カメラのキャリブレーションは、図１０に示すように、実世界、すなわち、三次元空間３０内に配置された三次元形状（例えば、大きさ及び位置等）が既知の対象物の任意の座標Ｍ’（Ｘ’，Ｙ’，Ｚ’）を、対象物をカメラで撮影して得たカメラ画像３１中の座標Ｍ’に対応する座標ｍ’（ｕ’，ｖ’）に変換する透視投影行列（射影行列、射影変換行列、又は投影行列ともいわれる）Ｐ’を、例えば、（１）式で示される射影方程式によって求め、三次元位置計測装置の偏りを基準量によって正すことである。これにより、カメラ画像３１から対象物の三次元形状などを復元することができる（例えば、非特許文献１参照）。
【０００３】
【数１】
2007064836.tif 000003
【０００４】
ここで、（１）式において、ｗは０でない定数である。従って、左辺は右辺の０でない定数倍と等しく、（２）式で示すことができる。
【０００５】
【数２】
2007064836.tif 000004
【０００６】
透視投影行列Ｐ’は、（３）式に示すように、３行４列の要素、すなわち、ｐ’11〜ｐ’34を有し、カメラの位置、姿勢、及び画角等のデータを含んでいる。
【０００７】
【数３】
2007064836.tif 000005
【０００８】
（２）式及び（３）式より、三次元空間３０内の座標Ｍ’とカメラ画像３１上の座標ｍ’との関係は、（４）式及び（５）式で示すことができ、対象物の複数の計測点を用いて透視投影行列Ｐ’を求めることができる。
【０００９】
【数４】
2007064836.tif 000006
【００１０】
【非特許文献１】徐剛、辻三郎著、「３次元ビジョン」、共立出版、１９９８年４月２０日、ｐ．７９−８２
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、非特許文献１の方法では、透視投影行列Ｐ’の各要素ｐ’11〜ｐ’34を求めるには、６点以上の計測点について座標を（４）式及び（５）式に代入しなければならず、計測の手間がかかるという問題があった。また、計測点の数が多いほど、キャリブレーションの精度は向上するが、外乱（例えば、機材の移動等）によってカメラ又は対象物の位置が変わると、その都度計測点を測定し直さなければならず、更に煩雑になるという問題があった。
【００１２】
本発明はかかる事情に鑑みてなされたもので、少ない計測点で高精度にキャリブレーションできるカメラキャリブレーションの自動化アルゴリズムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
前記目的に沿う第１の発明に係るカメラキャリブレーションの自動化アルゴリズムは、三次元形状が既知の対象物を所定位置に固定配置された複数のカメラで撮影し、得られた二次元の各カメラ画像から該対象物の主要構成を抽出して形成した主要構成画像と、前記対象物を透視投影行列を用いて前記各カメラ画像と同一平面上にそれぞれ作成した二次元のモデル画像とが重なるように、前記透視投影行列を最適化し、前記各カメラで撮像した任意の物体の三次元データを得る。
【００１４】
前記目的に沿う第２の発明に係るカメラキャリブレーションの自動化アルゴリズムは、三次元形状が既知の対象物の主要構成の三次元データを得る第１工程と、
前記対象物を所定位置に固定配置された複数のカメラで撮影して二次元の各カメラ画像を得る第２工程と、
前記第２工程で得られた前記各カメラ画像から前記主要構成を抽出した主要構成画像を得る第３工程と、
前記第１工程で得た前記対象物の複数の主要構成の三次元データから選択された数点の計測点の三次元空間内の座標Ｍ（Ｘ，Ｙ，Ｚ）を、これに対応する前記主要構成画像の座標ｍ（ｕ，ｖ）で探してその位置を決める第４工程と、
前記第１工程で入力した前記対象物の主要構成の前記三次元データと、前記第４工程で決定した主要構成の座標ｍ（ｕ，ｖ）から透視投影行列の各要素を仮決定して、前記カメラ画像と同一面上に前記対象物のモデル画像を作成する第５工程と、
前記仮決定を繰り返すという前記透視投影行列の最適化を行って、前記主要構成画像と前記モデル画像の一致度を最大にして、最適化された前記透視投影行列を得る第６工程とを有し、
前記最適化された前記透視投影行列を用いて前記各カメラで撮像した任意の物体の三次元データを得る。
【００１５】
三次元形状が既知の対象物（すなわち、三次元データが得られた対象物）としては、例えば、所定の長さの棒状部材から形成された立方体、正四面体、又は直方体等が好適に使用される。対象物をカメラで撮影したカメラ画像には、通常背景等が撮像されており、カメラ画像から対象物の主要構成を抽出（取出）して主要構成画像を得る。
最適化された透視投影行列によって、個々のカメラのキャリブレーションを行い、キャリブレーションを行った複数のカメラで三次元空間内の任意の物体を撮影して得られた各カメラ画像から、この物体の三次元データを得ることができる。
【００１６】
第２の発明に係るカメラキャリブレーションの自動化アルゴリズムにおいて、前記第４工程では、前記計測点を同一の平面上にない４つとするのが好ましい。
第２の発明に係るカメラキャリブレーションの自動化アルゴリズムにおいて、前記第４工程では、前記第３工程で得た主要構成画像中の前記座標ｍを前記第１工程で得た対象物の三次元データ中の前記計測点の座標Ｍに自動的に対応させてもよい。
第２の発明に係るカメラキャリブレーションの自動化アルゴリズムにおいて、前記主要構成画像及び前記モデル画像は平滑化してもよい。
【００１７】
第２の発明に係るカメラキャリブレーションの自動化アルゴリズムにおいて、前記第６工程での前記透視投影行列の最適化は、多次元滑降シンプレックス法又は勾配法によって行うこともできる。
多次元滑降シンプレックス法は、幾何学的な本質をもち、目的関数のみを必要とし、微分係数を必要としない。Ｎ次元空間におけるＮ＋１角形をシンプレックス（ｓｉｍｐｌｅｘ、単体）という。シンプレックスは、Ｎ次元でＮ＋１の点（ベクトル）の全てを相互に繋げている線分、多面体等からなる幾何学的図形である。例えば、二次元でのシンプレックスは三角形であり、三次元でのシンプレックスは四面体である。
また、勾配法は、最急降下法ともいわれ、目的関数をそれぞれの経過点で線形近似して、勾配の方向へ進み、漸近的に極小値へ向かう方法である。
【発明の効果】
【００１８】
請求項１に記載のカメラキャリブレーションの自動化アルゴリズムにおいては、三次元形状が既知の対象物を所定位置に固定配置された複数のカメラで撮影し、得られた二次元の各カメラ画像から対象物の主要構成を抽出して形成した主要構成画像と、対象物を透視投影行列を用いて各カメラ画像と同一平面上にそれぞれ作成した二次元のモデル画像とが重なるように、透視投影行列を最適化し、各カメラで撮像した任意の物体の三次元データを得るので、主要構成画像及びモデル画像の全ての主要構成を予め対応させなくてもよく、少ない主要構成から透視投影行列を最適化でき、短時間で高精度にキャリブレーションを行える。
【００１９】
請求項２〜６に記載のカメラキャリブレーションの自動化アルゴリズムにおいては、三次元形状が既知の対象物の複数の主要構成の三次元データから選択された数点の計測点の三次元空間内の座標Ｍ（Ｘ，Ｙ，Ｚ）を、これに対応する主要構成画像の座標ｍ（ｕ，ｖ）で探してその位置を決め、対象物の主要構成の三次元データと、主要構成の座標ｍから透視投影行列の各要素を仮決定して、カメラ画像と同一面上に対象物のモデル画像を作成した後、仮決定を繰り返すという透視投影行列の最適化を行って、主要構成画像とモデル画像の一致度を最大にして、得られた最適化された透視投影行列を用いて各カメラで撮像した任意の物体の三次元データを得るので、少ない計測点を対応させて、仮決定により透視投影行列を短時間で最適化できると共に、高精度でキャリブレーションを行うことができる。
【００２０】
特に、請求項３記載のカメラキャリブレーションの自動化アルゴリズムにおいては、計測点を同一の平面上にない４つとするので、従来よりも計測の手間が軽減できる。
請求項４記載のカメラキャリブレーションの自動化アルゴリズムにおいては、計測点の座標Ｍ及び主要構成画像の座標ｍを自動的に対応させているので、カメラで対象物を撮影するだけで、キャリブレーションが可能となる。
【００２１】
請求項５記載のカメラキャリブレーションの自動化アルゴリズムにおいては、主要構成画像及びモデル画像は平滑化されているので、ノイズ除去ができると共に、透視投影行列の最適化の探索が容易になる。
請求項６記載のカメラキャリブレーションの自動化アルゴリズムにおいては、透視投影行列の最適化を多次元滑降シンプレックス法又は勾配法によって行うので、主要構成画像及びモデル画像をより簡単に一致させることができる。
【発明を実施するための最良の形態】
【００２２】
続いて、添付した図面を参照しつつ、本発明を具体化した実施の形態につき説明し、本発明の理解に供する。
ここで、図１は本発明の一実施の形態に係るカメラキャリブレーションの自動化アルゴリズムを適用した三次元位置計測装置の説明図、図２は同自動化アルゴリズムのフローチャート、図３（Ａ）、（Ｂ）はそれぞれ三次元位置計測装置のモニタに表示された左画像及び右画像の説明図、図４は同自動化アルゴリズムによるモデル画像と主要構成画像の説明図、図５（Ａ）は同自動化アルゴリズムの最適化を行う多次元滑降シンプレックス法の初期値の説明図、（Ｂ）〜（Ｅ）は多次元滑降シンプレックス法の基本動作の説明図である。
【００２３】
図１〜図３に示すように、本発明の一実施の形態に係るカメラキャリブレーションの自動化アルゴリズムは、三次元空間１１に配置され三次元形状が既知の対象物（すなわち、三次元データが得られた対象物）１２を、所定位置に固定配置された複数、例えば、２つのカメラ１３、１４で撮影し、得られた二次元の各カメラ画像１５、１６から対象物１２の主要構成を抽出して形成した主要構成画像１８、１９（すなわち、背景等が削除された対象物１２の画像）と、対象物１２を透視投影行列Ｐを用いて各カメラ画像１５、１６と同一平面上にそれぞれ作成した二次元のモデル画像２０、２１とが重なるように、透視投影行列Ｐを最適化する手法であり、最適化された透視投影行列Ｐによって各カメラ画像１５、１６で撮像した任意の物体の三次元データを得るものである。以下、詳細に説明する。
【００２４】
図１に示すように、本実施の形態に係る自動化アルゴリズムを適用した三次元位置計測装置２２は、三次元空間１１内に配置された対象物１２と、対象物１２を撮影する２つのカメラ１３、１４と、カメラ１３、１４がそれぞれ接続されたコンピュータ２３と、コンピュータ２３に接続され、カメラ画像１５、１６及びカメラキャリブレーションの結果を視覚的に表示可能なモニタ２４とを有している。ここで、対象物１２は、所定の長さ（例えば、１０〜１００ｃｍ程度）の白色の１２本の棒状部材２５で形成された立方体である。なお、対象物としては、立方体に限らず、正四面体、直方体等の三次元形状が既知のものであればよい。また、カメラ１３、１４は、対象物１２にそれぞれ光軸を向けて、しかも、対象物１２に向かって左右にそれぞれ配置されている。
【００２５】
コンピュータ２３は、（１）対象物の三次元データを保存する、（２）カメラ画像から対象物の主要構成を抽出した主要構成画像を形成する、（３）三次元空間内の座標と、これに対応する主要構成画像の座標とから透視投影行列の各要素を仮決定し、カメラ画像と同一面上に対象物のモデル画像を作成する、（４）透視投影行列の最適化を行って、主要構成画像とモデル画像の一致度を最大にする等を行う。
【００２６】
ここで、三次元空間１１内に配置される対象物１２の任意の座標Ｍ（Ｘ，Ｙ，Ｚ）は、カメラ１３のカメラ画像１５上の座標ｍ1 （ｕ1 ，ｖ1 ）と、カメラ１４のカメラ画像１６上の座標ｍ2 （ｕ2 ，ｖ2 ）にそれぞれ投影（射影）される（以下、ｍi 、ｕi ，ｖi 、ｉ＝１、２と表すこともある）。座標Ｍを座標ｍ1 、座標ｍ2 にそれぞれ変換する透視投影行列Ｐ1 、Ｐ2 （以下、Ｐi 、ｉ＝１、２と表すこともある）は、（６）式で示される透視投影方程式（射影方程式ともいわれる）から求めることができる。
【００２７】
【数５】
2007064836.tif 000007
【００２８】
但し、ｗは０でない定数であり、（６）式は、左辺が右辺の０でない定数倍と等しく、（７）式で示すことができる。
【００２９】
【数６】
2007064836.tif 000008
【００３０】
また、透視投影行列Ｐi は、各要素ｐi 11〜ｐi 34を有し、（８）式で示され、カメラ１３、１４の位置、姿勢、及び画角等のデータを含んでいる。従って、透視投影行列Ｐi によって、カメラ画像１５、１６から三次元空間１１内の対象物１２の三次元形状を復元することができる。
【００３１】
【数７】
2007064836.tif 000009
【００３２】
（６）式〜（８）式によって、（９）式、（１０）式が得られる。これらは、Ｘ、Ｙ、Ｚについての連立一次方程式であり、透視投影行列Ｐi が決まると、カメラ画像１５の座標ｍ1 及びカメラ画像１６の座標ｍ2 から、これらに対応する三次元空間内の座標（Ｘ，Ｙ，Ｚ）を求めることができる。
【００３３】
【数８】
2007064836.tif 000010
【００３４】
次に、図１〜図５を参照して、三次元位置計測装置２２を使用したカメラキャリブレーションの自動化アルゴリズムの作成方法について説明する。
（第１工程）
対象物１２の三次元空間１１における主要構成の三次元データをコンピュータ２３に入力し、コンピュータ２３内の図示しない保存部に保存する。ここで、主要構成の三次元データとは、対象物１２の１２本の棒状部材２５から形成される立方体の８個の頂点の三次元座標であり、座標Ｍj （Ｘj ，Ｙj ，Ｚj ）（ｊ＝１〜８）で表される。なお、対象物１２の８つの頂点の三次元座標が与えられると対象物１２の三次元形状が解るが、更に、対象物１２の隣り合う頂点を結ぶ辺の中点の座標を加えて、コンピュータ２３に入力してもよい。
【００３５】
（第２工程）
図１に示すように、対象物１２をカメラ１３、１４で撮影してカメラ画像１５、１６をそれぞれ得る。図３（Ａ）、（Ｂ）に示すように、カメラ画像１５、１６は、対象物１２をそれぞれ左目及び右目で見ているように、モニタ２４でそれぞれ左画像２６及び右画像２７として表示される。
【００３６】
（第３工程）
図４に示すように、コンピュータ２３により、カメラ画像１５、１６から対象物１２の主要構成を抽出した主要構成画像１８、１９をそれぞれ得る。ここで、対象物１２の主要構成の抽出は、例えば、カメラ画像１５、１６をＲＧＢ表色系からＨＳＶ表色系に変換し、対象物１２と同じ色相（すなわち、白色）のピクセルを背景から抽出して行っている。これによって、カメラ画像１５、１６から対象物１２の棒状部材２５の画像部分を抽出した主要構成画像１８、１９をそれぞれ作成できる。なお、ＲＧＢ表色系は、色の三原色である赤（Ｒ）、緑（Ｇ）、及び青（Ｂ）でそれぞれ表すものであり、ＨＳＶ表色系は、色情報を色相（Ｈ）、彩度（Ｓ）、及び輝度（Ｖ）で表示したものである。ここで、対象物１２の背後に、例えば、黒色の幕２８を設置して、白色の棒状部材で形成された対象物１２の色相を抽出し易くしている（図３（Ａ）、（Ｂ）参照）。
【００３７】
更に、主要構成画像１８、１９に、例えば、（１１）式で示されるガウシアンフィルタをかけて平滑化してもよい。ガウシアンフィルタとは、ある任意の対象画像（主要構成画像）における周辺画素に対し、画素の空間的配置を考慮して、対象画素に近い画素に大きな重みを、対象画素から遠い画素には小さい重みを付けて加重平均した値を対象画素の値に置き換える手法である。なお、平滑化は、ガウシアンフィルタの代わりに、対象画素の近傍の階調値の和を求め、それを元にして対象画素の階調値を計算する線形平滑化フィルタ、又は画像中の線や縁をぼかさずに、雑音、特に対象画素と近傍の中で階調値が大きく異なる孤立点を除去する機能を有する非線形フィルタ等を用いて行ってもよい。
【００３８】
【数９】
2007064836.tif 000011
【００３９】
（第４工程）
三次元空間１１内の対象物１２の主要構成の８つの三次元データから選択された同一平面上にない数点、例えば４つの計測点を、対象物１２の１つの頂点（原点）Ｍ1 （０，０，０）と、原点からｘ軸、ｙ軸、ｚ軸上にそれぞれ配置される座標Ｍ2 （ｘ，０，０）、Ｍ3 （０，ｙ，０）、及び座標Ｍ4 （０，０，ｚ）とする。この三次元空間内の座標Ｍ1 〜座標Ｍ4 を、これに対応する主要構成画像１８の座標の座標ｍ1 j （ｕ1 j ，ｖ1 j ）及び主要構成画像１９の座標ｍ2 j （ｕ2 j ，ｖ2 j ）で探して位置を決める（ｊ＝１〜４）。ここで、主要構成画像１８、１９の座標ｍi j の位置決めは、モニタ２４に映し出される映像、すなわち、主要構成画像１８、１９上のポインタ（図示せず）を、コンピュータ２３に接続された図示しないマウス等で移動させて、コンピュータ２３で行っている。
【００４０】
（第５工程）
第１工程で入力した対象物１２の主要構成の三次元データ（座標Ｍ1 〜座標Ｍ4 ）と、第４工程で決定した主要構成の４つの計測点の座標ｍi 1 〜座標ｍi 4 とから、コンピュータ２３により透視投影行列Ｐi の各要素を仮決定して、カメラ画像１５、１６と同一面上に対象物１２のモデル画像２０、２１をそれぞれ作成する。以下、モデル画像２０、２１の作成について、詳しく説明する。
【００４１】
まず、（９）式、（１０）式に、Ｍ1 （０，０，０）の値をそれぞれ代入する。ここで、（７）式により、定数倍の自由度が与えられているので、（１２）式、（１３）式が得られる。これは、カメラ画像１５、１６において、対象物１２の原点の座標Ｍ1 （０，０，０）に対応する座標ｍi 1 （ｕi 1 ，ｖi 1 ）が指定されると、透視投影行列Ｐi のｐi 14及びｐi 24がそれぞれ決定されることを示す。
【００４２】
【数１０】
2007064836.tif 000012
【００４３】
更に、座標Ｍ2 （ｘ，０，０）が与えられると、（９）式、（１０）式より、（１４）式、（１５）式が得られる。これらによって、ｐi 11とｐi 31、及びｐi 21とｐi 31の比をそれぞれ決定することができる。同様に、座標Ｍ3 （０，ｙ，０）、座標Ｍ4 （０，０，ｚ）を、（９）式、（１０）式に代入すると、（１６）式〜（１９）式が得られ、ｐi 12とｐi 32、ｐi 22とｐi 32、ｐi 13とｐi 33、及びｐi 23とｐi 33の比をそれぞれ決定することができる。
【００４４】
【数１１】
2007064836.tif 000013
【００４５】
（１４）式〜（１９）式より、座標Ｍ1 〜座標Ｍ4 と、それに対応する座標ｍi 1 〜座標ｍi 4 の４点とをそれぞれ探して決定すると、透視投影行列Ｐi の全ての要素（ｐi 11〜ｐi 34）を目的関数の変数にする必要はなく、ｐi 31、ｐi 32、及びｐi 33の３つの変数を与えるだけ透視投影行列Ｐi を求めることができる。これらを用いて透視投影行列Ｐi の各要素を仮決定し、この仮決定した透視投影行列Ｐi により、カメラ画像１５、１６上に、対象物１２のモデル画像２０、２１をそれぞれ作成する（図４参照）。更に、モデル画像２０、２１は、例えば、（１１）式で示されるガウシアンフィルタ等により平滑化してもよい。
【００４６】
（第６工程）
透視投影行列Ｐi を、例えば、多次元滑降シンプレックス法により、仮決定を繰り返して最適化を行って、主要構成画像１８、１９及びモデル画像２０、２１の一致度を最大にし、最適化された透視投影行列Ｐi*を得る。ここで、最適化とは、一致度の一例である目的関数Ｏを最大化もしくは最小化することであり、その際の変数、すなわち、透視投影行列Ｐi の各要素ｐi 11〜ｐi 34の値を求めることである。目的関数Ｏを最小化する場合は、主要構成画像１８、１９及びモデル画像２０、２１の類似度ｓを用いて目的関数Ｏを１−ｓとすることができる。以下、目的関数Ｏの最小化について説明する。
【００４７】
ここで、類似度ｓは、主要構成画像１８、１９の画像ベクトルＱi cam 及びモデル画像２０、２１の画像ベクトルＱi model によって、（２０）式で示される。画像ベクトルＱi cam は、（ｑi c1、ｑi c2、・・・、ｑi cN）で表わされ、画像ベクトルＱi model は、（ｑi m1、ｑi m2、・・・、ｑi mN）で表される。なお、ｑi c1、ｑi c2、・・・、ｑi cN及びｑi m1、ｑi m2、・・・、ｑi mNは、それぞれの画像のピクセル値（例えば、２値化データを用いた場合、１：抽出した色、すなわち、対象物１２の棒状部材２５の白色、０：背景色、すなわち、幕２８の黒色）であり、Ｎは画像中の抽出されたピクセル（画素）の総数である。類似度ｓは、１〜０の範囲の値を有し、目的関数Ｏが１−ｓであるので、ｓ＝１のときに、目的関数Ｏが最小となり、主要構成画像１８、１９とモデル画像２０、２１がそれぞれ一致する（重なる）。
【００４８】
【数１２】
2007064836.tif 000014
【００４９】
なお、目的関数Ｏとして、類似度ｓを用いた１−ｓに、更に主要構成画像１８、１９の面積重心（ｇi cam ）とモデル画像２０、２１の面積重心（ｇi model ）との差、及び、主要構成画像１８、１９のｕ方向とｖ方向の分散（ｒi cam ）とモデル画像２０、２１のｕ方向とｖ方向の分散（ｒi model ）の差を加えて、最適化の探索を容易にしてもよい。また、目的関数を類似度ｓの代わりに、主要構成画像１８、１９及びモデル画像２０、２１の各点の相関（すなわち、内積）を使用して、内積が最大となる点を決定して透視投影行列Ｐi*を得ることもできる。
【００５０】
ここで、本発明の一実施の形態のカメラキャリブレーションの自動化アルゴリズムにおいては、類似度ｓが１となるように、多次元滑降シンプレックス法を用いて、透視投影行列Ｐi の各要素（ｐi 11〜ｐi 34）の値を推定し、透視投影行列Ｐi の仮決定を繰り返し、最適化された透視投影行列Ｐi*を得る。
【００５１】
多次元滑降シンプレックス法は、まず、透視投影行列Ｐi の最適化すべき要素、すなわち、変数の数をＫとし、各変数を少しずつ変化させてＫ＋１組の透視投影行列Ｐi を作る。次に、作成したＫ＋１組の透視投影行列Ｐi を各頂点（Ｋ＋１個）として、初期状態のシンプレックスを作成する。更に、初期状態のシンプレックスを用いて透視投影行列Ｐi の最適化を行う。多次元滑降シンプレックス法は、以下に示すステップでシンプレックスの変更を繰り返し、目的関数Ｏの値が標高で表されるＫ次元の地形を下り降り、最も低い場所に到達したとき、目的関数Ｏの値が最小化される。前記したように本発明の一実施の形態のカメラキャリブレーションの自動化アルゴリズムにおいては、座標Ｍ1 〜座標Ｍ4 と、それに対応する座標ｍi 1 〜座標ｍi 4 の４点とがそれぞれ決定されているので、ｐi 31、ｐi 32、及びｐi 33の３つの変数（Ｋ＝３）が得られればよい。
【００５２】
図５（Ａ）に示すように、変数の数Ｋを３とした場合には、初期状態のシンプレックスが４つの頂点を有する四面体となる。次に、図５（Ｂ）に示すように、目的関数Ｏの値が最大の（一番高いところにある）頂点Ａを対向面の逆側に反射させ、目的関数の値を低く（小さく）する。更に、図５（Ｃ）に示すように、シンプレックスを膨張させ、移動距離を大きくすることもできる。また、図５（Ｄ）に示すように、初期状態のシンプレックスが谷底のような地形である場合には、シンプレックスを収縮させ、より低い場所に徐々に移動させる。更に、図５（Ｅ）に示すように、シンプレックスが狭い窪地に到着した際には、目的関数Ｏの値が最小の（一番低い位置にある）頂点Ｂの周りに凝集させ、窪地に落ち込ませる。
シンプレックスの目的関数が最小値となるまで、図５（Ｂ）〜（Ｅ）に示す動作を行って、主要構成画像１８、１９及びモデル画像２０、２１を実質的に一致させる最適化された透視投影行列Ｐi*を得ることができる。
【００５３】
以上のように、第１工程〜第６工程によって、最適化した透視投影行列Ｐi*が得られる。この最適化された透視投影行列Ｐi*を用いることにより、三次元空間１１に配置された任意の物体を撮像した各カメラ画像１５、１６から、この物体の三次元データを得ることができる。
【実施例】
【００５４】
次に、本発明の作用効果を確認するために行った実施例について説明する。ここで、図６（Ａ）、（Ｂ）はそれぞれ本発明の実施例１の左右のカメラにおける主要構成画像とモデル画像の重ね合わせを示す説明図、図７（Ａ）、（Ｂ）はそれぞれ本発明の実施例２の左右のカメラにおける主要構成画像とモデル画像の重ね合わせを示す説明図、図８（Ａ）、（Ｂ）はそれぞれ比較例１のカメラキャリブレーションの左右のカメラにおけるカメラ画像とモデル画像の重ね合わせを示す説明図、図９（Ａ）、（Ｂ）はそれぞれ比較例２のカメラキャリブレーションの左右のカメラにおけるカメラ画像とモデル画像の重ね合わせを示す説明図である。
【００５５】
（実施例１）
本発明のカメラキャリブレーションの自動化アルゴリズムを適用して、カメラキャリブレーションを行った。また、対象物としては、一辺が０．５２５ｍの棒状部材を組んだ立方体を使用した。この立方体の原点の座標Ｍ1 と、原点からＸ軸、Ｙ軸、Ｚ軸上にある各頂座標Ｍ2 〜座標Ｍ4 の座標（真値）をコンピュータに入力した。立方体を２台のカメラで撮影して２枚のカメラ画像をそれぞれ得た後、それぞれのカメラ画像からコンピュータによって立方体の主要構成を抽出した主要構成画像を得た。
【００５６】
次に、座標Ｍ1 〜座標Ｍ4 に対応する主要構成画像の座標ｍ1 〜座標ｍ4 をそれぞれ探して決定した。また、座標Ｍ1 〜座標Ｍ4 と、座標ｍ1 〜座標ｍ4 とから透視投影行列Ｐを仮決定して、立方体のモデル画像を作成した。更に、透視投影行列Ｐを、例えば、多次元滑降多次元滑降シンプレックス法により最適化を行って、主要構成画像及びモデル画像の一致度を最大にして実質的に一致させる透視投影行列Ｐ* を得た。
【００５７】
ここで、表１に実施例１によって得られた立方体の各頂点の座標（計算値）及び最小二乗誤差を示す。また、図６（Ａ）、（Ｂ）及び表１に示すように、実施例１における主要構成画像とモデル画像は、ほとんど重なっており、誤差も小さいので、精度よくカメラキャリブレーションができたことが解る。
【００５８】
【表１】
2007064836.tif 000015
【００５９】
（実施例２）
実施例２は、立方体の原点の座標Ｍ1 とＺ軸上にある頂座標Ｍ4 の座標をコンピュータに入力し、座標Ｍ1 、Ｍ4 と、主要構成画像の座標ｍ1 、座標ｍ4 をそれぞれ対応させて透視投影行列Ｐ* を得る点が実施例１と異なっている。ここで、表２に実施例２によって得られた立方体の各頂点の座標（計算値）及び最小二乗誤差を示す。図７（Ａ）、（Ｂ）及び表２に示すように、実施例２における主要構成画像とモデル画像は、底面部分では重なっているが、上面部分ではかなり外れている。このように、コンピュータに入力する計測点が、２点ではキャリブレーションの精度が低くなることが解った。
【００６０】
【表２】
2007064836.tif 000016
【００６１】
（比較例１）
従来のカメラのキャリブレーション法に従って、立方体の８個の頂点の座標をコンピュータに入力し、立方体を２台のカメラで撮影して２枚のカメラ画像をそれぞれ得た後、立方体の各頂点の座標（Ｍ’j （Ｘ’j ，Ｙ’j ，Ｚ’j ）、ｊ＝１〜８）とカメラ画像中の座標ｍ’j （ｕ’j ，ｖ’j ）をそれぞれ対応させ、射影方程式により透視投影行列Ｐ’を計算して求めた。ここで、表３に比較例１によって得られた立方体の各頂点の座標（計算値）及び最小二乗誤差を示す。図８（Ａ）、（Ｂ）及び表３に示すように、比較例１におけるカメラ画像とモデル画像は、大きくずれており、実施例１で指定した計測点よりも多くの点を使用した比較例１の方法ではキャリブレーションの精度が低いことが解る。
【００６２】
【表３】
2007064836.tif 000017
【００６３】
（比較例２）
比較例２のカメラのキャリブレーション法は、立方体の各頂点（８個）及び隣り合う頂点を結ぶ辺の中点（１２個）を使用して合計２０個の計測点を対応させた点が比較例１と異なっている。ここで、表４に比較例２によって得られた立方体の各頂点の座標（計算値）及び最小二乗誤差を示す。図９（Ａ）、（Ｂ）及び表４に示すように、比較例２におけるカメラ画像とモデル画像はほとんど重なっており、キャリブレーションの精度が高いことが解る。しかしながら、２０個の計測点を計測する作業が大変煩雑である。
【００６４】
【表４】
2007064836.tif 000018
【００６５】
本発明は、前記した実施の形態に限定されるものではなく、本発明の要旨を変更しない範囲での変更は可能であり、例えば、前記したそれぞれの実施の形態や変形例の一部又は全部を組み合わせて本発明のカメラキャリブレーションの自動化アルゴリズムを構成する場合も本発明の権利範囲に含まれる。
【００６６】
例えば、前記実施の形態のカメラキャリブレーションの自動化アルゴリズムにおいて、第４工程では、三次元空間内の座標Ｍに対応する主要構成画像の座標ｍの位置決めを、モニタに映し出される主要構成画像上のポインタを、コンピュータに接続されたマウスで移動させて行ったが、コンピュータによってカメラ画像から対象物の主要構成を抽出した後、作成される主要構成画像中の座標ｍと、これに対応する座標Ｍとをコンピュータによる演算によって自動的に決定させてもよい。また、前記実施の形態では、対象物を２つのカメラで撮影したが、３つ以上のカメラを用いてもよい。更に、前記実施の形態では、最適化に多次元滑降シンプレックス法を用いたが、勾配法を使用してもよい。また、主要構成画像及びモデル画像をガウシアンフィルタによって平滑化しているが、平滑化しなくてもよい。
【図面の簡単な説明】
【００６７】
【図１】本発明の一実施の形態に係るカメラキャリブレーションの自動化アルゴリズムを適用した三次元位置計測装置の説明図である。
【図２】同自動化アルゴリズムのフローチャートである。
【図３】（Ａ）、（Ｂ）はそれぞれ三次元位置計測装置のモニタに表示された左画像及び右画像の説明図である。
【図４】同自動化アルゴリズムによるモデル画像と主要構成画像の説明図である。
【図５】（Ａ）は同自動化アルゴリズムの最適化を行う多次元滑降シンプレックス法の初期値の説明図、（Ｂ）〜（Ｅ）は多次元滑降シンプレックス法の基本動作の説明図である。
【図６】（Ａ）、（Ｂ）はそれぞれ本発明の実施例１の左右のカメラにおける主要構成画像とモデル画像の重ね合わせを示す説明図である。
【図７】（Ａ）、（Ｂ）はそれぞれ本発明の実施例２の左右のカメラにおける主要構成画像とモデル画像の重ね合わせを示す説明図である。
【図８】（Ａ）、（Ｂ）はそれぞれ比較例１のカメラキャリブレーションの左右のカメラにおけるカメラ画像とモデル画像の重ね合わせを示す説明図である。
【図９】（Ａ）、（Ｂ）はそれぞれ比較例２のカメラキャリブレーションの左右のカメラにおけるカメラ画像とモデル画像の重ね合わせを示す説明図である。
【図１０】従来例に係るカメラキャリブレーションの説明図である。
【符号の説明】
【００６８】
１１：三次元空間、１２：対象物、１３、１４：カメラ、１５、１６：カメラ画像、１８、１９：主要構成画像、２０、２１：モデル画像、２２：三次元位置計測装置、２３：コンピュータ、２４：モニタ、２５：棒状部材、２６：左画像、２７：右画像、２８：幕
【図１】
2007064836.tif 000019
【図２】
2007064836.tif 000020
【図３】
2007064836.tif 000021
【図４】
2007064836.tif 000022
【図５】
2007064836.tif 000023
【図６】
2007064836.tif 000024
【図７】
2007064836.tif 000025
【図８】
2007064836.tif 000026
【図９】
2007064836.tif 000027
【図１０】
2007064836.tif 000028