目标检测:OneNet: Towards End-to-End One-Stage Object Detection

目录

算法介绍

算法训练

 

算法介绍

OneNet算法的优点

1):全卷积,端到端,没有ROI 操作,也没有 attention 机制

2):标签分配是通过最小代价策略,不需要复杂的人工设计或者启发

3):没有任何后处理,比如:NMS, max-pooling等

 

要点1:

以前的大部分网络只根据 proposal 和 GT 之间的 location cost  来进行打标签,比如 box IOU 或这 point distance. 并没有引入 classification cost. 这会导致前向推理时会产生大量的高分冗余框,所以需要NMS进行后处理

 要点2:

基于 box IOU 或者 Point distance 方式进行标签分配的算法都会面临:多对一的情况,即一个GT对应多个 positive sample

要点3:

作者提出 Minimum Cost Assignment [最小代价分配策略], 即 classification cost + location cost 最小的 sample 标记为 positive sample, 剩余的为 negtive sample

 

Location cost:

Minimum cost: 增加了一项:分类损失

 

伪代码:

要点4:

网络结构简单直观:backbone下采样,FPN上采样,只在下采样4次的feaure map上进行结果的预测。

同时文中也提供了多头训练结构:

比较有意思的结论是:单单使用多头训练,并不会提升精度。。。感觉有点意外,作者说如果多头训练,必须增大学习率才可能提升精度。。。单头训练增大学习率反而可能会造成精度下降。。。

最后看一下实验对比:

1:与centerNet 对比,感觉没有优势。。。为了追平AP,输入的尺度放大了。。。

2:好在结构简单,没有什么太多奇怪的东西

算法训练

我是训练自己的VOC格式的数据,简单记录一下

1:安装,参考https://github.com/PeizeSun/OneNet 官方的readme即可

2:模型下载:直接下载百度云链接即可,里面包含了R18_dcn, R18_nodcn, ResNet-18.pk预训练模型

3:准备数据。创建VOC2007文件夹,并将自己的VOC数据路径软链接过来

cd  datasets
mkdir VOC2007
ln -s /path_to_your_voc/Annotations Annotations
ln -s /path_to_yout_voc/MainSets MainSets
ln -s /path_to_your_voc/JPEGImages JPEGImages

4:修改训练配置文件: OneNet/projects/OneNet/configs/onenet.res18.nodcn.yaml

5: 调整训练数据类别:OneNet/detectron2/data/datasets/pascal_voc.py,更改为自己的数据类别

6:调整解析代码,防止自己的train.txt中有特殊字符,比如# $ 等。OneNet/detectron2/data/datasets/pascal_voc.py

7: 跳过没有包含的类别:OneNet/detectron2/data/datasets/pascal_voc.py

8:训练

python projects/OneNet/train_net.py --num-gpus 1 --config-file projects/OneNet/configs/onenet.res18.nodcn.yaml

 9:目前还在训练,还不能测试其具体效果,所以先简单的总结一下训练感受:

                     YOLOv5-s     OneNet

Batch_size       16                  16

Input_size     1024*1024       多尺度

epochs             80                   300

(1):显存占用大,同样batch_size = 16, YOLOv5-s的训练图像大小是1024*1024,显存占用7.7G,而OneNet训练的图像小,但显存几近12G了。。。

(2):显存利用率低,YOLOv5-s能几近100%, 而OneNet 间断性的0-75%

(3):训练时间稍长,YOLOv5-s,80epoch耗时16.7h。 OneNet,300epoch耗时3 days。

终于训练完了。。。

YOLOv5-s: 看起来,还没有完全收敛,还有继续提升的空间。

OneNet:看起来也还有指标提升的空间,可就是慢。。。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微风❤水墨

你的鼓励是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值