亚像素边缘检测——基于模糊边缘模型的亚像素圆检测方法

news2024/10/1 19:26:04

论文:A Novel Subpixel Circle Detection Method Based on the Blurred Edge Model

期刊:IEEE Transactions on Instrumentation and Measurement, 71:1-11, 2021.

作者:Weihua Liu, Xianqiang Yang, Xuebo Yang, Hao Sun, Xinghu Yu, Huijun Gao

单位:Research Institute of Intelligent Control and Systems, Harbin Institute of Technology; Ningbo Institute of Intelligent Equipment Technology Company Ltd; School of Computer Science and Technology, Harbin Institute of Technology

1、主要解决问题:

在计算机视觉和工业应用中,圆检测是重要的特征提取手段,高精度圆检测对于自然场景中圆的标记测量、圆形目标跟踪、球的识别等目标测量和检测任务具有重要意义。例如,锡膏打印机和自动光学检测需要识别圆形标记位置,以便精确地定位印刷电路板(PCB),而圆的检测精度直接影响到这些设备检测的精度。在集成电路中,一方面,PCB上的元件变得越来越复杂,标记识别的偏差会引起放置偏差,因此高精度的圆标记测量至关重要。另一方面,由于PCB具有不同的颜色、形状和尺寸,标记圆的差异也会较大,因此圆检测的高稳定性也很重要。
对此上述问题,图1中传统的圆检测算法基于像素级边缘提取,在获得目标圆边缘后,采用拟合方法获得圆的亚像素信息,在这种方法中,边缘提取精度会导致圆检测结果的偏差,并且像素级的检测方法制约了圆形检测的精度。

传统圆检测方法:
在这里插入图片描述

论文提出了一种基于模糊模型的亚像素圆检测算法。在EDCircles算法基础上设计了候选圆的评分及筛选策略,并将二维子像素边缘定位问题转化为一维问题,应用模糊边缘模型获得子像素边缘的精确位置,还提出了一种基于Huber损失函数的鲁棒圆拟合算法,该算法能较好地抑制异常点的影响。

2、研究方法:

论文以EDCircles算法为基础进行目标圆的检测,虽然此算法检测速度快,但是鲁棒性低,在检测一个圆目标时会产生多个结果。
针对EDCircles算法检测得出的目标圆及干扰圆,论文提出了圆圈分数计算的方法,由极性项、半径项和轮廓项组成圆圈分数计算公式,对检测得出的圆进行得分计算。如图2所示,根据公式计算较符合检测目标的圆得分更高,干扰项则得分更低,选择得分最高的目标圆作为最终检测结果。

检测到多个圆时给出不同圆的分数:
在这里插入图片描述
为了提高检测精度,论文提出了一种基于模糊边缘模型的亚像素圆拟合方法,如图3所示。该方法包含三个步骤:

1)计算图像梯度,使用EDCircles获得所有圆的粗略边界位置,并根据梯度计算边缘的方向。

2)沿着边缘梯度的垂直方向选择长度为L的区域作为子像素拟合区域,使用一维子像素边缘拟合算法计算精确的子像素边缘位置。

3)将所有子像素边缘位置拟合到一个圆,并使用鲁棒最小二乘法获得精确的参数。

图像的边缘梯度:
在这里插入图片描述
传统的边缘模型如图4所示,其中阶跃模型不能很好符合梯度边缘线性变化的情况,而线性模型又过于复杂,模型参数难以计算。

传统边缘模型:
在这里插入图片描述
为了既能符合图像边缘线性变化的情况,又能减少模型计算参数,论文使用了图5的模糊边缘模型,它的优点是在任何地方都可导,这就便于模型参数的优化计算,且计算结果近似于实际图像中的边缘梯度。

模糊边缘模型:
在这里插入图片描述

在EDCircles算法鲁棒性差、拟合结果有偏差的问题中,论文采用Huber损失函数对圆进行拟合。Huber函数根据拟合误差的大小选择不同的损失函数,当误差大于阈值时,采用L2损失函数;当误差小于阈值时,使用L1损失函数。从图6可以看出,论文选用的Huber损失函数相比于仅使用L2损失函数得到更好好的拟合结果。

圆拟合结果:
在这里插入图片描述
L2(蓝线)、Huber(红线)和Original(绿线)。
在实验验证方面,论文选用了手工标注的数据集,选用现在较先进的EDCircles、CHT、ALS和基于ZMs的亚像素圆检测算法来与论文改进后的算法进行比较。从图7中可以看出,论文的方法有效地解决了干扰圆的误检测问题。首先提取图片中有可能的圆结果,然后使用分数评价系统过滤掉由EDCircles产生的误差圆,最终得到一个更符合实际圆边界的检测结果,并且在几个方法中,论文的检测结果是最准确,也是拟合最好的。

不同自然图像的结果:
在这里插入图片描述
(a)原始图像 (b)EDCircles ©ZM (d)CHT (e)ASL (f)论文方法
然后进行抗噪性能测试,自动生成样本图像,并添加具有不同信噪比(SNRs)的噪声,比较添加噪声的识别结果和原始识别结果中,圆心位置以及半径的变化。从表1可以看出,论文的方法在噪声干扰下,受影响是最小的,并且偏差有小于0.1像素,这也说明论文算法的精度达到了十分之一像素级。
不同信噪比下的真值偏差:
在这里插入图片描述
在抗变光稳定性分析中,比较了几种方法在光照亮度1~30变化的条件下,圆检测结果的圆心坐标的位置变化,以及圆的半径变化。由图8可以看出,论文的方法圆心坐标位置和半径的变化幅度较小,且检测异常的情况也比较少,总体来说抗变光稳定性还是优于其他的算法。

不同亮度下的检测结果:
在这里插入图片描述
(a)x坐标变化; (b)y坐标变化; ©半径变化; (d)EDCircles、ZM和论文的方法的方框图。
为了评估论文的方法处理不同标记点的检测效果,选择了工厂安装的PCB板上的几幅典型图像进行测试。从图9可以看出,与其他方法相比,论文的方法无论是在标准圆或是在非标准圆中,在所有标记点上都表现得更好,而其他算法在某些标记上有偏差。并且在边界的拟合精确程度上,论文方法的拟合精确度也更高,更贴近真实的边界。

不同标记的检测结果:
在这里插入图片描述
(a)原始图像; (b)EDCircles; ©ZM; (d)CHT; (e)ASL; (f)论文方法
论文绘制了评分系统中不同系数下圆圈检测的受试者工作特征曲线(ROCs),数据集由论文中使用的所有标记图像组成,阳性和阴性样品的比例为1:1。在图10中示出了不同阈值下的真阳性率(TPR)与假阳性率(FPR)的对比。可以看出,当系数为0时,它等价于随机分类。当系数不为0时,评分系统起关键作用,所提出的方法在圆检测方面表现很好。

不同系数值下的ROC曲线:
在这里插入图片描述

最后比较了不同拟合区域长度L下论文方法的运行时间,从图11可以看出,L的长度对运行时间几乎没有影响。总的来说,亚像素计算占用90%以上的时间,运行时间在200 ms左右。

不同L长度下的运行时间:
在这里插入图片描述

3、结论:

论文提出了一种基于模糊边缘模型的亚像素圆检测方法。该方法主要包括三个部分:目标圆获取、亚像素边缘拟合和鲁棒圆拟合。在目标圆获取中,提出了基于极性、输入半径和轮廓的圆评分公式,从EDCircles检测出的多个圆结果中筛选出目标圆;亚像素边缘拟合将二维边缘计算转化为一维问题,首先根据梯度方向确定搜索区域,然后利用模糊边缘模型拟合边缘,根据模型参数计算子像素边缘位置;最后,鲁棒圆拟合应用Huber损失函数来拟合圆,提高了对异常点的鲁棒性。通过实验验证表明,与现有方法相比,该方法具有更强的鲁棒性和准确性。

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

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

相关文章

无限商机、拓全国、赢未来!2024上海国际轴承展重磅来袭!

中国设备管理协会主办的“2024上海国际轴承及其专用装备展览会”将于2024年7月24日至26日在“国家会展中心(虹桥)”举办。展会预计展出面积55000平方米,汇聚来自世界各地的近1000家企业与60000多人次的国内外观众齐聚一堂。为期三天的展览会是…

计算机网络——运输层(2)暨小程送书

计算机网络——运输层(2)暨小程送书 小程一言专栏链接: [link](http://t.csdnimg.cn/ZUTXU) 运输层(2)TCP/IP对比TCP(传输控制协议):IP(互联网协议):总结 拥塞…

只会 Python 不行,不会 Python 万万不行 。。。

当下的环境大家有目共睹,未来一段时间情况如何,想必不少人心里也清楚,技术人走到中年,难免会焦虑,职场上干得不爽,但是跳槽也不容易,加上不少企业裁员,换个满意的工作更是难上加难。…

Python中r‘ ‘, b‘ ‘, u‘ ‘, f‘ ‘的含义及用法详解

更多资料获取 📚 个人网站:ipengtao.com 在Python中,字符串是一种常见的数据类型,用于表示文本信息。除了普通的字符串,Python还提供了一些特殊的字符串前缀和格式化字符串,包括r ,b ,u ,f 。本文将详细解…

windows用msvc编译opencv、opencv-python、opencv_contrib、cuda

如要用mingw编译opencv,参考我另外一篇文章https://blog.csdn.net/weixin_44733606/article/details/135741806。 如要用Ubuntu编译opencv,参考我另外一篇文章https://blog.csdn.net/weixin_44733606/article/details/131720128。 一、安装VS2022&…

数据操作——Column 对象

Column 对象 1. 什么是Column对象 Column 表示了 Dataset 中的一个列, 并且可以持有一个表达式, 这个表达式作用于每一条数据, 对每条数据都生成一个值 2.Column对象如何创建 ’ 单引号 ’ 在 Scala 中是一个特殊的符号, 通过 ’ 会生成一个 Symbol 对象, Symbol 对象可以理…

如何自己实现一个Spring Boot Starter

现在很多开源的组件都会提供对应的 springboot-starter 包给我们去用,要做一个 starter 包并不难。参照Spring内置的实现就好了: 1、在工程里引入 starter 打包相关的依赖。 2、在我们工程内建 spring.factories 文件,编写我们配置类的全限类…

ETLCloud:实现数据库快速输入输出的利器

在当今大数据时代,数据的高效处理和管理成为企业发展的关键。而数据库作为数据存储和管理的核心,其输入输出效率的提升对于企业来说至关重要。ETLCloud数据集成工具,为企业提供了快速、灵活、稳定的数据库输入输出解决方案,极大地…

最好的超声波清洗机有哪些?怎么样能选购到好用超声波清洗机?

眼镜党们在挑选超声波清洗机时候真的会非常苦恼,市面上的超声波清洗机品牌真的五花八门,让人挑得眼花缭乱,作为一个佩戴眼镜时间超达10年,使用超声波清洗机洗眼镜有五年的来说,我在选购超声波清洗机这条道路上吃的苦比…

线性代数:矩阵的定义

目录 一、定义 二、方阵 三、对角阵 四、单位阵 五、数量阵 六、行(列)矩阵 七、同型矩阵 八、矩阵相等 九、零矩阵 十、方阵的行列式 一、定义 二、方阵 三、对角阵 四、单位阵 五、数量阵 六、行(列)矩阵 七、同型矩…

04 单链表

目录 链表的概念和结构单链表OJ练习 1. 链表的概念和结构 1.1 链表的概念 链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 1.从上图可以看出链式结构在逻辑上是连续的,物理上不一定连续 2.现…

SpringBoot之文件上传

1、文件上传原理😘 表单的enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码。 当表单的enctype"application/x-www-form-urlencoded"(默认)时,form表单中的数据格式为:keyvalue&keyvalue …

༺༽༾ཊ—Unity之-01-单例模式—ཏ༿༼༻

在游戏开发过程中,我们会创建各种各样的类,再用new生成实例,有些时候我们需要这个类在整个游戏中是唯一出现的,比如一些管理器比如声音管理器等,没必要创建很多实例,就算有很多模块需要各种声音功能&#x…

【C++】模板类vector的简单实现

文章目录 1. 迭代器2.构造和析构3. 容量4. 访问5.修改6.测试完整代码总结: 在C的STL库中,vector是一个非常常用的容器,它提供了动态数组的功能。今天我们将一起来实现一个简化版的vector模板类,以便更好地理解它的原理和实现过程。…

红日靶场2打点记录

因为之前成功用冰蝎免杀360,把权限反弹到了MSF上,然后MSF把权限反弹到CS上 所以这次咱们走捷径直接通过反序列化漏洞连接(就是关掉360)因为权限弹来弹去感觉好麻烦 提示 大家如果想要免杀360千万别学我,我是之前免杀3…

springboot116基于java的教学辅助平台

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的基于java的教学辅助平台 适用于计算机类毕业设计,课程设计参考与学习用途。仅供学习参考, 不得用于商业或者非法用途,否则,一切后果请用户自负。 看运行截图看 第五章 第四…

前后端分离项目中实现图形验证码

图形验证码在我们的日常生活中时经常用到的,一般用于用户的登录、注册等。 图形验证码在互联网应用中的作用是提高安全性、防止滥用和保护用户隐私。它是一种简单而有效的人机验证技术,帮助保护系统和用户免受自动化攻击的影响。 本次我们通过spring b…

【深度学习每日小知识】NLP 自然语言处理

自然语言处理 (NLP) 是人工智能 (AI) 的一个子领域,处理计算机和人类(自然)语言之间的交互。它涉及使用算法和统计模型使计算机能够理解、解释和生成人类语言。 NLP 是人工智能领域的重要工具,广泛应用于语言翻译、文本分类和聊天…

短信平台搭建注意什么|网页版短信系统开发源码

短信平台搭建注意什么|网页版短信系统开发源码 短信平台是企业进行市场营销、客户关系管理和即时通讯的重要工具。为了确保短信平台的稳定运行和高效利用,以下是在搭建短信平台时需要注意的几个重要方面。 1. 需求分析:在搭建短信平台之前,需…

Springboot+vue的校园疫情防控系统(有报告),Javaee项目,springboot vue前后端分离项目。

演示视频: Springbootvue的校园疫情防控系统(有报告),Javaee项目,springboot vue前后端分离项目。 项目介绍: 本文设计了一个基于Springbootvue的前后端分离的校园疫情防控系统,采用M&#xff…