智能图像识别产品开发流程 OCR 图像识别
文章目录
- 如何快捷高效地开发智能图像识别产品
- 明确识别任务
- 确定工程技术路线
- 毫无疑问技术线是智能图像识别产品的开发重点。
- 工程线:重要的是规划
- 数据准备
- 模型训练
- 测试评估
- 模型发布
- 总结
如何快捷高效地开发智能图像识别产品
本文将结合笔者多次智能图像识别产品、OCR识别项目开发经历,从工程技术角度对这一流程进行总结和介绍
明确识别任务
在项目开发之前,要明确产品需求,即识别任务到底是什么。
例如在做身份证信息识别之前,需要沟通如下内容:
- 识别应用的场景如何,用户通过API调用我们的云端识别服务程序,还是识别程序直接在移动端直接部署
- 用户上传的身份证图像是规范矫正过的,还是随意角度放置的
- 用户需要识别哪些关键字段,身份证反面需不需要识别
确定工程技术路线
在了解大概的识别任务后,可以着手进行工程技术路线调研和设计了。
开发分两条线,工程一条线,技术一条线。
技术线先行,在确定了技术可行,原型通过验证后,可快速启动工程线。
毫无疑问技术线是智能图像识别产品的开发重点。
例如在身份证识别项目中,我结合使用场景设计了目标检测,校正,文本检测,文本识别和信息抽取等几个步骤。
对于每块内容需要进行技术调研和评估:
- 目标检测的方法如YOLO、Faster RCNN、SSD等有哪些有缺点 校正。
- 如何进行透视变换,求解变换矩阵。
- 如何进行文本检测,CTPN有哪些限制。
- 文本识别需要多少样本,样本如何获取。
- 信息如何抽取,需不需要NLP支持。
工程线:重要的是规划
工程线需要设计前后端架构,明确开发要点。
本文着重从技术实现方向介绍智能图像识别产品的开发流程
数据准备
数据准备包含以下步骤内容:
- 原始数据收集
由于原始数据内容可能涉及隐私,比如身份证,银行卡图像,
在不触犯法律情况下可通过内部资源贡献,或者通过网络途径获取。- 数据标签化
对获取的原始图集进行打标签,可交由外包专业团队。
这部分需要设计标签的格式以及储存方式。建议采用 labelme 进行标注
例如可以使用create polygons 创建文本检测和识别标签,使用create points 创建关键点标签
- 增强数据
由于原始数据集规模有限,需要通过透视变换,模糊,抖动,背景融合进行图像增强,提升训练效果。- 数据生成(部分情况可用)
对于印刷文字识别等,可通过工具机器生成出以假乱真的字符文本图像集。一个比较好用的 工具 。
模型训练
从数据集中分割出训练,测试用数据,使用训练数据集进行模型测试。
对于某个产品的开发过程,可能需要训练多个模型来满足功能需求。
例如在身份证识别应用中,我们需要训练一下模型:
- 目标定位模型,实现身份证目标的位置大小坐标检测。
- 关键点检测模型,实现身份证关键点的坐标检测,求解透视变换矩阵,校正图像。
- 文本检测模型,实现文本区域的定位。
- 文本识别模型,实现文本区域内字符序列的预测。
各个模型需要根据具体场景选择合适的开发算法。
模型训练可能持续一天甚至一周,需要不时观察模型训练输出,根据loss变化调整训练姿势。
测试评估
这里的测试评估不仅关注单模型的表现效果,同时对模型集成后的表现效果进行测试
对建立的测试集进行测试,评估单模型精度和集成后整体精度。
模型发布
在测试集上表现出色的可以进行模型发布。
一般需要freeze graph,将模型文件和权重文件整合合并为一个文件,便于发布。
一些应用场景,还需要对模型进行压缩,向目标设备进行适配。
多模型发布需要根据技术路线和方案进行集成,以实现完整的产品能力。
可通过建立开放平台对外提供识别服务,对外输出AI能力。
总结
好啦, 如何快捷高效地开发智能图像识别产品,你学会了吗??
欢迎同学们访问如下链接,测试评估交流!!
Email:1161242024@qq.com
身份证信息识别服务
银行卡信息识别服务
通用卡证信息高精度识别流程
智能图像识别产品开发流程
如何设计一个开放平台
智能图像识别产品开发流程 OCR 图像识别相关推荐
- 华为ipd产品开发流程_华为集成产品开发(IPD)流程的解读
基础产品开发管理体系是IPD最为重要的使能器.管理体系是框架和决策规则,它不随着任何个人和流程的变化而变化.在这里,整体要大于各部分总和.当跨部门团队作为一个集成管理.决策团队时,个人和组织的作用有非 ...
- 【转】嵌入式产品开发流程
嵌入式产品,与普通电子产品一样,开发过程都需要遵循一些基本的流程,都是一个从需求分析到总体设计,详细设计到最后产品完成的过程.但是,与普通电子产品相比,嵌入式产品的开发流程又有其特殊之处.它包含嵌入 ...
- 华为ipd产品开发流程_亲历华为IPD变革是怎样一种体验|附完整版培训教材
华为作为国内率先推行IPD并取得巨大成功的企业,一直以来都被业界所推崇.许多公司也效仿华为实施了IPD体系变革,以期推动企业的快速发展.华为是怎么推行IPD的?在华为亲身经历IPD变革是怎样一种体验? ...
- 中小企业团队敏捷产品开发流程最佳实践
近期因为疫情的影响,不少互联网公司开始尝试远程工作.也出不了少如何做好远程工作的方法,我认为不管是场地办公还是远程办公都依赖于原来的产品开发流程. 我曾经遵循CMMI5的流程管理过15人左右的跨国/语 ...
- 怎样建立产品体系?(六)- 主流产品开发流程
随着产品开发往前推进累积成本大幅增加,产品开发者面对的挑战是,如何确保随着成本增加,产品失败(不确定风险)的风险降低. 产品开发是一个风险与回报的过程,基于一系列来源不一的输入作出正确的决策,产品成功 ...
- 一文读懂电子工程师的产品开发流程
微信链接 https://mp.weixin.qq.com/s/VVc3DiIozVKRQprlzMtVxg 申明 首先这篇文章是一篇硬核!! 基本无插图,但是融合了笔者工作至今的所有关于电子产品开发 ...
- 实战:移动APP项目产品开发流程详解
问题补充:移动端APP产品的开发流程是如何的?开发移动端APP,从产品需求规划到最终上线发版,都有哪些必要流程,其中需要重点注意的事情有哪些,可以基于你当前的工作情况酌情回答. 黄沐秋Moon NBP ...
- 华为ipd产品开发流程_IPD(集成产品开发)成败取决于什么?
谈到IPD,就会和IBM.华为建立联系,华为的高速发展IPD可谓功不可没,但是其他企业引入IPD后又如何呢?恐怕不尽如人意者居多,IPD为何失败?这个问题很有研究价值,搞了这么长时间的IPD,应该找到 ...
- 从需求到设计,嵌入式产品开发流程
嵌入式产品,与普通电子产品一样,开发过程都需要遵循一些基本的流程,都是一个从需求分析到总体设计,详细设计到最后产品完成的过程.但是,与普通电子产品相比,嵌入式产品的开发流程又有其特殊之处.它包含嵌入式 ...
最新文章
- IPython和Jupyter关系及区别
- java中map使用非系统类作为key
- python if判断字符串_python之条件判断、循环和字符串格式化
- CSDN产品公告:APP新增大厂在线刷题功能、博主排名规则更新、MD编辑器优化
- mysql 剔除不可见字符_不可见字符,Excel里最隐蔽的坑
- CSV大文件的处理(以ngsim数据为例):分割、导入与合并
- 做了一个画f(x,y)=0函数图像的算法,果断codeplex之
- UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xbd in position 198: illegal multibyte sequence
- codevs 1145 Hanoi双塔问题 2007年NOIP全国联赛普及组
- ETL第一篇(Kettle Spoon) 初遇
- Linux 虚拟机配置静态IP地址
- git init报错Reinitialized existing Git repository
- C++中二维数组的动态创建于处理(zzl
- 2016计算机论文参考文献,2016大学毕业设计计算机软件论文摘要和结论参考文献俱全.doc...
- IOT专用IOP平台
- BZOJ1202 狡猾的商人 (Floyd)
- 西瓜书学习笔记(一、绪论)
- 10款Github上最火爆的国产开源项目
- 微信支持群消息置顶;博通洽购虚拟机巨头VMware;
- jq过渡收缩动画用js实现