用于测量瞳孔距离的系统和方法及其使用与流程

文档序号:33193071发布日期:2023-02-04 09:32阅读:144来源:国知局
用于测量瞳孔距离的系统和方法及其使用与流程
用于测量瞳孔距离的系统和方法及其使用
1.相关申请的交叉引用
2.本技术要求于2020年6月17日提交的美国序列号63/040,184的权益和优先权,其通过引用整体并入本文。
技术领域
3.本公开总体上涉及验光的技术领域。更具体地,本公开涉及用于测量瞳孔距离的系统和方法及其使用。


背景技术:

4.以下包括可以用于理解本发明的信息。这并不是承认本文具体或隐含引用的任何信息对于所描述或要求保护的发明是现有技术或必不可少的。本文提及的所有专利、专利申请、出版物和产品均通过引用整体并入本文。
5.瞳孔距离(“pd”)是诸如人的受试者的瞳孔之间的距离。该距离的准确性是眼镜、太阳镜或虚拟现实头戴装置的舒适和适合的决定因素。错误测量的pd可能导致具有棱镜效应的镜片,其导致受试者头痛、视力模糊、眼睛疲劳、恶心、眩晕、头晕、定向障碍和其他问题。传统上,pd测量不存在于眼镜或太阳镜处方中,但需要它来满足定制处方眼镜或太阳镜订单。成年人的平均pd为约63mm。然而,pd测量对于女性可以在51mm至74.5mm之间广泛变化,对于男性可以在53mm至77mm之间广泛变化。当用渐变镜片装配眼镜或太阳镜时,pd是关键的,原因是需要精确的镜片到瞳孔对准,以确保在所有距离处的舒适视觉。
6.目前,存在各种方法来测量pd。例如,pd测量有两种主要方法:单pd和双pd。单pd(或双眼pd)是每只眼睛之间从瞳孔到瞳孔的测量值。双pd(或单眼pd)是从你的鼻梁到每只眼睛的测量值。
7.获得pd测量值的传统方式可以包括使用标尺。对于该类型的测量,受试者需要站在距镜子大约8英寸处,并且标尺横跨受试者的眉毛在一个眼睛瞳孔上对准到另一瞳孔以获得pd测量值。该类型的测量是不准确的,原因是面部的轮廓和标尺的对准可能变化。
8.受试者可以在另一个体的帮助下(可能在商业环境中)获得他/她的pd测量。在该示例中,可以使用角膜反射瞳孔计来测量pd。替代地,电子商务客户可以在持有标准尺寸参考(例如,信用卡等)的同时提交他们面部的照片,并且可以远程处理照片以获得pd。
9.上述每个传统示例是获得pd测量的繁琐和/或资源密集的方式。此外,某些传统的示例,例如使用角膜反射瞳孔计,可能要求受试者与进行测量的人相距不到6英尺,导致他们在流行病(例如covid-19)期间违反社交距离规则。此外,角膜反射瞳孔计并不总是pd的可靠量度,因为它们易受人为错误影响并且可能被错误校准。由于pd是满足定制处方眼镜或太阳镜订单所必需的,因此开发无缝、方便且非接触的方式来获得pd测量增强了客户体验。此外,开发更容易且更准确的方式来获得pd测量促进了电子商务并且扩展了客户在获得舒适且准确的眼镜方面的选择。最后,零售商可以使用与pd测量有关的图像和/或统计信息来改进制造过程和/或基于与pd测量相关的用户满意度和购买历史来提供眼镜推荐。
10.因此,需要开发一种用于测量pd的改进的系统或方法,其将提高准确性、效率、可靠性、便利性和使用,同时减少或消除人为干预和/或人为错误。


技术实现要素:

