基于中文OCR模型的智能图书识别系统

2021-11-28 10:51粟晨洪李昕昕
电脑知识与技术 2021年28期
关键词:图像识别

粟晨洪 李昕昕

摘要:目前大多数图书馆的图书管理系统仍以人工处理方式为主,为方便普通图书用户的使用、简化工作流程、提高图书管理效率,提出一种基于中文OCR模型的智能图书识别系统,以PaddlePaddle中的OCR模型为基础,加以网络爬虫技术进行智能化的图书管理,通过理论和实践发现,该智能化系统能满足要求。

关键词:图像识别;OCR模型;爬虫技术

中图分类号:TP18          文献标识码:A

文章编号:1009-3044(2021)28-0020-03

开放科学(资源服务)标识码(OSID):

随着科技的进步,社会一步步地走向繁荣,在物质生活得到满足的今天,文化建设越来越受到重视[1]。图书馆作为人类探索知识的补给站,肩负着知识传承的重要责任,在城市文化建设中担任着不可或缺的角色[2]。

大多数的图书馆的图书管理主要以人工为主,过程冗余繁杂[3],融入一些智能化的技术既能在很大的程度上方便普通用户进行图书的查询、减少查询时间,又能实现图书的智能识别以及图书的即拍即查和即传即查[4]。基于中文OCR模型的智能图书识别系统在一定程度上能够实现这样的功能。

1系统简介

1.1 系统框架

本文提出的图书管理系统是基于中文OCR模型的智能图书识别系统。该系统包含图像识别和图书信息爬取两大功能,具体功能结构图如图1系统功能图所示。

1.2 系统功能介绍

图片的上传:采取即时拍摄和直接输入图片[5]。考虑到当今信息科技的技术实力,直接输入图片不仅操作方便而且效果优于即时拍摄,因为伴随着时代与技术的飞跃发展,市面上用来扫描图片或视频以及处理图片效果和视频效果的App愈渐普及且技术越来越成熟,从而让图片和视频的质量得到了更大的保障,也因此提高了本次实验识别结果的准确度。

图片文字的识别:直接使用PaddlePaddle高度完善的中文OCR模型进行识别。

封面信息的分类:将使用模型后识别出的结果进行归类存放,比如作者名、书籍名、出版社等书籍封面信息。

读取分类的信息:读取已经经过分类后的完整的模型识别结果信息。

爬取对应的图书的信息:将读取到的结果信息作为使用爬虫技术爬取信息的依据,以此爬取对应的书籍在线上图书馆或线上书城以及其他购物网站中的更多详细信息,比如书籍的简介、书籍的线上价格等。

返回图书的信息:将爬取到的相关图书的所有结果信息返回客户端,并将全部的结果输出显示在客户端上。

1.3核心技术简介

1.3.1 图像识别模型

本文提到的基于中文OCR模型的智能图书识别系统所用到的图像识别模型为PaddlePaddle上已经高度完善的中文OCR模型,具体使用了模型中的“chinese_ocr_db_crnn_mobile”,该模型用于识别图片中的汉字,其基于[chinese_text_detection_db_mobile Module]检测得到的文本框,继续识别文本框中的中文文字,之后对检测文本框进行角度分类。最终识别文字算法采用CRNN(Convolutional Recurrent Neural Network)及卷积递归神经网络。其是DCNN和RNN的组合,专门用于识别图像中的序列式对象。与CTC loss配合使用,进行文字识别,可以直接从文本词级或行级的标注中学习,不需要详细的字符級的标注。该模型是一个超轻量级的中文OCR模型,可以支持直接预测。

1.3.2 爬虫技术

本文提到的基于中文OCR模型的智能图书识别系统所用到的爬虫技术的核心部分主要利用了requests库、xpath库、re库等数据挖掘中爬虫相关的技术模块,其中的requests库用于模拟浏览器的发送请求从而获取到服务器返回的数据,re库主要应用在字符串的匹配中,配合xpath库可用来查找和解析通过requests请求后所得到的返回值并提取出其中需要被使用的数据,完成前面的两步操作后再将最终的数据结果保存到csv或txt等固定格式的文件中。

2 设计思路及实现

2.1 系统流程

本文所提到的基于中文OCR模型的智能图书识别系统主要是利用图像的文字识别技术将上传的图片中的文字进行较为精准的识别,然后通过数据处理的方式对获取到的文字数据以“书名”“作者”“出版社”等固定格式进行分类与统计,最后以分类并统计好的结果作为数据基础,利用大数据的信息爬取技术获取到参与了文字识别过程后的图书的相关简介与价格等信息,最后以csv格式或txt格式等固定格式进行数据的存储。其总体流程如图2系统流程图所示。

2.2 实现步骤

2.2.1定义待预测数据

本文所提出的基于中文OCR模型的智能图书识别系统所需要的预测数据predict_data的内容主要为待预测的书籍的封面的图片、背面的图片、封面与背面的连接处的图片,以此方式制作的预测数据集能够在一定程度上提高识别结果信息的准确度与准确性。

