本發(fā)明屬于行人重識別領(lǐng)域,具體地說是涉及一種基于注意力篩選掩碼策略的文本行人重識別方法。
背景技術(shù):
1、行人重識別(person?re-identification,reid)通常以同身份的人員進(jìn)行輸入,然后從不同攝像頭中采集的人員圖像集中檢索出相同身份的人員。
2、傳統(tǒng)的單模態(tài)行人重識別通常是對圖像的特征進(jìn)行提取,然后將圖像特征作為輸入,計算輸入圖像特征與圖像庫中圖像特征之間的距離從而達(dá)到檢索的效果。然而單模態(tài)的行人重識別在圖片遮蔽嚴(yán)重、圖片分辨率較低時會對模型的預(yù)測效果產(chǎn)生較大的影響,會大幅度增加誤識別率,并且單模態(tài)的行人重識別至少需要一張圖像作為查詢,這在某些場景下很難獲得。
3、相比之下,文本到圖像的行人重識別很好的解決了傳統(tǒng)單模態(tài)行人重識別存在的問題,當(dāng)無法獲得查詢行人的視覺圖像只能提供文字描述時就必須使用基于文本到圖像的行人重識別算法。文本和圖像行人重識別可以幫助安全人員根據(jù)目擊者的描述或者報告中的文字信息來識別特定人員,在搜索和救援操作中,文本到圖像的行人重識別可以通過目擊者提供的描述來幫助快速識別和定位失蹤者,提高搜索效率。
4、目前文本到圖像的行人重識別主要分為兩類:無跨模態(tài)交互方法和跨模態(tài)交互方法。無跨模態(tài)交互方法主要是將提取到的文本模態(tài)和圖像模態(tài)投影到同一空間中,通過特征對齊來對兩種不同的模態(tài)進(jìn)行匹配。這種匹配方法通過設(shè)計巧妙的損失函數(shù)來縮小兩個模態(tài)之間的差距,但是忽略的兩個模態(tài)中值得注意的細(xì)節(jié)??缒B(tài)交互方法主要是將圖像的特征和文本的特征通過特征提取器,然后再通過各種注意力機(jī)制對特征進(jìn)行交互達(dá)到模態(tài)對齊的效果。這種方法關(guān)注到了兩個模態(tài)之間的局部細(xì)節(jié)特征,但是同時增加了計算成本。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的在于針對基于局部匹配的文本到圖像行人重識別方法存在的模態(tài)交互不充分以及文本描述較為粗糙的問題,提供一種基于注意力篩選機(jī)制下圖像和文本雙向掩碼的文本到圖像多模態(tài)行人重識別方法,通過對文本模態(tài)和圖像模態(tài)進(jìn)行注意力篩選,注意力得分越高,相對應(yīng)的標(biāo)記對模型影響就越大,然后將篩選后的兩個模態(tài)的特征通過注意力得分進(jìn)行掩碼,再將掩碼的特征與未掩碼的特征進(jìn)行充分交互,從而提升文本到圖像的行人重識別算法準(zhǔn)確度。
2、本發(fā)明采用的技術(shù)方案為:
3、本發(fā)明實現(xiàn)了一種基于注意力篩選掩碼策略的文本行人重識別方法,主要包括以下步驟:
4、步驟1:對文本到圖像行人重識別數(shù)據(jù)集進(jìn)行收集和預(yù)處理:
5、加載廣泛使用的文本到圖像的行人重識別數(shù)據(jù)集,主要包括cuhk-pedes數(shù)據(jù)集和icfg-pedes數(shù)據(jù)集,然后采用隨機(jī)水平翻轉(zhuǎn)、圖像灰度值變化等進(jìn)行數(shù)據(jù)增強(qiáng),得到一批行人圖像訓(xùn)練集其中xi表示第i張行人的圖像,b表示圖像的總數(shù);
6、加載對行人的描述文本其中ti表示第i張行人圖像xi的文本描述;
7、步驟2:構(gòu)建基于注意力篩選掩碼策略的文本到圖像行人重識別網(wǎng)絡(luò)和損失函數(shù),網(wǎng)絡(luò)主要包括圖像編碼器、文本編碼器、注意力模塊和圖像文本掩碼模塊;
8、步驟2.1:由于contrastive?language-image?pre-training(clip)模型在跨模態(tài)圖文對比學(xué)習(xí)中有著出色的效果,所以采用clip模型預(yù)訓(xùn)練的圖像編碼器和文本編碼器對輸入的圖像和文本進(jìn)行特征提??;
9、步驟2.1.1:對于輸入的一張圖像i∈rh×w×c,其中h、w、c分別代表圖像的高度、寬度和通道數(shù),采用clip預(yù)訓(xùn)練的視覺變換器vit(vision?transformer)對圖像特征進(jìn)行提取。首先通過預(yù)訓(xùn)練的(vit)將圖像i劃分為n=h×w/p2個patches,其中p代表一個patch的長度,然后在patch的起始位置添加一個可學(xué)習(xí)的標(biāo)記[cls]v來代表圖像的全局特征,最后通過vit后得到的圖像特征為v={vcls,v1,...,vn},其中vcls代表圖像的全局特征,{v1,...,vn}代表每個patch的特征;
10、步驟2.1.2:對于輸入圖像的文本描述t,采用clip預(yù)訓(xùn)練的bert模型進(jìn)行特征提取。首先對不同長度的文本描述進(jìn)行填充,使得文本填充為固定長度,通過bert輸出后的文本特征為t={tcls,t1,...,tm},其中m代表文本的長度、tcls代表句子的全局特征嵌入、{t1,...,tm}為句子中局部單詞的特征;
11、步驟2.2:得到圖像和文本的特征嵌入后,進(jìn)一步將圖像的全局特征和文本的全局特征在同一潛在空間中進(jìn)行對齊,即全局對齊。在一個批次中,可以將每一個圖像全局特征fiv和文本全局特征fit構(gòu)建一個圖像文本對其中yi,j代表真實匹配的標(biāo)簽,如果yi,j=1表示屬于同一匹配對。通過描述可以得到式子:
12、
13、其中t代表溫度超參數(shù),用于控制概率分布的峰值,sim(u,v)=utv/||u||||v||代表向量u和v之間的余弦相似度,即u和v歸一化后的點積,pi,j表示圖像文本對之間的余弦相似度得分占總得分的比例;
14、得到得分pi,j之后,計算pi,j與真實標(biāo)簽qi,j之間的散度,可以得到圖像到文本的損失函數(shù)為:
15、
16、ε是一個小數(shù),以避免出現(xiàn)數(shù)值問題;同理交換圖像和文本便可得到文本到圖像的損失函數(shù)lt2i,最后得到最終的全局損失函數(shù)為:
17、lgls=li2t+lt2i
18、步驟2.3:將圖像和文本分別送入編碼器后會通過一系列自注意力層,并在最后編碼器會輸出各個標(biāo)記的注意力得分,注意力得分越大,表明該標(biāo)記的貢獻(xiàn)越大,對模型的任務(wù)更重要,所以針對注意力得分篩選出前2k個得分的標(biāo)記針對前2k個標(biāo)記進(jìn)行掩碼然后再進(jìn)行局部特征交互。具體而言,對于輸入的一張圖像i,2kv個局部特征標(biāo)記篩選自圖像特征v={vcls,v1,...,vn},對于一段文本t,2kt個局部特征篩選自文本特征t={tcls,t1,...,tm},最后得到篩選后的前2kv個圖像特征為前2kt個文本特征為
19、步驟2.4:得到篩選后的局部模態(tài)特征后,將篩選后的前2k個模態(tài)特征進(jìn)行隨機(jī)掩碼操作;
20、步驟2.4.1:對于文本特征,首先將篩選后的前2k個標(biāo)記進(jìn)行掩碼,掩碼率以及參數(shù)與bert設(shè)置的參數(shù)相同,掩碼后的文本特征為然后再將未掩碼的圖像和掩碼后的文本特征一同送入一個多模態(tài)交互層中。為了讓掩碼后的文本以及未掩碼的圖像進(jìn)行充分交互,將掩碼后的文本表征作為query(q),圖像特征作為key(k)和value(v),將兩個模態(tài)進(jìn)行交叉注意力交互可以得到如下式子:
21、
22、其中代表未掩碼圖像與掩碼后的文本進(jìn)行交互后的特征表示,ln代表層歸一化,mca代表多頭交叉注意力,d代表掩碼標(biāo)記的嵌入維度,對于每一個掩碼后的特征使用多層感知機(jī)來預(yù)測原始標(biāo)記的概率,最后可以得到文本掩碼的損失函數(shù):
23、
24、其中mt代表掩碼后的文本長度,v代表文本詞匯大小,yi,j代表真實標(biāo)簽,是多層感知機(jī)預(yù)測概率,mlp為多層感知機(jī);
25、步驟2.4.2:對于圖像掩碼,操作與文本掩碼類似,篩選前2k個標(biāo)記然后采用mae策略對其進(jìn)行掩碼操作,再將掩碼后的圖像特征作為query(q),未掩碼的文本特征作為key(k)和value(v),將兩個模態(tài)進(jìn)行多頭交叉注意力得到未掩碼文本與掩碼后的圖像特征再將得到的掩碼后的圖像特征使用多層感知機(jī)來預(yù)測原始標(biāo)記的概率,最后得到圖像掩碼的損失函數(shù):
26、
27、
28、其中為多層感知機(jī)預(yù)測值,mv為掩碼后的圖像標(biāo)記,是原始圖像標(biāo)記,yi,j代表真實標(biāo)簽,mlp為多層感知機(jī);
29、步驟2.5:對于局部特征多模態(tài)交互模塊最終的損失函數(shù)為文本的掩碼損失函數(shù)加上圖像的損失函數(shù),兩個函數(shù)相加共同對兩個掩碼模塊進(jìn)行特征交互;
30、最終構(gòu)建基于全局特征對齊以及局部特征交互的多粒度文本到圖像的行人重識別損失函數(shù):
31、l=lid+lgls+αlmim+βlmlm
32、其中l(wèi)id為行人重識別中常見的身份損失函數(shù),lgls為前面設(shè)計的全局模態(tài)對齊的損失函數(shù),lmim圖像掩碼損失函數(shù),lmlm為文本掩碼損失函數(shù),α和β分別為控制兩個掩碼模塊的超參數(shù);
33、步驟3:利用訓(xùn)練數(shù)據(jù)對構(gòu)建的行人重識別網(wǎng)絡(luò)進(jìn)行訓(xùn)練,在訓(xùn)練過程中,采用clip預(yù)訓(xùn)練的clip-vit-b/16模型作為圖像的編碼器,并采用隨機(jī)水平翻轉(zhuǎn)、帶填充的隨機(jī)裁剪和隨機(jī)擦除三種數(shù)據(jù)增強(qiáng)方法,所有輸入圖像大小均為384x?128,文本序列最大長度為77,前2k個特征選擇中的選擇率為0.6,批次大小選擇為64,訓(xùn)練60個epoch,溫度超參數(shù)設(shè)置為0.015;最終得到訓(xùn)練好的行人重識別網(wǎng)絡(luò);
34、步驟4:利用訓(xùn)練好的行人重識別網(wǎng)絡(luò)進(jìn)行行人重識別。
35、本發(fā)明的有益效果:
36、現(xiàn)有的文本到圖像行人重識別模型要么過度關(guān)注局部特征信息要么只選擇全局交互而忽略局部信息,本發(fā)明提供了一種基于全局特征對齊和局部特征交互的多粒度文本到圖像行人重識別算法,通過引入改進(jìn)的全局特征損失函數(shù)對圖像模態(tài)和文本模態(tài)進(jìn)行粗略的全局特征交互,從而達(dá)到粗略對齊兩個模態(tài)的效果;引入掩碼模塊對文本和圖像兩個模態(tài)進(jìn)行雙向交互,可以充分利用兩個模態(tài)的局部特征信息同時也不會引入巨大的計算量;同時利用transformer注意力機(jī)制對兩個模態(tài)特征進(jìn)行篩選,注意力得分越大代表標(biāo)記對特征的影響力也越大,篩選前2k個標(biāo)記進(jìn)行掩碼交互從而能更大程度增加掩碼交互能力;在文本到圖像的行人重識別的基準(zhǔn)數(shù)據(jù)集中,本發(fā)明在多個評價指標(biāo)都達(dá)到最優(yōu)。