CN114127776A - 用于训练具有构数据的生成式对抗网络的方法和系统 - Google Patents

用于训练具有构数据的生成式对抗网络的方法和系统 Download PDF

Info

Publication number
CN114127776A
CN114127776A CN201980098514.6A CN201980098514A CN114127776A CN 114127776 A CN114127776 A CN 114127776A CN 201980098514 A CN201980098514 A CN 201980098514A CN 114127776 A CN114127776 A CN 114127776A
Authority
CN
China
Prior art keywords
processing
image
data
network
modified
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
CN201980098514.6A
Other languages
English (en)
Inventor
K·J·W·莫恩斯
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.)
Barco NV
Original Assignee
Barco NV
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 Barco NV filed Critical Barco NV
Publication of CN114127776A publication Critical patent/CN114127776A/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/18Image warping, e.g. rearranging pixels individually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06V10/7747Organisation of the process, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30004Biomedical image processing
    • G06T2207/30041Eye; Retina; Ophthalmic

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

本发明包括用于训练神经网络以执行对数字数据的处理的方法和系统。该输入数据可以是异构的,并且该方法或系统获得多个损失信号。可以选择输入数据,以便平衡损失信号,并且可以满足输出数据的若干条件。当在数字帧图像上运行经训练的神经网络时,处理帧的中间结果可被用于后续的帧,并且以此方式可以减少处理延迟。

Description

