APP下载

基于改进神经网络算法的蔬菜图像识别

2020-04-13

食品与机械 2020年2期
关键词:识别率图像识别神经元

芦 范

(商丘职业技术学院,河南 商丘 476000)

蔬菜图像识别在食品生产中有着非常重要的地位[1-2],不但有利于大规模化采购,还能按识别结果进行分类,大大减少人力成本。目前,蔬菜图像识别的方法主要有人工识别[3]、神经网络算法(NN)[4]、概率神经网络方法(PNN)[5]、层次聚类神经网络算法(HCNN)[6]、卷积神经网络模型(CNN)[7]、小波分析(WA)[8]、人工鱼群算法(AFS)[9]及支持向量机回归 (SVR) 预测模型[10]。人工识别存在主观性且效率较低;NN适合自适应学习及进行非线性拟合,但网络结构、神经元的初始权值和阈值随机设定使得最终结果易陷入局部极小值;PNN实现简单,同时识别结果较好,但提取蔬菜图像维度的同时对分类器要求较高;HCNN利用层次聚类结构融合神经网络解决蔬菜识别问题,但聚类的层次数无法自适应调整,且无法避免随机性权值矩阵时的死点问题;CNN的仿生结构较优越,但实现较复杂,训练所需时间较久;WA可提取蔬菜图像的纹理特征,但存在参数优化的难题;AFS由于初始参数设定以及步长因子对算法优化效果会产生较大影响,应用受限;SVR可避免维数灾难,但参数较难选择。

试验拟采用改进神经网络(Improved Neural Network,INN)算法,对神经网络的权值、隐函数中心值、核宽度参数值进行优化求解,同时对多余的神经元通过量子遗传算法删除处理,旨在提高算法的运行速度。

1 改进神经网络

1.1 径向基函数神经网络描述

径向基函数神经网络(RBFNN)具有多层结构[11],假设第i个样本点所包含的输入向量为Xi(i=1,2,…,n),n为单元数,第j个样本点的输出向量为Yj(j=1,2,…,m),m为输出层单元个数,第j个径向基函数的中心向量为cj(j=1,2,…,nc),则RBFNN输出为:

(1)

式中:

wi0——第i个节点的阈值;

wik——隐藏层与输出节点间权重;

Yij——第i个节点的输出;

f——核函数;

nc——隐藏层节点数。

RBFNN的核函数为:

(2)

式中:

σi——核宽;

ci——隐藏层函数的中心值。

1.2 基于梯度下降方法的权重参数计算

RBFNN权重参数的训练方法采用梯度下降法[12],其迭代过程为:

a[cji(t-1)-cji(t-2)],

(3)

式中:

cji(t)——第j个隐藏层的第i个输入神经元在第t次迭代的中心分量;

wkj(t)——第k个输出神经元与第j个隐藏层在第t次迭代的权重;

η——学习率;

E——神经元评价函数。

(4)

式中:

olk——第l个输入样本的第k个输出神经元的期望输出值;

ylk——输出值。

1.3 基于增大邻域半径的均值聚类方法求取ci

(1) 网络初始化:随机选取h个训练样本,计算每个样本的密度值Di。

(5)

式中:

r——样本xi的一个邻域半径。

选取最大Dc1所对应的样本xc1作为第一个聚类中心,其聚类域为W1(xc1)。

(6)

式中:

选取最大Dc2所对应的样本xc1作为第二个聚类中心,聚类域为W2(xc2);依次进行密度值更新至Dci≤0.12Dc1。

1.4 核宽度计算

对最近l个相邻聚类中心进行计算,获得核宽度:

(7)

式中:

cj——最近l个相邻点的矩心ci。

2 量子遗传算法删除冗余权重和神经元

2.1 量子遗传算法描述

2.1.1 量子比特 量子比特可表示0,1两种状态或者叠加态[13]:

|φ〉=α|0〉+β|1〉,

(8)

式中:

α——量子比特处于0状态的概率幅;

