Det-net: a back bone network for object detection

论文地址:https://arxiv.org/pdf/1804.06215.pdf

论文作者:Zeming Li1 , Chao Peng2 , Gang Yu2 , Xiangyu Zhang2 , Yangdong Deng1 , Jian Sun2

 

这个论文的第一个特点就是:空间分辨率只是缩小到1/16,没有缩小至1/32,个人觉得这样不好,更深层的特征对于图像特征的表达能力是更强的,

第二个特点是:在shortcut连接上面使用了1*1卷积,文章没有下详细的分析这样做为何好,只是说这样做效果提升了,

第三个是使用depthwise的卷积,这里说一个题外话,caffe实现depthwiseconv源码写的垃圾,直接group=channel,这种方式将GPU的优势全抹除了,大家可以取借鉴MXNET(本人力推mxnet,大家可以一起构筑gluon这个项目,我对这个项目很有兴趣),tensorflow和pytorch的实现方式,DW的优势大家都知道,这篇论文对DW卷积的应用没有mobilenetv2好,使用这个还不如取世界fine-tune  mobilenetv2,

 

这篇论文感觉是face++对于dwconv的探路之作,所减少的计算量几乎是因为DWconv的使用,最后在identity connect上加一个1*1卷积层,都用了不短的篇幅来提,对比了一下用与不用的效果差,但是却没有详细说明为什么?

个人理解:

这篇使用1*1效果会变好一点,是因为前面用了DWconv,1*1用于通道之间的信息交流,之前网络中的1*1卷积层数不够,这样多加1*1卷积层,理论上会使得效果变得更好一些

 

摘要

:RCNN基于目标检测,不仅仅是端到段模型,比如:YOLO,SSD,Retinanet,或者是两步模型,比如:faster rcnn,r-fcn,和fpn,都通常试图通过imagenet上面那些图像分类模型直接finetune过来,很少有人想要从根本上面去为了目标检测设计一种特征提取算法,更重要的是,目标检测和图像分类之间本来就固有一些不同之处:/home/leo-xukang/table_detector/Recognition_data//home/leo-xukang/table_detector/Recognition_data//home/leo-xukang/table_detector/Recognition_data/

1.近来的目标检测器.比如FPN和Retinanet通常使用一些比常规分类模型更多的步骤以期能对不同size的目标进行检测,

2.目标检测不仅仅需要检测是目标的类别,而且需要检测出目标在图像上的位置

大的降采样会带来大的感受野,着对于图像的额分类来说是有好处的,但是对于目标位置的检测就有一些损害,由于图像分类和目标检测之间的区别,我们提出了DetNet,这是一种专为目标检测而设计的骨干网络,而且,Detnet网络相对于一些传统的图像分类网络有一些额外的结构,这样保证了它在比较深的网络层也有较高的空间分辨率,without any bells and whistles, state-of-the-art results have been obtained for both object detection and instance segmentation on the mscoco benchmark based on our detnet backbone(48亿次浮点数计算),the code will be released for the reproduction.

关键词:目标检测,卷积神经网络,图像分类

 

介绍

目标检测是计算机视觉另有一的一项重要的基础研究,而目标检测的表现效果则是随着神经网络的快速发展而显著提升,

最近基于神经网络的的目标检测算法可以被分为两类,1.one-stage-detector:yolo,ssd,retinanet,2.two-stage-detector:faster rcnn,r-fcn,FPN,这两者都基于在IMAGENET分类网络预训练的基础上的,然而,目标检测和图像分类之间还是有一下差别,因为目标检测既需要检测处图像的类别还需要检测出图像的位置,定位目标在空间上面的bounding box,更加具体的说,在目标检测任务上使用分类网络会具有两个问题,(1)近来的检测器,比如FPN,需要一些额外的网络层,来对图片中不同大小的目标进行检测,(2)传统的网络一般都基于较大的降采样,这样对于图像分类有好处,但是却十分不利于目标定位和小目标检测,

一个好的目标检测基础网络需要很好的处理上述这些问题.在本论文中,我们提出一个DETnet....更加具体的说,由于目标的size多种多样,DetNet引入了类似于FPN的网络的idea去处理这个问题,与以往那些在imagenet上面进行需要进行预训练的网络不同,我们通过一些额外的步骤保证了空间分辨率,.然而较高的分辨率特征图将带来更多的计算资源和内存占用的挑战,为了保证位置网络的效率,我们使用复杂性更低的dilated bottleneck structure,通过整合上面的改进.DetNet不仅仅能保证较高的空间分辨率,而且可以保证较大的感受野,这两者对于目标检测任务来说,都与之分重要的意义.

代码段 小部件总结一下,我们有以下重要的改进:

1.我们是第一个去分析基于imagenet分类网络的神经网络在目标检测上应用所带来的固有缺陷

2.我们提出了一种新的网络结构 DETnet,专为目标检测而设计,同时保证了空间分辨率和感受野

3.我们在MSCOCO目标检测和实例分割任务上均取得突破,获得第一

 

2.相关工作

目标检测方法需要将图像之中的目标的位置进行定位,并且对其进行分类。是一个where和what的过程。

