1 引言
1.1 编写目的
本文档为怡嘉金融分析软件的详细设计说明书。怡嘉金融分析软件是由世纪怡嘉软件科技有限公司开发的支持多币种多面值纸币识别的智能软件系统,将主要应用于自动存取款机之上。
本说明书作为怡嘉金融分析软件开发的指导文档,对世纪怡嘉软件科技有限公司的怡嘉金融分析软件分部分进行了详细的叙述,规定了各个模块的接口,描述了系统的算法,提出了数据的存储分配及注释条件。
1.3 定义
列出本文件中用到的专门术语的定义和缩写词的原词组。
CIS:Contact Image Sensor,接触式图像传感器;
DSP:Digital Signal Processor,数字信号处理器;
神经网络:是一种对人脑或自然神经网络若干基本特性的抽象和模拟的算法,由人工建立的以有向图为拓扑结构的动态系统,它通过对连续或断续的输入作状态相应而进行信息处理;
支撑向量机:一种基于有限数据的机器学习算法,主要研究如何从一些给定的观测数据获得目前尚不能通过原理分析得出的规律,利用这些规律去分析客观现象并对无法观测的数据进行预测。
2 程序系统的结构
图1为系统总体流程图;
具体实施方式:
由A,通过扫描仪(Epson V10,200dpi)扫描得到钞票数据,形成可供计算机处理的图像矩阵;
由B,对A中得到的图像矩阵进行处理,把扫描得到的钞票图像进行旋转校正,并去除无关的背景图像,一为去除背景噪声影响,另外方便后续的与标准图像进行匹配;
由C,对B中得到的纯钞票图像进行处理,选取其中面向,面额,朝向的关键特征点,并截取串号部分的图像,进行分类识别,提取钞票的基本信息,为后续的提取相关的防伪特征点进行真伪判定做准备;
由D,根据C中得到的钞票图像面向面额信息,根据已知的钞票关键防伪特征所处的位置,提取相应的防伪特征,并调出相应的标准钞票防伪特征数据进行匹配分析,给出钞票识别结果。
图1 系统总体流程图
以下将依次对其中几个主要部分作相应说明。
3 钞票图像几何校正程序设计说明
3.1 程序描述
本程序对CIS采集到的图像进行预处理及几何校正,为顺序处理模式。
3.2 功能
程序对CIS采集到的图像进行几何校正。从CIS采集得到的图像具有一些没有钞票图像的背景噪音,程序首先对图像进行单边边缘检测,得到钞票图像的倾斜角度,然后进行旋转校正,得到正确角度的钞票图像后再对图像的四个边缘都进行检测,去除无关的背景图像,并存入内存,为下一步的处理作准备。
3.3 性能
本程序为预处理部分,同时也关系到后续程序的处理结果的正确性。因而对精度和时间特性要求较高。
要求校正后的钞票图像倾斜角度小于0.1度,在DSP上运行时能在15ms内处理完成。
3.4 输入项
输入项为CIS采集得到的原始图像数据。按照CIS的特点采集的图像数据为全部像素数据(但包含背景图像数据),而无其他封装。
3.5 输出项
处理后应能得到倾斜角度<0.1度的纯钞票图像数据。
3.6 算法
几何校正的算法涉及到最小二乘法寻找直线,双极性图像几何校正。
3.7 流程逻辑
程序的运行过程为顺序执行。
3.8 接口
此部分的接口都在内部实现,主要为内存的读写。
3.9 存储分配
为了节省存储空间,此部分的存储分配为一个部分的内存。即原始图像存储区反复读写,校正后的图像数据会覆盖原始图像数据内存区。
3.10 注释设计
在本程序中安排的注释有:
- 加在模块首部的注释;
- 加在各分枝点处的注释;
- 对各变量的功能、范围、缺省条件等所加的注释;
- 对使用的逻辑所加的注释等等。
3.11 限制条件
由于首先需要获得CIS采集得到的图像数据,此程序的运行需硬件支持。
3.12 测试计划
对此部分程序的测试由于涉及到后续处理的正确性,所以应在算法设计时完成。对最终结果的要求就是得到倾斜角度<0.1度的纯钞票图像数据。
3.13 尚未解决的问题
此部分的问题都已基本解决。
4 基本信息识别部分程序设计说明
4.1 程序描述
程序要实现对得到的纯钞票图像数据进行特征提取得到钞票的面额,面向,币种,串号等钞票的基本信息。采用算法主体为神经网络。
4.2 功能
读取上个步骤得到的纯钞票图像数据,提取相应的区域特征信息,采用神经网络的算法判别其面额面向,币种,版本,串号等信息。
4.3 性能
只有钞票基本信息识别正确,最终的真伪识别结果才能正确得到。由于采用神经网络的算法,识别时需要的时间不多。
要求面额识别率100%,面向识别率99%,版本识别率99%,串号识别率100%。在DSP上运行时能在15ms内处理完成。
4.4 输入项
输入项是上个阶段获得的纯钞票图像数据。按照上个程序中存放图像的地址直接读取即可。
4.5 输出项
输出结果为钞票的币种,面额,面向,版本,串号等钞票基本信息。这些信息作为下个步骤的输入,采用全局变量的形式封装为一个数组。
4.6 算法
很多币种的不同面额钞票具有不同的大小,故面额识别可以通过尺寸判别法得到;
面向,版本,串号等信息由神经网络计算获得。
4.7 流程逻辑
用图表(例如流程流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。
4.8 接口
本部分对输入采用直接读取的方式,而把计算结果采用全局变量的模式封装,并供下部分程序调用。
4.9 存储分配
本段程序涉及到结构体的存储,不仅是计算过程中涉及到结构体,最终的网络权值也是以结构体形式存储,因此DSP中要开辟专门的内存存储这些数据,以提高访问效率。
4.10 注释设计
本段程序所作的注释包括:
- 加在模块首部的注释;
- 加在各分枝点处的注释;
- 对各变量的功能、范围、缺省条件等所加的注释;
- 对使用的逻辑所加的注释等等。
4.11 限制条件
只有正确地得到纯钞票图像数据才能对钞票面向等信息判断正确。并且神经网络需要经过训练得到网络权值才可以进行识别。
4.12 测试计划
本段为主要的识别部分,因此在整体程序完成以后还需经过严格测试。
要在不同环境下对程序的识别率及实时性作一个完整评估。
4.13 尚未解决的问题
识别面向的结果尚不能令人满意。需要进一步地训练神经网络。
5 真伪识别程序设计说明
5.1 程序描述
程序要实现根据上面得到的结果,对照相应的标准钞票图像进行分析比对,计算得到钞票数据的真伪。采用算法主体为支撑向量机。
5.2 功能
该程序的主要功能就是对根据输入的图像及信号,采用基于结构风险缩小化的理论设计的SVM体系判别钞票的真伪。
5.3 性能
钞票真伪的判别有“拒真率”和“拒伪率”2个指标,在提高拒伪率的情况下,必然导致拒真率的上升,因而总体性能上要在这两者之间平衡,以达到一个适合的识别效果。识别率应能达到识别所有现有假钞,拒伪率99%以上,拒真率1%以下。
5.4 输入项
此处的输入项包括钞票的图像信息,以及传感器采集的红外,紫外,磁性等特征信息。以及标准钞票图像和特征参数。
5.5 输出项
这个部分的输出结果包括了输出给上位机的结果信息。
5.6 算法
采用算法为支撑向量机。
5.7 流程逻辑
用图表(例如流程流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。
5.8 接口
此部分的接口不仅对上面得到的结果进行提取相应的标准图像数据,还要获得其他部分传感器获取的紫外,红外,磁性等特征信息。
5.9 存储分配
这个部分的程序涉及到较特殊的存储形式是支撑向量模型。类似于上部分中的网络权值存储,也需要开辟专有连续内存以提高访问效率。
5.10 注释设计
本程序中包括的注释有:
- 加在模块首部的注释;
- 加在各分枝点处的注释;
- 对各变量的功能、范围、缺省条件等所加的注释;
- 对使用的逻辑所加的注释等等。
5.11 限制条件
此部分程序要在上述2个部分程序都得到正确的结果的条件下才能正确运行并得到正确结果。支撑向量机也需要训练得到支撑向量模型才能进行识别。
5.12 测试计划
由于系统需要保持高度的可靠性,这个部分要保证严格的测试,在各种不同条件下对各种可能的数据进行严格完整的测试。
5.13 尚未解决的问题
本程序尚未获得其他传感器的采集的特征信息,对程序的测试也没有严格完整的进行。
6.1 怡嘉金融分析软件&IBM Cognos BI
Cognos 提供的正是这样一种技术,它将所有的数据分析和展现功能汇集在一起,并通过计划、场景建模、实时监控、预测性分析等不同技术衔接在一起,并采用协作、工作流等技术扩展业务分析与业务活动和决策的联系程度,从而大大扩充了商业智能的能力和使用范围,使您深入了解企业内外的各种信息,并给予信息获得及时正确的业务洞察力,及时制定决策和做出战略或计划的调整并付诸行动。
IBM Cognos BI 为商业智能与分析提供了一个完整的工作平台,使得整个组织可以面对业务上的关键问题,并超越对手。IBM Cognos BI可以:
- 更美观、更流畅的展现效果
- 更容易的浏览、收集并定制化数据信息
- 多角度浏览所有形式的信息,评估当前的业务情况。
- 通过简单的数据浏览,预测和what-if分析来分析业务数据,指定企业决策。
- 通过协作建立决策网络,体现群体的智慧。
- 在企业内提供透明力度与问责制,群策群力。
- 沟通并协调任务使得正确的人在正确的时间地点工作
- 支持移动设备与实时分析,随时随地获得信息并采取行动
- 将日常分析整合到业务流程中
6.2 关键业务问题
全球日益增长的复杂性和不确定性要求企业和政府提高自身了解和预测变化的能力。很多企业都在寻求能够提供帮助的技术,如高级分析和预测分析。
员工也必须迎接挑战。很多员工都在做着相应调整-承担更多职责、提高效率并实现事半功倍。
成功的真正驱动力来自于: 各种不同用户都能获得信息并实现洞察; 能够访问可靠的、完整一致的信息的用户越多,分析就越具价值。
在所有企业中,执行能力强的员工都需要执行多项任务并寻找答案; 他们都渴望得到相应的信息。由于他们有着不同的经验、在企业中扮演着不同的角色、承担着不同的职责,因此他们需要以对自己有意义的方式自由灵活地探索和查看相关信息。
这意味着他们需要轻松地获取所需信息,而不依赖IT或分析人员来执行查询、为自己作报表或进行思考。
业务用户需要用户界面简单,能够使他们参与并解答自己的问题。在拓宽思维时,他们不必切换工具或者学习新的应用程序。他们需要一款能够与其思维方式保持一致的软件。
IBM Cognos BI 可以提供人人都能用来回答关键业务问题的分析功能,从而满足这些需求。统一的决策工作空间允许用户:
- 方便地查看、整合、个性化信息,以延续自己的思路并形成独特的观点。
- 从各个角度探索各类信息,以评估当前业务情况。
- 通过执行更多高级、预测或假设分析来分析事实并预测战术战略意义。
集体智慧
企业需要以更加敏捷的方式来制定决策,以应对市场机遇和挑战。在工作场所中,整体大于各部分的总和。智慧的企业会从各个部门或独立结构中抽取创造性元素,并将它们整合到主要流程中。这样,每个人都能了解并影响更大成就的实现。
在协作环境中,人们都会主动相互学习并与他人合作,以消除沟通障碍以增进企业为将来做好准备的能力。
换句话说,集体智慧为明智、一致的业务提供保障,从而改善效率和成效,以快速应对内外变化。协作可以结束从洞察到行动的循环,并使人们能够一起工作、达成共识、决策和行动。
IBM Cognos BI 可以提供协作智能以共享洞察并保持一致,从而满足这些需求。协作和工作流程允许企业:
- 建立决策网络以共享洞察并帮助发挥集体智慧。
- 实现透明化和可记帐性,以促进一致并达成共识。
- 针对任务进行沟通和协调,以在恰当的时间让相关人员参与进来。
随处可见的可行性洞察力
企业需要使各地的用户都能制定决策并迅速采取相应措施。如果能将数据转化为智能,再转化为行动,就能实现相应的业务成果。如果能在合适的时间向合适的人员提供合适的信息,就能加强洞察力和前线执行之间的关联性。
全面了解情况的员工可以确保企业能够快速响应不断变化的情况。利用可行性分析,您和您的员工就能从“感知和响应”转变为“预测和行动”。
IBM Cognos BI 可以实现可行智能以使洞察发挥影响力,从而满足这些需求。可行性分析允许企业:
- 使主管和前线员工能够以移动方式执行交互式分析。
- 利用实时分析应对决策周期压缩方面的挑战。
- 将分析整合到日常工作和工作流程中以向业务流程提供信息
7 方案架构
除新增功能外,C10基本的功能沿用C8的技术和平台.
企业级面向服务(SOA)平台的架构:
IBM Cognos BI产品在企业级平台中提供广泛的BI特性,所有特性(包括视图浏览、创建和管理仪表盘、报表、数据分析、业务评分(Scorecards)、事件管理)都将通过一个统一的Web平台来完成.
IBM Cognos系统的管理功能构建于在统一的,基于Web的管理平台之上,方面客户更好的衡量系统指标、活动以及系统的边界。客户可以在业务影响发生之前处理潜在的问题。这样基于Web的SOA架构使系统具有更好的拓展性,易用性和开放性. 架构主要分为三个层次:
- Web层
- 应用程序层
- 数据层
这些业务功能所属层次可以都将通过网络防火墙来相互通信。
可靠性和拓展性是IBM Cognos BI平台设计过程中考虑的主要要素. 在应用程序层中,所有服务将以点对点的方式通信,所有服务处于平等的地位并通过接口实现了松散的交互。同类服务能够跨平台跨机器处理同样格式的请求,增强了系统的容错性。同时,请求将以优选的方在服务之间转发(路由),实现了系统的负载均衡.
IBM Cognos BI平台的查询服务(query service)提供所有数据源的高性能连接,包括关系型数据库、联机分析处理(OLAP)等。此外,查询服务还能根据不同数据源的特点,通过查询标准的组合,提供适用于该数据源的优秀查询性能。当然,所有服务都将通过Web层以友好的方式来统一访问。
运用了操作系统AIX 6.1IBM Systems: Power,IBM Information Management、Cognos、 Cognos Business Intelligence Analysis、 Information Management、DB2 Connect Enterprise Edition。