桂林電子科技大學(xué)信息科技學(xué)院 孫天一 蒙煌昌 江素婷 黃金海
機(jī)器視覺(jué)系統(tǒng)在國(guó)內(nèi)外都已經(jīng)有所應(yīng)用,它可以被用于:分析圖像,并且生成一個(gè)對(duì)被成像物體的描述。這些描述必須包含:關(guān)于被成像物體的某些方面的信息,而這些信息將被用于:實(shí)現(xiàn)某些特殊的任務(wù)。機(jī)器視覺(jué)可以使用在社會(huì)生產(chǎn)和人們生活的各個(gè)方面,在替代人的勞動(dòng)方面,需要用人眼觀察、判斷的事物,都可以用機(jī)器視覺(jué)來(lái)完成,最適合用于大量重復(fù)動(dòng)作(例如工件質(zhì)量檢測(cè))和眼睛容易疲勞的判斷等。
HALCON能夠讓使用者在最短時(shí)間里開(kāi)發(fā)出視覺(jué)系統(tǒng),包含了一套交互式的程序設(shè)計(jì)界面HDevelop,可在其中以HALCON程序代碼直接撰寫(xiě),修改,執(zhí)行程序。通過(guò)利用halcon軟件中的多種算法對(duì)計(jì)算機(jī)所采集到的零件圖像進(jìn)行處理,最終確認(rèn)其是否符合使用或生產(chǎn)等條件。
系統(tǒng)硬件整體由工作臺(tái)、支架、傳送帶、工業(yè)相機(jī)、計(jì)算機(jī)等設(shè)備組成。在電機(jī)的驅(qū)動(dòng)下,滾輪勻速運(yùn)轉(zhuǎn),帶動(dòng)傳送帶轉(zhuǎn)動(dòng);工業(yè)相機(jī)獲取電機(jī)驅(qū)動(dòng)的傳送帶上零件的圖像,再將圖像傳遞給計(jì)算機(jī)進(jìn)行圖像處理,通過(guò)一系列的處理與分析來(lái)判斷其是否符合工業(yè)生產(chǎn)標(biāo)準(zhǔn)。若符合,則將其直接傳送至下一流程;若不符合,則通過(guò)計(jì)算機(jī)向在旁的檢驗(yàn)人員報(bào)告。由圖1所示,為系統(tǒng)整體設(shè)計(jì)。
圖1 系統(tǒng)整體設(shè)計(jì)
在硬件系統(tǒng)模塊中的電機(jī)驅(qū)動(dòng)電路控制下,傳送帶勻速轉(zhuǎn)動(dòng),將待檢測(cè)零件傳送至工業(yè)相機(jī)鏡頭正下方,工業(yè)相機(jī)與計(jì)算機(jī)相連接,相機(jī)獲取傳送帶上的零件圖象,將其傳送給計(jì)算機(jī),利用HALCON軟件進(jìn)行計(jì)算,在圖像采集中為防止外部光源對(duì)檢測(cè)結(jié)果的影響,通常在相機(jī)上方添加遮光板,能有效增加檢測(cè)精準(zhǔn)度。
HALCON是一套完善的標(biāo)準(zhǔn)的機(jī)器視覺(jué)算法包,擁有應(yīng)用廣泛的機(jī)器視覺(jué)集成開(kāi)發(fā)環(huán)境; HALCON靈活的架構(gòu)便于機(jī)器視覺(jué),醫(yī)學(xué)圖像和圖像分析應(yīng)用的快速開(kāi)發(fā)。使用HALCON機(jī)器視覺(jué)圖像軟件對(duì)采集到的圖像先進(jìn)行預(yù)處理:二值化、特征提取、開(kāi)運(yùn)算、區(qū)分連通域,使所要獲取的目標(biāo)圖像更清晰并將需要檢測(cè)的工業(yè)零件與無(wú)關(guān)背景雜質(zhì)進(jìn)行區(qū)分,需要進(jìn)行多次反復(fù)腐蝕和膨脹,最終獲得所能夠判斷的目標(biāo)圖像的輪廓。
用halcon采集圖片代碼:grab_image_async (Image, AcqHandle, -1)
3.2.1 二值化
圖像的二值化可以使圖像中數(shù)據(jù)量大大地減少,將整個(gè)圖像呈現(xiàn)出明顯的黑白效果,從而能凸顯圖像中目標(biāo)的輪廓。這一步即可采用圖像分割,其公式如下。其中,T為閾值,對(duì)于物體的圖像元素g(i,j)=1,對(duì)于背景的圖像元素g(i,j)=0。即此時(shí)g(i,j)=1為元器件部分,g(i,j)=0為背景部分。
下圖是相機(jī)獲取到的一個(gè)六邊螺母零件,左邊是采集到的初始圖像,右邊是經(jīng)過(guò)二值化處理后的圖像。
對(duì)圖片進(jìn)行二值化代碼:threshold (Image, Regions, 203, 255)
圖2 初始圖
圖3 經(jīng)過(guò)二值化的圖
3.2.2 開(kāi)運(yùn)算
在二值形態(tài)學(xué)圖像處理中,除了腐蝕和膨脹這兩種一次運(yùn)算外,還有二次運(yùn)算操作,開(kāi)運(yùn)算就是其中一種。開(kāi)運(yùn)算處理,是對(duì)圖像先進(jìn)行腐蝕然后再膨脹。腐蝕,是刪除對(duì)象邊界某些像素,具有收縮圖像作用;膨脹則是添加對(duì)象邊界某些像素,具有擴(kuò)大圖像作用。
膨脹是求局部最大值的操作,核B與圖形卷積,即計(jì)算核B覆蓋的區(qū)域的像素點(diǎn)的最大值,并把這個(gè)最大值賦值給參考點(diǎn)指定的像素。這樣就會(huì)使圖像中的高亮區(qū)域逐漸增長(zhǎng)。在經(jīng)過(guò)二值化的圖像中存在較多干擾,如背景材料的大面積反光,背景表面的不平整,待檢測(cè)工業(yè)零件表面的反光,嚴(yán)重影響檢測(cè)的精確性,經(jīng)過(guò)膨脹處理可以填充因反光問(wèn)題所產(chǎn)生的器件內(nèi)部空隙,并放大背景材料產(chǎn)生的干擾。與之相反的腐蝕就是求局部最小值的操作。并把這個(gè)值賦給參考點(diǎn)的指定像素,將較小的干擾去除。
下圖是通過(guò)相機(jī)攝取到的圖像傳遞給計(jì)算機(jī),在halcon軟件中對(duì)該零件進(jìn)行開(kāi)運(yùn)算處理的部分程序。
膨脹:dilation_circle (Regions, Region Dilation, 3.5)
腐蝕:erosion_circle (Region Erosion, Region Erosion1, 3.5)
區(qū)分連通域: connection (Region Dilation2, Connected Regions)
在經(jīng)過(guò)多次的腐蝕及膨脹后區(qū)域中只存在待檢測(cè)器件及較大的背景反光區(qū)域,無(wú)法通過(guò)腐蝕進(jìn)行去除,此時(shí)就需要將各個(gè)區(qū)域進(jìn)行連通域的劃分,如圖6中所示在進(jìn)行區(qū)分連通域后圖像中將各個(gè)連通域用不同顏色來(lái)區(qū)別表示。
圖4 膨脹處理的圖
圖5 腐蝕處理的圖
最后使用HALCON中的區(qū)域選擇算子選取需要的連通域。
連通域選擇算子:select_shape (ConnectedRegions, SelectedRegions, ‘column’, ‘a(chǎn)nd’, 437.96, 721.3)
圖6 區(qū)分連通域
圖7 最后結(jié)果
計(jì)算機(jī)檢測(cè)零件的規(guī)格,判斷是否在標(biāo)準(zhǔn)零件的數(shù)值范圍內(nèi),若在該范圍內(nèi),則該零件符合工業(yè)生產(chǎn)標(biāo)準(zhǔn);若不符合,則將其淘汰。
檢測(cè)零件的面積的代碼如下:
disp_message(Window Handle,’面積’+Area+’坐標(biāo):’+Column,’Window’ ,0,0,’white’,’false’)
如上圖7中檢測(cè)出的該零件面積數(shù)值,完全在標(biāo)準(zhǔn)范圍內(nèi),所以最終得出結(jié)果,該零件符合標(biāo)準(zhǔn)。
在本次實(shí)驗(yàn)中,分別對(duì)100個(gè)工業(yè)零件進(jìn)行了檢測(cè),其中符合要求的有92個(gè),占總體的92%,絕大多數(shù)零件均符合工業(yè)標(biāo)準(zhǔn)。
該基于halcon的工業(yè)零件檢測(cè)系統(tǒng)在時(shí)間和經(jīng)濟(jì)等各方面都比人工檢測(cè)要實(shí)用得多,而且最后的檢測(cè)結(jié)果也更加準(zhǔn)確,更符合現(xiàn)在化工業(yè)生產(chǎn)。機(jī)器視覺(jué)的運(yùn)用在當(dāng)代還在不斷發(fā)展,多年來(lái)的增長(zhǎng)速度均高于工業(yè)平均增長(zhǎng)速度,目前機(jī)器視覺(jué)已是許多機(jī)器和生產(chǎn)線中不可或缺的一部分。
[1]Carsten Steger , Markus Ulrich ,Christian Wiedemann.Machine Vision Algorithms and Applications,2008.
[2]Benhold Klaus Paul Horn.Robot Vision[M].中國(guó)青年出版社.2014,3.
[3]陳兵旗.機(jī)器視覺(jué)技術(shù)及應(yīng)用實(shí)例詳解[M].化學(xué)工業(yè)出版社,2014,4.
[4]張錚.數(shù)字圖像處理與機(jī)器視覺(jué)——Visual C++與Matlab實(shí)現(xiàn)[M].人名郵電出版社.2014,5.
[5]Milan Sonka,Vaclav Hlavac.圖像處理分析與機(jī)器視覺(jué)[M].清華大學(xué)出版社,2016,6.