用于训练具有构数据的生成式对抗网络的方法和系统
本发明涉及用于训练具有构数据的生成式对抗网络的方法和系统以及用于执行该方法的计算机程序产品。本发明还涉及用于在视频会议中维持眼神接触印象的方法和系统。本发明还涉及用于扭曲图像中的像素的方法和系统。
背景技术
视频会议已经存在了十多年,并且如今是常用的通信方式。然而,该技术存在使人们退避的缺点(例如无法维持眼神交流)而更喜爱面对面的交谈。
Ganin(Ganin等人,欧洲计算机视觉会议,2016,第311-326页)描述了训练神经网络以偏移眼睛照片中的像素,从而将注视方向改变给定角度。为了训练,他们通过在相机前注视对象并且让他们查看出现的点来收集他们自己的数据集。此类数据收集规程使得对具有不同注视方向的同一只眼睛的图像对进行采样可行。Kononenko(Kononenko等人,第13届IEEE自动人脸和姿势识别国际会议(FG 2018),2018,535-539)继续该工作,并且允许使用同一眼睛的仅任意图像对,而无需知晓这些图像的确切的注视方向。Ganin和Kononenko两者使用同类数据集。为了训练如此的扭曲方法,需要收集眼睛的图像序列,其中个人和他/她的头部姿势保持固定,而他/她的注视方向变化。即使对于Kononenko,不是所有这些图像都需要用它们的绝对注视来标记,这也是导致相对于深度学习中的当前基准集的相对较小的数据集的昂贵的过程。
Giger(Giger等人,2014IEEE多媒体国际会议和博览会(ICME),成都,2014,1-6)使整个脸部倾斜以使得该个人看起来好像正面对他/她的相机。该办法需要将像素作为纹理映射到3D头部模型上、或者其只影响面部而不影响头部轮廓从而改变个人的比例。不管如何,这些方法需要对头部进行更复杂的检测,并且在最终图像中提供更明显的错误。
Dolhansky(Dolhansky等人,“Eye In-Painting with Exemplar GenerativeAdversarial Networks(使用示例生成式对抗网络的画中眼睛)”.2017)和Wood(Wood等人,“GazeDirector:Fully Articulated Eye Gaze Redirection in Video(注视方向:视频中全铰接的眼睛注视重定向)”2017)公开了代替原始输入眼睛的新眼睛的生成。为了打开新眼睛,示例图像与生成式对抗网络(GAN)一起被使用。
Wood的系统将眼睛及眼睛周围区域与3D模型进行匹配。可以随后修改该模型的注视方向,然后再将其融合到原始面部上。
丢弃原始输入眼睛的缺点是可能降低视频真实感和/或失去眼睛运动的效果。尝试在不同的数据集上顺序地训练可以避免处理竞争目标。但关于注视扭曲,首先在合成数据集上进行训练,并且随后在如照片等真实图像上进行训练,将意味着首次学习以进行大范围的校正,并且仅后续学习来保持这些修正的逼真性,这可能忘记如何做出原始校正。
发明内容
本发明的实施例涉及用于训练具有异构数据的生成式对抗网络的方法和系统以及用于执行该方法的计算机程序产品。
在另一方面,本发明的实施例涉及用于在视频会议中维持眼神接触印象的方法和系统。
在另一方面,本发明的实施例涉及用于扭曲图像中的像素的方法和系统。
在本发明的一个方面,本发明的实施例提供一种用于通过调整神经网络的节点的权重值来训练该神经网络的方法,该神经网络具有输出节点。
该方法可以包括存储以下类型的数字图像:作为输入和目标数字真实图像对的第一数据类型、作为输入和目标数字合成图像对的第二数据类型、以及作为输入未标记的数字真实图像的第三数据类型,
由此每个图像由像素来表示,这些像素具有像素属性。
该方法可以包括处理第一数据类型、第二数据类型和第三数据类型的数字图像;
该处理包括通过例如以下方法来创建一个或多个损失信号的步骤:
-修改第一数据类型、第二数据类型和第三数据类型的每个输入图像以形成第一数据类型、第二数据类型和第三数据类型的经修改的数字图像,
-通过神经网络来处理经修改的数字图像的像素,从而获得输出节点中的输出值,
-通过以下方式来获取损失信号:
-对于第一数据类型,使用所有的输出节点,
-对于第二数据类型,使用输出节点中的至少一个输出节点,以及
-对于第三数据类型,使用输出节点中的至少一个输出节点,以使得第二和第三数据类型正在一起使用所有的输出节点。
该处理可以包括将来自第一数据类型、第二数据类型和第三数据类型中的每个数据类型的数字图像的损失信号组合为经组合的损失信号的步骤:
该处理包括通过将经组合的损失信号反向传播穿过神经网络来更新该神经网络的权重值的步骤;以及
该处理包括存储经更新的权重值的步骤。
用于创建一个或多个损失信号的步骤可以附加地包括:
对于驻留在输出节点中的第一数据类型和第二数据类型的每个经修改的数字图像,
使用所有的输出节点和目标数字图像的像素值来创建损失信号。
用于创建一个或多个损失信号的步骤可以附加地包括:
对于每个经修改的数字图像,
通过使用逆向修改的网络来处理经修改的数字图像以在输出节点中获得经逆向修改的数字图像;
对于每个数据类型,使用输出节点和未修改的数字图像的像素值来创建损失信号。
用于创建该一个或多个损失信号的步骤可以附加地包括:
对于第一数据类型和第三数据类型的每个经修改的和参考数字图像,
对于每个输出数字图像,使得经训练的对抗网络通过以下方式来估计每个经修改的和参考数字图像:
分别在输出节点中指派第一和第二数值输出值,
以及将损失信号创建为第一输出值和第二输出值之间的差异。
对于第三数据类型的每个未修改的和经修改的数字图像,优选地
使得经训练的对抗网络估计每个未修改的和经修改的数字图像,
分别在输出节点中指派第一和第二数值输出值,
以及将损失信号创建为以下两者之间的差异:
第一数值输出值加上输入校正值,与第二输出值。
该方法可以包括在通过采样来构建输入数据批次之前,对所有的输入数据集进行预处理、交织或混洗中的任一者。
该方法可以包括在输出节点中的值和目标数字图像之间创建映射。
在另一方面,本发明的实施例提供用于与具有用于处理的装置和非易失性存储器的系统一起使用的扭曲数字图像,
该系统被适配成定义数字图像的面部标志。
该方法可以包括:
接收数字图像;
用于处理的装置接收帧图像编号x
检测该图像上面部标志的图像像素坐标,并且将该图像像素坐标发送到神经网络,
该神经网络被适配成生成扭曲场;
将该扭曲场应用于帧图像编号x;
在显示器上输出经扭曲的帧图像编号x;
并且对于至少一帧图像编号x+n,n>=l;
使用从帧图像编号x获得的扭曲场;
并且对于至少一帧图像编号x+m,m>=n+l;
使用从帧图像编号x+n获得的面部标志。
该方法可以包括读取输入数据集,其中该输入数据集是异构数据集。该异构数据集可以包括经标记的照片对、经标记的CGI对和未标记的照片中的任何一些或全部。
该方法可以包括在通过采样来构建输入数据批次之前,对所有的输入数据集进行交织或混洗中的任一者。
当存在多个类型的数据集时,每个数据集可以对梯度具有同等的影响,在此情形中它们在批次中同等频繁地出现,而与数据集大小无关。
为了实现同等出现,混洗之前的所有的输入数据集可被解读为重复数据集的交织并集,其中来自每个数据集的样本交替地相互跟随,并且可以在数据集用完样本时被重用。
该方法可以包括在包括输入和目标图像的经标记数据对上执行第一修改通过。
可以计算所监督的损失信号。
还可以在未标记的数据上执行第一修改通过,但不需要针对其计算所监督的损失信号。
可以适配修改网络以接收输入数据和校正角度。
用于处理的装置可以向修改网络提供,例如,不同类型的数据。
该修改网络可被适配成用校正角度来扭曲输入图像的像素。
该方法可以包括通过在经扭曲的图像和目标图像的像素值之间所计算的L距离来表示该损失信号。
该方法可以包括将中间损失信号存储在存储器中。
该方法可以包括执行逆向修改通道,其中输入数据集可以由来自经标记的数据和未标记的数据的第一修改通过的输出数据来提供。
目标数据可以是原始的经标记的输入数据、以及未标记的输入数据。
校正角度可以是逆向校正角度。
与在第一修改通过中一样,可以在逆向修改通过中计算L距离损失信号。
得到的损失信号可以是该训练信号的循环损失信号。
逆向修改通过可以刺激神经网络对从眼睛图像到眼睛图像的可逆函数进行建模。
中间损失信号可被存储在存储器中。
在该方法中,对抗评估通过可以包括对抗网络接收来自第一修改通过的输出。
可以通过对抗或判别式网络来发送经修改的图像以进行估计,并且取决于数据类型,可以计算不同的损失信号。
可以针对经修改的经标记的照片计算对抗损失信号。
基于该结果,可以决定对抗网络估计这些图像是真实的或虚假的。
可以计算注视角度回归损失信号。可以使用该注视角度回归损失信号来决定对抗网络是否将该注视角度估计为目标角度。
例如,可以针对经修改的经标记的CGT计算注视角度回归损失信号。
可以使用该注视角度回归损失信号来决定对抗网络是否将经修改的图像中的注视角度估计为目标角度。
可以针对未标记的照片计算对抗损失信号,由此可以将该结果用于决定对抗网络估计这些图像是真实的或虚假的。
该方法可以包括通过要估计的对抗网络来发送原始的未标记的照片。
可以将经扭曲的图像发送到对抗网络以进行估计。
可以将损失信号计算为原始的未标记的照片的估计角度加上校正角度与经扭曲的照片的估计角度之间的差异。
可以例如,在照片输出的真实度上对所计算的损失信号给出数值分数或字母数字分数。针对真实图像的分数可被训练成大于针对经修改的图像的分数或具有高于针对经修改的图像的分数的值,以创建不同的图像类型之间的区别。
在该方法中,损失信号聚合和细化可以包括:
所有先前所计算的损失信号被加权并且相加成合成的或组合的损失信号。
可以将损失信号的梯度反向传播到修改网络。
例如当所有包括的损失信号已收敛时,可以实现完全训练生成式对抗网络。
优选地在保持修改网络的参数固定时训练对抗网络。
图像评估通过可以包括:所有的输入图像通过修改网络来发送,并且输出取决于其原始类型而被区分。
对于未标记的照片,仅对抗损失信号需要被计算,该损失信号给出对图像是真实或虚假的测量。
修改网络已优选地被训练并且在操作中被使用。
可以使用中间结果以便减少处理延迟。
本发明的实施例的方法中的任一方法可以包括未优化的顺序处理,其中相机帧图像编号x从本地用于处理的装置被发送到云服务器或其他用于处理的装置,并且面部标志坐标被检测且被添加到图像中。
可以向经训练的修改神经网络发送具有面部标志的帧图像,该修改神经网络计算扭曲场并且将其应用到帧图像的眼睛区域。
云服务器或其他用于处理的装置可以主控该神经网络。
可以将经扭曲的图像从云服务器或用于处理的装置发送回本地用于处理的装置,然后本地用于处理的装置可以输出最终图像帧。
可以例如并行地处理各处理行中的数个帧(诸如四个处理行中的四个帧),以便后续的处理行可以使用先前的一个或多个处理行的结果。
第一行的处理可以始于将第一相机帧图像从本地用于处理的装置发送到云服务器或用于处理的装置。
可以执行面部标志检测并且可以定义面部标志坐标。
可以同时在第二帧图像上开始处理下一行(诸如第二行),第二帧图像是帧号x+n的图像,其中n>=l。第二帧图像可以从本地用于处理的装置被发送到云服务器或用于处理的装置。
可以使用第一帧图像的面部标志坐标而不是定义第二帧图像的面部标志坐标。
修改神经网络可以接收第二帧图像和第一帧图像的面部标志坐标,并且可以计算从云服务器或用于处理的装置发送回本地用于处理的装置的扭曲场。
可以通过将第三帧图像编号x+m,m>=n+l发送到云服务器或用于处理的装置来同时开始处理下一行,诸如第三行。
可以执行面部标志检测,并且可以将第三帧图像的面部标志坐标从云服务器或用于处理的装置发送到本地用于处理的装置。
可以同时开始在本地用于处理的装置上用第四帧图像编号x+q,q>=m+l来处理下一行,诸如第四行。
可已基于第二帧图像和第一帧图像接收到扭曲场,并且已基于第三帧图像接收到面部标志。这些可被用于将下一帧图像(诸如将第四帧图像)扭曲为第五帧图像。
可以做出确定用于计算与显示标志坐标和扭曲的帧可以相距多远的设置。
该方法可以接收已被修改网络修改的经标记的和未标记的数据。
可以保持修改网络的参数固定,同时训练对抗网络来估计每个数据。
估计每个数据可以包括计算该数据的分数,而无需知晓它是真实的或经修改的。
可以对真实数据计算较高的分数或具有较高值的分数,并且对经修改的数据计算较低的分数或较低的值。
在训练修改网络时,对抗网络可已被训练成对未修改的数据给出高分或较高的值,并且对经修改的数据给出低分。现在保持对抗网络的参数固定,由此修改网络可以随后修改数据并将其发送到对抗网络。这对该数据进行评分,由此可以随后(在若干次迭代中)调整修改神经网络的参数直到分数达到期望值。
可以聚合分别针对所有的真实数据和经修改的数据的分数。聚合可以包括计算相应的数据类型集合的平均值。
可以根据真实数据的经聚合分数与经修改的数据的经聚合分数之间的差距为对抗网络提供损失信号。
在进一步方面,本发明的实施例可以提供一种用于通过调整神经网络的节点的权重值来训练该神经网络的系统,该神经网络具有输出节点。
该系统可以包括:
用于作为输入和目标数字真实图像对的第一数据类型的数字图像、作为输入和目标数字合成图像对的第二数据类型、以及作为输入未标记的数字真实图像的第三数据类型的存储,
由此每个图像由像素来表示,这些像素具有像素属性。
该系统可以包括用于处理第一数据类型、第二数据类型和第三数据类型的数字图像的处理器或装置。
该处理器可被适配成通过以下方式来创建一个或多个损失信号:
-修改第一数据类型、第二数据类型和第三数据类型的每个输入图像以形成第一数据类型、第二数据类型和第三数据类型的经修改的数字图像,
-通过经由神经网络来处理经修改的数字图像的像素,从而获得输出节点中的输出值,
-通过以下方式来获取损失信号:
-对于第一数据类型,使用所有的输出节点,
-对于第二数据类型,使用所述输出节点中的至少一个输出节点,以及
-对于第三数据类型,使用输出节点中的至少一个输出节点,以使得第二数据类型和第三数据类型正在一起使用所有的所述输出节点;
处理器被适配成将来自第一数据类型、第二数据类型和第三数据类型中的每个数据类型的数字图像的损失信号组合为经组合的损失信号:
该处理器被适配成通过将经组合的损失信号反向传播穿过神经网络来更新该神经网络的权重值;以及
该处理器被适配成存储经更新的权重值。
该处理器可被适配成对于驻留在输出节点中的第一数据类型和第二数据类型的每个经修改的数字图像,使用所有的输出节点和目标数字的像素值来创建损失信号。
该处理器可被附加地适配成:
对于每个经修改的数字图像,
通过使用逆向修改的网络来处理经修改的数字图像以在输出节点中获得经逆向修改的数字图像;以及
对于每个数据类型,使用输出节点和未修改的数字图像的像素值来创建损失信号。
该处理器可被附加地适配成:
对于第一数据类型和第三数据类型的每个经修改的和参考数字图像,
对于每个输出数字图像,使得经训练的对抗网络通过以下方式来估计每个经修改的和参考数字图像:
分别在输出节点中指派第一和第二数值输出值,
以及将损失信号创建为第一输出值和第二输出值之间的差异。
该系统可以包括:
对于第三数据类型的每个未修改的和经修改的数字图像,
用于估计每个未修改的和经修改的数字图像的经训练的对抗网络,
分别在输出节点中指派第一和第二数值输出值,
以及将损失信号创建为以下两者之间的差异:
第一数值输出值加上输入校正值、与第二输出值。
该系统可被适配成用于在通过采样来构建输入数据批次之前,对所有的输入数据集进行预处理、交织或混洗中的任一者。
该系统可被适配成在输出节点中的值和目标数字图像之间创建映射。
在另一方面,本发明的实施例可以提供用于扭曲数字图像的系统,其中该系统可以包括处理器或用于处理的装置和非易失性存储器。
该系统可被适配成定义数字图像的面部标志。
该系统可被适配成接收数字图像。
该处理器或用于处理的装置被适配成接收帧图像编号x,以检测图像上的面部标志的图像像素坐标并且将该图像像素坐标发送到神经网络,由此
该神经网络可被适配成生成扭曲场;
以及将该扭曲场应用于帧图像编号x;
以在显示器上输出经扭曲的帧图像编号x;
并且对于至少一帧图像编号x+n,n>=l;
使用从帧图像编号x获得的扭曲场;
并且对于至少一帧图像编号x+m,m>=n+l;
使用从帧图像编号x+n获得的面部标志。
该系统可被适配成读取输入数据集,其中该输入数据集是异构数据集。
该异构数据集可以包括经标记的照片对、经标记的CGI对和未标记的照片。
该系统可被进一步适配成在通过采样来构建输入数据批次之前,存在对所有的输入数据集的交织或混洗。
当存在多个类型的数据集时,每个数据集可以对梯度具有同等的影响,在此情形中它们在批次中同等频繁地出现,而与数据集大小无关。
该系统可被适配成为了通过以下方式来实现同等出现:混洗之前的所有的输入数据集被解读为重复数据集的交织并集,其中来自每个数据集的样本交替地相互跟随,并且可以在数据集用完样本时被重新使用。
该系统可被进一步适配成在包括输入和目标图像的经标记数据对上执行第一修改通过。
该系统可被适配成以便计算所监督的损失信号。
该系统可被适配成以使得还可以在未标记的数据上执行第一修改通过,但不针对其计算所监督的损失信号。
该系统可以包括被适配成用于接收输入数据和校正角度的修改网络。
用于处理的装置或处理器可以向修改网络提供不同类型的数据。
该修改网络可被适配成用校正角度来扭曲输入图像的像素。
该系统可被进一步适配成通过在经扭曲的图像和目标图像的像素值之间所计算的L距离来表示该损失信号。
该系统可以进一步包括用于存储中间损失信号的存储器。
该系统可被适配成执行逆向修改通过,其包括由来自经标记的数据和未标记的数据的第一修改通过的输出数据来提供输入数据集。
目标数据可以是原始的经标记的输入数据、以及未标记的输入数据。
校正角度可以是逆向校正角度。
与在第一修改通过中一样,可以计算L距离损失信号。
得到的损失信号可以是该训练信号的循环损失信号。
逆向修改通过可被适配成刺激神经网络以对从眼睛图像到眼睛图像的可逆函数进行建模。
该系统可以进一步包括其中存储中间损失信号的存储器。
对抗评估通过可以包括对抗网络接收来自第一修改通过的输出。
该系统可被适配成以使得通过对抗或判别式网络来发送经修改的图像以进行估计,并且取决于数据类型,计算不同的损失信号。
该系统可被适配成针对经修改的经标记的照片计算对抗损失信号。
基于该结果,对抗网络可被适配成估计这些图像是真实的或虚假的。
可以计算注视角度回归损失信号。
该系统可被适配成使用该注视角度回归损失信号来决定对抗网络是否将该注视角度估计为目标角度。
可以针对经修改的经标记的CGT计算注视角度回归损失信号。
该系统可被适配成使用该注视角度回归损失信号来决定对抗网络是否将经修改的图像中的注视角度估计为目标角度。
该系统可被适配成针对未标记的照片计算对抗损失信号。
该系统可被进一步适配成使用该结果来决定对抗网络估计这些图像是真实的或虚假的。
该系统可被进一步适配成通过要估计的对抗网络来发送原始的未标记的照片。
该系统可被进一步适配成向要估计的对抗网络发送经扭曲的图像。
该系统可被配成将损失信号计算为原始的未标记的照片的估计角度加上校正角度、与经扭曲的照片的估计角度之间的差异。
该系统可被配成给出所计算的损失信号,即对照片输出的真实度的数字分数。
该系统可被配成以使得将针对真实图像的分数训练得比针对经修改的图像的分数大以创建区分。
该系统可被适配成以使得对于损失信号聚合和细化:
所有先前所计算的损失信号被加权并且相加成合成的或组合的损失信号。
该系统可被适配成将损失信号的梯度反向传播到修改网络。
该系统可被适配成当所有包括的损失信号已收敛时,完全训练生成式对抗网络。
该系统可被适配成在保持修改网络的参数固定时训练对抗网络。
图像评估通过可以包括:所有的输入图像可以通过修改网络来发送,并且输出可以取决于其原始类型而被区分。
该系统可被适配成对于未标记的照片,仅计算抗损失信号,该损失信号给出对图像是真实或虚假的测量。
该系统可以包括可以在操作中被训练并且被使用的修改网络。
该系统可被适配成使用中间结果以便减少处理延迟。
该系统可被适配成用于未优化的顺序处理,其中相机帧图像编号x从本地用于处理的装置被发送到云服务器或其他用于处理的装置,并且面部标志坐标被检测并被添加到图像中。
可以向经训练的修改神经网络发送具有面部标志的帧图像,该修改神经网络可以计算扭曲场并且可以将其应用到帧图像的眼睛区域。
该系统可被适配成主控云服务器或其他用于处理该神经网络的装置。
该系统可被适配成将经扭曲的图像从云服务器或用于处理的装置发送回本地用于处理的装置,本地用于处理的装置被适配成输出最终图像帧。
该系统可被适配成并行地处理数个处理行中的数个帧(诸如四个处理行中的四个帧),以便后续的处理行可以使用先前的处理行的结果。
该系统可被适配成通过将第一相机帧图像从本地用于处理的装置发送到云服务器或用于处理的装置来开始处理行,诸如第一行。
该系统可被适配成执行面部标志检测并且定义面部标志坐标。
该系统可被适配成同时在第二帧图像上开始处理下一行(诸如处理第二行),第二帧图像是帧号x+n的图像,其中n>=l。
该系统可被适配成将第二帧图像从本地用于处理的装置发送到云服务器或用于处理的装置。
可以使用第一帧图像的面部标志坐标而不是定义第二帧图像的面部标志坐标。
修改神经网络可被适配成接收下一帧图像(诸如第二帧图像)和第一帧图像或其他先前图像的面部标志坐标,并且被适配成计算从云服务器或用于处理的装置发送回本地用于处理的装置的扭曲场。
该系统可被适配成通过将第三帧图像编号x+m,m>=n+l发送到所述云服务器或用于处理的装置来开始处理另一行(诸如第三行)。
该系统可被适配成执行面部标志检测,并且将第三帧图像的面部标志坐标从云服务器或用于处理的装置发送到本地用于处理的装置。
该系统可被适配成开始在本地用于处理的装置上用第四帧图像编号x+q,q>=m+l来处理下一行,诸如处理第四行。
该系统可被适配成以使得已基于第二帧图像和第一帧图像接收到扭曲场,并且已基于第三帧图像接收到面部标志,这些可被用于将第四帧图像扭曲为第五帧图像。
该系统可被适配成做出确定用于计算与显示标志坐标和扭曲的帧可以相距多远的设置。
该系统可被适配成接收已被修改网络修改的经标记的和未标记的数据。
该系统可被适配成保持修改网络的参数固定,同时训练对抗网络来估计每个数据。
该系统可被适配成通过计算每个数据的分数来估计该数据,而无需知晓它是真实的或经修改的。
该系统可被适配成对真实数据计算较高的分数或较高的值,并且对经修改的数据计算较低的分数或较低的值。
该系统可被适配成以使得在训练修改网络时,对抗网络可已被训练成对未修改的数据给出高分或值,并且对经修改的数据给出低分或低值。
该系统可被适配成以使得现在可以保持对抗网络的参数固定,并且修改网络可被适配成随后修改数据并且将其发送到对抗性网络,对抗性网络对该数据进行评分。
该系统可被适配成以使得可以随后(在若干次迭代中)调整修改神经网络的参数直到分数达到期望值。
该系统可被适配成分别聚合所有的真实数据和经修改的数据的分数。
该系统可被适配成以使得聚合包括计算相应的数据类型集合的平均值。
该系统可被进一步适配成根据真实数据的经聚合分数与经修改的数据的经聚合分数之间的差距为对抗网络提供损失信号。
本发明的实施例可以提供计算机程序产品,其在处理器上被执行时执行本发明的任何方法。
可以提供存储如计算机程序产品的非瞬态机器可读信号存储介质。这可以是诸如CDROM或DVD-ROM之类的光盘、硬盘、闪存存储器、固态非易失性存储器、磁带等。
附图简述
图1至图6示出了本发明的实施例的流程图,其包括训练修改神经网络的步骤。
图7至图8示出了本发明的实施例的流程图,其包括训练对抗神经网络的步骤。
图9a)和b)示出了包括经训练的修改神经网络的操作的本发明的实施例。
图10示出了包括计算机化系统的本发明的实施例的框图。
定义
“神经网络”是一种计算机架构,其中数个网络处理节点在至少一个计算机处理器上被实现,并且以可被称为模仿人脑神经元的方式来相互互连。每个处理器都可以主控神经网络的计算节点。每个节点可以具有带权重值的输入,该权重值定义了如何将处理发送到该节点的数字信息。节点可以具有若干输入,但通常仅一个输出。这些权重可以在训练该神经网络时被调整。最初,这些权重值可以是随机的。这些节点可被看作是由权重连接的参考点,并且数字数据可以遵循某个路线或序列或图形或网络架构被发送通过各节点,并且进行相应的处理。因此,神经网络提供了描述由计算机处理器执行的计算的曲线图。取决于硬件,该节点网络的各并行分支中的处理可被同时执行。
这些节点、权重和节点序列可被存储在非易失性存储器上。当该神经网络处理各数字图像时,它可以处理这些数字图像的信号,例如色点或亮度,而这些信号进而可以由数字驱动电平(例如驱动电流)来表示。在全连通神经网络中,所有的节点都被相互连接。
“生成式对抗网络”(GAN)可以包含两个神经网络,其中一个是生成的(或修改的),而一个是对抗的(或判别的)。生成式神经网络(或“生成式网络”或“修改网络”)可以生成或修改数据,然后可以将其作为到对抗神经网络(或“对抗网络”或“判别式网络”)的输入。然后,对抗网络可以判别所生成的(或经修改的)数据和真实或未修改的数据。这有时可分别被称为“虚假”或“真实”数据,并且该分离可被看作分类问题。
然后可以使用对抗网络的结果来调整生成式网络的参数。这些网络被交替训练,以便针对未被训练的网络保持参数固定。生成式和对抗神经网络两者可以是卷积神经网络。
例如,在训练修改网络时,对抗网络可已被训练成对未修改的数据给出高分,而对经修改的数据给出低分。对抗网络的参数现在被保持固定。然后,修改网络可以修改数据并且将其发送到对抗性网络,对抗性网络对该数据进行评分。然后可以(在若干次迭代中)调整修改神经网络的参数直到分数达到期望值。例如,如果期望逼真图像,则调整修改网络的参数直到对抗网络将经修改的图像评分为真实图像。
对抗性网络的训练可以包括它接收已被修改网络修改的经标记的和未标记的数据。修改网络的参数现在被保持固定。对抗网络估计每个数据,即计算数据的分数(不知晓它是真实的还是经修改的),例如,它可以对真实数据给出较高的分数,而对经修改的数据给出较低的分数。然后,可以(例如,通过计算相应数据类型集合的平均值)分别聚合所有的真实和经修改数据的分数。
然后,对抗网络的损失信号(或训练信号)可以是真实数据的经聚合分数与经修改数据的经聚合分数之间的差距。对抗性网络可被训练/鼓励成对真实数据输出比对经修改数据更高的分数。可任选地,让对抗网络以区间[0,1.0]的置信度对图像进行分类是可行的。
因此,该两个网络可以相互训练。事实上,这些网络可被称为在零和游戏中竞争,其中生成式(或修改)网络尝试“欺骗”对抗(或判别式)网络:修改网络将尝试产生对抗网络将评分其为真实数据的经修改数据。这些网络可以相互提供反馈,并且当给定未标记的输入数据时,它们可以学习模仿数据分布。
数据集可被泛化为
ο经标记的:完美但小型数据集
ο合成:充足的受控数据集,不同的输入/输出
ο未标记的:充足的不受控数据集,类似的输入/输出
不涉及像素的实施例的示例可以是语音到文本:
·经标记的:录音文本
·合成:文本的机器人阅读
·未标记的:未标记的语音+不相关的对话(判别式网络检查输出文本是否类似于实际对话)。
所有三个数据集可在同一批次中在同一时间被用于训练。
“梯度下降”是迭代优化算法,其中该任务是最小化可以描述例如获得值与目标值或参考值之间的差异的目标函数。在该函数上的某点处,采取与该点中的曲线梯度的负导数呈比例的步长。这将导致该函数的最小值。
“随机梯度下降”或“SGD”使用近似梯度,这降低结束于局部最小值的风险,并且防止强烈的之字形行为。因此,SGD加快了收敛,并且适用于大型数据集。可以通过使用SGD回归来训练神经网络。
替换方法可以使用例如乘数、进化策略或合成梯度的交替方向方法。
以上提及的差异也可被称为“损失信号”。
“损失信号”可以是神经网络的估计数据值(或经修改数据值、或输出数据值)与参考或目标数据值之间的差异。
损失信号可以由管理神经网络的处理器来计算。
神经网络可被表示为所有权重的函数,其中每个权重aji可以乘以输入xj,例如
zi=a1ix1+a2ix2+…+ajixj+bi, (1)
其中有i个节点、j个节点输入和偏移或偏置bi。表达式(1)在大多数情况下是每层有效的(可以将针对层的索引添加到该表达式中)。
输出节点是检取输出值的节点,其例如可以是神经网络最后一层中的节点。
当输入数据通过神经网络来发送时,它可以由所有权重根据节点连接来处理以获得相关的输出数据。节点的输出数据可以是其所有输入之和的非线性函数,z=f(zi)。例如,在对神经网络的监督训练中,可以存在可用的参考输出数据。可以迭代地调整权重,直到已知输入给出可用输出,因此,该神经网络被训练。通过使用基于导数的优化(例如梯度下降),可以通过使用权重调整的优选方向来鼓励某个方向的训练。例如,在梯度下降法中,下一步长可以与当前位置处函数的负梯度呈正比。
获得的输出与参考值或数据或图像之间的差异可被称为“损失信号”。目标可以是参考。例如,对于参考值R,损失信号可以是差距||R-Z||,其中Z是包含(f(zl1),…,f(zlp))的向量,其中l是具有p个节点的最后一层。这些节点可被称为输出节点。
损失信号还可以包括至少一个但少于p个节点的输出。
因此,损失信号可以是具有与神经网络中存在权重相同数量的项的表达式。深度神经网络具有多层节点,并且在调整/处理下一层中的任何权重之前,首先调整/处理一层的所有权重。第一层或输入层与最后一层或输出层之间的所有层可被称为隐藏层。神经网络的权重可以通过让损失信号经过网络来“反向传播”来调整,每次一层。这意味着权重在损失信号或损失函数表达式的梯度的负方向上增加。
针对每次迭代,损失信号值也可被计算为浮点数。可以针对该值的变化设置预定义的限制,并且该预定义的限制可被用于定义优化的收敛。
例如,如果输入数据是图像,则xj可以包括像素值,并且该图像可被表示为X是NxMxP矩阵,其中N和M是该图像的高度和宽度(例如以像素表示),并且P可以是通过其属性(例如颜色)来描述像素的变量数。
例如,X可以随后是MxNx3,其中每个xj可以包括红、绿和蓝颜色值。参考图像R可被表示为NxMxP矩阵。神经网络的最后一层可被配置成具有NxMx3个节点,以便可以创建损失信号。最后一层的节点可被称为输出节点。替换地,如果来自神经网络的输出具有另一格式,则可以将该输出转换为该参考数据或图像的格式。然后可以训练该神经网络,以便来自最后的神经网络节点(或它们的变换)的输出朝向R收敛,例如通过最小化损失信号。
神经网络可被训练成获得连续值,例如参考数据可以包括十进制数字的范围。在该情形中,损失信号可被看作误差信号。如果神经网络被训练以用于提供逼真的输出,则该输出可以是实数,并且可以使用预定义条件来将该输出视为“未修改的”或“经修改的”。因此,损失信号不总是误差信号。
当输入数据已遍历神经网络时,输出数据将驻留在最后一个网络层或输出层的节点中。如果输出数据的格式与参考数据的格式不同,则可以在输出数据和参考数据之间执行映射,以便对于每个输出数据值都有可用的参考数据值。
在图像处理领域中,数据值可以是像素属性,诸如颜色设置或亮度。它也可以是图像内像素群的特定属性,诸如成像面部的眼睛的注视角度。然后,可以按所选择的测量来表示该差异,例如表示为L范数,并且可被称为L差距。因此,尽管要评估的属性是物理的和可测量的,但与其相关的实际损失信号可被归一化并且缺少单位。
损失信号可以是对目标解决方案的接近度的测量。
可以通过对损失信号设置限制来执行对神经网络的训练,以便当达到该限制时,认为该神经网络已被训练/优化,并且随后停止该训练/优化过程。
替换地,当损失信号收敛或已采取预定数量的步长时,可以停止该训练/优化过程。
神经网络的机器学习和训练是优化问题。无法保证损失信号最终将达到其理论最小值。当机器学习实践者添加损失信号时,他/她指定用于改进的方向及其重要性,而不知晓该系统将学习改进多少。
因此,“注视角度回归损失”或“注视角度回归损失信号”可以是作为回归规程的结果的注视角度(在图像中)的损失信号。在该规程或训练阶段期间,真实和合成数据的标签可被用于训练对抗网络以估计具有注视角度的图像。例如,如果对抗性网络认为该图像具有/不具有期望的注视角度,则它可以返回小的/大的损失信号。
经标记的数据或图像可被用于训练神经网络。例如,猫的照片可以有标签“猫”。替换地,输入图像的标签可以是另一图像,它提供了期望的参考信息。例如,针对注视角度的经标记的输入图像的标签可以是人脸图像,该个人的眼睛已采用期望的注视角度α。优选地,此类标签与神经网络的输出具有相同的格式和类型。例如,如果对抗网络的最终输出是所估计的角度,则该标签的格式可以是字符串或数字(计算机系统中的实际表示),并且该类型可以是例如注视角度。
输入经标记的图像或输入参考数字真实图像可以包括:
-输入图像(例如,像素格式的数字图像),-图像标签(其可以是表示具有最终结果的图像特征的数字图像本身),
-标签中的特征值(浮点数),
-特征的校正值(即输入图像中的特征值与标签中的特征值之间的差异)。
例如,如果数据集包括针对注视角度的经标记的图像,则经标记的样本可以包括:
-示出注视角度为3度的输入数字图像
-是示出10度的注视角度的数字图像的标签或目标
-注视角度10度的值(浮点数)
-注视角度(即7度)的校正值(浮点数)。
可以存在用于训练修改网络和对抗网络的不同的的标签。
“异构数据”可以是具有不同数据类型和数据格式的数据集。例如,经标记的或未标记的照片或经标记的计算机生成图像(CGI)是不同数据类型的示例。经标记的和未标记的照片可被称为经标记的和未标记的真实图像。
“真实数据”是未修改的数据,例如照片。真实数据已在真实世界中捕获。
“合成数据”可以是由计算机数字化修改的或完全由计算机生成的真实数据。合成数据的目的是模仿真实数据。
“经修改的数据”是已被神经网络改变的输入数据,例如已被神经网络扭曲的图像。
“互补数据集”包括不同数据类型的数据。例如,一个数据类型可以包括示出逼真(对观看者)内容的图像。另一数据类型可以是示出特定连续值(诸如角度、长度、体积、颜色、形状、图案等)的图像。
使用互补数据集的优点是针对每种数据类型的损失信号可以针对该输出的不同的(但期望的)属性进行优化。如果将仅使用一个损失信号,则该结果将无法满足所有的要求,但可以朝一个类型的数据进行加权。例如,期望的输出可以是图像内角度的变化。不期望的加权结果可以随后是例如角度已变化,但图像不再逼真(反之亦然)。
“目标数据”代表期望的结果。例如,它可以是包含作为整体的对象的正确表示的图像、或者是该图像中细节的期望值。目标数据是参考数据。目标数据的示例可以是例如照片、人造的或计算机生成的绘图,其示出物理对象、人或动物、文本、图表、地图等。
将校正数据提供给修改网络作为用于修改的输入。
可以“扭曲”图像,以便该图像中特征的扩展可被例如延长、扩大、缩短、减小、或者增大或减小大小或修改轮廓两者的任何形状的变化。附加地或替换地,可以通过将图像的颜色重采样到新的像素位置来扭曲图像,新的像素位置与它们先前的位置有偏移(不一定毗邻或连续)。例如,对于像素化图像,这可以意味着在第一像素集合上延伸的特征可被扭曲为在第二像素集合上延伸。第二像素集合可以例如比第一像素集合更小、更大或形状不同,并且第二像素集合可以与第一像素集合交叠或相邻以便避免不连续性。
“扭曲场”可被应用于任何数据收集(例如图像),以获得经扭曲的数据收集。在像素化图像的情形中,扭曲场可以针对每个像素存储坐标偏移(例如颜色坐标偏移),而不是它们的RGB颜色值。例如,具有坐标偏移(0,0)的像素可以是未扭曲的,即保留其初始的颜色设置。其他像素可以用紧邻它们(可能处于许多像素间距(两个相邻像素之间的距离)步长之外的距离)的像素的颜色设置来替代。该距离可以按完整像素间距的步长来表示,或者按它们中的一部分(即浮点数)来表示。在后一情形中,最终位置可以位于各像素之间。然后,该像素可以采用最接近最终位置的两个或更多像素的颜色设置的平均值。应用扭曲场可以包括将像素从原始图像复制和移动到经扭曲的图像上。神经网络可以输出扭曲场而不是经扭曲的图像。与用神经网络来计算扭曲场相比,应用扭曲场的计算成本更低。
神经网络的“监督训练”仅使用经标记的数据来实现,因此始终存在可用的“真实状况”(已知参考值)。神经网络的“无监督训练”是当该数据没有标签时,因此没有可用的参考值。
“注视校正”可被描述为改变成像眼睛的外观观察方向的过程。可任选地,可以通过使用扭曲来获得注视校正。
“面部标志”或“关键点”可以是面部图像上的坐标,从而指示兴趣点。这些点可以使得,例如在执行对图像扭曲时,比较面部图像更容易并且统一地对待它们。例如,个人的眼睛总被包括在兴趣点集合中。这允许后续的处理块轻松地将这些眼睛的位置作为输入或使用这些眼睛的位置来计算仅对眼睛的最佳图像裁剪。如此,该处理块仅需被设计为处置眼睛的像素,而不是像素值的任何组合。
有关面部标志的信息提取可以由Bulat等人(https://www.adrianbulat.com/downloads/FaceAlignment/FaceAlignment.pdf)、Zadeh等人(https://arxiv.org/pdf/1611.08657.pdf)、Cao等人(https://arxiv.org/pdf/1812.08008.pdf)或Faceplusplus(https://www.faceplusplus.com/landmarks/)来提供。
“像素值”可以是与数字显示图像中的像素相关的任何值。例如颜色或三色值或亮度值。间接地,它也可被表示为显示该像素的物理单元的驱动电流或驱动电压。
具体实施方式
过去用于缓解在交互式视频会话中维持眼神交流问题的建议包括例如专用硬件,诸如相机阵列、深度相机或红外相机。本发明的实施例包括适用于许多常规彩色相机或适用于任何常规彩色相机(诸如网络相机)的训练方法或系统。同样可以使用单通道相机(例如黑/白或灰度)。
Ganin研究了使用GAN来获得注视校正,其中他们仅使用经标记的图像对。但由于他们没有获得任何显著改进,因此该方法被丢弃。然而,本发明人已发现,如果在训练中使用异构数据集和多个损失信号,则确实可以训练GAN来获得注视校正。
可用训练数据的数量可以限制神经网络的大小或深度,即网络的层数。由于收集经标记的数据对是相对缓慢且较高成本的过程,因此仅包括这些种类的样本的数据集的大小将受到限制。另一方面,包括未标记数据的数据集可以很大,因为它们在许多不同类型的数据集(例如互联网上的未标记图像)中大量可用。类似地,计算机生成的图像的大型数据集可以变得足够得多样化并且快速产生。
另一方面,具有许多层和参数的深度神经网络可容易过度拟合。替代学习期望的函数,该网络开始记住该训练集中的所有图像,并且将期望的输出存储在这些参数中。
论文“半监督”(“用于自主驾驶中端到端学习的使用生成式对抗网络的半监督回归(SEMI-SUPERVISED REGRESSION WITH GENERATIVE ADVERSARIAL NETWORKS FOR END TOEND LEARNING IN AUTONOMOUS DRIVING)”,匿名发表供审查,ICLR 2018)建议使用经标记的和未标记的输入数据。专利申请WO2018184187A1使用真实的未标记数据连同合成数据。
本发明的实施例使用包含经标记的和未标记的真实数据连同合成数据(例如计算机生成的图像)的异构数据集,其中单独的每个数据集类型或含有两种数据集类型的两个数据集将不足以训练该系统,即使它包含大量的训练示例。所有数据集的标签和对应的训练信号一起被制成不同的和互补的。这是防止对GAN的训练收敛到过度拟合或不满足所有要求(例如,如果网络输出逼真的图像但注视角度没有任何变化)的解决方案的一种方法。因此,可以避免上述缺陷。补充数据集可以包括较小且完全经标记的数据集、与未标记的照片、与计算机生成的图像(CGI)的组合。CGI可以具有完美的真实状况,即有关所寻求的特定参数的确切信息。该类型的数据集实现使用比常规解决方案提供的更大的数据集和更深的架构(即神经网络中的更多的层)。“半监督”论文没有指出添加合成数据集。WO2018184187A1没有提到添加真实的经标记的图像。相反,WO2018184187A1建议通过用合成数据代替真实的经标记的数据来节省时间和成本。
因此,现有技术建议用未标记的数据来补充真实的经标记的数据集(以增加数据集的大小)或者用合成数据来代替真实的经标记的数据集(以摆脱昂贵的真实的经标记的数据并且增加该数据集)。现有技术不增加输入数据集中的数据类型的数量。然而,本发明在训练神经网络时可以同时使用至少真实的经标记的数据、合成的经标记的数据和未标记的数据。这使得该网络能够考虑给定的所有类型的输入数据,从而平衡输出。
在本发明实施例中使用异构数据集的附加优点是它可以通过使用任何具有人脸的图片或照片来实现。因此,可以使用例如互联网上可用的大量照片来创建数据集。
附加地,每个经修改的图像可以用逆向校正角度进行第二次修改,其中未修改的输入数据被用作目标数据。然后,可以鼓励修改神经网络来限制第二输出信号与原始输入信号之间的误差。使用此类前向和逆向修改通过使得收集任何眼睛的照片来进行无监督训练是可行的。
该系统可以通过在相反方向中应用前向修改来创建输入数据的逆向修改。例如,如果前向修改中的输入角度是x度,则在逆向修改中该输入角度将是-x度。逆向中的此类校正值可被称为逆向校正值。
本发明的实施例包括GAN,其中对抗网络可以估计数据集的连续属性的损失信号,诸如眼睛图像的注视角度。同时可以使用另一损失信号来刺激,获得逼真的图像。合并的损失信号可以包括来自过程中的每一次通过的损失信号的加权和。损失信号可被用于,例如通过使用SGD回归来训练GAN的修改(或生成式)网络。
在计算损失信号、以及导出回归梯度并且将回归梯度反向传播以修改网络参数之前,可以在固定数目的输入上评估神经网络。修改(或生成式)网络和对抗(或判别式)网络可被交替训练,以便当一个网络被训练时,另一网络的参数被保持固定。在GAN配置中,对抗网络可被单独用于训练修改网络。当这些网络已被训练时,仅经训练的修改网络被用于操作。
图1示出了本发明的实施例的流程图10,其包括用于训练修改网络的方法的不同步骤(同时对抗网络的参数被保持固定)。步骤11到13由修改网络执行,并且给出输出作为对抗网络的输入,在步骤14到15中,对抗网络对数据集进行分类或估计,并且计算损失信号的梯度。步骤11包括读取输入数据集;步骤12包括数据经过第一修改通过;步骤13包括数据经过逆向修改通过;步骤14包括数据经过对抗评估通过;步骤15包括损失信号聚合和细化。因此,该步骤将损失信号相对于来自每个步骤的神经网络节点权重的梯度进行合并,并且创建加权和,在步骤16中将加权和反向传播到修改网络以调整其参数。
现在将更详细地解释图1的每个步骤。在这些示例性实施例中,损失信号是从面部图像中的注视角度校正中导出的。然而,本发明不限于此。
图2示出了步骤11的详细信息,即读取数据集。该输入可以是异构数据集,其包括例如经标记的照片对或数据对21、经标记的CGI对22和未标记的照片23。经标记的照片对可以是输入和参考数字真实图像的示例。经标记的CGI对可以是输入和参考数字合成图像的示例。未标记的照片可以是输入数字真实图像的示例。为了对输入次序和梯度添加多样性,该系统可以在例如通过采样来构建输入批次26之前交织24和混洗25所有的数据。在多个类型的数据集的情形中,每个数据集对梯度具有同等的影响,在此情形中它们在批次中同等频繁地出现,而与数据集大小无关。为了实现这一点,混洗之前的所有数据可被解读为重复数据集的交织并集,其中来自每个数据集的样本交替地相互跟随,并且可以在数据集用完样本时被重新使用。
图3示出了第一修改通过12的详细信息,第一修改通过12在包括输入和目标图像的经标记的数据对上来执行,并且计算所监督的损失信号。第一修改通过也在未标记的数据上执行,但无法针对其计算所监督的损失信号。修改网络在步骤31中接收输入数据和校正角度。训练或运行操作可以由用于处理的装置来管理,该装置可以在步骤32中向修改网络提供不同类型的数据。
修改网络用校正角度来扭曲输入图像的像素。校正角度可以是输入样本或图像的一部分。损失信号可以用L距离来表示,例如可以在经扭曲的图像和目标图像的像素值之间计算L2(均方误差)。这可以在步骤33中针对经标记的照片对21、以及在步骤34中针对经标记的CGI对22执行来执行。
中间损失信号可被存储在存储器中。
图4示出了逆向修改通过13的详细信息。输入数据现在是来自经标记的数据和未标记的数据的第一修改通过的输出数据。目标数据现在是原始的经标记的输入数据21、22和未标记的输入数据23。校正角度现在与以上校正角度相反。因此,神经网络使用第一修改通过的输出数据或经扭曲的输出以相反校正角度来扭曲或修改像素41。用于处理管理训练的方法可以在步骤42中向修改网络提供不同类型的数据。如在第一修改通过12中,计算L距离损失43、44、45。得到的损失信号可被称为训练信号的循环损失信号。逆向修改通过可以刺激神经网络对从眼睛图像到眼睛图像的可逆函数进行建模。因此,输出可以更可能类似于逼真的眼睛。中间损失信号可被存储在存储器中。
图5示出了逆向修改通过14的详细信息。对抗网络接收来自第一修改通过12的输出。经修改的图像可以通过对抗(或判别式)网络来发送51以进行估计,并且取决于数据集的类型,用于处理管理训练的装置可以在步骤52中向对抗网络提供不同类型的数据。
在步骤53中,针对经修改的经标记的照片计算对抗损失信号。对抗网络的输入在这里是输出的经修改的图像或照片以及目标数据。对抗损失信号可以通过用经对抗训练的神经网络来研究输出数字图像来获得。如果该图像被认为是虚假的/真实的,则可以定义大的/小的损失信号值。该结果可被用于决定对抗网络估计这些图像是真实的或虚假的。在步骤54中计算注视角度回归损失信号,并且结果可被用于决定对抗网络是否将注视角度估计为目标角度。
在步骤55中,针对经修改的经标记的CGT计算注视角度回归损失信号。该结果可被用于决定对抗网络是否将注视角度估计为目标角度。
在步骤56中,针对经修改的未标记的照片计算对抗损失信号。可任选地,在步骤57中,原始或未修改的未标记的照片23可以随后通过对抗网络被发送以进行估计。然后,可以将经扭曲的图像发送到对抗网络以进行估计。损失信号58然后是原始的未标记的照片的估计角度加上校正角度与经扭曲的照片的估计角度之间的差异。(该损失信号控制角度校正确实已被实现。)
中间损失信号可被存储在存储器中。
所计算的损失信号可以对照片输出的真实度给出数值分数。可以将针对真实图像的分数训练得较大,并且尽可能地远离针对经修改的图像的分数以创建区分(尽管不使用数字本身)。
本发明的目标是向神经网络提供异构训练数据,以便在每次迭代时在所有提供的数据类型上进行训练。这是通过提供包括来自所有不同数据类型的损失信号的组合损失信号来获得的。当某个数据类型的输入值已通过网络时,每个损失信号取决于一个或多个输出节点的值。例如,在角度校正的情形中,这可以是包括浮点数的一个单个节点。或者在图像修改的情形中,这可以是各自包含像素值的大量的节点。因此,使用一个或多个损失信号与使用一个或多个的输出节点相关联,并且使用所有的损失信号与使用所有的输出节点相关。为了在神经网络的训练中获得期望的平衡,因此期望具有使用所有输出节点的第一损失信号、以及各自使用至少一个节点并且一起使用第一损失信号的所有输出节点的至少两个其他损失信号。
图6示出了损失信号聚合和细化的步骤15的细节。
在步骤61中,所有先前所计算的损失信号可以被加权并且相加成合成的或组合的损失信号。在步骤62中,梯度被反向传播到修改网络。在步骤63中,用于处理管理训练的装置检查组合的损失信号是否已充分收敛(例如,网络可已在3 000 000或30 000 000个图像上进行了训练)。如果不是该情形,则用于处理管理训练的装置可以在步骤64中检查修改网络(或修改器或生成器)是否已被充分训练(例如50 000个图像)。如果这是真的,该系统可以在步骤65中切换到训练对抗网络(或判别器)。在步骤63中,该系统可以得出结论,所有的损失信号已收敛,因此GAN已被完全训练并且结束66。
图7示出了本发明的实施例的流程图70,其包括用于训练对抗网络的方法的不同步骤(同时修改网络的参数被保持固定)。该过程类似于训练修改网络的过程,因此步骤71、72和73加以必要修改对应于图1中流程图10的步骤11、14和15。对抗网络的输入是经修改的数据和目标数据(例如图像标签)、或未修改的未标记的照片。
图8示出了图像评估通过72的详细信息。在步骤81中,所有的输入图像通过修改网络来发送,并且在步骤82中,输出由用于处理管理训练的装置取决于它们的原始类型来区分。步骤83、84和85加以必要修改对应于图5的步骤53、54和55。对于未标记的照片,在步骤86中仅计算对抗性损失信号。该损失信号给出了图像是真实或虚假的测量。例如,经充分训练的对抗网络的分别针对虚假的和真实的图像的损失信号的平均值应该很容易被区分(尽管值本身可以不相关)。
对抗网络的输入是经修改的数据和目标数据(例如图像标签)。损失信号聚合和细化的步骤73加以必要修改对应于图6中的步骤61、62、63和66。
图9a)和b)解说了本发明的另一实施例,其中修改网络已(例如通过以上方法)被训练并且在操作中被使用。该实施例包括使用中间结果以便减少处理延迟。
图9a)示出了未优化的处理延迟或顺序过程213,其中相机帧图像编号x 191从本地用于处理的装置(未示出)发送到云服务器(或其他用于处理的装置)192,并且面部标志坐标被检测193并且被添加194到帧图像。参数x是表示该帧在帧序列中的位置的整数,因此,例如帧图像编号x+1显示在帧图像编号x+2之前。参数x、m、n和q是整数。
具有面部标志的帧图像被发送到(经训练的)修改神经网络195,该修改神经网络195计算扭曲场196并且将其197应用到帧图像的眼睛区域。云服务器(或其他用于处理的装置)192主控该神经网络。然后将经扭曲的帧图像从云/用于处理的装置198发送回本地用于处理的装置(未示出),该装置输出最终帧图像199。
图9b)示出了处理行R1-R4中的四个帧如何在某种程度上被并行处理,以便后续的处理行可以使用先前处理行的结果。具有中间结果的该多步骤过程实现在处理延迟和扭曲误差之间的折衷。该个体处理步骤与图9a)中描述的那些处理步骤相同。
处理行R1始于将相机帧图像200从本地用于处理的装置(未示出)发送到云/用于处理的装置201。执行面部标志检测202并且定义面部标志坐标203。
同时在帧图像204上开始处理行R2,帧图像204是帧图像编号x+n,其中n>=l。帧图像204从本地用于处理的装置(未示出)被发送到云/用于处理的装置201。代替定义帧图像204的面部标志坐标,该系统使用帧图像200的面部标志坐标。因此,修改神经网络205接收帧图像204和(帧图像200的)面部标志坐标203,并且计算从云/用于处理的装置201发送回本地用于处理的装置(未显示)的扭曲场206。云服务器(或其他用于处理的装置)主控该神经网络。
同时通过将帧图像207(具有编号x+m,m>=n+l)发送到云/用于处理的装置201来开始处理行R3。执行面部标志检测208并且将帧图像207的面部标志坐标214从云/用于处理的装置201发送到本地用于处理的装置(未示出)。
同时,在本地用于处理的装置(未示出)上用帧图像210(具有编号x+q,q>=m+l)开始处理行R4。由于该系统已接收(基于帧图像204和帧图像200的)扭曲场206和(基于帧图像207的)面部标志209,因此这些可以在步骤201中用于将帧图像210扭曲为帧图像211。步骤201可以在本地用于处理的装置中被执行,从而可以避免不期望的云处理。
可以通过将R4与图9a)中的完整处理序列进行比较来获得处理延迟的减少。
设置可以确定用于计算与显示标志坐标和扭曲的帧可以相距多远。可以随时修改该设置。发明人已发现所描述的过程产生足够的精度,并且具有减少的处理时间的优点。
在本发明的另一实施例中,对抗网络也可被用于运行操作。例如,对抗网络可被用于在向用户展示之前对经扭曲结果进行最终检查,例如以确保输出数据仍是可接受的。例如,它可以表示该系统检查用于注视校正的经扭曲的图像是否仍类似于眼睛。然后,可以将图9b)中的该可任选步骤212恰好放置在最终帧图像211之前。由于使用了较旧的面部标志,因此可出现差异,例如,如果用户移动太多,或者是难以使用的图像或校正角度。因为这会增加处理延迟,尽管仍仅增加一小部分未优化的延迟,但可优选仅对选择的帧执行该检查。替换地,可以在面部标志或扭曲场已超过某个寿命阈值时执行该检查。
附加地或替换地,对抗网络可被用于校准用户图像的大小以及其在显示帧内的位置。为了进行相关校正,该系统需要知晓相机与显示器上的对话伙伴的眼睛之间的距离。可以通过查看相机帧中的头部大小并且考虑典型的头部大小来估计从用户到相机的距离。可以要求用户查看显示器上的参考点,并且可以估计相关的注视角度。使用该输入,可以针对特定显示器完成对显示器大小的良好估计。使用以上数据,创建一个或多个虚拟相机是可行的,这些相机被放置成与当前所显示的个人是交叠的。
附加地或替换地,对抗网络可被用于限制必须要计算的同时注视校正的数目。例如,在具有60名学生的演讲室里,针对该房间里的所有人同时运行注视校正可能是昂贵的。这可以通过仅针对实际尝试进行眼神交流的人们运行注视校正来限制。头部姿势可以足以确定教师当前正查看的显示器。
下文是如何训练本发明的神经网络的示例性实施例。
对抗网络和修改网络两者可以使用随机权重来初始化。可以从数据集中随机抽取5008个样本,并且通过未训练的修改网络来发送。这可以是用于训练对抗网络的第一数据集。对抗网络一次可以处理16个图像的批次。在每个批次之后,可以计算梯度并且将其应用于修改这些权重。在500个批次之后,对对抗网络的训练可被停止,并且修改网络可以开始对16个样本的批次进行训练。输入和输出图像使用冻结权重通过对抗网络来发送。真实度分数和所估计的角度可被用于损失信号。在例如每100个批次之后,可以从验证数据集中采样40个批次。如果这些批次上的损失信号值低于任何先前的损失信号值,则可以将这些权重保存为“检查点”,下文称为最小验证损失检查点。在750个批次之后,可以停止对修改网络的训练。可以由修改网络来收集和修改新的含有5008个样本的集合。针对例如500个批次,旧的和新的经修改样本集合两者被混洗在一起,并且被用于训练对抗网络。
以上循环可以在例如两周(取决于硬件)期间被迭代。在一个迭代会话中,第一验证损失信号值为5.24,并且最后一个验证损失信号值为3.89。最低的验证损失信号值为2.40(这可能是由于对抗网络已改进或由于过度拟合)。如此频繁地每次在训练期间,用户可以针对若干角度检查修改网络在训练和验证输入方面的输出。估计最小验证损失检查点和最后一个检查点两者。取决于由观察者所感知的图像质量,可停止该训练。
图10示出了包括本发明的系统的本发明的另一实施例。系统100包括可以主控一个或多个神经网络的计算节点的CPU 101。CPU 101可以是本地的,例如靠近操作/使用该系统的用户。存储器102、显示器104和用于附加处理器的装置103可经由数字网络连接到本地CPU。附加处理器或CPU 103可以是本地的或远程的(例如在云服务器上)或其组合。显示器104可以具有像素以便它可以显示图像的像素化表示。每个像素可以具有各种参数,诸如色点值和亮度,这些参数可以由数字驱动电平(DDL)(通常是电流)来表示。DDL可以由CPU 101来控制。
附加处理器103可以是例如远程CPU。CPU 101可以主控神经网络的节点。存储器102可以存储这些节点及其互连,如果需要,可以将其上传到CPU 101的RAM并且将其传递到远程CPU 103。该训练或允许操作由CPU 101来管理。替换地,这些神经网络可被存储在本地CPU 101中。处理器101或103可以包括GPU。
在本发明的另一实施例中,提供了用于对前述实施例的输出数据执行预测分析(例如实现和使用分类或回归方法)以便改进它们的性能(例如收敛速度或收敛值、或改进的输出质量(诸如图像质量))的装置和方法。该预测分析可以在处理器可执行指令中来表达,该指令可以在图10中的系统上(或在包括图10中的系统的第二系统上)来实现。可以通过让前述实施例的实现在训练期间运行来执行无监督训练,并且在执行分类或回归指令时使用累积的输出数据作为参考值。附加地或替换地,可以通过向系统提供已知的参考值来执行监督训练。
根据本发明的方法可以由作为独立设备或嵌入在子系统或其他设备中的处理器或处理装置来执行。本发明可以使用被适配成执行功能的处理引擎。处理引擎优选地具有诸如由一个或多个微处理器、FPGA或中央处理单元(CPU)和/或图形处理单元(GPU)提供的处理能力,并且其被适配成通过用软件,即一个或多个计算机程序来编程来执行相应的功能。对软件的引用可涵盖以能由处理器直接或间接执行的任何语言(经由经编译或解释性语言)编写的任何类型的程序。本发明的任何方法的实现可以由逻辑电路、电子硬件、处理器或电路执行,其可以涵盖任何种类的逻辑或模拟电路,集成到任何程度,并且不限于通用处理器、数字信号处理器、ASIC、FPGA、分立组件或晶体管逻辑门等。
处理装置或处理器可以具有存储器(诸如非瞬态计算机可读介质、RAM和/或ROM)、操作系统、可选地显示器(诸如固定格式显示器)、数据输入设备(诸如键盘)的端口、指针设备(诸如“鼠标”)、用于与其他设备通信的串行或并行端口、连接到任何网络的网卡和连接。
软件可被实现在计算机程序产品中,该计算机程序产品被适配成在软件被加载到控制器上并且在一个或多个处理引擎(诸如微处理器、ASIC、FPGA等)上执行时执行本发明的任一方法的功能。因此,用于与本发明的任何实施例一起使用的处理装置或处理器可以纳入能够以计算机软件的形式运行一个或多个计算机应用的计算机系统。
以上参考本发明的实施例所描述的方法可以通过在计算机系统上运行的一个或多个计算机应用程序来执行,计算机应用程序通过被加载到存储器中并在诸如由美国微软公司提供的WindowsTM、Linux、Android之类的操作系统上或与之相关联地运行来在计算机系统上运行。计算机系统可以包括主存储器,优选为随机存取存储器(RAM),并且还可以包括非瞬态硬盘驱动器和/或可移除非瞬态存储器和/或非瞬态固态存储器。非瞬态可移动存储器可以是由合适的读取器读取并写入的诸如压缩碟(CD-ROM或DVD-ROM)之类的光盘、磁带。可移动非瞬态存储器可以是其中存储有计算机软件和/或数据的计算机可读介质。非易失性储存存储器可以用于存储在计算机系统断电的情况下也不应丢失的持久信息。应用程序可使用信息并将其存储在非易失性存储器中。
体现在计算机程序产品中的软件被适配成在软件被加载到相应的一个或多个设备上并且在一个或多个处理引擎(诸如微处理器、ASIC、FPGA等)上执行时执行以下功能:
训练具有异构数据的生成式对抗网络以及用于执行该方法的计算机程序产品。
在视频会议中维持眼神交流的印象。
扭曲图像中的像素。
体现在计算机程序产品中的软件被适配成在软件被加载到相应的一个或多个设备上并且在一个或多个处理引擎(诸如微处理器、ASIC、FPGA等)上执行时执行以下功能:
通过调整神经网络节点的权重值来训练神经网络,该神经网络具有输出节点。
存储以下类型的数字图像:作为输入和目标数字真实图像对的第一数据类型、作为输入和目标数字合成图像对的第二数据类型、以及作为输入未标记的数字真实图像的第三数据类型,
由此每个图像由像素来表示,这些像素具有像素属性。
处理第一数据类型、第二数据类型和第三数据类型的数字图像;
该处理包括通过例如以下方法来创建一个或多个损失信号的步骤:
-修改第一、第二和第三数据类型的每个输入图像以形成第一、第二和第三数据类型的经修改的数字图像,
-通过神经网络来处理经修改的数字图像的像素,从而获得输出节点中的输出值,
-通过以下方式来获取损失信号
-对于第一数据类型,使用所有的输出节点,
-对于第二数据类型,使用输出节点中的至少一个输出节点,以及
-对于第三数据类型,使用输出节点中的至少一个输出节点,以使得第二和第三数据类型正在一起使用所有的输出节点。
体现在计算机程序产品中的软件被适配成在软件被加载到相应的一个或多个设备上并且在一个或多个处理引擎(诸如微处理器、ASIC、FPGA等)上执行时执行以下功能:
将来自第一、第二和第三数据类型中的每个数据类型的数字图像的损失信号组合为经组合的损失信号:
该处理包括将经组合的损失信号反向传播穿过神经网络来更新该神经网络的权重值的步骤;以及
存储更新的权重值。
创建一个或多个损失信号可以附加地包括:
对于驻留在输出节点中的第一和第二数据类型的每个经修改的数字图像,
使用所有的输出节点和目标数字图像的像素值来创建损失信号。
创建一个或多个损失信号可以附加地包括:
对于每个经修改的数字图像,
通过使用逆向修改的网络来处理经修改的数字图像以在输出节点中获得经逆向修改的数字图像;
对于每个数据类型,使用输出节点和未修改的数字图像的像素值来创建损失信号。
创建该一个或多个损失信号可以附加地包括:
对于第一和第三数据类型的每个经修改的和参考数字图像,
体现在计算机程序产品中的软件被适配成在软件被加载到相应的一个或多个设备上并且在一个或多个处理引擎(诸如微处理器、ASIC、FPGA等)上执行时执行以下功能:
对于每个输出数字图像,使得经训练的对抗网络通过以下方式来估计每个经修改的和参考数字图像:
通过分别在输出节点中指派第一和第二数值输出值,
将损失信号创建为第一输出值和第二输出值之间的差异。
对于第三种数据类型的每个未修改的和经修改的数字图像,经训练的对抗网络估计每个未修改的和经修改的数字图像,
分别在输出节点中指派第一和第二数值输出值,
以及将损失信号创建为第一数值输出值加上输入输入校正值、与第二输出值之间的差异。
在通过采样来构建输入数据批次之前,对所有的输入数据集进行预处理、交织或混洗。
在输出节点中的值和目标数字图像之间创建映射。
体现在计算机程序产品中的软件被适配成在软件被加载到相应的一个或多个设备上并且在一个或多个处理引擎(诸如微处理器、ASIC、FPGA等)上执行时执行以下功能:
扭曲数字图像以供具有用于处理的装置和非易失性存储器的系统使用,该系统被适配成定义数字图像的面部标志。
接收数字图像;
用于处理接收帧图像编号x的装置
检测图像上面部标志的图像像素坐标,并且将该图像像素坐标发送到神经网络,
神经网络被适配成生成扭曲场;
将扭曲场应用于帧图像编号x;
在显示器上输出经扭曲的帧图像编号x;
并且对于至少一帧图像编号x+n,n>=l;
使用从帧图像编号x获得的扭曲场;
并且对于至少一帧图像编号x+m,m>=n+l;
使用从帧图像编号x+n获得的面部标志。
读取输入数据集,其中该输入数据集是异构数据集,由此该异构数据集可以包括经标记的照片对、经标记的CGI对和未标记的照片中的任何一些或全部。
在通过采样来构建输入数据批次之前,对所有的输入数据集进行交织或混洗。
当存在多个类型的数据集时,每个数据集对梯度具有同等的影响,在此情形中它们在批次中同等频繁地出现,而与数据集大小无关。
通过以下方式来提供同等出现:混洗之前的所有的输入数据集被解读为重复数据集的交织并集,其中来自每个数据集的样本交替地相互跟随,并且可以在数据集用完样本时被重用。
在包括输入和目标图像的经标记的数据对上执行第一修改通过。
计算监督损失信号。
在未标记的数据上执行第一修改通过,但不需要针对其计算所监督的损失信号。
体现在计算机程序产品中的软件被适配成在软件被加载到相应的一个或多个设备上并且在一个或多个处理引擎(诸如微处理器、ASIC、FPGA等)上执行时执行以下功能:
适配修改网络以接收输入数据和校正角度。
由处理器或用于处理的装置向修改网络提供不同类型的数据。
适配修改网络以用校正角度来扭曲输入图像的像素。
通过在经扭曲的图像和目标图像的像素值之间所计算的L距离来表示该损失信号。
将中间损失信号存储在存储器中。
执行逆向修改通道,其中输入数据集可以由来自经标记的数据和未标记的数据的第一修改通道的输出数据来提供。
目标数据可以是原始的经标记的输入数据、以及未标记的输入数据。
校正角可以是逆向校正角。
与在第一修改通过中一样,在逆向修改通过中计算L距离损失信号。
得到的损失信号可以是该训练信号的循环损失信号。
逆向修改通过可以刺激神经网络对从眼睛图像到眼睛图像的可逆函数进行建模。
中间损失信号可被存储在存储器中。
体现在计算机程序产品中的软件被适配成在软件被加载到相应的一个或多个设备上并且在一个或多个处理引擎(诸如微处理器、ASIC、FPGA等)上执行时执行以下功能:
对抗评估通过可以包括对抗网络接收来自第一修改通过的输出。
通过对抗或判别式网络发送经修改的图像以进行估计,并且取决于数据类型,可以计算不同的损失信号。
可以针对经修改的经标记的照片计算对抗损失信号。
基于该结果,可以决定对抗网络估计这些图像是真实的或虚假的。
体现在计算机程序产品中的软件被适配成在软件被加载到相应的一个或多个设备上并且在一个或多个处理引擎(诸如微处理器、ASIC、FPGA等)上执行时执行以下功能:
计算注视角度回归损失信号。
使用该注视角度回归损失信号来决定对抗网络是否将该注视角度估计为目标角度。
针对经修改的经标记的CGI计算注视角度回归损失信号。
使用该注视角度回归损失信号来决定对抗网络是否将经修改的图像中的注视角度估计为目标角度。
针对未标记的照片计算对抗损失信号,由此可以将该结果用于决定对抗网络估计这些图像是真实的或虚假的。
体现在计算机程序产品中的软件被适配成在软件被加载到相应的一个或多个设备上并且在一个或多个处理引擎(诸如微处理器、ASIC、FPGA等)上执行时执行以下功能:
通过要估计的对抗网络来发送原始的未标记的照片。
向要估计的对抗网络发送经扭曲的图像。
将损失信号计算为原始的未标记的照片的估计角度加上校正角度、与经扭曲的照片的估计角度之间的差异。
在照片输出的真实度上对所计算的损失信号给出数值分数或字母数字分数。
训练针对真实图像的分数必须大于针对经修改的图像的分数或具有高于针对经修改的图像的分数的值,以创建不同的图像类型之间的区别。
体现在计算机程序产品中的软件被适配成在软件被加载到相应的一个或多个设备上并且在一个或多个处理引擎(诸如微处理器、ASIC、FPGA等)上执行时执行以下功能:
损失信号聚合和细化包括:
所有先前所计算的损失信号被加权并且相加成合成的或组合的损失信号。
将损失信号的梯度反向传播到修改网络。
当所有包括的损失信号已收敛时,完全训练生成式对抗网络。
在保持修改网络的参数固定时训练对抗网络。
图像评估通过可以包括:所有的输入图像通过修改网络来发送,并且输出取决于其原始类型而被区分。
对于未标记的照片,仅对抗损失信号需要被计算,该损失信号给出对图像是真实或虚假的测量。
体现在计算机程序产品中的软件被适配成在软件被加载到相应的一个或多个设备上并且在一个或多个处理引擎(诸如微处理器、ASIC、FPGA等)上执行时执行以下功能:
使用在操作中已被训练的修改网络。
使用中间结果以便减少处理延迟。
体现在计算机程序产品中的软件被适配成在软件被加载到相应的一个或多个设备上并且在一个或多个处理引擎(诸如微处理器、ASIC、FPGA等)上执行时执行以下功能:
执行未优化的顺序处理,其中相机帧图像编号x从本地用于处理的装置被发送到云服务器或其他用于处理的装置,并且检测面部标志坐标并将其添加到图像中。
向经训练的修改神经网络发送具有面部标志的帧图像,该修改神经网络计算扭曲场并且将其应用到帧图像的眼睛区域。
在云服务器或其他用于处理的装置上主控该神经网络。
将经扭曲的图像从云服务器或用于处理的装置发送回本地用于处理的装置,然后本地用于处理的装置可以输出最终图像帧。
体现在计算机程序产品中的软件被适配成在软件被加载到相应的一个或多个设备上并且在一个或多个处理引擎(诸如微处理器、ASIC、FPGA等)上执行时执行以下功能:
并行地处理各处理行中数个帧(诸如四个处理行中的四个帧),以便后续的处理行可以使用先前的一个或多个处理行的结果。
第一行的处理可以始于将第一相机帧图像从本地用于处理的装置发送到云服务器或用于处理的装置。
执行面部标志检测并且定义面部标志坐标。
可以同时在第二帧图像上开始处理下一行(诸如第二行),第二帧图像是帧号x+n的图像,其中n>=l。
将第二帧图像从本地用于处理的装置发送到云服务器或用于处理的装置。
使用第一帧图像的面部标志坐标而不是定义第二帧图像的面部标志坐标。
体现在计算机程序产品中的软件被适配成在软件被加载到相应的一个或多个设备上并且在一个或多个处理引擎(诸如微处理器、ASIC、FPGA等)上执行时执行以下功能:
修改神经网络接收第二帧图像和第一帧图像的面部标志坐标,并且计算从云服务器或用于处理的装置发送回本地用于处理的装置的扭曲场。
通过将第三帧图像编号x+m,m>=n+l发送到云服务器或用于处理的装置来处理下一行,诸如第三行。
执行面部标志检测,将第三帧图像的面部标志坐标从云服务器或用于处理的装置发送到本地用于处理的装置。
在本地用于处理的装置上用第四帧图像编号x+q,q>=m+l来处理下一行,诸如第四行。
接收基于第二帧图像和第一帧图像的扭曲场、以及基于第三帧图像的面部标志。
将下一帧图像(诸如将第四帧图像)扭曲为第五帧图像。
做出确定用于计算与显示标志坐标和扭曲的帧可以相距多远的设置。
体现在计算机程序产品中的软件被适配成在软件被加载到相应的一个或多个设备上并且在一个或多个处理引擎(诸如微处理器、ASIC、FPGA等)上执行时执行以下功能:
接收已被修改网络修改的经标记的和未标记的数据。
固定修改网络的参数,同时训练对抗网络来估计每个数据。
通过计算每个数据的分数来估计该数据,而无需知晓它是真实的或经修改的。
对真实数据计算较高的分数或具有较高值的分数,并且对经修改的数据计算较低的分数或较低的值。
体现在计算机程序产品中的软件被适配成在软件被加载到相应的一个或多个设备上并且在一个或多个处理引擎(诸如微处理器、ASIC、FPGA等)上执行时执行以下功能:
在训练修改网络时,对抗网络可已被训练成对未修改的数据给出高分或较高的值,而对经修改的数据给出低分。
固定对抗网络的参数,由此修改网络可以随后修改数据并将其发送到对抗网络。
对该数据进行评分,由此(在若干次迭代中)调整修改神经网络的参数直到分数达到期望值。
聚合分别针对所有的真实和经修改数据的分数,由此聚合可以包括计算针对相应的数据类型集合的平均值。
以上任何软件都可被实现为已经针对网络中的任何服务器或节点中的处理引擎进行编译的计算机程序产品。计算机程序产品可被存储在非瞬态信号存储介质上,诸如光盘(CD-ROM或DVD-ROM)、数字磁带、磁盘、固态存储器(诸如USB闪存存储器)、ROM等。
出于解说的目的,本文已描述了系统、方法和装置的具体示例。这些仅是示例。本文中提供的技术可被应用于除了上述示例系统之外的系统。在本发明的实践内,许多改变、修改、添加、省略和置换是可行的。本发明包括对本领域技术人员显而易见的所描述实施例的变化,其包括通过以下方式获得的变化:用于等效的特征、元素和/或行为来替换特征、元素和/或行为;将来自不同实施例的特征、元素和/或动作进行混合和匹配;将来自如本文所述的实施例的特征、元素和/或动作与其他技术的特征、元素和/或动作相结合;和/或从所描述的实施例中省略组合特征、元素和/或动作。因此,旨在将以下所附的权利要求和下文介绍的权利要求解读成包括可合理推断的所有此类修改、排列、添加、省略和子组合。权利要求的范围不应受限于这些示例中阐述的优选实施例,而被赋予与整个说明书一致的最宽泛的解释。
尽管以上已经参考特定实施例描述了本发明,但是这样做是为了阐明而不是限制本发明。技术人员将理解,在不脱离本发明的范围的情况下,可以对所公开的特征进行各种修改和不同的组合。

