不需要预训练模型的检测算法—DSOD

2019 年 10 月 10 日 极市平台

加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动!

同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。关注 极市平台 公众号 ,回复 加群,立刻申请入群~


作者:AI之路

来源:https://blog.csdn.net/u014380165/article/details/77110702

此文已经作者授权,未经许可不得二次转载



论文:DSOD: Learning Deeply Supervised Object Detectors from Scratch

论文链接:https://arxiv.org/abs/1708.01241

caffe代码:https://github.com/szq0214/DSOD.


这是一篇ICCV2017的文章,我觉得非常有意思,因为DSOD(Deeply Supervised Object Detector)算法并不是在mAP上和其他检测算法做比较,看谁的算法更有效或者速度更快,而是从另一个角度切入说明fine-tune和直接训练检测模型的差异其实是可以减小的,也就是说训练一个检测模型可以不需要大量的数据和预训练好的模型。这篇文章的核心内容如果用一句话概括那就是:DSOD可以从0开始训练数据,不需要预训练模型,而且效果可以和fine-tune的模型媲美。


所以如果看到这里你也和我一样被这个算法所吸引,那么就继续往下看吧。


DSOD是在SSD算法的基础上进行改进的,可以简单理解为 SSD+DenseNet=DSOD(作者文中也曾尝试从0开始训练region proposal based的检测算法比如Faster RCNN,R-FCN等,发现模型很难收敛;而proposal-free的检测算法比如SSD却可以收敛,虽然效果一般,因此最后采用proposal-free的检测模型SSD。可以看原文的这句话:Our DSOD300 achieves 77.7% mAP, which is much better than the SSD300S that is trained from scratch using VGG16 (69.6%) without deep supervision. It is also much better than the fine-tuned results by SSD300 (75.8%)。在实验中作者是在VOC2007 trainval和2012 trainval数据集上训练模型,然后在VOC2007 testset上测试模型的效果。


为什么要从0开始训练一个检测模型,而不是fine-tune一个预训练的模型呢?这是本文的出发点,而作者也在文中介绍了三个主要原因:1、是预训练的模型一般是在分类图像数据集比如Imagenet上训练的,不一定可以迁移到检测模型的数据上(比如医疗图像);2、预训练的模型,其结构都是固定的,所以如果你要再修改的话比较麻烦;3、预训练的分类网络的训练目标一般和检测目标不一致,因此预训练的模型对于检测算法而言不一定是最优的选择。第2点我在实际中有体会过,自己修改一些检测模型,新添的层只能随机初始化,这些层和预训练好的层合并在一起的效果并不一定比不添加的好。


基于上面3个原因,作者就想能不能从0开始训练一个检测模型呢?如果可以的话,要怎么设计网络结构使得检测的效果可以跟在预训练模型上训练检测模型的效果媲美呢?于是就有了本文的算法DSOD。


Figure1左边的plain connection表示SSD算法中的特征融合操作,这里对于300*300的输入图像而言,一共融合了6种不同scale的特征。在每个虚线矩形框内都有一个1*1的卷积和一个3*3的卷积操作,这其实就是一个bottleneck,也就是1*1的卷积主要起到降低channel个数从而降低3*3卷积计算量的作用。 


Figure1右边的dense connection表示本文引入densenet思想的特征融合操作。dense connection部分左边的虚线矩形框部分和plain connection的右边虚线矩形框部分很像,差别在于channel个数(dense connection中3*3的channel个数是对应plain connection中3*3的channel个数的一半),主要是因为在plain connection中,每个bottleneck的输入直接是前一个bottleneck的输出,但是在dense connection中,每个bottleneck的输入是前面所有bottleneck的输出的concate。dense connection部分右边的矩形框是down sampling block,包含2*2的max pooling(降采样作用)和一个1*1的卷积(降低channel个数的作用),作者也提到先进行降采样再进行1*1卷积主要可以减少计算量。因此可以看出DSOD是SSD+DenseNet的结果。



DSOD的网络结构图如Table1所示。Dense Block就是DenseNet网络的子模块。这里的stem block部分由3*3卷积和2*2的max pool层组成,后面作者的实验有证明这个stem block的存在可以提高mAP。




实验结果


Table3是在VOC2007 testset上不同参数的实验结果。第3,4行的对比可以看出bottlenect的channel个数越多,mAP相对越高。第5、6行的对比可以看出growth rate从16变成48,可以提高4.8%的mAP。第6,9行的对比可以看出stem block的存在可以提高2.8%的mAP。


Table4的信息很丰富。前面两个block是在预训练模型上继续训练检测模型,后面3个block是没有预训练模型的,也就是直接开始训练检测模型。粗略地看第1,2,5三个block的对比,DSOD可以在没有预训练模型的情况下取得和其他检测算法在预训练模型上训练的效果。第4个block可以看做baseline,因为作者也对比都没有预训练模型的情况下检测算法的优劣,可以看出第5个block比第4个block的提升非常明显。第5个block的前两个DSOD300的对比主要是预测的结构是plain还是dense的,或者简单讲是否包含down-sampling block和concate操作,可以看出dense结构比plain结构在mAP上有提升,但是速度慢了,因为前者包含down-sampling等操作。



更多实验结果可以参看论文。



总结


DSOD是在SSD算法的基础上引入了Densenet的思想,也就是改造了一些层的输入。文章的核心内容可以用原文的一句话来概括:A better model structure might enable similar or better performance compared with complex models trained from large data.另外通过结合densenet,也使得DSOD的参数数量大大减少。如果专注于特殊图像的检测或者苦于没有预训练模型,可以参考这篇文章的思想,而且已经开源了代码。



-End-


*延伸阅读





CV细分方向交流群


添加极市小助手微信(ID : cv-mart),备注:研究方向-姓名-学校/公司-城市(如:目标检测-小极-北大-深圳),即可申请加入目标检测、目标跟踪、人脸、工业检测、医学影像、三维&SLAM、图像分割等极市技术交流群,更有每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流一起来让思想之光照的更远吧~


△长按添加极市小助手


△长按关注极市平台


觉得有用麻烦给个在看啦~  

登录查看更多
9

相关内容

超氧化物歧化酶(Superoxide dismutase,SOD)是生物体系中抗氧化酶系的重要组成成员,广泛分布在微生物、植物和动物体内
基于深度学习的表面缺陷检测方法综述
专知会员服务
93+阅读 · 2020年5月31日
专知会员服务
31+阅读 · 2020年4月24日
专知会员服务
161+阅读 · 2020年4月21日
【Amazon】使用预先训练的Transformer模型进行数据增强
专知会员服务
56+阅读 · 2020年3月6日
机器翻译深度学习最新综述
专知会员服务
98+阅读 · 2020年2月20日
【干货】用BRET进行多标签文本分类(附代码)
专知会员服务
84+阅读 · 2019年12月27日
BASNet,一种能关注边缘的显著性检测算法
极市平台
15+阅读 · 2019年7月19日
Kaggle实战目标检测奇淫技巧合集
极市平台
17+阅读 · 2019年6月1日
FaceBoxes—官方开源CPU实时高精度人脸检测器
极市平台
11+阅读 · 2019年1月18日
CVPR2018 目标检测算法总览(最新的目标检测论文)
极市平台
21+阅读 · 2018年12月21日
YOLO升级到v3版,检测速度比R-CNN快1000倍
人工智能头条
10+阅读 · 2018年3月28日
【回顾】用于目标检测的DSOD模型(ICCV 2017)
AI研习社
3+阅读 · 2017年10月16日
Arxiv
4+阅读 · 2019年12月2日
Arxiv
12+阅读 · 2019年4月9日
Augmentation for small object detection
Arxiv
11+阅读 · 2019年2月19日
Arxiv
4+阅读 · 2018年1月19日
Arxiv
4+阅读 · 2016年12月29日
VIP会员
相关资讯
BASNet,一种能关注边缘的显著性检测算法
极市平台
15+阅读 · 2019年7月19日
Kaggle实战目标检测奇淫技巧合集
极市平台
17+阅读 · 2019年6月1日
FaceBoxes—官方开源CPU实时高精度人脸检测器
极市平台
11+阅读 · 2019年1月18日
CVPR2018 目标检测算法总览(最新的目标检测论文)
极市平台
21+阅读 · 2018年12月21日
YOLO升级到v3版,检测速度比R-CNN快1000倍
人工智能头条
10+阅读 · 2018年3月28日
【回顾】用于目标检测的DSOD模型(ICCV 2017)
AI研习社
3+阅读 · 2017年10月16日
Top
微信扫码咨询专知VIP会员