信息熵相关补充
昨天涉及到了互信息基础上的发展,今天稍微说一下印象深刻的几个吧(毕竟发展出来的变种太多了啊)。
归一化互信息
$$NMI(A,B) = \frac{H(A)+H(B)}{H(A,B)}$$
归一化互信息与互信息相比更平滑(有时间我补个图吧),归一化互信息降低了对重叠部分的敏感性(配准过程中,会出现H(A,B)增大,同时H(A)h和H(B)也增大且增量大于H(A,B)增量的情况,此时根据互信息的计算公式,互信息反而增加了,带来了配准误差。),一定程度上提高了配准的精度。之前忘记说明互信息的范围,不过很容易推导出其取值范围为[0,n),其中n是大于0的任意实数,而归一化互信息把测度调整到了[1,2]区间内。
熵相关系数
$$ECC(A,B) = \frac{I(A,B)}{H(A) + H(B)}$$
我觉得熵相关系数和归一化互信息是等价的,都是互信息的归一化处理,而我个人更喜欢用ECC,因为它的取值范围刚好是[0,1],这使得用起来很舒服。
Kullback-Leibler差异
Kullback-Leibler差异也叫做相对熵、KL距离,我个人喜欢叫KL距离,我们用\(D_{KL}(\bullet)\)表示KL距离的话:
$$D_{KL}(A|B) = \sum p_{A}(x)log_{2}\frac{p_{A}(x)}{p_{B}(x)}$$
KL距离表示用B的分布去表征A时,信息的平均增量。 已知时间集合中某个事件发生时,按照A的分布,其信息量为\(-p_{A}(x)log_{2}p_{A}(x)\),若按照B的分布估计时,其信息量为\(-p_{B}(x)log_{2}p_{B}(x)\),信息增量为\(p_{A}(x)log_{2}\frac{p_{A}(x)}{p_{B}(x)}\),因此用B去近似估计A时的平均信息增量就是KL距离了。
因为我们用B去近似估计A时,若A和B的分布不完全相同,势必会存在一定的不确定度,而当A和B同分布时,不确定度为0,所以KL距离也是非负的(不过KL距离不满足对称性,在此基础上有了对称KL距离测度)。
熵图
前面也说到互信息等是很好的多模态图像相似度测度,但是并没有考虑到像素本身以及邻域的结构信息,所以有了局部熵图。它反映了当前像素点所在邻域内信息丰富情况,一定程度上反映了局部信息,不过通常局部熵图很“粗糙”,看上去像非常差的边缘提取结果一样。不过也有很多解决方法,比如和脉冲皮层发放模型结合,其结果明细“细化”了很多;此外还可以和图像的梯度等信息结合,这些方法思路往往是将两个模态的图像转化为同一特征空间下“中间图像”,在此基础上完成配准过程,我想在之后的随笔中写一下(继续埋坑坑自己)。