郭 宇
(山西晉中理工學院,山西 晉中 030600)
工業流水線中物體缺陷檢測效率的提升及準確度的提高是當前工業自動化的重要環節。隨著自動化技術的發展,普通的人工核檢無論是效率還是準確率方面都不能滿足自動化的需求,因而基于機器視覺的數字圖像處理技術應運而生,該技術常用在目標標定、目標識別及追蹤、物體缺陷檢測環節。
人類對外部世界的感知依賴于大腦,并由大腦對腦部存儲的大量知識與經驗進行分析,得出相應的結論。比如,人類能夠在人群中迅速分辨出認識的人,甚至可以不見其人,僅通過聲音或腳步聲等信息分辨。對于計算機而言,計算機視覺技術是實現計算機聽、說、讀、寫等功能的基礎,同時推動了自動化識別技術的發展。常見的自動識別技術包括條形碼/二維碼識別、生物特征識別、射頻識別(RFID)、視頻圖像識別等。隨著信息技術的發展、計算機處理能力的提升,以及網絡覆蓋范圍的擴大,自動化識別技術的智能化和網絡化水平逐步提升。
自動化識別工作中的第一步也是最主要的一步即確定目標位置,提取感興趣區域,常用方法有背景減除法,通常利用顏色特征或灰度信息去除背景干擾,只留下前景中的大量信息進行處理;相機標定法,獲取空間物體表面點的三維幾何位置與其在圖像中對應點之間的相互關系,確定從三維場景到二維圖像的轉變,確定感興趣區域后,可對圖像的有效信息進行特征的選取,并進行精準提取與匹配。
圖像特征是表征圖像信息的主要元素,因此成為自動識別的重要環節。在進行特征提取時應當選取最具有代表性的特征,例如灰度圖中顏色信息并不能很好地說明圖像信息,應提取邊緣、角點、特征點等信息描述圖像。獲得特征信息后進行圖像分析,可用于如人臉識別、車牌識別、目標檢測等。本文利用完整物品表面信息與缺陷物品表面信息進行對比、匹配,將感興趣區域進行細化、標記。
缺陷物品表面位置標定后,可采用形態學處理手段,將缺陷信息完整展示,對比獲得殘次品信息,便于后期對工業標準不合格的目標物體進行抓取或其他操作。針對復雜的工業流水線運行場景里的目標物體,能有效識別與標記,減少人工復檢工作量,提高流水線工作效率。
相機標定是2D圖像信息與現實中3D信息轉換的“紐帶”。為確定空間物體表面某點的三維幾何位置與二維圖像中對應點之間的相互關系,建立相機成像幾何模型及了解其內外參數成為必要條件。
以三維物體所在空間建立坐標系,描述物體在真實世界的位置,即真實世界、三維場景坐標系;由拍攝設備進行多視角的拍攝,得到不同距離、不同角度的同一物體的照片,以相機的成像原理為依據,多為透射投影過程,得到從相機角度描述的物體位置,相機坐標系即二維照片場景;從相機坐標系到二維直角坐標系的轉換,到最后的圖像像素坐標系的轉換,要考慮圖像的畸變影響,需要利用數學模型進行逐步逼近,從而得到可進行特征提取、匹配的像素點圖像。整個三維場景坐標系到像素點坐標系的映射即相機標定的完整過程。
標定的目的主要為解決兩個問題:①確定世界坐標系下三維空間點與像素平面像素點間的轉換關系;②確定相機成像過程中的畸變系,用于圖像矯正。現今的相機標定方法遵循是否需要標定模板的標準,大致劃分為3種:傳統標定法、基于主動視覺的相機標定法和相機自標定方法。
傳統標定法,也稱攝影標定法,即利用一個形狀和尺寸已知的物體作為標定物。主要步驟是先選定一塊已知大小和結構的模板或已知相關特定數據信息的模板作為標定模板。之后利用攝像機拍攝多張模板的圖片,構造二維圖像像素點和真實環境位置之間的聯系。完成上述兩步后,根據標定模板和選定方法的思路獲取攝像機的參數。
代表性算法為線性標定法,是利用線性方程組求解相機的內外參數,由于線性模型可以不用參考相機畸變的問題,因此相機標定會較迅速地完成,但精確度不高,對噪聲較敏感,只適合視角較小的場景。
Tsai算法只考慮絕大多數情況下存在的徑向畸變,利用最小二乘法線性求解超定線性方程組,得出外部參數;再利用非線性優化方式求得內部參數。此方法適用于所有成像系統,適應性很強,而且標定精度高;但因涉及非線性運算,導致結果不穩定。
利用某些已知的相機的某些運動信息對相機進行標定,不需要標定物,但需要控制相機進行特定運動,如三維空間的穩定平移、參數固定的旋轉運動;同時,拍攝多種圖像,依據圖像信息及已知的位移信息變化得到相機內外參數。計算過程可以進行簡化,但是特定運動需要配合各類精準控制平臺,成本高且受其標定方法限制,對于參數未知或不能控制的場合不適用。
該方法不需要標定物,只需要相機在運動過程中建立起拍攝的多張圖像的對應關系。靈活性很高,但是精度較差、魯棒性差且使用非線性方法標定過程復雜。
常見的自標定方法有分層逐步標定法、基于Kruppa方程的自標定法等。在標定過程中,可以使用標準機器視覺算法軟件包(Halcon)提供的自標定算子,不需要精準的標定物,只需要圖片中邊緣的直線,即可得到相機的內參數,完成畸變校正。但在實際標定過程中,并不是所有物體都能獲取到清晰的邊緣,故該方法后期會采用棋盤、網格等作為標準標定物配合使用。
上述3類方法各有優點和缺點,適用于不同的場景。在工業流水線物體表面缺陷檢測中,需要一種計算簡便、硬件要求較低的方法。因此,綜合以上要求,選擇計算過程簡單、條件易實現的傳統標定算法——張正友研究的以其名字命名的標定方法,即張氏標定法為本文的相機標定算法。該算法不需要高精度的模板標定物,同時具有較強的魯棒性,介于自標定與傳統標定法之間。基本思路是選定一個較明顯的標定模板,用相機從各個角度拍攝此標定模板,要確保角度多樣化,最后推導拍攝圖片中標定模板的特征點和其成像平面中像點的相應關系[1]。
張氏標定法中的標定物多為一個棋盤格平面,其標定步驟為利用棋盤格平面及相機和標定模板之間的相對位置拍攝的不同角度、距離的多張圖片,計算單應性矩陣及其中多個未知量,進行二維投影變換;通過單應性矩陣的計算結果,得到內參數矩陣、外參數矩陣,最大似然估計計算畸變參數,最終實現相機標定的目的,完成從世界坐標系到像素坐標系的變換。
圖像特征點檢測算法穩定性好,因此成為特征提取最常用的一類算法,廣泛應用于醫科、農業、工業、城市定位等領域,尤其是工業機器視覺檢測領域。在工業機器人的目標匹配識別及定位領域中,機械手臂自動檢測目標物體的場景位置是一項重要的工業生產自動化改進。通過相機標定處理后的目標場景圖像進行目標的匹配識別和定位,其中涉及目標圖像特征點的提取及匹配。下面簡要論述其工作流程:①采集圖像,初始化。通過相機、掃描儀或其他圖像采集儀器采集目標圖像的原始信息。在圖像采集的過程中,由于設備的機械原因或者操作人員的人為因素造成圖像尺寸、角度、格式、光照強度等方面的不良影響,所以要對采集的原始圖像進行預處理操作。常用操作有圖像的幾何變換、二值化處理、灰度處理、去噪、濾波等,根據待檢測物體所受干擾進行一項或多項選擇。②特征提取及匹配。圖像特征提取部分的作用是提取出最能表征目標物體的表面特征信息,并將其轉化成特征向量或矩陣的形式。模式匹配是指系統用待測目標圖像的特征信息和特征庫的特征信息進行比對,通過選擇合適的分類器達到識別的目的。
不同特征的選取能夠有效展現圖片不同角度的信息,常用的圖像特征有顏色特征、特征點特征、形狀特征、邊緣特征、紋理特征等。將表面具有缺陷的物體與無缺陷物體進行對比、匹配,常用的特征點特征為SURF特征,對于每一個特征點都有對應的尺度因子,在進行匹配時,當兩個特征點尺度因子之間的比率等于圖像尺度的比率時,視為同一特征點,它具有較強的尺度不變性且計算效率較高;SIFT特征,在實時視頻流中有較多的應用,相比SURF,運算量較大,但在空間和位置上準確率更高,適用于高精度要求且不考慮耗時的場景[2]。
本文使用的目標圖像特征點提取及匹配方案的整體框架如圖1所示,首先特征提取模塊負責模板圖片和檢測圖片的特征點確定,可以根據實驗目標的不同設置不同的特征點個數,以提高匹配率。然后根據特征匹配的結果,使用描述符找到準確囊括目標物體矩形框的4個角點,從而精準確定物體位置。