Claims (72)

1.一种用于通过调整神经网络的节点的权重值来训练所述神经网络的方法,所述神经网络具有输出节点;
所述方法包括存储以下类型的数字图像:作为输入和目标数字真实图像对的第一数据类型、作为输入和目标数字合成图像对的第二数据类型、以及作为输入未标记的数字真实图像的第三数据类型,
由此每个图像由像素来表示,所述像素具有像素属性;
所述方法包括处理所述第一数据类型、所述第二数据类型和所述第三数据类型的所述数字图像;
所述处理包括通过以下方式来创建一个或多个损失信号的步骤:
-修改所述第一数据类型、所述第二数据类型和所述第三数据类型的每个输入图像以形成所述第一数据类型、所述第二数据类型和所述第三数据类型的经修改的数字图像,
-通过经由所述神经网络来处理所述经修改的数字图像的像素,从而获得所述输出节点中的输出值,
-通过以下方式来获取损失信号:
-对于所述第一数据类型,使用所有的输出节点,
-对于所述第二数据类型,使用所述输出节点中的至少一个输出节点,以及
-对于所述第三数据类型,使用所述输出节点中的至少一个输出节点,以使得所述第二数据类型和所述第三数据类型正在一起使用所有的所述输出节点;
所述处理包括将来自所述第一数据类型、所述第二数据类型和所述第三数据类型中的每个数据类型的数字图像的所述损失信号组合为经组合的损失信号的步骤:
所述处理包括通过将所述经组合的损失信号反向传播穿过所述神经网络来更新所述神经网络的所述权重值的步骤;以及
所述处理包括存储经更新的权重值的步骤。
2.根据权利要求1所述的方法,其中创建一个或多个损失信号的步骤附加地包括:
对于驻留在所述输出节点中的所述第一数据类型和所述第二数据类型的每个经修改的数字图像,
使用所有的输出节点和所述目标数字图像的所述像素值来创建损失信号。
3.根据权利要求1或2所述的方法,其中创建一个或多个损失信号的步骤附加地包括:
对于每个经修改的数字图像,
通过使用逆向修改的所述网络来处理所述经修改的数字图像以在所述输出节点中获得经逆向修改的数字图像;
对于每个数据类型,使用所述输出节点和未修改的数字图像的所述像素值来创建损失信号。
4.根据权利要求1至3中的任一项所述的方法,其中创建所述一个或多个损失信号的步骤附加地包括:
对于所述第一数据类型和所述第三数据类型的每个经修改的和参考数字图像,
对于每个输出数字图像,使得经训练的对抗网络通过以下方式来估计每个经修改的和参考数字图像:
分别在所述输出节点中指派第一数值输出值和第二数值输出值,
以及将所述损失信号创建为所述第一输出值和所述第二输出值之间的差异。
5.根据权利要求1至4中的任一项所述的方法,进一步包括:
对于所述第三数据类型的每个未修改的和经修改的数字图像,
使得经训练的对抗网络估计每个未修改的和经修改的数字图像,
分别在所述输出节点中指派第一数值输出值和第二数值输出值,
以及将所述损失信号创建为以下两者之间的差异:
所述第一数值输出值加上输入校正值,与所述第二输出值。
6.根据权利要求1至5中的任一项所述的方法,进一步包括在通过采样来构建输入数据批次之前对所有的输入数据集进行预处理、交织或混洗中的任一者。
7.根据权利要求1至6中的任一项所述的方法,包括在所述输出节点中的所述值与所述目标数字图像之间创建映射。
8.一种用于与具有用于处理的装置和非易失性存储器的系统一起使用的用于扭曲数字图像的方法,
所述系统被适配成定义数字图像的面部标志;
所述方法包括以下步骤:
接收数字图像;
用于处理的装置接收帧图像编号x
检测所述图像上所述面部标志的所述图像像素坐标,并且将所述图像像素坐标发送到神经网络,
所述神经网络被适配成生成扭曲场;
将所述扭曲场应用于所述帧图像编号x;
在所述显示器上输出经扭曲的帧图像编号x;
并且对于至少一帧图像编号x+n,n>=l;
使用从帧图像编号x获得的所述扭曲场;
并且对于至少一帧图像编号x+m,m>=n+l;
使用从帧图像编号x+n获得的所述面部标志。
9.根据权利要求1至6中的任一项所述的方法,其中修改网络已被训练并且在操作中被使用。
10.根据权利要求9所述的方法,进一步包括使用中间结果以便减少处理延迟。
11.根据前述任一权利要求所述的方法,包括未优化的顺序处理,其中相机帧图像编号x从本地用于处理的装置被发送到云服务器或其他用于处理的装置,并且面部标志坐标被检测且被添加到所述图像中。
12.根据权利要求11所述的方法,其中具有所述面部标志的所述帧图像被发送到经训练的修改神经网络,所述修改神经网络计算扭曲场并且将其应用到所述帧图像的眼睛区域。
13.根据前述任一权利要求所述的方法,其中云服务器或其他用于处理的装置主控所述神经网络。
14.根据权利要求8至13中的任一项所述的方法,其中经扭曲的图像从云服务器或用于处理的装置被发送回所述本地用于处理的装置,所述本地用于处理的装置输出最终图像帧。
15.根据前述任一权利要求所述的方法,其中四个处理行中的四个帧被并行地处理,以便后续的处理行可以使用先前处理行的结果。
16.根据权利要求15所述的方法,其中处理所述第一行始于将第一相机帧图像从本地用于处理的装置发送到所述云服务器或用于处理的装置。
17.根据权利要求16所述的方法,其中执行面部标志检测并且定义面部标志坐标。
18.根据权利要求15至17中的任一项所述的方法,其中同时在第二帧图像上开始处理所述第二行,所述第二帧图像是帧图像编号x+n的图像,其中n>=l。
19.根据权利要求18所述的方法,其中所述第二帧图像从所述本地用于处理的装置被发送到所述云服务器或用于处理的装置。
20.根据权利要求17至19中的任一项所述的方法,其中使用第一帧图像的所述面部标志坐标而不是定义所述第二帧图像的所述面部标志坐标。
21.根据权利要求17至20中的任一项所述的方法,其中所述修改神经网络接收所述第二帧图像和所述第一帧图像的所述面部标志坐标,并且计算从所述云服务器或用于处理的装置发送回所述本地用于处理的装置的扭曲场。
22.根据权利要求21所述的方法,其中通过将第三帧图像编号x+m,m>=n+l发送到所述云服务器或用于处理的装置来同时开始处理第三行。
23.根据权利要求17至22中的任一项所述的方法,其中执行所述面部标志检测,并且将所述第三帧图像的所述面部标志坐标从所述云服务器或所述用于处理的装置发送到所述本地用于处理的装置。
24.根据权利要求16至23中的任一项所述的方法,其中在所述本地用于处理的装置上用所述第四帧图像编号x+q,q>=m+l来同时开始处理第四行。
25.根据权利要求17至24中的任一项所述的方法,其中已基于所述第二帧图像和所述第一帧图像接收到所述扭曲场,并且已基于所述第三帧图像接收到面部标志,这些可被用于将所述第四帧图像扭曲为第五帧图像。
26.根据权利要求25所述的方法,进一步包括:做出确定用于计算与显示所述标志坐标和扭曲的帧可以相距多远的设置。
27.根据前述任一权利要求所述的方法,其中接收已被修改网络修改的经标记的和未标记的数据。
28.根据权利要求27所述的方法,其中保持所述修改网络的参数固定,同时训练对抗网络来估计每个数据。
29.根据权利要求28所述的方法,其中估计每个数据包括计算所述数据的分数,而无需知晓它是真实的或经修改的。
30.根据权利要求29所述的方法,其中可以对真实数据计算较高的分数,而对经修改的数据计算较低的分数。
31.根据权利要求30所述的方法,其中当训练所述修改网络时,所述对抗网络可以已被训练成对未修改的数据给出高分,并且对经修改的数据给出低分,由此现在保持所述对抗网络的所述参数固定,由此所述修改网络可以随后修改数据并且将其发送到所述对抗性网络,所述对抗性网络对所述数据进行评分,由此可以随后(在若干次迭代中)调整所述修改神经网络的参数直到所述分数达到期望值。
32.根据权利要求29至31中的任一项所述的方法,其中分别聚合所有的真实数据和经修改的数据的分数。
33.根据权利要求29至32中的任一项所述的方法,其中聚合包括计算相应的数据类型集合的平均值。
34.根据权利要求29至33中的任一项所述的方法,进一步包括:根据所述真实数据的经聚合分数与所述经修改的数据的经聚合分数之间的差距为所述对抗网络提供损失信号。
35.一种用于通过调整神经网络的节点的权重值来训练所述神经网络的系统,所述神经网络具有输出节点;
所述系统包括:
用于作为输入和目标数字真实图像对的第一数据类型的数字图像、作为输入和目标数字合成图像对的第二数据类型、以及作为输入未标记的数字真实图像的第三数据类型的存储,
由此每个图像由像素来表示,所述像素具有像素属性;
所述系统包括用于处理所述第一数据类型、所述第二数据类型和所述第三数据类型的所述数字图像的处理器;
所述处理器被适配成通过以下方式来创建一个或多个损失信号:
-修改所述第一数据类型、所述第二数据类型和所述第三数据类型的每个输入图像以形成所述第一数据类型、所述第二数据类型和所述第三数据类型的经修改的数字图像,
-通过经由所述神经网络来处理所述经修改的数字图像的像素,从而获得所述输出节点中的输出值,
-通过以下方式来获取损失信号:
-对于所述第一数据类型,使用所有的输出节点,
-对于所述第二数据类型,使用所述输出节点中的至少一个输出节点,以及
-对于所述第三数据类型,使用所述输出节点中的至少一个输出节点,以使得所述第二数据类型和所述第三数据类型正在一起使用所有的所述输出节点;
所述处理器被适配成将来自所述第一数据类型、所述第二数据类型和所述第三数据类型中的每个数据类型的数字图像的所述损失信号组合为经组合的损失信号:
所述处理器被适配成通过将所述经组合的损失信号反向传播穿过所述神经网络来更新所述神经网络的所述权重值;以及
所述处理器被适配成存储经更新的权重值。
36.根据权利要求35所述的系统,其中所述处理器被适配成:对于驻留在所述输出节点中的所述第一数据类型和所述第二数据类型的每个经修改的数字图像,使用所有的输出节点和所述目标数字的所述像素值来创建损失信号。
37.根据权利要求35或36所述的系统,其中所述处理器被附加地适配成:
对于每个经修改的数字图像,
通过使用逆向修改的所述网络来处理所述经修改的数字图像以在所述输出节点中获得经逆向修改的数字图像;以及
对于每个数据类型,使用所述输出节点和未修改的数字图像的所述像素值来创建损失信号。
38.根据权利要求35至37中的任一项所述的系统,其中所述处理器被附加地适配成:
对于所述第一数据类型和所述第三数据类型的每个经修改的和参考数字图像,
对于每个输出数字图像,使得经训练的对抗网络通过以下方式来估计每个经修改的和参考数字图像:
分别在所述输出节点中指派第一和第二数值输出值,
以及将所述损失信号创建为所述第一输出值和所述第二输出值之间的差异。
39.根据权利要求35至38中的任一项所述的系统,包括:
对于所述第三数据类型的每个未修改的和经修改的数字图像,
用于以下操作的经训练的对抗网络:估计每个未修改的和经修改的数字图像,
分别在所述输出节点中指派第一和第二数值输出值,
以及将所述损失信号创建为以下两者之间的差异:
所述第一数值输出值加上输入校正值、与所述第二输出值。
40.根据权利要求35至39中的任一项所述的系统,进一步被适配成用于:在通过采样来构建输入数据批次之前,对所有的输入数据集进行预处理、交织或混洗中的任一者。
41.根据权利要求35至40中的任一项所述的系统,进一步被适配成:在所述输出节点中的值和所述目标数字图像之间创建映射。
42.一种用于扭曲数字图像的系统,所述系统包括用于处理的装置和非易失性存储器,
所述系统被适配成定义数字图像的面部标志;所述系统被适配成接收数字图像;
用于处理的装置被适配成接收帧图像编号x,以检测所述图像上的所述面部标志的所述图像像素坐标并且将所述图像像素坐标发送到神经网络,
所述神经网络被适配成生成扭曲场;
以及将所述扭曲场应用于所述帧图像编号x;
以在所述显示器上输出经扭曲的帧图像编号x;
并且对于至少一帧图像编号x+n,n>=l;
使用从帧图像编号x获得的所述扭曲场;
并且对于至少一帧图像编号x+m,m>=n+l;
使用从帧图像编号x+n获得的所述面部标志。
43.根据权利要求35至42中的任一项所述的系统,其中修改网络已被训练并且在操作中被使用。
44.根据权利要求43所述的方法,被适配成使用中间结果以便减少处理延迟。
45.根据权利要求35至44中的任一项所述的系统,
被适配成用于未优化的顺序处理,其中相机帧图像编号x从本地用于处理的装置被发送到云服务器或其他用于处理的装置,并且面部标志坐标被检测并被添加到所述图像中。
46.根据权利要求45所述的系统,其中具有所述面部标志的所述帧图像被发送到经训练的修改神经网络,所述修改神经网络计算扭曲场并且将其应用到所述帧图像的眼睛区域。
47.根据权利要求35至46中的任一项所述的系统,进一步被适配成:主控云服务器或其他用于处理所述神经网络的装置。
48.根据权利要求35至47中的任一项所述的系统,被适配成将经扭曲的图像从云服务器或用于处理的装置发送回所述本地用于处理的装置,所述本地用于处理的装置被适配成输出最终图像帧。
49.根据权利要求35至48中的任一项所述的系统,被适配成:四个处理行中的四个帧被并行地处理,以便后续的处理行可以使用先前处理行的结果。
50.根据权利要求49所述的系统,被适配成:通过将第一相机帧图像从本地用于处理的装置发送到所述云服务器或用于处理的装置来开始处理所述第一行。
51.根据权利要求50所述的系统,被适配成:执行面部标志检测并且定义面部标志坐标。
52.根据权利要求49至51中的任一项所述的系统,其中同时在第二帧图像上开始处理所述第二行,所述第二帧图像是帧图像编号x+n的图像,其中n>=l。
53.根据权利要求52所述的系统,被适配成:将所述第二帧图像从所述本地用于处理的装置发送到所述云服务器或用于处理的装置。
54.根据权利要求51至53中的任一项所述的系统,其中使用第一帧图像的所述面部标志坐标而不是定义所述第二帧图像的所述面部标志坐标。
55.根据权利要求51至54中的任一项所述的系统,其中所述修改神经网络被适配成接收所述第二帧图像和所述第一帧图像的所述面部标志坐标,并且被适配成计算从所述云服务器或用于处理的装置发送回所述本地用于处理的装置的扭曲场。
56.根据权利要求55所述的系统,被适配成:通过将第三帧图像编号x+m,m>=n+l发送到所述云服务器或用于处理的装置来同时开始处理第三行。
57.根据权利要求51至56中的任一项所述的系统,被适配成执行面部标志检测,并且被适配成将所述第三帧图像的所述面部标志坐标从所述云服务器或所述用于处理的装置发送到所述本地用于处理的装置。
58.根据权利要求50至57中的任一项所述的系统,被适配成:在所述本地用于处理的装置上用所述第四帧图像编号x+q,q>=m+l来同时开始处理第四行。
59.根据权利要求51至58中的任一项所述的系统,被适配成以使得已基于所述第二帧图像和所述第一帧图像接收到所述扭曲场,并且已基于所述第三帧图像接收到面部标志,这些可被用于将所述第四帧图像扭曲为第五帧图像。
60.根据权利要求59所述的系统,进一步被适配成:做出确定用于计算与显示所述标志坐标和扭曲的帧可以相距多远的设置。
61.根据权利要求35至60中的任一项所述的系统,被适配成:接收已被修改网络修改的经标记的和未标记的数据。
62.根据权利要求61所述的系统,被适配成:保持所述修改网络的参数固定,同时训练对抗网络来估计每个数据。
63.根据权利要求62所述的系统,被适配成:通过计算每个数据的分数来估计所述数据,而无需知晓它是真实的或经修改的。
64.根据权利要求63所述的系统,被适配成:对真实数据计算较高的分数,并且对经修改的数据计算较低的分数。
65.根据权利要求64所述的系统,被适配成以使得:在训练所述修改网络时,所述对抗网络可已被训练成对未修改的数据给出高分,并且对经修改的数据给出低分。
66.根据权利要求65所述的系统,被适配成以使得:现在保持所述对抗网络的参数固定,并且所述修改网络被适配成随后修改数据并且将其发送到所述对抗性网络,所述对抗性网络对所述数据进行评分。
67.根据权利要求66所述的系统,被适配成以使得:然后可以(在若干次迭代中)调整所述修改神经网络的所述参数直到所述分数达到期望值。
68.根据权利要求63至67中的任一项所述的系统,被适配成:分别聚合所有的真实数据和经修改的数据的分数。
69.根据权利要求63至68中的任一项所述的系统,被适配成以使得聚合包括计算相应的数据类型集合的平均值。
70.根据权利要求63至69中的任一项所述的系统,进一步被适配成:根据所述真实数据的经聚合分数与所述经修改的数据的经聚合分数之间的差距为所述对抗网络提供损失信号。
71.一种计算机程序产品,当在处理器上执行时所述计算机程序产品执行权利要求1至34中的任一项所述的方法。
72.一种非瞬态机器可读信号存储介质,所述非瞬态机器可读信号存储介质存储如权利要求71所述的计算机程序产品。
CN201980098514.6A 2019-05-17 2019-05-17 用于训练具有构数据的生成式对抗网络的方法和系统 Pending CN114127776A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2019/062880 WO2020233779A1 (en) 2019-05-17 2019-05-17 Method and system for training generative adversarial networks with heterogeneous data

