MaskTextSpotterV3 场景文字检测出分指南:test.sh 一键测试 + ICDAR2015/Total-Text 评测全流程

📅 2026/8/24 17:09:02
MaskTextSpotterV3 场景文字检测出分指南:test.sh 一键测试 + ICDAR2015/Total-Text 评测全流程
MaskTextSpotterV3 场景文字检测出分指南test.sh 一键测试 ICDAR2015/Total-Text 评测全流程【免费下载链接】MaskTextSpotterV3The code of Mask TextSpotter v3: Segmentation Proposal Network for Robust Scene Text Spotting项目地址: https://gitcode.com/gh_mirrors/ma/MaskTextSpotterV3MaskTextSpotterV3 是 ECCV 2020 论文「Mask TextSpotter v3: Segmentation Proposal Network for Robust Scene Text Spotting」的官方 PyTorch 实现一个端到端可训练的场景文字检测与识别Scene Text Spotting模型。它用分割提议网络SPN替代传统 RPN对旋转、长宽比和弯曲文字更加鲁棒。本文将带你完成test.sh 一键推理 ICDAR2015 / Total-Text 评测出分的完整流程从测试到出分只需三步。 评测流程全景测试到出分只需一步整个评测链路非常清晰理解这条主线后就不会迷路下载模型权重 → 运行 sh test.sh 批量推理 → 用 evaluation/ 脚本打分 ↓ ↓ ↓ trained_model.pth output/mixtrain/inference/ Hmean / AP 分数测试sh test.sh一行命令完成整个测试集推理结果写入output/mixtrain/inference/数据集名/目录出分evaluation/下按数据集分好了三个官方评测目录各配一份 script.py 打分脚本 第一步环境与模型准备准备项说明位置Python 环境Python 3.7 PyTorch ≥ 1.4推荐 1.4按 README.md 安装模型权重trained_model.pth放入output/mixtrain/下官方在 README「Models」一节提供下载测试图片如 ICDAR2015 放在datasets/icdar2015/test_imagesMaskTextSpotterV3/datasets/评测词表lexicons解压后放到evaluation/lexicons/README「Evaluation」一节测试脚本入口是 tools/test_net.py它加载配置文件、恢复模型权重然后调用 maskrcnn_benchmark/engine/text_inference.py 的inference函数完成逐张推理。 第二步test.sh 一键推理仓库根目录的 test.sh 内容只有一行python tools/test_net.py --config-file configs/mixtrain/seg_rec_poly_fuse_feature.yaml真正决定行为的是配置文件 configs/mixtrain/seg_rec_poly_fuse_feature.yaml。运行前请重点核对这 4 个参数配置项作用建议值TEST.DATASETS要测哪个数据集ICDAR2015 用(icdar_2015_test,)弯曲文字用(total_text_test,)INPUT.MIN_SIZE_TEST测试输入短边分辨率默认1000冲更高分数可试1440MODEL.WEIGHT权重路径./output/mixtrain/trained_model.pthOUTPUT_DIR推理结果输出目录./output/mixtrain⚠️常见坑默认配置里DATASETS.TEST是total_text_test如果你只想测 ICDAR2015记得先把它改成(icdar_2015_test,)否则模型会对错误的测试集做推理。运行sh test.sh后每张图的推理结果检测框、多边形、mask 识别结果、序列识别结果会被写到output/mixtrain/inference/数据集名/这个目录就是下一步打分的输入。 第三步AICDAR2015 出分ICDAR2015 是场景文字检测最常用的基准评测代码在 evaluation/icdar2015/e2e/ 目录改参数打开 evaluation/icdar2015/e2e/script.py修改末尾__main__中的四个变量results_dir指向你的推理输出目录例如output/mixtrain/inference/icdar_2015_test/model_xxx_results/lexicon_type3为强词表推荐2弱词表1通用词表score_det 0.01检测框筛选阈值score_rec 0.4、score_rec_seq 0.7mask 识别与序列识别的置信度阈值运行打分cd evaluation/icdar2015/e2e/ python script.py脚本会先由 prepare_results.py 把模型输出整理成标准提交格式再由 rrc_evaluation_funcs.py 与../gt.zip真值对比最终打印全局Precision / Recall / Hmean / AP。 第三步BTotal-Text 弯曲文字出分Total-Text 专门考察任意弯曲形状的文字检测能很好体现 MaskTextSpotter v3 分割提议网络的优势。流程完全一致只是换了目录和阈值cd evaluation/totaltext/e2e/ # 编辑 script.py 中的 results_dir 指向你的输出目录 python script.pyevaluation/totaltext/e2e/script.py 的推荐参数score_det 0.05、score_rec 0.5、score_rec_seq 0.9。多边形 IoU 匹配逻辑与 ICDAR2015 略有不同支持任意点多边形均由 rrc_evaluation_funcs_total_text.py 处理。 项目还附带旋转鲁棒性评测 evaluation/rotated_icdar2013/可用 tools/convert_dataset.py 把 ICDAR2013 按 15°~90° 各角度旋转生成测试集再走同样的测试 打分流程。 出分常见排查清单报Use APEX for mixed precision说明没装 NVIDIA apex按 README 安装后重试Hmean 偏低优先把INPUT.MIN_SIZE_TEST从 1000 提到 1440官方模型即在此分辨率下验证分数忽高忽低检查score_det / score_rec / score_rec_seq是否与对应数据集匹配两个数据集的阈值不同缺文件报错确认evaluation/lexicons/词表已解压、gt.zip在evaluation/数据集/下输出目录找不到核对OUTPUT_DIR与script.py里results_dir是否指向同一处总结MaskTextSpotterV3 的评测流程可以浓缩为一句话改好 YAML 里的TEST.DATASETS和MODEL.WEIGHT→ 跑sh test.sh→ 在evaluation/对应目录改results_dir跑script.py出分。掌握这条链路后无论是 ICDAR2015、Total-Text 还是旋转 ICDAR2013出分都只是换个目录、换组阈值的事。【免费下载链接】MaskTextSpotterV3The code of Mask TextSpotter v3: Segmentation Proposal Network for Robust Scene Text Spotting项目地址: https://gitcode.com/gh_mirrors/ma/MaskTextSpotterV3创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考