粟晨洪 李昕昕
摘要:目前大多數(shù)圖書館的圖書管理系統(tǒng)仍以人工處理方式為主,為方便普通圖書用戶的使用、簡(jiǎn)化工作流程、提高圖書管理效率,提出一種基于中文OCR模型的智能圖書識(shí)別系統(tǒng),以PaddlePaddle中的OCR模型為基礎(chǔ),加以網(wǎng)絡(luò)爬蟲技術(shù)進(jìn)行智能化的圖書管理,通過理論和實(shí)踐發(fā)現(xiàn),該智能化系統(tǒng)能滿足要求。
關(guān)鍵詞:圖像識(shí)別;OCR模型;爬蟲技術(shù)
中圖分類號(hào):TP18? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2021)28-0020-03
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
隨著科技的進(jìn)步,社會(huì)一步步地走向繁榮,在物質(zhì)生活得到滿足的今天,文化建設(shè)越來越受到重視[1]。圖書館作為人類探索知識(shí)的補(bǔ)給站,肩負(fù)著知識(shí)傳承的重要責(zé)任,在城市文化建設(shè)中擔(dān)任著不可或缺的角色[2]。
大多數(shù)的圖書館的圖書管理主要以人工為主,過程冗余繁雜[3],融入一些智能化的技術(shù)既能在很大的程度上方便普通用戶進(jìn)行圖書的查詢、減少查詢時(shí)間,又能實(shí)現(xiàn)圖書的智能識(shí)別以及圖書的即拍即查和即傳即查[4]?;谥形腛CR模型的智能圖書識(shí)別系統(tǒng)在一定程度上能夠?qū)崿F(xiàn)這樣的功能。
1系統(tǒng)簡(jiǎn)介
1.1 系統(tǒng)框架
本文提出的圖書管理系統(tǒng)是基于中文OCR模型的智能圖書識(shí)別系統(tǒng)。該系統(tǒng)包含圖像識(shí)別和圖書信息爬取兩大功能,具體功能結(jié)構(gòu)圖如圖1系統(tǒng)功能圖所示。
1.2 系統(tǒng)功能介紹
圖片的上傳:采取即時(shí)拍攝和直接輸入圖片[5]。考慮到當(dāng)今信息科技的技術(shù)實(shí)力,直接輸入圖片不僅操作方便而且效果優(yōu)于即時(shí)拍攝,因?yàn)榘殡S著時(shí)代與技術(shù)的飛躍發(fā)展,市面上用來掃描圖片或視頻以及處理圖片效果和視頻效果的App愈漸普及且技術(shù)越來越成熟,從而讓圖片和視頻的質(zhì)量得到了更大的保障,也因此提高了本次實(shí)驗(yàn)識(shí)別結(jié)果的準(zhǔn)確度。
圖片文字的識(shí)別:直接使用PaddlePaddle高度完善的中文OCR模型進(jìn)行識(shí)別。
封面信息的分類:將使用模型后識(shí)別出的結(jié)果進(jìn)行歸類存放,比如作者名、書籍名、出版社等書籍封面信息。
讀取分類的信息:讀取已經(jīng)經(jīng)過分類后的完整的模型識(shí)別結(jié)果信息。
爬取對(duì)應(yīng)的圖書的信息:將讀取到的結(jié)果信息作為使用爬蟲技術(shù)爬取信息的依據(jù),以此爬取對(duì)應(yīng)的書籍在線上圖書館或線上書城以及其他購(gòu)物網(wǎng)站中的更多詳細(xì)信息,比如書籍的簡(jiǎn)介、書籍的線上價(jià)格等。
返回圖書的信息:將爬取到的相關(guān)圖書的所有結(jié)果信息返回客戶端,并將全部的結(jié)果輸出顯示在客戶端上。
1.3核心技術(shù)簡(jiǎn)介
1.3.1 圖像識(shí)別模型
本文提到的基于中文OCR模型的智能圖書識(shí)別系統(tǒng)所用到的圖像識(shí)別模型為PaddlePaddle上已經(jīng)高度完善的中文OCR模型,具體使用了模型中的“chinese_ocr_db_crnn_mobile”,該模型用于識(shí)別圖片中的漢字,其基于[chinese_text_detection_db_mobile Module]檢測(cè)得到的文本框,繼續(xù)識(shí)別文本框中的中文文字,之后對(duì)檢測(cè)文本框進(jìn)行角度分類。最終識(shí)別文字算法采用CRNN(Convolutional Recurrent Neural Network)及卷積遞歸神經(jīng)網(wǎng)絡(luò)。其是DCNN和RNN的組合,專門用于識(shí)別圖像中的序列式對(duì)象。與CTC loss配合使用,進(jìn)行文字識(shí)別,可以直接從文本詞級(jí)或行級(jí)的標(biāo)注中學(xué)習(xí),不需要詳細(xì)的字符級(jí)的標(biāo)注。該模型是一個(gè)超輕量級(jí)的中文OCR模型,可以支持直接預(yù)測(cè)。
1.3.2 爬蟲技術(shù)
本文提到的基于中文OCR模型的智能圖書識(shí)別系統(tǒng)所用到的爬蟲技術(shù)的核心部分主要利用了requests庫(kù)、xpath庫(kù)、re庫(kù)等數(shù)據(jù)挖掘中爬蟲相關(guān)的技術(shù)模塊,其中的requests庫(kù)用于模擬瀏覽器的發(fā)送請(qǐng)求從而獲取到服務(wù)器返回的數(shù)據(jù),re庫(kù)主要應(yīng)用在字符串的匹配中,配合xpath庫(kù)可用來查找和解析通過requests請(qǐng)求后所得到的返回值并提取出其中需要被使用的數(shù)據(jù),完成前面的兩步操作后再將最終的數(shù)據(jù)結(jié)果保存到csv或txt等固定格式的文件中。
2 設(shè)計(jì)思路及實(shí)現(xiàn)
2.1 系統(tǒng)流程
本文所提到的基于中文OCR模型的智能圖書識(shí)別系統(tǒng)主要是利用圖像的文字識(shí)別技術(shù)將上傳的圖片中的文字進(jìn)行較為精準(zhǔn)的識(shí)別,然后通過數(shù)據(jù)處理的方式對(duì)獲取到的文字?jǐn)?shù)據(jù)以“書名”“作者”“出版社”等固定格式進(jìn)行分類與統(tǒng)計(jì),最后以分類并統(tǒng)計(jì)好的結(jié)果作為數(shù)據(jù)基礎(chǔ),利用大數(shù)據(jù)的信息爬取技術(shù)獲取到參與了文字識(shí)別過程后的圖書的相關(guān)簡(jiǎn)介與價(jià)格等信息,最后以csv格式或txt格式等固定格式進(jìn)行數(shù)據(jù)的存儲(chǔ)。其總體流程如圖2系統(tǒng)流程圖所示。
2.2 實(shí)現(xiàn)步驟
2.2.1定義待預(yù)測(cè)數(shù)據(jù)
本文所提出的基于中文OCR模型的智能圖書識(shí)別系統(tǒng)所需要的預(yù)測(cè)數(shù)據(jù)predict_data的內(nèi)容主要為待預(yù)測(cè)的書籍的封面的圖片、背面的圖片、封面與背面的連接處的圖片,以此方式制作的預(yù)測(cè)數(shù)據(jù)集能夠在一定程度上提高識(shí)別結(jié)果信息的準(zhǔn)確度與準(zhǔn)確性。
2.2.2圖書信息識(shí)別
本文所提到的基于中文OCR模型的智能圖書識(shí)別系統(tǒng)進(jìn)行圖書信息識(shí)別的主要流程為:利用im_rec對(duì)定義完成的預(yù)測(cè)數(shù)據(jù)進(jìn)行圖像的文字識(shí)別,利用recognize_text()函數(shù)進(jìn)行模型調(diào)參,利用本文所提到的中文OCR模型chinese_ocr_db_crnn_mobile提取圖片中的文字并形成字典,對(duì)存放文字信息結(jié)果的字典進(jìn)行篩選處理,提取得到分別包含書籍名字、作者等信息的列表,對(duì)列表再做處理得到最終的更為準(zhǔn)確的圖片信息。經(jīng)過多次模擬實(shí)驗(yàn)訓(xùn)練,取得recognize_text()函數(shù)最終最優(yōu)參數(shù),設(shè)置為:box_thresh=0.5,text_thresh=0.2.在上述參數(shù)設(shè)置下的模型預(yù)測(cè)準(zhǔn)確率可高達(dá)0.99877。部分源碼如下所示:
#處理圖片識(shí)別結(jié)果
positionX = []#存放識(shí)別到的每個(gè)紅框的橫坐標(biāo)
res = [] #存放處理好的結(jié)果
infos = 0
count = 0
count_list = []#存放內(nèi)容為字典類型,key為圖片序號(hào),value為識(shí)別到的紅框數(shù)
dict_list = []#存放臨時(shí)字典
n = 1
for result in results:#results為中文OCR模型識(shí)別后的結(jié)果
data = result['data']
save_path = result['save_path']
for info in data:
count += 1
print(info['text_box_position'])
print(info['text'])
#根據(jù)檢測(cè)到的紅框的大小判斷書名
#大小的判斷基于紅框左右定點(diǎn)之間的距離
for i in info['text_box_position']:
positionX.append(i[0])
max = positionX[0]#最大橫坐標(biāo)
min = positionX[0]#最小橫坐標(biāo)
for i in range(len(positionX)):
if(positionX[i]>=max):
max = positionX[i]
if(positionX[i]<=min):
min = positionX[i]
result = max – min
#創(chuàng)建臨時(shí)字典用于存放處理過的數(shù)據(jù)
dict_res = {}.fromkeys(["info","result","text"])
dict_res["info"] = infos
dict_res["result"] = result
dict_res["text"] = info['text']
dict_list.append(dict_res)
infos += 1
positionX = []
res.append(dict_list)
infos = 0
dict_list = []
print(n,count,sep=':')
count_dic = {}.fromkeys(['圖片序號(hào)','識(shí)別到的框'])
count_dic['圖片序號(hào)'] = n
count_dic['識(shí)別到的文字'] = count
count = 0
print('-'*100)
n += 1
count_list.append(count_dic)
2.2.3圖書信息智能匹配
本文所提到的基于中文OCR模型的智能圖書識(shí)別系統(tǒng)所用到的智能匹配技術(shù)是根據(jù)2.1.2中識(shí)別得到的書籍的名稱、作者等圖書的封面信息,然后對(duì)相關(guān)書籍的詳細(xì)信息進(jìn)行更深層次的爬?。?/p>
第一步:利用request庫(kù)發(fā)送服務(wù)器HTTP請(qǐng)求,其請(qǐng)求頭的內(nèi)容包括URL、User-Agent、Headers等。
第二步:response獲取請(qǐng)求成功后服務(wù)器返回的數(shù)據(jù)。
第三步:先利用xpath語言對(duì)通過服務(wù)器請(qǐng)求成功后返回的數(shù)據(jù)結(jié)果進(jìn)行查找并獲取,然后利用數(shù)據(jù)挖掘中的re庫(kù)對(duì)查找并獲取到的數(shù)據(jù)結(jié)果進(jìn)行解析和處理。
第四步:將獲取并解析后的數(shù)據(jù)進(jìn)行一定的分類和格式處理后得到后續(xù)實(shí)驗(yàn)所需要處理和利用的信息。
第五步:將最終處理好的信息存儲(chǔ)并保存為csv或txt等固定格式的文件。
2.3 實(shí)驗(yàn)結(jié)果
本文實(shí)驗(yàn)用到的圖片數(shù)據(jù)集大小一共為265張,其中訓(xùn)練集為204張,驗(yàn)證集為10張,預(yù)測(cè)集為51張。在實(shí)驗(yàn)的數(shù)據(jù)集下,本文的實(shí)驗(yàn)結(jié)果如以下表1所示。
從表1可以得出的結(jié)果為:在圖片處于較高畫質(zhì)的情況下時(shí),當(dāng)box_thresh=0.5,text_thresh不斷減小時(shí),識(shí)別準(zhǔn)確率與爬取準(zhǔn)確率逐漸趨于穩(wěn)定并在box_thresh= 0.5,text_thresh=0.2時(shí)達(dá)到最高。
3結(jié)束語
本文所提出的基于中文OCR模型的智能圖書識(shí)別系統(tǒng)采用了PaddlePaddle深度學(xué)習(xí)框架中的中文OCR文字識(shí)別模型,結(jié)合了部分網(wǎng)絡(luò)爬蟲技術(shù),實(shí)現(xiàn)了對(duì)圖書的即拍即查、即傳即查的智能化功能,在一定程度上降低了工作人員的工作負(fù)擔(dān),更大程度地方便了普通用戶的使用,節(jié)約了讀者用戶在書籍尋訪過程中的時(shí)間開支。但本智能系統(tǒng)在識(shí)別準(zhǔn)確率和爬蟲準(zhǔn)確率上仍然存在一定的優(yōu)化空間,在后期還可以通過圖像增強(qiáng)、關(guān)鍵點(diǎn)捕捉以及優(yōu)化被爬網(wǎng)站等方式來進(jìn)行技術(shù)上的改進(jìn)。
參考文獻(xiàn):
[1] 王海波.圖書管理助手機(jī)器人檢測(cè)系統(tǒng)設(shè)計(jì)[J].現(xiàn)代鹽化工,2020,47(6):173-174.
[2] 劉秀峰.基于物聯(lián)網(wǎng)技術(shù)的圖書管理系統(tǒng)[J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2015(5):53-56.
[3] 黃敏杰,于國(guó)龍,黃榮翠,等.基于opencv圖像識(shí)別的圖書管理系統(tǒng)[J].電腦知識(shí)與技術(shù),2019,15(17):194-195,198.
[4] 胡俊瑋.基于數(shù)據(jù)挖掘的圖書管理系統(tǒng)研究與設(shè)計(jì)[D].廣州:中山大學(xué),2014.
[5] 黃佳.基于OPENCV的計(jì)算機(jī)視覺技術(shù)研究[D].上海:華東理工大學(xué),2013.
【通聯(lián)編輯:唐一東】