热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

基于机器视觉的散热器钎焊缺陷检测系统研发

人工智能技术与咨询点击蓝字关注我们来源:《图像与信号处理》,作者吕广贤关键词:机器视觉;缺陷检测;钎焊摘要:摘

人工智能技术与咨询 

点击蓝字 · 关注我们

来源:《 图像与信号处理》 ,作者 吕广贤

关键词: 机器视觉;缺陷检测;钎焊

摘要:

  摘要: 为解决散热器钎焊缺陷在工业检测过程中效率低、差错率高的问题,本文设计了一种基于机器视觉的缺陷检测系统。针对钎焊环节产生的焊缝和阻塞这两种缺陷,通过设计的内外双光源照射模块分别对其打光得到各自的原始图像;其次采用灰度处理、滤波除燥等算法进行预处理;最后采用区域生长算子和设计的双阈值筛选算法分别得到了图像的焊缝和阻塞缺陷。实验表明,本系统检测效率比传统人工检测效率提高了6倍,准确率在97%以上。

1. 引言

散热器是汽车冷却系统的重要部件之一,其各部件一般采用铝合金材料,通过钎焊炉高温钎焊而成。但在整体成型的钎焊过程中散热器容易出现焊缝泄漏 [1] 和阻塞缺陷,这两种缺陷严重降低了散热器的使用性能,并且容易产生安全隐患。目前,散热器钎焊处的缺陷检测主要通过人工检测的方式完成,但是随着自动化检测技术的发展,这种落后的检测方式已不适应时代的发展要求。因此,实现对焊件质量的自动化检测具有重要意义。、

目前,对钎焊、扩散式焊接质量的检测主要还是采用超声波检测、X射线检测和机器视觉 [2] 等方法。美国Cognex公司设计出了基于机器视觉的Smart View 系统,该系统在金属表面缺陷检测中取得了很高的识别率 [3];而Westinghous公司在钢板钎焊表面的缺陷检测中提供了一种新的检测方案 [4],原理是利用不同照明光路与电荷耦合元件(charge coupled device, CCD)线阵相机相结合的方式对其进行检测。国内方面,浙江大学的周红明等人设计了分水岭阈值分割法,利用机器视觉技术实现了对焊缝缺陷定位与尺寸测量 [5],从目前的研究成果可以看出,研究关注点主要集中在图像分割提取和缺陷识别分类 [6]。

针对散热器钎焊产生的缺陷问题,本文以机器视觉技术和图像处理为基础,通过设计的双光源照射模块、改进图像预处理算法及阈值筛选算法实现了对汽车散热器钎焊缺陷的自动化、高精度的检测。

2. 系统整体方案

2.1. 检测对象

汽车散热器主要是由散热器芯、水管、散热空气叶片、上水箱及下水箱等组合而成。上水箱在散热器上,由水管将上水箱与散热器下水箱相连通,热水由上而下流到下水箱时变为温水,散热空气叶片则构成孔道,经风扇的抽吸使大量的冷空气经空气孔道,将流经水管中冷却水的热量吸收,再发散于大气中。本文检测对象为水管口四周的钎焊处,如图1所示。

Figure 1. Brazing defects of automobile radiator

图1. 汽车散热器钎焊缺陷

汽车散热器的水管口四周经过钎焊而成的,其中个别管口的钎焊处会存在焊缝缺陷或阻塞缺陷。本检测系统主要基于散热器的这两种缺陷进行检测和识别,图2为通过打光即可得到散热器的焊缝缺陷图,图3为阻塞缺陷图。

 

Figure 2. Radiator weld defects (lighting)

图2. 散热器焊缝缺陷(打光)

 

Figure 3. Radiator blocking defect

图3. 散热器阻塞缺陷

2.2. 硬件系统结构设计

本文针对散热器钎焊缺陷设计的机器视觉检测系统主要由硬件系统和软件系统组成。软件方面主要利用在VS2017平台下开发的系统 [7],可以实现图像采集控制、图像处理分析 [8] [9]、PLC驱动和控制、检测数据统计存储、人机交互等系统功能。硬件系统包括工业相机、镜头、光源、图像采集卡、计算机等。

硬件系统整体结构如图4所示。

 

Figure 4. Brazing defect detection system of automobile radiator based on machine vision. 1.Computer; 2. Camera; 3. Lens; 4. External Light; 5. Automotive radiator

图4. 基于机器视觉的汽车散热器钎焊缺陷检测系统。1. 计算机;2. 相机;3. 镜头;4. 外光源;5. 内光源;6. 汽车散热器

系统工作流程为:首先通过将散热器放置到由伺服电机带动的传送带上,当散热器经过检测工位时,相机给计算机发送工件到位信号。

