CRNN英文字符识别代码运行测试 | 论文理解 | 【OCR】

2023-12-21 22:58

本文主要是介绍CRNN英文字符识别代码运行测试 | 论文理解 | 【OCR】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

CRNN英文字符识别代码运行测试 | 论文理解

    • 论文理解
    • 环境搭建
    • 运行过程如下
      • 模型准备
      • 项目目录结构
      • 测试图片
      • 代码运行


  • 论文地址

https://arxiv.org/abs/1507.05717

  • 所测试代码

https://github.com/meijieru/crnn.pytorch


论文理解


摘要:

基于图像的序列识别一直是计算机视觉领域的一个长期研究课题。在本文中,我们研究了场景文本识别问题,这是基于图像的序列识别中最重要和最具挑战性的任务之一。提出了一种新的神经网络架构,将特征提取、序列建模和转录集成到一个统一的框架中。与之前的场景文本识别系统相比,所提出的架构具有四个独特的特性:
(1)与大多数现有算法的组件分别训练和调整相比,它是端到端可训练的。
(2) 它自然地处理任意长度的序列,不涉及字符分割或水平尺度归一化。
(3) 它不限于任何预定义的词典,并且在无词典和基于词典的场景文本识别任务中都取得了卓越的性能。
(4) 它生成了一个有效但更小的模型,这对于现实世界的应用场景更实用。
(5) 泛化能力强,可用于其它不同的任务
在标准基准上的实验,包括 IIIT-5K、街景文本和 ICDAR 数据集,证明了所提出的算法优于现有技术。此外,所提出的算法在基于图像的乐谱识别任务中表现良好,这显然验证了其通用性。

CRNN 网络结构图

6-0

特征序列 和 感受野的 直观理解

6-1

认识双向LSTM

6-2

原本 Network configuration summary.

6-4


环境搭建


  • 参照: requirements.txt 文件
lmdb==0.97
numpy==1.17.2
Pillow==6.1.0
six==1.12.0
torch==1.2.0
torchvision==0.4.0
  • 一个普通的 pytorch1.2 环境搭建操作,实测 安装 torch1.4 一样可以运行:
conda create -n torch14 python=3.6.6conda activate torch14conda install pytorch==1.4.0 torchvision==0.5.0 cudatoolkit=10.0 -c pytorchpip install opencv-pythonpip install scipypip install thop

运行过程如下


模型准备

0-0

项目目录结构

0-3

测试图片

0-4

代码运行


# 运行命令如下:
CUDA_VISIBLE_DEVICES=2 python demo.py # 输出效果如下loading pretrained model from ./data/crnn.pth
a-----v--a-i-l-a-bb-l-e--- => available           

日常水文,多谢查阅

9-9


这篇关于CRNN英文字符识别代码运行测试 | 论文理解 | 【OCR】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

深入理解go中interface机制

《深入理解go中interface机制》本文主要介绍了深入理解go中interface机制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前言interface使用类型判断总结前言go的interface是一组method的集合,不

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

Java Spring的依赖注入理解及@Autowired用法示例详解

《JavaSpring的依赖注入理解及@Autowired用法示例详解》文章介绍了Spring依赖注入(DI)的概念、三种实现方式(构造器、Setter、字段注入),区分了@Autowired(注入... 目录一、什么是依赖注入(DI)?1. 定义2. 举个例子二、依赖注入的几种方式1. 构造器注入(Con

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

Python中图片与PDF识别文本(OCR)的全面指南

《Python中图片与PDF识别文本(OCR)的全面指南》在数据爆炸时代,80%的企业数据以非结构化形式存在,其中PDF和图像是最主要的载体,本文将深入探索Python中OCR技术如何将这些数字纸张转... 目录一、OCR技术核心原理二、python图像识别四大工具库1. Pytesseract - 经典O

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

python多线程并发测试过程

《python多线程并发测试过程》:本文主要介绍python多线程并发测试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、并发与并行?二、同步与异步的概念?三、线程与进程的区别?需求1:多线程执行不同任务需求2:多线程执行相同任务总结一、并发与并行?1、