Publications (1)

Publication Number Publication Date
CN114127776A true CN114127776A (zh) 2022-03-01

Family

ID=66776299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980098514.6A Pending CN114127776A (zh) 2019-05-17 2019-05-17 用于训练具有构数据的生成式对抗网络的方法和系统

Country Status (4)

Country Link
US (1) US11823348B2 (zh)
EP (1) EP3970110A1 (zh)
CN (1) CN114127776A (zh)
WO (1) WO2020233779A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210110554A1 (en) * 2019-10-14 2021-04-15 Duelight Llc Systems, methods, and computer program products for digital photography using a neural network
US20200257985A1 (en) * 2019-02-08 2020-08-13 DeepSig Inc. Adversarially generated communications
GB2592890A (en) * 2019-12-18 2021-09-15 Kalibrate Tech Limited Discrete Optimisation
WO2023035007A1 (en) * 2021-09-06 2023-03-09 Kickback Space Inc. Image analysis and gaze redirection using characteristics of the eye
CN116912922B (zh) * 2023-09-12 2024-01-05 深圳须弥云图空间科技有限公司 表情识别模型训练方法、装置、电子设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102740041A (zh) * 2011-04-05 2012-10-17 宝利通公司 增强直接目光接触的视频会议单元
US20140096077A1 (en) * 2012-09-28 2014-04-03 Michal Jacob System and method for inferring user intent based on eye movement during observation of a display screen
CN107895359A (zh) * 2016-10-04 2018-04-10 安讯士有限公司 使用图像分析算法以给神经网络提供训练数据
CN108230426A (zh) * 2018-02-07 2018-06-29 深圳市唯特视科技有限公司 一种基于眼睛注视数据和图像数据集的图像生成方法
US20180253866A1 (en) * 2017-03-03 2018-09-06 General Electric Company Image analysis neural network systems
WO2019079381A1 (en) * 2017-10-19 2019-04-25 Spy Eye, Llc ULTRA-DENSE LED PROJECTOR
US20190122072A1 (en) * 2017-10-19 2019-04-25 Nokia Technologies Oy Reverse neural network for object re-identification
CN109726793A (zh) * 2017-10-31 2019-05-07 奥多比公司 用于高效数字对象分割的深度突出内容神经网络

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3607492A4 (en) 2017-04-07 2021-01-06 INTEL Corporation ADVANCED AND AUGMENTED TRAINING PROCESSES AND SYSTEMS OF DEEP NEURAL NETWORKS USING SYNTHETIC DATA AND INNOVATIVE GENERATIVE NETWORKS
US11003995B2 (en) * 2017-05-19 2021-05-11 Huawei Technologies Co., Ltd. Semi-supervised regression with generative adversarial networks
US10540578B2 (en) * 2017-12-21 2020-01-21 International Business Machines Corporation Adapting a generative adversarial network to new data sources for image classification
US10937540B2 (en) * 2017-12-21 2021-03-02 International Business Machines Coporation Medical image classification based on a generative adversarial network trained discriminator
CN109190504B (zh) * 2018-08-10 2020-12-22 百度在线网络技术(北京)有限公司 汽车图像数据的处理方法、装置及可读存储介质
US10373026B1 (en) * 2019-01-28 2019-08-06 StradVision, Inc. Learning method and learning device for generation of virtual feature maps whose characteristics are same as or similar to those of real feature maps by using GAN capable of being applied to domain adaptation to be used in virtual driving environments
US11087215B1 (en) * 2020-07-25 2021-08-10 Sas Institute Inc. Machine learning classification system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102740041A (zh) * 2011-04-05 2012-10-17 宝利通公司 增强直接目光接触的视频会议单元
US20140096077A1 (en) * 2012-09-28 2014-04-03 Michal Jacob System and method for inferring user intent based on eye movement during observation of a display screen
CN107895359A (zh) * 2016-10-04 2018-04-10 安讯士有限公司 使用图像分析算法以给神经网络提供训练数据
US20180253866A1 (en) * 2017-03-03 2018-09-06 General Electric Company Image analysis neural network systems
WO2019079381A1 (en) * 2017-10-19 2019-04-25 Spy Eye, Llc ULTRA-DENSE LED PROJECTOR
US20190122072A1 (en) * 2017-10-19 2019-04-25 Nokia Technologies Oy Reverse neural network for object re-identification
CN109726793A (zh) * 2017-10-31 2019-05-07 奥多比公司 用于高效数字对象分割的深度突出内容神经网络
CN108230426A (zh) * 2018-02-07 2018-06-29 深圳市唯特视科技有限公司 一种基于眼睛注视数据和图像数据集的图像生成方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DANIIL KONONENKO; VICTOR LEMPITSKY: "Semi-Supervised Learning for Monocular Gaze Redirection", 13TH IEEE INTERNATIONAL CONFERENCE ON AUTOMATIC FACE & GESTURE RECOGNITION (FG 2018), 31 December 2018 (2018-12-31), pages 535 - 539, XP002797534, DOI: 10.1109/FG.2018.00086 *
ERROLL WOOD等: "GazeDirector: Fully Articulated Eye Gaze Redirection in Video", COMPUTER VISION AND PATTERN RECOGNITION, 27 April 2017 (2017-04-27), pages 1 - 10 *
WEI MA等: "Face Image Illumination Processing Based on GAN with Dual Triplet Loss", PATTERN RECOGNITION AND COMPUTER VISION, 3 November 2018 (2018-11-03), pages 150, XP047492908, DOI: 10.1007/978-3-030-03338-5_13 *
王兴隆: "基于眼动轨迹的智能移动设备安全鉴权机制的研究与实现", 中国优秀硕士学位论文全文数据库 信息科技辑, no. 02, 15 February 2019 (2019-02-15), pages 138 - 189 *

