APP下载

基于迁移学习和卷积神经网络的野生鸟类识别

2022-05-11戚桂美郁志宏武卓悦李艳玲赵锦明

关键词:集上鸟类卷积

戚桂美,郁志宏,武卓悦,李艳玲,赵锦明

(1.内蒙古师范大学 计算机科学技术学院,内蒙古 呼和浩特 010022;2.内蒙古农业大学 机电工程学院,内蒙古 呼和浩特 010010)

我国野生动物种类繁多,分布广泛,对野生动物进行识别是野生保护工作的重要组成部分[1]。传统的野生动物识别方法是利用红外相机、无线遥感技术[2-4]对野生动物的种群分布、物种多样性等进行人工识别,但存在识别效率低、检测周期长的问题。近年来,随着图像处理技术的发展和计算机处理能力的提升,图像处理技术被越来越多地应用于动物的识别,并取得较高的识别率[5-6]。但这些方法通过人工提取特征,工作量大,且在边缘获取过程中很难找到一个合适的阈值将目标图像和背景区分开来。深度学习中的卷积神经网络(CNN,convolutional neural network)在自动特征提取方面具有较强优势,它借助多个卷积核自动提取低层和高层特征,并对图像的扭曲、翻转等同样适用。卷积神经网络已经被应用在人脸识别[7-8],遥感图像识别[9]以及农作物识别[10]等。但卷积神经网络如要获得更好的分类识别准确率,需要大量数据。而针对小样本数据集,学者们提出了基于迁移学习的方法以满足不同应用场景中对识别准确率的要求。

迁移学习是将源域学习到的知识或模式应用到相关目标域中。迁移学习有基于实例、特征、共享参数的迁移三种。其中,基于共享参数的迁移学习在农业图像[11-13]、遥感图像[14-15]、医学图像[16-17]上取得良好成绩,证明迁移学习可以将在源域(大规模数据集,如ImageNet、MINIST 等)上获得的边缘、颜色等特征迁移到目标域(小样本数据集),从而提高模型的识别准确率。

内蒙古自治区各大湖泊沼泽地是野生鸟类的主要聚集地。《内蒙古野生鸟类》编录内蒙古野生鸟类466 种[18],是内蒙古自治区鸟类资源的重要参考资料。本文通过翻拍书籍中鸟类图片,现场拍摄,网络爬虫获得内蒙古地区野生鸟类图像。经专家指导完成数据标注工作,构建小样本的野生鸟类数据集。标注后的数据集分别在简单CNN、全新训练VGG、迁移学习VGG、ResNet 进行训练和测试。试验结果表明,迁移学习VGG 在识别准确率、泛化能力、收敛速度方面均有突出表现。

1 试验数据

1.1 数据采集

试验数据来自以下三种方式:①利用华为手机,分辨率1 600×784 像素,采集境内湖泊草原鸟类图像;②使用手机翻拍《内蒙古野生鸟类》书中图像数据;③运行Python 爬虫代码从网络扒取内蒙古野生鸟类图像。队获得的图像在专家指导下对数据进行标注,共获得有效数据1 264 张,从有效数据中选取数据量最多的四类:大鸨、天鹅、赤麻鸭、金雕,每类数量70~90 作为试验数据,如表1 所示,部分鸟类示例如图1 所示。

图1 部分内蒙古野生鸟类示例图Fig.1 Examples of some wild birds in Inner Mongolia

表1 内蒙古野生鸟类数据集表Tab.1 Data set of wild birds in Inner Mongolia

1.2 图像数据预处理

网络爬取图像和翻拍、拍摄图像分辨率有很大差异,为此,首先通过归一化处理将数据图像归一化为224×224×3,将图像数据按照7∶1 比例划分为训练集和测试集。为增大数据量,对于训练部分图像进行数据增强,主要应用旋转变换(旋转角度90°、180°、270°)、镜像变换和平移变换尽可能多的保留图像的信息。

平移变换是将图像的所有像素坐标分别加上指定的水平、垂直偏移量,像素(x,y)在水平和垂直方向的平移量分别为x0和y0,则经过平移后像素坐标为

旋转变换则是将原始图像绕原点顺时针旋转θ角度,旋转变换后的像素坐标为

2 鸟类识别模型的建立

2.1 卷积神经网络

卷积神经网络应用于图像的分类识别领域,不需要对数据进行复杂的前期预处理和特征提取,只需直接输入原始图像。卷积神经网络由输入层、隐藏层、输出层三部分构成,其中隐藏层又包含卷积层(Conv)、池化层(Pool)和全连接层(Full)。卷积层中的卷积核获得图像的局部特征信息,权值共享。同一个卷积核可提取输入图像的一种特征,多个卷积核可以提取输入图像多个特征。卷积核对图像的特征提取公式为

式中:σ是神经元的激活函数;b是偏移量。

卷积神经网络开始训练时,通过随机初始化赋予各个卷积核和偏移量一个初值,然后运用大量标注数据采用反向传递的方法,调整卷积核和偏移值参数,使网络效果逐步优化。卷积层越深,越能学习到图像的高层语义特征,需要的参数量也大幅增多。池化层一般通过最大池化或平均池化对特征图进行降维。池化有可能丢失图像特征精准绝对位置,但保留了其相对位置信息。全连接层则对卷积层和池化层提取的高维特征再进行降维和非线性变化,进行类别判断。综上所述,卷积神经网络对图像中目标旋转、缩放、扭曲具有较好的鲁棒性。

2.2 基于迁移学习的卷积神经网络模型构建

VGGNet(visual geometry group)[19]是2014 年ILSVRC 比赛分类 项目的第二名,因为其优越的性能,随后被应用于各个领域[20-22],VGG16 网络结构如图2 所示。

图2 VGG16 网络结构图Fig.2 VGG16 structure

VGG16 中有13 个卷积层,5 个最大池化,3 个全连接层。卷积层采用连续的几个3×3 卷积核代替较大卷积核,在保证具有相同感受的前提下,提升了神经网络在图像识别等任务上的效果。将VGG16 直接应用在内蒙古野生鸟类这个小样本数据集上,必然会产生严重的过拟合,导致网络在训练数据集上识别率很高,在测试集上效果很差。考虑到低层卷积核提取的是图像的边缘、轮廓等浅层特征,而这些浅层特征对所有的图像识别任务具有普遍性,本文提出基于迁移学习的卷积神经网络提升野生鸟类识别模型的性能。

迁移学习是运用已有模型对不同但相关领域问题进行求解的一种新的机器学习方法[23],应用迁移学习中基于共享参数的方法进行内蒙古野生鸟类的识别,具体实现过程如图3 所示。利用ImageNet 对VGG16进行预训练,提取图像特征,从而实现对网络参数的初始化。裁剪预训练VGG16 全连接层和输出层,只保留卷积层和池化层。将新构建的全连接层和四分类输出层与上一步的卷积层和池化层进行组合,得到一个改进的迁移学习VGG16 模型。最后使用野生鸟类数据集对新构建VGG 进行训练和测试,利用反向传播对全连接层和输出层进行微调,使模型适应目标域数据的特征。

图3 迁移学习过程示意图Fig.3 Schematic diagram of transfer learning process

3 模型训练和试验结果分析

3.1 试验环境

实验环境的系统为win7 64-bit;处理器为Intel(R)Core(TM)i5-4210U CPU @1.70 GHz 2.40 GHz;IDE 为Pycharm 2018.1.4;库为TensorFlow 1.7.0、Keras 2.2.4、numpy 1.14.6、open-python 4.0.0.21。

3.2 试验设计

为验证设计迁移学习模型的有效性,构建以下四种模型:简单卷积神经网络S-CNN;全新训练的VGG;迁移学习VGG;ResNet50[24]。四种模型卷积层个数分别4,13,13,48。结合模型对数据量的要求,分别进行如下五次试验:未增强数据+S-CNN;未增强数据+全新训练VGG;未增强数据+迁移学习模型;增强数据+迁移学习模型;增强数据+ResNet50。根据试验硬件条件,对模型训练过程中的参数设置如表2 所示。

表2 卷积模型训练参数Tab.2 Training parameters of CNN

3.3 试验结果与分析

五次试验的训练轮次在代码中都设置为80,同时使用“Early Stopping”函数实时监测训练过程中损失函数的值,当损失函数微调30 次后仍没有下降就提前结束训练。以识别准确率作为主要参考指标,以模型收敛快慢、是否过拟合等辅助指标对模型进行评价。当试验中学习率设置为0.01 时,后四次试验的训练和测试准确率都停留在26% 左右,而在四种动物中选取一种的概率为25%。观察此时的损失函数恒为0.005,网络梯度消失,模型参数得不到更新。学习率设置为0.000 1 时,模型在训练一定轮次后可以收敛。表3 是在训练轮次、学习率、数据是否增强等因素影响下得到的训练、测试准确率。

表3 模型在不同因素下训练、测试准确率及识别速度Tab.3 Training and test accuracies under different training modes

3.3.1 卷积层数量对识别准确率影响 只有四层卷积层的S-CNN 模型在80 个轮次(epoch)里训练准确率一直维持在45% 以下,这是由于网络太浅,不能充分学习到深层特征。具有最多卷积层的ResNet50 在20 个轮次时训练准确率高达99%,模型收敛最快。但是表3 中ResNet50 测试准确率相比迁移学习反而要低,原因在于ResNet50 需要参数多,存在过拟合,不适合小样本数据集的图像识别任务。迁移学习的模型在训练50 轮次时,训练准确率达到97% 以上,并且在测试集上也表现优异,准确率达到96.97%。

3.3.2 数据增强对识别准确率影响 对迁移学习模型利用数据增强前和数据增强后的模型分别进行训练,数据增强后每个轮次中的迭代(iteration)次数增多,模型能从一轮迭代中看到数据的“多面”,因此具有更快的收敛速度。而测试集上增强后模型的识别准确率比没有数据增强反而低了2.27%,从而验证数据增强对于迁移学习不具有有效性。

3.3.3 迁移学习对识别准确率的影响 增强前数据在全新训练VGG 和迁移学习VGG 模型上进行试验,迁移后的VGG 模型在训练开始时,相比全新训练VGG 模型具有较低的识别准确率,存在负迁移现象出现。在15 个轮次后,迁移学习模型的训练准确率比全新训练准确率更高。由表2 可知,全新训练VGG16虽然在训练集上准确率为95.7%,但是在测试集上只有78.78%,远低于训练集,证明小样本数据集利用全新VGG16 进行识别存在严重过拟合。

综上所述,卷积层个数越多在分类识别任务中效果越好。但是对于小样本数据集来说,单纯的提高网络深度会带来过拟合问题。进行数据增强虽然可以在一定程度上缓解这一问题,但大部分数据增强都是在空间变换和颜色变换,并不能根本上解决数据不足的问题,并延长了训练时间。数据增强后模型在测试集上变现也欠佳。迁移学习是对预训练模型的微调和再训练,其学习率的设置不能太高,否则会导致网络在驻点周围徘徊,网络得不到优化。

4 结论

本文针对小样本的内蒙古野生鸟类数据集,设计了一种基于迁移学习机制的卷积神经网络。经试验验证,基于迁移学习的卷积神经网络相比卷积层数少的S-CNN 和卷积层数多的ResNet,以及全新训练的VGG 在测试集上识别准确率都要高。迁移学习模型相比参数随机化的全新学习VGG,收敛速度更快,网络泛化能力更强。

未来针对内蒙古野生鸟类数据集的识别,工作重点是:

(1)本文选取的四种野生鸟类在形体特征上均具有较为明显的区别。当鸟类之间相似性非常大时,需要结合注意力机制,对决定鸟类类别的关键区域进行重点特征提取,在此基础上结合CNN 网络进行识别。

(2)本文数据集和ImageNet 数据集具有很大相似性,所以迁移模型只需要对全连接层和输出层进行微调。当目标域与源域数据差别较大时,需要对整个卷积神经网络进行微调。

猜你喜欢

集上鸟类卷积
善于学习的鸟类
基于3D-Winograd的快速卷积算法设计及FPGA实现
Cookie-Cutter集上的Gibbs测度
我的湿地鸟类朋友
卷积神经网络的分析与设计
链完备偏序集上广义向量均衡问题解映射的保序性
分形集上的Ostrowski型不等式和Ostrowski-Grüss型不等式
从滤波器理解卷积
鸟类
基于傅里叶域卷积表示的目标跟踪算法