Print

发布时间: 2017-11-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.170262
2017 | Volume 22 | Number 11




    图像分析和识别    




  <<上一篇 




  下一篇>> 





深度区域网络方法的细粒度图像分类
expand article info 翁雨辰, 田野, 路敦民, 李琼砚
北京林业大学工学院, 北京 100083

摘要

目的 在细粒度视觉识别中,难点是对处于相同层级的大类,区分其具有微小差异的子类,为实现准确的分类精度,通常要求具有专业知识,所以细粒度图像分类为计算机视觉的研究提出更高的要求。为了方便普通人在不具备专业知识和专业技能的情况下能够区分物种细粒度类别,进而提出一种基于深度区域网络的卷积神经网络结构。方法 该结构基于深度区域网络,首先,进行深度特征提取任务,使用VGG16层网络和残差101层网络两种结构作为特征提取网络,用于提取深层共享特征,产生特征映射。其次,使用区域建议网络结构,在特征映射上进行卷积,产生目标区域;同时使用兴趣区域(RoI)池化层对特征映射进行最大值池化,实现网络共享。之后将池化后的目标区域输入到区域卷积网络中进行细粒度类别预测和目标边界回归,最终输出网络预测类别及回归边框点坐标。同时还进行了局部遮挡实验,检测局部遮挡部位对于分类正确性的影响,分析局部信息对于鸟类分类的影响情况。结果 该模型针对CUB_200_2011鸟类数据库进行实验,该数据库包含200种细粒度鸟类类别,11 788幅鸟类图片。经过训练及测试,实现VGG16+R-CNN(RPN)和Res101+R-CNN(RPN)两种结构验证正确率分别为90.88%和91.72%,两种结构Top-5验证正确率都超过98%。本文模拟现实环境遮挡情况进行鸟类局部特征遮挡实验,检测分类效果。结论 基于深度区域网络的卷积神经网络模型,提高了细粒度鸟类图像的分类性能,在细粒度鸟类图像的分类上,具有分类精度高、泛化能力好和鲁棒性强的优势,实验发现头部信息对于细粒度鸟类分类识别非常重要。

关键词

细粒度; 深度区域网络; 卷积神经网络; 鸟类分类; 残差网络

Fine-grained bird classification based on deep region networks
expand article info Weng Yuchen, Tian Ye, Lu Dunmin, Li Qiongyan
School of Technology, Beijing Forestry University, Beijing 100083, China
Supported by: National Natural Science Foundation of China (31200544)

Abstract

Objective Fine-grained visual recognition requiring domain-specific and expert knowledge is a difficult issue in computer vision.This study addresses the problem of fine-grained visual categorization on accuracy and speed.This task is full of challenges because all the objects in a fine-grained dataset belong to the same level category, with some fine, subtle differences between classes.These subtle differences cannot be easily distinguished by ordinary people who do not have expert knowledge.Moreover, the features cannot be easily extracted and classified into the correct category by the computer.This study uses the convolutional neural network to extract features to predict the fine-grained class and thus improve recognition accuracy.The task includes object detection, object recognition, and object classification. Method In this study, we propose a convolutional neural network architecture based on deep region networks.We use this architecture because the convolutional neural network can improve the extraction and classification accuracy significantly.The deep architecture can also extract fine and coarse features that are useful for classification.First, we extract deep features by use of the feature extraction network to create a feature map.Every convolution layer extracts the feature by feature weight matrix, which is set by forward and back propagation algorithms to minimize the loss function.The proposed feature extraction network possesses two different architectures, i.e., VGG and Residual networks.We use the VGG 16-layer and Res 101-layer deep networks as the feature extraction networks.We share the deep features extracted by the feature extraction network to the subsequent network.Second, we use the region proposal network architecture to implement the region proposal step.The feature map extracted by the feature extraction network is convoluted with a convolution kernel size of 3×3 with three different feature sizes and aspect ratios.Through convolution of the feature map, we derive 512 dimension vectors that can be used to conduct bounding box classification and regression.We determine the region of interest (RoI) if the class is yes.RoI pooling is used to ensure maximum pooling on the RoI.This pooling shares the network and avoids repeated computation.Third, the proposed regions are inputted into the region convolutional neural network to predict the class and score of every fine-grained classification and compute the regression function of the bounding box of object detection.Finally, the deep region convolutional neural network outputs four results.Two results are the classification results that the network predicted with maximum and minimum scores.The two other results are the regression results that include four values, i.e., x1, x2, y1, and y2, and two coordinates, i.e., the lower left corner (x1, y1) and the upper right corner (x2, y2), which form a rectangular area. Result We use the CUB_200_2011 dataset, which is designed for fine-grained image recognition with public annotations, including class labels, object bounding boxes, and part locations, to conduct fine-grained recognition of birds.The dataset contains 200 fine-grained categories of birds and a total of 11, 788 pictures.Only the class label and object bounding box annotations are used in our evaluation.In this work, the proposed networks are trained and tested to achieve superior performance.For the entire bird, the VGG16+R-CNN(RPN) network achieves the Top 1 accuracy of 90.88% and the Res101+R-CNN(RPN) network achieves the Top 1 accuracy of 91.72%.Meanwhile, the VGG16+R-CNN(RPN) network achieves the Top 5 accuracy of 98.15% and the Res101+R-CNN(RPN) network achieves the Top 5 accuracy of 98.24%.The Top 5 accuracy of the two networks is more than 98%.We also conduct experiments on certain parts of the bird, such as the head.For the head of the bird, the VGG16+R-CNN(RPN) network achieves the Top 1 accuracy of 90.70% and the Res101+R-CNN(RPN) network achieves the Top 1 accuracy of 91.06%.Meanwhile, the VGG16+R-CNN(RPN) network achieves the Top 5 accuracy of 98.04% and the Res101+R-CNN(RPN) network achieves the Top 5 accuracy of 98.07%.In this study, we analyze the effect of certain parts of the bird, such as beak, head, belly, leg, and foot, on the performance of object detection, object recognition, and object classification. Conclusion This study proposes a network architecture based on deep region convolutional neural networks that achieve superior performance compared with other models in terms of object detection, object recognition, and object classification, although fine-grained visual recognition is difficult for ordinary people and other network architectures.Our method exhibits a high accuracy and a good performance and does not need extra data to train, which make it robust and applicable to various datasets.Experimental results show that the local information is useful for fine-grained image recognition.The proposed model is applicable to object detection and fine-grained image categorization.The experimental results also show that the local information, such as head, is useful for fine-grained image recognition.

Key words

fine-grained; deep region network; convolution neural network; classification of birds; residual network

0 引言

深度神经网络(DNNs)是当代人工智能(AI)领域的基础[1]。不仅用于图像识别[2]和语音识别[3],而且在其他领域中也得到越来越广泛的应用,包括自动驾驶[4]、癌症检测[5]、棋类比赛等。同时,更深的网络结构及框架使得图像识别、图像目标检测、目标定位、图像分类、图像分割以及细粒度识别等任务的性能不断得到提升。在这些领域中,深度神经网络的学习能力已经开始超过人类的能力,实现比人类更高的正确率。目前,深度卷积神经网络[2]已经成为深度神经网络结构的核心,并在各种领域应用。

常规的图像识别任务对图像进行类间分类,主要区分图像中具有极大物种差异的类别,如对狗、车、鸟等不同物种进行识别分类,这对于普通人是很容易做到的事情;但区别于常规的图像识别分类任务,细粒度图像识别是针对于图像中相似的子类别进行识别的图像处理技术,例如识别犬种子类别分类、识别鸟类子类别分类、汽车品牌分类等。细粒度图像识别通常要求有专家方面的经验,如对犬类不同品种的识别,花卉种类的识别等,普通人无法准确实现其识别任务。对于物体分类来说,物体种类间的区别在于物体的部位特征及尺寸特征差异较大,较容易提取特征进行识别分类;然而物体类内的子类别分类,部位特征及尺寸特征极其相似,如不同鸟类之间都具有头部、腹部、翅膀、腿等,且尺寸相似,进行细粒度识别时,需要根据局部部位的微小特征进行区分,如喙的形状、尺寸,或者外表属性,如颜色、纹理等特征来判断。因此,由于细粒度物体识别分类通常要求具有专家级的分析能力,所以在人工智能领域非常具有挑战性,成为研究热点。本文正是针对鸟类的细粒度识别的需要应用深度学习的方法进行相关研究。

单一的深度神经网络,如AlexNet[2]、VGGNet[6]、GoogleNet[7]、ResNet[8]等,已经能够很好地提取类间特征进行分类,但是对于具有类内特征的细粒度特征提取效果不佳,现有鸟类数据库图片全部由人工随机拍摄于真实环境,背景干扰大,鸟类中子类别图片的布局特征不易识别,致使识别分类效果不佳。因此,本文采用:1) 深度学习框架,分别使用VGGNet和ResNet网络作为特征提取器,获得深层次的特征表达,产生特征映射图;2) 深度区域建议网络(RPN)结构[9],对特征映射进行各区域生成;3) 感兴趣区域池化(RoI pooling)[10]进行共享计算,产生建议区域,解决图像识别主体定位;4) 将建议区域用于基于区域的分类网络(R-CNN网络)[11],实现细粒度分类。

本文主要贡献有一下几点:

1) 本文提出了针对于细粒度鸟类定位及识别的深度区域网络结构,通过卷积神经网络进行深度特征提取,在特征基础上结合区域建议网络进行区域生成,初步判别其类别,进行区域位置回归计算,修正区域位置坐标,实现更准确定位。

2) 在实现细粒度鸟类定位及识别的基础上,探索了鸟类部位对鸟类识别分类的影响情况,进行实验分析。对于预测分类任务,腹部区域和头部区域会对分类准确性造成影响,其中,头部信息对于实现细粒度鸟类识别分类非常重要,即使其他部位存在缺失,但只要头部信息充分还可以保证很高的识别准确性。

1 相关工作概述

深度卷积神经网络的出现,实现了传统图像处理方法不能实现的多类别分类功能,实现了高达1 000个类别的分类,同时具有高精度、泛化性能强等优点,随着网络层数不断增加,深度不断加深,性能不断提高,例如VGGNet[6]达到19层、ResNet达到1 000层,但是,对于物体类内分类,如鸟类细粒度分类,这些网络结构实现的效果并不理想。

细粒度图像识别是针对于同一类别下不同子类之间的识别,许多细粒度类别之间特征存在着高度相似性,难于区别其类别间的微小差异,其次,图像多为现实存在,存在位置、姿态的不同及背景的干扰而造成类内方差极大导致分类效果较差。为了解决这些问题,针对鸟类的细粒度识别,一些人采用区域网络进行性能提高。Zhang等人[12-13]提出了通过整体区域及头部区域同时检测,并约束其相对位置关系,进而预测其类别;Zhang、Xu等人[14]对于多局部部位区域进行检测,产生头、背、腹部、腿、翅膀、尾部等7个区域,将每个局部区域共同用于识别分类;Ge等人[15]提出通过减少其中全连接网络层的维度,同时固定其余网络模型参数防止重复训练,并重新训练全连接层,提高细粒度分类精度。另一些人对标签文件进行处理。Zhou等人[16]提出一个特殊方法,对标签文件进行处理,增加标签文件中局部类别的二值化标签,通过二值化图形标签发掘更细类别之间的关系,在局部分类的同时进行整个图像的细粒度分类;Huang等人[17]也增加标签文件,手动标注了局部部位的标签注释文件,采用全卷积网络[18],定位多个局部部位位置及类别,整合局部信息和整体特征进行细粒度分类;Zhang等人[19]提出嵌入式标签结构,将标签嵌入到网络中,根据原图标签、相同细粒度标签、相同粗粒度不同细粒度标签、不同粗粒度标签分为4类,将细粒度标签和粗粒度标签相结合;Cui等人[20]在训练学习的闭环过程中加入人工环节,由分类网络产生的具有高置信度分数的图片及预测类别送入到人工判定系统,进行人工确认为“真正例”或“假正例”,分别收集到数据库和难识别类,再利用难于识别的类别评价模型。

在图像识别中,必须要解决的问题是物体在哪里(物体定位)和物体是什么(物体分类)的要求。对于鸟类的细粒度识别而言同样也要遵循这一要求,为此可以将物体定位和分类结合起来进行判别。

因此提出了区域卷积网络。最初的基于区域卷积网络(R-CNN)[6]是通过基于区域网络产生的若干个候选区域,这些候选区域提供物体可能在哪里的线索。然后对候选区域进行预测和分类。其流程是网络首先对于输入图像产生候选区域,然后对每个候选区域,使用深度卷积网络提取特征,将特征输入到支持向量机(SVM)分类器中,线性判断是否属于物体,最后通过回归精调修正候选框位置,输出区域左上角和右下角坐标。该方法采用Selective Search[21]的方法来产生建议区域,对于每张图片都要计算出2 000多个建议区域,且大部分区域重叠,计算量极大,耗时长,成本很高;于是Fast R-CNN[10]进行了技术改进,采用RoI池化的方法,这种方法类似于SPP网络[9],通过对原始图片进行卷积和池化,计算出最合适的卷积特征进行提取,实现卷积特征的共享,每张图片只需计算1次,大大降低运行时间和成本,提高性能;同时,第2阶段还将分类和回归两个任务进行联合计算,共享全连接层fc6(full connection)之前的每层特征,由于前面层次的网络结构提取的特征几乎相同,合并计算能够减少计算量,提高运行速度,对于性能没有显著影响,还略有提高。第3阶段,Faster R-CNN[22]增加了网络结构,利用RPN网络产生建议区域,并沿用第二阶段的特性,产生了很好的效果。

2 原理

2.1 基于区域网络的深度卷积网络结构

图 1为本文采用的基于区域网络的深度卷积网络结构,有VGG16+R-CNN(RPN)和Res101+R-CNN(RPN)两种结构。输入图片首先经过特征提取网络进行卷积,提取特征,得到特征映射,特征提取网络分别采用VGG16及Res101卷积神经网络,该结构能够共享浅层更细致的特征;然后将经过卷积神经网络提取的特征映射图,接入RPN网络,再次进行特征提取,产生区域边框及判别分类,得到不同的建议区域(proposals),同时对特征映射进行RoI池化,进行卷积计算并产生特征区域,产生的区域输入分类网络(R-CNN)进行类别预测,输出检测边框点坐标、预测类别标签及置信度评分。

图 1 基于区域网络的深度卷积网络结构
Fig. 1 Deep convolution network based on region

2.2 特征提取网路

特征提取网络是整个网络结构的核心,用于提取图片的深度特征用于定位与识别分类。本文分别采用VGG网络和RES残差网络作为特征提取网络,以实现鸟类图像的细粒度特征提取,同时比较它们的特征提取性能。

2.2.1 VGG网络

VGG网络是由牛津大学提出的深度卷积网络结构,是第1个在每个卷积层使用3×3卷积核,并把它们组合作为一个卷积序列进行处理的网络。VGG通过依次采用多个3×3卷积去表征复杂特征,能够模仿出更大的感受野的效果,同时增加特征图通道的数量,更好的提取特征信息,意味着有大量的参数与学习能力。但是这些网络训练很困难,必须划分到较小的网络,并逐层累加。

采用VGG16层网络结构进行特征提取,每层卷积层采用3×3卷积核,并把它们组合作为一个卷积序列进行处理,每层卷积层进行卷积后都采用修正线性单元(ReLU)作为激活函数,每一块卷积计算结束后,进行最大值池化,聚合特征信息。

2.2.2 残差网络

随着网络深度的增加,网络的性能退化,网络的训练误差和测试误差都会增大,由于网络普遍采用梯度下降的方法进行反向传播,梯度下降具有不稳定性,随着网络层数的增加,由深层权重反向计算到浅层权重的梯度趋于零,导致梯度消失,无法有效进行权重调整,使学习速度极其缓慢,残差网络较好地解决了这一问题[8]

本文中残差的单元结构如图 2所示,其在网络中多次采用两个通道,一条通道使输入数据$x$在进行正则化及ReLU后,通过3层的卷积网络产生输出

$ F\left( x \right) = {W_3}\sigma \left( {{W_2}\sigma \left( {{W_1}x} \right)} \right) $ (1)

图 2 残差单元
Fig. 2 ResNet block

式中,${W_1}$为第1层权重,${W_2}$为第2层权重,${W_3}$为第3层权重,$\sigma $为线性修正函数ReLU。

另一条是由输入$x$经过正则化及ReLU后越过3个卷积层,直接输出$x$,两个输出结果相结合,作为输入进入下层网络。输出$y$

$ y = F\left( {x, \left\{ {{W_i}} \right\}} \right) + x $ (2)

本文设计A和B两种残差单元,其中B单元中分支通道卷积层为保证卷积特征维数即滤波器数量相同。使用残差单元使得网络即使随着层数的加深,也不会丢失浅层特征,能够使网络层数更深,同时网络参数更少,计算更快。本文采用ResNet101层网络进行特征提取。

2.3 区域建议网络

当利用特征提取网络获得图像的深度特征(特征图)后,根据深度卷积网络的原理,我们知道,特征图上的每一个点都对应着原图上的局部感受野,是局部感受野范围内容的深度特征表达,因此特征图上的所有点恰好反应了原图上相应位置的深度特征,这些特征包括背景和识别的物体。所以可以对这些点进行判定,以识别出哪些特征点代表背景哪些特征点代表物体,对于代表物体的特征点再进行分类。由此解决了物体定位和识别的目的。为此提出区域建议网络的模型。

RPN,是一种全卷积网络(FCN)[23],使用一个小的网络在已经通过卷积计算得到的特征图上进行滑动扫描,这个小的网络每次在一个特征图上的一个窗口进行滑动,卷积后映射到一个低维向量。整个网络会有多个窗口同时在特征图上进行滑动,提取特征,产生512维向量, 如图 3所示。

图 3 RPN网络
Fig. 3 RPN network

在特征图上使用3×3的卷积核与特征图进行卷积,在3×3滑窗中心点位置,反应局部感受野范围内的背景和物体的深度特征。但由于物体有不同的大小和长宽比,因此相应于该点在原图上设定预测3种尺度(8,16,32),3种长宽比(1:2,1:1,2:1) 的建议区域,从而这些区域对应了不同大小、不同尺寸的识别对象,这种映射的机制称为锚点机制。在每一个滑动窗口的位置,预测多个建议区域,每个位置可以预测数量最多为$k$,锚点则位于卷积核的中心。

产生的512维向量,接入到两个全连接层,即边框分类层和边框回归层,分别用于分类和边框回归。回归层包含4个坐标元素,即目标检测的起始点($x$$y$)及宽度($w$)和高度($h$),用于确定目标位置;分类层是将边框进行归类,判断目标区域和背景区域,在样本准备时,规定正样本为与真实区域重叠大于0.7,负样本为与真实区域重叠小于0.3。

2.4 RoI池化

RoI池化是利用最大值池化方法,对特征映射中的兴趣区域进行处理。该方法避免了对一张图片很多具有重复区域的候选区域重复进行特征提取的重复计算,而是只对原始图像特征映射进行一次卷积特征提取和池化计算。其创建了图像的完整前向传递,并从获得的前向传递中提取每个兴趣区域的转换特征,共享了前向传递网络。

2.5 弃权

弃权(Dropout)是将随机选择的一定比例的隐藏层神经元的权重设置为零,这些被选中的神经元不会参与到前向传递和反向传播过程。弃权能够减少自适应神经元的复杂性,不依赖于其他神经元,能够有限的降低过拟合发生,具有良好的鲁棒性和泛化能力。本文在VGG16+R-CNN(RPN)网络结构的全连接层fc6和fc7中采用弃权50 %的神经元。

3 实验

3.1 数据处理

本文采用Caltech-UCSD Birds-200-2011 (CUB-200-2011)[24]鸟类数据库进行细粒度检测及分类,该数据库包含200种鸟类细粒度类别,共11 788幅图片,每一物种都结合维基百科的文章进行科学分类,每幅图片注释边框区域及类别标签。本文对每一幅图片读取标签生成注释文件。

将数据库中的全部图像分为训练集和测试集两部分,训练集共5 994幅图片,测试集5 794幅图片,由于数据库未设置验证集,从测试集中随机产生1 738(2/5) 幅图片作为验证集。在进行训练之前,采用的水平翻转的数据增强方式,增加用于训练的数据集数量。同时采用原始图像输入方式,不处理为相同图像尺寸。

3.2 评价指标

采用置信度及Top-$k$正确率评价指标。对于单一图像的细粒度分类预测,采用置信度评价指标,置信度分布在(0,1) 区间内。网络会对每一幅图片都产生200类对应的置信度的预测结果,不同结果置信度存在差异,对置信度矩阵中最大值对应的类别,为该图片的预测结果。计算置信度

$ {p_{ic}} = \arg \;\max \left( {{S_{ic}}} \right) $ (3)

式中,$p$为最大置信度,$S$为所有类别置信度评分矩阵,$i$为图像序号,$c$为细粒度类别序号。

本文是针对鸟类类别进行细粒度分类,类别间差异极小,置信度评分在类别间差异很小,完全准确分类难度较高,因此总体评价指标采用Top-$k$正确率评价指标,能够更好地显示网络性能。该指标的计算方法为

$ A = \frac{T}{N} $ (4)

