首页> 中国专利> 会话视频中单摄像头眼神纠正方法

会话视频中单摄像头眼神纠正方法

摘要

会话视频中单摄像头眼神纠正方法属于会话视频尤其涉及互联网和移动会话视频的眼神纠正方法领域,其特征在于,利用摄像头位置和人眼视角任意时的原始模型图像做,得到人眼正视摄像头时的Laplace网格模型,再利用摄像头位于屏幕中央而人眼斜视时的姿态角度进行尺度变换和旋转,然后进行纹理贴图得到纹理图像,再应用坐标位置矢量差表示姿态角用Ogre工具进行眼神校正,得到校正后的正视摄像头时的模型图像,然后用能量值最小的方法求出校正后的模型图像和斜视时图像之间的最佳边缘,最后把包含最佳边缘在内的校正后的模型图像贴至斜视图像中得到已进行了眼神纠正又含有原始图像背景的实时人脸视频图像,本发明具有设备简单,既能进行眼神纠正又能保存原始图像背景的优点。

著录项

  • 公开/公告号CN105357513A

    专利类型发明专利

  • 公开/公告日2016-02-24

    原文格式PDF

  • 申请/专利权人 清华大学;

    申请/专利号CN201510631610.6

  • 发明设计人 陶晓明;卢继川;葛宁;陆建华;

    申请日2015-09-29

  • 分类号H04N13/04(20060101);G06T15/00(20110101);G06T17/00(20060101);

  • 代理机构11203 北京思海天达知识产权代理有限公司;

  • 代理人楼艮基

  • 地址 100084 北京市海淀区清华园1号

  • 入库时间 2023-12-18 14:30:45

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-08-03

    授权

    授权

  • 2016-03-23

    实质审查的生效 IPC(主分类):H04N13/04 申请日:20150929

    实质审查的生效

  • 2016-02-24

    公开

    公开

说明书

技术领域

本发明涉及会话视频中的眼神校正技术领域,特别是在仅有单个普通摄像头情况下的一种实现会话视频中的眼神纠正的方法。与传统的双摄像头图像合成方法,或者高成本的深度摄像头方法进行眼神纠正的不同,本方法仅使用单个普通摄像头,利用现有的3D模型实现眼神纠正,大大地减少了设备及算法复杂度和会话视频成本,从而提高了会话视频的用户体验,有利于会话视频的推广和普及。

背景技术

数字多媒体通信是当前通信技术众多领域中最具挑战性、发展最快、研究最活跃的领域之一。自从二十世纪九十年代以来,从数字电视广播到无线多媒体通信等技术已在世界各国陆续得到普遍应用。互联网的普及使得多媒体通信摆脱了电视的局限:Skype、GoogleTalk等视频聊天软件的出现让人们可以通过电脑进行视频通话、远程会议等多媒体通信。而今,随着智能手机的快速发展,移动终端上,例如Facetime和Tango等应用使得多媒体通信在移动网络上普及,用户越来越多地期望得到方便、快捷、无所不在的多媒体通信服务。

互联网的普及和多媒体通信业务的发展带来了多媒体数据的急剧增长,对于现有的移动网络提出了严峻挑战。其中,会话视频业务能够满足用户“不论身在何处,都能面对面交流”的需要,其应用日益广泛。在如今众多视频业务中,会话视频通信占据愈发重要的位置。PEW进行的统计研究表明,19%的美国用户曾经在线使用手机尝试过视频通话、聊天、会议等会话视频服务,而40%的Skype通话都是视频通话。

然而,在现有的会话视频系统中,比如Skype或者Facetime,一个重要的问题是缺少与会者眼神的自然交互。它产生的主要原因是因为摄像头拍摄的方向和人眼注视的方向不在同一条直线上,存在一个夹角。这样在交谈过程中,在已经注视的情况下,对方仍然感觉不到对方正注视着自己,无法保证眼神的自然交流,从而大大地降低了用户体验。为了保证眼神的自然交互,会话视频中需要进行眼神纠正,从而实现眼神交互。抛开纯审美学不谈,眼神交流也是人们交流之间的不可或缺的组成部分。这个问题在高端的会话视频系统中用特别的硬件设备是能解决的,但是因为其造价昂贵,很难进行推广和普及。

目前,已经有大量这方面的研究工作。眼神纠正需要知道图像的深度信息,在人脸图像里,深度信息中包含了人脸上的每一点到摄像头的距离。眼神纠正问题可以看成是一个新图像合成问题,合成的新图像能够很好的实现眼神交互。在眼神纠正中,图像上的每个像素点会随着深度信息/距离的不同而进行不同的位移或者旋转,使其到达正确的位置上。也就是说,缺少深度信息,而不使用其他辅助工具,单靠一幅普通的图像,是很难将眼神纠正到正确的位置,实现眼神交互的效果。

当前,进行眼神纠正的主要方法,总结起来分为两种,一种是多摄像头方法,另一种是深度摄像头方法。多摄像头方法主要是利用在不同角度的两个摄像头同时拍摄一幅图像,然后对这两幅图像进行一个图像合成来进行眼神纠正。深度摄像头方法主要是利用其采集图像的深度信息,进行3D建模,然后旋转模型以达到眼神纠正。

比较两种方法,使用多摄像头方法所需的设备复杂,在对图像预处理中需要摄像头的标定和同步,使用的算法相对复杂一些,处理时间不能满足实时化视频的要求;而深度摄像头价格昂贵,不利于会话视频的推广和普及。

为了能够降低设备的复杂度,同时也能有较高的性价比,我们使用了一种能够同时达到两方面效果的方法。该方法使用单个普通摄像头实现眼神纠正,在增强用户体验的情况下,能够降低设备的复杂度,性价比更高,有利于会话视频的推广和普及。

发明内容:

针对现有技术的缺陷,本发明的目的是为了能够在会话视频中使用一个普通的摄像头实现眼神校正,提高用户体验。该系统主要是利用人脸跟踪得到头部角度姿态,利用该角度对现有人脸头部模型进行旋转从而达到眼神校正的目的,从而实现单个普通摄像头的眼神纠正,大大增加了会话视频的推广和普及,使得会话视频更加普遍滴应用到实际生活中。

本发明的优点是用简单的设备解决了互联网视频通话和移动视频通话时的眼神纠正问题,而且也包含了原图里的背景。

本发明中方法涉及到的步骤如下:先由人脸跟踪得到视频图像的脸部特征点和角度姿态,然后利用脸部特征点对头部3D模型进行变形,将其变行成跟视频图像中的脸部形状基本一致,接着进行模型贴图,将视频图像通过3D渲染贴在模型上,利用角度姿态对其进行3D旋转实现眼神校正得到校正后的模型图像,最后找出模型图像与原图像的脸部最佳边缘,将模型图像中的最佳边缘的里面部分嵌合到原图像中,最终得到含有背景的并进行眼神校正后的图像,完成眼神校正的全过程,见附图1、图2和图4。

本发明提出的方法,其特征在于,它包含:Laplace网格变形,纹理贴图,姿态角度旋转,最佳边缘化,其中:

Laplace网格变形,它的输入信息是人脸头部网格模型和通过人脸跟踪得出的脸部特征点,输出变形后的网格模型;

纹理贴图,它的输入端是网格模型经过映射后的2D点和网格模型的3D点,输出端是含有图像的网格模型,即模型图像;

姿态角度旋转,它的输入端是模型图像和人脸跟踪得到的角度姿态,输出端是经过旋转校正以后的模型图像;

最佳边缘化:它的输入端是校正以后的模型图像和原图像,输出端是最佳边缘化以后的含有原图像背景的图像。

会话视频中单摄像头眼神纠正方法,其特征在于所述的方法是按照以下步骤实现的:

1、手动从网格模型上找到人脸定位特征点所对应的位置序号,作为图像特征点在网格模型中对应的点;

