999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

改進FCOS的行人檢測算法

2022-11-25 07:26:38汪慧蘭曾浩文王桂麗
計算機工程與設(shè)計 2022年11期
關(guān)鍵詞:特征檢測模型

劉 丹,汪慧蘭,曾浩文,王桂麗

(安徽師范大學(xué) 物理與電子信息學(xué)院,安徽 蕪湖 241002)

0 引 言

行人檢測技術(shù)是智能輔助駕駛系統(tǒng)中的關(guān)鍵技術(shù)[1],能有效減少交通事故的發(fā)生,提高駕駛的安全性[2-4]。當(dāng)前基于深度學(xué)習(xí)的行人檢測算法主要分為兩階段檢測的R-CNN[5,6]系列算法和一階段檢測的SSD[7]、YOLO[8]系列等算法。其中董等[9]用DenseNet作為SSD的基礎(chǔ)網(wǎng)絡(luò),提高了行人檢測的精度。高等[10]根據(jù)行人的幾何特點,優(yōu)化了YOLO的網(wǎng)絡(luò)結(jié)構(gòu),取得較好的行人檢測結(jié)果。但這兩類算法大都依賴預(yù)定義的錨(anchor)框,且都是人為精心設(shè)計,導(dǎo)致泛化能力不高和計算量增加[11]。

FCOS(fully convolutional one-stage)[12]是以ResNet[13]為主干網(wǎng)絡(luò)的anchor-free目標檢測算法,而且只有非極大值抑制(non-maximum suppression,NMS)[14]的后處理方法,比基于錨框的方法更加簡單,并且提高了檢測精度。Li等[15]通過對分類損失函數(shù)的修改,進一步提高了FCOS的檢測性能。張等[16]運用FCOS思想,將FPN特征層進行多尺度的融合,得到了較好的行人檢測結(jié)果。但仍存在以下問題:網(wǎng)絡(luò)層數(shù)較多,復(fù)雜度高,導(dǎo)致檢測速度變慢以及復(fù)雜交通下小尺度行人檢測準確率不高問題。針對以上情況,本文以FCOS為基礎(chǔ),提出基于MobileNetV2的行人檢測方法,并對FCOS算法模型結(jié)構(gòu)訓(xùn)練過程進行改進,通過常用指標對經(jīng)典算法與改進的FCOS算法進行對比實驗,結(jié)果表明,改進后的FCOS算法可準確快速的對交通場景下的行人進行檢測。

1 FCOS算法檢測原理

FCOS是anchor-free的目標檢測方法,預(yù)測框的設(shè)定有點類似于YOLOV1的做法。YOLOV1預(yù)測的是邊界框的左上角和右下角的坐標,而FCOS預(yù)測的是特征圖上的點 (x,y) 在原圖中所對應(yīng)的點 (x′,y′) 到邊界框4條邊的距離,如圖1所示。

圖1 FCOS預(yù)測方式

FCOS訓(xùn)練樣本的具體設(shè)置是,特征圖上任意一點 (x,y) 都可以對應(yīng)到輸入圖像上的一點 ([s/2]+xs,[s/2]+ys), 記為 (x′,y′), 該點 (x,y) 在輸入圖像感受野的中心附近。如果該點落在真實框內(nèi),則視為正樣本,并且對應(yīng)的類別標簽與真實框類別標簽一致,本文中,類別標簽只有行人一類,否則,點 (x,y) 設(shè)置為負樣本。除了用于分類的標簽,還需要給點 (x,y) 設(shè)置一個4D的連續(xù)向量 (l*,t*,r*,b*) 作為每個樣本的回歸目標,分別表示位置到真實邊界框的左、上、右、下的距離。若點 (x,y) 在真實框內(nèi),則該位置的回歸目標請參見文獻[12]所示。

若一個位置落在多個真實框中,則它被認為是一個模糊樣本,這種模糊性導(dǎo)致基于FCN的檢測器性能大大下降。因此采用多級預(yù)測特征金字塔(feature pyramid network,F(xiàn)PN)[17]的方法,這樣可以有效解決樣本的模糊問題。同時,使用FPN多層級預(yù)測,召回率可以進一步提高。

在使用了FPN多層級預(yù)測后,F(xiàn)COS的性能和基于錨點的方法有一定的差距,是因為只要特征圖上的點落在真實框內(nèi)就被認為是正樣本,導(dǎo)致FCOS中產(chǎn)生大量的低質(zhì)量的、遠離目標中心的邊界框。因此在網(wǎng)絡(luò)中增加了一個和分類分支并列的單層網(wǎng)絡(luò)分支來預(yù)測一個位置的“中心度”(Center-ness),即該位置到對應(yīng)目標的中心的距離。中心度定義如式(1)

(1)

dCenter-ness可以看成對中心點在真實框中心的位置做一個篩選,當(dāng)l*和r*或t*和b*的比例差別過大,可以認為當(dāng)前特征圖上的點映射回原圖的中心點在真實框中很偏離,這種中心點偏離的樣本可以被認為是低質(zhì)量的,過濾掉即可。

2 改進FCOS算法

2.1 MobileNetV2模型

MobileNetV2是一種輕量型的神經(jīng)網(wǎng)絡(luò),應(yīng)用了深度可分離卷積(深度卷積+點卷積),使得神經(jīng)網(wǎng)絡(luò)在保持精度的同時,極大地降低了計算速度。

如圖2所示,M,N分別為輸入輸出通道數(shù),Dk為卷積核尺寸。

圖2 標準卷積和深度可分離卷積

深度卷積、點卷積計算量以及兩者比值參見文獻[18]。在保證兩者輸出特征圖維度相等的情況下,本文采用3×3卷積核,相比于標準卷積則可以降低大約9倍的計算量,從而可以大大提高對行人的檢測速度。

Sandler.M等[19]在流行學(xué)習(xí)理論的基礎(chǔ)上提出反向殘差結(jié)構(gòu)(inverted residual block),圖3為MobileNetV2中的反向殘差結(jié)構(gòu)。

圖3 MobileNetV2反向殘差結(jié)構(gòu)

ResNet網(wǎng)絡(luò)中是先用1*1卷積降通道,再3*3標準卷積,再用1*1卷積恢復(fù)通道,并和輸入相加。之所以要1*1卷積降通道,是為了減少計算量,因為中間的3*3標準卷積計算量太大。所以ResNet中殘差結(jié)構(gòu)是沙漏形,兩邊寬中間窄。在MobileNetV2中,中間部分標準的3*3卷積用深度卷積代替可減少計算量,但是深度卷積無改變通道的能力,若上層給出的通道數(shù)很少,深度卷積只能在低維空間提取特征。因此MobileNetV2在深度卷積之前加了一個1*1的卷積,目的是為了提升通道數(shù),獲得更多特征。

激活函數(shù)ReLu在高維空間能夠有效地增加非線性,而在低維空間會被破壞特征,不如線性好,在MobileNetV2中,第二個1*1卷積相當(dāng)于降低維度,則不再適合用ReLu,因此MobileNetV2提出線性瓶頸結(jié)構(gòu)(linear bottleneck)的方案,其是一種線性映射,解決在低維空間信息丟失問題。本文采用的MobileNetV2網(wǎng)絡(luò)參數(shù)參見文獻[19]。

2.2 引用SyncBN

BN(batch normalization)是標準正態(tài)分布,定義參見文獻[20],運用BN可以使得網(wǎng)絡(luò)收斂變快,并且能避免梯度消失問題。深度學(xué)習(xí)進行模型訓(xùn)練時,采用多GPU使用數(shù)據(jù)并行方式,圖4為BN層計算方式。

圖4 BN計算方式

圖5 SyncBN計算方式

2.3 調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)層

在目標檢測算法中,只有特征圖的感受野大于等于目標大小時才能被檢測到。感受野是指每層的特征圖上的像素點在原始圖像中映射的區(qū)域大小。卷積神經(jīng)網(wǎng)絡(luò)中較深層的特征層例如圖6中的P7層具有較大的感受野以及豐富的語義信息,對目標的姿態(tài)變化以及局部形變具有魯棒性,但是由于每一次的下采樣導(dǎo)致分辨率降低就丟失了幾何細節(jié)信息。相反,淺層特征具有很小的感受野和豐富的幾何細節(jié)信息。對于小物體而言,淺層特征包含了它的很多細節(jié)信息,隨著網(wǎng)絡(luò)層數(shù)的加深,由于stride過大,所提取特征的細節(jié)信息可能完全丟失,這樣通過深層特征檢測小物體就變得困難。對于行人目標而言,行人的尺寸大都只占全圖的1/10以下,屬于較小尺寸目標,因此本文增加了C2淺層特征層,并通過1*1卷積和下一層的特征融合得到P2層。由于P7特征層最后的stride為128,此時的感受野變得很大,考慮到行人不屬于大尺寸目標,因此去掉了最后一層P7層。

圖6 改進的FCOS網(wǎng)絡(luò)結(jié)構(gòu)

本文使用MobileNetV2作為基礎(chǔ)網(wǎng)絡(luò),在原來的網(wǎng)絡(luò)結(jié)構(gòu)上增加了C2層并與C3、C4、C5這3層作為特征層進行特征的提取,其中P2、P3、P4、P5是由C2、C3、C4、C5經(jīng)過一個1*1卷積得到的。考慮到行人檢測,去掉了P7層,而P6是在P5上設(shè)置了stride為2的卷積層并通過下采樣得到的。因此,最后得到的P2、P3、P4、P5、P6為特征金字塔層,分別對應(yīng)stride為4,8,16,32,64。對于每個特征金字塔產(chǎn)生的特征圖,其網(wǎng)絡(luò)結(jié)構(gòu)和處理過程參見文獻[7,12]。訓(xùn)練時,在回歸的分支中加入一個 Center-ness策略產(chǎn)生的損失,圖6為改進的FCOS網(wǎng)絡(luò)結(jié)構(gòu)。

3 行人檢測算法

3.1 算法流程

整個算法流程分為訓(xùn)練模塊和測試模塊,在訓(xùn)練模塊,對于訓(xùn)練的行人目標,網(wǎng)絡(luò)最后一層預(yù)測分類向量的行人類別向量以及邊界框坐標的4D向量 (l*,t*,r*,b*), 而且不再訓(xùn)練多類分類器,而是訓(xùn)練1個二進制分類器。在基礎(chǔ)網(wǎng)絡(luò)的特征圖之后添加了4個卷積層分別用于分類和回歸分支。在測試模塊,給定輸入圖像,通過網(wǎng)絡(luò)進行前向傳遞,得到帶有預(yù)測行人類別的預(yù)測邊界框。整個算法的實現(xiàn)步驟為:

(1)對輸入圖像進行預(yù)處理操作;

(2)搭建如上圖6所示的網(wǎng)絡(luò)框架,將輸入圖片送入MobileNetV2基礎(chǔ)網(wǎng)絡(luò)得到輸入圖片的特征圖,在特征圖的每一點上面進行回歸操作,訓(xùn)練獲取網(wǎng)絡(luò)模型;

(3)將預(yù)訓(xùn)練的網(wǎng)絡(luò)模型應(yīng)用到測試圖片中,從特征金字塔的多個檢測頭(Head)獲得預(yù)測結(jié)果;其中Head檢測網(wǎng)絡(luò)分為分類和“中心度”(Center-ness)分支并列的分支、回歸分支,如上圖6所示;

(4)使用NMS后處理操作得到最終預(yù)測結(jié)果。

3.2 損失函數(shù)的選擇

本文網(wǎng)絡(luò)采用的訓(xùn)練損失函數(shù)如式(2)

(2)

4 實驗結(jié)果與分析

