美文网首页
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学习总结

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