張曉璐
(福建林業(yè)職業(yè)技術(shù)學院 自動化工程系,福建 南平 353000)
隨著深度學習技術(shù)的發(fā)展,屬性識別和行人重識別的研究引起了廣泛的關(guān)注[1-2]。云數(shù)據(jù)中心中具有強大的算力,能夠提高執(zhí)行計算密集型深度神經(jīng)網(wǎng)絡(luò)的效率。但是,由于回程網(wǎng)絡(luò)的延遲性以及從攝像機到數(shù)據(jù)中心的大量數(shù)據(jù)傳輸,在云數(shù)據(jù)中心中部署行人重識別無法滿足識別的實時要求。因此,可行的解決方案是在攝像機附近采用移動邊緣云(MEC)并實現(xiàn)分布式推理。隨著5G技術(shù)的發(fā)展,邊緣計算(EC)技術(shù)成為計算密集型計算任務(wù)的有效優(yōu)化手段[3]。利用邊緣云計算技術(shù),設(shè)計了分布式行人重識別(ECCreID)框架。
如圖1所示,所考慮的監(jiān)控環(huán)境由多個攝像機通過邊緣云網(wǎng)絡(luò)互連組成,用G={C∪V,E}表示。其中,集合C是一組監(jiān)控攝像機集合,集合V是一組具有強大算力的邊緣云計算服務(wù)器,集合E是連接攝像機和邊緣云計算服務(wù)器的鏈路集合。攝像機ci∈C通過集合E中的鏈路傳輸視頻數(shù)據(jù)流會消耗網(wǎng)絡(luò)帶寬資源,并會引起通信延遲。網(wǎng)絡(luò)鏈路的通信延遲取決于許多因素,例如鏈路的擁塞程度。因此,這種延遲通常是不確定的,延遲信息無法預(yù)先獲得。每個邊緣服務(wù)器vi∈V中的計算資源用于執(zhí)行實時人員重識別和屬性識別,從而產(chǎn)生處理延遲。
圖1 系統(tǒng)模型
在邊緣云計算(Edge-Cloud Computing,ECC)網(wǎng)絡(luò)中處理視頻流會造成延遲,其中包括通過將視頻或特征從攝像機傳輸?shù)竭吘壏?wù)器的傳輸延遲以及邊緣服務(wù)器的處理延遲。MEC中不同邊緣服務(wù)器和通信鏈路中的延遲會不相同。用rj表示ECN中的請求,每個rj承載一定數(shù)量的視頻數(shù)據(jù)以進行處理。在邊緣服務(wù)器中,處理請求rj的數(shù)據(jù)流所經(jīng)歷的延遲取決于其傳輸速率和工作量。由于請求是按時隙調(diào)度的,因此假設(shè)每個請求所經(jīng)歷的延遲在時隙t內(nèi)不會改變,并且可以在時隙t的最開始處獲得。在每個鏈路e∈E中,傳輸請求視頻流rj的延遲隨時間變化,并且請求rj到達系統(tǒng)的時間是不確定的。
給定ECC網(wǎng)絡(luò)G={C∪V,E},一組請求R(t)在每個時隙t開始時到達,分布式行人重識別問題是指將請求劃分為不同的模塊,然后將模塊分配給相應(yīng)的邊緣服務(wù)器,從而使重識別的準確性最大化,延遲則最小化。
攝像機收集的原始視頻流中有很多冗余信息。為了避免傳輸冗余信息的延遲,在每個攝像機中使用行人檢測器,以從視頻流中提取行人的有效圖像。設(shè)計了一個CNN模型用以行人識別和屬性識別,我們的基本思想是使用最少的模塊間通信將請求處理框架劃分為不同的模塊,這些模塊可以分布到不同的邊緣服務(wù)器,實現(xiàn)分布式處理。由于模塊需要存儲在邊緣服務(wù)器中,因此模塊的訓練模型的大小也要最小化。
在行人重識別過程中,計算查詢圖像與圖庫中所有行人圖像之間的特征相似度或距離非常耗時,其中圖庫是系統(tǒng)保存的一組照片。隨著系統(tǒng)的連續(xù)運行,圖庫會變得非常大,從而使帶有圖庫的邊緣服務(wù)器成為系統(tǒng)的瓶頸。為了加快這一過程,考慮使用分布式圖庫來并行進行行人重識別。具體來說,將一個集中的圖庫分為多個分布式圖庫,將行人圖像的標記特征存儲在圖庫中。獲取人的屬性后,需要查找整個分布式圖庫組以識別人。系統(tǒng)為每個檢測到的人記錄一個實例,其中包含身份識別(ID)、屬性和系統(tǒng)信息,系統(tǒng)信息描述了何時以及在何處檢測到此人。
提出的分布式處理框架ECCreID包括以下關(guān)鍵模塊:
行人檢測模塊:該模塊在每個攝像機ci中運行,從實時視頻流中檢測行人圖像,并將獲得的圖像傳輸?shù)胶罄^模塊。
屬性識別模塊:該模塊從行人檢測模塊接收行人圖像,然后它通過使用CNN模型來識別人的屬性。屬性預(yù)測的輸出與提取特征連接在一起。接下來的兩層是完整連接層和批處理歸一化層。最后,輸出特征將發(fā)送到后續(xù)模塊的每個實例以獲取其ID。
分布式圖庫模塊:每個分布式模塊的實例都分發(fā)到不同的邊緣服務(wù)器,圖庫GAi存儲了攝像機ci的行人特征。從屬性識別模塊接收查詢特征后,分布式圖庫模塊的所有實例都會并行地計算查詢特征與圖庫存儲的所有特征之間的相似度,并將相似性將以降序排列。之后,最大相似度及其對應(yīng)的ID標簽將發(fā)送到后續(xù)模塊。
分類模塊:此模塊從分布式圖庫模塊的每個實例接收本地最大的標記相似度,并按降序?qū)ζ溥M行排序。然后,該模塊能獲得全局最大相似度。定義一個閾值ε,如果全局最大相似度大于ε,則表明該人已被系統(tǒng)檢測到,查詢?nèi)说腎D為具有全局最大相似度的人。然后,需要使用基于指數(shù)加權(quán)平均值的方法將新屬性與實例中的舊屬性融合。當任何攝像機都未檢測到查詢?nèi)藭r,需要通過該查詢?nèi)朔峙湮ㄒ坏腎D并存儲其屬性來創(chuàng)建人員的新實例。無論哪種情況,都將添加框架信息,并且需要將ID結(jié)果發(fā)送回圖庫更新。
同時考慮所有屬性,并同時學習屬性之間的關(guān)系。在模型訓練中采用了多任務(wù)網(wǎng)絡(luò),該網(wǎng)絡(luò)可以同時學習ID分類器和屬性分類器。屬性預(yù)測的輸出與CNN提取的特征級聯(lián)在一起,級聯(lián)特征是ID分類器的輸入。對于重識別,損失函數(shù)Lrid是ID標簽上的分類交叉熵,即為式(1):
(1)
其中,pik是樣本為人k的預(yù)測概率,yik是真實的標簽。N是訓練樣本數(shù),K代表訓練集中ID的數(shù)量。
為了最小化模型的規(guī)模并提高訓練模型的準確性,通過同時考慮所有屬性并同時學習屬性之間的關(guān)系,來緩解屬性識別中的冗余和低效率[4]。損失函數(shù)La是sigmoid交叉熵損失函數(shù)為式(2):
(1-yij)log(1-pij))
(2)
其中,wj=e-ρj/σ2,pij是樣本i的屬性j的預(yù)測概率,yij是真實的標簽,M是屬性的數(shù)量。定義整體損失函數(shù)為式(3):
L=λLrid+((1-λ)/M)La
(3)
提出的模塊分配算法的基本思想是采用基于上下文多搖臂賭博模型的在線學習框架。在提出的框架中,屬性識別模塊和分布式圖庫模塊的位置起著至關(guān)重要的作用。網(wǎng)絡(luò)延遲、圖庫大小及其流行度取決于當前攝像機狀態(tài)和網(wǎng)絡(luò)環(huán)境的上下文。在線學習算法并非始終運行,而是在上下文發(fā)生巨大變化時才進行重新學習。代理(Agent)可以在做出決策之前觀察到此類上下文,將傳輸和處理延遲視為網(wǎng)絡(luò)的上下文。
使用歸一化的端到端延遲作為反饋,以h(·)表示。當計算和傳輸條件相同時,某個任務(wù)的延遲是固定的。假設(shè)在每一輪之前由確定性的遺忘對手選擇了具有特定搖臂和上下文的成本h(·)。第t輪的成本用ht(·)表示,第t輪的上下文為xt,而a為選定的搖臂。T輪后策略π的成本為式(4):
(4)
上下文賭博的最佳策略可以表示為[5]:π*(xt)=mina∈Act(a),其中A是一組搖臂。相應(yīng)的誤差是:R*(T)=hOL-h*,其中,hOL是在T輪中累積的總誤差,而h*=h(π*)。該誤差是基于每輪的最佳策略π*,但是算法是每I輪更新一次。準確的最佳策略的誤差應(yīng)該為:
(5)
在訓練過程中,采用ResNet-50 作為訓練模型,并在ImageNet 上進行了預(yù)尋覽。對于行人重識別和屬性識別,在pool5層之后添加一個512維的全連接層、一個批處理歸一化層和一個Dropout層。對于訓練策略,期數(shù)為80,batch的大小為32,學習率是0.02,在10個期內(nèi)進行warm-up。實驗采用Market-1501數(shù)據(jù)集,這是一個帶有屬性注釋的行人重識別數(shù)據(jù)集。使用來自MOTChallenge 的視頻序列評估本分布式算法。將本方法與現(xiàn)有的相似方法VE[6]進行比較。
行人重識別評估采用累積匹配特征曲線和平均精度均值。表1顯示了在數(shù)據(jù)集Market-1501上本方法和現(xiàn)有方法的對比結(jié)果。從表中可以看出,與現(xiàn)有方法相比,此方法的Rank-1提高了7.63%,平均精度均值提高了15.42%。原因是較高的屬性精度可提高重識別的精度。
表1 累積匹配特征和平均精度均值對比
對于屬性識別,測試每個屬性的分類準確性。對于地理上分散的攝像機融合,將同一個人的預(yù)測輸出融合在不同的圖像中。屬性識別的結(jié)果如表2所示。結(jié)果比基準算法好得多。原因是對所有屬性采用單個分類器,同時學習屬性之間的關(guān)系,這優(yōu)于對每個屬性的分類器。此外,結(jié)合融合的方法的精度提高了,這意味著跨攝影機可以提高屬性識別的性能。
表2 屬性識別結(jié)果對比
為了評估有效性,將提出的方法與其他四種算法進行了比較。對比結(jié)果如圖2所示,其中,此方法的性能最好。靜態(tài)方法將所有模塊分配給具有最強計算能力的邊緣服務(wù)器。有結(jié)果可知,這種方法的執(zhí)行效果最差。原因是邊緣服務(wù)器容易發(fā)生過載,從而導致了巨大的處理開銷。貪婪方法根據(jù)對當前網(wǎng)絡(luò)上下文和歷史信息來選擇可以實現(xiàn)最小處理延遲的邊緣服務(wù)器。但是,該方法沒有考慮傳輸延遲,因此造成較高的總延遲。
圖2 不同方法的延遲對比
結(jié)合邊緣云計算技術(shù),設(shè)計了分布式行人識別(ECCreID)框架,以實時高效行人重識別。利用真實數(shù)據(jù)集對所提出的ECCreID框架和算法的性能進行了評估。實驗結(jié)果表明,ECCreID框架能夠獲得較高的識別精度。在未來的工作中,將會在真實場景中部署該框架,進一步評估該框架的性能。