FOTS:自然场景的文本检测与识别(上)

简介: FOTS:自然场景的文本检测与识别

问题描述

我们需要从任何图像(包含文本)检测文本区域,这个图像可以是任何具有不同背景的东西。在检测到图像后,我们也必须识别它。

FOTS的完整形式是快速定向文本点亮。可以在任何自然场景中检测和识别任何文本。

640.png

在上面的图像中,FOTS给出了结果,它检测到“间隙”文本区域和图像(场景)中的所有文本区域,并识别出它是“间隙”、“50”和“GAP”等。这就是我们在这篇文章中要做的。

现在这个任务可以用两个不同的部分检测和识别来完成。在检测部分检测场景中的文本区域,在识别部分识别文本,什么是文本?(见上图)所以对于检测,我们使用CNN,对于识别,我们将在每个检测区域上使用一些序列解码器。

数据集

对于这个问题,我们将使用ICDAR 2015数据集。我们也将使用一个合成的文本图像数据集。

这里我们将使用ICDAR 2015数据集。其中有三种类型的数据。

训练集图像-

我们有1000个图像用于检测文本目的。

训练集定位和转录目标标注-

我们有1000个带有角坐标和标签(文本)的文本文件。假设在一个文本文件中,我们有5行,这意味着我们在相应的图像中有5个文本多边形。在每一行,我们有8个坐标(x1, y1, x2, y2…)和一个标签。

训练集文字图像,文本标注-

提供了与单词的轴向包围框相对应的~4468个切出的单词图像,并提供了单个文本文件,其中包含每个单词图像内包围形状的相对坐标。在一个单一的文本文件中提供的真实值。

同时也有测试图像来进行识别和检测。

但是对于训练识别模型,我使用了数据的增广,从合成的文本数据中提取了近15万幅文本图像。

在合成数据中,我们有文本图像,而在图像中写入的文本就是图像的名称,因此我们可以从图像的名称中提取图像名称。

损失函数

我们将使用在实际论文中建议的损失函数。对于score-map,我们将使用交叉熵损失。

在这一损失中,我们正在计算score-map中的预测概率与实际概率的差异

640.png

对于边框,我们使用IOU,对于旋转,我们使用λθ(1−cos(θx, θ∗x)旋转角损失。

640.png

这里R_cap是预测的边界框,R*是实际的边界框,所以这里log中的分子项是预测和实际之间的交叉区域,而标记项是这两个区域的并集。现在我们用这个来求截面积

640.png

其中d1、d2、d3、d4为一个像素到上、右、下、左边界的距离。这里w_i和h_i是截面积的宽度和高度,现在我们可以通过两者相乘得到截面积。

现在联合区域将是- area_real+area_pred-intersected_area

对于角度,我们用-

640.png

其中,ta_cap是预测的角度,而ta_*是实际的角度。

现在合并这两个损失的最后损失的方位是-

640.png

现在检测的全部损失是-

640.png

这里的L_reg和L_g是一样的。

对于识别部分,使用的损失是CTC loss-

640.png

准备检测数据

我们必须转换数据以便我们可以将其输入我们的模型并对输出计算损失。对于输入,我们只会在一次输入一批图像和输出score-map(代表文本在哪里,不是0和1)和geo-map(这有5通道与图片相同的高度和宽度,前四个分别是 上下左右,最后一个是角度)。基于这两个输出,我们的模型通过损失计算和优化将会收敛,我们也将返回一个训练掩码,以便在计算损失时,我们将不考虑那些非常小的文本区域,标签文本没有给出。

对于每个图像,输入的形状是(512,512,3),输出的形状是(512,512,6),这里有6个通道,一个是score map,四个是top, right, bottom, and left的距离,还有一个是training mask。

如果我们的批大小是32,那么输入形状将是(32,512,512,3),输出形状将是(32,512,512,6)。

现在来看geo-map的样子,因为我们知道它的通道与一个真正的文本矩形只有像素的距离,这个矩形的文本有上方、右侧、底部和左侧。你可以看这个图像更清楚-

640.png

我也根据论文画了图,看起来像这样

640.png

640.png


640.png

目录
相关文章
|
8月前
识别相关方
识别相关方
21 0
|
11月前
|
文字识别 算法 数据挖掘
文本检测 DBNet
文本检测 DBNet
269 0
|
9月前
|
机器学习/深度学习 自然语言处理 算法
解读未知:文本识别算法的突破与实际应用
解读未知:文本识别算法的突破与实际应用
解读未知:文本识别算法的突破与实际应用
|
4月前
|
机器学习/深度学习 自然语言处理
代码识别模型有哪些
代码识别模型有哪些
60 1
|
9月前
|
机器学习/深度学习 编解码 自然语言处理
文本检测之SegLink
翻译:《Detecting Oriented Text in Natural Images by Linking Segments》
|
8月前
|
机器学习/深度学习 自然语言处理 文字识别
探索图像数据中的隐藏信息:语义实体识别和关系抽取的奇妙之旅
探索图像数据中的隐藏信息:语义实体识别和关系抽取的奇妙之旅
|
9月前
|
SQL 机器学习/深度学习 编解码
OCR文字检测与识别系统:融合文字检测、文字识别和方向分类器的综合解决方案
OCR文字检测与识别系统:融合文字检测、文字识别和方向分类器的综合解决方案
OCR文字检测与识别系统:融合文字检测、文字识别和方向分类器的综合解决方案
|
11月前
|
机器学习/深度学习 算法 计算机视觉
计算机视觉 文本检测与文本识别 (一)
计算机视觉 文本检测与文本识别 (一)
106 0
|
机器学习/深度学习 人工智能 文字识别
从模式识别到图像文档分析——浅析场景文本识别研究
文本检测领域经历了从水平文字检测到多方向文字检测再到任意形状文字检测这样越来越有挑战性的应用场景转变。 在复杂场景下,由于光照、遮挡等因素的影响,图像中的文本经常会出现模糊、失真、变形等问题;其次,文本与背景之间偶尔存在相似度较高的情况,文字颜色和背景颜色相近或者噪点过多等情况会严重干扰文本的准确识别;此外,在某些场景下(如手写体、印章、二维码等),不同于常规字体的字形特征也会增加识别难度。复杂场景下的文本识别依然是目前难以解决的问题。
|
机器学习/深度学习 TensorFlow 算法框架/工具
FOTS:自然场景的文本检测与识别(下)
FOTS:自然场景的文本检测与识别
148 0
FOTS:自然场景的文本检测与识别(下)