请求指导:使用计算机视觉对小而薄的金属环轴进行质量控制应遵循什么方法?

2024-09-28 22:08:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我是计算机视觉领域的新手,正在寻求您的指导,以确定解决以下情况的方法:

What approach to follow to do Quality Control on small and thin metal rings using Computer Vision

下面是详细的要求(这是我能分享的最好的):

首先,我附上了一张我们需要做质量控制的戒指的照片。你知道吗

Ring_for_QC

  • 环直径=3英寸

我们需要进行以下检查:

1.环表面涂层脱落

2.环削掉的部分

3.戒指表面有划痕

4.环宽不均

5.戒指上的凹痕

6.环的整个表面与平面不完全水平; 可能是由于某些凹痕,环的一部分靠在平面上,形成1或2度角 (我已在附图中将6号标为“凹面”)

我还附上了另一张图片,标明在随机环上发现的质量问题。elevated view with marked QC issues

场景:

  • 一个环可以有上述6种缺陷中的一种或多种

  • 问题1和3可能出现在环的任一表面,我们需要检查两个表面

  • 我们需要一次对一个环进行质量控制

挑战: -需要设置一个工作站来捕获每个被检查环的图像或视频

  • 工作站上有多少个摄像头?摄像头的角度是多少

  • 由于我们需要检查环的两侧,我们需要决定是否:

    1. 我们将把戒指放在一个透明的表面上并拍照 或

    2. 在一侧拍摄图像后,我们需要翻转戒指

  • 下一个挑战是我们应该采用什么计算机视觉技术来识别所有这些问题

目前我们正在围绕opencv的背景减法方法做一些研究

这将有助于从你的一些见解 什么是更好/可行的方法


Tags: to方法图像计算机质量视觉表面领域
2条回答

你可以看到如何进行人脸识别。你知道吗

  1. 人脸检测。

  2. 面对齐和规范化。

  3. 特征提取。

  4. 比较特征和模式。

但在您的例子中,您可以跳过第3段,将第2段与参考图像进行比较。根据情况,可能需要额外的过滤。你知道吗

由于这是一个学生的项目,我会强调图像处理比其他方面的应用程序。有关实际应用程序的注意事项,请参见底部部分。你知道吗

除此之外,还有一个一般性的评论:实施质量控制愿景(QC)很难做到正确。如果要检查的产品价格便宜(例如一个戒指、一个小塑料制品),并且视觉检查的结果是合格/不合格或不确定,则可以拒收该零件。如果要检查的零件很昂贵(例如,拖拉机的大型装配、单个CPU、生产线末端附近的医疗设备),那么您必须有非常明确的规格,并且系统需要尽可能坚固。你知道吗

通常,您需要针对每种类型的缺陷优化成像。例如,用于检测划痕的相机位置、镜头和照明可能与尺寸测量(又称尺寸测量)所需的有很大不同。你知道吗

机器视觉与计算机视觉 当你在网上搜索特定于工业自动化视觉的算法、设备和技术,包括生产线上零件的质量控制时,英语网站倾向于使用“机器视觉”而不是“计算机视觉”

https://en.wikipedia.org/wiki/Machine_vision

机器视觉是工业用图像处理(+相机+照明+…)的通用工业术语。虽然不同的人可能使用不同的术语,而且术语没有学习技术那么重要,但是你可以通过搜索“机器视觉”找到很多资料。“计算机视觉”这个术语通常用于非工业应用和学术研究,尽管在英语以外的语言中,“机器视觉”和“计算机视觉”可能是相同的。相比之下,“医学成像”类似于机器视觉,但涉及到图像处理在医学应用中的应用。你知道吗

照明

最重要的是,你必须控制灯光。环境照明,如台灯、顶灯等,不仅对生产中检查零件的视觉系统毫无用处,而且通常会干扰图像处理。有时,在光线控制不好的情况下,您可能会发现一些缺陷,但要产生最一致的结果,您需要在特定位置设置灯光,以特定的、可验证的强度运行灯光,并让您的视觉系统在灯光出现问题时进行检测。你知道吗

有一些“机器视觉灯”是专门为特定的应用而设计的,比如在光亮的表面上寻找划痕,使光亮的表面看起来不那么光亮,给零件背光(这对尺寸测量很有用),从低角度照亮零件等等。阅读不同类型的照明。你知道吗

https://smartvisionlights.com/

https://www.vision-systems.com/content/dam/VSD/solutionsinvision/Resources/lighting_tips_white_paper.pdf

