YOLOv5-master舌象分类
一、数据集准备
本次舌象分类使用了JPEG Images(Tongue)数据集,其中一共有5个类别。
Images里面包括了本次训练所需要的训练集和测试集
数据集在此,可下载
舌象数据集资源压缩包
(注意:文件需要分类且xml文件需要转换为txt文件)
1.images里存放的图片
2.Labels标签集里存放了和所有照片都一一对应的标签。每个标签有多行数据组成。表示该图片有n个要检测的目标。如下图 0表示第0个类别,后面四个数据表示目标的x,y,w,h位置。
3. by liro.yaml文件
其主要作用是为所需要的配置文件存放不同的数据集的路径。
二、Yolov5模型训练
1. 使用Yolov5-master模型进行训练,并且把数据集放到yolov5模型中
2. 调整train文件
从给train文件传参,使训练达到我们所需要的效果
此处我们在vs code中运行,主要在终端使用以下代码进行传参。
代码如下:
python train.py --data by liro.yaml --epochs 50 --weights ‘’ --cfg yolov5s.yaml --batch-size 16 --workers 1
其中,data为配置文件路径,该配置文件存有训练数据的位置。
cfg为所需要的yolov5模型架构5s。
Batch-size为每次读取图像张数。
Epochs为我所设置的迭代次数。次数越高,则模型精度越高。
Workers为线程数。
3. 使用Yolov5的yolov5s.yaml架构
此处将种类nc改为5
三、模型训练
1.将代码输入终端,运行train文件
2. 每训练一次,系统会将结果保持到runs文件夹下。也会给主函数传入相应的参数来改变它的保存路径。
这里值得一提的是:
训练完成的模型为.pt文件,best代表的是模型效果最好,last为模型的上一次训练结果,若遇到突发情况可以继续进行训练以防止丢失数据的情况。
3. 训练结果
4. 部分检测结果展示
5. 一些训练过程产生的信息
四、模型验证
1. detect文件验证
使用以下代码在终端运行detect文件
其中,weight为选择需要用到的模型进行验证
Source为待验证的图片路径
2. 在终端给detect文件传入验证参数并运行
3. 验证结果
五、总结
(内容部分来自Chat Mind AI)
与传统的舌象分类模型不同,使用Yolov5训练模型的主要优点如下:
1.快速高效:Yolov5采用最先进的神经网络结构和训练技术,能够快速地完成模型训练,并且具有高精度的分类效果。
2.目标检测:相比传统的舌象分类模型,Yolov5能够实现在图像上对目标位置的定位和识别,从而提高了分类的准确率。
有优点的同时也会有所缺点,以下是我认为yolov5训练舌象分类的缺点:
1.训练技巧要求高:为达到较好的效果,需要一定的训练技巧,包括数据增强、超参数的选择等,需要一定的经验和技术支持
2.算力要求高:Yolov5的训练需要强大的计算资源支持,对于大型数据集和复杂模型的情况下,需要使用GPU或者云计算服务等
3.目标检测不够精细:虽然Yolov5可以较准确地对图像进行目标定位和分类,但是对于一些小尺寸、形状复杂的舌象图片,其目标检测效果可能还不够理想。
总体来说,本次训练较为理想。由于我所选取的迭代数不够多,所以可能本次训练的结果精度不够高,若想获得更高精度的训练结果,还需要多加训练。