一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种瞳孔追踪方法及装置与流程

2023-01-17 10:25:53 来源:中国专利 TAG:


1.本发明属于计算机图像处理技术领域,尤其涉及一种对图像进行瞳孔追踪定位的方法及装置。


背景技术:

2.在裸眼3d领域中,常常需要对使用者进行瞳孔定位,让左右眼睛看见不同的画面以产生立体显示效果。为了让显示效果更加自然,对瞳孔定位的精度、帧率、延时有很高的要求。如果瞳孔定位精度过低,会让立体效果不够真实;如果瞳孔定位帧率过低,使用者在移动中会感觉显示画面晃动;如果瞳孔定位延时过高,会让使用者有眩晕感,而无法长时间观看。


技术实现要素:

3.为了克服现有技术的不足,本发明的目的在于提供一种高精度、高帧率、低延时的瞳孔追踪方法及装置。
4.本发明的目的采用以下技术方案实现:
5.一种瞳孔追踪方法,包括以下步骤:输入图像后,
6.s1、获取当前帧的图像,当前帧的图像包括彩色图像和深度图像;
7.s2、判断上一帧的彩色图像中是否存在人脸,如果是,则根据最新的瞳孔预测位置确定当前帧的彩色图像的人脸区域,然后执行下一步;如果上一帧的彩色图像中没有人脸,或者没有上一帧的图像,则在当前帧的彩色图像中检测人脸区域,如果检测到人脸区域则执行下一步;
8.s3、获得当前帧的人脸区域后,在人脸区域内进行瞳孔定位,获取当前帧的瞳孔位置,并将当前帧的瞳孔位置存入瞳孔位置数据集合中;
9.s4、使用瞳孔位置预测方程进行瞳孔位置的预测,并输出瞳孔预测结果。
10.进一步的,所述步骤s2中,如果在当前帧的彩色图像中没有检测到人脸区域,则结束对当前帧的处理,并获取下一帧的图像,然后返回步骤s1,对下一帧进行处理。
11.进一步的,所述步骤s3中,通过瞳孔定位获得彩色图像中的左眼坐标和右眼坐标后,将左眼坐标(x
l
,y
l
,z
l
)和右眼坐标(xr,yr,zr)转换为作为当前帧的瞳孔位置p,并保存至瞳孔位置数据集合中,其中,xm、ym、zm为双眼中点坐标,θ、r为x
r-xm、y
r-ym、z
r-zm的极坐标表示。
12.进一步的,所述步骤s4中,瞳孔位置预测的具体步骤如下:
13.s401、将当前时间代入瞳孔位置预测方程中,计算出瞳孔预测位置;
14.s402、将得到的瞳孔预测位置和当前帧的瞳孔位置进行比较,如果瞳孔预测位置中左眼和右眼之间的距离和当前帧的瞳孔位置中右眼和右眼之间的距离,这两者的平均值小于或等于设定阈值,则用当前帧的瞳孔位置覆盖瞳孔位置数据集合中最早一帧的瞳孔位置;如果瞳孔预测位置中左眼和右眼之间的距离和当前帧的瞳孔位置中右眼和右眼之间的
距离,这两者的平均值大于设定阈值,则认为当前帧和上一帧分别为不同使用者的脸的图像,此时对瞳孔位置数据集合进行初始化;
15.s403、基于瞳孔位置数据集合,对瞳孔位置预测方程进行更新,然后使用更新后的瞳孔位置预测方程进行瞳孔位置预测,将当前时间代入更新后的瞳孔位置预测方程中进行计算,即得到瞳孔预测位置。
16.进一步的,所述瞳孔位置预测方程为:q=t2×
a t
×
b c,式中的q表示和时间t相对应的瞳孔预测位置,a、b、c为拟合系数,所述步骤s403中,瞳孔位置预测方程更新的步骤如下:
17.基于瞳孔位置数据集合,求解方程组{(t
i2
×
a ti×
b c-qi)
×w|ti-in|
)=0|1≤i≤n},确定拟合系数a、b、c,式中的ti为第ti帧图像的成像时间,qi为瞳孔位置数据集合s中和成像时间ti相对应的瞳孔位置,w为时间加权系数;
18.当n=1时,令a=b=0,求解方程组{(t
i2
×
a ti×
b c-qi)
×w|ti-in|
)=0|,解出c;
19.当n=2时,令a=0,求解方程组{(t
i2
×
a ti×
b c-qi)
×w|ti-in|
)=0|,解出b、c;
20.当n>2时,用最小二乘法求解方程组{(t
i2
×
a ti×
b c-qi)
×w|ti-in|
)=0|,解出a、b、c;
21.瞳孔位置数据集合每更新一次,即对瞳孔位置预测方程更新一次,然后使用更新后的瞳孔位置预测方程进行瞳孔位置预测。
22.进一步的,步骤s2中,根据瞳孔预测位置确定当前帧的人脸区域的方法如下:
23.a、用最新的瞳孔位置预测方程计算当前帧的瞳孔预测位置;
24.b、将上一帧的瞳孔位置和当前帧的瞳孔预测位置投影到当前帧的彩色图像上,获得上一帧的2d瞳孔位置到当前帧的2d瞳孔位置的仿射变换关系;
25.c、根据获得的仿射变换关系,将上一帧的人脸区域进行仿射变换,得到当前帧的人脸区域。
26.本发明还提供了一种瞳孔追踪装置,包括:
27.图像获取单元,用于获取当前帧的图像;
28.人脸区域获取单元,用于获取当前帧的人脸区域;
29.瞳孔定位单元,用于在人脸区域中进行瞳孔定位,获取当前帧的瞳孔位置;
30.瞳孔位置预测单元,用于使用瞳孔位置预测方程对瞳孔位置进行预测。
31.进一步的,所述人脸区域获取单元获取当前帧的人脸区域的过程为:判断上一帧的彩色图像中是否存在人脸,如果是,则根据最新的瞳孔预测位置确定当前帧的彩色图像的人脸区域;如果上一帧的彩色图像中没有人脸,或没有上一帧的图像,则在当前帧的彩色图像中检测人脸区域。
32.进一步的,所述瞳孔定位单元进行瞳孔定位的过程为:在人脸区域内进行瞳孔定位,获得左眼坐标和右眼坐标后,将左眼坐标(x
l
,y
l
,z
l
)和右眼坐标(xr,yr,zr)转换为作为当前帧的瞳孔位置p,并保存至瞳孔位置数据集合中。
33.进一步的,所述瞳孔位置预测单元预测瞳孔位置的过程为:
34.将当前时间代入瞳孔位置预测方程中,计算出瞳孔预测位置;
35.将得到的瞳孔预测位置和当前帧的瞳孔位置进行比较,如果瞳孔预测位置中左眼和右眼之间的距离和当前帧的瞳孔位置中右眼和右眼之间的距离,这两者的平均值小于或
等于设定阈值,则用当前帧的瞳孔位置覆盖瞳孔位置数据集合中最早一帧的瞳孔位置;如果瞳孔预测位置中左眼和右眼之间的距离和当前帧的瞳孔位置中右眼和右眼之间的距离,这两者的平均值大于设定阈值,则认为当前帧和上一帧分别为不同使用者的脸的图像,此时对瞳孔位置数据集合进行初始化;
36.基于瞳孔位置数据集合,对瞳孔位置预测方程进行更新,将当前时间代入更新后的瞳孔位置预测方程中进行计算,得到瞳孔预测位置;
37.所述瞳孔位置预测方程为:q=t2×
a t
×
b c,式中的q表示和时间t相对应的瞳孔预测位置,a、b、c为拟合系数,瞳孔位置预测方程更新的步骤如下:
38.基于瞳孔位置数据集合,求解方程组{(t
i2
×
a ti×
b c-qi)
×w|ti-in|
)=0|1≤i≤n},确定拟合系数a、b、c,式中的ti为第ti帧图像的成像时间,qi为瞳孔位置数据集合s中和成像时间ti相对应的瞳孔位置,w为时间加权系数;
39.当n=1时,令a=b=0,求解方程组{(t
i2
×
a ti×
b c-qi)
×w|ti-in|
)=0|,解出c;
40.当n=2时,令a=0,求解方程组{(t
i2
×
a ti×
b c-qi)
×w|ti-in|
)=0|,解出b、c;
41.当n>2时,用最小二乘法求解方程组{(t
i2
×
a ti×
b c-qi)
×w|ti-in|
)=0|,解出a、b、c。
42.相比现有技术,本发明的有益效果在于:
43.本发明的瞳孔追踪方法使用瞳孔位置预测方程,不仅能够追踪当前帧的瞳孔位置,还能够基于瞳孔位置数据集合,利用当前帧的瞳孔位置对当前时间的瞳孔位置进行预测,实现瞳孔追踪低延时;而且瞳孔位置预测方程基于多帧瞳孔位置拟合得到,能够修正单帧图片的误差,实现瞳孔追踪高精度;本发明的瞳孔追踪方法还基于预测的瞳孔位置来定位当前帧的人脸区域,从而只在使用者的人脸第一次出现时需要在当前帧中进行人脸检测,节省了人脸检测的计算量,实现了瞳孔追踪高帧率。而且本发明方法通过左右眼坐标的转换,相比于使用瞳孔原始坐标,能够更准确地预测带旋转的移动,使瞳孔定位追踪更为准确。
附图说明
44.图1为本发明实施例的流程图图;
45.图2为本发明装置的框图。
具体实施方式
46.下面,结合具体实施方式,对本发明做进一步描述。
47.本发明方法用于在图像中进行瞳孔的定位,本发明的图像可通过同时具备彩色图像和深度图像拍摄功能的图像获取装置获得,例如由rgbd摄像头拍摄的图像,所获得的图像既包括彩色图像,也包括深度图像。如图1所示,本发明的瞳孔追踪方法包括以下步骤:输入图像后,
48.s1、获取当前帧的图像,当前帧的图像包括彩色图像和深度图像;
49.s2、判断上一帧的彩色图像中是否存在人脸,如果是,则根据最新的瞳孔预测位置确定当前帧的彩色图像的人脸区域,然后执行下一步,步骤s3,瞳孔位于彩色图像中的人脸区域内,因此当瞳孔位置确定后即可在彩色图像中确定人脸区域;如果上一帧的彩色图像
中没有人脸,或者没有上一帧的图像,如当前帧为第一帧,则在当前帧的彩色图像中检测人脸区域,如果检测到人脸区域则执行下一步,如果没有检测到人脸区域,则结束对当前帧的处理,并返回步骤s1,获取下一帧的图像,对下一帧进行处理;
50.本步骤在彩色图像中检测人脸区域的目的是为了便于快速对瞳孔进行定位,当人脸区域确定后,即可大致定位出瞳孔的位置,以便于在下一步骤中对瞳孔位置进行精确定位,能够减少瞳孔定位的时间;可选的,可采用主流的基于深度学习的目标检测法来在彩色图像中进行人脸区域的检测;
51.s3、获得当前帧的人脸区域后,在人脸区域内进行瞳孔定位,获取当前帧的瞳孔位置,并将当前帧的瞳孔位置存入瞳孔位置数据集合s中;
52.可选的,可采用基于深度学习的关键点定位法来获取瞳孔位置,如,采用基于深度学习的关键点定位法首先获得2d瞳孔定位模型,然后使用2d瞳孔定位模型在当前帧的彩色图像上获取2d瞳孔位置,然后在当前帧的深度图像上获取3d瞳孔位置,3d瞳孔位置用左眼坐标(x
l
,y
l
,z
l
)和右眼坐标(xr,yr,zr)进行表示;基于深度学习的目标检测法以及基于深度学习的关键点定位法均为已知的成熟的图像处理方法,如基于深度学习的目标检测法可参考yolov3:an incremental improvement,joseph redmon,基于深度学习的关键点定位法可参考wing loss for robust facial landmark localisation with convolutional neural networks,zhen-hua feng,这两种方法都不是本发明的创新之处,这里不对以上两种方法进行赘述;
53.本发明在获得彩色图像中的左眼坐标和右眼坐标后有一个坐标转换的步骤,将左眼坐标(x
l
,y
l
,z
l
)和右眼坐标(xr,yr,zr)转换为即本发明的当前帧的瞳孔位置p为而不是常规的左眼坐标和右眼坐标,瞳孔位置p中的xm、ym、zm为双眼中点坐标,即xm=(x
l
xr)/2,ym=(y
l
yr)/2,zm=(z
l
zr)/2,θ、r为x
r-xm、y
r-ym、z
r-zm的极坐标表示,坐标转换得到瞳孔位置p后,将得到的瞳孔位置p保存至瞳孔位置数据集合s中;本发明将双眼坐标进行坐标转换后,得到的瞳孔位置p中的θ、直接反映了旋转移动造成的物体角度变换,从而使用转换后的坐标进行轨迹拟合能够更好地贴合旋转移动的情况;
54.瞳孔位置数据集合s中保存有多帧图像的瞳孔位置信息及相对应的图像的成像时间;瞳孔位置数据集合s中的元素包括和图像的成像时间t1,t2,...,tn相对应的瞳孔位置p1,p2,...,pn,n为瞳孔位置数据集合s元素的数量,即所保存的图像的帧数;和某一成像时间相对应的瞳孔位置所包含的数据包括xm、ym、zm、θ、r,瞳孔位置数据集合s中的元素按成像时间从小到大进行排序,t1,t2,...,tn分别表示第1帧图像、第2帧图像,...,第n帧图像的成像时间,p1,p2,...,pn分别表示第1帧图像、第2帧图像,...,第n帧图像的瞳孔位置;
55.s4、使用瞳孔位置预测方程,基于瞳孔位置数据集合,进行瞳孔位置的预测,并输出瞳孔预测结果,瞳孔预测结果可以包括瞳孔位置预测方程、瞳孔预测位置等信息中的一项或多项。
56.可选的,步骤s4中,瞳孔位置预测的具体步骤如下:
57.s401、将当前时间代入瞳孔位置预测方程中,计算出瞳孔预测位置;
58.s402、将得到的瞳孔预测位置和步骤s3获得的当前帧的瞳孔位置进行比较,如果
瞳孔预测位置中左眼和右眼之间的距离和当前帧的瞳孔位置中右眼和右眼之间的距离,这两者的平均值小于或等于设定阈值,则对瞳孔位置数据集合s进行更新,即用当前帧(最新一帧)的瞳孔位置覆盖瞳孔位置数据集合s中最早一帧的瞳孔位置,瞳孔预测位置中左眼和右眼之间的距离和当前帧的瞳孔位置中右眼和右眼之间的距离的平均值=(瞳孔预测位置中左右眼的距离 当前帧的瞳孔位置左右眼的距离)/2;如果瞳孔预测位置中左眼和右眼之间的距离和当前帧的瞳孔位置中右眼和右眼之间的距离,这两者的平均值大于设定阈值,则认为当前帧和上一帧分别为不同使用者的脸的图像,即使用者发生了切换,此时对瞳孔位置数据集合s进行初始化,即对瞳孔位置数据集合s中的数据清零,重新存入新的使用者的瞳孔位置数据,在后续的瞳孔位置预测方程拟合更新的过程中,不使用上一位使用者的瞳孔位置数据;设定阈值可根据图像获取设备相应调节,一般为cm级别,如为1cm等;
59.s403、基于瞳孔位置数据集合s,对瞳孔位置预测方程(拟合系数)进行更新,然后使用更新后的瞳孔位置预测方程进行瞳孔位置预测,将当前时间代入更新后的瞳孔位置预测方程中进行计算,得到瞳孔预测位置,然后输出瞳孔预测结果。
60.瞳孔位置预测方程的更新只需要使用最近一段时间的瞳孔位置数据即可,即瞳孔位置数据集合s只需要保存最近一段时间的瞳孔位置数据,瞳孔位置数据集合s中保存的图像帧数可根据图像获取设备的具体情况来设定,一般为秒级,例如可设为1秒的长度,瞳孔位置数据集合s中保留的是最近1秒的所有帧的瞳孔位置的数据。瞳孔位置数据集合s只保留一段时间的数据,以避免需要存储太多的数据,占用设备内存,同时也避免瞳孔位置数据集合s中的数据过多导致计算量太大。
61.本发明的瞳孔位置预测方程:q=t2×
a t
×
b c,式中的q表示和时间t相对应的瞳孔预测位置,a、b、c为拟合系数,拟合系数a、b、c为6维向量,瞳孔位置预测方程的更新实际为拟合系数a、b、c的更新,步骤s403中,瞳孔位置预测方程更新的具体步骤如下:
62.基于瞳孔位置数据集合s,求解方程组{(t
i2
×
a ti×
b c-qi)
×w|ti-in|
)=0|1≤i≤n},确定拟合系数a、b、c,式中的ti为第ti帧图像的成像时间,qi为瞳孔位置数据集合s中和成像时间ti相对应的瞳孔位置,w为时间加权系数,0<w<1;
63.当n=1时,即当前帧图像为第1帧图像时,或者使用者切换时,令a=b=0,求解方程组{(t
i2
×
a ti×
b c-qi)
×w|ti-in|
)=0|,解出c;
64.当n=2时,令a=0,求解方程组{(t
i2
×
a ti×
b c-qi)
×w|ti-in|
)=0|,解出b、c;
65.当n>2时,用最小二乘法求解方程组{(t
i2
×
a ti×
b c-qi)
×w|ti-in|
)=0|,解出a、b、c;
66.解出拟合系数a、b、c后,瞳孔位置预测方程即确定,瞳孔位置数据集合s每更新一次,即对瞳孔位置预测方程(的拟合系数)进行更新,然后就可以使用更新后的瞳孔位置预测方程进行瞳孔位置预测,将当前时间代入瞳孔位置预测方程中进行计算,即得到瞳孔预测位置。
67.可选的,步骤s2中,根据瞳孔预测位置确定当前帧的人脸区域的方法如下:
68.a、用最新的瞳孔位置预测方程计算当前帧的瞳孔预测位置,即对当前帧的瞳孔位置进行预测;
69.b、将上一帧的瞳孔位置和当前帧的瞳孔预测位置投影到当前帧的彩色图像上,获得上一帧的2d瞳孔位置到当前帧的2d瞳孔位置的仿射变换关系,仿射变换关系可通过旋
转、缩放、平移得到,如何得到两者间的仿射变换关系是图像处理领域的常规技术手段,不是本发明的创新之处,这里不做赘述;
70.c、根据获得的仿射变换关系,将上一帧的人脸区域进行仿射变换,得到当前帧的人脸区域,例如,人脸区域用一个矩形框表示,将上一帧的矩形框的4个顶点用步骤b得到的仿射变换关系,即可得到当前帧的人脸区域对应的矩形框的4个顶点。
71.本发明的通孔追踪方法在检测瞳孔位置时,还使用了瞳孔位置预测方程来预测瞳孔位置,当人脸在快速移动时,相邻两帧图像的人脸区域相差过大,用上一帧的瞳孔位置难以准确获取当前帧的人脸区域,本方法通过对每一帧都进行瞳孔位置的预测,并根据多帧的瞳孔位置更新瞳孔位置预测方程,可以在人脸快速移动时利用瞳孔预测结果快速定位人脸区域,提高了追踪方法的帧率与精确性。而且本发明方法无需额外的如传感器等设备,成本更低。
72.本发明还提供了一种瞳孔追踪装置,下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。如图2所示,其示出了本技术一个示例性实施例提供的瞳孔追踪装置的结构框图。该装置可以通过软件、硬件或者两者的结合实现。本实施例的瞳孔追踪装置包括:
73.图像获取单元,用于获取当前帧的图像;
74.人脸区域获取单元,用于获取当前帧的人脸区域;
75.瞳孔定位单元,用于在人脸区域中进行瞳孔定位,获取当前帧的瞳孔位置;
76.瞳孔位置预测单元,用于使用瞳孔位置预测方程对瞳孔位置进行预测。
77.可选的,人脸区域获取单元获取当前帧的人脸区域的过程为:判断上一帧的彩色图像中是否存在人脸,如果是,则根据最新的瞳孔预测位置确定当前帧彩色图像的人脸区域;如果上一帧的彩色图像中没有人脸,或者没有上一帧的图像,则在当前帧的彩色图像中检测人脸区域。
78.可选的,瞳孔定位单元进行瞳孔定位的过程为:在人脸区域内进行瞳孔定位,获得左眼坐标和右眼坐标后,将左眼坐标(x
l
,y
l
,z
l
)和右眼坐标(xr,yr,zr)转换为作为当前帧的瞳孔位置p,并保存至瞳孔位置数据集合中。
79.可选的,瞳孔位置预测单元预测瞳孔位置的过程为:
80.将当前时间代入瞳孔位置预测方程中,计算出瞳孔预测位置;
81.将得到的瞳孔预测位置和当前帧的瞳孔位置进行比较,如果瞳孔预测位置中左眼和右眼之间的距离和当前帧的瞳孔位置中右眼和右眼之间的距离,这两者的平均值小于或等于设定阈值,则用当前帧的瞳孔位置覆盖瞳孔位置数据集合中最早一帧的瞳孔位置;如果瞳孔预测位置中左眼和右眼之间的距离和当前帧的瞳孔位置中右眼和右眼之间的距离,这两者的平均值大于设定阈值,则认为当前帧和上一帧分别为不同使用者的脸的图像,此时对瞳孔位置数据集合进行初始化;
82.基于瞳孔位置数据集合,对瞳孔位置预测方程进行更新,将当前时间代入更新后的瞳孔位置预测方程中进行计算,得到瞳孔预测位置,然后输出瞳孔预测结果;
83.瞳孔位置预测方程为:q=t2×
a t
×
b c,式中的q表示和时间t相对应的瞳孔预测位置,a、b、c为拟合系数,瞳孔位置预测方程更新的步骤如下:
84.基于瞳孔位置数据集合,求解方程组{(t
i2
×
a ti×
b c-qi)
×w|ti-in|
)=0|1≤i≤
n},确定拟合系数a、b、c,式中的ti为第ti帧图像的成像时间,qi为瞳孔位置数据集合s中和成像时间ti相对应的瞳孔位置,w为时间加权系数;
85.当n=1时,令a=b=0,求解方程组{(t
i2
×
a ti×
b c-qi)
×w|ti-in|
)=0|,解出c;
86.当n=2时,令a=0,求解方程组{(t
i2
×
a ti×
b c-qi)
×w|ti-in|
)=0|,解出b、c;
87.当n>2时,用最小二乘法求解方程组{(t
i2
×
a ti×
b c-qi)
×w|ti-in|
)=0|,解出a、b、c。
88.需要说明的是,上述实施例提供的装置在执行前述瞳孔追踪方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的瞳孔追踪装置与瞳孔追踪方法实施例属于同一构思,其体现实现过程及带来的技术效果详见方法实施例,这里不再赘述。
89.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
90.对于本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及变形,而所有的这些改变以及变形都应该属于本发明权利要求的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献