王端生,管一弘,楊雄飛,崔云月,羅亞桃,黃 崗
(1.昆明理工大學(xué) 理學(xué)院,云南 昆明 650500;2.昆明聚林科技有限公司,云南 昆明 650000)
在煙支生產(chǎn)過程中,難免由于各種原因?qū)е聼熤毕?,從而造成?jīng)濟(jì)損失。因此,檢測煙支是否存在缺陷是生產(chǎn)過程中必不可少的重要環(huán)節(jié)。同時,分析缺陷產(chǎn)生的原因也是預(yù)防缺陷的有效手段。目前,檢測煙支缺陷的方法主要有2018 年肖峙宇等運(yùn)用MATLAB 平臺提供的邊緣算子、濾波、去噪、灰度值處理等方法檢測煙支,檢測準(zhǔn)確率達(dá)到84.7%。2018 年楊鈺煊等采用各種邊緣檢測方法結(jié)合閾值分割進(jìn)行瑕疵檢測,發(fā)現(xiàn)當(dāng)參數(shù)值為0.35 時,圖像檢測效果最佳。2019 年周明等將CCD 線陣相機(jī)和視覺算法相結(jié)合檢測煙支,準(zhǔn)確率高達(dá)90%。以上方法雖然可有效檢測煙支的缺陷,但檢測效率和精度仍有待提高。
多神經(jīng)網(wǎng)絡(luò)是一種由VGG19 神經(jīng)網(wǎng)絡(luò)和YOLOV3 神經(jīng)網(wǎng)絡(luò)組合而成的網(wǎng)絡(luò)模型,可將兩者相互結(jié)合,充分發(fā)揮兩者優(yōu)勢。基于此,本文提出了多神經(jīng)網(wǎng)絡(luò)的煙支缺陷分類與定位方法,如圖1 所示。
首先對煙支數(shù)據(jù)集進(jìn)行圖像預(yù)處理;再采用改進(jìn)VGG19 網(wǎng)絡(luò)對煙支是否存在缺陷進(jìn)行預(yù)測,利用YOLOV3網(wǎng)絡(luò)對煙支進(jìn)行缺陷定位和類別判定;最后根據(jù)缺陷類別統(tǒng)計(jì)結(jié)果推斷缺陷原因,查找易產(chǎn)生缺陷的工藝步驟。
Fig.1 Model flow圖1 模型流程
VGG19 神經(jīng)網(wǎng)絡(luò)由輸入層、多個卷積層、多個池化層、三個全連接層和輸出層組成,通過正向傳播和反向傳播更新網(wǎng)絡(luò)權(quán)重,主要采用同樣大小的卷積核尺寸和最大池化層尺寸,并采用多個3×3 的卷積核代替更大的卷積核,提升了網(wǎng)絡(luò)深度、減少網(wǎng)絡(luò)參數(shù)計(jì)算量。同時由于VGG19 網(wǎng)絡(luò)足夠深,結(jié)構(gòu)簡潔、易用性強(qiáng),提取圖像特征的效果較好,因此本文選取VGG19 網(wǎng)絡(luò)進(jìn)行研究測試。
(1)數(shù)據(jù)預(yù)處理。圖像采集:利用海康威視CCD 工業(yè)線陣相機(jī)采集煙支一周圖像,如圖2 所示。
Fig.2 CCD camera to obtain full image of cigarette圖2 CCD 相機(jī)獲取煙支一周圖
數(shù)據(jù)歸一化:將所有數(shù)據(jù)樣本特征值歸一化到0~1之間,從而保證數(shù)據(jù)樣本的原有性。歸一化公式為:
x
*為歸一化的樣本數(shù)據(jù)值,x
為原有樣本數(shù)據(jù)值,max 為樣本數(shù)據(jù)的最大值,min 為樣本數(shù)據(jù)的最小值。(2)數(shù)據(jù)集劃分。數(shù)據(jù)集按7∶2∶1 劃分為訓(xùn)練集、驗(yàn)證集和測試集。
(3)構(gòu)建VGG19 網(wǎng)絡(luò)模型。配置網(wǎng)絡(luò)中隱含層及每層的神經(jīng)元個數(shù),將最后一個SoftMax 層的參數(shù)1×1×1 000改為1×1×2,同時搭建正反向傳播網(wǎng)絡(luò)。
(4)目標(biāo)損失Loss 計(jì)算與結(jié)果分類預(yù)測。模型采用交叉熵?fù)p失函數(shù)計(jì)算損失,Loss 數(shù)據(jù)可直觀呈現(xiàn)模型訓(xùn)練的好壞程度。網(wǎng)絡(luò)模型的最后一層設(shè)置SoftMax 分類器,對煙支質(zhì)量進(jìn)行二分類預(yù)測,SoftMax 分類器采用Logistic 回歸模型預(yù)測煙支是否合格,合格煙支標(biāo)簽值為1,缺陷煙支標(biāo)簽值為0。
(5)剔除缺陷煙支。模型識別出的缺陷煙支,可向剔除裝置發(fā)送協(xié)議信息,將缺陷煙支進(jìn)行剔除,保證煙支生產(chǎn)質(zhì)量。
(6)缺陷煙支圖像獲取。保存模型識別的缺陷煙支圖像,作為后續(xù)YOLOV3 網(wǎng)絡(luò)的數(shù)據(jù)集,進(jìn)行缺陷煙支定位和類別分析,查找易產(chǎn)生缺陷的工藝步驟。
YOLOV3 是用于目標(biāo)檢測和定位的神經(jīng)網(wǎng)絡(luò),可通過標(biāo)記圖中目標(biāo)樣本類別進(jìn)行模型訓(xùn)練,實(shí)現(xiàn)目標(biāo)檢測和定位。YOLOV3 網(wǎng)絡(luò)構(gòu)建、訓(xùn)練和測試的具體步驟如下:
(1)數(shù)據(jù)集獲取與數(shù)據(jù)預(yù)處理。通過VGG19 網(wǎng)絡(luò)分類后的缺陷煙支圖像如圖3 所示。對VGG19 網(wǎng)絡(luò)分類的缺陷煙支圖像進(jìn)行預(yù)處理,利用圖像增強(qiáng)和圖像清洗技術(shù)擴(kuò)展模型的泛化性,并按7∶2∶1 劃分訓(xùn)練集、驗(yàn)證集和測試集。
Fig.3 Defective cigarette圖3 缺陷煙支
(2)特征提取。構(gòu)建模型后,提取煙支缺陷圖像特征,YOLOV3 特征提取的主干網(wǎng)絡(luò)基于Darknet-53,核心為殘差卷積。Darknet-53 主干網(wǎng)絡(luò)通過多個殘差塊堆疊而成,在YOLOV3 網(wǎng)絡(luò)中主要利用Darknet-53 最后3個殘差塊進(jìn)行目標(biāo)特征提取,根據(jù)提取的特征層進(jìn)行候選框線性回歸預(yù)測,使最后的anchor(候選框)都具有真實(shí)目標(biāo)對象。
(3)IOU 結(jié)果篩選。YOLOV3 網(wǎng)絡(luò)在定位煙支缺陷時,由于檢測概率不同,可能會對同一目標(biāo)產(chǎn)生多個anchor,因此會存在同一個目標(biāo)被多個anchor 重疊標(biāo)記的情況,如圖4-圖6 所示。
Fig.4 Macular defect圖4 黃斑缺陷
Fig.5 Puncture defect圖5 刺破缺陷
Fig.6 Wrinkle defect圖6 褶皺缺陷
為了解決上述問題,需要采用非極大值抑制算法(NMS),尋找置信度最高的anchor,具體步驟如下:①排序目標(biāo)邊界框置信度,將置信度最高的anchor 添加至最終邊界框輸出列表,并在目標(biāo)邊界框列表中刪除該anchor;②計(jì)算所有anchor 面積及置信度最高的anchor 與其他anchor 的交并比;③刪除交并比大于閾值的anchor,本文IOU 的閾值設(shè)置為0.5;④重復(fù)上述①—③過程,直到目標(biāo)邊界框列表為空。
(4)模型損失。本文提出的模型損失Loss=BLoss+OLoss+CLoss,其中,BLoss 是目標(biāo)檢測框xywh 偏移量計(jì)算的誤差損失,OLoss 是目標(biāo)檢測置信度與IOU(交并比)計(jì)算的誤差損失,CLoss 是目標(biāo)類別分類計(jì)算的誤差損失。計(jì)算公式如式(2)—式(4)所示:
本文采集1 000 張煙支數(shù)據(jù)集圖像進(jìn)行建模,第一組合格煙支500 張,缺陷煙支500 張。其中,Train 樣本集700張,合格煙支350 張,缺陷煙支350 張;Val 樣本集200 張,合格煙支100 張,缺陷煙支100 張;Test 樣本集100 張,合格煙支50 張,缺陷煙支50 張。第二組合格煙支300 張,缺陷煙支700 張。其中,Train 樣本集700 張,合格煙支210 張,缺陷煙支490 張;Val 樣本集200 張,合格煙支60 張,缺陷煙支140 張;Test 樣本集100 張,合格煙支30 張,缺陷煙支70 張。利用VGG19 網(wǎng)絡(luò)對上述數(shù)據(jù)進(jìn)行訓(xùn)練,不同組別數(shù)據(jù)集訓(xùn)練準(zhǔn)確率和損失結(jié)果如表1 所示。
根據(jù)表1 數(shù)據(jù)統(tǒng)計(jì),第一組數(shù)據(jù)集劃分方式分類效果最好,VGG19 網(wǎng)絡(luò)經(jīng)過多次迭代訓(xùn)練準(zhǔn)確率越來越高,預(yù)測值與真實(shí)值越來越接近,訓(xùn)練的準(zhǔn)確率和損失曲線如圖7-圖10 所示。
實(shí)驗(yàn)證明,本文提出的模型能較好識別煙支缺陷并進(jìn)行分類,識別平均準(zhǔn)確率為97.6%。針對不同品牌的煙支檢測時,當(dāng)煙支缺陷較明顯時,檢測準(zhǔn)確率為100%,部分檢測效果如圖11 所示。其中,標(biāo)簽為1 的合格圖像在左側(cè)輸出ok,標(biāo)簽為0 的缺陷圖像在左側(cè)輸出ng。
Table 1 Cigarette defect classification training results表1 煙支缺陷分類訓(xùn)練結(jié)果
Fig.7 Training set accuracy curve圖7 訓(xùn)練集正確率曲線
Fig.8 Training set model loss curve圖8 訓(xùn)練集模型損失曲線
Fig.9 Validation set accuracy curve圖9 驗(yàn)證集正確率曲線
Fig.10 Validation set model loss curve圖10 驗(yàn)證集模型損失曲線
Fig.11 VGG19 network prediction results圖11 VGG19 網(wǎng)絡(luò)預(yù)測結(jié)果
模型將缺陷煙支分為3 類:刺破(對應(yīng)標(biāo)簽cp)、黃斑(對應(yīng)標(biāo)簽hb)和褶皺(對應(yīng)標(biāo)簽zc)。本文數(shù)據(jù)集選用VGG19 網(wǎng)絡(luò)中的500 張缺陷煙支圖像,其中VGG19 網(wǎng)絡(luò)用來測試的70 張缺陷煙支(cp:20 張、hb:20 張、zc:30 張)圖像同樣作為測試集,剩余的430 張缺陷煙支(cp:140 張、hb:140 張、zc:150 張)圖像隨機(jī)劃分280 張(cp:90 張、hb:90張、zc:100 張)作為訓(xùn)練集,剩余150 張(cp:50 張、hb:50 張、zc:50 張)作為驗(yàn)證集。利用搭建的YOLOV3 模型對上述數(shù)據(jù)進(jìn)行訓(xùn)練,訓(xùn)練結(jié)果曲線如圖12 所示。
Fig.12 YOLOV3 model loss curve圖12 YOLOV3 模型損失曲線
由圖12 可見,損失函數(shù)Loss 隨迭代次數(shù)Epoch 增加而減少,Loss 曲線在前20個Epoch 快速降低,隨后緩慢下降,最后趨于穩(wěn)定。利用模型集測試70 張缺陷煙支,準(zhǔn)確率為96.8%,定位準(zhǔn)度良好,均能定位缺陷位置和識別缺陷類別,預(yù)測結(jié)果如下圖13-圖15 所示。
Fig.13 Macular cigarette defect prediction圖13 黃斑煙支缺陷預(yù)測
Fig.14 Pricked cigarette defect prediction圖14 刺破煙支缺陷預(yù)測
Fig.15 Folded cigarette defect prediction chart圖15 褶皺煙支缺陷預(yù)測
本文提出根據(jù)缺陷類別和缺陷定位分析,查找易產(chǎn)生缺陷的工藝步驟。分析圖13 的煙支缺陷,圖像成斑點(diǎn)分布,大概率為煙絲原料問題;若成條狀分布,大概率為卷接機(jī)組問題。分析圖14 的煙支缺陷,圖像僅有刺破無褶皺,大概率為二次風(fēng)分裝置故障;若圖像同時含有刺破和褶皺,則大概率為搓板與搓接鼓輪之間發(fā)生故障。分析圖15的煙支缺陷,褶皺可能產(chǎn)生在整個卷接機(jī)組中,無法具體判定故障部位,需要現(xiàn)場排查。
本文提出基于多神經(jīng)網(wǎng)絡(luò)的煙支缺陷分類與定位方法。先通過VGG19 網(wǎng)絡(luò)進(jìn)行缺陷分類,再利用YOLOV3 網(wǎng)絡(luò)進(jìn)行缺陷定位和缺陷類別分析,查找易產(chǎn)生缺陷的工藝步驟。通過實(shí)驗(yàn)數(shù)據(jù)測試結(jié)果表明,該模型能準(zhǔn)確預(yù)測、剔除缺陷煙支,同時根據(jù)缺陷類別可初步推斷易產(chǎn)生缺陷的工藝步驟,為煙草企業(yè)和相關(guān)領(lǐng)域提供了一定的參考。當(dāng)然,煙支缺陷類別眾多,而本文僅選取三個類別進(jìn)行研究分析,還有待進(jìn)一步研究。