基于PaddleOCR的FCENet复现

本文介绍基于PaddleOCR复现CVPR2021论文提出的FCENet文本检测算法。该算法用傅里叶变换建模任意形状文本框,采用ResNet+FPN架构,含分类和回归分支。文中说明CTW1500数据集情况,复现精度达Hmean 0.854,还介绍了AI Studio在线运行、训推一体流程及本地运行方法,展示代码结构与检测效果。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

基于paddleocr的fcenet复现 - 创想鸟

FCENet 论文复现

本项目基于PaddleOCR对文本检测算法FCENet进行复现,该论文发表于CVPR2021。

Fourier Contour Embedding for Arbitrary-Shaped Text Detection

目录

1. 简介2. 数据集和复现精度3. 开始使用4. 代码结构与详细说明5. 检测效果6. 总结

1. 简介

基于PaddleOCR的FCENet复现 - 创想鸟

论文提出了针对场景文本中的任意形状的文本框利用傅里叶变换进行建模的方法,骨干网络采用了ResNet+FPN的架构。针对Head部分,FCENet具有两个分支,其中分类分支预测文本区域和文本中心区域的概率图,相乘得到属于文本中心分类的得分图;回归分支则负责预测傅里叶特征向量。算法对文本中心置信度大于阈值的像素点所对应的傅里叶特征向量进行反变换,经过NMS得到最终的检测结果。

本项目基于PaddleOCR复现,利用其中丰富的OCR相关工具大大减小了项目复现的难度。复现过程中代码参考了mmocr_fcenet中的实现,提高了本repo复现论文的效率。在此表示感谢。

2. 数据集和复现精度

CTW1500

数据集大小:

训练集:1000验证集:500

数据集目录结构:

  ctw1500/    └─ imgs/                 └─ training/                     └─ test/            └─ training.txt        └─ test.txt

标注文件格式参考PaddleOCR,数据集图像及转换好的标注从此处下载,提取码 b8rn

复现精度

Backbone Dataset Pretrained BatchSize Hmean Config log

R50_DCNv2ctw1500ImageNet(torch)60.854det_r50_fce_ctw.ymltrain_log

预训练模型使用的是Pytorch版本的ResNet50,转换的预训练模型及训练结果权重从此处下载,提取码0wkj

3. 开始使用

3.1 使用AI Studio 在线运行

1.解压数据集和第三方依赖包

  unzip -qo /home/aistudio/data/data120898/ctw1500.zip -d /home/aistudio/data/  unzip -qo /home/aistudio/data/data123649/external-libraries.zip -d /home/aistudio/

2.训练

  cd /home/aistudio/work/FCENet_Paddle-master/  python -m paddle.distributed.launch --gpus '0'  tools/train.py -c configs/det/det_r50_fce_ctw.yml

3.验证

  cd /home/aistudio/work/FCENet_Paddle-master/  python tools/eval.py -c configs/det/det_r50_fce_ctw.yml -o Global.pretrained_model='weights/best_accuracy'

4.推断

  cd /home/aistudio/work/FCENet_Paddle-master/  python tools/infer_det.py -c configs/det/det_r50_fce_ctw.yml -o Global.pretrained_model='weights/best_accuracy'

3.2 训推一体全流程(TIPC)

飞桨除了基本的模型训练和预测,还提供了支持多端多平台的高性能推理部署工具。本文档提供了`您的模型`中所有模型的飞桨训推一体全流程(Training and Inference Pipeline Criterion(TIPC))信息和测试工具,方便用户查阅每种模型的训练推理部署打通情况,并可以进行一键测试。

基于PaddleOCR的FCENet复现 - 创想鸟

3.2.1 汇总信息

训练相关:

算法名称 模型名称 单机单卡 单机多卡 多机多卡 模型压缩(单机多卡)

FCENetdet_r50_fce_ctw正常训练正常训练–推理相关:基于训练是否使用量化,可以将训练产出的模型可以分为正常模型和量化模型,这两类模型对应的推理功能汇总如下,

算法名称 模型名称 模型类型 device batchsize tensorrt mkldnn cpu多线程

FCENetdet_r50_fce_ctw正常模型GPU1—FCENetdet_r50_fce_ctw正常模型CPU1-fp32支持

3.2.2 测试流程

准备数据

用于基础训练推理测试的数据位于ctw1500_tiny。

准备环境

1.解压第三方依赖包(如已经解压则无需重复解压)

unzip -qo /home/aistudio/data/data123649/external-libraries.zip -d /home/aistudio/

功能测试

测试方法如下所示,希望测试不同的模型文件,只需更换为自己的参数配置文件,即可完成对应模型的测试。

bash test_tipc/test_train_inference_python.sh ${your_params_file} lite_train_lite_infer

以det_r50_fce_ctw的Linux GPU/CPU 基础训练推理测试为例,命令如下所示。

bash test_tipc/test_train_inference_python.sh test_tipc/configs/det_r50_fce_ctw/train_infer_python.txt lite_train_lite_infer

输出结果如下,表示命令运行成功。

Run successfully with command - xxx

3.3 本地运行

详情请参考进行环境配置。

4. 代码结构

├─configs├─doc                        ├─output                           ├─ppocr├─test_tipc├─tools                                            │  infer/                     │  eval.py                        │  export_model.py                        │  infer_cls.py                        │  infer_det.py                        │  infer_e2e.py                        │  infer_rec.py                        │  infer_table.py                        │  program.py                     │  test_hubserving.py                   │  train.py  ├─train.sh ├─requirements.txt├─setup.py ├─README.md

5. 检测效果

基于PaddleOCR的FCENet复现 - 创想鸟

基于PaddleOCR的FCENet复现 - 创想鸟

基于PaddleOCR的FCENet复现 - 创想鸟

以上就是基于PaddleOCR的FCENet复现的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/52362.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月9日 03:55:44
下一篇 2025年11月9日 03:58:17

相关推荐

发表回复

登录后才能评论
关注微信