基于CNN的动物识别研究

2019-06-06 04:21李建伟郑永果
软件导刊 2019年3期

李建伟 郑永果

摘 要:为实现AI动物自动化识别并提高识别精度,提出以CNN为基础的动物识别方法。首先对全景图像进行预处理,包括对图像进行随机裁剪、翻转以及调整各种属性等;然后通过加入L2正则化和dropout方法进行优化,对CNN进行自动分类识别。实验结果表明,该方法能有效优化CNN对于小数据集存在的过拟合现象,将动物识别准确率提升8%以上,同时增大数据集将动物识别准确率提升4%左右。

关键词:CNN;动物识别;L2正则化;dropout;增大数据集

DOI:10. 11907/rjdk. 191049

中图分类号:TP301文献标识码:A文章编号:1672-7800(2019)003-0030-04

0 引言

目前地球上已知的动物约有150多万种,但人类对野生珍稀动物的识别力却十分不足,本文通过优化后的CNN提升动物识别准确率。

2012年,Krizhevsky等[1]提出Alex Net识别方法,该方法在大型图像数据库Image Net[2]图像分类竞赛中,以准确度超越第二名11%的巨大优势夺得冠军,使CNN[3]倍受关注。Alex Net之后,不断有新的CNN模型被提出,比如牛津大学的VGG(Visual Geometry Group)[4]、Google的Goog Le Net[5]、微软的Res Net[6]等,这些网络刷新了Alex Net在Image Net上创造的纪录。

NORB[7]、Caltech-101/256[8-9]和CIFAR-10/100[10]等尺寸的数据集可以较好地解决简单识别任务,如果增加标签保留转换[11]则效果更好,如MNIST数字识别任务的最佳错误率(<0.3%)接近人类性能[9]。

曾陈颖[12]提出一种基于BP神经网络的大熊猫(Ailuropoda melanoleuca)识别方法。Okafor[13]等提出一种基于深层学习与视觉词汇袋的野生动物识别方法, 该方法使用灰度、颜色信息和不同的空间汇集方法完成训练过程。Villa等[14]指出:图像包含的复杂背景信息对于识别效果有一定影响, 需要依靠准确的分割算法提高识别准确率。Yu等[15]将动物体从待训练图像中提取出来,使得其对自建数据库的识别准确率提高到82%。

本文从KTH-ANIMALS[16]数据集中选取熊、美洲狮、牛、狼、大象、马等6种动物进行实验,将数据集扩充并通过gamma归一化等方式进行图像预处理。使用包含两个卷积层、两个亚采样层以及3个全连接层的CNN深度学习模型进行训练,其中在两个卷积层中加入L2正则化,并且在后两个全连接层中使用dropout方法对CNN进行优化。最后使用softmax分类器进行分类,最终识别率达到92.67%。

1 数据集扩展与预处理

1.1 数据集扩展

实验在KTH-ANIMALS数据集中下载图像的原始数据,选取6种动物总共602张图像作为数据集,通过图像翻转、填充、平移等方式将图像数据扩充为原始的14倍,达8428张图像。

KTH-ANIMALS数据集中的图像大小各不相同,因此在实验中构建图像数据集时进行gamma归一化,归一化后再将图像缩小为32×32,以数据集中的一张图为例如图1所示。

1.2 数据集数据结构

数据集分为大小为7 828张图像组成的训练集和600张图像组成的测试集。训练集与测试集的数据结构相同,以测试集为例加以说明。

测试集的数据结构分为3部分:①图像数据集,由一个四维数组组成,4个维度大小为600、32、32、3,分别代表共有600张像素大小为32×32的RGB三通道图像;②标记数据集,由一个一维数组组成,数组大小为600,数组中每个元素是0~5中的一个数字,代表6种动物中的某一种动物,主要用于某一类动物的标记;③标记数据集的另一种形式,由一个二维数组组成,两个维度的大小为600、6,分别代表600张图像的标记,标记位为1,其它位为0,如[0,0,1,0,0,0]代表第3种动物。

1.3 数据集预处理

数据集偏少很容易导致模型出现过拟合现象,因此对图像数据集进行预处理,扩充图像广度和深度,对图像的性质、位置进行改变。

图像预处理方式如下:①随机裁剪24×24像素;②随机左右翻转;③随机调整图片色相;④调整图片对比度;⑤调整图片亮度;⑥随机调整图片饱和度;⑦对数据集进行归一化。

将训练集的7種预处理方式相结合基本上能使每次迭代选取的训练集与前一次随机选取的训练集有差别,充分扩充了数据集大小,有效优化了过拟合问题。

2 CNN构建

CNN包含输入层(input layer)、卷积层( convolutional layer)、亚采样层(subsampling layer)、全连接层( fully-connected layer)、输出层(output layer)。

2.1 输入层

输入层是整个CNN的输入部分,对于动物识别,输入层代表一个待训练或待预测的图像矩阵。输入层大小取决于图像长、宽和深度。长和宽代表图像大小,如图2中的32×32;深度代表图像的色彩通道,如彩色图像为RGB三色通道,则彩色图像的深度为3。

2.2 加入L2正则化卷积层

卷积层[17]一般为多个特征提取层,由多个二维特征图组成,每个特征图由许多共享权值的神经元组成。特征图中每个神经元通过卷积核与上一层特征图的局部区域相连接。卷积层对输入层输入的图像矩阵进行卷积操作,提取特征,经过激励函数的作用得到特征图。卷积层特征图公式如式(1)所示。

每个输入图的卷积核可以不一样,卷积核大小通常为3×3或5×5。常用的激励函数有线性函数、Relu函数、sigmod函数、tanh函数,分别如式(2)、式(3)、式(4)、式(5)所示。

在样本数小于参数个数的情况下,样本矩阵很可能是不可逆的(条件数很大),而引入正则化项则会解决这个问题。正则化项的引入平衡了偏差(bias)与方差(variance)、拟合能力与泛化能力、经验风险(平均损失函数)与结构风险(损失函数+正则化项)[18]。

实验使用L2正则化方法,如式(6)所示。

2.3 亚采样层

亚采样层根据图像的局部相关原理,对卷积层输出的特征图在相邻的小区域内进行聚合取样,在减少特征和参数的同时,保留图像的有用信息。常用的采样方法有mean-pooling、max-pooling和Stochastic-pooling。mean- pooling方法是對邻域内特征点求平均值;max-pooling方法是对邻域内特征点取最大;Stochastic-pooling方法介于两者之间,对像素点按照数值大小赋予概率,再按照概率进行亚采样。

2.4 加入dropout方法的全连接层

图像经过多层卷积与亚采样后到达全连接层,全连接层的每一个神经元都与上一层的所有神经元相连,将提取到的特征综合起来。由于其全相连特性,一般全连接层参数也是最多的。

Dropout使用在监督学习中,其核心思想是在训练中随机删掉神经元以及它们之间所属的关系,通常表现在机器视觉、语义识别、文本分类、生物计算等方面[19]。

2.5 输出层

输出层一般为分类器,作用为输出属于各个类别的概率,并且所有类别的概率值之和为1。常用的分类器有sigmod函数和softmax函数。sigmod函数公式见式(4),softmax函数[20]公式见式(7)。

2.6 CNN参数设计

本文采用的网络结构如图3所示。

输入层为32×32的彩色三通道图像。

卷积层C1通过32个5×5的卷积核同时对权重进行L2正则化,得到32个28×28×3的特征图。

亚采样层S1在2×2的区域内对C1层产生的特征图进行最大值亚采样,步长为1,得到32个14×14×3的特征图。

卷积层C2通过32个3×3的卷积核同时对权重进行L2正则化,得到1 024个12×12×3的特征图。

亚采样层S2在2×2的区域内对C1层产生的特征图进行最大值亚采样,步长为1,得到1 024个6×6×3的特征图。

对特征图采取flatten操作,产生一维特征向量。

全连接层F1的大小为256。

全连接层F2的大小为128,然后采用dropout方法对某一层的神经元按照一定概率激活。

全连接层F3的大小为64,然后采用dropout方法对某一层的神经元按照一定概率激活。

正则化项的系数为[1×10-4],两次dropout的概率参数都设为0.5,激励函数使用Relu函数,CNN的学习率为[1×10-4]。

3 实验结果

3.1 示例

在实验训练过程中,输入为7 828张训练图像的数据集,输出为训练好的卷积神经网络;测试过程中,输入为600张测试图像的数据集,输出为卷积神经网络识别的准确率以及正确与错误的图像示例。测试结果如表1所示。

