littlebot
Published on 2025-04-11 / 0 Visits
0

【源码】基于Python的台湾场景文本定位与识别系统

项目简介

本项目基于Python构建,利用深度学习技术实现台湾场景图像中文本的定位与识别。项目覆盖了从训练数据预处理、数据扩增、模型训练,到文本定位与识别以及结果筛选的全流程。

项目的主要特性和功能

  1. 文本定位:采用特定模型精确确定图像中文字的位置,支持字符和字符串的不同定位需求。
  2. 文本识别:训练文字识别模型,准确识别定位出的文字区域。
  3. 数据处理:具备全面的数据预处理功能,包括获取中文字元、提取文字区块、划分数据集和生成Ground Truth等。
  4. 数据扩增:通过相关工具对数据进行扩增,增强模型的泛化能力。
  5. 结果筛选:可对识别结果进行筛选和重组,提高结果的准确性和可用性。

安装使用步骤

环境准备

  • 文字定位模型环境:安装torch==0.4.1.post2、torchvision==0.2.1、opencv-python==3.4.2.17、scikit-image==0.14.2、scipy==1.1.0。
  • 文字识别模型环境:安装torch==1.10.0+cu113、lmdb==1.2.1、pillow==8.2.0、torchvision==0.11.1+cu113、nltk==3.6.5、natsort==8.0.0。
  • 扩增数据处理:执行pip install trdg安装相关套件。

训练数据预处理

  • 获取中文字元文字档:执行python ./toolCode/getLabelCharFromJson.py,若有两个中文字元文字档,可使用python ./toolCode/combine2CharTxt.py合并。
  • 提取文字区块:执行python ./toolCode/convertJsonToTxtAndGetCropImage.py
  • 分割数据集:将用于训练的影像存于trainingDataset/training,执行python ./toolCode/dividValidAndTest.py分割。
  • 生成Ground Truth:将generateGT.py中的typeString分别改为trainingtestvalidation,各执行一次python ./toolCode/generateGT.py

训练文字识别模型

  • 建立lmdb数据集:分别执行以下命令建立训练集、验证集、测试集的lmdb数据集。
  • 训练集:python create_lmdb_dataset.py --inputPath ./trainingDataset/ --gtFile ./trainingDataset/training_GT.txt --outputPath ./data_lmdb_release/training/data/data_train/
  • 验证集:python create_lmdb_dataset.py --inputPath ./trainingDataset/ --gtFile ./trainingDataset/validation_GT.txt --outputPath ./data_lmdb_release/training/data/data_valid/
  • 测试集:python create_lmdb_dataset.py --inputPath ./trainingDataset/ --gtFile ./trainingDataset/test_GT.txt --outputPath ./data_lmdb_release/training/data/data_test/
  • 训练模型:执行python train.py --train_data data_lmdb_release/training/data/data_train --valid_data data_lmdb_release/training/data/data_valid --Transformation TPS --FeatureExtraction ResNet --SequenceModeling BiLSTM --Prediction Attn --data_filtering_off

执行文字定位及识别

  • 执行文字定位模型:根据需求调整craft_run.py中的link_threshold参数,执行python ./craft_run.py
  • 提取文字区块并保存:执行python ./toolCode/generateCropImgFromCraftTxt.py
  • 执行文字识别模型:执行python demo.py --Transformation TPS --FeatureExtraction ResNet --SequenceModeling BiLSTM --Prediction Attn --image_folder ./positionCrop --saved_model ./saved_models/TPS-ResNet-BiLSTM-Attn-Seed1111/best_accuracy.pth

识别结果筛选

  • 若将定位结果分为Word、Char两部分识别,依次执行以下命令:
  • python ./toolCode/demoResult_Word.py
  • python ./toolCode/demoResult_Char.py
  • 手动合并demoResult_Word_filter.txtdemoResult_Char_filter.txtdemoResult_WordChar_filter.txt,执行python ./toolCode/sortDemoWordChar.py
  • 基本筛选:执行python ./toolCode/filterTxtToCsvResult.py
  • 基本筛选+字串文字重组:执行python ./toolCode/filterTxtToCsvResultAdvance.py

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】