ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

文字检测双雄数据集详解:ICDAR2015与SynthText 800K如何为FOTS.PyTorch做好准备

2026/8/24 12:07:17 拓冰建站 浏览量
文字检测双雄数据集详解:ICDAR2015与SynthText 800K如何为FOTS.PyTorch做好准备 文字检测双雄数据集详解ICDAR2015与SynthText 800K如何为FOTS.PyTorch做好准备【免费下载链接】FOTS.PyTorchFOTS Pytorch Implementation项目地址: https://gitcode.com/gh_mirrors/fo/FOTS.PyTorchFOTS.PyTorch 是一个基于 PyTorch 的端到端文字检测与识别Text Spotting实现它原生支持两大经典文字检测数据集ICDAR2015与SynthText 800K。对新手来说理解这两个数据集一个管预训练、一个管精调与评测的分工是跑通 FOTS.PyTorch 的第一步。本文带你快速摸清它们的目录结构、标注格式与接入方式。两个数据集各有分工 FOTS 的训练流程是典型的两阶段策略两个数据集各司其职数据集角色数据来源规模SynthText 800K预训练Pretrain合成渲染图像约 80 万张ICDAR2015精调Finetune 评测真实自然场景照片数千张先用海量合成数据让模型学会找文字、认文字再用真实场景数据把模型校准到实际分布上——这正是 pretrain.json 与 finetune.json 两份配置分别对应的训练阶段。ICDAR2015真实场景文字检测的基准数据集 ICDAR2015 是文字检测领域的标杆数据集标注采用多边形标注每个词用 4 个顶点坐标表示且附带文字内容transcript天然适合 FOTS 这种检测识别端到端任务。目录结构与标注格式FOTS 的 ICDARDataset 约定如下结构imgs/场景图片*.jpggt/标注文件gt_xxx.txt与图片一一对应每个标注文件一行一个词格式为x1,y1,x2,y2,x3,y3,x4,y4,文字内容其中前 8 个数字是四边形四个顶点的坐标逗号后是识别文本。加载逻辑见 FOTS/data_loader/icdar_dataset.py 中的__loadGT方法。训练时的数据加工数据集在取样本时会同步做随机缩放、旋转、裁剪等增强见 FOTS/data_loader/transforms.py并把多边形标注转换为文字检测常用的score map文字区域图、geo map几何图与训练掩码供模型监督训练。SynthText 800K80万合成图像的预训练燃料 SynthText 是目前最大的合成场景文字数据集包含约 84 万张图像。它用渲染方式把文字贴进真实背景解决了真实数据标注昂贵的问题非常适合做检测模型的预训练。标注是一个大 mat 文件与 ICDAR2015 的逐文件标注不同SynthText 的标注集中在一个gt.mat文件中。SynthTextDatasetFactory 只读取其中三个字段imnames图像路径列表wordBB每个词的四边形框txt对应的文字内容目录结构约定SynthText800k/detection/ ├── gt.mat # 全量标注 └── imgs/ # 原始图像数据集工厂会按比例自动划分 train/val 集验证集默认取 1%无需手工切分详见 FOTS/data_loader/synthtext_dataset.py。数据集如何接入FOTS.PyTorch一份配置搞定 ⚙️两个数据集的接入都被封装成 PyTorch Lightning 的 DataModule位于 FOTS/data_loader/data_module.pySynthTextDataModule服务 SynthText 预训练ICDARDataModule服务 ICDAR2015 精调train 子目录用增强、test 子目录做验证训练入口 train.py 会根据配置中的dataset字段自动选择对应模块因此你只需在 JSON 配置里声明用哪个数据集pretrain.jsondataset: synth800kfinetune.jsondataset: icdar2015新手上手三步准备好数据集 ✅下载并组织目录ICDAR2015整理为detection/train/{imgs,gt}与detection/test/{imgs,gt}两级结构SynthText 800K整理为detection/{gt.mat, imgs}修改配置中的data_dir分别指向 pretrain.json 与 finetune.json 里的数据路径dataset字段保持synth800k/icdar2015即可按顺序启动训练python train.py -c pretrain.json # 第一步SynthText 预训练 python train.py -c finetune.json # 第二步ICDAR2015 精调项目仓库可通过git clone https://gitcode.com/gh_mirrors/fo/FOTS.PyTorch获取数据集文件较大需自行准备后放入datasets/目录。如何验证模型效果Hmean 评测 训练完成后用 eval.py 在 ICDAR2015 测试集上评测。评测脚本含官方 RRC 评测函数与gt.zip标准答案包位于 scripts/detection/ 与 scripts/e2e/分别对应纯检测模式与端到端模式python eval.py -c finetune.json -m 你的ckpt -i icdar2015目录 \ --detection -o ./results --cuda --size 1280 720 --bs 2 --gpu 1核心指标是Hmean检测与识别 F 分数的调和平均。官方基准E2E GenericICDAR2015如下模型主干输入尺寸HmeanFOTS论文ResNet-502240×126060.8FOTS RT论文ResNet-341280×72051.4本项目复现RTResNet-501280×72047.0小结SynthText 800K合成数据、规模大、标注集中在gt.mat负责预训练阶段打地基ICDAR2015真实场景、多边形文本标注负责精调最后一公里与最终评测两者通过 FOTS/data_loader/data_module.py 无缝接入训练流程改一下 JSON 配置里的dataset和data_dir即可切换把这两个数据集准备好并理清其分工你就已经迈出了复现 FOTS.PyTorch 的最关键一步。【免费下载链接】FOTS.PyTorchFOTS Pytorch Implementation项目地址: https://gitcode.com/gh_mirrors/fo/FOTS.PyTorch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考