基于嵌入式基于嵌入式Linux的复杂光照人脸实时检测研究的复杂光照人脸实时检测研究
为了满足嵌入式设备在复杂光照条件下的人脸检测需求,提出了一种基于光照不变特征的人脸检测方法。该方
法先基于Retinex理论提取光照不变分量,再以MBLBP特征进行AdaBoost人脸检测。结合该方法,实现了一种
基于嵌入式Linux的人脸实时检测系统。实验与实际使用结果表明,该人脸检测系统具有较高的人脸检出率,且
满足实时性要求。
黄世震1,2,黄志勇1,2
(1. 福州大学 物理与信息工程学院,福建 福州 350116; 2. 福建省微电子集成电路重点实验室,福建 福州 350002)
摘要摘要:为了满足
关键词 关键词:人脸检测;嵌入式;
0引言引言
人脸检测是人脸识别等脸部分析的基础,其在图像检索、目标定位、视频监控以及智能人机交互等领域具有广泛的应用前
景。经过多年的发展,人脸检测技术已经取得了很大的进展。与此同时,嵌入式平台技术突飞猛进,不仅具备体积小、功耗低
等特点,而且其运算能力也得到了很大的提高。除了实时性的要求外,光照变化对人脸检测的影响举足轻重。国内外研究者对
光照处理方法做了大量的研究,主要可分为光照归一化、人脸建模、光照不变量三类方法。以直方图均衡化为代表的光照归一
化方法在一定程度上能够减弱光照变化的影响,但是在复杂光照情况下效果不是很理想。光锥法和球谐函数法等人脸建模方法
效果好,但计算量大,难以满足嵌入式平台的实时性要求。本文从光照不变量的角度入手,提出了一种结合Retinex理论和
MBLBP算子的AdaBoost人脸检测算法,并在ARM开发板上实现。
1硬件平台构建硬件平台构建
本文采用处理器为三星Exynos 4412的ARM开发板作为实现平台,该开发板具有主频为1.5 GHz的CortexA9
CPU,Mali400 GPU,1 GB DDR3 RAM。采用USB摄像头作为视频采集输入设备,LCD触控显示屏作为图形界面显示以及
触控操作设备。整个硬件平台架构如图1所示。
在PC上的Ubuntu系统中建立交叉编译环境,裁剪和编译Linux内核、制作根文件系统,并将Bootloader、Linux内核、根
文件系统、USB摄像头和LCD触控显示屏等驱动移植到ARM板上。配置NFS,通过以太网实现PC与ARM板的通信。使用
SecureCRT软件通过串口对ARM板进行调试操作。
2软件设计软件设计
本文的程序设计用到了开源计算机视觉库(Open Source Computer Vision Library, OpenCV),图形用户界面设计采用
Qt,因此需对OpenCV和QtEmbedded进行交叉编译并移植到ARM板上。整个软件系统框图如图2所示。
由摄像头的图像传感器将采集到的图像传输到Exynos 4412,经过图像灰度化、尺寸归一化等预处理后,提取光照不变分
量,再计算其MBLBP值,通过Adaboost算法进行人脸检测,若检测到人脸则在显示区域进行标记。
2.1图像采集图像采集
本文基于V4L2[1]进行视频图像采集程序设计,其流程图如图3所示。