用于面部表示的系统和方法

文档序号:10517869阅读:576来源:国知局
用于面部表示的系统和方法
【专利摘要】系统、方法、以及非暂时性计算机可读介质可通过采用深度神经网络(DNN)对准面部图像、分类面部图像、以及验证面部图像。可从2D面部图像生成3D对准的面部图像。可基于3D对准的面部图像至DNN的提供对2D面部图像的标识进行分类。2D面部图像的标识可包括特征向量。
【专利说明】
用于面部表示的系统和方法
技术领域
[0001] 本技术涉及面部识别的领域。更具体地,本技术提供使用深度学习表示面部图像 的技术。
【背景技术】
[0002] 面部识别系统是从图像或者视频中自动识别或验证人的计算机应用。无约束图像 中的面貌识别在算法感知革命中的最前沿。面貌识别技术的社交和文化含义及优点是广泛 的。然而,在机器与人类视觉系统之间的这个领域中当前的性能空白阻止了这些优点的实 现。
[0003] 当识别在持续受控(约束)环境中拍摄的静止图像中的正面面部时,二十年来面部 识别错误率降低三个数量级。应用包括边界控制和智能生物识别。然而,这些系统会对各种 因素敏感,诸如,照明、表情、遮挡、以及年龄。当尝试识别无约束设置中的人时,这些系统的 性能基本上会劣化。

【发明内容】

[0004] 本公开的各种实施方式可以包括系统、方法、以及非暂时性计算机可读介质,其被 配置为通过采用深度神经网络对准面部图像、分类面部图像、以及验证面部图像。在一些实 施方式中,可以从2D面部图像生成3D对准的面部图像。可基于3D对准的面部图像至深度神 经网络(DNN)的提供对2D面部图像的标识进行分类。2D面部图像的标识可包括特征向量。
[0005] 在一个实施方式中,可以检测2D面部图像的一组基准点。2D面部图像可以用于使 2D面部图像扭曲成3D形状以生成3D对齐的面部图像。
[0006] 在一个实施方式中,一组锚点可以被放置到3D形状上。每个锚点可以对应于2D面 部图像的一组基准点中的基准点。可以将2D面部图像的该一组基准点中的每个基准点的位 置背投(back-project)至3D形状。可以将2D面部图像的该一组基准点中的每个基准点的位 置投影至3D形状的正视图。可以基于该一组基准点和该组锚点将该2D面部图像变换成3D对 准的面部图像。
[0007] 在一个实施方式中,2D面部图像的该组基准点限定一组三角形。对该组三角形中 的每个三角形执行仿射变换以将2D面部图像变换成3D对准的面部图像。
[0008] 在一个实施方式中,可以通过检测图像的第二组基准点识别图像的面部部分。可 以通过基于第二组基准点变换图像的面部部分生成2D面部图像。
[0009] 在一个实施方式中,可以确定一组锚定位置。图像的面部部分可以基于该组锚定 位置扭曲成所生成的2D面部图像。
[0010] 在一个实施方式中,DNN包括一组层,该组层包括卷积池层、一组局部连接的层、以 及一组完全连接的层。
[0011]在一个实施方式中,卷积池层包括第一卷积层、最大池层、以及第二卷积层。卷积 池层被配置为提取3D对准的面部图像的一组特征。
[0012] 在一个实施方式中,该组局部连接的层中的每个局部连接的层被配置为提取3D对 准的面部图像的一组特征。
[0013] 在一个实施方式中,该组完全连接的层中的每个局部完全连接的层被配置为确定 3D对准的面部图像的一组特征之间的相关性。
[0014] 在一个实施方式中,该组完全连接的层中的完全连接的层的输出是特征向量。 [0015]在一个实施方式中,DNN被配置为基于特征向量对2D面部图像进行分类。特征向量 包括3D对准的面部图像的一组特征。一组特征中的每个特征标准化为预定范围。
[0016] 在一个实施方式中,DNN被配置为针对3D对准的面部图像的每一个像素限定一组 滤波器。
[0017] 在一个实施方式中,DNN被训练以用数据集限定该组滤波器。
[0018] 在一个实施方式中,可以通过查询图像存储中的2D面部图像的标识识别2D面部图 像的个体。图像存储包括一组面部图像并且该组面部图像的每个面部图像对应于个体。
[0019] 在一个实施方式中,对第二2D面部图像的第二标识进行分类。可以将标识与第二 标识相比以确定标识和第二标识是否对应于个体。
[0020] 在一个实施方式中,可以确定标识与第二标识之间的加权-X2距离以将标识与第 二标识进行比较。
[0021] 在一个实施方式中,标识包括第一组特征并且第二标识包括第二组特征。可以确 定第一组特征与第二组特征之间的一组特征差异。可以通过使用完全连接的层将该组特征 差异映射至预定值以将标识与第二标识进行比较。
[0022] 在本发明的又一实施方式中,一个或多个计算机可读非暂时性存储介质,其体现 为软件,当软件被执行时可操作为执行根据本发明或者上述任一个实施方式的方法。
[0023]在根据本发明的另一实施方式中,系统包括:一个或多个处理器;以及至少一个存 储器,耦接至处理器并且包括处理器可执行的指令,当执行指令时处理器能操作为执行根 据本发明或者上述实施方式中任一实施方式的方法。
[0024] 在根据本发明的另一实施方式中,计算机程序产品优选地包括计算机可读非暂时 性存储介质,当在数据处理系统执行时能操作为执行根据本发明或者上述任一个实施方式 的方法。
[0025] 从以下详细说明和从附图中本发明的许多其他特征和实施方式将清晰可见。
[0026] 尤其在所附权利要求中公开了根据本发明的实施方式,涉及一种方法、储存介质、 系统以及计算机程序产品,其中,还可以在另一个权利要求范畴(例如,系统)内要求在一个 权利要求范畴(例如,系统)内提及的任何特征。仅出于形式原因选择在所附权利要求中的 从属或者回头引用。然而,也可以要求保护任何从有意的返回引用至任意前述权利要求中 得到的任何主题(具体地,多个从属性),使得公开了其权利要求和特征的任意组合并且可 以不顾所附权利要求中选择的从属性而要求保护。要求保护的主题不仅包括如在所附权利 要求中陈述的特征的组合而且还包括权利要求中特征的任何其他组合,其中,在权利要求 中提到的每个特征可以与任何其他特征或者权利要求或权利要求中的其他特征的组合结 合。此外,可以在分开的权利要求和/或与此处描述或描绘的任何实施方式或特征或者与所 附权利要求的任何特征的任意结合中要求保护在此处描述和描绘的任何实施方式和特征。
【附图说明】
[0027] 图1示出了根据本公开的实施方式的包括示例性面部表示模块的示例性系统,示 例性面部表示模块被配置为通过采用深度神经网络对准面部图像、对面部图像进行分类、 和/或验证面部图像。
[0028] 图2示出了根据本公开的实施方式的示例性面部对准模块。
[0029] 图3A示出了根据本公开的实施方式包括具有基准点的所检测到的面部部分的示 例性2D图像。
[0030] 图3B示出了根据本公开的实施方式在图3A中示出的基于示例性2D图像生成的示 例性2D面部图像。
[0031] 图3C示出了根据本公开的实施方式具有所检测到的基准点以及由基准点定义的 相应的三角形的示例性2D面部图像。
[0032]图3D示出了根据本公开的实施方式转换成在图3B中示出的2D面部图像的图像平 面的示例性3D形状。
[0033]图3E示出了根据本公开的实施方式的有关装配的3D-2D照相机的三角形可视性。 [0034]图3F示出了根据本公开的实施方式放置在对应于在图3C中示出的基准点的3D形 状上的锚点。
[0035]图3G示出了根据本公开的实施方式的示例性3D对准面部图像。
[0036]图3H示出了根据本公开的实施方式在图3G中示出的基于3D面部图像生成的面部 的示例性视图。
[0037]图4示出了根据本公开的实施方式的示例性面部分类模块。
[0038]图5示出了根据本公开的实施方式的示例性DNN的示例性架构。
[0039] 图6示出了根据本公开的实施方式的生成2D面部图像的面部表示的示例性方法。
[0040] 图7示出了根据本公开的实施方式的生成2D面部图像的面部表示的示例性方法。
[0041] 图8A示出了与LFW数据集的其他方法相比一些实施方式的接收器作业特性 ("ROC")曲线。
[0042]图8B示出了与YTF数据集的其他方法相比一些实施方式的接收器作业特性 ("ROC")曲线。
[0043]图9示出了根据本公开的实施方式在各种情形中可被利用的示例性系统的网络 图。
[0044]图10示出了根据本公开的实施方式可在各种情形中利用的计算机系统的实例。 [0045]附图描述了本公开技术的各种实施方式,仅仅用于说明的目的,其中,附图使用相 似的参考数字,来表示相似的元件。本领域的技术人员从以下讨论中容易认识到,在不背离 在本文中描述公开技术的原理的情况下,可以使用在图中说明的结构和方法的替换的实施 方式。
【具体实施方式】
[0046] 近些年,已通过搜索引擎爬取(crawl) 了大量照片,并且上传至社交网络。这些照 片可以包括各种无约束材料,诸如,物体、面部、以及场景。对于计算机视觉社区最感兴趣的 是在处理其未解决的问题的中能够平衡这样巨大量的数据。然而,在计算机视觉中使用的 很多传统机器学习工具的普遍能力(诸如,支持向量机、主分量分析以及线性判别分析)趋 向饱和而不是随着大量训练集而更显著地成长。
[0047]现代面部识别可包括几个阶段,诸如,检测、对准、表示、以及分类。在检测阶段期 间可以从图像中检测到一个或多个面部,并且在对准阶段所检测的面部对准。随后,在表示 阶段表示图像中的每个面部。在分类阶段可对图像中的每个面部进行分类。传统的面部验 证方法使用用户定义并选择的手动精制特征。甚至在户外("LFW")贡献中最早标记面部中, 可以并入手动精制特征以改善性能。这些系统可以采用数以万计的图像描述符。
[0048] 面部对准确定诸如眼睛、鼻子、嘴巴、以及下巴的语义面部标志的位置。因此,面部 对准可能是面部识别系统的关键部分。包括对准的面部的数据集(例如,LFW-a)的面部数据 库可以通过提供标准化输入改善面部识别系统的性能。对LFW结果页面的一些贡献使用2D 对准版本的数据集(例如,LFW-a)并且具有改善的结果。其他贡献可能采用更定制的解决方 案。例如,使用推断似合理的"标识保持(identity preserving)"对准的具有相似姿势和表 情的人(个体,i nd i v i du 1 a 1)的数据集。然而,在无约束情况下对准面部可能是挑战性的。由 于面部的非平面化,需要对很难与将面部形态排除在外的人的身份断开联系的很多因素 (例如,姿势和非刚性的表情)作出说明。
[0049] 图1示出了根据本公开的实施方式的包括示例性面部表示模块102的示例性系统 100,示例性面部表示模块被配置为通过采用深度神经网络对准面部图像、对面部图像进行 分类、和/或验证面部图像。如图1中所示,示例性面部表示模块102可包括面部对准模块 104、面部分类模块106、以及面部验证模块108。
[0050] 示例性系统100可以包括至少一个图像存储110。在图1的实例中,至少一个图像存 储110可被配置为存储图像或诸如视频的其他数字媒体。图像可以包括识别或未识别的面 部图像。识别的面部图像可以关联到人,而未识别的面部图像没有关联到任何人。例如,可 以用人的ID(例如,姓名、用户名等)标记识别的面部图像。图像可以是2D或者3D的。在各种 实施方式中,原始图象可以用作底层表示。图像存储110可以存储数据集,数据集可以用于 训练深度神经网络("DNN")以学习面部表示并对其进行分类。各种实施方式可以提供运用 面部的非常大的标记数据集以便获得很好地通用于其他数据集的面部表示的深度神经网 络架构和学习方法。DNN可能涉及例如使用几个本地连接的层且没有重值分担的多于1.2亿 参数。例如,数据集可包括属于多于4000个身份的四百万面部图像,其中,每个身份具有平 均通过一千个样本的人。
[0051] 在一些实施方式中,面部对准模块104可被配置为包括基于基准点对面部进行分 析3D模拟。面部对准模块104可以进一步被配置为基于分析的3D模拟使所检测的面部裁剪 部分扭曲从而创建3D对准的面部图像。由于3D对准的面部图像中每个面部区域的位置固定 在像素级处,从原始图像中的像素的RGB值中可以已知并且检测面部外貌。
[0052] 在一些实施方式中,面部分类模块106可被配置为对图像的身份进行分类。面部分 类模块106可被配置为直接地基于图像的像素的RGB值对图像的身份(例如,面部表示)进行 分类。图像的身份可以非常紧凑并且甚至稀疏。在另一实施方式中,可以基于像素的RGB值、 梯度领域、深度图、或者图像的深度信息、或者它的任意组合生成图像的身份。
[0053]在一些实施方式中,面部验证模块108可被配置为验证两个图像是否具有相同的 标识。换言之,验证两个图像是否属于同一级。面部验证模块108可被配置为基于通过面部 分类模块106分类的标识(例如,图像的面部表示)确定两个图像之间的相似性。图像可通过 特征向量来表示。在一些实施方式中,可以通过计算两个图像的两个标准化特征向量之间 的内积确定两个图像的相似性。在一些实施方式中,可以通过监督度量(诸如,X 2相似性或 暹罗(Siamese)网络)确定两个图像的相似性。
[0054]两个图像之间的加权相似性-X2可以表示为¥(心,5) = Σι ¥1(负(1)42(1))2/(& (i)+f2(i)),其中,fdPf2分别是图像的向量表示。可使用线性SVM获悉权重参数,应用于元 件的向量(&(1)吖2(1)) 2/(负(1)+&(1))。
[0055] 暹罗网络为两个图像提供高度非线性度量。可以确定针对两个图像识别的特征之 间的绝对差别并且用于直接预测两个输入图像是否属于同一人。两个图像的特征之间的诱 导距离可以表示为:(1(&3 2)=21&141(1)吖2(1)|,其中, &1是暹罗网络的可训练参数。可 以通过用逻辑函数:l/(l+eXp(-d))对0与1之间的距离进行标准化,以及通过使用叉熵损失 和反向传播来训练暹罗网络的参数( ai以及下层之间的联合参数)。在各种实施方式中,为 了防止面部验证任务过度拟合,仅为暹罗网络的两个最顶层进行训练。
[0056] 图2示出了根据本公开的实施方式的面部对准模块202,如图1中所示(例如,面部 对准模块104)。示例性面部对准模块202可以使面部图像对准。可以从至少一个数据存储 208(例如,图1中的图像存储110)获得待对准的图像。对准的面部图像可以存储在数据存储 208中。结合图3A至图3H论述图2。
[0057]图3A至图3H示出了根据本公开的实施方式的对准过程的不同时间期间的示例性 图像数据。图3A示出了包括具有基准点的所检测到的面部部分310的示例性2D图像301。图 3B示出了基于在图3A中示出的示例性2D图像301产生的示例性面部图像302。图3C示出了具 有所检测到的基准点以及通过基准点定义的相应的三角形的示例性面部图像303。图3D示 出了转换成图3B中示出的2D面部图像302的图像平面的示例性3D形状304。图3E示出了相对 于装配的3D-2D照相机的三角形可视性。图3F示出了放置在对应于在图3C中示出的基准点 的3D形状306上的锚点。图3G示出了示例性3D对准的面部图像307。图3H示出了基于在图3G 中示出的3D面部图像307生成的面部308的示例性视图。
[0058]面部对准模块202可包括基准点检测模块204和图像变换模块206。面部对准模块 可被配置为使2D图像210与3D对准的面部图像212对准。3D对准的面部图像212可以在无约 束情况下对准使得可以将很难与将面部形态排除在外的人的身份断开联系的很多因素考 虑在内。例如,考虑由于面部的非平面化和非刚性表情的姿势。
[0059]基准点检测模块204对2D面部图像中的基准点进行定位。2D面部图像可以是无约 束图像。在各种实施方式中,可以通过支持向量机(SVR)提取基准点。可以训练SVR以从2D面 部图像的图像描述符中预测点配置。在各种实施方式中,图像描述符基于局部二进制模式 ("LBP")直方图。在另一实施方式中,在图像描述符中可以考虑其他特征。在一些实施方式 中,可以应用多次迭代使得基准点检测模块204可以使其输出精确化。即,基准点检测模块 204可被配置为检测基准点的起始位置,该基准点可以通过多次迭代精确化到基准点的最 终位置。可以使用2D变换图像的诱发相似矩阵T变换2D面部图像。基准点检测模块204可以 分析新的特征空间上的2D变换图像,其可以用于精确化2D面部图像的基准点的位置。
[0060]基准点检测模块204可被配置为检测2D面部图像的一组基准点。参照图3C,示出了 具有一组基准点中的示例性2D面部图像303。从图3中示出的2D面部图像302中检测该组基 准点x2d,这是图3A中示出的2D图像301的2D对准的裁剪图像。可以通过使用训练的SVR检测 该组基准点x 2d。在所示出的实例中,在2D面部图像303上对所选择的基准点的数字(例如, 67)进行定位。该组基准点X2d可以定义一组相应的三角形(例如,Delaunay三角测量),其可 以添加到在2D面部图像303中示出的图像的轮廓。因此,可以避免裁剪和锐边。
[0061]再参照图2,图像变换模块206可被配置为通过使用基准点检测模块204检测到的 这组基准点使2D面部图像扭曲成3D形状生成3D对准的面部图像212。参照图3G,示出了示例 性3D对准的面部图像307,其基于图3B中示出的2D面部图像302产生的。可以使用在图3C中 示出的该组基准点扭曲2D面部图像302以生成图3G中示出的3D对准的面部图像307。当将2D 面部图像扭曲成3D形状或模型时,2D面部图像中的每个基准点的位置通过恢复的投影矩阵 P投射返回至3D形状或模型,并且随后投射至3D形状或模型的主视图。在各种实施方式中, 使用分段仿射变形,由从在2D面部图像上检测到的该组基准点中得出的三角形引导(例如, Delaunay三角测量)。
[0062]参照图3D,示出了转换成2D面部图像302的图像平面的示例性3D形状或模型304。 通用3D形状或模型可以用作对准包含面外旋转的面部图像302的参考。在各种实施方式中, 通用3D形状模型是USF Human-ID数据库的3D扫描的平均值。可以处理3D扫描的平均值并且 表示为对准顶点vi = (xi,y i,z i) ni = 1。
[0063] 一组锚点X3d可以放在3D形状上。每个锚点对应于在2D面部图像上检测到的基准 点。在2D面部图像上检测的基准点与在3D对准的面部图像上的锚点之间可以实现完全匹 配。例如,图3F示出了 3D形状或模型可以诱发的锚点。图3F中示出的每个锚点对应于图3C中 示出的基准点。基准点和锚点可以用于将图3B中示出的2D面部图像的分段仿射变形引导至 图3G中示出的3D对准的面部图像。
[0064] 可以配准3D仿射照相机P并且用于将图3B中示出的2D面部图像302的正面面部平 面投射返回至图3D中示出的3D形状304的图像平面。因此,参考3D形状304转换成2D面部图 像302的图像平面。换言之,2D面部图像302基于参考3D形状304变换成3D对准的面部图像。 使用具有已知协方差的最小平方来求解3D至2D照相机P,对于A,其中,X 3d是通过 参考基准点位置[XTM,1,$ 给出的(2x8)-矩阵堆叠,且d表示四个零的行向量。 尺寸2x 4的仿射照相机P可以通过八个未知的P的向量表不。在一些实施方式中,使用协方 差矩阵Σ的(67*2)x(67*2)。这是因为所检测到的面部轮廓上的点可能更有噪声的,由于相 对于相机角度所估计的它们的位置可能会受到深度的影响。
[0065]图3E示出了有关装配的仿射3D至2D照相机的三角形可视性。3D形状或模型上的三 角形的可视性可能取决于定义三角形的相应的锚点距仿射3D至2D照相机的距离。根据基准 点距照相机的距离,与三角形332进行比较,三角形334不易看见,三角形332与三角形330进 行比较不易看见。
[0066]再参照图2,在各种实施方式中,面部对准模块202可被配置为从2D图像210生成2D 面部图像。参照图3A,在2D图像301中检测面部部分310。可以通过检测一组基准点312、314、 316、318、320、以及322识别20图像301的面部部分310。基准点312、314可以在眼睛的中心进 行对中,基准点316可以在鼻尖上进行对中,以及基准点318、322、和320可以分别在嘴部的 顶端和中间点进行对中。在面部部分中检测到的基准点可以用于确定一组锚定位置。所识 别的面部部分可以基于该组锚定位置扭曲以生成2D面部图像。例如,如所示出的,基准点 312、314、316、318、320、以及322可以用于对面部部分310大约按比例绘制、旋转和平移到三 个锚定位置。可以通过求1^3: = 的解来确定三个锚定位置以生成如在图3B中示 出的新的扭曲图像,其中,对于点j = l. .n,x\nch〇r: = si[Ri I ti]*xjSmjrce。图3B示出了2D面部 图像3022D面部图像302可以是基于2D图像301通过聚集变换产生的对准的面部裁剪部分。 在不存在显著的变化之前,可以执行多次迭代以确定锚定位置从而基于所检测到的面部部 分310生成2D面部图像302。可以合成最终的2D相似变换T 2d: . .*Tk2d。
[0067]图4示出了根据本公开的实施方式的示例性面部分类模块402,如图1中所示(例 如,面部分类模块106)。示例性面部分类模块402可以对图像412的标识进行分类。可以从至 少一个数据存储410(例如,图1中的图像存储110)中获得待分类的图像。分类图像可以存储 在数据存储410中。与图5结合论述图4。
[0068]面部分类模块402可包括滤波器生成模块404、特征向量生成模块406、以及表示分 类模块408。面部分类模块402可被配置为从DNN中得出图像的标识(例如,面部表示)。滤波 器生成模块404可被配置为通过用数据集训练DNN生成一组滤波器。在各种实施方式中,数 据集可以包括大型照片集。可以识别照片中的一部分(例如,标记或者用ID标记)。每个滤波 器可被配置为提取图像的特征(例如,面部特征)。特征向量生成模块406可被配置为生成图 像的特征向量。特征向量包括图像的各种特征并可以用于表示图像。可以基于滤波器生成 模块404提供的该组滤波器产生图像的特征向量。表示分类模块408可以基于图像的特征向 量对图像进行分类。
[0069] 在各种实施方式中,DNN可包括一组层,该组层包括卷积池层、局部连接的层、以及 完全连接的层。卷积池层可被配置为提取图像的一组特征。局部连接的层可被配置为提取 图像的另一组特征。完全连接的层可被配置为确定图像的特征之间的相关性。在一些实施 方式中,DNN的总体结构包括卷积池层,后面是一组局部连接的层,再后面是完全连接的层。 DNN可包括至少所选择的数量(例如,12千万)的参数(例如,连接权)。在各种实施方式中, DNN被配置为接收作为输入3D对准的面部图像,诸如,在图3G中示出的3D对准的面部图像 307〇
[0070] 在各种实施方式中,DNN使用ReLU激活函数:max(0,x)。可以在卷积层、局部连接的 层、或者完全连接的层之后应用该软阈值化非线性。因此,可以产生高度非线性和稀疏的特 征。因此,由面部分类模块402产生的特征可能是非常稀疏的。在一些实施方式中,最高层中 的75%的特征分量正好为零。在另一实施方式中,可以应用在训练期间将随机特征分量设 置为〇的规则化方法(例如,压差(dropout))。在一些实施方式中,规则化方法仅应用于第一 完全连接的层。ReLU激活的使用使得面部分类模块402不会对图像强度的缩放比例不变。在 DNN中没有偏差的情况下,可以实现完美或者接近完美的等方差。
[0071] 在一些实施方式中,面部分类模块402可被配置为使特征标准化为在0与1之间。面 部分类模块402可以进一步被配置为执行L 2标准化。因此,可以改善后续学习。特征向量的 每个分量可以除以遍布训练集中最大的值。在一些实施方式中,为了避免被小的数字相除, 在预定值(例如,0.05)处对标准化因子设上限。如果最大数低于预定值(例如,0.05),特征 被标准化。这样的标准化可以确保面部分类模块402对于照明变化是鲁棒的。
[0072]在各种实施方式中,输入3D对准的面部图像可以提供至DNN的卷积池层。卷积池层 可包括第一卷积层(Cl)、最大池层(M2)、以及第二卷积层(C3)。每个卷积层可被配置为包括 一组滤波器,每个滤波器被配置为产生特征图。最大池层可使DNN对小配准误差更鲁棒。然 而,若干级别的池将会使网络丢失有关详细面部结构和微小纹理的准确位置的信息。因此, 在各种实施方式中,最大池仅应用于第一卷积层。即,最大池层后面只有第一卷积层。卷积 池层被配置为提取图像的低层特征(例如,简单的边线和纹理)。卷积池层自适应预处理输 入图像并且将输入图像扩展成一组简单的局部特征。
[0073]图5示出了根据本公开的实施方式的示例性DNN的示例性架构500。提供3D对准的 面部图像524(包括RGB复本524a-c)作为到DNN 500的输入。在所示出的实例中,DNN 500可 以基于像素的RGB值对3D对准的面部图像514的标识进行分类。可以通过卷积池层502和该 组局部连接的层510提取图像524的局部面部特征。图像524的局部面部特征之间的相关性 可以由该组完全连接的层518来确定。在所示出的实例中,完全连接的层F7 520的输出可以 用作图像524的特征向量。
[0074] 如示出的,示例性卷积池层502包括卷积层C1 504、最大池层M2506、以及卷积层C3 508。卷积层可被配置为具有一组滤波器(例如,32个滤波器)。在一个实施方式中,所选择的 数量的滤波器中的每一个滤波器可以是大小11x11x3。通过卷积层C1产生的特征图集可以 提供至最大池层M2。对于每个通道,最大池层M2可被配置为采用最大的跨3x3空间邻域,跨 距为2。第二卷积层C3可以应用于最大池层M2的输出。卷积层C3可被配置为具有一组滤波器 (例如,16个滤波器)。在一个实施方式中,所选择的数量的滤波器中的每一个滤波器可以是 大小 9x9x16。
[0075] 通过卷积池层生成的图像的特征(例如,局部面部特征)可以提供至一组局部连接 的层。这组局部连接的层没有重值分担并且局部连接的层的每一个输出可能受到非常大的 输入的补丁 (patch)的影响。因此,使用局部连接的层可能不会影响特征提取的计算负担, 但是可能影响经受训练的参数的数目。每一个局部连接的层可被配置为从输入图像中提取 一组特征。对于图像的相同位置,不同的特征可以由局部连接的层和卷积层来提取。即,通 过DNN的局部连接的层获悉特征图中每个位置中的一组滤波器,并且这组滤波器不同于通 过卷积层获悉的那组滤波器。局部连接的层不会保持卷积的空间平稳性假设,因为所对准 的图像的不同的区域可具有不同的局部统计量。例如,眼睛和眉毛之间的区域表现出非常 不同的外观并且与鼻子和嘴之间的区域进行比较具有更高的辨别能力。
[0076] 仍参照图5,如示出的,一组示例性的局部连接的层510包括第一局部连接的层L4 512、第二局部连接的层L5 514、以及第三局部连接的层L6 516。在所示出的示例性DNN 500 的输入图像的特征图中的每个位置处,局部连接的层L4 512、L5 514、或者L6 516可以应用 与卷积层C1 504或C3 508应用的组不同组的滤波器。局部连接的层L4 512、L5 514、或L6 516的每个输出单元可能受非常大的输入补丁的影响。例如,如所示出的,局部连接的层L6 516的输出可能受输入图像524的74x74x3补丁的影响。由于输入图像524对准,这样大的补 丁之间几乎不存在统计共享。
[0077] 通过卷积池层生成的图像的局部面部特征和一组局部连接的层可以提供至一组 完全连接的层。完全连接的层被配置为确定卷积池层生成的图像的局部面部特征与该组局 部连接的层之间的相关性。即,该组完全连接的层被配置为确定在面部图像的远距离部分 中提取的局部面部特征(例如,眼睛的位置和形状、嘴部的位置和形状)之间的相关性。完全 连接的层的每个输出可以连接至完全连接的层的所有的输入。
[0078]参照图4,在一些实施方式中,特征向量生成模块406被配置为将完全连接的层的 输出用作图像410的特征向量。表示分类模块408可被配置为基于特征向量将图像分类为第 一等。在一些实施方式中,DNN的输出(例如,最后一个完全连接的层的输出)可以提供至K-way softmax,其中K是分类的数目。K-way softmax可被配置为产生在分类标记上的分布。 分配给第i类的概率是softmax函数的输出:pi = exp(〇i)/2 j exp(〇j),其中〇i表示给定输入 上的网络的第i输出。表示分类模块408可被配置为确定2D面部图像所属的个体。可以能够 2D面部图像的标识(例如,面部表示、特征向量)来查询图像存储410。
[0079]在各种实施方式中,当训练DNN时,最大化正确类别(例如,面部ID)的可能性。可以 最小化每个训练样本的交叉熵损失以便最大化正确的类别的可能性。给定的输入的交叉熵 损失是L = _log pk,其中k是给定的输入的真标记的指数。可以通过相对于参数计算L的梯 度并且使用随机梯度下降(SGD)更新参数使在参数上损失可以最小化。在一些实施方式中, 可以通过误差的标准逆传播来确定梯度。
[0080] 可以通过平衡输入图像对准的事实定制DNN 500的架构。示例性DNN 500可被配置 为获悉对应于各种面部特征的不同的滤波器,以检测各种面部特征,和/或生成图像的特征 向量(如以上更详细地描述)。如在图5中示出的,示例性DNN 500是包括卷积池层502、一组 局部连接的层510、以及一组完全连接的层518的九层的DNN。卷积池层502可包括卷积层C1 504、最大池层M2 506、以及卷积层C3 508。该组局部连接的层510可包括局部连接的层1^4-L6 512、514、以及516,并且该组完全连接的层518可包括完全连接的层F7-F8 520和522。完 全连接的层F7 520或F8 522的每个输出单元可以连接至所有的输入。
[0081] 图6示出了根据本公开的实施方式的生成2D面部图像的面部表示的示例性方法。 应当理解,除非另有说明,在各种实施方式的范围内,存在以相似或可替换的顺序执行的、 或者并行地执行的额外、较少、或者替代的步骤。在方框602,基于2D面部图像生成3D对准的 面部图像。可以通过基于3D模型应用2D面部图像的仿射变换来创建3D对准的面部图像。3D 模型可以是显式3D面部模型。在方框604,可以通过将3D对准的面部图像提供至DNN对2D面 部图像的标识进行分类。可以通过使用对应于2D面部图像的3D对准的面部图像生成2D面部 图像的面部表示(例如,特征向量)。在一些实施方式中,DNN可包括九层。例如,DNN可能涉及 例如使用多个局部连接的层且没有重值分担的多于1.2亿参数。以上参照图1至图5提供更 详细的讨论和实例。
[0082] 图7示出了根据本公开的实施方式的生成2D面部图像的面部表示的示例性方法。 应当理解,除非另有说明,在各种实施方式的范围内,存在以相似或可替换的顺序执行的、 或者并行地执行的额外、较少、或者替代的步骤。在方框702,通过检测2D图像上的一组基准 点识别2D图像中的面部部分。可以通过训练以从图像描述符中预测点配置的SVR来检测基 准点。在方框704,可以通过基于在方框702检测的基准点变换2D图像的面部部分生成2D面 部图像。2D面部图像可以是2D图像的对准裁剪并且可以通过聚合变换来生成。当最终合成 2D相似变换时,基准点可以用于缩放、旋转、以及平移2D图像的面部部分并且对新的图像扭 曲的图像进行迭代直至不存在显著的变化。
[0083]在方框706,在2D面部图像中可以检测到不同一组基准点。可以通过使用与在方框 702使用的SVR不同的SVR定位基准点的位置。在方框708,通可以过使用在方框706检测的基 准点生成3D对准的面部图像使2D面部图像扭曲成3D形状。3D形状可以是通用3D模型。可以 配准3D仿射照相机并且用于将2D面部图像的正面面部平面背投至3D形状的图像平面,从而 生成3D对准的面部图像。在方框710,可以通过将3D对准的面部图像提供至深度神经网络 ("DNN")对2D面部图像的标识进行分类。以上参照图1至图5提供更详细的讨论和实例。 [0084]在各种实施方式中,DNN被配置为从称为社交面部分类("SFC")数据集的大型照片 集中获悉面部表示。表示可以应用于LFW数据库以及YouTube?面部("YTF")数据集。LFW数 据库实际上可以用作在无约束的环境中进行面部验证的基准数据集。YTF数据集可以相似 地建模至LFW但集中在视频剪辑上。通过人标记SFC的面部标识通常并入大约3%的误差。与 通常由专业摄影师而不是智能手机拍摄的LFW和YTF中的名人的网络图像相比,社交面部照 片在图像质量、照明、以及面部表情上甚至具有更大的变化。
[0085]如所使用的SFC数据集包括4030个人中440万个标记的面部。每个个体可具有800 至1200个面部的图像。可以不考虑每个标识的最新的5%的面部图像。如所使用的LFW数据 集由5749个名人的13323张网络照片组成,用10次分割将5749个名人分成6000个面部配对。 通过使用在训练中只有'相同的'和'不同的'标记可用的受限制的协议或者在训练中也可 使用训练主题标识的无限制的协议的平均识别准确度来测量性能。此外,'无监督的'协议 可以测量LFW的性能,且不用对该数据集进行任何训练。
[0086] 如所使用的YTF数据集收集1595个对象的3425Y〇uTube?视频,YTF数据集可以是 LFW中的名人的子集。这些视频可分成5000个视频对和10个分割并且用于评估视频级的面 部验证。
[0087] 可以通过具有动量(设置为0.9)的随机梯度下降(SGD)实现在前馈网上的标准逆 传播来在SFC上训练DNN。最小批量大小是128,并且确保所有的学习层相等的学习率为 〇. 〇 1。学习率可以手动降低至〇. 〇〇〇〇 1的最终速率。每次,一旦验证误差停止减少,学习率可 以减少一个数量级。每层的权重可以用〇 = 0.01从零均值高斯分布初始化并且偏置设置为 0.5。可以对整个数据网络大致进行15次清扫(新时期)来训练网络。
[0088] 表1示出了相对于训练数据集大小和网络深度对SFC的实施方式的分类错误。通过 使用SFC中的个体的子集改变训练和测试数据集大小。大小1.5K、3K、以及4K个体的子集用 于分别包含1 · 5Μ、3 · 3Μ、以及 4 · 4Μ 的SFC。训练 DNN(例如,De 印 Face-1 · 5M、DeepFace-3 · 3Μ、以 及DeepFaCe-4.4M)。如示出的,大型面部数据集和深度架构减小误差率。当对3K个人进行分 类时,分类误差仅从1.5K个人的7.0 %适度增长至7.2%,这指示网络的容量可很好地容纳 3M训练图像的规模。对于具有4.4M图像的4K个人,误差率上升至8.7%,从而示出了网络按 比例调节适于更多的个体。
[0090]表 1
[0091] 通过从图5中示出的架构中移去一层或多层改变网络的深度。例如,在DNN DeepFace-子集1中移去卷积层(例如,C3),在DNN DeepFace-子集2中移去一组局部连接的 层(例如,L4和L5),并且在DNN De印Face-子集3中移去卷积层(例如,C3)和多个局部连接的 层(例如,L4和L5)。用4.4M面部训练DNN。在几个时期之后分类错误停止减少并且保持在高 于深度网络De印Face-4 ·4Μ的水平的水平处。
[0092]图8Α和表2示出了与LFW数据集的其他方法相比一些实施方式的接收器作业特性 ("尺0(:")曲线和验证准确性。曲线802、804、806、808、810、812、和814分别对应于人类验证, 使用全体验证的实施方式(例如,DeepFace-全体),包括从SFC数据集上的3D对准的面部中 的原始的RGB像素中获悉的DNN的实施方式(例如,Deepface-单体),TL联合Bayesian、高维 1^卩、1'〇111对?6七6、以及合并联合1^5^81311。〇66口€306-全体合并通过将不同类型的输入馈送 至包含3D对准的RGB输入的DNN而训练的多个网络的距离、灰度水平的图像加上图像梯度量 级和方向、以及2D对准的RGB图像。使用非线性SVM(且C = 1)和功率CDF-内核的简单总和合 足巨 1? : Kc〇mbined : - Ksingle+Kgradient+Kalign2d,中1^(叉,}〇: - _| |x_y| 丨2〇
[0095] 表 2
[0096] 接下来是无监督的协议以直接比较一对标准化特征的内积。对于SVM训练,受限制 的协议每次分割使用5400对标记。不受限制的协议为操作者提供有关训练集中的标识的资 料,因此使得产生了更多要被增加给训练集的训练对。如在图8A和表2中示出的,本文中描 述的实施方式提出其他方法以及在面部验证上接近人的工作效率的途径。
[0097]图8B和表3示出了与YTF数据集的其他方法相比一些实施方式的接收器作业特性 ("如〇曲线和验证准确性。曲线852、854、856、858、860、862分别对应于包括从3?(:数据集 (例如,Deepface-单体)上3D对准的面部中的原始RGB像素获悉的DNN、VS0F+0SS、STFRD+ PMML、APEM+FUSION、MBGS(平均值)LBP、以及MBGS(平均值)FPLBP的实施方式。
[0099] 表 4
[0100] YouTube?视频帧的图像质量通常劣于网络照片的图像质量,主要是由于运动模 糊或者视矩。对于每对训练视频,通过从每个视频中采用一个创建五十(50)对帧并且根据 视频训练对将这些标记为相同的或不相同的。获悉加权x2模型。给出测试对,通过从每个视 频取一个样本对一百个(100)随机对的帧进行采样,并且使用已获悉加权相似度的平均值。
[0101] 如示出的,本文描述的实施方式提供91.4%的准确性,这使先前最好的方法的误 差减少50%以上。在校正YTF数据集中的视频对的100错误的标记之后,准确性可以提高至 92.5%〇
[0102] 社交网络系统-示例性实施方式
[0103] 图9示出了根据本公开实施方式在各种实施方式中可用于提高视频编码的示例性 系统900的网络图。系统900包括一个或多个用户设备910、一个或多个外部系统920、社交网 络系统930以及网络950。在实施方式中,结合上面描述的实施方式讨论的社交网络服务、运 营商、和/或系统可以实现为社交网络系统930。为了说明的目的,由图9显示的系统900的实 施方式包括单个外部系统920和单个用户设备910。然而,在其他实施方式中,系统900可以 包括更多的用户设备910和/或更多的外部系统920。在某些实施方式中,社交网络系统930 由社交网络运营商操作,而外部系统920与社交网络系统930分开,这是因为这些系统可以 由不同的实体操作。然而,在各种实施方式中,社交网络系统930和外部系统920结合操作, 以将社交网络服务提供给社交网络系统930的用户(或成员)。在这个意义上,社交网络系统 930提供平台或骨干,其他系统(例如,外部系统920)可以使用该平台或骨干来通过互联网 将社交网络服务和功能提供给用户。
[0104] 用户设备910包括一个或多个计算设备,其可以从用户接收输入并且通过网络950 发送和接收数据。在一个实施方式中,用户设备910是传统的计算机系统,例如,执行 Microsoft Windows兼容操作系统(0S)、Apple OS X和/或Linux分布。在另一个实施方式 中,用户设备910可以是具有计算机功能的设备,例如,智能电话、平板电脑、个人数字助理 (roA)、移动电话等。用户设备910被配置为通过网络950进行通信。用户设备910可以执行应 用,例如,允许用户设备910的用户与社交网络系统930交互的浏览器应用。在另一个实施方 式中,用户设备910通过由用户设备910的本地操作系统(例如,i0S和ANDROID)提供的应用 编程接口(API)与社交网络系统930交互。用户设备910被配置为使用有线和/或无线通信系 统通过可以包括局域网和/或广域网的任何组合的网络950与外部系统920和社交网络系统 930通信。
[0105]在一个实施方式中,网络950使用标准的通信技术和协议。因此,网络950可以包括 使用诸如以太网、702.11、全球微波接入互操作性(1丨嫩乂)、36、46丄0嫩、631、1^、数字用户 线路(DSL)等技术的链路。类似地,网络950上使用的网络协议可包括多协议标签交换 (MPLS)、传递控制协议/互联网协议(TCP/IP)、用户数据报协议(UDP)、超文本传递协议 (HTTP)、简易邮件传递协议(SMTP)和文件传递协议(FTP)等等。可以使用包括超文本标记语 言(HTML)和可扩展标记语言(XML)的技术和/或格式表示通过网络950交换的数据。此外,可 以使用诸如安全套接层(SSL)、传递层安全(TLS)以及互联网协议安全(IPsec)等传统的加 密技术来将所有或一些链路加密。
[0106] 在一个实施方式中,通过使用浏览器应用912,处理从外部系统920中以及从社交 网络系统930中接收的标记语言文档914,用户设备910可以显示外部系统920和/或社交网 络系统930的内容。标记语言文档914识别内容和一个或多个描述该内容的格式或呈现的指 令。通过执行包含在标记语言文档914内的指令,浏览器应用912使用由标记语言文档914描 述的格式或呈现来显示识别的内容。例如,标记语言文档914包括指令,用于产生和显示具 有多个帧的网页,这些帧包括从外部系统920和社交网络系统930中检索的文本和/或图像 数据。在各种实施方式中,标记语言文档914包括数据文件,其包括可扩展标记语言(XML)数 据、可扩展超文本标记语言(XHTML)数据或其他标记语言数据。此外,标记语言文档914可以 包括JavaScript对象表示法(JS0N)数据、具有填充的JSON(JSONP)以及JavaScript数据,以 便于在外部系统920与用户设备910之间的数据交换。在用户设备910上的浏览器应用912可 以使用JavaScript编译器来将标记语言文档914解码。
[0107] 标记语言文档914还可以包括或者连接至应用或应用框架,例如,FLASH?或 Unity?应用程序、SilverLight?应用程序框架等。
[0108] 在一个实施方式中,用户设备910还包括一个或多个cookie 916,其包括数据,表 示用户设备910的用户是否登录到社交网络系统930,该小程序能够修改从社交网络系统 930传送给用户设备910的数据。
[0109] 外部系统920包括一个或多个网络服务器,其包括使用网络950传送给用户设备 910的一个或多个网页922a、922b。外部系统920与社交网络系统930分开。例如,外部系统 920与第一域相关联,而社交网络系统930与单独的社交网络域相关联。包含在外部系统920 内的网页922a、922b包括标记语言文档914,其识别内容并且包括规定所识别的内容的格式 或呈现的指令。
[0110] 社交网络系统930包括用于社交网络的一个或多个计算设备,社交网络包括多个 用户并且为社交网络的用户提供与社交网络的其他用户通信并交互的能力。在某些情况 下,社交网络可以由图谱表示,即,包括边线和节点的数据结构。其他数据结构还可以用于 表示社交网络,包括但不限于数据库、对象、类别、meta元素、文件或任何其他数据结构。社 交网络系统930可以由操作员执行、管理或控制。社交网络系统930的操作员可以是人类、自 动化应用或用于管理内容、调节政策以及在社交网络系统930内收集使用度量的一系列应 用。可以使用任何类型的操作员。
[0111] 用户可以加入社交网络系统930然后添加与他们希望连接的任意数量的社交网络 系统930的其他用户的连接。如此处使用的,术语"好友"指社交网络系统930中用户经由社 交网络系统930与其形成连接、关联、或者关系的任何其他用户。例如,在实施方式中,如果 社交网络系统930中的用户表示为社交图谱中的节点,那么术语"好友"可以指两个用户节 点之间形成和直接连接两个用户节点的边线。
[0112] 用户可明确添加连接或者基于用户的共同特征(例如,是同一所教育机构的校友 的用户)由社交网络系统930可自动创建连接。例如,第一用户特别选择特定的其他用户作 为好友。社交网络系统930中的连接通常是双向的,但不必如此,因此,术语"用户"和"好友" 取决于参照系。社交网络系统930的用户之间的连接通常是双边的("双向的"),或者"相互 的",但连接同样可以是单边的,或者"单向的"。例如,如果Bob和Joe是社交网络系统930的 两个用户并且连接至彼此,那么Bob和Joe是彼此的连接。如果,另一方面,Bob希望连接至 Joe以观看由Joe传送至社交网络系统930的数据,但是Joe不希望形成相互连接,所以可以 建立单边连接。用户之间的连接可以是直接连接;然而,社交网络系统930的一些实施方式 允许通过一个或多个连接等级或分离程度的间接的连接。
[0113] 除了建立和保存用户之间的连接并且允许用户之间进行交互之外,社交网络系统 930向用户提供作用于社交网络系统930支持的各类项目的能力。这些项目可以包括社交网 络系统930的用户所属的组群或网络(即,人们的社交网络、实体、以及概念)、用户可能感兴 趣的事件或者日历条目、用户可以经由社交网络系统930使用的基于计算机的应用、允许用 户经由由或提供社交网络系统930提供的服务购买或者出售项目的交易、以及用户可以对 社交网络系统930执行打开或者关闭的与广告的交互。这些仅是用户可作用于社交网络系 统930的项目的几个实例,并且许多其他实例也是可能的。用户可以与能够在社交网络系统 930内或者在外部系统920内表示的、与社交网络系统930分开的或者通过网络950与社交网 络系统930耦接的任何事物交互。
[0114] 社交网络系统930还能够链接各种实体。例如,社交网络系统930能够允许用户通 过API、网络服务或其他通信信道彼此以及与外部系统920或其他实体交互。社交网络系统 930生成和维护"社交图谱",包括由多个边线互连的多个节点。在社交图谱内的每个节点可 以表示可以作用于另一个节点和/或可以由另一个节点作用的实体。社交图谱可以包括各 种类型的节点。节点的类型的实例包括用户、非个人实体、内容项目、网页、组群、活动、消 息、概念、以及可以由社交网络系统930中的对象表示的任何其他事情。在社交图谱中的两 个节点之间的边线可以表示在这两个节点之间的特定类型的连接或关联性,这可以因节点 关系或者因由一个节点在另一个节点上进行的活动而产生。在某些情况下,在节点之间的 边线可以加权。边线的权重可以表示与边线相关联的属性,例如,在节点之间的联系或关联 性的强度。不同类型边线可以具有不同的权重。例如,可以给在一个用户"点赞"另一个用户 时创建的边线提供一个权重,同时可以给在用户与另一个用户交好友时创建的边线提供一 个不同的权重。
[0115] 举例来说,当第一用户将第二用户识别为好友时,社交图谱中生成将表示第一用 户的节点与表示第二用户的第二节点连接的边线。由于各种节点彼此相关或交互,所以社 交网络系统930修改连接各种节点的边线以反映关系和互动。
[0116] 社交网络系统930还包括增强用户与社交网络系统930之间交互的用户生成内容。 用户生成的内容可以包括用户可以增加、上传、发送或"发布"到社交网络系统930中的任何 事物。例如,用户将帖子从用户设备910传送至社交网络系统930。帖子可以包括数据(例如, 状态更新或其他文本数据)、位置信息、图像(例如,照片)、视频、链接、音乐或其他相似的数 据和/或媒体。第三方也可以将内容添加至社交网络系统930。内容"项目"表示为在社交网 络系统930中的对象。以这种方法,鼓励社交网络系统930的用户通过各种通信信道发布文 本和各种类型的介质的内容项目,来彼此通信。这种通信增加了用户彼此的交互,并且增加 了用户与社交网络系统930交互的频率。
[0117] 网络系统930包括网络服务器932、API请求服务器934、用户简档存储器936、连接 存储器938、动作记录器940,、活动日志942、以及授权服务器944。在本发明的实施方式中, 社交网络系统930可以包括用于各种应用的额外的、更少的、或不同的部件。未显示其他部 件,例如,网络接口、安全机构、负载平衡器、故障切换服务器、管理和网络操作控制台等,以 便不掩盖系统的细节。
[0118] 用户简档存储器936维护关于用户账号的信息,包括传记、人口或其他类型的描述 信息,例如,用户声明的或者社交网络系统930推断的工作经历、教育背景、爱好或偏好、位 置等。将该信息储存在用户简档存储器936内,以便唯一地识别每个用户。社交网络系统930 还在连接存储器938中储存描述在不同的用户之间的一个或多个连接的数据。连接信息可 以表示具有相似的或共同的工作经历、组成员、爱好或学历的用户。此外,社交网络系统930 包括在不同的用户之间的用户定义连接,允许用户规定他们与其他用户的关系。例如,用户 定义连接允许用户生成平行于用户的现实生活关系的与诸如好友、同事、伙伴等其他用户 的关系。用户可从预定的连接类型中选择,或者根据需要定义他们自己的连接类型。与社交 网络系统930中诸如非个人实体、储存区(bucket)、集群中心(cluster centers)、图像、兴 趣、页面、外部系统、概念等的其他节点的连接也可存储在连接存储器938中。
[0119]社交网络系统930维护关于用户可以与之交互的对象的数据。为了维持该数据,用 户简档存储器936和连接存储器938存储通过社交网络系统930维持的对应类型对象的实 例。每个对象类型具有信息字段,其适合于储存适合对象的类型的信息。例如,用户简档储 存器936包括具有适合于描述用户的账号和与用户的账号相关的信息的字段的数据结构。 在创建特定类型的新对象时,社交网络系统930初始化对应的类型的新数据结构,将唯一对 象标识符分配给该数据结构,并且根据需要,开始将数据添加至对象。这种情况可能发生 在,例如,用户变成社交网络系统930的用户时,社交网络系统930在用户简档存储器936中 生成用户简档的新情况时、将唯一标识符分配给用户账号时、以及开始使用用户提供的信 息来填充用户账号的字段时。
[0120]连接存储器938包括适合于描述用户到其他用户的连接、到外部系统920的连接、 或者到其他实体的连接的数据结构。连接存储器938还可以使连接类型与用户的连接相关 联,用户的连接可以与用户的隐私设置一起用于控制对关于用户的信息的访问权。在本发 明的实施方式中,用户简档存储器936和连接存储器938可以实现为联合数据库。
[0121]存储在连接存储器938、用户简档存储器936、以及活动日志942中的数据能够使社 交网络系统930生成这样一种社交图谱,即,使用节点来确定各种对象并且使用连接节点的 边线确定不同对象之间的关系。例如,如果在社交网络系统930中第一用户与第二用户创建 连接,则来自用户简档存储器936中的第一用户和第二用户的用户账号可用作社交图谱中 的节点。连接存储器938储存的第一用户与第二用户之间的连接是在与第一用户和第二用 户相关联的节点之间的边线。继续这个实例,然后,第二用户然后可以在社交网络系统930 内给第一用户发送消息。发送消息(可被存储)的动作是社交图谱中表示第一用户与第二用 户的两个节点之间的另一边线。此外,可以在社交图内识别和包含消息本身,作为连接至表 示第一用户和第二用户的节点的另一个节点。
[0122]在另一实例中,第一用户可在由社交网络系统930维护的图像中(或者,可替换地, 在由社交网络系统930外部的另一系统维护的图像中)给第二用户加标签。图像本身可表示 为社交网络系统930中的节点。该加标签动作可在第一用户与第二用户之间创建边线并且 在各个用户与图像之间创建边线,该图像也是社交图谱中的节点。在又一实例中,如果用户 确认参加某事件,则用户和该事件是从用户简档存储器936中获得的节点,其中,对该事件 的参加是可从活动日志942中检索到的节点之间的边线。通过生成并维护社交图谱,社交网 络系统930包括描述多种不同类型的对象以及这些对象之间的交互和连接的数据,从而提 供社交相关信息的丰富来源。
[0123] 网络服务器932经由网络950将社交网络系统930链接至一个或者多个用户设备 910和/或一个或者多个外部系统920。网络服务器932为网页以及其他网页相关的内容(例 如,Java、JavaScript、Flash、XML等)服务。网络服务器932可包括用于接收和路由社交网络 系统930与一个或者多个用户设备910之间的消息的邮件服务器或者其他消息功能。这些消 息可以是即时消息、队列消息(例如,电子邮件)、文本和SMS消息或任何其他合适的消息格 式。
[0124] API请求服务器934允许一个或者多个外部系统920和用户设备910通过调用一个 或者多个API功能来访问来自社交网络系统930中的信息。API请求服务器934还可以允许外 部系统920通过调用API来将信息发送至社交网络系统930。在一个实施方式中,外部系统 920通过网络950将API请求发送至社交网络系统930,并且API请求服务器934接收API请求。 API请求服务器934通过调用与API请求相关联的API处理请求以产生合适的响应,API请求 服务器934经由网络950将该合适的响应传送至外部系统920。例如,响应于API请求,API请 求服务器934收集与用户相关联的数据(例如,登录外部系统920内的用户连接),并且将收 集的数据传送给外部系统920。在另一实施方式中,用户设备910以与外部系统920相同的方 式通过API与社交网络系统930进行通信。
[0125] 动作记录器940能够从网络服务器932接收有关社交网络系统930上和/或社交网 络系统930外的用户动作的通信。动作记录器940利用有关有关用户动作的信息填充活动日 志942,从而能够使社交网络系统930发现其用户在社交网络系统930中和在社交网络系统 930之外所采取的各种动作。特定用户对社交网络系统930中另一节点采取的任何动作可以 通过在活动日志942中或者相似数据库中或者其他数据存储库中维护的信息而与每个用户 的账号相关联。所识别并且储存的用户在社交网络系统930内采取的行动的实例可以包括 例如增加与另一个用户的连接,将消息发送给另一个用户,从另一个用户读取消息,查看与 另一个用户相关联的内容,参加另一个用户发布的事件,发布图像,尝试发布图像,或者与 另一个用户或另一个对象交互的其他动作。当用户在社交网络系统930内采取动作时,该动 作被记录在活动日志942中。在一个实施方式中,社交网络系统930将活动日志942维护为条 目的数据库。当在社交网络系统930内采取动作时,将有关该动作的条目添加至活动日志 942。活动日志942可以被称为动作日志。
[0126] 此外,用户动作可与社交网络系统930之外的实体(诸如独立于社交网络系统930 的外部系统920)内发生的概念和动作相关联。例如,活动记录器940可以从网络服务器932 接收描述用户与外部系统920的交互的数据。在该实例中,外部系统920根据社交图谱中的 结构化的动作和对象报告用户的交互。
[0127] 用户与外部系统920交互的动作的其他实例包括用户表示对外部系统920或另一 实体感兴趣,用户将在外部系统920内讨论外部系统920或者网页922a的评论发布至社交网 络系统930,用户将统一资源定位符(URL)或者与外部系统920相关联的其他标识符发布至 社交网络系统930,用户参加与外部系统920相关联的事件,或者提供与外部系统920有关的 用户进行的任何其他动作。因此,活动日志942可包括描述社交网络系统930的用户与独立 于社交网络系统930的外部系统920之间的交互的动作。
[0128] 授权服务器944强制执行社交网络系统930中用户的一个或多个隐私设置。用户的 隐私设置确定可以分享与用户相关联的特定信息的方式。隐私设置包括与用户相关联的特 定信息的规范以及可以分享信息的一个或多个实体的规范。可与其分享信息的实体的实例 可包括其他用户、应用、外部系统920、或者可潜在访问该信息的任何实体。用户可以分享的 信息包括用户账号信息(例如,简档照片、与用户相关联的电话号码、用户的连接)、用户采 取的动作(例如,添加连接、改变用户简档信息)等。
[0129] 可以通过不同的粒度等级提供隐私设置规范。例如,隐私设置可以确定与其他用 户共享的特定信息;隐私设置可以确定工作电话号码或者相关信息的特定集合,诸如,包括 简档照片、主页电话号码、以及状态的个人信息。替换地,隐私设置可以适用于与用户相关 联的所有信息。还可以通过各种粒度等级规定可以访问特定信息的这组实体的规范。可以 分享信息的各种组的实体可以包括(例如)用户的所有好友、好友的所有好友、所有应用或 者所有外部系统920。一个实施方式允许这组实体的规范包括实体的枚举。例如,用户可提 供允许访问特定信息的外部系统920的列表。另一个实施方式允许规范包括一组实体以及 不允许访问信息的异常。例如,用户可允许所有外部系统920访问用户的工作信息,但是规 定不允许访问该工作信息的外部系统920的列表。某些实施方式将不被允许访问某些信息 的例外的列表称为"黑名单"。阻止属于由用户规定的黑名单的外部系统920访问在隐私设 置中规定的信息。能够具有信息的规范的粒度以及分享信息的实体的规范的粒度的各种组 合。例如,所有的个人信息可以与好友分享,而所有工作信息可以与好友的好友分享。
[0130] 授权服务器944包括逻辑以确定用户的好友、外部系统920、和/或其他应用和实体 是否能够访问与用户相关联的某些信息。外部系统920需要授权服务器944的授权以访问用 户的更多私人的和敏感的信息,诸如用户的工作电话号码。授权服务器944基于用户的隐私 设置来确定是否允许另一用户、外部系统920、应用、或另一实体访问与该用户相关联的信 息,包括有关用户采取的动作的信息。
[0131] 社交网络系统930可包括面部表示模块946。在一些实施方式中,面部表示传递模 块946可实现为图1的面部表示模块102。根据本公开的实施方式,面部表示传递模块946可 被配置为通过采用深度神经网络对准面部图像、对面部图像进行分类、和/或验证面部图 像。
[0132] 硬件实现方式
[0133] 前述处理和特征可以由很多机器和计算机系统架构并且在很多网络和计算环境 中实现。图10示出了根据本发明的实施方式的可用于实现在本文中描述的一个或多个实施 方式的计算机系统1000的实例。计算机系统1000包括使得计算机系统1000执行本文中讨论 的过程和特征的一系列指令。计算机系统1000可以连接(例如,联网)至其他机器。在网络部 署中,计算机系统1000可运行在服务器-客户端网络环境中的服务器机器或客户端机器的 能力范围内,或作为对等机器运行在对等(或分布式)网络环境中。在本发明的实施方式中, 计算机系统1000可以是社交网络系统1030、用户设备910、以及外部系统1020、或者它的部 件。在本发明的实施方式中,计算机系统1000可以是在构成所有或一部分社交网络系统 1030的多个服务器中的一个服务器。
[0134] 计算机系统1000包括处理器1002、缓存1004以及一个或多个可执行的模块和驱动 器,其储存在计算机可读介质上,针对在本文中描述的过程和特征。此外,计算机系统1000 包括高性能输入/输出(I/O)总线1006和标准I/O总线1008。主桥1010使处理器1002与高性 能I/O总线1006耦接,而I/O总线桥1012使这两个总线1006和1008彼此耦接。系统存储器 1014和一个或多个网络接口 1016耦接至高性能I/O总线1006。计算机系统1000可进一步包 括视频存储器和耦接至视频存储器(未示出)的显示设备。大容量存储器1018和I/O端口 1020耦接到标准I/O总线1008。计算机系统1000可以可选地包括键盘和点控设备、显示设 备、或耦接至标准I/O总线1008的其他输入/输出设备(未显示)。这些部件共同旨在表示广 泛类别的计算机硬件系统,包括但不限于基于由位于加利福尼亚圣克拉拉的Intel公司制 造的x86兼容的处理器以及由位于加利福尼亚Sunnyvale的Advanced Micro Devices (AMD) 公司制造的x86兼容的处理器以及任何其他合适的处理器的计算机系统。
[0135] 操作系统管理和控制计算机系统1000的操作,包括至软件应用的数据的输入和来 自软件应用的数据的输出(未示出)。操作系统提供在系统上执行的软件应用与系统的硬件 组件之间提供接口。可以使用任意合适的操作系统,诸如,可从加利福利亚的Cupertino的 苹果计算机公司获得的LIN U X操作系统、苹果麦金塔计算机操作系统、U NIX操作系统、 MicT〇soft?Windows?操作系统、BSD操作系统等。能够具有其他实现方式。
[0136] 下面将更为详细地描述计算机系统1000的元件。具体地,网络接口 1016提供计算 机系统1000和任何大范围网络之间的通信,如以太网(例如,IEEE 802.3)网络、底板 (backplane)等。大容量存储器1018提供执行以上确定的各个计算系统实现的上述过程和 特征的数据和编程指令的永久存储器,而系统存储器1014(例如,DRAM)提供当由处理器 1002执行时的数据和编程指令的临时存储器。I/O端口 1020可以是提供可以耦接至计算机 系统1000的另外的外围设备之间的通信的一个或多个串行和/或并行通信端口。
[0137] 计算机系统1000可以包括各种系统架构,并且可以重新布置计算机系统1000的各 种部件。例如,缓存1004可以与处理器1002-起在芯片上。可替换地,缓存1004和处理器 1002可以包装在一起作为"处理器模块",处理器1002称为"处理器核心"。此外,本发明的某 些实施方式不需要也不包括所有以上部件。例如,耦接至标准I/O总线1008的外围设备可耦 接至高性能I/O总线1006。此外,在一些实施方式中,可以仅存在单个总线,计算机系统1000 的部件耦接至单个总线。而且,计算机系统1000可包括诸如额外处理器、存储设备、或存储 器的额外部件。
[0138] 通常,本文中描述的过程和特征可以实现为操作系统或具体应用程序的部分、部 件、程序、对象、模块、或称为"程序"的一系列指令。例如,一个或多个程序可以用于执行在 本文中描述的特定处理。通常,程序包括计算机系统1000中的各个存储器和存储设备中的 一个或者多个指令,该一个或者多个指令在由一个或者多个处理器读取或者执行时,使得 计算机系统1000进行操作以执行此处所描述的过程和特征。在本文中描述的处理和特征可 以在软件、固件、硬件(例如,专用集成电路)或其任何组合中实现。
[0139] 在一种实施方式中,此处所描述的过程和特征被计算机系统1000实现为独自或者 共同地在分布式计算环境中运行的一系列可执行模块。前述模块可以由硬件、储存在计算 机可读介质(或机器可读介质)上的可执行模块或这两者的组合来实现。例如,模块可以包 括由在硬件系统内的处理器(例如,处理器1002)执行的多个或一系列指令。最初,该系列指 令可被存储在存储设备上,诸如,大容量存储器1018。然而,这系列指令可以储存在任何合 适的计算机可读储存介质上。而且,这系列指令不需要储存在本地,可以通过网络接口 1016 从远程储存设备(例如,在网络上的服务器)中接收。指令从诸如大容量存储器1018等存储 设备被复制到系统存储器1014中然后被处理器1002访问和执行。在各种实现方式中,一个 或多个模块可以由在一个或多个位置中的一个处理器或多个处理器执行,例如,在平行处 理环境中的多个服务器。
[0140] 计算机可读介质的实例包括但不限于可记录类型的介质,诸如,易失性和非易失 性存储器设备;固体存储器;软盘和其他活动磁盘;硬盘驱动器;磁性介质;光盘(例如,光盘 只读存储器(CD R0M)、数字多用途磁盘(DVD));其他类似的非暂时性(或暂时性)、有形的 (或者非有形的)存储介质;或者任何类型的的介质,这些介质适合于存储、编码或承载使计 算机系统1000执行本文中公开的任何一个或多个处理和特征的一系列指令。
[0141] 为了解释的目的,陈述了多个具体细节,以便提供说明书的彻底理解。然而,对于 本领域的技术人员,显然可以实践本公开的实施方式,无需这些具体细节。在某些情况下, 通过方框图的形式显示模块、结构、处理、特征以及装置,以免说明书晦涩难懂。在其他情况 下,功能方框图和流程图显示为表示数据和逻辑流程。可以通过除了在本文中明确描述和 描绘的方式以外的方式不同地组合、分开、去除、重新排列以及更换方框图和流程图的部件 (例如,模块、方框、结构、装置、特征等)。
[0142] 在该说明书中参考"一个实施方式"、"实施方式"、"其他实施方式"、"一系列实施 方式"、"一些实施方式"、"各种实施方式"等意味着与实施方式有关地描述的特定特征、设 计、结构、或特性包括在本公开的至少一个实施方式中。在说明书中不同的地方出现的例如 短语"在一个实施方式中"或"在实施方式中"未必都指同一个实施方式,也不是指与其他实 施方式互相排除的分离的或可替代的实施方式。而且,无论是否明确引用"实施方式"等,都 描述了各种特征,这些特征可以不同地组合并且包含在一些实施方式中,但是还可以在其 他实施方式中不同地省略。相似地,描述的各个特征可以是一些实施方式而不是其他实施 方式的偏好或要求。
[0143] 本文中所使用的语言主要出于可读性和指导的目的而选择,并且选择其不是为了 划定或限制发明主题。因此,其目的在于,本发明的范围不受到这个详细描述的限制,而是 受到根据其在应用程序上发行的任何权利要求的限制。因此,本发明的实施方式的公开旨 在说明而非限制在以下权利要求中陈述的本发明的范围。
【主权项】
1. 一种计算机实现的方法,包括: a. 由计算系统从2D面部图像生成3D对准的面部图像;以及 b. 由所述计算系统基于所述3D对准的面部图像至深度神经网络(DNN)的提供对所述2D 面部图像的标识进行分类,所述2D面部图像的所述标识包括特征向量。2. 根据权利要求1所述的计算机实现的方法,其中,从所述2D面部图像生成所述3D对准 的面部图像包括: a. 检测所述2D面部图像的一组基准点;以及 b. 使用所述组基准点将所述2D面部图像扭曲成3D形状。3. 根据权利要求2所述的计算机实现的方法,其中,将所述2D面部图像扭曲成所述3D形 状包括: a. 将一组锚点放置在所述3D形状上,每个锚点对应于所述2D面部图像的所述组基准点 中的基准点; b. 将所述2D面部图像的所述组基准点中的每个基准点的位置背投至所述3D形状; c .将所述2D面部图像的所述组基准点中的每个基准点的位置投影至所述3D形状的正 视图;以及 d.基于所述组基准点和所述组锚点将所述2D面部图像变换成所述3D对准的面部图像。4. 根据权利要求3所述的计算机实现的方法,其中,所述2D面部图像的所述组基准点限 定一组三角形,并且将所述2D面部图像变换成所述3D对准的面部图像包括执行所述组三角 形中的每个三角形的仿射变换。5. 根据权利要求1至4中任一项所述的计算机实现的方法,进一步包括: a. 通过检测图像的第二组基准点识别所述图像的面部部分; b. 通过基于所述第二组基准点变换所述图像的所述面部部分生成所述2D面部图像; 优选地,其中,生成所述2D面部图像包括确定一组锚定位置,并且基于所述组锚定位置 扭曲所述图像的所述面部部分。6. 根据权利要求1至5中任一项所述的计算机实现的方法,其中,所述DNN包括一组层, 所述组层包括卷积池层、一组局部连接的层、以及一组完全连接的层。7. 根据权利要求6所述的计算机实现的方法,其中,所述卷积池层包括第一卷积层、最 大池层、以及第二卷积层,并且所述卷积池层被配置为提取所述3D对准的面部图像的一组 特征;和/或 其中,所述组局部连接的层中的每个局部连接的层被配置为提取所述3D对准的面部图 像的一组特征;和/或 其中,所述组完全连接的层中的每个完全连接的层被配置为确定所述3D对准的面部图 像的一组特征之间的相关性;和/或 其中,所述组完全连接的层中的完全连接的层的输出是特征向量;和/或 其中,所述DNN被配置为基于所述特征向量对所述2D面部图像进行分类,所述特征向量 包括所述3D对准的面部图像的一组特征,该组特征中的每个特征标准化至预定范围。8. 根据权利要求1至7中任一项所述的计算机实现的方法,其中,所述DNN被配置为针对 所述3D对准的面部图像的每一个像素限定一组滤波器。9. 根据权利要求8所述的计算机实现的方法,进一步包括训练所述DNN以用数据集限定 该组滤波器。10. 根据权利要求1至9中任一项所述的计算机实现的方法,进一步包括通过查询图像 存储中的所述2D面部图像的所述标识,识别所述2D面部图像的个体,所述图像存储包括一 组面部图像,所述组面部图像中的每个面部图像对应于个体。11. 根据权利要求1至10中任一项所述的计算机实现的方法,进一步包括: a. 对第二2D面部图像的第二标识进行分类;以及 b. 将所述标识与所述第二标识进行比较以确定所述标识和所述第二标识是否对应于 个体。12. 根据权利要求11所述的计算机实现的方法,其中,将所述标识与所述第二标识进行 比较包括确定所述标识与所述第二标识之间的加权-X 2距离。13. 根据权利要求11或12所述的计算机实现的方法,其中,所述标识包括第一组特征并 且所述第二标识包括第二组特征,并且将所述标识与所述第二标识进行比较包括: a. 确定所述第一组特征与所述第二组特征之间的一组特征差异;以及 b. 通过使用完全连接的层将所述组特征差异映射至预定值。14. 一种系统,包括: 至少一个处理器;以及 存储器,存储指令,当所述指令被所述至少一个处理器执行时,使所述系统执行根据权 利要求1至13中任一项所述的方法,优选地: a. 从2D面部图像生成3D对准的面部图像;以及 b. 基于所述3D对准的面部图像至深度神经网络(DNN)的提供对所述2D面部图像的标识 进行分类,所述2D面部图像的所述标识包括特征向量。15. -种包含指令的非暂时性计算机可读存储介质,当所述指令被计算系统的至少一 个处理器执行时,使所述系统执行根据权利要求1至13中任一项所述的方法,优选地: a. 从2D面部图像生成3D对准的面部图像;以及 b. 基于所述3D对准的面部图像至深度神经网络(DNN)的提供对所述2D面部图像的标识 进行分类,所述2D面部图像的所述标识包括特征向量。16. -种计算机实现的方法,包括: 通过计算系统从2D面部图像生成3D对准的面部图像;以及通过所述计算系统基于所述 3D对准的面部图像至深度神经网络(DNN)的提供对所述2D面部图像的标识进行分类,所述 2D面部图像的所述标识包括特征向量。17. 根据权利要求16所述的计算机实现的方法,其中,从所述2D面部图像生成所述3D对 准的面部图像包括: 检测所述2D面部图像的一组基准点;以及 使用所述组基准点将所述2D面部图像扭曲成3D形状。18. 根据权利要求17所述的计算机实现的方法,其中,将所述2D面部图像扭曲成所述3D 形状包括: 将一组锚点放置在所述3D形状上,每个锚点对应于所述2D面部图像的所述组基准点中 的基准点; 将所述2D面部图像的所述组基准点中的每个基准点的位置背投至所述3D形状; 将所述2D面部图像的所述组基准点中的每个基准点的位置投影至所述3D形状的正视 图;以及 基于所述组基准点和所述组锚点将所述2D面部图像变换成所述3D对准的面部图像。19. 根据权利要求18所述的计算机实现的方法,其中,所述2D面部图像的所述组基准点 限定一组三角形,并且将所述2D面部图像变换成所述3D对准的面部图像包括执行所述组三 角形中的每个三角形的仿射变换。20. 根据权利要求16所述的计算机实现的方法,进一步包括: 通过检测图像的第二组基准点识别所述图像的面部部分; 通过基于所述第二组基准点变换所述图像的所述面部部分生成所述2D面部图像。21. 根据权利要求20所述的计算机实现的方法,其中,生成所述2D面部图像包括确定一 组锚定位置,并且基于所述组锚定位置扭曲所述图像的所述面部部分。22. 根据权利要求16所述的计算机实现的方法,其中,所述DNN包括一组层,所述组层包 括卷积池层、一组局部连接的层、以及一组完全连接的层。23. 根据权利要求22所述的计算机实现的方法,其中,所述卷积池层包括第一卷积层、 最大池层、以及第二卷积层,并且所述卷积池层被配置为提取所述3D对准的面部图像的一 组特征。24. 根据权利要求22所述的计算机实现的方法,其中,所述组局部连接的层中的每个局 部连接的层被配置为提取所述3D对准的面部图像的一组特征。25. 根据权利要求22所述的计算机实现的方法,其中,所述组完全连接的层中的每个完 全连接的层被配置为确定所述3D对准的面部图像的一组特征之间的相关性。26. 根据权利要求22所述的计算机实现的方法,其中,所述组完全连接的层中的完全连 接的层的输出是特征向量。27. 根据权利要求22所述的计算机实现的方法,其中,所述DNN被配置为基于所述特征 向量对所述2D面部图像进行分类,所述特征向量包括所述3D对准的面部图像的一组特征, 所述组特征中的每个特征标准化至预定范围。28. 根据权利要求16所述的计算机实现的方法,其中,所述DNN被配置为针对所述3D对 准的面部图像的每一个像素限定一组滤波器。29. 根据权利要求28所述的计算机实现的方法,进一步包括训练所述DNN以用数据集限 定该组滤波器。30. 根据权利要求16所述的计算机实现的方法,进一步包括通过查询图像存储中的所 述2D面部图像的所述标识,识别所述2D面部图像的个体,所述图像存储包括一组面部图像, 所述组面部图像中的每个面部图像对应于个体。31. 根据权利要求16所述的计算机实现的方法,进一步包括: 对第二2D面部图像的第二标识进行分类;以及 将所述标识与所述第二标识进行比较以确定所述标识和所述第二标识是否对应于个 体。32. 根据权利要求31所述的计算机实现的方法,其中,将所述标识与所述第二标识进行 比较包括确定所述标识与所述第二标识之间的加权距离-X 2。33. 根据权利要求31所述的计算机实现的方法,其中,所述标识包括第一组特征并且所 述第二标识包括第二组特征,并且将所述标识与所述第二标识进行比较包括: 确定所述第一组特征与所述第二组特征之间的一组特征差异;以及 通过使用完全连接的层将所述组特征差异映射至预定值。34. 一种系统,包括: 至少一个处理器;以及 存储器,存储指令,当所述指令被所述至少一个处理器执行时,使得所述系统执行: 从2D面部图像生成3D对准的面部图像;以及 基于所述3D对准的面部图像至深度神经网络(DNN)的提供对所述2D面部图像的标识进 行分类,所述2D面部图像的所述标识包括特征向量。35. -种包括指令的非暂时性计算机可读存储介质,所述指令在被计算系统的至少一 个处理器执行时,使得所述计算系统进行: 从2D面部图像生成3D对准的面部图像;以及 基于所述3D对准的面部图像至深度神经网络(DNN)的提供对所述2D面部图像的标识进 行分类,所述2D面部图像的所述标识包括特征向量。
【文档编号】G06T15/00GK105874474SQ201480072136
【公开日】2016年8月17日
【申请日】2014年11月3日
【发明人】亚尼瓦·泰曼, 杨明, 马克奥雷利奥·兰扎托
【申请人】脸谱公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1