劉丹陽 張鳳生 孟特 丁彥強(qiáng)
摘要:在智能化藥房中,為完成對(duì)藥品存/取操作,需要為機(jī)器人配備視覺系統(tǒng)來實(shí)現(xiàn)對(duì)目標(biāo)藥品的定位與名稱識(shí)別。對(duì)基于深度學(xué)習(xí)的文本檢測(cè)與文字識(shí)別方法進(jìn)行理論分析與實(shí)驗(yàn),采用CRAFT算法檢測(cè)藥品文本區(qū)域,根據(jù)藥名文本的特征檢出并截取藥名區(qū)域;基于LSTM的Tesseract-OCR對(duì)藥名進(jìn)行文字識(shí)別。對(duì)202個(gè)實(shí)物藥盒進(jìn)行的識(shí)別實(shí)驗(yàn)表明,對(duì)藥名區(qū)域檢測(cè)截取的準(zhǔn)確率為98.02%;對(duì)藥品名稱的識(shí)別中,常規(guī)字體的準(zhǔn)確率可以達(dá)到91.09%,對(duì)進(jìn)一步研究提高識(shí)別效果具有參考意義。
關(guān)鍵詞:圖像處理;文本檢測(cè);文字識(shí)別;深度學(xué)習(xí);OpenCV
中圖分類號(hào):TP317
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1006-1037(2021)01-0029-05
通信作者:張鳳生,男,博士,教授,主要研究方向?yàn)闇y(cè)控技術(shù)與智能儀器。E-mail:fszhang1994@163.com
隨著自動(dòng)化、信息化與智能控制技術(shù)的不斷進(jìn)步,自動(dòng)化藥房系統(tǒng)的研究與產(chǎn)品開發(fā)已引起廣泛關(guān)注。自動(dòng)化藥房系統(tǒng)由藥品存取機(jī)器人和藥品信息化管理系統(tǒng)組成,以機(jī)器人替代傳統(tǒng)的人工取藥,不僅可減輕藥劑師的工作強(qiáng)度、提高發(fā)藥效率、降低藥品發(fā)錯(cuò)幾率,而且可充分利用藥房空間[1-4]。機(jī)器人取藥的關(guān)鍵是準(zhǔn)確判斷目標(biāo)藥品的存放位置與藥品名稱。當(dāng)然,利用條碼掃描很容易識(shí)別藥品,但由于不同藥品包裝的條碼位置不同,有時(shí)需要先翻轉(zhuǎn)藥盒和確定條碼位置;而藥品包裝盒平放(自動(dòng)化藥房的擺放方式)時(shí),其名稱一定位于上表面,位置固定,因此只需采集藥盒上表面圖像即可對(duì)藥品名稱進(jìn)行識(shí)別。為了能夠處理任意方向文本、曲線文本、畸變文本,增強(qiáng)文字識(shí)別的泛化能力,有效防止誤檢,本文采用CRAFT算法與OCR技術(shù)相結(jié)合,對(duì)藥品名稱進(jìn)行識(shí)別,以提高識(shí)別的效率和準(zhǔn)確率。
1 目標(biāo)藥盒文字識(shí)別思路
對(duì)目標(biāo)藥盒藥名的文字識(shí)別包括文本檢測(cè)和文字識(shí)別兩部分。近年來,隨著神經(jīng)網(wǎng)絡(luò)受到越來越多的關(guān)注與研究,基于深度學(xué)習(xí)的文本檢測(cè)算法不斷出現(xiàn)。目前基于深度學(xué)習(xí)的文本檢測(cè)主要有基于區(qū)域建議、基于圖像分割和基于形態(tài)等方法[5]。
本文采用韓國Clova AI研究人員提出的基于單字和字間親和度的CRAFT算法[6],基于形態(tài)的方法,比以往的文本檢測(cè)算法更具有魯棒性,能處理任意方向文本、曲線文本、畸變文本,具有很強(qiáng)的泛化能力。為精確定位自然圖像的每個(gè)字符,該算法訓(xùn)練了一個(gè)深度神經(jīng)網(wǎng)絡(luò)來預(yù)測(cè)字符區(qū)域和字符間的親和力,并采用弱監(jiān)督方式訓(xùn)練模型。在檢測(cè)到所有文本區(qū)域后,按藥品名稱的文本特征確定藥名區(qū)域。
確定了文本區(qū)域后,對(duì)區(qū)域內(nèi)的文字進(jìn)行識(shí)別[7],這是視覺感知中的核心技術(shù),目的是從圖像中提取文字信息。文中采用CRAFT算法與OCR(Optical Character Recognition,OCR)技術(shù)相結(jié)合,對(duì)藥品名稱進(jìn)行識(shí)別。整個(gè)識(shí)別過程分為圖像預(yù)處理、文本區(qū)域檢測(cè)、文字識(shí)別三部分,如圖1所示。
2 圖像預(yù)處理
圖像預(yù)處理包括灰度化、濾波降噪、圖像銳化、邊緣檢測(cè)、查找輪廓并裁剪。
(1)灰度化。將原彩色圖像fx,y轉(zhuǎn)化為灰度圖像f1x,y的過程。在圖像處理中,將各種格式的圖像轉(zhuǎn)化為灰度圖像以使后續(xù)的圖像處理計(jì)算量少,提高處理速度。本文采用平均值法,將彩色圖像中三個(gè)分量亮度求平均得到灰度圖。經(jīng)過灰度化的圖像仍可以反映整幅圖像的整體和局部的色度和高亮等級(jí)的分布和特征。
(2)濾波降噪。鑒于藥盒圖像采集環(huán)境條件良好,噪聲以高斯噪聲和椒鹽噪聲為主。中值濾波運(yùn)算簡單且速度快,在濾除椒鹽噪聲的同時(shí)能保護(hù)圖像的邊緣、銳角等細(xì)節(jié)信息,但其對(duì)高斯噪聲的抑制能力較弱。而高斯濾波對(duì)于抑制高斯噪聲非常有效,通過合理設(shè)定高斯濾波模板方差,使得平滑效果更柔和,邊緣保留也更好,故文中采用高斯濾波,濾波模板大小為5×5。
(3)圖像銳化。高斯濾波屬于低通濾波,對(duì)圖像中的高頻分量(圖像中的邊緣、跳躍部分以及椒鹽噪聲等)衰減較強(qiáng),使邊緣、局部細(xì)節(jié)變的平緩,甚至模糊,其實(shí)質(zhì)是圖像受到平均運(yùn)算或積分運(yùn)算,因此需對(duì)圖像進(jìn)行逆運(yùn)算,如微分運(yùn)算,以便突出圖像細(xì)節(jié),使圖像變得更為清晰。拉普拉斯算子是一種微分算子,其應(yīng)用可增強(qiáng)圖像中灰度突變的區(qū)域,減弱灰度的緩慢變化區(qū)域。
對(duì)于濾波降噪后的圖像f2x,y,其拉普拉斯算子[8]定義為
最后的銳化公式為
其中,f3x,y為銳化輸出圖像;系數(shù)c代表要加上(或減去)多少細(xì)節(jié)。圖像增強(qiáng)處理過程是先提取細(xì)節(jié),然后再加(或減去負(fù)細(xì)節(jié))到原圖中。進(jìn)行增強(qiáng)時(shí),算子模板中心為正,則“原圖+邊緣圖”;算子模板中心為負(fù),則“原圖—邊緣圖”。
(4)邊緣檢測(cè)。邊緣檢測(cè)采用Canny算法,其檢測(cè)過程分4步:①計(jì)算圖像中每個(gè)像素的梯度幅值和方向;②應(yīng)用非極大值抑制算法消除邊緣檢測(cè)帶來的雜散響應(yīng);③應(yīng)用雙閾值法劃分強(qiáng)邊緣和弱邊緣;④消除孤立的弱邊緣,輸出邊緣檢測(cè)結(jié)果。
(5)輪廓查找并提取。找到包含藥盒的最小凸包的四個(gè)頂點(diǎn),同時(shí)求出包含四個(gè)頂點(diǎn)的最小矩形框,計(jì)算外接矩形的橫縱比例、輪廓面積、周長等數(shù)據(jù),然后利用這些數(shù)據(jù)實(shí)現(xiàn)特定幾何形狀輪廓的查找與過濾,為后續(xù)的處理與分析,剔除不正確的區(qū)域而保留候選對(duì)象。圖2為預(yù)處理過程示意圖。
3 文本區(qū)域檢測(cè)
查找到藥盒輪廓并裁剪后,為識(shí)別藥品名稱,首先確定文本區(qū)域,找出并截取藥名區(qū)域。
3.1 文本檢測(cè)
基于神經(jīng)網(wǎng)絡(luò)的場(chǎng)景文本檢測(cè)是目前廣泛應(yīng)用的文本檢測(cè)方法[9-11]。本文采用字符級(jí)的文本檢測(cè)算法CRAFT,這是一種新的場(chǎng)景文本檢測(cè)方法,通過挖掘每個(gè)字符和字符之間的親和度有效地檢測(cè)文本區(qū)域。
CRAFT算法是先檢測(cè)單個(gè)字符及字符間的連接關(guān)系,然后據(jù)此確定最終的文本行。該算法以基于VGG-16的全卷積神經(jīng)網(wǎng)絡(luò)作為主干網(wǎng)絡(luò),解碼器部分采用了U-net的方法,采用自頂向下的特征聚合方式,最終輸出兩個(gè)通道:region score map和affinity score map,分別為單字符中心區(qū)域的概率和相鄰字符區(qū)域中心的概率,得到原圖大小1/2的預(yù)測(cè)圖。網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
在生成文本邊框的過程中,有常規(guī)矩形和非常規(guī)矩形兩種情況。
(1)常規(guī)矩形。①首先對(duì)0~1之間的概率圖,affinity score map(一種高斯熱圖,代表該像素是相連字符之間空間的中心點(diǎn)的概率)和region score map(一種高斯熱圖,代表該像素是字符中心點(diǎn)的概率)分別進(jìn)行取二值化閾值計(jì)算,然后將兩個(gè)二值化map求并集得到一張mask圖;②使用連接組件標(biāo)簽(CCL)進(jìn)行區(qū)域連接;③最后使用OpenCV的MinAreaRect(最小外接矩形)去框出最小的四邊形區(qū)域。
(2)非常規(guī)四邊形,示意圖見圖4。①先找到掃描方向的局部最大值;②連接所有局部最大值上的中心點(diǎn)叫做中心線;③然后將局部極大值線旋轉(zhuǎn)至于中心線垂直;④局部極大值線上的端點(diǎn)是文本控制點(diǎn)的候選點(diǎn),為了更好地覆蓋文本,將文本最外端的兩個(gè)控制點(diǎn)分別向外移動(dòng)局部極大值線的半徑長度作為最終的控制點(diǎn)。
3.2 藥品名稱區(qū)域定位
在利用CRAFT算法檢測(cè)到所有文本區(qū)域后,還需對(duì)藥名區(qū)域進(jìn)行定位。經(jīng)過對(duì)大量藥盒的統(tǒng)計(jì)發(fā)現(xiàn),藥盒文本區(qū)域中,藥名區(qū)域字體較大,包含藥名的矩形區(qū)域的寬度明顯大于其他文本區(qū)域。據(jù)此,采取的定位思路:將檢測(cè)到的所有文本區(qū)域按寬度排序,找到前三名。為防止有誤檢,或存在極少數(shù)非藥名區(qū)域?qū)挾却笥谒幟麉^(qū)域的特例,加入第二個(gè)條件,矩形區(qū)域的長寬比例要大。滿足以上兩個(gè)條件的第一位的結(jié)果就作為藥名的區(qū)域。通過對(duì)收集的202個(gè)藥盒進(jìn)行檢測(cè)實(shí)驗(yàn),對(duì)藥名區(qū)域定位的準(zhǔn)確性為98.02%,有四個(gè)藥盒出現(xiàn)錯(cuò)誤,經(jīng)過觀察發(fā)現(xiàn),是由于這四個(gè)藥盒的藥名是分兩行書寫的,本算法為行檢測(cè),檢測(cè)時(shí)將藥名當(dāng)成兩行文本檢測(cè),導(dǎo)致識(shí)別出現(xiàn)錯(cuò)誤。圖5為實(shí)際藥盒藥品名稱區(qū)域定位檢測(cè)結(jié)果。
4 文字識(shí)別方法與結(jié)果分析
文字識(shí)別的目標(biāo)是已定位的藥名區(qū)域內(nèi)的文字,主要問題是如何將一串文字圖片轉(zhuǎn)錄為對(duì)應(yīng)字符。本文采用Tesseract-OCR進(jìn)行文字識(shí)別,并與百度OCR作對(duì)比。
4.1 Tesseract-OCR與百度OCR
Tesseract[12-15]是一款文字識(shí)別引擎,最早由惠普實(shí)驗(yàn)室開發(fā),現(xiàn)在由谷歌負(fù)責(zé)維護(hù)。與傳統(tǒng)Tesseract3不同,本文使用的Tesseract5.0增加了一個(gè)基于OCR引擎的新神經(jīng)網(wǎng)絡(luò)(Long Short Term Memory Network,長短時(shí)記憶網(wǎng)絡(luò),縮寫LSTM)。
LSTM是一種改進(jìn)的循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN),解決了普通RNN在實(shí)際應(yīng)用中很難處理長距離文本的缺陷。LSTM主要由3個(gè)門組成,分別為輸入門、遺忘門和輸出門,同時(shí)包含隱藏狀態(tài)的細(xì)胞,用于記錄額外的一些信息,LSTM的網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示。
百度OCR是目前基于深度學(xué)習(xí)的較為成熟的文字識(shí)別技術(shù),能夠適應(yīng)不同業(yè)務(wù)場(chǎng)景對(duì)識(shí)別速度以及精度的要求。識(shí)別部分首先是環(huán)境準(zhǔn)備,需要安裝Python的百度接口的庫:pip install baidu-aip。將需要識(shí)別的圖片放入picture文件中,并將識(shí)別內(nèi)容保存在txt文件中。
4.2 實(shí)驗(yàn)結(jié)果及分析
共采集了202個(gè)藥盒進(jìn)行實(shí)驗(yàn)。通過兩種不同OCR技術(shù)進(jìn)行識(shí)別,結(jié)果如表1。
實(shí)際檢測(cè)實(shí)驗(yàn)表明,本文的CRAFT文本檢測(cè)與Tesseract-OCR相結(jié)合的藥名識(shí)別方法,藥名定位準(zhǔn)確率達(dá)98.02%,藥名文字識(shí)別準(zhǔn)確率,本文的Tesseract-OCR方法與百度OCR相比,識(shí)別準(zhǔn)確率較低,主要原因有以下兩點(diǎn):(1)百度OCR是百度公司較為成熟的人工智能技術(shù),經(jīng)過了大量訓(xùn)練以及語義模型糾錯(cuò),能夠適應(yīng)不同的場(chǎng)景,并且針對(duì)圖像傾斜、翻轉(zhuǎn)等情況進(jìn)行優(yōu)化,魯棒性強(qiáng),可支持2萬多大字庫,其文字識(shí)別準(zhǔn)確率高。(2)不同藥盒上文字的字體不盡相同,差異比較大;識(shí)別錯(cuò)誤的情況多出現(xiàn)于非常規(guī)字體中,而對(duì)于常規(guī)字體,如宋體、黑體等字體則識(shí)別準(zhǔn)確率高,例如,對(duì)于112個(gè)常規(guī)字體藥盒,Tesseract-OCR的識(shí)別準(zhǔn)確率為91.09%。
5 結(jié)論
本文將CRAFT算法與Tesseract技術(shù)相結(jié)合,給出了一種藥品名稱識(shí)別方法。該方法首先對(duì)藥盒圖像進(jìn)行灰度化、濾波降噪、銳化、邊緣檢測(cè)等常規(guī)化的預(yù)處理,然后分別利用CRAFT算法和Tesseract技術(shù)進(jìn)行藥盒文本區(qū)域的檢測(cè)和文字識(shí)別。對(duì)202個(gè)實(shí)物藥盒的檢測(cè)實(shí)驗(yàn)表明,該方法對(duì)單行書寫藥名的文本區(qū)域檢測(cè)準(zhǔn)確率為100%,對(duì)分兩行書寫的藥名無法識(shí)別;對(duì)藥品名稱的文字識(shí)別準(zhǔn)確率與字體形式有關(guān),對(duì)于常規(guī)字體,識(shí)別準(zhǔn)確率為91.09%。進(jìn)一步的研究一是擴(kuò)展CRAFT算法的文本區(qū)域檢測(cè)可覆蓋到兩行文本;二是加大檢測(cè)樣本數(shù)量,擴(kuò)展訓(xùn)練藥品名稱字體庫,以提高文字識(shí)別準(zhǔn)確率。
參考文獻(xiàn)
[1]程堂燦.基于雙目視覺的藥房取藥機(jī)器人系統(tǒng)設(shè)計(jì)與研究[D].青島:青島大學(xué),2019.
[2]王敬,張鳳生,劉丹陽等.基于雙目視覺的目標(biāo)藥盒邊緣識(shí)別與定位方法[J]. 青島大學(xué)學(xué)報(bào)(自然科學(xué)版). 2020,33(2): 38-44.
[3]謝家隆,陳敏儀,謝彥媛.醫(yī)院物流機(jī)器人在智能化藥房中的應(yīng)用[J].中國衛(wèi)生標(biāo)準(zhǔn)管理.2020, 11(11):20-22.
[4]郝奕清.藥盒圖像識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].南京:南京理工大學(xué),2017.
[5]劉樹春,賀盼,馬建奇,王佳軍等.深度實(shí)踐OCR基于深度學(xué)習(xí)的文字識(shí)別[M].北京:機(jī)械工業(yè)出版社,2020.4.
[6]BAEK Y, LEE B, HAN D, et al. Character region awareness for text detection[J]. 2019 IEEE/CVF Conference on Computer Vishon and Pattern Recognition(CVPR),Long Beach,2019:9365-9374.
[7]王炳琪,吳則舉.基于改進(jìn)的CNN的啤酒瓶蓋字符識(shí)別[J]青島大學(xué)學(xué)報(bào)(自然科學(xué)版).2020,33(3):34-42.
[8]裴仁靜.基于拉普拉斯金字塔的圖像細(xì)節(jié)增強(qiáng)[J]. 計(jì)算機(jī)光盤軟件與應(yīng)用,2012(3):166+168.
[9]付飛飛.場(chǎng)景文字識(shí)別算法的研究[J].福建電腦,2020, 36(4):1-4.
[10] 張博宇.自然場(chǎng)景下的文本檢測(cè)與識(shí)別方法研究[D].吉林:東北電力大學(xué),2020.
[11] 徐本朋.基于深度學(xué)習(xí)的場(chǎng)景文本檢測(cè)方法研究[D].合肥:安徽大學(xué),2020.
[12] 李飛,盛剛,畢佳佳.基于Ctpn及Tesseract的分纖箱噴碼識(shí)別技術(shù)[J].電腦知識(shí)與技術(shù),2020, 16(13):18-19+27.
[13] 郭室驛.基于OpenCV和Tesseract_OCR的英文字符算法研究[J].電腦編程技巧與維護(hù),2019(6):45-49.
[14] 張偉超,肖中俊,嚴(yán)志國.基于Opencv和Tesseract的行駛證識(shí)別系統(tǒng)設(shè)計(jì)[J].齊魯工業(yè)大學(xué)學(xué)報(bào). 2020, 34(1): 47-52.
[15] 劉麗媛,劉宏展.復(fù)雜背景下儀表信息的圖像識(shí)別研究[J].激光雜志.2020, 41(4):66-69.