CN114945943A - 基于虹膜大小估计深度 - Google Patents
基于虹膜大小估计深度 Download PDFInfo
- Publication number
- CN114945943A CN114945943A CN202080093126.1A CN202080093126A CN114945943A CN 114945943 A CN114945943 A CN 114945943A CN 202080093126 A CN202080093126 A CN 202080093126A CN 114945943 A CN114945943 A CN 114945943A
- Authority
- CN
- China
- Prior art keywords
- eye
- camera
- image
- face
- iris
- 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.)
- Pending
Links
- 230000001815 facial effect Effects 0.000 claims abstract description 39
- 239000011159 matrix material Substances 0.000 claims abstract description 35
- 238000000034 method Methods 0.000 claims description 64
- 238000012545 processing Methods 0.000 claims description 18
- 238000013528 artificial neural network Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 6
- 210000001508 eye Anatomy 0.000 description 165
- 238000004891 communication Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 9
- 238000013500 data storage Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 239000003086 colorant Substances 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 230000015654 memory Effects 0.000 description 7
- 238000005259 measurement Methods 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 6
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 210000000887 face Anatomy 0.000 description 4
- 238000005286 illumination Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 241001465754 Metazoa Species 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 210000004709 eyebrow Anatomy 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 210000001747 pupil Anatomy 0.000 description 3
- 210000003467 cheek Anatomy 0.000 description 2
- 210000005069 ears Anatomy 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 210000000088 lip Anatomy 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 241001428800 Cell fusing agent virus Species 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 210000004087 cornea Anatomy 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 208000036971 interstitial lung disease 2 Diseases 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000011514 reflex Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
- G06V40/171—Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
- G06V40/193—Preprocessing; Feature extraction
-
- 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/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- 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
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30204—Marker
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Ophthalmology & Optometry (AREA)
- Studio Devices (AREA)
Abstract
示例实施例涉及基于虹膜大小来估计深度信息。计算***可以获得描绘人的图像,并基于人的面部的特征来确定该面部的面部网格。在一些情况下,面部网格包括面部标志和眼睛标志的组合。因此,计算***可以基于面部网格的眼睛标志来估计眼睛的虹膜像素尺寸,并且基于虹膜像素尺寸、平均值虹膜尺寸和相机的固有矩阵来估计面部的眼睛相对于相机的距离。计算***可以基于估计的距离进一步修改图像。
Description
相关申请的交叉引用
本申请要求2020年1月13日提交的美国临时申请第62/960,514号的优先权,其全部内容通过引用结合于此。
背景技术
许多现代计算设备,诸如移动电话、个人计算机和平板计算机,包括图像捕获设备(例如,静态和/或视频相机)。图像捕获设备可以捕获能够描绘各种场景(包括涉及人、动物、风景和/或对象的场景)的图像。
当捕获图像时,图像捕获设备通常生成三维场景(3D)的二维表示。为了获得关于场景的三维(3D)信息,通常使用多个组件。例如,立体相机设置是一种用于为场景生成3D信息的常用技术。立体相机涉及使用两个或更多个图像捕获组件,这些图像捕获组件同时捕获多个图像以创建或模拟3D立体图像。尽管立体相机可以产生关于场景的深度信息,但是使用多个图像捕获组件可能会增加与获取深度信息相关联的成本和复杂性。
发明内容
本文呈现的示例实施例涉及深度估计技术,该技术涉及单个图像捕获组件的使用。具体地,智能手机或另一类型的处理设备(例如,计算***)可以在由图像捕获组件捕获的图像中识别人的面部的存在,并且随后生成表示人的面部的轮廓和特征的面部网格。基于指示面部的一只或两只眼睛的外形特征的面部网格的眼睛标志,设备可以估计至少一只眼睛的一个或多个眼睛像素尺寸。例如,该设备可以估计图像中表示的眼睛的虹膜的像素大小。使用一个或多个估计的眼睛像素尺寸、捕获图像的图像捕获组件的固有矩阵以及对应于估计的眼睛像素尺寸的平均值眼睛尺寸,可以估计表示图像捕获组件和人的面部之间的距离的深度。深度估计然后可以用于使用各种技术来增强原始图像,诸如生成聚焦于人的原始图像的新版本,同时以类似于散景效应(Bokeh effect)的方式模糊图像的其他部分。
因此,在第一示例实施例中,提供了一种方法。该方法包括在计算***处从相机获得描绘人的图像,并基于人的面部的一个或多个特征来确定该面部的面部网格。面部网格包括面部标志和眼睛标志的组合。该方法还包括基于面部网格的眼睛标志来估计面部的至少一只眼睛的眼睛像素尺寸,以及由计算***基于眼睛像素尺寸和相机的固有矩阵来估计至少一只眼睛相对于相机的距离。该方法还包括基于至少一只眼睛相对于相机的距离来修改图像。
在第二示例实施例中,提供了一种***。该***包括具有固有矩阵的相机和被配置为执行操作的计算***。这些操作包括从相机获得描绘人的图像,并基于人的面部的一个或多个特征来确定该面部的面部网格。面部网格包括面部标志和眼睛标志的组合。这些操作还包括基于面部网格的眼睛标志来估计面部的至少一只眼睛的眼睛像素尺寸,以及基于眼睛像素尺寸和相机的固有矩阵来估计至少一只眼睛相对于相机的距离。这些操作还包括基于至少一只眼睛相对于相机的距离来修改图像。
在第三示例实施例中,提供了一种被配置为存储指令的非暂时性计算机可读介质。程序指令可以存储在数据存储器中,并且在由计算***执行时可以使得计算***执行根据第一和第二示例实施例的操作。
在第四示例实施例中,***可以包括用于执行上述示例实施例的每个操作的各种装置。
通过阅读以下详细描述,并适当参考附图,这些以及其他实施例、方面、优点和替代方案对于本领域普通技术人员来说将变得明显。此外,应当理解,此处提供的本概述和其他描述和附图旨在仅通过示例的方式来说明实施例,并且同样地,许多变化是可能的。例如,结构元素和过程步骤可以被重新排列、组合、分布、消除或以其他方式改变,同时保持在所要求保护的实施例的范围内。
附图说明
图1A描绘了根据示例实施例的数码相机设备的前视图和侧视图。
图1B描绘了根据示例实施例的数码相机设备的后视图。
图2描绘了根据示例实施例的具有图像捕获能力的计算***的框图。
图3是根据示例实施例的流程图。
图4示出了根据示例实施例的面部网格的眼睛部分。
图5描绘了根据示例实施例的图像捕获组件捕获人的图像的简化表示。
图6描绘了根据示例实施例的相机和眼睛之间的深度估计的简化表示。
图7描绘了根据示例实施例的相机和眼睛之间的深度估计的另一简化表示。
图8描绘了根据示例实施例修改使用单个图像捕获组件捕获的图像。
具体实施方式
本文描述了示例方法、设备和***。应当理解,本文使用的词语“示例”和“示例性的”表示“用作示例、实例或说明”。本文作为“示例”或“示例性”描述的任何实施例或特征不一定被解释为比其他实施例或特征更优选或更有利。在不脱离本文呈现的主题的范围的情况下,可以利用其他实施例,并且可以进行其他改变。
因此,本文描述的示例实施例不意味着是限制性的。如在本文一般描述的和在附图中示出的,本公开的各方面可以以多种不同的配置来布置、替换、组合、分离和设计,所有这些在本文都是预期的。
此外,除非上下文另有暗示,否则附图中的每个图中所示的特征可以彼此结合使用。因此,附图通常应被视为一个或多个总体实施例的组成方面,应理解并非所有示出的特征对于每个实施例都是必要的。
取决于上下文,“相机”可以指单独的图像捕获组件,或者包含一个或多个图像捕获组件的设备。一般地,图像捕获组件可以包括光圈、镜头、记录表面和快门,如下所述。此外,在一些实施方式中,本文描述的图像处理步骤可以由相机设备执行,而在其他实施方式中,图像处理步骤可以由与一个或多个相机设备通信(并且可能控制一个或多个相机设备)的计算设备执行。
1.示例图像捕获设备
随着相机越来越受欢迎,它们可以作为独立的硬件设备使用,也可以集成到其他类型的设备中。例如,静态和视频相机现在通常包括在无线计算设备(例如,智能手机和平板计算机)、膝上型计算机、可穿戴计算设备、视频游戏接口、家庭自动化设备以及汽车和其他类型的交通工具中。
相机的图像捕获组件可以包括光通过其进入的一个或多个光圈、用于捕获由光表示的图像的一个或多个记录表面、以及位于每个光圈前面以将图像的至少一部分聚焦在(多个)记录表面上的一个或多个镜头。这些光圈可以是固定大小或可调整的。
在模拟相机中,记录表面可以是摄影胶片。在数码相机中,记录表面可以包括电子图像传感器(例如,电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)传感器),用以在数据存储单元(例如,存储器)中传输和/或存储捕获的图像。图像传感器可以包括感光点阵列,该感光点阵列被配置为捕获通过光圈的入射光。当发生曝光以捕获图像时,每个感光点可以从入射光中收集光子,并将光子存储为电信号。一旦曝光结束,相机可以关闭感光点中的每个感光点,并继续测量每个感光点的电信号。
然后,图像传感器的感光点阵列的信号可以被量化为数字值,其准确度可以由位深度确定。位深度可以用于量化图像的调色板中有多少独特的颜色可用,用于指定每种颜色的“位”或0和1的数量来表示。这并不意味着图像必须使用所有这些颜色,而是图像可以指定具有该准确度级别的颜色。例如,对于灰度图像,位深度可以量化有多少独特的阴影可用。因此,具有更高位深度的图像可以编码更多的阴影或颜色,因为有更多的0和1的组合可用。
为了捕获彩色图像中的场景,位于图像传感器附近的滤色器阵列(CFA)可以仅允许一种颜色的光进入每个感光点。例如,数码相机可以包括CFA(例如,拜耳阵列),其允许图像传感器的感光点仅捕获三原色(红、绿、蓝(RGB))之一。其他潜在的CFA可以使用其他颜色***,诸如青色、品红色、黄色和黑色(CMYK)阵列。结果,感光点可以测量场景的颜色,以便随后在彩色图像中显示。
在一些示例中,相机可以利用由红-绿和绿-蓝滤光片的交替行组成的拜耳阵列。在拜耳阵列内,每种原色不接收图像传感器的感光点阵列的总面积的相等部分,因为人的眼睛对绿光比对红光和蓝光两者更敏感。特别地,绿色像素的冗余可以产生看起来更少噪声和更详细的图像。因此,当配置场景的彩色图像时,相机可以近似其他两种原色,以便在每个像素处具有全色。例如,相机可以执行拜耳去马赛克或插值过程,以将原色阵列转换成包含每个像素的全色信息的图像。拜耳去马赛克或插值可以取决于相机使用的图像格式、大小和压缩技术。
一个或多个快门可以耦合到或靠近镜头或记录表面。每个快门可以处于关闭位置(在关闭位置,它阻挡光到达记录表面),或者处于打开位置(在打开位置,光被允许到达记录表面)。每个快门的位置可以由快门按钮控制。例如,快门可以默认处于关闭位置。当快门按钮被触发(例如,按下)时,快门可以从关闭位置改变到打开位置一段时间(称为快门周期)。在快门周期期间,可以在记录表面上捕获图像。在快门周期结束时,快门可以变回关闭位置。
可替代地,快门过程可以是电子的。例如,在CCD图像传感器的电子快门被“打开”之前,传感器可以被复位以去除其感光点中的任何残留信号。当电子快门保持打开时,感光点可以积累电荷。当快门关闭时或快门关闭之后,这些电荷可以转移到长期数据存储中。机械和电子快门的组合也是可能的。
不管是哪种类型,快门都可以由快门按钮之外的东西来激活和/或控制。例如,快门可以由软键、定时器或一些其他触发器激活。在本文中,术语“图像捕获”可以指能够导致一个或多个图像被记录的任何机械和/或电子快门过程,而不管快门过程是如何被触发或控制的。
捕获的图像的曝光可以由光圈的大小、进入光圈的光的亮度和快门周期的长度(也称为快门长度或曝光长度)的组合来确定。附加地,可以将数字和/或模拟增益应用于图像,从而影响曝光。在一些实施例中,术语“曝光长度”、“曝光时间”或“曝光时间间隔”可以指快门长度乘以特定光圈大小的增益。因此,这些术语可以在某种程度上互换使用,并且应该被解释为可能是快门长度、曝光时间和/或控制由到达记录表面的光产生的信号响应的量的任何其他度量。
每次触发图像捕获时,静态相机可以捕获一个或多个图像。只要图像捕获保持被触发(例如,当快门按钮被按下时),视频相机就可以以特定速率(例如,每秒24幅图像或帧)连续捕获图像。当相机设备或应用被激活时,一些数字静态相机可以打开快门,并且快门可以保持在这个位置,直到相机设备或应用被去激活。当快门打开时,相机设备或应用可以捕获并在取景器上显示场景的表示。当触发图像捕获时,可以捕获当前场景的一个或多个不同的数字图像。
相机可以包括控制一个或多个相机功能和/或设置(诸如光圈大小、曝光时间、增益等)的软件。附加地,一些相机可以包括在捕获这些图像期间或之后对图像进行数字处理的软件。
如上所述,数码相机可以是独立的设备或者与其他设备集成在一起。作为示例,图1A示出了从正视图101A和侧视图101B看到的数码相机设备100的形状因子(form factor)。此外,图1B还示出了从后视图101C和另一后视图101D看到的数码相机设备100的形状因子。数码相机设备100可以是移动电话、平板计算机或可穿戴计算设备。其他实施例也是可能的。
如图1A和1B所示,数码相机设备100可以包括各种元件,诸如机身102、前置相机104、多元件显示器106、快门按钮108和附加按钮110。前置相机104可以位于机身102在操作时通常面向用户的一侧,或者位于与多元件显示器106相同的一侧。
如图1B所示,数码相机设备100还包括后置相机112。特别地,后置相机112被示为位于机身102的与前置相机104相对的一侧。此外,图1B中所示的后视图101C和101D表示后置相机112的两种替代布置。尽管如此,其他布置也是可能的。此外,将相机称为前置或后置是任意的,并且数码相机设备100可以包括位于机身102的各个侧面上的一个或多个相机。
多元件显示器106可以表示阴极射线管(CRT)显示器、发光二极管(LED)显示器、液晶(LCD)显示器、等离子显示器或本领域已知的任何其他类型的显示器。在一些实施例中,多元件显示器106可以显示由前置相机104和/或后置相机112捕获的当前图像的数字表示,或者可以由这些相机中的任何一个或多个捕获或最近捕获的图像。因此,多元件显示器106可以充当相机的取景器。多元件显示器106还可以支持触摸屏和/或显示敏感(presence-sensitive)功能,其能够调整数码相机设备100的任何方面的设置和/或配置。
前置相机104可以包括图像传感器和相关联的光学元件,诸如镜头。因此,前置相机104可以提供变焦能力或者可以具有固定的焦距。在其他实施例中,可互换镜头可以与前置相机104一起使用。前置相机104可以具有可变的机械光圈以及机械和/或电子快门。前置相机104也可以被配置为捕获静态图像、视频图像或两者。后置相机112可以是类似类型的图像捕获组件,并且可以包括光圈、镜头、记录表面和快门。具体地,后置相机112可以类似于前置相机104来操作。
前置相机104和后置相机112中的任一个或两个可以包括提供光场来照明目标对象的照明组件或与该照明组件相关联。例如,照明组件可以提供目标对象的闪光或恒定照明。照明组件也可以被配置为提供包括结构光、偏振光和具有特定光谱内容的光中的一种或多种的光场。在本文的实施例的上下文中,已知的并且用于从对象恢复3D模型的其他类型的光场是可能的。
前置相机104和/或后置相机112中的任一个或两个可以包括环境光传感器或与环境光传感器相关联,该环境光传感器可以连续地或不时地确定相机可以捕获的场景的环境亮度。在一些设备中,环境光传感器可以用于调整与相机相关联的屏幕(例如,取景器)的显示亮度。当所确定的环境亮度高时,可以增加屏幕的亮度水平,以使屏幕更容易观看。当所确定的环境亮度低时,可以降低屏幕的亮度水平,这也是为了使屏幕更容易观看以及潜在地省电。环境光传感器也可以用于确定图像捕获的曝光时间。
数码相机设备100可以被配置为使用多元件显示器106和前置相机104或后置相机112来捕获目标对象的图像。捕获的图像可以是多个静态图像或视频流。可以通过激活快门按钮108、按压多元件显示器106上的软键或者通过一些其他机制来触发图像捕获。取决于实施方式,可以以特定的时间间隔自动捕获图像,例如,在按下快门按钮108时,在目标对象的适当照明条件下,在将数码相机设备100移动预定距离时,或者根据预定的捕获时间表。
在一些示例中,前置相机104和后置相机112中的一个或两个是经校准的单目相机。单目相机可以是被配置为捕获2D图像的图像捕获组件。例如,单目相机可以使用改进的折射望远镜,通过使光线穿过一系列镜头和棱镜来放大远处对象的图像。因此,单目相机和/或其他类型的相机可以具有可用于本文呈现的深度估计技术的固有矩阵。相机的固有矩阵被用于将3D相机坐标变换为2D同质图像坐标。
如上所述,数码相机设备100(或另一种类型的数码相机)的功能可以集成到计算设备(诸如无线计算设备、手机、平板计算机、可穿戴计算设备、机器人设备、膝上型计算机、车载相机等)中。出于示例的目的,图2是示出可包括相机组件224的示例计算***200的一些组件的简化框图。
作为示例而非限制,计算***200可以是蜂窝移动电话(例如,智能手机)、静态相机、视频相机、传真机、计算机(诸如,台式、笔记本、平板或手持计算机)、个人数字助理(PDA)、家庭自动化组件、数字录像机(DVR)、数字电视、遥控器、可佩戴计算设备、机器人设备、车辆或配备有至少一些图像捕获和/或图像处理能力的一些其他类型的设备。应当理解,计算***200可以表示物理相机设备,诸如数码相机、相机应用在其上以软件操作的特定物理硬件平台、或者被配置为执行相机功能的硬件和软件的其他组合。
如图2所示,计算***200可以包括通信接口202、用户接口204、处理器206、数据储存器208和相机组件224,所有这些都可以通过***总线、网络或其他连接机制210通信地链接在一起。
通信接口202可以允许计算***200使用模拟或数字调制与其他设备、接入网络和/或传输网络进行通信。因此,通信接口202可以促进电路交换和/或分组交换通信,诸如普通老式电话服务(POTS)通信和/或互联网协议(IP)或其他分组化通信。例如,通信接口202可以包括芯片组和天线,被布置用于与无线电接入网络或接入点进行无线通信。此外,通信接口202可以采取有线接口(诸如以太网、通用串行总线(USB)或高清多媒体接口(HDMI)端口)的形式或包括有线接口。通信接口202也可以采取无线接口(诸如Wifi、全球定位***(GPS)或广域无线接口(例如,WiMAX或3GPP长期演进(LTE)))的形式或包括无线接口。然而,可以在通信接口202上使用其他形式的物理层接口和其他类型的标准或专有通信协议。此外,通信接口202可以包括多个物理通信接口(例如,Wifi接口、接口和广域无线接口)。
用户接口204可以用于允许计算***200与人类或非人类用户交互,诸如从用户接收输入并向用户提供输出。因此,用户接口204可以包括输入组件,诸如小键盘、键盘、触敏或显示敏感面板、计算机鼠标、轨迹球、操纵杆、麦克风等。用户接口204还可以包括一个或多个输出组件,诸如一个或多个显示屏,其例如可以与显示敏感面板相结合。显示屏可以基于CRT、LCD和/或LED技术、或者现在已知或以后开发的其他技术。用户接口204还可以被配置为经由扬声器、扬声器插光圈、音频输出端口、音频输出设备、耳机和/或其他类似设备来生成(多个)听觉输出。
在一些实施例中,用户接口204可以包括显示器,该显示器用作由计算***200支持的静态相机和/或视频相机功能的取景器。附加地,用户接口204可以包括一个或多个按钮、开关、旋钮和/或转盘,这些按钮、开关、旋钮和/或转盘有助于相机功能的配置和聚焦以及图像的捕获(例如,捕获图片)。这些按钮、开关、旋钮和/或拨号盘中的一些或全部可以通过显示敏感测面板来实现。
处理器206可以包括一个或多个通用处理器(例如微处理器)和/或一个或多个专用处理器(例如数字信号处理器(DSP)、图形处理单元(GPU)、浮点单元(FPU)、网络处理器或专用集成电路(ASIC)。在一些情况下,专用处理器可能能够进行图像处理、图像对准和合并图像等。数据储存器208可以包括一个或多个易失性和/或非易失性存储组件,诸如磁、光、闪存或有机存储,并且可以整体或部分地与处理器206集成。数据储存器208可以包括可移除和/或不可移除的组件。
处理器206可能能够执行存储在数据存储装置208中的程序指令218(例如,编译或非编译的程序逻辑和/或机器代码),以执行本文描述的各种功能。因此,数据储存器208可以包括非暂时性计算机可读介质,其上存储有程序指令,该程序指令在由计算***200执行时,使得计算***200执行本说明书和/或附图中公开的任何方法、过程或操作。处理器206执行程序指令218可以导致处理器206使用数据212。
举例来说,程序指令218可以包括安装在计算***200上的操作***222(例如,操作***内核、(多个)设备驱动程序和/或其他模块)和一个或多个应用程序220(例如,相机功能、地址簿、电子邮件、网页浏览、社交网络、图像应用和/或游戏应用)。类似地,数据212可以包括操作***数据216和应用数据214。操作***数据216可以主要由操作***222访问,并且应用数据214可以主要由应用程序220中的一个或多个应用程序220访问。应用数据214可以被布置在对计算***200的用户可见或隐藏的文件***中。
应用程序220可以通过一个或多个应用编程接口(API)与操作***222通信。这些API可以便于例如应用程序220读取和/或写入应用数据214、经由通信接口202发送或接收信息、在用户接口204上接收和/或显示信息等。
在一些方言中,应用程序220可以简称为“app”。附加地,应用程序220可通过一个或多个在线应用商店或应用市场下载到计算***200。然而,应用程序也可以以其他方式(诸如经由网络浏览器或通过计算***200上的物理接口(例如,USB端口))安装在计算***200上。
相机组件224可以包括但不限于光圈、快门、记录表面(例如,摄影胶片和/或图像传感器)、镜头和/或快门按钮。因此,相机组件224可以至少部分地由处理器206执行的软件来控制。在一些示例中,相机组件224可以包括一个或多个图像捕获组件,诸如单目相机。尽管相机组件224被示为计算***200的一部分,但是在其他实施例中它们可以是物理上分离的。例如,相机组件224可以捕获图像并经由有线或无线连接将图像提供给计算***200用于后续处理。
2.示例操作
如上所述,由相机捕获的图像可以包括强度值,其中亮像素具有较高的强度值,并且暗像素具有较低的强度值。在一些情况下,图像还可以表示场景内的对象的深度,其中深度指示一个或多个对象相对于捕获图像的相机装置的距离。例如,深度信息可以用于将观察者引导到图像的特定方面,诸如人,同时还模糊背景以增强整体图像。用于生成深度信息的常规类型的相机是立体相机,其可能涉及使用两个或更多个图像捕获组件来同时捕获可用于生成深度信息的多个图像。尽管立体相机可以产生关于场景的深度信息,但是使用多个图像捕获组件会增加与生成深度信息相关联的成本和复杂性。
本文呈现的示例实施例涉及可以使用单个相机来执行的深度估计技术。具体地,智能手机或另一类型的处理设备(例如,计算***)可以在由单个相机(例如,单目相机)捕获的图像中识别人的面部的存在,并且随后生成表示人的面部的特征轮廓的面部网格。面部网格可以包括根据人的面部特征布置的面部标志和根据人的面部的一只或两只眼睛的位置和尺寸布置的眼睛标志。例如,眼睛标志可以包括相对于眼睛的虹膜定位的一组虹膜标志,以提供关于虹膜的信息。例如,虹膜标志可以位于眼睛的虹膜周围以及相对于虹膜的其他位置(例如,标出虹膜中心的虹膜标志)。结果,面部网格可以传达关于图像内所描绘的人的面部的信息。在一些实施例中,面部网格还可以提供关于人的面部相对于由相机捕获的场景内的其他对象的位置的信息。
由此,设备可以使用面部网格的眼睛标志来估计至少一只眼睛的一个或多个眼睛像素尺寸。例如,估计的眼睛尺寸可以表示眼睛的虹膜的像素大小(例如,图像中表示的以像素量化的虹膜的垂直或水平直径)。另一个估计的眼睛尺寸可以是像素眼睛尺寸,其表示由相机捕获的图像中描绘的眼睛整体的像素大小。眼睛尺寸估计的其他示例也是可能的。例如,眼睛尺寸可以表示眼睛的角膜的直径。
此外,该设备可以使用对应于所确定的眼睛像素尺寸的平均值眼睛尺寸来进行深度估计。平均值眼睛尺寸可以表示平均眼睛大小,并且基于眼科学信息或来自多个眼睛的其他测量值。眼科学信息可以提供适用于各种人的眼睛方面的尺寸。例如,眼科学信息可以指定成人的虹膜的平均水平直径、平均垂直直径或其他测量值。眼科学信息可以表示从许多人获得的标准化测量值。
在一个实施例中,当眼睛像素尺寸对应于以像素测量的虹膜大小时,平均值眼睛尺寸可以表示以毫米或另一单位测量的平均虹膜大小。例如,当设备估计表示图像中描绘的虹膜的水平直径的像素的数量时,设备可以进一步使用以毫米或另一单位表示虹膜的平均水平直径的平均值眼睛尺寸。在另一个示例中,当眼睛像素尺寸传达了表示图像中所描绘的虹膜的垂直直径的像素的数量时,设备可以使用表示虹膜的平均垂直直径的平均值眼睛尺寸。
该设备可以从另一个计算***或存储器获得平均值眼睛尺寸。例如,该设备可以通过与数据库的无线连接来访问眼睛数据(例如,平均值眼睛尺寸)。在一些实施例中,设备可以具有本地存储的平均眼睛值,这可以减少估计图像中人的面部的深度所需的时间。
该设备然后可以使用一个或多个眼睛像素尺寸和一个或多个对应的平均值眼睛尺寸以及捕获图像的相机的固有矩阵来估计人的面部相对于相机的深度。估计的人的深度可以随后用于增强原始图像。例如,设备可以基于原始图像生成新图像,该新图像经由散景效应的模拟和/或使用其他图像增强技术来增强图像中的人的存在。通过基于估计眼睛像素尺寸、平均值眼睛尺寸和相机的固有矩阵来估计图像内的人的深度,消除了对多个相机的需要,所以可以降低与生成场景的深度信息相关联的总成本和复杂度。
为了进一步说明,图3示出了使用经由单个图像捕获组件获得的图像进行深度估计的流程图。图3所示的实施例可以由诸如图1所示的数码相机设备100的计算***来执行。然而,该实施例也可以由其他类型的设备或设备子***来执行,例如由远离相机的计算***来执行。此外,该实施例可以与本说明书或附图中公开的任何方面或特征相结合。
在框302,方法300可以包括从相机获得描绘人的图像。计算***(或计算***的子***)可以经由有线或无线连接从相机获得图像。例如,计算***可以是配置有用于捕获图像的相机的智能手机。替代地,计算***可以远离相机定位,并经由无线或有线连接获得图像。
相机可以表示任何类型的图像捕获组件。例如,相机可以包括一个或多个光圈、镜头和记录表面。因此,相机可以具有固有矩阵,该固有矩阵使得能够将3D相机坐标变换为2D同质图像坐标。
该图像可以描绘场景中的一个或多个人。例如,智能电话或另一种类型的设备可以使用相机来捕获人的肖像。在从相机获得图像后,计算***可以在执行方法300的其他功能之前执行图像的初始检查以检测人的面部。例如,计算***可以使用图像处理技术、机器学习、经训练的神经网络或另一个过程(例如,机器学习)来识别人的面部。此外,在一些示例中,在执行方法300的一个或多个功能之前,计算***可以要求当相机处于特定相机模式(例如,肖像模式)时捕获图像。
在进一步的实施例中,图像可以描绘动物或另一种类型的脸(例如,人的绘画)。因此,设备可以在继续执行方法300的其他功能之前检测动物或艺术品的面部。
在框304,方法300可以包括基于人的面部的一个或多个特征来确定人的面部的面部网格。面部网格可以包括被布置来表示关于面部的信息的面部标志和眼睛标志的组合。在一些实施例中,可以基于图像生成面部网格,并且面部网格提供关于图像内描绘的至少一个人的信息。例如,面部网格可以指示哪些像素表示人的面部的部分。
计算***可以使用一种或多种图像处理技术来执行图像的粗略检查,以识别一个或多个人的存在,并随后生成至少一个人的面部网格。例如,计算***可以被配置为当分析具有多个人的图像时,为近似位于图像中心的人生成面部网格。在示例中,可以使用各种图像处理技术来识别关于图像的信息,诸如检测人和/或人的面部的存在。示例图像处理技术包括但不限于特征提取、模式识别、机器学习和神经网络。
由计算***为面部生成的面部网格可以包括一组面部标志和一组眼睛标志。标志可以是以特定方式布置的圆形点(或具有另一形状的点),以标出关于人的面部的信息。特别地,计算设备可以将面部标志标出为表示面部的轮廓,并且将眼睛标志标出为表示面部的一只或两只眼睛的轮廓。例如,面部标志可以是被布置来表示人的面部的面部特征(诸如脸颊、嘴唇、眉毛、耳朵等)的点。结果,面部标志可以传达人的面部的布局和轮廓。
眼睛标志类似于面部标志,但是专用于人的面部的一只或两只眼睛。特别地,眼睛标志可以指定一只或两只眼睛的位置和轮廓尺寸。在一些实施例中,眼睛标志可以包括清楚地定义虹膜的位置、定位和大小的一组虹膜标志。面部标志和眼睛标志的组合一起可以提供在图像内捕获的人的面部的布置和特征的表示。
用于生成面部网格的面部标志和眼睛标志的总数在示例中可以变化。例如,面部网格可以包括每只眼睛大约500个面部标志和30个眼睛标志,其中5个虹膜标志定义了虹膜的中心和轮廓。这些数量对于其他面部网格可以变化,并且可以取决于用于表示图像中的人的面部的像素的数量。此外,在示例中,用于面部标志和眼睛标志(以及虹膜标志)的点的大小、颜色和风格可以不同。在一些情况下,面部标志和眼睛/虹膜标志可以是大小一致的圆形点。替代地,可以使用不同形状和大小的点。此外,可以使用不同颜色的面部标志和眼睛标志来生成面部网格。例如,眼睛标志可以是第一颜色(例如,绿色),并且虹膜标志可以是第二颜色(例如,红色)。在其他实施例中,面部网格可以包括用于传达关于人的面部的信息的线条或其他结构。
在一些示例中,训练神经网络来确定人的面部的面部网格。例如,可以使用描绘具有和不具有面部网格的面部的图像对来训练神经网络。结果,计算***可以使用神经网络来确定面部网格,并基于面部网格进一步测量面部特征。可替代地,可以使用一种或多种图像处理技术来产生在一个或多个图像中捕获的面部的面部网格。例如,计算***可以使用神经网络和边缘检测的组合来为图像内表示的面部生成一个或多个面部网格。
在框306,方法300可以包括基于面部网格的眼睛标志来估计面部的至少一只眼睛的眼睛像素尺寸。在为图像内描绘的面部生成面部网格之后,计算***可以使用面部网格的眼睛标志来估计人的一只或两只眼睛的一个或多个眼睛尺寸。
在一些实施例中,估计眼睛的眼睛尺寸可以包括基于位于眼睛的虹膜周围的虹膜标志来估计眼睛的虹膜的像素大小。例如,虹膜的像素大小可以与表示图像中所描绘的虹膜的水平直径的像素的数量相对应。可替代地,虹膜的像素大小可以与表示图像中所描绘的虹膜垂直直径的像素的数量相对应。因此,当估计眼睛像素尺寸(例如,虹膜像素尺寸)时,计算***可以使用眼睛标志和/或虹膜标志。在一些示例中,计算***可以执行多个眼睛像素尺寸估计,并且使用估计的平均值作为输出眼睛尺寸在框308使用。
计算***还可以在眼睛的虹膜的像素大小和平均像素虹膜大小之间进行比较。平均像素虹膜大小可以基于虹膜的多个像素测量和/或另一个值(例如,阈值范围)。基于该比较,计算***可以在估计眼睛相对于相机的距离之前确定虹膜的像素大小是否满足阈值差。当估计的眼睛尺寸不能满足阈值差异(即,与目标眼睛尺寸显著不同)时,计算***可以重复一个或多个过程来导出新的眼睛尺寸估计。
此外,计算***还可以使用对应于眼睛像素尺寸的平均值眼睛尺寸。具体地,平均值眼睛尺寸可以指示基于眼睛数据的人的眼睛的大小。当使用虹膜像素尺寸时,平均值眼睛尺寸可以对应于匹配的平均值虹膜尺寸。例如,虹膜像素尺寸和平均值虹膜尺寸可以表示虹膜的相同参数,诸如虹膜的水平直径。
在框308,方法300可以包括基于眼睛的眼睛像素尺寸和相机的固有矩阵来估计至少一只眼睛相对于相机的距离。计算设备可以使用相机的固有矩阵和一个或多个估计的眼睛像素尺寸(例如,像素虹膜大小)来计算眼睛相对于相机的估计深度。例如,相机可以是具有固有矩阵的经校准的单目相机,计算***可以在深度估计期间结合一个或多个眼睛尺寸来利用该固有矩阵。此外,当估计相机和人的面部之间的距离时,该设备还可以使用平均值眼睛尺寸以毫米或另一单位来表示人的眼睛。例如,该设备可以使用像素虹膜估计、固有矩阵和平均值虹膜尺寸的组合来估计从相机到人的面部的距离。
固有矩阵用于将3D相机坐标转换为2D图像坐标。一个示例固有矩阵可以参数化如下:
上面示出的每个固有参数描述了相机的几何属性。焦距,也称为像素焦距,由fx、fy表示,并对应于相机光圈和图像平面之间的距离。焦距通常以像素为单位测量,并且当相机模拟产生正方形像素的真实针孔相机时,fx和fy具有相同的值。在实践中,fx和fy可能由于各种原因(诸如数码相机传感器中的缺陷、图像在后处理中被非均匀缩放、相机镜头导致无意的失真或相机校准中的误差)而有所不同。当fx和fy不同时,生成的图像可能由非方形像素组成。
此外,主点偏移由x0和y0表示。相机的主轴是穿过相机光圈的垂直于图像平面的线。主轴与图像平面的交点称为主点。因此,主点偏移是主点相对于图像平面的原点的位置。此外,轴倾斜在上面的矩阵中由s表示,并导致投影图像中的剪切失真。由此,计算***可以使用相机的固有矩阵和从面部网格导出的估计的眼睛尺寸来估计人相对于相机的深度。在一些示例中,可以在深度估计期间进一步使用面部网格。
在框310,方法300可以包括基于至少一只眼睛相对于相机的距离来修改图像。修改图像可以包括调整由相机提供的原始图像的方面和/或产生对应于原始图像的新的增强图像。
计算***可以使用深度估计来将图像分割成背景和前景部分。因此,当产生增强的最终图像时,计算***可以模糊原始图像中背景部分的一个或多个像素。特别地,前景中存在的场景的聚焦特征(例如,图像中心的人)可以保留清晰的像素,而作为场景背景的一部分的其他特征可以被模糊以增强最终的图像。在一些情况下,图像背景中的特征的像素可以基于每个背景特征离聚焦平面(例如,离相机)有多远而成比例地模糊。所估计的深度图可以用于估计背景特征和聚焦平面之间的距离。
在一实施例中,计算***可以产生最终图像,该最终图像包括与原始捕获的图像相比的一个或多个增强。例如,最终图像可以利用模糊效果来帮助将观看者的注意力吸引到图像中的主要焦点(例如,人或人的面部),其方式类似于用浅景深捕获的图像。特别地,具有浅景深的图像可以帮助将观察者的注意力引向图像的焦点,并且还可以帮助抑制杂乱的背景,从而增强图像的整体呈现。
在另一个实施例中,模糊背景特征的像素可以包括用相同颜色但不同大小的半透明圆盘替换像素。通过以类似于平均这些圆盘的方式按深度顺序合成所有这些圆盘,增强的最终图像的结果类似于使用具有大镜头的单镜头反光(SLR)相机产生的真实光学模糊。使用上述技术应用的合成散焦可以在最终图像中产生盘形散景效应,而不需要其他相机经常用来实现该效果的大量设备。此外,与SLR相机不同,由于散景效应是以合成方式应用的,所以可以使用上述技术将散景效应修改为在最终图像中具有其他形状。
3.示例面部网格确定
如上所述,计算***(例如,智能手机)可以在执行深度估计技术之前为图像内描绘的一个或多个面部生成面部网格。为了说明,图4示出了为图像内捕获的人的面部生成的面部网格的眼睛部分。
眼睛部分400可以是包括面部标志(未示出)、眼睛标志402和虹膜标志404、405的面部网格的一部分。在一些实施例中,眼睛标志402和虹膜标志404、405可以被组合,使得它们通常表现为眼睛标志。替代地,在一些示例中,面部网格可以仅包括眼睛标志402和/或虹膜标志404、405。面部标志可以被布置成标出人的面部的特征,诸如脸颊、嘴唇、眉毛、耳朵的位置以及面部的总体轮廓。
面部图的眼睛部分400中示出的眼睛标志被布置成标出眼睛406的各个方面(在虚线框中示出)。在图4所示的实施例中,眼睛标志包括示出为实点的轮廓眼睛标志402和示出为位于虹膜408周围的虚点的虹膜标志404、405。轮廓眼睛标志402被布置成描绘整个眼睛406的轮廓。如图4所示,眼睛轮廓标志402可以是布置成使得计算***能够识别眼睛406的轮廓的一组点(例如,17个点)。
除了轮廓眼睛标志402之外,虹膜标志404、405被布置成标出眼睛406内的虹膜408的位置。特别地,四个虹膜标志404位于虹膜408周围,并且一个虹膜标志405位于虹膜408的近似中心。如图所示,虹膜标志404、405可以将虹膜408分成象限,并且可以使得计算***能够估计虹膜408的水平直径410和/或虹膜408的垂直直径412。所估计的眼睛尺寸中的一个或两个可以用于估计眼睛406相对于捕获该人的图像的相机的深度。
4.示例深度估计
图5是捕获对象图像的图像捕获组件的简化表示。图像捕获组件可以是配置有记录表面502和镜头504以及未示出的其他组件的相机。在图像捕获期间,表示人506和场景的其他元素(未示出)的光可以穿过镜头504,使得相机能够随后在记录表面502上创建人506的图像。结果,相机可以在取景器上显示人506的数字图像。在图5所示的实施例中,由于镜头504的光学特性,人506的图像在记录表面502上看起来是颠倒的,但是图像处理技术可以颠倒图像进行显示。
对于一些相机配置,镜头504可以是可调整的。例如,镜头504可以向左或向右移动,调整相机的镜头位置和焦距以用于图像捕获。可以通过向控制镜头504的位置的电机(图5中未示出)施加电压来进行调整。由此,电机可以将镜头504移动得更靠近或更远离记录表面502,使得相机能够聚焦在一定距离范围内的对象(例如,人506)上。镜头504和记录表面502之间在任何时间点的距离可以被称为镜头位置,并且可以以毫米或其他单位来测量。通过扩展,镜头504和其聚焦区域之间的距离可以被称为焦距,其可以类似地以毫米或其他单位来测量。
如上所述,深度估计技术可以涉及使用从图像内捕获的人的一只或多只眼睛获得的信息。特别地,智能手机、服务器或另一类型的计算***可以获得图像,并为图像中描绘的一个或多个面部生成面部网格。例如,该设备可以使用至少一种图像处理技术来执行粗略检查,以检测和识别人的面部的存在,并随后生成具有标出面部的面部标志和眼睛标志的面部网格。
面部标志可以标出面部的轮廓,诸如脸颊、嘴唇、眉毛和面部的轮廓的曲度和位置。类似于面部标志,眼睛标志可以标出面部上至少一只眼睛的轮廓。例如,如图3所示,眼睛标志可以包括描绘面部的眼睛的轮廓的第一组眼睛标志和标出眼睛的虹膜的尺寸的第二组眼睛标志。
使用面部网格,设备可以确定能够用于深度估计的信息。例如,面部网格可以用于确定人的眼睛在由相机捕获的图像中的位置。人的眼睛的位置可以相对于场景中的其他对象来确定,并且可以包括使用相机的固有矩阵。面部网格也可以用于估计图像中描绘的眼睛的像素大小。例如,面部网格可以用于确定描绘图像内所表示的虹膜的水平(或垂直)直径的像素的数量(例如,5个像素、几十个像素)。特别地,深度估计技术可以包括基于眼睛测量和相机的固有矩阵的组合来创建距离公式。为了进一步说明,相机的固有矩阵可以表示如下:
类似于上面等式1中所示的矩阵,当图像具有正方形像素时,该矩阵使用fx和fy以像素表示焦距,并且它们的值相等,并且Ox和Oy用于表示相机的图像传感器上的主点的位置。此外,为了说明的目的,矩阵2具有设置为零的轴倾斜值。
为了进一步示出如何使用上述矩阵、眼睛像素估计和对应的平均值眼睛尺寸来估计场景中的人的深度估计,图6和7示出了相机和眼睛之间的深度估计的简化表示。特别地,每个表示600、700提供了示出示例距离和估计的图,该示例距离和估计可以与相机的固有矩阵一起用于估计眼睛的深度。尽管为了说明的目的简化了表示600、700,仅示出了有限的相机组件和眼睛,但是本文描述的深度估计技术可以用于描绘更复杂场景的图像。
在简化表示600中,相机可以使用具有针孔O 612的镜头602来捕获眼睛604的图像并在记录表面606上生成眼睛604的图像。使用该图像,设备可以执行眼睛604的一个或多个估计,以与相机的固有矩阵协同使用来用于深度估计。该设备可以基于眼睛的大小来确定第一眼睛尺寸604。例如,该设备可以确定在图6中表示为虹膜大小AB 608的虹膜的平均值大小,其可以以毫米或另一单位来表示。该设备可以使用存储的数据和/或通过从另一个计算***获得平均值来确定平均值虹膜大小。
此外,该设备还可以估计记录表面606上的图像中所描绘的虹膜的大小,其在图6中被表示为虹膜像素大小A’B’610。由此,虹膜像素大小A’B’610可以基于图像内的像素(或子像素)的数量来确定,并因此被表示为像素的总数量。虹膜像素大小可以取决于设备正在估计的测量(例如,垂直直径或水平直径)而不同。
简化表示600还示出了在镜头中心(针孔O 612)和记录表面606上的主点614之间延伸的焦距OO’616(也称为像素焦距)。焦距OO’616可以基于相机的固有矩阵来确定,并且可以以毫米或其他单位来表示。
如简化表示600中进一步所示,可以确定从镜头中心(针孔O 612)到眼睛604的点A和点B的距离。具体地,可以使用平均值眼睛尺寸(例如,虹膜大小AB 608),基于从针孔O612到点A、B的距离来确定第一三角形OAB。此外,可以使用估计的虹膜像素大小A’B’610,基于从针孔O 612到图像的点A’和B’的距离来确定第二三角形OA’B’。
为了构建可用于估计眼睛604相对于镜头602的深度的深度估计方程,简化表示600中示出的三角形OAB和OA’B’然后可用于构建以下等式:
基于三角形OAB和OA’B’导出的等式3和4可用于计算到相机的距离,如下所示:
如上所示,等式7可以基于等式5和6来确定,并且可以用于估计眼睛604(并且通常是人的面部)相对于相机的距离。在示例中,该距离可以以毫米或其他单位来估计。因此,设备可以使用等式7来使用虹膜大小估计和相机的固有矩阵来估计人的面部相对于捕获图像的相机的深度。在等式7中,光瞳到焦点中心(pupil to focal center)表示图像空间内从眼睛(光瞳)中心到来自固有矩阵的焦点原点的像素距离。
类似于图6所示的简化表示600,简化表示700表示相机和眼睛之间的深度估计的另一视图。具体地,表示700示出了使用镜头702捕获描绘眼睛704的图像706的相机。设备可以获得图像706,并且随后基于存储的眼睛数据以毫米或其他单位确定平均值虹膜大小AB708。此外,该设备可以估计虹膜像素大小A’B’710,其以像素的数量来表示图像706内所描绘的眼睛704的虹膜的大小。使用平均值虹膜大小AB 708、估计的虹膜像素大小A’B’710中的一个或两个以及来自相机的固有矩阵的信息,设备可以估计眼睛704相对于相机的距离。特别地,主点O’和镜头702的中心O之间的距离可以对应于以像素表示的相机的焦距OO’712。
5.示例图像修改
图8示出了根据一个或多个示例实施例的简化图像修改。简化图像修改示出了输入图像800和输出图像804。为了说明的目的,两幅图像都描绘了处于简化肖像布置的人802。其他示例可能涉及更复杂的场景,诸如描绘具有各种背景的多个人的图像。
输入图像800是由诸如图1A所示的数码相机设备100的前置相机104的相机捕获的人802的图像。在实施例中,输入图像800可以表示由具有固有矩阵的单目相机捕获的图像。由此,计算***可以从相机接收输入图像800,并且还可以访问相机的固有矩阵。
响应于接收到输入图像800,计算***可以执行深度估计技术来确定人802相对于捕获输入图像800的相机的深度。因此,深度估计可以用于修改输入图像800。
在一些示例中,修改输入图像800可以包括直接增强输入图像800或者基于输入图像800生成增强的图像(例如,输出图像804)。例如,设备可以生成初始图像的新版本,其包括对人802的聚焦,同时还模糊了场景的其他部分,诸如场景的背景(在输出图像804中由黑色表示)。相机设备可以取决于图像内捕获的场景的总体布局或者基于附加信息(例如,在图像捕获期间指定焦点的用户输入)来识别图像要聚焦的部分。
在另一示例中,相机可以使用图像分割过程将图像分割成多个片段。每个片段可以包括图像的一组像素。相机可以识别共享各自特征的片段(例如表示人802)并基于共享各自特征的片段进一步识别场景中特征的边界。可以使用上述深度估计技术之一来生成聚焦在场景中的人上并且场景的一个或多个其他部分模糊的图像的新版本。
在另一实现中,相机可以接收输入,该输入指定相机在捕获图像时聚焦到的场景中的特定人。例如,相机可以经由触摸屏接收输入,该触摸屏显示从相机的视点观察的场景视图。因此,相机可以响应于接收到输入来估计人的深度。
6.结论
本公开不限于本申请中描述的特定实施例,这些实施例旨在说明各个方面。对于本领域的技术人员来说,明显的是,在不脱离其范围的情况下,可以进行许多修改和变化。除了本文列举的那些之外,本公开范围内的功能等同的方法和装置对于本领域的技术人员来说,从前面的描述中将是明显的。这种修改和变化旨在落入所附权利要求的范围内。
以上详细描述参考附图描述了所公开的***、设备和方法的各种特征和功能。本文和附图中描述的示例实施例并不意味着是限制性的。在不脱离本文呈现的主题的范围的情况下,可以利用其他实施例,并且可以进行其他改变。将容易理解的是,如在本文一般描述的和在附图中示出的,本公开的方面可以以多种不同的配置来布置、替换、组合、分离和设计,所有这些在本文都是明确预期的。
关于附图中的任何或所有消息流程图、场景和流程图,并且如本文所讨论的,根据示例实施例,每个步骤、框和/或通信可以表示信息的处理和/或信息的传输。替代实施例包括在这些示例实施例的范围内。在这些替代实施例中,例如,被描述为步骤、框、传输、通信、请求、响应和/或消息的功能可以不按所示或所讨论的顺序来执行,包括基本上同时或以相反的顺序,这取决于所涉及的功能。此外,更多或更少的框和/或功能可以与本文讨论的任何梯形图、场景和流程图一起使用,并且这些梯形图、场景和流程图可以部分地或整体地彼此组合。
表示信息处理的步骤或框可以对应于可以被配置为执行本文描述的方法或技术的特定逻辑功能的电路。替代地或附加地,表示信息处理的步骤或框可以对应于程序代码(包括相关数据)的模块、片段或一部分。程序代码可以包括可以由处理器执行的一个或多个指令,用于实现方法或技术中的特定逻辑功能或动作。程序代码和/或相关数据可以存储在任何类型的计算机可读介质(诸如包括磁盘、硬盘驱动器或其他存储介质的存储设备)上。
计算机可读介质还可以包括非暂时性计算机可读介质,诸如短期存储数据的计算机可读介质,如寄存器存储器、处理器高速缓存和随机存取存储器(RAM)。计算机可读介质还可以包括长期存储程序代码和/或数据的非暂时性计算机可读介质。因此,计算机可读介质可以包括二级或永久长期存储器,如只读存储器(ROM)、光盘或磁盘、光盘只读存储器(CD-ROM)。计算机可读介质也可以是任何其他易失性或非易失性存储***。例如,计算机可读介质可以被认为是计算机可读存储介质,或者有形存储设备。
此外,表示一个或多个信息传输的步骤或框可以对应于同一物理设备中的软件和/或硬件模块之间的信息传输。然而,其他信息传输可以在不同物理设备中的软件模块和/或硬件模块之间进行。
附图中所示的特定布置不应被视为限制性的。应当理解,其他实施例可以包括给定附图中所示的更多或更少的每个元件。此外,一些示出的元件可以被组合或省略。此外,示例实施例可以包括图中未示出的元件。
此外,本说明书或权利要求中的元件、框或步骤的任何列举都是为了清楚的目的。因此,这种列举不应被解释为要求或暗示这些元件、框或步骤遵循特定的布置或以特定的顺序执行。
虽然本文已经公开了各种方面和实施例,但是其他方面和实施例对于本领域技术人员来说将是明显的。本文公开的各种方面和实施例是为了说明的目的,而不是为了限制,真正的范围由所附权利要求指示。
Claims (20)
1.一种方法,包括:
在计算***处从相机获得描绘人的图像;
基于所述人的面部的一个或多个特征来确定所述面部的面部网格,其中,所述面部网格包括面部标志和眼睛标志的组合;
基于所述面部网格的眼睛标志,估计所述面部的至少一只眼睛的眼睛像素尺寸;
由所述计算***基于所述眼睛像素尺寸和所述相机的固有矩阵来估计所述至少一只眼睛相对于所述相机的距离;以及
基于所述至少一只眼睛相对于所述相机的距离来修改所述图像。
2.根据权利要求1所述的方法,其中,所述相机是单目相机。
3.根据权利要求1所述的方法,其中,估计所述至少一只眼睛相对于所述相机的距离还基于平均值眼睛尺寸。
4.根据权利要求1所述的方法,还包括:
响应于获得描绘所述人的图像,使用至少一种图像处理技术来识别所述图像中的人的面部。
5.根据权利要求4所述的方法,其中,所述至少一种图像处理技术包括使用经训练的神经网络来检测所述面部的一个或多个特征。
6.根据权利要求1所述的方法,其中,确定所述面部的面部网格包括:
基于所述图像将所述面部标志标出为表示所述面部的轮廓;以及
基于所述图像将所述眼睛标志标出为表示所述面部的所述至少一只眼睛的轮廓。
7.根据权利要求6所述的方法,其中,将所述眼睛标志标出为表示所述面部的至少一只眼睛的轮廓包括:
将所述眼睛标志定位在所述至少一只眼睛的虹膜周围。
8.根据权利要求7所述的方法,其中,估计所述面部的至少一只眼睛的眼睛像素尺寸包括:
基于位于所述至少一只眼睛的虹膜周围的眼睛标志来估计所述至少一只眼睛的虹膜的像素大小。
9.根据权利要求8所述的方法,其中,估计所述至少一只眼睛的虹膜的像素大小包括:
估计指示所述图像中所表示的所述至少一只眼睛的虹膜的水平直径的像素的数量。
10.根据权利要求1所述的方法,其中,基于所述至少一只眼睛相对于所述相机的距离来修改所述图像包括:
基于所述至少一只眼睛相对于所述相机的距离,将部分模糊应用于所述图像的一个或多个背景部分。
11.一种***,包括:
相机,具有固有矩阵;和
计算***,被配置为:
从所述相机获得描绘人的图像;
基于所述人的面部的一个或多个特征来确定所述面部的面部网格,其中所述面部网格包括面部标志和眼睛标志的组合;
基于所述面部网格的眼睛标志,估计所述面部的至少一只眼睛的眼睛像素尺寸;
基于所述眼睛像素尺寸和所述相机的固有矩阵,估计所述面部的所述至少一只眼睛相对于所述相机的距离;以及
基于所述至少一只眼睛相对于所述相机的距离来修改所述图像。
12.根据权利要求11所述的***,其中,所述眼睛像素尺寸基于所述图像表示所述至少一只眼睛的虹膜的像素大小。
13.根据权利要求12所述的***,其中,所述固有矩阵指示所述相机的像素焦距和所述相机的图像传感器上的主点;并且
其中,所述计算***还被配置为基于所述像素焦距、所述图像传感器上的主点、所述像素眼睛尺寸和平均值眼睛尺寸的组合来估计所述至少一只眼睛相对于所述相机的距离。
14.根据权利要求11所述的***,其中,基于所述图像,所述面部网格的面部标志表示所述面部的轮廓,并且所述面部网格的眼睛标志表示所述面部的至少一只眼睛的轮廓。
15.根据权利要求14所述的***,其中,所述眼睛标志位于所述至少一只眼睛的虹膜周围。
16.根据权利要求15所述的***,其中,所述计算***被配置为基于位于所述至少一只眼睛的虹膜周围的眼睛标志来估计所述至少一只眼睛的虹膜的像素大小,其中,所述虹膜的像素大小对应于所述眼睛像素尺寸。
17.根据权利要求16所述的***,其中,所述计算***还被配置为:
在所述至少一只眼睛的虹膜的像素大小和平均像素虹膜大小之间进行比较;以及
基于所述比较,确定所述虹膜的像素大小是否满足阈值差;并且
其中,所述计算***被配置为响应于确定所述虹膜的像素大小满足所述阈值差,估计所述至少一只眼睛相对于所述相机的距离。
18.根据权利要求11所述的***,其中,所述计算***被配置为:
通过基于所述至少一只眼睛相对于所述相机的距离对所述图像的一个或多个背景部分应用部分模糊来修改所述图像。
19.一种非暂时性计算机可读介质,被配置为存储指令,所述指令在由包括一个或多个处理器的计算***执行时使得计算***执行操作,所述操作包括:
从相机获得描绘人的图像;
基于所述人的面部的一个或多个特征来确定所述面部的面部网格,其中,所述面部网格包括面部标志和眼睛标志的组合;
基于所述面部网格的眼睛标志,估计所述面部的至少一只眼睛的眼睛像素尺寸;
基于所述眼睛像素尺寸和所述相机的固有矩阵,估计所述至少一只眼睛相对于所述相机的距离;以及
基于所述至少一只眼睛相对于所述相机的距离来修改所述图像。
20.根据权利要求19所述的非暂时性计算机可读介质,其中,估计所述面部的至少一只眼睛的眼睛像素尺寸包括:
估计指示所述图像中所表示的所述至少一只眼睛的虹膜的水平直径的像素的数量。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062960514P | 2020-01-13 | 2020-01-13 | |
US62/960,514 | 2020-01-13 | ||
PCT/US2020/033928 WO2021145913A1 (en) | 2020-01-13 | 2020-05-21 | Estimating depth based on iris size |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114945943A true CN114945943A (zh) | 2022-08-26 |
Family
ID=71070039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080093126.1A Pending CN114945943A (zh) | 2020-01-13 | 2020-05-21 | 基于虹膜大小估计深度 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230033956A1 (zh) |
CN (1) | CN114945943A (zh) |
WO (1) | WO2021145913A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115880348A (zh) * | 2023-02-27 | 2023-03-31 | 荣耀终端有限公司 | 一种人脸深度的确定方法、电子设备及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023215623A1 (en) * | 2022-05-06 | 2023-11-09 | Snap Inc. | Monocular camera defocus face measuring |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8723912B2 (en) * | 2010-07-06 | 2014-05-13 | DigitalOptics Corporation Europe Limited | Scene background blurring including face modeling |
US9232189B2 (en) * | 2015-03-18 | 2016-01-05 | Avatar Merger Sub Ii, Llc. | Background modification in video conferencing |
US10019648B2 (en) * | 2015-12-09 | 2018-07-10 | Adobe Systems Incorporated | Image classification based on camera-to-object distance |
CN105654040B (zh) * | 2015-12-24 | 2020-01-03 | 华为技术有限公司 | 基于虹膜的测距方法和移动终端 |
JP7145943B2 (ja) * | 2017-10-04 | 2022-10-03 | グーグル エルエルシー | 単一のカメラを使用した深度の推定 |
KR20190143287A (ko) * | 2018-06-20 | 2019-12-30 | 주식회사 비주얼캠프 | 홍채와 촬영 장치간 거리 예측 방법 및 이를 수행하기 위한 단말 |
-
2020
- 2020-05-21 US US17/788,819 patent/US20230033956A1/en active Pending
- 2020-05-21 CN CN202080093126.1A patent/CN114945943A/zh active Pending
- 2020-05-21 WO PCT/US2020/033928 patent/WO2021145913A1/en active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115880348A (zh) * | 2023-02-27 | 2023-03-31 | 荣耀终端有限公司 | 一种人脸深度的确定方法、电子设备及存储介质 |
CN115880348B (zh) * | 2023-02-27 | 2023-10-24 | 荣耀终端有限公司 | 一种人脸深度的确定方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021145913A1 (en) | 2021-07-22 |
US20230033956A1 (en) | 2023-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111164647B (zh) | 使用单个相机估算深度 | |
CN105814875B (zh) | 选择用于立体成像的相机对 | |
KR102278776B1 (ko) | 이미지 처리 방법, 기기, 및 장치 | |
JP6724045B2 (ja) | 畳み込み色補正 | |
US11663733B2 (en) | Depth determination for images captured with a moving camera and representing moving features | |
JP5980294B2 (ja) | データ処理装置、撮像装置、およびデータ処理方法 | |
US20160301868A1 (en) | Automated generation of panning shots | |
EP4055556B1 (en) | Defocus blur removal and depth estimation using dual-pixel image data | |
CN111968052B (zh) | 图像处理方法、图像处理装置及存储介质 | |
US20230033956A1 (en) | Estimating depth based on iris size | |
GB2537886A (en) | An image acquisition technique | |
CN115244570A (zh) | 合并分离像素数据以获得更深景深 | |
CN117058183A (zh) | 一种基于双摄像头的图像处理方法、装置、电子设备及存储介质 | |
CN115225785A (zh) | 成像***和方法 | |
JP2023540652A (ja) | ソフトレイヤ化および深度認識インペインティングを用いた単画像3d写真技術 | |
US11062518B2 (en) | Method for displaying a mixed reality image | |
TWI390965B (zh) | 數位影像的淺景深模擬方法 | |
JP6501732B2 (ja) | データ処理装置、撮像装置、およびデータ処理装置の制御方法 | |
WO2024076363A1 (en) | Field of view correction techniques for shutterless camera systems | |
JP2019106215A (ja) | データ処理装置、撮像装置、およびデータ処理方法 |
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 |