百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

一种图像亚像素边缘检测算法的改进研究

haoteby 2024-12-23 10:28 5 浏览

摘 要: 为了提高刀具预调测量仪的检测精度,提出了一种改进的图像快速亚像素边缘检测算法——基于正交多项式拟合的亚像素边缘检测算法。首先,利用传统的Sobel算子完成边缘点整像素级别的检测,确定边缘的主体区域;然后,过边缘点沿边缘法线方向拓展像素,取一系列像素点并计算其灰度值;最后根据像素点灰度分布的数学特征,利用正交多项式和最小二乘法求拟合函数,通过拟合曲线确定图像边缘点的精确位置,实现图像亚像素边缘检测。实验证明,该算法运行时间短,约为0.63 s;检测精度高,可达0.1 pixels。

0 引言

在机械加工时,刀具的几何参数对数控机床的生产效率和加工质量有着重大影响,因此,刀具必须在使用前明确其精确参数。目前,国内常用的刀具测量方法,如机械式测量法、光学投影法等已无法满足现代工业生产的要求,以图像处理为核心的图像测量技术具有高精度、高效率、非接触和自动化程度高等优点,能实现对刀具参数的精确检测。图像测量技术的实质是提取刀具精确的轮廓边缘,边缘检测是图像处理的基础和关键。传统的边缘检测算法,如Sobel算子、Canny算子、LOG算子等虽然其形式简单,易实现,速度快,但检测精度不理想,仅能达到整像素级别,且对噪声特别敏感,常产生伪边缘。欲提高检测系统的精度,通过优化算法的软处理比提高系统硬件分辨率的硬处理更加实用、有效[1]。

提出一种改进的图像亚像素边缘检测算法,利用传统的Sobel算子和五次正交多项式最小二乘拟合原理实现边缘精定位。

1亚像素边缘检测算法理论

1.1边缘主体区域粗定位

Sobel算子既能确定边缘点的位置和方向,还能根据像素点上下、左右邻点的灰度加权差,对噪声具有平滑作用,能提供较好的图像边缘信息,所以在边缘主体区域粗定位时选用Sobel算子。Sobel算子是一种梯度幅值,其表现形式为:

其中,M(x,y)是像素点灰度值,Sx、Sy分别是边缘点横向、纵向的检测灰度值。当M(x,y)大于给定的阈值时,可确定点(x,y)为边缘点,并根据Sx、Sy判断梯度方向,

=arctan(Sy/Sx)。从图1可以看出,Sobel算子对边缘主体区域粗定位有很好的效果[2]。

1.2 边缘亚像素精定位

CCD是光强积分器件,在CCD采样过程中,物空间突变的灰度在光学成像后会成为渐变的形式。如图2(a)所示,图像两侧分别表示背景和物体各自内部的灰度变化情况,两者之间表示图像边缘附近的灰度变化情况;如图2(b)所示,沿边缘法线方向,物体与背景内部区域的灰度差分值微小,而边缘附近的灰度差分最大,这就是经典边缘提取的理论。

以上述理论为基础,对过粗定位所得边缘点,沿边缘法线方向拓展像素,得到一系列过边缘线的像素点,求得这些点对应的灰度值,然后根据这些点灰度分布的数学特征,利用五次正交多项式最小二乘法拟合原理求得拟合函数与曲线,再根据拟合曲线确定图像边缘亚像素点的位置,从而实现边缘点的亚像素精确定位,这就是本文改进的亚像素边缘检测算法的原理。

1.2.1 正交多项式拟合函数

在实际应用中,要在保证检测精度的前提下尽可能地缩短运算时间,从而提高运算效率,因此选择适当数量的边缘点是十分重要的。选点过多会增加运算时间,降低效率;选点过少会降低检测精度,定位不准。综合以上因素,本课题选取5个像素点,横坐标x代表像素值,其取值分别设为-2、-1、0、1、2,其纵坐标y代表各点对应的灰度值。根据施密特正交化公式[3]可得正交基函数,如式1所示。