Also Published As

Publication number Publication date
EP3970110A1 (en) 2022-03-23
US11823348B2 (en) 2023-11-21
WO2020233779A1 (en) 2020-11-26
US20220215504A1 (en) 2022-07-07

Similar Documents

Publication Publication Date Title
CN114127776A (zh) 用于训练具有构数据的生成式对抗网络的方法和系统
JP6807471B2 (ja) セマンティックセグメンテーションモデルの訓練方法および装置、電子機器、ならびに記憶媒体
Cole et al. Synthesizing normalized faces from facial identity features
JP2023548921A (ja) 画像の視線補正方法、装置、電子機器、コンピュータ可読記憶媒体及びコンピュータプログラム
CN112884682B (zh) 一种基于匹配与融合的立体图像颜色校正方法及系统
EP3005302A1 (en) Online modeling for real-time facial animation
CN108470178B (zh) 一种结合深度可信度评价因子的深度图显著性检测方法
JP2023545190A (ja) 画像の視線補正方法、装置、電子機器、及びコンピュータプログラム
CN113807265B (zh) 一种多样化的人脸图像合成方法及系统
CN110945537B (zh) 训练装置、识别装置、训练方法、识别方法和程序
WO2023080921A1 (en) Neural radiance field generative modeling of object classes from single two-dimensional views
US20220343525A1 (en) Joint depth prediction from dual-cameras and dual-pixels
WO2023185395A1 (zh) 一种面部表情捕捉方法、装置、计算机设备及存储介质
CN111652798A (zh) 人脸姿态迁移方法和计算机存储介质
US20230419600A1 (en) Volumetric performance capture with neural rendering
AU2024204025A1 (en) Techniques for re-aging faces in images and video frames
KR102419011B1 (ko) 종래의 cad 모델들을 사용한 이미지들로부터 객체 인식
CN106778576A (zh) 一种基于sehm特征图序列的动作识别方法
CN112200236A (zh) 人脸参数识别模型的训练方法、人脸参数的识别方法
CN115018729A (zh) 一种面向内容的白盒图像增强方法
CN113870314A (zh) 一种动作迁移模型的训练方法及动作迁移方法
CN116030181A (zh) 3d虚拟形象生成方法与装置
US20240221263A1 (en) System and method for training and using an implicit representation network for representing three dimensional objects
CN115984972B (zh) 基于运动视频驱动的人体姿态识别方法
US20240221289A1 (en) System and method for reconstruction of an animatable three-dimensional human head model from an image using an implicit representation network

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