图像检索:EMD距离(Earth Mover's Distance)及纠错
2014-05-09 14:35
441 查看
转载请注明:http://blog.csdn.net/zhangping1987/article/details/25368183
在理解EMD距离模型时,需要先对《运筹学》中运输问题,做一下了解。下面给出几个运输问题的小例子,作为补充知识:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/ca3899351523df4c6aa2a11e13ab7f5f)
那么,对于上述问题我们发现是一个 产量=销量=500 ,即产销平衡的问题,可以提出这样的数学模型:
假设
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/cce9138ca0b742b4729e5844d026f812)
运到
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/b0356cd63f374775785d3e3701e3b5aa)
物品的个数为
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/2c58baca121af97f7b140aca36cd333f)
,用
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/b9259c014990c5bd727e0964845c0e0f)
代表
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/cce9138ca0b742b4729e5844d026f812)
运到
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/b0356cd63f374775785d3e3701e3b5aa)
单个物品的运费(在上述表格中都有),用
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/67af277a4b59b6fafa271b3d9a09ec76)
表示产地
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/cce9138ca0b742b4729e5844d026f812)
的产量,
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/97680966dd55aa70e68ffffc87a505b9)
表示销地
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/b0356cd63f374775785d3e3701e3b5aa)
的销量,则总运费为
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/ea5c8382d8fb333d701dc35cbdc5d444)
,使总运费最小的数学模型为:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/0bfc2375d9144634260bed81d1cb41db)
还有令两种可能就是 产量>销量 或者 产量<销量,这里不做模型的讨论,上面三种运输问题都可以用单纯形法进行求解。因为只有当“产量=销量”即:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/af5a1261bfa52b3149c25fdd426abd4b)
时,EMD是作为距离的。
以下给出EMD距离的具体定义和相关证明
————————————————————————————————————————————————————————————————————————————
EMD是由 2000年YOSSI RUBNER在《The Earth Mover's Distance as a Metric for Image Retrival》论文中提出的。
设
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/8ad63f099298f4cc42efd3f6d646eac9)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/eef894d3defb09171b5d05d9c7391be8)
其中
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/32c61b4f7ee1631053b239b93034ee5c)
,
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/9d8fd3690efd1dad646e6716e80c42d5)
代表一张图片的特征,
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/d808cf51fc82bee6c6409e708f3cd5ce)
代表另一张图片的特征,
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/db0357d1b248b64e04e89cd71e59c1bd)
代表特征
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/9d8fd3690efd1dad646e6716e80c42d5)
的权重,
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/6cc4b1d0cfbfc2a03cdd99162684de61)
代表特征
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/d808cf51fc82bee6c6409e708f3cd5ce)
的权重,
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/b9259c014990c5bd727e0964845c0e0f)
代表
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/9d8fd3690efd1dad646e6716e80c42d5)
和
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/d808cf51fc82bee6c6409e708f3cd5ce)
之间的距离(L1,L2,等距离),
通过以下最优化问题:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/c4857c1153c57b90507831a05dfe0a4a)
解出
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/2c58baca121af97f7b140aca36cd333f)
,EMD的定义为:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/31e167c5cbf12451519eb2dc132b53d7)
。
我们知道距离定义必须满足三点:正定性,齐次性,三角不等式,正定性和齐次性很容易证明。下面主要证明三角不等式。作者YOSSI RUBNER证明了,当
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/af5a1261bfa52b3149c25fdd426abd4b)
时,EMD是满足三角不等式的,即EMD是距离。
所以注意:在使用EMD距离时,要让权重的和是相等的。
三角不等式:
设
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/3ea92c20058bdf5327f1c2f7a649c3c5)
是
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/ca57256a1a1d296d33ba14cf2544a337)
到
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/e8c8f3f883d18bd63f4d39601397bc59)
的最优化解,
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/42b885c7a167a58fea030e1d99e8a57e)
是
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/2e85e50dbe9d49b30fba0c33f6093918)
到
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/b5091add254900b9068cf07fb2557583)
的最优化解,其中
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/28171357ee3a7cc69f71b802bd5639b5)
,
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/5a01b8a12d6e2c59e03b7db8c7acca27)
,
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/c702d540dc8402c3f8ea54849772aeff)
,
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/2178deafd79f46df7fe8716ecb51c8a2)
。
需要证明三角不等式:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/c6298748b8e91ca574b01eb86863d57d)
。
证明:我们首先找到从
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/ca57256a1a1d296d33ba14cf2544a337)
到
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/b5091add254900b9068cf07fb2557583)
的最优化问题的可行解为
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/356ecba5b055bed9ad17784b37314856)
。
我们设
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/759f288a5b547ff9d5506d03bfecd214)
代表从第
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/3caae0df7c8b84ed787a8b40a965ef70)
个“产地”(
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/ca57256a1a1d296d33ba14cf2544a337)
)中转到第
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/ec68f4c427bc6ce87e7e945f69f32a46)
个中转地(
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/e8c8f3f883d18bd63f4d39601397bc59)
),再运到第
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/54be5039aee27c4c5f4f208cb856c7d3)
个销地(
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/b5091add254900b9068cf07fb2557583)
)的“物品”的数量,则我们可得到:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/fd41c475f39c34885fa6d225f255e30b)
,
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/fa75139d478cee374da4f23df49ed36a)
。
令:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/fcd795f566645835fdfd9b8e7605b44f)
。
下面证明
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/ba0b0b0edd54c27d935978838ea95500)
是
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/ca57256a1a1d296d33ba14cf2544a337)
到
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/b5091add254900b9068cf07fb2557583)
的最优化问题的可行解,满足四个约束条件即可:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/9eb75048a5bc11d64b225dfd604de054)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/69ada4d6d75f69a22c12afe162064376)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/eb1b8448763b6ba337e107f035bbfc56)
第四个约束条件:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/ac6ddeec112ea793b01011629ac9411d)
均满足四个条件,所以,
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/ba0b0b0edd54c27d935978838ea95500)
是
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/ca57256a1a1d296d33ba14cf2544a337)
到
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/b5091add254900b9068cf07fb2557583)
的最优化问题的可行解,则:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/0e54e88fe3926d4f6c5b9b47d213275b)
所以,EMD就是在“产销平衡”时是实实在在的距离。
————————————————————————————————————————————————————————————————————————————
在作者的个人主页给出了C代码。
OPencv也已经实现了EMD,我们用EMD距离比较两个直方图,下面说一下,用OPencv中的EMD函数注意事项:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/290e596671cb23bc275f4875aafe9f62)
,
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/a2730ffa450658d5eea47f22c0554ff7)
注意:红色一列是每一行特征的权重,权重后边是坐标,我们看到
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/ca57256a1a1d296d33ba14cf2544a337)
和
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/2e85e50dbe9d49b30fba0c33f6093918)
的红色这一列和等于1,即在使用时,这一列一定要相等,即产销平衡。
代码我不写了,就把上面这个矩阵放入Mat,然后带入EMD这个函数即可。
在原论文中只证明了总权重相等时,EMD才是距离,但是在Opencv的手册,介绍EMD说,总权重可以不相等,这一点比较困惑!
2014年8月5日,我在做基于颜色的图像检索时,发现EMD距离,也可以做三维直方图
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/416501f16e29cfafb8a2ca0bfa6d96e6)
,
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/29/5ed5afc4654a0a707ae68ad4e75ad50a)
————————————————————————————————————————————————————————————————————————————
第一次,写关于计算机视觉的文章,请大家批评指正!!欢迎回帖!
在理解EMD距离模型时,需要先对《运筹学》中运输问题,做一下了解。下面给出几个运输问题的小例子,作为补充知识:
那么,对于上述问题我们发现是一个 产量=销量=500 ,即产销平衡的问题,可以提出这样的数学模型:
假设
运到
物品的个数为
,用
代表
运到
单个物品的运费(在上述表格中都有),用
表示产地
的产量,
表示销地
的销量,则总运费为
,使总运费最小的数学模型为:
还有令两种可能就是 产量>销量 或者 产量<销量,这里不做模型的讨论,上面三种运输问题都可以用单纯形法进行求解。因为只有当“产量=销量”即:
时,EMD是作为距离的。
以下给出EMD距离的具体定义和相关证明
————————————————————————————————————————————————————————————————————————————
EMD是由 2000年YOSSI RUBNER在《The Earth Mover's Distance as a Metric for Image Retrival》论文中提出的。
设
其中
,
代表一张图片的特征,
代表另一张图片的特征,
代表特征
的权重,
代表特征
的权重,
代表
和
之间的距离(L1,L2,等距离),
通过以下最优化问题:
解出
,EMD的定义为:
。
我们知道距离定义必须满足三点:正定性,齐次性,三角不等式,正定性和齐次性很容易证明。下面主要证明三角不等式。作者YOSSI RUBNER证明了,当
时,EMD是满足三角不等式的,即EMD是距离。
所以注意:在使用EMD距离时,要让权重的和是相等的。
三角不等式:
设
是
到
的最优化解,
是
到
的最优化解,其中
,
,
,
。
需要证明三角不等式:
。
证明:我们首先找到从
到
的最优化问题的可行解为
。
我们设
代表从第
个“产地”(
)中转到第
个中转地(
),再运到第
个销地(
)的“物品”的数量,则我们可得到:
,
。
令:
。
下面证明
是
到
的最优化问题的可行解,满足四个约束条件即可:
第四个约束条件:
均满足四个条件,所以,
是
到
的最优化问题的可行解,则:
所以,EMD就是在“产销平衡”时是实实在在的距离。
————————————————————————————————————————————————————————————————————————————
在作者的个人主页给出了C代码。
OPencv也已经实现了EMD,我们用EMD距离比较两个直方图,下面说一下,用OPencv中的EMD函数注意事项:
,
注意:红色一列是每一行特征的权重,权重后边是坐标,我们看到
和
的红色这一列和等于1,即在使用时,这一列一定要相等,即产销平衡。
代码我不写了,就把上面这个矩阵放入Mat,然后带入EMD这个函数即可。
在原论文中只证明了总权重相等时,EMD才是距离,但是在Opencv的手册,介绍EMD说,总权重可以不相等,这一点比较困惑!
2014年8月5日,我在做基于颜色的图像检索时,发现EMD距离,也可以做三维直方图
,
————————————————————————————————————————————————————————————————————————————
第一次,写关于计算机视觉的文章,请大家批评指正!!欢迎回帖!
相关文章推荐
- 图像检索中的相似度度量:EMD距离(Earth Mover's Distance)
- Earth Mover's Distance (EMD)距离
- [转][译]一种度量准则:推土机距离Earth Mover's Distance(EMD)
- 学术常识—EMD(earth mover distance)距离
- Earth Mover's Distance (EMD)距离
- Earth Mover's Distance (EMD)
- Earth Mover's Distance (EMD)
- Earth Mover’s Distance (EMD)
- [转]Earth Mover's Distance (EMD)
- 向量相似度度量(二):EMD (Earth Mover's Distance)的MATLAB对照实现
- 图像检索:一维直方图+EMD距离
- 图像检索:二维直方图+EMD距离
- EMD(Earth Mover's Distance)概念及代码
- 向量相似度度量(一):EMD (Earth Mover's Distance)
- Earth Mover's Distance
- 图像检索:CIE Lab三维直方图+卡方距离
- 图像检索中相似度度量公式:各种距离
- 衡量文档相似性的一种方法-----词移距离 Word Mover's Distance
- 图像检索中相似度度量公式:各种距离(1)
- 图像检索:RGBHistogram+欧几里得距离|卡方距离