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

一種改進(jìn)CenterNet的輕量化目標(biāo)檢測算法

2022-12-01 13:08:10李悅言程培濤杜淑幸
關(guān)鍵詞:檢測

李悅言,程培濤,杜淑幸

(西安電子科技大學(xué) 機(jī)電工程學(xué)院,陜西 西安 710071)

近年來,基于深度學(xué)習(xí)的目標(biāo)檢測取得了突破性的進(jìn)展,成為目標(biāo)檢測研究的主流方向[1]?;谏疃葘W(xué)習(xí)的目標(biāo)檢測算法可以分為基于候選區(qū)域的算法和基于回歸的算法[2]?;诤蜻x區(qū)域的算法因?yàn)橛袇^(qū)域建議網(wǎng)絡(luò)指導(dǎo)錨框的生成,所以檢測精度較高,代表算法有基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)算法(R-CNN)[3]、基于區(qū)域的快速卷積神經(jīng)網(wǎng)絡(luò)算法(Fast R-CNN)[4]、基于區(qū)域的全卷積神經(jīng)網(wǎng)絡(luò)算法(R-FCN)[5]和基于區(qū)域建議網(wǎng)絡(luò)的實(shí)時(shí)目標(biāo)檢測算法(Faster R-CNN)[6]等?;诨貧w的算法因?yàn)榧葲]有區(qū)域建議網(wǎng)絡(luò),也沒有預(yù)設(shè)的錨框,所以檢測精度比基于候選區(qū)域的算法低,但檢測速度相對(duì)占優(yōu)。另外,基于候選區(qū)域的目標(biāo)檢測算法在一定程度上依賴于預(yù)先設(shè)定的錨框,這些錨框可以涵蓋大部分目標(biāo),但對(duì)于形變較大或者形狀不規(guī)則的目標(biāo)檢測誤差較大;而基于回歸的算法不依賴于預(yù)先設(shè)定的錨框,通過對(duì)預(yù)測框進(jìn)行分類和回歸得到最終的邊界框,能夠準(zhǔn)確檢測不規(guī)則的目標(biāo),代表算法有YOLO[7]、單步多框目標(biāo)檢測算法(SSD)[8]、全卷積一階段目標(biāo)檢測算法(FCOS)[9]、基于角點(diǎn)對(duì)的目標(biāo)檢測算法(CornerNet)[10]和基于關(guān)鍵點(diǎn)三元組的目標(biāo)檢測算法(CenterNet)[11]等。

在機(jī)器人、自動(dòng)駕駛和移動(dòng)端等實(shí)際應(yīng)用領(lǐng)域中,目標(biāo)檢測任務(wù)需要在資源有限的平臺(tái)上即時(shí)執(zhí)行,對(duì)目標(biāo)檢測算法的參數(shù)量和檢測速度有較高的要求。針對(duì)這些問題,F(xiàn)ORREST等[12]提出了SqueezeNet。該算法用1×1卷積核替換3×3卷積核,將參數(shù)量減少為原來的1/9,并將下采樣操作置后,以獲取更大的特征圖,保留更多信息,提高了分類的準(zhǔn)確率。ANDREW等[13]提出了MobileNet。該算法使用3×3的深度可分離卷積代替3×3的標(biāo)準(zhǔn)卷積,大幅降低了網(wǎng)絡(luò)的參數(shù)量和計(jì)算量,實(shí)現(xiàn)了移動(dòng)端的目標(biāo)檢測。HEI等[10]提出了基于角點(diǎn)對(duì)的CornerNet算法,通過選取目標(biāo)的左上角點(diǎn)和右下角點(diǎn)來確定邊界框,最后利用非極大值抑制對(duì)邊界框進(jìn)行篩選。該算法在MS-COCO test-dev數(shù)據(jù)集上檢測精度達(dá)到了約37.8%,但其參數(shù)量大,對(duì)于密集目標(biāo)檢測效果不理想,而且檢測速度較慢。針對(duì)這一問題,HEI等[14]又提出了一種輕量級(jí)算法ConrerNet_Squeeze,降低了CornerNet的參數(shù)量,實(shí)現(xiàn)了實(shí)時(shí)目標(biāo)檢測,但檢測精度有所降低。為了解決CornerNet對(duì)密集目標(biāo)檢測結(jié)果不理想的問題,DUAN等[11]提出了CenterNet,解決了CornerNet產(chǎn)生無效錨框的問題,改進(jìn)了角點(diǎn)池化層并加入了中心池化層分支,在MS-COCO test-dev數(shù)據(jù)集上檢測精度達(dá)到了約41.6%。但該算法依然存在參數(shù)量大、檢測速度慢的問題。針對(duì)這一問題,筆者提出了一種基于改進(jìn)CenterNet的輕量化目標(biāo)檢測算法CenterNet-encoder,大幅降低了算法的參數(shù)量,提高了算法的檢測速度,算法的主要?jiǎng)?chuàng)新點(diǎn)如下:

