1.摘要
目标检测是计算机视觉领域内的热点课题,在机器人导航、智能视频监控及航天航空等领域都有广泛的应用。本文首先综述了目标检测的研究背景、意义及难点,接着对基于深度学习目标检测算法的两大类进行综述,即基于候选区域和基于回归算法。对于第一类算法,先介绍了基于区域的卷积神经网络(Region with Convolution Neutral Network,R-CNN)系列算法,然后从四个维度综述了研究者在R-CNN系列算法基础上所做的研究:对特征提取网络的 改进研究、对感兴趣区域池化层的改进研究、对区域提取网络的改进研究、对非极大值抑制算法的改进研究。对第二类 算法分为 YOLO(You Only Look Once)系列、SSD(Single Shot multibox Detector)算法及其改进研究进行综述。最后根据当前目标检测算法在发展更高效合理的检测框架的趋势下,展望了目标检测算法未来在无监督和未知类别物体检测方向的研究热点。
关键词: 目标检测;深度学习;特征提取;计算机视觉;视频监控;图像处理;卷积神经网络
2 目标检测
2.1简介
目标检测的主要任务是从输入图像中定位出感兴趣的目标。然后准确地判断出每个感兴趣目标的类别。当前目标检测技术已经广泛应用于日常生活安全、机器人导航、智 能视频监控、交通场景检测及航天航空等领域。同时目标 检测是行为理解、场景分类和视频内容检索等其他高级 视觉问题的基础。
2.2目标检测算法
2.2.1传统算法
传统的目标检测算法采样类似穷举的滑动窗口方式或图像分割技术来生成大量的候选区域,然后对每一个候选区域提取图像特征(包括HOG,SIFT,Haar等),并将这些特征传递给一个分类器(如SVM,Adaboost,Random Forest等)用来判断该候选区域的类别。
2.2.2 基于回归 one stage
基于回归的目标检测 算法只有一个阶段,直接对预测的目标物体进行回归,如YOLO,SSD。
2.2.3 基于候选区域 two stage
.基于候选区域的目标检测 算法也称为二阶段方法,将目标检测问题分成两个阶段: 一是生成候选区域(region proposal),二是把候选区域放入分类器中进行分类并修正位置。如R-CNN,SPP-Net,Fast R-CNN,Faster R-CNN。
3.基于候选区域的目标检测算法
3.1R-CNN
3.1.1简介
它将 AlexNet与选择性搜索 (selective search)算法相结合,把目标检测任务分解为若干个独立的步骤(如图1所示),首先采用选择性索算法提取2000个候选区域,然后对每个候选区域进行归一化,并逐个输入CNN中提取特征,最后对特征进行 SVM分类和区域回归。
3.1.2 不足之处
对于单张图像提取的2000个候选区域需要逐个输入CNN中,导致计算开销十分巨大,严重影响了检测速度;而且候选区域输入CNN前,必须剪裁或缩放至固定大小,这会使候选区域发生形变且丢失较多的信息,导致网络检测精度下降。
3.1.3 改进
3.1.3.1空间金字塔网络(Spatial Pyramid Pooling Network,SPP-Net)检测算法
它在CNN最后一层卷积层和全连接层之间加入SPP层(如图 2所 示),使得网络能够输入任意尺度的候选区域,从而每张输入图片只需一次CNN运算,就能得到所有候选区域的特征,这使得计算量大大减少。
3.1.2.2 Fast R-CNN
受到SPP-Net算法的启发,将SPP层简化成单尺度的ROI Pooling层以统一候选区域特征的大小,而且进一步提出了多任务损失函数思想,将分类损失和边界框回归损失统一训练学习,使得分类和定位任务不仅可以共享卷积特征,还可以相互促进提升检测效果。
3.1.2.3Faster R-CNN
虽然Fast R-CNN有效地加快了检测速率,但仍然依赖于选择性搜索算法来产生候选区域。设计了辅助生成样本的RPN取代选择性搜索算 法。RPN是 一 种 全 卷 积 神 经 网 络 (Fully Convolution Network,FCN)结构,它将任意大小的特征图作为输入,经过卷积操作后产 生 一 系列可能包含目标的候选区域,使算法实现了端到端的训练,极大提高了检测速度。
3.2基于Faster R-CNN的改进
Faster R-CNN算法对于小目标的检测精度较低。针对这个问题,有许多研究是通过融合多个卷积层的特征来提高小尺度目标的检测效果。
3.2.1对特征提取网络的改进
3.2.1.1 HyperNet
通过融合多层卷积层的特征图,得到具有多尺度信息的 Hyper特征,该特征结合了卷积层高层的强语义信息、中层的辅助信息以及浅层的几 何信息。
3.2.1.2 FPN
FPN构造了一种自顶向下带有横向连接的层次结构,提取多个不同尺度特征用于检测,每个尺度特征都是高层特征与浅层特征融合所得,不仅具有较强的语义信息,还具有较丰富的几何信息。
3.2.1.3 SNIP
他们借鉴多尺度训练思想,使用图像金字塔网络将图像生成三种不同分辨率的输入图像,高分辨率图像只用于小目标检测,中等分辨率图像 只进行中等目标检测,低分辨率图像只进行大目标检测。
3.2.2 对感兴趣区域池化层的改进研究
ROI Pooling,即感兴趣区域池化是将候选区域对应的特征图划分成固定数量的空间小块,再对每个空间小块进行最大池化或者平均池化操 作,这样就实现了不同尺度的候选区域能够输出同样大小的特征图。
3.2.2.1 R-FCN
他们考虑到目标检测任务是由分类任务和定位任务组成,分类任务要求目标特征具有平移不变性,而定位任务要求目标特征具有平移敏感 性.为了缓解这两者间的矛盾,提出了位置敏感ROI池化,可以编码每个候选区域的相对空间位置信息,使得特征具有了对位置的敏感性
3.2.2.2 CoupleNet
设计了由两个分支组成的耦合模块,一个分支采用位置敏感 ROI池化获取对象的局部信息,另一分支则使用两个ROI池化分别获取对象的全局信息和上下文信息,然后有效的结合候选区域的局部信息、全局信息和上下文信息进行检测。
3.2.2.3 DCN
设 计 了 可 形 变 卷 积和可形变 ROI池化层.它们的感受野不再是一成不 变的正方形,而是和物体的实际形状相匹配,缓解了物 体形变问题,使网络学习了更多的空间位置信息,增强 了定位能力。
3.2.2.4 Mask R-CNN
为了 解决特征图和原始图像上的感兴趣区域出现不对准问 题提出了 ROI Align层,并且增加了 Mask预测分支,可 以并行实现像素级的语义分割任务。ROI Align则 取 消 了 所 有 的 取整运算,采 用 双 线 性 插 值 的 方 法 计 算 每 个 空 间 块 的 值,但只考虑 N个插值点的值,而且 N的大小是预定义 的,不能根据空间块的大小进行调整。
3.2.2.5 PrROI Pooling
PrPOI Pooling 是采用二阶 积 分 的 方 法 对 空 间 块 进 行 池 化 操 作,使 感 兴趣区域保持更多的空间位置信息,实现更精准定位。
3.2.3 对区域提取网络的改进研究
3.2.3.1 Cascade R-CNN
通 过 级 联 三 个 区 域 交 并 比 (Intersection over Union,IOU)阈值递增的 R-CNN检测模型,对RPN产生的候 选区域进行筛选,留下高 IOU值的候选区域,有效提高 了模型的检测精度。
3.2.3.2 Guide-Anchoring
针对RPN中的Anchor机制需要人工预先设定尺度 大小和长宽比等超参数的问题,2019年,Wang等人提 出了Guide-Anchoring方法,通过图像特征来指导 Anchor的生成.它由Anchor生成模块和特征自适应模块组 成,其中 Anchor生成模块采用两个分支分别预测 Anchor 的位置和形状:位置预测分支预测出哪些区域作为中心 点来生成Anchors;形状预测分支则是根据位置预测分支 得到的中心点来预测Anchor最佳的长和宽.特征自适应 模块根据生成的Anchor的形状,使用一个 3×3的可形 变卷积来修正特征图,以适应Anchor的形状.
3.2.4对 NMS的改进研究
NMS算法首先人工设定一个IOU阈值,将同一类的 所有检测框按照分类置信度排序,选取分类置信度得分最高的检测结果,去除那些与之 IOU值超过阈值的相邻 结果,使网络模型在召回率和精度之间取得较好的平衡。
3.2.4.1Soft NMS / Softer NMS
提 出 了 Soft NMS算法,它不是直接去除那些超过IOU值的 相邻结果,而 是 采 用 线 性 或 者 高 斯 加 权 的 方 式 衰 减 它 的置信度值,再 选 取 合 适 的 置 信 度 阈 值 进 行 检 测 框 去 重,对模型的漏检有 了 很 好 的 改 善。
在 此 基 础 上,提出了 Softer NMS算法,不是直接选取分类置信 度得分最高 的 检 测 框 作 为 最 终 检 测 结 果,而 是 将 与 分 类置信度最高的检测框的交并比值大于一定阈值的所 有检测框的坐标进行加权平均,作为最终检测结果,从 而能够更准确的定位物体.
3.2.4.2RM
提 出 目 标 关 系 模 块 (Relation Moulde,RM)替代了NMS算法来对目标的检测框进行 去除冗余操作.并 引 入 了 注 意 力 机 制 来 优 化 检 测 效果.
3.2.4.3IOU-guide NMS
Jiang等 人发 现 检 测 结 果 中 存 在 分 类 置 信度和定位准确度之间不匹配问题,所以提出了 IOU-guide NMS方法.他 们 将 预 测 的 检 测 框 与 真 值 间 的 IOU值作为定位置信度,每一类根据定位置信度进行排 序,从 而 改 进 了 NMS过 程,保 留 了 定 位 更 准 确 的 检 测框.
3.2.4.4I GIOU
针对常用的边界框回归损失函数(L1范数或 L2范 数)与 IOU没有强相关性,不能很好度量检测框准确性 的问题,2019年 Hamid等人提出了 GIOU作为边界 框回归损失函数,在计算检测框与真值框 IOU的基础 上,添加了对这两个框的最小闭包区域面积的计算,通 过 IOU减去两框非重叠区域占最小闭包区域的比重得 到 GIOU,其保留了 IOU的原始性质的同时弱化了它的 缺点,对边界框的定位能力上有了大幅度的提升.
4.基于回归的目标检测算法
基于回归的目标检测算法不需要候选区域生成分 支,对给定输入图像,直接在图像的多个位置回归出目 标的候选框 和 类 别。
4.1 YOLO
2015年 Redmon等 人提 出 了 YOLO算 法,将 分 类、定位、检测 功 能 融 合 在 一 个 网 络 当 中,输 入 图 像 只 需要经过一 次 网 络 计 算,就 可 以 直 接 得 到 图 像 中 目 标 的边界框和类别概率.如图 5所示,YOLO算法将整张 输入图像划分成 S×S的网格图,每个网格只负责物体 中心落在该网格的目标物体以及只预测 B个边界框信 息,然后选择 合 适 的 置 信 度 阈 值 去 除 那 些 存 在 目 标 可 能性低的边界框。
但由于其网络设计比较粗糙,远远达不 到实时目标 检 测 的 精 度 要 求,而 且 存 在 目 标 不 能 精 准 定 位、容 易 漏 检,小 目 标 和 多 目 标 检 测 效 果 不 好 等 问题.
4.2 YOLOv2
对 YOLO算法进行了一系列改进,重点解决召回率低和定 位精度差的问题.它借鉴了 Faster R-CNN算法的Anchor机制,移除了网络中的全连接层,使用卷积层预测检测框 的位置偏移量和类别信息.而且不同于原Anchor机制的 手工设计,它利用K-Means聚类方式在训练集中 学习 最佳的初始Anchor模板.不仅如此,YOLOv2添加了一 个 pass-through层,将浅层的特征图连接到深层的特征 图,使网络 具 有 了 细 粒 度 特 征.此 外,YOLOv2可 以 采 用 多种数据集联合优化训练的方式。
4.3 YOLOv3
它借 鉴残差网络中跳跃连接的思路,构建了名为 DarNet-53 的 53层基准网络,该网络只采用 3×3和 1×1的卷积 层,具有与 ResNet152[48]相仿的分类准确率,但大大减 少了计算量;为了处理多尺度目标,采用了 3种不同尺 度的特征图 来 进 行 目 标 检 测,每 个 特 征 图 都 是 高 层 与 浅层特征图融合所得;在预测类别时,使用 Logistic回 归方法代替 Softmax方法,使得每个候选框可以预测多 个类别,支持 检 测 具 有 多 个 标 签 的 对 象。
4.4 SSD
在回归思想 的基础上,有效结合多尺度检测的思想,提取多个不同 尺度的特征 图 进 行 检 测,遵 循 较 大 的 特 征 图 用 来 检 测 相对较小的目标,较小的特征图检测较大目标的策略,显著提高了 对 大 目 标 的 检 测 效 果,对 小 目 标 检 测 也 有 一定的提升.同时借鉴 Faster R-CNN算法的Anchor机 制,对提取的 特 征 图 的 每 个 位 置 上 都 预 设 固 定 数 量 的 不同尺度和长 宽 比 的 先 验 框 (default boxes),网 络 可 以 直接在特征图上进行密集采样提取候选框进行预测, 在保持实时 检 测 速 度 的 同 时,提 高 了 模 型 的 定 位 准 确 度。
SSD网络是基于全卷积网络结构,它将 基础网络 VGG16的全连接层替换为了卷积层,并在 VGG16网络末端添加了几个使特征图尺寸逐渐减小 的辅助性卷积层,用于提取不同尺度的特征图,而且直 接采用卷积操作对不同尺度的特征图进行检测
SSD算法提取的不同卷积层特征独立 输入各自的 检 测 分 支,容 易 出 现 同 一 个 物 体 被 不 同 大 小的边界框同时检测出来的情况,即重复检测问题.而 且每层的 检 测 分 支 仅 关 注 自 己 分 支 上 特 定 尺 度 的 目 标,没有考虑 到 不 同 层、不 同 尺 度 目 标 间 的 关 联 性,所 以对小目标检测效果一般.
4.4.1 基于Anchor-based的改进
4.1.1.1 RSSD
其 在 SSD算法的基础上,对提取的不同尺度的特征采用了 特殊的特征融合方式:对于每个特定的尺度特征,分别 将比其大的 尺 度 特 征 进 行 池 化 操 作,比 其 小 的 尺 度 特 征进行反卷 积 操 作,然 后 将 这 些 特 征 进 行 串 接 融 合 形 成新的特定 尺 度 特 征.这 种 融 合 方 式 使 得 每 个 尺 度 的 特征都具有 其 他 尺 度 的 信 息,增 加 了 不 同 层 特 征 图 之 间的联 系,避 免 了 同 一 目 标 重 复 检 测 的 问 题
4.1.1.2 DSSD
将 VGG16替 换 为 ResNet101,增强了网络特征 提 取 能 力,并 设 计 了 两 个特殊的模块:预测模块和反卷积模块.预测模块的结 构类似残差 模 块,通 过 跳 跃 连 接 实 现 不 同 层 特 征 之 间 的融合,从而提高特征的表征能力.反卷积模块则是采 用反卷积操作建立了一个 Top-to-Down路径,得到新的 不同尺度的 特 征 图,这 些 特 征 图 融 合 了 高 层 与 浅 层 特 征,引入了丰富的空间上下文信息,使得 DSSD算法在 检测精度上 有 了 大 幅 度 的 提 升,但 检 测 速 度 有 较 大 牺 牲。
4.1.1.3 RetinaNet
针 对 SSD算法 因密集 采样导 致 的 难 易 样 本 严 重 失 衡 问 题,提出了 Focal Loss函数,其是在交叉熵损失函数的 基础上添加了两个平衡因子,抑制了简单样本的梯度将更多的注意力放在难分的样本上。
4.1.1.4 GHM
受 FocalLoss的启 发,Li等人 [53]提 出 了 梯 度 协 调 机 制 (Gradient Harmonization Mechanism,GHM)来解 决 样 本 失 衡 问 题,这 种 机 制 可以同时嵌入分类和回归损失中来平衡训练样本的梯 度,不仅减少了易分样本的关注,而且避免了特别难分 样本对模型的负面影响.
4.1.1.5 RFB-Net
通过模 拟人类视觉感受野,设计了感受野模块(Receptive Field Block,RFB)增 加 网 络 的 特 征 提 取 能 力.RFB结 构 借 鉴 了 Inception[55]的思想,引入三个不同扩张率的 3×3卷 积层增大感 受 野,并 且 将 这 三 个 卷 积 的 输 出 以 串 接 方 式进行特征融合。
4.1.1.6 RefineDet
结合了一阶段和二阶段检测算法的优点,设计了 两个模块:物体检测模块和 Anchor微调模块,前者对密 集的 Anchors进行筛选去除一些不包含物体的负样本, 同时粗调筛选后的 Anchors位置和尺寸,后者对物体检 测模块输出的 Anchors进一步回归,这使得网络进行了 两次回归任务,有效提升了网络定位能力,并且样本的 筛选有效缓解了正负样本不均衡问题
4.1.1.7 NAS-FPN
SSD最新的改进研究[57~61]更加关注于合理和高效 的运用 FPN结构,提取具有丰富上下文信息和空间信 息的多尺 度 特 征,解 决 目 标 尺 度 变 化 问 题.Ghaisi等 人[58]受到 神 经 结 构 搜 索 (NeuralArchitectureSearch, NAS)的启发,提出了 NAS-FPN算法,该网络模型自动 搜索设计最优的 FPN结构,实现跨尺度的特征融合,在 网络性能上超越了 MaskR-CNN,但模型的训练需要大 量的 GPU支持。
4.1.1.8 MLFPN
通过级联多个小型的 FPN子网络,形成不同层级的不同尺度特征,并对特征进行充分的重利用和融合, 使网络性能和小目标检测都有很大的提升
4.4.2 基于Anchor-free的改进
虽然 SSD算法借鉴 Anchor机制的思想大幅度提高 了网络的定位能力.但 Anchor机制中存在两个人工设 计的超参数:尺度大小和长宽比.这不仅需要较强的先 验知识,而且 提 取 的 候 选 区 域 太 多,增 加 了 计 算 开 销, 还引起正负 样 本 不 均 衡 问 题,所 以 有 些 研 究 者 提 出 了 Anchor-free的改进方法.
4.4.2.1 CornerNet / ExtremeNet
采用 Hourglass104 网络 [63]作为特征 提 取 网 络,直 接 预 测 物 体 的 左 上 角 点 和右下角点 来 得 到 检 测 框,将 目 标 检 测 问 题 当 作 关 键 点检测问题来解决.
在此基础上,Zhou等 人[64]提 出 了 ExtremeNet算法,在关键点选取和关键点组合方式上做 出了创新,通 过 选 取 物 体 上 下 左 右 四 个 极 值 点 和 一 个 中心点作为 关 键 点,更 加 直 接 关 注 物 体 边 缘 和 内 部 信 息,使得检测更加稳定。
4.4.2.2 CenterNet
Duan等人[65]发现 ConerNet只 使用左右角点会造成大量的误检,为了解决这个问题, 提出了 CenterNet算法,它在 CornerNet的基础上添加了 中心点预测 分 支,使 得 组 成 一 个 物 体 检 测 框 的 要 求 不 仅仅是左右 角 点 能 够 匹 配,而 且 检 测 框 的 中 心 点 也 要 有对应的中心点匹配.
4.4.2.3 FCOS
上述的 Anchorfree的方法都是基于人体关键点检 测的思想,使用非常庞大的 Hourglass104[63]网 络 作 为 特征 提 取 网 络,与 此 不 同 的 是,Zhi等 人 [66]提 出 了 基 于 全卷积的一阶段目 标检测 器 (FullyConvolutionalOne Stageobjectdetection,FCOS),借 鉴 语 义 分 割 任 务 的 思 想,采用逐像素预测方式解决目标检测问题,完全避免 了与 Anchor相关的复杂计算和超参数设计,同时使用 FPN结构实现 多 尺 度 目 标 的 预 测,每 个 预 测 分 支 中 添 加了中心点 损 失 来 抑 制 中 心 点 偏 差 大 的 检 测 框,保 证 每个检 测 框 尽 可 能 靠 近 目 标 中 心,提 高 了 模 型 定 位 能力.