(57)【特許請求の範囲】
【請求項１】
撮像装置により撮像された画像と、前記撮像装置の内部パラメータと、角膜を球の一部とみなした角膜球の半径と、参照物体における複数の参照点の三次元座標と、前記画像に含まれ前記角膜による前記複数の参照点の一次反射像の前記画像における二次元座標とに基づいて、前記撮像装置の視野外に位置する前記参照物体と前記撮像装置との位置姿勢関係を推定する画像データ処理方法であって、
前記画像と前記内部パラメータと前記半径とに基づいて、前記角膜球の中心座標を推定する角膜球座標推定ステップと、
前記内部パラメータと前記複数の参照点の三次元座標と前記複数の参照点の二次元座標と前記中心座標とに基づいて、前記参照物体の座標系を基準としたときの前記撮像装置の外部パラメータを推定する外部パラメータ推定ステップと、
を有する画像データ処理方法。
【請求項２】
前記角膜球座標推定ステップでは、
前記画像に含まれる前記角膜球の投影像に対する楕円パラメータを推定し、
推定された前記楕円パラメータに基づいて、前記中心座標を推定する、
請求項１に記載の画像データ処理方法。
【請求項３】
前記外部パラメータ推定ステップでは、
前記参照点ごとに、当該参照点の前記二次元座標と前記内部パラメータとから第１のベクトルを算出し、
前記中心座標と前記半径と前記第１のベクトルとに基づいて、前記参照点それぞれの前記角膜球上における反射点の三次元座標を算出し、
前記複数の参照点の三次元座標と、前記複数の参照点それぞれに対応する前記反射点の三次元座標と、前記複数の参照点それぞれに対応する前記第１のベクトルと、前記外部パラメータとに基づいて得られる連立方程式を解くことにより、前記外部パラメータを推定する、
請求項１または請求項２のいずれか一項に記載の画像データ処理方法。
【請求項４】
前記外部パラメータ推定ステップでは、
基底ベクトル表記を用いることにより前記連立方程式を得て前記外部パラメータを線形に推定する、
請求項３に記載の画像データ処理方法。
【請求項５】
前記参照点は、少なくとも６点、または前記参照点が同一平面に位置するときには少なくとも５点、存在する、
請求項１から請求項４のいずれか一項に記載の画像データ処理方法。
【請求項６】
撮像装置により撮像された画像と、前記撮像装置の内部パラメータと、角膜を球の一部とみなした角膜球の半径と、参照物体における複数の参照点の三次元座標と、前記画像に含まれ前記角膜による前記複数の参照点の一次反射像の前記画像における二次元座標とに基づいて、前記撮像装置の視野外に位置する前記参照物体と前記撮像装置との位置姿勢関係を推定する画像データ処理装置であって、
前記画像と前記内部パラメータと前記半径とに基づいて、前記角膜球の中心座標を推定する角膜球座標推定部と、
前記内部パラメータと前記複数の参照点の三次元座標と前記複数の参照点の二次元座標と前記中心座標とに基づいて、前記参照物体の座標系を基準としたときの前記撮像装置の外部パラメータを推定する外部パラメータ推定部と、
を備える画像データ処理装置。
【請求項７】
コンピュータに請求項１から請求項５のいずれか一項に記載のデータ処理方法を実行させるための画像データ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データ処理方法、画像データ処理装置および画像データ処理プログラムに関する。
【背景技術】
【０００２】
カメラと被写体の位置姿勢関係を推定する外部キャリブレーションはコンピュータビジョンの基礎となる技術であり、これまで数多くの研究がなされてきた（非特許文献１）。これら既存の外部キャリブレーションに関する手法の多くは，カメラが参照物体を直接観測できることを想定している。
【０００３】
近年、ラップトップコンピュータ、スマートフォンやデジタルサイネージなどの普及に伴い、ディスプレイ−カメラシステムを用いた様々な研究が注目を集めている。その一つの例として、デジタルサイネージを用いた興味推定がある。これは、ユーザの視線方向とディスプレイでの提示内容との対応を取ることで実現されている。さらには、３次元形状復元への応用も研究されている。これは、ディスプレイを制御可能な面光源として利用し、提示内容の変化に伴う観測対象の輝度変化に基づくものである。これらのように、ディスプレイの提示内容に対し、カメラで撮影した映像から推定した視線や観測対象の輝度変化を幾何的に対応付けるためには、ディスプレイとカメラの位置姿勢関係を求める外部キャリブレーションを行う必要がある。通常ディスプレイにチェスパターンなどを提示し、それをカメラで撮影して外部キャリブレーションを行う。しかしながら、ラップトップコンピュータやスマートフォンなどのディスプレイ−カメラシステムでは、一般にカメラの視野内にディスプレイ（参照物体）が存在せず、従来の外部キャリブレーション手法の適用が困難であった。
【０００４】
このような参照物体がカメラの視野内に存在しない状況において、鏡を用いることで外部キャリブレーションを行う技術が提案されている。なお、以下では参照物体上には参照点が存在し、その参照点を用いて外部キャリブレーションを行うこととする。外部キャリブレーションでは、実施の手間や計算量の観点から、より簡易な構成を目指した研究が取り組まれている。非特許文献２および非特許文献３には、平面鏡を用いた最小構成である、３点の参照点に対して平面鏡を３姿勢用いる技術が記載されている。一方、鏡の姿勢の数の削減という観点から、非特許文献４には、８点の参照点に対して１姿勢の球面鏡を用いる技術が記載されている。さらに、非特許文献５には、追加のデバイスを無くす試みとして、眼球の鏡面反射を利用する技術が記載されている。この技術は、３点の参照点に対して球面鏡とみなした両眼、つまり２姿勢の球面鏡を利用するものである。非特許文献６には、眼球中心、カメラ中心および参照点の位置関係に制約を設けることで３点の参照点に対して１姿勢の眼球を用いる技術が記載されている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Z. Zhang, "A Flexible New Technique for Camera Calibration", IEEE Transactions on Pattern Analysis and Machine Intelligence, Nov. 2000, Volume 22, Issue 11, p.1330-1334
【非特許文献２】K.Takahashi, S.Nobuhara, and T.Matsuyama, "A New Mirror-based Extrinsic Camera Calibration Using an Orthogonality Constraint", 2012 IEEE Conference on Computer Vision and Pattern Recognition(CVPR), June 2012, p.1051-1058
【非特許文献３】J.A.Hesch, A.I.Mourikis, and S.I.Roumeliotis, "chapter: Mirror-Based Extrinsic Camera Calibration", "Algorithmic Foundation of Robotics VIII", (Germany), Springer-Verlag, 2009, Volume 57 of Springer Tracts in Advanced Robotics, p.285-299
【非特許文献４】A.Agrawal, "Extrinsic Camera Calibration Without A Direct View Using Spherical Mirror", 2013 IEEE International Conference on Computer Vision (ICCV), Dec. 2013, p.2368-2375
【非特許文献５】C.Nitschke, A.Nakazawa, and H.Takemura, "Display-camera calibration using eye reflections and geometry constraints", "Computer Vision and Image Understanding", Elsevier B.V., June 2011, Volume 115, Issue 6, p.835-853
【非特許文献６】高橋康輔、三上弾、小島明、「眼球特性と等距離制約を用いたカメラとその視野外に存在する物体の最小構成外部キャリブレーション」、信学技報、電子情報通信学会、２０１５年１月、Ｖｏｌ．１１４、Ｎｏ．４１０，ｐ．２７７−２８２
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、非特許文献２、３、４に記載の技術では、キャリブレーションの度に鏡を用意しなければならないという手間が発生する。また、非特許文献５に記載の技術では、眼球という極小の領域に映った参照物体からキャリブレーションを行うため、精度の観点からカメラと眼球とを近づけて両者間の距離を短くした上で撮影することが望ましい。しかし、非特許文献５に記載の技術では両眼を用いていることから、両眼を同時に撮影できる距離までカメラと眼球とを離す必要があった。また、非特許文献６に記載の技術では、眼球中心と各参照点との距離が、眼球中心とカメラ中心との距離に等しくなければならないという制約が存在する。
【０００７】
上記事情に鑑み、本発明は、眼球中心、参照点およびカメラ中心の位置関係に制約を課すことなく、カメラとその視野外に存在する物体との間の外部キャリブレーションを行うことができるデータ処理方法、画像データ処理装置および画像データ処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様は、撮像装置により撮像された画像と、前記撮像装置の内部パラメータと、角膜を球の一部とみなした角膜球の半径と、参照物体における複数の参照点の三次元座標と、前記画像に含まれ前記角膜による前記複数の参照点の一次反射像の前記画像における二次元座標とに基づいて、前記撮像装置の視野外に位置する前記参照物体と前記撮像装置との位置姿勢関係を推定する画像データ処理方法であって、前記画像と前記内部パラメータと前記半径とに基づいて、前記角膜球の中心座標を推定する角膜球座標推定ステップと、前記内部パラメータと前記複数の参照点の三次元座標と前記複数の参照点の二次元座標と前記中心座標とに基づいて、前記参照物体の座標系を基準としたときの前記撮像装置の外部パラメータを推定する外部パラメータ推定ステップとを有する、画像データ処理方法である。
【０００９】
また、本発明の一態様は、上記の画像データ処理方法において、前記角膜球座標推定ステップでは、前記画像に含まれる前記角膜球の投影像に対する楕円パラメータを推定し、推定された前記楕円パラメータに基づいて、前記中心座標を推定する。
【００１０】
また、本発明の一態様は、上記の画像データ処理方法において、前記外部パラメータ推定ステップでは、前記参照点ごとに、当該参照点の前記二次元座標と前記内部パラメータとから第１のベクトルを算出し、前記中心座標と前記半径と前記第１のベクトルとに基づいて、前記参照点それぞれの前記角膜球上における反射点の三次元座標を算出し、前記複数の参照点の三次元座標と、前記複数の参照点それぞれに対応する前記反射点の三次元座標と、前記複数の参照点それぞれに対応する前記第１のベクトルと、前記外部パラメータとに基づいて得られる連立方程式を解くことにより、前記外部パラメータを推定する。
【００１１】
また、本発明の一態様は、上記の画像データ処理方法において、前記外部パラメータ推定ステップでは、基底ベクトル表記を用いることにより前記連立方程式を得て前記外部パラメータを線形に推定する。
【００１２】
また、本発明の一態様は、上記の画像データ処理方法において、前記参照点は、少なくとも６点、または前記参照点が同一平面に位置するときには少なくとも５点、存在する。
【００１３】
また、本発明の一態様は、撮像装置により撮像された画像と、前記撮像装置の内部パラメータと、角膜を球の一部とみなした角膜球の半径と、参照物体における複数の参照点の三次元座標と、前記画像に含まれ前記角膜による前記複数の参照点の一次反射像の前記画像における二次元座標とに基づいて、前記撮像装置の視野外に位置する前記参照物体と前記撮像装置との位置姿勢関係を推定する画像データ処理装置であって、前記画像と前記内部パラメータと前記半径とに基づいて、前記角膜球の中心座標を推定する角膜球座標推定部と、前記内部パラメータと前記複数の参照点の三次元座標と前記複数の参照点の二次元座標と前記中心座標とに基づいて、前記参照物体の座標系を基準としたときの前記撮像装置の外部パラメータを推定する外部パラメータ推定部とを備える、画像データ処理装置である。
【００１４】
また、本発明の一態様は、上記の画像データ処理方法をコンピュータに実行させるための画像データ処理プログラムである。
【発明の効果】
【００１５】
本発明によれば、眼球中心、参照点およびカメラ中心の位置関係に制約を課すことなく、カメラとその視野外に存在する物体との間の外部キャリブレーションを行うことが可能となる。
【図面の簡単な説明】
【００１６】
【図１】実施形態において想定する環境の概要を示す図である。
【図２】実施形態における画像データ処理装置１の構成を示すブロック図である。
【図３】実施形態における画像データ処理装置１が行う画像データ処理を示すフローチャートである。
【図４】角膜球Ｅの投影を表す図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照して、本発明を実施するための形態を説明する。初めに、本発明に係る実施形態における画像データ処理方法、画像データ処理装置および画像データ処理プログラムで想定する環境を示す。図１は、実施形態において想定する環境の概要を示す図である。本実施形態では、撮像装置としてのカメラＣ、参照物体Ｘおよび眼球（角膜球）Ｅを用いる。角膜球とは、角膜を球の一部とみなしたときの球体である。参照物体Ｘ上には、参照点ｐｉ（ｉ＝０，１，２，…，Ｎｐ−１）が存在する。なお、Ｎｐは、参照物体Ｘ上の参照点の数である。参照物体Ｘは、カメラＣの視野内に存在せず、角膜球Ｅの一次反射によりカメラＣから観測される。ここで、眼球中心（角膜球中心）とは、図１に示すように、角膜球Ｅの中心Ｓであり、カメラ中心とは撮影に用いているカメラＣの光学中心Ｏである。また、本実施形態では、図１に示すように、カメラ座標系｛Ｃ｝と画像座標系｛Ｉ｝と参照物体座標系｛Ｘ｝との３つの座標系が用いられる。
【００１８】
本実施形態における画像データ処理方法、画像データ処理装置および画像データ処理プログラムの目的は、画像座標系｛Ｉ｝における参照点ｐｉの投影像ｑｉの座標値から、カメラ座標系｛Ｃ｝と参照物体座標系｛Ｘ｝との間における外部パラメータＲ、Ｔを求めることである。外部パラメータＲは、カメラ座標系｛Ｃ｝と参照物体座標系｛Ｘ｝との異なる座標系における姿勢変化を表す回転行列である。外部パラメータＴは、カメラ座標系｛Ｃ｝と参照物体座標系｛Ｘ｝との異なる座標系における位置変化を表す並進ベクトルである。以下では、座標系｛ｂ｝における点ａの座標値をａ｛ｂ｝と表す。
【００１９】
図２は、本実施形態における画像データ処理装置１の構成を示すブロック図である。図２に示すように、画像データ処理装置１は、入力部１１、角膜球座標推定部１２および外部パラメータ推定部１３を備える。画像データ処理装置１は、カメラにより撮像された画像と、カメラの内部パラメータと、角膜を球の一部とみなした角膜球の半径と、参照物体における複数の参照点の三次元座標と、画像に含まれ角膜による複数の参照点の一次反射像の画像における二次元座標とに基づいて、カメラの視野外に位置する参照物体とカメラとの位置姿勢関係を推定する。
【００２０】
入力部１１は、画像Ｉ、内部パラメータＫ、角膜球半径ｒ、参照点二次元座標ｑｉ｛Ｉ｝およびモデル座標ｐｉ｛Ｘ｝を、外部または上位の装置から入力する。画像Ｉは処理の対象となるカメラＣで撮像した画像であり、角膜球による参照点の一次反射像を含む画像である。内部パラメータＫは、カメラＣの内部パラメータであり、カメラＣの焦点距離および画像中心を表すパラメータである。カメラ出荷時に定められた値やカメラＣから出力される値が内部パラメータＫに用いられてもよいし、非特許文献１に記載の技術を用いて推定された値が内部パラメータＫに用いられてもよい。なお、カメラＣが出力する値を用いる場合は、カメラＣが計測する機能を有するときに限る。内部パラメータＫは、例えば３行３列の行列で与えられる。角膜球半径ｒには、ユーザの角膜球半径を事前に測定して得られた値が用いられてもよいし、人間の角膜球半径の平均値（ｒ＝５．６ｍｍ）が用いられてもよい。
【００２１】
参照点二次元座標ｑｉ｛Ｉ｝は、参照点ｐｉが角膜球Ｅによって反射されて画像Ｉに投影されたときの画像Ｉにおける座標である。参照点二次元座標ｑｉは、人が目視で検出してもよい。あるいは、事前に参照物体Ｘが角膜球Ｅによって反射されて投影されていないときの事前画像を取得しておき、参照物体Ｘが角膜球Ｅによって反射されて投影されているときの画像と事前画像との背景差分法を用いて参照点二次元座標ｑｉ｛Ｉ｝を検出してもよい。
【００２２】
モデル座標ｐｉ｛Ｘ｝は、参照物体座標系｛Ｘ｝における参照点ｐｉの三次元座標であり、事前に定めておくことが可能である。なお、参照点には、検出の容易さから一般にチェスパターンの交点などが用いられるが、モデル座標ｐｉ｛Ｘ｝さえ既知であれば、様々なものが参照物体として利用できる。例えば、形状が既知の３次元物体や、ディスプレイ上に表示した映像コンテンツを参照物体として利用できる。映像コンテンツでは、映像に含まれる物の形状や、映像におけるピクセルの表示色が既知であることから参照物体として利用できる。
【００２３】
角膜球座標推定部１２は、入力部１１において入力された画像Ｉと内部パラメータＫと角膜球半径ｒとに基づいて、角膜球Ｅの中心座標Ｓ｛Ｃ｝を推定する。外部パラメータ推定部１３は、入力部１１において入力された内部パラメータＫとモデル座標ｐｉ｛Ｘ｝と参照点二次元座標ｑｉ｛Ｉ｝と、角膜球座標推定部１２において推定された角膜球中心座標Ｓ｛Ｃ｝とに基づいて、外部パラメータＲ、Ｔを推定する。
【００２４】
図３は、本実施形態における画像データ処理装置１が行う画像データ処理を示すフローチャートである。画像データ処理装置１において画像データ処理が開始されると、入力部１１は、画像Ｉ、内部パラメータＫ、角膜球半径ｒ、参照点二次元座標ｑｉ｛Ｉ｝およびモデル座標ｐｉ｛Ｘ｝を入力する（ステップＳ１０１）。
【００２５】
角膜球座標推定部１２は、ステップＳ１０１において入力された画像Ｉに対して角膜球Ｅの楕円パラメータを推定する（ステップＳ１０２）。図４は、角膜球Ｅの投影を表す図である。同図に示すように、角膜球Ｅの楕円パラメータは、楕円の中心座標ｉＬ｛Ｉ｝（ｘ座標：ｃｘ，ｙ座標：ｃｙ）、楕円の長軸の長さ２ｒｍａｘ、楕円の短軸の長さ２ｒｍｉｎおよび傾きφの５つの変数を含む。楕円パラメータの推定は、以下に説明する手法により行われる。なお、楕円パラメータの推定は、人が画像Ｉにおける角膜球Ｅの領域を計測することで行ってもよい。なお、図４における画像Ｉから角膜球Ｅまでの距離ｄは、カメラＣから画像Ｉまでの焦点距離ｆと楕円パラメータとにより定まる。
【００２６】
角膜球座標推定部１２は、例えば、画像Ｉに対して二値化を行った後にエッジ検出を行い、検出したエッジに対して角膜球Ｅの楕円パラメータを推定する。画像Ｉに対する二値化には、公知の技術を用いることができる。例えば、固定閾値処理や適応的閾値処理などが利用できる。また、エッジ検出にも、公知の技術を用いることができる。例えば、Ｃａｎｎｙフィルタが利用できる。さらに、検出されたエッジにおける楕円パラメータの推定には、任意の方法を用いることができる。例えば、参考文献１（A.W.Fitzgibbon, R.B.Fisher, "A Buyer's Guide to Conic Fitting", BMVC '95 Proceedings of the 6th British conference on Machine vision (Vol.2), (UK), BMVA Press Surrey, 1995, p.513-522）に記載されている技術が利用できる。
【００２７】
角膜球座標推定部１２は、推定した楕円パラメータから角膜球Ｅの中心座標Ｓ｛Ｃ｝を推定する（ステップＳ１０３）。角膜輪部の中心Ｌに位置する平均奥行き面と、角膜輪部を含む平面とがなす角τが式（１）で得られるとき、視線方向ｇは式（２）で表される。
【数１】
0006302427.tif 000002
【数２】
0006302427.tif 000003
【００２８】
また、カメラ中心と角膜輪部の中心Ｌとの間の距離をｄとすると、ｄは焦点距離ｆ（ピクセル値）を用いて、ｄ＝ｆ・（ｒＬ／ｒｍａｘ）と表される。なお、ｒＬは角膜輪部の半径を表し、ｒＬの平均値は５．６ｍｍとされている。さらに、カメラの内部パラメータＫが行列で与えられるとき、角膜輪部の中心Ｌの座標Ｌ｛Ｃ｝は、式（３）で表される。
【数３】
0006302427.tif 000004
【００２９】
角膜球の中心座標Ｓ｛Ｃ｝は、角膜輪部の中心Ｌから−ｇ方向にｄＬＳ（＝５．６ｍｍ）進んだ方向にあることから、式（４）で得られる。
【数４】
0006302427.tif 000005
【００３０】
外部パラメータ推定部１３は、基底ベクトル表記の係数ａｊｉ｛Ｃ｝を算出する（ステップＳ１０４）。本実施形態における基底ベクトル表記とは、あるＮｅ次元の空間を張る基底ベクトルをｅｊ（ｊ＝０，１，２，…，Ｎｅ−１）としたとき、あるベクトルｐを基底ベクトルの多項式で表記すること、すなわち式（５）で表記することとする。なお、ａｊは各基底ベクトルに対する係数であり、各基底ベクトルｅｊは線形独立である。
【数５】
0006302427.tif 000006
【００３１】
ここで、基底ベクトル表記を用いると、参照点ｐｉの座標は、参照物体座標系｛Ｘ｝およびカメラ座標系｛Ｃ｝において式（６）および式（７）で表される。
【数６】
0006302427.tif 000007
【数７】
0006302427.tif 000008
【００３２】
ここで、式（８）が満たされるとき、参照点ｐｉのカメラ座標系｛Ｃ｝における座標ｐｉ｛Ｃ｝は、式（９）で表される。
【数８】
0006302427.tif 000009
【数９】
0006302427.tif 000010
【００３３】
なお、式（９）における行列Ｒは、外部パラメータＲであり、直交行列である。外部パラメータＲによる変換は等長性をもつ線形変換であることから、ａｊｉ｛Ｘ｝＝ａｊｉ｛Ｃ｝がいえる。また、ｐｊ｛Ｘ｝は既知であることから、適当にｅｊ｛Ｘ｝を定めることで係数ａｊｉ｛Ｘ｝（およびａｊｉ｛Ｃ｝）を求めることができる。係数ａｊｉ｛Ｘ｝は、どのように求めてもよい。例えば式（１０）のように、ｅｉ｛Ｘ｝（ｉ＝０，１，２）を定め、ｐｉ｛Ｘ｝を式（１１）のように定めると、各係数ａｊｉ｛Ｘ｝（ｊ＝０，１，２）は式（１２）で与えられる。これらにより、各ａｊｉ｛Ｃ｝が得られる。
【数１０】
0006302427.tif 000011
【数１１】
0006302427.tif 000012
【数１２】
0006302427.tif 000013
【００３４】
外部パラメータ推定部１３は、参照点ｐｉ（ｉ＝０，１，２，…，Ｎｐ−１）ごとに、角膜球Ｅにおける反射点を算出する（ステップＳ１０５）。ステップＳ１０５の処理は、参照点ｐｉごとに行われる。すなわち、外部パラメータ推定部１３は、ステップＳ１０５の処理をＮｐ回繰り返す。前述のように、参照点ｐｉの画像Ｉにおける投影点をｑｉとする。ここで、ベクトルｖｉを参照点二次元座標ｑｉ｛Ｉ｝と外部パラメータＫとを用いて式（１３）として定める。
【数１３】
0006302427.tif 000014
【００３５】
また、参照点ｐｉは、角膜球Ｅ上の反射点ｍｉにおいて反射するとしたとき、カメラ中心Ｏから反射点ｍｉまでの距離ｋＯｍｉは式（１４）で表される。
【数１４】
0006302427.tif 000015
【００３６】
これにより、反射点ｍｉの座標ｍｉ｛Ｃ｝は式（１５）により求められる。
【数１５】
0006302427.tif 000016
【００３７】
外部パラメータ推定部１３は、外部パラメータに関する線形方程式を解き、外部パラメータＲ、Ｔを取得する（ステップＳ１０６）。基底ベクトル表記において、ｅｊ｛Ｘ｝（ｊ＝０，１，２）を式（１０）のように定め、外部パラメータＲを式（１６）とすると、式（１７）であることから、参照点ｐｉの座標ｐｉ｛Ｃ｝は式（１８）で表される。
【数１６】
0006302427.tif 000017
【数１７】
0006302427.tif 000018
【数１８】
0006302427.tif 000019
【００３８】
一方、参照点ｐｉの座標ｐｉ｛Ｃ｝は、反射点ｍｉと参照点ｐｉとを結ぶ単位ベクトルｕｉとｍｉ−ｐｉとの間の距離ｋｉを用いて、式（１９）で表される。
【数１９】
0006302427.tif 000020
【００３９】
なお、単位ベクトルｕｉは、反射の法則から式（２０）で表される。
【数２０】
0006302427.tif 000021
【００４０】
ここで、ｎｉは、反射点ｍｉにおける法線ベクトルである。反射点ｍｉにおける法線ベクトルｎｉは、球面鏡の中心と反射点ｍｉとを結ぶ単位ベクトルであることから、式（２１）で求められる。
【数２１】
0006302427.tif 000022
【００４１】
ここで、式（１８）と式（１９）とから、式（２２）が得られる。
【数２２】
0006302427.tif 000023
【００４２】
さらに、式（２２）をＮｐ点分用意し、式（２３）のようにまとめる。
【数２３】
0006302427.tif 000024
【００４３】
ただし、式（２３）における行列Ａ、Ｘ、Ｂは以下の式（２４−１）〜式（２４−４）、式（２５）および式（２６）で与えられる。
【数２４】
0006302427.tif 000025
【数２５】
0006302427.tif 000026
【数２６】
0006302427.tif 000027
【００４４】
なお、参照点ｐｉをＮｐ点用いる場合、式（２３）における未知変数の数が（１２＋Ｎｐ）個であり、制約式は３Ｎｐ本得られることから、参照点ｐｉが６点以上（Ｎｐ≧６）のときに外部パラメータＲ、Ｔを含む未知変数が式（２７）により求められる。すなわち、６点以上の参照点ｐｉから得られる制約式からなる連立方程式を解くことにより、外部パラメータＲ、Ｔを含む未知変数を求めることができる。なお、式（２７）における行列Ａ＊は行列Ａの疑似逆行列である。
【数２７】
0006302427.tif 000028
【００４５】
また、基底ベクトル表記を用いることで、以下のように解くことも可能である。ｐ０Ｘを参照物体座標系｛Ｘ｝の原点としたとき、ｐ０｛Ｃ｝は並進ベクトルそのものとみなせることから、式（２８）が成り立つ。
【数２８】
0006302427.tif 000029
【００４６】
式（２８）を、Ｎｐ点分用意し、式（２９）のようにまとめる。
【数２９】
0006302427.tif 000030
【００４７】
ただし、式（２９）における行列Ｃ、Ｙ、Ｄは、式（３０−１）〜式（３０−３）、式（３１）および式（３２）で与えられる。
【数３０】
0006302427.tif 000031
【数３１】
0006302427.tif 000032
【数３２】
0006302427.tif 000033
【００４８】
参照点ｐｉをＮｐ点用いる場合、式（２９）における未知変数の数は（９＋Ｎｐ）個であり、制約式が３（Ｎｐ−１）本得られることから、参照点ｐｉが６点以上（Ｎｐ≧６）のときに外部パラメータＲ、Ｔを含む未知変数が式（３３）で求められる。
【数３３】
0006302427.tif 000034
【００４９】
式（３３）において、行列Ｃ＊は行列Ｃの疑似逆行列である。このとき、外部パラメータＴは式（３４）で得られる。
【数３４】
0006302427.tif 000035
【００５０】
また、ベクトルｒｊは、回転行列Ｒの成分であるためノルムは１である。しかし、実際にはノイズや誤差などの影響から、必ずしも１になるとは限らない。そこで、式（３５）で得られるｒ’ｊを推定した回転行列Ｒの成分としてもよい。なお、このノルムの修正は行わずともよい。
【数３５】
0006302427.tif 000036
【００５１】
また、参照点が同一平面上に存在するとき、すなわちベクトルｐ２Ｘを零ベクトルとしたとき、ベクトルｒ２＝（０００）Ｔであることから、式（３６）の関係が成り立つ。
【数３６】
0006302427.tif 000037
【００５２】
ただし、式（３６）において、行列Ａ’、Ｘ’は、式（３７）および式（３８）で与えられる。
【数３７】
0006302427.tif 000038
【数３８】
0006302427.tif 000039
【００５３】
参照点ｐｉをＮｐ点用いる場合、式（３６）における未知変数の数は（９＋Ｎｐ）個であり、制約式が３Ｎｐ本得られることから、参照点ｐｉが５点以上（Ｎｐ≧５）のときに、外部パラメータＲ、Ｔを含む未知変数が式（３９）で求められる。
【数３９】
0006302427.tif 000040
【００５４】
式（３９）において、行列Ａ’＊は行列Ａ’の疑似逆行列である。また、ベクトルｒ２は、ベクトルｒ０、ｒ１に対して直交していることから、式（４０）として求められる。なお、前述したように、各ベクトルｒｊはノルムを修正してもよいし、修正しなくてもよい。
【数４０】
0006302427.tif 000041
【００５５】
また、基底ベクトル表を用いることで、式（４１）により解くことも可能である。
【数４１】
0006302427.tif 000042
【００５６】
ただし、式（４１）において、行列Ｃ’、Ｙ’、Ｄ’は、式（４２）および式（４３）で与えられる。
【数４２】
0006302427.tif 000043
【数４３】
0006302427.tif 000044
【００５７】
参照点ｐｉをＮｐ点用いる場合、式（４１）における未知変数の数は（６＋Ｎｐ）個であり、制約式が３（Ｎｐ−１）本得られることから、参照点ｐｉが５点以上（Ｎｐ≧５）のときに外部パラメータＲ、Ｔを含む未知変数が式（４４）で求められる。
【数４４】
0006302427.tif 000045
【００５８】
式（４４）において、行列Ｃ’＊は行列Ｃ’の疑似逆行列である。このとき、外部パラメータＴは式（４５）で得られる。
【数４５】
0006302427.tif 000046
【００５９】
また、ベクトルｒ２は、ベクトルｒ０、ｒ１に対して直交していることから、式（４６）として求められる。なお、前述したように、各ベクトルｒｊはノルムを修正してもよいし、修正しなくてもよい。
【数４６】
0006302427.tif 000047
【００６０】
外部パラメータ推定部１３は、得られた回転行列Ｒを修正する（ステップＳ１０７）。ステップＳ１０６において求められたベクトルｒｊ（ｊ＝０，１，２）は、ノイズなどの影響から回転行列が満たすべき制約（式（４７）および式（４８））を満たしているとは限らない。
【数４７】
0006302427.tif 000048
【数４８】
0006302427.tif 000049
【００６１】
そこで、回転行列Ｒ＝（ｒ０ ｒ１ ｒ２）に対して、Orthogonal Procrustes Problemを用いることで、式（４７）および式（４８）を満たす回転行列Ｒ’を求めることが可能である。なお、Orthogonal Procrustes Problemは、公知の技術であり、例えば参考文献２（Gene H. Golub and Charles F. Van Loan, "Matrix Computations", (USA), The Johns Hopkins University Press, Third Edition, 1996）などに記載されている。なお、ノイズなどの影響が無視できる場合には、ステップＳ１０７における修正を省いてもよい。
【００６２】
外部パラメータ推定部１３は、得られた外部パラメータＲ、Ｔを最適化し（ステップＳ１０８）、最適化された外部パラメータＲ、Ｔを外部の装置へ出力して画像データ処理を終了させる。最適化のコスト関数としては、どのようなコスト関数を用いてもよい。例えば、一般的に外部パラメータを最適化する上で用いられている再投影誤差を最小化する項を用いてもよい。このとき、外部パラメータＲ、Ｔは、各種パラメータを用いて算出した投影点と、実際に検出された投影点とが一致するように最適化されるため、投影点に対してノイズの少ない理想的な環境下において高精度に最適化されることが期待できる。なお、ノイズの影響が無視できる場合には、外部パラメータＲ、Ｔの最適化は行われなくてもよい。
【００６３】
本実施形態の画像データ処理装置１によれば、角膜球座標推定部１２が画像Ｉと内部パラメータＫと角膜球半径ｒとに基づいて角膜球Ｅの中心座標Ｓ｛Ｃ｝を推定し、外部パラメータ推定部１３が内部パラメータＫと参照点ｐｉの三次元座標ｐｉ｛Ｘ｝と参照点二次元座標ｑｉ｛Ｉ｝と中心座標Ｓ｛Ｃ｝とに基づいて、参照物体座標系｛Ｘ｝を基準としたときのカメラＣの外部パラメータＲ、Ｔを推定する。これにより、同一平面上に分布している５点の参照点あるいは同一平面上に分布していない６点の参照点に対して１姿勢の眼球（角膜球）を用いるという簡易な構成で、参照点、眼球位置やカメラ中心の位置関係に制約を課すことなくカメラの外部パラメータを推定する外部キャリブレーションを実現することができる。
【００６４】
なお、図３に示した画像データ処理において、ステップＳ１０４の後にステップＳ１０５が行われる構成について説明したが、ステップＳ１０５の後にステップＳ１０４が行われるようにしてもよい。
【００６５】
上述した実施形態における画像データ処理装置１の全てまたは一部をコンピュータで実現するようにしてもよい。例えば、画像データ処理装置１が有する構成要素それぞれを実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した構成要素の一部を実現するためのものであってもよく、さらに前述した構成要素をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されるものであってもよい。
【００６６】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【００６７】
眼球中心、参照点およびカメラ中心の位置関係に制約を課すことなく、カメラとその視野外に存在する物体との間の外部キャリブレーションを行うことが不可欠な用途にも適用できる。
【符号の説明】
【００６８】
１…画像データ処理装置
１１…入力部
１２…角膜球座標推定部
１３…外部パラメータ推定部
【図１】
0006302427.tif 000050
【図２】
0006302427.tif 000051
【図３】
0006302427.tif 000052
【図４】
0006302427.tif 000053