awesome defect detection汇集多种表面缺陷检测方法的仓库,它包括了学术论文、开源工具、算法汇总以及数据集等。
包含基于深度学习的语义分割、目标检测以及对抗性网络(GAN)等技术,还关注了 PCB 电路板、钢材、胶囊、电池、织物和水果蔬菜等特定行业的应用。
语义分割可像素级确定缺陷区域,目标检测能定位图像中异常部分,基于 GAN 的方法提升识别准确性,且提供的代码库可直接用于实际项目开发。
开源项目地址是:https://github.com/tomhardy3dvisionworkshop/awesomedefectdetection
一、技术原理
1.基于深度学习的语义分割
原理:语义分割是一种对图像中的每个像素进行分类的技术,以确定每个像素属于缺陷区域还是正常区域。在表面缺陷检测中,通过大量已标注的包含缺陷和正常表面的图像数据对神经网络进行训练,网络学习到不同类别像素的特征表示,从而能够在新的图像中准确地分割出缺陷区域。例如,在检测金属表面的裂纹时,网络经过训练后可以识别出图像中裂纹所在的像素,将其与正常金属表面的像素区分开来。
应用案例:在电子元件表面缺陷检测中,可精确地找出焊点的虚焊、短路等缺陷区域;在纺织品瑕疵检测中,能定位织物上的疵点、色差等问题。
2.基于深度学习的目标检测
原理:目标检测旨在从图像中定位和识别出特定的目标物体或区域,在表面缺陷检测中,将缺陷视为目标进行检测。常用的目标检测算法基于卷积神经网络(CNN),如Faster RCNN、SSD等,先通过卷积层提取图像特征,然后生成一系列的候选区域,再对这些候选区域进行分类和回归,确定缺陷的位置和类别。以检测汽车车身表面的凹陷为例,模型能够在图像中准确地框选出凹陷的位置,并判断其严重程度。
应用案例:可用于检测机械零件表面的磨损、孔洞等缺陷,以及食品包装上的印刷错误、变形等问题 。
3.基于对抗性网络(GAN)
原理:GAN由生成器和判别器组成,生成器试图生成与真实数据相似的假数据,判别器则负责区分真实数据和生成器生成的假数据。在表面缺陷检测中,生成器学习正常表面的特征分布,生成正常表面的图像,判别器则学习区分正常表面和带有缺陷的表面。通过不断地对抗训练,生成器能够更好地模拟正常表面,从而使判别器对缺陷更加敏感,提高缺陷检测的准确性。例如,在检测塑料薄膜表面的气泡缺陷时,GAN可以学习到正常薄膜的纹理和外观,当有气泡缺陷的图像输入时,判别器更容易发现异常。
应用案例:适用于一些难以获取大量缺陷样本的场景,如航空航天零部件的罕见缺陷检测,以及文物表面细微损伤的检测等 。
4.传统机器视觉方法
原理:传统机器视觉方法通常基于图像的灰度值、颜色、纹理、形状等特征进行分析。首先对图像进行预处理,如灰度化、滤波、增强等操作,以提高图像质量和突出缺陷特征。然后提取图像的特征,如边缘特征、纹理特征等,通过与预设的阈值或模板进行比较,判断是否存在缺陷以及缺陷的位置和类型。例如,在检测木材表面的节子时,可以通过分析木材纹理的变化来确定节子的位置和大小。
应用案例:在一些对精度要求不是特别高、缺陷特征比较明显的场景中仍有应用,如建筑材料中较大尺寸缺陷的初步筛选等 。
5.基于特征嵌入的无监督学习方法
原理:通过对大量无缺陷样本的学习,提取图像的特征嵌入表示正常样本的特征空间。然后,对于待检测的图像,将其特征嵌入与正常样本的特征空间进行比较,若差异超过一定阈值,则认为存在缺陷。这种方法不需要大量的缺陷样本进行训练,适用于缺陷数据难以获取的情况。
应用案例:在一些大规模工业生产中,对于新出现的、未知类型的缺陷检测有一定的优势,如新型电子产品零部件的早期缺陷检测。
6.基于重建的无监督学习方法
原理:建立一个重建网络,学习将输入的图像重建为正常的图像。在训练过程中,网络尝试最小化重建误差。对于无缺陷的图像,重建误差较小;而对于有缺陷的图像,由于缺陷的存在导致重建误差较大,通过比较重建误差来判断是否存在缺陷以及缺陷的大致位置。例如,在检测织物的瑕疵时,重建网络可以学习正常织物的纹理和图案,当有瑕疵的织物图像输入时,重建出的图像与输入图像之间的差异就可以指示瑕疵的存在。
应用案例:可用于一些纹理复杂、难以用传统方法建模的表面缺陷检测,如皮革表面的划痕、褶皱等缺陷检测 。
二、优势
1.检测精度高:结合了先进的图像处理技术和机器学习算法,能够对表面缺陷进行精确识别和定位,可检测到微小的缺陷,如电子元件表面的细微划痕、金属零件上的微小裂纹等,有效避免了人工检测中因视觉疲劳、主观因素等导致的漏检和误判。
2.检测速度快: 能够实现快速的图像采集和处理,满足在线实时检测的需求,可在短时间内对大量产品进行检测,提高生产效率,适用于大规模工业化生产的质量控制。
3.多类型缺陷检测:涵盖了多种检测算法和技术,能够检测多种类型的表面缺陷,包括但不限于划痕、裂纹、孔洞、污渍、色差、变形等,无论是金属、塑料、玻璃、陶瓷等不同材质的产品,还是形状各异、结构复杂的零部件,都能通过相应的方法进行有效的缺陷检测。
4.非接触式检测:采用光学成像、激光扫描等非接触式的检测方式,避免了对检测对象的物理接触,不会对产品表面造成损伤,保证了产品的完整性和质量,尤其适用于对表面质量要求较高、易损的产品,如精密电子元件、光学镜片等。
5.可扩展性强:具有良好的可扩展性和灵活性,可根据不同的检测需求和应用场景,方便地添加新的检测算法、模型或功能模块,还能与其他生产设备和系统进行集成,实现自动化的质量控制流程,如与自动化生产线、机器人等设备配合,提高生产的智能化水平。
6.数据分析能力强:能够对大量的检测数据进行收集、存储和分析,为生产过程提供有价值的质量信息,通过对缺陷数据的统计分析,可以了解缺陷的分布规律、产生原因等,有助于企业优化生产工艺、改进产品设计,从而提高产品质量和生产效益。
7.降低成本:相较于传统的人工检测方式,大大减少了人力成本和劳动强度,同时提高了检测的准确性和可靠性,降低了因缺陷产品流入市场而导致的售后成本和品牌损失风险,此外,通过及时发现缺陷并调整生产工艺,可以减少原材料的浪费,进一步降低生产成本。
三、不足之处
1.算法普适性不足:
工业品的外观缺陷复杂多样,不同类别的缺陷之间形态特征差异极大,导致检测算法的普适性不强,许多缺陷需单独开发检测算法,开发复杂度高。例如,铁轨表面缺陷和带钢表面缺陷,虽同属金属表面缺陷,但由于生产过程中光照条件、生产批次不同、设备状态等因素影响,同类缺陷的大小、对比度和灰度值等表观特征呈现较大变化,缺陷特征并不服从同一分布,难以用同一套算法进行有效检测。
2.类间模糊性问题:
不同类别的缺陷表观特征具有一定相似性,难以区分缺陷种类,无法准确判断缺陷产生原因及给产品准确定级,影响对产品质量问题的准确评估和后续处理。
3.背景干扰因素多:
在实际生产场景中,难以将缺陷和背景完全分离,复杂背景会导致缺陷特征不明显,增加检测难度。如在一些纹理复杂的表面或存在杂物的场景中,缺陷可能被背景信息掩盖,降低检测的准确性。
4.受环境因素影响大:
检测系统受环境、光照、生产工艺和噪声等多重因素影响,信噪比一般较低,微弱信号难以检出或不能与噪声有效区分。例如,工件位置的不一致、打光的不稳定、相机及镜头的匹配度、检测算法的有效性等都会直接影响图像采集的质量和检测系统的应用性能,需要多套系统配合来解决,但实际中难以达到理想的稳定状态。
5.算法能力和实时性不足:
表面缺陷检测的数据量庞大、冗余信息多、特征空间维度高,从海量数据中提取有限缺陷信息的算法能力不足,导致实时性不高。尽管不断有优秀算法出现,但在实际应用中准确率与满足实际应用的需求仍有差距,难以很好地解决准确识别与模糊特征之间、实时性与准确性之间的矛盾。
6.依赖大量数据和计算资源:
基于深度学习的方法通常需要大量的标注数据来训练模型,以获得较好的检测效果。此外,训练和运行这些模型对计算资源的要求也较高,包括高性能的CPU、GPU等硬件设备,增加了检测成本和时间成本。
四、应用场景
广泛应用于电子产品制造、钢铁冶炼、食品加工、纺织业等领域的产品质量检测。
1.工业制造
电子行业:在PCB电路板生产中,可检测线路的短路、开路、焊锡不良等缺陷,以及电子元器件的表面瑕疵、引脚变形等问题,确保电子产品的性能和质量,如手机、电脑等电子产品的生产过程中,对其核心部件PCB板的检测。
机械制造:检测金属零部件的裂纹、磨损、划痕、孔洞等缺陷,如汽车发动机、变速器等零部件的生产,有助于提高产品的可靠性和安全性,避免因零部件缺陷导致的故障和事故。
钢铁冶金:用于检测钢材表面的裂纹、夹杂、折叠等缺陷,保证钢材的质量,满足建筑、机械制造等行业对钢材的高标准要求,像在建筑用的钢筋、钢板生产中,及时发现缺陷可防止不合格产品进入市场。
2.材料加工
塑料橡胶:检测塑料制品的气泡、划痕、变形等缺陷,以及橡胶制品的裂纹、缺胶、杂质等问题,保障产品的外观和性能,如塑料薄膜、橡胶轮胎等产品的生产过程中的质量控制。
木材加工:可检测木材的节子、裂纹、腐朽、虫蛀等缺陷,提高木材的利用率和产品质量,在家具制造、建筑木结构等领域有重要应用。
3.食品药品
食品包装:检测食品罐头、包装盒等包装的外观缺陷,如划痕、变形、印刷错误等,确保食品包装的完整性和美观度,防止因包装问题影响食品的保质期和销售。
药品生产:对药品的外观进行检测,如药品胶囊的表面瑕疵、药片的裂片、变色等问题,保证药品的质量和安全性,符合药品生产的严格质量标准。
4.纺织品
织物生产:检测织物的疵点、色差、经纬线缺陷、破洞等问题,提高纺织品的质量和档次,在服装、家纺等行业中,有助于提升产品的市场竞争力,比如高档服装面料的生产过程中,严格检测织物缺陷。
5.能源电力
光伏产业:检测太阳能电池板的表面裂纹、缺角、电极缺陷等,提高电池板的光电转换效率和使用寿命,保障光伏发电系统的性能。
电力设备:对变压器、绝缘子等电力设备的表面缺陷进行检测,如绝缘子的裂纹、污秽等问题,确保电力设备的安全运行,防止因设备故障引发停电事故。
6.交通运输
汽车制造:除了零部件的检测外,还可对汽车车身的外观缺陷进行检测,如车漆划痕、凹陷、装配缝隙不均匀等问题,提高整车的质量和外观品质。
航空航天:检测飞机发动机叶片、机身结构件等的表面缺陷,如疲劳裂纹、腐蚀等问题,保障飞行安全,航空航天产品对质量和安全性要求极高,表面缺陷检测至关重要。
7.文化艺术
文物保护:对文物的表面损伤、裂纹、褪色等缺陷进行检测和分析,为文物修复和保护提供依据,有助于保护历史文化遗产。
艺术品鉴定:辅助检测书画、陶瓷等艺术品的真伪和瑕疵,如书画的笔触、颜料层的缺陷,陶瓷的裂纹、釉面缺陷等,为艺术品的鉴定和评估提供参考。