CN108885784B - 使用基于神经网络的机器学习的实时目光接触校正 - Google Patents
使用基于神经网络的机器学习的实时目光接触校正 Download PDFInfo
- Publication number
- CN108885784B CN108885784B CN201780019880.9A CN201780019880A CN108885784B CN 108885784 B CN108885784 B CN 108885784B CN 201780019880 A CN201780019880 A CN 201780019880A CN 108885784 B CN108885784 B CN 108885784B
- Authority
- CN
- China
- Prior art keywords
- image
- eye region
- neural network
- training
- generate
- 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
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 248
- 238000012937 correction Methods 0.000 title claims abstract description 108
- 238000010801 machine learning Methods 0.000 title description 5
- 238000000034 method Methods 0.000 claims abstract description 116
- 230000033001 locomotion Effects 0.000 claims abstract description 95
- 239000013598 vector Substances 0.000 claims abstract description 94
- 238000012549 training Methods 0.000 claims description 249
- 230000006835 compression Effects 0.000 claims description 148
- 238000007906 compression Methods 0.000 claims description 148
- 238000001514 detection method Methods 0.000 claims description 104
- 230000001815 facial effect Effects 0.000 claims description 63
- 239000003550 marker Substances 0.000 claims description 52
- 238000007637 random forest analysis Methods 0.000 claims description 44
- 238000013527 convolutional neural network Methods 0.000 claims description 25
- 230000004044 response Effects 0.000 claims description 12
- 238000001914 filtration Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 description 30
- 230000008569 process Effects 0.000 description 26
- 238000003860 storage Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 238000004513 sizing Methods 0.000 description 11
- 238000013507 mapping Methods 0.000 description 8
- 210000000887 face Anatomy 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 239000000463 material Substances 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000010354 integration Effects 0.000 description 4
- 238000011176 pooling Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000011514 reflex Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 208000031968 Cadaver Diseases 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000004886 head movement Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000002513 implantation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/18—Image warping, e.g. rearranging pixels individually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
- G06V40/171—Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
- G06V40/193—Preprocessing; Feature extraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
- G06V40/197—Matching; Classification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
- H04N7/147—Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Ophthalmology & Optometry (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- General Engineering & Computer Science (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Image Analysis (AREA)
- Geometry (AREA)
Abstract
讨论涉及用于在用户观看显示器时提供与相机对准的虚拟用户注视的目光接触校正的技术。这些技术可以包括:使用预先训练的神经网络对源图像的眼睛区域进行编码,以生成压缩特征;将预先训练的分类器应用于该特征,以确定用于眼睛区域的运动矢量场;以及扭转眼睛区域并且将其插入源图像中,以生成目光接触校正图像。
Description
优先权要求
本申请要求2016年4月22日提交的题为“EYE CONTACT CORRECTION IN REAL TIMEUSING NEURAL NETWORK BASED MACHINE LEARNING”的美国专利申请No.15/136,618的优先权,其出于所有目的通过引用并入本文。
背景技术
在膝上型设备或其它设备上的视频电话或视频会议应用中,捕获用户的视频的相机以及提供用户正谈话的个人或人们的视频的显示器可能偏移。例如,相机可能安装在显示器之上。因此,视频呼叫中的参与者可能不能同时看着屏幕(以看见另一参与者)和相机(对于与另一参与者进行良好的、自然的接触而言是期望的)。
用于校正这些目光接触校正问题的当前技术是有瑕疵的。例如,当前技术可能并非快得足以支持实时植入,可能需要特殊附加相机硬件(例如,深度相机或立体相机),或者可能在质量方面并非足够鲁棒。正是针对这些和其它考虑,已经需要目前的改进。随着视频电话的实现方式在各种上下文中变得更普遍,这些改进可能变得关键。
附图说明
在附图中通过示例的方式而非通过限制的方式示出本文所描述的材料。为了说明的简明性和清楚性,附图所示的要素不一定按比例绘制。例如,为了清楚,一些要素的尺寸可以相对于其它要素夸大。此外,在考虑得适当的情况下,标号已经在附图之间重复,以指示对应或类似要素。在附图中:
图1示出用于提供目光接触校正的示例设置;
图2示出用于提供目光接触校正的示例系统;
图3示出用于提供目光接触校正的示例目光接触校正模块;
图4示出示例输入图像;
图5示出示例面部检测数据和示例面部标志;
图6示出示例眼睛区域;
图7示出示例神经网络;
图8示出示例校正后的眼睛区域;
图9示出用于预选训练目光接触校正分类器的示例系统;
图10示出示例源图像和示例目标图像;
图11示出示例目标面部标志;
图12示出示例源眼睛区域和示例目标眼睛区域;
图13示出用于示例源眼睛区域的示例似然映射;
图14示出示例神经网络训练系统;
图15示出示例神经网络训练系统;
图16示出示例神经网络训练系统;
图17是示出用于预选训练目光接触校正神经网络和分类器的示例处理的流程图;
图18是示出用于提供目光接触校正的示例处理的流程图;
图19示出用于提供目光接触校正的示例系统的说明性示图;
图20是示例系统的说明性示图;以及
图21示出全部根据本公开的至少一些实现方式所布置的示例小形数设备。
具体实施方式
现参照附图描述一个或多个实施例。虽然讨论特定配置和布置,但应理解,仅为了说明的目的而进行该操作。本领域技术人员应理解,在不脱离说明书的精神和范围的情况下,可以采用其它配置和布置。本领域技术人员应理解,也可以在除了本文所描述的之外的各种其它系统和应用中采用本文所描述的技术和/或布置。
虽然以下描述阐述可以例如在架构(例如,片上系统(SoC)架构)中显现的各个实现方式,但本文所描述的技术和/或布置的实现方式不限于特定架构和/或计算系统,并且可以通过用于相似目的的任何架构和/或计算系统得以实现。例如,采用例如多个集成电路(IC)芯片和/或封装的各种架构和/或各种计算设备和/或消费者电子(CE)设备(例如,多功能设备、平板、智能电话等)可以实现本文所描述的技术和/或布置。此外,虽然以下描述可以阐述大量具体细节(例如,系统组件的逻辑实现方式、类型和相互关系、逻辑分区/集成选取等),但可以在没有这些具体细节的情况下实践所要求的主题内容。在其它实例中,为了不掩盖本文所公开的材料,可以并不详细地示出一些材料(例如,控制结构和完整软件指令序列)。
可以在硬件、固件、软件或其任何组合中实现本文所公开的材料。本文所公开的材料也可以实现为可以由一个或多个处理器读取并且执行的机器可读介质上所存储的指令。计算机可读介质可以包括用于存储或发送机器可读的形式的信息的任何介质和/或机构(例如,计算设备)。例如,机器可读介质可以包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质;光存储介质;闪存设备;电、光、声学或其它形式的传输信号(例如,载波、红外信号、数字信号等)以及其它介质。
说明书中对“一个实现方式”、“实现方式”、“示例实现方式”或各示例或各实施例等的引用指示所描述的实现方式可以包括特定特征、结构或特性,但每一实施例可以不一定包括该特定特征、结构或特性。此外,这些短语不一定指代同一实现方式。此外,当结合实施例描述特定特征、结构或特性时,认为结合其它实现方式实现该特征、结构或特征处于本领域技术人员的知识内,而无论是否在本文中明确地描述。
本文描述与目光接触校正有关的方法、设备、装置、计算平台和物品。
如上所述,在膝上型设备或其它设备(例如,移动设备)上的视频电话或视频会议应用中,捕获用户的视频的相机以及提供用户正谈话的个人或人们的视频的显示器可能偏移,这样可能产生用户的不期望的并且不自然的呈现,使得用户并非正看着他们正谈话的人。例如,相机与显示器之间的偏移可能对用户造成窘境,使得他们必须在看着显示器(并且使得他们对他们正谈话的用户的呈现显得他们并未看着)与看着相机(并且不看着他们正谈话的用户)之间进行选取。本文所讨论的技术可以关于应用(例如,视频电话、视频会议等)在相机图像信号处理单元中使用基于神经网络的机器学习提供实时目光接触校正(或注视校正)。
如本文所讨论的那样,实施例可以包括(例如,离线执行的)训练组件以及提供目光接触校正的(例如,在实现方式或运行时期间执行的)实时组件。在离线训练组件中,具有已知注视角度的面部的数据库可以用于训练神经网络和模型(例如,预先训练的分类器(例如,随机森林)),其可以用于预测可以在实时运行的同时将(例如,具有未校正的眼睛区域的)输入图像调整为期望的(例如,具有校正后的目光接触的)输出图像的运动矢量(例如,运动矢量场)。例如,预先训练的神经网络可以是具有基于给定的眼睛区域生成压缩特征的编码部分以及基于来自编码部分的压缩特征生成结果图像的解码部分的深度神经网络、卷积神经网络等。可以基于减少给定的眼睛区域与训练数据库的结果图像之间的误差、基于减少来自给定的眼睛区域的垂直过滤的图像与训练数据库的结果图像之间的误差等训练神经网络,如本文进一步讨论的那样。
在实时阶段期间,可以仅实现受训神经网络的编码部分,以基于源图像的眼睛区域生成压缩特征。例如,可以使用预先训练的神经网络对源图像的眼睛区域进行编码,以生成与眼睛区域对应的压缩特征。预先训练的分类器(例如,诸如随机森林的预先训练的分类器)可以使用基于优化的随机森林树搜索等确定与特征对应的运动矢量。运动矢量场可以用以扭转(warp)眼睛区域,以生成期望的具有校正后的目光接触的输出图像。这些技术可以提供改进的校正后的眼睛图像、鲁棒性(例如,对于局部照度改变是鲁棒的)、实时能力(例如,更快的操作)以及灵活性(例如,取决于实现设备中的相机和显示器的相对定位,关于各种注视角度校正进行训练)。
本文所讨论的实施例可以提供来自源图像的目光接触校正图像,使得用户可以看着显示器,并且目光接触校正图像将校正用户的目光接触,使得目光接触校正图像提供以下显现:用户正看着相机。这些技术可以提供优点:在提供自然目光接触的显现的同时,用户能够观看他们正谈话的用户。例如,目光接触校正图像可以是可以被编码并且从(例如,用户的)本地设备发送到(例如,本地设备的用户正谈话的用户的)远程设备的图像或帧的视频序列的一个图像。
在一些实施例中,可以在本地设备处经由相机获得源图像。可以在源图像上提供面部检测和面部标志检测,以检测面部以及这些面部的标志(例如,与眼睛或眼睛区域对应的标志)。可以剪切源图像,以基于眼睛标志生成眼睛区域,并且眼睛区域可以被扭转并且重新插入源图像中,以生成目光接触校正图像。如所讨论的那样,可以在图像或帧的序列上提供这些技术,并且序列可以被编码且进行发送。在一些实施例中,预先训练的神经网络可以对源图像的眼睛区域进行编码,以生成与源图像的每个眼睛区域对应的压缩特征。例如,预先训练的神经网络可以是深度神经网络、卷积神经网络、具有全连接层和卷积层的神经网络等。在实施例中,预先训练的神经网络具有四个层:卷积神经网络层、第二卷积神经网络层、全连接层以及第二全连接层,顺序如是。预先训练的分类器可以应用于特征集合,以确定用于源图像的每个眼睛区域的运动矢量场,并且源图像的眼睛区域可以基于运动矢量场进行扭转,而且整合到源图像中(例如,源图像的其余非眼睛区域部分中),以生成目光接触校正图像。例如,预先训练的分类器可以是预先训练的随机森林分类器。
在一些实施例中,在神经网络和/或预先训练的分类器的训练阶段期间,可以基于其间具有已知注视角度差的训练图像集合执行训练。例如,训练集合中的各对中的第一图像以及各对中的第二图像可以在其间具有已知注视角度差。在训练期间,训练集合图像可以剪切为眼睛区域,并且眼睛区域可以对准,以提供多对训练眼睛区域图像。基于多对训练眼睛区域图像,可以关于各对训练眼睛区域图像中的第一图像中的每一个的每个像素生成似然映射,其中似然映射包括用于与像素对应的多个候选运动矢量中的每一个的绝对差之和(SAD)。例如,关于第一图像的眼睛区域的特定像素,可以定义候选运动矢量,并且可以通过将特定像素周围的像素(例如,窗口)与按对应运动矢量偏移的第二图像的眼睛区域中的窗口进行比较,来关于候选运动矢量中的每一个确定绝对差之和。
此外,可以(例如,经由神经网络进行的编码)关于各对训练眼睛区域图像中的第一图像确定训练阶段压缩特征。可以基于以下操作训练预先训练的神经网络:编码(以生成训练阶段压缩特征);对训练阶段压缩特征进行解码,以生成与第一图像对应的第一结果图像;以及对第一图像和第一结果图像进行评分。例如,可以训练预先训练的神经网络,以生成压缩特征,其可以在解码期间提供尝试匹配提供给神经网络的图像的结果图像。第一图像和第一结果图像的评分可以包括:评估第一图像与第一结果图像之间的误差;分别垂直地过滤第一图像和第一结果图像,以生成垂直过滤后的第一图像和垂直过滤后的第一结果图像;以及确定垂直过滤后的第一图像与垂直过滤后的第一结果图像之间的误差,或二者。例如,神经网络的训练可以使得这些误差减少或最小化。
基于用于训练集合中的眼睛区域的(例如,神经网络的编码部分所确定的)似然映射和压缩特征,可以训练预先训练的分类器,使得预先训练的分类器基于在实现阶段期间所设置的特征确定优化的运动矢量场。如所讨论的那样,预先训练的分类器可以是预先训练的随机森林分类器。在这些实施例中,随机森林分类器的树的每个叶子可以表示用于眼睛区域中的每一像素的似然映射(例如,SAD映射),并且在树的每个分枝处,训练处理可以使得已经到达分枝的似然映射之间的熵最小化。随机森林分类器可以包括任何合适的特性。在一些实施例中,随机森林分类器可以具有均带有大约6至7个等级的大约4至8个树。
如所讨论的那样,在实现阶段期间,可以关于源图像的眼睛区域确定压缩特征,并且预先训练的分类器可以应用于眼睛区域,以生成与眼睛区域对应的运动矢量场。运动矢量场可以用于扭转眼睛区域,并且扭转的眼睛区域可以整合到源图像中,以生成目光接触校正图像。
图1示出根据本公开的至少一些实现方式所布置的用于提供目光接触校正的示例设置100。如所示,设置100可以包括设备101,其具有显示器102以及相机104,显示器102以及相机104由用户(未示出)操作,以具有与远程用户103的视频电话会话。在图1的示例中,设备101示出为膝上型计算机。然而,设备101可以包括具有显示器102和相机104的任何合适的形数设备。例如,设备101可以是相机、智能电话、超级本、平板、可穿戴设备、监视器、台式计算机等。此外,虽然关于视频电话或视频会议进行了讨论,但可以在任何合适的上下文中提供所讨论的目光接触校正技术。
在视频电话等期间,相机104可以捕获设备101的用户的图像和/或视频,并且如所示,显示器102可以呈现远程用户103。在视频电话期间,在相机104正捕获图像的同时,设备101的用户可能期望看着远程用户103的方位105(例如,使得方位105与远程用户103的眼睛对应)。如所示,方位105和相机104在其间可能具有偏移106。如所讨论的那样,可以期望更改相机104所捕获的用户(未示出)的图像和/或视频,使得所捕获的图像和/或视频帧的眼睛区域可以被扭转,以显现为看着或注视在相机104上。在所示示例中,偏移106是显示器102之上所安装的相机104之间的垂直偏移。然而,相机104和显示器102在其间可以具有任何相对位置。例如,相机104与显示器102之间的相对位置可以是在相机处于显示器之上(如所示)的情况下的垂直偏移、在相机处于显示器之下的情况下的垂直偏移、在相机处于显示器的左边的情况下的水平偏移、在相机处于显示器的右边的情况下的水平偏移、或在相机在一个方向上完全处于显示器的边界的外部或边界内(例如,相机104可以从显示器102的中心位置移动到离开中心的位置但仍处于显示器102的边沿内)的情况下的相机与显示器之间的对角偏移(例如,相机处于显示器之上并且其右边)。
图2示出根据本公开的至少一些实现方式所布置的用于提供目光接触校正的示例系统200。如图2所示,系统200可以包括图像信号处理模块201、面部检测模块202、面部标志检测模块203、目光接触校正模块204以及视频压缩模块205。如所示,在一些实施例中,面部检测模块202和面部标志检测模块203可以是可以提供面部检测和面部标志检测的(如图3所示的)面部检测和面部标志检测模块301的部分。可以经由任何合适的设备(例如设备101和/或例如个人计算机、膝上型计算机、平板、电话平板、智能电话、数码相机、游戏控制台、可穿戴设备、显示设备、一体化设备、二合一设备等)实现系统200。例如,系统200可以提供可以在硬件、软件或其组合中实现的图像信号处理管线。如所讨论的那样,系统200可以实时提供用于视频电话、视频会议等的目光接触(或注视)校正,以获得自然外观校正的图像和/或视频。系统200可以使用已知的场景几何(例如关于图1所讨论的相机104和显示器102的相对定位)以及基于神经网络的机器学习技术,以提供实时高质量目光接触校正。
如所示,图像信号处理模块201可以接收图像源数据(ISD)211。图像源数据211可以包括任何合适的图像数据(例如,来自图像传感器(未示出)等的图像数据)。图像信号处理模块201可以处理图像源数据211以生成输入图像(II)212。图像信号处理模块201可以使用一种或多种合适的技术(例如,解马赛克、伽马校正、色彩校正、图像增强等)处理图像源数据211,以生成输入图像212。输入图像212可以处于任何合适的色彩空间中,并且可以包括任何合适的图像数据。如本文所使用的那样,术语图像在任何合适的上下文中可以包括任何合适的图像数据。例如,图像可以是单独图像、图像的视频序列的图像、视频的帧等。输入图像212可以表征为源图像、图像、帧、源帧等。
输入图像212可以提供给面部检测模块202,其可以确定输入图像212是否具有任何面部,并且如果具有,则确定这些面部的方位。面部检测模块202可以使用任何一种或多种合适的技术执行该面部检测,以生成面部检测数据(FD)213,其可以包括表示输入图像212中的一个或多个面部的任何合适的数据或数据结构。例如,面部检测数据213可以提供与输入图像212中检测到的面部对应的边界框的方位和大小。面部检测数据213和/或输入图像212或其部分可以提供给面部标志检测模块203,其可以确定与面部检测模块202检测到的一个或多个面部对应的面部标志。面部标志检测模块203可以使用任何一种或多种合适的技术确定这些面部标志(例如,与眼睛、鼻子、嘴等对应的标志),以生成面部标志(FL)214,其可以包括表示输入图像212内的面部标志的任何合适的数据或数据结构。例如,面部标志214可以包括面部标志的位置以及用于面部标志的对应描述符(例如,标志对应于的面部部分)。
如所示,面部标志214和/或输入图像212或其部分可以提供给目光接触校正模块204,其可以生成与输入图像212对应的目光接触校正图像(ECCI)215。目光接触校正模块204可以使用本文关于图3进一步讨论的技术生成目光接触校正图像215。如所示,目光接触校正图像215或目光接触校正图像的序列可以提供给视频压缩模块205,其可以提供对目光接触校正图像215或目光接触校正图像的序列的图像和/或视频压缩,以生成压缩比特流(CB)216。视频压缩模块205可以使用任何一种或多种合适的技术(例如,视频编码技术)生成压缩比特流216。在一些示例中,压缩比特流216可以是标准顺应比特流。例如,压缩比特流216可以顺应于H.264/MPEG-4高级视频编码(AVC)标准、高效率视频编码(HEVC)标准等。压缩比特流216可以发送到远程设备(例如,对于关于图1所讨论的设备101而言是远程的设备),以用于对远程设备的用户的呈现。例如,压缩比特流216可以被分组化并且发送到远程设备,其可以重新组装压缩比特流216并且对压缩比特流216进行解码,以生成用于对远程设备的用户的呈现的图像。
图3示出根据本公开的至少一些实现方式所布置的用于提供目光接触校正的示例目光接触校正模块204。如图2所示,目光接触校正模块204可以提供为系统200的一部分,以提供目光接触校正。如图3所示,输入图像212可以由面部检测和面部标志检测模块301接收,面部检测和面部标志检测模块301如关于图2所讨论的那样可以包括面部检测模块202和面部标志检测模块203。如所示,面部检测和面部标志检测模块301可以接收输入图像212,并且面部检测和面部标志检测模块301可以提供面部标志214,如本文所讨论的那样。如图3所示,目光接触校正模块204可以包括:剪切和重新大小化模块302;特征生成模块303,其可以包括神经网络编码模块304;随机森林分类器306;以及扭转和整合模块307。例如,目光接触校正模块204可以接收面部标志214和输入图像212,并且目光接触校正模块204可以生成目光接触校正图像215。
图4示出根据本公开的至少一些实现方式所布置的示例输入图像212。如图4所示,输入图像212可以包括用户401和背景402。例如,相机104可以捕获图像源数据211,并且图像信号处理模块201可以处理图像源数据211,以生成输入图像212。虽然图4中未示出,但用户401可能具有带有不自然注视的眼睛,使得用户401正看着显示器102,而不是看着相机104(请参照图1),这样可能将用户401的外观(如果由远程用户接收到)给出为向下看并且不看,而非看着远程用户(请参照图6)。
返回图3,输入图像212可以由面部检测和面部标志检测模块301接收,面部检测和面部标志检测模块301如所讨论的那样可以使用任何一种或多种合适的技术提供面部检测和面部标志检测。
图5示出根据本公开的至少一些实现方式所布置的示例面部检测数据213和示例面部标志214。如图5所示,面部检测和面部标志检测模块301可以提供面部检测,以生成面部检测数据213,其可以提供所检测的用户401的面部区域周围的边界框等。此外,面部检测和面部标志检测模块301可以提供面部标志214,其可以提供用于检测到的用户401的面部标志的方位以及可选地提供对应描述符。例如,面部标志214可以包括由输入图像212内的方位所表征的眼睛标志501以及指示它们与检测到的用户401的眼睛对应的描述符等。
再次返回图3,如所示,剪切和重新大小化模块302可以接收面部标志214和输入图像212,并且剪切和重新大小化模块302可以使用任何一种或多种合适的技术生成眼睛区域311。例如,可以剪切输入图像212,以生成一个或多个眼睛区域311,使得眼睛区域311包括与检测到的眼睛对应的所有或多数眼睛标志以及可选地包括水平方向和垂直方向上的最外眼睛标志周围的缓冲区域。在实施例中,剪切和重新大小化模块302可以剪切输入图像212,使得眼睛区域311均具有固定(例如,预定)大小。
图6示出根据本公开的至少一些实现方式所布置的示例眼睛区域311。如图6所示,眼睛区域311可以是包括用户401的眼睛的输入图像212的所剪切的部分。此外,如所示,眼睛区域311可以包括用户眼睛,其如果由远程用户接收到则将不进行与远程用户的目光接触(如可以预期的那样)。
返回图3,眼睛区域311可以包括用于任何数量的用户的任何数量的眼睛区域。在所预期的实现方式中,眼睛区域311可以包括用于单个用户401的两个眼睛区域。然而,眼睛区域311可以包括单个眼睛区域、与多个用户对应的多个眼睛区域等。
继续参照图3,特征生成模块303可以接收眼睛区域311,并且特征生成模块303可以生成压缩特征(CF)312,使得压缩特征312中的每个压缩特征集合与眼睛区域311中的眼睛区域对应(例如,每个眼睛区域可以具有对应压缩特征)。在实施例中,特征生成模块303可以包括神经网络编码模块304,其可以生成或确定用于眼睛区域311中的每个眼睛区域的压缩特征312。例如,压缩特征312可以是神经网络编码模块304所实现的神经网络的输出层的输出。压缩特征312可以表征为压缩特征集合、特征集合、中间层输出、压缩特征矢量等。神经网络编码模块304可以是或可以实现深度神经网络、卷积神经网络等。在实施例中,神经网络编码模块304可以是或可以实现神经网络的编码部分。在实施例中,神经网络编码模块304可以是或可以实现自动编码神经网络,其将眼睛区域311编码为压缩特征集合。
图7示出根据本公开的至少一些实现方式所布置的示例神经网络700。如图7所示,神经网络700可以包括:编码部分710,其具有层701-704;以及解码部分720,其具有层721-724。也如所示,神经网络700经由编码部分710可以接收眼睛区域711,并且编码部分710经由层701-704可以生成压缩特征712。此外,解码部分720可以接收压缩特征712,并且解码部分720经由层721-724可以生成结果眼睛区域713。例如,可以在训练阶段中训练编码部分710和解码部分720,如本文进一步讨论的那样,并且可以在实现阶段中实现编码部分710。例如,中间压缩特征712可以用作用于对分类器的输入的压缩特征,分类器可以基于压缩特征生成运动矢量场,如关于图3进一步讨论的那样。
神经网络700可以包括任何合适的神经网络(例如,人工神经网络、深度神经网络、卷积神经网络等)。如图7所示,神经网络700可以包括:编码部分710,其具有四个层701-704;以及解码部分720,其具有四个层721-724。然而,编码部分710和解码部分720可以具有任何合适的数量的层。此外,编码部分710和解码部分720可以包括全连接层、具有最大池化的卷积层或其组合。在实施例中,编码部分710可以具有两个全连接层,并且解码部分720可以具有两个全连接层。在实施例中,编码部分710可以具有四个全连接层,并且解码部分720可以具有四个全连接层。在实施例中,编码部分710可以具有六个全连接层,并且解码部分720可以具有六个全连接层。在实施例中,编码部分710可以具有四个层,其中,一个具有最大池化的卷积层后接三个全连接层,并且解码部分720可以具有四个全连接层。在实施例中,编码部分710可以具有带有最大池化的两个卷积层后接两个全连接层,并且解码部分720可以具有四个全连接层。然而,如所讨论的那样,可以提供任何合适的组合。此外,本文关于训练神经网络700进一步讨论神经网络700的这些特性。
返回图3,神经网络编码模块304可以实现神经网络700的编码部分710。神经网络编码模块304可以使用任何一种或多种合适的技术实现神经网络700的编码部分710,使得神经网络编码模块304可以基于眼睛区域311生成压缩特征312。可以使用任何一种或多种合适的技术生成压缩特征312。例如,50×60像素的眼睛区域311可以将3,000个输入节点提供给神经网络编码模块304,其可以实现神经网络编码器以生成压缩特征312,压缩特征312可以包括任何数量的特征(例如,大约30至150个特征等)。在实施例中,压缩特征312包括大约100个特征或参数。例如,在具有50×60像素的眼睛区域311以及具有大约100个特征的压缩特征312的上下文中,可以提供30:1压缩。此外,虽然并未经由系统300提供,但这100个特征在解码部分720的上下文中(请参照图7)可以提供关于眼睛区域711保持图像完整性和质量的结果眼睛区域713。
如所示,随机森林分类器306可以接收压缩特征312和输入图像212。如参照进一步讨论的那样,随机森林分类器306可以是预先训练的分类器,其将预先训练的分类器应用于压缩特征312的压缩特征集合,以生成对应(并且优化的)运动矢量场313。虽然关于随机森林分类器306示出,但可以应用任何合适的预先训练的分类器,例如判决树学习模型、内核随机森林模型等。随机森林分类器306可以接收压缩特征312,并且对于压缩特征312中的每个特征集合,应用随机森林分类器306,使得压缩特征集合基于每个分枝处的判决遍历森林的分枝,直到到达叶子,其中,叶子对应于或提供用于压缩特征的运动矢量场。例如,基于将随机森林分类器306应用于每个特征集合,运动矢量场313可以包括用于压缩特征312中的压缩特征中的每个特征集合的运动矢量场。
运动矢量场313和输入图像212可以由扭转和整合模块307接收,扭转和整合模块307可以基于运动矢量场313扭转眼睛区域311并且将一个或多个扭转的眼睛区域整合到输入图像212中。例如,通过关于眼睛区域311的每个像素方位将扭转的像素值确定为与用于该像素的运动矢量所指示的像素值对应的像素值,运动矢量场313可以应用于眼睛区域311。扭转的眼睛区域可以然后替换输入图像212中的眼睛区域311(例如,扭转的眼睛区域可以整合到输入图像212的其余部分中),以生成目光接触校正图像215。
图8示出根据本公开的至少一些实现方式所布置的示例校正后的眼睛区域801。如图8所示,校正后的眼睛区域801相对于图6的眼睛区域311可以具有校正后的注视,使得注视显现为看着校正后的眼睛区域801的接收方。如所讨论的那样,校正后的眼睛区域801(例如,扭转的眼睛区域)可以整合到最终眼睛校正图像中,最终眼睛校正图像可以被编码并且发送到远程用户,以用于呈现。
返回图3,可以生成任何数量的目光接触校正图像215(例如,目光接触校正图像215的视频序列)。本文所讨论的技术可以实时提供高质量目光接触校正。例如,可以按这样的速率执行所讨论的系统200所执行的处理:可以在用户之间实时执行视频电话、视频会议等。
参照图1,设备101的用户(未示出)以及远程设备处的用户103(未示出)可以经历通过调整任一或两个用户的注视补偿方位105与相机104之间的偏移106的视频电话应用、视频会议应用等。此外,关于设备101,特征生成模块303和/或随机森林分类器306可以依赖于基于偏移106的预先训练。例如,如以下进一步讨论的那样,可以选择用于训练神经网络编码模块304和/或随机森林分类器306的训练图像,使得它们匹配或紧密近似偏移106。例如,如果偏移106提供10°的近似偏移(例如,从用户的眼睛到方位105的线与从用户的眼睛到相机104的第二线之间的10°角度),则具有近似10°的偏移的训练图像可以用于神经网络编码模块304和/或随机森林分类器306。
此外,进一步参照系统200,系统200包括关于相机104与显示器102之间的单个定向或相对位置所训练的单个目光接触校正模块204。在其它实施例中,系统200可以包括多个接触校正模块,或接触校正模块204可以能够实现用于相机104与显示器102之间的多个定向或相对位置的目光接触校正。例如,设备101可以包括用于相对于显示器102重新定位相机104的第二相机(未示出)或能力。在实施例中,系统200可以包括用于相机104与显示器102之间的第一相对位置的第一目光接触校正模块以及用于相机104与显示器102之间的第二相对位置的第二目光接触校正模块。在实施例中,系统200可以包括用于相机104与显示器102之间的多个相对位置的多个目光接触校正模块。例如,每个目光接触校正模块可以具有不同的预先训练的神经网络编码模块304和/或随机森林分类器306。在其它示例中,单个目光接触校正模块可以(例如,经由来自存储器的加载)实现不同预定变量或数据结构,以提供均与相机104与显示器102之间的不同相对位置对应的多个目光接触校正。例如,神经网络编码模块304可以响应于或选择性地基于其间具有特定相对位置的相机104和显示器102实现不同的预先训练的神经网络编码器。附加地或替代地,随机森林分类器306可以响应于或选择性地基于其间具有特定相对位置的相机104和显示器102应用不同随机森林模型。
例如,可以基于其间具有第一相对位置的相机104和显示器102(例如,相机104处于显示器102之上,以提供偏移106)选择性地提供以上所讨论的由预先训练的神经网络对源图像的眼睛区域进行编码,以及将预先训练的分类器应用于压缩特征312以确定用于输入图像212的眼睛区域311的运动矢量场313。当相机104和显示器102在其间具有第二相对位置(例如,相机104处于显示器102之下、左边、右边、更上、对角,等)时,对第二压缩特征(未示出)可以(例如,由神经网络编码模块304或另一神经网络编码器模块)生成压缩特征,第二预先训练的分类器可以(例如,由随机森林分类器306或另一预先训练的分类器(例如,另一随机森林分类器))应用于第二压缩特征,以确定第二运动矢量场(未示出)。运动矢量场可以用于扭转输入图像212的眼睛区域,并且扭转的眼睛区域可以整合到输入图像中,以生成目光接触校正图像215。例如,这些技术可以提供不同的预先训练的模型的应用,因为相机104与显示器102之间的定向或相对位置可以改变。
如所讨论的那样,系统200的各个组件或模块可以在实现阶段中的部署之前在训练阶段中预先受训。
图9示出根据本公开的至少一些实现方式所布置的用于预先训练目光接触校正分类器的示例系统900。如图9所示,系统900可以包括面部检测和面部标志检测模块901、面部检测和面部标志检测模块902、剪切和重新大小化模块903、剪切和重新大小化模块904、特征确定模块905、运动矢量候选模块906以及随机森林生成器模块907。如所示,在一些实施例中,可以分离地提供面部检测和面部标志检测模块901、902以及剪切和重新大小化模块903、904。在其它示例中,面部检测和面部标志检测模块901、902和/或剪切和重新大小化模块903、904可以一起提供为单个面部检测和面部标志检测模块和/或单个剪切和重新大小化模块。可以经由任何合适的设备(例如设备101和/或例如个人计算机、膝上型计算机、平板、电话平板、智能电话、数码相机、游戏控制台、可穿戴设备、显示设备、一体化设备、二合一设备等)实现系统900。可以分离地提供系统900和200,或可以一起提供它们。
如所示,系统900可以接收训练图像911,其中训练图像包括承成对的源图像912和目标图像913。例如,每对训练图像911可以包括源图像以及对应的目标图像,其中源图像和目标图像在其间具有已知注视角度差。系统900可以用于生成随机森林分类器920,以用于其间具有任何合适的注视角度差的训练图像911的任何数量的集合。
图10示出根据本公开的至少一些实现方式所布置的示例源图像912和示例目标图像913。如图9所示,源图像912可以包括相对于获得源图像912的相机在向下方向上看着的用户的图像,并且目标图像913可以包括看着相机的用户的图像。在图10的示例中,源图像912和目标图像913近似具有10°注视角度差(例如,10°垂直注视角度差或偏移)。
返回图9,源图像912和目标图像913可以包括与图10所示的类似的任何数量的成对训练图像。如所示,源图像912可以由面部检测和面部标志检测模块901接收,面部检测和面部标志检测模块901可以提供源面部标志(SFL)914。相似地,目标图像913可以由面部检测和面部标志检测模块902接收,面部检测和面部标志检测模块902可以提供目标面部标志(TFL)915。面部检测和面部标志检测模块901、902可以如关于面部检测和面部标志检测模块301(请参照图3)所讨论的那样进行操作。为了简明,将不重复该讨论。
图11示出根据本公开的至少一些实现方式所布置的示例目标面部标志915。如图11所示,目标面部标志915可以包括眼睛标志1101。眼睛标志1100可以使用任何一种或多种合适的技术来生成,并且可以由与眼睛标志1100对应的图像内的方位和/或描述符(例如,眼睛、左眼等的描述符)表征。在图11的示例中,示出与目标图像913对应的目标面部标志915。如所讨论的那样,也可以确定与源图像912对应的源面部标志914。
再次返回图9,源图像912和源面部标志914可以由剪切和重新大小化模块903接收,剪切和重新大小化模块903可以提供源眼睛区域(SER)916。相似地,目标图像913和目标面部标志915可以由剪切和重新大小化模块903接收,剪切和重新大小化模块903可以提供目标眼睛区域(TER)917。剪切和重新大小化模块903、904可以如关于剪切和重新大小化模块302(请参照图3)所讨论的那样进行操作。为了简明,将不重复该讨论。
图12示出根据本公开的至少一些实现方式所布置的示例源眼睛区域916和示例目标眼睛区域917。如图12所示,眼睛区域916、917分别可以是源图像912和目标图像913的剪切部分。此外,眼睛区域916可以包括具有向下注视的用户眼睛,并且眼睛区域917可以包括具有向前或笔直朝前注视的用户眼睛。
返回图9,除了剪切和重新大小化之外,系统900还可以对准源眼睛区域916和目标眼睛区域917。例如,对准可以包括仿射变换,以补偿对应源图像912与目标图像913之间的头部移动。
如所示,源眼睛区域916和目标眼睛区域917可以提供给运动矢量候选模块906。运动矢量候选模块906可以基于源眼睛区域916和目标眼睛区域917确定似然映射(LM)919。例如,对于源眼睛区域916的每个像素方位,可以通过确定源眼睛区域816中的像素周围的窗口与目标眼睛区域917中的运动矢量移位窗口之间的绝对差之和评估多个候选运动矢量。例如,窗口或评估块可以具有按固定间隔(例如,每一像素)在10×10像素的搜索范围上的6×6像素的大小。虽然关于按每一像素在10×10的搜索范围上所搜索的6×6像素窗口讨论,但可以使用任何像素窗口大小、搜索范围以及间隔。
例如,运动矢量候选模块906可以生成提供候选运动矢量或逆概率的似然映射的非常大的数据集合。例如,较低绝对差之和可以与已经发现候选运动矢量中的优化运动矢量较高概率相关。例如,在(例如,对应运动矢量所提供的)特定移位处的绝对差之和越低,真实最佳运动矢量就越接近或越可能与该移位对应。绝对差之和映射(例如,似然映射919)可以聚合在所对准的源眼睛区域916和目标眼睛区域917对以及训练图像911中的所有源图像912和目标图像对913中的所有块上。
图13示出根据本公开的至少一些实现方式所布置的用于示例源眼睛区域916的示例似然映射919。如图13所示,对于源眼睛区域916的像素1301,可以生成似然映射919,使得对于似然映射919的项1302,可以在像素1301周围的窗口1303与对应目标眼睛区域917(未示出)中的多个窗口(未示出)之间确定绝对差之和或相似度的类似测度。例如,项1302可以对应于像素1301在最大负x偏移1311和最大正y偏移1312(例如,对应于具有最大负x偏移1311和最大正y偏移1312的运动矢量)处的窗口1303与目标眼睛区域917窗口的比较。对于x偏移1311和y偏移1312的每个组合,似然映射919中的对应项可以确定为绝对差之和或相似度的类似测度。此外,如所讨论的那样,可以对于源眼睛区域916的每个像素方位并且进一步仍对于源眼睛区域916的每个源眼睛区域生成似然映射。
返回图9,特征确定模块905可以接收源眼睛区域916,并且特征确定模块905可以基于源眼睛区域916确定源压缩特征集合(SCFS)918。例如,特征确定模块905可以基于神经网络的编码部分的应用生成压缩特征。例如,参照图7,特征确定模块905所实现的神经网络700的编码部分710可以生成源压缩特征集合918,并且得到的压缩特征集合918(例如,每个集合对应于源眼睛区域916的眼睛区域)可以提供给随机森林生成器模块907。例如,可以在训练阶段中并且在实现阶段中实现(例如,具有相同架构、特征、参数等的)神经网络700的相同编码部分710。此外,如所讨论的那样,特征确定模块905所实现的神经网络700可以具有任何合适的架构和特征。
如所讨论的那样,在一些示例中,50×60像素的源眼睛区域916可以提供给特征确定模块905,并且源压缩特征集合918可以均具有100个特征,但是可以使用任何大小的眼睛区域916以及数量的特征。本文进一步讨论示例神经网络架构和训练技术。应理解,可以在实现阶段中实现关于训练所讨论的任何神经网络架构(例如,如关于图3的神经网络编码模块304所讨论的那样)。
图14示出根据本公开的至少一些实现方式所布置的示例神经网络训练系统1400。如图14所示,神经网络训练系统1400可以包括神经网络(NN)编码模块1401、神经网络解码模块1402以及误差模块1403。例如,神经网络编码模块1401可以实现神经网络编码部分,并且神经网络解码模块1402可以实现神经网络编码部分,使得神经网络编码模块1401和神经网络解码模块1402实现神经网络编码-解码,其接收输入图像并且提供可以与输入图像比较的结果图像。例如,神经网络可以被训练,以减少提供给神经网络的输入图像与来自神经网络的结果图像之间的误差。如所讨论的那样,中间层参数集合(例如,压缩特征)可以用于训练分类器,并且神经网络的预先训练的编码部分以及预先训练的分类器二者可以在实现阶段期间实时实现,以从输入眼睛区域映射到运动矢量场,运动矢量场可以用于扭转眼睛区域以提供目光接触或注视校正。
如所示,神经网络编码模块1401可以接收图像数据1411,图像数据1411可以包括任何合适的图像数据(例如,眼睛区域、源图像911、目标图像913、源眼睛区域916、目标眼睛区域917等)。例如,图像数据1411可以包括输入图像数据的任何合适的汇集(corpus),以用于训练神经网络编码模块1401和神经网络解码模块1402所实现的神经网络。在实施例中,图像数据1411可以包括54×54像素的图像。在实施例中,图像数据1411可以包括54×66像素的图像。神经网络编码模块1401可以接收图像数据1411,并且对于图像数据1411的图像,神经网络编码模块1401可以生成压缩特征1412。压缩特征1412可以由任何合适的神经网络编码部分生成,并且压缩特征1412可以包括任何数量的特征。例如,参照图7,神经网络编码模块1401可以实现编码部分710,以生成与压缩特征712类似的压缩特征1412。
神经网络解码模块1402可以接收压缩特征1412,并且神经网络解码模块1402可以基于压缩特征1412生成结果图像数据1413。结果图像数据1413可以由任何合适的神经网络解码部分生成,并且结果图像数据可以与图像数据1411的图像对应。例如,可以对于图像数据1411的大数量的图像执行所讨论的处理,以生成与每个图像对应的结果图像。例如,参照图7,神经网络解码模块1402可以实现解码部分720,以生成与得到的眼睛区域713类似的结果图像数据1413。
如所示,图像数据1411和结果图像数据1413可以提供给误差模块1403。误差模块1403可以对图像数据1411的一个或多个图像与结果图像数据1413的一个或多个结果图像进行比较,以生成评分1421。误差模块1403可以使用任何一种或多种合适的技术生成评分1421,并且评分1421可以包括任何合适的评分、误差测量等。评分1421可以用于训练神经网络编码模块1401和神经网络解码模块1402所实现的神经网络,使得例如,可以使评分1421所表示的误差最小化。在实施例中,评分1421可以是图像数据1411的图像与结果图像数据1413的结果图像之间的欧几里德损失。在实施例中,评分1421可以是图像数据1411的图像与结果图像数据1413的结果图像之间的L2误差。
图15示出根据本公开的至少一些实现方式所布置的示例神经网络训练系统1500。如图15所示,神经网络训练系统1500可以包括神经网络编码模块1401、神经网络解码模块1402、垂直过滤器模块1503、1504以及误差模块1403、1506。如所讨论的那样,神经网络编码模块1401可以实现神经网络编码部分,并且神经网络解码模块1402可以实现神经网络编码部分,使得神经网络编码模块1401和神经网络解码模块1402实现神经网络编码-解码,其接收输入图像并且提供可以与输入图像比较的结果图像。例如,神经网络可以被训练,以减少提供给神经网络的输入图像与来自神经网络的结果图像之间的误差。如所讨论的那样,中间层参数集合(例如,压缩特征)可以用于训练分类器,并且神经网络的预先训练的编码部分以及预先训练的分类器二者可以在实现阶段期间实时实现,以从输入的眼睛区域映射到运动矢量场,运动矢量场可以用于扭转眼睛区域以提供目光接触或注视校正。
如所示,神经网络编码模块1401可以接收图像数据1411,图像数据1411可以包括任何合适的图像数据,并且神经网络编码模块1401可以生成压缩特征1412,如所讨论的那样。神经网络解码模块1402可以接收压缩特征1412,并且神经网络解码模块1402可以基于压缩特征1412生成结果图像数据1413,也如所讨论的那样。
如所示,图像数据1411和结果图像数据1413可以提供给误差模块1403,误差模块1403可以对图像数据1411的一个或多个图像与结果图像数据1413的一个或多个结果图像进行比较,以生成评分1421。如所讨论的那样,误差模块1403可以使用任何一种或多种合适的技术生成评分1421,并且评分1421可以包括任何合适的评分、误差测量等(例如,图像数据1411的图像与结果图像数据1413的结果图像之间的欧几里德损失或L2误差)。
也如所示,图像数据1411和结果图像数据1413可以分别提供给垂直过滤器模块1503和垂直过滤器模块1504。垂直过滤器模块1503可以接收图像数据1411,并且垂直过滤器模块1503可以将垂直过滤器应用于图像数据1411,以生成垂直过滤后的图像数据1514。相似地,垂直过滤器模块1504可以接收结果图像数据1413,并且垂直过滤器模块1504可以将垂直过滤器应用于结果图像数据1413,以生成垂直过滤后的结果图像数据1515。在实施例中,垂直过滤器模块1503、1504可以应用垂直高通过滤器。垂直过滤器模块1503、1504所应用的垂直过滤器可以包括任何合适的一个或多个垂直过滤器。此外,垂直过滤器模块1503、1504可以应用的过滤器可以是相同的,或它们可以是不同的。虽然关于垂直过滤器讨论,但可以应用任何合适的过滤器(例如,水平过滤器或对角过滤器)。
如所示,垂直过滤后的图像数据1514和垂直过滤后的结果图像数据1515可以提供给误差模块1506。误差模块1506可以对垂直过滤后的图像数据1514的一个或多个垂直过滤后的图像与垂直过滤后的结果图像数据1515的一个或多个垂直过滤后的结果图像进行比较,以生成评分1522。误差模块1506可以使用任何一种或多种合适的技术生成评分1522,并且评分1522可以包括任何合适的评分、误差测量等。评分1421和评分1522可以用于训练神经网络编码模块1401和神经网络解码模块1402所实现的神经网络,使得例如可以使评分1421和评分1522所表示的误差最小化,或可以使评分1421和评分1522之和、平均值、加权平均值等最小化。在实施例中,评分1522可以是垂直过滤后的图像数据1514的垂直过滤后的图像与垂直过滤后的结果图像数据1515的结果垂直过滤后的图像之间的欧几里德损失。在实施例中,评分1522可以是图像数据1411的图像与结果图像数据1413的结果图像之间的L2误差。
例如,由于神经网络编码模块1401和神经网络解码模块1402所实现的神经网络在生成结果图像数据1413的结果图像时可能不能完全重构图像数据1411的图像,因此所实现的神经网络可能倾向于移除高频噪声和细节。在眼睛区域的上下文中,一些眼睛区域可以包括眼镜,其可以由神经网络移除或模糊。通过(例如,经由垂直过滤器模块1503、1504)添加垂直高通过滤等并且基于使对应评分1522最小化来训练神经网络,神经网络可以被强制学习以保留高频信息(例如,眼镜和其它细节)。
图16示出根据本公开的至少一些实现方式所布置的示例神经网络训练系统1600。如图16所示,神经网络训练系统1600可以包括神经网络编码模块1401、神经网络解码模块1402、垂直过滤器模块1503、1504、标准偏差模块1604、1606以及误差模块1403、1506、1608。如所讨论的那样,神经网络编码模块1401可以实现神经网络编码部分,并且神经网络解码模块1402可以实现神经网络编码部分,使得神经网络编码模块1401和神经网络解码模块1402实现神经网络编码-解码,其接收输入图像并且提供可以与输入图像比较的结果图像。例如,神经网络可以被训练,以减少提供给神经网络的输入图像与来自神经网络的结果图像之间的误差。如所讨论的那样,中间层参数集合(例如,压缩特征)可以用于训练分类器,并且神经网络的预先训练的编码部分以及预先训练的分类器二者可以在实现阶段期间实时实现,以从输入的眼睛区域映射到运动矢量场,运动矢量场可以用于扭转眼睛区域以提供目光接触或注视校正。
如所示,神经网络编码模块1401可以接收图像数据1411,图像数据1411可以包括任何合适的图像数据,并且神经网络编码模块1401可以生成压缩特征1412,如所讨论的那样。神经网络解码模块1402可以接收压缩特征1412,并且神经网络解码模块1402可以基于压缩特征1412生成结果图像数据1413,也如所讨论的那样。也如所示,图像数据1411和结果图像数据1413可以提供给误差模块1403,误差模块1403可以对图像数据1411的一个或多个图像与结果图像数据1413的一个或多个结果图像进行比较,以生成评分1421。如所讨论的那样,误差模块1403可以使用任何一种或多种合适的技术生成评分1421,并且评分1421可以包括任何合适的评分、误差测量等(例如,图像数据1411的图像与结果图像数据1413的结果图像之间的欧几里德损失或L2误差)。此外,图像数据1411和结果图像数据1413可以分别提供给垂直过滤器模块1503、1504,垂直过滤器模块1503、1504可以将垂直过滤应用于分别生成垂直过滤后的图像数据1514和垂直过滤后的结果图像数据1515。如所讨论的那样,垂直过滤后的图像数据1514和垂直过滤后的结果图像数据1515可以提供给误差模块1506,其可以生成评分1522。评分1522可以包括任何合适的评分、误差测量等。
也如所示,垂直过滤后的图像数据1514和垂直过滤后的结果图像数据1515可以分别提供给标准偏差模块1604和标准偏差模块1608。标准偏差模块1604可以接收垂直过滤后的图像数据1514,并且标准偏差模块1604可以确定垂直过滤后的图像数据1514的标准偏差,以生成垂直过滤后的图像数据的标准偏差(SDVFID)1613。相似地,标准偏差模块1606可以接收垂直过滤后的结果图像数据1515,并且标准偏差模块可以确定垂直过滤后的结果图像数据1515的标准偏差,以生成垂直过滤后的结果图像数据的标准偏差(SDVFRID)1614。标准偏差模块1604、1606可以使用任何一种或多种合适的技术确定垂直过滤后的图像数据1514和垂直过滤后的结果图像数据1515的标准偏差。
如所示,垂直过滤后的图像数据1613的标准偏差和垂直过滤后的结果图像数据1614的标准偏差可以提供给误差模块1608。误差模块1608可以将一个或多个图像的垂直过滤后的图像数据1613的标准偏差与一个或多个结果图像的垂直过滤后的结果图像数据1614的标准偏差进行比较,以生成评分1616。误差模块1608可以使用任何一种或多种合适的技术生成评分1616,并且评分1616可以包括任何合适的评分、误差测量等。评分1421、评分1522和评分1616可以用于训练神经网络编码模块1401和神经网络解码模块1402所实现的神经网络,使得例如可以使评分1421和评分1522所表示的误差最小化,或可以使评分1421、评分1522和评分1616之和、平均值、加权平均值等最小化。在实施例中,评分1616可以是所讨论的图像的标准偏差之间的欧几里德损失。在实施例中,评分1616可以是所讨论的图像的标准偏差之间的L2误差。虽然示出标准偏差模块1604、1606应用于垂直过滤后的图像和结果图像数据,但标准偏差模块1604、1606可以分别应用于图像数据1411和结果图像数据1413。
例如,评分1616在神经网络编码模块1401和神经网络解码模块1402所实现的神经网络的训练中可以加速学习。例如,在图像数据1411的图像并非良好地被编码的情况下,标准偏差之间的差可能很高,而在图像良好地被编码的情况下,与评分1616对应的误差项可以没有贡献。
如所讨论的那样,神经网络编码模块1401和神经网络解码模块1402所实现的(并且实现阶段中所提供的)神经网络可以具有任何合适的特性。参照图7,编码部分710可以具有带有任何数量的节点的两个至八个全连接层,并且解码部分720可以具有带有任何数量的节点的两个至八个全连接层。在实施例中,编码部分710具有带有300和30个节点(例如,其中,压缩特征712具有30个特征)的两个全连接层,并且解码部分720具有带有300和2916个节点(例如,与具有54×54像素的结果图像对应)的两个全连接层。在实施例中,编码部分710具有带有1,000、500、250和100个节点(例如,其中,压缩特征712具有100个特征)的四个全连接层,并且解码部分720具有带有250、500、1,000以及3,564个节点(例如,与具有54×66像素的结果图像对应)的四个全连接层。在实施例中,编码部分710具有带有4,600、2,200、1,000、500、250和100个节点(例如,其中,压缩特征712具有100个特征)的六个全连接层,并且解码部分720具有带有250、500、1,000、2,200、4,600以及3,564个节点(例如,与具有54×66像素的结果图像对应)的六个全连接层。
在其它实施例中,编码部分710可以具有后接最大池化的卷积层,以在实现期间减少层的大小。例如,任何以上所讨论的全连接编码部分层可以由后接最大池化的3×3×3卷积层替代。这些修改可以因与全连接层相比的更少的乘法和加法而提供更快的实时实现方式,代价是一些质量损失(虽然这种质量损失可能是实际上在视觉上不显著的)。在实施例中,编码部分710具有四个连接层,其中,两个卷积神经网络层(第一个是3×3×3(步幅1)/MaxPool 3×3(步幅3),并且第二个是3×3×3(步幅1)/MaxPool 3×3(步幅2))以及具有250和100个节点(例如,其中,压缩特征712具有100个特征)的两个全连接层,并且解码部分720具有带有(例如,与具有54×66像素的结果图像对应的)250、500、1,000以及3,564个节点的四个全连接层。
此外,这些神经网络可以通过以下项进行训练:仅输入图像/结果图像误差(例如,如生成图14所讨论的那样)、输入图像/结果图像误差和垂直过滤后的输入图像/结果图像误差(例如,如关于图15所讨论的那样)、垂直过滤后的输入图像/结果图像误差和垂直过滤后的输入图像/结果图像误差的标准偏差(例如,如关于图16所讨论的那样)、或它们的其它组合。表1示出根据本公开的至少一些实现方式的示例神经网络架构或结构以及示例训练技术。
/>
返回图9,源压缩特征集合918可以包括用于源眼睛区域916中的每个源眼睛区域的压缩特征,并且似然映射919可以包括用于源眼睛区域916中的每个源眼睛区域的每个像素(或像素块)的似然映射。如所示,源压缩特征集合918和似然映射919可以提供给随机森林生成器模块907,随机森林生成器模块907可以基于源压缩特征集合918和似然映射819训练并且确定随机森林分类器920。例如,随机森林分类器920可以被训练,以确定来自源压缩特征集合918的优化运动矢量(例如,来自神经网络的编码部分的压缩特征)。可以执行训练,使得随机森林分类器920中的树的每个叶子表示用于源眼睛区域中的每一像素的似然映射(例如SAD映射)。在树的每个分枝处,训练处理可以使已经到达树的该分枝的训练观测的似然映射之间的熵最小化。随机森林分类器920可以具有本文所讨论的任何大小和数据结构(例如,具有大约6-7个等级的深度的大约4-8个树)。此外,压缩可以应用于生成随机森林分类器920。例如,可以通过参数化的表面拟合等压缩训练阶段预先训练的分类器,以生成随机森林分类器920。
图17是示出根据本公开的至少一些实现方式所布置的用于预先训练目光接触校正神经网络和分类器的示例性处理1700的流程图。处理1700可以包括如图17所示的一个或多个操作1701-1706。处理1700可以形成目光接触校正神经网络和分类器预先训练技术的至少部分。通过非限定性示例的方式,处理1700可以形成本文所讨论的系统900所执行的目光接触校正神经网络和分类器预先训练技术的至少部分。此外,系统1900可以执行处理1700,其如下所述。
处理1700可以开始于操作1701,其中,可以接收多对训练眼睛区域图像。例如,各对训练眼睛区域图像中的第一图像相对于各对训练眼睛区域图像中的第二图像可以具有注视角度差。在实施例中,系统1900可以接收多对训练眼睛区域图像。例如,可以接收训练图像911等。
处理可以继续于操作1702,其中,可以关于各对训练眼睛区域图像中的第一图像中的每一个的每个像素生成似然映射。例如,每个似然映射可以包括与每个像素对应的多个候选运动矢量中的每一个的绝对差之和或相似度的其它测度。可以使用一种或多种合适的技术生成似然映射。例如,系统1900的中央处理器1901可以生成似然映射。
处理可以继续于操作1703,其中,可以基于各对训练眼睛区域图像中的第一图像、各对训练眼睛区域图像中的第二图像和/或其它训练图像训练神经网络。可以使用任何一种或多种合适的技术确定训练神经网络。例如,可以基于以下操作训练神经网络:对训练图像进行编码,以生成训练阶段压缩特征;对训练阶段压缩特征进行解码,以生成结果训练图像;以及对训练图像和结果训练图像进行评分。例如,神经网络的编码部分可以执行训练图像的编码,神经网络的解码部分可以执行训练阶段压缩特征的解码,并且评分可以表示训练图像与结果训练图像之间的误差。在实施例中,附加地或替代地,评分可以包括:分别垂直地过滤训练图像和结果训练图像,以生成垂直过滤后的训练图像和垂直过滤后的结果训练图像;以及确定垂直过滤后的训练图像与垂直过滤后的结果训练图像之间的误差。此外,附加地或替代地,评分可以包括:确定垂直过滤后的训练图像的标准偏差以及垂直过滤后的结果训练图像的标准偏差,并且确定标准偏差之间的误差。这一个或多个误差可以用作对训练神经网络的反馈,使得可以在训练期间使一个或多个误差最小化。如所讨论的那样,可以在实现阶段期间或在运行时期间实现所训练的神经网络的编码部分,以生成压缩特征。在实施例中,系统1900的中央处理器1901可以训练神经网络。
处理可以继续于操作1704,其中,可以关于各对训练眼睛区域图像中的第一图像确定训练阶段压缩特征。可以使用任何一种或多种合适的技术确定压缩特征。例如,确定压缩特征可以包括:将所训练的神经网络的编码部分应用于各对训练眼睛区域图像中的第一图像,以生成每一个训练眼睛区域图像的压缩特征集合。在实施例中,系统1900的中央处理器1901可以确定训练阶段压缩特征。
处理可以继续于操作1705,其中,可以基于在操作1702所确定的似然映射以及在操作1704所确定的训练阶段压缩特征集合训练预先训练的分类器。预先训练的分类器可以包括任何合适的预先训练的分类器(例如,随机森林分类器),并且预先训练的分类器可以使用任何一种或多种合适的技术进行训练。在实施例中,系统1900的中央处理器1901可以训练预先训练的分类器。在实施例中,在操作1905所生成的预先训练的分类器可以表征为训练阶段预先训练的分类器等。
处理可以继续于操作1706,其中,可以压缩在操作1705所生成的预先训练的分类器。可以使用任何一种或多种合适的技术压缩预先训练的分类器。在实施例中,可以基于参数化的表面拟合压缩预先训练的分类器。在实施例中,系统1900的中央处理器1901可以压缩预先训练的分类器。在实施例中,在操作1705所确定的训练阶段预先训练的分类器可以在操作1706由参数化的表面拟合压缩,以生成用于在实现阶段中实现的预先训练的分类器(例如,随机森林分类器),以提供目光接触校正。
图18是示出根据本公开的至少一些实现方式所布置的用于提供目光接触校正的示例处理1800的流程图。处理1800可以包括如图18所示的一个或多个操作1801-1803。处理1800可以形成目光接触校正技术的至少部分。通过非限定性示例的方式,处理1800可以形成本文所讨论的系统200所执行的目光接触校正技术的至少部分。此外,本文将参照图19的系统1900描述处理1800。
图19是根据本公开的至少一些实现方式所布置的用于提供目光接触校正的示例系统1900的说明性示图。如图19所示,系统1900可以包括中央处理器1901、图像处理器1902、存储器1903以及相机1904。例如,相机1904和显示器(未示出)在其间可以具有偏移。也如所示,中央处理器1901可以包括或实现面部检测模块202、面部标志检测模块203、目光接触校正模块204以及视频压缩模块205。这些组件或模块可以实现为执行本文所讨论的操作。存储器1903可以存储图像、图像数据、输入图像、图像传感器数据、面部检测数据、面部标志、目光接触校正图像、压缩比特流、眼睛区域、压缩特征、特征集合、神经网络加权因子和/或参数、预先训练的分类器模型或本文所讨论的任何其它数据。
如所示,在一些示例中,可以经由中央处理器1901实现面部检测模块202、面部标志检测模块203、目光接触校正模块204以及视频压缩模块205。在其它示例中,可以经由图像处理器1902、视频处理器、图形处理器等实现面部检测模块202、面部标志检测模块203、目光接触校正模块204以及视频压缩模块205中的一个或多个或其部分。在又其它示例中,可以经由图像或视频处理管线或单元实现面部检测模块202、面部标志检测模块203、目光接触校正模块204和视频压缩模块205中的一个或多个或其部分。
图像处理器1902可以包括可以提供本文所讨论的操作的任何数量和类型的图形处理单元、图像处理单元或视频处理单元。在一些示例中,图像处理器1902可以是图像信号处理器。可以经由软件或硬件或其组合来实现这些操作。例如,图像处理器1902可以包括专用于操控从存储器803获得的帧数据、图像数据或视频数据的电路。中央处理器1901可以包括可以提供用于系统1900的控制和其它高级功能和/或提供本文所讨论的操作的任何数量和类型的处理单元或模块。存储器1903可以是任何类型的存储器(例如,易失性存储器(例如,静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等)或非易失性存储器(例如闪存等)等)。在非限定性示例中,可以通过缓存存储器实现存储器1903。
在实施例中,可以经由图像处理器1902的执行单元(EU)实现面部检测模块202、面部标志检测模块203、目光接触校正模块204和视频压缩模块205中的一个或多个或其部分。EU可以包括例如可编程逻辑或电路(例如,可以提供可编程逻辑功能的宽阵列的一个或多个逻辑内核)。在实施例中,可以经由专用硬件(例如,固定功能电路等)实现面部检测模块202、面部标志检测模块203、目光接触校正模块204和视频压缩模块205中的一个或多个或其部分。固定功能电路可以包括专用逻辑或电路,并且可以提供可以关于固定目的或功能而映射到专用逻辑的一组固定功能入口点。在一些实施例中,可以经由专用集成电路(ASIC)实现面部检测模块202、面部标志检测模块203、目光接触校正模块204和视频压缩模块205中的一个或多个或其部分。ASIC可以包括定制为执行本文所讨论的操作的集成电路。相机1904可以包括具有用于捕获图像或视频的任何合适的数量的透镜等的任何相机。
返回图18的讨论,处理1800可以开始于操作1801,其中,预先训练的神经网络可以对源图像的眼睛区域进行编码,以生成与源图像的眼睛区域对应的压缩特征。任何合适的预先训练的神经网络可以使用任何一种或多种合适的技术对眼睛区域进行编码,以生成压缩特征。在实施例中,神经网络的编码部分可以对眼睛区域进行编码。神经网络的编码部分可以包括任何合适的架构或结构。在实施例中,预先训练的神经网络是全连接神经网络(例如,深度神经网络)。在实施例中,预先训练的神经网络包括多个层,其包括至少一个卷积神经网络层。在实施例中,预先训练的神经网络包括四个层,按顺序是:第一卷积神经网络层、第二卷积神经网络层、第一全连接层以及第二全连接层,其中,第二全连接层提供压缩特征。在实施例中,系统1900的中央处理器1901所实现的神经网络可以确定压缩特征。
此外,在一些实施例中,可以接收源图像的眼睛区域。在其它实施例中,可以从源图像生成眼睛区域。可以使用任何一种或多种合适的技术从源图像生成眼睛区域。在实施例中,可以通过以下操作从源图像生成眼睛区域:在源图像上提供面部检测和面部标志检测,并且基于面部检测和面部标志检测剪切源图像,以生成眼睛区域。在实施例中,系统1900的中央处理器1901可以从源图像确定眼睛区域。
处理可以继续于操作1802,其中,预先训练的分类器可以应用于压缩特征,以确定用于源图像的眼睛区域的运动矢量场。预先训练的分类器可以包括任何合适的预先训练的分类器,并且预先训练的分类器可以使用任何一种或多种合适的技术得以应用。在实施例中,预先训练的分类器是具有与运动矢量场对应的叶子的预先训练的随机森林分类器。在实施例中,可以在处理1700的操作1706提供预先训练的分类器。在实施例中,系统1900的中央处理器1901可以应用预先训练的分类器。
处理可以继续于操作1803,其中,可以基于运动矢量场扭转源图像的眼睛区域,并且扭转的眼睛区域可以整合到源图像的其余部分中,以生成目光接触校正图像。例如,其余部分可以是源图像中除了正被扭转的眼睛区域之外的部分。可以使用任何一种或多种合适的技术扭转眼睛区域并且整合到源图像的其余部分中,以生成目光接触校正图像。在实施例中,系统1900的中央处理器1901可以将眼睛区域进行扭转并且整合到源图像的其余部分中,以生成目光接触校正图像。如本文所讨论的那样,目光接触校正图像可以提供用户朝向相机而不是朝向显示器的明显注视(例如,目光接触校正图像可以校正显示器与相机之间的偏移),使得图像的远程用户具有更愉悦的响应,并且使得用户可以在本地显示器上看着远程用户。在实施例中,目光接触校正图像可以被编码并且发送到远程设备,以用于对用户(例如,远程设备的远程用户)的呈现。例如,目光接触校正图像可以是视频序列的图像(或帧),并且视频序列可以被编码和发送。
处理1800可以关于源图像的任何数量的眼睛区域、关于任何数量的源图像或关于源图像的任何数量的视频序列而重复。此外,基于其间具有第一相对位置的相机和显示器,可以响应于或选择性地提供操作1801和/或1802。如果相机和显示器在其间具有第二相对位置,则可以基于不同的预先训练的因素(例如,不同神经网络和/或不同预先训练的分类器)执行操作1801和/或1802。在实施例中,当相机和显示器在其间具有第二相对位置时,处理1800可以还包括:由第二预先训练的神经网络对源图像的眼睛区域进行编码,以生成与源图像的眼睛区域对应的第二压缩特征;将第二预先训练的分类器应用于第二压缩特征,以确定用于源图像的眼睛区域的第二运动矢量场;以及基于第二运动矢量场扭转源图像的眼睛区域,并且将扭转的眼睛区域整合到源图像的其余部分中,以生成目光接触校正图像。
可以在软件、固件和/或硬件和/或其任何组合中实现本文所描述系统的各种组件。例如,可以至少部分地通过例如可以在计算系统(例如,智能电话)中找到的计算片上系统(SoC)的硬件提供本文所讨论的系统的各种组件。本领域技术人员应理解,本文所描述的系统可以包括对应附图中尚未描述的附加组件。例如,本文所讨论的系统可以包括为了清楚而尚未描述的附加组件(例如,通信模块等)。
虽然本文所讨论的示例处理的实现方式可以包括承担按所示的顺序示出的所有操作,但本公开不限于此,并且在各个示例中,本文的示例处理的实现方式可以仅包括所示的操作、按与所示的不同顺序执行的操作或附加操作的子集。
此外,可以响应于一个或多个计算机程序产品所提供的指令而承担本文所讨论的操作中的一个或多个。这些程序产品可以包括信号承载介质,其提供指令,所述指令当由例如处理器执行时可以提供本文所描述的功能。可以通过任何形式的一个或多个机器可读介质来提供计算机程序产品。因此,例如,包括一个或多个图形处理单元或处理器内核的处理器可以响应于由一个或多个机器可读介质传送到处理器的程序代码和/或指令或指令集而承担本文的示例处理的块中的一个或多个。通常,机器可读介质可以通过可以使得本文所描述的任何设备和/或系统实现至少部分本文所讨论的系统或本文所讨论的任何其它模块或组件的程序代码和/或指令或指令集的形式来传送软件。
如本文所描述的任何实现方式中所使用的那样,术语“模块”或“组件”指代被配置为提供本文所描述的功能的软件逻辑、固件逻辑、硬件逻辑和/或电路的任何组合。软件可以实施为软件封装、代码和/或指令集或指令,并且本文所描述的任何实现方式中所使用的“硬件”可以单独地或以任何组合而包括例如硬布线电路、可编程电路、状态机电路、固定功能电路、执行单元电路和/或存储可编程电路所执行的指令的固件。模块可以共同地或单独地实施为形成更大的系统的部分的电路(例如,集成电路(IC)、片上系统(SoC)等)。
图20是根据本公开的至少一些实现方式所布置的示例系统2000的说明性示图。在各个实现方式中,系统2000可以是移动系统,但系统2000不限于该上下文。系统2000可以实现和/或执行本文所讨论的任何模块或技术。例如,系统2000可以合并到个人计算机(PC)、服务器、膝上型计算机、超级膝上型计算机、平板、触摸板、便携式计算机、手持计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如智能电话、智能平板或智能电视)、移动互联网设备(MID)、传信设备、数据通信设备、相机(例如傻瓜相机、超级变焦相机、数字单透镜反射(DSLR)相机)等中。在一些示例中,可以经由云计算环境实现系统2000。
在各个实现方式中,系统2000包括平台2002,其耦合到显示器2020。平台2002可以从内容设备(例如,内容服务设备2030或内容传送设备2040或其它相似内容源)接收内容。包括一个或多个导航特征的导航控制器2050可以用于与例如平台2002和/或显示器2020进行交互。以下更详细地描述这些组件中的每一个。
在各个实现方式中,平台2002可以包括芯片组2005、处理器2010、存储器2012、天线2013、存储2014、图形子系统2015、应用2016和/或无线电装置2018的任何组合。芯片组2005可以提供处理器2010、存储器2012、存储2014、图形子系统2015、应用2016和/或无线电装置2018之间的相互通信。例如,芯片组2005可以包括能够提供与存储2014的交互通信的存储适配器(未描述)。
处理器2010可以实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器;x86指令集兼容处理器、多核或任何其它微处理器或中央处理单元(CPU)。在各个实现方式中,处理器2010可以是双核处理器、双核移动处理器等。
存储器2012可以实现为易失性存储器设备(例如但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM(SRAM))。
存储2014可以实现为非易失性存储设备(例如但不限于磁盘驱动器、光盘驱动器、带驱动器、内部存储设备、附连存储设备、闪存、电池备份SDRAM(同步DRAM)和/或网络可存取存储设备)。在各个实现方式中,例如,存储2014可以包括用于当包括多个硬驱动器时关于有价值的数字媒体增加存储性能增强保护的技术。
图像信号处理器2017可以实现为用于图像或视频帧处理的专用数字信号处理器等。在一些示例中,可以基于单指令多数据或多指令多数据架构等来实现图像信号处理器2017。在一些示例中,图像信号处理器2017可以表征为媒体处理器。如本文所讨论的那样,可以基于片上系统架构和/或基于多核架构来实现图像信号处理器2017。
图形子系统2015可以执行图像(例如,用于显示的静止图像或视频)的处理。例如,图形子系统2015可以是图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可以用于以通信方式耦合图形子系统2015和显示器2020。例如,接口可以是任何高清晰度多媒体接口、显示端口、无线HDMI和/或无线HD顺应技术。图形子系统2015可以集成到处理器2010或芯片组2005中。在一些实现方式中,图形子系统2015可以是以通信方式耦合到芯片组2005的单机设备。
本文所描述的图形和/或视频处理技术可以实现于各种硬件架构中。例如,图形和/或视频功能可以集成在芯片组内。替代地,可以使用分立式图形和/或视频处理器。作为又一实现方式,可以通过包括多核处理器的通用处理器提供图形和/或视频功能。在其它实施例中,可以在消费者电子设备中实现功能。
无线电装置2018可以包括能够使用各种合适的无线通信技术来发送和接收信号的一个或多个无线电装置。这些技术可以涉及跨越一个或多个无线网络的通信。示例无线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络以及卫星网络。在跨越这些网络的通信中,无线电装置2018可以根据任何版本中的一个或多个适用标准进行操作。
在各个实现方式中,显示器2020可以包括任何电视类型监视器或显示器。显示器2020可以包括例如计算机显示屏幕、触摸屏显示器、视频监视器、类似电视的设备和/或电视。显示器2020可以是数字和/或模拟的。在各个实现方式中,显示器2020可以是全息显示器。此外,显示器2020可以是可以接收视觉投影的透明表面。这些投影可以传送各种形式的信息、图像和/或对象。例如,这些投影可以是用于移动增强现实(MAR)应用的视觉叠加。在一个或多个软件应用2016的控制下,平台2002可以在显示器2020上显示用户接口2022。
在各个实现方式中,例如,内容服务设备2030可以受任何国家、国际和/或独立服务掌控,并且因此可经由互联网接入到平台2002。内容服务设备2030可以耦合到平台2002和/或显示器2020。平台2002和/或内容服务设备2030可以耦合到网络2060,以将媒体信息传递(例如,发送和/或接收)出入网络2060。内容传送设备2040也可以耦合到平台2002和/或显示器2020。
在各个实现方式中,内容服务设备2030可以包括有线电视盒、个人计算机、网络、电话、互联网使能设备或能够传送数字信息和/或内容的电器以及能够经由网络2060或以直接方式在内容提供商与平台2002和/显示器2020之间单向地或双向地传递内容的任何其它相似设备。应理解,内容可以经由网络2060单向地和/或双向地传递出入系统2000中的组件中的任何一个以及内容提供商。内容的示例可以包括任何媒体信息,包括例如视频、音乐、医疗和游戏信息等。
内容服务设备2030可以接收内容(例如,包括媒体信息、数字信息和/或其它内容的有线电视节目传送)。内容提供商的示例可以包括任何有线或卫星电视或无线电或互联网内容提供商。所提供的示例并非意图以任何方式限制根据本公开的实现方式。
在各个实现方式中,平台2002可以从具有一个或多个导航特征的导航控制器2050接收控制信号。例如,控制器2050的导航特征可以用于与用户接口2022进行交互。在各个实施例中,导航控制器2050可以是指点设备,其可以是允许用户将空间(例如,连续和多维)数据输入到计算机中的计算机硬件组件(具体地说,人机接口设备)。很多系统(例如,图形用户接口(GUI)以及电视机和监视器)允许用户使用物理手势控制数据并且将其提供给计算机或电视。
导航控制器2050的导航特征的移动可以通过显示器上所显示的指针、光标、聚焦环或其它视觉指示符的移动在显示器(例如显示器2020)上得以复制。例如,在软件应用2016的控制下,位于导航控制器2050上的导航特征可以映射为用户接口2022上所显示的虚拟导航特征。在各个实施例中,导航控制器2050可以不是分离的组件,而可以集成到平台2002和/或显示器2020中。然而,本公开不限于本文所示或所描述的要素或上下文。
在各个实现方式中,例如,驱动器(未示出)可以包括用于当启用时使得用户能够在初始引导之后通过触摸按钮即刻打开和关闭平台2002(比如电视机)的技术。甚至当平台“关闭”时,程序逻辑可以允许平台2002将内容流送到媒体适配器或其它内容服务设备2030或内容传送设备2040。此外,例如,芯片组2005可以包括关于5.1环绕声音音频和/或高清晰度7.1环绕声音音频的硬件和/或软件支持。驱动器可以包括用于集成式图形平台的图形驱动器。在各个实施例中,图形驱动器可以包括外围组件互连(PCI)高速图形卡。
在各个实现方式中,系统2000中所示的组件中的任何一个或多个可以是集成的。例如,平台2002和内容服务设备2030可以是集成的,或平台2002和内容传送设备2040可以是集成的,或平台2002、内容服务设备2030和内容传送设备2040可以是集成的。在各个实施例中,平台2002和显示器2020可以是集成单元。例如,显示器2020和内容服务设备2030可以是集成的,或显示器2020和内容传送设备2040可以是集成的。这些示例并非意图限制本公开。
在各个实施例中,系统2000可以实现为无线系统、有线系统或二者的组合。当实现为无线系统时,系统2000可以包括适合于通过无线共享介质进行通信的组件和接口(例如,一个或多个天线、发射机、接收机、收发机、放大器、滤波器、控制逻辑等)。无线共享介质的示例可以包括无线频谱(例如,RF频谱等)的部分。当实现为有线系统时,系统2000可以包括适合于通过有线通信介质进行通信的组件和接口(例如,输入/输出(I/O)适配器、用于将I/O适配器与对应有线通信介质连接的物理连接器、网络接口卡(NIC)、盘控制器、视频控制器、音频控制器等)。有线通信介质的示例可以包括导线、线缆、金属引线、印制电路板(PCB)、背板、开关构造、半导体材料、双绞线导线、同轴线缆、光纤等。
平台2002可以建立一个或多个逻辑或物理信道,以传递信息。信息可以包括媒体信息和控制信息。媒体信息可以指代表示意图用于用户的内容的任何数据。内容的示例可以包括例如来自语音会话、视频会议、流送视频、电子邮件(“电邮”)消息、语音邮件消息、文字数字符号、图形、图像、视频、文本等的数据。来自语音会话的数据可以是例如话音信息、静默时段、背景噪声、舒适噪声、音调等。控制信息可以指代表示旨在用于自动化系统的命令、指令或控制字的任何数据。例如,控制信息可以用于将媒体信息路由通过系统,或指令节点以预定方式处理媒体信息。然而,实施例不限于图20中所示或所描述的元件或上下文。
如上所述,可以通过变化的物理风格或形数实施系统2000。图21示出根据本公开的至少一些实现方式所布置的示例小形数设备2100。在一些示例中,可以经由设备2100实现系统2000。在其它示例中,可以经由设备2100实现本文所讨论的其它系统或其部分。在各个实施例中,例如,设备2100可以实现为具有无线能力的移动计算设备。例如,移动计算设备可以指代具有处理系统和移动功率源或电源(例如一个或多个电池)的任何设备。
移动计算设备的示例可以包括个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板、触摸板、便携式计算机、手持计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如,智能电话、智能平板或智能移动电视)、移动互联网设备(MID)、传信设备、数据通信设备、相机(例如,傻瓜相机、超级变焦相机、数字单透镜反射(DSLR)相机)等。
移动计算设备的示例也可以包括被布置为人所穿戴的计算机(例如,腕部计算机、手指计算机、耳环计算机、眼镜计算机、带夹计算机、臂带计算机、鞋计算机、衣物计算机以及其它可穿戴计算机)。在各个实施例中,例如,移动计算设备可以实现为能够执行计算机应用以及语音通信和/或数据通信的智能电话。虽然可以通过示例的方式以实现为智能电话的移动计算设备描述一些实施例,但应理解,同样可以使用其它无线移动计算设备实现其它实施例。在该上下文中,实施例并非受限。
如图21所示,设备2100可以包括具有前部2101和后部2102的外壳。设备2100包括显示器2104、输入/输出(I/O)设备2106、相机1904、相机2105以及集成式天线2108。设备2100也可以包括导航特征2112。I/O设备2106可以包括任何合适的I/O设备,以用于将信息录入移动计算设备中。用于I/O设备2106的示例可以包括字母数字键盘、数字键区、触摸板、输入键、按钮、开关、麦克风、扬声器、语音识别设备和软件等。信息也可以通过麦克风(未示出)的方式录入到设备2100中,或可以由语音识别设备进行数字化。如所示,设备2100可以包括集成到设备2100的后部2102(或其它地方)的相机2105和闪光灯2110以及集成到设备2100的前部2101的相机1904。在一些实施例中,相机1904、2105之一或二者可以是可相对于显示器2104移动的。例如,相机1904和/或相机2105可以是成像模块或管线的组件,用于发源彩色图像数据,数据被处理为输出到显示器2104和/或经由天线2108远程地从设备2100传递的流送视频。例如,相机1904可以捕获输入图像,并且目光接触校正图像可以提供给显示器2104和/或经由天线2108从设备2100远程地传递。
可以使用硬件元件、软件元件或二者的组合实现各个实施例。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片组等。软件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码分段、计算机代码分段、字、值、符号或其任何组合。确定是否使用硬件元件和/或软件元件实现实施例可以根据任何数量的因素(例如期望的计算速率、功率等级、热量容限、处理周期预算、输入数据率、输出数据率、存储器资源、数据总线速度以及其它设计或性能约束)而变化。
可以通过当由机器读取时使得机器制造逻辑以执行本文所描述的技术的表示处理器内的各个逻辑的机器可读介质上所存储的代表性指令实现至少一个实施例的一个或多个方面。称为“IP核”的这些表示可以存储在有形机器可读介质上并且提供给各个消费者或制造场所,以加载到实际上制作逻辑或处理器的制造机器中。
虽然已经参照各个实现方式描述本文所阐述的特定特征,但该描述并非旨在理解为限制性的意义。因此,本文所描述的实现方式的各种修改以及对于本公开所属领域的技术人员显然的其它实现方式看作处于本公开的精神和范围内。
在一个或多个第一实施例中,一种机器实现的用于提供目光接触校正的方法,包括:经由预先训练的神经网络对源图像的眼睛区域进行编码,以生成与所述源图像的眼睛区域对应的压缩特征;将预先训练的分类器应用于所述压缩特征,以确定用于所述源图像的眼睛区域的运动矢量场;以及基于所述运动矢量场扭转所述源图像的眼睛区域,并且将扭转的眼睛区域整合到所述源图像的其余部分中,以生成目光接触校正图像。
进一步对于第一实施例,所述预先训练的神经网络包括多个层,其包括至少一个卷积神经网络层。
进一步对于第一实施例,所述预先训练的神经网络包括四个层,所述四个层按顺序包括:第一卷积神经网络层、第二卷积神经网络层、第一全连接层以及第二全连接层,其中,所述第二全连接层提供压缩特征。
进一步对于第一实施例,所述预先训练的分类器包括预先训练的随机森林分类器,其具有与所述运动矢量场对应的叶子。
进一步对于第一实施例,其中,所述预先训练的神经网络包括多个层,其包括至少一个卷积神经网络层,和/或所述预先训练的分类器包括预先训练的随机森林分类器,其具有与所述运动矢量场对应的叶子。
进一步对于第一实施例,所述方法还包括:在所述源图像上提供面部检测和面部标志检测;以及基于所述面部检测和所述面部标志检测剪切所述源图像,以生成所述眼睛区域。
进一步对于第一实施例,所述方法还包括:对最终图像进行编码并且将其发送到远程设备,以用于对用户的呈现。
进一步对于第一实施例,所述方法还包括:在所述源图像上提供面部检测和面部标志检测;基于所述面部检测和所述面部标志检测剪切所述源图像,以生成所述眼睛区域;以及/或者对最终图像进行编码并且将其发送到远程设备,以用于对用户的呈现。
进一步对于第一实施例,对所述眼睛区域进行编码以及将所述预先训练的分类器应用于所述压缩特征以确定用于所述源图像的眼睛区域的运动矢量场是基于其间具有第一相对位置的相机和显示器选择性地提供的,并且所述方法还包括:当所述相机以及所述显示器在其间具有第二相对位置时:经由第二预先训练的神经网络对所述源图像的眼睛区域进行编码,以生成与所述源图像的所述眼睛区域对应的第二压缩特征;将第二预先训练的分类器应用于所述第二压缩特征,以确定用于所述源图像的眼睛区域的第二运动矢量场;以及基于所述第二运动矢量场扭转所述源图像的眼睛区域,并且将扭转的眼睛区域整合到所述源图像的其余部分中,以生成目光接触校正图像。
进一步对于第一实施例,所述方法还包括:接收多对训练眼睛区域图像,其中,各对训练眼睛区域图像中的第一图像相对于各对训练眼睛区域图像中的第二图像具有注视角度差;以及基于以下操作训练所述预先训练的神经网络:由所述预先训练的神经网络对所述第一图像进行编码以生成训练阶段压缩特征,对所述训练阶段压缩特征进行解码以生成与所述第一图像对应的第一结果图像,以及对所述第一图像和所述第一结果图像进行评分。
进一步对于第一实施例,所述方法还包括:接收多对训练眼睛区域图像,其中,各对训练眼睛区域图像中的第一图像相对于各对训练眼睛区域图像中的第二图像具有注视角度差;以及基于以下操作训练所述预先训练的神经网络:由所述预先训练的神经网络对所述第一图像进行编码以生成训练阶段压缩特征,对所述训练阶段压缩特征进行解码以生成与所述第一图像对应的第一结果图像,以及对所述第一图像和所述第一结果图像进行评分,所述第一图像和所述第一结果图像的评分包括所述第一图像与所述第一结果图像之间的误差。
进一步对于第一实施例,所述方法还包括:接收多对训练眼睛区域图像,其中,各对训练眼睛区域图像中的第一图像相对于各对训练眼睛区域图像中的第二图像具有注视角度差;以及基于以下操作训练所述预先训练的神经网络:由所述预先训练的神经网络对所述第一图像进行编码以生成训练阶段压缩特征,对所述训练阶段压缩特征进行解码以生成与所述第一图像对应的第一结果图像,以及对所述第一图像和所述第一结果图像进行评分,其中,对所述第一图像和所述第一结果图像进行评分包括:分别垂直地过滤所述第一图像和所述第一结果图像,以生成垂直过滤后的第一图像和垂直过滤后的第一结果图像;确定所述垂直过滤后的第一图像与所述垂直过滤后的第一结果图像之间的误差。
进一步对于第一实施例,所述方法还包括:接收多对训练眼睛区域图像,其中,各对训练眼睛区域图像中的第一图像相对于各对训练眼睛区域图像中的第二图像具有注视角度差;以及基于以下操作训练所述预先训练的神经网络:由所述预先训练的神经网络对所述第一图像进行编码以生成训练阶段压缩特征,对所述训练阶段压缩特征进行解码以生成与所述第一图像对应的第一结果图像,以及对所述第一图像和所述第一结果图像进行评分,其中,所述第一图像和所述第一结果图像的评分包括所述第一图像与所述第一结果图像之间的误差;和/或其中,堆所述第一图像和所述第一结果图像进行评分包括:分别垂直地过滤所述第一图像和所述第一结果图像,以生成垂直过滤后的第一图像和垂直过滤后的第一结果图像;以及确定所述垂直过滤后的第一图像与所述垂直过滤后的第一结果图像之间的误差。
进一步对于第一实施例,所述方法还包括:接收多对训练眼睛区域图像,其中,各对训练眼睛区域图像中的第一图像相对于各对训练眼睛区域图像中的第二图像具有注视角度差;基于以下操作训练所述预先训练的神经网络:由所述预先训练的神经网络对所述第一图像进行编码以生成训练阶段压缩特征,对所述训练阶段压缩特征进行解码以生成与所述第一图像对应的第一结果图像,以及对所述第一图像和所述第一结果图像进行评分;生成用于各对训练眼睛区域图像中的所述第一图像中的每一个的每个像素的似然映射,其中,每个似然映射包括与所述像素对应的多个候选运动矢量中的每一个的绝对差之和;以及基于所述似然映射和所述训练阶段压缩特征对训练阶段预先训练的分类器进行训练。
进一步对于第一实施例,所述方法还包括:接收多对训练眼睛区域图像,其中,各对训练眼睛区域图像中的第一图像相对于各对训练眼睛区域图像中的第二图像具有注视角度差;基于以下操作训练所述预先训练的神经网络:由所述预先训练的神经网络对所述第一图像进行编码以生成训练阶段压缩特征,对所述训练阶段压缩特征进行解码以生成与所述第一图像对应的第一结果图像,以及对所述第一图像和所述第一结果图像进行评分;生成用于各对训练眼睛区域图像中的所述第一图像中的每一个的每个像素的似然映射,其中,每个似然映射包括与所述像素对应的多个候选运动矢量中的每一个的绝对差之和;基于所述似然映射和所述训练阶段压缩特征对训练阶段预先训练的分类器进行训练;以及通过参数化的表面拟合压缩所述训练阶段预先训练的分类器,以生成所述预先训练的分类器。
在一个或多个第二实施例中,一种用于提供目光接触校正的系统,包括:存储器,被配置为存储源图像;以及处理器,耦合到所述存储器,所述处理器用于:经由预先训练的神经网络对源图像的眼睛区域进行编码,以生成与所述源图像的所述眼睛区域对应的压缩特征;将预先训练的分类器应用于所述压缩特征,以确定用于所述源图像的眼睛区域的运动矢量场;以及基于所述运动矢量场扭转所述源图像的眼睛区域,并且将扭转的眼睛区域整合到所述源图像的其余部分中,以生成目光接触校正图像。
进一步对于第二实施例,所述预先训练的神经网络包括多个层,其包括至少一个卷积神经网络层。
进一步对于第二实施例,所述预先训练的神经网络包括四个层,所述四个层按顺序包括:第一卷积神经网络层、第二卷积神经网络层、第一全连接层以及第二全连接层,其中,所述第二全连接层提供压缩特征。
进一步对于第二实施例,所述预先训练的分类器包括预先训练的随机森林分类器,其具有与所述运动矢量场对应的叶子。
进一步对于第二实施例,所述处理器进一步用于:在所述源图像上提供面部检测和面部标志检测;以及基于所述面部检测和所述面部标志检测剪切所述源图像,以生成所述眼睛区域。
进一步对于第二实施例,所述处理器进一步用于:对最终图像进行编码并且将其发送到远程设备,以用于对用户的呈现。
进一步对于第二实施例,对所述眼睛区域进行编码以及将所述预先训练的分类器应用于所述压缩特征以确定用于所述源图像的眼睛区域的运动矢量场是基于其间具有第一相对位置的相机以及显示器选择性提供的,所述处理器进一步用于:当所述相机以及所述显示器在其间具有第二相对位置时:经由第二预先训练的神经网络对所述源图像的所述眼睛区域进行编码,以生成与所述源图像的眼睛区域对应的第二压缩特征;将第二预先训练的分类器应用于所述第二压缩特征,以确定用于所述源图像的眼睛区域的第二运动矢量场;以及基于所述第二运动矢量场扭转所述源图像的眼睛区域,并且将扭转的眼睛区域整合到所述源图像的其余部分中,以生成所述目光接触校正图像。
进一步对于第二实施例,所述处理器进一步用于:接收多对训练眼睛区域图像,其中,各对训练眼睛区域图像中的第一图像相对于各对训练眼睛区域图像中的第二图像具有注视角度差;以及基于以下操作训练所述预先训练的神经网络:由所述预先训练的神经网络对所述第一图像进行编码以生成训练阶段压缩特征,对所述训练阶段压缩特征进行解码以生成与所述第一图像对应的第一结果图像,以及对所述第一图像和所述第一结果图像进行评分。
进一步对于第二实施例,所述处理器进一步用于:接收多对训练眼睛区域图像,其中,各对训练眼睛区域图像中的第一图像相对于各对训练眼睛区域图像中的第二图像具有注视角度差;以及基于以下操作训练所述预先训练的神经网络:由所述预先训练的神经网络对所述第一图像进行编码以生成训练阶段压缩特征,对所述训练阶段压缩特征进行解码以生成与所述第一图像对应的第一结果图像,以及对所述第一图像和所述第一结果图像进行评分,其中,对所述第一图像和所述第一结果图像进行评分包括:所述处理器:分别垂直地过滤所述第一图像和所述第一结果图像,以生成垂直过滤后的第一图像和垂直过滤后的第一结果图像;以及确定所述垂直过滤后的第一图像与所述垂直过滤后的第一结果图像之间的误差。
进一步对于第二实施例,所述处理器进一步用于:接收多对训练眼睛区域图像,其中,各对训练眼睛区域图像中的第一图像相对于各对训练眼睛区域图像中的第二图像具有注视角度差;以及基于以下操作训练所述预先训练的神经网络:由所述预先训练的神经网络对所述第一图像进行编码以生成训练阶段压缩特征,对所述训练阶段压缩特征进行解码以生成与所述第一图像对应的第一结果图像,以及对所述第一图像和所述第一结果图像进行评分,其中,所述处理器进一步用于:生成用于各对训练眼睛区域图像中的所述第一图像中的每一个的每个像素的似然映射,其中,每个似然映射包括与所述像素对应的多个候选运动矢量中的每一个的绝对差之和;以及基于所述似然映射和所述训练阶段压缩特征对训练阶段预先训练的分类器进行训练。
进一步对于第二实施例,所述处理器进一步用于:接收多对训练眼睛区域图像,其中,各对训练眼睛区域图像中的第一图像相对于各对训练眼睛区域图像中的第二图像具有注视角度差;基于以下操作训练所述预先训练的神经网络:由所述预先训练的神经网络对所述第一图像进行编码以生成训练阶段压缩特征,对所述训练阶段压缩特征进行解码以生成与所述第一图像对应的第一结果图像,以及对所述第一图像和所述第一结果图像进行评分,生成用于各对训练眼睛区域图像配对中的所述第一图像中的每一个的每个像素的似然映射,其中,每个似然映射包括与所述像素对应的多个候选运动矢量中的每一个的绝对差之和;以及基于所述似然映射和所述训练阶段压缩特征对训练阶段预先训练的分类器进行训练。
进一步对于第二实施例,所述处理器进一步用于:接收多对训练眼睛区域图像,其中,各对训练眼睛区域图像中的第一图像相对于各对训练眼睛区域图像中的第二图像具有注视角度差;基于以下操作训练所述预先训练的神经网络:由所述预先训练的神经网络对所述第一图像进行编码以生成训练阶段压缩特征,对所述训练阶段压缩特征进行解码以生成与所述第一图像对应的第一结果图像,以及对所述第一图像和所述第一结果图像进行评分,生成用于各对训练眼睛区域图像中的所述第一图像中的每一个的每个像素的似然映射,其中,每个似然映射包括与所述像素对应的多个候选运动矢量中的每一个的绝对差之和;基于所述似然映射和所述训练阶段压缩特征对训练阶段预先训练的分类器进行训练;以及通过参数化的表面拟合压缩所述训练阶段预先训练的分类器,以生成所述预先训练的分类器。
在一个或多个第三实施例中,一种系统,包括:用于经由预先训练的神经网络对源图像的眼睛区域进行编码以生成与所述源图像的所述眼睛区域对应的压缩特征的模块;用于将预先训练的分类器应用于所述压缩特征以确定用于所述源图像的眼睛区域的运动矢量场的模块;以及用于基于所述运动矢量场扭转所述源图像的眼睛区域并且将扭转的眼睛区域整合到所述源图像的其余部分中以生成目光接触校正图像的模块。
进一步对于第三实施例,所述预先训练的神经网络包括多个层,其包括至少一个卷积神经网络层。
进一步对于第三实施例,所述预先训练的分类器包括预先训练的随机森林分类器,其具有与所述运动矢量场对应的叶子。
进一步对于第三实施例,用于对眼睛区域进行编码的模块以及用于将所述预先训练的分类器应用于所述压缩特征以确定用于所述源图像的所述眼睛区域的所述运动矢量场的模块是响应于其间具有第一相对位置的相机和显示器,并且所述系统还包括,当所述相机和所述显示器在其间具有第二相对位置时:用于经由第二预先训练的神经网络对所述源图像的眼睛区域进行编码以生成与所述源图像的眼睛区域对应的第二压缩特征的模块;用于将第二预先训练的分类器应用于所述第二压缩特征以确定用于所述源图像的眼睛区域的第二运动矢量场的模块;以及用于基于所述第二运动矢量场扭转所述源图像的眼睛区域并且将扭转的眼睛区域整合到所述源图像的其余部分中以生成所述目光接触校正图像的模块。
进一步对于第三实施例,所述系统还包括:用于接收多对训练眼睛区域图像的模块,其中,各对训练眼睛区域图像中的第一图像相对于各对训练眼睛区域图像中的第二图像具有注视角度差;以及用于基于以下操作训练所述预先训练的神经网络的模块:由所述预先训练的神经网络对所述第一图像进行编码以生成训练阶段压缩特征,对所述训练阶段压缩特征进行解码以生成与所述第一图像对应的第一结果图像,以及对所述第一图像和所述第一结果图像进行评分。
进一步对于第三实施例,所述系统还包括:用于接收多对训练眼睛区域图像的模块,其中,各对训练眼睛区域图像中的第一图像相对于各对训练眼睛区域图像中的第二图像具有注视角度差;以及用于基于以下操作训练所述预先训练的神经网络的模块:由所述预先训练的神经网络对所述第一图像进行编码以生成训练阶段压缩特征,对所述训练阶段压缩特征进行解码以生成与所述第一图像对应的第一结果图像,以及对所述第一图像和所述第一结果图像进行评分,其中,对所述第一图像和所述第一结果图像进行评分包括:分别垂直地过滤所述第一图像和所述第一结果图像,以生成垂直过滤后的第一图像和垂直过滤后的第一结果图像;确定所述垂直过滤后的第一图像与所述垂直过滤后的第一结果图像之间的误差。
进一步对于第三实施例,所述系统还包括:用于接收多对训练眼睛区域图像的模块,其中,各对训练眼睛区域图像中的第一图像相对于各对训练眼睛区域图像中的第二图像具有注视角度差;用于基于以下操作训练所述预先训练的神经网络的模块:由所述预先训练的神经网络对所述第一图像进行编码以生成训练阶段压缩特征,对所述训练阶段压缩特征进行解码以生成与所述第一图像对应的第一结果图像,以及对所述第一图像和所述第一结果图像进行评分;用于生成用于各对训练眼睛区域图像中的所述第一图像中的每一个的每个像素的似然映射的模块,其中,每个似然映射包括与所述像素对应的多个候选运动矢量中的每一个的绝对差之和;以及用于基于所述似然映射和所述训练阶段压缩特征对训练阶段预先训练的分类器进行训练的模块。
在一个或多个第四实施例中,至少一种机器可读介质,其包括多个指令,所述多个指令响应于在设备上执行而使所述设备通过以下步骤提供目光接触校正:经由预先训练的神经网络对源图像的眼睛区域进行编码,以生成与所述源图像的眼睛区域对应的压缩特征;将预先训练的分类器应用于所述压缩特征,以确定用于所述源图像的眼睛区域的运动矢量场;以及基于所述运动矢量场扭转所述源图像的眼睛区域,并且将扭转的眼睛区域整合到所述源图像的其余部分中,以生成目光接触校正图像。
进一步对于第四实施例,所述预先训练的神经网络包括多个层,其包括至少一个卷积神经网络层。
进一步对于第四实施例,对所述眼睛区域进行编码以及将所述预先训练的分类器应用于所述压缩特征以确定用于所述源图像的眼睛区域的运动矢量场是基于其间具有第一相对位置的相机以及显示器选择性提供的,并且所述机器可读介质还包括多个指令,其响应于在所述设备上执行而使所述设备,当所述相机和所述显示在其间具有第二相对位置时,通过以下步骤提供目光接触校正:经由第二预先训练的神经网络对所述源图像的眼睛区域进行编码,以生成与所述源图像的眼睛区域对应的第二压缩特征;将第二预先训练的分类器应用于所述第二压缩特征,以确定用于所述源图像的眼睛区域的第二运动矢量场;以及基于所述第二运动矢量场扭转所述源图像的眼睛区域,并且将扭转的眼睛区域整合到所述源图像的其余部分中,以生成所述目光接触校正图像。
进一步对于第四实施例,所述机器可读介质还包括多个指令,所述多个指令响应于在所述设备上执行而使所述设备通过以下步骤提供目光接触校正:接收多对训练眼睛区域图像,其中,各对训练眼睛区域图像中的第一图像相对于各对训练眼睛区域图像中的第二图像具有注视角度差;以及基于以下操作训练所述预先训练的神经网络:由所述预先训练的神经网络对所述第一图像进行编码以生成训练阶段压缩特征,对所述训练阶段压缩特征进行解码以生成与所述第一图像对应的第一结果图像,以及对所述第一图像和所述第一结果图像进行评分。
进一步对于第四实施例,所述机器可读介质还包括多个指令,所述多个指令响应于在所述设备上执行而使所述设备通过以下步骤提供目光接触校正:接收多对训练眼睛区域图像,其中,各对训练眼睛区域图像中的第一图像相对于各对训练眼睛区域图像中的第二图像具有注视角度差;以及基于以下操作训练所述预先训练的神经网络:由所述预先训练的神经网络对所述第一图像进行编码以生成训练阶段压缩特征,对所述训练阶段压缩特征进行解码以生成与所述第一图像对应的第一结果图像,以及对所述第一图像和所述第一结果图像进行评分;其中,对所述第一图像和所述第一结果图像进行评分包括:分别垂直地过滤所述第一图像和所述第一结果图像,以生成垂直过滤后的第一图像和垂直过滤后的第一结果图像;确定所述垂直过滤后的第一图像与所述垂直过滤后的第一结果图像之间的误差。
进一步对于第四实施例,所述机器可读介质还包括多个指令,所述多个指令响应于在所述设备上执行而使所述设备通过以下步骤提供目光接触校正:接收多对训练眼睛区域图像,其中,各对训练眼睛区域图像中的第一图像相对于各对训练眼睛区域图像中的第二图像具有注视角度差;基于以下操作训练所述预先训练的神经网络:由所述预先训练的神经网络对所述第一图像进行编码以生成训练阶段压缩特征,对所述训练阶段压缩特征进行解码以生成与所述第一图像对应的第一结果图像,以及对所述第一图像和所述第一结果图像进行评分;生成用于各对训练眼睛区域图像中的所述第一图像中的每一个的每个像素的似然映射,其中,每个似然映射包括与所述像素对应的多个候选运动矢量中的每一个的绝对差之和;基于所述似然映射和所述训练阶段压缩特征对训练阶段预先训练的分类器进行训练;以及通过参数化的表面拟合压缩所述训练阶段预先训练的分类器,以生成所述预先训练的分类器。
在一个或多个第五实施例中,至少一种机器可读介质可以包括多个指令,其响应于在计算设备上执行而使所述计算设备执行如以上实施例中的任一项所述的方法。
在一个或多个第六实施例中,一种装置可以包括用于执行以上实施例中的任一项所述的方法的模块。
应理解,实施例不限于如此所描述的实施例,而是可以在不脱离所附权利要求的范围的情况下通过修改和改动而得以实践。例如,以上示例可以包括特征的特定组合。然而,以上实施例不限于此,并且在各个实现方式中,以上实施例可以包括仅承担这些特征的子集,承担这些特征的不同顺序,承担这些特征的不同组合,和/或承担除了明确列出的这些特征之外的附加特征。因此,应参照附图连同这些权利要求所属的等同物的完全范围一起确定实施例的范围。
Claims (21)
1.一种机器实现的用于提供目光接触校正的方法,包括:
经由预先训练的神经网络对源图像的眼睛区域进行编码,以生成与所述源图像的眼睛区域对应的压缩特征;
将预先训练的分类器应用于所述压缩特征,以确定用于所述源图像的眼睛区域的运动矢量场;以及
基于所述运动矢量场扭转所述源图像的眼睛区域,并且将扭转的眼睛区域整合到所述源图像的其余部分中,以生成目光接触校正图像,
其中,所述方法还包括:
接收多对训练眼睛区域图像,其中,各对训练眼睛区域图像中的第一图像相对于各对训练眼睛区域图像中的第二图像具有注视角度差;以及
基于以下操作训练所述预先训练的神经网络:
由所述预先训练的神经网络对所述第一图像进行编码,以生成训练阶段压缩特征;
对所述训练阶段压缩特征进行解码,以生成与所述第一图像对应的第一结果图像;以及
对所述第一图像和所述第一结果图像进行评分,
其中,所述方法还包括:
生成用于各对训练眼睛区域图像中的第一图像中的每一个的每个像素的似然映射,其中,每个似然映射包括与所述像素对应的多个候选运动矢量中的每一个的绝对差之和;以及
基于所述似然映射和所述训练阶段压缩特征对训练阶段预先训练的分类器进行训练。
2.如权利要求1所述的方法,其中,所述预先训练的神经网络包括多个层,所述多个层包括至少一个卷积神经网络层。
3.如权利要求1所述的方法,其中,所述预先训练的神经网络包括四个层,所述四个层按顺序包括:第一卷积神经网络层、第二卷积神经网络层、第一全连接层以及第二全连接层,其中,所述第二全连接层提供所述压缩特征。
4.如权利要求1所述的方法,其中,所述预先训练的分类器包括预先训练的随机森林分类器,所述随机森林分类器具有与所述运动矢量场对应的叶子。
5.如权利要求1所述的方法,还包括:
在所述源图像上提供面部检测和面部标志检测;以及
基于所述面部检测和所述面部标志检测剪切所述源图像,以生成所述眼睛区域。
6.如权利要求1所述的方法,还包括:
对最终图像进行编码并且将其发送到远程设备,以用于对用户的呈现。
7.如权利要求1所述的方法,其中,对所述眼睛区域进行编码以及将所述预先训练的分类器应用于所述压缩特征以确定用于所述源图像的眼睛区域的运动矢量场是基于其间具有第一相对位置的相机和显示器选择性提供的,所述方法还包括:当所述相机以及所述显示器在其之间具有第二相对位置时:
经由第二预先训练的神经网络对所述源图像的眼睛区域进行编码,以生成与所述源图像的眼睛区域对应的第二压缩特征;
将第二预先训练的分类器应用于所述第二压缩特征,以确定用于所述源图像的眼睛区域的第二运动矢量场;以及
基于所述第二运动矢量场扭转所述源图像的眼睛区域,并且将扭转的眼睛区域整合到所述源图像的其余部分中,以生成目光接触校正图像。
8.如权利要求1所述的方法,其中,对所述第一图像和所述第一结果图像进行评分包括所述第一图像与所述第一结果图像之间的误差。
9.如权利要求1所述的方法,其中,对所述第一图像和所述第一结果图像进行评分包括:
分别垂直地过滤所述第一图像和所述第一结果图像,以生成垂直过滤后的第一图像和垂直过滤后的第一结果图像;以及
确定所述垂直过滤后的第一图像与所述垂直过滤后的第一结果图像之间的误差。
10.如权利要求1所述的方法,还包括:
通过参数化的表面拟合压缩所述训练阶段预先训练的分类器,以生成所述预先训练的分类器。
11.一种用于提供目光接触校正的系统,包括:
存储器,被配置为存储源图像;和
处理器,耦合到所述存储器,所述处理器用于:
经由预先训练的神经网络对源图像的眼睛区域进行编码,以生成与所述源图像的眼睛区域对应的压缩特征;
将预先训练的分类器应用于所述压缩特征,以确定用于所述源图像的眼睛区域的运动矢量场;以及
基于所述运动矢量场扭转所述源图像的眼睛区域,并且将扭转的眼睛区域整合到所述源图像的其余部分中,以生成目光接触校正图像,
其中,所述处理器进一步用于:
接收多对训练眼睛区域图像,其中,各对训练眼睛区域图像中的第一图像相对于各对训练眼睛区域图像中的第二图像具有注视角度差;以及
基于以下操作训练所述预先训练的神经网络:
由所述预先训练的神经网络对所述第一图像进行编码,以生成训练阶段压缩特征;
对所述训练阶段压缩特征进行解码,以生成与所述第一图像对应的第一结果图像;以及
对所述第一图像和所述第一结果图像进行评分,
其中,所述处理器进一步用于:
生成用于各对训练眼睛区域图像中的所述第一图像中的每一个的每个像素的似然映射,其中,每个似然映射包括与所述像素对应的多个候选运动矢量中的每一个的绝对差之和;以及
基于所述似然映射和所述训练阶段压缩特征对训练阶段预先训练的分类器进行训练。
12.如权利要求11所述的系统,其中,所述预先训练的神经网络包括多个层,所述多个层包括至少一个卷积神经网络层。
13.如权利要求11所述的系统,其中,所述预先训练的神经网络包括四个层,所述四个层按顺序包括:第一卷积神经网络层、第二卷积神经网络层、第一全连接层以及第二全连接层,其中,所述第二全连接层提供所述压缩特征。
14.如权利要求11所述的系统,其中,所述预先训练的分类器包括预先训练的随机森林分类器,所述随机森林分类器具有与所述运动矢量场对应的叶子。
15.如权利要求11所述的系统,其中,所述处理器进一步用于:
在所述源图像上提供面部检测和面部标志检测;以及
基于所述面部检测和所述面部标志检测剪切所述源图像,以生成所述眼睛区域。
16.如权利要求11所述的系统,其中,所述处理器进一步用于:
对最终图像进行编码并且将其发送到远程设备,以用于对用户的呈现。
17.如权利要求11所述的系统,其中,对所述眼睛区域进行编码以及将所述预先训练的分类器应用于所述压缩特征以确定用于所述源图像的眼睛区域的运动矢量场是基于其间具有第一相对位置的相机和显示器选择性提供的,当所述相机和所述显示器在其间具有第二相对位置时,所述处理器进一步用于:
经由第二预先训练的神经网络对所述源图像的眼睛区域进行编码,以生成与所述源图像的眼睛区域对应的第二压缩特征;
将第二预先训练的分类器应用于所述第二压缩特征,以确定用于所述源图像的眼睛区域的第二运动矢量场;以及
基于所述第二运动矢量场扭转所述源图像的眼睛区域,并且将扭转的眼睛区域整合到所述源图像的其余部分中,以生成目光接触校正图像。
18.如权利要求11所述的系统,其中,对所述第一图像和所述第一结果图像进行评分包括:
处理器分别垂直地过滤所述第一图像和所述第一结果图像,以生成垂直过滤后的第一图像和垂直过滤后的第一结果图像;以及
确定所述垂直过滤后的第一图像与所述垂直过滤后的第一结果图像之间的误差。
19.如权利要求11所述的系统,其中,所述处理器进一步用于:
通过参数化的表面拟合压缩所述训练阶段预先训练的分类器,以生成所述预先训练的分类器。
20.至少一种机器可读介质,包括:
多个指令,所述指令响应于在计算设备上执行而使所述计算设备执行如权利要求1-10中任一项所述的方法。
21.一种装置,包括:
用于执行如权利要求1-10中任一项所述的方法的模块。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/136,618 US10423830B2 (en) | 2016-04-22 | 2016-04-22 | Eye contact correction in real time using neural network based machine learning |
US15/136,618 | 2016-04-22 | ||
PCT/US2017/022910 WO2017184277A1 (en) | 2016-04-22 | 2017-03-17 | Eye contact correction in real time using neural network based machine learning |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108885784A CN108885784A (zh) | 2018-11-23 |
CN108885784B true CN108885784B (zh) | 2024-01-05 |
Family
ID=60090249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780019880.9A Active CN108885784B (zh) | 2016-04-22 | 2017-03-17 | 使用基于神经网络的机器学习的实时目光接触校正 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10423830B2 (zh) |
CN (1) | CN108885784B (zh) |
DE (1) | DE112017002119T5 (zh) |
WO (1) | WO2017184277A1 (zh) |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2596062C1 (ru) | 2015-03-20 | 2016-08-27 | Автономная Некоммерческая Образовательная Организация Высшего Профессионального Образования "Сколковский Институт Науки И Технологий" | Способ коррекции изображения глаз с использованием машинного обучения и способ машинного обучения |
EP3400706B1 (en) | 2016-01-05 | 2022-04-13 | RealD Spark, LLC | Gaze correction of multi-view images |
US10043058B2 (en) | 2016-03-09 | 2018-08-07 | International Business Machines Corporation | Face detection, representation, and recognition |
KR102450441B1 (ko) | 2016-07-14 | 2022-09-30 | 매직 립, 인코포레이티드 | 홍채 식별을 위한 딥 뉴럴 네트워크 |
US10353475B2 (en) * | 2016-10-03 | 2019-07-16 | Microsoft Technology Licensing, Llc | Automated E-tran application |
CN110168477B (zh) | 2016-11-15 | 2022-07-08 | 奇跃公司 | 用于长方体检测的深度学习系统 |
CN108304755B (zh) | 2017-03-08 | 2021-05-18 | 腾讯科技(深圳)有限公司 | 用于图像处理的神经网络模型的训练方法和装置 |
US10832035B2 (en) * | 2017-06-22 | 2020-11-10 | Koninklijke Philips N.V. | Subject identification systems and methods |
WO2019032604A1 (en) | 2017-08-08 | 2019-02-14 | Reald Spark, Llc | ADJUSTING A DIGITAL REPRESENTATION OF A HEADQUARTERS |
JP7162020B2 (ja) | 2017-09-20 | 2022-10-27 | マジック リープ, インコーポレイテッド | 眼追跡のための個人化されたニューラルネットワーク |
CN107679490B (zh) * | 2017-09-29 | 2019-06-28 | 百度在线网络技术(北京)有限公司 | 用于检测图像质量的方法和装置 |
KR102602117B1 (ko) | 2017-10-26 | 2023-11-13 | 매직 립, 인코포레이티드 | 딥 멀티태스크 네트워크들에서 적응적 손실 밸런싱을 위한 그라디언트 정규화 시스템들 및 방법들 |
US10375354B2 (en) * | 2018-01-05 | 2019-08-06 | Facebook, Inc. | Video communication using subtractive filtering |
EP3511803B1 (en) * | 2018-01-10 | 2021-11-03 | Samsung Electronics Co., Ltd. | Method and apparatus to determine trigger intent of user |
US11393251B2 (en) | 2018-02-09 | 2022-07-19 | Pupil Labs Gmbh | Devices, systems and methods for predicting gaze-related parameters |
US11556741B2 (en) | 2018-02-09 | 2023-01-17 | Pupil Labs Gmbh | Devices, systems and methods for predicting gaze-related parameters using a neural network |
EP3750028B1 (en) | 2018-02-09 | 2022-10-19 | Pupil Labs GmbH | Devices, systems and methods for predicting gaze-related parameters |
US11017575B2 (en) | 2018-02-26 | 2021-05-25 | Reald Spark, Llc | Method and system for generating data to provide an animated visual representation |
CN112041850A (zh) | 2018-03-02 | 2020-12-04 | 维萨国际服务协会 | 用于基于图像的验证处理的动态照明 |
EP3576019A1 (en) | 2018-05-29 | 2019-12-04 | Nokia Technologies Oy | Artificial neural networks |
KR101939349B1 (ko) * | 2018-07-09 | 2019-04-11 | 장현민 | 기계학습모델을 이용하여 자동차용 어라운드 뷰 영상을 제공하는 방법 |
US10554921B1 (en) * | 2018-08-06 | 2020-02-04 | Microsoft Technology Licensing, Llc | Gaze-correct video conferencing systems and methods |
US11113842B2 (en) | 2018-12-24 | 2021-09-07 | Samsung Electronics Co., Ltd. | Method and apparatus with gaze estimation |
CN109753938B (zh) * | 2019-01-10 | 2021-11-05 | 京东方科技集团股份有限公司 | 图像识别方法和设备及应用、神经网络的训练方法 |
EP3912013A1 (en) | 2019-01-16 | 2021-11-24 | Pupil Labs GmbH | Methods for generating calibration data for head-wearable devices and eye tracking system |
CN109978804B (zh) * | 2019-03-08 | 2021-02-26 | 清华大学 | 基于深度学习的人眼视线矫正方法及系统 |
US10977765B2 (en) * | 2019-04-10 | 2021-04-13 | Eagle Technology, Llc | Hierarchical neural network image registration |
CN111881927B (zh) | 2019-05-02 | 2021-12-21 | 三星电子株式会社 | 电子装置及其图像处理方法 |
US11360555B2 (en) | 2019-05-20 | 2022-06-14 | Cyberlink Corp. | Systems and methods for automatic eye gaze refinement |
EP3979896A1 (en) | 2019-06-05 | 2022-04-13 | Pupil Labs GmbH | Devices, systems and methods for predicting gaze-related parameters |
CN110276413B (zh) * | 2019-06-28 | 2023-10-31 | 深圳前海微众银行股份有限公司 | 一种模型压缩方法及装置 |
KR20210073135A (ko) * | 2019-12-10 | 2021-06-18 | 삼성전자주식회사 | 눈 복원 기반의 눈 추적 방법 및 장치 |
US11687778B2 (en) | 2020-01-06 | 2023-06-27 | The Research Foundation For The State University Of New York | Fakecatcher: detection of synthetic portrait videos using biological signals |
CN111339928B (zh) * | 2020-02-25 | 2022-06-28 | 苏州科达科技股份有限公司 | 眼神调节方法、装置及存储介质 |
US10893231B1 (en) | 2020-04-14 | 2021-01-12 | International Business Machines Corporation | Eye contact across digital mediums |
CN113542758A (zh) * | 2020-04-15 | 2021-10-22 | 辉达公司 | 生成对抗神经网络辅助的视频压缩和广播 |
WO2022093244A1 (en) * | 2020-10-29 | 2022-05-05 | Hewlett-Packard Development Company, L.P. | Neural networks to determine respiration rates |
TWI792137B (zh) * | 2020-12-31 | 2023-02-11 | 瑞昱半導體股份有限公司 | 視線方向校正方法 |
US11659193B2 (en) * | 2021-01-06 | 2023-05-23 | Tencent America LLC | Framework for video conferencing based on face restoration |
WO2022180630A1 (en) * | 2021-02-23 | 2022-09-01 | 3Chron Ltd. | Camera capture and communications system |
FR3122938B1 (fr) * | 2021-05-14 | 2023-03-31 | Commissariat Energie Atomique | Système de vidéoconférence permettant de réduire un effet de parallaxe associé à la direction du regard d’un utilisateur |
US20230037339A1 (en) * | 2021-07-26 | 2023-02-09 | Adobe Inc. | Contact-aware retargeting of motion |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999026126A1 (en) * | 1997-11-17 | 1999-05-27 | British Telecommunications Public Limited Company | User interface |
CN102611909A (zh) * | 2011-02-08 | 2012-07-25 | 微软公司 | 具有运动视差的三维显示 |
CN103310186A (zh) * | 2012-02-29 | 2013-09-18 | 三星电子株式会社 | 校正图像中用户的注视方向的方法和便携式终端 |
CN105027144A (zh) * | 2013-02-27 | 2015-11-04 | 汤姆逊许可公司 | 用于无校准注视估计的方法和设备 |
CN105247448A (zh) * | 2013-05-10 | 2016-01-13 | 微软技术许可有限责任公司 | 眼睛位置的校准 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6714234B1 (en) | 2001-04-11 | 2004-03-30 | Applied Minds, Inc. | Maintaining eye-contact in teleconferencing using structured light |
US6771303B2 (en) * | 2002-04-23 | 2004-08-03 | Microsoft Corporation | Video-teleconferencing system with eye-gaze correction |
US8363951B2 (en) | 2007-03-05 | 2013-01-29 | DigitalOptics Corporation Europe Limited | Face recognition training method and apparatus |
US7512286B2 (en) * | 2003-10-27 | 2009-03-31 | Hewlett-Packard Development Company, L.P. | Assessing image quality |
WO2010148250A2 (en) | 2009-06-17 | 2010-12-23 | Tomotherapy Incorporated | System and method of applying anatomically-constrained deformation |
US8744180B2 (en) * | 2011-01-24 | 2014-06-03 | Alon Atsmon | System and process for automatically finding objects of a specific color |
US8836777B2 (en) | 2011-02-25 | 2014-09-16 | DigitalOptics Corporation Europe Limited | Automatic detection of vertical gaze using an embedded imaging device |
JP5836095B2 (ja) | 2011-12-05 | 2015-12-24 | キヤノン株式会社 | 画像処理装置、画像処理方法 |
EP2820842A1 (en) | 2012-02-27 | 2015-01-07 | ETH Zürich | Method and system for image processing in video conferencing for gaze correction |
KR101979669B1 (ko) * | 2012-07-13 | 2019-05-17 | 삼성전자주식회사 | 이미지 내 사용자의 시선 보정 방법, 기계로 읽을 수 있는 저장 매체 및 통신 단말 |
KR20140076949A (ko) | 2012-12-13 | 2014-06-23 | 한국전자통신연구원 | 화상 회의 서비스 제공 방법 |
US9684827B2 (en) | 2014-03-26 | 2017-06-20 | Microsoft Technology Licensing, Llc | Eye gaze tracking based upon adaptive homography mapping |
KR20150113795A (ko) | 2014-03-31 | 2015-10-08 | 한국전자통신연구원 | 눈맞춤 기능 제어 장치 및 방법 |
CN105323143B (zh) | 2014-06-24 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 基于即时通讯的网络信息推送方法、装置和系统 |
US9355315B2 (en) | 2014-07-24 | 2016-05-31 | Microsoft Technology Licensing, Llc | Pupil detection |
US20160070952A1 (en) | 2014-09-05 | 2016-03-10 | Samsung Electronics Co., Ltd. | Method and apparatus for facial recognition |
CN105981051B (zh) * | 2014-10-10 | 2019-02-19 | 北京旷视科技有限公司 | 用于图像解析的分层互连多尺度卷积网络 |
US9405965B2 (en) | 2014-11-07 | 2016-08-02 | Noblis, Inc. | Vector-based face recognition algorithm and image search system |
KR102357326B1 (ko) | 2014-11-19 | 2022-01-28 | 삼성전자주식회사 | 얼굴 특징 추출 방법 및 장치, 얼굴 인식 방법 및 장치 |
US9864932B2 (en) | 2015-04-14 | 2018-01-09 | Conduent Business Services, Llc | Vision-based object detector |
-
2016
- 2016-04-22 US US15/136,618 patent/US10423830B2/en active Active
-
2017
- 2017-03-17 WO PCT/US2017/022910 patent/WO2017184277A1/en active Application Filing
- 2017-03-17 CN CN201780019880.9A patent/CN108885784B/zh active Active
- 2017-03-17 DE DE112017002119.7T patent/DE112017002119T5/de active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999026126A1 (en) * | 1997-11-17 | 1999-05-27 | British Telecommunications Public Limited Company | User interface |
CN102611909A (zh) * | 2011-02-08 | 2012-07-25 | 微软公司 | 具有运动视差的三维显示 |
CN103310186A (zh) * | 2012-02-29 | 2013-09-18 | 三星电子株式会社 | 校正图像中用户的注视方向的方法和便携式终端 |
CN105027144A (zh) * | 2013-02-27 | 2015-11-04 | 汤姆逊许可公司 | 用于无校准注视估计的方法和设备 |
CN105247448A (zh) * | 2013-05-10 | 2016-01-13 | 微软技术许可有限责任公司 | 眼睛位置的校准 |
Non-Patent Citations (2)
Title |
---|
基于神经网络判定人眼注视方向;洪嘉瑞;《科技传播》;20130123(第02期);全文 * |
深度卷积神经网络在计算机视觉中的应用研究综述;卢宏涛等;《数据采集与处理》;20160115(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
DE112017002119T5 (de) | 2019-01-03 |
US20170308734A1 (en) | 2017-10-26 |
US10423830B2 (en) | 2019-09-24 |
WO2017184277A1 (en) | 2017-10-26 |
CN108885784A (zh) | 2018-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108885784B (zh) | 使用基于神经网络的机器学习的实时目光接触校正 | |
US10664949B2 (en) | Eye contact correction in real time using machine learning | |
US10944996B2 (en) | Visual quality optimized video compression | |
US20230306603A1 (en) | Deep learning for dense semantic segmentation in video with automated interactivity and improved temporal coherence | |
CN108701359B (zh) | 跨越具有对应深度图的视频帧跟踪兴趣区域 | |
US20190042871A1 (en) | Method and system of reflection suppression for image processing | |
US11880770B2 (en) | 3D object recognition using 3D convolutional neural network with depth based multi-scale filters | |
US10896348B2 (en) | End to end framework for geometry-aware multi-scale keypoint detection and matching in fisheye images | |
US9940550B2 (en) | Model compression in binary coded image based object detection | |
WO2016165060A1 (en) | Skin detection based on online discriminative modeling | |
US11871110B2 (en) | Single image ultra-wide fisheye camera calibration via deep learning | |
US20170041585A1 (en) | Depth image enhancement for hardware generated depth images | |
US10607321B2 (en) | Adaptive sharpness enhancement control | |
WO2022099600A1 (en) | Method and system of image hashing object detection for image processing | |
CN107004264B (zh) | 增加针对具有对角布局的相机图像的整数视差精度的方法和系统 | |
WO2022104618A1 (en) | Bidirectional compact deep fusion networks for multimodality visual analysis applications | |
US9628693B2 (en) | Automatic focus with a controllable phase detection mask | |
CN115867938A (zh) | 用于沉浸式视频的经由连续帧中的成对匹配的多相机人物关联 | |
US20240153033A1 (en) | Method and system of automatic content-dependent image processing algorithm selection | |
US11978177B2 (en) | Method and system of image processing of omnidirectional images with a viewpoint shift | |
US20240107086A1 (en) | Multi-layer Foveated Streaming |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |