新聞中心

EEPW首頁(yè) > 智能計(jì)算 > 設(shè)計(jì)應(yīng)用 > 基于OpenCV的生產(chǎn)日期字符識(shí)別研究*

基于OpenCV的生產(chǎn)日期字符識(shí)別研究*

作者:李佳琪(安徽理工大學(xué) 經(jīng)濟(jì)與管理學(xué)院,安徽 淮南 232000) 時(shí)間:2021-07-27 來(lái)源:電子產(chǎn)品世界 收藏
編者按:利用OpenCV-python和開(kāi)源OCR技術(shù)進(jìn)行圖像預(yù)處理,并通過(guò)訓(xùn)練得到一個(gè)專屬字庫(kù),能較為精準(zhǔn)地識(shí)別生產(chǎn)日期字符。針對(duì)如何提高商品標(biāo)簽識(shí)別系統(tǒng)的工作效率,從改善商品標(biāo)簽圖像質(zhì)量和提高識(shí)別算法效率入手進(jìn)行研究,目的是提高生產(chǎn)效率、提升產(chǎn)品質(zhì)量。

商品的標(biāo)識(shí)技術(shù)是對(duì)標(biāo)簽進(jìn)行編碼和標(biāo)記的技術(shù)手段,也是產(chǎn)品可追溯性的基礎(chǔ)。標(biāo)識(shí)技術(shù)關(guān)系到物流、食品和電子商務(wù)等多個(gè)行業(yè),影響深遠(yuǎn)。伴隨人們生活水平的提高,對(duì)于健康和安全的關(guān)注越來(lái)越多,每個(gè)行業(yè)對(duì)產(chǎn)品的品質(zhì)和安全性的要求也越來(lái)越高[1]。編碼標(biāo)識(shí)的不統(tǒng)一阻礙了各個(gè)行業(yè)的發(fā)展,包括對(duì)產(chǎn)品的溯源、電子商務(wù)及對(duì)產(chǎn)品標(biāo)簽標(biāo)準(zhǔn)化的要求,因此,國(guó)家商品生產(chǎn)日期標(biāo)識(shí)規(guī)范體系的建立顯得尤為必要。

本文引用地址:http://butianyuan.cn/article/202107/427161.htm

OCR 技術(shù)通過(guò)照相機(jī)拍攝圖片,利用檢測(cè)模式掃描圖像,從中排除干擾信息并提取文本信息,然后對(duì)文本信息進(jìn)行,用一系列算法翻譯成計(jì)算機(jī)處理文本 [2]?,F(xiàn)在,還可直接連接攝像頭或照相機(jī)直接進(jìn)行視頻識(shí)別。典型的OCR 技術(shù)首先是對(duì)輸入圖像進(jìn)行預(yù)處理,再對(duì)處理過(guò)的圖像進(jìn)行文字檢測(cè)識(shí)別,在不同項(xiàng)目背景下,根據(jù)光照、背景顏色、產(chǎn)品材質(zhì)和產(chǎn)品要求的不同,預(yù)處理和識(shí)別方法也會(huì)有所差異。

識(shí)別過(guò)程將由計(jì)算機(jī)端的Python 程序完成。本文采用的商品標(biāo)簽識(shí)別過(guò)程如圖1 所示。

作者簡(jiǎn)介:李佳琪(1995~),女,安徽舒城,回族,碩士生,研究方向:神經(jīng)網(wǎng)絡(luò),E-mail:568950838@qq.com。

*國(guó)家自然科學(xué)基金,61873004,多源傳感器環(huán)境下基于異構(gòu)特征信息融合的行為識(shí)別

國(guó)家自然科學(xué)基金,51474007,基于領(lǐng)域本體的煤礦安全數(shù)據(jù)融合方法及應(yīng)用

1627372168298032.png

圖1 商標(biāo)標(biāo)簽識(shí)別過(guò)程

1   預(yù)處理與識(shí)別

1.1

是一個(gè)跨平臺(tái)的輕量級(jí)開(kāi)源計(jì)算機(jī)視覺(jué)庫(kù),支持多種機(jī)器語(yǔ)言。 模塊覆蓋全面,其中囊括了、圖像處理、人臉識(shí)別等。OpenCV 涵蓋300 多個(gè)C 語(yǔ)言函數(shù)的中、高層API,對(duì)于輸入圖像的格式也非常包容,用它進(jìn)行應(yīng)用開(kāi)發(fā)非常高效和簡(jiǎn)潔,而且包含了豐富的工業(yè)檢測(cè)類函數(shù),能夠用于實(shí)時(shí)圖像處理,使用便捷,功能完善,適用于本文實(shí)驗(yàn)環(huán)境。