2.2.2图书信息识别

本文所提到的基于中文OCR模型的智能图书识别系统进行图书信息识别的主要流程为:利用im_rec对定义完成的预测数据进行图像的文字识别,利用recognize_text()函数进行模型调参,利用本文所提到的中文OCR模型chinese_ocr_db_crnn_mobile提取图片中的文字并形成字典,对存放文字信息结果的字典进行筛选处理,提取得到分别包含书籍名字、作者等信息的列表,对列表再做处理得到最终的更为准确的图片信息。经过多次模拟实验训练,取得recognize_text()函数最终最优参数,设置为:box_thresh=0.5,text_thresh=0.2.在上述参数设置下的模型预测准确率可高达0.99877。部分源码如下所示:

#处理图片识别结果

positionX = []#存放识别到的每个红框的横坐标

res = [] #存放处理好的结果

infos = 0

count = 0

count_list = []#存放内容为字典类型,key为图片序号,value为识别到的红框数

dict_list = []#存放临时字典

n = 1

for result in results:#results为中文OCR模型识别后的结果

data = result['data']

save_path = result['save_path']

for info in data:

count += 1

print(info['text_box_position'])

print(info['text'])

#根据检测到的红框的大小判断书名

#大小的判断基于红框左右定点之间的距离

for i in info['text_box_position']:

positionX.append(i[0])

max = positionX[0]#最大横坐标

min = positionX[0]#最小横坐标

for i in range(len(positionX)):

if(positionX[i]>=max):

max = positionX[i]

if(positionX[i]<=min):

min = positionX[i]

result = max – min

#创建临时字典用于存放处理过的数据

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(['圖片序号','识别到的框'])

count_dic['图片序号'] = n

count_dic['识别到的文字'] = count

count = 0

print('-'*100)

n += 1

count_list.append(count_dic)

2.2.3图书信息智能匹配

本文所提到的基于中文OCR模型的智能图书识别系统所用到的智能匹配技术是根据2.1.2中识别得到的书籍的名称、作者等图书的封面信息,然后对相关书籍的详细信息进行更深层次的爬取:

第一步:利用request库发送服务器HTTP请求,其请求头的内容包括URL、User-Agent、Headers等。

第二步:response获取请求成功后服务器返回的数据。

第三步:先利用xpath语言对通过服务器请求成功后返回的数据结果进行查找并获取,然后利用数据挖掘中的re库对查找并获取到的数据结果进行解析和处理。

第四步:将获取并解析后的数据进行一定的分类和格式处理后得到后续实验所需要处理和利用的信息。

第五步:将最终处理好的信息存储并保存为csv或txt等固定格式的文件。

2.3 实验结果

本文实验用到的图片数据集大小一共为265张,其中训练集为204张,验证集为10张,预测集为51张。在实验的数据集下,本文的实验结果如以下表1所示。

从表1可以得出的结果为:在图片处于较高画质的情况下时,当box_thresh=0.5,text_thresh不断减小时,识别准确率与爬取准确率逐渐趋于稳定并在box_thresh= 0.5,text_thresh=0.2时达到最高。

3结束语

本文所提出的基于中文OCR模型的智能图书识别系统采用了PaddlePaddle深度学习框架中的中文OCR文字识别模型,结合了部分网络爬虫技术,实现了对图书的即拍即查、即传即查的智能化功能,在一定程度上降低了工作人员的工作负担,更大程度地方便了普通用户的使用,节约了读者用户在书籍寻访过程中的时间开支。但本智能系统在识别准确率和爬虫准确率上仍然存在一定的优化空间,在后期还可以通过图像增强、关键点捕捉以及优化被爬网站等方式来进行技术上的改进。

参考文献:

[1] 王海波.图书管理助手机器人检测系统设计[J].现代盐化工,2020,47(6):173-174.

[2] 刘秀峰.基于物联网技术的图书管理系统[J].农业网络信息,2015(5):53-56.

[3] 黄敏杰,于国龙,黄荣翠,等.基于opencv图像识别的图书管理系统[J].电脑知识与技术,2019,15(17):194-195,198.

[4] 胡俊玮.基于数据挖掘的图书管理系统研究与设计[D].广州:中山大学,2014.

[5] 黄佳.基于OPENCV的计算机视觉技术研究[D].上海:华东理工大学,2013.

【通联编辑:唐一东】

猜你喜欢
图像识别
支持向量机的舰船图像识别与分类技术
浅谈图像识别技术在打击绿通假证逃费中的应用
基于图像识别和多感知融合的列车自动防护方案
基于Resnet-50的猫狗图像识别
高速公路图像识别技术应用探讨
图像识别在物联网上的应用
图像识别在水质检测中的应用
一种基于TuriCreate和OpenCV的实时图像识别系统设计
基于图像识别的田间玉米秆识别系统设计与实现
浅谈模式识别在图像识别中的应用