JP6485819B2 - 視線検出システム、ずれ検出方法、ずれ検出プログラム - Google Patents

視線検出システム、ずれ検出方法、ずれ検出プログラム Download PDF

Info

Publication number
JP6485819B2
JP6485819B2 JP2017143702A JP2017143702A JP6485819B2 JP 6485819 B2 JP6485819 B2 JP 6485819B2 JP 2017143702 A JP2017143702 A JP 2017143702A JP 2017143702 A JP2017143702 A JP 2017143702A JP 6485819 B2 JP6485819 B2 JP 6485819B2
Authority
JP
Japan
Prior art keywords
user
vector
unit
line
center
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017143702A
Other languages
English (en)
Other versions
JP2018026120A (ja
Inventor
チョ ジョアン
チョ ジョアン
ロックラン ウィルソン
ロックラン ウィルソン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FOVE, INC.
Original Assignee
FOVE, INC.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by FOVE, INC. filed Critical FOVE, INC.
Priority to CN201710623538.1A priority Critical patent/CN107665040A/zh
Priority to US15/661,467 priority patent/US10409368B2/en
Priority to TW106125372A priority patent/TW201816547A/zh
Priority to KR1020170095026A priority patent/KR20180012713A/ko
Publication of JP2018026120A publication Critical patent/JP2018026120A/ja
Application granted granted Critical
Publication of JP6485819B2 publication Critical patent/JP6485819B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/193Preprocessing; Feature extraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/56Cameras or camera modules comprising electronic image sensors; Control thereof provided with illuminating means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10048Infrared image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20061Hough transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30004Biomedical image processing
    • G06T2207/30041Eye; Retina; Ophthalmic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • G06T2207/30208Marker matrix

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Ophthalmology & Optometry (AREA)
  • Signal Processing (AREA)
  • Eye Examination Apparatus (AREA)
  • Position Input By Displaying (AREA)
  • Optics & Photonics (AREA)

Description

この発明は、視線検出システムに関し、特にヘッドマウントディスプレイを用いた視線検出技術に関する。
従来、ユーザが注視している箇所を特定する視線検出においては、事前にキャリブレーションを行って、ユーザの視線の基本情報を予め取得しておくことで実現する。特許文献1には、キャリブレーションを行って、視線検出を行う技術が開示されている。
近年においては、ユーザが頭部に装着して使用するヘッドマウントディスプレイやディスプレイグラスなどにおいても視線検出を実現することが試みられている。そのような場合においても上述のキャリブレーションを行ったうえで、視線検出を行うこととなる。
特開2001−134371号公報
しかしながら、これは、ユーザと、ヘッドマウントディスプレイやディスプレイグラスとの相対位置関係が変わらないことが前提となっている。そのため、例えば、ヘッドマウントディスプレイが使用中に、図13に示すように、物理的にずれた場合には、視線検出の検出位置の精度が低下するという問題があった。そのため、ヘッドマウントディスプレイのユーザへの装着状態のずれを検出することは視線検出の精度低下を発見するためにも重要な課題であった。図13に示す例では、ユーザの頭部に装着したヘッドマウントディスプレイ100が点線150t1における状態から、実線150t2に示す状態に上にずれた場合を示している。なお、これは、ずれの一例を示しているにすぎず、下にずれる他、片側が上下にずれたりする場合なども含まれ、いずれのずれ方をしても、視線検出の検出位置の精度が低下するという問題がある。そのため、このずれを検出する手法の開発が望まれている。
本発明は、上記問題に鑑みてなされたものであり、ヘッドマウントディスプレイのようなユーザの頭部に装着して使用する装着具のズレが発生したような場合にそのずれを検出することができる視線検出システムを提供することを目的とする。
上記課題を解決するために、本発明のある態様は、ユーザが装着して使用する装着具を含む視線検出システムであって、ユーザの眼に非可視光を照射する複数の照射部と、非可視光に基づいてユーザの眼を撮像するカメラと、カメラが撮像した撮像画像からユーザの瞳孔中心を特定する瞳孔特定部と、複数の照射部の配置位置と、複数の照射部からユーザの眼に照射した照射光の照射位置と、カメラの配置位置とに基づいて、ユーザの角膜曲率の中心の位置に関する情報を取得する取得部と、撮像画像における、ユーザの角膜曲率の中心と、瞳孔中心とを結ぶベクトルを特定するベクトル特定部と、ベクトルに基づいてユーザが装着する装着具の装着状態のずれを検出するずれ検出部とを備える。
上記視線検出システムにおいて、視線検出システムは、さらに、複数の照射部と、カメラとの配置位置を示す配置情報を記憶する記憶部を備え、取得部は、記憶部に記憶した複数の照射部のうちの第1の照射部の配置情報と、第1の照射部から照射された非可視光のユーザの眼に対する第1照射位置と、記憶部に記憶した複数の照射部のうち第1の照射部とは異なる第2の照射部の配置情報と、第2の照射部から照射された非可視光のユーザの眼に対する第2照射位置と、カメラの配置位置とに基づいてユーザの角膜曲率の中心の位置に関する情報を取得することとしてもよい。
上記視線検出システムにおいて、取得部は、カメラの中心位置から第1の照射部への第1ベクトルと、カメラの中心位置から第1照射位置への第2ベクトルとを含む第1平面、及び、カメラの中心位置から第2の照射部への第3ベクトルと、カメラの中心位置から第2照射位置への第4ベクトルとを含む第2平面の交線を、ユーザの角膜曲率の中心の位置に関する情報として取得することとしてもよい。
上記視線検出システムにおいて、ベクトル特定部は、交線とカメラのイメージセンサとの交点を撮像画像における、ユーザの角膜曲率の中心としてベクトルを特定することとしてもよい。
上記視線検出システムにおいて、ずれ検出部は、第1の時刻においてベクトル特定部がベクトルとして特定した第1ベクトルの位置と、第1の時刻から所定時間内の第2の時刻においてベクトル特定部がベクトルとして特定した第2ベクトルの位置と、が異なる位置にある場合にずれがあることを検出することとしてもよい。
上記視線検出システムにおいて、装着具は、ヘッドマウントディスプレイであり、視線検出システムは、更に、視線検出装置を含み、装着具は、照射部と、カメラと、撮像画像を視線検出装置に送信する送信部を備え、視線検出装置は、撮像画像を受信する受信部と、瞳孔特定部と、取得部と、ベクトル特定部と、ずれ検出部と、を備えることとしてもよい。
上記視線検出システムにおいて、装着具は、更に、ユーザに画像を提示する表示部を備え、視線検出装置は、更に、撮像画像に基づいて、画像を注視するユーザの注視位置を検出する視線検出部を備えることとしてもよい。
上記視線検出システムにおいて、視線検出装置は、さらに、ずれ検出部が検出したずれに基づいて、視線検出部が検出したユーザの注視位置を補正する補正部を備えることとしてもよい。
また、本発明のある態様は、ユーザが装着する装着具の装着状態のずれを検出するずれ検出方法であって、ユーザの眼に非可視光を複数の照射部から照射する照射ステップと、非可視光に基づいてユーザの眼を撮像するカメラを用いて撮像する撮像ステップと、撮像ステップにおいて撮像した撮像画像からユーザの瞳孔中心を特定する瞳孔特定ステップと、複数の照射部の配置位置と、複数の照射部からユーザの眼に照射した照射光の照射位置と、カメラの配置位置とに基づいて、ユーザの角膜曲率の中心の位置に関する情報を取得する取得ステップと、撮像画像における、ユーザの角膜曲率の中心と、瞳孔中心とを結ぶベクトルを特定するベクトル特定ステップと、ベクトルに基づいてユーザが装着する装着具の装着状態のずれを検出するずれ検出ステップとを含む。
また、本発明のある態様は、ユーザが装着して使用する装着具の装着状態のずれを検出するずれ検出プログラムであって、コンピュータに、ユーザの眼に非可視光を照射する複数の照射から照射した非可視光に基づいてユーザの眼を撮像するカメラから撮像した撮像画像を取得する撮像画像取得機能と、撮像画像からユーザの瞳孔中心を特定する瞳孔特定機能と、複数の照射部の配置位置と、複数の照射部からユーザの眼に照射した照射光の照射位置と、カメラの配置位置とに基づいて、ユーザの角膜曲率の中心の位置に関する情報を取得する取得機能と、撮像画像における、ユーザの角膜曲率の中心と、瞳孔中心とを結ぶベクトルを特定するベクトル特定機能と、ベクトルに基づいてユーザが装着する装着具の装着状態のずれを検出するずれ検出機能とを実現させる。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、ヘッドマウントディスプレイ等に代表される装着具において、その装着状態のずれを検出する技術を提供することができる。
視線検出システムの構成を示す図である。 ヘッドマウントディスプレイをユーザが装着した様子を示す外観図である。 ヘッドマウントディスプレイの画像表示系の概観を模式的に示す斜視図である。 ヘッドマウントディスプレイの画像表示系の光学構成を模式的に示す図である。 視線検出システムの構成を示すブロック図である。 視線方向の検出のためのキャリブレーションを説明する模式図である。 ユーザの角膜の位置座標を説明する模式図である。 ずれ検出の概要を模式的に説明するための斜視図である。 眼球のイメージ図である。 ずれ検出の概要を模式的に説明するための平面図である。 ヘッドマウントディスプレイのずれと、イメージセンサへの写像の関係例を示す図である。 視線検出システムの動作を示すフローチャートである。 ヘッドマウントディスプレイがずれる様子を示す図である。 視線検出システムの構成を示す図である。
以下、本発明に係る視線検出システムについて図面を参照しながら詳細に説明する。
<実施の形態1>
<構成>
図1に示すように、本発明に係る視線検出システム1は、装着具100を含む。
装着具100は、ユーザが装着して使用するデバイスであり、例えば、ヘッドマウントディスプレイや、ウェアグラスなどに代表されるウェアラブル端末である。
視線検出システム1は、照射部121と、カメラ116と、瞳孔特定部223と、取得部224と、ベクトル特定部225と、ずれ検出部226とを備える。
照射部121は、装着具を装着しているユーザの眼に非可視光を照射する。照射部121は、複数の照射源を有する。照射部121が照射する非可視光は、例えば、ユーザの眼に害が及ばない範囲の近赤外光である。また、照射源は、例えば、LEDライトである。
カメラ116は、照射部121が照射した非可視光に基づいてユーザの眼を撮像する。
瞳孔特定部223は、カメラ116が撮像した撮像画像からユーザの瞳孔中心を特定する。ここで瞳孔中心は、ユーザ300の瞳孔の中心位置に相当する位置であればよく、中心以外には重心であってもよい。
取得部224は、照射部121の複数の照射源の配置位置と、複数の照射源からユーザの眼に照射した照射光の照射位置と、カメラ116の配置とに基づいて、ユーザの角膜曲率の中心の位置に関する情報を取得する。ここでは角膜曲率の中心と記載しているが、これは、角膜曲率の重心位置であってもよい。配置位置や照射位置は、視線検出システムにおいてそれぞれの位置を特定できる座標情報であってもよいし、基本位置(例えば、視線検出システム上で設定した原点)からの方向と距離を示す情報であってもよい。また、ユーザの角膜曲率とは、ユーザの角膜が形成する円弧(球)を含む円(球)の中心のことをいう。
ベクトル特定部225は、カメラ116が撮像した撮像画像において、ユーザの角膜距離角中心と、瞳孔中心とを結ぶベクトルを特定する。
ずれ検出部226は、ベクトル特定部225が特定したベクトルに基づいて、ユーザが装着している装着具100の装着状態のずれを検出する。
以下、視線検出システム1について更に詳細に説明する。
図2は、実施の形態に係る視線検出システム1の概観を模式的に示す図である。実施の形態に係る視線検出システム1は、装着具100の一例として示したヘッドマウントディスプレイ100と視線検出装置200とを含む。以下においては、装着具100は、ヘッドマウントディスプレイ100と記載する。図2に示すように、ヘッドマウントディスプレイ100は、ユーザ300の頭部に装着して使用される。
視線検出装置200は、ヘッドマウントディスプレイ100を装着したユーザの右目及び左目の少なくとも一方の視線方向を検出し、ユーザの焦点、すなわち、ユーザがヘッドマウントディスプレイに表示されている三次元画像において注視している箇所を特定する。また、視線検出装置200は、ヘッドマウントディスプレイ100が表示する映像を生成する映像生成装置としても機能する。限定はしないが、一例として、視線検出装置200は、据え置き型のゲーム機、携帯ゲーム機、PC、タブレット、スマートフォン、ファブレット、ビデオプレイヤ、テレビ等の映像を再生可能な装置である。視線検出装置200は、ヘッドマウントディスプレイ100と無線または有線で接続する。図2に示す例では、視線検出装置200はヘッドマウントディスプレイ100と無線で接続している。視線検出装置200がヘッドマウントディスプレイ100との無線接続は、例えば既知のWi−Fi(登録商標)やBluetooth(登録商標)等の無線通信技術を用いて実現できる。限定はしないが、一例として、ヘッドマウントディスプレイ100と視線検出装置200との間における映像の伝送は、Miracast(商標)やWiGig(商標)、WHDI(商標)等の規格に則って実行される。
なお、図2は、ヘッドマウントディスプレイ100と視線検出装置200とが異なる装置である場合の例を示している。しかしながら、視線検出装置200はヘッドマウントディスプレイ100に内蔵されてもよい。
ヘッドマウントディスプレイ100は、筐体150、装着具160、およびヘッドフォン170を備える。筐体150は、画像表示素子などユーザ300に映像を提示するための画像表示系や、図示しないWi−FiモジュールやBluetooth(登録商標)モジュール等の無線伝送モジュールを収容する。装着具160は、ヘッドマウントディスプレイ100をユーザ300の頭部に装着する。装着具160は例えば、ベルトや伸縮性の帯等で実現できる。ユーザ300が装着具160を用いてヘッドマウントディスプレイ100を装着すると、筐体150はユーザ300の眼を覆う位置に配置される。このため、ユーザ300がヘッドマウントディスプレイ100を装着すると、ユーザ300の視界は筐体150によって遮られる。
ヘッドフォン170は、視線検出装置200が再生する映像の音声を出力する。ヘッドフォン170はヘッドマウントディスプレイ100に固定されなくてもよい。ユーザ300は、装着具160を用いてヘッドマウントディスプレイ100を装着した状態であっても、ヘッドフォン170を自由に着脱することができる。
図3は、実施の形態に係るヘッドマウントディスプレイ100の画像表示系130の概観を模式的に示す斜視図である。より具体的に、図3は、実施の形態に係る筐体150のうち、ヘッドマウントディスプレイ100を装着したときにユーザ300の角膜302に対向する領域を示す図である。
図3に示すように、左目用凸レンズ114aは、ユーザ300がヘッドマウントディスプレイ100を装着したときに、ユーザ300の左目の角膜302aと対向する位置となるように配置される。同様に、右目用凸レンズ114bは、ユーザ300がヘッドマウントディスプレイ100を装着したときに、ユーザ300の右目の角膜302bと対向する位置となるように配置される。左目用凸レンズ114aと右目用凸レンズ114bとは、それぞれ左目用レンズ保持部152aと右目用レンズ保持部152bとに把持されている。
以下本明細書において、左目用凸レンズ114aと右目用凸レンズ114bとを特に区別する場合を除いて、単に「凸レンズ114」と記載する。同様に、ユーザ300の左目の角膜302aとユーザ300の右目の角膜302bとを特に区別する場合を除いて、単に「角膜302」と記載する。左目用レンズ保持部152aと右目用レンズ保持部152bとも、特に区別する場合を除いて「レンズ保持部152」と記載する。
レンズ保持部152には、複数の赤外光源103が備えられている。煩雑となることを避けるために、図3においてはユーザ300の左目の角膜302aに対して赤外光を照射する赤外光源をまとめて赤外光源103aで示し、ユーザ300の右目の角膜302bに対して赤外光を照射する赤外光源をまとめて赤外光源103bで示す。以下、赤外光源103aと赤外光源103bとを特に区別する場合を除いて「赤外光源103」と記載する。図3に示す例では、左目用レンズ保持部152aには6つの赤外光源103aが備えられている。同様に、右目用レンズ保持部152bにも6つの赤外光源103bが備えられている。このように、赤外光源103を凸レンズ114に直接配置せず、凸レンズ114を把持するレンズ保持部152に配置することにより、赤外光源103の取り付けが容易となる。一般にレンズ保持部152は樹脂等で構成されるため、ガラス等から構成される凸レンズ114よりも赤外光源103を取り付けるための加工が容易でからである。
上述したように、レンズ保持部152は凸レンズ114を把持する部材である。したがって、レンズ保持部152に備えられた赤外光源103は、凸レンズ114の周囲に配置されることになる。なお、ここでは、それぞれの眼に対して赤外光を照射する赤外光源103を6つとしているが、この数はこれに限定されるものではなく、それぞれの眼に対応して少なくとも1つあればよく、2以上配されているのが望ましい。
図4は、実施の形態に係る筐体150が収容する画像表示系130の光学構成を模式的に示す図であり、図3に示す筐体150を左目側の側面から見た場合の図である。画像表示系130は、赤外光源103、画像表示素子108、ホットミラー112、凸レンズ114、カメラ116、および第1通信部118を備える。
赤外光源103は、近赤外(700nm〜2500nm程度)の波長帯域の光を照射可能な光源である。近赤外光は、一般に、ユーザ300の肉眼では観測ができない非可視光の波長帯域の光である。
画像表示素子108は、ユーザ300に提示するための画像を表示する。画像表示素子108が表示する画像は、視線検出装置200内の映像生成部222が生成する。映像生成部222については後述する。画像表示素子108は、例えば既知のLCD(Liquid Crystal Display)や有機ELディスプレイ(Organic Electro Luminescence Display)等を用いて実現できる。
ホットミラー112は、ユーザ300がヘッドマウントディスプレイ100を装着したときに、画像表示素子108とユーザ300の角膜302との間に配置される。ホットミラー112は、画像表示素子108が生成する可視光は透過するが、近赤外光は反射する性質を持つ。
凸レンズ114は、ホットミラー112に対して、画像表示素子108の反対側に配置される。言い換えると、凸レンズ114は、ユーザ300がヘッドマウントディスプレイ100を装着したときに、ホットミラー112とユーザ300の角膜302との間に配置される。すなわち、凸レンズ114は、ヘッドマウントディスプレイ100がユーザ300に装着されたときに、ユーザ300の角膜302に対向する位置に配置される。
凸レンズ114はホットミラー112を透過する画像表示光を集光する。このため、凸レンズ114は、画像表示素子108が生成する画像を拡大してユーザ300に提示する画像拡大部として機能する。なお、説明の便宜上、図3では凸レンズ114をひとつのみ示しているが、凸レンズ114は、種々のレンズを組み合わせて構成されるレンズ群であってもよいし、一方が曲率を持ち、他方が平面の片凸レンズであってもよい。
複数の赤外光源103は、凸レンズ114の周囲に配置されている。赤外光源103は、ユーザ300の角膜302に向けて赤外光を照射する。
図示はしないが、実施の形態に係るヘッドマウントディスプレイ100の画像表示系130は画像表示素子108を二つ備えており、ユーザ300の右目に提示するための画像と左目に提示するための画像とを独立に生成することができる。このため、実施の形態に係るヘッドマウントディスプレイ100は、ユーザ300の右目と左目とに、それぞれ右目用の視差画像と左目用の視差画像とを提示することができる。これにより、実施の形態に係るヘッドマウントディスプレイ100は、ユーザ300に対して奥行き感を持った立体映像を提示することができる。
上述したように、ホットミラー112は、可視光を透過し、近赤外光を反射する。したがって、画像表示素子108が照射する画像光はホットミラー112を透過してユーザ300の角膜302まで到達する。また赤外光源103から照射され、凸レンズ114の内部の反射領域で反射された赤外光は、ユーザ300の角膜302に到達する。
ユーザ300の角膜302に到達した赤外光は、ユーザ300の角膜302で反射され、再び凸レンズ114の方向に向かう。この赤外光は凸レンズ114を透過し、ホットミラー112で反射される。カメラ116は可視光を遮断するフィルタを備えており、ホットミラー112で反射された近赤外光を撮像する。すなわち、カメラ116は、赤外光源103から照射され、ユーザ300の眼で角膜反射された近赤外光を撮像する近赤外カメラである。
なお、図示はしないが、実施の形態に係るヘッドマウントディスプレイ100の画像表示系130は、カメラ116を二つ、すなわち、右目で反射された赤外光を含む画像を撮像する第1撮像部と、左目で反射された赤外光を含む画像を撮像する第2撮像部とを備える。これにより、ユーザ300の右目及び左目の双方の視線方向を検出するための画像を取得することができる。
第1通信部118は、カメラ116が撮像した画像を、ユーザ300の視線方向を検出する視線検出装置200に出力する。具体的には、第1通信部118は、カメラ116が撮像した画像を視線検出装置200に送信する。視線方向検出部として機能する視線検出部221の詳細については後述するが、視線検出装置200のCPU(Central Processing Unit)が実行する視線検出プログラムによって実現される。なお、ヘッドマウントディスプレイ100がCPUやメモリ等の計算リソースを持っている場合には、ヘッドマウントディスプレイ100のCPUが視線方向検出部を実現するプログラムを実行してもよい。
詳細は後述するが、カメラ116が撮像する画像には、ユーザ300の角膜302で反射された近赤外光に起因する輝点と、近赤外の波長帯域で観察されるユーザ300の角膜302を含む眼の画像とが撮像されている。赤外光源からの近赤外光は、ある程度の指向性を有するものの、ある程度の拡散光も照射しており、ユーザ300の眼の画像は、当該拡散光により撮像される。
以上は、実施の形態に係る画像表示系130のうち主にユーザ300の左目に画像を提示するための構成について説明したが、ユーザ300の右目に画像を提示するための構成は上記と同様である。
図5は、視線検出システム1に係るヘッドマウントディスプレイ100と視線検出装置200との詳細構成を示すブロック図である。
図5に示すように、ヘッドマウントディスプレイ100は、第1通信部118と、表示部120と、照射部121と、撮像部122と、画像処理部123とを備える。
第1通信部118は、視線検出装置200と通信を実行する機能を有する通信インターフェースである。上述したとおり、第1通信部118は、有線通信又は無線通信により第2通信部220と通信を実行する。使用可能な通信規格の例は上述した通りである。第1通信部118は、撮像部124または画像処理部123から伝送された視線検出に用いる画像データ(撮像画像のデータ)を第2通信部220に送信する。また、第1通信部118は、視線検出装置200から送信された画像データやマーカー画像を表示部120に伝達する。画像データは、一例として、仮想空間画像を表示するためのデータであったり、ゲームコンテンツ画像であったりする。また、画像データは、三次元画像を表示するための右目用視差画像と、左目用視差画像とからなる視差画像対であってもよい。
表示部120は、第1通信部118から伝達された画像データであって、映像生成部222により生成された画像データを画像表示素子108に表示する機能を有する。また、表示部120は、映像生成部222から出力されたマーカー画像を画像表示素子108の指定されている座標に表示する。
照射部121は、赤外光源103を制御し、ユーザの右目又は左目に近赤外光を照射する。
撮像部122は、カメラ116を用いて、それぞれの目で反射された近赤外光を含む画像を撮像する。また、撮像部122は、画像表示素子108に表示されたマーカー画像を注視するユーザの眼を含む画像を撮像する。撮像部122は、撮像して得た画像を、第1通信部118又は画像処理部123に伝達する。
以上が、ヘッドマウントディスプレイ100の構成の説明である。次に、視線検出装置200について詳細に説明する。
図5に示すように、視線検出装置200は、第2通信部220と、視線検出部221と、映像生成部222と、瞳孔特定部223と、取得部224と、ベクトル特定部225と、ずれ検出部226と、補正部227と、記憶部228とを備える。
第2通信部220は、ヘッドマウントディスプレイ100の第1通信部118と通信を実行する機能を有する通信インターフェースである。上述したとおり、第2通信部220は、有線通信又は無線通信により第1通信部118と通信を実行する。第2通信部220は、映像生成部222から伝達された1以上の広告を含む仮想空間画像を表示するための画像データや、キャリブレーションのために用いるマーカー画像などをヘッドマウントディスプレイ100に送信する。また、ヘッドマウントディスプレイ100から伝達された撮像部122により撮像されたマーカー画像を注視するユーザの眼を含む画像や、映像生成部222が出力した画像データに基づいて表示された画像を見るユーザの眼を撮像した撮像画像を視線検出部221や瞳孔特定部223、取得部224に伝達する。
視線検出部221は、第2通信部220からユーザの右目の視線検出用の画像データ(撮像画像)を受け付けて、ユーザの右目の視線方向を検出する。同様に、第2通信部220からユーザの左目の視線検出用の画像データを受け付けて、ユーザ300の左目の視線方向を検出する。より具体的には、視線検出部221は、後述する視線検出手法により、ユーザが画像表示素子108において表示されている画像の注視している箇所を特定する。視線検出部221は、ユーザが注視している箇所(画像表示素子108における注視座標)を映像生成部222に伝達する。
映像生成部222は、ヘッドマウントディスプレイ100の表示部120に表示させる画像データを生成し、第2通信部220に伝達する。また、映像生成部222は、視線検出のためのキャリブレーションのためのマーカー画像を生成し、その表示座標位置と共に、第2通信部220に伝達して、ヘッドマウントディスプレイ100に送信させる。また、映像生成部222は、視線検出部221または補正部227から出力されたユーザの注視に基づいて映像を生成し、そのデータを第2通信部220に伝達する。例えば、映像生成部222は、注視位置の解像度が高い映像データを生成して、第2通信部に伝達する。
瞳孔特定部223は、第2通信部220からユーザの眼を撮像した撮像画像を受け取って、解析する。瞳孔特定部223は、撮像画像中の瞳孔中心の座標位置を特定し、特定した座標位置をベクトル特定部225に伝達する。
取得部224は、記憶部228に記憶されているカメラ116の中心から第1の赤外光源の位置までのベクトルと、カメラ116の中心から撮像画像における第1の赤外光源からの照射位置へのベクトルとから、両ベクトルを通る平面を特定する。当該平面上のどこかに、ユーザ300の眼の角膜曲率の中心が存在する。同様に、取得部224は、記憶部228に記憶されているカメラ116の中心から第2の赤外光源の位置までのベクトルと、カメラ116の中心から撮像画像における第2の赤外光源からの照射位置へのベクトルとから、両ベクトルを通る平面を特定する。この平面上のどこかにも、ユーザ300の眼の角膜曲率の中心が存在する。そして、特定した2つの平面の交線を示す交線ベクトルを特定する。取得部224は、ユーザ300の角膜曲率の中心に関する情報として、角膜曲率の中心を通る交線ベクトルの情報を、ベクトル特定部225に伝達する。
ベクトル特定部225は、瞳孔特定部223が特定した瞳孔中心の座標位置と、取得部224から伝達された交線ベクトルと、から撮像画像においてユーザの眼の角膜曲率の中心から、瞳孔中心へのベクトルVを特定する。ベクトル特定部225は、取得部224が取得した交線ベクトルと、カメラ116のイメージセンサとの仮想上の交点、即ち、撮像画像上における座標位置を特定する。そして、交線ベクトルとイメージセンサとの交点を角膜曲率の中心とし、そこから、瞳孔中心までのベクトルVを特定する。当該ベクトルVは、ベクトルの始端(角膜曲率の中心)とベクトルの終端(瞳孔中心)との情報を含む。ベクトル特定部225は、特定したベクトルVをずれ検出部226に伝達する。
ずれ検出部226は、ベクトル特定部225が第1の時間t1において特定したベクトルV1と、第2の時間t2において特定したベクトルV2とのそれぞれの位置座標を比較して、ユーザが装着しているヘッドマウントディスプレイ100がずれているか否かを判定する。ずれ検出部226は、ベクトルV1とベクトルV2との長さと向きが所定範囲内(誤差の範囲内)で一致し、位置座標が所定以上一致しない場合に、ユーザが装着しているヘッドマウントディスプレイ100の装着状態がずれていると判定する。それ以外の場合に、ずれ検出部226は、ユーザが装着しているヘッドマウントディスプレイ100はずれていないと判定する。
補正部227は、視線検出部221が検出したユーザ300の注視位置を、ずれ検出部226が検出したずれ量に基づいて補正する機能を有する。これにより、仮にユーザ300が装着しているヘッドマウントディスプレイ100がずれてしまったとしても、検出したユーザの注視位置に補正をかけて、正しくユーザが注視している位置を算出することができる。
記憶部228は、視線検出装置200が動作上必要とする各種プログラムやデータを記憶する記録媒体である。記憶部228は、例えば、HDD(Hard Disc Drive)、SSD(Solid State Drive)などにより実現される。記憶部228は、視線検出部221が視線検出に用いる視線検出プログラムや、瞳孔特定部223、取得部224、ベクトル特定部225、ずれ検出部226が利用するずれ検出プログラムや、カメラ116から各赤外光源へのベクトル情報などを記憶している。
以上が視線検出装置200の構成の説明である。次に、ユーザの注視点の検出について説明する。
図6は、実施の形態に係る視線方向の検出のためのキャリブレーションを説明する模式図である。ユーザ300の視線方向は、カメラ116が撮像し第1通信部118が視線検出装置200に出力した映像を、視線検出装置200内の視線検出部221及び視線検出部221が解析することにより実現される。
映像生成部222は、図6に示すような点Q〜Qまでの9つの点(マーカー画像)を生成し、ヘッドマウントディスプレイ100の画像表示素子108に表示させる。視線検出装置200は、点Q〜点Qに到るまで順番にユーザ300に注視させる。このとき、ユーザ300は首を動かさずに極力眼球の動きのみで各点を注視するように求められる。カメラ116は、ユーザ300が点Q〜Qまでの9つの点を注視しているときのユーザ300の角膜302を含む画像を撮像する。
図7は、ユーザ300の角膜302の位置座標を説明する模式図である。視線検出装置200内の視線検出部221は、カメラ116が撮像した画像を解析して赤外光に由来する輝点105を検出する。ユーザ300が眼球の動きのみで各点を注視しているときは、ユーザがいずれの点を注視している場合であっても、輝点105の位置は動かないと考えられる。そこで視線検出部221は、検出した輝点105をもとに、カメラ116が撮像した画像中に2次元座標系306を設定する。
視線検出部221はまた、カメラ116が撮像した画像を解析することにより、ユーザ300の角膜302の中心Pを検出する。これは例えばハフ変換やエッジ抽出処理等、既知の画像処理を用いることで実現できる。これにより、視線検出部221は、設定した2次元座標系306におけるユーザ300の角膜302の中心Pの座標を取得できる。
図6において、画像表示素子108が表示する表示画面に設定された2次元座標系における点Q〜点Qの座標をそれぞれQ(x,y,Q(x,y・・・,Q(x,xとする。各座標は、例えば各点の中心に位置する画素の番号となる。また、ユーザ300が点Q〜点Qを注視しているときの、ユーザ300角膜302の中心Pを、それぞれ点P〜Pとする。このとき、2次元座標系306における点P〜Pの座標をそれぞれP(X,Y,P(X,Y,・・・,P(X,Yとする。なお、Tはベクトルまたは行列の転置を表す。
いま、2×2の大きさの行列Mを以下の式(1)のように定義する。
Figure 0006485819
このとき、行列Mが以下の式(2)を満たせば、行列Mはユーザ300の視線方向を画像表示素子108が表示する画像面に射影する行列となる。
=MP (N=1,・・・,9) (2)
上記式(2)を具体的に書き下すと以下の式(3)のようになる。
Figure 0006485819
式(3)を変形すると以下の式(4)を得る。
Figure 0006485819
ここで、
Figure 0006485819
とおくと、以下の式(5)を得る。
y=Ax (5)
式(5)において、ベクトルyの要素は視線検出部221が画像表示素子108に表示させる点Q〜Qの座標であるため既知である。また、行列Aの要素はユーザ300の角膜302の頂点Pの座標であるため取得できる。したがって、視線検出部221は、ベクトルyおよび行列Aを取得することができる。なお、変換行列Mの要素を並べたベクトルであるベクトルxは未知である。したがって、行列Mを推定する問題は、ベクトルyと行列Aとが既知であるとき、未知ベクトルxを求める問題となる。
式(5)は、未知数の数(すなわちベクトルxの要素数4)よりも式の数(すなわち、視線検出部221がキャリブレーション時にユーザ300に提示した点Qの数)が多ければ、優決定問題となる。式(5)に示す例では、式の数は9つであるため、優決定問題である。
ベクトルyとベクトルAxとの誤差ベクトルをベクトルeとする。すなわち、e=y−Axである。このとき、ベクトルeの要素の二乗和を最小にするという意味で最適なベクトルxoptは、以下の式(6)で求められる。
opt=(AA)−1y (6)
ここで「−1」は逆行列を示す。
視線検出部221は、求めたベクトルxoptの要素を用いることで、式(1)の行列Mを構成する。これにより、視線検出部221は、ユーザ300の角膜302の頂点Pの座標と行列Mとを用いることで、式(2)にしたがい、ユーザ300の右目が画像表示素子108に表示される動画像上のどこを注視しているかを推定できる。ここで、視線検出部221は、更に、ユーザの眼と、画像表示素子108間の距離情報をヘッドマウントディスプレイ100から受信し、その距離情報に応じて、推定したユーザが注視している座標値を修正する。なお、ユーザの眼と画像表示素子108との間の距離による注視位置の推定のずれは誤差の範囲として無視してもよい。これにより、視線検出部221は、画像表示素子108上の右目の注視点と、ユーザの右目の角膜の頂点とを結ぶ右目視線ベクトルを算出することができる。同様に、視線検出部221は、画像表示素子108上の左目の注視点と、ユーザの左目の角膜の頂点とを結ぶ左目視線ベクトルを算出することができる。なお、片目だけの視線ベクトルで2次元平面上でのユーザの注視点を特定することができ、両眼の視線ベクトルを得ることでユーザの注視点の奥行き方向の情報まで算出することができる。視線検出装置200はこのようにしてユーザの注視点を特定することができる。なお、ここに示した注視点の特定方法は一例であり、本実施の形態に示した以外の手法を用いて、ユーザの注視点を特定してもよい。
次に、ずれ検出部226によるずれの検出について説明する。
図8は、本発明に係る撮像系を示す模式図であり、ずれ検出部226が、装着のずれを検出するために用いるベクトル840を概念的に説明するための図である。
図8は、カメラ116がユーザの眼を撮像する様子を示す概念図である。また、図10は、図8を平面的に見た場合の平面図である。ここでは、ユーザの眼(右目)に、赤外光源L1、L2から非可視光(近赤外光)が照射されている様子をカメラ116で撮像する例を示している。赤外光源L1、L2は、赤外光源103aのうちのいずれかである。本来であれば、カメラ116との間には、凸レンズ114やホットミラー112が介在する。そして、図3に示すように、カメラ116は、一度ホットミラー112により反射された像を撮像するものであるが、ここでは、説明を簡単にするために、反射していない状態を示している。図8においては、ユーザ300の眼を撮像するカメラ116と、その内部にあるイメージセンサ116pへの写像のイメージを示している。カメラ116は、小型のカメラであり、撮像の光軸は、カメラ116の中心116mに向かって集光することとなる。なお、図8においては、その他の赤外光源については、図面を見やすくするために記載を省略している。
図8や図10において、イメージセンサ116pをカメラ116の外部にあるように示しているが、これは、図面及び説明の内容を分かりやすくするために、このように記載しているに過ぎない。実際には、イメージセンサ116pは、カメラ116の内部に存在する。同様に、図10におけるカメラ116の中心116mもカメラ116の内部に存在する。また、図10におけるXY軸に示される座標系は仮想のものである。
ずれ検出部226は、図8に示すベクトル840を用いてヘッドマウントディスプレイ100の装着状態のずれを検出する。このベクトル840は、ユーザ300の角膜曲率中心から瞳孔中心へのベクトルのイメージセンサ116pへの写像である。図9に示すように、ユーザ300の眼球は真球ではなく、角膜が突出する構造となっていることは周知の事実である。図9に示すように眼球801の端部に角膜302が存在し、凸レンズとなっており、この中心が瞳孔中心804となる。そして、角膜302が真球を描くと仮に想定した場合の球体が角膜球802となる。この角膜球802の中心が角膜302の角膜曲率の中心805となる。上述のベクトル840は、角膜曲率の中心805から瞳孔中心804を結ぶベクトルのイメージセンサ116pへの写像(実質的にイメージセンサ116pに写るのは瞳孔中心804の写像のみであることに注意されたい)である。
図8に示すように、赤外光源L1から照射された近赤外光は、ベクトル832の光軸に示されるようにユーザ300の眼の照射位置806に照射される。この照射光は、ユーザ300の角膜302に反射されて、図8のベクトル826とは逆向きのベクトルの光軸を通ってカメラ116の中心116mに向かう。ユーザ300の眼に写った照射光は、写像816としてイメージセンサ116p上に像を結ぶ。
同様に、赤外光源L2から照射された近赤外光は、ベクトル834の光軸に示されるようにユーザ300の眼の照射位置803に照射される。この照射光は、ユーザ300の角膜302に反射されて、図8のベクトル823とは逆向きのベクトルの光軸を通ってカメラ116の中心116mに向かう。ユーザ300の眼に写った照射光は、写像813として、イメージセンサ116p上に像を結ぶ。
また、赤外光源L1、L2からの拡散光により、ユーザ300の瞳孔中心804もイメージセンサ116p上に、瞳孔写像814として像を結ぶ。
図8において、ベクトル831は、カメラ116の中心116mから赤外光源L1に向かうベクトルであり、ベクトル833は、カメラ116の中心116mから赤外光源L2に向かうベクトルである。
図8において、ベクトル831と、ベクトル832と、ベクトル826は、一つの平面(以下、第1平面と呼称する)を形成し、この第1平面は、ユーザの角膜曲率の中心805を通る。ベクトル831は、上述の通りカメラ116の中心116mから赤外光源L1に向かうベクトルであり、既知のベクトル(実測値)である。ベクトル831の情報については、予め記憶部228に記憶されている。ベクトル826は、カメラ116の中心116mから照射位置806に向かうベクトルであり、図8、図10に示すように、カメラ116の中心116mから、イメージセンサ116pの写像816の延長上にある。カメラ116の中心116mと、イメージセンサ116pとの間の相対位置関係は、既知の値(予め設定された値)であり、記憶部228に記憶されている。したがって、ベクトル826は、カメラ116の中心116mからイメージセンサ116p上の写像816へのベクトルを算出することで、ベクトル826を算出することができる。よって、ベクトル831は、既知の値であり、ベクトル826は、演算により算出することができることから、第1平面をベクトル826と、ベクトル831とから定義することができる。
同様に、ベクトル833と、ベクトル834と、ベクトル823は、一つの平面(以下、第2平面と呼称する)を形成し、この第2平面は、ユーザの角膜曲率の中心805を通る。ベクトル833は、上述の通りカメラ116の中心116mから赤外光源L2に向かうベクトルであり、既知のベクトル(実測値)である。ベクトル833の情報については、予め記憶部228に記憶されている。ベクトル824は、カメラ116の中心116mから照射位置806に向かうベクトルであり、図8、図10に示すように、カメラ116の中心116mから、イメージセンサ116pの写像813の延長上にある。カメラ116の中心116mと、イメージセンサ116pとの間の相対位置関係は、既知の値(予め設定された値)であり、記憶部228に記憶されている。したがって、ベクトル824は、カメラ116の中心116mからイメージセンサ116p上の写像813へのベクトルを算出することで、ベクトル824を算出することができる。よって、ベクトル833は、既知の値であり、ベクトル824は、演算により算出することができることから、第2平面をベクトル824と、ベクトル831とから定義することができる。
二つの平面は、共にユーザ300の角膜曲率の中心805を通ることから、第1平面と第2平面とが成す交線825も又ユーザ300の角膜曲率の中心805を通る。したがって、第1平面と第2平面の交線825を求めることができれば、イメージセンサ116p上への角膜曲率の中心805の仮想的な写像815を、交線825とイメージセンサ116pとの交点として算出することができる。そして、写像815のイメージセンサ116p上での座標を計算できれば、ベクトル840を算出することができる。このようにして、視線検出装置200(瞳孔特定部223、取得部224、ベクトル特定部225)は、ベクトル840を算出する。なお、第1平面と第2平面とが平行になる場合には、ベクトル840は算出することができないので、その場合には、視線検出装置200は、平面を算出するために用いる光源を別の赤外光源103に変更する。
図11は、ずれがイメージセンサ上においてどのように表れるかの例を示す側面図である。図11は、ユーザの眼が点線で示される状態から実線で示される状態にずれた場合を示している。点線で示される状態の時点をt1、実線で示される状態の時点をt2とする。図11の例は、ヘッドマウントディスプレイ100がユーザ300に対して装着状態が上方向にずれた場合の例を示している。
時点t1での角膜曲率の中心から瞳孔中心へのベクトル901は、凸レンズ114及び図示していないがホットミラー112を介して、カメラ116のイメージセンサ116p上のベクトル840t1として検出されたとする。同様に、時点t2での角膜曲率の中心から瞳孔中心へのベクトル901は、凸レンズ114及び図示していないがホットミラー112を介して、カメラ116のイメージセンサ116p上のベクトル840t2として検出されたとする。ずれ検出部226は、このベクトル840t1とベクトル840t2との比較を行って、これらの長さと向きが一致し、その上で、座標位置が異なる場合に、ヘッドマウントディスプレイ100の装着状態がずれたことを検出する。
以下、ベクトル840の算出をより具体的に説明する。
上述の第1平面を定義する座標セットをΠとする。この座標セットΠは以下のように式(7)で定義することができる。
Figure 0006485819
上記式(7)において、ベクトルCGi1は、カメラ116の中心116mから照射位置へのベクトル、即ち、図8、図10におけるベクトル826である。また、ベクトルCLは、カメラ116の中心116mから赤外光源L1へのベクトル、即ち、図8、図10におけるベクトル831である。また、第1平面を定義する最後の要素は、カメラ116の中心116mを仮の原点(0、0、0)として、下記式(8)から算出することができる。
Π1d=d=−(a+b+c)=−(a・0+b・0+c・0)=0 …(8)
平面は、X軸、Y軸、Z軸の3軸の傾きと、原点からの距離によって定義することができる。第1平面は、原点を通るので、原点からの距離を0として定義することができる。したがって、第1平面Πは、以下の式(9)のように定義することができる。
Figure 0006485819
同様にして、第2平面Πも、以下の式(10)のように定義することができる。
Figure 0006485819
上記式(9)及び式(10)から、第1平面と第2平面との交線l12(交線825)は、以下の式(11)のように定義することができる。
Figure 0006485819
角膜曲率の中心805の写像815は、式(11)に示す交線825と、イメージセンサ116pとの交点として算出することができる。よって、ベクトル840は、その交点から瞳孔写像814へのベクトルとして特定することができる。
<動作>
以下、図12のフローチャートを用いて視線検出装置200の動作を説明する。図12は、視線検出装置200が、ユーザが頭部に装着したヘッドマウントディスプレイ100の装着状態のずれを検出する処理を示したフローチャートである。
(ステップS1201)
ステップS1201において、視線検出装置200は、ヘッドマウントディスプレイ100から時刻tにおける撮像画像を取得する。第2通信部220は、時刻tにおける撮像画像を受信すると、記憶部228に記憶するとともに、視線検出部221、瞳孔特定部223、取得部224に伝達する。視線検出部221は、伝達された撮像画像を用いて、ユーザ300の注視箇所を特定する。その後に視線検出装置200は、処理をステップS1202に移行する。
(ステップS1202)
ステップS1202において、撮像画像を伝達された瞳孔特定部223は、撮像画像に画像解析をかけて、撮像画像中のユーザの目の瞳孔中心の座標を特定する。瞳孔特定部223は、特定した瞳孔中心の座標をベクトル特定部225に伝達して、ステップS1203に移行する。
(ステップS1203)
ステップS1203において、撮像画像を伝達された取得部224は、上述した手法を用いて、ユーザ300の角膜曲率の中心を通る交線を特定する。取得部224は、特定した交線をベクトル特定部225に伝達して、ステップS1204に移行する。
(ステップS1204)
ステップS1204において、瞳孔中心と、角膜曲率の中心を通る交線と、を伝達されたベクトル特定部225は、まず、角膜曲率の中心を通る交線が、カメラ116のイメージセンサと交わる交点の座標を特定する、そして、ベクトル特定部225は、特定した交点から、伝達された瞳孔中心へ向かうベクトルV1を算出する。ベクトル特定部225は特定したベクトルV1をずれ検出部226に伝達し、ステップS1205に移行する。
(ステップS1205)
ステップS1205において、第2通信部220は、新たなユーザの目を撮像する撮像画像を得たか否かを判定する。新たな時刻t+1の撮像画像を得るまでは待機する(NO)。新たな時刻t+1の撮像画像を得た場合には(YES)、ステップS1206に移行する。
(ステップS1206)
ステップS1206において、新たな撮像画像を伝達された瞳孔特定部223は、撮像画像に画像解析をかけて、撮像画像中のユーザの目の瞳孔中心の座標を特定する。瞳孔特定部223は、特定した瞳孔中心の座標をベクトル特定部225に伝達して、ステップS1207に移行する。
(ステップS1207)
ステップS1207において、新たな撮像画像を伝達された取得部224は、上述した手法を用いて、ユーザ300の角膜曲率の中心を通る交線を特定する。取得部224は、特定した交線をベクトル特定部225に伝達して、ステップS1208に移行する。
(ステップS1208)
ステップS1208において、瞳孔中心と、角膜曲率の中心を通る交線と、を伝達されたベクトル特定部225は、まず、角膜曲率の中心を通る交線が、カメラ116のイメージセンサと交わる交点の座標を特定する、そして、ベクトル特定部225は、特定した交点から、伝達された瞳孔中心へ向かうベクトルV1を算出する。ベクトル特定部225は特定したベクトルV1をずれ検出部226に伝達し、ステップS1209に移行する。
(ステップS1209)
ステップS1209からステップS1210にかけてずれ検出部226は、ユーザ300が装着しているヘッドマウントディスプレイ100がずれたか否かを判定する。ステップS1209において、ずれ検出部226は、ステップS1204で特定したベクトルV1とステップS1208で特定したベクトルV2との長さが(誤差の範囲内で)等しいか否かを判定する。ベクトルV1とベクトルV2との長さが等しい場合には(YES)、ステップS1210に移行し、等しくない場合には(NO)、処理を終了する。
(ステップS1210)
ステップS1210において、ずれ検出部226は、ベクトルV1の向きとベクトルV2の向きが(誤差の範囲内で)同じか否かを判定する。ベクトルV1の向きとベクトルV2の向きが同じである場合には(YES)、ステップS1211に移行し、同じでない場合には(NO)、処理を終了する。
(ステップS1211)
ステップS1211において、ずれ検出部226は、ベクトルV1とベクトルV2との座標位置が異なるか否かを判定する。ずれ検出部226は、ベクトルV1とベクトルV2との間の距離が所定以上であるか否かを判定することによって、座標位置が異なるか否かを判定することとしてもよいし、ベクトルV1とベクトルV2の始端(又は終端)の座標位置が異なるか否かで判定することとしてもよい。ベクトルV1の座標位置と、ベクトルV2の座標位置とが異なる場合には(YES)、ステップS1212に移行し、異ならない、即ち、ベクトルV1とベクトルV2との座標位置が(誤差の範囲内で)同じである場合には(NO)、処理を終了する。
(ステップS1212)
ステップS1212において、ステップS1209からステップS1211の判定の結果、ずれ検出部226は、ユーザ300が装着しているヘッドマウントディスプレイ100が初期状態から(キャリブレーションを行った時点の装着状態から)、ずれていると判定する。ずれ検出部226は、ベクトルV1とベクトルV2との間のずれ量を補正部227に伝達し、ステップS1213に移行する。ここで、ずれ量は、ベクトルV1からベクトルV2へ向かうベクトルであって、ベクトルV1の始点(又は終点)からベクトルV2の始点(又は終点)に向かうベクトルで示される。
(ステップS1213)
ステップS1213において、補正部227は、ずれ検出部226から伝達されたずれ量に基づいて、視線検出部221が検出した注視位置を補正する。具体的には、補正部227は、視線検出部221が検出した注視位置の座標に対して、ずれ量で示されるベクトルの逆ベクトルを加算した座標位置を、注視位置として出力する。
補正部227から出力された注視位置は、例えば、映像生成部222が生成する映像生成に利用される。具体的には、映像生成部222は、特定した注視位置を中心とする所定範囲の画像の解像度を高解像度にした画像を生成して第2通信部220を介してヘッドマウントディスプレイ100に送信する。またその他には、注視位置は、例えば、視線検出システム1において例えば、ゲームなどのアプリケーションを実行している際の入力位置として利用したり、画像における注目位置を特定することによるマーケティング等に利用したりすることができる。また、ずれ検出部226が、ユーザ300が装着したヘッドマウントディスプレイ100がずれていないと判定した場合には、視線検出装置200は、特に何も処理をしない。
視線検出装置200は、図12に示す処理を、視線検出システム1が稼働し続ける間、逐次実行する。
<まとめ>
上述のように、視線検出システム1は、撮像した撮像画像において、ユーザ300の角膜曲率の中心805のカメラ116のイメージセンサ116pへの仮想の写像815から、瞳孔中心804のイメージセンサ116pへの瞳孔写像814へのベクトル840に基づいて、ユーザ300へのヘッドマウントディスプレイ100の装着状態のずれを検出することができる。ユーザ300は、ヘッドマウントディスプレイ100がずれた瞬間においては、ユーザ300の眼はその直前と同じ状態を保っていることになる。したがって、その直前の撮像画像におけるベクトル840と、ずれた瞬間における撮像画像におけるベクトル840とは、共に同じ長さ、同じ向きになっているはずである。そのような異なる時間におけるベクトル840の長さと向きと座標とを比較することで、ずれ検出部226は、ユーザ300におけるヘッドマウントディスプレイ100の装着状態のずれを検出することができる。このずれの検出にあたっては、角膜曲率の中心805の3次元空間上の座標や、眼球801の中心の3次元空間上での座標を算出するといった複雑な計算が必要ない。そのため、計算量の少ない演算で、ユーザ300におけるヘッドマウントディスプレイ100の装着状態のずれを検出することができる。また、この検出は、ヘッドマウントディスプレイ100に対して、接触センサ等の新たなセンサを設けることなく実現することができるという利点がある。
<実施の形態2>
上記実施の形態1においては、視線検出装置200によるずれの検出及び補正について述べた。しかしながら、上記実施の形態1に係るずれの検出及び補正は、特定のレンズにおいて適用可能となることがある。そこで、本実施の形態2においては、どのような形状のレンズにおいても、装着したヘッドマウントディスプレイのずれを検出し、補正を行う手法について説明する。
(例1)
まず、(例1)では、一ユーザ30について、キャリブレーションを行う手法について述べる。この(例1)においては、上記実施の形態1に示した場合と同様に9つのマーカー画像を表示し、それぞれのマーカー画像を注視するユーザ30の眼を撮像し、その時の瞳孔中心の撮像系における座標値を特定し、マーカー画像の撮像系における座標値と対応付けてキャリブレーションデータを取得する。
撮像画像系におけるユーザの瞳孔中心の座標をX(x、x)とし、対応する画像表示素子108における写像の座標をY(y、y)とする。ここで、f(X)=y、f(X)=yと変換できる写像関数(mapping function)f及び関数fについて考える。なお、関数f及び関数fは、共に二次多項式である。
上記二次多項式として、二乗カーネルを用いた放射基底関数 (radial basis function) を構築する。当該関数により、撮像した画像系におけるユーザの眼の瞳孔中心の座標値から、画像表示素子の座標系におけるユーザの瞳孔中心の写像座標値を推定する。
ユーザの眼を撮像して得られた瞳孔中心の座標に関するデータ群を、X(0<n≦N)とし、2乗カーネルφ(X、X)を、以下のように定義する。なお、ここでNは9とするが、この数は9に限るものではない。
Figure 0006485819
すると、f(X)及びf(X)は、以下のように定義することができる。
Figure 0006485819
Figure 0006485819
ここで、上記式における未知の係数a1及びa2を、以下のように定義づける。
Figure 0006485819
Figure 0006485819
これらの未知の係数を求めるために、最小二乗法を用いる。具体的には、以下に示される数式を解く。
Figure 0006485819
Figure 0006485819
ここで、Aは、N×Nの正方行列である。
上述の通り、ユーザの眼を撮像して得られた瞳孔中心の座標に関するデータ群を、X(0<n≦N)としたときの、画像表示素子の表示系におけるユーザの瞳孔中心の座標に関するデータ群を、Y(0<n≦N)とする。このX及びYは計測により得られたものであるため、既知の値となる。当該データは、上記実施の形態に示したキャリブレーションを行うことにより得られる。即ち、画像表示素子108の特定の座標位置に表示したマーカー画像をユーザが注視し、そのマーカー画像を注視しているユーザの眼を撮像することにより、撮像画像におけるユーザの瞳孔中心の座標と、画像表示素子108の特定の座標位置との対応関係を得ることができる。
このとき、二乗カーネルを、以下のように定義する。
Figure 0006485819
すると、行列Aを以下の式で表すことができる。
Figure 0006485819
この行列Aを分解し、その疑似逆行列Aを、A−1と近似する。すると、a、aを以下の数式から算出することができる。
Figure 0006485819
Figure 0006485819
上記式において、Tは転置を表す。上述の通り、X、Yは、共に既知の値であることから、A−1も既知の行列として算出することができる。また、y1〜y1及びy2〜y2もまた、マーカー画像の表示座標位置であるため、既知の値である。したがって、a及びaは、全て既知の値から算出することができる。
以上に説明した手法により、視線検出装置200の視線検出部221は、算出された係数a、aを用いて、写像座標値Yを算出することができる。即ち、視線検出部221は、注視点Youtを、撮像画像から得られた瞳孔中心Xoutから、f(Xout)と、f(Xout)とを演算することにより推定することができる。
(例2)
上記(例1)においては、ユーザ自身のキャリブレーション時のデータを用いた推測を行うこととした。この(例2)においては、ユーザ自身のキャリブレーションデータが少ない状態でも、注視位置の推定を行うことができる例を説明する。
当該構成を実現するために、視線検出装置200の記憶部には、予め、複数のユーザについてキャリブレーションを行ったときの、キャリブレーションデータ(撮像画像のデータとその撮像時に画像表示素子108において注視していた座標位置のデータ)を記憶しておく。そして、それらの中から、実際に、ヘッドマウントディスプレイ100を装着して使用するユーザ30に近いキャリブレーションデータを用い、それに対して補正をかけることで、実際の注視点の特定を実現する。これは、視線検出において、人間の眼の動きは、往々にして、他の人間の眼の動きと似ているという事実を利用するものであり、他人のキャリブレーションデータを補正することで、ユーザ30の注視点の特定を行うものである。そのために、(例2)では、予め複数人のキャリブレーションデータを視線検出装置200の記憶部に記憶しておくとともに、実際にヘッドマウントディスプレイ100を装着するユーザ30については、2つの異なる座標位置に表示されたマーカー画像を注視するユーザ30の眼の撮像画像を用いることで、9点のマーカー画像に対するキャリブレーションを行うよりもキャリブレーションに要する時間を短縮することができる。以下、その手法について詳細に説明する。
まず、最初に観測した第1の瞳孔中心の撮像画像における座標値と、マーカー画像の表示位置の座標値とが(X、Y)、であるとする。すると、h(X´、Y)=0とすると、その変換関数は、以下の式で表すことができる。
Figure 0006485819
一方、第2の瞳孔中心の表示位置の座標値と、マーカー画像の表示位置の座標値とが、(X、Y)であるとする。このとき、両座標値は、以下の数式を満たすと考える。
Figure 0006485819
マーカー画像の座標値に誤差がない場合には、変換係数λは、1となる。ここで、変換係数λは、他人のキャリブレーションデータを、ユーザ30のものとして利用するための補正を行う係数である。
ところで、予め1つのキャリブレーションデータから、撮像した瞳孔中心から、画像表示素子108への写像位置への変換(注視点の特定)を行った場合、この最適化を用いても正確に注視点を特定できず注視点に狂いが生じる可能性がある。そこで、更なる正確性を求めるために、複数人のキャリブレーションデータから、最もヘッドマウントディスプレイ100を装着するユーザ30に適したキャリブレーションデータを選定することで、この狂いを抑制することができる。
(条件1)
上記の最適化後の変換係数は、最適なキャリブレーションデータを選択している場合に、1に近くなる。即ち、下記数式を満たす。
Figure 0006485819
(条件2)
上記の最適化後の変換係数を用いて行った2つマーカー画像を注視する注視点への変換誤差は、最小となる(最も0に近くなる)。即ち、以下の数式を満たす。
Figure 0006485819
(条件3)
推定された瞳孔中心の座標位置と、変換された瞳孔中心の座標位置との誤差は、最小となる(最も0に近くなる)。即ち、以下の数式を満たす。
Figure 0006485819
以上の3つの条件から、複数のキャリブレーションデータの中から、上述の3つの条件を満たすキャリブレーションデータを選択する。即ち、以下の数式を満たすキャリブレーションデータを特定する。
Figure 0006485819
視線検出装置200の視線検出部221は、複数のキャリブレーションデータの中から、最もユーザ30に近いキャリブレーションデータを選択し、選択したキャリブレーションデータに対して、前述の変換係数をかけて、視線検出を行う。
なお、ここでは、3つの条件を用いて、最もユーザ30に最も近いキャリブレーションデータを選択することとしたが、これはその限りではなく、上述の(条件1)〜(条件3)のうちの1つまたは2つだけを用いて、ユーザ30に最も近いキャリブレーションデータを選択することとしてもよい。
以上のように、(例2)の場合には、ヘッドマウントディスプレイ100を装着して使用するユーザのキャリブレーションを行う回数を極力少なくした状態で、視線検出を実現できるので、キャリブレーションに要する時間や手間を軽減することができるとともに、例えば、ヘッドマウントディスプレイ100を使ってゲームをする際のプレイ開始を、キャリブレーションを行う場合に比して、早めることができる。
また、複数のキャリブレーションデータの中から、ユーザ30に最も適したキャリブレーションデータを選択する際に、類似するキャリブレーションデータを複数のグループにグルーピングし、それぞれのグループの代表となるキャリブレーションデータを設定しておき、それらの中からまず、ユーザに最も近いグループを特定し、さらに、特定したグループに含まれるキャリブレーションデータの中からユーザ30に最も近いキャリブレーションデータを選択する構成としてもよい。
(例3)
上記(例1)及び(例2)においては、ユーザに対して装着したHMDが固定の状態の際にキャリブレーションを行った場合の、写像座標位置の算出方法を説明した。この(例3)では、HMDが固定でない場合の例を説明する。この(例3)においては、前提として、以下の条件でキャリブレーションを行うことが必要となる。
(例3)におけるキャリブレーションでは、4点の位置に表示されたマーカー画像それぞれについて、ユーザがヘッドマウントディスプレイ100を実際に少しずつずらしながら、1つのマーカー画像を注視した状態を維持し、その状態を撮像する。この場合のマーカー画像の位置の4点は、上記実施の形態1における9つのマーカー画像の四隅を利用することが望ましい。この撮像では、ヘッドマウントディスプレイがずれた状態であっても正しく注視点を特定できるように、所定フレーム数(例えば、100フレーム)分の撮像画像を取得する。所定フレーム数は、ヘッドマウントディスプレイ100のユーザ30への装着状態の如何に関わらず、注視点を特定するに足るだけのフレーム数を得ることとする。4点それぞれについて、HMDをずらしながら、100フレーム分の撮像画像を得て、キャリブレーションデータ(撮像画像における瞳孔中心の座標値と、角膜曲率の中心の座標値と、その時にユーザが注視していたマーカー画像の画像表示素子108における表示座標との対応関係を示すデータ)を取得する。そして、瞳孔中心の座標値と、角膜曲率の中心の座標値とから、画像表示素子108における注視点の座標値を得る。以下、このようなキャリブレーションを行った場合の、注視点の推定手法について説明する。
X={x、x、x、x}、Y={y、y}とする。
(x、x)=(CCx、CCy)であり、瞳孔中心の撮像座標系における座標値を示す。また、(x、x)=(PCx、PCy)であり、撮像座標系における角膜曲率中心の座標値である。また、(y、y)=(S、S)であり、画像表示素子108の座標系における瞳孔中心の座標値である。
ここで、撮像画像から取得できたXに基づいて、Xを画像表示素子108の座標系における座標値に変換する変換関数g、g、即ち、g(X)=y、g(x)=yは、2次の14項からなる多項式で以下のように表現できる。
Figure 0006485819
Figure 0006485819
上記数式において、未知の係数b1及びb2を以下のように表す。
Figure 0006485819
Figure 0006485819
上記式において、Tは転置を意味する。
この係数を決定するために、最小二乗法を用いることで算出することができる。
即ち、以下の2式を用いて算出することができる。
Figure 0006485819
Figure 0006485819
ここで行列Aは、N×14の行列である。ここで、観察して得られたXn、Yn(nは、0<n≦N)とすると、行列Aは、以下のように表現することができる。
Figure 0006485819
この行列Aを分解し、その疑似逆行列Aを、A−1と近似する。すると、b1、b2を以下の数式から算出することができる。
Figure 0006485819
Figure 0006485819
以上に示す内容から、b1及びb2は、既知の値に基づいて算出することができる。したがって、撮像画像から取得したX(瞳孔中心と角膜曲率の中心それぞれの座標値)に基づいて、画像表示素子108における座標Yを、上記変換式g1及びg2を用いることで、ヘッドマウントディスプレイの装着状態がずれたとしても、正しく、注視点を特定することができる。
さらには、予測された瞳孔中心(P´)は、角膜曲率の座標値に関する情報がある限り、目的関数hを利用して、以下の数式から算出することができる。
Figure 0006485819
そして、画像表示素子108における注視点の座標値は、例え、角膜曲率の中心の座標がなくとも、上述した関数fを用いて、以下の数式に示すように推定することができる。
Figure 0006485819
Figure 0006485819
Figure 0006485819
以上のように、画像表示素子108における4点の座標値と、撮像画像との対応関係をとっておくことで、その補正を行うことができる。(例3)におけるキャリブレーションでは、ユーザが実際にヘッドマウントディスプレイをずらしながら、キャリブレーションを行うことにより、ずれた状態を想定したキャリブレーションデータもとることができる。したがって、実際に使用時にヘッドマウントディスプレイの装着状態が変化したとしても、そのずれを吸収して、注視点を特定することができる。
(例4)
(例4)においては、上記(例3)の変形例を示す。(例4)では、(例3)のずれ検出の簡易版であり、(例2)と同様に、他人のキャリブレーションデータを利用してヘッドマウントディスプレイの装着のずれを吸収して注視点を特定する手法を示す。この(例4)では、角膜曲率の中心を、取得した瞳孔中心と、その画像表示素子108における写像座標とから最適化する手法について説明する。これは、人によって、瞳孔中心に対する角膜曲率の中心が異なるため、他人のキャリブレーションデータを利用する際には、角膜曲率の中心の補正が必要となるためである。
この(例4)におけるキャリブレーションにおいては、左右に配された2つの光源からの光点の中心に、ユーザ30の瞳孔中心がくるように、マーカー画像を動かし、スクリーン座標を設定することにより実現する。この場合には、マーカー画像は中心となるものを表示し、その位置を調整して、スクリーン座標系を設定する。
角膜曲率の中心を変換する変換係数を最適化するための目的関数hgは、視線検出に用いた任意のキャリブレーションデータg(X)を用いることで実現することができる。
Figure 0006485819
上記数式において、(x´、x´)は、h=0としたときに、既知の値であるx、x、y、yから算出することができる。具体的には、以下のように変換係数を設定することができる。
Figure 0006485819
Figure 0006485819
このとき、上述のλ及びλは、以下を満たす。
Figure 0006485819
Figure 0006485819
そして、算出されたλ及びλから、以下の数式を用いて、最終的な、画像表示素子108における注視点を算出することができる。
Figure 0006485819
なお、複数(n個)のマーカーに対してこの測定を行った場合には、下記式が成り立ち、上述と同様にし、未知の係数λ及びλを算出して、注視点を特定することができる。
Figure 0006485819
なお、ここに示した各種の例は、以下の組み合わせで、注視点の特定と装着ずれの注視点に対する補正との実現が可能となる。即ち、例1、例2は、注視点を特定するための手法であり、例3、例4は、ずれを検出し、すれを加味した上での注視点の特定手法を示している。したがって、以下の組み合わせでの運用をする必要がある。
即ち、
(例1)+(例3)
(例2)+(例3)
(例1)+(例4)
(例2)+(例4)
の組み合わせでの運用が考えられ、(例1)と(例2)の組み合わせが最もユーザに特化した注視点の特定ができるので、視線検出の精度が最も高いと言える。即ち、ヘッドマウントディスプレイ100を個人で利用する場合に最も適した運用になると言える。一方、キャリブレーションに要する時間を最も短縮できるのが、(例2)と(例4)との組み合わせである。この場合には、ヘッドマウントディスプレイ100を短時間で、複数のユーザで使いまわすような状況、例えば、ヘッドマウントディスプレイ100をイベントなどで運用する場合に適したキャリブレーションを行うことができる。
<補足>
本発明に係る視線検出システムは、上記実施の形態に限定されるものではなく、その発明の思想を実現するための他の手法により実現されてもよいことは言うまでもない。以下、各種変形例について説明する。
(1)上記実施の形態において、マーカー画像(輝点)を表示した位置は一例であり、ユーザの視線検出を行うために異なる位置に表示され、それぞれを注視するユーザの眼の画像を獲得し、そのときのユーザの眼の中心を特定することができれば、上記実施の形態に示した表示位置に限定されないことは言うまでもない。また、その際にマーカー画像を表示する個数も9つに限定されるものではなく、上記行列xの4つの要素を特定するには、4つの式が成立すればよいので、少なくとも4点のマーカー画像についてのユーザの角膜中心を特定できれば事足りる。
(2)上記実施の形態においては、ユーザ300の視線を検出するために、ユーザ300の眼を撮像する手法として、ホットミラー112で反射させた映像を撮像しているが、これは、ホットミラー112を通さずに直接ユーザ300の眼を撮像してもよい。
(3)上記実施の形態において、ステップS1202とステップS1203は、並列に実行されてもよいし、ステップS1203を先に処理し、ステップS1202を後に処理してもよい。
(4)上記実施の形態においては、特に特定していないが、ユーザ300の角膜曲率の中心は、3つ目の赤外光源からの照射位置を利用して3枚目の角膜曲率の中心を通る平面を特定することで、3枚の角膜曲率の中心を通る平面の交点を、角膜曲率の中心座標として算出することができる。
(5)上記実施の形態においては、凸レンズ114の曲率については、特に記載していないが、ベクトル840の写像が現れる位置に応じて凸レンズ114の曲率に応じた補正を行う必要がある場合がある。当該補正を行うに当たっては、事前に記憶部228に補正に係る補正関数を記憶しておくことで実現することができる。この補正関数は事前のシミュレーションにより適切な関数を視線検出装置200のオペレータが算出して入力しておけばよい。なお、凸レンズ114が平板に近いレンズであれば、この補正は必ずしも必要ではない。
(6)上記実施の形態において、ベクトル840は、逆向きのベクトルであってもよい。即ち、ベクトル840は、ユーザ300の瞳孔中心の瞳孔写像814からユーザ300の角膜曲率の中心805の写像815へのベクトルであってもよい。ずれ検出部226は、このベクトルであっても上記実施の形態に示したものと同様にヘッドマウントディスプレイ100の装着状態のずれを検出することができる。
(7)上記実施の形態において、視線検出部221、映像生成部222、瞳孔特定部223、取得部224、ベクトル特定部225、ずれ検出部226、補正部227は、一つの制御部、即ち、一つのプロセッサにより実現されてもよく、複数の制御部により実現されてもよい。
(8)また、上記実施の形態においては、ユーザに装着した装着具(ヘッドマウントディスプレイ100)のずれを検出するずれ検出の手法として、視線検出装置200のプロセッサがずれ検出プログラム等を実行することにより、ユーザが注視している箇所を特定することとしているが、これは視線検出装置200に集積回路(IC(Integrated Circuit)チップ、LSI(Large Scale Integration))等に形成された論理回路(ハードウェア)や専用回路によって実現してもよい。また、これらの回路は、1または複数の集積回路により実現されてよく、上記実施の形態に示した複数の機能部の機能を1つの集積回路により実現されることとしてもよい。LSIは、集積度の違いにより、VLSI、スーパーLSI、ウルトラLSIなどと呼称されることもある。すなわち、図14に示すように、視線検出システム1は、照射回路120aと、カメラ116と、瞳孔特定回路223aと、取得回路224aと、ベクトル特定回路225aと、ずれ検出回路226aとから構成されてよく、それぞれの機能は、上記実施の形態に示した同様の名称を有する各部と同様である。
また、上記ずれ検出プログラムは、プロセッサが読み取り可能な記録媒体に記録されていてよく、記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記ずれ検出プログラムは、当該ずれ検出プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記プロセッサに供給されてもよい。本発明は、上記ずれ検出プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
なお、上記ずれ検出プログラムは、例えば、ActionScript、JavaScript(登録商標)などのスクリプト言語、Objective-C、Java(登録商標)などのオブジェクト指向プログラミング言語、HTML5などのマークアップ言語などを用いて実装できる。
また、本発明に係る視線検出方法は、ユーザに装着して使用するヘッドマウントディスプレイと、前記ユーザの視線を検出する視線検出装置とを含む視線検出システムによる視線検出のための方法であって、前記視線検出装置が前記ヘッドマウントディスプレイにマーカー画像を出力し、前記ヘッドマウントディスプレイが、前記マーカー画像を表示し、前記マーカー画像を注視するユーザの眼を撮像し、撮像されたユーザの眼を含む画像を前記視線検出装置に出力し、前記視線検出装置が、前記マーカー画像、及び、前記撮像された前記マーカー画像を注視しているユーザの眼を含む画像を重畳した合成画像を作成し、作成された合成画像を出力することを特徴とする方法としてもよい。
(9)上記実施の形態に示した構成並びに各(補足)を適宜組み合わせることとしてもよい。
1 視線検出システム、 100 ヘッドマウントディスプレイ、 103a 赤外光源(第2赤外光照射部)、 103b 赤外光源(第1赤外光照射部)、 105 輝点、 108 画像表示素子、 112 ホットミラー、 114,114a,114b 凸レンズ、 116 カメラ、 118 第1通信部、 120 表示部120 照射部、 122 撮像部、 123 画像処理部、 130 画像表示系、 150 筐体、 152a,152b レンズ保持部、 160 装着具、 170 ヘッドフォン、 200 視線検出装置、 220 第2通信部、 221 視線検出部、 222 映像生成部、 223 瞳孔特定部、224 取得部、 225 ベクトル特定部、 226 ずれ検出部 、 227 補正部 、 228 記憶部。

Claims (10)

  1. ユーザが装着して使用する装着具を含む視線検出システムであって、
    ユーザの眼に非可視光を照射する複数の照射部と、
    前記非可視光に基づいて前記ユーザの眼を撮像するカメラと、
    前記カメラが撮像した撮像画像から前記ユーザの瞳孔中心を特定する瞳孔特定部と、
    前記複数の照射部の配置位置と、前記複数の照射部から前記ユーザの眼に照射した照射光の照射位置と、前記カメラの配置位置とに基づいて、前記ユーザの角膜曲率の中心の位置に関する情報を取得する取得部と、
    前記撮像画像における、前記ユーザの角膜曲率の中心と、前記瞳孔中心とを結ぶベクトルを特定するベクトル特定部と、
    前記ベクトルに基づいて前記ユーザが装着する前記装着具の装着状態のずれを検出するずれ検出部とを備える視線検出システム。
  2. 前記視線検出システムは、さらに、
    前記複数の照射部と、前記カメラとの配置位置を示す配置情報を記憶する記憶部を備え、
    前記取得部は、前記記憶部に記憶した前記複数の照射部のうちの第1の照射部の配置情報と、前記第1の照射部から照射された非可視光の前記ユーザの眼に対する第1照射位置と、前記記憶部に記憶した前記複数の照射部のうち前記第1の照射部とは異なる第2の照射部の配置情報と、前記第2の照射部から照射された非可視光の前記ユーザの眼に対する第2照射位置と、前記カメラの配置位置とに基づいて前記ユーザの角膜曲率の中心の位置に関する情報を取得することを特徴とする請求項1に記載の視線検出システム。
  3. 前記取得部は、前記カメラの中心位置から前記第1の照射部への第1ベクトルと、前記カメラの中心位置から前記第1照射位置への第2ベクトルとを含む第1平面、及び、前記カメラの中心位置から前記第2の照射部への第3ベクトルと、前記カメラの中心位置から前記第2照射位置への第4ベクトルとを含む第2平面の交線を、前記ユーザの角膜曲率の中心の位置に関する情報として取得することを特徴とする請求項2に記載の視線検出システム。
  4. 前記ベクトル特定部は、前記交線と前記カメラのイメージセンサとの交点を前記撮像画像における、前記ユーザの角膜曲率の中心として前記ベクトルを特定することを特徴とする請求項3に記載の視線検出システム。
  5. 前記ずれ検出部は、第1の時刻において前記ベクトル特定部が前記ベクトルとして特定した第1ベクトルの位置と、前記第1の時刻から所定時間内の第2の時刻において前記ベクトル特定部が前記ベクトルとして特定した第2ベクトルの位置と、が異なる位置にある場合にずれがあることを検出することを特徴とする請求項1から4のいずれか1項に記載の視線検出システム。
  6. 前記装着具は、ヘッドマウントディスプレイであり、
    前記視線検出システムは、更に、視線検出装置を含み、
    前記装着具は、
    前記照射部と、
    前記カメラと、
    前記撮像画像を前記視線検出装置に送信する送信部を備え、
    前記視線検出装置は、
    前記撮像画像を受信する受信部と、
    前記瞳孔特定部と、
    前記取得部と、
    前記ベクトル特定部と、
    前記ずれ検出部と、を備えることを特徴とする請求項1から5のいずれか1項に記載の視線検出システム。
  7. 前記装着具は、更に、前記ユーザに画像を提示する表示部を備え、
    前記視線検出装置は、更に、前記撮像画像に基づいて、前記画像を注視するユーザの注視位置を検出する視線検出部を備えることを特徴とする請求項6に記載の視線検出システム。
  8. 前記視線検出装置は、さらに、
    前記ずれ検出部が検出したずれに基づいて、前記視線検出部が検出したユーザの注視位置を補正する補正部を備えることを特徴とする請求項7に記載の視線検出システム。
  9. ユーザの眼に非可視光を複数の照射部から照射する照射ステップと、
    前記非可視光に基づいて前記ユーザの眼を撮像するカメラを用いて撮像する撮像ステップと、
    前記撮像ステップにおいて撮像した撮像画像から前記ユーザの瞳孔中心を特定する瞳孔特定ステップと、
    前記複数の照射部の配置位置と、前記複数の照射部から前記ユーザの眼に照射した照射光の照射位置と、前記カメラの配置位置とに基づいて、前記ユーザの角膜曲率の中心の位置に関する情報を取得する取得ステップと、
    前記撮像画像における、前記ユーザの角膜曲率の中心と、前記瞳孔中心とを結ぶベクトルを特定するベクトル特定ステップと、
    前記ベクトルに基づいて前記ユーザが装着する装着具の装着状態のずれを検出するずれ検出ステップとを含むずれ検出方法。
  10. ユーザが装着して使用する装着具の装着状態のずれを検出するずれ検出プログラムであって、
    コンピュータに、
    ユーザの眼に非可視光を照射する複数の照射から照射した前記非可視光に基づいて前記ユーザの眼を撮像するカメラから撮像した撮像画像を取得する撮像画像取得機能と、
    前記撮像画像から前記ユーザの瞳孔中心を特定する瞳孔特定機能と、
    前記複数の照射部の配置位置と、前記複数の照射部から前記ユーザの眼に照射した照射光の照射位置と、前記カメラの配置位置とに基づいて、前記ユーザの角膜曲率の中心の位置に関する情報を取得する取得機能と、
    前記撮像画像における、前記ユーザの角膜曲率の中心と、前記瞳孔中心とを結ぶベクトルを特定するベクトル特定機能と、
    前記ベクトルに基づいて前記ユーザが装着する前記装着具の装着状態のずれを検出するずれ検出機能とを実現させるずれ検出プログラム。
JP2017143702A 2016-07-27 2017-07-25 視線検出システム、ずれ検出方法、ずれ検出プログラム Active JP6485819B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201710623538.1A CN107665040A (zh) 2016-07-27 2017-07-27 视线检测系统、偏移检测方法、偏移检测程序
US15/661,467 US10409368B2 (en) 2016-07-27 2017-07-27 Eye-gaze detection system, displacement detection method, and displacement detection program
TW106125372A TW201816547A (zh) 2016-07-27 2017-07-27 視線檢測系統、偏移檢測方法、偏移檢測程序
KR1020170095026A KR20180012713A (ko) 2016-07-27 2017-07-27 시선 검출 시스템, 변위 검출 방법, 변위 검출 프로그램

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016147519 2016-07-27
JP2016147519 2016-07-27

Publications (2)

Publication Number Publication Date
JP2018026120A JP2018026120A (ja) 2018-02-15
JP6485819B2 true JP6485819B2 (ja) 2019-03-20

Family

ID=61194138

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017143702A Active JP6485819B2 (ja) 2016-07-27 2017-07-25 視線検出システム、ずれ検出方法、ずれ検出プログラム

Country Status (3)

Country Link
JP (1) JP6485819B2 (ja)
KR (1) KR20180012713A (ja)
TW (1) TW201816547A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108732764B (zh) * 2018-06-06 2024-05-31 北京七鑫易维信息技术有限公司 一种智能眼镜、眼球轨迹的追踪方法、装置及存储介质
JP7173836B2 (ja) * 2018-11-05 2022-11-16 京セラ株式会社 コントローラ、位置判定装置、位置判定システム、表示システム、プログラム、および記録媒体
JP2020081557A (ja) * 2018-11-28 2020-06-04 フォーブ インコーポレーテッド 眼の角膜中心の位置を特定する装置、方法、及びプログラム
JP6943913B2 (ja) * 2019-03-18 2021-10-06 Necプラットフォームズ株式会社 情報表示システムおよびウェアラブルデバイス
CN113283329B (zh) * 2021-05-19 2024-06-07 北京京东方光电科技有限公司 视线追踪系统、眼动仪、视线追踪方法、设备及介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3038375B1 (ja) * 1998-11-17 2000-05-08 京都大学長 視線方向検出方法及びその検出装置
JP4824420B2 (ja) * 2006-02-07 2011-11-30 アイテック株式会社 視線ベクトル検出方法及び同装置
JP5578603B2 (ja) * 2009-12-04 2014-08-27 国立大学法人佐賀大学 視線制御装置、視線制御方法、及びそのプログラム
JP2014188322A (ja) * 2013-03-28 2014-10-06 Panasonic Corp 視線検出装置、視線検出方法及びプログラム
US10379609B2 (en) * 2013-05-22 2019-08-13 National University Corporation Kobe University Line-of-sight measurement device, line-of-sight measurement method and line-of-sight measurement program
JP2016106668A (ja) * 2014-12-02 2016-06-20 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム

Also Published As

Publication number Publication date
TW201816547A (zh) 2018-05-01
JP2018026120A (ja) 2018-02-15
KR20180012713A (ko) 2018-02-06

Similar Documents

Publication Publication Date Title
US10409368B2 (en) Eye-gaze detection system, displacement detection method, and displacement detection program
JP6485819B2 (ja) 視線検出システム、ずれ検出方法、ずれ検出プログラム
US10192361B2 (en) Head-mounted display device and computer program
US9213163B2 (en) Aligning inter-pupillary distance in a near-eye display system
US20180004289A1 (en) Video display system, video display method, video display program
US10269139B2 (en) Computer program, head-mounted display device, and calibration method
US11200646B2 (en) Compensation for deformation in head mounted display systems
EP3334148A1 (en) Ocular video stabilization
WO2017090203A1 (ja) 視線検出システム、注視点特定方法及び注視点特定プログラム
US20170344112A1 (en) Gaze detection device
US20180007258A1 (en) External imaging system, external imaging method, external imaging program
CN108139806A (zh) 相对于可穿戴设备跟踪穿戴者的眼睛
CN114761909A (zh) 针对头戴式显示器的内容稳定
TW201802642A (zh) 視線檢測系統
JP2018055589A (ja) プログラム、物体の追跡方法、表示装置
JP2024069461A (ja) 左および右ディスプレイとユーザの眼との間の垂直整合を決定するためのディスプレイシステムおよび方法
US20200213467A1 (en) Image display system, image display method, and image display program
US20170371408A1 (en) Video display device system, heartbeat specifying method, heartbeat specifying program
US20180182124A1 (en) Estimation system, estimation method, and estimation program
US20200319709A1 (en) Information processing system, operation method, and operation program
JP2017191546A (ja) 医療用ヘッドマウントディスプレイ、医療用ヘッドマウントディスプレイのプログラムおよび医療用ヘッドマウントディスプレイの制御方法
CN113138664A (zh) 基于光场感知的眼球追踪系统、方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180531

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180328

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20180906

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20180911

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190115

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190131

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190212

R150 Certificate of patent or registration of utility model

Ref document number: 6485819

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250