楊 哲, 卜子渝, 劉純平
(1.蘇州大學計算機科學與技術學院,江蘇 蘇州 215006;2.江蘇省計算機信息處理技術重點實驗室,江蘇 蘇州 215006)
機器視覺是人工智能的一個重要分支,具有非接觸、低成本、高效率和安全可靠等優點,在制造業中主要用于尺寸測量[1-2]、物體定位[3-4]和缺陷檢測[5-6]等。目前,基于機器視覺的缺陷檢測正逐漸取代人工在智能制造中廣泛應用[7],如焊接檢測[8]、涂裝檢測[9]、印刷檢測[10-11]、軌道檢測[12]、包裝檢測[13-14]等。隨著效率、精度和穩定性等方面性能的提升,機器視覺在智能制造領域的應用將越來越廣泛,機器視覺方面的人才需求持續增加。
機器視覺課程在新工科專業教學體系中有著重要作用,涉及圖像處理、自動控制、模式識別等課程的知識,需要綜合運用理論知識與操作技能,具有綜合性、系統性和操作性強的特點。因此,各高校結合自身的學?;蛐袠I特色,對機器視覺課程進行了教學改革和探索,包括實驗系統開發[15-18],教學項目設計[19]和教學模式探索[20]等。
根據我校新工科專業建設的要求,以智能制造過程中激光雕刻缺陷檢測的需求和過程為案例,對機器視覺綜合實踐課程的內容和過程進行了教學設計,豐富了機器視覺課程的實踐教學資源,對于提高學生的專業理論、實踐技能和工程素養有較好的促進作用。
機器視覺是用機器代替人做測量和判斷,一般先通過攝像裝置將待測目標轉換成圖像信號,傳送給圖像處理系統,得到目標的形態信息;再根據像素分布和亮度、顏色等信息,轉變成數字信號;圖像系統對這些信號進行各種運算來抽取目標的特征,進而根據判別的結果來控制現場的設備動作。
設計的基于機器視覺的激光雕刻缺陷檢測實踐教學體系如圖1所示,包含4個環節,8個任務,分為3個層次的難度要求。實踐環節根據課程需要用到的知識內容進行劃分,涵蓋了硬件基礎、程序設計、圖像處理、自動控制和模式識別等先導課程。實踐任務是每個環節中學生需要完成的具體內容,學生以3或4人為1小組,合作完成8個任務,難度要求分成基礎性、綜合性和創新性訓練3個層次。
課程所需的硬件設備,包括工業相機、環形光源、激光雕刻機、傳送帶(含電動機)、繼電器、計算機等。工業相機型號為BASLER acA3800-10gm,分辨率為3840×2748,幀速率為10 f/s。光源為環形白光,24 V供電。激光雕刻機型號為VigoTec VG-L5,工作有效尺寸A5幅面(19 cm×13 cm)。傳送帶長50 cm、寬20 cm,繼電器型號為TCP-KP-I202。
軟件使用PyQt5進行開發和集成,需要使用第三方庫和開源框架包括TensorFlow2.1,OpenCV 4.5,Paddlepaddle2.1,NumPy 1.19,LaserWeb 4.0等。
(1)硬件連接。學生根據圖2所示搭建硬件系統。系統中工業相機和光源通過實驗支架固定在傳送帶正上方。相機通過千兆以太網與計算機相連。激光雕刻機通過鋁合金導軌框架橫跨在傳送帶上,通過GRBL控制板的USB接口與計算機相連,驅動皮帶輪和步進電動機進行二維平面運動,運動范圍需位于相機視野之內。傳送帶的電動機與繼電器相連,繼電器通過千兆以太網與計算機相連。
(2)相機標定。在后續激光雕刻環節,要求通過LaserWeb開源軟件控制雕刻機工作。因此,要求學生編寫程序并通過接口,將要雕刻的圖像坐標轉換成LaserWeb可識別的GCode坐標。因此,需要先將GCode坐標平面和圖像平面進行投影標定。由于標定物是平面,因此將世界坐標系構造在Z=0的平面上,然后進行單應性(Homography)計算。根據張正友標定法[21],此時世界坐標系和圖像坐標系的投影式為:
式中:H為一個3×3的矩陣,其中有一個元素為齊次坐標,因此H有8個待解未知量;s為尺度因子;(X,Y)為LaserWeb生成的GCode坐標,是已知量;(u,v)為相機拍攝的像素坐標。一組對應的(X,Y)→(u,v)可以獲得兩組方程?,F有8個未知量,因此需要4組對應的點來求解單應性矩陣H。學生首先用LaserWeb以2 cm間隔在雕刻板上雕刻直線網格,然后在相機拍攝的圖像上提取交叉點坐標,如圖3所示。將LaserWeb雕刻的交叉點GCode坐標和拍攝的交叉點圖像坐標按對應順序,通過OpenCV的findHomography函數求解H。
求解H之后,將需要雕刻的圖像坐標經過投影變換,轉換成GCode坐標傳遞給LaserWeb,由LaserWeb控制雕刻機的GRBL控制板進行雕刻,同時顯示雕刻進度和位置,如圖4所示。因此學生需要通過自行查閱資料和小組分工討論,將LaserWeb代碼集成到小組編寫的程序中,這對鍛煉學生的集成軟件開發能力有極大的幫助。
(1)目標定位。將待雕刻目標(方形有機玻璃板)放置在傳送帶上,控制電動機帶動傳送帶,同時連續獲取相機圖像并判斷是否有目標出現以及目標的位置。學生通過程序檢測圖像中物體的輪廓、周長和面積,如圖5(a)所示。如果與待雕刻目標一致,說明目標已完全進入,如圖5(b)所示。當目標中心點接近圖像中心時,通過繼電器停止傳送帶的電動機工作,讓目標停止在工作區域中心,如圖5(c)所示??紤]到延遲問題,傳送帶停止后相機會重新獲取一張工作區域的圖像。在該圖像上,對待雕刻目標進行最終位置的定位,如圖5(d)所示。
(2)圖像預處理。目標定位之后,對圖像進行預處理。要求學生分別采用保邊濾波、泛洪填充、邊緣檢測和膨脹處理等圖像處理方法。保邊濾波可以調用OpenCV函數edgePreservingFilter,目的是保留待雕刻目標的圖像邊緣,減少消除傳送帶表面問題引入的噪聲干擾,如圖6(a)所示。泛洪填充可以調用floodFill函數實現,將雕刻目標邊緣外側的背景全部填充為黑色,以去除背景圖像的噪聲,如圖6(b)所示。邊緣檢測可以用Canny函數實現,用于準確檢測出待雕刻目標,如圖6(c)所示。膨脹處理可以用函數dilate實現,使得目標邊緣更加清晰,如圖6(d)所示。
(1)缺陷模型訓練。在進行缺陷檢測前,學生需要先進行缺陷模型的訓練,這是實踐課程的難點,是對學生創新能力的一種訓練,要求學生基于SSD(Single-Shot-Detection)模型并進行優化。
SSD是基于深度學習的單階段目標檢測模型,平衡了YOLO和Faster RCNN的優缺點,在檢測精度和檢測速度上取得了較好的綜合性能。但由于原始SSD模型對淺層特征圖的表征能力不夠,導致對小目標檢測能力不足。因此要求學生采用淺層特征圖融合的方法,優化SSD的小目標檢測能力,從而提升模型整體性能。SSD基本模型的特征金字塔由6個卷積層組成,然而這些卷積層之間不存在任何聯系,只是單獨作為分類和回歸網絡的輸入,如圖7所示。
特征金字塔由下而上,特征圖的尺度逐漸變小,而尺度大的特征圖對小目標檢測更加敏感。因此,學生需要將特征金字塔中的淺層特征上采樣,將其與上層特征圖融合,通過兩次上采樣和8次卷積操作,增強淺層特征圖的細節信息表達能力,從而提高算法性能。改進后的SSD模型結構如圖8所示。
SSD模型的先驗框設置遵循線性規則
式中:m為特征圖數量;sk為先驗框相對于輸入圖像的比例,第1張特征圖中的s1初始設置為0.1。其余5張特征圖的sk(k=2,3,4,5,6)由計算所得;smin設為0.2,smax設為0.9。
為了覆蓋不同類型的目標,需要設定先驗框不同的寬高比αr∈{1,2,3,1/2,1/3},對先驗框的寬(wk)和高(hk)進行調整:
模型的損失函數包含兩個部分——分類損失和回歸損失:
式中:N為所有樣本數量;Lconf為分類損失;Lloc為回歸損失;α為權重系數,用于調整兩種損失的權重。分類損失中,x為預測框是否匹配到真實框,若匹配到取1,否則取0;z為預測框中目標的類別概率?;貧w損失中,l和g為預測框和真實框在圖像中位置。
分類損失采用交叉熵損失,前半部分為正樣本損失,后半部分為負樣本損失:
其中,^zci表示第i個預測框中類別為c的概率
當c為0時,表示預測框中的內容是背景。
回歸損失采用smoothL1損失表示:
據了解,尿素廠檢修重點在造氣、凈化和尿素車間,主要檢修任務為造氣氣洗塔填料更換、1#-24#爐三氣閥門更換、1#-6#系統吹風機煤氣管道更換,凈化1#變換系統更換觸媒、冷副線三通更換、低甲1#醇分熱洗及內件割除,尿素高壓設備檢測、換熱設備清洗、水解塔塔盤檢查清洗、高甲冷列管換管、壓力設備檢測修補、脫硫塔更換填料等,全廠共計檢修項目高達366項。
當第i個預測框匹配到了真實框j時,xcij為1。其中c表示該真實框中的目標類別;smoothL1損失函數為
它的優點是當預測框與真實框較遠時,其產生大小為±1的梯度,模型會以較大的梯度向最優解方向收斂。而當預測框與真實框較近時,產生大小為x的梯度,模型會以較小的梯度繼續趨于最優解,即
數據集為教師事先采集的不同種類和位置的劃痕缺陷數據集,一共有1 000張圖片,其中250張為缺陷圖片,包含4種不同種類和位置的劃痕缺陷,如圖9所示。
學生首先需將數據集按照4∶1的比例,隨機分成訓練集和測試集,然后對訓練數據集進行數據增強。數據增強不僅能夠擴充數據集,還有正則化的作用,有助于提高模型性能。在數據增強時,對圖像進行隨機縮放和隨機水平翻轉,縮放系數在0.5~2之間。同時對圖像的寬高比進行隨機調整,調整幅度在0.5~1.5之間。最后將訓練完成的模型,在測試數據集上驗證性能。
(2)空板缺陷檢測。缺陷模型訓練完成后,根據模型輸出的缺陷區域,計算缺陷的面積和長度。如果大于設定的閥值,則判定缺陷過大,不能滿足雕刻要求,否則通過集成的LaserWeb進行雕刻。
(3)雕刻缺陷檢測。實際生產過程中,不僅會雕刻產品Logo等固定標志,還會雕刻型號、序列號等可變內容,如圖10所示。因此,首先在圖像上標注檢測區域(見圖10綠色框)、Logo檢測區域(見圖10藍色框)以及OCR檢測區域(見圖10橙色框)。
對OCR檢測區域,采用PaddleOCR進行識別。對Logo檢測區域,系統通過BF匹配器,將雕刻圖像和模板圖像進行特征匹配,特征點分別采用SIFT,AKAZE,KAZE探測器進行提取,各自進行特征匹配。根據最終效果,選擇效果最佳的兩種探測器及其提取的特征點,如圖11所示。
如圖12所示,對于面積或長度大于閥值的缺陷區域,計算區域內每個像素點pi到模板輪廓的最短距離di,得到區域的評分score:
式中,k為經驗參數。
最后將所有缺陷區域的評分求和,作為雕刻圖像的整體缺陷評分。根據設定的接受范圍,判定雕刻結果為通過或者不通過。
表1所示為學生優化的SSD模型與Faster RCNN,SSD基本模型和YOLOv3模型對劃痕缺陷檢測的精度和速度(幀/s)對比。經過淺層特征融合優化的SSD模型,準確率、召回率和F1指標都有較大的提升,檢測速度也達到42.2幀/s,雖然速度不及YOLOv3模型,但已經可以滿足實時檢測的需要。圖13所示為學生小組開發的缺陷檢測軟件。

