CN113168733A - 一种眼镜虚拟试戴系统和方法 - Google Patents
一种眼镜虚拟试戴系统和方法 Download PDFInfo
- Publication number
- CN113168733A CN113168733A CN201980062191.5A CN201980062191A CN113168733A CN 113168733 A CN113168733 A CN 113168733A CN 201980062191 A CN201980062191 A CN 201980062191A CN 113168733 A CN113168733 A CN 113168733A
- Authority
- CN
- China
- Prior art keywords
- user
- image
- dimensional model
- eyewear
- glasses
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 239000011521 glass Substances 0.000 claims abstract description 77
- 238000001514 detection method Methods 0.000 claims abstract description 19
- 238000012360 testing method Methods 0.000 claims description 57
- 230000001815 facial effect Effects 0.000 claims description 56
- 238000005259 measurement Methods 0.000 claims description 28
- 230000033001 locomotion Effects 0.000 claims description 7
- 239000002184 metal Substances 0.000 claims description 6
- 229910052751 metal Inorganic materials 0.000 claims description 6
- 229920002301 cellulose acetate Polymers 0.000 claims description 3
- 230000000694 effects Effects 0.000 claims description 2
- 210000003128 head Anatomy 0.000 description 23
- 230000008569 process Effects 0.000 description 22
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 7
- 238000007620 mathematical function Methods 0.000 description 6
- 230000000284 resting effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 239000000463 material Substances 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 238000010845 search algorithm Methods 0.000 description 5
- 241000746998 Tragus Species 0.000 description 4
- 230000005484 gravity Effects 0.000 description 4
- 238000000926 separation method Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 210000001061 forehead Anatomy 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 210000004279 orbit Anatomy 0.000 description 3
- QTBSBXVTEAMEQO-UHFFFAOYSA-M Acetate Chemical compound CC([O-])=O QTBSBXVTEAMEQO-UHFFFAOYSA-M 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 241001310793 Podium Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 239000011449 brick Substances 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 210000004709 eyebrow Anatomy 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 210000004209 hair Anatomy 0.000 description 1
- 238000003331 infrared imaging Methods 0.000 description 1
- 238000013101 initial test Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000004570 mortar (masonry) Substances 0.000 description 1
- 230000002360 prefrontal effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 210000000216 zygoma Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/56—Cameras or camera modules comprising electronic image sensors; Control thereof provided with illuminating means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/16—Cloth
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/21—Collision detection, intersection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2004—Aligning objects, relative positioning of parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2016—Rotation, translation, scaling
Abstract
本公开主题的各个方面涉及用于诸如眼镜的物品的虚拟试戴系统、方法和机器可读介质。虚拟试戴界面可以在服务器或用户设备上实施,并且可以在眼镜的三维模型与用户面部和头部的三维模型之间使用碰撞检测,来确定虚拟试戴的眼镜的正确尺寸和位置。通过确定的尺寸和位置,将眼镜的虚拟表示叠加在用户的图像上。
Description
技术领域
本公开总体上涉及增强现实,并且更具体地涉及一种眼镜虚拟试戴系统和方法。
背景技术
已经开发了将虚拟对象数字地叠加在现实对象的图像上的增强现实应用。在某些情况下,当用户导航场景时,会将虚拟对象(例如,游戏角色)添加到智能手机或平板电脑显示的场景图像中。在其他情况下,将卡通特征(例如,卡通动物面部特征)添加到智能手机或平板电脑的用户的面部图像,该图像已经被智能手机或平板电脑的相机捕获。在这些常规的增强现实系统中,虚拟对象的卡通化或不现实的性质使得虚拟对象相对于现实世界对象在尺寸、形状、方向和位置的准确性上有明显的偏差。
发明内容
本公开提供了一种用于一副眼镜架的虚拟试戴(VTO)系统。所公开的系统和方法使得VTO界面的用户在不接触物理眼镜架的情况下就能够确定眼镜架在其面部的外观。在公开的系统和方法中,用户的图像由照相机捕获,将眼镜架的虚拟表示叠加到捕获的图像上,并将合成图像呈现给用户。
然而,在创建真实的虚拟试戴体验时,有两个主要挑战,包括(i)针对特定用户的唯一面部测量值和特征的眼镜架的实际尺寸,以及(ii)眼镜架将处于用户的真实三维面部的实际位置。
根据本公开的方面,提供了克服这些挑战的系统和方法。例如,如下文中进一步详细描述的,可以至少部分地通过确定捕获的图像中用户的绝对大小和距离来克服上述挑战(i),并且可以通过将眼镜架的三维模型与用户面部和头部的各个方面的三维位置信息迭代的相交,来克服上述挑战(ii)。
根据本公开的一些方面,提供了一种计算机实施的方法。该方法包括:使用电子设备的照相机捕获用户的面部的图像;使用所述电子设备的传感器获得所述用户的三维位置信息;获得一副眼镜的三维模型;基于所述图像和所述三维位置信息,确定所述眼镜的虚拟表示的位置;基于所述图像和所述三维位置信息,确定所述眼镜的虚拟表示的尺寸;以及使用所述电子设备的显示器显示组合图像,所述组合图像包括所述用户的图像和具有确定的尺寸和确定的位置的所述眼镜的虚拟表示。
根据本公开的一些方面,提供了一种计算机实施的方法。该方法包括:捕获用户的面部的图像;在捕获所述图像时获得所述用户的三维模型;获得一副眼镜的三维模型;基于所述图像、捕获所述图像时获得的所述用户的三维模型以及所述一副眼镜的三维模型,确定所述眼镜的虚拟表示的尺寸和位置;以及显示叠加在所述用户的面部的图像上的具有确定的尺寸和确定的位置的所述眼镜的虚拟表示。
根据本公开的一些方面,提供了一种系统,该系统包括服务器和用户的用户设备,该服务器具有存储多副眼镜的三维模型的数据库。所述用户设备包括存储代码的存储器,所述代码在由所述用户设备的处理器执行时使所述处理器:捕获所述用户的面部的图像;获得所述用户的三维模型;从所述服务器获得多副眼镜中选择的一副眼镜的三维模型;基于所述图像、所述用户的三维模型以及多副眼镜中选择的一副眼镜的三维模型,确定所述选择的一副眼镜的虚拟表示的尺寸和位置;以及提供叠加在所述用户面部的图像上的具有确定的尺寸和确定的位置的所述选择的一副眼镜的虚拟表示,以进行显示。
应当理解,通过以下详细描述,本主题技术的其他配置对于本领域技术人员将变得显而易见,其中,以示例方式示出并描述了本主题技术的各种配置。将会认识到,本主题技术能够具有其他和不同的配置,并且能够在各种其他方面对其若干细节进行修改,所有这些都不脱离本主题技术的范围。因此,附图和详细描述本质上应被认为是说明性的而不是限制性的。
附图说明
所包含的附图是为了提供进一步的理解,并且附图并入本说明书中并构成本说明书的一部分,附图示出了本公开的实施例,并且与说明书一起用于解释本公开的实施例的原理。在附图中:
图1示出了适于实践本公开的一些实施方式的虚拟试戴的示例性架构。
图2是示出根据本公开的某些方面的虚拟试戴界面的示意图。
图3示出了根据本公开的某些方面的一副示例性的眼镜。
图4是示出根据本公开的某些方面的在用户的图像上显示眼镜的虚拟表示的虚拟试戴界面的示意图。
图5是示出根据本公开的某些方面的面部坐标系的示意图。
图6是示出根据本公开的某些方面的在眼镜的三维模型与用户的三维模型之间的嵌入式接触的示意图。
图7A至图7D示出了根据本公开的某些方面的在虚拟试戴的示例性物理放置操作期间,面部坐标系中的眼镜的三维模型的各种测试位置。
图8A至图8D示出了根据本公开的某些方面的在虚拟试戴的其他示例性物理放置操作期间,面部坐标系中的眼镜的三维模型的各种测试位置。
图9示出了根据本公开的某些方面的与用户的面部或头部的一部分接触的一副眼镜的一部分的截面图。
图10示出了根据本公开的某些方面的图9的该副眼镜的一部分的截面图,其中,压缩了用户的面部或头部的一部分。
图11示出了根据本公开的某些方面的眼镜虚拟试戴的示例性过程。
图12示出了根据本公开的某些方面的用于确定眼镜的虚拟表示的位置的示例过程。
图13是示出根据本公开的某些方面的获得用户的绝对测量位置的示意图。
图14是示出根据本公开的某些方面的用户的三维模型的二维渲染的示意图。
图15是示出根据本公开的某些方面的用户的面部界标绝对位置的示意图。
图16是示出根据本公开的某些方面的示例性计算机系统的框图,可以通过该示例计算机系统实现图1的用户设备、试戴服务器和/或第三方服务器。
具体实施方式
在下面的详细描述中,阐述了许多具体细节以提供对本公开的全面理解。然而,对于本领域的普通技术人员显而易见的是,可以在没有这些具体细节中的一些的情况下实践本公开的实施例。在其他情况下,未详细示出公知的结构和技术,以免混淆本公开。
总体概述
本文公开了虚拟试戴系统和方法。虚拟试戴系统和方法对于查看眼镜或眼镜架在现实世界中如何出现在用户的面部上特别有用,而无需用户接触现实世界的眼镜或眼镜架。然而,还应当理解,本文所述的系统和方法可以应用于在用户的身体的其他部位上的其他物体的虚拟试戴,例如,眼镜配件、头饰、耳环、其他身体穿孔配件、珠宝、衣服等的虚拟试戴。本文公开的虚拟试戴系统和方法使得用户能够直观的方式查看特定现实世界的物品出现在用户的特定身体部位上。
然而,已经发现,提供不遭受缺乏现实性困扰的VTO实现可能具有挑战性。在某些情况下,VTO系统可能无法访问有关用户的三维信息,从而可能猜测相对于图像中用户的面部特征要制作多大尺寸的一副虚拟眼镜。这是因为通过图像估计用户面部特征的物理尺寸并不容易,尤其是在图像中没有比例参考或没有针对图像的比例参考的情况下,更不容易。某些VTO系统可能会假设用户的头部都是平均大小,以确定虚拟眼镜合适的尺寸。但是,这种假设对于头部小于或大于平均值的用户来说将产生不真实的结果。
此外,在没有无法从二维图像获得的三维信息的情况下,VTO系统可以根据典型用户的典型面部特征来猜测眼镜在客户面部的位置。然而,实际上,特定的一副眼镜在特定用户面部的位置的特殊性取决于眼镜正面的精确形状以及客户鼻梁的三维形状。因此,使用典型特征会给具有的特征不同于假定的典型特征的客户带来不切实际的结果。
在某些情况下,VTO系统可能要求用户提供附加信息,例如将面部测量值或捕获的图像中特定面部特征的标识符输入到VTO系统。但是,这些附加的用户输入可能是不准确的并且不期望地耗时,这可能使VTO系统的用户远离提供VTO界面的应用程序或网站(例如,进入竞争对手提供的VTO系统)。
根据本发明的各方面,提供了一种VTO系统和方法,其使用捕获的用户面部图像和用户面部的三维表示来提供现实世界的眼镜在特定用户面部上的实际外观的逼真表示,其中,用户面部的三维表示包括有关图像中用户面部尺寸的信息。由于直接测量捕获图像中用户面部的尺寸,因此本文所述的VTO系统和方法能够以正确的用户面部的相对尺寸来渲染眼镜的虚拟表示。下文将进一步详细描述相对于用户的面部图像准确放置(例如,位置和/或定位)眼镜的虚拟表示,就如同它们将放置在实际用户的面部上。
尽管本文提供的许多示例将用户的设备或物理特征描述为已被识别和/或存储,但是每个用户都可以获得收集、共享和/或存储该用户信息的明确许可。可以使用集成到所公开系统中的隐私控制来获得该明确许可。可以通知每个用户将在得到明确同意的情况下存储该用户信息,并且每个用户可以在任何结束时间存储该信息,并且可以删除任何存储的用户信息。可以对存储的用户信息进行加密以保护用户安全。尽管本文所述的一些实施例可受益于根据任何和所有适用的州和/或联邦法规将用户的生物特征数据临时存储在远程服务器上,但是一般而言,仅在用户的设备上存储和处理用户的生物特征数据,并且一旦当前的VTO会话结束就将其丢弃。
用户可以随时从存储器中删除用户信息和/或选择不将用户信息存储在存储器中。另外,用户可以随时调整适当的隐私设置,以有选择地限制存储在存储器中的用户信息的类型,或选择存储用户信息的存储器(例如,本地存储在用户设备上,而不是远程存储在服务器)。在许多示例中,除非用户另外明确提供或指示,否则用户信息不包括和/或不共享用户的特定标识(例如,用户名)。
示例性系统架构
图1示出了用于眼镜虚拟试戴的示例架构100,其适于实践本公开的一些实施方式。架构100包括通过网络150连接的试戴服务器130和用户设备110。如图所示,第三方服务器140也可以经由网络150通信地耦接到试戴服务器130和/或用户设备110。试戴服务器130可以包括数据库142,数据库142中的信息与可以利用一个或多个用户设备110虚拟试戴的对象相关联。例如,试戴服务器130的数据库142可以包括具有镜片或不具有镜片的可购买(例如,从试戴服务器本身、实体店、或诸如第三方服务器140之类的另一个服务器购买)的各种眼镜架的三维模型。在一些实施方式中,试戴服务器130还可以存储代码,该代码在由服务器的处理器执行时,使处理器提供执行本文描述的试戴方法和操作的试戴界面(例如,试戴网络界面)。在一些实施方式中,还可以或可替换的将用于试戴界面的代码存储到一个或多个用户设备110。在这些实施方式中,运行试戴界面的用户设备(例如,由在用户设备上运行的试戴应用程序生成的用户设备)可以从试戴服务器130获得眼镜的三维模型,并在用户设备上执行如本文所述的试戴操作。
第三方服务器140可以包括处理眼镜的销售的服务器,其中,眼镜的三维表示存储在试戴服务器130上,或者第三方服务器140可以存储其他对象的三维表示,其中,其他对象是可以使用试戴服务器130和/或用户设备110提供的试戴界面进行试戴的对象(例如,通过将其他对象的三维模型存储在数据库144中)并将三维模型提供给试戴服务器130和/或用户设备110。
试戴服务器130均可以用具有合适的处理器、存储器和通信能力的任何设备来实现,以承载试戴界面和/或存储眼镜或其他对象的三维模型。例如,用户设备110可以是台式计算机、移动计算机(例如,膝上型计算机)、平板计算机(例如,包括电子书阅读器)、移动电子设备(例如,智能手机、平板电脑或PDA)、或具有合适的成像(例如,可见光成像和/或红外成像)、照明(例如,可见光照明和/或红外光照明)、处理器、存储器和通信能力以提供虚拟试戴界面的任何其他设备。网络150可以包括例如局域网(LAN)、广域网(WAN)、因特网等中的任何一个或多个。此外,网络150可以包括但不限于以下网络拓扑中的任何一个或多个:包括总线网络、星形网络、环形网络、网状网络、星形总线网络、树形或分层式网络等。
虚拟试戴(VTO)界面示例
图2是示出了在其中的一个用户设备110上运行的虚拟试戴(VTO)界面202的示意图。虚拟试戴界面202可以是基于在远程设备(例如,其中的一个试戴服务器130)上执行的代码的网络界面,或者可以是在用户设备本身上运行的本地虚拟试戴应用程序。
在图2的示例中,已经捕获了用户的图像200(例如,使用用户设备110的可见光照相机205),并利用用户设备110的显示器201显示捕获的用户的图像200。可以看出,可以在图像200中识别出用户面部的各种特征。例如,可以通过用户设备110和/或试戴服务器130看到并识别出图像200中的用户的眼睛206、鼻子223和头发222。用户设备110和/或试戴服务器130也可以看到并识别出更详细的特征,例如,用户的鼻梁点208、瞳孔中心204、耳根上点218、眼眶上点216、眉间225和/或鼻突点210。通过用户设备110和/或试戴服务器130还可以或者可替换的在图像200中看到并识别出其他面部特征点,包括用户的内眦点、外眦点、耳屏点、颧点、眼睑上点、眼睑下点、前额颞叶、颌前额叶、眼眶、耳屏点、鼻根和下巴(作为示例)。
然而,图像200可以是二维图像,其不包括关于图像中用户的任何特征的尺寸和/或绝对位置的任何信息。可以使用附加传感器209(例如,另一个照相机、运动传感器(例如,用于视觉惯性里程计)、接近传感器、飞行时间传感器、激光测距仪)或能够捕获相机205视场中对象的三维位置信息的任何其他传感器,来获得用户的这些和/或其他特征的三维位置信息。在一个示例中,传感器209可以实现为在空间上与照相机205偏离的另一个可见光照相机,以使得视差信息(例如,两个立体成像照相机205和209捕获的图像之间的视差效果)和摄像机之间的已知距离可以提供三维位置信息。在另一个示例中,可以基于用户相对于照相机205和/或实现为照相机的传感器209的运动,使用运动恢复结构(Structure fromMotion)操作来生成三维位置信息。
在另一示例中,传感器209可以是红外照相机,其捕获来自用户的面部和/或头部的红外光,例如,由红外光源207发射的一个或多个红外光束的反射。例如,红外光源207可以发射数个(例如,数十、几百或几千)红外光束,该红外光束在用户的面部和/或头部的各个测量位置处产生红外光斑,其反射部分可以由传感器209成像。可以使用捕获的红外图像中红外光斑的失真和红外光束的已知大小和形状,来确定到每个红外光斑的绝对距离。因此,传感器209,无论其实现为照相机还是其他三维传感器,都能够确定图像200中的用户面部的绝对尺寸和/或用户面部的各种特征(例如,通过确定图像200中具有相应特征的各个测量位置的绝对三维位置之间的距离来确定)。
用户设备110(和/或试戴服务器130)可以为用户生成和/或存储三维位置信息,例如,测量点绝对三维位置211、基于测量点绝对三维位置211的用户的三维模型213、和/或面部特征点绝对位置215。将存储的三维位置信息映射到图像200中相应特征的二维位置。面部特征点绝对位置215可以是测量点绝对三维位置211的子集,可以是平均、内插和/或以其他方式组合的测量点绝对三维位置211,或者可以基于三维模型213来确定。可以基于测量点绝对三维位置211或基于已经从测量点绝对三维位置211提取或生成的面部特征点绝对位置215来生成三维模型213。在各种实施方式中,可以使用由用户设备110提供给服务器的数据(例如,测量点绝对三维位置211)在用户设备110或试戴服务器130上生成三维模型213和/或面部特征点绝对位置215。
在图像200中表示的用户可能希望试戴用户没有实际接触的对象,例如图3的眼镜300。如图3所示,眼镜300包括诸如眼镜架302和安装在眼镜架中的镜片304的物理部件。
眼镜架302包括中梁308、鼻托310、镜腿306、尾端件316和脚套(镜脚)309。可以将鼻托310构建在眼镜架上(例如,醋酸纤维眼镜架),或者鼻托310可以是布置在从眼镜架(例如,金属或混合材料眼镜架)延伸的托臂(例如,可调节臂)上的单独的托。眼镜架302的各个部分可以是与佩戴者面部的相应部分接触的接触点,这取决于该佩戴者的特定特征。例如,对于具有一体式鼻托310的乙酸酯眼镜架,中梁308通常抵靠在佩戴者的鼻梁点208上,而一体式鼻托放置在用户鼻子的鼻梁212上。在另一示例中,对于在托臂上具有鼻托的金属眼镜架,中梁308将漂浮着不与用户的皮肤接触,或者将抵靠在用户的相对较高的位置上(例如,眉间225),其中,眼镜主要由鼻托310和用户鼻子的鼻梁部分212之间的接触点支撑。
对于任何眼镜架材料来说,无框或部分无框的眼镜的眼镜架的底端314(例如,在镜片304下方)或镜片304的底部可以漂浮着不与用户的接触,或者可以抵靠在用户皮肤的颧骨部分214上。类似地,对于任何眼镜架材料来说,在镜片上方的眼镜架的部分312(或安装在无框眼镜架的镜片的顶部)可以漂浮着不与用户接触,或者可以抵靠在眉毛、眼眶上点216或用户皮肤附近的部分。类似地,对于任何眼镜架材料来说,眼镜架302的镜腿306将抵靠耳根上点218、和/或脚套309的部分可抵靠在用户的耳朵220后面的用户的头部的部分。对于具有高度对称特征的用户来说,眼镜300与用户的面部和头部之间的接触点可以在用户的面部和头部的左侧和右侧对称,或者对于具有一个或多个非对称特征的用户来说可以不同。
在图3中示出的眼镜300的特征和/或眼镜300的其他特征由通过试戴服务器130存储的眼镜300的三维模型(例如,能够订购或购买的每副眼镜的三维模型)描述。
如本文所述的,用户的面部和/或头部的三维模型可以包括参考点和具有参数的参数化的数学函数,其参数使数学函数沿着与用户的面部和/或头部的轮廓相对应的路径将参考点连接起来。本文所述的眼镜的三维模型可以包括参考点和具有参数的参数化的数学函数,其参数使数学函数沿着与眼镜的轮廓相对应的路径将参考点连接起来。在某些情况下,可以生成用户的面部和/或头部以及眼镜的集成三维模型。
一旦已经获得图像200、图像中的用户的三维位置信息(例如,图2的211、213和/或215)和特定的一副眼镜300的三维模型,就可以在图像200上叠加眼镜300的虚拟表示,以使得用户能够看到当特定的一副眼镜300戴在用户的特定面部特征上时,该特定的一副眼镜300在现实世界中将是什么样子。
例如,图4示出了眼镜300的虚拟表示400,其中,已经确定了眼镜的尺寸以使得相对于用户面部的实际尺寸而准确地表示眼镜300的实际尺寸。应当理解,虚拟表示400的尺寸不与图像中用户特征的外观尺寸相匹配,而是与用户特征的真实尺寸相匹配。由于这个原因,如果真实的眼镜300对于现实世界中的用户而言会过大或过小,则相对于用户头部和面部特征的尺寸,眼镜300的虚拟表示400可能显得过大或过小(与图4的示例相反,在图4的示例中,尺寸似乎对于用户而言是大致正确的)。例如,如果眼镜300是成人大小的眼镜并且用户是孩子,则眼镜300的虚拟表示400将在图像200上显得过大。
在一些实施方式中,VTO界面202可以基于眼镜的已知尺寸和三维位置信息来检测一副眼镜的尺寸错误,以警告用户尺寸错误和/或识别和/或推荐一副或多副尺寸可能更合适的不同眼镜进行试戴。
在图4的示例中,在虚拟表示400已经相对于用户的图像定位并调整了尺寸以使其看起来就像眼镜300戴在现实世界的用户的面部的配置中,显示了叠加在图像200上眼镜300的虚拟表示400。显示眼镜的虚拟表示(具有确定的尺寸和在确定的位置,如在图4的示例中那样叠加在用户的面部的图像上)可以包括:将眼镜的三维模型转换到与显示的二维图像相对应的坐标系,确定(例如,基于转换后的眼镜的颜色、尺寸和形状)相应的二维图像的修改后的版本中的每个像素的亮度和颜色以正确显示虚拟表示400,以及操纵设备110的显示器201的显示像素以显示修改后的图像的每个像素,其以确定的像素的亮度和颜色来显示该像素。
在图4的示例中,将眼镜300的虚拟表示400叠加在图像200上,以示出鼻托310放置在用户鼻子的鼻梁部分212上,并支撑在鼻梁点208上方并远离鼻梁点208的中梁308。镜腿306示出为放置在用户的耳朵220的耳根上点218处。
然而,特定的一副眼镜300与特定的用户面部之间的接触点或接触点的组合将确定该特定的一副眼镜如何放置在该特定用户的面部上。因此,为了确定眼镜300的虚拟表示400在特定用户的图像200上的位置和方向,可以将眼镜的三维模型与用户的三维位置信息(例如,测量点绝对三维位置211、三维模型213和/或面部特征点绝对位置215)一起放置到虚拟场景中,并进行测试以确定这两个实体是否相交。在相交测试中,用户设备110和/或服务器130确定对应于用户面部的表面的几何表面(基于测量点的绝对三维位置211、三维模型213和/或面部特征点绝对位置215)是否在任意点都与对应于眼镜外表面的几何表面(基于眼镜的三维模型)重合。如果两个几何表面重合,则可以识别接触点或一组接触点(例如,对应于两个几何表面之间的一个或多个相交曲线)。可以在相对于用户的三维位置信息的眼镜300的三维模型的不同位置和/或方向,以迭代的方式执行多个相交测试,以识别正确的接触点集合,并且确定眼镜300的虚拟表示400在特定用户的图像200上的正确位置和方向。
可以将这些迭代相交测试称为物理放置操作,并且可以执行这些迭代相交测试以模拟当顾客实际上将眼镜放置在他们的脸上时发生的物理过程。
物理放置操作可以包括指定面部坐标系,例如,图5所示的面部坐标系。在图5的示例中,x轴是指定义(例如,在它们之间延伸)用户左右两侧的轴,其中,x轴的正方向从原点向用户自己的左侧延伸。图5中的y轴是指定义(例如,在它们之间延伸)用户的头部的顶部和底部的轴,其中,y轴的正方向从原点到用户头部的顶部延伸并与x轴正交。如图所示,z轴是指定义(例如,在它们之间延伸)用户的头部的前部和后部的轴,其中,z轴的正方向从原点向用户头部的前部延伸并与x轴和y轴正交。
物理放置操作可以包括识别用作面部坐标系的原点的面部特征点。通过这种方式,可以将眼镜的放置描述为相对于面部坐标系的原点的偏移。一个特别有用的参考点是鼻梁点208,指的是在鼻子和额头之间形成的角度的最深中线点,或者是用户的双眼之间的“凹陷”中的最深点。可以由用户设备110和/或试穿服务器130使用用户的图像200和/或三维位置信息来识别鼻梁点208的位置。物理放置操作可以包括识别眼镜坐标系的原点,例如,眼镜的中梁308的水平中心中的最底部、最后点。
基于在执行虚拟试戴操作的设备处可用的计算资源(例如,处理能力、存储器和/或通信带宽),可以调整物理放置操作以提供不同等级的复杂度和逼真度。在一个示例中,物理放置操作可以包括(i)将眼镜坐标系和面部坐标系的原点之间的x偏移量设置为零,以及(ii)选择眼镜坐标系和面部坐标系的原点之间(例如,鼻梁点和眼镜原点之间)的固定y和z偏移量。在该示例中,可以基于眼镜架的类型(例如,醋酸纤维或金属)和/或用户的一组面部特征点的位置来选择固定的y和z偏移量。在低计算能力或低带宽的情况下,可以使用这种类型的固定y和z偏移量来为客户和眼镜的多种组合提供逼真的结果,但结果可能并非在所有情况下都是切合实际的。例如,在某些情况下,固定y和z偏移量将导致眼镜模型与面部模型之间不切实际的相交,从而使眼镜不适当地出现在面部“后面”或如图6所示的嵌入到用户的面部内。在图6的示例中,眼镜300的虚拟表示400的部分600被不适当地嵌入到用户的面部内。在其他情况下,眼镜可能看起来像是不切实际地漂浮在用户面部的前面。
为了提供更逼真的试戴体验,物理放置操作可以包括一个或多个迭代相交操作。在图7A-7D和8A-8D示出了两组迭代相交操作的示例。
图7A-7D示出了使用固定z偏移量(例如,在多个测试位置的共同的z偏移量)和可变的y偏移量的迭代相交操作,其可以用于放置具有坚硬的正面并且当佩戴时通常推到鼻梁点上方的醋酸纤维眼镜架。在图7A-7D的例子中,示出了面部坐标系中的一副眼镜的三维模型的多个测试位置,将每个测试位置在眼镜300的三维模型的原点和面部坐标的原点之间具有的x偏移量设置为零。可以选择两个原点之间(例如,鼻梁点和眼镜原点之间)的固定z偏移量(例如,基于眼镜和鼻梁点之间的预定的典型间隔来选择)。为了确定眼镜300的虚拟表示400的最终位置的最终y偏移量,可以改变y偏移量(例如,如图7A-7D所示)以生成多个测试位置,以找到导致眼镜刚与面部接触时的y偏移量的值。在图7A-7D的例子中,面部坐标系中的四个示例性的测试位置中的每个测试位置都具有沿y轴的不同的y偏移量、沿x轴的零x偏移量和沿z轴的公共z偏移量。
在图7A的示例中,已经选择了第一测试位置(例如,第一y偏移量,z偏移量为固定,x偏移量为零)。然而,在该第一测试位置中,眼镜300的三维模型部分地嵌入在用户面部的三维表示中(例如,三维位置信息),如果这样显示,则如图所示,将导致眼镜300的虚拟表示400消失在用户面部的图像中。可以通过执行相交操作来检测该嵌入(例如,通过用户设备110或试戴服务器130来检测),该相交操作包括眼镜300的三维模型和用户面部的三维表示之间的碰撞检测操作。
当检测到图7A所示的类型的嵌入的接触时,可以将眼镜300的三维模型移动到如图7B所示的新的测试位置(例如,新的y偏移量,相同的共同z偏移量,且x偏移量为零)。例如,新的测试位置可以是递增的不同的新的测试位置或眼镜300的三维模型与用户面部的三维表示之间没有接触(例如,根据在新位置进行的另一次碰撞检测操作所确定的)的新的测试位置。新的测试位置可以对应于描述初始平移增量的参数。
如图7B的例子所示,如果确定(例如,通过用户设备110或试戴服务器130确定)在眼镜300的三维模型与用户面部的三维表示之间没有接触,则可以例如使用二进制搜索操作或本领域技术人员将理解的其他搜索算法来确定另一个新的测试位置(例如,另一个新的y偏移量),以及在下一个新的测试位置执行另一个相交(例如,碰撞检测)操作。例如,在图7C示例中,新的y偏移量大约在图7B的y偏移量和零y偏移量之间的一半。然而,在图7C所示的测试位置,用户设备110或试戴服务器130可以确定在眼镜300的三维模型和用户面部的三维表示之间仍然没有接触(例如,通过在图7C的新位置执行另一次碰撞检测操作所确定的)。
物理放置操作包括以一个或多个附加y偏移量(例如,每个都是使用二进制搜索算法确定的)进行的一个或多个附加碰撞检测(相交)操作,直到识别出眼镜300的三维模型在用户面部的三维表示上的正确静止位置为止(例如,如图7D所示)。正确静止位置可以是眼镜的三维模型300在从非接触位置移动时与用户脸部的三维表示进行任何接触的第一位置。但是,在某些情况下,物理放置操作可能包括附加操作,例如,确定第一接触是否是眼镜在用户的面部将保持稳定的静止接触,或者确定该第一接触是否是不稳定的接触。
例如,如果第一接触是中梁308和用户的鼻梁点208之间的接触或鼻托310和用户的鼻子的鼻梁部分212之间的接触,则可以确定该接触是稳定的或静止的接触。然而,在某些情况下,第一接触可能是在用户面部与中梁308或鼻托310接触之前,用户面部和眼镜架302的底部314之间的接触,这可以表明是不稳定的接触(例如,这是因为眼镜很可能会掉落或滑动到中梁308或鼻托310中的至少一个与用户接触的另一位置,而无论在掉落或滑动期间或之后是否与底部314保持接触)。
如果在第一次接触之后在其他位置进行其他相交,则可以选择其他位置以避免嵌入和/或避免第一接触点的分离,直到至少另一个接触点接管眼镜相对于用户面部的位置的控制为止(例如,通过模拟沿用户面部滑动眼镜架的底部,直到鼻托或中梁与用户面部接触为止)。
图8A-8D示出了使用固定的y偏移量(例如,所有测试位置都共同的y偏移量)和可变的z偏移量的迭代相交操作,其可以用于放置具有可调节鼻托以便可更灵活的放置的金属和/或混合材料眼镜架(例如,由于在真实世界中用户可能随后调整鼻托以获得正确的y偏移量,从而可以在放置操作期间假定并保持正确的y偏移量)。在图8A-8D的例子中,面部坐标系中的四个测试位置中的每一个都沿z轴具有不同的z偏移量,沿x轴的x偏移量为零,并且沿y轴具有共同的y偏移量。
在图8A的示例中,已经选择了第一测试位置(例如,第一z偏移量,y偏移量固定,并且x偏移量为零)。然而,在该第一测试位置中,眼镜300的三维模型嵌入到了用户面部的三维表示中,如果这样显示,则如图所示,将导致眼镜300的虚拟表示400的至少一些部分消失在用户面部中。可以通过执行相交操作来检测该嵌入(例如,通过用户设备110或试戴服务器130来检测),该相交操作包括眼镜300的三维模型和用户面部的三维表示之间的碰撞检测操作。
当检测到图8A所示的类型的嵌入的接触时,可以将眼镜300的三维模型移动到如图8B所示的新的测试位置(例如,新的z偏移量)。例如,新的测试位置可以是递增的不同的新的测试位置或眼镜300的三维模型与用户面部的三维表示之间没有接触(例如,根据在新位置进行的另一次碰撞检测操作所确定的)的新的测试位置。
如图8B的例子所示,如果确定(例如,通过用户设备110或试戴服务器130确定)在眼镜300的三维模型与用户面部的三维表示之间没有接触,则可以例如使用二进制搜索算法或本领域技术人员将理解的其他搜索算法来确定另一个新的测试位置(例如,另一个新的z偏移量),以及在下一个新的测试位置执行另一个相交(例如,碰撞检测)操作。例如,在图8C示例中,新的z偏移量大约在图8B的z偏移量和零z偏移量之间的一半。然而,在图8C所示的测试位置,用户设备110或试戴服务器130可以确定在眼镜300的三维模型和用户面部的三维表示之间仍然没有接触(例如,通过在图8C的新的测试位置执行另一次碰撞检测操作所确定的)。
物理放置操作包括以一个或多个附加z偏移量(例如,每个都是使用二进制搜索算法确定的)进行的一个或多个附加碰撞检测(相交)操作,直到识别出眼镜300的三维模型在用户面部的三维表示上的正确静止位置为止(例如,如图8D所示)。正确静止位置可以是眼镜300的三维模型在从非接触位置移动时与用户脸部的三维表示进行任何接触的位置。但是,在某些情况下,物理放置操作可能包括附加操作,例如,确定第一接触是否是眼镜在用户的面部将保持稳定的静止接触,或者确定该第一接触是否是不稳定的接触。
在图7D和8D的示例中,因为眼镜模型被精确地定位成与面部模型接触,所以当将虚拟表示400叠加在图像200上时,它们之间将不会有不真实的相交。应当理解,尽管分别示出了图7A-7D和8A-8D的单独的y和z的变化,但是在某些情况下,可以在面部坐标系的x、y和/或z方向上,通过眼镜的三维模型的测试位置的变化来执行迭代相交操作。
在一些试戴操作中,可以执行高逼真度位置改进操作,其中,将眼镜300的附加特征(例如,眼镜架302的质量、柔性、材料和/或其他特征,和/或镜片304的质量、放大倍数和/或其他属性),和/或用户的其他特征(例如,用户皮肤的弹性、用户头部的倾斜角度、各种面部特征的相对投影距离)加入到三维模型和/或相交操作中,以确定最终位置。例如,可以首先建立眼镜架302或用户的皮肤没有任何变形的静止接触位置(例如,使用以上结合图7A-7D和8A-8D所述的过程来建立),随后进行高逼真度位置增强操作,其中加入了重力及其方向以及眼镜架质量和柔性和/或用户皮肤的柔韧性,以确定了改进的静止位置。
例如,图9示出了在接触位置904处与用户皮肤的一部分902静止接触的眼镜300的一部分900的截面图。部分900可以表示中梁308的一部分,其与表示用户鼻子的一部分的部分902接触,以使得接触位置904位于或靠近鼻梁点208。在另一个示例中,部分900可以表示眼镜架302底部314的一部分,其与表示用户面部的颧骨部分214的部分902接触,其中,眼镜架还在一个或多个其他位置抵靠在用户的面部和/或头部上。在某些情况下,图9中示出的静止接触布置可以用作眼镜300的三维模型的最终位置,以显示虚拟表示400。但是,在高逼真度位置增强操作中,可以确定在真实世界中重力可能会将部分900压入到用户皮肤的部分902中。
例如,如图10所示,用户设备110和/或试戴服务器130可以确定重力的方向1000、眼镜300的质量、用户皮肤的部分902的轮廓形状1004以及用户皮肤的柔韧性,从而确定由于眼镜的重量而将发生的部分902的一部分或全部的压缩1006。可以修改图像200和/或眼镜300的虚拟表示400的位置,以向用户指示该特定的一副眼镜将发生压缩1006。
这些高逼真度操作还可用于模拟眼镜相对于用户的面部或头部的运动(例如,由于松动和头部倾斜、由于用户头部的来回运动或上下运动、由于重力导致的眼镜架沿用户鼻子向下滑动、用户的手调整虚拟代表的位置,等等),以当用户佩戴特定的一副眼镜时,向用户提供更多有关该眼镜会适合和/或表现良好的信息。
图11示出了根据一个或多个实施方式的虚拟眼镜试戴的示例性过程的流程图。为了解释说明的目的,在此主要参考图1和2的一个或多个设备(特别是参考试戴服务器130和/或用户设备110),来描述可以由图1的服务器130和/或用户设备110中的一个或多个执行的图11的进程。然而,图11的过程不限于由服务器130和/或用户设备110执行,并且该过程的一个或多个框(或操作)可以由其他合适的设备的一个或多个其他部件来执行。进一步为了解释说明的目的,在此将图11的过程的框描述为顺序地或线性地发生。然而,图11的过程的多个框可以并行发生。另外,图11的过程的框不需要以所示的顺序执行和/或图11的过程的一个或多个框不需要执行和/或可以由其他操作代替。
在框1100,可以获得用户的图像。例如,可以使用照相机(例如,用户设备110的照相机205)来捕获图像(例如,图2的图像200)。
在框1102,可以获得用户的三维位置信息。例如,三维位置信息可以包括如本文所述的测量点绝对三维位置211、基于测量点绝对三维位置211的用户的三维模型213、和/或面部特征点绝对位置215。例如,可以使用附加传感器(例如,传感器209)和/或光源(例如,光源207)来获得三维位置信息(参见例如图2和图13)。
在框1104,获得眼镜(例如,眼镜300)的三维模型。眼镜的三维模型可以从模型数据库(例如,图1的数据库142之一)中获得,每个模型对应于一副现实世界的眼镜,模型存储在试戴服务器130或另一台服务器。获得眼镜的三维模型可以包括将眼镜的三维模型从服务器下载到用户设备110(例如,如果在用户设备上执行试戴操作)。
在框1106,基于图像、用户的三维位置信息和/或眼镜的三维模型,确定眼镜的数字表示的位置和/或方向。确定眼镜的数字表示的位置和/或方向可以包括执行如上文结合例如图7A-7D和8A-8D所述的以及如下文结合图12进一步详细描述的物理放置操作。物理放置操作可以包括一个或多个迭代碰撞检测(相交)和二进制位置搜索操作的组合,并且可以包括一个或多个高逼真度位置改进操作。
在框1108,基于图像、用户的三维位置信息和/或眼镜的三维模型,确定眼镜的虚拟表示的尺寸。确定的尺寸可以是图像像素中的像素尺寸,其准确地对应于眼镜相对于用户面部的真实尺寸。例如,确定尺寸可以包括:使用三维位置信息来确定用户面部的物理尺寸;使用图像和确定的物理尺寸来确定图像像素中的用户面部的尺寸;使用确定的物理尺寸和图像像素中的用户面部的尺寸来确定图像中每个图像像素的像素尺寸;以及基于眼镜的已知尺寸和确定的像素尺寸,确定所确定位置和/或方向的眼镜的虚拟表示的尺寸(例如,像素中的尺寸)。
在框1110,显示组合图像,其中,例如,如图4所示,将具有确定的尺寸、位置和/或方向的眼镜的虚拟表示叠加在用户的图像上以进行显示(例如,使用用户设备110的显示器201进行显示)。
图12示出了根据一个或多个实施方式的如结合图11的框1108描述的确定眼镜的虚拟表示的位置和/或方向的示例性过程的流程图。为了解释说明的目的,在此主要参考图1和2的一个或多个设备(特别是参考试戴服务器130和/或用户设备110),来描述可以由服务器130和/或用户设备110中的一个或多个处理器执行的图12的过程。然而,图12的过程不限于由服务器130和/或用户设备110执行,并且该过程的一个或多个框(或操作)可以由其他合适的设备的一个或多个其他部件来执行。进一步为了解释说明的目的,在此将图12的过程的框描述为顺序的或线性的发生。然而,图12的过程的多个框可以并行发生。另外,图12的过程的框不需要以所示的顺序执行和/或图12的过程的一个或多个框不需要执行和/或可以用其他操作代替。
在框1200,识别眼镜的三维模型相对于用户的三维位置信息的初始位置(例如,初始测试位置)。如上文结合图7A或8A所述,初始位置可以具有零x偏移量和固定的y或z偏移量。
在框1202,用户设备110和/或试戴服务器130确定眼镜的三维模型是否与用户的三维位置信息相交。确定眼镜的三维模型是否与用户的三维位置信息相交可以包括:执行眼镜的三维模型和用户的三维位置信息之间的碰撞检测操作(例如,通过确定眼镜的三维模型在初始位置是否与测量位置211、三维模型213或面部特征点位置215中的任何一个相交,来执行所述碰撞检测操作)。
如果确定不存在相交(例如,在图像200中,眼镜的虚拟表示看起来漂浮着远离用户的面部),则在框1204,可以确定眼镜的三维模型的新的测试位置(在面部坐标系中)。确定新的测试位置可以包括:执行二进制位置搜索操作,将眼镜的三维模型朝着面部坐标系的原点递增地移动,或者以其他方式确定新的测试位置(例如,伪随机地确定)。在识别了新的测试位置之后,可以以新的测试位置重复框1202的操作。
如果确定(在框1204)眼镜的三维模型与用户的三维位置信息相交,则在框1206,用户设备110和/或试戴服务器130确定相交是接触相交(例如,如图7D,8D和9所示)还是嵌入相交(例如,如图6、7A和8A所示)。可以通过检测单个接触点或通过确定所有接触点都位于两个模型的外边缘来确定接触相交(作为示例)。可以通过确定三维模型中的一个的内部点与另一模型的一部分接触来确定嵌入相交。
如果确定(在框1206)相交是嵌入相交(例如,如图6、7A和8A所示),则在框1208,可以确定眼镜的三维模型的新的测试位置(在面部坐标系中)。确定新的测试位置可以包括:执行二进制位置搜索操作,将眼镜的三维模型朝着面部坐标系的原点递增地移动,或者以其他方式确定新的测试位置(例如,伪随机地确定)。在框1208识别了新的测试位置之后,可以以新的测试位置重复框1202的操作。
如果确定(在框1206)相交是接触相交(例如,如图7D、8D和9所示),则用户设备110和/或试戴服务器130可以直接进行到框1214,并将当前测试位置标识为最终位置以在框1110进行显示,或者在框1210,用户设备110和/或试戴服务器130可以确定接触位置是否为静止接触位置(例如,或不稳定的接触位置)。例如,接触相交可以包括中梁308和用户的鼻梁点208之间的接触或者鼻托310和用户的鼻子的鼻梁部分212之间的接触,在这种情况下,可以确定该接触是稳定的或静止接触。在其他示例中,接触相交可以是与中梁308或鼻托310接触之前,眼镜架302的底部314之间的接触,这可以表明是不稳定的接触。
如果在框1210确定接触相交不是静止相交,则用户设备110和/或试戴服务器130可以返回到框1204,在框1204,确定眼镜的三维模型的新的测试位置(在面部坐标系中)。如果在框1206检测到接触相交之后使用其他测试位置,则可以使用二进制搜索或其他预接触算法来选择其他测试位置,或者可以选择其他测试位置以避免接触相交的接触点的嵌入和/或分离,直到至少一个其他接触点主要控制眼镜相对于用户面部的位置为止(例如,通过虚拟的沿用户面部滑动眼镜架的底部,直到鼻托或中梁与用户面部接触为止)。在识别了新的测试位置之后,可以以新的测试位置重复框1202、1206和1210的操作,或者如果已经选择了新的测试位置来保持接触并避免嵌入,则用户设备110和/或试戴服务器130可以带着新的测试位置直接返回到框1210。
如果确定(在框1210)相交是接触相交(例如,如图7D、8D和9所示),则用户设备110和/或试戴服务器130可以直接进行到框1214,并将当前测试位置标识为最终位置以在框1110进行显示,或者在框1212,用户设备110和/或试戴服务器130可以执行高逼真度放置改进操作(例如,如上文结合图10所描述的)。
在框1210,可以将眼镜的三维模型在面部坐标系中的当前位置和方向标识为在框1110进行显示的虚拟表示400的最终位置(例如,如上文图4的在示例中所示)。
尽管在此将各种示例描述为在如图5所示的面部坐标系中执行,但是应当理解,可以在任何坐标系中(例如,在眼镜坐标系或另一个坐标系中)执行各种物理放置操作中的任何一个。
以上结合例如图1、2、11和12进行了描述,用户设备110和/或试戴服务器130可以获得、生成和/或存储捕获的图像200中的用户的测量点绝对三维位置211、基于测量点绝对三维位置211的用户的三维模型213、和/或面部特征点绝对位置215。图13、14和15分别示出了测量点绝对三维位置211、基于测量点绝对三维位置211的用户的三维模型213和面部特征点绝对位置215。
图13示出了用户设备110可以如何(例如,使用光源207)产生多个光束,例如,在图1的三维传感器209的一种示例性实施方式中,从用户面部上的各个入射位置1302反射的红外光束1300。每个光束1300在入射位置1302处产生光斑,光斑的尺寸和畸变由到该位置的距离和该位置的表面的形状确定。使用光束1300的已知光束尺寸以及由传感器209(在该示例中实现为红外传感器)捕获的光斑的红外图像,可以确定到每个入射位置1302的距离。每个入射位置1302可以表示测量点绝对三维位置211。
图14示出了基于测量点绝对三维位置211的用户的三维模型213的二维渲染1400(例如,在捕获图像200时进行所述渲染)。可以通过绘制由参考点和/或连接定义模型的参考点的数学函数定义的点和/或线来生成渲染1400。无论是否曾经对模型进行了渲染以供查看,都可以通过存储参考点、数学函数、数学函数的参数值和/或其他模型数据来存储模型。在无需渲染任何一个模型的情况下,模型本身都可以与眼镜300的三维模型相交。
图15示出了各种面部特征点绝对位置215的表示1500。面部特征点绝对位置215可以是在各个面部特征点处选择的测量点绝对三维位置211的子集,可以通过对两个或更多个测量点绝对三维位置211进行平均或内插得到,或者可以从三维模型213导出或提取。在直接从测量点绝对三维位置211导出面部特征点绝对位置215(例如,通过平均、内插或其他组合)的某些情况下,可以基于将面部特征点绝对位置215作为输入数据点来生成三维模型213。可以确定面部特征点的绝对三维位置,所述面部特征点包括但不限于:鼻梁点、内眦点、外眦点、耳屏点、颧点、耳根上点、眼眶上点、眼睑上点、眼睑下点、瞳孔中心、眉间、前额颞叶、颌前额叶、眼眶、耳屏点、鼻根、鼻突点和下巴。
硬件概述
图16是示出示例性计算机系统1600的框图,可以利用计算机系统1600实现图1的用户设备110、试戴服务器130和/或第三方服务器140。在某些方面,可以使用硬件或软件和硬件的组合,在专用服务器中实现计算机系统1600,或者将计算机系统1600集成到另一实体中或分布到多个实体中。
计算机系统1600包括用于传送信息的总线1608或其他通信机制,以及与总线1608耦合以处理信息的处理器1602。举例来说,计算机系统1600可以用一个或多个处理器1602来实现。处理器1602可以是通用微处理器、微控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑设备(PLD)、控制器、状态机、门控逻辑、离散硬件组件或可以执行信息的计算或其他操作的任何其他合适的实体。
除了硬件之外,计算机系统1600还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或上述中的一个或多个的组合的代码,代码存储在所包括的存储器中,例如,随机存取存储器(RAM)、闪存、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除PROM(EPROM)、寄存器、硬盘、可移动磁盘、CD-ROM、DVD或耦合到总线1608以存储将由处理器1602执行的信息和指令的任何其他合适的存储设备。处理器1602和存储器1604可以由专用逻辑电路补充或可以合并到专用逻辑电路中。
指令可以存储在存储器1604中并且可以在一个或多个计算机程序产品中实现,计算机程序产品即在计算机可读介质上编码以由计算机系统1600执行或控制计算机系统1600的操作的计算机程序指令的一个或多个模块,并且根据本领域技术人员众所周知的任何方法,包括但不限于计算机语言,例如,面向数据的语言(例如,SQL,dBase)、系统语言(例如,C,Objective-C,C++,Assembly)、架构语言(例如Java,.NET)和应用程序语言(例如PHP,Ruby,Perl,Python)。指令也可以用计算机语言来实现,例如,数组语言、面向方面的语言、汇编语言、创作语言、命令行界面语言、编译语言、并发语言、花括号语言、数据流语言、数据结构化语言、声明性语言、深奥语言、扩展语言、第四代语言、功能语言、交互模式语言、解释语言、迭代语言、基于列表的语言、小语言、基于逻辑的语言、机器语言、宏语言、元编程语言、多范式语言、数值分析、非英语语言、面向对象的基于类的语言、面向对象的基于原型的语言、越位规则语言、过程语言、反射语言、基于规则的语言、脚本语言、基于堆栈的语言、同步语言、语法处理语言、视觉语言、wirth语言和基于xml的语言。存储器1604还可用于在执行要由处理器1602执行的指令期间存储临时变量或其他中间信息。
如本文所讨论的计算机程序不一定对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本)、专用于所讨论程序的单个文件或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。可以将计算机程序部署为在一台计算机上执行,或者在位于一个站点上或分布在多个站点上并通过通信网络互连的多台计算机上执行。本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序以通过对输入数据进行操作并生成输出数据来执行功能的一个或多个可编程处理器来执行。
计算机系统1600还包括耦合到总线1608的用于存储信息和指令的数据存储设备1606,例如,磁盘或光盘。计算机系统1600可以经由输入/输出模块1610耦合到各种设备。输入/输出模块1610可以是任何输入/输出模块。示例性的输入/输出模块1610包括数据端口(例如,USB端口)。输入/输出模块1610被配置为连接到通信模块1612。示例性的通信模块1612包括网络接口卡(例如,以太网卡和调制解调器)。在某些方面,输入/输出模块1610被配置为连接到多个设备,例如,输入设备1614和/或输出设备1616。示例性输入设备1614包括键盘和指示设备(例如,鼠标或跟踪球),用户可以通过输入设备向计算机系统1600提供输入。其他种类的输入设备1614也可以用于与用户互动,例如,触觉输入设备、视觉输入设备、音频输入设备或脑机接口设备。例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音、触觉或脑电波输入。示例性的输出设备1616包括用于向用户显示信息的显示设备,例如,LCD(液晶显示器)或发光二极管(LED)显示器。
根据本公开的一方面,响应于处理器1602执行包含在存储器1604中的一个或多个指令的一个或多个序列,可以使用计算机系统1600来实现用户设备110、试戴服务器130和/或第三方服务器140。可以从另一个机器可读介质(例如,数据存储设备1606)将该指令读入到存储器1604中。执行包含在主存储器1604中的指令序列使处理器1602执行本文描述的处理步骤。也可以采用多处理布置中的一个或多个处理器来执行包含在存储器1604中的指令序列。在替代方面,可以使用硬连线电路代替软件指令或与软件指令结合来实现本公开的各个方面。因此,本公开的方面不限于硬件电路和软件的任何特定组合。
本说明书中描述的主题的各个方面可以在包括后端组件(例如,作为数据服务器)、或包括中间件组件(例如,应用服务器)、或包括前端组件(例如,具有图形用户界面或Web浏览器的客户端计算机,用户可以通过该图形用户界面或Web浏览器与本说明书描述的主题的实施方式进行交互),或者包括一个或多个上述后端、中间件或前端组件的任意组合的计算系统中实现。系统的组件可以通过任何形式或通过数字数据通信的介质(例如,通信网络)互连。通信网络(例如,网络150)可以包括例如LAN、WAN、因特网等中的任何一个或多个。此外,通信网络可以包括但不限于例如以下任何一种或多种网络拓扑,包括总线网络、星形网络、环形网络、网状网络、星形总线网络、树或分层网络等。通信模块可以是例如调制解调器或以太网卡。
计算机系统1600可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系是通过在各自计算机上运行并彼此具有客户端-服务器关系的计算机程序产生的。计算机系统1600可以是例如但不限于台式计算机、膝上型计算机或平板计算机。计算机系统1600也可以嵌入在另一设备中,例如但不限于,移动电话、PDA、移动音频播放器、全球定位系统(GPS)接收器、视频游戏机和/或电视机顶盒。
如本文所使用的,术语“机器可读存储介质”或“计算机可读介质”是指参与向处理器1602提供指令以供执行的任何一种或多种介质。这样的介质可以采取许多形式,包括但不限于非易失性介质、易失性介质和传输介质。非易失性介质包括例如光盘或磁盘,例如数据存储设备1606。易失性介质包括动态存储器,例如存储器1604。传输介质包括同轴电缆、铜线和光纤,包括包含总线1608的电线。机器可读介质的常见形式包括,例如,软盘、软磁盘、硬盘、磁带、任何其他磁介质、CD-ROM、DVD、任何其他光学介质、打孔卡、纸带、具有孔模式的任何其他物理介质、RAM、PROM、EPROM、FLASH EPROM,任何其他存储芯片或盒式磁带,或计算机可以从中读取的任何其他介质。机器可读存储介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质组成或它们中的一个或多个的组合。
如本文中所使用的,在一系列项目之前的短语“至少一个”,用术语“和”或“或”来分隔任何一个项目,是将列表限定为整体,而不是列表中的每个成员(即每个项目)。短语“…中的至少一个”不是要求选择至少一项;相反,该短语的含义是包括任何一个项目中的至少一个,和/或项目的任何组合的至少一个,和/或每个项目中的至少一个。举例来说,短语“A,B和C中的至少一个”或“A,B或C中的至少一个”分别指仅A、仅B或仅C;A、B和C的任意组合;和/或A、B和C中每一个的至少一个。
在说明书或权利要求书中使用术语“包括”、“具有”等术语的范围内,该术语旨在以与术语“包含”相似的方式包括在内,当其在权利要求中用作过渡词时,解释为“包含”。词语“示例性”在本文中用来表示“用作示例、实例或举例说明”。不必将本文中描述为“示例性”的任何实施例解释为比其他实施例优选或有利。
除非特别指出,否则单数形式的元件并非旨在表示“一个且仅一个”,而是“一个或多个”。本领域普通技术人员已知或以后将知道的,贯穿本公开内容所描述的各种配置的元件的所有结构和功能等同物均通过引用明确地并入本文,并且意在被本主题技术涵盖。此外,无论在上面的描述中是否明确陈述了该公开,本文所公开的任何内容均不旨在奉献给公众。
虽然本说明书包含许多细节,但是这些细节不应被解释为对所要求保护的范围的限制,而应被解释为对本主题的特定实施方式的描述。在单独的实施例的上下文中,在本说明书中描述的某些特征也可以在单个实施例中组合地实现。相反,在单个实施例的上下文中描述的各个特征也可以分别在多个实施例中或以任何合适的子组合来实现。而且,尽管上文可以将特征描述为以某些组合起作用并且甚至最初如此声称,但是在某些情况下,可以从要求保护的组合中删除一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变型。
已经根据特定方面描述了本说明书的主题,但是可以实现其他方面并且包括在所附权利要求的范围内。例如,虽然在附图中以特定顺序描述了操作,但是这不应理解为要求以所示的特定顺序或以连续的顺序执行该操作,或者执行所有示出的操作以实现期望的结果。可以以不同的顺序执行权利要求中记载的操作,并且仍然实现期望的结果。作为一个示例,附图中描述的过程不一定需要按照所示的特定顺序或连续顺序来实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述方面中的各个系统组件的分离不应理解为在所有方面中都需要这种分离,并且应当理解,通常可以将描述的程序组件和系统一起集成到单个软件产品中或打包成多个软件产品。其他变型在所附权利要求的范围内。
Claims (23)
1.一种计算机实施的方法,所述方法包括:
利用电子设备的照相机捕获用户的面部的图像;
使用所述电子设备的传感器获得所述用户的三维位置信息;
获得一副眼镜的三维模型;
基于所述图像和所述三维位置信息,确定所述眼镜的虚拟表示的位置;
基于所述图像和所述三维位置信息,确定所述眼镜的虚拟表示的尺寸;以及
利用所述电子设备的显示器显示组合图像,所述组合图像包括所述用户的图像和具有确定的尺寸和确定的位置的所述眼镜的虚拟表示。
2.根据权利要求1所述的计算机实施的方法,其中,分别确定所述眼镜的虚拟表示的尺寸和位置,以准确地表示所述组合图像中的所述眼镜的尺寸和所述眼镜的位置,就如同如果将所述眼镜物理地放置在所述用户的面部所述眼镜将呈现的效果。
3.根据权利要求2所述的计算机实施的方法,其中,确定所述尺寸包括:
使用所述三维位置信息,确定所述用户的面部的物理尺寸;
使用所述图像和确定的物理尺寸,确定图像像素中的所述用户的面部的尺寸;
使用所述确定的物理尺寸和所述图像像素中的所述用户的面部的尺寸,确定所述图像中每个图像像素的像素尺寸;以及
基于所述眼镜的已知尺寸和确定的像素尺寸,确定所述眼镜的虚拟表示的尺寸。
4.根据权利要求3所述的计算机实施的方法,其中,确定所述眼镜的虚拟表示的位置包括:将所述眼镜的三维模型与所述用户的三维位置信息相交。
5.根据权利要求4所述的计算机实施的方法,其中,所述相交包括在所述眼镜的三维模型与所述用户的三维位置信息之间执行至少一次碰撞检测操作。
6.根据权利要求5所述的计算机实施的方法,其中,执行至少一次碰撞检测操作包括:在所述眼镜的三维模型的相应的多个位置处,在所述眼镜的三维模型和所述用户的三维位置信息之间迭代地执行多次碰撞检测操作。
7.根据权利要求6所述的计算机实施的方法,其中,迭代地执行多次碰撞检测操作包括:使用二进制搜索操作来迭代地确定所述多个位置。
8.根据权利要求5所述的计算机实施的方法,其中,所述用户的三维位置信息包括以下项中的至少一个:多个测量点绝对三维位置、所述用户的三维模型以及多个面部特征点绝对位置。
9.根据权利要求8所述的计算机实施的方法,其中,所述传感器包括附加照相机,所述方法还包括:
利用所述电子设备的光源产生多个光束,所述多个光束中的至少一些光束对准所述用户的面部;以及
当至少一些光束对准所述用户的面部时,使用所述附加照相机捕获第二图像。
10.根据权利要求9所述的计算机实施的方法,进一步包括:基于捕获的第二图像中的至少一些光束的反射,确定所述多个测量点绝对三维位置。
11.根据权利要求1所述的计算机实施的方法,其中,所述传感器包括附加照相机,所述方法还包括:
使用所述附加照相机捕获所述用户的附加图像;以及
基于所述照相机和所述附加照相机之间的已知距离以及所述图像和所述附加图像之间的视差效果,生成所述用户的三维位置信息。
12.根据权利要求1所述的计算机实施的方法,其中,所述传感器包括飞行时间传感器、激光测距仪、运动传感器、接近传感器、结构化光传感器和附加照相机中的至少一个。
13.一种计算机实施的方法,所述方法包括:
捕获用户的面部的图像;
在捕获所述图像时获得所述用户的三维模型;
获得一副眼镜的三维模型;
基于所述图像、捕获所述图像时获得的所述用户的三维模型以及所述一副眼镜的三维模型,确定所述眼镜的虚拟表示的尺寸和位置;以及
显示叠加在所述用户的面部的图像上的具有确定的尺寸和确定的位置的所述眼镜的虚拟表示。
14.根据权利要求13所述的计算机实施的方法,其中,确定所述虚拟表示的位置包括:在所述用户的三维模型与所述一副眼镜的三维模型之间执行多次碰撞检测操作,其中,所述一副眼镜的三维模型在面部坐标系中的多个测试位置处具有在所述用户的三维模型上的面部特征点的原点。
15.根据权利要求14所述的计算机实施的方法,其中:
所述面部坐标系的原点是在捕获所述图像时获得的所述用户的三维模型的鼻梁点;
所述面部坐标系的x轴在捕获所述图像时获得的所述用户的三维模型的左侧和右侧之间延伸,其中,正x轴从所述原点向在捕获所述图像时获得的所述用户的三维模型的左侧延伸;
所述面部坐标系的y轴与所述x轴正交并在捕获所述图像时获得的所述用户的三维模型的顶部和底部之间延伸,其中,正y轴从所述原点向在捕获所述图像时获得的所述用户的三维模型的顶部延伸;以及
z轴与x轴和y轴正交并在捕获所述图像时获得的所述用户的三维模型的前面和背面之间延伸,其中,正z轴从所述原点向在捕获所述图像时获得的所述用户的三维模型的前面延伸。
16.根据权利要求15所述的计算机实施的方法,其中,所述面部坐标系中的所述多个测试位置中的每一个都具有沿着y轴的不同的y偏移量、沿着x轴的零x偏移量以及沿着z轴的共同z偏移量。
17.根据权利要求16所述的计算机实施的方法,其中,所述眼镜包括醋酸纤维眼镜架。
18.根据权利要求15所述的计算机实施的方法,其中,所述面部坐标系中的所述多个测试位置中的每个都具有沿着z轴的不同的z偏移量、沿着x轴的零x偏移量以及沿着y轴的共同y偏移量。
19.根据权利要求18所述的计算机实施的方法,其中,所述眼镜包括金属框架,所述金属框架具有在从所述金属框架延伸的可调节臂上的鼻托。
20.根据权利要求14所述的计算机实施的方法,其中,所述多个测试位置包括至少一个测试位置,在所述至少一个测试位置处,在捕获所述图像时获得的所述用户的三维模型不与所述一副眼镜的三维模型接触,并且其中,确定所述虚拟表示的位置包括:朝着所述面部坐标系的原点迭代地移动所述测试位置并执行多次碰撞检测操作,直到检测到在捕获所述图像时获得的所述用户的三维模型和所述一幅眼镜的三维模型之间的第一接触为止。
21.根据权利要求13所述的计算机实施的方法,还包括在服务器存储多副眼镜的三维模型。
22.根据权利要求21所述的计算机实施的方法,还包括:
基于所述用户的三维模型和所述眼镜的三维模型,确定所述眼镜对于所述用户尺寸有误;
基于所述用户的三维模型,识别不同的另一幅眼镜;以及
为所识别的不同的另一幅眼镜提供建议。
23.一种系统,所述系统包括:
服务器,所述服务器具有存储多副眼镜的三维模型的数据库;以及
用户的用户设备,其中,所述用户设备包括存储代码的存储器,所述代码在由所述用户设备的处理器执行时使所述处理器:
捕获所述用户的面部的图像;
获得所述用户的三维模型;
从所述服务器获得所述多副眼镜中的所选择的一副眼镜的三维模型;
基于所述图像、所述用户的三维模型以及所选择的一副眼镜的三维模型,确定所选择的一副眼镜的虚拟表示的尺寸和位置;以及
提供叠加在所述用户的面部的图像上的具有确定的尺寸和在确定的位置处的所选择的一副眼镜的虚拟表示,以用于显示。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/239745 | 2019-01-04 | ||
US16/239,745 US10825260B2 (en) | 2019-01-04 | 2019-01-04 | Virtual try-on systems and methods for spectacles |
PCT/US2019/068200 WO2020142295A1 (en) | 2019-01-04 | 2019-12-21 | Virtual try-on systems and methods for spectacles |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113168733A true CN113168733A (zh) | 2021-07-23 |
CN113168733B CN113168733B (zh) | 2023-07-28 |
Family
ID=69374370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980062191.5A Active CN113168733B (zh) | 2019-01-04 | 2019-12-21 | 一种眼镜虚拟试戴系统和方法 |
Country Status (11)
Country | Link |
---|---|
US (3) | US10825260B2 (zh) |
EP (1) | EP3830799A1 (zh) |
JP (1) | JP7109655B2 (zh) |
KR (2) | KR20220066991A (zh) |
CN (1) | CN113168733B (zh) |
AU (2) | AU2019419376B2 (zh) |
CA (1) | CA3112222A1 (zh) |
IL (1) | IL281827B1 (zh) |
MX (2) | MX2021002233A (zh) |
TW (1) | TWI755671B (zh) |
WO (1) | WO2020142295A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114581635A (zh) * | 2022-03-03 | 2022-06-03 | 上海涞秋医疗科技有限责任公司 | 一种基于HoloLens眼镜的定位方法及系统 |
CN115981467A (zh) * | 2022-12-27 | 2023-04-18 | 北京字跳网络技术有限公司 | 一种图像合成参数确定方法、图像合成方法及装置 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10825260B2 (en) * | 2019-01-04 | 2020-11-03 | Jand, Inc. | Virtual try-on systems and methods for spectacles |
US10866716B2 (en) * | 2019-04-04 | 2020-12-15 | Wheesearch, Inc. | System and method for providing highly personalized information regarding products and services |
CA3179919A1 (en) | 2020-04-15 | 2021-10-21 | Warby Parker Inc. | Virtual try-on systems for spectacles using reference frames |
CN112328084A (zh) * | 2020-11-12 | 2021-02-05 | 北京态璞信息科技有限公司 | 一种三维虚拟眼镜的定位方法、装置及电子设备 |
EP4006628A1 (de) * | 2020-11-27 | 2022-06-01 | Fielmann Ventures GmbH | Computerimplementiertes verfahren zum bereitstellen und platzieren einer brille sowie zur zentrierung von gläsern der brille |
GB202100314D0 (en) * | 2021-01-11 | 2021-02-24 | Cubitts Kx Ltd | Frame adjustment systems |
US11439257B1 (en) * | 2021-02-24 | 2022-09-13 | Richard H. Weiland, JR. | Photographic mirror assembly |
TWI770874B (zh) | 2021-03-15 | 2022-07-11 | 楷思諾科技服務有限公司 | 使用點擊及捲動以顯示模擬影像之方法 |
US20220300728A1 (en) * | 2021-03-22 | 2022-09-22 | Snap Inc. | True size eyewear experience in real time |
US11562548B2 (en) * | 2021-03-22 | 2023-01-24 | Snap Inc. | True size eyewear in real time |
IL309234A (en) * | 2021-06-10 | 2024-02-01 | Eyesmatch Ltd | System and method for digital measurements of subjects |
FR3124069A1 (fr) * | 2021-06-18 | 2022-12-23 | Acep France | Procédé d’essayage de lunettes virtuelles |
FR3124070B1 (fr) * | 2021-06-18 | 2023-05-19 | Acep France | Procédé de simulation de produits optiques |
DE102021129171B3 (de) * | 2021-11-09 | 2023-04-06 | YOU MAWO GmbH | Verfahren, system und computerprogramm zur virtuellen voraussage eines realen sitzes eines realen brillengestells am kopf einer person mit individueller kopfgeometrie |
JP7095849B1 (ja) * | 2021-11-26 | 2022-07-05 | アイジャパン株式会社 | アイウェア仮想試着システム、アイウェア選定システム、アイウェア試着システムおよびアイウェア分類システム |
US20240005387A1 (en) * | 2022-07-01 | 2024-01-04 | Warby Parker Inc. | Systems and methods for spectacle removal and virtual try-on |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130088490A1 (en) * | 2011-04-04 | 2013-04-11 | Aaron Rasmussen | Method for eyewear fitting, recommendation, and customization using collision detection |
CN104408764A (zh) * | 2014-11-07 | 2015-03-11 | 成都好视界眼镜有限公司 | 眼镜虚拟试戴方法、装置及系统 |
CN104809638A (zh) * | 2015-05-20 | 2015-07-29 | 成都通甲优博科技有限责任公司 | 一种基于移动终端的眼镜虚拟试戴方法和系统 |
CN107330969A (zh) * | 2017-06-07 | 2017-11-07 | 深圳市易尚展示股份有限公司 | 眼镜虚拟三维试戴方法和眼镜虚拟三维试戴系统 |
CN107408315A (zh) * | 2015-02-23 | 2017-11-28 | Fittingbox公司 | 用于实时、物理准确且逼真的眼镜试戴的流程和方法 |
US20180336737A1 (en) * | 2017-05-17 | 2018-11-22 | Bespoke, Inc. d/b/a Topology Eyewear | Systems and methods for determining the scale of human anatomy from images |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3948202B2 (ja) * | 2000-10-03 | 2007-07-25 | 松下電工株式会社 | 避難仮想体験システム |
US7016824B2 (en) * | 2001-02-06 | 2006-03-21 | Geometrix, Inc. | Interactive try-on platform for eyeglasses |
US20110071804A1 (en) * | 2007-02-21 | 2011-03-24 | Yiling Xie | Method And The Associated Mechanism For 3-D Simulation Stored-Image Database-Driven Spectacle Frame Fitting Services Over Public Network |
JP4793451B2 (ja) * | 2009-01-21 | 2011-10-12 | ソニー株式会社 | 信号処理装置、画像表示装置、信号処理方法およびコンピュータプログラム |
TWI433049B (zh) * | 2011-04-07 | 2014-04-01 | Claridy Solutions Inc | 眼鏡虛擬試戴互動服務系統與方法 |
EP2828834B1 (fr) | 2012-03-19 | 2019-11-06 | Fittingbox | Modèle et procédé de production de modèles 3d photo-réalistes |
US9286715B2 (en) * | 2012-05-23 | 2016-03-15 | Glasses.Com Inc. | Systems and methods for adjusting a virtual try-on |
US20130335416A1 (en) * | 2012-05-23 | 2013-12-19 | 1-800 Contacts, Inc. | Systems and methods for generating a 3-d model of a virtual try-on product |
CA2921938C (en) * | 2013-08-22 | 2016-12-20 | Bespoke, Inc. | Method and system to create custom, user-specific eyewear |
US9996899B2 (en) * | 2014-05-08 | 2018-06-12 | Glasses.Com Inc. | Systems and methods for scaling an object |
CN104217350B (zh) * | 2014-06-17 | 2017-03-22 | 北京京东尚科信息技术有限公司 | 实现虚拟试戴的方法和装置 |
US9817248B2 (en) * | 2014-12-23 | 2017-11-14 | Multimedia Image Solution Limited | Method of virtually trying on eyeglasses |
US10244175B2 (en) * | 2015-03-09 | 2019-03-26 | Apple Inc. | Automatic cropping of video content |
WO2017169612A1 (ja) | 2016-03-31 | 2017-10-05 | 富士フイルム株式会社 | 導電性積層体の製造方法、積層体および導電性積層体 |
FR3053509B1 (fr) | 2016-06-30 | 2019-08-16 | Fittingbox | Procede d’occultation d’un objet dans une image ou une video et procede de realite augmentee associe |
US9990780B2 (en) * | 2016-10-03 | 2018-06-05 | Ditto Technologies, Inc. | Using computed facial feature points to position a product model relative to a model of a face |
WO2018106242A1 (en) * | 2016-12-08 | 2018-06-14 | Perfect Vision Technology (Hk) Ltd. | Methods and systems for measuring human faces for fitting, selecting, and optimizing eyeglasses |
EP3410178A1 (de) | 2017-06-01 | 2018-12-05 | Carl Zeiss Vision International GmbH | Verfahren, vorrichtung und computerprogramm zum virtuellen anpassen einer brillenfassung |
CN109583285B (zh) * | 2017-09-29 | 2023-03-07 | 阿里巴巴集团控股有限公司 | 对象识别方法 |
US10643383B2 (en) * | 2017-11-27 | 2020-05-05 | Fotonation Limited | Systems and methods for 3D facial modeling |
US10501048B2 (en) * | 2018-01-19 | 2019-12-10 | Ford Global Technologies, Llc | Seatbelt buckling detection |
US10825260B2 (en) * | 2019-01-04 | 2020-11-03 | Jand, Inc. | Virtual try-on systems and methods for spectacles |
US11488239B2 (en) * | 2019-08-26 | 2022-11-01 | Warby Parker Inc. | Virtual fitting systems and methods for spectacles |
US20220207539A1 (en) * | 2020-12-24 | 2022-06-30 | Jand, Inc. | System and method for predicting a fit quality for a head wearable device and uses thereof |
-
2019
- 2019-01-04 US US16/239,745 patent/US10825260B2/en active Active
- 2019-12-21 KR KR1020227016023A patent/KR20220066991A/ko not_active Application Discontinuation
- 2019-12-21 WO PCT/US2019/068200 patent/WO2020142295A1/en unknown
- 2019-12-21 EP EP19845649.3A patent/EP3830799A1/en active Pending
- 2019-12-21 JP JP2021512526A patent/JP7109655B2/ja active Active
- 2019-12-21 MX MX2021002233A patent/MX2021002233A/es unknown
- 2019-12-21 IL IL281827A patent/IL281827B1/en unknown
- 2019-12-21 CN CN201980062191.5A patent/CN113168733B/zh active Active
- 2019-12-21 AU AU2019419376A patent/AU2019419376B2/en active Active
- 2019-12-21 CA CA3112222A patent/CA3112222A1/en active Pending
- 2019-12-21 KR KR1020217006780A patent/KR102399289B1/ko active IP Right Grant
-
2020
- 2020-01-02 TW TW109100106A patent/TWI755671B/zh not_active IP Right Cessation
- 2020-10-30 US US17/085,485 patent/US11200753B2/en active Active
-
2021
- 2021-02-25 MX MX2022006782A patent/MX2022006782A/es unknown
- 2021-08-11 AU AU2021215179A patent/AU2021215179B2/en active Active
- 2021-12-13 US US17/549,563 patent/US11783557B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130088490A1 (en) * | 2011-04-04 | 2013-04-11 | Aaron Rasmussen | Method for eyewear fitting, recommendation, and customization using collision detection |
CN104408764A (zh) * | 2014-11-07 | 2015-03-11 | 成都好视界眼镜有限公司 | 眼镜虚拟试戴方法、装置及系统 |
CN107408315A (zh) * | 2015-02-23 | 2017-11-28 | Fittingbox公司 | 用于实时、物理准确且逼真的眼镜试戴的流程和方法 |
CN104809638A (zh) * | 2015-05-20 | 2015-07-29 | 成都通甲优博科技有限责任公司 | 一种基于移动终端的眼镜虚拟试戴方法和系统 |
US20180336737A1 (en) * | 2017-05-17 | 2018-11-22 | Bespoke, Inc. d/b/a Topology Eyewear | Systems and methods for determining the scale of human anatomy from images |
CN107330969A (zh) * | 2017-06-07 | 2017-11-07 | 深圳市易尚展示股份有限公司 | 眼镜虚拟三维试戴方法和眼镜虚拟三维试戴系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114581635A (zh) * | 2022-03-03 | 2022-06-03 | 上海涞秋医疗科技有限责任公司 | 一种基于HoloLens眼镜的定位方法及系统 |
CN114581635B (zh) * | 2022-03-03 | 2023-03-24 | 上海涞秋医疗科技有限责任公司 | 一种基于HoloLens眼镜的定位方法及系统 |
CN115981467A (zh) * | 2022-12-27 | 2023-04-18 | 北京字跳网络技术有限公司 | 一种图像合成参数确定方法、图像合成方法及装置 |
CN115981467B (zh) * | 2022-12-27 | 2023-09-01 | 北京字跳网络技术有限公司 | 一种图像合成参数确定方法、图像合成方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US10825260B2 (en) | 2020-11-03 |
WO2020142295A1 (en) | 2020-07-09 |
AU2021215179A1 (en) | 2021-09-02 |
JP2021534516A (ja) | 2021-12-09 |
AU2019419376A1 (en) | 2021-04-01 |
KR20210062000A (ko) | 2021-05-28 |
CN113168733B (zh) | 2023-07-28 |
US20210049830A1 (en) | 2021-02-18 |
US20220101621A1 (en) | 2022-03-31 |
US20200219326A1 (en) | 2020-07-09 |
MX2021002233A (es) | 2022-08-03 |
EP3830799A1 (en) | 2021-06-09 |
US11783557B2 (en) | 2023-10-10 |
KR102399289B1 (ko) | 2022-05-17 |
TW202040348A (zh) | 2020-11-01 |
AU2021215179B2 (en) | 2023-03-09 |
US11200753B2 (en) | 2021-12-14 |
TWI755671B (zh) | 2022-02-21 |
AU2019419376B2 (en) | 2021-05-27 |
IL281827A (en) | 2021-05-31 |
CA3112222A1 (en) | 2020-07-09 |
IL281827B1 (en) | 2024-03-01 |
JP7109655B2 (ja) | 2022-07-29 |
KR20220066991A (ko) | 2022-05-24 |
MX2022006782A (es) | 2022-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113168733B (zh) | 一种眼镜虚拟试戴系统和方法 | |
US11495002B2 (en) | Systems and methods for determining the scale of human anatomy from images | |
US9842246B2 (en) | Fitting glasses frames to a user | |
CN114846389A (zh) | 用于眼镜的虚拟适配系统和方法 | |
US9990780B2 (en) | Using computed facial feature points to position a product model relative to a model of a face | |
US8733936B1 (en) | Fitting glasses frames to a user | |
CN115803750B (zh) | 使用参考框架的眼镜的虚拟试戴系统 | |
JP2023515517A (ja) | ライブフィッティングを含む眼鏡フレームのフィッティング | |
CA3085733A1 (en) | System and method of obtaining fit and fabrication measurements for eyeglasses using simultaneous localization and mapping |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40056073 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |