依据特征融合和深度学习的树木叶片分类方法1)
2020-06-26孙丽萍陈泓钢岳琪张瑶张怡卓
孙丽萍 陈泓钢 岳琪 张瑶 张怡卓
(东北林业大学,哈尔滨,150040)
树木的叶、枝、皮、根等都可以作为分类依据[1-3]。由于叶片采集方便、保存时间长、纹理明显、其二维结构易于图像技术处理等优势,所以在树木识别技术中,叶片通常被选为首选器官。在国外,早期研究者对叶片的识别都是将其形状特征等作为依据,如Harish et al.[4]用形态特征和泽尼克矩识别植物叶片。随着计算机视觉的发展,提取的特征拓展到纹理、形状、颜色等[5-8],如Ambarwari et al.[9]提取叶片的叶缘、形状、纹理特征,通过改进的模糊K-NN算法分类在363个观测数据上的准确率为73.48%,该研究发现纹理和形状特征结合会使识别率提升。国内也提出很多叶片特征提取和分类方法,如带预处理项的SIFT算法、叶片脉络边缘特征提取算法等[10-11];分类器也由简易优化为支持向量机等[12]。赵洋[13]使用局部纹理描述子对叶片进行识别,结果显示,二值化算子虽获得了在光照、旋转下的鲁棒性,但是损失了大量的细节信息;马媛等[14]结合能提取叶片轮廓的梯度方向直方图特征识别葡萄叶,解决光照不均匀和背景变化带来的问题,不足之处是该特征缺少旋转不变性,难以检测到姿态不正的叶片。
树木种类不计其数,为了满足不断增长的需求,亟需提高树叶识别率。影响识别率的主要因素有特征提取精度、分类器模型。提高特征精度,需要使提取的特征能够充分描述叶片信息,而且受光照、旋转等因素影响较小;细节信息是相似叶片分类的主要依据。在分类器选择方面,以往的分类器模型结构较为简单,难以构建复杂的分类模型,在处理高维特征向量时,难以达到预想的效果。本文以Pl@ntNet Identify、leafsnap和现场采集的叶片数据库为样本,将改进的局部三值模式(LTP)和梯度方向直方图(HOG)特征采用零均值标准化方法[15]融合,并使用深度信念网络(DBN)作为分类模型进行树木叶片分类识别,旨在为拓展树木种类识别方法、提供识别率提供参考。
1 材料与方法
1.1 数据库与试验环境
试验以树木叶片为研究对象,使用的叶片图像来自于由Pl@ntNet Identify、leafsnap和现场随机采集组成的数据库,总共涉及60种、9 500张叶片图片。每种叶片数量100、150、200,图片分辨率为416×416,训练和测试样本的比例为4∶1。试验使用Windows10系统,MatlabR2018a平台,工具库为深度学习工具箱,处理器为英特尔酷睿i5-7500(intel core i5-7500)。
1.2 图片预处理
树木叶片的预处理包括去除叶柄、图像去噪、叶片区域提取。去除叶柄——防止其对提取的叶片特征值造成干扰,影响识别率;滤波去噪——将原始图像转换为灰度图后,用中值滤波去噪,以增强叶片的信息;轮廓提取——使用大津阈值法提取叶片边缘部分,最后将灰度图中叶片的轮廓从背景中分割出来。
1.3 特征融合方法与对比试验
由于提取的2种特征维数过高,含有太多冗余信息,所以使用主成分分析[16]方法降低数据维度。试验选用贡献率超过98%的特征,既降低了数据的复杂度,又能提高处理效率。关于特征的融合,使用的是零均值标准化方法,该方法可使2种特征对分类具有相同的影响尺度,还能加速权重参数收敛与提高精度。转化函数为:
x*=(x-μ)/σ。
(1)
式中:x*为标准化后的数据集;x为原始数据集;μ为所有样本数据的均值;σ为所有样本数据的标准差。
本方法分别与文献[17]~[20]的方法进行了对比试验,而且进行了人为增加光照的试验,比较每种方法在各种情况下的识别率。
2 结果与分析
2.1 特征提取算法
2.1.1 局部三值模式(LTP)特征
LTP是在局部二值模式(LBP)基础上改进得到,用来描述图像局部纹理特征的算子[21-23];LTP通过自定义阈值,采用三值编码模式对像素点之间的差值进行编码。与非0即1的LBP表示方法相比,在图片背景比较复杂时,LTP比LBP更能精准地描述叶片图像的纹理细节,而且光照变化和噪声干扰等外界因素对其影响更小。原始LTP特征值(ELTP)计算方法为:
(2)
式中:P为邻域像素点个数;S(Li)为邻域各点灰度值被量化后的值,该值选取标准如式(3)。
(3)
式中:t为阈值;Lc为中心像素点灰度;Li为邻域像素点灰度,i=1、2、…、8。LTP编码过程如图2,此处阈值(t)设置为6,中心像素灰度值为67,则阈值区间为[61,73]。
改进之后的特征向量维数由原来的2P增加到3P,随着P的增大,维数呈指数级增长。针对维数过高问题,需要将LTP编码进行分解,变为正负两部分,将正负模式的LTP编码进行加权计算获得特征值(见图3、图4)。
2.1.2 改进的局部三值模式(LTP)特征
使用原始LTP特征进行试验可知,阈值(t)的选取需要大量的试验,很难达到全局最优值,而且整幅图像使用同一阈值(t)必将降低纹理特征的精度。针对该问题,本文对原始的阈值选取方法进行改进,提出一种自适应动态阈值的LTP算法;该算法的原理,依据中心与邻域像素点的离散程度。平均差能综合反映各像素点灰度值的变动程度,平均差越大,则表示变动度越大,反之则表示变动度越小。平均差为:
(4)
所以改进的动态阈值范围为[Lc-kα,Lc+kα],k为引入的1个权重系数,则改进后的LTP计算公式为:
(5)
与原始LTP算法相比,改进后的LTP算法,既保留了中心与邻域像素的相对关系,也降低了对中心像素的依赖。此外,在计算像素相对离散度的基础上,新引入了权重系数(k),使得特征表达更加精确。同时,阈值的大小也随着局部像素的改变而改变,实现了阈值的自适应性,为提升叶片图像分类的性能提供了保障。
2.1.3 梯度方向直方图(HOG)特征
HOG特征通过计算像素点梯度并统计,构成局部区域的梯度方向直方图反映纹理特征;叶片边缘梯度的变化,也可以显示图像中物体的轮廓。该特征的提取步骤为:
①颜色空间归一化。先将灰度图像进行γ(Gamma)校正,对图像进行颜色空间归一化处理;目的是调节图像对比度,降低图像局部阴影和光照变化造成的影响。γ校正公式如下:
L(x,y)=L(x,y)γ。
(6)
式中:L为各像素点的值;γ为系数。
②梯度计算。选择2组3×3的索贝尔(Sobel)卷积核作用在图片上,分别计算水平方向与垂直方向梯度差分近似值,∂f/∂x=sx⊗f、∂f/∂y=sy⊗f,f为叶片图像矩阵。再用式(7)、式(8)计算像素点(x,y)的梯度:
‖f‖=[(∂f/∂x)2+( ∂f/∂y)2]1/2。
(7)
θ=tan-1[(∂f/∂y)/(∂f/∂x)]。
(8)
③构成梯度方向直方图。将整幅图像分割为小的细胞单元并作为基本单位,每个细胞单元内的方向分为9块,即40°为1块。对梯度直方图进行投影统计,梯度值即为投影的权值,每个细胞单元有9维向量(见图5)。
④重叠块直方图归一化。将相邻的细胞单元组合成有重叠的块,1个块内所有细胞单元的特征串联起来便得到该块的HOG特征。由于有互相重叠的现象,细胞单元内特征会以不同的结果多次出现在最终的特征向量中,所以对每个块内的特征进行对比度归一化处理。最后将图像内所有块的特征串联起来得到该图像的HOG特征。
因为HOG是在图像的局部单元上进行计算,所以和其他的特征描述方法相比,HOG对图像的几何、光学形变都能保持很好的不变性,因为这两种形变只会出现在更大的空间领域上。
2.2 深度信念网络(DBN)分类模型的构建
DBN是一个依据人工神经网络的概率生成模型,通过训练各层神经元的连接权重,使神经网络依据最大概率重构训练数据,获得深层次抽象特征。DBN由多个受限玻尔兹曼机(RBM)叠加而成,采用逐层训练的方式,将低层特征映射为更加抽象的高层表示特征或属性类别,求取最接近训练样本的联合概率分布。这能使输出信息更准确的还原输入信息,解决了深层次神经网络的优化问题。
一个RBM含有两层神经元,分别为可见层、隐藏层,两层之间为全连接,层内无连接(见图6)。底层可见单元由数据向量表示,每个神经元代表向量的一维,隐层单元被训练去捕捉在可视层表现出的高阶数据的相关性。
训练RBM是为了寻找各层单元节点间的最优权值,重构训练样本的概率分布。可将网络看作一个能量函数,能量最低时网络也达到了理想状态,所以训练过程就是最小化该函数。定义一个能量函数为:
E(v,h)=-∑iaivi-∑jbjhj-∑i,jviWijhj。
(9)
式中:vi、hj分别为可见单元与隐藏单元的两种状态(激活为1,未激活为0);ai、bj为各层的偏置;Wij为两层间的权重矩阵。由此函数可得可见层与隐含层之间的联合概率分布为:
p(v,h)=eE(v,h)/{∑v∑h-E(v,h)}。
(10)
本文使用对比散度算法逐层对RBM进行训练,首先将样本输入到可视层(v0),计算该样本使隐元激活的概率:
(11)
(12)
计算依据重构显层的隐元激活概率:
(13)
最后根据原始隐层激活概率与重构概率之间的差异,更新权重(W):
W←W+μ(p(h0=1|v0)(v0)T-p(h1=
1|v1)(v1)T)。
(14)
式中:v0、h0表示第一次取样。训练完第一个RBM的权重和偏置后,将其隐元的状态输入到下一个RBM的可见层,继续重复上述过程。
训练使RBM获得初始化参数,组成了初步的网络结构。为了优化模型,在网络的最后一层加入BP网络[24],根据输出数据和给定数据的损失函数,利用反向传播算法微调各结点参数。训练与微调结合,会避免参数陷入局部最优的情况,而且会改善训练时间长的问题。
2.3 模型验证
本文提出的算法流程如图7所示。
网络结构:本实验DBN网络中BP层的激活函数为Softmax函数,损失函数为交叉熵函数。分别为:
Softmax(qi)=ei/∑iei。
(15)
H(p,q)=-∑ipilogpi。
(16)
使用节点分别为563—420—270—130—60的4层网络,学习速率设为0.1。
LTP特征提取:本试验对预处理后的图片进行4×4分块提取,使用邻域像素数为8的圆形算子,整幅图片的特征维数为256×16=4 096(见图8)。
HOG特征提取:本试验将16×16的像素组成1个细胞单元,每2×2个细胞单元组成1个块,每个块内有4×9=36个特征,全图共有25个扫描窗口。所以1张图片的HOG特征有36×25×25=22 500维(见图9)。
本文提出的树木叶片分类模型的试验分为两个过程:训练过程、测试过程。经过多次试验发现,当隐含层都为563个结点时,识别效果最好。本次试验方法与LBP+DBN方法、 HOG+DBN方法、LTP+DBN方法、哈尔(haar)小波+支持向量机(SVM)方法进行对比试验,在30种共6 000张的样本中,本次试验方法识别率达到了95.28%(见表1),均高于对比的方法;而在60种共9 500张图片的数据集里测试,得到了94.87%的识别率。
表1 不同试验方法的识别率对比
本次试验还设置了随机的不规则光照影响,在现场采集的10种共1 500张图片的数据集中,随机对一些图片进行手电筒不规则弱光照处理,对比各方法识别率(见表2)。由表2可见:虽然在光照影响下识别率有待提高,但与以前的方法相比,本试验提出的方法在受光照影响时鲁棒性更高。
表2 光照影响下不同试验方法的识别率
3 结论
为了提高原有方法的叶片识别率,本文提出用改进的LTP特征与HOG特征进行纹理特征融合,使用DBN网络作为分类器进行树木叶片分类识别。在由Pl@ntNet Identify、leafsnap和现场采集的叶片数据库中进行试验,结果显示本文的方法比原有方法识别准确率更高。改进后的LTP算子与HOG算子融合,形成具有对光照等影响更强的鲁棒性、旋转不变性等优点的新特征,可以精准地反映图像信息。结合DBN,并利用网络中大量神经元的非线性关系,发现训练样本中的特征分布,完成对该复杂函数模型的拟合,达到较高图像分类性能。但是,对于强烈光照影响下,识别率不理想、训练过程中样本需求量过大等问题还有待研究。