第一阶段,计算机对散热器的焊缝缺陷进行检测,内光源会亮起,而外光源会关闭,然后再发送采集信号触发相机拍照。

第二阶段,计算机对散热器的阻塞缺陷进行检测,内光源会关闭,而外光源会亮起,然后再发送采集信号触发相机拍照。

第三阶段,计算机接收到前两各阶段拍摄的图片,并且分别对图像进行实时处理,并将检测结果信号反馈给计算机来显示检测结果。

2.3. 软件算法设计

本检测算法系统主要分为两个检测模块,分别对焊缝缺陷以及阻塞缺陷进行检测。该系统通过对原始图像进行处理,提炼出其中的主要特征(轮廓、亮度等),便于计算机识别法 [10] [11]。首先,开启内光源对汽车散热器的钎焊处进行焊缝检测,判断其是否存在缺陷。然后,关闭内光源,开启外光源,对散热器钎焊处的阻塞缺陷进行检测,判断其是否存在缺陷。若两个模块都未检测出缺陷,则判定为合格产品,否则即为不合格产品。本文算法流程图如图5所示。

Figure 5. Radiator brazing defect detection algorithm flow、

图5. 散热器钎焊缺陷检测算法流程

3. 钎焊缺陷检测流程

3.1. 焊缝缺陷检测

3.1.1. 灰度处理

本系统的工业相机拍摄到的图像是散热器的三通道彩色图像,颜色本身非常容易受到光照的影响,三通道转为一通道后,运算量将大大减少。图6为灰度处理后的焊缝缺陷图像,图7为它的灰度直方图。

3.1.2. ROI区域提取

在对图像采集的过程中往往会因为相机视场较大出现目标以外的场景,而目标缺陷区域只存在于散热器钎焊处的图像中。因此,在进行图像处理以前,需要对散热器钎焊图像进行有效区域的提取。有效区域也可称为感兴趣区域(Regions of Interest简称ROI),去除背景无关部分,尽可能的保全散热器钎焊处的部分。图8为提取后的ROI图像,图9为ROI图像的灰度直方图。

Figure 6. Weld defects after gray processing

图6. 灰度处理后的焊缝缺陷

 

Figure 7. The gray level of weld defects is straight、

图7. 焊缝缺陷的灰度直方图

Figure 8. ROI weld defects after extraction

图8. 提取后的ROI焊缝缺陷

 

Figure 9. Grayscale histogram of ROI weld defect image

图9. ROI焊缝缺陷图像的灰度直方图

3.1.3. 滤波算法

图像去噪算法有很多种类,而高斯滤波是里面最常用的去噪算法之一。因为高斯滤波是一种低通滤波,所以它能有效地滤除掉图像中出现的噪点。高斯滤波会对边缘信息进行平滑,使图像变得模糊,当能滤除掉图像中噪声信号。由于它在滤波过程中只关注了位置信息,所以会使图像变得模糊;权重的计算方法如下式:

 

Figure 10. Radiator weld defects after filtering

图10. 滤波后的散热器焊缝缺陷

3.1.4. 焊缝缺陷提取

本文将采用区域生长算子对滤波后的图像进行阈值化处理,将打光的焊缝提取出来。首先,需要对每一个区域指定一个种子点作为生长的起点,然后将种子点周围领域的像素点和种子点进行对比,将具有相似性质的点合并起来继续向外生长,直到没有满足条件的像素被包括进来为止。这样一个区域的生长就完成了。

具体步骤如下:

1) 对图像顺序扫描,找到第1个还没有归属的像素,设该像素为 (x0,y0)(x0,y0) ;

2) 以 (x0,y0)(x0,y0) 为中心,考虑 (x0,y0)(x0,y0) 的8邻域像素 (x,y)(x,y),如果 (x,y)(x,y) 满足生长准则,将 (x,y)(x,y) 与 (x0,y0)(x0,y0) 合并,同时将 (x,y)(x,y) 压入堆栈;

3) 从堆栈中取出一个像素,把它当作(x0,y0)返回到步骤2;

4) 当堆栈为空时,返回到步骤1;

5) 重复步骤1~4直到图像中的每个点都有归属时。生长结束,区域生长法分割。

提取后的散热器焊缝缺陷图如下图11所示。

 

Figure 11. Radiator weld defects after extraction

图11. 提取后的散热器焊缝缺陷

3.2. 阻塞缺陷检测

3.2.1. 图像预处理

首先,采用上文的算法分别对原始图像进行灰度处理、ROI区域提取,然后对其进行滤波除燥后,即可得到阻塞缺陷的预处理图像。

