一种基于深度相机的瞳距测量方法和装置与流程

文档序号:23669541发布日期:2021-01-15 14:12阅读:388来源:国知局
一种基于深度相机的瞳距测量方法和装置与流程

本发明涉及信息处理领域,尤其涉及一种基于深度相机的瞳距测量方法和装置。



背景技术:

瞳孔间的距离测量在实际应用中具有重要的意义,例如配眼镜时需要根据瞳孔间距确定两个镜片之间的距离、双目镜的光学仪器设计时需要根据人体的瞳孔距离来确定两个目镜之间的距离,以及做眼科检查时经常需要做瞳距检测等等。

目前,在瞳孔间距测量中,通常采用人为拿尺子进行瞳距测量,该方法虽然能够得到瞳孔间的距离,但在测试过程中需要被测人的视线在长时间内保持稳定,并且会因为测量人员的误操作以及抖动产生极大的测量误差,从而导致测量精度较差。

因此,目前亟需提供一种瞳距的测量方法,以提高瞳距测量的精度。



技术实现要素:

本发明要解决的技术问题在于人为测量瞳距的准确性不高的问题,针对现有技术中的缺陷,提供一种基于深度相机的瞳距测量方法和装置。

为了解决上述技术问题,本发明提供了一种基于深度相机的瞳距测量方法,该方法包括:

获取由深度相机拍摄的待测用户的面部图像,其中,所述面部图像包括彩色图像和深度图像;

对所述彩色图像进行图像识别,确定所述彩色图像中所述待测用户的第一瞳孔位置信息,其中,所述第一瞳孔位置信息为所述待测用户的两个瞳孔的位置信息;

根据所述彩色图像与所述深度图像的位置对应关系以及所述第一瞳孔位置信息,确定所述深度图像中所述待测用户的两个瞳孔的第二瞳孔位置;

根据所述深度图像,获取所述待测用户的面部中心与所述深度相机的间隔距离;

根据所述间隔距离与所述第二瞳孔位置,确定所述待测用户的瞳距。

可选地,在所述获取由深度相机拍摄的待测用户的面部图像之前,进一步包括:

利用人面部关键点数据集进行模型训练,得到人脸识别模型;其中,所述人脸识别模型包括landmarks模型;

所述对所述彩色图像进行图像识别,确定所述彩色图像中所述待测用户的第一瞳孔位置信息,包括:

对所述彩色图像进行特征提取,获得图像特征;其中,所述图像特征用于表征所述待测用户面部的所述关键点的特征;

将所述图像特征输入所述人脸识别模型中,得到识别结果;

根据所述识别结果,获取所述待测用户双眼部位的至少一个眼部关键点;

根据预设的坐标系中心,对每一个所述眼部关键点进行坐标定位;

计算所述坐标定位后的每一只眼睛所对应的关键点的坐标的平均值;以及

将计算得到的平均值坐标确定为所述第一瞳孔位置信息。

可选地,当所述间隔距离位于预设范围内时,

所述根据所述间隔距离与所述第二瞳孔位置,确定所述待测用户的瞳距,包括:

对所述深度图像进行裁剪,得到深度子图像;其中,所述第二瞳孔位置位于所述深度子图像中的中心位置;

利用预先训练的瞳孔识别模型,确定所述待测用户的瞳孔在所述深度子图像中的瞳孔位置;

利用如下坐标转换公式,将所述深度子图像中的所述瞳孔位置转换为在所述深度图像中的第三瞳孔位置;

其中,x1为所述深度子图像中瞳孔所在位置的横坐标,x2为所述深度图像中瞳孔所在位置的横坐标,a1为所述深度子图像沿横坐标方向的边长,a2为所述深度图像沿横坐标方向的边长,y1为所述深度子图像中瞳孔所在位置的纵坐标,y2为所述深度图像中瞳孔所在位置的纵坐标,b1为所述深度子图像沿纵坐标方向的边长,b2为所述深度图像沿纵坐标方向的边长;

根据所述第三瞳孔位置和所述间隔距离,确定所述待测用户的瞳距。

可选地,所述根据所述第三瞳孔位置和所述间隔距离,确定所述待测用户的瞳距,包括:

