繁体   English   中英

成本最低的图像分割算法

[英]Algorithm for least cost image segmentation

我很难找到一种算法以最小的成本解决图像分割问题。 图像的成本是通过以下方式计算的:

第一个平面中像素的权重+第二个平面中像素的权重+连接来自不同平面的像素的边缘的权重。 (如果两个像素在同一平面上,则不计算连接它们的边缘的成本)

我的问题的输入遵循以下模式:

两个数字,第一个数字表示行数,第二个数字表示列数

5 5

第一个计划(P)上像素权重

8 7 9 9 7
6 2 2 8 7
9 1 2 1 8
2 1 3 1 7
1 3 2 1 9

第二个平面图(C)上像素权重

2 1 2 3 2
1 9 9 1 3
1 7 7 9 3
8 7 9 7 2
7 9 8 9 1

水平连接像素的边缘权重

8 9 7 6
1 9 0 8
1 8 9 2
8 7 9 1
9 8 7 2

垂直连接像素的边缘权重

8 2 1 7 9
7 8 7 1 8
2 8 7 7 8
9 7 8 9 8

目的是找到成本最低的分割并返回一个矩阵,该矩阵显示哪些像素属于第一和第二计划。

在这种情况下的输出:

57

C C C C C 
C P P C C 
C P P P C 
P P P P C 
P P P P C

代表问题的图像:

这是显示为什么答案的图像:

在我的课堂上,我的老师告诉我们,埃德蒙·卡普斯(Edmund-Karps)将解决此问题,但我看不到如何在我们希望找到最大通量的情况下对该问题进行建模。

这是一个经典的最大流量问题。 将每个像素视为一个节点。 创建两个新节点ST 对于每个像素x ,添加成本等于(P)中x权重的有向边(S, x) )。 类似地,添加成本等于(C)中x权重的有向边(x, T) )。 最后,使用给定的边缘权重在相邻像素之间添加双向边缘。

然后,您可以证明此图中的任何S - T剪切都对应于图像分割。 特别是,这种切割有3种边缘:

  • S和像素x之间的边缘,对应于将x放入平面(P)
  • 像素xT之间的边缘,对应于将x放入平面(C)
  • 两个像素xy之间的边缘,它们对应于平面之间的边缘。

因此,此图中的最小剪切精确地对应于最佳图像分割。

通过最小割最大流量定理,可以使用最大流量算法(例如Edmonds-Karp)找到最小割。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM