費浩雯 孫晨琳 何思銘
摘要:該文詳細闡述了如何利用LabVIEW平臺和其自帶的視覺工具包構造一種能夠快速檢測零件尺寸的系統。該系統通過相機獲得零件的圖像,利用NI Vision Assistant對圖像進行一系列處理,得到零件的尺寸參數,再利用LabVIEW編寫程序,與預置的數據對比,判斷這些參數是否符合要求,并將這些參數保存下來。該課題最終實現對不同種類和形狀零件尺寸的快速檢測,準確迅速判斷出零件尺寸是否合格,很好地保障了加工的精度,同時該系統具備很高的檢測安全性、可靠性及自動化程度,可通過實時的圖像顯示隨時監控整個過程。
關鍵詞:機器視覺;工業零件的形狀和尺寸;LabVIEW
中圖分類號:TP3? ? ? ? 文獻標識碼:A? ? ? ? 文章編號:1009-3044(2019)03-0232-03
1 概述
機器視覺主要是指用計算機來模擬人的視覺功能,從客觀事物的圖像中提取信息,進行處理并加以理解,最終用于實際檢測、測量和控制。在工業生產中,基于機器視覺的檢測技術克服了傳統檢測技術的缺點,它以檢測的安全性、可靠性及自動化程度高等優點而得到廣泛的應用,成為當今檢測技術的研究熱點之一。零件尺寸的檢測是機械行業中最常見的工作之一。目前國內的零件尺寸檢測以人工檢測為主,這既增加了工人的勞動強度,又難以保證零件的加工質量,尤其對于形位誤差這種復雜檢測,靠人力特別費時,檢測精度也不高。近年來,隨著機器視覺在工業檢測中的應用,運用計算機技術對零件尺寸進行檢測,是進行現代化生產的必然趨勢[1]。
本課題基于NI機器視覺平臺,設計一基于NI Vision的齒輪齒數和齒距的機器視覺測量系統。要求完成光源、鏡頭、CCD攝像機、圖像采集設備等硬件的選型,同時設計工業零件視覺檢測系統的軟件,并能根據檢測判別的結果來控制現場的設備動作。機器視覺檢測系統采用CCD照相機將被檢測的目標轉換成圖像信號,傳送給專用的圖像處理系統,根據像素分布和亮度、顏色等信息,轉變成數字化信號,圖像處理系統對這些信號進行各種運算來抽取目標的特征,如面積、數量、位置、長度,再根據預設的允許度和其他條件輸出結果,包括尺寸、角度、個數、合格? 不合格、有無等,實現自動識別功能。
本課題利用LabVIEW平臺和其自帶的視覺工具包構造一種能夠快速檢測零件尺寸的系統,該系統能夠迅速測量零件尺寸,并且與預置的數據對比,很短時間內判斷出零件尺寸是否合格,大大減少人工檢查零件尺寸所花費的人力物力,有效減少人工誤檢的可能。
2 圖像獲取與處理
首先要創建一個相機,完成LabVIEW的圖像采集工作。本課題利用機器視覺測量工業零件的尺寸,這就需要將圖像中的像素距離與現實中距離對應起來,這是實現測量的第一步。為了突出被測物體的特征,抑制干擾,減小誤差,便于以后的分析和測量,需要進行預處理。特征是圖像中像素的一個特定的模式,利用模板匹配查找圖像特征,NI Vision中的模式匹配算法用于測量理想化的特征表現與圖像中的可能表現之間的相似度。找到了一個合適的模板,從而可以建立一個坐標系,可以在齒輪的圓心處建立坐標系,這樣也便于后期處理。在建立坐標系后,要在每一個需要定位的函數前聲明參照該坐標系,該函數可通過邊緣檢測提取齒輪輪廓信息,獲得圓心坐標,直徑,偏差等參數。
2.1 圖像的獲取
創建一個相機,配置好相機的參數,調用圖像采集函數,在本課題中需要得到連續的圖像,所以在配置函數是要設置為連續采集。由于電腦內存有限,過多的緩存和數據會極大地影響處理速度,所以必須在圖像采集完后清除緩存。最后將圖像通過函數輸出,完成LabVIEW的圖像采集工作,如圖1所示。
2.2 圖像的標定
拍攝的圖像是空間物體通過成像系統在像平面的投影。圖像上像素點的灰度給出了物體在空間中表面某點反射光的強弱,物體表面不同的特征點會在圖像中以灰度的形式表現出來。這些點在圖像中的位置與其在空間中的位置有關,這些位置的關系是相對的,并且遵循著某些給定的相機參數??梢愿鶕@些圖像點與空間點的對應關系實現參數的標定,根據標定結果,將圖像轉化為實際物體的空間關系。
鏡頭一般由多片透鏡組成,在理論上遵循小孔成像模型,但是由于實際制造和安裝誤差的存在,經過透鏡所成的二維存在著不同程度的非線性變形,如果按照實際圖像等比標定,視野中的尺寸與邊緣的尺寸相差會很大。考慮到這種鏡頭畸變,要利用LabVIEW視覺工具包的標定功能減小這種誤差。
2.3 圖像預處理
1)灰度變換
結合本課題,因為要測量零件的尺寸,要想突出零件的尺寸特征,需要將零件上明暗區分出來。所以選擇抽取HSL-Luminance Plane,即抽取亮度平面。HSL的L(lightness)分量,指的是色彩的明度,作用是控制色彩的明暗變化。它同樣使用了0%至100%的取值范圍。數值越小,色彩越暗,越接近于黑色;數值越大,色彩越亮,越接近于白色,也就是說他將圖像中每個點都進行明度分類,轉化為深淺不同的黑白兩類。
2)亮度調節
Brightness選項用于改變圖像的亮度,對比度和伽馬值,應用此函數可以改善圖像的質量。
3)改善圖像質量
Lookup Tabel簡稱LUT,是指對一幅圖像應用查找表以改善對比度和亮度,可利用Lookup Tabel改善圖像,使圖像對比度更加明顯。
4)模板匹配
模板匹配是一項在一幅圖像中尋找與另一幅模板圖像最匹配(相似)部分的技術.通過目標圖片在待匹配圖片進行遍歷,通過選擇一定的匹配方式能夠得到每個起始像素點的匹配值,最終匹配值最大的位置就是候選匹配位置,也就達到了匹配查找的效果。 可以使用這個函數來定位灰度圖像的區域匹配預定的模板,該函數可以找到不管照明,模糊,噪聲,轉移的模板和旋轉的模板。
首先要建立一個模板,并且屏蔽掉對模板識別有干擾的地方。有時候模板很小,圖像很大,這時候的ROI要設置小一點,而不能在整個圖像中尋找,如果那樣做,首先是不容易找到,再者花費時間較長,最后容易誤判。如圖2所示,圖中方框表示找到的模板。
應用此步驟的主要目的是零件的存在性和完整性,同時要為后續的其他函數提供建立坐標系的基礎。比如要是有一些方面需要進行檢查,但是這些需要檢查的參數是根據某個特征在視場中變化的,換句話來講,它的參數是一個相對量,必須給定一個參考系。所以可以先搜索出視場中的特征,以此建立坐標系,然后其他函數則能有一個動態的ROI,當檢查目標在視場中變換位置時,只要沒跳出視場,就可以檢查出結果。
3 檢測系統軟件設計
我們將討論使用LabVIEW軟件編寫機器視覺系統的完整過程。包括兩個大的方面:
1)從圖像處理助手中導出數據,對數據進行處理分析,得到零件參數,和控制量進行比較,確定零件是否合格并判斷出零件哪一項指標不合格,還可以將所得到的數據保存在EXCEL中。
2)對不同的零件分別建立模板,結合圖像處理工作,使得系統能夠快速識別零件的種類,根據零件的種類進行相應的測量工作。
3.1 機器視覺系統軟件工作流程
首先設置采集的各項參數,下達采集指令,得到采集的圖像,然后判斷零件的類型,根據零件的類型,調用不同的圖像處理函數,得到相應的數據,根據預先設定的參數,比較零件的尺寸是否合格,如果發現有不合格產品,將該零件不合格的參數記錄下來,循環執行,直到所有零件都已檢測完畢。
3.2 機器視判斷零件類型
在實際工業生產中,零件的種類是多樣的,如果只能識別齒輪一類,那么無疑就限制了該視覺系統的應用。所以為了拓寬該視覺系統的應用范圍,改進識別范圍有限的缺點,使之能夠對多種零件做出判斷并測量,需要設計一種判斷的算法,準確識別零件種類。對此可根據零件的特征判斷其種類,這是目前最現實的一種方法之一。
本文選擇了四種不同的零件,如圖3所示,并按圖示命名,以方便后續討論。
對這四種零件分別尋找其具有的特點,對圖3中a所示其特點是具有一個六角的凸起,b是內含一個矩形的特征,c中內部空心并且邊緣沒有齒,d中內部空心外部有齒。事先將這些特征拍下并標定參考。檢測新的零件時先與這些模板對照,之后利用case判斷語句跳轉到相應的零件測量界面中,在該界面中調用子VI。生成的LabVIEW代碼。
3.3 比較零件尺寸
將得到的各種數據輸出后,接下來需要在 LabVIEW環境下編程去檢測這些數據是否符合要求。以檢測齒輪參數為例。從Fitted Circle引出數據,但是這些數據是以簇的形式存放的,必須利用解捆綁函數提取出數據來。同時為了增強算法的靈活性,并沒有給定齒輪各項參數的上下限,而是將這些上下限由用戶在檢測之前輸入。因為這是一個比較的過程,分別要測試三項數據,為了節約資源,可以將比較過程定義為一個子VI,只需要調用兩次子VI即可實現比較。如圖5所示為 LabVIEW程序。
3.4? 檢測齒輪齒數及齒距
齒輪齒距的定義為齒輪分度圓上齒厚加槽寬的距離,但是由于檢測的齒輪不是標準的齒輪,其分度圓難以尋找,操作起來非常麻煩,所以取該齒輪齒頂兩點的距離作為檢測對象。利用Edge detector 工具找到齒輪邊緣明暗相間的點,每一個點在輸出來時都是一個獨立的簇,這些簇又以數組的形式存放,通過檢測該數組的長度從而求得齒輪的齒數。利用數組索引拆開該數組,并且解除簇的捆綁,得到點的數據。
3.5 齒輪參數測量子VI
要將以上所做的各部分功能組合一起,形成一個齒輪參數測量子VI,如圖4所示為LabVIEW程序。
上述以齒輪為例介紹了如何測量齒輪的各項參數和編寫LabVIEW子VI,對于其他三種零件(圖5所示a.b.c三種),要分別編寫子VI。由于編寫過程與齒輪子VI類似,所以不再贅述。僅僅給出要測量的關鍵參數:對于內含六邊形的零件,要測量的參數有內外圓半徑、六邊形的對角線長;對內含矩形的零件,要測量的有內外圓的半徑、矩形的長和寬和中心圓孔的直徑;對于圓環零件子VI,主要測量的是內外圓環的半徑。
4 測試結果的誤差分析
到目前為止,完成了基于NI Vision的齒輪齒數和齒距的機器視覺測量系統設計,在測試過程中發現數據存在一定的誤差,主要是由于以下幾個方面造成:
1)光照不穩定。由于測試零件是直接暴露在外部的,所以外部的光源變化會對成像的效果造成影響,例如中午太陽光強烈時和晚上打開日光燈時獲取的圖像效果不一樣。嘗試用紙板遮擋實驗臺,取得了一些效果,但是會造成取放零件不方便,所以將紙板長度減小了一半,所以光照影響沒有能夠完全避免。
2)零件擺放位置。受標定方法的限制,當零件擺放位置不能保證正好處于相機鏡頭正下方時,測量得到的數據會存在因為角度關系造成一定偏差。
3)鏡頭一般由多片透鏡組成,在理論上遵循小孔成像模型,但是由于實際制造和安裝誤差的存在,經過透鏡所成的二維存在著不同程度的非線性變形。
4)零件表面的一些干擾。零件表面會存在一些花紋,凹坑,劃痕等特征,這些特征有可能與用來進行判斷的痕跡特征相近。導致進行特征識別,尋找輪廓時發生偏差,進而使得測量的數據不準確。
5 結語
本課題“基于NI Vision的齒輪齒數和齒距的機器視覺測量系統設計”已基本完成,通過測試,取得了比較滿意的結果。對于不同類型的零件能夠做到準確識別,在參數測量誤差方面也達到了要求。
基于機器視覺的零件測量虛擬儀器是零件測量技術的重要發展方向。零件測量的技術進步能夠推動我國機械制造的長足發展,提高整個行業的產品質量和行業競爭力,徹底改變我國制造行業零部件質量落后的局面。因此,基于機器視覺的零件測量虛擬儀器的研究具有重要的現實意義。
參考文獻:
[1] 夏德深,傅德勝.現代圖像處理技術與應用[M].南京:東南大學出版社,2001:80,100.
[2] 馬金奎,等.機器視覺測試系統[J].工具技術,2004(38):129,132.
[3] Bundit Jarimopasa,Nitipong Jaisinb.An experimental machine vision system for sorting sweet tamarind[J].Journal of Food Engineering, 2008,89(3):291-297.
【通聯編輯:代影】