基于图像超分辨网络的目标检测算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文章编号:1007-1423(2019)25-0047-04DOI:10.3969/j.issn.1007-1423.2019.25.010
基于图像超分辨网络的目标检测算法
畅青,冯晶明,洪伟杰,薛凯
(四川大学计算机学院,成都610065)
摘要:
目标检测一直是计算机视觉研究领域的核心问题。当前,视觉识别任务仍然容易受到各种图像退化的影响,如图像模糊和图像低分辨率。为此,提出一种基于图像超分辨网络的目标检测算法。首先,搭建一个轻量级的图像超分辨网络对输入图片进行像素信息恢复和局部细节增强;然后在重建图片上搭建目标检测网络对各种类型的目标进行检测和定位;最终,将检测结果映射会原始图片。实验证明,经过融合图像超分辨重建网络,该算法实现更好的性能。关键词:
目标检测;图像超分辨率;多尺度检测器
基金项目:
四川省科技创新苗子工程(No.2018048)
0引言
目标的检测与跟踪技术在计算机视觉领域有着广泛的应用,例如在视频监控、无人驾驶、机器人等领域都有着举足轻重的价值。随着深度学习算法与技术的飞速发展,更是带动了该技术在性能、速度等方面取得了质的飞跃。然而随着社会的发展,需求的不断提高,我们在研究算法高效性的同时还要考虑算法所训练出的模型在实际应用上的性能与速度。
在深度学习出现之前,目标检测需要根据一定的先验知识,通过建立某种数学模型来完成目标检测,应用比较广泛的有:帧差法[1]、Hough变换[2]、光流法[3]、滑动窗口模型[4]、可变形部件模型[5]等。这些传统的目标检测方法通过手工设计的特征来组合并进行分类。然而由于需要依赖于研究人员的经验,因此,传统的方法的泛化能力较差,鲁棒性较低。
受益于深度学习的发展,最近几年,目标检测作为计算机视觉的基础性任务取得了长足的进步。尤其是
R-CNN[6]创造性的将检测任务划分为两个阶段:产生候选区域和目标识别。随后众多优秀的工作[7-9],都采用这种两阶段的管道实现了巨大的性能提升。与此同时,众多单阶段检测算法[10-12]也在不断刷新着COCO挑战赛的记录。
尽管不断有新的检测框架问世,视觉识别任务仍然容易受到各种图像退化的影响,包括图像模糊和图像低分辨率。COCO数据集上的检测结果表明:识别不同尺度的目标依然是检测任务一项重大挑战。进一步提高对小目标和模糊目标的检测精度和召回率是优化目标检测框架总体性能的核心方式。
小目标本身在图片中所占区域较小,所涉及的像素数量少。模糊目标本身含有大量的噪声导致像素质量过低。本身像素信息的匮乏加上卷积神经网络池化操作对特征图的浓缩,导致神经网络难以对小目标及模糊目标提取出充足的特征。图像超分辨率可以作为一种输入数据增强消除这些弊病并以此为目标检测提供积极的影响。
1算法实现
针对图像模糊和低分辨率问题以及目标检测高实时性要求,本文提出了基于图像超分辨率的多尺度检测算法。该算法首先依靠一个轻量级的图像超分辨网
络对输入图片进行重建;然后在重建图片上搭建目标检测网络对各种类型的目标进行检测和定位;最终,将超分辨图像上的检测结果映射回原始图像。
1.1图像超分辨重建模块
超分辨重建模块是我们算法的核心。它负责丰富图片中微弱目标的像素信息和局部细节。对输入图片的重建质量将直接关系微弱目标的检测。为了和之后的检测任务相兼容,我们采用深度卷积神经网络设计该模块,而不是采用传统的超分辨算法。其详细的结构图1所示。
图像超分辨重建模块可以很清晰的被拆解为3个阶段:特征提取,非线性映射和反卷积重建。前两个阶段主要是对输入图片进行特征提取和处理,最后一个阶段根据所提取的特征进行图片的恢复和重建。我们使用Conv(c i,w i,h i,f i)代表一个卷积层,并且定义反卷积层为DeConv(c i,w i,h i,f i)。其中,c是指卷积核的通
道数;w、h代表卷积核的宽和高;而f指示卷积核的个数。
图1超分辨重建网络示意图
特征提取:超分辨模块并不直接对RGB图像进行处理。该模块对于输入的RGB格式的3通道图片,首先转化为YCrCb模式,并且只将Y通道通过CNN网络;然后将输出的结果再和另外两个合成生成新的YCbCr模式图片,最后再转回BGR模式。在特征提取这个阶段,我们使用3次3×3的卷积层来提取特征,目的是为了加深重建网络的深度,从而提升图片的重建性能。
非线性映射:非线性映射是影响图片重建性能的最重要的阶段。同样是最有可能节约计算成本的阶段。直接由高维低分辨的特征映射到高分辨特征空间SRCNN[13],会带来巨大计算量。基于这样的考虑,我们参照FSRCNN[14]的网络设计。首先,使用16个3×3的卷积核对高维的特征进行压缩,这个策略可以极大的降低参数的数量;然后,为了加深网络的深度,我们使用3个3×3卷积层在低纬度的特征空间完成特征映射。最后,为了确保重建图像的修复质量,我们使用64个卷积核去扩充高分辨率特征的维度。
反卷积重建:超分辨重建模块的最后一个阶段是使用一系列反卷积核上采样和聚合高分辨率特征,产生高分辨率的重建图像。反卷积本质是卷积的逆过程,所以本算法设定反卷积步长s=2。这决定了图像的上放大倍数为2。
图2目标检测模块示意图
1.2目标检测模块
骨架网络结构:如图2所示,目标检测模块的输入是一张经超分辨重建网络重建过后的600×600×3的图像,其中3代表图像的R、G、B这三个通道。我们首先使用64个7×7的卷积核以步长为2对输入图片进行卷积运算。三后经过64个3×3的卷积和以及max
pooling之后形成特征图B0。然后我们使用128个3×3的卷积核对B0进行卷积并池化,以进一步进行特征提取产生特征图b1;之后的特征图B2、B3、B4均是在前一层特征图的基础上使用残差网络中的“瓶颈结构”获得。“瓶颈结构”包括数次卷积运算(2次3×3卷积和1次1×1卷积)和一次特征图元素级相加。这些大小不同的特征图(feature map)大小不同,感受野不同,对应的默认框(default box)也不同。
预测子模块:本文算法在多个尺度的特征图上进行目标分类和标定框位置回归。预测子模块负责在每一个特征层级上检测不同尺度的物体。它本质上是两个任务明确的子网,第一个子网对各个尺度的特征图进行卷积对象分类。第二个子网对各个尺度的特征图进行卷积标定框回归。
目标分类子网预测每一个默认框关于C个目标类