欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-03-16 10:49:28
...

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

数据集准备

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

收集数据

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

克隆仓库

在开始之前,请将github.com/AntonMu/TrainYourOwnYOLO的存储库克隆到本地计算机。确保设置虚拟环境并安装要求。
并且请保留项目中的原有的文件结构
从头开始训练自己的YOLOv3检测器

数据标注

收集到足够多的猫脸数据集(为保证训练效果请至少收集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)作为提供者,然后点击保存导出设置。现在,开始通过在猫脸周围绘制边框来标记猫脸。
从头开始训练自己的YOLOv3检测器
标记了足够多的猫脸后,请按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

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