为了能取得较理想的拟合效果,选取[G0(x),G1(x),G2(x),G3(x),G4(x),G5(x)]为基底进行拟合,拟合函数方程为:

F5(x)=a0·G0(x)+a1·G1(x)+a2·G2(x)+a3·G3(x)+a4·G4(x)+a5·G5(x)(2)

其中,a0、a1、a2、a3、a4、a5是五次正交多项式函数的未知系数[4]。

假设任一坐标点(xi,yi)的横、纵坐标随机误差分别为pi、qi,则实测点坐标到拟合曲线的距离残差为:

全部点到曲线的距离残差平方和为:

求取式(4)最小值min(S)时,根据正交多项式最小二乘法拟合原理推导得系数为:

直接使用式(5)求多项式系数计算量大,较困难,且不能直观体现各变量之间的内在规律与联系,因此对公式进行变换转化为如下更直观的矩阵表达式:

由式(6)可求得多项式系数值:

将式(7)代入式(2)得拟合函数F5(x):

1.2.2 计算图像边缘位置

根据亚像素边缘检测原理可知,拟合函数表达式F5(x)是以点的灰度值为基本元素求得的。从数学意义上来讲,F5(x)描述了图像边缘线的情况,而函数一阶微分

则描述了边缘线变化程度的情况,即点的灰度值变化率的情况。那么,函数二阶微分

则描述了点的灰度值变化率的变化情况。

由以上分析可知,亚像素点的位置就是点的灰度值变化率变化最大的位置,依据极值求解条件,将函数F5(x)对x求二阶微分并令其等于零,即

求得x的数值即是亚像素点的位置。

2 亚像素边缘检测算法的实验

利用Visual C++6.0语言在MATLAB V201b2软件平台编写Sobel算子和本文改进的算法程序实现对图像的数字处理。

实验1 算法抗噪性能研究

图像信噪比等于信号与噪声的功率谱之比。由此可知,边缘点的检测精度与噪声成负相关关系。分别用两种算法处理图像,效果如图3所示。可以看出,本文算法与Sobel算子相比同样具有完整且较细的边缘,但前者生成的噪点明显更少,因而具有更好的抗噪声性能。

实验2 算法检测精度研究[5]

制作了尺寸为100×100的二值化图像,如图4所示。白色矩形所在区域的灰度值为0,其余背景灰度值为255,底边在图像第20行、第20~80列位置上。首先提取了部分边缘点理论坐标值,再使用改进的算法处理图像并提取了相应边缘点的亚像素坐标检测值,如表1所示。通过分析与计算可知改进算法的检测精度。

以单个像素点坐标理论值与检测值的坐标差值作为算法偏差,经计算可得其标准偏差约为0.1 pixels。

实验3 算法时间研究

取尺寸为1 600×1 455的同一图像在同一实验平台进行多次测试,得到多组运行时间,如表2所示。为了提高数据的可靠性,首先从数据中去掉一个最小值和一个最大值,再求取其他组的平均值作为运行时间。经计算,Sobel处理时间约为0.34 s,本文算法的处理时间约为0.63 s。

3 结束语

从理论分析与仿真实验可以看出,本文改进的亚像素边缘检测算法具有抗噪性能强、检测精度高、运行速度快的优点,主要适用于对处理速度和检测精度要求较高的机器视觉检测系统,而且已试用于数控机床刀具预调测量仪,极大地提高了数控机床的效能,运行稳定、可靠。

参考文献

[1] 李东光,景芳盛,张国雄.计算机视觉二维刀具预调测量仪的研究[J].制造技术与机床,2001(5):20-22.

[2] 刘力双,张铫,卢慧卿,等.图像的快速亚像素边缘检测算法[J].光电子·激光,2005,16(8):993-996.

[3] 王新民,术洪亮.工程数学计算方法[M].北京:高等教育出版社,2005.

[4] 徐中宇,宁闯,周亚洲.一种快速亚像素边缘检测算法[J].吉林大学学报(理学版),2014,52(2):308-313.

[5] PERKINS W A. INSPECTOR: a computer vision system which Learn to inspect parts[C]. IEEE Trans. on Pattern Analysis and Machine Intelligence,PAMI-5,1983:584-592.

相关推荐

单点登录(SSO)解决方案介绍(单点登录概念)

一、单点登录的介绍单点登录(SingleSignOn),简称为SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系...

系统登录的三种方式,哪一种更安全?

登录是一个高频的动作,笔者抓住这一个小点,分析了系统登录的几种方式和对应的场景。今天谈谈登录。登录即用户输入用户名和密码登录进系统中。B端系统,对于登录的业务场景有两种(可能不止,目前遇到过这两种):...

到底什么是单点登录(SSO)?(什么叫做单点登录)

什么是单点登录?单点登录(SingleSign-On,简称SSO)是一种集中式的身份验证和授权机制,用户只需在一处输入一次凭证(例如用户名和密码)就可以访问多个相关但独立的软件系统。在数字化时代,...

5年稳如老狗的单点登录系统,到底是怎么搞出来的?

说到单点登录(SingleSign-On,简称SSO),大家的第一反应可能是——啊不就是登录一次,能到处串门儿嘛?别说,还真差不多,就是这么个意思。但真要搭一套好用、耐造、还能扛住公司里各种奇奇怪...

这些负载均衡都解决哪些问题?服务、网关、NGINX?

在微服务项目中,有服务的负载均衡、网关的负载均衡、Nginx的负载均衡,这几个负载均衡分别用来解决什么问题呢?一、服务的负载均衡先抛出一个问题:...

Nginx负载均衡最全详解(4大算法原理机制)

Nginx在大型网站架构很重要,也是大厂重点考察方向,今天我就重点来详解Nginx负载均衡@mikechen本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。Nginx负载均衡N...

负载均衡 Nginx Session 一致性(nginx 负载均衡 会话保持)

HTTPS请求跳转...

监控Oracle Cloud负载均衡器:Applications Manager释放最佳性能

设想你正在运营一个受欢迎的在线学习平台,在考试前的高峰期,平台流量激增。全球的学生同时登录,观看视频、提交作业和参加测试。如果OracleCloud负载均衡器不能高效地分配流量,或者后端服务器难...

Nginx负载均衡:nginx.conf配置文件说明!

大家好,欢迎来到程序视点!我是你们的老朋友.小二!在此记录下Nginx服务器nginx.conf负载均衡的配置文件说明,部分注释收集与网络.关于nginx.conf基本的配置,请查看上一篇文章!Ng...

Java高可用系统架构中的负载均衡策略

Java高可用系统架构中的负载均衡策略在现代的分布式系统中,负载均衡策略是构建高可用系统的基石。Java开发者需要深刻理解这些策略,以便打造稳定且高效的系统。接下来,让我们一起揭开负载均衡的神秘面纱。...

深入对比Nginx、LVS和HAProxy,选择最合适负载均衡方案!

关注...

Spring Boot3 客户端负载均衡全解析:从原理到实战

在当今互联网大厂后端技术开发的激烈竞争环境中,构建高效、稳定的微服务架构是核心诉求。其中,SpringBoot3作为热门开发框架,其客户端负载均衡功能对于提升系统性能、保障服务稳定性起着关键作用。...

MySql高可用集群MySQL Router负载均衡读写分离

名词解释MGR:MysqlGroupReplication组复制,多台MySQL服务器在同一组中会自动保持同步状态,当某台服务器故障时,整个复制组依然可以保持正常并对外提供服务。...

性能测试之tomcat+nginx负载均衡(nginx tomcat)

nginxtomcat配置准备工作:两个tomcat执行命令cp-rapache-tomcat-8.5.56apache-tomcat-8.5.56_2修改被复制的tomcat2下con...

win10/11双网卡链路聚合叠加负载均衡提升网速解决网卡网速瓶颈!

双网卡链路聚合一种网络配置技术,通过将多个物理网卡绑定在一起,形成一个逻辑上的网络接口,以提高网络的可靠性、可用性和性能。这种技术通常用于服务器和网络设备中,以实现负载均衡、冗余和高可用性。本机环境:...