葛永杰,王麗丹,陳定喜,段書凱,6,干秀靈
(1.西南大學(xué)電子信息工程學(xué)院,重慶 400715;2.智能傳動(dòng)和控制技術(shù)國家地方聯(lián)合工程實(shí)驗(yàn)室,重慶 400715;3.類腦計(jì)算與智能控制重慶市重點(diǎn)實(shí)驗(yàn)室,重慶 400715;4.重慶市腦科學(xué)協(xié)同創(chuàng)新中心,重慶 400715;5.美的集團(tuán),廣東佛山 528311;6.西南大學(xué)人工智能學(xué)院,重慶 400715)
工廠商品包裝外箱制作是工業(yè)生產(chǎn)流程中的重要環(huán)節(jié),外箱的產(chǎn)品批號(hào)和生產(chǎn)日期信息具有重要意義,出廠前須確保字跡清晰完整,不能出現(xiàn)漏印、錯(cuò)印、空白箱等現(xiàn)象,否則會(huì)影響商品的流通與銷售。目前,工廠中商品包裝外箱上字符檢測的相關(guān)方法和應(yīng)用產(chǎn)品較少,且實(shí)時(shí)性與效果不佳,主要處于人工檢查階段,未實(shí)現(xiàn)實(shí)時(shí)自動(dòng)化全覆蓋檢測。商品包裝外箱上的字符檢查,可以利用光學(xué)字符識(shí)別(Optical Character Recognition,OCR)方法實(shí)現(xiàn)生產(chǎn)線智能化字符識(shí)別判斷與商品全覆蓋。
OCR[1]一般包含文本檢測和文本識(shí)別兩個(gè)階段。傳統(tǒng)OCR的文本檢測以圖像處理方法為主進(jìn)行文字定位,處理的對(duì)象往往局限于成像清晰、排列規(guī)整的文檔圖像,無法很好地處理背景復(fù)雜的圖像。隨著深度學(xué)習(xí)技術(shù)的發(fā)展,在OCR的文本檢測領(lǐng)域中相繼出現(xiàn)了一系列基于深度學(xué)習(xí)的文本檢測算法,如CTPN 算法[2]借助anchor回歸機(jī)制并使用滑動(dòng)窗口來檢測目標(biāo)所在區(qū)域,SegLink算法[3]通過引入Segment和Linking兩個(gè)概念實(shí)現(xiàn)了對(duì)具有一定旋轉(zhuǎn)角度文本的檢測,EAST 算法[4]實(shí)現(xiàn)了對(duì)各個(gè)方向文本的檢測。同時(shí),由于文本檢測可以被視為一種目標(biāo)檢測,因此也可以利用主流的目標(biāo)檢測算法進(jìn)行文本檢測與定位。文獻(xiàn)[5]基于R-CNN(Region-Conventional Neural Network)和Fast RCNN[6]目標(biāo)檢測算法提出Faster R-CNN 算法,實(shí)現(xiàn)了區(qū)域建議網(wǎng)絡(luò)和檢測網(wǎng)絡(luò)共享卷積特征,使運(yùn)行速度獲得大幅提升。文獻(xiàn)[7-9]提出的YOLO 系列算法,將候選框提取、特征提取、目標(biāo)分類與定位統(tǒng)一到一個(gè)神經(jīng)網(wǎng)絡(luò)中,具有運(yùn)行速度快和檢測準(zhǔn)確率高的優(yōu)勢。OCR 文字識(shí)別階段以長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)[10]和CTC[11](Connectionist Temporal Classification)的組合為主,同時(shí)也有實(shí)現(xiàn)端到端文字檢測與識(shí)別的方法,如文獻(xiàn)[12]通過共享訓(xùn)練特征、監(jiān)督的方法完成文本檢測和識(shí)別。目前OCR 在車牌、票據(jù)、手寫體等方面有很多方法和應(yīng)用產(chǎn)品。文獻(xiàn)[13]針對(duì)手寫體數(shù)字識(shí)別提出一種基于融合卷積神經(jīng)網(wǎng)絡(luò)的字符識(shí)別模型。文獻(xiàn)[14]對(duì)票據(jù)文本字符識(shí)別進(jìn)行了研究,從光學(xué)系統(tǒng)、硬件結(jié)構(gòu)和深度學(xué)習(xí)算法等方面進(jìn)行優(yōu)化,設(shè)計(jì)一個(gè)基于CCD的票據(jù)圖像實(shí)時(shí)文本檢測機(jī)器視覺系統(tǒng)。文獻(xiàn)[15]針對(duì)車牌識(shí)別速度慢的問題,提出一種自然交通場景下車牌定位和識(shí)別的端到端深度學(xué)習(xí)模型。此外,文獻(xiàn)[16]基于卷積神經(jīng)網(wǎng)絡(luò)對(duì)汽車零件編碼字符進(jìn)行識(shí)別,文獻(xiàn)[17]基于幾何特征對(duì)IC芯片字符分割識(shí)別,文獻(xiàn)[18]基于改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)對(duì)鋁輪轂背腔字符識(shí)別,文獻(xiàn)[19]針對(duì)字符質(zhì)量低的文本提出一種圖像增強(qiáng)算法和卷積循環(huán)神經(jīng)網(wǎng)絡(luò)字符識(shí)別模型。目前,許多企業(yè)都在開展各種場景下字符識(shí)別的研究,并逐步對(duì)外提供各場景下的商用服務(wù)。
在計(jì)算機(jī)技術(shù)和人工智能應(yīng)用不斷發(fā)展的背景下,研究基于深度學(xué)習(xí)的工業(yè)視覺方法具有重要意義。本文結(jié)合工廠生產(chǎn)需求和產(chǎn)業(yè)升級(jí)改造要求,提出基于深度學(xué)習(xí)的工業(yè)視覺箱體字符識(shí)別與判斷方法。通過使用具體的工業(yè)商品外觀信息數(shù)據(jù)集,利用深度學(xué)習(xí)方法實(shí)現(xiàn)箱體字符的檢測與識(shí)別,從而提升生產(chǎn)線自動(dòng)化和智能化水平。
本文檢測識(shí)別的目標(biāo)文本即商品外觀信息,具體指箱體的產(chǎn)品批號(hào)和生產(chǎn)日期。本文使用工業(yè)相機(jī)在生產(chǎn)線上共采集20 000 幅商品外觀信息圖像,制作工業(yè)場景商品外觀信息數(shù)據(jù)集,其中圖像分辨率為1 600 像素×1 200 像素。
OCR 的首要任務(wù)便是文本檢測,文本字符的變化和應(yīng)用場景的復(fù)雜性,對(duì)檢測方法的性能有很大的影響。因此,本文從文本、圖像和應(yīng)用場景等多方面考慮,制作了工業(yè)場景商品外觀信息數(shù)據(jù)集,采集圖像的特點(diǎn)和應(yīng)用要求如下:
1)字符文本長度存在變化,如圖1(a)和圖1(b)所示,工廠生產(chǎn)線的產(chǎn)品批號(hào)種類不一,導(dǎo)致圖像上的產(chǎn)品批號(hào)字符文本長度存在變化。目前需要識(shí)別的產(chǎn)品批號(hào)種類近30 種,而且每年每季度會(huì)有相應(yīng)的更新,其為數(shù)字、字母、符號(hào)組合文本,所包含字符數(shù)量從13 到25 不等。
2)字符文本內(nèi)容存在變化,如圖1(a)和圖1(b)所示,工廠生產(chǎn)線生產(chǎn)商品的批號(hào)具有隨機(jī)性,并且產(chǎn)品批號(hào)在不斷變化更新,同一條生產(chǎn)線,一天之內(nèi)可能生產(chǎn)多個(gè)批號(hào)商品。
3)字符文本字體存在變化,如圖1(c)和圖1(d)所示,工廠各生產(chǎn)線生產(chǎn)的商品日期文本的形式相對(duì)固定,但日期文本字符粗細(xì)存在明顯變化。
4)圖像表面光線分布不均勻,如圖1(e)~圖1(g)所示,工廠生產(chǎn)線光線環(huán)境較差,雖然利用補(bǔ)光燈進(jìn)行光照增強(qiáng),但相機(jī)拍攝到的圖像成像質(zhì)量依然不佳,同一幅圖像上光線不均的情況十分普遍。同時(shí)通過圖1(h)的直方圖可知,圖像的灰度值集中分布在75 以內(nèi),成像整體偏暗。
5)圖像存在遠(yuǎn)近變化,如圖1(e)和圖1(f)所示,前者為近景,后者為遠(yuǎn)景。工廠生產(chǎn)線生產(chǎn)商品是一個(gè)運(yùn)動(dòng)的過程,且相機(jī)對(duì)同一商品箱體兩側(cè)拍照。圖像的遠(yuǎn)近變化影響了圖像表面光線強(qiáng)度和箱體字符大小的變化。
6)基于該方法的系統(tǒng)應(yīng)用環(huán)境存在變化,如圖1(e)~圖1(g)所示,其中,圖1(e)、圖1(f)為同一生產(chǎn)線,圖1(g)為另一條生產(chǎn)線。工廠環(huán)境復(fù)雜,不同生產(chǎn)線物理環(huán)境變化較大,例如箱體大小、光線強(qiáng)度、拍攝角度、生產(chǎn)線運(yùn)行速度等,導(dǎo)致成像質(zhì)量不一,同時(shí)字符格式也存在相應(yīng)變化。
圖1 生產(chǎn)線實(shí)拍圖、切割圖及直方圖Fig.1 Real pictures,cutting diagrams and histogram in production line
7)基于該方法的系統(tǒng)需要滿足不同生產(chǎn)線可以使用同一個(gè)網(wǎng)絡(luò)模型的要求,網(wǎng)絡(luò)要具有優(yōu)良的魯棒性,能夠適應(yīng)生產(chǎn)線環(huán)境變化。
利用圖像標(biāo)注工具手動(dòng)地對(duì)工業(yè)商品外觀信息數(shù)據(jù)集進(jìn)行標(biāo)注,設(shè)置產(chǎn)品批號(hào)(model)和生產(chǎn)日期(date)兩個(gè)類別。
字符識(shí)別與匹配判斷包含3 個(gè)模塊,即目標(biāo)檢測模塊、字符識(shí)別模塊和匹配判斷模塊。目標(biāo)檢測模塊利用CNN 對(duì)圖像中的產(chǎn)品批號(hào)和生產(chǎn)日期文本區(qū)域進(jìn)行檢測定位,然后依據(jù)定位文本框裁剪圖像并送入字符識(shí)別模塊進(jìn)行字符識(shí)別,將字符識(shí)別結(jié)果輸送到匹配判斷模塊,利用模板組合字符文本對(duì)字符識(shí)別結(jié)果進(jìn)行分段全匹配,輸出相應(yīng)的結(jié)果提示。字符識(shí)別與判斷流程如圖2所示。
圖2 字符識(shí)別與匹配判斷流程Fig.2 Procedure of character recognition and matching judgment
2.1.1 目標(biāo)檢測算法
商品外觀信息的文本格式較為固定,不存在較大的角度旋轉(zhuǎn)問題,因此,本文利用目標(biāo)檢測算法進(jìn)行文本檢測。考慮對(duì)速度和精度的高要求,選取YOLO系列的算法,在源碼YOLOv3基礎(chǔ)上將卷積層與批量歸一化層合并,并將GIoU[20](Generalized Intersection over Union)作為回歸目標(biāo)框的損失函數(shù),稱為G-YOLOv3。將工業(yè)商品外觀信息數(shù)據(jù)集以6∶2∶2的比例分為訓(xùn)練集、驗(yàn)證集和測試集,對(duì)YOLOv2、YOLOv3和G-YOLOv3分別進(jìn)行訓(xùn)練,網(wǎng)絡(luò)共迭代10 000次,每1 000次保存1個(gè)模型,初始學(xué)習(xí)率為0.001,權(quán)值衰減率和動(dòng)量分別為0.000 5和0.9。在CPU 為i7-4720HQ、GPU 為GTX 950M、內(nèi)存為8 GB 的計(jì)算機(jī)上進(jìn)行測試,設(shè)置IoU[21](Intersection over Union)閾值為0.75,測試結(jié)果如表1所示??梢钥闯觯珿-YOLOv3對(duì)字符文本的檢測性能要優(yōu)于YOLOv2和YOLOv3,在運(yùn)行速度方面,YOLOv2性能出色,但其綜合性能不如G-YOLOv3。
表1 目標(biāo)檢測性能測試結(jié)果Table 1 Performance test results of object detection
利用工業(yè)商品外觀信息數(shù)據(jù)集訓(xùn)練,并繪制損失函數(shù)曲線,圖3(a)為YOLOv3 的損失函數(shù)曲線,圖3(b)為G-YOLOv3的損失函數(shù)曲線??梢钥闯?,G-YOLOv3的訓(xùn)練效果比較理想。選取G-YOLOv3 的損失函數(shù)曲線趨于平緩的區(qū)間內(nèi)保存的模型進(jìn)行測試,即在函數(shù)值8 000~10 000 內(nèi)保存的模型,檢測定位的效果如圖4所示。可以看出,模型能夠準(zhǔn)確定位同一商品箱體兩側(cè)的產(chǎn)品批號(hào)和生產(chǎn)日期字符文本區(qū)域,也能夠適應(yīng)不同生產(chǎn)線的物理環(huán)境,處理不同類型的文本字符以及不同的字符字體。
圖3 損失函數(shù)曲線Fig.3 Loss function curve
圖4 實(shí)時(shí)檢測定位圖Fig.4 Real time detection and positioning map
2.1.2 邊界框優(yōu)化
G-YOLOv3 經(jīng)過工業(yè)商品外觀信息數(shù)據(jù)集的訓(xùn)練,對(duì)多數(shù)圖像的目標(biāo)文本區(qū)域能夠?qū)崿F(xiàn)精準(zhǔn)檢測定位,但出現(xiàn)了部分圖像文本定位存在少量偏差的問題。由于對(duì)目標(biāo)區(qū)域的切割是依據(jù)邊界框來進(jìn)行的,少量的偏差會(huì)導(dǎo)致切割字符不準(zhǔn)確,致使識(shí)別時(shí)出現(xiàn)錯(cuò)誤,因此必須對(duì)目標(biāo)文本實(shí)現(xiàn)精準(zhǔn)定位,即邊界框包含完整的字符文本。在未進(jìn)行邊界框優(yōu)化的情況下,G-YOLOv3 對(duì)于大部分圖像能夠?qū)崿F(xiàn)精確定位和準(zhǔn)確切割,最終正確識(shí)別,如表2 中第1 行所示;但在部分圖像中,切割后的圖像未能實(shí)現(xiàn)包含完整字符文本,一側(cè)或者兩側(cè)會(huì)出現(xiàn)切割文本字符的情況,導(dǎo)致字符殘缺或者整個(gè)字符缺失,造成誤識(shí)別,如表2 中第2 行和第3 行所示。
表2 邊界框的影響Table 2 Influence of bounding box
從生產(chǎn)線實(shí)時(shí)獲取箱體兩側(cè)的圖像存在遠(yuǎn)近的變化,即目標(biāo)文本存在大小的變化,但定位邊界框在高度上總能很好地適應(yīng)這一變化。因此,可以借助邊界框的高度變化來調(diào)整起始位置及其寬度,實(shí)現(xiàn)對(duì)G-YOLOv3 邊界框的改進(jìn)優(yōu)化。
邊界框有4 個(gè)參數(shù),即x、y、w、h,其中,x、y為邊界框的左上頂點(diǎn)坐標(biāo),w為邊界框的寬度,h為邊界框的高度。任意時(shí)刻t的邊界框參數(shù)為(xt,yt,wt,ht),上一時(shí)刻邊界框參數(shù)為(xt-1,yt-1,wt-1,ht-1),通過參數(shù)h的變化來調(diào)整邊界框的定位區(qū)域,使其完全包含目標(biāo)文本區(qū)域。對(duì)于起始位置,即邊界框的左上頂點(diǎn),只需調(diào)整橫軸坐標(biāo)x的值即可,計(jì)算方法如式(1)所示:
同時(shí),對(duì)邊界框的寬度w進(jìn)行自適應(yīng)變化并消除因?qū)ζ鹗嘉恢玫恼{(diào)整而給邊界框?qū)挾葞淼挠绊?,其?jì)算方法如式(2)所示:
通過對(duì)G-YOLOv3 邊界框的改進(jìn)優(yōu)化,使邊界框能夠覆蓋各種長度的字符文本,準(zhǔn)確定位目標(biāo)區(qū)域,包含目標(biāo)文本的全部字符,為之后的字符識(shí)別奠定基礎(chǔ),改進(jìn)優(yōu)化后效果如圖5 所示。
圖5 邊界框優(yōu)化后測試結(jié)果圖Fig.5 Test results after optimization of bounding box
字符識(shí)別模塊利用Tesseract[22]進(jìn)行識(shí)別,同時(shí)端到端識(shí)別的卷積遞歸神經(jīng)網(wǎng)絡(luò)(Convolutional Recurrent Neural Network,CRNN)[23]對(duì)該場景下的文本進(jìn)行調(diào)優(yōu)訓(xùn)練,并對(duì)比性能,該部分框架如圖6 所示。
圖6 字符識(shí)別模塊框架Fig.6 Framework of character recognition module
2.2.1 Tesseract 識(shí)別引擎
利用Tesseract 自帶的權(quán)重,出現(xiàn)混淆字符的種類較多,頻率較高,后續(xù)易混處理繁瑣,為滿足工廠生產(chǎn)線對(duì)實(shí)時(shí)性的高要求,必須進(jìn)行調(diào)優(yōu)訓(xùn)練。
1)調(diào)優(yōu)訓(xùn)練
依據(jù)項(xiàng)目字符文本制作待訓(xùn)練文本數(shù)據(jù)集,在ubuntu 16.04 版本下對(duì)Tesseract 進(jìn)行調(diào)優(yōu)訓(xùn)練,經(jīng)過近百萬次迭代訓(xùn)練形成項(xiàng)目權(quán)重。
利用10 000 張圖像對(duì)自帶權(quán)重和項(xiàng)目權(quán)重進(jìn)行測試,測試結(jié)果如表3 所示。可以看出,在自帶權(quán)重的基礎(chǔ)上調(diào)優(yōu)訓(xùn)練形成的項(xiàng)目權(quán)重性能更加優(yōu)越,其減少了混淆字符出現(xiàn)的種類,大部分易混字符的出現(xiàn)頻率顯著下降,下降率集中在50%以上,但個(gè)別字符也存在其他情況,例如:字母“B”易混頻率雖然取得顯著下降,但出現(xiàn)易混的次數(shù)不容忽視,仍然維持在較高值;數(shù)字“0”的易混頻率雖然出現(xiàn)了上升,但出現(xiàn)次數(shù)不足1%。對(duì)于這些情況,后期的易混處理要求較高。
表3 權(quán)重測試統(tǒng)計(jì)表Table 3 Statistical table of weight test
利用部分產(chǎn)品批號(hào)文本對(duì)自帶權(quán)重和項(xiàng)目權(quán)重進(jìn)行測試,并統(tǒng)計(jì)各個(gè)產(chǎn)品批號(hào)字符文本的置信度,測試結(jié)果如表4 所示??梢钥闯?,自帶權(quán)重中的字符置信度集中分布在0.75~0.8 之間,項(xiàng)目權(quán)重中的字符置信度分布在0.9 左右,實(shí)現(xiàn)了至少10%的性能提升。
表4 部分批號(hào)置信度Table 4 Confidences of some batch numbers
2)圖像預(yù)處理
通過圖4 和表2 的直觀分析,可以得知工廠生產(chǎn)線拍攝的圖像質(zhì)量較差。為了提高Tesseract 的識(shí)別正確率,需要對(duì)切割之后的圖像進(jìn)行優(yōu)化增強(qiáng)。切割后得到的文本區(qū)域圖像亮暗不均,總體偏暗,需要對(duì)其進(jìn)行二值化處理,但不宜采用固定閾值的二值化方法,否則會(huì)出現(xiàn)大量噪音,如圖7 所示。本文采用自適應(yīng)閾值的二值化處理,即通過圖像的局部特征自適應(yīng)地設(shè)定閾值進(jìn)行二值化處理來避免出現(xiàn)這種情況。將二值圖以白底黑字的形式呈現(xiàn),然后使用中值濾波算法去除二值圖中的噪聲點(diǎn)。經(jīng)過圖片測試并且二值化處理后的圖像質(zhì)量相接近,此處的中值算法的濾波器的大小選用5×5。
圖7 二值化圖Fig.7 Binary graph
由于切割后得到的文本區(qū)域圖像質(zhì)量存在差異,因此在進(jìn)行自適應(yīng)閾值二值化時(shí),需要對(duì)計(jì)算區(qū)域閾值中的區(qū)域大?。˙lockSize)進(jìn)行動(dòng)態(tài)調(diào)整,其數(shù)值只能為奇數(shù)。BlockSize 值動(dòng)態(tài)調(diào)整方式如圖8 所示。
圖8 BlockSize 值調(diào)整流程Fig.8 Procedure of adjusting Blocksize value
在同一條生產(chǎn)線采集圖像對(duì)不同的BlockSize 值進(jìn)行測試,測試結(jié)果如表5 所示??梢钥闯?,同一圖像在不同BlockSize 值條件下,二值化圖像會(huì)有變化,識(shí)別結(jié)果也有不同。同一圖像,若BlockSize 值過小,二值化圖像中的部分字符信息損失嚴(yán)重,導(dǎo)致出現(xiàn)誤識(shí)別;若BlockSize 值過大,二值化圖像中的字符出現(xiàn)粘連現(xiàn)象,出現(xiàn)誤識(shí)別的可能性會(huì)提升。同一生產(chǎn)線含有相同產(chǎn)品批號(hào)的不同圖像在相同BlockSize 值條件下,二值化圖像中字符信息保存完整程度不同,導(dǎo)致識(shí)別結(jié)果不同;同一生產(chǎn)線含有不同產(chǎn)品批號(hào)的不同圖像對(duì)BlockSize 值的要求也不同。
表5 BlockSize 值對(duì)識(shí)別結(jié)果的影響Table 5 Influence of Blocksize value to recognition result
通過大批量圖像測試,本文將BlockSize 的初始值設(shè)為35值。BlockSize必須為奇數(shù),但動(dòng)態(tài)調(diào)整要適中,避免出現(xiàn)二值化圖像中字符信息損失嚴(yán)重和字符間粘連的現(xiàn)象,因此,在算法中對(duì)BlockSize 值的調(diào)整,設(shè)置了5次調(diào)整限制,并依據(jù)式(3)來改變BlockSize的數(shù)值,實(shí)現(xiàn)動(dòng)態(tài)調(diào)整:
2.2.2 CRNN 識(shí)別引擎
利用經(jīng)過數(shù)據(jù)集訓(xùn)練和邊界框優(yōu)化的G-YOLOv3模型,對(duì)從生產(chǎn)線采集的圖像進(jìn)行批量處理切割,形成文本區(qū)域圖像,并選取產(chǎn)品批號(hào)圖像120 000 張,生產(chǎn)日期圖像30 000 張組成訓(xùn)練集,制作相應(yīng)文本進(jìn)行訓(xùn)練形成相應(yīng)模型。選取8 000張產(chǎn)品批號(hào)圖像和2 000張生產(chǎn)日期圖像對(duì)CRNN 進(jìn)行測試,生產(chǎn)日期字符文本識(shí)別可達(dá)到100%的正確率,但產(chǎn)品批號(hào)存在部分易混字符,統(tǒng)計(jì)結(jié)果如表6 所示??梢钥闯?,在CRNN 的測試中出現(xiàn)易混字符的頻率集中出現(xiàn)在5%以下,并且易混種類較少。同時(shí)結(jié)合表3~表5可知,訓(xùn)練之后的CRNN字符識(shí)別性能要優(yōu)于Tesseract。CRNN 識(shí)別字符無需對(duì)圖像進(jìn)行預(yù)處理,減少了時(shí)間損耗,同時(shí)可以使用GPU加速,但Tesseract識(shí)別字符需要預(yù)處理圖像進(jìn)行增強(qiáng),無法使用GPU 加速,因此,在字符識(shí)別速度上Tesseract要弱于CRNN。在內(nèi)存為16 GB 和顯卡為GTX 1060的計(jì)算機(jī)上進(jìn)行測試,結(jié)果表明,在字符識(shí)別模塊中,CRNN 每次耗時(shí)45 ms 左右,Tesseract 每次耗時(shí)150 ms左右。綜合運(yùn)行速度和識(shí)別字符性能,字符識(shí)別模塊中選用CRNN 進(jìn)行字符識(shí)別。
表6 CRNN 測試結(jié)果Table 6 CRNN test result
字符識(shí)別模塊完成對(duì)目標(biāo)文本區(qū)域的字符識(shí)別,其將識(shí)別結(jié)果輸入字符匹配模塊綜合判斷,然后輸出判別結(jié)果。字符匹配模塊流程如圖9 所示。
圖9 字符匹配模塊流程圖Fig.9 Flow chart of character matching module
生產(chǎn)日期為純數(shù)字文本,且長度較短(一般為7 個(gè)字符),形式固定,無需對(duì)其進(jìn)行分段,可對(duì)識(shí)別文本直接匹配判斷輸出相應(yīng)判別結(jié)果。產(chǎn)品批號(hào)是復(fù)雜的數(shù)字、字母、標(biāo)點(diǎn)符號(hào)組合字符文本,文本長度存在變化且過長,文本內(nèi)容也在變化更新,存在容易出現(xiàn)易混字符的文本,對(duì)其進(jìn)行分段全匹配。本文針對(duì)產(chǎn)品批號(hào)字符文本,依據(jù)表6 設(shè)計(jì)容錯(cuò)字符生成算法,進(jìn)而提升系統(tǒng)的整體性能。
1)掃描商品包裝外箱上的一維條形碼從生產(chǎn)管理系統(tǒng)獲取正確的產(chǎn)品批號(hào)字符文本,將文本中的標(biāo)點(diǎn)符號(hào)剔除,統(tǒng)計(jì)剔除后字符文本的長度為L,設(shè)置分段數(shù)為5,則前4 小段各為個(gè)字符,第5 小段為個(gè)字符。對(duì)每小段進(jìn)行容錯(cuò)字符生成,產(chǎn)生模板組合字符文本。例如,小段“KFR”,經(jīng)過容錯(cuò)字符生成算法處理后生成“KFRKFP”模板組合字符文本。若為相同條形碼,上述容錯(cuò)處理算法只執(zhí)行一次。
2)對(duì)字符識(shí)別模塊輸入的識(shí)別結(jié)果進(jìn)行標(biāo)點(diǎn)符號(hào)剔除,和剩余字符相應(yīng)的分段處理,形成小段文本。
3)將識(shí)別結(jié)果的小段文本與其對(duì)應(yīng)的模板組合字符文本進(jìn)行全字符匹配,輸出相應(yīng)小段判別結(jié)果。
4)綜合各個(gè)小段判別結(jié)果,輸出整個(gè)識(shí)別文本判別結(jié)果。
字符匹配模塊中對(duì)易混字符的處理尤為重要,在保證系統(tǒng)滿足生產(chǎn)線實(shí)時(shí)性要求的條件下,依據(jù)表6 設(shè)計(jì)的容錯(cuò)字符生成算法既能降低系統(tǒng)出現(xiàn)誤判的可能性,又能對(duì)外觀信息文本存在印刷質(zhì)量問題的商品進(jìn)行及時(shí)報(bào)警提醒,保障了工廠生產(chǎn)線的正常運(yùn)行。
將基于本文方法的系統(tǒng)在工廠生產(chǎn)線上進(jìn)行實(shí)測,實(shí)現(xiàn)商品全覆蓋、實(shí)時(shí)監(jiān)測、自動(dòng)統(tǒng)計(jì)、異常處理,生產(chǎn)線系統(tǒng)裝置示意圖如圖10 所示。
圖10 生產(chǎn)線系統(tǒng)裝置示意圖Fig.10 Schematic diagram of production line system
生產(chǎn)線計(jì)算機(jī)配置為內(nèi)存16 GB、顯卡GTX 1060,系統(tǒng)從相機(jī)拍照到輸出判別結(jié)果耗時(shí)3 s 左右,其中算法部分運(yùn)行時(shí)間在200 ms 以內(nèi),準(zhǔn)確率可到達(dá)99.5%,對(duì)存在字符印刷異常的商品實(shí)時(shí)報(bào)警提示,檢測出的存在印刷質(zhì)量問題的產(chǎn)品批號(hào)和生產(chǎn)日期字符文本部分圖像如表7 所示。
表7 存在印刷質(zhì)量問題的部分圖像Table 7 Some images with printing quality problems
針對(duì)工廠商品包裝外箱字符檢測問題,本文制作數(shù)據(jù)集并提出一種基于深度學(xué)習(xí)的字符識(shí)別與判斷方法。該方法合并YOLOv3 網(wǎng)絡(luò)的卷積層與批量歸一化層,引入邊框損失函數(shù)GIoU,并利用邊框調(diào)整優(yōu)化方法,使邊界框完全包含文本區(qū)域,降低誤識(shí)別率。同時(shí),將經(jīng)過場景文本訓(xùn)練的CRNN 應(yīng)用于識(shí)別捕獲的文本圖片內(nèi)容,保證快速和高準(zhǔn)確識(shí)別,并設(shè)計(jì)字符模板匹配方法減少誤判,保證生產(chǎn)線的良好運(yùn)行。實(shí)驗(yàn)與生產(chǎn)線實(shí)測結(jié)果表明,本文方法能夠達(dá)到全覆蓋、實(shí)時(shí)監(jiān)測、高準(zhǔn)確率的應(yīng)用目標(biāo)。后續(xù)將研究深度卷積網(wǎng)絡(luò)的優(yōu)化方法和邊界框損失函數(shù)的調(diào)整方法,減少圖像處理過程,進(jìn)一步提升系統(tǒng)的運(yùn)行速度與識(shí)別精度。