经验分享谈谈工业质检中的二维定位算子

Posted 极智视界

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了经验分享谈谈工业质检中的二维定位算子相关的知识,希望对你有一定的参考价值。

  本文主要聊一下工业质检中的二维定位算子。

  工业质检领域是计算机视觉落地比较早的领域,也是至今传统图像处理算法依旧大量使用的场景,这有别于安防、自动驾驶等领域,有时候使用传统的算法来解决问题会让你觉得相比深度学习更加纯粹和可解释。工业领域的计算机视觉也往往被叫做机器视觉,包括机械手引导定位、读码、工业部件测量、缺陷检测、OCR、3D体积等应用。一些比较好用和有名的机器视觉算法平台有 visionPro(康耐视)、halcon(MVtec),国内有 VisionMaster(海康)、MVP(大华)等。

  下面借用 visionPro 来说一下主题,视觉定位是进行视觉测量、图像处理、分析等的先导步骤,若定位没做好,后续的处理往往无法有效进行。

一、定位常用算子

  • 斑点检测
  • 找边
  • 找圆
  • 模板匹配
  • 模板比对

二、算子浅析

2.1 斑点检测

  斑点检测也称为 blob 分析,可以对图像中的斑点或者孔洞进行定位分析,可以配置形态学操作,输出斑点数目、斑点质心、最小外接矩、斑点轮廓、连通域标号图等信息,在 OpenCv 中有类似的算子:SIFT、SURF、LoG 等,我觉得 连通域分析算子cv::connectedComponentsWithStats 功能上与斑点检测最为类似,可以看作低配版 blob 分析算子,用起来还是很方便的
用康耐视 visionPro 视觉软件进行斑点检测演示,添加 CogBlobTool 算子,效果如下:


2.2 找边

  找边算子的使用基于卡尺算子,主要用于直线的定位,可以输出直线的位置信息,OpenCv 中类似的算子有 cv::HoughLines,但两者的实现原理不太相同,卡尺运用投影的原理,而霍夫变换用概率投票思想来实现。从使用上来说 cv::HoughLines 无法像找边算子一样指定期望位置,而且找边算子的效率高相比会高很多,而这在实际使用中十分重要。


2.3 找圆

  找圆算子的使用也是基于卡尺算子,主要用于圆的定位,可以输出圆的位置信息,OpenCv 中类似的算子有 cv::HoughCircles
同样用 visionPro 视觉软件进行找圆演示,添加 CogFindCirclesTool 算子,效果如下


2.4 模板匹配

  模板匹配的作用是根据对象特征训练模板,对一定角度范围和尺度范围内的物体进行匹配定位,可以输出对象的质心、旋角、缩放等信息。OpenCv 中有类似功能的算子:cv::matchTemplate,该函数提供 6 种匹配算法,最后一种归一化相关系数匹配法(CV_TM_CCOEFF_NORMED),也就是有名的 ncc 模板匹配。模板匹配在其他的视觉软件中可能有不同的名称,比如在基恩士的视觉传感器软件 IV-Navigator 中就叫做位置修正,又比如在 Microscan AutoVISION 中叫做定位形状,但归根结底,功能大体一样
用 visionPro 视觉软件进行模板匹配演示,添加 CogPMAlignTool 算子,效果如下:


2.5 模板比对

  模板比对一般结合模板匹配成对使用,广泛应用于工业缺陷检测领域,模板比对的作用很好理解,就是将与模板有差异的地方找出来。同样,在其他的视觉软件中,模板比对可能有着不一样的名称,比如基恩士就叫轮廓比对。

模板有差异的地方找出来。同样,在其他的视觉软件中,模板比对可能有着不一样的名称,比如基恩士就叫轮廓比对。


  收工~



扫描下方二维码即可关注我的微信公众号【极智视界】,获取更多AI经验分享,让我们用极致+极客的心态来迎接AI !

以上是关于经验分享谈谈工业质检中的二维定位算子的主要内容,如果未能解决你的问题,请参考以下文章

经验分享剖析 darknet entry_index 指针偏移逻辑

经验分享寒武纪 pytorch-mlu 添加逐层算子方法

经验分享谈谈几个高性能并行计算中的复杂度概念

经验分享使用 Rp 类对 pytorch 算子作替换操作

经验分享谈谈 GPU 利用率

经验分享谈谈昇腾 Ascend310 AI Core 资源利用率