与其花很多钱在特殊的灯上,你可以模拟它们:

  • LED手电筒或单个LED(作为“点”光源)
  • 强光+半透明塑料片(背光)
  • 白纸或其他在强光前扩散的材料
  • 。。。你知道吗

照明的重要性不可低估。控制照明条件可以提高成功的机会,并且对于实现真实环境中所需的测量精度或通过/失败评估通常是必要的。你知道吗

准确、正确、有用 在某个时刻,您可能会怀疑机器学习对于应用程序是有用的还是必要的。要问自己(或客户)的问题是:需要检测的缺陷百分比是多少?你知道吗

例如,如果环中缺少芯片,则可能是致命缺陷。环是否用于某些安全关键应用中?如果是这样的话,QC的视觉检查必须是ex它通常很健壮。你知道吗

即使您熟悉“精确性”和“精确性”这两个术语,在考虑图像处理问题时,也要确保它们具有非常明确的含义:

https://en.wikipedia.org/wiki/Accuracy_and_precision

那么,需要发现多少百分比的芯片缺陷呢?90%? 95%? 98%? 你知道吗

使用术语“精确”更宽松的意思是“视觉系统获得正确的测量和/或发现我们知道的缺陷存在”,你读过的最精确的机器学习算法的准确度是多少?或者至少,对于机器学习来说,什么才算是令人印象深刻的准确度呢?95%? 98%? 你知道吗

如果您在生产线上对机器零件进行测量,那么您通常希望尺寸测量和缺陷检测的精度达到99%或更好。对于高价值产品和对缺陷高度敏感的电子元件等产品,精度可能需要达到99.999%或更高。这样想:如果一个制造商正在生产成千上万个零件,他们不希望垃圾零件一天几次通过你的视觉系统。你知道吗

机器学习用于图像处理已经有很长一段时间了。处理速度、内存和训练集大小都有所提高,算法也有所改进,但需要注意的是,机器学习只适用于某些应用程序,在其他应用程序中会失败得很惨。你知道吗

技巧

To begin with, I have attached a picture of the ring we need to do QC of.

Ring_for_QC

Ring diameter = 3 inch

得到准确的直径,包括公差。如果公称直径为3.000英寸,则公差可能以千英寸表示。对于一个学生项目,你可能不需要知道这一点,但是如果你为一个工厂所有者提出一个解决方案,你甚至不想在没有完整的零件规格和大量的零件样品的情况下建议一个价格或交货时间表。你知道吗

从一张图片上看,不可能太具体地描述一个缺陷可能看起来像什么,同一个零件可能在不同的工厂有不同的缺陷,甚至在同一工厂的不同生产线上,但我们可以做出一些猜测。你知道吗

1.Surface coating of the ring peeled off

从一张照片上看,还不清楚表面涂层应该是什么样子,或者下面是什么。您必须至少提供一个好零件的图像,并且为每种类型的缺陷至少提供一个图像。

什么是表面涂层?阳极氧化?油漆?珐琅质?塑料的?奶酪?不管是什么情况,了解它是什么材料,以及这种材料是如何降解的,都将提供一些线索,说明什么样的视觉设置可能有助于检测涂层的问题。涂层质量的变化会影响表面纹理(例如边缘含量)、亮度/黑暗度(强度)、颜色、光泽等。你知道吗

目前,假设涂层剥落会改变未涂层表面与剩余涂层表面的亮度或纹理。您的图像处理可能如下所示:

  1. 确定图像中是否有戒指
  2. 从背景中分割戒指。也就是说,使用诸如连接组件(OpenCV的findContours())、SIFT或其他技术等算法,从背景中识别已知大小和形状的刚性对象的存在和位置。你知道吗
  3. 将进一步的处理隔离到仅对应于零件表面的那些像素。你知道吗
  4. 使用一些技术找到不同纹理差异、亮度差异等的簇。这是需要更好地描述涂层的地方。如果照明和镜头参数“固定”,可以考虑生成图像中亮度值的直方图(0=黑色,255=白色),然后比较直方图中好的部分和坏的部分有没有统计上的差异?或者您也可以使用连接的组件(findContours()再次)对像素进行聚类对于不同的颜色,假设缺少涂层会改变零件的外观颜色:可能涂层是棕色,零件是银色。你知道吗

如果没有照片和/或更具体的涂层描述,很难猜测什么技术与此相关。希望这能清楚地说明为什么规范很重要。你知道吗

涂层可能以不同的方式缺失:剥落、小的缺失(空隙)、部分刮除等。很难预先预测缺失涂层的形状和尺寸。你知道吗

当缺陷的大小和形状难以预测,但缺陷与图像强度(像素亮度)或颜色的差异有关时,请探索以下想法:

  • 生成一个“边缘图像”,在其中可以找到亮度/颜色转换。从灰度或彩色图像开始,然后使用Sobel或Canny或其他算法生成边缘强度的图像。你知道吗
  • 应用统计方法来确定图像的“边缘”程度。边缘强度大于S的像素是否超过N个(或超过所有像素的5%)?你知道吗

一旦你有了一些基本的算法来识别好的零件和缺少涂层的零件之间的区别,那么你可以考虑使用机器学习来检查批次(lots!)以帮助确定最佳参数化。例如,你如何知道什么数量的边缘像素或边缘像素强度应被视为“坏”?你知道吗

2.Portion of ring chipped off

这取决于芯片是否仅从零件的轮廓可见。例如,如果您将零件放在一个光台上(即“背光”),您是否总是看到被认为是“芯片”的缺陷?或者芯片可能就在面向相机的顶面上?你知道吗

为了找到边缘上的芯片,把零件放在背光上可以大大简化事情。你知道吗

  1. 确定零件的位置和方向(例如,使用连接组件、标准化相关性、SIFT或任何适合零件的算法和所需的定位精度)。你知道吗
  2. 找到与零件外圈和内圈相对应的边。你知道吗
  3. 使用Hough圆拟合、RANSAC圆拟合或(meh)参数化为已知尺寸(像素)的外圈和内圈直径的最小二乘圆拟合,将圆或近似圆椭圆拟合到边缘点。你知道吗
  4. 对于用于圆拟合的点,找到点到圆(或点到椭圆)的最短距离。这个距离越大,你就越有可能有一个芯片或丢失块。你知道吗
  5. 为了确保您找到的是识别、芯片或任何东西,而不仅仅是单个的“噪声”边缘点,请按顺时针或逆时针的顺序检查这些点,并且如果N个连续点的中位数或可能的平均点到边缘距离大于N,则仅将一系列周界点视为缺陷

一种更简单的方法是,将代表良好零件的模板与待检查零件的当前位置和旋转相匹配。如果模板和样本部分非常精确地对齐,并且如果执行图像减法,那么您可能有足够的运气得到存在缺陷的簇或像素。但这种方法相当粗糙,而且很难使其具有鲁棒性。你知道吗

有机器学习技术来识别边缘上的芯片,但是你需要大量的零件样本来训练这些技术。或者,如果没有足够的样本,可以在图像的不同位置使用稍微修改过的照明、手动添加的缺陷等样本来帮助训练算法。但这完全是另一种讨论。你知道吗

3.Scratch on the ring's Surface

有关不同类型的照明,请参见上面的链接。你需要尝试几种不同的照明配置,找出适合你的部分。你知道吗

不过,一般情况下,划痕很可能已经损坏亮度和“边缘”(图像边缘内容)相对于零件其余部分的差异。如果你幸运的话,刮痕会露出不同的颜色。你知道吗

划痕在外观、面积和形状上可能有很大的差异,因此很难通过参数化算法来捕捉所有划痕。同样,对边缘内容、亮度和颜色的统计分析也很有用。你知道吗

一般来说:为了实现特定质量控制检查的最佳结果,您需要专门为零件设计一个系统。您的视觉系统可能是可配置的,对于不同类型的QC检查,可以有不同的灯光和摄像头组合,但是对于任何特定的缺陷检测,您希望尽可能控制零件的外观。依靠软件来完成所有的工作会产生一个不那么健壮的系统,客户通常会把它拉出来扔掉。你知道吗

4.Width of the ring is uneven

这几乎是尺寸测量或光学测量的一个例子。如果你只是在寻找不均匀性,你不一定需要测量直径的工程单位,如毫米:你可以只测量像素。但是,确保像素测量准确所需的努力通常会导致以毫米为单位进行测量。你知道吗

假设光学设置正确且(或多或少)已校准(我将在下面描述),以下是一个基本过程:

  1. 确定零件的位置和位置
  2. 从查找零件的算法,或从识别边缘像素的后续算法(如Sobel、Canny等),仅查找环外径的边缘像素。你知道吗
  3. 对边缘像素执行圆/椭圆拟合,并消除实际上不属于圆/椭圆的异常像素。你知道吗
  4. 让您的算法从与外径对应的边缘像素列表中的第一个像素开始。你知道吗
  5. 从第一个像素开始,找到最远的边缘像素。理想情况下,这将是截然相反的点。你知道吗
  6. 循环遍历所有像素,找出到最远像素的距离。(这在速度方面不是最佳的,但代码更简单。)
  7. 生成所有距离的直方图。你知道吗
  8. 根据点到点距离的直方图确定好/坏。你知道吗

