美文网首页人工智能
YoloV5的原理与实现:TensorFlow版开源

YoloV5的原理与实现:TensorFlow版开源

作者: YueTan | 来源:发表于2021-01-12 15:07 被阅读0次

    开源

    自从yolov5开源以来,(不管因为啥原因算是)深受瞩目,最近我用tensorflow实现了其主要部分。就孤陋的我看来,是第一个纯正的tensorfow2版本,欢迎try and star:
    https://github.com/LongxingTan/Yolov5

    之前在工作中接触过yolov3(跑过demo应该就算接触过了),效果惊艳。我在视觉领域只是个新人(悲伤的是我一个中年人却在哪儿哪儿都TM是新人),能力有限,疏漏难免。从头开始实现,对我来说是一次不错的经历,遇到和解决了一些细节问题。


    在这里插入图片描述

    如readme中所指出的,主要特点如下:

    • 纯tensorflow2的实现
    • 用yaml文件来配置模型和控制模型大小
    • 支持自定义数据训练
    • 马赛克数据增强
    • 通过iou或长宽比匹配anchor
    • 相邻正样本增强
    • 支持多GPU训练
    • 相对详细的代码注释
    • 缺点多,提升空间巨大

    原理

    结合代码简单回顾一下其主要原理和改进。当然知乎上已经有不少非常不错的解析文章可以参考,尤其是下面列举的。当然,如有可能,读代码应该是更清晰、细节的了。

    损失函数部分,还没有完全和v5的设置一样。v5中做了一些优化,如不同scale的平衡,如目标confidence损失的权重等。

    效果

    如果想要效果最佳,还是推荐原版pytorch,毕竟一直在更新中,v4和v5的作者也一直还在发力优化。如果对tensorflow有谜之爱好,或者想通过代码了解yolov5,我觉得我的版本写的更清楚一些(与之相应的代价是可能有细节遗漏甚至不对的地方),总之欢迎大家尝试。
    在MNIST检测数据上的效果:


    在这里插入图片描述

    在voc2012数据集上的效果(效果还有待加强):


    在这里插入图片描述

    再大的数据集我就跑不动啦,毕竟只有1080Ti可用。

    欢迎关注

    相关文章

      网友评论

        本文标题:YoloV5的原理与实现:TensorFlow版开源

        本文链接:https://www.haomeiwen.com/subject/rcfeaktx.html