一种图像分割方法、装置、设备及存储介质转让专利

申请号 : CN202310440823.5

文献号 : CN116152274B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 朱闻韬李少杰黄海亮

申请人 : 之江实验室

摘要 :

本说明书公开了一种图像分割方法、装置、设备及存储介质,可以在粗分割后得到的初始分割图像的基础上,根据梯度向量在原始图像中每个像素点上对应的梯度变化,通过路径寻优的方式,对原始图像进行细分割,从而可以提升图像分割的准确率。

权利要求 :

1.一种图像分割方法,其特征在于,所述方法包括:

获取原始图像;

对所述原始图像进行预分割,得到初始分割图像;

根据所述原始图像中每个像素点对应的梯度向量,确定所述原始图像对应的梯度向量场,针对每个像素点,所述梯度向量场能够表征该像素点与该像素点对应的指定像素点在像素值上的梯度变化;

根据在所述初始分割图像中分割出的各图像区域的初始图像边界上的各像素点,确定各目标点;

针对每个目标点,根据所述梯度向量场,确定以该目标点为起始点的分割寻优路径,其中,根据每个目标点在所述初始分割图像中分割出的每个图像区域的初始图像边界上的位置,对所述各目标点进行排序;针对排序后的每个目标点,将该目标点与该目标点的下一个目标点,作为目标点组合,其中,该目标点作为所述目标点组合中的起始点,该目标点的下一个目标点作为所述目标点组合中的终止点;针对每个目标点组合,通过多轮路径查询,确定出从该目标点组合中的起始点到该目标点组合中的终止点之间的分割寻优路径;其中,针对每轮路径查询,确定该轮路径查询中的各候选路径点,并根据所述梯度向量场,从各候选路径点中确定出最优路径点,所述候选路径点是根据所述起始点和在该轮路径查询之前的每轮路径查询确定出的最优路径点确定出的,直到该轮路径查询中的各候选路径点中包含有所述终止点为止,根据各最优路径点,确定出从该目标点组合中的起始点到该目标点组合中的终止点之间的分割寻优路径,其中,根据所述梯度向量场,从各候选路径点中确定出最优路径点,具体包括:根据每个候选路径点到所述终止点之间的位置距离,确定该候选路径点对应的损失值,将所述损失值最小的候选路径点,作为该轮路径查询中确定出的最优路径点;

根据确定出的分割寻优路径,进行图像分割。

2.如权利要求1所述的方法,其特征在于,根据在所述初始分割图像中分割出的各图像区域的初始图像边界上的各像素点,确定各目标点,具体包括:根据在所述初始分割图像中分割出的各图像区域的初始图像边界上的各像素点,确定初始像素点集合;

从所述原始图像中,确定出与所述初始像素点集合中包含的每个像素点相对应的像素点,作为各候选目标点,并确定每个候选目标点的点特征,所述点特征包括:Harris角点特征、Sift特征、Brisk特征、斜率、曲率中的至少一种;

根据所述点特征,从各候选目标点中筛选出各目标点。

3.如权利要求1所述的方法,其特征在于,针对每个目标点,根据所述梯度向量场,确定以该目标点为起始点的分割寻优路径之前,所述方法还包括:将所述初始分割图像中包含的在所述初始分割图像中分割出的各图像区域的初始图像边界上的各像素点,作为各参考像素点;

针对每个参考像素点,将所述初始分割图像中与该参考像素点相邻的其他像素点,作为该参考像素点对应的补充像素点;

针对每个目标点,根据所述梯度向量场,确定以该目标点为起始点的分割寻优路径,具体包括:

根据初始分割图像中包含的各参考像素点以及各补充像素点,确定所述初始分割图像对应的矩阵中每个像素点对应的值;

根据所述初始分割图像对应的矩阵以及所述梯度向量场,确定梯度分割图像;

针对每个目标点,根据所述梯度分割图像,确定以该目标点为起始点的分割寻优路径。

4.如权利要求1所述的方法,其特征在于,根据所述梯度向量场,从各候选路径点中确定出最优路径点,具体包括:根据所述梯度向量场,确定从上一轮路径查询中确定出的最优路径点到每个候选路径点之间的路径对应的损失值,作为该候选路径点对应的损失值,所述上一轮路径查询中确定的最优路径点是将该目标点迭代至上一轮路径查询后确定出的;

将所述损失值最小的候选路径点,作为该轮路径查询中确定出的最优路径点。

5.一种图像分割装置,其特征在于,包括:

获取模块,用于获取原始图像;

预分割模块,用于对所述原始图像进行预分割,得到初始分割图像;

确定模块,用于根据所述原始图像中每个像素点对应的梯度向量,确定所述原始图像对应的梯度向量场,针对每个像素点,所述梯度向量场能够表征该像素点与该像素点对应的指定像素点在像素值上的梯度变化;

