(57)【要約】【課題】サンプリング周波数が低いカメラにより撮影された画像を用いて、実際のサンプリング周波数よりも細かい時間単位で瞳孔や虹彩に関する位置／大きさの情報を推定する技術を提供する。【解決手段】対象者の眼球を撮影した画像から、当該画像に含まれる所定の行の瞳孔または虹彩の外縁に対応する２つの点P1、点P2の座標と、瞳孔または虹彩の形状を楕円であると仮定した場合の当該楕円の長軸の長さと、瞳孔または虹彩が拘束される３次元眼球回転系の眼球回転中心座標とを取得するプロファイル決定情報取得部と、点P1、点P2の座標と、点P1、点P2における楕円の接線の傾きと、長軸の長さと、眼球回転中心座標と、３次元眼球回転系の眼球回転半径とから、瞳孔または虹彩の位置を表す楕円の中心座標と偏角と、瞳孔または虹彩の大きさを表す楕円の長軸の長さと短軸の長さとを含む楕円プロファイルを算出する眼情報算出部とを含む。【選択図】図４
2020074952.tif 000002
【特許請求の範囲】
【請求項１】
対象者の眼球を撮影した画像から、当該画像に含まれる所定の行の瞳孔または虹彩の外縁に対応する２つの点P1、点P2の座標(x1, y0), (x2, y0)と、瞳孔または虹彩の形状を楕円であると仮定した場合の当該楕円の長軸の長さRと、瞳孔または虹彩が拘束される３次元眼球回転系の眼球回転中心座標(xe, ye)とを取得するプロファイル決定情報取得部と、
θ1, θ2を点P1、点P2における前記楕円の接線の傾き、Reを前記３次元眼球回転系の眼球回転半径とし、
前記点P1、点P2の座標(x1, y0), (x2, y0)と、前記接線の傾きθ1, θ2と、前記長軸の長さRと、前記眼球回転中心座標(xe, ye)と、前記眼球回転半径Reとから、瞳孔または虹彩の位置を表す前記楕円の中心座標(xc, yc)と偏角ψと、瞳孔または虹彩の大きさを表す前記楕円の長軸の長さRaと短軸の長さRbとを含む楕円プロファイルを算出する眼情報算出部と
を含む眼情報推定装置。
【請求項２】
請求項１に記載の眼情報推定装置であって、
前記眼情報算出部は、
前記眼球回転中心座標(xe, ye)と、前記眼球回転半径Reと、楕円プロファイルとを用いて当該楕円プロファイルの妥当性を表す非負コスト関数Costの値を計算し、当該非負コスト関数Costの値が所定の条件を満たすときの楕円プロファイルを前記楕円プロファイルとして算出する
ことを特徴とする眼情報推定装置。
【請求項３】
請求項２に記載の眼情報推定装置であって、
前記プロファイル決定情報取得部は、
眼球回転中心座標の値を仮定して前記画像の各行ごとに得られる虹彩中心位置の系列が、眼球の動きをモデル化した所定の関数により所定の精度でフィッティング可能となるときの眼球回転中心座標の値を、前記眼球回転中心座標(xe, ye)として取得する
ことを特徴とする眼情報推定装置。
【請求項４】
請求項１に記載の眼情報推定装置であって、
前記接線の傾きθ1, θ2は、前記所定の行に隣接する行の瞳孔または虹彩の外縁に対応する点の座標と、前記点P1、点P2の座標(x1, y0), (x2, y0)とから計算される値である
ことを特徴とする眼情報推定装置。
【請求項５】
眼情報推定装置が、対象者の眼球を撮影した画像から、当該画像に含まれる所定の行の瞳孔または虹彩の外縁に対応する２つの点P1、点P2の座標(x1, y0), (x2, y0)と、瞳孔または虹彩の形状を楕円であると仮定した場合の当該楕円の長軸の長さRと、瞳孔または虹彩が拘束される３次元眼球回転系の眼球回転中心座標(xe, ye)とを取得するプロファイル決定情報取得ステップと、
θ1, θ2を点P1、点P2における前記楕円の接線の傾き、Reを前記３次元眼球回転系の眼球回転半径とし、
前記眼情報推定装置が、前記点P1、点P2の座標(x1, y0), (x2, y0)と、前記接線の傾きθ1, θ2と、前記長軸の長さRと、前記眼球回転中心座標(xe, ye)と、前記眼球回転半径Reとから、瞳孔または虹彩の位置を表す前記楕円の中心座標(xc, yc)と偏角ψと、瞳孔または虹彩の大きさを表す前記楕円の長軸の長さRaと短軸の長さRbとを含む楕円プロファイルを算出する眼情報算出ステップと
を含む眼情報推定方法。
【請求項６】
請求項１ないし４のいずれか１項に記載の眼情報推定装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、瞳孔や虹彩に関する位置／大きさの情報を推定する技術に関する。
【背景技術】
【０００２】
参考特許文献１では、対象者の眼の動的な変化に基づく特徴量を抽出し、抽出された特徴量に基づいて対象者の感じる音楽の好みをリアルタイムで推定することができる（参考特許文献１）。
（参考特許文献１：特開２０１５−１３１０６９号公報）
参考特許文献１で用いた眼の動的な変化の推定には、例えば、眼球運動計測器と呼ばれる専用の装置（非特許文献１）を用いることができる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】tobii pro, [online], ［平成３０年６月６日検索］, インターネット<URL:https://www.tobiipro.com/ja/?gclid=EAIaIQobChMI9dzRgfq92wIVlYePCh2l1ge6EAAYASAAEgLqy_D_BwE>
【発明の概要】
【発明が解決しようとする課題】
【０００４】
参考特許文献１によれば、人の眼の動的な変化に基づく特徴量を用いることで、音楽の好みをリアルタイムで推定することができる。しかしながら、参考特許文献１で用いるマイクロサッカードの減衰係数や固有角振動数といった眼の動的な変化に関する特徴量を計算するためには、ミリ秒オーダーでの細かい眼球位置変化を正確に捉える必要があるため、1000Hzのように非常に高いサンプリング周波数で画像を撮影可能な眼球運動計測器を用いる必要があった。そのため、例えば、スマートフォンやパソコンなどに組み込まれている比較的性能が低いカメラ（例えば、15〜60Hzのように低いサンプリング周波数のカメラ）を用いた場合には、サンプリング周波数が十分でないためにミリ秒オーダーでの細かい眼球位置変化を正確に取得できず、マイクロサッカードの減衰係数や固有角振動数といった眼の動的な変化に関する特徴量を計算できないため、結果として音楽の好みを推定することができないという問題があった。
【０００５】
そこで本発明では、サンプリング周波数が低いカメラにより撮影された画像を用いて、実際のサンプリング周波数よりも非常に細かい時間単位で瞳孔や虹彩に関する位置／大きさの情報を推定する技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様は、対象者の眼球を撮影した画像から、当該画像に含まれる所定の行の瞳孔または虹彩の外縁に対応する２つの点P1、点P2の座標(x1, y0), (x2, y0)と、瞳孔または虹彩の形状を楕円であると仮定した場合の当該楕円の長軸の長さRと、瞳孔または虹彩が拘束される３次元眼球回転系の眼球回転中心座標(xe, ye)とを取得するプロファイル決定情報取得部と、θ1, θ2を点P1、点P2における前記楕円の接線の傾き、Reを前記３次元眼球回転系の眼球回転半径とし、前記点P1、点P2の座標(x1, y0), (x2, y0)と、前記接線の傾きθ1, θ2と、前記長軸の長さRと、前記眼球回転中心座標(xe, ye)と、前記眼球回転半径Reとから、瞳孔または虹彩の位置を表す前記楕円の中心座標(xc, yc)と偏角ψと、瞳孔または虹彩の大きさを表す前記楕円の長軸の長さRaと短軸の長さRbとを含む楕円プロファイルを算出する眼情報算出部とを含む。
【発明の効果】
【０００７】
本発明によれば、サンプリング周波数が低いカメラにより撮影された画像を用いて、実際のサンプリング周波数よりも非常に細かい時間単位で瞳孔や虹彩に関する位置／大きさの情報を推定することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】隣接する２行の瞳孔（虹彩）の外縁に対応する４つの点の一例を示す図。
【図２】３次元眼球回転系を示す図。
【図３】眼球回転中心と楕円の中心の位置関係の一例を示す図。
【図４】眼情報推定装置１００の構成の一例を示すブロック図。
【図５】眼情報推定装置１００の動作の一例を示すフローチャート。
【図６】眼情報算出部１３０の構成の一例を示すブロック図。
【図７】眼情報算出部１３０の動作の一例を示すフローチャート。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【００１０】
＜技術的背景＞
位置／大きさの情報を推定する対象は、瞳孔または虹彩とする。また、瞳孔や虹彩の位置／大きさの推定には、対象者の眼球を撮影した画像を用いる。推定に際して、撮影した画像中の瞳孔や虹彩の形状は楕円であると仮定する。したがって、瞳孔や虹彩の位置／大きさは、楕円の中心座標、偏角／長軸の長さ、短軸の長さとして推定されることになる。具体的には、対象者の眼球を撮影した画像に含まれる所定の行の瞳孔または虹彩の外縁に対応する２つの点P1、点P2の座標とこれらの点における楕円（つまり、推定対象である瞳孔または虹彩を表す楕円）の接線の傾きから、楕円のプロファイルである中心座標、偏角、長軸の長さ、短軸の長さを推定する。その際、所定のサンプリング周波数で画像を撮影している間、長軸の長さは変化しないものと仮定する。以下、その長さをRとする。
【００１１】
以上より、瞳孔や虹彩の位置／大きさを推定する問題は、楕円上の点P1、点P2の座標(x1, y0), (x2, y0)と当該2点における楕円の接線の傾きθ1, θ2と楕円の長軸の長さRから楕円の中心座標(xc, yc)、偏角ψ、長軸の長さRa、短軸の長さRbを求める問題に帰着する（ただし、Ra=Rである）。
【００１２】
なお、対象者の眼球を撮影した画像から、点P1、点P2の座標(x1, y0), (x2, y0)、当該2点における楕円の接線の傾きθ1, θ2、楕円の長軸の長さRを求める方法については、後述する。
【００１３】
以下、上記問題を解く手順について説明する。一般に、２次元平面上の任意の位置にある楕円は、以下の方程式により表される。
【００１４】
【数１】
2020074952.tif 000003
【００１５】
ここでは、上記問題を解くために、任意の位置にある楕円を、x軸上の点(1, 0)、y軸上の点(0, 1)を通り、点(1, 0)においてx軸、点(0, 1)においてy軸に接する楕円に対応するように座標変換し、当該変換後の楕円が以下の式で表されることを用いて計算を行う。
【００１６】
【数２】
2020074952.tif 000004
【００１７】
ここで、αをハイパーパラメータという。
【００１８】
以下、詳しく説明する。点P1における楕円の接線と点P2における楕円の接線の交点Cの座標(xs, ys)は、点P1、点P2の座標(x1, y0), (x2, y0)、当該2点における楕円の接線の傾きθ1, θ2を用いて次式により表せる。
【００１９】
【数３】
2020074952.tif 000005
【００２０】
ここで、交点Cが点(0, 0)、点P1が点(1, 0)、点P2が点(0, 1)にそれぞれ対応するように座標系を変換して得られる楕円の方程式は、
【００２１】
【数４】
2020074952.tif 000006
【００２２】
として、次式により表現できる。
【００２３】
【数５】
2020074952.tif 000007
【００２４】
すると、楕円のプロファイル、つまり、中心座標(xc, yc)、偏角ψ、長軸の長さRa、短軸の長さRbは、ハイパーパラメータαを用いて、以下のように表現できる。
【００２５】
【数６】
2020074952.tif 000008
【００２６】
ただし、
【００２７】
【数７】
2020074952.tif 000009
【００２８】
である。ここで、式(4)中のRa,b2は、Ra2またはRb2の意味であり、式(4)の右辺の値（つまり、±を用いて表される２つの値）のうち小さい方がRb2、大きい方がRa2であることを意味する。また、式(4)の右辺の平方根がRa, Rbとなる。
【００２９】
なお、長軸の長さに対する短軸の長さの比r(=Rb/Ra)も、ハイパーパラメータαを用いて以下のように表現することができる。
【００３０】
【数８】
2020074952.tif 000010
【００３１】
以下、式(2a)と式(2b)をハイパーパラメータαを用いた中心座標(xc, yc)の表現という。同様に、式(3)をハイパーパラメータαを用いた偏角ψの表現、式(4)をハイパーパラメータαを用いた長軸の長さRaの表現、ハイパーパラメータαを用いた短軸の長さRbの表現、式(8)をハイパーパラメータαを用いた長軸の長さに対する短軸の長さの比rの表現という。また、ハイパーパラメータαのことを楕円プロファイルの表現に用いるハイパーパラメータともいう。
【００３２】
したがって、上記表現を用いれば、式(4)を用いてRa=Rとなるハイパーパラメータα（ただし、|α|≦1）を求めることにより、中心座標(xc, yc)、偏角ψ、短軸の長さRbを求めることができる。
【００３３】
ここで、対象者の眼球を撮影した画像から、点P1、点P2の座標(x1, y0), (x2, y0)、当該2点における楕円の接線の傾きθ1, θ2、楕円の長軸の長さRを求める方法について説明する。
【００３４】
点P1、点P2の座標(x1, y0), (x2, y0)は、例えば、参考非特許文献１に記載された方法を用いて瞳孔または虹彩の領域／境界を検出することにより、取得することができる。
（参考非特許文献１：Daugman, J, “Probing the uniqueness and randomness of IrisCodes: Results from 200 billion iris pair comparisons”, Proceedings of the IEEE, Vol.94, No.11, pp.1927-1935, 2006.）
【００３５】
また、点P1、点P2における楕円の接線の傾きθ1, θ2は、所定の行に隣接する行の瞳孔または虹彩の外縁に対応する点の座標と、点P1、点P2の座標(x1, y0), (x2, y0)とを用いて取得することができる。具体的には、以下のようにして求める。まず、所定の行に隣接する行のうち、画像中、上側に位置する行の瞳孔または虹彩の外縁に対応する２つの点P1’、点P2’の座標を(x1’, y0’), (x2’, y0’)とし、傾きθ1’, θ2’を次式により求める、（図１参照）。
【００３６】
【数９】
2020074952.tif 000011
【００３７】
同様に、所定の行に隣接する行のうち、画像中、下側に位置する行の瞳孔または虹彩の外縁に対応する２つの点P1”、点P2”の座標を(x1”, y0”), (x2”, y0”)とし、傾きθ1”, θ2” を次式により求める。
【００３８】
【数１０】
2020074952.tif 000012
【００３９】
そして、傾きθ1, θ2を、傾きθ1’, θ2’, θ1”, θ2”を用いて次式により求める。
【００４０】
【数１１】
2020074952.tif 000013
【００４１】
つまり、傾きθ1, θ2は、所定の行に隣接する行のうち、画像中、上側に位置する行の瞳孔または虹彩の外縁に対応する２つの点の座標と点P1、点P2の座標(x1, y0), (x2, y0)とを用いて計算した傾きと、所定の行に隣接する行のうち、画像中、下側に位置する行の瞳孔または虹彩の外縁に対応する２つの点の座標と点P1、点P2の座標(x1, y0), (x2, y0)とを用いて計算した傾きの平均値として求められる。
【００４２】
楕円の長軸の長さRとして、例えば、画像に含まれる瞳孔または虹彩の外縁に対して楕円フィッティングを行った結果として得られる長軸の長さを用いればよい。
【００４３】
以上の説明から、上述の問題が解けることがわかる。しかし、点P1、点P2における楕円の接線の傾きθ1, θ2を求める方法として上述の方法を用いると、推定精度が下がってしまうことがある。これは、眼球の動きが非常に高速であるため、スマートフォンのカメラなどのようにサンプリング周波数が比較的低いカメラを用いて眼球を撮影すると、眼球が歪んで撮影されるためである。なお、高速で動いている被写体をサンプリング周波数が比較的低いカメラを用いて撮影した場合に、走査行ごとの露光タイミングがずれることにより図形歪が生じることをローリングシャッター効果という。
【００４４】
そこで、より精度よく、点P1、点P2における楕円の接線の傾きθ1, θ2を決定するために、以下説明する手法を用いてもよい。この手法では、新たな制約条件を課す。以下、この新たに課す制約条件と、当該制約条件のもと接線の傾きを未知として楕円プロファイルを算出するアルゴリズムについて説明する。
【００４５】
（制約条件：３次元眼球回転系）
瞳孔及び虹彩の形状は円盤、眼球の形状は真球であるとし、瞳孔及び虹彩は、眼球の表面に拘束されて動くものと仮定する（図２参照）。つまり、瞳孔や虹彩を撮影して得られる楕円は、真球上を円盤が回転した結果であるとする。なお、図２において、斜線を施した円が瞳孔又は虹彩を表し、半径がReの球が眼球を表す。以下では、この瞳孔や虹彩が眼球の表面に拘束されて回転運動する系のことを３次元眼球回転系という。
【００４６】
対象者の眼球を撮影した画像における３次元眼球回転系の眼球回転中心座標を(xe, ye)、３次元眼球回転系の眼球回転半径をRe、瞳孔半径（虹彩半径）をR、瞳孔中心経度（虹彩中心経度）ω、瞳孔中心緯度（虹彩中心緯度）φとすると、楕円プロファイルである中心座標、偏角、長軸の長さ、短軸の長さ（つまり、瞳孔（虹彩）の位置や大きさ）は、次式により表される（図２、図３参照）。
【００４７】
【数１２】
2020074952.tif 000014
【００４８】
また、３次元眼球回転系であるという仮定から、以下の２式を満たすべき関係式として導出することができる。
【００４９】
【数１３】
2020074952.tif 000015
【００５０】
ただし、
【００５１】
【数１４】
2020074952.tif 000016
【００５２】
である。
【００５３】
（楕円プロファイル算出アルゴリズム）
楕円プロファイル算出アルゴリズムでは、眼球回転中心座標(xe, ye)と眼球回転半径Reが事前に与えられているものとする。眼球回転中心座標(xe, ye)は、対象者の眼球を撮影する時点に決まるものであり、対象者の眼球を撮影した画像から求めることができる。その求め方（眼球回転中心座標算出アルゴリズム）は後述する。一方、眼球回転半径Reは、対象者の眼球を撮影する時点において決まるものではなく、撮影前一定期間において一定の値をとるものと考えられる。したがって、眼球の大きさ（すなわち、眼球回転半径Re）については、所定の計測器を用いて計測するなど別途の方法で撮影前に求めておけばよい。
【００５４】
以下、楕円プロファイル算出アルゴリズムについて説明する。
【００５５】
≪楕円プロファイル算出アルゴリズム≫
ステップ１：２つの点P1、点P2における楕円の接線の傾きθ1, θ2として適当な初期値を与える。例えば、上述の方法で求めた接線の傾きθ1, θ2を初期値として用いることができる。
ステップ２：点P1における楕円の接線と点P2における楕円の接線の交点Cの座標(xs, ys)を求める。具体的には、式(1)により求める。
ステップ３：式(4)を用いてRa=Rとなるハイパーパラメータα（ただし、|α|≦1）を求める。
ステップ４：ステップ３で求めたハイパーパラメータαを用いて、式(3)と式(8)により、偏角ψと長軸の長さに対する短軸の長さの比rの２乗r2を求める。また、式(2a)と式(2b)より、中心座標(xc, yc)を算出する。
ステップ５：ステップ４で求めた偏角ψと比rの２乗r2と中心座標(xc, yc)を用いて、次式で定義される非負コスト関数Costを計算する。
【００５６】
【数１５】
2020074952.tif 000017
【００５７】
式(12a)、式(12b)は、それぞれ式(9a)、式(9b)から導出されるコスト関数である。接線の傾きθ1, θ2が正しい値となる場合、式(12a)のコスト関数C1、式(12b)のコスト関数C2の値は、いずれも0となる。したがって、この場合、式(11)のコスト関数Costの値は0になる。
ステップ６：所定の終了条件を満たすか否かを判定する。当該終了条件を満たすか否かは非負コスト関数Costの値が十分0に近いか（つまり、所定の定数ε(>0)に対して、εより小さくなるかまたはε以下となるか）否かに対応するものである。例えば、非負コスト関数Costの値が十分0に近い値になった場合に処理を終了するという終了条件にしてもよい。あるいは、非負コスト関数Costの値が十分0に近い値になるか、所定の繰り返し回数に達するかいずれかを満たした場合に処理を終了するという終了条件にしてもよい。終了条件を満たす場合は、ステップ３で求めたハイパーパラメータαを用いて、中心座標(xc, yc)と偏角ψ、及び／または、長軸の長さRa、短軸の長さRbを算出し、出力して処理を終了する。中心座標(xc, yc)、偏角ψ、長軸の長さRa、短軸の長さRbは、式(2a)、式(2b)、式(3)、式(4)により算出すればよい。終了条件を満たさない場合は、点P1、点P2における楕円の接線の傾きθ1, θ2を更新し、ステップ２〜５を繰り返す。
【００５８】
ステップ１〜６は、ニュートン法や勾配法を用いて実行することができる。ニュートン法は関数f(x)に対してf(x)=0となるxを求める方法であり、勾配法は関数f(x)に対してf(x)が最小値をとるxを求める方法である。したがって、ニュートン法や勾配法を用いると、非負コスト関数Costが十分0に近い値になる（あるいは、最小値をとる）点P1、点P2における楕円の接線の傾きθ1, θ2を最適値として求めることになる。 
【００５９】
次に、眼球回転中心座標算出アルゴリズムについて説明する。
【００６０】
≪眼球回転中心座標算出アルゴリズム≫
ステップ１：眼球回転中心座標(xe, ye)として適当な初期値を与える。
ステップ２：眼球回転中心座標は(xe, ye)であるとの仮定の下、楕円プロファイル算出アルゴリズムにより、虹彩を表す楕円の中心の位置を示す虹彩中心位置の時間変化Pxy(t)を得る。具体的には、まず、撮像された各行の画像（画素列）について、楕円プロファイル算出アルゴリズムを適用し、各行についての楕円プロファイルを推定することで、各行についての虹彩中心位置を得る。これを、与えられた画像のすべての行（虹彩が映り込んでいるすべての行）について行うことで、各行についての虹彩中心位置の系列が得られる。これを虹彩中心位置の時間変化Pxy(t)と呼ぶこととする。
ステップ３：ステップ２で求めた虹彩中心位置の時間変化Pxy(t)に対して、パラメータセットを様々に変えて所定の関数Pxy,model(t)でフィッティングする。この結果として得られるフィッティングコスト値をCsとする。具体的には、フィッティング処理は最適化手法（例えば、Ceres Solver）により行い、フィッティングコスト値Csは例えばPxy(t)と最適化された関数Pxy,model(t)との二乗誤差として求める。なお、局所解に陥ることを避けるため、パラメータセットの初期値はいくつかのパターンで与えることが望ましい。
【００６１】
所定の関数Pxy,model(t)は、眼球の動きをモデル化した関数であり、与えられた画像においてサッカードが発生している場合と発生していない場合で下記のように異なる。
【００６２】
（ａ）サッカードが発生している画像の場合
所定の関数Pxy,model(t)は、t>t0において
【００６３】
【数１６】
2020074952.tif 000018
【００６４】
と表され、t<t0において
【００６５】
【数１７】
2020074952.tif 000019
【００６６】
と表される。上記の式は、サッカードが起きている時間区間の虹彩中心位置の時系列が位置制御系のステップ応答としてモデル化できることに基づく。最適化の対象となるパラメータセットは{A, ζ, ωn, t0, y’0}である。ここで、y’0は虹彩中心位置の初期値、t0はサッカードの開始時刻、Aはサッカードの振幅、ζはサッカードの減衰係数、ωnはサッカードの固有角振動数を表す。ただし、ｔは時刻を表すインデックスである。振幅Aはサッカードによる眼球の動きが収束したときの移動量である。固有角振動数ωnはサッカードの応答の速さを表す指標に相当し、減衰係数ζはサッカードの応答の収束性を表す指標に相当する。なお、ωdは、
【００６７】
【数１８】
2020074952.tif 000020
【００６８】
として、減衰係数および固有角振動数から定まる値である。
【００６９】
（ｂ）サッカードが発生していない画像の場合
所定の関数Pxy,model(t)は、
【００７０】
【数１９】
2020074952.tif 000021
【００７１】
と表される。ここで、y’0は虹彩中心位置の初期値、Vは虹彩中心位置の平均速度（トレンド）を表す。
【００７２】
ここで、与えられた画像においてサッカードが発生しているかどうかを判定するための方法は、下記の通りである。
【００７３】
［サッカード判定方法］
複数枚の画像について、ローリングシャッター効果を考慮せず、例えば、単純な楕円フィッティングにより、虹彩中心位置を計算する。ここで用いる複数枚の画像は、所定の画像を含むものであり、十分な数の画像の集合である。次に、複数枚の画像から得られた虹彩中心位置の時系列について１次階差系列を計算し、当該階差系列の平均値ms、標準偏差σsを求める。所定の画像に対応する１次階差系列の値Psが
【００７４】
【数２０】
2020074952.tif 000022
【００７５】
を満たす場合には、所定の画像の撮像中にサッカードが発生していたものと判定する。ここで、nsは定数で、取得された１次階差系列のノイズの程度に応じて、およそ6から8の値を用いることが望ましい。なお、取得された虹彩中心位置の情報にノイズが多く含まれると判定した場合などには、１次階差系列の計算にあたって適当な範囲での移動平均値を用いてもよい。
ステップ４：フィッティングコスト値Csが所定の閾値より小さくなる又は当該閾値以下となる場合は、現時点の眼球回転中心座標(xe, ye)を出力して処理を終了する。それ以外の場合は、眼球回転中心座標(xe, ye)を更新し、ステップ２以降の処理を繰り返す。
【００７６】
本発明では、ローリンシャッター方式を前提とするので、画像の行ごとに撮影時刻が異なる。つまり、ある行を撮影した時刻と次の行を撮影した時刻が異なり、その間に虹彩の位置が変動するので、各行について求めた虹彩中心位置の時系列データは、虹彩中心の時間的な変化（動き）を表すといえる。ステップ３では、ステップ２で求めた虹彩中心位置の時系列データを所定の関数でフィッティングする。したがって、ステップ４は、虹彩中心位置の時系列データ（つまり、楕円プロファイルの推定結果）の信頼性を判定する処理と言える。眼球（虹彩）の動きをモデル化した関数を所定の関数としてフィッティングを行ったときに、フィッティングの精度がよくない（フィッティングコスト値が所定の閾値より大きい場合）場合は、虹彩中心位置の時系列データの推定結果の信頼性が低い（眼球の動きとして妥当ではない）と考えられる。そこで、この場合は再度ステップ２に戻り、虹彩中心位置の推定からやり直しを行うのである。一方、フィッティング精度が高い（フィッティングコスト値が所定の閾値より小さい）場合は、虹彩中心位置の時系列データの推定結果の信頼性が高い（眼球の動きとして妥当である）と考えられるので、推定した眼球回転中心座標(xe, ye)を最終的な推定結果として出力する。
【００７７】
＜第１実施形態＞
以下、図４〜図５を参照して、眼情報推定装置１００を説明する。図４は、眼情報推定装置１００の構成を示すブロック図である。図５は、眼情報推定装置１００の動作を示すフローチャートである。図４に示すように眼情報推定装置１００は、画像取得部１１０と、プロファイル決定情報取得部１２０と、眼情報算出部１３０と、記録部１９０を含む。記録部１９０は、眼情報推定装置１００の処理に必要な情報を適宜記録する構成部である。例えば、記録部１９０は、事前に取得した眼球回転半径Reを記録しておく。
【００７８】
図５に従い眼情報推定装置１００の動作について説明する。
【００７９】
［画像取得部１１０］
Ｓ１１０において、画像取得部１１０は、対象者の眼球を撮影した画像を取得し、出力する。ここで、画像撮影に用いるカメラは、スマートフォンのカメラのようなサンプリング周波数が比較的低いカメラを想定しているが、サンプリング周波数が高いカメラを用いてもよい。なお、カメラは、左右両方の眼球を撮影するように設定してもよいし、いずれか一方の眼球のみを撮影するように設定してもよい。以下では、一方の眼球のみを撮影するように設定しているものとする。
【００８０】
［プロファイル決定情報取得部１２０］
Ｓ１２０において、プロファイル決定情報取得部１２０は、Ｓ１１０で取得した画像を入力とし、当該画像に含まれる所定の行にある瞳孔または虹彩の外縁に対応する２つの点P1、点P2の座標(x1, y0), (x2, y0)と、瞳孔または虹彩の形状を楕円であると仮定した場合の当該楕円の長軸の長さRと、瞳孔または虹彩が拘束される３次元眼球回転系の眼球回転中心座標(xe, ye)とを取得し、出力する。なお、点P1、点P2の座標(x1, y0), (x2, y0)、長軸の長さR、眼球回転中心座標(xe, ye)の取得方法は、＜技術的背景＞で説明した方法を用いればよい。この場合、プロファイル決定情報取得部１２０は、眼球回転中心座標の値を仮定してＳ１１０で取得した画像の各行ごとに得られる虹彩中心位置の系列が、眼球の動きをモデル化した所定の関数により所定の精度でフィッティング可能となるときの眼球回転中心座標の値を、眼球回転中心座標(xe, ye)として取得することになる。
【００８１】
［眼情報算出部１３０］
Ｓ１３０において、眼情報算出部１３０は、Ｓ１２０で取得した点P1、点P2の座標(x1, y0), (x2, y0)、長軸の長さR、眼球回転中心座標(xe, ye)と、点P1、点P2における楕円の接線の傾きθ1, θ2と、眼球回転半径Reとを入力とし、瞳孔または虹彩の位置を表す楕円の中心座標(xc, yc)と偏角ψと、瞳孔または虹彩の大きさを表す楕円の長軸の長さRaと短軸の長さRbとを含む楕円プロファイルを算出し、当該楕円プロファイルのうち、少なくとも１つのプロファイルを出力する。ここで、点P1、点P2における楕円の接線の傾きθ1, θ2は、例えば、＜技術的背景＞で説明した方法により、Ｓ１１０で取得した画像から取得すればよく、接線の傾きθ1, θ2は、所定の行に隣接する行にある瞳孔または虹彩の外縁に対応する点の座標と、点P1、点P2の座標(x1, y0), (x2, y0)とから計算される値となる。この場合、Ｓ１２０において、プロファイル決定情報取得部１２０が、Ｓ１１０で取得した画像から接線の傾きθ1, θ2をあわせて取得するものとすればよい。
【００８２】
以下、図６〜図７を参照して眼情報算出部１３０について説明する。図６は、眼情報算出部１３０の構成を示すブロック図である。図７は、眼情報算出部１３０の動作を示すフローチャートである。図６に示すように眼情報算出部１３０は、交点座標計算部１３１と、プロファイル算出部１３２、終了条件判定部１３３を含む。
【００８３】
［交点座標計算部１３１］
Ｓ１３１において、交点座標計算部１３１は、点P1、点P2の座標(x1, y0), (x2, y0)と点P1、点P2における楕円の接線の傾きθ1, θ2とから、これらの接線の交点Cの座標(xs, ys)を計算する。具体的には、式(1)により交点Cの座標(xs, ys)を計算する。
【００８４】
［プロファイル算出部１３２］
Ｓ１３２において、プロファイル算出部１３２は、点P1、点P2の座標(x1, y0), (x2, y0)と、Ｓ１３１で計算した交点Cの座標(xs, ys)と、長軸の長さRとから、ハイパーパラメータα(ただし、|α|≦1)を求めることにより、楕円の偏角ψと長軸の長さに対する短軸の長さの比rの２乗r2と楕円の中心座標(xc, yc)を算出する。以下、具体的に説明する。
【００８５】
まず、プロファイル算出部１３２は、点P1、点P2の座標(x1, y0), (x2, y0)と、交点Cの座標(xs, ys)とを用いて、ハイパーパラメータαを用いた長軸の長さRaの表現（つまり、式(4)）を求める。
【００８６】
次に、プロファイル算出部１３２は、式(4)の長軸の長さRaの表現と長軸の長さRを用いて、ハイパーパラメータαを決定する。具体的には、式(4)の値がRとなるα(|α|≦1)を求めることになる。
【００８７】
そして、プロファイル算出部１３２は、上記決定したαを用いて、式(3)、式(8)より、偏角ψと比rの２乗r2をそれぞれ算出する。また、プロファイル算出部１３２は、上記決定したαを用いて、式(2a)、式(2b)より、中心座標(xc, yc)を算出する。
【００８８】
［終了条件判定部１３３］
Ｓ１３３において、終了条件判定部１３３は、Ｓ１３２で算出した楕円の偏角ψと比rの２乗r2と楕円の中心座標(xc, yc)と、眼球回転中心座標(xe, ye)と、眼球回転半径Reとから、所定の終了条件が満たされるか否かを判定する。終了条件が満たされる場合には、Ｓ１３２で決定したハイパーパラメータαを用いて算出される、楕円の中心座標(xc, yc)と偏角ψと楕円の長軸の長さRaと短軸の長さRbとを含む楕円プロファイルのうち、少なくとも１つのプロファイルを出力し、それ以外の場合は、点P1、点P2における楕円の接線の傾きθ1, θ2を所定の方法（例えば、ニュートン法）により更新し、当該更新した接線の傾きθ1, θ2を用いて、眼情報算出部１３０による処理を再帰的に実行する。つまり、眼情報算出部１３０は、Ｓ１３１以降の処理を繰り返す。その際、点P1、点P2の座標(x1, y0), (x2, y0)、長軸の長さR、眼球回転中心座標(xe, ye)についてはＳ１２０で取得した値を用い、眼球回転半径Reについては記録部１９０に記録されている値を用いる。
【００８９】
ここで、上記終了条件は、Ｓ１３２で算出した楕円の偏角ψと長軸の長さに対する短軸の長さの比rの２乗r2と楕円の中心座標(xc, yc)を用いて式(11)により計算される非負コスト関数Costの値が、所定の定数ε(>0)に対して、εより小さくなるまたはε以下となるという条件であり、３次元眼球回転系に関する仮定から導出される条件である。なお、非負コスト関数Costの値は、詳しくは、偏角ψと、比rの２乗r2と、中心座標(xc, yc)と、眼球回転中心座標(xe, ye)と、眼球回転半径Reとを用いて、式(11)により、計算することができる。
【００９０】
終了条件判定部１３３は、上記決定したハイパーパラメータαを用いて、式(2a)、式(2b)、式(3)より、楕円の中心座標(xc, yc)と偏角ψを算出すればよい。また、終了条件判定部１３３は、上記決定したハイパーパラメータαを用いて、式(4)より、楕円の長軸の長さRaと短軸の長さRbを算出すればよい。
【００９１】
以上より、眼情報算出部１３０は、眼球回転中心座標(xe, ye)と、眼球回転半径Reと、楕円プロファイルとを用いて当該楕円プロファイルの妥当性を表す非負コスト関数Costの値を計算し、当該非負コスト関数Costの値が所定の条件を満たすときの楕円プロファイルを出力対象となる楕円プロファイルとして算出する。
【００９２】
なお、左右両方の眼球を撮影した画像を用いる場合は、Ｓ１２０〜Ｓ１３０までの処理を各眼球に対して実行するようにすればよい。
【００９３】
本実施形態の発明によれば、サンプリング周波数が低いカメラにより撮影された画像を用いて、実際のサンプリング周波数よりも細かい時間単位で瞳孔や虹彩に関する位置／大きさの情報を推定することが可能となる。
【００９４】
＜補記＞
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置（例えば通信ケーブル）が接続可能な通信部、ＣＰＵ（Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい）、メモリであるＲＡＭやＲＯＭ、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、ＣＰＵ、ＲＡＭ、ＲＯＭ、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、ＣＤ−ＲＯＭなどの記録媒体を読み書きできる装置（ドライブ）などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
【００９５】
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている（外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるＲＯＭに記憶させておくこととしてもよい）。また、これらのプログラムの処理によって得られるデータなどは、ＲＡＭや外部記憶装置などに適宜に記憶される。
【００９６】
ハードウェアエンティティでは、外部記憶装置（あるいはＲＯＭなど）に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にＣＰＵで解釈実行・処理される。その結果、ＣＰＵが所定の機能（上記、…部、…手段などと表した各構成要件）を実現する。
【００９７】
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
【００９８】
既述のように、上記実施形態において説明したハードウェアエンティティ（本発明の装置）における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
【００９９】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【０１００】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【０１０１】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【０１０２】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
2020074952.tif 000023
【図２】
2020074952.tif 000024
【図３】
2020074952.tif 000025
【図４】
2020074952.tif 000026
【図５】
2020074952.tif 000027
【図６】
2020074952.tif 000028
【図７】
2020074952.tif 000029