2、输入三张图像,一张是会话者的人脸图像I1,一张是眼睛在某位置正视摄像头拍出的图像I2,另一张是眼睛在相同位置看屏幕上某点时摄像头拍摄的图像I(即为需要纠正的图像),分别对其进行人脸跟踪,得出图像I1的脸部3d特征点,图像I2的姿态3D向量,图像I的姿态3D向量、尺度因子和位移向量;

3、利用图像I1的脸部3d特征点对网格模型进行变形;

4、利用图像I的姿态向量得到旋转矩阵、尺度因子和位移向量,从而求出纹理映射点,利用纹理映射点和图像I对变形后的网格模型进行映射纹理贴图;

5、利用正视图像I2的姿态3D向量,对贴图的网格模型进行脸部姿态角度旋转,实现眼神纠正,并输出旋转后的网格模型图像I*

6、计算出网格模型图像I*和图像I的最佳匹配边缘,并将图像I*边缘及其内部嵌合至图像I2,完成眼神纠正。

其中,一直使用该网格模型,所以手动操作只要进行一次。手动从网格模型上找到人脸定位特征点所对应的位置序号,作为图像特征点在网格模型中对应的点{(f0,c0),...,(f68,c68)},其中,(f0,...,f68)和(c0,...,c68)分别表示跟踪图像特征点和网格模型上的点的序号;

同时,在网格变形中,由于人脸定位算法得到的3D特征点仅与脸部形状有关,针对同一个人只要一次网格变形。

其中,网格模型变形模块是采用比较简单的Laplace网格变形方法,其方法步骤如下:

用AAM模型的人脸定位方法,以下简称AAM定位,从图像中得到vi、pi、(xDirection,yDirection,zDirection)、scale,以及xT和yT。其中,vi表示的68个3D特征点,pi表示与vi对应的2D特征点,i=0,2,...,67,i<N,每个3D特征点vi用坐标位置矢量(xi,yi,zi)表示,(xDirection,yDirection,zDirection)表示人脸头部姿态方向位置矢量,scale表示原始图像I的大小与用AAM模型参数通过模型合成的AAM模型图像大小的比值,xT和yT分别表示AAM模型在坐标系中移动到所述原始图像I所需的x和y方向的位移;

采用AAM人脸定位得到图像I1的68个3D特征点,将人脸跟踪的AAM模型以及网格模型分别归一化至坐标原点,并分别取网格模型顶点和AAM模型顶点的最左端和最右端的欧氏距离为s1,s2,每个网格模型点的坐标均乘以scale1,使得网格模型的大小和位置与AAM模型的大小和位置保持一致;

采用AAM模型人脸定位方法得到图像I1的68个3D特征点,68个3D特征点用表示,(i=0,1,...,67),68个特征点位置图见附图3;

网格模型是一组3D点组成的,将其看成Nx3的矩阵,N代表网格顶点个数,3代表顶点的x、y和z的三个方向的坐标。若某一个顶点vi,与其直接相连的顶点计为vj,E表示网格模型边的集合,N(i)表示与点vi直接相连的顶点的个数,N(i)={j|(i,j)∈E},将其由Descartes坐标变至Laplace相对坐标为:

δi=vi-1|N(i)|*Σjvj

这里顶点vi,vj分别包含x、y、z三个方向的坐标,即:

δix=vix-1|N(i)|*Σjvjx

δiy=viy-1|N(i)|*Σjvjy

δiz=viz-1|N(i)|*Σjvjz

两坐标变换以矩阵的形式表示为:

由手动操作中的对应条件以跟踪出的68个3D特征点为初始条件加入到上面的矩阵中:

其中(w0,...,w67)表示可以调整的权值,设左边由A和(w0,...,w67)组成的矩阵用A*,线性方程表示为A*v=b,由于存在过定问题,采用最小二乘的方法:

arg>minv||A*v-b||

用最小二乘的方法求解,满足其误差平方最小,最终得出变形之后的新坐标为

v~=((A*)TA*)-1(A*)Tb

其中,调整w0:67的值,使得网格模型变形至较为理想的状态。利用上述方法对网格模型x、y和z方向上的坐标由最小二乘完成模型变形,得到与会话者人脸相近的形状。

