(云南省大理州公安局科技信息化處副處長)
在過去的幾年中,大數(shù)據(jù)采集與深度神經(jīng)網(wǎng)絡(luò)技術(shù)應(yīng)用極大地推動了計(jì)算機(jī)視覺領(lǐng)域的發(fā)展,并廣泛應(yīng)用于公安安防行業(yè)。行人識別是安防行業(yè)視頻結(jié)構(gòu)化的重要環(huán)節(jié),主要應(yīng)用于嫌疑人員布控搜查,通過對大量已有監(jiān)控視頻進(jìn)行分析,可以從中快速檢索出疑似的人員,相比傳統(tǒng)的人工查看監(jiān)控錄像,行人識別系統(tǒng)能極大提高效率,意義重大。本文設(shè)計(jì)了一種行人識別深度神經(jīng)網(wǎng)絡(luò),并進(jìn)行了相關(guān)實(shí)驗(yàn)驗(yàn)證,結(jié)果表明所提出的方法能夠快速準(zhǔn)確地提取視頻圖像中的行人特征,滿足真實(shí)場景公共安防需求。
隨著人工智能技術(shù)的飛速發(fā)展,視頻分析技術(shù)得到了極大提升,并廣泛應(yīng)用于智能安防、自動駕駛、生物醫(yī)療、語義分割等多個領(lǐng)域。其中智能視頻分析在公共安全領(lǐng)域的作用尤為突出。
行人識別是安防行業(yè)視頻結(jié)構(gòu)化的重要環(huán)節(jié),主要應(yīng)用于嫌疑人員布控搜查。傳統(tǒng)的嫌疑人員布控緝拿需要對作案嫌疑人的相關(guān)身份及活動進(jìn)行調(diào)查,安置于城市各個角落的高清攝像機(jī)能夠提供很好的幫助,通過對大量已有監(jiān)控視頻進(jìn)行分析,可以從中檢索出嫌疑人員的活動信息,對安防管理意義重大。但傳統(tǒng)的人工查看監(jiān)控錄像搜集有效信息不僅人力成本過高,而且效率低下,已經(jīng)無法滿足當(dāng)前安防的需求,因此行人識別系統(tǒng)就變得尤為重要。目前已有不少國內(nèi)外學(xué)者進(jìn)入到行人識別這一領(lǐng)域。
本文主要對視頻圖像中行人的相似性進(jìn)行了研究,旨在利用深度神經(jīng)網(wǎng)絡(luò)等技術(shù),分析不同視頻幀中出現(xiàn)的行人圖像的相似性,判斷不同行人圖像是否為同一行人,并給出相似概率。該方法可以很好地解決視頻錄像資料的檢索問題,實(shí)時場景行人跟蹤等安防問題。
本文采用 ResNet50 做為基礎(chǔ)網(wǎng)絡(luò),并對其進(jìn)行改進(jìn)以適用于特征提取。ResNet最早在 2015年被提出,其基本思想為:在網(wǎng)絡(luò)的多層卷積中引入一層或多層殘差連接,將前層卷積信息引入后層,通過殘差映射校正過深網(wǎng)絡(luò)存在的準(zhǔn)確率下降問題。ResNet 解決了隨著網(wǎng)絡(luò)的加深,訓(xùn)練集準(zhǔn)確率下降的問題,并在當(dāng)年的ImageNet 分類任務(wù)上取得了最佳的準(zhǔn)確率,之后逐漸出現(xiàn)很多基于 ResNet殘差的深度網(wǎng)絡(luò)。本為采用 ResNet50作為基礎(chǔ)網(wǎng)絡(luò),主要考慮到行人識別需要很高的初始檢測率,此外為了兼顧計(jì)算效率,未采用更深的網(wǎng)絡(luò)。
ResNet50 由5個主要部分組成 :conv_1,conv_2,conv_3,conv_4,conv_5。其中 conv_5 結(jié)構(gòu)最后一層輸出為 1x1x2048維向量,倒數(shù)第二層為 3x3x512 維向量,倒數(shù)第三層為 1x1x512 維向量。這里我們將倒數(shù)第三層網(wǎng)絡(luò)結(jié)構(gòu)改為 3x3x512,這樣就豐富了網(wǎng)絡(luò)層特征,使提取到的信息更完整,同時將倒數(shù)第二層網(wǎng)絡(luò)改為 1x1x4096,這樣降低了計(jì)算參數(shù)的復(fù)雜性,有利于提升計(jì)算速度,且修正過的網(wǎng)絡(luò)層能夠?qū)⑸蠈泳W(wǎng)絡(luò)傳遞的信息進(jìn)行提前編碼,經(jīng)過兩次特征編碼:1x1x4096 和 1x1x2048 后,得到的圖像特征可更好地適應(yīng)分類任務(wù)。
需要注意的是,若某一幀圖像中包含多個行人,經(jīng)過行人識別神經(jīng)網(wǎng)絡(luò)后我們會得到多個 1x1000 的特征向量,這里我們僅保留預(yù)測概率大于80%的特征向量,預(yù)測概率過低的特征向量視為非行人特征,同時丟棄對應(yīng)的預(yù)測 box。
實(shí)驗(yàn)分為幾個主要部分,包括樣本數(shù)據(jù)集處理,行人識別網(wǎng)絡(luò)模型搭建,深度網(wǎng)絡(luò)結(jié)構(gòu)調(diào)參,網(wǎng)絡(luò)性能及分析,行人特征提取和判別。
本文采用業(yè)內(nèi)標(biāo)準(zhǔn)行人數(shù)據(jù)集:Market-1501 and Mars數(shù)據(jù)集作為實(shí)驗(yàn)樣本數(shù)據(jù),Market-1501數(shù)據(jù)集包含1501個行人共計(jì)32217張人工標(biāo)注圖像。該數(shù)據(jù)訓(xùn)練樣本集包含12936張圖像,測試樣本集包含19281張圖像。MARS 數(shù)據(jù)集包含1261個行人共計(jì)1191003張裁剪圖像,訓(xùn)練樣本集包含 509914 張圖像,測試樣本集包含681089 張圖像。
深度網(wǎng)絡(luò)模型數(shù)據(jù)集構(gòu)建方案為:從行人數(shù)據(jù)集 Market-1501中選取共計(jì) 30000張行人標(biāo)注圖像作為正樣本集,從正樣本集中選取 25000張圖像作為訓(xùn)練正樣本集,剩余5000張圖像作為測試正樣本集。從ImageNet數(shù)據(jù)集和 coco 數(shù)據(jù)集中篩選非行人圖像共計(jì) 30000 張作為負(fù)樣本數(shù)據(jù)集,從負(fù)樣本數(shù)據(jù)集中選擇 25000 張圖像作為訓(xùn)練負(fù)樣本集,剩余 5000 張圖像作為測試負(fù)樣本集。
識別測試數(shù)據(jù)集構(gòu)建方案為:從Mars數(shù)據(jù)集中挑選 20 個行人共計(jì)80張圖像作為校驗(yàn)數(shù)據(jù)集,用于測試行人識別精確度。由于系統(tǒng)應(yīng)用場景滿足一張圖像中出現(xiàn)的行人數(shù)少于 20人,因此并不涉及大規(guī)模行人檢測問題,隨機(jī)任選 20 人對做測試足夠再現(xiàn)真實(shí)場景中最為嚴(yán)苛的情況。此外,可選取 20★20 個行人共計(jì) 80★20 張圖像進(jìn)行 20次重復(fù)實(shí)驗(yàn),取均值作為最終準(zhǔn)確度,本文中給出單次實(shí)驗(yàn)計(jì)算結(jié)果,同類實(shí)驗(yàn)可復(fù)現(xiàn),不再描述。
近幾年出現(xiàn)了許多性能優(yōu)秀的深度網(wǎng)絡(luò)平臺,最為流行的包括 caffe,mxnet,pytorch,tensorflow等。雖然tensorflow 設(shè)計(jì)靈活且兼容numpy,scikit-learn等優(yōu)秀計(jì)算庫,適合算法快速開發(fā),但在圖像計(jì)算方面 caffe 具有速度優(yōu)勢,考慮到系統(tǒng)檢測速度的實(shí)時性要求,本文選擇caffe平臺設(shè)計(jì)搭建對應(yīng)網(wǎng)絡(luò)結(jié)構(gòu)。
軟件環(huán)境為centos7,opencv3.2,cuda8.0,cudnn5.1,boost1.55 等。
硬件設(shè)備環(huán)境為CPU∶ i7-6800k;雙路英偉達(dá) gtx1080ti 計(jì)算卡。
訓(xùn)練過程中設(shè)置每個批大小 batch尺寸為 64,測試 batch尺寸為 64,基礎(chǔ)學(xué)習(xí)率learning rate初始設(shè)置為0.01,對應(yīng) caffe模型的 gamma值設(shè)置為 0.1,動量 momentum 設(shè)置為 0.9,權(quán)值衰減 0.0001,每完成 2000 次 batch運(yùn)算進(jìn)行一次測試,總迭代次數(shù)為10萬輪。最終的模型精度達(dá)到 94%左右。值得注意的是網(wǎng)絡(luò)最后2層的特征抽取層導(dǎo)致模型精度未繼續(xù)提升,但結(jié)合后續(xù)的相似度判定,仍能得到非常不錯的識別精度。由于batch設(shè)置較大,經(jīng)過 4000輪迭代訓(xùn)練后,損失降低為1.119910,迭代訓(xùn)練圖片數(shù)量為256000張,模型精度提高較快。后續(xù)迭代至10萬輪,最終損失降低至e-2數(shù)量級,模型精度基本穩(wěn)定,達(dá)到訓(xùn)練要求。
模型訓(xùn)練過程采用分布式訓(xùn)練,硬件設(shè)備為兩張gtx1080ti,訓(xùn)練時間約為15小時,包括一次預(yù)訓(xùn)練和一次繼承訓(xùn)練。實(shí)際檢測過程采用圖像放縮等方式,運(yùn)算速度滿足每秒 25幀要求,且部署多個模型可實(shí)現(xiàn)更大規(guī)模的圖像并發(fā)處理能力,本文實(shí)際部署2個網(wǎng)絡(luò)模型,性能可以達(dá)到每秒50幀以上,已經(jīng)能夠完全適用系統(tǒng)性能要求,且系統(tǒng)可拓展至服務(wù)器端圖像識別。通過搭建多模型,可實(shí)現(xiàn)服務(wù)運(yùn)算速度的線性提高。
本文根據(jù)加權(quán)準(zhǔn)則編寫了對應(yīng)的功能及邏輯模塊,用于分析行人再次識別判定,具體流程為:拷貝 caffe最后一層layer的行人特征至內(nèi)存,根據(jù)加權(quán)準(zhǔn)則計(jì)算請求識別的行人特征相似性,通過網(wǎng)絡(luò)模塊返回檢測Dataset Identities Images Label method Crop size Multi-shot SequencesMarket-1501 1501 32217 Hand+DPM 128★64 Y NMars 1261 1191003 DPM+GMMCP 256★128 YY結(jié)果。由于視頻為1920★1080分辨率,為提高運(yùn)算速度,將圖像尺寸放縮為 960★540分辨率,為保證良好的識別率,建議行人目標(biāo)區(qū)域滿足80★160及以上大小。我們選擇MARS識別測試數(shù)據(jù)集做測試,測試方法為計(jì)算出20 個行人共 80 張圖像的特征向量,然后任選一向量,根據(jù)加權(quán)準(zhǔn)則查找與其最相似的特征向量,判斷查找到的最相似行人與目標(biāo)行人是否為同一行人,依次不重復(fù)遍歷80個向量,檢測結(jié)果如下:行人目標(biāo)總數(shù) 80,漏檢行人目標(biāo)數(shù) 0,最相似查找正確數(shù) 80,最相似查找錯誤數(shù) 0。
需要注意的是雖然目標(biāo)行人全部識別正確,但最低的相似度閾值只有0.4左右,對于通用性檢測,應(yīng)設(shè)置相似度閾值 0.7至0.8之間,此時雖然導(dǎo)致漏檢正確識別,但可以保證查找的高準(zhǔn)確性,滿足實(shí)際使用,且該閾值在實(shí)際應(yīng)用中具有很好的效果和通用性。
此外,實(shí)際應(yīng)用中,由于不同場景中實(shí)際視頻圖像受拍攝角度、光照影響,同時會有部分行人遮擋,精確度可能有所降低,排除上述擾動因素,在視頻環(huán)境良好且分辨率足夠的情況下,行人檢測實(shí)際效果良好,在保證實(shí)時檢測的同時滿足精確度。
這種行人識別深度神經(jīng)網(wǎng)絡(luò),能高效準(zhǔn)確提取視頻中出現(xiàn)的行人特征,并設(shè)計(jì)了新的相似性檢測方法,用于分析不同行人之間的相似度。該系統(tǒng)適用于公安安檢行業(yè)的嫌疑人員檢索布控,檢索解析視頻中出現(xiàn)的疑似嫌疑人員。最后通過真實(shí)數(shù)據(jù)驗(yàn)證了該算法的快速性和有效性,在視頻分析領(lǐng)域有較強(qiáng)使用價(jià)值。