薛克娟 ,段潔
(1.長(zhǎng)春理工大學(xué) 光電工程學(xué)院,長(zhǎng)春 130022;2.長(zhǎng)春大學(xué) 電子信息工程學(xué)院,長(zhǎng)春 130022)
基于FPGA的貼片機(jī)視覺(jué)定位算法研究與實(shí)現(xiàn)
薛克娟1,2,段潔1
(1.長(zhǎng)春理工大學(xué) 光電工程學(xué)院,長(zhǎng)春 130022;2.長(zhǎng)春大學(xué) 電子信息工程學(xué)院,長(zhǎng)春 130022)
傳統(tǒng)的對(duì)兩幅標(biāo)志圖像進(jìn)行對(duì)準(zhǔn)的算法采用的是模板匹配的相關(guān)運(yùn)算法。這種方法計(jì)算過(guò)程簡(jiǎn)單,但當(dāng)兩幅圖像存在旋轉(zhuǎn)關(guān)系時(shí)效率較低,且對(duì)標(biāo)志圖像的比例變化和局部殘缺較為敏感。針對(duì)傳統(tǒng)定位算法存在的問(wèn)題,結(jié)合FPGA高速并行運(yùn)算的優(yōu)勢(shì),提出了一種FPGA的貼片機(jī)視覺(jué)定位算法。主要分析研究PCB板MARK點(diǎn)識(shí)別,實(shí)現(xiàn)基于FPGA的貼片頭定位算法,并使用單指令數(shù)據(jù)流算法實(shí)現(xiàn)算法加速。實(shí)驗(yàn)表明,與傳統(tǒng)上位機(jī)算法比較,該算法進(jìn)一步提高了定位精度,且在保證精度的情況下,大大減少定位時(shí)間。
貼片機(jī);FPGA;視覺(jué)定位算法
貼片機(jī)是用來(lái)組裝電路板的設(shè)備,相比于普通電子生產(chǎn)制造設(shè)備,貼片機(jī)技術(shù)涉及到更高級(jí)的機(jī)器視覺(jué)技術(shù)、精密機(jī)械加工技術(shù)、運(yùn)動(dòng)控制技術(shù)等[1]。貼片機(jī)機(jī)器視覺(jué)系統(tǒng)是貼片定位和對(duì)準(zhǔn)的關(guān)鍵部件。本文提出基于FPGA的貼片機(jī)視覺(jué)定位算法的研究與實(shí)現(xiàn),其貼片精度為±0.02mm,貼片速度可達(dá)5000片/小時(shí)。
基于FPGA的數(shù)字圖像處理是指利用FPGA(Field Programmable Gate Array)平臺(tái),對(duì)數(shù)字圖像進(jìn)行相應(yīng)的處理。傳統(tǒng)的數(shù)字圖像處理大多利用計(jì)算機(jī)進(jìn)行計(jì)算,由于計(jì)算機(jī)進(jìn)行圖像處理要涉及圖像傳輸、串行運(yùn)算、增加計(jì)算機(jī)的運(yùn)算量等特點(diǎn),不易于滿(mǎn)足現(xiàn)代貼片機(jī)高速運(yùn)行的特點(diǎn)。如文獻(xiàn)[8]采用了傳統(tǒng)的數(shù)字圖像處理技術(shù),當(dāng)采集的圖像輸入到計(jì)算機(jī)的時(shí)候,由于周?chē)h(huán)境及輸入轉(zhuǎn)換器件對(duì)圖像的影響等,使圖像上存在各種各樣的噪聲和缺陷,這給后續(xù)的圖像處理帶來(lái)較大的影響。針對(duì)以上問(wèn)題本文利用FPGA進(jìn)行數(shù)字圖像處理,具有速度快、精度高、實(shí)時(shí)性強(qiáng)、低功耗等特點(diǎn),并且大大減輕計(jì)算機(jī)的計(jì)算量,是一種比較好的解決方案[2]。
貼片機(jī)視覺(jué)系統(tǒng)是指通過(guò)CMOS或CCD捕獲圖像,將目標(biāo)圖像轉(zhuǎn)化為數(shù)字圖像信息,以便于計(jì)算機(jī)或者集成電路進(jìn)行后續(xù)的圖像處理。通過(guò)FPGA分析圖像的特征信息,進(jìn)而根據(jù)圖像分析的結(jié)果控制運(yùn)動(dòng)裝置進(jìn)行相應(yīng)的動(dòng)作。也就是利用機(jī)器視覺(jué)系統(tǒng)在功能上替代人眼,通過(guò)FPGA系統(tǒng)硬件和算法進(jìn)行圖像處理,替代人的大腦對(duì)元器件的識(shí)別和檢測(cè)功能[3]。
圖1 貼片機(jī)視覺(jué)系統(tǒng)組成
如圖1所示為貼片機(jī)視覺(jué)系統(tǒng)的組成。系統(tǒng)總共有兩臺(tái)相機(jī),分別是糾偏相機(jī)和定位相機(jī)。本文主要對(duì)貼片機(jī)定位系統(tǒng)進(jìn)行研究,因此,主要對(duì)定位相機(jī)的功能進(jìn)行介紹:定位相機(jī)主要用于識(shí)別PCB中MARK點(diǎn),從而對(duì)PCB板進(jìn)行定位。
機(jī)器視覺(jué)定位系統(tǒng)是利用攝像頭識(shí)別PCB中標(biāo)記點(diǎn)的圖像精確位置,然后轉(zhuǎn)換為機(jī)器坐標(biāo),用來(lái)確定PCB和機(jī)器坐標(biāo)系的位置關(guān)系。已知PCB庫(kù)各個(gè)元件位置信息,則可以計(jì)算出每個(gè)元件的偏差,在貼片頭貼片時(shí)進(jìn)行運(yùn)動(dòng)補(bǔ)償。PCB中標(biāo)記點(diǎn)的形狀大多數(shù)為圓形、正方形、十字形和三角形。目前標(biāo)記點(diǎn)多采用圓形,所以本文后面的研究就是以圓形作為PCB中標(biāo)記點(diǎn)[4],即MARK點(diǎn)。
機(jī)器視覺(jué)定位的應(yīng)用原理:PCB板進(jìn)入特定的槽道進(jìn)行固定,定位攝像頭移動(dòng)至MARK點(diǎn)位置上方進(jìn)行灰度圖像采集、高斯濾波、邊緣檢測(cè)、二值化、形狀匹配,求得兩個(gè)MARK圓中心在圖像坐標(biāo)系中位置坐標(biāo),根據(jù)圖像坐標(biāo)系和機(jī)器坐標(biāo)系位置關(guān)系,計(jì)算PCB板偏角。再根據(jù)圖像坐標(biāo)和機(jī)器坐標(biāo)轉(zhuǎn)換關(guān)系,結(jié)合各元件PCB坐標(biāo)和PCB板偏角,則可以精確計(jì)算出各元件實(shí)際機(jī)器位置,也就是將所有元件的位置信息與兩個(gè)MARK點(diǎn)關(guān)聯(lián)。將所有元件信息存入計(jì)算機(jī),為后續(xù)貼片提供依據(jù),至此完成對(duì)PCB板全部元件的定位。
貼片機(jī)進(jìn)行貼片時(shí),首先要利用機(jī)器視覺(jué)系統(tǒng)對(duì)PCB板進(jìn)行定位,那么就需要PCB板中有特殊的基準(zhǔn)點(diǎn),這一基準(zhǔn)點(diǎn)就叫MARK點(diǎn)。也稱(chēng)之為標(biāo)記點(diǎn)、特征點(diǎn)。MARK點(diǎn)是貼片頭與PCB板信息連接的紐帶。目的是實(shí)現(xiàn)貼片機(jī)對(duì)PCB板中每個(gè)待貼片區(qū)域的精確定位。PCB板中MARK點(diǎn)的制作和其他焊盤(pán)的制作一樣,通過(guò)敷銅、蓋油、電鍍等工藝制作而成。如圖2所示完整MARK點(diǎn)構(gòu)成,完整MARK點(diǎn)由中心特征點(diǎn)、空曠區(qū)組成,其中特征點(diǎn)的直徑R范圍大多為:1mm~3mm,空曠區(qū)域外徑尺寸r≥2R,當(dāng)r=3R時(shí),機(jī)器識(shí)別效果最好。MARK點(diǎn)區(qū)域不準(zhǔn)走線(xiàn)或做特殊標(biāo)記。
圖2 完整MARK點(diǎn)構(gòu)成
一塊PCB板典型的MARK點(diǎn)分布,如圖3所示,MARK點(diǎn)距離PCB邊緣要不小于5mm,以防止PCB板固定時(shí),機(jī)械邊緣覆蓋MARK點(diǎn)。兩個(gè)MARK點(diǎn)成對(duì)角分布。貼片機(jī)利用其中一個(gè)MARK點(diǎn)計(jì)算出PCB的x和y方向的位置偏差,利用兩個(gè)MARK點(diǎn)計(jì)算出PCB板的角度偏差,所以PCB板中至少要有兩個(gè)MARK點(diǎn),并且距離要遠(yuǎn)些,不能重合、兩點(diǎn)連線(xiàn)不能平行于PCB邊緣。
圖3 MARK點(diǎn)分布
MARK點(diǎn)輪廓的形狀匹配是指利用事先做好的MARK點(diǎn)輪廓與PCB中的特征點(diǎn)進(jìn)行形狀匹配,得出目標(biāo)的特征值。如圖4所示形狀匹配流程圖,首先對(duì)采集的灰度圖像進(jìn)行邊緣檢測(cè)、二值化提取出PCB中MARK點(diǎn)的輪廓,也就是進(jìn)行形狀描述,找出PCB中與描述的形狀相匹配的點(diǎn),得出特征值[5]。
圖4 形狀匹配流程圖
根據(jù)檢測(cè)得到兩個(gè)MARK圓在圖像坐標(biāo)系下的圓心坐標(biāo),為MARK A、MARK B。根據(jù)圖像坐標(biāo)系和機(jī)器坐標(biāo)系的位置關(guān)系,將其進(jìn)行坐標(biāo)系轉(zhuǎn)換,并在機(jī)器坐標(biāo)系內(nèi)計(jì)算出PCB板偏轉(zhuǎn)角。根據(jù)PCB板數(shù)據(jù)庫(kù),以一個(gè)MARK圓為基準(zhǔn)點(diǎn),分別計(jì)算PCB板中各元件的實(shí)際位置信息,作為運(yùn)動(dòng)補(bǔ)償?shù)囊罁?jù)。PCB板元件位置計(jì)算方法如下:
如圖5系統(tǒng)機(jī)器坐標(biāo)系,V代表攝像頭中心點(diǎn)的投影,A,B是一對(duì)對(duì)角線(xiàn)上的兩個(gè)MARK圓。以攝像頭的圖像中心作為參考點(diǎn)V,當(dāng)MARK圓A與中心點(diǎn)V有一定的像素偏差時(shí),假設(shè)每個(gè)像素代表的實(shí)際物理距離為s,本研究中的s=7μm。在定位攝像頭運(yùn)動(dòng)的過(guò)程中可得到其真實(shí)坐標(biāo),設(shè)V點(diǎn)的機(jī)器坐標(biāo)為(xv,yv),V點(diǎn)的圖像坐標(biāo)為A點(diǎn)機(jī)器坐標(biāo)系下的坐標(biāo)為(xA,yA),在圖像坐標(biāo)系下的坐標(biāo)為在PCB坐標(biāo)系下的坐標(biāo)為B點(diǎn)機(jī)器坐標(biāo)系下的坐標(biāo)為(xB,yB),在圖像坐標(biāo)系下的坐標(biāo)為在PCB坐標(biāo)系下的坐標(biāo)為得到公式(1)和公式(2):
同樣的方法可得MARK圓B中心的機(jī)器坐標(biāo)(xB,yB)。
圖5 系統(tǒng)機(jī)器坐標(biāo)系
設(shè)θ為MARK圓A和B的圓心連線(xiàn)與機(jī)器坐標(biāo)系的夾角,β為PCB板坐標(biāo)系中的兩個(gè)MARK圓的夾角,由A和B的坐標(biāo)可得公式(3):
θ=β不偏轉(zhuǎn),如圖6所示,θ<β逆時(shí)針偏轉(zhuǎn)如圖7所示,θ>β順時(shí)針偏轉(zhuǎn)如圖8所示。偏轉(zhuǎn)角為α=θ-β時(shí)逆時(shí)針,偏轉(zhuǎn)角為α=β-θ時(shí)順時(shí)針。
圖6 PCB未發(fā)生偏轉(zhuǎn)
圖7 PCB順時(shí)針偏轉(zhuǎn)
C點(diǎn)是PCB板沒(méi)有偏移時(shí)的機(jī)器坐標(biāo)系下的位置,其坐標(biāo)為(xC,yC),η是C點(diǎn)相對(duì)機(jī)器坐標(biāo)的角度值,?是C點(diǎn)偏轉(zhuǎn)后的相對(duì)于機(jī)器坐標(biāo)的角度[6]。
圖8 PCB逆時(shí)針偏轉(zhuǎn)
C1點(diǎn)是PCB板順時(shí)針發(fā)生偏移在機(jī)器坐標(biāo)系下的位置,如圖7所示,其坐標(biāo)為(x1C,y1C),則有公式(4):
C2點(diǎn)是PCB板逆時(shí)針發(fā)生偏移在機(jī)器坐標(biāo)系下的位置,如圖8所示,其坐標(biāo)為(x2C,y2C),則有公式(5):
根據(jù)PCB數(shù)據(jù)庫(kù)信息,以MARK A為基準(zhǔn)點(diǎn),由公式(4)和公式(5)可以分別得到所有元件在機(jī)器坐標(biāo)系下的坐標(biāo),實(shí)現(xiàn)對(duì)每個(gè)元器件的定位。圖9為貼片機(jī)定位部分實(shí)物圖[7]。
圖9 貼片機(jī)定位部分實(shí)物圖
定位MARK點(diǎn)識(shí)別效果圖,如圖10所示,10(a)為PCB中MARK點(diǎn)原圖,10(b)為MARK點(diǎn)經(jīng)過(guò)邊緣檢測(cè)之后的效果圖。
對(duì)于貼片頭定位精度的計(jì)算如公式(6)、公式(7)和公式(8):
圖10 定位效果圖
由于PC機(jī)Labview圖像處理定位算法精度更高,所以采用其作為對(duì)比的標(biāo)定值,但是其計(jì)算速度相對(duì)慢許多,也是本文定位算法研究的意義所在。其中(x′1,y′1)是 MARK 圓中心坐標(biāo)的標(biāo)定值,(x′2,y′2)是MARK圓中心坐標(biāo)的測(cè)量值。定位相機(jī)圖像分辨率為1280*1024,那么圖像中心點(diǎn)坐標(biāo)為(640,512)。規(guī)定圖像左上角坐標(biāo)為(0,0),自左至右為x方向逐漸增大、自上至下為y方向逐漸增大,Δx1,Δy1是MARK圓中心分別在x和y方向的標(biāo)定偏差值。Δx2,Δy2是MARK圓中心分別在x和y方向的測(cè)量偏差值。Δx3,Δy3是測(cè)量偏差值的絕對(duì)誤差。
表1 貼片頭定位實(shí)驗(yàn)數(shù)據(jù)
實(shí)驗(yàn)結(jié)果表明,如表1所示x方向和y方向的絕對(duì)誤差為±2個(gè)像素點(diǎn)。由于定位相機(jī)的精度s=7μm,也就是一個(gè)像素點(diǎn)對(duì)應(yīng)實(shí)際距離是7μm,那么實(shí)際誤差是±14μm。滿(mǎn)足本文研究的技術(shù)指標(biāo)。
對(duì)于貼片機(jī)的速度,針對(duì)不同PCB板,進(jìn)行五組實(shí)驗(yàn)數(shù)據(jù)的獲取,其中第一組實(shí)驗(yàn)PCB板封裝主要包括QFP封裝和SOP封裝,第二組實(shí)驗(yàn)PCB板封裝主要包括QFP封裝和SOP封裝,第三組實(shí)驗(yàn)PCB板封裝主要包括BGA封裝和SOP封裝,第四組實(shí)驗(yàn)PCB板封裝主要包括QFP封裝、SOP封裝和BGA封裝,第五組實(shí)驗(yàn)PCB板封裝主要包括QFP封裝、SOP封裝和BGA封裝。利用秒表對(duì)其進(jìn)行計(jì)時(shí),如表2所示。
表2 貼片速度實(shí)測(cè)數(shù)據(jù)
實(shí)驗(yàn)結(jié)果表明,不同PCB板的貼片速度在5000片/小時(shí)上下浮動(dòng)。按照速度等級(jí)分類(lèi),中速貼片機(jī)為3000~9000片/小時(shí),高速貼片機(jī)為9000~40000片/小時(shí),超高速貼片機(jī)為40000片/小時(shí)以上。本文研究的貼片機(jī)速度屬于中速貼片機(jī),所以滿(mǎn)足本文技術(shù)指標(biāo)要求。
同時(shí),為了更好的體現(xiàn)出本文所提的算法具有更好的優(yōu)勢(shì),與模板匹配的其它算法進(jìn)行了對(duì)比實(shí)驗(yàn)。對(duì)比算法使用的是加拿大Matrox公司的MatroxInspector3.1軟件,對(duì)比實(shí)驗(yàn)數(shù)據(jù)如表3所示。
實(shí)驗(yàn)結(jié)果表明,相關(guān)算法x方向和y方向的絕對(duì)誤差為±3個(gè)像素點(diǎn),而本文所提出的定位算法在x方向和y方向的絕對(duì)誤差為±2個(gè)像素點(diǎn)。從而可以看出本文所提的基于FPGA視覺(jué)定位算法在定位精度上具有明顯的優(yōu)勢(shì)。
傳統(tǒng)的對(duì)兩幅標(biāo)志圖像進(jìn)行對(duì)準(zhǔn)的算法采用的是模板匹配的相關(guān)運(yùn)算法。這種方法計(jì)算過(guò)程簡(jiǎn)單,但當(dāng)兩幅圖像存在旋轉(zhuǎn)關(guān)系時(shí)效率較低,且對(duì)標(biāo)志圖像的比例變化和局部殘缺較為敏感。不能滿(mǎn)足現(xiàn)代發(fā)展的需求,因此,為了滿(mǎn)足現(xiàn)代發(fā)展的需求,本文深入研究了機(jī)器視覺(jué)定位技術(shù),提出了基于FPGA貼片頭視覺(jué)定位算法,利用FPGA提取了MARK點(diǎn)輪廓特征,并給出了PCB板元件位置計(jì)算方法。重點(diǎn)研究了機(jī)器視覺(jué)定位的算法及應(yīng)用原理,進(jìn)一步提高了定位的精確度。根據(jù)貼片速度和貼片精度的實(shí)驗(yàn)結(jié)果表明,貼片機(jī)達(dá)到了預(yù)期設(shè)定的目標(biāo),即,貼片速度等級(jí):5000片/小時(shí);貼片精度:±0.02mm。
表3 相關(guān)算法與本文算法對(duì)比實(shí)驗(yàn)數(shù)據(jù)
[1]張杰.基于FPGA的數(shù)字圖像處理[D].武漢:武漢科技大學(xué),2009.
[2]曹建鋒.基于FPGA的圖像視覺(jué)檢測(cè)系統(tǒng)的研究[D].大連:大連理工大學(xué),2012.
[3]Li B,Cui Y.Study on edge subpixel location of ellipse in computer vision measurement[C].International Congress on Image and Signal Processing.IEEE,2010,9(4):1684-1688.
[4]張強(qiáng).SMT裝備制造業(yè)發(fā)展趨勢(shì)與國(guó)產(chǎn)化路徑選擇[C].2014中國(guó)高端SMT學(xué)術(shù)會(huì)議,陜西,2014.
[5]胡金榮.中國(guó)貼片機(jī)市場(chǎng)新格局[J].電子經(jīng)理世界,2006(4):56-58.
[6]Chang CC.Hsiao JY.Hsieh CP.An adaptive median filter for image denoising[C].International Symposium on IntelligentInformation Technology Application,Shanghai,2008:346-350.
[7]鮮飛.貼片機(jī)發(fā)展引人關(guān)注[J].電子工業(yè)專(zhuān)用設(shè)備,2008,37(3):24-26.
[8]王立成.面陣列芯片封裝設(shè)備中的視覺(jué)定位技術(shù)[D].武漢:華中科技大學(xué),2004.
[9]張?jiān)品?,韓廣良.基于DSP的實(shí)時(shí)邊沿相關(guān)圖像處理系統(tǒng)的設(shè)計(jì)[J].長(zhǎng)春理工大學(xué)學(xué)報(bào):自然科學(xué)版,2004,27(4):91-94.
[10]楊宏偉,陳利峰.新型雙目相機(jī)運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)[J].長(zhǎng)春理工大學(xué)學(xué)報(bào):自然科學(xué)版,2015,38(6):108-113.
[11]Zahradnik P,Imak B,Vlcek M.Filter design for image preprocessing in image communication[C].Eighth International Conference on Networks.IEEE,2009:40-45.
[12]劉杰.機(jī)器視覺(jué)在SMT貼片機(jī)種的研究及應(yīng)用[D].蘇州:蘇州大學(xué),2011.
[13]姚敏.數(shù)字圖像處理(第2版)[M].北京:機(jī)械工業(yè)出版社,2012.
[14]許海麗.基于Open CV的SMT糾偏貼片視覺(jué)系統(tǒng)的研究[D].蘇州:蘇州大學(xué),2013.
[15]于婷婷,方舟,劉波,等.基于機(jī)器視覺(jué)檢測(cè)的攝像機(jī)快速標(biāo)定與誤差分析[J].制造業(yè)自動(dòng)化,2015,1
Research and Implementation of the Visual Location Algorithm Based on FPGA
XUE Kejuan1,2,DUAN Jie1
(1.School of Optoelectronic Engineering,Changchun University of Science and Technology,Changchun 130022;2.School of Electronic and Information Engineering,Changchun University,Changchun 130022)
The two sign is used in the traditional image alignment algorithm is related to calculation method of template matching.This method is simple in calculation,but when there are two image rotation relationship of lower efficiency,and the change of the sign image and the proportion of local defects are more sensitive.Aiming at the existing problems of traditional localization algorithms,and combined with the advantages of FPGA high-speed parallel computing,a FPGA placement algorithm is proposed.It analyzes and studies the PCB MARK point recognition,to achieve accelerated algorithm based on FPGA placement heads localization algorithm,and using a single instruction stream algorithms.
Experiments show that,compared with the traditional host computer algorithm,the algorithm further improves the positioning accuracy,and in the case of ensuring the accuracy,greatly reduce the positioning time.
chip mounter;FPGA;visual localization algorithm
TP751
A
1672-9870(2017)04-0023-05
2016-08-20
薛克娟(1990-),女,碩士,E-mail:554814558@qq.com
段潔(1979-),女,博士,副教授,E-mail:dj0321@126.