首页/新闻资讯/正文详情

PaddleFormers 中文文本检测实战:chinese_text_detection_db_mobile 模块安装、预测与服务化部署全指南

发布时间:2026/9/24 13:47:48 来源:云帆数科 栏目:资讯中心
PaddleFormers 中文文本检测实战:chinese_text_detection_db_mobile 模块安装、预测与服务化部署全指南
人工智能大模型微调模型推理服务【免费下载链接】PaddleFormersPaddleFormers is an easy-to-use library of pre-trained large language model zoo based on PaddlePaddle.项目地址https://gitcode.com/gh_mirrors/pa/PaddleFormers点击查看免费下载本指南以 PaddleFormers 仓库中 chinese_text_detection_db_mobile 模块文档 为主体系统讲解该超轻量级中文文本检测模型基于 Differentiable Binarization 算法的模型原理、环境安装、命令行与 Python API 预测、以及 PaddleHub Serving 在线服务部署。读完本文你将掌握从零开始调用文本检测模型、解析检测框输出坐标、并快速搭建 HTTP 文本检测服务的完整实战能力。一、模型基本信息1. 模型规格一览模型名称chinese_text_detection_db_mobile类别图像-文字识别网络Differentiable BinarizationDB数据集icdar2015 数据集是否支持 Fine-tuning否模型大小2.6MB最新更新日期2021-02-26数据指标-该模块的核心入口定义于 module.py 中的ChineseTextDetectionDB类通过moduleinfo声明模块名称为chinese_text_detection_db_mobile、版本号为1.1.0类型为cv/text_recognition。2. 模型算法介绍Differentiable BinarizationDBDBDifferentiable Binarization可微二值化是一种基于分割segmentation-based的文本检测算法。与传统方法相比它的核心优势在于更擅长处理不规则文本此类算法可以更好地处理弯曲等不规则形状文本因此检测效果往往会更好简化后处理流程传统分割类算法在后处理步骤中将分割结果转化为检测框的流程复杂且耗时严重。DB 将二值化阈值加入训练中学习可以获得更准确的检测边界从而显著简化后处理流程。从源码结构看本模块的推理完全遵循 DB 的分割 → 阈值化 → 轮廓提取 → 外接框生成流程详见下文第五节源码解析。更多算法细节可参考论文Real-time Scene Text Detection with Differentiable Binarization该模块 README 中给出的 arXiv 论文链接。3. 定位与使用场景这是一个超轻量级文本检测模型模型大小仅 2.6MB支持直接预测不依赖 Fine-tuning。适合在资源受限或对速度敏感的场景下快速定位图片中所有中文文本的位置可作为 OCR 流水线中的文本检测环节与角度分类、文字识别模型如仓库中 chinese_ocr_db_crnn_mobile串联使用。仓库中还提供了同算法的服务端版本 chinese_text_detection_db_server模型大小 47MB可在精度与速度之间做取舍。二、环境依赖与安装1. 环境依赖清单使用该模块前需要满足以下依赖paddlepaddle 1.7.2底层深度学习框架paddlehub 1.6.0PaddleHub 模型管理工具安装方法见 PaddleHub 安装文档shapely几何计算库用于后处理中的多边形面积/长度计算pyclipper多边形裁剪与偏移库用于检测框的膨胀unclip操作。其中 shapely 和 pyclipper 为第三方库可通过 pip 直接安装$ pip install shapely pyclipper注意该 Module 强依赖 shapely 和 pyclipper使用前请务必先安装这两个包。这一点在源码中也有体现ChineseTextDetectionDB.detect_text()在正式预测前会调用check_requirements()检查这两个库是否可用见 module.py若缺失会直接抛出ImportError。模块的 requirements.txt 中也明确列出了shapely与pyclipper两个依赖项。2. 安装模块通过 PaddleHub 命令一键安装$ hub install chinese_text_detection_db_mobile如安装时遇到问题可参考以下零基础安装指南零基础 Windows 安装零基础 Linux 安装零基础 MacOS 安装如需安装特定版本如适配 PaddleHub 2.x 的 1.1.0 版本$ hub install chinese_text_detection_db_mobile1.1.0三、模型 API 预测1. 命令行预测通过 PaddleHub 命令行可直接调用文本检测模型$ hub run chinese_text_detection_db_mobile --input_path /PATH/TO/IMAGE该命令等价于调用ChineseTextDetectionDB.run_cmd()见 module.py底层通过argparse解析命令行参数并最终调用detect_text()。命令行还支持--use_gpu、--output_dir、--visualization等配置项默认分别为False、detection_result、False。更多命令行用法可参考 PaddleHub 命令行指令文档。2. 预测代码示例import paddlehub as hub import cv2 text_detector hub.Module(namechinese_text_detection_db_mobile, enable_mkldnnTrue) # mkldnn 加速仅在 CPU 下有效 result text_detector.detect_text(images[cv2.imread(/PATH/TO/IMAGE)]) # or # result text_detector.detect_text(paths[/PATH/TO/IMAGE])两种输入方式等价images直接传入numpy.ndarray图像数据BGR 格式paths传入图片文件路径列表。从 test.py 的测试用例可以看出两种输入方式对同一张图片会得到完全一致的检测框坐标结果test_detect_text1与test_detect_text2断言了相同坐标这印证了源码中两种输入最终汇合为同一份predicted_data的逻辑。3. API 详解构造函数__init__(enable_mkldnnFalse)构造ChineseTextDetectionDB对象。参数enable_mkldnn (bool)是否开启 mkldnn 加速 CPU 计算。该参数仅在 CPU 运行下设置有效默认为False。在_set_config()见 module.py中可以看到该参数的底层行为当未设置CUDA_VISIBLE_DEVICES环境变量时走 CPU 分支默认设置 6 个 CPU 计算线程若enable_mkldnnTrue则进一步调用config.enable_mkldnn()并设置set_mkldnn_cache_capacity(10)缓存 10 种不同 shape 以避免内存泄漏。预测方法def detect_text(paths[], images[], use_gpuFalse, output_dirdetection_result, box_thresh0.5, visualizationFalse)预测 API检测输入图片中的所有中文文本的位置。参数paths (list[str])图片的路径列表images (list[numpy.ndarray])图片数据列表ndarray.shape为[H, W, C]BGR 格式use_gpu (bool)是否使用 GPU若使用 GPU请先设置CUDA_VISIBLE_DEVICES环境变量。源码中若检测到use_gpuTrue但环境变量未正确设置会抛出RuntimeError并给出export CUDA_VISIBLE_DEVICEScuda_device_id的设置提示见 module.pybox_thresh (float)检测文本框置信度的阈值默认为0.5用于过滤置信度较低可能是误检的文本框visualization (bool)是否将识别结果保存为图片文件默认为Falseoutput_dir (str)图片的保存路径默认设为detection_result。保存的文件名格式为ndarray_{时间戳}.jpg/.png带透明通道的图保存为 png。返回res (list[dict])识别结果的列表列表中每一个元素为 dict各字段为data (list)检测文本框结果文本框在原图中的像素坐标为4*2的矩阵依次表示文本框左下、右下、右上、左上顶点的坐标注意与常见的左上-右上-右下-左下顺序不同save_path (str)识别结果的保存路径如不保存图片则save_path为。四、PaddleHub Serving 服务部署PaddleHub Serving 可以将该文本检测模块部署为一个在线服务提供 HTTP 接口供远程调用。第一步启动 PaddleHub Serving运行启动命令$ hub serving start -m chinese_text_detection_db_mobile这样就完成了一个文本检测服务化 API 的部署默认端口号为 8866。NOTE如使用 GPU 预测需要在启动服务之前设置CUDA_VISIBLE_DEVICES环境变量否则不用设置。第二步发送预测请求配置好服务端后以下代码即可实现发送预测请求、获取预测结果import requests import json import cv2 import base64 def cv2_to_base64(image): data cv2.imencode(.jpg, image)[1] return base64.b64encode(data.tostring()).decode(utf8) # 发送HTTP请求 data {images:[cv2_to_base64(cv2.imread(/PATH/TO/IMAGE))]} headers {Content-type: application/json} url http://127.0.0.1:8866/predict/chinese_text_detection_db_mobile r requests.post(urlurl, headersheaders, datajson.dumps(data)) # 打印预测结果 print(r.json()[results])请求时图片以 base64 编码的 JSON 字符串形式传输服务端通过serving_method见 module.py接收并调用base64_to_cv2()解码为 BGR 图像后执行检测返回结果结构与detect_text()一致data为检测框坐标save_path为可视化结果保存路径。五、源码级解析预处理与后处理流水线要真正用好box_thresh等参数、理解返回坐标的来源有必要了解模型前后的完整处理流程。该流程集中实现在 processor.py 中由两个核心类构成。1. 预处理DBProcessTestdetect_text()中预处理器参数为{max_side_len: 960}即等比例缩放若图片最长边超过 960 像素则按比例缩放到最长边为 960否则保持原尺寸32 倍数对齐将缩放后的宽高向下取整到 32 的倍数网络下采样倍数要求最小为 32归一化像素值除以 255 后按 ImageNet 的均值[0.485, 0.456, 0.406]和标准差[0.229, 0.224, 0.225]做标准化并完成HWC → CHW通道转置最后增加 batch 维度记录缩放比例返回(ratio_h, ratio_w)供后处理阶段把检测框坐标映射回原图尺寸。2. 后处理DBPostProcessdetect_text()中后处理器参数为{thresh: 0.3, box_thresh: box_thresh, max_candidates: 1000, unclip_ratio: 1.6}处理链路为阈值化对网络输出的分割概率图pred以thresh0.3二值化得到文本区域分割掩码膨胀使用[[1,1],[1,1]]卷积核对掩码做膨胀连接邻近的文本区域轮廓提取通过cv2.findContours提取文本连通域最多保留max_candidates1000个候选最小外接矩形用cv2.minAreaRect生成每个轮廓的最小外接旋转矩形短边小于 3 像素的候选被丢弃min_size3置信度打分通过box_score_fast计算每个框在分割图上的平均像素值作为置信度低于box_thresh的框被过滤__call__中再次以box_thresh过滤一次boxes_from_bitmap中也做了首轮过滤多边形膨胀unclip基于 shapely 计算多边形面积/周长结合unclip_ratio1.6计算膨胀距离再用 pyclipper 执行多边形偏移使检测框更贴合文本坐标还原将检测框按ratio_h、ratio_w映射回原图分辨率再经 module.py 中的filter_tag_det_res做顶点顺时针排序、越界裁剪clip_det_res以及宽高小于 3 像素的过滤最终得到4*2的顶点坐标矩阵。可视化输出则由draw_boxes完成将每个检测框的四条边以红色线段绘制到原图上见 processor.py。六、更新历史该模块从初始发布到适配 PaddleHub 2.x 经历了多次迭代1.0.0初始发布1.0.1修复使用在线服务调用模型失败问题1.0.2支持 mkldnn 加速 CPU 计算1.0.3增加更多预训练数据更新预训练参数1.0.4使用超轻量级的三阶段模型文本框检测-角度分类-文字识别识别图片文字1.0.5移除 fluid api1.1.0适配 PaddleHub 2.x 版本可通过hub install chinese_text_detection_db_mobile1.1.0安装。七、测试验证如何确认模块可用仓库为每个模块提供了单元测试 test.py可用于验证模块的完整功能test_detect_text1/test_detect_text2分别通过paths和images传入同一张测试图断言两组检测框坐标完全一致验证两种输入方式等价test_detect_text3以use_gpuTrue方式预测验证 GPU 路径测试环境通过os.environ[CUDA_VISIBLE_DEVICES] 0设置设备test_detect_text4开启visualizationTrue验证可视化结果保存功能test_detect_text5/test_detect_text6分别断言传入非法输入字符串而非 ndarray、不存在的路径时会抛出AttributeError/AssertionError验证了输入校验逻辑test_save_inference_model验证save_inference_model可以导出model.pdmodel与model.pdiparams两个推理模型文件。这些测试用例既是对模块功能的背书也可作为读者理解 API 行为与参数含义的参考样例。赞分享人工智能大模型微调模型推理服务【免费下载链接】PaddleFormersPaddleFormers is an easy-to-use library of pre-trained large language model zoo based on PaddlePaddle.项目地址https://gitcode.com/gh_mirrors/pa/PaddleFormers点击查看免费下载相关推荐PaddleFormers 目标检测实践faster_rcnn_resnet50_coco2017 PaddleHub 模块的安装、预测与服务化部署全指南PaddleFormers 目标检测实践faster_rcnn_resnet50_coco2017 PaddleHub 模块的安装、预测与服务化部署全指南 本人工智能大模型微调模型推理服务Cap 项目中的 Windows 摄像头采集cap-camera-mediafoundation 源码级解读Cap 项目中的 Windows 摄像头采集cap camera mediafoundation 源码级解读 cap camera mediafoundati人工智能大模型微调模型推理服务PaddleFormers 中的 bert-base-uncased 模块安装、微调、预测与服务化部署实战指南PaddleFormers 中的 bert base uncased 模块安装、微调、预测与服务化部署实战指南 本文以 PaddleFormers 仓库中 m人工智能大模型微调模型推理服务上一篇Mochi 1与ComfyUI集成指南在消费级GPU上运行视频生成下一篇球体分形艺术GettingStartedWithRTXRayTracing项目的Sphereflake渲染技术创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

MemOS TreeTextMemory 树形明文记忆实战:基于 Neo4j 的结构化记忆抽取、检索与备份恢复
MemOS TreeTextMemory 树形明文记忆实战:基于 Neo4j 的结构化记忆抽取、检索与备份恢复

人工智能大模型Agent 记忆AI AgentRAG知识图谱dsh-plugin 【免费下载链接】MemOS Self-evolving memory OS for LLM & AI Agents: ultra-persistent memory, hybrid-retrieval, and cross-task skill reuse, with 35.24% token savings and DeepSeek Harness support. 项目… · 2026/9/24 13:47:48

palera1n iOS越狱完整指南:A8-A11设备Rootless/Rootful双模式快速上手
palera1n iOS越狱完整指南:A8-A11设备Rootless/Rootful双模式快速上手

palera1n iOS越狱完整指南:A8-A11设备Rootless/Rootful双模式快速上手 【免费下载链接】palera1n Jailbreak for A8 through A11, T2 devices, on iOS/iPadOS/tvOS 15.0, bridgeOS 5.0 and higher. 项目地址: https://gitcode.com/GitHub_Trending/pa/palera1n … · 2026/9/24 13:47:35

农学转码的启程之旅
农学转码的启程之旅

少年的遗憾总是贯穿整个人生,而我亦是如此。24年的那个夏天,令人无法接受的高考成绩给了当时意气风发的我当头一棒,再三纠结后选择了复读这条充满未知的路。虽然结果最终依旧没有那么如意,但至少给自己一个交代了。还记得当时母亲… · 2026/9/24 13:47:35

PaddleNLP BigBird 建模模块深度解析:块稀疏注意力架构与全部任务头源码指南
PaddleNLP BigBird 建模模块深度解析:块稀疏注意力架构与全部任务头源码指南

人工智能大模型预训练微调LoRARLHF强化学习分布式训练 【免费下载链接】PaddleNLP Easy-to-use and powerful LLM and SLM library with awesome model zoo. 项目地址: https://gitcode.com/gh_mirrors/pa/PaddleNLP 点击查看 免费下载 BigBird 是一类基于块稀疏注… · 2026/9/24 14:26:34

TVM Relay 类型系统完全指南:从静态类型、形状依赖类型到类型关系与 ADT
TVM Relay 类型系统完全指南:从静态类型、形状依赖类型到类型关系与 ADT

编译器深度学习模型优化 【免费下载链接】tvm Open deep learning compiler stack for cpu, gpu and specialized accelerators 项目地址: https://gitcode.com/gh_mirrors/tvm7/tvm 点击查看 免费下载 Relay 是 Apache TVM 中负责表达深度学习模型的计算图 IR&… · 2026/9/24 14:26:27

PyTorch3D 网格读写实战:使用 load_obj 与 load_ply 加载 OBJ/PLY 文件并构建 Meshes
PyTorch3D 网格读写实战:使用 load_obj 与 load_ply 加载 OBJ/PLY 文件并构建 Meshes

