邵欣桐 劉省賢
(1、上海民航職業(yè)技術(shù)學(xué)院 航空維修系,上海200212 2、英特爾亞太研發(fā)有限公司 物聯(lián)網(wǎng)事業(yè)部,上海201100)
飛機(jī)輪胎作為起落架的重要組成部分,在飛機(jī)的起降過程中發(fā)揮極其重要的安全保障作用,因此飛機(jī)輪胎檢查是航線維護(hù)過程中的重要工作,也是定檢維修過程中較為費(fèi)事費(fèi)力的一項(xiàng)工作。由于輪胎檢查發(fā)生在航線維護(hù)中,對其維護(hù)時(shí)間要求較為苛刻,快速而有效的制定其輪胎的維修方案非常重要。
機(jī)器視覺系統(tǒng)最基本的特點(diǎn)就是提高生產(chǎn)的靈活性和自動(dòng)化程度,在一些不適于人工作業(yè)的危險(xiǎn)工作環(huán)境或者人工視覺難以滿足要求的場合,常用機(jī)器視覺來替代人工視覺。同時(shí),在大批量重復(fù)性工業(yè)生產(chǎn)過程中,用機(jī)器視覺檢測方法可以大大提高生產(chǎn)的效率和自動(dòng)化程度[1]?;谝陨系奶攸c(diǎn),我們發(fā)現(xiàn)機(jī)器視覺非常適合引入到飛機(jī)輪胎的航線和定檢維護(hù)中,一方面我們的工作環(huán)境光線較差,多數(shù)工作集中在夜間,目視檢查的過程中容易造成疏漏;另一方面,在定檢維護(hù)或?qū)iT的輪胎檢查車間里,大量的重復(fù)性輪胎檢查更是需要一種快速的、有效的檢測方法。因此我們設(shè)計(jì)這樣的一套系統(tǒng),將機(jī)器視覺的概念引入到航線維護(hù)的過程中,通過手持式攝像頭進(jìn)行圖像的實(shí)時(shí)采集,傳遞到電腦端;通過Intel 提供的openVINO 平臺(tái)對輪胎表面常見的問題進(jìn)行智能分析和判斷,從而快速給出針對該問題的維修意見,該系統(tǒng)減少了機(jī)務(wù)人員大量且重復(fù)的目視檢查工作,提高了現(xiàn)場診斷的準(zhǔn)確率,取得了較好的效果。
機(jī)器視覺是一項(xiàng)綜合技術(shù),包括圖像處理、機(jī)械工程技術(shù)、控制、電光源照明、光學(xué)成像、傳感器、模擬與數(shù)字視頻技術(shù)、計(jì)算機(jī)軟硬件技術(shù)。一個(gè)典型的機(jī)器視覺應(yīng)用系統(tǒng)包括圖像捕捉、光源系統(tǒng)、圖像數(shù)字化模塊、數(shù)字圖像處理模塊、智能判斷決策模塊和機(jī)械控制執(zhí)行模塊[2]。
目前機(jī)器視覺的平臺(tái)主要有:NVIDIA VisionWorks、Rekognition、OpenVINO 等多種,我們基于考慮硬件成本以及平臺(tái)接口操作難易,我們選擇OpenVINO 作為計(jì)算機(jī)視覺的開發(fā)包完成采集圖像的處理工作; 其對系統(tǒng)的平臺(tái)要求相比于其他計(jì)算機(jī)視覺工具包相對較低,我們選取Windows 平臺(tái),處理器為第8 代IntelRRCore 處理器[3]。
視頻采集設(shè)備選擇手持式IP Camera。網(wǎng)絡(luò)攝像機(jī)是傳統(tǒng)攝像機(jī)與網(wǎng)絡(luò)視頻技術(shù)相結(jié)合的新一代產(chǎn)品。攝像機(jī)傳送來的視頻信號(hào)數(shù)字化后由高效壓縮芯片壓縮,通過網(wǎng)絡(luò)總線傳送到Web 服務(wù)器。網(wǎng)絡(luò)上用戶可以直接用瀏覽器觀看Web 服務(wù)器上的攝像機(jī)圖像,授權(quán)用戶還可以控制攝像機(jī)云臺(tái)鏡頭的動(dòng)作或?qū)ο到y(tǒng)配置進(jìn)行操作。IP 網(wǎng)絡(luò)攝像機(jī)是基于網(wǎng)絡(luò)傳輸?shù)臄?shù)字化設(shè)備,網(wǎng)絡(luò)攝像機(jī)除了具有普通復(fù)合視頻信號(hào)輸出接口BNC外,還有網(wǎng)絡(luò)輸出接口,可直接將攝像機(jī)接入本地局域網(wǎng)。
圖1 手持式IP 網(wǎng)絡(luò)攝像機(jī)
卷積神經(jīng)網(wǎng)絡(luò)(CNN)由紐約大學(xué)的Yann Lecun 于1998 年提出,CNN 的優(yōu)勢在網(wǎng)絡(luò)的輸入是圖像時(shí)表現(xiàn)的更為明顯,使得圖像可以直接作為網(wǎng)絡(luò)的輸入,避免了傳統(tǒng)識(shí)別算法中復(fù)雜的特征提取和數(shù)據(jù)重建的過程,在二維圖像的處理過程中有很大的優(yōu)勢,如網(wǎng)絡(luò)能夠自行抽取圖像的特征包括顏色、紋理、形狀及圖像的拓?fù)浣Y(jié)構(gòu),在處理二維圖像的問題上,特別是識(shí)別位移、縮放及其他形式扭曲不變性的應(yīng)用上具有良好的魯棒性和運(yùn)算效率等[5]。
AlexNet 是最為經(jīng)典的CNN 網(wǎng)絡(luò)結(jié)構(gòu)模型,確立了CNN 在計(jì)算機(jī)界的統(tǒng)治地位,同時(shí)也推動(dòng)了深度學(xué)習(xí)在語音識(shí)別、自然語言處理、強(qiáng)化學(xué)習(xí)等方面的拓展。該方法訓(xùn)練了一個(gè)端到端的卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)對圖像特征提取和分類,網(wǎng)絡(luò)結(jié)構(gòu)共7 層,包含5 層卷積層和2 層全連接層[6]。其引入了ReLU 和dropout,引入數(shù)據(jù)增強(qiáng)、池化相互之間有覆蓋;5 個(gè)卷積層中,其中3 個(gè)卷積層后面連接了最大池化層。
圖2 AlexNet 的網(wǎng)絡(luò)結(jié)構(gòu)模型
由AlexNet 的架構(gòu)圖我們可以知道,AlexNet 總共有5 層卷積層,解釋如下:
第一層:卷積核大小是11*11,步長是4*4 ,通道數(shù)為96,緊接著是一個(gè)relu 激活函數(shù),局部正則化,最后是一個(gè)卷積核大小為3*3,步長為2*2 的最大池化層。
第二層:卷積核大小是5*5 ,步長是1*1,通道數(shù)為256,最后是一個(gè)卷積核大小為3*3,步長為2*2 的最大池化層。
第三層、第四層、第五層:卷積核大小為3 * 3,步長為1*1,通道數(shù)分別是384 、384 、256。
卷積層后一般會(huì)加入池化層,池化層可以非常有效地縮小矩陣的尺寸,從而減少最后全鏈層中的參數(shù),使用池化層既可以加快計(jì)算速度也有防止過擬合問題的作用。
全連接層的作用就是進(jìn)行正確的圖片分類,不同神經(jīng)網(wǎng)絡(luò)的全鏈層層數(shù)不同,但作用確是相同的。輸入到全鏈層的神經(jīng)元個(gè)數(shù)通過卷積層和池化層的處理后大大的減少了,最后softmax 的輸出,則可以根據(jù)實(shí)際分類標(biāo)簽數(shù)來定。AlexNet 網(wǎng)絡(luò)中各個(gè)層發(fā)揮的作用如表1 所示。
表1 AlexNet 網(wǎng)絡(luò)中各個(gè)層發(fā)揮的作用
我們將訓(xùn)練的模型進(jìn)行優(yōu)化后需要轉(zhuǎn)換成中間表示文件,得到IR 文件(xml 文件中包含優(yōu)化以后的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),bin 文件包含優(yōu)化之后的模型參數(shù)和模型變量);然后將生成的模型IR 部署到實(shí)際環(huán)境中[7]。
圖3 OpenVINO 部署流程
AlexNet 模型訓(xùn)練可以分成以下幾個(gè)步驟:
2.3.1 首先加載圖片庫,完成程序初始化。
photos = os.listdir(“./data/image/train/”)
with open(“data/dataset.txt”,“w”) as f:
f.close()//加載訓(xùn)練的圖片庫
2.3.2 調(diào)用Alexnet 網(wǎng)絡(luò),并且返回一個(gè)大小為[batch_size,label]的隱層特征。
Def AlexNet(input_shape=(11,11,3) output, _shape=2):
def convLayer (x, kHeight, kWidth, strideX, strideY,featureNum, name, padding=“SAME”, groups=1)://定義卷積層
def maxPoolLayer (x, kHeight, kWidth, strideX, strideY,name, padding=“SAME”)://定義池化層
def fcLayer (x, inputD, outputD, reluFlag, name)://定義全連接層函數(shù)
2.3.3 使用選擇softmax 以及adam 優(yōu)化器計(jì)算隱層特征和真實(shí)label 的差距,并更新數(shù)據(jù)。
self.fc8 = fc(dropout7, 4096, self.NUM_CLASSES, relu=False,name='fc8')//最后softmax 函數(shù)輸出的分類標(biāo)簽
def predict (data, model_path, labels_dictest_result, ,sample_num=None): //加載模型,對測試數(shù)據(jù)進(jìn)行分類
本系統(tǒng)的實(shí)現(xiàn)過程如下:
a. 建立飛機(jī)輪胎胎面圖片庫,將實(shí)際工作中經(jīng)常遇到的胎面問題進(jìn)行分類,目前系統(tǒng)已錄入9 種常見的胎面問題。
b. 將圖片進(jìn)行增強(qiáng)處理,包括旋轉(zhuǎn)、扭曲、增噪等。
c. 使用已經(jīng)建立的樣本模型對樣本進(jìn)行篩選,對問題胎面進(jìn)行分類。
d.針對發(fā)現(xiàn)的胎面問題,在維修歷史數(shù)據(jù)庫中進(jìn)行匹配,快速給出維修建議。
測試樣本來自一線航空公司歷史資料庫,測試樣本圖片2000 張,能夠篩選輪胎問題情況包括:胎面異常磨損、胎面劃水燒傷、胎面扎傷、胎面表面泡狀突起、胎面肋條撕裂等9 種常見問題。如圖4,5,6,7 所示。
圖4 胎面點(diǎn)狀磨平識(shí)別
圖5 胎面劃水燒傷識(shí)別
圖6 胎面泡狀突起識(shí)別
圖7 胎面污染侵蝕識(shí)別
系統(tǒng)對問題胎面進(jìn)行識(shí)別,結(jié)合數(shù)據(jù)庫中的維修歷史進(jìn)行相似度匹配,給出維修建議,減輕了機(jī)務(wù)維修人員目視檢查的壓力,也彌補(bǔ)了維修經(jīng)驗(yàn)不足等問題。
圖8 維修方案生成
機(jī)器視覺技術(shù)的引入使得航線的機(jī)務(wù)人員從繁瑣而重復(fù)的工作中解脫出來,從以往更多依靠人的目視檢查和經(jīng)驗(yàn)判斷轉(zhuǎn)換為依靠機(jī)器的智能檢測。飛機(jī)胎面智能檢查系統(tǒng)可以實(shí)現(xiàn)對飛機(jī)胎面問題的識(shí)別和維修指導(dǎo),在航線工作中,可以起到減輕維護(hù)人員目視檢查的工作量以及提高篩選問題輪胎的準(zhǔn)確率;目前該系統(tǒng)僅能針對較為明顯的問題胎面的識(shí)別,并不能完全覆蓋飛機(jī)輪胎的所有異常狀況,以期在后續(xù)的研究中完善補(bǔ)充。