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