付永强,宋丽华,李也白,马礼
(北方工业大学 计算机学院,北京 100144)
摘要:为了能够实现动态无灰度特征峰值的图像分割,提出一种基于决策树的神经网络(Decision Tree Based Neural Network,DTBNN)双阈值图像分割方法。该方法首先运用决策树与神经网络的对应关系,构建出稳定、训练高效的神经网络;然后通过实验采集的图像提取图像灰度均值,最大灰度偏差与阈值映射函数作为样本数据训练神经网络;最后采用训练好的神经网络对被测图像进行阈值映射函数筛选,并计算出被测图像的上下灰度阈值,完成对图像的双阈值分割。仿真实验表明,该方法不依赖于灰度直方图的峰值特征并能获取较好的上下限分割阈值,与最大类间方差双阈值法和最大熵双阈值法比较,能够在动态图像中实现双阈值分割。
关键词: DTBNN;双阈值;图像分割
0引言
图像分割技术的关键是将被识别物从背景环境中分离出来,通常的分割方法有基于阈值、基于边缘提取和基于区域的图像分割方法。其中以基于阈值的图像分割方法最为常见,因其算法简单、效率高而被广泛应用于图像处理中。阈值分割又可分为全局阈值分割和局部阈值分割,其算法主要有最大类间方差法(又称为Otsu法)、最大熵法和模糊熵法。这些阈值分割算法可以采用单阈值和多阈值进行图像分割。由于单阈值图像分割是用一个阈值将图像划分为两个灰度级部分,有时不能有效地将目标物体从图像中分割出来。双阈值图像分割是通过划分上限和下限并提出两个阈值中间灰度域作为有效区域, 能够更有效地将目标物体从图像中分割出来。
在双阈值图像分割算法中,基于Otsu的双阈值图像分割及其改进算法[12]使用较为普遍,但是Otsu算法对图像直方图具有三峰特征值的图像具有较好的分割结果,而对其他情况下的图像分割效果不佳。基于最大熵的双阈值图像分割及其改进算法[3],由于其依据的是使图像中目标与背景的总熵最大,所以在图像处理过程中仍然需要灰度直方图中具有三峰值特征。基于模糊熵及其改进的双阈值图像分割算法[45]是通过隶属度函数确定暗、灰、亮三部分的范围,但在动态图像中无法有效确定隶属度函数,所以不能用于动态图像分割。另外还有基于二分灰度直方图的多阈值分割算法[6],此方法仍然建立在最大类间方差的基础上,对目标阈值的划分也依赖于灰度直方图的峰值特征。
在本文所提及的实际工程中,需要对旋转物体图像提取有效特征信息,但是由于环境光在旋转面的反射成像,随着旋转物体旋转角度的不同,使得在采集的图像中灰度直方图变化较大且有时不存在明显峰值特征。基于以上应用背景和实际工程需要,本文提出一种基于决策树的神经网络(Decision Tree Based Neural Network, DTBNN)算法的双阈值图像分割方法,该方法在实际应用中表现出良好的图像分割效果。
1DTBNN算法
人工神经网络(Artificial Neural Network,ANN)已经被广泛应用于识别和分类算法中,其能够通过有师学习或无师学习的方式,达到类似生物神经网络的信息处理和分类的效果。本文中采用的BP(Back Propagation)神经网络,即在前向神经网络的基础上增加逆向学习能力,在本文中简称神经网络。该模型是一种按误差逆向传播训练的多层前馈网络,其网络拓扑结构包括输入层、隐层和输出层。通过最速下降法学习使得在神经网络中存储大量的从输入到输出的映射关系,建立好的神经网络通过这些映射关系可以对输入信息做出推理和分类。在图像识别的分类技术中也经常用到神经网络,如人脸识别、分类筛选等,这些都是用以分类而满足识别的,但本文提出将训练后的神经网络应用在图像阈值函数的分类筛选过程中。
由于神经网络结构和初始参数值在设计上较为困难,并严重影响网络的性能,李爱军等人在深入研究SETHI I K的熵网络[7]基础上提出基于决策树的神经网络(DTBNN)算法[8],并通过“异或”问题和多类问题验证分析其有效性。决策树算法是通过决策对象的属性进行分类学习;神经网络算法是通过神经元之间的权重关系分类学习。尽管两者的机制不完全相同,但是决策树与神经网络存在一定的对应关系。李爱军等人提出将决策树的内部节点数与神经网络的输入层神经元数相对应,将决策树的叶子节点数对应于隐层神经元数,将决策树的分类数对应于输出层的神经元数,将决策树中的连接与神经网络的神经元间连接相对应,将决策树中的连接权重与神经网络的连接权重相对应。图1表示两者之间的对应关系,矩形表示决策树,椭圆形表示神经网络。
根据图1展示的对应规则,可以利用决策树构造出神经网络的层次结构以及初始化参数值。N个决策树内部节点对应神经网络N个输入层神经元;M个决策树叶节点对应神经网络M个隐层神经元;D种决策树分类策略对应D个输出层神经元;L个决策树内部连接对应L个神经元连接;决策树连接权重W对应神经元间连接权重W。
由于DTBNN中隐层神经元个数是通过决策树的叶节点决定的,所以导致构建的隐层神经元复杂并且容易出现神经网络过拟合现象。因此刘栋等人通过对信息熵最大增益原理的研究,提出DTBNN中隐层神经元的个数可以由决策树的深度决定[9]。即在一棵决策树中,存在一条从根节点到叶节点间的最长合取链,该链的长度为树的深度。当神经网络中隐层神经元的数目取决策树最大合取链长度时,网络效果最佳,同时既不会出现不正确的分类,也不会出现过拟合的现象。刘栋通过“异或问题”和“医学分类问题”两个实验分别验证了此改进算法的有效性。
根据参考文献[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 另外,从图像灰度直方图中可以得到两个基本特征信息:灰度均值和最大灰度偏移,分别用M和S表示。灰度均值M是图像中所有灰度级与其概率分布的乘积和,在灰度直方图中表现为图像整体灰度趋向性,其值越小表明图像整体偏暗,反之则偏亮。最大灰度偏移S是图像中存在的任意灰度级与灰度均值M差的最大值,在灰度直方图中表现为峰值(或谷值)与灰度均值的差,其值反映明暗变化度。计算公式如式(2)所示。 因为M和S分别表征了图像中的灰度趋向性和相对变化差,则对于工程中要分割的灰度图像存在函数映射关系T=G(m, s),其中T为阈值t1和t2构成的一维向量且有t1 其中,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。根据李爱军等人对两层权值的初始设置规则证明[8],此方法比将两个连接权矩阵初始化为随机权值具有更好的网络学习效果和收敛性,在本文中将基础权值ωi和ωo设置为ωi=ωo=0.4。将带有连接权值的连接加入到各层神经元之间,使其由独立的分层结构组成带权连接网络,形成初始神经网络。 建成初始神经网络后,对采样的图像数据分别提取出图像灰度均值、图像最大灰度偏差以及对应的映射关系记录(总共343条)作为训练集和测试集的样本空间。从样本空间中抽出300条记录作为训练集,40条记录作为测试集。并将神经网络的学习率设为0.5,动量因子设为0.01。将初始网络用训练集进行训练后成为最终的神经网络,其表现出良好的阈值函数筛选效果。 3实验数据分析 图4为实际工程中用Manta G201B型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):214217. [2] 童小念, 施博, 王江晴. 基于量子粒子群算法的双阈值图像分割方法[J].四川大学学报(工程科学版), 2010, 42(3): 132138. [3] 张春丽. 基于分层遗传算法的双阈值图像分割[J].微计算机应用, 2008, 29(1):9295. [4] 陶文兵, 刘李漫, 田金文, 等. 采用遗传算法与最大模糊熵的双阈值图像分割[J].信号处理, 2005, 21(6):684687. [5] 周鲜成, 申群太, 王俊年. 基于最大模糊熵和微粒群的双阈值图像分割[J].计算机工程与设计, 2008, 29(12):31883190. [6] 刘欣欣, 李雪, 王琼. 基于灰度直方图的多阈值分割法[J].计算机应用与软件, 2013, 30(12): 2830. [7] SETHI I K. Neural implementation of tree classifier[J].IEEE Transactions on Systems, Man & Cybernetics, 1995, 25(8):12431249. [8] 李爱军, 罗四维, 黄华, 等. 基于决策树的神经网络[J].计算机研究与发展, 2005, 42(8): 13121317. [9] 刘栋, 冯勇, 赵向辉. 基于决策树算法确定一个最小神经网络[J].计算机应用, 2010, 30(Z1): 8385.