葛敏杰,嚴(yán)時(shí)進(jìn),戴家興,董晨浩,張瞳
(紹興文理學(xué)院 機(jī)械與電氣工程學(xué)院,浙江紹興,312000)
隨著現(xiàn)代化生產(chǎn)的高速發(fā)展,中國精密測試儀器行業(yè)實(shí)力已不容小覷,已經(jīng)初步建立了產(chǎn)品類別較為完整、具備相當(dāng)制造規(guī)模與研發(fā)能力的工業(yè)系統(tǒng)[1]。而鏈輪作為機(jī)械設(shè)備的重要組成部分,是一種工業(yè)必需品,廣泛應(yīng)用于化工、紡織等行業(yè)的機(jī)械傳動(dòng)裝置。鏈輪的精度是影響一些工業(yè)產(chǎn)品好壞的決定性因素。所以,提高鏈輪內(nèi)徑的檢測精度對先進(jìn)測量儀器發(fā)展進(jìn)程有著十分重要的意義。
傳統(tǒng)的鏈輪內(nèi)徑測量采用游標(biāo)卡尺測量法、內(nèi)徑千分尺測量法等,其中游標(biāo)卡尺、內(nèi)徑千分尺以其輕便性,成本低等優(yōu)勢廣泛地在授課教學(xué)以及工業(yè)檢測中使用。但由于屬于接觸式測量,測量過程中容易對物體表面產(chǎn)生一定損傷,還存在著測量誤差大、測量器械使用門檻較高等缺陷。并且人工檢測存在效率低、可靠性差、易因工人疲勞而產(chǎn)生誤檢等弊端,難以滿足現(xiàn)在制造業(yè)強(qiáng)調(diào)的實(shí)時(shí)、快速、在線和非接觸檢測的特殊要求[2]。而隨著圖像處理水平的提高,機(jī)器視覺逐漸成為熱門的研究內(nèi)容,是取代傳統(tǒng)測量手段的理想方式之一。同時(shí)對于傳統(tǒng)的鏈輪內(nèi)徑圖像處理算法,因?yàn)橛兄^多的圖像噪聲等的干擾因素,其檢測精度已經(jīng)無法滿足當(dāng)下工業(yè)生產(chǎn)要求,因此對鏈輪內(nèi)徑的視覺檢測的研究有著重要意義。
本文針對傳統(tǒng)檢測效率低以及傳統(tǒng)算法對鏈輪邊緣動(dòng)態(tài)噪聲處理能力弱等不足,設(shè)計(jì)了一種基于機(jī)器視覺的鏈輪內(nèi)徑檢測系統(tǒng)。通過相機(jī)將拍攝到的鏈輪圖像轉(zhuǎn)化為數(shù)字信號(hào),再通過圖像處理算法,過濾掉大部分噪聲,增強(qiáng)鏈輪內(nèi)徑圖像輪廓邊緣信息對比度,增加對鏈輪內(nèi)徑的測量精度。與傳統(tǒng)人工內(nèi)徑測量技術(shù)和傳統(tǒng)的鏈輪內(nèi)徑圖像增強(qiáng)檢測算法技術(shù)相比,該方法具有更高的精度與效率。
現(xiàn)實(shí)中存在各種干擾,例如電源接入的電磁干擾、環(huán)境亮度不夠均勻等。這些干擾會(huì)使圖像采集產(chǎn)生不同形式的噪聲,例如,拍攝環(huán)境亮度較暗或相機(jī)長期工作溫度較高時(shí),容易產(chǎn)生高斯噪聲;又例如,相機(jī)傳輸信道,解碼處理等過程容易產(chǎn)生椒鹽噪聲。對于本文所涉及的系統(tǒng)而言,電源接入的電磁干擾是最大的影響,因此在圖像采集過程中,鏈輪邊緣處像素值不明確,存在明顯的動(dòng)態(tài)噪聲,使得后續(xù)的圖像處理以及內(nèi)徑計(jì)算精度受到不少影響。因此對噪聲的過濾是圖像預(yù)處理過程中非常重要的一環(huán)。而傳統(tǒng)的濾波算法效果一般,往往噪點(diǎn)對輸出圖像有較大影響,無法較好地保護(hù)圖像細(xì)節(jié)。例如,均值濾波使用模板內(nèi)所有像素的平均值代替模板中心像素灰度值[3]。顯而易見,若圖像存在噪聲,模板內(nèi)噪點(diǎn)數(shù)值會(huì)進(jìn)入均值計(jì)算,輸出像素值會(huì)受到干擾;又例如,中值濾波計(jì)算模板內(nèi)所有像素中的中值,并用所計(jì)算出來的中值代替模板中心像素的灰度值[4],該方法能夠簡單有效地過濾脈沖噪聲,但對于該系統(tǒng)拍攝的圖像,會(huì)導(dǎo)致圖像不連續(xù),不能有效地保留鏈輪邊緣細(xì)節(jié)。
本系統(tǒng)采用濾波能力相對較好的雙邊濾波。雙邊濾波算法 (Bilateral Filters)于 1998 年由 C Tomasi和 R Manduchi提出[5]。雙邊濾波同時(shí)考慮了像素的歐式距離和像素范圍域的輻射差異[7],即空域信息和灰度相似性,離模板中心的較遠(yuǎn)的像素點(diǎn)賦予較小的權(quán)值,弱化噪聲影響。與過去用的傳統(tǒng)算法如維納濾波和高斯濾波對比,邊緣處理較好,不會(huì)過于模糊,對高頻細(xì)節(jié)的保護(hù)效果較好。雙邊濾波保護(hù)了圖像整體像素的細(xì)節(jié),同時(shí)起到了對圖像的降噪平滑、保持邊緣的效果。
公式(1)和(2)給出了雙邊濾波的操作。Iq為輸入圖像,為濾波后的圖像:
參數(shù)σs定義了用于過濾像素的空間鄰域的大小,σr控制了相鄰像素由于亮度差異而下降的程度,對權(quán)重的總和進(jìn)行標(biāo)準(zhǔn)化。
雙邊濾波算法較好地濾除了圖像噪聲,但濾波會(huì)使得圖像趨于平滑,對比度降低。而對鏈輪而言,圖像信息主題主要為邊緣信息,濾波后會(huì)使其不明確區(qū)域增加,因此需要進(jìn)行對比度增強(qiáng)的處理。本系統(tǒng)采用增強(qiáng)效果較好的小波變換算法。
小波變換(wavelet transform,WT)由 J Morlet首先提出。小波變換是進(jìn)行信號(hào)時(shí)頻分析和處理的理想工具。其在高頻像素處對時(shí)間進(jìn)行細(xì)化,低頻處對頻率進(jìn)行拆分,進(jìn)而可聚焦到圖像模板內(nèi)任意像素集合內(nèi)的任意信號(hào)細(xì)節(jié)使得處理過后的臨域內(nèi)的像素值波動(dòng)較小,趨于完整[6]。在增強(qiáng)過程中,其利用小波函數(shù)系表示或逼近原始信號(hào),分離出高頻成分與低頻成分[7]。再通過對高頻成分設(shè)定閾值函數(shù)過濾噪聲,通過乘以不同增強(qiáng)系數(shù)的方法在不同的尺度上對不同頻率范圍內(nèi)圖像的細(xì)節(jié)分量進(jìn)行增強(qiáng)。這樣就能夠在突出圖像細(xì)節(jié)特征的同時(shí),有效抑制圖像噪聲的影響,使圖像輪廓更加突出[8]。
小波函數(shù)系用小波函數(shù)ψ(x)和尺度函數(shù)ψ(x)來表示,定義為[9]:
式中,j0為任意一個(gè)起始的尺度,cj0(k)為尺度系數(shù),dj(k)為小波系數(shù)。
在實(shí)際測量環(huán)境中,環(huán)境亮度、鏈輪的位置對于圖像采集有一定影響。環(huán)境亮度過低時(shí),采集到的圖像噪聲較多,會(huì)增加后續(xù)的處理難度。因此硬件上添加了可調(diào)光源,由于較小的亮度影響可以軟件處理,所以亮度要求不高。在系統(tǒng)使用前,使用MVS觀察相機(jī)采集圖像,手動(dòng)調(diào)節(jié)可調(diào)光源至觀察到明顯鏈輪輪廓。而鏈輪位置的不同會(huì)導(dǎo)致拍攝圖像的畸變,對系統(tǒng)檢測精度影響較大,因此需要在硬件上添加自動(dòng)調(diào)節(jié)系統(tǒng),以增加測量精度,減少人工擺正的環(huán)節(jié),減小一定的時(shí)間成本。所以該系統(tǒng)需要完成鏈輪位置控制與內(nèi)徑測量兩功能。
硬件整體設(shè)計(jì)框圖如圖1所示。
圖1 硬件設(shè)計(jì)框圖
其中,作為位置控制的反饋環(huán)節(jié)與內(nèi)徑測量的輸入裝置,相機(jī)的選擇是整個(gè)系統(tǒng)的關(guān)鍵。相機(jī)使用MV -CE200-10UM,該相機(jī)為2000萬像素1″CMOS USB3 0工業(yè)面陣相機(jī),其像元尺寸為2 4μm×2 4μm,分辨率為5472×3648,信噪比為41 5dB。該工業(yè)相機(jī)具有較高的傳輸能力、圖像穩(wěn)定能力和抗干擾能力等,圖像獲取和傳輸損失較少,以此保證內(nèi)徑測量精度。
相機(jī)捕獲圖像信息后,將數(shù)據(jù)傳入上位機(jī),若已完成鏈輪位置控制,上位機(jī)進(jìn)行后續(xù)的圖像處理。若未完成,則通過HC-05藍(lán)牙模塊與單片機(jī)進(jìn)行通訊,傳輸鏈輪位置偏差數(shù)據(jù)。該藍(lán)牙模塊是基于Bluetooth Specification V2 0帶EDR藍(lán)牙協(xié)議的數(shù)傳模塊??梢詫?shí)現(xiàn)10m距離通信。以此完成非接觸式測量的目標(biāo)。
藍(lán)牙傳輸過程中,需要單片機(jī)獲取數(shù)據(jù)并在此之后,控制步進(jìn)電機(jī)對鏈輪位置進(jìn)行改變??紤]單片機(jī)的使用效率以及經(jīng)濟(jì)性,本系統(tǒng)的單片機(jī)選擇STM32F103C8T6。它是基于ARM Cortex-M 內(nèi)核的32位的微控制器,工作頻率為72MHz,能有效滿足本系統(tǒng)要求。
該設(shè)計(jì)由兩部分完成,一是鏈輪位置控制,二是鏈輪內(nèi)徑測量。
2.2.1 鏈輪位置控制
LabVIEW具有圖形化、多線程、程序編寫門檻低、設(shè)計(jì)效果美觀等特點(diǎn)。因此使用LabVIEW進(jìn)行上位機(jī)設(shè)計(jì)。
圖2為LabVIEW前面板,選擇串口、波特率、停止位和數(shù)據(jù)位等信息后,點(diǎn)擊“啟動(dòng)”,系統(tǒng)開始工作,進(jìn)行鏈輪位置調(diào)節(jié)。當(dāng)鏈輪位于相機(jī)正下方,進(jìn)行內(nèi)徑測量,于“顯示窗口”中顯示當(dāng)前時(shí)間、鏈輪序號(hào)和鏈輪內(nèi)徑數(shù)值,同時(shí)記錄于后臺(tái)表格。該程序在執(zhí)行一次后自動(dòng)停止,等待下一鏈輪的放置以及啟動(dòng)命令。點(diǎn)擊“關(guān)閉串口”可斷開與下位機(jī)的連接。點(diǎn)擊“清除窗口”可對“顯示窗口”的數(shù)據(jù)進(jìn)行清除。
圖2 LabVIEW前面板
具體控制流程如圖3所示。
圖3 鏈輪位置控制流程圖
第一步,LabVIEW配置藍(lán)牙通訊參數(shù),通過通用異步收發(fā)傳輸器(UART)與單片機(jī)建立聯(lián)系;
第二步,界面點(diǎn)擊啟動(dòng)按鍵,通過USB3 Vision協(xié)議與相機(jī)通訊,獲取相機(jī)數(shù)據(jù),并實(shí)時(shí)地記錄并覆蓋于本地;
第三步,由于該相機(jī)為黑白相機(jī),像素值差異較大??梢酝ㄟ^遍歷法尋找圓心,即對圖片先進(jìn)行行搜索,尋找每一行中像素?cái)?shù)值變化最明顯的兩個(gè)點(diǎn),以像素為單位記錄兩點(diǎn)距離。再對距離數(shù)組進(jìn)行搜索,尋找最大值,記錄最大值所在行值。再對列進(jìn)行上述操作,尋找最大值所在列值,以此確定鏈輪圓心。該數(shù)據(jù)與圖像中心點(diǎn)進(jìn)行比對,估計(jì)橫縱位置差距。若圓心與圖像中心點(diǎn)重合,則跳過后續(xù)步驟,進(jìn)行直徑測量程序;
第四步,LabVIEW通過藍(lán)牙與STM32進(jìn)行通訊,于后臺(tái)實(shí)時(shí)發(fā)送鏈輪與圖像中心點(diǎn)的橫縱差距;
第五步,STM32控制由兩個(gè)步進(jìn)電機(jī)組成的十字滑臺(tái)模組緩慢移動(dòng),改變鏈輪位置。
通過不斷循環(huán)步驟二至五,最終達(dá)到鏈輪中心位于相機(jī)正下方。
圖4為LabVIEW前面板運(yùn)行圖,此時(shí)藍(lán)牙通訊串口選擇COM3接口,波特率設(shè)置為9600,停止位為1,數(shù)據(jù)位為8,無校驗(yàn)位。按下“啟動(dòng)”按鍵后,對同一鏈輪進(jìn)行測試,結(jié)果顯示于“顯示窗口”。
圖4 LabVIEW前面板運(yùn)行圖
2.2.2 鏈輪內(nèi)徑測量
測量算法由圖像獲取、圖像去噪、圖像增強(qiáng)和直徑測量四部分組成。
圖5 測量程序流程框圖
圖像獲?。篖abVIEW通過USB3 Vision協(xié)議,與相機(jī)進(jìn)行通訊獲取圖像數(shù)據(jù)。
圖像去噪:本系統(tǒng)使用雙邊濾波,即使用特定模板對圖像進(jìn)行卷積。根據(jù)公式(1),該模板中,臨近權(quán)值接近1,對卷積結(jié)果起較大作用;邊緣權(quán)值接近0,對結(jié)果起較小作用。因此對原始圖像低頻區(qū)域進(jìn)行卷積,可以起到高斯模糊的作用,對原始圖像高頻區(qū)域進(jìn)行卷積,可以減小邊緣像素值對結(jié)果的影響,從而可保護(hù)圖像的細(xì)節(jié)信息。所以相比與其他算法,使用雙邊濾波不僅有效抑制噪聲,同時(shí)有效保留圖像大部分細(xì)節(jié),保證鏈輪邊緣不確定區(qū)域不會(huì)拉伸。
圖像增強(qiáng):本系統(tǒng)進(jìn)行Harr小波變換。對M*N大小的圖像,首先進(jìn)行行分解,在第一行上取每一對的平均值,放前N/2處,再將每一對的第一個(gè)像素值與該平均值做差,放后N/2處。依次對原始圖像的每一行進(jìn)行上述操作;再進(jìn)行列分解,在第一列上取每一對的平均值,放在前M/2處,再將每一對的第一個(gè)像素值與該平均值做差,放后M/2處。依次對原始圖像的每一列進(jìn)行上述操作。以此完成了Harr小波的一次分解??梢园凑諏?shí)際需要,圖像進(jìn)行多次分解。分解后的圖像可以得到低頻與不同高頻分量,對其乘以不同增強(qiáng)系數(shù)。處理后再進(jìn)行小波重構(gòu)得到增強(qiáng)后的圖像。
測量直徑:采用遍歷法,對鏈輪位置控制中獲取的最大值所對應(yīng)的行值和列值進(jìn)行平均,計(jì)算得直徑像素點(diǎn)數(shù),乘以映射系數(shù),求得實(shí)際直徑。其中映射系數(shù)跟相機(jī)高度有關(guān),在硬件系統(tǒng)搭建后,對已知標(biāo)稱n的鏈輪的直徑進(jìn)行像素點(diǎn)計(jì)數(shù),計(jì)數(shù)值為m。則映射系數(shù)為n/m。
本文對直徑標(biāo)稱2 5cm鏈輪進(jìn)行實(shí)驗(yàn)。游標(biāo)卡尺10次測量平均結(jié)果為24 980mm。使用傳統(tǒng)的多尺度細(xì)節(jié)增強(qiáng)作為對照,經(jīng)處理后獲得如圖6的圖像。
圖6(a)為采集到的鏈輪原圖。圖6(b)為原始圖像某邊緣的圖像信息,從中可以看出,鏈輪邊緣像素值不明確,存在較寬的不確定帶,在相機(jī)連續(xù)拍攝過程中,該不確定帶中動(dòng)態(tài)噪聲明顯,因此對若直接進(jìn)行檢測,檢測結(jié)果有較大波動(dòng),而該波動(dòng)會(huì)導(dǎo)致測量的誤差。測量結(jié)果為25 056mm。圖6(c)為多尺度細(xì)節(jié)增強(qiáng)處理后的圖像,該圖像鏈輪邊緣像素值仍舊不夠明確,其測量結(jié)果為24 948mm;圖6(d)為本文提出的測量方法,通過肉眼觀察法,其對比度增強(qiáng)效果最好,判斷出的邊緣信息更加明確,其測量結(jié)果為24 987mm。由以上數(shù)據(jù)可得,本系統(tǒng)測量精度較人工以及其他算法效果較好。
圖6 實(shí)驗(yàn)結(jié)果圖
本文設(shè)計(jì)的系統(tǒng)通過藍(lán)牙連接上位機(jī)與下位機(jī),實(shí)現(xiàn)了非接觸式測量,既避免了物體表面不受損壞,又保障了使用者的安全。同時(shí)使用MV-CE200-10UM相機(jī),以像素為單位進(jìn)行鏈輪內(nèi)徑計(jì)算,相比于人工游標(biāo)卡尺測量與傳統(tǒng)的鏈輪內(nèi)徑圖像增強(qiáng)檢測算法等方法,其測量精度較高,能夠達(dá)到工業(yè)5絲的精度要求。
但本文提及的算法計(jì)算量大,對于計(jì)算設(shè)備要求高,還無法實(shí)現(xiàn)硬件獨(dú)立工作。因此接下來的工作中需要進(jìn)行以下優(yōu)化,在算法方面上,需要對計(jì)算進(jìn)一步優(yōu)化,減小計(jì)算量,提高執(zhí)行速度。在硬件方面,需要提高鏈輪中心點(diǎn)瞄準(zhǔn)速度與精度,通過引入PID等控制理論,提高控制精度,實(shí)現(xiàn)控制的穩(wěn)準(zhǔn)快。