圖1 圖像特征點提取及匹配方案整體框架圖
圖像中的邊緣與場景的物理屬性有直接的關聯,因此可以從檢測到的邊緣中獲得很多場景與物體信息,所以邊緣檢測是圖像處理中的關鍵操作之一。由于數字圖像中的線、色彩、面積的檢測主要依靠邊緣檢測算子,其中檢測目標物體作為前景和其背景之間的像素差異、光照區別、紋理不同尤為重要。故邊緣檢測算法主要用于如圖像分割、邊界檢測或目標識別等。所有的邊緣檢測方法都是通過像素值有越階變化的像素點,或者使用掩模或者閾值對像素或者像素組之間的灰度級差別進行操作[3]。
不同的邊緣檢測算子側重的檢測點不同,導致檢測結果不一樣,所以在選擇邊緣檢測方法的時候要根據目標對象的實際情況選擇并靈活使用。邊緣檢測算法通常計算圖片中各個鄰域及量化灰度值變化率,并網羅了像素梯度方向的認定,絕大部分的測試方法基于微分運算,以導數模板為基礎。根據導數階數計算的不同,可分為一階算子,常用的有Sobel算子、Prewitt算子、Robert算子等;二階算子常用的有Laplacian算子、LoG算子等。一階算子通常會產生較寬的邊緣信息,常用于邊緣檢測,而二階算子對細節的增強及處理有更好的效果,多用于突出圖像紋理信息。
在獲取二值化圖像后,對圖像進行邊緣檢測,以及根據檢測物體的形狀特征進行邊緣篩選,有效劃分出待檢測目標對象的邊緣。為找到不同大小的缺陷,此處應根據待檢測物體信息設置可變閾值對邊緣進行篩選,得到目標物體的外圍輪廓,所以對所有的輪廓進行面積處理,對所有的邊緣進行面積計算,求得方差,根據方差篩選出正確的目標物體邊緣[4]。
目標場景圖像經過一系列去噪、增強、提取相關特征的操作后,基本滿足對目標表面進行缺陷檢測的前期必要條件。為了進一步提高對目標表面缺陷檢測的準確率,可以根據已經經過預處理的圖像效果采取下一步操作。圖像中目標的劃痕和自然凹陷細節已經經過處理顯現出來,故要對圖像進行腐蝕、膨脹等形態學處理,根據具體情況做開、閉運算操作,讓缺陷更加明顯[5]。
用連通域區域標記目標中的缺陷,即完成一次缺陷檢測工作。如果后期還需要對工業標準合格和不合格的目標物體進行抓取或其他操作,可用描述子準確框定目標并建立圖像坐標系,提取坐標,為后續工作提供位置參考依據。
本文針對復雜的工廠流水線運行場景的目標物體,使用機器視覺技術及數字圖像處理做相機標定、目標識別、特征提取及匹配、邊緣特征提取等研究。利用Visual studio、OpenCV、Matlab等軟件技術和數字圖像處理方法實現對表現具有缺陷的目標物體的識別定位工作和檢測工作,該方法的算法精度和效率均符合工業生產的基本要求。