LabVIEW基于机器视觉的钢轨表面缺陷检测系统

news/2024/12/2 10:10:29/

LabVIEW基于机器视觉的钢轨表面缺陷检测系统

机器视觉检测技术和LabVIEW软件程序,可以实现轨道工件的表面质量。CMOS彩色工业相机采集的图像通过图像预处理、图像阈值分割、形态分析、特征定位和图案匹配进行处理和分析。图形显示界面采用LabVIEW软件编程设计,进行钢轨缺陷的实时显示。系统能够快速有效地诊断钢轨表面裂纹和划痕两大缺陷。容易实现缺陷表面检测的智能化,达到钢轨生产中钢轨工件表面缺陷检测的要求。

目前,表面缺陷检测作为制造业中不可或缺的关键步骤,已广泛应用于航空、陶瓷、汽车零部件制造、金属和电子元件设备等工业制造领域。表面缺陷检测的发展历史大致可分为三个阶段:人工视觉检测、机电光学技术检测和机器视觉检测。虽然人工目视检查方法被广泛使用,但依靠目视检查的漏检率很高,对工人来说强度相对较高。机电光学测试有很大的局限性。例如,电磁感应检测方法只能检测电流阻断缺陷,而超声波检测需要耦合剂并且容易受到干扰。以上两种检测方法已不能满足现代工业产品表面缺陷检测的要求。与前两种检测方法相比,机器视觉检测方法受环境磁场的影响较小,工作距离大,测量精度高。机器视觉检测方法满足了生产线快速的生产节奏和现代工业自动检测的效率和精度要求。目前,机器视觉检测已成为工业产品表面质量监测的重要先进手段和技术,更适合于自动化生产线的在线监测。

在钢轨轧制过程中,由于加工工艺不完善、设备和部件老化等因素,钢轨表面经常出现各种缺陷。缺陷主要包括:裂纹、划痕等。这些缺陷对产品的外观、耐磨性和耐腐蚀性有很大影响。严重影响钢轨的质量和性能指标。因此,检测生产线上的钢轨表面缺陷尤为重要,利用LabVIEW制备了一套完整的钢轨表面缺陷检测系统,满足自动检测的效率和精度要求。

系统硬件组成

硬件系统由运动控制模块、照明模块和图像采集模块组成。运动控制模块包括机械传动带、单片机和运动控制卡。该模块用于驱动检测装置上的机械传送带,使平面在工作台上高速移动。因此,图像采集模块可以准确快速地扫描工件。照明模块包括一个LED光源。光源是机器视觉系统中非常重要的一部分。适当的光源照明可以大大提高捕获图像的清晰度,降低图像处理算法中分割和识别的难度。形成最有利于图像处理的成像效果,从而提高系统的可靠性和综合性能。根据钢轨工件检测现场的实际情况和钢轨材料本身的影响,使钢轨表面易于反映。因此,该系统采用频闪自由白环LED光源,使用寿命长,亮度高,光扩散均匀,可以解决对角线照明阴影的问题。图像采集模块由工业相机、光学镜头和图像采集卡组成。目前,用于工业产品表面缺陷检测的工业相机主要包括CCD相机和CMOS相机。CMOS相机的传感器比CCD相机具有更高的传输速度,分辨率和更低的功耗。为了最大限度地保留图像信息,系统采用CMOS彩色工业相机采集图像。

系统工作过程:待测工件放置在工作台上,A点限位开关检测工件;计算机触发图像采集单元根据位置检测信号采集图像;机械传动带由运动控制模块触发,带动工件从A点到B点的目标位置;捕获的图像通过LabVIEW的IMAQVision通信模块发送到主控制计算机;经过一系列的图像处理和分析,识别被测工件中缺陷的类型和位置,并统计缺陷信息。

系统软件设计

LabVIEW软件编程是一种基于程序代码的图形化编程语言。它提供了大量的图像预处理、图像分割、图像理解函数库和开发工具。使用LabVIEW机器视觉软件作为开发平台,可以建立快速高效的自动检测系统。

