项目 | 内容 |
---|---|
2020春季计算机学院软件工程(罗杰 任健) | 博客园班级博客 |
作业要求 | 团队项目选择 |
我们在这个课程的目标是 | 在团队合作中提升软件开发水平 |
这个作业在哪个具体方面帮助我们实现目标 | 进行项目调研、完成需求和技术分析 |
项目选择
需求:基于微软开源的OCR表单标注工具等开源模块,开发一个表单数据的识别和收集工具,对信息采集表、调查问卷表等各类表格式数据能够自动识别成可编辑的表格数据,并能将多页同类表格收集汇总为一个大表。
必备条件:熟悉机器学习,Android应用开发,较强的团队协作能力
需求分析
OCR的核心实体与核心需求
what is OCR
OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;即,针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。如何除错或利用辅助信息提高识别正确率,是OCR最重要的课题,ICR(Intelligent Character Recognition)的名词也因此而产生。衡量一个OCR系统性能好坏的主要指标有:拒识率、误识率、识别速度、用户界面的友好性,产品的稳定性,易用性及可行性等。
常见的软件结构
前期处理(图像处理)
- 图像输入与预处理
- 二值化
- 去噪
- 倾斜校正
中期处理(文本处理与排版)
- 版面分析
- 字符切割
- 字符识别
- 版面恢复
后期处理
- 后处理与校对
- 输出
核心实体
在后端需要完成从图片中抓取文字,完成文字的分割与识别
核心需求
高准确率的文字识别
版面识别与复原
Microsoft OCR from labeling tools
在传统的OCR基础上,还增加了label功能。
在train model时,用户给出自己的待识别文本,允许用户对文本进行标签,之后经过训练。
在对于其他的文本,则能通过模型对于文本抓取类似的label信息。
本应用需要用户提供大量已经标注过的表单数据,作为训练数据训练模型,最后用训练好的模型预测一张同类型的新表格,在新表上预测标注,并给出每处标注的置信度
输入:用户手动标注的表单,可以标注的表单格式PDF, JPEG,TIFF
训练:用Form Recognizer模块训练模型
输出:预测新表格的key/value特征
标注过程
识别表单的文本区域,并通过高亮给出文本框边界
用户新建标签类型
用户点击想要标注的文本区域,再点击对应的标签,完成标注
用户界面组成
preview pane 包含源地址中的表单列表
main editor pane 展示表单,用户使用标签标注表单文本的区域
tags editor pane 允许用户修改,记录和删除标签
发布预测
我们现在可能的发布形式是web引用,或者是安卓app。
α版本:预计发布以后一周内的OCR的使用次数达到500,注册的用户量达到100。
β版本:预计发布以后一周内的OCR的使用次数达到1000,注册的用户量达到200。
γ版本:预计发布以后一周内的OCR的使用次数达到2000,注册的用户量达到400。
分析与设计
目前的软件架构分析:
目前的用户交互设计
来源:https://www.cnblogs.com/no-code-2020/p/12618848.html