CN112733797B - 人脸图像的视线矫正方法、装置、设备及存储介质 - Google Patents

人脸图像的视线矫正方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112733797B
CN112733797B CN202110089871.5A CN202110089871A CN112733797B CN 112733797 B CN112733797 B CN 112733797B CN 202110089871 A CN202110089871 A CN 202110089871A CN 112733797 B CN112733797 B CN 112733797B
Authority
CN
China
Prior art keywords
image
eye
corrected
eye image
sample
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.)
Active
Application number
CN202110089871.5A
Other languages
English (en)
Other versions
CN112733797A (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110089871.5A priority Critical patent/CN112733797B/zh
Publication of CN112733797A publication Critical patent/CN112733797A/zh
Application granted granted Critical
Publication of CN112733797B publication Critical patent/CN112733797B/zh
Priority to JP2023522883A priority patent/JP2023545190A/ja
Priority to PCT/CN2022/072315 priority patent/WO2022156626A1/zh
Priority to US17/977,682 priority patent/US20230054515A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/165Detection; Localisation; Normalisation using facial parts and geometric relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/771Feature selection, e.g. selecting representative features from a multi-dimensional feature space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/803Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of input or preprocessed data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/193Preprocessing; Feature extraction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Ophthalmology & Optometry (AREA)
  • Evolutionary Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Geometry (AREA)
  • Image Processing (AREA)
  • Eye Examination Apparatus (AREA)
  • Image Analysis (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请公开了一种人脸图像的视线矫正方法、装置、设备及存储介质,涉及人工智能技术领域。所述方法包括:从人脸图像中获取待矫正眼部图像;基于待矫正眼部图像,生成眼部运动流场和眼部轮廓掩码;基于眼部运动流场和眼部轮廓掩码,对待矫正眼部图像进行视线矫正处理,生成矫正后眼部图像;基于矫正后眼部图像,生成经视线矫正后的人脸图像。本申请直接根据输入的待矫正眼部图像端到端生成矫正后眼部图像,不需要知道头部姿态角,大大降低了耗时并提高了矫正准确度,使得视线矫正功能真正达到了实际可用的标准,适用于视频会议、视频通话、视频直播等场景。

Description

人脸图像的视线矫正方法、装置、设备及存储介质
技术领域
本申请实施例涉及人工智能技术领域,特别涉及一种人脸图像的视线矫正方法、装置、设备及存储介质。
背景技术
人的眼睛是最能传神的器官,视线矫正旨在将人眼的视线矫正为任意指定的方向。
在相关技术中,首先估计出头部姿态角,在通过头部偏移方向与正视摄像头之间的夹角来估计视线需要矫正的度数,并根据该度数修正眼球位置,从而实现视线矫正。
但是,上述流程中存在多个步骤的参数计算,一方面流程耗时较高,另一方面每一个步骤的参数计算都会存在误差,整个流程下来误差会累积放大,导致最终结果的准确度不高。
发明内容
本申请实施例提供了一种人脸图像的视线矫正方法、装置、设备及存储介质,提供了一种高效且准确性更高的视线矫正方案。所述技术方案如下:
根据本申请实施例的一个方面,提供了一种人脸图像的视线矫正方法,所述方法包括:
从人脸图像中获取待矫正眼部图像;
基于所述待矫正眼部图像,生成眼部运动流场和眼部轮廓掩码;其中,所述眼部运动流场用于调整所述待矫正眼部图像中的像素位置,所述眼部轮廓掩码用于指示所述待矫正眼部图像中的像素位置属于眼部区域的概率;
基于所述眼部运动流场和所述眼部轮廓掩码,对所述待矫正眼部图像进行视线矫正处理,生成矫正后眼部图像;
基于所述矫正后眼部图像,生成经视线矫正后的人脸图像。
根据本申请实施例的一个方面,提供了一种视线矫正模型的训练方法,所述方法包括:
获取视线矫正模型的训练样本,所述训练样本包括待矫正眼部图像样本和目标矫正眼部图像;
通过所述视线矫正模型对所述待矫正眼部图像样本进行处理,输出所述待矫正眼部图像样本对应的眼部运动流场和眼部轮廓掩码;其中,所述眼部运动流场用于调整所述待矫正眼部图像样本中的像素位置,所述眼部轮廓掩码用于指示所述待矫正眼部图像样本中的像素位置属于眼部区域的概率;
基于所述眼部运动流场和所述眼部轮廓掩码,对所述待矫正眼部图像样本进行视线矫正处理,生成矫正后眼部图像样本;
基于所述矫正后眼部图像样本和所述目标矫正眼部图像,确定所述视线矫正模型的损失,并基于所述损失对所述视线矫正模型的参数进行调整。
根据本申请实施例的一个方面,提供了一种人脸图像的视线矫正装置,所述装置包括:
眼部图像获取模块,用于从人脸图像中获取待矫正眼部图像;
流场掩码生成模块,用于基于所述待矫正眼部图像,生成眼部运动流场和眼部轮廓掩码;其中,所述眼部运动流场用于调整所述待矫正眼部图像中的像素位置,所述眼部轮廓掩码用于指示所述待矫正眼部图像中的像素位置属于眼部区域的概率;
视线矫正处理模块,用于基于所述眼部运动流场和所述眼部轮廓掩码,对所述待矫正眼部图像进行视线矫正处理,生成矫正后眼部图像;
眼部图像整合模块,用于基于所述矫正后眼部图像,生成经视线矫正后的人脸图像。
根据本申请实施例的一个方面,提供了一种视线矫正模型的训练装置,所述装置包括:
样本获取模块,用于获取视线矫正模型的训练样本,所述训练样本包括待矫正眼部图像样本和目标矫正眼部图像;
模型处理模块,用于通过所述视线矫正模型对所述待矫正眼部图像样本进行处理,输出所述待矫正眼部图像样本对应的眼部运动流场和眼部轮廓掩码;其中,所述眼部运动流场用于调整所述待矫正眼部图像样本中的像素位置,所述眼部轮廓掩码用于指示所述待矫正眼部图像样本中的像素位置属于眼部区域的概率;
视线矫正模块,用于基于所述眼部运动流场和所述眼部轮廓掩码,对所述待矫正眼部图像样本进行视线矫正处理,生成矫正后眼部图像样本;
参数调整模块,用于基于所述矫正后眼部图像样本和所述目标矫正眼部图像,确定所述视线矫正模型的损失,并基于所述损失对所述视线矫正模型的参数进行调整。
根据本申请实施例的一个方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述人脸图像的视线矫正方法,或者上述视线矫正模型的训练方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述人脸图像的视线矫正方法,或者上述视线矫正模型的训练方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述人脸图像的视线矫正方法,或者上述视线矫正模型的训练方法。
本申请实施例提供的技术方案至少包括如下有益效果:
直接根据输入的待矫正眼部图像端到端生成矫正后眼部图像,不需要知道头部姿态角,大大降低了耗时并提高了矫正准确度,使得视线矫正功能真正达到了实际可用的标准,适用于视频会议、视频通话、视频直播等场景。另外,采用本申请技术方案可以实时对人脸图像中的视线进行矫正,使其看起来正视摄像头,兼具准确性和真实感,在视频会议等场景中可以有效提高用户的交流体验。
另外,由于待矫正眼部图像为眼部轮廓扩大后的矩形区域,因此导致眼部轮廓外的区域也经过眼部运动流场进行了轻微变换,而这不是我们需要的结果。为此,本申请加入了眼部轮廓掩码,通过注意力机制将待矫正眼部图像和经眼部运动流场得到的初步矫正后眼部图像进行融合,既提高了生成图像的稳定性,又可以保证只对眼部轮廓内部的图像内容进行视线矫正,而眼部轮廓外部的图像内容不需要进行视线矫正,提升了最终得到的矫正后眼部图像的视线矫正效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的方案实施环境的示意图;
图2示出了在视频会议场景下,摄像头、人眼、人眼视线看的位置之间形成的夹角的示意图;
图3是本申请一个实施例提供的人脸图像的视线矫正方法的流程图;
图4是本申请另一个实施例提供的人脸图像的视线矫正方法的流程图;
图5是本申请一个实施例提供的视线矫正前后的对比图;
图6是本申请一个实施例提供的视线矫正模型的示意图;
图7是本申请一个实施例提供的视线矫正模型的训练方法的流程图;
图8是本申请一个实施例提供的整体方案的架构图;
图9是本申请一个实施例提供的人脸图像的视线矫正装置的框图;
图10是本申请一个实施例提供的视线矫正模型的训练装置的框图;
图11是本申请一个实施例提供的计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
计算机视觉技术(Computer Vision,CV)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能***。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR(Optical Character Recognition,光学字符识别)、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D(3Dimension,三维)技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
本申请实施例提供的技术方案,涉及人工智能的机器学习和计算机视觉等技术,具体通过如下实施例进行介绍说明。
请参考图1,其示出了本申请一个实施例提供的方案实施环境的示意图。该方案实施环境可以实现称为一个视频会议***。该方案实施环境可以包括服务器10和多个终端20。
终端20可以是诸如手机、平板电脑、PC(Personal Computer,个人计算机)、智能电视、多媒体播放设备等电子设备。终端20中可以安装运行视频会议应用程序的客户端,从而向用户提供视频会议功能。
服务器10可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。服务器10可以是视频会议应用程序的后台服务器,用于为上述客户端提供后台服务器。
终端20和服务器10之间可以通过网络进行通信。
如图2所示,在视频会议场景下,用户的视线一般都是看着屏幕21中的对方,而摄像头22并不在屏幕21中,而是在其他位置(如图2所示的屏幕21上方),因此摄像头22、人眼、人眼视线看的位置之间往往有一个夹角(图2中虚线所示夹角α)。在对方用户看来,用户的视线并没有看着对方用户,而是视线偏下,从而影响了用户的交流体验。
除了在视频会议场景之外,视频通话、视频直播等场景中均有类似问题。
本申请提出了一种基于流模型的视线矫正方案,不需要知道头部姿态角,直接根据输入的图片端到端生成矫正后的图片,大大降低了耗时并提高了矫正准确度,使得视线矫正功能真正达到了实际可用的标准,适用于视频会议、视频通话、视频直播等场景。
请参考图3,其示出了本申请一个实施例提供的人脸图像的视线矫正方法的流程图。该方法各步骤的执行主体可以是诸如手机、平板电脑、PC等终端设备,也可以是服务器。该方法可以包括如下几个步骤(310~340):
步骤310,从人脸图像中获取待矫正眼部图像。
人脸图像是指包含人脸的图像,该人脸图像可以是一张照片或图片,也可以是视频中的一个图像帧,本申请实施例对此不作限定。待矫正眼部图像是从人脸图像中截取的,包含需要进行视线矫正的眼部区域的图像。
需要说明的是,通常来讲,一个人脸图像中包含左右两个人眼,因此可以从一张人脸图像中获取两张待矫正眼部图像,其中一张对应于左眼的待矫正眼部图像,另一张对应于右眼的待矫正眼部图像。
可选地,首先对人脸图像进行人脸检测,确定人脸图像中是否包含人脸,以及在包含人脸的情况下确定人脸位置。进一步地,如果在人脸图像中包含人脸的情况下,进行人脸关键点检测。由于本申请重点关注的是眼部区域,因此可以仅进行眼部关键点的检测,诸如嘴、鼻子等其他部位的关键点不需要检测。
在示例性实施例中,基于单个眼睛的轮廓关键点,确定该单个眼睛的最小外接矩形;对该单个眼睛的最小外接矩形放大指定倍数,得到该单个眼睛的图像截取框;基于该单个眼睛的图像截取框,从人脸图像中截取得到该单个眼睛的待矫正眼部图像。
单个眼睛的最小外接矩形是指包含该单个眼睛的最小外接矩形框。例如,左眼的最小外接矩形即是指包含该左眼的最小外接矩形框。上述指定倍数可以是预先设定的数值,例如1.5倍、2倍或3倍等,本申请实施例对此不作限定。在对单个眼睛的最小外接矩形进行放大处理得到图像截取框的过程中,以该最小外接矩形的中心点为中心,对其进行等比例放大处理,得到图像截取框,该图像截取框的中心点与上述最小外接矩形的中心点重合。最后,采用图像截取技术,从人脸图像中截取该单个眼睛的图像截取框中的图像内容,得到该单个眼睛的待矫正眼部图像。
相比于直接对人脸图像进行视线矫正处理,通过从人脸图像中获取待矫正眼部图像,对该待矫正眼部图像进行视线矫正处理,有助于减少后续步骤的计算量,提升效率。
步骤320,基于待矫正眼部图像,生成眼部运动流场和眼部轮廓掩码。
眼部运动流场用于调整待矫正眼部图像中的像素位置。可选地,眼部运动流场中每个像素的像素值,包括水平位移量和垂直位移量;其中,眼部运动流场中某一像素的水平位移量,表示待矫正眼部图像中与该像素相同位置的像素在水平方向上的位移量,如水平方向上位移的像素数量;眼部运动流场中某一像素的垂直位移量,表示待矫正眼部图像中与该像素相同位置的像素在垂直方向上的位移量,如垂直方向上位移的像素数量。眼部运动流场可以包括一个二维图像,如包括第一维度图像和第二维度图像,第一维度图像用于存储各像素的水平位移量,第二维度图像用于存储各像素的垂直位移量。并且,第一维度图像和第二维度图像的尺寸(包括高和宽),与待矫正眼部图像的尺寸相同。
眼部轮廓掩码用于指示待矫正眼部图像中的像素位置属于眼部区域的概率。例如,眼部轮廓掩码可以表示为一个一维图像,该一维图像的尺寸(包括高和宽),与待矫正眼部图像的尺寸相同。眼部轮廓掩码中某一像素的像素值可以是一个概率值,表示待矫正眼部图像中相同位置的像素属于眼部区域的概率。例如,眼部轮廓掩码中坐标为(i,j)位置的像素值,可以是一个属于[0,1]取值范围的概率值,表示待矫正眼部图像中坐标为(i,j)位置的像素属于眼部区域的概率。
在示例性实施例中,将待矫正眼部图像输入至视线矫正模型,通过该视线矫正模型输出眼部运动流场和眼部轮廓掩码。视线矫正模型可以是预先对神经网络进行训练得到的机器学习模型。
可选地,如图4所示,步骤320可以包括如下几个子步骤:
步骤322,通过视线矫正模型对待矫正眼部图像进行处理,得到视线矫正模型的输出数据。
待矫正眼部图像可以包括R、G、B三个通道的图像。
视线矫正模型可以是一个神经网络模型,如其可以包括编码网络和解码网络。编码网络用于对输入数据(即待矫正眼部图像)进行下采样处理,提取得到该待矫正眼部图像的特征信息;解码网络用于对上述特征信息进行上采样处理,输出得到输出数据。
例如,通过视线矫正模型的下采样部分(即上述编码网络)对待矫正眼部图像进行下采样处理,生成下采样后图像;通过视线矫正模型的上采样部分(即上述解码网络)对下采样后图像进行上采样处理,得到视线矫正模型的输出数据。本申请提出的视线矫正模型的主干架构主要包含下采样和上采样两个部分,在下采样部分中,对输入的图像进行多步卷积操作(或称为下采样操作),特征图的尺寸不断减小,通道数不断增加,目的是将图像信息进行聚焦处理,获取我们所关注的眼部轮廓区域内的图像纹理信息;在上采样部分中,对特征图进行卷积和插值操作(或称为上采样操作),特征图的尺寸不断增加,通道数不断减少(上采样部分最后一层特征图的通道数减少至3个),目的是将我们获得的图像纹理信息生成与输入图像分辨率尺寸一样的特征图,以便于后续矫正图像的生成。
可选地,为了提高模型训练的稳定性,在上采样处理的过程中,将当前上采样步骤生成的特征图与下采样处理的过程中生成的相同尺寸特征图进行级联处理后,作为下一上采样步骤的输入图像。实验证明,通过这种方式,解决了训练时偶尔出现的梯度***问题,而且提升了模型的效果。
步骤324,从输出数据中提取第一通道和第二通道的数据,得到眼部运动流场。
步骤326,从输出数据中提取第三通道的数据,得到眼部轮廓掩码。
输出数据可以包括3通道的图像(或称为数据),从输出数据中提取第一通道和第二通道的数据,得到眼部运动流场;从输出数据中提取第三通道的数据,得到眼部轮廓掩码。例如,第一通道的数据作为第一维度图像,用于存储各像素的水平位移量;第二通道的数据作为第二维度图像,用于存储各像素的垂直位移量。
在一个示例中,假设待矫正眼部图像的高为H,宽为W,H和W可以分别表示高度方向上的像素数量和宽度方向上的像素数量。那么待矫正眼部图像是一个H×W×3的三通道图像,作为视线矫正模型的输入数据。视线矫正模型的输出数据包括H×W×3的三通道图像,从中提取两个通道的数据H×W×2作为眼部运动流场,剩下一个通道的数据H×W×1作为眼部轮廓掩码。
步骤330,基于眼部运动流场和眼部轮廓掩码,对待矫正眼部图像进行视线矫正处理,生成矫正后眼部图像。
视线矫正模型输出了眼部运动流场和眼部轮廓掩码,首先利用眼部运动流场对待矫正眼部图像进行双线性仿射变换,每个像素进行移动和翘曲(warpping),即可得到初步矫正后眼部图像,但实验发现,通过这种方式生成的矫正图像稳定性欠佳,而且由于输入图像(即待矫正眼部图像)为眼部轮廓扩大后的矩形区域,因此导致眼部轮廓外的区域也进行了轻微变换,而这不是我们需要的结果。为此,我们在视线矫正模型的输出中加入了眼部轮廓掩码,我们首先对眼部轮廓掩码做sigmoid运算,将眼部轮廓掩码中每个像素点的概率相对性大小归一化为0-1之间的概率值,然后通过注意力机制将输入图像(即待矫正眼部图像)和初步矫正后眼部图像进行融合,既提高了生成图像的稳定性,又可以保证只对眼部轮廓区域的图像进行矫正,融合后的眼部图像即为最终的矫正后眼部图像。
可选地,如图4所示,步骤330可以包括如下几个子步骤:
步骤332,采用眼部运动流场对待矫正眼部图像进行变换处理,生成初步矫正后眼部图像。
例如,对于待矫正眼部图像中的任一像素,从眼部运动流场中获取该像素的水平位移量和垂直位移量,然后基于水平位移量和垂直位移量对该像素进行位移处理,得到初步矫正后眼部图像。
例如,对于待矫正眼部图像中的任一像素,从眼部运动流场中获取该像素的水平位移量和垂直位移量,然后基于水平位移量和垂直位移量对该像素进行位移处理,得到初步矫正后眼部图像。
假设待矫正眼部图像为x,初步矫正后眼部图像为y,眼部运动流场为f,对于图像中的任一坐标为(i,j)位置,y(i,j)的计算如下:y(i,j)=x(i+f(i,j)[0],j+f(i,j)[1]),由于i+f(i,j)[0]和j+f(i,j)[1]是浮点数,因此我们需要用双线性插值计算其值。
步骤334,采用眼部轮廓掩码对初步矫正后眼部图像进行调整处理,生成矫正后眼部图像。
可选地,步骤334可以包括如下几个子步骤:
1、将眼部轮廓掩码与初步矫正后眼部图像中对应位置的像素值进行相乘,得到第一中间图像;
2、将眼部轮廓掩码对应的映射图像与待矫正眼部图像中对应位置的像素值进行相乘,得到第二中间图像;
3、将第一中间图像和第二中间图像中对应位置的像素值进行相加,得到矫正后眼部图像。
结合上文实施例中的介绍说明,眼部轮廓掩码中各位置的像素值是一个属于[0,1]取值范围的概率值,眼部轮廓掩码对应的映射图像中任一位置的像素值,是采用1减去眼部轮廓掩码中相同位置的像素值(即概率值)得到的数值。例如,眼部轮廓掩码中坐标为(i,j)位置的像素值(即概率值)为0.2,那么眼部轮廓掩码对应的映射图像中坐标为(i,j)位置的像素值为1-0.2=0.8。
上述生成矫正后眼部图像可以采用如下公式表示:矫正后眼部图像=眼部轮廓掩码×初步矫正后眼部图像+(1-眼部轮廓掩码)×待矫正眼部图像。
步骤340,基于矫正后眼部图像,生成经视线矫正后的人脸图像。
将矫正后眼部图像整合至原始的人脸图像中,采用矫正后眼部图像覆盖或替换掉上述待矫正眼部图像,得到经视线矫正后的人脸图像。
可选地,将矫正后眼部图像整合至待矫正眼部图像在人脸图像的图像截取框位置处,得到整合图像;对该整合图像中图像截取框位置处进行图像和谐化处理,得到经视线矫正后的人脸图像。其中,图像和谐化处理的目的是为了消除图像截取框位置处的边界痕迹。在本申请实施例中,对图像和谐化处理所采用的方式不作限定,如高斯模糊、腐蚀膨胀或者基于深度学习的图像和谐化方法等。
在一种可能的实现方式中,采用如下方式对整合图像中图像截取框位置处进行图像和谐化处理,得到经视线矫正后的人脸图像:
1、生成与人脸图像相同尺寸的初始化掩膜图像,该初始化掩膜图像在图像截取框位置处的像素值为1,其余位置的像素值为0;
例如,假设原始的人脸图像的尺寸为C×H×W;其中,C为通道数(如包括R、G、B三个通道),H为高度(如高度方向上包含的像素数量),W为宽度(如宽度方向上包含的像素数量)。同时假设上述图像截取框是一个在人脸图像中的目标位置处的尺寸为h×w的矩形框,h为高度(如高度方向上包含的像素数量),w为宽度(如宽度方向上包含的像素数量),那么待矫正眼部图像和矫正后眼部图像的尺寸均为c×h×w,c为通道数(如包括R、G、B三个通道)。
那么生成尺寸为C×H×W的初始化掩膜图像,对于C个通道中的每一个单通道图像H×W,在上述目标位置处的h×w图像截取框中的像素值设为1,除该图像截取框之外的其他区域的像素值设为0,作为初始化掩膜图像。
2、对初始化掩膜图像进行腐蚀操作和高斯模糊处理,得到处理后掩膜图像;
腐蚀操作的目的是消除物体之间的边界点,例如可以采用椭圆模板对初始化掩膜图像进行腐蚀操作,得到腐蚀后掩膜图像。高斯模糊处理也称为高斯平滑处理,用于减少图像噪声以及降低细节层次。在得到上述腐蚀后掩膜图像之后,可以对该腐蚀后掩膜图像进行高斯模糊处理,得到处理后掩膜图像。处理后掩膜图像中,仍然是一个尺寸为C×H×W的图像,各像素的取值在范围[0,1]之间,特别是对于原本0和1之间的交界位置处的像素来说,经过上述腐蚀操作和高斯模糊处理之后,取值会介于0和1之间,从而实现平滑过渡。
3、将处理后掩膜图像与整合图像中对应位置的像素值进行相乘,得到第一生成图像;
4、将处理后掩膜图像对应的映射图像与人脸图像中对应位置的像素值进行相乘,得到第二生成图像;
5、将第一生成图像和第二生成图像中对应位置的像素值进行相加,得到经视线矫正后的人脸图像。
处理后掩膜图像中各位置的像素值是一个属于[0,1]取值范围的数值,处理后掩膜图像对应的映射图像中任一位置的像素值,是采用1减去处理后掩膜图像中相同位置的像素值得到的数值。例如,处理后掩膜图像中坐标为(i,j)位置的像素值为0.3,那么处理后掩膜图像对应的映射图像中坐标为(i,j)位置的像素值为1-0.3=0.7。
上述生成经视线矫正后的人脸图像可以采用如下公式表示:经视线矫正后的人脸图像=处理后掩膜图像×整合图像+(1-处理后掩膜图像)×人脸图像。
通过上述方式,能够使得整合图像中位于图像截取框位置处的边界痕迹得到消除,使得最终得到的经视线矫正后的人脸图像没有明显的拼接痕迹,效果更佳。
如图5所示,其示出了采用本申请实施例提供的视线矫正方法,在视线矫正前后的对比图。左侧图示(a)为未经视线矫正的人脸图像,人眼视线偏移;右侧图示(b)为经视线矫正后的人脸图像,人眼视线聚焦在正前方。
如图6所示,将待矫正眼部图像输入至视线矫正模型,由模型输出眼部运动流场和眼部轮廓掩码,采用眼部运动流场对待矫正眼部图像进行变换处理,生成初步矫正后眼部图像,然后采用眼部轮廓掩码对初步矫正后眼部图像进行图像调整处理,生成最终的矫正后眼部图像。
综上所述,本申请实施例提供的技术方案,直接根据输入的待矫正眼部图像端到端生成矫正后眼部图像,不需要知道头部姿态角,大大降低了耗时并提高了矫正准确度,使得视线矫正功能真正达到了实际可用的标准,适用于视频会议、视频通话、视频直播等场景。另外,采用本申请技术方案可以实时对人脸图像中的视线进行矫正,使其看起来正视摄像头,兼具准确性和真实感,在视频会议等场景中可以有效提高用户的交流体验。
另外,由于待矫正眼部图像为眼部轮廓扩大后的矩形区域,因此导致眼部轮廓外的区域也经过眼部运动流场进行了轻微变换,而这不是我们需要的结果。为此,本申请加入了眼部轮廓掩码,通过注意力机制将待矫正眼部图像和经眼部运动流场得到的初步矫正后眼部图像进行融合,既提高了生成图像的稳定性,又可以保证只对眼部轮廓内部的图像内容进行视线矫正,而眼部轮廓外部的图像内容不需要进行视线矫正,提升了最终得到的矫正后眼部图像的视线矫正效果。
下面,通过实施例对视线矫正模型的训练流程进行介绍说明,有关该视线矫正模型使用过程中涉及的内容和训练过程中涉及的内容是相互对应的,两者互通,如在一侧未作详细说明的地方,可以参考另一侧的描述说明。
请参考图7,其示出了本申请一个实施例提供的视线矫正模型的训练方法的流程图。该方法各步骤的执行主体可以是电脑、服务器等计算机设备。该方法可以包括如下几个步骤(710~740):
步骤710,获取视线矫正模型的训练样本,该训练样本包括待矫正眼部图像样本和目标矫正眼部图像。
视线矫正模型可以是一个神经网络模型。可选地,该模型的输入数据包括待矫正眼部图像样本,输出数据包括眼部运动流场和眼部轮廓掩码。
每个训练样本包括两张图像,分别是同一个人在同一个头部姿态角下拍摄得到的两张不同视线的图像,其中一张图像可以是任意视线方向的图像(如视线正视屏幕区域),该张图像作为待矫正眼部图像样本使用,另一张图像是视线正视摄像头的图像,该张图像作为目标矫正眼部图像使用。通过这样子的训练样本训练视线矫正模型,可以训练得到一个端到端的视线矫正模型,模型基于输入的待矫正眼部图像,输出一张视线正视摄像头的矫正后眼部图像。需要说明的是,不同的训练样本可以是不同的人物,也可以具有不同的头部姿态。也即,模型的训练样本集中可以包括多个训练样本,该多个训练样本可以包括具有不同人物的训练样本,包括具有不同头部姿态的训练样本,从而使得训练出的模型能够适应不同人物和不同头部姿态,提升模型的鲁棒性。
步骤720,通过视线矫正模型对待矫正眼部图像样本进行处理,输出待矫正眼部图像样本对应的眼部运动流场和眼部轮廓掩码。
眼部运动流场用于调整待矫正眼部图像样本中的像素位置。眼部轮廓掩码用于指示待矫正眼部图像样本中的像素位置属于眼部区域的概率。有关眼部运动流场和眼部轮廓掩码的详细介绍说明可参见上文,此处不再赘述。
步骤730,基于眼部运动流场和眼部轮廓掩码,对待矫正眼部图像样本进行视线矫正处理,生成矫正后眼部图像样本。
可选地,采用眼部运动流场对待矫正眼部图像样本进行变换处理,生成初步矫正后眼部图像样本;采用眼部轮廓掩码对初步矫正后眼部图像样本进行调整处理,生成矫正后眼部图像样本。该过程的详细介绍说明可参见上文,此处不再赘述。
步骤740,基于矫正后眼部图像样本和目标矫正眼部图像,确定视线矫正模型的损失,并基于该损失对视线矫正模型的参数进行调整。
在一个示例中,直接基于矫正后眼部图像样本和目标矫正眼部图像之间的像素差异,计算视线矫正模型的重建损失,并基于该重建损失对视线矫正模型的参数进行调整。该重建损失可以是L1损失、L2损失等。
在另一个示例中,视线矫正模型的损失包括LPIPS(Learned Perceptual ImagePatch Similarity,感知图像块相似度学习)损失,LPIPS损失的优点是可以准确表征两图像之间的视觉感知差异,但是需要提前预训练生成一个损失计算模型。将矫正后眼部图像样本和目标矫正眼部图像输入至损失计算模型;通过损失计算模型输出矫正后眼部图像样本和目标矫正眼部图像之间的LPIPS损失。损失计算模型可以是一个预训练好的卷积神经网络模型,如VGG(Visual Geometry Group,视觉几何体编组)模型。
在本申请中,我们希望LPIPS损失表征的视觉感知信息是视线的方向,而不是眼睛的准确外观纹理信息,因此,可以采用软件仿真技术生成多个仿真图像对,每个仿真图像对包括一组对应的非正视眼部仿真图像和正视眼部仿真图像,然后采用上述仿真图像对训练损失计算模型。仿真数据虽然和真人眼睛的外观纹理信息有差异,但其视线方向和眼球位置的关系和真人没有区别,且其视线方向在数据生成时就已经知道了,完美契合了LPIPS损失函数,从而减少了大量的人工标注成本。通过仿真数据预训练出来的损失计算模型,可以直接用于真人眼睛数据训练中LPIPS损失的计算。
综上所述,本申请实施例提供的技术方案,通过训练一个视线矫正模型,能够根据输入的待矫正眼部图像端到端生成矫正后眼部图像,不需要知道头部姿态角,大大降低了耗时并提高了矫正准确度,使得视线矫正功能真正达到了实际可用的标准,适用于视频会议、视频通话、视频直播等场景。另外,采用本申请技术方案可以实时对人脸图像中的视线进行矫正,使其看起来正视摄像头,兼具准确性和真实感,在视频会议等场景中可以有效提高用户的交流体验。
请参考图8,其示出了本申请整体方案的架构图。
在模型训练过程中,视线矫正模型的训练样本包括待矫正眼部图像样本和目标矫正眼部图像。将待矫正眼部图像样本输入至模型,输出该待矫正眼部图像样本对应的眼部运动流场和眼部轮廓掩码,然后结合待矫正眼部图像样本及其对应的眼部运动流场和眼部轮廓掩码,生成矫正后眼部图像样本。通过预训练好的损失计算模型,基于矫正后眼部图像样本和目标矫正眼部图像,确定视线矫正模型的LPIPS损失,并基于该损失对视线矫正模型的参数进行调整。
在线上使用过程中,从视频会议等实时视频场景的视频流中提取图像帧作为待矫正的人脸图像,从中截取待矫正眼部图像,将该待矫正眼部图像输入至训练好的视线矫正模型,由该模型输出该待矫正眼部图像对应的眼部运动流场和眼部轮廓掩码。然后结合待矫正眼部图像及其对应的眼部运动流场和眼部轮廓掩码,生成矫正后眼部图像。最后将该矫正后眼部图像与原始的人脸图像进行整合处理,生成经视线矫正后的人脸图像。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图9,其示出了本申请一个实施例提供的人脸图像的视线矫正装置的框图。该装置具有实现上述人脸图像的视线矫正方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是计算机设备,也可以设置在计算机设备中。该装置900可以包括:眼部图像获取模块910、流场掩码生成模块920、视线矫正处理模块930和眼部图像整合模块940。
眼部图像获取模块910,用于从人脸图像中获取待矫正眼部图像。
流场掩码生成模块920,用于基于所述待矫正眼部图像,生成眼部运动流场和眼部轮廓掩码;其中,所述眼部运动流场用于调整所述待矫正眼部图像中的像素位置,所述眼部轮廓掩码用于指示所述待矫正眼部图像中的像素位置属于眼部区域的概率。
视线矫正处理模块930,用于基于所述眼部运动流场和所述眼部轮廓掩码,对所述待矫正眼部图像进行视线矫正处理,生成矫正后眼部图像。
眼部图像整合模块940,用于基于所述矫正后眼部图像,生成经视线矫正后的人脸图像。
在示例性实施例中,所述视线矫正处理模块930,用于:
采用所述眼部运动流场对所述待矫正眼部图像进行变换处理,生成初步矫正后眼部图像;
采用所述眼部轮廓掩码对所述初步矫正后眼部图像进行调整处理,生成所述矫正后眼部图像。
在示例性实施例中,所述视线矫正处理模块930,用于:
将所述眼部轮廓掩码与所述初步矫正后眼部图像中对应位置的像素值进行相乘,得到第一中间图像;
将所述眼部轮廓掩码对应的映射图像与所述待矫正眼部图像中对应位置的像素值进行相乘,得到第二中间图像;
将所述第一中间图像和所述第二中间图像中对应位置的像素值进行相加,得到所述矫正后眼部图像。
在示例性实施例中,所述流场掩码生成模块920,用于:
通过视线矫正模型对所述待矫正眼部图像进行处理,得到所述视线矫正模型的输出数据;
从所述输出数据中提取第一通道和第二通道的数据,得到所述眼部运动流场;
从所述输出数据中提取第三通道的数据,得到所述眼部轮廓掩码。
在示例性实施例中,所述流场掩码生成模块920,用于:
通过所述视线矫正模型的下采样部分对所述待矫正眼部图像进行下采样处理,生成下采样后图像;
通过所述视线矫正模型的上采样部分对所述下采样后图像进行上采样处理,得到所述视线矫正模型的输出数据;
其中,在所述上采样处理的过程中,将当前上采样步骤生成的特征图与所述下采样处理的过程中生成的相同尺寸特征图进行级联处理后,作为下一上采样步骤的输入图像。
在示例性实施例中,所述眼部图像获取模块910,用于:
从所述人脸图像中识别得到单个眼睛的轮廓关键点;
基于所述单个眼睛的轮廓关键点,确定所述单个眼睛的最小外接矩形;
对所述单个眼睛的最小外接矩形放大指定倍数,得到所述单个眼睛的图像截取框;
基于所述单个眼睛的图像截取框,从所述人脸图像中截取得到所述单个眼睛的待矫正眼部图像。
在示例性实施例中,所述眼部图像整合模块940,用于:
将所述矫正后眼部图像整合至所述待矫正眼部图像在所述人脸图像的图像截取框位置处,得到整合图像;
对所述整合图像中所述图像截取框位置处进行图像和谐化处理,得到所述经视线矫正后的人脸图像;其中,所述图像和谐化处理用于消除所述图像截取框位置处的边界痕迹。
可选地,所述眼部图像整合模块940,具体用于:
生成与所述人脸图像相同尺寸的初始化掩膜图像,所述初始化掩膜图像在所述图像截取框位置处的像素值为1,其余位置的像素值为0;
对所述初始化掩膜图像进行腐蚀操作和高斯模糊处理,得到处理后掩膜图像;
将所述处理后掩膜图像与所述整合图像中对应位置的像素值进行相乘,得到第一生成图像;
将所述处理后掩膜图像对应的映射图像与所述人脸图像中对应位置的像素值进行相乘,得到第二生成图像;
将所述第一生成图像和所述第二生成图像中对应位置的像素值进行相加,得到所述经视线矫正后的人脸图像。
请参考图10,其示出了本申请一个实施例提供的视线矫正模型的训练装置的框图。该装置具有实现上述视线矫正模型的训练方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是计算机设备,也可以设置在计算机设备中。该装置1000可以包括:样本获取模块1010、模型处理模块1020、视线矫正模块1030和参数调整模块1040。
样本获取模块1010,用于获取视线矫正模型的训练样本,所述训练样本包括待矫正眼部图像样本和目标矫正眼部图像。
模型处理模块1020,用于通过所述视线矫正模型对所述待矫正眼部图像样本进行处理,输出所述待矫正眼部图像样本对应的眼部运动流场和眼部轮廓掩码;其中,所述眼部运动流场用于调整所述待矫正眼部图像样本中的像素位置,所述眼部轮廓掩码用于指示所述待矫正眼部图像样本中的像素位置属于眼部区域的概率。
视线矫正模块1030,用于基于所述眼部运动流场和所述眼部轮廓掩码,对所述待矫正眼部图像样本进行视线矫正处理,生成矫正后眼部图像样本。
参数调整模块1040,用于基于所述矫正后眼部图像样本和所述目标矫正眼部图像,确定所述视线矫正模型的损失,并基于所述损失对所述视线矫正模型的参数进行调整。
在示例性实施例中,所述视线矫正模块1030,用于:
采用所述眼部运动流场对所述待矫正眼部图像样本进行变换处理,生成初步矫正后眼部图像样本;
采用所述眼部轮廓掩码对所述初步矫正后眼部图像样本进行调整处理,生成所述矫正后眼部图像样本。
在示例性实施例中,所述视线矫正模型的损失包括感知图像块相似度学习LPIPS损失;
所述参数调整模块1040,用于:
将所述矫正后眼部图像样本和所述目标矫正眼部图像输入至损失计算模型;
通过所述损失计算模型输出所述矫正后眼部图像样本和所述目标矫正眼部图像之间的LPIPS损失。
在示例性实施例中,所述装置1000还包括:损失模型训练模块(图10中未示出),用于采用软件仿真技术生成多个仿真图像对,每个仿真图像对包括一组对应的非正视眼部仿真图像和正视眼部仿真图像;采用所述仿真图像对训练所述损失计算模型。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图11,其示出了本申请一个实施例提供的计算机设备的结构示意图。该计算机设备可以是任何具备数据计算、处理和存储功能的电子设备,如手机、平板电脑、PC(Personal Computer,个人计算机)或服务器等。该计算机设备用于实施上述实施例中提供的人脸图像的视线矫正方法或视线矫正模型的训练方法。具体来讲:
该计算机设备1100包括处理单元(如CPU(Central Processing Unit,中央处理器)、GPU(Graphics Processing Unit,图形处理器)和FPGA(Field Programmable GateArray,现场可编程逻辑门阵列)等)1101、包括RAM(Random-Access Memory,随机存储器)1102和ROM(Read-Only Memory,只读存储器)1103的***存储器1104,以及连接***存储器1104和中央处理单元1101的***总线1105。该计算机设备1100还包括帮助服务器内的各个器件之间传输信息的基本输入/输出***(Input Output System,I/O***)1106,和用于存储操作***1113、应用程序1114和其他程序模块1115的大容量存储设备1107。
该基本输入/输出***1106包括有用于显示信息的显示器1108和用于用户输入信息的诸如鼠标、键盘之类的输入设备1109。其中,该显示器1108和输入设备1109都通过连接到***总线1105的输入输出控制器1110连接到中央处理单元1101。该基本输入/输出***1106还可以包括输入输出控制器1110以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1110还提供输出到显示屏、打印机或其他类型的输出设备。
该大容量存储设备1107通过连接到***总线1105的大容量存储控制器(未示出)连接到中央处理单元1101。该大容量存储设备1107及其相关联的计算机可读介质为计算机设备1100提供非易失性存储。也就是说,该大容量存储设备1107可以包括诸如硬盘或者CD-ROM(Compact Disc Read-Only Memory,只读光盘)驱动器之类的计算机可读介质(未示出)。
不失一般性,该计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦写可编程只读存储器)、闪存或其他固态存储其技术,CD-ROM、DVD(Digital Video Disc,高密度数字视频光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知该计算机存储介质不局限于上述几种。上述的***存储器1104和大容量存储设备1107可以统称为存储器。
根据本申请实施例,该计算机设备1100还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1100可以通过连接在该***总线1105上的网络接口单元1111连接到网络1112,或者说,也可以使用网络接口单元1111来连接到其他类型的网络或远程计算机***(未示出)。
所述存储器还包括至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集存储于存储器中,且经配置以由一个或者一个以上处理器执行,以实现上述人脸图像的视线矫正方法或视线矫正模型的训练方法。
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被计算机设备的处理器执行时实现上述实施例提供的人脸图像的视线矫正方法或视线矫正模型的训练方法。
可选地,该计算机可读存储介质可以包括:ROM(Read-Only Memory,只读存储器)、RAM(Random-Access Memory,随机存储器)、SSD(Solid State Drives,固态硬盘)或光盘等。其中,随机存取记忆体可以包括ReRAM(Resistance Random Access Memory,电阻式随机存取记忆体)和DRAM(Dynamic Random Access Memory,动态随机存取存储器)。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从所述计算机可读存储介质中读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行上述人脸图像的视线矫正方法或视线矫正模型的训练方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (13)

1.一种人脸图像的视线矫正方法,其特征在于,所述方法包括:
从人脸图像中获取待矫正眼部图像;
基于所述待矫正眼部图像,生成眼部运动流场和眼部轮廓掩码;其中,所述眼部运动流场用于调整所述待矫正眼部图像中的像素位置,所述眼部轮廓掩码用于指示所述待矫正眼部图像中的像素位置属于眼部区域的概率;
采用所述眼部运动流场对所述待矫正眼部图像进行变换处理,生成初步矫正后眼部图像;
将所述眼部轮廓掩码与所述初步矫正后眼部图像中对应位置的像素值进行相乘,得到第一中间图像;
将所述眼部轮廓掩码对应的映射图像与所述待矫正眼部图像中对应位置的像素值进行相乘,得到第二中间图像;其中,所述眼部轮廓掩码对应的映射图像中任一位置的像素值,是采用1减去所述眼部轮廓掩码中相同位置的像素值得到的数值;
将所述第一中间图像和所述第二中间图像中对应位置的像素值进行相加,得到矫正后眼部图像;
基于所述矫正后眼部图像,生成经视线矫正后的人脸图像。
2.根据权利要求1所述的方法,其特征在于,所述基于所述待矫正眼部图像,生成眼部运动流场和眼部轮廓掩码,包括:
通过视线矫正模型对所述待矫正眼部图像进行处理,得到所述视线矫正模型的输出数据;
从所述输出数据中提取第一通道和第二通道的数据,得到所述眼部运动流场;
从所述输出数据中提取第三通道的数据,得到所述眼部轮廓掩码。
3.根据权利要求2所述的方法,其特征在于,所述通过视线矫正模型对所述待矫正眼部图像进行处理,得到所述视线矫正模型的输出数据,包括:
通过所述视线矫正模型的下采样部分对所述待矫正眼部图像进行下采样处理,生成下采样后图像;
通过所述视线矫正模型的上采样部分对所述下采样后图像进行上采样处理,得到所述视线矫正模型的输出数据;
其中,在所述上采样处理的过程中,将当前上采样步骤生成的特征图与所述下采样处理的过程中生成的相同尺寸特征图进行级联处理后,作为下一上采样步骤的输入图像。
4.根据权利要求1所述的方法,其特征在于,所述从人脸图像中获取待矫正眼部图像,包括:
从所述人脸图像中识别得到单个眼睛的轮廓关键点;
基于所述单个眼睛的轮廓关键点,确定所述单个眼睛的最小外接矩形;
对所述单个眼睛的最小外接矩形放大指定倍数,得到所述单个眼睛的图像截取框;
基于所述单个眼睛的图像截取框,从所述人脸图像中截取得到所述单个眼睛的待矫正眼部图像。
5.根据权利要求1所述的方法,其特征在于,所述基于所述矫正后眼部图像,生成经视线矫正后的人脸图像,包括:
将所述矫正后眼部图像整合至所述待矫正眼部图像在所述人脸图像的图像截取框位置处,得到整合图像;
对所述整合图像中所述图像截取框位置处进行图像和谐化处理,得到所述经视线矫正后的人脸图像;其中,所述图像和谐化处理用于消除所述图像截取框位置处的边界痕迹。
6.根据权利要求5所述的方法,其特征在于,所述对所述整合图像中所述图像截取框位置处进行图像和谐化处理,得到所述经视线矫正后的人脸图像,包括:
生成与所述人脸图像相同尺寸的初始化掩膜图像,所述初始化掩膜图像在所述图像截取框位置处的像素值为1,其余位置的像素值为0;
对所述初始化掩膜图像进行腐蚀操作和高斯模糊处理,得到处理后掩膜图像;
将所述处理后掩膜图像与所述整合图像中对应位置的像素值进行相乘,得到第一生成图像;
将所述处理后掩膜图像对应的映射图像与所述人脸图像中对应位置的像素值进行相乘,得到第二生成图像;
将所述第一生成图像和所述第二生成图像中对应位置的像素值进行相加,得到所述经视线矫正后的人脸图像。
7.一种视线矫正模型的训练方法,其特征在于,所述方法包括:
获取视线矫正模型的训练样本,所述训练样本包括待矫正眼部图像样本和目标矫正眼部图像;
通过所述视线矫正模型对所述待矫正眼部图像样本进行处理,输出所述待矫正眼部图像样本对应的眼部运动流场和眼部轮廓掩码;其中,所述眼部运动流场用于调整所述待矫正眼部图像样本中的像素位置,所述眼部轮廓掩码用于指示所述待矫正眼部图像样本中的像素位置属于眼部区域的概率;
采用所述眼部运动流场对所述待矫正眼部图像样本进行变换处理,生成初步矫正后眼部图像样本;
将所述眼部轮廓掩码与所述初步矫正后眼部图像样本中对应位置的像素值进行相乘,得到第一中间图像;
将所述眼部轮廓掩码对应的映射图像与所述待矫正眼部图像样本中对应位置的像素值进行相乘,得到第二中间图像;其中,所述眼部轮廓掩码对应的映射图像中任一位置的像素值,是采用1减去所述眼部轮廓掩码中相同位置的像素值得到的数值;
将所述第一中间图像和所述第二中间图像中对应位置的像素值进行相加,得到矫正后眼部图像样本;
基于所述矫正后眼部图像样本和所述目标矫正眼部图像,确定所述视线矫正模型的损失,并基于所述损失对所述视线矫正模型的参数进行调整。
8.根据权利要求7所述的方法,其特征在于,所述视线矫正模型的损失包括感知图像块相似度学习LPIPS损失;
所述基于所述矫正后眼部图像样本和所述目标矫正眼部图像,确定所述视线矫正模型的损失,包括:
将所述矫正后眼部图像样本和所述目标矫正眼部图像输入至损失计算模型;
通过所述损失计算模型输出所述矫正后眼部图像样本和所述目标矫正眼部图像之间的LPIPS损失。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
采用软件仿真技术生成多个仿真图像对,每个仿真图像对包括一组对应的非正视眼部仿真图像和正视眼部仿真图像;
采用所述仿真图像对训练所述损失计算模型。
10.一种人脸图像的视线矫正装置,其特征在于,所述装置包括:
眼部图像获取模块,用于从人脸图像中获取待矫正眼部图像;
流场掩码生成模块,用于基于所述待矫正眼部图像,生成眼部运动流场和眼部轮廓掩码;其中,所述眼部运动流场用于调整所述待矫正眼部图像中的像素位置,所述眼部轮廓掩码用于指示所述待矫正眼部图像中的像素位置属于眼部区域的概率;
视线矫正处理模块,用于采用所述眼部运动流场对所述待矫正眼部图像进行变换处理,生成初步矫正后眼部图像;将所述眼部轮廓掩码与所述初步矫正后眼部图像中对应位置的像素值进行相乘,得到第一中间图像;将所述眼部轮廓掩码对应的映射图像与所述待矫正眼部图像中对应位置的像素值进行相乘,得到第二中间图像;其中,所述眼部轮廓掩码对应的映射图像中任一位置的像素值,是采用1减去所述眼部轮廓掩码中相同位置的像素值得到的数值;将所述第一中间图像和所述第二中间图像中对应位置的像素值进行相加,得到矫正后眼部图像;
眼部图像整合模块,用于基于所述矫正后眼部图像,生成经视线矫正后的人脸图像。
11.一种视线矫正模型的训练装置,其特征在于,所述装置包括:
样本获取模块,用于获取视线矫正模型的训练样本,所述训练样本包括待矫正眼部图像样本和目标矫正眼部图像;
模型处理模块,用于通过所述视线矫正模型对所述待矫正眼部图像样本进行处理,输出所述待矫正眼部图像样本对应的眼部运动流场和眼部轮廓掩码;其中,所述眼部运动流场用于调整所述待矫正眼部图像样本中的像素位置,所述眼部轮廓掩码用于指示所述待矫正眼部图像样本中的像素位置属于眼部区域的概率;
视线矫正模块,用于采用所述眼部运动流场对所述待矫正眼部图像样本进行变换处理,生成初步矫正后眼部图像样本;将所述眼部轮廓掩码与所述初步矫正后眼部图像样本中对应位置的像素值进行相乘,得到第一中间图像;将所述眼部轮廓掩码对应的映射图像与所述待矫正眼部图像样本中对应位置的像素值进行相乘,得到第二中间图像;其中,所述眼部轮廓掩码对应的映射图像中任一位置的像素值,是采用1减去所述眼部轮廓掩码中相同位置的像素值得到的数值;将所述第一中间图像和所述第二中间图像中对应位置的像素值进行相加,得到矫正后眼部图像样本;
参数调整模块,用于基于所述矫正后眼部图像样本和所述目标矫正眼部图像,确定所述视线矫正模型的损失,并基于所述损失对所述视线矫正模型的参数进行调整。
12.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至6任一项所述的人脸图像的视线矫正方法,或者实现如权利要求7至9任一项所述的视线矫正模型的训练方法。
13.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至6任一项所述的人脸图像的视线矫正方法,或者实现如权利要求7至9任一项所述的视线矫正模型的训练方法。
CN202110089871.5A 2021-01-22 2021-01-22 人脸图像的视线矫正方法、装置、设备及存储介质 Active CN112733797B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202110089871.5A CN112733797B (zh) 2021-01-22 2021-01-22 人脸图像的视线矫正方法、装置、设备及存储介质
JP2023522883A JP2023545190A (ja) 2021-01-22 2022-01-17 画像の視線補正方法、装置、電子機器、及びコンピュータプログラム
PCT/CN2022/072315 WO2022156626A1 (zh) 2021-01-22 2022-01-17 一种图像的视线矫正方法、装置、电子设备、计算机可读存储介质及计算机程序产品
US17/977,682 US20230054515A1 (en) 2021-01-22 2022-10-31 Image gaze correction method, apparatus, electronic device, computer-readable storage medium, and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110089871.5A CN112733797B (zh) 2021-01-22 2021-01-22 人脸图像的视线矫正方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112733797A CN112733797A (zh) 2021-04-30
CN112733797B true CN112733797B (zh) 2021-10-08

Family

ID=75595190

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110089871.5A Active CN112733797B (zh) 2021-01-22 2021-01-22 人脸图像的视线矫正方法、装置、设备及存储介质

Country Status (4)

Country Link
US (1) US20230054515A1 (zh)
JP (1) JP2023545190A (zh)
CN (1) CN112733797B (zh)
WO (1) WO2022156626A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112733795B (zh) * 2021-01-22 2022-10-11 腾讯科技(深圳)有限公司 人脸图像的视线矫正方法、装置、设备及存储介质
CN112733797B (zh) * 2021-01-22 2021-10-08 腾讯科技(深圳)有限公司 人脸图像的视线矫正方法、装置、设备及存储介质
CN113222857A (zh) * 2021-05-27 2021-08-06 Oppo广东移动通信有限公司 图像处理方法、模型的训练方法及装置、介质和电子设备
CN113253850A (zh) * 2021-07-05 2021-08-13 中国科学院西安光学精密机械研究所 一种基于眼动追踪与脑电信号的多任务协同操作方法
US20230100305A1 (en) * 2021-09-27 2023-03-30 Baidu Usa Llc System and process for repainting of planar objects in video
CN114220123B (zh) * 2021-12-10 2022-11-04 江苏泽景汽车电子股份有限公司 一种姿态矫正方法、装置、投影设备及存储介质
CN117392283B (zh) * 2023-12-05 2024-04-05 北京交通大学 异常轨道图像合成方法、装置、设备及可读介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103731600A (zh) * 2012-10-12 2014-04-16 索尼公司 图像处理装置、图像处理***、图像处理方法和程序
CN111161276A (zh) * 2019-11-27 2020-05-15 天津中科智能识别产业技术研究院有限公司 一种虹膜归一化图像的形成方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101977638B1 (ko) * 2012-02-29 2019-05-14 삼성전자주식회사 영상 내 사용자의 시선 보정 방법, 기계로 읽을 수 있는 저장 매체 및 통신 단말
US9773349B2 (en) * 2014-02-19 2017-09-26 Daqri, Llc Active parallax correction
RU2596062C1 (ru) * 2015-03-20 2016-08-27 Автономная Некоммерческая Образовательная Организация Высшего Профессионального Образования "Сколковский Институт Науки И Технологий" Способ коррекции изображения глаз с использованием машинного обучения и способ машинного обучения
US11024002B2 (en) * 2019-03-14 2021-06-01 Intel Corporation Generating gaze corrected images using bidirectionally trained network
CN111031234B (zh) * 2019-11-20 2021-09-03 维沃移动通信有限公司 一种图像处理方法及电子设备
CN111008929B (zh) * 2019-12-19 2023-09-26 维沃移动通信(杭州)有限公司 图像矫正方法及电子设备
CN111091109B (zh) * 2019-12-24 2023-04-07 厦门瑞为信息技术有限公司 基于人脸图像进行年龄和性别预测的方法、***和设备
CN111339928B (zh) * 2020-02-25 2022-06-28 苏州科达科技股份有限公司 眼神调节方法、装置及存储介质
CN111882627A (zh) * 2020-07-20 2020-11-03 广州市百果园信息技术有限公司 图像处理方法、视频处理方法、装置、设备和存储介质
CN112733797B (zh) * 2021-01-22 2021-10-08 腾讯科技(深圳)有限公司 人脸图像的视线矫正方法、装置、设备及存储介质
CN112733795B (zh) * 2021-01-22 2022-10-11 腾讯科技(深圳)有限公司 人脸图像的视线矫正方法、装置、设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103731600A (zh) * 2012-10-12 2014-04-16 索尼公司 图像处理装置、图像处理***、图像处理方法和程序
CN111161276A (zh) * 2019-11-27 2020-05-15 天津中科智能识别产业技术研究院有限公司 一种虹膜归一化图像的形成方法

Also Published As

Publication number Publication date
CN112733797A (zh) 2021-04-30
JP2023545190A (ja) 2023-10-26
WO2022156626A1 (zh) 2022-07-28
US20230054515A1 (en) 2023-02-23

Similar Documents

Publication Publication Date Title
CN112733797B (zh) 人脸图像的视线矫正方法、装置、设备及存储介质
CN112733795B (zh) 人脸图像的视线矫正方法、装置、设备及存储介质
CN112733794B (zh) 人脸图像的视线矫正方法、装置、设备及存储介质
Chen et al. Learning spatial attention for face super-resolution
CN111598998B (zh) 三维虚拟模型重建方法、装置、计算机设备和存储介质
US11232286B2 (en) Method and apparatus for generating face rotation image
EP3576017A1 (en) Method, apparatus, and device for determining pose of object in image, and storage medium
CN111488865A (zh) 图像优化方法、装置、计算机存储介质以及电子设备
JP2023545200A (ja) パラメータ推定モデルの訓練方法、パラメータ推定モデルの訓練装置、デバイスおよび記憶媒体
CN113850168A (zh) 人脸图片的融合方法、装置、设备及存储介质
CN111209811B (zh) 一种实时检测眼球注意力位置的方法及***
Wang et al. Multi-direction dictionary learning based depth map super-resolution with autoregressive modeling
CN113343878A (zh) 基于生成对抗网络的高保真人脸隐私保护方法和***
CN112085835A (zh) 三维卡通人脸生成方法、装置、电子设备及存储介质
WO2024114321A1 (zh) 图像数据处理方法、装置、计算机设备、计算机可读存储介质及计算机程序产品
WO2022148248A1 (zh) 图像处理模型的训练方法、图像处理方法、装置、电子设备及计算机程序产品
CN116385667B (zh) 三维模型的重建方法、纹理重构模型的训练方法以及装置
CN113538254A (zh) 图像恢复方法、装置、电子设备及计算机可读存储介质
CN117218246A (zh) 图像生成模型的训练方法、装置、电子设备及存储介质
Koumparoulis et al. Audio-assisted image inpainting for talking faces
US20240169701A1 (en) Affordance-based reposing of an object in a scene
US20230098276A1 (en) Method and apparatus for generating panoramic image based on deep learning network
Wang et al. Structure Prior-Aware Dynamic Network for Face Super-Resolution
Huang et al. AFNet: Asymmetric fusion network for monocular panorama depth estimation
CN115761442A (zh) 一种面向ar的目标识别方法及移动端ar***

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: 40041998

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant