焦帥, 吳迎年,3*, 張晶, 孫樂音
(1.北京信息科技大學(xué)自動化學(xué)院, 北京 100192; 2.智能物聯(lián)與協(xié)同控制研究所, 北京 100192; 3.高端裝備智能感知與控制北京市國際科技合作基地, 北京 100192)
2020年初,新冠肺炎(COVID-19)的出現(xiàn)改變了人們的日常生活。據(jù)統(tǒng)計,截至2021年年底,全球因新冠肺炎導(dǎo)致的死亡人數(shù)已經(jīng)超過了400萬人,并且這一數(shù)字還在不斷上漲。為了預(yù)防新冠肺炎的傳播,在佩戴口罩的同時,保持一定的社交安全距離是必要的。社交距離的檢測與追蹤,對于提高人們在常態(tài)化疫情下的安全保障具有重要意義。
對社交距離的檢測方法有2種:一種是目標(biāo)檢測方法[1];另一種是目標(biāo)追蹤方法[2]。檢測是跟蹤的基礎(chǔ),跟蹤是檢測的應(yīng)用。第一種方法在不同方面有著不同的應(yīng)用:如在對對象進(jìn)行檢測時用到的特征[3];用一些人工智能的方法進(jìn)行進(jìn)一步的挖掘[4]。前者將對象的一部分固定特征當(dāng)作檢測區(qū)域,并努力將圖像或視頻幀與模板進(jìn)行匹配[5]。但是時代在發(fā)展,許多新技術(shù)掩蓋了過去的光輝,以至于后者的優(yōu)點(diǎn)被不斷放大?,F(xiàn)在,利用更加智能的人工智能的方法不僅在精確度上大大地提高,并且還可以像錄像一樣連續(xù)跟蹤。
目標(biāo)跟蹤這一類方法其實(shí)有著多種類型:其中一種類型就是對單目標(biāo)這種物體進(jìn)行跟蹤[6]。而另一種類型顧名思義,就是對多目標(biāo)也就是不同的物體或者是數(shù)量上多的物體進(jìn)行跟蹤[7]。對單目標(biāo)跟蹤實(shí)際上開始的時候?qū)蝹€目標(biāo)框在原始圖像上,然后對它下一位置進(jìn)行一些合理的預(yù)估。多目標(biāo)跟蹤與但目標(biāo)跟蹤最大也是最多的不同之處恰恰就是前者所要面臨的問題更多。例如,一些出現(xiàn)的物體它們是不是新的東西;這些物體經(jīng)常出現(xiàn)在圖像的各個角度方位,并且更甚的是它們不確定有多少也就是數(shù)量無法預(yù)測;另外,這些物體在運(yùn)動方面也有著不能確定的模式,無法做到視頻圖像的這一幀與下一幀之間的具體聯(lián)系。因此,中外學(xué)者充分發(fā)揮了他們自己的優(yōu)勢,研究了不同種類型的相關(guān)工作。近幾年發(fā)現(xiàn)的多重假設(shè)跟蹤[8]或數(shù)據(jù)關(guān)聯(lián)過濾器[9]很好地處理了多目標(biāo)跟蹤問題,雖然效果非常不錯,但做出決策的速度上實(shí)在太慢,并且與跟蹤物體的配對方面的準(zhǔn)確性方面會很大程度上減少,因此很少使用。Rezatofighi等[9]在聯(lián)合概率數(shù)據(jù)關(guān)聯(lián)公式的基礎(chǔ)上,將算法目標(biāo)整體進(jìn)行了更為細(xì)致的改良,完成了更為復(fù)雜性的問題。Wojke等[10]使用人工智能的方法將邊緣上的方形形狀整理出來,并以此為延伸,對物體的表現(xiàn)和它的動作進(jìn)行標(biāo)記;Xiang等[11]將待檢測物體的實(shí)際表現(xiàn)進(jìn)行更深層次的記號刻畫,并使用一些優(yōu)化算法將它們進(jìn)一步的關(guān)聯(lián)在一起。Sun等[12]對不同畫面在連續(xù)的視頻中的表現(xiàn)進(jìn)行記錄,并使用各種優(yōu)化算法進(jìn)行合理的比對,解決了對追蹤的物體的預(yù)測優(yōu)化結(jié)果。
事實(shí)上,檢測是追蹤的基礎(chǔ),因此目標(biāo)檢測算法的好壞對目標(biāo)追蹤所產(chǎn)生的結(jié)果有著十分重要的影響,甚至可以說是起著決定性作用。為此Redmon等[13]提出了YOLOv3(You Only Look Once version 3)算法,該算法不僅在構(gòu)成方面十分簡易,并且對物體檢測的快慢與正確與否都非常出色。但是,就算是傳統(tǒng)的YOLOv3算法也會在進(jìn)行社交距離檢測中無法同時保證實(shí)時性與準(zhǔn)確性,存在特征提取不足和特征利用率不高的問題,導(dǎo)致漏檢率與誤報率較高。
因此,為了解決現(xiàn)有的目標(biāo)檢測算法在社交距離檢測中無法同時滿足檢測的實(shí)時性、準(zhǔn)確性以及在復(fù)雜場景中存在遮擋、小尺度目標(biāo)等問題,現(xiàn)主要對YOLOv3算法的改進(jìn)展開研究,提出基于YOLOv3網(wǎng)絡(luò)的改進(jìn)算法DPPY(dilated pyramid-pooling with YOLOv3),并結(jié)合卡爾曼濾波[19]與修改過后的匈牙利算法[20]以期對行人進(jìn)行更有效的社交距離檢測與追蹤,在預(yù)防新冠肺炎病毒的傳播方面具有重要意義。
將攝像頭調(diào)整好必要的角度焦點(diǎn)對齊路面上的行人,以此用來更好地模仿公共場所中的攝像頭監(jiān)控裝置。對實(shí)驗(yàn)所處的環(huán)境進(jìn)行的仿真構(gòu)建如圖1所示。
H為懸掛的攝像機(jī)與地面的垂直高度;L為懸掛的攝像機(jī)與行人的 水平距離;θ為路面行人彼此對于水平位置旋轉(zhuǎn)角圖1 距離測量模型Fig.1 Distance measurement model
構(gòu)造該實(shí)驗(yàn)?zāi)P湍7聦Τ鞘兄行腥酥行狞c(diǎn)的位置使用距離運(yùn)算得到彼此之間的距離,并嚴(yán)格使用1 m這個長度作為安全社交距離。判斷被檢測人員之間的社交距離與1 m之間的接近程度,上報傳輸給計算機(jī)。行人彼此距離計算公式[14]為
i,j=0,1,…,n
(1)
式(1)中:xi、xj為邊界框中心歸一化水平坐標(biāo);yi、yj為邊界框中心歸一化垂直坐標(biāo)。
Input為輸入;ResUnit為殘差單元;ResN為殘差塊;Upsampling為上采樣;Concat為連接融合;Conv為卷積;Output為輸出圖2 YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.2 Network structure diagram of YOLOv3
YOLOv3網(wǎng)絡(luò)的結(jié)構(gòu)如圖2所示,從圖2中可以發(fā)現(xiàn),該網(wǎng)絡(luò)將一種名叫DarkNet-53網(wǎng)絡(luò)用于它的核心,在它的核心網(wǎng)絡(luò)中,有多達(dá)52個卷積被用來使用,再加上全連接層后,便達(dá)到了一種擁有53層卷積的深層結(jié)構(gòu)。因此,該網(wǎng)絡(luò)通過組合卷積-批歸一化-線性修正單元(DarkNetConv2D-BN-LeakyReLu, DBL)將進(jìn)入其中的原始數(shù)據(jù)進(jìn)行整理,緊接著對圖像數(shù)據(jù)中蘊(yùn)含的深層的結(jié)構(gòu)狀態(tài)進(jìn)行歸納,并以特征圖的形式進(jìn)行處理,將這種形式的圖進(jìn)行不同規(guī)模、不同大小的采樣處理,進(jìn)而搭建出一種名叫特征金字塔的模型結(jié)構(gòu),使不同形狀不同特征的輸入圖像特征數(shù)據(jù)得以更加方便地融合,這樣更能充分地考慮到整體效果。最后,將經(jīng)過特征金字塔網(wǎng)絡(luò)(feature pyramid networks,F(xiàn)PN)后的三個加強(qiáng)特征利用YOLO Head獲得預(yù)測結(jié)果,預(yù)測結(jié)果特征層的形狀分別為(13, 13,18)、(26,26,18)、(52,52,18)。
空洞卷積[15](dilated conv)起源于語義分割,由于對更大感受野的包容性比較強(qiáng),并且還能處理不同大小的特征圖數(shù)據(jù),對細(xì)小數(shù)據(jù)與數(shù)據(jù)的密集型生成上有著較為顯著的作用,因此,在YOLOv3的核心網(wǎng)絡(luò)中試著添上這一卷積結(jié)構(gòu),這樣做的好處有許多:一是可以在進(jìn)行圖像數(shù)據(jù)處理時不至于導(dǎo)致過大的計算量;二是對于圖像數(shù)據(jù)的分辨率優(yōu)化方面有著更為明顯的作用,并且這一優(yōu)化建立在更大的感受野上。因此,可以利用這些好處獲取更為精致的細(xì)節(jié)信息。下面給出針對這一空洞卷積核計算公式[16]:
fd=fo+(fo-1)*(Ecoe-1)
(2)
(3)
式中:fo為原始卷積核大??;fd為空洞卷積核大小;Ecoe為膨脹系數(shù);ln為第n層感受野的大??;ln-1為n-1層感受野大?。籹i為第i層的步幅大小。該模塊如圖3所示。圖3中Dilated Conv2D表示空洞卷積層,Conv2D表示卷積層,膨脹系數(shù)Ecoe為2,感受野對于這樣的處理將得到更好的擴(kuò)展,擴(kuò)展到7。并且特征圖的大小根本不會變化,好處是有利于圖像數(shù)據(jù)特征之間的鏈接,對細(xì)小物體的處理能力得到了加強(qiáng)。
圖3 空洞卷積模塊Fig.3 Dilated convolution module
密集型網(wǎng)絡(luò)連接單元,也叫作DenseNet[17]。這種網(wǎng)絡(luò)是從殘差網(wǎng)絡(luò)(residual neural network, ResNet)演化而來。ResNet網(wǎng)絡(luò)的核心是后面的單元與這之前的單元之間的相互連接,層層遞進(jìn),有效解決梯度消失等問題,獲得更為深度的延伸結(jié)構(gòu)。不同的是,密集型連接單元DenseNet在ResNet的基礎(chǔ)上對層與層之間的交互方式做了改變,真正做到了更為系統(tǒng)、更為全面地不漏掉任何一層的網(wǎng)絡(luò)結(jié)構(gòu)。密集型連接單元的基本公式為
xl=Hl([x0,x1,…,xl-1])
(4)
式(4)中:xl為網(wǎng)絡(luò)在第l層的輸出;Hl(·)為非線性轉(zhuǎn)化函數(shù)[16]。
在DarkNet-53核心網(wǎng)絡(luò)中嘗試著放入密集型連接單元,該結(jié)構(gòu)如圖4所示。
圖4 DenseNet結(jié)構(gòu)Fig.4 DenseNet structure
由圖4可知,原本不相關(guān)的圖片數(shù)據(jù)生成的特征圖也能互相連接。這樣做的好處有:首先是對提取到的特征反復(fù)利用從而更快、更高效地起到關(guān)鍵作用;二是網(wǎng)絡(luò)結(jié)構(gòu)中存在的龐大的參數(shù)得以減少,提高速度。
空間金字塔池化結(jié)構(gòu)(spatial pyramid pooling,SPP)在做輸入圖片的提取等關(guān)鍵操作上,常常存在著不成比例的尺寸問題,如拉伸等扭曲現(xiàn)象。為了解決這一困擾多年的問題,He等[18]通過改變池化操作中的尺度,并對這些變換后的圖像數(shù)據(jù)特征和它下面緊接著的全連接層互相連接。受到上述啟示,本文考慮在最后一個用于提取圖像特征的卷積層中運(yùn)用金字塔池化算法進(jìn)行重構(gòu),重構(gòu)后的SPP網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。
Max Pooling為最大池化圖5 空間金字塔池化模型Fig.5 Spatial pyramid pooling model
從圖5可以看出,該模型首先使用DarkNet核心網(wǎng)絡(luò)最后一個圖像數(shù)據(jù)特征提取層的特征圖作為該結(jié)構(gòu)的輸入,然后進(jìn)行3次卷積操作;接著利用3個不同大小的池化層進(jìn)行最大池化(Max Pooling)操作,再經(jīng)過3次卷積操作得到最后的輸出。這樣做的優(yōu)勢在于對圖像數(shù)據(jù)特征的采集更為有效與多元,并優(yōu)化感受野的感受范圍。
將空洞卷積、密集型網(wǎng)絡(luò)連接單元、空間金字塔池化結(jié)構(gòu)加入YOLOv3的DarkNet-53核心網(wǎng)絡(luò)中,將改進(jìn)后的算法命名為DPPY。改進(jìn)后的網(wǎng)絡(luò)如圖6所示,在改進(jìn)的網(wǎng)絡(luò)中,空洞卷積模塊所選用的膨脹系數(shù)Ecoe為2,從而擴(kuò)大特征圖的感受野;其中的DBL模塊表示批歸一化(BN)、卷積(Conv)、修正線性單元(Leaky-ReLu)的組合;ResUnit模塊表示殘差結(jié)構(gòu);在DarkNet-53主干特征提取網(wǎng)絡(luò)中用于提取52×52、26×26、13×13的殘差塊間進(jìn)行密集型連接單元連接,用DenseResN表示,其中N表示DenseNet中密集鏈接的殘差結(jié)構(gòu)的個數(shù)。在DarkNet核心網(wǎng)絡(luò)的最后一個圖像數(shù)據(jù)特征處理層DRes4后嘗試轉(zhuǎn)變結(jié)構(gòu)特征,引入空間金字塔模型,將其與全局特征信息進(jìn)行融合得到更豐富的特征表示,進(jìn)而提升預(yù)測精度。
圖6 DPPY 網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.6 Network structure diagram of DPPY
卡爾曼濾波[19]通俗意義上來說是一種預(yù)測系統(tǒng)下一狀態(tài)的優(yōu)化算法。它具有簡單易懂的原理,在擁有非確定含義的系統(tǒng)結(jié)構(gòu)中發(fā)揮著更新與預(yù)測作用。
該濾波器的模型如圖7所示。完整的計算方程如下。
圖7 卡爾曼濾波示意圖Fig.7 Kalman filter schematic
(1)預(yù)測過程。
(5)
(6)
(2)更新過程。
(7)
(8)
P′k=(Ik-GkCk)Pk
(9)
匈牙利算法[21]可以用來求解二分圖的匹配問題。通俗來說,對于圖論中的一些經(jīng)典匹配問題比如說二分圖匹配就會涉及一些求它們的增廣路徑的問題。因?yàn)榉瞧ヅ潼c(diǎn)存在于增廣路徑的頭尾,匹配點(diǎn)則是剩余的部分,邊的匹配和點(diǎn)的匹配在進(jìn)行變換的過程中也不會因?yàn)檫@樣的改變而受到牽連,匹配的結(jié)果不會被打壞;該方法步驟如下。
(1)任意取一個匹配M(可以是空集或者只有一條邊)。
(2)令S是非飽和點(diǎn)(尚未匹配的點(diǎn))的集合。
(3)如果S是空集,則M已經(jīng)是最大匹配。
(4)尋找為進(jìn)行交錯路P而指定的起點(diǎn),標(biāo)記為u0。
(5)如果P是一個增廣路,則令M=(M-P)∪(P-M)。
(6)如果增廣路與P不相等,那么就要在S中舍去u0,轉(zhuǎn)到步驟(3)。
循環(huán)迭代以上步驟,最終得到二分圖中的最大匹配。這便是匈牙利算法的核心思想。為了匹配目標(biāo)追蹤中前一幀與當(dāng)前幀也可以借鑒這個想法,因此,要是想讓一個以上的物體方便地進(jìn)行彼此之間的連接,就要考慮這些物體什么時候出現(xiàn),什么時候又離開,也就是消失,并且他們的檢測框身份標(biāo)簽(id)不能發(fā)生變化,也就是同一個物體id要一樣。利用本文提出的DPPY算法,首先對多個目標(biāo)物體進(jìn)行檢測操作,記錄并標(biāo)記出與之相關(guān)的信息,然后輔以卡爾曼濾波進(jìn)行更為細(xì)致的預(yù)測操作,如果只將面積交并比作為唯一評估因素會引發(fā)意想不到的問題,很可能會因?yàn)榇粉櫟奈矬w彼此之間靠得十分近導(dǎo)致產(chǎn)生可怕的結(jié)果。綜合分析了以上可能出現(xiàn)的問題,現(xiàn)運(yùn)用新的顏色直方圖的形式進(jìn)行相應(yīng)操作,并與上述面積交并比進(jìn)行深度融合,更好地對靠得過近的物體進(jìn)行識別,計算公式為
Mi,j=αMCom(i,j)+βMCoe(i,j)
(10)
式(10)中:i為檢測結(jié)果;j為預(yù)測結(jié)果;MCom(i,j)為二者面積的交并比;MCoe(i,j)為外觀關(guān)聯(lián)系數(shù),可通過巴氏距離得到;α、β為權(quán)重系數(shù)。將改進(jìn)后的匈牙利方法應(yīng)用在最終結(jié)果的匹配上,并進(jìn)行必要的關(guān)聯(lián)操作,以此更好地服務(wù)于物體變多產(chǎn)生的軌跡跟著變多的追蹤問題處理上。
如圖8所示,先用DPPY算法對視頻中的當(dāng)前圖像幀的物體進(jìn)行檢測,計算每兩個物體間的距離,判斷是否超過1 m,然后選取卡爾曼濾波器與匈牙利算法完成對這些物體的檢測與追蹤任務(wù)。主要步驟如下。
圖8 實(shí)驗(yàn)流程圖Fig.8 Experimental flow chart
(1)輸入所截取的第一幅圖像數(shù)據(jù),經(jīng)過DPPY方法處理,輸出相應(yīng)檢測結(jié)果。
(2)將數(shù)據(jù)傳給卡爾曼濾波器,這樣做的好處是這張圖像中的物體會被實(shí)時計算。實(shí)時反饋給計算機(jī),判斷人員社交距離是否為安全距離并給出相應(yīng)狀態(tài),用橙色連接線表示距離小于安全距離,紅色連接線表示小于安全距離的1/2,也就是0.5 m左右,綠色連接線表示大于安全距離。
(3)為了防止線條密集度過大,采用設(shè)定安全距離閾值上限2 m,大于這一距離的將不會被用連接線標(biāo)出。
(4)將下一幅圖像數(shù)據(jù)進(jìn)行輸入,經(jīng)過卡爾曼濾波器和修改后的匈牙利算法處理后,完成相應(yīng)的任務(wù)目標(biāo)操作。
(5)判斷是否已將所有圖像數(shù)據(jù)處理完,若有,則重新返回步驟(2);若沒有,則表示圖像數(shù)據(jù)已全部處理完成,關(guān)閉程序。
VS-Code中通過Anaconda平臺搭建Python虛擬環(huán)境。選擇Python3.8版本作為編程語言,并配合Pytorch1.8版本深度學(xué)習(xí)框架來搭建網(wǎng)絡(luò)模型。使用NVIDIA GeForce RTX 2070用來加速訓(xùn)練。
選取CityPersons數(shù)據(jù)集[22]進(jìn)行訓(xùn)練和驗(yàn)證。該數(shù)據(jù)集包含了豐富的環(huán)境變換下的人物圖像數(shù)據(jù)。經(jīng)過查閱官網(wǎng)(www.cityscapes-dataset.com)數(shù)據(jù),并進(jìn)行綜合比對,決定訓(xùn)練數(shù)據(jù)的數(shù)量規(guī)定在2 975張,500張圖片用于驗(yàn)證,訓(xùn)練集包含19 654個人物,驗(yàn)證集包含3 938個人物。這些人物的細(xì)粒度標(biāo)簽占比如圖9所示,由圖9可知步行的人占了絕大多數(shù),并且密度較高,平均一張圖片上大約有7個人物。
圖9 CityPersons上的細(xì)粒度人物類別Fig.9 Fine-grained person categories on CityPersons
將以下評價指標(biāo)運(yùn)用在評估這個提出的算法性能上。
(1)查準(zhǔn)率(Precision)和召回率(Recall)。
(11)
(12)
式中:Pprecision為查準(zhǔn)率;Rrecall為召回率;若所要研究的物體類別與實(shí)際的物體類別相同,則用TP表示這樣的個數(shù);若正好相反,則將相反的個數(shù)用FP顯現(xiàn)出來;還有一種情況,那就是如果物體的確在里面但是由于一些原因沒有被分析出來那么就用FN來標(biāo)記。
(2)平均準(zhǔn)確率(average precision,AP)指標(biāo)以及平均準(zhǔn)確率均值(mean average precision,mAP)指標(biāo)。
(13)
(14)
式中:N為所有類別的數(shù)目。用一種名叫P-R曲線的方式來進(jìn)行有效的評估,這個曲線下方的面積大小即為某類目標(biāo)的AP值。
分別使用YOLOv3算法和本文所提出的DPPY算法進(jìn)行對比試驗(yàn),如圖10所示。從圖10中可以看出,YOLOv3算法在一定情況下會發(fā)生無法捕捉到小物體的問題,并且容易發(fā)生漏檢。而本文所提出的DPPY算法則很好地彌補(bǔ)了上述問題的發(fā)生,提高了算法的魯棒性。
圖10 本文DPPY算法與YOLOv3算法在 數(shù)據(jù)集上的表現(xiàn)Fig.10 Performance of DPPY and YOLOv3 on dataset
圖11展示了兩種算法各自生成的P-R曲線,并以可視化的方法直觀地展現(xiàn)出來。從圖11可以看出,相比于傳統(tǒng)的YOLOv3算法,本文算法在對行人的目標(biāo)檢測中取得了較好的性能。YOLOv3算法只取得了82.1%的AP,而本文的算法DPPY的AP則高達(dá)91.2%,相比YOLOv3算法提高了9.1%的AP。
從圖12可以看出,在進(jìn)行小尺度行人目標(biāo)(tiny)、中尺度行人目標(biāo)(medium)、大尺度行人目標(biāo)(large)檢測時,YOLOv3算法的mAP分別為0.754、0.809、0.858,而本文算法DPPY的mAP則達(dá)到了0.843、0.891、0.936。與YOLOv3相比,本文算法DPPY的mAP分別提高了8.9%、8.2%、7.8%。
圖11 DPPY算法與YOLOv3算法的P-R曲線對比Fig.11 Comparison of P-R curve between DPPY algorithm and YOLOv3 algorithm
圖12 本文算法與YOLOv3算法在各尺度下結(jié)果對比Fig.12 Comparing the results of this algorithm with those of YOLOv3 algorithm at different scales
為了驗(yàn)證社交距離檢測與跟蹤的準(zhǔn)確性與實(shí)時性,將安全社交距離設(shè)定為1 m,攝像機(jī)高度距地面1.8 m,實(shí)驗(yàn)設(shè)計與結(jié)果如下。
圖13 社交距離檢測與追蹤實(shí)驗(yàn)Fig.13 Detection and tracking experiments
如圖13(a) 所示,當(dāng)真實(shí)場景中的第一個人與第二個人距離為0.98 m時,攝像頭將檢測到的圖像傳給計算機(jī),并實(shí)時顯示出檢測的社交距離0.974 m,并用橙色連接線標(biāo)識,表示第一個人和第二個人之間的距離小于安全社交距離,處于警戒狀態(tài)。與此同時,第二個人與第三個人真實(shí)距離為1.1 m,計算機(jī)顯示出的檢測的社交距離為1.092 m,并用綠色連接線標(biāo)識,表示此時第二個人和第三個人的距離處于安全社交距離范圍內(nèi)。如圖13(b)所示經(jīng)過5 s,當(dāng)真實(shí)場景中的第一個人移動到距第二個人距離0.49 m時,第二個人與第三個人距離為1.7 m時,攝像頭將檢測到的圖像傳給計算機(jī),并實(shí)時顯示出檢測的社交距離為0.498 m,并用紅色連接線標(biāo)識,表示第一個人和第二個人的距離小于安全社交距離的1/2,處于危險狀態(tài)。與此同時,顯示第二個人與第三個人距離為1.683 m,計算機(jī)顯示綠色連接線,表示第二個人與第三個人的距離處于安全社交距離范圍內(nèi)。
由于行人移動的不確定性,導(dǎo)致所測量的數(shù)據(jù)具有一定的誤差率,因此進(jìn)行了多組實(shí)驗(yàn), 如表1所示,其中R表示行人間的真實(shí)距離,ri表示第i幀攝像頭所檢測到的行人間的距離。
由表可知,使用YOLOv3算法的誤差范圍在0.068~0.096 m,幀率范圍在21~23幀/s;而使用DPPY算法的誤差范圍為0.011~0.042 m,幀率范圍在32~34幀/s。這表明本文所提出的算法在社交距離檢測與追蹤中的實(shí)時性與準(zhǔn)確性都有所提高。
表1 真實(shí)距離與目標(biāo)檢測距離Table 1 Real distance and target detection distance
為了在疫情期間實(shí)時且準(zhǔn)確地對行人間的社交距離進(jìn)行檢測與追蹤,針對現(xiàn)有目標(biāo)檢測算法YOLOv3進(jìn)行了改進(jìn),提出了DPPY算法。
(1)受到空洞卷積的啟發(fā)嘗試進(jìn)行該模塊的引入,并通過計算確定了所需的膨脹系數(shù)大小。
(2)為了更好地對互不相關(guān)的圖像數(shù)據(jù)特征進(jìn)行更為深入的鏈接,引入了密集型連接單元,承擔(dān)了大部分的層與層之間的深度融合作用。
(3)為了更好地解決圖像數(shù)據(jù)特征在不同尺度下的扭曲變形問題創(chuàng)造性地嘗試引入空間金字塔池化模型用來處理輸入問題。
(4)最后通過連續(xù)圖像中物體的行動方式形成的前后位置間的不同進(jìn)行相應(yīng)的預(yù)測,工具選用卡爾曼濾波器的方式來進(jìn)行,而為了防止距離過近引發(fā)的問題在匈牙利算法的基礎(chǔ)上進(jìn)行了改進(jìn)操作,融合顏色直方圖與交并比,并根據(jù)行人間的社交距離的變化給出相應(yīng)的預(yù)警信息。
(5)根據(jù)檢測到的行人間的社交距離的不同給出不同的提示信息,并用紅、橙、綠三種連接線表示極度危險,危險和安全三種信息。
實(shí)驗(yàn)結(jié)果表明,不僅在AP值上DPPY算法非常良好,有著91.2%的不錯數(shù)值,而且還能勝任基本的人類肉眼感到舒適的34幀/s的檢測幀數(shù)(30幀/s為人類肉眼不覺得卡頓的舒適范圍尺度)。相比于YOLOv3算法,該算法在實(shí)時性與準(zhǔn)確性上有著很大的提高。接下來的工作將對算法進(jìn)行探索與改進(jìn),使算法能在弱光環(huán)境下對行人目標(biāo)的檢測與追蹤取得更好的效果。