记一次调试YOLOv5+DeepSort车辆跟踪项目的经过

这篇具有很好参考价值的文章主要介绍了记一次调试YOLOv5+DeepSort车辆跟踪项目的经过。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

记一次调试YOLOv5+DeepSort车辆跟踪项目的经过
摘要:学习别人的开源项目是日常的一项必备技能,本文通过一个车辆跟踪(YOLOv5+DeepSort)的例子介绍如何配置和调试GitHub上的开源代码。以第一人称的视角给出本人调试代码的过程,包括项目readme的阅读、python环境配置、代码调试运行等,详细的过程已录制在视频中。完整的代码和配置文件可三连博主B站视频后获取。

一次调试YOLOv5+DeepSort车辆跟踪项目的经过

博客及代码详细介绍:https://www.bilibili.com/video/BV1W34y1Y71w/(欢迎关注博主B站视频)


前言

        相传,当你找到一处好代码,雄心勃勃打算“学习”一下时,总会出现一些“灵异事件”,武力值低的人往往“出师未捷身先死”。别人的代码荡下来到自己机器上,怎么就是各种Error铺天盖地?不是环境报错、缺少文件,就是语法错误…于是乎在想这帮人总是分享一堆Bug作甚呢?还是我自己没Get到大佬的点?

记一次调试YOLOv5+DeepSort车辆跟踪项目的经过
        直接点,开始我们的故事吧。从前,有个夜黑风高的夜晚,收到上峰指示,先前的“目标跟踪”行动需立即执行:YOLOv4+Sort不好再用了,升级为YOLOv5+DeepSort。我想:“不会写啊,Python都没学过,额忘记我有没有学过了,晓得了先网上找一下吧”。咦,GitHub上有,和要求上差不多,妥了妥了,荡一下改改跑跑好不啦,小似情唷。喏这是原作者的效果,这个项目的地址:https://github.com/duongcongnha/Vehicle-tracking,下面说一下我调试该项目的经过。

记一次调试YOLOv5+DeepSort车辆跟踪项目的经过


1. 打量工作

        看到这样一个项目,检测和跟踪效果都不错,所以动手要把它在我的机器上运行起来。这里是GitHub的项目主页,我先下载一下代码到我的G盘,与此同时打量一下这个代码。

记一次调试YOLOv5+DeepSort车辆跟踪项目的经过
        下载好了,打开pycharm运行一下?别急,先看一眼训练好的模型有木有,老夫推断在models文件夹下,定睛一看存在yolov5的pt模型文件。Nice啊,目测可以先白嫖模型,预感这个程序靠谱。

记一次调试YOLOv5+DeepSort车辆跟踪项目的经过
        再看Readme里面如何使用,这里有Python环境版本,以及要安装的依赖列表(requirement.txt)。想来按照这个要求来,应该能跑通的吧,那现在能打开pycharm运行一下程序?那主程序是哪个不看看你就运行?待我先目测一下主程序在哪里,还有要怎么运行有没有介绍。

记一次调试YOLOv5+DeepSort车辆跟踪项目的经过
        这里记载了运行方式,用的命令行运行,这里有个cd命令,看来是在这个程序文件夹的application\main这个文件夹下,有个app_track.py,运行它应该就能跑起来了。

记一次调试YOLOv5+DeepSort车辆跟踪项目的经过
        这个项目代码写得比较规范,所以能很方便找到这三个点,其他的项目就不能保证这么幸运了,那样就得自己琢磨,当你阅码无数自然就能积累经验了。

2. 运行调试

        虽然看起来介绍齐全,但是我掐指一算可能会有坑,但是具体是什么坑我不知道。先启动pycharm,打开下载程序的文件夹,找到app_track.py这个主程序,然后运行程序?——先配置环境。有人问我:“原来有Python环境,配置好了很多三方依赖,直接用呗可以吗?”,那我不建议,这俩环境很可能不兼容,还是要改部分依赖包的版本,最终可能这个程序运行不通,你自己原来的程序也‘灵异’报错。”

记一次调试YOLOv5+DeepSort车辆跟踪项目的经过
        既然如此,我用Anaconda创建一个新环境,然后在新环境里收requirements.txt列出的这些“牛鬼蛇神”,目测靠谱一点。打开PyCharm的终端,输入一下命令:

conda create -n yolo5_track python==3.7

        我这里pycharm内置的终端是cmd,有些新版的pycharm变成了powershell,那后面部分命令可能不一样。各自实际情况不一样,大家具体问题具体分析,千万别只是照葫芦画瓢。那在终端里面输入,如下:

记一次调试YOLOv5+DeepSort车辆跟踪项目的经过
        然后激活环境,常规操作是吧,那就不要出错。输入以下代码,这里如果是powershell执行下去效果可不一样,如果有需要就自己解决一下哈。

conda activate yolo5_track

记一次调试YOLOv5+DeepSort车辆跟踪项目的经过
        接下来要给这个环境装上依赖,它这个项目里是不是有requirements.txt,我们打开看一下。还挺齐全的,有依赖名字还有部分版本号要求,那就来呗。

记一次调试YOLOv5+DeepSort车辆跟踪项目的经过
        上面有提示我们输入pip的安装命令,那就在刚刚的终端下输入以下命令,读取txt文件,然后执行各个依赖的安装。

pip install -r requirements.txt

        当然要先切换到requirement.txt所在的文件夹目录,然后输入命令回车执行,ChuaChua一堆安装信息提示,然后耐心等待完成。

记一次调试YOLOv5+DeepSort车辆跟踪项目的经过
        安装成功之后,在pycharm中选择一下环境,基本就是File->Setting->Project->Python Interpreter,进入Python环境选择conda环境,确定刚刚创建好的环境即可。

记一次调试YOLOv5+DeepSort车辆跟踪项目的经过
        环境也选好了,是不是该点运行了啊?这时候是时候展现真正的技术了,打开app_track.py,在编辑器中右击选择“Run”,开始运行,然后手动祈祷。

记一次调试YOLOv5+DeepSort车辆跟踪项目的经过
        然后就是这样滴,what?不就是按照作者给出的吗,报错了是什么情况。看我干啥,想想什么原因啊。我们看一下最后三行,torch的module.py文件报错,显示没有某个属性。经验来看哈,这肯定是torch的版本不对,因为代码写错能出没有属性的可能性不大,除非是自己定义的,缺少了模块文件。这里显然是torch的调用问题,应该是版本问题。

记一次调试YOLOv5+DeepSort车辆跟踪项目的经过
        我们是按作者给出的requirements.txt安装的,那么问题出现在哪里呢?我们再看一眼这个文件的内容,有些地方是固定版本,有的是给出了最低要求,比如要求这个torch>=1.8.0,大于等于?那我现在的torch版本呢,在终端输入pip list,可以看到torch版本1.11.0,没毛病确实大于1.8.0。

记一次调试YOLOv5+DeepSort车辆跟踪项目的经过
        这个版本比1.8新多了,那你说有没有可能,到了某个版本来了个调整,把某些个属性给删掉或换成别的属性了呢?我想是很有可能的,在发布代码的时候作者想不到后面这些依赖会变成什么样的,所以只能告诉我们大于某个版本,所以这里装的时候就变成最新版。那如果我们把所有版本指定为特定的,是不是就能避免了。至于这里面这么多依赖,是不是所有版本都要调整呢,看经验或调试结果了。调整和测试后的依赖版本被我修改如下,然后保存在setup.txt中:

记一次调试YOLOv5+DeepSort车辆跟踪项目的经过
        重新输入pip安装命令,在终端键入以下命令,重新安装:

pip install -r setup.txt

记一次调试YOLOv5+DeepSort车辆跟踪项目的经过
        这时显然好起来了,运行结果如下,这其实是在处理中,等到进度完成,得到处理后的结果。完整版的资源代码和setup.txt配置文件,可关注并三连博主B站视频后评论获取,可轻松无Bug运行。

记一次调试YOLOv5+DeepSort车辆跟踪项目的经过
        这时找到inference/output文件夹下的mp4结果,可以得到如下的画面,这是在原视频中检测后输出的文件。

记一次调试YOLOv5+DeepSort车辆跟踪项目的经过
        注意到源码里面读取了yml的设置文件,下意识打开可以发现设置识别视频的路径在第24行,我们可以修改为自己的视频所在目录,重新进行检测测试一下。

记一次调试YOLOv5+DeepSort车辆跟踪项目的经过
        修改用自己的视频文件,测试结果如下,感觉可以满足一般的车辆检测跟踪和计数要求,感兴趣的朋友可以从博主B站视频,评论获取完整代码和setup.txt依赖文件。

记一次调试YOLOv5+DeepSort车辆跟踪项目的经过

结束语

        由于博主能力有限,博文中提及的方法即使经过试验,也难免会有疏漏之处。希望您能热心指出其中的错误,以便下次修改时能以一个更完美更严谨的样子,呈现在大家面前。同时如果有更好的实现方法也请您不吝赐教。文章来源地址https://www.toymoban.com/news/detail-410958.html

到了这里,关于记一次调试YOLOv5+DeepSort车辆跟踪项目的经过的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • yolov8/yolov7/yolov5-车辆测距+前车碰撞预警(追尾预警)+车辆检测识别+车辆跟踪测速(算法-毕业设计)

    本项目效果展示视频: https://www.bilibili.com/video/BV14d4y177vE/?spm_id_from=333.999.0.0vd_source=8c532ded7c7c9041f04e35940d11fdae 1、本项目通过yolov8/yolov7/yolov5和deepsort实现了一个自动驾驶领域的追尾前车碰撞预警系统,可为一些同学的课设、大作业等提供参考。分别实现了自行车、汽车、摩托车

    2024年02月04日
    浏览(65)
  • 【多目标跟踪与计数】(三)DeepSORT实战车辆和行人跟踪计数

    论文地址: https://arxiv.org/pdf/1703.07402.pdf 参考文章: DeepSort讲解 代码地址: https://github.com/mikel-brostrom/Yolov5_DeepSort_OSNet(可参考这个源代码,如果需要我这边的源代码可私信) SORT对比DeepSORT: 虽然SORT是一个非常简单、有效、实用的多目标跟踪算法,但仅仅通过IOU来匹配虽然

    2024年02月02日
    浏览(65)
  • 使用 YOLOv8 和 DeepSORT 进行对象检测和跟踪

    文末附源代码的免费下载链接 在本教程中,您将学习如何使用 YOLOv8 检测对象以及如何使用 DeepSORT 跟踪视频中的这些对象。 目录 安装 Python 包 项目结构 使用 YOLOv8 和 OpenCV 进行实时目标检测 使用 DeepSORT 和 OpenCV 进行实时对象跟踪/

    2024年02月12日
    浏览(47)
  • MAC M2芯片执行yolov8 + deepsort 实现目标跟踪

    步骤过程尝试: 执行mot17 数据集 到coco格式 执行mps发现显存不够用 选择autodl 上的服务器进行训练 安装conda install git 然后重新进行 pycocotools.进行 step 2 安装docker 环境 添加官方秘钥 安装docker环境失败 也是可以运行的 不影响bytetrack训练 这个是使用best权重计算得到的 下面是使

    2024年02月10日
    浏览(48)
  • 基于YOLOv8与DeepSORT实现多目标跟踪——算法与源码解析

    \\\"目标跟踪 (Object Tracking)\\\"是机器视觉领域中的一个重要研究领域。根据跟踪的目标数量,可以将其分为两大类:单目标跟踪 (Single Object Tracking,简称 SOT) 和多目标跟踪 (Multi Object Tracking,简称 MOT)。 多目标跟踪往往面临一些挑战,例如需要同时跟踪多个目标、目标可能频繁遮挡

    2024年02月05日
    浏览(52)
  • 视频实时行为检测——基于yolov5+deepsort+slowfast算法

    前段时间打算做一个目标行为检测的项目,翻阅了大量资料,也借鉴了不少项目,于是打算通过 yolov5 实现目标检测, deepsort 实现目标跟踪以及 slowfast 实现动作识别,最终实现端到端的目标行为检测模型。 总的来说,我们需要能够实现实时检测视频中的人物,并且能够识别

    2024年02月03日
    浏览(47)
  • Yolov5 + Deepsort 重新训练自己的数据(保姆级超详细)

    从下面github库中拿代码: https://github.com/mikel-brostrom/Yolov5_DeepSort_Pytorch https://github.com/mikel-brostrom/Yolov5_DeepSort_Pytorch GitHub - Sharpiless/Yolov5-Deepsort: 最新版本yolov5+deepsort目标检测和追踪,能够显示目标类别,支持5.0版本可训练自己数据集 最新版本yolov5+deepsort目标检测和追踪,能够

    2024年01月19日
    浏览(59)
  • 【Yolov5+Deepsort】训练自己的数据集(1)| 目标检测&追踪 | 轨迹绘制

    📢前言: 本篇是关于 如何使用YoloV5+Deepsort训练自己的数据集 ,从而实现目标检测与目标追踪,并绘制出物体的运动轨迹。本章讲解的为第一个内容:简单介绍YoloV5+Deepsort中所用到的 目标检测,追踪及sortDeppsort算法。 本文中用到的数据集均为自采,实验动物为斑马鱼。 文尾

    2024年02月14日
    浏览(65)
  • ONNX版本YOLOV5-DeepSort (rknn版本已经Ready)

    目录 1. 前言 2. 储备知识 3. 准备工作 4. 代码修改的地方 5.结果展示         之前一直在忙着写文档,之前一直做分类,检测和分割,现在看到跟踪算法,花了几天时间找代码调试,看了看,展示效果比单纯的检测要更加的炸裂一点。         DeepSORT(Deep Learning to Tra

    2024年02月11日
    浏览(39)
  • 谈yolov5车辆识别

    目录 **前言** 一、YOLOv5算法简介 二、YOLOv5在车辆识别中的应用 1.  车辆检测

    2024年02月04日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包