表1中,第一行代表预测类别,第一列代表实际类别,只有当预测类别与实际类别相同时才代表识别成功,数值代表识别为该种类的个数。

3.2 算法比较分析

为验证试验的有效性,分别采用总大小为602和8 428的数据集。在602张图像数据集中,训练集大小为742,测试集为60;在8 428张图像数据集中,训练集大小为7 828,测试集大小为600。实验采用L2正则化和dropout等防过拟合方法对模型进行优化,未优化前与优化后的模型精度存在相当大的差异。

4 结语

深度学习在图像识别领域应用广泛,但是在动物识别领域应用相对较少。本文依据当下最流行的深度学习模型卷积神经网络构建动物识别模型,然后通过扩大数据集大小、L2正则化和dropout函数等方法优化模型,提升模型精度。通过本文模型有效优化了过拟合导致的模型精度降低问题,为动物识别研究提供了一种新思路。

参考文献:

[1] LéCUN Y,BOTTOU L,BENGIO Y,et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE,1998,86(11):2278-2324.

[2] DENG J,DONG W,SOCHER R,et al. Imagenet: a large-scale hierarchical image database[C]. IEEE Conference on Computer Vision and Pattern Recognition,2009:248-255.

[3] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. Imagenet classification with deep convolutional neural networks[C]. Advances in neural information processing systems, 2012: 1097-1105.

[4] SIMONYAN K,ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[EB/OL]. http://xueshu.baidu.com/usercenter/paper/show.

[5] HE K,ZHANG X,REN S, et al. Deep residual learning for image recognition[C]. Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 770-778.

[6] LECUN Y,HUANG F J,BOTTOU L. Learning methods for generic object recognition with invariance to pose and lighting[C]. Computer Vision and Pattern Recognition, 2004.

[7] FEI-FEI L,FERGUS R, PERONA P. Learning generative visual models from few training examples: an incremental bayesian approach tested on 101 object categories[J]. Computer Vision and Image Understanding, 2007, 106(1): 59-70.

[8] GRIFFIN G,HOLUB A,PERONA P. Caltech-256 object category dataset[J]. Technical Report 7694, California Institute of Technology, 2007(3):85-91.

[9] KRIZHEVSKY A,HINTON G. Learning multiple layers of features from tiny images[R].  Technical report, University of Toronto, 2009.

[10] KRIZHEVSKY A,SUTSKEVER I,HINTON G E. Imagenet classification with deep convolutional neural networks[C]. Advances in Neural Information Processing Systems,2012:1097-1105.

[11] 曾陳颖.面向珍稀野生动物保护的图像监测与识别技术研究[D]. 北京:北京林业大学,2015.

[12] OKAFOR E,PAWARA P,KARAABA F,et al. Comparative study between deep learning and bag of visual words for wild-animal recognition[C]. Athens:IEEE Conference on Computational Intelligence,2017.

[13] GOMEZ A,SALAZAR A,VARGAS F. Towards automatic wild animal monitoring: identification of animal species in camera-trap images using very deep convolutional neural networks[J]. Ecological Informatics, 2017(41):871-879.

[14] YU X,WANG J,KAYS R,et al. Automated identification of animal species in camera trap images[J]. EURASIP Journal on Image and Video Processing, 2013(1):52-59.

[15] HEYDAR MABOUDI AFKHAM,ALIREZA TAVAKOLI TAR GHI, JAN-OLUF EKLUNDH,et al. [C]. Tampa:Proceedings of the International Conference on Pattern Recognition,2008.

[16] LECUN Y,BENGIO Y,HINTON G. Deep learning[J]. Nature,2015,521(7553): 436-452.

[17] MOORE R,DENERO J. L1 and L2 regularization for multiclass hinge loss models[C]. Symposium on Machine Learning in Speech and Language Processing,2011:1-5.

[18] SRIVASTAVA N,HINTON G,KRIZHEVSKY A,et al. Dropout: a simple way to prevent neural networks from overfitting[J].  The Journal of Machine Learning Research,2014, 15(1): 1929-1958.

[19] HINTON G E,SALAKHUTDINOV R R. Replicated Softmax:an undirected topic model[C]. Neural Information Processing Systems Conference,2009:1607-1614.

(责任编辑:杜能钢)