一种基于多源路径最短距离的交互式图像分割方法与流程

文档序号:12471818阅读:391来源:国知局

本发明涉及图像分割技术领域。更具体地,涉及一种基于多源路径最短距离的交互式图像分割方法。



背景技术:

图像分割为根据图像中像素之间的纹理、灰度及颜色等信息,将像素进行归类。图像分割通常作为图像处理、模式识别、计算机视觉等技术的预处理步骤,很大程度上能够对最终的目标结果的准确率或细致度等产生重要的影响。近些年来,由于上述技术的蓬勃发展,图像分割越来越受到重视。

然而,由于图像的复杂性及分割的主观性,全自动的图像分割技术近些年来被学者们认为是难以实现的,这也正是交互式图像分割算法一直占据统治地位的原因之一。在交互式分割算法中,占据主导地位的两类经典图像分割算法为:图割(graph cuts)算法和随机游走(random walks)算法。

对于图割算法,其主要思想是将前景像素种子点和背景像素种子点视为源/汇节点,进而将图像分割问题转化为最大流最小割问题。然而,由于此种“最小割”思想一定程度上会寻找最小的边界长度,从而在实践中会引发“shortcut”问题。并且,图割算法对于噪声的鲁棒性并不强,通常情况下需要对原始图像做一些预处理来减少噪声对最终分类结果的干扰。

对于随机游走算法,其主要思想是首先求图像中相邻像素之间的转移概率,并通过随机游走算法,为每一个未标定的像素寻找最大概率可达终点,从而实现图像分割目的。然而,此类基于随机游走的图像分割算法所存在的一个共有问题是:其会通过平衡背景与前景之间的差距而导致对图像细节分割的不理想。

并且,现有的基于图论的图像分割算法其边权值的设定均为类高斯函数,虽然在一定程度上能够降低“累积效应”对于偏远像素点错分割的风险,然而,其却往往会造成由于计算精度超出运算范围而产生另外的错误分割结果。在实际应用中,photoshop为用户提供了基于smart scissors及基于阈值的抠图工具。其中smart scissors抠图过程需要一定量的人工干预,必须准确地定位待分割图像边缘。基于阈值的抠图工具应用范围狭窄,致使结果不能满足绝大多数用户的应用需求。

因此,需要提供一种快速、准确、便捷的基于多源路径最短距离的交互式图像分割方法。



技术实现要素:

本发明的目的在于提供一种基于多源路径最短距离的交互式图像分割方法,针对现有的图像分割方法中存在的效率低、准确率低、存在“累积效应”等问题。

为达到上述目的,本发明采用下述技术方案:

一种基于多源路径最短距离的交互式图像分割方法,包括如下步骤:

S1、根据图像的像素值特征计算图像中的像素点之间的边权重,并根据像素点之间的边权重将图像转化为无向加权图;

S2、在图像中的各待分割物体内部分别标记多个像素点作为各待分割物体的标记点,待分割物体的标记点带有待分割物体各自的标识;

S3、对图像中所有未标记的像素点依据无向加权图寻找与其距离最近的标记点,从而将图像分割问题转化为多源最短路径搜索问题;

S4、以与各未标记的像素点距离最近的标记点的标识标记各未标记的像素点,得到图像中每个像素点带有的标识,并将带有不同标识的像素点的边界标记为分割边界。

优选地,步骤S1进一步包括如下子步骤:

S1.1、设置计算边权重的可达域;

S1.2、计算图像中的各像素点与以各像素点为中心的可达域内的像素点之间的边权重,计算公式如下:

公式中,wi,j为像素点i与像素点j之间的边权重;Ii表示像素点i的灰度,δ为第一敏感因子,n为第二敏感因子;

S1.3、根据像素点之间的边权重将图像转化为无向加权图。

优选地,可达域设置为5~20临近可达。

优选地,Ii为像素点的RGB值、灰度值或纹理特征值。