β——量子比特处于1状态的概率幅;

|0〉、|1〉——自旋向下态、自旋向上态;

α2——量子比特处于0状态的概率;

2.1.2 染色体编码方案 量子遗传中染色体采用量子位的概率幅进行编码:

(9)

式中:

θij——量子比特的相位,取2π×rand,i=1,2,…,n,j=1,2,…,k;

n——染色体数目;

k——量子位的位数;

rand——随机数,取0~1。

由量子遗传编码规则可知,量子位分上、下两行,因此每个个体可包含两个候选解,在种群规模不变的情况下,候选解的个数比遗传算法多1倍,增加了解空间的多样性,提高了寻优成功的概率[14]。

2.2 量子遗传算法操作过程

2.2.1 神经元权重量子编码方法 对每条神经元的每个节点的权重进行0或者1二进制编码,当编码均为1时,神经元的权重有效;当编码为0时,此节点需删除,以便优化神经网络。因此,神经网络是由0和1构成的多条序列染色体,染色体长度为该神经元网络权重数之和[15]。

2.2.2 适应度函数 将隐含层数量设为1,以便精简神经网络,此时适应度函数表达式为:

(10)

式中:

Qi、Qo、Qf——分别为输入层神经元数量、输出层神经元数量、反馈抽头数量;

Ci、Co、Cf——调整系数。

2.2.3 进化规则 根据优胜劣汰的操作规则,通过轮盘赌选择演变,适应性强的个体更容易遗传给下一代,适应性较低的个体不易遗传给下一代。当在突变过程中从隐含层或输入层删除神经元时,神经元的相应权重也将被删除。

3 蔬菜图像识别过程

3.1 蔬菜图像特征提取

3.1.1 形状特征 圆形度:

(11)

式中:

Num——边界的像素点数;

x——蔬菜图像的横坐标;

y——蔬菜图像的纵坐标;

X、Y——蔬菜图像的质心坐标;

S——目标图像的面积。

C越小,蔬菜形状与圆形的差别越大。

外接最小矩形:

(12)

式中:

ω——方向角,(°);

L——外接矩形长(取αmax-αmin),cm;

W——外接矩形宽(取βmax-βmin),cm。

L/W越大越能将较细长的物体与方形或圆形物体区分开。

惯量最小的矩的轴角度为:

(13)

式中:

u1,1、u2,0、u0,2——分别为(1,1)阶、(2,0)阶、(0,2)阶中心矩。

圆形性:

(14)

式中:

L——目标图像的周长,cm;

S——目标图像的面积,cm2。

圆形性与1差异越大,则其与圆的差别越大。

3.1.2 纹理特征 纹理相关性:

(15)

式中:

S1——判定提取图像像素在某个方向上的相似程度;

p(i,j)——灰度共生矩阵中位置(i,j)处的像素灰度值;

N——灰度共生矩阵的阶数;

μx、σx——图像行x处的px(i)的均值、方差;

μy、σy——图像列y处的py(j)的均值、方差。

3.1.3 颜色特征 颜色直方图只包含蔬菜图像中某一颜色值出现的频次,未考虑颜色的空间位置信息。为了避免两幅不同图像存在相同的直方图,将各颜色通道的像素值量化至G个范围内,像素值处于第g段的个数为:ζg+ψg,ζg是颜色为第g段内一致性像素个数,ψg是颜色为第g段内不一致性像素个数,颜色一致性特征矢量H为:

H=[(ζ1+ψ1),(ζ2+ψ2),…,(ζG+ψG)]。

(16)

3.2 训练过程

将量子遗传算法用于RBFNN训练学习Ci、σi、wk,加快收敛速度,优化网络连接结构。设Ii为量子神经元的第i个输入,则输出为:

(17)

式中:

arg(u)——u的相位;

λ——偏置值;

θi——输入角度的相移;

δ——角度控制;

O——输出。

蔬菜图像识别流程为:

