CVPR2018: Unsupervised Cross-dataset Person Re-identification by Transfer Learning of Spatio-temp...

論文可以在arxiv下載,導(dǎo)師一作,本人二作,也是我們實(shí)驗(yàn)室第一篇CCF A類論文糜工,這個(gè)方法我們稱為TFusion。

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

TFusion架構(gòu)
  • 解決的目標(biāo)是跨數(shù)據(jù)集的Person Reid
  • 屬于無(wú)監(jiān)督學(xué)習(xí)
  • 方法是多模態(tài)數(shù)據(jù)融合 + 遷移學(xué)習(xí)
  • 實(shí)驗(yàn)效果上录淡,超越了所有無(wú)監(jiān)督Person reid方法捌木,逼近有監(jiān)督方法,在部分?jǐn)?shù)據(jù)集上甚至超越有監(jiān)督方法

本文為你解讀CVPR2018 TFusion

轉(zhuǎn)載請(qǐng)注明作者夢(mèng)里茶

Task

行人重識(shí)別(Person Re-identification)是一個(gè)圖像檢索問(wèn)題嫉戚,給定一組圖片集(probe)刨裆,對(duì)于probe中的每張圖片,從候選圖片集(gallery)中找到最可能屬于同一個(gè)行人的圖片彼水。

Person re-identification

行人重識(shí)別數(shù)據(jù)集是由一系列監(jiān)控?cái)z像頭拍攝得到崔拥,并用檢測(cè)算法將行人摳出,做行人的匹配凤覆。在這些數(shù)據(jù)集中链瓦,人臉是十分模糊的,無(wú)法作為匹配特征盯桦,而且由于多個(gè)攝像頭拍攝視角不同慈俯,同個(gè)人可能被拍到正面,側(cè)面拥峦,背面贴膘,具有不同的視覺(jué)特征,因此是一個(gè)比較難的圖像匹配問(wèn)題略号。常用數(shù)據(jù)集有很多刑峡,可以在這個(gè)網(wǎng)站查到洋闽。

Related Work

行人重識(shí)別問(wèn)題有以下幾種常見(jiàn)的解決方案:

基于視覺(jué)的行人重識(shí)別

這類方法通常提取行人圖像特征,對(duì)特征進(jìn)行距離度量突梦,從而判斷是否是同一個(gè)人诫舅。

有監(jiān)督學(xué)習(xí)

Supervised Learning

這類方法通常需要提供行人圖片和行人id標(biāo)簽(person1,person2等),訓(xùn)練模型宫患,提取圖像特征刊懈,根據(jù)兩張圖特征的距離大小(可以用余弦距離娃闲,歐氏距離之類的計(jì)算)虚汛,為probe中的每張圖和gallery中的每張圖計(jì)算其相似度,根據(jù)相似度將gallery中的圖片排序皇帮,排序越高越可能為同一個(gè)人卷哩。

這方面的論文代表有TOMM2017: A Discriminatively Learned CNN Embedding for Person Re-identification,我們采用的基礎(chǔ)圖像分類器就是基于這篇論文用Keras實(shí)現(xiàn)的玲献,后面細(xì)講殉疼。

無(wú)監(jiān)督學(xué)習(xí)

在CVPR2018之前梯浪,Person Reid領(lǐng)域正式發(fā)表的無(wú)監(jiān)督工作只有CVPR2016的UMDL:Unsupervised Cross-Dataset Transfer Learning for Person Re-identification捌年,基于字典學(xué)習(xí)方法,在多個(gè)源數(shù)據(jù)集上學(xué)習(xí)跨數(shù)據(jù)集不變性字典挂洛,遷移到目標(biāo)數(shù)據(jù)集上礼预。然而準(zhǔn)確率依然很低。

結(jié)合攝像頭拓?fù)涞男腥酥刈R(shí)別

行人圖片是攝像頭拍到的虏劲,攝像頭之間有一定的距離托酸,行人的移動(dòng)有一定的速度限制,因此行人在攝像頭間的移動(dòng)時(shí)間就會(huì)呈現(xiàn)出一定規(guī)律柒巫,比如励堡,AB攝像頭間有10米,人行走速度2m/s堡掏,如果AB攝像頭在1s內(nèi)捕捉到了兩張圖片应结,則這兩張圖片不可能是同一個(gè)人的,因此我們可以利用攝像頭拓?fù)浼s束來(lái)提升行人重識(shí)別的準(zhǔn)確率泉唁。

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

  • 有些方法需要預(yù)先知道攝像頭拓?fù)洌ˋB攝像頭之間的距離)
  • 有些方法可以根據(jù)拍攝到的圖像數(shù)據(jù)推斷出攝像頭拓?fù)洌切枰獔D像有標(biāo)注(是否是同一個(gè)人)
  • 即使推斷出攝像頭拓?fù)渫ば螅c圖像的融合結(jié)果依然很差

遷移學(xué)習(xí)

遷移學(xué)習(xí)現(xiàn)在是深度學(xué)習(xí)領(lǐng)域很常用的一個(gè)套路了扮休,在源數(shù)據(jù)集上預(yù)訓(xùn)練,在目標(biāo)數(shù)據(jù)集上微調(diào)拴鸵,從而使得源數(shù)據(jù)集上的模型能夠適應(yīng)目標(biāo)場(chǎng)景玷坠。這方面的論文代表有前面講的UMDL蜗搔,和Deep transfer learning person re-identification,然而八堡,目前的遷移學(xué)習(xí)大多需要標(biāo)簽碍扔,而無(wú)監(jiān)督遷移學(xué)習(xí)效果又很差,仍然有很大提升空間秕重。

更多關(guān)于Person Reid的內(nèi)容可以看一下我在博客寫的幾篇調(diào)研

Motivation

  • 現(xiàn)有的行人重識(shí)別數(shù)據(jù)集中是否包含時(shí)空信息不同?包含的話是否存在時(shí)空規(guī)律?
  • 缺乏兩個(gè)時(shí)空點(diǎn)是否屬于同一行人這種標(biāo)簽時(shí)溶耘,如何挖掘時(shí)空信息二拐,構(gòu)建時(shí)空模型?
  • 如何融合兩個(gè)弱分類器凳兵?有監(jiān)督的融合有boosting算法可以用偷遗,無(wú)監(jiān)督呢嗡靡?
  • 在缺乏標(biāo)簽的條件下,如何進(jìn)行有效的遷移學(xué)習(xí)?

對(duì)應(yīng)有三個(gè)創(chuàng)新點(diǎn)

  • 無(wú)監(jiān)督的時(shí)空模型構(gòu)建
  • 基于貝葉斯推斷的時(shí)空?qǐng)D像模型融合
  • 基于Learning to Rank的遷移學(xué)習(xí)

接下來(lái)詳細(xì)解析我們的方法笋熬。

時(shí)空模型

數(shù)據(jù)集中的時(shí)空規(guī)律

所謂時(shí)空模型,即一個(gè)攝像頭網(wǎng)絡(luò)中延旧,行人在給定兩個(gè)攝像頭間遷移時(shí)間的分布埋酬。

我們看遍所有Reid數(shù)據(jù)集,發(fā)現(xiàn)有三個(gè)數(shù)據(jù)集有時(shí)空信息萨醒,Market1501, GRID, DukeMTMC-ReID斟珊,其中,DukeMTMC-ReID是2017年后半年才出來(lái)的富纸,時(shí)間比較倉(cāng)促在論文中就沒(méi)有包含跟它相關(guān)的實(shí)驗(yàn)囤踩。Market1501是一個(gè)比較大的Person Reid數(shù)據(jù)集,GRID是一個(gè)比較小的Person Reid數(shù)據(jù)集晓褪,并且都有六個(gè)攝像頭(GRID中雖然介紹了8個(gè)攝像頭堵漱,實(shí)際上只有6個(gè)攝像頭的數(shù)據(jù))。

例如涣仿,Marke1501中一張圖片的時(shí)空信息是寫在圖片名字中的:

Market1501 sample.png

0007_c3s3_077419_03.jpg:

  • 0007代表person id勤庐,
  • c3代表是在3號(hào)攝像頭拍到的,也就是空間信息变过,
  • s3代表屬于第3個(gè)時(shí)間序列(GRID和DukeMTMC中沒(méi)有這個(gè)序列的信息埃元,在Market1501中,不同序列的屬于不同起始時(shí)間的視頻媚狰,同一系列不同攝像頭的視頻起始時(shí)間相近),
  • 077419為幀號(hào)岛杀,也就是時(shí)間信息。

我想吐槽的是崭孤,其實(shí)時(shí)空信息是非常容易保存的类嗤,只要知道圖片是在什么時(shí)候糊肠,哪臺(tái)攝像機(jī)上拍攝,就能夠?qū)r(shí)空信息記錄并有效利用起來(lái)遗锣,希望多模態(tài)數(shù)據(jù)融合得到更多重視之后货裹,做數(shù)據(jù)集的人能夠更加重視可保存的信息吧。

我們首先通過(guò)Market1501中的真實(shí)行人標(biāo)簽精偿,計(jì)算訓(xùn)練集中所有圖片對(duì)對(duì)應(yīng)的時(shí)空點(diǎn)對(duì)對(duì)應(yīng)的遷移時(shí)間弧圆,這里可視化了從攝像頭1出發(fā)的行人,到達(dá)其他攝像頭需要的時(shí)間的分布笔咽。

Market1501遷移時(shí)間分布

