CVPR2018: Unsupervised Cross-dataset Person Re-identification by Transfer Learning of Spatio-temporal Patterns


論文可以在arxiv下載,老板一作,本人二作,也是我們實驗室第一篇CCF A類論文,這個方法我們稱為TFusion。

代碼:https://github.com/ahangchen/TFusion

TFusion架構

  • 解決的目標是跨數據集的Person Reid
  • 屬於無監督學習
  • 方法是多模態數據融合 + 遷移學習
  • 實驗效果上,超越了所有無監督Person reid方法,逼近有監督方法,在部分數據集上甚至超越有監督方法

本文為你解讀CVPR2018 TFusion

轉載請注明作者夢里茶

Task

行人重識別(Person Re-identification)是一個圖像檢索問題,給定一組圖片集(probe),對於probe中的每張圖片,從候選圖片集(gallery)中找到最可能屬於同一個行人的圖片。

Person re-identification

行人重識別數據集是由一系列監控攝像頭拍攝得到,並用檢測算法將行人摳出,做行人的匹配。在這些數據集中,人臉是十分模糊的,無法作為匹配特征,而且由於多個攝像頭拍攝視角不同,同個人可能被拍到正面,側面,背面,具有不同的視覺特征,因此是一個比較難的圖像匹配問題。常用數據集有很多,可以在這個網站查到。

行人重識別問題有以下幾種常見的解決方案:

基於視覺的行人重識別

這類方法通常提取行人圖像特征,對特征進行距離度量,從而判斷是否是同一個人。

有監督學習

Supervised Learning

這類方法通常需要提供行人圖片和行人id標簽(person1,person2等),訓練模型,提取圖像特征,根據兩張圖特征的距離大小(可以用余弦距離,歐氏距離之類的計算),為probe中的每張圖和gallery中的每張圖計算其相似度,根據相似度將gallery中的圖片排序,排序越高越可能為同一個人。

這方面的論文代表有TOMM2017: A Discriminatively Learned CNN Embedding for Person Re-identification,我們采用的基礎圖像分類器就是基於這篇論文用Keras實現的,后面細講。

無監督學習

在CVPR2018之前,Person Reid領域正式發表的無監督工作只有CVPR2016的UMDL:Unsupervised Cross-Dataset Transfer Learning for Person Re-identification,基於字典學習方法,在多個源數據集上學習跨數據集不變性字典,遷移到目標數據集上。然而准確率依然很低。

結合攝像頭拓撲的行人重識別

行人圖片是攝像頭拍到的,攝像頭之間有一定的距離,行人的移動有一定的速度限制,因此行人在攝像頭間的移動時間就會呈現出一定規律,比如,AB攝像頭間有10米,人行走速度2m/s,如果AB攝像頭在1s內捕捉到了兩張圖片,則這兩張圖片不可能是同一個人的,因此我們可以利用攝像頭拓撲約束來提升行人重識別的准確率。

然而,這類方法往往有以下缺陷:

  • 有些方法需要預先知道攝像頭拓撲(AB攝像頭之間的距離)
  • 有些方法可以根據拍攝到的圖像數據推斷出攝像頭拓撲,但是需要圖像有標注(是否是同一個人)
  • 即使推斷出攝像頭拓撲,與圖像的融合結果依然很差

遷移學習

遷移學習現在是深度學習領域很常用的一個套路了,在源數據集上預訓練,在目標數據集上微調,從而使得源數據集上的模型能夠適應目標場景。這方面的論文代表有前面講的UMDL,和Deep transfer learning person re-identification,然而,目前的遷移學習大多需要標簽,而無監督遷移學習效果又很差,仍然有很大提升空間。

更多關於Person Reid的內容可以看一下我在博客寫的幾篇調研

Motivation

  • 現有的行人重識別數據集中是否包含時空信息?包含的話是否存在時空規律?
  • 缺乏兩個時空點是否屬於同一行人這種標簽時,如何挖掘時空信息,構建時空模型?
  • 如何融合兩個弱分類器?有監督的融合有boosting算法可以用,無監督呢?
  • 在缺乏標簽的條件下,如何進行有效的遷移學習?

對應有三個創新點

  • 無監督的時空模型構建
  • 基於貝葉斯推斷的時空圖像模型融合
  • 基於Learning to Rank的遷移學習

接下來詳細解析我們的方法。

時空模型

數據集中的時空規律

所謂時空模型,即一個攝像頭網絡中,行人在給定兩個攝像頭間遷移時間的分布。

我們看遍所有Reid數據集,發現有三個數據集有時空信息,Market1501, GRID, DukeMTMC-ReID,其中,DukeMTMC-ReID是2017年后半年才出來的,時間比較倉促在論文中就沒有包含跟它相關的實驗。Market1501是一個比較大的Person Reid數據集,GRID是一個比較小的Person Reid數據集,並且都有六個攝像頭(GRID中雖然介紹了8個攝像頭,實際上只有6個攝像頭的數據)。

例如,Marke1501中一張圖片的時空信息是寫在圖片名字中的:

Market1501 sample.png

0007_c3s3_077419_03.jpg:

  • 0007代表person id,
  • c3代表是在3號攝像頭拍到的,也就是空間信息,
  • s3代表屬於第3個時間序列(GRID和DukeMTMC中沒有這個序列的信息,在Market1501中,不同序列的屬於不同起始時間的視頻,同一系列不同攝像頭的視頻起始時間相近),
  • 077419為幀號,也就是時間信息。

我想吐槽的是,其實時空信息是非常容易保存的,只要知道圖片是在什么時候,哪台攝像機上拍攝,就能夠將時空信息記錄並有效利用起來,希望多模態數據融合得到更多重視之后,做數據集的人能夠更加重視可保存的信息吧。

我們首先通過Market1501中的真實行人標簽,計算訓練集中所有圖片對對應的時空點對對應的遷移時間,這里可視化了從攝像頭1出發的行人,到達其他攝像頭需要的時間的分布。

Market1501遷移時間分布

可以看到,到達不同目標攝像頭的峰值位置不同,其中從攝像頭1到攝像頭1,意味着被單個攝像頭拍到連續多幀,所以峰值集中在0附近,從攝像頭1到攝像頭2,峰值集中在-600附近,意味着大部分人是單向從攝像頭2運動到攝像頭1,等等,並且,說明這個數據集中存在顯著可利用的時空規律。

無監督的時空模型構造

我們將遷移時間差命名為delta,這樣說起來方便(裝逼)一點。

如果我們能夠統計一個數據集中的所有delta,給定一個新的delta(兩個新的圖片對應的兩個時空點算出來的),我們能夠用極大似然估計,用在這個delta前后一定范圍(比如100幀)的delta的出現頻率(=目標范圍delta數量/總的delta數量),作為新時間差出現的概率,也就是兩個時空點是同一人產生的概率。

但是!問題是我們在目標場景上往往是沒有行人標記數據的!

於是我們就思考

  • 我們能不能根據兩個時空點對應的兩張圖是否屬於同一個人,來決定兩個時空點是否屬於同一個人?
  • 而兩張圖是否屬於同一個人,其實是一個圖像匹配的二分類問題,我們可以用一些視覺模型來做,
  • 但是這種視覺模型往往是需要有標簽訓練的,無標簽的視覺模型往往比較弱
  • 視覺模型弱沒關系!我們相信跟時空模型結合就能變成一個強大的分類器!要有信仰!
  • 只要我們能無監督地把時空模型構造出來,結合弱的圖像分類器,因為加了時空信息,一定能吊打其他無監督模型!

思路有了,實現就很自然了,

  • 我們先在其他數據集上(於是我們就可以說這是一個跨數據集的任務了)預訓練一個卷積神經網絡,
  • 然后用這個卷積神經網絡去目標數據集上提特征,
  • 用余弦距離算特征相似度
  • 將相似度排在前十的當做同一個人
  • 用這種“同一個人”的信息+極大似然估計構造時空模型

圖像分類器上,我們這里用的是LiangZheng的Siamese網絡,他們的源碼是用MATLAB實現的,我用Keras復現了一把:

Siamese Network

時空模型的極大似然估計可以看這里

聰明的讀者應該會注意到,這個圖像分類器是在其他數據及上預訓練的,由於特征空間中數據分布不同,這個圖像分類器太弱了,對於目標數據集來說,前十里會有許多錯的樣本,導致構造出來的時空模型和真實的時空模型有偏差

Distribution estimated

可以看到,構造的模型跟真實的模型還是有些差別的,但是峰值位置還是差不多,一定程度上應該還能用,但我們還是希望構造的模型盡量接近真實模型的。

於是我們開始思考

  • 導致模型出現偏差的因素是什么?是錯誤的樣本對
  • 如何去掉錯誤樣本對的影響?我們能不能把錯誤的樣本對分離出來?沒有標簽咋辦?
  • (靈光一閃)錯誤的樣本不就跟我瞎選的差不多?那我是不是可以隨機地選樣本對,算一個隨機的delta分布出來
  • 將估算的delta分布去掉隨機的delta分布,剩下的多出來的部分,就是由於正確的行人遷移產生的,不就得到真實的delta分布了?

於是我們可視化了一下隨機的delta分布

Random Distribution

可以發現,

  • 確實與估計模型和真實模型不同
  • 存在較多抖動

這種隨機的時間差分布也呈現出一定的集中趨勢,其實體現的是采樣的時間差分布,如,在1號攝像頭采的圖片大多在某個時間段,2號攝像頭也大多在這個時間段采,但3號攝像頭的圖片大多是在其他時間段采到的。

考慮到時間差的頻率圖有這么多的抖動,我們在計算某個區域的時間差時,加上了均值濾波,並且做了一定區域的截斷,包括概率極小值重置為一個最小概率值,時間差極大值重置為一個最大時間差。

接下來,應該怎么把錯誤的模型從估計的模型濾掉呢?又怎么將時空模型和圖像模型結合呢?

基於貝葉斯推斷的模型融合

首先看時空模型和圖像模型的融合, 我們有一個視覺相似度Pv,一個時空概率Pst,一個直觀的想法是,聯合評分可以是Pv * Pst,如果要再抑制隨機的評分Prandom,可以做個除法,就是Pv * Pst / Prandom

這樣一看,像不像條件概率公式?於是我們開始推導(大量公式預警):

先看看我們手上的資源:現在我們有一個弱的圖像分類器,可以為兩張圖片提取兩個視覺特征vi, vj, 有兩個時空點,空間特征為兩個攝像頭編號ci, cj,時間特征為兩張圖片拍攝的時間差∆ij,假定兩張圖對應的person id分別為Pi, Pj,那么我們的目標就是求,在給定這些特征的條件下,兩張圖屬於同一個人的概率

Pr(Pi=Pj|vi,vj,ci,cj,∆ij)(論文公式6)

由條件概率公式P(A|B) = P(B|A)*P(A)/P(B),可得

Pr(Pi=Pj|vi,vj,ci,cj,∆ij)
= Pr(vi,vj,ci,cj,∆ij|Pi=Pj) *Pr(Pi=Pj)/ Pr(vi,vj,ci,cj,∆ij)

由時空分布和圖像分布的獨立性假設(長得像的人運動規律不一定像),我們可以拆解第一項,得到

= Pr(vi,vj|Pi=Pj) * Pr(ci,cj,∆ij|Pi=Pj) * Pr(Pi=Pj)/ Pr(vi,vj,ci,cj,∆ij)

其中Pr(Pi=Pj)是一個不好求的項,我們試着把它換掉,

先交換順序(乘法交換律)

= Pr(vi,vj|Pi=Pj) * Pr(Pi=Pj) * Pr(ci,cj,∆ij|Pi=Pj) / Pr(vi,vj,ci,cj,∆ij)

由條件概率公式P(A|B)* P(B) = P(B|A) * P(A)可得

= Pr(Pi=Pj|vi,vj) * Pr(vi=vj)*Pr(ci,cj,∆ij|Pi=Pj) / Pr(vi,vj,ci,cj,∆ij)

可以看到

  • Pr(Pi=Pj|vi,vj)可理解為兩張圖從視覺特征相似度上判定為同一人的概率
  • Pr(ci,cj,∆ij|Pi=Pj)就是兩個時空點是同一個人移動產生的概率

再次利用時空分布和圖像分布的獨立性假設,拆解分母

= Pr(Pi=Pj|vi,vj) * Pr(vi=vj)* Pr(ci,cj,∆ij|Pi=Pj) / Pr(vi,vj) * P(ci,cj,∆ij)

約掉Pr(vi=vj),

= Pr(Pi=Pj|vi,vj) * Pr(ci,cj,∆ij|Pi=Pj) /P(ci,cj,∆ij)

也就是

= 視覺相似度*同一人產生這種移動的概率/任意兩個時空點組成這種移動的概率

這也就是論文公式(7),也就是我們一開始的猜想:Pv * Pst / Prandom

看着好像很接近我們手頭掌握的資源了,但是,

  • 我們並不知道理想的兩張圖的視覺相似度 Pr(Pi=Pj|vi,vj) ,只有我們的圖像分類器判定的兩張圖的視覺相似度 Pr(Si=Sj|vi,vj) ,
  • 我們並不能計算同一人產生這種移動的真實概率Pr(ci,cj,∆ij|Pi=Pj) ,我們只有依據視覺分類器估算的時空概率Pr(ci,cj,∆ij|Si=Sj) ,
  • 我們倒是確實有數據集中任意兩個時空點產生這種移動的概率P(ci,cj,∆ij)

於是我們想用Pr(ci,cj,∆ij|Si=Sj) ,P(ci,cj,∆ij)去近似,得到

= Pr(Si=Sj|vi,vj) * Pr(ci,cj,∆ij|Si=Sj) /P(ci,cj,∆ij)

看到這里其實就大致理解我們的融合原理了,實際上我們大部分實驗也是用的這個近似公式算的。

實現上,先模擬兩個時空模型,計算圖像相似度,然后代入公式求融合評分,具體可以實現看我GitHub

但這個近似能不能做呢?我們來做一下誤差分析(大量推導,不感興趣可以跳到接下來出現的第二張圖,不影響后面的理解,只是分析一波會更加嚴謹)。

實際上,誤差是由圖像分類器引入的,假設圖像分類器判定兩張圖是同一個人的錯判率為Ep,圖像分類器判定兩張圖不是同一人的錯判率為En

則有,

Ep = Pr(Pi≠Pj|Si=Sj)(論文公式1)

En = Pr(Pi=Pj|Si≠Sj)(論文公式2)

則Pr(Pi=Pj|vi,vj) 與 Pr(Si=Sj|vi,vj) 的關系可以表示為:

Pr(Pi=Pj|vi,vj)
= Pr(Pi=Pj|Si=Sj) * Pr(Si=Sj|vi,vj) + Pr(Pi=Pj|Si≠Sj) * Pr(Si≠Sj|vi,vj)
= (1-Ep) * Pr(Si=Sj|vi,vj) + En * (1-Pr(Si=Sj|vi,vj) )
= (1-Ep-En) * Pr(Si=Sj|vi,vj) + En (論文公式8)

推導,Pr(ci,cj,∆ij|Pi=Pj) 和Pr(ci,cj,∆ij|Si=Sj) 的關系(這個沒法像視覺相似度那樣直接推導,因為因果關系不同)

Pr(ci,cj,∆ij|Si=Sj)
= Pr(ci,cj,∆ij|Pi=Pj) * (Pr(Pi=Pj)|Si=Sj) + Pr(ci,cj,∆ij|Pi≠Pj) * (Pr(Pi=Pj)|Si≠Sj)
= Pr(ci,cj,∆ij|Pi=Pj) * (1- Ep) + Pr(ci,cj,∆ij|Pi≠Pj) * Ep

同樣可以得到

Pr(ci,cj,∆ij|Si≠Sj)
= Pr(ci,cj,∆ij|Pi=Pj) * En + Pr(ci,cj,∆ij|Pi≠Pj) * (1 - Ep)

聯立上面兩個式子解方程,消掉Pr(ci,cj,∆ij|Si≠Sj) 可以得到

Pr(ci,cj,∆ij|Pi=Pj)
= (1 - Ep - En)-1(1-En) * Pr(ci,cj,∆ij|Si=Sj) - Ep * Pr(ci,cj,∆ij|Si≠Sj) (論文公式5)

其中有個新概念Pr(ci,cj,∆ij|Si≠Sj) ,意味着圖像分類器認為不是同一個人的時候,這種時空點出現的概率,實現上也不難,統計視覺相似度top10以后的點對應的時間差,作為反時空概率模型即可。

我們把兩個近似(公式5和公式8)代進公式7,

可以得到

Pr(Pi=Pj | vi, vj, ∆ij, ci, cj)
= (M1 + En/(1 - En - Ep))((1-En)M2 - EpM3)/Pr(∆ij, ci, cj))(論文公式9)

其中,

M1 = Pr(Si=Sj|vi,vj),視覺相似度

M2 = Pr(∆ij,ci,cj|Si=Sj),正時空概率模型

M3 = Pr(∆ij,ci,cj|Si≠Sj),反時空概率模型

分母Pr(∆ij, ci, cj))為隨機概率模型

以上四項都是可以從無標簽目標數據集中結合圖像分類器求解到的,並且,當En=Ep=0時(意味着圖像分類器完全准確),這個公式可以退化為近似解:

Pr(Si=Sj|vi,vj) * Pr(ci,cj,∆ij|Si=Sj) /P(ci,cj,∆ij)

到這里,你是不是以為我們就可以用公式9算融合評分了?非也,公式9中,還有個問題:Ep,En是未知的!

如果想要正兒八經地算Ep,En,要求目標數據集有標簽,然后我們用圖像分類器先算一遍,數數哪些算錯了,才能把Ep,En算出來。因此我們用兩個常數α和β分別替代Ep,En,整個模型的近似就都集中在了這兩個常數上。

在論文Table1,2,3,4,Fig6相關的實驗中,α=β=0,並且,在Fig5中,我們設置了其他常數來檢查模型對於這種近似的敏感性

Parameter Sensity

可以看到,雖然α和β較大時,准確率會有所下降,但是仍然能保持一定的水准,當你看到純圖像分類器的准確率之后,還會發現融合模型的准確率一直高於純圖像分類器。

你可能注意到了,圖中α+β都是小於1的,這是因為,只有當Ep+En<1且α+β<1時,融合模型的Ep+En才會小於圖像模型的Ep+En,說人話就是,只有圖像模型不是特別糟糕,且近似的參數也比較正常的時候,融合模型才會比單個的圖像模型要准,融合才有意義。這個定理的具體的證明放到論文附錄里了,有興趣的可以郵件私信我拿附錄去看,這里擺出來就太多了。

於是我們得到了一個由條件概率推斷支撐的多模態數據融合方法,稱為貝葉斯融合

看一眼融合得到的時空分布圖:

image.png

再從數據上看一眼融合的模型有多強:

源數據集 目標數據集 圖像 結果 融合 時空 結果
rank-1 rank-5 rank-10 rank-1 rank-5 rank-10
CUHK01 GRID 10.70 20.20 23.80 30.90 63.70 79.10
VIPeR GRID 9.70 17.40 21.50 28.40 65.60 80.40
Market1501 GRID 17.80 31.20 36.80 49.60 81.40 88.70
GRID Market1501 20.72 35.39 42.99 51.16 65.08 70.04
VIPeR Market1501 24.70 40.91 49.52 56.18 71.50 76.48
CUHK01 Market1501 29.39 45.46 52.55 56.53 70.22 74.64

可以看到,

  • 跨數據集直接遷移效果確實很差
  • 融合之后的准確率Rank1准確率變成2-4倍

說明這種融合方式是確實行之有效的。

基於Learning to Rank的遷移學習

前面講到圖像分類器太弱了,雖然融合后效果挺好的(這個時候我們其實想着要不就這樣投個NIPS算了),但是如果能提升圖像分類器,融合的效果理論上會更好。而現在我們有了一個強大的融合分類器,我們能不能用這個融合分類器為目標數據集的圖片打標簽,反過來訓練圖像分類器呢?

一個常用的無監督學習套路就是,根據融合評分的高低,將圖片對分為正樣本對和負樣本對(打偽標簽),然后喂給圖像分類器學習。

Canonial Unsupervised Learning

我們也嘗試了這種做法,但是發現,數據集中負樣本遠遠多於正樣本,融合分類器分對的負樣本是挺多的,但是分對的正樣本超級少,分錯的正樣本很多,錯樣本太多,訓練出來效果極差,用上一些hard ming的技巧也不行。

於是我們思考

  • 我們無法提供正確的01標簽,分類器就只能學到許多錯的01標簽
  • 我們是否可以提供一些軟標簽,讓分類器去學習回歸兩個樣本之間的評分,而不是直接學習二分類的標簽?
  • 這是一個圖像檢索問題,我們能不能用信息檢索中的一些學習方法來完成這個任務?

於是自然而然地想到了Learning to Rank

Ranking

  • 問題定義:給定一個對象,尋找與其最相關的結果,按相關程度排序
  • 常用方法:
    • Point-wise:每一個結果算一個絕對得分,然后按得分排序
    • Pair-wise:每兩個結果算一下誰的得分高,然后按這個相對得分排序
    • List-wise:枚舉所有排列情況,計算綜合得分最高的一種作為排序結果

綜合得分往往需要許多復雜的條件來計算,不一定適用於我們的場景,所以排除List-wise,Point-wise和Pair-wise都可以采用,得分可以直接用融合評分表示,Pair-wise可以用一組正序樣本,一組逆序樣本,計算兩個得分,算相對得分來學習,有點Triplet loss的意味,於是在實驗中采用了Pair-wise方法。

Pair-wise Ranking

  • 給定樣本xi,其排序得分為oi
  • 給定樣本xj,其排序得分為oj
  • 定義oij=oi - oj,如果oij>0說明xi的排名高於xj
  • 將這個排名概率化,定義Pij = eoij/(1+eoij),為xi排名高於xj的概率。
  • 對於任何一個長度為n的排列,只要知道n-1個相鄰item的概率Pi,i+1,就可以推斷出來任何兩個item的排序概率
  • 例如,已知Pik和Pkj,Pij = Pik * Pkj = eoik+okj/(1 + eoik+okj),其中oik=ln(Pik/(1 - Pik))

RankNet: Pair-wise Learning to Rank

RankNet是Pair-wise Learning to Rank的一種方法,用一個神經網絡去學習輸入的兩個樣本(還有一個query樣本)與其排序概率(上面定義的)的映射關系。

具體到我們這個問題里

  • 給定查詢圖片A,給定待匹配圖片B和C
  • 用神經網絡預測AB之間的相似度Sab為B的絕對排序得分,計算AC之間的相似度Sac為C的絕對排序得分

具體的神經網絡用Keras實現並可視化出來長這樣:

Keras-Ranknet

  • 輸入是三張圖片,分別用Resnet52提取特征並flatten
  • flatten之后寫一個Lambda層+全連接層算特征向量帶權重的幾何距離,得到score1和score2
  • 用score1和score2和真實分數算交叉熵Loss(下面講)
  • 則B排序高於C的概率為:

Pbc= eobc/(1+ eobc) = eSab- Sac / (1 + eSab- Sac)

  • 用預測概率Pbc去擬合真實的排序概率,回歸損失用預測概率和真實概率的交叉熵表達

C(obc) = -P'bcln Pbc - (1-P'bc)ln (1 - Pbc)

網絡實現超級簡單,主要麻煩在樣本三元組構造

Transfer Learning to rank

整個Learning to rank過程如圖

Learning to rank

我們用融合分類器為目標數據集中的圖片對評分,構造三元組輸入RankNet,其中Si是查詢圖,Sj是在與Si融合相似度top1 - top25中抽取的圖片,Sk是在與Si融合相似度top25 - top50中抽取的圖片,喂給RankNet學習,使得resnet52部分卷積層能充分學習到目標場景上的視覺特征。

Learning to Rank效果

