当前位置: 首页 > news >正文

高铁轮毂表面缺陷的<视觉显著性>超像素图像检测方法

内容:提出一种基于视觉显著性注意机制的超像素自适应检测方法;
        设计视觉显著性注意机制滤波器用于粗略定位出缺陷空间范围,结合超像素分块图像分割方法消除光照不均匀引起的噪声干扰,有效地完成缺陷区域的边界分割和实时特征提取,实现轮毂缺陷空间坐标的精确定位

过程:

  1. 首先采 用同态滤波器对缺陷图像进行预处理,去除环境光污染噪声引起的图像亮度分布不均匀问题,构建轮毂表面缺陷图像的谱残差视觉注意模型
  2. 采用超像素分割算法对缺陷显著性图像进行自适应阈值分割
  3. 标记出高铁轮毂表面缺陷的二维空间位置,实现轮毂表面缺陷的边界检测和形态估计

视觉注意机制的谱残差模型

        ~基于频域分析为基础,将图像信息分为冗余信息和变化信息两部分,冗余信息为不变的背景信息,变化信息为需要保留的变化的缺陷信息,图像数据可以分成两部分:F( image) = F1 + F2;其中 F1 为冗余部分,F2为变化部分。图像数据的幅度谱曲线具有冗余信息不变的特征,去除冗余信息就可以得到变化的缺陷信息。

(1)构建log谱函数

        给定一幅图像 f( x,y) ,根据式( 1) 计算图像的二维离散傅里叶变换,变换后的图像由包含背景信 息的低频分量和包含缺陷信息的高频分量组成,log谱具有线性收敛的特性,根据式( 2) ~ 式( 4) 构建 log 谱函数:

(2) 对log谱进行滤波

        由于 log谱线具有局部相似性条件,构建一个均值滤波器对 lg 谱进行滤波,对 lg 谱滤波公式,如式( 6) 所示,其中* 为卷积符号,h 是一个n* n 的均值滤波器,n 选取过小容易导致高铁轮毂缺陷 图像的漏检,n 选取过大又会引入过多噪声引起误 检测。在实验中 n 为 5 时取得较好的效果。谱残差的视觉显著图如式( 7) 所示。

(3)提取缺陷信息

        基于谱线中的奇异点为缺陷图像的显著性区域,高铁轮毂图像的谱残差公式为式( 7) ,基于谱残差和相位谱做离散傅里叶反变换得到缺陷显著图, 式( 8) 中得到的谱残差对应于图像的缺陷纹理区域,背景信息被有效地过滤掉,可以准确提取出变化的缺陷的信息。 

实验结果表明:视觉显著性超像素检测算法能够抑制背景噪声的干扰,在分区域的图像分割过程中准 确判断出背景的刀纹噪声信息,完整保留了缺陷区域 的特征信息,具有准确的检测效率 


超像素分割——SLIC


 基于谱残差模型的自适应超像素图像分割算法

基本思想:增加缺陷区域的加权系数,减少背景图像的像素点加权系数

假设输入图像为 g( x,y) , 运用超像素分割算法将图像分割成 N 个图像块,分割后的图像标记为 G = { G1,G2,…,GN};其中图像块数量为 N,分割后的图像按照左上角到右下角的顺序依次排序,,Gi ( i ∈[1,N]) 代表第 i 个区域范围内的所有像素点。

在超像素分割后的区域图像块 Gi 中,设置Gi 中的区域图像块为 F,定义图像块方差为下面公式。其中 fi 为像素 j 点的灰度,构建图像块中的方差阈值 T,大于阈值T的图像块包含缺陷信息,进行自适应阈值分割,小于阈值T的图像块则默认为背景区域不进行处理。

因此,基于谱残差的自适应超像素图像分割算法的计算步骤如下:

  1. 计算图像的视觉显著图
  2. 以步长 S 初始化超像素分割的中心点 Ck = [lk,xk,yk ]T
  3.  遍历操作,图像分割块设置为 200,超像素 图像分割。 
  4. 在超像素分割的每一个 Ck 内,计算方差 Var( F) ,如果方差大于阈值 T,则认为该区域内有 缺陷信息,在 fi 和 c 之间计算 d( fi ) 。
  5. 更新权系数 ω( fj ) ,自适应分割缺陷区域内的特征信息
  6. 自适应超像素分割结果与视觉显著图进行数据融合,标记出缺陷位置。

实验结果表明:基于超像素分割算法分割出图像块,依据图像块内部的方差判断是否需要进行自适应精细分割,相比传统的人工检测,该方法能够解决人工检测过程中由于疲劳和心理波动等客观人为因素造成的误检测和漏检测问题,具有准确快速的特点 

 

 

 

 

 

http://www.lryc.cn/news/58326.html

相关文章:

  • 纺织工业库房如何有效防潮?恒温恒湿真的有效吗?
  • SDK之动态链接库开发—基本概念
  • spring生命周期、IOC工作流程、AOP过程,循环依赖、BeanFactory和FactoryBean
  • 小黑子—Java从入门到入土过程:第六章
  • python实战应用讲解-【numpy数组篇】常用函数(二)(附python示例代码)
  • windows10 java 创建合约
  • 阿里巴巴获得商品详情 API调用示例
  • 企业工程管理系统源码-数字化可视化项目管理平台
  • 【C语言】一文带你简单了解C语言
  • LeetCode 589 LeetCode590 N叉树的前序遍历和后序遍历
  • 为什么CAD多段线没有面积属性或数值不对?快看过来!
  • WRF后处理:使用ncl脚本批量提取wrfout变量并输出/Shell 入门:Shell进入不同文件夹执行脚本
  • Consul在Windows系统下的安装与启动
  • 2022国赛16:神州路由器交换机BGP配置实例1
  • PaddlePaddle NLP学习笔记1 词向量
  • 无重复全排列 [2*+]
  • 【血泪建议】软件测试岗位现状,可惜之前没人告诉我,肠子都晦青了....
  • Elastic(ELK) Stack 架构师成长路径
  • Netty的高性能体现在哪些方面
  • CompletableFuture详解
  • (学习日记)2023.3.10
  • 【图像分割】Meta分割一切(SAM)模型环境配置和使用教程
  • AJ入门路线
  • 多商户商城小程序源码开发需具备哪些功能?
  • 【动态规划模板】最长公共|上升子序列问题
  • Android系统启动流程--zygote进程的启动流程
  • C++程序设计——异常
  • 2022年第十三届蓝桥杯web开发—东奥大抽奖【题目、附官方解答】
  • 一份两年前一个月的工作经历没写在简历上,背调前主动坦白,却被背调公司亮了红灯,到手的offer没了!...
  • C++游戏分析与破解方法介绍