ocr 深入

第一阶段

一 OCR技术概览

基本情况

应用场景

文本识别

车牌识别

拍照搜题

自然场景文本识别

视频内容审核

内容理解

常见难点

复杂板式

扭曲形变 角度

手写干扰

光的影响 反光,弱光,摩尔纹,模糊

image-20220516182713311

二值化方法

基本流程

预处理

降噪

滤波,光照处理

增强

回复拉伸

二值化

灰度图转二值图

方案

OTSU 大津二值化

image-20220517141730344

MSER (MAXIMALLY STABLE EXTERMAL REGIONS)

image-20220517141844354

image-20220517141913503

倾斜矫正

HOUGH变换、投影法

版面分析

文本行定位

字符分割识别

后处理

事例子

1 通用文本

二值化: 彩色转灰度转黑白 只有(0,255)

image-20220516184113454

连通域分析: 字符框分析

论文中找方法 子向上分析

image-20220516184512968

像素值 1--> 连通域 2--> 合成文本行 3---> 文本

1 像素临近关系 四临近 八 临近

2 这步最复杂

连通域分析间的关系

MRL 左右两个像素点最近的距离

ECC 两个中心的欧式距离

image-20220516184813077

根据公式求 值,得到权重值合并文本行

image-20220516185311765

得到结果

image-20220516185516007

最小生成树之类的算法减去不必要的连接线

image-20220516185708201

先得到行片段

计算分割点置信度,在粗分割后,递归地以置信度最大点进行分割

投影法 :有干扰额的话不能直接用

image-20220517140501129

2 车牌检测与识别

竖直纹理卷积法

车牌有固定的特征 根据这些分析垂直纹理

image-20220517142159672

image-20220517142631417

边缘信息

image-20220517142837233

色彩收集

RGB 转HSI (剔除颜色中的一些亮度信息)

image-20220517142921918

区域分割

image-20220517143113084

直接上模型

image-20220517143201507

yolo

image-20220517143305450

image-20220517143332248

demo程序

TESSERACT OCR

二 单字符分割与识别

单字符识别

模板匹配

image-20220517161406389

问题 计算量 图片预处理

特征提取 + 传统分类器

特征提取

位图

垂直/水平投影

孔洞/穿刺/占空比

方向/弧度

传统分类器

SVM

MLP

CNN模型 (强的一批)

image-20220517170020865

过切分的路径选择

字符分割

viterbi 算法 + Beam search 离线识别

viterbi 算法 --> 动态规划算法

Beam search --> 剪枝算法去不必要的

image-20220517182826735

HMM+ viterbi 在线手写

image-20220517184003520

语言模型

N-GRAM

image-20220517185028035

lLSTM rnn变种

记忆因子 数据关联

image-20220517185110040

PCFG 带一个概率的 但没有上面用的多

image-20220517185746757

公式识别很有难度

三 字符序列识别

RNN

image-20220518110520005

信息串联 : 存在问题 句子长的时候前面的无法传递到后面去 梯度消散

CNN 中解决梯度消散方案: ResNet 残差网络 加一个跳边

image-20220518113521162

LSTM

RNN 中解决方案 LSTM 三门方案 类似加跳边 根据加门遗忘一些信息

image-20220518113640972

image-20220518151435076

三个门,三个开关 避免梯度消散

GRU

两个门 三门的简化

image-20220518151732581

CRNN

image-20220518152521353

用这个结构拼贴 CNN 和RNN

image-20220519101658973

CTC

CONNECTIONIST TEMPORAL CALSSIFICATION 连接时态分类

image-20220519103231127

image-20220519135034843

image-20220519140450581

image-20220519141516275

RARE

ATTENION 注意力机制

image-20220519141754089

TransmFormer

image-20220519141929034

编码解码

两个Attention

feed Attention

self Attention

image-20220519142133075

self Attention

相关性

image-20220519142559168

RARE 中Attention

image-20220519142944833

image-20220519143549662

第二阶段

四 文本行定位

文本检测方法分析

1 文本检测面临的挑战

image-20220519153125804

2 anchor-based 检测算法分析

文本检测通常分为两个流派,分别是pixel-based和anchor-based的方式。

基于anchor-based 检测算法合集

基础概念

IOU 交并比

image-20220519153234864

NMS 去冗余框

image-20220519153552485

ANCHOR 检测算法

image-20220519153804629

优点

1 密集的Anchor boxes 可有效提高检测模型的召回率

2 给定合适的anchor 可以实现较大目标和较小目标的有效检测

缺点

1 需要人为设计超参(scale、aspect ratio),需要先验性,不同的数据集和方案需要调参

2 冗余anchor boxes 过多并且多数anchor 为背景区域,对proposal 提取或目标检测五积极作用

3 预先定义好的anchor 超参不一定能同时满足极端scale 和aspect ratio 悬殊的物体 如火车

VGG16 检测网络

很成熟了 预训练直接用都可以

image-20220519154619814

SSD检测算法 (高频使用)

高频使用 和YOLO 因为性能高

one-stage 算法

结构简单,计算量低

多scale结构,即多个不同大小的FEATUURE MAP 参与预测

性能优于但阶段算法YOLO、双阶段算法FasterRCNN

基于VGG16

image-20220519155204027

SSD 中 ANCHOR 选取

多 feature map 预测 不能改设置

image-20220519155608366

HARD NEGATIVE MINING (SSD 中的样本选取机制)

image-20220519160642829

image-20220519160824027

正负样本 1:3

标分类和目标检测中的正负样本是两种不同的概念:

目标分类中,如果是简单的二分类问题,正样本就是你要检测的样本,样本标签标为1,负样本就是其他任意不是正样本的,都为0。
样本不均衡会导致:对比例大的样本造成过拟合,也就是说预测偏向样本数较多的分类。这样就会大大降低模型的范化能力。

目标检测中中正负样本指的是模型自己预测出来的框与GT的IoU大于你设定的阈值即为正样本,因为我们目标分类是给整幅图像标签,而检测是给你的GT标注类别标签,所以目标检测中的分类通常来说是非常简单的,但是因为检测中的背景更复杂,而且是多分类,所以最终影响检测的精度还是分类。

性能分析

image-20220519161213127

缺点

1 anchor 的scale 、aspect raio 是经验值 不好调节

2 小目标的检测效果不好SSD最大的feature map 为Conv4_3 对于一下小的物体Conv4_3 的视野过大位置特征弱

TextBoxes (升级版的SSD)

基于SSD 框架进行改进,结构简单运行速度快 适用于文本检测

检测与识别end-to-end 模型,利用识别提升检测性能

TextBoxes PIPELINE

image-20220519162052748

1 TextBoxes Backbone 为VGG16 ,替换其全连接层为卷积层,星辰盖全卷积wangluo;

2 为了适应长宽比悬殊的文本,anchor的aspest ratio 分别设置为[1 2 3 5 6 10]

3 为了增加X 方向的视野感受 避免Y方向引入文本噪声,提出了text-box层,其中classifier 卷积核为1*5(SSD为3x3)

4 CNN + RNN 端到端 的训练框架 训练时输入图像多尺度

5 加入文本识别模块提升检测性能

TextBoxes LAYERS

image-20220519163948806

TextBoxes 中 ANCHOR offset

image-20220519164120605

TextBoxes 中 多尺度训练

image-20220519164318384

缺点

1 无法处理特殊情况,如遮挡 文字间距过大,过度光照

2 无法有效检测多方向文本

3 一些非文字区域被检测

4 一些文字区域无法检测

image-20220520095426027

TextBoxes++

1 类似SSD 的scale结构,简单快

2 直接在feature map 上进行回归和分类

3 直接回归到四边或带角度的矩形,可支持多角度文本检测

TextBoxes++ Pipline

image-20220520100302887

特点

1 识别与检测结合,通过识别提升检测性能

2 提出了系变形和带角度的矩形物体的描述方法

3 与SSD相同使用6个scalse 进行预测回归

4 anchor 的长宽比为[1 2 3 5 1/3 1/3 1/5]

5 采用3X5 过滤器 加大横向感受野,适应长文本检测

6 网络的输出与TextBoxes 不同,支持多方向文本检测

7 hard examplemining 采用两个阶段分别是 1:3 和1:6 (正负样本)

ANCHOR OFFSET

解决细长anchor 问题加入偏移量

目标描述

image-20220520101238924

CASCADED NMS

NMS即non maximum suppression即非极大抑制,顾名思义就是抑制不是极大值的元素,搜索局部的极大值

相较于矩形NMS 四边形 和带角度矩形的NMS 更为耗时

步骤1 先对四边形的带角度矩形的最小外接矩形进行NMS,以较大的IOU阈值:0.5 提出一些候选框

步骤2 对剩余的候选四边形和带教的矩形候选框进行NMS,以较小的IOU阈值0.2提出一些候选框

不足

1 无法处理 遮挡间距过大

2 纵向的检测效果不好

3 非文字区域被检测 (规律的条纹)

4 一些文字区域无法检测 (形变的)

CTPN

特点

和TextBoxes 采用完全不同的策略

anchor boxes的概念可以用于预测固定数量的框

CTPN 的anchor 的宽的固定为16 高度可变,大量小proposal 通过后处理合并成文本行;克服通用目标检测框架对长度剧烈变化敏感的缺陷

CNN和RNN结合同时学习空间特征和序列特征;空间特征可有效描述CTPN检测到的小的问字段;序列特征可有效学习到小蚊子段间的关联性

pipeline

image-20220524143632382

FINE-SCALE

1 与RPN不同CTPN引入了微分思想,即检测文本行的局部区域然后合并,

2 CTPN 的anchor 宽度固定16,高度从11-273 每次乘以1.4 feature map 每个点对应10 个anchor

3 Fine-scale 机制使得CTPN可以检测长宽比悬殊的文本

CNN+RNN
文本线构造

核心构想: 相近的proposal 组合成一个pair ,合并不同pair 直到无法合并位置

两个proposal (Bi Bj)组合条件

image-20220524145333301

SIDE- REFINEMENT

水平方向,文本被分为等宽16 可能导致两侧变宽不够 可能少一点或者多了一点无法贴合检测对象

解决方案 增加一个偏移量来修正

LOSS

image-20220524145725685

不足

无法检测竖直 形变 曲线文本 倾斜样本检测较差

横向文本两边定位精度较低

存在基于策略的合并环节,导致CTPN无法处理一些复杂环境的样本

特点

1 结合CTPN局部片段预测和SSD 多尺度预测,同时预测不同scale 下的segment和link

2 可以处理多方向(倾斜)和任意长度的文本

pipeline

image-20220524151727804

和CTPN合并方式不一样它是学习的CTPN是规则

细节

1 增加方向预测

2 超参改变

3 数据增强

4 scalse 是自动感知设置的 SSD是人工设置的

image-20220524152111056

image-20220524152656479

网络输出维度

image-20220524153020333

segment 合并

上面输出的是片段 ,现在合并为文本行

image-20220524153142986

训练样本构造

image-20220524153419067

性能

image-20220524154541396

不足

1 合并时采用了直线拟合,无法检测形变或曲线文本

2 link 仅考虑相邻的segment 无法检测较大的文本

3 segment 的连接存在两个超参需要调节

总结

1 textBoxes 系列算法优点是结构简单、处理速度快缺点是无法有效处理长宽比悬殊的文字

2 TextBoxes 系列算法与anchor 自动生成 算法相结合 可一定程度上提升算法对目标尺度变化的鲁棒性

3 CTPN优点是可以处理长宽比悬殊的文字,去欸但是存在基于策略的后处理环节,无法适用于复杂场景

4 SegLink优点与CTPN类似,同时一定程度与上克服了CTPN的缺点,对于长和宽比悬殊的文字检测是个不错的选择

5 检测模块与识别模块相结合,可有效提升检测模块的性能

3 实战-> 复杂背景下的视频字幕识别系统

传统方法实现的

目的:实时检测视频字幕出现的位置信息和字幕持续时间,并进行识别

意义:可辅助视频资料检索与管理、历史视频资料强救,视频节目制作等领域,满足市场对大规模视频数据库进行自动查询和检索系统的迫切需求

难点

要求

1 处理复杂背景下的视频字幕

2 系统具有强实时性、高准确率

难点分析

1 系统需要给每条字幕准确的时码信息,需要对每帧高清图像进行处理,并且系统运行再CPU上,同时需要具有强实时性

2 复杂背景存在类似文字的信息,对定位和分割造成严重干扰

pipline

image-20220524164731219

多帧融合 ---> 字幕的像素值相对稳定

字幕定位(传统)

