一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于图像技术和深度学习融合的烤烟分级方法及系统与流程

2023-01-06 03:24:46 来源:中国专利 TAG:


1.本发明涉及请涉及烟草技术领域,具体涉及一种基于图像技术和深度学习融合的烤烟分级方法及系统。


背景技术:

2.目前在烟草行业中,对于烤干出炉后的烟叶,需要将其回软到水分适时下竿(解烟),再按烟叶质量优劣进行分级。分级的目的是把不同质量的烟叶分开,使每个等级、每把烟叶具有相对一致的质,以便于卷烟企业选用,便于按质论价。烟叶分级技术性,涉及的内容较多,包括部颜色、成熟度、组织结构、身份、油份、色度、宽度、长度、残伤和破损等诸多方面。
3.但是目前对于烟叶的分拣分类,基本上都是由分拣员进行人工分拣,而由于分拣员的主观判断标准不统一,容易造成分拣结果不一致,从而导致烤烟质量分级参差不齐。同时,传统的人工烤烟分拣需要大量的人力,也是在人力成本和时间成本上的极大浪费。


技术实现要素:

4.本发明提供的一种基于图像技术和深度学习融合的烤烟分级方法及系统,能够解决上述过程中的技术问题。
5.本发明解决上述技术问题的技术方案如下:第一方面,本发明提供了一种基于图像技术和深度学习融合的烤烟分级方法,包括以下步骤:s1:图像采集,利用工业相机对传送带上的烟叶进行拍照,并保存;s2:图像预处理,利用图像分割算法对采集到的照片进行分割;s3:搭建卷积神经网络,并利用预处理后的图像对卷积神经网络模型进行训练;s4:对模型进行剪枝量化处理,并在工控机上完成对模型的推理部署。
6.在一些实施例中,所述步骤s2的具体过程为:s21:获取照片中传送带的rgb颜色;s22:将rgb色彩空间的照片转换到hsv色彩空间;s23:将传送带的rgb颜色转换为hsv颜色阈值;s24:根据hsv颜色阈值对照片进行分割,获取烟叶图像。
7.在一些实施例中,所述步骤s3包括:s31:搭建convnext神经网络;s32:输入预处理图像,经过卷积层、下采样层、全连接层,得到输出结果;s33:计算输出结果与目标结果之间的误差值,并与期望值比较;s34:若误差值大于期望值,将误差值传回convnext神经网络,分别计算全连接层、下采样层以及卷积层各自的误差,并更新权值,然后进入步骤s32;若误差小于期望值,则停止训练;
其中,所述convnext神经网络包括依次堆叠的stem层、3个逆瓶颈层、下采样层、3个逆瓶颈层、下采样层、9个逆瓶颈层、下采样层、3个逆瓶颈层、下采样层、全连接层以及输出层;所述stem层由一个卷积核大小为4
×
4、步长为4的2d卷积层以及layernorm层组成;所述逆瓶颈层由7
×
7的分组卷积、layernorm层、1
×
1卷积层、gelu激活函数、1
×
1卷积层依次级联而成;所述下采样层由layernorm层和卷积核大小与步长均为2的卷积层组成。
8.在一些实施例中,在进行所述步骤s32之前,需要对图像数据进行数据增广处理,具体步骤为:s310:生成一个和图像数据分辨率相同的mask图像;s311:将mask图像与原图像数据相乘,完成图像数据的数据增广操作。
9.在一些实施例中,所述步骤s4中“剪枝”的具体过程为:s411:利用lassoregression,找到模型中的冗余通道,并剪除;s412:利用线性最小二乘法模型重建剩余通道的输出。
10.在一些实施例中,所述步骤s4中“量化”的具体过程为:s421:获取模型的激活值和权重;s422:利用饱和量化或不饱和量化对模型激活值以及权重进行量化处理。
11.第二方面,本发明提供了一种基于图像技术和深度学习融合的烤烟分级系统,包括:图像采集模块,用于图像采集,利用工业相机对传送带上的烟叶进行拍照,并保存;图像预处理模块,用于图像预处理,利用图像分割算法对采集到的照片进行分割;模型搭建模块,用于搭建卷积神经网络,并利用预处理后的图像对卷积神经网络模型进行训练;剪枝量化部署模块,用于对模型进行剪枝量化处理,并在工控机上完成对模型的推理部署。
12.在一些实施例中,所述图像预处理模块包括:颜色获取子模块,用于获取照片中传送带的rgb颜色;hsv转换子模块,用于将rgb色彩空间的照片转换到hsv色彩空间;颜色阈值获取子模块,用于将传送带的rgb颜色转换为hsv颜色阈值;图像分割子模块,用于根据hsv颜色阈值对照片进行分割,获取烟叶图像。
13.在一些实施例中,所述模型搭建模块包括:convnext子模块,用于搭建convnext神经网络;输入训练子模块,用于输入预处理图像,经过卷积层、下采样层、全连接层,得到输出结果;误差计算子模块,用于计算输出结果与目标结果之间的误差值,并与期望值比较;期望值判断子模块,用于若误差值大于期望值,将误差值传回convnext神经网络,分别计算全连接层、下采样层以及卷积层各自的误差,并更新权值,然后进入步骤s32;若误差小于期望值,则停止训练。
14.在一些实施例中,所述模型搭建模块还包括:mask图像生成子模块,用于生成一个和图像数据分辨率相同的mask图像;
数据增广子模块,用于将mask图像与原图像数据相乘,完成图像数据的数据增广操作。
15.本技术的有益效果是:本发明采用了一种基于图像技术和深度学习融合的烤烟分级方法及系统,基于convnext神经网络模型,对采集到的烟叶图像数据进行图像分割、数据增广等预处理,再将预处理后的图像数据输入convnext神经网络模型进行训练,训练完成之后,还对convnext神经网络模型进行剪枝以及量化处理,便于模型部署的同时,还增加了模型的运行速度。此外,本方案将传统视觉算法和深度学习进行融合,这样既保证了算法的稳定可靠性,同时又利用了深度学习强泛化性的优点,使得分级算法有很高的鲁棒性。在具体建模的过程中,我们采取了数据增强,标签平滑,网络剪枝量化,小样本迁移学习的手段来保证模型精度和性能的平衡性。
附图说明
16.图1为本技术的一种基于图像技术和深度学习融合的烤烟分级方法流程图;图2为本技术步骤s2的子流程图;图3为本技术步骤s3的子流程图;图4为本技术步骤s32之前步骤的子流程图;图5为本技术步骤s4中“剪枝”步骤的子流程图;图6为本技术步骤s4中“量化”步骤的子流程图;图7为本技术中通道剪枝示意图。
具体实施方式
17.以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
18.为了能够更清楚地理解本技术的上述目的、特征和优点,下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。此处所描述的具体实施例仅仅用于解释本公开,而非对本技术的限定。基于所描述的本技术的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本技术保护的范围。
19.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
20.图1为一种基于图像技术和深度学习融合的烤烟分级方法流程图。
21.结合图1,一种基于图像技术和深度学习融合的烤烟分级方法,包括以下步骤:s1:图像采集,利用工业相机对传送带上的烟叶进行拍照,并保存;具体的,这一过程需要分拣员手动分拣出一批烟叶样本,然后送到传送带上,触发工业相机进行拍照采样,并保存到对应的等级目录里,作为后续训练的原始样本数据。
22.s2:图像预处理,利用图像分割算法对采集到的照片进行分割;在一些实施例中,结合图2即本技术步骤s2的子流程图,所述步骤s2的具体过程
为:s21:获取照片中传送带的rgb颜色;s22:将rgb色彩空间的照片转换到hsv色彩空间;s23:将传送带的rgb颜色转换为hsv颜色阈值;s24:根据hsv颜色阈值对照片进行分割,获取烟叶图像。
23.具体的,通过工业相机拍摄的烤烟照片包括了背景的传送带,传送带的特征会影响模型对图像的识别结果。为了排除这一影响,首先需要对原始相机采集到的图片进行图像分割,这里考虑到在颜色空间(hsv)上,烟叶的和传送带有很大的不同,可以根据这一特性,通过阈值法对烟叶图像进行分割,这样既可以排除皮带背景的干扰,又可以定位出烤烟在皮带的具体位置。
24.s3:搭建卷积神经网络,并利用预处理后的图像对卷积神经网络模型进行训练;在一些实施例中,结合图3即本技术步骤s3的子流程图,所述步骤s3包括:s31:搭建convnext神经网络;在一些实施例中,结合图4即本技术步骤s32之前步骤的子流程图,在进行所述步骤s32之前,需要对图像数据进行数据增广处理,具体步骤为:s310:生成一个和图像数据分辨率相同的mask图像;s311:将mask图像与原图像数据相乘,完成图像数据的数据增广操作。
25.具体的,本方案中的数据增广处理采用了gridmask数据增广方法,这种方法通过先生成一个和图像数据分辨率相同的mask图像,再随机在mask图像上丢弃一块区域来随机移除一个不连续的像素集合,最后再将mask图像与原图像数据相乘,作用相当于是在图像网络上增加一个正则项,避免网络过拟合,相比较改变网络结构来说,这种方法只需要在数据输入的时候进行增广,简单便捷。
26.s32:输入预处理图像,经过卷积层、下采样层、全连接层,得到输出结果;s33:计算输出结果与目标结果之间的误差值,并与期望值比较;s34:若误差值大于期望值,将误差值传回convnext神经网络,分别计算全连接层、下采样层以及卷积层各自的误差,并更新权值,然后进入步骤s32;若误差小于期望值,则停止训练;其中,所述convnext神经网络包括依次堆叠的stem层、3个逆瓶颈层、下采样层、3个逆瓶颈层、下采样层、9个逆瓶颈层、下采样层、3个逆瓶颈层、下采样层、全连接层以及输出层;所述stem层由一个卷积核大小为4
×
4、步长为4的2d卷积层以及layernorm层组成;所述逆瓶颈层由7
×
7的分组卷积、layernorm层、1
×
1卷积层、gelu激活函数、1
×
1卷积层依次级联而成;所述下采样层由layernorm层和卷积核大小与步长均为2的卷积层组成。
27.具体的,本方案中,模型输入的为224
×
224
×
3的图像,经过conv2d,bn、gelu、pool等基本算子后得到7
×7×
768的特征图,而由于中部烤烟需要分6个等级,因此在最后一个全连接层数需要把imagenet数据集改成6个类别。
28.值得一提的是,本方案在训练阶段还采用了标签平滑处理,传统的分类loss采用softmax loss,先对全连接层的输出计算softmax,视为各类别的置信度概率,再利用交叉熵计算损失,计算公式为:
其中,为当前样本属于类别i的概率,指当前样本的对应类别i的logit,k表示样本的类别总数,指交叉熵损失,指样本的one-hot标签。在这个过程中尽可能使得各样本在正确类别上的输出概率为1,这要使得对应的为正无穷大,这拉大了其与其他类别间的距离。现在假设一个多分类任务,某个类别经过one-hot编码后的标签是[1,0,0],如果它本身的标签出现了问题,这对模型的伤害是非常大的,因为在训练的过程中强行学习一个非本类的样本,并且让其概率非常高,这会影响对后验概率的估计。并且有时候类与类之间的并不是毫无关联,如果鼓励输出的概率间相差过大,这会导致一定程度上的过拟合,因此标签平滑处理是为了让one-hot标签变为如下形式:其中,k为多分类的类别总个数,为一个较小的常数,y表示在步骤s311数据增广方法中选取的一个随机取值参数y,这使得softmax损失中的概率优目标不再为1和0,同时值的最优解也不再是正无穷大,而是一个具体的数值。这在一定程度上避免了过拟合,也缓解了错误标签带来的影响。例如,在本方案中,烟叶中部可分为4个类别,假设其中某一类标签为[0,1,0,0],通过标签平滑方法,产生的新标签为[0.04,0.8,0.04,0.04]。
[0029]
另外,在实际工业ai部署中,训练数据是一个比较大的问题,为了解决这个问题,本方案采取迁移学习策略,即:对于某些类别的训练数据比较少的情况下(比如中部烟叶数据多,而下部烟叶数据少),采取冻结模型的backbone权重,仅微调head或fc(全连接)部分的权重,得到一个小样本迁移模型,这样即可以保留模型学到的知识,同时又能在新的类别上有不错的效果。
[0030]
s4:对模型进行剪枝量化处理,并在工控机上完成对模型的推理部署;在一些实施例中,结合图5即本技术步骤s4中“剪枝”步骤的子流程图,以及图7即本技术中通道剪枝示意图,中“剪枝”的具体过程为:s411:利用lassoregression,找到模型中的冗余通道,并剪除;s412:利用线性最小二乘法模型重建剩余通道的输出。
[0031]
具体的,在本案中选择通道剪枝方法,主要通过以下2个步骤实现剪枝。1、通道选择:通道的选择是通过lassoregression来做的,也就是在损失函数中添加l1范数对权重进行约束,以目标函数优化的角度考虑,l1范数可以使得权重中大部分值为0,使得通道内权重具有稀疏性,从而可以将稀疏的通道剪除。2、feature map reconstruction:删除通道的数量是不太容易优化的,可以通过建立某种目标更直接的达到通道剪枝力度的控制,就是希望剪枝后输出的feature map和剪枝前输出的feature map差异越小越好,这一目标可以利用先行最小二乘法模型实现。图7是对卷积层进行通道剪枝的示意图,其中,右图虚线框内的内容。字母a表示卷积层,字母b表示输入的feature map,c表示b的通道数量,可以看出b是经过通道裁剪后的feature map。w表示卷积核,kh和kw表示卷积核的尺寸,因此,每个卷
积核的维度为c
×
kh
×
kw。由于feature map的部分通道裁剪,因此,相对应的卷积核的通道也没有存在的价值,也要被裁剪掉。c表示输出的feature map,n为输出feature map的通道数量,也是w卷积核的个数,从c的形态可以看出,c的维度只和卷积核的个数有关,并且输出是完整的,也就是说,通道裁剪的过程并不会对下一层卷积造成影响,只是影响卷积内部的运算。
[0032]
在一些实施例中,结合图6本技术步骤s4中“量化”步骤的子流程图,所述步骤s4中“量化”的具体过程为:s421:获取模型的激活值和权重;s422:利用饱和量化或不饱和量化对模型激活值以及权重进行量化处理。
[0033]
具体的,训练模型通常是32位浮点精度模型,通过量化技术可以把32位浮点模型量化到8位整型模型,模型提交减小为原来的1/4,同时推理速度比原始浮点模型快10倍以上。在本案中,使用英伟达的tensorrt对模型进行量化,即:把浮点类型的模型权重映射为8bit的整型表示。采取的量化方式为:线性量化。而线性量化分为饱和量化和非饱和量化两种方式。饱和量化是计算层的最大和最小权重值,通过线性插值方式映射到-127到127的整型范围。这种方式更多是针对均匀分布的,因此,一旦数据分布的不是很均匀,就会造成很明显的精度损失。与饱和量化类似,非饱和量化也是通过线性插值的方式映射,但是会截断某一区间t之外的值,激活值并不是均匀的分布在[-max,max]之间的,可以看出过大或者过小的激活值其实只占参数总体的一小部分,因此如果直接使用不饱和的映射关系不能有效利用int8范围,从而会导致比较大的精度损失。如果我们可以找到一个范围,使网络中的绝大多数的值都存在于这个范围内,我们就可以利用这个范tensor围来对进行量化。只要阈值t选取得当,就能将分布散乱的较打的激活值舍弃掉,也就有可能使精度损失不至于降低太多。而为了找到合适的t值,英伟达采用kl-divergence,其实就是相对熵来表征量化前后的精度差异,以下为运算流程:首先准备一个校准数据集。然后,对每一层:1) 收集激活值的直方图;2) 基于不同的阈值产生不同的量化分布;3) 然后计算每个分布与原分布的相对熵,然后选择熵最少的一个,也就是跟原分布最像的一个。于是能够将熵最少的分布所对应的t值作为阈值。
[0034]
本技术第二方面还提供了一种基于图像技术和深度学习融合的烤烟分级系统,包括:图像采集模块,用于图像采集,利用工业相机对传送带上的烟叶进行拍照,并保存;图像预处理模块,用于图像预处理,利用图像分割算法对采集到的照片进行分割;模型搭建模块,用于搭建卷积神经网络,并利用预处理后的图像对卷积神经网络模型进行训练;剪枝量化部署模块,用于对模型进行剪枝量化处理,并在工控机上完成对模型的推理部署。
[0035]
在一些实施例中,所述图像预处理模块包括:颜色获取子模块,用于获取照片中传送带的rgb颜色;hsv转换子模块,用于将rgb色彩空间的照片转换到hsv色彩空间;颜色阈值获取子模块,用于将传送带的rgb颜色转换为hsv颜色阈值;
图像分割子模块,用于根据hsv颜色阈值对照片进行分割,获取烟叶图像。
[0036]
在一些实施例中,所述模型搭建模块包括:convnext子模块,用于搭建convnext神经网络;输入训练子模块,用于输入预处理图像,经过卷积层、下采样层、全连接层,得到输出结果;误差计算子模块,用于计算输出结果与目标结果之间的误差值,并与期望值比较;期望值判断子模块,用于若误差值大于期望值,将误差值传回convnext神经网络,分别计算全连接层、下采样层以及卷积层各自的误差,并更新权值,然后进入步骤s32;若误差小于期望值,则停止训练。
[0037]
在一些实施例中,所述模型搭建模块还包括:mask图像生成子模块,用于生成一个和图像数据分辨率相同的mask图像;数据增广子模块,用于将mask图像与原图像数据相乘,完成图像数据的数据增广操作。
[0038]
本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本技术的范围之内并且形成不同的实施例。
[0039]
本领域的技术人员能够理解,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0040]
虽然结合附图描述了本技术的实施方式,但是本领域技术人员可以在不脱离本技术的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
[0041]
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献