高 舉,李永祥,徐雪萌
(河南工業(yè)大學(xué),鄭州 450001)
從20 世紀(jì)60年代由PP/PE 塑料編織袋的專利產(chǎn)生為起點(diǎn),塑料編織袋得到廣泛的研究與發(fā)展[1]。70年代末,隨著改革開放,塑料編織袋開始從國外被引進(jìn)國內(nèi),并快速運(yùn)用到食品包裝行業(yè)、農(nóng)業(yè)糧食存儲(chǔ)、化工行業(yè)、建筑行業(yè)等的外包裝[2]。近年來,隨著工業(yè)4.0 的提出與發(fā)展,智能化發(fā)展越來越受到青睞,智能化包裝生產(chǎn)線中運(yùn)輸、供袋、填充、稱量、密封等工序已經(jīng)發(fā)展成熟[3]。在密封過程中,由于生產(chǎn)線設(shè)備、環(huán)境等方面的不良因素影響,密封后編織袋縫線容易出現(xiàn)跳線、傾斜、兩端留線長短不合格、縫線到編織袋邊界距離不合適等瑕疵。密封后檢測(cè)即編織袋縫線缺陷識(shí)別正確率對(duì)編織袋包裝產(chǎn)品質(zhì)量有著至關(guān)重要的影響,如果發(fā)現(xiàn)不及時(shí)會(huì)產(chǎn)生缺陷產(chǎn)品,造成生產(chǎn)資源浪費(fèi);一旦進(jìn)入市場流通,會(huì)損害消費(fèi)者對(duì)產(chǎn)品的印象,造成一定的經(jīng)濟(jì)損失[4]。
當(dāng)前對(duì)編織袋質(zhì)量檢測(cè)有著一定的研究基礎(chǔ)。潘宇等[5]提出了一種基于圖像處理確定角點(diǎn)位置的方法來識(shí)別編織袋平面大小及位置的方法;遲歡[6]分析了編織袋缺陷的類型,采用機(jī)器視覺的在線檢測(cè)來識(shí)別編織袋孔洞以及拉絲缺陷;張?zhí)旌瘢?]基于機(jī)器視覺對(duì)重疊編織袋進(jìn)行識(shí)別,為機(jī)器人碼垛提供方法。在相關(guān)的機(jī)器視覺研究中,研究人員把技術(shù)應(yīng)用于外包裝印刷品表面缺陷等的質(zhì)量檢測(cè)[8],編織袋縫合的質(zhì)量檢測(cè)還比較缺乏。在線檢測(cè)的工作效率直接影響包裝生產(chǎn)線的智能化過程,因此采用Matlab 中的數(shù)字圖像處理方法來實(shí)現(xiàn)編織袋縫線的校正、裁剪分割以及特征提取,然后采用模式識(shí)別與之相結(jié)合的方法達(dá)到編織袋縫線缺陷識(shí)別與檢測(cè)的目的。
圖像采集對(duì)機(jī)器視覺檢測(cè)系統(tǒng)的設(shè)計(jì)有著至關(guān)重要的作用,作為一個(gè)檢測(cè)系統(tǒng)的開始階段,圖像采集的好壞直接影響圖像處理與特征提取。光源主要分為前向照明和背向照明,考慮到編織袋表面反光,為減少噪聲,系統(tǒng)采用白色條形LED燈前向照明來提高圖像的質(zhì)量。常用的工業(yè)相機(jī)大部分是基于CCD 和COMS 芯片的相機(jī),COMS比CCD 工業(yè)相機(jī)成本低、圖像傳輸快。快門類型分為全局快門和滾動(dòng)快門,由包裝生產(chǎn)線設(shè)備條件可知,在運(yùn)動(dòng)狀態(tài)下采集圖像,選用全局快門。根據(jù)編織袋尺寸以及物距可知,視野所需寬度為550 mm,高度為200 mm,采用邁德威視產(chǎn)品,工業(yè)相機(jī)采用型號(hào)為MV-SUF1205GCM-T,鏡頭采用型號(hào)為MV-LD-16-10M-B。研發(fā)編織袋缺陷檢測(cè)系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 編織袋缺陷檢測(cè)系統(tǒng)結(jié)構(gòu)圖Fig.1 Structure diagram of woven bag defect detection system
編織袋材料采用PP 顆粒聚丙烯,封口縫制采用鏈?zhǔn)杰壽E,編織袋在縫紉過程中,正確類型編織袋縫線如圖2(a)。當(dāng)縫合不正確時(shí),縫線主要有6 種缺陷類型,如圖2(b)-2(g)所示。
圖2 編織袋縫合類型Fig.2 Types of sutures in woven bags
特征提取意義在于把每一個(gè)缺陷與正常圖像區(qū)分出來,為下一步識(shí)別檢測(cè)提供數(shù)據(jù)。留線長短提取細(xì)化后像素總和;跳線提取像素列為1 的最大間隔寬度像素;傾斜度提取線性擬合得到傾斜角;縫線波動(dòng)范圍提取與擬合直線相同斜率直線截距最大值和最小值時(shí)的距離差值;縫線離編織袋封口距離提取縫線行中心到上邊界的距離。
雖然在圖像采集中盡量減少噪聲影響,但由于環(huán)境復(fù)雜,必定帶來一定的噪聲干擾[9]。圖像處理在機(jī)器視覺設(shè)計(jì)中屬于最重要步驟,包含圖像預(yù)處理(灰度化、濾波去噪、二值化、形態(tài)學(xué)處理等)、閾值分割和特征提取等,最終目的是減少采集圖像所帶的噪聲干擾,使感興趣區(qū)域(ROI)更明顯,有利于特征提取。編織袋縫線識(shí)別算法流程如圖3所示。
圖3 編織袋縫線識(shí)別算法流程Fig.3 Algorithm flow of woven bag sewing line recognition
2.2.1 圖像處理算法研究
在傳送帶輸送過程中,圖像采集模塊采集圖像有可能產(chǎn)生傾斜,對(duì)特征提取有較大影響。為提高圖像質(zhì)量,采用傾斜校正預(yù)處理。校正算法通常有Radon 和Hough 變換2 種形式[10],都與圖像中直線有關(guān),直線用極坐標(biāo)形式表示為:
式中 x,y——像素點(diǎn)位置;
θ——直線角度;
ρ——從原點(diǎn)到直線的距離。
Radon 校正是一種通過計(jì)算每一個(gè)圖像像素點(diǎn)到不同參數(shù)直線的線積分(或投影)最大值時(shí)的角度,從而確定圖像傾斜角度的算法。Hough校正是通過直線極坐標(biāo)形式,尋找參數(shù)最大重疊點(diǎn)對(duì)應(yīng)的角度進(jìn)行圖像傾斜矯正。在Matlab 中Hough 變換算法為:
軟件技術(shù):在機(jī)械電氣一體化系統(tǒng)中,軟件占據(jù)著十分重要的地位。只有加強(qiáng)硬件、軟件的相互配合,使得兩者之間協(xié)調(diào)以至,才能充分發(fā)揮其作用[1]。
Radon 變換算法為:
其中Image 為邊緣檢測(cè)圖像;H 是參數(shù)的空間矩陣;theta 是角度值[0,180];R 是投影值的空間矩陣。找到H 和R 的最大值位置即能找到旋轉(zhuǎn)角度值。
為更好更快地進(jìn)行校正,在校正之前進(jìn)行圖像預(yù)處理。采集的編織袋圖像是3 維圖像,數(shù)據(jù)量較大算法,處理時(shí)間較長,對(duì)圖像進(jìn)行灰度化處理能夠減少數(shù)據(jù)量,有利于減少處理時(shí)間,且不影響信息提取。采用二值圖像形態(tài)學(xué)去噪能夠減少噪聲對(duì)邊緣的影響。校正步驟如下:
(1)編織袋二值化?;叶然S糜凶畲笾捣?、平均值法和加權(quán)平均法[11]。系統(tǒng)采用加權(quán)平均法將RGB 值轉(zhuǎn)換為灰度值,計(jì)算方法為:
其中GRAY 為轉(zhuǎn)化后灰度值,R、G、B 分別是紅、綠、藍(lán)通道的灰度圖像值。最大類間方差法(Otsu)是由日本學(xué)者OTSU 于1979年提出的一種對(duì)圖像二值化的高效算法[12]。將灰度圖像進(jìn)行基于Otsu 算法的全局閾值二值化處理得到二值圖像,將目標(biāo)與背景很好的分割,二值圖像如圖4(a)所示。
(2)二值圖像去噪。對(duì)二值圖像求解各連通區(qū)域面積,找到最大連通區(qū)域面積以減少噪聲影響。填充二值圖像中的孔洞,對(duì)圖像進(jìn)行形態(tài)學(xué)開運(yùn)算,消除兩端留線的影響和平滑邊緣的作用,減少邊緣檢測(cè)時(shí)帶來的誤差,去噪結(jié)果如圖4(b)所示。
(3)邊緣檢測(cè)。常用的邊緣檢測(cè)算子有梯度算子、Robert 算子、Sobel 算子、Canny 算子等,Canny 邊緣檢測(cè)算法是John F.Canny 于1986年提出的多級(jí)邊緣檢測(cè)算法,具有低錯(cuò)誤率、對(duì)邊緣定位準(zhǔn)確以及最小響應(yīng)的特點(diǎn),是一種最優(yōu)的邊緣檢測(cè)算法[13]。對(duì)二值去噪圖像用Canny 算子進(jìn)行邊緣檢測(cè),如圖4(c)所示。
(4)校正圖像。用Radon 或Hough 變換來確定旋轉(zhuǎn)角度,對(duì)圖像進(jìn)行旋轉(zhuǎn)操作得到校正圖像,如圖4(d)所示。
圖4 圖像校正過程Fig.4 The image correction process
用傾斜和正常編織袋圖像對(duì)校正算法進(jìn)行性能測(cè)試并對(duì)比,旋轉(zhuǎn)角度結(jié)果一樣,Hough 算法平均時(shí)間優(yōu)于Radon 算法。因此,采用Hough 算法。圖像校正過后,每一張編織袋圖都能夠以同一種顯示狀態(tài)呈現(xiàn)出來,減少圖像采集時(shí)帶來的傾斜誤差,提高圖像質(zhì)量。
在獲得校正圖像后,將圖4(d)裁剪為3 部分,分別為左端留線圖像、中間縫線圖像和右端留線圖像。
對(duì)校正后的原始圖像B 通道作為灰度化處理,然后采用Otsu 算法對(duì)圖像進(jìn)行二值化,分割出縫線的二值圖像,填充縫線二值圖像孔洞,求解各連通區(qū)域面積,把連通區(qū)域面積小于100 的定義為噪聲并消除,達(dá)到二值圖像的去噪,如圖5(a)所示。
對(duì)校正二值圖像進(jìn)行列求和,以閾值≥300判斷3 部分裁剪位置。最小的列位置即為第一個(gè)裁剪分界線,最大的列位置即為第二個(gè)裁剪分界線,即可得到左端留線二值圖像、中間縫線二值圖像和右端留線二值圖像,如圖5(b)所示。
對(duì)左、右端留線和中間縫線二值圖像進(jìn)行像素點(diǎn)為1 的位置尋找,最大和最小的列索引即為圖像的裁剪范圍;然后對(duì)裁剪后中間縫線二值圖像行求和,找到大于平均值的最小行位置索引;最后將兩端留線行最大值索引中的最小值作為中間縫線圖像的最大行裁剪范圍,編織袋圖像裁剪結(jié)束,如圖5(c)所示。
圖5 圖像裁剪過程Fig.5 The image cropping process
裁剪后,圖像分為3 部分,每一部分都帶有各自部分的特征信息,有利于特征的提取。
2.2.2 提取特征
對(duì)圖5(c)留線圖像計(jì)算二值圖像像素總和作為兩端留線長短特征。分水嶺變換,是一種基于拓?fù)淅碚摰臄?shù)學(xué)形態(tài)學(xué)分割方法[14]。細(xì)化是將二值圖像外圍像素剝離,最后只剩一個(gè)像素點(diǎn)的中間骨架過程。分析裁剪后的左、右端留線二值圖像,留線存在突出部分。首先采用分水嶺變換能夠很好地把留線長度變化提取出來;然后采用細(xì)化算法把留線長度提取出來;最后計(jì)算像素總和即為留線像素長,如圖6所示。
圖6 兩端留線特征圖像Fig.6 Feature image with lines left at both ends
對(duì)裁剪后的中間縫線圖像找到所有為1 的像素點(diǎn)位置,以像素位置點(diǎn)為坐標(biāo)進(jìn)行直線擬合得到直線斜率,即可得到傾斜角度,并用傾斜角度建立直線;用所有像素點(diǎn)位置求所有截距,可得截距最大值和最小值,即可得2 條直線距離,此為縫線的波動(dòng)范圍,如圖7(a)所示??p線二值圖像像素最小行位置和最大行位置的平均值代表縫線所在位置,即為縫線距袋口邊界的距離,如圖7(b)所示。對(duì)縫線二值圖像求列的和,尋找和為0 的位置,采用循環(huán)用后一位置值減去前一位置值,當(dāng)大于每針縫線的像素值寬度即為跳線位置特征,如圖7(c)所示。
圖7 中間縫線特征提取Fig.7 Feature extraction of middle seam
實(shí)際生產(chǎn)中,每個(gè)企業(yè)都有不同類型的產(chǎn)品,編織袋的尺寸大小、顏色不一樣。這些因素就需要構(gòu)建一種通用性比較強(qiáng)的檢測(cè)方法。之前分析的6 種缺陷類型,每個(gè)特征都有評(píng)判的標(biāo)準(zhǔn),需要采集產(chǎn)品的正確和缺陷樣本。判斷產(chǎn)品的類型是否滿足要求,需要人為把采集樣本分類為正確和缺陷來訓(xùn)練網(wǎng)絡(luò)。
由于缺陷類型較多,因此采用每一類缺陷建立判斷,在正確范圍內(nèi)輸出為1,否則為0。6 個(gè)缺陷的判斷全為1 時(shí),即把該樣本標(biāo)記為“1”(合格產(chǎn)品),反之則為“0”(缺陷產(chǎn)品)。
對(duì)于不同分類器方法,對(duì)提取的特征有著不同的性能,為找到最有效的分類器,采用支持向量機(jī)(SVM)、最近鄰分類器(KNN)、貝葉斯分類器(NB)、決策樹(DT)、集成模型、人工神經(jīng)網(wǎng)絡(luò)(ANN)6 種常用的機(jī)器學(xué)習(xí)分類器算法[15]。
試驗(yàn)所有算法都在計(jì)算機(jī)(處理器:Intel(R)Core(TM)i7-6700 CPU @ 3.40 GHz 3.41 GHz,RAM:8.00GB,Windows 10 操作系統(tǒng))上進(jìn)行,算法采用Matlab 2020b 軟件。試驗(yàn)采集1 500 張編織袋圖像,其中1 000 張用來訓(xùn)練模型,500 張用來測(cè)試訓(xùn)練模型。
SVM、KNN、NB、DT、集成模型采用5 折交叉驗(yàn)證,優(yōu)化器采用貝葉斯優(yōu)化,采集函數(shù)采用每秒期望改善(plus)。
優(yōu)化結(jié)果為集成模型,集成方法為RUSBoostedTrees 算法,最大分裂數(shù)為1,學(xué)習(xí)器數(shù)量為41,學(xué)習(xí)率為0.002。測(cè)試準(zhǔn)確度為97.8%,預(yù)測(cè)速度為~7 900 obs/s。采用此算法時(shí),圖像處理及識(shí)別平均檢測(cè)時(shí)間約為0.652 s,檢測(cè)效率約為5 521 個(gè)/h,編織袋封口機(jī)生產(chǎn)效率一般為1 800 個(gè)/h,滿足包裝生產(chǎn)要求。
通過對(duì)縫合編織袋圖像校正與裁剪,提取6 種缺陷特征建立數(shù)據(jù)庫,利用SVM、KNN、NB、DT、集成模型、ANN 算法訓(xùn)練模型。研究發(fā)現(xiàn)在集成模式中使用RUSBoostedTrees 算法最優(yōu),準(zhǔn)確率為97.8 %,平均檢測(cè)時(shí)間為0.652 s。該方法在編織袋縫合缺陷檢測(cè)中時(shí)間短、精度高,滿足生產(chǎn)要求。