当前位置: 首页 > news >正文

基于卷积神经网络的疲劳驾驶检测识别系统源码,含数据集和权重文件

代码下载地址:基于卷积神经网络的疲劳驾驶检测识别系统

更新说明

针对近来很多同学反映的在新版本pytorch下程序报错:
“RuntimeError: Legacy autograd function with non-static forward method is deprecated. Please use new-style autograd function with static forward method. (Example: https://pytorch.org/docs/stable/autograd.html#torch.autograd.Function)” 。
做了修改了detection、Test、xxx_detection等部分代码,可适应新版本pytorch。另外旧版本pytor请选择old-pytorch分支。

运行环境(Excution Environment):

1.python 3.7.1
2.pytorch 1.0.1
3.python-opencv
4.cuda大概可能是8或者9,时间太久记不清了。 不过主要还是显卡-cuda-cudnn-pytorch版本对应吧。

说明(Notions)

预训练的权重文件[vgg_16]

1、具体的配置文件请看 Config.py 文件–file that save the configuration
2、训练运行 python Train.py --file that start the training and control the loops
3、单张测试 python test.py --file that test ssd with one image
4、测试网络性能 python eval.py --file that evaluate the performance
5、测试视频 python camera_detection.py --file that test the cnn with a video sequence

目前进度(Process: All Done):

内容进度
PERCLOS 计算DONE
眨眼频率计算DONE
打哈欠检测及计算DONE
疲劳检测DONE

主要文件说明(File in the repo):

ssd_net_vgg.py 定义 class SSD 的文件(define the ssd cnn)
Train.py 训练代码 (training)
voc0712.py 数据集处理代码(没有改文件名,改的话还要改其他代码,麻烦) (processing the dataset)
loss_function.py 损失函数 (loss function)
detection.py 检测结果的处理代码,将 SSD 返回结果处理为 opencv 可以处理的形式
eval.py 评估网络性能代码
test.py 单张图片测试代码 Ps:没写参数接口,所以要改测试的图片就要手动改代码内部文件名了
l2norm.py l2 正则化
Config.py 配置参数
utils.py 工具类
camera.py opencv 调用摄像头测试
camera_detection.py 摄像头检测代码 V1,V2
video_detection.py 视频检测,V3

数据集结构:

/dataset:

/Annotations 存放含有目标信息的 xml 文件
/ImageSets/Main 存放图片名的文件
/JPEGImages 存放图片
/gray2rgb.m 灰度图转三通道
/txt.py 生成 ImageSets 文件的代码

权重文件存放路径:

weights
测试后的图片存放位置:
tested

参考代码:

https://github.com/amdegroot/ssd.pytorch

数据集和权重文件:

(针对部分代码中涉及的文件(指ssd_voc_5000_plus.pth),翻了翻旧U盘,算是找到了。)
百度云:
数据集和权重文件
提取码:hwsi
Onedrive:
数据集
权重文件

测试

1、运行 Train.py 训练
2、eval 可以用于测试整个测试集,test 用于单张图片测试。

代码下载地址:基于卷积神经网络的疲劳驾驶检测识别系统

相关文章:

  • springboot多项目结构
  • 对认定为奉贤区单项冠军企业的给予一次性30万奖励
  • 一辈子干好一件事,你就了不起
  • 前端基础(十)_Dom自定义属性(带案例)
  • CSDN编程竞赛 ——— 第二十一期
  • java笔记(十二)重新理解java基本特性
  • 【BP靶场portswigger-服务端8】文件上传漏洞-7个实验(全)
  • STM32常用开发案例,STM32开发方案含USB升级、Fatfs存储、软件定时器、数据结构、按键处理库、解析单行带空格的字符串
  • kettle简单的ETL抽取同步两个库之间的数据
  • C语言常用字符串函数
  • 基于 js 制作一个贪吃蛇小游戏
  • 你知道猜凶手和猜名次如何利用编程实现吗?
  • SpringBoot动态生成接口
  • 一图读懂mybatis 查询接口的源码流程
  • Linux中的vim最小集、指令集及其配置
  • 网络传输文件的问题
  • .pyc 想到的一些问题
  • [译]CSS 居中(Center)方法大合集
  • canvas绘制圆角头像
  • CAP理论的例子讲解
  • ESLint简单操作
  • java多线程
  • Linux各目录及每个目录的详细介绍
  • Mocha测试初探
  • Next.js之基础概念(二)
  • PHP的Ev教程三(Periodic watcher)
  • Rancher-k8s加速安装文档
  • STAR法则
  • 分布式事物理论与实践
  • ------- 计算机网络基础
  • 简单基于spring的redis配置(单机和集群模式)
  • 简单易用的leetcode开发测试工具(npm)
  • 前端代码风格自动化系列(二)之Commitlint
  • 悄悄地说一个bug
  • 人脸识别最新开发经验demo
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ​力扣解法汇总946-验证栈序列
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • ###C语言程序设计-----C语言学习(3)#
  • $.ajax()
  • (SpringBoot)第七章:SpringBoot日志文件
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (剑指Offer)面试题34:丑数
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (一)VirtualBox安装增强功能
  • ..回顾17,展望18
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .net framework profiles /.net framework 配置
  • .Net Web项目创建比较不错的参考文章
  • .NET 设计模式—适配器模式(Adapter Pattern)
  • .net 怎么循环得到数组里的值_关于js数组
  • .NetCore实践篇:分布式监控Zipkin持久化之殇