淡谈自然场景下小样本OCR文字识别

1. 环境准备

实验中使用了centos7.6,intel core i4710,gtx980M(老机器重装)
安装的时候要注意,linux内核版本和实际版本要一致,不然会报错

Linux下Nvidia驱动的安装参见(kernel版本不一致先升级内核):
https://blog.csdn.net/qq_44961869/article/details/115954258

cuda切换参见:
https://www.cnblogs.com/jyroy/p/14378146.html

其他
linux安装宝塔一键安装命令如下:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

内网穿透推荐:
https://frp.fujuage.com/

2.anaconda

linux安装anaconda教程参见:
https://blog.csdn.net/ychgyyn/article/details/82258136

conda更换源(推荐中科大源–清华源是个坑)参见:
https://ask.hellobi.com/blog/safa/36820

conda删除源方法
conda config --remove-key channels

3.pytorch版本

不同的版本要有不同的pytorch版本要对应不同的cuda版本,参见官网:
https://pytorch.org/get-started/previous-versions/

4.OCR文字识别现有成熟架构

图像预处理->目标检测->ctcloss->softmax分类器
完整参见项目:https://blog.csdn.net/qq_24819773/article/details/104605994?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_title~default-0.no_search_link&spm=1001.2101.3001.4242

5.小样本OCR文字处理的困境

由于小样本需要不断对神经网络得到的特征向量做torcat函数(简单的讲特征向量做差),然后再放入网络之中所以无法直接使用ctcloss做文字的识别所以打算采用的架构如下:
图像预处理->目标检测(文字块)->文字块切割->小样本分类网络

6.图像预处理

1.图像去雾算法
参见:https://github.com/xiaominghero/ImageDehazing

2.图片文字褶皱恢复
参见:https://github.com/tommyMessi/waveCorrection

3.图片大小变换
参见:https://www.cnblogs.com/zhuxiangru/p/10620814.html

4.图片旋转
参见:https://www.cnblogs.com/bob-jianfeng/p/11237806.html

5.图片去噪(四种滤波器)
参见:https://blog.csdn.net/qq_27261889/article/details/80822270

7.目标检测

这一块算法比较多,一般来讲会使用RCNN用来识别,这里推荐几个开源更好的顶级会议算法:
1.TextFuseNet
参见:https://github.com/ying09/TextFuseNet

2.ABCNet
参见:https://zhuanlan.zhihu.com/p/126255677

3.MaskTextSpotterV3
参见:https://github.com/MhLiao/MaskTextSpotterV3

得到目标之后对的到图片求最小外接矩阵并且拉直
参见:https://www.jianshu.com/p/90572b07e48f

8.文字切割

这一块比较难,由于现有成熟的架构下都用了ctcloss这一类函数来避免由于粘连而导致的种种问题,而传统的基于水平方向,垂直方向投影的自然场景下文字分割效果实在是太差,实验中推荐使用MSER+NMS 文本检测,由于MSER+NMS的最大问题是识别的杂信息过多,但是其文本还是能基本识别出的,通过神经网络对其文字块进行分割之后再利用其算法得到的效果还是蛮好的。
算法参见:https://blog.csdn.net/javastart/article/details/111587778

9.小样本学习算法

关于小样本学习的基本算法可以参见这篇综述:https://zhuanlan.zhihu.com/p/61215293

通过研究顶会发现近两年流行图学习:传统的小样本学习、机器学习算法,在网络之中仅仅学习了网络节点的信息而忽视了网络节点之间边和边之间的联系。

这里推荐两个算法:
1.成熟的小样本学习算法:关系网络算法(Few shot learning)
参见:
https://github.com/gitabcworld/FewShotLearning
https://github.com/floodsung/LearningToCompare_FSL
2.DPGN:图网络
参见:
https://github.com/megvii-research/DPGN