表1 空板缺陷檢測結果
雕刻缺陷檢測是通過圖像特征匹配完成的。因此,首先用LaserWeb雕刻100張圖像,每張圖像的Logo保持不變,型號和序列號都不相同。然后學生先對每張雕刻圖像進行程序評分,并判定是否通過,如圖14所示。接著用人工方法,對100張雕刻圖像進行復核,挑出有缺陷的圖像與系統判定的結果進行對比。最終檢測結果,各小組完成的程序對雕刻缺陷檢測的平均精度F1值都能達到90%~95%,速度可以達到30~40幀/s。說明學生都能較好地理解并實現雕刻缺陷圖像特征的提取、匹配和結果判定,達到了預期的綜合實踐要求。
為了培養學生對機器視覺理論學習和動手實踐能力,對機器視覺算法和系統設計的過程有直觀的感受,以智能制造過程中激光雕刻缺陷檢測的需求和過程為參考,對機器視覺綜合實踐課程的內容和過程進行了教學設計。學生通過小組合作的方式,共同完成4個實踐環節的8項不同難度要求的實踐任務,綜合運用硬件基礎、程序設計、圖像處理、自動控制和模式識別等課程的知識,強化了綜合性、系統性和創新性的要求。有效提高了學生的創新能力、動手能力和工程實踐能力,提升了學生對科研創新和專業知識的濃厚興趣。