(1) 對(duì)沙漏網(wǎng)絡(luò)進(jìn)行了優(yōu)化設(shè)計(jì)。受CornerNet-Lite的啟發(fā),在沙漏網(wǎng)絡(luò)中引入使用3×3深度可分離卷積的fire模塊,降低了算法參數(shù)量,提高了算法的檢測速度。另外,通過去除沙漏網(wǎng)絡(luò)中的最大池化層來抑制空洞卷積產(chǎn)生的棋盤效應(yīng)。

(2) 在head和backbone之間加入由一個(gè)卷積核為3×3的空洞卷積、BN層以及激活函數(shù)組成的編碼層,在增大感受野的同時(shí),降低參數(shù)量。

(3) 使用4×4反卷積替換上采樣,減少內(nèi)存占用并提升算法精度。

為了評(píng)估CenterNet-encoder的性能,筆者選擇MS-COCO train2014作為訓(xùn)練集,test-dev作為測試集進(jìn)行了實(shí)驗(yàn)驗(yàn)證。實(shí)驗(yàn)結(jié)果表明,相比于其他算法,筆者提出的算法在大幅減少參數(shù)量的基礎(chǔ)上提高了算法的推理速度和檢測精度。

1 CenterNet算法原理

1.1 算法框架

CenterNet是一種基于回歸的目標(biāo)檢測算法,其架構(gòu)如圖1所示。該算法選用沙漏網(wǎng)絡(luò)作為backbone,將沙漏網(wǎng)絡(luò)輸出的特征圖分別輸入級(jí)聯(lián)角點(diǎn)池化層和中心點(diǎn)池化層,得到一對(duì)角點(diǎn)和中心點(diǎn)來表示目標(biāo)。與CornerNet不同的是,CenterNet為中心點(diǎn)嵌入特征熱圖并且預(yù)測其偏移,根據(jù)得分選取前k個(gè)中心點(diǎn),并設(shè)定一個(gè)中心區(qū)域,如果中心區(qū)域中沒有中心點(diǎn)存在,則認(rèn)為該邊界框是不可取的;通過柔性非極大值抑制算法去除篩選過的邊界框。

圖1 CenterNet算法架構(gòu)圖

1.2 級(jí)聯(lián)角點(diǎn)池化和中心點(diǎn)池化

CenterNet對(duì)CornerNet算法的角點(diǎn)池化層進(jìn)行了改進(jìn),提出了由左上角點(diǎn)池化層和右下角點(diǎn)池化層組成的級(jí)聯(lián)角點(diǎn)池化層。圖2(a)為左上角點(diǎn)池化層的結(jié)構(gòu)圖,為了找到目標(biāo)的左上角點(diǎn),左上角點(diǎn)池化層在上池化層前加入一個(gè)左池化層;同理,為了找到目標(biāo)的右下角點(diǎn),在右下角點(diǎn)池化層中的下池化層前加入右池化層。疊加兩個(gè)角點(diǎn)池化層得到的左上角點(diǎn)特征熱圖和右下角點(diǎn)特征熱圖,即可得到檢測目標(biāo)的角點(diǎn)熱圖。為了找到物體的幾何中心,CenterNet算法提出了另一個(gè)分支——中心池化層分支,中心池化有助于更好地檢測中心點(diǎn),其結(jié)構(gòu)如圖2(b)所示。要確定特征圖中的一個(gè)像素是否為中心點(diǎn),CenterNet只需要串聯(lián)左池化層和右池化層以在水平方向取得最大值,串聯(lián)上池化層和下池化層以在垂直方向取得最大值。

(a) 左上角點(diǎn)池化層

2 基于改進(jìn)CenterNet的輕量化算法

CenterNet雖然在檢測效果上取得了不錯(cuò)的成績,但其參數(shù)量達(dá)到了210×106,檢測速度較慢,處理一張圖片平均需要166 ms,無法滿足輕量化目標(biāo)檢測的需求。針對(duì)這一問題,筆者提出了一種輕量化目標(biāo)檢測算法CenterNet-encoder,其網(wǎng)絡(luò)架構(gòu)如圖3所示。該算法使用一個(gè)104層的沙漏網(wǎng)絡(luò)作為backbone,并將沙漏網(wǎng)絡(luò)中的殘差模塊替換為CornerNet-Lite中的fire模塊,以降低算法的參數(shù)量,提高檢測速度。在沙漏網(wǎng)絡(luò)中使用4×4的反卷積代替上采樣操作,并去除了最大池化層來減少空洞卷積帶來的棋盤效應(yīng),為了解決輸入圖像在經(jīng)過沙漏網(wǎng)絡(luò)時(shí)會(huì)造成部分信息丟失的問題,在backbone和head之間加入了編碼層,在不損失分辨率的前提下增大感受野。

圖3 CenterNet-encoder網(wǎng)絡(luò)架構(gòu)圖

算法的工作原理如下:首先對(duì)輸入圖像進(jìn)行預(yù)處理,將圖像下采樣兩次后輸入沙漏網(wǎng)絡(luò),提取圖像的特征熱圖;CenterNet-encoder然后將特征熱圖輸入編碼層,在不損失分辨率的前提下增大其感受野;接下來利用角點(diǎn)預(yù)測分支通過級(jí)聯(lián)角點(diǎn)池化層預(yù)測目標(biāo)的左上角點(diǎn)和右下角點(diǎn),利用中心點(diǎn)預(yù)測分支通過中心點(diǎn)池化層預(yù)測目標(biāo)的中心點(diǎn),通過中心點(diǎn)是否在中心區(qū)域內(nèi)對(duì)邊界框進(jìn)行篩選;最后,使用柔性非極大值抑制算法去除冗余的邊界框,得到最終的檢測結(jié)果。

2.1 Fire模塊

為了在降低算法參數(shù)量的同時(shí)保證其效果不會(huì)大幅降低,引入了CornerNet-Lite中的fire模塊。與CenterNet中的殘差模塊相比,fire模塊將殘差模塊中的3×3標(biāo)準(zhǔn)卷積替換為1×1標(biāo)準(zhǔn)卷積,卷積核尺寸從3×3降低到1×1,大幅降低了算法的參數(shù)量,另外,fire模塊還使用深度可分離卷積來進(jìn)一步降低算法的參數(shù)量,提高算法的處理速度,其結(jié)構(gòu)如圖4所示。首先是一個(gè)1×1標(biāo)準(zhǔn)卷積和批量歸一化層,接著進(jìn)入兩個(gè)分支,分別是帶有批量歸一化層的1×1標(biāo)準(zhǔn)卷積分支和3×3深度可分離卷積分支,將上述兩個(gè)分支級(jí)聯(lián)起來,經(jīng)過一個(gè)批量歸一化層,最后引入跳躍連接和Relu激活函數(shù)進(jìn)行連接。

圖4 Fire模塊結(jié)構(gòu)

2.2 編碼層

筆者提出的算法在輸入圖像進(jìn)入沙漏網(wǎng)絡(luò)之前對(duì)其進(jìn)行預(yù)處理,經(jīng)過兩次下采樣,將圖像分辨率從511×511下降至64×64。因此輸入圖像在經(jīng)過沙漏網(wǎng)絡(luò)后會(huì)丟失部分特征信息,導(dǎo)致特征圖細(xì)節(jié)不足,影響角點(diǎn)預(yù)測分支和中心點(diǎn)預(yù)測分支對(duì)角點(diǎn)和中心點(diǎn)的預(yù)測。為了解決這一問題,在backbone和head之間加入了編碼層,結(jié)構(gòu)如圖5所示。編碼層由一個(gè)卷積核為3×3、擴(kuò)張率為2的空洞卷積、批量歸一化層和Relu激活函數(shù)組成,通過對(duì)編碼層中空洞卷積的擴(kuò)張率進(jìn)行調(diào)節(jié),使3×3的卷積核得到恰當(dāng)?shù)母惺芤?,既能讓輸出囊括更多尺度的信息,減少局部信息的丟失,又能抑制棋盤效應(yīng)。筆者參考文獻(xiàn)[15],將擴(kuò)張率設(shè)置為2。

圖5 編碼層結(jié)構(gòu)

2.3 損失函數(shù)

(1)

其中,α、β和γ分別表示Lpull、Lpush和Loff的權(quán)重。參考CenterNet,將超參數(shù)設(shè)置為α=β=0.1,γ=1,使用Focalloss來計(jì)算角點(diǎn)和中心點(diǎn)的熱圖損失,設(shè)置pull損失和push損失訓(xùn)練網(wǎng)絡(luò)對(duì)角點(diǎn)進(jìn)行匹配和分離。

與CenterNet中使用SmoothL1loss對(duì)邊界框進(jìn)行回歸不同,使用MSEloss對(duì)候選框角點(diǎn)和中心點(diǎn)的偏移量進(jìn)行回歸,以加快損失函數(shù)的收斂。中心點(diǎn)的偏移損失公式如下:

(2)

(3)

3 實(shí)驗(yàn)結(jié)果及其分析

為了驗(yàn)證筆者提出算法的有效性,將該算法與YOLOv3[16]、CornerNet_Squeeze、CornerNet和CenterNet算法進(jìn)行了對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)是在Ubuntu18.04.5操作系統(tǒng)下進(jìn)行的,硬件配置為AMD5900X CPU,32 GB內(nèi)存,兩張GeForce RTX 3090顯卡,運(yùn)行庫版本為Cuda11.2,軟件環(huán)境為Pytorch1.8.0。

3.1 實(shí)驗(yàn)設(shè)置

實(shí)驗(yàn)采用的數(shù)據(jù)集是MS-COCO數(shù)據(jù)集[17]。該數(shù)據(jù)集包含80類、150萬個(gè)目標(biāo)實(shí)例,包含了大量的小目標(biāo),而且類別分布不均衡,是一個(gè)非常具有挑戰(zhàn)性的數(shù)據(jù)集。使用trainval35k[18]數(shù)據(jù)集進(jìn)行訓(xùn)練,它包含8 000個(gè)訓(xùn)練圖像和3 500個(gè)驗(yàn)證圖像。選擇平均精確率(Average Precision,AP)來評(píng)價(jià)檢測算法的性能,平均精確率主要包含10個(gè)不同的交并比閾值,從0.50到0.95,步長設(shè)置為0.05。使用MS-COCO test-dev數(shù)據(jù)集作為最終測試集,設(shè)置的置信度閾值為0.5。

訓(xùn)練模型時(shí),batch size設(shè)置為32,總迭代次數(shù)為8.4×105,前7.2×105次迭代學(xué)習(xí)率設(shè)置為2.5×10-4,后1.2×105次迭代學(xué)習(xí)率設(shè)置為2.5×10-5,輸入圖像的分辨率為511×511。在進(jìn)入沙漏網(wǎng)絡(luò)之前進(jìn)行圖像預(yù)處理,將分辨率降低為64×64后輸入到沙漏網(wǎng)絡(luò)中。

筆者的backbone是堆疊沙漏網(wǎng)絡(luò)[19],包括52層沙漏網(wǎng)絡(luò)和104層沙漏網(wǎng)絡(luò),前者只有1個(gè)沙漏模塊,而后者有兩個(gè)沙漏模塊,從熱圖中選擇前70個(gè)中心點(diǎn)、70個(gè)左上角點(diǎn)和70個(gè)右下角點(diǎn)去檢測邊界框,并使用柔性非極大值抑制[20]來消除冗余的邊界框,最終根據(jù)它們的置信度得分[21]選擇前100個(gè)邊界框作為最終的檢測結(jié)果。

3.2 實(shí)驗(yàn)結(jié)果與分析

將筆者的CenterNet-encoder算法與YOLOv3和CornerNet_Squeeze這兩種輕量化目標(biāo)檢測算法進(jìn)行了對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表1所示。從表1可以看出,CenterNet-encoder與YOLOv3相比,雖然檢測速度相差不大,但參數(shù)量相比YOLOv3下降了約24%,檢測精度提升了約18.5%;與CornerNet_Squeeze相比,雖然檢測速度變慢,參數(shù)量有所增加,但平均檢測精度比CornerNet_Squeeze高約6.1%。

表1 文中法與YOLOv3、CornerNet_Squeeze參數(shù)量、速度和精度比較

由于文中提出的CenterNet-encoder算法是在CenterNet算法的基礎(chǔ)上進(jìn)行的改進(jìn),所以將CenterNet-encoder算法與其他基于角點(diǎn)對(duì)的算法進(jìn)行了對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表2所示。從表2中可以看出,筆者提出的CenterNet-encoder算法無論是參數(shù)量、速度還是精度都要優(yōu)于backbone為Hourglass-52的CornerNet算法。與CenterNet算法以及backbone為Hourglass-104的CornerNet算法相比,雖然CenterNet-encoder算法的檢測精度略有下降,但其參數(shù)量大幅下降,檢測速度也大幅提升。

表2 文中算法與基于角點(diǎn)對(duì)的算法參數(shù)量、速度和精度比較

另外,為了驗(yàn)證MSEloss的有效性,通過實(shí)驗(yàn)對(duì)比了SmoothL1loss和MSEloss對(duì)算法平均檢測精度的影響[22],實(shí)驗(yàn)結(jié)果如表3所示。從表3中可以看出,使用SmoothL1loss計(jì)算角點(diǎn)和中心點(diǎn)的偏移時(shí),最終得到的AP、AP50和AP75值分別為39.4%、58.4%和43.0%,對(duì)小目標(biāo)、中目標(biāo)和大目標(biāo)的檢測精度分別為19.5%、42.6%和55.4%;而使用MSEloss時(shí),AP、AP50和AP75分別提升了約1.1%、1.1%和1.3%,對(duì)于小目標(biāo)、中目標(biāo)和大目標(biāo)的檢測精度分別提升了約1.2%、1.9%和0.9%。

表3 不同偏移損失有效性的對(duì)比

圖6和圖7給出了不同算法檢測結(jié)果的主觀質(zhì)量對(duì)比圖。由圖6可以看出,YOLOv3算法和CornerNet_Squeeze算法漏檢了手提包、花盆等目標(biāo),而且CornerNet_Squeeze算法的檢測結(jié)果中冗余邊界框較多,CornerNet算法和CenterNet算法雖然沒有漏檢手提包和花盆等目標(biāo),但其檢測結(jié)果中存在較多的冗余邊界框,而文中算法不但準(zhǔn)確地檢測出了更多目標(biāo),而且冗余邊界框比其他算法都少。由圖7可以看出,YOLOv3算法和CornerNet_Squeeze算法只能檢測出兩個(gè)人,漏檢了照相機(jī)、牙刷等目標(biāo),CornerNet算法雖然檢測出了瓶子,但對(duì)于人的檢測邊界框不精確;CenterNet算法漏檢了一個(gè)牙刷、相機(jī)和瓶子,對(duì)于人的檢測也不精確;而筆者提出的算法不僅很好地檢測出兩個(gè)人,而且也準(zhǔn)確地檢測出了更多的目標(biāo)。

(a) 原圖

(a) 原圖

綜上所述,筆者提出的CenterNet-encoder算法對(duì)于密集目標(biāo)的處理以及復(fù)雜環(huán)境的處理[23]優(yōu)于YOLOv3、CornerNet和CornerNet_Squeeze,在檢測速度上優(yōu)于CenterNet和CornerNet。

4 結(jié)束語

