劉宇飛 黃秋實(shí) 霍彥明 王 昱
(河北科技大學(xué) 電氣工程學(xué)院 石家莊 050018)
在通用照明領(lǐng)域,透鏡需求量大,而透鏡在安裝過(guò)程中種類(lèi)繁多,這就對(duì)透鏡識(shí)別效果有了更高的需求[1]。傳統(tǒng)方法采用的機(jī)械定位速度慢、容易對(duì)器件造成損傷,隨著透鏡數(shù)量和復(fù)雜程度的提高,不易達(dá)到現(xiàn)在生產(chǎn)工藝的精度要求。隨著半導(dǎo)體封裝向著系統(tǒng)集成化、小型化、密集化、高精度方向發(fā)展,貼片機(jī)也需要提高其相應(yīng)的貼片速率、精度和穩(wěn)定性,而視覺(jué)識(shí)別技術(shù)是實(shí)現(xiàn)此類(lèi)要求的基礎(chǔ)一環(huán)[2]。Li PL等人設(shè)計(jì)了一種工件邊緣特征檢測(cè)方法,是根據(jù)次特征來(lái)判別工件,該方法檢測(cè)的工件種類(lèi)不多,工件特征比較少[3]。田甜等提出了一種基于OpenCV的PCB板基準(zhǔn)點(diǎn)識(shí)別與定位的算法。該算法可以從復(fù)雜的背景中選取目標(biāo)輪廓,并計(jì)算出輪廓中心坐標(biāo)。此方法有較高的效率和準(zhǔn)確度,能夠滿足基準(zhǔn)點(diǎn)定位的要求。但是對(duì)光源條件較為敏感,對(duì)環(huán)境的需求較為苛刻[4]。
神經(jīng)網(wǎng)絡(luò)是通過(guò)模仿動(dòng)物的神經(jīng)網(wǎng)絡(luò)行為特征并進(jìn)行分布式并行信息處理的一種數(shù)學(xué)算法模型,其有自學(xué)習(xí)、自適應(yīng)、收斂速度快以及逼近能力強(qiáng)等優(yōu)點(diǎn)[5-7]。近年來(lái),不少人將神經(jīng)網(wǎng)絡(luò)應(yīng)用到貼片機(jī)運(yùn)動(dòng)精度控制上[8-10],通過(guò)神經(jīng)網(wǎng)絡(luò)的加入使貼片機(jī)的運(yùn)動(dòng)精度有所提升。然而以上方法都是神經(jīng)網(wǎng)絡(luò)在貼片機(jī)運(yùn)行軌跡的優(yōu)化,但是關(guān)于神經(jīng)網(wǎng)絡(luò)在散點(diǎn)透鏡識(shí)別方面的應(yīng)用還有待進(jìn)一步的探究。
本文將神經(jīng)網(wǎng)絡(luò)訓(xùn)練原理應(yīng)用在貼片機(jī)散點(diǎn)透鏡的識(shí)別領(lǐng)域,經(jīng)過(guò)驗(yàn)證,神經(jīng)網(wǎng)絡(luò)在不同透鏡圖像的識(shí)別與定位上表現(xiàn)突出,通過(guò)對(duì)不同種類(lèi)透鏡特征的識(shí)別訓(xùn)練,能夠達(dá)到快速識(shí)別精準(zhǔn)定位的效果,以縮短貼片機(jī)貼裝時(shí)間,提高生產(chǎn)效率[11]。
在不同的條件下,照明所應(yīng)用的透鏡類(lèi)型不盡相同。在貼片機(jī)散點(diǎn)透鏡放置區(qū)里,透鏡的正反以及偏轉(zhuǎn)角都呈隨機(jī)分布,各個(gè)透鏡在物料區(qū)的位置也沒(méi)有規(guī)律,實(shí)際的貼裝過(guò)程存在較大困難,若想實(shí)現(xiàn)散點(diǎn)透鏡的自動(dòng)貼裝,傳統(tǒng)的模板匹配算法僅能找到大小形狀旋轉(zhuǎn)角度都與模板相同的透鏡,在實(shí)際生產(chǎn)中無(wú)法滿足貼片機(jī)對(duì)散點(diǎn)透鏡的識(shí)別,而卷積神經(jīng)網(wǎng)絡(luò)算法卻可以有效的實(shí)現(xiàn)對(duì)散點(diǎn)透鏡的準(zhǔn)確識(shí)別。
卷積神經(jīng)網(wǎng)絡(luò)算法的基本思路就是通過(guò)對(duì)大量不同特征的透鏡數(shù)據(jù)進(jìn)行訓(xùn)練,找到樣本中的不同透鏡類(lèi)別之間的不同規(guī)律特征和本質(zhì)屬性。在卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練的過(guò)程中,不同的卷積層能夠有效的實(shí)時(shí)改變網(wǎng)絡(luò)參數(shù)并進(jìn)行數(shù)據(jù)的迭代與更新,進(jìn)而提高貼片機(jī)的工作效率。CNN搭建以及識(shí)別流程如圖1所示。
通過(guò)圖1所示的應(yīng)用設(shè)計(jì)思路進(jìn)行散點(diǎn)透鏡的識(shí)別可以有效的對(duì)不同種類(lèi)的透鏡進(jìn)行識(shí)別,相比于傳統(tǒng)的模板匹配算法,卷積神經(jīng)網(wǎng)絡(luò)算法的識(shí)別率更高,并且可以針對(duì)更多形狀的透鏡進(jìn)行識(shí)別,較好的拓寬了散點(diǎn)式貼片機(jī)的應(yīng)用領(lǐng)域。
圖1 神經(jīng)網(wǎng)絡(luò)搭建及識(shí)別流程
在神經(jīng)網(wǎng)絡(luò)訓(xùn)練之前,需要準(zhǔn)備大量的圖像數(shù)據(jù)。由于透鏡是生活中常見(jiàn)的光學(xué)元件,在天文、軍事、交通、醫(yī)學(xué)、藝術(shù)等領(lǐng)域發(fā)揮著重要作用,且其種類(lèi)多,形狀各異,大小不同,因此適宜用神經(jīng)網(wǎng)絡(luò)進(jìn)行分類(lèi)識(shí)別訓(xùn)練,在數(shù)據(jù)不斷迭代過(guò)程中提取本質(zhì)特征,并將訓(xùn)練好權(quán)重參數(shù)的神經(jīng)網(wǎng)絡(luò)應(yīng)用到之后的識(shí)別之中。本項(xiàng)目在實(shí)施過(guò)程中,將以不同種類(lèi)的透鏡為數(shù)據(jù)樣本,進(jìn)行完整的神經(jīng)網(wǎng)絡(luò)訓(xùn)練。
如圖2所示,由于散落在物料區(qū)內(nèi)的透鏡位置是隨機(jī)的,所以存在類(lèi)型不確定,角度歪斜,正反不一等問(wèn)題,因此在采集數(shù)據(jù)過(guò)程中,必須要考慮到不同透鏡的實(shí)際狀態(tài),針對(duì)不同狀態(tài)的透鏡做到精準(zhǔn)識(shí)別。
圖2 不同種類(lèi)透鏡及其不同狀態(tài)
由于網(wǎng)絡(luò)結(jié)構(gòu)可以接收的數(shù)據(jù)格式是固定的,因此在將數(shù)據(jù)喂給網(wǎng)絡(luò)之前,需要將數(shù)據(jù)樣本進(jìn)行預(yù)處理。
圖像的預(yù)處理需要樣本提純,其目的是剔除掉部分由于曝光過(guò)度等因素導(dǎo)致的不能被使用的數(shù)據(jù),消除圖像采集過(guò)程中這些非典型數(shù)據(jù)對(duì)后續(xù)識(shí)別帶來(lái)的影響。
然后需要對(duì)提純后的樣本進(jìn)行標(biāo)準(zhǔn)化或歸一化處理,這樣做一來(lái)可以保留目標(biāo)原始數(shù)據(jù)特性,二來(lái)可以使圖形中的目標(biāo)特征信息更加鮮明,具體的標(biāo)準(zhǔn)化的數(shù)學(xué)表達(dá)如式(1)、式(2)所示:
式中:
μ—圖像的均值;
x—表示圖像矩陣;
σ—表示標(biāo)準(zhǔn)方差;
N—表示圖像x的像素?cái)?shù)量。
圖像標(biāo)準(zhǔn)化處理是將數(shù)據(jù)通過(guò)去均值實(shí)現(xiàn)中心化的處理,根據(jù)凸優(yōu)化理論與數(shù)據(jù)概率分布相關(guān)知識(shí)以及數(shù)據(jù)中心化符合數(shù)據(jù)分布規(guī)律,通過(guò)此方式處理的圖像訓(xùn)練之后的泛化效果更強(qiáng)。
為了增加數(shù)據(jù)的多樣性。本文在預(yù)處理階段進(jìn)行圖形擴(kuò)充,通過(guò)對(duì)原始數(shù)據(jù)集圖像進(jìn)行旋轉(zhuǎn)、鏡像、裁切等操作,將圖片的空間特征多樣性呈現(xiàn),這樣不僅可以有效的完成對(duì)數(shù)據(jù)集樣本的擴(kuò)充還可以使訓(xùn)練出來(lái)的模型具有更好的魯棒性。
經(jīng)過(guò)圖像提純、增強(qiáng)以及歸一化等操作之后需要對(duì)圖像進(jìn)行批量標(biāo)準(zhǔn)化,將圖像resize成圖像神經(jīng)網(wǎng)絡(luò)訓(xùn)練所需要的數(shù)據(jù)格式,本項(xiàng)目對(duì)透鏡標(biāo)準(zhǔn)化成96*96*3像素的RGB格式的圖像。之后則進(jìn)行卷積神經(jīng)網(wǎng)絡(luò)的搭建與訓(xùn)練學(xué)習(xí)。
神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)示意圖如圖3所示。在輸入層之前,需要將采集到的訓(xùn)練集圖片進(jìn)行標(biāo)準(zhǔn)化、歸一化處理,使訓(xùn)練數(shù)據(jù)達(dá)到符合要求的格式。
圖3 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
在輸入層的目的是將預(yù)處理之后批量標(biāo)準(zhǔn)化成96*96*3的RGB圖像數(shù)據(jù)輸入給神經(jīng)網(wǎng)絡(luò)。卷積層通過(guò)局部計(jì)算做到全局感知,在CNN神經(jīng)網(wǎng)絡(luò)識(shí)別過(guò)程中首先對(duì)于圖片中的每一個(gè)特征局部感知,然后更深層次的卷積層對(duì)局部進(jìn)行綜合操作,從而得到全局信息。卷積層的Padding設(shè)置為向上補(bǔ)零模式,步長(zhǎng)設(shè)置為1。添加Padding后,可以有效地提取到圖像輪廓特征,避免神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過(guò)程中圖像邊緣部分參與卷積運(yùn)算次數(shù)過(guò)少導(dǎo)致的信息丟失問(wèn)題。
在激勵(lì)層,對(duì)每個(gè)卷積層的輸出結(jié)果做一次非線性映射,用卷積的方式處理,也就是對(duì)每個(gè)像素點(diǎn)賦予一個(gè)權(quán)值,這個(gè)操作是線性的,而對(duì)于樣本并非線性可分,因此在激勵(lì)函數(shù)層引入非線性因素,采用RELU函數(shù)作為非線性映射的激勵(lì)函數(shù),解決線性模型不能解決的問(wèn)題。
在池化層完成對(duì)特征圖數(shù)據(jù)信息的壓縮,一方面使特征圖像變小,簡(jiǎn)化網(wǎng)絡(luò)計(jì)算復(fù)雜度;另一方面進(jìn)行特征壓縮,提取圖像主要特征。
經(jīng)過(guò)若干次卷積、激勵(lì)、池化后,在輸出層進(jìn)行簡(jiǎn)單的對(duì)比分類(lèi),從而輸出結(jié)果。
卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程分為兩個(gè)階段。一個(gè)使前向傳播階段:該階段是數(shù)據(jù)特征信息的提取階段,通過(guò)不斷深化的卷積層與激勵(lì)函數(shù)的非線性映射,神經(jīng)網(wǎng)絡(luò)完成信息逐漸由低層次的表層紋理特征向高層次特征的提取。另外一個(gè)階段是隨機(jī)梯度下降的反向傳播階段,通過(guò)前向傳播得出的結(jié)果與數(shù)據(jù)訓(xùn)練集真實(shí)值進(jìn)行對(duì)比得到損失函數(shù),再通過(guò)損失函數(shù)對(duì)權(quán)重求偏導(dǎo)數(shù)的形式,完成誤差數(shù)據(jù)從后向到前向的傳播與更新。訓(xùn)練過(guò)程如圖4所示。
圖4 神經(jīng)網(wǎng)絡(luò)訓(xùn)練流程
在完成卷積神經(jīng)網(wǎng)絡(luò)的搭建以及學(xué)習(xí)訓(xùn)練后,即可用來(lái)進(jìn)行識(shí)別。識(shí)別過(guò)程需要進(jìn)行以下步驟:重置并初始化傳感器;設(shè)置圖像采集窗口;調(diào)整相機(jī)獲取頻率;調(diào)用神經(jīng)網(wǎng)絡(luò)進(jìn)行比對(duì)識(shí)別。
1)要對(duì)傳感器進(jìn)行重置初始化。在設(shè)置好傳感器數(shù)值之后,即能進(jìn)行待識(shí)別圖像的獲取工作。
2)設(shè)置圖像采集窗口。將OpenMV的攝像頭采集窗口設(shè)置為240*240。只有處于在設(shè)定的區(qū)域內(nèi)的數(shù)據(jù),才能作為有效數(shù)據(jù)進(jìn)行識(shí)別。
3)調(diào)整相機(jī)拍攝頻率。不同的相機(jī)拍攝頻率意味著可獲得不同的幀數(shù),將相機(jī)獲取頻率設(shè)定為每2 000 ms拍攝一次。這樣就等識(shí)別不同時(shí)間的多幀圖像,做到更加精準(zhǔn)。
獲取了符合格式要求的圖像之后,調(diào)用搭建好的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),在不同的卷積層進(jìn)行多次分析比對(duì),利用圖像窗口滑動(dòng),對(duì)局部數(shù)據(jù)進(jìn)行計(jì)算,參考每個(gè)神經(jīng)元的擬定的權(quán)值,進(jìn)行識(shí)別判斷。在不同的卷積層中間加入池化層,用于壓縮數(shù)據(jù)和參數(shù)的量,減小過(guò)擬合現(xiàn)象。
對(duì)兩種透鏡以及正反兩種狀態(tài)的識(shí)別進(jìn)行初步實(shí)驗(yàn),得出實(shí)驗(yàn)數(shù)據(jù)如表1。
由表1中數(shù)據(jù)可知:對(duì)于不同的透鏡類(lèi)型識(shí)別,準(zhǔn)確率不同。識(shí)別效果也受到實(shí)際環(huán)境的影響,如:光線強(qiáng)弱、攝像頭質(zhì)量等。整體準(zhǔn)確率高,在增加訓(xùn)練數(shù)據(jù)之后,神經(jīng)網(wǎng)絡(luò)識(shí)別能夠做到更高的精準(zhǔn)度。
表1 訓(xùn)練及測(cè)試數(shù)據(jù)
本文主要研究了神經(jīng)網(wǎng)絡(luò)在貼片機(jī)識(shí)別透鏡過(guò)程中的應(yīng)用,將神經(jīng)網(wǎng)絡(luò)訓(xùn)練的方法應(yīng)用到散點(diǎn)透鏡識(shí)別中,并具有以下特點(diǎn):首先、該方法在保證檢測(cè)精度的同時(shí)運(yùn)算時(shí)間較少,所以透鏡的檢測(cè)效率較高。其次、神經(jīng)網(wǎng)絡(luò)的散點(diǎn)式透鏡識(shí)別方法自適應(yīng)性高、可修改性強(qiáng),能夠針對(duì)不同的處理對(duì)象進(jìn)行數(shù)據(jù)集的調(diào)整、提高了散點(diǎn)式貼片機(jī)的適用范圍。
通過(guò)實(shí)驗(yàn),證明該方法在檢測(cè)精度和檢測(cè)時(shí)間上均能滿足貼片機(jī)的實(shí)際生產(chǎn)要求。利用本文介紹的神經(jīng)網(wǎng)絡(luò)訓(xùn)練識(shí)別方法能夠?qū)ιⅫc(diǎn)透鏡進(jìn)行無(wú)接觸的、高精度的辨識(shí)定位,具有高精度、高效率的優(yōu)勢(shì),是今后發(fā)展的主流。但是,對(duì)于多種差別不明顯透鏡同時(shí)存在的情況下,仍存在著學(xué)習(xí)識(shí)別不流暢的問(wèn)題,處理過(guò)程仍需完善。