本发明实施例涉及计算机视觉,具体涉及一种视线估计方法、系统、设备及存储介质。
背景技术:
1、视线是眼睛注视的方向,代表一个人关注的焦点。视线追踪是目前比较活跃的研究课题之一,在人机交互及人类认知科学等领域存在着很大的应用潜力。视线追踪的基础是对人眼视线的方向进行估计。
2、相关技术中,通常采用p-cr方法确定眼球的注视信息,p-cr方法分为基于回归的p-cr方法和基于3d的p-cr方法两种,这两种方法在具体实现时,均需要利用多个光源在用户眼球中形成多个光斑,并获取用户的人眼图像,通过对人眼图像进行图像处理,在人眼图像上检测到所有光源对应的光斑,进而根据光源与光斑的对应关系确定眼球的注视信息。
3、现有的基于深度学习的视线估计方法,其视线估计误差约为5°,难以满足商用需求。目前公开可用的校准数据集的数据,采集自多个被试用户,且未考虑不同被试用户的眼睛kappa角(瞳孔中线与视轴的夹角)差异,校准数据质量不高。
技术实现思路
1、为此,本发明实施例提供一种视线估计方法、系统、设备及存储介质,以解决当前视线估计精度误差大的技术问题。
2、为了实现上述目的,本发明实施例提供如下技术方案:
3、根据本发明实施例的第一方面,本技术实施例提供了一种视线估计方法,所述方法包括:
4、构建第一视线估计模型;
5、采集用户注视各个预设标志物时的第一人眼数据以及对应的预设标志物位置数据,作为第一采样样例并生成第一采样数据集;
6、对所述第一采样数据集进行数据质量检测;
7、基于数据质量检测结果,得到数据质量合格的校准样例并生成校准数据集;
8、对所述校准数据集中的各个第一人眼数据以及对应的预设标志物位置数据进行预处理,分别得到对应的第一眼动数据和第一视线数据作为训练样例,并生成训练数据集;
9、利用所述训练数据集对所述第一视线估计模型进行训练,得到第二视线估计模型;
10、其中,对所述第一采样数据集进行数据质量检测,包括:
11、从所述第一采样数据集中的各个第一人眼数据中选出聚类数据点;
12、对各个聚类数据点进行聚类分析,将所有未被归为任何簇的聚类数据点标记为噪声点并统计聚类簇数和噪声点数量;
13、判断所述聚类簇数与所述预设标志物的数量是否一致以及所述噪声点数量是否小于第一预设阈值;
14、如果所述聚类簇数与所述预设标志物的数量一致,且所述噪声点的数量小于第一预设阈值,则对所述第一采样数据集的聚类分析结果合格,否则对所述第一采样数据集的聚类分析结果不合格,对所述第一采样数据集重新采样;
15、对聚类分析结果合格的第一采样数据集,剔除噪声点对应的第一采样样例,将剩余的第一采样样例作为第二采样样例,更新生成第二采样数据集;
16、将所述第二采样样例作为校准样例,所述校准数据集为所述第二采样数据集。
17、进一步地,本技术实施例提供的一种视线估计方法还包括:
18、采集用户注视目标标志物时的第二人眼数据;
19、对所述第二人眼数据进行预处理,得到对应的第二眼动数据;
20、将所述第二眼动数据输入所述第二视线估计模型进行处理,得到第二视线数据。
21、进一步地,本技术实施例提供的一种视线估计方法还包括:
22、将所述训练数据集保存至终端进行存储和管理,或将所述训练数据集上传至云端存储和管理;
23、针对所述训练数据集,采用两级目录方式存储,一级目录为用户id,二级目录为存储时间;
24、通过单个用户单次获取的训练数据集作为一个训练数据集存储单元;
25、每个训练数据集存储单元包括:数据集描述文件和训练样例集合。
26、进一步地,对各个聚类数据点进行聚类分析,包括:
27、随机选择一个未被访问过的聚类数据点作为起始点,将其余聚类数据点作为待测点;
28、以所述起始点为中心,基于第二预设阈值生成对应的预设邻域;
29、将各个待测点与所述起始点之间的第一距离与所述第二预设阈值对比,判断所述起始点的预设邻域内是否存在待测点;
30、若所述起始点的预设邻域内存在待测点,则将所述待测点作为核心点,并判断是否存在未被访问过的聚类数据点;
31、若所述起始点的预设邻域内不存在待测点,则直接判断是否存在未被访问过的聚类数据点;
32、如果存在未被访问过的聚类数据点,则重新随机选择下一个未被访问过的聚类数据点作为起始点;
33、如果不存在未被访问过的聚类数据点,则将各个起始点以及对应预设邻域内的所有核心点纳入同一簇中。
34、进一步地,所述第一人眼数据为由多个空间分布稀疏的传感器阵列获得的人眼相对位置读数,对所述校准数据集中的各个第一人眼数据以及对应的预设标志物位置数据进行预处理,包括:
35、针对各个校准样例中的人眼相对位置读数,计算均值mean和方差std;
36、将各个校准样例中的人眼相对位置读数先减去均值mean再除以方差std,得到对应的第一眼动数据;
37、以水平方向上或竖直方向上最左上角或最中心的标志物为参考点,以水平方向上最左标志物至最右标志物之间的距离为水平方向单位长度,以竖直方向上最上标志物至最下标志物之间的距离为竖直方向单位长度,对各个校准样例中的预设标志物位置数据进行坐标归一化,得到对应的第一视线数据。
38、进一步地,对所述第一采样数据集进行数据质量检测,还包括:
39、对所述第二采样数据集中的各个簇进行编号,得到对应的编号簇;
40、选出预设数量编号簇对应的所有聚类数据点形成第一簇点集,由其余编号簇对应的所有聚类数据点形成第二簇点集;
41、利用所述第一簇点集和所述第二簇点集进行拟合,分别得到第一拟合椭圆和第二拟合椭圆;
42、计算所述第一簇点集中各个聚类数据点与所述第一拟合椭圆的轮廓点之间的最短距离,作为第二距离,以及计算所述第二簇点集中各个聚类数据点与所述第二拟合椭圆的轮廓点之间的最短距离,作为第三距离;
43、计算所有第二距离的第一平方和s1以及所有第三距离的第二平方和s2;
44、利用所述第一平方和s1计算第一拟合误差 e1,以及利用所述第二平方和s2计算第二拟合误差 e2;
45、判断所述第一拟合误差 e1和所述第二拟合误差 e2是否同时分别小于第一预设误差和第二预设误差;
46、若所述第一拟合误差 e1小于第一预设误差,且所述第二拟合误差 e1小于第二预设误差,则对所述第二采样数据集的椭圆拟合误差分析结果合格,否则对所述第二采样数据集的椭圆拟合误差分析结果不合格,对所述第一采样数据集重新采样;
47、将椭圆拟合误差分析结果合格的第二采样数据集中的所述第二采样样例确定为第三采样样例,并生成第三采样数据集;
48、将所述第三采样样例作为校准样例,所述校准数据集为所述第三采样数据集。
49、进一步地,所述第一人眼数据为由相机拍摄的人眼图像数据,对所述校准数据集中的各个第一人眼数据以及对应的预设标志物位置数据进行预处理,包括:
50、从各个校准样例中的人眼图像数据检测出瞳孔中心点数据或瞳孔轮廓点数据,得到对应的第一眼动数据;
51、以中心标志物为参考点,以最外围标志物到中心标志物的距离为单位长度,对各个校准样例中的预设标志物位置数据进行坐标归一化,得到对应的第一视线数据。
52、根据本发明实施例的第二方面,本技术实施例提供了一种视线估计系统,所述系统包括:
53、模型构建模块,用于构建第一视线估计模型;
54、采集模块,用于采集用户注视各个预设标志物时的第一人眼数据以及对应的预设标志物位置数据,作为第一采样样例并生成第一采样数据集;
55、检测模块,用于对所述第一采样数据集进行数据质量检测;基于数据质量检测结果,得到数据质量合格的校准样例并生成校准数据集;
56、预处理模块,用于对所述校准数据集中的各个第一人眼数据以及对应的预设标志物位置数据进行预处理,分别得到对应的第一眼动数据和第一视线数据作为训练样例,并生成训练数据集;
57、训练模块,用于利用所述训练数据集对所述第一视线估计模型进行训练,得到第二视线估计模型;
58、其中,对所述第一采样数据集进行数据质量检测,包括:
59、从所述第一采样数据集中的各个第一人眼数据中选出聚类数据点;
60、对各个聚类数据点进行聚类分析,将所有未被归为任何簇的聚类数据点标记为噪声点并统计聚类簇数和噪声点数量;
61、判断所述聚类簇数与所述预设标志物的数量是否一致以及所述噪声点数量是否小于第一预设阈值;
62、如果所述聚类簇数与所述预设标志物的数量一致,且所述噪声点的数量小于第一预设阈值,则对所述第一采样数据集的聚类分析结果合格,否则对所述第一采样数据集的聚类分析结果不合格,对所述第一采样数据集重新采样;
63、对聚类分析结果合格的第一采样数据集,剔除噪声点对应的第一采样样例,将剩余的第一采样样例作为第二采样样例,更新生成第二采样数据集;
64、将所述第二采样样例作为校准样例,所述校准数据集为所述第二采样数据集。
65、根据本发明实施例的第三方面,提供了一种视线估计设备,所述设备包括:处理器和存储器;
66、所述存储器用于存储一个或多个程序指令;
67、所述处理器,用于运行一个或多个程序指令,用以执行如上任一项所述的一种视线估计方法的步骤。
68、根据本发明实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的一种视线估计方法的步骤。
69、与现有技术相比,本技术实施例提供的一种视线估计方法、系统、设备及存储介质,采集用户注视各个预设标志物时的第一人眼数据以及对应的预设标志物位置数据,得到第一采样数据集;通过对第一采样数据集进行数据质量检测,得到数据质量合格的校准数据集;对校准数据集中的校准样例进行预处理,得到对应的第一眼动数据和第一视线数据作为训练样例,并生成训练数据集;利用训练数据集对构建的第一视线估计模型进行训练,得到第二视线估计模型。实现用户的高精度视线进行估计,极大降低了视线估计的精度误差。