logo资料库

基于深度学习的目标检测算法综述.docx

第1页 / 共123页
第2页 / 共123页
第3页 / 共123页
第4页 / 共123页
第5页 / 共123页
第6页 / 共123页
第7页 / 共123页
第8页 / 共123页
资料共123页,剩余部分请下载后查看
基于深度学习的目标检测算法综述(一)
本文内容原创,作者:美图云视觉技术部 检测团队,转载请注明出处
一、 背景
二、创新内容、改进方向
1.Two/One stage算法改进
1.1 Two stage
1.1.1 R-FCN: Object Detection via Region-based Ful
1.1.2 R-FCN-3000 at 30fps: Decoupling Detection an
1.1.3 Mask R-CNN
1.2 One stage
1.2.1 YOLO9000: better, faster, stronger
1.2.2 YOLOv3: an incremental improvement
1.2.3 Object detection at 200 Frames Per Second
1.2.4 DSSD: Deconvolutional Single Shot Detector
1.2.5 DSOD : learning deeply supervised object det
本文内容原创,作者:美图云视觉技术部 检测团队,转载请注明出处
2. 解决方案
2.1 小物体检测
2.1.1 Feature Pyramid Networks for Object Detectio
2.1.2 Beyond Skip Connections Top Down Modulation
2.2 不规则形状物体的检测
2.2.1 Deformable Convolutional Networks
2.3 解决正负样本不均衡的问题
2.3.1 Focal Loss for Dense Object Detection
2.3.2 Chained Cascade Network for Object Detection
2.3.3 RON-Reverse Connection with Objectness Prior
2.4 被遮挡物体检测
2.4.1 Soft-NMS -- Improving Object Detection With
2.4.2 RRC: Accurate Single Stage Detector Using Re
2.5 解决检测mini-batch过小的问题
2.5.1 MegDet: A Large Mini-Batch Object Detector
2.6 关注物体之间关联性信息
2.6.1 Relation Networks for Object Detection
2.7 改进网络结构以提升效果
2.7.1 DetNet: A Backbone network for Object Detect
2.7.2 RefineDet:Single-Shot Refinement Neural Netw
2.7.3 Pelee: A Real-Time Object Detection System o
2.7.4 Receptive Field Block Net for Accurate and F
本文内容原创,作者:美图云视觉技术部 检测团队,转载请注明出处
3. 扩展应用、综述
3.1 logo检测:Scalable Object Detection for Stylized
3.2 实例分割:Path Aggregation Network for Instance Seg
3.3 目标检测用于视频分段:Rethinking the Faster R-CNN Archite
3.4 从零训练目标检测网络: Mimicking Very Efficient Network f
3.5 调研速度和准确率平衡的综述:Speed/accuracy trade-offs for mo
基于深度学习的目标检测算法综述(一) vision 算法攻城狮 ​ 关注他 383 人赞同了该文章 基于深度学习的目标检测算法综述(一) 基于深度学习的目标检测算法综述(二) 基于深度学习的目标检测算法综述(三) 本文内容原创,作者:美图云视觉技术部 检测团队,转载请注明 出处 目标检测(Object Detection)是计算机视觉领域的基本任务之一,学术界已有 将近二十年的研究历史。近些年随着深度学习技术的火热发展,目标检测算法也 从基于手工特征的传统算法转向了基于深度神经网络的检测技术。从最初 2013 年提出的 R-CNN、OverFeat,到后面的 Fast/Faster R-CNN,SSD,YOLO 系列, 再到 2018 年最近的 Pelee。短短不到五年时间,基于深度学习的目标检测技术, 在网络结构上,从 two stage 到 one stage,从 bottom-up only 到 Top-Down, 从 single scale network 到 feature pyramid network,从面向 PC 端到面向手 机端,都涌现出许多好的算法技术,这些算法在开放目标检测数据集上的检测效 果和性能都很出色。
本篇综述的出发点一方面是希望给检测方向的入门研究人员提供一个技术概览, 帮助大家快速了解目标检测技术上下文;另一方面是给工业界应用人员提供一些 参考,通过本篇综述,读者可以根据实际业务场景,找到合适的目标检测方法, 在此基础上改进、优化甚至是进一步创新,解决实际业务问题。本文对其中的 27 篇论文进行介绍,这 27 篇论文涵盖了 2013 以来,除 SSD,YOLO 和 R-CNN 系 列之外的,所有引用率相对较高或是笔者认为具有实际应用价值的论文。R-CNN 系列,SSD 和 YOLO 相关的论文详解资源已经非常多,所以本文不再赘述。下图 对这些方法进行了分类概括。 下文中,我们针对每篇文章,从论文目标,即要解决的问题,算法核心思想以及 算法效果三个层面进行概括。同时,我们也给出了每篇论文的出处,录用信息以 及相关的开源代码链接,其中代码链接以作者实现和 mxnet 实现为主。 一、 背景
物体检测的任务是找出图像或视频中的感兴趣物体,同时检测出它们的位置和大 小,是机器视觉领域的核心问题之一。 物体检测过程中有很多不确定因素,如图像中物体数量不确定,物体有不同的外 观、形状、姿态,加之物体成像时会有光照、遮挡等因素的干扰,导致检测算法 有一定的难度。进入深度学习时代以来,物体检测发展主要集中在两个方向:two stage 算法如 R-CNN 系列和 one stage 算法如 YOLO、SSD 等。两者的主要区别在于 two stage 算法需要先生成 proposal(一个有可能包含待检物体的预选框),然后进行细粒度的物体检测。 而 one stage 算法会直接在网络中提取特征来预测物体分类和位置。
基于深度学习的目标检测算法综述分为三部分: 1. Two/One stage 算法改进。这部分将主要总结在 two/one stage 经典网络上 改进的系列论文,包括 Faster R-CNN、YOLO、SSD 等经典论文的升级版本。 2. 解决方案。这部分我们归纳总结了目标检测的常见问题和近期论文提出的解 决方案。 3. 扩展应用、综述。这部分我们会介绍检测算法的扩展和其他综述类论文。 本综述分三部分,本文介绍第一部分。 二、创新内容、改进方向 1.Two/One stage 算法改进
1.1 Two stage Faster R-CNN 网络包括两个步骤:1. 使用 RPN(region proposal network)提取 proposal 信息,2. 使用 R-CNN 对候选框位置进行预测和物体类别识别。本文主 要介绍在 Faster R-CNN 基础上改进的几篇论文:R-FCN、R-FCN3000 和 Mask R-CNN。 R-FCN 系列提出了 Position Sensitive(ps)的概念,提升了检测效果。另外需要 注明的是,虽然 Mask R-CNN 主要应用在分割上,但该论文和 Faster R-CNN 一脉 相承,而且论文提出了 RoI Align 的思想,对物体检测回归框的精度提升有一定 效果,故本篇综述也介绍了这篇论文。 1.1.1 R-FCN: Object Detection via Region-based Fully Convolutional Networks 论文链接:https://arxiv.org/abs/1605.06409 开源代码:https://github.com/daijifeng001/R-FCN 录用信息:CVPR2017 论文目标: 对预测特征图引入位置敏感分数图提增强征位置信息,提高检测精度。 核心思想: 一. 背景 Faster R-CNN 是首个利用 CNN 来完成 proposals 的预测的,之后的很多目标检 测网络都是借助了 Faster R-CNN 的思想。而 Faster R-CNN 系列的网络都可以分 成 2 个部分: 1.Fully Convolutional subnetwork before RoI Layer 2.RoI-wise subnetwork 第 1 部分就是直接用普通分类网络的卷积层来提取共享特征,后接一个 RoI Pooling Layer 在第 1 部分的最后一张特征图上进行提取针对各个 RoIs 的特征 图,最后将所有 RoIs 的特征图都交由第 2 部分来处理(分类和回归)。第二部 分通常由全连接层组层,最后接 2 个并行的 loss 函数:Softmax 和 smoothL1, 分别用来对每一个 RoI 进行分类和回归。由此得到每个 RoI 的类别和归回结果。
其中第 1 部分的基础分类网络计算是所有 RoIs 共享的,只需要进行一次前向计 算即可得到所有 RoIs 所对应的特征图。 第 2 部分的 RoI-wise subnetwork 不是所有 RoIs 共享的,这一部分的作用就是 给每个 RoI 进行分类和回归。在模型进行预测时基础网络不能有效感知位置信息, 因为常见的 CNN 结构是根据分类任务进行设计的,并没有针对性的保留图片中物 体的位置信息。而第 2 部分的全连阶层更是一种对于位置信息非常不友好的网络 结构。由于检测任务中物体的位置信息是一个很重要的特征,R-FCN 通过提出的 位置敏感分数图(position sensitive score maps)来增强网络对于位置信息 的表达能力,提高检测效果。 二. 网络设计 2.1position-sensitive score map 上图展示的是 R-FCN 的网络结构图,展示了位置敏感得分图 (position-sensitive score map)的主要设计思想。如果一个 RoI 含有一个类别 c 的物体,则将该 RoI 划分为 k x k 个区域,分别表示该物体的各个相应部位。 其每个相应的部位都由特定的特征图对其进行特征提取。R-FCN 在共享卷积层的 最后再接上一层卷积层,而该卷积层就是位置敏感得分图 position-sensitive score map。其通道数 channels=k x k x (C+1)。C 表示物体类别种数再加上 1 个背景类别,每个类别都有 k x k 个 score maps 分别对应每个类别的不同位置。 每个通道分别负责某一类的特定位置的特征提取工作。 2.2 Position-sensitive RoI pooling 位置敏感 RoI 池化操作了(Position-sensitive RoI pooling)如下图所示:
该操作将每个 RoIs 分为 k x k 个小块。之后提取其不同位置的小块相应特征图 上的特征执行池化操作,下图展示了池化操作的计算方式。 得到池化后的特征后,每个 RoIs 的特征都包含每个类别各个位置上的特征信息。 对于每个单独类别来讲,将不同位置的特征信息相加即可得到特征图对于该类别 的响应,后面即可对该特征进行相应的分类。 2.3 position-sensitive regression 在位置框回归阶段仿照分类的思路,将特征通道数组合为 4 x k x k 的形式, 其中每个小块的位置都对应了相应的通道对其进行位置回归的特征提取。最后将 不同小块位置的四个回归值融合之后即可得到位置回归的响应,进行后续的位置 回归工作。 三. 网络训练 3.1 position-sensitive score map 高响应值区域
在训练的过程中,当 RoIs 包涵物体属于某类别时,损失函数即会使得该 RoIs 不同区域块所对应的响应通道相应位置的特征响应尽可能的大,下图展示了这一 过程,可以明显的看出不同位置的特征图都只对目标相应位置的区域有明显的响 应,其特征提取能力是对位置敏感的。 3.2 训练和测试过程 使用如上的损失函数,对于任意一个 RoI,计算它的 Softmax 损失,和当其不属 于背景时的回归损失。因为每个 RoI 都被指定属于某一个 GT box 或者属于背景, 即先让 GT box 选择与其 IoU 最大的那个 RoI,再对剩余 RoI 选择与 GT box 的 IoU>0.5 的进行匹配,而剩下的 RoI 全部为背景类别。当 RoI 有了 label 后 loss 就可以计算出来。这里唯一不同的就是为了减少计算量,作者将所有 RoIs 的 loss 值都计算出来后,对其进行排序,并只对最大的 128 个损失值对应的 RoIs 进行 反向传播操作,其它的则忽略。并且训练策略也是采用的 Faster R-CNN 中的 4-step alternating training 进行训练。在测试的时候,为了减少 RoIs 的数 量,作者在 RPN 提取阶段就将 RPN 提取的大约 2W 个 proposals 进行过滤: 1.去除超过图像边界的 proposals 2.使用基于类别概率且阈值 IoU=0.3 的 NMS 过滤 3.按照类别概率选择 top-N 个 proposals 在测试的时候,一般只剩下 300 个 RoIs。并且在 R-FCN 的输出 300 个预测框之 后,仍然要对其使用 NMS 去除冗余的预测框。
分享到:
收藏