1. 程式人生 > >多目標跟蹤資料關聯的二部圖解:CVPR18多目標跟蹤開創性深度端到端二部圖匹配佳作《Deep Learning of Graph Matching》讀後有感

多目標跟蹤資料關聯的二部圖解:CVPR18多目標跟蹤開創性深度端到端二部圖匹配佳作《Deep Learning of Graph Matching》讀後有感

多目標跟蹤演算法的核心以及瓶頸之處,即是在得到兩個set的DR(detection response,其中一個前序set可能是tracklets,但也由DR來表徵)之後如何實現二部圖匹配。傳統的Hungarian演算法和Kuhn-Munkras演算法可以在最理想情況下以O(n^2)時間複雜度求解。但是在深度學習的時代,如何由DL得方式解決多目標跟蹤中的data association問題,也即一個類二部圖匹配問題,是有待開發的。

第一次嘗試E2E用DL的途徑把Data association按照一個二部圖匹配問題來解的代表作可以看做A。Mlian在AAAI2017上發表的《Online Multi-target Tracking Using RNN》,其中一個LSTM被用於在Affinity Matrix的基礎上生成association matrix,完成匹配。同樣是在AAAI2017上,Milan還配套地釋出了《Data-driven Approximations to NP hard Problems》,這一篇可以看做上一篇中關聯技術的泛化和推廣。

然而,Mialn的這兩次嘗試都可以算是不成不就,其中第一個工作是在Torch上implement的,code很messy,聯絡過Milan大神本人,他也明確聲稱演算法的performance還不好,只是一次tentative的嘗試。

在此之後,再鮮有用如此的工作。可能確實因為多目標跟蹤問題本身spatial-temporal錯綜複雜的屬性,再加之訓練樣本的匱乏(尤其是online methods),再加之implementation需要的effort比較大,導致大家不願意在如此高產的年代死磕如此低產出的topics。。。直到刷到今年CVPR的這一神作!

本文是兩位數學系作者出品,highly mathmatical,對matrix factorization和matrix back-propagation的完整推導令人歎為觀止。

下接正題:

Graph matching, 狹義可以理解為二部圖匹配,是在連個set之間計算一個點於點的affinity matrix,再依據於此A-matrix,得到一個1-on-1的匹配結果(permutation matrix or indicator vector)。二部圖匹配在眾多基於matching的領域有重要的研究價值。傳統方法是利用Hungarian Algorithm or Khun-Munkres演算法求解。研究這篇文章的目的在於繼續推進與Shah合作的基於Deep的二部圖匹配多目標資料關聯文章,用本文的思想代替原先的LSTM模組。這篇文章來自CVPR2018,是據我所知第一篇有嚴謹推導的

E2E deep graph matching。這篇文章的E2E,是由feature extractor開始,指導最後的loss,解決一個geometric or semantic correspondence問題。

核心貢獻在於給出了基於矩陣的完整的BP梯度反傳推導。整個E2E的梯度流是從loss開始經過對Affinity matrix的求最大特徵向量(factorization),一路反傳到開始的CNN

具體地,本文是端到端地訓練了一個二部圖匹配,匹配的目的是將兩張圖中的對應點關聯起來。具體的體現是一個localization。即,假設img1和img2中各有n和m個點,演算法構建一個affinity matrix M矩陣如下:

可見M並不是一個傳統的n*m維度的assignment矩陣,而是一個nm * nm維度矩陣

演算法的匹配結果,也就是我們期待的n*m維度的association矩陣,是上(1)中的解v*,而可見v*是矩陣M的最大特徵向量。換言之,整個E2E的過程,是在學習如何通過CNN提取feature,然後依據feature構建M,再如何求解M的最大特徵向量v*。求解Mv*用到的是power iteration的演算法。

也就是說,整個學習過程,是建立在矩陣計算的基礎之上。大部分流程是heuristic的現成演算法,learnable的部分主要是前面的feature extraction CNN,和構建Mmatrix factorization用到的中間引數矩陣symmetric parameter matrix。

E2E的loss,是一個localization的L2 loss。為何是一個localization問題呢?在我們已經得到img1和img2之間的association confidence matrix S(n*m維度)的基礎上,通過將S的每某一行im個值(softmax歸一化)乘以所有mimg2node的位置,相當於加權求得了一個位置,因為S的每一行應該是近似one-hot,所以這個求得的位置應當就是與img1中i點對應的點的位置。這一步相當於一個多anchor點加權求和算一個點位置。這個算好了的點的位置,減去GT中與之對應的點的位置,可以得到一個displacement d,這個displacement來自於一對兒點分別在來那個張圖上處在不同的location,這一對相互關聯的點在兩張圖上位置座標之間的displacement。(注意,在GT中,一對匹配的點也不是出現在兩張圖上完全重合的位置,所以也會有一個gt displacement其實上述加權求和的方法的alternative是之間在S中的每一行選擇最大值作為1,其他都化為0,這樣直接得到一一對應的結果。但是作者採用了這種soft voting而不是hard one-hot的方式,是為了可以讓一行中的每一個元素都可以在計算loss的時候contribute,這樣便於收斂。

  1. 應用:

所謂geometric or semantic correspondence問題,描述為在兩張圖片(兩張圖片含有同一個或者同一類物體或物體的部分)中建立匹配,將相似的物體或者部分連線起來。效果如下圖:

可見本文的application更偏向於semantic correspondence,即將兩張不同圖片裡的相似部分(如鳥的翅膀)相匹配(用同樣顏色的點標註)。

在我們的應用裡,即多目標跟蹤的DA問題,是把連續兩幀中同一個人匹配起來。似乎比semantic correspondence更為簡單。

  1. 方法:

有輸入的一對兒影象,經過CNN feature extraction,affinity matrix construction,再對A-matrix求的最大特徵向量,再把該向量轉化為最終的permutation matrix,全程E2E。包括了關鍵技術如Matrix BP【1】,A-matrix Factorization【2】等等。

  1. Affinity Matrix Layer:由CNN feature vectors計算兩圖間的Affinity Matrix:

  1. 冪迭代power iteration求M的最大特徵向量v*

  1. 把最大特徵向量v*轉化為矩陣表示,然後計算該矩陣的雙隨機變形(Bi-stochastic variant):Confident matrix SS就是一個n * m的矩陣,其中n是圖一中的目標數,m是圖二中的目標數
  2. Soft voting,對S進行加權並softmax逐行歸一化,然後用歸一化之後的S逐行(m個值,代表圖一某個目標與圖二各個目標的association score乘以P(圖二中各個目標的真實(xy)座標),得到一個相當於加權平均後的圖一中該目標在圖二中的預測位置。然後在用這個預測位置減去P,得到預測位置與真實位置之間的displacement d

  1. Loss:d與GT displacement之間的l2距離: