基于深度学习的目标识别算法
葛雯,宫婷,王媛
(沈阳航空航天大学 电子信息工程学院,辽宁 沈阳 110136)
摘要:针对Faster R-CNN算法中候选区域生成子网络与分类回归子网络共享同一个特征提取网络的问题,提出让两个子网络使用独立的特征提取网络,使候选区域特征更少的进入到分类回归网络中,减少无用功;针对被识别目标尺度不同的问题,提出一种改进的RPN网络,使用三种不同大小的感受野来获取候选区域。最后在VOC 07数据集上得以验证,验证结果表明与传统模型相比,经过改进的模型平均准确率提高了2%。
关键词:Faster R-CNN;RPN网络;目标识别
0 引言
人类认知世界的的主要器官是眼睛,而眼睛给我们带来的信息是以图像信息为主的。大脑与眼睛合作使人们认知并感知世界。所以,计算机智能化的首要步骤是能够对图像信息进行采集以及相关处理。现如今,该技术已经趋于成熟,被普遍应用于医疗、军事等领域。人工智能技术正处于发展的上升期,深度学习理论的应用也正是热点问题。将深度学习模型应用于目标识别与传统的方法相比有精度高、运算量小的优点,所以是目前比较热点的话题。
传统的目标识别方法分为三个步骤:
(1)选出候选区域:即在原始图像上找到或者预测目标可能存在的区域。
(2)区域特征提取:提取目标的特征以及与目标相关的主要信息。
(3)分类器分类:在上一步得到的特征信息基础上将目标进行分类。
这种传统的方法弊端在于设计者需要思考如何进行特征提取,所以受限于设计者的经验与经历,如若提取的特征不全面或者有丢失的信息,将会对最后的识别结果产生影响。
在卷积神经网络广泛应用之前,DPM[1](Deformable Parts Model,可变形的组件模型)是一个非常成功的目标检测算法,连续获得VOC(Visual Object Class)07,08,09年的检测冠军。DPM可以看做是HOG(Histogrrams of Oriented Gradients)特征和SVM(Surpport Vector Machine)分类器的合作,先计算梯度方向直方图,然后用SVM训练得到物体的梯度模型。这样的模板就可以直接用来分类了,并且在一些检测任务上取得了非常好的检测效果。
卷积神经网络[2](convolutional neural network,CNN)的起源最早是源于动物的神经元,每个动物的神经元只处理一小块区域的视觉图像,即感受野(Receptive Field),相当于CNN中卷积核的处理过程。CNN模型在许多目标识别中都获得了比较不错的结果。目前在目标识别领域的算法主要分为两部分,一是传统的目标检测算法,二是基于深度学习的目标检测算法。基于深度学习的算法根据其具体的步骤分为基于候选区域的算法,例如R-CNN[3]、FastR-CNN[4]、FPN、SPPNet[5]等;基于回归的算法,YOLO、SSD[6]、YOLOv2等。
2014年,Girshick等人提出的R-CNN算法首次在目标识别领域应用卷积神经网络,其取得的效果远远好于传统的识别算法。在这种基于候选区域的深度学习目标识别算法中产生候选区域时普遍应用的算法有Selective Search[7]和Edge Boxes[8],然后利用卷积神经网络提取特征向量,在特征提取方面,现在目标检测领域普遍采用卷积神经网络进行特征提取替代人工特征提取,再利用SVM进行特征向量分类,经常用到的分类模型有Alex Net,VGG,Google Net,Res Net等等。在效果上,R-CNN在PASCAL VOC 2007[9]上的检测结果平均精度接近DPM的2倍。
1 Faster R-CNN
Region CNN(R-CNN)是利用深度学习进行目标识别检测的开始。作者Ross Girshick多次在PASCAL VOC的目标检测竞赛中夺冠,更带领团队获得终身成就奖。R-CNN将CNN算法与候选区域方法相结合,利用二者的优点更优的实现了目标识别的问题。但是R-CNN有一个缺点就是,它需要提取所有候选区域的特征,所以在计算上有许多重复。针对这一缺点提出了新的算法:Fast R-CNN,它在R-CNN的基础上加入了金字塔池化层,将边缘提取也采用神经网络的提取方式,在一定程度上减少了计算量。但是Fast R-CNN采用选择性搜索的方式找出所有的候选框,也是十分耗费时间的。
Faster R-CNN算法由任少卿[10]等人提出,在目标检测领域取得了优异的成果,所以引来了许多研究人员对其的进一步研究与改进。该算法首先使用CNN进行特征提取,然后在Fast R-CNN的基础上,将获取候选区域的Selective search方法改进为RPN网络,得到候选区域,接着使用softmax多任务分类器进行后续的分类与回归步骤。但是该算法在实时性上还是有所不足,具体步骤及流程图如下图1所示:
图1 Faster R-CNN流程图
1)特征提取网络
特征提取网络是可以根据实际需进行替换的卷积神经网络,训练数据的多少影响最终的性能与效果,其最常用是训练网络有ImageNet、ZF-Net等等。
2)候选区域生成网络
对待检测图像进行粗检,减轻后续分类步骤的压力。
3)分类回归网络
以特征提取网络输出的特征图和候选区域生成网络输出的候选区域为输入,输出候选区域对应各类别的置信度和修正参数。
2 改进方法
2.1 候选区域生成与分类回归
在Faster R-CNN算法中,Faster R-CNN网络需要对整体的输入图像进行特征提取,还需对其进行候选区域的生成与分类。候选区域生成网络和分类回归网络共享同一个特征提取网络,特征提取网络输出的特征将不加区分的直接送到候选区域生成网络和分类回归网络中。候选区域生成主要区分背景与目标之间的差异;分类回归网络主要区分不同目标之间的特征差异。现二者共用同一个特征提取网络的输出作为输入,会对网络的性能造成一定程度的影响。
所以针对这一问题提出一种改进方法[11],针对Faster R-CNN算法中候选区域生成网络
和分类回归网络采用单独特征提取的网络结构进行了研究,为候选区域生成网络和分类回归网络设置独立的特征提取网络,使候选区域生成网络学习的特征不会进入到分类回归网络中,进而提高网络性能。在训练过程中需要分为候选区域生成子网络和分类回归子网络两个子网络进行训练。其网络流程图如下图2所示:
图2 改进后的网络流程图
2.2 金字塔RPN结构
目标经过摄像头会呈现出不同尺度的变化,为了使算法对小目标更加敏感,针对检测目标的多尺度问题,对RPN网络进行了改进,提出RPN金字塔结构[12],用以解决检测目标多尺度的问题。
RPN 网络输入特征提取网络生成的特征图,输出目标候选区域矩形框集合。原始的 RPN 网络结构通过在输出的特征图上利用滑动窗口直接实现候选区域的提取,送入网络后续部分进一步实现目标的分类和候选区域位置框的回归,如图3所示:
图3 原始RPN网络
本文提出将RPN网络结构的3×3卷积核增加至3种大小不同的卷积核进行遍历。因为对不同尺度的目标仅使用一种大小的感受野是不够精确的,利用三种不同大小的感受野就可以更加精确的识别目标了。
原始的RPN网络结构在最后一层生成的特征图上使用3×3大小的感受野进行窗口滑动,改进之后分别通过5×5、3×3、1×1三种不同大小的感受野进行窗口滑动之后融合得到候选框,在传输给后续网络进行分类回归。改进之后的RPN网络结构如下图4所示。这样的结构设计可以对目标的多尺度可以更加鲁棒,从而提高整个模型的检测能力。
图4 改进后的RPN网络
3 实验
为验证改进算法的有效性,选用深度学习框架tensorflow作为实验平台,并在数据集VOC 07上进行验证。该数据集包括20种目标类别,一共有9963张图片。设置学习率为0.001,衰减因子为0.1,进行迭代。整个网络的训练过程使用SGD反向传播优化整个网络模型。在训练过程中,模型被分为候选区域生成子网络和分类回归子网络两部分,先初始化特征提取网络,然后对候选区域网络和分类回归网络进行标准差为0.01的高斯分布随机初始化,最后在同时对二者进行调整。
实验复现了原始的 Faster R-CNN 结构;实现了改进的独立特征提取网络和“金字塔 RPN”结构。并给出模型监测的结果图5。不同模型的检测结果如下表1所示。从表中可以看出经过改进的算法比传统Faster R-CNN算法的准确率提升了2.8%左右。
![]() |
![]() |
图5 检测结果图
表1 模型检测精确度对比表
模型 |
Faster RCNN |
Faster RCNN +独立特征网络 |
Faster RCNN +RPN金字塔 |
Faster RCNN +独立特征网络 +RPN金字塔 |
airoplane |
66.17 |
68.12 |
68.83 |
69.01 |
bicycle |
78.13 |
78.20 |
78.41 |
78.49 |
bird |
67.83 |
68.41 |
68.64 |
69.13 |
boat |
56.25 |
63.98 |
65.75 |
66.43 |
bottle |
50.54 |
47.61 |
45.71 |
47.83 |
bus |
75.94 |
76.78 |
78.15 |
77.95 |
car |
79.65 |
79.71 |
79.90 |
80.16 |
cat |
86.96 |
83.28 |
83.74 |
84.59 |
chair |
49.30 |
52.80 |
64.16 |
65.38 |
cow |
75.77 |
74.56 |
74.16 |
74.96 |
table |
64.36 |
64.47 |
64.16 |
65.39 |
dog |
81.05 |
80.96 |
79.26 |
81.96 |
horse |
80.18 |
81.53 |
80.58 |
81.82 |
motorbike |
72.59 |
73.13 |
74.80 |
75.15 |
person |
76.84 |
76.48 |
77.85 |
78.24 |
plant |
41.76 |
40.93 |
41.43 |
42.34 |
sheep |
67.14 |
67.03 |
67.98 |
68.59 |
sofa |
64.83 |
65.86 |
64.49 |
65.74 |
train |
74.85 |
72.05 |
74.86 |
75.38 |
tv monitor |
71.31 |
71.54 |
71.68 |
72.63 |
average |
69.07 |
69.37 |
70.23 |
71.06 |
4 结语
本文以 Faster RCNN 为基础,提出了改进的Faster RCNN算法。对候选区域生成网络和分类回归网络采用单独特征提取网络的情况进行研究并实现了相应的改进算法;针对目标尺寸偏小,首先对 anchor的大小进行了调整;进一步对 RPN 网络结构进行了改进,提出了一种“金字塔 RPN”网络结构。最终在检测数据集VOC 07上对算法进行验证。在深度学习的基础上,目标识别的准确率已经有了显著提高。但是由于目标识别与神经网络所涉及的知识十分宽泛,所以还有很大的研究空间。比如传统算法的优点,可以有针对性的将其与深度学习结合起来,进一步提高算法的准确率;还可以使用多GPU并行训练网络。
[参考文献]
[1]Girshick R,Mcallester D,et al.Object Detection with Discriminatively Trained Part-based Models[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2010,32(9):1627-1645.
[2]李彦东,郝宗波,雷航.卷积神经网络研究综述[J].计算机应用,2016,36(9):2508-2515.
[3]Girshick R,Donahue J,Darrell T,et al.Rich Festure Hierarchies for Accurate Object Detection and Semantic Segmentation[J].2014:580-587
[4]Girshick R.Fast R-CNN[J].Computer Science,2015.
[5]He K,Zhang X,Ren S,et al.Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2015,37(9):1904-1916.
[6]Liu W,Anguelov D,Erhan D,et al.SSD:Single Shot MultiBox Detector[J].2015:21-37
[7]Uijlings J R R,Van De S ande K E A,Gevera T,et al.Selective search for object recognition[J].International of computer vision,2013,104(2):154-171
[8]Erhan D,Szegedy C,Toshev A.et al.Scalable Object Detection Using Deep Neural Networks[C].IEEE Conference on Computer Vision and Pattern Recognition.IEEE Computer Society,2014:2155-2162.
[9]http:.pascallin.ecs.soton.ac.uk/challenges/VOC/.
[10]Ren S Q,He K M,Girshick R,et al.Faster R-CNN:towards real-time object detection with region proposal networks[J].Computer Science,2015(99):1.
[11]伍伟明.基于Faster R-CNN的目标检测算法的研究[D].华南理工大学,2017.
[12]李伟山,卫晨,王琳.改进的Faster RCNN煤矿井下行人检测算法[D].计算机工程与应用,2018.