摘要:系统选用S3C2410A处理器作为硬件平台,Linux操作系统作为软件平台,采用OV7640+OV511的结构实现图像信息采集,使用基于V4L的方法编写图像处理、检测和识别程序,实现了快速、准确识别人脸的功能;并对相关浮点算法进行了改进,极大地提高了ARM处理器上图像预处理的速度。采用基于隐马尔可夫模型(HMM)的方法,简化了人脸检测和识别的过程。
关键词:嵌入式系统;HMM;ARM;人脸识别
引言
嵌入式人脸识别系统与传统鉴别身份的系统相比具有很强的优势,无需特殊的采集设备,成本低廉,使用简单;同时,人脸识别不干扰使用者,不侵犯使用者的隐私,属于非侵犯的主动识别,易于为用户所接受。
本文以嵌入式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函数来设计程序。