本发明涉及布匹检测领域,具体涉及一种基于机器学习的布匹缺陷检测方法及装置。
背景技术:
纺织工业是我国国民经济的支柱产业,纺织工业与钢铁、汽车、船舶、石化、轻工、有色金属、装备制造业、电子信息及物流业等产业一起,是我国主要的产业构成。纺织品生产过程中,布匹表面缺陷是影响布匹质量的关键因素。布面瑕疵直接影响到布匹的定级,二等品的价格只有一等品的45%-65%,织物疵点严重影响纺织行业经济收入。因此,布匹瑕疵检测在纺织品质量控制方面显得尤为重要。
长期以来,布匹检测一般由人工完成。人工检测速度一般在15-20米每分钟。人工检测依赖验布人员的经验和熟练程度,评价标准不稳定不一致,因而经常会产生误检和漏检,熟练的验布人员也只能发现约70%的疵点。另外,布匹缺陷检测对工人来说是一个繁重无味的体力劳动,且极大的伤害了验布工人的视力。使用自动布匹检测系统是纺织厂提高生产效率,节省人力成本,产业转型升级的必经之路。
申请号为:201410467132.5的中国专利公开了“基于机器视觉的布匹疵点自动检测识别装置及方法”,该装置及方法虽然克服传统人工目检测速度慢、精度低、漏检率高、误检率高的缺陷,但是其不具有自我学性能,随着工业的发展,它将难以满足更高的工业需求。
技术实现要素:
本发明的目的旨在提供一种基于机器学习的布匹缺陷检测方法及装置,能够将工人从繁重无味的体力劳动中解脱出来,并且该基于机器学习的布匹缺陷检测方法及装置具有自我学习功能,可以满足不断发展的工业需求。
为实现上述技术方案,本发明提供了一种基于机器学习的布匹缺陷检测方法,包括以下步骤:
步骤1:图像分割,为了方便后续处理,将采集图像同一分割为256*256的子图像;
步骤2:图像预处理;
步骤3:子图像特征提取,采用基于gabor小波变换和投影法结合的图像处理方法提取子图像的特征参数;
步骤4:布匹疵点检测;
步骤5:布匹疵点分类。
优选的,所述步骤2具体如下:
步骤21:图像增强,提取有效区域;
步骤22:图像去噪,采用高斯滤波器去除噪声;
步骤23:疵点区域分割,将布匹疵点区域从整幅图像中分割出来。
优选的,所述步骤4具体如下:
步骤41:离线布匹学习阶段,将工业相机拍摄的无疵点的布匹图像作为标准图像存入工控机,采用基于小波变换和投影法结合的图像处理方法提取标准图像的特征参数,包括布匹图像的均值和方差,将特征参数作为bp神经网络的输入信号,使用bp神经网络对特征参数进行训练,然后进行输出,输出信号作为在线布匹检测的标准值;
步骤42:在线布匹检测阶段,将步骤3中提取的子图像特征参数作为输入信号,使用bp神经网络对子图像特征参数进行检测,通过与标准值对比将被检测布匹分为有缺陷、伪缺陷和无缺陷三类
优选的,所述步骤5具体如下:
步骤51:布匹疵点分类阶段,对步骤4中检测到的疵点图像,采用基于卷积神经网络的深度学习算法对布匹缺陷进行分类,具体包括三步骤:
步骤511:利用多层卷积神经网络自动选取抽象高层特征向量,所述多层卷积神经网络包括输入层、卷积层、采样层和输出层,所述多层卷积神经网络具体如下:
输入层,输入层没有输入值,只有一个输出向量,这个向量的大小就是图片的大小,即一个28*28矩阵;
卷积层,卷积层的输入来源于输入层或者采样层,如图4红色部分,卷积层的每一个map都有一个大小相同的卷积核,本发明采用5*5的卷积核,以卷积核大小2*2为例,上一层的特征map大小为4*4,用这个卷积在图片上滚一遍,得到一个一个(4-2+1)*(4-2+1)=3*3的特征map,卷积核每次移动一步,因此,卷积层的一个map与上层的所有map都关联,如图3的s2和c3,即c3共有6*12个卷积核,卷积层的每一个特征map是不同的卷积核在前一层所有map上作卷积并将对应元素累加后加一个偏置,再由sigmoid激活函数得到输出;
采样层,采样层是对上一层map的一个采样处理,采样方式是对上一层map的相邻小区域进行聚合统计,区域大小为scale*scale,有些实现是取小区域的最大值,本发明采用2*2小区域的均值;
输出层,输出层与最后的采样层s4全连接,提取布匹整体的特征信息,得到最终布匹图像的高层特征向量,用于后续的分类器的输入;
步骤512:利用softmax分类器对提取到的抽象高层特征向量进行分类,完成布匹缺陷分类;
步骤513:基于多gpu的快速训练模型,即采用具有多个gpu的工作站,每个gpu的速度基本接近,并且都含有足够的内存来运行整个基于多层的卷积神经网络深度学习布匹分类算法。
本发明还提供了一种基于机器学习的布匹缺陷检测方法的检测装置,包括:
图像采集单元,用于布匹图像的实时采集,所述图像采集单元包括红外光源和工业相机,图像处理单元,用于对采集到的布匹缺陷进行检测分类,并将检测结果生成报告,所述图像处理单元包括工控机,数据通信单元,所述数据通信单元包括上位机和下位机,并且能实现上位机和下位机的数据通信,动作执行单元,所述动作执行单元包括编码器和打标机,所述图像采集单元设置在被检测布匹上方。
优选的,所述图像采集单元中的红外光源是led条形红外光源,所述图像采集单元中的工业相机是ccd线阵工业相机,led条形红外光源发出的光经过被检测的布匹反射后能被ccd线阵工业相机接收。
优选的,所述工控机上搭载有图像处理软件,所述图像处理软件包括软件界面显示模块、图像处理算法模块和数据库模块。
优选的,所述上位机和下位机之间采用以太网接口gige通信,采用以太网modbustcp/ip协议,telnet通信先进行握手,然后进行数据的读写操作,握手信号成功后,工控机充当客户端,通过tcpclient类中的connect方法进行网络通信,利用networkstream类来进行网络数据传输,实现上位机和下位机的数据通信。
本发明提供的一种基于机器学习的布匹缺陷检测方法及装置的有益效果在于:
1)本基于机器学习的布匹缺陷检测方法采用bp神经网络和卷积神经网络的深度学习算法对布匹进行疵点检测和疵点分类,这两种神经网络具有深度学习的功能,使得本发明更具智能化,能满足不断发展的工业需求。
2)本基于机器学习的布匹缺陷检测装置利用图像采集单元、工控机、上位机和下位机等机械电子设备对布匹缺陷进行快速精准地检测,且自动化程度高,解放了工人的生产力。
附图说明
图1为本发明的方法步骤流程图;
图2为本发明图像预处理流程图;
图3为本发明布匹疵点检测流程图;
图4为本发明的卷积神经网络模型图;
图5为本发明装置的结构简图;
图6为本发明的布匹缺陷的检测结果图。
图中:1、图像采集单元;101、红外光源;102、工业相机;2、图像处理单元;201、工控机;3、数据通信单元;301、上位机;302、下位机;4、动作执行单元;401、编码器;402、打标机。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,均属于本发明的保护范围。
实施例1:一种基于机器学习的布匹缺陷检测方法。
参照图1至图5任一所示,一种基于机器学习的布匹缺陷检测方法,具体包括如下步骤:
步骤1:图像分割,为了方便后续处理,将采集图像同一分割为256*256的子图像;
步骤2:图像预处理;所述步骤2具体如下:
步骤21:图像增强,提取有效区域;
步骤22:图像去噪,采用高斯滤波器去除噪声;
步骤23:疵点区域分割,将布匹疵点区域从整幅图像中分割出来。
步骤3:子图像特征提取,采用基于gabor小波变换和投影法结合的图像处理方法提取子图像的特征参数;
步骤4:布匹疵点检测;所述步骤4具体如下:
步骤41:离线布匹学习阶段,将工业相机102拍摄的无疵点的布匹图像作为标准图像存入工控机201,采用基于小波变换和投影法结合的图像处理方法提取标准图像的特征参数,包括布匹图像的均值和方差,将特征参数作为bp神经网络的输入信号,使用bp神经网络对特征参数进行训练,然后进行输出,输出信号作为在线布匹检测的标准值。
步骤42:在线布匹检测阶段,将步骤3中提取的子图像特征参数作为输入信号,使用bp神经网络对子图像特征参数进行检测,通过与标准值对比将被检测布匹分为有缺陷、伪缺陷和无缺陷三类。
步骤5:布匹疵点分类;所述步骤5具体如下:
步骤51:布匹疵点分类阶段,对步骤4中检测到的疵点图像,采用基于卷积神经网络的深度学习算法对布匹缺陷进行分类,具体包括三步骤:
步骤511:利用多层卷积神经网络自动选取抽象高层特征向量,所述多层卷积神经网络包括输入层、卷积层、采样层和输出层,所述多层卷积神经网络具体如下:
输入层,输入层没有输入值,只有一个输出向量,这个向量的大小就是图片的大小,即一个28*28矩阵;
卷积层,卷积层的输入来源于输入层或者采样层,如图4红色部分,卷积层的每一个map都有一个大小相同的卷积核,本发明采用5*5的卷积核,以卷积核大小2*2为例,上一层的特征map大小为4*4,用这个卷积在图片上滚一遍,得到一个一个(4-2+1)*(4-2+1)=3*3的特征map,卷积核每次移动一步,因此,卷积层的一个map与上层的所有map都关联,如图3的s2和c3,即c3共有6*12个卷积核,卷积层的每一个特征map是不同的卷积核在前一层所有map上作卷积并将对应元素累加后加一个偏置,再由sigmoid激活函数得到输出;
采样层,采样层是对上一层map的一个采样处理,采样方式是对上一层map的相邻小区域进行聚合统计,区域大小为scale*scale,有些实现是取小区域的最大值,本发明采用2*2小区域的均值;
输出层,输出层与最后的采样层s4全连接,提取布匹整体的特征信息,得到最终布匹图像的高层特征向量,用于后续的分类器的输入;
步骤512:利用softmax分类器对提取到的抽象高层特征向量进行分类,完成布匹缺陷分类;
步骤513:基于多gpu的快速训练模型,即采用具有多个gpu的工作站,每个gpu的速度基本接近,并且都含有足够的内存来运行整个基于多层的卷积神经网络深度学习布匹分类算法,用以下方式设计训练系统,在每个gpu上放置单独的模型副本,等所有gpu处理完一批数据后再同步更新模型的参数。
实施例2:一种基于机器学习的布匹缺陷检测装置。
参照图5所示,一种基于实施例1中基于机器学习的布匹缺陷检测方法的检测装置包括:
图像采集单元1,所述图像采集单元1包括红外光源101和工业相机102,图像处理单元2,所述图像处理单元2包括工控机201,数据通信单元3,所述数据通信单元3包括上位机301和下位机302,动作执行单元4,所述动作执行单元4包括编码器401和打标机402,编码器401检测运动布匹的速度信号,这个信号反馈给传送带电机,从而使得布匹速度与相机拍摄速度一致;上位机301将检测到的布匹缺陷的位置和类型发送给下位机302,下位机302控制打标机402对布匹进行标记,所述图像采集单元1设置在被检测布匹上方。
参照图3所示,所述图像采集单元1中的红外光源101是led条形红外光源,所述图像采集单元1中的工业相机102是ccd线阵工业相机,led条形红外光源发出的光经过被检测的布匹反射后能被ccd线阵工业相机接收,采用ccd线阵工业相机的原因是线阵ccd成本远低于同面积、同等分辨率的面阵ccd,线阵ccd相机获取的图像在扫描方向上的精度高于面阵ccd图像。
参照图3所示,所述工控机201上搭载有图像处理软件,所述图像处理软件包括软件界面显示模块、图像处理算法模块和数据库模块,软件界面显示模块是基于微软基础类库类(qt)在vs2015开发,包括用户模块、显示模块和图像信息管理模块,用户模块主要用于被检测布匹参数的初始化、用户管理和用户交互以及系统调试和通讯调试,显示模块主要是图像的分割、拼接、处理,图像信息管理模块用于记录布匹缺陷的位置和类型,以及布匹的评级结果,并把评定结果生成检测报告,以表格的格式保存下来;数据库模块采用odbc开发方式,采用sqlserver2000作为此系统数据库,数据库中使用三张数据库表来存储该检测系统的相关信息:t_person记录操作人员信息、t_damage记录布匹缺陷信息、t_statue记录检测系统运行状态,t_damage记录布匹缺陷信息的具体表现为:检测布匹编号、位置、记录布匹缺陷处的图片、图片路径,并将这些信息保存下来。
参照图3所示,所述上位机301和下位机302之间采用以太网接口gige通信,采用以太网modbustcp/ip协议,telnet通信先进行握手,然后进行数据的读写操作,握手信号成功后,工控机201充当客户端,通过tcpclient类中的connect方法进行网络通信,利用networkstream类来进行网络数据传输,实现上位机301和下位机302的数据通信。
以上所述为本发明的较佳实施例而已,但本发明不应局限于该实施例和附图所公开的内容,所以凡是不脱离本发明所公开的精神下完成的等效或修改,都落入本发明保护的范围。