EMD(Earth Mover's Distance)概念及代码
来源:互联网 发布:机器人d-h算法 编辑:程序博客网 时间:2024/05/16 14:08
最近在做一点图像分割的工作。有一种做法是先对图像做过分割,然后再对分割后的小区域进行合并。合并时就需要衡量两个区域之间色彩分布的相似程度,这时就碰到了EMD(Earth Mover’s Distance,中文似乎是地动距离)
根据这个帖子,EMD是一种距离度量的定义,可以用来测量某两个分布之间的距离。EMD主要应用在图像处理和语音信号处理领域,在自然语言处理上很少有听说。
跟EMD有关的数学推导略去不表,直观地说,EMD实际上是线性规划中运输问题的最优解,即:已有的货物存在于仓库P1…PN中,存量分别是p1…pn,需要将货物运输至仓库Q1……QM中,其存量分别为q1…qm。从仓库P到仓库Q的距离用矩阵[d_ij]来描述。根据其物理意义,每个仓库Pi的出货量不能超过其存量,每个仓库Qj的进货量不能大于其容量,运输的货物总量不能超过p1…pn之和,也不能超过q1…qm之和。在此约束下,求代价最小的运输方案[f_ij],实际上就是求矩阵F,使得sum( sum( F .* D ) )最小(csdn编辑公式不便,这里用了MATLAB的语法)。我觉得比较有趣的一点是,这里的N和M不需要相等。
如果我们考察的不是货物的存量,而是概率分布,那么上面的不等式约束可以直接写成等式约束,库存就是特征取不同值时的概率分布,矩阵D是我们在两个特征之间定义的某种距离。这就是我遇到的问题。
这种线性规划的问题解法貌似不难,但是涉及到数值计算的话总是有很多麻烦事儿。幸好又有人造福大众了,地址在这里:FastEMD。作者提供了C、MATLAB、Java三种接口,只是要求如果你用这个工具包做实验,文章里需要引用他们的论文。
- EMD(Earth Mover's Distance)概念及代码
- Earth Mover’s Distance (EMD)
- 图像检索:EMD距离(Earth Mover's Distance)及纠错
- Earth Mover's Distance (EMD)距离
- Earth Mover's Distance (EMD)距离
- 向量相似度度量(一):EMD (Earth Mover's Distance)
- 向量相似度度量(二):EMD (Earth Mover's Distance)的MATLAB对照实现
- 图像检索中的相似度度量:EMD距离(Earth Mover's Distance)
- Earth Mover's Distance
- 学术常识—EMD(earth mover distance)距离
- The Earth Mover's Distance
- [转][译]一种度量准则:推土机距离Earth Mover's Distance(EMD)
- 衡量文档相似性的一种方法-----词移距离 Word Mover's Distance
- PostgreSQL earth distance module
- EMD和BEMD算法实现(matlab代码)
- 计算mover distance的问题,速度太慢了
- EMD
- EMD
- 关于socket阻塞与非阻塞情况下的recv、seng、read、write返回值问题
- java基础
- Some tips about layout
- Learning Vector
- 手机终端CPU之高通和ARM系
- EMD(Earth Mover's Distance)概念及代码
- ASP+ACCESS手工
- 三次握手
- Java_字符编码(Unicode、UTF-8、UTF-16)
- java设计模式 单例
- TCP和UDP的区别
- 5月13了。革命尚未成功,同志还需加油
- Android的基础学习:ListView的使用和Adapter
- POJ 3009 Curling 2.0