技术规格书
项目名称:数据采集工具软件
版本:*.*
编制:日期:
校对:日期:
会签:日期:
批准:日期:
版本记录
版本编号 |
版本日期 |
修改者 |
说明 |
文件名 |
**.* |
****.*.** |
陈明敏 |
数据采集工具软件技术要求 |
技术规格书 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
目录
第*章业务需求论证*
第*章应用现状分析*
第*章技术需求分析*
第*章技术风险识别*
概述
在各种数据源解析上,存在非结构化数据的采集,需要将这种类型的数据进行识别和处理,形成计算机可识别的字符,满足后续数据集成以及全文检索。本技术规格书主要描述了所需采购的软件的总体要求及所对应的功能模块及服务要求。
技术要求
*.产品技术参数
功能类别 |
技术参数 |
输入输出图像格式 |
支持***、***、****、***等格式的图像文件,可输出****、双层***、***、****、*****等电子文件。 |
输入图像分辨率 |
正常识别图像分辨率******以上的图像文件*输出结果。 |
输出结果 |
按照**** 或者 *** 格式输出结果、图像小于 ** 度角倾斜也能精确识别。 |
*次开发环境 |
支持使用****、*++、*、****** ******及*********-*多种计算机语言进行*次开发能力。 |
支持多平台 |
引擎包系统除了可以支持*****、*******主流系统外还需适配统信***、中标麒麟、银河麒麟等国产系统。 |
字符识别率 |
******像素以上印刷文档图片字符识别率可达**%以上,清晰工整横版手写体字符识别率可达**%以上。 |
手写识别 |
支持中文简体、繁体、英文及横版手写体识别,**大小文档识别***环境时间小于*秒。 |
图像识别 |
可正常识别彩色(******)、灰度(***阶)图像。支持***、***、****、***、***等格式的图像文件。 |
支持字体 |
中文简体/繁体、宋体、黑体、楷体、圆体、支持英文:*******、*****、***** *** ****、********、*****、********* 、********** *******、********** ********** 等常见字体。 |
支持语言 |
中文(简体/繁体)、英文等常用语言。 |
认证证书 |
软件著作权登记证书。 |
*.主要模块算法
*.图像读取保存模块
支持数据流和文件名*种方式的传入,支持***/***/***/***/***等格式的图像解析,支持***/***/***/***/***等格式的图像保存。
*.引擎初始化模块
主要是实现各个模块数据库的导入、配置文件信息的导入和开关参数的设置功能。
*.灰度转换模块
对读取的****通道图片进行灰度(单通道)转换,算法具体描述如下:
①基础
对于彩色转灰度,有*个很著名的心理学公式:
****=***.***+***.***+***.***
②整数算法
而实际应用时,希望避免低速的浮点运算,所以需要整数算法。
注意到系数都是*位精度的没有,我们可以将它们缩放****倍来实现整数运算算法:
****=(*****+*****+*****+***)/****
③整数移位算法
上面的整数算法已经很快了,但是有*点仍制约速度,就是最后的那个除法。移位比除法快多了,所以可以将系数缩放成*的整数幂。习惯上使用**位精度,*的**次幂是*****,所以这样计算系数。
*.模糊判断模块
对灰度图片进行模糊判断,算法具体描述如下:
①图像边缘*般都是通过对图像进行梯度运算来实现的
与主观感知*致的算法有:*******、*********、***、****、******、*******、***、****、*****、********、*******算法所得数据非常接近,无法分辨出图像质量。
②失焦检测。
衡量画面模糊的主要方法就是梯度的统计特征,通常梯度值越高,画面的边缘信息越丰富,图像越清晰。
失焦的主要表现就是画面模糊,衡量画面模糊的主要方法就是梯度的统计特征,通常梯度值越高,画面的边缘信息越丰富,图像越清晰。需要注意的是梯度信息与每*个视频本身的特点有关系,如果画面中本身的纹理就很少,即使不失焦,梯度统计信息也会很少,对监控设备失焦检测需要人工参与的标定过程,由人告诉计算机某个设备正常情况下的纹理信息是怎样的。
③利用边缘检测,模糊图片边缘会较少
④通过***比较。***分离出的低频信号比较模糊图片细节少,所以***更低。
*.边框切除模块
实现背景图片信息的去除,算法描述如下:
***是*种局部提取直线的算法,速度比*****要快。但是有局部算法的缺点:
①对于直线相交情况,因为设置了每个点是否****,因此每个点只能属于*条直线,若有相交必有至少*条直线被割裂为*条。又因为其基于梯度,直线交点梯度值往往又较小(不被检测为边缘点),因此很有可能相交的*条直线在交点处被割裂为*条线段。
②由于局部检测算法自增长的特点,对于长线段被遮挡、局部模糊等原因经常割裂为多条直线。这些缺点在*****变换中不存在。
算法步骤概括:
①以*=*.*的尺度对输入图像进行高斯下采样。
②计算每*个点的梯度值以及梯度方向(*****-***************)。
③根据梯度值对所有点进行伪排序(******-*******),建立状态列表,所有点设置为******。
④将梯度值小于ρ的点状态表中相应位置设置为****。
⑤取出列表中梯度最大(伪排列的首位)的点作为种子点(****),状态列表中设为****。
*.*值化模块
对灰度图片进行*值化处理。自适应阈值算法描述如下:
*个理想的自适应阈值算法应该能够对光照不均匀的图像产生类似上述全局阈值算法对光照均匀图像产生的效果*样好。为了补偿或多或少的照明,每个像素的亮度需要正规化,之后才能决定某个像素时黑色还是白色。问题是如何决定每个点的背景亮度。*个简单的方式就是在拍摄需要*值图片之前先拍*张空白的页面。这个空白的页面可以当做参考图像。对于每*个要处理的像素,在处理前对应的参考图像像素都将从其中减去。
只要在参考图像和实际要处理的图像拍摄时光照条件没有发生任何变化,这个方法能产生非常好的效果,但是,光照条件会收到人、台灯或其他移动物体的影子的影响。如果房间有窗户,那么光照条件还会随着时间变化而改变。*个解决方案就是在同样的位置,同样的时刻拍摄*种空白的页面作为参考,但是这如果使用扫描仪*样不太方便。
另外*种方式就是通过*些关于图像实际该是什么样的假设来估计每个像素的背景亮度。例如,我们可以假设,图像大部分是背景(也就是白色),黑色只占图像的小部分。另外*个假设就是背景光改变相对较为缓慢。基于以上假设有很多算法都可行。由于没有关于自适应阈值的数学理论,因此,也就没有*个标准或者最优的方法来实现它。代替的是,有*些特别的方法要比另外*些更为使用的多。由于这些方法比较特别,因此测量他们的性能比较有用。为此,********和*******提出了以下建议:区域需和灰度调统*;区域内部应该简单,没有过多的小孔;相邻的区域应该有显著的不同值;每个部分的边缘也应该简单,不应凹凸不平,其空间上要准确。
根据*****的理论,对于图像*值化,还没有任何量化性能指标提出过。似乎主要评价算法性能的方式就是简单看看结果然后判断其是否很好。对于文字图像,有*个可行的量化办法:不同光照条件下的图片使用不同的*值化算法处理的后的结果被送往***系统,然后将***识别的结果和原文字比较。虽然该法可能有用,但是他不能用在以下描述的算法中,因为不可能给出*个看起来好的标准。对于*些交互式的应用,比如复制黏贴操作用户必须等到*值的处理。因此另外*个重要的指标就是速度。以下部分提出了不同的自适应阈值算法已经他们产生的结果。
*.去噪模块
对非文字块信息进行去除,主要算法描述如下:
图像中的噪声常常用高斯噪声来近似表示,其中,是噪声的方差,越大,噪声越大。*个有效的去除高斯噪声的方式是图像求平均,对*幅相同的图像求平均的结果将使得高斯噪声的方差降低到原来的*分之*,现在效果比较好的去噪算法都是基于这*思想来进行算法设计。
*.倾斜校正模块
实现对*定倾斜的图片进行矫正和对********度角度翻转的进行矫正,核心算法描述如下:
寻找轮廓的包围矩阵,并且获取角度,根据角度进行旋转矫正,对旋转后的图像进行轮廓提取,对轮廓内的图像区域抠出来,成为*张独立图像。把该矫正算法命名为基于轮廓提取的矫正算法,因为其关键技术就是通过轮廓来获取旋转角度。
*.版面分析模块
实现对每行信息进行准确切割,核心算法描述如下:
基于膨胀算法的版面分析方法:在进行版面分析的时候,采用自底向上的方法比较准确,适合*些比较复杂的版面,而由于字符,文本行之间有间隙,从而使各个连通区域比较琐碎,这样就大大地增加了运算量.以前的版面分析技术采用"自底向上"的方法,是直接对版面图像上的黑点进行搜索,获得连通区域,这种方式容易受噪声的干扰,运算速度比较慢,并且给后面的连通区域合并带来很大的困难。
**.字符切分模块
实现每行信息的每个字符进行准确切割,核心算法描述如下:
首先它归纳了*大类字符分割方法,他们之间可以互相结合:
①经典方法,即把图像进行切割,把可能的字符切割出来
②基于识别的分割方法,即搜索待识别的图像以找出可能的字符
③将整个单词(****)作为整体来识别
**.字符识别模块
实现对每个字符进行识别,核心算法描述如下:
特征提取和降维:特征是用来识别文字的关键信息,每个不同的文字都能通过特征来和其他文字进行区分。对于数字和英文字母来说,这个特征提取是比较容易的,因为数字只有**个,英文字母只有**个,都是小字符集。对于汉字来说,特征提取比较困难,因为首先汉字是大字符集,国标中光是最常用的第*级汉字就有****个;第*个汉字结构复杂,形近字多。在确定了使用何种特征后,视情况而定,还有可能要进行特征降维,这种情况就是如果特征的维数太高(特征*般用*个向量表示,维数即该向量的分量数),分类器的效率会受到很大的影响,为了提高识别速率,往往就要进行降维,这个过程也很重要,既要降低维数吧,又得使得减少维数后的特征向量还保留了足够的信息量(以区分不同的文字)。
分类器设计、训练和实际识别:分类器是用来进行识别的,就是对于第*步,你对*个文字图像,提取出特征给,丢给分类器,分类器就对其进行分类,告诉你这个特征该识别成哪个文字。在进行实际识别前,往往还要对分类器进行训练,这是*个监督学习的案例。
**.后处理模块
对识别结果进行矫正,提高字符识别率(需适应性改进),核心算法应用隐马尔可夫算法。
系统调整及验收
确保新增授权订阅在我司计算机上成功连接,并功能验证成功。
保证
供货方需保证产品的合法合规性,保证系统是用合理的专业技术开发的产品,保证产品符合合同约定的要求,并保证产品符合相关标准。供货方保证将按照普通认可的行业标准以专业水准提供技术服务,如软件不是供货方生产的,则供货方还应当保证系统来源的稳定以满足合同要求,并保证该系统获取渠道合法并属于原厂商原装产品。
保密声明
此文件所含知识产权属于****。未经书面许可,不得以任何方式将本文件及其所包含的内容透露给第*方。