image-20220524165116500

字幕定位pipeline

image-20220524165208484

字幕定位

多帧验证 字幕大小位置不会变 会长时间存在多帧

image-20220524165552721

多帧融合 字幕大小位置不会变 会长时间存在多帧 融合之后背景模糊字幕清晰

image-20220524165733851

形态学处理

基于文本的边缘性很强

image-20220524165846858

字幕分割 pipeline

image-20220524165942051

系统性能

image-20220524170109913

image-20220524170251296

五 自然场景中的文本检测

1 pixel-based 检测算法分析

文本检测通常分为两个流派,分别是pixel-based和anchor-based的方式。

pixel-based是基于分割的思想

EAST

特点

1 FCN+NMS ,FCN直接进行预测、回归,除NMS无其他环节

2 EAST 的检测形状可为四边形、带角度矩形,可处理单词级别的文本行级别的文本

image-20220524182559735

PIPELINE

image-20220524183010856

关键信息

image-20220524183358389

感受视野(receptive field):CNN中,某一输出层feature map中一个元素点(这里我们还是称之为像素点)对应的输入层区域的大小,被称作感受视野(receptive field)。例如,feature map2的一个像素点对应feature map1的一个5*5像素区域,其坐标取决于卷积核滤波的坐标位置。

样本生成

score map

将标注框向内平移

image-20220524183814111

RBOX、QUAD GEOMETRY

image-20220524183838393

LOCALITY-AWARE NMS(LNMS)

局部感知NMS

image-20220524184202641

性能分析

image-20220524184348463

可以应对各种复杂场景

不足

1 无法有效检测垂直的文本,主要原因是无足够样本

2 受限与backbone 的感受野 无法处理长宽比悬殊的文本

3 受限于 backbone 的感受野,两边边框回归的较差

AdvancedEAST

PIPELINE

image-20220524185049854

原理

image-20220524185425144

不足

1 相对EAST AdvancedEAST 的预处理会更加复杂 需要确定头尾区域

2 AdvancedEAST 头尾区域大小的设定会严重影响模型的性能 如高6 的文本取短边的0.6 头的区域的宽为4 参与回归分类的像素点太少

2 pixel与anchor结合的检测算法分析

PIXEL-ANCHOR

特点

1 结合了pixel-based和anchor-based 方法的优点

2 通过ASPP和OHEM 提升了pixel-based 方法的性能

3 提出了APL机制,使得SSD的文本检测算法可以处理长宽比、尺寸变化剧烈的文本

PIPELINE

image-20220525160507292

关键信息

1 ASPP可以显著提升尺寸feature map 的感受野,EAST +ASPP 会有较大的竞争力

2 APL 可以改善SSD同时检测小目标和大目标性能

3 pixel-based 算法precision 较高、recall 较低,anchor-based 算法precisin 较低、recall 较高

4 pixel- anchor 算法中,pixel- based 负责检测中等大小文本,anchor-based负责检测小文本和大文本

5 PSENet 在ICDAR2017上性能优于pixel-anchor,主要优于PSENet支持曲线排列的文本,因此其recall 更高

6 文本检测的2难点在于如何处理前光照、遮挡、长宽比玄珠、尺寸和方向变化剧烈的情况

7 ICDAR2017 训练集7200张测试集1800张9种语言任意方向的文本

基于PIXEL模型

image-20220526104755962

基于anchor 的模型

image-20220526105056750

pixel + anchor 就很强
不足

1 无法检测形变文本 曲线排列文本,导致pixel-anchor 在ICDAR2017 的表现不如PSENst

2 无可用复现代码

image-20220526105818868

文本检测总结

image-20220526105906672

3 实战-> 文本检测之CTPN

image-20220526114854937

预处理很重要

预处理阶段一定可视化

六 图像增强和预处理

1 图像增强

image-20220526173112079

UNWARPING 去弯折

SUPER-RESOLUTION 超分辨率

image-20220526173340000

image-20220526173449757

上采样

内近邻

双线性插值

卷积增大

image-20220526173717493

image-20220526173747503

image-20220526174425331

SR GAN

生成模型

image-20220527155146584

2 自然场景文字检测

PSE NET

image-20220530114211873

posted @ 2022-05-30 11:54  貌似大家  阅读(96)  评论(0编辑  收藏  举报