『OCR_detection』CRAFT

2023-11-03 00:50
文章标签 detection ocr craft

本文主要是介绍『OCR_detection』CRAFT,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 一、CRAFT 思路
  • 二、CRAFT 网络结构
    • 2.1 backbone


论文名称: Character Region Awareness for Text Detection
开源代码: https://github.com/clovaai/CRAFT-pytorch

一、CRAFT 思路

  1. 图像分割的思想, 采用 u-net 结构, 先下采样再上采样;

    利用分割的方法,与图像分割有些不同的是,CRAFT 不是对整个图像进行像素级分类,而是做了回归,它有两个分支,一个是目标是字符的中心的概率(这里用概率可能不是很准确,或许说是距离字符中心的距离更好一些),另一个是字符之间的连接关系,然后经过一步后处理,得到文本的边界框。

  2. 非像素级分割, 将一个 character 视为一个检测目标对象,而不是一个 word(所有的 word 都由 character 构成),即不把文本框当做目标。这点有点类似 ctpn, 先检测很小的 bbox, 再利用 bbox 之间的关系进行 concat. 这样的好处是 只需要关注字符级别的内容而不需要关注整个文本实例, 从而使用小感受野也能预测长文本。 ctpn 检测算法也是对于长文本的检测效果会比较好. 与之相对应的就是 east 检测算法, 受限于感受野, 所以长文本的两端往往检测不准确。

    该方法是通过精确地定位每一个字符,然后再把检测到的字符连接成一个文本达到检测的目的。由于该方法只需要关注字符以及字符之间的距离,不需要关注整行文本,所以不需要很大的感受野,对于弯曲、变形或者极长的文本都适用。由于要精确的检测到每一个字符,所以对粘连字符(比如孟加拉语和阿拉伯语)的检测效果并不是很好。

  3. 对于公开数据集大部分都是文本框级别的标注, 而非字符级别的标注, 本文提出了一种弱监督学习思路, 先利用合成样本进行预训练, 再将预训练模型对真实数据集进行检测, 得到预测结果, 经过处理后得到高斯热度图作为真实数据集的字符级标签。

二、CRAFT 网络结构

2.1 backbone

VGG16-BN, 上采样部分设计了一个 UpConv Block 结构,采用 VGG-16 进行下采样,总共进行了 5 次下采样, 所以在预测阶段的输入图片的预处理上, 会将输入图片的长和宽 padding 到距离长和宽的值最近的 32 的倍数。 比如输入图片为 500x400, 则会将图片 padding 到 512x416, 可以有效的避免分割中的像素漂移现象。利用 Unet 的思想, 对下采样的特征图再进行上采样和特征图 concat 操作, 最终输出 1/2 大小的顺序图,包含两个通道 score map

  1. Region score :字符级的高斯热图,表示该点是字符中心的概率 (单字符中心区域的概率)
  2. Affinity score :字符间连接的高斯热图,可以认为是该点是两个字之间的中心的概率,相邻字符间空格的中心概率(相邻字符区域中心的概率)

在这里插入图片描述

(待会来写。。。)

这篇关于『OCR_detection』CRAFT的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/334433

相关文章

使用Python开发一个图像标注与OCR识别工具

《使用Python开发一个图像标注与OCR识别工具》:本文主要介绍一个使用Python开发的工具,允许用户在图像上进行矩形标注,使用OCR对标注区域进行文本识别,并将结果保存为Excel文件,感兴... 目录项目简介1. 图像加载与显示2. 矩形标注3. OCR识别4. 标注的保存与加载5. 裁剪与重置图像

Java使用Tesseract-OCR实战教程

《Java使用Tesseract-OCR实战教程》本文介绍了如何在Java中使用Tesseract-OCR进行文本提取,包括Tesseract-OCR的安装、中文训练库的配置、依赖库的引入以及具体的代... 目录Java使用Tesseract-OCRTesseract-OCR安装配置中文训练库引入依赖代码实

Spring Boot集成Tess4J实现OCR

1.什么是Tess4j? Tesseract是一个开源的光学字符识别(OCR)引擎,它可以将图像中的文字转换为计算机可读的文本。支持多种语言和书面语言,并且可以在命令行中执行。它是一个流行的开源OCR工具,可以在许多不同的操作系统上运行。Tess4J是一个基于Tesseract OCR引擎的Java接口,可以用来识别图像中的文本,说白了,就是封装了它的API,让Java可以直接调用。 Tess

时间序列|change point detection

change point detection 被称为变点检测,其基本定义是在一个序列或过程中,当某个统计特性(分布类型、分布参数)在某时间点受系统性因素而非偶然因素影响发生变化,我们就称该时间点为变点。变点识别即利用统计量或统计方法或机器学习方法将该变点位置估计出来。 Change Point Detection的类型 online 指连续观察某一随机过程,监测到变点时停止检验,不运用到

推荐一款强大的OCR软件,请低调使用!

今天给大家分享一款开源的OCR识别软件,可以提升大家的办公效率——Umi-OCR,支持window​和Linux系统。 Umi-OCR支持提取一张图片或者多张图片的信息,只需通过右边的功能页选择相应的功能。 点击左边的“截图OCR”进入页面 点击“截图”按钮选取截图区域,直接在右边的记录中​提取出截图中的信息。 批量OCR功能也一样,点击左边菜单的“批量OCR”菜单

Deep Ocr

1.圈出内容,文本那里要有内容.然后你保存,并'导出数据集'. 2.找出deep_ocr_recognition_training_workflow.hdev 文件.修改“DatasetFilename := 'Test.hdict'” 310行 write_deep_ocr (DeepOcrHandle, BestModelDeepOCRFilename) 3.推理test.hdev

MACS bdgdiff: Differential peak detection based on paired four bedGraph files.

参考原文地址:[http://manpages.ubuntu.com/manpages/xenial/man1/macs2_bdgdiff.1.html](http://manpages.ubuntu.com/manpages/xenial/man1/macs2_bdgdiff.1.html) 文章目录 一、MACS bdgdiff 简介DESCRIPTION 二、用法

使用百度飞桨PaddleOCR进行OCR识别

1、代码及文档 代码:https://github.com/PaddlePaddle/PaddleOCR?tab=readme-ov-file 介绍文档:https://paddlepaddle.github.io/PaddleOCR/ppocr/overview.html 2、依赖安装 在使用过程中需要安装库,可以依据代码运行过程中的提示安装。我使用的为python3.7,安装库为:

免费OCR 文字识别工具

免费:本项目所有代码开源,完全免费。 方便:解压即用,离线运行,无需网络。 高效:自带高效率的离线OCR引擎,内置多种语言识别库。 灵活:支持命令行、HTTP接口等外部调用方式。 功能:截图OCR / 批量OCR / PDF识别 / 二维码 / 公式识别 下载地址:https://pan.quark.cn/s/f263ecc221b7

Learning Memory-guided Normality for Anomaly Detection——学习记忆引导的常态异常检测

又是一篇在自编码器框架中研究使用记忆模块的论文,可以看做19年的iccv的论文的衍生,在我的博客中对19年iccv这篇论文也做了简单介绍。韩国人写的,应该是吧,这名字听起来就像。 摘要abstract 我们解决异常检测的问题,即检测视频序列中的异常事件。基于卷积神经网络的异常检测方法通常利用代理任务(如重建输入视频帧)来学习描述正常情况的模型,而在训练时看不到异常样本,并在测试时使用重建误