吳高德 朱振剛 梅浪奇 劉 清
1 寧波港信息通信有限公司 2 武漢理工大學(xué)自動(dòng)化學(xué)院
近年來(lái)隨著人工智能、計(jì)算機(jī)視覺(jué)和移動(dòng)互聯(lián)網(wǎng)技術(shù)應(yīng)用的深入,集裝箱箱號(hào)識(shí)別技術(shù)在集裝箱碼頭岸邊作業(yè)的理貨過(guò)程和閘口得到了廣泛應(yīng)用[1-3],極大提升了集裝箱碼頭作業(yè)的智能化水平、生產(chǎn)效率和安全性。但碼頭堆場(chǎng)的集裝箱仍需要通過(guò)手工方式記錄集裝箱箱號(hào),導(dǎo)致人工工作量大、效率低下、信息化水平低。隨著移動(dòng)終端如智能手機(jī)的廣泛應(yīng)用,國(guó)內(nèi)外學(xué)者開展了基于移動(dòng)終端來(lái)解決堆場(chǎng)集裝箱箱號(hào)識(shí)別問(wèn)題的相關(guān)研究[4-5]。但移動(dòng)終端只能拍攝1個(gè)后箱門的箱號(hào)作為識(shí)別對(duì)象,不能像閘口和岸邊理貨中箱號(hào)識(shí)別那樣,可以有5面箱號(hào)(頂面箱號(hào)、前箱面箱號(hào)、左側(cè)箱面箱號(hào)、右側(cè)箱面箱號(hào)、后箱門箱號(hào))圖像選擇最佳識(shí)別結(jié)果。而且拍攝的圖像中字符傾斜角度相對(duì)較大,陰雨天、晚上等補(bǔ)光不能滿足要求,移動(dòng)端的箱號(hào)識(shí)別技術(shù)對(duì)單張圖片的字符區(qū)域粗定位和精定位以及字符識(shí)別算法的識(shí)別率需要更高的要求。因此,目前基于移動(dòng)終端的箱號(hào)識(shí)別還沒(méi)有得到實(shí)際應(yīng)用。
本文基于深度學(xué)習(xí)技術(shù)、圖像處理技術(shù)、Flask服務(wù)端框架、微信小程序開發(fā)了一種基于移動(dòng)端的集裝箱號(hào)識(shí)別系統(tǒng),經(jīng)過(guò)現(xiàn)場(chǎng)測(cè)試,移動(dòng)端的箱號(hào)識(shí)別率達(dá)到97%,識(shí)別時(shí)間為500 ms內(nèi),滿足現(xiàn)場(chǎng)作業(yè)的要求。本文提出的箱號(hào)定位和識(shí)別算法還可以移至到智能理貨、智能閘口等相關(guān)箱號(hào)識(shí)別系統(tǒng)中。
移動(dòng)終端箱號(hào)識(shí)別系統(tǒng)由前端作業(yè)現(xiàn)場(chǎng)中的移動(dòng)設(shè)備(手機(jī))構(gòu)成的采集端和后端服務(wù)器識(shí)別系統(tǒng)構(gòu)成的識(shí)別端兩部分組成,采集端通過(guò)移動(dòng)設(shè)備中的微信小程序調(diào)用手機(jī)中的相機(jī)模塊對(duì)集裝箱箱門拍攝,獲得的圖像數(shù)據(jù)通過(guò)移動(dòng)網(wǎng)絡(luò)傳送識(shí)別端圖像數(shù)據(jù)文件夾中,通過(guò)向識(shí)別端服務(wù)器發(fā)送識(shí)別請(qǐng)求,識(shí)別服務(wù)器進(jìn)行箱號(hào)ocr智能識(shí)別,識(shí)別端服務(wù)器將識(shí)別結(jié)果返回給移動(dòng)端設(shè)備顯示最終箱號(hào)?;谝苿?dòng)終端箱號(hào)識(shí)別服務(wù)系統(tǒng)關(guān)鍵流程分為微信小程序前端頁(yè)面顯示、前后端服務(wù)通信和后端箱號(hào)識(shí)別3個(gè)模塊(見圖1)。其中微信小程序前端頁(yè)面顯示模塊中主要實(shí)現(xiàn)圖像數(shù)據(jù)的采集功能并提交圖片至后臺(tái)服務(wù)器,并顯示接受到的識(shí)別后的箱號(hào)字符,其操作界面見圖2。前后端數(shù)據(jù)通信服務(wù)模塊采用的是Flask服務(wù)端框架[6],它是一種輕量級(jí)Web應(yīng)用框架,具有易擴(kuò)展應(yīng)用功能、靈活度高等優(yōu)點(diǎn)實(shí)現(xiàn)數(shù)據(jù)的通信功能。后端箱號(hào)識(shí)別服務(wù)主要采用箱號(hào)字符粗定位算法完成關(guān)鍵字符區(qū)域定位,再通過(guò)字符區(qū)域精定位算法定位旋轉(zhuǎn)字符塊,最后通過(guò)字符識(shí)別算法完成最終的箱號(hào)識(shí)別。
圖1 移動(dòng)端箱號(hào)識(shí)別服服務(wù)系統(tǒng)關(guān)鍵流程
圖2 移動(dòng)端操作界面圖
箱號(hào)識(shí)別服務(wù)算法主要包含字符區(qū)域的粗定位、圖像預(yù)處理、字符區(qū)域精定位、字符區(qū)域識(shí)別等算法組成。
在本文目標(biāo)粗定位檢測(cè)要求中,通常只有1個(gè)或固定數(shù)目的目標(biāo),找出圖像中所有感興趣的目標(biāo)(物體),確定它們的位置和大小。采集的圖片見圖3(a)。粗定位算法需要在圖像中定位箱號(hào)的字符區(qū)域來(lái)完成箱號(hào)字符粗s定位檢測(cè),因此又快又準(zhǔn)確的目標(biāo)檢測(cè)算法對(duì)本系統(tǒng)至關(guān)重要,目前常用的定位算法有傳統(tǒng)區(qū)域定位算法和深度學(xué)習(xí)算法,其中常用的深度學(xué)習(xí)定位算法如下:YOLO、STDN、SPP-Net、Fast R-CNN等,傳統(tǒng)的區(qū)域定位算法如下:FASText、CTPN等,根據(jù)測(cè)試速度以及目標(biāo)檢測(cè)精度方面綜合考慮,本文采用YOLO V4[7]算法進(jìn)行關(guān)鍵區(qū)域定位,粗定位的字符塊情況見圖3(b),YOLOV4算法的網(wǎng)絡(luò)結(jié)構(gòu)見圖4。本實(shí)驗(yàn)是在GTX1080顯卡上進(jìn)行模型的訓(xùn)練測(cè)試,其中訓(xùn)練集數(shù)據(jù)量為28 866張圖片,測(cè)試集數(shù)據(jù)量為5 000張圖片,測(cè)試結(jié)果定位正確率在99.9%左右(見表1),顯見YOLO V4網(wǎng)絡(luò)能夠滿足箱號(hào)字符粗定位關(guān)鍵區(qū)域檢測(cè)的要求。
圖3 箱號(hào)字符粗定位效果圖
圖4 YOLO V4網(wǎng)絡(luò)結(jié)構(gòu)圖
表1 YOLO V4粗定位情況表
圖像預(yù)處理算法是突出感興趣區(qū)域并同時(shí)減少其他因素的干擾,有易于圖像的最終識(shí)別,由于陰雨天、晚上、補(bǔ)光燈等復(fù)雜的環(huán)境影響,移動(dòng)端相機(jī)的成像清晰度質(zhì)量相對(duì)較低,從而影響最終的箱號(hào)識(shí)別。因此提高圖像的成像質(zhì)量尤其關(guān)鍵,其中常用的方法有灰度轉(zhuǎn)換、均值/中值/維納濾波濾波器、圖像銳化、對(duì)比度改善、圖像平滑、直方圖均衡化等方法[8],本文采用對(duì)比度增強(qiáng)算法進(jìn)行圖像的預(yù)處理增強(qiáng)來(lái)提高夜間的圖像,處理后效果良好。
由于手機(jī)拍攝的圖像存在一定的傾斜問(wèn)題,如何精確定位各個(gè)字符塊區(qū)域顯得尤為重要。一般情況下檢測(cè)定位出的對(duì)象是矩形,能夠定位為旋轉(zhuǎn)四邊形才能減少其他字符的干擾,因此采用定位旋轉(zhuǎn)矩形來(lái)表示字符塊。但是旋轉(zhuǎn)矩形的旋轉(zhuǎn)角比較難得到,本文采用一種能夠定位旋轉(zhuǎn)框目標(biāo)的算法:gliding_vertex[9],其核心基本思想是通過(guò)4個(gè)點(diǎn)在非旋轉(zhuǎn)矩形上的偏移量來(lái)定位出1個(gè)四邊形來(lái)表示1個(gè)字符區(qū)域。精定位后的效果見圖5,字符塊定位情況見表2。結(jié)果表明該算法能夠滿足箱號(hào)字符塊精定位的測(cè)試要求。
圖5 精定位后效果圖
表2 字符塊精定位情況表
傳統(tǒng)的字符識(shí)別方法一般都是單字符識(shí)別的方式進(jìn)行,首先對(duì)字符區(qū)域進(jìn)行字符矯正,然后再進(jìn)行單字符分割,再通過(guò)到字符分類器或者BP神經(jīng)網(wǎng)絡(luò)算法完成單字符的識(shí)別,最后組合在一起完成箱號(hào)的識(shí)別。但是該方法對(duì)于一些復(fù)雜成像的字符識(shí)別難以保證其識(shí)別率,因此采用RARE[10]算法進(jìn)行箱號(hào)的字符塊識(shí)別,它主要解決不規(guī)則排列文字的文字識(shí)別問(wèn)題,針對(duì)不規(guī)則文字,先矯正成正常線性排列的文字再識(shí)別。字符塊的訓(xùn)練測(cè)試識(shí)別情況見表3,結(jié)果表明RARE識(shí)別算法能夠滿足箱號(hào)字符塊識(shí)別的要求。
表3 RARE字符塊的識(shí)別情況表
該箱號(hào)識(shí)別系統(tǒng)最終在移動(dòng)端的識(shí)別結(jié)果顯示界面見圖6,現(xiàn)場(chǎng)測(cè)試的箱號(hào)識(shí)別率見表4,測(cè)試9天約1 203次作業(yè),無(wú)論是下雨天、白天還是晚上,平均箱號(hào)識(shí)別率在97.35%左右,平均測(cè)試時(shí)間不超過(guò)500 ms,滿足了現(xiàn)場(chǎng)作業(yè)的要求?,F(xiàn)場(chǎng)測(cè)試顯示,該方法在移動(dòng)端的集裝箱號(hào)識(shí)別系統(tǒng)是具有可行性的,結(jié)合Python軟件編程能夠快速并且準(zhǔn)確地識(shí)別出箱號(hào)并返回結(jié)果給移動(dòng)端。
圖6 移動(dòng)端箱號(hào)識(shí)別結(jié)果界面
表4 現(xiàn)場(chǎng)測(cè)試箱號(hào)識(shí)別率統(tǒng)計(jì)表
本文設(shè)計(jì)的移動(dòng)端箱號(hào)識(shí)別方案適用于碼頭、海關(guān)、閘口等快速記錄箱號(hào),對(duì)場(chǎng)地沒(méi)有特殊要求,界面設(shè)計(jì)簡(jiǎn)潔清晰,工作人員使用便捷靈活。相比于傳統(tǒng)方法,該識(shí)別算法識(shí)別率更高,識(shí)別速度更快。該系統(tǒng)的應(yīng)用降低了人力的工作量,提高了工作效率,對(duì)港口智能化水平有推進(jìn)作用。