CN113544732A - 面部上的透视缩短失真校正 - Google Patents

面部上的透视缩短失真校正 Download PDF

Info

Publication number
CN113544732A
CN113544732A CN201980093774.4A CN201980093774A CN113544732A CN 113544732 A CN113544732 A CN 113544732A CN 201980093774 A CN201980093774 A CN 201980093774A CN 113544732 A CN113544732 A CN 113544732A
Authority
CN
China
Prior art keywords
face
image
camera
input image
vertices
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
Application number
CN201980093774.4A
Other languages
English (en)
Inventor
施屹昌
石福昊
于子勋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN113544732A publication Critical patent/CN113544732A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/14Transformations for image registration, e.g. adjusting or mapping for alignment of images
    • G06T3/153Transformations for image registration, e.g. adjusting or mapping for alignment of images using elastic snapping

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

本文档描述能够实现面部上的透视缩短失真校正的技术和***。所述技术和***包括电子设备(102),其生成由相机(118)捕获的输入图像(302)中的对象的深度图(304)。基于深度图,电子设备(102)在输入图像(302)上生成翘曲网格(306)以用于校正透视缩短失真。然后,电子设备(102)根据翘曲网格(306)翘曲输入图像(302)以提供与输入图像(302)相比具有减少的透视缩短失真的输出图像(308)。

Description

面部上的透视缩短失真校正
背景技术
利用手持电子设备为自己拍摄的照片被称为“自拍”。因为利用手持相机在臂长度处捕获自拍,所以捕获的图像经常看起来与本人不同。值得注意的是,人的鼻子可能看起来更大,并且人的面部可能表现出令人不愉快的鱼眼效应。这个问题被称为透视缩短失真(foreshortening distortion),并且是由相机和用户的面部之间的短距离引起的。专业摄影师通过在距对象更远的距离(例如三米或更大)处使用长焦距相机(例如150mm或更大)来避免透视缩短失真。然而,当诸如智能电话的手持设备用于近距离成像时,这些解决方案都不适用于这些手持设备。
发明内容
本文档描述了能够实现面部上的透视缩短失真校正的技术和***。这些技术包括基于图像的方案,其利用图像中的面部区域上的深度代理(例如,深度图)并且计算最优翘曲(warp)以在更大焦距处前向投影(forward project)面部。给定自拍和期望焦距作为输入,这些技术输出新自拍图像,就好像面部是由相机以更大焦距捕获的一样。
根据一个方面,提供一种用于校正图像中的面部上的透视缩短失真的方法,所述方法包括:生成由相机捕获的输入图像中的对象的深度图;基于所述深度图,在所述输入图像上生成翘曲网格以用于校正所述透视缩短失真;以及根据所述翘曲网格翘曲所述输入图像,以提供与所述输入图像相比具有减少的透视缩短失真的输出图像。
该方法还可以包括以下可选特征。生成所述深度图可以包括:利用来自所述输入图像的所述对象的面部拟合三维面部模型;以及使用所拟合的三维面部模型在所述相机的视点处渲染所述深度图。生成所述深度图可以包括:检测所述输入图像中的所述对象上的界标集合;调整通用三维面部模型以采纳检测到的界标集合提供经调整的面部模型,从而提供具有所述对象的所述面部的经调整的3D面部模型;输出经调整的3D面部模型。该方法还可以包括:通过移除在所述经调整的3D面部模型的面部区域之外的一个或多个特征来细化所述经调整的3D面部模型以提供细化的3D面部模型;平滑所述细化的3D面部模型以移除由所述细化引起的锐利轮廓;以及根据所平滑的3D模型光栅化所述深度图。移除所述一个或多个特征可以包括从所述经调整的3D面部模型移除以下中的一个或多个:耳朵、面部的背面、和颈部。生成所述翘曲网格可以包括:在所述输入图像上放置二维2D栅格,所述2D栅格具有多个顶点;对于所述多个顶点中的、与所述输入图像中的所述对象的面部区域相对应的每个顶点,基于所述深度图和相机几何特性(camera geometry)将所述输入图像上的对应点前向投影;以及选择所述面部区域的中心作为重新投影中心以维持所述对象在所述面部区域中所佩戴的一个或多个物体的形状。所述前向投影可以包括:确定所述对象在所述输入图像中的注视方向;基于所述注视方向在所述相机下方,将虚拟相机放置在比所述相机低的位置处;以及向上倾斜所述虚拟相机以使得所述翘曲的结果朝向所述相机改变所述注视方向。该方法还可以包括采用能量函数:均匀地局部分布所述多个顶点;使所述面部区域中的每个顶点符合所述对应点;减少与所述面部区域的轮廓相邻的顶点的翘曲;并且防止所述面部区域外的顶点的翘曲。能量函数可以包括面部项,并且所述方法还可以包括通过以下操作确定所述面部项:对与所述面部区域的轮廓相邻的顶点应用比其他权重更低的权重,所述其他权重被应用于所述面部区域内的不与所述轮廓相邻的顶点;以及允许将所述面部区域内的所述顶点作为群组统一地进行平移和缩放。能量函数可以包括正则化项,并且所述方法还可以包括通过以下操作确定所述正则化项:在所述翘曲网格之外添加填充的顶点;以及裁剪所述填充的顶点以减少接近所述输入图像的边界的伪影。正则化项还可以通过以下操作来确定:惩罚所述翘曲网格的变形方向以减少所述翘曲网格中的相邻连接的定向的变化;以及减少所述面部区域的边界上的顶点上的权重。所述输入图像可以由所述相机在距所述对象的第一距离处捕获;并且输出图像可以表现为如同输出图像是由所述相机在距所述对象比所述第一距离更大的距离处捕获。该方法还可以包括将所述输出图像存储为所捕获的图像。所述相机可以与手持式电子设备集成。
根据另一方面,提供一种电子设备,包括:用于捕获图像的相机;用于存储所述图像的存储器;一个或多个处理器,用于执行存储在所述存储器中的指令以实现上述方法方面。
根据另一方面,提供一种存储处理器可读指令的计算机可读介质,所述处理器可读指令被配置为使一个或多个处理器执行上述方法方面。
应当理解,在一个方面的上下文中描述的特征可以与在另一个方面的场境(context)中描述的特征组合。
提供本发明内容以介绍关于面部上的透视缩短-失真校正的简化概念,这将在以下具体实施方式和附图中进一步描述。本发明内容不旨在标识所要求保护的主题的必要特征,也不旨在用于确定所要求保护的主题的范围。
附图说明
在本文献中参照以下附图描述了面部上的透视缩短失真校正的一个或多个方面的细节。在所有附图中使用相同的数字来引用相同的特征和组件:
图1示出可以实现能够实现面部上的透视缩短失真校正的技术的示例环境。
图2示出可以实现面部上的透视缩短失真校正的电子设备的示例实现方式。
图3示出来自图1和图2的失真校正模块的示例工作流程。
图4描绘面部重建的示例实现方式。
图5描绘示例翘曲网格,其是图3中的翘曲网格的实例。
图6示出对于对象佩戴眼镜的图像使用不同方法的重新投影结果的示例比较。
图7描绘具有一个或多个伪影的翘曲网格的示例实现方式。
图8示出用于自拍的倾斜校正的示例实现方式。
图9描绘用于校正图像中的面部上的透视缩短失真的示例方法。
图10和图11描绘用于校正图像中的面部上的透视缩短失真的方法。
图12示出示例计算***,其可以被实现为如参照图1-10描述的、用于实现面部上的透视缩短失真校正或者其中可以实现能够实现面部上的透视缩短失真校正的技术的任何类型的客户端、服务器和/或电子设备。
具体实施方式
概述
本文档描述能够实现面部上的透视缩短失真校正的技术和***。透视缩短失真导致靠近相机的特征或物体显得更大,而其它特征具有鱼眼效应,从而产生看起来与实际面部不同的面部的图像。这种透视缩短翘曲是由于保持相机的用户手臂的有限长度以及相机的焦距导致。本文所述的技术提供校正透视缩短失真并且输出看起来好像在目标焦距处捕获的图像的基于软件的方案。
在各方面中,公开一种用于校正图像中的面部上的透视缩短失真的方法。该方法包括生成由相机捕获的输入图像中的对象的深度图。另外,该方法包括基于深度图在输入图像上生成翘曲网格以用于校正透视缩短失真。该方法还包括根据翘曲网格翘曲所述输入图像以提供与输入图像相比具有减少的透视缩短失真的输出图像。
在各方面中,公开一种电子设备。该电子设备包括用于捕获图像的相机和用于存储图像的存储器。该电子设备还包括一个或多个处理器,用于执行存储在存储器中的指令以实现重建模块、网格模块和翘曲模块。重建模块检测输入图像中的对象上的界标(landmark)集合,调整通用三维面部模型以采纳检测到的界标集合来提供经调整的面部模型,从而提供具有对象的面部的经调整的3D面部模型,并且输出经调整的3D面部模型。重建模块还通过移除在经调整的3D面部模型的面部区域之外的一个或多个特征来细化经调整的3D面部模型以提供细化的3D面部模型,平滑细化的3D面部模型以移除由细化引起的锐利轮廓,并且根据平滑的3D模型光栅化深度图。网格模块在输入图像上放置二维(2D)栅格,该2D栅格具有多个顶点,对于多个顶点中与输入图像中的对象的面部区域相对应的每个顶点,基于深度图和相机几何特性将所述输入图像上的对应点前向投影,并且选择所述面部区域的中心作为重新投影中心以维持由所述对象在所述面部区域中佩戴的一个或多个物体的形状。网格模块还采用能量函数(例如,网格优化过程)来均匀地局部分布多个顶点,使面部区域中的每个顶点符合对应点,减少与面部区域的轮廓相邻的顶点的翘曲,并且防止面部区域外的顶点的翘曲。然后,网格模块生成将输入上的每个点映射到校正输出的翘曲网格。翘曲模块根据翘曲网格来翘曲输入图像以提供与输入图像相比具有减少的透视缩短失真的输出图像。
这些仅仅是所述技术和设备如何可以用于实现面部上的透视缩短失真校正的几个示例。贯穿本文描述了其他示例和实现方式。本文档现在转向示例操作环境,之后描述示例设备、方法和***。
操作环境
图1示出可以实现能够实现面部上的透视缩短失真校正的技术的示例环境100。示例环境100包括电子设备102(例如,用户设备),其包括或关联于相机***104、一个或多个计算机可读介质106和显示设备108。如下文进一步描述,电子设备102被配置以实现失真校正模块110。
在所示出的环境100中,用户112持有电子设备102并且使用相机***104来“自拍”。如116-1所示,相机***104捕获用户112的图像114,在所捕获的图像114中,由于相机***104的相机118和用户的面部之间的接近,用户的面部失真。例如,用户的鼻子看起来太大,而鼻子和嘴部区域看起来垂直伸长。使用所捕获的图像114和相机的焦距作为输入,失真校正模块110操纵所捕获的图像114以提供输出图像120,该输出图像看起来就像它在更大的焦距处被捕获。如下面进一步详细描述的,图像操纵利用面部模型重建和基于网格的图像翘曲来校正透视缩短失真。如116-2中所示,输出图像120中的用户鼻子看起来比所捕获的图像114中的用户鼻子小,且鼻子和嘴部区域伸长较少。另外,输出图像120中的眼睛与所捕获的图像114相比更近。输出图像120中的眼睛与鼻子之间的比率不同于所捕获的图像114中的对应比率。使用本文描述的技术,输出图像120更能代表用户112的人类感知的外观,并且因此由于所捕获的图像114中的失真,与所捕获的图像114相比“看起来”更像用户112。主观上,输出图像120看起来比所捕获的图像114更自然。
更详细地,考虑图2,其示出可以实现面部上的透视缩短失真校正的电子设备102的示例实现方式200。图2的电子设备102被示出为具有各种示例设备,包括智能电话102-1、平板电脑1022、膝上型计算机102-3、台式计算机102-4、计算手表102-5、计算眼镜102-6、游戏***102-7、家庭自动化和控制***102-8、以及微波炉102-9。电子设备102还可以包括其他设备,诸如电视机、娱乐***、音频***、汽车、无人机、跟踪板、绘图板、上网本、电子阅读器、家庭安全***、以及其他家用电器。注意,电子设备102可以是可穿戴的、非可穿戴但移动的、或相对不动的(例如,台式机和电器)。
电子设备102还包括一个或多个计算机处理器202和一个或多个计算机可读介质106,其包括存储器介质和存储介质。实现为计算机可读介质106上的计算机可读指令的应用和/或操作***204可以由计算机处理器202执行以提供本文所述的一些或全部功能。例如,计算机可读介质106可以包括失真校正模块110,其实现重建模块206、网格模块208和翘曲模块210。
重建模块206被配置为生成输入图像中的面部区域上的深度图。为此,重建模块206首先基于输入图像中的用户的面部重建头部模型。具体地,重建模块206基于输入图像拟合三维(3D)面部模型,然后使用该3D面部模型在相机的视点(例如,焦距)处渲染深度图。为了生成3D面部模型,重建模块206使用面部检测算法来检测输入上的界标集合。然后,重建模块206通过调整标准面部模型(例如,通用面部模型)来采纳检测到的界标以将检测到的界标拟合到标准面部模型。在一个示例中,重建模块206最小化在欧几里得空间中的界标和标准面部模型的对应点之间的欧几里得范数(例如,L2距离)。然后,重建模块206输出看起来像输入图像中的对象的3D面部模型。重建模块206通过从3D模型中移除耳朵、面部的背面和颈部来细化3D面部模型。然后,平滑该细化的3D面部模型以避免由模型细化引起的尖锐轮廓。然后,重建模块206根据经平滑的3D模型来光栅化深度图。
网格模块208被配置成生成将输入图像上的每个点映射到经校正的输出的翘曲网格(例如,经平滑的3D模型)。网格模块208首先在输入图像上放置二维(2D)栅格M。对于与输入图像中的面部区域重叠的栅格上的每个顶点,网格模块208基于深度图和相机几何特性(例如,焦距、定向、角度)相对于面部前向投影对应点。作为前向投影的一部分,网格模块208将重新投影中心选择为在面部区域的中心处,以避免在图像中压缩用户佩戴的眼镜。投影顶点由项M'表示。在一些情况下,包括投影顶点M'的网格可能与背景不兼容。为了解决这种不兼容性,网格模块208通过利用能量/成本函数来采用网格优化过程,以在投影顶点M'和背景之间进行平衡。网格优化过程包括能量项,该能量项包括面部项和正则化项。对于面部项,面部顶点应该接近M',面部项应该允许平移和缩放,并且较低的权重被指派给与轮廓相邻的顶点。正则化项基于|Vi-Vj|^2,其中Vi和Vj是2D栅格M上的相邻顶点。正则化项也基于线弯曲(line-bending)项,通过惩罚网格变形方向来减少翘曲网格中的相邻连接定向的变化。使用任何合适的求解器(诸如非线性最小二乘求解器),求解网格优化过程。
翘曲模块210被配置为根据由网格模块208生成的翘曲网格来翘曲输入图像。任何合适的图像翘曲方法都可以用于翘曲图像。翘曲模块210然后提供作为输入图像的翘曲版本的输出图像。输出图像被渲染以经由显示设备108显示,并且是用户面部的人类可感知的外观的更准确表示。
电子设备102还可以包括网络接口212。电子设备102可以使用网络接口212来通过有线、无线或光学网络传达数据。作为示例而非限制,网络接口212可以通过局域网(LAN)、无线局域网(WLAN)、个人区域网(PAN)、广域网(WAN)、内联网、因特网、对等网络、点对点网络或网状网络来传达数据。
相机***104被实现为捕获图像数据。相机***104可以包括一个或多个前置相机和后置相机。示例前置相机在图1中被示出为相机118,相机***104具有宽视场(FOV)(例如,64度、83度、90度),这允许群体自拍。然而,利用相同宽FOV相机,用户112可能保持相机118更靠近他们的面部以便自拍,以便用户的面部占据所捕获的图像中的更大区域。
电子设备102还可以包括一个或多个传感器214。一个或多个传感器214可以包括各种传感器中的任何一种,诸如音频传感器(例如,麦克风)、触摸输入传感器(例如,触摸屏)、图像捕获设备(例如,相机或摄像机)、接近传感器(例如,电容传感器)或环境光传感器(例如,光电检测器)。
电子设备102还可以包括显示设备108。显示设备108可以包括任何合适的显示设备,诸如触摸屏、液晶显示器(LCD)、薄膜晶体管(TFT)LCD、面内转换(IPS)LCD、电容触摸屏显示器、有机发光二极管(OLED)显示器、有源矩阵有机发光二极管(AMOLED)显示器、超级AMOLED显示器等。
图3示出图1和图2的失真校正模块110的示例工作流程300。相机***104捕获原始图像302。重建模块206使用原始图像302作为输入图像。使用输入图像,重建模块206通过将输入图像中的对象的面部拟合到3D面部模型上以生成深度图来从输入图像重建头部模型。在拟合期间,重建模块206还计算3D模型相对于相机的旋转和平移。网格模块208使用深度图来计算输入图像上的翘曲网格306,以便使用重投影和正则化技术来进行校正。翘曲模块210根据翘曲网格翘曲输入图像以提供具有减小的透视缩短失真的输出图像308。例如,输出图像308中的面部被伸长较小,鼻子较窄,并且眼睛与鼻子之间的比率与原始图像302的比率相比更小。下面描述这个和其它特征的进一步细节。
如上所述,重建模块206首先检测输入图像中的面部上的界标。图4中示出这样的示例,其描述面部重建的示例实现方式400。例如,给定图像402,重建模块206检测与图像402中的面部406上的各种特征相对应的多个界标404。另外,图4示出示例重建3D面部模型408,其基于从图像402估计的面部到相机的距离和定向。在各方面,相机和头部模型被放置在其中y轴与重力相反的右手坐标系中。相机被放置在z轴正方向上,并且面向坐标系的原点,其中上行矢量(up-vector)平行于y轴。头部模型被近似地放置在坐标系的原点,面向近似地平行于正z轴的方向。
返回图3,头部模型用相机光栅化,其中深度分量被记录在2D图像(即深度图304)中。深度图304具有与输入图像302相同的深度。如深度图304中所示,移除面部区域之外的特征(例如,模型的耳朵和背面),因为它们不是模型的面部部分的一部分。另外,由于眼睛和嘴部没有被模型覆盖,因此在所得的深度图中可能存在中空部分。由于拟合过程的不准确性(通常在面部以反常的角度摆出的图像中出现),深度图可能溢出面部部分,从而覆盖背景的部分并且引入伪影。为了解决这些伪影,从输入图像计算肖像分割以进一步修整深度图。
使用相机和头部模型,虚拟相机可以朝向头部模型被定向,但与相机和面部之间的距离相比,虚拟相机与头部模型相距更大的距离,以捕获(或重新捕获)具有较少的透视缩短失真的头部模型。虚拟相机的距离可以根据用户输入来指定,或者预定义的默认值可以被使用。估计虚拟相机的FOV或焦距,使得面部在新图像中占据与其在输入图像302中占据的区域近似相同的面积(例如,相同的大小)。使用深度图,网格模块208计算头部模型上的3D点,其对应于输入图像302中的特征点。然后,这些3D点被投影到虚拟相机上,从而产生每个3D点的不同像素坐标。在各方面中,这些3D点在图像平面上均匀地取得。网格模块208可以在3D点上执行投影过程以确定虚拟相机上的对应翘曲点,其可以被组织为在直线栅格上定义的翘曲网格(例如,翘曲网格306)。
图5示出示例翘曲网格500,其是图3中的翘曲网格306的实例,翘曲网格500用于存储用于校正缩短翘曲的信息。翘曲网格500具有基本上覆盖整个图像的均匀直线栅格502。翘曲网格500可以具有任何合适数量的单元(cell)504,例如每侧约100个单元。栅格上的每个顶点对应于输入图像302中的图像坐标。翘曲网格500还将栅格上的每个顶点506与描述该顶点的翘曲位置508的另一图像坐标相关联。
为了计算翘曲位置508,网格模块208确定顶点是否位于面部(面部由面部边界510表示)上。如果顶点在面部上(例如,在面部边界510内),则深度图用于计算面部上对应于底层图像坐标的3D点,并且将该点投影到虚拟相机上以获得新图像坐标。如果顶点不在面部上,则在该顶点上没有翘曲,并且网格模块208避免计算该顶点的翘曲位置。例如,顶点512被确定为在面部边界510内,并且因此,网格模块208确定顶点512的翘曲位置514。网格模块208确定顶点516(以及由实心圆表示的其他顶点)在面部边界510之外,因此不在面部上。因此,网格模块208不计算顶点516的翘曲位置,因为仅图像中的面部将被翘曲。在翘曲网格的边界518上或附近的顶点,诸如顶点520(由空心圆表示)被确定为边界顶点,并且不被翘曲而是保持固定。另外,顶点522被确定为在网格边界之外,并且类似于顶点516被处理。
由于重新投影处理的性质,图像内容被朝向图像的中心压缩,从而在所得图像中引起一些伪影。例如,图6示出包括在使用不同方法进行重新投影之后对象佩戴眼镜的图像的比较的示例600。所示出的示例600包括面部604佩戴眼镜606-1的原始图像602。为了比较的目的,图6包括基于朴素投影(
Figure BDA0003249811780000111
projection)的第一处理图像608和基于投影以面部604为中心的第二处理图像610。
在第一处理图像608中,朴素投影使用图像608的图像中心612作为用于重新投影的中心(例如,由箭头614-1表示的重新投影中心),这使得图像608朝向图像中心612被压缩。这种压缩导致对图像608的不在图像608的中心的部分的一些不期望影响。例如,注意到眼镜606-2与原始图像602中的眼镜606-1的原始形状相比已失真。这种失真是由于朝向图像608的图像中心612的压缩。为了解决该问题,网格模块208使用面部604的边界的质心616(例如,面部区域的近似中心)用于重新投影中心(例如,由箭头614-2表示的重新投影中心)。使用用于重新投影中心的面部边界质心616使得翘曲将面部604朝向面部604的中心压缩。注意,眼镜606-3的形状与原始图像602中的眼镜606-1的形状大致相同。
图7描绘具有一个或多个伪影的翘曲网格的示例实现方式700。在一些实例中,由网格模块208输出的所得到的翘曲网格(例如,翘曲网格306)可以包括一个或多个伪影。伪影可以包括在翘曲期间由一个或多个顶点的过多改变引起的翘曲图像中的内容不连续性,其导致由翘曲网格中的顶点子集定义的两个或更多个四边形(“quad”)之间的重叠。图像702表示经处理的图像,其中,翘曲网格704(例如,翘曲网格500)已被应用于原始图像302。伪影706是由翘曲网格704中的重叠四边形引起,诸如四边形708与四边形710重叠,并且四边形712与四边形710和四边形714两者重叠。
为了解决这个问题,数值优化过程可以用于正则化翘曲网格。填充(padding)顶点(例如,图5中的顶点522)被添加在原始翘曲网格之外,然后被裁剪以减少接近输入图像的边界的伪影,诸如由面部接触图像边界所引入的伪影。在示例中,在翘曲网格704的四个边中的每个边上填充多层的顶点。这确保面部顶点(例如,面部上或面部区域中的栅格顶点,诸如图5中的顶点512)不接触翘曲网格的边界。栅格边界上的顶点(例如,图5中的顶点520)是固定的,并且不落在该面部上或栅格边界上的其他顶点(例如,图5中的顶点516)可以自由移动。
为了正则化该翘曲网格,网格模块208应用定义在该翘曲网格上的能量函数,并且最小化该能量以鼓励顶点均匀分布。不在栅格边界上的顶点(诸如图5中的顶点506、512、516和522)经受正则化。能量函数是非线性最小二乘***,并且由以下等式定义:
Figure BDA0003249811780000121
在等式1中,项i是指到翘曲网格的相应顶点的索引。项F是指到翘曲网格的相应面部顶点的索引,而项B是指到翘曲网格的相应边界顶点的索引。项(i,j)表示相邻顶点之间的连接(因为栅格由四边形形成,所以一个顶点可以具有至多四个相邻顶点)。项ui表示翘曲顶点的位置并且以优化为目标。项W(i)是指相应顶点的基于投影的图像坐标。项T是指数据张量,诸如可用于构建具有两个属性(即身份和表情)的双线性面部模型的秩三数据张量。等式1中的第一求和项计算面部顶点上的能量。通过最小化该项,促进面部顶点符合基于投影的翘曲。等式1中的第二求和项评估所有相邻顶点对上的能量。通过最小化该项,促进栅格顶点在其邻域中均匀地局部分布。此外,项s缩放作为整体的面部顶点集合并且项t平移作为整体的面部顶点集合。
两个求和项之间的平衡由wF(i)和Λij加权。面部边界(例如轮廓)上的顶点与面部上的顶点被不同地处理。面部的边界上的面部顶点被给予更低权重。在一个示例中,如果i不在面部上则wF(i)为零(0),或者如果i在面部上则wF(i)为一(1),并且如果i在面部上的轮廓上则wF(i)乘以缩放因子(例如,0.5)。因此,将顶点保持就位的能量项上的权重被减小,以使它们更容易受到正则化。为了识别面部顶点是否在轮廓上,网格模块208可以制作深度图的副本,以例如0.9的因子缩放深度图的副本,将其中心与原始深度图的中心对准,并且如果面部顶点不位于调整大小的副本的面部区域内,则将面部顶点称为“在轮廓上”。以这种方式缩放深度图允许朝向面部区域的中心进行更多的缩放或压缩,而在面部上的边界附近进行更少的缩放或压缩。
项Λij被称为线弯曲项并且被引入成对(pair-wise)能量,使得连接保持对它们的取向的最小改变。该项Λij通常是对角的和正的,并且被设计为通过如果(i,j)垂直连接则使(ui,uj)的x分量中的差惩罚更多并且(i,j)水平连接则使(ui,uj)的y分量中的差惩罚更多,来防止线弯曲。
图8示出面部的倾斜校正的示例实现方式800。当用户自拍时,他们通常在按压按钮捕获图像之前看向显示器以查看预览图像。然而,由于硬件约束,相机通常偏离显示器。因为用户通常观看显示设备108而不是相机118,所以当自拍时,用户的面部可能在所捕获的图像中向下倾斜。图8中示出这种倾斜的示例,其中示出了对象802的侧面轮廓正在注视朝向显示设备108而不是朝向相机118的方向804。
在头部模型被重建并且被配准到相机的情况下,头部模型上的3D点可以围绕x轴(例如,相对于相机的视角的水平轴,朝向/远离图8中的页面的方向)旋转以使头部模型向上倾斜。例如,虚拟相机(例如,虚拟相机806)可以放置在y轴上的更低位置处并且在执行重新投影之前向上倾斜。结果,对象802看起来直视虚拟相机806,而不是相机118下方。虚拟相机806在y轴上的放置可以基于对对象802的注视的检测。可以使头部模型旋转四到十二度的示例范围内的角度。该旋转可以使得眼睛的焦点相对于电子设备102向上移动,近似地落在相机118上,如由对象808所示。通过对翘曲网格应用倾斜校正,校正了用户的面部向下倾斜的所捕获的图像的翘曲,并且用户的面部看上去直视相机。
返回图3,翘曲模块210使用由网格模块208提供的翘曲网格306来翘曲原始图像302,以提供输出图像308。可以使用任何合适的翘曲技术。通过使用基于深度图并且已经被正则化的翘曲网格306,输出的翘曲图像与原始图像302相比具有减少的透视缩短失真,并且是如现实中的其他人所感知的对象的更好表示。
示例方法
图9示出用于校正面部上的透视缩短失真的示例方法900。方法900可以由电子设备102执行,其使用相机***104来捕获输入图像并且使用失真校正模块110来校正透视缩短失真。方法900被示为指定所执行的操作的一组框,但不必限于所示的执行相应框的操作的次序或组合。此外,可以重复、组合、重组或链接一个或多个操作中的任何一个,以提供各种各样的附加和/或替选方法。在以下讨论的部分中,可以参考图1的示例操作环境100或如图2-8中详细描述的实体或过程,对其的参考仅作为示例。所述技术不限于由在一个设备上操作的一个实体或多个实体执行。
在902处,针对由相机捕获的输入图像中的对象生成半稠密深度图。例如,图1中的失真校正模块110确定输入图像中的对象的面部上的界标,并且将三维(3D)面部模型拟合到该面部。然后,失真校正模块110使用拟合的3D面部模型来在相机的视点处渲染深度图。
在904,基于深度图,在输入图像上生成翘曲网格以校正透视缩短失真。例如,失真校正模块110基于深度图和相机几何特性(诸如焦距、定向和旋转)生成翘曲网格。另外,失真校正模块110基于深度图选择面部区域的中心而不是图像中心作为用于在输入图像上正向投影点的重新投影中心。失真校正模块110还执行网格优化处理,以平滑在面部区域和背景区域之间的区域中的翘曲网格。
在906,根据翘曲网格翘曲输入图像以提供与输入图像相比具有减少的透视缩短失真的输出图像。失真校正模块110可以使用任何合适的翘曲机制来基于翘曲网格306翘曲输入图像(例如,原始图像302)。例如,输入图像上与放置在输入图像上的未翘曲栅格(例如,2D栅格502)上的顶点相对应的每个点被翘曲(例如,平移)到映射到翘曲网格306上的对应顶点的新坐标。
图10和图11示出用于校正自拍照片中的透视缩短失真的方法1000。方法1000可以由电子设备102执行,其使用相机***104来捕获输入图像并且使用失真校正模块110来校正透视缩短失真。方法1000被示为指定所执行的操作的一组框,但不必限于所示的执行相应框的操作的次序或组合。此外,可以重复、组合、重组或链接一个或多个操作中的任何一个,以提供各种各样的附加和/或替选方法。在以下讨论的部分中,可以参考图1的示例操作环境100或如图2-8中详细描述的实体或过程,对其的参考仅作为示例。所述技术不限于由在一个设备上操作的一个实体或多个实体执行。
在1002,接收包括人的面部的输入图像。电子设备102的相机***104可以捕获输入图像,诸如图像302。输入图像可以由持有电子设备的用户112捕获以拍摄自拍肖像(例如自拍照片)。输入图像可以经由电子设备102的前置相机118或后置相机来捕获。
在1004,在输入图像中的面部上检测界标集合。在各方面中,重建模块206可以对输入图像使用任何合适的检测技术来检测表示人的面部上的面部特征的界标集合。
在1006,调整通用面部模型以采纳检测到的界标集合。在示例中,重建模块206执行模型拟合过程以将通用3D面部或头部模型与界标匹配,特别是通过修改通用3D面部模型来采纳界标。
在1008,输出具有来自输入图像的对象的面部的经调整的3D面部模型。在各方面中,重建模块206向网格模块208提供经修改的3D面部模型(被修改以拟合界标)。
在1010,通过移除面部区域之外的一个或多个特征来细化经调整的3D面部模型以提供细化的3D面部模型。在一个示例中,重建模块206从3D面部模型中移除耳朵、颈部和面部的背面。这是为了允许失真校正主要发生在输入图像的面部区域上。
在1012,对细化的3D面部模型进行平滑以移除由细化所引起的锐利轮廓。重建模块206可以执行3D面部模型的平滑。可以使用任何合适的平滑技术。
在1014,根据平滑的3D面部模型来光栅化深度图。在各方面中,重建模块206通过使用平滑的3D面部模型来生成深度图(诸如图3中的深度图304)并且对其进行光栅化。深度图基于捕获输入图像的相机的焦距。
在1016,将二维(2D)栅格放置在输入图像上,该2D栅格具有多个顶点。在各方面中,网格模块208将2D栅格放置在输入图像上。2D栅格包括多个四边形(例如,由2D栅格上的四个顶点形成的四边形)。
在1018,对于对应于输入图像中的对象的面部区域的多个顶点中的每个顶点,基于深度图和相机几何特性,将输入图像上的对应点前向投影,以生成翘曲网格。例如,如参考图2所描述的,网格模块208基于深度图和相机几何特性将输入图像上的点前向投影。
在1020,选择面部区域的中心作为重新投影中心,以保持由对象佩戴在面部区域中的一个或多个物体的形状。例如,如关于图6所描述的,网格模块208选择第二处理图像610中的面部604的边界框质心616。由于重新投影中心的位置,维持眼镜606-3的形状。
在1022,采用能量函数来在投影顶点和背景场景之间进行平衡。在示例中,网格模块208将关于等式1描述的能量函数应用为网格优化过程,以使得翘曲网格在面部区域、背景区域周围以及在面部区域和背景区域之间看上去自然和平滑。
在1024,根据能量函数(例如,网格优化过程)对图像进行翘曲以提供输出图像。例如,翘曲模块210基于翘曲网格来翘曲输入图像(例如,原始图像302)以提供翘曲图像(例如,输出图像308)。
在1026,输出图像被存储为所捕获的图像。例如,输出图像308被存储在存储器(诸如计算机可读介质106的存储存储器)中。在各方面中,输出图像可以被存储为所捕获的图像以替换输入图像。替选地,除了输出图像之外,输入图像还可以存储在存储器中。输出图像也可以经由显示设备108显示。
通常,本文描述的任何组件、模块、方法和操作可以使用软件、固件、硬件(例如,固定逻辑电路)、手动处理或其任何组合来实现。示例方法的一些操作可以在存储在计算机处理***本地和/或远程的计算机可读存储存储器上的可执行指令的一般上下文中描述,并且实现方式可以包括软件应用、程序、功能等。可替换地或此外,这里描述的任何功能可以至少部分地由一个或多个硬件逻辑组件来执行,所述硬件逻辑组件例如但不限于现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上***(SoC)、复杂可编程逻辑器件(CPLD)等。
示例计算***
图12示出可以被实现为如参考之前的图1-11所描述的用于实现面部上的透视缩短失真校正的任何类型的客户端、服务器和/或电子设备的示例计算***1200的各种组件。
计算***1200包括通信设备1202,其使得能够进行设备数据1204(例如,雷达数据、认证数据、参考数据、接收到的数据、正在接收的数据、被调度用于广播的数据、以及数据的数据分组)的有线和/或无线通信。设备数据1204或其他设备内容可以包括设备的配置设置、存储在设备上的媒体内容和/或与设备的用户相关联的信息(例如,雷达场内的人的身份或定制的空中手势数据)。存储在计算***1200上的媒体内容可以包括任何类型的雷达、生物计量、音频、视频和/或图像数据。计算***1200包括一个或多个数据输入1206,经由该数据输入可以接收任何类型的数据、媒体内容和/或输入,诸如人类话语、与雷达场的交互、触摸输入、用户可选输入或交互(显式或隐式)、消息、音乐、电视媒体内容、记录的视频内容、以及从任何内容和/或数据源接收的任何其他类型的音频、视频和/或图像数据。
计算***1200还包括通信接口1208,其可以被实现为以下中的任一个或多个:串行和/或并行接口、无线接口、任何类型的网络接口、调制解调器,以及被实现为任何其他类型的通信接口。通信接口1208提供计算***1200与通信网络之间的连接和/或通信链路,其他电子、计算和通信设备通过该连接和/或通信链路与计算***1200传达数据。
计算***1200包括一个或多个处理器1210(例如,微处理器、控制器或其他控制器中的任何一个),其可以处理各种计算机可执行指令以控制计算***1200的操作并且实现用于面部认证嵌入迁移和漂移补偿的技术,或者其中可以实现面部认证嵌入迁移和漂移补偿的技术。替选地或另外地,计算***1200可以用硬件、固件或结合处理和控制电路实现的固定逻辑电路中的任何一个或组合来实现,这些电路一般在1212处标识。尽管未示出,但是计算***1200可以包括耦合设备内的各种组件的***总线或数据传输***。***总线可以包括不同总线结构中的任何一个或组合,诸如存储器总线或存储器控制器、***总线、通用串行总线、和/或利用各种总线体系结构中的任何一种的处理器或局部总线。
计算***1200还包括计算机可读介质1214,诸如实现持久和/或非暂时性数据存储(与仅信号传输相比)的一个或多个存储器设备,其示例包括随机存取存储器(RAM)、非易失性存储器(例如,只读存储器(ROM)、闪存、EPROM、EEPROM等中的任何一个或多个)以及盘存储设备。盘存储设备可以被实现为任何类型的磁或光存储设备,诸如硬盘驱动器、可记录和/或可重写光盘(CD)、任何类型的数字多功能盘(DVD)等。计算机可读介质1214的一个示例包括图1中的计算机可读介质106。计算***1200还可包括大容量存储介质设备(存储介质)1216。
计算机可读介质1214提供数据存储机制以存储设备数据1204,以及各种设备应用1218和与计算***1200的操作方面相关的任何其他类型的信息和/或数据。例如,操作***1220可以作为计算机应用与计算机可读介质1214一起维护并在处理器1210上执行。设备应用1218可以包括设备管理器,诸如任何形式的控制应用、软件应用、信号处理和控制模块、特定设备本地的代码、抽象模块、空中手势识别模块和其他模块。设备应用1218还可以包括用于实现面部上的透视缩短失真校正的***组件、引擎、模块或管理器,其示例包括失真校正模块110和相机***104。计算***1200还可以包括或访问一个或多个机器学习***。
结论
尽管已经以特定于特征和/或方法的语言描述了用于实现面部上的透视收缩失真校正的技术和装置的实现方式,但是应当理解,所附权利要求书的主题不必限于所描述的特定特征或方法。相反,这些特定特征和方法被公开作为面部上的透视缩短失真校正的示例实现方式。

Claims (15)

1.一种用于校正图像中的面部上的透视缩短失真的方法,所述方法包括:
生成由相机捕获的输入图像中的对象的深度图;
基于所述深度图,在所述输入图像上生成翘曲网格以用于校正所述透视缩短失真;以及
根据所述翘曲网格来翘曲所述输入图像,以提供与所述输入图像相比具有减少的透视缩短失真的输出图像。
2.根据权利要求1所述的方法,其中,生成所述深度图包括:
利用来自所述输入图像的所述对象的面部来拟合三维面部模型;以及
使用所拟合的三维面部模型在所述相机的视点处渲染所述深度图。
3.根据权利要求1或权利要求2所述的方法,其中,生成所述深度图包括:
检测所述输入图像中的所述对象上的界标集合;
调整通用三维面部模型来采纳检测到的界标集合,以提供经调整的面部模型,从而提供具有所述对象的所述面部的经调整的3D面部模型;
输出所述经调整的3D面部模型。
4.根据权利要求3所述的方法,还包括:
通过移除在所述经调整的3D面部模型的面部区域之外的一个或多个特征来细化所述经调整的3D面部模型,以提供细化的3D面部模型;
平滑所述细化的3D面部模型以移除由所述细化引起的锐利轮廓;以及
根据所平滑的3D模型来将所述深度图光栅化。
5.根据权利要求4所述的方法,其中,移除所述一个或多个特征包括:从所述经调整的3D面部模型移除以下中的一个或多个:耳朵、面部的背面和颈部。
6.根据前述权利要求中的任一项所述的方法,其中,生成所述翘曲网格包括:
在所述输入图像上放置二维2D栅格,所述2D栅格具有多个顶点;
对于所述多个顶点中的与所述输入图像中的所述对象的面部区域相对应的每个顶点,基于所述深度图和相机几何特性来将所述输入图像上的对应点进行前向投影;以及
选择所述面部区域的中心作为重新投影中心,以维持所述对象在所述面部区域中所佩戴的一个或多个物体的形状。
7.根据权利要求6所述的方法,其中,所述前向投影包括:
确定所述对象在所述输入图像中的注视方向;
基于所述注视方向在所述相机下方,将虚拟相机放置在比所述相机低的位置处;以及
向上倾斜所述虚拟相机以使得所述翘曲的结果朝向所述相机改变所述注视方向。
8.根据权利要求6或权利要求7所述的方法,还包括采用能量函数以用于:
均匀地在局部分布所述多个顶点;
使所述面部区域中的每个顶点符合所述对应点;
减少与所述面部区域的轮廓相邻的顶点的翘曲;以及
防止所述面部区域外的顶点的翘曲。
9.根据权利要求8所述的方法,其中,所述能量函数包括面部项,并且所述方法还包括通过以下操作来确定所述面部项:
对与所述面部区域的轮廓相邻的顶点应用比其他权重更低的权重,所述其他权重被应用于所述面部区域内的不与所述轮廓相邻的顶点;以及
允许将所述面部区域内的所述顶点作为群组统一地进行平移和缩放。
10.根据权利要求8或权利要求9所述的方法,其中,所述能量函数包括正则化项,并且所述方法还包括通过以下操作来确定所述正则化项:
在所述翘曲网格之外添加填充的顶点;以及
裁剪所述填充的顶点以减少接近所述输入图像的边界的伪影。
11.根据权利要求10所述的方法,其中,还通过以下操作来确定所述正则化项:
惩罚所述翘曲网格的变形方向以减少所述翘曲网格中的相邻连接的定向的变化;以及
减少所述面部区域的边界上的顶点上的权重。
12.根据前述权利要求中的任一项所述的方法,其中:
所述输入图像是由所述相机在距所述对象的第一距离处捕获的;以及
所述输出图像表现为如同所述输出图像是由所述相机在距所述对象比所述第一距离更大的距离处捕获的。
13.根据前述权利要求中的任一项所述的方法,还包括:将所述输出图像存储为所捕获的图像。
14.根据前述权利要求中的任一项所述的方法,其中,所述相机与手持式电子设备集成在一起。
15.一种电子设备,包括:
用于捕获图像的相机;
用于存储所述图像的存储器;
一个或多个处理器,用于执行存储在所述存储器中的指令以实现前述权利要求中的任一项所述的方法。
CN201980093774.4A 2019-11-13 2019-11-13 面部上的透视缩短失真校正 Pending CN113544732A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2019/061298 WO2021096503A1 (en) 2019-11-13 2019-11-13 Foreshortening-distortion correction on faces