11.本文描述和要求保护的发明具有许多属性和方面,包括但不限于本发明内容中阐述或描述或引用的那些。其不旨在是包括一切的,并且本文描述和要求保护的发明不限于本发明内容中识别的特征或实施例或不受本发明内容中识别的特征或实施例的限制,其仅出于说明而非限制的目的而被包括。
12.在本公开的各种实施例中,提供了获得并使用一系列图像处理算法来定位二维(“2d”)图像中的瞳孔的系统和方法。然后使用由深度感测图像提供的三维(“3d”)数据在世界坐标中定位瞳孔。使用世界坐标,可以计算瞳孔之间的物理距离。本文描述的系统和方法有利地提供了获得pd测量的准确且更方便的方式。此外,所获得的pd测量可以用于眼镜(或眼镜)、太阳镜、虚拟现实头戴装置、护目镜、安全眼镜、智能眼镜(包括但不限于增强现实眼镜)和其他眼镜。最后,包括pd的受试者的面部测量可以与用户账户关联,使得可以基于用户的面部测量以及与面部测量关联的历史客户满意度数据和购买历史来提供产品推荐。
13.在本公开的各种实施例中,本文描述的系统和方法可以获得面部测量以用于虚拟试配或试戴系统或应用。在一些实施例中,虚拟试配或试戴系统可以向用户提供界面以虚拟地使用从本文描述的公开内容获得的面部测量(包括pd测量)来试戴和/或购买一副眼镜或太阳镜。本文所述的系统和方法在结合到虚拟试配或试戴系统中时改善了用户的电子商务体验,原因是它允许用户试戴虚拟潜在的眼镜或太阳镜,获得pd测量,并在线选择和购买定制处方眼镜或太阳镜,而无需访问实体商店。本文描述的系统和方法还通过获得和存储可以导致更好的产品推荐的附加面部测量来改进虚拟试配或试戴系统。本公开的系统和方法可以有利地与在2019年8月26日提交的美国专利申请第16/550,614号(名称为“用于眼镜的虚拟试配系统和方法(virtual fitting systems and methods for spectacles)”)中描述的虚拟试戴系统和方法对接。在本公开的各种实施例中,描述了一种操作瞳孔距离系统的方法。在一些实施例中,所述方法包括以下步骤:用所述瞳孔距离系统的至少一个相机捕获受试者的面部的第一2d图像和对应的3d深度图;使用所述第一2d图像和对应的3d深度图来确定瞳孔定位信息;基于所述瞳孔定位信息来细化一个或多个瞳孔位置;确定一个或多个瞳孔中心坐标;以及计算每个瞳孔的中心之间的受试者的pd。
14.在本公开的一些实施例中,使用多个面部网格界标生成睁开的眼睛的中心附近的多个面部网格顶点以获得受试者上的一个或多个初始瞳孔位置,来确定所述瞳孔定位信息。
15.在本公开的一些实施例中,使用具有一个或多个内核和一个或多个2d中心环绕滤波器的卷积来细化所述一个或多个瞳孔位置。在一些实施例中,所述一个或多个内核使用大约12mm的瞳孔估计大小。
16.在本公开的一些实施例中,计算所述pd使用对应于所述2d图像中的细化的一个或多个瞳孔位置的深度图值。
17.在本公开的一些实施例中,通过使用3d面部网格上对应于每个瞳孔的中心的点来确定所述pd。
18.在本公开的一些实施例中,所述方法还包括以下步骤:对使用从所述至少一个相机拍摄所述第一2d图像的距离计算的所述pd执行校正。
19.在本公开的各种实施例中,提供了一种其上体现有计算机可执行指令的非暂时性计算机可读介质。所述计算机可执行指令在由处理器执行时,所述计算机可执行指令使所述处理器:从至少一个相机获得受试者的面部的第一2d图像和对应的3d深度图;使用所述第一2d图像和对应的3d深度图来确定瞳孔定位信息;基于所述瞳孔定位信息来细化一个或多个瞳孔位置;确定一个或多个瞳孔中心坐标;以及计算每个瞳孔的中心之间的受试者的pd。
20.在本公开的一些实施例中,使用多个面部网格界标生成睁开的眼睛的中心附近的多个面部网格顶点以获得受试者的一个或多个初始瞳孔位置,来确定所述瞳孔定位信息。
21.在本公开的一些实施例中,使用具有一个或多个内核和一个或多个2d中心环绕滤波器的卷积来细化所述一个或多个瞳孔位置。在一些实施例中,所述一个或多个内核使用大约12mm的瞳孔估计大小。
22.在本公开的一些实施例中,计算所述pd使用对应于所述2d图像中的细化的一个或多个瞳孔位置的深度图值。
23.在本公开的一些实施例中,通过使用3d面部网格上对应于每个瞳孔的中心的点来确定所述pd。
24.在本公开的一些实施例中,所述计算机可执行指令还使所述处理器对使用从所述至少一个相机拍摄所述第一2d图像的距离计算的所述pd执行校正。
25.在本公开的各种实施例中,提供了一种瞳孔距离系统,其包括一个或多个移动装置。在一些实施例中,所述一或多个移动装置包括移动装置,所述移动装置包括至少一个相机,存储与从所述至少一个相机获得的图像和信息关联的信息的存储器,以及处理器。所述处理器配置成:从所述至少一个相机获得受试者的面部的2d图像和对应的3d深度图;使用所述2d图像和所述对应的3d深度图来确定瞳孔定位信息;基于所述瞳孔定位信息来细化一个或多个瞳孔位置;确定一个或多个瞳孔中心坐标;以及计算受试者的每个瞳孔的中心之间的pd。
26.在本公开的一些实施例中,使用多个面部网格界标生成睁开的眼睛的中心附近的多个面部网格顶点以获得受试者的一个或多个初始瞳孔位置,来确定所述瞳孔定位。
27.在本公开的一些实施例中,使用具有一个或多个内核和一个或多个2d中心环绕滤波器的卷积来细化所述一个或多个瞳孔位置。在一些实施例中,所述一个或多个内核使用大约12mm的瞳孔估计大小。
28.在本公开的一些实施例中,计算所述pd使用对应于所述2d图像中的细化的一个或多个瞳孔位置的深度图值。
29.在本公开的一些实施例中,通过使用3d面部网格上对应于每个瞳孔的中心的点,来确定所述pd。
30.在本公开的一些实施例中,对使用从所述至少一个相机拍摄所述第一2d图像的距离计算的所述pd执行校正。
附图说明
31.并入本文并形成说明书的一部分的附图示出了本公开的一些方面,并且与说明书一起进一步用于解释这些方面的原理并使相关领域的技术人员能够制造和使用这些方面。附图仅用于说明目的,示出了示例性非限制性实施例,并且不一定按比例绘制。
32.图1a示出了根据本公开的一些实施例的系统的一个示例。
33.图1b示出了根据本公开的一些实施例的移动装置的架构的一个示例。
34.图2是流程图,示出了根据本公开的一些实施例的使用深度图的示例性pd测量过程。
35.图3是根据本公开的一些实施例的叠加有面部网格905(由连接到多个顶点920的多个线910描绘)的用户的瞳孔区域的示例性图像,面部网格示出了关键顶点950和关键顶点的形心951。
36.图4a-4c示出了根据本公开的一些实施例的使用具有2d图像的卷积来细化初始瞳孔位置的示例性图示表示。图4a示出了具有中心环绕结构的滤波器内核(或内核);图4b示出了具有带十字符号的圆990的图像块,示出了具有对内核的最大响应的位置;并且图4c示出了对具有内核的卷积的图像响应。
37.图5是根据本公开的一些实施例的瞳孔区域图像上的随机样本一致性(“ransac”)迭代方法的示例性图示。在图5中,实线圆2000指示虹膜边界的初始估计;实心十字符号2001指示虹膜中心的初始估计;闭合点3010指示局内边界点;空心点3020指示局外边界点;虚线圆3000指示虹膜边界的最终估计;并且虚线十字符号3001指示虹膜中心的最终估计。
38.图6是根据本公开的一些实施例的用于测量或估计远pd的过程的示例性图示。
39.图7是根据本公开的一些实施例的pd计算界面800的示例。“方法a”40.是指深度图方法,其在下面进一步描述。“方法b”是指面部网格方法,其也在下面进一步描述。
41.图8-11分别是根据本公开的一些实施例的用于测量pd的示例性界面801、802、803和804。
42.图12是根据本公开的一些实施例的pd计算界面805的另一示例。
具体实施方式
43.示例性实施例的描述旨在结合附图来阅读,附图被认为是整个书面描述的一部分。除非另外具体说明,否则单数的使用包括复数。除非另外说明,否则“或”的使用意指“和/或”。此外,术语“包括(including)”以及其他形式如“包括(includes)”和“包含(included)”的使用不是限制性的。此外,除非另外具体说明,否则诸如“元件”或“部件”的术语涵盖包括一个单元的元件和部件以及包括一个以上子单元的元件和部件。另外,本文使用的章节标题仅用于组织目的,并且不应被解释为限制所描述的主题。
44.提供以下描述作为示例的代表性集合的使能教导。可以对本文描述的实施例进行许多改变,同时仍然获得有益的结果。下面讨论的一些期望的益处可以通过选择本文讨论的一些特征而不利用其他特征来获得。因此,本文描述的特征的许多修改和改编以及子集是可能的,并且在某些情况下甚至可能是期望的。因此,以下描述被提供为说明性的而非限制性的。
45.如本文所使用的,使用诸如“一个(a)”、“一(an)”和“该(the)”的单数冠词并不旨在排除该冠词的多个对象,除非上下文另有清楚和明确规定。
46.在本公开中提供了一种用于确定受试者的pd的系统和方法。受试者是哺乳动物或人,并且其中哺乳动物或人是男性、女性、非二元哺乳动物或人(或其他性别身份)、成人或儿童。如贯穿本说明书所讨论的,该系统和方法有利地为受试者提供准确且高效的实时面部测量。该系统和方法有利地向用户提供可以存储在与相应用户关联的账户中的面部测量,使得用户能够基于面部测量和/或与历史面部测量关联的客户满意度数据和/或购买历史来接收产品推荐。这样的用户是人,其中人是男性、女性、非二元人(或其他性别身份)、成人或儿童。最后,该系统和方法可以有利地使用客户满意度数据来改进使用人工智能(如机器学习和深度学习)的面部测量计算。
47.系统概述
48.在各种实施例中,pd测量系统可以与客户端装置交互,以进行信息交换。图1a描绘了系统100的一个示例,其中多个客户端装置110-1、110-2和110-3(统称为“客户端装置110”)经由通信网络142连接到一个或多个计算机系统网络50-1、50-2(“计算机网络50”)和管理服务器130。通信网络142可以是广域网(“wan”)、局域网(“lan”)、个域网(“pan”)等。在一个实施例中,通信网络142是互联网,并且客户端装置110是在线的。“在线”可以表示连接到或访问来自远离联接到通信网络142的其他装置或网络的位置的源数据或信息。
49.管理服务器130包括联接到一个或多个数据存储单元150-1、150-2(统称为“数据库管理系统150”或“dbms 150”)的处理单元24。在一些实施例中,处理单元24配置成向一个或多个远程计算机54或一个或多个本地计算机34提供前端图形用户界面(“gui”)(例如,pd测量gui 28和客户端用户gui 30)以及后端或管理图形用户界面或门户32。在一些实施例中,提供了以下进一步详细描述的pd测量接口,其经由gui 28访问管理服务器130。gui可以采取例如使用远程计算机54或一个或多个本地计算机34本地的浏览器程序显示的网页的形式。应当理解,系统100可以在一个或多个计算机、服务器或其他计算装置上实现。在一些实施例中,gui可以经由软件应用显示在客户端装置110上。例如,系统100可以包括基于对存储在dbms 150中的数据的允许访问而编程或分区的附加服务器。如本文所使用的,“门户”不限于通用互联网门户,如或而且还包括特定的、有限的受众感兴趣的gui,并且所述gui为该方提供对如下所述的多个不同种类的相关或不相关信息、链接和工具的访问。“网页”和“网站”在本文中可互换使用。
50.远程计算机54可以是计算机系统网络50-1、50-2的一部分,并且通过互联网服务提供商(“isp”)52-1、52-2(“isp 52”)获得对通信网络142的访问。如本领域技术人员将理解的,客户端装置110可以通过无线蜂窝通信网络、wan热点或通过与计算机的有线或无线连接来获得对通信网络142的访问。如下面将描述的,客户端用户和管理人员可以使用远程计算机54和/或客户端装置110来获得对系统100的访问。计算机系统网络50-1、50-2可以包括一个或多个数据存储单元56-1、56-2。
51.在一个实施例中,客户端装置110包括能够发送和接收无线信号的任何移动装置。移动仪器的示例包括但不限于移动或蜂窝电话、智能电话。个人数字助理(“pda”)、膝上型计算机、平板计算机、音乐播放器和电子阅读器,仅举几个可能的装置。
52.图1b是客户端装置110的架构的一个示例的框图。如图1b中所示,客户端装置110
包括一个或多个处理器,如(一个或多个)处理器102。(一个或多个)处理器102可以是任何中央处理单元(“cpu”)、微处理器、微控制器或用于执行指令的计算装置或电路。(一个或多个)处理器连接到通信基础设施104(例如,通信总线、交叉杆或网络)。根据该示例性客户端装置110描述了各种软件实施例。在阅读本说明书之后,如何使用包括其他系统或架构的客户端装置110来实现该方法对于本领域普通技术人员将是显而易见的。本领域普通技术人员将理解,计算机34、54可以具有与客户端装置110的架构类似和/或相同的架构。换句话说,计算机34、54可以包括如图1b中所示的客户端装置110的一些、全部或附加功能部件。
53.客户端装置110包括显示器168,所述显示器向用户(例如,订户、商业用户、后端用户或其他用户)显示从通信基础设施104(或从未示出的帧缓冲器)接收的图形、视频、文本和其他数据。这样的显示器168的示例包括但不限于lcd屏幕、oled显示器、电容式触摸屏和等离子体显示器,仅列出几种可能的显示器。客户端装置110还包括主存储器108,如随机存取(“ram”)存储器,并且还可以包括辅助存储器110。辅助存储器121可以包括更持久的存储器,例如硬盘驱动器(“hdd”)112和/或可移动存储驱动器(“rsd”)114,表示磁带驱动器、光盘驱动器、固态驱动器(“ssd”)等。在一些实施例中,可移动存储驱动器114以本领域普通技术人员理解的方式从可移动存储单元(“rsu”)116读取和/或写入可移动存储单元(“rsu”)116。可移动存储单元116表示磁带、光盘等,其可以由可移动存储驱动器114读取和写入可移动存储驱动器114。如本领域普通技术人员将理解的,可移动存储单元116可以包括其中存储有计算机软件和/或数据的有形和非暂态机器可读存储介质。
54.在一些实施例中,辅助存储器110可以包括用于允许将计算机程序或其他指令加载到客户端装置110中的其他装置。这样的装置可以包括例如可移动存储单元(“rsu”)118和对应的接口(“rsp”)120。这样的单元118和接口120的示例可以包括可移动存储器芯片(如可擦除可编程只读存储器(“eprom”))、可编程只读存储器(“prom”))、安全数字(“sd”)卡和关联的插槽,以及允许软件和数据从可移动存储单元118传送到客户端装置110的其他可移动存储单元118和接口120。
55.客户端装置110还可以包括扬声器122、振荡器123、相机124、发光二极管(“led”)125、麦克风126、输入装置128、加速度计(未示出)和全球定位系统(“gps”)模块129。相机124特征的示例包括但不限于光学图像稳定(“ois”)、较大传感器、明亮镜头、4k视频、光学变焦加原始图像和hdr、具有多镜头的“散景模式”和多镜头夜间模式。相机124可以包括具有不同功能的一个或多个镜头。作为示例,相机124可以包括超宽传感器、摄远传感器、飞行时间传感器、宏传感器、兆像素(“mp”)传感器和/或深度传感器。如本文所述,相机124不限于单个相机。相机124可以包括相机系统,所述相机系统包括多种不同类型的相机、传感器等。作为示例,发布了相机系统,所述相机系统包括7mp前置“自拍”相机、红外发射器、红外相机、接近传感器、环境光传感器、泛光照明器和点投影仪,它们协作以获得深度图和关联的图像。换句话说,客户端装置110的相机124可以具有多个传感器、相机、发射器或作为系统工作以获得供客户端装置110使用的图像信息的其他关联部件。
56.输入装置128的示例包括但不限于键盘、按钮、轨迹球或用户可以通过其输入数据的任何其他接口或装置。在一些实施例中,输入装置128和显示器168集成到相同装置中。例如,显示器168和输入装置128可以是触摸屏,用户通过所述触摸屏使用手指、笔和/或触笔将数据输入到客户端装置110中。
57.客户端装置110还包括一个或多个通信接口169,所述通信接口允许软件和数据在客户端装置110和外部装置(例如另一客户端装置110、计算机34、54和可以本地或远程连接到系统100的其他装置)之间传输。一个或多个通信接口169的示例可以包括但不限于调制解调器、网络接口(如以太网卡或无线卡)、通信端口、个人计算机存储卡国际协会(“pcmcia”)插槽和卡、一个或多个个人组件互连(“pci”)express插槽和卡或其任何组合。一个或多个通信接口169还可以包括配置用于短程通信的无线接口,如近场通信(“nfc”)、蓝牙或用于经由另一无线通信协议进行通信的其他接口。如上面简要指出的,本领域普通技术人员将理解,计算机34、54和系统100的多个部分可以包括客户端装置110的一些或所有部件。
58.经由一个或多个通信接口169传输的软件和数据是信号的形式,其可以是能够由通信接口169接收的电子、电磁、光学或其他信号。这些信号经由通信路径或通道提供给通信接口169。可以使用电线或电缆、光纤、电话线、蜂窝链路、射频(“rf”)链路或其他通信通道来实现通道。
59.在本技术中,术语“非暂时性计算机程序介质”和“非暂时性计算机可读介质”是指诸如可移动存储单元116、118或安装在硬盘驱动器112中的硬盘的介质。这些计算机程序产品向客户端装置110提供软件。计算机程序(也称为“计算机控制逻辑”)可以存储在主存储器108和/或辅助存储器110中。还可以经由一个或多个通信接口169接收计算机程序。当由(一个或多个)处理器102执行时,这样的计算机程序使得客户端装置110能够执行本文讨论的方法和系统的特征。
60.在各种实施例中,如图1a和1b中所示,客户端装置110可以包括计算装置,如散列计算机、个人计算机、膝上型计算机、平板计算机、笔记本计算机、手持计算机、个人数字助理、便携式导航装置、移动电话、智能电话、可穿戴计算装置(例如,智能手表、可穿戴活动监视器、可穿戴智能珠宝和眼镜以及包括光学头戴式显示器(“ohmd”)的其他光学装置)、嵌入式计算装置(例如,与智能纺织品或电子织物通信)或配置成存储数据和软件指令、执行软件指令以执行操作和/或在显示装置上显示信息的任何其他合适的计算装置。客户端装置110可以与一个或多个用户(未示出)关联。例如,用户操作客户端装置110,使其执行根据各种实施例的一个或多个操作。
61.客户端装置110包括存储数据和/或软件指令的一个或多个有形的非暂时性存储器,以及配置成执行软件指令的一个或多个处理器。客户端装置110可以包括向用户显示信息的一个或多个显示装置以及允许用户向客户端装置输入信息的一个或多个输入装置(例如,小键盘、键盘、触摸屏、语音激活控制技术或任何其他合适类型的已知输入装置)。客户端装置110的(一个或多个)处理器可以是任何中央处理单元(“cpu”)、微处理器、微控制器或用于执行指令的计算装置或电路。(一个或多个)处理器连接到通信基础设施(例如,通信总线、交叉杆或网络)。根据该示例性客户端装置110描述了各种软件实施例。在阅读本说明书之后,如何使用包括其他系统或架构的客户端装置110来实现该方法对于本领域普通技术人员将是显而易见的。本领域普通技术人员将理解,计算机可以具有与客户端装置110的架构类似和/或相同的架构。换句话说,计算机可以包括如图1a和1b中所示的客户端装置110的一些、全部或附加功能部件。
62.客户端装置110还包括一个或多个通信接口169,所述通信接口允许软件和数据在
客户端装置110和外部装置(例如,另一客户端装置110和可以本地或远程连接到客户端装置110的其他装置)之间传输。一个或多个通信接口的示例可以包括但不限于调制解调器、网络接口(例如,通信接口169,如以太网卡或无线卡)、通信端口、pcmcia插槽和卡、一个或多个pci express插槽和卡或其任何组合。一个或多个通信接口169还可以包括配置用于短程通信的无线接口,如nfc、蓝牙或用于经由另一无线通信协议进行通信的其他接口。
63.经由一个或多个通信接口169传输的软件和数据是信号的形式,其可以是能够由通信接口接收的电子、电磁、光学或其他信号。这些信号经由通信路径或通道提供给通信接口169。可以使用电线或电缆、光纤、电话线、蜂窝链路、射频(“rf”)链路或其他通信通道来实现通道。
64.在系统100或方法部分或全部使用软件实现的实施例中,软件可以存储在计算机程序产品中并且使用可移动存储驱动器、硬盘驱动器和/或通信接口加载到客户端装置110中。软件在由(一个或多个)处理器执行时使(一个或多个)处理器执行本文描述的方法的功能。在另一实施例中,该方法主要使用例如诸如专用集成电路(“asic”)的硬件部件以硬件实现。本领域技术人员将理解实现硬件状态机,以便执行本文描述的功能。在又一实施例中,使用硬件和软件的组合来实现该方法。
65.本说明书中描述的主题的实施例可以在系统100中实现,所述系统包括后端部件(例如,作为数据服务器),或者包括中间件部件(例如,应用服务器),或者包括前端部件(例如,客户端装置110),所述前端部件具有图形用户界面或web浏览器,用户可以通过所述图形用户界面或web浏览器与本说明书中描述的主题的实现进行交互,或者包括一个或多个这样的后端、中间件或前端部件的任何组合。系统的部件可以通过数字数据通信的任何形式或介质(例如,通信网络142)互连。通信网络142可以包括数字数据通信的一个或多个通信网络或介质。通信网络142的示例包括局域网(“lan”)、无线lan、rf网络、nfc网络(例如,“wifi”网络)、连接多个无线lan的无线城域网(“man”)、(一个或多个)nfc通信链路和广域网(“wan”)(例如,互联网)及其组合。根据本公开的各种实施例,通信网络142可以包括互联网和经由一个或多个通信协议互连的任何一个或多个公共可访问网络,所述通信协议包括但不限于超文本传输协议(“http”)和超文本传输协议安全(“https”)和安全套接字层/传输层安全(“ssl/tls”)和传输控制协议/互联网协议(“tcp/ip”)。根据各种实施例的通信协议还包括促进使用射频识别(“rfid”)通信和/或nfc的数据传输的协议。此外,通信网络142还可以包括一个或多个移动装置网络,如gsm或lte网络或pcs网络,允许客户端装置经由适用的通信协议(包括本文描述的那些通信协议)发送和接收数据。为了便于图示,通信网络142示出为管理服务器130的扩展。
66.客户端装置110和服务器130通常彼此远离,并且典型地通过通信网络142进行交互。客户端装置110和管理服务器130的关系借助于在相应的系统部件上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在实施例中,系统100可以包括用于获得对由管理服务器130提供的许多服务的访问的web/应用服务器(未示出)。
67.在一个方面,客户端装置110在存储器中存储在客户端装置上运行并由一个或多个处理器执行的一个或多个软件应用。在一些情况下,根据各种实施例,每个客户端装置存储软件应用,当由一个或多个处理器执行时,所述软件应用执行与管理服务器130建立通信(例如,经由通信接口169跨通信网络142)并且经由数据库管理系统150从管理服务器130获
得信息或数据的操作。
68.在各种实施例中,客户端装置110可以执行存储的(一个或多个)软件应用,以经由网络连接与管理服务器130交互。执行的软件应用可以使客户端装置110传送信息(例如,面部测量(例如,pd)、用户简档信息等)。如下所述,执行的(一个或多个)软件应用可以配置成允许与客户端装置110关联的用户使用相机124获得pd测量。如本领域普通技术人员将理解的,客户端装置110上存储的(一个或多个)软件应用配置成访问互联网或能够与通信网络142交互的其他合适的基于网络的通信上的网页。例如,用户可以经由互联网网页访问管理服务器130上的用户账户。在该示例中,管理服务器130配置成在客户端装置110上为用户呈现互联网网页。替代地,管理服务器130可以经由通信网络142向客户端装置110上存储的(一个或多个)软件应用提供信息。在该示例中,客户端装置110将使用存储的(一个或多个)软件应用图形用户界面显示,来显示由管理服务器130提供的信息。在上面的示例中,如本领域普通技术人员将理解并在下面描述的,相应的用户账户可以与开发者、客户端用户或主管/监控机构关联。
69.根据各种实施例,系统100包括用于管理和存储数据(例如,面部测量信息(例如,pd等)、用户账户认证信息和由管理服务器130维护的其他数据)的数据库管理系统/存储装置150。为方便起见,数据库管理系统和/或存储装置在本文中简称为dbms 150。dbms 150可以与各种模块和引擎(未示出)通信地联接。
70.应当理解,可以在系统100中使用可以由计算系统访问的各种形式的数据存储或储存库,如硬盘驱动器、磁带驱动器、闪存、随机存取存储器、只读存储器、eeprom存储装置、诸如sap hana的存储器内数据库等,以及其任何组合。存储的数据可以以一种或多种格式在数据存储内格式化,例如平面文本文件存储、关系数据库、非关系数据库、xml、逗号分隔值、microsoft excel文件或本领域普通技术人员已知的任何其他格式,以及其适合于特定使用的任何组合。数据存储可以提供对存储的数据的各种形式的访问,例如通过文件系统访问、网络访问、sql协议(例如,odbc)、http、ftp、nes、cifs等,以及其任何组合。
71.根据各种实施例,客户端装置110配置成经由管理服务器130访问dbms 150。在各种实施例中,dbms 150配置成维护数据库模式。例如,数据库模式可以布置成维护与面部测量或用户账户信息关联的dbms 150内的列中的标识符。在这方面,标识符是指与上述类别有关的特定信息。dbms 150内的数据库模式可以在系统内以任何合适的方式布置或组织。尽管上述示例标识分类标识符,但是可以使用任何数量的合适标识符来维护与本文描述的系统关联的记录。另外,数据库模式可以包含上面未描述的用于维护系统100中的记录数据的附加类别和标识符。数据库还可以提供与系统100的用户关联的统计和营销信息。
72.上述数据库模式有利地以允许系统更高效地操作的方式组织标识符。在一些实施例中,数据库模式中的标识符的类别通过用管理服务器130的关联管理模型对标识符分组来提高效率。
73.在各种实施例中,管理服务器130包括配置成存储、维护和生成数据和软件指令的计算部件。例如,管理服务器130可以包括或访问一个或多个处理器24、一个或多个服务器(未示出)和用于存储用于执行的软件或代码的有形非暂时性存储器装置(例如,本地数据存储(除了dbms 150之外))和/或附加数据存储。服务器可以包括一个或多个计算装置,所述计算装置配置成执行存储在其上的软件指令以执行根据各种实施例的一个或多个过程。
在一些实施例中,dbms 150包括服务器,所述服务器执行软件指令以执行向计算环境100的至少一个其他部件提供信息的操作,例如通过诸如通信网络142的网络向另一数据存储装置或第三方接收者(例如,银行系统、第三方供应商、信息收集机构等)提供数据。
74.管理服务器130可以配置成提供一个或多个网站、数字门户或配置成执行管理服务器130部件的各种功能的任何其他合适的服务。在一些实施例中,管理服务器130维护应用编程接口(“api”),通过所述应用编程接口可以通过由客户端装置110执行的一个或多个应用程序访问由服务器130提供的功能和服务。在各种实施例中,管理服务器130可以向客户端装置110上的(一个或多个)软件应用提供信息,以在图形用户界面168上显示。
75.在一些实施例中,管理服务器130向客户端装置110提供信息(例如,通过与执行的应用程序关联的api)。客户端装置110通过对应的相应图形用户界面168或网页将信息的多个部分呈现给对应的用户。
76.在各种实施例中,管理服务器130配置成向客户端装置110提供或接收与由管理服务器130提供的服务关联的信息。例如,客户端装置110可以经由通信网络142接收信息,并且将信息的多个部分存储在本地可访问的存储装置和/或网络可访问的存储装置和数据存储(例如,基于云的存储)中。例如,客户端装置110执行存储的指令(例如,应用程序、web浏览器和/或移动应用)以处理存储的数据的多个部分并渲染存储的数据的多个部分以呈现给相应的用户,或者用户管理服务器130可以包括附加服务器(未示出),所述附加服务器可以作为分布式网络中的对应节点或作为云计算环境中的对应联网服务器并入。此外,服务器可以经由通信网络142与一个或多个附加服务器(未示出)通信,这可以促进用于由附加服务器并行执行的过程的分布。
77.pd过程管理
78.在本公开的各种实施例中,提供了一种用于测量或估计客户端装置110上的用户的pd的过程。现在参考图2,示出了根据本公开的一些实施例的使用深度图的示例性pd测量过程200的流程图。最初,在步骤202,用户经由至少一个相机(如相机124)在客户端装置110上捕获图像。在一些实施例中,在使用pd系统之前向用户提供使用pd系统的指令(例如,如图9中所示的指令900)。在一些实施例中,向用户提供关于他/她的头部是否适当地定位以进行准确测量(即,头部是否处于用于准确图像捕获的位置)的反馈。通过例如文本、口头和/或符号格式传达的这种反馈引导用户在各种方向上移动他/她的头部和/或客户端装置110,例如更远、更近、上、下、右、左、对角地、顺时针旋转或逆时针旋转,和/或查看客户端装置110的屏幕上或屏幕外的点或区域。反馈可以包括客户端装置110的屏幕上的用户可以用他/她的头部和/或眼睛跟随的一个或多个指示符。当用户跟随反馈时,用户最终定位他/她的头部以进行准确测量。作为示例,图10和11示出了示例性指示符1000,其具有指示用户“聚焦在该点上。当它移动时,跟随它(focus on this dot.when it moves,follow it.)”的文本指导。当指示符在客户端装置110的屏幕上从起始位置移动到结束位置时,用户将根据指示符移动他/她的头部和/或眼睛。可以在图像捕获之前向用户传达附加反馈,例如如图10中所示的“移动得更远(move farther away)”,以进一步移动他/她的头部和/或眼睛和/或具有至少一个相机(如相机124)的客户端装置110。一旦用户的头部适当地定位以进行准确测量,用户就经由至少一个相机(如相机124)在客户端装置110上捕获图像。上述反馈可以结合步骤202发生。根据各种实施例,捕获的图像是2d图像和对应的深度图。在一些
实施例中,使用相机获得该深度图。作为示例,相机在受试者上以已知图案发射红外点(例如,30,000个点)的阵列,并且红外传感器记录点如何与场景交互,并且根据该信息生成3d结构。相机包括用于激活的接近传感器和用于设置输出光级的环境光传感器。3d信息可以用于确定拍摄的受试者的物理尺寸。尽管结合该实施例公开了相机,但是本领域普通技术人员将理解,可以使用各种其他深度感测相机来执行本文描述的系统和方法中的过程(例如,the point cloud depth camera
tm
、intel深度相机、depth+multi-spectral camera
tm
等)。
79.在各种实施例中,可以从客户端装置110上的存储单元获得2d图像和对应的3d深度图。在一些实施例中,2d图像和对应的3d深度图信息可以由客户端装置110接收以进行本文描述的过程。应当领会,2d图像和对应的3d深度图可以由不同的装置获得和/或以与本文描述的步骤非同时的方式生成。
80.在各种实施例中,在步骤203,使用多个面部网格界标来获得粗略瞳孔定位。根据各种实施例,在步骤202识别的3d信息用于生成睁开眼睛的中心附近(例如,距瞳孔0-5mm)的面部网格顶点的坐标,以获得瞳孔的近似位置。作为示例,顶点1095、1094、1107和1108靠近右瞳孔,并且顶点1076、1075、1062和1063靠近左瞳孔。本领域普通技术人员将理解,在上述示例中识别的顶点可以与所确定的实际顶点不同,并且将基于为个体生成的坐标而变化。图3是根据本公开的一些实施例的叠加有面部网格905(由连接到多个顶点920的多个线910描绘)的用户的瞳孔区域的示例性图像,面部网格示出了关键顶点950和关键顶点的形心951。在一些实施例中,对于每个瞳孔,计算与每个瞳孔对应的顶点的3d形心,以确定形心的对应2d图像坐标。在各种实施例中,通过projectpoint(_:)方法或将一或多个点从场景的3d世界坐标系统投影到渲染器的2d像素坐标系统的其他方法执行该计算。本领域普通技术人员将领会,确定3d形心的对应2d图像坐标的计算可以由任何合适的应用或系统执行。
81.在步骤204,根据各种实施例,使用具有2d中心环绕滤波器的卷积来细化在步骤203获得的初始瞳孔位置。在该背景下,卷积可以被认为是一种用于在图像中找到与称为内核的测试图案的外观最佳匹配的区域的方法。在一些实施例中,具有由白色环包围的暗圆的内核用于在图像中找到类似于内核的区域。在各种实施例中,如果要定位的图案具有未知的尺寸,则卷积方法可以用不同尺寸的内核运行多次。在一些实施例中,瞳孔大小估计(例如,直径大约为12mm,大约=+/-2mm)可以用于使用关联的面部网格来确定眼睛距相机的近似距离。使用瞳孔大小估计和以下公式,可以预测虹膜将在图像中出现多大:
82.虹膜的像素直径d由以下给出:
[0083][0084]
其中,f是2d相机的焦距,z是相机与瞳孔之间的距离,并且d是虹膜直径,其被假设为大约12mm。
[0085]
根据各种实施例,内核构造如下:其具有量值为的直径d的中心圆形区域和
量值为的直径1.5d的周围圆形区域。在该示例中,选择量值,使得内核将在均匀图像上产生零响应。在初始估计周围的3d
×
3d区域中应用卷积,并且将给出最强响应的区域内的位置视为细化估计。
[0086]
图4(a)-4(c)是根据本公开的一些实施例的使用具有步骤204的2d图像的卷积来细化初始瞳孔位置的示例性图示表示,其中图4a示出了具有中心环绕结构的滤波器内核(或内核);图4b示出了具有带十字符号的圆990的图像块,示出了具有对内核的最大响应的位置;并且图4c示出了对具有内核的卷积的图像响应。
[0087]
在步骤205,在最终瞳孔位置细化步骤中,估计虹膜的精确边界,并用圆执行边界的鲁棒拟合。根据各种实施例,考虑以来自204处的先前定位步骤的结果为中心的1.5d像素宽区域。对于每个区域,将水平梯度内核应用于行的左半部和右半部。在行的左半部,应用[+1,0,-1]内核,其引起对亮到暗过渡的强烈响应。在该行的右半部,应用[-1,0,+1]内核,其引起对暗到亮过渡的强烈响应。对于每个半行,具有最强响应的列被认为是候选边界点。为了说明整个虹膜不可见并且虹膜的顶部通常比底部被遮挡得更多的事实,仅考虑对应于从区域的中心向上小于30
°
和从区域的中心向下小于45
°
的行。
[0088]
图5是根据本公开的一些实施例的瞳孔区域图像上的ransac迭代方法的示例性图示。在图5中,实线圆2000指示虹膜边界的初始估计;实心十字符号2001指示虹膜中心的初始估计;闭合点3010指示局内边界点;空心点3020指示局外边界点;虚线圆3000指示虹膜边界的最终估计;并且虚线十字符号3001指示虹膜中心的最终估计。根据各种实施例并继续步骤205,一旦识别出候选边界点,就需要确定最佳拟合这些点的圆。因为由于角膜反射或其他不规则性而经常存在伪边界点,所以有必要找到仅使用真实边缘点同时排除假阳性的方式。在各种实施例中,这是使用ransac技术来实现的。根据一些实施例,ransac通过将模型拟合到随机选择的点子集并选择给出最低误差的子集来工作。不能通过最终圆模型很好地拟合的点被认为是局外点,并且其余点被认为是“局内点”。
[0089]
在步骤206(统称为206a和206b),瞳孔中心的坐标与3d坐标系关联,以计算瞳孔中心之间的物理距离。在各种实施例中,可以在步骤206a根据深度图方法计算瞳孔中心之间的物理距离。在该实施例中,相机校准用于由软件提供的图像帧,以获得z坐标。在各种实施例中,软件可以是apple ios
tm
或用于客户端装置110的类似操作软件。在该实施例中,可以在深度图中确定与2d图像中瞳孔的细化位置对应的值。
[0090]
替代地,根据各种实施例,在步骤206b,可以使用程序来确定3d面部网格上对应于瞳孔中心的点。在该实施例中,对应于图像坐标发射光线,并返回光线与面部网格相交的点的3d世界坐标。
[0091]
参考步骤206(统称为206a和206b),根据各种实施例,使用由apple ios
tm
提供的变换,这些3d瞳孔点可以在面部中心坐标系中表示,其中x=0对应于面部中线,并且x轴对应于头部的横轴。然后双眼pd是瞳孔位置之间的x距离,并且单眼pd是瞳孔位置和零之间的x距离。
[0092]
图6是根据本公开的一些实施例的用于测量或估计远pd的过程的示例性图示。在步骤207,基于从相机124拍摄图像的距离来执行对pd的校正。例如,具有相机124的客户端装置110(如移动装置)被保持在手臂的长度,其对应于约400mm。如果个体正在注视客户端
装置110的屏幕/显示器168,则他们的pd将低于他们在远距离注视时的pd,其是与准确pd确定最相关的值。通常,通过添加固定值将近pd转换为远pd。然而,在该示例中,距受试者的注视点距离是已知的,并且可以执行更原则的校正。在一些实施例中,可以假设眼球横向半径为例如12mm。然后可以通过将由相机坐标和瞳孔中心坐标限定的光线延伸另外12mm来计算眼球中心坐标。在一些实施例中,眼球横向半径在10mm至14mm的范围内,或该范围内的任何中间值。在一些实施例中,眼球横向半径为10mm;11mm;12mm;13mm;或14mm。在一些实施例中,眼球横向半径为大约12mm(其中“大约”为+/-2mm)。该过程在图6中示出。
[0093]
在各种实施例中,可能期望聚合多个测量以便丢弃潜在的局外点。采用中值双眼pd测量是这样做的直接方式。对于单眼测量,取oculus sinister(左眼)(“os”)和oculus dexter(右眼)(“od”)值的中值将可能防止它们加起来达到中值双眼值。更合适的是确定分配给os和od pd值的双眼pd的比例,计算中值比例,然后将其乘以中值双眼pd值。根据各种实施例,pd测量在瞳孔计测量的0.5mm内。在一些实施例中,pd测量在瞳孔计测量的1.0mm内。
[0094]
图7是根据本公开的一些实施例的pd计算界面800的示例。“方法a”是指深度图方法,其在本文中描述。“方法b”是指面部网格方法,其也在本文中描述。
[0095]
图8-11分别是根据本公开的一些实施例的用于测量pd的示例性界面801、802、803和804,并且图12示出了根据本公开的一些实施例的pd计算界面805的另一示例。这样的界面可以在客户端装置110的屏幕/显示器168上看到,并且还可以包括一个或多个超链接、网页链接、图像链接和/或服务按钮(例如,“添加到您的订单”按钮1010或其他购买相关按钮)以引导用户查看、选择和/或购买需要pd信息的产品,如眼镜。
[0096]
在本公开的各种实施例中,系统100可以配置成存储客户端装置110的特定用户的面部测量数据(例如,pd等)。在各种实施例中,相应用户的面部测量数据可以与用户账户关联。在一些实施例中,客户端装置110可以将面部测量数据传输到管理服务器130,以存储在与用户账户关联的dbms 150中。在各种实施例中,面部测量数据可以与客户满意度得分或评级聚合以改善面部测量过程。在一些实施例中,基于与顾客满意度得分、购买历史或其他识别特性(如特定产品的大小、厚度和/或尺寸)关联的面部测量数据,向客户端装置110的用户提供产品推荐。
[0097]
本公开可以以方法和用于实践那些方法的装置的形式来体现。本公开还可以体现在有形介质中的程序代码的形式来体现,所述有形介质例如是安全数字(“sd”)卡、usb闪存驱动器、磁盘、cd-rom、dvd-rom、蓝光盘、硬盘驱动器或任何其他非暂时性机器可读存储介质,其中,当程序代码被加载到诸如计算机的机器中并由机器执行时,机器成为用于实践本公开的装置。本公开还可以以程序代码的形式体现,例如,无论是存储在存储介质中、加载到机器中和/或由机器执行,还是通过一些传输介质传输,例如通过电线或电缆、通过光纤或经由电磁辐射,其中,当程序代码被加载到机器(例如计算机)中并由机器执行时,机器成为用于实践本公开的装置。当在通用处理器上实施时,程序代码段与处理器组合以提供类似于特定逻辑电路操作的独特装置。
[0098]
应当强调的是,上述实施例仅仅是实现的可能示例,并且仅仅阐述了对本公开的原理的清楚理解。在基本上不脱离本公开的精神和原理的情况下,可以对本公开的上述实施例进行许多变化和修改。所有这样的修改和变化旨在包括在本公开和本公开的范围内并
由以下权利要求保护。
[0099]
尽管本说明书包含许多细节,但是这些不应被解释为对任何公开内容或可能要求保护的内容的范围的限制,而是作为可能特定于特定公开内容的特定实施例的特征的描述。在本说明书中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管特征可以在上面被描述为以某些组合起作用并且甚至最初如此要求保护,但是来自所要求保护的组合的一个或多个特征在一些情况下可以从组合中删除,并且所要求保护的组合可以涉及子组合或子组合的变化。
[0100]
尽管已描述了各种实施例,但是应当理解,所描述的实施例仅是说明性的,并且本主题的范围应符合本领域技术人员通过其阅读自然想到的等同物、许多变化和修改的完整范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1