本實驗操作系統(tǒng)為 Linux 16.04.5LTS,實驗顯卡為 NVIDIA GeForce GTX1080GPU,GPU數(shù)量為4,系統(tǒng)的內(nèi)存為64 G,CUDA的版本為10.2,NVIDIA CUDNN為7.2。采用Pytorch深度學(xué)習(xí)框架進行模型的訓(xùn)練和測試。

4.1 數(shù)據(jù)集構(gòu)造與模型訓(xùn)練

本文選擇加州理工大學(xué)提供的Caltech行人檢測數(shù)據(jù)集,進行訓(xùn)練前,將格式轉(zhuǎn)換成標準的VOC格式。轉(zhuǎn)換好的數(shù)據(jù)集包括訓(xùn)練樣本和測試樣本共17 612張,其中訓(xùn)練集為12 328張,測試集為5284張。為避免網(wǎng)絡(luò)從頭開始訓(xùn)練而導(dǎo)致計算時間和資源增加,本文首先加載MobileNetV2模型的分類參數(shù),然后除去最后的分類層,最后調(diào)用權(quán)重參數(shù)文件,并使用monentum=0.9,weigt_decay=0.0001的SGD優(yōu)化器,使用SyncBN,一共迭代90 000次,大約12個epoch。初始的學(xué)習(xí)率設(shè)為0.001,在30 000和50 000次分別將學(xué)習(xí)率除以10。

4.2 結(jié)果分析

本文采用均值平均準確度mAP(mean average precision)和每秒檢測幀數(shù)FPS(frames per second)作為行人檢測的性能指標,mAP越高表示模型準確度越高,F(xiàn)PS越大表示檢測速度越快。mAP計算如式(3)

(3)

其中,APC表示目標類別C的平均精度,n為該類別的圖片總數(shù),本實驗中,類別只有行人一類,所以C=1。表1是對比幾種模型的檢測效果。

表1 Caltech數(shù)據(jù)集下不同模型檢測效果對比

由以上數(shù)據(jù)可知,在本文Caltech數(shù)據(jù)集,輸入圖像尺寸為800×1333的情況下,經(jīng)典算法Faster R-CNN的mAP為74%,高于YOLO和SSD兩種算法,是由于該算法是兩階段再加上RPN,相比于一階段檢測算法網(wǎng)絡(luò)更加精準,但檢測速度僅為4.2,遠遠低于其它算法,更不滿足交通場景行人檢測實時性要求。一階段算法YOLO的mAP為66.7%,F(xiàn)PS為22,相比于其它算法,精度和速度都不高。對于原始FCOS算法,其mAP比基于anchor的目標檢測算法SSD和 YOLOV4分別提高了9.6%和6.7%,但FPS卻低于YOLOV4算法的26.5%,因此為了提高檢測速度滿足實時性,本文算法將骨干網(wǎng)絡(luò)替換為MobileNetV2輕量型網(wǎng)絡(luò),總的計算量下降了大約9倍,F(xiàn)PS也有了顯著提升,為32.3幀/s。當(dāng)引用SyncBN時,在幾乎不損失速度的情況下,mAP相比于FCOS-V2提升了5.5%,這主要是得益于SyncBN時多卡同步處理數(shù)據(jù),使用全局的樣本進行歸一化,相當(dāng)于增大了批量大小,因此模型的整體性能提升了。最后,增加了C2淺層特征層進行特征融合,同時去掉P7深層特征層,mAP提升了3.2%,是因為Caltech數(shù)據(jù)集是車載攝像頭拍攝,行人尺寸較小,增加淺層特征層,注入了更多幾何細節(jié)信息,更有利于小尺寸行人的檢測。

為驗證改進算法是否適應(yīng)于國內(nèi)交通場景下的行人檢測,本文采用香港中文大學(xué)CUHK行人數(shù)據(jù)集進行訓(xùn)練和驗證,此數(shù)據(jù)集包含了1063張行人圖片。表2為CUHK數(shù)據(jù)集下的行人檢測效果。

