?

物聯系統邊緣端人流統計方法研究

2022-03-27 11:02譚宏年時長偉
智能物聯技術 2022年5期
關鍵詞:人流行人邊界

譚宏年,時長偉

(1.克拉瑪依職業技術學院 機械工程系,新疆 克拉瑪依 834000;2.新特能源股份有限公司,新疆 烏魯木齊 830000)

0 引言

在智能物聯系統中,利用邊緣端監控系統進行人流統計十分便捷。后臺系統可實時準確獲取邊緣端推送的人流信息,對于日常以及突發情況下的人員管理是非常必要的。

基于視覺的人流量統計通常分為行人目標檢測與跟蹤兩個部分。關于目標檢測,傳統的方法是人工提取目標特征點構建目標特征,然后利用分類算法進行分類并判斷目標是否存在。典型的算法如Hog+SVM[1]、Haar+Adaboost[2],它們的不足之處主要是泛化能力較差、檢測準確率不高以及運算資源消耗過多。近些年,隨著深度學習技術的發展以及GPU(Graphics Processing Unit)并行計算能力的提高,涌現了一批基于目標檢測的深度學習算法,如R-CNN 系列[3-5],SSD(Single Shot multibox Detec tor)[6]、RetinaNet[7]和YOLO 系列[8-10]?;谏疃葘W習的目標檢測算法能自動從行人圖片數據集中學習更深層次的信息,泛化能力強,兼顧檢測速度與識別準確度。如YOLO 算法已經更迭到YOLOv5,其模型權重大小分為s,m,l 和x,相應識別精確度以及時間復雜度也依次增高。其中,YOLOv5s 與YOLOv5m 模型參數量(Params)相對較少,浮點運算量(FLOPs)低,在算力有限的邊緣計算領域應用最多。

當前,基于視覺的人流量統計方法的挑戰主要是遮擋問題,尤其是在人群密度較大的場合,行人之間的遮擋難以避免。針對該問題,有不少學者開展了相關研究。如趙朵朵等[11]提出一種基于Deep SORT(Simple Online and Realtime Tracking)算法的人流統計方案,使用改進的YOLOv3 作為檢測器,利用輕量級網絡MobileNet[12]替換原有的DarkNet-53 網絡,減少了參數量,提高了識別速度,但存在識別精確度降低的問題。朱行棟[13]提出一種單獨基于YOLOv5 模型進行行人檢測的方法,但存在只能檢測行人無法進行更深層次的行人方向判斷與跨線計數的問題。綜上,本文利用輕量級深度學習模型YOLOv5s 作為檢測器,基于檢測的多目標跟蹤(tracking-by-detection)算法Deep SORT[14]實現行人的實時跟蹤,通過設置兩個虛擬檢測區域完成人流的方向檢測與計數。

1 YOLOv5s 人流檢測

在多目標跟蹤算法中,檢測器的好壞直接關系到目標跟蹤結果的準確率,檢測器的速率也會直接影響整個系統的實時性。為了兼顧識別準確率與實時性,也考慮到邊緣設備的算力限制,本文選用YOLOv5s 模型作為人流檢測的基礎模型。

1.1 YOLOv5s 網絡結構

YOLOv5 針對不同大小的網絡的整體架構都是一樣的,只不過會在每個子模塊中采用不同的深度和寬度。如圖1 所示,YOLOv5s 的結構主要分為四個部分,即Input 輸入端、Backbone 主干網絡、Neck 網絡和Prediction 預測端。輸入端包含對圖像的預處理、Mosaic 數據增強、自適應錨框計算,來適應不同大小的數據集。Backbone 主干網絡通過卷積運算從圖像中提取不同的層次特征,主要包含CSP(Cross Stage Partial)結構和SPP(Spatial Pyramid Pooling)結構。前者作用是減少冗余計算量和增強梯度,提高計算速度;后者可將圖像不同層次的特征提取出來,提高檢測精度。Neck 網絡層結構和YOLOv4 相似,FPN(Feature Pyramid Networks)層自頂向下傳遞語義信息,PAN(Path Augmentation Network)層自底向上傳遞信息,從各個主干層對對應的檢測層進行信息融合,進一步提高特征提取的能力。Prediction 預測端的主要作用是在大小不同的特征圖上預測不同尺寸的目標。

