Few-shot YOLOv3: Few-shot Object Detection on Optical Remote Sensing Images论文学习以及复现

写在前面

    之前复现了基于yolov2的小样本目标检测的论文,经过在其他数据集(如一些包含小目标的遥感数据集),检测效果不是很好,可能是由于v2的性能的问题,v2网络本身只有一种尺度的预测特征图,相比于从v3开始的多个预测特征图,性能逊色一些。
    下面就学习复现基于v3的小样本目标检测算法,github链接
链接: FSODM。感觉这个代码有点冷门,可能是由于作者给的说明太少吧。

环境配置

    作者没有给出代码的requirements.txt,经过实验,发现v2的版本的环境依然适用!
关于v2版本的环境配置:链接: Few-shot Object Detection via Feature Reweighting跑自己的数据集

数据集准备

    在这里为作者点个赞,新写的代码很好,我们只需要把数据集弄成相应的格式,就是用作者的代码制作数据集啦!其实就是把Prepare dataset步骤,调试一遍就明白那些py的作用了,这里后面有时间再补充吧。

训练

    训练基本和v2版本的类似,只是有些参数位置变了,训练的时候记得改类别名称,改成自己对应的就行,目的就是能够定位到自己的数据集。这里根据代码慢慢改就行,或者先运行看,哪里报错改哪里(~ ~,我就是这样改的…)。代码结构上和v2的版本没区别,貌似就是网络结构和loss那里不同。

预训练权重

    作者没给预训练权重!解决方法:
(1)从头训练,有一说一,训练时间是真的长!!!
(2)****************************************

测试

     测试和v2差不多,如果遇到爆cuda,处理和在v2版本里遇到的问题一样:

在这里插入图片描述


即在执行python valid.py xxxxxxxx时,修改为:
with torch.no_grad():
meta…
训练的时候记得注释了,恢复为原来的样子。
计算AP也是和基于的v2版本一样。

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...