筛选模块,用于根据在所述初始分割图像中分割出的各图像区域的初始图像边界上的各像素点,确定各目标点;

路径寻优模块,用于针对每个目标点,根据所述梯度向量场,确定以该目标点为起始点的分割寻优路径,其中,根据每个目标点在所述初始分割图像中分割出的每个图像区域的初始图像边界上的位置,对所述各目标点进行排序;针对排序后的每个目标点,将该目标点与该目标点的下一个目标点,作为目标点组合,其中,该目标点作为所述目标点组合中的起始点,该目标点的下一个目标点作为所述目标点组合中的终止点;针对每个目标点组合,通过多轮路径查询,确定出从该目标点组合中的起始点到该目标点组合中的终止点之间的分割寻优路径;其中,针对每轮路径查询,确定该轮路径查询中的各候选路径点,并根据所述梯度向量场,从各候选路径点中确定出最优路径点,所述候选路径点是根据所述起始点和在该轮路径查询之前的每轮路径查询确定出的最优路径点确定出的,直到该轮路径查询中的各候选路径点中包含有所述终止点为止,根据各最优路径点,确定出从该目标点组合中的起始点到该目标点组合中的终止点之间的分割寻优路径,其中,根据所述梯度向量场,从各候选路径点中确定出最优路径点,具体包括:根据每个候选路径点到所述终止点之间的位置距离,确定该候选路径点对应的损失值,将所述损失值最小的候选路径点,作为该轮路径查询中确定出的最优路径点;

分割模块,用于根据确定出的分割寻优路径,进行图像分割。

6.如权利要求5所述的装置,其特征在于,所述筛选模块具体用于,根据在所述初始分割图像中分割出的各图像区域的初始图像边界上的各像素点,确定初始像素点集合;从所述原始图像中,确定出与所述初始像素点集合中包含的每个像素点相对应的像素点,作为各候选目标点,并确定每个候选目标点的点特征,所述点特征包括:Harris角点特征、Sift特征、Brisk特征、斜率、曲率中的至少一种;根据所述点特征,从各候选目标点中筛选出各目标点。

7.如权利要求5所述的装置,其特征在于,所述路径寻优模块具体用于,将所述初始分割图像中包含的在所述初始分割图像中分割出的各图像区域的初始图像边界上的各像素点,作为各参考像素点;针对每个参考像素点,将所述初始分割图像中与该参考像素点相邻的其他像素点,作为该参考像素点对应的补充像素点;根据初始分割图像中包含的各参考像素点以及各补充像素点,确定所述初始分割图像对应的矩阵中每个像素点对应的值;根据所述初始分割图像对应的矩阵以及所述梯度向量场,确定梯度分割图像;针对每个目标点,根据所述梯度分割图像,确定以该目标点为起始点的分割寻优路径。

8.如权利要求5所述的装置,其特征在于,所述路径寻优模块具体用于,根据所述梯度向量场,确定从上一轮路径查询中确定出的最优路径点到每个候选路径点之间的路径对应的损失值,作为该候选路径点对应的损失值,所述上一轮路径查询中确定的最优路径点是将该目标点迭代至上一轮路径查询后确定出的;将所述损失值最小的候选路径点,作为该轮路径查询中确定出的最优路径点。

9.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1 4任一项所述的方法。

~

10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1 4任一项所述的方~法。

说明书 :

一种图像分割方法、装置、设备及存储介质

技术领域

[0001] 本说明书涉及图像处理技术领域,尤其涉及一种图像分割方法、装置、设备及存储介质。

背景技术

[0002] 随着人工智能技术的发展,图像分割操作逐渐的受到了广泛的关注,并成为图像处理领域的一个重要的分支,其中,图像分割操作是把图像按照某种特征划分为一些没有互相重叠的区域,并提取出感兴趣的目标区域的操作。
[0003] 目前,常用的分割方法都存在过分割和欠分割的问题,从而使得图像分割的效果较差,进而使得图像分割的结果不能直接被应用于图像识别等后续任务中。
[0004] 因此,如何能够提升图像分割的准确率,则是一个亟待解决的问题。

发明内容

