国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于深度學(xué)習(xí)的駕駛艙面板字符識別

2022-11-24 07:37:16彭衛(wèi)東李娜魏麟
新型工業(yè)化 2022年9期
關(guān)鍵詞:字符識別字符深度

彭衛(wèi)東,李娜,魏麟

中國民用航空飛行學(xué)院 航空電子電氣學(xué)院,四川廣漢,618307

0 引言

隨著深度學(xué)習(xí)技術(shù)的發(fā)展,其已在智能語音識別、自然語言的處理、計算機視覺、圖像識別與視頻分析及多媒體等諸多新興領(lǐng)域中應(yīng)用。字符識別技術(shù)也隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展逐漸成熟,其應(yīng)用范圍也逐漸擴展,未來在各領(lǐng)域中將會扮演重要角色[1]。傳統(tǒng)的字符識別流程包括對字符進行預(yù)處理、識別階段和進行后處理三個部分,其中識別階段對每個字符進行分割、單字符處理和單字符輪廓查找,再進行后處理得到比對結(jié)果。在對字符組進行單個分割操作時產(chǎn)生的誤差積累[2],使得傳統(tǒng)方法對字符識別速度和精度效果不佳。隨著深度學(xué)習(xí)技術(shù)的發(fā)展,針對字符分割累計誤差,以及特征提取依賴人工、識別速度慢等缺點,提出了深度學(xué)習(xí)端對端字符識別方法,即單階段算法,對整個字符一次性進行檢測識別,減少了由于字符分割造成的誤差累積[3-4],由數(shù)據(jù)驅(qū)動進行特征提取,模型泛化能力更好,且檢測識別速度和精度有大幅度提升。單階段主要識別算法有Yolov1[5]、Yolov2[6]、Yolov3[7]、SSD[8]等,其中Yolo系列算法是采用回歸思想檢測識別,SSD取卷積神經(jīng)網(wǎng)絡(luò)不同的特征層檢測輸出,是一種多尺度的檢測方法。本實驗在考慮面板字符特征的基礎(chǔ)上,選用Yolo系列端對端深度學(xué)習(xí)方法[9],并結(jié)合OpenCV的深度神經(jīng)網(wǎng)絡(luò)(deep neural network,DNN)模塊調(diào)用訓(xùn)練好的模型來識別面板字符。

1 總體設(shè)計方案

將檢測識別設(shè)計分為數(shù)據(jù)預(yù)處理、數(shù)據(jù)訓(xùn)練以及目標檢測識別三個階段。使用公開字符數(shù)據(jù)集中圖片和自收集圖片組成本實驗的整體數(shù)據(jù)集,數(shù)據(jù)標注軟件將數(shù)據(jù)集標注成訓(xùn)練所需要的文件格式,數(shù)據(jù)進行迭代訓(xùn)練使用的是輕量級Yolo-Fastest算法,收斂生成針對字符識別的權(quán)重文件,檢測識別部分選擇OpenCV開源庫的深度學(xué)習(xí)DNN模塊,調(diào)用部署訓(xùn)練好的深度學(xué)習(xí)模型來檢測面板字符,使其運行效率更高。

1.1 Yolo算法介紹

Yolo算法是單階段目標檢測網(wǎng)絡(luò),其算法采用回歸思想,將目標檢測轉(zhuǎn)成回歸問題。如圖1所示為Yolo算法基本檢測流程,使用卷積神經(jīng)網(wǎng)絡(luò)得到一個固定大小的特征圖,接著CNN將輸入圖像劃分成S×S網(wǎng)格,每個單元格負責預(yù)測中心點落在該格子內(nèi)的目標,每個網(wǎng)格預(yù)測B個邊界框(bounding box)和邊界框位置(x,y,w,h)及置信度(confidence score),用非極大值抑制算法得到最后的目標結(jié)果。在Yolo系列算法中,Yolo-Fastest模型尺寸最小,檢測精度優(yōu)于Yolov1、Tiny Yolov2 和 Tiny Yolov3,檢測速度優(yōu)于Yolov2,能夠支持PyTorch、Tensorflow、Keras、Caffe等深度學(xué)習(xí)庫,且在硬件設(shè)備上更容易部署[10]。本次實驗類別只有一類Text類,在考慮精度和速度的同時,選擇Yolo-Fastest為本次實驗的算法模型檢測面板字符,使用OpenCVDNN深度學(xué)習(xí)模塊調(diào)用訓(xùn)練好的模型最后識別面板字符。

