CN112288764A - 图像分割方法、装置、设备及存储介质 - Google Patents
图像分割方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112288764A CN112288764A CN202010139053.7A CN202010139053A CN112288764A CN 112288764 A CN112288764 A CN 112288764A CN 202010139053 A CN202010139053 A CN 202010139053A CN 112288764 A CN112288764 A CN 112288764A
- Authority
- CN
- China
- Prior art keywords
- path
- gradient
- point
- growth
- edge
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000003709 image segmentation Methods 0.000 title claims abstract description 44
- 238000012545 processing Methods 0.000 claims abstract description 28
- 230000006870 function Effects 0.000 claims description 259
- 230000011218 segmentation Effects 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 230000001174 ascending effect Effects 0.000 claims description 4
- 238000005452 bending Methods 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 238000012549 training Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000003672 processing method Methods 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000000630 rising effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/181—Segmentation; Edge detection involving edge growing; involving edge linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/194—Segmentation; Edge detection involving foreground-background segmentation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本公开提供一种图像分割方法、装置、设备及存储介质,涉及图像处理技术领域。该方法包括:获得图像的梯度点集,所述梯度点集包括多个表示所述图像中像素点的灰度变化的梯度点;将所述梯度点集分成多个梯度点子集,所述多个梯度点子集包括第一梯度点子集和第二梯度点子集,其中,所述第一梯度点子集中的梯度点的梯度值大于所述第二梯度点子集中的梯度点的梯度值;根据所述第一梯度点子集生成第一边缘路径;根据所述第二梯度点子集和所述第一边缘路径生成第二边缘路径;对所述第二边缘路径进行处理获得封闭边缘以分割所述图像。该方法实现了在不需训练样本集情况下对图像进行分割,可保证梯度值高的边界点优先生成边缘路径。
Description
技术领域
本公开涉及图像处理技术领域,具体而言,涉及一种图像分割方法、装置、设备及可读存储介质。
背景技术
图像分割技术是计算机视觉的基础,是图像分析的重要组成部分,同时也是图像处理中最困难的问题之一。图像分割是指根据灰度、彩色、空间纹理、几何形状等特征把图像划分成若干个互不相交的区域,使得这些特征在同一区域内表现出一致性或相似性,而在不同区域间表现出明显的不同。通过图像分割可在一副图像中把目标从背景中分离出来。图像分割技术应用广泛,例如在电商网络店铺的页面智能装修过程中,需要从库存量单位(Stock Keeping Unit,缩写为SKU)图片中分割出目标(商品图)与店铺模板页面进行合图。
在一些相关技术中,采用例如深度学习的机器学习的方法进行图像分割,但SKU图片目标种类繁多,样本集难以通过搜集获得,导致难以通过机器学习方法学习目标的特征。
在另一些相关技术中,例如阀值分割法,基本原理是通过设定不同的特征阀值,把图像像素点分为具有不同灰度级的目标区域和背景区域的若干类,适用于目标和背景占据不同灰度级范围的图。但该方法是基于图像的色彩特征进行分割,没有考虑结构图形特征,因此对噪声比较敏感,容易导致局部分割错误等问题。
在另一些相关技术中,例如基于图像显著性的分割方法,此种方法依赖三分图从图形中分割出感兴趣目标。通常三分图包含了标注为白色的前景(目标)部分、标注为黑色背景部分和标注为灰色的不确定部分。然而在需要对大量的图片进行分割时,如SKU图片,不能全都提供三分图,导致此种方法的适应性较差。
如上所述,如何提供适用大量、多种类目标的图像分割方法成为亟待解决的问题。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种图像分割方法、装置、设备及可读存储介质,至少在一定程度上克服由于相关技术难以搜集多种类目标图片样本集的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一方面,提供一种图像分割方法,包括:获得图像的梯度点集,所述梯度点集包括多个表示所述图像中像素点的灰度变化的梯度点;将所述梯度点集分成多个梯度点子集,所述多个梯度点子集包括第一梯度点子集和第二梯度点子集,其中,所述第一梯度点子集中的梯度点的梯度值大于所述第二梯度点子集中的梯度点的梯度值;根据所述第一梯度点子集生成第一边缘路径;根据所述第二梯度点子集和所述第一边缘路径生成第二边缘路径;对所述第二边缘路径进行处理获得封闭边缘以分割所述图像。
根据本公开的一实施例,所述根据所述第一梯度点子集生成第一边缘路径包括:获得所述第一梯度点子集中的第一初始梯度点和第一生长梯度点,其中,所述第一生长梯度点与所述第一初始梯度点之间的距离不大于第一预设值;根据所述第一初始梯度点和所述第一生长梯度点获得第一边缘生长函数,其中,所述第一边缘生长函数为以所述第一初始梯度点为基准点的边缘生长函数,所述边缘生长函数为表示梯度值随所述图像上的点的坐标变化的连续可导函数,所述坐标包括角度分量和步长分量;根据所述第一边缘生长函数获得第一生长点,其中,所述第一生长点为在步长分量为第二预设值的情况下所述第一边缘生长函数的函数值最大的点,所述第二预设值小于所述第一预设值;基于所述第一边缘生长函数根据所述第一初始梯度点和所述第一生长点生成所述第一边缘路径。
根据本公开的一实施例,所述基于所述第一边缘生长函数根据所述第一初始梯度点和所述第一生长点生成所述第一边缘路径包括:根据所述第一边缘生长函数和第一生长约束项获得第一方向生长函数,其中,所述第一生长约束项用于约束第二生长点的角度生长量,所述第一方向生长函数为以第一生长点为基准点、以所述第二预设值为步长生长量的方向生长函数,所述方向生长函数表示梯度值随所述图像上的点的角度生长量变化的函数;根据所述第一方向生长函数通过梯度上升迭代算法获得所述第二生长点,其中,所述第二生长点为所述第一方向生长函数的函数值最大的点;依次连接所述第一初始梯度点、所述第一生长点和所述第二生长点,生成所述第一边缘路径。
根据本公开的一实施例,所述根据所述第二梯度点子集和所述第一边缘路径生成第二边缘路径包括:将所述第一边缘路径的端点作为第二初始梯度点;获得所述第二梯度点子集中的第二生长梯度点,其中,所述第二生长梯度点与所述第二初始梯度点之间的距离不大于第三预设值;根据所述第二初始梯度点和所述第二生长梯度点获得第二边缘生长函数,其中,所述第二边缘生长函数为以所述第二初始梯度点为基准点的边缘生长函数;根据所述第二边缘生长函数获得第三生长点,其中,所述第三生长点为在步长分量为第四预设值的情况下所述第二边缘生长函数的函数值最大的点,所述第四预设值小于所述第三预设值;根据所述第二边缘生长函数和第二生长约束项获得第二方向生长函数,其中,所述第二生长约束项用于约束第四生长点的角度生长量,所述第二方向生长函数为以第三生长点为基准点、以所述第四预设值为步长生长量的方向生长函数;根据所述第二方向生长函数通过梯度上升迭代算法获得所述第四生长点,其中,所述第四生长点为所述第二方向生长函数的函数值最大的点;依次连接所述第二初始梯度点、所述第三生长点和所述第四生长点,生成所述第二边缘路径。
根据本公开的一实施例,所述第二边缘路径包括多个子路径;所述对所述第二边缘路径进行处理包括:将所述多个子路径中的各个子路径按照所述子路径上包含的所述梯度点的个数从多至少进行排序,获得子路径序列;根据总能量函数计算初始的路径集合的初始总能量,其中,所述总能量函数用于表征路径对于所述图像的分割情况;从所述子路径序列中选取排在首位的第一子路径放入初始的路径集合中,获得当前路径集合,所述初始的路径集合为空集;将所述第一子路径从所述子路径序列中排除,获得当前子路径序列;根据总能量函数计算所述当前路径集合中的所述第一子路径的第一总能量,获得当前总能量为所述第一总能量;遍历步骤:从当前子路径序列中选取排在首位的第二子路径放入当前路径集合中,更新当前路径集合,并获得当前选取子路径为所述第二子路径;能量计算步骤:根据所述总能量函数计算当前边缘路径的第二总能量,所述当前边缘路径由将所述当前路径集合中的各个子路径连接起来得到;判断所述第二总能量是否小于所述当前总能量;若所述第二总能量不小于所述当前总能量,将所述当前选取子路径从所述当前路径集合中排除,更新当前路径集合,并判断所述当前子路径序列中是否有子路径排在所述当前选取子路径的下一位;若所述当前子路径序列中没有子路径排在所述当前选取子路径的下一位,根据所述当前边缘路径获得用于分割图像的封闭边缘;若所述当前子路径序列中有子路径排在所述当前选取子路径的下一位,选取排在所述当前选取子路径下一位的第三子路径放入所述当前路径集合中,更新当前路径集合,并获得当前选取子路径为所述第三子路径,返回所述能量计算步骤;所述第二总能量小于所述当前总能量,断开所述当前边缘路径上所述各个子路径的连接,依次排除各个子路径,根据所述总能量函数计算将剩余子路径连接起来获得的边缘路径的第三总能量;判断所述第三总能量是否小于所述第二总能量;若所述第三总能量小于所述第二总能量,将与所述第三总能量对应的排除的子路径从所述当前路径集合中移除,更新当前路径集合,更新当前总能量为所述第二总能量,返回所述遍历步骤;若所述第三总能量不小于所述第二总能量,将所述当前选取子路径从所述当前子路径序列中排除,更新当前子路径序列,返回所述遍历步骤。
根据本公开的一实施例,所述总能量函数为包络能量函数、长度能量函数和连接能量函数的和,其中:所述包络能量函数用于表征所述子路径与所述图像的边界的平均距离;所述长度能量函数用于表征所述子路径上的所述梯度点的数量;所述连接能量函数用于表征所述子路径相互连接后的弯曲程度。
根据本公开的一实施例,所述对所述第二边缘路径进行处理,包括:基于总调整能量函数对所述第二边缘路径上各个连接点在所述图像上的坐标进行更新直至所述总调整能量函数值的增加值小于第五预设值,其中,所述总调整能量函数由边缘生长函数和连接约束项相加得到,所述边缘生长函数为表示梯度值随所述图像上的点的坐标变化的连续可导函数,所述总调整能量函数值由将所述各个连接点的所述坐标代入所述总调整能量函数得到。
根据本公开的再一方面,提供一种图像分割装置,包括:梯度点获取模块,用于获得图像的梯度点集,所述梯度点集包括多个表示所述图像中像素点的灰度变化的梯度点;梯度点分级模块,用于将所述梯度点集分成多个梯度点子集,所述多个梯度点子集包括第一梯度点子集和第二梯度点子集,其中,所述第一梯度点子集中的梯度点的梯度值大于所述第二梯度点子集中的梯度点的梯度值;边缘生长模块,用于根据所述第一梯度点子集生成第一边缘路径;边缘生长模块,还用于根据所述第二梯度点子集和所述第一边缘路径生成第二边缘路径;路径处理模块,用于对所述第二边缘路径进行处理获得封闭边缘以分割所述图像。
根据本公开的再一方面,提供一种设备,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,所述处理器执行所述可执行指令时实现如上述任一种方法。
根据本公开的再一方面,提供一种计算机可读存储介质,其上存储有计算机可执行指令,所述可执行指令被处理器执行时实现如上述任一种方法。
本公开的实施例提供的图像分割方法,通过获得图像的表示像素点的灰度变化的梯度点集,将梯度点集按照梯度值大小分成多个梯度点子集,按照梯度值从高到低的顺序根据第一梯度点子集生成第一边缘路径,再根据第二梯度点子集和第一边缘路径生成第二边缘路径,最后对所述第二边缘路径进行处理获得封闭边缘以分割所述图像,从而可实现在不需训练样本集情况下对图像进行分割,可保证梯度值高的边界点优先生成边缘路径。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。
图1示出本公开实施例中一种图像分割系统结构的示意图。
图2示出本公开实施例中一种图像分割方法的流程图。
图3示出本公开实施例中另一种图像分割方法的流程图。
图4示出本公开实施例中一种用于图像分割的边缘路径处理方法的流程图。
图5示出本公开实施例中一种路径边界距离示意图。
图6示出本公开实施例中一种子路径连接方式示意图。
图7示出本公开实施例中另一种用于图像分割的边缘路径处理方法的流程图。
图8示出本公开实施例中一种图像分割装置的框图。
图9示出本公开实施例中另一种图像分割装置的框图。
图10示出本公开实施例中一种电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施例使得本公开将更加全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现或者操作以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。符号“/”一般表示前后关联对象是一种“或”的关系。
在本公开中,除非另有明确的规定和限定,“连接”等术语应做广义理解,例如,可以是电连接或可以互相通讯;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本公开中的具体含义。
如上所述,因在一些相关技术中,采用例如深度学习的机器学习的方法对目标种类繁多的SKU图片,难以通过搜集获得样本集,导致难以通过机器学习方法学习目标的特征;在另一些相关技术中,仅基于图像的色彩特征进行分割对噪声比较敏感,容易导致局部分割错误等问题;在另一些相关技术中,基于图像显著性的分割方法依赖三分图从图形中分割出感兴趣目标,在需要对大量的图片进行分割时不能全都提供三分图,导致此种方法的适应性较差。因此,本公开提供了一种图像分割方法,通过获得图像的表示像素点的灰度变化的梯度点集,将梯度点集按照梯度值大小分成多个梯度点子集,按照梯度值从高到低的顺序根据第一梯度点子集生成第一边缘路径,再根据第二梯度点子集和第一边缘路径生成第二边缘路径,最后对所述第二边缘路径进行处理获得封闭边缘以分割所述图像,从而可实现在不需训练样本集情况下对图像进行分割,可保证梯度值高的边界点优先生成边缘路径。
图1示出了可以应用本公开的图像分割方法或图像分割装置的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如图像识别类应用、网络店铺装修应用等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的初始图像等数据进行分析等处理,并将如图像分割结果反馈给终端设备。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2是根据一示例性实施例示出的一种图像分割方法的流程图。如图2所示的图像分割方法例如可以应用于上述系统的服务器端,也可以应用于上述系统的终端设备。
参考图2,本公开实施例提供的方法20可以包括以下步骤。
在步骤S202中,获得图像的梯度点集,梯度点集包括多个表示图像中像素点的灰度变化的梯度点。图像的离散的灰度值点可由二维离散函数表示,可通过正交梯度算子求出灰度变化最大的梯度点,例如罗伯特(Roberts)交叉算子、蒲瑞维特(Prewiit)算子或索贝尔(Sobel)算子;图像梯度点可由对二维离散函数求导得到,例如采用拉普拉斯(Laplace)算子、马尔(Marr)算子或坎尼(Canny)算子计算二阶导数。
在步骤S204中,将梯度点集分成多个梯度点子集,多个梯度点子集包括第一梯度点子集和第二梯度点子集,其中,第一梯度点子集中的梯度点的梯度值大于第二梯度点子集中的梯度点的梯度值。梯度点集中梯度越强的点则表示成为这个点为目标边界的概率越高,因此把梯度点集中的点分成若干个等级,例如分为10个等级,若梯度点集中梯度值最大的点的梯度值为180,梯度值最小的点的梯度值为0,则得到(180-0)/10=18,则梯度值在163~180范围内的梯度点被划分到第一梯度点子集(其中180-17=163),梯度值在145~162范围内的梯度点被划分到第二梯度点子集(其中163-18=145),梯度值在127~144范围内的梯度点被划分到第三梯度点子集(其中145-18=127),以此类推,以便从高等级向低等级的顺序进行边界的生长和合并,这样保证了强梯度优先连接邻近点,而低等级滞后连接邻近点,更容易生长出符合目标边界的边缘路径。
在步骤S206中,根据第一梯度点子集生成第一边缘路径。从等级最高的第一梯度点子集开始,可通过按照梯度值从大到小的顺序依次连接梯度点子集中的各个梯度点获得最高等级的子集的第一边缘路径,也可对第一梯度点子集中的各个梯度点进行拟合,获得连续可导的边缘函数曲面,然后从梯度值最大的梯度点开始,以预设步长在边缘函数曲面寻找函数值最大的点作为下一个初始生长点,以此类推,直至将第一梯度点子集中的所有梯度点连接起来。
在一些实施例中,若第一梯度点子集中存在梯度值差别较大的点,则第一边缘路径可能括多条第一边缘子路径,即分别以不同梯度点为起点的路径。当两个第一边缘子路径生长到相交后,可对两段子路径进行合并处理,例如将两段子路径都删除与交点之间距离较短的一端,保留并合并与交点之间距离较长的一端。
在一些实施例中,由于图像噪声等原因可能导致两条第一边缘子路径的两个端线段距离较近且近似平行,即接近重叠的情况,此时可将两条端线段顺次连接构成的近似平行四边形的距离最远的两个顶点连接,去除条个端线段,以合并两条第一边缘子路径。
在步骤S208中,根据第二梯度点子集和第一边缘路径生成第二边缘路径。在将第一梯度点子集中的所有梯度点连接起来之后,生成了一条或多条第一边缘路径,然后将第一边缘路径的两个端点作为起始点,采用上述与生成第一边缘路径类似的方法,将第二梯度点子集中的各个梯度点连接起来,生成一条或多条第二边缘子路径。再采用上述处理第一边缘子路径的方法,生成一条或多条第二边缘路径。根据本申请实施例,可将梯度点集按照梯度值从高到低分成多个等级梯度点子集,从高等级向低等级的梯度点子集依次连接各个梯度点,因此第二梯度点子集中可包括第三梯度点子集、第四梯度点子集等多个等级的梯度点子集,第三梯度点子集、第四梯度点子集等梯度点子集中梯度点的生长方法以此类推,此处不再赘述。
在步骤S210中,对第二边缘路径进行处理获得封闭边缘以分割图像。将所有等级的梯度点都生长成边缘路径之后,可能获得一个封闭的边缘,也可能获得多条互不连接的边缘路径,此时需要将多条边缘路径连接起来以获得封闭的边缘,该封闭的边缘即用于分割图像,将目标从图像的背景中分离出来。
在一些实施例中,SKU图片通常为单目标的图片,因此本公开的获得封闭边缘的图像分割方法适用于SKU图片分割。本公开的图像分割方法也可用于多目标分割中的各个目标分割过程,因此本公开的图像不以SKU图片为限。
根据本公开的实施例提供的图像分割方法,通过获得图像的表示像素点的灰度变化的梯度点集,将梯度点集按照梯度值大小分成多个梯度点子集,按照梯度值从高到低的顺序根据第一梯度点子集生成第一边缘路径,再根据第二梯度点子集和第一边缘路径生成第二边缘路径,最后对所述第二边缘路径进行处理获得封闭边缘以分割所述图像,从而可实现在不需训练样本集情况下对图像进行分割,可保证梯度值高的边界点优先生成边缘路径。
图3是根据一示例性实施例示出的一种图像分割方法的流程图。如图3所示的图像分割方法例如可以应用于上述系统的服务器端,也可以应用于上述系统的终端设备。
参考图3,本公开实施例提供的方法30可以包括以下步骤。
在步骤S302中,获得图像的梯度点集,梯度点集包括多个表示图像中像素点的灰度变化的梯度点。
式中,A为原始图像的像素点的像素值的集合,G中各个梯度点的坐标与A中像素点一一对应,第i个像素点在图像中的二维坐标,i为大于或等于1小于或等于图像中像素点总个数的正整数,亦即各个梯度点在图像中的二维坐标。
在步骤S304中,将梯度点集分成多个梯度点子集,多个梯度点子集包括第一梯度点子集和第二梯度点子集,其中,第一梯度点子集中的梯度点的梯度值大于第二梯度点子集中的梯度点的梯度值。多个梯度点子集还可包括第三梯度点子集、第四梯度点子集等等,按照梯度值从大至小分等级高低,从高等级的梯度点子集向低等级的梯度点子集生长,具体生长方法将于后续步骤进行详述。
在步骤S306中,获得第一梯度点子集中的第一初始梯度点和第一生长梯度点,其中,第一生长梯度点与第一初始梯度点之间的距离不大于第一预设值。
从初始梯度点开始生长寻找下一生长点时,如果考虑所有的梯度点,例如在获得边缘生长函数时把所有的梯度点进行累加,会造成很大的计算量,因此在一些实施例中,边缘生长函数只在当前点的半径为第一预设值R的圆形内的梯度点累加生成。为了提高圆形内的梯度点遍历的计算效率,使用网格管理所有的梯度点,只需在当前点所在方格的上、下、左、右、左上、右上、右下、左下的方格内遍历查找梯度点,并筛选距离小于R的点,从而获得第一生长梯度点。
在步骤S308中,根据第一初始梯度点和第一生长梯度点获得第一边缘生长函数,其中,第一边缘生长函数为以第一初始梯度点为基准点的边缘生长函数,边缘生长函数为表示梯度值随图像上的点的坐标变化的连续可导函数,坐标包括角度分量和步长分量。
在一些实施例中,可选择第一梯度点子集中梯度值最大的梯度点为第一初始梯度点,先将各个第一生长梯度点生成连续可导的边缘函数曲面f(x,y),例如可使用高斯核函数替代每个梯度点:
式中,h为高斯核函数的带宽。通过将各个梯度点核函数与梯度值相乘后累加可得到边缘函数曲面体:
由于边缘函数曲面累加容易造成值溢出,因此可使用双正切函数对边界函数进行归一化,得到归一化边缘函数曲面f(x,y),例如如下式所示:
在步骤S310中,根据第一边缘生长函数获得第一生长点,其中,第一生长点为在步长分量为第二预设值的情况下第一边缘生长函数的函数值最大的点,第二预设值小于第一预设值。
在一些实施例中,可以第一初始梯度点为中心、在半径为第二预设值r的圆形边界上寻找归一化的边缘曲面函数f(x,y)的最大值。由于生长步长r为常数值,因此可将变量转换为路径方向的变化量dθ,则转化为归一化的边缘曲面函数f(dθ)的最大值。由:
θj=θj-1+dθ (6)
式中j为大于等于1小于或等于生长点总个数的正整数(当j=1时,(x0,y0)对应的点为初始梯度点),再令:
xj=rcos(θj)+xj-1=rcos(θj-1)cos(dθ)-rsin(θj-1)sin(dθ)+xj-1 (7)
yj=rsin(θj)+yj-1=rsin(θj-1)cos(dθ)-rcos(θj-1)sin(dθ)+yj-1 (8)
通常可采用梯度上升的迭代方法求得边缘曲面函数f(dθ)最大值所对应的dθmax1,以获得第一生长点。可由下式求得f(dθ)的梯度:
而f(x,y)对x和y的偏导数可分别根据下式计算:
而x和y对dθ的偏导数可由式(7)、式(8)得到:
根据梯度上升原理进行迭代:
式中α为迭代步长。直至dθ收敛,可得到以第一初始梯度点为中心、在半径为第二预设值r的圆形边界上的边缘曲面函数f(dθ)最大值对应的路径方向变化量dθ1,即边缘曲面函数f(x,y)的最大值对应的点的坐标(x1,y1),即第一生长点。
在步骤S312中,基于第一边缘生长函数根据第一初始梯度点和第一生长点生成第一边缘路径。
进一步地,根据第一边缘生长函数和第一生长约束项获得第一方向生长函数,其中,第一生长约束项用于约束第二生长点的角度生长量,第一方向生长函数为以第一生长点为基准点、以第二预设值为步长生长量的方向生长函数,方向生长函数表示梯度值随图像上的点的角度生长量变化的函数;根据第一方向生长函数通过梯度上升迭代算法获得第二生长点,其中,第二生长点为第一方向生长函数的函数值最大的点;依次连接第一初始梯度点、第一生长点和第二生长点,生成第一边缘路径。
在一些实施例中,在以第一生长点为初始点进行生长,即寻找第二生长点时,可同样采用以初始点为中心、在半径为r的圆形边界上寻找边缘曲面函数最大值的方法。由于在路径生长的过程中,当前路径(起点至终点)的方向延续上一路径的方向概率是最大的,而反向后退的概率最小,因此关于dθ的概率密度曲线是左右对称,因此可采用高斯函数f1(dθ),对路径的扩展方向进行约束:
式中σ为dθ的概率密度的标准差。可得加约束项的方向约束边缘曲面函数z(dθ)为:
z(dθ)=f(dθ)+ωf1(dθ) (16)
式中ω为约束项系数。类似地,可采用梯度上升的迭代方法求得方向约束的边缘曲面函数z(dθ)最大值所对应的dθmax2,以获得第二生长点的坐标。可由下式求得z(dθ)的梯度:
然后根据梯度上升原理进行迭代:
式中β为迭代步长。直至dθ收敛,可得到以第一生长点为中心、在半径为r的圆形边界上的方向约束的边缘曲面函数z(dθ)最大值对应的路径方向变化量dθ2,即第二生长点的坐标。
获得第二生长点之后,若第一梯度点子集中仍剩余梯度点,则可按照上述获得第二生长点的方法继续获得生长点,直至将第一梯度点子集中的各个梯度点都连接起来,形成第一边缘路径。在一些实施例中,若第一梯度点子集中存在梯度值差别较大的点,则第一边缘路径可能括多条第一边缘子路径,即分别以不同梯度点为起点的路径。当两个第一边缘子路径生长到相交后,可对两段子路径进行合并处理,例如将两段子路径都删除与交点之间距离较短的一端,保留并合并与交点之间距离较长的一端。
在一些实施例中,由于图像噪声等原因可能导致两条第一边缘子路径的两个端线段距离较近且近似平行,即接近重叠的情况,此时可将两条端线段顺次连接构成的近似平行四边形的距离最远的两个顶点连接,去除条个端线段,以合并两条第一边缘子路径。
在步骤S3141中,将第一边缘路径的端点作为第二初始梯度点。
在步骤S3142中,获得第二梯度点子集中的第二生长梯度点,其中,第二生长梯度点与第二初始梯度点之间的距离不大于第三预设值。
在步骤S3143中,根据第二初始梯度点和第二生长梯度点获得第二边缘生长函数,其中,第二边缘生长函数为以第二初始梯度点为基准点的边缘生长函数。
在步骤S3144中,根据第二边缘生长函数获得第三生长点,其中,第三生长点为在步长分量为第四预设值的情况下第二边缘生长函数的函数值最大的点,第四预设值小于第三预设值。
在步骤S3145中,根据第二边缘生长函数和第二生长约束项获得第二方向生长函数,其中,第二生长约束项用于约束第四生长点的角度生长量,第二方向生长函数为以第三生长点为基准点、以第四预设值为步长生长量的方向生长函数。
在步骤S3146中,根据第二方向生长函数通过梯度上升迭代算法获得第四生长点,其中,第四生长点为第二方向生长函数的函数值最大的点。
在步骤S3147中,依次连接第二初始梯度点、第三生长点和第四生长点,生成第二边缘路径。
在一些实施例中,获得第二生长梯度点可类似上述实施例中获得第一生长梯度点的方法,第三预设值可根据实际情况选择与第一预设值不同的R’;获得第三生长点、第四生长点也可类似上述实施例中获得第一生长点、第二生长点的方法,生长步长即第四预设值可以为与第二预设值相同的r。
在步骤S316中,对第二边缘路径进行处理获得封闭边缘以分割图像。对边缘路径的处理方法可参加下述实施例,此处不再赘述。
根据本公开的实施例提供的图像分割方法,通过根据梯度点子集生成连续的边缘函数曲面函数,按照梯度值从高到低的顺序以固定步长寻找曲面函数最大值对应点的方式生成边缘路径,从而可实现在一定程度上消除图像噪声的影响,以使生成的边缘路径更接近实际的目标边缘;从高梯度值向低梯度值生长时,从已生成的边缘路径的两个端点开始生长,减少了边界轨迹连接陷入局部最下解的可能性。
图4是根据一示例性实施例示出的一种边缘路径处理方法的流程图。如图4所示的边缘路径处理方法例如可以应用于上述系统的服务器端,也可以应用于上述系统的终端设备。
根据上述实施例,在将各个等级的梯度点从高等级至低等级生成第二边缘路径时,由于梯度点子集中可能存在梯度值差别较大的点或噪声等原因,因此即便在经过对相交路径、近似重叠路径进行处理后,第一边缘路径或第二边缘路径仍可包括多个子路径,此时需要将多个子路径连接起来以形成封闭边缘,下面将对封闭边缘路径的方法进行详述。
参考图4,本公开实施例提供的方法40可以包括以下步骤。
在步骤S401中,将第二边缘路径中的多个子路径中的各个子路径按照子路径上包含的梯度点的个数从多至少进行排序,获得子路径序列。
在步骤S402中,根据总能量函数计算初始的路径集合的初始总能量,其中,总能量函数用于表征路径对于图像的分割情况,初始的路径集合为空集。进一步地,总能量函数为包络能量函数、长度能量函数和连接能量函数的和,其中:
包络能量函数用于表征子路径与图像的边界的平均距离;
长度能量函数用于表征子路径上的梯度点的数量;
连接能量函数用于表征子路径相互连接后的弯曲程度。
在一些实施例中,针对单目标的分割问题,包络能量函数表示越接近外层的路径越可能是目标的边缘。例如可使用边缘路径的连接点与图像边界之间最短的垂直距离作为边界距离,如图5所示,A、B、C点为三个边缘路径的连接点,A、B、C点与图像边界之间的最短垂直距离为图中粗实线的长度。可建立包络能量函数如下式所示:
式中,Dmin表示边缘路径的各连接点与边界之间的最短垂直距离,N1表示边缘路径上连接点总的个数,所有最短垂直距离的平均值衡量了边缘路径靠近图像边界的程度。
在一些实施例中,为了期望最终所选择的边缘路径的总梯度点个数的数最多,建立路径长度能量函数,例如:
在一些实施例中,在将多个子路径连接起来以形成封闭边缘时,两两连接的方式可能有多种,其中一种可能的连接方式如图6所示,其中虚线为连接线,和为由连接起来的两条子路径。为选择连接线越接近直线的连接方式,可通过向量运算衡量连接线的连接情况,定义连接线的能量为:
进而建立连接能量函数:
式中Nb为将多个子路径连接起来的连接线的总数量。
在一些实施例中,可建立总能量函数如下式所示:
S=γ·S1+δ·S2+λ·S3 (23)
式中,γ为包络能量系数,δ为长度能量系数、λ为连接能量系数,且有γ+δ+λ=1。据此可计算出初始总能量为1。
在步骤S403中,从子路径序列中选取排在首位的第一子路径放入初始的路径集合中,获得当前路径集合。
在步骤S404中,将第一子路径从子路径序列中排除,获得当前子路径序列。
在步骤S405中,根据总能量函数计算当前边缘路径的第一总能量,当前边缘路径由将当前路径集合中的第一子路径封闭起来得到,获得当前总能量为第一总能量。在一些实施例中,若根据上述能量函数式计算,第一总能量小于初始总能量1。
在步骤S406中,从当前子路径序列中选取排在首位的第二子路径放入当前路径集合中,更新当前路径集合,并获得当前选取子路径为第二子路径。
在步骤S407中,根据总能量函数计算当前边缘路径的第二总能量,当前边缘路径由将当前路径集合中的各个子路径连接起来得到。
在步骤S408中,判断第二总能量是否小于当前总能量。
在步骤S4091中,若第二总能量不小于当前总能量,将当前选取子路径从当前路径集合中排除,更新当前路径集合,并判断当前子路径序列中是否有子路径排在当前选取子路径的下一位。
在步骤S4092中,若当前子路径序列中没有子路径排在当前选取子路径的下一位,根据当前边缘路径获得用于分割图像的封闭边缘。
在步骤S4093中,若当前子路径序列中有子路径排在当前选取子路径的下一位,选取排在当前选取子路径下一位的第三子路径放入当前路径集合中,更新当前路径集合,并获得当前选取子路径为第三子路径,返回步骤S407。
在步骤S410中,若第二总能量小于当前总能量,断开当前边缘路径上各个子路径的连接,依次排除各个子路径,根据总能量函数计算将剩余子路径连接起来获得的边缘路径的第三总能量。
在步骤S411中,判断第三总能量是否小于第二总能量。
在步骤S4121中,若第三总能量小于第二总能量,将与第三总能量对应的排除的子路径从当前路径集合中移除,更新当前路径集合,更新当前总能量为第二总能量,返回步骤S406。
在步骤S4122中,若第三总能量不小于第二总能量,将当前选取子路径从当前子路径序列中排除,更新当前子路径序列,返回步骤S406。
根据本公开的实施例提供的边缘路径处理方法,通过能量函数对第二边缘路径中的多个子路径衡量,采用迭代的方法进行子路径筛选和连接方式的选择,从而可实现生成更接近实际的目标边缘的封闭边缘路径。
图7是根据一示例性实施例示出的一种边缘路径处理方法的流程图。如图7所示的边缘路径处理方法例如可以应用于上述系统的服务器端,也可以应用于上述系统的终端设备。
在生成用于将目标从图像中分割处理的封闭边缘后,可对封闭边缘曲线进行位置调整,即可对封闭边缘上的各个连接点进行调整,在保证连接点的边缘曲面函数值总和达到最大的同时要尽量提高连接点之间的连贯性。
参考图7,本公开实施例提供的方法70可以包括以下步骤。
在步骤S701中,获得第二边缘路径上各个连接点在图像上的当前坐标。在一些实施例中,例如,将第二边缘路径上第k个连接点在图像上的坐标(xk,yk)表示为Xk,k为大于或等于1且小于或等于第二边缘路径上连接点总个数N2的正整数。
在步骤S702中,根据各个连接点的当前坐标计算当前总调整能量函数值,总调整能量函数由边缘生长函数和连接约束项相加得到,边缘生长函数为表示梯度值随图像上的点的坐标变化的连续可导函数,连接约束项根据各个连接点的当前坐标获得。
在一些实施例中,例如,边缘生长函数表示为f(Xk)=f(xk,yk),函数值可根据式(1)-式(5)计算得到。可利用下式表示连接约束项:
式中X表示(x,y)。由于此处的第二边缘路径为封闭边缘,因此式中X0代表与第一个连接点X1连接以获得封闭边缘的点的坐标,即而代表与最后一个连接点连接以获得封闭边缘的点的坐标,即X1。为保持连接约束项的单调性与边缘生长函数保持一致,采用激活函数对其进行反向:
则可将总调整能量函数表示为:
式中ε表示连接约束项系数。
在一些实施例中,例如,为获得使总调整能量函数值最大的各个连接点的坐标,也可采用梯度上升的迭代方法对各个连接点的坐标进行更新。由式(26)可得对于第k个连接点Xk,总调整能量函数的梯度为:
又:
式中θ为迭代步长。
在步骤S704中,判断总调整能量函数值的增加值是否小于第五预设值。
在步骤S705中,若总调整能量函数值的增加值不小于第五预设值,获得各个连接点的当前坐标为更新坐标,返回步骤S701。在返回步骤S701重新进行迭代之前,如果一段路径过长,例如即更新的相邻的两个连接点之间的距离大于2r,则需将这两个连接点之间的路径分裂成两段路径,即增加这个路径的中点为新的连接点;如果一段路径过短,例如更新的相邻的两个连接点之间的距离小于1/2r,则需将这个路径与相邻的一条路径合并成一段路径。
在步骤S706,若总调整能量函数值的增加值小于第五预设值,获得根据更新后的各个连接点连接得到的边缘路径。
根据本公开的实施例提供的边缘路径处理方法,通过采用迭代方法对封闭边缘上的各个连接点的坐标进行调整,利用调整能量对连接点的坐标调整进行约束,实现了在保证连接点的边缘曲面函数值总和达到最大的同时要尽量提高连接点之间的连贯性。
图8是根据一示例性实施例示出的一种图像分割装置的框图。如图8所示的图像分割装置例如可以应用于上述系统的服务器端,也可以应用于上述系统的终端设备。
参考图8,本公开实施例提供的装置80可以包括梯度点获取模块802、梯度点分级模块804、边缘生长模块806以及路径处理模块808。
梯度点获取模块802可用于获得图像的梯度点集,梯度点集包括多个表示图像中像素点的灰度变化的梯度点。
梯度点分级模块804可用于将梯度点集分成多个梯度点子集,多个梯度点子集包括第一梯度点子集和第二梯度点子集,其中,第一梯度点子集中的梯度点的梯度值大于第二梯度点子集中的梯度点的梯度值。
边缘生长模块806可用于根据第一梯度点子集生成第一边缘路径。
边缘生长模块806还可用于根据第二梯度点子集和第一边缘路径生成第二边缘路径。
路径处理模块808可用于对第二边缘路径进行处理获得封闭边缘以分割图像。
图9是根据一示例性实施例示出的一种图像分割装置的框图。如图9所示的图像分割装置例如可以应用于上述系统的服务器端,也可以应用于上述系统的终端设备。
参考图9,本公开实施例提供的装置90可以包括梯度点获取模块902、梯度点分级模块904、边缘生长模块906以及路径处理模块908,其中路径处理模块908包括路径封闭模块9081和路径调整模块9082。
梯度点获取模块902可用于获得图像的梯度点集,梯度点集包括多个表示图像中像素点的灰度变化的梯度点。
梯度点分级模块904可用于将梯度点集分成多个梯度点子集,多个梯度点子集包括第一梯度点子集和第二梯度点子集,其中,第一梯度点子集中的梯度点的梯度值大于第二梯度点子集中的梯度点的梯度值。
边缘生长模块906可用于根据第一梯度点子集生成第一边缘路径。
边缘生长模块906还可用于获得第一梯度点子集中的第一初始梯度点和第一生长梯度点,其中,第一生长梯度点与第一初始梯度点之间的距离不大于第一预设值;根据第一初始梯度点和第一生长梯度点获得第一边缘生长函数,其中,第一边缘生长函数为以第一初始梯度点为基准点的边缘生长函数,边缘生长函数为表示梯度值随图像上的点的坐标变化的连续可导函数,坐标包括角度分量和步长分量;根据第一边缘生长函数获得第一生长点,其中,第一生长点为在步长分量为第二预设值的情况下第一边缘生长函数的函数值最大的点,第二预设值小于第一预设值;基于第一边缘生长函数根据第一初始梯度点和第一生长点生成第一边缘路径。
边缘生长模块906还可用于根据第一边缘生长函数和第一生长约束项获得第一方向生长函数,其中,第一生长约束项用于约束第二生长点的角度生长量,第一方向生长函数为以第一生长点为基准点、以第二预设值为步长生长量的方向生长函数,方向生长函数表示梯度值随图像上的点的角度生长量变化的函数;根据第一方向生长函数通过梯度上升迭代算法获得第二生长点,其中,第二生长点为第一方向生长函数的函数值最大的点;依次连接第一初始梯度点、第一生长点和第二生长点,生成第一边缘路径。
边缘生长模块906还可用于根据第二梯度点子集和第一边缘路径生成第二边缘路径。
边缘生长模块906还可用于将第一边缘路径的端点作为第二初始梯度点;获得第二梯度点子集中的第二生长梯度点,其中,第二生长梯度点与第二初始梯度点之间的距离不大于第三预设值;根据第二初始梯度点和第二生长梯度点获得第二边缘生长函数,其中,第二边缘生长函数为以第二初始梯度点为基准点的边缘生长函数;根据第二边缘生长函数获得第三生长点,其中,第三生长点为在步长分量为第四预设值的情况下第二边缘生长函数的函数值最大的点,第四预设值小于第三预设值;根据第二边缘生长函数和第二生长约束项获得第二方向生长函数,其中,第二生长约束项用于约束第四生长点的角度生长量,第二方向生长函数为以第三生长点为基准点、以第四预设值为步长生长量的方向生长函数;根据第二方向生长函数通过梯度上升迭代算法获得第四生长点,其中,第四生长点为第二方向生长函数的函数值最大的点;依次连接第二初始梯度点、第三生长点和第四生长点,生成第二边缘路径。
路径处理模块908可用于对第二边缘路径进行处理获得封闭边缘以分割图像。
路径封闭模块9081可用于将多个子路径中的各个子路径按照子路径上包含的梯度点的个数从多至少进行排序,获得子路径序列;根据总能量函数计算初始的路径集合的初始总能量,总能量函数为包络能量函数、长度能量函数和连接能量函数的和,其中:包络能量函数用于表征子路径与图像的边界的平均距离;长度能量函数用于表征子路径上的梯度点的数量;连接能量函数用于表征子路径相互连接后的弯曲程度;从子路径序列中选取排在首位的第一子路径放入初始的路径集合中,获得当前路径集合,初始的路径集合为空集;将第一子路径从子路径序列中排除,获得当前子路径序列;根据总能量函数计算当前路径集合中的第一子路径的第一总能量,获得当前总能量为第一总能量,其中,总能量函数用于表征路径对于图像的分割情况;遍历步骤:从当前子路径序列中选取排在首位的第二子路径放入当前路径集合中,更新当前路径集合,并获得当前选取子路径为第二子路径;能量计算步骤:根据总能量函数计算当前边缘路径的第二总能量,当前边缘路径由将当前路径集合中的各个子路径连接起来得到;判断第二总能量是否小于当前总能量;若第二总能量不小于当前总能量,将当前选取子路径从当前路径集合中排除,更新当前路径集合,并判断当前子路径序列中是否有子路径排在当前选取子路径的下一位;若当前子路径序列中没有子路径排在当前选取子路径的下一位,根据当前边缘路径获得用于分割图像的封闭边缘;若当前子路径序列中有子路径排在当前选取子路径的下一位,选取排在当前选取子路径下一位的第三子路径放入当前路径集合中,更新当前路径集合,并获得当前选取子路径为第三子路径,返回能量计算步骤;若第二总能量小于当前总能量,断开当前边缘路径上各个子路径的连接,依次排除各个子路径,根据总能量函数计算将剩余子路径连接起来获得的边缘路径的第三总能量;判断第三总能量是否小于第二总能量;若第三总能量小于第二总能量,将与第三总能量对应的排除的子路径从当前路径集合中移除,更新当前路径集合,更新当前总能量为第二总能量,返回遍历步骤;若第三总能量不小于第二总能量,将当前选取子路径从当前子路径序列中排除,更新当前子路径序列,返回遍历步骤。
路径调整模块9082可用于基于总调整能量函数对第二边缘路径上各个连接点在图像上的坐标进行更新直至总调整能量函数值的增加值小于第五预设值,其中,总调整能量函数由边缘生长函数和连接约束项相加得到,边缘生长函数为表示梯度值随图像上的点的坐标变化的连续可导函数,连接约束项根据各个连接点的坐标获得,总调整能量函数值由将各个连接点的坐标代入总调整能量函数得到。
需要说明的是,图10示出的设备仅以计算机系统为示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图10所示,设备1000包括中央处理单元(CPU)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。在RAM 1003中,还存储有设备1000操作所需的各种程序和数据。CPU1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(CPU)1001执行时,执行本公开的系统中限定的上述功能。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获取模块和处理模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,获取模块还可以被描述为“向所连接的终端获取梯度点数据的模块”。
作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:获得图像的梯度点集,所述梯度点集包括多个表示所述图像中像素点的灰度变化的梯度点;将所述梯度点集分成多个梯度点子集,所述多个梯度点子集包括第一梯度点子集和第二梯度点子集,其中,所述第一梯度点子集中的梯度点的梯度值大于所述第二梯度点子集中的梯度点的梯度值;根据所述第一梯度点子集生成第一边缘路径;根据所述第二梯度点子集和所述第一边缘路径生成第二边缘路径;对所述第二边缘路径进行处理获得封闭边缘以分割所述图像。
以上具体地示出和描述了本公开的示例性实施例。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (10)
1.一种图像分割方法,其特征在于,包括:
获得图像的梯度点集,所述梯度点集包括多个表示所述图像中像素点的灰度变化的梯度点;
将所述梯度点集分成多个梯度点子集,所述多个梯度点子集包括第一梯度点子集和第二梯度点子集,其中,所述第一梯度点子集中的梯度点的梯度值大于所述第二梯度点子集中的梯度点的梯度值;
根据所述第一梯度点子集生成第一边缘路径;
根据所述第二梯度点子集和所述第一边缘路径生成第二边缘路径;
对所述第二边缘路径进行处理获得封闭边缘以分割所述图像。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一梯度点子集生成第一边缘路径包括:
获得所述第一梯度点子集中的第一初始梯度点和第一生长梯度点,其中,所述第一生长梯度点与所述第一初始梯度点之间的距离不大于第一预设值;
根据所述第一初始梯度点和所述第一生长梯度点获得第一边缘生长函数,其中,所述第一边缘生长函数为以所述第一初始梯度点为基准点的边缘生长函数,所述边缘生长函数为表示梯度值随所述图像上的点的坐标变化的连续可导函数,所述坐标包括角度分量和步长分量;
根据所述第一边缘生长函数获得第一生长点,其中,所述第一生长点为在步长分量为第二预设值的情况下所述第一边缘生长函数的函数值最大的点,所述第二预设值小于所述第一预设值;
基于所述第一边缘生长函数根据所述第一初始梯度点和所述第一生长点生成所述第一边缘路径。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一边缘生长函数根据所述第一初始梯度点和所述第一生长点生成所述第一边缘路径包括:
根据所述第一边缘生长函数和第一生长约束项获得第一方向生长函数,其中,所述第一生长约束项用于约束第二生长点的角度生长量,所述第一方向生长函数为以第一生长点为基准点、以所述第二预设值为步长生长量的方向生长函数,所述方向生长函数表示梯度值随所述图像上的点的角度生长量变化的函数;
根据所述第一方向生长函数通过梯度上升迭代算法获得所述第二生长点,其中,所述第二生长点为所述第一方向生长函数的函数值最大的点;
依次连接所述第一初始梯度点、所述第一生长点和所述第二生长点,生成所述第一边缘路径。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第二梯度点子集和所述第一边缘路径生成第二边缘路径包括:
将所述第一边缘路径的端点作为第二初始梯度点;
获得所述第二梯度点子集中的第二生长梯度点,其中,所述第二生长梯度点与所述第二初始梯度点之间的距离不大于第三预设值;
根据所述第二初始梯度点和所述第二生长梯度点获得第二边缘生长函数,其中,所述第二边缘生长函数为以所述第二初始梯度点为基准点的边缘生长函数;
根据所述第二边缘生长函数获得第三生长点,其中,所述第三生长点为在步长分量为第四预设值的情况下所述第二边缘生长函数的函数值最大的点,所述第四预设值小于所述第三预设值;
根据所述第二边缘生长函数和第二生长约束项获得第二方向生长函数,其中,所述第二生长约束项用于约束第四生长点的角度生长量,所述第二方向生长函数为以第三生长点为基准点、以所述第四预设值为步长生长量的方向生长函数;
根据所述第二方向生长函数通过梯度上升迭代算法获得所述第四生长点,其中,所述第四生长点为所述第二方向生长函数的函数值最大的点;
依次连接所述第二初始梯度点、所述第三生长点和所述第四生长点,生成所述第二边缘路径。
5.根据权利要求1所述的方法,其特征在于,所述第二边缘路径包括多个子路径;
所述对所述第二边缘路径进行处理包括:
将所述多个子路径中的各个子路径按照所述子路径上包含的所述梯度点的个数从多至少进行排序,获得子路径序列;
根据总能量函数计算初始的路径集合的初始总能量,其中,所述总能量函数用于表征路径对于所述图像的分割情况;
从所述子路径序列中选取排在首位的第一子路径放入初始的路径集合中,获得当前路径集合,所述初始的路径集合为空集;
将所述第一子路径从所述子路径序列中排除,获得当前子路径序列;
根据总能量函数计算所述当前路径集合中的所述第一子路径的第一总能量,获得当前总能量为所述第一总能量;
遍历步骤:从当前子路径序列中选取排在首位的第二子路径放入当前路径集合中,更新当前路径集合,并获得当前选取子路径为所述第二子路径;
能量计算步骤:根据所述总能量函数计算当前边缘路径的第二总能量,所述当前边缘路径由将所述当前路径集合中的各个子路径连接起来得到;
判断所述第二总能量是否小于所述当前总能量;
若所述第二总能量不小于所述当前总能量,将所述当前选取子路径从所述当前路径集合中排除,更新当前路径集合,并判断所述当前子路径序列中是否有子路径排在所述当前选取子路径的下一位;
若所述当前子路径序列中没有子路径排在所述当前选取子路径的下一位,根据所述当前边缘路径获得用于分割图像的封闭边缘;
若所述当前子路径序列中有子路径排在所述当前选取子路径的下一位,选取排在所述当前选取子路径下一位的第三子路径放入所述当前路径集合中,更新当前路径集合,并获得当前选取子路径为所述第三子路径,返回所述能量计算步骤;
若所述第二总能量小于所述当前总能量,断开所述当前边缘路径上所述各个子路径的连接,依次排除各个子路径,根据所述总能量函数计算将剩余子路径连接起来获得的边缘路径的第三总能量;
判断所述第三总能量是否小于所述第二总能量;
若所述第三总能量小于所述第二总能量,将与所述第三总能量对应的排除的子路径从所述当前路径集合中移除,更新当前路径集合,更新当前总能量为所述第二总能量,返回所述遍历步骤;
若所述第三总能量不小于所述第二总能量,将所述当前选取子路径从所述当前子路径序列中排除,更新当前子路径序列,返回所述遍历步骤。
6.根据权利要求5所述的方法,其特征在于,所述总能量函数为包络能量函数、长度能量函数和连接能量函数的和,其中:
所述包络能量函数用于表征所述子路径与所述图像的边界的平均距离;
所述长度能量函数用于表征所述子路径上的所述梯度点的数量;
所述连接能量函数用于表征所述子路径相互连接后的弯曲程度。
7.根据权利要求1所述的方法,其特征在于,所述对所述第二边缘路径进行处理,包括:
基于总调整能量函数对所述第二边缘路径上各个连接点在所述图像上的坐标进行更新直至所述总调整能量函数值的增加值小于第五预设值,其中,所述总调整能量函数由边缘生长函数和连接约束项相加得到,所述边缘生长函数为表示梯度值随所述图像上的点的坐标变化的连续可导函数,所述总调整能量函数值由将所述各个连接点的所述坐标代入所述总调整能量函数得到。
8.一种图像分割装置,其特征在于,包括:
梯度点获取模块,用于获得图像的梯度点集,所述梯度点集包括多个表示所述图像中像素点的灰度变化的梯度点;
梯度点分级模块,用于将所述梯度点集分成多个梯度点子集,所述多个梯度点子集包括第一梯度点子集和第二梯度点子集,其中,所述第一梯度点子集中的梯度点的梯度值大于所述第二梯度点子集中的梯度点的梯度值;
边缘生长模块,用于根据所述第一梯度点子集生成第一边缘路径;
边缘生长模块,还用于根据所述第二梯度点子集和所述第一边缘路径生成第二边缘路径;
路径处理模块,用于对所述第二边缘路径进行处理获得封闭边缘以分割所述图像。
9.一种设备,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,其特征在于,所述处理器执行所述可执行指令时实现如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机可执行指令,其特征在于,所述可执行指令被处理器执行时实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010139053.7A CN112288764A (zh) | 2020-03-03 | 2020-03-03 | 图像分割方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010139053.7A CN112288764A (zh) | 2020-03-03 | 2020-03-03 | 图像分割方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112288764A true CN112288764A (zh) | 2021-01-29 |
Family
ID=74420199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010139053.7A Pending CN112288764A (zh) | 2020-03-03 | 2020-03-03 | 图像分割方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112288764A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114332667A (zh) * | 2022-03-17 | 2022-04-12 | 北京市农林科学院信息技术研究中心 | 玉米株型识别方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268872A (zh) * | 2014-09-25 | 2015-01-07 | 北京航空航天大学 | 基于一致性的边缘检测方法 |
CN105631869A (zh) * | 2015-12-25 | 2016-06-01 | 东软集团股份有限公司 | 一种管状物分割方法、装置及设备 |
US20190096031A1 (en) * | 2017-09-25 | 2019-03-28 | Shanghai Zhaoxin Semiconductor Co., Ltd. | Image interpolation methods and related image interpolation devices thereof |
CN110189349A (zh) * | 2019-06-03 | 2019-08-30 | 湖南国科微电子股份有限公司 | 图像处理方法及装置 |
-
2020
- 2020-03-03 CN CN202010139053.7A patent/CN112288764A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268872A (zh) * | 2014-09-25 | 2015-01-07 | 北京航空航天大学 | 基于一致性的边缘检测方法 |
CN105631869A (zh) * | 2015-12-25 | 2016-06-01 | 东软集团股份有限公司 | 一种管状物分割方法、装置及设备 |
US20190096031A1 (en) * | 2017-09-25 | 2019-03-28 | Shanghai Zhaoxin Semiconductor Co., Ltd. | Image interpolation methods and related image interpolation devices thereof |
CN110189349A (zh) * | 2019-06-03 | 2019-08-30 | 湖南国科微电子股份有限公司 | 图像处理方法及装置 |
Non-Patent Citations (2)
Title |
---|
包立君;刘宛予;浦昭邦;: "融合图像局部能量和梯度的水平集分割方法", 哈尔滨工业大学学报, no. 03 * |
张江鑫等: "快速随机Hough变换多直线检测算法", 浙江工业大学学报, vol. 41, no. 03, pages 346 - 350 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114332667A (zh) * | 2022-03-17 | 2022-04-12 | 北京市农林科学院信息技术研究中心 | 玉米株型识别方法、装置、电子设备及存储介质 |
CN114332667B (zh) * | 2022-03-17 | 2022-07-01 | 北京市农林科学院信息技术研究中心 | 玉米株型识别方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113160192B (zh) | 复杂背景下基于视觉的压雪车外观缺陷检测方法及装置 | |
CN108256446B (zh) | 用于确定道路中的车道线的方法、装置和设备 | |
US10127675B2 (en) | Edge-based local adaptive thresholding system and methods for foreground detection | |
US11327194B2 (en) | Method for identifying boundary of sedimentary facies, computer device and computer readable storage medium | |
CN106204572B (zh) | 基于场景深度映射的道路目标深度估计方法 | |
CN110781885A (zh) | 基于图像处理的文本检测方法、装置、介质及电子设备 | |
CN111709420A (zh) | 文本检测方法、电子设备及计算机可读介质 | |
CN108229418B (zh) | 人体关键点检测方法和装置、电子设备、存储介质和程序 | |
US20220365186A1 (en) | Automatic detection of a calibration standard in unstructured lidar point clouds | |
WO2014065745A2 (en) | Biological unit identification based on supervised shape ranking | |
Zhang et al. | Efficient system of cracking-detection algorithms with 1-mm 3D-surface models and performance measures | |
CN115359308B (zh) | 模型训练、难例识别方法、装置、设备、存储介质及程序 | |
CN108182457A (zh) | 用于生成信息的方法和装置 | |
CN115937552A (zh) | 一种基于融合手工特征与深度特征的图像匹配方法 | |
CN115272306A (zh) | 利用梯度运算的太阳能电池板栅线增强方法 | |
CN112288764A (zh) | 图像分割方法、装置、设备及存储介质 | |
US9589360B2 (en) | Biological unit segmentation with ranking based on similarity applying a geometric shape and scale model | |
CN107948721A (zh) | 推送信息的方法和装置 | |
CN115294066A (zh) | 一种砂石粒径检测方法 | |
CN113537249A (zh) | 图像的确定方法、装置、存储介质及电子装置 | |
CN114114457A (zh) | 基于多模态测井数据的裂缝表征方法、装置及设备 | |
CN113762234A (zh) | 一种确定文本行区域的方法和装置 | |
Sarmadian et al. | Optimizing the snake model using honey-bee mating algorithm for road extraction from very high-resolution satellite images | |
CN111881778B (zh) | 文本检测的方法、装置、设备和计算机可读介质 | |
CN111428729A (zh) | 一种目标检测方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |