Detection Performance and Efficiency

将多个模型部署在mobile设备或者px2上,要达到实时效果,模型的运行速度十分重要,这里汇总几个性能好的目标检测算法,想到哪写到哪。


Light Head R-CNN

原文链接:Light-Head R-CNN: In Defense of Two-Stage Object Detector

文章对Faster RCNN 和R-FCN算法加速,文章用两个backbone从精度和速度两个方面对算法性能进行阐述。其中以ResNet101做backbone的结果超过了目前的two stage算法(在COCO数据集上性能超过了当前提交的最佳结果,同时速度也有一定的保证),以Xception结构的轻量级网络的结果在保证一定精度的情况下,速度比目前的one stage算法要快(30.7mmAP,102fps)。
性能比较
上面展示了用轻量级Xception结构的网络、ResNet50、ResNet101为backbone的Light Head R-CNN在mAP以及推断时间上的结果与其他算法的比较,可以看出在精度和速度上的优势比较明显。
ResNet101结果
上面是以ResNet101为backbone的结果。
Xception结果
上面是以Xception结构为backbone的结果,在速度方面表现惊人。

Architecture

结构对比
可以看到,R-FCN在Faster-RCNN的基础上,对ROI Pooling层后重复计算的问题进行改进,得到分类网络提取的feature map后,在分类的支路上用channel数为P^2×(C+1)的1×1卷积(P是接下来的pooling size,C是object类别总数)生成position-sensitive score map,然后跟RPN网络生成的ROI一起经过一个PSROI Pooling层生成(C+1)维的feature map,大小为P×P,最后经过一个global average pooling得到(C+1)维1×1 feature map。Light Head RCNN在R-FCN的基础上又做出了改进。R-FCN生成的score map的cahnnel数比较多(对于COCO数据集的80类是81×7×7=3969)本文采用一个large separate convolution生成thinner feature map,将原来的(C+1)×P×P的channel用固定设置的α ×P×P的channel数替代,降低了后续Pooling和其他操作的计算开销,同时去掉了最后会丢失位置信息的pooling层以提高精度。(本文核心是将通道数降到α ,针对80分类的COCO,相对R-FCN计算量降低明显,如果是在类别数很少的情况下,速度优势还在吗?

Basic feature extractor

Xception原文:Xception: Deep Learning with Depthwise Separable Convolutions

按Xception结构设计的轻量级backbone网络:
224×224输入的top1 error为34.1
Xception

Thin feature maps

large separate convolution
文中通过上面的结构生成thin feature map,借鉴了Inception3 的做法,将k×k卷积用1×k和k×1两层卷积来代替,其计算结果一致,但能减少计算量,本文中k取15,也就是采用了一个尺寸较大的卷积核,对于轻量级backbone,Cmid采用64,Cout为(α×p×p,文中为10×7×7)

R-CNN subnet

R-CNN子网络后面接了一个全连接层,用于定位和分类 。

RPN

使用三种比例(1:2,1:1, 2:1),五种尺度(32^2, 64^2, 128^2, 256^2, 512^2)。阈值设为0.7,用NMS减少生成的RPN数量。

trick

通过三个小改进把R-FCN的baseline提高了3个点:
1.将短边resize到800,限制长边最长为1200,由于图片更大,将RPN设置成5种尺度
2.把回归loss的权重加倍
3.根据反向传播loss排序,挑选loss最大的256个samples回传

文中别的技巧:
1.平衡样本,样本按类别分,每一类生成一个sample list
2.难例挖掘(OHEM),online hard example mining
3.多尺度训练
4.atrous,对大网络采用这个trick预训练,小网络不用这个方法,因为计算量比较大。


SSDLite

这个方案是MobileNetV2一文中提到的应用。
文中提到把所有预测层的常规卷积换成可分离卷积以节省计算量达到实时效果。
下面是SSDLite与原生SSD相比的参数量,以及在COCO数据集上的表现,这里给出的是CPU速度,没有提GPU速度。并且有一点我比较在意的是深度可分离卷积的实现,不同的框架对其优化程度不一样,之前对比过Mobilenet2在tensorflow和pytorch上的推理时间,CPU和GPU各有一方占优势。
从实验上来看,在VOC上的表现效果和vgg比差了四五个点,CPU上速度倒是快了不少。
SSDLite


Pelee

原文链接:Pelee: A Real-TimeObjectDetectionSystem onMobileDevices
跟mobilenet一样,也是为移动端设计的轻量级网络,但是与mobilenet等极度依赖深度可分离卷积的结构不同,Peleenet设计了两个基于普通卷积的结构,在作者另一篇经典文章Densenet的基础上进行改良,在ImageNet上的表现略优于mobilenet v1,且模型大小是mobilenet v1的66%,虽然精度略逊于后来的mobilenet v2,但是比它的模型大小还要小一点,最重要的还是不依赖于深度可分离卷积啊。
pelee和mb1
顺便附上mobilenet v2:
mb2和mb1对比
两种结构:
pelee
和mobilenet2一文一样,作者同样考虑了将网络与SSD结合改进,提出Pelee检测器,主要是设计了更小的特征提取尺度,同时在每个预测图前加了一个resblock。在 VOC 2007 数据集上map做到了76.4,在 上达到了22.4。在准确率、速度和模型大小方面,Pelee 系统都优于 YOLOv2 :
VOC2007
COCO
Time
其中跟mibilenet的比较看看就好,SSD+mibilenet精确度上来看结果没有mobilenet2一文中给的高,不过pelee的结果看起来还是略胜一筹的:
mb2
这个框架也是一种选择。


YOLO

经典的三篇文章:
You Only Look Once:Unified, Real-Time Object Detection
YOLO9000: Better, Faster, Stronger
YOLOv3: An Incremental Improvement
v1基于全图检测,泛化能力强,背景错误少,但是定位不准,对小目标和密集物体的检测效果不好。速度在当时来说很快。
v1效果和速度
v1背景错误比基于anchor的少
v2在v1的基础上更快更好,论文顺便提出了更强的YOLO9000,这里不提。v2设计了新的backbone darknet19,引入了anchor,用聚类的方法设计anchor大小(聚类脚本),利用一系列方法使检测更加稳定,Tiny版本速度很快,超过200FPS。
v2表现
v2 coco
v3是在v2基础上做了精度的改进,速度略慢一点,但是精度有所提升。设计了darknet53,应用多尺度预测,用多个logistics分类器代替softmax等方法,可以通过改变模型结构的大小来权衡速度与精度。
作者秀一下


SqueezeDet

主要思路是SqueezeNet + YOLO进行改进,保证速度的情况下提升精度,效果还不错,输入大小1242x375时,FPS达到57.2。
文章的创新点在ConvDet层,用一个卷基层来同时回归bbox和判断类别,通过全卷积的方式的方式对feature map整个进行计算,得到很多proposal,进行nms后得到最后的bbox。
文章在KITTI上的表现如图:
`KITTI表现
文章尝试改变不同的参数看效果,很奇怪的是把输入变大,结果反而变差,设置的anchor数变多结果也变差了。
对比实验
这篇文章总结的自动驾驶检测的四个要求很不错,1.精度;2.速度;3.模型大小要适应嵌入式设备;4.模型的能源消耗也要适应移动端的低功耗设备。文章就是从这四个思路提出的SqueezeDet。
文章是将squeezenet和YOLO结合的改进,那么也可以用现在出来的更适合移动端的轻量级网络当backbone,进一步提高性能。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值