本章节将采用双边滤波算法去除图像中的噪点。它处理后的图像能够保持边缘、降噪平滑。这是因为双边滤波的权重不仅考虑了像素的欧氏距离,还考虑了像素范围域中的辐射差异,在计算中心像素的时候同时考虑到了这两个权重。

在图像中的平坦区域,滤波器中每个像素点的 GrGr 值相等,空间距离权重 GsGs 主导滤波效果。通过实验我们可以看出来,在图像的边缘区域,边缘信息能够得到有效的保护。在进行归一化后,这些权值得到了提升,因此在平坦区域内出现的噪声点也有滤除效果。本文采用双边滤波,如图12所示。

 

Figure 12. Blocking defects after gray processing

图12. 灰度处理后的阻塞缺陷

本文在传统的Canny法基础上,对Canny算法进行改进。采用了在Canny边缘的梯度图像上进行二次曲面拟合,并参考Canny边缘位置及边缘方向进行更精确的边缘提取。本文采用改进的Canny算法使最后的图像边缘达到了较高的尺寸检测精度,如图13所示。 

Figure 13. Blocking defects after edge extraction

图13. 边缘提取后的阻塞缺陷

3.2.2. 阻塞缺陷提取

本文将采用双阈值筛选算法对阻塞缺陷进行提取。首先,经过改进的Canny边缘检测之后,可以清晰的将散热器钎焊处的边缘轮廓提取出来。其次,缺陷管口的轮廓在面积和长度方面都远远的小于正常管口。因此,本文结合轮廓的高度和面积设计了一种新的缺陷提取算法–双阈值筛选算法,该算法通过设置尺寸的阈值来筛选出缺陷的轮廓,算法流程图如图14所示。

Figure 14. Double threshold filtering algorithm flow

图14. 双阈值筛选算法流程

图15即为该算法提取出的阻塞缺陷图。

 

Figure 15. Curve: system result of standard experiment

图15. 提取后的散热器阻塞缺陷

4. 缺陷检测结果及分析

为了判别待处理的散热器是否为合格产品,本文对300张图像进行实验分析,其中87张为焊缝缺陷图像、93张为阻塞缺陷图像以及120张非缺陷图像。本文采用了适合本材质的光照进行补光,并在传统图像算法的基础上进行了诸多改进以达到更好的检测效果。实验检测结果统计如表1所示。


汽车散热器图像

检测个数

正确个数

正确率

焊缝缺陷图像

87

87

100%

阻塞缺陷图像

93

91

97.8%

非缺陷图像

120

118

98.3%

Table 1. Radiator defect detection system test data

表1. 散热器缺陷检测系统试验结果数据

实验结果表明,本算法检验正确率在97%以上,在缺陷检测方面的失误较小,尤其对焊缝缺陷的检测尤为准确,可满足汽车散热器钎焊缺陷的检测要求。

5.结论

本文针对散热器钎焊处的焊缝和阻塞这两类缺陷分别采用了不同图像算法进行检测,首先通过相机、镜头、光源、图像采集卡和计算机等硬件设备搭建采集缺陷图像,然后分别进行焊缝缺陷和阻塞缺陷两个模块的检测,最后再结合两个模块的检测结果对采集到的图像进行最后的判定。文章不仅改进了相关的图像算法,也提出了新的筛选算法来判定提取到的轮廓是否为缺陷图像。

结果表明本检测平台对散热器钎焊缺陷检测的正确率达到97%以上,充分验证了本系统的可靠性,满足了对散热器钎焊缺陷的自动化检测要求,具有一定的实用价值。

关注微信公众号:人工智能技术与咨询。了解更多咨询!

转发,点赞,在看,安排一下