可以看到搔预,到達(dá)不同目標(biāo)攝像頭的峰值位置不同,其中從攝像頭1到攝像頭1叶组,意味著被單個(gè)攝像頭拍到連續(xù)多幀拯田,所以峰值集中在0附近,從攝像頭1到攝像頭2甩十,峰值集中在-600附近船庇,意味著大部分人是單向從攝像頭2運(yùn)動(dòng)到攝像頭1,等等侣监,并且鸭轮,說(shuō)明這個(gè)數(shù)據(jù)集中存在顯著可利用的時(shí)空規(guī)律。

無(wú)監(jiān)督的時(shí)空模型構(gòu)造

我們將遷移時(shí)間差命名為delta达吞,這樣說(shuō)起來(lái)方便(裝逼)一點(diǎn)张弛。

如果我們能夠統(tǒng)計(jì)一個(gè)數(shù)據(jù)集中的所有delta荒典,給定一個(gè)新的delta(兩個(gè)新的圖片對(duì)應(yīng)的兩個(gè)時(shí)空點(diǎn)算出來(lái)的)酪劫,我們能夠用極大似然估計(jì),用在這個(gè)delta前后一定范圍(比如100幀)的delta的出現(xiàn)頻率(=目標(biāo)范圍delta數(shù)量/總的delta數(shù)量)寺董,作為新時(shí)間差出現(xiàn)的概率覆糟,也就是兩個(gè)時(shí)空點(diǎn)是同一人產(chǎn)生的概率。

但是遮咖!問(wèn)題是我們?cè)谀繕?biāo)場(chǎng)景上往往是沒(méi)有行人標(biāo)記數(shù)據(jù)的滩字!

于是我們就思考

  • 我們能不能根據(jù)兩個(gè)時(shí)空點(diǎn)對(duì)應(yīng)的兩張圖是否屬于同一個(gè)人御吞,來(lái)決定兩個(gè)時(shí)空點(diǎn)是否屬于同一個(gè)人麦箍?
  • 而兩張圖是否屬于同一個(gè)人,其實(shí)是一個(gè)圖像匹配的二分類問(wèn)題陶珠,我們可以用一些視覺(jué)模型來(lái)做挟裂,
  • 但是這種視覺(jué)模型往往是需要有標(biāo)簽訓(xùn)練的,無(wú)標(biāo)簽的視覺(jué)模型往往比較弱
  • 視覺(jué)模型弱沒(méi)關(guān)系揍诽!我們相信跟時(shí)空模型結(jié)合就能變成一個(gè)強(qiáng)大的分類器诀蓉!要有信仰栗竖!
  • 只要我們能無(wú)監(jiān)督地把時(shí)空模型構(gòu)造出來(lái),結(jié)合弱的圖像分類器渠啤,因?yàn)榧恿藭r(shí)空信息狐肢,一定能吊打其他無(wú)監(jiān)督模型!

思路有了沥曹,實(shí)現(xiàn)就很自然了份名,

  • 我們先在其他數(shù)據(jù)集上(于是我們就可以說(shuō)這是一個(gè)跨數(shù)據(jù)集的任務(wù)了)預(yù)訓(xùn)練一個(gè)卷積神經(jīng)網(wǎng)絡(luò),
  • 然后用這個(gè)卷積神經(jīng)網(wǎng)絡(luò)去目標(biāo)數(shù)據(jù)集上提特征妓美,
  • 用余弦距離算特征相似度
  • 將相似度排在前十的當(dāng)做同一個(gè)人
  • 用這種“同一個(gè)人”的信息+極大似然估計(jì)構(gòu)造時(shí)空模型

圖像分類器上同窘,我們這里用的是LiangZheng的Siamese網(wǎng)絡(luò),他們的源碼是用MATLAB實(shí)現(xiàn)的部脚,我用Keras復(fù)現(xiàn)了一把:

Siamese Network

時(shí)空模型的極大似然估計(jì)可以看這里

聰明的讀者應(yīng)該會(huì)注意到想邦,這個(gè)圖像分類器是在其他數(shù)據(jù)及上預(yù)訓(xùn)練的,由于特征空間中數(shù)據(jù)分布不同委刘,這個(gè)圖像分類器太弱了丧没,對(duì)于目標(biāo)數(shù)據(jù)集來(lái)說(shuō),前十里會(huì)有許多錯(cuò)的樣本锡移,導(dǎo)致構(gòu)造出來(lái)的時(shí)空模型和真實(shí)的時(shí)空模型有偏差

Distribution estimated

可以看到呕童,構(gòu)造的模型跟真實(shí)的模型還是有些差別的,但是峰值位置還是差不多淆珊,一定程度上應(yīng)該還能用夺饲,但我們還是希望構(gòu)造的模型盡量接近真實(shí)模型的。

于是我們開(kāi)始思考

  • 導(dǎo)致模型出現(xiàn)偏差的因素是什么施符?是錯(cuò)誤的樣本對(duì)
  • 如何去掉錯(cuò)誤樣本對(duì)的影響往声?我們能不能把錯(cuò)誤的樣本對(duì)分離出來(lái)?沒(méi)有標(biāo)簽咋辦戳吝?
  • (靈光一閃)錯(cuò)誤的樣本不就跟我瞎選的差不多浩销?那我是不是可以隨機(jī)地選樣本對(duì),算一個(gè)隨機(jī)的delta分布出來(lái)
  • 將估算的delta分布去掉隨機(jī)的delta分布听哭,剩下的多出來(lái)的部分慢洋,就是由于正確的行人遷移產(chǎn)生的,不就得到真實(shí)的delta分布了陆盘?

于是我們可視化了一下隨機(jī)的delta分布

Random Distribution

可以發(fā)現(xiàn)普筹,

  • 確實(shí)與估計(jì)模型和真實(shí)模型不同
  • 存在較多抖動(dòng)

這種隨機(jī)的時(shí)間差分布也呈現(xiàn)出一定的集中趨勢(shì),其實(shí)體現(xiàn)的是采樣的時(shí)間差分布隘马,如太防,在1號(hào)攝像頭采的圖片大多在某個(gè)時(shí)間段,2號(hào)攝像頭也大多在這個(gè)時(shí)間段采祟霍,但3號(hào)攝像頭的圖片大多是在其他時(shí)間段采到的杏头。

考慮到時(shí)間差的頻率圖有這么多的抖動(dòng)盈包,我們?cè)谟?jì)算某個(gè)區(qū)域的時(shí)間差時(shí),加上了均值濾波醇王,并且做了一定區(qū)域的截?cái)嗄卦铮ǜ怕蕵O小值重置為一個(gè)最小概率值,時(shí)間差極大值重置為一個(gè)最大時(shí)間差寓娩。

接下來(lái)叛氨,應(yīng)該怎么把錯(cuò)誤的模型從估計(jì)的模型濾掉呢?又怎么將時(shí)空模型和圖像模型結(jié)合呢棘伴?

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

首先看時(shí)空模型和圖像模型的融合寞埠, 我們有一個(gè)視覺(jué)相似度Pv,一個(gè)時(shí)空概率Pst焊夸,一個(gè)直觀的想法是仁连,聯(lián)合評(píng)分可以是Pv * Pst,如果要再抑制隨機(jī)的評(píng)分Prandom阱穗,可以做個(gè)除法饭冬,就是Pv * Pst / Prandom

這樣一看,像不像條件概率公式揪阶?于是我們開(kāi)始推導(dǎo)(大量公式預(yù)警):

先看看我們手上的資源:現(xiàn)在我們有一個(gè)弱的圖像分類器昌抠,可以為兩張圖片提取兩個(gè)視覺(jué)特征vi, vj, 有兩個(gè)時(shí)空點(diǎn),空間特征為兩個(gè)攝像頭編號(hào)ci, cj鲁僚,時(shí)間特征為兩張圖片拍攝的時(shí)間差?ij炊苫,假定兩張圖對(duì)應(yīng)的person id分別為Pi, Pj,那么我們的目標(biāo)就是求冰沙,在給定這些特征的條件下侨艾,兩張圖屬于同一個(gè)人的概率

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)

由時(shí)空分布和圖像分布的獨(dú)立性假設(shè)(長(zhǎng)得像的人運(yùn)動(dòng)規(guī)律不一定像)倦淀,我們可以拆解第一項(xiàng)蒋畜,得到

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

其中Pr(Pi=Pj)是一個(gè)不好求的項(xiàng),我們?cè)囍阉鼡Q掉撞叽,

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

= 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)可理解為兩張圖從視覺(jué)特征相似度上判定為同一人的概率
  • Pr(ci,cj,?ij|Pi=Pj)就是兩個(gè)時(shí)空點(diǎn)是同一個(gè)人移動(dòng)產(chǎn)生的概率

再次利用時(shí)空分布和圖像分布的獨(dú)立性假設(shè),拆解分母

= 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)

也就是

= 視覺(jué)相似度*同一人產(chǎn)生這種移動(dòng)的概率/任意兩個(gè)時(shí)空點(diǎn)組成這種移動(dòng)的概率

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

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

  • 我們并不知道理想的兩張圖的視覺(jué)相似度 Pr(Pi=Pj|vi,vj) 糠雨,只有我們的圖像分類器判定的兩張圖的視覺(jué)相似度 Pr(Si=Sj|vi,vj) ,
  • 我們并不能計(jì)算同一人產(chǎn)生這種移動(dòng)的真實(shí)概率Pr(ci,cj,?ij|Pi=Pj) 徘跪,我們只有依據(jù)視覺(jué)分類器估算的時(shí)空概率Pr(ci,cj,?ij|Si=Sj) 甘邀,
  • 我們倒是確實(shí)有數(shù)據(jù)集中任意兩個(gè)時(shí)空點(diǎn)產(chǎn)生這種移動(dòng)的概率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)

