一、配置环境&下载包
1.下载YOLOv5源码
下载方式有两种途径
a.如果有外网vpn,则可以通过路径一下载:
yolov5源码下载:GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite
点击上源码,进行下载。
b.如果没有vpn,则通过路径二下载:
使用GIT
打开git官网地址:Git进行下载
用cmd命令行克隆(下载)到本地,输入git clone https://github.com/ultralytics/yolov5
控制台通过以下代码可以直接配置
git clone https://github.com/ultralytics/yolov5 # clone
cd yolov5
pip install -r requirements.txt # install 安装各种包
(csdn镜像源:GitCode - 开发者的代码家园)
注意:安装涉及的路径不要有中文。
2.cuda的下载与安装:
首先进入NVIDIA页面查看电脑适配版本,
如上,即所安装的cuda版本不能高于12.2.128。
然后进入cuda官网,下载适合自己电脑的版本。
cuda官网网址:CUDA Toolkit Archive | NVIDIA Developer
要注意在安装过程中不要勾选Visual Studio Intergration选项。
下载完成后要在环境变量中添加新的目录,例如我的版本是12.2。
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.2\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.2\include
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.2\extras\CUPTI\lib64
之后在命令行依次输入一下代码以激活所添加的新的环境变量。
set PATH=c:
echo %PATH%
echo %PATH%
注意:配置cuda调用GPU能极大缩短训练时间,故建议安装。
3.配置yolov5环境
首先进入控制台,在anaconda中创建并激活一个新的环境。
接着在该环境中下载pytorch。
接下来进行anaconda环境配置YOLOv5需要的库。
点击上方输入框,输入cmd,进入控制台,然后执行pip install -r requirements.txt,安装项目文件中需要的库。
4.数据集的下载:
这个是kaggle上停车场的车辆的识别的图片,共80张,留两张测试即可。
二、准备相关文件进行训练
1.在yolov5文件夹下新建一个文件夹,这里取名为VOCData。
2.进入后新建两个文件夹 Annotations 和 images。
images:用于存放要标注的图片。
Annotations :用于存放标注图片后产生的内容(这里采用XML格式)。
三、使用labelImg标注图片
1.安装labellmg
首先连接vpn,则进入labellmg下载网址
,
之后安装方法和一、1一样,直接下载和控制台下载都可以。
下载后存放目录到yolov5同级下面。如图。
从anaconda prompt终端中选择到此文件。
执行命令前,需要更新一下conda
conda update -n base -c defaults conda
然后执行以下命令
conda install pyqt=5
conda install -c anaconda lxml
pyrcc5 -o libs/resources.py resources.qrc
2.使用 labellmg
使用前在labellmg文件夹中->data->predefined_classes.txt
点开可以添加要标准的类别,这样可以避免每次标注时都需要输入标签名称的麻烦。
打开labellmg(要进入labellmg文件夹运行,这里使用pycharm打开labellmg文件夹转到目录下再运行)
之后运行代码python labelImg.py
把要标注的图片放D:\yolov5\yolov5-master\VOCData\images,在程序中’打开目录‘中选择它。
标完后保存到D:\yolov5\yolov5-master\VOCData\Annotations(导出时选择默认的xml格式),我们在‘改变存放目录中选择它’
最后点击'W'快捷调用标注器,然后我们进行标注即可。右边可以选择预设的标签,一张图可以标许多标签。
接下来就是标注时间,标注完点击下一个图像继续标注,很枯燥很乏味,可能会耗费数个小时的时间。
注意:图像和标签的需要一一对应。
如果图片都标注完成了,意味着我们的前置任务已经完成。
任务:
选择一个自己想检测的物体(安全帽、猫狗识别等)并下载数据集完成标注,如果没有合适的就选择本篇文章的坑洞数据集,把最后五张取出来单独存放一个文件夹中准备做测试集。
这里面我是直接选择的上面的轿车图集,检测轿车。
共80张图片,共进行标注75张,其余5张用来作测试样例。
下图为标注完成的图集,放置于Annotations文件夹中。
下图为测试图集。