毕业设计-基于深度学习的的地铁场景行人目标检测系统 YOLO python 卷积神经网络 人工智能

目录

前言

设计思路

一、课题背景与意义

二、算法理论原理

2.1 深度残差收缩网络

2.2 空洞空间金字塔池化模块

三、检测的实现

3.1 数据集

3.2 实验环境搭建

3.3 实验及结果分析

实现效果图样例

最后


前言

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

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

         选题指导:

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

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

        🎯基于深度学习的的地铁场景行人目标检测系统

毕业设计-基于深度学习的的地铁场景行人目标检测系统 YOLO python 卷积神经网络 人工智能

设计思路

一、课题背景与意义

       面对危险事故,人员疏散和救援相对困难,这就要求地铁内部视频监控分析系统和安检系统必须满足高实时性和高准确性。近年来,深度学习领域得到突破性发展,目标检测技术愈发成熟,将其应用于地铁安检和视频监控分析领域有着重要的现实意义。

二、算法理论原理

2.1 深度残差收缩网络

       为加强模型从含噪信号中提取有用特征的能力,模型引入软阈值化函数;软阈值化函数在图像信号降噪中起着重要作用,将图像特征绝对值低于某个阈值的特征删除,同时将高于某个阈值的特征绝对值向坐标原点“收缩”。3D-SE注意力模块。卷积神经网络中的卷积操作主要是提高局部感受野,以获得多尺度的空间信息。常规卷积操作基本是对输入特征图的全部通道进行融合,网络无法聚焦重要特征通道。

毕业设计-基于深度学习的的地铁场景行人目标检测系统 YOLO python 卷积神经网络 人工智能

       引入D-SE注意力模块,特征图经过一系列卷积操作后将会预测一组权重值,然后对各个通道特征进行加权,模型能够自动提取包含目标特征信息量最大的通道。D-SE注意力模块具有高度对称性,上下分支共用squeeze和excitation操作。特征图U通过聚合不同感受野特征信息引导通道注意力,有助于网络筛选辨别度最高的特征。

2.2 空洞空间金字塔池化模块

       目标检测中,模型对输入图像进行推理检测会对同一目标产生多个预测框,实际应用中模型对单个目标只需保留一个最优预测框。NMS算法是常用的目标预测框后处理算法,用于消除同一目标冗余的预测框。NMS算法原理:设A为模型预测的N个预测框。设计了一种SDIOU-NMS算法,该算法利用一种衰减机制对预测框得分进行优化,通过降低预测框得分而非直接置零,使得一些高分预测框可能作为正确预测框被保留。

毕业设计-基于深度学习的的地铁场景行人目标检测系统 YOLO python 卷积神经网络 人工智能

相关代码:

import torch
import torch.nn as nn

# 定义空洞卷积模块
class DilatedConvModule(nn.Module):
    def __init__(self, in_channels, out_channels, dilation_rate):
        super(DilatedConvModule, self).__init__()
        self.dilated_conv = nn.Conv2d(in_channels, out_channels, kernel_size=3, padding=dilation_rate, dilation=dilation_rate)
        self.relu = nn.ReLU()

    def forward(self, x):
        out = self.dilated_conv(x)
        out = self.relu(out)
        return out

# 创建输入张量
batch_size = 32
channels = 3
height = 256
width = 256

input_tensor = torch.randn(batch_size, channels, height, width)

# 定义空洞卷积模块的参数
in_channels = 3
out_channels = 64
dilation_rates = [1, 2, 4]  # 使用不同的感受野

# 创建空洞卷积模块实例
dilated_conv_module = DilatedConvModule(in_channels, out_channels, dilation_rates[0])

# 计算特征图
output = dilated_conv_module(input_tensor)

# 打印特征图的形状
print("Output shape:", output.shape)

三、检测的实现

3.1 数据集

       实验数据集一部分为地铁监控视频抽帧图片,另一部分为公开的数据集。数据采集地铁大多数场景环境的行人目标,如密集行人目标、不同程度遮挡行人目标等。对地铁监控视频抽帧采样的图片用Labelimg软件进行手动标注,标注后的标签是一系列可扩展标记语言(XML)格式。标注过程中对于遮挡严重的行人目标按照“人头”标注“person”类。实验按照6∶2∶2比例,训练集4800张,验证集和测试集各1600张,一共选取8000张图片,共有41935条标签,平均每张图片包含大约5个行人标签。

毕业设计-基于深度学习的的地铁场景行人目标检测系统 YOLO python 卷积神经网络 人工智能

3.2 实验环境搭建

       使用TensorFlow深度学习框架进行网络模型部署,代码基于Windows 10操作系统使用Python语言编写,所用CPU为Intel Core i7 9700K处理器,显卡类型为NVIDIA GeForce RTX2080Ti(11 G)。

3.3 实验及结果分析

       为验证改进模块的性能,本研究以YOLOv5s原始模型为基准方法,设计一系列消融实验进行对比验证,使用fAP、FPS两种定量评价指标。

毕业设计-基于深度学习的的地铁场景行人目标检测系统 YOLO python 卷积神经网络 人工智能

网络模型收敛时,改进YOLOv5s算法对本研究所使用的数据集有更好的泛化性。

毕业设计-基于深度学习的的地铁场景行人目标检测系统 YOLO python 卷积神经网络 人工智能

相关代码如下:

# 将图像转移到GPU(如果可用)
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
image_tensor = image_tensor.to(device)

# 运行图像通过模型
outputs = model([image_tensor])

# 解析输出
boxes = outputs[0]['boxes']
scores = outputs[0]['scores']
labels = outputs[0]['labels']

# 设置阈值来筛选行人目标
threshold = 0.5
person_boxes = []

for box, score, label in zip(boxes, scores, labels):
    if score > threshold and label == 1:
        person_boxes.append(box)

# 打印检测结果
for box in person_boxes:
    print('Person box coordinates:', box.tolist())

实现效果图样例

毕业设计-基于深度学习的的地铁场景行人目标检测系统 YOLO python 卷积神经网络 人工智能

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

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

最后

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
3. 基于YOLO的校园行人检测实现 3.1 基于YOLO行人检测网络构建 在本研究中,我们采用了YOLO(You Only Look Once)算法作为行人检测的基础算法。YOLO算法是一种基于深度学习的实时目标检测算法,其主要思路是将目标检测任务转化为一个回归问题,通过一个神经网络直接预测目标的类别和位置信息。相比于传统的目标检测算法,YOLO算法具有检测速度快、准确率高等优点,非常适用于实时场景中的物体检测。 我们在本研究中使用了YOLOv3算法作为行人检测的基础网络。YOLOv3算法采用了Darknet-53作为其主干网络,可以有效地提取图像的特征信息。同时,YOLOv3算法还采用了FPN(Feature Pyramid Network)结构和多尺度特征融合的方法,可以有效地提高行人检测的准确率。 3.2 校园行人数据集构建 为了进行行人检测算法的训练和测试,我们需要构建一个校园行人数据集。我们在校园内摄制了大量的行人图像,并对这些图像进行了标注,包括行人的位置信息和类别信息。我们还对数据集进行了扩充,通过对图像进行旋转、平移、缩放等操作,生成了更多的训练数据。 在数据集的构建过程中,我们还需要考虑数据集的平衡性和多样性。为了保持数据集的平衡性,我们在数据集中保证了不同类别的样本数量相近。为了保持数据集的多样性,我们还从不同的场景、不同的时间段、不同的天气条件等方面进行了采样,保证了数据集的多样性。 3.3 基于YOLO行人检测实现 在完成数据集的构建之后,我们使用标注的数据集对YOLOv3算法进行了训练,并在测试集上进行了测试。我们使用了开源的Darknet框架来实现YOLOv3算法的训练和测试。 在模型的训练过程中,我们采用了基于mini-batch的随机梯度下降算法来更新模型的参数。同时,我们还采用了数据增强、模型正则化等方法来避免过拟合问题。在测试集上的测试结果表明,我们的行人检测算法在准确率和召回率方面都取得了较好的效果。 最终,我们将训练好的行人检测模型应用到了实际的校园监控系统中,可以实时地检测校园内的行人,并对异常行为进行预警,具有很好的应用价值。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值