从头开始训练自己的YOLOv3检测器

想要拥有自己的yolo3目标检测器吗?通过 此博客你可以从头开始训练自己的yolo3目标检测器
本文是基于github上开源项目并根据自己亲身使用来撰写的,旨在帮助对github上此项目不熟的人提供中文教程,让小伙伴们感受到人工智能的魅力。

数据集准备

在本文中我们是使用猫咪的数据集,数据集你可以使用网上现有的开源数据集还可以自己创建数据集

收集数据

创建图像数据集,可以考虑使用Chrome扩展程序,例如Fatkun Batch Downloader,该扩展程序可让您轻松构建自己的数据集。

克隆仓库

在开始之前,请将github.com/AntonMu/TrainYourOwnYOLO的存储库克隆到本地计算机。确保设置虚拟环境并安装要求。
并且请保留项目中的原有的文件结构
在这里插入图片描述

数据标注

收集到足够多的猫脸数据集(为保证训练效果请至少收集100个以上的猫咪图片)后需要对图像进行标注,标记图像的工具,我建议使用Microsoft的可视对象标记工具(VoTT),该工具具有适用于Windows,Mac和Linux的发行包,网址为:https://github.com/Microsoft/VoTT/releases
不同的操作系统应该下载不同的应用程序
Mac:下载并安装vott-2.x.x-darwin.dmg;
Windows:下载并安装vott-2.x.x-win32.exe;
Linux:请下载并安装vott-2.x.x-linux.snap
安装后,创建一个新项目并将其命名为Annotations。然后选择TrainYourOwnYOLO / Data / Source_Images / Training_Images作为源和目标连接。在导出设置下,选择逗号分隔值(CSV)作为提供者,然后点击保存导出设置。现在,开始通过在猫脸周围绘制边框来标记猫脸。
在这里插入图片描述
标记了足够多的猫脸后,请按CRTL + E导出项目。在TrainYourOwnYOLO / Data / Source_Images / Training_Images文件夹中,您现在应该看到一个名为vott-csv-export的新文件夹,其中包含Annotations-export.csv。
接下来,进入TrainYourOwnYOLO / 1_Image_Annotation文件夹运行转换脚本以将注释转换为YOLO格式

python Convert_to_YOLO_format.py

训练YOLOv3模型

进入TrainYourOwnYOLO / 2_Training并运行以下代码下载好预训练权重模型

python Download_and_Convert_YOLO_weights.py

并运行以下代码,进行训练

python Train_YOLO.py

此过程可能需要几分钟到几个小时。建议使用GPU来加快培训速度。最终权重保存在TrainYourOwnYOLO / Data / Model_Weights中

使用自己训练的yolo3检测器

将自己要测试的图片放入TrainYourOwnYOLO / Data / Source_Images / Test_Images文件夹内
然后进入TrainYourOwnYOLO / 3_Inference并运行:

python Detector.py

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux创始人LinusTorvalds有一句名言:Talk is cheap, Show me the code.(冗谈不够,放码过来!)。 代码阅读是从入门到提高的必由之路。尤其对深度学习,许多框架隐藏了神经网络底层的实现,只能在上层调包使用,对其内部原理很难认识清晰,不利于进一步优化和创新。  YOLOv3是一种基于深度学习的端到端实时目标检测方法,以速度快见长。YOLOv3的实现Darknet是使用C语言开发的轻型开源深度学习框架,依赖少,可移植性好,可以作为很好的代码阅读案例,让我们深入探究其实现原理。  本课程将解析YOLOv3的实现原理和源码,具体内容包括: YOLO目标检测原理  神经网络及Darknet的C语言实现,尤其是反向传播的梯度求解和误差计算 代码阅读工具及方法 深度学习计算的利器:BLAS和GEMM GPU的CUDA编程方法及在Darknet的应用 YOLOv3的程序流程及各层的源码解析本课程将提供注释后的Darknet的源码程序文件。  除本课程《YOLOv3目标检测:原理与源码解析》外,本人推出了有关YOLOv3目标检测的系列课程,包括:   《YOLOv3目标检测实战:训练自己的数据集》  《YOLOv3目标检测实战:交通标志识别》  《YOLOv3目标检测:原理与源码解析》  《YOLOv3目标检测:网络模型改进方法》 建议先学习课程《YOLOv3目标检测实战:训练自己的数据集》或课程《YOLOv3目标检测实战:交通标志识别》,对YOLOv3的使用方法了解以后再学习本课程。
YOLOv8是一种目标检测算法,它是YOLO(You Only Look Once)系列的最新版本。下面是从头开始训练YOLOv8的步骤: 1. 数据准备:首先,你需要准备一个包含标注信息的训练集。标注信息通常包括目标的边界框和类别标签。确保你的数据集具有足够的样本和多样性,以便模型能够学习到各种不同的目标。 2. 模型配置:YOLOv8使用Darknet架构作为基础网络。你需要下载Darknet的代码,并根据自己的需求进行配置。在配置文件中,你可以设置网络的层数、输入图像的大小、类别数量等参数。 3. 权重初始化:在开始训练之前,你需要下载一个预训练的权重文件,可以使用在大规模数据集上预训练的权重,如COCO数据集。这些预训练的权重可以帮助模型更快地收敛。 4. 训练过程:使用准备好的数据集和配置好的模型,开始进行训练。在训练过程中,模型会根据输入图像和标注信息计算损失,并通过反向传播来更新网络参数。你可以使用不同的优化器和学习率策略来优化模型。 5. 调参和验证:训练过程中,你可以根据验证集的表现来调整模型的超参数,如学习率、批大小等。通过验证集的评估指标,如精度、召回率和平均精度均值(mAP),来评估模型的性能。 6. 模型评估和测试:在训练完成后,你可以使用测试集来评估模型的性能。通过计算预测结果与真实标注之间的差异,可以得到模型的准确率和召回率等指标。 7. 部署和应用:一旦模型训练完成并通过测试,你可以将其部署到实际应用中。通过使用训练好的模型,你可以对新的图像进行目标检测,并获得目标的位置和类别信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值