Publications (1)

Publication Number Publication Date
CN113544732A true CN113544732A (zh) 2021-10-22

Family

ID=68835323

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980093774.4A Pending CN113544732A (zh) 2019-11-13 2019-11-13 面部上的透视缩短失真校正

Country Status (2)

Country Link
CN (1) CN113544732A (zh)
WO (1) WO2021096503A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11908233B2 (en) * 2020-11-02 2024-02-20 Pinscreen, Inc. Normalization of facial images using deep neural networks
US20230245330A1 (en) * 2022-01-31 2023-08-03 Samsung Electronics Co., Ltd. System and method for facial un-distortion in digital images using multiple imaging sensors

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110267348A1 (en) * 2010-04-29 2011-11-03 Dennis Lin Systems and methods for generating a virtual camera viewpoint for an image
US20170069056A1 (en) * 2015-09-04 2017-03-09 Adobe Systems Incorporated Focal Length Warping
CN108475330A (zh) * 2015-11-09 2018-08-31 港大科桥有限公司 用于有伪像感知的视图合成的辅助数据

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110267348A1 (en) * 2010-04-29 2011-11-03 Dennis Lin Systems and methods for generating a virtual camera viewpoint for an image
US20170069056A1 (en) * 2015-09-04 2017-03-09 Adobe Systems Incorporated Focal Length Warping
CN108475330A (zh) * 2015-11-09 2018-08-31 港大科桥有限公司 用于有伪像感知的视图合成的辅助数据

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
KIM DAIJIN: "《Automated face analysis: emerging technologies and research: emerging technologies and research》", 1 January 2009, MEDICAL INFORMATION SCIENCE REFERENCE, pages: 1 - 6 *
LAURA TURBAN 等: "From Kinect video to realistic and animatable MPEG-4 face model: A complete framework", 《2015 IEEE INTERNATIONAL CONFERENCE ON MULTIMEDIA & EXPO WORKSHOPS (ICMEW)》, 30 July 2015 (2015-07-30), pages 1 - 6 *
RUI MIN 等: "KinectFaceDB: A Kinect Database for Face Recognition", 《IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS: SYSTEMS》, vol. 44, no. 11, 28 June 2014 (2014-06-28), pages 1534 - 1548, XP011561401, DOI: 10.1109/TSMC.2014.2331215 *
YASMINA ANDREU 等: "Wize Mirror - a smart, multisensory cardio-metabolic risk monitoring system", 《COMPUTER VISION AND IMAGE UNDERSTANDING》, vol. 148, 31 July 2016 (2016-07-31), pages 3 - 22, XP029556543, DOI: 10.1016/j.cviu.2016.03.018 *

