EMD距离即Earth Mover's Distance,是由2000年IJCV期刊文章《The Earth Mover's Distance as a Metric for Image Retrieval》提出的一种图像相似度度量方法,从文章标题也可以得知,最初EMD的概念是用于图像检索的。后来因为其各种优点,逐渐用到其他方面的相似度度量。这篇文章主要理解EMD的概念。

signature
论文定义,“We introduce a distance between two signatures that we call the Earth Mover's Distance(EMD)”,那么这里的signature是什么呢?

1.图像的直方图就是把全部像素值量化为一系列bin,统计每个bin的像素个数;bin值可以看作特征,bin高度可以看作该特征的重要程度。

2.而 signature 定义为一系列的重要特征,可以写作 s = (m, w),m是某个特征,w是该特征的权重。文中说“A signature is a set of the main clusters or modes of a distribution”,作者认为,传统的完整直方图一般会聚集在某些bin上,这样过于浪费空间,用 signature 可以较稀疏的表达直方图内容。

事实上,虽然原文章是由 histogram 引出 signature 及 EMD 的定义,但实际用于计算EMD时,因为不同情况的使用方式不同,只要是符合要求的特征即可。

EMD
EMD本身是一个线性规划问题。假设,

然后来通俗点理解EMD的本质:  Earth Move翻译过来是搬土,指把P位置的m个坑的土,用最小的代价搬到Q位置的n个坑中,dij是pi到qj两个坑的距离,fij是从pi搬到qj的土量,则WORK工作量就是要最小化的目标。线性规划求解出fij后,再用fij对WORK作个归一化,就得到了EMD。
 那么问题来了,为什么要用这个运输问题来定义 EMD 呢?
 论文给的解释是,"Signature matching can be naturally cast as a transportation problem by de fining one signature as the supplier and the other as the consumer, and by setting the cost for a supplier-consumer pair to equal the ground distance between an element in the fi rst signature and an element in the second."   这意味着,在求解出最优运输方案 [fij] 时,同时也找到了两边最匹配的signature,如此一来计算的distance是合理的,所以EMD图像相似度匹配是有效的。

EMD Earth Movers Distance相关推荐

  1. pytorch——计算两个等大无序点云中的距离Earth Mover Distance

    目前要做两个无序点集之间的相似性计算,在看过Chamfer Distance后,个人觉得CD的计算方式决定了其无法处理两个点集整体分布差异大,但是局部有部分点距离很近的情况,而这种情况在点集中是一定可 ...

  2. MoverScore: Text Generation Evaluating with Contextualized Embeddings and Earth Mover Distance

    MoverScore: Text Generation Evaluating with Contextualized Embeddings and Earth Mover Distance Mover ...

  3. 变压器耦合和电容耦合_超越变压器和抱抱面的分类

    变压器耦合和电容耦合 In this post, I plan to explore aspects of cutting edge architectures in NLP like BERT/Tr ...

  4. Earth Mover's Distance (EMD)距离

    原文: http://d.hatena.ne.jp/aidiary/20120804/1344058475 作者: sylvan5 翻译: Myautsai和他的朋友们(Google Translat ...

  5. python mount回调函数_为python回调函数设置argtype

    我对Python很在行,所以希望我能正确地表达这个问题.在 整个问题涉及从Python调用C例程.我可以通过把一些相关的问题/答案凑在一起来接近,但我似乎不能把事情安排得很好.有两个方面:第一个是用指 ...

  6. 【三维深度学习】点云上采样网络PU-Net 代码分析

    PU-Net的代码是基于Tensorflow code,并从PointNet++和PointSetGeneration中进行了诸多借鉴.PU-Net是一个点云上采样模型,可以将非规则的点云输入通过点云 ...

  7. 【翻译】Style Transfer by Relaxed Optimal Transport and Self-Similarity

    通过宽松的最优运输和自相似性进行风格转移 文章目录 Abstract 1 介绍 2 方法 2.1 特征提取 2.2 Style Loss 2.3 Content Loss 2.4 User Contr ...

  8. 清华大学计算机谭教授,清华大学计算机科学与技术系导师简介:孙延奎

    对考生而言,充分了解高校.专业以及师资情况是一项最基础.最关键的工作.以下是中公考研小编为大家整理的"清华大学计算机科学与技术系导师简介:孙延奎"的相关信息,希望对同学们有所帮助. ...

  9. 基于深度学习的点云配准Benchmark

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨千百度@知乎 来源丨https://zhuanlan.zhihu.com/p/289620126 ...

最新文章

  1. 先搞懂这八大基础概念,再谈机器学习入门!
  2. 如何让黑白图片恢复“生机”
  3. mac安装和卸载mysql_小白自学MySQL笔记(一):Mac环境的安装和启动
  4. Leecode 1218. 最长定差子序列——Leecode每日一题系列
  5. OPENCV-2 学习笔记
  6. Ubuntu下配置Apache的Worker模式
  7. js中遍历数组加到新数组_JS中的真伪数组
  8. 全新防火墙6.0 单条PPPOE(ADSL)上网配置
  9. 我的MVVM框架 v3教程——todos例子
  10. DateTable复制表行
  11. ENVI计算不同轨道号范围中的平均高程
  12. 总结web压力测试工具
  13. 用人机对话系统设计逻辑探究人工智能产品经理
  14. cocos2dx游戏中添加背景音乐、音效
  15. 迅雷链基于智能硬件的DPoA共识机制介绍
  16. qmake 添加额外参数 分开编译
  17. 再见了繁琐的Excel,掌握数据分析处理技术就靠它了
  18. 【CXY】JAVA基础 之 Collections
  19. 极路由 安装php,极路由1S刷潘多拉安装优酷路由宝插件
  20. 2021-01-26-Shell if 条件判断

热门文章

  1. 《数字金融消费者权益保护实践与探索》正式发布
  2. SAP License:委外业务产生的ML结算问题思考
  3. nodejs应用转换png,jpg,gif为webp图片格式
  4. idea 创建多模块项目子模块为灰色
  5. 【原创】搭建spark环境中的坑及解决办法
  6. Installing OwnCloud 9 on Debian 8
  7. 夺命雷公狗---javascript NO:19 Navigator浏览器对象
  8. [苹果技巧]苹果系统用于系统监控和管理的命令
  9. 如何在Windows的PHPstudy中使用redis数据库
  10. Java学习个人备忘录之接口