王 帆,伍世虔
(1.武漢科技大學(xué)計算機科學(xué)與技術(shù)學(xué)院,湖北 武漢 430065; 2.武漢科技大學(xué)信息科學(xué)與工程學(xué)院,湖北 武漢 430081)
隨著電子業(yè)的高速發(fā)展,精密設(shè)備對柔性電路板質(zhì)量的精度要求越來越高[1]。為了滿足產(chǎn)品質(zhì)量與生產(chǎn)效率,傳統(tǒng)的人工檢測方法由于效率低下,測量不準等問題已無法滿足當前的需要[2-3],將機器視覺技術(shù)應(yīng)用到電路板檢測上非常必要[4-6]。
在電路板缺陷檢測過程中,圖像的預(yù)處理階段尤為重要。圖像配準的結(jié)果會直接影響到缺陷檢測的結(jié)果[7-9]。對于一個實時檢測系統(tǒng)而言,圖像配準的精度與效率都十分重要。因此在設(shè)計電路板檢測系統(tǒng)時,好的配準方法非常關(guān)鍵[10-11]。國內(nèi)外已經(jīng)提出了各種不同配準方法,總的來說可分為2類:基于區(qū)域的實現(xiàn)以及基于特征的實現(xiàn)[12-14]。對于高分辨率高密度的柔性印刷電路板(FPC)圖像的配準,基于電路板的Mark點對應(yīng)關(guān)系,使用到了基于區(qū)域的實現(xiàn)方法。
基于區(qū)域的實現(xiàn)主要是利用電路板上的特有的形狀進行對應(yīng)配準[15-17],例如龔偉等人[18]利用連通區(qū)域的特征,通過匹配實現(xiàn)配準;黨欣等人[19]利用閉合區(qū)域特征匹配的方法實現(xiàn)圖像配準。
利用區(qū)域進行配準的主要問題在于,對應(yīng)的區(qū)域在不同圖像上有不同的表現(xiàn)[20],因此采集圖片的精度會影響匹配精度。本文利用電路板工程圖解析得到模板圖,根據(jù)矢量圖原理可以得到較完美的區(qū)域圖像,再利用mipmap的原理,實現(xiàn)多模板的制作,通過選取不同的模板來減小采集導(dǎo)致的誤差,并且可以改善高分辨率文件計算量過大問題。
基于特征的實現(xiàn)算法,在提取特征比如點、邊緣等要素時,需要大量運算[21-22],并且由于電路板圖像分辨率高,致使運算量進一步增大,導(dǎo)致效率較低[23]。因此本文針對電路板的復(fù)雜圖像提出一種基于連通域特征的算法。
對于FPC在線檢測系統(tǒng),檢測的實時性尤為重要,因此在圖像配準階段,需要關(guān)注配準速度與配準精度是否能達到檢測系統(tǒng)的要求。在線檢測設(shè)備使用固定的工業(yè)相機采樣,為了保證效率會對整塊FPC板進行檢測,因此圖像分辨率會較大,圖像細節(jié)非常復(fù)雜,對于運動的流水線設(shè)備,圖像配準階段耗時就需要特別關(guān)注?,F(xiàn)有配準方法各有特點,但在處理時使用原始圖像會出現(xiàn)分辨率過大的問題,從而影響處理速度。
基于模板的方法是通過已解析出的模板圖的mipmap采樣處理來實現(xiàn)配準,而不一定直接使用到模板圖本身,因此在算法實際運行時可以減少計算量從而提升效率。而對于測試圖像則使用多重采樣方法,從而獲得更好的圖像質(zhì)量。
mipmap是一種紋理圖縮放存儲的技術(shù),可以表示紋理的不同層次細節(jié),如圖1所示。
圖1 mipmap紋理表示
為了提升匹配速率,可以減小處理圖像的分辨率,因此可以生成模板mipmap貼圖,得到多分辨率模板,以供配準使用。
實際處理時有2種方法:點過濾與線性過濾。點過濾是選取mipmap等級對應(yīng)圖片和縮小后的圖片大小最接近的一張,然后進行線性插值法或者常量插值法;線性過濾則是選取2張mipmap等級相鄰的圖片,使得縮小后的圖片大小在2圖像之間,然后對2張圖像進行常量插值法或者線性插值法分別取得顏色結(jié)果,最后對2個顏色結(jié)果進行線性插值。根據(jù)圖像實際情況與算法需求可以選擇不同方法。
多重采樣通過對單個像素進行多次采樣來計算最終像素顏色,而多次采樣的樣本則來自該像素覆蓋范圍。例如4倍多重采樣,會根據(jù)周圍4個像素位置以及顏色狀態(tài)來進行采樣,計算得到當前像素顏色。如圖2所示,利用多重采樣可以獲得反走樣效果。
圖2 多重采樣效果
反走樣后可以更好地改善邊緣鋸齒情況,如圖3所示,此時采用線性插值法可以獲得更好的邊緣效果。
圖3 常量插值(左)與線性插值(右)
在進行連通域處理之前需要進行預(yù)處理操作,首先是進行去噪、光照校正等處理,在此基礎(chǔ)上進行二值化提取可以得到更好的結(jié)果。而對于模板圖,由于解析得到的圖片不存在光照不均等問題,可以直接進行二值化處理。
目前,連通域檢測方法已經(jīng)較為完善,針對不同情況的圖像都有比較好的解決方法,有的算法一次遍歷即可,有的則需要多次遍歷圖像,因此會造成不同的時間復(fù)雜度問題。本文使用基于行程的標記方法,只對圖像進行一次遍歷,在進行行掃描時記錄連續(xù)的序列,通過每一行的上下匹配,將序列合并,最后進行標記得到完整的域即可。連通域檢測后的結(jié)果如圖4所示。
圖4 連通域檢測結(jié)果
基于區(qū)域輪廓的形狀特征描述只需要利用到特征的邊界信息,而基于區(qū)域的特征需要更大的計算量。因此為了提升匹配效率,本文使用DCT描述子來描述邊界特征信息。
DCT變換類似于離散傅里葉變換,不同的是只使用了實數(shù)部分,相當于長度為2倍的離散傅里葉變換。該變換是對實偶函數(shù)進行的,常應(yīng)用于圖像壓縮。
一維DCT變換常用形式為:
(1)
(2)
其中f(i)為原始信號,F(xiàn)(u)是DCT變換后的系數(shù),N為原始信號的點數(shù),c(u)為補償系數(shù)。
而二維DCT變換是在一維變換的基礎(chǔ)上再進行了一次DCT變換,即:
(3)
(4)
上面只討論了方陣的情況,當對圖像使用DCT變換時,通過補齊矩陣信息,變換后再去掉矩陣補齊部分即可。
二維DCT變換是將圖像從空間域轉(zhuǎn)換到頻率域,也就是,計算得到圖像特征的組成由哪些二維余弦波構(gòu)成。
因為圖像是相關(guān)性較大的矩陣,對圖片進行DCT變換后,會發(fā)現(xiàn)信息集中在左上角,其中左上角是低頻分量,右下角則是高頻分量。變換后的低頻系數(shù)是對圖像中目標的輪廓及灰度分布特性描述,而高頻系數(shù)則是與目標形狀細節(jié)相關(guān)。該算法使用區(qū)域輪廓進行圖像匹配操作,F(xiàn)PC板模板圖、灰度圖、二值化結(jié)果如圖5所示,DCT變換結(jié)果如圖6所示。
圖5 模板圖(左)、灰度圖(中)與二值化結(jié)果(右)
圖6 DCT變換結(jié)果
可以看到,F(xiàn)PC圖像經(jīng)DCT變換后,主要信息集中到左上角,而對于右下部分的不重要信息只需要較少的位置即可存儲,噪聲等信息就存儲在這一部分。
圖7為逆變換后得到的結(jié)果,可以發(fā)現(xiàn)圖像信息損失很少。
圖7 逆變換結(jié)果
而后根據(jù)變換后的信息聚集度條件,進行匹配運算,計算得到距離值最近的對應(yīng)輪廓。此時對應(yīng)輪廓即為模板與被測圖相應(yīng)的匹配結(jié)果,最后據(jù)此計算出相應(yīng)的變換對齊參數(shù)。
匹配階段使用圖像的DCT描述信息,進行輪廓形狀定位的最小距離匹配。參考圖像與待檢圖像兩者描述信息之間的歸一化距離定義如下:
(5)
式中φR表示參考圖像的DCT描述信息,φS表示待檢圖像的DCT描述信息。該方法類似計算歐氏距離,在其基礎(chǔ)上除上φR得到歸一化后的距離。如圖5所示,描述子為一個二維圖像,將其看作一個二維矩陣數(shù)據(jù),選取的描述子大小即為p,公式相應(yīng)地計算了每個候選對象輪廓描述信息,候選對象數(shù)量為k。通過上式計算后,最小值的候選對象即被視為目標對象。
最后,將參考對象與相應(yīng)的目標對象匹配計算得到平移、旋轉(zhuǎn)等參數(shù),由兩者輪廓的對應(yīng)的匹配點信息,根據(jù)仿射變換原理可求得仿射變換矩陣,此結(jié)果即為對應(yīng)圖像的變換信息。
模板圖如圖8所示,為便于觀察,使用程序?qū)D片進行一定角度的旋轉(zhuǎn)以及一定的平移,變換結(jié)果如圖9所示,待測變換圖配準后結(jié)果如圖10所示。
圖8 原圖
圖9 變換后的待測圖
圖10 配準結(jié)果圖
可以看到,結(jié)果使用肉眼觀察時,效果較佳,具體效果見下文實驗分析。
綜上,本算法流程如圖11所示。
圖11 算法流程
采用本文提到的mipmap對模板進行采樣,測試模板分辨率為5183×5907,分別采用不同等級的mipmap圖像進行處理,而后使用算法平移得到多組平移圖像數(shù)據(jù),x、y軸每次平移固定距離。同樣,使用算法旋轉(zhuǎn)得到多組角度數(shù)據(jù),分別計算出均方誤差(MSE)與平均誤差(MAE)大小,結(jié)果如表1所示。
表1 不同等級mipmap計算平移、旋轉(zhuǎn)結(jié)果
從表1可以得到,原圖計算準確率更高,但是相對地圖像分辨率也更大,而高分辨率意味著大計算量,因此效率相對而言非常低下。從表中0.5與0.3等級的采樣結(jié)果可以看到,此時算法處理誤差已經(jīng)較小,同時計算時間有很大提升。因此在實際生產(chǎn)中,使用該方法更有利,同時由于模板預(yù)處理可以事先處理,因此不需要占用計算時間,而與原圖相比更小的分辨率意味著更少的資源占用,更利于不同機器的運行。
此外,將本文算法與一般的連通域匹配算法以及基于SURF的特征點匹配算法進行對比,隨機產(chǎn)生平移量與旋轉(zhuǎn)量,分別計算不同等級下的誤差以及相應(yīng)的時間消耗,結(jié)果如表2所示。
表2 本文算法與連通域匹配算法、特征點匹配算法對比
由表2可以看出使用原圖時2種算法誤差基本一致,但相應(yīng)的基本匹配算法耗時長;而在使用mipmap處理后,用時都明顯減少,而本文算法速度方面仍有優(yōu)勢,誤差方面,匹配算法誤差波動變大,而本文算法較為穩(wěn)定。初步分析是由分辨率變小后,原圖輪廓出現(xiàn)模糊、鋸齒等現(xiàn)象,導(dǎo)致直接匹配效果變差。算法使用DCT變換產(chǎn)生的描述信息進行匹配,所受干擾會更小,因此本文算法應(yīng)用到實時檢測系統(tǒng)上時具有一定優(yōu)勢。另一方面,基于點特征的匹配算法效率相較而言更低,而精度則相對較高,通過分析測試圖像,發(fā)現(xiàn)圖像較小細節(jié)很多,因此檢測特征點時花費了很多時間。
考慮到mipmap影響分辨率,會直接影響到處理效率,因此不做更多討論。然后,使用如圖12~圖14所示的多個電路板圖像進行比較實驗,具體結(jié)果如表3所示。
圖12 實驗圖1
圖13 實驗圖2
圖14 實驗圖3
表3 使用其他圖像實驗對比結(jié)果
分析表3可以發(fā)現(xiàn),特征點算法精度更高,而在多組實驗中,其效率都較低??梢缘贸?,針對此類型的電路板圖像而言,因其圖像細節(jié)相對其他圖像要多得多,因此對于特征檢測效率有很大影響;同樣地,細節(jié)過多也會影響連通域的檢測,與特征檢測相比較,則影響較小。而連通域方法精度則較差,因此具體工業(yè)實現(xiàn)時,可能需要一定的優(yōu)化以符合生產(chǎn)要求。
根據(jù)多次實驗數(shù)據(jù)的上下波動,可以知道,圖像的細節(jié)特征很大程度上決定了算法的效率,因此實際應(yīng)用時需要特別分析比較;此外,算法的精度方面,由于算法會根據(jù)多對匹配數(shù)據(jù)進行運算,因此當圖片細節(jié)方面變化不是很大時并不會有很大影響。
連通域算法在圖像缺陷檢測方面已獲得廣泛應(yīng)用,本文使用mipmap處理模板,生成多分辨率模板,從而加快配準速度。此外,多重采樣技術(shù)處理被測圖片,可以改善圖片質(zhì)量,有利于輪廓的識別與信息提取,同時該圖片還可為后續(xù)缺陷檢測過程提供更好的處理效果。而使用到的DCT描述子,可以生成輪廓信息描述,對連通域輪廓匹配有更好的幫助,同時一定程度上減少了噪聲、光照等的影響。實驗表明,該算法提高了電路板配準的效率,同時可以保證較好的精度。