Advertisement

Python+OpenCV+dlib汽车驾驶员疲劳驾驶检测!(1)

阅读量:

这篇文章介绍了学习Python的一些资源和工具,并详细说明了一个基于OpenCV的人脸眨眼检测算法的实现过程。主要内容包括使用dlib进行脸部位置和特征点检测,并通过计算眼EAR值来判断眨眼次数。此外文章还分享了作者整理的学习路线、视频教程、练手项目等内容,并提供了大量电子书和其他学习资料供粉丝获取。

检测工具

dlib 是一个经过验证的经典开源工具库,在计算机视觉领域具有重要地位。该数据集专为精确识别面部特征设计,在实际应用中能够高效实现精准的人脸定位和相关分析。该模型集成了多方面的算法优势,在实际开发中能够快速实现准确的人脸识别功能。

代码思路

第一步:使用dlib.get_frontal_face_detector() 获得脸部位置检测器

第二步:使用dlib.shape_predictor获得脸部特征位置检测器

第三步:分别获取左右眼面部标志的索引

第四步:打开cv2 本地摄像头

第五步:从视频流进行循环,读取图片,并对图片做维度扩大,并进灰度化

第六步:使用detector(gray, 0) 进行脸部位置检测

在第七步中,我们遍历所有脸部关键点的位置信息,并调用预处理器(predictor)函数(gray, rect)来提取每个关键点的具体坐标。

第八步:将脸部特征信息转换为数组array的格式

第九步:提取左眼和右眼坐标

第十步:构造函数计算左右眼的EAR值,使用平均值作为最终的EAR

第十一步:通过调用cv2.convexHull函数计算得到凸包的位置坐标;随后调用cv2.drawContours函数,并按照指定的参数设置绘制轮廓线;最后完成图像处理绘图操作

第十二步:进行画图操作,用矩形框标注人脸

第十三步:分别对左眼与右眼进行评分,并计算其平均值作为最终评价值。若该评价值低于预设阈值标准,则计数加一;当连续三次检测结果均低于该阈值时,则判定为一次眨眼行为

第十四步:进行画图操作,68个特征点标识

第十五步:进行画图操作,同时使用cv2.putText将眨眼次数进行显示

第十六步:统计总眨眼次数大于50次屏幕显示睡着。

np.linalg.norm: 0.284s

dist.euclidean: 0.596s

从事软件开发工作已有数年,在这个过程中系统地学习了多种编程语言。我发现掌握优质的学习资源对新语言的学习至关重要。这些年里我收集了许多Python相关的宝贵资料(干货),这些资源对我来说确实已经不再直接有用。然而,对于希望自学Python的人来说,这些资料无疑是一个宝贵财富(宝藏),能够帮助他们节省大量时间和精力。

不要在网上盲目学习吧?最近我对资源进行了系统性更新哦!如果你是我平台上的忠实粉丝的话,在这个月的会员权益大放送期间就可以享受到此福利啦。

我先来介绍一下这些东西怎么用,文末抱走。


(1)Python所有方向的学习路线(新版)

经过几日的专注整理工作后,我对Python技术的所有方向进行了系统性的梳理,并将其归纳为各个领域的知识点汇总。这一总结的主要用途体现在:通过这些学习资料的指引,你可以轻松找到相应领域的学习资源,并确保自己的学习进度较为全面。

最近我才对这些路线做了一下新的更新,知识体系更全面了。

在这里插入图片描述

(2)Python学习视频

包括了Python入门课程、爬虫技术、数据分析课程以及网页开发课程的学习视频。这些课程总共约有100个左右。整体内容相对较为简洁,但对于初学者来说已经足够使用。掌握这些内容后,你可以参考我的学习路线去拓展其他相关知识。

在这里插入图片描述

(3)100多个练手项目

在观看视频进行学习时,单纯依靠视觉刺激和思考而不进行动手实践是不够有效的。科学的学习方式是建立在深入理解的基础上并加以实践运用的。因此,在掌握了相关知识后进行针对性的实践练习是一个理想的选择。其中涉及的项目众多且整体水平参差不齐,在这种情况下建议大家选择那些适合自己能力范围内的实践项目来进行强化训练。

在这里插入图片描述

(4)200多本电子书

这些年我也收集了成套的电子书籍,大约有两百多本。当携带实体书籍较为不便的时候,我会通过电子设备随时翻阅。实际上这些电子资源并不逊色于视频教程,在某些情况下甚至更为实用。尤其是那些权威的技术书籍。

基本都是核心技术和经典方案均有涉及。为了避免侵权嫌疑,本案例未提供相关图片。经本人核查无误。

(5)Python知识点汇总

知识点汇总在某种程度上类似于课程规划方案。然而,在细节上有显著的区别在于:具体的知识点进行了较为详尽的阐述;其中对各个具体知识点进行了简明扼要的介绍;相对而言,则是一个较为概括且简洁的设计;为了帮助用户更好地理解并掌握相关知识,在特定领域内系统地介绍了所需的技术栈。

在这里插入图片描述

(6)其他资料

除此之外,在没有电脑设备的情况下也能通过手机进行学习。掌握理论后可以通过编写代码进行实践验证。这些资源都可以作为粉丝们的宝贵学习资料提供给他们。

在这里插入图片描述

这些都不是什么稀有物品或非常有价值的物品,但对于那些资源有限或者资源质量不高的学习者而言确实很有帮助,如果有需要的话都可以免费领取.所有关注过我的人都是可以免费领取这些东西的.

互联网上的技术资料浩如烟海;然而若所学的知识缺乏系统性,在遇到问题时往往停留在浮于表面的状态,并且停止了深入探究,则难以实现实质性的技术进步。

如果需要这份系统化学习资料的朋友,请您点击这里免费获取

单兵作战效率高,但团队合作则能走得更远!无论你是否已经是IT行业的资深从业者或只是对此充满热情的新手,都欢迎加入我们的圈子(技术交流.学习资源.职场吐槽.大厂内推.面试辅导),让我们一起学习成长!

全部评论 (0)

还没有任何评论哟~