李長齊,王 菡,羅 昊
(1.保山學院大數(shù)據(jù)學院,云南保山 678000;2.馬來西亞博特拉大學,馬來西亞吉隆坡 43400)
由于人在工作時會受到主觀因素和外部環(huán)境的影響,工作效率會大幅度波動,導致人工檢測的速度和質量難以保證,因此傳統(tǒng)的人工檢測方案在制造業(yè)生產中已無法滿足需求。隨著數(shù)字圖像處理技術理論的發(fā)展,將機器視覺與深度學習相結合的產品缺陷檢測解決方案被越來越多的廠家采用[1],提高了工廠自動化程度,促進了工業(yè)的智能化發(fā)展。但是研發(fā)一套價格便宜、性能穩(wěn)定的缺陷檢測系統(tǒng)依舊是值得研究的問題[2]。在網(wǎng)絡架構上,卷積神經網(wǎng)絡(CNN)在人臉識別[3]、字符識別[4]、圖像處理[5]、自然語言處理[6]等研究領域存在著大量成功的應用案列,如喬麗等[7]使用CNN進行鍵盤缺陷檢測。在硬件設計上,韓雪[8]等使用樹莓派設計了塑料紐扣次品檢測系統(tǒng),許艷[9]等發(fā)表了基于樹莓派的元器件檢測設計論文。
齒輪是機械設計領域必不可少的零件,但是生產線上出品的齒輪可能出現(xiàn)表面缺陷等質量問題,因此研發(fā)齒輪表面缺陷檢測系統(tǒng)對于保證齒輪出廠的合格率至關重要,同時還能夠彌補人工檢測的不足,所以設計一套齒輪表面缺陷檢測系統(tǒng)具有重要的意義。
文章采用廠商提供的齒輪表面缺陷圖像,選出3種主要的缺陷種類:表面臟污、斷齒和表面裂紋,進行識別分析。3種缺陷樣本如圖1所示。本文針對這3種常見的出廠缺陷進行檢測設計,不考慮其他類型的缺陷。
圖2為系統(tǒng)總體框圖?;跇漭傻凝X輪表面缺陷檢測系統(tǒng)由光電檢測模塊、圖像采集模塊、缺陷檢測模塊、次品剔除模塊和電源模塊組成。通過光電傳感器件探測目標位置是否存在齒輪,通過傳感器的輸出電平觸發(fā)樹莓派4B控制CCD相機實時采集齒輪表面圖像,圖像返回給樹莓派4B進行缺陷檢測,剔除模塊根據(jù)檢測結果去除缺陷齒輪,電源模塊為樹莓派4B供電。
圖2 系統(tǒng)總體框圖
系統(tǒng)硬件由樹莓派4B開發(fā)板、光電傳感模塊、圖像采集模塊、剔除模塊和電源模塊組成,樹莓派4B作為主控平臺協(xié)調多個模塊共同實現(xiàn)齒輪表面缺陷次品的檢測功能。
樹莓派4B作為系統(tǒng)的主控平臺,搭載缺陷檢測算法,協(xié)調多個外部設備的運行,共同實現(xiàn)次品檢測任務。樹莓派4B是一種基于BCM2711的卡片式電腦,具有豐富的外接接口,支持多種操作系統(tǒng),支持python、C/C++等多種語言編程,具有價格低,開發(fā)周期短等優(yōu)點。
光電檢測模塊的任務是檢測齒輪的位置,觸發(fā)樹莓派控制相機采集齒輪表面圖像,系統(tǒng)使用對射式光電傳感器,它的原理是如果待檢位置存在目標則會阻斷發(fā)射器的光線進入接收器,從而判斷待檢位置存在目標。系統(tǒng)采用PM-TF15/30型光電傳感器,具有安裝簡單、使用壽命長等優(yōu)點。
CCD(charge couple device)工業(yè)相機是具有電荷耦合器件的攝像機,具有體積小、靈敏度高、功耗低、壽命長、畸變小等優(yōu)點,常應用于工業(yè)生產中。系統(tǒng)采用MV-GE502C/M型相機,像素為500萬,焦距可調,使用USB3.0接口與樹莓派連接。
剔除模塊電路如圖3所示。P2為樹莓派4B外擴GPIO接口排插,由于樹莓派硬件CPU部分原理圖未開源,設計了外擴GPIO與外設連接的原理圖。樹莓派GPIO16引腳連接D2三極管基極,通過三極管驅動繼電器K1,D1為保護二極管。通過GPIO36引腳檢測光電傳感器信號,由于PM-TF15/30型光電傳感器的輸出電壓為5 V,而GPIO引腳標準電壓為3.3 V,使用2 kΩ、3 kΩ的電阻R2、R3組建分壓電路。
圖3 剔除模塊電路圖
由于樹莓派4B開發(fā)板功率為5 V/600~3 000 mA、CCD相機功率為5 V/200 mA,設計了電源電路如圖4所示。AC 220 V市電通過電源變壓器T1轉化為AC 18 V,全橋整流器D12將AC 18 V轉化為低壓直流電,C1對低壓直流電進行穩(wěn)壓,U1、U2降壓穩(wěn)壓芯片將低壓直流電轉化為5 V直流電,L為輸出電感,D9、D10為電源指示燈,P1為輸出電壓的接線端子,因為LM2576-5V最大輸出電流為3 000 mA,因此,并聯(lián)2路輸出。
根據(jù)齒輪表面圖像的紋理信息特征進行缺陷檢測。設計的缺陷檢測算法如圖5所示。首先對圖像進行雙邊濾波,得到質量良好的圖像,然后將濾波后的圖像通道進行轉換,并提取圖像的紋理特征,最后使用訓練完成的分類器對圖像進行分類,判斷齒輪表面是否存在缺陷。
一般得到原始圖像后,會對圖像進行濾波去噪處理以獲得更高質量的圖像,但是常用的濾波方法在對
圖4 電源模塊原理圖
圖5 缺陷檢測算法流程圖
圖像進行去噪的同時會不可避免地模糊邊緣信息,這樣會造成細節(jié)信息尤其是紋理信息和邊緣信息丟失,導致后續(xù)檢測出現(xiàn)極低的準確率。使用雙邊濾波能夠在濾波去噪的同時很好地保留圖像的邊緣及紋理信息。1998年,Tomasi等設計了基于高斯濾波器的改進算法,即雙邊濾波器[10]。
它將圖像的像素值相似度和空間鄰近度進行非線性組合,這樣在保證平滑圖像的同時又能夠充分保留圖像的邊緣信息。雙邊濾波器核函數(shù)由空間域核函數(shù)與像素范圍域核函數(shù)構成。其中,空間域核函數(shù)公式為
(1)
式中:(k,l)為模板窗口中心像素點的位置;(i,j)為除模板窗口外像素點的位置;σd為該位置二維高斯函數(shù)的標準差。
像素范圍域核函數(shù)公式為
(2)
式中:f(x,y)為待濾波的圖像在點(x,y)處的灰度值;σr為該位置二維高斯函數(shù)的標準差。
將上述2個核函數(shù)相乘得到雙邊濾波器的表達式:
(3)
HSV顏色模型由色調(Hue)、飽和度(Saturation)和明度(Value)3個參數(shù)組成。圖6為HSV色彩空間模型。與傳統(tǒng)的RGB色彩空間相比,HSV顏色模型可以表達出更接近于人的眼睛所感知的色彩,因此HSV顏色模型在數(shù)字圖像處理領域的應用范圍更加廣泛。RGB色彩空間中R表示紅色、G表示綠色、B表示藍色,取三者中的最大值記為MAX=max{R、G、B},取三者中的最小值記為MIN=min{R、G、B},從而可得兩種顏色空間的轉換公式為:
(4)
(5)
V=max(R,G,B)
(6)
圖6 HSV色彩空間模型
局部二值模式(LBP)是用來表達圖像局部特征的算子,它具有灰度不變性的優(yōu)點,在人臉識別和目標檢測項目中使用的比較多[11]。它的原理為:將圖像窗口中心灰度值與其T-1鄰域內像素灰度值進行比較得到結果0或1,將比較結果放入相應的鄰域位置,按逆時針方向將比較結果進行二進制編碼,然后解碼為十進制數(shù)作為窗口中心的LBP特征值。式(7)、式(8)為編碼公式。
(7)
(8)
式中:(xc,yc)為窗口中心位置的坐標;T為除窗口中心點外的像素數(shù)量(一般為8);it為T鄰域中第t個像素的灰度值;S(x)為符號函數(shù);ic為窗口中心點像素值。
由于直接提取圖像LBP特征進行缺陷檢測在后續(xù)試驗中檢測的效果并不理想,因此提出了基于HSV空間的LBP特征加權融合提取方法。圖7為算法的示意圖。首先為了獲取更多齒輪表面顏色和紋理特征,加強LBP特征的表達能力,在3×3的窗口上對H、S、V三通道的特征進行提取,為了體現(xiàn)3種通道分量對LBP特征貢獻度的不同并且歸一化LBP特征,采用加權的方式對三通道特征分量進行融合。經過多次實驗發(fā)現(xiàn)3個通道的分量按照0.5∶0.1∶0.4的關系相加在一起,后續(xù)缺陷檢測的效果最好。式(9)為三通道特征加權融合的規(guī)則。
LBP=0.5LBPH+0.1LBPS+0.4LBPV
(9)
圖7 基于HSV空間的LBP特征加權融合提取算法示意圖
首先對樣本進行處理,從廠家得到的齒輪樣本圖片經過樣本擴充,得到表1所示各類樣本的數(shù)量。
表1 各類樣本數(shù)量 張
視覺幾何群網(wǎng)絡(VGG)是牛津大學計算機視覺實驗室為了解決ImageNet中的1 000類圖像分類和定位問題提出的網(wǎng)絡結構[12]。VGG16是其中具有代表性的網(wǎng)絡架構。為了實現(xiàn)齒輪表面圖像準確分類,對VGG16結構進行了改造,由于樣本圖片大小為600×600,因此將輸入層擴大為600×600,由于輸出結果一共4類,因此輸出層大小減小為1×4,網(wǎng)絡中的隱藏層和池化層以及激活函數(shù)和損失函數(shù)沿用原始VGG16網(wǎng)絡參數(shù)。
訓練集和測試集樣本的數(shù)量按照3∶1的比例劃分。訓練初期時較大的學習率可以加速模型收斂,但是在后期訓練中卻可能導致模型不能充分收斂甚至不能收斂。過小的學習率雖然有助于模型后期的充分收斂,但會導致整個訓練過程收斂緩慢。本文采用學習率隨迭代次數(shù)增加而衰減的方式設置學習率,訓練初期設置較大的學習率0.000 5,每迭代10次學習率衰減為上個學習率的1/10,共設置n次迭代次數(shù)。當?shù)螖?shù)達到n次,則認為本次訓練結束。以保證誤差盡可能小的同時加快模型收斂速度。
設置不同迭代次數(shù)得到了圖像分類的準確率,結果如表2所示??梢钥闯觯S著迭代次數(shù)的增加,模型的誤差不斷減小,但測試集上的分類錯誤率卻先減后增,這表明在不斷增加迭代次數(shù)過程中,模型出現(xiàn)了過擬合現(xiàn)象。因為Sigmoid函數(shù)在小輸入情況下具有線性特征,但是由于迭代次數(shù)的增加,權值不斷增加,Sigmoid函數(shù)的非線性特征開始顯現(xiàn),最終訓練后期決策面過度復雜。
表2 訓練集與測試集數(shù)據(jù)
為了獲得最高的準確率,采用序號為2的模型參數(shù)作為預訓練模型,再對模型進行多次訓練。最終在迭代次數(shù)為46時,得到準確率最高的模型,準確率為96.56%。
根據(jù)以上方法,進行線上實驗,使用了527個樣本,其中表面臟污齒輪106個,斷齒齒輪187個,表面裂紋齒輪112個,正常齒輪122個,進行試驗。試驗結果如表3所示。
由表3可得,4種檢測結果正確率最高的為正常樣本的98.36%,最低的為表面裂紋樣本的87.50%,耗時最長的為表面裂紋類型的1 440 ms,平均準確率和平均耗時時間分別為94.50%和1 435 ms。說明設計的系統(tǒng)在齒輪表面缺陷檢測準確率和速度上具有實用意義,能夠為工業(yè)齒輪表面缺陷檢測方案設計提供借鑒。
表3 齒輪表面缺陷檢測結果
本文以齒輪表面缺陷人工檢測效率低的問題為出發(fā)點,設計了基于樹莓派的齒輪表面缺陷檢測系統(tǒng)。設計了缺陷檢測算法,完成了硬件設計分別對齒輪表面臟污、斷齒、表面裂紋和正常4種類型檢測結果的正確率和消耗時間進行了分析,平均正確率和時間分別為94.50%和1 435 ms。說明設計的系統(tǒng)能夠基本滿足企業(yè)對齒輪缺陷檢測的需求,對提高企業(yè)生產效率、降低生產成本、提升產品質量具有重要意義。