细化算法综述

一.背景及发展概况

随着现代信息采集技术的高度发展,数字图像处理在视觉技术、航天科技、工业生产、医学技术、军事技术、高能物理和天气预报等研究领域都展示了他强有力的应用价值。因此,数字图像处理在国民经济中占据着重要地位,所以图像处理已成为计算机应用领域内的研究热点之一。 作为数字图像处理领域内的一个非常重要分支,图像边缘检测是图像分析里面的最常见的最实用的方法之一。从上世纪50年代开始,随着数学、信号处理以及计算机技术等发展到相当的水平,数字图像处理逐渐地引起了数学、信号处理、计算机方面等的学者的广泛关注和研究,对数字图像边缘特征提取的研究上,许多学者也提出了很多改进的方法与突破创新的观点。 本文针对传统的边缘特征提取方法的特点。通过对数字图像边缘的特征,以及边缘检测的流程的分析,在此基础上,结合不同算法各自的优点对数字图像边缘自动提取和边缘精确定位提出两种改进算法。首先是针对传统边缘检测方法中门限值设定问题,提出基于细菌觅食优化算法(Bacteria Foraging OptimizationAlgorithm,BFOA)的自适应边缘检测算法,该算法结合细菌觅食优化算法和Ostu算法的优势,自适应地搜索阈值和检测边缘;其次是针对传统边缘检测算法中将非边缘点视作边缘点检测引起图像边缘变粗的不足,提出基于数学形态学细化算法(Mathematical Morphology RefiningAlgorithm,MMRA)的边缘特征提取算法,该算法利用数学形态学细化算法的对称性,消除伪边缘对图像边缘提取的影响

细化是将图像的线条从多像素宽度减少到单位像素宽度过程的简称,一些文章经常将细化结果描述为"骨架化"、"中轴转换"和"对称轴转换"。在电脑技术发展的早期,人们就意识到用计算机进行图像识别的可能,随之激发了大量的图像数据压缩的方法,从它的初期开始,就有发表近300篇关于这个课题的各种方面的论文,其最主要的方法就是减少图像的像素数,之后细化方法被广泛研究与应用。很多细化算法的学者对细化概念做了定义,将骨架定义为从图像线条的内部传播的波阵面的结果,骨架就是对边波阵面交集的轨迹,它作为一个概括性的理论被大多数学者所接受,图像中最外层的像素被连续的移除直到剩下骨架像素,但同时要保证骨架的连通性。其中有学者将骨架定义为图像线条的中心,使用这个骨架化定义可以精确地重建最初始的图像和重新描绘出它们。因为细化是模式识别领域的主要任务或本质要求之一,所以细化或骨架化算法的设计是一个非常活跃的研究领域。

20年前,自从这种方法第一次被提出,细化就成了模式识别领域的重要处理步骤之一。它已经被用作检查印刷电路板,染色体分析,对地裂缝图的检查和对指纹的分类。它最初应用在光学字符识别中,近年来主要应用在智能复印和传真发送系统中,另外一个应用和发展是在地图数据压缩中。总的来说,这些应用程序使用细化方法将数字图像的线条简化为单位像素宽度的中心线,使对象能够被更简单的数据结构表示来简化数据分析,或者减少数据存储和对传输设备的要求。基本上细化的所有目的为减少冗余信息,留下足够的有用信息来进行拓扑分析、形状分析或者原始对象的还原。对于本来就是线状图形的对象,细化方法允许骨架的大小、形状和表面噪声几乎与原图像保持一致。在这种情况下,细化的目的是改善图像,而不仅仅是消极的进行数据压缩。在模式识别中细化的重要性是显而易见的,它的重要性被过去的40年中的大量的细化算法所反映出来。算法的大规模发展支撑了这个观点,到现在为止,细化算法还没有被充分的发展和完善,未来它将比刚开始出现满足一般细化要求时更复杂。设计一个连续细化算法的大部分困难在于必须要充分考虑到图像的总体性质,人们都知道,连通性是一个全局属性,这是计算速度问题的根源。虽然发现并保留骨架线的端点只是个局部问题,但定位它们也是一个全局问题。除此之外,判断线上的一个像素点是不是毛刺噪声,它该被保留还是删除,这是非常重要的。不同算法对这个问题的解决方法是不同的,有些方法可能导致整个分支的删除或者将噪声细化。所以如何在改善细化质量的同时,用最少的迭代次数得到完全细化的图像并且缩短细化时间,这是现在线划图像细化研究的重点。

二.细化方法

图像边缘包含了图像最重要的信息。所谓边缘一般是指图像灰度变化率最大的集合, 所以边缘广泛存在于物体与背景之间、物体与物体之间、基元与基元之间。由于图像边缘包含了大量的图像的重要信息,因此,图像边缘检测成为图像处理的一个重要环节。

目前国内外对图像边缘检测有着比较广泛的研究,经典的边缘检测算子常借助空域微分算子进行,通过微分模板与图像卷积完成。常见的边缘算子有 Roberts、Sobel、Prewitt和Krisch 等,其中 Sobel 算子[1] 检测速度快, 是实践中最常用的算子;但是 Sobel 算子通过阈值对梯度场进切割得到图像边缘,阈值过大会造成边缘的丢失,阈值过小又会造成一些非边缘点当成边缘点被分割出来进而形成伪边缘。

近年来随着数学理论和人工智能的不断发展,许许多多新的边缘检测方法被提出。基于小波变换的图像边缘检测具有能避免噪声干扰的特点,但会丢失一些弱边缘;基于模糊理论的边缘检测算法具有较的抗噪能力, 但矩阵变换的运算较为复杂;基于蚁群算法的边缘检测对噪声有良好的免疫作用,但会丢失一些边缘信息。

传统的图像边缘检测算子一般都只能得到多像素宽边缘,这为后续的图像处理带来了一定困难。正由于边缘细化算法较为重要,因此其一直以来都得到学者的关注,并已取得了一定的研究成果。现有的边缘细化算法可粗略地分为两大类:基于二值边缘图像的方法和基于数学形态学的方法

编辑

基于数学形态学

数学形态学细化算法的主要思想是源于击中击不中变换的形态学算法。在给定一系列具有一定形状的结构元素后,顺序循环地删除满足击中变换的像素。

所谓细化,就是寻找图形、 笔划的中轴线或骨架, 以其骨架取代该图形或笔划。 在遵循对图像的细化要保持图像连通性的最基本原则下,细化之后的图形或笔划的像素宽度为 1。 细化过程也就是对图像逐层剥落的过程,随着细化的进行,图像有规律地缩小。 数学形态学基本运算中的薄化,即 AOB,可以使图形按一定规律不断缩小, 并始终保持

 结构元素 B的选择尤为重要,是影响细化质量的关键因素。 细化算法将不断重复地剥离二值图像的边界像素。但是, 对于边界像素的剥离应保持目标图像纹线的连接性,方向性和特征点不变,还应保持纹线的中心基本不变,最终使得变换图像成为单像素宽的图像骨架。

一个性能良好的边缘细化算法应该具有如下三个性质 :
  (1)单像素宽细化结果理想的算法应该能给出单像素宽的细化结果 。
  (2)保持边缘的原有信息边缘细化结果不能改变边缘的原有信息,即边缘的连通和走向趋势, 因为这些信息是进行图像理解、目标识别的重要依据。

3)计算开销小能被实际广泛运用的算法自然是计算开销小 、执行效率高的方法

.研究意义

用骨架来表示线划图像能够有效地减少数据量,减少图像的存储难度和识别难度。目前线划图(包括纸质地图、线画稿、手绘图等)的存储是非常麻烦的,存储和使用起来都很不方便。例如,一张A4大小的线划图存储需要IM的容量,另外一些比较严重的问题就是数据的修改、更新和显示。矢量化是解决这些问题的方法,但这些图的宽度经常是大于一个像素的,这会导致矢量化结果有非常大的问题,为了解决这些问题,细化就成了模式识别和矢量化的先决条件。

细化技术的一个主要应用领域是位图矢量化的预处理阶段,相关研究表明,利用细化技术生成的位图的骨架质量受到多种因素的影响,其中包括图像自身的噪声、线条粗细不均匀、端点的确定以及线条交叉点选定等,因而对线划图像进行细化从而生成高质量骨架的方法进行研究具有现实意义。

一般要求

1、保证细化后骨架的连通性;

2、对原图像的细节特征要保持的较好;

3、细化的结果是原线条的中心线;

4、线条的端点保留完好;

5、线条交叉点不能发生畸变;

6、细化所用时间不能太长。

.存在的问题

图像细化是提取能表达图像拓扑结构的骨架像素的方法,为计算机系统进行数据压缩和识别创造条件,但要注意三点:

1、并非所有形状的图像都可以或者应该细化,细化比较适合由线条组成的物体,如圆环,但实心圆不适合细化;

2、任何一种细化方法都不能适用所有的情况;

3、细化是提取骨架的过程,所提取的骨架必须有实质的意义,而不是由所使用的细化算法来定义骨架。

在细化中,理想状态是在对图像像素进行连续移除后形成一个具有连通性的骨架。达到这个目的必须解决三个问题:

1、保持连通性;

2、保留端点;

3、确保像素点是对称的被移除,目的是使算法能各向同性。

.几种经典的细化算法

1.Hilditch 算法

 Hilditch细化算法为是串行处理方法的一种,最终得到的是 8 条近 邻连接线条。其主要原理是每次扫描并删除图像上满足一定的条件的轮 廓像素,直到图像上不存在可删除的轮廓像素为止。该方法适用于二值图像,即像素为 1 的区域为目标区 域,像素为 0的区域为背景区域的图像。在此算法中,目标像素 P若同 时满足以下条件即为可删除像素:

1) P0+P2+P4+P6≤3

2)  Nc=1;

3) Pk(0≤k≤7) 中至少有 一个目标像素为 1;

4) P2=1 或 Nc2=1;Nc2 为假定 P2=0 时 P的联 结数;

5) P4=1或Nc4=1。Nc4为假定P4=0时P的联结数。 联结数就是八邻域中互相分离的联结成分的个数。

 2 .Deutch 细化算法 

Deutch细化算法采用的处理方式为并行处理方式,其算 法也是采用两层子循环。在开始的子循环中,目标像素P删除的条件是:

1) ∑Pk= 0(0≤k≤7);

2) 2) Nc=1;

3) 3) P0+P2+P4+P6≤3; 若条件满足,则该点P标记为可删除像素。在接下来的子循环中, 扫描整幅图像,将所有这样的像素删除。该算法得到的骨架为不完全的 8- 连接,可以看作是具有可删除点的8- 连接图形。

3 .Pavlidis细化

Pavlidis细化算法也是并行算法的一种,它通过与两 个模板进行匹配逐层剥掉边界像素,所得到的骨架形态是 8- 连接的。 Pavlidis异步细化算法是通过并行和串行算法混合处理来实现细化。采 用比特运算进行特定模式的匹配,所得到的骨架形态是8- 连接的。

 

4 .Zhang快速并行算

 Zhang 快速并行算法是 Zhang 在 1984 年于文献[2]中提出来的。 以二值图像为例,判断一个点该不该删除时要根据它的八个相邻点的情 况来判断。总结一下,有如下的判据:

1) 内部点不能删除;

2) 孤立点 不能删除;

3) 直线端点不能删除;

4) 如果P是边界点,去掉P后,如 果连通分量不增加,则P可以删除。该算法的步骤如下: 假设一幅图像中的一个3* 3区域,对各点标记名称P1,P2…P9, 其中P1位于中心,如表1所示:

                    

其中 P1=1为黑点,如果同时满足以下四个条件,则删除P1,即 令 P1=0:

1) P1 周围的 8 个点中,白点个数介于 2 至 6 间 ,即 2≤N (P1)≤6 ;其中,N (P1)=P2+P3+P4+P5+P6+P7+P8+P9; 这一步是为了排除孤立点和内部点;

2) 设Z(P1) 是以 P2,P3,…, P9为序时这些点的值从0到 1变化的次数,即Z(P1) = l ;当对所有 边界点都检验完毕后,将所有标记了的点除去。;

3) 继续向下删除,即 P2* P4* P8=0 or Z(P2)!= 1;

4) 继续向右删除,即 P2* P4* P6=0 or Z (P4)!= 1;

5) 继续向左删除,即 P6* P8* P2=0orZ(P8)!= 1;

6) 继续向 上删除,即P6* P4* P8=0orZo(P6)!= 1。 对图像中的每个点重复此步骤,直到所有的点都不可删除为止。

 

 

.几种细化算法的改进 

2.1 Hilditch 算法的改进

Hilditch算法最大的缺点是:只适用于二值图像,比较普通,且在 判断某一象素是否为边缘点及是否应被删除时,判断依据太多,有些条 件不够简洁、有效,判决条件之间有重复,这样造成处理速度慢、通用 性差。Pavlidis细化算法与Hilditch算法类似,基于两种算法的 优点,根据腐蚀原理,在考虑每个点周围8个相邻点的同时,考虑这些 点各自周围点的情况,并根据点点之间关联关系对Hilditch算法的删除 条件进行了一些限定,从而能充分考虑图像上的像素信息,在删除点的 时候,可以根据新的判断条件高效地去除图像上多余的像素,而不丢失 关键的特征点。

 2.2 Zhang快速并行算法的改进

Zhang 快速算法所代表的基于数学形态学的细化方法是利用彼此 相互独立并列的结构元素进行二值图象的细化,因此更易于实现且计算 简单。但同时,我们也应该看到 Zhang 快速算法存在细化宽度不能保 证为单像素宽的缺陷,原图像会有很多毛刺,这对于以后的查找细化图 像的分差点带来了很大的困难。在保持 Zhang 快速算法优点的 基础上,单独实现单像素化细化字符和断裂笔划连接,从而得到连通的 单像素宽的细化结果。其中,在对细化字符进行单像素化操作时,通过 设置一个初始值为零的变量和种子队列,灵活的实现了对原像素点及其 邻域点的保存与删除;在对细化字符进行断裂笔划连接时,通过给原图 增加四条两个像素宽的黑边及对8- 邻域、25- 邻域的分别扫描操作, 将得到的位置点置为1,实现了断裂笔划的连接。

.结论

1) 细化算法在获取图像特征信息时,为了获得最好的图形效 果,冗余图像信息的删除变得至关重要

2) 在对复杂图像使用细化算 法获得图像的骨架时,由于其自动识别比较困难,有效的特征提取显得 尤为重要;

3) 提高细化算法的自适应性,提高矢量化软件的自动化程 度;

4) 细化算法应与新的高效的科研成果相结合,以实现算法的改进。

.参考文献:

[1] 韩建峰,宋丽丽,改进的字符图像细化算法,计算机辅助设计与图形学学报,第1期,2013,62-66.

[2] 白莹,手写汉字的细化算法研究,西安电子科技大学,硕士论文,2014.

[3] 李杰,彭月英,元昌安等,基于数学形态学细化算法的图像边缘细化,计算机应用,第2期,2012。

[4] 周正扬,詹恩奇等,局部关联度最优的手写汉字骨架提取,中国图像图形学报 2017 第22卷 第6期 P833-841。

[5] 陈梅,王健,图像并行细化算法改进研究, 中国印刷与包装研究 2014 第1期 P30-34.

[6] 石端虎,刚铁,工字形焊件中体积型缺陷的修补与细化算法研究, 热加工工艺 2016 第45卷 第9期 P187-189.

[7] 赵丹丹,手指静脉图像的增强和细化算法及其在身份识别中的应用, 硕士论文,安徽大学, 2015。

[8] 蔡秀梅,孙鹏,基于模板的指纹图像细化算法,西安邮电大学学报 2016 第3期 P59-63。

[9] 邢鑫,基于快速傅里叶变换频谱细化算法的研究,硕士论文,湖北工业大学 2013。

[10] 未志园,基于轮廓筛减的改进骨架细化算法,信息通信 2016 第9期 P49-50。

[11]Marek Tabedzki,Khalid Saeed,Adam Szczepański. A modified K3M thinning algorithm[J]. International Journal of Applied Mathematics and Computer Science,2016,26(2)   

[12]Kálmán Palágyi,Gábor Németh. A pair of equivalent sequential and fully parallel 3D surface-thinning algorithms[J]. Discrete Applied Mathematics,2016.

[13]Michel Couprie,Gilles Bertrand. Asymmetric parallel 3D thinning scheme and algorithms based on isthmuses[J]. Pattern Recognition Letters,2016,76

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值