文/朱闖 孫慶峰 駱雙龍 王仁君
傳統(tǒng)人工識別破損包裝的方法,已無法滿足發(fā)展的需要,在智慧物流體系的建設(shè)中,快遞包裝箱破損檢測受到各大物流企業(yè)的重視。包裝破損是影響服務(wù)質(zhì)量的重要因素,對快遞包裝破損檢測方法進(jìn)行研究,有利于提高破損檢測速度及工作效率,企業(yè)能夠及時(shí)作出相關(guān)處理,減少賠付,避免運(yùn)輸資源浪費(fèi),提高客戶滿意度,提升服務(wù)質(zhì)量。有利于實(shí)現(xiàn)快遞寄遞流程可跟蹤、隱患可發(fā)現(xiàn)、責(zé)任可追溯等目標(biāo)。有較高的應(yīng)用價(jià)值,可作為工業(yè)自動檢測裝備研制的重要理論依據(jù)。
本文采用Canny[1-2]邊緣檢測與改進(jìn)的YOLOv5[3-4]目標(biāo)檢測算法相結(jié)合的方法實(shí)現(xiàn)快遞包裝破損檢測。在實(shí)際中快遞包裝破損區(qū)域復(fù)雜多樣,一處破損常常導(dǎo)致著整個(gè)箱體的變形,或箱體多處破損。因此給YOLOv5模型的檢測帶來很大的難度,為此在模型中引入Canny邊緣檢測,盡可能保留破損特征,對圖片數(shù)據(jù)進(jìn)行處理。為提高YOLOv5模型的檢測精度,在原有模型的基礎(chǔ)上引入ECA[5-6](Efficient Channel Attention M odule)注意力機(jī)制改進(jìn)模型。
在機(jī)器視覺領(lǐng)域,邊緣檢測算法的應(yīng)用極為廣泛,Canny算子是由澳洲科學(xué)家John F.Canny開發(fā)的邊緣檢測算法之一。該算法的檢測效果好能夠盡可能多地標(biāo)示出實(shí)際邊緣,且對噪音的標(biāo)示率低,響應(yīng)小,定位效果佳,能夠極其接近圖像中的實(shí)際邊緣。(1)高斯濾波。在邊緣檢測器中,必須使用濾波器來改善與噪聲有關(guān)的邊緣檢測器的性能,使用高斯濾波,對抑制或消除服從正態(tài)分布的噪聲非常有效,因此常其用來平滑圖像,濾除噪音。大多數(shù)濾波器會因?yàn)檫^度追求降噪而導(dǎo)致邊緣強(qiáng)度的損失,使檢測效果不佳,因此需要綜合考量降低噪音與增強(qiáng)邊緣之間的關(guān)系。在邊緣檢測算法中使用高斯濾波主要在于其能夠在消除圖像噪音影響的同時(shí),很大程度上能有效保留邊緣信息。(2)計(jì)算梯度和方向。綜合考慮精度與效率,在計(jì)算圖像中每個(gè)像素點(diǎn)的梯度與方向時(shí)選用Sobel[7-8]算子。在圖像邊緣檢測算法中Sobel算子實(shí)用性很高,對噪音具有平滑作用,其抗噪聲能力很強(qiáng),用途較多,效率較高,能夠提供較為精確的邊緣方向信息。且Sobel邊緣檢測算法簡單,在破損包裝檢測中應(yīng)用能有夠滿足其效率要求。(3)非極大值抑制。在邊緣檢測算法中,在獲得梯度的方向和大小之后,應(yīng)用非極大值抑制去除那些非邊界上的點(diǎn)。具體指沿著像素的梯度方向?qū)ο噜彽膬蓚€(gè)像素進(jìn)行比較,保留局部最大值以得到細(xì)化邊緣的同時(shí)抑制非局部最大值的所有值。邊緣檢測算法中對噪音的響應(yīng)影響著使用性能,非極大值抑制能夠消除檢測過程中雜散響應(yīng),排除非邊緣像素,獲得細(xì)化的邊緣。(4)雙閾值算法。在實(shí)際應(yīng)用中,Canny邊緣檢測算法的閾值選取對檢測結(jié)果的影響很大,因此需要通過多次實(shí)驗(yàn)根據(jù)給定輸入圖像的內(nèi)容確定兩個(gè)閾值,低閾值T1,高閾值T2。在完成非極大值抑制后,圖片依舊包含噪音或其他影響因素導(dǎo)致的假邊界影響邊緣檢測算法的結(jié)果。通過雙閾值算法,確定兩個(gè)閾值,抑制小于低閾值的邊緣像素梯度值。
YOLOv5作為一種One-stage檢測器,具有計(jì)算量小、識別速度快等優(yōu)點(diǎn)。為滿足快遞包裝箱破損檢測的要求,使用一種改進(jìn)的YOLOv5模型,通過添加ECA注意力機(jī)制,優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu),增強(qiáng)感受,提取更加豐富的目標(biāo)特征,增強(qiáng)模型的特征提取能力。ECANet[9-10]主要對SENet[11-12]模塊進(jìn)行了一些改進(jìn),能夠在不增加過多參數(shù)和計(jì)算成本的情況下,有效地增強(qiáng)網(wǎng)絡(luò)的表征能力。通過ECA模塊和自適應(yīng)選擇一維卷積核大小的方法,從而實(shí)現(xiàn)了性能上的提優(yōu)。
目前國內(nèi)外對快遞包裝破損檢測的研究還較少,由于機(jī)器視覺應(yīng)用范圍廣、任務(wù)多樣,各類不同包裝的破損圖像特征與檢測參數(shù)之間難以統(tǒng)一,因此針對不同研究對象需建立合適的數(shù)據(jù)集。本文采用自建的快遞包裝箱破損數(shù)據(jù)集,數(shù)據(jù)集含有2872張標(biāo)注圖片,其中訓(xùn)練集含有2296張,取576張圖片作為測試集檢測訓(xùn)練效果。
為了驗(yàn)證本文提出的Canny邊緣檢測與改進(jìn)YOLOv5目標(biāo)檢測算法相結(jié)合的包裝破損檢測方法的可靠性與真實(shí)性,分別對yolov5檢測算法、canny邊緣檢測與YOLOv5目標(biāo)檢測算法及canny邊緣檢測與改進(jìn)YOLOv5檢測算法三種算法進(jìn)行對比實(shí)驗(yàn)。三種檢測算法分別對數(shù)據(jù)集進(jìn)行處理,其中canny邊緣檢測算法對破損與完好兩種不同類型的快遞包裝箱的處理結(jié)果如圖1所示,從左到右依次為經(jīng)過檢測算法中形態(tài)學(xué)處理后的圖片、邊緣檢測算法的結(jié)果、邊緣檢測算法實(shí)現(xiàn)原圖破損邊緣顯示。
圖1 邊緣檢測算法處理的圖片
圖2 各模型檢測精度結(jié)果對比圖
實(shí)驗(yàn)在w indow s10操作系統(tǒng)中進(jìn)行,環(huán)境配置為python3.8、pytorch1.11.0,服務(wù)器配置為Intelcore i7-7700、16G內(nèi)存,顯卡為NVIDIAGTX1060 6G顯存。實(shí)驗(yàn)參數(shù)保持默認(rèn)使用的學(xué)習(xí)率、循環(huán)率、學(xué)習(xí)率動量等。batch size受硬件限制設(shè)置為8,epochs經(jīng)實(shí)驗(yàn)設(shè)置為150足以保證所有數(shù)據(jù)在最后都處于收斂階段。
實(shí)驗(yàn)結(jié)果以兩種評價(jià)指標(biāo)來評估三種不同模型的檢測精度,精確率(Precision,P),預(yù)測結(jié)果是正類的概率,即查準(zhǔn)率。召回率(Recall,R),所有真實(shí)目標(biāo)中,模型預(yù)測正確的目標(biāo)比例,即查全率。三種算法模型的評價(jià)指標(biāo)見表1:
表1 各模型評價(jià)指標(biāo)表
由表4可知,本文提出的canny邊緣檢測與改進(jìn)yolov5目標(biāo)檢測算法相結(jié)合的方法,對快遞包裝破損檢測的效果最好,能夠達(dá)到想要的檢測效果。為更直觀地反映三種模型的檢測精度,檢測結(jié)果對比圖如下:
以破損快遞包裝檢測為研究對象,基于機(jī)器視覺提出關(guān)于Canny邊緣檢測算法與改進(jìn)YOLOv5目標(biāo)檢測算法融合從而實(shí)現(xiàn)快遞包裝檢測的方法。利用自建的快遞包裝圖片數(shù)據(jù)集,對三種不同的算法進(jìn)行實(shí)驗(yàn),對比實(shí)驗(yàn)結(jié)果,得出Canny邊緣檢測算法與改進(jìn)YOLOv5目標(biāo)檢測算法的融合使得檢測精度與性能明顯更為優(yōu)越,在稍損檢測速度的情況下,極大的提高了檢測精度,說明了該方法對快遞包裝破損檢測的可靠性與真實(shí)性。