其中,贴图模块具体步骤如下:

由AAM人脸定位图像I得出的姿态角度(xDirection,yDirection,zDirection),图像脸部大小和AAM模型大小的比值scale,以及AAM模型移动到所述图像I所需的位移xT,yT,从而得到贴图时所需的纹理映射点。

贴图方法的步骤如下:

(1)利用人脸定位得到姿态角度(xDirection,yDirection,zDirection),利用Euler()函数得到2x3的旋转矩阵R;

(2)将变形的网格模型进行尺度变换和旋转得到2D的图像纹理映射点坐标;

(3)将得到的纹理映射点进行位移xT,yT;

(4)纹理映射点和网格模型点进行一一对应,载入图像I,完成网格模型的纹理贴图。

由上一步得到的网格模型顶点坐标为Nx3的矩阵旋转和尺度变换后为Nx2的矩阵V1,R.t表示矩阵R的转置,V1分别表示旋转前后顶点矩阵,V′1x、V1x、V′1y、V1y分别表示平移前后各方向上的新旧坐标,则变换公式如下:

V1=scale*v~*R.t

V′1x=V1x+xT

V′1y=V1y+yT

然后将每个映射点与对应的网格模型点进行一一对应起来,从而完成贴图。完成贴接下来进行眼神纠正。

其中,旋转眼神纠正模块具体步骤如下:

(1)由AAM人脸定位得到图像I2的姿态角度(xDirection2,yDirection2,zDirection2);

(2)使用Ogre工具对网格模型进行旋转和渲染。pitch(xDirection2)、yaw(yDirection2)、roll(zDirection2)函数分别对其进行x,y,z方向的旋转,进行眼神纠正。使用Ogre工具将旋转后的网格模型中的图像输出,称为网格模型图像I*,同时输出纹理映射点中对应的68个特征点的平面坐标位置。

其中,最佳边缘化方法具体步骤如下:

最佳边缘化方法输入图像I*和上一步所述的特征点的平面坐标位置,并取所述特征点序号1~27作为图像I和图像I*的脸部初始轮廓点,称为初始边缘。在图像I和图像I*之间找一条相匹配的边缘,然后将图像I*边缘及边缘以内的部分嵌合至图像I,使得校正后的眼神同时包含背景。最佳初始化边缘模块的步骤:

(1)图像I和图像I*的初始边缘取一个点x0,以该点为中心取5x5个像素点,将这些点作为该处的边缘点的候选对象;

(2)每次分别取所述两幅图像中边缘点候选对象中的一个点,求出其像素值差的平方,所有像素值差的平方总和称为能量值(Energy),能量值公式为:

E(p)=min∑||I2(qj)-I*(qj)||2qj∈B(p)

Etotal=∑E(pi)pi∈S

其中,I*(qj)、I2(qj)分别表示图像I和图像I*的像素强度,B(p)表示顶点p周围的大小为5x5像素的矩形框;

(3)按照上面步骤,分别对顶点编号1~27依次进行计算,最后得到27个点组成最佳边缘,最后将图像I*边缘及其边缘以内的部分嵌合至图像I,这时的图像I是经过眼神校正好的而且还包含有原始图像I的背景的图像,从而完成眼神纠正。

附图说明

图1本发明所述方法的原理性步骤示意图

图2本发明的程序流程框图

图368个3D特征点的位置示意图

图4眼神纠正过程的图像示意图

具体实施方式:

会话视频中单摄像头眼神纠正方法,其特征在于,它包含:Laplace网格变形,纹理贴图,眼神纠正,最佳边缘化,其中:

Laplace网格变形,它的输入是人脸头部网格模型和通过人脸跟踪得出的脸部特征点,输出是变形后的网格模型;

纹理贴图,它的输入是网格模型经过纹理映射后的2D点和网格模型的3D点,输出是含有图像的网格模型;

姿态角度旋转:它的输入是含图像的网格模型和人脸跟踪得到的角度姿态,输出是经过旋转校正以后的网格模型图像;

