Image processing 基于最小度量的区域生长图像分割算法
是否有一种基于像素的Image processing 基于最小度量的区域生长图像分割算法,image-processing,machine-learning,computer-vision,artificial-intelligence,image-segmentation,Image Processing,Machine Learning,Computer Vision,Artificial Intelligence,Image Segmentation,是否有一种基于像素的区域增长算法可用于提取图像上的特征(分割),方法是基于某个度量的最小化向种子添加像素。潜在地,如果添加该像素时未优化度量(即可能回溯并返回到先前迭代中获得的种子) 我将尝试进一步解释我的目标: 此算法从图像上选择的initialseed的中心像素开始 然后,分别探索4个相邻(右,左,底部和顶部相邻)中的每一个,以查看是否通过在所选方向上生长种子来优化度量 相邻像素可能不会立即优化度量,即使通过添加此像素创建的种子在未来迭代中将是最佳的 如果获得的种子不是最佳的,则有可能将相邻
区域增长
算法可用于提取图像上的特征(分割
),方法是基于某个度量的最小化向种子
添加像素。潜在地,如果添加该像素时未优化度量
(即可能回溯并返回到先前迭代中获得的种子
)
我将尝试进一步解释我的目标:
此算法从图像上选择的initialseed
的中心像素
开始
4个相邻
(右
,左
,底部
和顶部
相邻)中的每一个,以查看是否通过在所选方向上生长种子来优化度量
相邻像素
可能不会立即优化度量
,即使通过添加此像素创建的种子
在未来迭代中将是最佳的种子
不是最佳的,则有可能将相邻像素
添加到种子中,但随后移除人工智能技术(或贪婪方法)吗?此外,什么是判断添加像素将优化度量的好标准,即使这可能会在未来的迭代中发生
p.S:我开始实现上面在Python
中解释的内容,但陷入了确定路径(相邻像素
)是否值得探索的问题。现在,我尝试添加一个相邻像素
,前提是生成的种子
相对于度量改进了错误
。然而,即使通过添加右侧
或左侧
邻接的度量
未得到优化,这两条路径中的一条
可能会导致未来的最优解(如第三个目标中所述)。您基本上概述了使用此方法可以获得的最成功的算法。它的成功与否在很大程度上取决于您用于添加/删除像素的度量,但是您可以做一些事情来模拟您想要的行为
定义
我们将调用正在优化的度量M
,其中M(R)
是区域R
的度量值,区域R
是一些像素集合。我假设优化度量将导致最大可能的值M
,但是如果目标是最小化M
以及,此方法也可以工作
方法论
此方法将稍微向后返回到原始轮廓,但它应满足两个要求:从种子添加位于非最佳路径中的像素,以及删除对优化没有显著影响的像素
我们将从种子s
开始,但我们将迭代地将图像中的所有像素(或最大特征大小)添加到我们的区域中,而不是边走边评估路径。在每一步中,我们将根据像素对当前区域度量的改进程度来确定像素值,M(p)
。这与包含像素的区域的值不相同(M(R)
,其中p
位于R
)。相反,它将是包含像素的区域的值与添加像素之前的区域的值的差(M(p)=M(R)-M(R'),其中R=R'+p
)。如果你有能力评估单个像素,你可以简单地使用它
下一个变化是在M(R)
中包含一个正则化参数,该参数根据包含的像素数对分数进行惩罚:N(R)=M(R)-a*|R |
其中a
是一些任意的正常数,|R |
表示我们区域中的基数(像素数)注意:如果目标是最小化M
,则a
应为负值。如果区域包含太多像素,则这将产生惩罚区域分数的效果
最后,在将所有像素添加到该区域并对每个像素计算N(p)
后,我们再次迭代该区域。这一次,我们从添加的最后一个像素开始,向后迭代我们的像素集,在种子s
处结束。在每次迭代中,确定区域N(R)
的分数。如果分数N(R)
自上一次迭代以来已下降,则我们移除分数最低的像素p
。这应该具有对分数贡献最大的区域中最小像素数的效果
其他考虑事项
如果修剪后剩余像素位于非连续路径上,则可以运行辅助算法来添加相邻像素。您需要进行测试以确定a
的最佳值,这样可以保留足够的像素来重建建筑,但它并不包括图像中的每个像素
我的意见(你没有要求)
总的来说,我认为你会更幸运地使用更健壮的算法,比如用于特征分类的算法。它们可能会比上述算法更快、更准确。你已经有了一个比较像素区域的度量,还是你也需要创建一个度量?@Aabglov我想是的,因为通过metric
我的意思是我有一种基本真理
我正在比较。基本上,在每个