范松,陳坤,馬文慶,韓宗兵,申路莊
(1.山東理工大學機械工程學院;2.山東理工大學資源與環境工程學院;3.山東理工大學化學工程學院;4.山東理工大學交通與車輛工程學院,山東 淄博 255000)
工廠中人工制造機械零件的方式逐漸被機械自動化生產線替代,包括粗細加工、裝夾、包裝等工序。一整套流程中有多個工序,而一條流水線一般負責1~2個工序,完成一工序后需要將未完成的零件放到另一條流水線上,這就需要根據圖像處理利用計算機自動智能識別零件位置,并由機械手將零件自動搬運到特定位置。隨著機械電子產業進步,對零件檢測精度要求越來越高。傳統的檢測方法效率低,誤差大,不適應目前工藝要求,本文通過圖像預處理、圖像邊緣輪廓提取、系統標定、尺寸計算進一步對零件進行分析測量,提高檢測精度和效率。
首先需要考慮輪廓和邊緣的關系,在圖像方面的深度學習建模時需要特征,這些特征很多是從邊緣為起點,不斷向上構成為更高層次的特征描述,當對圖像邊緣進行濾波時,核的一部分會位于圖像邊緣外面,因此邊緣在圖像處理中十分關鍵的。本文利用Sobel算子進行邊緣檢測,其算子模板攜程差分形式如下:

以上方法的計算量非常大,本文采用更高效的方法,假設當前考察的區域為:。
經過其中點e的直線共有四條即a-e-i,b-e-h,c-e-g,d-e-f其中每一條直線都將區域劃分為兩部分,每一部分有3個像素,稱之為一個子區域,例如直線c-e-g將區域劃分為a,b,d和f,h,i兩個子區域。分別計算出每條直線的兩個子區域。分別計算出每條直線的兩個子區域平均值之差的絕對值,并得到4個值中最大的付給中心像素e。
第一次霍夫變換目的是檢測圓形區,具體過程:(1)對所給的圖進行邊緣提取;(2)基于邊緣點進行區域的分割,建立邊緣點鏈表;(3)對區域的邊界點求中心位置(x,y);(4)求得邊緣點到其中心的距離;(5)判斷該邊緣是否構成了圓形的邊界;(6)利用幾條弦的垂直平分線的交點來得到其質心。
對圖像中圓的識別檢測后,進行圓擬合,圓形圖像的擬合采用最小二乘法獲得參數,設圓中若干點的坐標為:,假設圓的方程為:

方差定義:

最小二乘法求偏導數:

由此計算出每個零件的中心(x,y),進行第一次霍夫變換:
進一步檢驗圓形圖像的結果,檢測出4個大圓形圖像:
便于位置的標注,以左上點為原點,向下為Y軸正向,向右為X軸正向,1像素點的距離為1的笛卡爾坐標系,向X軸正向依次將零件標記為零件一二三四。基于每個零件的中心對稱性,得出每個零件的中心和外圓半徑:
為縮短處理時間,對Hough變換進行改造。被檢測的圓特征:兩個圓的圓心相同,半徑差別,且兩圓直徑范圍已知,本模型設計思想為做霍夫變換檢測圓心位置與大圓邊界,并將圓心位置存入內存;為了減少誤差將圖像分割為4個部分,對每一個零件再做一次檢測,檢測小圓的邊界、確定小圓半徑,從而最終提取零件的輪廓。
本文基于閾值的分割法將4部分進行分割處理,設構成目標區域的像素的灰度值大于某特定閾值,確定閾值把目標區分開。取分割區域,對原始圖像進行分割處理,得4個獨立顯示在圖像中零件輪廓:
首先對外部輪廓進行判別,第二次使用Hough變換,對邊緣直線進行擬合,設已知直線方程:
據最小二乘直線擬合方法,建立目標函數:

使函數偏差的平方和最小,借鑒多元函數極值求法,a0、a1滿足方程組:

從而解得到直線的方程。
將圖像分割成4個零件的基礎上對每個零件做第2次的Hough變換,進行內圓和直線的檢測,得內圓的半徑、圓心及直線長度和直線與水平x軸所成的夾角。
刪除后中圓以內和外圓以外部分后,對剩余部分做第3次Hough變換,檢測出中圓的位置和半徑:
由外圓、中圓、內圓的檢測結果顯示,三圓的圓心大致同一位置,且中圓的直線檢測直線長度和直線夾角與內圓的檢測中的直線長度和直線夾角結果大致相同的,驗證了本文的方法檢驗的結果的準確性。
對分割圖像后的每一零件做刪除外圓以內部分處理,對刪除后的部分做第4次Hough變換,進行齒輪的檢驗,進行外圓以內部分的邊緣檢測。圖像分為齒輪內凹、外凸邊界兩部分,外邊緣每個鋸齒尖端部分即為齒頂圓所在位置,根據Hough變換檢測的圓計算出齒輪的齒數以及齒輪所在的位置。由第4次的Hough變換圓的檢測結果可驗證前文的結果,根據檢測圓的個數以及半徑計算出該零件的齒輪齒數和齒輪坐標位置。通過4次Hough變換,最終確定零件的位置。
本文對齒輪的檢測,采用外凸和內凹部分都為圓形的檢測,對圓的個數檢測有不可避免的誤差。且內圓內部的齒輪沒有很好的方法進行精準檢測。但考慮輪廓識別時分別從零件的外圓、中圓、內圓、直線和齒輪的角度分開考慮,建立了較全面的識別零件輪廓的算法,并在檢測結果中驗證了本文所采用的改進的霍夫變換,表明具有較為精準的結果,并且有良好穩定性。本文提出的改進Hough變換,經過對圖像不同部分的不同處理,共進行了4次霍夫變換,此可以準確穩定地對零件進行外圓、中圓、內圓、直線和齒輪的檢測,對于待檢測圓的圓周不完整的情況也能很好適應,且計算量較小,相比在檢測速度上有了明顯的提高,對于工業生產有廣泛應用價值。