2007, 43(20 Com put er Engi neer i ng and A ppl i cat i ons 计算机工程与应用 1引言
911事件的发生和国际上普遍出现的恐怖袭击事件, 促进
了生物特征识别领域研究的快速发展。 在众多生物特征识别技 术中, 人脸识别因为其普遍性、 易采集性、 高接受性而受到了关 注。自上世纪六七十年代起的三十年间, 国内外众多的科研机 构和科学工作者投身到了人脸识别的研究领域当中, 取得了不 少令人欣喜的成果, 也出现了一些人脸识别系统 [2 ̄7]。
本文面向算法研究和实时应用建立了一个多用途人脸识 别系统, 系统参照 Bi oA PI [1]规范设计, 即可用作实验室环境下 的算法测试, 也可作为实际环境中自动智能监控。
2系统设计 2. 1系统设计目标
本系统要兼顾两个应用, 即实时监控和算法研究, 前者要 求系统的实时性、 鲁棒性和稳定性, 后者要求系统具有兼容性 (设定标准接口, 以面向不同研究人员应用 、 灵活性(可以针对 不同数据源对不同算法进行阶段性测试 、 高效性。 兼顾上述要 求, 系统采用了基于模块的思想进行设计。
2. 2系统结构设计
按照功能, 人脸识别系统包括五个模块:人机交互界面模
块、 检测模块、 正则化模块、 识别模块和注册模块, 为了同时保 证系统的实时性和灵活性, 采用多线程设计的思想, 将上述模
块置于不同的线程上。
人机交互界面模块负责接受用户请求, 控制其它各模块的 加载与启停, 调整各模块参数以及获取源数据等功能, 该模块 所在的线程为系统主线程。检测模块负责完成从输入图像(或 视频序列 中快速准确地定位人脸。正则化模块将去除光照和 姿势对人脸图像的影响,识别模块负责完成人脸的最终识别。 上述三个模块位于不同的、 相互独立的线程上。注册模块将正 则化后的人脸图像保存为人脸模板以备识别算法使用, 因其没 有实时性要求, 因此可以将其统一到主线程上, 以降低系统的 开销。系统总体结构如图 1所示。
多用途人脸识别系统的设计与实现 尹 璐 1, 何晓光 2, 毋立芳 1, 田 捷 2
Y I N Lu 1, H E X i ao-guang 2, W U Li -f ang 1, TI A N J i e 2
1. 北京工业大学 电子信息与控制工程学院 神经网络与图像识别实验室, 北京 1000222. 中国科学院 自动化研究所 复杂系统与智能科学重点实验室, 北京 100080
1. Lab of N N and I R , Col l ege of El ect r oni c I nf or m at i on and Cont r ol Engi neer i ng, Bei j i ng U ni v. of Technol ogy, Bei j i ng 100022, Chi na 2. K ey Lab of Com pl ex Sys t em s and I nt el l i gence Sci ence, I ns t i t ut e of A ut om at i on, Chi nese A cadem y of Sci ences , Bei j i ng 100080, Chi na E-m ai l :j anuar yi ce09@bj ut . edu. cn Y IN
L u, H E X i ao -guang, W U
L i-f ang, et al . D es i gn and i m pl em ent at i on of m ul t i-purpose f ace recogni t i on syst em .
C om put er E ngi neeri ng and A ppl i cat i ons, 2007, 43(20 :225-228.
A bs t ract :R ecent l y f ace r ecogni t i on r esear ch i s becom i ng a hot subj ect . I n t he paper , a m ul t i -pur pose f ace r ecogni t i on syst em i s pr oposed. I t can be us ed f or i nt el l i gent s ur vei l l ance and al gor i t hm s devel opm ent . The syst em i
nvol ves t hr ee m odel s:f ace det ect i on, f ace al i gnm ent and f ace r ecogni t i on. I n t he syst em , an i nt er nat i onal st andar d, Bi oA PI , i s r ef er enced, whi ch ensur es t he i ndust r y com -pat i bi l i t y, and f aci l i t at e t he appl i cat i on of al gor i t hm s and t he syst em . K ey w ords:f ace r ecogni t i on syst em s ; Bi oA PI ; f ace det ect i on; f ace al i gnm ent
摘 要:人脸识别技术是近年来研究的一个热点, 众多的人脸识别系统应运而生。提出了一种多用途人脸识别系统, 可用作实际环境 中智能监控, 也可用作实验室环境下的算法测试。该系统整合了人脸检测、 正则化、 识别等模式识别处理技术, 可以在复杂环境下实 时、 鲁棒地进行人脸识别。系统设计过程中引入了 Bi oA PI国际标准, 实现了对相关行业标准的兼容性, 便利了算法及系统的实用化。 关键词:人脸识别系统; Bi oA PI ; 人脸检测; 人脸正则化 文章编号:1002-8331(2007 20-0225-04
文献标识码:A 中图分类号:
TP391 225
2007, 43(20 Com put er Engi neer i ng and A ppl i cat i ons 计算机工程与应用 系统运行时, 数据(一般为图像或视频序列 首选流入人机 交互模块,并在该模块中被封装成利于后续模块处理的形式。 而后, 封装好的数据在线程控制器的引导下流向缓存。与此同 时, 三个算法线程在不断地检查缓存器, 一旦有数据进入, 算法 线程将开始对数据进行处理。 任意一个算法线程将产生两个结 果, 一个用来在交互界面中显示, 而另一个将作为后继操作的 输入。图中实线箭头就标明了一个典型的数据流:
(1 数据从交互界面流出后被送往缓存 A ;
(2 检测线程发现缓存 A 中有数据后便开始执行, 产生检 测结果;
(3 一个检测结果被送往缓存 B, 另一个被送往同步机构, 准备在交互界面上显示; (4 正则化模块与识别模块也将执行相同的步骤;
(5 三个模块的输出结果经同步后, 显示在交互界面上, 如 图 7(b 所示。 当然这不是唯一的数据流动方式。 当用户进行正则化算法 测试时, 数据从交互界面流出后将直接被送往缓存 B; 当用户 进行检测算法测试时, 检测的结果将被直接丢进回收站, 而不 是送往缓存 B, 这样正则化线程就不会被执行, 系统运行界面 只显示检测结果, 如图 7(a 所示。图 1中的虚线箭头表示可能 的数据流方向。
2. 3开发环境选择
C++语言是一种高效的编程语言, 可直接调用 W i ndows 操 作系统的 A PI ,是编写 W i ndows 可视化应用程序的理想工具。 这里选择 Bor l and 公司的 C++Bui l der作为系统开发境。
3系统内置算法设计
本系统中自带了一整套人脸识别算法, 在默认情况下(即 没有可替换的算法时 , 系统将自动调用下述人脸检测、 正则化 和识别算法。 性能优良的算法是本系统实时性、 鲁棒性的保证。 3. 1人脸检测
人脸检测就是给定任意的一幅图像, 要确定其中是否包括 有人脸, 如有, 对每个人脸在图像中的位置及范围进行标记(如 对图像中每一个人脸标记它的外切矩形 。人脸检测的方法很 多,各有优缺点。本文采用了 Paul V i ol a 和 M i chael J ones 于 2001年提出的基于类 H aar特征的 A daboos t的方法 [8]。该方法 检测速度快, 基本可以满足实时性要求。算法在训练阶段要 进行:
(1 定义一组基本特征, 然后让每个基本特征在 24×24的 图像窗口内任意缩放、 平移以得到大量特征, 这类特征简单、 丰 富, 可有效地表征人脸与非人脸区域的区别;
(2 利用 A daBoost算法从众多简单分类器(即特征 中选 择分类能力较强的作为弱分类器(weak cl assi f i er , 多个弱分类 器通过线性组合构成强分类器(s t age cl assi f i er , 最后采用一个 多分类器级联的结构(cl assi f i er cascade 作为最终的分类器, 用以检测人脸。
在检测过程中采用一个固定大小的窗口, 通过滑动窗口抽 取图像上的不同区域, 送入分类器, 用积分图像的方法快速地 计算出特征值, 从而做出判决。
3. 2人脸正则化
人脸本质上是一个三维对象, 不同姿势下的人脸图像是三 维人脸在三维空间几何变形后在二维平面上投影的结果。另 外, 同一人脸肤色区域满足朗伯反射特性, 光照变化带来的人 脸图像变化同样可以通过三维空间人脸表面反射特性的变化 反映出来。 因此, 从三维人脸模型入手, 可以将人脸姿势变化统 一为三维空间的线性变换,这样就可以解决人脸正则化问题。
多用途人脸识别系统的设计与实现解析
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)