通過表2數(shù)據(jù)可知,改進后的FCOS的mAP值提高了5.3%,F(xiàn)PS提升了87.1%,主要是因為FCOS算法逐像素?zé)o錨的檢測方式,不需要預(yù)先設(shè)定大小去匹配行人框,因此泛化能力強,同時采用輕量型網(wǎng)絡(luò)進行特征提取提高了檢測速度,并且改變訓(xùn)練過程以及增加淺層特征層進一步提升了檢測率,使得模型魯棒性更高。

表2 CUHK數(shù)據(jù)集下行人檢測效果

圖7為檢測效果。從效果圖可以看出,對于復(fù)雜的交通道路環(huán)境中,改進后的FCOS算法能夠準確的識別出行人目標。具體來分析,圖7(a)中第一幅圖包含大尺寸行人目標和小尺寸行人目標,改進的FCOS算法都能很好識別,主要是因為FCOS算法中特征金字塔結(jié)構(gòu),將不同尺寸目標分配到不同層進行檢測;圖7(a)中第二、三幅圖目標尺寸較小并伴隨非目標的輕微遮擋,第四幅圖行人屬于重疊目標,但改進的FCOS算法能夠準確檢測。為了進一步體現(xiàn)本文改進之處,圖7(b)進行了效果對比,圖中存在尺寸非常小的行人,在未增加C2特征層時很難檢測出來,在增加C2特征層時,由于淺層特征層感受野較小并包含更豐富的行人細節(jié)信息,再與深層特征層進行特征融合,這對于小尺寸目標的檢測是有利的,因此最后一行圖小尺寸行人都有了很好的檢測。圖7(c)為國內(nèi)交通行人檢測效果圖,包括了小尺度行人、遮擋行人、密集行人,檢測結(jié)果較好。綜合圖7(a)、圖7(b)、圖7(c)可知,改進的FCOS算法在復(fù)雜道路場景中都具有較好的魯棒性,模型具有一定的泛化能力。

圖7 檢測效果

4.3 消融實驗

為了進一步體現(xiàn)本文提出的策略對模型的影響,采用消融實驗的方法對每一組實驗分別進行訓(xùn)練,訓(xùn)練采用的數(shù)據(jù)集相同,然后將每一組訓(xùn)練好的模型分別在同一測試集進行驗證,為了結(jié)果更加可靠,增加了3000張的小尺度測試集,得出每一組實驗的mAP值以及檢測速度FPS的值,其結(jié)果見表3。

表3 消融實驗

如表3所示,共分為8組實驗,2、3、4組實驗是在第1組實驗的基礎(chǔ)上分別加入一種策略,將主干網(wǎng)絡(luò)換為MobileNetV2(表3縮寫為V2)時,計算量大大減少,在損失一點平均精度的基礎(chǔ)上FPS相對提高了94.1%。當(dāng)采用SyncBN時,mAP值均大于其它兩種類型,且FPS幾乎不下降,主要得益于同步歸一化計算全局梯度,相當(dāng)于增大了batchsize值,使得訓(xùn)練更加穩(wěn)定的收斂,得到更好的模型效果。第4組在第1組模型中加入了C2層,主要是為了有利于小目標的檢測,從表中可知,對于尺度小的行人,mAP值得到了顯著的提高,為84%,提高了6%。第5、第6、第7這3組分別加入了兩種策略,當(dāng)加入MobileNetV2時,F(xiàn)PS值都得到了很大的提升,mAP的值略有下降,但是行人檢測技術(shù)最終要得到兩者的平衡。當(dāng)加入其它兩種策略時,mAP值相比于加入一種策略都有了提高。第8組實驗是加入了3組策略,其mAP值較于第7組有所下降,但是檢測速度提高了96.8%,保持了速度和精度的平衡。相比于第1組,也就是原FCOS,最終的mAP值提高了7.2%,F(xiàn)PS提高了85.3%。通過分析實驗可知,本文改進的算法是有效且合理的。

5 結(jié)束語

