第三十七周学习笔记

第三十七周学习笔记

SuperPoint复现进度

evaluation

测试的时候发现即便在图中看起来MagicPoint的预测结果与ground truth相似,但是实际的准确率和召回率均很低,调整好阈值之后,均在0.6左右,加上nms之后,可以达到0.8左右

奇怪的现象,即便test_loss变大了,但是precision和recall竟然也变大

计算mAP

为了计算出mAP,先要计算出AP值,这里遇到了以下误区:

  • 计算每张图片的AP然后加和平均:这种算法是错的,而且对于全是高斯噪声的图片,由于全是负类标签,所以计算准确率和召回率的时候会出现分母为0的情况
  • 为了弥补第一步中的错误,应该在全数据集上直接计算AP,因为作者评估的时候选择了1000张图片,所以计算AP的时候需要维持几个1000*120*160的数组,这对内存是很大的开销,直接计算得到AP仅有0.56,这是因为没有使用 ϵ = 4 \epsilon=4 ϵ=4的容错率,即对于在关键点周围四格以内的预测均计算为正确的

由于作者没有给出细节,而在普通的计算AP的算法上加上 ϵ = 4 \epsilon=4 ϵ=4的容错是十分奇怪的做法,因为当预测值不是标签但小于容错的时候,既不能直接将其计算为TP,因为这样做会导致recall最后大于1,也不能动态改变recall的分母,因为这会影响AP中给定r计算最大p的过程,更不可以将其算作FP,因为这样会导致precision偏低,我的选择是,当发现某个label周围 ϵ = 4 \epsilon=4 ϵ=4中的第一个点时,即给TP加一,之后该区域中出现的所有点都不再算如TP中,这样做既能保证第一时间将检测到的点加入TP,同时保证了给定r计算最大p的正确性

针对前两个错误,提出第三个计算AP的方法:

Created with Raphaël 2.2.0 初始化预测为正例的样本数K为0,所有样例预测值全为0,TP=0,真实标签为1的样本数记为N K<预测样例数 选择激活最大的一个样本s,K=K+1 s是正确label周围四格以内的点 正确label位置的预测值是否被标记为1 K=K-1,即直接跳过本次的样例加入,因为之后不会再看到该样例,这样做等价于将该样例的激活值设为0 结束 将正确label的预测值标记为1,TP=TP+1 计算precision=TP/K , r=TP/N yes no yes no yes no

这样计算出的AP是0.8034,pr曲线如图,红点标注的是固定r可以达到的最大p的位置
在这里插入图片描述

疑惑:大致观察了样本上的预测效果,几乎都在90%准确和召回率,为什么总体的AP这么低?相对于论文上的mAP=0.979,即便我计算出负类的AP是1,总的AP也只有0.9左右

分类计算AP和pr曲线:
1.checkerboard
AP=0.9518
在这里插入图片描述
2.cube
AP=0.9687
在这里插入图片描述
3.ellipse
undefined
4.line
AP=0.9387
在这里插入图片描述
5.multipoly
AP=0.9060
在这里插入图片描述
6.poly
AP=0.9536
在这里插入图片描述
7.star
AP=0.9739
在这里插入图片描述
8.stride
AP=0.5030
在这里插入图片描述
9.noise
undefined

可见,模型在stride上的预测效果非常差,对此去掉几大类后重新评估:

  • 去掉stride AP=0.82
  • 去掉stride和noise AP=0.87
  • 去掉stride和noise和ellipse AP=0.91

由于严重的样本不均衡问题,负类的AP几乎可以估计为1,则去掉三类后的mAP=(0.91+1)/2=0.955,接近论文给出的值,但由于论文没有详细给出evaluation的方法,上述算法只是我根据给出的一个直观的评估方法,因此会有差异,但总体看来,除了在一些负样本上,模型的效果已经不错

ResNet18在CIFAR-10上的训练

代码位置
原文参数训练

  • mini batch 128
  • 初始学习率0.1,在32k和48k次迭代时除以10
  • 在64k次迭代时终止

结果得到的Top-1 error 是25.8%,可能由于以下原因:

  • 参考论文得知,作者并没有直接使用ResNet18来训练CIFAR10,而是使用了更改了结构后的ResNet20,我一开始也觉得奇怪,因为使用ResNet18最后一层卷积得到的激活的feature map size是32/2^5=1 * 1,这样的下采样损失了大量的信息
  • 我写的网络里有BUG

待下周排查

本周总结

  • 评估MagicPoint完成,生成pseudo ground truth未完成
  • learning opencv上册75%,未完成
  • 论文阅读未完成

下周目标

  • 生成pseudo ground truth
  • learning opencv上册75%
  • 阅读论文
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值