对于以下一种或多种情况,可以将零件称为“坏”:

  • 至少N个点到点距离超过P个像素的距离
  • 点到点距离的标准差超过某个阈值T
  • 。。。你知道吗

距离的测量取决于图像中不同位置点对点距离的一致性。如果您对距离进行精确的测量,您会注意到固定长度的对象根据其在图像中的位置在长度上会有所不同:如果对象位于图像的中心,则其长度可能为57.5像素,但在图像的一个角落,其长度可能为56.2像素。你知道吗

为了纠正这些不规则,你可以。。。你知道吗

  • 执行非线性平面度校正。这也将纠正相机与零件的非法线对齐,尽管您可能希望从相机光轴与零件表面的法线(垂直)开始
  • 做一些快速的测量来估计测量值的变化。你知道吗

5.Dent on the ring

6.Entire surface of the ring is not completely horizontal to the plane; may be due to some dent a part of the ring is resting on the plane surface creating some 1 or 2 degree angle (I have marked no.6 as 'uneven surface' in the attached picture)

使用摄像机从侧面成像。确保背景简单。你知道吗

一个1到2度的差异可能很难检测到使用一个摄像头直接放在头顶。如果你幸运的话,你可以检测到零件的外边缘是椭圆形的而不是圆形的,但是检测的能力取决于零件的颜色和厚度。此外,你不一定能够区分一个畸形的部分和一个休息在一个角度,但对于一些检查,这是好的,因为两者是缺陷。你知道吗

然而,在真实的应用程序中,如果您拒绝了原本不错的部件,但恰好处于一个小角度,客户可能不会高兴。机械夹具可以通过确保零件平放来解决问题。你知道吗

I have also attached another picture marking the quality issues found on a random ring.elevated view with marked QC issues

图像不够清晰。把这个部分放在一个更简单的背景上,用灯光进行修补,使它更明显的区别是好的和坏的。你知道吗

One single ring can have one or more than one of the above mentioned 6 defects

一个接一个地运行算法。在运行每个算法(或者更确切地说,每个算法链)之前,您可能还必须打开和关闭不同的灯光。你知道吗

Issue 1 & 3 can occur at either surface of the ring and we need to check both the surfaces

We need to QC on one single ring at a time

您可能需要编写一个算法来检测是否存在多个环。即使你没有被特别要求这样做,这种情况也会发生在生产中,你的教授可能会给你一个惊喜。至少要知道如何检测多个戒指的存在。你知道吗

这是视觉的另一个方面:你可能会开始思考什么算法和照明是解决“问题”所必需的,但你也会花很多时间找出一切可能出错的地方,并编写软件来检测这些情况,以确保不会产生错误的结果。例如,如果灯关了怎么办?如果有两个戒指呢?如果戒指不在视野范围内怎么办?如果零件所在的表面沾上灰尘怎么办?如果镜头变脏了怎么办?你知道吗

一些原则:

  • 为图像处理提供最佳图像考虑哪种算法最有效之前。你知道吗
  • 了解什么样的准确率/成功率是必要的,并加以衡量。你知道吗
  • 尽可能多地采集样本:可能的话,成百上千个。有机会测量“在线”(在实际生产中)是有帮助的。你知道吗

实际应用程序 如果它是一个真实世界的应用程序,也就是说,如果你以专业的眼光进入视野,那么还有许多步骤看起来不那么困难,但事实证明这是至关重要的:

  • 环如何进入视野(或进入“站”):在移动的传送带上?由机器人放置?在什么容器里?你知道吗
  • 是什么触发了环的视觉检查可编程逻辑控制器、环穿过的“光幕”,还是视觉系统本身必须确定环何时准备好进行检查。你知道吗
  • 如何将结果传达给其他设备。(这可能是一个巨大的麻烦,如果通信设计和实施不当,那么一个好的视觉系统可能会被客户拒绝。)
  • 是否保证一次只能看到一个戒指

这并不是说大学不是真实的世界:只是如果你碰巧忽略了一些事情,你可能不会损失几万或几十万欧元/磅/美元。你知道吗

相关问题 更多 >