筆者提出了一種基于CenterNet的輕量化目標(biāo)檢測算法CenterNet-encoder。該算法將沙漏網(wǎng)絡(luò)中的殘差模塊替換為fire模塊,并在fire模塊中引入深度可分離卷積,降低了算法的參數(shù)量;為了在不損失分辨率的前提下擴(kuò)大感受野,在backbone和head之間設(shè)計(jì)了新的編碼層,編碼層使用3×3的空洞卷積,并用4×4的反卷積代替上采樣操作;最后,使用MSEloss對(duì)邊界框進(jìn)行回歸,加快算法的收斂速度,并進(jìn)一步提升了算法的檢測精度。實(shí)驗(yàn)結(jié)果表明,雖然文中算法與原算法相比,檢測精度稍有降低,但文中算法的參數(shù)量僅為47×106,相比CenterNet的210×106下降了約77.6%,檢測一張圖片平均耗時(shí)57 ms,相比CenterNet,檢測速度提升約59%。然而,該算法的檢測精度特別是對(duì)小目標(biāo)的檢測效果還有進(jìn)一步提升的空間,未來將朝著這一方向進(jìn)行改進(jìn),并且進(jìn)一步提升算法的檢測速度,力爭實(shí)現(xiàn)實(shí)時(shí)目標(biāo)檢測。

猜你喜歡
檢測
QC 檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
“有理數(shù)的乘除法”檢測題
“有理數(shù)”檢測題
“角”檢測題
“幾何圖形”檢測題
主站蜘蛛池模板: 中文字幕 91| 波多野结衣无码视频在线观看| 青青草原国产| 午夜精品福利影院| 亚洲精品亚洲人成在线| 欧洲成人在线观看| 99久久精品无码专区免费| 高清无码手机在线观看| 91高清在线视频| 秋霞午夜国产精品成人片| 色婷婷综合激情视频免费看| 九色视频在线免费观看| www亚洲精品| 青青草久久伊人| 中文国产成人精品久久| 精品国产成人高清在线| 亚洲欧美日韩久久精品| 香蕉久人久人青草青草| 精品国产福利在线| 亚洲bt欧美bt精品| 精品亚洲麻豆1区2区3区| 日本色综合网| 人妻夜夜爽天天爽| 干中文字幕| 日韩福利在线观看| 五月天天天色| 园内精品自拍视频在线播放| 亚洲三级视频在线观看| 日本道综合一本久久久88| 无码日韩人妻精品久久蜜桃| 色135综合网| 久久这里只精品国产99热8| 欧美亚洲激情| 国产精品护士| 麻豆精品视频在线原创| 中文天堂在线视频| 毛片网站在线播放| 国产无码精品在线播放| 欧美色综合网站| 中美日韩在线网免费毛片视频| 噜噜噜久久| 91在线精品麻豆欧美在线| 国产精品亚洲片在线va| 国产综合另类小说色区色噜噜| 好久久免费视频高清| 在线观看国产精品第一区免费| 国产三区二区| 亚洲最猛黑人xxxx黑人猛交| 婷婷亚洲视频| 亚洲va欧美va国产综合下载| 日韩麻豆小视频| 久久婷婷综合色一区二区| 日韩亚洲综合在线| 亚洲最黄视频| 污视频日本| 国产免费久久精品99re丫丫一| 91精品国产丝袜| 国产精品无码AV片在线观看播放| 91精品国产丝袜| 日本一区二区不卡视频| 在线播放国产99re| 超清人妻系列无码专区| 亚洲激情99| 国产美女丝袜高潮| 久久免费成人| 午夜无码一区二区三区| 欧美va亚洲va香蕉在线| 91精品啪在线观看国产| 亚洲欧美色中文字幕| 在线看免费无码av天堂的| 亚洲欧美色中文字幕| 亚洲中文字幕无码mv| 日韩精品毛片| 91青青草视频在线观看的| 中国一级特黄大片在线观看| 五月天丁香婷婷综合久久| 福利国产微拍广场一区视频在线| www.精品视频| 亚洲午夜天堂| 国产精品永久不卡免费视频| 99久久精彩视频| 欧美日韩一区二区在线播放|