该系统的软件主要由LabVIEW软件编译。LabVIEW软件编译的算法控制相机拍摄待测钢轨工件的实时照片,并采集待测钢轨工件的图像信息。CMOS彩色工业相机采集的图像通过图像采集模块传输到LabVIEW虚拟仪器开发平台。采用直方图和灰度变换处理图像信息,开始采用线性灰度直方图对采集到的图像进行预处理和滤波。图像预处理完成后,通过阈值分割和形态分析的图像处理技术,尽可能消除干扰噪声。实现基于图像灰度特征的物体存在检测和模式匹配。通过图案匹配的结果,可以对钢轨工件的表面缺陷进行检测和分类。

图像预处理

为了最大限度地保留图像信息,提高钢轨工件缺陷检测的准确性。该系统使用彩色工业相机采集图像,因此采集的图像为RGB图像。

系统采用LabVIEW的IMAQ直方图功能模块,对采集到的待测钢轨工件图像进行过滤,排除无明显缺陷的钢轨工件。不排除的工件被视为难点零件,然后进入后续检测过程进行进一步分析和加工。

由于待测工件与背景之间的灰度明显不同,不同目标的灰度值会在直方图中聚集成峰值。当可以清晰区分图像灰度直方图的峰值时,可以以谷底附近的灰度值作为完成图像分割的阈值。因此,使用直方图对钢轨工件图像进行预处理,为后续的图像分割带来了极大的便利。

图像阈值分割

图像分割的过程是为了进一步简化图像分析、处理和机器决策的过程。阈值分割主要利用检测物体灰度与背景的差值,选择一个或多个灰度阈值,根据像素灰度和阈值的对比结果对像素进行分类。

系统使用LabVIEW的视觉和运动图像处理功能调板中的IMAQ阈值功能模块,实现单灰度范围中的图像分割。系统使用LabVIEW的IMAQ局部阈值功能模块,通过定义适合钢轨缺陷检测系统的局部阈值算法,对阈值的灰像进行划分。

形态学分析

与检测到的物体相似的一些点和噪声会干扰从图像中提取有用信息。形态分析过程可以消除这些区域并增强图像中的有用信息。蚀刻是形态学算法之一,可以消除图像中相对背景亮度较高的孤立像素。并将像素的灰度值更改为其邻域中像素的最小灰度值,缩小明亮的目标区域,并扩展图像中的暗背景。系统在LabVIEW中应用IMAQ灰色形态功能模块对钢轨图像进行腐蚀操作,过滤图像中下部的大面积无关噪声。

然后使用IMAQ去除粒子功能模块过滤图像中的小面积独立噪声。消除与轨道表面缺陷无关的大小颗粒噪声。

D.图像特征和分析

基于LabVIEW机器视觉的钢轨表面缺陷检测系统以图像的像素灰度为研究目标,根据标准图像中目标的特性确定参考坐标系。基于图像灰度定量指标,构建用于识别和机器决策的特征模式。

系统将标准示例图像特征读入内存。程序在搜索参考坐标系模式下调用IMAQFindPattern3功能模块,搜索标准样本图像中与要素模板匹配的部分,以设置标准图像的参考坐标系。然后使用在更新测量坐标系模式下工作的IMAQFindPattern3功能模块重新匹配新图像的要素模板以更新测量坐标系。

系统监控的矩形区域基于标准图像。根据输入测量坐标系与参考坐标系的关系,调用IMAQ变换ROI功能模块,将矩形ROI转换为合适的位置。确定矩形ROI位置后,调用IMAQROIToMask功能模块,将矩形ROI转换为图像遮罩。IMAQ直方图根据图像掩码计算矩形区域中的灰度量化指数。获取测量坐标系后,调用IMAQ测光表功能模块。IMAQ测光表功能模块可以在指定的矩形范围内返回灰度量化指数。此外,IMAQ测光表功能模块可以根据参考坐标系和测量坐标系之间的关系,自动将测量ROI调整到适当的位置进行计算。检查计算出的平均灰度值和灰度分布的标准差是否在设定范围内。

E.图像模式匹配

基于灰度的图案匹配以像素灰度或灰度梯度信息为特征。本文使用LabVIEW中的IMAQ学习模式和IMAQ匹配模式功能模块来匹配轨道工件图像的灰度级别。使用IMAQ读取图像和视觉信息VI和IMAQ写入图像和视觉信息VI分别打开和创建模式匹配模板。使用设置学习模式功能模块建立模型的学习模式,获取原始图像的数据。结合设置匹配模式功能模块设置匹配模式、角度、对比度等参数。在获取图像的特征数据后,程序调用IMAQ匹配模式,将目标图像与模板进行匹配。匹配后,IMAQ匹配模式将输出匹配区域的数量、位置、大小、角度、相似度等信息封装在匹配集群中。最后,程序根据返回的位置信息标记图像中的匹配区域。

表面缺陷检测实验

钢轨表面裂纹和划痕分类程序主要使用IMAQ分类模块中的读取分类器文件功能来读取分类文件。使用添加分类器样本添加分类样本。使用获取分类器示例信息VI检索示例缩略图和类别标签。IMAQ分类功能用于对给定ROI内的样品进行分类。

通过实验分析,基于LabVIEW机器视觉的钢轨表面缺陷检测系统完全满足钢轨表面划痕和裂纹的缺陷检测要求。

这是LabVIEW的一个功能介绍,更多的使用方法与开发案例,欢迎登录官网,了解更多信息。有需要LabVIEW项目合作开发,请与我们联系。


http://www.ppmy.cn/news/1174171.html

相关文章

YOLOv8改进实战 | 更换损失函数之MPDIOU(2023最新IOU)篇

前言 YOLOv8官方默认损失函数采用的是CIoU。本章节主要介绍如何将MPDIoU损失函数应用于目标检测YOLOv8模型。 目录 一、MPDIoU二、代码实现添加损失函数更换损失函数一、MPDIoU 论文链接:MPDIoU: A Loss for Efficient and Accurate Bounding Box Regression MPDIoU是一种基于…

我为什么写博客?写博客给我带来了什么?

1、写博客的契机 (1)刚开始接触CSDN,是大三的时候开始学习嵌入式开发,经常需要到网上百度查资料,由此经常游览CSDN上的博客; (2)在嵌入式的过程中,需要总结学习过的知识。…

webGL编程指南 第四章 旋转+平移.TanslatedRotatdTriangle

我会持续更新关于wegl的编程指南中的代码。 当前的代码不会使用书中的缩写,每一步都是会展开写。希望能给后来学习的一些帮助 git代码地址 :git 本篇文章将把旋转和平位移结合起来,因为矩阵的不存在交换法则 文章中设计的矩阵地址在这里​…

螺旋矩阵[中等]

优质博文:IT-BLOG-CN 一、题目 给你一个m行n列的矩阵matrix,请按照顺时针螺旋顺序,返回矩阵中的所有元素。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5] 示例 2&#xf…

Linux_虚拟内存机制

虚拟内存是如何工作的 我们的程序中使用的所有地址都是虚拟地址,但实际数据是从磁盘空间缓存在物理内存中,读的还是内存中的数据,所以每次CPU的访存操作都会先将虚拟内存交给CPU中的MMU硬件,利用存在主存(实际也可能在…

Leetcode链表问题汇总

目录 [2. 两数相加](https://leetcode.cn/problems/add-two-numbers/)[206. 反转链表](https://leetcode.cn/problems/reverse-linked-list/)[206. 反转链表 II](https://leetcode.cn/problems/reverse-linked-list-ii/)[19. 删除链表的倒数第 N 个结点](https://leetcode.cn/p…

文件上传接口

以下是一个简单的Java文件上传接口的示例代码: import org.springframework.http.HttpStatus;import org.springframework.http.ResponseEntity;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.Requ…

【前端设计模式】之调停者模式(中介者模式)

调停者模式是一种行为设计模式,它通过引入一个调停者对象来集中处理一组对象之间的交互。调停者模式的目标是减少对象之间的直接通信,从而降低耦合度,并且使代码更易于维护和扩展。 调停者模式特性 将对象之间的通信集中在一个调停者对象中…