[no_code团队]项目介绍 & 需求分析 & 发布预测
项目 | 内容 |
---|---|
2020春季计算机学院软件工程(罗杰 任健) | 博客园班级博客 |
作业要求 | 团队项目选择 |
我们在这个课程的目标是 | 在团队合作中提升软件开发水平 |
这个作业在哪个具体方面帮助我们实现目标 | 进行项目调研、完成需求和技术分析 |
项目选择
需求:基于微软开源的OCR表单标注工具等开源模块,开发一个表单数据的识别和收集工具,对信息采集表、调查问卷表等各类表格式数据能够自动识别成可编辑的表格数据,并能将多页同类表格收集汇总为一个大表。
必备条件:熟悉机器学习,Android应用开发,较强的团队协作能力
需求分析
核心需求总结
- 基础功能:拍照扫描数字化图表内容
- 扩展功能:多个数字化图表合并储存
- 云端功能:手机或者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调研情况
核心功能定义:识别表单并进行标注
核心功能具体使用链
- 前提:所有训练文档格式相同。
- 标注训练集的表单并训练:通过API获得文档文本布局[识别表单元素]->标注表单元素->指定标注类型与格式->训练(train)
- 预测:上传非训练集的表单文档->预测(为表单生成标注)。
- 格式支持支持pdf、图片、TIFF等文件
- 额外功能-更多的是用户体验的角度:
- 保存项目与重启项目。
- 键盘快捷键的使用-支持方便快捷的标注操作。
源代码角度获得的信息
我认为比较核心的上层文件:
上层文件名 | 基本功能 |
---|---|
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团队]项目介绍 & 需求分析 & 发布预测的更多相关文章
- [敏捷软工团队博客]项目介绍 & 需求分析 & 发布预测
项目 内容 2020春季计算机学院软件工程(罗杰 任健) 博客园班级博客 作业要求 团队项目选择 我们在这个课程的目标是 在团队合作中锻炼自己 这个作业在哪个具体方面帮助我们实现目标 了解项目整体情况 ...
- HNU_团队项目_需求分析感想(全员)
以下为软件1701-“洋芋好想飞”的需求分析感想 PM QXS 需求分析过程中的前进与曲折令我深刻地认识到,需求分析是一个动态的过程,而非一个静态的任务结点. 比如最初我们设想可以为用户设定角色,但最 ...
- 团队项目——软件需求分析(NABCD)
一.团队项目简介 团队名称:SmartCoder 项目名称:<一起> 二.针对 " 地图可视化查看发布的内容 " 这一特点进行 NABCD 分析 N(Need需求) 往 ...
- 团队作业——团队项目Alpha版本发布
该作业所属课程 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2 作业要求链接 https://edu.cnblogs. ...
- 团队项目-Alpha版本发布1
此次作业的目的是让同学们在这个星期内完成团队项目α版本的第一次测试和发布,为发布下一次的 α版本做一个准备和前期检验. 1.作业要求: 提交一份α版本冲刺博客 2.博客要求: (1)请大家在作业开头添 ...
- 团队项目-Alpha版本发布2
这个作业属于哪个课程 课程的链接 这个作业的要求在哪里 作业要求的链接 团队名称 西柚三剑客 这个作业的目标 -Alpha2版本发布说明,给出测试报告,并进行总结 1. 团队成员的学号列表 团队成员 ...
- 团队项目-Alpha2版本发布
第五次团队作业 序言 所属课程 https://edu.cnblogs.com/campus/xnsy/2019autumnsystemanalysisanddesign 作业要求 https://w ...
- 团队项目-Beta版本发布
这个作业属于哪个课程 课程链接 这个作业要求在哪里 作业要求链接 团队名称 众志陈成 这个作业的目标 通过团队协作了解软件开发的大致流程,并在这个过程中体会调整与优化程序的方法,为以后真实的软件开发奠 ...
- "名字好难想队“团队项目
团队展示 1.队名:名字好难想队 2.队员介绍 姓名 学号 岗位 黎扬乐(组长) 3116004689 程序,测试 李世潇 3116004690 策划,美术,动画 梁耀 3116004691 项目管理 ...
随机推荐
- Identity用户管理入门一(框架搭建)
理论知识微软官方文档最完整,最详细,这里只一步步的介绍如何使用,地址:https://docs.microsoft.com/zh-cn/aspnet/core/security/authenticat ...
- 云真机兼容性自动化工具测试解决方案_www.alltesting.cn
问题和背景 不同类型的品牌和硬件环境.不同版本的android操作系统.IO操作系统,以及不同的分辨率,造成相同的APP在不同的设备可能存在缺陷. 兼容性测试,就是让APP.小程序.H5程序,在所有的 ...
- js 签字插件
1.jq-signature http://bencentra.github.io/jq-signature/ 支持的jquery版本低 2.HTML5 canvas http://www ...
- Jmeter系列(15)- 常用断言之大小断言
大小断言 大小断言验证响应数据size大小,它的作用范围有主Sample与子Sample:适用场景,判断附件下载的大小,比如项目安装包 完整响应:全部响应信息 响应头:响应头信息,比如http协议的头 ...
- 执行sudo apt-get update,连接失败
问题:sudo apt-get update连接失败 错误:1 http://cn.mirrors.ustc.edu.cn/ubuntu bionic InRelease 连接失败 [IP: 218. ...
- springboot pom.xml
Demo project for Spring Boot <?xml version="1.0" encoding="UTF-8"?> <pr ...
- sqlalchemy ————关联表
1.创建模型的时候做外键关联 class UI_ID(db.Model): __tablename__ = 'ui_id' id = db.Column(INTEGER(11), primary_ke ...
- centos7 .net core 使用supervisor守护进程后台运行
安装supervisor yum install supervisor 配置supervisor vi /etc/supervisord.conf 拉到最后,这里的意思是 /etc/superviso ...
- netty系列之:使用netty搭建websocket服务器
目录 简介 netty中的websocket websocket的版本 FrameDecoder和FrameEncoder WebSocketServerHandshaker WebSocketFra ...
- 「含源码」关于NXP IMX8 Mini的图形开发指南(GPU)案例分享!
前言 Graphical Demo框架提供了对平台相关依赖的抽象.Graphical应用的通用封装,如模型加载.纹理加载.着色器编译等,以及其它一些通用的应用逻辑处理的封装,使得使用框架的开发人员(以 ...