首页 > 编程知识 正文

阈值法图像处理(opencv实现OTSU分割算法)

时间:2023-05-05 11:01:13 阅读:85745 作者:954

纤细的篮球,甜美的样子,兴奋的项链,马礼

(北方工业大学计算机学院,北京100144 )

:为了实现动态无灰度特征峰值的图像分割,提出了一种基于决策树的神经网络(Decision Tree Based Neural Network,DTBNN )双阈值图像分割方法。 该方法首先利用决策树和神经网络的对应关系,构建稳定、训练效率高的神经网络; 然后,从实验收集到的图像中提取图像的灰度平均,将最大灰度偏差和阈值映射函数作为样本数据训练,利用最后训练的神经网络对被检查图像进行阈值映射函数的筛选,从而对被检查图像的上下灰度进行筛选仿真结果表明,该方法不依赖灰度直方图的峰值特性,可以获得良好的上下限分割阈值,与最大类间方差双重阈值法和最大熵双重阈值法相比,可以在动态图像中实现双重阈值分割。

: DTBNN; 双阈值; 图像分割

图像分割技术的关键是从背景环境中分离被识别物,通常的分割方法有基于阈值、边缘提取、区域的图像分割方法。 其中以基于阈值的图像分割方法最为常见,由于算法简单、效率高而被广泛应用于图像处理。 阈值分割分为全局阈值分割和局部阈值分割,其算法主要有最大类间方差法(也称为Otsu法)、最大熵法和模糊熵法。 这些阈值分割算法可以利用单一阈值和多个阈值进行图像分割。 由于单阈值图像的分割是利用一个阈值将图像分割为两个灰度部分,因此有时不能从图像中有效地分割对象物体。 双阈值图像分割通过分割上限和下限,提出两个阈值的中间灰度域作为有效区域,可以更有效地从图像中分割目标物体。

双阈值图像分割算法中一般使用基于Otsu的双阈值图像分割及其改进算法[12],但Otsu算法对图像直方图具有三峰特征值的图像具有良好的分割结果,否则图像分割效果欠佳。 基于最大熵的双阈值图像分割及其改进算法[3]是以图像中目标和背景的总熵最大化为基础的,因此在图像处理过程中灰度直方图需要具有三峰特征。 基于模糊熵及其改进的双阈值图像分割算法[45]通过隶属函数来确定暗、灰、亮三个部分的范围,但在运动图像中不能有效地确定隶属函数,因此不能用于运动图像分割。 另外还有基于二分灰度直方图的多阈值分割算法[6],该方法仍然基于最大类间方差,目标阈值的分割也依赖于灰度直方图的峰值特征。

在本论文所述的实际工序中,需要提取对旋转物体的图像有效的特征信息,但由于旋转面上的周围光的反射图像,根据旋转物体的旋转角度,摄影图像中有时灰度直方图会发生较大变化,不存在明显的峰值特征。 基于以上应用背景和实际工程需求,本文提出了一种基于决策树的神经网络(Decision Tree Based Neural Network,DTBNN ) )算法的双重阈值图像分割方法,该方法在实用上具有良好的图像分割效果

1DTBNN算法

人工神经网络(Artificial Neural Network,ANN )已经广泛应用于识别和分类算法中,通过有教师学习或无教师学习,可以达到生物神经网络一样的信息处理和分类效果。 基于本文采用的BP (后向传播)神经网络,即前向神经网络来增加反向学习能力,本文简称神经网络。 该模型是一种因误差而反向传播训练的多层前馈网络,其网络拓扑结构包括输入层、隐藏层和输出层。 通过最陡下降法的学习,在神经网络中大量积累从输入到输出的映射关系,通过构建良好的神经网络可以根据这些映射关系推理和分类输入信息。 图像识别的分类技术中也经常使用人脸识别、分类筛选等神经网络,这些都是为了分类而满足识别的,本文提出将训练后的神经网络应用于图像阈值函数的分类筛选过程中。

