美文网首页
yolo_v3学习总结

yolo_v3学习总结

作者: 不ai吃糖 | 来源:发表于2019-12-17 21:20 被阅读0次

1、 相比之前的两个版本,网络在对小目标的检检测效果要好,对于大目标的检测效果相对来说要差一些;

2、 Bounding box

沿用YOLO9000方法,采用维度聚类,根据训练集合的分类目标边框信息,使用k-means算法进行聚类,生成anchor的边框信息。因此不同的任务会有不同anchor信息,最优anchor需要在实验中确定。

最终的预测出的bounding box的坐标值,会跟anchor、gred cell相对整张图的顶点坐标联系起来。如下图:

q.png

其中tx、ty、tw、th为网络的直接预测值,bx、by、bw、bh为最终获得的目标边框坐标值,cx、cy为目标中心点所在grid cell的左上角点相对于整张图像的坐标值,pw、ph为anchor的宽和高,σ(tx)为sigmoid函数,可以将tx的值压缩到0到1的范围,利于网络收敛。推理时,使用该公式计算最终的bbox坐标值;训练时,对ground truth(gx,gy,gw,gh)的坐标值使用该公式的逆运算得到对应的t值,然后跟预测的t值计算loss,使用的是均方误差。在求逆运算的过程中sigmoid函数的逆运算较难计算,转而计算对应t值的sigmoid函数,具体如何计算和为什么等价有待继续学习。

3、 类别分类

Yolov3没有使用softmax计算分类的loss,softmax函数会使得各个类别之间有互斥的影响,这也是其在适合分类任务的原因之一,在yolov3中却对性能没有提升。Yolov3对每个bbox的类别信息使用的是二值的交叉熵损失函数,这样会使得每个框预测出的类别信息不只是一个。在一个对象有多个标签时,该方法很好用。此处不是很理解

4、 跨尺度预测

基于FPN的结构,对不同层的特图进行目标预测。使用了三种尺度的特征图。将上层特征图先进行上采样,上采样在keras版本的代码中使用的是UpSampling2D,最近近邻插值的方式,做到跟底层特征图同样大小,然后使用concatenation的方式,即在通道上拼接。然后对组合后的特征图再次进行卷积和预测分类。

大佬文章链接:
https://www.jianshu.com/p/86b8208f634f

相关文章

  • yolo_v3学习总结

    1、 相比之前的两个版本,网络在对小目标的检检测效果要好,对于大目标的检测效果相对来说要差一些; 2、 Bound...

  • yolo系列之yolo v3

    yolo系列之yolo v3【深度解析】让你彻底了解YOLO3 先分析一下yolo_v3上保留的东西: “分而治之...

  • yolo_v3改focal loss

    retinanet中的损失函数定义如下: def _focal(y_true, y_pred): """ C...

  • pytroch学习(二十四)—pytroch版yolo_v3目标

    前言 终于测试成功了pytroch版的目标检测算法,包括以下: ssd mobileNet-v1 / mobile...

  • kafka学习系列

    Kafka学习总结(一)——Kafka简介 Kafka学习总结(二)——Kafka设计原理 Kafka学习总结(三...

  • 习惯

    好的学习习惯,才能有效的学习,每天有计划的去学习,每天都要有总结,总结做过的事情,总结学到的东西,总结学习的方法,...

  • Yolo系列其三:Yolo_v3

    介绍 如果你已读过之前Yolo v1与Yolo v2系列的文章,另外对FPN/RetinaNet等模型也有所了解,...

  • 要做就做第一名

    前几天刚学会了一个学习的公式:体验→感受→分享→总结。 生活要学会总结,总结是最好的学习,可以说没有总结的学习不叫...

  • GNU Make / Makefile 学习资料

    GNU Make学习总结(一)GNU Make学习总结(二)这篇学习总结,从一个简单的小例子开始,逐步加深,来讲解...

  • java基础参考资料

    JavaWeb学习总结(一)——JavaWeb开发入门 JavaWeb学习总结(二)——Tomcat服务器学习和使...

网友评论

      本文标题:yolo_v3学习总结

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