[0005] 本说明书提供一种图像分割方法、装置、设备及存储介质,以部分的解决现有技术存在的上述问题。
[0006] 本说明书采用下述技术方案:
[0007] 本说明书提供了一种图像分割方法,所述方法包括:
[0008] 获取原始图像;
[0009] 对所述原始图像进行预分割,得到初始分割图像;
[0010] 根据所述原始图像中每个像素点对应的梯度向量,确定所述原始图像对应的梯度向量场,针对每个像素点,所述梯度向量场能够表征该像素点与该像素点对应的指定像素点在像素值上的梯度变化;
[0011] 根据在所述初始分割图像中分割出的各图像区域的初始图像边界上的各像素点,确定各目标点;
[0012] 针对每个目标点,根据所述梯度向量场,确定以该目标点为起始点的分割寻优路径;
[0013] 根据确定出的分割寻优路径,进行图像分割。
[0014] 可选地,根据在所述初始分割图像中分割出的各图像区域的初始图像边界上的各像素点,确定各目标点,具体包括:
[0015] 根据在所述初始分割图像中分割出的各图像区域的初始图像边界上的各像素点,确定初始像素点集合;
[0016] 从所述原始图像中,确定出与所述初始像素点集合中包含的每个像素点相对应的像素点,作为各候选目标点,并确定每个候选目标点的点特征,所述点特征包括:Harris角点特征、Sift特征、Brisk特征、斜率、曲率中的至少一种;
[0017] 根据所述点特征,从各候选目标点中筛选出各目标点。
[0018] 可选地,针对每个目标点,根据所述梯度向量场,确定以该目标点为起始点的分割寻优路径之前,所述方法还包括:
[0019] 将所述初始分割图像中包含的在所述初始分割图像中分割出的各图像区域的初始图像边界上的各像素点,作为各参考像素点;
[0020] 针对每个参考像素点,将所述初始分割图像中与该参考像素点相邻的其他像素点,作为该参考像素点对应的补充像素点;
[0021] 针对每个目标点,根据所述梯度向量场,确定以该目标点为起始点的分割寻优路径,具体包括:
[0022] 根据初始分割图像中包含的各参考像素点以及各补充像素点,确定所述初始分割图像对应的矩阵中每个像素点对应的值;
[0023] 根据所述初始分割图像对应的矩阵以及所述梯度向量场,确定梯度分割图像;
[0024] 针对每个目标点,根据所述梯度分割图像,确定以该目标点为起始点的分割寻优路径。
[0025] 可选地,针对每个目标点,根据所述梯度向量场,确定以该目标点为起始点的分割寻优路径,具体包括:
[0026] 根据每个目标点在所述初始分割图像中分割出的每个图像区域的初始图像边界上的位置,对所述各目标点进行排序;
[0027] 针对排序后的每个目标点,将该目标点与该目标点的下一个目标点,作为目标点组合,其中,该目标点作为所述目标点组合中的起始点,该目标点的下一个目标点作为所述目标点组合中的终止点;
[0028] 针对每个目标点组合,并根据所述梯度向量场,确定出从该目标点组合中的起始点到该目标点组合中的终止点之间的分割寻优路径,作为该目标点组合对应的分割寻优路径。
[0029] 可选地,根据所述梯度向量场,确定出从该目标点组合中的起始点到该目标点组合中的终止点之间的分割寻优路径,具体包括:
[0030] 通过多轮路径查询,确定出从该目标点组合中的起始点到该目标点组合中的终止点之间的分割寻优路径;其中
[0031] 针对每轮路径查询,确定该轮路径查询中的各候选路径点,并根据所述梯度向量场,从各候选路径点中确定出最优路径点,所述候选路径点是根据所述起始点和在该轮路径查询之前的每轮路径查询确定出的最优路径点确定出的;
[0032] 直到该轮路径查询中的各候选路径点中包含有所述终止点为止,根据各最优路径点,确定出从该目标点组合中的起始点到该目标点组合中的终止点之间的分割寻优路径。
[0033] 可选地,根据所述梯度向量场,从各候选路径点中确定出最优路径点,具体包括:
[0034] 根据所述梯度向量场,确定从上一轮路径查询中确定出的最优路径点到每个候选路径点之间的路径对应的损失值,作为该候选路径点对应的损失值,所述上一轮路径查询中确定的最优路径点是将该目标点迭代至上一轮路径查询后确定出的;
[0035] 将所述损失值最小的候选路径点,作为该轮路径查询中确定出的最优路径点。
[0036] 可选地,根据所述梯度向量场,从各候选路径点中确定出最优路径点,具体包括:
[0037] 根据每个候选路径点到所述终止点之间的位置距离,确定该候选路径点对应的损失值;
[0038] 将所述损失值最小的候选路径点,作为该轮路径查询中确定出的最优路径点。
[0039] 本说明书提供了一种图像分割装置,包括:
[0040] 获取模块,用于获取原始图像;
[0041] 预分割模块,用于对所述原始图像进行预分割,得到初始分割图像;
[0042] 确定模块,用于根据所述原始图像中每个像素点对应的梯度向量,确定所述原始图像对应的梯度向量场,针对每个像素点,所述梯度向量场能够表征该像素点与该像素点对应的指定像素点在像素值上的梯度变化;
[0043] 筛选模块,用于根据在所述初始分割图像中分割出的各图像区域的初始图像边界上的各像素点,确定各目标点;
[0044] 路径寻优模块,用于针对每个目标点,根据所述梯度向量场,确定以该目标点为起始点的分割寻优路径;
[0045] 分割模块,用于根据确定出的分割寻优路径,进行图像分割。
[0046] 可选地,所述筛选模块具体用于,根据在所述初始分割图像中分割出的各图像区域的初始图像边界上的各像素点,确定初始像素点集合;从所述原始图像中,确定出与所述初始像素点集合中包含的每个像素点相对应的像素点,作为各候选目标点,并确定每个候选目标点的点特征,所述点特征包括:Harris角点特征、Sift特征、Brisk特征、斜率、曲率中的至少一种;根据所述点特征,从各候选目标点中筛选出各目标点。
[0047] 可选地,所述路径寻优模块具体用于,将所述初始分割图像中包含的在所述初始分割图像中分割出的各图像区域的初始图像边界上的各像素点,作为各参考像素点;针对每个参考像素点,将所述初始分割图像中与该参考像素点相邻的其他像素点,作为该参考像素点对应的补充像素点;根据初始分割图像中包含的各参考像素点以及各补充像素点,确定所述初始分割图像对应的矩阵中每个像素点对应的值;根据所述初始分割图像对应的矩阵以及所述梯度向量场,确定梯度分割图像;针对每个目标点,根据所述梯度分割图像,确定以该目标点为起始点的分割寻优路径。
[0048] 可选地,所述路径寻优模块具体用于,根据每个目标点在所述初始分割图像中分割出的每个图像区域的初始图像边界上的位置,对所述各目标点进行排序;针对排序后的每个目标点,将该目标点与该目标点的下一个目标点,作为目标点组合,其中,该目标点作为所述目标点组合中的起始点,该目标点的下一个目标点作为所述目标点组合中的终止点;针对每个目标点组合,并根据所述梯度向量场,确定出从该目标点组合中的起始点到该目标点组合中的终止点之间的分割寻优路径,作为该目标点组合对应的分割寻优路径。
[0049] 可选地,所述路径寻优模块具体用于,通过多轮路径查询,确定出从该目标点组合中的起始点到该目标点组合中的终止点之间的分割寻优路径;其中针对每轮路径查询,确定该轮路径查询中的各候选路径点,并根据所述梯度向量场,从各候选路径点中确定出最优路径点,所述候选路径点是根据所述起始点和在该轮路径查询之前的每轮路径查询确定出的最优路径点确定出的;直到该轮路径查询中的各候选路径点中包含有所述终止点为止,根据各最优路径点,确定出从该目标点组合中的起始点到该目标点组合中的终止点之间的分割寻优路径。
[0050] 可选地,所述路径寻优模块具体用于,根据所述梯度向量场,确定从上一轮路径查询中确定出的最优路径点到每个候选路径点之间的路径对应的损失值,作为该候选路径点对应的损失值,所述上一轮路径查询中确定的最优路径点是将该目标点迭代至上一轮路径查询后确定出的;将所述损失值最小的候选路径点,作为该轮路径查询中确定出的最优路径点。
[0051] 可选地,所述路径寻优模块具体用于,根据每个候选路径点到所述终止点之间的位置距离,确定该候选路径点对应的损失值;将所述损失值最小的候选路径点,作为该轮路径查询中确定出的最优路径点。
[0052] 本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述图像分割方法。
[0053] 本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述图像分割方法。
[0054] 本说明书采用的上述至少一个技术方案能够达到以下有益效果:
[0055] 在本说明书提供的图像分割方法,首先获取原始图像,对所述原始图像进行预分割,得到初始分割图像,根据所述原始图像中每个像素点对应的梯度向量,确定所述原始图像对应的梯度向量场,针对每个像素点,所述梯度向量场能够表征该像素点与该像素点对应的指定像素点在像素值上的梯度变化,根据在所述初始分割图像中分割出的各图像区域的初始图像边界上的各像素点,确定各目标点,针对每个目标点,根据所述梯度向量场,确定以该目标点为起始点的分割寻优路径,根据确定出的分割寻优路径,进行图像分割。
[0056] 从上述方法中可以看出,可以在粗分割后得到的初始分割图像的基础上,根据梯度向量在原始图像中每个像素点上对应的梯度变化,通过路径寻优的方式,对原始图像进行细分割,从而可以提升图像分割的准确率。

