TensorFlow CTPN Demo Windows 无痛搭建

article/2025/11/1 23:04:22

TensorFlow CTPN Demo Windows 无痛搭建


一原材料

  1. PyCharm
    下载地址: http://www.jetbrains.com/pycharm/
  2. TensorFlow
    安装教程移步至: https://blog.csdn.net/yx123919804/article/details/84111774
  3. CTPN源码
    下载地址: https://github.com/eragonruan/text-detection-ctpn/releases
    把下图中框的两个文件下载到本地, 解压源代码
    code
    解压后如图, 强迫症的你还是把名字改一下吧, 如改成text-detection-ctpn-untagged
    decode
    打开text-detection-ctpn-untagged里面的requirements.txt看看里面需要哪些库, 在Anaconda Prompt里或者Anaconda中安装上, 可以都安装最新版本, 如果不先安装, 可以像下面填坑那样安装

二. 运行步骤

  1. 用PyCharm打开工程
    open
  2. 设置工程的解释器, File->Settings打开设置窗口, 将解释器设置成安装有Tensorflow的Environment中的python.exe
    interpreter
  3. 打开demo_pb.py, 定位点main函数位置
    main
  4. 好, 现在可以点main前面的三角形, 选择Debug 'demo_pb’运行一下试试看
    debug
    坑1: 第1个坑来了
    k1
    k1-console
    意思是没有easydict这个库, 那我们就把它安装上, 在Anaconda Prompt中激活Environment, 输入pip install easydict
    很快就可以安装好
    easydict
  5. 安装完成后, 点下图所示的地方停止Debug
    stop
    停止后就可以点下图框中的"小虫子"开始调试了, 试一下
    在这里插入图片描述
    坑2: 坑Again
    k2
    k2
    说没有ctpn/text.yml这个东东, 那我们就再填一下, 在def cfg_from_file(filename):函数后面看到了传进来的参数是’ctpn/text.yml’ 但是这个路径不存在, 我们看工程目录中明明有这个文件的
    text
    出现这个问题是因为demo_pb和text在同一个文件夹下, 意思是当前目录在cptn这个文件夹, main函数中的cfg_from_file调用是传入的参数是’ctpn/text.yml’ 当前目录cptn下没有cptn文件夹了, 所以会出错
    call
    将参数改成text.yml停止后再重新点"小虫子"试试看
    change_param
    坑3: 坑又来, 说没有data/ctpn.pb这个路径
    k3
    k3
    再填, 是否已经注意到工程目录下多了个data\results的路径
    path
    把上面下载的ctpn.pb放到ctpn\data文件夹中
    ctpn
    坑4: 停止后再Debug一下看看, 果然坑不断, ‘str’ object has no attribute ‘decode’
    k4
    k4
    这个坑是因为编码的问题,将 lib\rpn_msr\propsol_layer_tf.py的45行cfg_key=cfg_key.decode(‘ascii’)改成cfg_key=cfg_key.encode(‘ascii’).decode(‘ascii’)
    encode
    坑5: 再停止点"小虫子", 还会出现下图的小坑
    k5
    k5
    上图的红框中的路径有一个明显的错误, 所以问题是出现在open函数的参数, 路径的拼接不正确, 看29行, base_name = image_name.split(’/’)[-1], 是这句话出了问题, 在Windows下, 路径是以’\‘分割的, 所以在分割字符串的时候, 分割符要用’\’, 所以将split(’/’)改成split(’\\’)就好了, 注意是两个杠, 因为’\'是转意字符, 如下图
    k5
    现在, 所有的坑已经填好, 再停止, Debug, 可以看到正常运行了
    result
    在cptn\data\result中可以看到运行结果
    result
    有一点不好的是, 倾斜的字符标记框也是正的, 所以要想检测倾斜的字, 将text.yml中第36行中DETECT_MODE: H改成DETECT_MODE: O(字母)
    mode
    mode
    改完后运行结果如下
    result

三. 检测自己的图片

将图片放到…\data\demo中就可以了, 注意不要有中文, 不要有中文, 不要有中文
user


四. 使用GPU

如果你电脑安装了GPU版的Tensorflow, 会自动用GPU运行, 但是, 如果你的显存比较小, 会出现显存不足的情况, 如果出现了, 就要限制GPU的使用率, 打开demo_pb.py, 按下图修改
gpu


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

相关文章

CRNN——pytorch + wrap_ctc编译,实现pytorch版CRNN

文章目录 简介CTC网络的输入CTC网络的计算过程CTC网络的输出pytorch安装warp-CTC安装Bug解决References 简介 CTC可以生成一个损失函数,用于在序列数据上进行监督式学习,不需要对齐输入数据及标签,经常连接在一个RNN网络的末端,训…

OCR文本扫描 轮廓检测 透视变换

OCR文本扫描项目实战(图像预处理,调用pytesseract.image_to_string()完成文本识别) 本项目和源代码来自唐宇迪opencv项目实战 本文是一篇OCR文本扫描项目实战的学习笔记。在opencv-python环境下对图像进行轮廓检测、透视变换等处理。调用pytesseract模块实现文本扫…

搭建CRNN模型(基于windows与tensorflow)

3.1.1.CRNN介绍 通过CNN将图片的特征提取出来后采用RNN对序列进行预测,最后通过一个CTC的翻译层得到最终结果。说白了就是CNNRNNCTC的结构。 Git 地址https://github.com/bgshih/crnn 论文:paper http://arxiv.org/abs/1507.05717. 3.1.2.CNN介绍 CNN…

CTPN训练集准备

