gpt4 book ai didi

python - 基于边缘像素图的图像分割

转载 作者:IT老高 更新时间:2023-10-28 21:49:19 25 4
gpt4 key购买 nike

我已经在 Python 中训练了一个分类器,用于将细胞图像中的像素分类为边缘或非边缘。我已经在一些图像数据集上成功地使用了它,但是在这个特定的数据集上遇到了问题,即使在人眼看来也很模糊。我不知道任何现有的可以准确分割它的自动化技术。

预测后得到如下图:

Prediction image

我对图像处理比较陌生,不确定如何继续实际获得细胞的最终分割。我曾简单地尝试过几种不同的技术——即霍夫圆形变换、水平集、骨架化、轮廓查找——但没有一个能真正做到这一点。我只是没有正确调整参数还是有更好的技术?

顺便说一下,这里是正确的轮廓,供引用。

Correct outlines

还有原图:

enter image description here

以及连续概率图:

Continuous probability map

最佳答案

在边界检测方面做得很好。我曾经研究过类似的分割问题。

理论:

一旦您获得边缘图,其中 e(i,j) 表示像素 i,j 的“边缘”程度,您希望分割尽可能尊重边缘图的图像。
为了以更正式的方式制定这个“尊重边缘图”,我建议您查看Correlation clustering (CC)。功能性:
CC 功能基于相邻像素之间的成对关系来评估分割的质量,无论它们应该在同一个簇中(它们之间没有边缘)还是在不同的簇中(它们之间有边缘)。
查看 aforementioned 的第 7.1 节中的示例纸。
CC 也用于医学(神经元)成像中的类似分割问题,参见例如 here .


练习

一旦您说服自己 CC 确实是解决您的问题的合适公式,仍然存在如何将二进制边缘图准确转换为 CC 可以处理的亲和矩阵的问题。请记住,CC 需要一个(通常是稀疏的)邻接矩阵作为输入,其中假设属于同一段的像素对为正项,假设属于不同段的像素对为负项。

这是我的建议:

  1. 边缘图中的边缘看起来很粗,定位不好。我建议将非最大抑制或形态细化作为预处理阶段。

  2. 一旦你有了更好的本地化边缘,你就可以忽略“边缘”像素,只使用“非边缘”像素,我们称它们为“事件”。
    两个相邻的事件像素:它们之间没有“边缘”像素 - 它们应该在一起。所以immidiate neighbors的邻接矩阵应该有正整数。
    考虑一条线上的三个像素,两个端点是“事件”像素:如果中间一个是边缘,那么两个事件像素不应该属于同一个簇——邻接矩阵中的相应条目应该是负数。如果中间像素也处于事件状态,则邻接矩阵中的相应条目应该是正数。

  3. 考虑所有可能的相邻对和三元组(诱导 24 连接的网格图)允许您构建具有适合 CC 的正负条目的亲和矩阵。

  4. 给定一个矩阵,您应该搜索具有最佳 CC 分数的分割(优化阶段)。我有这个 here 的 Matlab 代码.您也可以使用优秀的openGM包。

  5. 优化将仅对事件像素进行分区,您可以将其映射回输入图像域,将边缘像素保留为未分配给任何段。

关于python - 基于边缘像素图的图像分割,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18972932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com