内容简介:同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流*延伸阅读
加入极市 专业CV交流群,与 6000+来自腾讯,华为,百度,北大,清华,中科院 等名企名校视觉开发者互动交流!更有机会与 李开复老师 等大牛群内互动!
同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流 。 点击文末“ 阅读原文 ”立刻申请入群~
本文授权转自公众号我爱计算机视觉
计算机视觉中的目标检测,因其在真实世界的大量应用需求,比如自动驾驶、视频监控、机器人视觉等,而被研究学者广泛关注。
几天前,arXiv新出一篇目标检测文献《Object Detection in 20 Years: A Survey》对该领域20年来出现的技术进行了综述,这是一篇投向PAMI的论文, 作者们review了400+篇论文,总结了目标检测发展的里程碑算法和state-of-the-art,并且难能可贵的对算法流程各个技术模块的演进也进行了说明,还深入到目标检测的特定领域如人脸检测、行人检测等进行了总结,最后列举了未来可能的发展方向。
温故而知新,非常值得参考!
作者信息:
论文地址:https://arxiv.org/abs/1905.05055v1
该文作者来自美国密歇根大学、北京航空航天大学、滴滴出行。
下图是作者在谷歌学术检索目标检测相关关键字返回的历年文献数量,可见该领域20年来越来越受到学术界的关注。2018年有将近1200篇相关文献发表。
目标检测路线图
作者将目标检测近20年来的里程碑算法画在时间轴上,如下:
可见作者将算法大致分为2012年之前的传统检测方法与2012年之后出现的基于深度学习的检测方法。
传统方法比如我们所熟知的V-J检测、HOG检测、DPM算法。
深度学习方法截然不同的分为两条技术路径:单阶段检测算法与两阶段检测算法。
同时作者把目标检测的一些精度提高的方法的出现也列在了时间轴上,比如bounding box regression、multi-resolution detection等。
在目前最知名的评估数据集VOC 2007 、VOC 2012、 COCO上不同年份出现的算法精度提高,如下图:
可见,深度学习在检测领域的开山之作RCNN取得了大幅度精度提高,开辟了检测的新时代。而今年新出的TridentNet是目前在COCO数据集上取得最高精度的算法。
目标检测数据集
作者总结了通用目标检测及几个特定目标检测的数据集。
通用目标检测 领域常用数据集:
几个常用数据集的示例图片:
行人检测 常用数据集:
人脸检测 常用数据集:
文本检测 常用数据集:
交通灯检测与交通标志检测 常用数据集:
遥感目标检测 常用数据集:
目标检测技术演进
作者将目标检测中涉及的各种技术的演进铺展开来,让我们能就单一技术看到发展路径。
早期目标检测 算法代表:
多尺度检测 技术演进路线图:
包围框回归 技术演进路线图:
目标上下文建模 技术演进路线图:
包围框非极大抑制(NMS) 技术演进路线图:
相关文章: 目标检测之非极大值抑制(NMS)各种变体
难检测负样本挖掘 技术演进路线图:
目标检测计算加速
目标检测天生是计算密集型任务,所以在其发展的各个阶段,目标检测算法的加速就一直是一个重要议题。
作者总结的目标检测计算加速方法:
可见主要是在三个层次加速:
-
数值计算层次 (如积分图、矢量量化等)、
-
检测引擎层次 (网络剪枝与量化、轻量级网络设计等)、
-
检测流程层次 (特征图共享、分类器加速、级连检测等)。
因为目前CNN检测方法是主流,作者列出了近年出现的卷积计算的一些加速方法及其时间复杂度:
目标检测进展
作者在这部分描述了近三年来state-of-the-art目标检测技术的研究进展。
1. 更好地引擎(engine)
作者将深度学习目标检测网络的骨干网称为其引擎。
改进目标检测的一个直接思路就是使用更加先进的骨干网。
如下图:
相同算法用相同颜色的圆点表示,使用相同引擎的算法结果用一个大括号连接,我们可以轻易看出,使用不同的引擎对最终精度的影响更大。
相关文章:
2. 使用更好的特征
作者主要指:
1)特征融合;
2)学习大感受野的高分辨率特征
3. 超越滑动窗口
不再是局限于候选区域再分类的模式。
作者提到两种新模式:
1)子区域搜索 sub-region search。
将目标检测看为从初始网格到最终ground truth box的路径规划过程。
2)关键点定位。
将目标检测看为特定语义点定位的过程。比如:
ECCV 2018 | CornerNet:目标检测算法新思路
4. 目标定位改进
1)包围框提精。
2)改进loss函数用于精确定位。比如:
CVPR 2019 | 旷视提出新型目标检测损失函数:定位更精准
5. 检测与分割一起进行
分割可以帮助目标检测提高类别识别的精度、获得更好地目标定位、嵌入更加丰富的上下文。
分割的网络可以作为目标检测的提取网络,也可以作为多任务学习的损失函数,用以改进目标检测。
52CV曾经报道过一篇文章,甚至分割可以用来替换检测:
目标检测:Segmentation is All You Need ?
6. 旋转和尺度变化鲁棒的目标检测
针对旋转变化鲁棒改进方向:
1)旋转不变损失函数;
2)旋转校正;
3)Rotation RoI Pooling。
针对尺度变化鲁棒的改进:
1)尺度自适应训练;
2)尺度自适应检测。
7. Training from Scratch
不使用预训练模型,从头开始训练目标检测网络。
比如:
CVPR 2019 | 京东AI研究院提出ScratchDet,加强对小目标的检测,代码将开源
8. 对抗训练
比如有研究表明,GAN可以用来改进小目标的检测。
9. 弱监督的目标检测
不使用包围框标注,而仅使用图像级的目标标注的算法。
减少标注成本,扩大训练集。
目标检测应用
作者列举了目标检测的几个特殊应用,包括行人检测、人脸检测、文本检测、交通灯及标志检测、遥感目标检测。
指出每种检测任务面临的困难和挑战,并简述了目前应对这些问题的方法。
目标检测的未来方向
作者列举的未来方向包括:
1. 轻量级目标检测算法;
2. 用AutoML设计目标检测算
3. 域适应(domain adaptation)改进目标检测;
4. 弱监督的目标检测;
5. 小目标检测;
6. 视频目标检测
7. 融合其他传感器信息的目标检测。
论文地址:
https://arxiv.org/abs/1905.05055v1
*延伸阅读
点击左下角 “ 阅读原文 ”, 即可申请加入极市 目标跟踪、目标检测、工业检测、人脸方向、视觉竞赛等技术交流群, 更有每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流, 一起来让思想之光照的更远吧~
觉得有用麻烦给个在看啦~
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
VC++.NET入门
Davis Chapman / 中国电力出版社 / 2003-5 / 55.0
《VC++.NET入门》提供了学习Visual C++工具的循序渐进的指导和创建应用程序的向导。你将学习设计应用程序窗口、使用控件、显示图形、创建SDI和MDI应用程序、操作数据库以及创建多任务程序,也将学习在微软的新.E平台下使用Visual C++的一些基本技巧,以及学习它影响设计和编写应用程序的方式。一起来看看 《VC++.NET入门》 这本书的介绍吧!