Also Published As

Publication number Publication date
WO2021096503A1 (en) 2021-05-20

Similar Documents

Publication Publication Date Title
Kuster et al. Gaze correction for home video conferencing
JP7403528B2 (ja) シーンの色及び深度の情報を再構成するための方法及びシステム
CN109314753B (zh) 使用光流生成中间视图的方法和计算机可读存储介质
US20200058153A1 (en) Methods and Devices for Acquiring 3D Face, and Computer Readable Storage Media
US10284817B2 (en) Device for and method of corneal imaging
KR101560508B1 (ko) 3차원 이미지 모델 조정을 위한 방법 및 장치
US10403001B2 (en) Producing three-dimensional representation based on images of an object
US10403045B2 (en) Photorealistic augmented reality system
US10169891B2 (en) Producing three-dimensional representation based on images of a person
GB2528993A (en) Relightable texture for use in rendering an image
TW201220828A (en) Image corretion method and related image corretion system thereof
US9253415B2 (en) Simulating tracking shots from image sequences
JPWO2007129446A1 (ja) 画像処理方法、画像処理プログラム、画像処理装置、及び撮像装置
CN113544732A (zh) 面部上的透视缩短失真校正
JP6552266B2 (ja) 画像処理装置、画像処理方法およびプログラム
US11620777B2 (en) Editor for images with depth data
US11212502B2 (en) Method of modifying an image on a computational device
Cheng et al. Quad‐fisheye Image Stitching for Monoscopic Panorama Reconstruction
CN114399610A (zh) 基于引导先验的纹理映射***和方法
CN108876704A (zh) 人脸图像变形的方法、装置及计算机存储介质
WO2013021150A1 (en) Fisheye video correction
JP2014006658A (ja) 陰影情報導出装置、陰影情報導出方法及びプログラム
Kim et al. Real‐Time Human Shadow Removal in a Front Projection System
Chang et al. R2p: Recomposition and retargeting of photographic images
JP5506371B2 (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