yolov3-spp 训练结果分析:网络结果可解释性、漏检误检分析

1. valid漏检误检分析

  •  ①为了探查第二层反向找出来的目标特征在最后一层全连接层detector上的意义!——为什么最后依然可以框出来目标,且mAP还不错的
    • 这个全连接层做了一些反向计算
  •  ②如何进一步提升和改进这个数据的效果?可以有哪些优化数据和改进的地方?让网络学习到正确的东西?
  •  ③是不是预定义的anchor有问题?不匹配?要去验证!拿到证据!办法是:看训练loss的地方,anchor和gt的匹配情况,正负样本的情况
    • clas,bbox是只计算正样本的
    • obj是计算所有样本的
    • 总的loss里面,bbox loss和objloss权重占的很大;
  •  ④loss是有问题的,反常的

  • ①是否一个epoch里面的,各个min-batch之后,loss的抖动时正常的?
  • ②是否要看epoch之间的趋势?那个是大趋势,能否具有代表意义? 


 下面需要给上面的问题一个个的找答案!!!

正负样本匹配 vs loss计算

  1. loss计算中:只有正样本才计算bbox loss和class loss类别loss。 正样本的数量是很少的
  2. lobj置信度loss是所有样本的都计算
  • 要看Loss下降的趋势是否OK的,才能作为网络训练是否良态的标志!

  • 对比一下之前VOC数据集上的loss的情况:也是bboxloss和objloss占大头;BCE loss和L2-bbox loss;各站一般。

一、最后一层的全连接层的意义和内容

  • 这里是指最后1x1的卷积层:相当于全连接层;由于上面的特征层,目标处的热力图是负值,所以看看最后的全连接分类器在干啥?

  • 取出obj和class那个列的数值,512个,拿出来看看weight和bias的数值,bias是一个数字,weight是512个权重。
  • 权重obj是在【-0.05,0.05】之间,而clas的权重在[-0.15,0.15]之间要大一些。由于clss的gt-class=1,而gt-obj=giou小于1的,大部分都是0.3,0.2,所以范围小一些可以理解
  • 蓝色曲线总的来说是阈值比红色曲线的一个伸缩,比例是差不多的。
  • 然后是bais的差异较大;obj=-4, clas=4;
  • clas是负值太多了,需要抬升;obj是正值太多了,需要下拉;

二、猜想一:是否是网络都在学习负样本,导致热力图中负样本的区域高激活?

  • 证实猜想:采用focal-loss,将大量简单样本的loss降低,让网络去致力于降低复杂样本的loss
  • v3-ultralytics有表明:focalloss的效果不一定好,开了之后mAP还降低了,所以U版的focal loss默认是不开启的。
  • 结论证实了:加了focal loss后,mAP是会下降的
    • 但是网络有没有学习到正确的东西?还是要看热力图!
  • focal loss初步结果:mAP降低了

上面为focal-loss的热力图,下面为bce-loss的热力图 

 

 

 

  • 上面为focal loss,下面的为BCE loss;有些许差别
    • 大趋势:还是将目标和背景训练的是反着的!甚至focal loss还没之前训练的好!
    • 下一步:解冻BN层看一下!!
  • focal loss 之后,并没有更多的改进?大大目标层里面,有些许的优化,

三、解冻backbone的BN层

结论:①loss没有很大的差别;②mAP在每一个epoch上都比冻结的要高1个点,无论是在small medium large上,都要高一点

  • 证明解冻backbone的BN层,有利于迁移学习的训练!有利于metric的上升,但在Loss上体现的价值不大!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值