本发明涉及卷烟厂制丝车间内,卷烟生产过程中烟叶处理和烟丝处理阶段杂质检测,更具体地,涉及一种基于深度学习的烟叶烟丝杂质检测的方法和系统。
背景技术:
1、在卷烟生产的原料处理中,不可避免的对混入橡胶、塑料、尼龙、泡沫、纸屑、布片及麻丝等杂质,如果没有将这些杂质剔除干净,经过切丝以及后续工序后很难由人工检出,制成成品后对产品质量和口感造成很大的影响,引起消费者投诉,造成质量事故。这些杂质与烟叶、烟丝密度相当,无法通过物理手段进行分离,目前主要采用人工检出的方式,有些生产线上部署了基于目标检测技术的人工智能杂质检测系统,但由于杂质种类、形态多样,导致检出率不高,很难取得理想的除杂效果。另外目标检测算法需要提前进行大量的训练和学习,而实际生产过程中的出现的杂质种类和形态具有不可预知性,一定数量的未知杂质很难被检出,也是导致检出率低的一个原因。
2、基于机器学习的机器视觉计算是近年来的成熟技术,特别是深度神经元网络的发展以及硬件算力的提升,使人工智能图像分析得到了很多实际的应用。目标检测算法是通过对大量待检目标样本的标注和训练,通过深度神经元网络进行自主学习和参数调整得到最理想的模型文件,进而在被检测图像中找到待签目标。异常检测算法是通过对正常的待检测图像进行正样本训练,通过深度神经元网络进行自动学习和调测,得到这些正样本图像的共同特征模型文件,包括了神经元网络参数和特征抽象,推理过程中,使用待测图片通过模型文件的神经元完了参数经过网络推理提取特征与模型中的特征抽象进行比对,得到异常得分和异常区域。目标分类算法的技术原理与目标检测算法类似,但在对单目标图片特征在已知类别上的分类场景下效率更高。
技术实现思路
1、为了解决现有技术在实际生产场景中存在的问题,本发明提出一种部署在杂质检测装置中的基于深度学习的烟叶烟丝杂质检测方法和系统,根据采集的烟叶烟丝图片信息中烟叶、烟丝特征,利用异常检测算法技术、目标检测算法技术以及目标分类算法技术相互配合,进而能够稳定可靠地从烟叶、烟丝中找到不同的特征从而更精确发现混在烟叶、烟丝内的杂质,同时能够更多的预测未出现过的杂质,并通知烟叶烟丝生产设备(传送带)停车以及启动相应的声光报警,人工将杂质从烟叶烟丝中分离出来,或者利用现有的剔除装置将杂质从生产设备(传送带)上剔除,保证产品质量。本发明提供如下技术方案:
2、杂质检测装置,包括补光设备(d1)、图像采集设备(d2)、控制设备(d3),参见图1所示。
3、所述补光设备(d1)可以采用灯带等照明设备,用于照射烟叶和烟丝及所在传送带,提升图像亮度,使烟叶和烟丝的图像特征更加明显;
4、所述图像采集设备(d2)可以采用工业快速照相机,用于拍摄烟叶烟丝图像;根据烟叶烟丝所在传送带的宽度以及图像采集设备与传送带的距离,可能装置内可能配置多个图像采集设备(d2);参见图2所示配置3个图像采集设备(d2-1~d2-3),随着传送带向前滚动,将传送带分成3列若干行的检测对象区域(每个图形采集设备对应一列),并且使这些检测对象区域相互连接,在传送带上不留视觉盲区;
5、所述控制设备(d3)可以采用本领域常规的具有中央处理器和图形处理器的服务器、工控机等以及相应的外部控制电路或者plc逻辑控制器,控制设备(d3)与所述图像采集设备(d2)网络连接,控制图像采集设备(d2)拍照并且将所得的图像传入控制设备(d3),同时控制设备(d3)与所述补光设备(d1)弱电连接,在拍照的同时控制补光设备(d1)提供合适的光照条件;
6、本发明所涉及的一种基于深度学习的烟叶烟丝杂质检测系统,运行在所述控制设备(d3)中,包括推理子系统(u1)、外部信号控制子系统(u2)、显示子系统(u3)、标注子系统(u4)、训练子系统(u5)。
7、所述推理子系统(u1)与外部信号控制子系统(u2)、显示子系统(u3)、训练子系统(u5)网络连接,负责对收到的待检测对象区域的图像分析推理,得到推理结果并给用户显示。包含图像传输单元(u101)、异常检测算法单元(u102)、杂质检测算法单元(u103)、杂质分类算法单元(u104);
8、所述图像传输单元(u101)与所述图像采集设备(d2)相连,接收图像采集设备(d2)传过来的待检对象区域图像,分别送给异常检测算法单元(u102)和杂质检测算法单元(u103)进行推理,推理完成后送给显示子系统(u3)展示推理结果;
9、所述异常检测算法单元(u102)接收到所述图像传输单元(u101)的图片后,基于使用深度学习网络技术训练得到的异常检测模型进行推理,输出针对输入图像的异常检测判断结果;
10、所述杂质检测算法单元(u103)收到所述图像传输单元(u101)图像后,基于人工智能目标检测算法,使用多种杂质素材经过组合后,采用目标检测训练方法得到的杂质检测模型进行推理,输出针对输入图像的杂质检测判断结果;
11、所述杂质分类算法单元(u104)收集异常检测算法单元(u102)杂质检测算法单元(u103)找到在待检对象区域图像中找到的疑似杂质目标,使用目标分类训练方法得到的杂质分类模型进行推理,输出针对这些疑似杂质目标的分类结果,并且确认这些疑似杂质目标是否为杂质;
12、所述外部信号控制子系统(u2),与所述图像采集设备(d2)和补光设备(d1)弱电连接,控制图像采集设备(d2)拍照以及补光设备(d1)在拍照时的补光;与推理子系统(u1)的杂质分类算法单元(u104)通信获取在待检对象区域图像中是否有疑似杂质目标以及该目标的位置和分类属性;如果判定为有“杂质”,则通知生产设备(传送带)停产以便人工剔除杂质或者将杂质的坐标位置发送给剔除装置进行自动剔除。
13、所述显示子系统(u3),与所述推理子系统(u1)相连,从图像传输单元(u101)获取图像信息,以及从杂质分类算法单元(u104)获取疑似杂质目标的位置、分类、和判定结果信息展示出来。
14、所述标注子系统(u4),用于上传的素材图片,并可以在素材上进行标注,得到用于算法训练的训练集。
15、优选的,通过所述标注子系统(u4)上传异常检测算法训练过程所需的素材图片,产生异常检测训练集;同样地,上传杂质检测算法训练过程所需的素材图片,在这些素材图片上对被检测的杂质目标进行标注操作,产生杂质检测训练集;同样地,上传杂质分类算法训练过程所需要的素材图片,事先确定杂质分类集合,并在这些素材图片上对被检测的杂质目标标出对应的分类,产生杂质分类训练集。
16、所述训练子系统(u5)与标注子系统(u4)连接,获取到算法的训练集后,采用深度学习网络进行模型训练,生成算法模型文件;同时与推理子系统(u1)连接,将生成的算法模型文件送给推理子系统(u1)的算法单元进行推理计算。
17、优选的,在本发明中,分别对异常检测算法、杂质检测算法、杂质分类算法的训练集后,得到异常检测算法模型文件、杂质检测算法模型文件和杂质分类算法模型文件;之后将模型文件分别送给的异常检测算法单元(u102)、杂质检测算法单元(u103)和杂质分类算法单元(u104)进行推理计算。
18、一种烟叶烟丝杂质检测的方法,包括:
19、步骤s10100,如图5中,传送带的经过装置,外部信号控制子系统(u2)通过距离传感器实时读取传送带的移动距离,计算间隔时间后,控制图像采集设备(d2)拍照采集图像,同时控制补光设备(d1)进行补光。
20、假设图像采集设备在距离传送带一定高度的情况下,拍摄到清晰的待检对象区域所形成的图片(图5中的aji)对应到实际尺寸为宽度为a,高度为b,同时假设传送带的宽度为l,则系统需要的图像采集设备数量为:n=ceiling(l/a);
21、优选地,由于传送带的宽度l固定,可以通过调整图像采集设备的高度在图片相对清晰的范围内控制a的大小以使l/a的计算结果更接近整数。
22、假设距离传感器监测到传送带的移动距离sc超过(b–c)时,则控制拍照和补光。其中参数c为根据实际情况调整的一个常量,可以取使得同一个图像采集设备两次拍照之间有重合但重合的部分尽量小的一个值。
23、步骤s10200,图像传输单元(u101)从图像采集设备处获取图像,分发给异常检测算法单元(u102)和杂质检测算法单元(u103)进行推理处理。
24、步骤s10300,杂质检测算法单元(u103)对被检对象区域的图片进行处理。
25、步骤s10400,异常检测算法单元(u102)对被检对象区域的图片进行处理。
26、步骤s10500,杂质分类算法单元(u104)将杂质检测算法单元(u103)和异常检测算法单元(u102)针对同一个图像的检测结果汇总,如果任意一个算法单元找到疑似杂质区域,则这个图像的判定结果为“有杂质”,并且汇总多个疑似杂质区域在一起。
27、步骤s10600,如果图像的判定结果为“有杂质”,则根据疑似杂质区域在原图像的坐标位置,将原图像裁剪为多个待分类小图像。
28、步骤s10700,将这些疑似杂质区域的小图像分别送个杂质分类算法单元(u104)进行疑似杂质区域的杂质分类处理,对疑似杂质区域进行进一步确认是否是真实的杂质,以及杂质的具体类型,输出qz=[{a1,l1,c1},{a2,l2,c2},……{am,lm,cm}]
29、ai为疑似杂质区域在原始图像中的位置信息;
30、li为疑似杂质区域的归属的杂质类别;
31、ci为疑似杂质区域的置信度,当这个杂质区域是异常检测算法单元的输出结果时,没有置信度。
32、步骤s10800,如果图像的判定结果仍然为“有杂质”(即qz非空),则推理子系统(u1)根据杂质在图像中的位置通过使用现有的视觉标定技术生成映射矩阵,转换基于传送带平面的现实坐标系,再根据传送带运行速度转化为拍照与剔除设备启动的时间差与传送带的纵向位置。
33、步骤s10900,推理子系统(u1)将时间差与纵向位置信息发送给外部信号控制子系统(u2),控制剔除装置从生产线上剔除该杂质。
34、所述杂质检测算法过程(步骤s10300),包括:
35、步骤s10301,加载训练子系统(u5)生成的杂质检测模型。
36、目标检测模型m=net(神经元网络参数组)+(f1+f2+…+fm)+c
37、其中:
38、net:表示神经元网络结构及相应的参数,网络结构相应的参数可通过训练以及损失函数的评估自动得到最优参数组合;
39、fi(i=1,2,……m):表示被检目标的综合特性向量,优选的,本发明中为在减少训练样本数量的前提下保证目标检测精度不变,并且减少推理时长,将被检目标简化为一个,即只有fz(表示实际烟叶烟丝在传送带传输过程中出现所有杂质的共同特征),所以杂质检测模型简化为:
40、杂质检测模型mz=net(神经元网络参数组)+fz+c
41、c:表示根据实际场景和经验积累设置的独立于训练之外的超参数。
42、一般的,由于每次图片的推理都需要使用该模型,可以在杂质检测算法单元(u103)启动时一次性加载,以提升算法推理速度。
43、步骤s10302,对输入图像使用模型中的神经元网络及相应的参数进行计算,得到待确认的疑似杂质区域序列:q=[{a1,c1},{a2,c2},……{a m,cm}]
44、其中:
45、a 1~a m为待确认的疑似杂质区域的位置信息,使用图像标系下目标矩形框的左上角点坐标和右下点坐标表示。
46、c1~cm为每个待确认的疑似杂质对应的置信度得分
47、步骤s10303,分别使用置信度阈值c0对待确认的疑似杂质区域进行判断,保留超过阈值的目标。
48、if cx>=c0 then add{ax,cx}to resq
49、最终得到疑似杂质序列resq。
50、所述异常检测算法过程(步骤s10400),包括:
51、步骤s10401,加载训练子系统(u5)生成的异常检测模型。
52、异常检测模型my=net(神经元网络参数组)+(f1+f2+……+fm)+c
53、其中:
54、net:表示神经元网络结构及相应的参数,网络结构相应的参数可通过训练以及损失函数的评估自动得到最优参数组合;
55、f1:表示待检对象区域图像为正常铺满烟叶烟丝无杂质图像的综合特性向量。
56、fm:表示待检对象区域图像为正常只有传输带无烟叶烟丝的综合特征向量。
57、fii∈(1,m):表示待检对象区域图像为正常没有杂质,但烟叶烟丝由铺满渐变为全空的综合特征向量。
58、c:表示根据实际场景和经验积累设置的独立于训练之外的超参数。
59、一般的,由于每次图片的推理都需要使用该模型,可以在异常检测算法单元(u104)启动时一次性加载,以提升算法推理速度。
60、步骤s10402,对输入图像使用模型中的神经元网络及相应的参数进行计算,提取被检测图像的特征向量fx
61、步骤s10403,将得到的fx与模型my中的任意一个特性向量fii∈[1,m]进行比对,并取得到最小异常得分sx以及对应的异常区域序列q=[a1,a2,……a m]。
62、其中:
63、a1~am为疑似杂质区域的位置信息,使用图像标系下目标矩形框的左上角点坐标和右下点坐标表示。
64、步骤s10404,使用图像的异常得分sx与预先设置的异常得分阈值s0进行比较。
65、步骤s10405,如果sx<s0,则将该图像判定为“正常”。
66、步骤s10406,如果sx>=s0,则将该图像判定为“有杂质”,并记录异常区域序列resq=q。
67、所述杂质分类算法过程(步骤s10700),包括:
68、步骤s10701,加载训练子系统(u5)生成的杂质分类模型mf和分类表t。
69、杂质分类模型mf=net(神经元网络参数组)+(f1+f2+…+fm+ff+fe)+c
70、其中:
71、net:表示神经元网络结构及相应的参数,网络结构相应的参数可通过训练以及损失函数的评估自动得到最优参数组合;
72、fi(i=1,2,……m):表示混入烟叶烟丝内各种不同类型的杂质的综合特性向量,优选的,本发明中根据杂质类型的不同,设置橡胶、塑料、尼龙、泡沫、纸屑、布片及麻丝每种类型一个特性向量。
73、ff:表示烟叶烟丝的综合特性向量。
74、fe:表示空传送带的综合特性向量。
75、c:表示根据实际场景和经验积累设置的独立于训练之外的超参数。
76、在生成模型mf的同时,需要同步生成分类表t=[{l1,false},{l2,false},……{lm,false},{lf,true},{le,true}],与杂质类型li与特征向量fi一一对应(其中lf表示特性向量ff的分类、le表示特性向量fe的分类),表示每种分类是杂质(false)还是正常(true)。
77、一般的,由于每次图片的推理都需要使用该模型和分类表,可以在杂质检测算法单元(u103)启动时一次性加载,以提升算法推理速度。
78、步骤s10702,对输入图像使用模型中的神经元网络及相应的参数进行计算,提取被检测图像的特征向量fx;
79、步骤s10703,将得到的fx与模型mf中的任意一个特性向量fii∈[1,m]进行聚类计算,将图像归类到分类li中,具体实现上可以采用k-means++聚类算法。
80、步骤s10704,使用分类li在分类表t中查找,如果为false,则将该图像对应原图的属性保留到杂质区域结果序列qz中
81、if li==false then add{被检测图像对应区域,被检测图像对应类别,被检测图像对应置信度}to qz
82、所述杂质检测模型的生成方法,包括:
83、步骤s20100,选择实际检测过程中带杂质的图像作为训练素材,上传到标注子系统(u4)
84、步骤s20200,使用标注子系统(u4)标注出素材图像中的杂质目标区域和杂质目标类型。标注时确定标注信息二元组{目标x,目标框在图像坐标系的位置}。
85、其中目标框在图像坐标系的位置采用矩形框的左上和右下两个点的坐标表示:points:[{x1,y1},{x2,y2}]。
86、本发明中,需要将各种类型的杂质图像汇总到一起,仅设置“杂质”作为目标检测的标注目标类型。
87、步骤s20300,训练子系统(u5)开始使用杂质检测参数进行训练,得到杂质检测算法模型。
88、步骤s20400,训练子系统(u5)将得到的杂质检测算法模型文件mz发送给推理子系统(u1)。
89、所述杂质检测算法训练及模型生成的具体过程(步骤s20300),包括:
90、步骤s20301,将步骤s20200标注好的素材图像集合,按比例分为训练集s-train、测试集s-test、验证集s-verify,并发送给训练子系统(u5)。
91、步骤s20302,随机产生神经元网络的初始的参数组,根据经验确定一组初始的超参数组。
92、步骤s20303,训练子系统(u5)使用神经元网络及参数组对训练集s-train进行推理,得到目标检测结果
93、步骤s20304,将算法推理结果以及实际标注结果使用损失函数进行计算,得到损失值以及损失函数的梯度下降方向。
94、步骤s20305,设定训练停止条件,如果损失值没有达到停止条件,则算法自动向梯度下降方向调整参数组,调整后继续执行步骤s20303。
95、步骤s20306,如果损失值已经达到停止条件,找到了当前训练条件下的极优解,则停止自动尝试参数组的训练循环,并使用测试集s-test进行推理,得到损失值
96、步骤s20307,判断此时的损失值是否满足检测要求,如果不满足,则调整超参数组,执行步骤s20303,重新进行自动尝试参数组的训练循环。
97、步骤s20308,如果判定满足检测要求,则停止参数组及超参数组的调整过程,使用验证集s-verify进行推理得到损失值,验证超参数组及参数组的泛化性。
98、步骤s20309,如果使用验证集s-verify得到的损失值与训练集s-train、测试集s-test得到的结果一致,则将网络参数组、超参数组及待检目标特征向量写入模型文件中。本发明中,目标检测为单一目标,所以有且仅有一个目标特征向量f,则:
99、杂质检测模型mz=net(神经元网络参数组)+f+c
100、所述异常检测模型的生成方法,与杂质检测模型的生产方法类似,有两点区别:
101、1、由于异常检测属于正样本训练,不需要步骤s20200对素材图像进行标注。
102、一般地,在选择正样本素材集时,为使模型中具备有效的f1~fm特性的综合特征向量,需要均匀的添加正常没有杂质、但烟叶烟丝由铺满渐变为全空的待检对象区域图像。
103、2、步骤s20304,使用损失函数计算算法推理结果和素材原图之间的损失值。
104、具体方法对于本领域普通技术人员可以获得,在此不进一步详细描述。
105、所述杂质分类模型的生成方法,包括:
106、步骤s30100,针对每种杂质分别创建一个标签l1~lm,并设置标签属性为“杂质”,针对正常烟叶烟丝、传送带分别创建一个标签lf和le,并设置标签属性为“非杂质”。
107、本发明中,可创建杂质标签有:橡胶、塑料、尼龙、泡沫、纸屑、布片及麻丝等,同时创建两个非杂质标签烟叶、传送带。
108、一般的,由于每次图片标注和训练过程都需要使用这些标签,可以在标注子系统(u4)中一次性创建。
109、步骤s30200,选择实际检测过程中有杂质的图像以及有露传送带的图像作为素材上传到标注子系统(u4)。
110、步骤s30300,使用标注子系统(u4)标注出素材图像中的目标区域和素材中图像对应的已在步骤s30200中创建好的目标标签类型。标注时确定标注信息二元组{目标标签类型lx,目标框在图像坐标系的位置}。
111、其中目标框在图像坐标系的位置采用矩形框的左上和右下两个点的坐标表示:points:[{x1,y1},{x2,y2}]。
112、步骤s30400,训练子系统(u5)开始使用杂质分类参数进行训练,得到杂质分类算法模型mf。
113、步骤s30500,训练子系统(u5)根据杂质分类标签生成分类表t,建立分类id、模型中的分类向量、分类标签属性的对应关系
114、步骤s30600,训练子系统(u5)将得到的杂质分类算法模型文件mf和分类表t发送给推理子系统(u1)。
115、所述杂质分类算法训练及模型生成的具体过程(步骤s30400),与杂质检测模型的生成方法类似,有两点区别:
116、1、步骤s20304,损失函数计算修改为计算推理结果分类与标注的实际分类之间的损失值。
117、2、步骤s20309,生成的算法模型中需要有多个不同类型的特征向量。杂质分类模型mf=net(神经元网络参数组)+(f1+f2+…
118、+fm+ff+fe)+c
119、具体方法对于本领域普通技术人员可以获得,在此不进一步详细描述。
1.一种基于深度学习的烟叶烟丝杂质检测方法,其特征在于,包括十个步骤:
2.根据权利要求1所述的异常检测方法,其特征在于,包括六个步骤:
3.根据权利要求1所述的杂质分类方法,其特征在于,包括九个步骤:
4.根据权利要求1所述的方法,其特征在于,还包括:
5.根据权利要求1所述的方法,其特征在于,还包括:
6.根据权利要求4所述的方法,其特征在于,还包括:
7.一种基于深度学习的烟叶烟丝杂质检测系统,其特征在于,包含推理子系统、外部信号控制子系统、显示子系统、标注子系统、训练子系统
8.根据权利要求7所述的推理子系统,其特征在于,包含图像传输单元、杂质检测算法单元、异常检测算法单元、杂质分类算法单元