将所述深度相机所在的位置确定为坐标轴原点;

根据所述间隔距离和所述第三瞳孔位置,确定所述待测用户每一个瞳孔分别对应的坐标信息;

根据所述待测用户的两个瞳孔的坐标信息计算得到瞳距。

本发明还提供了一种基于深度相机的瞳距测量装置,包括:第一获取模块、第一确定模块、第二获取模块和第二确定模块;

所述第一获取模块,用于获取由深度相机拍摄的待测用户的面部图像,其中,所述面部图像包括彩色图像和深度图像;

所述第一确定模块,用于执行如下操作:

对所述彩色图像进行图像识别,确定所述彩色图像中所述待测用户的第一瞳孔位置信息,其中,所述第一瞳孔位置信息为所述待测用户的两个瞳孔的位置信息;

根据所述彩色图像与所述深度图像的位置对应关系以及所述第一瞳孔位置信息,确定所述深度图像中所述待测用户的两个瞳孔的第二瞳孔位置;

所述第二获取模块,用于根据所述深度图像,获取所述待测用户的面部中心与所述深度相机的间隔距离;

所述第二确定模块,用于根据所述间隔距离与所述第二瞳孔位置,确定所述待测用户的瞳距。

可选地,该一种基于深度相机的瞳距测量装置,还进一步包括:模型训练模块;

所述模型训练模块,用于利用人面部关键点数据集进行模型训练,得到人脸识别模型;其中,所述人脸识别模型包括landmarks模型;

所述第一确定模块,还用于执行如下从操作:

对所述彩色图像进行特征提取,获得图像特征;其中,所述图像特征用于表征所述待测用户面部的所述关键点的特征;

将所述图像特征输入所述人脸识别模型中,得到识别结果;

根据所述识别结果,获取所述待测用户双眼部位的至少一个眼部关键点;

根据预设的坐标系中心,对每一个所述眼部关键点进行坐标定位;

计算所述坐标定位后的每一只眼睛所对应的关键点的坐标的平均值;以及

将计算得到的平均值坐标确定为所述第一瞳孔位置信息。

可选地,当所述间隔距离位于预设范围内时,

所述第二确定模块,还用于执行如下操作:

对所述深度图像进行裁剪,得到深度子图像;其中,所述第二瞳孔位置位于所述深度子图像中的中心位置;

利用预先训练的瞳孔识别模型,确定所述待测用户的瞳孔在所述深度子图像中的瞳孔位置;

利用如下坐标转换公式,将所述深度子图像中的所述瞳孔位置转换为在所述深度图像中的第三瞳孔位置;

其中,x1为所述深度子图像中瞳孔所在位置的横坐标,x2为所述深度图像中瞳孔所在位置的横坐标,a1为所述深度子图像沿横坐标方向的边长,a2为所述深度图像沿横坐标方向的边长,y1为所述深度子图像中瞳孔所在位置的纵坐标,y2为所述深度图像中瞳孔所在位置的纵坐标,b1为所述深度子图像沿纵坐标方向的边长,b2为所述深度图像沿纵坐标方向的边长;

根据所述第三瞳孔位置和所述间隔距离,确定所述待测用户的瞳距。

可选地,所述第二确定模块,还用于执行如下操作:

将所述深度相机所在的位置确定为坐标轴原点;

根据所述间隔距离和所述第三瞳孔位置,确定所述待测用户每一个瞳孔分别对应的坐标信息;

根据所述待测用户的两个瞳孔的坐标信息计算得到瞳距。

本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行一种基于深度相机的瞳距测量方法中的任一所述的方法。

本发明实施例还提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述一种基于深度相机的瞳距测量方法中任一项所述的方法。

实施本发明的一种基于深度相机的瞳孔测量方法和装置,至少具有以下有益效果:

本方案采用深度相机对待测用户的面部图像进行采集,以进一步通过图像识别的方式确定待测用户的瞳距。具体地,由于深度相机可以获得彩色图像和深度图像,彩色图像可以确定出图像中瞳孔的位置,因此利用彩色图像确定出瞳孔的位置后,对应在深度图像中确定出瞳孔的位置,进一步根据深度图像中的瞳孔位置信息和深度相机与待测瞳孔的间隔距离确定出用户的瞳距。由此可见,本方案采用图像识别瞳孔的方式,结合深度图像能够确定目标物体距离的特性来确定待测用户的瞳距,避免了传统测量方式中由于人为因素而造成的测量结果误差较大的情况。因此,本方案能够提高瞳距测量的精度。

