(57)【特許請求の範囲】
【請求項１】
カメラによって撮像した画像と、前記カメラの内部パラメータと、角膜を球の一部として見なした角膜球の半径と、前記画像における所定の参照点の座標値と、前記参照点のモデル座標系を使用して、前記カメラとその視野外に存在する参照物体との位置姿勢関係を推定する外部キャリブレーションを行う画像データ処理方法であって、
前記角膜球の中心座標を推定する角膜球座標推定ステップと、
カメラ座標系における前記参照点の３次元座標値を推定する参照点３Ｄ座標推定ステップと、
前記カメラと前記参照物体間の外部パラメータを推定する外部パラメータ推定ステップと
を有することを特徴とする画像データ処理方法。
【請求項２】
前記角膜球座標推定ステップでは、前記画像に対して前記角膜球の投影像の楕円パラメータを推定することにより前記角膜球の中心座標を推定することを特徴とする請求項１に記載の画像データ処理方法。
【請求項３】
前記参照点３Ｄ座標推定ステップでは、前記角膜球と前記参照物体と前記カメラ座標系の位置関係が所定の条件を満たすものとして前記３次元座標値を推定することを特徴とする請求項１または２に記載の画像データ処理方法。
【請求項４】
カメラによって撮像した画像と、前記カメラの内部パラメータと、角膜を球の一部として見なした角膜球の半径と、前記画像における所定の参照点の座標値と、前記参照点のモデル座標系を使用して、前記カメラとその視野外に存在する参照物体との位置姿勢関係を推定する外部キャリブレーションを行う画像データ処理装置であって、
前記角膜球の中心座標を推定する角膜球座標推定部と、
カメラ座標系における前記参照点の３次元座標値を推定する参照点３Ｄ座標推定部と、
前記カメラと前記参照物体間の外部パラメータを推定する外部パラメータ推定部と
を備えることを特徴とする画像データ処理装置。
【請求項５】
コンピュータに、請求項１から３のいずれか１項に記載の画像データ処理方法を実行させるための画像データ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラと被写体の位置姿勢関係を推定する（外部キャリブレーションを実行する）画像データ処理方法、画像データ処理装置および画像データ処理プログラムに関する。
【背景技術】
【０００２】
カメラと被写体の位置姿勢関係を推定する外部キャリブレーションはコンピュータビジョンの基礎となる問題であり、これまで数多くの研究がなされてきた（例えば、非特許文献１参照）。これら既存の外部キャリブレーションに関する手法の多くは、カメラが参照物体を直接観測できることを想定している。  
【０００３】
近年ラップトップコンピュータ、スマートフォンやデジタルサイネージなどの普及に伴い、ディスプレイ−カメラシステムを用いた様々な研究が注目を集めている。その一つの例として、デジタルサイネージを用いた興味推定がある。これは、ユーザの視線方向とディスプレイでの提示内容との対応を取ることで実現されている。さらには、３次元形状復元への応用も研究されている。これは、ディスプレイを制御可能な面光源として利用し、提示内容の変化に伴う観測対象の輝度変化に基づくものである。
【０００４】
これらのように、ディスプレイの提示内容に対し、カメラで撮影した映像から推定した視線や観測対象の輝度変化を幾何的に対応付けるためには、ディスプレイとカメラの位置姿勢関係を求める外部キャリブレーションを行う必要がある。通常、ディスプレイにチェスパターンなどを提示し、それをカメラで撮影して外部キャリブレーションを行う。
【０００５】
しかしながら、ラップトップコンピュータやスマートフォンなどのディスプレイ−カメラシステムでは、一般にカメラの視野内に参照物体であるディスプレイが存在せず、従来の外部キャリブレーション手法の適用が困難である。  
【０００６】
このような参照物体がカメラの視野内に存在しない状況において、鏡を用いることで外部キャリブレーションを行う手法が提案されている。以下の説明では参照物体上には参照点が存在し、その参照点を用いて外部キャリブレーションを行うものとする。外部キャリブレーションでは、実施の手間や計算量の観点から、より簡易な構成を目指した研究が取り組まれている。Ｔａｋａｈａｓｈｉら（例えば、非特許文献２参照）およびＨｅｓｃｈら（例えば、非特許文献３参照）らは平面鏡を用いた最小構成である、３点の参照点に対して平面鏡を３姿勢用いる手法を提案した。
【０００７】
一方、鏡の姿勢の数の削減という観点から、Ａｇｒａｗａｌ（例えば、非特許文献４参照）は８点の参照点に対して１姿勢の球面鏡を用いる手法を提案した。さらに、Ｎｉｔｓｃｈｋｅらは追加のデバイスを無くす試みとして、眼球の鏡面反射を利用した（例えば、非特許文献５参照）。これは３点の参照点に対して球面鏡とみなした両眼、つまり２姿勢の球面鏡を利用するものである。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】Z. Zhang. A flexible new technique for camera calibration. IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(11):1330-1334, 2000.
【非特許文献２】K. Takahashi, S. Nobuhara, and T. Matsuyama. A new  mirror-based extrinsic camera calibration using an orthogonality constraint. In Computer Vision and Pattern Recognition (CVPR), 2012 IEEE Conference on, pages 1051-1058, June 2012.
【非特許文献３】J. A. Hesch, A. I. Mourikis, and S. I. Roumeliotis. Algorithmic Foundation of Robotics VIII, volume 57 of Springer Tracts in Advanced Robotics, chapter Mirror-Based Extrinsic Camera Calibration, pages 285-299. Springer-Verlag, Berlin, Germany, Dec. 2009.
【非特許文献４】A. Agrawal. Extrinsic camera calibration without a direct view using spherical mirror. In Computer Vision (ICCV), 2013 IEEE International Conference on, pages 2368-2375, Dec 2013.
【非特許文献５】C. Nitschke, A. Nakazawa, and H. Takemura. Display-camera calibration using eye refections and geometry constraints. Computer Vision and Image Understanding, 115(6):835-853, 2011.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、非特許文献２、非特許文献３及び非特許文献４ではキャリブレーション実行の度に鏡を用意しなければならないという手間が発生する。また、眼球を用いる非特許文献５では、眼球という極小の領域に映った参照物体からキャリブレーションを行うため、精度の観点からカメラと眼球の距離を近づけて撮影することが望ましい。しかしながら、非特許文献５では両眼を用いていることから、両眼が同時に撮影できる距離まで両眼をカメラから離す必要がある。
【００１０】
本発明は、このような事情に鑑みてなされたもので、簡単な構成でカメラと被写体である物体の位置姿勢関係を推定する外部キャリブレーションを実施することができる画像データ処理方法、画像データ処理装置および画像データ処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、カメラによって撮像した画像と、前記カメラの内部パラメータと、角膜を球の一部として見なした角膜球の半径と、前記画像における所定の参照点の座標値と、前記参照点のモデル座標系を使用して、前記カメラとその視野外に存在する参照物体との位置姿勢関係を推定する外部キャリブレーションを行う画像データ処理方法であって、前記角膜球の中心座標を推定する角膜球座標推定ステップと、カメラ座標系における前記参照点の３次元座標値を推定する参照点３Ｄ座標推定ステップと、前記カメラと前記参照物体間の外部パラメータを推定する外部パラメータ推定ステップとを有することを特徴とする。
【００１２】
本発明は、前記角膜球座標推定ステップでは、前記画像に対して前記角膜球の投影像の楕円パラメータを推定することにより前記角膜球の中心座標を推定することを特徴とする。
【００１３】
本発明は、前記参照点３Ｄ座標推定ステップでは、前記角膜球と前記参照物体と前記カメラ座標系の位置関係が所定の条件を満たすものとして前記３次元座標値を推定することを特徴とする。
【００１４】
本発明は、カメラによって撮像した画像と、前記カメラの内部パラメータと、角膜を球の一部として見なした角膜球の半径と、前記画像における所定の参照点の座標値と、前記参照点のモデル座標系を使用して、前記カメラとその視野外に存在する参照物体との位置姿勢関係を推定する外部キャリブレーションを行う画像データ処理装置であって、前記角膜球の中心座標を推定する角膜球座標推定部と、カメラ座標系における前記参照点の３次元座標値を推定する参照点３Ｄ座標推定部と、前記カメラと前記参照物体間の外部パラメータを推定する外部パラメータ推定部とを備えることを特徴とする。
【００１５】
本発明は、コンピュータに、前記画像データ処理方法を実行させるための画像データ処理プログラムである。
【発明の効果】
【００１６】
本発明によれば、簡単な構成でカメラとその視野外に存在する被写体である物体間の外部キャリブレーションを実施することができるという効果が得られる。
【図面の簡単な説明】
【００１７】
【図１】本発明が想定する環境を表す図である。
【図２】本発明の一実施形態による画像データ処理装置の構成を表すブロック図である。
【図３】鏡球として角膜球を用いた時の、図１に示す画像データ処理装置の処理動作を示すフローチャートである。
【図４】角膜球の投影を表す図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照して、本発明の一実施形態による画像データ処理装置を説明する。初めに、本発明が想定する環境を図１に示す。図１は、本実施形態が想定する環境のモデルを示す図である。本発明では１台のカメラ、１つの参照物体、１つの眼球（角膜球）を用いる。参照物体上には参照点が存在する。参照物体はカメラの視野内に存在せず、角膜球の一次反射によりカメラから観測するものとする。なお、本発明において、角膜球は次の条件を満たす位置に設置されていることとする。
【００１９】
角膜球の条件とは、角膜球中心とカメラ中心間距離が、角膜球中心と各参照点間の距離と等しいことである。角膜球中心とは図１の眼球（角膜球：角膜の表面を球の一部とする球のこと）の中心Ｓであり、カメラ中心とは撮影に用いているカメラの光学中心Ｏである。なお、多少の精度の誤差を許容するのであれば、厳密に（条件）を満たしている必要はない。この条件は、スマートフォンやディスプレイの上部にウェブカメラを設置した場合のようにディスプレイとカメラが同一平面上に存在している場合には容易に満たすことができる。具体的には、図１に示すように各参照点とカメラ中心がある円周上に存在するように参照点を表示し、かつその円の中心を垂直に貫く直線ｌ上に眼球中心を設置すればよい。
【００２０】
また、本実施形態では図１に示すように、３つの座標系（カメラ座標系｛Ｃ｝、カメラで撮像した画像の画像座標系｛Ｉ｝、モデル座標系｛Ｘ｝）を用いる。本実施形態の目的は画像座標系｛Ｉ｝における参照点の投影像の座標値から、カメラ座標系｛Ｃ｝とモデル座標系｛Ｘ｝間の外部パラメータＲとＴを求めることである。パラメータＲとは、異なる座標系の姿勢変化を表す回転行列であり、パラメータＴとは異なる座標系の位置変化を表す並進ベクトルである。なお、以下では「座標｛ａ｝」は座標系｛ａ｝における座標値を表すこととする。
【００２１】
次に、画像データ処理装置の構成を説明する。図２は、コンピュータ装置等で構成する画像データ処理装置の詳細な構成を示すブロック図である。画像データ処理装置１は、入力部２、角膜球中心座標推定部３、参照点３Ｄ座標推定部４、外部パラメータ推定部５を備えている。
【００２２】
入力部２は、画像、内部パラメータ、角膜球半径、参照点２Ｄ座標｛Ｉ｝、モデル座標系｛Ｘ｝を外部から入力する。これを受けて、入力部２は処理対象となる画像、カメラの内部パラメータ、角膜球半径、参照点２Ｄ座標およびモデル座標を入力して、画像、内部パラメータ、角膜球半径、参照点２Ｄ座標｛Ｉ｝、モデル座標｛Ｘ｝を出力する。
【００２３】
角膜球座標推定部３は、画像、内部パラメータ、角膜球半径を入力する。これを受けて、角膜球座標推定部３は、角膜球の投影された画像、カメラの内部パラメータ、角膜球半径を用いて角膜球中心座標を推定する。そして、角膜球座標推定部３は、角膜球中心座標｛Ｃ｝を出力する。
【００２４】
参照点３Ｄ座標推定部４は、角膜球中心座標｛Ｃ｝、参照点２Ｄ座標｛Ｉ｝、内部パラメータを入力する。これを受けて、参照点３Ｄ座標推定部４は、参照点２Ｄ座標｛Ｉ｝と角膜球中心座標｛Ｃ｝を用いて参照点３Ｄ座標を推定する。そして、参照点３Ｄ座標推定部４は、参照点３Ｄ座標｛Ｃ｝を出力する。
【００２５】
外部パラメータ推定部５は、モデル座標｛Ｘ｝、参照点３Ｄ座標｛Ｃ｝を入力する。これを受けて、外部パラメータ推定部５は、モデル座標と参照点３Ｄ座標を用いて外部パラメータを推定する。そして、外部パラメータ（Ｒ，Ｔ）を出力する。
【００２６】
次に、図３を参照して、図２に示す画像データ処理装置１の処理動作を説明する。図３は、図２に示す画像データ処理装置の処理動作を示すフローチャートである。まず、入力部２は、処理対象となる画像、カメラの内部パラメータ、角膜球半径、参照点２Ｄ座標およびモデル座標を入力する（ステップＳ１０１）。
【００２７】
なお、処理対象となる画像には、角膜球による参照点の一次反射像が含まれていることとする。カメラの内部パラメータとはカメラの焦点距離および画像中心を表すパラメータであり、非特許文献１などに記載の公知の技術を用いて事前に推定しているものとする。角膜球半径に関しては、人間の角膜球半径の平均値を用いればよい。
【００２８】
参照点２Ｄ座標は、角膜球によって反射された参照点の像が画像平面上に投影された時の座標である。この点は目視で検出してもよい。あるいは、事前に参照点を表示していない状況を撮影しておき、その後参照点を時間差で表示して、背景差分法を用いて自動的に検出するようにしてもよい。また、モデル座標とはモデル座標系における参照点の３次元座標を表し、これは事前に定めておくこととする。
【００２９】
次に、角膜球座標推定部３は、入力された画像に対して角膜球の楕円パラメータを推定する（ステップＳ１０２）。楕円パラメータとは楕円（円も含む）の中心座標（ｘ座標、ｙ座標）｛Ｉ｝、楕円の長軸、短軸、およびその傾きの５変数を指す。楕円パラメータの推定方法は直接手で計測をしてもよいし、自動推定してもよい。以下の説明では自動推定する場合について説明する。
【００３０】
楕円パラメータを自動推定する方法はどのような方法でもよい。例えば、画像に対して二値化を行った後、エッジ検出を行い、検出したエッジに対して角膜の画像である楕円の楕円パラメータ推定を行う手法が適用できる。なお、このとき、二値化を行う手法はどのような手法でもよい。例えば、固定式位置処理や適応的閾値処理などの利用が可能である。また、エッジ検出を行う手法はどのような手法でもよい。例えば、Ｃａｎｎｙフィルタの利用が可能である。さらに、検出されたエッジにおける楕円パラメータの推定を行う手法はどのような手法でもよい。例えば、参考文献１に記載の公知の手法の利用が可能である。
参考文献１：Andrew W. Fitzgibbon, R.B.Fisher. A Buyer’s Guide to Conic Fitting. Proc.5th British Machine Vision Conference, Birmingham, pp. 513-522, 1995.
【００３１】
次に、角膜球座標推定部３は、楕円パラメータから角膜球の中心座標を推定する（ステップＳ１０３）。図４は、角膜球の投影を表す図である。図４に示すように、楕円パラメータは楕円の長軸の長さ：ｒｍａｘ、短軸の長さ：ｒｍｉｎ、楕円の傾きΦ、楕円の中心座標ｉＬ（ｘ座標，ｙ座標）の５変数である。また、τ＝±ａｒｃｃｏｓ（ｒｍｉｎ／ｒｍａｘ）とする。このとき、視線方向はｇ＝［ｓｉｎτｓｉｎφ  −ｓｉｎτｃｏｓφ  ｃｏｓτ］Ｔと表される。
【００３２】
また、画像平面上のカメラ中心と角膜輪部の中心Ｌ間の距離をｄとすると、ｄは焦点距離ｆ（ピクセル値）を用いてｄ＝ｆ・ｒＬ／ｒｍａｘと表される。なお、ｒＬは角膜輪部の半径を表し、人間のｒＬの平均は５．６ｍｍとされている。さらに、カメラの内部パラメータを表す行列をＫとすると、角膜輪部の中心ＬはＬ｛Ｃ｝＝ｄＫ−１ｉＬ｛Ｉ｝と表される。角膜球中心Ｓは角膜輪部の中心Ｌから−ｇ方向にｄＬＳ（＝５．６ｍｍ）進んだ方向にあることから、Ｓ｛Ｃ｝＝Ｌ｛Ｃ｝−ｄＬＳ｛Ｃ｝ｇで計算ができる。
【００３３】
次に、図１に示す３つの参照点ｐｉ（ｉ＝１，２，３）に対して処理を繰り返す（ステップＳ１０４）。参照点３Ｄ座標推定部４は、参照点ｐｉの３Ｄ座標を推定する（ステップＳ１０５）。参照点ｐｉの画像平面上への投影点をｑｉとする。ベクトルｖｉをｖｉ｛Ｃ｝＝（Ｋ−１ｑｉ｛Ｉ｝／｜Ｋ−１ｑｉ｛Ｉ｝とする。このとき、ｑｉは参照点２Ｄ座標である。また、参照点ｐｉは角膜球上のｍｉにおいて反射するとした時、カメラ中心からｍｉまでの距離は以下の値で表される。
ｋ０ｍｉ＝（ｖｉＴ｛Ｃ｝Ｓ｛Ｃ）−√（（ｖｉＴ｛Ｃ｝Ｓ｛Ｃ｝）２−｜Ｓ｛Ｃ｝｜２−ｒ２）））／｜ｖｉ｛Ｃ｝｜２
【００３４】
このとき、反射点ｍｉはｍｉ｛Ｃ｝＝ｋ０ｍｉＶｉ｛Ｃ｝で求められる。また、反射点ｍｉにおける法線ｎｉは球面鏡の中心と反射点を結ぶ単位ベクトルなので、ｎｉ｛Ｃ｝＝（ｍｉ｛Ｃ｝−Ｓ｛Ｃ｝）／｜ｍｉ｛Ｃ｝−Ｓ｛Ｃ｝｜となる。さらに、反射点ｍｉと参照点ｐｉを結ぶ単位ベクトルをｕｉは、反射の法則からｕｉ｛Ｃ｝＝ｖｉ｛Ｃ｝＋２（−ｖｉＴ｛Ｃ｝・ｎｉ｛Ｃ｝）ｎｉ｛Ｃ｝と表される。反射点ｍｉと参照点ｐｉ間の距離をｋｍｉｐｉとすると、（条件）を満たすときｋｍｉｐｉ＝ｋ０ｍｉである。以上のことから、参照点ｐｉは以下の式で求められる。
ｐｉ｛Ｃ｝＝ｋｍｉｐｉｕｉ｛Ｃ｝＋ｍｉ（Ｃ｝
以上の処理を全ての参照点に対して行う（ステップＳ１０６）。
【００３５】
次に、外部パラメータ推定部５は、得られた参照点ｐｉの３Ｄ座標を用いて外部パラメータ（Ｒ，Ｔ）を求める（ステップＳ１０７）。外部パラメータ（Ｒ，Ｔ）を求める手法はどのような手法でもよい。２つの異なる座標系間における点の対応を用いて座標系間の外部パラメータを求める問題はＡｂｓｏｌｕｔｅ  Ｏｒｉｅｎｔａｔｉｏｎ  Ｐｒｏｂｌｅｍとして知られており、この問題を解くことで外部パラメータを求めることが可能である。本実施形態では、入力として与えられたモデル座標および（ステップＳ１０４）〜（ステップＳ１０６）で求めたカメラ座標系における参照点ｐｉの３Ｄ座標を用いることで、モデル座標系とカメラ座標系間の外部パラメータが求められる。Ａｂｓｏｌｕｔｅ  Ｏｒｉｅｎｔａｔｉｏｎ  Ｐｒｏｂｌｅｍの解き方は参考文献２に記載されている公知の手法であるため、ここでは詳細な説明を省略する。
参考文献２：D. Eggert, A. Lorusso, and R. Fisher. Estimating 3-d rigid body transformations: a comparison of four major algorithms. Machine Vision and Applications, 9(5-6):272{290, 1997.
【００３６】
次に、外部パラメータ推定部５は、得られた外部パラメータ（Ｒ，Ｔ）を最適化する（ステップＳ１０８）。最適化のコスト関数としてはどのようなコスト関数を用いてもよい。例えば、一般的に外部パラメータを最適化する上で用いられている再投影誤差を最小化する項を用いてもよい。このとき、外部パラメータ（Ｒ，Ｔ）は、各種パラメータを用いて計算した投影点と実際に検出された投影点が一致するように最適化されるため、投影点に対してノイズの少ない理想的な環境下において高精度に最適化されることが期待できる。
【００３７】
あるいは、前述の条件を満たすように角膜球中心とカメラ中心の距離および角膜球中心と各参照点の距離が同じになるような項を用いてもよい。ノイズの存在する環境下では、推定された外部パラメータを用いて計算できる参照点の位置が、必ずしも（条件）を満たしているとは限らない。この最適化項はこれら物理的な制約条件を満たすように最適化するため、投影点にノイズの存在する環境下でも極端に精度の悪い局所解に最適化することなく、安定して高精度な最適化することが期待できる。また、これらの両方の項を用いてもよい。最適化の必要がなければ、最適化は必ずしも行わなくてもよい。
【００３８】
以上説明したように、カメラパラメータを推定する（外部キャリブレーション）際に、カメラと参照点が球面鏡の中心から同一距離に存在するという幾何制約および眼球の物理モデルの導入により、従来の方法に比して外部パラメータの算出に必要となる球面鏡の姿勢の数及び参照点の数を削減することができるため、参照点３点に対して１姿勢の眼球（角膜球）を用いるという簡易な構成において、得られた画像からカメラとその視野外に存在する物体間の外部キャリブレーションが実施できるが可能になる。
【００３９】
前述した実施形態における画像データ処理装置をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されるものであってもよい。
【００４０】
以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行ってもよい。
【産業上の利用可能性】
【００４１】
簡単な構成でカメラとその視野外に存在する物体間の外部キャリブレーションを実施することが不可欠な用途に適用できる。
【符号の説明】
【００４２】
１・・・画像データ処理装置、２・・・入力部、３・・・角膜球座標推定部、４・・・参照点３Ｄ座標推定部、５・・・外部パラメータ推定部
【図１】
0006276713.tif 000002
【図２】
0006276713.tif 000003
【図３】
0006276713.tif 000004
【図４】
0006276713.tif 000005