【论文阅读 08】Adaptive Anomaly Detection within Near-regular Milling Textures

        2013年,太老了,先不看 比较老的一篇论文,近规则铣削纹理中的自适应异常检测

1 Abstract

        在钢质量控制中的应用,我们提出了图像处理算法,用于无监督地检测隐藏在全局铣削模式内的异常。因此,我们考虑了基于全局傅里叶的方法和局部剪切波分解来阻尼铣削纹理。这些基于频率的方法与空间域基于模板的自相关进行了比较。作为一种替代方法,所谓的匹配追踪是通过联合傅立叶和基于小波的字典提出的,可以同时利用全局铣削槽和局部异常的两个模型。所有这些方法都使用定量和特定领域的定性指标针对手动注释的真实世界数据集进行评估。

2 Introduction

        钢的清洁度是其质量的一个重要属性。它由钢基体中非金属夹杂物的数量、大小、形态、分布和化学组成定义。这些不受欢迎的遏制是钢加工过程的固有副产品。然而,清洁因素对钢的力学性能有直接影响,因此需要不断监测。在[1]中,我们提出了一种组合铣削和光学扫描方法,用于评估原始生产输出的钢样品中不同类型非金属夹杂物的3D分布。因此,通过铣削刀将钢样品切成数百层。在本文中,我们将介绍和评估图像处理技术,用于将铣削模式的周期性背景纹理与非金属夹杂、收缩孔和微裂纹等钢基体中包含的各种相关异常分离。这是一个具有挑战性的任务,因为铣削纹理是实际机械钢性能、铣削工具磨损、铣削机的振动、铣削刀具的旋转和前进速度、铣削刀具的旋转和前进速度、照明特性、插值和拼接伪影的复杂相互作用的结果,这是由于图像捕获、相机设备的噪声特性和许多其他其他因素。因此,准周期铣削纹理中总是有一些变化,因此结果只是近正则的。因此,我们的目标是检测异常,我们松散地定义为与通常的铣削纹理的偏差,同时承认铣削纹理本身本质上是不同的。我们所有的图像分割方法都是考虑到异常的这种模糊定义而设计的。然而,在评估部分,我们将针对一组手动标记的图像测试算法,以评估它们在仅检测验证异常方面的实际有效性。

A.问题陈述

        铣削刀具示意图如图1所示。铣削工具不断旋转,同时向前移动,以磨表面。因此,在整个钢表面创建了一个周期性的铣削纹理模式。当表面图像转换为频域时,可以最好地评估该信号的周期性,如图2所示。因此,不同的基于频率的变换显示了铣削纹理与非金属夹杂物(圆形缺陷)的质量不同的分离。例如,在D4小波变换下,它们与较高的频段很好地分离,而Haar小波变换仍然显示与高频异常相关的系数。在下文中,我们希望利用信号中的这些类型的规律,以便将铣削纹理与异常分离。因此,需要一种数据驱动和高度自适应的方法,因为即使是转换后的信号仍然有噪声,因为铣削纹理的唯一近规则(即不完全规则)属性。

B. Previous Work

        近正则纹理的问题在[2]中得到了广泛的讨论和分析。工业图像处理中表面检测领域有很多出版物,其中讨论了其他规则表面纹理中的异常检测[3]、[4]、[5]、[6]。然而,通常情况下,背景纹理被假定为均匀随机的,否则由于印刷材料的检查,它具有很高的规则质量,没有太多的图像噪声。一个值得注意的例外是网络检查领域,它在质量上接近此处讨论的纹理分离问题。然而,网络纹理通常是 2D 周期性的,并且由于它们的正交性,这些可以通过特征值 [7] 或共现矩阵 [8] 进行分析。[9]描述了一种基于频率的自滤波方法,用于常规背景模式内的异常检测。它只进行了测试在合成图像数据和我们的真实近规则纹理的结果并不令人鼓舞。

3 APPROACHES

A.基于模型的分离

        假设每个表面图像可以建模为铣削槽F、非金属夹杂E和图像噪声R的叠加。在这里,我们不考虑裂纹样缺陷,因为这些缺陷与拉长的铣削槽太相似。因此,图像 B 可以定义为:B = F + E + R。
        a) 匹配追踪:匹配追踪 (MP) [10] 是一种用于稀疏近似的贪心算法。该方法通过使用基函数字典找到与信号 f 最佳匹配。迭代地,选择字典(ψi)i∈i的基函数ψi,其内积|<R,ψi>|与当前残差R最大,其中初始残差是信号f本身。然后,residuum 更新为 Rnew = Rold −<Rold, ψmax i >ψmax i。重复此过程,直到满足某些终止标准,例如最大迭代次数。最后,原始信号f将稀疏地近似为最多n个基函数:

其中索引 m 描述了第 m 次迭代。 

        b) 全局和局部字典:我们提出了一种与两种类型的字典的匹配追踪,其中全局字典包含近似铣削纹理的基函数,局部字典包含适合拟合非金属夹杂等局部异常的基函数。假设铣削纹理是准周期性的,其行周期为2πc1c2。周期函数可以描述为正弦波和余弦波的叠加,因此逐行一维傅里叶变换为我们提供了两种构建全局字典基函数:

 对于本地字典像Haar和Daubechies (D4)这样的小波是合适的。由于我们想对非常本地化的异常进行建模,我们只使用两个级别,即两个不同的缩放小波和缩放函数。因此,我们的非金属夹杂物最好用缩放函数来描述。但是,小波函数可以更好地描述边界。由于异常自然地出现在沿图像像素的每一行的未知位置,因此我们额外翻译字典中的小波和缩放函数。最后,这两个词典由欧几里得 L2 范数归一化,因此它们被平等对待。每次迭代的数值复杂度结合了小波变换的线性复杂度和表示两个模型的傅里叶变换:O(N + N log2 N )。

        c) 匹配追踪异常检测:借助两个先前定义的字典,我们扩展了通常的匹配追踪,现在需要在两个全局和局部字典之间切换。因此,与本地字典完全匹配只会更新输出图像,因为我们只对仅由本地字典描述的异常感兴趣。因此,最后,我们得到了非金属夹杂物的稀疏近似E,即局部异常。引入全局字典dglobal的加权因子w,以避免局部字典DLocal的过拟合问题,因为全局铣削模式只是准周期的,因此全局字典并不总是解释最佳拟合(尽管它是预期的)。清单 1 显示了扩展匹配追踪与附加归一化的完整伪代码。

        到目前为止,我们的图像模型的噪声分量 R 被忽略了。然而,由于我们的近似 E 仅包含最少数量的稀疏基函数,因此大部分噪声已经得到充分处理。对于更稳健的结果,输入图像 B 可以通过高斯核预先平滑,例如。然而,这个预处理步骤也模糊了异常的确切轮廓。总而言之,本文提出的扩展匹配追踪是基于模型的分离[11]方法的成功例子,其中分别联合利用了代表背景和前景纹理的全局和局部模型。[12]给出了类似的几何分离字典。然而,这是一个缺点,我们只能使用一维模型,因此我们忽略了图像中相邻行的空间相关性。另一方面,此属性可以实现高效和并发处理。

 B.基于剪切分解

        如果感兴趣的区域足够小(例如在我们的例子中为 256 × 256 或 512 × 512 像素),弯曲的铣削槽往往看起来相当直线。对于像剪切波[13]、[14]这样的方向敏感变换,我们可以建立一个类似于定向梯度直方图(HoG)的剪切波系数的直方图,其中[15]表明剪切波的性能优于HoG。其他可能的转换可能是Gabor滤波器组[16]或曲线[17],但只有剪切波可以很容易地离散化(锥体[18]上的剪切波),是可逆的,并且具有多分辨率能力。剪切波是通过额外的剪切变换对小波的扩展。因此,剪切波可以支持图像中边缘的检测,而唯一的小波变换只能表示点奇点。在我们的应用中,我们希望使用剪切波变换对图像补丁进行变换,然后将最突出的方向(即系数)设置为零或抑制,因为这些方向肯定代表了全局铣削纹理。最后,使用滤波系数和反剪切波变换再次重建输入图像。该结果图像将不受铣削纹理的影响。它只包含来自重建过程的异常和额外的伪影,这些伪影被进一步过滤,以便可以对异常进行二值化。快速剪切波变换[18]的复杂度为O(N 2 log2 N2),这是由于多次FFT乘以尺度的数量。

        d)剪切波:我们使用基于频率的剪切波变换,定义为

 典型的剪切函数ψ,如[18]所述。图3显示了剪切波变换的结果系数三个层次。对于更高级别的方向分辨率更精细,但更可疑的图像噪声。较亮的像素意味着较大的系数,很明显,当剪切波核的电流方向与铣削槽的角度匹配时,成功地检测到铣削模式。此外,圆形异常往往具有局部较大的响应。然而,我们也不使用这些信息,因为我们只想匹配铣削纹理。

 图4:使用剪切波分解从图像2a中分割圆形缺陷,如图3所示。第一个结果4a是在k-means聚类最显著的系数后得到的。第二个结果 4b 是系数自适应邻域的加权和。在这里,背景更加均匀,重建伪影更少,从而允许稳健的二值化。

        e)剪切波系数的滤波:为了自适应地检测和去除铣削槽,我们使用每个系数图像的对数欧氏L2范数的kmeans聚类。有两个簇,一个用于表示铣削模式的方向,另一个用于所有其他方向的第二个簇。属于第一个簇的所有系数都设置为零,并且图像被重建为示例,如图 4a 所示。为了减少重建伪影,由于系数的严厉切割可能属于铣削纹理,我们实现了系数的软加权,它考虑了局部邻域[19],从而产生稍微更平滑的背景纹理,如图4b所示。

        由于裂纹状缺陷具有与铣削槽相似的拉长线性外观,如果它们的方向与铣削模式相似,则无法识别这些外观。因此,系数永远不应该设置为零,而是对所有系数进行加权求和,其权重由聚类为非铣削纹理的系数图像的平均 L2 范数自适应计算。中值绝对偏差 (MAD) 是在未分类为表示铣削纹理的所有图像 Gl(如图 3 所示的系数图像)上计算的:M AD(Gl(x, y))) = 中值(|中位数(Gl))−Gl(x, y)|)。标准偏差为 σ = M AD0.675。最终加权图像Gw的阈值选择为t =中位数(Gl)+k·σ,其中k > 1。使用这种方法,面向整体铣削纹理的微裂纹分割结果如图5所示。请注意,即使是这种微裂纹的精细细节也明显与铣削纹理分离。

 图 5:使用剪切波分解分割微裂纹。由于裂纹的线状性质,它们与背景铣削纹理的相似性本身就很高。因此,所有系数的加权和,如 5b 所示,对于它们在 5c 中的最终可检测性至关重要。

 C.傅里叶空间中的楔形滤波器

        模式的2D傅里叶谱揭示了一个大幅度的楔形区域(见图2b),它与空间铣削纹理线条的方向正交。楔形主要代表铣削槽对应的较高频率。楔形的参数可以通过沿从光谱中心辐射为铅笔的虚直线采样平均幅度来估计。通过对平均幅度[1]应用kmeans聚类,可以找到定义楔形区域的开始和结束旋转角度。最后,可以对傅立叶谱应用掩码,该谱将楔形内的值设置为零,以便投射较低的频率。在傅里叶反变换之后,可以使用马氏距离分割铣削图案的周期部分和被认为是不规则缺陷。在这里,我们只自适应地参数化铣削纹理的全局楔形模型。然而,由于傅立叶分析中频谱的全局性质,我们省略了局部细化。因此,由于铣削纹理的近正则性引起的小扰动不包括在模型中,因此铣削纹理的二值化会产生伪影(即异常的假阳性分类),但也会产生假阴性,因为极端局部异常的傅里叶信号变为与铣削纹理的变化纠缠在一起。由于沿对角线轴的傅里叶变换遵循复杂度可以近似为 O(√N + N log2 N )。

D.纯相位变换

        仅相位变换 (PHOT) [20] 对 2D 傅里叶域中的幅度进行归一化,从而消除所有规律。图像I(x, y)的归一化二维傅里叶谱F(u, v)计算为

 然后,应用逆变换得到 ^I(x, y) =F−1(u, v)。由于傅里叶谱的大小被丢弃,因此仅使用包含图像重要部分的相位信息。PHOT检测已经很好地符合我们的表面模型的图案区域的小缺陷和边界。此外,我们将标准 PHOT 与多尺度扩展 MPHOT [21] 进行比较,后者使用应用于纹理高斯金字塔的 PHOT 滤波器的融合。这允许精确分割更大的缺陷。数值复杂度由系数归一化的傅里叶变换定义:O(N 2 log2 N )。

E.基于模板的自相关

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/142324.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

如何正确使用MySQL的索引呢?

前言: 📕作者简介:热爱编程的小七,致力于C、Java、Python等多编程语言,热爱编程和长板的运动少年! 📘相关专栏Java基础语法,JavaEE初阶,数据库,数据结构和算法系列等,大家有兴趣的可以看一看。 😇😇😇有兴趣的话关注博主一起学习,一起进步吧! 一、索引使用…

探索创意的新辅助,AI与作家的完美合作

在现代社会&#xff0c;文学创作一直是人类精神活动中的重要一环。从古典文学到现代小说&#xff0c;从诗歌到戏剧&#xff0c;作家们以他们的独特视角和文学天赋为我们展示了丰富多彩的人生世界。而近年来&#xff0c;人工智能技术的快速发展已经渗透到各行各业&#xff0c;文…

【数据结构】二叉树的销毁 二叉树系列所有源代码(终章)

目录 一&#xff0c;二叉树的销毁 二&#xff0c;二叉树系列所有源代码 BTee.h BTee.c Queue.h Queue.c 一&#xff0c;二叉树的销毁 二叉树建好了&#xff0c;利用完了&#xff0c;也该把申请的动态内存空间给释放了&#xff0c;那要如何释放呢&#xff1f; 我们还是以…

LeetCode力扣020:有效的括号

有效的括号 实现思路 设立判定条件遍历的范围 代码实现 class Solution(object):def isValid(self, s):""":type s: str:rtype: bool"""nlen(s)for i in range(0,n-1):if s[i]( and s[i1]!):return Falseif s[i][ and s[i1]!]:return Falseif s…

02Redis的命令行客户端和桌面客户端的下载和安装

Redis桌面客户端 安装完成Redis服务,我们就可以在Redis的客户端操作Redis的数据库实现数据的CRUD了,客户端分为三类命令行客户端, 图形化桌面客户端,编程客户端 命令行客户端 Redis安装完成后就自带了命令行客户端: redis-cli [options] [commonds] -h选项&#xff1a;指定…

Jenkins+Allure+Pytest的持续集成

一、配置 allure 环境变量 1、下载 allure是一个命令行工具&#xff0c;可以去 github 下载最新版&#xff1a;https://github.com/allure-framework/allure2/releases 2、解压到本地 3、配置环境变量 复制路径如&#xff1a;F:\allure-2.13.7\bin 环境变量、Path、添加 F:\a…

从零开始的 MyBatis 拦截器之旅:实战经验分享

文章目录 MyBatis拦截器可以做什么&#xff1f;Mybatis核心对象介绍四大核心对象如何实现&#xff1f;接口讲解Interceptor接口intercept方法plugin方法setProperties 完整SQL打印拦截器实战拦截器实现拦截器注册 MyBatis拦截器可以做什么&#xff1f; MyBatis拦截器是MyBatis…

软件测试面试题 —— 整理与解析(4)

&#x1f60f;作者简介&#xff1a;博主是一位测试管理者&#xff0c;同时也是一名对外企业兼职讲师。 &#x1f4e1;主页地址&#xff1a;【Austin_zhai】 &#x1f646;目的与景愿&#xff1a;旨在于能帮助更多的测试行业人员提升软硬技能&#xff0c;分享行业相关最新信息。…

自动化测试:为什么需要框架

前两天跟老板出去做pre-sales. 主要是去卖我们的自动化测试服务&#xff0c;工具用的是HP UFT。做过自动化的人应该知道&#xff0c;UFT在自动化测试领域已经算是最好的工具之一了。客户是个有技术背景的人&#xff0c;所以不那么好忽悠。我们准备了一大堆自动化测试优点的幻灯…

推荐一个AI人工智能技术网站(一键收藏,应有尽有)

1、Mental AI MentalAI&#xff08;https://ai.ciyundata.com/&#xff09;是一种基于星火大模型和文心大模型的知识增强大语言模型&#xff0c;专注于自然语言处理&#xff08;NLP&#xff09;领域的技术研发。 它具备强大的语义理解和生成能力&#xff0c;能够处理各种复杂的…

【效率提升】maven 转 gradle 实战 | 京东云技术团队

一、灵魂三问 1、gradle 是什么&#xff1f; 一个打包工具&#xff0c; 是一个开源构建自动化工具&#xff0c;足够灵活&#xff0c;可以构建几乎任何类型的软件&#xff0c;高性能、可扩展、能洞察等。其中洞察&#xff0c;可以用于分析构建过程中数据&#xff0c;提供分析参…

想学python找不到合适的书籍?它来了!入门python只需要这一本书就够了!

想学python找不到合适的书籍&#xff1f;看了视频还是不知如何下手&#xff1f; 《python王者归来》 它来了&#xff01;由清华大学出版社出版&#xff01;入门python只需要这一本书就够了&#xff01; 【PDF版领取见文末】 这是一本python入门书。无论你是计算机专业的大学生…

C语言之字符函数字符串函数篇(1)

目录 前言 求字符串长度 strlen strlen统计的是字符串\0之前的字符串长度 字符指针 strlen的返回值是无符号整型 strlen的三种模拟实现 计数器 函数递归 指针_指针 长度不受限制的字符串函数 strcpy strcpy会将源字符串中的 \0 拷贝到目标空间 strcpy参数目标空…

echarts添加点击事件

实现效果&#xff1a;点击图表&#xff0c;弹出该数据下对应得详情 官方文档&#xff1a; 封装的图表组件中&#xff1a; 点击获取点击得对象&#xff0c;进而将需要的参数传给父组件&#xff0c;在父组件中再去请求接口获取更多信息 this.chart.on(click, (params)> {th…

Docker 安装Redis(集群)

3主3从redis集群配置 1、新建6个docker容器 redis 实例 docker run -d --name redis-node-1 --net host --privilegedtrue -v /data/redis/share/redis-node-1:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6381 docker run -d --name redis-node-2 --ne…

聚焦云原生安全|如何为5G边缘云和工业互联网应用筑牢安全防线

9月22日&#xff0c;2023年中国信息通信业发展高层论坛5G工业互联网分论坛在北京顺利举办。 作为国内云原生安全领导厂商&#xff0c;安全狗受邀出席此次活动。 据悉&#xff0c;中国信息通信业发展高层论坛是致力于研究信息通信业发展新问题、新趋势&#xff0c;推动信息通信…

使用vite插件进行低代码平台自定义开发(手机版自定义范例)

前言 Youtube上的前端网红「Theo」在React文档仓库发起了一个Pull request&#xff0c;号召React文档不要再默认推荐CRA(create react app)&#xff0c;而是应该将Vite作为构建应用的首选。 vite的影响力已经从vue蔓延到了react&#xff0c;可见在前端工程化开发中&#xff0c…

如何使用ArcGIS Pro将等高线转DEM

通常情况下&#xff0c;我们拿到的等高线数据一般都是CAD格式&#xff0c;如果要制作三维地形模型&#xff0c;使用栅格格式的DEM数据是更好的选择&#xff0c;这里就为大家介绍一下如何使用ArcGIS Pro将等高线转DEM&#xff0c;希望能对你有所帮助。 创建TIN 在工具箱中选择“…

如何构建基于大模型的App

ChatGPT 的出现让大模型再一次成为业界的关注热点&#xff0c;然而&#xff0c;并不是每个组织都要去训练及生成大模型的&#xff0c;而且各个组织的技术积累和计算资源也不太允许这样去做。更多的时候&#xff0c; 我们还是基于大模型开发业务应用。所谓智能原生&#xff08;A…