人脸识别系统以人脸识别技术为核心,是一项新兴的生物识别技术,是当今国际科技领域攻关的高精尖技术。它广泛采用区域特征分析算法,融合了计算机图像处理技术与生物统计学原理于一体,利用计算机图像处理技术从视频中提取人像特征点,利用生物统计学的原理进行分析建立数学模型,具有广阔的发展前景。
2006年,美国已经要求和它有出入免签证协议的国家在10月26日之前必须使用结合了人脸识别的电子护照系统,到2006年底已经有50多个国家实现了这样的系统。2012年4月,铁路部门宣布车站安检区域将安装用于身份识别的高科技安检系统人脸识别系统;可以对人脸明暗侦测,自动调整动态曝光补偿,人脸追踪侦测,自动调整影像放大。
人脸识别是一个被广泛研究着的热门问题,大量的研究论文层出不穷,在一定程度上有泛滥成“灾”之嫌。
为了更好地对人脸识别研究的历史和现状进行介绍,本文将AFR的研究历史按照研究内容、技术方法等方面的特点大体划分为三个时间阶段,如表1所示。
该表格概括了人脸识别研究的发展简史及其每个历史阶段代表性的研究工作及其技术特点。
下面对三个阶段的研究进展情况作简单介绍:
第一阶段(1964年~1990年)
这一阶段人脸识别通常只是作为一个一般性的模式识别问题来研究,所采用的主要技术方案是基于人脸几何结构特征(Geometricfeature based)的方法。
这集中体现在人们对于剪影(Profile)的研究上,人们对面部剪影曲线的结构特征提取与分析方面进行了大量研究。
人工神经网络也一度曾经被研究人员用于人脸识别问题中。
较早从事AFR研究的研究人员除了布莱索(Bledsoe)外还有戈登斯泰因(Goldstein)、哈蒙(Harmon)以及金出武雄(Kanade Takeo)等。
金出武雄于1973年在京都大学完成了第一篇AFR方面的博士论文,直到现在,作为卡内基-梅隆大学(CMU)机器人研究院的一名教授,仍然是人脸识别领域的活跃人物之一。
他所在的研究组也是人脸识别领域的一支重要力量。
总体而言,这一阶段是人脸识别研究的初级阶段,非常重要的成果不是很多,也基本没有获得实际应用。
第二阶段(1991年~1997年)
这一阶段尽管时间相对短暂,但却是人脸识别研究的 期,可谓硕果累累:不但诞生了若干代表性的人脸识别算法,美国军方还组织了著名的FERET人脸识别算法测试,并出现了若干商业化运作的人脸识别系统,比如最为著名的Visionics(现为Identix)的FaceIt系统。
美国麻省理工学院(MIT)媒体实验室的特克(Turk)和潘特兰德(Pentland)提出的“特征脸”方法无疑是这一时期内最负盛名的人脸识别方法。
其后的很多人脸识别技术都或多或少与特征脸有关系,现在特征脸已经与归一化的协相关量(NormalizedCorrelation)方法一道成为人脸识别的性能测试基准算法。
这一时期的另一个重要工作是麻省理工学院人工智能实验室的布鲁内里(Brunelli)和波基奥(Poggio)于1992年左右做的一个对比实验,他们对比了基于结构特征的方法与基于模板匹配的方法的识别性能,并给出了一个比较确定的结论:模板匹配的方法优于基于特征的方法。
这一导向性的结论与特征脸共同作用,基本中止了纯粹的基于结构特征的人脸识别方法研究,并在很大程度上促进了基于表观(Appearance-based)的线性子空间建模和基于统计模式识别技术的人脸识别方法的发展,使其逐渐成为主流的人脸识别技术。
贝尔胡米尔(Belhumeur)等提出的Fisherface人脸识别方法是这一时期的另一重要成果。
该方法首先采用主成分分析(Principalponent Analysis,PCA,亦即特征脸)对图像表观特征进行降维。
在此基础上,采用线性判别分析(LinearDiscriminant Analysis, LDA)的方法变换降维后的主成分以期获得“尽量大的类间散度和尽量小的类内散度”。
该方法目前仍然是主流的人脸识别方法之一,产生了很多不同的变种,比如零空间法、子空间判别模型、增强判别模型、直接的LDA判别方法以及近期的一些基于核学习的改进策略。
麻省理工学院的马哈丹(Moghaddam)则在特征脸的基础上,提出了基于双子空间进行贝叶斯概率估计的人脸识别方法。
该方法通过“作差法”,将两幅人脸图像对的相似度计算问题转换为一个两类(类内差和类间差)分类问题,类内差和类间差数据都要首先通过主成分分析(PCA)技术进行降维,计算两个类别的类条件概率密度,最后通过贝叶斯决策(最大似然或者最大后验概率)的方法来进行人脸识别。
人脸识别中的另一种重要方法——d性图匹配技术(Elastic GraphMatching,EGM) 也是在这一阶段提出的。
其基本思想是用一个属性图来描述人脸:属性图的顶点代表面部关键特征点,其属性为相应特征点处的多分辨率、多方向局部特征——Gabor变换[12]特征,称为Jet;边的属性则为不同特征点之间的几何关系。
对任意输入人脸图像,d性图匹配通过一种优化搜索策略来定位预先定义的若干面部关键特征点,同时提取它们的Jet特征,得到输入图像的属性图。
最后通过计算其与已知人脸属性图的相似度来完成识别过程。
该方法的优点是既保留了面部的全局结构特征,也对人脸的关键局部特征进行了建模。
近来还出现了一些对该方法的扩展。
局部特征分析技术是由洛克菲勒大学(RockefellerUniversity)的艾提克(Atick)等人提出的。
LFA在本质上是一种基于统计的低维对象描述方法,与只能提取全局特征而且不能保留局部拓扑结构的PCA相比,LFA在全局PCA描述的基础上提取的特征是局部的,并能够同时保留全局拓扑信息,从而具有更佳的描述和判别能力。
LFA技术已商业化为著名的FaceIt系统,因此后期没有发表新的学术进展。
由美国国防部反毒品技术发展计划办公室资助的FERET项目无疑是该阶段内的一个至关重要的事件。
FERET项目的目标是要开发能够为安全、情报和执法部门使用的AFR技术。
该项目包括三部分内容:资助若干项人脸识别研究、创建FERET人脸图像数据库、组织FERET人脸识别性能评测。
该项目分别于1994年,1995年和1996年组织了3次人脸识别评测,几种最知名的人脸识别算法都参加了测试,极大地促进了这些算法的改进和实用化。
该测试的另一个重要贡献是给出了人脸识别的进一步发展方向:光照、姿态等非理想采集条件下的人脸识别问题逐渐成为热点的研究方向。
柔性模型(Flexible Models)——包括主动形状模型(ASM)和主动表观模型(AAM)是这一时期内在人脸建模方面的一个重要贡献。
ASM/AAM将人脸描述为2D形状和纹理两个分离的部分,分别用统计的方法进行建模(PCA),然后再进一步通过PCA将二者融合起来对人脸进行统计建模。
柔性模型具有良好的人脸合成能力,可以采用基于合成的图像分析技术来对人脸图像进行特征提取与建模。
柔性模型目前已被广泛用于人脸特征对准(FaceAlignment)和识别中,并出现了很多的改进模型。
总体而言,这一阶段的人脸识别技术发展非常迅速,所提出的算法在较理想图像采集条件、对象配合、中小规模正面人脸数据库上达到了非常好的性能,也因此出现了若干知名的人脸识别商业公司。
从技术方案上看, 2D人脸图像线性子空间判别分析、统计表观模型、统计模式识别方法是这一阶段内的主流技术。
第三阶段(1998年~现在)
FERET’96人脸识别算法评估表明:主流的人脸识别技术对光照、姿态等由于非理想采集条件或者对象不配合造成的变化鲁棒性比较差。
因此,光照、姿态问题逐渐成为研究热点。
与此同时,人脸识别的商业系统进一步发展。
为此,美国军方在FERET测试的基础上分别于2000年和2002年组织了两次商业系统评测。
基奥盖蒂斯(Gehiades)等人提出的基于光照锥 (Illumination Cones) 模型的多姿态、多光照条件人脸识别方法是这一时期的重要成果之一,他们证明了一个重要结论:同一人脸在同一视角、不同光照条件下的所有图像在图像空间中形成一个凸锥——即光照锥。
为了能够从少量未知光照条件的人脸图像中计算光照锥,他们还对传统的光度立体视觉方法进行了扩展,能够在朗博模型、凸表面和远点光源假设条件下,根据未知光照条件的7幅同一视点图像恢复物体的3D形状和表面点的表面反射系数(传统光度立体视觉能够根据给定的3幅已知光照条件的图像恢复物体表面的法向量方向),从而可以容易地合成该视角下任意光照条件的图像,完成光照锥的计算。
识别则通过计算输入图像到每个光照锥的距离来完成。
以支持向量机为代表的统计学习理论也在这一时期内被应用到了人脸识别与确认中来。
支持向量机是一个两类分类器,而人脸识别则是一个多类问题。
通常有三种策略解决这个问题,即:类内差/类间差法、一对多法(one-to-rest)和一对一法(one-to-one)。
布兰兹(Blanz)和维特(Vetter)等提出的基于3D变形(3D Morphable Model)模型的多姿态、多光照条件人脸图像分析与识别方法是这一阶段内一项开创性的工作。
该方法在本质上属于基于合成的分析技术,其主要贡献在于它在3D形状和纹理统计变形模型(类似于2D时候的AAM)的基础上,同时还采用图形学模拟的方法对图像采集过程的透视投影和光照模型参数进行建模,从而可以使得人脸形状和纹理等人脸内部属性与摄像机配置、光照情况等外部参数完全分开,更加有利于人脸图像的分析与识别。
Blanz的实验表明,该方法在CMU-PIE(多姿态、光照和表情)人脸库和FERET多姿态人脸库上都达到了相当高的识别率,证明了该方法的有效性。
2001年的国际计算机视觉大会(ICCV)上,康柏研究院的研究员维奥拉(Viola)和琼斯(Jones)展示了他们的一个基于简单矩形特征和AdaBoost的实时人脸检测系统,在CIF格式上检测准正面人脸的速度达到了每秒15帧以上。
该方法的主要贡献包括:1)用可以快速计算的简单矩形特征作为人脸图像特征;2)基于AdaBoost将大量弱分类器进行组合形成强分类器的学习方法;3)采用了级联(Cascade)技术提高检测速度。
目前,基于这种人脸/非人脸学习的策略已经能够实现准实时的多姿态人脸检测与跟踪。
这为后端的人脸识别提供了良好的基础。
沙苏哈(Shashua)等于2001年提出了一种基于商图像[13]的人脸图像识别与绘制技术。
该技术是一种基于特定对象类图像集合学习的绘制技术,能够根据训练集合中的少量不同光照的图像,合成任意输入人脸图像在各种光照条件下的合成图像。
基于此,沙苏哈等还给出了对各种光照条件不变的人脸签名(Signature)图像的定义,可以用于光照不变的人脸识别,实验表明了其有效性。
巴斯里(Basri)和雅各布(Jacobs)则利用球面谐波(Spherical Harmonics)表示光照、用卷积过程描述朗博反射的方法解析地证明了一个重要的结论:由任意远点光源获得的所有朗博反射函数的集合形成一个线性子空间。
这意味着一个凸的朗博表面物体在各种光照条件下的图像集合可以用一个低维的线性子空间来近似。
这不仅与先前的光照统计建模方法的经验实验结果相吻合,更进一步从理论上促进了线性子空间对象识别方法的发展。
而且,这使得用凸优化方法来强制光照函数非负成为可能,为光照问题的解决提供了重要思路。
FERET项目之后,涌现了若干人脸识别商业系统。
美国国防部有关部门进一步组织了针对人脸识别商业系统的评测FRVT,至今已经举办了两次:FRVT2000和FRVT2002。
这两次测试一方面对知名的人脸识别系统进行了性能比较,例如FRVT2002测试就表明Cognitec, Identix和Eyematic三个商业产品遥遥领先于其他系统,而它们之间的差别不大。
另一方面则全面总结了人脸识别技术发展的现状:较理想条件下(正面签证照),针对37437人121,589 幅图像的人脸识别(Identification)最高首选识别率为73%,人脸验证(Verification)的等错误率(EER[14])大约为6%。
FRVT测试的另一个重要贡献是还进一步指出了目前的人脸识别算法亟待解决的若干问题。
例如,FRVT2002测试就表明:目前的人脸识别商业系统的性能仍然对于室内外光照变化、姿态、时间跨度等变化条件非常敏感,大规模人脸库上的有效识别问题也很严重,这些问题都仍然需要进一步的努力。
总体而言,目前非理想成像条件下(尤其是光照和姿态)、对象不配合、大规模人脸数据库上的人脸识别问题逐渐成为研究的热点问题。
而非线性建模方法、统计学习理论、基于Boosting[15]的学习技术、基于3D模型的人脸建模与识别方法等逐渐成为备受重视的技术发展趋势。
总而言之, 人脸识别是一项既有科学研究价值,又有广泛应用前景的研究课题。
国际上大量研究人员几十年的研究取得了丰硕的研究成果,自动人脸识别技术已经在某些限定条件下得到了成功应用。
这些成果更加深了我们对于自动人脸识别这个问题的理解,尤其是对其挑战性的认识。
尽管在海量人脸数据比对速度甚至精度方面,现有的自动人脸识别系统可能已经超过了人类,但对于复杂变化条件下的一般人脸识别问题,自动人脸识别系统的鲁棒性和准确度还远不及人类。
这种差距产生的本质原因现在还不得而知,毕竟我们对于人类自身的视觉系统的认识还十分肤浅。
但从模式识别和计算机视觉等学科的角度判断,这既可能意味着我们尚未找到对面部信息进行合理采样的有效传感器(考虑单目摄像机与人类双眼系统的差别),更可能意味着我们采用了不合适的人脸建模方法(人脸的内部表示问题),还有可能意味着我们并没有认识到自动人脸识别技术所能够达到的极限精度。
但无论如何,赋予计算设备与人类似的人脸识别能力是众多该领域研究人员的梦想。
相信随着研究的继续深入,我们的认识应该能够更加准确地逼近这些问题的正确答案。
腾讯 游戏 开发精髓II
#第一部分
人工智能
第一章,基于照片的角色捏脸和个性化技术
角色的个性化已经成为现今 游戏 的一个常见需求。根据用户的照片,生成带有用户特征的 游戏 人脸将会提升用户的角色代入感和 游戏 体验。本方案设计了一个智能捏脸系统,可以根据用户上传或拍摄的人脸照片进行自动的三维人脸关键点检测,将标准的人脸根据 游戏 风格进行相应的变化,生成保持用户人脸特征且具备 游戏 风格的三维人脸模型。
第二章,强化学习在 游戏 AI 中的应用
通过利用深度强化学习,我们在竞速类、格斗对战类等品类的 游戏 上建立了快速的 游戏 AI生成管线。它只需要部分的人工参与,即可以批量地生成高质量的BOT AI。这些BOT AI在竞技水平上不仅能够比肩人类顶尖玩家,也能适配各个段位的人类玩家。与此同时,这些BOT AI在拟人性上也相比传统方法有更佳表现。
第三章,多种机器学习方法在赛车AI 中的综合应用
第三章以研发高强度的竞速赛车AI为目标,介绍遗传算法、监督学习和强化学习在赛车AI中的研究和应用。文章首先介绍利用遗传算法进行程序自动化调参解决人工调整AI参数的复杂问题,以得到能力较为不错的赛车AI参数;再采用通俗易懂的语言,介绍监督学习和强化学习训练赛车AI模型的基础知识以及落地过程中可能面临的挑战,并对它们的应用做简要分析,以便于缺少相关知识的 游戏 从业人员了解这两项技术。
第四章,数字人级别的语音驱动面部动画生成
本章论述了一种基于机器学习方法的语音驱动数字人处理框架和相关算法。与 传统的基于规则或数据驱动的Lip Sync(Lip Synchronization,唇形同步)解决方案不同,该方案分析了高保真数字人面部绑定系统的制作管线和数据特点,并从机器学习的角度对该绑定进行抽象,定义了一个语音-控制器的端到端学习框架。基于这个框架,提出了一种基于深度学习的语音驱动面部动画模型。
#第二部分
计算机图形
第五章,实时面光源渲染
随着基于物理的渲染在实时渲染领域广泛应用,面光源变得越来越重要。面光源与经典的方向光、点光源等光源的区别在于其解为一个积分式,求解方向中Linearly Transform Cosine(LTC)由于精确性、较好的性能、支持多种类型的光源成为 游戏 等实时渲染应用程序的首选方案。然而要将LTC 在移动平台的生产项目中使用仍然存在不少挑战。本章将对一系列在实践中遇到的问题展开讨论。
第六章,可定制的快速自动化全局光照和可见性烘焙器
本章提供了一个可定制的快速烘焙方案,底层提供基于Voxel(体素)的快速构建和光线追踪,上层根据需求提供若干烘焙实现。该方案具有硬件要求低、可快速迭代、全自动等优势,如《王者荣耀》的对战地图可以在几秒之内预览烘焙效果,大大提升了项目美术迭代的效率。
第七章,物质点法在动画特效中的应用
最近一段时间,高质量的动画与**中(尤其是好莱坞)开始使用一种称为物质点法(Material Point Method)的新的物理模拟技术。我们基于物质点法开发了可以用于制作对视觉细节要求较高的CG过场动画的Physion,可以充分发挥最新的GPU架构提供的强大计算力;与传统的CPU模拟器相比,计算效率提高了数百倍,在PC端绝大多数场景下可以达到实时或者准实时的速度。
第八章,高自由度捏脸的表情动画复用方案
本章所阐述的技术方案帮助 游戏 美术师高效制作捏脸控制器,赋予玩家更高的自定义形象的能力。面部表情捕捉方案可以生产高质量的表情动画美术资产。表情补偿技术将细腻的表情融入玩家捏出的特征脸。最后,通过针对移动端的表情系统性能优化和LOD 方案,使得更多的手机 游戏 玩家可以体验到这一切。
#第三部分
动画和物理
第九章,多足机甲运动控制解决方案
本章总结了一套以程序化动画为核心,结合动画序列、曲线控制及物理模拟等手段来增强表现力的解决方案。该方案不仅从根本上解决了滑步问题,还能为不同形态的机甲快速生产和迭代运动动画,使小团队在人力资源有限的情况下,依然能高效地打造高品质的机甲运动效果。
第十章,物理查询介绍及玩法应用
物理引擎的应用是 游戏 开发的重要组成部分。本章主要介绍物理引擎中的物理查询功能,同时附带相关玩法的实现方法。通过阅读本章,读者可以了解物理查询的作用和基本分类,以及3 种查询类别的算法和相关玩法实践。
第十一章,基于物理的角色翻越攀爬通用解决方案
我们开发了CP(Collison Probe,碰撞探测)系统,该系统基于物理系统的场景查询(Scene Query)功能,适用于各种不同的物理系统接口。本章介绍的算法在 游戏 《无限法则》中已经正式使用。开发中的难点主要来自对 游戏 中复杂情况的归纳和算法的复杂度控制。
#第四部分
客户端架构和技术
第十二章,跨 游戏 引擎的H5 渲染解决方案
本章介绍一种方法,通过实现一套精简版本的HTML5渲染引擎来屏蔽不同 游戏 引擎、平台的底层差异,同时保留 游戏 引擎必要的交互体验,可以采用H5 的开发方式来快速实现运营活动开发,最终做到开发和运营分离,运营部门自主开发运营活动而不依赖 游戏 发版节奏。
第十三章,大世界的场景复杂度管理方案
在相同的硬件平台下,复杂度管理方案很大程度上决定了大世界场景里填充内容的数量和质量。本方案基于控制理论中的负反馈控制系统,最终可达成:1、离线检测工具,自动分析场景各区域复杂度。2、运行时根据平台设定,智能控制场景内容的加载卸载、显示隐藏、LOD控制等。3、根据平台负载能力和当前负荷,更有效的控制运行负荷,获取平滑的fps。
第十四章,基于多级细节网格的场景动态加载
大型次世代手游在移动端极易遇到大规模场景加载导致的性能问题,Level Streaming(关卡流式加载)是用于解决大场景加载的一类技术。本章将介绍一种基于多级细节网格的Level Streaming 技术,它可以提高加载速度,降低加载内存,改善加载卡顿等性能问题。
#第五部分
服务端架构和技术
第十五章,面向 游戏 的高性能服务网格TbusppMesh
TbusppMesh 是一款腾讯自研的适合 游戏 微服务化的ServiceMesh(服务网格),提供了有状态服务一致性Hash 路由、选主、容灾等适合 游戏 业务场景的核心能力,助力 游戏 微服务化改造上云并提高CI/CD 效率。本章从数据通信、组网策略、有状态服务3 个方面介绍TbusppMesh 的技术原理和实现。
第十六章, 游戏 配置系统设计
本章主要介绍一种便捷的 游戏 配置管理方式,它实现了可视化管理、版本 历史 和回滚和一站式发布。本章在讲述 游戏 配置系统的同时,会对整个 游戏 配置从设计、生产到使用进行详细介绍,并在Github 上发布了一个Demo 实例供读者对照参考。读者可以在Github 上 探索 configmanagedemo 查看Demo 具体实现细节。
第十七章, 游戏 敏捷运营体系技术
我们提出的一套不依赖版本的敏捷运营技术DataMore及其服务体系,基于 游戏 的日志以及标准化API接口,借助于实时计算能力打造的与 游戏 解耦的运营工具链,帮助 游戏 实现敏捷快速运营。
#第六部分
管线和工具
第十八章,从照片到模型
2019 年,举世闻名的巴黎圣母院被烧毁。所幸早年已经有学者对整个巴黎圣母院进行了完整的扫描和建模,这对后续的重建工作起到了重要的指导作用。本章搭建的Photogrammetry 生产管线可以用于从普通大小物件到大地形、大型物件模型的重建,将从拍摄照片到输出可用于实时渲染的模型的整个流程智能化、自动化,以便用较少的人力、较快的速度完成大规模室外场景的3D 重建工作。这将对 游戏 制作、数字化展览、数字化记录保存 历史 文化遗产、科学研究等起到很大的帮助作用。
第十九章,一种可定制的Lua 代码编辑检测工具
Lua 语法简单、使用灵活,在 游戏 开发中十分流行。但其生态并不完善,各插件在对Lua 项目的支持上仍存在一些不足。本章遵从微软LSP(Language Server Protocol,语言服务协议),前端使用TypeScript 语言,后端使用Go 语言开发了一款跨平台Lua 工具。目前主要提供了VSCode 插件的应用LuaHelper。
第二十章,安卓平台非托管内存分析方案
安卓平台一直缺乏简单易用的非托管内存数据采集与分析工具。对于大型 游戏 项目来讲,没有合适的底层工具,内存分析就是噩梦般的存在。本章旨在通过整合安卓平台中的相关技术,提供一种易用且高效的非托管内存数据采集和数据分析解决方案。
第二十一章,过程化河流生成方法研究与应用
目前比较有特色的河流生成方法是 游戏 《地平线:黎明时分》中提出的方法,考虑了阶梯瀑布、山谷侵蚀、宽度变化等河流自然特征,能够得到比较生动的效果。本章借鉴地平线方法,在此基础上进行补充和扩展,实现一套鲁棒可控的河流生成系统。
本书获多位业界高层、行业专家力荐
腾讯公司把自己技术人才多年研发的经验积累编篡出书,无疑是对中国 游戏 技术研发的巨大贡献。
——姚勇,北京永航 科技 有限公司CTO
从业的开发人员或有兴趣在相关技术方向发展的同学能从中获得行业中较新的且已经落地的技术的第一手资料。
——王祢,Epic Games China 首席引擎工程师
——金小刚,浙江大学-腾讯 游戏 智能图形创新技术联合实验室主任
本书由鹅厂 游戏 的技术大牛出品,记录和分享了在面对技术时代变迁时,在大型在线 游戏 作品中如何应用AI 技术和场景落地的经验、教训,以及他们的思辨路径。推荐给喜欢 游戏 产业,喜欢AI 新 科技 的朋友们。
——张志东,腾讯主要创办人
我们尝试将项目中积累沉淀的前沿技术方案与全行业共享,希望能激发出更多的想象力和创意,不断丰富 游戏 技术在不同场景、产业运用的可能,共同 探索 产业契合未来的可能路径。
——马晓轶,腾讯集团高级副总裁
作为《腾讯 游戏 开发精粹》的续作,本书维度更丰富、技术更前沿,希望为读者朋友们提供更好的阅读体验。同时,期待能以本书为契机,促进 游戏 行业更多的分享交流,推动 游戏 行业良性发展,助力 游戏 人成就 游戏 梦想。
——夏琳,腾讯 游戏 副总裁、腾讯 游戏 学堂院长
《腾讯 游戏 开发精粹Ⅱ》和时下的热词Metaverse(元宇宙)遥相呼应:腾讯 游戏 在计算机图形学、动画上的实践,工业化的生产流水线,各种AI 能力和应用,大世界的C/S 架构……凡此种种,均有助于读者搭建自己的虚拟世界。
——崔晓春,腾讯 游戏 副总裁、腾讯 游戏 公共研发运营体系负责人
对于正在从事 游戏 开发或对 游戏 开发好奇的读者,本书既可以拓展知识面,又可以对照着动手实践。
——徐成龙,腾讯互动 娱乐 天美工作室群技术中心副总经理
《腾讯 游戏 开发精粹Ⅱ》是一部技术好文集锦,囊括了当前 游戏 开发所必需的多种关键技术。
——陆遥,腾讯互动 娱乐 光子工作室群技术中心助理总经理
本书由腾讯 游戏 多位资深技术专家共同编撰,涵盖了 游戏 研发各重要领域的知识,代表了腾讯 游戏 前沿的技术实践。
——朱新其,腾讯互动 娱乐 魔方工作室群魔镜工作室总经理
《腾讯 游戏 开发精粹Ⅱ》贵在实战和实践,除技术和算法外,我们更能看到这些技术和算法是如何应用到具体的项目中最终面见玩家的,是一个有实战意义的完整分享。
——安柏霖,腾讯互动 娱乐 北极光工作室群技术总监
希望本书用心编撰的内容能给予读者更多启发,我们一起知行并进,持续 探索 前沿技术对 游戏 开发的内在提升。
——沈黎,腾讯互动 娱乐 NExT Studios 负责人
k=k+1;%计数再增加1
temp(:,k)=Train_DAT(:,(a-1)5+b+c)-Train_DAT(:,(a-1)5+b);%测试数据的后列减前列
c=c+1;%计数增加1
end %循环结束
end
intra=[intra,temp];%汇总差异
end
%对intra用pca(Principal components analysis,PCA)
R = intra'intra;%构造协方差矩阵
[V,D] = eig(R); %协方差矩阵的特征值分解,得特征列向量组成的矩阵V和特征值组成主对角线的对角矩阵D
U = intraV(abs(D))^-05; %计算特征脸
%以下取特征值的前n个
for a=1:800
diag(a)=D(a,a);%取第a个特征值,组成矢量diag
end
[Diag,index]=sort(diag);%按升序排序,得Diag和原位置的索引index
for num=1:40 %%1到40个脸
s=0;
for a=800:-1:(801-num) %每个脸第800到760像素值
s=s+1;%计数增加1
Unew(:,s)=U(:,a);%获取特征脸像素
Dnew(s,s)=Diag(a);%获取特征脸的特征值
end
%用上面所得到的变换矩阵以及特征值来对训练样本和测试样本进行处理
trainNew=(Dnew)^-05Unew'Train_DAT;%对训练数据进行处理
testNew=(Dnew)^-05Unew'Test_DAT;%对测试数据进行处理
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%贝叶斯分类
C=(2pi)^(s/2)det(Dnew)^05;%计算特征脸的特征值的正态分布概率的常数部分
Miss_NUM=0;
for i=1:1:200
test=testNew(:,i);%测试值
max_P=-1e+30;%最大概率赋初值
for j=1:1:200
train=trainNew(:,j);%训练值
P=exp(-05dot(test-train,test-train))/C;%计算特征脸的特征值的正态分布概率
if P>max_P%获得最大的概率
max_P=P;%获得最大的概率
No=j;%记下第几个脸的像素
end
end
if fix((No-1)/5)~=fix((i-1)/5)
Miss_NUM=Miss_NUM+1;%求识别错误的个数
end
end
fprintf('\n');%空一行
Recognition_rate(num)=(Test_NUM-Miss_NUM)/Test_NUM;%求识别率
fprintf('Recognition_rate=%73f',Recognition_rate(num));%显示识别率
clear Unew Dnew trainNew testNew C test train;%清除内存占用
end
etime(clock,t0)%计算识别用时
以上就是关于人脸识别系统的核心是什么全部的内容,包括:人脸识别系统的核心是什么、人脸识别的发展历史是怎样的、筹备两年,60万字诚意续作《腾讯游戏开发精粹Ⅱ》发布等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)