1.2

是19 世紀(jì)80 年代由惠普實(shí)驗(yàn)室開(kāi)發(fā)的,谷歌改進(jìn)了其中的算法,通過(guò)排除引擎缺陷進(jìn)行了優(yōu)化。 的功能強(qiáng)大,應(yīng)用廣泛,是開(kāi)源的OCR 識(shí)別系統(tǒng)[3]。Tesseract-OCR 識(shí)別引擎在開(kāi)源別引擎中占有重要地位,完整識(shí)別過(guò)程由一種頁(yè)面結(jié)構(gòu)闡發(fā)方法對(duì)圖片做布局剖析,旨在辨別圖像上的表格、文本、圖片等內(nèi)容,為后續(xù)識(shí)別工作做鋪墊。

2   

將背景信息和文本信息分開(kāi),消除圖像無(wú)關(guān)信息、加強(qiáng)有效信息,從而簡(jiǎn)化后續(xù)辨認(rèn)字符步調(diào),減輕辨認(rèn)難度和錯(cuò)誤率。

2.1 圖像傾斜校正

產(chǎn)品在流水線輸送帶上運(yùn)動(dòng)時(shí),經(jīng)過(guò)高速攝像機(jī)拍攝照片,可能會(huì)遇到產(chǎn)品放置不規(guī)范的問(wèn)題,導(dǎo)致拍攝的照片歪斜,不平行于水平線。預(yù)處理第一步是將扭曲的原始圖片進(jìn)行校正。在此環(huán)境中,使用傅里葉變換做圖像的傾斜校正。

二維圖像的傅里葉變換公式:

image.png

式中,f 和F 分別為空間域值和頻域值,示出了傅立葉變換后的結(jié)果需要使用的真實(shí)圖像加虛擬圖像,或振幅圖像(magitude 圖像)加相位圖像[4](如圖2)。

1627372383265716.png

(a)傾斜校正前

1627372405597499.png

(b)傾斜校正后

圖2 校正前后對(duì)比

2.2 圖像噪聲處理

在收集、傳輸和處理圖像的過(guò)程中,圖像會(huì)產(chǎn)生一些不可避免的噪聲,包含與圖像無(wú)關(guān)和冗余滋擾信息。降低圖像噪聲不僅可以使圖像更加清晰,而且可以突出圖像的感興趣區(qū)域,易于識(shí)別(如圖3)。

image.png

(a)原圖

image.png

(b)中值濾波對(duì)噪聲的處理

圖3 噪聲處理前后的對(duì)比

2.3 圖像二值化

遍歷像素點(diǎn),通過(guò)選取合適的值,灰度值二分為255 或0,白色為255,黑色為0,如式(3)所示。分類后圖像變?yōu)楹诎?,分辨圖像中的圖形和文本,便于后續(xù)將文本信息提取出來(lái)[5]。

image.png

1)Otsu 算法

此算法是把背景和目標(biāo)閾值的差距拉大,分裂性較強(qiáng),所求的是類內(nèi)方差min,和類間方差的max,首先遍歷所有像素點(diǎn),統(tǒng)計(jì)灰度級(jí)像素的個(gè)數(shù),將圖像灰度化,再次遍歷計(jì)算出最大類間方差,程序略顯復(fù)雜[6],效果圖如圖4 所示。

1627372907718531.png

圖4 Otsu對(duì)光照不均的處理

2)Sauvola 算法

該算法通過(guò)引入以像素點(diǎn)為中心領(lǐng)域的wide 為參數(shù)windowsize 和自定義系數(shù)比例因子k 來(lái)降低對(duì)噪聲的敏感性,也就是對(duì)niblack 算法進(jìn)行改進(jìn)。它集中于當(dāng)前像素,閾值是根據(jù)該像素的當(dāng)前像素的附近灰度平均值和標(biāo)準(zhǔn)偏差動(dòng)態(tài)計(jì)算[7]。

灰度均值m 與標(biāo)準(zhǔn)方差s:

image.png

然后是該點(diǎn)的閾值T(x, y),其中T的大小可以根據(jù)k 來(lái)調(diào)節(jié):

image.png

image.png

圖5 Sauvola對(duì)光照不均的處理

2.4 邊緣檢測(cè)

邊緣檢測(cè)是通過(guò)卷積或微分計(jì)算后得到的二值化

圖像。

1)Laplacian 算子邊緣檢測(cè)

拉普拉斯算子被分成4 個(gè)和8 個(gè)鄰域,域是像素梯度需求鄰域的4 個(gè)相鄰方向上的中央附近的方向和梯度[8](如圖6)。

image.png

圖6 Laplacian的邊緣處理

2)Canny 邊緣檢測(cè)算法

Canny 從信噪比、單邊緣和定位性能方面來(lái)判定邊緣的優(yōu)劣,Canny 邊緣檢測(cè)算法可以分為以下5 個(gè)步驟:

①圖像灰度化

通過(guò)RGB 三個(gè)通道,為了降維,將圖片圖像進(jìn)行灰度化。

②高斯模糊處理

此步驟是對(duì)圖像進(jìn)行smooth 處理,通過(guò)濾波器將高斯函數(shù)離散化[9],高斯函數(shù)與濾波器的計(jì)算:

image.png

③圖像梯度、梯度幅值、梯度方向計(jì)算

該點(diǎn)通過(guò)計(jì)算當(dāng)前像素與其附近的像素差值來(lái)進(jìn)行位置判斷,接近這個(gè)差值稱為圖像梯度。首先計(jì)算一階導(dǎo)數(shù):

image.png

計(jì)算梯度幅值M:

image.png

計(jì)算梯度值的方向

image.png

④ NMS(非極大值抑制)

留存邊緣方向上具有極大值的像素,通過(guò)NMS 找出其中的局部最大值,將其他位置的值取0。

⑤雙閾值的邊界選取

梯度大于任何邊緣的最大閾值是真正的邊緣,而低于最小閾值的邊緣為非邊緣,非邊緣即舍去(如圖7)。

image.png

圖7 Canny的邊緣處理

2.5本文算法的選取

中值濾波是對(duì)光滑脈沖噪聲表現(xiàn)良好,效果圖像的邊界順滑清晰。與平均灰度法比較,Sauvola 使用二值化的圖像,能解決產(chǎn)生照度不均的影響。拉普拉斯對(duì)噪聲敏感,分辨邊緣像素的位置表現(xiàn)優(yōu)異,但易出現(xiàn)雙像素邊界,導(dǎo)致日期顯示模糊不清晰;Canny 對(duì)比Laplacian 克制了噪聲引起的非邊緣,對(duì)于光照不均的圖像也能有如圖所示的效果,線條更流暢光滑,同時(shí)細(xì)化過(guò)的邊緣比較清晰,易于后續(xù)的識(shí)別工作。

綜上,根據(jù)實(shí)際檢測(cè)考慮,本項(xiàng)目的噪聲處理、二值化及邊緣檢測(cè)的算法分別借用的是中值濾波、Sauvola算法和Canny 邊緣檢測(cè)法。

3   商品生產(chǎn)日期字符識(shí)別

3.1 識(shí)別目的

在車間生產(chǎn)中,生產(chǎn)日期是由操作工人設(shè)置噴印裝置并對(duì)生產(chǎn)日期進(jìn)行噴印。生產(chǎn)日期的錯(cuò)誤為后續(xù)的溯源、倉(cāng)儲(chǔ)造成困難。為避免生產(chǎn)資料的浪費(fèi)和后續(xù)工作的開(kāi)展,制作日期字符識(shí)別數(shù)據(jù)集并校驗(yàn)成果。

本文通過(guò)jTessBoxEditor 進(jìn)行字符識(shí)別訓(xùn)練工作,Tesseract 深度學(xué)習(xí)樣本訓(xùn)練工具基于Java 開(kāi)發(fā),當(dāng)Tesseract 的自帶字符庫(kù)不足以滿足需要時(shí), 通過(guò)jTessBoxEditor 訓(xùn)練得到專屬字符庫(kù),提高生產(chǎn)日期識(shí)別率和準(zhǔn)確率。

3.2 字符集的創(chuàng)建和測(cè)試

在jTessBoxEditor 編輯器中點(diǎn)擊merge tiff,打開(kāi)拍攝到的商品生產(chǎn)日期圖片,并為文件命名,以生成訓(xùn)練集的tif 文件(如圖8)。

image.png

圖8 訓(xùn)練集部分樣本圖

通過(guò)輸入命令行生成box 文件,再導(dǎo)入tif 文件,然后它會(huì)主動(dòng)識(shí)別box 文件并主動(dòng)導(dǎo)入(如圖9)。

image.png

圖9 字符識(shí)別界面

利用窗口上方的模塊,對(duì)文件內(nèi)字符進(jìn)行框選,調(diào)整字體坐標(biāo),標(biāo)準(zhǔn)為一字一框,并對(duì)識(shí)別的字符進(jìn)行修正,最后點(diǎn)擊save。

