目录
基于字典引导的场景文本识别
- 我们提出了一种新颖的基于字典引导的场景文本识别方法,可用于改进许多最先进的模型。
- 我们还引入了一个新的越南语场景文本识别基准数据集(即VinText)。
传统方法与我们提出的方法的对比。 |
有关数据集构建、模型架构和实验结果的详细信息,请参阅我们的论文:
@inproceedings{m_Nguyen-etal-CVPR21,
author = {Nguyen Nguyen and Thu Nguyen and Vinh Tran and Triet Tran and Thanh Ngo and Thien Nguyen and Minh Hoai},
title = {Dictionary-guided Scene Text Recognition},
year = {2021},
booktitle = {Proceedings of the {IEEE} Conference on Computer Vision and Pattern Recognition (CVPR)},
}
请在使用我们的数据集或模型实现来产生发表结果或将其纳入其他软件时,引用我们的论文。
数据集
我们推出了✨全新的VinText数据集。
下载此数据集即表示用户同意:
- 仅将此数据集用于研究或教育目的
- 不以原始或修改后的形式分发此数据集或其任何部分
- 在使用此数据集来产生发表结果时引用我们的论文
名称 | 图像数量 | 文本实例数量 | 示例 |
---|---|---|---|
VinText | 2000 | 约56000 |
有关✨VinText数据集的详细信息,请参阅我们的论文。 下载转换后的数据集以尝试我们的模型
VinText
解压数据并将文件夹复制到datasets/
文件夹
datasets
└───vintext
└───test.json
│train.json
|train_images
|test_images
└───evaluation
└───gt_vintext.zip
入门指南
环境要求
- python=3.7
- torch==1.4.0
- detectron2==0.2
安装
conda create -n dict-guided -y python=3.7
conda activate dict-guided
conda install -y pytorch torchvision cudatoolkit=10.0 -c pytorch
python -m pip install ninja yacs cython matplotlib tqdm opencv-python shapely scipy tensorboardX pyclipper Polygon3 weighted-levenshtein editdistance
# 安装Detectron2
python -m pip install detectron2==0.2 -f \
https://dl.fbaipublicfiles.com/detectron2/wheels/cu100/torch1.4/index.html
检出代码并安装:
git clone https://github.com/nguyennm1024/dict-guided.git
cd dict-guided
python setup.py build develop
下载VinText预训练模型
使用
准备文件夹
mkdir sample_input
mkdir sample_output
将您的图像复制到sample_input/
。输出图像将保存在sample_output/
python demo/demo.py --config-file configs/BAText/VinText/attn_R_50.yaml --input sample_input/ --output sample_output/ --opts MODEL.WEIGHTS 训练模型检查点的路径
VinText上的定性结果。 |
训练和评估
训练
对于训练,我们使用ABCNet仓库中的预训练模型tt_attn_R_50进行初始化。
python tools/train_net.py --config-file configs/BAText/VinText/attn_R_50.yaml MODEL.WEIGHTS tt_attn_R_50检查点的路径
示例:
python tools/train_net.py --config-file configs/BAText/VinText/attn_R_50.yaml MODEL.WEIGHTS ./tt_attn_R_50.pth
训练后的模型输出将保存在output/batext/vintext/
文件夹中,然后用于评估
评估
python tools/train_net.py --eval-only --config-file configs/BAText/VinText/attn_R_50.yaml MODEL.WEIGHTS 训练模型检查点的路径
示例:
python tools/train_net.py --eval-only --config-file configs/BAText/VinText/attn_R_50.yaml MODEL.WEIGHTS ./output/batext/vintext/trained_model.pth
致谢
本仓库基于ABCNet构建