CN112419278B - 一种基于深度学习的实木地板分类方法 - Google Patents
一种基于深度学习的实木地板分类方法 Download PDFInfo
- Publication number
- CN112419278B CN112419278B CN202011342020.9A CN202011342020A CN112419278B CN 112419278 B CN112419278 B CN 112419278B CN 202011342020 A CN202011342020 A CN 202011342020A CN 112419278 B CN112419278 B CN 112419278B
- Authority
- CN
- China
- Prior art keywords
- image
- training
- pixel
- floor
- model
- 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.)
- Active
Links
- 239000002023 wood Substances 0.000 title claims abstract description 42
- 238000000034 method Methods 0.000 title claims abstract description 36
- 239000007787 solid Substances 0.000 title claims abstract description 30
- 238000013135 deep learning Methods 0.000 title claims abstract description 13
- 238000012549 training Methods 0.000 claims abstract description 62
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 35
- 238000012360 testing method Methods 0.000 claims abstract description 17
- 238000007781 pre-processing Methods 0.000 claims abstract description 15
- 238000012795 verification Methods 0.000 claims abstract description 13
- 238000012937 correction Methods 0.000 claims abstract description 11
- 238000001914 filtration Methods 0.000 claims abstract description 11
- 230000006870 function Effects 0.000 claims description 21
- 230000011218 segmentation Effects 0.000 claims description 8
- 238000000605 extraction Methods 0.000 claims description 7
- 238000000926 separation method Methods 0.000 claims description 7
- 238000013210 evaluation model Methods 0.000 claims description 5
- 238000013145 classification model Methods 0.000 claims description 4
- 238000005286 illumination Methods 0.000 claims description 4
- 230000003044 adaptive effect Effects 0.000 claims description 3
- 238000011033 desalting Methods 0.000 claims description 3
- 238000013526 transfer learning Methods 0.000 claims description 3
- 230000000007 visual effect Effects 0.000 abstract description 7
- 230000002708 enhancing effect Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 10
- 230000004913 activation Effects 0.000 description 7
- 238000011176 pooling Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000001965 increasing effect Effects 0.000 description 4
- 238000011068 loading method Methods 0.000 description 4
- 238000010200 validation analysis Methods 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- SLXKOJJOQWFEFD-UHFFFAOYSA-N 6-aminohexanoic acid Chemical compound NCCCCCC(O)=O SLXKOJJOQWFEFD-UHFFFAOYSA-N 0.000 description 1
- 241000566145 Otus Species 0.000 description 1
- 208000025174 PANDAS Diseases 0.000 description 1
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 description 1
- 240000000220 Panda oleosa Species 0.000 description 1
- 235000016496 Panda oleosa Nutrition 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 208000003464 asthenopia Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000010612 desalination reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000011049 filling Methods 0.000 description 1
- 238000009408 flooring Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000012994 industrial processing Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000003313 weakening effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2431—Multiple classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/40—Analysis of texture
- G06T7/41—Analysis of texture based on statistical description of texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20024—Filtering details
- G06T2207/20032—Median filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30161—Wood; Lumber
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了一种基于深度学习的实木地板分类方法,其中包括使用工业相机的视觉传感器进行地板样本采集,并且构建模型训练所需的地板样本数据集。之后使用了Gama矫正、大津算法、中值滤波、局部二值模式以及使用图像像素加权平均值等算法对采集图像进行图像预处理操作,增强了样本的特征,也为后续的地改进版本VGG16网络减少了大量的运算参数,通过算法将处理好的数据集进行划分为训练集、验证集和测试集。构建好VGG16网络模型、调整参数后进行模型训练,最后将训练时精确度最高、损失值最低所对应的权重参数保存,为后续的未知地板样本预测做准备。提出此方法,进一步提高了木质地板分类的效率与准确性的效果。
Description
技术领域
本发明涉及木质地板分类,具体涉及一种基于深度学习的实木地板分类方法。
背景技术
随着国家经济的日益发展,越来越多人们在家装选择了木质地板,导致我国木质加工行业的实木地板数量的需求日益增长,在对原木进行加工制作后生产出来的实木地板进行快速准确的分类打包,成为了一个迫切需要解决的问题。在当下工业中,较多的实木地板分类方法仍然采用人工视觉进行纹理及颜色判断,然后进行手动分类,此方法较为落后,且效率较低,存在的不足之处主要有以下四种:(1)人工进行分类时,技工工作时间较长时,容易产生视觉疲劳,从而导致分类错误率增长;(2)对于大的纹理较为相似,但是在细小纹理存在差异的实木地板中,人工视觉会较难区分细小纹理特征的不同点,导致分类错误;(3)地板分类时由于不同工人视觉存在差异,对颜色的理解不同,导致分类的结果出现错误;(4)人工分类耗时较长且效率较低。
在之前有学者有对地板的分类做一定的研究,如戴天虹等人通过实木地板的主要颜色特征,利用BP神经网络中的径向基神经网络(RBF)、K邻近算法(K-MEANS)对实木地板种类进行分类处理;白瑞林等人提出基于颜色特征的地板层次分类方法;王克奇等人使用色彩与空间对木材的颜色进行测量从而达到分类的目的。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于深度学习的实木地板分类方法。本发明的技术方案如下:
一种基于深度学习的实木地板分类方法,包括以下步骤:
S1:在标准光源下,通过工业相机对不同类别的实木地板图像进行采集;
S2:对采集到的图像数据进行图像预处理操作,并将预处理后的数据划分为训练集,验证集和测试集;
S3:搭建VGG16深度学习网络模型,并将训练集、验证集送入搭建的VGG16网络模型进行训练;
S4:采用训练好的VGG16网络模型进行地板纹理的分类预测。
可选地,所述步骤S2进一步包括:
S22:使用伽马矫正算法消除光照对图像的影响;
S23:将伽马矫正后的图像使用大津算法进行粗纹理提取;
S24:使用中值滤波算法对粗纹理提取后的图像进行图像噪点去除;
S25:使用局部二值模式算法对滤波后的图像进行局部特征纹理增强,去除细小纹理;
S26:使用自适应阈值大津算法,遍历地板图像并计算其像素值的加权平均值,此值将作为一个粗细纹理分隔值,使用阈值分割法将大于该分隔值的像素点增强加粗,反之小于此分割值的像素则淡化;
S27:使用OpeCV库中resize函数,将图片尺寸调整至模型预设的输入要求的大小;
S28:将图像归一化后存储,待所有样本图像处理完成后,按照数据集划分标准,随机选择90%的数据作为训练集,剩下的10%的数据集作为最终评估模型的测试集,然后在训练集中随机选择原数据10%数量的数据作为训练时验证集。
可选地,在步骤S22之前,还包括:
S21:将采集到的实木地板图像通过重命名算法进行重新命名并进行类别标注。
可选地,所述步骤S25进一步包括:
以距离待测图像左上角32像素的点作为中心点;以中心点为圆心,32像素为半径的圆作为比较范围;获取中心点与比较范围内所有像素点的像素值的绝对值的差值,选取其差值最大的8个像素点作为比较点;将比较点的像素与中心点像素进行比较,若中心点像素大于比较点像素,则比较点像素标记为0,反之则标记为1。
可选地,所述步骤S3中,在VGG16模型网络训练时,提供使用迁移学习进行训练和从头开始训练分类模型的权重参数两种选择。
与现有技术相比,本发明具有如下的有益效果:
本发明通过工业相机进行实木地板的图像采集,然后进行图像预处理操作之后,将图像送入预训练好的深度学习模型当中,实现快速且准确的对不同种类实木地板分类的目的,这种基于深度学习的分类方法有着高效、准确的特点。
本发明克服了人工分类时效率较低和耗时长问题,进一步提高了木质地板分类的效率与准确性。
为了提高实木地板在经过工业加工后,提高对未知类别实木地板样本分类的准确性并将其归类,本发明开发出了一种基于深度学习中卷积神经网络模型对不同纹理木质地板类种的分类模型。此次设计在图像预处理中在增强地板纹理中有着较为突出的表现,处理后的地板图像为后续的卷积神经网络模型训练的时间节省了很多时间;在木质地板纹理分类算法上其代码量少、预测速度快、准确率高、稳定性强,能够很好的提高木质地板分类的效率和准确率,并且大大降低了生产成本。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明具体实施例一种基于深度学习的实木地板分类方法的流程图;
图2为本发明具体实施例模型训练时验证集与训练集上的精确度与损失值;
图3为本发明具体实施例第一类实木地板预处理过程可视化图;
图4为本发明具体实施例第二类实木地板预处理过程可视化图;
图5为本发明具体实施例第三类实木地板预处理过程可视化图;
图6为本发明具体实施例第四类实木地板预处理过程可视化图;
图7为本发明具体实施例第五类实木地板预处理过程可视化图;
图8为本发明具体实施例步骤S2的流程图;
图9为本发明具体实施例改进的VGG16网络模型结构图;
图10为本发明具体实施例根据具体实施参数进行模型训练的结果图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
如图1,本实施例公开了一种基于深度学习的实木地板分类方法,包括如下步骤:
S1:在标准光源下,通过工业相机对不同类别的实木地板图像进行采集;本实施例中,通过工业相机的视觉传感器对五种类别的木质地板图像进行RGB三通道彩色图像的数据采集,并对采集到的样本进行构建训练所需数据库;
S2:对采集到的图像数据进行图像预处理操作,并将预处理后的数据划分为训练集,验证集和测试集;本实施例中,预处理过程的可视化如图3至图7,分别为5类不同的地板图像处理过程的可视化图;
S3:搭建VGG16网络模型,并将训练集,验证集送入所述VGG16网络模型进行训练;VGG16网络是由13层卷积层加3层全连接层而组成的深度学习网络模型。本实施中,VGG16网络模型结构图如图9所示。
S4:采用训练好的VGG16网络模型进行地板纹理的分类预测。本实施例中,验证其准确率如图2所示(虚线:训练集;实线:测试集)。
其中,如图8,所述步骤S2进一步包括:
S21:将采集到的实木地板图像通过重命名算法进行重新命名并进行类别标注;
S22:使用伽马矫正算法消除光照对图像的影响;伽马校正就是对图像的伽马曲线进行编辑,以对图像进行非线性色调编辑的方法,检出图像信号中的深色部分和浅色部分,并使两者比例增大,从而提高图像对比度效果。
S23:将伽马矫正后的图像使用大津算法进行粗纹理提取;大津算法(OTSU):在图像处理领域,我们会遇到如下需求:把图像中的目标物体和背景分开。比如背景用白色表示,目标物体用黑色表示。此时我们知道目标物体的灰度值相互接近,背景灰度值相互接近,那么用大津算法能很好把目标从背景当中区分开来。
S24:使用中值滤波算法对粗纹理提取后的图像进行图像噪点去除;本实施例中,使用核大小为15x15的滤波器对粗纹理提取后的图像进行中值滤波(MedianBlur),从而去除目标图像中的噪声对图像的影响;
其中,中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。
S25:使用局部二值模式算法对滤波后的图像进行局部特征纹理增强,去除细小纹理;其中,局部二值模式(LBP)首先是用来做图像局部特征比较的,传统的LBP方法,是首先通过阈值来标记中心点像素与其邻域像素之间的差别。
S26:使用自适应阈值大津算法,遍历地板图像并计算其像素值的加权平均值,此值将作为一个粗细纹理分隔值,使用阈值分割法将大于该分隔值的像素点增强加粗,反之小于此分割值的像素则淡化;将等于该分隔值的像素点也进行淡化。
S27:使用OpeCV库中resize函数,将图片尺寸调整至模型预设的输入要求的大小;本实施例为(224,244)。
S28:将图像归一化后存储,待所有样本图像处理完成后,按照数据集划分标准,随机选择90%的数据作为训练集,剩下的10%的数据集作为最终评估模型的测试集,然后在训练集中随机选择原数据10%数量的数据作为训练时的验证集。
以处理其中一幅图像为例,进行说明,如下:
其中,步骤S22进一步包括:读入原图,使用OpenCV库将其转为灰度图像,对图像进行伽马(Gama)矫正,去除光照因素对其的影响,设imgin为输入图像,γ为校正系数(本发明选择矫正系数为1/4,进行图像补光操作),f(imgin)为矫正后的图像:
f(imgin)=(imgin)γ (1)
伽马矫正后得到图像Gama_image,即f(imgin)。
其中,开源计算机视觉(OpenCV)是一个主要针对实时计算机视觉的编程函数库。
步骤S23进一步包括:使用大津算法进行阈值分割,得到纹理较为杂乱的图像,其中,Sum为图像总的像素点个数,小于等于计算所得阈值像素点个数记为N0,大于该阈值记为N1,img(n,m)为图像中在点(n,m)的像素值大小:
计算背景像素占比ω1:
计算前景像素占比ω2:
ω2=1-ω1 (3)
计算背景平均灰度值μ1:
计算前景平均灰度值μ2:
计算0~M灰度区间的灰度累计值μ:
μ=μ1*ω1+μ2*ω2 (6)
计算出类间方差g:
g=ω1*ω2*(μ1-μ2)2 (7)
该算法将会遍历出图像的中使类间方差最大的阈值T,T即为分割阈值,从而将图像分为背景和目标两个部分,从而去除颜色对图像的影响,经过大津算法后得到二值化图像Otus_image。
步骤S24进一步包括:使用中值滤波算法对得到的图像进行噪点的去除,自样本图像由上到下,由左至右,采用(15,15)的滤波窗口进行滑动(即采用核大小为15x15的滤波器进行滤波),将中心像素周围的224个像素连同选定的中心像素进行排序,然后选择排序好的中值赋予中心像素值,代替原有的像素值,用公式表示如(8)所示,x、y分别为其坐标点的值:
g=median[(x-1,y-1)+f(x,y-1)+...+f(x,y+1)+f(x+1,y+1)] (8)
经过中值滤波后得到图像MedianBlur_image。
步骤S25进一步包括:
以距离待测图像左上角32像素的点作为中心点;以中心点为圆心,32像素为半径的圆作为比较范围;获取中心点与比较范围内所有像素点的像素值的绝对值的差值(即中心点的像素绝对值与比较范围内的像素点的像素绝对值的差值),选取其差值最大的8个像素点作为比较点;将比较点的像素与中心点像素进行比较,若中心点像素大于比较点像素,则比较点像素标记为0,同时对该点进行纹理增强(黑),反之则标记为1,同时对该点进行纹理淡化(白)。
如公式(10)、(11)所示,其中(xc,yc)是中心点像素,ic为灰度值,iP为其相邻像素的灰度值,s为一个符号函数;
经过LBP算法后得到图像LBP_image。
步骤S26进一步包括:
计算图像的像素权重平均值,进行二值化处理,去除图像不明显纹理,增强明显纹理;其中M为总像素点个数,f(x,y)为所有像素的加权和,其范围在S内,S为像素值范围,如公式(12)所示:
其中,fes代表f∈s,是f的元素属于s集合。
计算后得到像素权重平均值g(x,y),然后根据该值对图像进行二值化处理,将大于该值的像素点的像素值置为255,小于该值的像素的像素值点置为0,公式如(13)所示,其中zi为当前像素值:
步骤S27进一步包括:
将处理好的图片通过Opencv库将尺寸调整为224x224大小,存入指定路径当中,得到Out_image图像。
以上6步是以一个图像为例进行说明,具体实施时,通过算法遍历采集的250张地板图像,进行以上6步的操作
对所有图像进行以上6步操作后,步骤S28进一步包括:
经过图像预处理后,将处理好的图像根据指定比例分为训练集(Train)、验证集(Validation)和测试集(Test),本实施例随机选择90%的数据作为训练集,剩下的10%的数据集作为最终评估模型的测试集,然后在训练集中随机选择原数据10%数量的数据作为训练时的验证集。,具体实施时,可以根据自己实际需要来调整此比例。
步骤S3进一步包括:
数据集划分完成后,进行数据增强,然后构建VGG16网络模型,设置好所需参数即可进行模型训练,具体步骤如下:
第1步:通过Tensorflow框架中的Keras模块下ImageDataGenerator函数进行数据增强,本实施例中,只使用了其中的rotation_range、shear_range、zoom_range三种图像变换进行图像增强,将数据增加至原有的3倍,最终数据总数为1000张。具体实施时,可以根据自己实际需要进行微调。
第2步:构建VGG16网络模型,网络框架如图9所示,一个卷积神经网络主要包含输入层(Input)、卷积层(Conv2D)、池化层(Pooling)、全连接层(Dense),本实施例中,输入层使用的是宽高为224大小、通道为3的五种不同的地板样本;卷积层中使用了VGG16网络的前13层,其卷积层使用卷积核大小为3x3大小,步长为1,填补方式为‘same’,激活函数为ReLU方式,池化层使用了2x2大小的核,步长为2的滑动方式进行最大池化操作;在最后的全连接层,为使预测的实时性较好,在后2层的全连接层分别使用少量卷积核,分别为128,64个,激活函数为ReLU方式,在最后一层全连接层种选择地板种类数量的卷积核个数,并且使用的激活函数为Softmax激活函数,输出为每一种地板种类预测的概率大小。
使用RELU激活函数的原因在于ReLU激活函数不会导致梯度较小时梯度爆炸的问题,其公式为(14)所示,其中x为输入特征:
使用Softmax激活函数的原因在于,其输出为一个1xN维的向量,N个值分别为预测不同种类的概率值大小,值在0-1之间,其公式为(15)所示,其中αj代表N类中的第j个值,分母则为总种类的求和,因为ex指数函数恒大于0,所以可以确保输出在(0,1)之间不为负值:
图像预处理以及个参数调整好后,在Pycharm编译器中点及开始即开始训练,训练集会按照预先在ImageDataGenerator设定的各项参数,进行数据批量的送入模型训练。
第3步:将训练好的权重参数以pre_floor.h5命名的文件存入当前路径即可。具体实施例时,可以根据自己的实际任务需求对上述最后一个全连接层的参数进行修改。
其中,所述步骤S3中,在VGG16模型网络训练时,可根据当时用户使用的计算机配置与资源,提供使用迁移学习进行训练和从头开始训练分类模型的权重参数两种选择。
步骤S4进一步包括:
使用训练好的模型对未知样本进行种类的预测,其步骤如下:
第1步:经过上述图像预处理一系列操作后,使用Opencv将图像宽高改为224大小;
第2步:加载模型,将训练时的得到的最佳权重参数加载至模型当中,具体代码实现如下所示:
model.load_weights(′pre_floor.h5′)
第3步:判断测试样本的类别:
在输出结果中,将根据多数表决决定输入地板样本的类别y,公式如(16)所示:
y=arg max(Sj) (16)
其中Sj见公式(15)
实验与分析
此次发明模型训练使用的实木地板图像样本库(见下表1),其中随机选择90%的数据作为训练集,剩下的10%的数据集作为最终评估模型的测试集,然后在训练集中随机选择原数据10%数量的数据作为训练时的验证集。,图像的宽高为224,RGB颜色深度为24位三通道数的彩色图像。
表1实木地板图像样本库
关于上述实验,说明如下:
1、样本经预处理后的纹理特征
为了直观的将不同地板纹理特征表现出来,本实施例将图像预处理中每一步处理后的图像进行了可视化处理,具体特征区别可根据图3-图7很直观的表现出来。
2、参数调优
本次模型训练使用Adam优化器,当优化器的学习率(learning rate)过小时,训练模型时模型收敛会很慢,导致收敛速度较慢;反之,学习率过大则会使模型训练时找不到最佳权重参数,找不到梯度下降最快的点,导致正确率较低。因此,为了找到最合适优化器的学习率,采用了动态学习率的方式,在训练模型时,模型在验证集的正确率或者损失值在训练五个epochs时没有下降时,则减小学习率,从而得到最优的学习率,使得模型收敛速度最快。
3、损失函数的选择
本次任务由于是多分类任务,选择多分类损失函数交叉熵损失(categoricalcrossentropy)为本次任务的损失判定函数,其公式如17所示;在模型训练时,网络所使用5个类别的标签值是经过矢量化的5维向量,这样就和训练时的出的5个概率值相对应,最后经过argmax函数将预测概率最大的值所对应的标签输出。
其中n为地板样本数,m为分类个数。
最终的实验效果:
为了验证本发明提出的方法性能,对表1中五种不同纹理的木质地板分别进行了模型训练以及未知样本的测试。测试所用计算机操作系统:win10;CUP:(Core i5 10210U);内存:24G;测试软件:Pycharm Community 2020。实验效果:在训练时长2小时,训练轮数30个epochs后,正确率达到100%,Loss值低至0.0000001849,模型在测试集上的正确率达到100%,Loss值低至0.0000001192,如图10所示;模型在对未知样本进行与测时,分别对5个不同样本进行预测,正确率达到100%,平均用时5.05456秒。
综上所述,本实施例的方法中,数据预处理阶段对图像进行的中值滤波、二值化、大津算法、局部二值模式、像素权重平均值对图像进行粗纹理增强、细纹理减弱操作、对图像进行改变尺寸、数据集划分算法(划分为训练集、验证集和测试集)等算法对数据集进行处理;在模型训练阶段包括对模型网络框架的搭建、卷积大小、池化方式、全连接层神经元个数的选择以及ReLU和Softmax激活函数、优化器及学习率的调整等参数进行了算则及调优;在预测未知地板样本时包括数据预处理、模型加载、选择概率最大类别输出操作对未知样本进行预测。
所述的图像预处理阶段使用软件为Pycharm Community2020版本,算法语言使用Python 3.6版本,工具包Opencv为3.4.2版本,工具包Skikit-learn为0.16.2版本,工具包Numpy为1.18.4版本,工具包Pandas为1.0.3版本、工具包Matplotlib为3.1.3版本;模型训练以及未知样本预测阶段使用工具包tensorflow为2.0.0版本,tensorboaed为2.0.2版本
图像预处理过程中,根据已知地板样本的纹理特征,建立训练时所需的样本分类数据库;然后消除了每幅地板图像在拍摄过程中图像噪声的干扰、细小杂乱纹理的干扰,保留了每幅图像大纹理的特征,并且对其进行了纹理增强。
根据搭建好的VGG16网络模型,Adam优化器的动态学习率设定,以及训练时Epochs及Batch_size的参数设置,随后进行网络模型的训练,通过算法根据所需精度进行权重参数保存,便于对未知地板样本预测阶段时使用。
在网络结构及其他参数不变的条件下,通过给网络加载训练时所得的最佳权重参数,来对未知样本进行预测,预测输出后将为一个1xN维向量,其内容为N种种类的每种类别预测后所得的概率值大小,最终通过argmax函数将所得概率最大的类别输出,即完成预测。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (3)
1.一种基于深度学习的实木地板分类方法,其特征在于,包括以下步骤:
S1:在标准光源下,通过工业相机对不同类别的实木地板图像进行采集;
S2:对采集到的图像数据进行图像预处理操作,并将预处理后的数据划分为训练集,验证集和测试集,所述步骤S2进一步包括:
S22:使用伽马矫正算法消除光照对图像的影响;
S23:将伽马矫正后的图像使用大津算法进行粗纹理提取;
S24:使用中值滤波算法对粗纹理提取后的图像进行图像噪点去除;
S25:使用局部二值模式算法对滤波后的图像进行局部特征纹理增强,去除细小纹理,所述步骤S25进一步包括:
以距离待测图像左上角32像素的点作为中心点;以中心点为圆心,32像素为半径的圆作为比较范围;获取中心点与比较范围内所有像素点的像素值的绝对值的差值,选取其差值最大的8个像素点作为比较点;将比较点的像素与中心点像素进行比较,若中心点像素大于比较点像素,则比较点像素标记为0,反之则标记为1;
S26:使用自适应阈值大津算法,遍历地板图像并计算其像素值的加权平均值,此值将作为一个粗细纹理分隔值,使用阈值分割法将大于该分隔值的像素点增强加粗,反之小于此分割值的像素则淡化;
S27:使用OpeCV库中resize函数,将图片尺寸调整至模型预设的输入要求的大小;
S28:将图像归一化后存储,待所有样本图像处理完成后,按照数据集划分标准,随机选择90%的数据作为训练集,剩下的10%的数据集作为最终评估模型的测试集,然后在训练集中随机选择原数据10%数量的数据作为训练时验证集;
S3:搭建VGG16深度学习网络模型,并将训练集、验证集送入搭建的VGG16网络模型进行训练;
S4:采用训练好的VGG16网络模型进行地板纹理的分类预测。
2.如权利要求1所述的方法,其特征在于,在步骤S22之前,还包括:
S21:将采集到的实木地板图像通过重命名算法进行重新命名并进行类别标注。
3.如权利要求1所述的方法,其特征在于,所述步骤S3中,在VGG16模型网络训练时,提供使用迁移学习进行训练和从头开始训练分类模型的权重参数两种选择。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011342020.9A CN112419278B (zh) | 2020-11-25 | 2020-11-25 | 一种基于深度学习的实木地板分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011342020.9A CN112419278B (zh) | 2020-11-25 | 2020-11-25 | 一种基于深度学习的实木地板分类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112419278A CN112419278A (zh) | 2021-02-26 |
CN112419278B true CN112419278B (zh) | 2024-04-19 |
Family
ID=74842390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011342020.9A Active CN112419278B (zh) | 2020-11-25 | 2020-11-25 | 一种基于深度学习的实木地板分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112419278B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113012156B (zh) * | 2021-05-10 | 2022-02-01 | 南京林业大学 | 实木板材颜色智能分类方法 |
CN113610184B (zh) * | 2021-08-19 | 2022-03-11 | 江西应用技术职业学院 | 一种基于迁移学习的木材纹理分类方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103528617A (zh) * | 2013-09-27 | 2014-01-22 | 中国人民解放军空军工程大学 | 一种座舱仪表自动识别和检测方法及装置 |
CN109740639A (zh) * | 2018-12-15 | 2019-05-10 | 中国科学院深圳先进技术研究院 | 一种风云卫星遥感影像云检测方法、系统及电子设备 |
CN109800754A (zh) * | 2018-12-06 | 2019-05-24 | 杭州电子科技大学 | 一种基于卷积神经网络的古字体分类方法 |
WO2020224123A1 (zh) * | 2019-06-24 | 2020-11-12 | 浙江大学 | 一种基于深度学习的致痫灶三维自动定位系统 |
-
2020
- 2020-11-25 CN CN202011342020.9A patent/CN112419278B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103528617A (zh) * | 2013-09-27 | 2014-01-22 | 中国人民解放军空军工程大学 | 一种座舱仪表自动识别和检测方法及装置 |
CN109800754A (zh) * | 2018-12-06 | 2019-05-24 | 杭州电子科技大学 | 一种基于卷积神经网络的古字体分类方法 |
CN109740639A (zh) * | 2018-12-15 | 2019-05-10 | 中国科学院深圳先进技术研究院 | 一种风云卫星遥感影像云检测方法、系统及电子设备 |
WO2020224123A1 (zh) * | 2019-06-24 | 2020-11-12 | 浙江大学 | 一种基于深度学习的致痫灶三维自动定位系统 |
Non-Patent Citations (1)
Title |
---|
孙丽萍 ; 陈泓钢 ; 岳琪 ; 张瑶 ; 张怡卓 ; .依据特征融合和深度学习的树木叶片分类方法.东北林业大学学报.2020,(06),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN112419278A (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108960245B (zh) | 轮胎模具字符的检测与识别方法、装置、设备及存储介质 | |
CN109255344B (zh) | 一种基于机器视觉的数显式仪表定位与读数识别方法 | |
CN109684922B (zh) | 一种基于卷积神经网络的多模型对成品菜的识别方法 | |
CN112419278B (zh) | 一种基于深度学习的实木地板分类方法 | |
CN113298837B (zh) | 一种图像边缘提取方法、装置、存储介质及设备 | |
CN111160249A (zh) | 基于跨尺度特征融合的光学遥感图像多类目标检测方法 | |
US20200134382A1 (en) | Neural network training utilizing specialized loss functions | |
CN111257341A (zh) | 基于多尺度特征与堆叠式全卷积网络的水下建筑物裂缝检测方法 | |
CN114757900A (zh) | 基于人工智能的纺织品缺陷类型识别方法 | |
CN111612737A (zh) | 一种人造板表面瑕疵检测装置及检测方法 | |
CN112819748B (zh) | 一种带钢表面缺陷识别模型的训练方法及装置 | |
CN116740728B (zh) | 一种用于晶圆读码器动态获取方法和系统 | |
CN115829942A (zh) | 基于非负性约束稀疏自编码器的电子电路缺陷检测方法 | |
CN115272225A (zh) | 一种基于对抗学习网络的带钢表面缺陷检测方法及系统 | |
CN113989256A (zh) | 遥感图像建筑物的检测模型优化方法及检测方法、装置 | |
CN110443790B (zh) | 一种医学影像中软骨识别方法和识别系统 | |
CN112288765A (zh) | 一种用于车载红外行人检测跟踪的图像处理方法 | |
CN117456230A (zh) | 一种数据分类方法、系统及电子设备 | |
CN114080644A (zh) | 用于诊断小肠清洁度的系统和方法 | |
US20220027662A1 (en) | Optical character recognition using specialized confidence functions | |
CN114898362A (zh) | 一种基于神经网络的菌子图像分类方法 | |
CN114387226A (zh) | 大米等级划分方法、装置、设备及存储介质 | |
CN111814852B (zh) | 图像检测方法、装置、电子设备和计算机可读存储介质 | |
CN112070847A (zh) | 木地板颜色分选方法和装置 | |
CN117975312B (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 |