论文部分内容阅读
各种信息通信技术的发展,使得信息网络更加全面深入地融合人与人、人与物乃至物与物之间的现实物理空间与抽象信息空间,即泛在网络。泛在网络的感知节点不仅采集信息,并且实时地对采集到的信息进行处理。这种系统可以应用于各种安防场合。人脸作为人的生物特征之一,具有唯一性和稳定性,根据这一特征作为基础开发出相应的安全系统是可行的。本文研究的人脸检测系统面向泛在网络感知节点,要达到低成本、低功耗、便携性以及实时性的要求。为了满足上述需求,本文的人脸检测系统采用基于通用处理器的嵌入式软件方法实现,硬件平台基于国产芯片SEP0611,算法采用基于Haar特征的AdaBoost级联算法。为达到实时检测的效果,本文在人脸检测功能完成的基础上,针对具体应用场景,通过减少图像遍历次数的方法以及采取粗检与细检相结合的方法对AdaBoost算法进行改进,提高了人脸检测的速度。此外,将基于像素操作改进为基于32bit包进行操作,减少了存储器读写次数,使人脸检测程序运行速度得到了提高。在上述算法改进的基础上,本文结合UniCore32内核的特点,从嵌入式C语言代码优化的角度采用多种优化措施对人脸检测的C语言代码进行了优化,从而进一步提高了人脸检测系统的检测速度。优化措施包括浮点转定点、采用替代条件跳转的方法减轻跳转指令对CPU流水线效率的影响、分解小的循环以及采用查表法代替平方运算等。本文在SEP0611嵌入式平台上移植了bootloader、嵌入式Linux操作系统、文件系统以及人脸检测应用程序,实现了人脸检测系统。用320×240像素的摄像头拍摄真实的图像进行人脸检测,检测率达到95%,检测速度10.6帧/秒,达到实时检测的效果。