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

视线追踪方法、系统、处理设备和计算机可读存储介质与流程

2022-06-01 14:57:51 来源:中国专利 TAG:


1.本公开涉及但不限于智能显示技术领域,尤其涉及一种视线追踪方法、系统、处理设备和计算机可读存储介质。


背景技术:

2.随着虚拟现实(virtual reality,vr)/增强现实(augmented reality,ar)技术的不断发展,人们对交互方式的要求越来越高,非侵入式的视线追踪系统成为本领域交互方法中的研究热点。
3.目前,在对用户的视线进行计算的过程中,对于在大尺寸显示屏进行多人视线追踪存在如下问题:
4.一、中大尺寸显示屏对相机视场角(field angle of view,fov)要求较高;
5.二、在分辨率一定的情况下,较高的相机视场角会影响计算精度;
6.三、同时进行多人视线追踪会占用较高的计算资源。
7.此外,目前市场上的空间视线追踪系统通常只适用于小尺寸显示屏且通常是针对单人使用,使用时需要事先标定,在人头部发生移动和旋转后,精度会下降很多。


技术实现要素:

8.本公开实施例提供了一种视线追踪方法、系统、处理设备和计算机可读存储介质,能够提高产品良率。
9.本公开实施例提供了一种视线追踪方法,包括获取多个图像采集装置采集的原始图像,将获取的多个原始图像拼接为一幅拼接图像,并确定各个图像采集装置在所述拼接图像中的负责区域;对所述拼接图像进行人脸初步定位,根据初步定位的人脸位置以及各个图像采集装置在所述拼接图像中的负责区域确定所述初步定位的人脸位置对应的一幅或多幅原始图像;对确定的一幅或多幅原始图像进行人脸二次定位,得到人脸位姿信息以及瞳孔相对于人眼的位置关系,根据得到的人脸位姿信息以及瞳孔相对于人眼的位置关系,计算人眼的注视点坐标。
10.在示例性实施例中,所述将获取的多个原始图像拼接为一幅拼接图像,包括:获取各个所述图像采集装置的中心坐标、横向视场角、纵向视场角和分辨率;根据各个所述图像采集装置的中心坐标、横向视场角和纵向视场角,确定各个所述图像采集装置采集的目标区域;根据各个所述图像采集装置采集的目标区域,确定相邻所述图像采集装置采集的目标区域中的非交叠区域;以相邻图像采集装置中的一个图像采集装置为主采集装置,另一个图像采集装置为辅采集装置,根据各个所述图像采集装置的分辨率,将所述辅采集装置采集的目标区域中的非交叠区域转换为所述辅采集装置采集的图像中的非交叠区域;将各个所述辅采集装置采集的图像中的非交叠区域,拼接到各个所述主采集装置采集的图像上,得到一幅拼接图像。
11.在示例性实施例中,所述以相邻图像采集装置中的一个图像采集装置为主采集装
置,另一个图像采集装置为辅采集装置,包括:当相邻两个图像采集装置左右分布时,左侧的图像采集装置为主采集装置,右侧的图像采集装置为辅采集装置;当相邻两个图像采集装置上下分布时,上侧的图像采集装置为主采集装置,下侧的图像采集装置为辅采集装置。
12.在示例性实施例中,在所述将获取的多个原始图像拼接为一幅拼接图像的步骤之后且所述确定各个图像采集装置在所述拼接图像中的负责区域的步骤之前,所述方法还包括:对拼接图像进行降噪处理和降采样处理。
13.在示例性实施例中,所述对拼接图像进行降采样处理,包括:根据目标图像的分辨率,将拼接图像均匀分成多个子区域;计算各个所述子区域内包含的像素数目以及各个所述子区域的中心坐标;根据各个所述子区域的所有像素到所述子区域的中心的距离,计算各个所述子区域的综合像素值;将计算出的各个所述子区域的综合像素值赋值给拼接图像,得到降采样后的拼接图像。
14.在示例性实施例中,所述根据目标图像的分辨率,将拼接图像均匀分成多个子区域,包括:将所述拼接图像均匀分成a*b个子区域,每个所述子区域的宽为(m/a),高为(n/b),其中,a、b、m、n均为正整数,m》a,n》b,a*b为所述目标图像的分辨率,m*n为所述拼接图像的分辨率。
15.在示例性实施例中,所述确定各个图像采集装置在所述拼接图像中的负责区域,包括:获取各个图像采集装置采集的目标区域;依据各个图像采集装置的分布位置,确定相邻图像采集装置采集的目标区域的分割线;根据相邻图像采集装置采集的目标区域的分割线,得到每个图像采集装置的采集范围;根据每个图像采集装置的采集范围,确定各个图像采集装置在所述拼接图像中的负责区域。
16.在示例性实施例中,所述对确定的一幅或多幅原始图像进行人脸二次定位,得到人脸位姿信息以及瞳孔相对于人眼的位置关系,根据得到的人脸位姿信息以及瞳孔相对于人眼的位置关系,计算人眼的注视点坐标,包括:在确定的一幅或多幅原始图像中进行人脸检测,得到人脸区域;在人脸区域进行特征点检测,得到人眼区域中心;求解人脸在空间中的位姿,得到人脸的方向矢量,所述位姿包括位置坐标和角度坐标;进行瞳孔定位,计算瞳孔与人眼区域中心的移动差值,根据计算出的移动差值、人脸的方向矢量与人眼球直径,得到瞳孔相对于人脸的方向矢量;将瞳孔相对于人脸的方向矢量转换为瞳孔在世界坐标系中的方向矢量;根据瞳孔在世界坐标系中的方向矢量,计算瞳孔在屏幕上的注视点坐标。
17.在示例性实施例中,所述方法还包括:对左眼和右眼的注视点坐标求取平均值,得到最终的注视点坐标。
18.本公开实施例还提供了一种处理设备,包括:处理器以及存储有可在处理器上运行的计算机程序的存储器,其中,所述处理器执行所述程序时实现如前所述的视线追踪方法的步骤。
19.本公开实施例还提供了一种视线追踪系统,包括:多个图像采集装置,以及如前所述的处理设备。
20.本公开实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有可执行指令,所述可执行指令被处理器执行时可以实现如上述任一项所述的视线追踪方法。
21.本公开实施例的视线追踪方法、系统、处理设备和计算机可读存储介质,通过对多
个图像采集装置采集的原始图像进行图像拼接,对拼接图像进行人脸初步定位,确定人脸位置对应的原始图像,再对原始图像进行二次定位,得到人脸位姿信息以及瞳孔相对于人眼的位置关系,根据得到的人脸位姿信息以及瞳孔相对于人眼的位置关系,计算人眼的注视点坐标,提供了一种适用于大视场、可同时进行多人视线追踪的方法,解决了当前市场上空间视线追踪设备通常只适用于单人且追踪视场较小的问题,并且通过将人脸位姿的影响添加到视线追踪中,提高了人脸在移动或偏转时的计算精度,解决了人脸在发生位姿变化时,精度下降较大的问题,此外,通过两次定位,在提高了计算精度的同时,有效降低了计算复杂度。
22.本公开的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的其他优点可通过在说明书以及附图中所描述的方案来实现和获得。
附图说明
23.附图用来提供对本公开技术方案的理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的限制。
24.图1为本公开实施例一种视线追踪方法的流程示意图;
25.图2为本公开实施例多个图像采集装置的一种设置位置示意图;
26.图3为图2所示的多个图像采集装置的光轴方向示意图;
27.图4为图2所示的系统横向最近使用距离的计算原理示意图;
28.图5为图2所示的系统横向视场角的计算原理示意图;
29.图6为图2所示的系统纵向视场角的计算原理示意图;
30.图7为图2所示的相邻图像采集装置的拍摄区域中的交叠区域示意图;
31.图8为图7所示的相机1和相机2的拍摄区域的顶点坐标示意图;
32.图9为图7所示的相机1和相机2的拍摄图像的拼接结果示意图;
33.图10为本公开实施例一种对降采样后的拼接图像进行重分割的原理示意图;
34.图11为本公开实施例一种人脸方向矢量的求解原理示意图;
35.图12为本公开实施例一种人脸特征点检测的原理示意图;
36.图13为本公开实施例一种瞳孔方向矢量的坐标转换原理示意图;
37.图14为本公开实施例一种处理设备的结构示意图。
具体实施方式
38.下面结合附图和实施例对本公开的具体实施方式作进一步详细描述。以下实施例用于说明本公开,但不用来限制本公开的范围。需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互任意组合。
39.本公开实施例提供了一种视线追踪方法,通过多个图像采集装置采集屏幕前方区域的图像;之后采用分布式自适应人脸检测技术获得屏幕前方人脸大致区域信息,对人脸进行初步定位,接下来依据人脸在图像上的位置信息,在其对应的相机图像上进行二次定位,获得精准的人脸位姿信息;依据获得的人脸位姿信息,结合当前瞳孔相对于人眼的位置关系,计算出人眼在屏幕上的注视点坐标。本公开实施例的视线追踪方法适用于任意尺寸
的显示屏,可以同时针对单人或多人进行视线追踪,解决了当前市场上空间视线追踪设备大多适用于单人且追踪视场较小的问题,本公开实施例通过分布式自适应人脸检测,在提高了计算精度的同时,有效降低了计算复杂度,解决了多相机下的人脸检测资源占用率较高的问题;此外,本公开实施例在视线计算时,将人脸位姿的影响添加到视线追踪中,提高了人脸在移动或者偏转时的计算精度,解决了人脸在发生位姿变化时,精度下降较大的问题;并且本公开实施例提出的方法无需事先标定,使用更为方便。
40.如图1所示,本公开实施例提供了一种视线追踪方法,包括步骤10至步骤30。
41.步骤10:获取多个图像采集装置采集的原始图像,将获取的多个原始图像拼接为一幅拼接图像,并确定各个图像采集装置在所述拼接图像中的负责区域。
42.在一示例性实施方式中,如图2所示,多个图像采集装置间隔设置在人眼注视的屏幕区域的周围。
43.在一种示例性实施例中,屏幕区域的形状为矩形、圆形、椭圆形或其他任意的形状。
44.在一种示例性实施例中,所述图像采集装置为相机或其他任意类型的图像采集装置,用于采集屏幕前方区域的图像。示例性的,所述相机可以为红绿蓝(rgb)相机。
45.在一种示例性实施例中,如图2所示,采用12个相机,每个相机的视场角(field angle of view,fov)为75
°
,拍摄其前方横向60
°
,纵向45
°
的区域;每个相机的分辨率为640*480,帧速为30帧/秒(frames per second,fps),如图3所示,所有相机的光轴与屏幕中垂线平行。
46.在一种示例性实施例中,设定屏幕区域的宽高尺寸为:w*h,则多个相机的分布参数如下:横向相邻的相机间距为:w/3,纵向相邻的相机间距为:h/3;多个相机的拍摄区域的交界处到屏幕区域的距离即为本视线追踪系统的最近使用距离l,本视线追踪系统的最近使用距离l的计算方法如下:
47.对于横向最近使用距离lw或者纵向最近使用距离lh,要求是:在该距离处,相机拍摄范围正好有交叠,由于相机的横向拍摄区域可以看做是一个横向的扇形区域,因此,在小于一定距离时,相邻两个相机的拍摄不会交叠;此处依据三角函数可求得横向最近使用距离lw或者纵向最近使用距离lh。
48.如图4所示,已知相邻两相机间距为w/3,相机横向fov为60
°
,则横向最近使用距离lw为:
[0049][0050]
同理,根据如下公式,计算纵向最近使用距离lh:
[0051][0052]
最近使用距离l取横向最近使用距离lw和纵向最近使用距离lh中的最大值。
[0053]
在最近使用距离l处,计算所有相机的横向拍摄范围和所有相机的纵向拍摄范围,并依据三角函数和反三角函数可求得本视线追踪系统的横向视场角αw和纵向视场角αh。示例性的,仍以图2所示的相机矩阵为例,如图5和图6所示,在最近使用距离l处的多个相机的视场角计算如下:
[0054]
横向视场角αw为:
[0055][0056]
纵向视场角αh为:
[0057][0058]
最近使用距离l取横向最近使用距离lw还是取纵向最近使用距离lh值,决定了以横向视场角αw为基准还是以纵向视场角αh为基准,若以横向视场角αw为基准,则说明横向最近使用距离和纵向使用距离都为lw,那么在计算纵向视场角αh时,则需要将对应的横向最近使用距离lw重新代入纵向视场角αh的计算公式中(即将纵向视场角αh的计算公式中的lh替换为lw),得到此时的纵向视场角αh。
[0059]
以75寸屏幕为例,本视线追踪系统的最近使用距离l为:473mm,对应的最近使用距离处的横向视场角αw为133.2
°
,纵向视场角αh为105.8
°

