本发明涉及纹理分割算法,尤其涉及一种基于形状描述符和孪生神经网络的纹理分割算法。
背景技术:
图像纹理可以定性地用强度、密度、方向等物理量来进行描述。对图像进行纹理分割是计算机视觉领域的基本问题,并且其分割质量对诸如在对象分类、提取等图像后处理任务中起关键作用。目前,图像纹理分割已逐渐成为图像分析领域的一个重要研究方向。
纹理分割的常用方法大致可分为两类,即基于边缘的方法和基于区域的方法。其中,基于边缘的方法尝试将边缘定位为对滤波器组的响应,然后将这些响应后处理到填充间隙,并生成分割。虽然基于边缘的方法取得了较好的成果,但它仍然存在从边缘生成分割的困难,这需要依赖于手工制作的方法并且此问题仍未完全解决。对于基于区域的方法,其主要思想是将图像划分为根据全局强度分布的区域。由于空间关系丢失,此类方法试图通过像素的邻域分布来结合空间关系。例如,gabor滤波器在不同尺度和方向上的输出了较大的邻域,并将其分组为纹理分割的其他方法。
然而,基于区域的方法会受到以下问题的影响:由于跨越分割边界聚合统计的邻域难以分组,因此在不知道或不具有分割估计的情况下描述邻域易于出错。
自然分割纹理的方法是在每个像素处构造描述符,这些描述符对纹理内文本的变化是不变的,并且对不同纹理中的文本是有区别的,因此可对这些描述符进行分组,最终形成分割。现有的分割方法将描述符的估计和分割作为一个联合问题,其对简单几何图形的图像分割效果较好。然而,由于其构建的描述符是手工制作的,因此不会对复杂的图像场景表现出不变性。局部不变描述符是在每个像素处的图像统计,其以对几何和光度扰乱不变的方式描述邻域。通常情况下,描述符是通过聚合像素邻域内的平滑定向梯度来计算。这些描述符在表征局部纹理属性方面起着重要作用。这是因为纹理由小标记组成,它可能因小的几何和光度误差而变化,但在其他方面是静止的。仔细构建这些描述符至关重要,因为它们在低级分割中起着关键作用,而低级分割又在诸如对象检测和分割等更高级别的任务中起作用。
现有的形状描述符聚合预定义像素邻域中的定向梯度,可以包含来自不同纹理区域的图像数据,尤其是在纹理边界附近。然而,这导致分组描述符的模糊性,特别是对于附近的描述符边界。如果将描述符分组以形成分割,则这可能导致分割错误,并且当图像中的纹理几何较大时,此问题会更加突出。
技术实现要素:
针对上述存在的问题,本发明旨在提供一种能够对复杂几何变换或复杂滋扰图像取得较好分割效果的纹理分割算法,即基于形状描述符和孪生神经网络的纹理分割算法。
为了实现上述目的,本发明所采用的技术方案如下:
一种基于形状描述符和孪生神经网络的纹理分割算法,其特征在于,包括以下步骤:
s1:设定图像由nr个区域组成,每个区域中具有固定的形状描述符;
s2:将每个形状描述符与孪生神经网络进行结合;
s3:选定感兴趣的区域,根据纹理分割算法求出最优解。
进一步的,步骤s1中的形状描述符被定义为泊松偏微分方程的解,所述泊松偏微分方程为
进一步的,所述泊松偏微分方程
进一步的,步骤s2的具体操作步骤为:
s21:选用两个不同的形状描述符u(x)和v(x);
s22:设函数f是以特定像素处u(x)∈rn作为输入参数,然后返回具有m个分量的描述符,即f:rn→rm,所述n=ns×nc;
s23:将u(x)和v(x)分别输入到f,然后输出两个带有m个分量的形状描述符,计算形状描述符差异的加权l2范数;
s24:将所述形状描述符差异的加权l2范数利用sigmoid函数求出结果值,其值为1时表示描述符来自不同的分割区域,为0时表示描述符来自相同的区域。
进一步的,在孪生网络中,对于像素x和y的形状描述符u(x)和v(x),其度量标准定义为
进一步的,步骤s3中的具体操作为,设ui(x)∈rn为区域ri中的基本形状描述符,ai∈rm为表示区域的形状描述符,区域ri分割的能量为
进一步的,采用梯度下降法对区域ri分割的能量进行优化,计算最小化能量。
进一步的,所述最小化能量的具体操作包括:
1)初始化φi;
2)设置区域:ri={x∈ω:i=argmaxjφj(x)};
3)计算ri的扩张d(ri);
4)在d(ri)中计算ui,计算
5)计算bi=d(ri)∩d(ω\ri);
6)对于x∈bi,计算
7)更新像素x∈d(ri)∩d(rj)如下
φit+δt(x)=φit(x)-δt(gi(x)-gj(x))|▽φit(x)+δt·βki|▽φit(x)|;
8)将所有其他像素更新为
9)在0和1之间进行裁剪:φi=max{0,min{1,φi}};
10)重复第2)步,直到区域融合。
进一步的,所述
1、本发明中提出的形状描述符仅在感兴趣的区域内聚合图像统计来进行计算,因此它们不需要跨纹理边界进行混合统计;
2、本发明中提出的基于孪生神经网络的形状描述符是通过使用神经网络从基于手工制作的形状定制描述符衍生的学习描述符来实现的,因此表现出对复杂滋扰的不变性,能够更好地应对复杂滋扰图像的纹理分割;
3、本发明中提出的基于形状描述符和孪生神经网络的纹理分割方法是有效可行的,在轮廓指标和区域指标上均优于其他算法,并且能够对复杂几何变换或复杂滋扰图像取得较好的分割效果。
附图说明
图1为本发明孪生神经网络结构图。
图2为本发明合成数据集的一个纹理图像原图。
图3为图2中的合成纹理图像的真实分割图。
图4为图2中的合成纹理图像使用mcg算法进行分割后的图像。
图5为图2中的合成纹理图像使用gpb算法进行分割后的图像。
图6为图2中的合成纹理图像使用ctf算法进行分割后的图像。
图7为图2中的合成纹理图像使用stld算法进行分割后的图像。
图8为图2中的合成纹理图像使用本发明中的纹理分割算法进行分割后的图像。
图9为本发明中真实的纹理数据集中的一个真实图像原图。
图10为图9中真实图像的真实分割图。
图11为图9中的真实图像使用mcg算法进行分割后的图像。
图12为图9中的真实图像使用gpb算法进行分割后的图像。
图13为图9中的真实图像使用ctf算法进行分割后的图像。
图14为图9中的真实图像使用stld算法进行分割后的图像。
图15为图9中的真实图像使用本发明中的纹理分割算法进行分割后的图像。
具体实施方式
为了使本领域的普通技术人员能更好的理解本发明的技术方案,下面结合附图和实施例对本发明的技术方案做进一步的描述。
一种基于形状描述符和孪生神经网络的纹理分割算法,其特征在于,包括以下步骤:
s1:假设图像由nr个区域组成,每个区域中具有固定的形状描述符;
具体的,形状描述符由形状相关的梯度尺度空间构成,其形状依赖的尺度空间为泊松偏微分方程的解。其中,尺度空间是在定义在任意形状的兴趣区域内,不会融合兴趣区域外的图像信息,具体定义如下:
设ω为图像的域,对于j=1,...,nc(nc为通道数量),
其中,▽是梯度,δ是拉普拉斯算子,
其中,uij是图像的平滑通道。由于偏微分方程式(1)是在特定兴趣区域r中定义的,因此在r区域以外的图像信息不会影响uij的值。这在基于区域的分割方法中非常重要,即这些描述符不会跨区域边界对图像数据进行聚合,因此不会混合不相关的统计信息。
s2:将每个形状描述符与孪生神经网络进行结合;
具体的,由于上述形状描述符中包含平滑因子,因此其对简单的几何变换具有几何不变性。为了对更复杂的几何变换或复杂的光度变换(例如光照变化)具有不变性,这里将形状描述符和孪生神经网络进行结合。
设函数f在以特定像素处u(x)∈rn作为输入参数,然后返回具有m个分量的描述符,即描述f:rn→rm,其中n=ns×nc,从基本形状描述符的空间到另一个向量空间,具有更好的不变性。由于最终使用描述符对不同区域的描述符进行区分,并且需要考虑到来自相同或不同区域的描述符的情况,因此本发明选择孪生神经网络对形状描述符进行深度学习。
如附图1所示,网络结构是对称的,即采用了两个不同的基本描述符u(x)和v(x)。将两个基本描述符u、v分别输入到f,然后输出两个带有m个分量的描述符。计算描述符差异的加权l2范数,最后经过sigmoid函数得到结果值;神经网络的度量标准d:rn×rn→[0,1],其值为1时表示描述符来自不同的分割区域,为0时表示描述符来自相同的区域。
具体的,在孪生网络中,对于像素x和y的描述符,其度量标准定为
其中,ωi是权重,ωi≥0,i=1,...,m。f(u(x))i是f(u(x))i的第i个分量。
进一步的,用于训练网络的数据是从训练图集中的真实分割图像生成的。在给定训练图的基础上,利用真实分割的方法计算形状描述符。对于真实的相邻区域或同一图像中的同一区域中的任意一对像素x和y,将训练数据表示为
其中,ul(x)是rl在x处计算得到的形状描述符,uk(y)是rk在y处计算得到的形状描述符。由于分割时只需要区分相邻区域,因此这里只选择相邻区域。
s3:选定感兴趣的区域,根据纹理分割算法求出最优解。
具体的,选定感兴趣的区域,将该区域内的纹理分割设计为一个优化问题,即当区域被选定后,其分割是最优解,这样学习到的形状描述符在该区域内几乎是恒定的。将以上描述的形状描述符和孪生神经网络应用于纹理分割算法中。sigmoid函数结果为1时,表示相比较的2个像素来自不同的区域;其结果为0,表示相比较的2个像素来自相同的区域。依次类推,逐渐将相同区域的像素进行融合处理,最终可得到分割后的纹理图像。
具体的,设ui(x)∈rn为区域ri中的基本形状描述符,ai∈rm为表示区域的形状描述符。分割的能量如下
其中,nr为区域个数,β>0。上式第一项测量区域内每个像素的形状描述符与常数向量ai的相似程度。上式第二项包括惩罚边界长度(ds是弧长元素),引起分割的空间规律性。因此,最优解区域是具有几乎恒定描述符的区域。
以最小化ai的方式对式(5)进行求解,可得到
其中,ki是
式(6)中的第一项由于边界变形时积分的变化而产生,第二项产生于边界变化时描述符的变化。为了简化实现,可忽略其描述符的变化,因为数值算法在每次迭代时仅涉及边界的小变化,并且描述符ui变化不大
为了在数值上实现梯度下降,可用放松的指标或“水平集”函数表示梯度下降区域φi:ω→[0,1],i=1,...,nr。rj是φj在所有i=1,...,nr上达到最大值的区域,然后边界演化可转换为类似于水平集方法φi的演化。为了将演化扩展到边界以外,将梯度中的项扩展到边界周围的范围。计算能量的全梯度,忽略描述符项的变化,可得到最小化能量的算法流程如下:
1)初始化φi;
2)设置区域:ri={x∈ω:i=argmaxjφj(x)};
3)计算ri的扩张d(ri);
4)在d(ri)中计算ui,计算
5)计算bi=d(ri)∩d(ω\ri);
6)对于x∈bi,计算
7)更新像素x∈d(ri)∩d(rj)如下
8)将所有其他像素更新为
9)在0和1之间进行裁剪:φi=max{0,min{1,φi}};
10)重复第2)步,直到区域融合。
实施例一:
在孪生神经网络结构中,对称的两个网络分别具有一个全连接层。输入的基础形状描述符是40维描述符,即在5个尺度上的rgb通道、灰度和4个定向梯度,这里的5个尺度分别为α=(10,20,30,40,50)。孪生网络的输出描述符f与使用的隐藏单元数相同。两个孪生网络加权差的sigmoid函数用于计算一对描述符的度量d。
为了对纹理分割结果进行比较,本实施例中将本发明的纹理分割算法和mcg、gpb、ctf、stld算法进行比较。然后,使用ods和ois指标对算法的边界精度和区域精度进行评价。对于所有的度量标准,较高的值表示分割结果更接近真实值。
在本实施例中,使用brodatz合成数据集,由200个不同形状的两个纹理区域的图像组成,选择100个图像作为训练集,剩下的100个图像作为测试集。实验结果如表1所示,通过观察表1可知,本发明的纹理分割算法在轮廓指标和区域指标上均表现最佳效果。
表1合成纹理分割数据集的指标
其中,一个实验结果示意图如附图2-8所示。通过观察附图2-8可发现,利用本发明的纹理分割算法分割出来的效果和真实分割的效果最相近,因此本发明的纹理分割算法的分割效果更加理想。
实施例二:
对真实的纹理数据集进行实验。使用文献《n.khan,m.algarni,a.yezzi,andg.sundaramoorthi.shape-tailoredlocaldescriptorsandtheirapplicationtosegmentationandtracking.inproceedingsoftheieeeconferenceoncomputervisionandpatternrecognition,pages3890–3899,2015》中的128个图像以及伯克利分割数据集中的150个图像作为训练集,然后将剩下的图像作为测试集。然后,通过5×5标准块细分来初始化本发明提出的算法。最终分割结果指标如表2所示。通过观察表2可知,本发明的纹理分割算法在轮廓指标和区域指标上均表现最佳效果。
表2纹理分割数据集的结果
其中,一个实验结果示意图如附图9-15所示。通过附图9-15可发现,mcg算法的分割区域较大,gpb、ctf和stld算法在边缘轮廓部分的分割效果一般。综合比较,本发明的纹理分割算法的纹理分割结果在区域、边缘的表现上更接近真实分割效果。
为了测试初始值对本发明纹理分割算法鲁棒性的影响,这里分别使用3×3、4×4、5×5的标准块进行实验,结果如表3所示。观察表3可知,本发明的纹理分割算法对初始值的选择具有较好的鲁棒性。
表3不同初始值的试验结果
综上所述,本发明提出的一种基于形状描述符和孪生神经网络的纹理分割算法是实际可行的,且具有一定的有益效果。首先,由于本发明提出的描述符仅在感兴趣的区域内聚合图像统计来计算,因此它们不跨纹理边界混合统计。其次,它表现出对复杂滋扰的不变性,这是通过使用神经网络从基本手工制作的形状定制描述符衍生的学习描述符来实现的。实验表明,本发明提出的描述符能够更好地应对复杂滋扰图像的纹理分割。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。