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

?

一種輕量化中文指路標(biāo)志的文本識(shí)別算法*

2022-09-21 08:36宜超杰包宇翔
關(guān)鍵詞:指路字符直方圖

宜超杰,陳 莉,包宇翔

(西北大學(xué)信息科學(xué)與技術(shù)學(xué)院,陜西 西安 710100)

1 引言

指路標(biāo)志牌是交通標(biāo)志中最為復(fù)雜的一種,能夠靈活地傳達(dá)距離信息、路線信息等。因此,指路標(biāo)志牌中的文字提取和識(shí)別對(duì)交通大數(shù)據(jù)、自動(dòng)駕駛等具有重要的意義。

如今,使用機(jī)器視覺方法對(duì)指路標(biāo)志進(jìn)行提取和識(shí)別十分容易[1 - 4],但從指路標(biāo)志中提取和識(shí)別文字仍然存在較大的困難。典型的指路標(biāo)志牌如圖1所示。

Figure 1 Typical guide signs圖1 典型指路標(biāo)志牌

傳統(tǒng)的文本識(shí)別方法主要通過對(duì)圖像色彩、形狀等維度的解析和變換來提取圖像特征。Wu等[3]使用特征點(diǎn)聚類的方法提取標(biāo)志牌的水平文字區(qū)域;Liu等[5]使用圖像的二階導(dǎo)數(shù)來確定圖像中的字體邊緣信息,并進(jìn)行區(qū)域融合以定位出圖像中的文字區(qū)域;Neumann等[6]通過邊緣和色彩等信息提取最大穩(wěn)定極值區(qū)域MSER(Maximally Stable Extremal Regions)來確定字符位置,并訓(xùn)練分類器實(shí)現(xiàn)文本識(shí)別。

Figure 2 Flowchart of the proposed algorithm圖2 本文算法流程圖

但是,傳統(tǒng)的檢測(cè)方法魯棒性較差,無法適應(yīng)多變的拍攝環(huán)境和角度。近年來,深度學(xué)習(xí)技術(shù)憑借其強(qiáng)大的特征提取能力在機(jī)器視覺領(lǐng)域大放異彩,光學(xué)字符識(shí)別OCR(Optical Character Recognition)技術(shù)也隨之取得了較大進(jìn)步。當(dāng)前深度OCR框架主要由文本區(qū)域提取和文本識(shí)別2個(gè)子模塊構(gòu)成。文本區(qū)域提取是指從自然場(chǎng)景中檢測(cè)和提取出文字區(qū)域。如Tian等[7]提出的CTPN(Connectionist Text Proposal Network)使用了錨框的思想來檢測(cè)水平排布的文本區(qū)域;Zhou等[8]提出的EAST(Efficient and Accuracy Scene Text)框架采用多方向的矩形區(qū)域來標(biāo)識(shí)檢測(cè)出的文本區(qū)域;Long等[9]提出的TextSnake算法則使用了更為靈活的多圓形組件來定位出任意方向和角度的文本區(qū)域。文本識(shí)別的任務(wù)是從文本區(qū)域中識(shí)別出文本信息。Shi等[10]提出的CRNN(Convolutional Recurrent Neural Network)網(wǎng)絡(luò)結(jié)構(gòu)融合了CNN(Convolutional Neural Network)與RNN(Recurrent Neural Network)的特性,可以在文本區(qū)域中定位和識(shí)別出文本內(nèi)容;Graves等[11]提出的CTC(Connectionist Temporal Classification)算法能夠解決復(fù)雜的文本字符對(duì)齊問題;還有一些OCR框架將文本進(jìn)行字符對(duì)齊后使用圖像分類網(wǎng)絡(luò)如VGG(Visual Geometry Group)[12]、ResNet(deep Residual Network)[13]等來完成文字識(shí)別。Tian等[14]提出的基于弱監(jiān)督學(xué)習(xí)的文本檢測(cè)訓(xùn)練方法WeText,使得在擁有少數(shù)已標(biāo)注的圖像數(shù)據(jù)的情況下仍可以完成文本檢測(cè)框架的訓(xùn)練。