附图说明

图1是本发明一个实施例提供的一种基于深度相机的瞳距测量方法的流程图;

图2是本发明另一个实施例提供的一种基于深度相机的瞳距测量方法的流程图;

图3是本发明一个实施例提供的一种基于深度相机的瞳距测量装置所在设备的示意图;

图4是本发明一个实施例提供的一种基于深度相机的瞳距测量装置的示意图。

具体实施方式

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

如图1所示,本发明实施例提供了一种基于深度相机的瞳距测量方法,该方法可以包括以下步骤:

步骤101:获取由深度相机拍摄的待测用户的面部图像,其中,面部图像包括彩色图像和深度图像;

步骤102:对彩色图像进行图像识别,确定彩色图像中待测用户的第一瞳孔位置信息,其中,第一瞳孔位置信息为待测用户的两个瞳孔的位置信息;

步骤103:根据彩色图像与深度图像的位置对应关系以及第一瞳孔位置信息,确定深度图像中待测用户的两个瞳孔的第二瞳孔位置;

步骤104:根据深度图像,获取待测用户的面部中心与深度相机的间隔距离;

步骤105:根据间隔距离与第二瞳孔位置,确定待测用户的瞳距。

在本发明实施例中,采用深度相机对待测用户的面部图像进行采集,以进一步通过图像识别的方式确定待测用户的瞳距。具体地,由于深度相机可以获得彩色图像和深度图像,彩色图像可以确定出图像中瞳孔的位置,因此利用彩色图像确定出瞳孔的位置后,对应在深度图像中确定出瞳孔的位置,进一步根据深度图像中的瞳孔位置信息和深度相机与待测瞳孔的间隔距离确定出用户的瞳距。由此可见,本方案采用图像识别瞳孔的方式,结合深度图像能够确定目标物体距离的特性来确定待测用户的瞳距,避免了传统测量方式中由于人为因素而造成的测量结果误差较大的情况。因此,本方案能够提高瞳距测量的精度。

可选地,在进行瞳距测量过程之前,首先需要训练得到用于对人脸进行识别的人脸识别模型,具体可以包括:

利用人面部关键点数据集进行模型训练,得到人脸识别模型;其中,人脸识别模型包括landmarks模型;

对彩色图像进行图像识别,确定彩色图像中待测用户的第一瞳孔位置信息,包括:

对彩色图像进行特征提取,获得图像特征;其中,图像特征用于表征待测用户面部的关键点的特征;

将图像特征输入人脸识别模型中,得到识别结果;

根据识别结果,获取待测用户双眼部位的至少一个眼部关键点;

根据预设的坐标系中心,对每一个眼部关键点进行坐标定位;

计算坐标定位后的每一只眼睛所对应的关键点的坐标的平均值;以及

将计算得到的平均值坐标确定为第一瞳孔位置信息。

在本发明实施例中,由于需要通过图像识别的方式来进行图像瞳距测量。因此首先需要利用人脸部的关键点数据进行模型训练,如此在对采集到的图像进行识别时,即可得到准确的人脸识别结果。进一步,根据识别结果可以获取到待测用户眼睛部位的关键点信息,通过对该眼部的各个关键点进行定位,然后计算每个眼睛周围关键点坐标的平均值即可得到瞳孔的准确位置信息,极大程度上提高了瞳孔位置确定的准确性。

可选地,为了提高瞳孔测量的精度,通常令待测用户与深度相机的间隔距离在一定范围内,如此在根据间隔距离和第二瞳孔位置确定待测用户的瞳距时,通过以下方式能够进一步提高瞳孔测量的精度:

对深度图像进行裁剪,得到深度子图像;其中,第二瞳孔位置位于深度子图像中的中心位置;

利用预先训练的瞳孔识别模型,确定待测用户的瞳孔在深度子图像中的瞳孔位置;

利用如下坐标转换公式,将深度子图像中的瞳孔位置转换为在深度图像中的第三瞳孔位置;

其中,x1为深度子图像中瞳孔所在位置的横坐标,x2为深度图像中瞳孔所在位置的横坐标,a1为深度子图像沿横坐标方向的边长,a2为深度图像沿横坐标方向的边长,y1为深度子图像中瞳孔所在位置的纵坐标,y2为深度图像中瞳孔所在位置的纵坐标,b1为深度子图像沿纵坐标方向的边长,b2为深度图像沿纵坐标方向的边长;

根据第三瞳孔位置和间隔距离,确定待测用户的瞳距。

在本发明实施例中,在根据间隔距离和第二瞳孔位置确定瞳距时,为了提高瞳距测量的精度,可以对识别后的深度图像进行裁剪,使两个瞳孔的第二瞳孔位置信息位于裁剪后的深度子图像的中心位置,然后利用瞳孔识别模型进行瞳孔识别确定瞳孔在深度子图像中的位置,进一步利用坐标转换公式将瞳孔在子图像中的位置转换到原来的深度图像中,从而可以结合间隔距离确定出待测用户的瞳距。由于本方案采用了将瞳孔通过裁剪的方式提取出来,并再次进行识别的瞳孔确定方式,因而大大提升了确定瞳孔位置的准确性,进而提高了瞳距测量的精度。

可选地,在根据第三瞳孔位置和间隔距离确定瞳距时,可以采用如下方式来实现:

将深度相机所在的位置确定为坐标轴原点;

根据间隔距离和第三瞳孔位置,确定待测用户每一个瞳孔分别对应的坐标信息;

根据待测用户的两个瞳孔的坐标信息计算得到瞳距。

在本发明实施例中,通过将深度相机定义为坐标原点,如此,根据相机与待测用户之间的间隔距离即可得到每个瞳孔位置的坐标信息,进而可以利用坐标的两点间公式准确地确定出待测用户的瞳距。

如图2所示,本发明另一个实施例还提供了一种基于深度相机的瞳距测量方法,该方法可以包括:

步骤201:利用人面部关键点数据集进行模型训练,得到人脸识别模型。

在本发明实施例中,通过在人脸上绘制若干关键点作为标记点,其中标记点一般画在边、角、轮廓、交叉、等分等关键位置,借助它们就可以描述人脸的形态。通常人脸部绘制的关键点主要有:下颌线、右眼眉、左眼眉、鼻子、右眼、左眼、嘴外轮廓以及嘴内轮廓等。在关键点标记完成后,通过大量的图片数据进行训练即可得到人脸识别模型,比如可以构建用于人脸识别的landmarks模型。

步骤202:获取由深度相机拍摄的待测用户的面部信息。

在本发明实施例中,深度相机主要有结构光、双目立体视觉以及光飞行时间法三类。在本方案中,推荐采用结构光和双目立体视觉的深度相机进行图像采集。通过深度相机可以拍摄得到用户面部的彩色图像和深度图像,其中彩色图像可以用于后续对瞳孔的位置进行识别,深度图像用于对瞳孔的距离进行测定,通过结合彩色图像和深度图像来进行瞳距测量。

步骤203:对彩色图像进行图像识别,确定彩色图像中待测用户的瞳孔位置信息。

在本发明实施例中,首先需要对彩色图像进行特征提取,将图像中表征人脸上的关键点的特征提取出来,然后通过人脸识别模型识别出待测用户的人脸结构,从而即可确定出待测用户双眼部位的关键点,然后对这些关键点进行定位,将每一个眼睛周围的关键点坐标进行求均值,即可得到瞳孔的位置信息。

例如左眼位置的关键点坐标分别为[4,2],[2,2],[3,1],[3,3],如此,即可得到该左眼瞳孔的位置坐标为[(4+2+3+3)/4,(2+2+1+3)/4],即左眼瞳孔的坐标为[3,2]。

步骤204:根据彩色图像中的瞳孔位置确定深度图像中的瞳孔位置。

在本发明实施例中,由于彩色图像和深度图像是一一对应的。区别在于彩色图像可以进行图像识别,即可以利用图像识别确定出瞳孔的位置,而深度图像目的在于确定与待测物之间的距离,但并不能确定瞳孔在哪个位置。因此在本方案中,通过对彩色图像进行图像识别,确定出瞳孔的位置,然后对应的在深度图像中相同的位置确定出瞳孔位置。

步骤205:利用深度像机,确定待测用户的面部中心与深度相机的间隔距离。

在本发明实施例中,深度相机的特性就是可以确定出两者之间的距离。例如对于双目立体视觉的深度相机,其通过每个镜头对目标物体进行测量,再结合两个镜头之间的距离,利用相似性原理即可得到镜头与目标物体之间的距离。而结构光的深度相机通常采用特定波长的不可见的红外激光作为光源,将发射出来的光经过一定的编码投影在物体上,通过一定算法来计算返回的编码图案的畸变来得到物体的位置和深度信息。

步骤206:根据间隔距离和深度图像中的瞳孔位置确定瞳距。

在本发明实施例中,为了提高瞳距测量的精度,通过对深度图像中的瞳孔部位进行裁剪,将瞳孔位置提取出来得到深度图像的子图像,如此再次通过对子图像中的瞳孔进行识别,从而能够得到更加精准的瞳孔位置信息。因此在根据瞳孔位置信息进行瞳距测量时,能够提升瞳距测量的准确性。

在上述的方案中,由于采用了对子图像进行了再次识别,而在瞳距测量时,需要依据瞳孔位置在原深度图像的位置关系,并结合相机与待测用户之间的距离来进行瞳距测量。因此,当在子图像中识别出瞳孔的位置后,需要利用坐标转换公式,将瞳孔在子图像中的坐标位置转换到原深度图像中。

例如,原深度图像尺寸为20*15cm,通过对原深度图像裁剪后,子图像的尺寸为4*3cm,通过对子图像的瞳孔识别后,瞳孔在子图像中的坐标为(0.7,1.2)。如此即可知,将瞳孔在子图像中的坐标转换到原深度图像中的坐标为((20/4)*0.7,(15/3)*1.2),即瞳孔在深度图像中的坐标为(3.5,6),如此通过裁剪进行二次识别的方式,更加精准的确定了瞳孔的位置,极大的提高了瞳距测量的精度。

当然在得到瞳孔位置后,可以考虑通过结合深度相机和待测人面部中心的间隔距离以及瞳孔位置进行瞳距的测量。具体地,可以将深度相机所在的位置确定为坐标原点,如此,根据间隔距离,即可确定出瞳孔所在的坐标。当两个瞳孔的坐标都确定后,即可利用坐标的两点间公式计算瞳距,从而得到准确的瞳孔距离。

在本发明的一个实施例中,在进行瞳距测量时还可以包括以下实施方式:

一种基于深度相机的瞳距测量方法,其特征在于,包括:

a、通过深度相机的摄像头采集用户面部信息;

b、将用户面部信息进行预处理;

c、根据预处理之后的用户面部信息,使用人脸特征点检测算法识别用户的人脸特征点;

d、根据人脸特征点中的双眼特征点获取双眼瞳孔的各自的第一位置信息;并测量用户与摄像头之间的距离;

e、当判断用户与摄像头之间的距离大于指定阈值时,根据用户与摄像头之间的距离,以及双眼瞳孔的各自的第一位置信息,得到双眼瞳孔的第一瞳距数据;并将第一瞳距数据作为瞳距测量结果。

步骤e,还包括:

f、当判断用户与摄像头之间的距离小于指定阈值时,以瞳孔的各自的第一位置为中心,以二倍的眼长为边长,取正方形区域,以正方形区域作为眼睛的roi区域,分割为子图片;

g、对子图片中的瞳孔进行识别,获取眼睛的中心位置,得到瞳孔在子图片中的位置;将瞳孔在子图片中的位置换算为瞳孔在原始图片中的位置,进而得到了双眼瞳孔的各自的第二位置信息;

h、根据用户与摄像头之间的距离,以及双眼瞳孔的各自的第二位置信息,得到双眼瞳孔的第二瞳距数据;并将第二瞳距数据作为瞳距测量结果。

