《OCR文本识别系统项目计划书》
一、作品概述
http://115.159.205.168/ocr_php/public/index.php
本项目的名称为OCR文本识别系统,研发其主要目的是向用户提供高精度的文本识别功能。在信息量非常大的时代,PDF和图片占信息量较大一部分,这就造成了用户对图片和PDF文本识别的大量需求,包括对各种语言文字、手写体、数字等。而本项目可以较好的满足用户需求,提供高精度文本识别(即把图片中的文字,识别出并转换为.txt文件)。本项目提供两种版本:Android版(进度60%)和web网页版(进度80%)(网页入口:http://115.159.205.168/ocr_php/public/index.php),可以运行在linux、windows、Android环境下,方便了用户的使用。
本项目可以实现以下功能:
1.对多国语言进行识别。用户上传图片或pdf,返回识别结果。共有约40种语言库,包括汉语、英语、日语、法语、韩文等。
2.为用户提供训练功能。由于文本识别率在某种程度上还不够高,用户可以根据识别率,训练对应的文字,提高识别率。
3.训练新语言。可以针对某个人手写体,训练出对应的库,实现识别手写体功能。也可针对某种字体,如行书 进行训练。这样保证了灵活、多变性。
4.图片自动优化功能。由于用户上传的图片,可能存在杂乱底色或一些影响识别的杂色,该系统可以针对图片进行处理、优化,提高图片的清晰度与对比度,提供识别精度。
5.分账户管理。 在手机安卓app端,用户可以建立自己的账户,存储自己识别过的文件。
二、作品构思的创意与价值
(1) 背景:问题领域
在信息量非常大的时代,PDF和图片占信息量较大一部分,这就造成了用户对图片和PDF文本识别的大量需求,包括对各种语言文字、手写体、数字等。本项目目的为满足这一市场的需求。本项目涉及人工智能、神经网络、模式识别、机器学习等领域。
(2) 问题:选题的动机与目的
选择这个项目有一下几个原因:
1.本项目具有较强的实用性,可以应用于身边的文本识别领域
2.本项目就有较大的增值空间,可以研发出多个外延引擎。
3.本项目具有开源性,大家共同参与,共同增加训练库
4.个人出于对算法的热爱,和对人工智能、神经网络、模式识别、机器学习 的兴趣
实现这个项目的目的
1.能够满足一部分文本识别的市场需求,普及文本识别技术
2.发扬开源精神,通过大家一块提交训练库,增加识别精度。
3.在运用识别算法的同时,对该模式识别算法进行优化,进一步提高识别精度。
(3) 研究:市场调查和评价结论
文本识别的市场较大,就目前从行业需求来看,金融、保险、税务、工商、电子商 务等行业对信息识别的需求已经越来越广泛,促进了识别技术的大规模应用。而个人消费者对资料电子化、手写识别技术等各方面需求则拓展了OCR识别技术在这一领域的应用,另一方面,网络时代的高速发展使个人资料电子化、商务办公自动化等需求也变得越来越多。
从调查来看,文本识别市场的的确确存在,而且随着信息化时代不断发展,这种需求会变得越来越大,而本项目可以较好的满足市场需求,提供优良的服务。因此本项目有较好的发展前景。
(4) 创意:参赛作品的构思描述
本项目会创建一个平台,提供对图片和PDF的文本识别服务。并以这个平台为主题,提供多种服务,以提高识别率、满足客户需求。具体服务包括:
(1)训练功能:由用户提供素材对文字进行训练,提高文本识别精度。
(2)新语言训练:由用户提供素材对新语言进行训练。
(3)图像处理:对用户的图片进行处理,如灰度处理、二值化、去噪zao、旋转等。
(4)用户管理;对用户识别过的素材和结构进行保存
提供三个平台的使用:
1.Windows 平台
2.Linux 平台
3.Android
(5) 功效:最终呈现给用户的实际功效
1.对多国语言进行识别。用户上传图片或pdf,返回识别结果.
2.为用户提供训练功能,用户共享训练库,提高识别率。
3.训练新语言。可以针对某个人手写体,训练出对应的库,实现识别手写体功能。
4.图片自动优化。针对用户上传的图片进行处理、优化,提高图片的清晰度与对比度,提供识别精度
5.分账户管理。 用户可以建立自己的账户,存储自己识别过的文件。
(6) 评价:对创新的深度与广度的自我评价
经过调查,全国范围内,本项目是唯一一个采用“用户训练,资源共享”模式的OCR文本识别软件。该模式实现了资源共享,每个用户都共享一个大的训练库,而且每个用户都可以自己训练出的训练库加入到共享训练库中。这样就保证了资源的有效利用,大大提高了文字的识别率。不仅如此,这样的模式,就更加提高了用户识别的自由度和灵活度。与此同时,本项目采用识别率较高的Google的开源tessrect-ocr引擎,有效提供识别效率。
本项目采用文本自然语言处理中的G-gram模型,对识别出的文字进行更正。
本项目除了训练之外,还添加了图片处理功能、PDF识别功能、训练新语言功能、而且用户可以根据需要选择对应要识别的语言。
相对于其他的识别软件,本项目在“用户训练,资源共享”模式的创新使得本项目更有应用前景,而且本项目还提供了许多附加的功能,提高了用户使用的自由度和灵活度。
三、作品的目标实现形式
(1) 作品的最终呈现形式
1.网页web端,实现在在线识别、训练
2.手机安卓端,实现掌上识别
(2) 作品的主要功能描述
1、对多国语言进行识别。用户上传图片或pdf,返回识别结果。共有约40种语言库,包括汉语、英语、日语、法语、韩文等
2、为用户提供训练功能。由于文本识别率在某种程度上还不够高,用户可以根据识别率,训练对应的文字,提高识别率
3、训练新语言。可以针对某个人手写体,训练出对应的库,实现识别手写体功能。也可针对某种字体,如行书 进行训练。这样保证了灵活、多变性
4、图片自动优化功能。由于用户上传的图片,可能存在杂乱底色或一些影响识别的杂色,该系统可以针对图片进行处理、优化,提高图片的清晰度与对比度,提供识别精度
5、分账户管理。 在手机安卓app端,用户可以建立自己的账户,存储自己识别过的文件。
(3) 作品的实用性和未来可扩展性分析
1、实用性:
OCR文本识别系统可以对大量图像进行文本的识别、训练,可以用于金融、保险、税务、工商、电子商务等行业。就目前来说,可以用于我校教师识别发票、论文等方面。
网站已经搭建好,从后台数据来看,期间已经有多人使用本网站,进行识别。
2、未来可扩展性分析:
(1)本项目基于文本识别,且其“用户训练,资源共享”的模式有效提升了其识别效率和识别精度,经用户的使用,其识别效果会越来越好。
(2) 本项目运行平台较广,可以在多个平台上使用,未来可以开发IOS版。
(3)本项目可以修改代码,开发IPA,为其他软件提供API接口。
(4)在本项目基础上,可以做出许多附加产品,如汽车牌照识别、验证码识别、二维码识别、等。
四、作品目标实现的可行性
(1) 作品的主要技术路线
1、前端网页所用技术 : html 、css
2、后台开发所用技术 : php 、shell脚本 、tessrect-ocr引擎、c++
3、tessrect-ocr引擎技术 : 模式匹配、机器学习、图像识别与处理、神经网络。
4、Android技术 :java 、安卓
(2) 作品的核心技术关键与实现可行性
1.引擎:编写脚本,实现tesseract-ocr引擎搭建(已实现)
2.训练: 编写训练脚本 ,实现类机器学习,高度自动化学习(已实现)
3.php_for_tesseract-ocr:实现php对tesseract-ocr引擎的调用(已实现)
4.imageMagick图片处理引擎 :对图片进行处理,提高识别率(已实现)
5.G-grem模块:利用开源的算法,在github上可以找到对应的模块,进行应用
6.PDF识别:在linux环境下,很容易把PDF转换为图片
编写Android应用: 编写账号登录注册模块(已完成)、调用web端引擎(已完成)、分账户文件管理(完成中)