Graph+Reid

今天解讀港中文商湯聯(lián)合實(shí)驗(yàn)室沈巖濤老師在CVPR2018和ECCV2018上發(fā)表的兩篇關(guān)于Graph+Person reid的文章:

CVPR2018:Deep Group-shuffling Random Walk for Person Re-identification
ECCV2018:Person Re-identification with Deep Similarity-Guided Graph Neural Network

Motivation and Related Work

person reid這個(gè)任務(wù)是為probe圖像在gallery圖片集中尋找屬于同一個(gè)人的圖片驹吮,所以通常的做法都是考慮probe和gallery之間的關(guān)系口四,但有時(shí)候probe和gallery的差別太大,比如一個(gè)正面的人和一個(gè)背面的人巩趁,假如我有一個(gè)側(cè)面的人的圖片,跟兩者都很像谨胞,就有可能用這個(gè)中間圖片將兩者關(guān)聯(lián)起來(lái)扎阶。在這之前其實(shí)也有人提出過(guò)一些方法,比如CVPR2017:Re-ranking person re-identification with k-reciprocal encoding. 先計(jì)算出gallery圖片之間的相似度上沐,將較相似的圖片的rank拉近皮服。

但這些方法大多是將這種關(guān)系抽取和利用作為一個(gè)后處理的過(guò)程,對(duì)圖像模型的訓(xùn)練起不到幫助参咙。并且對(duì)gallery之間的相似度提取大多是基于已經(jīng)訓(xùn)練好的圖像模型龄广,加上無(wú)監(jiān)督的聚類方法,提取gallery圖片之間的相似度關(guān)系蕴侧,這種無(wú)監(jiān)督方法較弱择同,不能充分利用數(shù)據(jù)集中的監(jiān)督信息。

因此這兩篇文章開(kāi)始將gallery之間的關(guān)系(下面簡(jiǎn)稱G2G)融入到圖像模型的訓(xùn)練里净宵。Graph由許多節(jié)點(diǎn)和邊構(gòu)成敲才,在Reid問(wèn)題里,節(jié)點(diǎn)就是一個(gè)個(gè)的人的圖像择葡,邊就是圖像之間的相似度紧武。利用一個(gè)batch中的所有圖像在關(guān)系圖上的關(guān)聯(lián),提供更多的監(jiān)督信號(hào)刁岸,將模型訓(xùn)練的更好脏里。之所以說(shuō)更多的監(jiān)督信號(hào),是因?yàn)橐酝覀円粋€(gè)batch的label只有batch_size對(duì)樣本之間的相似關(guān)系虹曙,但將batch中的所有圖片看成batch size個(gè)圖之后迫横,每個(gè)圖之間有batch gallery size x batch gallery size個(gè)相似度關(guān)系可以學(xué)習(xí),就引入了更多的監(jiān)督信號(hào)酝碳。

Overview

Graph+Reid

這兩篇文章是同一班人馬寫的矾踱,所以其實(shí)整體結(jié)構(gòu)上都很像,我們結(jié)合起來(lái)分析:

  • DGRW是用Random Walk的方式將G2G的相似度信息用來(lái)更新P2G的相似度關(guān)系疏哗,在反向傳播時(shí)通過(guò)G2G這個(gè)很多相似度關(guān)聯(lián)的圖對(duì)原來(lái)的圖像模型提供更多的訓(xùn)練呛讲。
  • SGGNN是用G2G的相似度關(guān)系對(duì)P2G的相似度特征進(jìn)行修正,從而得到更好的相似度特征,并且也通過(guò)G2G之間的大量關(guān)聯(lián)提供了更多的監(jiān)督信號(hào)贝搁。

Deep Group-shuffling Random Walk

與其他Reid方法一樣吗氏,首先訓(xùn)練一個(gè)圖像模型提取圖像特征,對(duì)特征計(jì)算相似度可以得到probe中所有圖片與gallery中所有圖片之間的相似度雷逆,與其他Reid方法不同弦讽,但與reranking相同的是,我們也可以計(jì)算出所有g(shù)allery圖片之間的相似度膀哲。給定一張probe圖片往产,它和所有g(shù)allery之間的相似度向量為y,所有g(shù)allery之間的相似度矩陣為W某宪,我們將一張probe圖片和所有g(shù)allery圖片合起來(lái)看成一個(gè)圖仿村,根據(jù)random walk的思想,probe圖片這個(gè)節(jié)點(diǎn)walk到第j張gallery圖片的概率是yj兴喂,接著蔼囊,從probe節(jié)點(diǎn)出發(fā),經(jīng)過(guò)其他節(jié)點(diǎn)k瞻想,再到達(dá)gallery圖片j的概率是yk * Wkj压真,那么,從probe節(jié)點(diǎn)出發(fā)蘑险,走兩步(包含了所有中間節(jié)點(diǎn)的可能)到達(dá)圖片j的概率就是:

k=1n Wkj*yk

到達(dá)所有圖片j的概率拼成一個(gè)新的向量,我們就可以得到:

y(t+1) = Wy(t)

論文里講t拓展到了無(wú)窮大岳悟,并加入了權(quán)重因子λ對(duì)walk前后的概率進(jìn)行了平衡佃迄,最終化簡(jiǎn)為了這樣的形式:

rw

但根本的道理就是上面所述的Random walk思想。

這樣我們就得到了一組更好的P2G相似度贵少,并且我們反向傳播的時(shí)候呵俏,這組相似度的梯度會(huì)傳到W矩陣上,W矩陣是由前邊圖像模型得出的滔灶,也就會(huì)傳到前面的模型上普碎,從而對(duì)模型提供更多的監(jiān)督信號(hào)。

論文里還有一個(gè)創(chuàng)新點(diǎn)是录平,將視覺(jué)特征分成了K個(gè)group麻车,每個(gè)group的特征都可以單獨(dú)拿出來(lái)用,這樣我們就可以做K個(gè)上邊提到的random walk斗这,于是監(jiān)督信號(hào)更多了动猬,同時(shí)因?yàn)橐曈X(jué)特征被拆成了K份,每一份都只是原特征的一小部分表箭,相當(dāng)于dropout了一部分信息赁咙,也能很大程度上防止過(guò)擬合。但其實(shí)這個(gè)方法并不見(jiàn)得比dropout優(yōu)雅,實(shí)驗(yàn)效果也差不多彼水。

Group shuffle

實(shí)現(xiàn)上還有一個(gè)小的細(xì)節(jié)崔拥,把所有圖片構(gòu)成一個(gè)graph的話,開(kāi)銷太大了凤覆,所以訓(xùn)練時(shí)graph其實(shí)只是所有圖片的一個(gè)子圖握童,

  • 首先每個(gè)batch有64個(gè)人,每個(gè)人有4張圖叛赚,這樣batch size就是256(流下了貧窮的淚水)澡绩,
  • 訓(xùn)練時(shí),首先有256個(gè)softmax loss俺附,
  • 然后對(duì)于64個(gè)人肥卡,每個(gè)人的4張圖中取1張做probe,3張做gallery事镣,galley是所有人一起用的(這樣就有正樣本也有負(fù)樣本)
  • 這樣W矩陣就是643x643步鉴,對(duì)角線為0,于是就有192*192個(gè)g2g相似度璃哟,同時(shí)有64個(gè)p2g的相似度氛琢。這些相似度可以用真實(shí)標(biāo)簽約束,也可以直接用feature求出來(lái)随闪,論文里是用feature求的阳似;
  • 為每個(gè)人得到更新后的p2g向量,對(duì)這64個(gè)長(zhǎng)度為192的p2g向量加二分類loss就完成訓(xùn)練模型的搭建了
  • 測(cè)試時(shí)先算所有p2g相似度铐伴,然后對(duì)每個(gè)probe撮奏,選擇top75個(gè)gallery組成G2G圖,用這個(gè)G2G更新P2G相似度当宴,從而獲得更準(zhǔn)的ranking結(jié)果

Deep Similarity-Guided Graph Neural Network

這篇文章跟上一篇很多地方是一樣的畜吊,我們來(lái)講講不同的地方。

Graph and node

這篇文章聲稱每個(gè)節(jié)點(diǎn)是一個(gè)P2G的圖像對(duì)户矢,但在討論中玲献,圖里的P都是相同的,所以我覺(jué)得可以認(rèn)為這其實(shí)也是一個(gè)G2G的圖梯浪,只不過(guò)每個(gè)節(jié)點(diǎn)的value變成了SiameseCNN算出來(lái)的P2G的相似度向量di捌年,我們用通常的Siamese二分類loss和softmax多分類loss約束di,同時(shí)我們希望能用G2G的相似度矩陣W來(lái)進(jìn)一步修正di驱证,

feature update

考慮一下用類似random walk的模式來(lái)更新相似度向量::

dit+1=(1-α)dit+1+αWdit

但dit畢竟不是相似度的結(jié)果向量延窜,而是相似度特征向量,所以上面這個(gè)式子其實(shí)是不成立的抹锄,于是進(jìn)入拼湊模式逆瑞,文中定義了一個(gè)消息向量:

ti=F(di)

這個(gè)F就是d到t的映射荠藤,

F

如圖,通過(guò)兩層FC+BN+ReLU获高,將相似度特征d映射為一個(gè)能夠根據(jù)相似度矩陣W修正特征向量的消息向量t哈肖,由于權(quán)重是可訓(xùn)練的,所以下面這個(gè)式子就成立了:


update

