向量相似度度量(一):EMD (Earth Mover's Distance)

EMD即Earth Mover's Distance,是2000年IJCV期刊文章《The Earth Mover's Distance as a Metric for Image Retrieval》提出的一種直方圖相似度量(作者在之前的會議論文中也已經提到,不過鑑於IJCV的權威性和完整性,建議參考這篇文章)。基於一個經典的運輸問題求解,作者提出的EMD距離本人看來是一個非常好的度量方式。如果想細緻深入的理解,建議參考這篇論文。從網上沒有搜到多少對它的通俗的解釋,這裏將嘗試以淺顯易懂的方式進行闡述,希望對大家能有所幫助。

一、基本概念解釋

 

爲了進一步討論它的細節,首先要介紹一下signature的概念,很簡單,一看就懂。

(1) 先說直方圖。大家都知道,一個圖像的直方圖就是把圖像像素值量化爲一系列bin,統計落在相應bin的像素個數,就形成了直方圖。

(2) signature(請恕我不知道怎麼準確翻譯這個詞哈,只能用英文了)的定義爲

   

    它代表了一系列特徵類別。每個s代表一類特徵,m爲其類中心,w爲屬於該類中心的數量。

    爲什麼要用signature呢?作者的說法是經常性的直方圖的內容會聚集在某些bin上,而傳統的完整表達的直方圖顯然太過於浪費空間。而用signature可以很方便的表達比較稀疏的直方圖內容。(爲什麼稀疏?一個灰度圖形成的一維直方圖可能不會稀疏,但是想象一個三維直方圖,它可能就會比較稀疏了)

    對於一個一維直方圖,m爲直方圖的bin索引,w爲該bin上的數量,相信就更容易理解了!

 

二、EMD

接下來言歸正傳,開始解釋EMD。下面都是基於signature,記住它和直方圖的對應關係,第一個值是類中心(一維直方圖的bin索引),第二值是數量(一維直方圖中某個bin中的數量)。

EMD本身是一個線性規劃問題。定義如下兩個signature P和Q,分別有m和n個類。

另外定義一個類別的距離矩陣,每一項dij爲pi和qj的距離(在均勻的直方圖中,距離就可以簡化爲bin的索引的差值的絕對值)。可以發現它是mxn的矩陣。

那麼問題就是我們希望找到一個流(flow,我這麼翻譯合適嗎?),當然也是個矩陣[fij],每一項fij代表從pi到qj的流動數量,從而最小化整體的代價函數:

這裏就可以把EMD的本質說出來了(Earth就是土的意思,EMD其實就是搬土大賽啊),說白了,就是把P中的m個坑的土,用最小的代價搬到Q中的n個坑中,pi到qj的兩個坑的距離由dij來表示。fij是從pi搬到qj的土的量;dij是pi位置到qj位置的代價(距離)。要最小化WORK工作量。EMD是把這個工作量歸一化以後的表達,即除以對fij的求和。

 

這裏就要思考它的限制條件了。

  • fij不能小於0(當然了,現實中土的數量怎麼可能是負的呢)
  • fij對j的求和不能超過wpi,也即是pi中的土的數量,也就是說,從pi處搬出去的土不能超過它那裏存的量
  • fij對i的求和不能超過wqj,也即是qj中的土的數量,也就是說,搬到qj處的土不能超過它那裏的總容量
  • fij的總求和一定不能超過wpi的總和,也即是P中的土的總量,也就是說,你搬空了就沒了;
  • fij的總求和一定不能超過wqj的總和,也即是Q的土的容量的總量,也就是說,你搬多了沒地方放。

寫成高大上的數學公式如下:

s.t.

 

三、EMD的理解


從上面的描述可以看出,EMD並不是一個簡單的加加減減,求個直方圖的距離。它其實是個線性規劃問題,求解的結果纔是EMD距離,它可以更好的描述直方圖的距離。

本人將在下一篇文章中描述距離的比較分析,就可以更好的理解爲什麼EMD距離很好,而簡單的直方圖做差或者直方圖交等方法並不好了。


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章