本文針對(duì)中文指路標(biāo)志的結(jié)構(gòu)和特點(diǎn),使用輕量化的思想,設(shè)計(jì)了一種指路標(biāo)志多方向中文文本提取和識(shí)別算法。

2 算法設(shè)計(jì)

本文提出的算法將中文指路標(biāo)志的文本識(shí)別分為3大步驟,分別為:(1)YOLOv5t(You Only Look Once)文本區(qū)域識(shí)別和提取;(2)M-split字符分割;(3)文本識(shí)別與整合。算法流程如圖2所示。

2.1 YOLOv5t文本區(qū)域提取

當(dāng)前OCR技術(shù)中較為常用的文本區(qū)域提取算法有CTPN[7]、EAST[8]等。CTPN算法借鑒了經(jīng)典目標(biāo)檢測(cè)網(wǎng)絡(luò)Faster R-CNN[15]中使用的錨框來預(yù)錨定文本行對(duì)象;EAST算法使用多方向的矩形來標(biāo)記文本區(qū)域。這些常用的深度OCR框架對(duì)于文字的方向和排布有一定的要求。盡管近年提出的TextSnake等框架可以靈活地定位多方向、多角度的文本內(nèi)容,但訓(xùn)練這些框架的數(shù)據(jù)集標(biāo)注起來非常困難和耗時(shí)。另一種常用的方法是使用通用的目標(biāo)檢測(cè)框架來提取文本區(qū)域,如SSD(Single Shot multibox Detector)網(wǎng)絡(luò)[16]、R-CNN(Regions with CNN features)系列和YOLO[17]系列網(wǎng)絡(luò)等。本文對(duì)YOLOv5l目標(biāo)檢測(cè)框架進(jìn)行輕量化改進(jìn)以實(shí)現(xiàn)文本區(qū)域的檢測(cè)。YOLOv5l框架的開源代碼地址為https:∥github.com/ultralytics/yolov5.

為了與原網(wǎng)絡(luò)加以區(qū)分以及后期評(píng)估的方便,本文將所提算法中經(jīng)過輕量化改進(jìn)的YOLOv5l目標(biāo)檢測(cè)網(wǎng)絡(luò)命名為YOLOv5t(YOLOv5 for Traffic)。

YOLOv5l的主要?jiǎng)?chuàng)新點(diǎn)有:

(1)在網(wǎng)絡(luò)淺層引入Focus切片操作,即對(duì)特征圖進(jìn)行等間隔的切片,再對(duì)切片進(jìn)行通道拼接和卷積。

(2)使用CSPNet[18]中的BottleneckCSP瓶頸層堆疊作為基本結(jié)構(gòu),以加深網(wǎng)絡(luò)的特征提取能力。

(3)將激活函數(shù)換為H-Swish(Hard-Swish),以激勵(lì)網(wǎng)絡(luò)學(xué)到更為稀疏的特征。設(shè)x為神經(jīng)元的輸出值,則H-Swish的表達(dá)如式(1)所示:

(1)

YOLOv5l的網(wǎng)絡(luò)結(jié)構(gòu)如表1所示。

Table 1 Structure of YOLOv5l

表1中,第1~10層為網(wǎng)絡(luò)的backbone部分,用來提取圖像的特征信息;第11~25層為網(wǎng)絡(luò)的head部分,用來進(jìn)行特征融合和目標(biāo)檢測(cè)。表中1次Conv操作代表1次卷積、批量歸一化BN(Batch Normalization)和H-Swish激活函數(shù)的組合,Concat表示通道拼接操作。在自動(dòng)駕駛汽車等設(shè)備中,用于進(jìn)行實(shí)時(shí)智能計(jì)算加速的資源通常十分有限,直接將完整的神經(jīng)網(wǎng)絡(luò)部署在這些設(shè)備上難度較大,因此對(duì)網(wǎng)絡(luò)進(jìn)行輕量化改進(jìn)對(duì)于算法的移動(dòng)布署具有重要意義。