过去的算法通过手工设计的目标特征来进行检测,比如:HOG,SIFT,Selective Search, Edge Box等,在很长一段时间,DPM方法都居于一个统治地位,在工业以及学术领域有着很大的影响,现今一个工业领域还是使用的DPM算法。但是现今是基于CNN的算法占据了主流,不为什么,就是因为CNN的效果比它好,但是有个缺点,就是对于硬件设备要求比较高。

论文将DET-Net分拆为两部分进行处理,这是一种常见的分割方法:

1.backbone network      2.obejct detection business part

 

2.1 backbone network

这部分网络通常是将图像分类领域表现比较好的网络进行迁移学习转换过来的,当然你也可以自己手工设计,不过手工设计的效果通常没有前一种方法的效果,专家大牛给的解释是:经过imagenet网络进行训练之后的算法本身具备了一些图像理解能力,所以,而且以其进行初始化网络会获得更好的收敛效果。   实际上呢? 效果确实好了,但是具备一些图像理解能力?可能把,

现今在图像分类领域表现比较好的、比较出名的网络有:1.大名鼎鼎的Alexnet, 2.直筒形网络的巅峰之作VGG,3. 凯明大神的Resnet系列, 4.Google大佬的inception系列, 5.DenseNet系列(其实我觉得DenseNet可看作ResNet的一个变种)

那该论文用的什么,该论文推荐的是Dilated Residual Network(DRN)

这个是个什么东东呢?

论文地址:https://arxiv.org/pdf/1705.09914.pdf

然后想要详细,仔细了解的同学,传统门:

https://blog.csdn.net/fx677588/article/details/71308096

这篇博客写的很不错哦!

简要的说呢,Dilated Residual Network就是将卷积核膨胀了一下,使得感受野瞬间就大了起来,如果有不知道什么是感受野的同学,请去补充一些卷积的基础知识。而且Dilated Residual Network的参数量相对于普通的卷积没有增加,这样就是我的网络感受野大了,但是参数却没变,网络效果在一些工作上会有明显的提升。

 

2.2 Object Detection Business Part

这部分就是使用backbone部分得到特征图进行目标的类别和位置预测,这部分根据设计思想的不同可以分为两类:1,one-stage系列,my best系列,我认为CNN就应该简单粗暴、直来直去,说远了。one-stage系列主要流派:yolo,ssd。yolo是鼻祖,但是现在好像SSD后来居上,arxiv上SSD的相关论文明显多余YOLO,但是我听周围的朋友说,在机器人方面,yolo的应用也挺广的。         2.two-stage系列, 代表网络R-CNN、fast r-cnn、faster r-cnn系列等等,主要是想搜框,框住特定区域的特征之后,再提取出来进行分类。所以称之为两步走。速度是慢了很多,但是精度高。

 

3.Motivation

论文中提出的网络的设计动机呢?是现在的网络都是backbone+object detection structure两部分拼起来的,它要提出完完全全是为了目标检测而专门设计的网络。好厉害!!!但是恕晚辈才疏学浅,没看出来哪里是专门为了目标检测而设计的。

网络结构图:

A是一般的FPN网络架构,B是一般的分类网络架构,C是DetNet网络的架构,差别在哪儿?大家应该一眼就能看出来,就是特征图空间分辨率的倍数问题。

作者说这种做有两个好处:

1.大目标的影响变小了, 2.小目标的信息更多了

这两点我自己主观认为是对的,因为当我们使用卷积或者池化去将特征图的空间分辨率缩小的时候,网络会偏向于保留更多大目标的特征信息,而覆盖掉小目标的特征信息。但是深层的特征信息又对于分类有很大的帮助,比如现在图像分类网络都倾向于应用比较深的特征信息,因为它效果好。

现在就有一个麻烦了,深层特征包含的分类信息多,但是小目标信息没了,而且对于定位也没多大帮助;浅层特征信息分类效果差,但是小目标信息多,而且对于定位帮助大----------------------------------那我们就将深层浅层特征进行合并吧。

于是就有了FPN,

最终效果怎么样?效果提升了,

现今的许多网络都证明了,FPN的思想确实是OK的,所以这个DET-Net也用到了这个结构。‘

 

4.Experiments

再MSCOCO上测试,80K的训练集,40K的验证集,再将40K的验证集分为35k的 large-val和5k的mini-val

 

训练参数:

8块 pascal TITAN XP GPU

SGD优化

初始学习率不知道,估计是0.02

learning-decay为0.0001

momentum为0.9

每个mini-batch是2,但是batch-size是16,也就是说每训练16个sample更新一下参数,

输入是1333*800,(难怪mini-batch小,输入图像的尺寸这么大)

采用steps式学习率衰减方法,总共训练180k个batch,然后在120k,160k的时候衰减一下,衰减比率是0.1

在初始的500个batch采用了常见的warm-up方法,

 

 

效果对比

 

前面说的在分支项加1*1卷积,作者尝试了一下加与不加的效果对比

 

看起来确实有效果,但是why?

 

最终对比:

有改进,有尝试,有想法,但是并非石破天惊的方法,总感觉写的有点保留,应该是有一些商业机密不能写?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值