CN108629370B - 一种基于深度置信网络的分类识别算法及装置 - Google Patents
一种基于深度置信网络的分类识别算法及装置 Download PDFInfo
- Publication number
- CN108629370B CN108629370B CN201810404786.1A CN201810404786A CN108629370B CN 108629370 B CN108629370 B CN 108629370B CN 201810404786 A CN201810404786 A CN 201810404786A CN 108629370 B CN108629370 B CN 108629370B
- Authority
- CN
- China
- Prior art keywords
- boltzmann machine
- image
- network
- boltzmann
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 47
- 238000000034 method Methods 0.000 claims abstract description 29
- 238000013528 artificial neural network Methods 0.000 claims abstract description 28
- 239000011159 matrix material Substances 0.000 claims abstract description 26
- 238000012549 training Methods 0.000 claims description 76
- 230000008569 process Effects 0.000 claims description 20
- 210000002569 neuron Anatomy 0.000 claims description 13
- 230000000007 visual effect Effects 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims description 4
- 230000001902 propagating effect Effects 0.000 claims description 3
- 230000007547 defect Effects 0.000 abstract description 37
- 238000012545 processing Methods 0.000 abstract description 20
- 239000013598 vector Substances 0.000 abstract description 11
- 239000000284 extract Substances 0.000 abstract description 10
- 238000007781 pre-processing Methods 0.000 abstract description 7
- 230000011218 segmentation Effects 0.000 abstract description 6
- 238000000605 extraction Methods 0.000 abstract description 5
- 238000001514 detection method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 8
- 210000004027 cell Anatomy 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000009466 transformation Effects 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000008451 emotion Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 239000004576 sand Substances 0.000 description 2
- 208000034656 Contusions Diseases 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000003889 chemical engineering Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000005260 corrosion Methods 0.000 description 1
- 230000007797 corrosion Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 210000004205 output neuron Anatomy 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
- 238000006748 scratching Methods 0.000 description 1
- 230000002393 scratching effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/29—Graphical models, e.g. Bayesian networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
本发明提供的一种基于深度置信网络的分类识别算法及装置,其中方法包括:将获取到的输入图像输入深度置信网络,通过深度置信网络中的玻尔兹曼机依次计算获得输入图像的特征矩阵;通过分类器对特征矩阵进行分类获得该输入图像的类别。本发明使用深度置信网络提取图像的特征,对深度置信网络中的玻尔兹曼机依次计算,可以由一开始的接收图像数据逐步计算得到适合图像分类的抽象特征,最后通过分类器得到该图像的类型,实现每个隐藏层提取图像的不同特征,可以替代图像预处理、缺陷分割、提取缺陷特征向量等中间步骤,减少了图像处理的繁琐程度,减少了计算量,解决了传统的神经网络图像处理繁琐、计算量大的技术问题。
Description
技术领域
本发明涉及图像识别技术领域,尤其涉及基于一种深度置信网络的分类识别算法及装置。
背景技术
人工神经网络,简称神经网络。它是一种模仿动物神经网络行为特征,进行信息处理的算法模型。这种模型依靠***的复杂程度,通过调整内部大量节点之间的相互连接关系,从而达到信息处理的目的。深度学习起源于人工神经网络,在本质上是指一类对具有深层结构的神经网络进行有效训练的算法。
数字图像处理是一门专业要求非常高,应用非常广的一门学科,涵盖的技术也非常多,比较基础的主要包含图像变换(如灰度变换、频率变换、空域变换等)、图像复原与重建(各种滤波技术)、图像压缩、形态学图像处理(腐蚀,膨胀,边界提取等)、图像分割、图像识别等技术。
机器视觉又称计算机视觉,是研究使用相机以及计算机分别模仿人眼和大脑,以便用机器代替人做检测和判断,完成目标识别及工业检测等任务的科学。机器视觉技术集合了数字图像处理、人工智能、计算机图形学等多学科的一门应用型技术学科,在自动化生产中应用广泛。近年来,随着神经网络以及深度学习理论的不断完善及其在机器视觉领域的广泛应用,推动了计算机视觉的快速发展。我国机器视觉行业迅速发展,在自动化生产检测领域中占据十分重要的地位。
由于五金件具有易于成型、质量轻、材料易于获得、适合大批量生产等优点,在家电、机械、化工、航空等领域运用十分广泛。五金件的质量主要有尺寸、外观等方面的要求。外观是保证五金件质量的一个重要环节,而实际生产中通常采用人工检测的方式进行。人工检测方式效率低下、自动化程度不高,其准确率往往与检测人员的工作经验和态度有关。目前,五金件产品生产企业越来越注重提高生产自动化水平,对生产效率的要求越来越高,人工检测方式越来越不能满足需求。此外,在生产加工过程中,由于原料物性参数变化、工艺参数不合理及加工机械性能不良等因素,五金制品会出现碰伤、砂眼、刮伤、缺料、变形、麻点等表面缺陷。这些表面缺陷不仅会破坏五金制品的外观,而且会影响其性能导致无法使用。当前五金制品的表面缺陷检测与识别主要以人工方式为主,效率不高、自动化程度低。
机器视觉技术的发展和广泛应用恰恰可以解决上述问题。基于机器视觉技术的检测***与人工检测方式相比主要有以下优点:精度高、重复性、实时性、非接触性、成本低。
传统的缺陷检测方法需要对输入的图像进行繁杂的预处理流程,不同的图像往往需要不同的预处理算法,需要反复试验才能确定采取哪种处理方案。在特征提取的过程中,需要选择合适的、区分度较高的特征。此外,有效地选取区分度较高的特征并对其进行描述往往比较困难,需要非常专业的知识和较好的先验知识。
随着人工神经网络理论的发展和完善,很多算法应用到了图像处理的领域。但是,由于浅层次网络结构隐层数目少,难以刻画网络输入与输出之间的复杂关系,因而需要与传统图像处理算法配合使用,而深层次网络一直以来无法进行地有效训练,从而约束了神经网络的应用。深度学习的出现,解决了深层网络的训练问题,其模型主要深度卷积神经网络,深度自编码器,玻尔兹曼机。深度学习在图像处理领域的应用简化了传统的图像处理流程,减少了图像处理的繁琐程度,减小了计算量,提高了图像识别的准确率。
然而,传统的缺陷识别算法仍然非常依赖缺陷区域分割的准确程度,需要准确确定分割的阈值,要求缺陷与背景有较大的差异。缺陷的准确分割需要采用复杂的图像处理流程,对于不同的零件图像,不同光照的,往往需要选择不同的预处理算法,有时候需要使用多种处理算法,使得计算量很大。
缺陷的准确识别依赖于准确分割出缺陷的特征并对其进行准确地描述。缺陷特征的描述有很多,针对不同的缺陷,往往需要不同的描述,有效地选取区分度较高的特征并对其进行准确的描述往往比较困难,需要人工地选择与反复试验。描述缺陷的特征向量对噪声敏感,同一类缺陷在不同质量的图像上可能提取出来的特征向量差别很大,使得训练出来的网络泛化能力差。
传统的神经网络只能训练较少的层数(小于等于3层),不能描述抽象的图像特征,分类效果不好。
传统神经网络采用有监督训练算法,训练和测试网络需要大量的训练样本,当样本量较小时,训练出来的网络对缺陷的正确识别率低。
发明内容
本发明提供了一种基于深度置信网络的分类识别算法及装置,使用深层网络提取缺陷特征,实现每个隐藏层提取图像的不同特征,随着增加网络层数的增加,提取到的图像特征也更加抽象,最终输出适合图像分类的抽象特征,可以替代图像预处理、缺陷分割、提取缺陷特征向量等中间步骤,减少了图像处理的繁琐程度,减少了计算量,减少人的干预。网络训练完成后,其运行性能不会受到人的情绪、先验知识的多少,判断能力的强弱的影响,降低了人为因素对缺陷识别准确度的影响。并且由于深度置信网络采用无监督学习方式,相比有监督学习算法,可以使用较小的样本量达到所需的训练效果。
本发明提供的一种基于深度置信网络的分类识别算法,包括:
将获取到的输入图像输入深度置信网络,通过深度置信网络中的玻尔兹曼机依次计算获得输入图像的特征矩阵;
通过分类器对特征矩阵进行分类获得该输入图像的类别。
优选地,所述深度置信网络中的第i个玻尔兹曼机的隐藏层作为第i+1个玻尔兹曼机的可视层,i=1、2、…n,n+1为深度置信网络中玻尔兹曼机的数量。
优选地,所述分类器由第n+1个玻尔兹曼机的隐藏层和一层神经网络组成。
优选地,所述将获取到的输入图像输入深度置信网络之前还包括训练过程,所述训练过程为:
输入训练样本图像至深度置信网络,通过深度置信网络中的玻尔兹曼机依次计算获得训练样本图像的特征矩阵,通过分类器对特征矩阵进行分类获得该训练样本图像的分类器输出的图像特征;
判断图像特征与训练样本图像对应的目标图像特征之间的误差值是否在预设的误差允许范围内,若是,则训练结束,若否,则根据误差值反向传播更新每个玻尔兹曼机的权值并重新开始训练过程。
优选地,所述根据误差值反向传播更新每个玻尔兹曼机的权值具体包括:
根据误差值从第n+1个玻尔兹曼机开始到第一个玻尔兹曼机依次进行权值更新,直到所有玻尔兹曼机的权值更新完毕。
优选地,所述训练过程之前还包括预训练过程,所述预训练过程为:
将预训练样本图像作为深度置信网络中的每一个玻尔兹曼机的输入,单独无监督地训练每一个玻尔兹曼机直到所有玻尔兹曼机训练完毕,记录玻尔兹曼机的权值;
将预训练样本图像作为第一个玻尔兹曼机的输入,将第j个玻尔兹曼机的输出作为第j+1个玻尔兹曼机的输入,结合玻尔兹曼机的权值依次训练玻尔兹曼机直到所有玻尔兹曼机训练完毕,j=1、2、…n。
优选地,所述训练玻尔兹曼机的步骤具体包括:
将当前训练的输入值x与玻尔兹曼机可视层隐藏层之间的权值相乘得到第一相乘结果,然后将第一相乘结果与隐藏层的偏置项相加后输入激活函数得到输出值a;
将得到的输出值a作为反向传播的输入与对应的玻尔兹曼机可视层隐藏层之间的权值相乘得到第二相乘结果,然后将第二相乘结果与可视层的偏置项相加得到重构值r;
计算重构值r与输入值x的差作为重构误差,判断重构误差是否在预设的阈值范围内,若是,则训练结束,若否,则更新玻尔兹曼机两层之间的权值及隐藏层和可视层的偏置项并重新开始计算重构值的步骤。
优选地,所述通过深度置信网络中的玻尔兹曼机依次计算获得输入图像的特征矩阵具体包括:
将获取到的输入图像作为深度置信网络中第一个玻尔兹曼机的输入,将第k个玻尔兹曼机的输出作为第k+1个玻尔兹曼机的输入,依次计算玻尔兹曼机直到所有玻尔兹曼机计算完毕,得到最后一个玻尔兹曼机的输出作为输入图像的特征矩阵,k=1、2、…n。
优选地,所述通过分类器对特征矩阵进行分类获得该输入图像的类别具体包括:
将接收到的R、G、B三个通道的特征矩阵输入softmax分类器进行分类识别;
所述softmax分类器的神经网络层包括m个神经元,所述神经元的个数与需要识别的类型个数相同。
本发明提供的一种基于深度置信网络的分类识别装置,包括:处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行上述的基于深度置信网络的分类识别方法。
从以上技术方案可以看出,本发明具有以下优点:
本发明提供的一种基于深度置信网络的分类识别算法,包括:将获取到的输入图像输入深度置信网络,通过深度置信网络中的玻尔兹曼机依次计算获得输入图像的特征矩阵;通过分类器对特征矩阵进行分类获得该输入图像的类别。本发明使用深度置信网络提取图像的特征,对深度置信网络中的玻尔兹曼机依次计算,可以由一开始的接收图像数据逐步计算得到适合图像分类的抽象特征,最后通过分类器得到该图像的类型,实现每个隐藏层提取图像的不同特征,随着增加网络层数的增加,提取到的图像特征也更加抽象,最终输出适合图像分类的抽象特征,可以替代图像预处理、缺陷分割、提取缺陷特征向量等中间步骤,减少了图像处理的繁琐程度,减少了计算量,减少人的干预,解决了传统的神经网络图像处理繁琐、计算量大的技术问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明中用于说明玻尔兹曼机的示意图;
图2为本发明中用于说明受限制玻尔兹曼机的示意图;
图3为本发明中用于说明计算过程的示意图;
图4为本发明中用于说明深层玻尔兹曼机(DBM)的示意图;
图5为本发明中用于说明深度信念网络(DBN)的示意图;
图6为本发明提供的一种基于深度置信网络的分类识别算法的一个实施例的示意图;
图7为本发明提供的一种基于深度置信网络的分类识别算法的另一个实施例的示意图;
图8为本发明提供的一种基于深度置信网络的分类识别算法中用于说明训练玻尔兹曼机的步骤流程图;
图9为本发明提供的一种基于深度置信网络的分类识别算法中用于说明训练玻尔兹曼机的步骤中正向传播计算的示意图;
图10为本发明提供的一种基于深度置信网络的分类识别算法中用于说明训练玻尔兹曼机的步骤中反向传播计算的示意图;
图11为本发明提供的一种基于深度置信网络的分类识别算法中整个算法模型的示意图。
具体实施方式
本发明提供了一种基于深度置信网络的分类识别算法及装置,使用深层网络提取缺陷特征,实现每个隐藏层提取图像的不同特征,随着增加网络层数的增加,提取到的图像特征也更加抽象,最终输出适合图像分类的抽象特征,可以替代图像预处理、缺陷分割、提取缺陷特征向量等中间步骤,减少了图像处理的繁琐程度,减少了计算量,减少人的干预。网络训练完成后,其运行性能不会受到人的情绪、先验知识的多少,判断能力的强弱的影响,降低了人为因素对缺陷识别准确度的影响。并且由于深度置信网络采用无监督学习方式,相比有监督学习算法,可以使用较小的样本量达到所需的训练效果。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
以下先对深度置信网络进行说明:
人工神经元:人工神经元是神经网络的基本元素;
BP神经网络:人工神经网路是由大量的神经元互联而构成的网络。最经典的人工神经网络是三层BP神经网络。BP神经网络每一组输入都对应一个标签,即目标输出值。一组数据输入网络后,对应一组输出,通过计算目标输出值和实际输出值之间的差值,利用输出后的误差来估计输出层的直接前导层的误差,再用这个误差估计更前一层的误差,如此一层一层的反传下去,就获得了所有其他各层的误差估计。根据各层的误差来更新各单元权值。这个过程就是神经网络的训练,这种训练模式以输入数据的标签为向导,以减目标输出与实际输出的误差为目标,称之为有监督训练。
玻尔兹曼机(BM):在马尔可夫网络中,有一种称为玻尔兹曼机的特殊结构,如图1所示。玻尔兹曼机是一种由随机神经元全连接组成的神经网络模型,有两个层即可视层和隐含层。可视层神经元称为可视节点,隐含层神经元称为隐含节点。对于标准的玻尔兹曼机,每个节点都只能去0或1两种状态,其中1表示激活状态,0表示未激活状态。
受限制玻耳兹曼机(RBM):受限玻尔兹曼机是一种特殊类型的玻尔兹曼机。通过禁止玻尔兹曼机的可视层和隐含层的内部节点链接,只允许在可视层和隐含层之间的节点连接,得到的简化模型就是受限玻尔兹曼机。如图2所示。RBM是一种基于能量的模型,其可见变量和隐藏变量的联合配置能量为:
其中θ是RBM的参数{W,a,b},W为可见单元和隐藏单元之间的边的权重,b和a分别为可见单元和隐藏单元的偏置。有了v和h的联合配置的能量之后,我们就可以得到v和h的联合概率:
其中,Z(θ)是归一化因子,也称为配分函。根据式子1,可以将上式写为:
最大化观测数据的似然函数P(v),P(v)可由式子-3求P(v,h)对h的边缘分布得到:
通过最大化P(v)来得到RBM的参数,最大化P(v)等同于最大化:log(P(v))=L(θ):
可以通过随机梯度下降法来最大化L(θ),需要求得L(θ)对W的导数:
简化式6得:
式7中前一部分容易计算,后半部分涉及到v,h的组合,计算量很大,hinton等人提出了一种高效学习方法:
如图3所示,根据数据v来得到h的状态,然后通过h来重构(Reconstruct)可见向量v1,然后再根据v1来生成新的隐藏向量h1。因为RBM的特殊结构(层内无连接,层间有连接),所以在给定v时,各个隐藏单元hj的激活状态之间是相互独立的,反之,在给定h时,各个可见单元的激活状态vi也是相互独立的,亦即:
同理:
重构的可见向量v1和隐藏向量h1就是对P(v,h)的一次抽样,多次抽样得到的样本集合可以看做是对P(v,h)的一种近似,使得式子-7的计算变得可行。
深层玻尔兹曼机(DBM):把玻尔兹曼机的隐藏层增加,就可以得到深层玻尔兹曼机,如图4所示。
深度信念网络(DBN),即本发明提供的深度置信网络,如图5所示:相对于深度玻尔兹曼机,我们在靠近可视层的地方使用贝叶斯信念网络(有向图模型,限制层间节点没有连接),远离可视层的最上面两层使用玻尔兹曼机,就可以得到深度信念网络。
请参阅图6,本发明提供的一种基于深度置信网络的分类识别算法的一个实施例,包括:
101、将获取到的输入图像输入深度置信网络,通过深度置信网络中的玻尔兹曼机依次计算获得输入图像的特征矩阵;
102、通过分类器对特征矩阵进行分类获得该输入图像的类别。
进一步地,深度置信网络中的第i个玻尔兹曼机的隐藏层作为第i+1个玻尔兹曼机的可视层,i=1、2、…n,n+1为深度置信网络中玻尔兹曼机的数量。
进一步地,分类器由第n+1个玻尔兹曼机的隐藏层和一层神经网络组成。
本发明使用深度置信网络提取图像的特征,对深度置信网络中的玻尔兹曼机依次计算,可以由一开始的接收图像数据逐步计算得到适合图像分类的抽象特征,最后通过分类器得到该图像的类型,实现每个隐藏层提取图像的不同特征,随着增加网络层数的增加,提取到的图像特征也更加抽象,最终输出适合图像分类的抽象特征,可以替代图像预处理、缺陷分割、提取缺陷特征向量等中间步骤,减少了图像处理的繁琐程度,减少了计算量,减少人的干预,解决了传统的神经网络图像处理繁琐、计算量大的技术问题。
以上是对本发明提供的一种基于深度置信网络的分类识别算法的一个实施例进行详细的描述,以下将对本发明提供的一种基于深度置信网络的分类识别算法的另一个实施例进行详细的描述。
请参阅图7,本发明提供的一种基于深度置信网络的分类识别算法的另一个实施例,包括:
201、根据获取到的输入图像的图像像素数目构建玻尔兹曼机及深度置信网络,随机初始化网络权值w;
深度置信网络中的第i个玻尔兹曼机的隐藏层作为第i+1个玻尔兹曼机的可视层,i=1、2、…n,n+1为深度置信网络中玻尔兹曼机的数量深度置信网络中的第i个玻尔兹曼机的隐藏层作为第i+1个玻尔兹曼机的可视层,i=1、2、…n,n+1为深度置信网络中玻尔兹曼机的数量。
202、将预训练样本图像作为深度置信网络中的每一个玻尔兹曼机的输入,单独无监督地训练每一个玻尔兹曼机直到所有玻尔兹曼机训练完毕,记录玻尔兹曼机的权值;
203、将预训练样本图像作为第一个玻尔兹曼机的输入,将第j个玻尔兹曼机的输出作为第j+1个玻尔兹曼机的输入,结合玻尔兹曼机的权值依次训练玻尔兹曼机直到所有玻尔兹曼机训练完毕,j=1、2、…n。
204、输入训练样本图像至深度置信网络,通过深度置信网络中的玻尔兹曼机依次计算获得训练样本图像的特征矩阵,通过分类器对特征矩阵进行分类获得该训练样本图像的分类器输出的图像特征;
205、判断图像特征与训练样本图像对应的目标图像特征之间的误差值是否在预设的误差允许范围内,若是,则训练结束,若否,则根据误差值反向传播更新每个玻尔兹曼机的权值并重新开始训练过程。
根据误差值反向传播更新每个玻尔兹曼机的权值具体包括:
根据误差值从第n+1个玻尔兹曼机开始到第一个玻尔兹曼机依次进行权值更新,直到所有玻尔兹曼机的权值更新完毕。
206、将获取到的输入图像作为深度置信网络中第一个玻尔兹曼机的输入,将第k个玻尔兹曼机的输出作为第k+1个玻尔兹曼机的输入,依次计算玻尔兹曼机直到所有玻尔兹曼机计算完毕,得到最后一个玻尔兹曼机的输出作为输入图像的特征矩阵,k=1、2、…n。
207、通过分类器对特征矩阵进行分类获得该输入图像的类别。
具体是,通过深度置信网络计算得到R、G、B三个通道的特征矩阵后,将接收到的R、G、B三个通道的特征矩阵输入softmax分类器进行分类识别。
softmax分类器的神经网络层包括m个神经元,神经元的个数与需要识别的类型个数相同。
请参阅图8,上述的训练玻尔兹曼机的步骤具体包括:
第一步、将当前训练的输入值x与玻尔兹曼机可视层隐藏层之间的权值相乘得到第一相乘结果,然后将第一相乘结果与隐藏层的偏置项相加后输入激活函数得到输出值a;
请参阅图9,将一副图像的每个像素值(第一个玻尔兹曼机的输入)都输入玻尔兹曼机的可视层单元,将其与两层之间的权值相乘并与偏置项相加,输入隐藏层单元,经过激活函数得到输出值a。
第二步、将得到的输出值a作为反向传播的输入与对应的玻尔兹曼机可视层隐藏层之间的权值相乘得到第二相乘结果,然后将第二相乘结果与可视层的偏置项相加得到重构值r;
请参阅图10,将输入阶段得到的输出值a作为反向传播的输入,这些输入值与同样的权值相乘,然后与可见层的偏置值相加就得到重构值,即原始输入的近似值。
第三步、计算重构值r与输入值x的差作为重构误差,判断重构误差是否在预设的阈值范围内,若是,则训练结束,若否,则更新玻尔兹曼机两层之间的权值及隐藏层和可视层的偏置项并重新开始计算重构值的步骤。计算重构值的步骤为第二步,执行完第二步之后,执行第三步,如此循环,直到重构误差在预设的阈值范围内。
有的权值初始化时是随机赋值的,所以重构值与输入值之间差别很大,将重构值r与输入值x的差作为重构误差。根据误差来更新权值w,通过两层之间反复迭代,使误差不断减小。当误差减小到设定的阈值范围内是就停止迭代,训练结束。训练结束时,我们就认为在误差允许范围内,输入图像经过一个矩阵变换就可以得到输出矩阵。通常情况下设置隐藏层单元数目少于输入层单元数目,也就表明一副图像经过玻尔兹曼机得到的输出是其本身的降维表示。由于这个降维表示可以近似重构输入图像,因此也就表示了输入图像的主要特征。需要说明的是,进行权值更新的时候,可以同时进行偏置项更新。偏置项的更新方法可以是:Δb=δ,δ为重构误差。
请参阅图11,以下将对本发明的整个算法模型进行说明:
单个玻尔兹曼机只能提取到图像的边缘轮廓等一般特征,不能准确地将其本类图像的其他样本准确地区分开来。我们通过多个RBM迭代,形成深度置信网络,用以提取抽象的特征。具体网络结构如图11所示:
Ⅰ预训练
首先,分别单独无监督地训练每一层RBM网络(即玻尔兹曼机),训练完毕之后,固定权值。然后将一个玻尔兹曼机的隐藏层作为下一个玻尔兹曼机的可视层,将第j个玻尔兹曼机的输出作为第j+1个玻尔兹曼机(即下一个玻尔兹曼机)的输入,再次进行训练。按照此方法,直到最后一个玻尔兹曼机训练完毕。
II微调参数
Softmax分类器:softmax分类器实际上就是一个两层的BP神经网络,即由最上面的玻尔兹曼机的隐藏层和一层神经网络组成。由于我们本方法要识别的缺陷类别是砂眼、刮伤、缺料三类缺陷,所以最后一层神经网络由三个神经元组成。
缺陷图像经过网络识别后可以得到识别误差,根据误差值反向传播更新每个玻尔兹曼机的权值。这样做原因在于每一层RBM网络只能确保自身层内的权值对该层特征向量映射达到最优,并不能保证整个DBN网络的特征向量映射达到最优,所以反向传播网络还将错误信息自顶向下传播至每一层RBM,微调整个DBN网络,这样使DBN克服了BP网络因随机初始化权值参数而容易陷入局部最优和训练时间长的缺点。
训练结束后可以将新的样本输入网络判断其缺陷类型。由于本方案识别的是缺陷图像是用工业相机采集的彩色图像,具有RGB三个通道的像素。因此,需要依次将R、G、B三个通道的图像输入网络得到特征,然后共同输入softmax分类器进行分类识别。
本发明需要说明如下:
①本发明可以适合多种五金件及其他零件。
②利用玻尔兹曼提取图像特征,不需要其他复杂的图像预处理算法,对噪声敏感度低,不需要复杂预处理程序,泛化能力强。
③通过增加网络深度,使得提取出来的特征更加抽象,识别正确率更高。
④玻尔兹曼机采用逐层无监督预训练算法,网络预训练完成之后微调网络权值,不需要大量的样本,计算量较小。
⑤网络与softmax分类器相结合可以根据需要增加输出类别个数,不需要大范围调整网络。
⑥区别于一般的灰度图像,本算法处理的是24位真彩色图像,由于彩色图像包含信息量大,对零件的描述更加详细,分别在R、G、B三个不同通道上提取特征,然后输入同一个网络,分别得到不同通道的特征。不同的通道共享一个网络,减小了网络规模,也就减小了计算量。三个通道特征组合起来对缺陷图像的描述更加细致,更加准确,分类效果更好。
本发明具备以下优点:
①通常缺陷识别算法要使用复杂的图像处理算法,本算法中使用自深度置信网络,通过增加深度置信网络提取缺陷图像的特征,省去了复杂的图像处理算法。
②样本使用24位真彩色图像,包含信息量大,对零件的描述更加详细。分别在R、G、B三个不同通道上提取特征,对缺陷图像的描述更加细致,更加准确。
③本算法采用的是深度置信网络,通过增加网络深度,提取特征更加抽象,对缺陷特征描述更加详细,识别率更高。
④使用softmax分类器,当缺陷类别增加时,只需要相应增加输出神经元个数就可以表示相应的类别。
⑥网络采用贪心逐层无监督预训练。相比传统的BP神经网络的训练过程,计算量小,需要的样本量也少。
⑦网络训练完成后,可重复使用,识别效率高,快速直接输出结果。
本发明提供的一种基于深度置信网络的分类识别装置,包括:处理器以及存储器:
存储器用于存储程序代码,并将程序代码传输给处理器;
处理器用于根据程序代码中的指令执行上述实施例的基于深度置信网络的分类识别方法。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种基于深度置信网络的分类识别算法,其特征在于,包括:
将获取到的输入图像输入深度置信网络,通过深度置信网络中的玻尔兹曼机依次计算获得输入图像的特征矩阵;
通过分类器对特征矩阵进行分类获得该输入图像的类别;
所述深度置信网络中的第i个玻尔兹曼机的隐藏层作为第i+1个玻尔兹曼机的可视层,i=1、2、…n,n+1为深度置信网络中玻尔兹曼机的数量;
所述玻尔兹曼机的训练步骤具体包括:
将当前训练的输入值x与玻尔兹曼机可视层隐藏层之间的权值相乘得到第一相乘结果,然后将第一相乘结果与隐藏层的偏置项相加后输入激活函数得到输出值a;
将得到的输出值a作为反向传播的输入与对应的玻尔兹曼机可视层隐藏层之间的权值相乘得到第二相乘结果,然后将第二相乘结果与可视层的偏置项相加得到重构值r;
计算重构值r与输入值x的差作为重构误差,判断重构误差是否在预设的阈值范围内,若是,则训练结束,若否,则更新玻尔兹曼机两层之间的权值及隐藏层和可视层的偏置项并重新开始计算重构值的步骤。
2.根据权利要求1所述的一种基于深度置信网络的分类识别算法,其特征在于,所述分类器由第n+1个玻尔兹曼机的隐藏层和一层神经网络组成。
3.根据权利要求1所述的一种基于深度置信网络的分类识别算法,其特征在于,所述将获取到的输入图像输入深度置信网络之前还包括训练过程,所述训练过程为:
输入训练样本图像至深度置信网络,通过深度置信网络中的玻尔兹曼机依次计算获得训练样本图像的特征矩阵,通过分类器对特征矩阵进行分类获得该训练样本图像的分类器输出的图像特征;
判断图像特征与训练样本图像对应的目标图像特征之间的误差值是否在预设的误差允许范围内,若是,则训练结束,若否,则根据误差值反向传播更新每个玻尔兹曼机的权值并重新开始训练过程。
4.根据权利要求3所述的一种基于深度置信网络的分类识别算法,其特征在于,所述根据误差值反向传播更新每个玻尔兹曼机的权值具体包括:
根据误差值从第n+1个玻尔兹曼机开始到第一个玻尔兹曼机依次进行权值更新,直到所有玻尔兹曼机的权值更新完毕。
5.根据权利要求3所述的一种基于深度置信网络的分类识别算法,其特征在于,所述训练过程之前还包括预训练过程,所述预训练过程为:
将预训练样本图像作为深度置信网络中的每一个玻尔兹曼机的输入,单独无监督地训练每一个玻尔兹曼机直到所有玻尔兹曼机训练完毕,记录玻尔兹曼机的权值;
将预训练样本图像作为第一个玻尔兹曼机的输入,将第j个玻尔兹曼机的输出作为第j+1个玻尔兹曼机的输入,结合玻尔兹曼机的权值依次训练玻尔兹曼机直到所有玻尔兹曼机训练完毕,j=1、2、…n。
6.根据权利要求1所述的一种基于深度置信网络的分类识别算法,其特征在于,所述通过深度置信网络中的玻尔兹曼机依次计算获得输入图像的特征矩阵具体包括:
将获取到的输入图像作为深度置信网络中第一个玻尔兹曼机的输入,将第k个玻尔兹曼机的输出作为第k+1个玻尔兹曼机的输入,依次计算玻尔兹曼机直到所有玻尔兹曼机计算完毕,得到最后一个玻尔兹曼机的输出作为输入图像的特征矩阵,k=1、2、…n。
7.根据权利要求2所述的一种基于深度置信网络的分类识别算法,其特征在于,所述通过分类器对特征矩阵进行分类获得该输入图像的类别具体包括:
将接收到的R、G、B三个通道的特征矩阵输入softmax分类器进行分类识别;
所述softmax分类器的神经网络层包括m个神经元,所述神经元的个数与需要识别的类型个数相同。
8.一种基于深度置信网络的分类识别装置,其特征在于,包括:处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-7任一项所述的基于深度置信网络的分类识别算法 。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810404786.1A CN108629370B (zh) | 2018-04-28 | 2018-04-28 | 一种基于深度置信网络的分类识别算法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810404786.1A CN108629370B (zh) | 2018-04-28 | 2018-04-28 | 一种基于深度置信网络的分类识别算法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108629370A CN108629370A (zh) | 2018-10-09 |
CN108629370B true CN108629370B (zh) | 2022-05-10 |
Family
ID=63695066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810404786.1A Expired - Fee Related CN108629370B (zh) | 2018-04-28 | 2018-04-28 | 一种基于深度置信网络的分类识别算法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108629370B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614984A (zh) * | 2018-10-29 | 2019-04-12 | 深圳北斗应用技术研究院有限公司 | 一种同源图像检测方法和*** |
CN109614475A (zh) * | 2018-12-07 | 2019-04-12 | 广东工业大学 | 一种基于深度学习的产品特征确定方法 |
CN110349120A (zh) * | 2019-05-31 | 2019-10-18 | 湖北工业大学 | 太阳能电池片表面缺陷检测方法 |
CN110490218B (zh) * | 2019-06-10 | 2022-11-29 | 内蒙古工业大学 | 一种基于两级dbn的滚动轴承故障自学习方法 |
CN111144280A (zh) * | 2019-12-25 | 2020-05-12 | 苏州奥易克斯汽车电子有限公司 | 一种监控视频树叶遮挡检测方法 |
CN111488968A (zh) * | 2020-03-03 | 2020-08-04 | 国网天津市电力公司电力科学研究院 | 综合能源计量数据特征提取方法及*** |
CN113010442A (zh) * | 2021-04-30 | 2021-06-22 | 中国工商银行股份有限公司 | 基于深度置信网络的用户界面测试结果分类方法及装置 |
CN117274263B (zh) * | 2023-11-22 | 2024-01-26 | 泸州通源电子科技有限公司 | 一种显示器瘢痕缺陷检测方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104757992A (zh) * | 2015-03-16 | 2015-07-08 | 广东工业大学 | 一种基于深度置信网络的心音诊断***及其诊断方法 |
CN106405640A (zh) * | 2016-08-26 | 2017-02-15 | 中国矿业大学(北京) | 基于深度信念神经网络的微震信号到时自动拾取方法 |
CN107145830A (zh) * | 2017-04-07 | 2017-09-08 | 西安电子科技大学 | 基于空间信息增强和深度信念网络的高光谱图像分类方法 |
CN107481231A (zh) * | 2017-08-17 | 2017-12-15 | 广东工业大学 | 一种基于深度卷积神经网络的五金件缺陷分类识别方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104077580A (zh) * | 2014-07-15 | 2014-10-01 | 中国科学院合肥物质科学研究院 | 一种基于深信度网络的害虫图像自动识别方法 |
CN105404865A (zh) * | 2015-11-16 | 2016-03-16 | 杭州电子科技大学 | 基于概率态受限玻尔兹曼机级联的人脸检测方法 |
-
2018
- 2018-04-28 CN CN201810404786.1A patent/CN108629370B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104757992A (zh) * | 2015-03-16 | 2015-07-08 | 广东工业大学 | 一种基于深度置信网络的心音诊断***及其诊断方法 |
CN106405640A (zh) * | 2016-08-26 | 2017-02-15 | 中国矿业大学(北京) | 基于深度信念神经网络的微震信号到时自动拾取方法 |
CN107145830A (zh) * | 2017-04-07 | 2017-09-08 | 西安电子科技大学 | 基于空间信息增强和深度信念网络的高光谱图像分类方法 |
CN107481231A (zh) * | 2017-08-17 | 2017-12-15 | 广东工业大学 | 一种基于深度卷积神经网络的五金件缺陷分类识别方法 |
Non-Patent Citations (2)
Title |
---|
受限玻尔兹曼机的稀疏化特征学习;康丽萍 等;《计算机科学》;20161231;第43卷(第12期);第91-96页 * |
深度置信网络模型及应用研究综述;刘方园 等;《计算机工程与应用》;20180131;第54卷(第1期);第11-18+47页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108629370A (zh) | 2018-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108629370B (zh) | 一种基于深度置信网络的分类识别算法及装置 | |
Zanjani et al. | Stain normalization of histopathology images using generative adversarial networks | |
CN109584248B (zh) | 基于特征融合和稠密连接网络的红外面目标实例分割方法 | |
CN108133188B (zh) | 一种基于运动历史图像与卷积神经网络的行为识别方法 | |
CN108960245B (zh) | 轮胎模具字符的检测与识别方法、装置、设备及存储介质 | |
US20190228268A1 (en) | Method and system for cell image segmentation using multi-stage convolutional neural networks | |
CN109101938B (zh) | 一种基于卷积神经网络的多标签年龄估计方法 | |
CN109741341B (zh) | 一种基于超像素和长短时记忆网络的图像分割方法 | |
CN111652317B (zh) | 基于贝叶斯深度学习的超参数图像分割方法 | |
CN109389171B (zh) | 基于多粒度卷积降噪自动编码器技术的医疗图像分类方法 | |
CN110728694B (zh) | 一种基于持续学习的长时视觉目标跟踪方法 | |
CN109033978B (zh) | 一种基于纠错策略的cnn-svm混合模型手势识别方法 | |
CN111986125A (zh) | 一种用于多目标任务实例分割的方法 | |
CN114692732B (zh) | 一种在线标签更新的方法、***、装置及存储介质 | |
CN110880010A (zh) | 基于卷积神经网络的视觉slam闭环检测算法 | |
CN112418032A (zh) | 一种人体行为识别方法、装置、电子设备及存储介质 | |
CN115393631A (zh) | 基于贝叶斯层图卷积神经网络的高光谱图像分类方法 | |
CN108428234B (zh) | 基于图像分割结果评价的交互式分割性能优化方法 | |
CN114399661A (zh) | 一种实例感知主干网络训练方法 | |
CN113313179A (zh) | 一种基于l2p范数鲁棒最小二乘法的噪声图像分类方法 | |
CN112270404A (zh) | 一种基于ResNet64网络的紧固件产品鼓包缺陷的检测结构及其方法 | |
Tiwari | A pattern classification based approach for blur classification | |
Wang et al. | Strawberry ripeness classification method in facility environment based on red color ratio of fruit rind | |
CN109165586A (zh) | 用于ai芯片的智能图像处理方法 | |
CN109165587A (zh) | 智能图像信息抽取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220510 |
|
CF01 | Termination of patent right due to non-payment of annual fee |