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

目录
相关文章
|
6月前
|
算法
请教视觉智能平台:同图检测到底是同一张图不同内容做检测是否相同?
请教视觉智能平台:同图检测到底是同一张图不同内容做检测是否相同?
78 0
|
文字识别 算法 数据挖掘
文本检测 DBNet
文本检测 DBNet
339 0
|
11天前
|
机器学习/深度学习 算法 计算机视觉
人像检测的结果数据都有什么属性?
【10月更文挑战第26天】人像检测的结果数据都有什么属性?
22 1
|
5月前
|
机器学习/深度学习 文字识别 算法
视觉智能开放平台产品使用合集之文字敏感内容识别和文字违禁内容识别有什么区别
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
|
5月前
|
机器学习/深度学习 人工智能 监控
一文读懂计算机视觉4大任务:分类任务、检测任务、目标分割任务、关键点检测任务
一文读懂计算机视觉4大任务:分类任务、检测任务、目标分割任务、关键点检测任务
|
6月前
|
机器学习/深度学习 语音技术
Hotword模型在语音识别系统中定义为能够识别特定关键词或短语(也称为唤醒词)的模型
Hotword模型在语音识别系统中定义为能够识别特定关键词或短语(也称为唤醒词)的模型
305 9
|
机器学习/深度学习 自然语言处理 算法
解读未知:文本识别算法的突破与实际应用
解读未知:文本识别算法的突破与实际应用
解读未知:文本识别算法的突破与实际应用
|
算法 数据可视化
使用点要素匹配在杂乱场景中检测对象
使用点要素匹配在杂乱场景中检测对象。
112 0
|
6月前
|
机器学习/深度学习 自然语言处理
代码识别模型有哪些
代码识别模型有哪些
104 1
|
机器学习/深度学习 编解码 自然语言处理
文本检测之SegLink
翻译:《Detecting Oriented Text in Natural Images by Linking Segments》
129 1