$ T = \left\{ \begin{array}{l} 1\;\;\;\;p_{\left( {n- 1- j} \right)}^i = {c^i}\\ 0\;\;\;\;{\rm{其他}} \end{array} \right., \;\;\;\;j = \left[{0, k-1} \right] $

式中,$T$为网络预测类别,与图片实际类别一致,判定为正确的数量,$N$为批量训练总数,$c$为图像实际类别,$p$为网络预测类别,$n$=201,为类别数量,1为背景,$j$为整数,根据$k$进行取值,$k$为Top-$k$正确率评价指标,本文中$k=[1,2,3,5,8,10]$

$k=1$时,取置信度评分最高的预测结果进行判断;当$k=2$时,取置信度评分最高的两个预测结果进行判断,只要其中一个预测结果预测正确,则判定为正确,以此类推。

3.3 基于整体目标的鸟类分类实验

本文使用基于开源Linux内核的Ubuntu14.04桌面应用系统,MXNet[25]深度学习框架,Python编程语言,使用一块8 GB英伟达(NVIDIA)GTX1070显卡进行加速运算。

实验分别采用VGG16和Res101两种网络结构,实现特征提取网络。接入RPN网络和R-CNN网络,产生VGG16+R-CNN(RPN)和Res101+R-CNN(RPN)两种结构。根据文献[6, 8-9, 22]中经验,设置训练参数如表 1所示。VGG16+R-CNN(RPN)模型每次迭代耗时0.69 h,Res101+R-CNN(RPN)模型每次迭代耗时1.70 h。经过对比,VGG16+R-CNN(RPN)模型第19次迭代结果Top-1正确率最高;Res101+R-CNN(RPN)模型第12次迭代结果Top-1正确率最高,训练及正确率结果如表 2所示。

表 1 训练参数表
Table 1 Parameter for training

下载CSV
训练参数 VGG16+R-CNN(RPN) Res101+R-CNN(RPN)
学习率 0.001 0.000 1
权重衰减 0.000 5 0.000 01
批量数据 128 128
动量 0.9 0.9
RoI池化处理批量 128 256
步长 16 16
迭代次数 20 20

表 2 针对整体检测的训练及验证结果正确率
Table 2 The Top-k accuracy for training and testing results to the whole bird

下载CSV
VGG16+R-CNN(RPN) Res101+R-CNN(RPN)
训练 0.977 0 0.984 0
Top-1验证 0.908 8 0.917 2
Top-2验证 0.953 7 0.957 1
Top-3验证 0.969 3 0.971 3
Top-5验证 0.981 5 0.982 4
Top-8验证 0.988 6 0.989 2
Top-10验证 0.990 9 0.991 8

根据表 2中实验结果,两种模型验证正确率都超过90 %,Top-5正确率超过98 %,预测结果较好,远超过人类识别正确率91 %。

对比于其他网络结构及模型方法,测试结果如图 4,本文的两种方法VGG16+R-CNN(RPN)和Res101+R-CNN(RPN)的正确率超过其他模型的正确率,且本文模型中Res101+R-CNN(RPN)网络结构正确率最高。

图 4 不同模型正确率
Fig. 4 Accuracy of models

3.4 基于局部目标的鸟类分类实验

为研究细粒度识别中物体局部特征对识别的影响,本文将鸟类的头部作为识别对象。在原数据库的基础上,人工标注了全部图片的头部区域边框并生成标签文件。采用鸟类头部标签进行训练,方法及参数与上一阶段鸟类整体目标实验相同,实验采用VGG16+R-CNN(RPN)和Res101+R-CNN(RPN)两种模型,VGG16+R-CNN(RPN)模型每次迭代耗时0.69 h,Res101+R-CNN(RPN)模型每次迭代耗时1.81 h,VGG16+R-CNN(RPN)模型第17次迭代结果Top-1正确率最高,Res101+R-CNN(RPN)模型第14次迭代结果Top-1正确率最高,训练及正确率结果如表 3所示。

表 3 针对头部检测的训练及验证结果正确率
Table 3 The Top-k accuracy for training and testing results to the head of bird

下载CSV
VGG16+R-CNN(RPN) Res101+R-CNN(RPN)
训练 0.974 2 0.984 6
Top-1验证 0.907 0 0.910 6
Top-2验证 0.953 8 0.952 0
Top-3验证 0.968 5 0.967 5
Top-5验证 0.980 4 0.980 7
Top-8验证 0.987 4 0.988 4
Top-10验证 0.989 9 0.991 3

结果显示,两种模型验证正确率都超过90 %。结果表明,基于整体分类和基于头部进行细粒度分类的正确率非常接近,说明在鸟类的细粒度识别中,鸟类的头部信息非常重要,即使其他部分的信息缺失,但只要头部信息充分还可以保证很高的识别准确性。

3.5 局部遮挡分类效果

为进一步判断鸟类局部特征对于整体目标检测及分类准确性的重要程度,模拟现实情况中可能出现的局部遮挡情况,实验采用人工遮挡局部特征进行预测的实验方法,遮挡部位包括喙、头部、身体、腿、足(掌),遮挡区域处理为黑色,如图 5所示。

图 5 局部遮挡示意图,区域为黑色
Fig. 5 Mask some region to black((a)original picture; (b)masked beak; (c)masked head; (d)masked belly; (e)masked legs; (f)masked feet)

对于该007.Parakeet_Auklet种类鸟的预测结果,预测结果表 4图 6显示,(${x_1}$${y_1}$)为目标检测框左下角点坐标,(${x_2}$${y_2}$)为目标检测框右上角点坐标,目标图像虽然存在不同部位的遮挡情况,但是网络都能够实现对目标的完整检测,但是遮挡足(掌)部位会造成目标检测存在差异,遮挡部分会造成原目标检测不够完整,但是已经较好实现目标检测功能。对于预测分类任务,无遮挡时,预测分类正确,置信度为0.996;遮挡喙,预测分类正确,置信度为0.977;遮挡头部,预测分类正确,置信度为0.996;遮挡腹部,预测分类错误,置信度为0.728;遮挡足部,预测分类正确,置信度为0.996。

表 4 007.Parakeet_Auklet鸟类遮挡部位预测结果
Table 4 The results for masking some region of bird of 007.Parakeet_Auklet

下载CSV
遮挡部位 遮挡区域 置信度 预测分类
${x_1}$ ${x_2}$ ${y_1}$ ${y_2}$
原图 99.16 95.85 306.62 383.36 0.996 4 007.Parakeet_Auklet
104.53 92.20 300.45 372.72 0.977 2 007.Parakeet_Auklet
头部 88.19 74.51 311.83 381.07 0.996 1 007.Parakeet_Auklet
腹部 99.68 38.51 301.71 372.77 0.727 6 005.Crested_Auklet
96.10 95.54 310.85 347.82 0.995 9 007.Parakeet_Auklet
图 6 007.Parakeet_Auklet鸟类遮挡部位预测结果
Fig. 6 The results for masking some region of bird of 007.Parakeet_Auklet((a)original picture; (b)masked beak; (c)masked head; (d)masked belly; (e)masked feet)

对于该002.Laysan_Albatross种类鸟的预测,预测结果如表 5所示。对于预测分类任务,无遮挡时,预测分类正确,置信度为0.999;遮挡喙,预测分类正确,置信度为0.999;遮挡头部,预测分类正确,置信度为0.988;遮挡腹部,预测分类正确,置信度为0.998;遮挡腿,预测分类正确,置信度为0.999;遮挡足部,预测分类正确,置信度为0.999。如图 7所示,虽然遮挡不同局部位置,但是都实现了目标检测识别的任务,根据实验结果显示,该组图片预测分类全部正确。

表 5 002.Laysan_Albatross鸟类遮挡部位预测结果
Table 5 The results for masking some region of bird of 002.Laysan_Albatross

下载CSV
遮挡部位 ${x_1}$ ${x_2}$ ${y_1}$ ${y_2}$ 置信度 预测分类
原图 185.10 24.86 351.41 374.38 0.999 1 002.Laysan_Albatross
182.79 33.91 359.55 371.88 0.998 6 002.Laysan_Albatross
头部 186.26 6.99 349.12 365.48 0.988 1 002.Laysan_Albatross
腹部 172.32 23.48 359.66 358.41 0.998 1 002.Laysan_Albatross
190.27 37.19 360.32 304.25 0.999 8 002.Laysan_Albatross
188.38 32.22 345.03 363.93 0.999 8 002.Laysan_Albatross
图 7 002.Laysan_Albatross鸟类遮挡部位预测结果
Fig. 7 The results for masking some region of bird of 002.Laysan_Albatross((a)original picture; (b)masked beak; (c)masked head; (d)masked belly; (e)masked legs; (f)masked feet)

根据上面的实验结果,初步得出结论,局部遮挡对于目标检测及类别识别存在影响,不同局部区域对于网络预测分类的影响程度不同,对于预测分类任务,遮挡腹部区域对于分类准确性影响较大,遮挡头部区域对分类准确性造成影响。如图 8,遮挡腹部造成的分类错误的图片和实际该005.Crested_Auklet类别中鸟类图片对比,右图腹部特征被黑色区域遮挡,被认为是黑色特征,只能够提取头部、喙及足部特征,这些特征与005.Crested_Auklet类别中鸟类特征确实极其相似。

图 8 类别对比图
Fig. 8 Compared pictures((a)bird pictures in class 005.Crested_Auklet; (b)wrong prediction caused by masked belly)

4 结论

本文提出了用于细粒度分类的深度区域卷积神经网络,该模型通过特征提取网络进行深度特征提取,产生特征映射,使用全卷积网络对特征映射进行卷积操作,产生目标区域,同时对特征映射进行RoI池化,产生的特征图被输入到区域分类网络中实现类别预测和边框回归。本文分别采用VGG16和Res101作为深度特征提取网络,采用Caltech-UCSD Birds-200-2011数据库鸟类图片及人工标记的头部数据进行细粒度分类及目标检测,经过训练迭代及测试实验,对于鸟类整体目标,VGG16+R-CNN(RPN)验证正确率为90.88 %,Res101+R-CNN(RPN)验证正确率为91.72 %,两种结构的Top-5验证正确率都超过98 %;对于鸟类局部目标,VGG16+ R-CNN(RPN)验证正确率为90.07 %,Res101+R-CNN(RPN)验证正确率为91.06 %。本文提出的基于深度区域网络的卷积神经网络模型,在细粒度鸟类图像的分类上,具有分类精度高、泛化能力好和鲁棒性强的优势,相比于现有方法,在分类性能上精度提高11.02 %。

本文模拟现实环境中可能存在的局部特征遮挡问题,验证局部特征对于鸟类整体检测分类的影响。遮挡局部会造成置信度评分降低,分类不准确的问题,影响程度和遮挡的局部区域存在关系;虽然本文所用方法在分类精度有所提高,但是依然存在光照条件下鸟类身体颜色变化、图像质量过差等因素造成的无法识别问题。整体目标细粒度识别,存在特征过于相似或不同姿态下特征显示不完全造成的分类错误,仍需进一步提高针对复杂情况的适应性。

参考文献

  • [1] LeCun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015, 521(7553): 436–444. [DOI:10.1038/nature14539]
  • [2] Krizhevsky A, Sutskever I, Hinton G E.ImageNet classification with deep convolutional neural networks[C]//Proceedings of the 25th International Conference on Neural Information Processing Systems.Lake Tahoe, Nevada:Curran Associates Inc, 2012:1097-1105. http://dl.acm.org/citation.cfm?id=2999257
  • [3] Deng L, Li J Y, Huang J T, et al.Recent advances in deep learning for speech research at Microsoft[C]//Proceedings of 2013 IEEE International Conference on Acoustics, Speech and Signal Processing.Vancouver BC:IEEE, 2013:8604-8608.[DOI:10.1109/ICASSP.2013.6639345]
  • [4] Chen C Y, Seff A, Kornhauser A, et al.DeepDriving:learning affordance for direct perception in autonomous driving[C]//Proceedings of 2015 IEEE International Conference on Computer Vision.Santiago:IEEE, 2015:2722-2730.[DOI:10.1109/ICCV.2015.312]
  • [5] Esteva A, Kuprel B, Novoa R A, et al. Dermatologist-level classification of skin cancer with deep neural networks[J]. Nature, 2017, 542(7639): 115–118. [DOI:10.1038/nature21056]
  • [6] Simonyan K, Zisserman A.Very deep convolutional networks for large-scale image recognition[DB].arXiv:1409.1556, 2015. http://arxiv.org/abs/1409.1556
  • [7] Szegedy C, Liu W, Jia Y Q, et al.Going deeper with convolutions[C]//Proceedings of 2015 IEEE Conference on Computer Vision and Pattern Recognition.Boston, MA:IEEE, 2015:1-9.[DOI:10.1109/CVPR.2015.7298594]
  • [8] He K M, Zhang X Y, Ren S Q, et al.Deep residual learning for image recognition[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition.Las Vegas, NV:IEEE, 2015:770-778.[DOI:10.1109/CVPR.2016.90]
  • [9] He K M, Zhang X Y, Ren S Q, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1904–1916. [DOI:10.1109/TPAMI.2015.2389824]
  • [10] Girshick R.Fast R-CNN[C]//Proceedings of 2015 IEEE International Conference on Computer Vision.Santiago:IEEE, 2015:1440-1448.[DOI:10.1109/ICCV.2015.169]
  • [11] Girshick R, Donahue J, Darrell T, et al.Rich feature hierarchies for accurate object detection and semantic segmentation[C]//Proceedings of 2014 IEEE Conference on Computer Vision and Pattern Recognition.Columbus, OH:IEEE, 2013:580-587.[DOI:10.1109/CVPR.2014.81]
  • [12] Zhang N, Donahue J, Girshick R, et al.Part-based R-CNNs for fine-grained category detection[C]//European Conference on Computer Vision.Zurich, Switzerland:Springer, 2014:834-849.[DOI:10.1007/978-3-319-10590-1_54]
  • [13] Zhang N, Farrell R, Iandola F, et al.Deformable part descriptors for fine-grained recognition and attribute prediction[C]//Proceedings of 2013 IEEE International Conference on Computer Vision.Sydney, NSW:IEEE, 2013:729-736.[DOI:10.1109/ICCV.2013.96]
  • [14] Zhang H, Xu T, Elhoseiny M, et al.SPDA-CNN:unifying semantic part detection and abstraction for fine-grained recognition[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition.Las Vegas, NV:IEEE, 2016:1143-1152.[DOI:10.1109/CVPR.2016.129]
  • [15] Ge Z Y, McCool C, Sanderson C, et al.Modelling local deep convolutional neural network features to improve fine-grained image classification[C]//Proceedings of 2015 IEEE International Conference on Image Processing.Quebec City:IEEE, 2015:4112-4116.[DOI:10.1109/ICIP.2015.7351579]
  • [16] Zhou F, Lin Y Q.Fine-grained image classification by exploring bipartite-graph labels[C]//Proceedings of 2015 IEEE Conference on Computer Vision and Pattern Recognition.Las Vegas, NV:IEEE, 2016:1124-1133.[DOI:10.1109/CVPR.2016.127]
  • [17] Huang S L, Xu Z, Tao D C, et al.Part-stacked CNN for fine-grained visual categorization[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition.Las Vegas, NV:IEEE, 2015:1173-1182.[DOI:10.1109/CVPR.2016.132]
  • [18] Sermanet P, Eigen D, Zhang X, et al.OverFeat:integrated recognition, localization and detection using convolutional networks[DB].arXiv:1312.6229, 2014. http://www.oalib.com/paper/4042258
  • [19] Zhang X F, Zhou F, Lin Y Q, et al.Embedding label structures for fine-grained feature representation[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition.Las Vegas, NV:IEEE, 2015:1114-1123.[DOI:10.1109/CVPR.2016.126]
  • [20] Cui Y, Zhou F, Lin Y Q, et al.Fine-grained categorization and dataset bootstrapping using deep metric learning with humans in the loop[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition.Las Vegas, NV:IEEE, 2016:1153-1162.[DOI:10.1109/CVPR.2016.130]
  • [21] Uijlings J R R, van de Sande K E A, Gevers T, et al. Selective search for object recognition[J]. International Journal of Computer Vision, 2013, 104(2): 154–171. [DOI:10.1007/s11263-013-0620-5]
  • [22] Ren S Q, He K M, Girshick R, et al. Faster R-CNN:towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137–1149. [DOI:10.1109/TPAMI.2016.2577031]
  • [23] Shelhamer E, Long J, Darrell T. Fully convolutional networks for semantic segmentation[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(4): 640–651. [DOI:10.1109/TPAMI.2016.2572683]
  • [24] Wah C, Branson S, Welinder P, et al.The Caltech-UCSD birds-200-2011 dataset[R].Technical Report CNS-TR-2011-001.California:California Institute of Technology, 2011. https://www.researchgate.net/publication/251734721_The_Caltech-UCSD_Birds200-2011_Dataset
  • [25] Chen T Q, Li M, Li Y T, et al.MXNet:a flexible and efficient machine learning library for heterogeneous distributed systems[DB].arXiv:1512.01274, 2015. http://www.oalib.com/paper/4016083