注:博主并非旨在对针对文章中提及论文的实验设计、数据及结果进行逐一还原,而是针对其核心方法论或关键创新点,通过自行设计的实验流程进行验证与探索。若是完整的论文复现,会进行提前说明。
1 论文简介
《Image thresholding using Tsallis entropy》是由 M. Portes de Albuquerque、 I.A. Esquef、 A.R. Gesualdi Mello 和 M. Portes de Albuquerque 于 2004 年发表在期刊《Pattern Recognition Letters》上的一篇论文。该论文针对图像分割中的自动阈值选择这一经典问题,首次将源于非广延统计力学的 Tsallis 熵 概念应用于图像阈值分割。传统的基于 Shannon 熵 (即 Boltzmann-Gibbs-Shannon 统计)的阈值方法(如 Kapur 方法)本质上是 可加 的,适用于像素间相互作用短程、记忆短的系统。然而,许多图像(如具有长程相关性、纹理结构或噪声的影像)包含 非加性 的信息内容。为此,论文借鉴 Tsallis 熵,通过引入一个实数参数 qqq 来表征系统的 非广延性 程度,并基于此构建了一个新的阈值目标函数。
2 算法原理
假设一幅数字图像具有 kkk 个灰度级,其归一化直方图可视为一个概率分布 pi=p1,p2,...,pkp_i = p_1, p_2, \ldots, p_kpi=p1,p2,...,pk,其中 0≤pi≤10 \leq p_i \leq 10≤pi≤1 且 ∑i=1kpi=1\sum_{i=1}^k p_i = 1∑i=1kpi=1。
步骤一:定义前景与背景的概率分布
选择一个灰度级 ttt 作为候选阈值。图像被分为两类:前景(或目标,Class A,灰度级 111 到 ttt),背景(Class B,灰度级 t+1t+1t+1 到 kkk),这两个类别的概率分布分别为:
pA:p1PA,p2PA,...,ptPA p_A: \frac{p_1}{P^A}, \frac{p_2}{P^A}, \ldots, \frac{p_t}{P^A} pA:PAp1,PAp2,...,PApt
pB:pt+1PB,pt+2PB,...,pkPB p_B: \frac{p_{t+1}}{P^B}, \frac{p_{t+2}}{P^B}, \ldots, \frac{p_k}{P^B} pB:PBpt+1,PBpt+2,...,PBpk
其中,PA=∑i=1tpiP^A = \sum_{i=1}^{t} p_iPA=∑i=1tpi, PB=∑i=t+1kpiP^B = \sum_{i=t+1}^{k} p_iPB=∑i=t+1kpi,分别是前景和背景的累积概率。
步骤二:计算前景与背景的 Tsallis 熵
根据 Tsallis 熵的定义:
Sq=1−∑i=1k(pi)qq−1 S_q = \frac{1 - \sum_{i=1}^k (p_i)^q}{q - 1} Sq=q−11−∑i=1k(pi)q
分别计算前景和背景分布的熵值:
SqA(t)=1−∑i=1t(piPA)qq−1 S_q^A(t) = \frac{1 - \sum_{i=1}^{t} \left( \frac{p_i}{P^A} \right)^q}{q - 1} SqA(t)=q−11−∑i=1t(PApi)q
SqB(t)=1−∑i=t+1k(piPB)qq−1 S_q^B(t) = \frac{1 - \sum_{i=t+1}^{k} \left( \frac{p_i}{P^B} \right)^q}{q - 1} SqB(t)=q−11−∑i=t+1k(PBpi)q
这里,qqq 是非广延性参数,是一个实数。当 q→1q \to 1q→1 时, Tsallis 熵收敛为 Shannon 熵。
步骤三:构建基于伪可加性规则的总目标函数
对于统计独立的系统 A 和 B, Tsallis 熵遵循 伪可加性 规则:
Sq(A+B)=Sq(A)+Sq(B)+(1−q)⋅Sq(A)⋅Sq(B) S_q(A + B) = S_q(A) + S_q(B) + (1-q) \cdot S_q(A) \cdot S_q(B) Sq(A+B)=Sq(A)+Sq(B)+(1−q)⋅Sq(A)⋅Sq(B)
因此,以阈值 ttt 分割后,图像的总 Tsallis 熵 Sq(t)S_q(t)Sq(t) 定义为:
Sq(t)=SqA(t)+SqB(t)+(1−q)⋅SqA(t)⋅SqB(t) S_q(t) = S_q^A(t) + S_q^B(t) + (1-q) \cdot S_q^A(t) \cdot S_q^B(t) Sq(t)=SqA(t)+SqB(t)+(1−q)⋅SqA(t)⋅SqB(t)
步骤四:优化阈值
最优阈值 toptt_{opt}topt 是使上述总 Tsallis 熵 Sq(t)S_q(t)Sq(t) 最大化的那个灰度级 ttt:
topt=argmaxt[SqA(t)+SqB(t)+(1−q)⋅SqA(t)⋅SqB(t)] t_{opt} = \arg\max_t \left[ S_q^A(t) + S_q^B(t) + (1-q) \cdot S_q^A(t) \cdot S_q^B(t) \right] topt=argtmax[SqA(t)+SqB(t)+(1−q)⋅SqA(t)⋅SqB(t)]
算法遍历所有可能的灰度级 ttt,计算对应的 Sq(t)S_q(t)Sq(t),并找到其最大值对应的 ttt,即为最终分割阈值。参数 qqq 的值需要根据图像特性(如噪声类型、像素间相关性)进行调整,以获得最佳分割效果。
3 实验结果


4 参考文献
1\] De Albuquerque M P, Esquef I A, Mello A R G. Image thresholding using Tsallis entropy\[J\]. Pattern Recognition Letters, 2004, 25(9): 1059-1065. ## 5 MATLAB 代码