毕业设计-基于深度学习的交通标志检测与识别系统 YOLO 卷积神经网络 算法

目录

前言

设计思路

一、课题背景与意义

二、算法理论原理

2.1 卷积神经网络

2.1 YOLOv5算法

三、交通标志检测的实现

3.1 数据集

3.2 实验环境搭建

3.2 实验及结果分析

实现效果图样例

最后


前言

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

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

         选题指导:

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

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

        🎯基于深度学习的交通标志检测与识别算法

毕业设计-基于深度学习的交通标志检测与识别系统 YOLO 卷积神经网络 算法

设计思路

一、课题背景与意义

        近几年经济社会的不断发展,人们物质水平得到显著提高,相应的私人汽车数量迅速扩增,在方便人们出行、提升城市化发展的同时,也给道路交通状况产生了不小的压力,包括着由于城市化快速发展造成的交通堵塞问题及道路安全问题。为了解决这些道路交通安全问题,智能交通系统应运而生,交通系统的智能化是当前发展的主流,发展更加智能化的道路交通系统在很大程度上可以缓解道路交通压力,减少交通事故的发生。

二、算法理论原理

2.1 卷积神经网络

       卷积神经网络是一个深度学习框架,可直接将识别图像作为输入,不像传统算法那样复杂,这种网络结构更不会受到一些常见变形的干扰。大体来说,卷积网络核心部分为局部感受野、权值共享、汇聚。卷积神经网络基本结构为卷积层、汇聚层、全连接层。其整体结构如图2-1所示。由图可知,卷积神经网络包含N个连续卷积块和K个全连接层,而每个卷积块又包含连续的M个卷积层和b个汇聚层。

毕业设计-基于深度学习的交通标志检测与识别算法设计 YOLO 卷积神经网络

      Faster R-CNN,直接利用RPN(Region Proposal Network)网络计算候选框。在性能方面,不仅会获得更快的收敛速度,更会通过RPN和CNN联合训练提升整体效果。Faster R-CNN摒弃了选择性搜索的方法,新引入RPN区域候选网络,将提名、分类、回归处理共用卷积特征,对网络进一步加速。

毕业设计-基于深度学习的交通标志检测与识别算法设计 YOLO 卷积神经网络

       为了在提高检测准确率的同时,达到较好的实时性,出现了基于端到端的目标检测方法,这些方法避免了区域提名过程的高计算复杂度。基于端到端的方法包括SSD和YOLO。SSD网络分前后两部分,前半部分是完成图像的分类任务;后半部分是完成图像检测任务多尺度特征映射层,SSD同时将不同尺度特征进行映射,检测不同大小的物体。

毕业设计-基于深度学习的交通标志检测与识别算法设计 YOLO 卷积神经网络

      YOLO提出一个新方法:通过输出层进行回归候选框来完成分类任务。说的简单一些,其实就是只浏览一次目标,然后把目标判定和识别任务合为一种任务,在识别速度上可达到每秒45帧,明显提升识别速度。对于一幅图片,YOLO的处理是首先把输入图片归一化为一定大小,然后输入到卷积网络中,最后对模型置信度设定阈值得到目标的位置和具体类别。

毕业设计-基于深度学习的交通标志检测与识别算法设计 YOLO 卷积神经网络

2.1 YOLOv5算法

       通道注意力机制在特征提取时可以增强小目标的有效特征,抑制无关特征,因此将通道注意力机制引入到YOLOv5网络的Backbone部分。其中,F为残差学习,目的是在引入注意力机制的同时并不会使得网络退化。该网络在进行特征提取时,采用引入的通道注意力机制重新对特征在通道维度上标示,加强有效特征,抑制无关特征的干扰,在新得到的注意力特征上实现对交通标志的检测。因此,通道注意力机制是YOLOv5网络特征提取部分的核心。

毕业设计-基于深度学习的交通标志检测与识别算法设计 YOLO 卷积神经网络

        通道注意力模块中的全连接网络结构:首先分别对特征IF全局平均池化、全局最大池化,然后将得到的特征进行拼接,最后经三个全连接层得到最终的输出特征。

        根据交通标志检测场景存在小目标样本以及含有大量无关信息干扰的特点,对SENet通道注意力机制进行改进,保留了有利于检测任务的有效信息,抑制了无关信息对检测结果的干扰。

       对Backbone部分进行改进,引入多个GhostBottleneck网络结构替换之前的BottleneckCSP结构,并引入SENet通道注意力机制。

        直接用EfficientNet来进行交通标志数据集的细分类,分类准确率尚不够好,还有提升的空间。在这一部分中,在EfficientNet网络中每次下采样之前引入CBAM注意力机制,提升网络对于交通标志重要特征图的注意力。使用CBAM模型旨在对所使用的交通标志图像数据集提取最有效的特征图,从而进一步提高细分类准确率。

在这一部分中,通过在预训练网络中每次下采样之前加入CBAM注意力机制,来提升网络对交通标志某些特征和空间的注意力,以此更好的提升对交通标志分类的准确率。引入CBAM之后的网络结构如图4-5所示。

三、交通标志检测的实现

3.1 数据集

对于提出的基于改进后的YOLOv5的交通标志检测与分类算法,实验采用公开的交通标志检测数据集。数据集共有900幅不同场景下的交通标志图像,每幅图中的交通标志在0到6个不等。图片均为RGB三通道图片,道路交通标志分为禁止、警告、指示、其它四大类别,包含43小类。交通标志图片分辨率为1360x800,其中每张图像包含的交通标志的分辨率则从16x16到128x128不等。

3.2 实验环境搭建

实验中用到的方法都是基于深度学习框架Pytorch。训练和测试步骤在CPU为Intel Core i7-9750H,GPU为NVIDIA GTX 2080Ti的环境上运行,运行软件为Pycharm,加速环境为CUDA10.0和cuDNN7.3。实验相关超参数设置如表3-2所示。

3.2 实验及结果分析

改进前后YOLOv5的损失函数:改进前的YOLOv5网络在迭代次数为140时,损失值出现明显的断崖式下降,极不稳定,而改进后的YOLOv5网络在中间出现明显的迭代次数在0-50左右时,损失值急剧下降,随着迭代次数持续增加,损失值下降速率开始减缓,迭代次数到200左右时趋于平缓,而且后续损失值都在0.01左右,达到了理想的效果。

引入了改进的通道注意力机制,首先对注意力中不同特征压缩方法进行对比,将四种特征压缩方法分别引入到YOLOv5中,保证四种方法采用同样的训练和测试方法,在德国GTSDB数据集上进行实验对比,实验结果如表3-3所示。

通道注意力的特征压缩方法中,单一的全局最大池化稍微优于单一的全局平均池化,对特征全局最大池化(MaxPool)和全局平均池化(AvgPool)的通道直接相加稍微好于单一的特征维度压缩方法,而对特征拼接检测效果是最优的,证明所修改的通道注意力特征压缩方法是有效的,所以在通道注意力中选择对全局最大池化和全局平均池化拼接的方法进行交通标志的检测。

为了对比改进后的YOLOv5网络与其他主流端到端的目标检测方法在街景交通标志图像上的检测性能,分别计算模型预测结果在GTSDB数据集上的Precision和Recall值,以Precision为纵坐标,Recall为横坐标,绘制出P-R曲线如下所示。

改进后的YOLOv5级联改进后的EfficientNet组成。其算法步骤如下所示。

 将改进后的YOLOv5与改进后的EfficientNet级联后的网络与单一的YOLOv5网络识别精确率对比来说,在识别精确率方面提升了4%,有了明显的提升。虽然在识别每帧图像时间方面要差于单一YOLOv5网络,但仍优于Faster R-CNN以及SSD网络,满足较好的实时性和精确率要求。

部分代码如下:

traffic_signs = ['stop', 'yield', 'speed_limit', 'no_entry', 'pedestrian_crossing']

def detect_traffic_signs(image_path):
    # 打开图像
    image = Image.open(image_path)

    # 使用YOLOv5检测交通标志
    results = model(image)

    # 处理检测结果
    detected_signs = []
    for detection in results.xyxy[0]:
        class_index = int(detection[5].item())
        confidence = detection[4].item()
        class_label = traffic_signs[class_index]
        if confidence >= 0.5:  # 设置置信度阈值
            detected_signs.append(class_label)

    # 返回检测到的交通标志列表
    return detected_signs

实现效果图样例

毕业设计-基于深度学习的交通标志检测与识别系统 YOLO 卷积神经网络 算法

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

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

最后