带你认识2种基于深度学习的场景文字检索算法

article/2025/7/16 2:50:34

本文分享自华为云社区《基于深度学习的场景文字检索》,作者: 谷雨润一麦 。

文字检索是从图像库中检索出包含特定字符串的图像,并且同时定位该字符串在图像中位置的过程(如图1所示),是场景文字理解中的重要科学问题,被应用于商品检索、图书馆书籍管理、网络图像安全审核等场景中,极大地提高了生产效率。此外,文字识别要求图像中的所有文本实例都被精准地检测和识别,不同于端到端的文字识别任务,文字检索任务更关注于搜寻用户所感兴趣的文本。

场景文字检索任务

和端到端文字识别任务一样,图像中的文本具有字体多变、字符排列方式不规则、字符序列长度不固定等难点。自然场景文字检索特有的挑战主要来自三个方面:

(1)不同的待检索字符串之间的差异非常微弱:和通用目标以及人脸不同,不同单词之间的差异性非常微弱,其差异性通常在于几个字符之间,因此如何区分高度相似的单词是文字检索的难点之一。如图2所示,待检索的单词“india”和“indian”只相差一个字符,而检索出的图像序列完全不同。

(2)同一待检索字符串在图像中的视觉差异大、字体变化大,比如艺术字体等。

(3)跨模态特征间的相似性度量:图像内的文本实例和访问字符串属于两种不同的模态,并且均为变长序列,度量跨模态序列特征间的相似性是难点之一。

场景文字检索任务的难点

前些年场景文字检索的方法[3][6][7]均是基于手工设计的特征,并且文本检测和距离度量是分开处理的。浅层的工设计的特征以及分步的文本检测与距离度量过程,使得网络模型在优化过程中无法达到全局最优。近几年,随着深度学习在计算机视觉各个领域的兴起,出现了一些基于深度学习的场景文本检索算法,能够将场景文本检测和距离度量过程整合到一个深度神经网络中。基于深度学习的文字检索算法可以大致分为:基于单词编码的方法[1]和基于相似性学习的方法[2]。

基于单词编码的方法的核心思想是将查询字符串转化为预定义的编码向量(如PHOC[3]),同时通过神经网络预测图像中包含的所有可能的单词的编码向量,最后通过计算查询字符串的编码向量和从图像中预测的编码向量间的距离来进行排序并检索, 计算公式如下:

其中表示度量两向量间距离的函数(如汉明距离,余弦距离等)。如图3所示,基于单词编码的方法的网络结构由单一的全卷积网络构成,该网络在特征图的每个位置上预测向量,其中表示文本实例的水平包围框,即(水平框中心点x轴坐标,水平框中心点y轴坐标,水平框的宽度,水平框的高度),表示该位置属于文本的置信度,代表该文本行所属的单词对应的PHOC向量。

在推理阶段,对于图像库中的每张图像,首先根据文本的置信度从图像中选取前个文本候选区域,然后计算查询字符串的编码向量和个文本候选区域间的距离,并将距离最小的作为该图像的得分。

基于单词编码方法的流程图

基于相似性学习的方法的核心思想是直接度量图像中候选文本区域和查询字符串间的相似性,通过该相似性对图像进行排序并检索。如图4所示,网络由图像分支和文本分支构成。图像分支由检测模块和图像序列建模模块构成,其中检测模块使用的是单阶段检测器FCOS[4],其主要作用是产生大量的文本候选框。图像序列建模模块由双向循环神经网络构成,借助其内部的门机制对序列中每帧之间的相关性建模,获取序列特征的上下文信息。该模块以文本候选框内的特征作为输入,最终输出语义增强的文本特征。类似地,文本分支由词嵌入模块和文本序列建模模块构成。词嵌入模块以查询字符串作为输入,输出固定尺寸的特征向量。该模块由可学习的嵌入模块(类别数等于语种的字符类型数)和双线性插值构成,通过嵌入模块得到查询字符串中每个字符的特征,该变长字符序列特征(序列长度等于字符串字符个数)通过双线性插值算法插值为固定长度。接着,插值后的固定长度特征输入文本序列建模模块获取语义增强的特征。最后,将查询字符串包含于该图像的可能性定义为和之间的最大相似度,计算公式如下:

其中表示度量两向量间相似度的函数(如余弦相似度)。特别地,两向量间的相似度通过相应的单词对间的归一化的编辑距离[5]进行监督学习。另外,为了使得图像分支的特征优化得更好,将文本识别任务以多任务的方式引入到网络框架之中,来引导模型提取更好的序列特征。

在推理阶段,对于图像库中的每张图像,首先利用检测器FCOS从图像中选取前(数值为100)个文本候选区域,然后计算查询字符串的特征和个文本候选区域的特征的余弦相似度,并将相似度最大的作为该图像的得分。

基于相似性学习方法的流程图

相比其他方法,该方法检索性能(mAP)有较大提升,在3个英文数据集SVT,STR和CTR上的检索性能如下所示:

另外,该方法容易扩展到非拉丁文语种上,其中文检索性能如下所示。可以看出,由于中文的字符类型个数众多,基于单词编码的方法的码长急剧增加,网络难以学习和收敛,另外,由于码长增加,计算编码间的复杂度急剧增加,减弱检索速度。而基于相似性学习的方法,其在中文检索性能上依旧表现良好。

  • Gomez L, Mafla A, Rusinol M, et al. Single shot scene text retrieval[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 700-715.

  • Wang H, Bai X, Yang M, et al. Scene Text Retrieval via Joint Text Detection and Similarity Learning[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021: 4558-4567.

  • Almazán J, Gordo A, Fornés A, et al. Word spotting and recognition with embedded attributes[J]. IEEE transactions on pattern analysis and machine intelligence, 2014, 36(12): 2552-2566.

  • Tian Z, Shen C, Chen H, et al. Fcos: Fully convolutional one-stage object detection[C]//Proceedings of the IEEE/CVF international conference on computer vision. 2019: 9627-9636.

  • Levenshtein V I. Binary codes capable of correcting deletions, insertions, and reversals[C]//Soviet physics doklady. 1966, 10(8): 707-710.

  • Anand Mishra, Karteek Alahari, C.V. Jawahar, "Image Retrieval using Textual Cues," ICCV,2013.

  • K. Ghosh, L. Gómez, D. Karatzas and E. Valveny, "Efficient indexing for Query By String text retrieval," 2015 13th International Conference on Document Analysis and Recognition (ICDAR), 2015, pp. 1236-1240, doi: 10.1109/ICDAR.2015.7333961.

点击关注,第一时间了解华为云新鲜技术~​


http://chatgpt.dhexx.cn/article/tSQ2Yeeu.shtml

相关文章

计算机视觉-图像检索与识别

一 原理解析 1 图像分类方法 视觉词袋模型( Bag-of-features )是当前计算机视觉领域中较为常用的图像表示方法。 视觉词袋模型来源于词袋模型(Bag-of-words),词袋模型最初被用在文本分类中,将文档表示成特征矢量。它的基本思想是假定 对于一个文本&…

计算机视觉之图像检索

结构 相似检索 颜色、纹理、形状局部特征点词包(Bag of Visiual Word)索引加速 KD-tree局部敏感哈希(Locality Sensitive Hash)

计算机视觉——图像搜索

图像搜索 基于内容的图像检索CBIR原理矢量空间模型权重的设置 视觉单词BOW模型创建词汇 图像索引数据库建立添加图像 在数据库中搜索图像利用索引获取候选图像用一幅图像查询确定对比基准 对结果进行排序建立Web程序运行环境运行结果实验总结 基于内容的图像检索 CBIR原理 利…

python计算机视觉--图像检索与识别

基本原理:bag-of-words 模型 Bag-of-words词袋模型最初被用在信息检索领域,对于一篇文档来说,假定不考虑文档内的词的顺序关系和语法,只考虑该文档是否出现过这个单词。假设有5类主题,我们的任务是来了一篇文档&#x…

【计算机视觉 5】、图像检索

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 图像检索 前言一、基于内容的图像检索(CBIR)二、矢量空间模型(BOW表示模型、Bag of Words)1.视觉单词2.Bag of features原理3.…

计算机视觉 图像检索与识别

目录 一.图像检索相关介绍: 1.起因: 2.参数介绍: 图像纹理: 词序无关的文本表述: 图像分类: 图像特征词典: 图像整体描述子: 二. 图像分类/检索具体内容: 图像分类/检索&#xf…

【计算机视觉学习05】图像检索与识别

文章目录 1. 原理解析1.1 什么是图像分类1.2 如何实现图像分类1.2.1 词袋模型(Bag-of-words)1.2.2 Bag-of-features模型1.2.3 Bag-of-features算法1.2.4 Bag-of-features过程 1.3 TF-IDF1.4 图像分类遇到的问题1.4.1 类内差异1.4.2 类间差异1.4.3 语义鸿…

OCR文字识别在计算机视觉的重要性、基本技术和最新进展

【摘要】 主要是文字检测和文字识别作为计算机视觉一部分的重要性,基本知识,面临的挑战,以及部分最新的成果。 人类认识了解世界的信息中91%来自视觉,同样计算机视觉成为机器认知世界的基础,也是人工智能研究的热点&a…

MATLAB计算机视觉与机器认知----Haar矩形遍历演示

clc; clear; close all;% Haar-like特征矩形计算board 24 % 检测窗口宽度 num 24 % 检测窗口分划数show 1; % 1为作图 time …

一文概括机器视觉常用算法以及常用开发库

点击上方“小白学视觉”,选择加"星标"或“置顶” 重磅干货,第一时间送达 本篇就软件部分,对机器视觉的算法处理进行大致概括分析。 一、算法(预处理算法、检测算法) 在采集完图像后,首先会对图像…

[5机器学习]python计算机视觉应用-图片内容识别

上一期中,ofter介绍了计算机视觉的常用神经网络模型,以及如何选择模型,今天我们就趁热打铁拿个实际的模型跑跑,欢迎大家跨入数据科学家们的世界。 一、机器学习的目标 作为数据科学家,我们必须明白投入大量时间精力进…

计算机视觉用于图像识别的难点在哪?

计算机视觉用于图像识别的难点在哪?作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取‘信息’的人工智能系统,但也存在一些难点,本篇来解答一下这个问题。 计算机视觉用于图像…

Java OCR tesseract 图像智能字符识别技术 Java代码实现

接着上一篇OCR所说的,上一篇给大家介绍了tesseract 在命令行的简单用法,当然了要继承到我们的程序中,还是需要代码实现的,下面给大家分享下java实现的例子。 拿代码扫描上面的图片,然后输出结果。主要思想就是利用Java…

六、计算机视觉相关内容

文章目录 前言一、图像增广1.1 常用的图像增广1.1.1 翻转和裁剪1.1.2 变换颜色1.1.3 结合多种图像增广方法 二、微调2.1 微调的步骤2.2 具体案例 三、 目标检测和边界框3.1 边界框 四、锚框五、多尺度目标检测六、目标检测数据集七、单发多框检测(SSD)八、区域卷积神经网络(R-C…

python计算机视觉学习第七章——图像搜索

目录 一、基于内容的图像检索 二、 视觉单词 三、 图像索引 3.1 建立数据库 3.2 添加图像 ​编辑四、在数据库中搜素图像 4.1 利用索引获取候选图像 4.2 用一幅图像进行查询 4.3 确定对比基准并绘制结果 五、 使用几何特性对结果排序 一、基于内容的图像检索 CBI…

使用计算机视觉和深度学习创建现代OCR管道

作者 | 学海无涯yc 编辑 | 3D视觉开发者社区 文章目录 前言1.研究和原型设计2.字深网3.字检测器4.组合式端到端系统5.生产化6.性能调优7.优雅 导读 此篇文章中讲述使用了计算机视觉和深度学习的进步,如双向长短期记忆(LSTM),连接…

Java OCR tesseract 图像智能字符识别技术

公司有需求啊,所以就得研究哈,最近公司需要读验证码,于是就研究起了图像识别,应该就是传说中的(OCR:光学字符识别OCR),下面把今天的收获整理一个给大家做个分享。 本人程序用的tess…

《深度学习中的字符识别在工业视觉中的实际应用》

最近在公司做了一个构建卷积神经网络来识别字符的项目,编程环境为pycharm2019,使用的是OpenCvPytorch进行项目的实现,因此想总结和归纳一下方法。 本次的字符识别项目可以分为以下几个步骤: 一、图像处理和字符分割 二、创建自…

python计算机视觉-图像检索和识别

目录 一、原理解析 1.1计算机视觉领域的图像分类是什么意思? 1.2图像分类要如何实现? 1.3Bag-of-features算法和过程? 1)提取图像特征 2)训练字典( visual vocabulary ) 3)图片直方图表示 4)训练分类器 1.4TF-IDF? 1.5当前图像分类中会遇到…

使用计算机视觉和深度学习创建现代 OCR 管道

文章目录 研究和原型设计字深网字检测器组合式端到端系统生产化性能调优优雅 在这篇文章中,我们将带您了解我们如何为[【移动文档扫描仪】构建最先进的光学字符识别(OCR)管道的幕后故事。我们使用了计算机视觉和深度学习的进步,如…