基于微调CaffeNet的林业图像分类*

2020-11-30 00:36张广群李英杰汪杭军周厚奎
林业科学 2020年10期
关键词:卷积神经网络林业

张广群 李英杰 汪杭军 周厚奎

(1. 浙江农林大学信息工程学院 杭州 311300;2. 浙江农林大学暨阳学院 诸暨 311800)

森林管护是保护森林资源的重要措施,是林业工作的核心任务,加强森林管护对于改善生态环境、促进社会经济可持续发展具有重要的现实意义(李维刚,2017)。护林员是森林管护工作的主要力量,为了实现森林管护工作网络化、智能化管理及量化考核,研发出了许多森林管护系统,包括动态跟踪、定位、管护考核、报警、事件与数据采集、手持终端拍照与录像、现场情况上传等功能(马艳丽,2010;赵燕东等,2016;张罡,2018;胡鸿等,2017)。随着护林员上传图像数据增加,如何快速对图像进行自动分类,从而使林业各管理部门包括林业执法机构和执法队伍能够全面配合、相互协调,增强决策支持并加快应急处理非常重要。

图像分类是人工智能领域的基本研究主题之一,是指利用计算机对图像进行定量分析,将图像或图像中的每个像元或区域划归为若干个类别中的某一种,以代替人的视觉判读。研究者已经开发了大量用于图像分类的算法,常用的包括KNN、SVM、BP神经网络、卷积神经网络等,这些分类算法首先提取图像特征,然后对图像中的目标进行分类。如幸泽峰等(2016)提取遥感图像中的植被指数特征用于识别和提取其中的农田防护林区域;刘子豪等(2013)采用核主成分分析方法提取木材横切面微观图像中的高维空间特征识别木材类别;谢林波(2015)基于SIFT特征和BoW词袋模型用于油茶(Camelliaoleifera)害虫图像分类。

卷积神经网络(convolutional neural networks,CNN)是一种广泛用于图像处理的深度学习算法,在许多领域取得了很好的分类效果(Zhangetal.,2018)。Krizhevsky等(2012)通过加深CNN模型深度,采用 ReLU+dropout 技术,提出了AlexNet并第一次将CNN用于LSVRC-12竞赛中,取得了当时最好的分类结果;Szegedy等(2015)提出了一个超过20层的CNN结构GoogLeNet,提升了计算资源的利用率,参数比AlexNet少1/12,在LSVRC-14中获得了图像分类“指定数据”组第一名;周敏等(2017)设计了一个5层卷积神经网络用于遥感图像飞机目标分类,取得了97.2%的准确率。

本研究提出一种基于卷积神经网络的林业图像分类方法,考虑到采用的林业图像数据集不是很大,不足以训练一个大规模网络,而深度学习算法往往网络结构比较复杂,一般需大量的训练样本和机器资源,训练运行时间很长(周飞燕等,2017),因此,在卷积神经网络模型训练过程中加入迁移学习策略,以防止结果陷入局部最优解,并加快模型参数训练。这些迁移学习策略已在SAR目标识别(李松等,2018)、遥感图像舰船目标检测(黄洁等,2017)、蝴蝶科级标本图像自动识别(周爱明等,2017)等领域成功应用,但在林业图像识别方面应用很少。本研究采用参数迁移策略在Caffe(Jiaetal.,2014)框架下,基于大规模辅助图像数据集ImageNet(Dengetal.,2009)预训练好的CaffeNet模型,利用林业图像数据对模型进行微调训练,在根据林业业务需求建立的4类林业图像数据集上,获得的识别精度达97.5%,证实采用微调技术可在低成本开发条件下得到性能良好的深度卷积神经网络林业图像识别模型。

1 材料与方法

1.1 试验材料

本研究涉及数据包括大规模辅助图像数据集ImageNet和林业图像数据集2部分。ImageNet是美国斯坦福大学李飞飞教授建立的目前世界上图像识别最大的数据库,包含1 400多万幅图像,其中超过百万图像有明确的类别标注和图像中物体位置标注。本研究采用的CaffeNet模型是利用参数迁移策略在Caffe框架下使用ImageNet数据集进行预训练获得的。林业图像数据集是项目组从林业业务角度出发,综合林业管理部门建议,确定的动物死亡、森林火灾、采伐和森林病虫害4类图像。将收集到的4类图像进行预处理,人工截取中间子区域至240×240像素大小。为了保持图像固有比例,图像预处理过程没有缩放。数据集包含355幅图像,其中动物死亡图像95幅、森林火灾图像109幅、采伐图像89幅、森林病虫害图像62幅。数据集图像样本如图1所示(经过缩放),其中每一行为一类图像的样本,从上到下4行样本类别分别是动物死亡、森林火灾、采伐和森林病虫害。

图1 4类林业图像样本Fig.1 Image samples of four forestry categories

1.2 深度学习模型

自LeCun等(2015)提出深度学习以来,深度卷积神经网络(deep convolutional neural networks)发展迅速,并引起广泛重视。深度卷积神经网络通过搭建具有一定深度的卷积神经网络模型,可模仿人脑的分级处理和视觉神经的局部感知功能,对多媒体数据具有很强的识别感知能力。

本研究采用的Caffe框架是Jia等(2014)设计的清晰而高效的深度学习框架,深度卷积神经网络结构CaffeNet如图2所示,其中可以将卷积层和池化层作为特征提取模块,剩下的全连接层和Softmax层构成一个多层分类器。

图2 CaffeNet模型结构Fig.2 Model structure of CaffeNet(Jia et al.,2014)conv:卷积层 Convolutional layer;pool:池化层 Pooling layer;ip:全连接层 Inner product layer;ReLU:激活函数层以及loss层(这里为Softmax):Activation function layer and loss layer (here is Softmax).

1.2.1 卷积层 卷积神经网络是在传统神经网络上增加了卷积操作,卷积操作运算如下:

(1)

常见的激活函数为Sigmoid函数,本研究采用ReLU(rectified linear units)函数,公式如下:

f(x)=max(0,x)。

(2)

ReLU函数的网络输出数据适度稀疏,相比Sigmoid函数,其能使网络损失函数快速收敛,提高网络训练效率。

1.2.2 池化层 池化层也称下采样层或抽样层,是将图像中不同位置的特征进行聚合。经过卷积层的图像具有一种“局部性”,即图像每个像素点周围与该点具有较大的相似度。通过池化层可在保留有用信息的基础上减少数据处理量,加快网络训练速度。经过池化处理的第l层输出可表示为:

(3)

典型的池化技术包括均值池化(mean-pooling)、最大池化(max-pooling)和随机池化(stachastic-pooling)3种。本研究采用最大池化,公式如下:

(4)

1.2.3 Softmax层 Softmax是逻辑回归(logistic regression)的改进,主要用于解决多分类问题。对于给定一个训练输入数据x、输出类别y∈{1,2,…,k}的多分类问题,Softmax回归假设其类别y=i的概率分布如下:

(5)

式中:e表示自然对数;θi表示待拟合的参数;T表示转置。

定义函数hθ(x)如下:

(6)

式中:θ1、θ2、…、θk为所有待拟合的参数。

函数hθ(x)是对给定输入数据x的每个对应类别的概率估计,参数θi可通过最大似然估计确定。当有m个训练数据{(x(i),y(i));i=1,2,…,m}时,其对数形式似然函数为:

(7)

其中,上标l{y(i)=l}定义如下:

(8)

通过最大化函数L,可以确定参数θi的值。

1.3 微调

微调(fine-tuning)可从预训练好的参数集开始训练一个CNN模型,能够解决小数据集应用的问题。使用CaffeNet进行微调时,本研究主要采用随机梯度下降(stochastic gradient descent,SGD)算法。随机梯度下降定义如下(Patel,2016):

(9)

式中:J(θ)为损失函数;θ为参数值;hθ为拟合函数;m为训练集样本个数。

不断修改参数值θ,使J(θ)值尽可能小。对样本损失函数求偏导,可得到θ的更新公式如下:

(10)

式中:α为学习速率参数。

与一般梯度下降相比,随机梯度下降不必遍历所有训练集合,仅使用一个数据就能更新参数,从而可以节省时间,加快算法执行效率。

2 结果与分析

本研究基于64位Windows 7操作系统和AMD FX8350 4.2GHZ/8核CPU/8 GB内存计算机,使用的软件包括Matlab R2012a、Python 2.7,搭建Caffe深度学习框架,进行林业图像的网络模型训练和测试。试验中每类图像随机留取10幅作为测试数据,余下图像作为训练数据。

2.1 网络及相关参数设定

在微调训练中,迁移原CaffeNet模型的低5层参数,包括卷积层、激活函数和池化层参数,即设置conv1~conv5的学习率为0;从fc6层开始调整参数,将fc6、fc7、fc8层的学习率设置为1,同时将fc8层的输出值数量设置为4,以适应数据集的4种类别(表1)。

表1 网络结构及其参数Tab.1 Network structure and its parameters

2.2 试验结果分析

试验在已经过ImageNet数据集预训练好的CaffeNet模型上进行,将林业图像数据集中的图像每类随机留取10幅作为测试数据,剩余所有图像作为训练数据,用于对模型进行微调。图3给出了在CaffeNet模型上的分类正确率和损失函数对迭代步数的曲线变化。

由图3a可知,经大约200步迭代后,微调学习模式下CaffeNet网络模型分类正确率就已达95%;大约1 500步后,模型分类正确率达到峰值97.5%,且模型已收敛。由图3b可知,损失函数曲线下降非常快,在250步左右就下降到0.2,500步后下降到0.1,这表明CaffeNet模型经过训练后可以达到稳定,且稳定后的特征区分能力很强,图像分类正确率也很高。

试验选用的40幅测试图像是从4类图像中各随机留取10幅图像组成,最后分类结果是有1幅图像被误判,因此分类正确率为97.5%。从图3可以发现,训练2 500步时损失函数最小且稳定,所以用2 500步时的模型对所有测试图像进行再测试,找出其中被误分的图像。如图4a所示,这是一幅采伐类图像,被模型误分为动物死亡类,其原因是图中很多图像的细节特征与动物死亡类中的训练图像相似;如图4b、c、d所示,砍倒的横木与石板、树上的树瘤与死亡动物肢体的关节等特征都有一些相似之处。要解决此类被误分问题,唯有增加更多的训练数据,让网络模型学习更多的每个分类具有的细节特征。由于林业图像每个分类的图像变化都非常大,这也正是林业业务图像分类问题复杂的主要原因。

图3 CaffeNet模型分类正确率和损失函数Fig.3 Classification accuracy and loss function of CaffeNet model

图4 测试中误分图像和训练图像样本Fig.4 Misclassification image in testing and training image samples

2.3 特征可视化

深度卷积神经网络通过卷积层和池化层逐层提取图像特征。本研究通过CaffeNet模型中conv1、conv2层以及全连接fc7层输出的特征进行可视化,分析深度卷积神经网络提取林业图像特征的方式以及正确分类的原因。

从林业图像数据集中任选一幅样图(属于森林病虫害图像类),其conv1和conv2层特征(该层相关参数参见表1)可视化效果如图5所示。图5中给出的conv1层卷积核是从ImageNet训练数据集中学习来的,这些卷积核可以理解为图像的基(basis),复杂图像可看成是basis的组合。此外,对于给定的输入图像,从conv1 层的特征图来看(共96幅55×55的特征图,图5中仅显示前36幅),卷积层的作用类似于边缘检测,因此卷积层的本质就是特征提取层。conv2层的特征图是27×27(共256幅,图5中仅显示前64幅),conv2层工作原理与conv1层类似,只不过 conv1层的输入是1幅 RGB 图像,而conv2 层的输入是conv1层输出的特征图集,conv2 层输出的每个特征图是上一层提取到特征图的不同组合,获得的特征也更加抽象。通过不断卷积和池化交替操作,就可以提取更高层级、分类能力更强的图像特征。

图5 conv1和conv2层特征可视化Fig.5 Feature visualization of layer conv1 and conv2

全连接fc7层输出是一个4 096×1维的特征向量,该特征向量唯一标识了输入图像的特征。为了考察fc7层获得的特征情况及其分类能力,从林业图像数据集中选取3幅不同的图像样本,其中2幅来自森林火灾类、1幅来自采伐类。3幅图像全连接fc7层的输出如图6所示。

图6 全连接fc7层输出Fig.6 Output histogram of full-connection layer:fc7

从图像特征来说,往往同一种类的图像比较相似,不同种类的图像具有较大差异性,这样才能作为分类的依据。然而,从图6可以看出,3幅图像的fc7层输出直方图差异较大,同一类的图6A与图6B并没有十分相似的表现。与数字字母、指纹、人脸等图像的分类任务相比,林业图像变化非常大,因此传统分类方法要取得很好的识别效果非常困难。对于fc7层的输入,虽然直观上看不出什么规律,但是采用不同方法计算3幅图像两两之间的距离(表2)不难发现,在给定Euclid距离、Hausdorff距离、Manhattan距离和Correlation距离4种距离函数下,作为同一个类的图6A、B 2幅图像之间的距离均较小,而不同类别的图像,如图6A、C和图6B、C其距离较大。这表明,经过CaffeNet网络提取的 fc7层特征对于类内、类间均具有很好的区分度,对于后续识别分类具有关键作用。

表2 图像间不同的距离Tab.2 Different distances between images

3 讨论

张广群等(2017)提出一种基于稠密尺度不变特征转换(Dense SIFT)特征的词袋(BoW)模型方法对林业业务图像进行分类,分类正确率为86.7%,本研究微调卷积神经网络方法的分类正确率为97.5%,比Dense SIFT+BoW方法提升10.8%;而且,Dense SIFT+BoW方法试验采用的是森林火灾、非法采伐和森林病虫害3 类林业图像,比本研究数据集少1种动物死亡分类,这充分说明深度卷积神经网络方法相比传统特征提取方法在林业图像分类应用中具有很大优势。对于图像分类问题,传统方法一般首先在图像上应用特征提取方法,然后将提取到的特征输入到分类器中进行分类,往往要针对不同的分类问题手工设计特征提取方法或者需要提取的特征,且提取的特征对系统性能具有直接影响。因此,传统方法都是针对某个特定的分类任务,数据规模不大,并要对解决的问题领域进行深入研究,所得到方法的泛化能力较差。然而,深度卷积神经网络含有多个隐藏层,具有强大的特征学习能力,通过训练模型所提取的特征对原始数据具有更抽象和更本质的表述,从而有利于解决分类问题;通过使用无监督学习算法实现“逐层初始化”,对输入数据信息进行分级表达,从而可以有效降低深度神经网络的训练难度。相比于传统方法,正是因为深度卷积神经网络模型具有更强的特征学习和表达能力,因此其在图像分类领域的众多应用中已取得一系列突破性进展。

护林员野外收集图像包括的范围和种类很多,如林业有害生物监测(松材线虫病、食叶害虫等)、森林消防监测(森林火情、违章用火等)、野生动植物保护监测(野生动物异常死亡、非法猎捕、收购、运输、贩卖野生动物、乱采乱挖珍稀野生植物、野生动物有受伤、野生动物肇事、发现珍稀野生动物等)以及森林资源监测(人畜破坏森林资源、非法毁林开垦和侵占林地、乱砍滥伐林木)等,因此要发挥护林员的作用,真正提升森林管护水平,如何在林业图像分类进一步细分的情况下,建立带标签的分类数据集,研究分类效果更好的深度学习方法是今后的发展方向。要使分类方法能够适应实际应用需求,还需要考虑上传图像大小不一致的情况,且通过更深、性能更好的神经网络模型,或采用一些训练技巧提高训练速度,从而进一步提高林业图像分类正确率。

4 结论

1) CaffeNet模型具有强大的特征提取和分类能力,可提取林业图像中高层次、具有代表性的特征。

2) 卷积神经网络模型对训练样本具有很大依赖性,对于小样本应用领域网络参数训练问题,迁移学习提供了可行途径,将预训练好的网络模型通过小样本训练数据经过微调即可得到效果非常不错的分类器。

3) 林业图像复杂多变,同一类图像的类内相似性较弱,利用传统的“特征提取+分类建模”方法进行分类,其分类特征选取难度较大,往往很难取得理想的分类效果;然而,采用深度卷积神经网络方法,在当前硬件价格越来越低、计算能力越来越强的趋势下,更能适应林业图像特性以及分类应用的要求,是今后研究的重要发展方向。

猜你喜欢
卷积神经网络林业
欢迎订阅《林业科学研究》
基于3D-Winograd的快速卷积算法设计及FPGA实现
《林业科学》征稿简则
《林业科技》征稿简则
卷积神经网络的分析与设计
神经网络抑制无线通信干扰探究
从滤波器理解卷积
land produces
基于神经网络的中小学生情感分析
基于傅里叶域卷积表示的目标跟踪算法