由于神经网络的结构和初始参数值在设计上比较困难,严重影响网络的性能,kwdxg等人在深入研究SETHI I K的熵网络[7]的基础上,提出了基于决策树的神经网络DTBNN算法[8] 决策树算法是根据决定对象的属性进行分类学习的神经网络算法是根据神经元间的权重关系进行分类学习的。 虽然两者的机制不完全相同,但是决策树和神经网络有一定的对应关系。 kwdxg等人将决策树的内部节点数设为神经网络的输入层神经元数,将决策树的叶节点数设为隐层神经元数,将决策树的分类数设为输出层的神经元数,将决策树中的链接和神经网络的神经元间链接设为决策树中的图1表示两者的对应关系,矩形表示决策树,椭圆形表示神经网络。

根据图1所示的对应规则,可以使用决策树来构建神经网络的分层结构和初始化参数值。 n个决策树内部节点对应神经网络的n个输入层神经元; m个决策树的叶节点对应神经网络的m个隐层神经元的d种决策树分类策略对应d个输出层神经元的l个决策树的内部连接对应l个神经元连接; 决策树连接权重w对应神经元间连接权重w。

由于DTBNN中的隐层神经元个数由决策树的叶节点决定,因此构建的隐层神经元复杂且容易发生神经网络的过拟合现象。 因此,dsdxwz等人通过信息熵最大增益原理的研究,提出DTBNN中的隐层神经元个数可以由决策树的深度决定[9]。 也就是说在一棵决策树中,

存在一条从根节点到叶节点间的最长合取链,该链的长度为树的深度。当神经网络中隐层神经元的数目取决策树最大合取链长度时,网络效果最佳,同时既不会出现不正确的分类,也不会出现过拟合的现象。dsdxwz通过“异或问题”和“医学分类问题”两个实验分别验证了此改进算法的有效性。

根据参考文献[8]、[9]所提出的基于决策树的神经网络构建方法,本文对DTBNN构建方法进行适当改进之后,应用在图像阈值分割的神经网络构建过程中。提出决策树与神经网络之间的对应规则:(1)决策树的分支条件数对应神经网络输入层神经元个数;(2)决策树的深度对应神经网络隐层神经元个数;(3)决策树的分类数对应神经网络的输出层神经元个数;(4)决策树中的连接对应神经元间的连接。

2基于DTBNN的双阈值图像分割

2.1双阈值图像分割

设大小为X×Y的数据图像,其灰度值f(x, y)取0, 1, 2, … ,L-1, L表示图像的灰度级,本文取256。令Di={(x,y):f(x,y)=i,(x,y)∈D},hi=ni/N,其中D为图像像素全体集合域,i=0, 1, … , L-1为灰度值,Di表示图像中属于灰度i的像素集合,ni表示Di中图像像素的个数,N=X×Y为总像素个数,hi为灰度i的概率分布。则H={h0, h1, … , hL-1}表示图像的灰度直方图。

本文采用双阈值分割图像,利用阈值门限t1和t2将图像域D分割为Dl、Dt、Dm三个域。其中Dl为非目标域,灰度级低的部分;Dt为目标域,灰度符合阈值范围的部分;Dm为非目标域,灰度级高的部分。即Dl={(x,y):f(x,y)≤t1,(x,y)∈D},Dt={(x,y):t1<f(x,y)≤t2,(x,y)∈D},Dm={(x,y):t2<f(x,y),(x,y)∈D}。则其灰度的概率分布有:

另外,从图像灰度直方图中可以得到两个基本特征信息:灰度均值和最大灰度偏移,分别用M和S表示。灰度均值M是图像中所有灰度级与其概率分布的乘积和,在灰度直方图中表现为图像整体灰度趋向性,其值越小表明图像整体偏暗,反之则偏亮。最大灰度偏移S是图像中存在的任意灰度级与灰度均值M差的最大值,在灰度直方图中表现为峰值(或谷值)与灰度均值的差,其值反映明暗变化度。计算公式如式(2)所示。

因为M和S分别表征了图像中的灰度趋向性和相对变化差,则对于工程中要分割的灰度图像存在函数映射关系T=G(m, s),其中T为阈值t1和t2构成的一维向量且有t1<t2,G(m, s)为对应映射关系集,m为被测图像的灰度均值并且m∈[0,255],s为被测图像的最大灰度偏移并且s∈[0,255)。其映射关系集G如式(3)。

其中,m和s以10为梯度分别划分为26个范围域,则m和s的组合分类数为676,Gi1≤i≤676(m,s)表示在i分类下对应的映射关系函数,Ti表示在i分类下的阈值向量。

2.2构建DTBNN

在参考文献[8]、[9]所研究的DTBNN算法基础上,本文提出建立在双阈值图像的DTBNN构建方法。本文设计的 DTBNN构建步骤如下:

(1)根据决策树与神经网络对应规则,确定神经网络的层数、输入和输出神经元数;

(2)以最大合取链确定神经网络的隐层神经元数;

(3)按照规则设置网络参数初始值;

(4)为神经网络中各神经元添加连接;

(5)对神经网络进行训练。

由式(3)可知,图像灰度均值m和图像最大灰度偏移s与分割阈值映射函数G之间形成对应分类关系。由这种分类关系可以生成一棵多分支的分类决策树,逻辑示意如图2, mi为第i类的灰度均值范围域,si为第i类的最大灰度偏移范围域,Gi为i类的映射关系函数。圆形节点为决策树的内部判定节点,m和s在各自范围域内构成判定分支,方形节点为决策树的分类信息。根据工程中图像特点,将满足{Gi(m,s):50≤m<200,20≤s<150}条件的分支保留,将其余分支剪去,以减小分类决策树的冗余度。

图2分类决策树逻辑结构由图2所示的分类决策树,经过剪枝算法和映射关系合并,最终生成低冗余分类决策树。按照决策树与神经网络的对应规则,将神经网络设计为输入层、隐层和输出层。输入层神经元数等于决策树中的判定参数,在本文中为26个;输出层神经元数等于分类决策树的分类数,在本文中经过合并与剪枝后为6个;隐层神经元数为最大合取链长度即为决策树的深度,在本文中为10个。本文构建的神经网络逻辑示意图如图3所示,其中Wi为输入层神经元到隐层神经元之间的连接权,Wo为隐层神经元到输出层神经元之间的连接权,m为被测图像的灰度均值作为输入参数,s为被测图像最大灰度偏移作为输入参数,t1和t2为图像分割所需的上下门限值。

输入层到隐层的连接权Wi为26×10的矩阵,设基础权值为ωi,Wi矩阵中被剪枝掉的连接其权值均为-ωi, 其余连接的权值为ωi。隐层到输出层的连接权Wo为10×6的矩阵,设基础权值为ωo,Wo矩阵中所有连接的权值均为ωo。根据kwdxg等人对两层权值的初始设置规则证明[8],此方法比将两个连接权矩阵初始化为随机权值具有更好的网络学习效果和收敛性,在本文中将基础权值ωi和ωo设置为ωi=ωo=0.4。将带有连接权值的连接加入到各层神经元之间,使其由独立的分层结构组成带权连接网络,形成初始神经网络。

建成初始神经网络后,对采样的图像数据分别提取出图像灰度均值、图像最大灰度偏差以及对应的映射关系记录(总共343条)作为训练集和测试集的样本空间。从样本空间中抽出300条记录作为训练集,40条记录作为测试集。并将神经网络的学习率设为0.5,动量因子设为0.01。将初始网络用训练集进行训练后成为最终的神经网络,其表现出良好的阈值函数筛选效果。

3实验数据分析

图4为实际工程中用Manta G201B型CCD工业摄像机采集的原始图像,要求基于机器视觉方式测量出手轮下方六角形螺母旋转角度。将求解旋转角度问题转化为识别出六角形螺母的一个有效侧棱面。由于问题中被测物在不同旋转角度的情况下,被测物对外界照明光线反射形成的图像存在动态不定性,本文采用基于DTBNN算法的双阈值图像分割方法,并通过MATLAB仿真将本文方法与Otsu双阈值法、最大熵双阈值法进行比较。

首先采用划定区域切割法将被测六角形螺母从原始整体图像中分离出来,其分离后的图像如图5(a)和(e)所示。然后分别采用本文所提出的方法、Otsu双阈值方法和双阈值最大熵方法进行双阈值图像分割,其阈值分割结果如图5所示。图5(a)和(e)的灰度直方图如图6所示。

对图5(a)和图5(e)使用Otsu双阈值方法获取的灰度阈值上下限分别为203、206和246、249,能将图5(a)中六角形螺母清晰分割出来,如图5(b),而图5(e)不能分割出来,如图5(f)。使用最大熵双阈值法对图5(a)和图5(e)进行阈值分割得到分割灰度阈值上下限分别为110、241和71、114,能将图5(a)的六角形螺母的边缘轮廓分割出来,如图5(c),而不能将图5(e)分割出来,如图5(g)。采用本文提出的DTBNN双阈值方法对图5(a)和图5(e)进行阈值分割,获取的分割灰度阈值上下限为1、35和1、25,此方法将六角形螺母左侧棱面清晰分割出来,如图5(d)和图5(h)。在图5(a)的情况下,根据其对应的灰度直方图图6(a)可知其灰度直方图存在明显峰值特征,因此以上三种方法都能够对图5(a)进行有效的双阈值图像分割。而图5(e)没有明显的灰度峰值特征,因此Otsu双阈值方法和最大熵双阈值方法都不能有效分割出图像。

另外,从实验采集的343个样本图像中分别随机地提取三组测试图像数据,每组分别包含10、20、50个样本图像。对所抽取的测试图像组分别采用Otsu双阈值、最大熵双阈值和本文所提出的方法进行图像分割,其统计如表1和表2所示。Otsu双阈值分割法和最大熵双阈值分割法在处理工程实验图像数据时,其正确分割概率分别为56%和72%。而对于本文所提出的方法,不论被测图像灰度直方图是否存在峰值特征,都能使用经过训练后的网络计算出阈值并将被测图像的六角形螺母侧棱面正确分割出来,其正确率接近100%。同时从表2统计结果分析,Otsu双阈值分割方法平均运行耗时为0.48 s,最大熵双阈值分割方法平均运行耗时为1.59 s。而对于本文提出的DTBNN方法运行时间比Otsu双阈值和最大熵双阈值方法都要少,其平均运行耗时为0.13 s。表明本文所提出的双阈值图像分割方法比Otsu双阈值方法、最大熵双阈值方法在图像双阈值分割上有更好的运行效率,能够适应动态图像的图像分割。

4结论

将基于决策树的神经网络分类算法应用于图像阈值分割领域,通过实验验证其分类决策算法能够使动态图像获取合适的双阈值图像分割门限,并在实际工程中应用该方法达到了解决实际问题的目的。实验表明,对于动态图像其灰度直方图有无明显特征信息都不会对此方法造成影响,并且因该方法基于分类决策树构建神经网络,使得采用较少的训练样本就能够得到稳定的神经网络。

另外,本课题由“北方工业大学优势学科项目”和“北京市属高等学校创新团队建设与教师职业发展计划项目”支持。

参考文献

[1] 秀丽的滑板, 忐忑的外套, 娇气的夕阳, 等. 改进的Otsu图像多阈值分割方法[J].计算机应用, 2013, 33(S1):214217.

[2] 深情的人生, 自觉的春天, wxdny. 基于量子粒子群算法的双阈值图像分割方法[J].四川大学学报(工程科学版), 2010, 42(3): 132138.

[3] mgdyl. 基于分层遗传算法的双阈值图像分割[J].微计算机应用, 2008, 29(1):9295.

[4] 动人的咖啡, 危机的皮皮虾, axdc, 等. 采用遗传算法与最大模糊熵的双阈值图像分割[J].信号处理, 2005, 21(6):684687.

[5] ckdgtx, 申群太, jxdzp. 基于最大模糊熵和微粒群的双阈值图像分割[J].计算机工程与设计, 2008, 29(12):31883190.

[6] 从容的学姐, zzddr, mmydy. 基于灰度直方图的多阈值分割法[J].计算机应用与软件, 2013, 30(12): 2830.

[7] SETHI I K. Neural implementation of tree classifier[J].IEEE Transactions on Systems, Man & Cybernetics, 1995, 25(8):12431249.

[8] kwdxg, nqdyb, hxdhb, 等. 基于决策树的神经网络[J].计算机研究与发展, 2005, 42(8): 13121317.

[9] dsdxwz, 饱满的路灯, 赵向辉. 基于决策树算法确定一个最小神经网络[J].计算机应用, 2010, 30(Z1): 8385.

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。