本实验的核心目标是编写Gibbs采样器算法,并在二值马尔可夫随机场上进行研究。我们改变Ising实验围绕Ising模型展开,通过模型参数观察采样结果的变化规律,从而深入理解马尔可夫随机场的基本性质。
Ising模型的理论基础
马尔可夫随机场(MRF)是一种定义在离散网格上的概率模型,用于描述随机变量之间的空间依赖关系。其核心思想建立在两个基本观察之上:
对图像建模时必须考虑像素之间的上下文关系,因为相邻像素之间存在强烈的统计相关性
局部邻域的信息就足够捕捉这种相关性,不需要考虑整幅图像的全局关系。
这种局部性假设大大简化了模型的复杂度,同时保留了建模的有效性。
站点集合与配置空间
定义站点集合 S = \{s\} \subset \mathbf{Z}^d,它是 d 维整数网格的一个离散有限子集。在二维图像中,d=2,每个站点 s 对应一个像素位置。每个站点上的取值 x_s 属于状态空间 E。对于所有站点上的随机变量,将其收集在一起得到随机场 X = \{X_s\}_{s \in S},而随机场中每个随机变量都取定具体值时,就得到一个配置 x = \{x_s\}_{s \in S},对应一幅具体的图像。所有可能配置的集合称为配置空间 \Omega = E^{|S|}。
Hammersley-Clifford定理与吉布斯分布
Hammersley-Clifford定理建立了马尔可夫随机场与吉布斯分布之间的等价关系。设 P(X = x) > 0 对所有 x \in \Omega 成立,则随机场 X 是MRF当且仅当其联合分布具有吉布斯形式:
其中全局能量函数定义为所有团势能的和:
每个团势能只依赖于该团内站点的取值,即
配分函数 Z = \sum_{y \in \Omega} \exp(-U(y)) 是归一化常数,确保概率之和为1。
这个定理的核心贡献在于将抽象的马尔可夫条件独立性转化为具体的能量函数形式——能量函数的可加性正是马尔可夫性质的代数体现。低能量 U(x) 对应高概率 P(X=x),因此寻找最可能的配置等价于最小化能量函数。
Ising模型的定义
Ising模型是最简单的MRF实例,在本实验中,状态空间为 E = \{0, 1\},每个像素只能取两个值,对应二值图像。邻域采用4-连通结构,每个像素与上下左右四个像素相邻。
单点团(1阶团)的势能设为零:
这意味着模型不对单个像素的取值施加偏好,只关注像素之间的关系。
二阶团(相邻像素对)的势能定义为:
或者写成指数形式:
参数 \beta > 0 控制相邻像素取不同值时的能量惩罚,若相邻像素取相同值时能量为零,这鼓励相邻像素取相同值,从而产生平滑的图像区域。
在4-连通邻域中,由于对角位置的像素不是邻居,任何三个站点中必有两个不相邻,因此不存在3阶或更高阶的团,因此Ising模型的全局能量完全由2阶团决定。
Q1 全局能量
对于Ising模型,全局能量等于所有二阶团势能之和。由于单点团势能为零,只需要统计所有4-连通相邻像素对中取值不同的对数。全局能量公式为:
即 \beta 乘以所有4-连通相邻像素对中取值不同的对数。
实验生成了一个 2 \times 8 的随机二值图像 imaU,其像素值为:
图片:imaU 的 2×8 二值图像可视化
在采用周期性边界条件的情况下,需要分别统计水平方向和垂直方向上所有相邻像素对中取值不同的对数。水平方向上,每一行的相邻像素对包括列与列之间的边以及最后一列与第一列之间的边。垂直方向上,由于图像只有2行,第一行与第二行之间的边就是全部的边
最终计算得到相邻像素取值不同的对数为 11,因此该图像的全局能量为:
Q2 8-邻域下的局部条件概率
局部条件概率的一般形式
MRF的条件概率具有局部吉布斯分布形式。根据马尔可夫性质,站点 s 的取值在给定所有其他站点取值的条件下的概率,等于仅给定邻域内站点取值的条件下的概率:
这个性质表明,一旦知道了邻域 \mathcal{V}_s 内所有站点的取值,邻域外的站点就不再提供关于 x_s 的额外信息。其具体表达式为:
其中局部条件能量定义为包含站点 s 的所有团的势能之和:
这个求和只遍历包含 s 的团,因为只有这些团的势能依赖于 x_s 的取值。局部配分函数对站点 s 的所有可能取值求和,确保条件概率归一化为1:
8-邻域下Ising模型的局部条件能量
本题要求使用8-邻域进行计算。在8-邻域下,每个像素与周围8个像素(上、下、左、右以及四个对角方向)都相邻。对于Ising模型的势函数
局部条件能量为:
即 \beta 乘以8个邻居中与 x_s 取值不同的个数。
具体计算
实验生成了一个 3 \times 3 的随机二值图像 imaVois,其像素值为:
图片:imaVois 的 3×3 邻域配置可视化
中心像素位于位置 (1,1),当前取值为 0。其8个邻居的取值为:
其中取值为0的邻居有4个,取值为1的邻居有4个。
当 x_s = 0 时,与 x_s 取值不同的邻居就是取值为1的邻居,共4个:
当 x_s = 1 时,与 x_s 取值不同的邻居就是取值为0的邻居,共4个:
对应的局部条件概率分别为:
由于邻居中取值为0和取值为1的个数恰好相等,两个类别的局部条件能量完全相同,因此两个类别概率相等,即当邻域中两种取值的数量相同时,中心像素没有倾向性。反之,如果邻居中某一类占多数,则中心像素会倾向于取多数类的值,因为此时该类对应的局部条件能量更低、概率更高。
Gibbs采样器的实现
Gibbs采样器通过逐个访问站点并局部更新来构建配置序列。算法按光栅扫描顺序遍历图像中的每个像素,对每个像素根据其4-连通邻域的当前配置计算局部条件概率,然后从该条件分布中随机采样一个新状态赋给该像素。
局部更新的计算过程
对于站点 (i,j),其4个邻居的索引通过取模运算实现周期性边界条件:
由于状态空间为 E=\{0,1\},与 x_s=0 取值不同的邻居恰好是取值为1的邻居,其个数等于4个邻居值的直接求和。因此局部条件能量的计算可以简化为:
对应的非归一化概率为
采样时生成一个 [0,1) 上的均匀随机数,若该随机数小于归一化后的 p_0/(p_0+p_1),则像素赋值为0,否则赋值为1。
采样过程的观察
在 128 \times 128 的随机初始二值图像上,以 \beta = 1.0 运行Gibbs采样器10次迭代。下图展示了采样过程中图像的演变(已简化图片数量):
[这里有一张图片:初始随机噪声图像]
[这里有一张图片:经过若干次迭代后的图像]
[这里有一张图片:经过若干次迭代后的图像]
[这里有一张图片:经过若干次迭代后的图像]
[这里有一张图片:经过若干次迭代后的图像]
[这里有一张图片:最终采样结果]
一共八个,这里图片显示用八宫格分开
可以观察到,初始图像是完全随机的噪声,黑白像素均匀分布。随着迭代次数的增加,\beta=1.0 的正则化约束使得相邻像素逐渐倾向于取相同值,开始出现连通区域,最终结果呈现出明显的结构区域,有明显的边界。
Q3结果的随机性
多次运行程序,不会得到相同的图像,首先因为初始二值图像通过np.random.rand 生成,因此初始图像在每次运行时都不同,其次采样过程本身有随机性,Gibbs采样器在每个像素处根据局部条件概率 P(X_s = x_s \mid V_s) 进行随机抽样,且采样结果也由 random.uniform(0,1) 生成的随机数决定,导致结果不同
但是在相同的 \beta 下,生成的样本都服从同一个吉布斯分布,因此具有相似的统计特性
Q4 参数 \beta 的影响
实验对 \beta 取值 0.0, 0.2, 0.5, 1.0, 2.0, 4.0, 10.0, 20.0,分别在 128 \times 128 的随机初始图像上运行Gibbs采样器30次迭代,观察采样结果随 \beta 的变化。
[这里有一张图片:\beta=0.5 的采样结果]
[这里有一张图片:\beta=1.0 的采样结果]
[这里有一张图片:\beta=2.0 的采样结果]
[这里有一张图片:\beta=4.0 的采样结果]
[这里有一张图片:\beta=10.0 的采样结果]
[这里有一张图片:\beta=20.0 的采样结果]
结果分析
当 \beta = 0.5 时,正则化约束很弱,图像噪声明显,但是已经开始出现小块的连通区域
当 \beta = 1.0 至 2.0 时,正则化作用明显增强,图像中出现了大面积的均匀区域,黑色和白色各自形成连通的块状结构,边界变得平滑。
当 \beta = 4.0 至 20.0 时,正则化约束较强,边界更加平滑,区域数目减少
参数 \beta 的物理意义是逆温度:
- \beta 越小相当于温度越高,系统趋于无序
- \beta 越大相当于温度越低,系统越倾向于低能量的有序状态
Q5 使全局能量最小的图像
Ising模型的全局能量为:
由于 \beta > 0 且每个团势能 V_c \geq 0,全局能量 U(x) \geq 0 恒成立。要使 U(x) 达到最小值,就需要让所有相邻像素对中取值不同的对数为零,即要求对所有4-连通相邻像素对 (s,t) 都有 x_s = x_t。这意味着整幅图像的所有像素必须取相同的值。
满足这一条件的配置有两个:全黑图像(所有像素取值为0)和全白图像(所有像素取值为1)。这两幅图像都使全局能量达到最小值 U = 0,不存在能量更低的配置。
Q6
实验对 \beta 取负值 -0.5, -1.0, -2.0, -4.0,分别运行Gibbs采样器30次迭代
[这里有一张图片:\beta=-0.5 的采样结果]
[这里有一张图片:\beta=-1.0 的采样结果]
[这里有一张图片:\beta=-2.0 的采样结果]
[这里有一张图片:\beta=-4.0 的采样结果]
结果分析
根据之前分析,全局能量为:
当 \beta < 0时,相邻像素取不同值时的能量贡献为负数,反而降低了全局能量。换言之,系统不再鼓励相邻像素取相同值,而是鼓励相邻像素取不同值。
当 \beta = -0.5 时,图像仍以噪声为主,当 \beta = -1.0 时,图像中黑白像素交替排列,这是因为每个像素都倾向于与其4个正交邻居取不同的值,当 \beta = -4.0 时,该现象非常明显,像素呈现效果如下:
综上所述,\beta > 0 鼓励同质性(相邻像素取相同值),极端情况趋向全黑或全白,\beta < 0 鼓励异质性(相邻像素取不同值)
非各向同性模型
前面的Ising模型对所有方向的二阶团施加相同的势能,属于各向同性模型。本节转向8-邻域下的非各向同性模型,即不同方向的二阶团可以具有不同的势能参数。
8-邻域下的方向分解
在8-连通邻域中,每个像素有8个邻居,对应4种方向的二阶团:
- 水平方向( \beta_h)
- 垂直方向 ( \beta_v)
- 对角线 \searrow 方向( \beta_{d1})
- 对角线 \swarrow 方向( \beta_{d2})
每个方向的团势能独立定义为:
- 正值参数(\beta > 0)惩罚该方向上相邻像素取不同值,鼓励该方向上的平滑性
- 负值参数(\beta < 0)奖励该方向上相邻像素取不同值,鼓励该方向上的交替排列
- 零值参数表示该方向无约束
排斥作用会在垂直于该方向上产生条纹结构,因为像素在排斥方向上交替排列,自然形成沿垂直方向延伸的条纹。
局部条件能量
在这个非各向同性模型下,站点 (i,j) 的局部条件能量为:
其中 n_{\text{dir}}^{\neq} 表示该方向上与 x_s 取值不同的邻居数量。对于 x_s = 0 的情况,各方向上取值不同的邻居数等于该方向上取值为1的邻居数。
Q7
实验通过逐步添加不同方向的团势能,依次生成图像A、B、C、D。Gibbs采样器被修改为接受4个独立的方向参数,在8-邻域下进行采样。
图像A:\beta_h = -1,\beta_v = 0,\beta_{d1} = 0,\beta_{d2} = 0
[这里有一张图片:Image A的采样结果]
仅有水平方向的排斥势能(\beta_h = -1)。水平方向上相邻像素倾向于取不同值,而垂直方向和对角方向没有任何约束。结果图像呈现出沿垂直方向延伸的短条纹结构,但由于只有一个方向受约束,整体结构不够规则,仍然包含大量噪声。
图像B:\beta_h = -1,\beta_v = +1,\beta_{d1} = 0,\beta_{d2} = 0
[这里有一张图片:Image B的采样结果]
在图像A的基础上,新增了垂直方向的吸引势能(\beta_v = +1)。水平排斥使相邻列的像素倾向于取不同值,垂直吸引使同一列的像素倾向于取相同值。两个约束协同作用,产生了非常清晰的垂直条纹结构——黑白列交替排列,且每列内部高度一致。相比图像A,条纹更加规整、连续,缺陷明显减少。
图像C:\beta_h = -1,\beta_v = +1,\beta_{d1} = -1,\beta_{d2} = 0
[这里有一张图片:Image C的采样结果]
在图像B的基础上,新增了对角线 \searrow 方向的排斥势能(\beta_{d1} = -1)。这个排斥作用使得沿 \searrow 方向的相邻像素倾向于取不同值。在已有的垂直条纹基础上,\searrow 方向的排斥引入了一个沿 \nearrow 方向的倾斜趋势,使原本笔直的垂直条纹产生了轻微的弯曲或倾斜。图像中的条纹不再是严格垂直的,而是呈现出略向右上方倾斜的趋势。
图像D:\beta_h = -1,\beta_v = +1,\beta_{d1} = -1,\beta_{d2} = +1
[这里有一张图片:Image D的采样结果]
在图像C的基础上,新增了对角线 \swarrow 方向的吸引势能(\beta_{d2} = +1)。\swarrow 方向的吸引使沿该方向的像素倾向于取相同值,配合 \searrow 方向的排斥,两者共同将条纹方向明确地引导为从左上到右下的倾斜方向。结果图像呈现出非常规则的斜向条纹纹理,黑白条纹沿 \nearrow 方向交替排列,结构高度有序。
参数配置总结
| 图像 | \beta_h | \beta_v | \beta_{d1}(\searrow) | \beta_{d2}(\swarrow) |
|---|---|---|---|---|
| A | -1 | 0 | 0 | 0 |
| B | -1 | +1 | 0 | 0 |
| C | -1 | +1 | -1 | 0 |
| D | -1 | +1 | -1 | +1 |
每一步新增一个方向的势能,逐步约束更多方向上的交互关系,使图像从无序噪声逐步演变为高度有序的定向条纹结构。排斥(负值)产生该方向上的交替排列,吸引(正值)产生该方向上的一致性,两者的组合决定了最终纹理的方向和规则程度。
Q8
实验将水平和垂直方向的势能设为零,仅保留两个对角方向的吸引势能:\beta_h = 0,\beta_v = 0,\beta_{d1} = 1.0,\beta_{d2} = 1.0。
[这里有一张图片:仅对角吸引的采样结果]
结果分析
采样结果呈现出三种不同的区域类型共存的特征。第一种是大面积的纯黑区域(全0)和纯白区域(全1),这些区域内部的像素在两个对角方向上都与邻居取相同值,对角吸引势能得到充分满足。第二种是明显的棋盘格纹理区域,黑白像素严格交替排列。
棋盘格区域的出现需要从对角方向的几何关系来理解。在二维网格中,一个像素 (i,j) 的两个对角邻居分别是 (i-1,j-1)、(i+1,j+1)(\searrow 方向)和 (i-1,j+1)、(i+1,j-1)(\swarrow 方向)。对于棋盘格配置,像素 (i,j) 的对角邻居 (i \pm 1, j \pm 1) 的行列坐标奇偶性之和与 (i,j) 相同(两个坐标同时加减1,奇偶性不变),因此在棋盘格中对角邻居与中心像素取相同值。这意味着棋盘格配置完全满足对角吸引约束,其对角方向的能量贡献为零,与全黑或全白配置相同。
从能量的角度看,全黑、全白和棋盘格三种配置在仅有对角吸引的模型下具有相同的局部能量,都是能量最低的局部结构。由于水平和垂直方向没有任何约束(\beta_h = \beta_v = 0),模型无法区分这三种结构,也无法阻止它们之间的边界形成。因此采样结果中这三种模式自由混合共存,形成了图像中观察到的复杂图案。
这个结果揭示了仅使用对角吸引势能的局限性:对角方向的吸引无法替代正交方向的约束。如果目标是生成类似标准Ising模型的大面积均匀区域,必须同时在水平和垂直方向上施加吸引势能,仅有对角约束会导致棋盘格等非预期结构的出现。