第一步:搜集数据集,由于我想做一个口罩识别的小demo,所以我的数据集是口罩,一共两类。
口罩数据集
链接:https://pan.baidu.com/s/1ow4mjnEmr41Xuuzyci8EaA?pwd=mr0v
提取码:mr0v

第二步:找一个yolo的模型,B站上有很多大佬。个人推荐这个大佬。他就有教程,可以跟着自己做,我写的是一些注意事项,自己遇到的。
Tensorflow2 搭建自己的yolo3目标检测平台(Bubbliiiing 深度学习 教程)_哔哩哔哩_bilibili
源码下载
https://github.com/bubbliiiing/yolo3-tf2
喜欢的可以点个star噢。

第三步:环境的配置,这个直接pip安装就可以。B站的大佬已经帮你找好环境了。 如果有环境安装的问题可以留言一起讨论。

第四步:训练模型,在这里有一些小的心得,B站的大佬用的voc数据集,我python基础不好,写不出对xml文件内容提取,所以就把我的数据集格式转变为voc的格式了。意思就是数据集重命名,这里有python现成的工具。代码如下
import os
path = "D:\\BaiduNetdiskDownload\\mask_dataset\\label_nomask"
filelist = os.listdir(path) #该文件夹下所有的文件(包括文件夹)
count=515#设置图片编号从1开始
for file in filelist:#打印出所有图片原始的文件名
print(file)
for file in filelist: #遍历所有文件
Olddir=os.path.join(path,file) #原来的文件路径
if os.path.isdir(Olddir): #如果是文件夹则跳过
continue
filename=os.path.splitext(file)[0] #文件名
filetype=os.path.splitext(file)[1] #文件扩展名
Newdir=os.path.join(path,str(count).zfill(6)+filetype) #用字符串函数zfill 以0补全所需位数
os.rename(Olddir,Newdir)#重命名
count += 1
"""
import os
path = 'E:/CSRNet-pytorch-master/data/original/shanghaitech/part_B_final/train_data/images'
num = 1
for file in os.listdir(path):
os.rename(os.path.join(path,file),os.path.join(path,'IMG_'+str(num)+".jpg"))
num+=1
"""
效果像下图这样。

这里有一个注意的地方,就是如果你数据集有很多不同地方来的,记得注意图片和xml文件一一对应。
把重命名的数据放入其中就可以。

在运行大佬这个代码的时候,这个voc_classes.txt文件里面是你分类的东西。

下图是你分类内容,在这里有一个注意点。就是你分类的内容必须与你进行标注的标签一致。就是你xml文件里面的名字。



像这样的才是成功,有路径有位置信息。

然后进行训练就可以了,B站大佬讲的很详细。