淡谈自然场景下小样本OCR文字识别相关推荐

  1. chinese-ocr自然场景下不定长文字识别(ctpn + densenet)

    chinese-ocr自然场景下不定长文字识别(ctpn + densenet) 注:本文中多处使用各位前辈的经验,项目代码不方便提供,可参考: https://github.com/YCG09/ch ...

  2. 互联网人工智能下的OCR文字识别

    悦保云OCR系列产品包括通用文字识别,文档识别,卡证识别,票据识别,资产类识别,汽车类识别,教育类识别,仪器仪表识别,自定义模板文字识别. 各产品包含的接口功能如下: 通用文字识别: 网络图片文字识别 ...

  3. linux系统下的ocr软件,Ubuntu下的ocr文字识别(pdf、tif等)

    平时使用扫描件或者pdf查看文档,但是在ipad上当文字比较小的时候不能有效放大,过着每次阅读需要移动屏幕,十分不方便,为此想将pdf或者图片中的文字截取出来,可以有效处理,当然需要ocr技术了,现在 ...

  4. 模式识别新研究:微软OCR两层优化提升自然场景下的文字识别精度

    模式识别新研究:微软OCR两层优化提升自然场景下的文字识别精度 发表于2015-03-30 23:46| 6209次阅读| 来源CSDN| 8 条评论| 作者霍强 模式识别微软亚洲研究院微软OCR文字 ...

  5. 微软OCR两层优化提升自然场景下的文字识别精度(模式识别新研究)

    摘要:OCR识别可分为两步:首先是文本检测,将文字从图片中提取出来:然后对文本进行识别.此次的突破主要是在文本检测环节的两个子阶段:先采用对比极值区域CER检测方法,再采用基于浅层神经网络的文字/非文 ...

  6. OCR文字识别笔记总结

    OCR的全称是Optical Character Recognition,光学字符识别技术.目前应用于各个领域方向,甚至这些应用就在我们的身边,比如身份证的识别,交通路牌的识别,车牌的自动识别等等.本 ...

  7. 自然场景的文本检测与识别发展综述

    摘要 本文介绍图像文本识别(OCR)领域的最新技术进展.首先介绍应用背景,包括面临的技术挑战.典型应用场景.系统实施框架等.接着介绍搭建图文识别模型过程中经常被引用到的多种特征提取基础网络.物体检测网 ...

  8. 自然场景下的文字检测:从多方向迈向任意形状

    点击我爱计算机视觉标星,更快获取CVML新技术 本文经作者授权转载自知乎旷视Detection组专栏: https://zhuanlan.zhihu.com/p/68058851 旷视检测组在刚刚结束 ...

  9. 一文全览,深度学习时代下,复杂场景下的 OCR 如何实现?

    2020-02-18 05:35:34 Source: kurzweilai.net 作者 | 北京矩视智能科技有限公司 责编 | 贾伟 文本是人类最重要的信息来源之一,自然场景中充满了形形色色的文字 ...

最新文章

  1. 语言axff所占字节数_【每日一答】(74)数组名v.s.指针变量,C语言其实很简单形象比喻为“是一个朋友圈的”...
  2. IHttpHandler 介绍演示(from 张子阳)
  3. ProgressDialog 一个使用类,多多提建议
  4. app 怎么通过jmeter 进行性能测试
  5. mysql 存储过程 条件_如何在MySQL存储过程中正确实现条件?
  6. 底层I/O性能大PK:Python/Java被碾压,Rust有望取代C++
  7. CSS 常见的8种选择器 和 文本溢出问题
  8. libx264.c:function X264_init: error: undefined reference to x264_encoder_open_142
  9. VRTK summary
  10. 计算机组织与体系结构课程实验心得体会
  11. C++控制台模拟网上购物商城
  12. 基于涂鸦智能开发板的墨水屏座位管理器——1.电路设计篇
  13. 什么是分布式负载均衡 ?
  14. 著名的php项目,PHP著名开源项目汇总
  15. 基于Tensorflow实现声纹识别
  16. Python全栈工程师之从网页搭建入门到Flask全栈项目实战(3) - 入门Flask微框架
  17. 详解ShellShock 漏洞复现原理,内附ShellShock的修复方法
  18. 中基协:推荐使用电子合同
  19. 用计算机作文的评价量规,作文分级评价量规..ppt
  20. 经纬度坐标转换为屏幕坐标

热门文章

  1. BNO080固件升级流程
  2. matlab[ra ca pa],CA码产生(matlab)
  3. 高通手机型号、开机logo、默认语言设置等小修改
  4. NNM重构数据库需注意的问题
  5. Python 浅复制和深复制的区别
  6. Android——认识Android (Android发展简介)(一)
  7. 【翻译】Inside Visual C++ Wizards
  8. astar插件下载 就行_怀旧服插件:简约清爽界面推荐,MangUI、NDui、ShadowUF安装与设置...
  9. 搜狐号自媒体搬运,搜狐号运营技术
  10. ffmpeg源码分析-transcode_step