文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.190875
中文引用格式: 許艷,孟令軍,王志國. 基于樹莓派的元器件檢測(cè)系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2019,45(11):63-67,71.
英文引用格式: Xu Yan,Meng Lingjun,Wang Zhiguo. Design of component detection system based on the Rasspberry Pi[J]. Application of Electronic Technique,2019,45(11):63-67,71.
0 引言
隨著電子產(chǎn)品行業(yè)發(fā)展,PCB板在電子產(chǎn)品中發(fā)揮著重要的作用[1]。許多公司引進(jìn)了流水線式[2]的貼片機(jī)、焊接機(jī),替代了大部分的傳統(tǒng)人工貼片與焊接工作[3],但是元器件貼片錯(cuò)誤還是時(shí)有發(fā)生,尤其對(duì)于人工貼片。由于人的視覺疲勞、身心勞累等原因,都可能造成元器件錯(cuò)誤、位置不匹配等問題[4],因此,對(duì)于PCB元器件的檢測(cè)是必不可少的[5]。系統(tǒng)采用樹莓派作為硬件平臺(tái),具有成本低廉,操作簡(jiǎn)便的特點(diǎn),且安裝完成的樹莓派系統(tǒng)帶有Python開發(fā)平臺(tái),縮短系統(tǒng)開發(fā)時(shí)間、節(jié)約系統(tǒng)開發(fā)成本。
1 總體方案設(shè)計(jì)
系統(tǒng)以樹莓派作為硬件平臺(tái),采集PCB電路板圖像,通過數(shù)字圖像處理技術(shù)對(duì)采集的圖象進(jìn)行預(yù)處理;然后讀取PCB坐標(biāo)文件,根據(jù)元器件的像素坐標(biāo)、尺寸和旋轉(zhuǎn)角度即可自動(dòng)完成模板庫的制作;最后提取元器件的角點(diǎn)信息與模板角點(diǎn)進(jìn)行圖像匹配[6],確定是否為正確的元器件;另外本文還提出了采用圖像分割的方法對(duì)電容表面文字進(jìn)行提取然后識(shí)別,正確識(shí)別了電容表面字符。系統(tǒng)總體框圖如圖1所示。
2 元器件檢測(cè)系統(tǒng)實(shí)現(xiàn)
2.1 圖像預(yù)處理模塊
圖像處理算法通常對(duì)采集的圖像要求較高,質(zhì)量好的圖像可以減少圖像處理的時(shí)間,提高圖像處理效率。本文用到的圖像預(yù)處理算法主要包括:圖像顏色空間轉(zhuǎn)換和二值化[7]。
RGB[8]顏色空間是依據(jù)人的眼睛對(duì)于外界色彩的感知建立的基礎(chǔ)彩色模型,其中紅色的亮度值用R表示、綠色的亮度值用G表示、藍(lán)色的亮度值用B表示,其模型如圖2(a)所示。在RGB顏色空間中,機(jī)器顯示的圖像相當(dāng)于是在黑色底板上疊加紅、綠、藍(lán)三種色彩,其中三種色彩值都在0~255中間變化,如果在一幅圖像上,三種色彩的疊加值都是255,則該圖像為純白色。
HSV色彩空間主要包括色調(diào)(Hue)、飽和度(Saturation)和明度(Value),其模型如圖2(b)所示,它是根據(jù)人眼對(duì)顏色的直觀性來定的。與RGB組成的色彩空間相比,HSV色彩空間能夠顯示出更接近于人的眼睛所感知的色彩,所以在數(shù)字圖像處理領(lǐng)域HSV色彩空間的應(yīng)用范圍更廣泛。
根據(jù)所得到的圖像可以很容易地建立圖像的RGB顏色模型,然后需要完成RGB與HSV兩種模型之間的轉(zhuǎn)換。RGB顏色空間某像素點(diǎn)中紅用VR表示、綠用VG表示、藍(lán)用VB表示,取三者中的最大值記為MAX=max{VR,VG,VB},取三者中的最小值記為MIN=min{VR,VG,VB},從而可得兩種顏色空間的顏色模型轉(zhuǎn)換公式為:
圖像的二值化是目標(biāo)物體摳取、特征提取的重要步驟,圖像的二值化主要是將灰度圖變換成二值圖,使圖像只顯示出非黑即白的效果。
2.2 PCB圖像定位
對(duì)于采集的圖像而言,首先應(yīng)當(dāng)確定定位點(diǎn)的位置。一般情況下設(shè)定2~4個(gè)定位點(diǎn),精確查找定位點(diǎn)是進(jìn)行圖像處理的前提和保證。本文中設(shè)計(jì)的定位點(diǎn)為直徑為3 mm的通孔,理論上來看,像素距離和實(shí)際物理尺寸可以實(shí)現(xiàn)精確定位,但是在設(shè)計(jì)時(shí)必須考慮檢測(cè)誤差。本文采用霍夫變換檢測(cè)圓的方法進(jìn)行定位點(diǎn)的確定[9]。定位點(diǎn)檢測(cè)流程圖如圖3所示。
系統(tǒng)對(duì)圖像進(jìn)行處理的前提條件是準(zhǔn)確定位圖像的位置信息,本文采用霍夫圓檢測(cè)方法進(jìn)行檢測(cè)[10],首先查找待測(cè)圖像中圓的圓心位置和半徑,定位點(diǎn)周圍干擾少或者沒有干擾,且該定位點(diǎn)半徑相對(duì)較大、易識(shí)別。為使系統(tǒng)編程簡(jiǎn)化,系統(tǒng)選用兩個(gè)定位點(diǎn),使用手動(dòng)選擇的方式確定定位點(diǎn)的具體位置,避免了在定位點(diǎn)確定時(shí)誤選或者多選等錯(cuò)誤的出現(xiàn)。同一批次的產(chǎn)品,定位點(diǎn)一旦確定即可不用更改。因此,定位點(diǎn)的位置只需要在模板制作時(shí)進(jìn)行手動(dòng)選擇一次,系統(tǒng)便會(huì)自動(dòng)生成數(shù)據(jù)庫進(jìn)行存儲(chǔ)定位點(diǎn)的位置信息。在進(jìn)行對(duì)待測(cè)板的定位時(shí),只需要調(diào)用數(shù)據(jù)庫中定位點(diǎn)的位置信息,然后在這個(gè)位置周圍查找定位點(diǎn)即可確定待測(cè)板上的定位點(diǎn)。
在進(jìn)行霍夫圓檢測(cè)之前應(yīng)當(dāng)對(duì)圖像進(jìn)行預(yù)處理操作,使用手動(dòng)添加蒙版的方法屏蔽輸入圖像可能影響處理結(jié)果的部分圖像,輸入圖像和添加蒙版后的圖像如圖4所示。
對(duì)輸入的圖像完成手動(dòng)添加蒙版后,開始進(jìn)行圖像的灰度化處理,并對(duì)圖像使用霍夫圓檢測(cè)方法得到定位點(diǎn)處圓孔的圓心坐標(biāo)和半徑。處理結(jié)果如圖5所示。
從程序運(yùn)行效率來看,使用手動(dòng)添加蒙版的方法可以大大節(jié)約系統(tǒng)的運(yùn)行時(shí)間,且運(yùn)行結(jié)果與預(yù)期相符性較好。該程序正確檢測(cè)到了定位點(diǎn)的位置,只需要把定位點(diǎn)處圓心的坐標(biāo)和半徑都存儲(chǔ)硬盤即可,可以方便系統(tǒng)后續(xù)的模板制作和元器件檢測(cè)的正常運(yùn)行。
2.3 圖像ROI框制作
在進(jìn)行元器件檢測(cè)之前,需要制作ROI框來確定元器件的位置,確保元器件檢測(cè)過程中對(duì)應(yīng)位置的元器件都得到有效的檢測(cè)。目前ROI框的生成基本都是人工手動(dòng)選取,這極大地限制了設(shè)備的運(yùn)行效率。為提高運(yùn)算效率,本文采用直接讀取PCB元器件坐標(biāo)文件的方式對(duì)元器件進(jìn)行定位,并結(jié)合元器件的尺寸信息確定該元器件對(duì)應(yīng)的ROI框。
使用Altium Designer軟件直接輸出PCB元器件坐標(biāo)文件和對(duì)應(yīng)的封裝報(bào)告,根據(jù)在PCB圖像配準(zhǔn)中得到的像素長度與物理長度的關(guān)系求出元器件在像素坐標(biāo)系中的位置、封裝尺寸等信息。元器件封裝報(bào)告、元器件坐標(biāo)文件和元器件封裝尺寸文件如圖6~圖8所示。
系統(tǒng)的ROI框流程圖如圖9所示,在編程完成后對(duì)PCB元器件圖像進(jìn)行測(cè)試,該系統(tǒng)可以較好地生成ROI框,其效果如圖10所示。圖10(a)為原始圖像,圖10(b)為程序運(yùn)行后得到的一個(gè)電容的ROI框,圖中為了顯示圖像的邊界在外圍添加了一圈黑色邊框。在后續(xù)進(jìn)行元器件提取時(shí)只需要用ROI框圖對(duì)原圖進(jìn)行累加,超出255部分直接設(shè)置為255即可得到對(duì)應(yīng)的單個(gè)元器件圖像。
該方法省去了人工逐個(gè)選取ROI的操作步驟,對(duì)系統(tǒng)的ROI框生成只需要運(yùn)行生成ROI框生成程序即可完成,不需要操作人員對(duì)程序的操作流程有十分詳細(xì)的了解。
2.4 元器件檢測(cè)算法
SIFT全稱是尺度不變特征變換算法,基于SIFT特征點(diǎn)的圖像匹配算法能夠解決兩張圖片同一個(gè)物體有位移、轉(zhuǎn)動(dòng)、仿射變換情形下圖像的匹配問題,具有很好的匹配效果。SIFT特征點(diǎn)檢測(cè)是依據(jù)目標(biāo)物的部分特征關(guān)鍵點(diǎn),因此與目標(biāo)物體圖像的大小和是否旋轉(zhuǎn)無關(guān),圖像中光線強(qiáng)度、噪聲或者視角的改變對(duì)SIFT特征檢測(cè)結(jié)果的影響并不是很明顯。該算法以圖像的特征信息進(jìn)行提取、匹配,有效地降低了計(jì)算量。因此,SIFT算法具有較為廣闊的應(yīng)用空間。
SIFT提取圖像特征點(diǎn)大致可分為4個(gè)步驟。首先進(jìn)行尺度空間極值檢測(cè),然后定位特征點(diǎn),最后確定特征點(diǎn)的方向以及特征點(diǎn)描述子[10]。
圖11所示為生成特征向量的過程,圖中選取的窗口大小為8×8,最中間的點(diǎn)為需要描述的特征點(diǎn),周圍的小方塊表示該點(diǎn)對(duì)應(yīng)的鄰近像素點(diǎn)。圖10(a)中眾多的小箭頭表示對(duì)應(yīng)的像素點(diǎn)的梯度方向,梯度模值的大小由箭頭的長度決定。依據(jù)圖10(a)中圓的范圍進(jìn)行高斯加權(quán)運(yùn)算,從而得到圖10(b)。圖10(b)中每個(gè)方格中的梯度方向和梯度模值為圖10(a)中8個(gè)像素點(diǎn)的累加值,得到這4個(gè)累加點(diǎn)合成了一個(gè)關(guān)鍵點(diǎn)的描述,這就形成了一個(gè)32=4×8維度的SIFT特征向量。該方法通過鄰域方向信息整合的過程提高了SIFT算法抵抗噪聲的能力[11],更好地降低了定位誤差帶來錯(cuò)誤匹配的可能性。
3 圖像匹配測(cè)試
在完成SIFT算法提取特征點(diǎn)的過程后,使用上述算法進(jìn)行圖像的匹配測(cè)試,通過檢測(cè)圖像特征點(diǎn)的數(shù)量和匹配耗時(shí)進(jìn)行測(cè)試。分別對(duì)圖12的三種元器件進(jìn)行測(cè)試,結(jié)果如圖13~圖15所示。觀察測(cè)試結(jié)果匯總可以看出SIFT算法對(duì)圖像特征點(diǎn)檢測(cè)的數(shù)量隨著圖像的增大而增長[12],對(duì)物體的位移、仿射變換具有一定的魯棒性,穩(wěn)定性高,適用于電子元器件的匹配性測(cè)試。
4 貼片極性電容字符識(shí)別
貼片電容的字符識(shí)別是基于Tesseract-OCR框架進(jìn)行的,它可以對(duì)圖片中的文字進(jìn)行自動(dòng)分析識(shí)別,并能夠提取出來。Tesseract-OCR框架雖然可以自動(dòng)識(shí)別圖片中的字符,但是圖片中文字和背景必須滿足要求才能識(shí)別文字,否則結(jié)果只會(huì)是無法識(shí)別。所以對(duì)于貼片電容的圖片不可以直接調(diào)用Tesseract-OCR框架進(jìn)行字符的識(shí)別,必須先對(duì)貼片電容的字符圖片進(jìn)行提取,然后合成為規(guī)則的圖片再調(diào)用Tesseract-OCR框架進(jìn)行字符識(shí)別。貼片電解電容實(shí)物圖片如圖16所示。
在進(jìn)行貼片電容表面二值圖像腐蝕前后的減法操作后,可以得到包含電容表面字符和外輪廓的二值圖,如圖17所示。
對(duì)字符二值圖像進(jìn)行高斯濾波和Canny邊緣檢測(cè),并提取圖像的邊緣信息,通過面積計(jì)算公式過濾面積過小和過大的邊緣連通域,結(jié)果如圖18所示。圖18(a)是所有邊緣檢測(cè)出的連通區(qū)域效果圖,圖18(b)是經(jīng)過連通區(qū)域面積過濾算法后所得的字符邊緣圖。
將得到的字符連通區(qū)域圖進(jìn)行圖像分割處理,分割區(qū)域依據(jù)每個(gè)字符連通區(qū)域的外接矩形進(jìn)行確定,分割順序是從最左上角側(cè)開始,逐行掃描,直到分割完成最后一個(gè)字符,并把分割后的字符重新組合成一幅圖片,重組圖像效果圖如圖19(a)所示。對(duì)圖(a)中的字符圖片使用Tesseract-OCR框架進(jìn)行字符識(shí)別可以得到圖19(b)的效果,通過與預(yù)設(shè)的電容型號(hào)對(duì)比可知,該電容正確無誤。
5 結(jié)論
該系統(tǒng)采用樹莓派作為硬件平臺(tái),體積小、成本低,操作簡(jiǎn)便,縮短了系統(tǒng)開發(fā)時(shí)間。本文設(shè)計(jì)完成了圖像的采集存儲(chǔ)以及預(yù)處理,完成了模板庫的制作;通過手動(dòng)添加蒙版的方法提高運(yùn)行效率,使用霍夫變換檢測(cè)圖像定位點(diǎn)對(duì)PCB圖像進(jìn)行定位;介紹了圖像特征點(diǎn)檢測(cè)的SIFT算法,用特征點(diǎn)匹配的方法判斷元器件的正誤;另外還通過圖像分割的方法完成了電容表面字符的識(shí)別。經(jīng)過多次測(cè)試,系統(tǒng)能夠?qū)崿F(xiàn)了元器件正誤的自動(dòng)檢測(cè)及表面字符的識(shí)別。
參考文獻(xiàn)
[1] 王唯康,葉鵬程.高度集成化電子產(chǎn)品中PCB的制造工藝探究[J].科學(xué)技術(shù)創(chuàng)新,2018(30):178-179.
[2] 劉喜科,戴暉.多層HDI板疊孔制造工藝研究[J].印制電路信息,2013(S1):282-289.
[3] 亢宇欣,諶貴輝,張三炳.基于Halcon的貼片電阻方向檢測(cè)系統(tǒng)[J].包裝工程,2017(23):126-130.
[4] 李天宇.基于機(jī)器視覺的PCB元器件在線檢測(cè)[D].杭州:浙江理工大學(xué),2018.
[5] 閆夢(mèng)濤,蘇瑋,冉海周.基于機(jī)器視覺的PCBA元器件實(shí)時(shí)檢測(cè)系統(tǒng)[J].無線電工程,2018,48(4):272-277.
[6] 趙翔宇,周亞同,何峰,等.分層提取匹配印刷電路板元器件缺陷檢測(cè)[J].儀表技術(shù)與傳感器,2018(8):84-89.
[7] 王旭峰,董新民.一種基于HSV色彩空間的加油錐套特征提取方法[J].計(jì)算機(jī)應(yīng)用與軟件,2014,31(6):192-194.
[8] Ren Xiaofeng,Bo Liefeng,F(xiàn)OX D.RGB-(D) scene labeling:Features and algorithms[J].2012 IEEE Conference on Computer Vison and Pattern Recognition,2012.
[9] DJEKOUNE A O,MESSAOUDI K,AMARA K.Incremental circle hough transform: An improved method for circle detection[J].Optik-International Journal for Light and Electron Optics,2017,133:17-31.
[10] 葉禮劼.圖像特征點(diǎn)提取與匹配算法的研究[D].阜新:遼寧工程技術(shù)大學(xué),2017.
[11] 完文韜,楊成禹.改進(jìn)的SIFT算法在圖像特征點(diǎn)匹配中的應(yīng)用[J].長春理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2018,41(1):44-47,52.
[12] 張晨光,周詮,回征.基于SIFT特征點(diǎn)檢測(cè)的低復(fù)雜度圖像配準(zhǔn)算法[J].揚(yáng)州大學(xué)學(xué)報(bào)(自然科學(xué)版),2018,21(4):52-56.
作者信息:
許 艷1,孟令軍1,王志國2
(1.中北大學(xué) 儀器與電子學(xué)院,山西 太原030051;2.上海航天電子技術(shù)研究所,上海201109)