yolov3是图像处理的
yolov3基于coco数据集,好几万张图像训练出来的
有8个类
原本想看结果,就要训练1次(GPU要运行5分钟,CPU要运行一个小时)
加了个test后,就可以调test直接用
权重是200多兆
这个是一个很小的模型
调权重,权重是coco上得到的,肯定不适合现在的模型,这叫预训练
所以要再它的基础上微调训练好的模型:
data包含3部分:
一部分是数据集,有很多图像
第二部分,测试集
在img里训练好了到test里测试
怎么训练:
比如:这个5,他是什么,他的位置在哪,要告诉模型,要标注
怎么标注:
在ann有32张xml文件
有几个图形就有几个xml文件
这个文件表示当前这个图像所在的位置
这个xml文件是怎么生成的:
用一个lable
在spyder里运行
运行后会出现这样一个界面:
一开始是这样的
点击Open Dir,选择文件夹,打开:
这样图像就加载进来了:
怎样标注它:
点击ok后:
点击Next Image,提示是否保存选保存:
两位数创建两个框,框与框可以重叠,但一定要框准确
依照这个方式,以此类推,都框选出来,然后保存,之后就会生成每一个图片的xml
然后把xml放到ann里,就会生成一些位置
然后就开始运行
可能会需要包,要有这个工具
首先更新pip
--upgrade可能不行
因为1.13的版本太低了可以换成--user
更新完pip之后再安装opencv-python这个包
运行过程:
设定了83次
这是正常情况,如果改了模型,发现误差越来越高就表示有问题
运行了之后就会在model里生成一个h5文件,这就是最终生成的文件
用test测试
测试集里有几张图片,
加载h5文件,
加载进来之后会生成结果
例如:测试时是一个2,2的旁边会有一个框,在框的头顶有一个准确率,模型认为91%是2,就是0.91
如果有的时候设置的准确率超过50%才显示,但是发现这个地方明明是2,但是不太确定,只有40%的可能性,那么40%<50%,结果就出不来
这个模型默认是30%,超过30%就认;低于30%,太低了就不认,结果就出不来
老师还给提供了两套数据集
第一套:遥感数据集
可以将楼框起来,进行识别
第二套是猫的,
也可以框起来识别猫