文中說(shuō)W*t得到的結(jié)果是fusion feature念秧,其實(shí)我覺(jué)得這種G2G相似度和特征的fusion沒(méi)有Random Walk來(lái)得優(yōu)雅淤井,然后用fusion feature和原來(lái)的feature做加權(quán)和,其實(shí)這種加權(quán)和的方式來(lái)修正原來(lái)的feature也值得商榷摊趾。不過(guò)這種update形式也是借鑒自其他的Graph Neural Network方法:

GNN

這里邊的h往往是無(wú)監(jiān)督的币狠,而SGGNN的W是可以有監(jiān)督訓(xùn)練得到的,就比其他GNN的方法要好一點(diǎn)砾层。

實(shí)現(xiàn)細(xì)節(jié)上漩绵,與DGRW類似

  • 選擇48個(gè)人,每個(gè)人有4個(gè)圖肛炮,共192張圖
  • 每個(gè)人的4張圖里止吐,一張做probe,其他做gallery侨糟,gallery是所有人共用的碍扔,于是有Mx(K-1)=144個(gè)gallery圖片(論文里的順序應(yīng)該是寫反了)
  • 用siamese CNN算出48144個(gè)P2G相似度,144144個(gè)G2G相似度
  • 為每個(gè)probe取top100個(gè)gallery圖片構(gòu)成G2G圖秕重,于是W矩陣大小為100x100
  • 用W矩陣更新p2g相似度特征不同,對(duì)相似度特征加dense層再做二分類loss約束即可
  • 測(cè)試與DGRW基本相同,區(qū)別只在于更新的是相似度f(wàn)eature而非相似度結(jié)果悲幅。

Experiment

跟別的方法對(duì)比就不用看了套鹅,我們來(lái)看Ablation Study

DGRW


DGRW result

baseline rank1就91%了我還能說(shuō)什么,流下了不會(huì)調(diào)參的淚水汰具,不過(guò)看baseline+triplet居然還掉了,說(shuō)明他們的hack泛化能力其實(shí)不強(qiáng)菱魔,另外針對(duì)兩個(gè)主要的創(chuàng)新點(diǎn)留荔,group shuffle也沒(méi)有比dropout效果要好多少,random walk也沒(méi)有比reranking好多少澜倦。不過(guò)有一個(gè)現(xiàn)象聚蝶,mAP比top1提高的多,說(shuō)明這種基于g2g關(guān)系的方法藻治,通常是用得分較高的gallery圖像把gallery中得分比較低的對(duì)象拉上來(lái)了碘勉。

SGGNN

SGGNN result

結(jié)果也跟random walk類似。

總結(jié)

將graph之間的關(guān)聯(lián)融合到神經(jīng)網(wǎng)絡(luò)訓(xùn)練中提供了更豐富的監(jiān)督信號(hào)桩卵,基于Graph的方法雖然結(jié)果上提升不明顯(可能是baseline太強(qiáng)了吧)验靡,但創(chuàng)新性是有的倍宾。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市胜嗓,隨后出現(xiàn)的幾起案子高职,更是在濱河造成了極大的恐慌,老刑警劉巖辞州,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件怔锌,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡变过,警方通過(guò)查閱死者的電腦和手機(jī)埃元,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)媚狰,“玉大人岛杀,你說(shuō)我怎么就攤上這事」” “怎么了楞件?”我有些...
    開(kāi)封第一講書人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)裳瘪。 經(jīng)常有香客問(wèn)我土浸,道長(zhǎng),這世上最難降的妖魔是什么彭羹? 我笑而不...
    開(kāi)封第一講書人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任黄伊,我火速辦了婚禮,結(jié)果婚禮上派殷,老公的妹妹穿的比我還像新娘还最。我一直安慰自己,他們只是感情好毡惜,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布拓轻。 她就那樣靜靜地躺著,像睡著了一般经伙。 火紅的嫁衣襯著肌膚如雪扶叉。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,590評(píng)論 1 305
  • 那天帕膜,我揣著相機(jī)與錄音枣氧,去河邊找鬼。 笑死垮刹,一個(gè)胖子當(dāng)著我的面吹牛达吞,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播荒典,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼酪劫,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼吞鸭!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起契耿,我...
    開(kāi)封第一講書人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤瞒大,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后搪桂,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體透敌,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年踢械,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了酗电。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡内列,死狀恐怖撵术,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情话瞧,我是刑警寧澤嫩与,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站交排,受9級(jí)特大地震影響划滋,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜埃篓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一处坪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧架专,春花似錦同窘、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至委刘,卻和暖如春案狠,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背钱雷。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留吹零,地道東北人罩抗。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像灿椅,于是被迫代替她去往敵國(guó)和親套蒂。 傳聞我的和親對(duì)象是個(gè)殘疾皇子钞支,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355

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