yolov5汽车检测linux字符界面操作全流程,适合上手(含数据集近700张图片8000多个目标+训练好的模型)

这篇具有很好参考价值的文章主要介绍了yolov5汽车检测linux字符界面操作全流程,适合上手(含数据集近700张图片8000多个目标+训练好的模型)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:

随着自动驾驶技术的不断发展,汽车目标检测成为了研究的热点。本文将介绍公开+自定义的yolov5汽车目标检测数据集以及用linux操作系统训练yolov5。

先展示一下推理结果:

汽车数据集yolov,YOLO,汽车,linux,python

 GPU在13.2ms每帧,基本满足项目需要。


一、数据集简介

前段时间跟朋友一起整理了一个汽车目标的数据集,主要包括UA-DETRAC车辆检测数据集和自定义数据集。

1.UA-DETRAC车辆检测数据集

UA-DETRAC车辆检测数据集是一个具有挑战性的真实世界多目标检测和多目标跟踪基准。该数据集是由北京智能车联科技有限公司(简称“智车科技”)开发并维护的,旨在为自动驾驶和智能交通领域的研究人员提供一个真实、丰富且具有挑战性的测试平台。

该数据集包括在中国北京和天津的24个不同地点使用Cannon EOS 550D相机拍摄的10小时视频。这些视频主要拍摄于道路过街天桥(京津冀场景),覆盖了各种复杂的道路条件和交通场景。为了确保数据集的真实性和多样性,研究人员需要手动标注8250个车辆和121万目标对象外框。这一过程需要对每个目标进行详细的分类和边界框标注,以确保模型能够在各种实际场景中表现出良好的性能。

UA-DETRAC数据集包含了大量的车辆和行人目标,涵盖了多种类型和大小的目标。这使得研究人员能够在训练和评估自动驾驶算法时,更好地理解和处理现实世界中的复杂交通场景。此外,该数据集还提供了一些辅助数据,如语义分割图、车道线标注等,以帮助研究人员更全面地理解场景信息,从而提高模型的性能。

官方网站:https://detrac-db.rit.albany.edu/

汽车数据集yolov,YOLO,汽车,linux,python

 2.自定义数据集

采集道路视频,并对视频进行抽帧,得到:

汽车数据集yolov,YOLO,汽车,linux,python

再使用labelimg标注工具对目标进行标注,得到标签的txt格式文件。


二.模型训练

由于作者使用的是linux服务器字符操作界面对yolov5进行训练,这方面的资料比较少,作者将详细介绍。

1.准备工作

(1).yolov5代码库

yolov5的代码库:https://github.com/ultralytics/yolov5/tree/v5.0

首先打开上述官网,点击右上角"Code"(或克隆),点击"ZIP"下载压缩包。

汽车数据集yolov,YOLO,汽车,linux,python

汽车数据集yolov,YOLO,汽车,linux,python 

(2).安装anaconda

可观看此视频(来自b站): https://b23.tv/YPCL0Ks

输入`conda`后,返回结果如下,说明安装成功

汽车数据集yolov,YOLO,汽车,linux,python

(3).配置各种环境

首先创建运行yolov5的虚拟环境,conda命令为:

conda create -n <你自己定义一个名字>

进入环境:

conda activate <你自己定义的环境的名字>

其次,配置yolov5的依赖环境,使用pip安装即可,安装命令如下:

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple #由于默认下载源过慢,因此我们使用清华源(也可以用其他源)

只需要在创建的虚拟环境中执行上述命令,我们的依赖环境便安装完成。下面进行开发环境的安装。由于GPU训练过慢,因此我们安装CUDA和cuDNN,调用GPU进行训练。另外,我们还需要安装Pytorch,因为yolov5的实现依赖于Pytorch提供的深度学习计算能力与优化工具,同时yolov5也提供了Pytorch接口方便用户使用。这里我们选择用conda安装,一条命令即可。操作如下:

首先在操作界面输入:

nvidia-smi

可以看到驱动版本,最高支持的CUDA版本是12.2版本,得到显卡的最高支持CUDA版本,我们就可以开始依据这个信息安装环境了。汽车数据集yolov,YOLO,汽车,linux,python

然后,进入Pytorch官网:https://pytorch.org/

找到你要安装的版本、所用系统以及要使用操作工具(操作工具我们选择conda)汽车数据集yolov,YOLO,汽车,linux,python

我的下载命令是:

conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia

静等安装完成后,我们要验证能否使用:

在操作界面输入"Python"启动Python解释器并进入交互式模式,紧接着输入"import torch"回车,再输入"torch.cuda.is_available()"回车,返回"True",则说明安装成功并可以使用。

汽车数据集yolov,YOLO,汽车,linux,python

如果安装错了可以用这个命令进行卸载:

pip uninstall torch torchvision  torchaudio  

(4).准备数据集

