APP下载

基于图像超分辨网络的目标检测算法

2019-10-19畅青冯晶明洪伟杰薛凯

现代计算机 2019年25期
关键词:子网卷积图像

畅青,冯晶明,洪伟杰,薛凯

(四川大学计算机学院,成都610065)

0 引言

目标的检测与跟踪技术在计算机视觉领域有着广泛的应用,例如在视频监控、无人驾驶、机器人等领域都有着举足轻重的价值。随着深度学习算法与技术的飞速发展,更是带动了该技术在性能、速度等方面取得了质的飞跃。然而随着社会的发展,需求的不断提高,我们在研究算法高效性的同时还要考虑算法所训练出的模型在实际应用上的性能与速度。

在深度学习出现之前,目标检测需要根据一定的先验知识,通过建立某种数学模型来完成目标检测,应用比较广泛的有:帧差法[1]、Hough 变换[2]、光流法[3]、滑动窗口模型[4]、可变形部件模型[5]等。这些传统的目标检测方法通过手工设计的特征来组合并进行分类。然而由于需要依赖于研究人员的经验,因此,传统的方法的泛化能力较差,鲁棒性较低。

受益于深度学习的发展,最近几年,目标检测作为计算机视觉的基础性任务取得了长足的进步。尤其是R-CNN[6]创造性的将检测任务划分为两个阶段:产生候选区域和目标识别。随后众多优秀的工作[7-9],都采用这种两阶段的管道实现了巨大的性能提升。与此同时,众多单阶段检测算法[10-12]也在不断刷新着COCO 挑战赛的记录。

尽管不断有新的检测框架问世,视觉识别任务仍然容易受到各种图像退化的影响,包括图像模糊和图像低分辨率。COCO 数据集上的检测结果表明:识别不同尺度的目标依然是检测任务一项重大挑战。进一步提高对小目标和模糊目标的检测精度和召回率是优化目标检测框架总体性能的核心方式。

小目标本身在图片中所占区域较小,所涉及的像素数量少。模糊目标本身含有大量的噪声导致像素质量过低。本身像素信息的匮乏加上卷积神经网络池化操作对特征图的浓缩,导致神经网络难以对小目标及模糊目标提取出充足的特征。图像超分辨率可以作为一种输入数据增强消除这些弊病并以此为目标检测提供积极的影响。

1 算法实现

针对图像模糊和低分辨率问题以及目标检测高实时性要求,本文提出了基于图像超分辨率的多尺度检测算法。该算法首先依靠一个轻量级的图像超分辨网络对输入图片进行重建;然后在重建图片上搭建目标检测网络对各种类型的目标进行检测和定位;最终,将超分辨图像上的检测结果映射回原始图像。

1.1 图像超分辨重建模块

超分辨重建模块是我们算法的核心。它负责丰富图片中微弱目标的像素信息和局部细节。对输入图片的重建质量将直接关系微弱目标的检测。为了和之后的检测任务相兼容,我们采用深度卷积神经网络设计该模块,而不是采用传统的超分辨算法。其详细的结构图1 所示。

图像超分辨重建模块可以很清晰的被拆解为3 个阶段:特征提取,非线性映射和反卷积重建。前两个阶段主要是对输入图片进行特征提取和处理,最后一个阶段根据所提取的特征进行图片的恢复和重建。我们使用Conv(ci,wi,hi,fi)代表一个卷积层,并且定义反卷积层为DeConv(ci,wi,hi,fi)。其中,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 个目标类别的概率。我们采用全卷积结构而非全连接层去设计该模块。对于256 通道的特征图,我们首先使用两次3×3 的卷积层进一步进行特征提取与整合,然后使用ReLU 函数进行激活;最后,使用一个3×3 的卷积层来进行得分预测,而最终的概率值将会通过sigmoid 激活函数得到。

平行于目标分类子模块,我们将另一个小的全网络同样附加到每个特征图之后,以便将每个默认框的偏移量回归到附近的ground-truth Box。回归子网同样2 次3×3 的卷积结构进行特征整合,并最终使用4A 个3×3 的卷积核获得每个空间位置上的回归预测值,其中A 是每个空间位置上设定的默认框的数量。尽管分类子模块与回归子模块结构十分相似,但必须注意的是,分类子网与回归子网并不共享参数。

1.3 网络训练

超分辨网络采用均方误差作为损失函数:

目标检测模块训练的代价函数是focal 损失[12]和标准smooth L1 损失的加权和:

其中,N 是正样本的数量and 权重因子α 经交叉验证后设置为0.5。pr 和gr 分别是预测的偏移量和ground truth 偏移量。

2 实验结果分析

本文实验在Win10 操作系统下进行程序编写、调试以及效果展示。算法所依赖的硬件配置为:四核CPU、8G 运行内存、GTX1080Ti 显卡。实验所利用的数据集为MS COCO 数据集。超分辨网络的重建效果图如图3 所示,在MS COCO 数据集上的目标检测评估效果如表1 所示。

通过实验表明,本算法可以有效地对低分辨图像进行重建,其效果要好于双三次差值的结果。对于目标检测任务而言,本算法可以有效地提升目标检测的性能,尤其是对小目标的检测有着巨大的促进作用。此外,我们设置重构图片为输入图片的两倍,是一个性能与精确度的较好折中。整体算法相当的高效,并且满足鲁棒性的要求。但本文算法也存在一定的不足,对于输入图像过大的图像,本文算法会带来巨大的内存消耗而不能取得很好的效果。

图3 超分辨效果图,图片数据来源于为MS COCO标准数据集

表1 MS COCO 数据集上的检测结果

3 结语

本文使用超分辨重构网络对输入图片进行重建之后,应用目标检测网络对目标进行检测。该方法使用超分辨网络,有效地丰富了图片中目标的像素信息以及局部细节;同时采用深度卷积特征,有效地解决了传统的检测模型对手工特征的依赖问题;另外,通过使用focal 损失,类别不平衡的问题也得到了缓解。试验结果表明,该模型对于低分辨率的图像能够实现很好的检测效果。但对于较大的图片,该方法会造成不小的内存消耗,而且检测的精确度仍然有待提高,性能仍然需要改善,这将是后期需要研究和改进的地方。

猜你喜欢

子网卷积图像
基于全卷积神经网络的猪背膘厚快速准确测定
基于生成对抗网络的CT图像生成
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
浅析p-V图像中的两个疑难问题
巧用图像中的点、线、面解题
计算机网络课程中网络测试命令的应用
子网划分问题研究及应用
基于DMAIC分析过程的A企业仓储出库流程优化研究