图1(图片来源:ProStockStudio/Shutterstock.com)
与其他识别技术如虹膜识别、指纹识别等相比,以摄像头为基础的智能识别系统具有较大优势。首先,摄像头可以实现非接触采集信息,不易引起被监测者的注意和抵触。第二,指纹等生物特征的采集需要高精度的采集设备和相对严苛的采集条件,而摄像头的采集方式更加快捷便利。第三,摄像头可以很容易地进行网络化扩展,从而与大数据等技术相结合,更容易结合多维度信息进行更高精度的识别。
后续的一些研究也立足于特征和分类器两个方面。在特征方面,现在的安保系统倾向于使用一些相对复杂的特征替代Haar特征,一方面可以提高系统的检测率,另一方面可以更好地解决非正面脸部带来的检测失败问题。在分类器方面,非极大值抑制(NMS,Non-Maximum Suppression)方法可以组合位置和大小相近的候选框,从而大规模地减少候选框的数量;深度神经网络可以利用显卡来进行大部分运算,极大提升运算速度。
图2(图片来源:Sp3n/Shutterstock.com)
由于标准的人脸可以让人脸识别等算法的结果更加稳定,因此一个关键步骤就是将不同角度、不同分辨率的人脸经过算法匹配到标准的位置,这就是人脸配准(Facial Alignment)。从这个角度上说,所有人的脸都可以看做是标准人脸经过仿射变换(缩放、旋转、平移)之后的结果,而人脸配准算法的目标就是根据人脸的特征点还原这个变换过程。
计算机科学家首先定义了人脸的68个特征点,可以勾勒出人脸的主要特征。一个经典的算法思路就是让计算机学习标准的人脸图像在这些特征点上是如何一步一步变换成真实图像的。它通过训练级联的回归器,让每一个回归器都学习一部分变换的信息,从而在真实人脸图像上找到了标准人脸图像的映射。
人脸的属性包括性别、种族、年龄、表情等,对于这些属性的精准区分可以更好地判断当前人物的喜好和心理状态等。如果完成了人脸的检测和配准,人脸属性识别相对简单,其实质就是一个在大数据帮助下的图片分类和回归问题。
2015年,微软开发了一款预测年龄的应用(how-old.net),根据用户上传的图片给出图中人物年龄的预测。在这个系统中,人脸先被圈出,然后提取出的特征向量会经过分类器给出性别的标签,再经过年龄的回归分析器得到相应的年龄数字。如果利用深度神经网络,特征提取和分类回归就可以集成在一个算法中,同时实现多个属性的实时预测。类似地,对人脸表情也可以实现相应的分类和回归,这可以用在一些智能家居和安保系统的控制系统中,遇到危险时,可能仅仅眨眨眼就可以把报警信息传递出去。
基于上述算法,就可以判断两张图片是否是同一个人,这就是人脸验证。推而广之,对于输入的任意一张人脸图像,计算机可以从数据库中匹配到相关人员,并输出其身份信息和属性信息,这个过程就是人脸识别。
由于要进行输入图片和数据库内大量图片的对比,算法的速度对用户的体验至关重要。一个解决的方案就是从图片中提取特征。一个方法是主成分分析 (Principal Component Analysis),也就是从检测出来的人脸选框中获得其特异性特征,然后通过相关性分析获得最一致的人员信息。另一个重要的特征是SIFT(Scale-Invariant Feature Transform,即尺度不变特征变换),即使图像有旋转、尺度变化甚至分辨率的变化或者使用不同的相机,都可以从图像中匹配特征点,准确率很高。
人脸在不同光照、不同媒介中的样子是不同的,直接的特征提取方法可能无法满足所有人脸识别场景的需求,因此就需要把人脸的特征跟光照等信息完成去耦合。经典算法LBP(Local Binary Patterns,即局部二值模式)所做的就是去掉光照信息。在LBP算法中,每一个像素会跟相邻像素作比较,然后保留整张图片中像素之间的大小关系,但去掉了其具体的数值。这样一来面部特征仍然得到保留,但光照或纹理造成的像素值偏移就会被去掉。近几年发展的去耦合表示法(Disentangled Representation)使用了类似的想法,把深度神经网络提取出来的人脸特征分成形状(Shape)和外观(Appearance)两部分,可以更好地保留人脸图像的特征,提升了识别准确率。
图3(图片来源:Helloabc/Shutterstock.com)
近年来深度学习算法在行为识别中取得了很大进展。由香港中文大学的计算机科学家提出的TSN(Temporal Segment Network)算法提高了行为识别的水平。在TSN算法中,原始的视频和其光流图像被同时用来训练深度神经网络,这使得同一个模型同时编码了外观信息和动态信息。另外,同一个视频被随机采样成多种组合,使同一动作的不同速度也都可以被识别。除了以TSN为代表的算法之外,新加坡南洋理工大学还标记了大型的行为识别数据库NTU RGB+D,其中包含一些医院和养老院中常见的动作(比如坐下、躺下、跌倒等)。用这些算法和数据训练出来的行为识别系统可以很好地进行重点人员、重点地区的监控。
深度学习算法依然起着重要作用,因为它可以通过输入大量数据,让深度神经网络自动提取特征并分配不同的权重给不同的特征,并训练多个分类器从不同维度进行判断。具体来说,身份识别的算法会综合考虑几个目标,包括外观分类(衣着、背包、挂饰等)、体态分类(男女、身高等)、部件分类 (手臂、腿、躯干等),最终的识别结果是多个分类器的加权综合。近年来,为了同时扩大不同个体的区别和减小同一个体不同场景下的区别,三样本损失函数(Triplet loss)被引入深度学习算法中,对一组三个样本进行训练和区分,获得了不错的效果。
人脸识别中,脸部会经常被眼镜、墨镜、口罩等遮盖;行为识别和身份识别中,也存在肢体被遮盖的情况,这些都给算法带来不小的考验。虽然一些光照问题可以通过解耦算法部分解决,但是一些特殊需求如黑暗条件、分辨率不同的摄像头等,仍然会影响算法精度。另外,长相相似的人脸、穿着和动作相似的人物、随着时间改变而造成人脸和动作特征的变化,都会造成识别的不准确。
其他算法也在不断升级,给现有的识别技术带来新的挑战。比如近年来的生成对抗网络已经可以生成真假难辨的人脸图像,甚至自动换脸的视频也已经司空见惯。这些生成的人脸甚至可以通过现有的人脸识别系统。另外,最近的一篇论文指出,如果对身份识别系统加入一个干扰,算法的身份匹配结果与真实结果之间可能南辕北辙,不法分子甚至可以通过干扰算法来逃过摄像头的追踪。
由此可见,新算法的提出仍然是实现智慧社区智能安保系统的基础。除了提高现有算法的鲁棒性,对大规模数据的处理能力,还需要逐步引入新型的数据和算法保护机制,来应对新的挑战和需求。计算机科学家也一直在试图攻克这些困难。基于稀疏表达的人脸识别系统可以很好地识别不同遮盖条件下的人脸,从而提高人脸识别算法对特殊环境数据的处理能力。在训练识别算法的同时,引入生成对抗网络和迁移学习等学习机制,在部署的时候利用容器技术和联邦学习,不仅可以让算法完成识别的任务,还可以让算法分辨数据来源以及恶意攻击,从而更好地保护数据和算法。在未来,随着算法在这些方面的不断迭代,更先进的自动识别技术会成为智慧社区和智慧城市不可或缺的组成部分。
作者:王东昂
该发布文章为独家原创文章,转载请注明来源。对于未经许可的复制和不符合要求的转载我们将保留依法追究法律责任的权利。
贸泽电子设计圈由贸泽电子(Mouser Electronics)开发和运营,服务全球广大电子设计群体。贸泽电子原厂授权分销超过1,100家知名品牌,可订购500多万种在线产品,为客户提供一站式采购平台,欢迎关注我们,获取第一手的设计与产业资讯信息!