yolov4网络结构_地表最强一阶段物体检测框架:YOLOV4之TF2版本来袭

从第一版的yolov3(http://github.com/qqwweee/keras-yolo3)在这位q神翻译出来后,在下一直跟进yolo的发展,两年前第一次迁移了q神的keras版。最近keras版的yolov4(http://github.com/Ma-Dan/keras-yolo4)也问世了。由于tf发展到了tf2+,很多模型建立过程、命名规则、文件读取方法以及keras的支持等,都做了非常大的调整,再加上该版本的代码是延续yolov3的代码,没有使用论文的很多tricks,加上历史遗留代码存在很多的不可读因素和局部地方的小bug。因此,基于以上两点考虑,在下联合一位cv从业同学完成了基于tf2版本的、用keras编写的yolov4.

请收下传送门:https://github.com/robbebluecp/tf2-yolov4

对于这版的yolov4,我们做了如下优化:

(1)数据增强。我们在之前的resize、色彩调整、旋转的基础上,增加了mixup、mosaic、任意

角度旋转(不建议用任意角度)、背景填充、pixel等数据增强策略;

(2)模型整合。对yolo整体网络结构和局部结构做详细拆分和更详细的整合。如darknet、spp、

pan等;

(3)loss优化。ciou优化、loss代码优化;

(4)convert调整。tf1+和tf2+对darknet权重文件的读取,从二进制流和命名方法上都有很大不

的不同,tf2+转换非常快,且跟tf1不能兼容;

(5)config配置文件取代动态传参;

(6)尽可能使np和tf分离,让训练和预测在一定程度上提速;

(7)生成器兼容、数据增强模块可扩展等其他优化。

我用voc2007数据集在V100显卡上训练到160+个epochs时,loss和val_loss差不多收敛到13+,预测准确率大约在40%-85%波动。随着预训练模型的加入或者更多epoch的训练,这个值会越来越小。

03dba8c8fab8e52ffaf4211b0611a9d8.png
f9827528c5022b92a9a96bc2e7faf5fc.png

到200+epochs后,loss又进一步收敛(忘记留图了。。。)。loss收敛稳而慢,也侧面证明了我们的数据增强方案还是很有效的。以下展示以下增强效果图

4ed1c6eb9c6dd5605b8173a73da55238.png

rotate+mosaic

08e883bd2a5035383557fc7f76e4ff16.png

rotate+mosaic+resize

71303d69637bcc0daa18fe411216b450.png

rotate+mixup+resize

0225fb5875400096b10c5adc2a29521d.png

flip+pixel+颜色微调

我的小伙伴说,这些增强有些过分了,尤其是mixup,甚至连人都不太分辨的处理,这些对模型训练也是有很大影响的,所以我们用了随机数控制增强频率。在Augment类中,你可以自己控制频率,可以自定义各种增强策略。增强虽好,不不要贪强奥~~

这个框架还有很多可以完善的地方,例如loss、augment、draw等等,希望各位来添砖补瓦,集思广益,哈哈哈~~欢迎各位cv、nlp爱好者戳戳戳!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值