眼神纠正模块:它的输入是网格模型图像和原图像,输出是最佳边缘化以后的含有原图像背景的图像。

会话视频中单摄像头眼神纠正方法,其特征在于所述的方法是按照以下步骤实现的:

1、手动从网格模型上找到人脸定位特征点所对应的位置序号,作为图像特征点在网格模型中对应的点;

2、输入三张图像,一张是会话者的人脸图像I1,一张是眼睛在某位置正视摄像头拍出的图像I2,另一张是眼睛在相同位置看屏幕上某点时摄像头拍摄的图像I(即为需要纠正的图像),分别对其进行人脸跟踪,得出图像I1的脸部3d特征点,图像I2的姿态3D向量,图像I的姿态3D向量、尺度因子和位移向量;

3、利用图像I1的脸部3d特征点对网格模型进行变形;

4、利用图像I的姿态向量得到旋转矩阵、尺度因子和位移向量,从而求出纹理映射点,利用纹理映射点和图像I对变形后的网格模型进行映射纹理贴图;

5、利用正视图像I2的姿态3D向量,对贴图的网格模型进行脸部姿态角度旋转,实现眼神纠正,并输出旋转后的网格模型图像I*

6、计算出网格模型图像I*和图像I的最佳匹配边缘,并将图像I*边缘及其内部嵌合至图像I,完成眼神纠正。

其中,Laplace网格变形方法的步骤是:

(1)手动从网格模型上找到人脸定位特征点所对应的位置序号,作为图像特征点在网格模型中对应的点的序号{(f0,c0),...,(f68,c68)},其中,(f0,...,f68)和(c0,...,c68)分别表示跟踪图像特征点和网格模型上的点的序号68个特征点位置图见附图3;

由于一直使用这个模型,所以在手动操作中只要进行一次。

(2)利用AAM人脸定位得到图像I1的3D特征点,初始化网格模型和AAM模型;

用AAM定位,从图像中得到vi、pi、(xDirection,yDirection,zDirection)、scale,以及xT和yT。其中,vi表示的68个3D特征点,pi表示与vi对应的2D特征点,i=0,2,...,67,i<N,每个3D特征点vi用坐标位置矢量(xi,yi,zi)表示,(xDirection,yDirection,zDirection)表示人脸头部姿态方向位置矢量,scale表示原始图像I的大小与用AAM模型参数通过模型合成的AAM模型图像大小的比值,xT和yT分别表示AAM模型在坐标系中移动到所述原始图像I所需的x和y方向的位移;

采用AAM定位得到图像I1的68个3D特征点,68个3D特征点用表示,(i=0,1,...,67),对人脸跟踪的AAM模型以及网格模型进行初始化,分别归一化至坐标原点,并分别取网格模型顶点和AAM模型顶点的最左端和最右端的欧氏距离为s1,s2,scale1=s2/s1,每个网格模型点的坐标均乘以scale1,使得网格模型的大小和位置与AAM模型的大小和位置保持一致;

(3)将网格模型由Descartes坐标变换至Laplace相对坐标;

网格模型由一组3D点组成的,看成Nx3的矩阵,N代表网格顶点个数,3代表顶点的x、y和z的三个方向的坐标。若某一个顶点vi,与其直接相连的顶点计为vj,E表示网格模型边的集合,N(i)表示与点vi直接相连的顶点的个数,N(i)={j|(i,j)∈E},将其由Descartes坐标变至Laplace相对坐标为:

δi=vi-1|N(i)|*Σjvj

这里顶点vi,vj分别包含x、y、z三个方向的坐标,即:

δix=vix-1|N(i)|*Σjvjx

δiy=viy-1|N(i)|*Σjvjy

δiz=viz-1|N(i)|*Σjvjz

两坐标变换以矩阵的形式表示为:

(4)以跟踪出的68个特征点作为初始条件,利用线性方程的最小二乘方法求解网格顶点,对网格模型进行变形。

由手动操作中的对应条件以跟踪出的68个3D特征点为初始条件加入到上面的矩阵中:

