1.2 机器视觉在人体识别中的相关应用
本节重点阐述机器视觉在人体识别领域中的相关应用,包括人脸识别、人体姿态识别以及计算视觉的小型化。
1.2.1 人脸识别
人脸识别是一种生物识别技术,描述了人脸的整体特征和轮廓,是一种通过模式识别进行身份识别的技术。
人脸识别研究开始于20世纪50年代,通过从图像或视频中检测人脸并与数据库中的人脸进行比对,找到匹配的人脸,通常用于身份识别和鉴定,是生物特征识别领域的课题。作为一种重要的生物特征识别技术,人脸识别具有直接、方便、交互性好的优点,一直被研究者所关注。人脸识别在安防、金融、支付等方面有许多实际应用,视频监控、智能支付、访问控制等都是目前机器学习和模式识别中热门的研究方向。
目前,人脸识别方法已经取得了丰硕的成果,其中需要考虑人面部表情、姿态、年龄、位置和遮盖物等因素引起的类内变化,以及光照、环境、背景等引起的类间变化。这两种变化的分布是高度复杂且非线性的,传统的基于浅层学习的人脸识别方法,对于类内和类间这两种变化的复杂分布和非线性的人脸数据进行识别,往往无法达到预期效果。深度学习模拟人类视觉感知神经系统的认知过程,能够获得更具表征力的高层特征,可以用来解决人脸识别中类内和类间变化分布的难题。
尽管人脸识别技术被广泛应用于各个领域,但拍照姿势、光照强度、表情变化、有无遮挡物以及年龄增长等均会影响人脸识别率,因此人脸识别技术仍有很多难点需要攻克。近些年,人们对人脸识别的研究领域有所偏移,逐渐偏向于表情分析研究、遮挡物图像的重构、年龄判断等。
年龄判断的应用市场越来越广,例如识别年龄的App是将人脸固定在一个方形区域中,从而判断人脸的年龄。不过年龄识别技术还不够成熟,会出现一些识别错误。售货机应用的人脸年龄识别范围相对较小,通过判断消费者是否年满十八周岁,从而实现禁止向未成年人售卖烟酒等产品。
1.2.2 人体姿态识别与估计
人体姿态识别与估计一直是机器视觉领域的热点问题,主要研究内容是让计算机从图像或视频中定位人物的关键点(也称为关节点,如肘、手腕等)。对人体动作姿态进行自动识别将带来一种全新的交互方式,通过身体语言即人体的姿态和动作来传达用户的意图,如在机场、工厂等喧闹的环境下,采用手势、动作姿态识别等人机交互技术能够提供比语音识别更加准确的信息输入。在智能监控、虚拟现实、感知用户接口以及基于内容的视频检索等领域,人体动作姿态的识别具有广泛的应用前景。
人体姿态识别与估计可以分为姿态描述和姿态识别。人体动作姿态识别算法是否有效通常取决于使用的动作姿态表示特征量,因而针对特定问题提出的动作姿态表示方法成为姿态识别研究的重要内容。
人体姿态识别与估计按维度可分为二维和三维两种:二维人体姿态估计通常使用线段或者矩形来描述人体各关节在图像上的投影位置,线段的长度和角度表示人体的二维姿态;三维人体姿态估计通常使用树模型来描述估计的姿态,各关节点的位置使用三维坐标确定。在实际应用中,目前获取的大多数图像仍是二维图像,同时三维姿态估计可以使用二维预测进行推理,所以二维姿态估计有着重要的研究价值。
自人体姿态估计的概念提出以来,国内外学者先后发表了众多研究成果。传统的姿态估计算法主要基于图结构模型。该模型将人或物体表示为多个部件的集合,这些部件之间含有空间约束,通过人工指定的特征检测组件实现关节点检测。传统方法过于依赖手工设计的模板,难以应对复杂的姿态变换。
随着深度学习技术在计算机视觉领域大放异彩,部分学者开始研究如何利用深度学习来解决人体姿态估计问题。Toshev等人利用深度卷积神经网络对人体姿态进行全局推断,提出了完全基于神经网络的模型DeepPose。
DeepPose是第一个将深度学习方法应用于人体姿态估计的模型,实现了SOTA(State Of The Arts,目前最佳)性能并击败了当时的传统模型。之后,越来越多的基于深度学习的人体姿态估计方法相继被提出。
1.2.3 计算视觉小型化
人脸识别技术是一个非常重要的身份授权技术,近年来,该技术越来越多地应用于基于ARM芯片的移动设备和嵌入式设备中,如设备解锁、应用登录、移动支付等。一些移动设备、嵌入式设备已经配置了人脸识别技术,比如智能手机解锁、高铁站入口闸机、社区人脸门禁。这些设备都必须离线运行,为了在有限的计算资源上实现更好的用户体验,人脸识别模型需要在这些设备上进行本地化部署,这对模型的精度和性能提出了更高的要求。
现在的高精度人脸识别算法模型都是基于深度神经网络实现的,一般采用的都是网络层次非常深、非常大的卷积神经网络,这种卷积神经网络对计算资源的要求非常高,并不适合在大多数的移动端和嵌入式设备上使用。
基于ARM的神经网络优化框架应运而生,腾讯的NCNN就是一个极致优化的高性能神经网络前向计算框架。NCNN使得神经网络模型能够很方便地在移动端、嵌入式设备中进行部署和使用,而且无第三方依赖,在移动终端和嵌入式设备上,CPU的计算速度快于目前所有已知的开源框架。
基于NCNN,开发者能够将MXNet、Caffe、TensorFlow等训练的神经网络模型转换成NCNN的算法模型,深度学习算法能够轻松地移植到手机端并高效执行,开发出人工智能App。NCNN目前已在腾讯多款应用中使用,如QQ、Qzone、微信、天天P图等。
小米科技开源的MACE(Mobile AI Compute Engine)也是一个优秀的移动终端神经网络优化框架,由于开源时间稍晚,MACE的应用远不如NCNN广泛。
不断涌现出来的优秀的前端神经网络优化框架也反映出了前端设备对于AI的巨大需求,深度学习在移动设备、嵌入式设备上的应用将越来越广泛,前端设备智能化是一个极其重要的趋势,自动驾驶、智能制造、智慧城市、智慧社区等都需要更多的前端设备实现一定程度的智能化。基于ARM的神经网络优化框架使得人脸识别算法能够更轻松、更流畅地在移动终端、嵌入式设备中应用,神经网络算法能够轻松地在前端设备上部署,并且大幅提升算法的执行性能。
1.2.4 意义与价值
人脸识别技术在20世纪末开始进入人们的视野。人脸识别是生物识别技术的一种形式,涉及模式识别、计算机视觉、心理学及生理学等方面的诸多技术与知识,在计算机的辅助下可实现身份识别,是基于人独有的特征进行身份验证的有效手段。人脸识别并不是一个单独的研究领域。起初,人脸识别只是被作为一般性的模式识别问题进行研究,利用的是仅仅针对人脸几何特征实现的算法。
20世纪90年代,人脸识别的相关研究开始迅猛发展,不仅建立了数个大型人脸库,而且出现了一些商业化的人脸识别系统。随着机器视觉技术和光电技术的快速发展,人们希望自己生活在一个安全的环境下,尤其重视人身安全以及财产安全。人脸识别技术及其应用已经成为人们生活中不可或缺的角色,使得人们的生活越来越便捷。
人体动作姿态识别是机器视觉研究领域中最具挑战性的研究方向,是当前的研究热点。人体姿态估计作为理解图像或视频中人物动作的基础,一直受到众多学者的关注。随着计算机技术的迅猛发展,人体姿态估计已经在动作识别、人机交互、智能安防、增强现实等领域获得了广泛的应用。
嵌入式视觉系统具有简便灵活、低成本、可靠、易于集成等特点,小型化、集成化产品将成为实现“芯片上视觉系统”的重要方向。机器视觉行业将充分利用更精致小巧的处理器,如DSP、FPGA(Field Programmable Gate Array,可编程阵列逻辑)等来建立微型视觉系统,小型化、集成化产品成为实现“芯片上视觉系统”的重要方向。这些系统可以植入任何地方,不再限于生产车间内。随着嵌入式微处理器功能增强,以及存储器集成度增加与成本降低,嵌入式视觉系统将由低端的应用覆盖到PC机架构应用领域,更多的嵌入式系统将与机器视觉整合,嵌入式视觉系统前景广阔。