源數據集 目標數據集 圖像 結果 融合 時空 結果
rank-1 rank-5 rank-10 rank-1 rank-5 rank-10
CUHK01 GRID 17.40 33.90 41.10 50.90 78.60 88.30
VIPeR GRID 18.50 31.40 40.50 52.70 81.70 89.20
Market1501 GRID 22.30 38.10 47.20 60.40 87.30 93.40
GRID Market1501 22.38 39.25 48.07 58.22 72.33 76.84
VIPeR Market1501 25.23 41.98 50.33 59.17 73.49 78.62
CUHK01 Market1501 30.58 47.09 54.60 60.75 74.44 79.25

對比Learning to Rank前的效果,准確率都提升了,GRID數據集上提升尤為明顯。

對比SOA有監督方法

一方面,我們將上面的跨數據集無監督算法應用在GRID和Market1501兩個數據集上,與當前最好的方法進行對比,另一方面,我們還測試了有監督版本的效果,有監督即源數據集與目標數據集一致,如GRID預訓練->GRID融合時空,效果如下:

  • GRID
Method Rank 1
JLML 37.5
TFusion無監督 60.4
TFusion有監督 64.1

由於在這個數據集上時空規律十分明顯(正確時間差都集中在一個很小的范圍內),可以過濾掉大量錯誤分類結果,所以准確率甚至碾壓了全部有監督方法。

  • Market1501
Method Rank 1
S-CNN 65.88
DLCE 79.5
SVDNet 82.3
JLML 88.8
TFusion無監督 60.75
TFusion有監督 73.13

在Market1501這個數據集上,無監督的方法逼近2016年的有監督方法(我們的圖像分類器只是一個ResNet52),有監督的方法超越2016年的有監督方法,雖然比不上2017年的有監督方法,但是如果結合其他更好的圖像分類器,應該能有更好的效果。

對比SOA無監督方法

我們向UMDL的作者要到了代碼,並復現了如下幾組跨數據集遷移實驗

Method Source Target Rank1
UMDL Market1501 GRID 3.77
UMDL CUHK01 GRID 3.58
UMDL VIPeR GRID 3.97
UMDL GRID Market1501 30.46
UMDL CUHK01 Market1501 29.69
UMDL VIPeR Market1501 30.34
TFusion Market1501 GRID 60.4
TFusion CUHK01 GRID 50.9
TFusion VIPeR GRID 52.7
TFusion GRID Market1501 58.22
TFusion CUHK01 Market1501 59.17
TFusion VIPeR Market1501 60.75

其中,UMDL遷移到Market1501的結果與悉尼科技大學hehefan與LiangZheng復現出來的效果差不多,所以我們的復現是靠譜的。

可以看到,無監督的TFusion全面碾壓UMDL。

更多詳細實驗結果可以到論文中細看。

多次迭代遷移學習

TFusion架構

回顧一下整個架構,我們用圖像分類器估算時空模型,得到融合模型,用融合模型反過來提升圖像分類器模型,圖像分類器又能繼續增強融合模型,形成一個閉環,理論上這個閉環循環多次,能讓圖像分類器無限逼近融合分類器,從而得到一個目標場景中也很強大的圖像分類器,因此我們做了多次迭代的嘗試:

Iteratively Learning

在從目前的實驗效果看,第一次遷移學習提升比較大,后面提升就比較小了,這個現象往好了說可以是收斂快,但往壞了說,雖然圖像分類器得到了提升,但是沒有出現圖像分類器提升大於融合分類器的現象,所以這里邊應該還有東西可挖。

后記

My Github streak

調研,可視化,找思路,找數據集,做實驗,Debug,調參,寫論文,九個月寫一篇CVPR,這也是我們實驗室第一篇CCF A類論文,算是來之不易的開山之作了。現在我們在Person Reid領域繼續探索,正在搭建一個基於樹莓派的攝像頭網絡,構造自己的數據集,並在這個基礎上開展行人檢測,多模態數據融合,輕量級深度模型,分布式協同終端,視頻哈希,圖像索引等一系列研究,歡迎follow我的Github,也歡迎持續關注我們實驗室的博客

看了這么久,還不給我Github點star!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM