YOLOV3应用在chest-X-Ray-14数据集

(1)处理数据集
YOLO训练需要这样的三个文件:

annotation_path = 'data.txt'
classes_path = 'model_data/fei_classes.txt'
anchors_path = 'model_data/fei_anchors.txt'

data.txt:
把数据集里自带的表格信息转化成.txt文件,需要注意的一点是因为YOLO训练的时候用到的是(x0,y0,x1,y1),而数据集里给的信息是(x0,y0,w,h)。因为有标记的数据太少,对数据集进行扩充,分别旋转90,180,270度。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
fei_classes.txt:
在这里插入图片描述
fei_anchors.txt:
用k-means方法,对表格中的w和h得到9个anchors。注意,因为YOLO训练的时候是把1024的图片先缩小到416x416的,所以这里的输入是先变为416x416时相对的w和h,对这样大小的高和宽进行聚类。
在这里插入图片描述

yolo3训练和测试参考的是这里的程序:https://github.com/qqwweee/keras-yolo3
训练完之后保存整个模型(原程序是保存权值,这里保存模型是为了测试的时候):
model.save(log_dir + ‘trained_model.h5’)
测试的时候在yolo.py里边执行下载模型:
self.yolo_model = load_model(model_path, compile=False)
出现的问题:
保存模型,再下载模型时,自己的模型比网上直接下载的yolo.h5多了4层(input_2;input_3,input_4,yolo_loss),这样在load_model这句会出错。开始想到了两种解决办法:在保存的时候修改程序,使之保存成和yolo.h5一样的;或者在测试的时候修改,把多出来的几层删掉。
最终得到的结果(一个框框是标签,一个框框是预测的结果,可以看出效果还是不错的):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值