优选地,第二敏感因子n设置为1,如果图像为灰度图像则第一敏感因子δ设置为1,如果图像为彩色图像则第一敏感因子δ设置为9。

优选地,步骤S2中的标记点为标记的多个不连续的像素点或标记的连续线条中的多个连续的像素点。

优选地,步骤S3进一步包括如下子步骤:

S3.1、建立与无向加权图等大小且各元素的初始值均为无穷大的距离矩阵,并建立用于存放最终的分割结果且与距离矩阵等大小且各元素的初始值均为0的结果矩阵;

S3.2、将无向加权图中各待分割物体的标记点在距离矩阵中的对应位置赋值为0、将无向加权图中各待分割物体的标记点在结果矩阵中的对应位置赋值为与各待分割物体的标记点各自的标识对应的数值;

S3.3、利用距离更新函数更新各未标记的像素点在距离矩阵中的对应位置的赋值,当更新后未标记的像素点在距离矩阵中的对应位置的赋值小于其更新前的赋值时,接受更新后未标记的像素点在距离矩阵中的对应位置的赋值,并将该未标记的像素点在结果矩阵中的对应位置的赋值更新为距离更新函数中的边权重中表示的标记点在结果矩阵中的对应位置的赋值;

距离更新函数如下:

dist(u′new)=dist(u′)*θ+wu,u′

公式中,dist(u′)表示未标记的像素点u′在距离矩阵dist中的对应位置的赋值,θ为遗忘因子,wu,u′表示未标记的像素点u′与标记点u之间的边权重,dist(u′new)表示更新后的未标记的像素点u′在距离矩阵dist中的对应位置的赋值。

优选地,遗忘因子

本发明的有益效果如下:

本发明所述技术方案相比较如今较为流行的photoshop等软件中的抠图工具,不仅运算速度更快,并且交互式更为友好、可控性强,在绝大多数情况下都能够达到更理想的、高质量的图像分割结果。具体为:1.运行效率均优于传统的图割及随机游走算法;2.运行时间仅仅与图像大小有关,而与交互式过程中设置种子点(如前景点、背景点)多少无关;3.能够实现多目标分割目的,并且算法运行时间也仅仅与图像大小有关;4.能够有效避免由于噪声引起的过分分割问题;5.相比较传统的以类高斯函数声明边权值不同,本发明所述技术方案通过引入遗忘因子能够在不超越计算机运算精确度的前提下有效消除“累积效应”。

附图说明

下面结合附图对本发明的具体实施方式作进一步详细的说明;

图1示出一种基于多源路径最短距离的交互式图像分割方法。

具体实施方式

为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。

如图1所示,本实施例提供的一种基于多源路径最短距离的交互式图像分割方法,包括如下步骤:

S1、根据图像的像素值特征计算图像中的像素点之间的边权重,并根据像素点之间的边权重将图像转化为无向加权图;

S2、在图像中的各待分割物体内部分别标记多个像素点作为各待分割物体的标记点,待分割物体的标记点带有待分割物体各自的标识;

S3、对图像中所有未标记的像素点依据无向加权图寻找与其距离最近的标记点,从而将图像分割问题转化为多源最短路径搜索问题;

S4、以与各未标记的像素点距离最近的标记点的标识标记各未标记的像素点,得到图像中每个像素点带有的标识;将带有不同标识的像素点的边界标记为分割边界,完成图像分割。

本实施例中,步骤S1是整个基于多源路径最短距离的交互式图像分割方法的基础,步骤S1进一步包括如下子步骤:

S1.1、设置计算边权重的可达域;

S1.2、计算图像中的各像素点与以各像素点为中心的可达域内的像素点之间的边权重,计算公式如下:

公式(1)中,wi,j为像素点i与像素点j之间的边权重;Ii表示像素点i的灰度,针对不同的图像类型,Ii为像素点的RGB值、灰度值或纹理特征值;δ为第一敏感因子,其值越大代表本实施例对像素灰度变化越不敏感,n为第二敏感因子,其同样控制着本实施例对像素灰度的敏感度,但是其对像素灰度的敏感度的影响是指数性的,本实施例设置第二敏感因子n的目的是为了消除“累积效应”;

S1.3、根据像素点之间的边权重将图像转化为无向加权图。

本实施例中,可达域根据图像的大小及实际分割需求设置,通常设置为5~20临近可达,本实施例中具体设置为8临近可达,即每个像素点只与其周围临近的8个像素点计算像素点之间的边权重,而与其余像素点的边权重均设置为无穷大。

本实施例中,如果图像为灰度图像则第一敏感因子δ设置为1,如果图像为彩色图像则第一敏感因子δ设置为9,且为了不使距离函数超过计算机运算精度(exp(2552)=∞),第二敏感因子n设置为1。需要说明的是,公式(1)中的“-1”尤为关键,由于exp前者的求值均大于等于1,为了避免“累积效应”,本实施例规定具有相同颜色或者灰度的相邻像素之间的边权重为0,表示他们之间可以自由到达。所谓“累积效应”,在本实施例中是指在本实施例的步骤S3中,当某个未标记的像素点与某个标记点物理距离过远时,由于累积了路径中所有的距离,很可能这个距离大于距离该某个未标记的像素点物理距离近的另一标记点,致使一些偏远的未标记的像素点在步骤S4中被标记错误的标识。因此,本实施例中将距离放大,即根据公式(1)来确定可达域内的像素点之间的权重。

本实施例中的步骤S1解决了从灰度或是彩色图像进行无向加权图建模的问题。此步骤往往为所有图像分割步骤的初始步骤,本实施例与其他图像分割步骤不同的是运用了指数型函数来表示相邻像素间的距离,而非其他图像分割步骤中使用的高斯函数。即越相似的相邻像素距离越近而非可达概率越大。并且,与随机游走算法和图割算法将敏感因子n设置为2不同,本实施例为了不使得距离函数超过计算机运算精度限制,将第二敏感因子n设置为1。

本实施例中,步骤S2中的待分割物体至少为两个,待分割物体可包括前景物体和背景物体。

本实施例中,步骤S2“在图像中的各待分割物体内部分别标记多个像素点作为各待分割物体的标记点,待分割物体的标记点带有待分割物体各自的标识”例如:图像中的待分割物体包括前景物体和背景物体,在前景物体内部标记多个像素点作为前景物体的标记点,前景物体的标记点均带有前景物体的标识A;在背景物体内部标记多个像素点作为背景物体的标记点,背景物体的标记点均带有背景物体的标识B。或者,例如:图像中的待分割物体包括苹果、香蕉和西瓜,在苹果内部标记多个像素点作为苹果的标记点,苹果的标记点均带有苹果的标识C;在香蕉内部标记多个像素点作为苹果的标记点,香蕉的标记点均带有香蕉的标识D;在西瓜内部标记多个像素点作为西瓜的标记点,西瓜的标记点均带有西瓜的标识E。

本实施例中,步骤S2中的标记点可为标记的多个不连续的像素点,也可以为标记的连续线条中的多个连续的像素点。

本实施例中,步骤S2中的在图像中的各待分割物体内部分别标记多个像素点作为各待分割物体的标记点可由用户利用交互式设备(例如鼠标)执行,用户可以以鼠标点击的形式进行标记,也可以按住鼠标左键进行拖拽来标记连续线条。此外,本实施例中用户还可以对多目标同时进行分割作业。

本实施例中,步骤S2可以多次执行,即可以对待分割物体进行多次标记,且可在前一次分割结果的基础上再进行标记,并不仅限于一次。

本实施例中,步骤S3进一步包括如下子步骤:

S3.1、建立与无向加权图等大小且各元素的初始值均为无穷大(inf)的距离矩阵dist,并建立用于存放最终的分割结果且与距离矩阵dist等大小且各元素的初始值均为0的结果矩阵label;