PyTorch3D 网格读写实战:使用 load_obj 与 load_ply 加载 OBJ/PLY 文件并构建 Meshes 【免费下载链接】pytorch3d PyTorch3D is FAIRs library of reusable components for deep learning with 3D data 项目地址: https://gitcode.com/gh_mirrors/py/pytorch3d … · 2026/9/24 14:26:21

信创机房动环监控技术原理解读与应用实践分析
信创机房动环监控技术原理解读与应用实践分析

信创机房动环监控的应用背景与发展现状 随着信息技术的迅速发展,信创机房动环监控逐渐成为数据中心和机房管理中的重要组成部分。动态环境监控技术通过实时跟踪机房内温湿度、空气流通及电力数据等,为管理者提供了更为精准的信息。这一技术的引入不光提高… · 2026/9/24 14:26:21

Web端云渲染低延迟实战:NVENC+WebRTC链路优化与画质调优
Web端云渲染低延迟实战:NVENC+WebRTC链路优化与画质调优

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 14:26:21

KiCad 10深度评测:新特性、安装配置与高效布线实战指南
KiCad 10深度评测:新特性、安装配置与高效布线实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 14:26:21

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13

1D-CNN时间序列建模实战:从Conv1d原理到工业落地
1D-CNN时间序列建模实战:从Conv1d原理到工业落地

简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26

柔软的L:汉语语流中被忽视的舌肌张力控制
柔软的L:汉语语流中被忽视的舌肌张力控制

1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码