看到這里其實(shí)就大致理解我們的融合原理了松邪,實(shí)際上我們大部分實(shí)驗(yàn)也是用的這個(gè)近似公式算的坞琴。

實(shí)現(xiàn)上,先模擬兩個(gè)時(shí)空模型逗抑,計(jì)算圖像相似度剧辐,然后代入公式求融合評(píng)分,具體可以實(shí)現(xiàn)看我GitHub

但這個(gè)近似能不能做呢邮府?我們來(lái)做一下誤差分析(大量推導(dǎo)荧关,不感興趣可以跳到接下來(lái)出現(xiàn)的第二張圖,不影響后面的理解褂傀,只是分析一波會(huì)更加嚴(yán)謹(jǐn))忍啤。

實(shí)際上,誤差是由圖像分類器引入的仙辟,假設(shè)圖像分類器判定兩張圖是同一個(gè)人的錯(cuò)判率為Ep檀轨,圖像分類器判定兩張圖不是同一人的錯(cuò)判率為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) 的關(guān)系可以表示為:

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)

推導(dǎo)参萄,Pr(ci,cj,?ij|Pi=Pj) 和Pr(ci,cj,?ij|Si=Sj) 的關(guān)系(這個(gè)沒(méi)法像視覺(jué)相似度那樣直接推導(dǎo),因?yàn)橐蚬P(guān)系不同)

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)

聯(lián)立上面兩個(gè)式子解方程煎饼,消掉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)

其中有個(gè)新概念Pr(ci,cj,?ij|Si≠Sj) 讹挎,意味著圖像分類器認(rèn)為不是同一個(gè)人的時(shí)候,這種時(shí)空點(diǎn)出現(xiàn)的概率吆玖,實(shí)現(xiàn)上也不難筒溃,統(tǒng)計(jì)視覺(jué)相似度top10以后的點(diǎn)對(duì)應(yīng)的時(shí)間差,作為反時(shí)空概率模型即可沾乘。

我們把兩個(gè)近似(公式5和公式8)代進(jìn)公式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)翅阵,視覺(jué)相似度

M2 = Pr(?ij,ci,cj|Si=Sj)歪玲,正時(shí)空概率模型

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

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

以上四項(xiàng)都是可以從無(wú)標(biāo)簽?zāi)繕?biāo)數(shù)據(jù)集中結(jié)合圖像分類器求解到的掷匠,并且滥崩,當(dāng)En=Ep=0時(shí)(意味著圖像分類器完全準(zhǔn)確),這個(gè)公式可以退化為近似解:

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

到這里讹语,你是不是以為我們就可以用公式9算融合評(píng)分了钙皮?非也,公式9中,還有個(gè)問(wèn)題:Ep短条,En是未知的导匣!

如果想要正兒八經(jīng)地算Ep,En茸时,要求目標(biāo)數(shù)據(jù)集有標(biāo)簽贡定,然后我們用圖像分類器先算一遍,數(shù)數(shù)哪些算錯(cuò)了屹蚊,才能把Ep厕氨,En算出來(lái)。因此我們用兩個(gè)常數(shù)α和β分別替代Ep汹粤,En命斧,整個(gè)模型的近似就都集中在了這兩個(gè)常數(shù)上。

在論文Table1,2,3,4,Fig6相關(guān)的實(shí)驗(yàn)中嘱兼,α=β=0国葬,并且,在Fig5中芹壕,我們?cè)O(shè)置了其他常數(shù)來(lái)檢查模型對(duì)于這種近似的敏感性

Parameter Sensity

可以看到汇四,雖然α和β較大時(shí),準(zhǔn)確率會(huì)有所下降踢涌,但是仍然能保持一定的水準(zhǔn)通孽,當(dāng)你看到純圖像分類器的準(zhǔn)確率之后,還會(huì)發(fā)現(xiàn)融合模型的準(zhǔn)確率一直高于純圖像分類器睁壁。

你可能注意到了背苦,圖中α+β都是小于1的,這是因?yàn)榕嗣鳎挥挟?dāng)Ep+En<1且α+β<1時(shí)行剂,融合模型的Ep+En才會(huì)小于圖像模型的Ep+En,說(shuō)人話就是钳降,只有圖像模型不是特別糟糕厚宰,且近似的參數(shù)也比較正常的時(shí)候,融合模型才會(huì)比單個(gè)的圖像模型要準(zhǔn)遂填,融合才有意義铲觉。這個(gè)定理的具體的證明放到論文附錄里了,有興趣的可以郵件私信我拿附錄去看城菊,這里擺出來(lái)就太多了备燃。

于是我們得到了一個(gè)由條件概率推斷支撐的多模態(tài)數(shù)據(jù)融合方法,稱為貝葉斯融合

看一眼融合得到的時(shí)空分布圖:

image.png

再?gòu)臄?shù)據(jù)上看一眼融合的模型有多強(qiáng):

源數(shù)據(jù)集 目標(biāo)數(shù)據(jù)集 圖像 結(jié)果 融合 時(shí)空 結(jié)果
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

可以看到凌唬,

  • 跨數(shù)據(jù)集直接遷移效果確實(shí)很差
  • 融合之后的準(zhǔn)確率Rank1準(zhǔn)確率變成2-4倍

說(shuō)明這種融合方式是確實(shí)行之有效的。

基于Learning to Rank的遷移學(xué)習(xí)

前面講到圖像分類器太弱了,雖然融合后效果挺好的(這個(gè)時(shí)候我們其實(shí)想著要不就這樣投個(gè)NIPS算了)客税,但是如果能提升圖像分類器况褪,融合的效果理論上會(huì)更好。而現(xiàn)在我們有了一個(gè)強(qiáng)大的融合分類器更耻,我們能不能用這個(gè)融合分類器為目標(biāo)數(shù)據(jù)集的圖片打標(biāo)簽测垛,反過(guò)來(lái)訓(xùn)練圖像分類器呢?

一個(gè)常用的無(wú)監(jiān)督學(xué)習(xí)套路就是秧均,根據(jù)融合評(píng)分的高低食侮,將圖片對(duì)分為正樣本對(duì)和負(fù)樣本對(duì)(打偽標(biāo)簽),然后喂給圖像分類器學(xué)習(xí)目胡。

Canonial Unsupervised Learning

我們也嘗試了這種做法锯七,但是發(fā)現(xiàn),數(shù)據(jù)集中負(fù)樣本遠(yuǎn)遠(yuǎn)多于正樣本誉己,融合分類器分對(duì)的負(fù)樣本是挺多的眉尸,但是分對(duì)的正樣本超級(jí)少,分錯(cuò)的正樣本很多巨双,錯(cuò)樣本太多噪猾,訓(xùn)練出來(lái)效果極差,用上一些hard ming的技巧也不行筑累。

于是我們思考袱蜡,

  • 我們無(wú)法提供正確的01標(biāo)簽,分類器就只能學(xué)到許多錯(cuò)的01標(biāo)簽
  • 我們是否可以提供一些軟標(biāo)簽慢宗,讓分類器去學(xué)習(xí)回歸兩個(gè)樣本之間的評(píng)分坪蚁,而不是直接學(xué)習(xí)二分類的標(biāo)簽?
  • 這是一個(gè)圖像檢索問(wèn)題婆廊,我們能不能用信息檢索中的一些學(xué)習(xí)方法來(lái)完成這個(gè)任務(wù)迅细?

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

Ranking

  • 問(wèn)題定義:給定一個(gè)對(duì)象,尋找與其最相關(guān)的結(jié)果淘邻,按相關(guān)程度排序
  • 常用方法:
    • Point-wise:每一個(gè)結(jié)果算一個(gè)絕對(duì)得分茵典,然后按得分排序
    • Pair-wise:每?jī)蓚€(gè)結(jié)果算一下誰(shuí)的得分高,然后按這個(gè)相對(duì)得分排序
    • List-wise:枚舉所有排列情況宾舅,計(jì)算綜合得分最高的一種作為排序結(jié)果

綜合得分往往需要許多復(fù)雜的條件來(lái)計(jì)算统阿,不一定適用于我們的場(chǎng)景,所以排除List-wise筹我,Point-wise和Pair-wise都可以采用扶平,得分可以直接用融合評(píng)分表示,Pair-wise可以用一組正序樣本蔬蕊,一組逆序樣本结澄,計(jì)算兩個(gè)得分,算相對(duì)得分來(lái)學(xué)習(xí),有點(diǎn)Triplet loss的意味麻献,于是在實(shí)驗(yàn)中采用了Pair-wise方法们妥。

Pair-wise Ranking

  • 給定樣本xi,其排序得分為oi勉吻,
  • 給定樣本xj监婶,其排序得分為oj
  • 定義oij=oi - oj齿桃,如果oij>0說(shuō)明xi的排名高于xj惑惶,
  • 將這個(gè)排名概率化,定義Pij = eoij/(1+eoij)短纵,為xi排名高于xj的概率带污。
  • 對(duì)于任何一個(gè)長(zhǎng)度為n的排列,只要知道n-1個(gè)相鄰item的概率Pi,i+1踩娘,就可以推斷出來(lái)任何兩個(gè)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的一種方法雷绢,用一個(gè)神經(jīng)網(wǎng)絡(luò)去學(xué)習(xí)輸入的兩個(gè)樣本(還有一個(gè)query樣本)與其排序概率(上面定義的)的映射關(guān)系。

具體到我們這個(gè)問(wèn)題里

  • 給定查詢圖片A理卑,給定待匹配圖片B和C
  • 用神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)AB之間的相似度Sab為B的絕對(duì)排序得分翘紊,計(jì)算AC之間的相似度Sac為C的絕對(duì)排序得分

具體的神經(jīng)網(wǎng)絡(luò)用Keras實(shí)現(xiàn)并可視化出來(lái)長(zhǎng)這樣:

Keras-Ranknet
  • 輸入是三張圖片,分別用Resnet52提取特征并flatten
  • flatten之后寫一個(gè)Lambda層+全連接層算特征向量帶權(quán)重的幾何距離藐唠,得到score1和score2
  • 用score1和score2和真實(shí)分?jǐn)?shù)算交叉熵Loss(下面講)
  • 則B排序高于C的概率為:

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

  • 用預(yù)測(cè)概率Pbc去擬合真實(shí)的排序概率帆疟,回歸損失用預(yù)測(cè)概率和真實(shí)概率的交叉熵表達(dá)

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

網(wǎng)絡(luò)實(shí)現(xiàn)超級(jí)簡(jiǎn)單,主要麻煩在樣本三元組構(gòu)造

Transfer Learning to rank

整個(gè)Learning to rank過(guò)程如圖

Learning to rank

我們用融合分類器為目標(biāo)數(shù)據(jù)集中的圖片對(duì)評(píng)分宇立,構(gòu)造三元組輸入RankNet踪宠,其中Si是查詢圖,Sj是在與Si融合相似度top1 - top25中抽取的圖片妈嘹,Sk是在與Si融合相似度top25 - top50中抽取的圖片柳琢,喂給RankNet學(xué)習(xí),使得resnet52部分卷積層能充分學(xué)習(xí)到目標(biāo)場(chǎng)景上的視覺(jué)特征润脸。

Learning to Rank效果

源數(shù)據(jù)集 目標(biāo)數(shù)據(jù)集 圖像 結(jié)果 融合 時(shí)空 結(jié)果
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

對(duì)比Learning to Rank前的效果柬脸,準(zhǔn)確率都提升了,GRID數(shù)據(jù)集上提升尤為明顯毙驯。

對(duì)比SOA有監(jiān)督方法

一方面倒堕,我們將上面的跨數(shù)據(jù)集無(wú)監(jiān)督算法應(yīng)用在GRID和Market1501兩個(gè)數(shù)據(jù)集上,與當(dāng)前最好的方法進(jìn)行對(duì)比爆价,另一方面垦巴,我們還測(cè)試了有監(jiān)督版本的效果媳搪,有監(jiān)督即源數(shù)據(jù)集與目標(biāo)數(shù)據(jù)集一致,如GRID預(yù)訓(xùn)練->GRID融合時(shí)空魂那,效果如下:

  • GRID
Method Rank 1
JLML 37.5
TFusion無(wú)監(jiān)督 60.4
TFusion有監(jiān)督 64.1

由于在這個(gè)數(shù)據(jù)集上時(shí)空規(guī)律十分明顯(正確時(shí)間差都集中在一個(gè)很小的范圍內(nèi))蛾号,可以過(guò)濾掉大量錯(cuò)誤分類結(jié)果稠项,所以準(zhǔn)確率甚至碾壓了全部有監(jiān)督方法涯雅。

  • Market1501
Method Rank 1
S-CNN 65.88
DLCE 79.5
SVDNet 82.3
JLML 88.8
TFusion無(wú)監(jiān)督 60.75
TFusion有監(jiān)督 73.13

在Market1501這個(gè)數(shù)據(jù)集上,無(wú)監(jiān)督的方法逼近2016年的有監(jiān)督方法(我們的圖像分類器只是一個(gè)ResNet52)展运,有監(jiān)督的方法超越2016年的有監(jiān)督方法活逆,雖然比不上2017年的有監(jiān)督方法,但是如果結(jié)合其他更好的圖像分類器拗胜,應(yīng)該能有更好的效果蔗候。

對(duì)比SOA無(wú)監(jiān)督方法

我們向UMDL的作者要到了代碼,并復(fù)現(xiàn)了如下幾組跨數(shù)據(jù)集遷移實(shí)驗(yàn)

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的結(jié)果與悉尼科技大學(xué)hehefan與LiangZheng復(fù)現(xiàn)出來(lái)的效果差不多锈遥,所以我們的復(fù)現(xiàn)是靠譜的。

可以看到勘畔,無(wú)監(jiān)督的TFusion全面碾壓UMDL所灸。

更多詳細(xì)實(shí)驗(yàn)結(jié)果可以到論文中細(xì)看。

多次迭代遷移學(xué)習(xí)

TFusion架構(gòu)

回顧一下整個(gè)架構(gòu)炫七,我們用圖像分類器估算時(shí)空模型爬立,得到融合模型,用融合模型反過(guò)來(lái)提升圖像分類器模型万哪,圖像分類器又能繼續(xù)增強(qiáng)融合模型侠驯,形成一個(gè)閉環(huán),理論上這個(gè)閉環(huán)循環(huán)多次奕巍,能讓圖像分類器無(wú)限逼近融合分類器吟策,從而得到一個(gè)目標(biāo)場(chǎng)景中也很強(qiáng)大的圖像分類器,因此我們做了多次迭代的嘗試:

Iteratively Learning

在從目前的實(shí)驗(yàn)效果看的止,第一次遷移學(xué)習(xí)提升比較大檩坚,后面提升就比較小了,這個(gè)現(xiàn)象往好了說(shuō)可以是收斂快冲杀,但往壞了說(shuō)效床,雖然圖像分類器得到了提升,但是沒(méi)有出現(xiàn)圖像分類器提升大于融合分類器的現(xiàn)象权谁,所以這里邊應(yīng)該還有東西可挖剩檀。

后記

My Github streak

調(diào)研,可視化旺芽,找思路沪猴,找數(shù)據(jù)集辐啄,做實(shí)驗(yàn),Debug运嗜,調(diào)參壶辜,寫論文,九個(gè)月寫一篇CVPR担租,這也是我們實(shí)驗(yàn)室第一篇CCF A類論文砸民,算是來(lái)之不易的開(kāi)山之作了。現(xiàn)在我們?cè)赑erson Reid領(lǐng)域繼續(xù)探索奋救,正在搭建一個(gè)基于樹(shù)莓派的攝像頭網(wǎng)絡(luò)岭参,構(gòu)造自己的數(shù)據(jù)集,并在這個(gè)基礎(chǔ)上開(kāi)展行人檢測(cè)尝艘,多模態(tài)數(shù)據(jù)融合演侯,輕量級(jí)深度模型,分布式協(xié)同終端背亥,視頻哈希秒际,圖像索引等一系列研究,歡迎follow我的Github狡汉,也歡迎持續(xù)關(guān)注我們實(shí)驗(yàn)室的博客

看了這么久娄徊,還不給我Github點(diǎn)star!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末轴猎,一起剝皮案震驚了整個(gè)濱河市嵌莉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌捻脖,老刑警劉巖锐峭,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異可婶,居然都是意外死亡沿癞,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門矛渴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)椎扬,“玉大人,你說(shuō)我怎么就攤上這事具温〔系樱” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵铣猩,是天一觀的道長(zhǎng)揖铜。 經(jīng)常有香客問(wèn)我,道長(zhǎng)达皿,這世上最難降的妖魔是什么天吓? 我笑而不...
    開(kāi)封第一講書人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任贿肩,我火速辦了婚禮,結(jié)果婚禮上龄寞,老公的妹妹穿的比我還像新娘汰规。我一直安慰自己,他們只是感情好物邑,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布溜哮。 她就那樣靜靜地躺著,像睡著了一般拂封。 火紅的嫁衣襯著肌膚如雪茬射。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 49,111評(píng)論 1 285
  • 那天冒签,我揣著相機(jī)與錄音,去河邊找鬼钟病。 笑死萧恕,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的肠阱。 我是一名探鬼主播票唆,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼屹徘!你這毒婦竟也來(lái)了走趋?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤噪伊,失蹤者是張志新(化名)和其女友劉穎簿煌,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體鉴吹,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡姨伟,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了豆励。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片夺荒。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖良蒸,靈堂內(nèi)的尸體忽然破棺而出技扼,到底是詐尸還是另有隱情,我是刑警寧澤嫩痰,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布剿吻,位于F島的核電站,受9級(jí)特大地震影響始赎,放射性物質(zhì)發(fā)生泄漏和橙。R本人自食惡果不足惜仔燕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望魔招。 院中可真熱鬧晰搀,春花似錦、人聲如沸办斑。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)乡翅。三九已至鳞疲,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蠕蚜,已是汗流浹背尚洽。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留靶累,地道東北人档痪。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓款熬,卻偏偏與公主長(zhǎng)得像悼潭,于是被迫代替她去往敵國(guó)和親坟冲。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 在自己被這個(gè)世界徹底同化的臨界點(diǎn)邪蛔,我們需要的不過(guò)是學(xué)會(huì)怎樣取悅自己急黎。人的心理其實(shí)很奇妙,只要你認(rèn)為自己可以做到侧到,八...
    雙馬尾姑娘閱讀 439評(píng)論 0 2
  • 曾經(jīng)也想過(guò)能有一座小屋勃教,最好是靠近城東一隅,日出而作床牧,日落而息荣回。捧著自己喜愛(ài)的一盞酒,徘回在自己的小路上戈咳;寫著自己...
    雅木風(fēng)閱讀 269評(píng)論 4 6
  • “對(duì)了心软,此去虛空邊緣你可需要什么準(zhǔn)備?”天愚老祖笑道著蛙,“你師傅留給你的寶物頗多删铃,一直不用,也沒(méi)必要踏堡×匝洌” 朱魘傳承和...
    im喵小姐閱讀 287評(píng)論 0 0