S3.2、将无向加权图中各待分割物体的标记点在距离矩阵dist中的对应位置赋值为0、将无向加权图中各待分割物体的标记点在结果矩阵label中的对应位置赋值为与各待分割物体的标记点各自的标识对应的数值;

S3.3、利用距离更新函数更新各未标记的像素点在距离矩阵dist中的对应位置的赋值,当更新后未标记的像素点在距离矩阵dist中的对应位置的赋值小于其更新前的赋值时,接受更新后未标记的像素点在距离矩阵dist中的对应位置的赋值,并将该未标记的像素点在结果矩阵label中的对应位置的赋值更新为距离更新函数中的边权重wu,u′中的标记点u在结果矩阵label中的对应位置的赋值。

距离更新函数如下:

dist(u′new)=dist(u′)*θ+wu,u′ (2)

公式(2)中,dist(u′)表示未标记的像素点u′在距离矩阵dist中的对应位置的赋值,θ为遗忘因子,wu,u′表示未标记的像素点u′与标记点u之间的边权重,dist(u′new)表示更新后的未标记的像素点u′在距离矩阵dist中的对应位置的赋值。

上述步骤S3.1至步骤S3.3的伪代码如下所示,其中,步骤S3.1对应伪代码为第1-2行,伪代码第3行表示建立用于存放各待分割物体的标记点的且初始状态为空的列表openlist,伪代码第4行表示利用Sall对各待分割物体的标记点进行记录,步骤S3.2对应伪代码第5-9行,其中伪代码第7行表示将各待分割物体的标记点放入列表openlist中,步骤S3.3对应伪代码第10-18行。

本实施例中,步骤S3.2例如:图像中的待分割物体包括前景物体和背景物体,前景物体的标记点均带有前景物体的标识A,背景物体的标记点均带有背景物体的标识B,则将无向加权图中前景物体的标记点和背景物体的标记点在距离矩阵dist中的对应位置均赋值为0、将无向加权图中前景物体的标记点在结果矩阵label中的对应位置赋值为1、将无向加权图中背景物体的标记点在结果矩阵label中的对应位置赋值为2。进而,步骤S3.3例如:未标记的像素点x在距离矩阵dist中的对应位置赋值为初始值无穷大且在结果矩阵label中的对应位置赋值为0,前景物体的标记点y在距离矩阵dist中的对应位置赋值为0且在结果矩阵label中的对应位置赋值为1;在执行步骤S3.3时,利用距离更新函数更新未标记的像素点x在距离矩阵dist中的对应位置的赋值,当利用距离更新函数(公式(2))根据未标记的像素点x与标记点y之间的边权重wx,y计算得到的更新后的未标记的像素点x在距离矩阵dist中的对应位置的赋值dist(xnew)为100(小于其初始值无穷大)时,接收该更新后未标记的像素点x在距离矩阵dist中的对应位置的赋值100,并将未标记的像素点x在结果矩阵label中的对应位置的赋值更新为前景物体的标记点y在结果矩阵label中的对应位置赋值为1,其表明了未标记的像素点x是属于前景物体的。

本实施例中,为尽量避免累计效应引起的错误划分发生,设置一个增长速度极大的指数型函数来增大像素之间灰度差对路径代价的影响。倘若将公式(1)中第二敏感因子n设置为1,假设像素点p与像素点f相差的距离为3个像素位置且每个像素间像素值相差为1,而像素点p与像素点b的距离为1个像素位置且像素值相差为2时,就会引起错误划分:dist距离:e2<3*e1。倘若将第二敏感因子n的取值增加至2,则可将错误划分的距离增加至e2。然而,如果无限增加第二敏感因子n来换取对于这些细微变化的正确划分能力,则很有可能使得算法对于一些变化稍微剧烈的像素失去一定的判断能力,即超出了运算精度范围(e30^2=∞,当像素插值大于等于30时,将失去判断距离的能力)。所以,在距离更新函数中本实施例引入了遗忘因子θ,将现有的Dijkstra算法中距离更新函数变为本实施例中的距离更新函数:

