当前位置:首页 >> 机械/仪表 >>

基于OpenCV的疲劳驾驶检测系统的设计与实现


分类号 学校代码 1 0 4 8 7

学号 M200976083 密级

硕士学位论文

基于 OpenCV 的疲劳驾驶检测系统的 设计与实现

学位申请人:侯



学 科 专 业:软件工程 指 导 教 师: 万 琳 副教授

答 辩 日 期:2012.5.18

A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree for the Master of Engineering

Design and Implementation of Driver’s Fatigue Detection System Base on OpenCV

Candidate Major Supervisor

: Hou Ke : Software Engineering : Assoc. Prof. Wan Lin

Huazhong University of Science and Technology Wuhan 430074, P. R. China May, 2012

独创性声明
本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他 个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集 体, 均已在文中以明确方式标明。 本人完全意识到本声明的法律结果由本人承担。

学位论文作者签名: 日期: 年 月 日

学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。 本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

保密□, 本论文属于 不保密□。



年解密后适用本授权书。

(请在以上方框内打“√”)

学位论文作者签名: 日期: 年 月 日

指导教师签名: 日期: 年 月 日

华 中 科 技 大 学 硕 士 学 位 论 文
摘 要

随着我国经济近年来的飞速`发展,城市以及高速道路的机动车辆保有量正在急 剧增加。在全球,每年由于疲劳驾驶而导致交通事故和人员伤亡数以万计,在我国, 疲劳驾驶也被交管部门列为导致道路交通事故的三大原因之一,给人民群众的生活 带去了十分恶劣的影响。因此在实际情况中,如何采取有效措施来预防或者减少驾 驶员疲劳的情况,对于保护人民生命财产安全和减少交通事故的发生便具有非常重 大的意义。 本文采用 CCD 摄像头对驾驶室内的驾驶员进行实时的面部图像抓拍,通过图像 处理的技术分析人眼的闭合程度,从而判断驾驶员的疲劳程度。PERCLOS 是我们的 主要评价标准, 意为人眼持续闭合时间占特定时间的比率。 本文介绍了一种基于 Haar 特征的 AdaBoost 级联分类器算法,并根据此算法对目标图像进行人脸检测,然后在 分割出的人脸图像中,对人脸图像进行水平投影,并根据水平投影得到的人眼上下 眼睑,定位出人眼的位置,而且根据人眼的上下眼睑可以通过事先给出的一定判别 标准,判断眼部是否处于疲劳状态,从而达到疲劳检测的目的。当检测出驾驶员处 于疲劳时,系统会自动报警,使驾驶员恢复到正常状态,从而尽量规避了行车的安 全隐患,并且系统做出预留功能,可以将驾驶员的疲劳状态图片发送给指定的服务 器以备查询。 本系统采用的核心算法是基于 Haar 特征的 AdaBoost 级联分类器算法和水平投 影,首先介绍了这两种算法的主要思想及工作原理,然后对驾驶员实际驾驶环境的 特点进行了分析并给出需求分析, 接着在 visual studio 的平台下, 使用 intel 开发的图 像处理开发包 OpenCV 对整个设计进行实现,最后再对 YALE 人脸数据库和拍摄的 人脸集进行测试,并得出实验结果。实验结果显示,基于 Haar 特征的 AdaBoost 方 法对于人脸检测以及水平投影对于人眼定位的方法,具有精确度高、计算迅速以及 鲁棒性强的优点。最后再分析了实验中的不足,并给出了下一步的改进方法。

关键词:人眼检测

疲劳驾驶

OpenCV

PERCLOS

I

华 中 科 技 大 学 硕 士 学 位 论 文
Abstract
With the rapid development of China's economy in recent years, the city as well as high-speed road motor vehicle ownership is increasing dramatically. In the world every year due to driver fatigue which leads to traffic accidents and casualties of tens of thousands in China, fatigue driving, defined by the traffic control department as one of the three main reasons of road traffic accidents, affected the life of the people of the very seriously. Therefore, how to effectively detect and prevent driver fatigue puts extremely importance to control and reduce traffic accidents. This article describes the system of sensor on the driver's face image acquisition.Analysis of the state of the human eye to determine the degree of fatigue.The main indicators to measure the degree of driver fatigue:the closing time of the human eye continued to account for the specific time the the ratio PERCLOS.The system uses Gadabouts cascade tomb Haar features classifier algorithm to face detection position in the face area by the template matching method on the basis of the tomb of the detected face,the human eye to detect eye state when the system detected the driver is in a sleep state,and timely alarm to alert the driver,and retain the data uploaded to the ground control center. In this paper,based on Haar features AdaBoost cascade classification algorithm and template matching algorithm,described on the basis of its principles and specific,software programming,and realization of the algorithm tested by several test sets. The experiments show that the AdaBoost method and the template matching method,with detection with high accuracy,fast speed and robustness to good advantage.Finally,the lack of the algorithm exposed in the test, further improvements. Key words: Eye Detection Fatigue Driving OpenCV Perclos

II

华 中 科 技 大 学 硕 士 学 位 论 文





摘 要............................................................................................................... I Abstract ........................................................................................................... II 1 绪论 1.1 研究背景和意义 .................................................................................. (1) 1.2 国内外研究现状 .................................................................................. (2) 1.3 主要研究工作 ...................................................................................... (3) 1.4 组织结构............................................................................................... (4) 2 相关技术背景 2.1 疲劳检测的评价标准 .......................................................................... (5) 2.2 人脸检测技术概述 .............................................................................. (8) 2.3 人眼定位技术概述 .............................................................................. (9) 2.4 OpenCV 简介 ..................................................................................... (10) 2.5 本章小结............................................................................................. (16) 3 疲劳驾驶检测系统需求分析与概要设计 3.1 疲劳驾驶检测系统需求分析 ............................................................ (17) 3.2 疲劳驾驶检测系统概要设计 ............................................................ (18) 3.3 本章小结............................................................................................. (20) 4 疲劳驾驶检测系统详细设计与实现 4.1 视频采集模块 .................................................................................... (22) 4.2 人脸检测............................................................................................. (23) 4.3 图像预处理......................................................................................... (26) 4.4 二值化................................................................................................. (30)

III

华 中 科 技 大 学 硕 士 学 位 论 文
4.5 人眼的定位......................................................................................... (33) 4.6 人眼的状态检测 ................................................................................ (36) 4.7 报警模块............................................................................................. (36) 4.8 本章小结............................................................................................. (36) 5 实验结果分析 5.1 实验结果............................................................................................. (38) 5.2 结果分析............................................................................................. (39) 6 总结与展望 6.1 全文总结............................................................................................. (41) 6.2 展望..................................................................................................... (41) 致 谢.......................................................................................................... (43) 参考文献...................................................................................................... (44)

IV

华 中 科 技 大 学 硕 士 学 位 论 文

1

绪论

本章主要介绍论文的研究背景、本系统的应用价值和国内外的发展现状,最后 介绍本文所做的主要研究工作和本文的组织结构。

1.1 研究背景和意义
在人类发展的历史长河中,自古以来,人类都梦想着超越自己的速度,而自从 汽车的发明,人类就实现了这个伟大的梦想,可是说机车的发明是人类文明进步的 一大标志。然而,随着近现代化工业进程的快速发展,尤其是进入二十一世纪以来, 汽车的发展简直是一跃千里,汽车工业的发展更是欣欣向荣,汽车在全球处处可见, 已经成为人们日常生活中最必不可少的交通工具,可以说汽车的数量是呈几何级在 增长。由此带来的问题就是,交通事故不断增长,导致交通肇事的原因与问题也愈 来愈复杂和难于预防,譬如超速行驶、醉酒驾驶、疲劳驾驶等主观人为因素以及天 气因素,道路状况等客观原因,而在众多的交通肇事原因中,驾驶员疲劳驾驶是一 个重要原因,也是可以通过科技手段进行提前预警和预防的一大关键因素。驾驶疲 劳,是指驾驶员由于长时间持续或睡眠不足驾驶而造成的反应力下降,主要表现在 打瞌睡、驾驶操作失误、驾驶员困倦乃至完全丧失驾驶能力[1]。 因此,人们迫切希 望能够有一种能够实时检测驾驶员疲劳程度,并且在安全隐患增加之前可以及时发 现驾驶员处于疲劳驾驶且对其进行预警甚至自动驾驶使得偏移的车辆回归正道的系 统,那么这种系统将会是预防由疲劳驾驶而引的交通肇事的有效手段[2]。 纵观疲劳驾驶的研究历程可以发现,疲劳驾驶在很早就已经引起了科学家的极 大关注,并且也有很多学着从不同的角度,譬如医学领域、机械领域、计算机视觉 领域等对其进行研究,可是迄今为止,由于种种原因,还未能有一种尽善尽美的系 统能够彻底预防疲劳驾驶。目前,已经研究出来的比较成熟的疲劳驾驶预警的方法 有,监测驾驶员的行车轨迹、操作动作、车辆状态等等。而在这些方法中,比较可 靠的还是通过测量驾驶员的生理信号来给出预警信息,因为从医学的角度讲,测量 驾驶员的脉搏信号等技术已经是相当成熟的了。但是这种方法有其局限性,那就是
1

华 中 科 技 大 学 硕 士 学 位 论 文
驾驶员得在整个驾驶途中,佩戴生理信号感应器,因为这是一种接触式的测量技术, 那么会导致驾驶员严重不舒适,给行车安全带来极大的隐患。所以,高精度的非生 理测量成为人们的研究热点,遗憾的是,到目前为止,非生理信号测量仍未有较可 靠的方法。

1.2 国内外研究现状
对疲劳驾驶的研究在国外最早可以追溯到 20 世纪 30 年代,但实际上,投入真 正研究的却还是从上世纪 80 年代美国国会通过的汽车驾驶状态与交通安全之间的关 系研究开始的。进入上世纪 90 年代,疲劳驾驶的科研工作得到了人们更大的重视, 取得了一系列卓有成效的成果。 1.2.1 国外研究现状 当前正在开发的疲劳驾驶检测系统和研究疲劳驾驶检测的机构有: (1) 美 国 科 学 家 研 制 的 驾 驶 员 疲 劳 检 测 系 统 DDDS(The Drowsy Driver Detection System)采用多普勒雷达信号,可获取持续时间、烦躁情绪和眨眼频率等数 据。 (2) 日本 Nissan 研究的抗疲劳系统,利用摄像头监视上下眼睑的活动来检测 驾驶员是否疲劳[3]。 (3) 日本 Mitsubishi 的 Advanced Safety Vehicle,采用方向盘感应器和车辆行 为(如侧偏移)测量器来检测驾驶员疲劳状态[4]。 (4) 2003 年美国国家公路交通安全管理员 (NHISA)和卡内基梅隆和宾夕法尼 亚大学开发的“驾驶疲劳检测和报警系统”[5,6]。包括三个子系统: PERCLOS 眼睑开闭 监测器、睡眼活动记录器和车道安全跟踪系统。 (5) 日本 Toyota 设计了一种加强防疲劳系统,在驾驶员手臂上佩戴一块生理 信号感应器,对人体采集到的生理信号,来测量心跳的频率、脉搏信号等进行分析。 而以色列的 Atlas 则开发了通过采集上肢的肌电图来检测疲劳状态[4,8]。

2

华 中 科 技 大 学 硕 士 学 位 论 文
1.2.2 国内研究现状 与国外相比,国内的发展处于比较落后的阶段,不过经过学者们的不断坚持也 取得了一系列很好的效果: (1) 2000 年,上海交通大学的许晓鸣、石坚、卓斌、吴远鹏和马勇[9],通过信 号感应器来采集驾驶员驾驶途中方向盘的偏移状态以及刹车被踩的频率等来判定驾 驶员的疲劳状态,研究发现方向盘的偏移情况、刹车的被踩频率均与驾驶员的疲劳 程度具有一定的联系,方向盘若在一定时间内偏移量很小,表明驾驶员在打瞌睡, 可以判定为疲劳驾驶。 (2) 2006 年,同济大学的杜志刚等人开始研究使用日本 NEC 公司生产的 EMR-SR 型眼动仪[10],是由光学系统,瞳孔中心坐标提取系统,视景与瞳孔坐标迭 加系统和图像与数据的记录分析系统组成的眼动仪主机、控制端、摄像头及对采集 的数据分析组件等组成了一个完整的系统,由人眼的瞳孔的直径以及瞳孔的运动趋 势来判断人眼是否处于呆滞状态或者说疲劳状态。 (3) 中国农业大学、首都师范大学、武汉理工大学等国内著名高校也都在从事 相关研究。 综观疲劳检测技术的发展现状,当前人脸数字图像研究的一个应用热点就是怎 么样把计算机视觉技术以及图形图像处理技术相结合来检测和定位目标和运动物 体,并且根据公认的疲劳判别标准 PERCLOS 来判断驾驶员是否处于疲劳驾驶状态, 根据这样的一个多学科多门类的交叉,能够研制出一个比较完善的驾驶员疲劳检测 系统。

1.3 主要研究工作
结合本人在实验室的科研课题基于 OpenCV 的人眼检测,对特征检测和目标提 取做了一定的研究,在使用基于 Haar 特征的 AdaBoost 级联算法的基础上,通过对 摄像头采集的人脸图像进行扫描、人眼搜索、人眼定位等一系列图像处理,最后根 据 PERCLOS 标准对指定时刻的人眼状态进行判断驾驶员是否处于疲劳状态,若疲 劳,则给出警告信息。

3

华 中 科 技 大 学 硕 士 学 位 论 文
在开发过程中,本文的主要工作有: (1) 回顾了疲劳驾驶的发展历程, 简要介绍了相关技术的国内外发展现状和趋 势,并且提出了的主要研究工作的实际可行方案。 (2) 分析了整个系统的需求特点,设计了检测系统的系统结构,设计了系统的 各个组成、视线了检测算法、并做了实际开发等。 (3) 在实验室环境下,使用 CAMU-8000 摄像头对受摄者进了人脸样本拍摄采 集。研究了和分析了当前一些主流的人脸检测算法,分析他们的特点,从而从非接 触、实时性、鲁棒性等需求设计出本文的系统。对这些算法进了考察,并在 OpenCV 平台下实现程序。 (4) 在人脸基础范围内, 根据水平投影进行人眼的定位并且计算上下眼睑的距 离,再根据给出的 PERCLOS 标准,对人眼眼睑的距离进行分析和判别,从而对疲 劳驾驶做出准确的判断。 (5) 在 visual studio 平台上,辅助 OpenCV,设计并实现了本文提出的算法, 对系统进行测试、调试和修改等,得出实验结果并进行原因和算法特点及实用条件 分析。这部分是本文核心部分,当然也是耗时最长的一部分。 通过研究使得我对人脸检测的认识有了更大的进步,并且熟悉和成功运用了 OpenCV 的概念,取得了一定的成功。

1.4 组织结构
本文的组织结构如下: 第一章:绪论部分,主要论述疲劳驾驶的研究背景、国内外的研究现状以及论 文期间主要的研究工作。 第二章:介绍相关技术背景。 第三章:介绍疲劳驾驶检测系统的概要设计、工作环境、系统功能等。 第四章:根据本系统的工作流程,介绍系统的详细设计。 第五章:实验结果分析。 第六章:总结与展望。

4

华 中 科 技 大 学 硕 士 学 位 论 文

2

相关技术背景

本章首先,我们给出跟人眼疲劳状态相关的各项状态指标和参数,以及它 们是如何影响人眼的各种状态,譬如睁眼,闭眼,眨眼等,并且对整个检测系 统和算法的评价指标进行介绍。然后,本文从模式识别和图形图像处理技术类 别介绍了当前主流的人脸检测算法,分析和对他们的特点与优缺点,然后分析 本系统的适应性特点。然后我们介绍了基于 Haar 特征的 AdaBoost 算法,分析 了此算法的原理以及工作流程,指出这种算法在精确度、实时性以及鲁棒性等 都是公认的最成熟的人脸检测算法,不同的是,我们在 OpenCV 平台上对其进 行了算法实现,并且根据驾驶的实际环境进行了软件的实现,在对采集的人脸 数据库的基础上测试了本文所提出的算法,说明其特点。

2.1 疲劳检测的评价标准
从医学的角度来看, 虽然疲劳只是人类的一个正常的反映身体状态的现象, 可是在特定情况下,由疲劳会给人的精神状态带来严重的危害从而导致安全隐 患急剧增长,情况危机者甚至威胁到人的生命安全,因此,在这些领域,具体 来讲就是交通领域,疲劳检测是非常有必要的。由于在非接触的检测方式中, 肌电图、心率、脉搏等都是与人的精神状态相紧密相关的因素,所以,也存在 着多种多样的检测的方法。 由于从人眼的状态中是可以反映出驾驶员的精神状态的,当驾驶员精神充足时, 驾驶员的各项生理指标都会比较正常,具体来讲,就是眼睛的开闭频率及其开闭大 小等都比较符合正常的统计规律;当驾驶员的精神不佳时,人体的各项生理指标也 会下降甚至严重下降,人眼的开闭大小与频度都会呈现出一定的滞后和低迷。根据 此种人眼状态的不同,我们就有了判别驾驶员是否处于疲劳状态的可能性。本系统 通过图像处理技术,使用摄像头对驾驶员的疲劳状态进行实时检测时,只需通过抓 拍的每一幅图像中精确地定位到人眼的位置,并根据一定的判别标准判断和分析人
5

华 中 科 技 大 学 硕 士 学 位 论 文
眼所处之状态,基本上就可以判断驾驶员的真实驾驶状态,若疲劳的话,那么系统 相应地应该给出报警信息,若处于疲劳的临界点的话,也会提示驾驶员潜伏的安全 隐患。因此,在非接触的疲劳驾驶检测技术中,真正的核心就在于如何准确、实时 地定位出人眼的位置以及上下眼睑的坐标。 对驾驶疲劳的研究在最早时主要还是依据医学,譬如使用医用肌电图仪、脑 电图仪、心电图仪等来测量驾驶员的生理状态。但是,正如前面所述,虽然在医 学上,生理信号的检测是非常准确的,可是这种方法仅仅适用于短时间的测量, 如医疗诊断等,对于长时间的佩戴,会使驾驶员严重感到不适,由此会给驾驶员 带来情绪上的严重波动,反而会增加行车安全危险。所以,美国的科学家们在政 府的资助下,结合大量实验的基础上,给出了一个比较符合共识的疲劳驾驶标准, PERCLOS,其反映的就是普通人的疲劳状态是跟人眼有联系的,人的精神状态越 好,人眼的大小越符合正常的统计规律,人越疲劳,人眼就越趋于闭上的状态。 下面我们就对 PERCLOS 做简单介绍。 PERCLOS 是 Percentage of Eyelid Closure Time 的缩写,定义为闭眼持续时间占 特定时间的百分比。 1999 年 4 月美国联邦 公路管理局 FHWA(Federal High way Administration) 召 集研 究驾驶疲劳方面 的各所 大学的 专家学者 ,对 PERCLOS 以及 其他眼睛 活 动 检 测方法 的有效 性进行了大量 研讨 , 结论 一致认为 ,应该 优先考虑把检 测机动车辆 驾驶员 的 PERCLOS [13] 作为非接触式 、 车载的 、 实时的 疲劳 检测 方法。 一般情况下,PERCLOS 方法可以分为三类: P70:当被眼睑遮挡的区域占整个眼睛区域的 70%时,计算这段时间的眼睛闭合 时所占的时间比例。 P80:当被眼睑遮挡的区域占整个眼睛区域的 80%时,计算这段时间的眼睛闭合 时所占的时间比例。 EM:当被眼睑遮挡的区域超过整个眼睛区域的 50%时,计算这段时间的眼睛闭

6

华 中 科 技 大 学 硕 士 学 位 论 文
合时所占的时间比例。 NHTSA 对这些标准作过相应的实验, 结果显示在 PERCLOS 方法的三种标准中, P80 最能够接近于真实的疲劳发展程度,别的科学家也得出过相似的结论。如图 2-1 所示:P80 疲劳发展程度具有很好的线性度。

图 2-1 P80 状态曲线

系统记录眼睛闭合的帧数和开始、结束时刻,计算 PERCLOS 值,当 PERCLOS 值>40%时,或者眼睛持续闭合时间大于 3 秒时,就认为驾驶员处于疲劳状态,可以 判定为疲劳驾驶。

PERCLOS ?

眼睛闭合帧数 ?100% 指定时间段总帧数

(2-1)

若 PERCLOS 值大于 80%,则判定为驾驶员处于疲劳状态,应给出相应报警信 息,采取相应预防措施。 若根据 P80, 连续的两帧中的人眼均处于疲劳状态的话, 那么这两帧的时间间隔 可以被认为是连续闭眼时间,这样一直统计多帧的连续闭眼时间,直到连续闭眼时 间占系统耗时的百分比超过 80%,就认为驾驶员疲劳,反之统计时间归零,反复迭

7

华 中 科 技 大 学 硕 士 学 位 论 文
代。

2.2 人脸检测技术概述
在模式识别和图形图像处理基础中,人脸检测因其特殊的研究价值和多领域的 需求性一直是科学家研究的热门。人脸检测(Face Detection)问题早期来源于人脸 识别(Face Recognition)的一个分支。而人脸识别的研究在起源于上世纪五、六十 年代,经过多年的发展,现在已经日臻完善。而且人脸识别应用非常广泛,譬如图 像数据库的检索、身份确认、公共场合对可疑目标的确认等。 在人脸识别的系统中,核心问题是人脸检测。但是,人脸检测在人脸识别的发 展过程前期并非是重点,人们的重点放在如何寻找脸部的特征。而近几年,互联网 的飞速发展促进了互联网安全的技术的大发展,因此,人脸识别就成为最可靠和最 辩解的生物身份识别手段。因此,就需要人脸自动识别系统可以对抓拍的图像具有 一定的辨别能力,人脸检测作为人脸识别的前期步骤逐渐被科学家重视,因为作为 一个先验条件,在背景复杂的情况下,先通过人脸检测的图像有助于减少人脸识别 的误识别率,这样,就可以大大提高人脸识别的准确率。 一般情况下,人脸检测问题的概念是:在静态图像或动态图像帧的抓拍期间, 从复杂的图像背景中分离出来,提取并检测是否可能存在人脸。
颜色特征 人 脸 检 测 技 术 基于统计方法 支持向量机 SVM 灰度特征

神经网络 ANN 主量分析 PCA

隐形马尔科夫模型 HMM

AdaBoost 级联
8

华 中 科 技 大 学 硕 士 学 位 论 文

图 2-2

人脸检测方法分类

一般而言,现在的人脸检测方法基本上有基于统计和基于知识两种。基于统计 的方法从事先给定的样本空间中依据先验的统计分布知识来构筑人脸的复杂多维模 式空间,人脸的特征或者分类是根据统计规律以及机器学习的方法一层一层迭代取 得的。从各种算法的分布获取的训练人脸可以从面部特征或分类模型中很好地获取, 并确定其下一步训练得到的功能。而基于知识的方法则是另外一种人脸检测方法, 其原理是基于先验知识的面部特征。一般地,相对容易地能够提出较简单的规律用 于描述各个人脸器官和人脸的特征之间的相互关系,比如在一帧人脸中,一般有两 只对称的眼晴、一个鼻子以及一张嘴巴等。特征间的相互关系则可以它们之间的位 置和相对的距离来描述。

2.3 人眼定位技术概述
在现阶段,人眼定位的技术发展得还不是特别完善,在模式识别和图形图像处 理领域,一般认为是有两种办法:一是,先检测出人脸,缩小检测范围,然后在其 内部再循环迭代一次搜索算法得到眼睛;二是,在原始图像上直接定位,这样的话, 首先会产生很大的计算量,其次是精度不能得到很好的保证。基于此,本文采用了 先缩小搜索范围,再进行人眼定位的方法。 (1) 基于灰度投影的方法 本方法是再对原始图像进行完预处理,达到最好的人眼定位的二值图之后,在 计算其直方图,得出灰度的统计分布,最后再根据一些经验值来判断人眼的区域。 在此类方法中,比较典型的是 Hough 定位。此种方法的优点是,在光照条件优越的 情况下,能够很好地分割出人眼的大致坐标,缺点是,不能适应剧烈的光照变化, 以及一些干扰物的存在。典型是水平投影法,就属于这类方法。它是根据人眼的整 体灰度分布,在水平上投影人眼的灰度直方分布,根据人眼的特征,比如在三庭五 眼中,人眼一般位于从上至下十分之三的位置,确定人眼的位置。本系统正是使用

9

华 中 科 技 大 学 硕 士 学 位 论 文
水平投影的方法进行人眼的定位。 (2) 基于几何特征的方法 由生物医学可以知道,一般情况下,人脸的五官距离和尺寸比较符合一个统一 的规律,这就是所谓的三庭五眼。这类特征信息,比如,人眼瞳孔中心之间的距离, 以及人眼和鼻子组成三角形一般可以认为是正三角形等等。那么根据这些先验的几 何特征就构成了人脸检测的一个一个样本,在一定的阈值范围内,符合这些几何样 本空间分布的可以被认为是人脸。

2.4 OpenCV 简介
OpenCV 是由英特尔开发的免费开源图像处理开发包,主要是由 C 语言写成, 其中也包含了部分的 C++,由于它事先封装好了图形图像处理的算法,譬如灰度化、 直方图、直方图均衡化、机器学习、贝叶斯理论等等,而受到图形图像开发者的青 睐。OpenCV 诞生于 Intel 研究中心,其目的是为了促进 CPU 密集型应用,并且在计 算机视觉领域,为了可以在以前的基础上继续开始研究,而不用从底层开始构造函 数,因此,在 Intel 性能库团队的帮助下,OpenCV 诞生了。 OpenCV 有以下一些特点: (1)开源免费,无论是谁以何种目的,都可以免费使用或者二次开发 OpenCV。 而不必担心是否要收费的问题 (2)预先封装好了图形图像处理的很多算法,大大方便了开发者。 (3)可重写的结构和功能 (4)与 Intel 处理器架构相兼容,具有强大的图形图像处理功能 (5)友好简明的用户接口 (6)良好的函数封装性。 2.4.1 Haar 特征 在特征空间里,描述特征的可以是坐标,也可以是距离,而人脸的特征, 不仅如此,还包括颜色、亮度等等。人脸特征的提取,既要考虑到普适性,即

10

华 中 科 技 大 学 硕 士 学 位 论 文
大部分的人脸五官的距离满足三庭五眼的分布,又要考虑外部环境对人脸的影 响。同时,由于应用方面的考虑,实时性、鲁棒性等都是我们需要考虑的因素。 Haar 特征本质上属于矩阵特征,而矩形特征则本身属于简单图形,其规定的特 征选取也基于点线面等基本几何元素特征的选取。 Haar 特征可以分为三类:

图 2-3

Haar 特征

总体来讲,Haar 特征就是把矩形分块,把分块的灰度像素以及边缘特征相结合 考虑的一类特征。 矩形坐标一般可以由矩形的四个顶点所决定,在静止的情况下,只要知道一个 矩形的一个顶点坐标以及长宽,那么这个矩形的坐标信息就可以得到确认。在程序 语言里,矩形可以被描述为:rect(left,top,width,height)。其特征值可以描述为:
Feature(k ) ? ? ?i * Sum Re ct (ri );
i ?1 N

(2-2)

其中,?i 为 ri 的权值,是矩阵的内像素积分,而 N 则是组成特征 Feature(k ) 的矩 阵数量。 2.4.2 积分图 积分图(Integral Image)类似与概率分布,某一点的概率分布值,可以由这一个 点到原点内部区域的任何亮点所决定,当求任意一点的像素时,只需要从已知的两 点的灰度值就可以得到所求点的像素,而不用去重新计算这一点的像素,这样既避

11

华 中 科 技 大 学 硕 士 学 位 论 文
免了大量的循环扫描计算,又可以利用已知的像素值,节省了计算机的存储空间。 积分图和积分类似,积分的概念可以定义为:
F ( X ) ? ? f ( x)dx

(2-3)

即:

?

b

a

f ( x)dx ? F (a) ? F (b)

(2-4)

图 2-4

人脸分类器的训练流程图

12

华 中 科 技 大 学 硕 士 学 位 论 文
2.4.3 AdaBoost 强分类器的构造 很多矩形特征组合起来可以构成一个弱分类器。所以可以认为一个弱分类器
h j ( x) 由标识不等号方向的数 Pj (1 或-1)、特征 f j 和阈值 ? j 构成:
1, if . p j f j ( x) ? p j? j h j ( x) =
0, otherwise

(2-5)

在式 2-5 中,x 是待检图片。根据实际情况,待检图片可以替换为指定的特征以 及待检的目标。 在定义了弱分类器之后,我们根据所采集的人脸样本对其进行训练。在训练的 过程中,首先要定义特征函数和阈值,对于每一个人脸样本,如果经过特征函数输 出的结果低于阈值,那么我们可以认为这是一个人脸,即正样本,反之,我们认为 其是非人脸,即负样本。所以,关键在于特征函数的选取和阈值的设定。这里我们 遵循的原则是,对于特征函数的选取,一定要是能够最大限度地描述正常人脸的五 官特征,而对于阈值的选取,在迭代的过程中,权重的选取至关重要,既要考虑人 脸本身的几何特性,又要考虑外部环境的影响。 AdaBoost 算法的初始输入特征函数是一个先验特征函数,然后在通过这个函数 对人脸样本集进行迭代。其具体实现的过程程定义如下: 1) 定义:对于与预先给出的 n 个学习样本。 (x1, y1), (x2, y2), …,(xi, yi),…, (xn, yn) 其中,yi=1 表示正样本(人脸),yi=0 表示负样本(非人脸);设 n 个样本中 有 p 个正样本和以及 q=n-p 个负样本。 2) 初始化对于正、负样本,权重分别初始为:

1 ,正样本 2p
D1,i =

(2-6)

1 ,负样本 2q

13

华 中 科 技 大 学 硕 士 学 位 论 文
3) 经过下面的 T 次循环迭代: (1) 权值标准正交化: Dt ,i ?
Dt ,i

?D
j ?1

n

, Dt ,i 为一个概率分布;

t, j

(2) 对于任意特征 j,训练分类器 h j ,与 Dt ,i 相符的错误率为:

? l ? PD [h j ( xi ) ? yi ] ?
i

i:hl ( xl ) ? yl

?

? j (i) ? ? Dl ,i |h j ( xi ) ? yi |
i

从中寻找迭代错误率最小的弱分类器,记 ? l ? min ? ,对应 hl ? h( fl ( x), pl ,?l ) ; (3) 刷新权值:
Dl ,i ?l , hl ( xi ) ? yi

令 ?l ?

?l , Dl ?1,i (i) ? Dl ,i ?l1?ei = 1? ?l
Dl , i, h l( x i) ? yi

(2-7)

hl ( xi ) ? yi , ei ? 0 ; hl ( xi ) ? yi , ei ? 1 。 若分类达到要求时, 而当分类不符合要求时,

4) 最后把迭代的弱分类器线进行性组合,从而得到一个强分类器:
1 ,? ? l hl x ( ? )
t ?1 T

1 T ?? n 2 n ?l

H ( x) ? sgn(? ? l hl ( x)) ?
l ?1

T

(2-8)
0, otherwise

其中, ? l =ln(

1

?l

)=ln(

1? ?l

?l

)

(2-9)

最后,通过训练得出的强分类器对目标图像进行检测,其过程是,对组成强分 类器的弱分类器进行循环问询,对于每一个弱分类都有一个对应的特征函数和阈值, 那么输出必然也有一个结果,然后对输出的结果集在弱分类器上的权值进行加权, 最后得到的就是最终的判断值,如果这个判断值小于强分类器的阈值,那么可以认 为人脸,反之,认为是非人脸。

14

华 中 科 技 大 学 硕 士 学 位 论 文
实际上,AdaBoost 算法体现的是模式识别的一个迭代加权最后极限趋于稳定的 思想,正是这种类似于求极限的思想,可以保证强分类器的高精度。 2.4.4 层叠分类器 层叠分类器是由前述的一组 AdaBoost 算法训练出来的强分类器所组成。其主要 性能由以下三个因素所决定 (1) 分类器的阈值 (2) 级联的级数 (3) 每级分类器的特征个数 级联分类器实际上在迭代的过程中,在最初的几层就能淘汰掉大部分的非人脸 区域,而保证真实人脸的高通过率。而在接近尾声的阶段,随着迭代的层数的增加, 训练得到的特征函数越复杂,对于人脸检测的要求就越来越高。而且在后期,随着 精度的增加,真实人脸的通过率也越高,因为真实的人脸的特征越来越符合迭代的 特征函数,所以计算的迭代数也会越来越小,因此计算时间在后期会大大降低。 构成层叠分类器的强分类器必须通过既定的规约构成。首先输入待检图像, 根据先验知识得出的第一级强分类器对其进行检测,在通过第一级的强分类器特 征函数的输出结果出来后,和其阈值进行对比,以便筛选出非人脸部分,然后反 复迭代,得出第二级强分类器一直到第 n 级,最终检测出来的就是系统认为的真 实的人脸区域。层叠分类器的迭代如下所示:

待 检 测 图 像

待 检 测 图 像

第 一 级 强 分 类 器

T

第 二 级 强 分 类 器

T

…… T

第 n 级 强 分 类 器

人 脸 T

F

F

F

非人脸
15

华 中 科 技 大 学 硕 士 学 位 论 文

图 2-5

层叠分类器构造图

2.5 本章小结
本章首先对疲劳驾驶的评测标准给出概要性的介绍,对其原理和推导做出说明, 为下一步系统实现给出评价标准。接着对人脸检测技术作了概述性讨论,给出了当 前人脸检测技术的分类和不同技术的优缺点,为本系统在人脸检测技术方面的选择 做出了参考。最后又介绍了实际开发平台 OpenCV 的相关知识,给出 OpenCV 平台 下 AdaBoost 算法的原理和分类器训练过程,为人脸检测的具体实施指出了方向。

16

华 中 科 技 大 学 硕 士 学 位 论 文

3

疲劳驾驶检测系统需求分析与概要设计

本章我们介绍疲劳驾驶检测系统的需求分析和概要设计。在检测疲劳驾驶相关 的因素中,有很多种,包括主动人脸检测和被动人脸检测。主动人脸检测在早期是 通过医疗器械实现的,主要有现场监督、脉搏检测信号仪等。现场监督是指在驾驶 员身旁配备专门的驾驶人员,负责监视驾驶员的疲劳状态,一旦驾驶员出现疲劳驾 驶,那么理解给出警告。这种方式具有实时性高、可靠性强等特点,但缺点是专门 的人员配备难以胜任全天候 24 小时工作,且成本昂贵。脉搏检测主要是指在驾驶员 手腕上配备脉搏检测仪,利用驾驶员一旦出现疲劳驾驶的状态,脉搏会有所降低的 特点,当驾驶员疲劳时给出警告信息。这种方式的优点是可以应付全天候 24 小时工 作,缺点是会对驾驶员的舒适感造成严重影响,直接导致驾驶员情绪烦躁,存有严 重安全隐患。被动式人脸检测是指主要通过非接触方式,例如测量方向盘的连续静 止时间,利用图像测量驾驶员的眼睛开闭状态等来检测驾驶员是否疲劳,其中,利 用带有图像处理功能的摄像头检测驾驶员眼睛开闭状态以其成本低、舒适度高、精 确度高的特点成为当下研究的热点。 而在人脸检测技术中, OpenCV 平台下基于 Haar 特征的 AdaBoost 算法以其高精度、高实时性成为当下精确度最高、实时性最强、认 可度最高的人脸检测算法,在给出的系统中,采用图像处理功能来检测驾驶员疲劳 状态。本章先给出系统需求分析,再介绍本系统的概要设计。

3.1 疲劳驾驶检测系统需求分析
本系统采用基于机器视觉的疲劳检测方法。 使用 visual studio 和图形图像处理开 发包 OpenCV 实现对程序的开发,而根据先验知识,驾驶员在驾驶途中,一般情况 下,会一直直视正前方的道路,偶尔伴有看左后视镜和右后视镜的情况,并且在阳 光强烈的情况下,头部会偏低以躲避阳光,这样,可以大致定位出人脸的活动范围
[15]

。将摄像头安装在驾驶员的正面,通过实时采集来的图像对其进行图像处理并最

终得到眼睛是否处于疲劳的结果。因此在实际设计系统的过程中,我们不仅要考虑 正常的人脸图像,还要考虑动态人脸的情况,以及光照的情况,这样才能使鲁棒性
17

华 中 科 技 大 学 硕 士 学 位 论 文
达到比较好的效果 。 详细功能需求说明参见表 3-1。
表 3-1 功能 概要 功能需求列表 说明 白天强光下 能够检测 夜晚弱光下 能够检测 如有遮挡物 不能检测 给出报警 信息 扩展 ①留有无线网络接口, 将疲劳状态图片发至中心端, 作为 疲劳驾驶法证据等后续处理 ②数据存储功能 当系统检测到疲劳状态时, 能够自 动刹车,保证行驶安全

疲劳检测

当驾驶员疲劳驾驶时, 系统能够检测到其疲劳状态

报警

当系统检测到疲劳状态时, 系统能够给出警报信息

同时对于嵌入式系统来讲,性能需求是必须的,比如刚才提到的系统应该能适 应长时间的工作符合,并且在实际驾驶的过程中,会对机器产生机械运动,所以, 如果有硬盘的话,那么硬盘的防震性也在我们的考虑范畴内。同时,由于图形图像 处理技术涉及到大量的计算尤其是浮点运算,因此在算法的设计和硬件的选取上, 我们也要考虑到所选取的数据类型和硬件结构要支持强浮点运算,同时,对于实时 报警系统来讲,准确率和误报率的要求是显而易见的,准确率要高,误报率要低。 详细性能需求说明参见表 3-2。
表 3-2 性能 鲁棒性 准确率 误报率 概要 能够检测各种错误信息,并能 够给出响应,维持系统正常运 行 真实疲劳帧数/总帧数 虚假疲劳帧数/总帧数 理论值 0.9 以上 理论值 0.1 以下 性能需求列表 说明

3.2 疲劳驾驶检测系统概要设计
按照功能需求分析,本系统的功能应该包括视频采集功能、图像预处理功能、 人脸定位功能、人眼定位功能,其中最主要的就是人眼定位功能,因为只有精准地 定位出人眼的位置,才能确定人眼的张闭合程度。因此组成本系统中系统模块如下: (1) 视频采集模块

18

华 中 科 技 大 学 硕 士 学 位 论 文
(2) 图像预处理模块 (3) 人脸定位模块 (4) 人眼定位模块 (5) 疲劳程度判别模块 (6) 报警模块

图 3-1

系统功能图

本系统的模块可以分为视频采集、帧存储、视频输出、光线补偿、中值滤波、 阈值分割、人脸定位、人眼定位、状态识别、疲劳分析。详细模块表请参见表 3-3:
表 3-3 模块名 视频采 模块 概要 通过 CAM9100-U 摄像头模块采集视频 直方图均衡:用来拉升直方图,使得直方图的分布能够比较均匀, 从而提高图像的部分亮度。 光线补偿:对于光照不均的图像,既可以增加暗点的亮度,同时也 可以降低亮点的亮度,使得图像的光照分布比较均匀。 中值滤波:平滑去噪,保留边缘信息的同时,尽量去除噪声点的影 响。 阈值分割:使用 OTSU 算法进行阈值分割 人脸定 模块 人眼定 模块 疲劳判 模块 报警 模块说明 对应 功能模块 疲劳检测 疲劳检测 疲劳检测 疲劳检测 疲劳检测 疲劳检测 使用基于 Haar 特征的 AdaBoost 算法对待检图像进行人脸定位。 疲劳检测 疲劳检测 对二值化后的人脸图进行水平灰度积分投影得到上下眼睑坐标 计算眼睑距离,根据 P80 来判断驾驶员是否处于疲劳 使用波形图进行报警,预留功能是声光报警 疲劳检测 疲劳检测 报警

图像 预处理 模块

19

华 中 科 技 大 学 硕 士 学 位 论 文
模块

本系统的工作流程如图 3.2 所示。程序开始时,摄像头开始工作,并开始实时抓拍 驾驶员图像帧序列,处理一帧时,首先,进行人脸检测以缩小眼睛定位的区域、然后, 对抓拍的图像进行灰度化、直方图均衡化、光照补偿、中值滤波、阈值分割等预处理; 接着,使用水平投影进行人眼定位;最后,根据 P80 进行疲劳判别。

图 3-2

疲劳驾驶检测流程图

3.3 本章小结
本章分析了本系统的功能需求和性能需求,并据此,给出需要实现的系统模块, 指出了一个完整的疲劳驾驶检测系统至少应包含视频采集、图像预处理、人脸检测、 人眼检测、疲劳判断,报警等基本模块,并系统运行的流程图、给出了本系统的需 求分析和概要设计。
20

华 中 科 技 大 学 硕 士 学 位 论 文

21

华 中 科 技 大 学 硕 士 学 位 论 文

4

疲劳驾驶检测系统详细设计与实现

本章介绍疲劳驾驶检测系统各模块的详细设计与实现方法,包括视频采集模块、 图像预处理模块、人脸定位模块、阈值分割模块、人眼定位模块、疲劳检测、报警 等各模块的详细设计与实现。

4.1 视频采集模块
视频采集主要是通过本系统自己的 CAM8100-U 摄像头对受摄者进行实时数据 采集,本系统中,摄像头距离受摄者大约 0.5 米左右,这与实际环境驾车环境中,驾 驶员座位和理论摄像头安装位置是吻合的。 视频采集模块的工程流程是,程序开始后,检测有无摄像头,若有,则进入图 像预处理模块,若无则给出错误信息。 模块流程图如图 4-1 所示:

图 4-1

视频采集流程

OpenCV 中,我们调用 cvCaptureFromCAM()从摄像头中读取实时视频。 视频驱动加载成功后采集的一组帧序列如下:

22

华 中 科 技 大 学 硕 士 学 位 论 文

图 4-2

视频采集样本

4.2 人脸检测
本系统采用人脸检测算法是基于 Haar 特征的 AdaBoost 算法,这个算法的第一 步是对人脸样本的选取,人脸样本的选取我们是基于如下理由考虑的,在实际的驾 驶环境中,首先往往车主是同一人,那么训练的是同一个人在不同情况下不同表情 下的人脸,并且背景很有可能会相同,比方说,靠背坐骑,以及后排座椅和装饰等, 所以我们在本系统中选取的是 YALE 人脸数据库和在实验室环境下模拟的驾驶员图 片作为正样本,另外由于受硬件条件的影响,比如说 CPU 的处理能力,AdaBoost 算法的训练时间会有所不同,而负样本是拍摄的任意一组非人脸图片。其大小为

24 ? 26 。正负样本示例如图 4-3、4-4 所示:

图 4-3

训练用人脸图像

图 4-4

训练用非人脸图像

23

华 中 科 技 大 学 硕 士 学 位 论 文
最后得到的层叠分类器由 17 个强分类器组成,如表 4-1 所示:
表 4-1 层数 特征数 1 5 2 7 3 8 4 10 5 13 6 13 训练的层叠分类器特征数 7 17 8 21 9 31 10 16 11 17 12 17 13 19 14 14 15 20 16 15 17 19 18 13

在第二章中,我们已经讲过层叠分类器的组成及迭代的过程,通过实验的 结果,更加证明了之前所述,即,在最开始的阶段,大部分的负样本,即非人 脸都会因为不满足层叠分类器的特征函数,输出的阈值过高,所以,在初始的 几层迭代中,约 80% 以上的负样本即非人脸都会被排除掉,同时,由于随着迭 代的深入,强分类器的阈值也会越来越高,这样,提取的人脸特征也会越来越 接近真实值,最后输出的结果就是定位出的真实人脸。 YALE 人脸数据库,来自于耶鲁大学的人脸采集项目组,通过征集志愿者的人 脸图像,来实现多人脸多表情的目的,丰富了图形图像处理的数据。来自此数据库 的 15 个人的 10 种不同表情的人脸共 150 张组成, 图片大小为 112 ? 92 (单位: 像素) 。 其中一些图片:

图 4-5

YALE 数据库人脸图像测试集

实验室环境下拍摄的人脸图片,一共 125 张,大小为 640 ? 480 (单位:像素)。 部分图片:

图 4-6

拍摄人脸图像测试集

对二个测试集,利用训练好的分类器进行人脸检测。测试结果如下:
表 4-2 人脸检测实验结果

测试集

图像数

人脸数

正检

误检

正检率

误检率

耗时(毫秒)

24

华 中 科 技 大 学 硕 士 学 位 论 文
人脸数 YALE 拍摄人脸 150 125 150 125 138 103 人脸数 2 7 0.92 0.82 0.01 0.05 3.1 9.2

在表 4-2 的结果中,我们可以看出,AdaBoost 的正检率是比较高的,这跟选取 的人脸样本以及迭代的强分类器是相关的,当人脸样本包含的信息较丰富、人脸的 光照信息条件比较优越以及倾斜度较小的情况下,检测出的人脸是很准确的,同时 耗时也非常少,反之,当选取的样本集比较单调时,并且光照不均和有遮挡物等情 况下,搜索的条件就会越来越复杂,是的不仅在最初阶段的人脸检测出现偏差和漏 检,并且致使末尾阶段的错检率也会显著增加。 从表 4-2 的耗时来看,对于 112 ? 92 背景不复杂、光照条件较优越的目标图像, 平均检测耗时为 3.1ms,亦在相同的摄像头的硬件条件下,设置为 24 帧/s 的速度是 没有问题的,基本上能够满足实际驾驶情况的需要。并且,对于 640 ? 480 尺寸的相 同背景的图片进行的实验结果表明,平均检测时间为 9.2ms。 图 4-7 YALE 的一些实验结果:

图 4-7

YALE 的 AdaBoost 人脸检测效果图

图 4-12 拍摄照片的一些实验结果:

图 4-8

拍摄照片的 AdaBoost 人脸检测效果图
25

华 中 科 技 大 学 硕 士 学 位 论 文
4.3 图像预处理
图像预处理的目的是为了获取 RGB 图像的灰度图用来计算后面所有算法的初始 输入,并且通过图像预处理可以使得被灰度化的图像能够比较真实地接近原图的水 平,损失的图像信息能够比较好地被恢复,同时尽量减少了噪声点和光照的消极影 响。

图 4-9

图像预处理流程

4.3.1 灰度化 在色彩空间 RGB 模型中,若红、绿、蓝三个分量相等时,则彩色表示一种灰度 颜色,那么这个相同的值就是灰度值,所以,在计算机中,灰度图像的每一个像素 用一个字节就可以存储,其范围为 0-255。本系统采用的灰度化公式为: (4-1)

26

华 中 科 技 大 学 硕 士 学 位 论 文

图 4-10

灰度化流程

在 OpenCV 中,我们使用 cvCvtColor 对彩色图片进行灰度化。 对样本图片进行灰度化的图片如下:

图 4-11

灰度图

4.3.2 求直方图 在对彩色图片进行灰度化之后,就要进行直方图提取。直方图为灰度级的频率 函数,表示的是灰度图中从低到高每一灰度级像素的频率或每一灰度级的像素个数。 横坐标为灰度级,纵坐标是该像素出现的频率或者该灰度级出现的像素个数,这样 的分布图就是直方图,描述的是图像灰度分布的情况。 在 OpenCV 中,我们使用 cvCreateHist 创建直方图。 与图 4-11 对应的直方图如下:

27

华 中 科 技 大 学 硕 士 学 位 论 文

图 4-12

直方图

4.3.3 直方图均衡化

在求得直方图后,为了扩大图像的动态范围,我们可以使用最常用的技术就是 直方图均衡化。一般情况下,灰度图的亮度值是从 0 到 255 的,但是直方图却很有 可能显示实际亮度集中在亮度范围的中间范围内,那么直方图均衡化就是将这个范 围拉升的一种办法。 直方图均衡化的一个原理是一个分布(输入的亮度分布)被映射到另一个分布 (一个更宽,理想统一的亮度分布),就是说,我们希望把原始分布中 y 轴的值尽 可能在新分布中展开。而且还说明映射函数应该尽量是一个累计分布图。 灰度图的亮度值范围是 0-255,若亮度值为 1 的像素点的个数低于阈值,我们可 简单的把亮度为 1 的像素点的亮度全设为 0,同理,我们从高往低找,若亮度值为 254 的像素点的个数低于阈值, 我们可以把这些像素点的亮度设为 255 这样我们可以 从小到大,从大到小分别找到两个亮度,它们的像素点的个数恰大于阈值他们之间 的区域,我们可以认为是有效区域,也就是蓝色框出来的区域我们把这一区域扩展 到 0-255 的区域去,可实现均衡化效果 映射函数的要求应该是: (1)在 0≤f≤L-1 范围内,EQ(f)是一个单调递增函数。这是做为了确保增强处理 没有使原始图像的灰度排列次序被乱序化,原图的各灰度级在映射后依然保持从白 到黑 (或从黑到白)的排列。 (2)对于 0≤f≤L-1 有 0≤g≤L-1,此条件保证了映射前后灰度值在动态范围内的
28

华 中 科 技 大 学 硕 士 学 位 论 文
一致性。 累积分布函数(cumulative distribution function,CDF)是符合上述条件的,而且可 以将原图像直方图 f 的分布映射为新的拉升的 g 的均匀分布。 这时的直方图均衡化映 射函数为: gk = EQ(fk) = (ni/n) = pf(fi) (k=0,1,2,……,L-1) 在 OpenCV 中,我们使用 cvEqualizeHist 对输入的直方图进行均衡化。 下面为彩色图片的灰度图和直方图均衡化的图片: (4-2)

图 4-13

直方图均衡化图

4.3.4 中值滤波 中值滤波
[31]

的基本原理是把数字图像或数字序列中某一点的值用该点的一

个邻域中各边缘点值的平均值取代,和边缘的像素值比较接近的值,来消除孤立 的噪声点的影响。在灰度中,由于灰度图本身的计算公式的影响,噪声点是肯定 存在与其中的,并且图像的质量有很大的影响。作为一种图像平滑去噪的手段, 中值滤波既可以去除孤点噪声点,而且可以保持图像的边缘特性,比较适于光线 条件较好的环境。 在 OpenCV 中,我们使用 cvSmooth 对输入图像进行中值滤波。 下面为中值滤波图:

29

华 中 科 技 大 学 硕 士 学 位 论 文
图 4-14 中值滤波图

4.3.5 光照补偿 在实际的驾驶环境中,光照的影响不可谓不大,光照的影响随阳光的强度、角 度、天气、车况的遮挡、驾驶员的佩戴等各因素综合而成一个光照条件,在实验室 环境下,光照是被特殊选取的,但是实际环境中,需要我们对光线做处理。光照的 影响本身就是一个非常大的课题,在任何图像处理技术中,都不可避免会遇到光照 的影响,比方说光照不均、阴阳脸等等,在现阶段,还没有一个完全能适应各种不 同变化的光照自适应调节算法,所以本系统的算法也只是借鉴前人的基础上稍作调 整,使之能够尽量适应模拟真实驾驶环境的实验室环境。 本系统的光照处理流程是:设图像中有 N 个像素,把所有的像素按灰度值 的大小进行统计分布,并且统计所有亮度区间中所对应的像素数量 n,和区间内 的平均亮度。如果 n 趋于极大值时,那么把它们的对比度作为 “对比白 ”,让其 RGB 分量全部设为最满。接着,把其它像素点的 RGB 值也同样处理,处理后全 部大于 255 的值设为 255。 这里给出部分效果图片:

图 4-15

光照补偿效果图

4.4 二值化
接着是在灰度图的基础上进行二值化,使用的方法是 OTSU 算法。OTSU 算法 选择类间方差最大的灰度值为阈值,具有很好的效果。 其计算流程如下: (1) 计算直方图并归一化直方图

30

华 中 科 技 大 学 硕 士 学 位 论 文
(2) 计算图像灰度平均值 avgValue (3) 计算直方图的零阶 W[i]和一级矩 U[i] (4) 计算并找到最大的类间方差(between-class,variance)
variance[i] ? (avgValue ? w[i] ? u[i]) ? (avgValue ? w[i] ? u[i]) / ( w[i] ? (1 ? w[i])) 对 应

次最大方差的灰度值即为目标阈值。 程序流程图见图 4-16:

31

华 中 科 技 大 学 硕 士 学 位 论 文

图 4-16 OTSU 自适应阈值

32

华 中 科 技 大 学 硕 士 学 位 论 文
其中
2 (中值和方差 ? ? i ? 直方 ) i=0 最大类间方差(J) = ,J=0,1,2,...,255 J J ? 直方 ? (1 ? ? 直方) i=0 i=0 J

(4-3)

通过 OTSU 算法可以动态地获取每一帧每一时刻的最佳阈值分割,图 4-16 是对 上面图 4-14 进行自适应 OTSU 二值化的效果图:

图 4-17 OTSU 算法二值图

4.5 人眼的定位
本系统中人眼的定位依靠水平投影,根据眼睛的特点,在横坐标上,眉毛和眼 睛的横坐标大致相同,这样的话,在水平投影上,波谷最多的区域基本上可以确定 为眼部的横坐标区域;同样的道理,由于,在垂直投影上,波谷最多的那个区域可 以认为是眼部的纵坐标。 程序流程见图 4-17:

33

华 中 科 技 大 学 硕 士 学 位 论 文

图 4-18

水平投影

34

华 中 科 技 大 学 硕 士 学 位 论 文
表 4-3 为人眼定位检测结果:
表 4-3 测试集 YALE 拍摄人脸 人眼数 150*2=300 125*2=250 正检数 286 226 人眼定结果 正检率 0.95 0.904 误检率 0.05 0.096 每双眼平均 定位时间(ms) 189 146

误检数 14 26

从表 4-3 可知,对于背景相对比较简单的 YALE 人脸数据库来讲,人眼的定位 正确率很高,这是因为如前所述,在光照均匀的条件下,由人眼的几何特征而进行 的水平投影具有比较良好的效果,而且噪声点也相对较少,所以计算的时间也相应 地能够满足实时性要求。对于拍摄人脸则有些不同,虽然正确率也很高,可是相对 来讲,背景复杂了,而且有偏移等干扰因素的存在也降低了人眼的正确定位率。 正确定位人眼的一些结果:

图 4-19

人眼正确定位图像

从图 4-19 可以看出,水平投影的方法定位的结果还是比较精确的。 错误或漏检定位的结果:

图 4-20

人眼错误定位图像

图 4-20,错检的原因是所选取的人脸有偏移显现,或者由于一些干扰因素比如 眉毛和眼睛的存在,也会使得一小部分人眼定位会出现偏差。

35

华 中 科 技 大 学 硕 士 学 位 论 文
4.6 人眼的状态检测
人眼定位是在检测到的人脸的基础上进行的,而人眼的定位,也是在前面已经 检测到人脸上之后完成的。而状态的检测是根据定位出来的人眼的眼睑距离来确定 的,在水平投影中定位出来的人眼的坐标中包含上下眼睑的坐标,闭合度大小=上下 眼睑的距离差可以得到。

图 4-21

水平投影得到的眼睑

4.7 报警模块
报警模块主要是根据疲劳状态来鉴定。在此,我们做出了一个心电图,横坐标 是时间轴,纵坐标是人眼的闭合度,绿线是横坐标,红线部分是警戒线,也就是 P80 的值,这个值随不同的数据计算而来,比方说上下眼睑的距离为 1cm,那么这里就 是 1*0.8=0.8。当上下眼睑距离连续 3 秒之内位于 P80 下方时,给出报警信息。

图 4-22

眼睑闭合探测

4.8 本章小结
本章首先简要介绍了本系统的软件部分的整个工作流程,然后在此基础上详细

36

华 中 科 技 大 学 硕 士 学 位 论 文
介绍了视频采集模块的加载,之后,介绍了疲劳驾驶检测系统的各个系统模块的软 件实现方法。实验的结果分析将在下一章给出。

37

华 中 科 技 大 学 硕 士 学 位 论 文

5
5.1 实验结果

实验结果分析

本实验的测试环境是模拟真实驾驶环境的实验室中进行的,摄像头放在受 摄者约 0.5 米处,同时,对受摄者的一些活动加以限制,比方说在真实的驾驶 环境中,一般头部的活动范围会处于上下 30 度,左右在 30 度以内。摄像头的 参数是采集的图片格式为 JPG ,每秒采集 24 帧,大小设为 640 ? 480 ,单次测试 的时间间隔大约是 1 分钟,采集到的 24 ? 60 ?1 共 1440 帧图像。在报警信息中, 检测的人脸和定位的人眼均使用红框标注,波形图记录的是随时间推移,人眼 上下眼睑的距离值,对于每一时刻的人眼眼睑距离计算其 PERCLOS 值,若小 于 80%,则报警。实验结果如表 5-1 所示。
表 5-1 疲劳检测实验结果

眼睛闭合总帧数 999 1200 600 1140 264 699 1301 1082 457 777

眼睛开总帧数 441 240 840 300 876 741 139 358 983 663

PERCLOS 69 83 41 79 18 49 90 75 31 54

是否疲劳 否 是 否 否 否 否 是 否 否 否

38

华 中 科 技 大 学 硕 士 学 位 论 文

5.2 结果分析
本文采用基于 Haar 特征的 AdaBoost 级联分类器算法实现人脸检测,对人脸的 灰度图进行水平投影来确定人眼眼睑的距离,并由此来确定驾驶员是否处于疲劳状 态。这个方法有以下一些特点: (1) 比较准确地定位人眼 由表 4-3 可以看出, 水平投影定位人眼比较准确。 由于之前所述的人眼的分布符 合正常人的五官分布,并且是在原始图像的基础上先检测出人脸然后再定位人眼, 相当于缩小了搜索范围,所以相对来讲精度比较高。 (2) 比较快速的定位人眼 由表 5-1 可以看出,定位人眼所付出的计算开销和时间开销是很少的,这是因 为首先 AdaBoost 算法能够很精确地定位出人脸,缩小了人眼定位的范围,大大节省 了人眼水平投影的计算量,另外就是光照条件相对较好,为图像的二值化创造了一 个比较好的前提条件,从而在投影阶段,有干扰的部分和噪声点都比较少。 (3) 人眼整体状态的识别率较高 这是因为如前所述,人眼眼睑在能够很好地得到定位的情况下,那么根据 P80 就能很好地算出人眼眼睑距离是否处于疲劳状态,可是由前面的实验还是可以说明, 若光照环境等条件没有降到无法接受的地步的话,对人眼闭合的正检率依然可以保 持一个比较高的水平。 可是,值得注意是单眼的疲劳判别可能还有比较大的误差,最后对双眼状态的 判别精准度在很大程度还是要取决于对单眼状态的检测率。在测试集中,使单眼检 测状态较低的主要原因是: (1) 人眼先天性单眼比较小 对于某些测试的人来讲,他们本身眼睛就不大,所以在拍摄的过程采集的图片 也会表现得比较小,这种情况当然属于个例,可能在实际环境中,我们也无法很准 确地定位他的眼睛,所以在这种情况下,是很难通过计算机来判断是否属于疲劳状

39

华 中 科 技 大 学 硕 士 学 位 论 文
态。 (2) 相似区域产生干扰 在二值化后进行水平投影的时候,由于有些人的某些特殊情况,比如说,女性 的刘海遮住了眼部,或者某些男性的眼镜颜色偏浓,都会导致投影时产生多个大波 峰,这样,就会错把刘海、眼睛定位为人眼。 (3) 算法存在的缺陷 由于水平投影要求二值化后的图具有良好的边缘特性,因此,如果定位的人脸 不准确,或者范围偏大的话,都会扩大投影的范围,加大计算量不说,更会产生额 外的噪声点,所以人眼精确定位的前提是精确地检测人脸,因此,实际驾驶环境的 的疲劳状态等于人眼疲劳状态正检率和人脸正检率的乘积。人脸检测对人脸定位若 过窄或过宽,都会对人眼的正检率和状态分析产生重要影响。

40

华 中 科 技 大 学 硕 士 学 位 论 文

6
6.1 全文总结

总结与展望

本文通过 CCD 摄像头抓拍机动车驾驶员的人脸图像,通过基于 Haar 特征的 AdaBoost 的级联分类器算法来对人脸进行检测,随后根据检测出的人脸,缩小人眼 定位的范围, 根据对人脸二值图的水平投影来判断人的上下眼睑的距离, 并根据 P80 来判断驾驶员是否处于疲劳程度。本文的主要算法由两部分组成:人脸的检测与定 位以及人眼定位与状态判别。 通过对收集的 YALE 人脸数据库和模拟真实环境下的抓拍图片进行测试,实验 的结果表明,基于 Haar 特征的 AdaBoost 的级联分类器算法和水平投影的人眼定位 算发有以下的特点: 使用 AdaBoost 方法对很多正样本和负样本训练出的层叠分类器,能够对人脸有 很高的正检率。虽然受一些干扰因素,诸如眼睛、刘海、眉毛等影响可能会导致误 检、漏检等情况,但是在大多数场合却表现出强大人脸检测的高准确度和高效率。 同时,本系统有以下一些缺点: (1) AdaBoost 算法因为外部干扰因素会有误检和漏检 在人脸检测中存在一些干扰因素,比如驾驶员观望后视镜会引起抓拍不到正脸, 人脸区域会有阴阳脸、或有刘海、眼镜等干扰物体存在时,有可能存在误检和漏检。 (2) 光照补偿不能适应复杂环境下的变化。 (3) 水平投影对于人脸偏斜、饰物的适应性不够强。

6.2 展望
本文通过 CCD 摄像头抓拍机动车驾驶员的人脸图像,通过基于 Haar 特征的 AdaBoost 的级联分类器算法来对人脸进行检测,随后根据检测出的人脸,缩小人眼 定位的范围, 根据对人脸二值图的水平投影来判断人的上下眼睑的距离, 并根据 P80 来判断驾驶员是否处于疲劳程度。说明在模拟的真实的驾驶环境的实验室中,该算

41

华 中 科 技 大 学 硕 士 学 位 论 文
法可以比较好地的将正检率与检测速率结合在一块,基本在实际驾驶环境下对疲劳 检测的实时性要求。可是由于前述的本系统的一些缺点导致人脸检测的误检、漏检 以及人眼定位时的众多干扰因素的存在也会导致人眼的定位不准确,就实际投入运 行来讲,还有以下一些改进应该是可以完成的,具体讲,包含下述几点: (1) 提高检测人脸的正确率 由于基于 Haar 特征的 AdaBoost 级联分类器算法对于前期的人脸样本的训练非 常重要,这直接关系到人脸检测的准确与否,所以对于基于 Haar 特征的 AdaBoost 人脸检测的方法,可以从下述几点入手: 一是迭代时分类器的权重可以适当增加,二是搜索的步长也可以适当减少。 (2) 配合使用别的人脸检测算法 由于皮肤对光照比较敏感,通过配合使用肤色检测的方法,能够增加迭代分类 器的阈值,使得提取的人脸特征更加准确。不过若联合使用肤色检测法有诸如可能 会增加计算量等缺点,因此要权衡使用。 (3) 改善所抓拍图像的质量 在实际驾驶环境中,摄像头抓拍的人脸图像可以说是第一手详细资料,因此如 何改善和提高图片质量始终能够对后续工作产生积极影响。还有一种情况需要考虑 的就是如果使用红外摄像头的话,对红外摄像头的去噪将会是一个极大的困难,虽 然理论上,红外线能够照亮夜间散发红外线的物体,通过此方法,可以在晚间比较 准确地找到瞳孔,但是引入的噪声点确是异常多。 (4) 嵌入式平台的移植 实验的目的最终是将实验的结果最终移植到实际环境下,这就要求我们下一步 在改善系统功能和性能的同时,要构筑在嵌入式平台下的疲劳驾驶检测系统。

42

华 中 科 技 大 学 硕 士 学 位 论 文





在硕士论文即将完成之际,我要感谢我的导师万琳副教授,在我读研究生的两 年多时间里,万老师严谨的风格、认真的态度以及对学生无微不至的关怀都给我上 了深深的一课,她学识渊博,引导我进入图形图像处理和计算机视觉这个庞大浩瀚 的科研领域,她平易近人,关心学生,有如自己的亲生父母,让人感动。 在此研究生即将毕业之际,我想起了我不辞辛劳、勤劳善良的父母,是他们含 辛茹苦抚养我长大,供我读完大学和研究生,为我的成长付出了巨大的心血,在此, 我谨向我的父母致以最崇高的敬意,我会用我的双手为你们创造一个幸福的未来。 我还要感谢实验室的同学周一兵、夏荣进、彭俊杰、朱山、马聪,是他们组成 了我们 405 实验室,使得我们能有一个良好的科研和学习氛围,同时我们也建立了 良好的友谊,成为日后相互的良师益友。 感谢我的女朋友李娇一直以来对我的支持,是她给了我精神上的巨大鼓舞,让 我感受到了除了父母之外的人生温暖,让我的人生征途找到了一个准确的航标,让 我不再迷惘,在此,我也向她表示最诚挚的感谢。 临别之际,感谢的人实在太多,唯有好好工作,用报效祖国,服务人民来报答 各位的殷切期盼!

43

华 中 科 技 大 学 硕 士 学 位 论 文

参考文献
[1] 毛品, 初秀民, 严新平等. 汽车驾驶员驾驶疲劳监测技术研究进展. 中国安全科 学报, 2005, 15(3): 108-112 [2] [3] [4] NTHSA. Droswy Driver and Automobile Report. Kauichi S. Fatigue and Drowsiness Predictor for Pilots and Air Traffic controllers: 45[th] Annual ATCA Conference. 2000: 22-26 Mimuro T, Miiehi Y, Maemura T, Hayafune k. Mitsubishi Advanced Vehicle (ASV). Proeeedings of 4[th] world congress on Intelligent Transport System, Berlin, Germany1997. [5] [6] [7] [8] [9] EllenM. A, Graee. R, Steinfeld. A. A User-Centered Drowsy-Driver Detection and Warning System, Proceedings of ACM Designing User Experience 2003: 109-113. Bill Council. Third-Party Testing and Stirrings of the New Software Engineering. IEEE Software, 1999, 16(6): 76-79 Yang J and Waibel A. A real-time facetacker. Proc. 3rd IEEE Workshop on Application of computer vision, 1996: 142-147 Shi J, Wu YP. Identification and Analysis of Driver’s Active Safety Factors Journal of Shanghai Jiaotong University. 2000, 34(4): 27-29 杜志刚, 蒋宏, 潘晓东. 眼动仪在道路交通安全与环境评价中的应用. 第三届全 国公路科技创新高层论坛论文集(下册). 2006 [10] Yang M. H, Ahuja N, Kriegman D, A survey on face detection methods. http: //vision. ai. uiuc. edu/yang/papers/survey. ps. gz [11] 吴春莹. 浅谈汽车驾驶员疲劳监测技术的研究进展 . 机电一体化, 2007, 13(4): 43-47 [12] FHWA. Eye-activity measures of fatigue and napping as a fatigue counter measure. Technical Report No. MC-99-028, 1999 [13] 朱夏君. 人脸识别的研究及眼睛定位算法: [硕士学位论文]. 杭州: 浙江工业大 学图书馆, 2003 [14] BrunelliRPoggioT. Featurereeoition: features versus template. IEEEtrasaetions on
44

华 中 科 技 大 学 硕 士 学 位 论 文
Patten Analysis and Machine Intelligence, 1993, 15(10): 1042-1052 [15] Nikolaidis A, Pitas1. Facial feature extraction and Pose determination. Patten Recognition, 2000, 33(11): 1783-1791 [16] Lee C H, Kim J S, park J H. Automatic hunlan faces location in a complex background using motion and color information. Pattern Recgnition, 1996, 29(11): 1877-1889 [17] 王志良. 人工心理. 北京: 机械工业出版社, 2007: 123-126. [18] DaiY, NakanoY. Face-texture model based on SGLD and its application in face detection in a color sence[J]. Patten Recognition, 1996, 29(6): 1007-1017 [19] 何东风, 凌捷. 人脸识别技术综述. 微机发展, 2003, 13(l2): 75-78. [20] 高守传, 姚领田. Visual C++实践与提高一数字图像处理与工程应用篇 . 北京: 中国铁道出版社, 2006. [21] 孙晓玲. 人脸识别系统中眼睛定位方法的研究: [硕士学位论文? . 济南: 山东师 范大学图书馆, 2008 [22] 陶霖密, 彭振云, 徐光佑. 人体的肤色特征仁. 软件学报, 2001(5): 23-25 杜平, 张燕昆, 刘重庆. 基于广义对称变换的人脸检测和面部特征提取 . 计算机仿真, 2003, 20(2): 117-121 [23] 林维训, 潘钢, 吴朝晖, 等脸部特征定位方法仁. 中国图像图形学报, 2003, 8(8): 849-859 [24] 王磊. 基于计算机视觉的驾驶员疲劳瞌睡检测方法的研究: [硕士学位论文]. 济 南: 山东大学图书馆, 2005 [25] 郑培, 宋正河, 周一鸣. 基于 PERCLOS 的机动车驾驶员驾驶疲劳的识别算法. 中国农业大学学报, 2002, 7(2): 104-109 [26] 杨杰, 卢业力. 驾驶员疲劳度的实时检测. 武汉理工大学学报· 信息与管理工程 版, 2005, 27(5): 21-24 [27] 陈缎生, 刘政凯. 肤色检测技术综述, 计算机学报, 2006, 29(2): 194-207 [28] 徐全生, 李美怡. 人脸图像特征点的定位与提取方法的研究 . 沈阳工业大学学 报, 2007, 29(1): 90-94

45

华 中 科 技 大 学 硕 士 学 位 论 文
[29] Abdel-Mottaleb M, Elgammal. A. Face detection in complete environments from color images. Image Proeessing, 1999, 3(113): 622-626 [30] 章毓晋. 图像分割. 北京: 科学出版社, 2001 [31] 李英 , 赖剑煌 , 阮邦志 . 眼睛状态检测的组合方法 . 中国图像图形学报 , 2003, 8(10): 1140-1145 [32] 郭克友, 储江伟, 王荣本. 驾驶员眼部状态识别方法的研究. 系统工程与电子技 术, 2003, 25(10), 1186-1188; [33] 耿新, 周志华, 陈世福. 基于混合投影函数的眼睛定位. 软件学报, 2001, 14(8), 1394-1399; [34] 林维训, 潘纲, 吴朝晖. 脸部特征定位方法综述. 中国图像图形学报, 2003, 8(8), 849-859; [35] PrineenJ. IllingJ. KittlerJ. A formal definition of the Hough transform Properties and relationship Ps. Mathematical Imaging and Vision. 1992: 148-153 [36] 周激流, 张哗. 基于先验模板的人脸面部特征提取的研究 . 计算机辅助设计与 图形学学报, 2000, 12(5): 337-339; [37] John M. Carroll Scenarios and Design Cognition[C]. Proceedings of the 10thAnniversary IEEE Joint International Conference on Requirements Engineering. Washington, DC, USA: IEEE Computer Society, 2002: 3-5 [38] 陈文广, 董士海, 岳玮宁等. 手持移动计算中的人机交互技术研究. 计算机应用, 2005, 25(10): 2219-2223

46


相关文章:
基于OpenCV的车辆检测论文
基于OpenCV的车辆检测论文_计算机软件及应用_IT/计算机_专业资料。适用于本科生毕业设计,代码已运行成功。摘 要 智能交通系统(ITS)是目前世界交通运输领域正在研究和...
基于OpenCV的人脸检测系统设计与实现毕业论文设计说明...
毕业设计说明书 基于 OpenCV 的人脸检测系统设计与实现 1 黄河科技学院毕业设计说明书 第 II 页 毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺...
基于OpenCV的人脸检测系统设计与实现毕业论文设计说明...
毕业设计说明书 基于 OpenCV 的人脸检测系统设计与实现 1 黄河科技学院毕业设计说明书 第 II 页 毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺...
【原创】基于OpenCV的人脸检测系统设计与实现毕业论文...
毕业设计说明书 基于 OpenCV 的人脸检测系统设计与实现 1 毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文) ,是我个人...
【精品】基于OpenCV的人脸检测系统设计与实现毕业论文...
毕业设计说明书 基于 OpenCV 的人脸检测系统设计与实现 1 毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文) ,是我个人...
基于单片机的汽车疲劳驾驶报警系统 毕业论文
设计描述的是一个基于 AT89C2051 单片机的汽车疲劳驾驶检测预警系统。它可以用来 检测汽车驾驶员的疲劳程度,使用此心率计在一定程度上降低交通事故。而且,它的检测...
基于图像处理的防疲劳驾驶测试
基于图像处理的防疲劳驾驶测试 摘 要 随着计算机图像...使用 arm 和嵌入式操作系统实现.虽然 arm 的速度...4.1 OpenCV 简介【 OpenCV 3】 Intel 公司支持的...
基于OpenCV 的人脸检测系统设计与实现
祝鹏电子科技有限公司 http://www.zoopen.com.cn 基于 OpenCV 的人脸检测系统设计与实现 1.引言 OpenCV(Intel·Open Source Computer Vision Library)是 Intel 公...
基于图像处理的疲劳检测系统结题论文
因此,研制基于 PERCLOS 和图像处理疲劳检测系统,进行驾驶疲劳状态 的检测,在...? ? ? ? VC++2008 OpenCV2.0 .NET Framework .NET Framework windows 系统 ...
毕业论文-基于OpenCV的视频人脸识别系统的设计与实现
人脸检测是人脸识别的前提, 本文采用基于 OpenCV 的快速人脸检测算法实现视频图像中人脸的快速定位提取; (3) 设计了基于 AdaBoost 算法的视频人脸识别方法。 应用...
更多相关标签: