杨旺功,淮永建*,张福泉
(1.北京林业大学信息学院 北京 海淀区 100083;2.北京理工大学计算机学院 北京 海淀区 100081)
随着国内经济的快速发展,社会消费能力和档次也不断提升。在我国,葡萄酒逐渐成为了一种高价值的天然饮品,具有抗氧化功效。我国的葡萄酒酿造产业已经具有较大的经济产值和社会效益[1]。如何获得优质葡萄酒的相关因素之一是准确判定葡萄的收获时间[2]。
传统上,酚类成熟度估算由专家(酿酒师)通过样品的感官检查或通过实验室化学分析来完成。但是这种方法对人类专家的经验和专业素养要求较高,导致工作效率较低,且准确率无法得到保证[3-4]。最近,研究人员提出通过机器视觉技术来识别种子品种和品质的方法[5-6]。文献[7]将计算机图像识别技术在小麦种子精选中进行了应用。文献[8]提出了基于脉冲耦合神经网络的粘连玉米种子图像分割方法,运用直方图均衡化和布特沃斯低通滤波器进行频域增强预处理,结合脉冲耦合神经网络实现高精确度的种子图像分割。传统图像目标识别任务中,目标特征的提取是十分重要的过程,其中比较常用的方法为主成分分析(principal component analysis,PCA)和小波分析。文献[9]提出了一种基于PCA及竞争性神经网络的番茄种子品种识别方法,能够以90.5%的准确率完成5个品种的分类识别。而随着小波分析理论的发展,Harr小波、样条小波、Gabor小波等也得到广泛应用,基于Gabor小波提取特征的方法具有明显的频率特性和方向选择性,能够捕捉边缘敏感局部结构信息,并且光照变化和对比度变化具有较好的鲁棒性。文献[10]提出了基于Gabor小波和交叉协方差降维的人脸识别方法。文献[11]提出了基于Gabor特征与卷积神经网络的人体轮廓提取方法。从文献[10-11]的研究结果可以看出,Gabor小波在图像特征提取方面具有一定的优势,更有利于提升分类的准确率。现阶段,作为较先进的机器学习方法,深度学习模型在图像处理领域表现出色,具有强大的特征提取能力。因此,文献[12]提出了一种结合小波变换与深度网络的图像超分辨率方法。上述方法中,文献[9]的基于PCA特征提取的种子识别分类方法的准确率仍不够理想,存在一定的提升空间。文献[11]的传统Gabor小波变换方法,在选取的尺度和方向过多时,计算复杂度过大。因此,借鉴文献[12]的研究思路,本文用Gabor小波特征提取替换传统的小波变换,并结合深度神经网络,来实现具体的葡萄种子分类任务。从文献[10-11]的研究结果可以看出,Gabor小波在图像特征提取方面具有一定的优势,更有利于提升分类的准确率。现阶段,作为较先进的机器学习方法,深度学习模型在图像处理领域表现出十分出色的性能,具有强大的特征提取能力。因此,文献[12]提出了一种结合小波变换与深度网络的图像超分辨率方法。
葡萄种子图像的预处理是识别过程中必不可缺的操作,种子图像具有各种问题,如阴影、高光和种子像素与阴影之间的低对比度。因此,需要消除光照、背景等与种子目标识别无关的因素,以便为后续特征提取提供最佳条件,从而提高特征抽取、识别的可靠性。
首先对输入目标图像进行尺度归一化,保证所有样本大小相同。计算图像的协方差矩阵M为:
式中,μij表示i+j阶联合中心矩。利用M的特征向量旋转坐标系,设M的特征值为 λ1和 λ2,特征向量的计算方式为[13]:
那么,e1=[e1x,e1y]T和e2=[e2x,e2y]T分别为 λ1和λ2对应的特征向量,可以得出旋转矩阵[14]为:
设特征向量彼此正交,即e1xe1y+e2xe2y=0,从而确保M为实对称矩阵,则旋转变换后的图像坐标为:
最终得到一个与坐标无关的标准化图像坐标为:
对尺度归一化的图像进行直方图均衡化来实现图像的灰度归一化,从而增强图像之间的对比度,加大图像的动态范围,改善图像的质量。
假设数字图像的像素总和为N,灰度级总数为L,nk是在图像中出现第k级灰度的次数,图像中灰度级为rk的像素出现的概率为[15]:
变换操作可表示为[16]:
式中,s表示被变换图像的单个灰度;r表示被变换后图像的单个灰度。
在取值区间内EN(r)是单调增加的,因此均衡化的变换函数为:
均衡化前后葡萄种的子图像如图1所示。
均衡化前后葡萄种子的直方图如图2所示。
在直方图均衡化之后,采用背景差分法[17]将当前兴趣目标与背景图像分割,设背景模型为Bx,y:
式中,Ix,y(k)表示第k帧目标图像;n为确定的帧数,分割后目标区域Q为:
式中,fk(x,y)表示第k帧输入图像。式中背景表示小于阀值T时分割后的区域划分为背景区域并设置为0。一个葡萄种子的目标分割示例如图3所示,图3b为分割产生的二值图像。从图中可以看出,采用背景差分法可以有效的将直方图均衡化之后的葡萄种子兴趣目标,从输入图片背景中较为完整的分割出来,以便为后续的Gabor小波特征提取做准备。
图像中局部不规则、宏观有规律的特性称为纹理,Gabor小波特征提取的目标就是纹理特性分析。设图像的二维频谱函数为S(r,θ),r表示频率,θ表示方向,两者的一维函数定义为:
式中,R表示以原点为中心的圆的半径。现阶段广泛采用的方法是通过多通道滤波器提取图像局部的纹理频谱能量特征信息。
二维Gabor小波是较为典型的图像多分辨率分析方法,其函数能够同时在空域和频域中取得最优分辨率。二维Gabor小波核函数的定义为[18]:
式中,ku,v表示滤波器中心频率;u表示方向因子;σ表示与小波的频率带宽有关的常数;v表示尺度因子;z为给定位置(x,y)的图形坐标。可以看出式(14)表示参数u和v变化的函数,σ为Gabor滤波器的带宽,决定了高斯窗宽与波长之比:
式中,φ为倍频程表示的半峰带宽; σ一般设置为2π。
Gabor小波滤波器可以分为实部和虚部[19]:
其中实部为:
虚部为:
幅值为:
滤波器的中心频率ku,v控制着振荡部分的波长、方向以及高斯窗口的宽度:
式中,kmax表示Gabor滤波器最大中心频率,一般取值为 π /2;fv表示频域内该滤波器的空间因子;θu表示Gabor滤波器的方向选择性。
二维Gabor小波实质是通过选择不同的kv、θu就会得到不同的Gabor滤波器,也就是通过尺度伸缩和旋转产生多个滤波器组。但当选取的尺度和方向过多时,会造成大量的冗余,导致复杂度急剧增加。因此在采样区间 θu∈[0,π]内,选取了5个尺度和8个方向的Gabor滤波器组,可表示为:
二维Gabor滤波器组的实部和虚部如图4所示。
参数kv和 θu的取值为:
Gabor滤波器组中的每一个Gabor滤波器可以从不同尺度和方向上,反映不同频率范围内的局部特征。
图像经过Gabor小波变换后,同一尺度不同方向上的8张图含有较多冗余信息,导致特征维数成倍数的增加,产生了十分严重的‘数据灾难’,在增加计算复杂度的同时也在一定程度上影响了实际应用最终的识别率。因此,对同一尺度不同方向的Gabor小波特征幅值进行编码融合,设图像的原始Gabor特征表示为 {Gu,v(z)|u=0,1,···,7,v=0,1,···,4},融合编码后的图像表示为 {Rv(z)|v=0,1,···,4}。首先求得同一个尺度8个方向的Gabor特征幅值的均值为:
然后,利用 av gv为阈值对每个Gabor特征幅值进行二值化变换,并给每位二进制码s(x)赋予一个权值2p,得到表示融合特征的十进制编码值Rv(z)∈[0,255]。
最后,采用类似旋转不变LBP的方法进行映射,结合分块直方图统计,在不减少图像纹理特征信息以便进行多尺度分析的前提下,有效地降低了特征维数。
本文构建的深度卷积神经网络结构主要是由输入层、卷积层、激活函数、池化层、全连接层和输出层组成,如图5所示。
设输入的葡萄种子图像I(i,j),以每个像素点(i,j)作为中心,提取大小为Npatch×Npatch的图像块,深度卷积神经网络中可训练的参数表示为网络中的原始输入为矩阵X,那么网络的公式表示为[20]:
式中,k表示该层网络所处的层数;表示第k卷积层包含的可训练的权值矩阵;f表示激励函数;pool表示池化函数表示第k卷积层包含的可训练的偏差。
卷积网络的训练采用的是BP算法[21],输出层L的权值WL的偏导数为:
式中,e(y)为类别标签;f′(·)为激励函数的导数。
输出层偏置的偏导数:
Gabor小波与深度神经网络结合的葡萄种子分类识别的具体实验步骤,如图6所示。
本文采用了一组由专家(酿酒师)挑选出来的5 000个种子样本进行了实验测试,该组种子包括两个类别(未成熟和成熟)的样本。实验硬件环境为:Windows 7 操作系统,Intel(R) Core(TM) i5 CPU,4 GB RAM,500 G 硬 盘。实验软 件 环境为:MATLAB R2016a。葡萄种子图像的大小为480×560。输入图形块的大小Npatch×Npatch设置为5×5,卷积层的节点的数目n设置为10。如图5所示,网络的层数k为5。
本文提出Gabor特征融合+深度神经网络的葡萄种子的分类识别结果,如图7所示。图7a和图7b为分类为不成熟结果的两个葡萄种子,图7c和图7d是分类为成熟结果的两个葡萄种子,可以看出,提出的方法能够完成自动化的葡萄种子成熟度分类任务,验证了其可行性和有效性。
首先对图像样本预处理过程的可靠性进行分析,种子图像尺度、灰度归一化和目标分割处理前后的实验结果如表1所示。从表1可以看出,无归一化且无目标分割预处理时,种子的识别率最低,在归一化后识别率或者归一化后的识别率有所提升,而同时完成归一化且分割的识别率最高,说明采用图像预处理技术是有效的,有利于提升最终的甄别准确率。
表1 有无图像预处理的识别实验结果对比
针对网络结构中卷积层节点个数和输入图像块大小不同的情况,对图像分类的精度结果进行了分析。其中,实验中所有网络的层数k均为5,深度网络结构如图5所示。当输入图像块大小Npatch×Npatch=7×7不变,随着训练次数的增加,不同卷积层的节点个数n对应的识别率曲线如图8所示。可以看出,随着卷积层中节点数目的增加,种子的最终分类精度也不断提升。但是,当卷积层节点数目超过20后,种子识别率不再提升并出现波动,同时卷积层节点数目的增加会显著提高网络训练中的计算复杂度,因此最佳的卷积层节点的个数n为20。
当卷积层节点的个数n=10不变,随着训练次数的增加,不同输入图像块大小Npatch对应的识别率曲线如图9所示。同样可以看出,当输入图像块大小Npatch×Npatch=9×9时种子分类识别率曲线达到峰值后开始下降,最佳大小为9。这是因为随着输入图像块尺寸的增加,图像块中包含的图像信息越多就越有利于分析更加细节的纹理特征,但当图像块数量太多时,不完美背景分割导致的阴影和亮度干扰也会增多,从而混淆特征提取进而影响最终的分类判决。此外,综合分析图8和图9可以看出,识别率随着网络训练次数的增加而不断增大,但在网络训练次数达到120时,分类识别率不再随着其增加而明显提高,因此,综合以上分析可知,葡萄种子分类识别测试建议的卷积层节点的个数n为20,输入图像块大小Npatch×Npatch为9×9,网络训练次数为120。
为进一步验证提出Gabor特征融合+深度神经网络分类算法的性能,将文献[9]的PCA+竞争性神经网络、文献[10]的PCA+交叉协方差降维、文献[22]的LBP+SVM、文献[23]的Gabor+PCA+SVM和文献[11]的Gabor+卷积神经网络进行了对比,识别率取10次实验的平均值,结果如图10所示。本文Gabor特征融合+深度神经网络算法的实验参数与4.2节分析结果一致,即最佳性能参数。不同算法性能比较结果如表2所示。
从表2可以看出,本文Gabor特征融合+深度神经网络算法明显降低了特征维数,且具有最高的分类识别率,达到83.29%。此外,相比于其他基于Gabor小波特征提取的方法,本文算法还具备较好的时间性能。
表2 不同算法性能比较
本文提出了一种基于Gabor小波特征提取及深度神经网络的图像分类算法,有效解决了实现高效的、准确的葡萄种子成熟度分类识别问题。该方法包括三个阶段:分割、特征提取和分类。首先利用背景差分法进行图像的分割预处理;然后通过改进的Gabor小波特征提取;最后将深度卷积神经网络和提取到的纹理特征信息相结合进行分类。葡萄种子图像成熟度分类实验结果表明,相比于其他类似分类算法,本文提出的算法具有更高的分类精度,且有效降低了特征维数,减少了Gabor小波特征提取时间。但是,本文算法仍旧存在模型的训练时间偏长且Gabor小波特征提取时间不够理想的问题,因此后续将考虑利用GPU来实现深度学习模型训练,并对Gabor特征编码做进一步改进。