确定瞳孔位置的方法和装置与流程

文档序号:14774513发布日期:2018-06-23 02:43阅读:475来源:国知局
确定瞳孔位置的方法和装置与流程

本发明涉及图像处理领域,具体而言,涉及一种确定瞳孔位置的方法和装置。



背景技术:

VR(Virtual Reality,虚拟现实)技术是一种可以创建和体验虚拟世界的计算机技术,其在视线追踪领域得到了广泛的应用。

在实际应用中,VR设备可根据基于眼球的3D近似圆球模型中的瞳孔中心坐标和角膜反射,对注视点的远距离设备进行视线估计。目前对瞳孔中心进行定位时,多采用无监督学习的方法,即使用无标签的数据对模型进行训练,然而该方法只能大致确定瞳孔中心的位置,精度较差。

针对上述现有技术不能对瞳孔的中心位置进行精确定位的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种确定瞳孔位置的方法和装置,以至少解决现有技术不能对瞳孔中心进行精确定位的技术问题。

根据本发明实施例的一个方面,提供了一种确定瞳孔位置的方法,包括:获取包含瞳孔的待检测图像;基于半监督学习的预设模型获取预设区域对应的二值图像,其中,预设区域为待检测图像中瞳孔所在的区域;获取二值图像的质心;根据二值图像的质心确定瞳孔的中心位置。

根据本发明实施例的另一方面,还提供了一种确定瞳孔位置的装置,包括:第一获取模块,用于获取包含瞳孔的待检测图像;第二获取模块,用于基于半监督学习的预设模型获取预设区域对应的二值图像,其中,预设区域为待检测图像中瞳孔所在的区域;第三获取模块,用于获取二值图像的质心;确定模块,用于根据二值图像的质心确定瞳孔的中心位置。

根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,其中,程序执行确定瞳孔位置的方法。

根据本发明实施例的另一方面,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行确定瞳孔位置的方法。

在本发明实施例中,采用半监督学习算法的方式,通过获取包含瞳孔的待检测图像,然后,基于半监督学习的预设模型获取与预设区域对应的二值图像以及二值图像的质心,并根据二值图像的质心确定瞳孔的中心位置,其中,预设区域为待检测图像中瞳孔所在的区域,达到了对瞳孔中心进行定位的目的,从而实现了准确确定瞳孔中心的位置的技术效果,进而解决了现有技术不能对瞳孔中心进行精确定位的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种确定瞳孔位置的方法流程图;

图2是根据本发明实施例的一种可选的二值图像的结构示意图;

图3(a)是根据本发明实施例的一种可选的无标签训练集的示意图;

图3(b)是根据本发明实施例的一种可选的有标签训练集的示意图;

图4是根据本发明实施例的一种可选的预设模型的构建流程图;以及

图5是根据本发明实施例的一种确定瞳孔位置的装置结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

根据本发明实施例,提供了一种确定瞳孔位置的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的确定瞳孔位置的方法流程图,如图1所示,该方法包括如下步骤:

步骤S102,获取包含瞳孔的待检测图像。

需要说明的是,图像采集设备可以采集到包含瞳孔的图像,即得到上述待检测图像。其中,上述待检测图像可以为一张,也可以为多张。在待检测图像为多张的情况下,图像采集设备采集到包含瞳孔的待检测图像集。另外,在图像采集设备采集到待检测图像之后,与图像采集设备连接的处理器可对待检测图像进行处理,以确定待检测图像中瞳孔的中心位置。

步骤S104,基于半监督学习的预设模型获取与预设区域对应的二值图像,其中,预设区域为待检测图像中瞳孔所在的区域。

需要说明的是,半监督学习是将有监督学习和无监督学习相结合的一种机器学习方法,使用半监督学习对预设模型进行训练,不仅可以对模型进行简化处理,还可以得到精度比较高的处理结果。另外,处理器在得到待检测图像之后,将待检测图像作为预设模型的输入,对应的预设模型的输出即为待检测图像中瞳孔所在区域的二值图像。

