zoukankan      html  css  js  c++  java
  • 论文-MS-CNN

    A Unified Multi-Scale Deep Convolutional Neural Network for Fast Object Detection

    MS-CNN就是将faster RCNN进行multi scale化,从而提高对 small object的判断能力。

    总的来说,目前的object detection主要分为这几种不同的detection strategies。

    分析, a方法获得最高的准确率,但是因为computation costly。b方法的可以减少计算,但是需要不同scale的classifications,且detect效果较差。接着的方法都是在complexity与accuracy之间取得一个trade-off。

    本文的方法的结构是:

     

    该CNN的网络结构是在不同的层进行一个Object Detection sub-network

    其中Object Detection sub-network 的结构是:

    整个结构就是 faster RCNN的multi-scale版本。

    因为越浅层的branch反馈的梯度,对主干network的影响越大。这样会造成训练的不稳定。

    The Buffer Convolution 层防止branch的梯度直接回传到主干上。

    (1), loss

    Loss 可以被定义为:

    其中M是detection branches的数量,alpha是对应loss的权值。

    对应的每一个detection layer的loss定义为:

     

    最优的parameter: 

    来源于 SGD的学习。

    (2), sampling

    对于每一个detection layer m 都有一个training samples Sm = {Sm+, Sm-}, 对于一个image,object和no-object的分布式非常不平衡的,所以采用sampling来消弭这种不平衡。

    有三种sampling strategy: random, boostrappinig和 mixture。在paper中的实验说明,mixture sampling 和 bootstrapping的表现相近。

     

    (3), detection sub-network

    Deconvolutional layer, 起到一个higher resolution的作用,更加适合于location-aware bounding box regression。Upsampling feature maps使用了deconvolution layer,实验证明了,添加了deconvolution layer之后,detection 效果得到了明显提高,尤其是对小的object。

    还有一个创新点是: context embedding,在paper中是context from multiple regions,其中 context region 是object region的1.5倍大小。这样就起到了一个上下文的作用。

    最后一个Conv层是减小model参数的作用,对feature map的一个降维作用。

    当然,MS-CNN取得了高的detection rates同时达到速度提高到 15fps。 在硬件条件越发好的条件下与faster RCNN 比,performance还是较为好的

  • 相关阅读:
    apiCloud授权绑定第三方账号,微信、QQ、微博。
    Java中JTree的简单案例
    Java中的Swing键盘绑定案例
    Beej网络socket编程指南
    IP处理函数inet_aton()和inet_ntoa(),inet_pton,inet_ntop
    Hadoop开发环境搭建
    Lua和Javascript差异对比
    Lua table pair和ipair区别
    lua中求table长度
    lua metatable和metamethod元表和元方法
  • 原文地址:https://www.cnblogs.com/zhang-yd/p/6568126.html
Copyright © 2011-2022 走看看