其中(w0,...,w67)表示可以调整的权值,设左边由A和(w0,...,w67)组成的矩阵用A*,线性方程表示为A*v=b,由于存在过定问题,采用最小二乘的方法:

argminv||A*v-b||

用最小二乘的方法求解,满足其误差平方最小,最终得出变形之后的新坐标为

v~=((A*)TA*)-1(A*)Tb

其中,调整w0:67的值,使得网格模型变形至较为理想的状态。利用上述方法对网格模型x、y和z方向上的坐标由最小二乘完成模型变形,得到与会话者人脸相近的形状。在网格变形中,由于人脸定位算法得到的3D特征点仅与脸部形状有关,针对同一个人只要一次网格变形。

其中,纹理贴图具体步骤如下:

由人脸定位图像I得出的姿态角度(xDirection,yDirection,zDirection),图像的大小和AAM模型大小的比值scale,以及AAM模型移动到所述图像I所需的位移xT,yT,从而得到贴图时所需的纹理映射点。

贴图方法的步骤如下:

(1)利用人脸定位得到的姿态角度(x1,y1,z1),利用Euler()函数得到2x3的旋转矩阵R;

(2)将变形的网格模型进行尺度变换和旋转得到2D的图像纹理映射点坐标;

(3)将得到的纹理映射点进行位移xT,yT;

(4)纹理映射点和网格模型点进行一一对应,载入图像I,完成网格模型的纹理贴图。

由上一步得到的网格模型顶点坐标为Nx3的矩阵旋转和尺度变换后为Nx2的矩阵V1,R.t表示矩阵R的转置,V1分别表示旋转前后顶点矩阵,V′1x、V1x、V′1y、V1y分别表示平移前后各方向上的新旧坐标,则变换公式如下:

V1=scale*v~*R.t

V1xV1x+xT

V1yV1y+yT

然后将每个映射点与对应的网格模型点进行一一对应起来,从而完成贴图。完成贴接下来进行眼神纠正。

其中,旋转眼神纠正模块具体步骤如下:

(1)由AAM人脸定位得到图像I2的姿态角度(xDirection2,yDirection2,zDirection2);

(2)使用Ogre工具对网格模型进行旋转和渲染。pitch(xDirection2)、yaw(yDirection2)、roll(zDirection2)函数分别对其进行x,y,z方向的旋转,进行眼神纠正。使用Ogre工具将旋转后的网格模型中的图像输出,称为网格模型图像I*,同时输出纹理映射点中序号1-27的27个纹理点作为初始边缘。

其中,最佳边缘的步骤为:

最佳边缘化方法输入图像I*和上一步所述的特征点的平面坐标位置,并取所述特征点序号1~27作为图像I和图像I*的脸部初始轮廓点,称为初始边缘。在图像I和图像I*之间找一条相匹配的边缘,然后将图像I*边缘及边缘以内的部分嵌合至图像I,使得校正后的眼神同时包含背景。

(1)从所述校正后的网格模型图像I*初始边缘中27个用平面坐标表示的特征点中取任何一点P0,以它为中心点取5x5个像素点P作为边缘处的候选边缘点,P0∈P;

(2)在所述图像I中与步骤(1)中所述的中心点P0相同的位置,以其为中心取5x5个像素点作为候选边缘点;

(3)每次分别取所述两幅图像中边缘点候选对象中的一个点,求出其像素值差的平方,所有像素值差的平方总和称为能量值(Energy),取能量值最小的点作为图像I和图像I*的最终边缘点,能量值公式为:

E(p)=min∑||I(P0)-I*(P0)||2P0∈B(p)

Etotal=∑E(pi)pi∈S

其中,I*(qj)、I2(qj)分别表示图像I和图像I*的像素强度,B(p)表示顶点p周围的大小为5x5像素的矩形框;

(4)按照上面步骤,分别对顶点编号1~27依次进行计算,最后得到27个点组成脸部轮廓最佳边缘,最后将图像I*边缘及其边缘以内的部分嵌合至图像I,这时的图像I是经过眼神校正好的而且还包含有原始图像I的背景的图像,从而完成了眼神纠正。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号