图像是否由空间连接的单独区域组成的统计量度

机器算法验证 方差 空间的 模式识别
2022-02-17 15:21:23

考虑这两个灰度图像:

河 随机的

第一张图片显示了蜿蜒的河流模式。第二张图片显示随机噪声。

我正在寻找一种统计方法,可用于确定图像是否可能显示河流模式。

河流图像有两个区域:河流 = 高价值,其他地方 = 低价值。

结果是直方图是双峰的:

在此处输入图像描述

因此,具有河流图案的图像应该具有高方差。

然而,上面的随机图像也是如此:

River_var = 0.0269, Random_var = 0.0310

另一方面,随机图像具有较低的空间连续性,而河流图像具有较高的空间连续性,这在实验变异函数中清楚地表明: 在此处输入图像描述

与方差“总结”一个数字中的直方图的方式相同,我正在寻找一种空间连续性的度量来“总结”实验变异函数。

我希望这个措施在小滞后比大滞后更难“惩罚”高半方差,所以我想出了:

 sv一种r=H=1nγ(H)/H2

如果我只从 lag = 1 加到 15 我得到:

River_svar = 0.0228, Random_svar = 0.0488

我认为河流图像应该具有高方差,但空间方差低,因此我引入了方差比:

 r一种一世=v一种r/sv一种r

结果是:

River_ratio = 1.1816, Random_ratio = 0.6337

我的想法是将此比率用作图像是否为河流图像的决策标准;高比率(例如 > 1)= 河流。

关于如何改进事情的任何想法?

提前感谢您的任何答案!

编辑:按照 whuber 和 Gschneider 的建议,这里是使用Felix Hebeler 的 Matlab 函数使用 15x15 反距离权重矩阵计算的两幅图像的 Morans I :

河流_M 随机_M

我需要将每个图像的结果汇总为一个数字。根据维基百科:“值范围从 -1(表示完美分散)到 +1(完美相关)。零值表示随机空间模式。” 如果我总结所有像素的 Morans I 的平方,我得到:

River_sumSqM = 654.9283, Random_sumSqM = 50.0785 

这里有很大的不同,所以 Morans I 似乎是空间连续性的一个很好的衡量标准:-)。

这是河流图像 20 000 次排列的该值的直方图: 排列直方图

显然 River_sumSqM 值 (654.9283) 不太可能,因此河流图像在空间上不是随机的。

3个回答

我在想高斯模糊充当低通滤波器,留下大规模结构并去除高波数分量。

您还可以查看生成图像所需的小波比例。如果所有信息都存在于小尺度小波中,那么它很可能不是河流。

您可能会考虑河流的一条线与其自身的某种自相关。所以如果你拿河流的一行像素,即使有噪声,并找到与下一行的互相关函数,那么你就可以找到峰值的位置和值。该值将远高于随机噪声所获得的值。除非您从河流所在的区域挑选一些东西,否则一列像素不会产生太多信号。

http://en.wikipedia.org/wiki/Gaussian_blur

http://en.wikipedia.org/wiki/Cross-correlation

这有点晚了,但我无法抗拒一个建议和一个观察。

首先,我相信更“图像处理”的方法可能比直方图/变异函数分析更适合。我会说EngrStudent 的“平滑”建议是在正确的轨道上,但“模糊”部分会适得其反。需要的是保平滑器,例如双边滤波器中值滤波器它们比移动平均滤波器更复杂,因为它们必然是非线性的。

这是我的意思的演示。下面是两个近似您的两个场景的图像,以及它们的直方图。(图像均为 100 x 100,具有标准化强度)。

原始图像 原始图像

然后,对于这些图像中的每一个,我应用 5 x 5 中值滤波器 15 次*,在保留边缘的同时平滑模式。结果如下所示。

平滑图像 平滑图像

(*使用更大的滤镜仍会保持边缘的鲜明对比,但会平滑它们的位置。)

请注意“河流”图像仍然具有双峰直方图,但它现在很好地分为 2 个分量*。同时,“白噪声”图像仍然具有单分量单峰直方图。(*通过例如Otsu 的方法轻松阈值化,以制作掩码并最终确定分割。)


其次,你的形象肯定不是一条“河流”!除了它过于各向异性(在“x”方向上拉伸)之外,蜿蜒的河流可以用一个简单的方程来描述,它们的几何形状实际上更接近于正弦曲线而不是正弦曲线(例如,请参见此处此处)。对于低幅度,这大约是一条正弦曲线,但对于较高幅度,环路变得“翻转”(XF[是的]),这在本质上最终会导致截止

(对不起,我的训练是作为一名地貌学家,最初)

一个可能会立竿见影的建议(或者可能根本不起作用,但很容易消除)-您是否尝试过查看图像强度直方图的均值与方差的比率?

拍摄随机噪声图像。假设它是由随机发射的光子(或类似的)撞击相机产生的,并且每个像素同样可能被击中,并且您拥有原始读数(即未重新缩放值,或者以您可以撤消的已知方式重新缩放) ,那么每个像素的读数数量应该是泊松分布的;您正在计算在固定时间段(曝光时间)内多次(在所有像素上)发生的事件(光子撞击像素)的数量。

如果河流具有两种不同的强度值,则混合了两种泊松分布。

然后,测试图像的一种非常快速的方法可能是查看强度的均值与方差的比率。对于泊松分布,均值将近似等于方差。对于两个泊松分布的混合,方差将大于均值。您最终需要根据某个预设阈值测试两者的比率。

它非常粗糙。但如果它有效,您将能够计算必要的足够统计数据,只需遍历图像中的每个像素:)