圖1 Yolo檢測流程

1.2 Yolo-Fastest網(wǎng)絡(luò)結(jié)構(gòu)介紹

Yolo-Fastest是一種開源的基于Yolov3框架的輕量級目標檢測算法,傳統(tǒng)Yolov3基于Darknet53網(wǎng)絡(luò),共有73層,其中卷積核大小為3*3和1*1的卷積層有53層,其余為殘差層。Yolo-Fastest網(wǎng)絡(luò)由主干網(wǎng)絡(luò)和深層網(wǎng)絡(luò)層組成,主干網(wǎng)絡(luò)用于提取圖像特征,深層網(wǎng)絡(luò)層的作用是提取目標物的邊界框,Yolo-Fastest為減少模型的參數(shù)量和運算量,在主干網(wǎng)絡(luò)中大量采用深度可分離卷積并減少了網(wǎng)絡(luò)的層數(shù),主干網(wǎng)絡(luò)由27個層組成,第一層為標準卷積層,其余層均為深度可分離卷積層,深度可分離卷積極大減少了計算量,縮小了網(wǎng)絡(luò)模型[11]。Yolo-Fastest的損失函數(shù)是在Yolov3損失函數(shù)的基礎(chǔ)上將x,y,w,h的坐標損失從交叉熵損失換成了CloU[11],式(1)-(3)為其損失函數(shù)計算公式,公式中的損失函數(shù)考慮了重疊面積、中心點距離和長寬比。其中v是長寬比的相似性,c是對角線距離,a是權(quán)重參數(shù)。

2 實驗設(shè)計

2.1 數(shù)據(jù)預(yù)處理

Yolo-Fastest使用VOC數(shù)據(jù)集框架模型,所以需要根據(jù)VOC數(shù)據(jù)集的框架構(gòu)建數(shù)據(jù)集。本實驗使用ICDAR2013公共數(shù)據(jù)集以及自收集圖片共同組成實驗數(shù)據(jù)集,選用VOC2007數(shù)據(jù)集制作軟件對原圖片統(tǒng)一命名,處理生成xml格式標注文件,文件內(nèi)容有圖片文件名、尺寸大小以及圖片中包含的目標以及目標信息,其中xmin和ymin分別為每個目標框的左上角坐標,xmax和ymax為右下角坐標;xml格式轉(zhuǎn)換成Yolo使用的標注txt格式文件,標注后的每個txt文件包含5個數(shù)值,分別是所標注內(nèi)容的類別、歸一化后的中心點x坐標、歸一化后的中心點y坐標、歸一化后的目標框?qū)挾葁、歸一化后的目標框高度h[12],本實驗的實驗數(shù)據(jù)集類別只有text類,標注內(nèi)容的類別顯示為0。

2.2 數(shù)據(jù)訓(xùn)練

數(shù)據(jù)集進行訓(xùn)練時,需要對配置文件進行修改,根據(jù)硬件配置和數(shù)據(jù)集類型修改Yolo-Fastest的配置文件中相關(guān)參數(shù),將類別classes設(shè)置成1,圖片輸入信息為416*416*3,權(quán)重衰減系數(shù)為0.0005,防止過擬合,初始學(xué)習(xí)率為0.001,執(zhí)行指令生成預(yù)訓(xùn)練權(quán)重文件,生成的預(yù)訓(xùn)練權(quán)重文件大小為821kB。開始正式訓(xùn)練,將訓(xùn)練次數(shù)設(shè)置成35000,每訓(xùn)練1000次,保存一次權(quán)重。

