Robust Ellipse Detection With Gaussian Mixture Models.pdf
Robust Ellipse Fitting Using Hierarchical.pdf
前言
这次看的论文是《Robust Ellipse Fitting Using Hierarchical Gaussian Mixture Models》,讲述的是如何用多层级高斯混合模型去拟合椭圆。
目标
Robust Ellipse Detection With GMM
这一部分我们介绍在原论文《Robust Ellipse Detection With GMM》中,作者是如何用GMM去进行椭圆拟合的。
数据的原始分布
对于给定的一些观测数据点 ,作者假设数据的真实分布为GMM:
其中 h 为 bandwidth,用来控制噪声方差的大小。
:::danger
📌 改进
作者这里设置每个点的权重都是相等的,但我认为可以改进一下,比如用点的密度作为权重
:::
椭圆分布
首先,确定一个椭圆需要以下5个参数:
- 半长轴
- 半短轴
- 中心坐标 #card=math&code=%28x_0%2Cy_0%29)
- 旋转角
假设我们已经得到了这5个参数 ,我们就能在这个假定的椭圆上进行采样。
如果我们要采集 个点,那么我们从椭圆中心每隔 角度就取一个点,就像下面这样:
采样点的坐标为:
那么我们可以假设椭圆的分布为高斯混合分布:
其中,均值 和协方差矩阵 定义如下:
其中 , 和 分别代表椭圆在该点处的单位切向量与单位法向量:
是由 bandwidth 和 组成的对角矩阵:
:::info
这里非常巧妙,h 刚好对应 ,控制法线方向,也就是对误差的容忍度。
对应 ,控制相邻两个点之间的距离。
:::
为权重参数。
目标函数
作者使用 L2 范数来衡量两个分布之间的差异:
将范数展开:
注意,这里作者自己定义了两个高斯分布的内积:
:::danger
📌 疑惑
我很奇怪为什么作者要这样定义内积,说实话有点突兀,看不出来motivation是怎么来的
:::
由于 是固定的,所以只需考虑 和 即可
最终只需要优化 使得目标函数最小即可:
:::danger
📌 想法
衡量两个分布之间的差异,很自然的想法是用 KL散度
其中 d 是维度,考虑对称性,我们可以用 来衡量:
用KL来衡量高斯分布之间的差异是很方便的,但这里需要衡量两个高斯混合分布的差异,是非常难计算的。
并且也不能直接作为内积来定义。
所以,能不能根据KL散度来定义一个内积呢?
或者说,有什么近似方法可以计算GMM的差异呢?
:::
:::danger
📌 **疑惑
这里既然已经定义好了GMM,为什么不直接用EM算法训练高斯混合模型呢?
因为GMM的参数 都是由 控制的,
因此光是计算 a 的偏导 就已经相当复杂了,即使用EM算法也很难求解。
:::
问题解答
疑惑1
此处内积的定义就是单纯的积分,单开了一篇文章讲述
高斯分布的内积推导
想法2
后来看了论文《Robust Point Set Registration Using Gaussian Mixture Models》,里面提到 L2 距离和 KL 散度都是 density power divergence 的一种特例。