圖1 YOLOv5s 網絡架構Figure 1 YOLOv5s Network Architecture

1.2 圖像預處理

在常用的目標檢測算法中,不同的圖片長寬都不相同,因此常用的方式是將原始圖片統一縮放到一個標準尺寸,再送入檢測網絡中。YOLOv5 算法涉及對圖片自適應縮放的步驟為計算縮放比例、計算縮放后尺寸、計算黑邊填充數值。其計算公式如式(1)所示:

式中:l1,w1——原始圖像的長和寬;l2,w2——原始縮放尺寸的長和寬;l3,w3——自適應縮放尺寸的長和寬。

1.3 Mosaic 數據增強

Mosaic 數據增強參照了Cut Mix 數據增強方式,開始前每次讀取4 張圖片,然后依次對4 張圖片進行翻轉、縮放和色域變化等處理,再按照4 個方向擺好,組合為一張新的圖片。這種隨機機制豐富了檢測物體的背景。因為在網絡模型上,由于硬件資源的原因,不能夠將batch_size 設置過大,通過Mosaic 方法就類似間接增大了batch_size,提高了硬件GPU 的使用效率。

1.4 CBAM 注意力機制

YOLOv5 算法將CBAM(Convolutional Block Attention Module)注意力模塊嵌入到網絡結構中,解決原始網絡無注意力偏好的問題。如圖2 所示,CBAM 一共包含2 個獨立的子模塊,通道注意力模塊(Channel Attention Module,CAM)和空間注意力模塊(Spartial Attention Module,SAM),分別進行通道與空間維度上的注意力特征融合并對網絡中間的特征圖進行重構,強調重要特征,抑制一般特征,達到提升目標檢測效果的目的。這樣不僅能節約參數和計算力,并且保證了其能夠做為即插即用的模塊集成到現有的網絡架構中去。

圖2 CBAM 結構Figure 2 CBAM structure

YOLOv5s 網絡中圖像特征提取主要在主干網絡中完成。因此,本文將CBAM 融合在Backbone 之后和Neck 網絡的特征融合之前,可以起到承上啟下的作用。

1.5 損失函數

目標檢測任務的損失函數一般由Classification Loss(分類損失函數)和Bounding Box Regression Loss(回歸損失函數)兩部分構成。YOLOv5s 使用GIoU Loss 作為邊界框回歸損失函數,用以評判預測邊界框(Predicted Box,PB)和真實邊界框(Ground Truth,GT)的距離,如式(2)所示:

式中:IoU 表示預測邊界框和真實邊界框的交并比;Ac表示預測邊界框和真實邊界框同時包含的最小的矩形框的面積;u 表示預測邊界框和真實邊界框的并集;LGIoU為GIoU 損失。GIoU Loss 的優勢是尺度不變性,即預測邊界框和真實邊界框的相似性與它們的空間尺度大小無關。

1.6 NMS 非極大值抑制

在目標檢測的預測階段,會輸出許多候選的anchor box,其中有很多是明顯重疊的預測邊界框都圍繞著同一個目標,這時候可以使用NMS(Non-Maximum Suppression)來合并同一目標的類似邊界框,或者說是保留這些邊界框中最好的一個。

NMS 非極大值抑制算法首先從所有候選框中選取置信度最高的預測邊界框作為基準,然后將所有與基準邊界框的IoU 超過預定閾值的其他邊界框移除。再從所有候選框中選取置信度第二高的邊界框作為一個基準,將所有與基準邊界框的IoU 超過預定閾值的其他邊界框移除。重復上述操作,直到所有預測框都被當做基準,即這時候沒有一對邊界框過于相似。

2 Deep SORT 多目標跟蹤

多目標在線跟蹤算法SORT 的核心是卡爾曼濾波和匈牙利算法,即把一群檢測框和卡爾曼濾波預測得到的邊界框做分配,讓卡爾曼濾波預測得到的邊界框找到和自己最匹配的檢測框,達到追蹤的效果。但是SORT 算法的缺陷是當物體發生遮擋的時候特別容易丟失ID。而Deep SORT 算法在SORT算法的基礎上增加了級聯匹配(Matching Cascade)和新軌跡的確認(confirmed)。

2.1 跟蹤處理與狀態估計

在Deep SORT 算法中,使用8 維狀態空間描述目標的狀態和在圖像坐標系中的運動信息,如圖3 所示:

圖3 多維狀態空間描述Figure 3 Description of multidimensional state space

其中:cx 和cy 分別表示目標中心點的橫坐標和縱坐標,r 表示長寬比,h 表示高,剩下四個參數分別是它們的導數(對應前四個參數在圖像像素中的相對速度)。在狀態估計中,一般狀態向量是由狀態量跟它的導數構成的。在Deep SORT 算法中,卡爾曼濾波進行預測時采用最基本的線性勻速模型,即認為框的移動和框的尺寸、形變的變化是線性勻速變化的。

2.2 數據關聯代價公式

Deep SORT 算法基于目標的運動信息和外觀信息,使用匈牙利算法匹配預測框和跟蹤框。對于運動信息,算法使用馬氏距離描述卡爾曼濾波預測結果和YOLO 檢測器輸出結果的關聯程度,如式(3)所示:

式中,dj和yi分別表示第j 個檢測結果和第i個預測結果的狀態向量,Si表示檢測結果和平均跟蹤結果之間協方差矩陣。但是Deep SORT 不僅看框與框之間的距離,還要看框內的表觀特征,顯然單純用馬氏距離度量框與框的接近度是遠遠不夠的,依然不能解決目標遮擋后跟蹤丟失的問題,所以Deep SORT 還引入了表觀特征余弦距離度量,如式(4)所示:

當d2(i,j)小于指定的閾值,認為關聯成功。

因此,Deep SORT 在數據關聯中一共有兩個代價,一個是馬氏距離,一個是余弦距離,求解過程中要使兩者都盡量小,即框也接近、特征也接近的話,就認為兩個Bbox 中是同一個目標物體。綜合馬氏距離和表觀余弦度量的代價公式如式(5)所示,使用線性加權方式進行求和。

2.3 級聯匹配

長時間遮擋中,卡爾曼濾波的輸出會發散,不確定性增加,而不確定性強的track(預測框)的馬氏距離反而更容易競爭到detection 匹配。因此,需要按照遮擋時間n 從小到大給track 分配匹配的優先級。Tracks 分為確認態(confirmed)和不確認態(unconfirmed),新產生的Tracks 是不確認態的。不確認態的Tracks 必須要和檢測框連續匹配一定的次數(默認是3)才可以轉化成確認態。確認態的Tracks 必須和檢測框連續失配一定次數(默認30次),才會被刪除,這樣就很好解決了目標遮擋后跟蹤丟失的問題。

3 YOLOv5s-DeepSORT 人流統計

人流統計模型的另一個重點是行人計數。本文通過設置兩個虛擬區域來記錄行人跟蹤框中心點進入兩個區域的先后來判斷行人的方向并進行計數。這里涉及到的主要問題是如何判斷一個點是否在某個多邊形區域內。相應的方法有:

射線法:從判斷點向某個統一方向作射線,根據交點個數的奇偶判斷;

轉角法:按照多邊形頂點逆時針順序,根據頂點和判斷點連線的方向正負(設定角度逆時針為正)求和判斷;

夾角和法:求判斷點與所有邊的夾角和,等于360°則在多邊形內部;

面積和法:求判斷點與多邊形邊組成的三角形面積和,等于多邊形面積則點在多邊形內。

上述方法中,面積和法涉及多個面積的計算,比較復雜;夾角和法以及轉角法用到角度計算,會涉及反三角函數,計算開銷比較大;而射線法主要涉及循環多邊形的每條邊進行求交運算,但大部分邊可以通過簡單坐標比對直接排除。因此本文選擇射線法來判斷行人跟蹤框中心點是否在虛擬區域內。

如圖4 所示,在隨機點上作一條平行于x 軸的射線,方向是x 軸正方向,看這條射線與多邊形區域的交點個數,如果是偶數,那么這個隨機點不在該區域內,如果是奇數,則這個點在該區域內。

圖4 射線判別法示意圖Figure 4 Schematic diagram of ray discrimination method

如圖5 所示,當行人跟蹤框中心點在B 區域內時,查看當前跟蹤框ID 號在A 區域是否有記錄:若有記錄,則下行人數加1;若沒有記錄,則記錄當前跟蹤框ID 號。當行人跟蹤框中心點在A 區域內時,查看當前跟蹤框ID 號是否在B 區域有記錄:若有記錄,上行人數加1;若沒有記錄,則記錄當前跟蹤框ID 號。

圖5 雙虛擬檢測區設置Figure 5 Setting of dual virtual detection area

YOLOv5s-DeepSORT 人流統計系統采用YOLOv5s 模型作為基礎檢測器,精確快速完成對監控視頻每一幀的處理,并將檢測框信息傳給下一級;Deep SORT 模塊作為下一級,主要實現多目標行人的跟蹤,為行人計數模塊提供準確和擁有唯一編號的行人檢測框。行人計數模塊通過AB 虛擬區域完成上行以及下行人數的計數,整個人流統計流程如圖6 所示。

圖6 YOLOv5s-DeepSORT 人流統計系統流程圖Figure 6 Flow chart of YOLOv5s-DeepSORT flow statistics system

4 實驗與分析

4.1 實驗準備

實驗配置環境:Windows 10 操作系統;內存為16G;GPU 為NVIDIA GeForce 1650;學習框架為PyTorch1.7.1,torchvision 0.8.2,CUDA10.2 和CUDNN7.6.5。

數據集使用INRIA 數據集。它是一組有標記的站立或行走的人的圖片,其中訓練集中有正樣本614 張(包含1237 個標注行人),負樣本1218 張;測試集中有正樣本288 張(包含589 個標注行人),負樣本453張,其中行人的類名定義為person。

4.2 評價指標

在目標檢測中,一般使用召回率(Recall)、精準率(Precision)和綜合前兩者的平均精度均值mAP(mean Average Precision)對目標檢測算法性能進行評價。所以,本文使用以上3 個指標作為模型評估指標,同時使用每秒幀數FPS(Frames Per Second)作為檢測速度的評估指標。計算公式如(6)(7)(8)所示,其中TP(True Positive)表示正類判定為正類;FP(False Positive)表示負類判定為正類;FN(False Negative)表示正類判定為負類,k 表示類別,C 表示總類別數。

4.3 實驗結果

本文運用YOLOv3、YOLOv4、YOLOv4-tiny 以及YOLOv5s 算法進行了比較實驗,實驗結果如表1 所示。

表1 不同算法精度與速度對比Table 1 Comparison of precision and speed of different algorithms

由表1 可知,YOLOv5s 算法在檢測速度以及精度綜合性能上相比其他算法有明顯優勢。

Deep SORT 追蹤模塊使用的是開源的行人重識別權重ckpt.t7,完成對上一級檢測框的ID 分配與追蹤。整個系統的實時運行圖如圖7 所示??梢钥闯?,利用YOLOv5s-Deep SORT 算法的人流檢測效果較好,距離較遠的目標定位也十分準確,沒有出現行人數量檢測遺漏現象,檢測速度能達到每秒32 幀以上,整體視頻流暢。

圖7 實時人流統計界面Figure 7 Real-time traffic statistics interface

5 結語

本文將基于深度學習的目標檢測網絡YOLOv5s 與多目標跟蹤算法Deep SORT 融合起來,通過設置兩個虛擬檢測區域完成人流的方向檢測與計數,實現了一種兼顧實時性與準確度的人流統計系統。經過測試,相比基于YOLOv3、YOLOv4以及YOLOv4-tiny 的目標檢測網絡的綜合性能有明顯提高,結合Deep SORT 多目標跟蹤,特定環境下人流統計準確率最高接近100%。

猜你喜歡
人流行人邊界
拓展閱讀的邊界
毒舌出沒,行人避讓
意大利邊界穿越之家
路不為尋找者而設
多次人流可導致宮腔粘連致不孕
無痛人流危害多,是保是流不要拖
論中立的幫助行為之可罰邊界
我是行人
曝光闖紅燈行人值得借鑒
超導可視聯合卡前列甲酯用于早早孕無痛人流術的效果觀察
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合