作者的数据集(含图片和txt标签)链接:

链接:https://pan.baidu.com/s/1eCnfjV993Kn2ys-QRNoGtw 

提取码:8cm1

一共近700张图片,约8000个目标:UA-DETRAC车辆检测数据集+自定义数据集。

汽车数据集yolov,YOLO,汽车,linux,python

当然,如果您有自己的数据集也可以用,但是要注意源代码只支持txt格式的标签文件,因此需要将VOC数据或其他格式,因此需要转一下格式,以便正常训练。下面是txt标签文件的格式。

汽车数据集yolov,YOLO,汽车,linux,python

(5).准备配置数据文件(.yaml)

以下是作者的配置文件:

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]

# 数据路径

path: "/data3/wth/yolov5-master/data/" # dataset root dir

# 注意数据路径分隔符使用【/】,不是【\】

# 项目不要出现含有中文字符的目录文件或路径

train:"images/train"

val: "images/val"

#也可以将图片路径汇总到一个txt文件中,将train或val的路径修改为"images/train.txt"即可(例子)

test: # test images (optional)

# 设置类别个数,和要训练的类别名称,ID号从0开始递增

nc: 1# number of classes

names: { 'car': 0 }

#1.作者仅设置一个标签目标,若多个目标可仿照如下设置:

#nc: 4 # number of classes

#names: { 'car': 0, 'bus': 1, 'van': 2,'others': 3 }

# 2.若合并几个类别进行训练,比如将'[car','bus','van']看作一类,others看作另一类,则

#nc: 2 # number of classes

#names: { 'car': 0, 'bus': 0, 'van': 0,'others': 1 }

# 3.若合并所有类别为一个大类,进行训练: unique表示合并所有类为单独一个类别

#nc: 1 # number of classes

#names: { "unique": 0 }

将yaml放到yolov5的源代码库中。

2.开始训练

进入环境:

conda activate yolo#我的环境的名字

进入yolov5-master的目录:

cd yolov5-master

训练命令:

python train.py --img 640 --batch 160--epochs 300 --data data/car.yaml --cfg models/yolov5l.yaml --weights '' --device 0

下面是上述训练命令各个参数的含义:

- `--img`: 输入图像的大小,这里设置为640。
- `--batch`: 每个批次的样本数量,这里设置为16。
- `--epochs`: 训练的总轮数(iterations),这里设置为300。
- `--data`: 数据集配置文件的路径,这里使用上述提及的数据集,对应的配置文件为`car.yaml`。
- `--cfg`: 模型配置文件的路径,这里使用yolov5l模型的配置文件,对应的文件路径为`models/yolov5l.yaml`。
- `--weights`: 预训练权重文件的路径,这里不使用预权重文件。

-`--device`:使用的显卡的编号,这里使用的是编号为0的显卡。

这些参数都是用来配置训练过程的,可以根据实际需求进行调整。

命令执行后可以看到以下画面

汽车数据集yolov,YOLO,汽车,linux,python

❗若中途不小心退出,可以在上述训练命令的基础上在末尾加上`--resume`参数并将`--weights ''`更替为`--weights runs/train/exp/weights/last.pt`。

 训练结束后我们可以看到权重文件保存的位置在本文件夹的runs/train/exp14/weights路径下。

汽车数据集yolov,YOLO,汽车,linux,python

在此文件夹中还包括模型训练后的各种信息:

汽车数据集yolov,YOLO,汽车,linux,python

 1.F1-curve显示了模型在不同阈值下的精确率和召回率之间的关系。 在F1-curve中,横轴表示召回率,纵轴表示精确率。当精确率和召回率都很高时,F1-score也会很高。

2.P-curve显示了模型在不同阈值下的精确率和召回率之间的关系。 在P-curve中,横轴表示召回率,纵轴表示精确率。当精确率和召回率都很高时,P-score也会很高。

3.PR-curve显示了模型在不同阈值下的精确率和召回率之间的关系。 在PR-curve中,横轴表示召回率,纵轴表示精确率。当精确率和召回率都很高时,P-score也会很高。

4.R-curve显示了模型在不同阈值下的召回率和精确率之间的关系。 TPR曲线显示了模型在不同阈值下的真正例率和假正例率之间的关系。

3.进行推理

汽车数据集yolov,YOLO,汽车,linux,python

 我们用最好的best.pt权重文件进行推理,推理命令如下:

python detect.py --source data/detect.mp4 --weights runs/train/exp7/weights/best.pt

我们可以看到结果:

汽车数据集yolov,YOLO,汽车,linux,python

作者训练得到的模型以及各种模型信息压缩包:

链接:https://pan.baidu.com/s/1wjnOCCxX0-SqwvAZQYqrxw?pwd=2654 

提取码:2654


好了,基本上就完成了,如果想继续提高识别的精确度还需要使用到yolov5的实现原理以及相关参数的设定技巧。

 

最后觉得有帮助的,请给我个一键三连,栓Q!


参考博文:

作者:AI吃大瓜.深度学习目标检测文章来源地址https://www.toymoban.com/news/detail-776052.html

到了这里,关于yolov5汽车检测linux字符界面操作全流程,适合上手(含数据集近700张图片8000多个目标+训练好的模型)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 目标检测YOLO实战应用案例100讲-高密度交通场景下智能汽车多目标检测与跟踪算法

    目录 前言 高密度交通场景的多目标检测算法的难点 高密度交通场景的多目标跟踪算法的难点 /

    2024年02月11日
    浏览(27)
  • 现代雷达车载应用——第2章 汽车雷达系统原理 2.5节 检测基础

             经典著作,值得一读,英文原版下载链接【免费】ModernRadarforAutomotiveApplications资源-CSDN文库。         对于要测试目标是否存在的雷达测量,可以假定下列两个假设之一为真:         •H0:—测量结果仅为噪声。         •H1:—测量是噪声和目标回波

    2024年02月04日
    浏览(24)
  • 基于图像识别的自动驾驶汽车障碍物检测与避障算法研究

    基于图像识别的自动驾驶汽车障碍物检测与避障算法研究是一个涉及计算机视觉、机器学习、人工智能和自动控制等多个领域的复杂问题。以下是对这个问题的研究内容和方向的一些概述。 障碍物检测 障碍物检测是自动驾驶汽车避障算法的核心部分,它需要从车辆的感知数

    2024年02月08日
    浏览(20)
  • 新能源汽车电池包自动三维尺寸检测系统蓝光光学平面度测量仪-CASAIM

    电池包是新能源汽车核心能量源,为整车提供驱动电能。作为新能源汽车的核心部件,其品质直接决定了整车性能。 由于电池包的生产工艺相对复杂,传统的测量工具不仅测量工序复杂、精度不足,还会或多或少接触到电池表面形成瑕疵,因此高精度测量电池包提升质量品质

    2024年02月07日
    浏览(26)
  • yolov5目标检测多线程Qt界面

    上一篇文章:yolov5目标检测多线程C++部署 mainwindow.h mainwindow.cpp 这里引入的第三方库moodycamel::ConcurrentQueue是一个用C++11实现的多生产者、多消费者无锁队列。 程序输出: 界面效果: 可以看到,上面的程序实现了两个模型的多线程推理,但由于不同模型推理速度有差异,导致画

    2024年02月13日
    浏览(23)
  • YOLOv8/YOLOv7/YOLOv5-火灾检测、烟雾检测系统-界面+视频实时检测+数据集(算法-毕业设计)

    本项目通过yolov8/yolov7/yolov5训练自己的数据集,并开发可视化界面,实现了一个火灾烟雾实时检测系统,操作视频和效果展示如下: 【yolov8/yolov7/yolov5火灾烟雾检测系统-界面+视频实时检测+数据集(原创算法-毕业设计)】 https://www.bilibili.com/video/BV1FG41127H3/?share_source=copy_webvd_sou

    2024年02月04日
    浏览(30)
  • 吸烟行为检测系统(Python+YOLOv5深度学习模型+清新界面)

    摘要:吸烟行为检测软件用于日常场景下吸烟行为监测,快速准确识别和定位吸烟位置、记录并显示检测结果,辅助公共场所吸烟安全报警等。本文详细介绍吸烟行为检测系统,在介绍算法原理的同时,给出 P y t h o n 的实现代码、训练数据集以及 P y Q t 的UI界面。在界面中可

    2023年04月12日
    浏览(17)
  • 基于GUI用户界面的yolov5人脸口罩检测实战项目

    文章目录 前言 一、运行环境 二、环境配置 三、yolov5网络结构图介绍 四、 损失函数 五、数据集

    2024年02月03日
    浏览(36)
  • 水果新鲜程度检测系统(UI界面+YOLOv5+训练数据集)

    摘要:水果新鲜程度检测软件用于检测水果新鲜程度,利用深度学习技术识别腐败或损坏的水果,以辅助挑拣出新鲜水果,支持实时在线检测。本文详细介绍水果新鲜程度检测系统,在介绍算法原理的同时,给出 P y t h o n 的实现代码、训练数据集,以及 P y Q t 的UI界面。在界

    2023年04月25日
    浏览(22)
  • 行人车辆检测与计数系统(Python+YOLOv5深度学习模型+清新界面)

    摘要:行人车辆检测与计数系统用于交通路口行人及车辆检测计数,道路人流量、车流量智能监测,方便记录、显示、查看和保存检测结果。本文详细介绍行人车辆检测,在介绍算法原理的同时,给出 P y t h o n 的实现代码、 P y Q t 的UI界面以及训练数据集。在界面中可以选择

    2024年02月01日
    浏览(29)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包