首页 / 专利库 / 农用化学品和农药 / 迁移性 / 一种基于yolo3网络的布匹瑕疵检测方法

一种基于yolo3网络的布匹瑕疵检测方法

阅读:763发布:2020-05-12

专利汇可以提供一种基于yolo3网络的布匹瑕疵检测方法专利检索,专利查询,专利分析的服务。并且本 发明 特别涉及一种基于yolo3网络的布匹瑕疵检测方法。该基于yolo3网络的布匹瑕疵检测方法,利用python语言实现,以yolo3网络为 框架 ,利用回归损失函数和分类损失函数,对已标注的布匹样本进行训练,得到训练好的模型,通过训练好的模型检测布匹是否包含疵点,以及疵点的具体 位置 和类别。该基于yolo3网络的布匹瑕疵检测方法,利用yolo3网络架构进行 缺陷 检测,模型泛化能 力 强,可 迁移性 强,不仅革新了质检流程,能够自动完成质检任务,而且使用Focal Loss作为分类损失函数,解决了检测中正负样本比例严重失衡的问题,提高了检测 精度 。,下面是一种基于yolo3网络的布匹瑕疵检测方法专利的具体信息内容。

1.一种基于yolo3网络的布匹瑕疵检测方法,其特征在于:利用python语言实现,以yolo3网络为框架,利用回归损失函数和分类损失函数,对已标注的布匹样本进行训练,得到训练好的模型,通过训练好的模型检测布匹是否包含疵点,以及疵点的具体位置和类别。
2.根据权利要求1所述的基于yolo3网络的布匹瑕疵检测方法,其特征在于,包括以下步骤:
第一步,准备布匹图像数据,对布匹图像数据中瑕疵位置以及瑕疵种类进行人工标注;
第二步,利用python中opencv包对标注后的图像数据进行图像增光;
第三步,将增光后图像数据转为Pascal VOC数据集格式,并通过yolo3网络进行目标检测训练;
第四步,保存训练好的模型,并利用保存的模型对新的布匹图像数据进行预测,判断是否有瑕疵,并标定相应类别即可。
3.根据权利要求2所述的基于yolo3网络的布匹瑕疵检测方法,其特征在于:所述第一步中,使用labelImg工具对布匹图像数据进行人工标注,包括布匹缺陷类型C,以及缺陷位置坐标P=(x1,y1,x2,y2),其中(x1,y1),(x2,y2)分别代表图像左上与右下角坐标。
4.根据权利要求2所述的基于yolo3网络的布匹瑕疵检测方法,其特征在于:所述第二步中,对标注后的布匹图像进行增光处理,包括进行平与垂直翻转、模糊处理、亮度变换和扩充图像训练数据,同时注意增广后图像缺陷坐标转换。
5.根据权利要求2所述的基于yolo3网络的布匹瑕疵检测方法,其特征在于:所述第三步中,将进行增光处理后得到的的布匹图像数据集拆分为训练集和验证集,以80%数据作为训练集进行训练,剩下20%数据作为验证集进行验证。
6.根据权利要求2或5所述的基于yolo3网络的布匹瑕疵检测方法,其特征在于:所述第三步中,使用Smooth L1 Loss函数作为回归损失函数,使用Focal Loss函数作为分类损失函数,对模型进行训练。
7.根据权利要求5所述的基于yolo3网络的布匹瑕疵检测方法,其特征在于:所述第三步中,对缺陷位置坐标P采用Smooth L1 Loss函数作为回归损失函数,所述Smooth L1 Loss函数公式如下:
其中,δ=3,x=P-P*;P(x1,y1,x2,y2)为缺陷位置实际坐标,P*(x1*,y1*,x2*,y2*)为缺陷位置预测坐标,对P和P*四个坐标点分别作差得到四个x,四个x分别求出其smooth L1损失,最后加和即可得到上述公式中的ΣsmoothL1(x)。
8.根据权利要求5所述的基于yolo3网络的布匹瑕疵检测方法,其特征在于:所述第三步中,对缺陷类型C采用Focal Loss函数作为分类损失函数,所述Focal Loss函数公式如下:
FL(pt)=-(1-pt)γlog(pt)
其中,p表示预测结果,y表示真实参考标准。

说明书全文

一种基于yolo3网络的布匹瑕疵检测方法

技术领域

[0001] 本发明涉及深度学习技术领域,特别涉及一种基于yolo3网络的布匹瑕疵检测方法。

背景技术

[0002] 在布匹的实际生产过程中,由于各方面影响,会产生污渍、破洞、毛粒等各种瑕疵,为保证产品质量,需要对布匹进行瑕疵检测。布匹疵点检验是纺织行业生产和质量管理的重要环节,但是由于布匹疵点种类繁多、形态变化多样、观察识别难道大,导致布匹疵点智能检测是困扰行业多年的技术瓶颈
[0003] 传统的人工检测的方法易受主观因素影响,缺乏一致性;并且检测人员在强光下长时间工作对视影响极大。
[0004] 近年来,随着人工智能技术突飞猛进,尤其是深度学习的技术已经成功的应用到很多领域中,例如图像识别语音识别、NLP和目标检测等领域中,在工业质检场景中也取得了不错的成果。纺织行业迫切希望借助最先进的技术,实现布匹疵点智能检测。
[0005] 针对以上情况,本发明提出了一种基于yolo3网络的布匹瑕疵检测方法。

发明内容

[0006] 本发明为了弥补现有技术缺陷,提供了一种简单高效的基于yolo3网络的布匹瑕疵检测方法。
[0007] 本发明是通过如下技术方案实现的:
[0008] 一种基于yolo3网络的布匹瑕疵检测方法,其特征在于:利用python语言实现,以yolo3网络为框架,利用回归损失函数和分类损失函数,对已标注的布匹样本进行训练,得到训练好的模型,通过训练好的模型检测布匹是否包含疵点,以及疵点的具体位置和类别。
[0009] 该基于yolo3网络的布匹瑕疵检测方法,包括以下步骤:
[0010] 第一步,准备布匹图像数据,对布匹图像数据中瑕疵位置以及瑕疵种类进行人工标注;
[0011] 第二步,利用python中opencv包对标注后的图像数据进行图像增光;
[0012] 第三步,将增光后图像数据转为Pascal VOC数据集格式,并通过yolo3网络进行目标检测训练;
[0013] 第四步,保存训练好的模型,并利用保存的模型对新的布匹图像数据进行预测,判断是否有瑕疵,并标定相应类别即可。
[0014] 所述第一步中,使用labelImg工具对布匹图像数据进行人工标注,包括布匹缺陷类型C,以及缺陷位置坐标P=(x1,y1,x2,y2),其中(x1,y1),(x2,y2)分别代表图像左上与右下角坐标。
[0015] 所述第二步中,对标注后的布匹图像进行增光处理,包括进行平与垂直翻转、模糊处理、亮度变换和扩充图像训练数据,同时注意增广后图像缺陷坐标转换。
[0016] 所述第三步中,将进行增光处理后得到的的布匹图像数据集拆分为训练集和验证集,以80%数据作为训练集进行训练,剩下20%数据作为验证集进行验证。
[0017] 所述第三步中,使用Smooth L1 Loss函数作为回归损失函数,使用Focal Loss函数作为分类损失函数,对模型进行训练。
[0018] 所述第三步中,对缺陷位置坐标P采用Smooth L1 Loss函数作为回归损失函数,所述Smooth L1 Loss函数公式如下:
[0019]
[0020] 其中,δ=3,x=P-P*;P(x1,y1,x2,y2)为缺陷位置实际坐标,P*(x1*,y1*,x2*,y2*)为缺陷位置预测坐标,对P和P*四个坐标点分别作差得到四个x,四个x分别求出其smooth L1损失,最后加和即可得到上述公式中的ΣsmoothL1(x)。
[0021] 所述第三步中,对缺陷类型C采用Focal Loss函数作为分类损失函数,所述Focal Loss函数公式如下:
[0022]
[0023] FL(pt)=-(1-pt)γlog(pt)
[0024]
[0025] 其中,p表示预测(predict)结果,y表示真实参考标准(ground truth label)。
[0026] 本发明的有益效果是:该基于yolo3网络的布匹瑕疵检测方法,利用yolo3网络架构进行缺陷检测,模型泛化能力强,可迁移性强,不仅革新了质检流程,能够自动完成质检任务,而且使用Focal Loss作为分类损失函数,解决了检测中正负样本比例严重失衡的问题,提高了检测精度附图说明
[0027] 附图1为本发明基于yolo3网络的布匹瑕疵检测方法示意图。

