【毕业设计】基于深度学习的驾驶员开车接打电话检测系统 YOLO 人工智能 机器学习

目录

前言

设计思路

一、课题背景与意义

二、算法理论原理

2.1 YOLOv5算法

2.2 特征融合

三、检测的实现

3.1 数据集

3.2 实验环境搭建

3.3 实验及结果分析

实现效果图样例

最后


前言

       📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。

        🚀对毕设有任何疑问都可以问学长哦!

         选题指导:

        最新最全计算机专业毕设选题精选推荐汇总

        大家好,这里是海浪学长毕设专题,本次分享的课题是

        🎯基于深度学习的驾驶员手持手机检测算法系统

基于深度学习的驾驶员手持手机检测算法系统 YOLO python 卷积神经网络 人工智能 机器学习

设计思路

一、课题背景与意义

       汽车已经成为生活中普遍使用的交通工具,驾驶员在驾驶过程中接、打电话等手持手机现象比较普遍,给交通安全带来极大的隐患。因此,对驾驶员手持手机行为进行检测具有重要意义。

二、算法理论原理

2.1 YOLOv5算法

       通过在YOLOv5骨干网络中引入改进的注意力机制模块,更好地获取信息,减少语义信息的损失,更好地提高小目标检测的精确度。其次,采用一种改进的特征融合方法提取三个尺度的特征,并对特征进行融合,以更好地提取局部信息。

毕业设计-基于深度学习的驾驶员手持手机检测算法系统 YOLO python 卷积神经网络 人工智能 机器学习

       根据检测驾驶员手持手机行为目标小、检测距离比较远的问题,为了提高模型的提取能力和检测精确度,在YOLOv5目标检测网络模型不同特征提取层中分别添加坐标注意力机、通道注意力机制、空间注意力机制,通过添加多注意力机制使得新的检测模型能够更好地检测小目标,同时也提高了模型的检测速度。

毕业设计-基于深度学习的驾驶员手持手机检测算法系统 YOLO python 卷积神经网络 人工智能 机器学习

2.2 特征融合

       为了解决小目标物体检测精度低的问题,通过不同特征金字塔只对相邻两个尺度的特征图进行融合,随着网络层次的加深,深层特征的会损失更多的信息,此时在融合相邻特征层也不能达到理想的结果,影响特征融合的效果。可以通过提取后不同层级尺度的特征进行融合,更充分地融合局部信息和全局信息。

毕业设计-基于深度学习的驾驶员手持手机检测算法系统 YOLO python 卷积神经网络 人工智能 机器学习

相关代码:

sift = cv2.SIFT_create()

# 检测关键点和计算描述符
kp1, des1 = sift.detectAndCompute(image, None)
kp2, des2 = sift.detectAndCompute(feature_points, None)

# 创建FLANN匹配器
flann = cv2.FlannBasedMatcher()

# 使用knnMatch进行特征点匹配
matches = flann.knnMatch(des1, des2, k=2)

# 进行比值测试,保留良好匹配
good_matches = []
for m, n in matches:
    if m.distance < 0.7 * n.distance:
        good_matches.append(m)

# 判断是否有物体与特征点对应
if len(good_matches) > 10:
    print("存在物体与特征点对应")
else:
    print("不存在物体与特征点对应")

三、检测的实现

3.1 数据集

       采用学长自制的数据集,用相机在不同道路拍摄的不同时间段、不同车型监控图像构成的数据集。训练集图像采用labelimg工具进行标注,共使用1000个数据,训练集、验证集、测试集划分比例为7:2:1。

毕业设计-基于深度学习的驾驶员手持手机检测算法系统 YOLO python 卷积神经网络 人工智能 机器学习

3.2 实验环境搭建

       实验环境为64位Windows 10专业系统,GPU大小为12 GB的NVIDIA GeForce RTX 3060显卡,处理器为Intel(R) Core(TM)i5-12490F。采用PyTorch深度学习网络框架,在GPU上进行实验。

3.3 实验及结果分析

训练后的损失函数曲线:

毕业设计-基于深度学习的驾驶员手持手机检测算法系统 YOLO python 卷积神经网络 人工智能 机器学习

       改进的YOLOv5算法的准确度值达到了71.9%,改进YOLOv5网络模型,精度提升了2.1%,改进的YOLOv5则在YOLOv-CA和YOLOv5-FIRI的基础上mAP值仍有提高。

毕业设计-基于深度学习的驾驶员手持手机检测算法系统 YOLO python 卷积神经网络 人工智能 机器学习

       提出的改进算法模型相比于YOLOv5-FIRI在不同类别上的准确率、精确率和召回率均有所提升。

毕业设计-基于深度学习的驾驶员手持手机检测算法系统 YOLO python 卷积神经网络 人工智能 机器学习

相关代码如下:

import tensorflow as tf

# 加载和预处理数据集
def load_dataset():
    # TODO: 加载水表字轮的图像数据集,并进行预处理(如图像大小调整、归一化等)
    pass

# 构建模型
def build_model():
    model = tf.keras.Sequential()
    
    # TODO: 添加卷积层、池化层、全连接层等构建深度学习模型的代码
    # 可以使用常见的卷积神经网络架构,如ResNet、VGG等
    
    return model

# 进行模型训练
def train_model(model, X_train, y_train):
    model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
    model.fit(X_train, y_train, epochs=10, batch_size=32)
    
# 进行模型评估
def evaluate_model(model, X_test, y_test):
    loss, accuracy = model.evaluate(X_test, y_test)
    print("Test Loss:", loss)
    print("Test Accuracy:", accuracy)

实现效果图样例

创作不易,欢迎点赞、关注、收藏。

毕设帮助,疑难解答,欢迎打扰!

最后

  • 13
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值