王曉,李丹
(四川大學(xué)錦城學(xué)院,四川成都,611371)
行人重識別的目的是在不同的場景和攝像機(jī)視圖中關(guān)聯(lián)特定的對象,其重要組成部分是提取魯棒特征和判別性特征,長期以來一直被基于CNN的方法所主導(dǎo)[1],但是基于CNN方法主要集中在較小鑒別區(qū)域以及其采用的降采樣操作(池化和卷積步長)降低了輸出特征圖的空間分辨率,極大影響對相似外觀物體的區(qū)分能力[2]。而基于注意力機(jī)制的方法大多數(shù)嵌入在深層,更偏愛較大的連續(xù)區(qū)域,并且很難提取多個(gè)多樣化的可判別區(qū)域。隨著多頭注意力模塊的引入,以及卷積和降采樣操作的去除,基于Transformer的模型適合于解決基于CNN的行人重識別中的上述問題。其中多頭注意模塊捕獲了遠(yuǎn)程依賴關(guān)系,激勵(lì)模型參與人體的不同部位。而Transformer無需降采樣操作,可以保留更詳細(xì)的信息。但為了應(yīng)對圖像中的大變化(例如遮擋,姿態(tài)多樣性,攝像機(jī)視角等問題),Transformer仍需要專門針對行人重識別進(jìn)行設(shè)計(jì)。因此構(gòu)建了一個(gè)針對行人重識別的框架——TransReID。
首先構(gòu)建一個(gè)基于Transformer的強(qiáng)基線框架Vit-BoT,該方法主要分為特征提取和監(jiān)督獲取兩個(gè)階段。如圖1所示,給定一幅圖像x∈RH×W×C,其中H,W,C分別表示其高度,通道的寬度和通道數(shù)。我們把它分成N個(gè)固定大小的塊{xip|i=1,2,…,N}。將其中一個(gè)可學(xué)習(xí)的向量[cls]嵌入標(biāo)記為xcls,添加到輸入序列之前,輸入到Transformer層的輸入序列可表示為:
圖1 基于Transformer的強(qiáng)基線框架Vit-BoT
其中Z0表示輸入序列嵌入,P∈(N+1)×D為嵌入的位置。F是一個(gè)線性投影映射到D維。此外采用Transformer層來學(xué)習(xí)特征表示。由于所有的Transformer層都有一個(gè)全局的感受野,從而解決了基于CNN方法的有限感受野問題。同時(shí)由于沒有采用降采樣操作,詳細(xì)的信息得以保留。
原始ViT針對圖像分類任務(wù)所設(shè)計(jì),不能用于行人重識別任務(wù),為此,對其進(jìn)行了幾點(diǎn)適應(yīng)性調(diào)整。
2.1.1 重疊補(bǔ)?。∣verlapping Patches)
在預(yù)處理階段,ViT需要將圖像塊分割為N個(gè)不重疊塊,這時(shí)會(huì)導(dǎo)致每個(gè)塊的局部鄰近結(jié)構(gòu)信息無法較好的保留,故采用滑動(dòng)窗口形式生成重疊塊。假設(shè)滑動(dòng)窗口的步長為S像素,每個(gè)塊的尺寸P=16,那么重疊部分的形狀為(P-S)×P。基于上述定義,如果輸入圖像的尺寸為H×W,那么所得到的圖像塊數(shù)量如下:
從上式可以得出:重疊區(qū)域越大,所提圖像塊數(shù)量越多。而更多的塊通??梢詭砀玫男阅埽瑫r(shí)也會(huì)造成更高的計(jì)算量。為了更好的區(qū)分表示,S通常設(shè)置為小于P的值,而S=P時(shí)則忽略下角標(biāo)。
2.1.2 位置嵌入(Position Embedding)
位置嵌入ρi則表示編碼圖像塊Pi的位置信息,它有助于Transformer的Encoder編碼空間信息。由于行人重識別任務(wù)的圖像分辨率不同于圖像分類時(shí)的原始圖像分辨率,故ImageNet網(wǎng)絡(luò)模型上位置嵌入無法直接應(yīng)用,因此采用雙線性插值輔助ViT-BoT處理任意輸入尺寸的圖像。
盡管前述所設(shè)計(jì)的ViT-BoT可以在目標(biāo)ReID任務(wù)上取得很好的效果,但它并未充分利用ReID數(shù)據(jù)的特性。為更好的探索邊界信息與細(xì)粒度信息,我們提出了拼圖補(bǔ)丁模塊(JPM)與邊信息嵌入向量(SIE),并將所提框架稱之為TranReID,其結(jié)構(gòu)信息見圖2。
圖2 TransReID框架
2.2.1 拼圖補(bǔ)丁模塊(jigsaw patches module, JPM)
為了擴(kuò)展遠(yuǎn)程依賴關(guān)系并增強(qiáng)特征的魯棒性,我們提出了JPM,通過移位和補(bǔ)丁洗牌操作重新安排補(bǔ)丁嵌入,并重新對它們進(jìn)行分組以進(jìn)一步的進(jìn)行特征學(xué)習(xí)。對ViTBoT的最后一層調(diào)整為雙并行分之結(jié)構(gòu)(采用兩個(gè)獨(dú)立Transformer層分別用于學(xué)習(xí)全局特征與局部特征)并行提取魯棒特征。因此,該網(wǎng)絡(luò)傾向于提取具有全局上下文的擾動(dòng)不變和魯棒特征。
為了解決上述的問題,我們提出了一個(gè)拼圖補(bǔ)丁模塊(JPM)對嵌入的塊重新排列然后將它們重新分組到不同的部分中,每一個(gè)都包含整個(gè)圖像的幾個(gè)隨機(jī)嵌入塊。具體描述如下:
第一步:移位操作
第二步:補(bǔ)丁洗牌操作
經(jīng)過前述移動(dòng)后的塊進(jìn)一步通過置換操作(group=k)進(jìn)行處理,此時(shí)隱含特征變?yōu)椋骸?/p>
我們將置換后的特征分成k組,JPM可以將其編碼為k個(gè)局部特征,因此每個(gè)特征可以編碼不同的部件,全局特征與局部特征分別采用分類損失£ID,£T進(jìn)行訓(xùn)練,整體損失定義如下:
2.2.2 邊信息嵌入向量SIE
獲取更詳細(xì)的特征之后,特征仍然容易受到攝像機(jī)或視點(diǎn)變化的影響。換一種說法,由于場景的偏差,訓(xùn)練模型在對同一對象的不同角度的識別上很容易失敗。因此,我們提出了一種邊信息嵌入向量(SIE)去合并非視覺信息,例如將攝像機(jī)或視點(diǎn)去嵌入表示以學(xué)習(xí)不變特征。通過可學(xué)習(xí)向量有效地整合非視覺線索,以緩解不同攝像機(jī)或視覺以及其他因素導(dǎo)致的視覺偏差,以攝像機(jī)為例,所提出的SIE有助于解決攝像機(jī)間和攝像機(jī)內(nèi)匹配所產(chǎn)生的巨大成對相似性差異。SIE也可以很容易地?cái)U(kuò)展到包括除了我們已經(jīng)演示的那些以外的任何非視覺線索。
具體的說,如果圖像的相機(jī)ID為C,那么它對應(yīng)的相機(jī)嵌入可以表示為 S(C),不同位置嵌入會(huì)隨圖像塊變化,相機(jī)嵌入則對所有塊相同。另外,如果視角信息V可知,我們同樣可以將其編碼到所有塊中。
接下來,我們就需要考慮如何集成這兩種不同類型的信息了。最簡單的一個(gè)想法:直接進(jìn)行相加,即S(C)+S(V)。但這種方式可能導(dǎo)致信息抵消。我們提出采用聯(lián)合編碼方式:S(C,V)。也就是說,如果有 CN個(gè)相機(jī)ID,VN個(gè)視角標(biāo)簽,那么S(C,V)總計(jì)有CN×VN個(gè)不同的值。那么第i個(gè)塊的輸入定義如下:
因?yàn)槊總€(gè)塊的嵌入位置不同,但在不同的圖像中是相同的,S(C,V)對于每個(gè)塊是相同的,但是對于不同的圖像可能有不同的值。Transformer層能夠編碼具有不同分布特性、可以直接插入的嵌入向量。
本文采用Market1501[3]數(shù)據(jù)集對所提出的基于TransReID的方法進(jìn)行實(shí)驗(yàn)Market1501數(shù)據(jù)集包括6個(gè)攝像頭所拍攝到的1501個(gè)行人。其中訓(xùn)練集有751人,包含12936張圖像,測試集有750人,包含19732張圖像,平均每人有26.3張測試數(shù)據(jù)。
本文算法基于Colab平臺實(shí)施,迭代次數(shù)為120,GPU為TeslaT4。在訓(xùn)練模型時(shí),將所有圖片大小調(diào)整為256×256。訓(xùn)練圖像通過隨機(jī)水平翻轉(zhuǎn)、填充、隨機(jī)裁剪、隨機(jī)擦除進(jìn)行圖像增強(qiáng)。Batch=8,采用SGD優(yōu)化算法,動(dòng)量為0.9,權(quán)值衰減為1e-4。學(xué)習(xí)率初始化為0.008。
為了測試TransReID學(xué)習(xí)的有效性,本文分別在Market1501數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)驗(yàn)證,訓(xùn)練模型Loss函數(shù)收斂情況如圖3所示,圖中展示了Loss函數(shù)的收斂情況隨迭代次數(shù)的不斷增加而不斷變化的情況,由圖片可以看出,模型在迭代100次時(shí)趨于收斂。行人重識別檢測圖如圖4所示。
圖3 損失函數(shù)圖像
圖4 行人重識別檢測圖
隨著道路監(jiān)控設(shè)施及城市監(jiān)控網(wǎng)絡(luò)的日益完善,視頻偵查作為信息化背景下對現(xiàn)場勘查方法的創(chuàng)新逐漸被利用在刑事偵查之中,成為公安機(jī)關(guān)辦理案件的新技法[4]。然而由于監(jiān)控設(shè)備是24小時(shí)不間斷工作,且監(jiān)控?cái)z像頭數(shù)量龐大,導(dǎo)致數(shù)據(jù)集也非常大,同時(shí)由于不同攝像頭之間的差異性,在追蹤嫌疑人時(shí)增加了一定的難度。在警方確定嫌疑犯基本信息后,采用人力查找監(jiān)控視頻中嫌疑人的行為軌跡是非常費(fèi)時(shí)費(fèi)力的。故先大致確定嫌疑犯出現(xiàn)的范圍,調(diào)出視頻圖像并對其解碼預(yù)處理,對解碼后的視頻圖像進(jìn)行行人檢測,并在數(shù)據(jù)庫中存儲(chǔ)檢測結(jié)果。通過已知某嫌疑犯的照片,輸入到匹配系統(tǒng)中與數(shù)據(jù)庫中行人進(jìn)行比對,收集監(jiān)控系統(tǒng)中嫌疑犯出現(xiàn)的時(shí)間和地點(diǎn),并對檢測到的目標(biāo)在視頻中的幀序列進(jìn)行跟蹤,可以將嫌疑犯在各個(gè)攝像頭中的行蹤串聯(lián)起來,實(shí)現(xiàn)跨攝像頭追蹤,嫌疑犯的行為軌跡一旦確定,將對警方破案刑偵有非常大的幫助。
圖5 匹配系統(tǒng)
本文研究了一個(gè)用于行人重識別的TransReID框架,并且提出兩個(gè)新的模塊,即拼圖補(bǔ)丁模塊(JPM)和邊信息嵌入向量(SIE)。其中JPM可以幫助模型學(xué)習(xí)更多的全局信息和更具有辨別力的部分,使得模型對擾動(dòng)具有魯棒性。而SIE減弱了由不同攝像機(jī)和視點(diǎn)引起的場景偏差的負(fù)面影響?;赥ransReID的方法有著很大的潛力,可以進(jìn)一步探索重識別的任務(wù),以便更好的應(yīng)用于我們的日常生活中。