位置: IT常识 - 正文

基于Perclos&改进YOLOv7的疲劳驾驶DMS检测系统(源码&教程)

编辑:rootadmin
基于Perclos&改进YOLOv7的疲劳驾驶DMS检测系统(源码&教程) 1.研究背景

推荐整理分享基于Perclos&改进YOLOv7的疲劳驾驶DMS检测系统(源码&教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

疲劳驾驶成为了导致交通事故发生的重要因素之一,并呈现出逐年递增的趋势,若能设计出一种在驾驶员发生疲劳时,就能检测出驾驶员处于疲劳状态对其进行警告,这样就可以较好地降低交通事故的发生的概率.论文介绍了一种检测驾驶员在驾驶过程中是否为疲劳驾驶的方法,基于PERCLOS对驾驶员进行疲劳检测.首先对设备采集的人脸图像进行肤色分割,根据程序中设定的肤色阈值,确定图像中属于肤色的区域,对得到的肤色区域进行眼睛追踪,人脸特征部位进行积分投影操作,获取眼睛区域,捕捉眼睛的实时状态,并对眼睛的面积进行计算,最后根据疲劳值来判定疲劳状态.根据实验证明,该方法满足车载、实时、非接触的基本要求,并能准确地做出对驾驶员驾驶过程中是否出现疲劳的判定.

2.图片演示

3.视频演示

基于Perclos&改进YOLOv7的疲劳驾驶DMS检测系统(哈欠&喝水&抽烟&打电话检测)_哔哩哔哩_bilibili

4.算法流程图

5.PERCLOS测试原理

参考该博客提出的方案,PERCLOS(Percentage of Eyelid Closure Overthe Pupil Over Time)的含义是指在单位时间内眼睛闭合状态下所占用的时间百分比[4] 结合图 1 可以较为容易地理解其测量原理。根据下面的计算公式,通过测量 t1~t4 的值来计算 PERCLOS的值。 其中 f 为计算后求得的 PERCLOS 值,t1~t4 代表的[图片上传中…(image.png-f4d849-1669187187473-0)] 含义如测量原理图所示,表示时间区间内眼睛开闭程度。在具体实验中 PERCLOS 有三种度量标准,即为 P70、P80、EM,分别代表眼睛在不同闭合程度下所占用的时间百分比。其中 P80 指的是在测试过程中,检测对象的眼睛闭合面积超过80%所占用的时间百分比。大量研究表明,在三种度量标准中对疲劳驾驶的检测准确率最高的是P80[5]标准。因此本文采用此标准进行疲劳判定,计算公式如下: 用此方法追踪眼睛状态时,由摄像头对驾驶员的头部区域进行捕获,对采集过程中可能出现的过暗图像加上光照补偿,采取YCbCr对肤色进行分割来确定人脸区域,对眼部轮廓进行提取,运用图像处理来判断眼睛的开闭状态。定义检测过程中人物眼睛睁开程度只要满足大于20%这个条件,就记为睁开状态,反之为闭合。

6.人脸眼睛、嘴巴开闭状态、喝水抽烟打电话检测YOLOv7

YOLOv7是YOLO系列中最先进的新型目标检测器。根据论文所述,它是迄今为止最快、最准确的实时目标检测器,最好的模型获得了56.8%的平均精度(AP),这是所有已知目标检测器中最高的,各种模型的速度范围在 5~160 FPS。

本文主要介绍简化的YOLOv7论文解读和推理测试以及YOLOv7与 YOLO系列的其他目标检测器的比较。

基于Perclos&改进YOLOv7的疲劳驾驶DMS检测系统(源码&教程)

YOLOv7通过将性能提升一个档次建立了重要的基准。从YOLOv4开始在极短的时间内,我们看到YOLO家族的新成员接踵而至。每个版本都引入了一些新的东西来提高性能。早些时候,我们已经详细讨论了以前的 YOLO 版本。 不同的应用需要不同的模型。虽然有些人需要高度准确的模型,但有些人优先考虑速度。执行模型缩放以适应这些要求并使其适合各种计算设备。 在缩放模型大小时,会考虑以下参数: 1.分辨率(输入图像的大小) 2.宽度(通道数) 3.深度(网络层数) 4.阶段(特征金字塔的数量) NAS(Network Architecture Search)是一种常用的模型缩放方法。研究人员使用它来迭代参数以找到最佳比例因子。但是,像 NAS 这样的方法会进行参数特定的缩放。在这种情况下,比例因子是独立的。

YOLOv7论文的作者表明,它可以通过复合模型缩放方法进一步优化。在这里,对于基于连接的模型,宽度和深度是连贯地缩放的。

算法改进

YOLOv7 改进特征融合网络BiFPN结构 ,参考EfficientDet中提出的加权的双向特征金字塔网络,它允许简单和快速的多尺度特征融合。为了追求更高效的多尺度融合方式。以往的特征融合是平等地对待不同尺度特征,CVPR 2017的FPN指出了不同层之间特征融合的重要性,并且以一种比较简单,Heuristic的方法把底层的特征乘两倍和浅层相加来融合。之后人们也试了各种别的融合方法,比如PANet先从底向上连,再自顶向下连回去(上图b);NAS-FPN 采用神经架构搜索来搜索更好的跨尺度特征网络拓扑,但是在搜索过程中需要花费数千个GPU小时,并且发现的网络不规则,难以解释或修改,如上图 ( c )所示。总之上述都是一些人工各种连接的设计,包含Conv,Sum,Concatenate,Resize,Skip Connection等候选操作。很明显使用哪些操作、操作之间的顺序是可以用NAS搜的。

代码实现class Concat(nn.Module): # Concatenate a list of tensors along dimension def __init__(self, c1, c2): super(Concat, self).__init__() # self.relu = nn.ReLU() self.w1 = nn.Parameter(torch.ones(2, dtype=torch.float32), requires_grad=True) self.w2 = nn.Parameter(torch.ones(3, dtype=torch.float32), requires_grad=True) self.epsilon = 0.0001 self.conv = nn.Conv2d(c1, c2, kernel_size=1, stride=1, padding=0) self.swish = MemoryEfficientSwish() def forward(self, x): outs = self._forward(x) return outs def _forward(self, x): # intermediate result if len(x) == 2: # w = self.relu(self.w1) w = self.w1 weight = w / (torch.sum(w, dim=0) + self.epsilon) x = self.conv(self.swish(weight[0] * x[0] + weight[1] * x[1])) elif len(x) == 3: # final result # w = self.relu(self.w2) w = self.w2 weight = w / (torch.sum(w, dim=0) + self.epsilon) x = self.conv(self.swish(weight[0] * x[0] + weight[1] * x[1] + weight[2] * x[2]))7.系统整合

下图完整源码&环境部署视频教程&数据集&自定义UI界面 参考博客《基于Perclos&改进YOLOv7的疲劳驾驶DMS检测系统(源码&教程)》

8.参考文献

[1]荔小虎,唐晶磊.基于肤色匹配和积分投影结合的人眼定位方法研究[J].自动化应用.2018,(12).DOI:10.3969/j.issn.1674-778X.2018.12.026.

[2]杨恒,张再军,杨东,等.融合YCbCr肤色模型与区域标记的人脸检测算法研究[J].软件导刊.2016,(2).DOI:10.11907/rjdk.161028.

[3]牛清宁,周志强,金立生,等.基于眼动特征的疲劳驾驶检测方法[J].哈尔滨工程大学学报.2015,(3).DOI:10.3969/j.issn.1006-7043.201311044.

[4]何光辉,张太平.局部匹配的人脸识别方法[J].重庆大学学报:自然科学版.2012,(12).

[5]杨超,李博文.基于积分投影的眼睛定位系统设计[J].软件导刊.2011,(9).

[6]于兴玲,王民,张立材.基于PERCLOS的驾驶员眼睛状态检测方法[J].微计算机信息.2007,(14).DOI:10.3969/j.issn.1008-0570.2007.14.103.

[7]李杰,郝晓莉.一种基于椭圆肤色模型的人脸检测方法[J].计算机测量与控制.2006,(2).DOI:10.3969/j.issn.1671-4598.2006.02.012.

[8]李志春,何仁,林谋有,等.驾驶员疲劳检测技术的研究现状及发展趋势[J].农机化研究.2006,(5).DOI:10.3969/j.issn.1003-188X.2006.05.068.

[9]冯建强,刘文波,于盛林.基于灰度积分投影的人眼定位[J].计算机仿真.2005,(4).DOI:10.3969/j.issn.1006-9348.2005.04.021.

[10]王文成,常发亮.一种基于区域投影的人眼精确定位方法[J].光电子·激光.2011,(4).

本文链接地址:https://www.jiuchutong.com/zhishi/297882.html 转载请保留说明!

上一篇:【项目实战】Vue商城(vue3项目实战)

下一篇:css 实现虚线效果的3种方式详解(cssborder虚线边框)

  • 微信怎么设置主题皮肤(微信怎么设置主页背景)

    微信怎么设置主题皮肤(微信怎么设置主页背景)

  • 抖音的在线时间准吗(抖音的在线时间怎么设置)

    抖音的在线时间准吗(抖音的在线时间怎么设置)

  • 小米盒子不启动了怎么回事(小米盒子不启动怎么能恢复出厂设置)

    小米盒子不启动了怎么回事(小米盒子不启动怎么能恢复出厂设置)

  • 重启后苹果密码是多少(为什么苹果重启以后密码不对)

    重启后苹果密码是多少(为什么苹果重启以后密码不对)

  • 苹果pro平板有几款(苹果pro平板有几种型号)

    苹果pro平板有几款(苹果pro平板有几种型号)

  • 华硕主板需要开启csm吗(华硕主板需要开启性能模式嘛)

    华硕主板需要开启csm吗(华硕主板需要开启性能模式嘛)

  • 华为nova6视频美颜怎么设置方法(华为手机视频美颜怎么开启no 6)

    华为nova6视频美颜怎么设置方法(华为手机视频美颜怎么开启no 6)

  • 短视频垂直度什么意思(视频垂直度是啥意思)

    短视频垂直度什么意思(视频垂直度是啥意思)

  • nova7怎么设置返回键(华为nova7返回)

    nova7怎么设置返回键(华为nova7返回)

  • ios系统长期不更新(苹果系统太久不更新会怎么样)

    ios系统长期不更新(苹果系统太久不更新会怎么样)

  • 华为mate20怎么设置铃声(华为mate20怎么设置高清通话)

    华为mate20怎么设置铃声(华为mate20怎么设置高清通话)

  • 11promax国行和港版区别(11promax国行和港版哪个质量好)

    11promax国行和港版区别(11promax国行和港版哪个质量好)

  • 2g显卡和4g显卡的区别(2g显卡和4g显卡的差价)

    2g显卡和4g显卡的区别(2g显卡和4g显卡的差价)

  • 魅族16s怎么查看流量(魅族16s怎么查看电池损耗情况)

    魅族16s怎么查看流量(魅族16s怎么查看电池损耗情况)

  • 苹果商店下载不了小红书(苹果商店下载不了app怎么办)

    苹果商店下载不了小红书(苹果商店下载不了app怎么办)

  • 高德地图怎么找到收藏路线(高德地图怎么找回走过的路线)

    高德地图怎么找到收藏路线(高德地图怎么找回走过的路线)

  • 扣扣被盗如何找回(扣扣被盗如何找回手机号换了)

    扣扣被盗如何找回(扣扣被盗如何找回手机号换了)

  • 荣耀手环4怎么连接手机(荣耀手环4怎么开机)

    荣耀手环4怎么连接手机(荣耀手环4怎么开机)

  • 系统更新对手机有影响吗(系统更新对手机信号有影响吗)

    系统更新对手机有影响吗(系统更新对手机信号有影响吗)

  • 探探认证鉴权失败(探探过认证技术)

    探探认证鉴权失败(探探过认证技术)

  • 优活手环怎么设置中文(优活手环怎么设置天气)

    优活手环怎么设置中文(优活手环怎么设置天气)

  • qq绿钻怎么取消自动付费(qq绿钻怎么取消显示)

    qq绿钻怎么取消自动付费(qq绿钻怎么取消显示)

  • win10输入法没有选字框解决方法(win10输入法没有候选词)

    win10输入法没有选字框解决方法(win10输入法没有候选词)

  • 织梦dedecms自带文本编辑器ckeditor更换为kindeditor编辑器带代码高亮(将织梦dedecms转换到wordpress)

    织梦dedecms自带文本编辑器ckeditor更换为kindeditor编辑器带代码高亮(将织梦dedecms转换到wordpress)

  • 递延所得税计算题
  • 累计扣除税额
  • 可供出售金融资产和交易性金融资产
  • 个税申报和工资表不符
  • 个体户三万以内免个税
  • 零余额账户出纳做什么
  • 资产项目有
  • 混合经营销售额合并计算还是分开计算
  • 为什么出现补交税
  • 企业资金运动包括哪几个环节
  • 企业注销清算方案
  • 发票没认证可以作废吗?
  • 自然人能申请破产吗?
  • 企业代扣代缴的个人所得税应通过税金及附加科目核算
  • 企业代开租金专票开什么项目好?
  • 企业交城建税的分录
  • 主营业务税金及附加怎么算
  • 抵扣消费税的利益主要
  • 怎么修改财务负责人信息
  • 出口的增值税到底怎么算的
  • 这个月只开了销项负数怎么办
  • 没有签订合同需要申报印花税吗
  • 超市预付卡发票怎么开
  • 怎么进行现金流量分析
  • 发票金额大于开票金额
  • 腾讯电脑管家帮忙卸载
  • 电脑安全模式有声音吗
  • window10设置wifi热点
  • PHP:oci_num_fields()的用法_Oracle函数
  • linux传输数据
  • 企业发放职工薪酬属于资金的运用
  • 通过mac地址查找ip的协议
  • vue跳转到外部链接且带上参数
  • 搭建自己的php框架
  • 期初未缴税额有数字怎么处理
  • php制作微信小程序
  • php进程数设置
  • 提存计划怎么算
  • java pdf生成工具
  • php使用正则表达式提取abcdef
  • 普通发票还要交增值税吗
  • websocket前端vue
  • 专项应付款怎么转固定资产
  • 处置子公司利润表怎么处理
  • 土地增值税预征税率一览表
  • 公司一般户财务负责人是另一公司法人
  • 所得税包含哪些项目
  • 个人独资企业只有收入没有成本和费用
  • java面试相关
  • 帝国cms使用redis
  • 以土地使用权投资入股的会计处理
  • 以房租入股公司怎么交税
  • 用友t3财务软件价格表
  • 装修款需要开发票吗
  • 饭店开业多久可以正常
  • 取得技术服务费收入会计分录
  • 多交个税收到退回怎么办
  • 微信提现手续费多少?
  • 分公司有哪些特点
  • 公司无形资产可以作为公司注册资金吗
  • mysql2003错误如何解决10061
  • fedora改密码
  • 安装空调
  • linux安装sshd服务
  • 如何设置虚拟内存大小
  • nalntsrv.exe - nalntsrv是什么进程 有什么用
  • win10如何打开defender
  • win10移动版和win10区别
  • ExtJs扩展之GroupPropertyGrid代码
  • 网页字体大小调整方案
  • django orm sqlalchemy
  • java scripts
  • jquery如何调用
  • unity ugui组件
  • javascript工作
  • 国家税务局开票软件下载
  • 产品税务编号查询系统官网
  • 山东省2023年医改方案
  • 北京定额发票查验
  • 企业代扣代缴个税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设