附图说明

[0057] 此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
[0058] 图1为本说明书中提供的一种图像分割方法的流程示意图;
[0059] 图2为本说明书中提供的直方图均衡化方法的示意图;
[0060] 图3为本说明书中提供的对原始图像进行分割的过程示意图;
[0061] 图4为本说明书提供的一种图像分割装置的示意图;
[0062] 图5为本说明书提供的一种对应于图1的电子设备的示意图。

具体实施方式

[0063] 为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
[0064] 以下结合附图,详细说明本说明书各实施例提供的技术方案。
[0065] 图1为本说明书中提供的一种图像分割方法的流程示意图,包括以下步骤:
[0066] S101:获取原始图像。
[0067] S102:对所述原始图像进行预分割,得到初始分割图像。
[0068] 在本说明书中,用于实现图像分割方法的执行主体,可以是指诸如服务器、电脑、手机等定设备,也可以是指诸如无人车、无人机等无人设备,为了便于描述,下面仅以服务器是执行主体为例,对本说明书提供的图像分割方法进行说明。
[0069] 在本说明书中,服务器可以基于初始分割图像的分割结果,对原始图像进行细分割,而在此之前,服务器可以先获取原始图像,并对获取到的原始图像进行预分割(即,粗分割),得到初始分割图像,这里初始分割图像和原始图像是同等大小的图像。
[0070] 其中,初始分割图像可以是通过诸如:阈值分割法、边缘检测分割法、区域生长和分裂合并分割法、聚类分割法、分水岭分割法、图切分割法、基于活动轮廓模型的分割法、深度学习分割法等分割法获取到的粗分割图像。
[0071] 另外,在实际应用场景中,由于服务器获取到的原始图像中的对比度较低,从而导致原始图像中的轮廓边界不明显,所以,服务器还可以对获取到的原始图像进行图像增强,得到增强后的原始图像。
[0072] 其中,服务器对原始图像进行图像增强的方法可以是直方图均衡化方法,具体地,服务器可以获取原始图像中每个像素点对应的像素值分布,通过预设的直方图均衡化算法,将原始图像中每个像素点对应的像素值分布进行均衡化处理,如图2所示。
[0073] 图2为本说明书中提供的直方图均衡化方法的示意图。
[0074] 在图2中,左侧的直方图为原始图像中每个像素点对应的像素值(即:0 255)分布,~即,每个像素值在原始图像包含的各像素点中对应的像素点的数量,例如:假设在原始图像中包含有像素值为120的像素点的数量为5000个,从左侧的直方图中可以看出原始图像中的像素点的像素值大多为100 180之间,从而使得原始图像的对比度不高,即,原始图像中~
的各图像区域之间的区别不明显,右侧的直方图为增强后的原始图像中每个像素点对应的像素值分布,从右侧的直方图中可以看出,服务器可以通过直方图均衡化算法,对原始图像中的至少部分像素点对应的像素值进行调整,以使原始图像中的像素点对应的像素值尽可能地均匀分布在0 255之间,从而可以增加图像对比度和清晰度。
~
[0075] S103:根据所述原始图像中每个像素点对应的梯度向量,确定所述原始图像对应的梯度向量场,针对每个像素点,所述梯度向量场能够表征该像素点与该像素点对应的指定像素点在像素值上的梯度变化。
[0076] 进一步地,服务器可以根据原始图像中每个像素点对应的梯度向量,确定出原始图像对应的梯度向量场,其中,针对每个像素点,梯度向量场能够表征该像素点与该像素点对应的指定像素点在像素值上的梯度变化,这里的指定像素点可以是指该像素点周围的邻居像素点。
[0077] 需要说明的是,由于在原始图像中,越靠近图像边界的像素点对应的梯度向量的梯度变化越大(由于图像边界上的像素点的像素值与相邻的像素点的像素值可能完全不同,从而导致在图像边界上的像素点对应的梯度向量的梯度变化较大),而在图像的平滑区域的像素点对应的梯度向量的梯度变化接近于零,这里的梯度变化可以根据梯度向量的幅度值确定,梯度向量在一个像素点上对应的幅度值越大,则说明梯度向量在这个像素点上对应的梯度变化越大。
[0078] 其中,服务器确定梯度向量场的方法可以是通过最小化能量函数确定出梯度向量场,具体可以参考如下公式:
[0079]
[0080] 在上述公式中, 为平滑项,它可以使得原始图像的梯度向量对应的向量场缓慢变化, 为数据项,它使得原始图像的梯度向量对应的向量场尽量的接近从图像数据中计算得到的 。如果 很小,则能量主要由平滑项控制,
可以使得原始图像的梯度向量对应的向量场中梯度向量的变化较为平缓。当 很大时则能量主要由数据项控制,可以使得整体能量最小应取 。
[0081] 基于此,可以将上述的最小化能量函数转换为下述欧拉方程:
[0082]
[0083] 在上述方程中, 为拉普拉斯Laplace算子,进而可以通过变分迭代对上述欧拉方程进行求解,从而可以计算出原始图像的梯度向量场。
[0084] S104:根据在所述初始分割图像中分割出的各图像区域的初始图像边界上的各像素点,确定各目标点。
[0085] 在本说明书中,服务器可以根据在初始分割图像中分割出的各图像区域的初始图像边界上的各像素点,确定初始像素点集合,进而可以从原始图像中,确定出与初始像素点集合中包含的每个像素点相对应的像素点,作为各候选目标点,并确定每个候选目标点的点特征,根据点特征,从各候选目标点中筛选出各目标点,其中,这里的点特征包括:Harris角点特征、Sift特征、Brisk特征、斜率、曲率中的至少一种。
[0086] 其中,服务器根据每个候选目标点的点特征,从各候选目标点中筛选出各目标点的方法可以是,针对各候选目标点,判断该候选目标点的各点特征是否满足预设条件值,这里的条件值可以是例如:斜率满足预设阈值、曲率满足预设阈值等。
[0087] 需要说明的是,初始分割图像可以为二值化图像,即初始分割图像以矩阵的形式存在,在初始分割图像对应的矩阵中,属于目标区域的像素点对应的值为1,不属于目标区域的像素点对应的值为0,因此,在上述内容中,在筛选目标点时,可以通过指定算法,确定出初始分割图像中包含的组成图像边界的各像素点对应的坐标值,进而可以从原始图像中,确定出与初始分割图像中包含的组成图像边界的各像素点对应的坐标值相对应的各像素点,这里的指定算法可以是OpenCV轮廓查找算法。
[0088] S105:针对每个目标点,根据所述梯度向量场,确定以该目标点为起始点的分割寻优路径。
[0089] 服务器在针对每个目标点,根据梯度向量场,确定以该目标点为起始点的分割寻优路径之前,服务器还可以将初始分割图像中包含的在初始分割图像中分割出的各图像区域的初始图像边界上的各像素点,作为各参考像素点,针对每个参考像素点,将初始分割图像中与该参考像素点相邻的其他像素点,作为该参考像素点对应的补充像素点。
[0090] 进一步地,服务器可以根据初始分割图像中包含的各参考像素点以及各补充像素点,确定初始分割图像对应的矩阵中每个像素点对应的值,并根据初始分割图像对应的矩阵以及梯度向量场,确定梯度分割图像,进而可以针对每个目标点,根据梯度分割图像,确定以该目标点为起始点的分割寻优路径。
[0091] 在本说明书中,与一个像素点相邻的像素点可以是指处于该像素点的指定领域内的像素点,这里的指定领域可以是指八邻域、十六邻域。
[0092] 上述的八邻域的像素点可以是指该像素点的左边相邻的像素点,右边相邻的像素点、下边相邻的像素点、上方相邻的像素点,左上方相邻的像素点、右上方相邻的像素点,左下方相邻的像素点、右下方相邻的像素点这八个像素点。
[0093] 进一步地,服务器可以根据参考像素点以及各补充像素点,对初始分割图像对应的矩阵中每个像素点对应的值进行调整,这里的调整可以是将参考像素点以及各补充像素点对应的值调整为1,将其他像素点对应的值调整为255。
[0094] 进一步地,服务器可以根据初始分割图像对应的矩阵以及梯度向量场,确定梯度分割图像,并针对每个目标点,根据梯度分割图像,确定以该目标点为起始点的分割寻优路径。
[0095] 其中,梯度分割图像是将初始分割图像中每个像素点,通过将初始分割图像对应的矩阵中该像素点对应的值,与该像素点在梯度向量场中对应的幅度值相乘,得到梯度分割图像。
[0096] 上述内容中,之所以确定梯度分割图像,是因为在后续确定分割寻优路径时,可以通过计算每个像素点对应的损失值,来确定分割寻优路径,此时,由于在初始分割图像对应的矩阵中,将各参考像素点和各补充像素点在初始分割图像对应的矩阵中的值调整为1了,因此,在相乘时,不会对各参考像素点和各补充像素点在梯度分割图像中的值,即为各参考像素点和各补充像素点在梯度向量场中对应的幅度值,而其他像素点在初始分割图像对应的矩阵中的值调整为255,此时,其他像素点在梯度分割图像中的值,即为其他像素点在梯度向量场中对应的幅度值的255倍,在后续进行损失值计算时,每个像素点在在梯度分割图像中对应的值越大,损失越大,进而会将上述的其他像素点从分割寻优路径中排除。
[0097] 进一步地,服务器在确定出梯度分割图像后,可以根据每个目标点在所述初始分割图像中分割出的每个图像区域的初始图像边界上的位置,对所述各目标点进行排序,这里的排序方法可以根据实际需求设定,例如:可以是按照在初始分割图像中按照每个图像区域的初始图像边界的顺时针的方向进行排序的,假设图像区域为人的肖像,则可以按照从属于肖像的头顶区域边界的目标点开始,依次按照肖像的左脸区域边界对应的像素点,肖像左边脖子区域边界对应的像素点,肖像左肩区域边界对应的像素点,……,直到回到肖像的头顶区域边界的顺序,对各目标点进行排序。
[0098] 进一步地,服务器在将各目标点进行排序后,可以针对排序后的每个目标点,将该目标点与该目标点的下一个目标点,作为目标点组合,其中,该目标点作为目标点组合中的起始点,该目标点的下一个目标点作为目标点组合中的终止点,针对每个目标点组合,并根据梯度向量场,确定出从该目标点组合中的起始点到该目标点组合中的终止点之间的分割寻优路径,作为该目标点组合对应的分割寻优路径。
[0099] 例如:假设存在五个目标点,分别为A、B、C、D、E,则可以得到(A,B),(B,C),(C,D),(D,E),(E,A)5个目标点组合,其中,以第一个目标点组合(A,B)为例,这里的目标点A即为该目标点组合中的起始点,这里的目标点B即为该目标点组合中的终止点,进而可以通过路径查询算法,确定出从目标点A到目标点B之间得到分割寻优路径,作为该目标点组合对应的分割寻优路径,进而可以根据各目标点组合对应的分割寻优路径,对原始图像进行分割。
[0100] 进一步地,服务器可以针对每个目标点组合,并根据梯度分割图像,确定出从该目标点组合中的起始点到该目标点组合中的终止点之间的分割寻优路径,作为该目标点组合对应的分割寻优路径。
[0101] 其中,服务器可以针对每个目标点,通过多轮路径查询,确定出从该目标点(即起始点)到下一目标点(即终止点)之间的分割寻优路径。
[0102] 具体地,服务器可以针对每轮路径查询,确定该轮路径查询中的父路径点以及该轮路径查询中的各候选路径点,判断各候选路径点中是否包含有终止点,若否,则根据梯度分割图像,确定父路径点到每个候选路径点之间的路径对应的损失值,作为该候选路径点对应的损失值,将对应的损失值最小的候选路径点,作为该轮路径查询中确定出的最优路径点。
[0103] 其中,第一轮路径查询中父路径点可以是起始点,其他轮路径查询中的父路径点可以是上一轮路径查询中确定出的最优路径点。
[0104] 服务器可以在每轮路径查询中,将该轮路径查询中的父路径点的邻域像素点,添加到候选路径点集合中,进而可以将得到的候选路径点集合中包含的各候选路径点,作为该轮路径查询中的各候选路径点,除此之外,服务器可以将每轮路径查询中确定出的最优路径点之后,将该轮路径查询中确定出的最优路径点从候选路径点集合中移除。
[0105] 上述内容中,服务器针对每个候选路径点,确定该候选路径点对应的损失值的方法可以是,根据该候选路径点在梯度分割图像中对应的值,以及根据该候选路径点到终止点之间的位置距离中的至少一个来确定的。
[0106] 优选地,服务器可以同时根据该候选路径点在梯度分割图像中对应的值,以及根据该候选路径点到终止点之间的位置距离确定该候选路径点对应的损失值,具体可以参考如下公式:
[0107]
[0108] 上述公式中, 为该候选路径点对应的损失值, 为该候选路径点在梯度分割图像中对应的值, 为该候选路径点到终止点之间的位置距离,w为权值。
[0109] 其中,该候选路径点到终止点之间的位置距离的计算方法可以是将服路径点通过纵向、横向向终止点移动所需要移动的距离,例如:可以将这里的横向、纵向每移动一个像素点,距离记为1,对角线方向距离记为1.4。
[0110] 进一步地,若服务器确定在该轮查询中确定的各候选路径点中包含有终止点,则可以根据起始点和终止点以及每轮路径查询中确定出的最优路径点,确定出起始点和终止点之间的分割寻优路径,作为该目标点组合对应的分割寻优路径。
[0111] S106:根据各分割寻优路径,进行图像分割。
[0112] 在本说明书中,服务器可以根据各目标点组合对应的分割寻优路径,确定出分割曲线,进而可以根据确定出的各分割曲线,对图像进行分割。
[0113] 其中,服务器可以对得到的各目标点组合对应的分割寻优路径进行平滑处理,以得到一条闭合的曲线,进而可以将该曲线作为确定出的对图像进行分割的分割曲线。
[0114] 上述的图像分割可以是指,基于分割曲线对原始图像进行分割,也可以是指基于分割区域对初始分割图像进行进一步的细分割。
[0115] 为了进一步地对上述内容进行详细说明,以下结合图3,对通过上述的图像分割方法对原始图像进行分割的流程进行说明,具体如图3所示。
[0116] 图3为本说明书中提供的对原始图像进行分割的过程示意图。
[0117] 在图3中,服务器在获取到原始图像以及原始图像对应的初始分割图像后,可以对原始图像进行增强,得到增强后的原始图像,并可以确定出增强后的原始图像对应的梯度向量场,以及从初始分割图像中确定出初始分割图像中包含的各参考像素点以及各补充像素点。
[0118] 进一步地,服务器可以对增强后的原始图像以及初始分割图像中包含的像素点进行筛选,以确定出各目标点,进而可以根据确定出的增强后的原始图像对应的梯度向量场,以及从初始分割图像中确定出初始分割图像中包含的各参考像素点以及各补充像素点,确定出优化后的梯度向量场,进而可以确定出所有相邻的两个目标点之间的分割寻优路径,从而可以根据确定出的各分割寻优路径,进行图像分割。
[0119] 从上述内容中可以看出,服务器可以在粗分割后得到的初始分割图像的基础上,根据梯度向量在原始图像中每个像素点上对应的梯度变化,通过路径寻优的方式,对原始图像进行细分割,从而可以提升图像分割的准确率。
[0120] 以上为本说明书的一个或多个实施例提供的图像分割方法,基于同样的思路,本说明书还提供了相应的图像分割装置,如图4所示。
[0121] 图4为本说明书提供的一种图像分割装置的示意图,包括:
[0122] 获取模块401,用于获取原始图像;
[0123] 预分割模块402,用于对所述原始图像进行预分割,得到初始分割图像;
[0124] 确定模块403,用于根据所述原始图像中每个像素点对应的梯度向量,确定所述原始图像对应的梯度向量场,针对每个像素点,所述梯度向量场能够表征该像素点与该像素点对应的指定像素点在像素值上的梯度变化;
[0125] 筛选模块404,用于根据在所述初始分割图像中分割出的各图像区域的初始图像边界上的各像素点,确定各目标点;
[0126] 路径寻优模块405,用于针对每个目标点,根据所述梯度向量场,确定以该目标点为起始点的分割寻优路径;
[0127] 分割模块406,用于根据确定出的分割寻优路径,进行图像分割。
[0128] 可选地,所述筛选模块404具体用于,根据在所述初始分割图像中分割出的各图像区域的初始图像边界上的各像素点,确定初始像素点集合;从所述原始图像中,确定出与所述初始像素点集合中包含的每个像素点相对应的像素点,作为各候选目标点,并确定每个候选目标点的点特征,所述点特征包括:Harris角点特征、Sift特征、Brisk特征、斜率、曲率中的至少一种;根据所述点特征,从各候选目标点中筛选出各目标点。
[0129] 可选地,所述路径寻优模块405具体用于,将所述初始分割图像中包含的在所述初始分割图像中分割出的各图像区域的初始图像边界上的各像素点,作为各参考像素点;针对每个参考像素点,将所述初始分割图像中与该参考像素点相邻的其他像素点,作为该参考像素点对应的补充像素点;根据初始分割图像中包含的各参考像素点以及各补充像素点,确定所述初始分割图像对应的矩阵中每个像素点对应的值;根据所述初始分割图像对应的矩阵以及所述梯度向量场,确定梯度分割图像;针对每个目标点,根据所述梯度分割图像,确定以该目标点为起始点的分割寻优路径。
[0130] 可选地,所述路径寻优模块405具体用于,根据每个目标点在所述初始分割图像中分割出的每个图像区域的初始图像边界上的位置,对所述各目标点进行排序;针对排序后的每个目标点,将该目标点与该目标点的下一个目标点,作为目标点组合,其中,该目标点作为所述目标点组合中的起始点,该目标点的下一个目标点作为所述目标点组合中的终止点;针对每个目标点组合,并根据所述梯度向量场,确定出从该目标点组合中的起始点到该目标点组合中的终止点之间的分割寻优路径,作为该目标点组合对应的分割寻优路径。
[0131] 可选地,所述路径寻优模块405具体用于,通过多轮路径查询,确定出从该目标点组合中的起始点到该目标点组合中的终止点之间的分割寻优路径;其中针对每轮路径查询,确定该轮路径查询中的各候选路径点,并根据所述梯度向量场,从各候选路径点中确定出最优路径点,所述候选路径点是根据所述起始点和在该轮路径查询之前的每轮路径查询确定出的最优路径点确定出的;直到该轮路径查询中的各候选路径点中包含有所述终止点为止,根据各最优路径点,确定出从该目标点组合中的起始点到该目标点组合中的终止点之间的分割寻优路径。
[0132] 可选地,所述路径寻优模块405具体用于,根据所述梯度向量场,确定从上一轮路径查询中确定出的最优路径点到每个候选路径点之间的路径对应的损失值,作为该候选路径点对应的损失值,所述上一轮路径查询中确定的最优路径点是将该目标点迭代至上一轮路径查询后确定出的;将所述损失值最小的候选路径点,作为该轮路径查询中确定出的最优路径点。
[0133] 可选地,所述路径寻优模块405具体用于,根据每个候选路径点到所述终止点之间的位置距离,确定该候选路径点对应的损失值;将所述损失值最小的候选路径点,作为该轮路径查询中确定出的最优路径点。
[0134] 本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的一种的方法。
[0135] 本说明书还提供了图5所示的一种对应于图1的电子设备的示意结构图。如图5所示,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的方法。
[0136] 当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
[0137] 在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device, PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言
(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very‑High‑Speed Integrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
[0138] 控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0139] 上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
[0140] 为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0141] 本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0142] 本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0143] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0144] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0145] 在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0146] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0147] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD‑ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0148] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0149] 本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0150] 本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0151] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0152] 以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。