楊心安,朱文魁,張明建,周 博,王 兵*,馮 楊,高 森*,王珵珵,陳 睿
1. 中國煙草總公司鄭州煙草研究院,鄭州高新技術(shù)產(chǎn)業(yè)開發(fā)區(qū)楓楊街2 號 450001
2. 四川中煙工業(yè)有限責任公司長城雪茄煙廠,四川省什邡市鎣華山路南段128 號 618400
隨著我國雪茄煙需求量的快速增長,傳統(tǒng)人工卷制雪茄煙已經(jīng)難以滿足國內(nèi)消費市場,機制雪茄煙成為當前消費熱點。機制雪茄煙采用機器制作茄芯,再通過手工或機器卷制的方式包裝茄套和茄衣[1]。在機制雪茄煙裝盒過程中,為避免出現(xiàn)煙支缺支、斷殘、破損等質(zhì)量問題,目前主要依賴人工目測的方式對小盒內(nèi)煙支進行檢驗,存在勞動量大、人工成本高及檢驗標準不統(tǒng)一等問題,難以滿足檢測精度和實時性要求。近年來,煙草行業(yè)廣泛采用高效、精準、抗干擾能力強的機器視覺技術(shù)[2-4]開展煙草病害識別、煙葉成熟度識別和等級劃分、傳統(tǒng)卷煙外觀質(zhì)量缺陷檢測等工作,有效提高了工作效率。陳智斌等[5]采用深度學習方法自動識別卷煙牌號,識別正確率達到了98%,為卷煙零售數(shù)據(jù)自動化采集提供了技術(shù)支持;劉延鑫等[6]建立了基于YOLOv3 的煙草病害檢測模型,實現(xiàn)了對5種常見煙草病害的精準快速檢測;汪睿琪等[7]使用YOLOv5模型對上、中、下3個部位5個成熟度的煙葉圖像進行訓練并建立煙葉成熟度識別模型,實現(xiàn)了對鮮煙葉成熟度的有效、準確判定;魯鑫等[8]采用傳統(tǒng)圖像處理方法對條盒煙透明塑料包裝上的拉線頭進行檢測后,利用改進的YOLOv4 模型進行二次復檢,解決了工業(yè)場景下拉線頭缺陷檢測誤報率高的問題;袁國武等[9]基于ResNeSt模型建立了一種煙支外觀缺陷分類方法,準確率達到了92.04%;肖雷雨等[10]基于改進的YOLOv3 模型建立了一種煙梗在線分類識別模型,煙梗識別精確率達到了95.01%;劉鴻瑜等[11]對YOLOv5s 模型改進后建立煙支外觀缺陷檢測方法,平均檢測速度達到4.7 ms/支。目前,針對雪茄煙的缺陷檢測研究較少,金懷國等[12]基于機器視覺技術(shù)建立的雪茄煙質(zhì)量檢測裝置僅能識別缺支、斷殘等缺陷煙支而無法有效識別破損煙支。為此,結(jié)合圖像形態(tài)學處理技術(shù)和深度學習建立盒裝機制雪茄缺陷的分類視覺檢測方法,對特征明顯的斷殘、缺支缺陷和不同程度的破損缺陷進行分類檢測,以期提高雪茄煙包裝生產(chǎn)品質(zhì)。
“長城雪茄Mini”牌機制雪茄煙,10 支/盒,鐵制小盒包裝,由四川中煙工業(yè)有限責任公司長城雪茄廠提供。
REX 背式包裝機(荷蘭皇家阿吉奧雪茄公司);A7A20CG9 工業(yè)相機(浙江華睿科技股份有限公司),分辨率4 096 px×3 000 px,感光芯片為IMX304,像素位深度12 bit,圖像采集軟件為MV viewer,相機曝光量為11 000 lx·s,亮度90 cd/m2,飽和度100%。
在雪茄煙包裝機煙支裝盒和合盒之間的傳輸通道上設置圖像采集工位并安裝A7A20CG9 工業(yè)相機,采集雪茄煙盒(未合盒)圖像。①缺支、斷殘檢測數(shù)據(jù)集:取70 個雪茄煙盒并拍攝圖像,包含無缺陷樣本10 個,人為制造缺支、斷殘缺陷樣本各30 個。②破損檢測數(shù)據(jù)集:取210個人為制造破損缺陷雪茄煙盒并拍攝圖像,包含明顯破損[破損面積>(3 mm×3 mm)]、不明顯破損[破損面積<(2 mm×2 mm)]和微明顯破損(介于明顯破損與不明顯破損之間)樣本各70 個(圖1),從3 種破損程度的圖像中各挑選60張采用數(shù)據(jù)增強的方式擴充至1 080 張,并按9∶1 劃分為訓練集和驗證集。將剩余30 張破損圖像和70張缺支、斷殘圖像作為測試集。兩個數(shù)據(jù)集各類型圖像數(shù)量見表1。
表1 缺支、斷殘檢測和破損檢測數(shù)據(jù)集Tab.1 Dataset of missing and broken cigars and dataset of damaged cigars(張)
圖1 雪茄煙不同破損程度示意圖Fig.1 Schematic diagram of cigars with damages of different degrees
對獲取的圖像進行霍夫變換[13]后,使用邊緣檢測和最小外接矩形法[14]對雪茄煙缺支、斷殘兩種較為明顯的特征進行識別,判斷煙盒內(nèi)煙支數(shù)量以及煙支長度是否符合要求;利用改進的YOLOv5s深度學習模型[7]對原始圖像進行檢測,判斷煙支是否存在破損缺陷。
1.3.1 缺支、斷殘檢測方法
1.3.1.1 方法建立
①基于霍夫變換的目標區(qū)域定位方法對原始缺支圖像(圖2a)、斷殘圖像(圖2b)進行預處理,提取包含煙支的目標區(qū)域(圖2c、2d),減少周邊物體對圖像的干擾。②讀取目標區(qū)域,對圖像進行灰度化、二值化以及形態(tài)學等預處理,然后對處理后圖像進行邊緣檢測;針對邊緣位置使用最小外接矩形法得到煙支的外接矩形(圖2e、2f),統(tǒng)計生成的最小外接矩形個數(shù),通過判斷矩形個數(shù)是否小于煙支數(shù)量(10支)來確定是否存在缺支情況。③統(tǒng)計煙支外接矩形的長度,采用最大值Lmax作為正常煙支長度,計算Li-Lmax與Lmax的比值ηi,若ηi≥斷殘比閾值則判斷為斷殘煙支,否則判斷為正常煙支。斷殘比閾值的確定方法:收集正常與斷殘煙支樣品并統(tǒng)計煙支長度,確定正常煙支長度分布在7.2~7.4 cm,斷殘煙支長度分布在5.4~5.9 cm,計算可得斷殘比(斷殘煙支與正常煙支的長度差值/正常煙支長度)最小值為0.18%,即為斷殘比閾值。
圖2 盒裝機制雪茄缺支、斷殘缺陷圖像檢測結(jié)果Fig.2 Image inspection results of missing and broken machine-made cigars in packets
1.3.1.2 方法評估
對表1 中缺支、斷殘檢測數(shù)據(jù)集中的70 張圖像進行檢測,記錄每個樣本的檢測結(jié)果和檢測時間ti(i=1,2,3,…,70),統(tǒng)計缺支、斷殘、無缺陷3種樣本的識別準確率,根據(jù)公式(1)計算該檢測方法的檢測速率。
1.3.2 破損檢測模型
1.3.2.1 模型建立
由于破損特征沒有明確的檢測指標且雪茄茄衣顏色不均勻,圖像二值化處理難度較大,因此無法采用傳統(tǒng)的圖像處理技術(shù)識別破損煙支。本研究中采用基于深度學習的YOLOv5s 模型對破損煙支進行檢測。破損檢測數(shù)據(jù)集中,煙支破損面積尺寸較小,為提高檢測能力,在YOLOv5s模型的backbone部分引入了金字塔壓縮注意力機制(Pyramid Squeeze Attention,PSA)[15]和EIoU 損失函數(shù)(EIoU Loss)[16]。PSA能夠在更細粒度的水平上有效提取多尺度空間信息,并能夠形成長距離的信道依賴性;EIoU 損失函數(shù)將分別計算寬度與高度的差異值取代縱橫比,可以加速收斂提高精度,并減少樣本不均衡性帶來的影響。計算公式為:
式中:LEIoU代表EIoU 損失函數(shù)值;IoU 代表預測框與真實框的交并比;ρ(b,bgt)代表預測框與真實框中心點之間的歐式距離;c代表能夠同時包含預測框和真實框的最小閉包區(qū)域的對角線距離;ρ(w,wgt)代表預測框與真實框的寬度差值;cw代表預測框與真實框最小外接矩形的寬度;ρ(h,hgt)代表預測框與真實框的高度差值;ch代表預測框與真實框最小外接矩形的高度。
改進后的YOLOv5s 模型如圖3 所示。采用Focus結(jié)構(gòu)對圖像進行切片操作后,由PSA模塊對各個通道賦予權(quán)重;由CSP Darknet53和SPP池化模塊將圖像進行特征分離,并利用FPN+PAN結(jié)構(gòu)從不同尺度上對特征進行融合;通過Head檢測頭對圖像進行預測,生成目標邊界框和預測類別概率,破損檢測結(jié)果見圖4。為避免將雪茄煙支上的茄衣脫落錯誤識別為破損缺陷,同時能夠準確識別破損樣本,設置了不同置信度閾值,可以統(tǒng)計各閾值下明顯破損、微明顯破損、不明顯破損以及無破損樣本的識別準確率。
圖3 改進后的YOLOv5s模型結(jié)構(gòu)圖Fig.3 Structure of modified YOLOv5s model
圖4 盒裝機制雪茄破損缺陷檢測結(jié)果Fig.4 Inspection results for damaged machine-made cigar in packet
1.3.2.2 模型評價指標
采用精確率P(Precision)、召回率R(Recall)、某一類別平均準確率AP(Average Precision)、多類別平均準確率mAP(mean Average Precision)和每秒傳輸幀數(shù)FPS(Frames Per Second)評估模型表現(xiàn)[17]。
1.3.2.3 環(huán)境配置及參數(shù)
在Windows 11 操作系統(tǒng)上搭建Python3.9.16 和torch-1.12.1+cu113 深度學習框架并完成模型訓練。對訓練集圖像進行數(shù)據(jù)增強(旋轉(zhuǎn)、翻轉(zhuǎn)、高斯噪聲、增量、裁剪),增加圖像樣本的豐富性。模型訓練后,保存驗證精度最優(yōu)模型,并使用測試集來評價模型的泛化能力。
采用SGD 優(yōu)化器對網(wǎng)絡進行優(yōu)化,初始學習率設置為0.01,圖像批處理大小為8,最大迭代次數(shù)為300 輪,權(quán)重衰減率為0.000 5。采用遷移學習的方法,加載YOLOv5s的預訓練權(quán)重。
硬件采用Interl Corei7-12700KF CPU@64 位3.60 GHz,128 GB RAM,NVIDIA GeForce RTX 3060 12 143 MB GPU。
對表1 中缺支、斷殘檢測數(shù)據(jù)集中的70 張圖像進行測試,得到平均檢測速率為21幀/s,各類型樣本識別準確率均為100%??梢?,該方法可以準確識別缺支、斷殘和無缺陷樣本。
2.2.1 模型訓練結(jié)果
圖5 為改進后YOLOv5s 模型的Loss 曲線和mAP曲線??梢?,模型損失值Loss隨訓練輪數(shù)的增加而快速降低,并在50輪訓練之后逐漸趨于穩(wěn)定;多類別平均準確率mAP 在50 輪之前快速上升并存在波動,100 輪之后逐漸趨于穩(wěn)定,說明改進后模型對于破損缺陷的識別性能良好。
圖5 改進后YOLOv5s模型訓練結(jié)果Fig.5 Training results of modified YOLOv5s model
通過消融實驗對比改進前后YOLOv5s 模型性能,結(jié)果見表2??梢?,在原始YOLOv5s模型中引入EIoU損失函數(shù)后,模型精度P提高0.87百分點,召回率R無變化,AP值降低0.34百分點,F(xiàn)PS降低4幀/s;引入PSA 模塊后,模型精度P 提高0.87 百分點,AP值提高0.01百分點,召回率R無變化,F(xiàn)PS降低2幀/s;同時引入EIoU 損失函數(shù)與PSA 模塊后,模型精度P提高1.80百分點,AP值提高1.56百分點,召回率R提高0.93 百分點,F(xiàn)PS 降低7 幀/s。表明改進后模型具有更好的性能,結(jié)合缺支、斷殘檢測速率為21 幀/s,得到本研究中建立的分類視覺檢測方法對單張圖像的缺陷檢測時間為0.080 s,可以滿足機制盒裝雪茄缺陷的實時檢測要求。
表2 不同檢測模型的性能對比Tab.2 Performance of different inspection models
2.2.2 模型檢測結(jié)果
利用改進后YOLOv5s模型對表1中的100張測試集圖像進行破損預測,結(jié)果見圖6。可見,改進后模型可以準確識別雪茄煙支中明顯、微明顯和不明顯3種破損缺陷,預測置信度均>0.5,對于明顯破損的檢測精度最高。如表3 所示,置信度閾值為0.50時,破損檢測模型對3種破損樣本的識別準確率均為100%,而對無損樣本的識別準確率僅為94.28%,核對后發(fā)現(xiàn)識別錯誤的無損樣本是將煙支上的雜色區(qū)域錯誤識別為破損缺陷;置信度閾值為0.70時,破損檢測模型對3種破損樣本的識別準確率隨破損面積的減小而降低,但對無損樣本的識別準確率達到100%;置信度閾值為0.55~0.65 時,破損檢測模型對無損樣本和3 種破損樣本的識別準確率均為100%。因此,將置信度閾值設定為0.60。
表3 不同置信度閾值下破損檢測模型的識別準確率Tab.3 The identification accuracy of the damaged cigar inspection model at different confidence thresholds
圖6 破損檢測模型的檢測結(jié)果Fig.6 Inspection results of the model for damaged cigars
針對機制雪茄裝盒過程中存在的斷殘、缺支和破損等缺陷檢測問題,結(jié)合圖像形態(tài)學處理技術(shù)和深度學習建立了一種分類視覺檢測方法。結(jié)果表明:①通過提取盒裝雪茄煙支輪廓和各煙支外接矩形建立的煙支缺支、斷殘檢測方法,對缺支、斷殘、無損3 種樣本的識別準確率均為100%。②在YOLOv5s 模型中引入PSA 注意力機制與EIoU 損失函數(shù)建立煙支破損檢測模型,與改進前YOLOv5s模型相比,檢測精度和召回率分別提高1.80 和0.93 百分點;將模型置信度閾值設置為0.60時,對無損樣本和3種破損樣本的識別準確率均為100%。③采用本研究中建立的分類視覺檢測方法代替人工目測對盒裝機制雪茄缺陷進行檢測,單張圖像測試時間為0.080 s,可以實現(xiàn)對盒裝機制雪茄缺陷的實時檢測。