去down vgg_16.ckpt预训练模型准备一堆你需要训练的图片,使用labelme进行标注,得到一堆json文件 json文件大致如下: {"flags": {},"shapes": [{"label": "str","line_color": null,"…

【项目实践】中英文文字检测与识别项目(CTPN+CRNN+CTC Loss原理讲解)

点击上方“小白学视觉”,选择加"星标"或“置顶” 重磅干货,第一时间送达本文转自:opencv学堂 OCR——简介 文字识别也是图像领域一个常见问题。然而,对于自然场景图像,首先要定位图像中的文字位置&#xff0…

『工程项目实践』银行卡识别(CTPN+CRNN)

银行卡识别 前言一、数据预处理1.1 数据准备1.2 数据增强 二、训练(CRNN)三、需要修改的内容3.1 数据增强3.2 训练 四、CRNN 结构说明4.1 CNN4.2 BiLSTM4.3 CTC 五、卡号检测六、BIN码校验参考链接 前言 对各种银行卡进行卡号识别,CTPN 进行文…

【深度学习】YOLOv5 中使用的 CSPNet 是怎么回事

论文:https://arxiv.org/pdf/1911.11929.pdf CSPNet全称是Cross Stage Partial Network,主要从一个比较特殊的角度切入,能够在降低20%计算量的情况下保持甚至提高CNN的能力。 跨阶段局部网络(CSPNet)是 Wang 等人于 20…

Opencv多语言自然场景文本识别系统(源码&教程)

1. 研究背景 人类在自然场景中可以快速定位并识别看到的文字信息,但是想要计算机做到和人类一样是比较困难的。开发人员一直想要让机器也能识别图像中的文字信息。当然,对于自然场景来说,图像中的信息复杂甚至是低效的,文字旁的物体﹑光影,以及字体颜色、大小、书写…

深度学习CTPN+CRNN模型实现图片内文字的定位与识别(OCR)

1:样本获取 **算法论文:** Synthetic Data for Text Localisation in Natural Images Github: https://github.com/ankush-me/SynthText **词库:** https://pan.baidu.com/s/10anmu 英文词汇 经过处理后得到大约500兆 6000万词组 **字体:** ubntu系统下支持中文的字体&…

ctpn、east阅读要点记录

最近要做一些ocr的事情,阅读了文字定位的相关论文,主要是ctpn和east.下面对这两篇论文的药店进行一个记录。 CTPN ctpn结合了卷积神经网络和循环神经网络。卷机神经网络用于提取图片特征,循环神经网络能够帮助提升对文字的定位和分类的准确…

基于CTPN(tensorflow)+CRNN(pytorch)+CTC的不定长文本检测和识别

文章主要是为了说明在windows平台下调试遇到的问题。 代码地址:https://github.com/Aurora11111/chinese-ocr-pytorch 按照相关说明,安装相关的pytorch和tensorflow,我使用的是python3.7 下载代码后,需要进行修改才能在windows…

OCR文字识别项目(原理)

参考视频: OCR文字识别原理 OCR光学字符识别:提取图像中的文字,并转换为文本形式,供后续NLP使用。 一、CTPN算法:文字检测 二、CRNN算法:文字识别 池化此时为12。才能把特征变为适用于输入到RNN中。

CTPN+CRNN算法端到端实现文字识别的实战开发

本文分享自华为云社区《CTPNCRNN 算法端到端实现文字识别》,作者:HWCloudAI。 OCR介绍 光学字符识别(英语:Optical Character Recognition,OCR)是指对文本资料的图像文件进行分析识别处理,获取…

OCR入门教程系列(五):OCR实战代码解析

👨‍💻作者简介: CSDN、阿里云人工智能领域博客专家,新星计划计算机视觉导师,百度飞桨PPDE,专注大数据与AI知识分享。✨公众号:GoAI的学习小屋 ,免费分享书籍、简历、导图等,更有交流群分享宝藏资料,关注公众号回复“加群”或➡️链接 加群。 🎉专栏推荐: ➡️ …

制作自己的ctpn数据集

制作自己的ctpn数据集 1、利用label-image标注自己的数据集,保存为.txt文件,结果如下: 上图第一列 0:标签 后面的小数是label—image标注的坐标框位置(归一化后的结果) 2、ctpn数据集的格式:…

CTPN文本检测与tensorflow实现

1. 引言 近年来,随着人工智能的发展,文本检测在很多任务中都是一项基本任务,比如广告牌中文字识别、智能驾驶路牌的检测、身份证识别、快递地址识别等。这些任务中首先的一项就是文本检测,即检测出文本在图像中的位置,…

制作自己的CTPN训练集

制作自己的CTPN训练集 使用labelimg工具制作YOLO格式再将其转为CTPN中需要的8个坐标 1.标注框 2.代码生成坐标并保存 import cv2 import os def change_labelimage_to_cptn_data(pictures_file_path, txt_file_path, cptn_data_labels_path):list os.listdir(txt_file_pat…

【文本检测与识别-白皮书-3.1】第四节:算法模型 2

CTPN CTPN,全称是“Detecting Text in Natural Image with Connectionist Text Proposal Network”(基于连接预选框网络的文本检测)。CTPN直接在卷积特征映射中检测一系列精细比例的文本建议中的文本行。CTPN开发了一个垂直锚定机制&#xf…

CPTN代码运行报错

Windows10 系统运行 github上给的是linux操作系统指令 因为我是Windows10 的系统,不能通过setup的指令得到所需文件,后面根据https://github.com/eragonruan/text-detection-ctpn/issues/359的方法到第4步报错 错误1: 找不到cl.exe&#x…

JAVA项目实战开发电商项目案例(十)订单与支付模块

文章目录 1项目架构2项目采用技术3订单与支付模块功能演示4如何开发支付宝的支付模块以及订单模块4.1首先需要编写前端页面以及JS文件4.2其次需要编写JAVA后台接口4.3支付模块分析4.4订单模块分析5代码分析6个人说明7 [我的个人网站](http://www.liph.fun)8获取源码 此次电商系…