Han等[19]提出的GhostModule通過對(duì)特征圖進(jìn)行線性變換,可以得到足夠多的特征圖,足以代替標(biāo)準(zhǔn)卷積操作,其結(jié)構(gòu)如圖3所示。該結(jié)構(gòu)與殘差結(jié)構(gòu)融合后,根據(jù)不同步長,得到了如圖4a和圖4b所示的2種GhostBottleneck結(jié)構(gòu)。Howard等[20]在其提出的輕量化網(wǎng)絡(luò)MobileNetV1中給出了“深度可分離卷積”的概念,將卷積神經(jīng)網(wǎng)絡(luò)中的卷積分解為1次“深度卷積”和1次“點(diǎn)卷積”,減少了卷積操作中的參數(shù)量。普通卷積和深度可分離卷積分別如圖5a和5b所示。

Figure 3 Structure of GhostModule圖3 GhostModule結(jié)構(gòu)

Figure 4 Structure of GhostBottleneck圖4 GhostBottleneck結(jié)構(gòu)

Figure 5 Normal convolution and depthwise separable convolution圖5 普通卷積與深度可分離卷積

本文基于上述技術(shù),對(duì)YOLOv5l網(wǎng)絡(luò)進(jìn)行了如下改進(jìn),以優(yōu)化網(wǎng)絡(luò)性能:

(1)將YOLOv5l網(wǎng)絡(luò)的backbone部分改為類GhostNet結(jié)構(gòu),但將第1層的卷積操作替換為原Focus操作,同時(shí)去掉了GhostNet尾部的部分卷積與池化層。

(2)將head部分中BottleneckCSP模塊內(nèi)部的卷積操作替換為深度可分離卷積,并在替換后的網(wǎng)絡(luò)中的每個(gè)BottleneckCSP后添加SE(Squeeze-and-Excitation)層[21]注意力模塊,使用全局最大池化的注意力機(jī)制來保持網(wǎng)絡(luò)精度。

(3)對(duì)模塊間的輸入與輸出通道進(jìn)行統(tǒng)一調(diào)整,確保不同尺寸的特征能夠正常融合。

改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu)如表2所示。

2.2 M-split字符分割算法

文本區(qū)域被提取出來后,需要再分割為單字符,才能輸入到神經(jīng)網(wǎng)絡(luò)中進(jìn)行識(shí)別。字符分割的方法有基于邊緣輪廓的字符分割[22]、基于投影閾值的字符分割等。漢字中,一個(gè)漢字可能包含多個(gè)獨(dú)立子結(jié)構(gòu),如“北”“昌”等字符就由多個(gè)“組件”組合而成。此外,某些圖像的檢測(cè)結(jié)果中還可能混入了一些噪聲(如圖6所示),因此上述2種方法都無法完整而準(zhǔn)確地劃分中文字符。本文提出了一種改進(jìn)的字符分割算法M-split,主要包括旋轉(zhuǎn)與二值化、投影直方圖生成、多項(xiàng)式擬合和極小值點(diǎn)分割等步驟。

2.2.1 旋轉(zhuǎn)與二值化

2.1節(jié)中提取出的文字區(qū)域中的文字存在橫排或者豎排2種排布方向。神經(jīng)網(wǎng)絡(luò)可以通過訓(xùn)練識(shí)別出多角度的文字,對(duì)于豎排的文字,算法直接將其逆時(shí)針旋轉(zhuǎn)90°并按照水平文本統(tǒng)一處理。

Table 2 Structure of YOLOv5t

當(dāng)文本區(qū)域的寬高比大于或等于1.2時(shí),算法判定文本是水平排布的,否則判定為垂直排布。

