基于双高斯混合之间的 KL-散度近似的一种有效图像相似性度量
摘要
本文中,我们提出两种逼近两混合物之间的 Kullback-Liebler(KL)高斯
散度的新方法。第一种方法是基于高斯元素和两高斯混合密度的匹配。第二种方
法是基于无迹变换。所提出的方法运用于图像检索。基于高斯混合物与图像相似
性的 KL 方法的连续概率图像建模,在图像检索任务中有卓越的性能。所提出的
KL 近似方法的效率和性能运用两个模拟数据和实际图像数据进行证明。实验结
果表明,我们提出的近似值超越先前的方法。
1、前言
图像匹配是基于内容的图像比较方法的一个重要组成部分。最重要的例子是
图像数据库检索系统。图像匹配技术可以根据两个参数特征来分类。第一个是图
像代表性的方法,第二个是为了在选定的表示空间比较图像而适当定义的距离测
量。一个标准的表示方法是颜色直方图。这种方法的优缺点被很好地研究,结果
存在许多差异。许多方法提出两个直方图(如χ2 统计,KL-散度)之间的差异[9].
替代图像表示是一个基于高斯模型混合(MOG)[1][3] 的连续概率框架 。KL-散
度是一个表示两个高斯混合图像之间自然差异性的方法。然而,由于不存在对 2
个 MoGs KL-散度的闭合表达形式,计算该距离的方法是用 Monte-Carlo 模拟。
Monte-Carlo 模拟可能导致计算复杂显著增加,这是基于图像检索系统的一个主
要缺点。本文中,我们的目的是通过两种近似两高斯混合的 KL-散度的新方法来
解决该缺陷。第一种是对 Vasconcelos[10]提出的近似方法的改进。该方法是基于
两个 MOG 密度的高斯元素和两个高斯 KL-散度在一个闭区间解的存在性之间的匹
配。第二种方法需要多一点的处理时间,但可以给出更好的结果。它是基于
Juiler and Uhlmann [4]无迹变换。本文的其余部分组织如下。第 2 节回顾使用
高斯混合物的图像建模 。第 3 节,我们提出一种简单计算两种高斯混合的 KL-
距离的近似值的方法。第 4 节,我们提出基于无迹变换另一种近似。第 5 节,我
们比较各种 KL-散度近似值的性能和计算效率。分别从获得的两个模拟数据和模
拟真实图像获得的 MOG 密度进行比较。
2、MOG 图像建模
我们的图像建模为一组连贯的区域。图像平面的每个均匀区域代表一个高斯
分布,并且该图像中的所有组区域通过高斯混合模型来表示。因此,该图像被看
作是高斯模型生成混合物的实例。这里我们着重于颜色特征。特别是我们在颜色
特征空间为每一个图像建立高斯混合模型。应当指出的是,表示模型是一个通用
的,并且可以包括任何期望的特征空间(如质地,形状),或它们的组合。在所
选择的色彩空间,提取由代表每个像素的三维颜色描述符作为颜色特征。在这项
工作中,我们选择在被 Wyszecki and Stiles [11]证明是视觉均匀的(L,A,B)
颜色空间中工作, 因此,在这个空间距离是有意义的。为了包括空间信息,该
像素的(X,Y)位置是被附加到特征矢量。使位置能够成为本地化表示。每个像
素通过 5 维的特征向量(L,A,B,X,Y)表示 。像素通过在所选择的 5 维的特
征空间分组特征向量被划分为均匀区域,。用期望最大化(EM)算法来确定 K 高
斯混合物的最大似然参数。用最小描述长度(MDL)原理 在 k 值之间进行选择。
在我们的实验中,k 的范围为 4—8。图 1 给出学习一个给定输入图像的 MOG 模型
的例子 。这个可视化高斯混合显示为一组椭球。每个椭圆代表着支持,意味着
颜色和空间布局,在图象的特定高斯平面上。采用该学习模型(中心)的原图像
的每个像素附属于最可能的高斯,提供了一个概率图像分割(右)。
图 1.输入图像(左图)。通过高斯(中心)混合物的图像建模 。利用学习模型的图像分割(右)。
给定图像的一个密度函数的表示,我们可以在两个图像之间定义一个相似
性度量作为各图像密度模型的 Kullback-Liebler 发散[8]。在表示离散(直方图)
的 情 况 下 ,KL-divergence 可 以 轻 易 获 得 。 然 而 , 对 于 两 种 高 斯 混 合 物 的
KL-divergence 之间不存在闭合形式的表达式。相反,我们可以使用 Monte-Carlo
模拟来近似 2 个 MOGS 的 KL 散度,f 和 g:
KLfg = flogfg
≈1nt=1
n logf(xt)
g(xt)
这样,x1,...,xn 从 f(x)采样。这种方法的问题是,由于其庞大的复杂性使得
它不能在图像检索系统中使用。在下一节,我们提出了两种可供选择的确定性近
似值,比 Monte-Carlo 方法简单有效。
3、近似匹配
和gx = j=1m βjgjx
让fx = i=1n αifix
成 为 两 个 混 合 密 度 , 其 中α=
α1,…,αn 和β= β1,…,βm 是离散分步,fi,gj是任意连续密度。假定获得一个封闭
形式的 KL 散度表达式KLfg 是不可能的,但是可以分析计算每对fi,gj对应部分
的 KL 散度。在本节中,我们基于混合物组合之间的 KL 散度KLfi gj 提出近似
表达式KLfg 。
KL 散度[2]的凸性定义为:
n αifi
mβjgj
KL i=1
j=1
≤ i,j αiβjKLfi gj
.
由此产生的加权平均近似得出 KL-散度的一个近似值。这种近似过于粗糙,
尤其是当每个混合密度是单峰分布的或则模式相距甚远。一个更好的近似值可以
通过将 g(x)的每一成分匹配到 f(x)的各成分来获得。需要一个 f(x)和 g(x)的组成
部件之间的匹配函数。
我们提出下面的基于近似的匹配:
n αi
n αi
KLfg =i=1
filogg
filogfi=1
n αi
n αimaxj
≈i=1
filogαifi−i=1
filogβjgj
n αimaxj(KL fi gj)+logαiβj
=i=1
.
主导地位的是fi的近似求
这个近似是基于这样的假设公式中占积分 filogg
和 jβjgj
配函数π: 1,…,n →(1,…,m)如下:
提出的元素 f 和元素 g 之间的近似匹配函数。定义组分 f(x)和 g(x 之间的)匹
.
πi =argminj KLfi gj +logαiβj
利用π我们可以得出以下近似公式:
KLmatchfg = i=1n αi(KLfi gπi +log αiβπ(i))
.
.
(1)
(2)
3 高斯混合和 4 高斯混合之间可能的匹配
图 2.
图 2 显示了一个可能的匹配函数。f 的几个组件可以和 g 的相同组件进行匹
配。可以有 g 的组件没有和 f 的组件匹配。
接下来,我们专注于图像检索中的应用。下面的情况是常见的图像检索系统:
给定的查询混合物密度 f 和一个家族混合物密度gt ,我们希望将 f 与密度用最
小化的距离准则KL(fgt)进行关联。(在基于内容的图像检索系统中,混合物的
密度被用作图像模型,KL 度量被用作距离测量,参见[3])。
由于
n αi
argmintKLfgt =argmaxti=1
filoggt
(3)
.我们可以应用近似:
对每个 MoG g,我们值需要计算 flogg
mβjgj )
filogβjgj
filog (j=1
≥maxj
n αi
n αi
filog (βπ(i)∙gπ(i))
filogg
≈i=1
=i=1
flogg
下界近似:
其中匹配函数π定义在表达式(1)。
可以被看做一个两步模型。在第一步中,我
所提出的近似值将在第 5 节验证是合理的。作为动机的逼近,我们表明未来
提出的近似(方程 2)可以被看作是两个 MOGS 的完整版本之间的 KL 散度。
一个混合模型fx = i=1n αifi(x)
们抽取随机变量 I 根据pI=i =αi.在第二步中,我们抽取观察到的连续随机变
量 X 根据fxi =fi(x).完整的数据由潜在的和观察的数据联合得出。与混合密度
函数 f(x)相关的完整数据密度函数是fi,x =fifxi =αifix.需要注意的是潜
n αiKL(figi)
KLfi,x fi,x =KLfi gi +KLfxi gxi =KLαβ +i=1
变量 f 和 g 使用相同的字母(即 n=m),则完整的 KL-分歧 与 f 和 g 相关联的数
据密度是明确定义的,并具有下列封闭形式的表达式:
因此:
隐藏的随机变量,我们可以得到一个更紧密的绑定:
n αilogαiβi
KLαβ =i=1
.
相对熵的链式法则[2]暗示:KLf(x)g(x) ≤KLfi,x gi,x .
因此,我们得到KL(fg)的上界。由于 MoG g(x)不变的是字母表中的排列
n αi(KLfi gsi +log αiβs(i))
KLf(x)g(x) ≤minsi=1
这样在集合{1,…,n}的所有n!个排列中进行最小化。这种仅适用于特别当 n= m
时的近似,可以计算由复杂度较高(O(n3))的分配算法[7]。
. 设π是在式(1)中定义的匹配函数。我们可以
我们回到一般情况g= j=1m βjgj
建立一个新的混合密度: gπx=1Cπ i=1n βπ(i)∙gπi(x)
这样Cπ是标准化标量 i=1n βπ(i)
.MoGgπ是g 的组分组成的混合物的密度和它的组
件相同数目为f(x)。标准信息理论操作表明,提出的近似(公式2)中可以改
KLmatchfg =KLfi,x gπi,x −log(Cπ)
写如下:
使得 f(i,x)是完整的数据密度包括混合物密度的隐藏离散变量,即fi,x =αifix
和gπi,x = 1Cπβπigπi x.
因此,所提出的近似是基于两个原则。第 1 个原则是将 f(x)的每个分量和 g(x)
的其中一个分量进行匹配。这种匹配能确保两个混合模型的隐变量定义在同一个
字母,考虑完整的密度数据版本中的 KL 散度是有意义的。第 2 个原则是通过相
关的完整数据函数的距离来近似两混合物密度间的距离。
到目前为止,我们开发了一个对于一般混合模型的近似方法。现在,我们将
集中讨论高斯混合(MOG)的情况。高斯Nμ1,ϵ1 和N(μ2,ϵ2)之间的 KL-散度
是:
给定两个混合高斯
12 logϵ1ϵ2 +Trϵ2−1ϵ1 + μ1−μ2 Tε2−1μ1−μ2
n βjN(μ2,j,ϵ2,j)
n αiN(μ1,i,ϵ1,i)
和g=j=1
f=i=1
.
(4)
将表达式(4)插入到近似式(2)中可以得到 MoG 情况下的近似 KL-散度。
洛斯[10]提出另一种计算两个 MoGs 之间近似 KL-散度。该方法类似于本节
的一个介绍。唯一不同的是,在[10]中使用的这两个 MoGs 的元件之间的匹配函
在我们的方法中:
数π是基于马氏距离:πi =argminj(μ1,i−μ2,j Tε2,j−1μ1,i−μ2,j) (5)
πi =argminj 12 logϵ2,jϵ1,i +Trϵ2,j−1ϵ1,i + μ1,i−μ2,j Tε2,j−1μ1,i−μ2,j
−logβj
.
在第 5 节,我们经验比较这两个变式的表现。
4. 无迹变换的逼近
如果高斯元素是相距甚远,在基于近似方法的匹配得到较好 KL-散度。然而,
如果存在高斯元素之间的显著重叠,g(x)的单个组分和 f(x)的各组分之间
的匹配变得不准确。用随机匹配代替确定性匹配,我们可以很容易观察到近似匹
配(2)可以写成:
mαiφij(logαiβj+KL(figj))
n
KLmatchfg =minφi=1
j=1
其中φ是一个 n*m 的随机矩阵,即最小化对所有的随机矩阵产生一个确定性
的匹配。
为了处理我们提出一种基于无迹变换另一种近似重叠的情况。无迹变换是用
于计算一个经过非线性变换随机变量[4]的统计方法。它是成功地用于非线性
过滤。UKF(The Unscented Kalman filter[5])比 EKF(the extended Kalman
filter)更准确,更稳定和更容易实现。在高斯噪声情况下,它也比基于蒙特卡
罗(Monte-Carlo)模拟的粒子滤波器更好。不像 EKF 使用非线性函数泰勒展开
式的一阶项,UKF 使用真实的非线性函数和输出函数的近似分布。在本节中我们
将展示我们如何能够利用无迹变换机制,获得近似两个 MoGs 之间的 KL-散度。
设 x 是一个 d 维的正态随机变量x~f(x)=N(μ,ϵ), 设hx:Rd→R 是一个任意
的非线性函数。我们想要用 fxh(x)dxdx
逼近h(x). 该无迹变换的方法如下。一
k=1,…,d
组 2d“sigma”点选择如下:xk=μ+ dϵ k
xd+k=μ− dϵ k
k=1,…,d
其 中( ϵ)k 是 矩 阵ϵ 的 第 k 列 的 平 方 根 ,UDUT 是ϵ 的 奇 异 值 分 解 ,U=
U1,…,Ud ,D=diag 1,…,d ,( ϵ)k= kUk.这些样本点完全捕捉了 f(x)的
均值和方差(见图-3)。点xk k=12d 的均匀分布为μ 协方差为ϵ .鉴于“sigma”点,
我们定于了以下近似:
fxh(x)dxdx
≈12dk=1
2dh(xk) .
(6)
虽然这种近似算法类似于蒙特卡洛方法, 但是没有随机抽样只需要这么少的
点数。基本无迹的方法可以推广。高斯分布的均值 μ也可以包含在集合“sigma”
点中。缩放参数可以提供一个额外的自由度来控制“sigma”点进一步接近μ的
比例[6]。在本文中,设定分布的维数为 5(见第 2 节),μ在设定西格玛点没有
造成任何性能上的提升。
可 以 验 证 , 当 h ( x ) 是 一 个 二 次 函 数 则 近 似 精 确 。 例 如 , 当hx =
logNμ2,ϵ2,hx 是x 的二次函数。因此,表达式(4)的变形式(6)是计算
两个高斯分布之间准确的 KL-散度的方法。当 h(x)是 MoG 的对数密度函数时,表
达式(6)是一个近似值。鉴于高斯两种混合物:
的近似值是:
n βjN(μ2,j,ϵ2,j)
n αiN(μ1,i,ϵ1,i)
f=i=1
和g=j=1
基于无迹变换 flogg
12di=1
2dlogg(xi,k)
n αi k=1
k=1,…,d
xi,k=μ1,i+(dϵ1,i)k
(7)
k=1,…,d
xi,d+k=μ1,i−(dϵ1,i)k
其中:
5.试验评价
为了比较所提出的近似值的准确性以及加工效率,我们进行了基于图像相
似性检索任务的以下模拟。在每次检索中,我们抽取一个随机 MoGf 作为查询对
象,抽取另外四个随机 MoGsgt 作为一个数据集。任务是当给定一个 f 时,找到
该数据集中与它最相似的成员,也就是说,检索任务是找到:
argmintKLfgt =argmaxt
floggt
.
根据下列规则对高斯混合模型随机采样。在 MoG 内高斯的数量在 4-8 中均匀
的选择。所有的高斯函数的维数是 5。对于每个高斯N(μ,ϵ),μ从N(0,I)中取样,
ϵ从如下的 Wishart 分布从取样。矩阵A5×5的元素从 N(0,1)中独立抽取,同时
令ϵ=εAAT.参数ε控制协方差矩阵的大小。当我们减小ε,构成 MoG 的高斯将进
一步分开。使用高斯之间的匹配,因此近似 KL-散度变得更加重要。我们比较的
近似方法有:基于马氏的匹配方法记为马氏匹配(表达式 5),我们的匹配基于
近似记为 KL-匹配(表达式 2 和 4),在第四节中介绍无迹变换近似和 100 个样本
的蒙特卡罗模拟描述。我们把基于使用 10,000 个样本的蒙特卡罗模拟的检索结