2.3 OpenCV-DNN模塊調(diào)用Yolo-Fastest

OpenCV開發(fā)的DNN模塊可以專門用來實現(xiàn)深度神經(jīng)網(wǎng)絡(luò)的相關(guān)功能。OpenCV無法訓(xùn)練模型,但可以載入訓(xùn)練好的深度學(xué)習(xí)框架模型,用該模型做預(yù)測,OpenCV在載入模型時會使用DNN模塊對模型進行重寫,使得其運行效率更高。

OpenCV的DNN模塊做Yolo-Fastest的前向推理時,所需要調(diào)用的是訓(xùn)練數(shù)據(jù)集時的配置文件和訓(xùn)練數(shù)據(jù)集最后生成的權(quán)重文件。DNN模塊重新部署深度學(xué)習(xí)模型時,需要用到如下關(guān)鍵函數(shù)處理,OpenCV的DNN模塊通過讀取輸入的配置文件和訓(xùn)練好的權(quán)重文件來初始化Yolo-Fastest網(wǎng)絡(luò)。detect函數(shù)對輸入的圖像做目標檢測,畫出圖中物體的類別和矩形框,其中dnn.blobFromImage實現(xiàn)了每一幀圖片的預(yù)處理,dnn.NMSBoxes根據(jù)給定的檢測boxes和對應(yīng)的scores進行非最大抑制處理,目標檢測算法會給圖片上所有物體產(chǎn)生多的候選框,候選框可能會相互重疊,非最大抑制就是保留最優(yōu)的候選框。

3 結(jié)果分析

用A320飛機駕駛艙靜態(tài)模型圖片和計算機攝像頭動態(tài)識別模型圖片進行對比測試。先使用OpenCV的DNN模塊加載Darknet模型配置和已經(jīng)訓(xùn)練好的權(quán)重文件來做測試,檢測識別單張圖片所需要的時間約為16.01ms,如圖2所示。用計算機攝像頭近距離實時識別駕駛艙面板模型,截取隨機一幀圖片識別的時間約為13.74ms,如圖3所示。用Yolo-Fastest模型進行檢測識別單張圖片需要438.992ms??梢钥闯觯褂肙penCV的DNN模塊部署深度學(xué)習(xí)模型識別面板字符的速度更快。

圖2 OpenCV-DNN識別結(jié)果

圖3 截取某一幀圖片識別結(jié)果

4 結(jié)論

本文使用主流的Yolo系列目標檢測算法,制作字符數(shù)據(jù)集并用Yolo-Fastest算法生成模型權(quán)重文件,在圖片檢測識別部分使用OpenCV實現(xiàn)神經(jīng)網(wǎng)絡(luò)的DNN模塊,部署調(diào)用訓(xùn)練好的配置文件和模型權(quán)重文件,識別駕駛艙面板字符。從實驗結(jié)果可以看出,該方法識別字符的速度較快,能夠滿足駕駛艙字符識別的實時性,具有一定的應(yīng)用價值。

猜你喜歡
字符識別字符深度
尋找更強的字符映射管理器
深度理解一元一次方程
字符代表幾
一種USB接口字符液晶控制器設(shè)計
電子制作(2019年19期)2019-11-23 08:41:50
深度觀察
深度觀察
消失的殖民村莊和神秘字符
深度觀察
一種改進深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)的英文字符識別
儀表字符識別中的圖像處理算法研究
桃源县| 镇江市| 丹巴县| 密山市| 长丰县| 交口县| 隆德县| 华容县| 水城县| 泽普县| 怀来县| 洛阳市| 敦煌市| 东宁县| 青铜峡市| 丽水市| 孟津县| 会昌县| 上蔡县| 瑞金市| 明溪县| 阜城县| 祥云县| 河源市| 罗源县| 巴彦淖尔市| 汾西县| 玛沁县| 九江市| 西城区| 枣阳市| 永泰县| 沅江市| 隆林| 涟水县| 崇左市| 南皮县| 安吉县| 金坛市| 博野县| 屏边|