在文本區(qū)域角度調(diào)節(jié)完畢后,使用Otsu方法[23]對(duì)文本區(qū)域進(jìn)行二值化處理,以去除部分顯著噪聲點(diǎn),突出前景文字。文本區(qū)域的旋轉(zhuǎn)、二值化處理及其結(jié)果如圖6所示。

Figure 6 Rotation and binarization operations圖6 旋轉(zhuǎn)與二值化操作

2.2.2 投影直方圖生成

在圖6中,由于YOLOv5t框架只能使用矩形框標(biāo)識(shí)目標(biāo),導(dǎo)致部分傾斜或質(zhì)量較差的區(qū)域在進(jìn)行旋轉(zhuǎn)和二值化處理后仍帶有文本以外的噪聲。對(duì)文本區(qū)域進(jìn)行旋轉(zhuǎn)和二值化處理后,區(qū)域中只剩下前景和背景區(qū)域,接下來統(tǒng)計(jì)二值化后的圖像每一像素列中前景部分的像素點(diǎn)個(gè)數(shù),得到圖像每一列中的白色像素點(diǎn)個(gè)數(shù)數(shù)組P,再對(duì)P繪制直方圖,以圖6中的“創(chuàng)匯路”圖像為例,繪制出的對(duì)應(yīng)的水平投影直方圖如圖7所示。

Figure 7 Histogram of text projection圖7 文本投影直方圖

2.2.3 多項(xiàng)式擬合

由圖7可知,雖然字符之間存在明顯的、非零像素點(diǎn)數(shù)為0的界限,但由于噪聲的存在以及漢字結(jié)構(gòu)本身的特性,無法直接通過固定閾值劃分出單個(gè)字符。因此,本文算法使用多項(xiàng)式來近似擬合直方圖,以精確得到分割點(diǎn)。首先將圖7所示的直方圖看作非0像素點(diǎn)個(gè)數(shù)y關(guān)于像素列p的k(k>0)次多項(xiàng)式函數(shù),即使用如式(2)所示的函數(shù)f(p)對(duì)直方圖進(jìn)行擬合:

f(p)=a0pk+a1pk-1+…+

(2)

其中,ai為系數(shù),取值范圍為全體實(shí)數(shù)。由直方圖可以得到每一像素列pi對(duì)應(yīng)的非0像素點(diǎn)個(gè)數(shù)yi,于是使用均方誤差構(gòu)建如式(3)所示的損失函數(shù):

(3)

其中w表示像素列總數(shù)。

在得到了損失函數(shù)后,只需要通過梯度下降法最小化損失函數(shù),即可近似擬合2.2.2節(jié)中生成的直方圖分布。至此,算法將離散的像素點(diǎn)數(shù)值連續(xù)化為了多項(xiàng)式函數(shù)。

在擬合過程中,可以通過改變k值對(duì)直方圖進(jìn)行不同精度的擬合,圖8展示了k=5,k=10和k=15時(shí)對(duì)圖6中“創(chuàng)匯路”文字區(qū)域的擬合結(jié)果。

Figure 8 Results of polynomial fitting圖8 多項(xiàng)式擬合結(jié)果

2.2.4 極小值點(diǎn)分割

由圖8知,當(dāng)k值過小時(shí),曲線并不能很好地?cái)M合直方圖的變化,而當(dāng)k過大時(shí),曲線又會(huì)對(duì)噪聲和漢字內(nèi)部結(jié)構(gòu)變得過分敏感,因此,k的取值直接關(guān)系到M-split算法的分割性能。

在得到多項(xiàng)式f(p)以后,另一項(xiàng)工作是獲取f(p)在[0,w]內(nèi)的極小值。最直接的方法是求解式(4)所示的方程:

f′(p)=0,p∈[0,w]

(4)

并根據(jù)解的性質(zhì)找到f(p)的所有極值點(diǎn)。然而,由于f(p)是高次多項(xiàng)式,求解方程的時(shí)間復(fù)雜度極大。因此,本文算法以0.5為步長在[0,w]內(nèi)遍歷f(p),以求得方程近似解。判定點(diǎn)M:(p,f(p))為可分割極小值的規(guī)則如下所示:

(1)round(f′(p),1)=0;

(2)f′(p-1)≤0且f′(p+1)≥0;

(3)f(p)值小于或等于數(shù)組P的下40%分位點(diǎn)。

其中,round(f′(p),1)表示f′(p)四舍五入保留小數(shù)點(diǎn)后1位的結(jié)果。在執(zhí)行遍歷的過程中,當(dāng)找到一個(gè)新的分割點(diǎn)時(shí),應(yīng)該與已找到的最近分割點(diǎn)進(jìn)行比較,若兩點(diǎn)之間的距離與w之比小于或等于0.05,則算法認(rèn)為該新的分割點(diǎn)是重復(fù)的,丟棄該分割點(diǎn)。

橫排文字和豎排文字的完整分割流程分別如圖9a和圖9b所示。

Figure 9 Flow chart of the character division圖9 字符分割流程

2.3 文本識(shí)別

由于拍攝條件的多樣性,最終分割出來的字符區(qū)域中可能會(huì)存在部分英文、色塊等“噪聲”,因此在文本識(shí)別時(shí),算法需要具有強(qiáng)大的特征提取能力。本文算法使用學(xué)習(xí)能力較強(qiáng)的神經(jīng)網(wǎng)絡(luò)來訓(xùn)練和識(shí)別字符,以提高識(shí)別精度,出于對(duì)時(shí)間性能的考慮,算法選擇輕量化網(wǎng)絡(luò)MobileNetV3[24]來實(shí)現(xiàn)字符的識(shí)別訓(xùn)練。MobileNetV3為MobileNets系列網(wǎng)絡(luò)的最新版本,其主要?jiǎng)?chuàng)新是引入了通道先擴(kuò)張?jiān)偈湛s的“反轉(zhuǎn)殘差”結(jié)構(gòu),并使用了SE層[21]來增強(qiáng)網(wǎng)絡(luò)的學(xué)習(xí)能力。本文將文本識(shí)別任務(wù)作為多分類任務(wù)實(shí)現(xiàn)。訓(xùn)練完成后的MobileNetV3網(wǎng)絡(luò)權(quán)重文件大小僅有18.4 MB,完全可以在邊緣計(jì)算設(shè)備中部署。

Figure 10 Text detect part of TS-Detect dataset圖10 TS-Detect文本檢測(cè)部分

3 仿真實(shí)驗(yàn)

3.1 數(shù)據(jù)集

由于中文指路標(biāo)志方面尚沒有公開數(shù)據(jù)集,因此本文使用自制的TS-Detect數(shù)據(jù)集進(jìn)行網(wǎng)絡(luò)訓(xùn)練和算法調(diào)試。數(shù)據(jù)集共包含3個(gè)部分:文本檢測(cè)部分、字符分割部分和文本識(shí)別部分。其中,文本檢測(cè)部分包含1 210幅中文指路標(biāo)志圖像,均是從騰訊街景和百度街景中采集獲得的。文本檢測(cè)部分中含有近景(分辨率較高)和遠(yuǎn)景(分辨率較低)2種尺度的指路標(biāo)志圖像。文本檢測(cè)部分的數(shù)據(jù)如圖10所示。字符分割部分包含從文本檢測(cè)部分截取的多角度文本區(qū)域圖像,由于M-Split字符分割算法不需要進(jìn)行訓(xùn)練,因此字符分割部分全部用于測(cè)試和評(píng)估。文本識(shí)別部分的訓(xùn)練集包含1 000幅常用漢字字符圖像,均進(jìn)行了旋轉(zhuǎn)、二值化、仿射、添加隨機(jī)噪聲等隨機(jī)數(shù)據(jù)增強(qiáng);測(cè)試集包含127幅不同的漢字圖像。文本識(shí)別部分的數(shù)據(jù)如圖11所示,TS-Detect數(shù)據(jù)集的劃分情況如表3所示。

Figure 11 Text recognition part of TS-Detect dataset圖11 TS-Detect文本識(shí)別部分

3.2 實(shí)驗(yàn)環(huán)境及參數(shù)設(shè)置

本文算法使用Intel Core i9-10900K 3.8 GHz處理器進(jìn)行數(shù)據(jù)處理,并使用NVIDIA RTX2080Ti GPU進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練加速。算法在Ubuntu 18.04.5 LTS系統(tǒng)環(huán)境下進(jìn)行開發(fā)和測(cè)試。YOLOv5t網(wǎng)絡(luò)與MobileNetV3網(wǎng)絡(luò)均使用PyTorch框架搭建。YOLOv5t網(wǎng)絡(luò)訓(xùn)練的初始學(xué)習(xí)率為0.001,使用余弦退火方式調(diào)整學(xué)習(xí)率,batch-size為15;MobileNetV3文本識(shí)別網(wǎng)絡(luò)使用交叉熵作為損失函數(shù),初始學(xué)習(xí)率固定為0.000 1,batch-size設(shè)置為100。

Table 3 Division details of TS-Detect表3 TS-Detect 數(shù)據(jù)集劃分情況

3.3 結(jié)果分析與評(píng)估

3.3.1 文本區(qū)域提取評(píng)估

本節(jié)中使用mAP@.5指標(biāo)與mAP@.5:.95指標(biāo)分別評(píng)估YOLOv5t網(wǎng)絡(luò)的文本區(qū)域檢測(cè)性能。mAP(mean Average Precision)為準(zhǔn)確率-召回率(Precision-Recall)曲線使用峰值近似算法得到的與坐標(biāo)軸圍成的近似面積。其中mAP@.5為將IOU(Intersection over Union)閾值設(shè)置為0.5時(shí)的mAP值;mAP@.5:.95為IOU閾值從0.5以步長0.05增長到0.95時(shí)計(jì)算得到的mAP平均值。前者評(píng)估算法對(duì)目標(biāo)的檢出能力,后者反映算法對(duì)目標(biāo)的定位精度。在訓(xùn)練階段,mAP@.5和mAP@.5:.95的變化曲線分別如圖12a和圖12b所示。

Figure 12 Train curves of YOLOv5t圖12 YOLOv5t訓(xùn)練曲線

本節(jié)使用TS-Detect的測(cè)試部分評(píng)估YOLOv5t網(wǎng)絡(luò)對(duì)中文文本區(qū)域的檢測(cè)效果,并與1.1節(jié)中的相關(guān)算法進(jìn)行對(duì)比。此外,為了進(jìn)一步驗(yàn)證YOLOv5t網(wǎng)絡(luò)結(jié)構(gòu)的輕量化性能,還將YOLOv5l中的卷積操作替換為深度可分離卷積,并將該結(jié)構(gòu)加入對(duì)比實(shí)驗(yàn),為了方便評(píng)估,本文將該替換后的網(wǎng)絡(luò)命名為YOLOv5d。對(duì)比結(jié)果如表4所示。

由表4可知,YOLOv5t網(wǎng)絡(luò)的權(quán)重相較于原版YOLOv5l網(wǎng)絡(luò)的下降了93.3%,mAP@.5:.95僅下降了3%,mAP@.5甚至高于原版YOLOv5l網(wǎng)絡(luò)的,并優(yōu)于YOLOv5d等其他對(duì)比網(wǎng)絡(luò),在TS-Detect文本檢測(cè)部分的測(cè)試集上達(dá)到了最佳精度??梢?,本文提出的YOLOv5t網(wǎng)絡(luò)能夠高效地檢測(cè)出指路標(biāo)志中的中文文本區(qū)域,并過濾了英文、指示圖形等干擾元素。

Table 4 Comparison of text detection algorithms

3.3.2 字符分割評(píng)估

本節(jié)使用TS-Detect數(shù)據(jù)集中的字符分割部分對(duì)M-split字符分割算法進(jìn)行評(píng)估,并與主流的字符分割算法進(jìn)行對(duì)比。

當(dāng)擬合多項(xiàng)式的指數(shù)參數(shù)k分別取5,10,11,12,13,14,15時(shí),使用準(zhǔn)確率(Precision)、召回率(Recall)及F1指數(shù)(F1-Score)3種指標(biāo)評(píng)價(jià)M-split字符分割算法在 TS-Detect字符分割數(shù)據(jù)集上的文本分割性能。3種指標(biāo)的相關(guān)定義如式(5)~式(7)所示:

(5)

(6)

(7)

其中,TP為真正例(True Positive),即被正確分割的字符數(shù)量;FP為假正例(False Positive),即結(jié)果中分割錯(cuò)誤的字符數(shù)量;FN為假反例(False Negative),即測(cè)試集中未被分割出的字符個(gè)數(shù)。

M-split算法的測(cè)試結(jié)果如表5所示。

Table 5 Experimental results of character split algorthm

由表5可知,當(dāng)k=13時(shí),M-split算法的F1-Score值最高,效果最優(yōu)。在得到字符分割參數(shù)后,使用2.2節(jié)中所述的投影閾值法和邊緣輪廓法(使用Sobel算子強(qiáng)化邊緣信息)在TS-Detect字符分割數(shù)據(jù)集上與M-split算法進(jìn)行對(duì)比實(shí)驗(yàn),結(jié)果如圖13所示。

Figure 13 Comparison of different character split algorithms圖13 字符分割算法對(duì)比

由圖13可知,本文提出的M-split算法的F1-Score值達(dá)到了0.944,比投影閾值算法的高出50.3%,比邊緣輪廓分割法的高出57.1%,相較于其他字符分割算法,M-split算法具有更優(yōu)異的性能,能夠勝任多角度、含有英文等噪聲圖像的字符分割任務(wù)。

3.3.3 文本識(shí)別評(píng)估

本文將文本識(shí)別作為圖像分類任務(wù)進(jìn)行處理。文本識(shí)別訓(xùn)練集包括了1 000幅常用漢字樣本圖像來檢驗(yàn)算法的有效性。損失函數(shù)的下降曲線如圖14所示。本文采取分類任務(wù)的常用指標(biāo)——正確率(Accuracy)來衡量分類結(jié)果,其計(jì)算公式如式(8)所示:

(8)

其中,P為所有正例(Positive),N為所有反例(Negative),P+N代表測(cè)試集中的所有文字個(gè)數(shù),TP+TN代表被正確識(shí)別的文字個(gè)數(shù)。本文分別訓(xùn)練了VGG16、ResNet50和AlexNet 3種圖像分類網(wǎng)絡(luò)作為對(duì)比分類器,還使用未經(jīng)分割的水平文本數(shù)據(jù)訓(xùn)練了主流的CRNN+CTC端到端文本識(shí)別網(wǎng)絡(luò),測(cè)試結(jié)果如表6所示。

Figure 14 Loss curve of MobileNetV3圖14 MobileNetV3訓(xùn)練損失下降曲線

Table 6 Experimental results of text recognition表6 文本識(shí)別結(jié)果

由表6可知,MobileNetV3文本識(shí)別網(wǎng)絡(luò)的識(shí)別精度達(dá)到了82.7%,能夠準(zhǔn)確識(shí)別漢字,過濾噪聲。其余幾種文本識(shí)別網(wǎng)絡(luò)中,ResNet50網(wǎng)絡(luò)的識(shí)別精度最高,達(dá)到了83.5%。相比之下,本文算法所采用的MobileNetV3輕量化網(wǎng)絡(luò)與最佳結(jié)果僅相差0.8%,但權(quán)重文件大小只有后者的18.8%,十分輕量化,更加易于部署和實(shí)時(shí)計(jì)算。

3.3.4 算法整合

在各模塊分別開發(fā)完成后,對(duì)圖像的尺寸進(jìn)行適應(yīng)性調(diào)整和連接,最后融合為完整算法。本文使用TS-Detect文本檢測(cè)部分?jǐn)?shù)據(jù)集中的驗(yàn)證集+測(cè)試集共246幅測(cè)試圖像對(duì)完整算法進(jìn)行性能綜合評(píng)估,并與當(dāng)前主流的自然場(chǎng)景OCR算法進(jìn)行正確率對(duì)比,還使用幀率(每秒可檢測(cè)的圖像數(shù)量)來衡量算法的實(shí)時(shí)性能,在幀率評(píng)估時(shí)不區(qū)分遠(yuǎn)景與近景圖像。綜合評(píng)估結(jié)果如表7所示。

由表7可知,本文算法在TS-Detect文本檢測(cè)數(shù)據(jù)集上的近景檢測(cè)正確率達(dá)到了90.1%,遠(yuǎn)景檢測(cè)正確率達(dá)到了70.2%,在近景和遠(yuǎn)景圖像的文本檢測(cè)精度在所有參評(píng)算法中都是最佳。且本文算法的推斷速度達(dá)到了40 fps,相較于其他算法也具有明顯的優(yōu)勢(shì)。在實(shí)際的部署場(chǎng)景中,還可以利用連續(xù)拍攝得到的冗余信息進(jìn)一步提高檢測(cè)精度。部分檢測(cè)結(jié)果樣例如圖15所示。

Table 7 Experimental results of algorithms

Figure 15 Results of the proposed algorithm圖15 結(jié)果展示

4 結(jié)束語

本文設(shè)計(jì)了一種結(jié)合了CNN與傳統(tǒng)機(jī)器學(xué)習(xí)方法的輕量化中文指路標(biāo)志文本提取與識(shí)別算法。算法分為文本提取、字符分割和文本識(shí)別3大模塊。在文本提取時(shí)對(duì)YOLOv5l網(wǎng)絡(luò)進(jìn)行了輕量化改進(jìn),提出了YOLOv5t文本區(qū)域檢測(cè)網(wǎng)絡(luò);在字符分割時(shí),提出了一種基于投影直方圖和多項(xiàng)式擬合的M-split分割算法,充分利用漢字結(jié)構(gòu)和漢字間距來達(dá)到快速、精準(zhǔn)的分割效果;使用MobileNetV3輕量化網(wǎng)絡(luò)完成文本識(shí)別任務(wù)。最后通過實(shí)驗(yàn)對(duì)整體算法和各個(gè)模塊分別進(jìn)行了評(píng)估,驗(yàn)證了本文算法的有效性和高效性。

猜你喜歡
指路字符直方圖
符合差分隱私的流數(shù)據(jù)統(tǒng)計(jì)直方圖發(fā)布
基于FPGA的直方圖均衡圖像增強(qiáng)算法設(shè)計(jì)及實(shí)現(xiàn)
提燈指路的人
論高級(jí)用字階段漢字系統(tǒng)選擇字符的幾個(gè)原則
字符代表幾
一種USB接口字符液晶控制器設(shè)計(jì)
圖片輕松變身ASCⅡ藝術(shù)畫
用直方圖控制畫面影調(diào)
夢(mèng)想是用來指路的
中考頻數(shù)分布直方圖題型展示
商都县| 芒康县| 北辰区| 莱芜市| 龙井市| 山西省| 康马县| 霍林郭勒市| 偏关县| 翁源县| 安新县| 马鞍山市| 武隆县| 景泰县| 盐池县| 腾冲县| 汉阴县| 昭觉县| 兴业县| 伊通| 岳池县| 韶山市| 封丘县| 荣成市| 双辽市| 和政县| 遵义市| 湘阴县| 三明市| 永宁县| 钦州市| 太谷县| 永顺县| 临漳县| 延津县| 安宁市| 屯留县| 桦川县| 磴口县| 五原县| 吉木乃县|