付澤民 王志進 熊鵬鵬
(上海應用技術大學機械工程學院,上海物理氣相沉積(PVD)超硬涂層及裝備工程技術中心,上海 201418)
在材料沖壓成型的過程中,由于各種無法預料的外力作用,導致壓件最終呈現(xiàn)出不同的形貌特征,而這正是判斷壓件合格與否的標準。因此,能否高效準確地判斷出該形貌特征是否符合工業(yè)生產(chǎn)的要求是制約金屬壓件批量生產(chǎn)的關鍵要素。視覺檢測技術作為一種無損傷的非接觸式視覺檢測技術,具有檢測精度高、效率高、可靠度高等優(yōu)點[1-2],成為近年取代低效率、高成本的傳統(tǒng)人工抽檢方法的最好選擇。對此國內(nèi)外的學者都有研究,陳舒萍等[3]利用視覺檢測實現(xiàn)對金屬加工溫度的測量,實時監(jiān)測工件的溫度和輪廓尺寸變化;Scholz Friedrich等[4]研究了視覺檢測技術,使用羧基官能化的金納米棒,成功地應用于生物分子的靈敏視覺檢測;萬子平等[5]將機器視覺應用于零件輪廓測量,實現(xiàn)了對零件的快速精密測量;Manali Nandy等[6]研究了基于機器視覺,通過使用磁性納米乳劑,成功實現(xiàn)了對碳鋼缺陷的穩(wěn)定性檢測。
本研究在HALCON的基礎上,成功設計了一種可行的視覺檢測方案,用以解決不規(guī)則壓件的多特征檢測問題,從而實現(xiàn)對壓件的高效和精準檢測。通過采集100個壓件產(chǎn)品利用上述方法進行檢測,檢測的準確率達到97%,滿足了工業(yè)上對此類精密產(chǎn)品的高效檢測要求。
本技術方案的實現(xiàn)由計算機系統(tǒng)、光源系統(tǒng)、相機系統(tǒng)、被檢測的壓件和壓件傳送系統(tǒng)等組成,在傳送帶把被測物傳送到指定位置,結(jié)合光源系統(tǒng)和相機系統(tǒng),準確地采集被測物的圖像信息,再將圖像信息傳遞給計算機進行相應的圖像處理。圖像處理通過相應的灰度化處理、線性變換,再使用閾值分割、轉(zhuǎn)換為XLD輪廓,進行輪廓分割。根據(jù)分割后的輪廓進行依次判斷是線、圓還是橢圓,從而擬合相應的輪廓,檢測出相應的特征。通過對壓件進行相應的特征檢測,從而判斷是否符合工業(yè)的生產(chǎn)要求,再結(jié)合機械臂進一步處理。如果符合,可以通過傳送帶直接傳送到合格產(chǎn)品指定區(qū)域;反之,可以觸發(fā)機械臂對不合格品進行抓放到其他位置。圖1所示,為系統(tǒng)的整體設計。圖2為技術路線設計圖。
圖像采集是把壓件的真實圖像通過相機系統(tǒng)轉(zhuǎn)化為可以被計算機處理和存儲的數(shù)字圖像形式,在HALCON軟件中直接調(diào)用open_framegrabber算子,利用grab_image算子抓取壓件圖像再進行保存[7],采集的圖像如圖3所示。
采集圖像后進行灰度化處理,再對圖像進行對比度拉伸,使用scale_image算子,從而突出感興趣的目標或灰度區(qū)間,相對地,就可以抑制不感興趣的灰度區(qū)間[8]。線性變換將圖像的灰度區(qū)域分割為若干條線段,一條線段對應一個線性變換關系式,從而作用于該灰度區(qū)域的變換。如下式:
(1)
式(1)通過線性變換將感興趣的灰度范圍從[a,b]拉伸到[c,d],而其他區(qū)域就會被壓縮。區(qū)域[a,b]就是需要轉(zhuǎn)換的灰度范圍,而c和d是斜率,通過調(diào)節(jié)節(jié)點位置和控制斜率,可達到對任意灰度區(qū)間的拉伸和壓縮。拉伸在數(shù)字圖像處理過程中可以增強圖像的對比度,其增強后的效果如圖4所示。
為了將壓件從背景中分割出來,此時采取二進制閾值處理。通過選擇一個閾值為初始估計值,然后不斷迭代更新這一估計值[9],直到滿足給定的條件為止,方法如下:
(1)選取一個合適的灰度值T作為閾值估計值。
(2)使用閾值T將灰度圖像劃分為兩個區(qū)域:R1和R2。
(3)對灰度區(qū)域R1和R2分別求像素的灰度平均值:μ1和μ2。
(4)計算新的閾值:
(2)
(5)重復步驟(2)~(4),直到滿足迭代的閾值T小于先前定的估計值為止。
其分割語句為:binary_threshold(ImageScaled, Region, 'max_separability', 'dark', UsedThreshold),ImageScaled為需要閾值的圖像,Region是處理后的區(qū)域,max_separability表示最大限度的可分性,dark是所選的區(qū)域比直方圖平滑多一點,而UsedThreshold是自動閾值中選擇的閾值值。
過閾值分割后的圖像效果比較好,完全可以提取壓件的輪廓,采用算子gen_contour_region_xld(Region, Contours, 'border_holes'),Region為轉(zhuǎn)換區(qū)域,Contours為轉(zhuǎn)換得到的XLD輪廓,border_holes是以區(qū)域的外邊界點為邊緣點構(gòu)成XLD輪廓。提取壓件的XLD輪廓后,需對輪廓進行分割,算子:segment_contours_xld(Contours, ContoursSplit, 'lines_circles', 8, 7, 2),Contours是需要進行分割的輪廓,ContoursSplit分割后的的輪廓組合,line表示用直線段和橢圓弧分割,8是輪廓平滑參數(shù),7是第一次用Ramer算法時的參數(shù),而2是第二次逼近輪廓時的參數(shù)。其圖像輪廓如圖5所示。
經(jīng)過上述操作后,壓件的輪廓已經(jīng)分割成若干個小的輪廓,對分割后的輪廓需要確定其屬性,從而判斷其是圓、橢圓還是線段。使用算子:get_contour_global_attrib_xld(),對應得到Attrib的值,其輪廓對照關系如表1所示。
表1 輪廓對照關系表
當Attrib=-1時就屬于直線段,使用直線擬合算子fit_line_contour_xld()擬合輪廓中的直線,再結(jié)合算子gen_contour_polygon_xld()獲取直線段的起止點的坐標值,通過坐標值,就可以測量壓件再圖像中的像素尺寸,從而再轉(zhuǎn)換得到壓件的實際尺寸。
當Attrib=1時就屬于圓,對圓的擬合采用最小二乘法進行圓參數(shù)擬合,用算子fit_circle_contour_xld()將邊緣輪廓線擬合為標準圓,獲取圓心坐標及半徑。圓方程為:
(x-x0)2+(y-y0)2=r2
(3)
令A=2x0,B=2y0,C=r2-x02-y02,從而得到圓的多項式方程為[10]:
Ax+By+C-x2-y2=0
(4)
基于待擬合圓的N個數(shù)據(jù)點坐標為(xn,yn),n=1,2,…,N,定義各點的擬合誤差:
en=Axn+Byn+C-xn2-yn2
(5)
形成如下的目標函數(shù):
(6)
對式(6)求一階偏導數(shù),并令其為零,整理后則可知向量[A,B,C]T的最小二乘解:
(7)
基于獲得的[A,B,C]T,則可以求得圓的參數(shù):
(8)
橢圓擬合采取算子fit_ellipse_contour_xld(),并結(jié)合gen_ellipse_contour_xld()算子一起使用,可以擬合為橢圓,并檢測出橢圓的長半軸和短半軸,同時包括圓心。擬合得到圖像如圖6所示。
通過上面的擬合計算,再借助算子distance_pp(RowBegin, ColBegin, RowEnd,ColEnd,Distance1)和distance_pl(line_row[7],line_col[7], line_row[10],line_col[10],line_row[11],line_col[11], Distance2),distance_pp表示兩點(RowBegin, ColBegin)和(RowEnd, ColEnd)之間的距離來測量線段的尺寸,而distance_pl表示點到直線的距離,(line_row[7], line_col[7])就是點,而(line_row[10], line_col[10])和(line_row[11], line_col[11])就是線段的起始點和終點。通過這些算子可以測出壓件輪廓上一些特征的重要參數(shù)。如圖7所示,圖7a為壓件的線長尺寸參數(shù),圖7b為圓半徑和壓件的幾何參數(shù)。
本次實驗分別對100個壓件進行檢測,包括90個合格品和10個不合格品,檢測結(jié)果見表2,其中符合檢測要求的有97個,占總體的97%,絕大多數(shù)滿足工業(yè)的生產(chǎn)標準。
表2 壓件尺寸檢測正確率
本文針對不規(guī)則的壓件形貌檢測,在HALCON軟件的基礎上,提出了一種基于視覺的不規(guī)則壓件檢測方案。該方案首先對采集的壓件圖像信息進行灰度化處理,然后使用線性變換函數(shù)對圖像進行拉伸變換,利用迭代閾值分割圖象和獲取壓件的整體輪廓;再分割輪廓,采用最小二乘法對壓件的特征進行擬合求取壓件的尺寸、特征圓信息、橢圓信息和線長信息;以滿足工業(yè)上對此類精密產(chǎn)品的高效檢測要求。本實驗采集了100個壓件產(chǎn)品進行檢測,其準確率達到97%,可以應用于實際的工業(yè)生產(chǎn),同時為壓件的質(zhì)量檢測提供一定的指導意義。