胡靜,于正林
(長春理工大學(xué) 機(jī)電工程學(xué)院,長春 130022)
以橡膠為材料的汽車油封是一種重要的精密零件,在油封生產(chǎn)過程中極容易形成尺寸誤差而造成漏油的現(xiàn)象[1-2]。傳統(tǒng)的人工尺寸檢測方法不僅檢測速度慢,而且由于油封固有的彈性易給人工尺寸檢測精度帶來很大不確定性[3-4],無法適應(yīng)于當(dāng)前高效快速的現(xiàn)代化工業(yè)生產(chǎn)。當(dāng)前非接觸、自動化的零件尺寸測量方法成為眾多學(xué)者的研究方向[5-6]。吳彰良采用Otsu和形態(tài)學(xué)腐蝕算法完成了油封圖像的輪廓提取,利用Hough圓變換求出圓參數(shù),實(shí)驗驗證檢測精度小于0.05 mm[7]。Arsalan團(tuán)隊設(shè)計了一種在抗環(huán)境干擾的同時實(shí)現(xiàn)環(huán)形零件的直徑檢測的檢測系統(tǒng),還可實(shí)現(xiàn)同樣特征零件的計數(shù)功能,測量的準(zhǔn)確率可達(dá) 99%[8]。謝紅、廖志杰等人[9]利用CCD相機(jī)采集圓形零件圖像后,對于同心圓的檢測提出區(qū)域最小二乘擬合方法,經(jīng)實(shí)驗驗證系統(tǒng)誤差小于0.2 mm。
然而上述尺寸檢測方法無法達(dá)到高精度檢測要求,為更好的滿足零件的高精度尺寸檢測,本文以PCNN模型為基礎(chǔ),PCNN即脈沖耦合神經(jīng)網(wǎng)絡(luò),在處理圖像時像素灰度值相近的神經(jīng)元會同時發(fā)出脈沖信號,這種特性在很大程度上減少出現(xiàn)邊緣間斷和雙邊緣現(xiàn)象的可能性,且該網(wǎng)絡(luò)具有不需要提前學(xué)習(xí)和訓(xùn)練[10-11],滿足系統(tǒng)實(shí)時在線處理要求。本文將雙邊濾波和Canny算子的思想與PCNN算法相結(jié)合,提出一種基于改進(jìn)PCNN的汽車油封尺寸檢測方法,對待測油封圖像進(jìn)行邊緣檢測以保留油封真實(shí)邊緣,采用隨機(jī)霍夫變換圓檢測的優(yōu)化算法進(jìn)行圓擬合,實(shí)現(xiàn)汽車油封內(nèi)徑和外徑的高精度尺寸檢測。
經(jīng)典的PCNN的模型參數(shù)過多,考慮到至今沒有恰當(dāng)?shù)膮?shù)設(shè)定方法且參數(shù)過多影響圖像處理的實(shí)時性,因此通常都使用簡化過的PCNN模型結(jié)構(gòu),如圖1所示。
圖1 PCNN簡化模型結(jié)構(gòu)圖
簡化的PCNN模型主要分為信號接收部分、內(nèi)部調(diào)制部分和信號產(chǎn)生部分。接收的信號主要來自鄰域內(nèi)的脈沖信號和外界刺激信號的輸入,也就是反饋輸入F和連接輸入L這兩部分。PCNN應(yīng)用于邊緣檢測時,通常將圖像的灰度值作為信號初始值賦給F,當(dāng)模型輸出一次脈沖信號后,F(xiàn)需接收鄰域像素神經(jīng)元的輸出信號和外界施加的激勵信號等。而連接輸入L受鄰域像素神經(jīng)元輸出的加權(quán)和信號的F影響。
在內(nèi)部調(diào)制部分存在相乘調(diào)制結(jié)構(gòu),即給連接輸入L添加神經(jīng)元間強(qiáng)度系數(shù)β后,令F與引入系數(shù)的L相乘而得到U,U為神經(jīng)元的內(nèi)部活動項。在脈沖信號產(chǎn)生部分引入了動態(tài)閾值E來調(diào)節(jié)神經(jīng)元脈沖輸出狀態(tài),神經(jīng)元的狀態(tài)是由在階躍函數(shù)中對U和E的大小比較結(jié)果來決定的。當(dāng)U>E時,神經(jīng)元呈激發(fā)狀態(tài),此時閾值調(diào)節(jié)器啟動放大系數(shù)VE,使E迅速增大至U≤E,結(jié)束神經(jīng)元激發(fā)狀態(tài)且保證不會立刻再次激發(fā)。隨后動態(tài)閾值調(diào)節(jié)器使閾值E呈指數(shù)衰減,直到再一次達(dá)到U>E這個點(diǎn)火的條件。神經(jīng)元的脈沖輸出就是在動態(tài)閾值E的不斷重復(fù)上述變化過程中產(chǎn)生的。
由于傳統(tǒng)的PCNN神經(jīng)元模型中存在大量的參數(shù)和運(yùn)算,給神經(jīng)元模型的分析和優(yōu)化過程增添了很多麻煩,很多參數(shù)的確定不僅需要操作者的工作經(jīng)驗,更要依靠大量的實(shí)驗進(jìn)行對比分析,這樣不僅工作量大而且具有很大不確定性,導(dǎo)致對圖像處理效果不理想。故在保證PCNN模型特性的前提下,簡化的數(shù)學(xué)模型公式如下所示:
式中,反饋輸入Fij(n)等于圖像像素的灰度值Iij;Wijxy表示像素點(diǎn)(i,j)與鄰域像素點(diǎn)(x,y)之間的連接權(quán)系數(shù);Yxy(n-1)為上一次迭代后的脈沖輸出;式(3)表示內(nèi)部調(diào)制中的相乘機(jī)制;式(4)表示n-1次神經(jīng)元迭代輸出完成后,第n次迭代中動態(tài)閾值Eij(n)受衰減系數(shù)αE的影響瞬間減小,從而調(diào)節(jié)神經(jīng)元狀態(tài);式(5)表示第n次迭代中的脈沖輸出,只有0或1兩種狀態(tài),即當(dāng)Uij(n)>Eij(n)時,神經(jīng)元激發(fā)點(diǎn)火而輸出1,反之輸出0;以上系數(shù)均常設(shè)定為固定值,其中連接權(quán)系數(shù)Wijxy通常令其等于兩個神經(jīng)元位置的距離平方的倒數(shù):
由前文分析可知,在傳統(tǒng)PCNN簡化模型中,點(diǎn)火時刻tfm值取決于像素灰度值Iij和連接輸入Lij的耦合調(diào)制,即可說明位置相近、灰度值相近的神經(jīng)元同時激活的概率與連接權(quán)系數(shù)Wijxy有很大關(guān)系。在傳統(tǒng)PCNN模型中,Wijxy的倒數(shù)等于位置在(i,j)的神經(jīng)元和(x,y)的神經(jīng)元之間歐幾里德距離平方。本文結(jié)合雙邊濾波加權(quán)系數(shù)的概念,不僅考慮到歐幾里德距離對中心像素的影響,更考慮到空間域的影響。改進(jìn)后的PCNN簡化模型如圖2所示。
圖2 PCNN模型優(yōu)化圖
如圖2所示,改進(jìn)后的連接權(quán)系數(shù)為,其表達(dá)式為:
式中,σs為空間域的尺度;σr代表像素域的尺度。該思想的引入,使得PCNN模型在對像素神經(jīng)元處理時,考慮到空間域和像素域兩方面。在空間域方面,連接權(quán)系數(shù)隨著兩個神經(jīng)元距離的增加而減少,避免對圖像產(chǎn)生“過分割”現(xiàn)象;眾所周知在像素域方面,圖像邊緣處像素值大小變化明顯,相對應(yīng)的像素域的權(quán)重占比增大,能夠增大灰度值高、低的像素點(diǎn)間的差異,有效保留圖像真實(shí)的邊緣信息,使目標(biāo)像素更完整地被分割。
由簡化的PCNN數(shù)學(xué)表達(dá)式(4)可知,該模型中有αE、VE兩個參數(shù),本文將從神經(jīng)元點(diǎn)火狀態(tài)的角度來分析以上參數(shù)對其影響,實(shí)現(xiàn)網(wǎng)絡(luò)參數(shù)的自適應(yīng)。由上文可知,在其他條件一定的情況下,衰減系數(shù)αE越小,神經(jīng)元的點(diǎn)火狀態(tài)就會越提前激發(fā),點(diǎn)火的周期增大,此時呈現(xiàn)出模型的脈沖耦合特性,模型的數(shù)學(xué)耦合性質(zhì)隱藏。令油封圖像中灰度值最大值和最小值分別為Imax、Imin,相對應(yīng)的第二次點(diǎn)火時刻為tf2a、tf2b,則滿足如下公式(8)的條件可使模型完全展現(xiàn)出脈沖耦合特性。
為了提高網(wǎng)絡(luò)運(yùn)行效率,盡可能使灰度值為Imax的神經(jīng)元在tf2時刻發(fā)生點(diǎn)火,對神經(jīng)元第二次點(diǎn)火進(jìn)行分析。理論下第P次迭代時灰度值的神經(jīng)元發(fā)生第2次點(diǎn)火的條件應(yīng)滿足以下公式:
則放大系數(shù)VE的表達(dá)式為:
綜合公式(8)和公式(10),分別求出神經(jīng)元Imax和神經(jīng)元Imin滿足點(diǎn)火條件的VEa和VEb:
首先,修身的關(guān)鍵需要體認(rèn)天理,程朱理學(xué)認(rèn)為天理主要在自身之外,因此要體認(rèn)天理就需要到自身之外的事事物物當(dāng)中,特別是圣賢書當(dāng)中,去格物窮理。通過今日格一物明日格一物的日積月累,最終會對外在于自身的天理有一個豁然貫通的頓悟。
為了使模型完全展現(xiàn)出脈沖耦合特性,所有神經(jīng)元均可發(fā)生二次點(diǎn)火,即VEa=VEb,即可推導(dǎo)出衰減系數(shù)αE:
本文將在改進(jìn)PCNN的基礎(chǔ)上,結(jié)合Canny算子在邊緣檢測方面的優(yōu)勢,實(shí)現(xiàn)對汽車油封真實(shí)邊緣的檢測。初始化改進(jìn)后的PCNN網(wǎng)絡(luò)模型,設(shè)置好模型中各個參數(shù),自適應(yīng)獲取αE、VE,當(dāng)油封圖像中所有位置神經(jīng)元都被激活后,輸出邊緣檢測效果圖。這時邊緣檢測后的圖為二值圖,標(biāo)記二值圖中為1的邊緣點(diǎn)位置,采用Sobel濾波器來計算這些點(diǎn)在灰度圖像中相對應(yīng)位置像素的梯度幅值和方向,灰度值模板示意圖如圖3所示,I1-I9為像素點(diǎn)灰度值。
圖3 灰度值模板示意圖
運(yùn)用模板依次求出x方向和y方向梯度Gx和Gy:
則梯度大小G和方向θ分別為:
使用上述公式獲得油封圖像邊緣梯度值后,引入Canny非極大值抑制思想,即在像素點(diǎn)梯度方向上來比較鄰域值的大小,即對于使用上述公式計算的每一點(diǎn)梯度方向θ,沿著梯度方向以該點(diǎn)為中心在其前后各取一個像素點(diǎn)并比較三點(diǎn)的幅值大小。只有中心值最大時保留該點(diǎn)并置1,其他情況中心值均置0,以此獲得油封圖像的真實(shí)邊緣的像素級坐標(biāo)?;诟倪M(jìn)后的PCNN模型與非極大值抑制相結(jié)合,極大地削弱了圖像過分割和欠分割的可能性,在保留油封圖像真實(shí)邊緣輪廓的同時僅保留輪廓的細(xì)線條,為接下來的高精度油封尺寸檢測做好前期圖像處理工作。改進(jìn)的PCNN邊緣檢測算法流程圖如圖4所示。
圖4 改進(jìn)的PCNN邊緣檢測算法流程圖
本文將油封原圖像、Canny邊緣檢測圖像、PCNN邊緣檢測圖像以及改進(jìn)PCNN邊緣檢測圖像進(jìn)行對比分析,如圖5(a)-圖5(d)所示。圖5(a)為CCD相機(jī)采集的待測油封原圖像。圖5(b)所示的Canny邊緣檢測后呈現(xiàn)出相對連續(xù)且較細(xì)的邊緣,但是同時出現(xiàn)了不需要的假邊緣以及多余的干擾信息。圖5(c)所示的經(jīng)典PCNN邊緣檢測相比于Canny邊緣檢測算法油封邊緣清晰且連續(xù),但是將噪聲點(diǎn)誤以為邊緣點(diǎn)檢測出來,這將會給接下來的油封特征圓檢測處理帶來干擾。圖5(d)所示的改進(jìn)PCNN邊緣檢測彌補(bǔ)了PCNN邊緣檢測在處理油封圖像時出現(xiàn)的上述缺陷,大大降低了噪聲對邊緣檢測的干擾,圖像邊緣清晰且連續(xù),幾乎不存在邊緣點(diǎn)漏檢的情況,改進(jìn)后的PCNN邊緣檢測效果理想,為實(shí)現(xiàn)汽車油封尺寸的高精度檢測打下堅實(shí)基礎(chǔ)。
圖5 油封圖像邊緣檢測對比圖
在得到油封真實(shí)邊緣后,對于汽車油封外圓和內(nèi)孔這類典型的圓形特征,需要在此基礎(chǔ)上進(jìn)行圓擬合,以快速獲取油封外圓和內(nèi)孔的圓參數(shù)。
隨機(jī)霍夫變換圓檢測是隨機(jī)選取三個不同的邊緣點(diǎn),由三點(diǎn)可以確定一個圓的概念來確定該圓的參數(shù),該算法雖然檢測過程簡單,但是很容易檢測到無效的圓形特征。為避免在隨機(jī)選取邊緣點(diǎn)后得到大量無效圓參數(shù),浪費(fèi)大量運(yùn)算時間,本文將從隨機(jī)選取三個邊緣點(diǎn)這一方面來對算法進(jìn)行優(yōu)化改進(jìn),簡化計算過程,提高圓檢測的精度與運(yùn)算速度。
隨機(jī)選取三個邊緣點(diǎn),將三個邊緣點(diǎn)的坐標(biāo)分別設(shè)為 (x1,y1)、(x2,y2)和 (x3,y3),令候選圓的表達(dá)式為:x2+y2+2ax+2by+c=0,根據(jù)表達(dá)式求出圓的半徑為。由于圓形具有特殊的幾何特性,本文將結(jié)合圓的幾何特性對邊緣點(diǎn)的隨機(jī)選取方法進(jìn)行優(yōu)化改進(jìn),從而確定圓形特征參數(shù)。
圖6 優(yōu)化方式一示意圖
圖7 優(yōu)化方式二示意圖
則圓的直徑D=2r。經(jīng)典隨機(jī)霍夫變換圓檢測效果圖如圖8所示,該算法雖然檢測過程簡單,但是很容易檢測到無效的圓形特征,影響檢測的精度。
圖9為優(yōu)化隨機(jī)霍夫圓檢測效果圖,采用優(yōu)化方式二選取邊緣點(diǎn)的方法對油封圖像邊緣點(diǎn)進(jìn)行隨機(jī)霍夫圓檢測,算法優(yōu)化后沒有出現(xiàn)無效的圓形特征,且檢測后的圓形邊緣非常貼近油封真實(shí)邊緣輪廓,檢測效果較理想,相比于經(jīng)典隨機(jī)霍夫變換圓檢測算法提高了檢測精度。
圖9 優(yōu)化隨機(jī)霍夫圓檢測效果圖
本文利用Visual Studio 2015軟件平臺,將前文所述的汽車油封尺寸檢測方法與相機(jī)標(biāo)定實(shí)驗結(jié)果相結(jié)合,完成油封內(nèi)徑和外徑的尺寸檢測,這里的相機(jī)標(biāo)定采用張正友標(biāo)定法,標(biāo)定結(jié)果為0.016 6 mm/pixel。具體操作如下:隨機(jī)選取規(guī)格為38 mm×52 mm×7 mm的10個汽車油封進(jìn)行尺寸檢測實(shí)驗,記錄尺寸檢測實(shí)驗結(jié)果與算法運(yùn)行時間。令油封外徑用D1表示,標(biāo)準(zhǔn)值為52+0.35+0.2mm,內(nèi)徑用D2表示,標(biāo)準(zhǔn)值為38+0.2-0.15mm。此外,為驗證本文研究的尺寸檢測算法的檢測精度,采用尺寸檢測誤差小于1.5 μm的高精度三坐標(biāo)測量儀對這10個油封進(jìn)行外徑、內(nèi)徑的尺寸檢測。表1和表2分別記錄了10個油封的外徑和內(nèi)徑的尺寸檢測結(jié)果,表3記錄了油封尺寸檢測的平均誤差,結(jié)果顯示10個油封均為合格產(chǎn)品,且尺寸檢測結(jié)果的平均誤差為0.017 6 mm,單個油封檢測時間為2.17 s,足以滿足現(xiàn)代化生產(chǎn)檢測要求。
表3 油封尺寸檢測平均誤差表
(1)本文以PCNN模型為基礎(chǔ),利用雙邊濾波的思想對PCNN模型進(jìn)行改進(jìn),在改進(jìn)PCNN的基礎(chǔ)上,結(jié)合Canny算子在邊緣檢測方面的優(yōu)勢,實(shí)現(xiàn)對汽車油封真實(shí)邊緣的檢測。
(2)在得到油封真實(shí)邊緣后,對于汽車油封外圓和內(nèi)孔這類典型的圓形特征,采用隨機(jī)霍夫圓檢測的優(yōu)化算法進(jìn)行圓擬合,以快速獲取油封外圓和內(nèi)孔的直徑參數(shù)。
(3)利用Visual Studio 2015軟件平臺,將前文所述的汽車油封尺寸檢測方法與相機(jī)標(biāo)定實(shí)驗結(jié)果相結(jié)合,將基于改進(jìn)PCNN的汽車油封尺寸檢測結(jié)果與高精度三坐標(biāo)測量儀檢測結(jié)果相比較,檢測結(jié)果的平均誤差為0.017 6 mm,單個油封檢測時間為2.17 s。