① 对蔬菜样本预处理,产生RBFNN的学习与测试样本;

② 通过梯度下降方法获得节点间权重;

③ 通过增大邻域半径的均值聚类方法获得隐函数中心值;

④ 通过相邻聚类中心计算获得核宽度;

⑤ 通过量子遗传算法删除冗余权重和神经元;

⑥ 根据结果值对训练样本进行训练,获得蔬菜图像识别结果,若达到预先设置的识别准确率,则进行步骤⑦,否则进行步骤②;

⑦ 获得最优蔬菜图像识别模型。

4 试验仿真

输入层、输出层神经元数分别为80,40,隐含层神经元最大数目为15个, 设定目标误差10-5,训练得到的输入层至隐含层的权值为138个,阈值为25个,隐含层至输出层的权值为90个,阈值为15个,迭代次数为300,量子遗传编码长度为20,最优个体保持代数为6时算法终止。

蔬菜图像共12种:黄瓜、胡萝卜、大白菜、茄子、韭菜、红辣椒、平菇、苦瓜、丝瓜、洋葱、西红柿、菠菜,每种至少包含50个样本,在每类蔬菜中随机性选取30幅图像进行训练,送入训练程序中,提取相关特征,并以蔬菜名作为文件名称,将特征以文件形式保存,剩余图像作为测试数据,提供给分类器进行识别操作。

4.1 识别结果

算法包括NN、PNN、HCNN、CNN、WA、AFS、SVR、INN,每种算法进行50次试验,在总样本集中进行训练样本,每次随机获取测试样本,并在总样本集中进行测试。

由图1可知,INN算法高于其他算法的平均识别率,INN算法的形状特征平均识别率为97.56%,相比NN、PNN、HCNN、CNN、WA、AFS、SVR分别提高了7.95%,5.65%,3.68%,2.15%,8.37%,9.74%,6.19%;纹理特征平均识别率为95.60%,相比NN、PNN、HCNN、CNN、WA、AFS、SVR分别提高了6.76%,4.80%,3.13%,1.83%,7.11%,8.28%,5.26%;颜色特征平均识别率为93.25%,相比NN、PNN、HCNN、CNN、WA、AFS、SVR分别提高了5.74%,4.08%,2.66%,1.55%,6.05%,7.04%,4.47%。由于采用量子遗传算法优化RBFNN神经网络参数,对冗余神经元权重进行删除,提高了蔬菜图像的识别准确率。

由图2可知,洋葱图像平均识别率最高,菠菜图像平均识别率最低,是因为洋葱图像有其自身特殊性,洋葱图像比较接近圆形,旋转其图像变化不大,菠菜由于自身纹理、颜色等易与其他青菜混淆,不便于识别。

图1 不同算法对蔬菜图像的平均识别率

图2 各种蔬菜图像平均识别率

4.2 处理时间分析

由图3可知,INN训练时间平均为5.83 s、识别时间平均为2.18 s,与其他算法相比,试验算法消耗的时间较少。

图3 各种算法的识别性能比较

5 结论

针对基本神经网络算法在蔬菜图像识别过程中存在识别率低的问题,提出了一种改进神经网络算法。通过优化径向基函数神经网络、量子遗传算法删除冗余权重和神经元,获得最优的神经网络结构,试验仿真对12种蔬菜图像的形状特征、纹理特征、颜色特征平均识别率高于其他算法,说明该方法在蔬菜图像识别中十分有效。试验只针对常见的蔬菜图像进行识别,后续将对外观极度相近的蔬菜图像进行识别。

猜你喜欢

识别率图像识别神经元
浅谈图像识别技术在打击绿通假证逃费中的应用
AI讲座:神经网络的空间对应
基于Resnet-50的猫狗图像识别
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
仿生芯片可再现生物神经元行为
图像识别在物联网上的应用
图像识别在水质检测中的应用
这个神经元负责改变我们的习惯
档案数字化过程中OCR技术的应用分析
科技文档中数学表达式的结构分析与识别