毕业设计-基于深度学习的地铁客流量实时检测算法系统 YOLO python 卷积神经网络 人工智能

目录

前言

设计思路

一、课题背景与意义

二、算法理论原理

2.1 YOLOv5算法

2.1 DeepSort算法

三、客流量检测的实现

3.1 数据集

3.2 实验环境搭建

3.2 实验及结果分析

实现效果图样例

最后


前言

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

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

         选题指导:

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

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

        🎯基于深度学习的地铁客流量实时检测算法系统

设计思路

一、课题背景与意义

       地铁作为现如今最为流通的交通出现方式之一,已经成为了人们生活中必不可少的一部分。对于本文主要提出的问题,则是在地铁的实时监控录像中,识别行人的数目,实时反映地铁上客流情况,有利于人们选择更好的出行方式。

二、算法理论原理

2.1 YOLOv5算法

       YOLOv5是一种单阶段目标检测算法,该算法主要是在YOLOv4的基础上添加了一些新的改进思路,使其速度与精度都得到了极大的性能提升。整个YOLOv5网络结构可分成四部分:输入端、Backbone、Neck、Prediction。

       输入端的主要操作任务也就是在用户输入多个数据同时需要进行各种数据增强,因此YOLOv5继承了YOLOv4所使用的Mosaic数据增强方式,对图片进行随机组合缩放、随机组合裁剪、随机组合排布等多种方式进行随机拼接,实现了既对数据集进行增强又同时解放了对于GPU的依赖。YOLOv5针对不同的数据集,采用自定义不同长宽锚框的自适应锚框,同时运用自适应图片缩放,达到数据增强的目的。

毕业设计-地铁客流量检测系统-YOLOv5-深度学习

2.1 DeepSort算法

       DeepSort是在整个Sort算法在对目标追踪基础上的改进,新增加了一个Deep Association Metric,此外还重新加入了外观图片信息以便于实现了如何在较长时间内对被遮挡的目标进行跟踪时的问题。其主要特点之处在于,DeepSort加入了更多外观特征信息,借用了新的ReID应用领域特征模型来快速提取外观特征,减少了REID特征转换的发生次数。在跟踪方面,DeepSort采用的级联匹配算法,可以针对每一个检测器都会分配一个跟踪器,每个跟踪器会设定一个time_since_update参数;对于运动信息和外观信息的变换和模糊问题,利用马氏距离与余弦距离计算;添加了深度学习ReID的模块,有利于更好地区别不同的人物或物体。

毕业设计-地铁客流量检测系统-DeepSort算法--深度学习

三、地铁人流量检测的实现

3.1 数据集

              系统使用的数据集是一个位于地铁闸门通过口附近的一段实时监控录像,该数据集中同时时间段的人数众多,充分体现了地铁人流量的现状,可提供多种目标种类和位置信息,可保证训练的数据尽可能多以及数据集集的普遍性,方便进行实时监控或录制。

      毕业设计-地铁客流量检测系统-YOLOv5-深度学习-数据集毕业设计-地铁客流量检测系统-YOLOv5-深度学习-数据集

3.2 实验环境搭建

       训练环境:利用谷歌云盘提供的环境,CPU为Intel i7 7800X,GPU为Tesla T4,内存为16G,操作系统为ubuntu 18.04 64位安装CUDA10.0库文件,开发语言为Python,Pytorch框架。

       输入视频数据,使用yolov5检测算法,通过对相应人物识别训练模型的训练,得到训练好的检测模型,测试相关的行人标识,选择置信度最高的边框输出,以便完成基于yolov5的行人目标检测这一目标。再通过DeepSort跟踪目标,实时监控每个物体锚点的移动,最后输出视频。

3.2 实验及结果分析

       使用yolov5网络和DeepSort算法模型进行训练,训练效果如下所示。当两人正在通过黄线,但实时检测只判定了一人正在通过,且存在有人物距离过近未被标识的情况。但总体而言,可看出yolov5算法和DeepSort算法对于目标检测与跟踪的效果准确率处于较为可观的状态,能够较为准确的检测识别出正确的人物,但仍需要进一步训练以提高准确率。后续可尝试对训练参数进行修改或改变权重文件,且yolov5的损失函数并不是现在最优的,可替换为更为准确地函数。

毕业设计-地铁客流量检测系统-YOLOv5-深度学习-数据集

       输入视频数据,使用yolov5检测算法,通过对相应人物识别训练模型的训练,得到训练好的检测模型,测试相关的行人标识,选择置信度最高的边框输出,以便完成基于yolov5的行人目标检测这一目标。再通过DeepSort跟踪目标,实时监控每个物体锚点的移动,最后输出视频。

部分代码如下:

def preprocess_image(image):
    image = image.convert('RGB')
    image = torch.from_numpy(np.array(image)).float()
    image /= 255.0
    image = image.permute(2, 0, 1)
    return image.unsqueeze(0).to(device)

# 进行地铁客流量检测
def detect_subway_crowd(image):
    image = preprocess_image(image)
    
    # 使用YOLOv5进行目标检测
    results = model(image)
    
    # 获取检测结果
    detections = results.pandas().xyxy[0]
    
    # 计算检测到的人数
    crowd_count = len(detections[detections['class'] == 'person'])
    
    # 可根据需要对检测结果进行进一步处理或输出
    
    return crowd_count

# 从摄像头获取图像并进行地铁客流量检测
def detect_crowd_from_camera():
    cap = cv2.VideoCapture(0)  # 摄像头索引,0表示默认摄像头
    
    while True:
        ret, frame = cap.read()
        
        # 将OpenCV图像转换为PIL图像
        image = Image.fromarray(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB))
        
        # 进行地铁客流量检测
        crowd_count = detect_subway_crowd(image)
        
        # 在图像上绘制客流量信息
        cv2.putText(frame, f"Crowd Count: {crowd_count}", (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2)
        
        # 显示图像
        cv2.imshow('Subway Crowd Detection', frame)
        
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    
    cap.release()
    cv2.destroyAllWindows()

# 执行地铁客流量检测
detect_crowd_from_camera()

实现效果图样例

毕业设计-地铁客流量检测系统-YOLOv5-深度学习

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

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

最后

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
基于YOLO深度卷积神经网络的复杂背景下机器人采摘苹果定位涉及以下几个关键方面。 首先,深度卷积神经网络(Deep Convolutional Neural Networks, CNN)作为一种先进的机器学习算法,可以通过训练大量的图像数据来实现目标检测和定位。YOLO(You Only Look Once)算法是一种基于CNN的实时目标检测方法,其通过在图像上划分网格并预测每个网格中物体的边界框和类别,实现快速高效的目标检测。 在机器人采摘苹果定位中,首先需要对苹果的图像进行预处理,如降噪、图像增强等,以提高图像质量。然后,通过将处理后的图像输入到训练好的YOLO模型中,可以获取苹果在图像中的位置和类别信息。 然而,由于采摘苹果的环境通常是复杂多变的,存在光照变化、遮挡等问题,这些因素都可能影响到定位的准确性。为了应对这些问题,在训练YOLO模型时,需要使用具有多样性的训练数据,并进行数据增强和数据扩充,以增加模型对不同环境下的苹果定位准确性。 另外,为了进一步提高机器人采摘苹果的效率和准确性,可以结合其他技术,如深度学习目标跟踪算法。通过跟踪苹果目标的运动轨迹,可以在采摘过程中进行目标预测和优化路径规划,从而实现更高效的采摘操作。 综上所述,基于YOLO深度卷积神经网络的复杂背景下机器人采摘苹果定位,可以通过优化训练数据、增加模型的鲁棒性以及结合其他相关技术等手段,来提高采摘苹果的定位准确性和采摘效率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值