[0060]
在一示例性实施方式中,将获取的多个原始图像拼接为一幅拼接图像,包括如下步骤:
[0061]
步骤101:获取各个图像采集装置的中心坐标、横向视场角、纵向视场角和分辨率;
[0062]
步骤102:根据各个图像采集装置的中心坐标、横向视场角和纵向视场角,确定各个图像采集装置采集的目标区域的顶点坐标;
[0063]
步骤103:根据各个图像采集装置采集的目标区域的顶点坐标,确定相邻图像采集装置采集的目标区域中非交叠区域的顶点坐标;
[0064]
步骤104:以相邻图像采集装置中的一个图像采集装置为主采集装置,另一个图像采集装置为辅采集装置,根据各个图像采集装置的分辨率,将辅采集装置采集的目标区域中非交叠区域的顶点坐标转换为辅采集装置采集的图像中非交叠区域的顶点坐标,得到各个辅采集装置采集的图像中的非交叠区域;
[0065]
步骤105:将各个辅采集装置采集的图像中的非交叠区域,拼接到各个主采集装置采集的图像上,得到一幅拼接图像。
[0066]
在一种示例性实施例中,如图7所示,以左上角相机1的中心坐标为原点,则相机2的中心坐标为(w/3,0),相机3的中心坐标为(2w/3,0),相机4的中心坐标为(w,0),相机5的中心坐标为(0,h/3),相机6的中心坐标为(w,h/3),相机7的中心坐标为(0,2h/3),相机8的中心坐标为(w,2h/3),相机9的中心坐标为(0,h),相机10的中心坐标为(w/3,h),相机11的中心坐标为(2w/3,h),相机12的中心坐标为(w,h)。
[0067]
在一种示例性实施例中,已知相机1和相机2的拍摄区域和拍摄距离,假定每个相机的分辨率为m*n,横向fov为θw,纵向fov为θh,依据三角函数可求得相机1和相机2拍摄区域的顶点坐标,如图8所示,在距离d(距离d》最近使用距离l)处,相机1拍摄的区域的四个顶点坐标依次为:(-d*tan(θw/2),-d*tan(θh/2)),(d*tan(θw/2),-d*tan(θh/2)),(-d*tan(θw/2),d*tan(θh/2)),(d*tan(θw/2),d*tan(θh/2));相机2拍摄的区域的四个顶点坐标依次为:(w/3-d*tan(θw/2),-d*tan(θh/2)),(w/3 d*tan(θw/2),-d*tan(θh/2)),(w/3-d*tan(θw/2),d*tan(θh/2)),(w/3 d*tan(θw/2),d*tan(θh/2));同理可计算得到每个相机在距离d处的拍摄区域的四个顶点坐标。
[0068]
在一种示例性实施例中,当相邻两个相机为左右分布时,以左侧相机为主相机,以右侧相机为辅相机;当相邻两个相机为上下分布时,以上侧相机为主相机,以下侧相机为辅相机。例如,对于相机1和相机2,将相机1设定为主相机,相机2设定为辅相机;对于相机1和相机5,将相机1设定为主相机,相机5设定为辅相机,同理可得到其他相邻相机的主辅关系。
[0069]
在一种示例性实施例中,将相邻相机的拍摄区域进行坐标对比,得到辅相机的拍摄区域中非交叠区域的顶点坐标,例如,如图8所示,对于相机1和相机2,在距离d处,相机2的拍摄区域中非交叠区域的四个顶点坐标为(d*tan(θw/2),-d*tan(θh/2)),(w/3 d*tan(θw/2),-d*tan(θh/2)),(d*tan(θw/2),d*tan(θh/2)),(w/3 d*tan(θw/2),d*tan(θh/2));同理,可得到其他相邻相机的非交叠区域四个顶点坐标。
[0070]
在一种示例性实施例中,计算辅相机的拍摄区域中非交叠区域在辅相机的拍摄区域中的拍摄比例,并将其转换到图像中,得到各个辅采集装置采集的图像中的非交叠区域。
[0071]
在一种示例性实施例中,如图8所示,利用相机拍摄范围和所得图像之间的映射关系,通过如下公式计算辅相机的拍摄区域中的非交叠区域转换到辅相机拍摄的图像中的非交叠区域:
[0072]
对于非交叠区域的左上顶点,映射到图像中的坐标p1(x1,y1)为:
[0073][0074]
由于相机1和相机2中心坐标位于同一水平线,因此,y1=0;
[0075]
对于非交叠区域右上顶点,映射到图像中的坐标p2=(m,0);
[0076]
对于非交叠区域左下顶点,映射到图像中的坐标p3(x3,y3)为:
[0077][0078]
y3=n;
[0079]
对于非交叠区域右下顶点,映射到图像中的坐标p4=(m,n)。
[0080]
在一种示例性实施例中,如图9所示,将映射到相机2的图像中的非交叠区域提取出来,拼接到相机1拍摄的图像的右侧,实现相机1和相机2拍摄图像的拼接,对于其他相机,采用相同的方法进行计算,最终得到屏幕前方完整区域的图像。
[0081]
本公开实施例提供了一种适用于大视场、具有较低资源占用率且较高的计算精度和速度、可同时对多人进行同时视线计算的空间视线追踪方法,该方法使用12个相机均匀分布在屏幕周围,12个相机同时开启,捕获屏幕前方区域的图像,形成一个大的视场,将捕获的12张图像进行拼接,得到一幅屏幕前方完整区域的图像,本实施例的拼接方法具有耗时较少、计算复杂度低、占用资源率较少的优点。
[0082]
在一示例性实施方式中,在将获取的多个原始图像拼接为一幅拼接图像之后,该视线追踪方法还包括如下步骤:
[0083]
步骤106:对拼接图像进行降噪处理和降采样处理。
[0084]
在一示例性实施方式中,采用高斯滤波对拼接图像进行优化,去除图像中的噪声。
[0085]
由于人脸粗定位部分最终需要的目标图像的分辨率是640*480,拼接后的图像分辨率大于该分辨率,因此需要对拼接后的图像进行降采样。
[0086]
在一示例性实施方式中,对拼接图像进行降采样处理,包括如下步骤:
[0087]
步骤1061:根据目标图像的分辨率,将拼接图像均匀分成多个子区域;
[0088]
步骤1062:计算各个子区域内包含的像素数目以及各个子区域的中心坐标;
[0089]
步骤1063:根据各个子区域的所有像素到所述子区域的中心的距离,计算各个子区域的综合像素值;
[0090]
步骤1064:将计算出的各个子区域的综合像素值赋值给拼接图像,得到降采样后的拼接图像。
[0091]
在一示例性实施方式中,根据目标图像的分辨率,将拼接图像均匀分成多个子区域,包括:
[0092]
将拼接图像均匀分成a*b个子区域,每个子区域的宽为(m/a),高为(n/b),其中,a、b、m、n均为正整数,m》a,n》b,a*b为目标图像的分辨率,m*n为拼接图像的分辨率。
[0093]
在一示例性实施方式中,假定拼接图像的分辨率为m*n,已知最终需求的图像分辨率是640*480,对拼接图像进行降采样处理,包括如下步骤:
[0094]
步骤1061’:将拼接图像均匀分成640*480个矩形区域,每个矩形区域的宽*高为(m/640)*(n/480);
[0095]
步骤1062’:依次计算每个矩形区域内包含的像素以及每个矩形区域的中心坐标,根据下式计算每个像素pk(k=1,2,3,

,s)到所属矩形区域的中心(xc,yc)的距离:
[0096][0097]
步骤1063’:根据下式计算各个矩形区域对应的最终像素值p:
[0098][0099]
步骤1064’:将各个矩形区域对应的最终像素值p赋值到最终需求的图像中,得到降采样后的图像。
[0100]
在一示例性实施方式中,确定各个图像采集装置在所述拼接图像中的负责区域,包括如下步骤:
[0101]
步骤1065:获取各个图像采集装置采集的目标区域的顶点坐标;
[0102]
步骤1066:依据各个图像采集装置的分布位置,确定相邻图像采集装置采集的目标区域的分割线;
[0103]
步骤1067:根据相邻图像采集装置采集的目标区域的分割线,得到每个图像采集装置的采集范围;
[0104]
步骤1068:根据每个图像采集装置的采集范围,确定各个图像采集装置在所述拼接图像中的负责区域。
[0105]
本实施例中,将得到的降采样图像依据每个相机的相对位置关系重新划分相机图像区域,由于每个相机的参数相同,唯一不同的是中心位置坐标,所以每个相机在相同拍摄距离处,拍摄到的范围大小也相同,因此,如图10所示,采取依据相机分布密度划分图像区域的方法对降采样得到的图像进行分割,每个相机对应的图像区域的计算方式如下:
[0106]
根据前述方法得到每个相机在距离d处的拍摄范围,设定这12个rgb相机在距离d处的总拍摄范围的宽*高为wd*hd,已知每个相机拍摄范围的四个顶点坐标,对于相机1和相
机2,相机1和相机2的分界线应该是相机1中心和相机2中心的中间位置,以相机1的中心为原点,相机2的坐标为(w/3,0),则相机1和相机2的分界线应该是(0 w/3)/2=w/6,即相机1和相机2的拍摄范围的分割线为:
[0107][0108]
同理,对于相机2和相机3,拍摄范围的分割线为:
[0109][0110]
同理,对于相机3和相机4,拍摄范围的分割线为:
[0111][0112]
同理,对于相机1和相机5,拍摄范围的分割线为:
[0113][0114]
同理,对于相机5和相机6,拍摄范围的分割线为:
[0115]
同理,可得到其他每两个相邻相机的拍摄区域分割线;
[0116]
将这些分割线输入到总拍摄区域中,可得到每个相机的拍摄范围,以及这些范围与总拍摄区域的比例关系与位置关系;
[0117]
将这些比例关系及位置关系代入降采样图像中,便可得到每个相机在图像中的负责区域。
[0118]
步骤20:对拼接图像进行人脸初步定位,根据初步定位的人脸位置以及各个图像采集装置在拼接图像中的负责区域确定初步定位的人脸位置对应的一幅或多幅原始图像。
[0119]
本步骤中,可以通过人脸检测算法,对降采样图像中的人脸进行初步定位,并依据这些人脸所在的区域,确定对应的相机拍摄的原始图像(即拼接前的图像)
[0120]
步骤30:对确定的一幅或多幅原始图像进行人脸二次定位,得到人脸位姿信息以及瞳孔相对于人眼的位置关系,根据得到的人脸位姿信息以及瞳孔相对于人眼的位置关系,计算人眼的注视点坐标。
[0121]
本公开实施例中,由于每个相机的fov较小,因此,在进行人脸检测和视线追踪时,具有较高的计算精度。
[0122]
本实施例中,步骤30主要是依据人脸的空间位置坐标以及角度坐标,再结合人眼瞳孔相对于人眼中心位置关系,得到人眼在屏幕上的注视点坐标。
[0123]
在一示例性实施方式中,步骤30包括如下步骤:
[0124]
步骤301:在确定的一幅或多幅原始图像中进行人脸检测,得到人脸区域;
[0125]
步骤302:在人脸区域进行特征点检测(facial landmark detection),得到人眼区域中心;
[0126]
步骤303:通过n点透视(pespectiven point,pnp),求解人脸在空间中的位姿,得到人脸的方向矢量,所述位姿包括位置坐标和角度坐标;
[0127]
步骤304:进行瞳孔定位,计算瞳孔与人眼区域中心的移动差值,根据计算出的移动差值、人脸的方向矢量与人眼球直径,得到瞳孔相对于人脸的方向矢量;
[0128]
步骤305:将瞳孔相对于人脸的方向矢量转换为瞳孔在世界坐标系中的方向矢量;
[0129]
步骤306:根据瞳孔在世界坐标系中的方向矢量,计算瞳孔在屏幕上的注视点坐标。
[0130]
本步骤中,通过在一幅或多幅原始图像中重新进行人脸检测,得到人脸在当前图像中的准确区域;在获得的人脸区域中进行特征点检测,得到人脸68个特征点及眼部区域坐标;通过pnp算法,求解出人脸在空间中的位姿,包含三个位置坐标(横坐标、纵坐标、距离坐标)及三个角度坐标(俯仰角、偏航角、横滚角)。上述分布式自适应人脸检测算法通过采用第一次粗定位、第二次精确定位的方式进行人脸位姿计算,可降低计算复杂度并提高计算精度;对于降低计算复杂度,由于不用在每个相机图像中进行人脸检测,只在部分相机中进行检测,因此减少了人脸检测的次数,相应地降低了计算复杂度,减少了资源占用率,例如:有3个人脸同时存在于屏幕前方,如果不采用分布式自适应人脸检测算法,则需要进行12次人脸检测,如果采用该方法,则只需要进行4次人脸检测(降采样图像检测1次,后续三个图像一共检测3次);此外,采用分布式自适应人脸检测算法也可以提高人脸检测精度,由于相机镜头都存在一定的畸变,因此,人脸离相机光轴越近,位姿计算精度越高;本公开提出的分布式自适应人脸检测算法,可以将粗定位到的人脸分配给对应的相机进行二次精确定位,在该相机下,计算得到的人脸位姿也更为准确。
[0131]
在一示例性实施方式中,假定人脸在空间中的位姿为(a,b,c,α,β,γ),a表示横坐标,b表示纵坐标,c表示距离坐标,α表示俯仰角,β表示偏航角,γ表示横滚角;以屏幕左上方相机1中心为世界坐标系原点,各相机的中心坐标在前述图像拼接部分已给出;如图10所示,若有3个人脸同时存在于屏幕前方,假定在步骤301中,经过二次精确定位后,得到人脸1处于相机5拍摄区域,人脸2处于相机9拍摄区域,人脸3处于相机8拍摄区域。
[0132]
相机5中心坐标为(0,h/3,0),相机9中心坐标为(0,h,0),相机8中心坐标为(w,2h/3,0),在步骤303中,由相机5计算得到的人脸1位姿坐标为(x1,y1,z1,α1,β1,γ1);由相机9计算得到的人脸2位姿坐标为(x2,y2,z2,α2,β2,γ2);由相机8计算得到的人脸3位姿坐标为(x3,y3,z3,α3,β3,γ3)。
[0133]
如图11所示,分别计算人脸1、人脸2和人脸3的方向矢量,设定α1和β1分别表示人脸的俯仰角和偏航角,人脸方向矢量单位长度为1,如图11所示,利用三角函数关系;则:a1=1*cos(α1)*sin(β1);同理可得到其他两个坐标b1和c1,即,可通过如下公式计算人脸1的方向矢量(a1,b1,c1):
[0134]
a1=cos(α1)*sin(β1);
[0135]
b1=sin(α1);
[0136]
c1=cos(α1)*cos(β1);
[0137]
同理,可计算得到人脸2和人脸3的方向矢量。
[0138]
如图12所示,在步骤302中,通过人脸特征点检测可得到人眼区域坐标,进而可得到人眼区域中心坐标,以人脸1为例,假定左眼区域中心坐标为(xl,yl),右眼区域中心坐标为(xr,yr)。
[0139]
在一示例性实施方式中,在步骤304中,,可以利用梯度矢量场法进行瞳孔检测,得到当前时刻,左右眼的瞳孔坐标(xl,yl)和(xr,yr)。
[0140]
计算当前瞳孔和人眼区域中心的坐标差值(xl-xl,yl-yl),(xr-xr,yr-yr),该差
值相对于图像的比例值为klx=(xl-xl)/640,kly=(yl-yl)/480,krx=(xr-xr)/640,krx=(yr-yr)/480,则在空间中瞳孔相对于人眼区域中心移动的坐标差值为:(klx*w5,kly*h5),(krx*w5,kry*h5),w5和h5表示相机5在距离z1处的拍摄范围。
[0141]
以左瞳孔为例,依据计算得到的空间中的瞳孔相对于人眼区域中心的移动差值,结合人眼球直径(人眼球直径取经验值24),可求出瞳孔方向矢量(klx*w5,kly*h5,zl)(该矢量是瞳孔在以人脸中心建立的坐标系中的矢量),如图13所示,该矢量是相对于人脸方向的矢量,需要将其转换成世界坐标系中的矢量(r1,s1,t1),通过计算人脸中心建立的坐标系和世界坐标系之间的原点坐标差以及两个坐标系x轴、y轴和z轴的角度差,便可得到两个坐标系的转换公式,转换公式如下:
[0142][0143][0144]
将上述求出的瞳孔方向矢量代入这个转换公式,便可得到世界坐标下的瞳孔方向矢量:
[0145][0146][0147][0148]
由于屏幕在世界坐标系中位于一个平面上,该平面方程可以通过屏幕的四个顶点坐标确定,从而可以得到屏幕的平面方程;上述已计算出世界坐标系下的瞳孔方向矢量,利用直线与平面求交点的方法便可计算得到视线与屏幕的交点坐标,则瞳孔方向与屏幕的交点坐标el(ex1,ey1)为:
[0149][0150]
其中,we为人眼球中心与人脸中心的横向距离,he为人眼球中心与人脸中心的纵向距离,本公开中we和he两者都可以取经验值;得到的el(ex1,ey1)即为左瞳孔在屏幕上的注视点坐标。同理,可得到右瞳孔在屏幕上的注视点坐标er。
[0151]
在一示例性实施方式中,步骤30还包括:对左眼和右眼的注视点坐标求取平均值,得到最终的注视点坐标。
[0152]
本实施例中,得到两个瞳孔的坐标后,由于计算误差等原因,两个注视点不会相交于一点(在无误差的情况下,理论上应该交于一点),因此,对el和er求平均值,将平均值作为最终的注视点坐标。
[0153]
本公开实施例的视线追踪方法,利用人脸的当前坐标和旋转角度,结合瞳孔与人眼的相对位置关系,计算屏幕上的注视点坐标,由于该方法考虑到了人脸的三个坐标信息和三个角度信息,因此,在人脸发生移动或者转动的情况下,也具有较高的计算精度。
[0154]
本公开实施例的视线追踪方法,没有使用多项式映射模型,采用的是基于人脸位姿和瞳孔模型的方法,该方法只要启动即可计算出视线;而采用多项式映射模型的视线追踪方法,需要首先计算映射模型的参数,因为每个人对应的映射模型参数都不同,而且同一个人不同时候使用,对应的映射模型参数也不同,因此采用多项式映射模型的视线追踪方法在启动后,需要首先进行标定,计算出此人此时对应的映射模型参数,标定完成后,才能计算视线;本公开实施例的视线追踪方法,不需要计算映射模型的参数,人脸检测和瞳孔坐标计算都是实时进行的,在使用前无需标定,使用更为方便。
[0155]
本公开实施例还提供了一种处理设备,所述处理设备可包括处理器以及存储有可在处理器上运行的计算机程序的存储器,所述处理器执行所述计算机程序时实现本公开中如前任一项所述的视线追踪方法的步骤。
[0156]
如图14所示,在一个示例中,处理设备1400可包括:处理器1410、存储器1420、总线系统1430和收发器1440,其中,该处理器1410、该存储器1420和该收发器1440通过该总线系统1430相连,该存储器1420用于存储指令,该处理器1410用于执行该存储器1420存储的指令,以控制该收发器1440发送信号。具体地,收发器1440可在处理器1410的控制下从图像采集装置中获取采集的原始图像,并在检测到人眼的注视点坐标后,通过收发器向其他设备发送通知。
[0157]
应理解,处理器1410可以是中央处理单元(central processing unit,cpu),处理器1410还可以是其他通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0158]
存储器1420可以包括只读存储器和随机存取存储器,并向处理器1410提供指令和数据。存储器1420的一部分还可以包括非易失性随机存取存储器。例如,存储器1420还可以存储设备类型的信息。
[0159]
总线系统1430除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图14中将各种总线都标为总线系统1430。
[0160]
在实现过程中,处理设备所执行的处理可以通过处理器1410中的硬件的集成逻辑电路或者软件形式的指令完成。即本公开实施例的方法步骤可以体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等存储介质中。该存储介质位于存储器1420,处理器1410读取存储器1420中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
[0161]
本公开实施例还提供了一种视线追踪系统,包括多个图像采集装置和处理设备。所述处理设备可以是如前所述的处理设备1400。图像采集装置例如可以是任何能够拍摄图像的装置。
[0162]
本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有可执行指令,该可执行指令被处理器执行时可以实现本公开上述任一实施例提供的视线追踪方法,该视线追踪方法可以用于控制本公开上述实施例提供的视线追踪系统进行注视点检测,可实现在大视场下同时对多人进行视线追踪,计算资源占用率较低,且追踪精度和追踪速度较高,并且无需事先标定,使用方便;对于在中大尺寸显示屏进行视线追踪具有较好
的应用前景。通过执行可执行指令驱动视线追踪系统进行注视点检测的方法与本公开上述实施例提供的视线追踪方法基本相同,在此不做赘述。
[0163]
在本公开实施例的描述中,需要理解的是,术语“中部”、“上”、“下”、“前”、“后”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本公开和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本公开的限制。
[0164]
在本公开实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据理解上述术语在本公开中的含义。
[0165]
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
[0166]
虽然本公开所揭露的实施方式如上,但所述的内容仅为便于理解本公开而采用的实施方式,并非用以限定本公开。任何本公开所属领域内的技术人员,在不脱离本公开所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本公开的保护范围,仍须以所附的权利要求书所界定的范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献