目录

前言

设计思路

一、课题背景与意义

二、算法理论原理

2.1 GhostNet 网络

2.2 融合注意力机制

三、检测的实现

3.1 数据集

3.2 实验环境搭建

3.3 实验及结果分析

实现效果图样例

最后


前言

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

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

         选题指导:

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

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

        🎯基于深度学习的车辆目标跟踪算法系统

毕业设计-基于深度学习的车辆目标跟踪算法系统 YOLO python 卷积神经网络 人工智能 机器学习

设计思路

一、课题背景与意义

       对于车辆目标跟踪算法,由于现实中存在多种因素影响车辆跟踪的精度,因此基于深度学习类的目标跟踪算法效果更好,但往往伴随着较高的时间复杂度、较大的内存空间占用和较高的算力需求,使算法难以脱离PC机,不利于进一步的实际应用。研究基于深度学习的车辆目标跟踪算法如何在嵌入式平台上实现非常具有现实意义,为进一步在嵌入式设备上实现更高级的计算机视觉任务打下基础,同时对于ITS的推广具有重要的研究意义和实用价值。

二、算法理论原理

2.1 GhostNet 网络

       GhostNet可以通过高效的线性运算和更少的计算参数实现特征图的丰富产出,主要设计思想是想用更低成本的计算量获得部分特征信息而不是直接去除掉冗余部分特征。GhostNet网络基于MobileNetV3,对倒瓶颈残差结构和激活函数作出了调整,在计算性能上超越了后者。出现车辆目标密集的时候,各检测框重叠遮挡现象频发,当它们的重叠部分超出提前人为设定好的阈值时,置信度得分最大的结果就会被输出,其他检测框就会舍去。

毕业设计-基于深度学习的车辆目标跟踪算法系统 YOLO python 卷积神经网络 人工智能 机器学习

Ghostbottleneck是可复用模块,由两个堆叠的Ghost模块组成。该模块根据步长的不同分为两种。

毕业设计-基于深度学习的车辆目标跟踪算法系统 YOLO python 卷积神经网络 人工智能 机器学习

2.2 融合注意力机制

       随着网络的加深,预测任务的复杂化,深浅层次的语义特征的拼接叠加会降低网络性能,而注意力机制模块的加入可以抑制来自浅层网络中的不准确语义特征,增强重要特征信息,从而提高网络的表达能力。SE注意力机制通过为包含重要信息的通道赋予更大的权重来提升模型性能,将其嵌入到分类或检测模型中取得了不错的效果,但其通过全局平均池化将空间信息嵌入通道时丢失了一部分信息。而CBAM注意力机制同时使用了全局平均池化与全局最大池化,能够防止信息丢失。

毕业设计-基于深度学习的车辆目标跟踪算法系统 YOLO python 卷积神经网络 人工智能 机器学习

相关代码:

import tensorflow as tf
from tensorflow.keras.layers import Conv2D

# 创建模型
def create_model():
    model = tf.keras.Sequential()
    
    # 添加降采样的卷积层
    model.add(Conv2D(64, (3, 3), activation='relu', strides=(2, 2), padding='same', input_shape=(224, 224, 3)))
    
    # 添加更多的卷积层和其他层
    
    return model

三、检测的实现

3.1 数据集

       数据集的制作是学长自己手动采集,通过相机在某公路口录制了10小时而来,地点覆盖在某城市中不同的24个位置,数据集中的视频帧率为25FPS,图像有960×540像素。数据集的标注方面,一共有手动标出的8250辆汽车,带标签边界框121万个,标签有四类:car、bus、van和others,天气状况有四类:雨天、夜晚、多云和晴天。它完全是在交通监控视频视角下的数据集,非常符合本文的研究背景。

毕业设计-基于深度学习的车辆目标跟踪算法系统 YOLO python 卷积神经网络 人工智能 机器学习

3.2 实验环境搭建

       实验的训练采用深度学习框架为Pytorch,GPU显卡的类型为NVIDIA GeForce RTX 3060,CPU为intel第12代酷睿i5-12400f处理器。

毕业设计-基于深度学习的车辆目标跟踪算法系统 YOLO python 卷积神经网络 人工智能 机器学习

3.3 实验及结果分析

       将特征提取网络替换为GhostNet后模型大小下降幅度较大,是YOLOv5s的71.1%。再在经过后两项改进后,模型大小比起原始算法只增加了0.9M,说明在Ghost模块改进的基础上,只需增加少量计算量,就可以有效提升算法的精度。

毕业设计-基于深度学习的车辆目标跟踪算法系统 YOLO python 卷积神经网络 人工智能 机器学习

       通过改进,在参数量、计算量和模型大小三方面均有很大程度的降低,同时也拥有较好的目标检测结果,可以满足车辆目标检测在实际应用中的需求。

毕业设计-基于深度学习的车辆目标跟踪算法系统 YOLO python 卷积神经网络 人工智能 机器学习

尺度变化场景下的跟踪效果图:

毕业设计-基于深度学习的车辆目标跟踪算法系统 YOLO python 卷积神经网络 人工智能 机器学习

相关代码如下:

import tensorflow as tf
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense

# 加载和预处理数据集
def load_dataset():
    # TODO: 加载车辆目标数据集,并进行预处理(如图像大小调整、归一化等)
    pass

# 构建模型
def build_model():
    model = tf.keras.Sequential()
    
    # TODO: 添加卷积层、池化层、全连接层等构建深度学习模型的代码
    # 根据需要选择合适的模型架构
    
    return model

# 进行模型训练
def train_model(model, X_train, y_train):
    model.compile(optimizer='adam', loss='binary_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)

实现效果图样例

毕业设计-基于深度学习的车辆目标跟踪算法系统 YOLO python 卷积神经网络 人工智能 机器学习

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

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

最后

Logo

更多推荐