在輸入命令后創(chuàng)建字體特征文件,之后開(kāi)始對(duì)字符文件進(jìn)行訓(xùn)練,并把生成的文件合并,即得到訓(xùn)練文件(如圖10)。

1627373782169893.png

圖10 字符集訓(xùn)練界面

字符識(shí)別的正確率受前期圖片處理的程度和字符庫(kù)的影響,訓(xùn)練集中包含英文、中文和數(shù)字三種字符,為了驗(yàn)明三種字符的單獨(dú)測(cè)試效果,從以下四個(gè)方向進(jìn)行

觀察測(cè)試:

1)中文字符正確率

2)英文字符正確率

3)數(shù)字字符正確率

4)全部字符正確率

image.png

通過(guò)測(cè)試顯示,錯(cuò)誤率最高為5.00% 的中文字符,Tesseract 對(duì)于英文和數(shù)字字符還是比較精準(zhǔn)的,錯(cuò)誤主要在于字符“期”容易識(shí)別為分開(kāi)的兩個(gè)字“其”和“月”,接下來(lái)對(duì)字符偏旁部首誤分割的判定準(zhǔn)確率進(jìn)行研究?jī)?yōu)化。

4   結(jié)束語(yǔ)

本文基于OpenCV 和開(kāi)源庫(kù)Tesseract,在Python平臺(tái)根據(jù)現(xiàn)有的完善字符識(shí)別算法,利用訓(xùn)練出的專屬字符庫(kù)初步實(shí)現(xiàn)了在簡(jiǎn)單環(huán)境下對(duì)商品生產(chǎn)日期的識(shí)別功能。

本實(shí)驗(yàn)項(xiàng)目?jī)H針對(duì)普通場(chǎng)景下的圖像進(jìn)行商品標(biāo)簽日期字符的識(shí)別,對(duì)于復(fù)雜場(chǎng)景下或復(fù)雜字體、混合字體或彎曲識(shí)別界面的圖像文字識(shí)別還有待研究。后續(xù)將在和字符識(shí)別方面進(jìn)行優(yōu)化,即將著手的工作如下:

1)研究生產(chǎn)日期標(biāo)簽污損情況下的字符識(shí)別。

2)識(shí)別結(jié)果僅顯示于界面,未能聯(lián)系產(chǎn)品進(jìn)行操控。

3)進(jìn)一步提高字符識(shí)別的速度和正確率。

參考文獻(xiàn):

[1] 于穎.追溯無(wú)國(guó)界——追溯實(shí)施中的軟件,自動(dòng)化與數(shù)據(jù)標(biāo)準(zhǔn)化[J].中國(guó)自動(dòng)識(shí)別技術(shù),2015(4):60-64.

[2] 王德青,吾守爾·斯拉木,許苗苗.場(chǎng)景文字識(shí)別技術(shù)研究綜述[J].計(jì)算機(jī)工程與應(yīng)用,2020,56(18):1-15.

[3] 李志昂,李少波,白強(qiáng),等.基于視覺(jué)的機(jī)器人目標(biāo)抓取研究[J].組合機(jī)床與自動(dòng)化加工技術(shù),2020(9):108-111.

[4] 馬鎖冬,曾春梅,許峰.基于4f系統(tǒng)的光學(xué)圖像加密與解密仿真教學(xué)[J].大學(xué)物理實(shí)驗(yàn),2018,31(6):39-45.

[5] 石鵬飛,劉慧.基于OpenCV的偏光片檢測(cè)方法[J].機(jī)械管理開(kāi)發(fā),2020,35(10):162-164+202.

[6] 陳飛.改進(jìn)的交互式Otsu紅外圖像分割算法[J].計(jì)算機(jī)測(cè)量與控制,2020,28(9):248-251.

[7] 李藝杰,鄒坤霖,孫煒,等.基于Sauvola算法和神經(jīng)網(wǎng)絡(luò)的圖像自適應(yīng)二值化方法[J].測(cè)控技術(shù),2020,39(8):62-69+75.

[8] 趙慧娟,姜盼松,黃文聰.基于圖像識(shí)別算法的圖像傳感器質(zhì)量檢測(cè)方法改善研究[J].工業(yè)工程,2020,23(3):115-122.

[9] 白松讓,段敏,曹景勝,等.基于OpenCV的車道線智能檢測(cè)和識(shí)別[J].遼寧工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2020,40(2):92-95.

(本文來(lái)源于《電子產(chǎn)品世界》雜志2021年7月期)



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