具体实施方式

[0028] 为了使本技术领域的人员更好的理解本发明中的技术方案,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚,完整的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0029] yolo(You Only Look Once:Unified,Real-Time Object Detection),是基于单个神经网络的目标检测系统,是一个可以一次性预测多个Box位置和类别的卷积神经网络,能够实现端到端的目标检测和识别,其最大的优势就是速度快。事实上,目标检测的本质就是回归,因此一个实现回归功能的CNN并不需要复杂的设计过程。yolo没有选择滑动窗口(silding window)或提取proposal的方式训练网络,而是直接选用整图训练模型。这种处理方式可以更好的区分目标和背景区域,相比之下,采用proposal训练方式的Fast-R-CNN常常把背景区域误检为特定目标。
[0030] python语言是一种计算机程序设计语言,具体的说,是一种完全面向对象的动态类型语言。函数、模、数字、字符串都是它的对象,并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。Python支持重载运算符和动态类型。
[0031] 作为一种解释型脚本语言,python语言可以应用于Web与Internet开发、科学计算和统计、教育、桌面界面开发、软件开发以及后端开发等多个领域。
[0032] 该基于yolo3网络的布匹瑕疵检测方法,利用python语言实现,以yolo3网络为框架,利用回归损失函数和分类损失函数,对已标注的布匹样本进行训练,得到训练好的模型,通过训练好的模型检测布匹是否包含疵点,以及疵点的具体位置和类别。
[0033] 该基于yolo3网络的布匹瑕疵检测方法,包括以下步骤:
[0034] 第一步,准备布匹图像数据,对布匹图像数据中瑕疵位置以及瑕疵种类进行人工标注;
[0035] 第二步,利用python中opencv包对标注后的图像数据进行图像增光;
[0036] 其中,opencv是一个计算机视觉机器学习的开源库。拥有2500+个优化算法,是一套非常全面的既经典又最先进的计算机视觉和机器学习算法的集合。
[0037] 第三步,将增光后图像数据转为Pascal VOC数据集格式,并通过yolo3网络进行目标检测训练;
[0038] 第四步,保存训练好的模型,并利用保存的模型对新的布匹图像数据进行预测,判断是否有瑕疵,并标定相应类别即可。
[0039] 所述第一步中,使用labelImg(图像标注工具)工具对布匹图像数据进行人工标注,包括布匹缺陷类型C,以及缺陷位置坐标P=(x1,y1,x2,y2),其中(x1,y1),(x2,y2)分别代表图像左上角与右下角坐标。
[0040] 所述第二步中,对标注后的布匹图像进行增光处理,包括进行水平与垂直翻转、模糊处理、亮度变换和扩充图像训练数据,同时注意增广后图像缺陷坐标转换。
[0041] 所述第三步中,将进行增光处理后得到的的布匹图像数据集拆分为训练集和验证集,以80%数据作为训练集进行训练,剩下20%数据作为验证集进行验证。
[0042] 所述第三步中,使用Smooth L1 Loss函数作为回归损失函数,使用Focal Loss函数作为分类损失函数,对模型进行训练。
[0043] 所述第三步中,对缺陷位置坐标P采用Smooth L1 Loss函数作为回归损失函数,所述Smooth L1 Loss函数公式如下:
[0044]
[0045] 其中,δ=3,x=P-P*;P(x1,y1,x2,y2)为缺陷位置实际坐标,P*(x1*,y1*,x2*,y2*)为缺陷位置预测坐标,对P和P*四个坐标点分别作差得到四个x,四个x分别求出其smooth L1损失,最后加和即可得到上述公式中的ΣsmoothL1(x)。
[0046] 所述第三步中,对缺陷类型C采用Focal Loss函数作为分类损失函数,所述Focal Loss函数公式如下:
[0047]
[0048] FL(pt)=-(1-pt)γlog(pt)
[0049]
[0050] 其中,p表示预测(predict)结果,y表示真实参考标准(ground truth label)。
[0051] 以上对本发明实例中的一种基于yolo3网络的布匹瑕疵检测方法进行了详细的介绍。本部分采用具体实例对发明的原理及实施方式进行了阐述,以上实例仅用于帮助理解本发明的核心思想,在不脱离本发明原理的情况下,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