FPGA-based Low-Cost Real-Time Face Recognition

摘要

如今,人脸识别在监控、生物识别和安全方面发挥着核心作用。本文提出了一种基于现场可编程门阵列(FPGA)的低成本实时人脸识别体系结构。人脸识别模块从视频流接收检测到的人脸,并使用广泛使用的特征脸(也称为主成分分析(PCA)算法)处理数据。该架构是在一个低成本的Zynq-Z7010 FPGA上实现的。这个结构是一个系统的一部分,它能够根据初步定义的一组人脸在人群中找到人脸。未来可以将其集成到频繁拥挤场所(如机场、公交车站)的实时监控系统中,梳理出假定的威胁来源,从而降低可能发生的犯罪行为的风险。

1 引言

  近年来,人的自动识别成为了一个广泛研究的领域,因为入境控制和安全发挥了核心作用的行业。此外,公共场所容易发生犯罪活动,因此从频繁拥挤的场所消除威胁来源也需要识别已知的罪犯。人脸识别是一种适用于身份识别的解决方案,在监控、访问管理、执法和生物识别等领域都有广泛的应用。一般来说,需要识别的人数较少,但在汽车站、机场等地方,需要在很短的时间内识别大量的面孔。在识别过程中,需要将人的脸与数据库中的脸进行比较。因此,识别时间取决于存储的人脸的数量和大小。为了实时识别一个人,使用专门的硬件是必要的。
  Eigen-faces方法是一种广泛使用的人脸识别方法,它是指在包含人脸的数据库中使用主成分分析(PCA)。与其他人脸识别方法相比,由于特征降维,计算速度更快,实现更简单。结果表明,Eigen-faces对小的旋转、平移和尺度变化具有较好的容忍度。
  在文献中可以找到各种基于软件的人脸识别方法。[2]讨论了主成分分析在基于视觉的计算中的应用。结果表明,基于PCA的图像降维和分类具有产业化的潜力,但计算量大。[3]给出了一种新的二维主成分分析技术,其中主成分分析基于二维图像矩阵,而不是一维图像。可以得出2DPCA比simple PCA效率更高,但需要更多的内存。
在[4]中提出了一种基于模块化PCA的人脸识别算法。模块化方法在不同光照和表达条件下表现较好,但计算量增加。虽然基于软件的PCA人脸识别实现能够进行精确分类,但无法实时使用。
  现场可编程门阵列(FPGA)用来提高计算效率的硬件并行性,因此,高水平的加速是可能的。阅读基于FPGA的人脸识别的文献可以发现几种方法。在[5]中提出了一种基于PCA的便携式实时情绪检测系统,能够帮助自闭症儿童理解他人的面部情绪。
该架构采用了一种优化的特征计算和功耗紧缩迭代方法,并在Virtex-7 FPGA上实现,检测精度达到82.3%。基于FPGA的神经网络在[6]中给出了主成分分析计算。该算法在Virtex-2 FPGA上实现,该架构可以在一帧图像中识别1400个人脸,适用于实时人脸识别。在[7]中,提出了一种基于FPGA的人脸识别结构,对小波变换后的图像进行主成分分析。该架构运行在46.79 MHz的Virtex-2 Pro上,使用40个特征向量/脸,分类准确率100%。
  本文提出了一种基于FPGA的低成本人脸识别体系结构,能够利用Eigenfaces实时分类,也就是主成分分析算法。提出的人脸识别架构是自动识别系统的一部分,可以实现实时监控和威胁监控。
  论文组织如下。第二节详细描述了Eigenfaces(PCA)的数学和运算。在第三节中介绍了自动人员标识系统。在第四节中可以读出Eigenfaces的FPGA实现,第五节给出结果,第六节对本文进行总结。

2 Eigenfaces 方法

  Eigenfaces方法背后的主要思想是使用人脸图像中最相关的信息,并基于这些特征在人脸之间进行比较。利用人脸图像的变化进行比较是一种简单而有效的方法。在数学上,即人脸图像的协方差计算和基于所得协方差矩阵的特征向量计算。特征向量是共同描述人脸图像的特征,可以显示为幽灵人脸图像,称为Eigenfaces。特征向量表征了人脸图像之间的变化,因此每一张人脸都可以通过对应特征向量的线性组合来重建。特征值最大的特征向量在人脸图像之间的方差最大,因此可以从特征向量集合中张成一个子空间,称为人脸空间。因此,每一张人脸都可以用一小组的特征向量来表征,这意味着对原始图像的一种简洁有效的表达。
  Eigenfaces方法(PCA)可以分为学习和识别两个阶段,如图1所示。
在学习阶段,首先需要一组人脸图像作为训练集,然后计算训练集的特征向量,定义人脸空间。最后,通过计算每个人脸图像在人脸空间中的分布,将人脸图像投影到人脸空间中。这些步骤可以在任何需要学习新面孔的时候再次执行。学习阶段结束后,可以通过计算待识别人脸的特征向量开始识别阶段。最后需要对每个特征向量进行投影,以反映输入人脸图像与训练人脸集的相似程度。
在这里插入图片描述
图1.Eigenfaces方法示意图
  根据投影结果与人脸空间元素之间的距离判断输入是人脸还是其他物体。如果这张脸已经被识别了几次,那么就有可能学习未知的脸。

  • A.Eigenface 计算
      人脸图像I是一个包含0 - 255灰度值的二维N×N数组。在特征脸的计算中,首先需要从原始人脸图像中创建列向量。因此向量的长度是 N 2 N^2 N2。下一步是计算均值人脸,计算方法如下:
    在这里插入图片描述
    其中 Ψ Ψ Ψ是均值人脸, Γ n Γ_n Γ
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值