修改YOLOv3-tiny结构之后

1.为了提高tiny的识别精度,利用11卷积层在原YOLOv3-tiny的基础上做了一些修改,增加了卷积深度;
具体是在每个3
3卷积层后加入了4个33和11卷积层,然后调整YOLO层的相加层数(route)

2.在voc数据集上进行训练,起初训练了50200之后,测试能出图,但是不出框;
分析:
1)终端输出loss在一段时间内一直徘徊在1.6-1.7之间,不进不退,怀疑是学习率设置不对,于是修改为在20000,40000,45000次迭代时减少学习率,重新开始训练;;
2)训练到40000次左右,loss还是出现徘徊的情况,重新测试,出现了coco数据集上才有的类别,感到很奇怪;
3)后来发现是因为上一次检测的默认类别是coco的80个类别的顺序,同样的类别序号对应的具体类别不一样,但是识别概率是一样的,于是将原简短的测试指令:

./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

替换成完整的测试指令,并使用data/voc.data

./darknet detector test cfg/voc.data cfg/yolov3-tiny.cfg yolov3-tiny.backup data/dog.jpg

出现了正常的结果,此外test时,要将cfg改成test模式。
voc
coco.data
GPU版本测试效果上测试效果。
如果在GPU上设置thresh值之后,依然无法出框,可以尝试在cpu版本的darknet上测试,中间不是很明白,所以搜索了解决办法,感觉可以试试
虽然出结果了,但是识别率只有可怜的0.5左右,于是准备再训练50000次,看看效果怎么样。

因为是初学者,可能对我有用,如果有更好的办法,也欢迎交流。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
YOLOv7-tiny是一种用于目标检测的深度学习模型,是YOLO系列的一个轻量级版本。如果要对YOLOv7-tiny模型进行修改,可以考虑以下几个方面: 1. 网络结构修改:YOLOv7-tiny模型的基本结构包括多个卷积层和全连接层,可以通过修改网络的层数、通道数、卷积核大小等参数来改变模型的性能和速度。例如,增加卷积层和残差连接可以提高模型的感知能力,但会增加计算复杂度。 2. 特征提取器修改:YOLOv7-tiny使用的是Darknet作为特征提取器,可以考虑使用其他更先进的特征提取器,如ResNet、MobileNet等。这些特征提取器具有更好的感知能力和更小的参数量,能够提高模型的检测精度和速度。 3. 数据增强方法修改:数据增强是提高模型泛化能力和鲁棒性的重要手段。可以通过修改数据增强的方式来改善模型的性能。例如,可以增加随机裁剪、旋转、平移、缩放等操作来增加训练样本的丰富度,增强模型对于不同尺度和角度目标的检测能力。 4. 损失函数修改:YOLOv7-tiny使用的损失函数是YOLO系列中的独特设计,可以根据实际需求对损失函数进行修改。例如,可以调整不同物体类别的权重,改变置信度的计算方式,或者增加其他辅助任务的损失项等。 5. 后处理方法修改:YOLOv7-tiny使用非最大抑制(NMS)作为后处理方法,可以考虑使用其他更高效或更准确的后处理方法来进一步优化检测结果。例如,可以使用Soft-NMS或者对象级别的置信度修正方法来改善模型对于密集目标或遮挡目标的检测效果。 综上所述,对于YOLOv7-tiny模型的修改可以从网络结构、特征提取器、数据增强方法、损失函数以及后处理方法等方面进行调整和优化,以适应不同的应用场景和要求。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值