dist(u′new)=dist(u′)*θ+wu,u′ (2)

倘若要彻底消除累积效应,则距离更新函数满足如下公式:

dist(p→f)<dist(p→b) (3)

其中,dist(p→f)代表像素点p至像素点f的距离。若考虑最极端情况,假设像素点p至像素点f有无穷多的像素(c→∞),且像素值差均为1,则dist(p→f)由如下公式确定:

dist(p→f)=θc-1*w+θc-2*w+…+w

其中w表示由公式(1)所确定的图中的单位边权重。为了确保不出现计算结果超出运算精度限制,本实施例规定公式(1)中第二敏感因子n的取值为1,则此时w值为e。最终dist(p→f)值如公式(4)所述。同理,倘若像素点p与像素点b的距离为1,且像素灰度值相差2,则根据公式(1),dist(p→b)为e2

由公式(3)及公式(4)可得遗忘因子因此,若要彻底消除累积效应,则应设定遗忘因子

通过以上分析,本实施例中遗忘因子θ的取值设定为0.5。

本实施例中,步骤S4的具体过程为:

由步骤S3可得到图像中每个未标记的像素点的最近的标记点,以最近的标记点的标识标记各未标记的像素点,从而得到图像中每个像素点的标识,即结果矩阵label,将不同类别的边界像素标记为待分割之边界,即对结果矩阵label中相邻位置标签值不一样的区域进行标记,则分类边界即为这些标记点连成的曲线,完成图像分割目的。

当用户对分类结果不满意时,用户可在现有分类结果的基础上增加标记点,返回步骤S2进行进一步的优化分类,直至分类结果满意为止。

如上所述,本发明通过引入多源最短距离思想于图像分割领域中,并且突出一种高效的多源路径最短距离算法(步骤S3中寻找未标记的像素点的与其距离最近的标记点的方法)来解决此问题,以达到更加快速、准确的图像分割目的。更具体地,本发明首先对待分割图像进行加权图转换,(相对)相邻的像素点间像素差越大,权值越大。之后,将标记点设置于待分割物体之内,与传统的photoshop中设置标记点于待分割物体边缘位置不同,本发明的标记过程更加简洁方便,且与直接设置阈值的标记方法不同,本发明的可控性更强。在具体解决多源路径最短距离问题中,与传统的Floyd及Dijkstra不同,本发明在运行时间上保持与Dijkstra算法一致,并且,与Dijkstra的单源路径规划之目的不同,本发明能够在运行仅仅一次的情况下完成对图中所有未标记点的最短源点的确定工作。由于此种最短距离的引入,相较于随机游走算法,本发明可以有效克服其由于平衡背景、前景差距而导致的图像细节分割效果不佳的问题。本发明在与随机游走算法设置相同种子点的情况下,对于细节及边缘的划分更加。并且,由于多源路径最短距离算法的引入,可以克服图像中噪声的影响。更重要的是,由于遗忘因子θ的引入,本发明中的多源路径最短距离算法对于偏远位置点的像素分类更加准确,合理的θ与公式(1)中n的配合能够在不超越计算机运算精度的同时有效避免累积效应对于偏远像素的错误划分。

在图像分割运行效率上,本发明能够在消耗最小内存的情况下实现更加快速的图像分割目的。经实验证明,对于480*640分辨率的图像而言,本发明的分割时间仅为0.2秒,相较于图割算法的0.47秒及随机游走算法的1.0秒本发明均体现出了效率上的优势。而在系统占用内存方面,本发明仍然优于相较于图割算法和随机游走算法。具体实验结果如表1所示。

表1不同算法在图像分割中的时间及内存消耗

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1