陳水酉,何炳蔚,李永凱,陳緣
(福州大學 機械工程及自動化學院,福建 福州 350116)
21世紀以來,汽車行業發展迅猛。安全氣囊作為汽車的安全輔助工具,它的出現大大降低了死亡率,因而必須確保其尺寸精確,并能正常使用。對安全氣囊傳統的檢測方法主要是借助千分表、輪廓儀等工具進行人工抽檢[1]。然而在長時間、大批量的工作模式下,工作人員由于身體條件、視覺疲勞等因素,造成產品誤檢率高,極大地限制了生產效率和產品質量。
針對上述情況,開發了一套基于機器視覺的安全氣囊檢測系統,實現對安全氣囊關鍵尺寸的亞像素測量。該系統具有非接觸、實時、高精度、高效率的特點,可有效降低企業的人工成本,同時減少誤檢率和漏檢率,提高企業的生產效率和經濟效益。
待檢測對象安全氣囊的實物圖如圖1所示。對氣囊進行檢測主要是對其外輪廓尺寸大小和預縫線間距進行測量,具體要求如下:
1) 對氣囊外輪廓尺寸進行測量,測量誤差范圍為±0.5mm。
2) 對預縫線間距進行測量,測量誤差范圍為±0.5mm。
針對以上需求,設計并開發了一套基于機器視覺的氣囊尺寸檢測系統。示例中的氣囊外輪廓尺寸為205.55mm,預縫線間距為140.16mm。

圖1 待檢測的安全氣囊實物圖
視覺檢測系統主要由光源、相機、計算機、執行機構等部分組合而成[2],如圖2所示。其工作原理是:照明光源發出平行光照射在檢測工件上,工業相機采集圖像,將光信號轉換成圖像數據傳送給計算機,由計算機完成圖像處理、分析和計算等,并將處理結果以信號的形式發送給執行機構,指導機器的運行。

圖2 視覺檢測系統的原理圖
該視覺系統的結構設計主要從硬件系統和軟件系統兩方面展開。
硬件系統包含機械裝置、圖像采集子系統以及計算機等部分,其中圖像采集子系統是整個硬件系統的核心模塊,由光源、相機以及照明系統等復合而成,其任務是對工件進行圖像數據采集[3]。對圖像采集子系統的設計主要從相機和光源的選型、光照模式的設計等兩個方面入手。根據檢測工件的表面屬性和幾何外形,結合檢測指標為外輪廓尺寸和預縫線間距測量,決定選用MER-503-20GM/C-P相機,選擇線性LED條形光源,以垂直照射的方式進行照明,如圖3(a)所示。
軟件系統是基于Window操作系統平臺,依托Visual Studio 2013 中MFC和開源圖像處理庫OpenCV2.4.9設計的UI界面,主要包括視頻顯示、圖像結果顯示、識別與測量及設備控制等功能模塊,如圖3(b)所示。圖中左側兩個窗口分別為“視頻顯示窗口”和“圖像結果顯示窗口”;界面右側從上到下依次是“串口通信窗口”、“設備控制窗口”、“檢測識別與測量窗口”以及“檢測結果顯示窗口”。

圖3 檢測系統的結構設計
針對氣囊的尺寸測量,采用基于灰度圖像的邊緣特征,通過濾波與增強,改善圖像質量,銳化邊緣細節,并通過亞像素定位技術,提高邊緣定位精度,最后通過對邊緣的直線擬合和直方圖投影,進行尺寸測量,整個檢測算法流程如圖4所示。

圖4 氣囊尺寸測量算法流程圖
在進行圖像采集和數據傳輸時,因受到圖像傳感器質量、環境光照等因素的影響,常常會引入無關的噪聲,不利于后續圖像識別。圖5所示為采集圖像的外輪廓和預縫線區域的局部圖,可以看出圖像含有大量的噪聲點。
在圖像處理中,主要運用圖像濾波進行噪聲點的去除。目前,常用的濾波方法有高斯濾波、均值濾波和中值濾波等。采用上述3種濾波方法分別對工件圖像進行處理,同時以峰值信噪比(PSNR)[4]作為質量評價指標,最終決定采用高斯濾波對圖像進行去噪處理。
高斯濾波是一種廣泛使用的線性平滑濾波器,主要思路是對整幅圖像進行加權平均,從而消除噪聲點的影響,其具體操作是:通過高斯核的離散化窗口滑窗卷積來實現,高斯核是一個奇數的大小高斯模板。
高斯模板中的各個參數主要通過二維高斯函數計算給出,其具體公式如下:
(1)
式中δ表示標準差。標準差δ越小,表示濾波平滑效果越不明顯。
采用高斯濾波對采集圖像進行噪聲點的去除,效果如圖6所示,可以看到噪聲點被平滑處理掉,圖像質量得到明顯改善。

圖5 原始圖像

圖6 高斯濾波后的圖像
經過高斯濾波之后的圖像,噪聲點被濾除,但是由于引入平均的效果,使得邊緣細節變得模糊。為了抵消這種模糊的因素,應該增強圖像的對比度。采用Laplace算子,對圖像邊緣進行銳化處理。
Laplace算子是一種各向同性的二階微分算子[5],而圖像的邊緣灰度是階躍變化的,在數學上表示為其二階導數過零點,故可利用Laplace算子對進行圖像銳化,可以有效地定位邊緣點,并通過加強邊緣的灰度值,使圖像的對比度增強,同時使邊緣細節得到提升。
如圖7所示,經過Laplace算子增強后,可以發現圖像的對比度得到了提高,預縫線和外輪邊緣也更加清晰,有利于后續圖像邊緣的檢測。

圖7 Laplace圖像增強后的效果
圖像邊緣指的是其周圍像素灰度急劇變化的那些像素的集合,它主要存在于目標、背景與區域之間,對圖像進行邊緣檢測是圖像識別的重要步驟[6]。采用亞像素技術對像素級邊緣進行精細再分,提高了圖像的分辨率,具體實現過程如下:
1) 粗定位階段,以像素為單位,進行傳統的邊緣檢測;
2) 精定位階段,采用圖像處理算法,實現像素精細劃分。
在粗定位階段,傳統的像素級邊緣檢測算子主要有:Roberts算子、Prewitt算子、Sobel算子、Log算子、Canny算子等[7]。從定位精度和邊緣細節兩方面,對比上述檢測算子的檢測效果,如圖8所示,可以發現Roberts算子、Prewitt算子、Sobel算子檢測結果相似,能夠準確定位邊緣,但是邊緣細節模糊,而Canny算子檢測效果最佳,定位精度高,邊緣連續性強,故在粗定位階段采用Canny算子進行邊緣檢測。

圖8 各類邊緣檢測算子的檢測效果
在精定位階段,采用基于Zernike矩的亞像素邊緣檢測算法,并對階躍閾值的選擇進行改進,利用Otsu法(大津法)確定最佳分割閾值T作為階躍閾值,對檢測邊緣進行精確定位。
改進的Zernike矩邊緣檢測算法具體步驟如下。
步驟1:計算Zernike矩的Z00、Z11、Z20;
步驟2:根據公式(2),計算出φ的值;
φ=tan-1(Im[Z11]/Re[Z11])
(2)
步驟3:利用Zernike矩的旋轉不變性,求得Z'00、Z'11、Z'20;
步驟4:計算參數l、k、h:
l=Z20/Z'11
(3)
k=3Z'11/2(1-l2)3/2
(4)
(5)
步驟5:利用Otsu法確定最佳分割閾值作為階躍閾值T;
步驟6:取距離閾值δ,若滿足條件k≥T且h≤δ,則該像素點即為邊緣點。
通過Otsu法確定最佳分割閾值T=86,并設置距離閾值δ為一個像素單位,進行亞像素邊緣檢測,如圖9所示。可以看出采用改進的 Zernike 矩邊緣檢測算法提取的圖像邊緣無毛刺,且連續性更強,為后續的高精度尺寸測量提供了保證。

圖9 改進的Zernike矩邊緣檢測效果圖
通過對氣囊的邊緣圖像進行分析,發現外輪廓具有波浪形邊緣,而預縫線邊緣具有明顯的傾斜角度,并且含有線頭邊緣,對測量產生極大的干擾,針對以上問題,分別提出了基于直線擬合和直方圖投影的測量算法,檢測效果如圖10所示。

圖10 氣囊尺寸測量效果圖
1) 直線擬合測量算法
對于外輪廓的尺寸測量,其核心步驟在于對輪廓的擬合,最小二乘法是最常見的直線擬合方法,其具體步驟如下。
步驟1:采集圖像上、下邊緣,采用最小二乘法擬合基準直線L1和L2;
步驟2:計算中心點(x0,y0),將上邊緣x坐標均值作為x0,根據直線L2方程獲取中心點位置;
步驟3:利用該中心點的基準直線L1的距離,進行測距。
2) 直方圖投影算法
首先對工件的邊緣圖像進行輪廓提取,同時獲得每個輪廓的最小外接矩形,再依據面積和長寬比等幾何特征,定位預縫線檢測區域R1和R2,并記錄其左上角頂點坐標,如圖10所示。
對定位出的預縫線區域,進行直方圖投影,其具體步驟是:首先遍歷ROI區域R1和R2,統計區域內非0值像素的個數Ni,以行數為橫坐標,Ni為縱坐標,繪制直方圖,并記錄直方圖最大值所在位置行數,計為I1max和I2max,如圖11所示。結合ROI區域的位置坐標,作差即可求得預縫線間距。

圖11 預縫線像素直方圖
對本視覺系統進行重復性測量實驗,即將氣囊在相機視野中任意位置擺放10次,采用檢測系統對氣囊進行尺寸測量,并計算其測量均值和標準差,測量結果如表1所示。

表1 標準氣囊樣件的檢測結果 單位:mm
通過表1可知,外輪廓測量均值為205.55mm,其標準偏差為0.0317mm,預縫線間距測量均值為140.15mm,標準偏差為0.023 5mm,標準偏差均在±0.05mm之間,滿足了生產實際的精度要求。同時為了更加直觀體現,繪制其檢測結果折線圖如圖12所示。

圖12 零件檢測結果折線圖
由圖12可知雖然該系統測得的數據整體比較理想,測量結果基本在測量均值附近,但是也有個別數據會產生波動,出現這種情況,主要有以下幾個方面原因:
1) 鏡頭誤差。由于鏡頭制造工藝的限制,使得鏡頭存在畸變,在光學成像時產生一定的誤差。
2) 環境誤差。受到環境光照的影響,使得被測工件的邊緣亮度和陰影產生變化,這將導致在邊緣提取時產生一定的誤差。
3) 算法誤差。對外輪廓進行直線擬合時,由于輪廓具有波浪形邊緣,使得擬合出的結果會存在一定的誤差。
根據安全氣囊安全尺寸的檢測要求,開發了一套視覺檢測系統,該系統采用改進的Zernike矩的亞像素邊緣算法,實現邊緣的精確定位,提高了測量精度。針對工件兩個不同的測量指標,分別提出了基于直線擬合的點測距和基于直方圖投影測距的測量方法。在實例驗證下,檢測精度符合工業生產要求,有效地提高了生產效率和產品質量。