用户面部信息,包括:用户面部rgb彩色信息视频流以及深度图像数据视频流。

步骤b,包括:

截取rgb彩色信息视频流以及深度图像数据视频流,得到rgb图像以及深度图;并将rgb图像的信息配准至深度图的信息中,得到带有rgb信息的脸部深度图信息。

步骤c,包括:

根据带有rgb信息的脸部深度图信息识别获取相应的人脸特征点。

步骤d,包括:

将人脸特征点中的均匀分散在眼睛的四周的双眼部分的双眼特征点取均值,以获取双眼瞳孔的各自的第一位置信息。

具体地,该基于深度相机的瞳距测量方法可以包括如下步骤:

s101,通过深度相机的摄像头采集用户面部信息,包括:rgb彩色信息视频流以及深度图视频流。

s102,截取一帧的rgb视频流以及深度图视频流,得到此帧的rgb图像以及深度图;并将rgb图像的信息配准至深度图的信息中,得到带有rgb信息的脸部深度图信息。

s103,根据带有rgb信息的脸部深度图信息,使用人脸特征点检测算法识别用户的人脸特征点。

s104,根据人脸特征点中的双眼特征点获取双眼瞳孔的各自的第一位置。具体地,将人脸特征点中的均匀分散在眼睛的四周的双眼部分的双眼特征点取均值,以获取双眼瞳孔的各自的第一位置信息。

s105,判断用户与摄像头之间的距离是否大于指定阈值。其中,阈值可以设置为30cm,或者其他的数值。当判断为是时,执行步骤s106。当判断为否时,执行步骤s107。

s106,根据用户与摄像头之间的距离,以及双眼瞳孔的各自的第一位置信息(第一位置信息可以是相对双眼瞳孔的坐标及相对于摄像头的角度信息),得到双眼瞳孔的第一瞳距数据;并将第一瞳距数据作为瞳距测量结果。

s107,以瞳孔的各自的第一位置为中心,以二倍的眼长为边长,取正方形区域,以正方形区域作为眼睛的roi区域,分割为子图片。

s108,对子图片中的瞳孔进行识别,获取眼睛的中心位置,得到瞳孔在子图片中的位置;将瞳孔在子图片中的位置换算为瞳孔在原始图片中的位置,进而得到了双眼瞳孔的各自的第二位置信息。

其中,对子图片中的瞳孔进行识别的方法为:

将子图片中的瞳孔作sobel算子提取边缘值处理,采用hough变化求取瞳孔中心位置。数学表达式:(x-a)2+(y-b)2=r2,建立一个三维数组(a,b,r)用以统计每个圆方程所对应的图片上的点(x,y)的个数。其中a,b分别取图片的高度和宽度,r取a/2和b/2的较小值。遍历图像(x,y),将每个点(x,y),可能所在圆的方程(a,b,r)存入数组(a,b,r)中。找出数组(a,b,r)中的最大值(a,b,r)即为瞳孔所对应的圆方程,(a,b)坐标即为瞳孔中心所对应的坐标位置。

s109,根据用户与摄像头之间的距离,以及双眼瞳孔的各自的第二位置信息(第二位置信息可以是相对双眼瞳孔的坐标及相对于摄像头的角度信息),得到双眼瞳孔的第二瞳距数据;并将第二瞳距数据作为瞳距测量结果。

如图3和图4所示,本发明实施例提供了一种基于深度相机的瞳距测量装置所在的设备和一种基于深度相机的瞳距测量装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供了一种基于深度相机的瞳距测量装置所在的设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的cpu将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。如图4所示,本发明实施例提供了一种基于深度相机的瞳距测量装置,包括:第一获取模块401、第一确定模块402、第二获取模块403和第二确定模块404;

第一获取模块401,用于获取由深度相机拍摄的待测用户的面部图像,其中,面部图像包括彩色图像和深度图像;

第一确定模块402,用于根据第一获取模块401获取到的面部图像执行如下操作:

对彩色图像进行图像识别,确定彩色图像中待测用户的第一瞳孔位置信息,其中,第一瞳孔位置信息为待测用户的两个瞳孔的位置信息;

根据彩色图像与深度图像的位置对应关系以及第一瞳孔位置信息,确定深度图像中待测用户的两个瞳孔的第二瞳孔位置;

第二获取模块403,用于根据第一获取模块401获取到的深度图像,获取待测用户的面部中心与深度相机的间隔距离;

第二确定模块404,用于根据第二获取模块403获取到的间隔距离与第一确定模块402确定的第二瞳孔位置,确定待测用户的瞳距。

可选地,如图4所示的基于深度相机的瞳距测量装置,还可以进一步包括:模型训练模块;

模型训练模块,用于利用人面部关键点数据集进行模型训练,得到人脸识别模型;其中,人脸识别模型包括landmarks模型;

第一确定模块402,还用于根据模型训练模块得到的人脸识别模型执行如下从操作:

对彩色图像进行特征提取,获得图像特征;其中,图像特征用于表征待测用户面部的关键点的特征;

将图像特征输入人脸识别模型中,得到识别结果;

根据识别结果,获取待测用户双眼部位的至少一个眼部关键点;

根据预设的坐标系中心,对每一个眼部关键点进行坐标定位;

计算坐标定位后的每一只眼睛所对应的关键点的坐标的平均值;以及

将计算得到的平均值坐标确定为第一瞳孔位置信息。

可选地,如图4所示的基于深度相机的瞳距测量装置,当间隔距离位于预设范围内时,

第二确定模块404,还用于执行如下操作:

对深度图像进行裁剪,得到深度子图像;其中,第二瞳孔位置位于深度子图像中的中心位置;

利用预先训练的瞳孔识别模型,确定待测用户的瞳孔在深度子图像中的瞳孔位置;

利用如下坐标转换公式,将深度子图像中的瞳孔位置转换为在深度图像中的第三瞳孔位置;

其中,x1为深度子图像中瞳孔所在位置的横坐标,x2为深度图像中瞳孔所在位置的横坐标,a1为深度子图像沿横坐标方向的边长,a2为深度图像沿横坐标方向的边长,y1为深度子图像中瞳孔所在位置的纵坐标,y2为深度图像中瞳孔所在位置的纵坐标,b1为深度子图像沿纵坐标方向的边长,b2为深度图像沿纵坐标方向的边长;

根据第三瞳孔位置和间隔距离,确定待测用户的瞳距。

可选地,如图4所示的瞳距测量装置,第二确定模块404,还用于执行如下操作:

将深度相机所在的位置确定为坐标轴原点;

根据间隔距离和第三瞳孔位置,确定待测用户每一个瞳孔分别对应的坐标信息;

根据待测用户的两个瞳孔的坐标信息计算得到瞳距。

在本发明实施例中,还提供了一种基于深度相机的瞳距测量系统,该系统可以包括:采集模块,用于通过深度相机的摄像头采集用户面部信息;

处理模块,用于将用户面部信息进行预处理;

特征点获取模块,用于根据预处理之后的用户面部信息,使用人脸特征点检测算法识别用户的人脸特征点;

第一瞳孔位置获取模块,根据人脸特征点中的双眼特征点获取双眼瞳孔的各自的第一位置信息;

距离获取模块,用于测量用户与摄像头之间的距离;

判断模块,用于判断用户与摄像头之间的距离;

第一瞳距获取模块,当判断模块判断用户与摄像头之间的距离大于指定阈值时,根据用户与摄像头之间的距离,以及双眼瞳孔的各自的第一位置信息,得到双眼瞳孔的第一瞳距数据;并将第一瞳距数据作为瞳距测量结果。

还包括第二瞳孔位置获取模块,用于:

当判断模块判断用户与摄像头之间的距离小于指定阈值时,以瞳孔的第一位置信息为中心,以二倍的眼长为边长,取正方形区域,以正方形区域作为眼睛的roi区域,分割为子图片;

对子图片中的瞳孔进行识别,获取眼睛的中心位置,得到瞳孔在子图片中的位置;将瞳孔在子图片中的位置换算为瞳孔在原始图片中的位置,进而得到了双眼瞳孔的各自的第二位置信息。

还包括第二瞳距获取模块,用于:

根据用户与摄像头之间的距离,以及双眼瞳孔的各自的第二位置信息,得到双眼瞳孔的第二瞳距数据;并将第二瞳距数据作为瞳距测量结果。

用户面部信息,包括:用户面部rgb彩色信息视频流以及深度图像数据视频流。

处理模块,具体用于:

截取一帧的rgb彩色信息视频流以及深度图像数据视频流,得到此帧的rgb图像以及深度图;并将rgb图像的信息配准至深度图的信息中,得到带有rgb信息的脸部深度图信息。

第一瞳孔位置获取模块,具体用于:

将人脸特征点中的均匀分散在眼睛的四周的双眼部分的双眼特征点取均值,以获取双眼瞳孔的第一位置信息。

具体地,该一种基于深度相机的瞳距测量系统,具体可以包括如下内容:

采集模块,用于通过深度相机采集用户面部信息;包括:rgb彩色信息视频流以及深度图视频流;处理模块,用于将用户面部信息进行预处理;具体用于截取一帧的rgb视频流以及深度图视频流,得到此帧的rgb图像以及深度图;并将rgb图像的信息配准至深度图的信息中,得到带有rgb信息的脸部深度图信息;特征点获取模块,用于根据预处理之后的用户面部信息,使用人脸特征点检测算法识别用户的人脸特征点;

第一瞳孔位置获取模块,根据人脸特征点中的双眼特征点获取双眼瞳孔的各自的第一位置信息;具体用于:将人脸特征点中的均匀分散在眼睛的四周的双眼部分的双眼特征点取均值,以获取双眼瞳孔的第一位置信息;距离获取模块,用于测量用户与摄像头之间的距离;

判断模块,用于判断用户与摄像头之间的距离;

第一瞳距获取模块,当判断模块判断用户与摄像头之间的距离大于指定阈值时,根据用户与摄像头之间的距离,以及双眼瞳孔的各自的第一位置信息,得到双眼瞳孔的第一瞳距数据;并将第一瞳距数据作为瞳距测量结果。

第二瞳孔位置获取模块,用于当判断模块判断用户与摄像头之间的距离小于指定阈值时,以瞳孔的第一位置信息为中心,以二倍的眼长为边长,取正方形区域,以正方形区域作为眼睛的roi区域,分割为子图片;对子图片中的瞳孔进行识别,获取眼睛的中心位置,得到瞳孔在子图片中的位置;将瞳孔在子图片中的位置换算为瞳孔在原始图片中的位置,进而得到了双眼瞳孔的各自的第二位置信息。

其中,对子图片中的瞳孔进行识别的方法为:

将子图片中的瞳孔作sobel算子提取边缘值处理,采用hough变化求取瞳孔中心位置。数学表达式:(x-a)2+(y-b)2=r2,建立一个三维数组(a,b,r)用以统计每个圆方程所对应的图片上的点(x,y)的个数。其中a,b分别取图片的高度和宽度,r取a/2和b/2的较小值。遍历图像(x,y),将每个点(x,y),可能所在圆的方程(a,b,r)存入数组(a,b,r)中。找出数组(a,b,r)中的最大值(a,b,r)即为瞳孔所对应的圆方程,(a,b)坐标即为瞳孔中心所对应的坐标位置。

第二瞳距获取模块,用于根据用户与摄像头之间的距离,以及双眼瞳孔的各自的第二位置信息,得到双眼瞳孔的第二瞳距数据;并将第二瞳距数据作为瞳距测量结果。

综上所述,本申请有利于实现便捷精确地对瞳距进行测量,且造价低廉,实用性高。

本发明实施例还提供了一种计算设备,其特征在于,包括:至少一个存储器和至少一个处理器;

所述至少一个存储器,用于存储机器可读程序;

所述至少一个处理器,用于调用所述机器可读程序,执行本发明任一实施例中的基于深度相机的瞳距测量方法。

本发明实施例还提供了一种计算机可读存储介质,该存储介质存储有计算机指令,计算机指令在被处理器执行时,使处理器执行本发明任一实施例中的基于深度相机的瞳距测量方法。具体地,可以提供配有存储介质的方法或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该方法或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。

在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。

用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd+rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。

此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作方法等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。

需要说明的是,上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

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