【Keras计算机视觉OCR文字识别】文字检测算法中CTPN、CRAFT的讲解(图文解释 超详细)

简介: 【Keras计算机视觉OCR文字识别】文字检测算法中CTPN、CRAFT的讲解(图文解释 超详细)

觉得有帮助麻烦点赞关注收藏~~~

一、OCR文字识别的概念

OCR(Optical Character Recognition)图像文字识别是人工智能的重要分支,赋予计算机人眼的功能,可以看图识字。如图6-1所示,图像文字识别系统流程一般分为图像采集、文字检测、文字识别及结果输出四个部分。  识别流程图如下

二、文字检测

传统的问题检测算法

输入一张文字图像,传统的文字检测算法将文字检测出来,要有图像预处理和文字行提取两个阶段,其中图像预处理包括几何校正、模糊校正、二值化等,文字行提取是基于版面分析获取文字行区域

预处理之后即可进行文字识别,文字行识别主要有基于切分的文字识别和不依赖切分的文字识别这两种方法,基于切分的文字识别方法需要先将文字行切分成单字,然后提取文字的方向梯度直方图或者通过卷积神经网络得到的特征信息,最后将提取的特征送入AdaBoost、SVM等分类器中进行识别,而不依赖于切分的文字识别方法能够对文本行直接进行识别,无须切分处理,主要包括基于滑窗的文字识别方法和基于序列的文字识别方法

基于深度学习的文字检测算法

基于深度学习的文本检测,通常遵循前面介绍的经典算法R-CNN网络框架,首先提取可能包含有文本的候选区域,之后利用卷积神经网络将其分类为文本或者非文本区域,并通过回归的方式校正文本区域的坐标位置信息。下面介绍CTPN CRAFT是目前最流行的两种文本检测算法,下面将着重介绍CTPN和CRAFT两种文本检测算法

1:基于CTPN的文本检测算法

CTPN算法是在目标检测算法Fasetr R-CNN模型上改进的算法,CTPN网络结果本质上是全卷积神经网络,通过在卷积特征图上以固定步长的滑动窗孔检测文本行,输出细粒度文本候选框序列。文本检测的难点在于文本的长度是不固定的,可以是很长的文本,也可以是很短的文本。CTPN针对文字检测的特点,提出了关键性的创新,即提出了垂直锚点机制,具体的做法是只预测文本的竖直方向上的位置,水平方向的位置不预测,与Faster R-CNN中的锚点类似,但是不同的是,垂直锚点的宽度是固定的16像素,而高度则从11像素到273像素变化,检测得到细粒度的文字检测结果,采用RNN循环网络将检测的小尺度文本进行连接,得到需要的文本框

CTPN结构如下图所示,在后面加入了LSTM层,首先将原图片输入VGG-16卷积神经网络的前五个卷积层,在第五层卷积层进行了卷积操作后,特征图输入到双向LSTM中,之后将双向LSTM层连接到512维的全连接层,再将全连接层特征输入到三个分类器中来预测候选框的文本或非文本分数、坐标信息以及文本框边缘调整补偿值,最后通过文本线将多个候选框构造成一个文本框

2:基于CRAFT算法的文本检测算法

CRAFT算法实现文本行的检测如下图所示,首先将完整的文字区域输入CRAFT文字检测网络,得到字符级的文字得分结果热图和字符级文本连接得分热图,最后根据连通域得到每个文本行的位置

CRAFT算法通过探索每个字符和字符之间的亲和力来有效的检测文本区域,通过学习中间模型估计真实图像的字符集标签,并利用了合成图像的给定字符集注释,克服了缺乏单个字符级注释的缺点,为了估计字符之间的亲和力,使用关联性表示来训练网络,,CRAFT模型在解码部分用了类似图像分割U-Net算法的结构,最终的输出有两个通道:文字区域分数和连接分数

网络输入文字区域分数和连接之后,下面就要把字符区域合成文本行,首先通过阈值过滤文字区域分数,进行二值化,然后通过连通域分析算法,得到最终的文本行

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
7月前
|
监控 安全 算法
137_安全强化:输入过滤与水印 - 实现输出水印的检测算法与LLM安全防护最佳实践
随着大语言模型(LLM)在各行业的广泛应用,安全问题日益凸显。从提示注入攻击到恶意输出生成,从知识产权保护到内容溯源,LLM安全已成为部署和应用过程中不可忽视的关键环节。在2025年的LLM技术生态中,输入过滤和输出水印已成为两大核心安全技术,它们共同构建了LLM服务的安全防护体系。
745 148
|
8月前
|
传感器 资源调度 算法
DDMA-MIMO雷达多子带相干累积目标检测算法——论文阅读
本文提出一种多子带相干累积(MSCA)算法,通过引入空带和子带相干处理,解决DDMA-MIMO雷达的多普勒模糊与能量分散问题。该方法在低信噪比下显著提升检测性能,实测验证可有效恢复目标速度,适用于车载雷达高精度感知。
962 4
DDMA-MIMO雷达多子带相干累积目标检测算法——论文阅读
|
7月前
|
机器学习/深度学习 文字识别 Linux
Umi-OCR_文字识别工具 免安装使用教程(附下载安装包)!永久免费,开源离线OCR识别软件下载
Umi-OCR是一款开源免费、支持离线运行的高精度OCR文字识别工具,基于深度学习技术,可快速识别中文、英文、日文等多种语言。无需联网,保护隐私,适用于Windows和Linux系统,解压即用,操作简便,是处理图片转文本的理想选择。
4833 7
|
7月前
|
开发框架 算法 .NET
基于ADMM无穷范数检测算法的MIMO通信系统信号检测MATLAB仿真,对比ML,MMSE,ZF以及LAMA
简介:本文介绍基于ADMM的MIMO信号检测算法,结合无穷范数优化与交替方向乘子法,降低计算复杂度并提升检测性能。涵盖MATLAB 2024b实现效果图、核心代码及详细注释,并对比ML、MMSE、ZF、OCD_MMSE与LAMA等算法。重点分析LAMA基于消息传递的低复杂度优势,适用于大规模MIMO系统,为通信系统检测提供理论支持与实践方案。(238字)
|
机器学习/深度学习 文字识别 自然语言处理
OCR技术:解锁文字识别的无限可能
OCR(光学字符识别)技术是数字化浪潮中的关键工具,可将纸质文档、手写笔记或复杂背景下的文字图像转化为可编辑文本。本文从图像采集、预处理、字符识别到文本校正,全面解析OCR技术的原理,并探讨其在智能办公、智慧交通、便捷生活等领域的广泛应用。未来,OCR将与自然语言处理、计算机视觉等技术深度融合,推动智能化和综合化发展。通过开放生态系统和政策支持,开发者可探索更多创新场景,如古籍数字化、盲人阅读等,为社会带来更多价值。
2195 57
|
11月前
|
算法 数据安全/隐私保护
基于Logistic-Map混沌序列的数字信息加解密算法matlab仿真,支持对文字,灰度图,彩色图,语音进行加解密
本项目实现了一种基于Logistic Map混沌序列的数字信息加解密算法,使用MATLAB2022A开发并包含GUI操作界面。支持对文字、灰度图像、彩色图像和语音信号进行加密与解密处理。核心程序通过调整Logistic Map的参数生成伪随机密钥序列,确保加密的安全性。混沌系统的不可预测性和对初值的敏感依赖性是该算法的核心优势。示例展示了彩色图像、灰度图像、语音信号及文字信息的加解密效果,运行结果清晰准确,且完整程序输出无水印。
基于Logistic-Map混沌序列的数字信息加解密算法matlab仿真,支持对文字,灰度图,彩色图,语音进行加解密
|
11月前
|
机器学习/深度学习 运维 监控
实时异常检测实战:Flink+PAI 算法模型服务化架构设计
本文深入探讨了基于 Apache Flink 与阿里云 PAI 构建的实时异常检测系统。内容涵盖技术演进、架构设计、核心模块实现及金融、工业等多领域实战案例,解析流处理、模型服务化、状态管理等关键技术,并提供性能优化与高可用方案,助力企业打造高效智能的实时异常检测平台。
1074 1
|
10月前
|
存储 监控 算法
基于跳表数据结构的企业局域网监控异常连接实时检测 C++ 算法研究
跳表(Skip List)是一种基于概率的数据结构,适用于企业局域网监控中海量连接记录的高效处理。其通过多层索引机制实现快速查找、插入和删除操作,时间复杂度为 $O(\log n)$,优于链表和平衡树。跳表在异常连接识别、黑名单管理和历史记录溯源等场景中表现出色,具备实现简单、支持范围查询等优势,是企业网络监控中动态数据管理的理想选择。
268 0
|
11月前
|
机器学习/深度学习 监控 算法
面向办公室屏幕监控系统的改进型四叉树屏幕变化检测算法研究
本文提出一种改进型四叉树数据结构模型,用于优化办公室屏幕监控系统。通过动态阈值调节、变化优先级索引及增量更新策略,显著降低计算复杂度并提升实时响应能力。实验表明,该算法在典型企业环境中将屏幕变化检测效率提升40%以上,同时减少资源消耗。其应用场景涵盖安全审计、工作效能分析及远程协作优化等,未来可结合深度学习实现更智能化的功能。
206 0
|
机器学习/深度学习 数据采集 算法
基于yolov2和googlenet网络的疲劳驾驶检测算法matlab仿真
本内容展示了基于深度学习的疲劳驾驶检测算法,包括算法运行效果预览(无水印)、Matlab 2022a 软件版本说明、部分核心程序(完整版含中文注释与操作视频)。理论部分详细阐述了疲劳检测原理,通过对比疲劳与正常状态下的特征差异,结合深度学习模型提取驾驶员面部特征变化。具体流程包括数据收集、预处理、模型训练与评估,使用数学公式描述损失函数和推理过程。课题基于 YOLOv2 和 GoogleNet,先用 YOLOv2 定位驾驶员面部区域,再由 GoogleNet 分析特征判断疲劳状态,提供高准确率与鲁棒性的检测方法。