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距離很好,而簡單的直方圖做差或者直方圖交等方法並不好了。