作者 Wang Dongang
智慧社区的安全
当人们谈论未来的生活时,智慧社区一直是绕不开的话题。2020年5月,中国《2020年国务院政府工作报告》提出,要重点支持“两新一重” (新型基础设施建设,新型城镇化建设,交通、水利等重大工程建设),其中前两项“新基建”和“新城建”,都会把智慧社区作为一个关注点。
智慧社区包含大量新鲜技术,可以方便人们的生活。除了社区的自动售货超市,典型的应用还有家里的智能家居系统、楼下的自动停车系统。众多应用中,以社区安保系统最为关键。小到进入社区和住宅楼的门禁系统,大到整个社区的摄像头网络,智能系统可以代替保安进行身份验证、巡逻、危险预警等工作。
美剧《疑犯追踪》(Person of Interest)就描述了由高级人工智能支持和具有强大功能的安保系统。遍布在城市内的摄像头网络负责记录全方位的信息,包括身份、行为甚至人与人的关系,这些相关的信息由中央大脑进行分析,从而判断威胁甚至对潜在威胁做出预测。当然,剧中近乎上帝一般的人工智能身上存在相当多科幻色彩,但其描绘的智能安保系统如今正在慢慢变成现实。在智慧社区和智能城市中,智能安保系统是实施安全防范控制的重要技术手段,它结合了人脸识别 (Face Recognition)、行为识别 (Action Recognition)、身份识别 (Person Re-identification) 的人工智能系统。
人脸识别技术
基于计算机的人脸识别技术研究发轫于20世纪中期,最早是模式识别 (Pattern Recognition) 的一个分支,后来逐渐发展完善了人脸检测、人脸配准、人脸属性识别、人脸验证和识别等多种算法。现在这些技术已经广泛应用在日常生活中,包括手机和相机的人脸捕捉功能、上班自动人脸识别打卡,一些新型住宅小区已经加入了具有人脸识别功能的门禁系统。
人脸检测
人脸识别算法的第一步就是确定当前图像和视频中是否有人脸的存在,并且把对应的人脸范围圈定出来。2001年,Paul Viola与Michael Jones共同发明了著名的Viola-Jones目标检测方法,这是后来人脸检测算法的基础。
Viola-Jones算法包括特征和分类器两部分。算法利用了人脸的Haar特征,也就是由黑白矩形形成的、可以模拟目标的不同部分之间明暗关系的特征。这些特征可以用来寻找正面人脸上存在的一些明暗对比的区域,比如鼻梁部分比眼睛更亮、嘴巴部分一般会比其他区域更暗等等。这些特征可以匹配图像中一些候选框,再用这些候选框经过AdaBoost分类器,输出“是人脸”或“非人脸”的标记。值得指出的是,在Viola-Jones算法中,多个分类器级联形成一个集成分类器。这样的好处是逐级减少候选框的数量,提高了算法的计算速度。
后续的一些研究也立足于特征和分类器两个方面。在特征方面,现在的安保系统倾向于使用一些相对复杂的特征替代Haar特征,一方面可以提高系统的检测率,另一方面可以更好地解决非正面脸部带来的检测失败问题。在分类器方面,非极大值抑制 (NMS,Non-Maximum Suppression) 方法可以组合位置和大小相近的候选框,从而大规模地减少候选框的数量;深度神经网络可以利用显卡来进行大部分运算,极大提升运算速度。
人脸配准
由于标准的人脸可以让人脸识别等算法的结果更加稳定,因此一个关键步骤就是将不同角度、不同分辨率的人脸经过算法匹配到标准的位置,这就是人脸配准 (Facial Alignment)。从这个角度上说,所有人的脸都可以看做是标准人脸经过仿射变换 (缩放、旋转、平移) 之后的结果,而人脸配准算法的目标就是根据人脸的特征点还原这个变换过程。
计算机科学家首先定义了人脸的68个特征点,可以勾勒出人脸的主要特征。一个经典的算法思路就是让计算机学习标准的人脸图像在这些特征点上是如何一步一步变换成真实图像的。它通过训练级联的回归器,让每一个回归器都学习一部分变换的信息,从而在真实人脸图像上找到了标准人脸图像的映射。
人脸属性识别
人脸的属性包括性别、种族、年龄、表情等,对于这些属性的精准区分可以更好地判断当前人物的喜好和心理状态等。如果完成了人脸的检测和配准,人脸属性识别相对简单,其实质就是一个在大数据帮助下的图片分类和回归问题。
2015年,微软开发了一款预测年龄的应用 (how-old.net),根据用户上传的图片给出图中人物年龄的预测。在这个系统中,人脸先被圈出,然后提取出的特征向量会经过分类器给出性别的标签,再经过年龄的回归分析器得到相应的年龄数字。如果利用深度神经网络,特征提取和分类回归就可以集成在一个算法中,同时实现多个属性的实时预测。类似地,对人脸表情也可以实现相应的分类和回归,这可以用在一些智能家居和安保系统的控制系统中,遇到危险时,可能仅仅眨眨眼就可以把报警信息传递出去。
人脸验证与识别
基于上述算法,就可以判断两张图片是否是同一个人,这就是人脸验证。推而广之,对于输入的任意一张人脸图像,计算机可以从数据库中匹配到相关人员,并输出其身份信息和属性信息,这个过程就是人脸识别。
由于要进行输入图片和数据库内大量图片的对比,算法的速度对用户的体验至关重要。一个解决的方案就是从图片中提取特征。一个方法是主成分分析 (Principal Component Analysis),也就是从检测出来的人脸选框中获得其特异性特征,然后通过相关性分析获得最一致的人员信息。另一个重要的特征是SIFT (Scale-Invariant Feature Transform,即尺度不变特征变换),即使图像有旋转、尺度变化甚至分辨率的变化或者使用不同的相机,都可以从图像中匹配特征点,准确率很高。
人脸在不同光照、不同媒介中的样子是不同的,直接的特征提取方法可能无法满足所有人脸识别场景的需求,因此就需要把人脸的特征跟光照等信息完成去耦合。经典算法LBP (Local Binary Patterns,即局部二值模式) 所做的就是去掉光照信息。在LBP算法中,每一个像素会跟相邻像素作比较,然后保留整张图片中像素之间的大小关系,但去掉了其具体的数值。这样一来面部特征仍然得到保留,但光照或纹理造成的像素值偏移就会被去掉。近几年发展的去耦合表示法 (Disentangled Representation) 使用了类似的想法,把深度神经网络提取出来的人脸特征分成形状 (Shape) 和外观 (Appearance) 两部分,可以更好地保留人脸图像的特征,提升了识别准确率。
行为识别和身份识别技术
除了人脸识别技术之外,对于行为和身份的识别也是智能安保系统的重要组成部分。其中行为识别就是对视频中的人物行为进行分类,而身份识别是指从摄像头网络中发现同一个个体,进而获得其行动轨迹并判断其行进目标和可疑与否。把身份识别和行为识别相结合,可以更好地判断视频中人物的行动状态。
行为识别
最早的行为识别只是图像分类的一个分支,只不过分类的对象从图像转变为视频,分出的类别也从物品、人脸变成了动作。视频作为智能安保系统的主要存储内容,可以看做是多个图像的组合,因此图像分类的方法 (如深度学习算法等) 可以直接用于行为识别中。但是,由于行为本身具有时序性,相关的时序特征也可以用来提升准确率。光流 (Optical Flow) 就是一个适用于视频的特征,它标记了连续两帧图像之间相应的点的变化轨迹。当把连续多帧的对应点以及其周边的像素信息编码成一个特征,就形成了一个视频轨迹 (Trajectory),多个轨迹的组合就可以很好地表示行为信息。
近年来深度学习算法在行为识别中取得了很大进展。由香港中文大学的计算机科学家提出的TSN (Temporal Segment Network) 算法提高了行为识别的水平。在TSN算法中,原始的视频和其光流图像被同时用来训练深度神经网络,这使得同一个模型同时编码了外观信息和动态信息。另外,同一个视频被随机采样成多种组合,使同一动作的不同速度也都可以被识别。除了以TSN为代表的算法之外,新加坡南洋理工大学还标记了大型的行为识别数据库NTU RGB+D,其中包含一些医院和养老院中常见的动作 (比如坐下、躺下、跌倒等)。用这些算法和数据训练出来的行为识别系统可以很好地进行重点人员、重点地区的监控。
身份识别
身份识别用到的特征可以是全方位的,包括面部特征、肢体特征、姿态特征、动作特征、衣着特征等。由于摄像头的分辨率限制,面部特征的使用只能作为辅助,而较大的特征如体态、动作、衣着等会作为主要特征,其中衣着特征占有较大比重,这与人眼的识别过程是类似的。因此,身份识别算法的核心在于如何用好多种特征。
深度学习算法依然起着重要作用,因为它可以通过输入大量数据,让深度神经网络自动提取特征并分配不同的权重给不同的特征,并训练多个分类器从不同维度进行判断。具体来说,身份识别的算法会综合考虑几个目标,包括外观分类 (衣着、背包、挂饰等)、体态分类 (男女、身高等)、部件分类 (手臂、腿、躯干等),最终的识别结果是多个分类器的加权综合。近年来,为了同时扩大不同个体的区别和减小同一个体不同场景下的区别,三样本损失函数 (Triplet loss) 被引入深度学习算法中,对一组三个样本进行训练和区分,获得了不错的效果。
技术难点与展望
无论是人脸识别还是身份和行为识别,在安保系统中都具有很大的优势。首先,计算机的参与可以完成人类所无法完成的全方位24小时监督,覆盖度的增加也就提升了安保系统的安全系数。第二,强大的计算机可以快速处理海量数据,极大提高了发现安全隐患的速度。但是,尽管具有上述功能的智能摄像头已经开始在一些公共场所和社区内落地,大规模的部署还需要解决一些技术难点。
系统的鲁棒性
人脸识别中,脸部会经常被眼镜、墨镜、口罩等遮盖;行为识别和身份识别中,也存在肢体被遮盖的情况,这些都给算法带来不小的考验。虽然一些光照问题可以通过解耦算法部分解决,但是一些特殊需求如黑暗条件、分辨率不同的摄像头等,仍然会影响算法精度。另外,长相相似的人脸、穿着和动作相似的人物、随着时间改变而造成人脸和动作特征的变化,都会造成识别的不准确。
数据规模和反馈速度
2理论上,数据量越大就可以让计算机获得越全面的学习。但实际情况下,人脸、行为和身份识别的数据集均可以达到上亿量级,而只有这些数据被人工标记之后才可以被用作机器学习算法的训练。因此,仅标记这一个工作就需要大量人力的投入。另一方面,安保系统部署之后,每一秒钟计算机都需要处理海量的新数据,这会拖慢计算机的反馈速度。在安保系统中,计算机还需要从数据中提取关键的特征和信息,并综合分析这些信息得到更复杂的结果。现阶段算法还只是基于某一个具体的任务,比如人脸检测、行为识别等。未来当数据规模和算力达到一定水平之后,还需要新的算法来综合考虑多个维度的信息并快速反馈给安全管理人员。
数据和算法的安全
安保系统本身的安全性能是一个重要的评价标准。而在互联网时代,数据的安全性遭受巨大考验。由于社交媒体的普及,几乎每个人的人脸数据和身份信息都可以从网上获得。这些信息一旦与成像技术乃至3D打印技术相结合,人脸识别系统就很可能被攻破。比如,现在一些研究就集中在如何在人脸识别系统中加入真假人脸的识别,正是为了防范这样的潜在安全威胁。
其他算法也在不断升级,给现有的识别技术带来新的挑战。比如近年来的生成对抗网络已经可以生成真假难辨的人脸图像,甚至自动换脸的视频也已经司空见惯。这些生成的人脸甚至可以通过现有的人脸识别系统。另外,最近的一篇论文指出,如果对身份识别系统加入一个干扰,算法的身份匹配结果与真实结果之间可能南辕北辙,不法分子甚至可以通过干扰算法来逃过摄像头的追踪。
总结
由此可见,新算法的提出仍然是实现智慧社区智能安保系统的基础。除了提高现有算法的鲁棒性,对大规模数据的处理能力,还需要逐步引入新型的数据和算法保护机制,来应对新的挑战和需求。计算机科学家也一直在试图攻克这些困难。基于稀疏表达的人脸识别系统可以很好地识别不同遮盖条件下的人脸,从而提高人脸识别算法对特殊环境数据的处理能力。在训练识别算法的同时,引入生成对抗网络和迁移学习等学习机制,在部署的时候利用容器技术和联邦学习,不仅可以让算法完成识别的任务,还可以让算法分辨数据来源以及恶意攻击,从而更好地保护数据和算法。在未来,随着算法在这些方面的不断迭代,更先进的自动识别技术会成为智慧社区和智慧城市不可或缺的组成部分。
王东昂是悉尼大学在读博士。他的研究领域涉及了医学图像、人工智能、神经科学、视频分析等多个领域,并致力于在实际系统中应用人工智能技术。他曾在CVPR、ECCV等国际会议中发表过论文,并受邀长期为IEEE Transactions on Circuits and Systems for Video Technology、IEEE Transactions on Multimedia等学术杂志和ICML、AAAI等国际会议审稿。他在机器学习和计算机视觉领域有超过5年的开发经验,曾与中国、美国、澳大利亚的多家公司和机构合作开发项目,其中包括多角度视频中的行为识别、基于道路监控的路况预测和自动化脑CT筛查系统。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !