前言 缺陷检测是工业上非常重要的一个应用,由于缺陷多种多样,传统的机器视觉算法很难做到对缺陷特征完整的建模和迁移,复用性不大,要求区分工况,这会浪费大量的人力成本。 于是最近小编找来了某个大数据竞赛中的一道缺陷检测题目,在开源目标检测框架的基础上实现了一个用于布匹瑕疵检测的模型。现将过程稍作总结,供各位同学参考。 问题简介 01 1 实际背景 布匹的疵点检测是纺织工业中的一个十分重要的环节。当前,在纺织工业的布匹缺陷检测领域,人工检测仍然是主要的质量检测方式。 2 题目内容 开发出高效准确的深度学习算法,检验布匹表面是否存在缺陷,如果存在缺陷,请标注出缺陷的类型和位置。 例如针对本次布匹缺陷检测数据集中部分缺陷种类样本数量少、缺陷目标较小的问题,我们可以通过过采样种类较少的样本、数据增广、增加anchor的数量等方法来进一步提高模型的准确率。
基于PyQt、YOLO和DeepSeek的布匹缺陷检测系统结合了前沿的计算机视觉技术与深度学习算法,能够在不依赖人工干预的情况下自动检测并分类布匹上的各种缺陷。 通过使用深度学习和计算机视觉的先进技术,布匹缺陷检测系统可以在短时间内完成大量布匹的质量检查,确保产品符合高标准的质量要求。 6.布匹缺陷布匹是由纤维经过纺纱、织造或编织等工艺制成的材料,广泛应用于服装、家纺及工业领域。 布匹缺陷不仅影响美观,还可能降低其强度和使用寿命,因此在生产和检验环节中需要严格把控质量。7.布匹缺陷检测的意义1.纺织厂的自动化质量检测在传统的纺织生产过程中,布匹质量的检测通常由人工完成。 通过搭建在在线平台上的布匹缺陷检测系统,消费者可以通过上传布匹样本图像,自动检测出布匹上可能存在的各种缺陷,如水印、破洞、色差等。
数据集格式:Pascal VOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)
【算法介绍】 基于YOLOv8的布匹缺陷检测系统是一种高效且准确的解决方案,旨在提升纺织行业中的质量控制和自动化检测水平。 该系统利用YOLOv8这一先进的深度学习算法,通过深度神经网络对布匹图像进行特征提取和分类,能够实时、准确地检测出布匹在生产过程中出现的各种缺陷,如破洞、污渍、色差等。 在构建该系统时,首先需要收集并标注包含各种布匹缺陷的图像数据集,用于训练和优化YOLOv8模型。 训练完成后,将模型部署到实际生产环境中,通过摄像头或图像传感器实时捕获布匹图像,并自动进行缺陷检测和识别。 该系统不仅提高了布匹检测的速度和准确性,还降低了人工检测的成本和误差。 总之,基于YOLOv8的布匹缺陷检测系统为纺织行业的质量控制和自动化检测提供了强有力的支持,是智能制造领域的一项重要技术创新。
文章目录 一、缺陷的基本概述 1、缺陷的定义(重要): 2、缺陷属性 二、缺陷的生命周期(重要) 三、缺陷的识别 四、缺陷报告 五、测试需求、测试用例、缺陷报告的关系? 提交缺陷时能不能夸大或降低缺陷的严重程度或者优先级? 不能,不能搞“狼来了”,也不能搞私人关系,”帮”好朋友减少不良影响。要公正、客观。 4、缺陷的状态: 缺陷状态指缺陷的处理进度。 5、缺陷的起源: 缺陷起源是指缺陷引起的故障或事件第一次被检测到的阶段。 缺陷起源有:需求、构架、设计、编码、测试、用户。 6、缺陷的来源: 缺陷来源指缺陷的起因。缺陷被发现的阶段,直接原因。 2、提交缺陷。由测试人员提交。 3、确认缺陷。一般由测试主管、质量保证、产品经理进行确认。 4、分配缺陷。经确认后,有效的缺陷会指派给相关人员进行处理。一般由谁确认的缺陷,就由谁分配。 缺陷描述的准则:可再现,除了类似闪退、崩溃等不可再现的缺陷。不做评价,不对缺陷出现的严重程度和缺陷表现出来的效果进行主观臆断。 提交人。 备注。一般写产生该缺陷的特殊情况。
大赛基于阿里云天池平台,提供数千份精标注布样数据,以“视觉计算辅助良品检验”为主题,聚焦布匹疵点智能识别,开展大数据与人工智能技术在布匹疵点识别上的应用探索,助力工业制造良品提升。 题目背景:布匹疵点检验是纺织行业生产和质量管理的重要环节,目前的人工检验速度慢、劳动强度大,受主观因素影响,缺乏一致性。 在我们实验尝试中,也发现常规的检测模型效果不如分类模型,可能是因为一些布匹缺陷融入背景中,很难区分边界的原因,边界回归效果不好。 首先从解决先前的三个难点入手,来实现布匹缺陷的智能识别。 ? 经过我们探讨,选择分类框架作为我们的基础框架,如左图。针对样本不平衡会导致梯度的更新方向被数量多的正常样本主导,重要的信息被掩盖。 针对缺陷尺度变化大的问题,单一尺度的patch不能完全应对不同尺寸的布匹缺陷,顾此失彼;继续从数据层面入手的,把patch的扩充到3个尺度,较为有效应对该问题。 ? 这里是大概的试验对比。1.
“无缺陷”图像显示的背景纹理没有缺陷,“无缺陷”图像的背景纹理上恰好有一个标记的缺陷。 所有数据集已随机分为大小相等的训练和测试子数据集。 弱标签以椭圆形表示,大致表示缺陷区域。 七、天池布匹缺陷数据(竞赛) 数据下载链接: https://pan.baidu.com/s/1LMbujxvr5iB3SwjFGYHspA 提取码:gat2 数据介绍:在布匹的实际生产过程中,由于各方面因素的影响 ,会产生污渍、破洞、毛粒等瑕疵,为保证产品质量,需要对布匹进行瑕疵检测。 布匹疵点检验是纺织行业生产和质量管理的重要环节,目前人工检测易受主观因素影响,缺乏一致性;并且检测人员在强光下长时间工作对视力影响极大。 由于布匹疵点种类繁多、形态变化多样、观察识别难道大,导致布匹疵点智能检测是困扰行业多年的技术瓶颈。本数据涵盖了纺织业中布匹的各类重要瑕疵,每张图片含一个或多种瑕疵。
1、缺陷趋势分析: 缺陷趋势分析是我们接触最多的缺陷分析模型,通过对项目每日打开缺陷,每日修复缺陷以及当前遗留缺陷的数量进行汇总,通过折线图进行缺陷数量增加和减少的趋势进行分析,以此来了解测试效率及研发修复缺陷效率 如缺陷趋势分析图中所示,红色线条为每日打开的缺陷数量,绿色为每日修复缺陷数量,紫色为当前遗留缺陷数量。那么通过这个分析图我们能看出什么内容呢? 从整体趋势看测试效率和质量还是很高的,80%的缺陷都是在测试的中前期发现的,在后期及回归中缺陷增速小而平稳,也体现了研发的修复质量很高,引入新的缺陷较少。 随着新增缺陷速度降低,研发的修复速度会超过新增速度,遗留缺陷逐渐减少,最终全部关闭,如果在新增缺陷曲线不断下降时,研发修复缺陷数量仍然低于新增缺陷数量,则说明研发资源存在瓶颈,应及时与项目经理沟通,协调研发资源 3、遗留缺陷曲线反映当前项目风险以及缺陷的存活周期,如果遗留缺陷比较多,而且优先级高的缺陷占比较大,那么久存在一定测试风险,测试应当及时与研发沟通咨询出现此类情况的原因,积极协调促进问题的解决,到了测试中期如果待修复缺陷依然比较高无下降趋势
缺陷的分类 严重程度:严重一般、次要、轻微、 优先级:立即解决、高级优先、正常排队、低优先级 种类:界面、功能、安全、兼容、性能 阶段:需求、架构、设计、编码、测试 缺陷报告核心要素(8):缺陷编号 、缺陷标题、缺陷状态、重现步骤、严重程度、优先级、缺陷类型、测试环境 缺陷八种状态:新建、指派、打开、修复、拒绝、延期、关闭、重新打开。
最近,有许多朋友都在关注缺陷检测领域,今天来看看缺陷检测。 6)天池布匹缺陷数据(竞赛) 数据下载链接: https://pan.baidu.com/s/1LMbujxvr5iB3SwjFGYHspA 提取码:gat2 在布匹的实际生产过程中,由于各方面因素的影响 ,会产生污渍、破洞、毛粒等瑕疵,为保证产品质量,需要对布匹进行瑕疵检测。 布匹疵点检验是纺织行业生产和质量管理的重要环节,目前人工检测易受主观因素影响,缺乏一致性;并且检测人员在强光下长时间工作对视力影响极大。 由于布匹疵点种类繁多、形态变化多样、观察识别难道大,导致布匹疵点智能检测是困扰行业多年的技术瓶颈。本数据涵盖了纺织业中布匹的各类重要瑕疵,每张图片含一个或多种瑕疵。
基本原则:尽快报告缺陷、有效描述缺陷、报告缺陷时不做任何评价、确保缺陷可以重现 软件缺陷是存在于软件之中的那些不希望或不可能接受的偏差 软件测试过程管理的理念:尽早测试、全面测试、全过程测试、独立迭代测试 缺陷报告的写作准则 书写清晰、完整的缺陷报告是对保证缺陷正确处理的最佳手段。 为了书写更优良的缺陷报告,需要遵守“5C”准则: · Correct(准确):每个组成部分的描述准确,不会引起误解; · Clear(清晰):每个组成部分的描述清晰,易于理解; · Concise (简洁):只包含必不可少的信息,不包括任何多余的内容; · Complete(完整):包含复现该缺陷的完整步骤和其他本质信息; · Consistent(一致):按照一致的格式书写全部缺陷报告。
软件测试缺陷报告 一、软件缺陷定义 二、常见的软件缺陷 三、软件缺陷产生原因 四、软件缺陷的生命周期 五、软件缺陷报告应包含的内容 六、缺陷报告模板 七、企业案例分析 一、软件缺陷定义 软件缺陷是计算机或程序中存在的会导致用户不能或者不方便完成功能的问题 缺陷的存在会导致产品在某种程度上不能满足用户的需要 IEEE729-1983对缺陷的定义为:从产品内部看,缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题;从产品外部看,缺陷是系统所需要实现的某种功能的失效或违背 运行速度慢或占用资源多 三、软件缺陷产生原因 软件自身的复杂性 技术问题 管理问题 人员问题 四、软件缺陷的生命周期 五、软件缺陷报告应包含的内容 序号 属性项 是否必须 说明 1 标题 是 缺陷的标题 4 缺陷状态 是 用于缺陷的跟踪,描述缺陷的状态,比如新建。 ,对后续缺陷的解决以及缺陷分析都有重要意义,在报告缺陷的时候要给出正确的选项。
,2)#绘制凸包 hull=cv2.convexHull(cnt,returnPoints=False)#计算凸包 defects=cv2.convexityDefects(cnt,hull)#计算凸缺陷 for j in range(defects.shape[0]):#构造凸缺陷 s,e,f,d=defects[j,0] start=tuple(cnt[s][0]) end= tuple(cnt[e][0]) far=tuple(cnt[f][0]) cv2.line(gray,start,end,[0,0,0],2)#绘制凸缺陷 cv2.circle () 算法:凸缺陷是图像上的所有凹陷,是图像外轮廓和凸包之间存在的偏差。 理解物体形状或轮廓的一种方法便是计算一个物体的凸包,然后计算其凸缺陷。每个缺陷区包含4个特征量:起点、终点、距离和最远点。起点和终点画一条直线,在最远点画个圆,构成凸缺陷区。
本篇将带你简单了解一下软件测试中的缺陷,以及如何进行缺陷管理。 一、概述 1、定义 软件在使用过程中存在的任何问题都叫软件的缺陷,也称bug。 4)运行阶段 软硬件系统本身故障导致软件缺陷 4、缺陷生命周期 5、缺陷核心内容 6、缺陷提交要素 7、缺陷常见类型 主要有功能错误、界面错误、兼容性、易用性等,如下 8、缺陷流程及编写 8.1 缺陷报告示例 8.2 缺陷标题描述 8.3 缺陷的跟踪流程(重点) 8.4 提交缺陷注意事项 1)可重现:缺陷可以复现 2)规范性:符合公司或者项目要求 3)唯一性:一个缺陷上报一个问题 8.5 缺陷编写规范 1) 4)次序清晰:描述缺陷过程有条件有先后顺序。 10、总结(重点) 1)什么是缺陷? 软件使用过程中存在的各种问题都是缺陷。 2)缺陷优先级如何划分? 3)发现缺陷后该如何理? 首先要确保复现 4)缺陷类型?
1 定义 概述:标识并描述发现的缺陷,具有清晰、完整和可重现问题所需的信息的文档。 理解:测试人员发现缺陷,将缺陷记录在《缺陷报告》中,通过缺陷报告将缺陷告知给开发人员,并对缺陷进行跟踪和管理。 八项:缺陷编号、缺陷状态、缺陷标题、重现步骤、严重程度、优先级、缺陷类型、测试环境。 缺陷编号 缺陷的唯一标识符 缺陷状态 缺陷跟踪过程的进展情况 缺陷处理流程.png 缺陷状态.png 新建:刚发现的缺陷 已指派:已经由测试人员将缺陷指派给开发人员进行处理 ,发现缺陷任然存在, 缺陷标题 缺陷的概述,描述问题本质 重现步骤 ①一步一步描述再现缺陷的操作步骤 ②预期结果 ③实际结果 严重程度 缺陷对软件系统的影响程度 优先级 修复缺陷的重要性或紧迫性 缺陷类型 根据缺陷产生的来源和根源划分出的缺陷种类 功能、配置、安装、性能缺陷 测试环境 测试环境配置,包括软件环境和硬件环境 7 缺陷报告编写技巧 1、对错误的描述要做到简洁、准确、完整,揭示错误实质
缺陷的标题一。。 测试报告是对BUG的统计,计划的实施,后面测试计划的安排,测试工具测试人员的统计,以及测试结束后的建议性报告。缺陷报告基本就是对BUG的统计和归纳等。范。。 1,首先要列一个报告提纲; 2,在总结经验的基础上指出存在问题; 3,根据存在问题(或缺陷)提出改进措施。。 我是做加工的,是在我管辖之下出现了一批不合格品。 要写清楚质量事故究竟是什么事故,是什么原因造成的,是批量还是单件,是工艺上的缺陷,还是设备缺陷造成的,还是人员操作失误造成的,纠正措施,预防措施,补救。。 这个看你们自己规定的流程了。 一般情况下,测试执行人员的缺陷报告会提交给测试经理,通过测试经理。。 要写整改报告,要求有事情经过,原因分析,改正措施等,最好有范文啊,情。。
作者:江保祥,厦门大学 一、布匹缺陷检测比赛分析 1. 赛题背景 去年的广东工业大赛已入选到全球人工智能技术大赛热身赛,大赛聚焦布匹疵点智能检测,要求选手研究开发高效可靠的计算机视觉算法,提升布匹疵点检验的准确度,降低对大量人工的依赖,提升布样疵点质检的效果和效率 比赛难点 种类较多,且数据分布不均 缺陷形状具有极端的长宽比 图片尺寸较大,部分缺陷尺寸小,小目标问题。 开源框架选择 任务分析 此次任务是布匹瑕疵检测,首先考虑的应该是目标检测框架。 前面我们提到该布匹缺陷检测任务的难点主要有: 数据种类分布不均匀 缺陷具有极端的长宽比 小目标问题 1.
原图来自Ihalcon论坛 缺陷如在下图圆框中 ? 首先,阈值分割+形态学处理,将包含边缘部分图像进行抠图 然后使用canny滤波器进行边缘检测 如下图红、绿双线 ? 计算待检测边缘上的点到平滑后边缘的距离,超过一定阈值公差即为缺陷 如下图 ? 缺陷检测关键代码 *选择待检测边缘 select_obj(UnionContours, ObjectSelected, Index) *平滑边缘 smooth_contours_xld (ObjectSelected, SmoothedContours, 89) *阈值公差 disTH := 5 *用于保存缺陷边缘X坐标 flawPtsX :=[] *用于保存缺陷边缘Y坐标 flawPtsY :=[] *得到待检测边缘点坐标 get_contour_xld(ObjectSelected,
缺陷标题:描述缺陷的标题 缺陷标签:用于缺陷归类 缺陷的详细描述:对缺陷的详细描述,缺陷如何复现的步骤等等,之所以把这项单独列出来,是因为对缺陷描述的详细程度直接影响开发人员对缺陷的修改,描述应该尽可能详细 2 缺陷管理缺陷管理是一个缺陷从被发现到缺陷修复的系统过程,也叫缺陷生命周期管理。 缺陷管理周期包含以下阶段:1)发现缺陷2)记录缺陷3)修复缺陷4)验证缺陷5)Reopen/关闭缺陷6)统计缺陷2.1 发现缺陷在发现阶段,项目团队必须在项目交付之前,尽可能多地发现缺陷。 (已解决的缺陷/缺陷总数)*100%开发缺陷生存周期缺陷从提交到关闭的平均时间开发、测试缺陷修复的平均时长缺陷从提交到修复的平均时间开发缺陷关闭的平均时长缺陷从修复到关闭的平均时间测试缺陷探测率(测试发现的缺陷数 /(测试发现的缺陷+客户发现的缺陷))*100%测试质量缺陷拒绝率(缺陷拒绝修复数/缺陷总数)*100%测试质量缺陷逃逸率(线上缺陷/(提交缺陷数量+线上缺陷))*100%测试质量以缺陷拒绝率为例,假如测试提出
1 软件缺陷 缺陷是一种泛称,它可以指功能的错误,也可以指性能低下,易用性差等 并不是所有的测试人员都能提交被开发认可的缺陷,也不是测试人员在任何时候都能提交被开发认可的缺陷 2 什么是软件缺陷 软件未达到产品说明书标准的功能 边界条件软件缺陷、内存泄漏和数据溢出等白盒问题可能会慢慢自己显露出来 状态缺陷仅在特定软件状态中显露出来 考虑资源依赖性和内存、网络、硬件共享的相互作用 7 无法重新的BUG 8 缺陷报告包含的信息 1 易于搜索软件测试报告的缺陷 2 报告的软件缺陷进行必要的隔离、报告的缺陷信息具体、准确 3 软件开发人员希望获得缺陷的本质特征和复现步骤 4 市场和技术支持等部门希望获得缺陷类型分布以及对市场和用户的影响程度 ,不包括任何多余的内容 4 complete(完整):包含复现该缺陷的完整步骤和其他本质信息 5 consistent (一致):按照一致的格式书写全部缺陷报告 10 缺陷报告的组织架构 1 缺陷的标题 2 缺陷的基本信息 3 测试的软件和硬件的环境 4 测试的软件版本 5 缺陷的类型 6 缺陷的严重程度 7 缺陷的处理优先级 8 复现缺陷的操作步骤 9 缺陷的实际结构描述 10 期望的正确结果描述