当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于HMM的嵌入式人脸识别系统研究

摘要:系统选用S3C2410A处理器作为硬件平台,Linux操作系统作为软件平台,采用OV7640+OV511的结构实现图像信息采集,使用基于V4L的方法编写图像处理、检测和识别程序,实现了快速、准确识别人脸的功能;并对相关浮点算法进行了改进,极大地提高了ARM处理器上图像预处理的速度。采用基于隐马尔可夫模型(HMM)的方法,简化了人脸检测和识别的过程。
关键词:嵌入式系统;HMM;ARM;人脸识别

0 引言
    嵌入式人脸识别系统与传统鉴别身份的系统相比具有很强的优势,无需特殊的采集设备,成本低廉,使用简单;同时,人脸识别不干扰使用者,不侵犯使用者的隐私,属于非侵犯的主动识别,易于为用户所接受。
    本文以嵌入式ARM9系统开发为主线,以HMM模型为理论基础,展示了完成图像采集、人脸检测与识别等功能相对应的硬件平台和软件模块的设计及实现过程;并对图像预处理的浮点算法做了优化,极大提高了嵌入式系统的速度。
    本系统软件部分可直接应用于带有Linux操作系统的智能手机中,利用手机以及内置的摄像头,即可进行个人面部特征数据分析,然后对比最初存储的人脸信息库,完成身份识别功能。

1 系统架构及其设计方案
    本系统采用了Samsung推出的以ARM 920T RISC为内核的处理器——S3C2410A。其优秀的处理性能理所当然地成为便携式设备开发的首选。同时为适应智能手机对视频图像采集的需求,系统采用了基于USB总线的视频采集模块,与串行传输相比极大地提高了数据的采集速率。本系统涉及到数字图像的采集、处理、存储、传输和HMM算法等多种技术。其系统架构如图1所示。



2 图像采集硬件设计
    鉴于传统CCD图像传感器昂贵的成本、相对复杂的附加电路和较高的功耗,本系统采用OmniVision公司的OV7640 CMOS芯片作为图像传感器。OV7640是一款低电压(2.5 V)、高灵敏度的CMOS图像传感器。
    实时采集存储系统需要高速的数据传输,对系统硬件之问的配合提出较高的要求。本系统设计中,在采集部分和传输部分之间配有相应的缓存区。实际中,采用OV7640及配套的芯片OV511扩展DRAM起缓存作用,实现将数字视频图像通过高速USB送入ARM处理器。OV511是一个专用的数字摄像IC的USB接口芯片。

3 图像采集程序
    本系统采用Linux做为操作系统平台,操作系统的移植在此不做过多介绍。
    Video4 Linux(简称V4L)是Linux中关于视频设备的内核驱动,它为针对视频设备的应用程序编程提供一系列接口函数,这些视频设备包括现今市场上流行的TV卡、视频捕捉卡和USB摄像头等。Linux内核提供Video4Linux应用程序接口,在程序开发时,首先是基于Video4Linux API函数来设计程序。[!--empirenews.page--]
    基于Video4Linux图像采集的程序流程如图2所示。



4 图像预处理与人脸识别算法及实现
    人脸识别过程首先判断输入的人脸图像或者视频中是否存在人脸,如果存在,则进一步给出每个人脸的位置、大小和各个主要面部器官的位置信息,并依据这些信息,进一步提取每个人脸中所蕴含的身份特征,将其与已有人脸库中的人脸进行对比,从而识别人的身份。
    人脸识别的过程可以分为图像预处理、人脸检测和人脸识别三部分。
    人脸检测是指从待识别矩阵中定位人脸区域中各特征区域,并将各个区域分割开。人脸识别是根据已有的人脸数据库,输出待测人脸对应在人脸库中的对象标号。二者互为前提和目的。由于HMM既可完成人脸检测,又可完成人脸识别,因此我们将人脸检测与识别同时处理。
4.1 隐马尔可夫模型(HMM)基本概念
    HMM是一组用于特征化信号的统计特性的模型,它包含两个相关的过程:一个是隐含的、不可见的有限状态马尔可夫链,它具有初始状态概率分布函数和状态转移概率矩阵,另外是一组与状态有关的概率密度函数。
    一个HMM的构成元素如下:

    一个HMM可以简记为λ={A,B,∏},由于其输入为有限字符集V={v1,v2,… vm},因此称其为离散隐马尔可夫模型。[!--empirenews.page--]
4.2 用于人脸识别的HMM模型
    根据状态转移的类型,HMM可分为遍历的(ergodic)和从左到右的(left-right)。前者表示状态转移是任意的,可以到本身和其他所有状态,后者状态转移只限于本身和下一个状态。人脸垂直方向由上至下和水平方向从左至右各个区域具有自然不变的顺序,可以用1D-HMM来模拟人脸,如图3所示。


4.3 人脸图像特征提取
    设每一个人脸图像宽度为W,高度为H,被划分为互相重叠的块。块的高度为L,重叠深度为P。因此,从人脸图像抽取的总分块数为观察矢量数T,且T=(H-L)/(L-P)+1。参数L和P的选择将影响系统的识别率,大的重叠深度值P增加了垂直特征向量的数量,使系统的识别率提高。L的选择比较微妙,较小的L使观察矢量不能有效鉴别;而大的L使剪切相交特征概率增加。当P大时,系统识别率对L的变化不敏感。分割算法流程如图4所示。


4.4 人脸HMM模型的训练
    为人脸图像库中每一个人脸建立一个HMM模型,用同一个人的5张不同人脸照片进行训练。按照子块划分方法,得到的2D-DCT变换系数矢量形成观察矢量序列。用观察矢量序列O={o1,o2,…,oT}进行训练,得到HMM模型参数。
    首先对HMM模型λ={A,B,∏}进行初始化,通过自上而下均匀分割人脸图像得到训练数据。模型状态数N=6,与每一个状态有关的观察矢量序列用于得到观察概率矩阵B的初始估计,A和∏的初始值按人脸模型自左到右的结构给出。然后利用最大似然估计算法(Baum-Welch估计算法)重新估计模型参数,检测P(O|λ)的收敛条件。
    如果满足式(3)条件,则模型已收敛,结束训练迭代过程;否则继续进行下一次训练。
   
    此处,C为预先给定的阈值。
4.5 人脸图像识别
    被识别的人脸图像用于训练过程相同的方法提取观察矢量序列,观察矢量序列的概率由人脸图像HMM模型计算出,即:
   
    当满足式(4)时,被识别人脸对应人脸图像库中第k个人的人脸被识别出。
    实验证明,此算法易于实现实时处理,不受脸部表情变化的影响,抗噪声能力强,鲁棒性好。但在人脸识别中的光照问题和姿态问题方面还有待于进一步的研究。

5 结论
    基于嵌入式ARM9和HMM算法的人脸识别系统具有体积小,计算量小,运算速度快,性能稳定等特点,能够满足人们对识别设备小型化的需求。相信在不久的将来,基于嵌入式的人脸识别系统会在安检、身份验证、门禁系统、智能考勤等方面得到广泛应用。
    本文作者创新点:
    人脸识别是生物特征识别中一个重要的研究方向,是间接、无侵犯式身份识别的主要方法。在嵌入式系统进行人脸识别,能够实现人脸识别设备的便携化,将会极大地拓展识别设备的使用范围。识别使用HMM算法,有效地降低了识别算法的空间和时间复杂度,为实时识别提供了可能。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