深度学习计算机视觉原理及其在监控系统中的应用

2021-09-15 02:18刘文清陈小惠姚程
消费电子 2021年8期
关键词:人脸识别机器损失

刘文清 陈小惠 姚程

【摘 要】随着人工智能的发展,掌握深度学习计算机视觉技术的优势不言而喻。本文以多层感知机的构造为起点,分析了深度学习的计算机视觉原理,利用当前流行的深度学习技术框架搭建一个具有计算机视觉的人脸识别原型系统,用于数据中心机房监控管理,常规的信息系统被注入了人工智能的新元素,本文为同类型的人工智能系统的研发提供了参考。

【关键词】人工智能;人脸识别;深度学习;机器视觉

一、深度学习计算机视觉的理论基础

在经典的程序设计中,程序员只要在程序中嵌入足够多的明确规则,人们输入数据,系统就能得出正确的答案。[1]事实上,这对于解决定义明确的逻辑问题可能适用,但对于难以给出明确规则,如:图像分类、语音识别等更加模糊、复杂的问题,实践的效果却不佳。直到2012年,随着AlexNet人工神经网络诞生,一种新的方法——机器学习才在视觉、听觉等方面取得革命性的进展。深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术,具有划时代的意义。

(一)多层感知机

作为神经网络的起源,了解感知机的构造是通向神经网络和深度学习的一种途径。感知机是由美国学者在1957年提出来的。感知机接收多个输入信号,输出一个信号。使用单层感知机可以实现与门,或门,与非门三种逻辑电路,然而单层感知机却做不了异或门。

单层感知机留有遗憾,做不了异或门。但通过两层感知机组合叠加,却可以轻松将异或门实现。可见,通过增加层,双层感知机可以表示单层感知机无法表示的东西;使用多层感知机可以实现更为复杂的电路,理论上,甚至可以实现计算机。这也为后来的“深度学习”带来了一些启发。

(二)人工神经网络

人工神经网络(ANN),是20世纪80年代以来人工智能领域的研究热点。它与多层感知机有很多共同点,都是由大量的节点相互联接构成。如果用图来简要表示的话,一般可分为三个层:输入层、隐藏层、输出层。

如图1所示,用○表示神经元,用箭头表示它们之间的连接。箭头上有“权重”,权重和对应的神经元的值分别相乘,其和作为下一个神经元的输入。为了充分拟合输出特性,通常会另外加上一个常数进行修正,称作“偏置”。一个全连接神经网络模型即搭建完成。

为了使神经网络能进行学习,专家们引入了损失函数概念。[2][3][4]损失函数是衡量神经网络预测结果好坏的基本标志。它的基本思想是:计算预测值与实际标志的差值,差值大则表示预测值与真实值的误差大;差值小则会使损失渐进至局部最小值,从而使预测值逼近于真实值。为了找到使损失值尽可能小的地方,需要对网络参数求导,然后以这个导数为指引,迭代更新参数的值,直到损失值降至最小。经过专家们的研究设计,对于分类问题,需要使用交叉熵损失函数,对于回归问题,需要使用均方差损失函数。

(三)卷积神经网

卷积神经网络(CNN)是人工神经网络向“深度”学习演进的代表算法之一,现已被广泛用于图像识别等各种场合,有着无可比拟的独特优势。以图像识别为例:在数字图像处理中有一种最为基本的处理方法,即线性滤波。卷积神经网络的原理与此类似,它使用的滤波工具是另一个小型矩阵,专家们称之为卷积核。如果将待处理的图像看作一个大型矩阵,图像中的每个像素可以看作矩阵中的每个元素,使用卷积核对全图进行扫描,就好比使用某种局部特征图来对全图进行检测。

(四)计算机视觉

计算机视觉是一门研究如何使机器“看”的科学,也就是指如何用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等的机器视觉。具体来说,就是模拟动物神经细胞的神经元聚集起来形成网络,然后让这个网络去观察大量的图片,进行“自学习”。神经网络运用的数学理论其实非常简单,基本上是比较基础的数学知识。特别是利用这种具有多层结构的卷积神经网络,甚至可以从图片和视频中识别出数字、猫、狗、脸孔、指纹、文字等。如果能将其与常规的业务应用系统集成,即可提供一些具有AI增值功能(如人臉识别、人脸比对等)的服务。

二、项目实战

针对机器视觉的目标检测,总体可以分为两大类。一类是传统的基于统计学习分类器的方法,另一类是基于深度学习的检测方法。

Keras是一个由Python编写的开源深度学习框架,可进行深度学习模型的设计、开发。AlexNet作为一种经典的卷积神经网络,利用Kears实现起来很方便。我们可以将网络模型与损失函数法相结合,在经过模型搭建和图片预处理后,可以对模型进行训练。训练的过程中,通过函数回调的方式来记录每一个迭代训练好的模型。迭代的次数越多,优选出的模型效果会更好。基于深度学习的机器视觉,可以实现图像的分类和人脸的识别,通过将训练好的模型发布成WEB服务,生产活动中其他应用程序就可以进行一些AI功能的WEB服务调用。

对于中小企业来说,完全依靠自己的力量搭建深度学习计算机视觉平台存在技术难度大、运维困难等问题。目前基于AI开放平台或私有化部署进行计算机视觉增值开发已变得越来越简单。市场上开放的AI平台已有很多,如:腾讯、阿里、百度、华为等,也均有相应的私有化模块发布。

笔者利用深度学习计算机视觉技术原理、AI开放平台、人脸识别私有化部署、Java、MySql等技术,开发了一款提升机房监控安全水平的辅助小程序,实现了系统人脸识别登录、多人识别、用户拍照截图、人脸识别标识并跟踪、人员到访记录查询等功能。该软件可应用于数据中心机房、变电站、通信站、数据仓等对多人身份鉴别监控的应用场景。项目的实施,通过基于人脸识别技术进行人员身份鉴别和安全事件追溯等功能的创新,极大地提高了数据中心机房监控管理的效率,有效地改善了安全生产运行环境,提升了安全管理水平。

现在基于深度学习的机器听觉,也已取得了突破性的成果。接近人类水平的语音识别,更好的文本到语音转换,能够回答用自然语言提出的问题等,必将进一步丰富我们的软件开发手段,提高应用系统的智能化水平。

参考文献:

[1][日]斋藤康毅,陆宇杰译.深度学习入门-基于Python的理论与实现[M].北京:人民邮电出版社,2018.

[2]王天庆.Python人脸识别从入门到工程实践[M].北京:机械工业出版社,2019.

[3][日]涌井良幸,涌井贞美著,杨瑞龙译.深度学习的数学[M].北京:人民邮电出版社 2019.

[4][美]伊恩·古德费洛,[加]约书亚·本吉奥 [加]亚伦·库维尔著.深度学习[M].北京:人民邮电出版社,2019.

猜你喜欢
人脸识别机器损失
机器狗
人脸识别 等
机器狗
胖胖损失了多少元
揭开人脸识别的神秘面纱
玉米抽穗前倒伏怎么办?怎么减少损失?
未来机器城
一般自由碰撞的最大动能损失
基于类独立核稀疏表示的鲁棒人脸识别
损失