推荐阅读
  • 在 Linux 环境下,多线程编程是实现高效并发处理的重要技术。本文通过具体的实战案例,详细分析了多线程编程的关键技术和常见问题。文章首先介绍了多线程的基本概念和创建方法,然后通过实例代码展示了如何使用 pthreads 库进行线程同步和通信。此外,还探讨了多线程程序中的性能优化技巧和调试方法,为开发者提供了宝贵的实践经验。 ... [详细]
  • 本文介绍了如何在iOS平台上使用GLSL着色器将YV12格式的视频帧数据转换为RGB格式,并展示了转换后的图像效果。通过详细的技术实现步骤和代码示例,读者可以轻松掌握这一过程,适用于需要进行视频处理的应用开发。 ... [详细]
  • 通过使用CIFAR-10数据集,本文详细介绍了如何快速掌握Mixup数据增强技术,并展示了该方法在图像分类任务中的显著效果。实验结果表明,Mixup能够有效提高模型的泛化能力和分类精度,为图像识别领域的研究提供了有价值的参考。 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
  • 依然最钟爱《People Have the Power》,强烈推荐大家聆听这首经典之作
    尽管今日情绪低落,我在音乐库中反复筛选,最终还是选择了《People Have the Power》来激励自己。这首歌不仅旋律动听,歌词也充满力量,能够带给人正能量。强烈建议大家找来聆听,体验其独特的魅力。《People Have the Power》虽然不是出自专辑《Horses》,但同样是一首不可多得的经典之作。 ... [详细]
  • 在本文中,我们将详细介绍如何构建一个用于自动回复消息的XML类。当微信服务器接收到用户消息时,该类将生成相应的自动回复消息。以下是具体的代码实现:```phpclass We_Xml { // 代码内容}```通过这个类,开发者可以轻松地处理各种消息类型,并实现高效的自动回复功能。我们将深入探讨类的各个方法和属性,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 在使用 Qt 进行 YUV420 图像渲染时,由于 Qt 本身不支持直接绘制 YUV 数据,因此需要借助 QOpenGLWidget 和 OpenGL 技术来实现。通过继承 QOpenGLWidget 类并重写其绘图方法,可以利用 GPU 的高效渲染能力,实现高质量的 YUV420 图像显示。此外,这种方法还能显著提高图像处理的性能和流畅性。 ... [详细]
  • QT框架中事件循环机制及事件分发类详解
    在QT框架中,QCoreApplication类作为事件循环的核心组件,为应用程序提供了基础的事件处理机制。该类继承自QObject,负责管理和调度各种事件,确保程序能够响应用户操作和其他系统事件。通过事件循环,QCoreApplication实现了高效的事件分发和处理,使得应用程序能够保持流畅的运行状态。此外,QCoreApplication还提供了多种方法和信号槽机制,方便开发者进行事件的定制和扩展。 ... [详细]
  • 本文深入探讨了Java多线程环境下的同步机制及其应用,重点介绍了`synchronized`关键字的使用方法和原理。`synchronized`关键字主要用于确保多个线程在访问共享资源时的互斥性和原子性。通过具体示例,如在一个类中使用`synchronized`修饰方法,展示了如何实现线程安全的代码块。此外,文章还讨论了`ReentrantLock`等其他同步工具的优缺点,并提供了实际应用场景中的最佳实践。 ... [详细]
  • Python全局解释器锁(GIL)机制详解
    在Python中,线程是操作系统级别的原生线程。为了确保多线程环境下的内存安全,Python虚拟机引入了全局解释器锁(Global Interpreter Lock,简称GIL)。GIL是一种互斥锁,用于保护对解释器状态的访问,防止多个线程同时执行字节码。尽管GIL有助于简化内存管理,但它也限制了多核处理器上多线程程序的并行性能。本文将深入探讨GIL的工作原理及其对Python多线程编程的影响。 ... [详细]
  • 尽管我们尽最大努力,任何软件开发过程中都难免会出现缺陷。为了更有效地提升对支持部门的协助与支撑,本文探讨了多种策略和最佳实践,旨在通过改进沟通、增强培训和支持流程来减少这些缺陷的影响,并提高整体服务质量和客户满意度。 ... [详细]
  • 在Android 4.4系统中,通过使用 `Intent` 对象并设置动作 `ACTION_GET_CONTENT` 或 `ACTION_OPEN_DOCUMENT`,可以从相册中选择图片并获取其路径。具体实现时,需要为 `Intent` 添加相应的类别,并处理返回的 Uri 以提取图片的文件路径。此方法适用于需要从用户相册中选择图片的应用场景,能够确保兼容性和用户体验。 ... [详细]
  • 在前文探讨了Spring如何为特定的bean选择合适的通知器后,本文将进一步深入分析Spring AOP框架中代理对象的生成机制。具体而言,我们将详细解析如何通过代理技术将通知器(Advisor)中包含的通知(Advice)应用到目标bean上,以实现切面编程的核心功能。 ... [详细]
  • 全面解析JavaScript代码注释技巧与标准规范
    在Web前端开发中,JavaScript代码的可读性和维护性至关重要。本文将详细介绍如何有效地使用注释来提高代码的可读性,并探讨JavaScript代码注释的最佳实践和标准规范。通过合理的注释,开发者可以更好地理解和维护复杂的代码逻辑,提升团队协作效率。 ... [详细]
  • 本文详细介绍了定时器输入捕捉技术的原理及其应用。通过配置定时器通道的引脚模式为输入模式,并设置相应的捕获触发条件,可以实现对外部信号的精确捕捉。该技术在实时控制系统中具有广泛的应用,如电机控制、频率测量等场景。文中还提供了具体的配置步骤和示例代码,帮助读者更好地理解和应用这一技术。 ... [详细]
author-avatar
飞跃星空2502906253
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有