本文基于FCOS算法,提出了一種改進型的行人檢測算法。首先采用MobileNetV2輕量型網(wǎng)絡(luò)進行行人的特征提取,提高了檢測速度;然后引用SyncBN規(guī)范化的處理方式解決了訓(xùn)練過程中BN帶來網(wǎng)絡(luò)層失效問題;最后,在網(wǎng)絡(luò)結(jié)構(gòu)層上增加C2淺層特征層并與深層特征層進行特征融合,提升小尺度行人的檢測率,最終得到本文的行人檢測模型。

在Caltech數(shù)據(jù)集進行了訓(xùn)練并驗證,實驗結(jié)果表明,相比于基于anchor的算法,本文算法減少了與anchor有關(guān)的超參設(shè)計,也避免了由于anchor自身設(shè)計帶來的網(wǎng)絡(luò)泛化能力弱等問題,其mAP值與傳統(tǒng)的算法相比分別提高了16.8%和13.9%,相比于改進前FCOS算法,在精度提升7.2%的同時,速度上提高了85.3%,滿足行人檢測實時性的要求。但是,行人檢測技術(shù)所涉及的課題具有一定的廣度和深度,本文基于FCOS的行人檢測算法研究工作有待于進一步完善。

猜你喜歡
特征檢測模型
一半模型
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
如何表達“特征”
不忠誠的四個特征
抓住特征巧觀察
3D打印中的模型分割與打包
主站蜘蛛池模板: 国产在线精品美女观看| 国产欧美日韩在线在线不卡视频| 亚洲最大在线观看| 国产成人凹凸视频在线| 亚洲永久精品ww47国产| 日韩av电影一区二区三区四区| 欧美精品啪啪| 91亚洲视频下载| 国产一区二区三区免费| 人人爱天天做夜夜爽| 欧洲免费精品视频在线| 在线观看国产精品第一区免费 | 女同国产精品一区二区| 99青青青精品视频在线| 国产人前露出系列视频| 国产精品嫩草影院av| 五月婷婷激情四射| 亚洲成人在线网| 国产精品女主播| 亚洲天堂免费在线视频| 亚洲国产综合精品中文第一| 久久毛片网| 毛片在线看网站| 狠狠色成人综合首页| 久久久久国产精品嫩草影院| 99国产精品国产| 2022精品国偷自产免费观看| 秋霞国产在线| 久久久成年黄色视频| 色综合综合网| 欧美三级日韩三级| 青青草原国产av福利网站| 91精品国产自产91精品资源| AV不卡国产在线观看| 狠狠躁天天躁夜夜躁婷婷| 中文字幕免费视频| 2020国产在线视精品在| 久久综合婷婷| 午夜日韩久久影院| 亚洲欧美精品一中文字幕| 69视频国产| 久久久久青草大香线综合精品 | 欧美日韩理论| 亚洲综合色区在线播放2019| 久久久久亚洲精品成人网| 亚洲中文字幕在线精品一区| 91精品国产丝袜| 成年片色大黄全免费网站久久| 日韩精品一区二区三区中文无码| 香港一级毛片免费看| 青青热久麻豆精品视频在线观看| 人人91人人澡人人妻人人爽 | 国产美女精品在线| 情侣午夜国产在线一区无码| 天堂岛国av无码免费无禁网站 | 国产第一页屁屁影院| 午夜国产精品视频| 91www在线观看| 日韩乱码免费一区二区三区| 久久综合伊人77777| 四虎免费视频网站| 亚洲欧洲综合| 国产福利免费在线观看| 在线另类稀缺国产呦| 欧美一级高清免费a| 国产91av在线| 成人免费一区二区三区| 国产在线日本| 精品免费在线视频| 精品自窥自偷在线看| 国产精品免费p区| 欧美成人怡春院在线激情| 国产精品私拍99pans大尺度| 97人妻精品专区久久久久| 无码国内精品人妻少妇蜜桃视频| 欧美成a人片在线观看| 丝袜国产一区| 久久精品91麻豆| 欧美成a人片在线观看| 一级毛片免费观看久| 国产精品一区二区在线播放| 91精品国产一区|