项目 内容
2020春季计算机学院软件工程(罗杰 任健) 博客园班级博客
作业要求 团队项目选择
我们在这个课程的目标是 在团队合作中提升软件开发水平
这个作业在哪个具体方面帮助我们实现目标 进行项目调研、完成需求和技术分析

项目选择

需求:基于微软开源的OCR表单标注工具等开源模块,开发一个表单数据的识别和收集工具,对信息采集表、调查问卷表等各类表格式数据能够自动识别成可编辑的表格数据,并能将多页同类表格收集汇总为一个大表。

必备条件:熟悉机器学习,Android应用开发,较强的团队协作能力

需求分析

核心需求总结

  1. 基础功能:拍照扫描数字化图表内容
  2. 扩展功能:多个数字化图表合并储存
  3. 云端功能:手机或者web采集的数据在其他设备上迁移

NABCD 分析

  • Need: 目前的OCR工具主要在通用文字识别方面功能比较完善,对具有逻辑性的表格识别需求应用空白。

    • 大量的办公用表格需要电子化,而纸质填写的原件很多
    • 大量表格是来自于统一模板,批量处理的需求很大
  • Approach: 途径,利用react-native框架实现本软件的第一初步版本
    • 优化:根据用户反馈和组内测试,优化产品的体验和用户交互逻辑
    • 完善:针对一些特定的表格处理场景,做专门的优化
  • Benifit: 本项目能够改善办公人群、学生人群、教师人群对表格下发、填写、处理、收集的体验
    • 批量处理纸质原件,解决收集数字化数据的困难
    • 原件和数字化数据统一管理,方便回溯原件,核实表格细节
    • 表格归纳合并、解决传统表格填写需要传递的难点
  • Competitors: 我们的分析团队对竞品现有的市场份额和竞品特点做了一些分析
    • 腾讯OCR:五个大类,47个小类。大类包括:通用文字识别、卡证文字识别、票据单据识别、汽车相关识别、行业相关文档识别。在行业文档识别中,又分为表格识别,算式识别,数学公式识别,数学试题识别和保险单据识别。
    • 阿里云OCR:产品的场景大类包括文档识别、卡证识别和KV结构模板
    • 百度云OCR:分为网络图片文字识别、表格文字识别、数字识别、二维码识别、印章检测五个大类。对于表格文字识别,其介绍如下:支持识别具备完整框线的常规表格和含合并单元格的复杂表格,并可选择以JSON或Excel形式返回识别结果。对于无表格线版:支持识别无表格框线,但行、列位置明确的表格,并以JSON形式同步返回识别结果。
  • Delivery:
    • 学生群体:在可以在教学群中通过使用班级博客的教师、学生推广、微信推广
    • github:在github上的release中交付,并推广到各个社交网络
    • 应用商店:安卓各个应用商店,过审并交付

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 允许用户修改,记录和删除标签

微软开源OCR调研情况

核心功能定义:识别表单并进行标注

核心功能具体使用链

  1. 前提:所有训练文档格式相同。
  2. 标注训练集的表单并训练:通过API获得文档文本布局[识别表单元素]->标注表单元素->指定标注类型与格式->训练(train)
  3. 预测:上传非训练集的表单文档->预测(为表单生成标注)。
  4. 格式支持支持pdf、图片、TIFF等文件
  5. 额外功能-更多的是用户体验的角度:
    • 保存项目与重启项目。
    • 键盘快捷键的使用-支持方便快捷的标注操作。

源代码角度获得的信息

我认为比较核心的上层文件:

上层文件名 基本功能
applicationState.ts 定义了基本应用程序状态:设置、标签项目结构、存储类型、assets信息等等
assetService.ts 处理项目assets的一些方法
connectionServece.ts 连接服务
ocrService.ts 处理OCR
projectService.ts 处理用户创建的整个项目

发布预测

我们现在可能的发布形式是web引用,或者是安卓app。

α版本:预计发布以后一周内的OCR的使用次数达到500,注册的用户量达到100。

β版本:预计发布以后一周内的OCR的使用次数达到1000,注册的用户量达到200。

γ版本:预计发布以后一周内的OCR的使用次数达到2000,注册的用户量达到400。

分析与设计

目前的软件架构分析:

目前的用户交互设计

竞品分析

目前OCR软件的市场份额初步分析

APP Apple iOS store Google Play Store 华为应用市场 vivo应用市场
Text Scanner[OCR] 3.2k 87.7k
Microsoft Office Lens 2.9k 461.0k
Adobe Scan 296.4k 480.9k
FineScanner AI 3.2k
Scanner Pro 128.9k
OCR扫描王 500k 380k
扫描全能王 24,350k
文字识别OCR 370k 120k
扫描王OCR 60k
得力OCR文字识别 110k
回识OCR文字识别 120k

初步分工

成员 需求技术调研阶段 alpha产品阶段
彭毛小民 PM、协调总结各个人员汇总的技术细节、总结报告 PM、对团队成员工作进行可视化管理、协同各个成员共同工作、加入框架开发
伦泽标 框架技术调研负责 引领团队框架技术开发,和OCR底层项目组对接
叶开辉 竞品项目和现有工具调研 react框架相关成员
黎正宇 项目需求分析负责 开发设计待定
马延 项目需求分析成员,项目交互设计负责 云端数据库存储待定
肖思炀 微软OCR工具调研负责 引领OCR底层项目组,OCR底层项目与前端框架对接
赵涛 微软OCR工具调研成员 OCR底层开发相关成员

[no_code团队]项目介绍 & 需求分析 & 发布预测的更多相关文章

  1. [敏捷软工团队博客]项目介绍 & 需求分析 & 发布预测

    项目 内容 2020春季计算机学院软件工程(罗杰 任健) 博客园班级博客 作业要求 团队项目选择 我们在这个课程的目标是 在团队合作中锻炼自己 这个作业在哪个具体方面帮助我们实现目标 了解项目整体情况 ...

  2. HNU_团队项目_需求分析感想(全员)

    以下为软件1701-“洋芋好想飞”的需求分析感想 PM QXS 需求分析过程中的前进与曲折令我深刻地认识到,需求分析是一个动态的过程,而非一个静态的任务结点. 比如最初我们设想可以为用户设定角色,但最 ...

  3. 团队项目——软件需求分析(NABCD)

    一.团队项目简介 团队名称:SmartCoder 项目名称:<一起> 二.针对 " 地图可视化查看发布的内容 " 这一特点进行 NABCD 分析 N(Need需求) 往 ...

  4. 团队作业——团队项目Alpha版本发布

    该作业所属课程 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2 作业要求链接    https://edu.cnblogs. ...

  5. 团队项目-Alpha版本发布1

    此次作业的目的是让同学们在这个星期内完成团队项目α版本的第一次测试和发布,为发布下一次的 α版本做一个准备和前期检验. 1.作业要求: 提交一份α版本冲刺博客 2.博客要求: (1)请大家在作业开头添 ...

  6. 团队项目-Alpha版本发布2

    这个作业属于哪个课程 课程的链接 这个作业的要求在哪里 作业要求的链接 团队名称 西柚三剑客 这个作业的目标 -Alpha2版本发布说明,给出测试报告,并进行总结 1. 团队成员的学号列表 团队成员 ...

  7. 团队项目-Alpha2版本发布

    第五次团队作业 序言 所属课程 https://edu.cnblogs.com/campus/xnsy/2019autumnsystemanalysisanddesign 作业要求 https://w ...

  8. 团队项目-Beta版本发布

    这个作业属于哪个课程 课程链接 这个作业要求在哪里 作业要求链接 团队名称 众志陈成 这个作业的目标 通过团队协作了解软件开发的大致流程,并在这个过程中体会调整与优化程序的方法,为以后真实的软件开发奠 ...

  9. "名字好难想队“团队项目

    团队展示 1.队名:名字好难想队 2.队员介绍 姓名 学号 岗位 黎扬乐(组长) 3116004689 程序,测试 李世潇 3116004690 策划,美术,动画 梁耀 3116004691 项目管理 ...

随机推荐

  1. Identity用户管理入门一(框架搭建)

    理论知识微软官方文档最完整,最详细,这里只一步步的介绍如何使用,地址:https://docs.microsoft.com/zh-cn/aspnet/core/security/authenticat ...

  2. 云真机兼容性自动化工具测试解决方案_www.alltesting.cn

    问题和背景 不同类型的品牌和硬件环境.不同版本的android操作系统.IO操作系统,以及不同的分辨率,造成相同的APP在不同的设备可能存在缺陷. 兼容性测试,就是让APP.小程序.H5程序,在所有的 ...

  3. js 签字插件

    1.jq-signature  http://bencentra.github.io/jq-signature/    支持的jquery版本低 2.HTML5 canvas   http://www ...

  4. Jmeter系列(15)- 常用断言之大小断言

    大小断言 大小断言验证响应数据size大小,它的作用范围有主Sample与子Sample:适用场景,判断附件下载的大小,比如项目安装包 完整响应:全部响应信息 响应头:响应头信息,比如http协议的头 ...

  5. 执行sudo apt-get update,连接失败

    问题:sudo apt-get update连接失败 错误:1 http://cn.mirrors.ustc.edu.cn/ubuntu bionic InRelease 连接失败 [IP: 218. ...

  6. springboot pom.xml

    Demo project for Spring Boot <?xml version="1.0" encoding="UTF-8"?> <pr ...

  7. sqlalchemy ————关联表

    1.创建模型的时候做外键关联 class UI_ID(db.Model): __tablename__ = 'ui_id' id = db.Column(INTEGER(11), primary_ke ...

  8. centos7 .net core 使用supervisor守护进程后台运行

    安装supervisor yum install supervisor 配置supervisor vi /etc/supervisord.conf 拉到最后,这里的意思是 /etc/superviso ...

  9. netty系列之:使用netty搭建websocket服务器

    目录 简介 netty中的websocket websocket的版本 FrameDecoder和FrameEncoder WebSocketServerHandshaker WebSocketFra ...

  10. 「含源码」关于NXP IMX8 Mini的图形开发指南(GPU)案例分享!

    前言 Graphical Demo框架提供了对平台相关依赖的抽象.Graphical应用的通用封装,如模型加载.纹理加载.着色器编译等,以及其它一些通用的应用逻辑处理的封装,使得使用框架的开发人员(以 ...