成浪, 敬超,2,3, 陳文鵬,2*
(1.桂林理工大學(xué)信息科學(xué)與工程學(xué)院, 桂林 541004; 2.桂林理工大學(xué)嵌入式技術(shù)與智能系統(tǒng)重點(diǎn)實(shí)驗(yàn)室, 桂林 541004; 3.桂林電子科技大學(xué)可信軟件重點(diǎn)實(shí)驗(yàn)室, 桂林 541004)
隨著城市公共交通中人群密度的增加,安檢在保障公共安全方面發(fā)揮著越來(lái)越重要的作用。目前的安檢措施主要是通過(guò)X射線圖像檢測(cè)違禁品,但存在以下問(wèn)題:①重疊遮擋:物品因重疊堆放導(dǎo)致互相遮擋;②背景干擾:不同材質(zhì)的物品通過(guò)X射線后會(huì)產(chǎn)生不同顏色的圖像,多種顏色疊加形成復(fù)雜背景[1];③安全隱患:目前違禁品檢測(cè)工作都由安檢員人工完成,經(jīng)過(guò)長(zhǎng)時(shí)間和高強(qiáng)度的工作后,其可能因疲勞或注意力不集中發(fā)生漏檢等問(wèn)題,從而產(chǎn)生公共安全隱患。因此,研究一種X射線圖像違禁品檢測(cè)算法提高復(fù)雜背景下違禁品檢測(cè)的準(zhǔn)確率和速度對(duì)保障公共安全具有重要意義。
基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)的目標(biāo)檢測(cè)算法在復(fù)雜X射線圖像違禁品檢測(cè)中獲得了大量研究成果[2-3],目前針對(duì)違禁品的檢測(cè)主要有改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu)和設(shè)計(jì)通用特征提取處理模塊兩方法。隨著YOLO系列算法的發(fā)展[4-7],改進(jìn)的YOLO算法用于違禁品檢測(cè):基于改進(jìn)的YOLOv3網(wǎng)絡(luò)[8]構(gòu)建的深度卷積神經(jīng)網(wǎng)絡(luò)探碼器,對(duì)密集分布、小尺度目標(biāo)有較好的效果,但響應(yīng)時(shí)間比YOLOv3稍長(zhǎng);為了提高檢測(cè)準(zhǔn)確率,董乙杉等[9]提出了一種改進(jìn)YOLOv5的X射線違禁品檢測(cè)網(wǎng)絡(luò),該方法融合注意力機(jī)制、數(shù)據(jù)增強(qiáng)策略與加權(quán)邊框融合算法,但增加了檢測(cè)時(shí)間;吳海濱等[10]在YOLOv4算法的基礎(chǔ)上增加改進(jìn)后空洞卷積網(wǎng)絡(luò)結(jié)構(gòu),聚合多尺度上下文信息并增大了感受野,使用K-means 聚類(lèi)方法生成更適合違禁品檢測(cè)的初始候選框,但檢測(cè)精度并不理想;楊子固等[11]針對(duì) Faster R-CNN 模型對(duì) X 射線違禁品檢測(cè)準(zhǔn)確率低、誤檢率高的問(wèn)題,提出了一種前置預(yù)分類(lèi)頭部的X 射線安檢圖像檢測(cè)網(wǎng)絡(luò),通過(guò)向原模型中增加預(yù)分類(lèi)模塊和興趣區(qū)域?qū)R模塊,從而改善了整個(gè)模型的識(shí)別性能。
通過(guò)將通用特征提取處理模塊嵌入到原有網(wǎng)絡(luò)以提升原有網(wǎng)絡(luò)的目標(biāo)檢測(cè)性能:Miao等[12]針對(duì)重疊圖像類(lèi)別不平衡的問(wèn)題提出了一種名為類(lèi)平衡分層細(xì)化(class balance hierarchical refinement,CHR)的模塊,以最大限度地減少負(fù)樣本帶來(lái)的噪聲,具有更好的區(qū)分目標(biāo)的能力;Tao等[13]提出了一種過(guò)度采樣去遮擋注意網(wǎng)絡(luò)(De-occlusion attention module, DOA-M),利用違禁物品的不同外觀信息進(jìn)行過(guò)度采樣訓(xùn)練,提高了網(wǎng)絡(luò)的檢測(cè)性能;Wang等[14]設(shè)計(jì)了一種選擇性密集注意網(wǎng)絡(luò)(SDANet)用于學(xué)習(xí)區(qū)分特征和多尺度特征以網(wǎng)絡(luò)提高性能。這些方法設(shè)計(jì)的CNN模型,嚴(yán)重依賴人的經(jīng)驗(yàn)知識(shí),需要高額的時(shí)間和人力成本(如調(diào)整學(xué)習(xí)率大小、卷積層的卷積核大小、卷積神經(jīng)網(wǎng)絡(luò)中的網(wǎng)絡(luò)層數(shù))。
神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索(neural architecture search,NAS)[15]針對(duì)目標(biāo)檢測(cè)任務(wù)的特點(diǎn)以自動(dòng)化的方式搜索設(shè)計(jì)高性能的CNN架構(gòu)。在文獻(xiàn)[16]中對(duì)NAS方法進(jìn)行了詳細(xì)的分析、比較和總結(jié):NAS方法包括搜索空間、搜索策略和性能評(píng)估。搜索空間定義了在搜索過(guò)程中可能找到的CNN結(jié)構(gòu),決定了搜索結(jié)果的上限;搜索策略定義了如何準(zhǔn)確快速地發(fā)現(xiàn)最佳的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的算法;性能評(píng)估定義了如何評(píng)估候選神經(jīng)網(wǎng)絡(luò)的性能從而指導(dǎo)搜索策略發(fā)現(xiàn)最優(yōu)CNN架構(gòu)的算法。
目前基于NAS的圖像分類(lèi)CNN[17-19]的性能已經(jīng)超過(guò)人工設(shè)計(jì)的CNN的性能。受到ResNet[20]中殘差結(jié)構(gòu)的啟發(fā),NAS方法通過(guò)搜索多分支結(jié)構(gòu),增加了網(wǎng)絡(luò)結(jié)構(gòu)的多樣性和不同尺度特征的融合,但搜索過(guò)程非常耗時(shí)[15]。為了提高搜索效率,PNAS[21]提出了一種漸進(jìn)式的NAS方法,通過(guò)不斷增加網(wǎng)絡(luò)的復(fù)雜度(深度)來(lái)探索整個(gè)搜索空間,同時(shí)學(xué)習(xí)一個(gè)代理網(wǎng)絡(luò)來(lái)指導(dǎo)搜索策略在搜索空間中的搜索,減少了計(jì)算開(kāi)銷(xiāo);DenseNAS[22]通過(guò)設(shè)計(jì)密集連接的搜索空間來(lái)對(duì)卷積層的寬度和空間分辨率進(jìn)行搜索,使網(wǎng)絡(luò)結(jié)構(gòu)搜索更加靈活。Hieu等[23]提出了權(quán)重共享策略,大大減少了網(wǎng)絡(luò)結(jié)構(gòu)搜索的時(shí)間。為了簡(jiǎn)化搜索過(guò)程和提高搜索速度,Chen等[24]提出了一種基于批量歸一化指標(biāo)(batch normalization,BN)的性能評(píng)估方法:通過(guò)凍結(jié)神經(jīng)網(wǎng)絡(luò)中的卷積層參數(shù),只訓(xùn)練BN層參數(shù),然后統(tǒng)計(jì)分析每個(gè)BN層中的縮放參數(shù)γ的大小可以反映出對(duì)應(yīng)通道輸出幅度大小,從而判斷該BN層所在分支的重要性,該方法為基于NAS的目標(biāo)檢測(cè)算法提供了加速搜索過(guò)程的基礎(chǔ)。
最近的一些工作也將NAS方法應(yīng)用到目標(biāo)檢測(cè)任務(wù),如Chen等[25]使用NAS方法自動(dòng)搜索設(shè)計(jì)更好的目標(biāo)檢測(cè)Backbone組件,但搜索代價(jià)太大;Golnaz等[26]的目標(biāo)是搜索一個(gè)更好的特征金字塔網(wǎng)絡(luò)(feature pyramid networks,FPN)作為Neck組件;Wang等[27]也搜索特征金字塔網(wǎng)絡(luò)(FPN),但它增加了對(duì)Head組件的搜索,但搜索到的網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,難以理解和復(fù)用;Guo等[28]提出了一個(gè)分層的三位一體的搜索框架,以端到端的方式同時(shí)搜索目標(biāo)檢測(cè)網(wǎng)絡(luò)的所有組件(即Backbone、Neck、Head),由于其搜索空間很大,導(dǎo)致在子搜索空間初期篩選過(guò)程中,存在有效的分支被篩選掉的情況。
為了提高卷積神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)的自動(dòng)化程度并進(jìn)一步提高復(fù)雜背景下違禁品檢測(cè)的準(zhǔn)確率和速度,現(xiàn)提出一種基于逐層漸進(jìn)式神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索(layer-by-layer progressive neural network architecture search,LLP-NAS)的算法。提出一種逐層漸進(jìn)式搜索策略(layer-by-layer progressive,LLP),該策略能夠組合搜索空間中的分支構(gòu)建特征提取能力不同的側(cè)分支結(jié)構(gòu)(side branching structure,SBS)。提出一種針對(duì)X射線圖像違禁品檢測(cè)的NAS算法,該算法能夠基于逐層漸進(jìn)式搜索策略(LLP)和BN指標(biāo),自適應(yīng)地在違禁品數(shù)據(jù)集中搜索構(gòu)建最佳Backbone組件。
本文算法主要包含4個(gè)部分:①搜索空間定義;②基于逐層漸進(jìn)式搜索策略構(gòu)建最佳Backbone組件;③基于BN指標(biāo)評(píng)估候選網(wǎng)絡(luò)的性能;④新目標(biāo)檢測(cè)網(wǎng)絡(luò)訓(xùn)練和測(cè)試(圖1)。首先,基于現(xiàn)有目標(biāo)檢測(cè)算法,用一個(gè)初始CNN替換其原Backbone組件;然后,使用逐層漸進(jìn)式搜索策略搜索側(cè)分支結(jié)構(gòu),基于BN指標(biāo)評(píng)估候選網(wǎng)絡(luò)的性能,為每一個(gè)layer篩選最佳側(cè)分支結(jié)構(gòu),并自動(dòng)構(gòu)建最佳Backbone組件。最后,將構(gòu)建的新目標(biāo)檢測(cè)網(wǎng)絡(luò)進(jìn)行X射線圖像違禁品檢測(cè)的訓(xùn)練和測(cè)試。
Stage0~Stage4為完成搜索的網(wǎng)絡(luò)結(jié)構(gòu);input為輸入端;Conv為卷積層;BN為批量歸一化層;ReLU為激活函數(shù);OP為搜索分支
物體多的尺度特征和深層重要特征的提取,對(duì)復(fù)雜背景下的違禁品檢測(cè)有較大影響。表1列出了基于逐層漸進(jìn)式搜索策略的搜索空間:Conv1×1-BN分支增加了非線性特性,卷積層之后經(jīng)過(guò)激勵(lì)層(rectified linear unit,ReLU),在前一層的學(xué)習(xí)表示上添加了非線性激勵(lì)(non-linear activation),提升了網(wǎng)絡(luò)的表達(dá)能力;同理,OP-2、OP-3、OP-4中的Conv1×1-BN也是為了增加對(duì)應(yīng)操作的非線性特性;Conv3×3-BN屬于普通大小的卷積操作,更關(guān)注局部特征信息;Conv3×3-BN-AvgPool-BN在對(duì)圖像進(jìn)行降維的同時(shí),保留了圖像的整體特征信息,更有利信息傳遞到下一個(gè)模塊進(jìn)行特征提取;Conv3×3-BN-MaxPool-BN選擇分類(lèi)辨識(shí)度更好的特征,在網(wǎng)絡(luò)早期針對(duì)空間特征進(jìn)行下采樣, 提供了非線性特性;Conv1×3-BN和Conv3×1-BN稱(chēng)為非對(duì)稱(chēng)卷積,由Conv3×3-BN分解得到,以減少網(wǎng)絡(luò)的參數(shù)量。Identity分支將淺層特征信息通過(guò)直連的方式傳遞到后面的層,保留了物體特征的原始信息。
表1 Backbone組件的搜索空間Table 1 Search space for Backone components
LLP-NAS算法參考了ResNet網(wǎng)絡(luò)并復(fù)用了其中的一些概念和結(jié)構(gòu),包括Stage、layer、Identity[20]。如圖2所示,為L(zhǎng)LP-NAS算法中使用的部分結(jié)構(gòu)示意圖說(shuō)明:在初始狀態(tài)下的Backbone組件中,layer表示Conv3×3卷積-BN層-ReLU激活函數(shù)這樣的復(fù)合結(jié)構(gòu);總共包含5個(gè)Stage,每個(gè)初始Stage僅由一個(gè)layer構(gòu)成,隨著搜索的進(jìn)行,通過(guò)不斷堆疊layer來(lái)實(shí)現(xiàn)逐層漸進(jìn)式搜索;完成搜索的Stage包括一個(gè)或多個(gè)layer和對(duì)應(yīng)的最佳側(cè)分支結(jié)構(gòu)。
圖2 LLP-NAS算法中的Stage、layer、Identity結(jié)構(gòu)Fig.2 Stage, layer and identity structure in LLP-NAS algorithm
使用基于BN指標(biāo)的性能評(píng)估策略搜索最佳Backbone組件:凍結(jié)卷積神經(jīng)網(wǎng)絡(luò)中卷積層的參數(shù),只訓(xùn)練BN層而不是整個(gè)網(wǎng)絡(luò),在反向傳播過(guò)程中只有BN層參數(shù)被更新。當(dāng)評(píng)估第k層layer的第n個(gè)分支的性能時(shí),其BN指標(biāo)Sk,n計(jì)算公式為
(1)
假設(shè)待搜索的layer數(shù)為L(zhǎng)層,則該Backbone組件總的BN指標(biāo)SBb的計(jì)算公式為
(2)
Stage0~Stage4為完成搜索的網(wǎng)絡(luò)結(jié)構(gòu);input為輸入端;Conv為卷積層;BN為批量歸一化層;ReLU為激活函數(shù);OP為搜索分支。
大多數(shù)商圈只注重交易數(shù)據(jù)而忽視購(gòu)買(mǎi)群體的過(guò)程數(shù)據(jù),而這部分?jǐn)?shù)據(jù)正是挖掘商機(jī)的入口。圖1為商圈客流分析功能示意,其中客流分析項(xiàng)是對(duì)商圈日常的經(jīng)營(yíng)數(shù)據(jù)和客流數(shù)據(jù)進(jìn)行匯總得到的,這些數(shù)據(jù)的處理和分析對(duì)于商圈運(yùn)營(yíng)者而言可進(jìn)行更為細(xì)致的分析。客流數(shù)據(jù)分析系統(tǒng)需結(jié)合交易數(shù)據(jù)和過(guò)程數(shù)據(jù)獲取有價(jià)值的數(shù)據(jù)。研究結(jié)果證明,只有0.5%~3.0%的人在網(wǎng)上點(diǎn)擊廣告之后會(huì)真正購(gòu)買(mǎi)相應(yīng)的產(chǎn)品,而消費(fèi)者走進(jìn)實(shí)體商店購(gòu)買(mǎi)的概率則大很多。對(duì)于商圈管理者來(lái)說(shuō),該部分?jǐn)?shù)據(jù)的價(jià)值分析示意見(jiàn)圖2。
基于逐層漸進(jìn)式神經(jīng)架構(gòu)搜索算法搜索新Backbone組件的過(guò)程可以表述為式(3),其中Bb*為最佳Backbone組件結(jié)構(gòu),FLOPs(Bb)為Backbone組件網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜度。
Bb*=argmaxSBb,s.t.FLOPs(Bb) (3) 首先,初始CNN包含5個(gè)初始Stage[圖2(b)],從上到下依次Stage0>Stage1>Stage2>Stage3>Stage4,每個(gè)Stage只包含一個(gè)初始layer[圖2(a)]。該算法以FCOS[30](Backbone組件為ResNet50)網(wǎng)絡(luò)為基礎(chǔ),用一個(gè)初始CNN[圖2(b)]替換其Backbone組件,并保持其他組件(Neck、Head)不變。要搜索的結(jié)構(gòu)類(lèi)似ResNet的殘差結(jié)構(gòu),稱(chēng)之為側(cè)分支結(jié)構(gòu),但不像ResNet的殘差結(jié)構(gòu)跨越2個(gè)或3個(gè)layer,側(cè)分支結(jié)構(gòu)只跨越一個(gè)layer且包含一個(gè)或多個(gè)操作。搜索過(guò)程由兩個(gè)參數(shù)num_Stage和top_k控制:如num_Stage=[1,2,4,14,1],對(duì)應(yīng)每一個(gè)Stage的目標(biāo)layer層數(shù);top_k規(guī)定了最佳側(cè)分支結(jié)構(gòu)包含的最大分支數(shù)。搜索流程如圖3所示,搜索算法為算法1。 Stage0~Stage4為完成搜索的網(wǎng)絡(luò)結(jié)構(gòu);input為輸入端;Conv為卷積層;BN為批量歸一化層;ReLU為激活函數(shù);OP為搜索分支;Frozen Conv為凍結(jié)的卷積層;Frozen BN為凍結(jié)的批量歸一化層 如圖4所示,在Backbone組件搜索完成后,新目標(biāo)檢測(cè)網(wǎng)絡(luò)就自動(dòng)構(gòu)建完成,然后解除其所有被凍結(jié)的參數(shù)。新目標(biāo)檢測(cè)網(wǎng)絡(luò)的訓(xùn)練和測(cè)試是交替進(jìn)行的,當(dāng)在訓(xùn)練集上的loss值不再下降時(shí)就表明網(wǎng)絡(luò)已經(jīng)訓(xùn)練完成,統(tǒng)計(jì)分析網(wǎng)絡(luò)在測(cè)試集上的結(jié)果用于后續(xù)的網(wǎng)絡(luò)性能評(píng)估和對(duì)比。 圖4 新目標(biāo)檢測(cè)模型訓(xùn)練和測(cè)試Fig.4 Training and testing of new target detection model 實(shí)驗(yàn)內(nèi)容包括新Backbone組件搜索和新目標(biāo)檢測(cè)網(wǎng)絡(luò)訓(xùn)練、測(cè)試3個(gè)階段。在新Backbone組件搜索階段,通過(guò)設(shè)置不同參數(shù)組合num_Stage和top_k對(duì)Backbone組件進(jìn)行搜索,對(duì)比構(gòu)建的新目標(biāo)檢測(cè)網(wǎng)絡(luò)的性能,以找到最適合該目標(biāo)檢測(cè)任務(wù)的Backbone組件。在訓(xùn)練、測(cè)試階段,分別在訓(xùn)練集和測(cè)試集對(duì)新目標(biāo)檢測(cè)網(wǎng)絡(luò)進(jìn)行訓(xùn)練和測(cè)試,并分別與手工設(shè)計(jì)的CNN、基于NAS的方法、經(jīng)典的目標(biāo)檢測(cè)網(wǎng)絡(luò)進(jìn)行了對(duì)比分析。 本次實(shí)驗(yàn)基于MMDetection[31]目標(biāo)檢測(cè)開(kāi)源平臺(tái)實(shí)現(xiàn)。軟件環(huán)境為操作系統(tǒng):Linux Mint20.3,Python3.10,PyTorch1.11.0,CUDA11.5.2,MMDetection 2.23.0。硬件環(huán)境為 CPU:i5-10600kf,RAM:DDR4 32 GB,GPU:RTX 3090(24 GB)。 HiXray違禁品數(shù)據(jù)集[32]包含無(wú)芯充電寶、有芯充電寶、移動(dòng)手機(jī)、平板電腦、筆記本電腦、化妝品、水、打火機(jī)8類(lèi)常見(jiàn)違禁物品,共45 364張X射線安檢圖像,分辨率為從2 000×1 040像素到432×1 040像素不等。訓(xùn)練集36 295張,測(cè)試集9 069張。圖5展示了HiXray數(shù)據(jù)集中8類(lèi)常見(jiàn)違禁品的X光圖像。 圖5 8類(lèi)常見(jiàn)違禁品的X射線圖像[32]Fig.5 X-ray images of eight types of common contraband[32] OPIXray違禁品數(shù)據(jù)集[33]包含折疊刀、直刀、剪刀、美工刀、多功能刀等5類(lèi)刀具,共8 885張X射線安檢圖像,分辨率為1 225像素×954像素。訓(xùn)練集7 109張,測(cè)試集1 776張。 PIDray違禁品數(shù)據(jù)集[14]包含槍、刀、扳手、鉗子、剪刀、錘子、手銬、警棍、噴霧器、充電寶、打火機(jī)和子彈12類(lèi)違禁物品,共47 677張X射線圖像,分辨率為從380像素×448像素到600像素×448像素不等。訓(xùn)練集29 457張,測(cè)試集18 220張。 實(shí)驗(yàn)評(píng)價(jià)指標(biāo)為計(jì)算量FLOPs(衡量模型的復(fù)雜度),參數(shù)量Params(網(wǎng)絡(luò)模型中的參數(shù)總量),兩者均以圖像縮放到800像素×1 200像素作為輸入計(jì)算得出;類(lèi)別識(shí)別平均精度均值mAP@0.5(mean Average Precision,IoU閾值為0.5);檢測(cè)時(shí)間為檢測(cè)處理一張圖像的平均時(shí)間,值越小代表網(wǎng)絡(luò)檢測(cè)速度越快,單位為ms。 在Backbone組件搜索階段,由于實(shí)驗(yàn)設(shè)備的限制,輸入圖像大小為800像素×1 200像素,優(yōu)化器使用Adam,學(xué)習(xí)率為1×10-4,權(quán)重衰減為5×10-4,batch size大小為8,每個(gè)layer搜索最多10 epochs時(shí)長(zhǎng)(若BN層參數(shù)已經(jīng)穩(wěn)定,可提前結(jié)束該layer搜索以節(jié)約時(shí)間),該階段使用訓(xùn)練集進(jìn)行搜索。在新目標(biāo)檢測(cè)網(wǎng)絡(luò)訓(xùn)練階段,優(yōu)化器使用SGD,學(xué)習(xí)率為1×10-3,動(dòng)量為0.9,權(quán)重衰減為5×10-4,采用余弦退火算法(cosine annealing)調(diào)整學(xué)習(xí)率,batch size大小為8,訓(xùn)練30個(gè)epochs時(shí)長(zhǎng)。在新目標(biāo)檢測(cè)網(wǎng)絡(luò)測(cè)試階段使用測(cè)試集對(duì)完成訓(xùn)練的網(wǎng)絡(luò)進(jìn)行測(cè)試,并統(tǒng)計(jì)分析測(cè)試結(jié)果。 圖6所示為本文算法分別在HiXray、OPIXray、PIDray數(shù)據(jù)集上以不同num_Stage、top_k參數(shù)組合搜索到的最佳Backbone組件結(jié)構(gòu)圖。其網(wǎng)絡(luò)整體結(jié)構(gòu)類(lèi)似ResNet網(wǎng)絡(luò),但每個(gè)layer主干都由相同的Conv3×3-BN-ReLU復(fù)合結(jié)構(gòu)和該layer的最佳側(cè)分支結(jié)構(gòu)構(gòu)成。為了提取到更豐富和更深層的物體特征,在Stage3中堆疊了更多的layer結(jié)構(gòu),每個(gè)layer的最佳側(cè)分支結(jié)構(gòu)由top_k個(gè)搜索空間中的分支構(gòu)成。因此,Backbone組件搜索完成后,新目標(biāo)檢測(cè)網(wǎng)絡(luò)就自動(dòng)構(gòu)建完成,將在HiXray、OPIXray、PIDray 3個(gè)違禁品數(shù)據(jù)集上完成訓(xùn)練和測(cè)試。 Stage0~Stage4為完成搜索的網(wǎng)絡(luò)結(jié)構(gòu);input為輸入端;Conv為卷積層;BN為批量歸一化層;ReLU為激活函數(shù);OP為搜索分支 圖7展示了在HiXray數(shù)據(jù)集上搜索最佳Backbone組件(LLPNet28_3)過(guò)程中Stage0的第一個(gè)layer中9個(gè)分支末端的BN指標(biāo)變化情況。選擇BN指標(biāo)最大的top_k個(gè)分支(為OP-2、OP-6、OP-7三個(gè)分支)作為該層layer的最佳側(cè)分支結(jié)構(gòu)。 圖7 Stage0中第一個(gè)layer的側(cè)分支BN指標(biāo)變化情況Fig.7 Change of BN index of side branch of the first layer 與ResNet50[20]、MobileNetV2[34]、DenseNet[35]等手工設(shè)計(jì)的CNN進(jìn)行對(duì)比。以FCOS目標(biāo)檢測(cè)網(wǎng)絡(luò)為基礎(chǔ)網(wǎng)絡(luò)(其Backbone組件為ResNet50,Neck組件為FPN)。使用MobileNetV2和DenseNet兩個(gè)手工設(shè)計(jì)的CNN替換其Backbone組件,構(gòu)成兩個(gè)對(duì)比網(wǎng)絡(luò)。如表2所示,LLP-NAS以更高的檢測(cè)精度mAP和更短的檢測(cè)時(shí)間超過(guò)了基準(zhǔn)網(wǎng)絡(luò)。與基準(zhǔn)網(wǎng)絡(luò)相比,在檢測(cè)準(zhǔn)確率相當(dāng)?shù)那闆r下,以MobileNetV2作為Backbone組件的參數(shù)量和計(jì)算量都更少,但違禁品檢測(cè)準(zhǔn)確率仍略低于LLP-NAS。 表2 不同方法在HiXray數(shù)據(jù)集上進(jìn)行違禁品檢測(cè)準(zhǔn)確率和性能比較Table 2 Comparison of accuracy and performance of contraband detection by different methods on HiXRay dataset DenseNet和LLPNet28_3都使用跨越連接來(lái)向后面的卷積層傳遞特征信息,但DenseNet只通過(guò)簡(jiǎn)單的直連方式傳遞,而LLPNet28_3通過(guò)搜索的方式選擇側(cè)分支進(jìn)行特征的提取與融合,特征提取更精準(zhǔn),違禁品檢測(cè)準(zhǔn)確率更高。且LLP-NAS的檢測(cè)時(shí)間均小于兩個(gè)對(duì)比網(wǎng)絡(luò)。 與基于NAS的方法進(jìn)行對(duì)比。如表2所示,雖然基于NAS方法在ImageNet數(shù)據(jù)集上搜索到的FBNetV3-C[36]網(wǎng)絡(luò)在分類(lèi)任務(wù)中表現(xiàn)出色,但在違禁品檢測(cè)任務(wù)上的檢測(cè)效果并不理想。DetNAS也對(duì)Backbone組件進(jìn)行搜索,搜索到的DetNASNet在COCO目標(biāo)檢測(cè)任務(wù)中表現(xiàn)優(yōu)秀,但LLP-NAS以較少的參數(shù)和更多的FLOPs在違禁品檢測(cè)準(zhǔn)確率上超過(guò)了DetNAS。NAS-FPN、NAS-FCOS、Auto-FPN三者都直接使用ResNet50作為Backbone組件,只對(duì)Neck組件或Head組件進(jìn)行搜索,但與LLP-NAS算法相比,違禁品檢測(cè)準(zhǔn)確率都有所不足,且LLP-NAS的檢測(cè)處理一幅圖像時(shí)間都低于上述的對(duì)比網(wǎng)絡(luò)。 為了進(jìn)一步檢驗(yàn)所提算法在復(fù)雜場(chǎng)景下的違禁品檢測(cè)能力,選取 OPIXray 和 PIDray 等高度重疊遮擋的違禁品數(shù)據(jù)集,與目前經(jīng)典的目標(biāo)檢測(cè)網(wǎng)絡(luò)進(jìn)行違禁品檢測(cè)性能比較。如表3所示,LLP-NAS分別取得了87.2%和70.4%的mAP@0.5,超過(guò)了大多數(shù)經(jīng)典的目標(biāo)檢測(cè)網(wǎng)絡(luò)。FCOS由全卷積網(wǎng)絡(luò)組成,采用類(lèi)似于語(yǔ)義分割的逐像素預(yù)測(cè)方式目標(biāo)檢測(cè)任務(wù),但違禁品檢測(cè)性能仍有不足。Deformable直接使用不同尺度的特征圖進(jìn)行訓(xùn)練,但它的訓(xùn)練周期長(zhǎng),相比Mask R-CNN慢10~20倍,且違禁品檢測(cè)性能低于LLP-NAS。RetinaNet引入新的Focal Loss損失函數(shù),解決了前景背景種類(lèi)不均衡問(wèn)題,但它采用ResNet101網(wǎng)絡(luò)作為Backbone組件,網(wǎng)絡(luò)參數(shù)量和計(jì)算量過(guò)高,導(dǎo)致違禁品檢測(cè)性能總體偏低。與YOLOv3、YOLOv4等經(jīng)典目標(biāo)檢測(cè)網(wǎng)絡(luò)相比,LLP-NAS在違禁品檢測(cè)準(zhǔn)確率上均有提升。SSD通過(guò)提取不同尺度的物體特征圖直接進(jìn)行目標(biāo)檢測(cè),它通過(guò)設(shè)置不同尺度和長(zhǎng)寬比的先驗(yàn)框以用于匹配不同尺度大小的物體檢測(cè),但違禁品的檢測(cè)準(zhǔn)確率仍低于LLP-NAS算法。由此可見(jiàn),本文算法能夠有效提高違禁品檢測(cè)準(zhǔn)確率和速度。 表3 不同方法在數(shù)據(jù)集OPIXray和PIDray上進(jìn)行違禁品檢測(cè)準(zhǔn)確率比較Table 3 Comparison of the accuracy of contraband detection by different methods on data sets OPIXray and PIDray 圖8展示了 LLP-NAS與其他幾種方法在HiXray違禁品數(shù)據(jù)集上的檢測(cè)結(jié)果對(duì)比。第1行為原始圖像,第2行為圖像標(biāo)簽,隨后幾行為其他幾種方法的檢測(cè)結(jié)果對(duì)比。FCOS(ResNet50)和FCOS(DenseNet)的檢測(cè)效果與標(biāo)簽有較大差距;DetNAS對(duì)特征明顯的物體檢測(cè)較為準(zhǔn)確,但對(duì)于包含復(fù)雜背景的物體的檢測(cè)效果仍有欠缺;NAS-FPN和NAS-FCOS的檢測(cè)結(jié)果相對(duì)較為準(zhǔn)確,但在一些圖像的目標(biāo)邊界檢測(cè)上仍然存在一定的誤差,而LLP-NAS很好地糾正了這樣的誤差,在幾種方法中取得了更好的違禁品檢測(cè)效果。 圖8 幾種方法在HiXray違禁品數(shù)據(jù)集上的檢測(cè)結(jié)果示例Fig.8 Examples of detection results of several methods on the HiXRay contraband data set 為了進(jìn)一步探究不同參數(shù)組合num_Stage和top_k對(duì)LLP-NAS算法最終搜索結(jié)果的影響,分別對(duì)比由不同參數(shù)num_Stage和top_k組合構(gòu)成的新目標(biāo)檢測(cè)網(wǎng)絡(luò)的檢測(cè)準(zhǔn)確率,在HiXray數(shù)據(jù)集上進(jìn)行了消融實(shí)驗(yàn)。結(jié)果如表4所示,以不搜索最佳側(cè)分支結(jié)構(gòu)的LLPNet22_0和LLPNet28_0網(wǎng)絡(luò)作為Backbone組件,與搜索了最佳側(cè)分支結(jié)構(gòu)的LLPNet22_2和LLPNet28_2網(wǎng)絡(luò)進(jìn)行對(duì)比,違禁品檢測(cè)準(zhǔn)確率低33.1%和39.7%??梢?jiàn),最佳側(cè)分支結(jié)構(gòu)相對(duì)于僅有主干的網(wǎng)絡(luò)的性能提升明顯。LLPNet22_3 相較于LLPNet22_2多搜索一個(gè)側(cè)分支,違禁品檢測(cè)準(zhǔn)確率提升了6.6%,可見(jiàn),更多的側(cè)分支能提取更豐富的物體特征,從而提升網(wǎng)絡(luò)性能。雖然更大的網(wǎng)絡(luò)帶來(lái)了更好的準(zhǔn)確率,但同時(shí)也帶了更多計(jì)算量和網(wǎng)絡(luò)參數(shù)量,通過(guò)在搜索過(guò)程中限制FLOPs和Params的大小,最終搜索到的LLPNet28_3網(wǎng)絡(luò)(28個(gè)layer結(jié)構(gòu),最大3個(gè)側(cè)分支)取得了最高83.4%的mAP@50。 表4 在HiXray數(shù)據(jù)集上的消融實(shí)驗(yàn)研究Table 4 Experimental study of ablation on HiXRay data set 提出了一種基于NAS的X射線圖像違禁品檢測(cè)算法,該算法基于逐層漸進(jìn)式搜索策略和BN指標(biāo)性能評(píng)估策略,能夠根據(jù)X射線圖像違禁品數(shù)據(jù)集自適應(yīng)的搜索設(shè)計(jì)最佳Backbone組件,構(gòu)建的由數(shù)據(jù)驅(qū)動(dòng)的新目標(biāo)檢測(cè)網(wǎng)絡(luò)以較低的計(jì)算量和參數(shù)量獲得了較高的檢測(cè)性能,在3種復(fù)雜違禁品數(shù)據(jù)集 HiXray、OPIXray、PIDray 上與手工設(shè)計(jì)的CNN、基于NAS的方法、經(jīng)典的目標(biāo)檢測(cè)網(wǎng)絡(luò)進(jìn)行了對(duì)比,結(jié)果表明本文所提算法具有更高的檢測(cè)性能,實(shí)現(xiàn)了進(jìn)一步提高違禁品檢測(cè)的準(zhǔn)確性和速度的目的,充分證明了所提算法的有效性。針對(duì)違禁品檢測(cè)的特點(diǎn),為了進(jìn)一步提高違禁品檢測(cè)的準(zhǔn)確性和速度,下一步的研究?jī)?nèi)容將考慮增加對(duì)目標(biāo)檢測(cè)網(wǎng)絡(luò)的頸部(Neck)組件和頭部(Head)組件進(jìn)行搜索,通過(guò)增加搜索空間,優(yōu)化搜索策略和性能評(píng)估策略來(lái)提升搜索效率,從而搜索設(shè)計(jì)出檢測(cè)性能更好的目標(biāo)檢測(cè)網(wǎng)絡(luò)。1.3 新目標(biāo)檢測(cè)網(wǎng)絡(luò)訓(xùn)練和測(cè)試
2 實(shí)驗(yàn)
2.1 實(shí)驗(yàn)環(huán)境
2.2 數(shù)據(jù)集和評(píng)價(jià)指標(biāo)
2.3 實(shí)驗(yàn)參數(shù)設(shè)置
2.4 實(shí)驗(yàn)結(jié)果與分析
2.5 消融實(shí)驗(yàn)
3 結(jié)論