邱博,劉翔,*,石蘊(yùn)玉,尚巖峰
(1.上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院,上海 201620; 2.公安部第三研究所 物聯(lián)網(wǎng)技術(shù)研發(fā)中心,上海 200031)
視頻監(jiān)控系統(tǒng)作為當(dāng)前城市公共安全的基礎(chǔ)設(shè)施,視頻圖像信息已成為支撐治安防控、維護(hù)社會(huì)穩(wěn)定的重要手段。隨著監(jiān)控系統(tǒng)朝著智能化方向發(fā)展,視頻檢測(cè)手段更加成熟、完善,檢測(cè)精度逐漸增高。行人與車輛作為公共安全監(jiān)控過(guò)程中重要的檢測(cè)目標(biāo),精準(zhǔn)性和實(shí)時(shí)性變得愈發(fā)重要。然而現(xiàn)實(shí)中復(fù)雜場(chǎng)景下,尤其在車輛堵塞的地區(qū)、行人匯集地域,行人與車輛檢測(cè)的精度、速度受到了極大的影響。合理均衡模型處理速度、檢測(cè)精度,成為視頻監(jiān)控系統(tǒng)中亟待解決的問(wèn)題。
目前,針對(duì)目標(biāo)檢測(cè)算法主要有2個(gè)研究方向。一是利用傳統(tǒng)的方法提取特征并進(jìn)行檢測(cè),使用 的 特 征 包 括HOG、SURF[1]、SIFT[2]、Haar[3]等。該類算法都是在候選區(qū)域內(nèi)提取特征,最后使用支持向量機(jī)[4]、隨機(jī)森林、自適應(yīng)增強(qiáng)[5]等方法進(jìn)行檢測(cè)與識(shí)別。二是利用深度學(xué)習(xí)進(jìn)行目標(biāo)檢測(cè),可以細(xì)分為二階段與一階段檢測(cè)網(wǎng)絡(luò)。二階段模型中,Girshick等基于RCNN[6],利用selective search方法輸入整張圖片生成2 000個(gè)候選區(qū)域,隨后將包含目標(biāo)區(qū)域的圖片送入網(wǎng)絡(luò)中訓(xùn)練,經(jīng)過(guò)一系列卷積操作提取特征,最后進(jìn)行檢測(cè),生成的候選區(qū)域中包含大量重疊部分,導(dǎo)致RCNN模型訓(xùn)練速度慢,處理效率低下。Girshick提出的Fast-RCNN[7]改進(jìn)了RCNN先提取候選區(qū)域后訓(xùn)練的機(jī)制,直接對(duì)整張圖像進(jìn)行訓(xùn)練,模型將候選區(qū)域映射到最后一層特征圖上,該做法使得卷積層輸出的候選區(qū)域經(jīng)過(guò)ROI Pooling后得到固定的尺度,該方法減少了大量的重復(fù)計(jì)算,在訓(xùn)練速度、檢測(cè)速度與訓(xùn)練空間上都進(jìn)一步地減少。盡管如此,F(xiàn)ast-RCNN也未能達(dá)到實(shí)時(shí)檢測(cè)的性能。Ren等提出的Faster-RCNN[8]中,取代了selective search提取候選區(qū)域的手段,創(chuàng)造性地采用卷積網(wǎng)絡(luò)RPN自行產(chǎn)生建議框,并且和目標(biāo)檢測(cè)網(wǎng)絡(luò)共享卷積網(wǎng)絡(luò),極大地提升了候選框的質(zhì)量,進(jìn)一步提升了檢測(cè)的精準(zhǔn)度。
雖然二階段網(wǎng)絡(luò)的檢測(cè)精度不斷地提高,但訓(xùn)練繁瑣、檢測(cè)速度不佳等情況時(shí)常發(fā)生。YOLO[9]、SSD[10]等 算 法 的 出 現(xiàn) 大 大 縮 短 了 檢 測(cè) 時(shí)間。YOLO預(yù)定義預(yù)測(cè)區(qū)域,在每個(gè)指定區(qū)域內(nèi)中生成若干個(gè)不同大小、比例的潛在邊界框,將候選區(qū)邊界框尺度調(diào)整到更接近真實(shí)的目標(biāo)尺度。SSD則設(shè)計(jì)特征金字塔結(jié)構(gòu)提取不同尺度特征,不同卷積塊負(fù)責(zé)預(yù)測(cè)不同大小的物體。模型訓(xùn)練過(guò)程中采用大尺度特征圖檢測(cè)小物體,小尺度特征圖檢測(cè)大物體的策略。一階段模型使得目標(biāo)檢測(cè)更加具有實(shí)時(shí)性,但精度卻受到了不小的影響。
Anchor-free是一種新型的無(wú)邊框檢測(cè)方法。網(wǎng)絡(luò)不需要設(shè)定預(yù)選框來(lái)限定實(shí)際感受野,通過(guò)學(xué)習(xí)一些關(guān)鍵點(diǎn)的特征或者密集區(qū)域特征來(lái)實(shí)現(xiàn)檢測(cè)目的。例如CornerNet[11]學(xué)習(xí)了真值框的左上與右下2個(gè)角點(diǎn),利用內(nèi)嵌向量分組進(jìn)行角點(diǎn)匹配。ExtremeNet在熱力圖上對(duì)每個(gè)目標(biāo)預(yù)測(cè)TOP 4個(gè)點(diǎn),并且預(yù)測(cè)中心點(diǎn),通過(guò)幾何方法進(jìn)行分組。FoveaBox[12]使用特征金字塔網(wǎng)絡(luò)(FPN)作為主干網(wǎng)絡(luò),通過(guò)比例壓縮真值的中心區(qū)域,形成中心區(qū)域的正樣本集,對(duì)區(qū)域內(nèi)每個(gè)像素預(yù)測(cè)分類與偏移量。CenterNet[13]對(duì)真值熱力圖進(jìn)行高斯核處理,網(wǎng)絡(luò)學(xué)習(xí)高斯核后的真值的中心點(diǎn)坐標(biāo),預(yù)測(cè)偏移量與類別信息,并且在訓(xùn)練過(guò)程中摒棄了非極大值抑制手段,實(shí)現(xiàn)了真正意義上的端到端。
本文提出了一種基于CenterNet模型的輕量化行人車輛等多目標(biāo)實(shí)時(shí)檢測(cè)算法,考慮了復(fù)雜場(chǎng)景中目標(biāo)的大小與目標(biāo)距離的遠(yuǎn)近對(duì)模型精度造成的影響。同時(shí)對(duì)模型進(jìn)行壓縮、剪枝,在精度與速度方面進(jìn)行權(quán)衡,實(shí)現(xiàn)了占用內(nèi)存量低、精準(zhǔn)性高、檢測(cè)速度快的目的,適用于日常監(jiān)控場(chǎng)景。
CenterNet是一種端到端的無(wú)邊框目標(biāo)檢測(cè)算法。Zhou等[13]分 別 使 用ResNet-18[14]、hourglass[15]、dla34作為網(wǎng)絡(luò)主干。主干網(wǎng)絡(luò)輸出的特征圖傳入檢測(cè)模塊,該模塊擁有3個(gè)分支,每個(gè)分支都由3×3的卷積層與1×1的卷積層相連。模型簡(jiǎn)圖如圖1所示。
圖1 CenterNet模型結(jié)構(gòu)Fig.1 CenterNetmodel structure
網(wǎng)絡(luò)對(duì)輸入圖片進(jìn)行高斯核處理,提升真值中心位置的響應(yīng)熱度。隨后將熱力圖進(jìn)行卷積操作,模型學(xué)習(xí)不同類別的峰值點(diǎn)坐標(biāo)(目標(biāo)的中心點(diǎn))。每個(gè)類別僅有一個(gè)局部峰值點(diǎn),此時(shí)局部峰值點(diǎn)作為正樣本,其余為負(fù)樣本。主干網(wǎng)絡(luò)由若干個(gè)卷積層組成,主要功能是提取圖像特征。與其他檢測(cè)模型進(jìn)行32倍下采樣不同,CenterNet只進(jìn)行4倍下采樣。使用更大分辨率的特征圖作為主干網(wǎng)絡(luò)的輸出,能有效降低特征點(diǎn)的損失,避免特征過(guò)小導(dǎo)致后續(xù)網(wǎng)絡(luò)無(wú)法學(xué)習(xí)有效特征。
大部分檢測(cè)網(wǎng)絡(luò)學(xué)習(xí)真值框的位置,Center-Net則學(xué)習(xí)真值中心點(diǎn)坐標(biāo),進(jìn)一步降低了學(xué)習(xí)成本。Heatmap分支輸出形狀為(C,H,W),其中C為類別數(shù),H為輸出圖片的高度,W為輸出圖片的高度。類別中最高的響應(yīng)分?jǐn)?shù)即為該物體的類別。由于負(fù)樣本數(shù)與正樣本比例過(guò)大,因此采用Focal-loss函數(shù)平衡正負(fù)樣本,計(jì)算公式為
式中:Lk為中心點(diǎn)與分類損失函數(shù),下標(biāo)k為第k張輸入圖像;N為圖片中關(guān)鍵點(diǎn)的數(shù)量;下標(biāo)xyc為圖像中的正負(fù)樣本;Yxyc為真值的標(biāo)簽;為預(yù)測(cè)標(biāo)簽;α、β為超參數(shù)。當(dāng)Yxyc=1時(shí),(1-)α充當(dāng)了矯正作用。當(dāng)=1時(shí),表示樣本容易被分辨,此時(shí)應(yīng)該減少loss比重,相應(yīng)地對(duì)難分類的樣本增加權(quán)重。當(dāng)Yxyc接近1時(shí),應(yīng)該預(yù)測(cè)為0。此時(shí)使用()α增加loss權(quán)重,加大訓(xùn)練。
但由于Yxyc接近1,于是利用(1-)β進(jìn)行補(bǔ)償。當(dāng)Yxyc接近0時(shí),則補(bǔ)償與懲罰互相替換,起到雙方制約的作用,弱化了實(shí)際中心點(diǎn)周圍的負(fù)樣本的比重,進(jìn)一步處理正負(fù)樣本的不平衡。位置損失函數(shù)采用了L1 loss:輸入圖片在主干網(wǎng)絡(luò)中進(jìn)行4倍下采樣后,模型將特征圖重新映射到原圖時(shí)會(huì)發(fā)生像素偏移從而產(chǎn)生精度誤差。目標(biāo)中心位置損失函數(shù)為
回歸損失L1:網(wǎng)絡(luò)預(yù)測(cè)出中心點(diǎn)坐標(biāo),對(duì)每個(gè)目標(biāo)尺度進(jìn)行回歸得出寬高,與位置損失一樣使用L1 loss,如下:
式中:Lsize為回 歸 損 失 函 數(shù);Sk為 原 圖 尺 度為回歸后的尺度。
3類損失函數(shù)相加,乘以參數(shù),整個(gè)訓(xùn)練過(guò)程的目標(biāo)損失函數(shù)為
式中:λsize、λoff為參數(shù)。
綜上所述,網(wǎng)絡(luò)模型對(duì)每個(gè)真值進(jìn)行預(yù)測(cè),輸出(C+4)維的矢量,分別對(duì)應(yīng)物體的類別、寬高、中心偏差。
模型檢測(cè)時(shí)采用最大池化思想,對(duì)8聯(lián)通區(qū)域的響應(yīng)點(diǎn)數(shù)值進(jìn)行比較。如果中心點(diǎn)響應(yīng)大于其他位置的響應(yīng),則判斷該點(diǎn)為峰值點(diǎn),反之則舍棄。最后設(shè)置閾值,選取TOP 100個(gè)結(jié)果,作為目標(biāo)的中心點(diǎn)坐標(biāo),如圖2所示。另外兩個(gè)分支根據(jù)目標(biāo)中心坐標(biāo)回歸到邊界框,調(diào)整回歸損失。
圖2 峰值響應(yīng)可視化Fig.2 Peak response visualization
公安監(jiān)控系統(tǒng)對(duì)固定區(qū)域進(jìn)行實(shí)時(shí)監(jiān)控和信息記錄,主要在交通要道、公共聚集場(chǎng)所以及治安復(fù)雜場(chǎng)所安裝視頻監(jiān)控設(shè)備。環(huán)境變化成為影響監(jiān)控系統(tǒng)精度的主要原因。處于十字路口、商業(yè)區(qū)等復(fù)雜環(huán)境中,人流車流明顯增多,此時(shí)攝像頭不能根據(jù)行人遠(yuǎn)近、車輛大小調(diào)整拍攝角度、高度。行人的增加、重疊現(xiàn)象會(huì)加大主干網(wǎng)絡(luò)特征提取的難度,造成漏檢,同時(shí)車輛經(jīng)常會(huì)對(duì)后方行人形成遮擋,此時(shí)模型會(huì)過(guò)分關(guān)注于大型車輛而忽略小目標(biāo)。ResNet-18對(duì)輸入圖片進(jìn)行8倍下采樣,兩個(gè)重疊的行人經(jīng)過(guò)下采樣后處于同一個(gè)像素點(diǎn)中,難以提取到行人信息。隨著網(wǎng)絡(luò)深度加深,模型的表征能力增強(qiáng),但相應(yīng)也造成模型計(jì)算冗余。ResNet-101層級(jí)太多,在公安監(jiān)控系統(tǒng)中不能起到實(shí)時(shí)檢測(cè)的效果。本文提出了一種基于CBNet[16]級(jí)聯(lián)差級(jí)交互的hourglass模型,主要針對(duì)主干網(wǎng)絡(luò)(ResNet-18)做出如下修改:首先增加殘差塊與hourglass模塊的錯(cuò)級(jí)級(jí)聯(lián)結(jié)構(gòu)。第一個(gè)殘差塊輸出的特征與第一個(gè)hourglass的輸入特征進(jìn)行堆疊,第二個(gè)殘差塊的輸出的特征與第一個(gè)hourglass的輸出特征進(jìn)行堆疊,以此類推。網(wǎng)絡(luò)提取細(xì)條狀的目標(biāo)特征時(shí),通過(guò)減少下采樣的倍數(shù)來(lái)減少特征丟失,同時(shí)加深網(wǎng)絡(luò)層數(shù)增強(qiáng)網(wǎng)絡(luò)學(xué)習(xí)困難標(biāo)簽的能力。如果目標(biāo)區(qū)域面積占比較大時(shí),網(wǎng)絡(luò)提取目標(biāo)特征時(shí),相應(yīng)地增加下采樣倍數(shù),降低像素點(diǎn)過(guò)多對(duì)視覺(jué)造成的影響,將模型注意力轉(zhuǎn)移到其他目標(biāo)。本文提出的主干網(wǎng)絡(luò)模型如圖3所示。
圖3 主干網(wǎng)絡(luò)簡(jiǎn)圖Fig.3 Backbone network illustration
輸入圖片尺度為320×192,經(jīng)過(guò)第1個(gè)卷積層與最大池化層后,圖片分辨率已經(jīng)縮小4倍。傳統(tǒng)的模型通常進(jìn)行16倍下采樣。當(dāng)行人重疊或目標(biāo)過(guò)小時(shí),經(jīng)過(guò)下采樣后,重疊行人往往聚集在同一個(gè)像素中。即使之后進(jìn)行反卷積,特征也已被破壞,因此一般模型難以分辨目標(biāo)重疊情況。為防止此現(xiàn)象的發(fā)生,本文新增了一個(gè)并行分支網(wǎng)絡(luò)ResNet-18。分支網(wǎng)絡(luò)包含4個(gè)基本模塊,每個(gè)基本模塊都由2個(gè)殘差塊組成,殘差塊中不使用下采樣,保證了尺度不變性。圖片經(jīng)過(guò)分支網(wǎng)絡(luò)后,尺度變成80×48,通道數(shù)增加至256。
主干網(wǎng)絡(luò)采用hourglass的漏斗狀結(jié)構(gòu),對(duì)下采樣的特征圖雙線性插值返回到原有尺度。碰到大目標(biāo)時(shí),該結(jié)構(gòu)能夠“轉(zhuǎn)移”網(wǎng)絡(luò)的注意力,防止對(duì)大型目標(biāo)過(guò)多“關(guān)注”,從而產(chǎn)生過(guò)擬合現(xiàn)象。本文提出的主干網(wǎng)絡(luò)結(jié)構(gòu)結(jié)合了SSD[10]的思想:大尺度的特征圖檢測(cè)小的目標(biāo),小尺度的特征圖檢測(cè)大的目標(biāo)。但是SSD并沒(méi)有使用特征融合,僅僅在每層預(yù)設(shè)邊界框的個(gè)數(shù)。將主干網(wǎng)絡(luò)與分支網(wǎng)絡(luò)最后輸出的特征進(jìn)行通道疊加,促使網(wǎng)絡(luò)的通道響應(yīng)更加靈敏。本文利用CBNet結(jié)構(gòu)錯(cuò)級(jí)連接ResNet-18與hourglass。分支之間的前一個(gè)殘差塊經(jīng)過(guò)下采樣與主干網(wǎng)絡(luò)的后一個(gè)殘差塊進(jìn)行差級(jí)相連,相連之前保證了兩者輸出尺度一致性,進(jìn)而進(jìn)行通道疊加。對(duì)不同尺度,不同層級(jí)的特征進(jìn)行復(fù)用回傳,以便獲得更強(qiáng)的特征學(xué)習(xí)能力。傳統(tǒng)的級(jí)聯(lián)融合模型類似于FPN網(wǎng)絡(luò)進(jìn)行下采樣后使用反卷積與相同尺度的特征進(jìn)行融合。這種做法使得參數(shù)量快速增加,推理時(shí)間隨之大幅度增加。使用FPN的形式去訓(xùn)練一個(gè)端到端的模型,增加了收斂難度。FPN本身有利于多尺度的特征提取,但是分支網(wǎng)絡(luò)需要保證尺度不變,因此主干網(wǎng)絡(luò)與分支網(wǎng)絡(luò)存在意義相悖。實(shí)驗(yàn)表明,CBNet特征融合結(jié)構(gòu)與原有模型所占內(nèi)存的大小相近,并沒(méi)有增加模型的參數(shù)量。在不破壞分支網(wǎng)絡(luò)尺度不變性的前提下,融合主干網(wǎng)絡(luò)特征與分支網(wǎng)絡(luò)提取的特征后進(jìn)行下采樣。該級(jí)聯(lián)方式讓并行網(wǎng)絡(luò)進(jìn)行互補(bǔ),對(duì)各自分支并無(wú)損失,提高了在訓(xùn)練速度與檢測(cè)精度。
圖像送入模型進(jìn)行訓(xùn)練,4倍下采樣后密集目標(biāo)尺度進(jìn)一步縮小。不同類別的質(zhì)心相互重合,熱力圖峰值差異縮小。網(wǎng)絡(luò)在所有通道上進(jìn)行特征提取,按照通道響應(yīng)的大小來(lái)判斷所提取的特征對(duì)應(yīng)的物體種類。后續(xù)卷積層又將這些特征映射到后續(xù)的通道中。因此,主干網(wǎng)絡(luò)需要增加通道數(shù)來(lái)減少通道響應(yīng)重合的可能性。通道數(shù)的增加使得分類的準(zhǔn)確率、召回率明顯上升,但是導(dǎo)致模型參數(shù)量越來(lái)越大。針對(duì)該問(wèn)題本文采取2種減少參數(shù)量方法:深度可分離卷積[17]和模型壓縮。
2.2.1 深度可分離卷積
深度可分離卷積[17]是一種能有效減少參數(shù)的方法,其能將傳統(tǒng)的卷積分解為一個(gè)深度卷積(Depthwise Convolution)和一個(gè)逐點(diǎn)卷積(Pointwise Convolution),如圖4所示,F(xiàn)和G分別為輸入特征圖和輸出特征圖。
圖4 深度可分離卷積原理Fig.4 Depthwise separable convolution principle
輸入特征圖的尺寸為Df×Df×M,Df和M分別為特征圖的邊長(zhǎng)和通道數(shù)量。傳統(tǒng)卷積核尺寸為Dk×Dk,Dk為卷積核的邊長(zhǎng),經(jīng)過(guò)N個(gè)卷積核,輸出特征圖尺寸為Dt×Dt×N,N為通道數(shù)量。同樣是輸出相同尺度的特征圖,2種卷積的參數(shù)量相差很大。傳統(tǒng)卷積的計(jì)算量為Dk×Dk×M×N×Dt×Dt,深度可分離卷積的計(jì)算量為
從參數(shù)量看,2個(gè)不同卷積的參數(shù)量之間相差一個(gè)數(shù)量級(jí)。從原理看,傳統(tǒng)卷積直接對(duì)通道與區(qū)域同時(shí)進(jìn)行卷積,深度可分離卷積首先對(duì)每個(gè)通道做區(qū)域卷積,再用的卷積核合并通道卷積。不僅提高了網(wǎng)絡(luò)的檢測(cè)速度,還實(shí)現(xiàn)了通道和區(qū)域的分離。
本文對(duì)分支網(wǎng)絡(luò)的4個(gè)模塊都進(jìn)行了深度可分離卷積操作,實(shí)驗(yàn)表明模型的推理速度提升了13%,較好地解決了模型因?yàn)閰?shù)量大而導(dǎo)致推理緩慢的問(wèn)題。
2.2.2 模型壓縮
目前深度學(xué)習(xí)的模型壓縮方法主要分為以下4個(gè)方向:設(shè)計(jì)更加精致的主干網(wǎng)絡(luò)、模型剪枝、核的稀疏化及模型量化。
本文考慮現(xiàn)有的4種方法優(yōu)缺點(diǎn),核的系數(shù)化與模型量化都需要平臺(tái)上稀疏矩陣操作庫(kù)的支持,對(duì)模型的框架、移植的系統(tǒng)都有嚴(yán)格的要求。優(yōu)化主干網(wǎng)絡(luò)[18]提升模型效果最大,剪枝可以更好地降低模型的復(fù)雜度。因此本文選取了較為成熟的2種方法,優(yōu)化主干網(wǎng)絡(luò)和模型剪枝。Zhou等[13]使用ResNet-18作為主干網(wǎng)絡(luò),網(wǎng)絡(luò)的深度和寬度較大,在訓(xùn)練過(guò)程中易造成參數(shù)冗余,且精度、召回率均不高。由于通道數(shù)量較大,上采樣耗時(shí)嚴(yán)重,本文裁剪掉最后一層上采樣。為了保證最后的輸出尺度是4倍下采樣,對(duì)應(yīng)刪除前面一層下采樣的基礎(chǔ)塊。所有的ResNet-18支路保留原有尺度參數(shù),而在hourglass支路中,保持下采樣,并且在下采樣過(guò)程中成倍增加通道數(shù)量,提高精度與召回率。
模型壓縮方面主要進(jìn)行了通道壓縮[19]與蒸餾操作。通道剪枝的核心思想是移除一些冗余的通道,同時(shí)裁剪與這些通道對(duì)應(yīng)的卷積核,減少模型前向計(jì)算所需的FLOPs。本文受到L1稀疏化的啟發(fā),對(duì)hourglass 4個(gè)卷積模塊的通道增加縮放因子gamma,訓(xùn)練后得到4個(gè)縮放系數(shù)gamma。此時(shí)模型的檢測(cè)精度、召回率損失最低。ResNet-18分支則增加了空間注意力機(jī)制。利用全局均勻池化將上一層輸出的值歸一化作為權(quán)重系數(shù),下一層特征圖中的每個(gè)位置像素與該位置權(quán)重做乘積操作。其次對(duì)預(yù)訓(xùn)練的模型進(jìn)行剪枝,分析每層的稀疏性對(duì)精度的影響,第二層卷積層稀疏性對(duì)精度影響如圖5所示。當(dāng)卷積層的稀疏性不斷上升,分類準(zhǔn)確性波動(dòng)。稀疏性為20%時(shí),準(zhǔn)確性達(dá)到最低;當(dāng)稀疏性接近25%,精度最高。因此這個(gè)卷積層選擇25%的稀疏性。
圖5 稀疏性與精度關(guān)系Fig.5 Relationship between sparsity and precision
CenterNet中Heatmap分支利用最大池化機(jī)制預(yù)測(cè)出中心點(diǎn)坐標(biāo),再由損失函數(shù)分支預(yù)測(cè)的寬度、高度計(jì)算出邊界框。
實(shí)際應(yīng)用場(chǎng)景中,同一類別目標(biāo)在空間尺度上的變化很大,針對(duì)如何設(shè)定閾值適應(yīng)場(chǎng)景中目標(biāo)尺度變化的問(wèn)題,本文進(jìn)行如下處理:首先,構(gòu)建掩模矩陣,預(yù)測(cè)的邊界框超出原圖坐標(biāo)則設(shè)置為0,這樣大大減少了邊界框的個(gè)數(shù)。其次,對(duì)每個(gè)類別設(shè)置IOU協(xié)同過(guò)濾。根據(jù)W、H計(jì)算出邊界框的面積。本文根據(jù)人眼的可見范圍的對(duì)每個(gè)類別手動(dòng)設(shè)置最小的面積閾值,即感興趣區(qū)域的最小的邊緣范圍面積。當(dāng)某個(gè)目標(biāo)的面積小于該類別設(shè)定的閾值時(shí),則自動(dòng)忽略目標(biāo)。劃分檢測(cè)區(qū)域過(guò)濾大目標(biāo),當(dāng)目標(biāo)超過(guò)圖像原尺度或者預(yù)測(cè)框的坐標(biāo)超過(guò)預(yù)設(shè)的檢測(cè)區(qū)域?qū)⑦M(jìn)行過(guò)濾。實(shí)際系統(tǒng)中經(jīng)常會(huì)使用多攝像頭協(xié)同工作,此時(shí)可以利用本文策略根據(jù)實(shí)際需求對(duì)各個(gè)攝像頭劃分檢測(cè)區(qū)域。當(dāng)檢測(cè)目標(biāo)的左上角、右下角坐標(biāo)任意一點(diǎn)越過(guò)檢測(cè)區(qū)域,及時(shí)過(guò)濾,確保單個(gè)目標(biāo)能被最清晰地捕捉。最后,在熱力圖分支中對(duì)響應(yīng)分?jǐn)?shù)做非極大值抑制,加上可視化閾值,減少過(guò)小物體顯示。
本實(shí)驗(yàn)以Pytorch為框架,操作系統(tǒng)為W indows7,實(shí)驗(yàn)環(huán)境為4塊Nvida-1080Ti顯卡,batchsize設(shè)置為16,初始學(xué)習(xí)率為5×10-4,訓(xùn)練500個(gè)epochs。本文采用交叉訓(xùn)練方式,首先訓(xùn)練殘差支路,增加網(wǎng)絡(luò)結(jié)構(gòu)并加載預(yù)訓(xùn)練權(quán)重訓(xùn)練hourglass結(jié)構(gòu)。最后結(jié)合CBNet模塊進(jìn)行訓(xùn)練,學(xué)習(xí)率降為9×10-4。
本文從COCO數(shù)據(jù)集中挑選出400張車輛、行人圖片,結(jié)合來(lái)自廣角監(jiān)控?cái)z像頭的1 600張數(shù)據(jù)構(gòu)成新的數(shù)據(jù)集。為了保證兩者數(shù)據(jù)同分布,都選擇了白天的街景。使用上下翻轉(zhuǎn),均值漂移等數(shù)據(jù)增強(qiáng)手段,設(shè)置80個(gè)種子隨機(jī)進(jìn)行數(shù)據(jù)增強(qiáng),最后獲得12 000張圖片。部分圖片如圖6所示,(a)、(b)來(lái)自COCO數(shù)據(jù)集街景圖,(c)、(d)來(lái)自監(jiān)控?cái)z像頭街景圖。
圖6 數(shù)據(jù)集部分圖片F(xiàn)ig.6 Partial pictures of dataset
3.2.1 主干網(wǎng)絡(luò)對(duì)比
本文使用CenterNet模型進(jìn)行精度測(cè)試。嘗試多個(gè)版本的主干網(wǎng)絡(luò),并與主流的框架SSD、slim YOLOV3進(jìn)行實(shí)驗(yàn)對(duì)比。結(jié)果如表1所示。
表1 主流模型精度對(duì)比Table 1 M ainstream m odels'precision com parison
與SSD、slim YOLOV3相比,CenterNet本身并不具備優(yōu)勢(shì)。主干網(wǎng)絡(luò)經(jīng)過(guò)改進(jìn)后,模型沒(méi)有增加參數(shù)量,但是精度、召回率均提高到了90%。實(shí)驗(yàn)表明,CBNet對(duì)hourglass與ResNet交互級(jí)聯(lián)很好地提升了模型的學(xué)習(xí)能力。
3.2.2 模型壓縮對(duì)比
本文對(duì)卷積層通道剪枝,按比例減少通道數(shù)。并且對(duì)每個(gè)卷積層進(jìn)行蒸餾,測(cè)試稀疏性與準(zhǔn)確性的關(guān)系。該方法在模型精度沒(méi)有大幅下降的前提下有效地壓縮了80%的內(nèi)存,壓縮前后的模型精度變化如表2所示。
表2 模型壓縮前后精度變化Tab le 2 M odel's accuracy before and after com pression
3.2.3 模型推理速度對(duì)比
本文對(duì)壓縮前后的模型進(jìn)行性能分析,實(shí)驗(yàn)環(huán)境為單塊Nvida-1080Ti顯卡。實(shí)驗(yàn)結(jié)果如表3所示。模型重新設(shè)計(jì)以后,推理速度提升了50%,證明了主干網(wǎng)絡(luò)有助于模型加速。其次將部分模型的卷積模塊替換成深度可分離卷積,模型速度提升了13%。經(jīng)過(guò)蒸餾與剪枝后模型推理速度大約為原模型速度的3倍,驗(yàn)證了本文壓縮、加速方法的有效性。
表3 模型推理速度對(duì)比Tab le 3 M odel's in ference speed com parison
3.2.4 協(xié)同過(guò)濾可視化結(jié)果
由圖7協(xié)同過(guò)濾對(duì)比可以看出,本文算法很好地排除了小目標(biāo)的干擾。馬路對(duì)面的車輛無(wú)需進(jìn)行檢測(cè)便可以排除,并且右側(cè)靠近攝像頭的人與車輛并沒(méi)有漏檢與誤檢。
圖7 協(xié)同過(guò)濾對(duì)比Fig.7 Collaborative filtering comparison
本文提出了一個(gè)基于CenterNet模型的輕量化的多目標(biāo)實(shí)時(shí)檢測(cè)算法,使用了學(xué)習(xí)能力更強(qiáng)的CBNet差級(jí)級(jí)聯(lián)融合結(jié)構(gòu)進(jìn)行特征提取,并對(duì)原有模型進(jìn)行壓縮及蒸餾。
1)模型準(zhǔn)確率與召回率均可達(dá)到90%,解決了復(fù)雜的交通場(chǎng)景下,對(duì)于行人車輛密集的區(qū)域檢測(cè)精度過(guò)低的問(wèn)題。
2)模型壓縮、蒸餾后,召回率下降2%,準(zhǔn)確率下降2%,但內(nèi)存占用量?jī)H為原來(lái)的15%,增強(qiáng)了模型的普適性。
3)模型進(jìn)行重新設(shè)計(jì)與加速,彌補(bǔ)了原始模型推理過(guò)程中速度過(guò)慢的缺陷,使得檢測(cè)具有實(shí)時(shí)性,極大地提高了監(jiān)控服務(wù)實(shí)時(shí)作戰(zhàn)能力。