国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

物聯(lián)系統(tǒng)邊緣端人流統(tǒng)計方法研究

2022-03-27 11:02:18譚宏年時長偉
智能物聯(lián)技術(shù) 2022年5期
關(guān)鍵詞:人流行人邊界

譚宏年,時長偉

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

0 引言

在智能物聯(lián)系統(tǒng)中,利用邊緣端監(jiān)控系統(tǒng)進(jìn)行人流統(tǒng)計十分便捷。后臺系統(tǒng)可實時準(zhǔn)確獲取邊緣端推送的人流信息,對于日常以及突發(fā)情況下的人員管理是非常必要的。

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

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

1 YOLOv5s 人流檢測

在多目標(biāo)跟蹤算法中,檢測器的好壞直接關(guān)系到目標(biāo)跟蹤結(jié)果的準(zhǔn)確率,檢測器的速率也會直接影響整個系統(tǒng)的實時性。為了兼顧識別準(zhǔn)確率與實時性,也考慮到邊緣設(shè)備的算力限制,本文選用YOLOv5s 模型作為人流檢測的基礎(chǔ)模型。

1.1 YOLOv5s 網(wǎng)絡(luò)結(jié)構(gòu)

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

圖1 YOLOv5s 網(wǎng)絡(luò)架構(gòu)Figure 1 YOLOv5s Network Architecture

1.2 圖像預(yù)處理

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

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

1.3 Mosaic 數(shù)據(jù)增強

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

1.4 CBAM 注意力機(jī)制

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

圖2 CBAM 結(jié)構(gòu)Figure 2 CBAM structure

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

1.5 損失函數(shù)

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

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

1.6 NMS 非極大值抑制

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

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

2 Deep SORT 多目標(biāo)跟蹤

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

2.1 跟蹤處理與狀態(tài)估計

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

圖3 多維狀態(tài)空間描述Figure 3 Description of multidimensional state space

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

2.2 數(shù)據(jù)關(guān)聯(lián)代價公式

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

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

當(dāng)d2(i,j)小于指定的閾值,認(rèn)為關(guān)聯(lián)成功。

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

2.3 級聯(lián)匹配

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

3 YOLOv5s-DeepSORT 人流統(tǒng)計

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

射線法:從判斷點向某個統(tǒng)一方向作射線,根據(jù)交點個數(shù)的奇偶判斷;

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

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

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

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

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

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

如圖5 所示,當(dāng)行人跟蹤框中心點在B 區(qū)域內(nèi)時,查看當(dāng)前跟蹤框ID 號在A 區(qū)域是否有記錄:若有記錄,則下行人數(shù)加1;若沒有記錄,則記錄當(dāng)前跟蹤框ID 號。當(dāng)行人跟蹤框中心點在A 區(qū)域內(nèi)時,查看當(dāng)前跟蹤框ID 號是否在B 區(qū)域有記錄:若有記錄,上行人數(shù)加1;若沒有記錄,則記錄當(dāng)前跟蹤框ID 號。

圖5 雙虛擬檢測區(qū)設(shè)置Figure 5 Setting of dual virtual detection area

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

圖6 YOLOv5s-DeepSORT 人流統(tǒng)計系統(tǒng)流程圖Figure 6 Flow chart of YOLOv5s-DeepSORT flow statistics system

4 實驗與分析

4.1 實驗準(zhǔn)備

實驗配置環(huán)境:Windows 10 操作系統(tǒng);內(nèi)存為16G;GPU 為NVIDIA GeForce 1650;學(xué)習(xí)框架為PyTorch1.7.1,torchvision 0.8.2,CUDA10.2 和CUDNN7.6.5。

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

4.2 評價指標(biāo)

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

4.3 實驗結(jié)果

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

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

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

Deep SORT 追蹤模塊使用的是開源的行人重識別權(quán)重ckpt.t7,完成對上一級檢測框的ID 分配與追蹤。整個系統(tǒng)的實時運行圖如圖7 所示。可以看出,利用YOLOv5s-Deep SORT 算法的人流檢測效果較好,距離較遠(yuǎn)的目標(biāo)定位也十分準(zhǔn)確,沒有出現(xiàn)行人數(shù)量檢測遺漏現(xiàn)象,檢測速度能達(dá)到每秒32 幀以上,整體視頻流暢。

圖7 實時人流統(tǒng)計界面Figure 7 Real-time traffic statistics interface

5 結(jié)語

本文將基于深度學(xué)習(xí)的目標(biāo)檢測網(wǎng)絡(luò)YOLOv5s 與多目標(biāo)跟蹤算法Deep SORT 融合起來,通過設(shè)置兩個虛擬檢測區(qū)域完成人流的方向檢測與計數(shù),實現(xiàn)了一種兼顧實時性與準(zhǔn)確度的人流統(tǒng)計系統(tǒng)。經(jīng)過測試,相比基于YOLOv3、YOLOv4以及YOLOv4-tiny 的目標(biāo)檢測網(wǎng)絡(luò)的綜合性能有明顯提高,結(jié)合Deep SORT 多目標(biāo)跟蹤,特定環(huán)境下人流統(tǒng)計準(zhǔn)確率最高接近100%。

猜你喜歡
人流行人邊界
拓展閱讀的邊界
毒舌出沒,行人避讓
意林(2021年5期)2021-04-18 12:21:17
路不為尋找者而設(shè)
揚子江(2019年1期)2019-03-08 02:52:34
多次人流可導(dǎo)致宮腔粘連致不孕
無痛人流危害多,是保是流不要拖
論中立的幫助行為之可罰邊界
我是行人
超導(dǎo)可視聯(lián)合卡前列甲酯用于早早孕無痛人流術(shù)的效果觀察
淺談PAC對人工流產(chǎn)術(shù)患者的影響
“偽翻譯”:“翻譯”之邊界行走者
土默特左旗| 武定县| 武汉市| 田东县| 岑巩县| 扶绥县| 定南县| 灵寿县| 丹江口市| 孙吴县| 西盟| 云安县| 凤阳县| 黄平县| 高阳县| 承德县| 五大连池市| 广州市| 大悟县| 广丰县| 临澧县| 山丹县| 航空| 台南县| 斗六市| 万州区| 龙门县| 芒康县| 同仁县| 扶绥县| 铁岭县| 新平| 赣榆县| 弥渡县| 五原县| 石屏县| 如皋市| 安乡县| 石泉县| 高碑店市| 稷山县|