導(dǎo)讀
這是一篇阿里巴巴團(tuán)隊(duì)發(fā)表在CVPR2017關(guān)于衣物檢索的論文。文章提出從視頻到網(wǎng)店商品的檢索方法。通過LSTM對(duì)視頻幀進(jìn)行處理,提取一系列特征,將這些特征和數(shù)據(jù)庫的特征一起通過一個(gè)學(xué)習(xí)來的樹形網(wǎng)絡(luò)計(jì)算得到相似度。文章鏈接
1. Introduction
這部分主要講述應(yīng)用場景,并指出Video2Shop的檢索相比stree2shop的檢索會(huì)面對(duì)的難題:比如雜亂的背景,視角挑戰(zhàn),遮擋,不同的光照條件,運(yùn)動(dòng)模糊等等。使得Video2Shop更難。于是作者提出一個(gè)框架AsymNet來解決這樣的問題。如下圖Figure 1。

從圖中可以看出,AsymNet分成3部分:IFN,VFN,SN。訓(xùn)練的時(shí)候,IFN對(duì)shoping image(網(wǎng)店的商品圖)進(jìn)行處理,提取特征m,而該商品對(duì)應(yīng)的視頻由VFN處理,VFN先用Faster RCNN進(jìn)行檢測,然后用KCF算法進(jìn)行跟蹤得到一些列的clothing patches,并用IFN提取相應(yīng)的特征。這些特征進(jìn)入兩層的LSTM后也會(huì)輸出對(duì)應(yīng)的隱藏層特征,當(dāng)然你可以設(shè)置更多的幀數(shù),獲得更多的特征。LSTM輸出的特征和上面商品展示圖的特征一塊傳進(jìn)SN,SN是一個(gè)樹結(jié)構(gòu)網(wǎng)絡(luò),參數(shù)可以學(xué)習(xí)得到。經(jīng)過網(wǎng)絡(luò)處理后輸出一個(gè)相似度。測試時(shí)也是同樣操作。
文章貢獻(xiàn)點(diǎn)主要在于提出了這樣的網(wǎng)絡(luò)結(jié)果,并給出一個(gè)近似的訓(xùn)練方法來提高訓(xùn)練速度。但是他們沒有公開他們的數(shù)據(jù)和代碼,這比較可惜。(沒有代碼和數(shù)據(jù),說個(gè)**(手動(dòng)屏蔽敏感字眼))
2. Related Work
這部分沒啥好說的。快進(jìn)>>>
3. Representation Learning Network
3.1 Image Representation Learning Network
IFN是用來提取圖像特征的。網(wǎng)絡(luò)主體是VGG-16,用的是Faster RCNN的框架。由于衣服多種多樣,大小不一,所以為了統(tǒng)一輸出特征的大小,在卷積層和全連接層之間插入了一個(gè)SSP層。下圖Figure 2所示。

3.2 Video Representation Learning Network
如圖1為了學(xué)習(xí)到時(shí)域信息,作者只好上LSTM,對(duì)于一個(gè)包含n個(gè)clothing patch的序列,用IFN提取特征后,灌進(jìn)LSTM,得到對(duì)應(yīng)的LSTM輸出的特征序列。經(jīng)過作者的實(shí)驗(yàn),一層的LSTM很難學(xué)到時(shí)域信息,使用兩層可以獲得較好的效果。
4. Similarity Learning Network
4.1 Motivation
相似度網(wǎng)絡(luò)的輸入包含LSTM的多個(gè)特征和shop image的特征,這是個(gè)多對(duì)一的問題。傳統(tǒng)的做法是對(duì)LSTM的特征序列進(jìn)行average pooling或者max pooling,又或者直接取最后一層的特征。但是作者認(rèn)為這些做法過于簡單粗暴,不能很好地處理視頻數(shù)據(jù)多變和復(fù)雜的數(shù)據(jù)。
作者認(rèn)為這是一個(gè)混合估計(jì)問題(mixture estimate problem),這類型的問題可以通過拆解多個(gè)簡單的問題并分別求解,最后結(jié)合在一起作為復(fù)雜問題的解。于是作者想通過應(yīng)用專家模型來解決這個(gè)問題。多個(gè)fusion nodes估計(jì)不同視角的相似度,最后加權(quán)得到總的相似度。
4.2 Network Structure
如圖1中,樹結(jié)構(gòu)有兩種節(jié)點(diǎn),similarity network node(SNN)和fusion node(FN),對(duì)應(yīng)書的葉子和分支。
SNN
比如LSTM輸出的某個(gè)狀態(tài)hi,并且有個(gè)圖片的特征m,SNN計(jì)算hi和m的相似度,SNN的結(jié)構(gòu)是兩個(gè)全連接層:fc1(輸出大小大小256)和 fc2 (輸出大小1)。fc2的輸出標(biāo)記為Zi的話,那么SNN最后的輸出yi由下面式子計(jì)算得到。

FN
SNN是分段平滑的,類似于廣義的線性模型。一旦SNN計(jì)算好后,fusion score將會(huì)通過由FN組成的樹結(jié)構(gòu)進(jìn)行計(jì)算。為了簡單起見,這里只是展示了兩層的樹結(jié)構(gòu)。底層(low-level)的FN和SNN鏈接,而頂層(top-level)的SN指向根節(jié)點(diǎn)。
對(duì)于底層的FN_ij,即第i個(gè)底層FN鏈接第j個(gè)頂層FN,這里說的有點(diǎn)抽象,看圖就懂了。定義一個(gè)中間變量eij如下:

式子中vij是FN的參數(shù),xij是來自SNN的fc1層的輸出。底層FN的輸出gij是一個(gè)正則化后的權(quán)重。正則化時(shí),是對(duì)所有鏈接到同一個(gè)頂層FN的底層FN的輸出進(jìn)行正則化。如下式子:

相似的對(duì)于頂層的FN也是類似計(jì)算,如FNj,只不過其輸入xj是來自底層FN的xij的average pooling,并且也有中間變量ej,

輸出則是所有的頂層FN進(jìn)行正則化。

然后底層輸出的權(quán)重g和SNN輸出的相似度相乘得到底層的加權(quán)權(quán)重,傳遞到頂層時(shí),來自不同底層FN的得分相加,再乘以頂層的權(quán)重g。最后頂層的得分相加,得到sg。
(看不懂我表述的看下圖就懂了)
4.3 Learning Algorithm
接著是訓(xùn)練策略,分兩個(gè)階段進(jìn)行,先是特征表示網(wǎng)絡(luò)(IFN和VFN)和SNN節(jié)點(diǎn)學(xué)習(xí),然后固定上面兩個(gè)網(wǎng)絡(luò),學(xué)習(xí)FN節(jié)點(diǎn)。
SNN
對(duì)于SNN的學(xué)習(xí),可以表示為最小化一個(gè)對(duì)數(shù)函數(shù)。

FN
對(duì)于某一個(gè)來自fc1的特征batch,全局相似度sg可以表示為各個(gè)SNN相似度的加權(quán)值,如下式子:

其中p(s)和pi(y)是全局相似度和第i個(gè)SNN輸出的相似度。gj和gij分別是頂層和底層FN輸出的權(quán)重因子。這個(gè)式子的意思是,SNN的相似度通過多層FN傳遞到最后并產(chǎn)生全局相似度。
然后根據(jù)貝葉斯準(zhǔn)則,頂層FN和底層FN的后驗(yàn)概率可以表示成下式子:

這樣子的話,對(duì)于式子6就可以得到一個(gè)梯度下降算法。其對(duì)數(shù)似然函數(shù)可以表示為:

然后對(duì)上式求導(dǎo)可以得到,剃度公式如下:

a是學(xué)習(xí)率,vj和vij是頂層和底層的FN參數(shù)。這樣我們就可以學(xué)習(xí)這個(gè)樹結(jié)構(gòu)網(wǎng)絡(luò)了。實(shí)驗(yàn)中,作者使用費(fèi)5層的樹結(jié)構(gòu)。每層的FN節(jié)點(diǎn)數(shù)分別是32,16,8,4,2。
5 Approximate Training

簡單來說就是對(duì)LSTM的hidden state復(fù)制2xS份。
6 Experiment
6.2 對(duì)比特征表示網(wǎng)絡(luò)的
主要和下面四個(gè)進(jìn)行對(duì)比
- Average pooling,
- Max pooling,
- Fisher Vector [21]
- VLAD[12].

6.3 SN網(wǎng)絡(luò)的結(jié)構(gòu)選擇實(shí)驗(yàn)
實(shí)驗(yàn)對(duì)比了選擇不同的level數(shù),和多種不同的FN節(jié)點(diǎn)來構(gòu)建實(shí)驗(yàn)。主要考慮兩種結(jié)構(gòu):
- 相同的分支,所有的FN節(jié)點(diǎn)有相同數(shù)量的分支。這里設(shè)計(jì)了兩個(gè)網(wǎng)絡(luò),一個(gè)只有一層,包含32個(gè)FN節(jié)點(diǎn)。另一個(gè)有5層,包含62個(gè)FN節(jié)點(diǎn)。
- 不同的分支,設(shè)計(jì)了6個(gè)網(wǎng)絡(luò),分支按照增長的3個(gè):4-8,2-4-4,2-2-2-4;分支下降的3個(gè):8-4,4-4-2,4-2-2-2;
表現(xiàn)如圖:

6.4 Similarity Learning Network的表現(xiàn)
這里作者將本文方法和一些沒有FN節(jié)點(diǎn)的方法進(jìn)行對(duì)比。

可以看到AVG的方法比Max Pooling的方法好。Last的方法比AVG和Max的都好,因?yàn)長ast的方法學(xué)到了全部的時(shí)間信息。
6.5 和所有State-of-the-art的方法比較
主要比較下面5個(gè)方法。
AlexNet (AL)
Deep Search (DS)
F.T. Similarity (FT)
Contrastive Softmax(CS)
Robust contrastive loss (RC)

從這個(gè)表可以知道,直接使用卷積特征的AL和DS效果較差,而帶有類別信息的RC要比CS好。對(duì)于一些其clothing trajectory沒有明顯區(qū)分度的類別,RC要比本文的AsymNet好。不過整體上AsymNet都是很不錯(cuò)。
另外,作者貼了下AsymNet的一些效果圖。

從圖可以看出,有些細(xì)節(jié)比較難區(qū)分,比如圖案不一致,或者顏色不一致。
7. Conclusion
最后作者說,下一步將會(huì)引入衣服屬性來提高網(wǎng)絡(luò)的表現(xiàn)。
好了,今晚的論文分享到這里。堅(jiān)持就極大可能獲得勝利。加油!晚安。
------少俠阿朱,2017.12.08 于深圳