基于人脸识别的智能公交支付系统的设计与实现

2023-11-06 11:04:20蔡媛胡年一孙勇强吕学伟
电脑知识与技术 2023年27期
关键词:人脸识别人脸卷积

蔡媛,胡年一,孙勇强,吕学伟

(淮阴师范学院,江苏 淮安 223001)

0 引言

传统的公交支付方式主要投币、刷卡、手机支付等,这些支付方式在支付过程有很大缺陷。例如投币要求乘客事先准备好零钱,而且在高峰期存在司机不能完全顾及乘客是否全部投币成功,刷卡支付和手机支付存在着忘记带卡、手机欠费、手机没电等问题。而且不管是现金、公交卡、手机,寻找这些实物可能会花费较多的时间,从而影响支付速度,在上下班的高峰期这个问题变得尤为突出。这些都会给出行带来不便,甚至造成无法乘车的尴尬局面。因此如何设计一个高效、方便的公交支付系统成为目前迫切需要解决的问题。人脸识别技术是目前流行的一种技术,目前被主要用于身份识别,其优点是通过人脸信息就可以确定身份,将其应用公交支付领域就可以摆脱需要借助实物来完成支付的问题,并可以提高支付速度,解决传统支付方式中存在的问题。

近年来,卷积神经网络是一种流行的人工智能技术,其主要与卷积层和池化层相关联,人工神经元可以响应周围的单元,从而可以从事大规模的图像处理工作。卷积神经网络有3个级别,包括卷积一维神经网络、二维卷积神经网络和三维卷积神经网络。每个级别负责各种工作主题,包括一维数据处理。对于二维,其主要功能是识别图像文本。最后,从三维角度来看,其主要功能是医学、视频数据识别、自然语言处理等领域[1-2]。

利用卷积神经网络的人脸识别技术,结合当前流行的Python 语言和penev、Keras 来开发人脸识别系统,将让人脸识别更智能,并且基于卷积神经网络还可以对人脸识别数据进行专业化的人脸识别AI 系统训练,提高人脸识别效果和准确性[3-4]。

1 基于VGG16模型的图像识别方法

1.1 概述

VGG16是一个深度卷积神经网络架构,由多个卷积层和池化层交替堆叠而成,最后使用全连接层进行分类。因其网络结构的简单性和易实现性被广泛应用于图像分类的视觉任务中。VGG16 神经网络基本结构如图1所示。

图1 VGG16神经网络基本结构

图2 计算余弦相似性公式

图1中,224×224×3的彩色图表示3通道的长和宽都为224的图像数据,也是网络的输入层(彩色图像有RGB 三个颜色通道,分别是红、绿、蓝三个通道,这三个通道的像素可以用二维数组来表示,其中像素值由0到255的数字来表示。)

1.1.1 卷积计算

1)输入图像尺寸为224×224×3,经64 个通道为3的3×3 的卷积核,步长为1,padding=same 填充,卷积两次,再经ReLU 激活,输出的尺寸大小为224×224×64。

2)经max pooling(最大化池化),滤波器为2×2,步长为2,图像尺寸减半,池化后的尺寸变为112×112×64。

3)经128 个3×3 的卷积核,两次卷积,ReLU 激活,尺寸变为112×112×128。

4)max pooling池化,尺寸变为56×56×128。

5)经256 个3×3 的卷积核,三次卷积,ReLU 激活,尺寸变为56×56×256。

6)max pooling池化,尺寸变为28×28×256。

7)经512 个3×3 的卷积核,三次卷积,ReLU 激活,尺寸变为28×28×512。

8)max pooling池化,尺寸变为14×14×512。

9)经512 个3×3 的卷积核,三次卷积,ReLU,尺寸变为14×14×512。

10)max pooling池化,尺寸变为7×7×512。

11)然后Flatten(),将数据拉平成向量,变成一维51 277=25 088。

12)再经过一层7×7×4096,一层1×1×4096,一层1×1×2622的全连接层(共三层),经ReLU激活。

13)最后通过softmax输出2622个预测结果。

1.1.2 权重参数

尽管VGG16的结构简单,但是所包含的权重数目却很大,达到了惊人的139、357、544 个参数。这些参数包括卷积核权重和全连接层权重。

本训练模型计算全连接层的权重参数数目的方法为:前一层节点数×本层的节点数。因此,本系统训练模型全连接层的参数分别为:

7×7×512×4 096=102 760 448

4 096×4 096=166 777 216

4 096×2 622=10 739 712

1.2 计算图像相似度

在图像分类中应用余弦相似度算法的关键在于:把图像看作向量,计算这些代表每个图像特征的向量的内积空间的夹角余弦值,从而度量图像之间的相似性[5]。

以二维空间为例,两个向量,a和b,我们需要计算它们的角度θ。假设向量[x1,y1]和向量是b[x2,y2],数学家已经证明这种余弦计算方法也适用于三维向量[5]。假设A和B是三维向量,A[A1,A2,...,An]和B[B1,B2,...,Bn],则A和B之间的余弦角θ 为:

把图像看作向量,通过余弦公式计算图像向量余弦值,从而确定图像的相似程度,进而判断图像是否为同一幅图像。

2 系统设计

2.1 系统功能设计

人脸识别公交支付系统是利用基于卷积神经网络的人脸识别技术来获取人脸信息作为乘客的身份标识,以此标识为依据来完成费用支付,为了达到这个目的,系统的功能模块有:人脸识别模块、个人信息管理模块、费用信息管理模块、统计分析模块等。

1)人脸识别模块主要用于实现人脸识别,提取人脸的数字化信息,并将其存入数据库。

2)个人信息管理模块主要是对个人信息进行增、删、改、查操作,如人脸信息、身份信息等。

3)费用管理模块主要完成对用户和公司费用的管理,如用户费用余额、用户费用的明细等。

系统的功能模块图如图3所示。

图3 功能设计图

2.2 系统工作流程

1)拍摄面部图像:当乘客接近公交车前门并将头对准面部设备的前部时,摄像头会自动拍摄面部图像。

2)获取图像信息:乘客确认上传后,系统进行处理,并传输图像进行相似度的比较。

3)后台扣款操作:传输人脸信息数据到后台,需要判断信息中的年龄,如果年龄大于等于60岁,则无须扣款。如果年龄小于60岁,则进行扣款操作。

4)确认付款信息:后台将相关结果传输到前端设备,前端设备接收信息并将信息显示到客户端,并且提醒支付成功。

流程图如图4所示:

图4 系统流程图

2.3 后端处理

1)更新数据库人脸信息

利用SQL查询语句,把数据库表中所有数据循环读取出来,放入input_table获得行和列信息,图像保存在本地的数据库路径中,接着深度学习的特征读取器找出照片的特征向量。通过ID 判断人脸信息是否存在,不存在就需要将图像录进去。接着,判断图像的状态,如果为真,把拍摄的图像给保存下来,并将它的数据流数据保存在数据库中,并且更新数据库。

2)提取人脸特征向量

读取数据库中的数据(已有的相关数据),接着把QT 界面中的数据刷新,然后调用VGG16 人脸识别模型提取模型,接着把已有的数据库的图像特征生成底库。通过定义面部正面探测器,设置模型输入的大小,同时打开摄像头获取图像时,本系统设置10帧判断一次,隔10帧后将图像拿出来,然后对当前帧做一个人脸检测,接着将人脸检测的结果抠出来,去获取人脸脸部信息的大致数据。对人脸数据做一个预处理,然后预处理完之后,根据训练好的模型去做人脸信息特征提取。比较人脸特征有没有和数据库中图像的特征向量相似或不像,如果相似度大于0.5的话,则证明识别的人脸和底库中的人脸为同一个人。所以调用face.py中计算余弦相似度的函数,运算两个特征向量之间的距离即可。如果识别成功,人员相关信息就展示出来。

3)读取乘客身份信息

此时数据字典键值对发挥用处,人脸图像数据对应一行相应的个人信息,查询数据并进行数据更新后,支付成功后音乐响起,提示扣款成功,表示支付完成。

系统的数据交互图如图5所示。

图5 数据交互图

3 系统功能实现

3.1 系统操作主界面

1)系统感应到人,自动打开主界面,功能界面如图6所示:

图6 主界面

2)人脸信息录入功能包括用户姓名、余额、年龄、身份证输入,打开摄像头人脸进行图片获取,最后所有信息输入完成后点击上传按钮,同时并行操作的是所有管理人脸数据导入数据库底库。功能界面如图7所示:

图7 人脸信息录入界面

3)个人信息管理功能主要提供个人信息数据和人脸信息的修改。功能界面如图8所示:

图8 人脸信息管理界面

4)人脸识别支付功能的目的是摄像头识别人脸信息后,对该信息进行处理,然后以此为依据查询数据库,完成支付功能,并显示相关信息。功能界面如图9所示。

图9 人脸识别支付界面

4 结束语

本系统致力于将人脸识别技术应用于公交支付领域,利用卷积神经网络来实现人脸快速识别,开发基于人脸识别的公交支付系统。该系统以车载图像采集设备获取人脸图像信息,对该信息加密后通过移动网络传输给后台服务器,然后利用卷积神经网络16层图像识别模型对人脸图像信息进行准确、快速地识别,从而完成身份确认和账户扣款。公交人脸识别支付系统丰富了公交支付手段,提高了支付效率。

猜你喜欢
人脸识别人脸卷积
人脸识别 等
作文中学版(2022年1期)2022-04-14 08:00:34
基于3D-Winograd的快速卷积算法设计及FPGA实现
有特点的人脸
揭开人脸识别的神秘面纱
学生天地(2020年31期)2020-06-01 02:32:06
从滤波器理解卷积
电子制作(2019年11期)2019-07-04 00:34:38
三国漫——人脸解锁
动漫星空(2018年9期)2018-10-26 01:17:14
基于傅里叶域卷积表示的目标跟踪算法
基于类独立核稀疏表示的鲁棒人脸识别
计算机工程(2015年8期)2015-07-03 12:19:07
马面部与人脸相似度惊人
长得象人脸的十种动物
奇闻怪事(2014年5期)2014-05-13 21:43:01