本文主要是介绍Detecting of Cracks and Scratches读书笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
引子
最近在做之前工作的资料整理,无意间翻到基于图像处理的划痕检测文章,网址都失效了 。OK,让我们开始吧。网址:http://www.qualitymag.com/articles/91490-detecting-of-cracks-and-scratches
检测产品表面缺陷,诸如污点、龟裂和刮痕,这是一项对于人或者机器视觉来说很难的工作。这些缺陷具备随机的形状和低对比度,而且容易被产品的自身的纹理或者模式所掩盖。用机器视觉的方法检测需要了解这些缺陷的样子、尤其是光线、摄像头分辨率、部分展示描述和高大上的机器视觉算法。
Understand the Task
了解这些缺陷是如何产生的会给你一些关于这些缺陷如何出现在图片上的一些想法。一些先验知识会提高缺陷检测的稳定性通过机器视觉手段分析限定的区域、结构和缺陷发生的方向。
在这个复杂的检测任务上,人类检测员的认定有可能根据不同的因素导致不同的认定结果,然后机器视觉可以给出始终一致的认定结果。
由于这些缺陷是低对比度的,合适的光照可以放大对比度,光照对于缺陷检测是一个尤其重要的因素。
摄像头和焦距照出来的图片必须保证龟裂和刮痕超过3个像素大小。
Shading Correction
如果刮痕和龟裂的强度很好的体现在机器自然纹理之上或者之下,这个检测任务貌似很简单。利用强度阈值仅仅显示龟裂和刮痕的像素,并且统计检测出来的缺陷信号
然而,在阈值之外的像素值可能由于不均与的光照强度而误判为龟裂或刮痕,实际上并不是。阴影校正可以去除光照强度的不同,从而提高刮痕检测效果。阴影校正的典型做法是空间域滤波或者根据基准图对输入图片进行划块。
空域高通滤波可以放大高频刮痕和龟裂并且去除由于光照强度而产生的低频信息变化。不幸的是,这个高通滤波只可以放大表面纹理,但是带噪声的图片会很难检测准确。
除了放大高频信息,我们还可以减少低频信息。首先,对输入图片进行均值滤波。接下来,减去输入图片的低通图片,留下高通的部分(刮痕和龟裂)。
基准图是临时对一系列的没有刮痕的图片做平均。基准图展示了光照分布。接下来,根据基准图划分输入图像从而消除光照的影响。
Golden Reference Methods
大部分零件都有出现反射和transmission variations现象会模糊刮痕和龟裂。我们可以通过对已知的好零件的图像精确地定位来生成golden基准图。
Repetitive Pattern Removal by Matched Filters
Golden基准的方法可以去除重复零件模式,比如说网格。
基本的方法是根据零件的重复模式的部分建立一个匹配空域滤波器,然后利用滤波器过滤掉模式,留下完整的表面刮痕,并为表面缺陷优化信噪比。运用匹配滤波器的优势是具备滤波器与输入图片之间定位不匹配的容忍度,随着标准化的不同,容忍度是可以变化的。
一个已知的具备重复模式良好图片可以使用快速傅里叶变化去生成匹配滤波器。在空域中,根据匹配滤波器把输入图片划块。如果我们不在表面刮痕的位置和结构,这些刮痕有的时候可以在空域中被检测出来。
Structural Methods
架构化方法是利用刮痕结构的先验知识去提高检测效果。例如刮痕一般出现在图片中的点是近似为一条线的。
两种结构化方法,数字形态学和霍夫变换。
数字形态学,腐蚀膨胀
霍夫变换,坐标系转换
这篇关于Detecting of Cracks and Scratches读书笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!