摘要:近年来汽车的大规模普及和交通环境的改善为人们的生活带来了极大地便利,同时也带来了交通事故的风险。绝大部分的交通事故都是由于驾驶员的疲劳驾驶、分心驾驶等危险驾驶行为导致的,因此减少交通事故发生的一个主要方向就是对于驾驶员行为状态的监测[5]。通过对于驾驶员的面部图像的分析、监测,可以有限减少交通事故的发生,极大地提高驾驶的安全性。本文基于机器学习和数字图像处理技术,在K近邻算法的基础上训练模型用于驾驶员面部特征提取,从而为判断驾驶员的状态提供依据,并在此基础上开发可用于驾驶员状态实时监测的程序。我们使用足够数量和质量的样本对文中提出的方法进行实验,结果表明,该算法可以有效的判断驾驶员的当前状态。
关键词:疲劳驾驶;机器学习;图像处理;人工智能;K近邻
目录
摘要
Abstract
1. 绪论-1
1.1 研究背景与意义-1
1.2 国内外研究现状-1
1.3 课题主要研究内容-2
2. 驾驶员面部图像处理-3
2.1 驾驶员面部图像预处理-3
2.1.1 图像灰度化-3
2.1.2 图像标准化和归一化-3
2.2 人脸识别与检测技术-4
2.2.1 Haar-like特征-4
2.2.2 积分图和Adaboost算法-5
3. 驾驶员面部分类和监测系统设计-8
3.1 机器学习-8
3.2 K最近邻算法-8
3.3 KNN的改进算法-9
3.3.1 基于距离加权的KNN算法-9
3.3.2 基于属性值相关距离的KNN算法-10
3.3.3 K-D树算法-10
3.4 驾驶员状态判定算法设计-10
3.5 驾驶员实时监测程序设计-11
4. 驾驶员实时监测程序设计和测试-13
4.1 程序开发基础环境-13
4.1.1 Python编程语言-13
4.1.2 OpenCV计算机视觉库-13
4.1.3 机器学习和科学计算库-13
4.2 驾驶员面部数据集预处理-13
4.2.1 图像预处理-14
4.2.2 驾驶员面部区域识别-15
4.2.3 驾驶员面部区域裁剪-17
4.3 KNN算法训练结果分析-18
4.4 驾驶员实时监测程序设计和结果分析-21
4.4.1 驾驶员实时监测程序设计-21
4.4.2 驾驶员监测程序测试及结果分析-26
5.-总结与展望-28
参考文献29
致谢32
附录33