此外,还需要说明的是,二值图像是指每一个像素只有两种可能取值或灰度等级的图像。由于二值图像具有照样内存少、对比度高等优点,因此,在本申请中将包含多种灰度等级或多种颜色的待检测图像处理成取值少、灰度等级少的二值图像同样可以提高精度比较高的瞳孔中心,并且还提高了处理数据的速度。

另外,如果预设模型的输入为待检测图像集,则预设模型的输出为包含多张二值图像的二值图像集,其中,二值图像集中的每张图像均与待检测图像集中的图像相对应。

步骤S106,获取二值图像的质心。

需要说明的是,在得到待检测图像的二值图像之后,获取二值图像中瞳孔区域内的像素点的坐标,然后根据瞳孔区域的像素点的坐标进行加权求和,即得到二值图像的质心。

在一种可选的实施例中,如图2所示的一种可选的二值图像的结构示意图。其中,在图2中,黑色圆表示二值图像区域中的瞳孔区域。由于是二值图像,所以仅需要找出二值图像中灰度等级为0的像素点的坐标即可得到瞳孔区域内的像素点的坐标,并采用如下公式即可得到二值图像中瞳孔区域的质心:

在上式中,M为瞳孔区域内像素点的总数,i表示瞳孔区域内的像素点的下标,xi、yi表示瞳孔区域内第i个像素点的坐标,x和y表示质心的坐标。

步骤S108,根据二值图像的质心确定瞳孔的中心位置。

需要说明的是,在得到二值图像的质心之后,二值图像的质心即为瞳孔的中心位置。

基于上述步骤S102至步骤S108所限定的方案,可以获知,通过获取包含瞳孔的待检测图像,然后,基于半监督学习的预设模型获取与预设区域对应的二值图像以及二值图像的质心,并根据二值图像的质心确定瞳孔的中心位置,其中,预设区域为待检测图像中瞳孔所在的区域。

容易注意到的是,由于半监督学习包括无监督学习和有监督学习两个学习过程,因此,将有监督学习和无监督学习进行结合所得到的预设模型,可以克服现有技术中仅使用无监督学习或仅使用有监督学习无法对瞳孔进行精确定位的问题。另外,使用预设模型,将包含瞳孔的待检测图像转换为处理过程比较简单的二值图像,进而根据二值图像的质心可准确确定瞳孔中心的位置。此外,上述过程计算过程简单,提高了对瞳孔中心进行精确定位的速度。

由上述内容可知,本申请所提供的实施例可以达到对瞳孔中心进行定位的目的,从而实现了准确确定瞳孔中心的位置的技术效果,进而解决了现有技术不能对瞳孔中心进行精确定位的技术问题。

需要说明的是,在基于半监督学习的预设模型获取与预设区域对应的二值图像之前,需要构建预设模型,具体步骤如下:

步骤S10,获取多张待训练的图像中的第一类训练集和第二类训练集;

步骤S12,获取网络模型,其中,网络模型用于将多张待训练的图像从原始图像转换为二值图像;

步骤S14,构建网络模型的损失函数;

步骤S16,根据第一类训练图像集、第二类训练图像集以及网络模型的损失函数构建预设模型。

需要说明的是,多张待训练的图像组成待训练图像集,该待训练图像集包含第一类训练集和第二类训练集,其中,第一类训练集为无标签训练集,即原始图像与二值图像之间没有对应关系,如图3(a)所示的一种可选的无标签训练集的示意图;第二类训练集为有标签训练集,即原始图像与二值图像一一对应,如图3(b)所示的一种可选的有标签训练集的示意图。其中,在图3(a)和图3(b)中,x表示原始图像,y表示二值图像。

此外,还需要说明的是,上述网络模型为GAN(Generative Adversarial Networks,即生成对抗网络)网络模型,该网络模型可以包括两个GAN网络,其中,一个GAN网络用于将图像由原始图像转换为二值图像,而另一个GAN网络用于将二值图像转换为原始图像。在得到上述网络模型之后,可基于该网络模型构建网络模型的损失函数,具体步骤如下:

步骤S140,获取网络模型的超参数;

