著录项信息
专利名称 | 在单目脸部跟踪中使用数据驱动模型的方法和系统 |
申请号 | CN02809420.4 | 申请日期 | 2002-05-02 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2004-06-30 | 公开/公告号 | CN1509456 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06T15/70 | IPC分类号 | G;0;6;T;1;5;/;7;0查看分类表>
|
申请人 | 英特尔公司 | 申请人地址 | 美国加利福尼亚州
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 英特尔公司 | 当前权利人 | 英特尔公司 |
发明人 | 拉杰克·格热斯茹克;让-伊夫·布盖;萨利赫·格克蒂尔克 |
代理机构 | 北京东方亿思知识产权代理有限责任公司 | 代理人 | 杜娟 |
摘要
本发明公开了一种在单目脸部跟踪中使用数据驱动模型的方法和系统,为用单个摄像机跟踪三维(3D)图像,例如脸部提供了一种通用的系统。其中一种方法,得到了基于输入的图像序列的立体数据。用所得到的立体数据构建了3D模型。用所构建的3D模型跟踪单目图像序列。主元分析(PCA)可被应用到所述立体数据上以学习例如可能的脸部变形,并构建3D数据驱动模型(“3D脸部模型”)。所述3D脸部模型可以被用于将一般的形状(例如脸部姿势)作为基于PCA分析的形状基向量的线性组合来近似。
技术领域\n本发明一般地涉及图像处理的领域。更具体地,本发明涉及在单目脸 部跟踪(monocular face tracking)中使用数据驱动模型的方法和系统。\n背景技术\n单目脸部跟踪是基于由固定摄像机所得到的单目图像序列来估计脸部 运动、位置和形状的过程。单目脸部跟踪是如电视会议系统等的许多图像 处理系统的主要过程。例如,在电视会议系统中,通过估计脸部的运动和 位置,需要交换或处理的脸部数据或信息总量就减少了。换言之,可以交 换或处理与要估计的脸部运动、位置和形状相关的参数来输出一个图像序 列,来代替交换或处理大量的图像数据。\n一种脸部跟踪系统是基于标识的脸部跟踪系统(“标识脸部跟踪系 统”)。在标识脸部跟踪系统中,要求用户在已知的位置戴上彩色的“标 识”。于是这些标识的运动被参数化以估计脸部的位置和形状。标识脸部 跟踪系统的一个缺点就是对用户的干扰。具体地说,用户必须在脸部的不 同位置放置许多彩色标识。另外,用户要花时间来戴标识,这让使用这样 的系统更加复杂。\n另一种脸部跟踪系统是基于模型的脸部跟踪系统。基于模型的脸部跟 踪系统使用参数化的脸部形状模型,该模型可用来估计脸部位置和运动。 在现有的基于模型的脸部跟踪系统中,参数化模型用手工过程来构建,例 如,通过使用3D扫描仪或计算机辅助设计(CAD)建模器。因此,现有 的基于模型的脸部跟踪系统的一个缺点就是脸部形状模型的手工构建十分 特定,这导致要用试错法得到跟踪模型。这样一种特定过程提供的是不精 确和次优的模型。\n发明内容\n针对现有技术中的上述问题,作出了本发明。\n根据本发明的一个方面,提供了一种图像处理的方法,包括:基于变 化的脸部表情的输入图像序列得到立体数据;用所得到的立体数据构建三 维模型;以及用所构建的三维模型跟踪分别的单目图像序列,而不使用标 记。\n根据本发明的另一个方法,提供了一种计算系统,包括:输入单元, 用于基于变化的脸部表情的输入图像序列得到立体数据;以及处理单元, 用于用所得到的立体数据构建三维模型并用所构建的三维模型跟踪分别的 单目图像序列,而不使用标记。\n附图说明\n本发明通过附图用示例而非限制的方式来说明,其中相似的标记指示 类似的部件,其中:\n图1图示了一个实施本发明的示例的计算系统;\n图2图示了根据一个实施例使用数据驱动模型来进行单目跟踪的操作 的流程图;\n图3图示了为构建图2中的数据驱动模型的示例的用于立体跟踪的立 体输入图像序列;\n图4图示了从立体输入序列所学习的示例的变形的四维空间;\n图5图示了用于单目跟踪的示例的输入图像序列;\n图6图示了根据一个实施例进行图2中的立体跟踪的操作的流程图;\n图7图示了根据一个实施例计算图2中的主形状向量的操作的流程 图;以及\n图8图示了根据一个实施例进行图2中的单目跟踪的流程图。\n具体实施方式\n下面描述一种在单目脸部跟踪中使用数据驱动模型的方法和系统,其 提供了一种在用单个摄像机得到的图像序列中跟踪三维(3D)物体,如脸 部的通用的系统。在一个实施例中,得到了基于输入图像序列的立体数据 (stereo data)。用所得到的立体数据构建了3D模型。用所构建的3D模 型跟踪单目图像序列。在一个实施例中,主元分析(PCA)被应用到所述 立体数据上来学习例如可能的脸部变形,并构建数据驱动3D模型(“3D 脸部模型”)。所述3D脸部模型将一般的形状(例如脸部姿势)作为基 于PCA分析的形状基向量的线性组合来近似。\n通过使用真实的立体,可以计算出少量的形状基向量来构建3D模 型,这提供了很多好处。例如,只用少量的(例如3或4个)形状基向量 就可以生成多种面部表情,如笑、说话和抬眉毛等等。另外,可以用一个 或多个用户的立体数据构建一个3D模型并存储在数据库中,即使一个新 用户的立体数据并未存储在所述数据库中也可以在其中跟踪例如所述新用 户的脸。\n此外,通过使用基于输入图像序列的立体数据构建3D模型,就可以 不使用干扰性的标识而做到对姿势和脸部变形的单目脸部跟踪。本文描述 的3D脸部模型为对单个图像序列同时跟踪姿势和脸部变形(“单目跟 踪”)提供了低复杂度的可变模型。\n以下实施例描述了一个不使用干扰性标识的,跟踪单个摄像机前的 3D姿势和脸部图像的形状(“脸部”)的系统。所述系统还提供了使用 数据驱动模型的鲁棒的和精确的单目跟踪。另外,所述系统还提供了普适 化的特性,使得可以用同样的3D模型来对多人进行脸部跟踪。\n在以下描述中,单目跟踪技术是对于3D脸部图像的跟踪来描述的。 但是,本文描述的单目跟踪技术并不限于任何具体类型的图像,还可以对 其他类型的3D图像实施,例如运动的人体部分或无生命物体。\n 一般概述\n 示例的计算系统\n图1图示了一个实施本发明的示例的计算系统100。本文描述的3D模 型构建技术和单目跟踪技术可由计算系统100实施和利用。计算系统100 可代表,例如,通用的计算机、工作站、便携式计算机、手持式计算设备 或其他类似的计算设备。计算系统100的部件是示例性的,其中可以去掉 或添加一个或多个部件。例如,可在计算系统100中使用多个摄像设备 128。\n参照图1,计算系统100包括主单元110,该主单元110具有通过总 线101耦合到显示电路105、主存储器104、静态存储器106和闪存107的 中央处理单元(CPU)102和协处理器103。计算系统100的主单元110还 可以通过总线101耦合到显示器121、键盘输入122、光标控制123、硬拷 贝设备124、输入/输出(I/O)设备125、海量存储设备126以及摄像设备 128。\n总线101是传递信息和信号的标准系统总线。CPU 102和协处理器 103是计算系统100的处理单元。CPU 102或协处理器103,或两者都可用 来为计算系统100处理信息和/或信号。CPU 102可用来处理代码或指令来 完成本文描述的3D数据驱动模型构建技术和单目跟踪技术。作为替换, 协处理器103可用来处理代码或指令来完成和CPU 102一样的技术。CPU 102包括控制单元131、算术逻辑单元(ALU)132和若干寄存器133,它 们可由CPU 102用作数据和信息处理的目的。协处理器103也可以包括和 CPU 102类似的部件。\n主存储器104可以是例如随机存取存储器(RAM)或其他动态存储设 备,来存储计算系统100要用的数据、代码或指令。在一个实施例中,主 存储器104可以存储与输入立体图像序列和/或下面将进一步详细描述的 3D数据驱动模型相关的数据。主存储器104还可存储在CPU 102或协处 理器103执行代码或指令过程中的临时变量或其他中间数据。静态存储器 106可以是例如只读存储器(ROM)和/或其他静态存储设备,该存储器能 存储计算系统100要用的数据和/或代码或指令。闪存107是可以用来为计 算系统100存储基本输入/输出系统(BIOS)代码或指令的存储设备。\n显示器121可以是例如阴极射线管(CRT)或液晶显示器(LCD)。 显示设备121能向用户显示图像、信息或图片。计算系统100的主单元 110能通过显示电路105和显示器121接口。键盘输入122是为计算系统 100传递信息和命令选择的字母数字式的输入设备。光标控制123可以是 例如鼠标、触摸板、轨迹球或光标方向键,来在显示器121上控制目标移 动。硬拷贝设备124可以是例如激光打印机,来在纸、胶片或其他类似媒 体上打印信息。许多输入/输出(I/O)设备125可耦合到计算系统100 上。例如,如扬声器这样的I/O设备可连接到计算系统100上。海量存储 设备126可以是,例如,硬盘、可读写CD或DVD播放机或其他大容量 存储设备。摄像设备128可以是能用于本文描述的图像处理技术的视频图 像捕捉设备。在一个实施例中,摄像设备128包括DigiclopsTM摄像系统, 该系统提供了大小为640×480的彩色图像时4帧/秒(fps)的平均帧速。\n在一个实施例中,本文描述的3D数据驱动模型构建技术和单目跟踪 技术可被包含在计算系统100中的硬件和/或软件模块来完成。例如,CPU 102或协处理器103能执行存储在机器可读媒体,例如主存储器104或静 态存储器106中的代码或指令,来处理立体输入序列以构建本文描述的 3D数据驱动模型。另外,CPU 102或协处理器103能执行代码或指令来使 用本文描述的3D数据驱动模型跟踪单目输入图像。\n机器可读媒体可以包括以例如计算机或数字处理设备的机器的可读形 式,提供(即存储和/或传输)信息的装置。例如,机器可读媒体可以包括 只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储媒体、光存 储媒体、闪存设备或其他类似存储设备。代码或指令能用载波信号、红外 信号、数字信号和其他类似信号表示。机器可读媒体也可用来存储本文描 述的3D数据驱动模型的数据库。另外,可用一个或多个机器可读媒体来 存储所述3D模型。\n 基本操作\n图2图示了根据一个实施例使用数据驱动模型来进行单目跟踪的操作 200的功能流程图。参照图2,操作200包括两个阶段。第一个阶段是指 操作块210或学习阶段210。学习阶段210通过在真实立体跟踪数据上应 用主元分析(PCA)处理来学习可能的脸部变形空间,为单目跟踪构建 3D数据驱动模型。所述3D数据驱动模型可用来将一般形状作为形状基向 量的线性组合来近似。第二阶段是指操作块220,其中使用在所述学习阶 段构建的3D数据驱动模型来进行单目跟踪。通过使用所述3D数据驱动模 型,由单目或单个图像序列能同时跟踪例如脸部的图像的姿势和变形。操 作200最初从学习阶段210开始。\n在学习阶段210中,在操作块202处,立体序列被输入。例如,摄像 设备128可包括第一摄像机和第二摄像机,来从左视角和右视角捕捉图像 序列,如图3所示。如图3所示,第一和第二摄像机能从左视角和右视角 捕捉一个人展现变化的脸部运动和姿势的图像序列,例如帧1到100。立 体输入序列能被输入计算系统100来处理。\n在操作块204中,输入的立体序列被跟踪。具体地说,低复杂度的脸 部网格(例如,如图3所示的在脸部不同位置的十九个点)被初始化,随 后用标准的光学流技术跟踪。为了处理脸部的非刚性变形,每个点被独立 地跟踪以得到脸部形状轨迹。\n在操作块206中,对从被跟踪的输入立体序列得到的形状轨迹开始应 用主元分析(PCA)处理。PCA是用来对嵌入在高维空间中的数据的低维 表示进行最优估计的数学过程。PCA处理用于得到在单目跟踪中使用的紧 凑可变3D形状模型(“3D形状模型”)的主形状向量。\n在操作块208中,主形状向量被计算,这将在下面进一步详细解释。 一旦主形状向量被计算出来,在单目跟踪过程中的任何脸部运动或姿势就 能用主形状向量的线性组合来近似。\n在操作220(第二阶段)中,用计算模型可对单目输入序列进行单目 跟踪。单目序列是由单个摄像机得到的图像序列。例如,如图5所示,在 单目输入序列中的各帧(例如,帧1到72)中,脸部的形状可以用在学习 阶段210构建的计算模型的主形状向量的线性组合来近似。具体地说,当 一个人改变脸部表情和姿势时,所产生的序列的光学流信息可和计算模型 一起用来跟踪姿势和脸部表情的改变。\n以上操作可在示例的计算系统100中实施。例如,CPU102可执行代 码或指令来构建3D模型和进行PCA处理,这将在下面进一步详细描述。 数据驱动3D模型也可存储在计算系统100的存储设备中。在一个实施例 中,数据驱动3D模型是“可变脸部模型”,现在来描述该模型。\n 可变脸部模型\n以下说明描述了基于立体跟踪数据创建可变脸部模型和单目跟踪可变 脸部模型所需的参数化。例如,参照图5,用本文描述的可变脸部模型可 在3D空间中跟踪单目脸部序列。\n开始时,设In是单目脸部序列的第n帧图像,该序列如图5所示有72 帧。时间n时的每一帧的每张脸的3D结构可用N个点Pn i(i=1,...,N)的集 合来表示。为进行单目跟踪,需要定义脸部参考帧和摄像机参考帧的坐标 向量。具体地说,设Xi(n)和 分别是脸部参考帧 和摄像机参考帧中点Pn i的坐标向量。\n然后向量Xi(n)和Xc i(n)通过刚体变换互相关联,表征出在时间n时用 户脸部相对摄像机的姿势,即:\n\n其中Rn是3×3的旋转矩阵,tn是平移向量。为将如图5所示的每一帧中 的每张脸作为非刚性的物体跟踪,对形状必须估计Xi(n)的量,对姿势必 须估计Rn和tn的量。因为Rn是旋转矩阵,Rn可唯一地参数化为一个三维 向量 即所谓的旋转向量。由标准公式可将旋转矩阵和旋转向量相互关 联。\n图像In,n=1,2,...,M(例如,帧1到72)中的数据可用于估计每一帧 中的每张脸的形状和姿势。具体地说,设Pn i是Pn i在图像In上的投影,并设 xn i是Pn i的图像坐标向量。这样,在一个实施例中,可用一个传统的针孔摄 像机模型来确定Pn i的投影的图像坐标向量xn i,即:\n\n这样单目跟踪就等价于为还原3D形状Xi(n)和姿势 而对投影映射π 的取逆。\n在一个实施例中,为对非刚性形状,例如变化的脸部表情和姿势,进 行单目跟踪,非刚性形状可以是基于刚性形状的线性组合。通过将非刚性 形状作为基于刚性形状的线性组合,对变化的形状和姿势可以避免处理无 数的图像投影点。这样,在序列中的任意时间n,形状坐标向量Xi(n)可 以是平均形状向量Xo i和少数几个已知的形状向量Xk i(k=1,...,p)之和,这些 形状向量Xk i是主形状基向量,如下面的等式1所示:\n 等式1\n在等式1中,p<<3N,p个系数αn k代表考虑到3D形状的非刚性的实 体。如果p=0,则脸部形状Xi(n)变成刚性形状Xo i。于是,“p”指“变 形空间的维数”。图像投影映射可简化为姿势参数 和tn以及变形向量 的函数,该变形向量 具有多个“变形系数”,例如 这 样图像投影映射可以用下面所示等式2来计算:\n等式2\n于是,通过将光学流约束(例如Lucas-Kanade)和由等式1表示的可 变模型的特定形式结合起来,可以执行单目跟踪程序来同时估计每一帧的 变形向量 和姿势参数 和tn。单目跟踪程序在下面进一步详细讨论。\n在执行单目跟踪程序之前,必须计算等式1的主形状基向量“Xk i”, 这在如图2所示的学习阶段210中进行。通过使用主形状基向量Xk i,数据 驱动模型可用来避免对非刚性模型的手工构造。主形状基向量从真实的 3D跟踪数据中获得,这也在如图2所示的学习阶段210中进行。具体地 说,已校准的立体摄像机用来跟踪3D变化的脸部表情和姿势。例如,可 以使用将近100到150帧的短的立体输入序列(例如,如图3所示)。\n因此,主形状基向量Xk i可从在图2中的操作块202和204的被跟踪序 列,用主元分析(PCA)处理来计算,这将在下面详细描述。操作块202 和204的处理为形状变形分析提供了捕捉3D轨迹数据所必须的立体跟 踪。\n 立体跟踪\n图6图示了根据一个实施例进行立体跟踪的图2的操作204的流程 图。操作204最初在操作块602处开始。\n在操作块602中,在左摄像机图像和右摄像机图像上的点集被初始 化。在一个实施例中,如图2所示,位于眼睛(2)、鼻子(3)、嘴 (8)和眉毛(6)的N=19个点Pi的集合在左摄像机图像和右摄像机图像 上被初始化。在这个操作中,独立地从姿势中提供变化的脸部变形,即用 户在做多个不同脸部表情,例如张开/合上嘴巴、笑、抬眉毛等等的时候, 在整个序列中尽可能固定地保持头部姿势。在一个实施例中,点集由计算 系统100的用户在第一、左和右摄像机图像上指出。这样,立体图像序列 可用这些点来跟踪。\n应该注意不需要所有的点落在图像的纹理化区域内。这是对独立特征 点跟踪(表明一个点适合跟踪)的要求,而非对基于模型的跟踪的要求。 例如,在鼻尖处的点落在一个完全没有纹理化的区域内,而嘴的轮廓和眉 毛上的点是边缘特征。所有这些点用传统的光学流技术将无法单个跟踪。\n在操作块604中,点集用立体三角来跟踪。立体跟踪在3D中进行, 使得每个点的位置Xc i(n)(在左摄像机参考帧中)都被更新,以使其当前 的左图像和右图像投影都和先前的图像投影近似匹配(即瞬时跟踪)。\n 图像匹配成本(Image Matching Costs)\n在一个实施例中,为在整个立体跟踪中保持立体的一致性,通过考虑 一个在左图像和右图像之间测量的成本函数(cost function)来近似匹配左 图像和右图像投影。具体地说,通过最小化如以下等式3所示的成本函数 Ei来建立从帧n-1到帧n对点Pi的立体跟踪。\n 等式3\n在等式3中,In L和In R指在时间n时左图像和右图像的向量,xL i(n)和 xR i(n)指Pi的左图像和右图像投影的坐标向量。Ei的求和是对围绕着图像 点的所谓感兴趣区(ROI)进行的。等式3的第一和第二项表示独立的左 右瞬时跟踪的传统图像匹配成本计算项。第三项用来在左图像和右图像之 间保持一致性。这三项中的三个系数(γ1,γ2和γ3)是固定的权重系数 (即,对所有点都一样),用于这三项之间的不同的可信度。\n 计算权重系数\n在一个实施例中,γ3系数的值保持小于γ1系数和γ2系数,而且比值 γ1/γ3和γ2/γ3一般保持在20。可以对如图2所示的脸部网格上的19个点中 的每一个分别直接给定(hardcode)γ1、γ2和γ3系数的值。在一个实施例 中,在脸部网格中的每对连接的点被分别考虑。对有将近100个象素的平 均图像面积,γ1、γ2和γ3的值可分别是1、1和0.05。\n 最小化能量函数\n如果应用到所有的网格点,这三个权重系数能用来最小化全局能量函 数 在全局能量函数的这种形式中,对短序列(例如,直 到20至30帧)的立体跟踪很成功。对更大的立体序列,可以在成本函数 Ei(n)中加入调节项,来在立体序列的过程中总体上平滑地变形时,允许 整个3D结构维持其完整性。这样总的能量成本函数E(n)就变成: E(n)=Ei(n)+ET(n)+ES(n)+EA(n)。\nET(n)项是瞬时平滑项,用来最小化每个点的3D速度幅值。ES(n)项 是形状平滑项,用来最小化相邻点的速度差。这一项通过轻微地迫使相邻 点靠拢来保证模型的完整性。EA(n)项是人体测量能量成本项,用来保持 线段长度尽可能地接近在第一帧中所计算出的值,并防止在长的跟踪序列 中的漂移。这三个调节项的公式如下:\n\n\n\n其中 正的系数ρi、βij和δij对不同的点和不同的 边都不同。在一个实施例中,所有伸展较大的线段[Pi;Pj]被赋予较小的 βij和δij值。在另一个实施例中,在脸部的高变形区域的点Pi被赋予小的 ρi。在一个实施例中,已知是相当刚性的点和线段将被赋予较大的ρi、 βij和δij值以加重惩罚加于其上的任何运动和伸展。例如,在嘴轮廓上的 点和边将比属于鼻子和眼睛的点和边有更小的系数。在一个实施例中,对 有将近100个象素的平均图像特征片,ρi、βij和δij的值将近20000、 20000和100。\n 3D形状轨迹\n最小化总能量函数E(n)的解形状Xc i(n),i=1,...,N可用梯度下降来计 算。也就是将E(n)对所有微分形状坐标向量dXi(n)的导数置零,即 E(n)/Xi(n)=0。在对雅可比矩阵求导之后,形状跟踪的解简化成一个线 性方程:dX=D-1e,其中dX是由所有N个向量dXi(n)组成的3N×1的 列向量,D和e分别是3N×3N的矩阵和3N×1的向量。一旦dX被算出 来,形状Xc i(n)就知道了。对整个立体序列重复同样的过程,最后得到完 整3D形状轨迹。\n 主形状向量计算\n图7图示了根据一个实施例计算主形状向量的图2的操作208的流程 图。操作208最初在操作块702处开始。\n在操作702中,计算平均形状Xo i。具体地说,立体跟踪的结果是左摄 像机参考帧中每个点Pi的3D轨迹: 对 n=1,...,M,其中M是序列中帧的数目。P+1个形状基向量Xk i用奇异值分 解(SVD)来计算。首先,平均形状Xo i如下计算:\n\n在操作704中,从整个轨迹中减去平均形状Xo i: 所得到的形状轨迹Xi(n)随后存储在3N×M的矩阵(“M”)中。\n\n在操作块706中,对M做奇异值分解(SVD)。具体地说,对M应 用SVD,得到结果M=USVT,其中U=[u1 u2 ... u3N], V=[v1 v2 ... vM]。U和V是两个3N×3N和M×M的酉矩阵, S=diag(σ1,...,σ3N)是正的且单调增的奇异值σk的对角矩阵。经过该分解,M 现在变成:\n\n在操作708中,M的求和被从3N截断到p项,这得到给定固定的一 组p个向量时矩阵M的最优最小二乘法近似。这等价于用矩阵M在由头p 个向量u1,...,up生成的线性子空间上的正交投影来近似矩阵M的每一列 (即序列中的每个3D形状)。这些向量正是剩下的p个变形形状向量\nXk i:对k=1,...,p,\n\n所生成的主形状向量的模型适合于单目跟踪阶段。例如,如果一个用 户做出了多个脸部表情,这些脸部表情可以基于在学习阶段210期间已展 示给系统的脸部表情来跟踪。应该注意,因为向量uk是幺正的,等式1和 2中出现的形状系数αn k是以平均形状Xo i为单位的。在一个实施例中,单位 是厘米并用4个主形状向量来涵盖大多数常见的脸部表情(例如,嘴和眉 毛的运动)。然而,所使用的主形状向量的数目可基于用于跟踪的脸部表 情的不同而变化。\n回到图4,图示了从变形411到414的四维空间,其中变形是由如图 3所示的立体序列计算的。如图4所示,主形状向量可相应于四个主要脸 部运动的组合,例如,笑、张开/合拢嘴和抬左右眉毛。\n单目跟踪\n图8图示了根据一个实施例用学习阶段210中的计算模型来进行单目 跟踪的图2的操作220的流程图。操作220最初从对例如图5所示的图像 序列的操作块802开始。\n在操作802中,使用图像测量来从图像序列估计形状和姿势的参数。 具体地说,给定两个连续的帧,例如帧1和2,就可用光学流跟踪技术来 计算图像中每个点的平移距离。然后就可独立处理每个图像点了。这里, 对基于模型的跟踪,模型中的所有点通过等式1给出的参数化3D模型而 互相联系。于是,由图像测量就可同时全部估计定义3D模型配置的参 数。这些参数包括形状参数 和姿势参数\n在操作804中,使用最符合随后的帧的脸部模型来搜索最优的形状和 姿势。例如,假定已经从序列的第一帧I1到第n-1帧In-1跟踪脸部模型了。 于是目标就是找到最符合随后帧In的脸部模型最佳的姿势 和变形 来进行单目跟踪。以下说明描述了如何找到单目跟踪最优的姿势和变 形。\n利用对成本函数Cn的最小化,来找到最优的姿势和变形,其中最小化 是通过以下跟踪解方程4和5实现的:\n 等式4\n等式5\n其中πi是等式2中定义的基于模型的图像投影映射。等式4的求和是在小 的象素点窗口例如感兴趣区(ROI)上,围绕每个图像点xn i、xn-1 i和x1 i进行 的。\n在一个实施例中,等式4中的第一项是标准匹配成本项,即第一项测 量两个相继图像在模型点上的整个图像不匹配。但是,第二项测量当前图 像In和第一个图像I1之间的图像不匹配。这个附加项微弱的迫使每个脸部 特征在从序列的开始到结束的图像上看上去一样(在图像相邻的意义 上)。照此,这避免了跟踪漂移并增强了鲁棒性。这称作漂移监视能量 项。\n这两个能量项用标量变量“e”来相对加权。在一个实施例中,变量 e=0.2,这是为了相对监视成本来强调跟踪成本。于是,跟踪就等价于估计 最优姿势和变形更新向量 和 这通过 将Cn对 dt和d α的导数置零来得到:\n 其中 等式6\n接着假定两个相继帧间运动较小,将等式6对“s”求解。设In是如下定义 的扩展瞬时导数:\n 等式7\n\n扩展瞬时导数函数In实际上是在点xn i-1的相邻区域求值的。注意到如果ε =0,等式7简化成真正的瞬时差In=In-In-1。如果ε>0,前一图像In-1上的 图像修正被和第一帧平均,即等式7的第二行。所得到的修正用作下一图 像In的参考。这个过程有效地帮助单目跟踪操作在第一个图像上选择了特 征时“记住”该特征的原始样子,由此提高了鲁棒性并减小了漂移。\n接着,设Ixi是图像In在xn-1 i相邻区域内的x和y图像导数(图像梯 度):\n\n设Ii是当s=0时在xn-1 i相邻区域内图像亮度In相对s的导数:\n\n因为Ixi和 的大小分别是1×2和2×(p+6),所得到矩阵Ii的大小 是1×(p+6)。于是满足等式6的最优形状和姿势更新向量“s”是:\ns=-G-1b, 等式8\n其中(p+6)×(p+6)的矩阵G和(p+6)×1的向量b由下式给出:\n\n\n这里,虽然每个图像点以其原始形式被单个处理,但只有唯一的一个 跟踪解“s”同时对整个模型计算出来。一个由真实数据构建并用极少几个 系数参数化的3D模型被用于跟踪。为让s是可计算的,矩阵G的秩必须 是p+6。粗略的,3D模型中的每个点引入零个、一个或两个标量观测约 束,这取决于其是否落在图像中的非纹理化区域、边界区域或完全纹理化 区域。在一个实施例中,从所有点集合的约束的总数就必须大于或等于 p+6=10,以使3D模型适于跟踪。\n一旦“s”计算出来,时间帧n时的姿势和变形就知道了。在一个实施 例中,为使估计精确,同样的程序可在固定的时间帧n被重复多次(例 如,4次或5次)。然后对随后的帧重复同样的整个处理。在一个实施例 中,3D模型参数的初始化是通过首先在第一个图像I1上定位N=19个脸部 特征而手工完成的。然后对计算初始的姿势和变形参数 进行小的 优化,以使模型的图像投影和手工选择的点匹配。\n应该注意每个模型点的感兴趣区(ROI)在整个序列中并不保持不 变。相反,在每一帧都要基于空间中的点的距离(深度)和方向(局部表 面的法向)来计算其大小和几何形状。所得到的感兴趣区是如图5所示的 小的平行四边形。具体地说,背对摄像机的点认为是“不可见”的,并分 配给它们大小为零的感兴趣区,因此它们对跟踪更新不作贡献。\n因此,已描述了一种方法和分两阶段的系统,用于对单目图像序列中 例如脸部的姿势和变形的3D跟踪,并且不使用干扰性的特殊标识。所述 系统的第一阶段,通过对真实立体跟踪数据应用主元分析,学习所有可能 的脸部变形的空间。所得到的模型将任意的一般形状作为形状基向量的线 性组合来近似。所述系统的第二阶段使用这个低复杂度的可变的模型,来 从单个图像序列同时估计脸部的姿势和变形。这一阶段称为基于模型的单 目跟踪。\n构造模型的数据驱动方法适合于对非刚性对象的3D跟踪,并相对使 用3D扫描仪或CAD建模器来手工构造模型的任务,提供了一种极好和实 用的替代方法。此外,从真实数据来创建模型允许用比手工模型更少的参 数来跟踪很多种的脸部变形,并使得鲁棒性增强和跟踪精度提高。另外, 所述系统展现出非常有前途的普适化的特性,使得可以用同样的3D模型 来对多人跟踪,这构成较大多数其他对每个要跟踪的用户需要不同的模型 的脸部跟踪系统的一个主要进步。\n在以上说明中,本发明已经参照其特定的示例的实施例进行了描述。 但是,很显然可以对其做不同的修改和变化,而不背离所附的权利要求中 所提出的关于本发明的更宽的精神和范围。相应的,说明书和附图应在解 释而非限定的意义上被考虑。
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |