視線位置検出装置、視線位置検出方法、及びコンピュータプログラム
【課題】ユーザの視野画像に基づいて、ユーザが何を見ているのかを容易に且つ確実に自動で検出できるようにする。
【解決手段】視野カメラ画像のSIFT特徴点Siと、視認対象画像のSIFT特徴点Tjとを抽出し、抽出したSIFT特徴点Si、Tjの対応点を導出する。次に、対応点である「視野カメラ画像のSIFT特徴点Si」を頂点とするドロネー三角形を形成する。次に、ドロネー三角形の頂点の中から、作業者の視線位置の近傍の三点を視線位置近傍特徴点A、B、Cとして選択する。次に、「視線位置近傍特徴点A、B、C」から見た場合の「視野カメラ画像における作業者の視線位置の点P」の位置関係と同じになるように、「視線位置近傍特徴点A、B、C」に対応する「視認対象画像のSIFT特徴点A´、B´、C´」の画像上の座標から、「視認対象画像における作業者の視線位置の点P´」を求める。
【解決手段】視野カメラ画像のSIFT特徴点Siと、視認対象画像のSIFT特徴点Tjとを抽出し、抽出したSIFT特徴点Si、Tjの対応点を導出する。次に、対応点である「視野カメラ画像のSIFT特徴点Si」を頂点とするドロネー三角形を形成する。次に、ドロネー三角形の頂点の中から、作業者の視線位置の近傍の三点を視線位置近傍特徴点A、B、Cとして選択する。次に、「視線位置近傍特徴点A、B、C」から見た場合の「視野カメラ画像における作業者の視線位置の点P」の位置関係と同じになるように、「視線位置近傍特徴点A、B、C」に対応する「視認対象画像のSIFT特徴点A´、B´、C´」の画像上の座標から、「視認対象画像における作業者の視線位置の点P´」を求める。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、視線位置検出装置、視線位置検出方法、及びコンピュータプログラムに関し、特に、ユーザの視線位置(実注視点)を検出するために用いて好適なものである。
【背景技術】
【0002】
近年、鉄鋼業等の製造業において、生産効率の向上、安全性の確保、環境負荷の低減等に対して情報処理技術を活用することが進められている。その一つとして、熟練者が自身の経験や勘を頼りにとっている行動であって、ワークフロー等に記述されていない行動を、視線計測データを分析することによって顕在化させることが挙げられる。このような経験や勘に基づいて熟練者がとっている行動に関する知識(この「知識」を「暗黙知」と称する)を明示することができれば、熟練者が直接的に教育をしなくても、その暗黙知の情報を非熟練者に伝承することができる。
【0003】
このような背景の下、視線計測データを分析する技術として非特許文献1に記載の技術がある。非特許文献1では、視野カメラの位置を視野カメラ画像から求めるようにしている。この非特許文献1では、計測対象の3次元座標が分かれば、原理的には、ユーザが見ていたものを識別することができる。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】小橋優司他,"頭部装着型視線計測装置のための自然特徴点を用いた三次元注視点推定",電子情報通信学会技術研究報告−ヒューマン情報処理,Vol109,No.261, p.5-10,2009
【非特許文献2】D.G.Lowe,"Object recognition from local scale-invariant features",International Conference on Computer Vision,Corfu,Greece(September 1999),p.1150-1157
【非特許文献3】杉原厚吉著,"なわばりの数理モデル -ボロノイ図からの数理工学入門-",共立出版(2009)
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、非特許文献1に記載の技術では、計測の精度を高くすることが困難であると共に、計測対象の3次元座標が既知であるという制約がある。このため、非特許文献1に記載の技術は、実用には適さない。このため、現状では、ユーザの目視での確認によってユーザが何を見ていたのかを同定するようにしている。
本発明は、このような問題点に鑑みてなされたものであり、ユーザの視野画像に基づいて、ユーザが何を見ているのかを容易に且つ確実に自動で検出できるようにすることを目的とする。
【課題を解決するための手段】
【0006】
本発明の視線位置検出装置は、ユーザが視認する対象となる領域の二次元画像である視認対象画像を取得する視認対象画像取得手段と、ユーザが装着している撮像手段で撮像された二次元画像である視野画像を取得する視野画像取得手段と、前記視認対象画像取得手段で取得された視認対象画像と、前記視野画像取得手段により取得された視野画像とを対応付ける為の、該視認対象画像中の点である特徴点を抽出する視認対象画像特徴点抽出手段と、前記視認対象画像取得手段で取得された視認対象画像と、前記視野画像取得手段により取得された視野画像とを対応付ける為の、該視野画像中の点である特徴点を抽出する視野画像特徴点抽出手段と、前記視野画像特徴点抽出手段により抽出された視野画像の特徴点と、当該視野画像の特徴点に対し特徴量が相互に対応する、前記視認対象画像特徴点抽出手段により抽出された視認対象画像の特徴点とを、対応点として抽出する対応点抽出手段と、前記対応点抽出手段により対応点として抽出された視野画像の特徴点から、前記視野画像取得手段により取得された視野画像におけるユーザの視線位置を内部に包含する三角形を構成する3つの特徴点を、視線位置近傍特徴点として抽出する視線位置近傍特徴点抽出手段と、前記視野画像におけるユーザの視線位置に対し画像上での位置が相互に対応する、前記視認対象画像における位置を、当該視認対象画像におけるユーザの視線位置として導出する視認対象画像上視線位置導出手段と、を有し、前記視認対象画像上視線位置導出手段は、前記3つの視線位置近傍特徴点から定まる座標系から見た場合の、前記視野画像におけるユーザの視線位置の座標と、当該3つの視線位置近傍特徴点に対応する3つの視認対象画像の特徴点から定まる座標系から見た場合に同一の座標となる位置を、前記視認対象画像におけるユーザの視線位置として導出することを特徴とする。
【0007】
本発明の視線位置検出方法は、ユーザが視認する対象となる領域の二次元画像である視認対象画像を取得する視認対象画像取得工程と、ユーザが装着している撮像手段で撮像された二次元画像である視野画像を取得する視野画像取得工程と、前記視認対象画像取得工程で取得された視認対象画像と、前記視野画像取得手段により取得された視野画像とを対応付ける為の、該視認対象画像中の点である特徴点を抽出する視認対象画像特徴点抽出工程と、前記視認対象画像取得手段で取得された視認対象画像と、前記視野画像取得工程により取得された視野画像とを対応付ける為の、該視野画像中の点である特徴点を抽出する視野画像特徴点抽出工程と、前記視野画像特徴点抽出工程により抽出された視野画像の特徴点と、当該視野画像の特徴点に対し特徴量が相互に対応する、前記視認対象画像特徴点抽出工程により抽出された視認対象画像の特徴点とを、対応点として抽出する対応点抽出工程と、前記対応点抽出工程により対応点として抽出された視野画像の特徴点から、前記視野画像取得工程により取得された視野画像におけるユーザの視線位置を内部に包含する三角形を構成する3つの特徴点を、視線位置近傍特徴点として抽出する視線位置近傍特徴点抽出工程と、前記視野画像におけるユーザの視線位置に対し画像上での位置が相互に対応する、前記視認対象画像における位置を、当該視認対象画像におけるユーザの視線位置として導出する視認対象画像上視線位置導出工程と、を有し、前記視認対象画像上視線位置導出工程は、前記3つの視線位置近傍特徴点から定まる座標系から見た場合の、前記視野画像におけるユーザの視線位置の座標と、当該3つの視線位置近傍特徴点に対応する3つの視認対象画像の特徴点から定まる座標系から見た場合に同一の座標となる位置を、前記視認対象画像におけるユーザの視線位置として導出することを特徴とする。
【0008】
本発明のコンピュータプログラムは、前記視線位置検出方法の各工程をコンピュータに実行させることを特徴とする。
【発明の効果】
【0009】
本発明によれば、視野画像の特徴点と、視認対象画像の特徴点との対応点を抽出し、対応点として抽出された視野画像の特徴点のうち、視野画像におけるユーザの視線位置を内部に包含する三角形の頂点を構成する3点を選択する。そして、その3点(3つの視野画像の特徴点)を視線位置近傍特徴点として抽出する。そして、3つの視線位置近傍特徴点から定まる座標系から見た場合の、視野画像におけるユーザの視線位置の座標と、当該3つの視線位置近傍特徴点に対応する3つの視認対象画像の特徴点から定まる座標系から見た場合に同一の座標となる位置を、視認対象画像におけるユーザの視線位置として導出する。したがって、ユーザの視野画像に基づいて、ユーザが何を見ているのかを容易に且つ確実に自動で検出することができる。
【図面の簡単な説明】
【0010】
【図1】本発明の実施形態を示し、視線位置検出装置の機能的な構成の一例を示す図である。
【図2】本発明の実施形態を示し、視野カメラ画像のSIFT特徴点と、視認対象画像のSIFT特徴点の一例を概念的に示す図(写真)である。
【図3】本発明の実施形態を示し、誤対応の対応点の対を除去した後の、対応点の対の一例を概念的に示す図(写真)である。
【図4】本発明の実施形態を示し、ボロノイ図の一例とドロネー三角形分割により得られたドロネー三角形の一例を示す図である。
【図5】本発明の実施形態を示し、視野カメラ画像における作業者の視線位置の点に対応する、視認対象画像における作業者の視線位置の点の一例を示す図である。
【図6】本発明の実施形態を示し、視認対象画像における作業者の視線位置の点の一例を概念的に示す図(写真)である。
【図7】本発明の実施形態を示し、視線位置検出装置の動作の一例を説明するフローチャートである。
【図8】本発明の実施形態を示し、図7のステップS706の詳細を説明するフローチャートである。
【図9】本発明の実施形態を示し、図7のステップS707の詳細を説明するフローチャートである。
【図10】本発明の実施形態を示し、図7のステップS708の詳細を説明するフローチャートである。
【図11】本発明の実施形態を示し、図7のステップS709の詳細を説明するフローチャートである。
【発明を実施するための形態】
【0011】
以下、図面を参照しながら、本発明の一実施形態を説明する。
図1は、視線位置検出装置の機能的な構成の一例を示す図である。本実施形態では、作業者(ユーザ)が視認する対象となる領域の二次元画像を予めデジタルカメラで得ておく(以下の説明では、「作業者が視認する対象となる領域の二次元画像」を必要に応じて「視認対象画像」と称する)。また、頭部装着型の視野カメラを作業者の頭部に装着させ、作業者の視野範囲を撮像した二次元画像を当該頭部装着型の視野カメラで得る(以下の説明では、「作業者の視野範囲を撮像した二次元画像」を必要に応じて「視野カメラ画像」と称する)。視線位置検出装置100は、これら視認対象画像と視野画像とを入力し、「視野画像における視線位置(視野画像における作業者の注視点)」と画像上での位置が相互に対応する「視認対象画像上の位置」を視認対象画像上視線位置として検出する機能を有する。
以下、視線位置検出装置100が有する機能の詳細を説明する。視線位置検出装置100のハードウェアは、例えば、CPU、ROM、RAM、HDD、及び各種のインターフェースを備えた情報処理装置を用いることにより実現することができる。
【0012】
(画像取得部101)
画像取得部101は、作業者がその頭部に装着した頭部装着型の視野カメラで撮像された視野カメラ画像(動画像)を取り込む。尚、頭部装着型の視野カメラは、作業者の視野範囲を撮像するものであり、公知の技術で実現できるものであるので、ここでは、その詳細を省略する。また、以下の説明では、「頭部装着型の視野カメラ」を必要に応じて「視野カメラ」と略称する。
また、画像取得部101は、デジタルカメラで撮像された視認対象画像を取り込む。
画像取得部101は、例えば、画像インターフェースが視野カメラで得られた視野カメラ画像の信号や、デジタルカメラで得られた視認対象画像の信号を受信し、CPUが、その画像信号をVRAM等に記憶することにより実現できる。
【0013】
(特徴点抽出部102)
特徴点抽出部102は、画像取得部101で取得された「視野カメラ画像と視認対象画像」の特徴点(特徴量ベクトル)を抽出する。ここで、特徴点抽出部102は、視野カメラ画像の各フレームの特徴点を抽出する。本実施形態では、画像の特徴点の抽出に、Scale-Invariant Feature Transform(SIFT)を用いるようにしている。SIFTは、画像の中から注目する画素を特徴点として決定し、特徴点の周辺の領域における輝度の分布から特徴量を算出する手法であり、回転やスケール変化等に頑健な特徴量を記述可能なことから、同一画像をデータベース中から検索する画像検索などの用途で主に用いられる。尚、SIFTのアルゴリズムは、非特許文献2等に記載されているように公知の技術で実現できるので、ここでは、その詳細な説明を省略する。
図2は、視野カメラ画像のSIFT特徴点(図2(a))と、視認対象画像のSIFT特徴点(図2(b))の一例を概念的に示す図(写真)である。図2では、作業者が、高炉の操業状態を表示するモニターを見ている場合を例に挙げて示している。図2では、SIFT特徴点を白丸で示している。
視野カメラ画像のSIFT特徴点Siは、以下の(1)式で表され、視認対象画像のSIFT特徴点Tjは、以下の(2)式で表される。すなわち、SIFT特徴点Si、Tjはともに、128次元の要素を持つベクトルである。
【0014】
【数1】
【0015】
(1)式において、iは、1,2,・・・N(Nは、視野カメラ画像のSIFT特徴点の数)である。また、(2)式において、jは、1,2,・・・M(Mは、視認対象画像のSIFT特徴点の数)である。
特徴点抽出部102は、例えば、CPUが、VRAM等から、視野カメラ画像と視認対象画像のデータを読み出し、それらのSIFT特徴点を、SIFTのアルゴリズムにより抽出し、抽出したSIFT特徴点の情報をRAM等に記憶することにより実現できる。
【0016】
(特徴点マッチング部103)
特徴点マッチング部103は、視野カメラ画像のSIFT特徴点Siの特徴量と、視認対象画像のSIFT特徴点Tjの特徴量との誤差を、以下の(3)式のように、これらのユークリッド距離d(i,j)として導出する。
【0017】
【数2】
【0018】
次に、特徴点マッチング部103は、視野カメラ画像のSIFT特徴点Siとのユークリッド距離d(i,j)が最も近い視認対象画像のSIFT特徴点Tj(i,0)を探索する。また、特徴点マッチング部103は、視野カメラ画像のSIFT特徴点Siとのユークリッド距離d(i,j)が二番目に近い視認対象画像のSIFT特徴点Tj(i,1)を探索する。
次に、特徴点マッチング部103は、視野カメラ画像のSIFT特徴点Siと、視認対象画像のSIFT特徴点Tj(i,0)とのユークリッド距離d(i,j(i,0))と、視野カメラ画像のSIFT特徴点Siと、視認対象画像のSIFT特徴点Tj(i,1)とのユークリッド距離d(i,j(i,1))とを比較し、以下の(4)式を満たすか否かを判定する。
【0019】
【数3】
【0020】
この判定の結果、(4)式を満たす場合、特徴点マッチング部103は、視野カメラ画像のSIFT特徴点Siと、視認対象画像のSIFT特徴点Tj(i,0)とを、特徴量が相互に対応する対応点として設定する。一方、(4)式を満たさない場合、視野カメラ画像のSIFT特徴点Siと、視認対象画像のSIFT特徴点Tj(i,0)とは、特徴量が相互に対応する対応点として設定されない。このように、本実施形態では、ユークリッド距離d(i,j(i,0))、d(i,j(i,1))の差が所定値よりも大きくなるものについてのみ、視野カメラ画像のSIFT特徴点Siと、視認対象画像のSIFT特徴点Tj(i,0)とを対応点として設定するようにしている。尚、(4)式における「0.5」は一例であり、「0.5」以外の値であってもよい。
【0021】
特徴点マッチング部103は、以上のユークリッド距離d(i,j)の導出、SIFT特徴点Tj(i,0)、Tj(i,1)の探索、(4)式の判定、及び対応点の設定を、視野カメラ画像のSIFT特徴点Siの全てについて行う。
その後、特徴点マッチング部103は、同一の「視野カメラ画像のSIFT特徴点Si」に対し、複数の対応点(複数の「視認対象画像のSIFT特徴点Tj(i,0)」)が設定されたか否かを判定する。この判定の結果、複数の対応点が設定された場合、特徴点マッチング部103は、それらの対応点の対のうち、ユークリッド距離d(i,j)が最も近い対応点の対を選択し、それ以外の対応点の対を除去する。
【0022】
特徴点マッチング部103は、例えば、CPUが、RAM等から、視野カメラ画像のSIFT特徴点Siの情報と、視認対象画像のSIFT特徴点Tjの情報とを読み出して、前述したようにして、視野カメラ画像のSIFT特徴点Siと、当該視野カメラ画像のSIFT特徴点Siと特徴量が相互に対応する視認対象画像のSIFT特徴点Tj(i,0)とを対応点として求め、求めた対応点の情報をRAM等に記憶することにより実現できる。
【0023】
(誤対応除去部104)
誤対応除去部104は、特徴点マッチング部103により得られた対応点の対(視野カメラ画像のSIFT特徴点Siと、当該視野カメラ画像のSIFT特徴点Siと特徴量が相互に対応する視認対象画像のSIFT特徴点Tj(i,0))をランダムに4つ選択する。
次に、誤対応除去部104は、選択した4つの対応点の対の画像上の座標を用いて、以下の(5)式及び(6)式で示される「射影変換のためのパラメータa1〜a8」を導出する。
【0024】
【数4】
【0025】
(5)式及び(6)式において、(x',y')は、視野対象画像上の座標であり、(x,y)は、視野カメラ画像上の座標である。
次に、誤対応除去部104は、射影変換のためのパラメータa1〜a8の導出のために使用していない対応点の対を選択する。そして、誤対応除去部104は、選択した対応点の対の一方である「視野カメラ画像のSIFT特徴点Si」の視野カメラ画像上の座標(x,y)とパラメータa1〜a8とを(5)式及び(6)式に代入して射影変換を行い、視認対象画像上の座標(x',y')を導出する。そして、誤対応除去部104は、導出した「視認対象画像上の座標(x',y')」と、選択した対応点の他方である「視認対象画像のSIFT特徴点Tj(i,0)」の視認対象画像上の座標(x',y')との誤差である投影誤差を導出する。そして、誤対応除去部104は、求めた投影誤差が閾値以下である場合、変数Cに1を加算する。一方、求めた投影誤差が閾値を超える場合には、変数Cは変化しない。
誤対応除去部104は、射影変換のためのパラメータa1〜a8の導出のために使用していない対応点の対の全てについて、投影誤差の導出と、投影誤差と閾値との比較と、変数Cの加算とを行う。
【0026】
誤対応除去部104は、以上の処理(対応点の対の選択、パラメータa1〜a8の導出、投影誤差の導出、投影誤差と閾値との比較、及び変数Cの加算)を、4つの「対応点の対」の全ての組み合わせについて行う。これにより、4つの「対応点の対」の全ての組み合わせと同数の変数Cが得られる。
次に、誤対応除去部104は、得られた変数Cの最大値Cmaxを選択し、最大値Cmaxを得るために導出したパラメータa1〜a8を最適射影変換パラメータとして設定する。
【0027】
次に、誤対応除去部104は、特徴点マッチング部103により得られた対応点の対を1つ選択する。
次に、誤対応除去部104は、選択した対応点の対の一方である「視野カメラ画像のSIFT特徴点Si」の視野カメラ画像上の座標(x,y)と最適射影変換パラメータa1〜a8とを(5)式及び(6)式に代入して射影変換を行い、視認対象画像上の座標(x',y')を導出する。そして、誤対応除去部104は、導出した「視認対象画像上の座標(x',y')」と、選択した対応点の他方である「視認対象画像のSIFT特徴点Tj(i,0)」の視認対象画像上の座標(x',y')との誤差である投影誤差を導出する。そして、誤対応除去部104は、求めた投影誤差が閾値を超える場合、選択した対応点の対を誤対応の対応点の対であるとして除去する。
誤対応除去部104は、以上の対応点の対の選択と、投影誤差の導出と、投影誤差と閾値との比較と、対応点の対の除去とを、特徴点マッチング部103により得られた対応点の対の全てについて行う。
図3は、誤対応の対応点の対を除去した後の、対応点の対(視野カメラ画像のSIFT特徴点Siと、当該視野カメラ画像のSIFT特徴点Siと特徴量が相互に対応する視認対象画像のSIFT特徴点Tj(i,0))の一例を概念的に示す図(写真)である。図3では、視野カメラ画像301のSIFT特徴点Siと、視認対象画像302のSIFT特徴点Tj(i,0)との対応点の対が96個得られた場合を例に挙げて示している。尚、図3では、白い直線の両端が対応点となるが、この直線は、説明の便宜のために示したものであり、実際の画像に表示されるものではない。
【0028】
誤対応除去部104は、例えば、RAM等から、対応点の情報を読み出して、前述したようにして、読み出した対応点が誤対応の対応点であると判定した場合には、当該対応点の情報をRAM等から消去することにより実現できる。
【0029】
(視線位置近傍特徴点抽出部105)
視線位置近傍特徴点抽出部105は、対応点として設定されている視野カメラ画像のSIFT特徴点Siを全て選択する。
次に、視線位置近傍特徴点抽出部105は、視野カメラ画像のSIFT特徴点Siの視野カメラ画像上の座標(x,y)を頂点とする三角形を、ドロネーの三角分割法(Delaunay Triangulation)を用いて作成する(この三角形をドロネー三角形と称する)。
そのために、視線位置近傍特徴点抽出部105は、ボロノイ図(Voronoi Diagram)を作成する。ボロノイ図とは、以下の(7)式を満たすボロノイ領域(Voronoi Region)V(pi)で空間を分割したものをいう。
【0030】
【数5】
【0031】
ここでは、m個の点(ボロノイジェネレータ(Voronoi Generator))からなる点集合P=[p1,p2,・・・,pm]が与えられているものとする。また、(7)式において、Rnは、n次元の実数空間を示す。また、D(p,pi)、D(p,pj)は、ある点pと点(ボロノイジェネレータ)pi,pjとのユークリッド距離を表す。すなわち、(7)式は、ボロノイ領域V(pi)内の任意の点pから最もユークリッド距離が近い点(ボロノイジェネレータ)は、点(ボロノイジェネレータ)piとなることを表しており、このような点の集合をボロノイ領域としている。
このようなボロノイ図において、隣接する点(ボロノイジェネレータ)同士を相互に繋いだ図をドロネー三角形分割という。このようにドロネー三角形分割を行うと、三角形の最小の内角が最大になる(三角形をなるべく細長くしない)ようにドロネー三角形が作成される。また、ドロネー三角形分割では、作成された任意のドロネー三角形に外接する円の内部には、他のドロネー三角形の頂点が含まれないという性質(外接円特性)がある。尚、ドロネー三角形分割のアルゴリズムは、非特許文献3等に記載されているように公知の技術で実現できるので、ここでは、これ以上の詳細な説明を省略する。
【0032】
図4は、ボロノイ図の一例(図4(a))とドロネー三角形分割により得られたドロネー三角形の一例(図4(b))を示す図である。
図4において、視野カメラ画像のSIFT特徴点Siの視野カメラ画像上の座標(x,y)の点が、ボロノイジェネレータp1〜p8となる。
以上のようにしてドロネー三角形が得られると、視線位置近傍特徴点抽出部105は、視野カメラ画像における作業者の視線位置を検出し、検出した作業者の視線位置がドロネー三角形の内部にあるか否かを判定する。この判定の結果、作業者の視線位置がドロネー三角形の内部にある場合、視線位置近傍特徴点抽出部105は、当該ドロネー三角形の3つの頂点を構成する「視野カメラ画像のSIFT特徴点Si」を視線位置近傍特徴点A、B、Cとして設定する(A、B、Cは、視野カメラ画像における座標を表すものとする)。
【0033】
一方、作業者の視線位置がドロネー三角形の内部にない場合、視線位置近傍特徴点抽出部105は、作業者の視線位置にユークリッド距離が最も近いドロネー三角形の辺の両端点を構成する「視野カメラ画像のSIFT特徴点Si」を選択する(これら2つの視野カメラ画像のSIFT特徴点SiをA、Bとする。また、これらA、Bは、視野カメラ画像における座標を表すものとする)。
次に、視線位置近傍特徴点抽出部105は、視野カメラ画像のSIFT特徴点Siのうち、作業者の視線位置とのユークリッド距離が最も近い特徴点Siを、選択した「2つの視野カメラ画像のSIFT特徴点A、B」以外から選択する(ここで選択した「視野カメラ画像のSIFT特徴点Si」をCとする。また、Cは、視野カメラ画像における座標を表すものとする)。
次に、視線位置近傍特徴点抽出部105は、選択した「視野カメラ画像のSIFT特徴点A、B、C」に基づく角度(∠ACB)が以下の(8)式を満たすか否かを判定する。
30°<∠ACB<150° ・・・(8)
(8)式は、視野カメラ画像のSIFT特徴点Siの「視野カメラ画像における座標の点A、B、C」を頂点とする三角形をなるべく細長くしないようにするためのものである。よって、∠ACBの下限、上限は、それぞれ、30°、150°に限定されず、この主旨を逸脱しない範囲で、∠ACBの下限と上限とを定めることができる。
【0034】
この判定の結果、(8)式を満たす場合、視線位置近傍特徴点抽出部105は、選択した「視野カメラ画像のSIFT特徴点A、B、C」と特徴量が相互に対応する「視認対象画像のSIFT特徴点Tj(i,0)」を選択する(ここで選択した「視認対象画像のSIFT特徴点Tj(i,0)」をそれぞれA´、B´、C´とする。また、A´、B´、C´は、視認対象画像における座標を表すものとする)。
次に、視線位置近傍特徴点抽出部105は、以下の(9)式に示す2次元ベクトルの外積の符号と、以下の(10)式に示す2次元ベクトルの外積の符号とが同じであるか否かを判定する。この判定の結果、これらの外積の符号が同じである場合、視線位置近傍特徴点抽出部105は、選択した視野カメラ画像のSIFT特徴点A、B、Cを視線位置近傍特徴点A、B、Cとする。
【0035】
【数6】
【0036】
一方、これらの外積の符号が同じでない場合には、視野カメラ画像のSIFT特徴点A、B、Cにより構成される三角形の頂点の位置関係と、視認対象画像のSIFT特徴点A´、B´、C´により構成される三角形の頂点の位置関係とが異なっていることになる。このようなことは、画像の歪み等によって生じる。そこで、このような場合、視線位置近傍特徴点抽出部105は、視野カメラ画像のSIFT特徴点Siのうち、作業者の視線位置とのユークリッド距離が次に近い特徴点Siを、選択した「2つの視野カメラ画像のSIFT特徴点A、B」以外から選択する(ここで選択した「視野カメラ画像のSIFT特徴点Si」をCとする。また、Cは、視野カメラ画像における座標を表すものとする)。そして、前述した処理を繰り返し行う。
また、(8)式を満たさない場合、視線位置近傍特徴点抽出部105は、「2つの視野カメラ画像のSIFT特徴点Si」の「視野カメラ画像における座標の点A、B」以外の点を全て選択したか否かを判定する。
この判定の結果、全ての点を選択したにもかかわらず、点Cを選択する条件である(8)式、(9)式、(10)式の条件を満たす点が無かった場合には、視線位置近傍特徴点抽出部105は、視野カメラ画像のこれまで選択したSIFT特徴点Siのうち、作業者の視線位置とのユークリッド距離が最も近い特徴点Siを、選択した「2つの視野カメラ画像のSIFT特徴点A、B」以外から選択し直す(ここで選択した「視野カメラ画像のSIFT特徴点Si」をCとする。また、Cは、視野カメラ画像における座標を表すものとする)。そして、視線位置近傍特徴点抽出部105は、視線位置近傍特徴点抽出部105は、選択した「視野カメラ画像のSIFT特徴点A、B、C」を視線位置近傍特徴点A、B、Cとする。
【0037】
一方、全ての点を選択していない場合、視線位置近傍特徴点抽出部105は、視野カメラ画像のSIFT特徴点Siのうち、作業者の視線位置とのユークリッド距離が次に近い特徴点Siを、選択した「2つの視野カメラ画像のSIFT特徴点A、B」以外から選択する(ここで選択した「視野カメラ画像のSIFT特徴点Si」をCとする。また、Cは、視野カメラ画像における座標を表すものとする)。そして、視線位置近傍特徴点抽出部105は、そして、視線位置近傍特徴点抽出部105は、選択した「視野カメラ画像のSIFT特徴点A、B、C」に基づいて、前述した(8)式の判定を再度行う。
この様にして、作業者の視線位置がドロネー三角形の内部にない場合の視線位置近傍特徴点が決定される。
【0038】
視線位置近傍特徴点抽出部105は、例えば、CPUが、RAM等から、対応点の情報を読み出して、前述したようにして、視野カメラ画像における作業者の視線位置の近傍の3つの「視野カメラ画像のSIFT特徴点Si」を視線位置近傍特徴点A、B、Cとし、視線位置近傍特徴点A、B、Cの情報をRAM等に記憶することによって実現できる。
【0039】
(視認対象画像上視線位置導出部106)
図5は、「視野カメラ画像における作業者の視線位置の点P」と画像上での位置が相互に対応する「視認対象画像における作業者の視線位置の点P´」の一例を示す図である。
図5の左図において、視線位置近傍特徴点抽出部105で得られた「視線位置近傍特徴点A、B、Cの点Aを原点とし、線分AB、ACを軸とする斜交座標系で表すと、視野カメラ画像における作業者の視線位置の点Pは、以下の(11)式のように表される。この(11)式を変形すると、パラメータs、tは、以下の(12)式のように表される。尚、(11)式及び(12)式において、A、B、C、Pは、それぞれ視野カメラ画像における座標を表す。
【0040】
【数7】
【0041】
視認対象画像上視線位置導出部106は、視線位置近傍特徴点抽出部105で得られた視線位置近傍特徴点A、B、Cに基づいて、(12)式により、パラメータs、tを導出する。そして、視認対象画像上視線位置導出部106は、「視線位置近傍特徴点A、B、C」と特徴量が相互に対応する「視認対象画像のSIFT特徴点A´、B´、C´」と、パラメータs、tを用いて、「視認対象画像における作業者の視線位置の点P´」を視認対象画像上視線位置として、以下の(13)式により導出する(図5の右図を参照)。
【0042】
【数8】
【0043】
本実施形態では、(12)式及び(13)式の計算を行うことによって、「視線位置近傍特徴点A、B、C」から定まる座標系から見た場合の「視野カメラ画像における作業者の視線位置の点Pの座標」と、「視線位置近傍特徴点A、B、C」と特徴量が相互に対応する「視認対象画像のSIFT特徴点A´、B´、C´」から定まる座標系から見た場合に、同一の座標となる位置を「視認対象画像における作業者の視線位置の点P´」として求めるようにしている。
【0044】
図6は、視認対象画像における作業者の視線位置の点P´の一例を概念的に示す図(写真)である。
図6の左図の点ua、ub、uc、peは、それぞれ、視線位置近傍特徴点A、B、C、視野カメラ画像における作業者の視線位置の点Pに対応する。一方、図6の右図の点Ua、Ub、Uc、Peは、それぞれ、視認対象画像の点A´、B´、C´、視認対象画像における作業者の視線位置の点P´に対応する。
【0045】
視認対象画像上視線位置導出部106は、視線位置近傍特徴点A、B、Cの情報と、視野カメラ画像における作業者の視線位置の点Pの情報と、視線位置近傍特徴点A、B、Cと特徴量が相互に対応する視認対象画像の点A´、B´、C´の情報と、をRAM等から読み出して、前述したようにして、視認対象画像における作業者の視線位置の点P´を導出し、視認対象画像における作業者の視線位置の点P´の情報をRAM等に記憶することによって実現できる。
【0046】
(視認対象画像上視線位置表示部107)
視認対象画像上視線位置表示部107は、視認対象画像上視線位置導出部106で導出された「視認対象画像における作業者の視線位置の点P´」の情報を、液晶ディスプレイ等の表示装置に表示する。例えば、視認対象画像上視線位置表示部107は、図2(b)に示す視認対象画像上に、図6の右図に示したような点Peを示すマーク(図6の右図では白色の×)を表示装置に表示することができる。
視認対象画像上視線位置表示部107は、例えば、CPUが、RAM等から、視認対象画像における作業者の視線位置の点P´の情報を読み出し、その情報を表示するための表示データを生成し、生成した表示データを表示装置に出力することによって実現することができる。
【0047】
(視線位置検出装置100の動作フローチャート)
次に、図7のフローチャートを参照しながら、視線位置検出装置100の動作の一例を説明する。
まず、ステップS701において、画像取得部101は、視認対象画像を取得する。
次に、ステップS702において、画像取得部101は、視野カメラ画像を取得する。
次に、ステップS703において、特徴点抽出部102は、ステップS701で取得された視認対象画像から、視認対象画像のSIFT特徴点を抽出する。
次に、ステップS704において、特徴点抽出部102は、ステップS702で取得された視野カメラ画像のフレームを、その取得順に1つ選択する。
【0048】
次に、ステップS705において、特徴点抽出部102は、ステップS702で取得された視野カメラ画像のフレームから、視野カメラ画像のSIFT特徴点を抽出する。
次に、ステップS706において、特徴点マッチング部103は、視認対象画像のSIFT特徴点Siと、当該視野カメラ画像のSIFT特徴点Siと特徴量が相互に対応する視認対象画像のSIFT特徴点Tj(i,0)とを対応点として求める特徴点マッチング処理を行う。特徴点マッチング処理の詳細については、図8を参照しながら後述する。
次に、ステップS707において、誤対応除去部104は、ステップS706で得られた対応点の対のうち、誤対応の対応点の対を除去する誤対応除去処理を行う。誤対応除去処理の詳細については、図9を参照しながら後述する。
【0049】
次に、ステップS708において、視線位置近傍特徴点抽出部105は、ステップS707で誤対応のものが除去された後の対応点を構成する「視野カメラ画像のSIFT特徴点Si」のうち、視野カメラ画像における作業者の視線位置の近傍の3つの「視野カメラ画像のSIFT特徴点Si」を視線位置近傍特徴点として抽出する視線位置近傍特徴点抽出処理を行う。視線位置近傍特徴点抽出処理の詳細については、図10を参照しながら後述する。
次に、ステップS709において、視認対象画像上視線位置導出部106は、視認対象画像における作業者の視線位置の点P´を導出する視認対象画像上視線位置導出処理を行う。視認対象画像上視線位置導出処理の詳細については、図11を参照しながら後述する。
【0050】
次に、ステップS710において、視認対象画像上視線位置表示部107は、ステップS709で導出された「視認対象画像における作業者の視線位置の点P´」の情報を(フレーム単位で)表示装置に表示させる。
次に、ステップS711において、特徴点抽出部102は、ステップS702で取得された視野カメラ画像の全てのフレームを取得したか否かを判定する。この判定の結果、視野カメラ画像の全てのフレームを取得していない場合には、ステップS704に戻る。一方、視野カメラ画像の全てのフレームを取得した場合には、図7のフローチャートによる処理を終了する。
【0051】
次に、図8のフローチャートを参照しながら、図7のステップS706の特徴点マッチング処理の詳細を説明する。
まず、ステップS801において、特徴点マッチング部103は、未選択の視野カメラ画像のSIFT特徴点Siを、ステップS705で抽出されたものの中から1つ選択する。
次に、ステップS802において、特徴点マッチング部103は、ステップS705で選択された視野カメラ画像のSIFT特徴点Siの特徴量と、ステップS703で抽出された視認対象画像のSIFT特徴点Tjの特徴量のそれぞれとの誤差として、これらのユークリッド距離d(i,j)を、(3)式を用いて導出する。
次に、ステップS803において、特徴点マッチング部103は、視野カメラ画像のSIFT特徴点Siとのユークリッド距離d(i,j)が最も小さな視認対象画像のSIFT特徴点Tj(i,0)を探索する。
次に、ステップS804において、特徴点マッチング部103は、視野カメラ画像のSIFT特徴点Siとのユークリッド距離d(i,j)が2番目に小さな視認対象画像のSIFT特徴点Tj(i,1)を探索する。
【0052】
次に、ステップS805において、特徴点マッチング部103は、視野カメラ画像のSIFT特徴点Siと、視認対象画像のSIFT特徴点Tj(i,0)とのユークリッド距離d(i,j(i,0))と、視野カメラ画像のSIFT特徴点Siと、視認対象画像のSIFT特徴点Tj(i,1)とのユークリッド距離d(i,j(i,1))との関係が、(4)式を満たすか否かを判定する。
この判定の結果、(4)式を満たさない場合には、視野カメラ画像のSIFT特徴点Siと、視認対象画像のSIFT特徴点Tj(i,0)とを対応点としないので、ステップS806を省略して後述するステップS807に進む。
【0053】
一方、(4)式を満たす場合には、ステップS806に進む。ステップS806に進むと、特徴点マッチング部103は、視野カメラ画像のSIFT特徴点Siと、視認対象画像のSIFT特徴点Tj(i,0)とを、特徴量が相互に対応する対応点として設定する。
次に、ステップS807において、特徴点マッチング部103は、ステップS705で抽出された視野カメラ画像のSIFT特徴点Siを全て選択したか否かを判定する。この判定の結果、視野カメラ画像のSIFT特徴点Siを全て選択していない場合には、ステップS801に戻る。
【0054】
一方、視野カメラ画像のSIFT特徴点Siを全て選択した場合には、ステップS808に進む。ステップS808に進むと、同一の「視野カメラ画像のSIFT特徴点Si」に対し、複数の対応点(複数の「視認対象画像のSIFT特徴点Tj(i,0)」)が設定されたか否かを判定する。この判定の結果、複数の対応点が設定された場合には、ステップS809に進む。
ステップS809に進むと、特徴点マッチング部103は、それらの対応点のうち、ユークリッド距離d(i,j)が最も近い対応点の対を選択し、それ以外の対応点を除去する。これにより、視野カメラ画像のSIFT特徴点Siと、当該視野カメラ画像のSIFT特徴点Siと特徴量が相互に対応する視認対象画像のSIFT特徴点Tj(i,0)とが1対1の関係になる。そして、図7のステップS707に進む。
一方、複数の対応点が設定されていない場合には、対応点を除去する必要はないので、ステップS809を省略して図7のステップS707に進む。
【0055】
次に、図9のフローチャートを参照しながら、図7のステップS707の誤対応除去処理の詳細を説明する。
まず、ステップS901において、誤対応除去部104は、図7のステップS706(図8のフローチャート)で得られた4つの対応点の対(視野カメラ画像のSIFT特徴点Siと、当該視野カメラ画像のSIFT特徴点Siと特徴量が相互に対応する視認対象画像のSIFT特徴点Tj(i,0))であって、未選択の対応点の対を選択する。
次に、ステップS902において、誤対応除去部104は、ステップS901で選択した4つの対応点の対の画像上の座標を用いて、(5)式及び(6)式で示される「射影変換のためのパラメータa1〜a8」を導出する。
【0056】
次に、ステップS903において、誤対応除去部104は、射影変換のためのパラメータa1〜a8の導出のために使用していない対応点の対(ステップS901で選択した対応点の対と異なる対応点の対)であって、未選択の対応点の対を選択する。
次に、ステップS904において、誤対応除去部104は、ステップS903で選択した対応点の対の一方である「視野カメラ画像のSIFT特徴点Si」の視野カメラ画像上の座標(x,y)とパラメータa1〜a8とを(5)式及び(6)式に代入して射影変換を行い、視認対象画像上の座標(x',y')を導出する。そして、誤対応除去部104は、導出した「視認対象画像上の座標(x',y')」と、ステップS903で選択した選択した対応点の他方である「視認対象画像のSIFT特徴点Tj(i,0)」の視認対象画像上の座標(x',y')との誤差である投影誤差を導出する。
【0057】
次に、ステップS905において、誤対応除去部104は、ステップS904で導出した投影誤差が、予め設定されている閾値以下であるか否かを判定する。この判定の結果、投影誤差が閾値以下でない場合には、ステップS904で導出された投影誤差によれば、ステップS902で導出された「射影変換のためのパラメータa1〜a8」が正しいものではないと推定されるので変数Cを変化させない。よって、ステップS906を省略して後述するステップS907に進む。
一方、投影誤差が閾値以下である場合には、ステップS906に進む。ステップS906に進むと、誤対応除去部104は、変数Cに1を加算する。
【0058】
次に、ステップS907において、誤対応除去部104は、射影変換のためのパラメータa1〜a8の導出のために使用していない対応点の対(ステップS901で選択した対応点の対と異なる対応点の対)を全て選択したか否かを判定する。この判定の結果、射影変換のためのパラメータa1〜a8の導出のために使用していない対応点の対を全て選択していない場合には、ステップS903に戻る。
一方、射影変換のためのパラメータa1〜a8の導出のために使用していない対応点の対を全て選択した場合には、ステップS908に進む。ステップS908に進むと、誤対応除去部104は、図7のステップS706(図8のフローチャート)で得られた4つの対応点の対の組み合わせを全て選択したか否かを判定する。この判定の結果、4つの対応点の対の組み合わせを全て選択していない場合には、ステップS901に戻る。一方、4つの対応点の対の組み合わせを全て選択した場合には、ステップS909に進む。ステップS909に進む場合には、4つの「対応点の対」の全ての組み合わせと同数の変数Cが得られている。
【0059】
そして、ステップS909に進むと、誤対応除去部104は、得られた変数Cの最大値Cmaxを選択し、最大値Cmaxを得るために導出したパラメータa1〜a8を最適射影変換パラメータとして設定する。
次に、ステップS910において、誤対応除去部104は、ステップS706(図8のフローチャート)で得られた対応点の対のうち未選択の対応点の対を1つ選択する。
次に、ステップS911において、誤対応除去部104は、ステップS910で選択した対応点の対の一方である「視野カメラ画像のSIFT特徴点Si」の視野カメラ画像上の座標(x,y)と最適射影変換パラメータa1〜a8とを(5)式及び(6)式に代入して射影変換を行い、視認対象画像上の座標(x',y')を導出する。そして、誤対応除去部104は、導出した「視認対象画像上の座標(x',y')」と、選択した対応点の他方である「視認対象画像のSIFT特徴点Tj(i,0)」の視認対象画像上の座標(x',y')との誤差である投影誤差を導出する。
【0060】
次に、誤対応除去部104は、ステップS911で導出した投影誤差が、予め設定されている閾値以下であるか否かを判定する。この判定の結果、投影誤差が閾値以下である場合には、ステップS910で選択した対応点は誤対応の対応点ではないので、ステップS913を省略して後述するステップS914に進む。
一方、投影誤差が閾値以下でない場合には、ステップS913に進む。ステップS913に進むと、誤対応除去部104は、ステップS910で選択した対応点の対を誤対応の対応点の対であるとして除去する。
次に、ステップS914において、誤対応除去部104は、ステップS706(図8のフローチャート)で得られた対応点の対を全て選択したか否かを判定する。この判定の結果、対応点の対を全て選択していない場合には、ステップS910に戻る。一方、対応点の対を全て選択した場合には、図7のステップS708に進む。
【0061】
次に、図10のフローチャートを参照しながら、図7のステップS708の視線位置近傍特徴点抽出処理の詳細を説明する。
まず、ステップS1001において、視線位置近傍特徴点抽出部105は、図7のステップS707(図9のフローチャート)で誤対応のものが除去された対応点として設定されている視野カメラ画像のSIFT特徴点Siを全て選択する。
次に、ステップS1002において、視線位置近傍特徴点抽出部105は、ステップS1001で選択した「視野カメラ画像のSIFT特徴点Si」の視野カメラ画像上の座標(x,y)を頂点とするドロネー三角形を作成する(図4(b)を参照)。
【0062】
次に、ステップS1003において、視線位置近傍特徴点抽出部105は、視野カメラ画像における作業者の視線位置を検出し、検出した作業者の視線位置がドロネー三角形の内部にあるか否かを判定する。この判定の結果、作業者の視線位置がドロネー三角形の内部にある場合には、ステップS1004に進む。
ステップS1004に進むと、視線位置近傍特徴点抽出部105は、当該ドロネー三角形の3つの頂点を構成する「視野カメラ画像のSIFT特徴点Si」を視線位置近傍特徴点A、B、Cとして設定する。そして、図7のステップS709に進む。
一方、作業者の視線位置がドロネー三角形の内部にない場合には、ステップS1005に進む。ステップS1005に進むと、視線位置近傍特徴点抽出部105は、作業者の視線位置にユークリッド距離が最も近いドロネー三角形の辺の両端点を構成する「視野カメラ画像のSIFT特徴点A、B」を選択する。
次に、ステップS1006において、視線位置近傍特徴点抽出部105は、視野カメラ画像の未選択のSIFT特徴点Siのうち、作業者の視線位置とのユークリッド距離が最も近い特徴点Cを、ステップS1005で選択した「2つの視野カメラ画像のSIFT特徴点A、B」以外から選択する。
次に、ステップS1007において、視線位置近傍特徴点抽出部105は、ステップS1005で選択した「視野カメラ画像のSIFT特徴点A、B」と、ステップS1006で選択した「視野カメラ画像のSIFT特徴点C」とに基づく角度(∠ACB)が(8)式を満たすか否かを判定する。
【0063】
この判定の結果、(8)式を満たさない場合には、後述するステップS1011に進む。一方、(8)式を満たす場合には、ステップS1008に進む。
ステップS1008に進むと、視線位置近傍特徴点抽出部105は、ステップS1005で選択した「視野カメラ画像のSIFT特徴点A、B」と、ステップS1006で選択した「視野カメラ画像のSIFT特徴点C」と特徴量が相互に対応する「視認対象画像のSIFT特徴点A´、B´、C´」を選択する。
次に、ステップS1009において、視線位置近傍特徴点抽出部105は、(9)式に示す2次元ベクトルの外積の符号と、(10)式に示す2次元ベクトルの外積の符号とが同じであるか否かを判定する。この判定の結果、これらの外積の符号が同じでない場合には、視野カメラ画像のSIFT特徴点A、B、Cにより構成される三角形の頂点の位置関係と、視認対象画像のSIFT特徴点A´、B´、C´により構成される三角形の頂点の位置関係とが異なっていることになる。よって、視野カメラ画像のSIFT特徴点A、B、Cを視線位置近傍特徴点とすることはできない。そこで、ステップS1006に戻る。
【0064】
一方、これらの外積の符号が同じである場合には、ステップS1010に進む。ステップS1010に進むと、視線位置近傍特徴点抽出部105は、ステップS1005で選択した「視野カメラ画像のSIFT特徴点A、B」と、ステップS1006で選択した最新の「視野カメラ画像のSIFT特徴点C」とを視線位置近傍特徴点A、B、Cとして設定する。そして、図7のステップS709に進む。
前述したように、ステップS1007において、(8)式を満たさない場合には、ステップS1011に進む。ステップS1011に進むと、視線位置近傍特徴点抽出部105は、ステップS1005で選択した「2つの視野カメラ画像のSIFT特徴点A、B」以外の点を視野カメラ画像のSIFT特徴点Cとして全て選択したか否かを判定する。この判定の結果、2つの視野カメラ画像のSIFT特徴点A、B以外の点を全て選択していない場合には、ステップS1006に戻る。
【0065】
一方、2つの視野カメラ画像のSIFT特徴点A、B以外の点を全て選択した場合には、ステップS1012に進む。ステップS1012に進むと、視線位置近傍特徴点抽出部105は、視線位置近傍特徴点抽出部105は、視野カメラ画像のSIFT特徴点Siのうち、作業者の視線位置とのユークリッド距離が最も近い特徴点Cを、ステップS1005で選択した「2つの視野カメラ画像のSIFT特徴点A、B」以外から選択し直す。そして、ステップS1010に進む。ステップS1012からステップS1010に進んだ場合、視線位置近傍特徴点抽出部105は、ステップS1005で選択した「視野カメラ画像のSIFT特徴点A、B」と、ステップS1012で選択した「視野カメラ画像のSIFT特徴点C」とを視線位置近傍特徴点A、B、Cとして設定する。そして、図7のステップS709に進む。
【0066】
次に、図11のフローチャートを参照しながら、図7のステップS708の視線位置近傍特徴点抽出処理の詳細を説明する。
まず、図11のステップS1101において、視認対象画像上視線位置導出部106は、図7のステップS708(図10のフローチャート)で得られた視線位置近傍特徴点A、B、Cに基づいて、(12)式により、パラメータs、tを導出する。(11)式及び(12)式に示すように、このパラメータs、tは、視線位置近傍特徴点Aを原点とし、且つ、視線位置近傍特徴点A、Bを両端とする辺ABと、視線位置近傍特徴点A、Cを両端とする辺ACとを軸とした斜交座標系における視線位置の点P(視野カメラ画像における座標)を表すためのパラメータである。
【0067】
次に、ステップS1102において、視認対象画像上視線位置導出部106は、「視線位置近傍特徴点A、B、C」と特徴量が相互に対応する「視認対象画像のSIFT特徴点A´、B´、C´」と、ステップS1101で導出されたパラメータs、tとを用いて、「視認対象画像における作業者の視線位置の点P´」を視認対象画像上視線位置として、(13)式により導出する(図5の右図を参照)。そして、図7のステップS710に進む。
【0068】
(まとめ)
以上のように本実施形態では、まず、視線位置検出対象である三次元空間を、デジタルカメラなどで撮影した視認対象画像(二次元平面)に変換して、実際の視線位置検出処理を、その二次元平面に限定する。そして、移動型視線計測カメラの画像である視野カメラ画像のSIFT特徴点Siと、視認対象画像のSIFT特徴点Tjとを抽出し、抽出したSIFT特徴点Si、Tjの対応点を導出する。次に、対応点である「視野カメラ画像のSIFT特徴点Si」の視野カメラ画像上の座標(x,y)を頂点とするドロネー三角形を形成する。次に、形成したドロネー三角形の頂点の中から、作業者の視線位置の近傍の三点を視線位置近傍特徴点A、B、Cとして選択する。次に、選択した「視線位置近傍特徴点A、B、C」から見た場合の「視野カメラ画像における作業者の視線位置の点P」の位置関係と同じになるように、「視線位置近傍特徴点A、B、C」と特徴量が相互に対応する「視認対象画像のSIFT特徴点A´、B´、C´」の画像上の座標から、「視認対象画像における作業者の視線位置の点P´」を求める。したがって、二次元の視野カメラ画像と、二次元の視認対象画像との特徴点を相互に対応付けることができ、しかも、視野カメラ画像における作業者の視線位置の点Pを囲む視線位置近傍特徴点A、B、Cが極端につぶれてしまう(三角形の内角の一つが極端に小さくなる)ことを防止することができる。よって、現実の3次元空間で何を見ているかを、三次元座標を必要とせず、また三次元の射影変換を行わずに、視認対象画像における作業者の視線位置の点P´を簡単な計算処理で精度良く求めることができる。よって、射影変換のパラメータの誤差の影響を受けることなく、視認対象画像における作業者の視線位置の点P´を求めることができる。また、射影変換のパラメータの誤差を少なくするための「画像の歪みを除去する前処理」を行わなくても、視認対象画像における作業者の視線位置の点P´を正確に求めることができる。以上のように、本実施形態では、作業者が見ている視野カメラ画像と、作業者の視認対象となる領域として予め得られている視認対象画像との対応をとることによって、作業者が何を見ているのかを容易に且つ確実に自動で検出することができる。
また、本実施形態では、誤対応の対応点を除去した上で、視線位置近傍特徴点A、B、Cを抽出するようにしたので、視認対象画像における作業者の視線位置の点P´をより一層正確に求めることができる。
【0069】
(変形例)
本実施形態では、一般の画像に適用できることに加え、高い頑健性を有しているという特徴があるので、視野カメラ画像と視認対象画像の特徴点の抽出のために、SIFTを用いるようにした。しかしながら、特徴点を抽出することができれば、その手法は、SIFTに限定されない。
また、本実施形態では、誤対応除去部104による「対応点の対の選択、パラメータa1〜a8の導出、投影誤差の導出、投影誤差と閾値との比較、及び変数Cの加算」(ステップS901〜S908)を、4つの「対応点の対」の全ての組み合わせについて行うようにした。しかしながら、必ずしもこのようにする必要はない。例えば、これらの処理を、4つの「対応点の対」の全ての組み合わせについて行った結果、これらの処理を行う回数が、4つの「対応点の対」の全ての組み合わせの数よりも少ない回数であっても、4つの「対応点の対」の全ての組み合わせについてこれらの処理を行ったのと同様の最適射影変換パラメータが得られることが確認された場合には、当該回数だけ、これらの処理を行うようにしてもよい。
【0070】
また、本実施形態では、視線位置近傍特徴点抽出部105は、視野カメラ画像のSIFT特徴点Siの視野カメラ画像上の座標(x,y)を頂点とする三角形を、ドロネーの三角分割法(Delaunay Triangulation)を用いて作成し、作業者の視線位置がドロネー三角形の内部にある場合、当該ドロネー三角形の3つの頂点を構成する「視野カメラ画像のSIFT特徴点Si」を視線位置近傍特徴点A、B、Cとして設定した。しかしながら、必ずしもこのようにする必要はない。例えば、次のようにしてもよい。まず、対応点として設定されている視野カメラ画像のSIFT特徴点Siを全て選択する。次に、視野カメラ画像のSIFT特徴点Siの中で、ユーザの視線位置からの距離が近い順にSIFT特徴点Siを選択して、当該視線位置を内部に包含する三角形を構成する3つの特徴点を、視線位置近傍特徴点として抽出する。ここで、ユーザの視線位置からの距離が近い順に選択された3つの特徴点では、視線位置を内部に包含する三角形が構成されない場合には、次に距離が近い特徴点を抽出して、視線位置を内部に包含する三角形を構成出来た3つの特徴点を、視線位置近傍特徴点として抽出する。
【0071】
また、本実施形態では、誤対応除去部104において、視野カメラ画像から視認対象画像への射影変換を行うようにした(ステップS902)。しかしながら、視認対象画像から視野カメラ画像への射影変換を行うようにしてもよい。
また、作業者の視野範囲を撮像することができ、撮像した画像における作業者の視線位置を検出することができれば、撮像装置は、頭部装着型の視野カメラでなくてもよい。
【0072】
(請求項との対応)
本実施形態では、例えば、画像取得部101を用いることにより、視認対象画像取得手段及び視野画像取得手段が実現される。また、本実施形態では、例えば、特徴点抽出部102を用いることにより、視認対象画像特徴点抽出手段及び視野画像特徴点抽出手段が実現される。
また、本実施形態では、例えば、特徴点マッチング部103を用いることにより、対応点抽出手段が実現される。具体的に、例えば、特徴点マッチング部103がステップS802の処理を行うことにより導出手段が実現される。また、例えば、特徴点マッチング部103がステップS803、S804の処理を行うことにより探索手段が実現される。また、例えば、特徴点マッチング部103がステップS805、S806の処理を行うことにより抽出手段が実現される。ここで、(4)式の関係を満たす場合が、誤差が最も小さくなる視認対象画像の特徴点の誤差と、前記誤差が二番目に小さくなる視認対象画像の特徴点の誤差との差が閾値よりも大きい場合の一例である。
また、本実施形態では、例えば、視線位置近傍特徴点抽出部105を用いることにより、視線位置近傍特徴点抽出手段が実現される。また、本実施形態では、例えば、視認対象画像上視線位置導出部106を用いることにより、視認対象画像上視線位置導出手段が実現される。
また、本実施形態では、例えば、誤対応除去部104を用いることにより、対応点除去手段が実現される。ここで、例えば、誤対応除去部104がステップS901、S902の処理を行うことにより、前記視野画像の点と前記視認対象画像の点とを射影変換するためのパラメータを導出することが実現される。また、例えば、誤対応除去部104がステップS910〜S912、S914の処理を行うことにより、導出したパラメータを用いて前記対応点の一方を射影変換して得られた画像上の位置と、当該対応点の他方の画像上の位置とを、前記対応点抽出手段により抽出された対応点のそれぞれについて比較することが実現される。
【0073】
尚、以上説明した本発明の実施形態は、コンピュータがプログラムを実行することによって実現することができる。また、プログラムをコンピュータに供給するための手段、例えばかかるプログラムを記録したCD−ROM等のコンピュータ読み取り可能な記録媒体、又はかかるプログラムを伝送する伝送媒体も本発明の実施の形態として適用することができる。また、前記プログラムを記録したコンピュータ読み取り可能な記録媒体などのプログラムプロダクトも本発明の実施の形態として適用することができる。前記のプログラム、コンピュータ読み取り可能な記録媒体、伝送媒体及びプログラムプロダクトは、本発明の範疇に含まれる。
また、以上説明した本発明の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0074】
100 視線位置検出装置
101 画像取得部
102 特徴点抽出部
103 特徴点マッチング部
104 誤対応除去部
105 視線位置近傍特徴点抽出部
106 視認対象画像上視線位置導出部
107 視認対象画像上視線位置表示部
【技術分野】
【0001】
本発明は、視線位置検出装置、視線位置検出方法、及びコンピュータプログラムに関し、特に、ユーザの視線位置(実注視点)を検出するために用いて好適なものである。
【背景技術】
【0002】
近年、鉄鋼業等の製造業において、生産効率の向上、安全性の確保、環境負荷の低減等に対して情報処理技術を活用することが進められている。その一つとして、熟練者が自身の経験や勘を頼りにとっている行動であって、ワークフロー等に記述されていない行動を、視線計測データを分析することによって顕在化させることが挙げられる。このような経験や勘に基づいて熟練者がとっている行動に関する知識(この「知識」を「暗黙知」と称する)を明示することができれば、熟練者が直接的に教育をしなくても、その暗黙知の情報を非熟練者に伝承することができる。
【0003】
このような背景の下、視線計測データを分析する技術として非特許文献1に記載の技術がある。非特許文献1では、視野カメラの位置を視野カメラ画像から求めるようにしている。この非特許文献1では、計測対象の3次元座標が分かれば、原理的には、ユーザが見ていたものを識別することができる。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】小橋優司他,"頭部装着型視線計測装置のための自然特徴点を用いた三次元注視点推定",電子情報通信学会技術研究報告−ヒューマン情報処理,Vol109,No.261, p.5-10,2009
【非特許文献2】D.G.Lowe,"Object recognition from local scale-invariant features",International Conference on Computer Vision,Corfu,Greece(September 1999),p.1150-1157
【非特許文献3】杉原厚吉著,"なわばりの数理モデル -ボロノイ図からの数理工学入門-",共立出版(2009)
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、非特許文献1に記載の技術では、計測の精度を高くすることが困難であると共に、計測対象の3次元座標が既知であるという制約がある。このため、非特許文献1に記載の技術は、実用には適さない。このため、現状では、ユーザの目視での確認によってユーザが何を見ていたのかを同定するようにしている。
本発明は、このような問題点に鑑みてなされたものであり、ユーザの視野画像に基づいて、ユーザが何を見ているのかを容易に且つ確実に自動で検出できるようにすることを目的とする。
【課題を解決するための手段】
【0006】
本発明の視線位置検出装置は、ユーザが視認する対象となる領域の二次元画像である視認対象画像を取得する視認対象画像取得手段と、ユーザが装着している撮像手段で撮像された二次元画像である視野画像を取得する視野画像取得手段と、前記視認対象画像取得手段で取得された視認対象画像と、前記視野画像取得手段により取得された視野画像とを対応付ける為の、該視認対象画像中の点である特徴点を抽出する視認対象画像特徴点抽出手段と、前記視認対象画像取得手段で取得された視認対象画像と、前記視野画像取得手段により取得された視野画像とを対応付ける為の、該視野画像中の点である特徴点を抽出する視野画像特徴点抽出手段と、前記視野画像特徴点抽出手段により抽出された視野画像の特徴点と、当該視野画像の特徴点に対し特徴量が相互に対応する、前記視認対象画像特徴点抽出手段により抽出された視認対象画像の特徴点とを、対応点として抽出する対応点抽出手段と、前記対応点抽出手段により対応点として抽出された視野画像の特徴点から、前記視野画像取得手段により取得された視野画像におけるユーザの視線位置を内部に包含する三角形を構成する3つの特徴点を、視線位置近傍特徴点として抽出する視線位置近傍特徴点抽出手段と、前記視野画像におけるユーザの視線位置に対し画像上での位置が相互に対応する、前記視認対象画像における位置を、当該視認対象画像におけるユーザの視線位置として導出する視認対象画像上視線位置導出手段と、を有し、前記視認対象画像上視線位置導出手段は、前記3つの視線位置近傍特徴点から定まる座標系から見た場合の、前記視野画像におけるユーザの視線位置の座標と、当該3つの視線位置近傍特徴点に対応する3つの視認対象画像の特徴点から定まる座標系から見た場合に同一の座標となる位置を、前記視認対象画像におけるユーザの視線位置として導出することを特徴とする。
【0007】
本発明の視線位置検出方法は、ユーザが視認する対象となる領域の二次元画像である視認対象画像を取得する視認対象画像取得工程と、ユーザが装着している撮像手段で撮像された二次元画像である視野画像を取得する視野画像取得工程と、前記視認対象画像取得工程で取得された視認対象画像と、前記視野画像取得手段により取得された視野画像とを対応付ける為の、該視認対象画像中の点である特徴点を抽出する視認対象画像特徴点抽出工程と、前記視認対象画像取得手段で取得された視認対象画像と、前記視野画像取得工程により取得された視野画像とを対応付ける為の、該視野画像中の点である特徴点を抽出する視野画像特徴点抽出工程と、前記視野画像特徴点抽出工程により抽出された視野画像の特徴点と、当該視野画像の特徴点に対し特徴量が相互に対応する、前記視認対象画像特徴点抽出工程により抽出された視認対象画像の特徴点とを、対応点として抽出する対応点抽出工程と、前記対応点抽出工程により対応点として抽出された視野画像の特徴点から、前記視野画像取得工程により取得された視野画像におけるユーザの視線位置を内部に包含する三角形を構成する3つの特徴点を、視線位置近傍特徴点として抽出する視線位置近傍特徴点抽出工程と、前記視野画像におけるユーザの視線位置に対し画像上での位置が相互に対応する、前記視認対象画像における位置を、当該視認対象画像におけるユーザの視線位置として導出する視認対象画像上視線位置導出工程と、を有し、前記視認対象画像上視線位置導出工程は、前記3つの視線位置近傍特徴点から定まる座標系から見た場合の、前記視野画像におけるユーザの視線位置の座標と、当該3つの視線位置近傍特徴点に対応する3つの視認対象画像の特徴点から定まる座標系から見た場合に同一の座標となる位置を、前記視認対象画像におけるユーザの視線位置として導出することを特徴とする。
【0008】
本発明のコンピュータプログラムは、前記視線位置検出方法の各工程をコンピュータに実行させることを特徴とする。
【発明の効果】
【0009】
本発明によれば、視野画像の特徴点と、視認対象画像の特徴点との対応点を抽出し、対応点として抽出された視野画像の特徴点のうち、視野画像におけるユーザの視線位置を内部に包含する三角形の頂点を構成する3点を選択する。そして、その3点(3つの視野画像の特徴点)を視線位置近傍特徴点として抽出する。そして、3つの視線位置近傍特徴点から定まる座標系から見た場合の、視野画像におけるユーザの視線位置の座標と、当該3つの視線位置近傍特徴点に対応する3つの視認対象画像の特徴点から定まる座標系から見た場合に同一の座標となる位置を、視認対象画像におけるユーザの視線位置として導出する。したがって、ユーザの視野画像に基づいて、ユーザが何を見ているのかを容易に且つ確実に自動で検出することができる。
【図面の簡単な説明】
【0010】
【図1】本発明の実施形態を示し、視線位置検出装置の機能的な構成の一例を示す図である。
【図2】本発明の実施形態を示し、視野カメラ画像のSIFT特徴点と、視認対象画像のSIFT特徴点の一例を概念的に示す図(写真)である。
【図3】本発明の実施形態を示し、誤対応の対応点の対を除去した後の、対応点の対の一例を概念的に示す図(写真)である。
【図4】本発明の実施形態を示し、ボロノイ図の一例とドロネー三角形分割により得られたドロネー三角形の一例を示す図である。
【図5】本発明の実施形態を示し、視野カメラ画像における作業者の視線位置の点に対応する、視認対象画像における作業者の視線位置の点の一例を示す図である。
【図6】本発明の実施形態を示し、視認対象画像における作業者の視線位置の点の一例を概念的に示す図(写真)である。
【図7】本発明の実施形態を示し、視線位置検出装置の動作の一例を説明するフローチャートである。
【図8】本発明の実施形態を示し、図7のステップS706の詳細を説明するフローチャートである。
【図9】本発明の実施形態を示し、図7のステップS707の詳細を説明するフローチャートである。
【図10】本発明の実施形態を示し、図7のステップS708の詳細を説明するフローチャートである。
【図11】本発明の実施形態を示し、図7のステップS709の詳細を説明するフローチャートである。
【発明を実施するための形態】
【0011】
以下、図面を参照しながら、本発明の一実施形態を説明する。
図1は、視線位置検出装置の機能的な構成の一例を示す図である。本実施形態では、作業者(ユーザ)が視認する対象となる領域の二次元画像を予めデジタルカメラで得ておく(以下の説明では、「作業者が視認する対象となる領域の二次元画像」を必要に応じて「視認対象画像」と称する)。また、頭部装着型の視野カメラを作業者の頭部に装着させ、作業者の視野範囲を撮像した二次元画像を当該頭部装着型の視野カメラで得る(以下の説明では、「作業者の視野範囲を撮像した二次元画像」を必要に応じて「視野カメラ画像」と称する)。視線位置検出装置100は、これら視認対象画像と視野画像とを入力し、「視野画像における視線位置(視野画像における作業者の注視点)」と画像上での位置が相互に対応する「視認対象画像上の位置」を視認対象画像上視線位置として検出する機能を有する。
以下、視線位置検出装置100が有する機能の詳細を説明する。視線位置検出装置100のハードウェアは、例えば、CPU、ROM、RAM、HDD、及び各種のインターフェースを備えた情報処理装置を用いることにより実現することができる。
【0012】
(画像取得部101)
画像取得部101は、作業者がその頭部に装着した頭部装着型の視野カメラで撮像された視野カメラ画像(動画像)を取り込む。尚、頭部装着型の視野カメラは、作業者の視野範囲を撮像するものであり、公知の技術で実現できるものであるので、ここでは、その詳細を省略する。また、以下の説明では、「頭部装着型の視野カメラ」を必要に応じて「視野カメラ」と略称する。
また、画像取得部101は、デジタルカメラで撮像された視認対象画像を取り込む。
画像取得部101は、例えば、画像インターフェースが視野カメラで得られた視野カメラ画像の信号や、デジタルカメラで得られた視認対象画像の信号を受信し、CPUが、その画像信号をVRAM等に記憶することにより実現できる。
【0013】
(特徴点抽出部102)
特徴点抽出部102は、画像取得部101で取得された「視野カメラ画像と視認対象画像」の特徴点(特徴量ベクトル)を抽出する。ここで、特徴点抽出部102は、視野カメラ画像の各フレームの特徴点を抽出する。本実施形態では、画像の特徴点の抽出に、Scale-Invariant Feature Transform(SIFT)を用いるようにしている。SIFTは、画像の中から注目する画素を特徴点として決定し、特徴点の周辺の領域における輝度の分布から特徴量を算出する手法であり、回転やスケール変化等に頑健な特徴量を記述可能なことから、同一画像をデータベース中から検索する画像検索などの用途で主に用いられる。尚、SIFTのアルゴリズムは、非特許文献2等に記載されているように公知の技術で実現できるので、ここでは、その詳細な説明を省略する。
図2は、視野カメラ画像のSIFT特徴点(図2(a))と、視認対象画像のSIFT特徴点(図2(b))の一例を概念的に示す図(写真)である。図2では、作業者が、高炉の操業状態を表示するモニターを見ている場合を例に挙げて示している。図2では、SIFT特徴点を白丸で示している。
視野カメラ画像のSIFT特徴点Siは、以下の(1)式で表され、視認対象画像のSIFT特徴点Tjは、以下の(2)式で表される。すなわち、SIFT特徴点Si、Tjはともに、128次元の要素を持つベクトルである。
【0014】
【数1】
【0015】
(1)式において、iは、1,2,・・・N(Nは、視野カメラ画像のSIFT特徴点の数)である。また、(2)式において、jは、1,2,・・・M(Mは、視認対象画像のSIFT特徴点の数)である。
特徴点抽出部102は、例えば、CPUが、VRAM等から、視野カメラ画像と視認対象画像のデータを読み出し、それらのSIFT特徴点を、SIFTのアルゴリズムにより抽出し、抽出したSIFT特徴点の情報をRAM等に記憶することにより実現できる。
【0016】
(特徴点マッチング部103)
特徴点マッチング部103は、視野カメラ画像のSIFT特徴点Siの特徴量と、視認対象画像のSIFT特徴点Tjの特徴量との誤差を、以下の(3)式のように、これらのユークリッド距離d(i,j)として導出する。
【0017】
【数2】
【0018】
次に、特徴点マッチング部103は、視野カメラ画像のSIFT特徴点Siとのユークリッド距離d(i,j)が最も近い視認対象画像のSIFT特徴点Tj(i,0)を探索する。また、特徴点マッチング部103は、視野カメラ画像のSIFT特徴点Siとのユークリッド距離d(i,j)が二番目に近い視認対象画像のSIFT特徴点Tj(i,1)を探索する。
次に、特徴点マッチング部103は、視野カメラ画像のSIFT特徴点Siと、視認対象画像のSIFT特徴点Tj(i,0)とのユークリッド距離d(i,j(i,0))と、視野カメラ画像のSIFT特徴点Siと、視認対象画像のSIFT特徴点Tj(i,1)とのユークリッド距離d(i,j(i,1))とを比較し、以下の(4)式を満たすか否かを判定する。
【0019】
【数3】
【0020】
この判定の結果、(4)式を満たす場合、特徴点マッチング部103は、視野カメラ画像のSIFT特徴点Siと、視認対象画像のSIFT特徴点Tj(i,0)とを、特徴量が相互に対応する対応点として設定する。一方、(4)式を満たさない場合、視野カメラ画像のSIFT特徴点Siと、視認対象画像のSIFT特徴点Tj(i,0)とは、特徴量が相互に対応する対応点として設定されない。このように、本実施形態では、ユークリッド距離d(i,j(i,0))、d(i,j(i,1))の差が所定値よりも大きくなるものについてのみ、視野カメラ画像のSIFT特徴点Siと、視認対象画像のSIFT特徴点Tj(i,0)とを対応点として設定するようにしている。尚、(4)式における「0.5」は一例であり、「0.5」以外の値であってもよい。
【0021】
特徴点マッチング部103は、以上のユークリッド距離d(i,j)の導出、SIFT特徴点Tj(i,0)、Tj(i,1)の探索、(4)式の判定、及び対応点の設定を、視野カメラ画像のSIFT特徴点Siの全てについて行う。
その後、特徴点マッチング部103は、同一の「視野カメラ画像のSIFT特徴点Si」に対し、複数の対応点(複数の「視認対象画像のSIFT特徴点Tj(i,0)」)が設定されたか否かを判定する。この判定の結果、複数の対応点が設定された場合、特徴点マッチング部103は、それらの対応点の対のうち、ユークリッド距離d(i,j)が最も近い対応点の対を選択し、それ以外の対応点の対を除去する。
【0022】
特徴点マッチング部103は、例えば、CPUが、RAM等から、視野カメラ画像のSIFT特徴点Siの情報と、視認対象画像のSIFT特徴点Tjの情報とを読み出して、前述したようにして、視野カメラ画像のSIFT特徴点Siと、当該視野カメラ画像のSIFT特徴点Siと特徴量が相互に対応する視認対象画像のSIFT特徴点Tj(i,0)とを対応点として求め、求めた対応点の情報をRAM等に記憶することにより実現できる。
【0023】
(誤対応除去部104)
誤対応除去部104は、特徴点マッチング部103により得られた対応点の対(視野カメラ画像のSIFT特徴点Siと、当該視野カメラ画像のSIFT特徴点Siと特徴量が相互に対応する視認対象画像のSIFT特徴点Tj(i,0))をランダムに4つ選択する。
次に、誤対応除去部104は、選択した4つの対応点の対の画像上の座標を用いて、以下の(5)式及び(6)式で示される「射影変換のためのパラメータa1〜a8」を導出する。
【0024】
【数4】
【0025】
(5)式及び(6)式において、(x',y')は、視野対象画像上の座標であり、(x,y)は、視野カメラ画像上の座標である。
次に、誤対応除去部104は、射影変換のためのパラメータa1〜a8の導出のために使用していない対応点の対を選択する。そして、誤対応除去部104は、選択した対応点の対の一方である「視野カメラ画像のSIFT特徴点Si」の視野カメラ画像上の座標(x,y)とパラメータa1〜a8とを(5)式及び(6)式に代入して射影変換を行い、視認対象画像上の座標(x',y')を導出する。そして、誤対応除去部104は、導出した「視認対象画像上の座標(x',y')」と、選択した対応点の他方である「視認対象画像のSIFT特徴点Tj(i,0)」の視認対象画像上の座標(x',y')との誤差である投影誤差を導出する。そして、誤対応除去部104は、求めた投影誤差が閾値以下である場合、変数Cに1を加算する。一方、求めた投影誤差が閾値を超える場合には、変数Cは変化しない。
誤対応除去部104は、射影変換のためのパラメータa1〜a8の導出のために使用していない対応点の対の全てについて、投影誤差の導出と、投影誤差と閾値との比較と、変数Cの加算とを行う。
【0026】
誤対応除去部104は、以上の処理(対応点の対の選択、パラメータa1〜a8の導出、投影誤差の導出、投影誤差と閾値との比較、及び変数Cの加算)を、4つの「対応点の対」の全ての組み合わせについて行う。これにより、4つの「対応点の対」の全ての組み合わせと同数の変数Cが得られる。
次に、誤対応除去部104は、得られた変数Cの最大値Cmaxを選択し、最大値Cmaxを得るために導出したパラメータa1〜a8を最適射影変換パラメータとして設定する。
【0027】
次に、誤対応除去部104は、特徴点マッチング部103により得られた対応点の対を1つ選択する。
次に、誤対応除去部104は、選択した対応点の対の一方である「視野カメラ画像のSIFT特徴点Si」の視野カメラ画像上の座標(x,y)と最適射影変換パラメータa1〜a8とを(5)式及び(6)式に代入して射影変換を行い、視認対象画像上の座標(x',y')を導出する。そして、誤対応除去部104は、導出した「視認対象画像上の座標(x',y')」と、選択した対応点の他方である「視認対象画像のSIFT特徴点Tj(i,0)」の視認対象画像上の座標(x',y')との誤差である投影誤差を導出する。そして、誤対応除去部104は、求めた投影誤差が閾値を超える場合、選択した対応点の対を誤対応の対応点の対であるとして除去する。
誤対応除去部104は、以上の対応点の対の選択と、投影誤差の導出と、投影誤差と閾値との比較と、対応点の対の除去とを、特徴点マッチング部103により得られた対応点の対の全てについて行う。
図3は、誤対応の対応点の対を除去した後の、対応点の対(視野カメラ画像のSIFT特徴点Siと、当該視野カメラ画像のSIFT特徴点Siと特徴量が相互に対応する視認対象画像のSIFT特徴点Tj(i,0))の一例を概念的に示す図(写真)である。図3では、視野カメラ画像301のSIFT特徴点Siと、視認対象画像302のSIFT特徴点Tj(i,0)との対応点の対が96個得られた場合を例に挙げて示している。尚、図3では、白い直線の両端が対応点となるが、この直線は、説明の便宜のために示したものであり、実際の画像に表示されるものではない。
【0028】
誤対応除去部104は、例えば、RAM等から、対応点の情報を読み出して、前述したようにして、読み出した対応点が誤対応の対応点であると判定した場合には、当該対応点の情報をRAM等から消去することにより実現できる。
【0029】
(視線位置近傍特徴点抽出部105)
視線位置近傍特徴点抽出部105は、対応点として設定されている視野カメラ画像のSIFT特徴点Siを全て選択する。
次に、視線位置近傍特徴点抽出部105は、視野カメラ画像のSIFT特徴点Siの視野カメラ画像上の座標(x,y)を頂点とする三角形を、ドロネーの三角分割法(Delaunay Triangulation)を用いて作成する(この三角形をドロネー三角形と称する)。
そのために、視線位置近傍特徴点抽出部105は、ボロノイ図(Voronoi Diagram)を作成する。ボロノイ図とは、以下の(7)式を満たすボロノイ領域(Voronoi Region)V(pi)で空間を分割したものをいう。
【0030】
【数5】
【0031】
ここでは、m個の点(ボロノイジェネレータ(Voronoi Generator))からなる点集合P=[p1,p2,・・・,pm]が与えられているものとする。また、(7)式において、Rnは、n次元の実数空間を示す。また、D(p,pi)、D(p,pj)は、ある点pと点(ボロノイジェネレータ)pi,pjとのユークリッド距離を表す。すなわち、(7)式は、ボロノイ領域V(pi)内の任意の点pから最もユークリッド距離が近い点(ボロノイジェネレータ)は、点(ボロノイジェネレータ)piとなることを表しており、このような点の集合をボロノイ領域としている。
このようなボロノイ図において、隣接する点(ボロノイジェネレータ)同士を相互に繋いだ図をドロネー三角形分割という。このようにドロネー三角形分割を行うと、三角形の最小の内角が最大になる(三角形をなるべく細長くしない)ようにドロネー三角形が作成される。また、ドロネー三角形分割では、作成された任意のドロネー三角形に外接する円の内部には、他のドロネー三角形の頂点が含まれないという性質(外接円特性)がある。尚、ドロネー三角形分割のアルゴリズムは、非特許文献3等に記載されているように公知の技術で実現できるので、ここでは、これ以上の詳細な説明を省略する。
【0032】
図4は、ボロノイ図の一例(図4(a))とドロネー三角形分割により得られたドロネー三角形の一例(図4(b))を示す図である。
図4において、視野カメラ画像のSIFT特徴点Siの視野カメラ画像上の座標(x,y)の点が、ボロノイジェネレータp1〜p8となる。
以上のようにしてドロネー三角形が得られると、視線位置近傍特徴点抽出部105は、視野カメラ画像における作業者の視線位置を検出し、検出した作業者の視線位置がドロネー三角形の内部にあるか否かを判定する。この判定の結果、作業者の視線位置がドロネー三角形の内部にある場合、視線位置近傍特徴点抽出部105は、当該ドロネー三角形の3つの頂点を構成する「視野カメラ画像のSIFT特徴点Si」を視線位置近傍特徴点A、B、Cとして設定する(A、B、Cは、視野カメラ画像における座標を表すものとする)。
【0033】
一方、作業者の視線位置がドロネー三角形の内部にない場合、視線位置近傍特徴点抽出部105は、作業者の視線位置にユークリッド距離が最も近いドロネー三角形の辺の両端点を構成する「視野カメラ画像のSIFT特徴点Si」を選択する(これら2つの視野カメラ画像のSIFT特徴点SiをA、Bとする。また、これらA、Bは、視野カメラ画像における座標を表すものとする)。
次に、視線位置近傍特徴点抽出部105は、視野カメラ画像のSIFT特徴点Siのうち、作業者の視線位置とのユークリッド距離が最も近い特徴点Siを、選択した「2つの視野カメラ画像のSIFT特徴点A、B」以外から選択する(ここで選択した「視野カメラ画像のSIFT特徴点Si」をCとする。また、Cは、視野カメラ画像における座標を表すものとする)。
次に、視線位置近傍特徴点抽出部105は、選択した「視野カメラ画像のSIFT特徴点A、B、C」に基づく角度(∠ACB)が以下の(8)式を満たすか否かを判定する。
30°<∠ACB<150° ・・・(8)
(8)式は、視野カメラ画像のSIFT特徴点Siの「視野カメラ画像における座標の点A、B、C」を頂点とする三角形をなるべく細長くしないようにするためのものである。よって、∠ACBの下限、上限は、それぞれ、30°、150°に限定されず、この主旨を逸脱しない範囲で、∠ACBの下限と上限とを定めることができる。
【0034】
この判定の結果、(8)式を満たす場合、視線位置近傍特徴点抽出部105は、選択した「視野カメラ画像のSIFT特徴点A、B、C」と特徴量が相互に対応する「視認対象画像のSIFT特徴点Tj(i,0)」を選択する(ここで選択した「視認対象画像のSIFT特徴点Tj(i,0)」をそれぞれA´、B´、C´とする。また、A´、B´、C´は、視認対象画像における座標を表すものとする)。
次に、視線位置近傍特徴点抽出部105は、以下の(9)式に示す2次元ベクトルの外積の符号と、以下の(10)式に示す2次元ベクトルの外積の符号とが同じであるか否かを判定する。この判定の結果、これらの外積の符号が同じである場合、視線位置近傍特徴点抽出部105は、選択した視野カメラ画像のSIFT特徴点A、B、Cを視線位置近傍特徴点A、B、Cとする。
【0035】
【数6】
【0036】
一方、これらの外積の符号が同じでない場合には、視野カメラ画像のSIFT特徴点A、B、Cにより構成される三角形の頂点の位置関係と、視認対象画像のSIFT特徴点A´、B´、C´により構成される三角形の頂点の位置関係とが異なっていることになる。このようなことは、画像の歪み等によって生じる。そこで、このような場合、視線位置近傍特徴点抽出部105は、視野カメラ画像のSIFT特徴点Siのうち、作業者の視線位置とのユークリッド距離が次に近い特徴点Siを、選択した「2つの視野カメラ画像のSIFT特徴点A、B」以外から選択する(ここで選択した「視野カメラ画像のSIFT特徴点Si」をCとする。また、Cは、視野カメラ画像における座標を表すものとする)。そして、前述した処理を繰り返し行う。
また、(8)式を満たさない場合、視線位置近傍特徴点抽出部105は、「2つの視野カメラ画像のSIFT特徴点Si」の「視野カメラ画像における座標の点A、B」以外の点を全て選択したか否かを判定する。
この判定の結果、全ての点を選択したにもかかわらず、点Cを選択する条件である(8)式、(9)式、(10)式の条件を満たす点が無かった場合には、視線位置近傍特徴点抽出部105は、視野カメラ画像のこれまで選択したSIFT特徴点Siのうち、作業者の視線位置とのユークリッド距離が最も近い特徴点Siを、選択した「2つの視野カメラ画像のSIFT特徴点A、B」以外から選択し直す(ここで選択した「視野カメラ画像のSIFT特徴点Si」をCとする。また、Cは、視野カメラ画像における座標を表すものとする)。そして、視線位置近傍特徴点抽出部105は、視線位置近傍特徴点抽出部105は、選択した「視野カメラ画像のSIFT特徴点A、B、C」を視線位置近傍特徴点A、B、Cとする。
【0037】
一方、全ての点を選択していない場合、視線位置近傍特徴点抽出部105は、視野カメラ画像のSIFT特徴点Siのうち、作業者の視線位置とのユークリッド距離が次に近い特徴点Siを、選択した「2つの視野カメラ画像のSIFT特徴点A、B」以外から選択する(ここで選択した「視野カメラ画像のSIFT特徴点Si」をCとする。また、Cは、視野カメラ画像における座標を表すものとする)。そして、視線位置近傍特徴点抽出部105は、そして、視線位置近傍特徴点抽出部105は、選択した「視野カメラ画像のSIFT特徴点A、B、C」に基づいて、前述した(8)式の判定を再度行う。
この様にして、作業者の視線位置がドロネー三角形の内部にない場合の視線位置近傍特徴点が決定される。
【0038】
視線位置近傍特徴点抽出部105は、例えば、CPUが、RAM等から、対応点の情報を読み出して、前述したようにして、視野カメラ画像における作業者の視線位置の近傍の3つの「視野カメラ画像のSIFT特徴点Si」を視線位置近傍特徴点A、B、Cとし、視線位置近傍特徴点A、B、Cの情報をRAM等に記憶することによって実現できる。
【0039】
(視認対象画像上視線位置導出部106)
図5は、「視野カメラ画像における作業者の視線位置の点P」と画像上での位置が相互に対応する「視認対象画像における作業者の視線位置の点P´」の一例を示す図である。
図5の左図において、視線位置近傍特徴点抽出部105で得られた「視線位置近傍特徴点A、B、Cの点Aを原点とし、線分AB、ACを軸とする斜交座標系で表すと、視野カメラ画像における作業者の視線位置の点Pは、以下の(11)式のように表される。この(11)式を変形すると、パラメータs、tは、以下の(12)式のように表される。尚、(11)式及び(12)式において、A、B、C、Pは、それぞれ視野カメラ画像における座標を表す。
【0040】
【数7】
【0041】
視認対象画像上視線位置導出部106は、視線位置近傍特徴点抽出部105で得られた視線位置近傍特徴点A、B、Cに基づいて、(12)式により、パラメータs、tを導出する。そして、視認対象画像上視線位置導出部106は、「視線位置近傍特徴点A、B、C」と特徴量が相互に対応する「視認対象画像のSIFT特徴点A´、B´、C´」と、パラメータs、tを用いて、「視認対象画像における作業者の視線位置の点P´」を視認対象画像上視線位置として、以下の(13)式により導出する(図5の右図を参照)。
【0042】
【数8】
【0043】
本実施形態では、(12)式及び(13)式の計算を行うことによって、「視線位置近傍特徴点A、B、C」から定まる座標系から見た場合の「視野カメラ画像における作業者の視線位置の点Pの座標」と、「視線位置近傍特徴点A、B、C」と特徴量が相互に対応する「視認対象画像のSIFT特徴点A´、B´、C´」から定まる座標系から見た場合に、同一の座標となる位置を「視認対象画像における作業者の視線位置の点P´」として求めるようにしている。
【0044】
図6は、視認対象画像における作業者の視線位置の点P´の一例を概念的に示す図(写真)である。
図6の左図の点ua、ub、uc、peは、それぞれ、視線位置近傍特徴点A、B、C、視野カメラ画像における作業者の視線位置の点Pに対応する。一方、図6の右図の点Ua、Ub、Uc、Peは、それぞれ、視認対象画像の点A´、B´、C´、視認対象画像における作業者の視線位置の点P´に対応する。
【0045】
視認対象画像上視線位置導出部106は、視線位置近傍特徴点A、B、Cの情報と、視野カメラ画像における作業者の視線位置の点Pの情報と、視線位置近傍特徴点A、B、Cと特徴量が相互に対応する視認対象画像の点A´、B´、C´の情報と、をRAM等から読み出して、前述したようにして、視認対象画像における作業者の視線位置の点P´を導出し、視認対象画像における作業者の視線位置の点P´の情報をRAM等に記憶することによって実現できる。
【0046】
(視認対象画像上視線位置表示部107)
視認対象画像上視線位置表示部107は、視認対象画像上視線位置導出部106で導出された「視認対象画像における作業者の視線位置の点P´」の情報を、液晶ディスプレイ等の表示装置に表示する。例えば、視認対象画像上視線位置表示部107は、図2(b)に示す視認対象画像上に、図6の右図に示したような点Peを示すマーク(図6の右図では白色の×)を表示装置に表示することができる。
視認対象画像上視線位置表示部107は、例えば、CPUが、RAM等から、視認対象画像における作業者の視線位置の点P´の情報を読み出し、その情報を表示するための表示データを生成し、生成した表示データを表示装置に出力することによって実現することができる。
【0047】
(視線位置検出装置100の動作フローチャート)
次に、図7のフローチャートを参照しながら、視線位置検出装置100の動作の一例を説明する。
まず、ステップS701において、画像取得部101は、視認対象画像を取得する。
次に、ステップS702において、画像取得部101は、視野カメラ画像を取得する。
次に、ステップS703において、特徴点抽出部102は、ステップS701で取得された視認対象画像から、視認対象画像のSIFT特徴点を抽出する。
次に、ステップS704において、特徴点抽出部102は、ステップS702で取得された視野カメラ画像のフレームを、その取得順に1つ選択する。
【0048】
次に、ステップS705において、特徴点抽出部102は、ステップS702で取得された視野カメラ画像のフレームから、視野カメラ画像のSIFT特徴点を抽出する。
次に、ステップS706において、特徴点マッチング部103は、視認対象画像のSIFT特徴点Siと、当該視野カメラ画像のSIFT特徴点Siと特徴量が相互に対応する視認対象画像のSIFT特徴点Tj(i,0)とを対応点として求める特徴点マッチング処理を行う。特徴点マッチング処理の詳細については、図8を参照しながら後述する。
次に、ステップS707において、誤対応除去部104は、ステップS706で得られた対応点の対のうち、誤対応の対応点の対を除去する誤対応除去処理を行う。誤対応除去処理の詳細については、図9を参照しながら後述する。
【0049】
次に、ステップS708において、視線位置近傍特徴点抽出部105は、ステップS707で誤対応のものが除去された後の対応点を構成する「視野カメラ画像のSIFT特徴点Si」のうち、視野カメラ画像における作業者の視線位置の近傍の3つの「視野カメラ画像のSIFT特徴点Si」を視線位置近傍特徴点として抽出する視線位置近傍特徴点抽出処理を行う。視線位置近傍特徴点抽出処理の詳細については、図10を参照しながら後述する。
次に、ステップS709において、視認対象画像上視線位置導出部106は、視認対象画像における作業者の視線位置の点P´を導出する視認対象画像上視線位置導出処理を行う。視認対象画像上視線位置導出処理の詳細については、図11を参照しながら後述する。
【0050】
次に、ステップS710において、視認対象画像上視線位置表示部107は、ステップS709で導出された「視認対象画像における作業者の視線位置の点P´」の情報を(フレーム単位で)表示装置に表示させる。
次に、ステップS711において、特徴点抽出部102は、ステップS702で取得された視野カメラ画像の全てのフレームを取得したか否かを判定する。この判定の結果、視野カメラ画像の全てのフレームを取得していない場合には、ステップS704に戻る。一方、視野カメラ画像の全てのフレームを取得した場合には、図7のフローチャートによる処理を終了する。
【0051】
次に、図8のフローチャートを参照しながら、図7のステップS706の特徴点マッチング処理の詳細を説明する。
まず、ステップS801において、特徴点マッチング部103は、未選択の視野カメラ画像のSIFT特徴点Siを、ステップS705で抽出されたものの中から1つ選択する。
次に、ステップS802において、特徴点マッチング部103は、ステップS705で選択された視野カメラ画像のSIFT特徴点Siの特徴量と、ステップS703で抽出された視認対象画像のSIFT特徴点Tjの特徴量のそれぞれとの誤差として、これらのユークリッド距離d(i,j)を、(3)式を用いて導出する。
次に、ステップS803において、特徴点マッチング部103は、視野カメラ画像のSIFT特徴点Siとのユークリッド距離d(i,j)が最も小さな視認対象画像のSIFT特徴点Tj(i,0)を探索する。
次に、ステップS804において、特徴点マッチング部103は、視野カメラ画像のSIFT特徴点Siとのユークリッド距離d(i,j)が2番目に小さな視認対象画像のSIFT特徴点Tj(i,1)を探索する。
【0052】
次に、ステップS805において、特徴点マッチング部103は、視野カメラ画像のSIFT特徴点Siと、視認対象画像のSIFT特徴点Tj(i,0)とのユークリッド距離d(i,j(i,0))と、視野カメラ画像のSIFT特徴点Siと、視認対象画像のSIFT特徴点Tj(i,1)とのユークリッド距離d(i,j(i,1))との関係が、(4)式を満たすか否かを判定する。
この判定の結果、(4)式を満たさない場合には、視野カメラ画像のSIFT特徴点Siと、視認対象画像のSIFT特徴点Tj(i,0)とを対応点としないので、ステップS806を省略して後述するステップS807に進む。
【0053】
一方、(4)式を満たす場合には、ステップS806に進む。ステップS806に進むと、特徴点マッチング部103は、視野カメラ画像のSIFT特徴点Siと、視認対象画像のSIFT特徴点Tj(i,0)とを、特徴量が相互に対応する対応点として設定する。
次に、ステップS807において、特徴点マッチング部103は、ステップS705で抽出された視野カメラ画像のSIFT特徴点Siを全て選択したか否かを判定する。この判定の結果、視野カメラ画像のSIFT特徴点Siを全て選択していない場合には、ステップS801に戻る。
【0054】
一方、視野カメラ画像のSIFT特徴点Siを全て選択した場合には、ステップS808に進む。ステップS808に進むと、同一の「視野カメラ画像のSIFT特徴点Si」に対し、複数の対応点(複数の「視認対象画像のSIFT特徴点Tj(i,0)」)が設定されたか否かを判定する。この判定の結果、複数の対応点が設定された場合には、ステップS809に進む。
ステップS809に進むと、特徴点マッチング部103は、それらの対応点のうち、ユークリッド距離d(i,j)が最も近い対応点の対を選択し、それ以外の対応点を除去する。これにより、視野カメラ画像のSIFT特徴点Siと、当該視野カメラ画像のSIFT特徴点Siと特徴量が相互に対応する視認対象画像のSIFT特徴点Tj(i,0)とが1対1の関係になる。そして、図7のステップS707に進む。
一方、複数の対応点が設定されていない場合には、対応点を除去する必要はないので、ステップS809を省略して図7のステップS707に進む。
【0055】
次に、図9のフローチャートを参照しながら、図7のステップS707の誤対応除去処理の詳細を説明する。
まず、ステップS901において、誤対応除去部104は、図7のステップS706(図8のフローチャート)で得られた4つの対応点の対(視野カメラ画像のSIFT特徴点Siと、当該視野カメラ画像のSIFT特徴点Siと特徴量が相互に対応する視認対象画像のSIFT特徴点Tj(i,0))であって、未選択の対応点の対を選択する。
次に、ステップS902において、誤対応除去部104は、ステップS901で選択した4つの対応点の対の画像上の座標を用いて、(5)式及び(6)式で示される「射影変換のためのパラメータa1〜a8」を導出する。
【0056】
次に、ステップS903において、誤対応除去部104は、射影変換のためのパラメータa1〜a8の導出のために使用していない対応点の対(ステップS901で選択した対応点の対と異なる対応点の対)であって、未選択の対応点の対を選択する。
次に、ステップS904において、誤対応除去部104は、ステップS903で選択した対応点の対の一方である「視野カメラ画像のSIFT特徴点Si」の視野カメラ画像上の座標(x,y)とパラメータa1〜a8とを(5)式及び(6)式に代入して射影変換を行い、視認対象画像上の座標(x',y')を導出する。そして、誤対応除去部104は、導出した「視認対象画像上の座標(x',y')」と、ステップS903で選択した選択した対応点の他方である「視認対象画像のSIFT特徴点Tj(i,0)」の視認対象画像上の座標(x',y')との誤差である投影誤差を導出する。
【0057】
次に、ステップS905において、誤対応除去部104は、ステップS904で導出した投影誤差が、予め設定されている閾値以下であるか否かを判定する。この判定の結果、投影誤差が閾値以下でない場合には、ステップS904で導出された投影誤差によれば、ステップS902で導出された「射影変換のためのパラメータa1〜a8」が正しいものではないと推定されるので変数Cを変化させない。よって、ステップS906を省略して後述するステップS907に進む。
一方、投影誤差が閾値以下である場合には、ステップS906に進む。ステップS906に進むと、誤対応除去部104は、変数Cに1を加算する。
【0058】
次に、ステップS907において、誤対応除去部104は、射影変換のためのパラメータa1〜a8の導出のために使用していない対応点の対(ステップS901で選択した対応点の対と異なる対応点の対)を全て選択したか否かを判定する。この判定の結果、射影変換のためのパラメータa1〜a8の導出のために使用していない対応点の対を全て選択していない場合には、ステップS903に戻る。
一方、射影変換のためのパラメータa1〜a8の導出のために使用していない対応点の対を全て選択した場合には、ステップS908に進む。ステップS908に進むと、誤対応除去部104は、図7のステップS706(図8のフローチャート)で得られた4つの対応点の対の組み合わせを全て選択したか否かを判定する。この判定の結果、4つの対応点の対の組み合わせを全て選択していない場合には、ステップS901に戻る。一方、4つの対応点の対の組み合わせを全て選択した場合には、ステップS909に進む。ステップS909に進む場合には、4つの「対応点の対」の全ての組み合わせと同数の変数Cが得られている。
【0059】
そして、ステップS909に進むと、誤対応除去部104は、得られた変数Cの最大値Cmaxを選択し、最大値Cmaxを得るために導出したパラメータa1〜a8を最適射影変換パラメータとして設定する。
次に、ステップS910において、誤対応除去部104は、ステップS706(図8のフローチャート)で得られた対応点の対のうち未選択の対応点の対を1つ選択する。
次に、ステップS911において、誤対応除去部104は、ステップS910で選択した対応点の対の一方である「視野カメラ画像のSIFT特徴点Si」の視野カメラ画像上の座標(x,y)と最適射影変換パラメータa1〜a8とを(5)式及び(6)式に代入して射影変換を行い、視認対象画像上の座標(x',y')を導出する。そして、誤対応除去部104は、導出した「視認対象画像上の座標(x',y')」と、選択した対応点の他方である「視認対象画像のSIFT特徴点Tj(i,0)」の視認対象画像上の座標(x',y')との誤差である投影誤差を導出する。
【0060】
次に、誤対応除去部104は、ステップS911で導出した投影誤差が、予め設定されている閾値以下であるか否かを判定する。この判定の結果、投影誤差が閾値以下である場合には、ステップS910で選択した対応点は誤対応の対応点ではないので、ステップS913を省略して後述するステップS914に進む。
一方、投影誤差が閾値以下でない場合には、ステップS913に進む。ステップS913に進むと、誤対応除去部104は、ステップS910で選択した対応点の対を誤対応の対応点の対であるとして除去する。
次に、ステップS914において、誤対応除去部104は、ステップS706(図8のフローチャート)で得られた対応点の対を全て選択したか否かを判定する。この判定の結果、対応点の対を全て選択していない場合には、ステップS910に戻る。一方、対応点の対を全て選択した場合には、図7のステップS708に進む。
【0061】
次に、図10のフローチャートを参照しながら、図7のステップS708の視線位置近傍特徴点抽出処理の詳細を説明する。
まず、ステップS1001において、視線位置近傍特徴点抽出部105は、図7のステップS707(図9のフローチャート)で誤対応のものが除去された対応点として設定されている視野カメラ画像のSIFT特徴点Siを全て選択する。
次に、ステップS1002において、視線位置近傍特徴点抽出部105は、ステップS1001で選択した「視野カメラ画像のSIFT特徴点Si」の視野カメラ画像上の座標(x,y)を頂点とするドロネー三角形を作成する(図4(b)を参照)。
【0062】
次に、ステップS1003において、視線位置近傍特徴点抽出部105は、視野カメラ画像における作業者の視線位置を検出し、検出した作業者の視線位置がドロネー三角形の内部にあるか否かを判定する。この判定の結果、作業者の視線位置がドロネー三角形の内部にある場合には、ステップS1004に進む。
ステップS1004に進むと、視線位置近傍特徴点抽出部105は、当該ドロネー三角形の3つの頂点を構成する「視野カメラ画像のSIFT特徴点Si」を視線位置近傍特徴点A、B、Cとして設定する。そして、図7のステップS709に進む。
一方、作業者の視線位置がドロネー三角形の内部にない場合には、ステップS1005に進む。ステップS1005に進むと、視線位置近傍特徴点抽出部105は、作業者の視線位置にユークリッド距離が最も近いドロネー三角形の辺の両端点を構成する「視野カメラ画像のSIFT特徴点A、B」を選択する。
次に、ステップS1006において、視線位置近傍特徴点抽出部105は、視野カメラ画像の未選択のSIFT特徴点Siのうち、作業者の視線位置とのユークリッド距離が最も近い特徴点Cを、ステップS1005で選択した「2つの視野カメラ画像のSIFT特徴点A、B」以外から選択する。
次に、ステップS1007において、視線位置近傍特徴点抽出部105は、ステップS1005で選択した「視野カメラ画像のSIFT特徴点A、B」と、ステップS1006で選択した「視野カメラ画像のSIFT特徴点C」とに基づく角度(∠ACB)が(8)式を満たすか否かを判定する。
【0063】
この判定の結果、(8)式を満たさない場合には、後述するステップS1011に進む。一方、(8)式を満たす場合には、ステップS1008に進む。
ステップS1008に進むと、視線位置近傍特徴点抽出部105は、ステップS1005で選択した「視野カメラ画像のSIFT特徴点A、B」と、ステップS1006で選択した「視野カメラ画像のSIFT特徴点C」と特徴量が相互に対応する「視認対象画像のSIFT特徴点A´、B´、C´」を選択する。
次に、ステップS1009において、視線位置近傍特徴点抽出部105は、(9)式に示す2次元ベクトルの外積の符号と、(10)式に示す2次元ベクトルの外積の符号とが同じであるか否かを判定する。この判定の結果、これらの外積の符号が同じでない場合には、視野カメラ画像のSIFT特徴点A、B、Cにより構成される三角形の頂点の位置関係と、視認対象画像のSIFT特徴点A´、B´、C´により構成される三角形の頂点の位置関係とが異なっていることになる。よって、視野カメラ画像のSIFT特徴点A、B、Cを視線位置近傍特徴点とすることはできない。そこで、ステップS1006に戻る。
【0064】
一方、これらの外積の符号が同じである場合には、ステップS1010に進む。ステップS1010に進むと、視線位置近傍特徴点抽出部105は、ステップS1005で選択した「視野カメラ画像のSIFT特徴点A、B」と、ステップS1006で選択した最新の「視野カメラ画像のSIFT特徴点C」とを視線位置近傍特徴点A、B、Cとして設定する。そして、図7のステップS709に進む。
前述したように、ステップS1007において、(8)式を満たさない場合には、ステップS1011に進む。ステップS1011に進むと、視線位置近傍特徴点抽出部105は、ステップS1005で選択した「2つの視野カメラ画像のSIFT特徴点A、B」以外の点を視野カメラ画像のSIFT特徴点Cとして全て選択したか否かを判定する。この判定の結果、2つの視野カメラ画像のSIFT特徴点A、B以外の点を全て選択していない場合には、ステップS1006に戻る。
【0065】
一方、2つの視野カメラ画像のSIFT特徴点A、B以外の点を全て選択した場合には、ステップS1012に進む。ステップS1012に進むと、視線位置近傍特徴点抽出部105は、視線位置近傍特徴点抽出部105は、視野カメラ画像のSIFT特徴点Siのうち、作業者の視線位置とのユークリッド距離が最も近い特徴点Cを、ステップS1005で選択した「2つの視野カメラ画像のSIFT特徴点A、B」以外から選択し直す。そして、ステップS1010に進む。ステップS1012からステップS1010に進んだ場合、視線位置近傍特徴点抽出部105は、ステップS1005で選択した「視野カメラ画像のSIFT特徴点A、B」と、ステップS1012で選択した「視野カメラ画像のSIFT特徴点C」とを視線位置近傍特徴点A、B、Cとして設定する。そして、図7のステップS709に進む。
【0066】
次に、図11のフローチャートを参照しながら、図7のステップS708の視線位置近傍特徴点抽出処理の詳細を説明する。
まず、図11のステップS1101において、視認対象画像上視線位置導出部106は、図7のステップS708(図10のフローチャート)で得られた視線位置近傍特徴点A、B、Cに基づいて、(12)式により、パラメータs、tを導出する。(11)式及び(12)式に示すように、このパラメータs、tは、視線位置近傍特徴点Aを原点とし、且つ、視線位置近傍特徴点A、Bを両端とする辺ABと、視線位置近傍特徴点A、Cを両端とする辺ACとを軸とした斜交座標系における視線位置の点P(視野カメラ画像における座標)を表すためのパラメータである。
【0067】
次に、ステップS1102において、視認対象画像上視線位置導出部106は、「視線位置近傍特徴点A、B、C」と特徴量が相互に対応する「視認対象画像のSIFT特徴点A´、B´、C´」と、ステップS1101で導出されたパラメータs、tとを用いて、「視認対象画像における作業者の視線位置の点P´」を視認対象画像上視線位置として、(13)式により導出する(図5の右図を参照)。そして、図7のステップS710に進む。
【0068】
(まとめ)
以上のように本実施形態では、まず、視線位置検出対象である三次元空間を、デジタルカメラなどで撮影した視認対象画像(二次元平面)に変換して、実際の視線位置検出処理を、その二次元平面に限定する。そして、移動型視線計測カメラの画像である視野カメラ画像のSIFT特徴点Siと、視認対象画像のSIFT特徴点Tjとを抽出し、抽出したSIFT特徴点Si、Tjの対応点を導出する。次に、対応点である「視野カメラ画像のSIFT特徴点Si」の視野カメラ画像上の座標(x,y)を頂点とするドロネー三角形を形成する。次に、形成したドロネー三角形の頂点の中から、作業者の視線位置の近傍の三点を視線位置近傍特徴点A、B、Cとして選択する。次に、選択した「視線位置近傍特徴点A、B、C」から見た場合の「視野カメラ画像における作業者の視線位置の点P」の位置関係と同じになるように、「視線位置近傍特徴点A、B、C」と特徴量が相互に対応する「視認対象画像のSIFT特徴点A´、B´、C´」の画像上の座標から、「視認対象画像における作業者の視線位置の点P´」を求める。したがって、二次元の視野カメラ画像と、二次元の視認対象画像との特徴点を相互に対応付けることができ、しかも、視野カメラ画像における作業者の視線位置の点Pを囲む視線位置近傍特徴点A、B、Cが極端につぶれてしまう(三角形の内角の一つが極端に小さくなる)ことを防止することができる。よって、現実の3次元空間で何を見ているかを、三次元座標を必要とせず、また三次元の射影変換を行わずに、視認対象画像における作業者の視線位置の点P´を簡単な計算処理で精度良く求めることができる。よって、射影変換のパラメータの誤差の影響を受けることなく、視認対象画像における作業者の視線位置の点P´を求めることができる。また、射影変換のパラメータの誤差を少なくするための「画像の歪みを除去する前処理」を行わなくても、視認対象画像における作業者の視線位置の点P´を正確に求めることができる。以上のように、本実施形態では、作業者が見ている視野カメラ画像と、作業者の視認対象となる領域として予め得られている視認対象画像との対応をとることによって、作業者が何を見ているのかを容易に且つ確実に自動で検出することができる。
また、本実施形態では、誤対応の対応点を除去した上で、視線位置近傍特徴点A、B、Cを抽出するようにしたので、視認対象画像における作業者の視線位置の点P´をより一層正確に求めることができる。
【0069】
(変形例)
本実施形態では、一般の画像に適用できることに加え、高い頑健性を有しているという特徴があるので、視野カメラ画像と視認対象画像の特徴点の抽出のために、SIFTを用いるようにした。しかしながら、特徴点を抽出することができれば、その手法は、SIFTに限定されない。
また、本実施形態では、誤対応除去部104による「対応点の対の選択、パラメータa1〜a8の導出、投影誤差の導出、投影誤差と閾値との比較、及び変数Cの加算」(ステップS901〜S908)を、4つの「対応点の対」の全ての組み合わせについて行うようにした。しかしながら、必ずしもこのようにする必要はない。例えば、これらの処理を、4つの「対応点の対」の全ての組み合わせについて行った結果、これらの処理を行う回数が、4つの「対応点の対」の全ての組み合わせの数よりも少ない回数であっても、4つの「対応点の対」の全ての組み合わせについてこれらの処理を行ったのと同様の最適射影変換パラメータが得られることが確認された場合には、当該回数だけ、これらの処理を行うようにしてもよい。
【0070】
また、本実施形態では、視線位置近傍特徴点抽出部105は、視野カメラ画像のSIFT特徴点Siの視野カメラ画像上の座標(x,y)を頂点とする三角形を、ドロネーの三角分割法(Delaunay Triangulation)を用いて作成し、作業者の視線位置がドロネー三角形の内部にある場合、当該ドロネー三角形の3つの頂点を構成する「視野カメラ画像のSIFT特徴点Si」を視線位置近傍特徴点A、B、Cとして設定した。しかしながら、必ずしもこのようにする必要はない。例えば、次のようにしてもよい。まず、対応点として設定されている視野カメラ画像のSIFT特徴点Siを全て選択する。次に、視野カメラ画像のSIFT特徴点Siの中で、ユーザの視線位置からの距離が近い順にSIFT特徴点Siを選択して、当該視線位置を内部に包含する三角形を構成する3つの特徴点を、視線位置近傍特徴点として抽出する。ここで、ユーザの視線位置からの距離が近い順に選択された3つの特徴点では、視線位置を内部に包含する三角形が構成されない場合には、次に距離が近い特徴点を抽出して、視線位置を内部に包含する三角形を構成出来た3つの特徴点を、視線位置近傍特徴点として抽出する。
【0071】
また、本実施形態では、誤対応除去部104において、視野カメラ画像から視認対象画像への射影変換を行うようにした(ステップS902)。しかしながら、視認対象画像から視野カメラ画像への射影変換を行うようにしてもよい。
また、作業者の視野範囲を撮像することができ、撮像した画像における作業者の視線位置を検出することができれば、撮像装置は、頭部装着型の視野カメラでなくてもよい。
【0072】
(請求項との対応)
本実施形態では、例えば、画像取得部101を用いることにより、視認対象画像取得手段及び視野画像取得手段が実現される。また、本実施形態では、例えば、特徴点抽出部102を用いることにより、視認対象画像特徴点抽出手段及び視野画像特徴点抽出手段が実現される。
また、本実施形態では、例えば、特徴点マッチング部103を用いることにより、対応点抽出手段が実現される。具体的に、例えば、特徴点マッチング部103がステップS802の処理を行うことにより導出手段が実現される。また、例えば、特徴点マッチング部103がステップS803、S804の処理を行うことにより探索手段が実現される。また、例えば、特徴点マッチング部103がステップS805、S806の処理を行うことにより抽出手段が実現される。ここで、(4)式の関係を満たす場合が、誤差が最も小さくなる視認対象画像の特徴点の誤差と、前記誤差が二番目に小さくなる視認対象画像の特徴点の誤差との差が閾値よりも大きい場合の一例である。
また、本実施形態では、例えば、視線位置近傍特徴点抽出部105を用いることにより、視線位置近傍特徴点抽出手段が実現される。また、本実施形態では、例えば、視認対象画像上視線位置導出部106を用いることにより、視認対象画像上視線位置導出手段が実現される。
また、本実施形態では、例えば、誤対応除去部104を用いることにより、対応点除去手段が実現される。ここで、例えば、誤対応除去部104がステップS901、S902の処理を行うことにより、前記視野画像の点と前記視認対象画像の点とを射影変換するためのパラメータを導出することが実現される。また、例えば、誤対応除去部104がステップS910〜S912、S914の処理を行うことにより、導出したパラメータを用いて前記対応点の一方を射影変換して得られた画像上の位置と、当該対応点の他方の画像上の位置とを、前記対応点抽出手段により抽出された対応点のそれぞれについて比較することが実現される。
【0073】
尚、以上説明した本発明の実施形態は、コンピュータがプログラムを実行することによって実現することができる。また、プログラムをコンピュータに供給するための手段、例えばかかるプログラムを記録したCD−ROM等のコンピュータ読み取り可能な記録媒体、又はかかるプログラムを伝送する伝送媒体も本発明の実施の形態として適用することができる。また、前記プログラムを記録したコンピュータ読み取り可能な記録媒体などのプログラムプロダクトも本発明の実施の形態として適用することができる。前記のプログラム、コンピュータ読み取り可能な記録媒体、伝送媒体及びプログラムプロダクトは、本発明の範疇に含まれる。
また、以上説明した本発明の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0074】
100 視線位置検出装置
101 画像取得部
102 特徴点抽出部
103 特徴点マッチング部
104 誤対応除去部
105 視線位置近傍特徴点抽出部
106 視認対象画像上視線位置導出部
107 視認対象画像上視線位置表示部
【特許請求の範囲】
【請求項1】
ユーザが視認する対象となる領域の二次元画像である視認対象画像を取得する視認対象画像取得手段と、
ユーザが装着している撮像手段で撮像された二次元画像である視野画像を取得する視野画像取得手段と、
前記視認対象画像取得手段で取得された視認対象画像と、前記視野画像取得手段により取得された視野画像とを対応付ける為の、該視認対象画像中の点である特徴点を抽出する視認対象画像特徴点抽出手段と、
前記視認対象画像取得手段で取得された視認対象画像と、前記視野画像取得手段により取得された視野画像とを対応付ける為の、該視野画像中の点である特徴点を抽出する視野画像特徴点抽出手段と、
前記視野画像特徴点抽出手段により抽出された視野画像の特徴点と、当該視野画像の特徴点に対し特徴量が相互に対応する、前記視認対象画像特徴点抽出手段により抽出された視認対象画像の特徴点とを、対応点として抽出する対応点抽出手段と、
前記対応点抽出手段により対応点として抽出された視野画像の特徴点から、前記視野画像取得手段により取得された視野画像におけるユーザの視線位置を内部に包含する三角形を構成する3つの特徴点を、視線位置近傍特徴点として抽出する視線位置近傍特徴点抽出手段と、
前記視野画像におけるユーザの視線位置に対し画像上での位置が相互に対応する、前記視認対象画像における位置を、当該視認対象画像におけるユーザの視線位置として導出する視認対象画像上視線位置導出手段と、を有し、
前記視認対象画像上視線位置導出手段は、前記3つの視線位置近傍特徴点から定まる座標系から見た場合の、前記視野画像におけるユーザの視線位置の座標と、当該3つの視線位置近傍特徴点に対応する3つの視認対象画像の特徴点から定まる座標系から見た場合に同一の座標となる位置を、前記視認対象画像におけるユーザの視線位置として導出することを特徴とする視線位置検出装置。
【請求項2】
前記視線位置近傍特徴点抽出手段は、前記対応点抽出手段により対応点として抽出された視野画像の特徴点に対してドロネー三角形分割を行い、当該ドロネー三角形分割が行われることにより得られたドロネー三角形のうちで、前記視野画像におけるユーザの視線位置が内部に含まれているドロネー三角形の頂点を構成する3つの視野画像の特徴点を、視線位置近傍特徴点として抽出することを特徴とする請求項1に記載の視線位置検出装置。
【請求項3】
前記対応点抽出手段により抽出された対応点の画像上の座標に基づいて、前記視野画像の点と前記視認対象画像の点とを射影変換するためのパラメータを導出し、導出したパラメータを用いて前記対応点の一方を射影変換して得られた画像上の位置と、当該対応点の他方の画像上の位置とを、前記対応点抽出手段により抽出された対応点のそれぞれについて比較し、比較した結果に基づいて、当該対応点を除去する対応点除去手段を有することを特徴とする請求項1又は2に記載の視線位置検出装置。
【請求項4】
前記対応点抽出手段は、前記視野画像特徴点抽出手段により抽出された視野画像の特徴点の特徴量と、前記視認対象画像特徴点抽出手段により抽出された視認対象画像の特徴点の特徴量との誤差を導出する導出手段と、
前記視認対象画像特徴点抽出手段により抽出された視認対象画像の特徴点の中から、前記視野画像特徴点抽出手段により抽出された視野画像の特徴点に対し、前記導出手段により導出された誤差が最も小さくなる視認対象画像の特徴点と、該誤差が二番目に小さくなる視認対象画像の特徴点とを探索する探索手段と、
前記誤差が最も小さくなる視認対象画像の特徴点の誤差と、前記誤差が二番目に小さくなる視認対象画像の特徴点の誤差との差が閾値よりも大きい場合に、前記視野画像の特徴点と、前記誤差が最も小さくなる視認対象画像の特徴点とを、前記対応点として抽出する抽出手段と、を更に有することを特徴とする請求項1〜3の何れか1項に記載の視線位置検出装置。
【請求項5】
前記視認対象画像特徴点抽出手段は、前記視認対象画像取得手段で取得された視認対象画像の特徴点を、SIFT(Scale-Invariant Feature Transform)によって抽出し、
前記視野画像特徴点抽出手段は、前記視野画像取得手段により取得された視野画像の特徴点を、SIFT(Scale-Invariant Feature Transform)によって抽出することを特徴とする請求項1〜4の何れか1項に記載の視線位置検出装置。
【請求項6】
ユーザが視認する対象となる領域の二次元画像である視認対象画像を取得する視認対象画像取得工程と、
ユーザが装着している撮像手段で撮像された二次元画像である視野画像を取得する視野画像取得工程と、
前記視認対象画像取得工程で取得された視認対象画像と、前記視野画像取得手段により取得された視野画像とを対応付ける為の、該視認対象画像中の点である特徴点を抽出する視認対象画像特徴点抽出工程と、
前記視認対象画像取得手段で取得された視認対象画像と、前記視野画像取得工程により取得された視野画像とを対応付ける為の、該視野画像中の点である特徴点を抽出する視野画像特徴点抽出工程と、
前記視野画像特徴点抽出工程により抽出された視野画像の特徴点と、当該視野画像の特徴点に対し特徴量が相互に対応する、前記視認対象画像特徴点抽出工程により抽出された視認対象画像の特徴点とを、対応点として抽出する対応点抽出工程と、
前記対応点抽出工程により対応点として抽出された視野画像の特徴点から、前記視野画像取得工程により取得された視野画像におけるユーザの視線位置を内部に包含する三角形を構成する3つの特徴点を、視線位置近傍特徴点として抽出する視線位置近傍特徴点抽出工程と、
前記視野画像におけるユーザの視線位置に対し画像上での位置が相互に対応する、前記視認対象画像における位置を、当該視認対象画像におけるユーザの視線位置として導出する視認対象画像上視線位置導出工程と、を有し、
前記視認対象画像上視線位置導出工程は、前記3つの視線位置近傍特徴点から定まる座標系から見た場合の、前記視野画像におけるユーザの視線位置の座標と、当該3つの視線位置近傍特徴点に対応する3つの視認対象画像の特徴点から定まる座標系から見た場合に同一の座標となる位置を、前記視認対象画像におけるユーザの視線位置として導出することを特徴とする視線位置検出方法。
【請求項7】
前記視線位置近傍特徴点抽出工程は、前記対応点抽出工程により対応点として抽出された視野画像の特徴点に対してドロネー三角形分割を行い、当該ドロネー三角形分割が行われることにより得られたドロネー三角形のうちで、前記視野画像におけるユーザの視線位置が内部に含まれているドロネー三角形の頂点を構成する3つの視野画像の特徴点を、視線位置近傍特徴点として抽出することを特徴とする請求項6に記載の視線位置検出方法。
【請求項8】
前記対応点抽出工程により抽出された対応点の画像上の座標に基づいて、前記視野画像の点と前記視認対象画像の点とを射影変換するためのパラメータを導出し、導出したパラメータを用いて前記対応点の一方を射影変換して得られた画像上の位置と、当該対応点の他方の画像上の位置とを、前記対応点抽出工程により抽出された対応点のそれぞれについて比較し、比較した結果に基づいて、当該対応点を除去する対応点除去工程を有することを特徴とする請求項6又は7に記載の視線位置検出方法。
【請求項9】
前記対応点抽出工程は、前記視野画像特徴点抽出工程により抽出された視野画像の特徴点の特徴量と、前記視認対象画像特徴点抽出工程により抽出された視認対象画像の特徴点の特徴量との誤差を導出する導出工程と、
前記視認対象画像特徴点抽出工程により抽出された視認対象画像の特徴点の中から、前記視野画像特徴点抽出工程により抽出された視野画像の特徴点に対し、前記導出工程により導出された誤差が最も小さくなる視認対象画像の特徴点と、該誤差が二番目に小さくなる視認対象画像の特徴点とを探索する探索工程と、
前記誤差が最も小さくなる視認対象画像の特徴点の誤差と、前記誤差が二番目に小さくなる視認対象画像の特徴点の誤差との差が閾値よりも大きい場合に、前記視野画像の特徴点と、前記誤差が最も小さくなる視認対象画像の特徴点とを、前記対応点として抽出する抽出工程と、を更に有することを特徴とする請求項6〜8の何れか1項に記載の視線位置検出方法。
【請求項10】
前記視認対象画像特徴点抽出工程は、前記視認対象画像取得工程で取得された視認対象画像の特徴点を、SIFT(Scale-Invariant Feature Transform)によって抽出し、
前記視野画像特徴点抽出工程は、前記視野画像取得工程により取得された視野画像の特徴点を、SIFT(Scale-Invariant Feature Transform)によって抽出することを特徴とする請求項6〜9の何れか1項に記載の視線位置検出方法。
【請求項11】
請求項6〜10の何れか1項に記載の視線位置検出方法の各工程をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項1】
ユーザが視認する対象となる領域の二次元画像である視認対象画像を取得する視認対象画像取得手段と、
ユーザが装着している撮像手段で撮像された二次元画像である視野画像を取得する視野画像取得手段と、
前記視認対象画像取得手段で取得された視認対象画像と、前記視野画像取得手段により取得された視野画像とを対応付ける為の、該視認対象画像中の点である特徴点を抽出する視認対象画像特徴点抽出手段と、
前記視認対象画像取得手段で取得された視認対象画像と、前記視野画像取得手段により取得された視野画像とを対応付ける為の、該視野画像中の点である特徴点を抽出する視野画像特徴点抽出手段と、
前記視野画像特徴点抽出手段により抽出された視野画像の特徴点と、当該視野画像の特徴点に対し特徴量が相互に対応する、前記視認対象画像特徴点抽出手段により抽出された視認対象画像の特徴点とを、対応点として抽出する対応点抽出手段と、
前記対応点抽出手段により対応点として抽出された視野画像の特徴点から、前記視野画像取得手段により取得された視野画像におけるユーザの視線位置を内部に包含する三角形を構成する3つの特徴点を、視線位置近傍特徴点として抽出する視線位置近傍特徴点抽出手段と、
前記視野画像におけるユーザの視線位置に対し画像上での位置が相互に対応する、前記視認対象画像における位置を、当該視認対象画像におけるユーザの視線位置として導出する視認対象画像上視線位置導出手段と、を有し、
前記視認対象画像上視線位置導出手段は、前記3つの視線位置近傍特徴点から定まる座標系から見た場合の、前記視野画像におけるユーザの視線位置の座標と、当該3つの視線位置近傍特徴点に対応する3つの視認対象画像の特徴点から定まる座標系から見た場合に同一の座標となる位置を、前記視認対象画像におけるユーザの視線位置として導出することを特徴とする視線位置検出装置。
【請求項2】
前記視線位置近傍特徴点抽出手段は、前記対応点抽出手段により対応点として抽出された視野画像の特徴点に対してドロネー三角形分割を行い、当該ドロネー三角形分割が行われることにより得られたドロネー三角形のうちで、前記視野画像におけるユーザの視線位置が内部に含まれているドロネー三角形の頂点を構成する3つの視野画像の特徴点を、視線位置近傍特徴点として抽出することを特徴とする請求項1に記載の視線位置検出装置。
【請求項3】
前記対応点抽出手段により抽出された対応点の画像上の座標に基づいて、前記視野画像の点と前記視認対象画像の点とを射影変換するためのパラメータを導出し、導出したパラメータを用いて前記対応点の一方を射影変換して得られた画像上の位置と、当該対応点の他方の画像上の位置とを、前記対応点抽出手段により抽出された対応点のそれぞれについて比較し、比較した結果に基づいて、当該対応点を除去する対応点除去手段を有することを特徴とする請求項1又は2に記載の視線位置検出装置。
【請求項4】
前記対応点抽出手段は、前記視野画像特徴点抽出手段により抽出された視野画像の特徴点の特徴量と、前記視認対象画像特徴点抽出手段により抽出された視認対象画像の特徴点の特徴量との誤差を導出する導出手段と、
前記視認対象画像特徴点抽出手段により抽出された視認対象画像の特徴点の中から、前記視野画像特徴点抽出手段により抽出された視野画像の特徴点に対し、前記導出手段により導出された誤差が最も小さくなる視認対象画像の特徴点と、該誤差が二番目に小さくなる視認対象画像の特徴点とを探索する探索手段と、
前記誤差が最も小さくなる視認対象画像の特徴点の誤差と、前記誤差が二番目に小さくなる視認対象画像の特徴点の誤差との差が閾値よりも大きい場合に、前記視野画像の特徴点と、前記誤差が最も小さくなる視認対象画像の特徴点とを、前記対応点として抽出する抽出手段と、を更に有することを特徴とする請求項1〜3の何れか1項に記載の視線位置検出装置。
【請求項5】
前記視認対象画像特徴点抽出手段は、前記視認対象画像取得手段で取得された視認対象画像の特徴点を、SIFT(Scale-Invariant Feature Transform)によって抽出し、
前記視野画像特徴点抽出手段は、前記視野画像取得手段により取得された視野画像の特徴点を、SIFT(Scale-Invariant Feature Transform)によって抽出することを特徴とする請求項1〜4の何れか1項に記載の視線位置検出装置。
【請求項6】
ユーザが視認する対象となる領域の二次元画像である視認対象画像を取得する視認対象画像取得工程と、
ユーザが装着している撮像手段で撮像された二次元画像である視野画像を取得する視野画像取得工程と、
前記視認対象画像取得工程で取得された視認対象画像と、前記視野画像取得手段により取得された視野画像とを対応付ける為の、該視認対象画像中の点である特徴点を抽出する視認対象画像特徴点抽出工程と、
前記視認対象画像取得手段で取得された視認対象画像と、前記視野画像取得工程により取得された視野画像とを対応付ける為の、該視野画像中の点である特徴点を抽出する視野画像特徴点抽出工程と、
前記視野画像特徴点抽出工程により抽出された視野画像の特徴点と、当該視野画像の特徴点に対し特徴量が相互に対応する、前記視認対象画像特徴点抽出工程により抽出された視認対象画像の特徴点とを、対応点として抽出する対応点抽出工程と、
前記対応点抽出工程により対応点として抽出された視野画像の特徴点から、前記視野画像取得工程により取得された視野画像におけるユーザの視線位置を内部に包含する三角形を構成する3つの特徴点を、視線位置近傍特徴点として抽出する視線位置近傍特徴点抽出工程と、
前記視野画像におけるユーザの視線位置に対し画像上での位置が相互に対応する、前記視認対象画像における位置を、当該視認対象画像におけるユーザの視線位置として導出する視認対象画像上視線位置導出工程と、を有し、
前記視認対象画像上視線位置導出工程は、前記3つの視線位置近傍特徴点から定まる座標系から見た場合の、前記視野画像におけるユーザの視線位置の座標と、当該3つの視線位置近傍特徴点に対応する3つの視認対象画像の特徴点から定まる座標系から見た場合に同一の座標となる位置を、前記視認対象画像におけるユーザの視線位置として導出することを特徴とする視線位置検出方法。
【請求項7】
前記視線位置近傍特徴点抽出工程は、前記対応点抽出工程により対応点として抽出された視野画像の特徴点に対してドロネー三角形分割を行い、当該ドロネー三角形分割が行われることにより得られたドロネー三角形のうちで、前記視野画像におけるユーザの視線位置が内部に含まれているドロネー三角形の頂点を構成する3つの視野画像の特徴点を、視線位置近傍特徴点として抽出することを特徴とする請求項6に記載の視線位置検出方法。
【請求項8】
前記対応点抽出工程により抽出された対応点の画像上の座標に基づいて、前記視野画像の点と前記視認対象画像の点とを射影変換するためのパラメータを導出し、導出したパラメータを用いて前記対応点の一方を射影変換して得られた画像上の位置と、当該対応点の他方の画像上の位置とを、前記対応点抽出工程により抽出された対応点のそれぞれについて比較し、比較した結果に基づいて、当該対応点を除去する対応点除去工程を有することを特徴とする請求項6又は7に記載の視線位置検出方法。
【請求項9】
前記対応点抽出工程は、前記視野画像特徴点抽出工程により抽出された視野画像の特徴点の特徴量と、前記視認対象画像特徴点抽出工程により抽出された視認対象画像の特徴点の特徴量との誤差を導出する導出工程と、
前記視認対象画像特徴点抽出工程により抽出された視認対象画像の特徴点の中から、前記視野画像特徴点抽出工程により抽出された視野画像の特徴点に対し、前記導出工程により導出された誤差が最も小さくなる視認対象画像の特徴点と、該誤差が二番目に小さくなる視認対象画像の特徴点とを探索する探索工程と、
前記誤差が最も小さくなる視認対象画像の特徴点の誤差と、前記誤差が二番目に小さくなる視認対象画像の特徴点の誤差との差が閾値よりも大きい場合に、前記視野画像の特徴点と、前記誤差が最も小さくなる視認対象画像の特徴点とを、前記対応点として抽出する抽出工程と、を更に有することを特徴とする請求項6〜8の何れか1項に記載の視線位置検出方法。
【請求項10】
前記視認対象画像特徴点抽出工程は、前記視認対象画像取得工程で取得された視認対象画像の特徴点を、SIFT(Scale-Invariant Feature Transform)によって抽出し、
前記視野画像特徴点抽出工程は、前記視野画像取得工程により取得された視野画像の特徴点を、SIFT(Scale-Invariant Feature Transform)によって抽出することを特徴とする請求項6〜9の何れか1項に記載の視線位置検出方法。
【請求項11】
請求項6〜10の何れか1項に記載の視線位置検出方法の各工程をコンピュータに実行させることを特徴とするコンピュータプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2012−146199(P2012−146199A)
【公開日】平成24年8月2日(2012.8.2)
【国際特許分類】
【出願番号】特願2011−5080(P2011−5080)
【出願日】平成23年1月13日(2011.1.13)
【出願人】(000006655)新日本製鐵株式会社 (6,474)
【Fターム(参考)】
【公開日】平成24年8月2日(2012.8.2)
【国際特許分類】
【出願日】平成23年1月13日(2011.1.13)
【出願人】(000006655)新日本製鐵株式会社 (6,474)
【Fターム(参考)】
[ Back to top ]