浅析人脸识别系统的中的DSP硬件平台
2010-01-09肖英楠
肖英楠,杨 明
成都理工大学工程技术学院,四川成都 614000
浅析人脸识别系统的中的DSP硬件平台
肖英楠,杨 明
成都理工大学工程技术学院,四川成都 614000
人脸识别是模式识别领域中一个相当网难又具有重要理论价值和实际应用价值的研究课题,在身份鉴别、人机交互和视觉监控等领域有着巨大的应用前景。在DSP平台上就人脸识别系统相关设计进行探讨,并对程序进行了优化,保证了系统的实时性。
人脸识别;DSP;硬件平台;软件设计;优化
0 引言
生物特征鉴别技术是利用人体特有的生理特征来进行身份识别的一种技术,它提供了一种高可靠性,高稳定性的身份鉴别途径[1,2]。本文主要就人脸识别系统的中的DSP硬件平台设计的相关问题进行探讨。
1 DSP硬件平台的构成
本设计硬件平台采用的是北京瑞泰刨新科技有限责任公司的图像处理工具箱:ICETEK-C6711—IDK。其主要组成为:ICETEK—C6711图像处理板,CCD摄像头LCD液晶显示器。ICETEK—C6711图像处理板包括USB板和M板。
1.1 USB板(系统的主板)
主要功能是通过扩展总线与子板(M板)进行图像数据的交流;完成图像数据的处理。主要构成是:1)基于Ti公司的TMS320C6711DSP的数据处理模块;2)256MBit 100MHz的SDRAM,8MBit可编程可擦写只读存储器;3)并行端口控制器,通过并行端口的嵌入式内置仿真或外部仿真器仿真;4)7个指示灯和4个用户自定义开关等模块构成。
1.2 M板(子板)
M板的丰要完成图像的采集,存储,显示,并不进行任何数据的处理。它的主要构成有:1)PAL/NTSC标准图像输入模块。视频输入模块的任务是对输入的模拟视频信号进行采样并数字化。系统中使用Philips的SAA7113视频解码芯片来采集模拟视频信号,转换成数字信号;2)数字图像的存储控制模块。图像的存取由Xilinx公司的10万门FPGA来控制。存储器是两块2M×32bit的SDRAM,可以存储4幅以上的图像;3)图像输出模块。图像的输出也有两模式:VGA模式和PAL/NTSC模式,默认的方式是PAL/NTSC。
2 系统的软件设计
与系统的硬件组成一样,软件构架也可以分为:图像采集系统、图像处理系统、数据存储系统以及图像显示系统4个模块。由于本文采用的图像处理工具箱已经完成了图像的采集/显示模块和数据存储模块,因此,本文的件设计工作重点是实现图像处理模块。对于基于人脸识别的门禁系统来说,它的图像处理模块可以分成:图像预处理,人脸的检测和特征提取与匹配3个子模块。
2.1 图像预处理
根据图像预处理在整个人脸识别系统中运行的位置,可以分为人脸检测预处理和特征提取预处理,如图5-5所示。直接用差分图像来进行人脸检测是不合适的。一方面因为图像差分会引入噪声,另一方面是不能保证差分图像有理想的亮度。因此在人脸检测之前进行预处理是必要的。主要算法有:图像差分,图像去噪,光照补偿。同样在完成人脸检测与定位后,图像的大小,新引入的噪声等因素都会对特征提取带来负面的影响。人脸特征提取预处理主要算法有:图像缩放,图像灰度化,直方图均衡,图像去噪。
2.2 人脸检测
人脸检测是整个系统非常关键的一步,人脸检测的效果对特征提取和识别的影响很大。根据第三章的分析,人脸检测模块的程序设计分为:肤色模型算法实现,基于面积的类人脸排除算法的实现,基于人眼几何特征的人脸确认算法的实现。经过这样由粗到细,逐步排除类人脸的算法,保证了人脸检测有较好的效果。
图1 人脸检测流程框图
2.3 硬件资源与优化策略
TMS320DM642的强大处理能力的充分发挥,主要依赖于芯片资源的充分利用,尤其是处理器功能单元的充分利用,即对所运行软件的指令并行度有较高的依赖性。而软件的指令生成是由相关芯片的编译器和汇编器产生的。TI公司推出了世界上第一个效率可达70%~80%的汇编语言级C编译器,它产生的代码的平均效率是其他DSP编译器的3倍。因此,对于TMS320C6711上运行的一般的算法,技巧性的使用C语言即可达到性能要求。虽然,使用高级语言具有开发容易、便于移植等多数优点,但对于资源相对有限的嵌入式系统来说,高级语言也有其不足之处:1)灵活性不足,由于高级语言的编译一般是将语法结构翻译成固定的汇编语言段(不考虑优化等手段的影响),故不具有汇编语言的“捷径”特性;2)高级语言的语句和芯片的指令集没有对应关系,故而无法使用这些特殊指令。而这些特性却恰是汇编语言的长处。使用汇编语言编程可实现对处理器的完全控制,并发挥它的最大性能。
但是对于较复杂的CPU,使用汇编语言编程却有一定的难度。例如,在TMS320C671 l上编写汇编语言时需要考虑上述8个单元的分配,寄存器和存储器的访问冲突等诸多问题,所以,汇编程序编写起来困难很大,编写较大的汇编程序的成本、风险也比较高,为此,TI公司专门推出了针对其DSP的线性汇编语言,书写线性汇编程序不需考虑指令的并行性问题,就像书写一般的汇编程序一样。最后,由汇编器完成并行指令的排布,可实现高性能代码相对轻松的开发过程。所以,综合考虑开发难度和优化效果,本设计采用的方法是综合使用C和线性汇编,对于不太影响性能的部分,使用C提高开发效率,对于对性能影响较大的部分,使用线性汇编来提升系统性能。对于像人脸识别这样的运算密集型算法,使用这种方法可使效率提高几十倍甚至上百倍。
3 结论
首先介绍了系统硬件平台的组成和结构原理。结合硬件条件和门禁系统的要求,阐述了本系统的软件设计构架,并介绍各个功能模块的软件实现。并结合DSP6711芯片的特性,介绍了代码的优化方法。
[1]杨吴冰,陆徐平,许晋华.基于DSP和人脸识别技术的门禁系统设计[J].电气传动自动化,2007,29(2).
[2]李金屏,韩延彬,杨清波,等.人脸识别新技术研究进展[J].计算机科学,2004,31(Z2).
TP39
A
1674-6708(2010)23-0207-02