張 瑩,朱 晨,楊國(guó)亮
(江西理工大學(xué) 電氣工程與自動(dòng)化學(xué)院,江西 贛州 341000)
包裹X光限制品檢測(cè)作為物流業(yè)及重點(diǎn)場(chǎng)所的重要安防措施,承擔(dān)著防止易燃、易爆等危險(xiǎn)品,刀具、毒品等國(guó)家重點(diǎn)違禁品進(jìn)入貨運(yùn)渠道等工作。目前,安檢場(chǎng)所的包裹安檢工作是由經(jīng)過(guò)專業(yè)培訓(xùn)的安檢員來(lái)完成,但由于包裹內(nèi)的物體擺放密集且存在重疊,致使X光安檢設(shè)備生成的圖像辨識(shí)困難,使得安檢員在判定包裹內(nèi)的限制品時(shí)速度較慢,且辨別精度較低。
目前,計(jì)算機(jī)輔助識(shí)別X光中限制品的技術(shù)已被廣泛運(yùn)用,但大多是基于傳統(tǒng)方式,如小波去噪[1]、圖像增強(qiáng)[2]等,提升效果有限。文獻(xiàn)[3]使用圖像建模的方法分離X光圖像的前景和背景,提升了圖像對(duì)比度;文獻(xiàn)[4-5]對(duì)目標(biāo)建模形成立體化圖像,提高了安檢人員對(duì)部分重疊區(qū)域物體的識(shí)別能力。目前,關(guān)于限制品檢測(cè)在圖像處理、機(jī)器視覺(jué)等方面的深度學(xué)習(xí)日益得到普及[6-7]?;诖?,本文提出一種用于包裹內(nèi)密集重疊限制品檢測(cè)的Crowd-YOLOv3算法。
Crowd-YOLOv3算法基于YOLOv3算法[8]改進(jìn)而成,主要對(duì)YOLOv3算法的FPN結(jié)構(gòu)損失函數(shù)進(jìn)行了優(yōu)化。
YOLOv3算法在將主干網(wǎng)絡(luò)提取的特征信息進(jìn)行檢測(cè)前,使用標(biāo)準(zhǔn)的FPN結(jié)構(gòu)將深層特征圖中的語(yǔ)義信息復(fù)用至淺層特征圖中,用于提升算法對(duì)小目標(biāo)的檢測(cè)效果。文獻(xiàn)[9]表明在FPN模型內(nèi)部進(jìn)行多樣的連接,有助于特征信息的復(fù)用,由此提出了NAS-FPN模型。本文針對(duì)YOLOv3算法的結(jié)構(gòu)特點(diǎn)對(duì)NAS-FPN模型進(jìn)行優(yōu)化,將其嵌入到算法的主干網(wǎng)絡(luò)和檢測(cè)器之間,替換標(biāo)準(zhǔn)的FPN結(jié)構(gòu)。
文獻(xiàn)[10]表明,算法的注意力可以通過(guò)調(diào)整對(duì)應(yīng)目標(biāo)在損失函數(shù)中的權(quán)值實(shí)現(xiàn)。Crowd-YOLOv3算法的側(cè)重點(diǎn)在于密集重疊區(qū)域的目標(biāo)檢測(cè),因此對(duì)圖像中的限制品重疊程度進(jìn)行了判定。判定依據(jù)是數(shù)據(jù)集中標(biāo)簽值給定的目標(biāo)包圍框坐標(biāo)值,使用IoG表示兩個(gè)目標(biāo)的重疊部分與其中較小目標(biāo)的面積比值,最終在標(biāo)簽文件中使用密集程度值Crowd進(jìn)行標(biāo)注。判定算法如公式(1)所示:
Crowd值分別用0、1表示,其中0表示IoG≤0.6,1表示IoG>0.6。本文引入超參數(shù)αCrowd作為條件加權(quán)值,作用于原損失函數(shù)的位置損失和置信度損失部分。當(dāng)Crowd為0時(shí),αCrowd=1;當(dāng)Crowd為1時(shí),αCrowd=1.10。條件損失函數(shù)的應(yīng)用使算法將更多的注意力投入到重疊程度較高的目標(biāo)中,從而提升算法對(duì)密集目標(biāo)的檢測(cè)精度。
本文分別采用YOLOv3算法和Crowd-YOLOv3算法對(duì)X光限制品圖像數(shù)據(jù)集進(jìn)行測(cè)試,實(shí)驗(yàn)環(huán)境為Ubuntu16.04系統(tǒng),計(jì)算機(jī)語(yǔ)言為Python3.6,搭配PyTorch1.1深度學(xué)習(xí)框架與Nvidia GTX1070顯卡。
本文通過(guò)網(wǎng)絡(luò)獲取X光圖像限制品數(shù)據(jù)集,并對(duì)其中的數(shù)據(jù)進(jìn)行清洗。數(shù)據(jù)集中的限制品有5類,分別是鐵殼打火機(jī)、黑釘打火機(jī)、刀具、電容電池、剪刀。清洗后的數(shù)據(jù)集中共有2 000張圖片,上述限制品對(duì)應(yīng)圖片數(shù)量分別是1 222,2 426,2 113,2 668,2 023。數(shù)據(jù)集圖片按照9∶1的比例設(shè)置訓(xùn)練集和測(cè)試集。
實(shí)驗(yàn)中,YOLOv3算法和Crowd-YOLOv3算法的參數(shù)設(shè)定保持一致,輸入圖像的分辨率為416×416。每個(gè)算法訓(xùn)練100個(gè)周期,優(yōu)化方法采用隨機(jī)梯度下降法。訓(xùn)練過(guò)程中,每批處理16張圖片,權(quán)值衰減為0.000 5,動(dòng)量為0.9,使用Xavier方法進(jìn)行參數(shù)的初始化設(shè)置。網(wǎng)絡(luò)的初始學(xué)習(xí)率為10-3,在第71訓(xùn)練周期時(shí),學(xué)習(xí)率調(diào)整為10-4;在第91訓(xùn)練周期時(shí),學(xué)習(xí)率降低至10-5,并保持至訓(xùn)練結(jié)束。
本文在數(shù)據(jù)集的測(cè)試集中按照限制品的重疊程度選取了3張圖片,并分別用YOLOv3算法和Crowd-YOLOv3算法進(jìn)行檢測(cè)。Crowd-YOLOv3算法和YOLOv3算法的檢測(cè)效果如圖1所示。
圖1 檢測(cè)效果對(duì)比圖
圖1中三幅子圖內(nèi)限制物品的類別和數(shù)量關(guān)系見(jiàn)表1所列,YOLOv3算法和Crowd-YOLOv3算法識(shí)別結(jié)果見(jiàn)表2所列。結(jié)合表1和圖1可知,本文提出的Crowd-YOLOv3算法有效提升了YOLOv3算法在檢測(cè)密集、重疊目標(biāo)時(shí)的性能。在圖1第一列中,Crowd-YOLOv3算法檢測(cè)到8個(gè)密集排列的電容電池,4個(gè)重疊的黑釘打火機(jī),1個(gè)單獨(dú)的鐵殼打火機(jī),對(duì)照標(biāo)簽值,召回率達(dá)到86.67%,而YOLOv3算法的召回率僅為40%;在圖1第二列中,Crowd-YOLOv3算法仍無(wú)法檢測(cè)到與剪刀高度重疊的刀具,存在一定的局限性,但Crowd-YOLOv3算法的包圍框更精準(zhǔn);在圖1第三列中,Crowd-YOLOv3算法仍能檢測(cè)到單獨(dú)的限制物品,表明改進(jìn)方法沒(méi)有影響Crowd-YOLOv3算法檢測(cè)單獨(dú)限制品的能力。實(shí)驗(yàn)表明,本文提出的Crowd-YOLOv3算法能有效提升傳統(tǒng)算法的查準(zhǔn)率和查全率,減少了限制品的漏檢和誤判現(xiàn)象。
表1 圖1中3幅子圖內(nèi)限制物品的類別和數(shù)量關(guān)系
表2 YOLOv3算法和Crowd-YOLOv3算法識(shí)別結(jié)果
限制品檢測(cè)在安防行業(yè)應(yīng)用廣泛。本文針對(duì)傳統(tǒng)限制品檢測(cè)方法的不足和YOLOv3網(wǎng)絡(luò)的缺陷,提出Crowd-YOLOv3算法。該算法通過(guò)在結(jié)構(gòu)上引入FPN模型和構(gòu)建條件損失函數(shù),有效提升了檢測(cè)效果。實(shí)驗(yàn)表明,該算法能有效提升限制品檢測(cè)精度,并為其他目標(biāo)的檢測(cè)提供借鑒。
物聯(lián)網(wǎng)技術(shù)2020年12期