首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Single-Shot Refinement Neural Network for Object Detection

论文:https://arxiv.org/abs/1711.06897

代码:https://github.com/sfzhang15/RefineDet

RefineDet是CVPR2018的一篇论文,之前主流的目标检测算法主要分为single-stage和two-stage两种,single-stage模型的优势在于速度较快,two-stage模型的优势在于准确率更高,当下很多工作都是围绕着提高single-stage的准确率(如之前该公众号谈到的

focal loss

,解决single-stage的样本不均衡问题),或者降低two-stage模型的时耗(如Lighthead RCNN)。而这篇论文提出的RefineDet可以说是这两种方法的融合,在single-stage模型的基础上,融入了two-stage的思想,可以说single-stage和two-stage已经没有明显的分界线了。

RefineDet的网络主要分为三个模块,anchorrefinement module(ARM)和objectdetection module(ODM),当然还有两者之间的连接块,transfer connection block(TCB)。

ARM:本质上是SSD模型,实际上是类似RPN网络的功能,实现前景和背景的二分类,预测前景和背景的得分scores(negative confidence score和positive confidencescore),negative confidence score超过预设的阈值的anchor会被丢掉。最后留下的是negative hard refined anchor和positive refined anchor。解决后续网络多分类中的样本不均衡问题,同时还预测其坐标的四个offests,粗略调整anchor的位置和大小,为后面的回归提供更好的初始化。

ODM:网络模型类似于DSSD,不同之处在于输入ARM网络的输出结果refinedanchors,解决训练样本的筛选问题,在ARM网络的粗略回归的基础上进行二次回归,这种级联式回归也使得bbox的回归更加精确。

TCB:TCB连接了ARM和ODM,实现了特征的融合。TCB在特征融合的方法上与之前的特征融合方法也稍有差异,采用的是先通过反卷积运算,实现维度的统一,再通过Eltw Sum(也叫broadcast add)操作,将浅层和深层的特征图在对应的通道上做加法运算。在此之前Google TDM使用的是先通过up-sample操作,实现w、h维度的统一,再进行concat操作,让浅层和深层的特征图在通道数的维度上进行拼接,这种方式的特征融合较为粗暴,效果也较差。FPN则是通过up-sample操作,再通过Eltw Sum操作。DSSD使用的是先通过反卷积操作,再进行Eltw Product(也叫broadcast mul)操作,将浅层和深层的特征图在对应的通道上做点乘运算,Eltw Product操作效果稍微好于Eltw Sum操作,但是乘法运算的耗时也要高于加法运算。

Loss function:直接将ARM和ODM两部分的loss相加,实现端到端训练。作者在训练过程中还用到了一些技巧,有兴趣的读者可以在论文中了解这方面的细节。

欢迎关注,see you next time ~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180730G1HESK00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券