CN112580423A - 处理用户眼睛的图像的方法、相关联系统和计算机程序 - Google Patents
处理用户眼睛的图像的方法、相关联系统和计算机程序 Download PDFInfo
- Publication number
- CN112580423A CN112580423A CN202011050745.0A CN202011050745A CN112580423A CN 112580423 A CN112580423 A CN 112580423A CN 202011050745 A CN202011050745 A CN 202011050745A CN 112580423 A CN112580423 A CN 112580423A
- Authority
- CN
- China
- Prior art keywords
- image
- sequence
- images
- score
- image sequence
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 117
- 238000004590 computer program Methods 0.000 title claims description 12
- 238000012545 processing Methods 0.000 title description 18
- 230000000638 stimulation Effects 0.000 claims abstract description 28
- 238000004422 calculation algorithm Methods 0.000 claims description 24
- 238000011156 evaluation Methods 0.000 claims description 16
- 238000010801 machine learning Methods 0.000 claims description 10
- 230000001186 cumulative effect Effects 0.000 claims description 8
- 238000012549 training Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 7
- 230000003068 static effect Effects 0.000 claims description 3
- 210000003128 head Anatomy 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 7
- 230000004397 blinking Effects 0.000 description 5
- 230000004424 eye movement Effects 0.000 description 4
- 238000007689 inspection Methods 0.000 description 4
- 238000011143 downstream manufacturing Methods 0.000 description 3
- 210000001747 pupil Anatomy 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000010191 image analysis Methods 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000193 eyeblink Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000004886 head movement Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000035484 reaction time Effects 0.000 description 1
- 230000000284 resting effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
- G06V40/19—Sensors therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
- G06F18/2193—Validation; Performance evaluation; Active pattern learning techniques based on specific statistical tests
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/254—Analysis of motion involving subtraction of images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
- G06V40/193—Preprocessing; Feature extraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20224—Image subtraction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Ophthalmology & Optometry (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Image Analysis (AREA)
Abstract
一种选择用于眼睛跟踪应用的用户眼睛的图像序列的计算机实施的方法,其中,每个图像是在向用户显示静止刺激点时被捕获的,该方法包括:针对多个不同的成对图像:将成对图像彼此进行比较以确定表示所比较的图像之间的差异程度的图像得分;以及基于多个成对图像的图像得分来计算图像序列得分。
Description
技术领域
本公开总体上涉及眼睛跟踪领域。具体地,本公开涉及用于处理和/或选择在眼睛跟踪系统中使用的用户眼睛的图像序列的系统和方法。
背景技术
在眼睛跟踪应用中,取得用户眼睛的数字图像,并且对数字图像进行分析,以便估计用户的注视方向。对注视方向的估计可以基于对可能在图像中识别出的被成像眼睛的特征(如瞳孔位置或角膜反射等)的基于计算机的图像分析。图像分析可以利用一个用户或多个用户的眼睛(双眼)的校准图像数据,该校准图像数据可以使用基于机器学习的模型或神经网络来整理。校准图像数据(当用于训练机器学习算法或神经网络时,可以被称为训练数据)可以使用眼睛的图像序列,其中,该图像序列中的每个图像是在用户的注视固定在静止物体上时被捕获的或当向用户显示静止刺激点以保持其注视时被捕获的。校准图像数据的质量对于准确的注视方向估计可能很重要。具体地,就机器学习算法或神经网络的作为结果的性能而言,训练数据的质量可能很重要。
一种已知的眼睛跟踪示例方法包括使用红外光和图像传感器。红外光被引导朝向用户的瞳孔,并且光的反射由图像传感器捕获。
先前也已经描述了便携式或可穿戴式眼睛跟踪设备。美国专利号9,041,787中描述了一个这样的眼睛跟踪系统。描述了一种使用照明器和图像传感器来确定注视方向的可穿戴式眼睛跟踪设备。
发明内容
根据本公开的第一方面,提供了一种针对眼睛跟踪应用处理或选择用户眼睛的图像序列的计算机实施的方法(每个图像可以在向用户显示静止刺激点时被捕获),该方法包括:
针对多个不同的成对图像:
将所述成对图像彼此进行比较以确定表示所比较的图像之间的差异程度的图像得分;以及
基于多个成对图像的图像得分来计算图像序列得分。
该方法提供图像得分和图像序列得分,这些得分可以用于确定图像序列与向用户提供的、使用户的注视保持在静止刺激点上的指令的相符性。确定图像序列的相符性可以确认图像序列具有足够的质量以用于诸如眼睛跟踪系统或算法的校准等眼睛跟踪操作中。这可以提高眼睛跟踪系统的性能。
在一个或多个示例中,该图像序列中的每个图像都可以包括注视位置标识,该注视位置标识表示当图像被捕获时呈现给用户的刺激点在屏幕上的位置。对于图像序列中的每个图像来说,注视位置标识可以相同。
在每个图像中包括注视位置标识可以使该方法能够确保对针对相同显示的静止刺激点捕获的图像序列执行处理或选择。注视位置标识可以使该方法能够证实图像序列对应于相同的刺激点,或者使该方法能够从对应于一系列多个静止刺激点的较长图像序列中选择图像序列。
在一个或多个示例中,该方法可以进一步包括:基于图像序列得分,控制如何将图像序列传递到下游眼睛注视跟踪操作。
基于图像序列得分控制图像序列到下游眼睛注视跟踪操作的传递可以使图像序列能够选择性地分发到下游眼睛注视跟踪操作。以这种方式,通过将序列得分与下游操作的要求进行比较,该方法可以有利地将图像序列传递到一个或多个下游操作。
在一个或多个示例中,该方法可以进一步包括:如果图像序列得分大于丢弃阈值,则为图像序列的至少一部分设置丢弃标志。
设置丢弃标志可以有利地向下游操作提供以下指示:图像序列的至少一部分可能不表示足够质量的图像序列。然后,下游操作可以根据下游操作的要求选择性地分析、使用和/或丢弃数据。
在一个或多个示例中,该方法可以进一步包括:如果图像序列得分大于丢弃阈值,则丢弃图像序列的至少一部分。
丢弃图像序列的至少一部分可以防止向下游操作提供不良图像序列。
在一个或多个示例中,该方法可以进一步包括:
如果图像序列得分大于检查阈值,则为图像序列的至少一部分设置检查标志,其中,检查阈值低于丢弃阈值;以及
如果设置了检查标志,则将图像序列的至少一部分提供给用户以手动设置丢弃标志。
根据检查阈值低于丢弃阈值来设置检查标志可以有利地为具有不是明显合格或明显丢弃但具有潜在临界质量的得分的图像序列提供半自主过程。
在一个或多个示例中,该方法可以进一步包括:对未设置丢弃标志的图像序列执行下游眼睛注视跟踪操作,并且不对设置了丢弃标志的图像序列执行眼睛注视跟踪操作。
通过在未设置丢弃标志的图像序列上选择性地执行诸如校准算法等下游眼睛注视跟踪操作,该方法可以有利地提供改进的下游操作,如改进的校准方法。
在一个或多个示例中,该方法可以进一步包括:
不管是否设置了相关联的丢弃标志,都对图像序列执行下游眼睛注视跟踪操作;以及
对未设置丢弃标志的图像序列进行性能评估统计数据汇总,并且不对设置了丢弃标志的图像序列进行性能评估统计数据汇总。
对整个图像序列执行下游操作并基于丢弃标志选择性地汇总输出可以提供一种高效的下游方法以提供高质量输出。
在一个或多个示例中,该方法可以进一步包括:
将图像子序列识别为该图像序列中满足子序列得分阈值的多个连续图像;以及
将图像子序列提供给下游眼睛注视跟踪操作。
提供图像子序列可以有利地修剪具有错误的高图像得分的孤立图像序列,使得修剪后的图像序列具有可接受的序列得分。
在一个或多个示例中,该方法可以进一步包括:
识别图像序列中的多个间隔开的图像子序列,其中,每个图像子序列包括图像序列中满足图像子序列得分阈值的多个连续图像;以及
串连多个图像子序列以提供串连的图像序列;以及
将串连的图像序列提供给下游眼睛注视跟踪操作。
识别并串连满足子序列得分阈值的多个间隔开的图像子序列可以有利地提供一种滤除错误的高图像得分的方法,这些错误的高图像得分是由诸如用户眨眼等孤立事件引起的。
在一个或多个示例中,眼睛注视跟踪操作可以包括:
训练算法,用于设置机器学习模型的一个或多个可训练参数,以对接收到的图像进行眼睛注视跟踪;
校准算法;
验证算法;和/或
性能评估算法。
在一个或多个示例中,每个图像序列可以包括:
注视位置标识,该注视位置标识表示当图像序列被捕获时呈现给用户的刺激点在屏幕上的位置;并且
眼睛注视跟踪操作可以基于图像和注视位置标识来执行眼睛注视跟踪操作的功能。
通过基于图像和注视位置标识来执行眼睛注视跟踪操作的功能,眼睛注视跟踪操作可以有利地基于呈现给用户的已知静止刺激点来执行其功能,并且可选地使眼睛注视跟踪操作能够在多个静止刺激点之间进行区分。
在一个或多个示例中,基于图像得分计算图像序列得分可以包括对图像得分进行求和以提供累计图像序列得分。
在一个或多个示例中,基于图像得分计算图像序列得分可以包括将峰值图像序列得分设置为图像得分的最大值。
在一个或多个示例中,该方法可以进一步包括:
如果峰值图像序列得分大于眨眼阈值,则为图像序列设置眨眼标志;以及
如果设置了眨眼标志,则将图像序列传递到要求图像序列中存在眨眼的下游眼睛注视跟踪操作;或者
如果未设置眨眼标志,则将图像序列传递到要求图像序列中不存在眨眼的下游眼睛注视跟踪操作。
在一个或多个示例中,该方法可以进一步包括:
如果峰值图像序列得分大于运动阈值,则为图像序列设置运动标志;并且
如果设置了运动标志,则将图像序列传递到要求图像序列中存在运动的下游眼睛注视跟踪操作;或者
如果未设置运动标志,则将图像序列传递到要求图像序列中不存在运动的下游眼睛注视跟踪操作。
在一个或多个示例中,比较成对图像可以包括比较图像序列中的相邻图像。
在一个或多个实例中,该方法可以进一步包括针对图像序列中的第二图像和后续图像中的每一者执行比较步骤。
在一个或多个示例中,该方法可以进一步包括针对图像序列中至少90%的图像执行比较步骤。
在一个或多个示例中,该方法可以进一步包括:
根据注视位置标识使屏幕向用户显示静止刺激点;以及
在屏幕正在向用户显示静止刺激点的同时捕获用户眼睛的图像序列。
在一个或多个示例中,每个图像可以包括多个像素位置,并且每个像素位置可以具有表示像素的亮度或色调(hue)的像素值。比较成对图像可以包括:
比较成对图像中相应像素位置处的像素值以确定像素值差;以及
根据像素值差来确定图像得分。
在一个或多个示例中,根据像素值差来确定图像得分可以包括对像素值差的绝对值进行求和。
在一个或多个示例中,根据像素值差来确定图像得分可以包括:
将每个像素值差的绝对值与像素值阈值进行比较;以及
将图像得分确定为:
大于或等于像素值阈值的像素值差的数量;或者
超过像素值阈值的绝对像素值差的总和。
在一个或多个示例中,图像序列可以表示至少500毫秒的时间段。
在一个或多个示例中,每个图像可以包括:表示完整传感器图像的像素子集的多个像素位置,以及表示完整传感器图像中的像素子集的位置的剪取标识。比较成对图像可以包括:将剪取偏移值确定为两个图像的剪取标识之差。该方法可以进一步包括:基于剪取偏移值来设置丢弃图像序列阈值;并且如果图像序列得分大于丢弃图像序列阈值,则为图像序列设置丢弃标志。
在一个或多个示例中,每个图像可以包括:
表示来自完整传感器图像的像素子集的多个像素位置,以及
表示像素子集在完整传感器图像中的位置的剪取标识。
比较图像序列中的成对图像可以包括:
将剪取偏移值确定为两个图像的剪取标识之差;
基于剪取偏移值来设置像素值阈值;
比较两个图像中的相应像素位置处的像素值以确定像素值差;以及
将图像得分确定为:
大于或等于像素值阈值的像素值差的数量;或者
超过像素值阈值的绝对像素值差的总和。
根据本公开的另一方面,提供了一种处理器,该处理器被配置为:
接收用于眼睛跟踪应用的用户眼睛的图像序列;
针对多个不同的成对图像:
将成对图像彼此进行比较以确定表示所比较的图像之间的差异程度的图像得分;以及
基于多个成对图像的图像得分来计算图像序列得分。
根据本公开的另一方面,提供了一种计算机程序,该计算机程序被配置为执行本文公开的任何方法。
根据本公开的另一方面,提供了一种计算机可读介质,该计算机可读介质存储了本文公开的任何计算机程序。
可以提供一种计算机程序,当该计算机程序在计算机上运行时使计算机配置任何装置(包括本文公开的处理器或设备),或者执行本文公开的任何方法。该计算机程序可以是软件实施方式,并且该计算机可以被认为是任何合适的硬件,包括数字信号处理器、微控制器,以及作为非限制性示例的只读存储器(ROM)、可擦除可编程只读存储器(EPROM)或电可擦除可编程只读存储器(EEPROM)的实施方式。该软件可以是汇编程序。
可以在计算机可读介质上提供计算机程序,该计算机可读介质可以是诸如盘或存储器设备等物理计算机可读介质。
附图说明
现在仅通过示例的方式,参考以下附图对本发明的实施例进行详细描述,在附图中:
图1示出了眼睛跟踪系统的示意图,该眼睛跟踪系统可以用于捕获可由示例实施例使用的图像序列;
图2示出了眼睛的示例图像;
图3示出了用于处理和/或选择用户眼睛的图像序列的示例装置;
图4示出了示例图像序列、以及图像得分和图像序列得分的示例确定方式;
图5以图解方式示出了十一个图像的序列及其相关联的图像得分、以及图像序列的串连;
图6以图解方式示出了可以如何将与多个图像序列相关联的序列得分与各种标志进行比较;以及
图7是方法的示例的流程图。
所有附图都是示意性的,并且通常仅示出为了阐明各个实施例所必需的部分,而其他部分可以省略或仅暗示出。
具体实施方式
图1示出了头戴式设备中的眼睛跟踪系统100(其也可以称为注视跟踪系统)的简化视图,该头戴式设备以虚拟或增强现实(VR或AR)设备、或VR或AR眼镜的形式出现。系统100包括用于捕获用户眼睛的图像的图像传感器120(例如,相机)。该系统可以可选地包括用于照射用户的眼睛的一个或多个照明器110至119,这些照明器可以例如是发射红外频带或近红外频带中的光的发光二极管,并且可以以各种配置进行物理布置。图像传感器120可以例如是任何类型的图像传感器,诸如互补金属氧化物半导体(CMOS)图像传感器或电荷耦合器件(CCD)图像传感器。图像传感器可以由包含像素传感器阵列的集成电路组成,每个像素包含光电检测器和有源放大器。图像传感器能够将光转换成数字信号。在一个或多个示例中,图像传感器可以是红外图像传感器或IR图像传感器、RGB传感器、RGBW传感器、或具有IR滤光片的RGB或RGBW传感器。
眼睛跟踪系统100可以包括用于接收并处理由图像传感器120捕获的图像的电路系统125,该电路系统例如包括接收器126和处理电路系统127。电路系统125可以例如经由有线连接或无线连接而连接到图像传感器120和可选的一个或多个照明器110至119,并且与图像传感器120和一个或多个照明器110至119位于同一位置、或与它们相距一定距离(例如在不同的设备中)。在另一示例中,电路系统125可以设置在光传感器120的光敏表面下方的一个或多个叠层中。
眼睛跟踪系统100可以包括用于向用户呈现信息和/或视觉刺激点的显示器128。显示器可以包括呈现影像并实质上遮挡用户的真实世界视图的VR显示器,或者呈现被感受为叠加在用户真实世界视图之上的影像的AR显示器。
应当注意,图1中的图像传感器120和显示器128的位置仅用于说明目的。在这样的系统100中,用于一只眼睛的图像传感器120的位置通常远离用户的视线,以便不遮挡那只眼睛的显示器128。该构造例如可以借助于所谓的热镜来实现,该热镜反射一部分光并且允许其余的光通过,例如红外光被反射,并且可见光被允许通过。
尽管在以上示例中,由于头戴式图像传感器120形成了眼睛跟踪系统100的一部分,用户眼睛的图像由该头戴式图像传感器捕获,但可替代地,图像可以由与眼睛跟踪系统100分开的图像传感器捕获,其中所述图像传感器120可以是头戴式或非头戴式的。应当理解,朝向眼睛的头戴式图像传感器将任何头部运动与捕获的图像中的任何眼睛运动隔离开。然而,如果图像传感器是非头戴式的,则在捕获的图像中的眼睛运动可能是由于用户眼睛的运动或由于用户头部的运动引起的。因此,对于其中图像传感器是非头戴式的示例,则系统可以被配置为接收指示用户的头部相对于图像传感器的运动的信息,使得可以从图像传感器捕获的图像中确定眼睛的位置和/或运动。可替代地,可以对完整传感器图像执行图像处理以识别图像中包含用户眼睛的区域。然后可以对识别出的图像区域执行注视跟踪。如下文将要讨论的,这可以涉及确定剪取标识的算法,该剪取标识表示完整传感器图像中包括用户眼睛的区域(该区域表示像素的子集)的位置。
图2示出了由图1的图像传感器120捕获的眼睛200的图像的简化示例。电路系统125可以例如采用图像处理(诸如数字图像处理)来提取图像中的特征。电路系统125可以例如识别由图像传感器120捕获的一个或多个图像中的瞳孔210的位置。
在一个或多个示例中,图3所示的装置300可以提供对图像序列的处理或选择。图像序列可以用作校准数据,如适用于单个用户的校准数据或用作机器学习算法或神经网络的训练数据的校准数据。在一个或多个示例中,装置300可以形成电路系统125的一部分。在一个或多个示例中,电路系统125可以被配置为传输所捕获的图像以供装置300处理,该装置可以包括远离眼睛跟踪系统100的计算机或服务器。因此,一般而言,装置300可以被认为包括处理器301,该处理器可以访问从图像传感器120接收图像的存储器302以及定义由处理器301执行的步骤的计算机程序代码。
眼睛跟踪系统100可以利用校准图像数据和/或基于校准图像数据训练的机器学习算法或神经网络来执行眼睛跟踪。如上所述,校准图像数据(当用于训练机器学习算法或神经网络时,可以被称为训练数据)可以使用眼睛的图像序列,其中,该图像序列中的每个图像是在用户的注视固定在静止物体上时被捕获的或当向用户显示静止刺激点以保持其注视时被捕获的。静止刺激点可以显示或不显示在电子显示器上。例如,静止刺激点可以显示在白板上。可替代地,可以命令用户将其注视引导到墙壁上的固定点或房间中的一件静止家具上。可能重要的是,就距离和/或旋转位置而言,刺激点和相机相对于彼此是恒定的。
校准图像数据的质量对于准确的注视方向估计可能很重要。具体地,就机器学习算法或神经网络的作为结果的性能而言,训练数据的质量可能很重要。
参照图4并且根据第一实施例,公开了一种在眼睛跟踪应用中使用的、处理用户眼睛的图像序列400的方法以及一种被配置为执行所述方法的装置300。在一个或多个示例中,所述处理可以包括对图像序列或其一部分进行选择,诸如肯定选择或否定选择,以供随后用作校准数据、性能监测数据或用于其他眼睛跟踪目的。因此,在一个或多个示例中,该方法可以提供对一个或多个图像序列的有效筛选。在一个或多个示例中,该方法可以基于对图像序列400的一部分的肯定选择或否定选择来提供对图像序列的有效编辑。例如,肯定选择可以涉及选择图像序列或其一部分以用于后续的下游处理,而否定选择可以涉及选择图像序列或其一部分以将其排除在后续的下游处理之外。因此,否定选择也可以被视为从下游处理操作中丢弃图像序列。
图4示出了图像序列400,该图像序列可以从图像传感器120接收并且可以已经被传输到执行所述方法的装置300的存储器302。图像序列400包括时间连续的多个单独图像,在图4的示例中包括第一图像401至第六图像406。应当理解,图像序列可以包括多于三个图像的任何数量的图像。图像序列400可以包括例如至少20个图像或至少30个图像或更多个图像。由图像序列表示的时间段可以包括至少0.5秒或至少1秒。捕获图像序列400的速率可以包括至少15Hz或至少30Hz,并且通常可以包括30Hz至200Hz。图像序列400的图像401至406的分辨率可以包括每mm被成像的眼睛至少2个像素。因此,典型图像的分辨率可以包括至少50×50个像素。在其他示例中,分辨率可以包括每mm被成像的眼睛40个像素,并且因此,典型图像的分辨率可以包括至少1000×1000个像素。应当理解,由该方法处理的图像序列400可以是图像传感器120的原生分辨率和/或原生帧速率下的图像,或者就分辨率和/或帧速率而言可以是从图像传感器120的原生分辨率或原生帧速率进行下采样或上采样的图像。
该方法或执行该方法的装置300可以被配置为控制图像序列的捕获,或者可替代地,可以向该方法或该装置馈送由一个或多个系统100的图像传感器120捕获的图像序列。
应当在用户的注视保持在静止方向上时捕获图像序列400。在一个或多个示例中,图像序列400包括在诸如通过视觉或听觉指令命令用户将其注视保持在静止方向上时捕获的图像。在一个或多个示例中,可以命令用户将其注视保持在他们的视野中识别出的点或物体上。在其他示例中,图像序列400包括在诸如通过AR或VR显示器128向用户显示静止刺激点、并且其中预期用户将其注视保持在静止刺激点上时捕获的图像。可以在依次向用户显示多个单独的静止刺激点的同时捕获图像序列400。如下文进一步讨论的,注视位置标识可以与每个图像一起包括以表示当捕获图像时呈现给用户的刺激点的位置。
当捕获图像序列时,静止刺激点与图像传感器的相对位置应基本恒定。在头戴式装置中,静止刺激点、图像传感器和用户眼睛之间的相对位置应全部保持基本恒定。
应当理解,控制图像序列的捕获和提供用于保持静止的眼睛注视的指令可以是或可以不是该方法和装置300的功能的实施例的一部分。应当理解,可以向该方法或装置300提供一个或多个图像序列400,所述图像序列已经使用以上任何示例方法或鼓励用户保持静止眼睛位置的其他方法捕获。
该方法包括,针对图像401至406的多个不同成对图像,将成对图像彼此进行比较以确定表示所比较的图像之间的差异程度的图像得分407;以及基于多个成对图像的图像得分407来计算图像序列得分。
通过计算图像得分407和图像序列得分,一种或多种所公开的方法可以使得能够进行图像序列400与将注视保持在静止刺激点上的指令的相符性检查。
在一个或多个示例中,成对图像包括图像序列中的相邻图像,即,图像序列400中在时间上一个紧接一个地连续地捕获的图像。例如,第一成对图像可以包括第一图像401和第二图像402。第二成对图像可以包括第二图像402和第三图像403,以此类推。因此,成对图像可以由形成图像序列400的重叠选择的成对图像组成。使用成对图像的重叠选择可以确保识别出像素差的任何突然的阶跃变化。例如,与眨眼动作的开始和/或结束相关联的图像差异可能不会被非重叠的连续成对图像捕获。
在其他示例中,第一成对图像可以包括第一图像401和第二图像402。第二成对图像可以包括第三图像403和第四图像404,以此类推。因此,成对图像可以由形成图像序列400的非重叠选择的成对图像组成。在其他示例中,在确定成对图像时可以使用重叠选择和非重叠选择的组合。对连续的图像进行比较可能是有利的,因为这可以使得容易地识别特定事件(如眨眼或眼球运动)的时间。
在一个或多个示例中,可以基于预定标准来确定一个或多个参考图像。参考图像可以是第一图像401至第六图像406之一。成对图像可以包括参考图像与图像序列400中紧接着的图像以外的另一个图像。相应地,第一图像401可以被指定为参考图像,并且因此第一成对图像可以包括第一图像401和第二图像402;第二成对图像可以包括第一图像401和第三图像403;并且第三成对图像可以包括第三图像401和第四图像404;以此类推。
图4示出了图示分配给每对比较图像的图像得分的图表。因此,点408表示从第一图像401与第二图像402的比较确定的图像得分。在该示例中,图像得分包括零,因为在这对图像之间没有识别出差异。点409表示从第二图像402与第三图像403的比较确定的图像得分,图示为零。点410表示从第三图像403与第四图像404的比较确定的图像得分,并且得分为六。在该示例中,得分为六表示成对图像中的一个图像中的具有如下特性的像素位置的数量:这些像素位置相对于该成对图像中另一个图像中的等效像素位置存在差异。因此,第四图像404中的六个像素位置413、414、415、416、417和418相对于第三图像403具有亮度变化。点411表示从第四图像404与第五图像405的比较确定的图像得分,图示为零。点412表示从第五图像405与第六图像406的比较确定的图像得分,图示为零。
在成对的图像之间的相应像素位置处的像素值是否存在差异可以基于像素亮度存在差异来判断。在其他示例中,可以使用像素色调的差异。可以通过比较相应像素位置处的亮度或色调像素值来确定像素值差。根据像素值差确定图像得分。
在一些示例中,可以计算像素值之间的绝对差,因此哪个像素值大于另一个像素值无关紧要;将使用差的绝对值。这在随后对图像得分进行求和时可能特别有用,使得正像素值和负像素值不会互相抵消。
在一个或多个示例中,图像得分被确定为像素值差的绝对值之和。例如,亮度或色调可由0到255之间的8位数字值表示。像素值差的绝对值也可以表示为8位数字值。确定图像得分可以包括针对相应像素位置处的每对像素值对8位像素值差进行求和。
在一个或多个示例中,可以通过将绝对像素值差与像素值阈值进行比较来确定图像得分。图像得分可以包括:大于或等于像素值阈值的绝对像素值差的整数;或者超过像素值阈值的绝对像素值差的总和。
总而言之,在该示例中,每个图像包括多个像素位置,并且每个像素位置具有表示像素的亮度或色调的像素值。该方法可以包括通过以下方式来比较成对图像:比较成对图像中相应像素位置处的像素值以确定像素值差;以及根据像素值差来确定图像得分。
因此,在一个或多个示例中,图像得分表示就子区域位置(如像素位置)的数量而言所比较图像之间的差异程度,在这些子区域位置处,成对图像的图像之间的差异超过阈值量。因此,尽管可以考虑像素以将图像分割成像素位置的网格,但在一个或多个示例中,子区域可以大于一个像素位置。进一步地,在图像中的不同位置处,子区域可以具有不同的大小,这可以提高处理效率。
虽然在该示例中使用了相应的像素位置或子区域位置之间的差异来确定图像得分,但其他示例可以使用不同的得分分配方案。
应当理解,低得分(如零)表示差异很小或没有差异,而较高的正数表示较大的差异程度。在其他示例中,高得分可以表示低差异程度,而低得分可以表示高差异程度。
序列得分基于多个成对图像的图像得分。在一个或多个示例中,序列得分可以包括图像得分的函数,如图像得分之和、或图像得分的倍数。在一个或多个示例中,当该方法逐步遍历多个成对图像时,可以与确定图像得分同时地执行图像序列得分的计算。因此,基于图像得分计算序列得分可以包括对图像得分进行求和以提供累计图像序列得分。一旦已对所有预期的图像得分进行了求和,累计图像序列得分可以包括图像序列得分。可替代地,一旦确定了所有图像得分,就可以计算图像序列得分。
在图4的示例中,图像序列得分包括图像得分的总和,并且因此包括0+0+6+0+0=6。可以使用图像序列得分(如通过与阈值进行比较)来确定如何进一步使用图像序列400。
下文提供了用于确定图像得分和图像序列得分的示例计算机例程,其中:
·“previous_image”包括用于逐步遍历图像序列400的工作图像指派,
·“recording.images”包括表示图像序列400的数据结构,
·Stimulus_point_is_stationary(image)表示对注视位置标识的检查,这将在下面进行描述,并且
·“score”和“scores”分别表示图像得分和累计图像序列得分。
此外,“total_abs_diff”针对图像中假定具有相同尺寸的所有像素计算第一输入图像中的像素与第二输入图像中的对应像素之间的绝对差之和。
已经发现图像序列得分提供了确定图像序列400是否适合在眼睛跟踪领域中的下游使用的高效方式。因此,即使当用户试图保持他们的眼睛位置静止时,也不一定总是成功,并且尽管在相当大的图像序列中的单个或几个时间上的短偏差可能不会有问题,但是许多偏差或代表较大差异程度的偏差可能导致图像序列400对于下游操作而言不是最佳的。所公开的确定序列得分的方法代表了一种处理用户眼睛的图像序列的技术上高效的方式。
可以选择多个成对图像以将图像序列400中的所有图像包括在多个成对图像中的至少一个成对图像中。在其他示例中,比所有图像401至406少的图像(例如,至少80%,90%或95%)可以包括在多个成对图像中的一个成对图像中。例如,如果在考虑所有图像得分之前已经达到了图像序列得分(例如,累计的图像序列得分)的阈值,则该方法可以在将所有预期图像得分累计为图像序列得分之前结束。
如上所述,在执行该方法时可以假定对于图像序列,眼睛位置或相关注视方向是静止的(或者至少用户试图保持静止位置)。在一个或多个示例中,图像序列400中的每个图像都可以包括注视位置标识,该注视位置标识表示当图像被捕获时呈现给用户的刺激点在显示器128上的位置。注视位置标识可以体现为联系到图像序列400中的每个图像的元数据或其他指示器。因此,可以对图像序列400执行该方法,对于该图像序列400中的每个图像401至406,注视位置标识是相同的。在一个或多个示例中,该方法可以包括以下步骤:在继续进行比较步骤以确定图像得分之前,针对每个图像401至406验证注视位置标识是否指示相同的刺激点位置。在其他示例中,该方法可以包括基于对于子集中的图像注视位置标识是相同的而从图像流中选择连续图像的子集用于形成图像序列400。该方法可以被配置为选择具有预定最小数量的组成图像的子集。该方法可以进一步被配置为选择一子集,该子集不包括在注视位置标识中的转变点附近的图像。例如,该方法可以选择一图像子集,该图像子集是来自注视位置标识的转变点的至少预定数量的图像。这可以允许用户具有反应时间以对新的刺激点和/或注视指令作出响应。
该方法可以包括基于序列得分来控制如何将图像序列400传递到下游眼睛注视跟踪操作。该控制可以包括是否将图像序列传递到下游眼睛注视跟踪操作(或者例如将图像序列丢弃)。该控制可以包括确定传递到下游眼睛注视跟踪操作的图像序列的一部分。例如,该控制可以包括:是针对评价眼睛跟踪性能的下游操作保留图像序列,还是针对对眼睛跟踪性能的评价丢弃图像序列。在一些应用中,不管是否设置了丢弃标志,都对图像序列执行后续的眼睛注视跟踪操作,但是该方法仅针对未设置丢弃标志的帧来进行性能评估统计数据汇总。以这种方式,该方法可以对未设置丢弃标志的图像序列进行性能评估统计数据汇总,并且不对设置了丢弃标志的图像序列进行性能评估统计数据汇总。当性能评估统计数据的汇总本身被视为下游眼睛注视跟踪操作时,这也可以视为不对丢弃标志的图像序列执行眼睛注视跟踪操作。即,当评估眼睛注视跟踪性能时,来自设置了丢弃标志的帧(图像)的结果被忽略。该控制可以基于图像序列得分与一个或多个阈值的比较,使得在阈值一侧的序列得分导致执行第一控制,而在阈值另一侧的序列得分导致执行第二、不同的控制。
眼睛注视跟踪操作可以包括:训练算法,用于设置机器学习模型的一个或多个可训练参数,以对接收到的图像进行眼睛注视跟踪;校准算法;验证算法;和/或性能评估算法。可以由性能评估算法评估的性能类型的各种示例可以包括:
-注视估计的准确度(所测得的注视与假定为朝向刺激点的实际注视之间的差异);
-注视估计的精度,即,(在用户正在看向固定点的情况下)从不同图像做出的注视估计之间的差异;和/或
-输出率,即,眼睛注视跟踪操作完全能够进行任何注视估计的图像的百分比。如果评估中包括其中用户正在眨眼的图像,则该值通常不会为100%。本文公开的实施例可以从评估中删除任何这样的次优图像,这可以使得能够取得更高的输出率。
应当理解,如果用户没有看向固定点,则准确度估计将是错误的,而不能反映性能评估算法的真实性能。本文公开的一个或多个示例可以通过仅选择用户正在看向固定点的帧用于性能评估来帮助解决该问题。
在一个或多个示例中,对于从图像得分累计得到的图像序列得分(其中得分越高表示成对图像之间的差异程度越大),如果图像序列得分大于阈值(称为丢弃阈值),则图像序列可能会被标记为丢弃,并且因此可能不会传递到下游眼睛注视跟踪操作。如果序列得分低于或等于丢弃阈值,则可以将图像序列传递到下游眼睛注视跟踪操作。因此,在一个或多个示例中,图像序列400或其一部分可以用丢弃标志(如元数据)来补充以识别相对于丢弃阈值不具有可接受的序列得分的图像序列400或其部分。
在一个或多个示例中,可能不必将图像序列400的所有图像传递到下游眼睛注视跟踪操作。例如,下游眼睛注视跟踪操作可能能够以比图像序列400中存在的图像更少的图像进行操作。在这样的示例中,该方法可以包括:将图像序列分割成多个图像子序列,每个图像子序列包括多个(例如,至少三个)连续图像;以及基于所述多个图像子序列的每个图像子序列中的成对图像的图像得分来确定多个图像序列得分(将其称为图像子序列得分以将其与图像序列得分区分开,但图像子序列得分和图像序列得分是以相同方式计算的)。可以将多个图像子序列得分与图像子序列得分阈值进行比较,以确定是否将图像子序列中的每个图像传递到下游眼睛注视跟踪操作。具有不可接受的图像子序列得分的图像子序列可以被丢弃。因此,该方法可以有效地修剪图像序列,使得修剪后的图像序列具有可接受的图像序列得分。
在一个或多个示例中,下游眼睛注视跟踪操作包括评估眼睛注视跟踪的性能以确定性能统计数据的过程,并且其中,性能统计数据的计算基于未设置丢弃标志的图像序列400,而不基于设置了丢弃标志的图像序列400。
在一个或多个示例中,图像序列得分可以用于识别应当被转发以由用户(不一定是其眼睛已经被成像在多个图像中的用户)进行手动检查的图像序列400或其一部分。因此,在一个或多个示例中,该方法可以包括:如果图像序列得分大于检查阈值,则为图像序列400或图像序列400的至少一部分设置检查标志。检查标志可以被记录为与整个图像序列或其图像401至406中的每个图像相关联的元数据。如果将检查阈值与丢弃阈值结合使用,则检查阈值通常小于丢弃阈值。该方法可以包括以下步骤:如果设置了检查标志(并且可选地,如果未设置丢弃标志(如果存在丢弃标志的话)),则将图像序列的至少一部分提供给用户以手动设置丢弃标志。在一个或多个示例中,该步骤可以包括:提供多个图像中设置了检查标志的至少一个或多个图像的显示,以及接收关于是否设置丢弃标志的用户输入。
对于丢弃标志或检查标志中的任一者或两者,该方法可以包括确定图像序列得分是否高于相关联的阈值。如果是,则该方法可以被配置为识别哪些图像得分在另一阈值之上,并且仅针对具有这种图像得分的图像设置相关标志。因此,该方法可以有利地使用图像序列得分来评价整个图像序列400,并且然后针对图像序列中的特定图像设置(多个)标志以进行丢弃或手动检查。这可以提供一种高效的方法。
尽管用户试图保持静止的眼睛位置,即,注视方向,但是图像401至406中的一个或多个图像可能包括眨眼。鉴于眨眼的典型瞬时性质,即使整个图像序列由于其序列得分超过了丢弃阈值而不令人满意,图像序列400中在眨眼之前和之后的多个图像也可能是令人满意的。因此,该方法可以被配置为自动编辑图像序列400,使得编辑后的序列具有可接受的序列得分。
图5示出了图像序列500,为简单起见,由图像编号一至十一指定。表格501在表格中的每个框之上示出成对图像的一系列图像得分。相应地,成对图像一和二的图像得分为零。成对图像3和4的图像得分为一。成对图像5和6的图像得分为十,并且成对图像6和7的图像得分也为十。由于眨眼的存在,图像六与图像五和七相比可能具有较大的差异。眨眼的识别可以基于哪些图像得分超过了眨眼阈值以及哪些图像得分没有超过眨眼阈值。
因此,该方法可以被配置为识别图像序列中的多个间隔开的图像子序列502、503,这些图像子序列可以在时间上在眨眼之前和之后,其中每个图像子序列包括图像序列400中满足图像子序列得分阈值的多个连续图像。在该示例中,以与图像序列得分相同的方式确定图像子序列得分。因此,第一图像子序列502中的图像一至五的图像得分包括零、零、一、零。求和(或其他示例中的其他函数)得出图像子序列得分为一。在该示例中,第二图像子序列503中的图像七至十一的图像得分包括零、零、零、零。求和(或其他示例中的其他函数)得出图像子序列得分为零。
在一个或多个示例中,可以基于确定连续图像的一个或多个图像得分超过眨眼阈值来识别图像子序列在图像序列500中的何处被间隔开。在该示例中,眨眼阈值可以为九,并且因此成对图像五和六以及成对图像六和七的图像得分为十可以指示眨眼发生在这些成对图像所共有的(多个)图像(即,图像六)中。
另外或可替代地,该方法可以包括通过测试图像序列的候选图像子序列以确定是否满足图像子序列得分阈值来识别所述图像子序列502、503。因此,该方法可以从具有预定数量的图像500的候选图像子序列开始,并且就其中的图像数量方面逐渐缩图像短候选子序列,和/或可以将图像序列500的不同连续组指定为候选图像子序列。该方法可以确定每个候选图像子序列是否满足图像子序列得分阈值。具有最大数量的图像的图像候选子序列可以被确定为其中至少一个图像子序列。测试可以包括为所述候选图像子序列中的每个图像子序列计算图像子序列得分。
因此,可以从间隔开的图像子序列中排除图像序列500中发生眨眼的连续图像。
然后,该方法可以包括串连多个图像子序列502、503以提供串连的图像序列504;以及将串连的图像序列504提供给下游眼睛注视跟踪操作。串连的图像序列可以被认为包括眨眼“被编辑删除(edited out)”的图像序列。因此,串连的图像序列504基于图像序列500,但删除了图像六。表505示出了串连的图像序列504的多个图像得分。在该示例中,所述串连的图像序列504的图像序列得分因此为0+0+1+0+0+0+0+0+0=1。
在一个或多个示例中,特定的下游眼睛跟踪操作可能要求包括眨眼的图像序列。
该方法可以包括确定从图像序列500确定的多个图像得分中的最高值或最大值,并且将该最大值指定为“峰值图像序列得分”。在图5的示例中,峰值图像序列得分为十。
然后,如果峰值图像序列得分大于眨眼阈值,则该方法可以为图像序列500设置眨眼标志,该眨眼标志指示该图像序列包含眨眼。
因此,如果设置了眨眼标志,则该方法可以包括:将图像序列传递到要求图像序列中存在眨眼的下游眼睛注视跟踪操作;或者如果未设置眨眼标志,则将图像序列传递到要求图像序列中不存在眨眼的下游眼睛注视跟踪操作。
在一个或多个示例中,特定的下游眼睛跟踪操作可能要求包括眼球运动(如不自主的眼球运动)的图像序列。
该方法可以包括确定从图像序列400确定的多个图像得分中的最高值或最大值,并且将该最大值指定为“峰值图像序列得分”。
然后,如果峰值序列得分大于运动阈值,则该方法可以为图像序列400设置运动标志,该运动标志指示该图像序列包含运动。运动阈值可以低于眨眼阈值。
因此,如果设置了运动标志,则该方法可以包括:将图像序列传递到要求图像序列中存在运动的下游眼睛注视跟踪操作;或者如果未设置运动标志,则将图像序列传递到要求图像序列中不存在运动的下游眼睛注视跟踪操作。
因此,该方法可以将图像序列有效地分类为包括具有静止眼睛位置的图像的图像序列、包括包含眨眼的图像的图像序列、以及包括包含运动的图像的图像序列中的任意两个。
图6以图解方式示出了可以如何将图像序列得分与阈值进行比较以设置各种标志的示例。
图6示出多个图像序列620。每个图像序列用字母A至K标记。图6还示出了与每个图像序列620相关联的累计图像序列得分622和峰值图像序列得分628。可以以与上述相同的方式来计算这些得分622、628。
在该示例中,将累计序列得分622与丢弃阈值和检查阈值进行比较,以确定是否设置与每个图像序列相关联的相应的丢弃标志626和检查标志624。在图6中,丢弃阈值的值为50,并且检查阈值的值为20。因此,为图像序列B、F和G设置丢弃标志626,并且为图像序列A、B、F和G设置检查标志624。
同样在该示例中,将峰值图像序列得分628与运动阈值和眨眼阈值进行比较,以确定是否设置与每个图像序列相关联的相应的运动标志630和眨眼标志632。在图6中,运动阈值的值为10,并且眨眼阈值的值为20。因此,为图像序列B、C、F和G设置运动标志630,并且为图像序列F和G设置眨眼标志624,
应当理解,图6仅是可以如何设置标志的一个示例,并且可以将累计序列得分622和峰值序列得分628中的任一者或两者与适当的阈值进行比较以设置任何标志。还应当理解,用于累计序列得分622和峰值序列得分628的数值以及这些阈值完全是任选的,以说明可以如何基于序列得分来设置标志的原理。
方法或处理器可以以本文描述的任何方式来使用图6中所示的任何标志624、626、630、632。
图7示出了概述该方法的实施例的流程图。流程图可选地示出了接收701用于眼睛跟踪应用的用户眼睛的图像序列,其中,每个图像是在预期用户的眼睛静止时捕获的;以及针对多个不同的成对图像:
将成对图像彼此进行比较702以确定表示所比较的图像之间的差异程度的图像得分;以及
基于多个成对图像的图像得分来计算703图像序列得分。
如上所述,在一个或多个示例中,图像序列可以由非头戴式的图像传感器捕获。与头戴式图像传感器相比,非头戴式图像传感器可以包括更宽的视野。因此,所捕获的图像可以包括涵盖比用户的一只眼睛或双眼显著更多的图像,诸如用户的整个头部或上半身的图像。
在这样的示例中,用户的眼睛的运动将被叠加在用户的头部的任何运动上。因此,在一个或多个示例中,所公开的方法可以进一步包括在确定用户的眼睛的相对运动之前确定用户的头部的运动。另外,用户头部的运动可能导致用户眼睛区域中不同的环境照明条件。因此,可以相应地减小丢弃序列阈值。
每个图像可以包括表示来自完整传感器图像的像素子集的多个像素位置。例如,像素子集可以对应于用户的眼睛。确定像素子集可以使用目标识别算法来完成以分离出包括用户眼睛的图像部分。该图像可以进一步包括表示完整传感器图像中的像素子集的位置的剪取标识。一种或多种示例方法可以包括确定像素子集和剪取标识。可替代地,可以作为单独过程的一部分来确定像素子集和剪取标识,并且像素子集和剪取标识可以与所捕获的图像序列一起接收。
在一些示例中,在图像序列包括像素子集和剪取标识的情况下,可以仅在相应的像素子集上执行成对图像的比较。比较成对图像可以包括将剪取偏移值确定为这两个图像的剪取标识之差。剪取偏移值可以提供头部运动的指示。该方法还可以包括:基于剪取偏移值来设置丢弃图像序列阈值。在一些应用中,丢弃图像序列阈值可以基于剪取偏移值的统计度量,如剪取偏移值的平均值。丢弃图像序列阈值可以与剪取偏移值的绝对值成反比。换言之,丢弃图像序列阈值随着头部运动量的增加而减小。头部运动可能导致用户眼睛的环境照明条件的改变。以这种方式设置丢弃图像序列阈值允许根据用户头部的运动来动态地设置阈值。然后,该方法可以包括:如果图像序列得分大于丢弃图像序列阈值,则为图像序列设置丢弃标志。
在一个或多个示例中,该方法还可以包括基于剪取偏移标识来调整像素值阈值。例如,比较图像序列中的成对图像可以包括:比较成对图像中相应像素位置处的像素值以确定像素值差;以及基于剪取偏移值来设置像素值阈值。然后,确定图像得分可以包括以下任一项:大于或等于像素值阈值的绝对像素值差的整数;或者超过像素值阈值的绝对像素值差的总和。
如前所述,本文描述的方法可以由装置300执行。因此,装置300可以被配置为执行本文描述的一个或多个方法步骤。
装置300可以仅具有一个处理器301和一个存储器302,但是应当理解,其他实施例可以利用一个以上的处理器和/或一个以上的存储器(例如,相同或不同的处理器/存储器类型)。进一步地,装置300可以是专用集成电路(ASIC)。处理器300可以是专用于根据以计算机程序代码的形式存储在存储器302中的指令来执行/处理从其他部件接收的信息的通用处理器。由处理器的这种操作生成的输出信号被向前提供给如提供下游眼睛跟踪操作的其他部件。
存储器302(不一定是单个存储器单元)是存储计算机程序代码的计算机可读介质(在该示例中为固态存储器,但可以是其他类型的存储器,诸如硬盘驱动器、ROM、RAM、闪速存储器等)。该计算机程序代码存储有指令,当程序代码在处理器上运行时,这些指令可由处理器执行。
Claims (20)
1.一种针对眼睛跟踪应用选择用户的眼睛的图像序列的计算机实施的方法,其中,每个图像是在向所述用户显示静止刺激点时被捕获的,所述方法包括针对多个不同的成对图像:
将所述成对图像彼此进行比较以确定表示所比较的图像之间的差异程度的图像得分;以及
基于所述多个成对图像的图像得分来计算图像序列得分。
2.如权利要求1所述的方法,其中:
所述图像序列中的每个图像都包括注视位置标识,所述注视位置标识表示当所述图像被捕获时呈现给所述用户的所述刺激点在屏幕上的位置;并且
所述图像序列中的每个图像的注视位置标识均相同。
3.如任一前述权利要求所述的方法,进一步包括控制如何基于所述图像序列得分将所述图像序列传递到下游眼睛注视跟踪操作。
4.如任一前述权利要求所述的方法,进一步包括:
如果所述图像序列得分大于丢弃阈值,则为所述图像序列的至少一部分设置丢弃标志。
5.如任一前述权利要求所述的方法,进一步包括:
如果所述图像序列得分大于所述丢弃阈值,则丢弃所述图像序列的至少一部分。
6.如权利要求4所述的方法,进一步包括:
如果所述图像序列得分大于检查阈值,则为所述图像序列的至少一部分设置检查标志,其中,所述检查阈值低于所述丢弃阈值;以及
如果设置了所述检查标志,则将所述图像序列的所述至少一部分提供给用户以手动设置所述丢弃标志。
7.如权利要求4至6中的任一项所述的方法,进一步包括:
对未设置所述丢弃标志的图像序列执行下游眼睛注视跟踪操作,并且不对设置了所述丢弃标志的图像序列执行所述眼睛注视跟踪操作。
8.如权利要求4至6中的任一项所述的方法,进一步包括:
不管是否设置了相关联的丢弃标志,都对所述图像序列执行下游眼睛注视跟踪操作;以及
对未设置所述丢弃标志的图像序列进行性能评估统计数据汇总,并且不对设置了所述丢弃标志的图像序列进行性能评估统计数据汇总。
9.如权利要求1至7中的任一项所述的方法,进一步包括:
识别所述图像序列中的多个间隔开的图像子序列,其中,每个图像子序列包括所述图像序列中满足图像子序列得分阈值的多个连续图像;以及
串连所述多个图像子序列以提供串连的图像序列;以及
将所述串连的图像序列提供给下游眼睛注视跟踪操作。
10.如权利要求7至9中的任一项所述的方法,其中,所述眼睛注视跟踪操作包括:
训练算法,用于设置机器学习模型的一个或多个可训练参数,以对接收到的图像进行眼睛注视跟踪;
校准算法;
验证算法;和/或
性能评估算法。
11.如权利要求10所述的方法,其中:
每个图像序列都包括注视位置标识,所述注视位置标识表示当所述图像序列被捕获时呈现给所述用户的刺激点在屏幕上的位置;并且
所述眼睛注视跟踪操作基于所述图像和所述注视位置标识来执行所述眼睛注视跟踪操作的功能。
12.如任一前述权利要求所述的方法,其中,基于所述图像得分计算所述图像序列得分包括:
对所述图像得分进行求和以提供累计的图像序列得分。
13.如任一前述权利要求所述的方法,其中,基于所述图像得分计算所述图像序列得分包括:
将峰值图像序列得分设置为所述图像得分的最大值。
14.如权利要求13所述的方法,进一步包括:
如果所述峰值图像序列得分大于眨眼阈值,则为所述图像序列设置眨眼标志;以及
如果设置了所述眨眼标志,则将所述图像序列传递到要求所述图像序列中存在眨眼的下游眼睛注视跟踪操作;或者
如果未设置所述眨眼标志,则将所述图像序列传递到要求所述图像序列中不存在眨眼的下游眼睛注视跟踪操作。
15.如权利要求12所述的方法,进一步包括:
如果所述峰值图像序列得分大于运动阈值,则为所述图像序列设置运动标志;以及
如果设置了所述运动标志,则将所述图像序列传递到要求所述图像序列中存在运动的下游眼睛注视跟踪操作;或者
如果未设置所述运动标志,则将所述图像序列传递到要求所述图像序列中不存在运动的下游眼睛注视跟踪操作。
16.如任一前述权利要求所述的方法,其中,所述方法进一步包括:
根据注视位置标识使屏幕向所述用户显示静止刺激点;以及
在所述屏幕正在向所述用户显示所述静止刺激点的同时捕获所述用户的眼睛的所述图像序列。
17.如任一前述权利要求所述的方法,其中:
每个图像包括多个像素位置,并且每个像素位置具有表示所述像素的亮度或色调的像素值;并且
比较所述成对图像包括:
比较所述成对图像中相应像素位置处的像素值以确定像素值差;以及
根据所述像素值差来确定所述图像得分。
18.如任一前述权利要求所述的方法,其中:
每个图像包括:
多个像素位置,所述多个像素位置表示完整传感器图像的像素子集,以及
剪取标识,所述剪取标识表示所述完整传感器图像中的所述像素子集的位置;并且
比较所述成对图像包括将剪取偏移值确定为所述两个图像的所述剪取标识之间的差;
所述方法进一步包括:
基于所述剪取偏移值来设置丢弃图像序列阈值;以及
如果所述图像序列得分高于所述丢弃图像序列阈值,则为所述图像序列设置丢弃标志。
19.一种处理器,所述处理器被配置用于:
针对眼睛跟踪应用接收用户的眼睛的图像序列;
针对多个不同的成对图像:
将所述成对图像彼此进行比较以确定表示所比较的图像之间的差异程度的图像得分;以及
基于所述多个成对图像的图像得分来计算图像序列得分。
20.一种计算机程序,所述计算机程序被配置为执行如权利要求1至18中的任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE1951104 | 2019-09-30 | ||
SE1951104-7 | 2019-09-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112580423A true CN112580423A (zh) | 2021-03-30 |
Family
ID=75119665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011050745.0A Pending CN112580423A (zh) | 2019-09-30 | 2020-09-29 | 处理用户眼睛的图像的方法、相关联系统和计算机程序 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11443440B2 (zh) |
CN (1) | CN112580423A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1602321A1 (en) * | 2004-06-02 | 2005-12-07 | SensoMotoric Instruments GmbH | Method and apparatus for image-based eye tracking for retinal diagnostic or surgery device |
US20150294148A1 (en) * | 2014-04-09 | 2015-10-15 | Fujitsu Limited | Eye gaze detection apparatus, computer-readable recording medium storing eye gaze detection program and eye gaze detection method |
US20160109945A1 (en) * | 2013-05-30 | 2016-04-21 | Umoove Services Ltd. | Smooth pursuit gaze tracking |
US20180143684A1 (en) * | 2014-02-21 | 2018-05-24 | Tobii Ab | Apparatus and method for robust eye/gaze tracking |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5592247A (en) * | 1994-05-04 | 1997-01-07 | Trokel; Stephen L. | Apparatus and method to measure visual function under simulated nighttime conditions |
US6496594B1 (en) * | 1998-10-22 | 2002-12-17 | Francine J. Prokoski | Method and apparatus for aligning and comparing images of the face and body from different imagers |
US6437808B1 (en) * | 1999-02-02 | 2002-08-20 | Texas Instruments Incorporated | Apparatus and method for transmitting graphical representations |
JP4387552B2 (ja) * | 2000-04-27 | 2009-12-16 | 富士通株式会社 | 画像照合処理システム |
US6926429B2 (en) * | 2002-01-30 | 2005-08-09 | Delphi Technologies, Inc. | Eye tracking/HUD system |
GB2396001B (en) * | 2002-10-09 | 2005-10-26 | Canon Kk | Gaze tracking system |
EP2274920B1 (en) * | 2008-05-12 | 2019-01-16 | InterDigital Madison Patent Holdings | System and method for measuring potential eyestrain of stereoscopic motion pictures |
EP2334226A4 (en) * | 2008-10-14 | 2012-01-18 | Univ Ohio | COGNITION AND LINGUISTIC TESTING BY EYE TRIAL |
US8317325B2 (en) * | 2008-10-31 | 2012-11-27 | Cross Match Technologies, Inc. | Apparatus and method for two eye imaging for iris identification |
US9300941B2 (en) * | 2010-04-02 | 2016-03-29 | Zoran (France) S.A. | Stereoscopic video signal processor with enhanced 3D effect |
US8824779B1 (en) * | 2011-12-20 | 2014-09-02 | Christopher Charles Smyth | Apparatus and method for determining eye gaze from stereo-optic views |
US9106894B1 (en) * | 2012-02-07 | 2015-08-11 | Google Inc. | Detection of 3-D videos |
US9795290B2 (en) * | 2013-11-15 | 2017-10-24 | Tearscience, Inc. | Ocular tear film peak detection and stabilization detection systems and methods for determining tear film layer characteristics |
AU2013273657B2 (en) * | 2013-12-18 | 2016-11-10 | Canon Kabushiki Kaisha | Ophthalmic reference image selection |
US9514364B2 (en) * | 2014-05-29 | 2016-12-06 | Qualcomm Incorporated | Efficient forest sensing based eye tracking |
US10713506B2 (en) * | 2014-12-18 | 2020-07-14 | Magna Electronics Inc. | Vehicle vision system with 3D registration for distance estimation |
-
2020
- 2020-09-29 CN CN202011050745.0A patent/CN112580423A/zh active Pending
- 2020-09-30 US US17/039,869 patent/US11443440B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1602321A1 (en) * | 2004-06-02 | 2005-12-07 | SensoMotoric Instruments GmbH | Method and apparatus for image-based eye tracking for retinal diagnostic or surgery device |
US20160109945A1 (en) * | 2013-05-30 | 2016-04-21 | Umoove Services Ltd. | Smooth pursuit gaze tracking |
US20180143684A1 (en) * | 2014-02-21 | 2018-05-24 | Tobii Ab | Apparatus and method for robust eye/gaze tracking |
US20150294148A1 (en) * | 2014-04-09 | 2015-10-15 | Fujitsu Limited | Eye gaze detection apparatus, computer-readable recording medium storing eye gaze detection program and eye gaze detection method |
Also Published As
Publication number | Publication date |
---|---|
US20210256715A1 (en) | 2021-08-19 |
US11443440B2 (en) | 2022-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7151814B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN101271517B (zh) | 面部区域检测装置和方法 | |
CN103717124B (zh) | 用于获得并处理生物的测量读数的设备与方法 | |
EP2441383A1 (en) | Fixation-object determination device and method | |
KR102469720B1 (ko) | 전자 장치 및 이를 이용한 눈의 충혈도 판단 방법 | |
JP2009089077A5 (zh) | ||
US11297768B2 (en) | Vision based stalk sensors and associated systems and methods | |
CN110073363B (zh) | 追踪对象的头部 | |
CN113837145A (zh) | 用于产生针对所选择识别文档的符合的面部图像的系统 | |
JP6822482B2 (ja) | 視線推定装置、視線推定方法及びプログラム記録媒体 | |
US20200404149A1 (en) | Automatic exposure module for an image acquisition system | |
JP6601351B2 (ja) | 視線計測装置 | |
US10740934B2 (en) | Flow line display system, flow line display method, and program recording medium | |
CN113569793A (zh) | 一种跌倒识别方法及装置 | |
JP2007102482A (ja) | 自動計数装置、プログラムおよび方法 | |
KR20160114996A (ko) | 사용자 맞춤형 운동 서비스 제공 방법 및 장치 | |
US9672422B2 (en) | Pupil detection device and pupil detection method | |
WO2017047734A1 (ja) | 計測装置 | |
US11443440B2 (en) | Method of processing images of a users eye, associated systems and computer programs | |
US20220284718A1 (en) | Driving analysis device and driving analysis method | |
KR20210092914A (ko) | 인공지능 기반의 탈모 자가 진단 방법 및 시스템 | |
KR20180000580A (ko) | 조명기를 구비한 스테레오 매칭 시스템에서의 코스트 볼륨 연산장치 및 그 방법 | |
EP4060617A1 (en) | Image processing system and method | |
CN111753628B (zh) | 训练眼睛跟踪模型 | |
JP2019055161A (ja) | 瞳孔径変化の呼吸及び脈拍の影響を排除する手法と刺激による瞳孔径変化に基づく視認者情感判定装置、視認者情感判定システム及びプログラム。 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |