徐健,張浩喆,周筆文,袁明圓
(1.中國航發(fā)動力股份有限公司,陜西西安,710000;2.南昌航空大學,江西南昌,330063)
在航空工業(yè)領(lǐng)域,鍛造渦輪葉片作為航空發(fā)動機的核心組成部件,無論是在生成制造過程中,還是檢測維修過程中,都需要根據(jù)工件號進行有序的編排,工件號相當于每一個鍛造渦輪葉片的ID,可以方便記錄和查詢?nèi)~片在生成制造過程的相關(guān)信息以及檢測維修過程中發(fā)現(xiàn)的缺陷信息。因此,航空發(fā)動機鍛造渦輪葉片的工件號識別尤為重要?,F(xiàn)階段,大部分鍛造渦輪葉片的工件號識別工作仍然是通過人眼來完成,受鍛造溫度等制造工藝的影響,鍛造渦輪葉片表面光滑,對光的反射率較強,導致目標與背景之間的對比度較低,人眼識別效率下降,且人眼容易產(chǎn)生疲勞,造成工件號識別出錯。
近年來,機器視覺的技術(shù)日益發(fā)展,因其智能高效等優(yōu)勢逐漸受到人們青睞,已成功應用于工業(yè)生產(chǎn)、醫(yī)療教育等各個領(lǐng)域。為此,本文擬設計一個基于機器視覺的鍛造渦輪葉片工件號自動識別系統(tǒng),通過機器視覺技術(shù)代替人工視覺檢測,提高工作效率,避免工件號識別出錯,實現(xiàn)鍛造渦輪葉片工件號的自動識別。系統(tǒng)首先通過工業(yè)相機采集得到高分辨清晰圖像,然后對圖像進行預處理,接著繪制ROI區(qū)域,再根據(jù)字符紋理特征提取字符并建立字符庫,隨后完成對待測圖像的工件號識別,最后通過C#和Vision Master(后面直接用VM指代)完成上位機界面的設計。經(jīng)過實際的測試表明,該系統(tǒng)能夠滿足航空發(fā)動機鍛造渦輪葉片工件號自動識別的需求,并且性能穩(wěn)定,具有良好的實用性和可行性。
該系統(tǒng)包括系統(tǒng)硬件和軟件兩個重要的組成部分。系統(tǒng)硬件部分由載物臺、支架、環(huán)狀光源、PC、工業(yè)相機及鏡頭構(gòu)成,整體識別系統(tǒng)的結(jié)構(gòu)如圖1所示。其中兩大關(guān)鍵的成像部件:工業(yè)相機采用的是型號為MV-CE200-10GM的??迪鄼C,分辨率最高為5472×3648;鏡頭則是采用型號為MV-DK1116-20MP的??电R頭。PC端則主要負責完成對圖像數(shù)據(jù)的存儲、處理及識別等操作。最后,基于VS2017C#和Vision Master平臺進行設計上位機軟件部分,對相機采集到的渦輪葉片圖像,根據(jù)機器視覺和圖像處理方法,識別圖像的字符信息,并自動以字符信息對圖像進行命名和保存。
圖1 系統(tǒng)硬件結(jié)構(gòu)示意圖
在識別系統(tǒng)軟件方面,設計流程如圖2所示。首先在VM建立流程,在流程中引入圖像源模塊用以獲取相機采集到的渦輪葉片葉榫部位圖像;然后應用圖像濾波模塊對圖像進行濾波處理;接著通過快速特征匹配模塊確定感興趣區(qū)域;隨后使用字符識別模塊提取字符特征,生成字符庫;接下來運行方案中的流程,在結(jié)果窗口查看識別到的字符信息;最后利用C#對VM進行二次開發(fā),設計出上位機界面,用以顯示渦輪葉片圖像以及圖像中葉榫部位的工件號信息。
VM平臺集成了機器視覺的多種視覺組件,適用于多種應用場景。其通過組件拖放式操作,靈活性較高,大大降低了使用門檻。為獲取鍛造渦輪葉片圖像,首先將工業(yè)相機與PC端連接,打開光源,在硬件布置完之后,打開VM軟件,通過相機管理添加已連接的工業(yè)相機,應用相機管理中的實時取流預覽圖像。根據(jù)圖像的效果來調(diào)節(jié)相機鏡頭的光圈和對焦環(huán),待圖像清晰完成對焦后,鎖定光圈和對焦環(huán),防止誤碰。如圖3所示,在新打開的方案流程中,引入圖像源模塊ImageSourceModuleCs用以獲取圖像。算子中的基本參數(shù)設置如下:圖像源設置為相機,表示圖像源模塊將通過工業(yè)相機采集的方式來獲取圖像;像素格式設置為MONO8,表示模塊將輸出格式為MONO8的灰度圖像。
圖3 圖像源模塊
由于受光照、工件抖動等環(huán)境因素影響,圖像本身不可避免地會增加一定的背景噪聲,這些噪聲表現(xiàn)為邊緣梯度明顯,而待提取的目標區(qū)域邊緣同樣表現(xiàn)為邊緣梯度明顯,因此在圖像預處理的過程中應該盡可能消除背景噪聲,從而提高后續(xù)的圖像處理效果,下面簡單介紹以下四種常用的濾波算子。
(1)高斯濾波
高斯濾波是一種線性平滑濾波,廣泛應用于圖像處理的減噪過程。通過高斯核對整幅圖像中的像素點進行卷積操作,從而得到高斯濾波后的像素值。為了獲取較好的濾波效果,可自行對高斯核大小進行合理設計。高斯濾波的公式如下:
式中:(,)G x y是高斯濾波處理后輸出的灰度值。
(2)中值濾波
中值濾波是一種非線性濾波,也被稱為統(tǒng)計排序濾波器,通過一個n×n中值濾波器處理圖像像素點得到n×n個數(shù)值,對這些數(shù)值從小到大排序,取其中的中值代替原圖中的像素值,從而達到抑制背景噪聲的效果。中值濾波的公式如下:
式中:f(x,y)是圖像中目標像素點的原始灰度值,f(x-i,y-j)是目標像素點鄰域各像素點的灰度值,G(x,y)是中值濾波處理后輸出的灰度值。
(3)均值濾波
均值濾波是一種典型的線性濾波算法,設置中值濾波模板,這里將模板設置為3×3大小(濾波模板大小可調(diào)),通過將圖像中的目標像素與周圍鄰近的8個像素的灰度值進行求和運算,再將求和結(jié)果除以9得到平均值,即為中值濾波后的像素值。均值濾波的公式如下:
式中:(,)x y為待處理的當前像素點,(,)G x y為處理后圖像在該點上的灰度值,S為模板,M為該模板中包含當前像素在內(nèi)的像素總個數(shù)。
(4)引導濾波
引導濾波是一種相對上述三種濾波算子較新的濾波算子,其具有良好的保邊平滑性,現(xiàn)被廣泛研究用于圖像處理領(lǐng)域。引導濾波也被視為一種圖像的多尺度轉(zhuǎn)換法,通過結(jié)合圖像的像素值和控件信息來構(gòu)造權(quán)重圖。引導濾波的公式如下:
式中:G為引導圖像,用于指導輸入圖像I進行濾波,得到輸出結(jié)果O;Wij(G)為I在(i,j)處的像素點權(quán)重值,其根據(jù)G在(i,j)處的局部窗口wk中的所有像素計算得出。
考慮到渦輪葉片上的工件號對比度較低,字符特征主要為紋理特征,而引導濾波器能夠很好地保留字符邊緣信息,消除背景噪聲。因此本文在VM中自定義引導濾波算子GuidedFilter,并將其與VM濾波模塊中的高斯濾波、中值濾波、均值濾波進行了對比。如圖4所示,應用VM中的圖像濾波模塊以及自定義GuidedFilter模塊,分別對圖像進行濾波操作。從四種濾波算子處理后的效果上來看,引導濾波達到了預期的效果,保留了字符紋理特征,平滑了背景噪聲,而其他三種濾波算子處理效果不明顯,如圖5所示。
圖4 圖像濾波操作
圖5 原圖及各濾波算子處理后的圖像
圖像濾波之后,運用快速特征匹配模塊IMVSFast FeatureMatchModuCs確定圖像的感興趣區(qū)域。在模塊中通過調(diào)節(jié)特征尺度和對比度閾值建立合適的特征模板,使得該模板能夠快速匹配到不同測試圖像中的感興趣區(qū)域,便于接下來字符識別能夠在圖像局部目標區(qū)域進行識別,提升識別的準確率。如圖6所示,應用快速特征匹配模塊,首先需要對其進行模板配置,在模板配置過程中通過自定義框選確定ROI區(qū)域,即目標區(qū)域,然后點擊生成后模塊會自動提取到目標區(qū)域的特征,即完成模板的生成,最后在特征模板中查看已建立的特征模板,可以創(chuàng)建多個模板,方便測試獲取匹配效果更佳的特征模板,同時支持特征模板的保存、加載和刪除操作,極大地方便了模板匹配的操作。
圖6 快速特征匹配
通過快速特征匹配模塊確定感興趣區(qū)域之后,應用字符識別模塊IMVSOcrModuCs對目標區(qū)域的工件號進行識別。在字符識別模塊中通過字符庫訓練來提取工件號對應的字符,從而建立字符庫。工件號是由26個大寫字母和10個阿拉伯數(shù)字中的部分字符組成,因此為了使得字符庫具有良好的泛化性能和識別準確率,字符庫中包含全部的26個大寫字母和10個阿拉伯數(shù)字,并且為了提高魯棒性,對不同圖像中的同一字符進行了字符提取。如圖7所示,將字符識別模塊拖放至方案流程中已完成關(guān)鍵的識別任務。首先需要進行字符訓練,自定義框選出目標區(qū)域字符所在的大致位置,然后根據(jù)字符大小等信息調(diào)節(jié)好提取參數(shù)之后對字符信息進行提取,彈出字符訓練窗口后,對應輸入字符信息用以訓練字符建立字符庫,最后將字符信息添加至字符庫完成字符訓練操作。至此,成功地在VM中建立了針對渦輪葉片工件號識別的方案流程。
圖7 字符識別
完成了方案流程的制作之后,為了提高系統(tǒng)的實用性,本文以VS為開發(fā)平臺,對VM進行二次開發(fā),設計上位機界面,如圖8所示。在VS上配置好VM的二次開發(fā)環(huán)境之后,通過VmSolution下的Import方法導入方案;然后實例化一個流程Process,由于流程歸屬于方案,因此通過VmSolution下的Instance屬性綁定方案中的具體流程;接著使用流程Process下的Run方法運行方案中的流程,為了實現(xiàn)實時的效果,將流程Process下的Continuous RunEnable屬性設置為真;隨后再通過Process下的GetString OutputResult方法來獲取流程運行后的輸出結(jié)果,即識別到的字符信息;最后實例化一個SaveFileDialog文件保存控件用以保存圖像,并自動以工件號信息命名圖像。
圖8 上位機界面
由于某航空廠所能提供的渦輪葉片樣件有限,為此本文采取傳統(tǒng)的數(shù)據(jù)擴充的方法對現(xiàn)有的有限圖像進行數(shù)據(jù)擴充,得到50張用于建立字符庫的訓練圖像以及100張與此前不同的測試圖像,每張圖像中的工件號由21個字符組成,總測試字符為2100個。分別統(tǒng)計誤檢字符個數(shù)和漏檢字符個數(shù),計算字符識別的準確率和識別耗時來表征系統(tǒng)的性能優(yōu)劣,具體結(jié)果如表1所示。
表1 字符識別結(jié)果統(tǒng)計表
分析表明,系統(tǒng)完成100張測試圖像的字符識別耗時為30s,字符識別的準確率高達98.86%,由此可見,該系統(tǒng)具有較高的效率和字符識別準確率,然而系統(tǒng)仍存在有待改進的地方。由于0和D的紋理特征相似度較高,系統(tǒng)錯誤地將少部分字符0識別為了字符D;對于僅有的一個漏檢字符A,查看原圖發(fā)現(xiàn)該字符激光雕刻的不完整。針對該系統(tǒng)存在的不足,后續(xù)將通過優(yōu)化字符提取參數(shù)以及豐富字符庫中0和D兩個字符的特征模板來進一步提升系統(tǒng)的識別準確率。
就人眼識別航空發(fā)動機鍛造渦輪葉片工件號存在工作效率低,易識別出錯等問題,本文設計了一個基于機器視覺的鍛造渦輪葉片工件號識別系統(tǒng)。該系統(tǒng)采用先進的機器視覺技術(shù)代替人眼,通過高分辨相機采集圖像,再引用引導濾波算子對圖像進行預處理,接著確定感興趣區(qū)域,最后完成識別工作。總體來說,該系統(tǒng)滿足了工業(yè)現(xiàn)場高效的識別需求,且具備良好的交互性能。