步骤S142,在网络模型进行无监督学习的情况下,基于超参数确定网络模型的损失函数为第一损失函数和第二损失函数;

步骤S144,在网络模型进行有监督学习的情况下,基于超参数确定网络模型的损失函数为第三损失函数和第四损失函数。

需要说明的是,网络模型的超参数是指在机器学习的上下文中,在开始学习过程之前设置值的参数。在本申请中,网络模型的超参数至少包括如下:学习率、无监督学习与有监督学习的次数比率、批处理图像的数量以及对网络模型进行训练的训练轮数。

具体的,当对网络模型采用无监督学习时,第一损失函数为生成器的损失函数,第二损失函数为判别器的损失函数,其中,第一损失函数为:

lg=λY||y-GA(GB(y))||+λX||x-GB(GA(x))||-DB(GB(y))-DA(GA(x))

第二损失函数为:

lDA=DA(GA(x))-DA(y)

lDB=DB(GB(x))-DB(x)

当对网络模型采用有监督学习时,第三损失函数为生成器的损失函数,第四损失函数为判别器的损失函数,其中,第四损失函数与第二损失函数相同,即在有监督学习和无监督学习的情况下,判别器的更新方式不变。由此,第三损失函数为:

lg=λY||y-GA(x)||+λX||x-GB(y)||-DB(GB(y))-DA(GA(x))

在上述公式中,λY、λX为超参数,可通过经验确定;GA表示生成器A,GB表示生成器B,DB表示判别器B,DA表示判别器A。X、Y分别表示原始图像域和二值图像域,x、y分别表示X、Y域的图像。

需要说明的是,在得到网络模型以及第一类训练图像集和第二类训练图像集之后,即可构建预设模型,即构建预设模型的损失函数,具体方法包括如下步骤:

步骤S160,基于第一类训练图像集和第二类训练图像集对网络模型的判别器和生成器的参数进行更新,得到更新后的网络模型;

步骤S162,在在对网络模型的更新次数达到第一阈值的情况下,根据更新后的网络模型构建预设模型。

具体的,基于第一类训练图像集和第二类训练图像集对网络模型的判别器和生成器的参数进行更新,得到更新后的网络模型包括如下步骤:

步骤S1602,基于第一类训练图像集根据第二损失函数更新判别器的参数;

步骤S1604,基于第一类训练图像集根据第一损失函数更新生成器的参数;

步骤S1606,在对判别器和生成器的参数进行更新的次数达到第二阈值的情况下,基于第二类训练图像集根据第三损失函数更新生成器的参数;

步骤S1608,基于第二类训练图像集根据第四损失函数更新判别器的参数;

其中,在对判别器和生成器的参数进行更新的次数达到第三阈值的情况下,对网络模型的更新次数进行加一操作,直至网络模型的更新次数达到第一阈值为止。

需要说明的是,上述第一阈值为对网络模型进行训练的最大更新次数,第二阈值为基于无监督学习方式更新生成器的参数(即无监督学习方式下的生成器的参数)和判别器的参数(即无监督学习方式下的判别器的参数)的最大更新次数,第三阈值为基于有监督学习方式更新生成器的参数(即有监督学习方式下的生成器的参数)和判别器的参数(即有监督学习方式下的判别器的参数)的最大更新次数。

在一种可选的实施例中,如图4所示的一种可选的预设模型的构建流程图。其中,在图4中,第一阈值为n,第二阈值为n1,第三阈值为n2。具体的,在获取训练数据集之后,即在获取第一类训练图像集和第二类训练图像集之后,对网络模型的参数进行初始化处理,具体包括对网络模型的权重参数以及超参数进行初始化处理。在完成参数的初始化处理之后,使用无标签训练集(即第一类训练图像集)和梯度下降的方法通过无监督学习方式更新生成器的参数和判别器的参数,在生成器的参数和判别器的参数的更新次数达到第二阈值(即n1)的情况下,基于有监督学习方式更新,即使用有标签训练集(即第二类训练图像集)和梯度下降的方法通过有监督学习方式更新生成器的参数和判别器的参数。在生成器的参数和判别器的参数的更新次数达到第三阈值(即n2)的情况下,完成一次对网络模型的更新,停止对网络模型的训练。在对生成器和判别器的参数进行更新的次数达到第一阈值的情况下,以此时得到的生成器、和判别器来构建预设模型。

实施例2

根据本发明实施例,还提供了一种确定瞳孔位置的装置实施例,其中,图5是根据本发明实施例的确定瞳孔位置的装置结构示意图,如图5所示,该装置包括:第一获取模块501、第二获取模块503、第三获取模块505以及确定模块507。

其中,第一获取模块501,用于获取包含瞳孔的待检测图像;第二获取模块503,用于基于半监督学习的预设模型获取与预设区域对应的二值图像,其中,预设区域为待检测图像中瞳孔所在的区域;第三获取模块505,用于获取二值图像的质心;确定模块507,用于根据二值图像的质心确定瞳孔的中心位置。

需要说明的是,上述第一获取模块501、第二获取模块503、第三获取模块505以及确定模块507对应于实施例1中的步骤S102至步骤S108,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。

在一种可选的实施例中,确定瞳孔位置的装置还包括:第五获取模块、第六获取模块、第一构建模块以及第二构建模块。其中,第五获取模块,用于获取多张待训练的图像中的第一类训练集和第二类训练集;多张待训练的图像包括第一训练图像集和第二训练图像集;第六获取模块,用于获取网络模型,其中,网络模型用于将多张待训练的图像从原始图像转换为二值图像;第一构建模块,用于构建网络模型的损失函数;第二构建模块,用于根据第一类训练图像集、第二类训练图像集以及网络模型的损失函数构建预设模型。

需要说明的是,上述第五获取模块、第六获取模块、第一构建模块以及第二构建模块对应于实施例1中的步骤S10至步骤S16,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。

在一种可选的实施例中,第一构建模块包括:第七获取模块、第一确定模块以及第二确定模块。其中,第七获取模块,用于获取网络模型的超参数;第一确定模块,用于在网络模型进行无监督学习的情况下,基于超参数确定网络模型的损失函数为第一损失函数和第二损失函数;第二确定模块,用于在网络模型进行有监督学习的情况下,基于超参数确定网络模型的损失函数为第三损失函数和第四损失函数。

需要说明的是,上述第七获取模块、第一确定模块以及第二确定模块对应于实施例1中的步骤S140至步骤S144,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。

在一种可选的实施例中,第二构建模块包括:第一更新模块以及第三构建模块。其中,第一更新模块,用于基于第一类训练图像集和第二类训练图像集对网络模型的判别器和生成器的参数进行更新,得到更新后的网络模型;第三构建模块,用于在在对网络模型的更新次数达到第一阈值的情况下,根据更新后的网络模型构建预设模型。

需要说明的是,上述第一更新模块以及第三构建模块对应于实施例1中的步骤S160至步骤S162,两个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。

在一种可选的实施例中,第一更新模块包括:第二更新模块、第三更新模块、第四更新模块以及第五更新模块。其中,第二更新模块,用于基于第一类训练图像集根据第二损失函数更新判别器的参数;第三更新模块,用于基于第一类训练图像集根据第一损失函数更新生成器的参数;第四更新模块,用于在对判别器和生成器的参数进行更新的次数达到第二阈值的情况下,基于第二类训练图像集根据第三损失函数更新生成器的参数;第五更新模块,用于基于第二类训练图像集根据第四损失函数更新判别器的参数;其中,在对判别器和生成器的参数进行更新的次数达到第三阈值的情况下,对网络模型的判更新次数进行加一操作,直至网络模型的更新次数达到第一阈值为止。

需要说明的是,上述第二更新模块、第三更新模块、第四更新模块以及第五更新模块对应于实施例1中的步骤S1602至步骤S1608,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。

实施例3

根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,其中,程序执行实施例1中的确定瞳孔位置的方法。

实施例4

根据本发明实施例的另一方面,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行实施例1中的确定瞳孔位置的方法。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1