Invariance Matters: Exemplar Memory for Domain Adaptive Person Re-identification
1、論文:Invariance Matters: Exemplar Memory for Domain Adaptive Person Re-identification
2、代碼: https://github.com/zhunzhong07/ECN
無(wú)監(jiān)督的域自適應(yīng)(UAD):源域的訓(xùn)練集有標(biāo)簽,目標(biāo)域的訓(xùn)練集無(wú)標(biāo)簽,在目標(biāo)域的測(cè)試集進(jìn)行驗(yàn)證。
由于行人的鏡頭是容易確認(rèn)的,論文中使用了目標(biāo)域的行人鏡頭信息。
文章的網(wǎng)絡(luò)框架:
Exemplar Memory:利用Exemplar Memory保存訓(xùn)練樣本的所有特征。
本文提出了三種不變形:
Exemplar-invariance (樣本不變性):每個(gè)圖像之間都是不同的,將每個(gè)圖像認(rèn)為是單獨(dú)的一類,增大了所有圖像之間的差距。
Camera-invariance(相機(jī)不變性):同一類別由多個(gè)相機(jī)獲得,經(jīng)過(guò)stargan對(duì)相機(jī)風(fēng)格進(jìn)行轉(zhuǎn)化,他們?nèi)跃哂邢嗤臉?biāo)簽。
Neighborhood-invariance(近鄰不變性):由于樣本不變性增大了樣本之間的差距。對(duì)于每一個(gè)樣本,尋找K個(gè)最近鄰的圖像,認(rèn)定為具有相同標(biāo)簽。
風(fēng)格轉(zhuǎn)化圖像:以market為例,該數(shù)據(jù)庫(kù)有6個(gè)攝像機(jī)拍攝,對(duì)每一幅圖像產(chǎn)生對(duì)應(yīng)的另外5種鏡頭的風(fēng)格。該數(shù)據(jù)庫(kù)訓(xùn)練集有12936張圖像,使用starGAN總共產(chǎn)生了64680張圖像。
代碼實(shí)現(xiàn)解析:
網(wǎng)絡(luò)中的第一個(gè)分支簡(jiǎn)單使用監(jiān)督學(xué)習(xí)進(jìn)行優(yōu)化;
網(wǎng)絡(luò)中的第二個(gè)分支首先初始化所有的特征為0,存儲(chǔ)在Exemplar Memory中。
目標(biāo)域的數(shù)據(jù)獲取方式:隨機(jī)在目標(biāo)域中選取batch個(gè)索引。獲得對(duì)應(yīng)索引的圖像鏡頭A。以market為例,在6個(gè)鏡頭中隨機(jī)選取一個(gè)鏡頭,如果該鏡頭正好是A,則獲得該圖像,如若該鏡頭不是A,則獲取對(duì)應(yīng)產(chǎn)生的假圖像。最后獲得的batch中既包含了真圖像,也包含了生成的假圖像。
對(duì)batch計(jì)算損失:
公式(3)計(jì)算每幅圖像屬于12936中的每一類的概率。K的維度是4096 * 12936;f()獲得的維度是4096 * 1。然后利用公式(4)求交叉熵?fù)p失:
經(jīng)過(guò)幾個(gè)epoch之后開始約束近鄰不變:
獲得的k個(gè)近鄰圖像如果標(biāo)簽與目標(biāo)圖像標(biāo)簽一直,權(quán)重為1,否則為1/k,獲得對(duì)應(yīng)權(quán)重的代碼:
然后使用交叉熵計(jì)算損失,對(duì)應(yīng)代碼為:
def smooth_loss(self, inputs, targets):targets = self.smooth_hot(inputs.detach().clone(), targets.detach().clone(), self.knn)outputs = F.log_softmax(inputs, dim=1)loss = - (targets * outputs)loss = loss.sum(dim=1)loss = loss.mean(dim=0)return lossExemplar Memory 中的每個(gè)特征更新方式:
即每次只更新batch中每個(gè)圖像對(duì)應(yīng)的索引,對(duì)應(yīng)的更新代碼:`
總結(jié)
以上是生活随笔為你收集整理的Invariance Matters: Exemplar Memory for Domain Adaptive Person Re-identification的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: dell r730服务器系统安装后,无法
- 下一篇: 如何做好基于地图的数据可视化?