Logo

CnSTD:强大的中英文场景文字检测与版面分析工具

CnSTD简介

CnSTD(Chinese Scene Text Detection)是一款基于PyTorch的开源场景文字检测工具,由breezedeus开发并维护。尽管名称中包含"Chinese",但CnSTD同样支持英文等其他语言的文字检测。自V1.2.1版本起,CnSTD还加入了数学公式检测(Mathematical Formula Detection,MFD)功能,并提供了训练好的模型可直接用于检测图片中的行内公式和独立行公式。

CnSTD的主要特点包括:

  1. 支持中英文场景文字检测
  2. 支持数学公式检测
  3. 支持版面分析
  4. 提供多种预训练模型,适用于不同场景
  5. 支持CPU和GPU环境
  6. 易于安装和使用
  7. 与OCR工具包cnocr无缝集成

安装CnSTD

安装CnSTD非常简单,可以通过pip直接安装:

pip install cnstd

如果需要使用ONNX模型(通常性能更好),可以使用以下命令:

  • CPU环境:
pip install cnstd[ort-cpu]
  • GPU环境:
pip install cnstd[ort-gpu]

注意:如果安装速度较慢,可以指定国内的安装源,例如使用阿里云源:

pip install cnstd -i https://mirrors.aliyun.com/pypi/simple

CnSTD要求Python版本为3.6及以上,并依赖opencv库。首次使用时,系统会自动下载模型文件并存放在~/.cnstd目录中(Windows下为C:\Users\<username>\AppData\Roaming\cnstd)。

CnSTD模型概览

CnSTD提供了多种预训练模型,适用于不同的场景和需求。这些模型可以分为两类:

  1. CnSTD自己训练的模型
  2. 从其他OCR引擎(如PaddleOCR)移植过来的模型

CnSTD自训练模型

CnSTD自V1.1.0版本起使用DBNet作为文字检测模型,相比之前使用的PSENet模型,检测耗时大幅下降,同时精度也得到显著提升。目前提供的模型包括:

  • db_resnet34
  • db_resnet18
  • db_mobilenet_v3
  • db_mobilenet_v3_small
  • db_shufflenet_v2
  • db_shufflenet_v2_small
  • db_shufflenet_v2_tiny

这些模型在参数规模、模型大小、精度和推理速度上各有权衡。例如,db_shufflenet_v2_tiny模型只有1.9M参数,模型文件大小仅7.5M,但仍能达到较高的检测精度。

外部移植模型

CnSTD还提供了PaddleOCR中部分模型的ONNX版本,这些模型不依赖PaddlePaddle相关工具包,支持检测竖排文字。包括:

  • ch_PP-OCRv3_det
  • ch_PP-OCRv2_det
  • en_PP-OCRv3_det

这些模型支持中英文、数字等的检测,模型文件大小在2.2M到2.3M之间。

使用CnSTD进行文字检测

基本使用

使用CnSTD进行文字检测非常简单,以下是一个基本的示例:

from cnstd import CnStd

std = CnStd()
box_info_list = std.detect('examples/taobao.jpg')

或者,如果你已经有一个PIL Image对象:

from PIL import Image
from cnstd import CnStd

std = CnStd()
img_fp = 'examples/taobao.jpg'
img = Image.open(img_fp)
box_infos = std.detect(img)

检测结果解析

detect()方法返回的是一个列表,每个元素是一个字典,对应一张图片的检测结果。字典中包含以下关键信息:

  • rotated_angle: 整张图片旋转的角度(仅当auto_rotate_whole_image=True时可能非0)
  • detected_texts: 检测出的文本框列表,每个元素包含:
    • box: 文字对应的矩形框坐标
    • score: 检测置信度
    • cropped_img: 对应文本框的图片patch

与OCR结合使用

CnSTD可以与OCR工具包cnocr无缝集成,实现从文字检测到识别的完整流程:

from cnstd import CnStd
from cnocr import CnOcr

std = CnStd()
cn_ocr = CnOcr()

box_infos = std.detect('examples/taobao.jpg')

for box_info in box_infos['detected_texts']:
    cropped_img = box_info['cropped_img']
    ocr_res = cn_ocr.ocr_for_single_line(cropped_img)
    print('OCR result:', str(ocr_res))

数学公式检测与版面分析

CnSTD不仅支持普通文字检测,还提供了数学公式检测(MFD)和版面分析(Layout Analysis)功能。这两个功能都基于YOLOv7检测架构,使用LayoutAnalyzer类实现。

数学公式检测

数学公式检测模型可以识别图片中的行内公式和独立行公式。使用示例:

from cnstd import LayoutAnalyzer

img_fp = 'examples/mfd/zh5.jpg'
analyzer = LayoutAnalyzer('mfd')
out = analyzer.analyze(img_fp, resized_shape=700)
print(out)

版面分析

版面分析模型可以识别图片中的不同排版元素,包括正文、标题、图片、表格等。使用方法与数学公式检测类似,只需将model_name参数设置为'layout'即可。

命令行工具

CnSTD还提供了命令行工具,方便快速进行文字检测或版面分析。

文字检测

使用cnstd predict命令可以对单个图片或整个文件夹进行文字检测:

cnstd predict -i examples/taobao.jpg -o outputs

数学公式检测或版面分析

使用cnstd analyze命令可以进行数学公式检测或版面分析:

cnstd analyze -m mfd -i examples/mfd/zh5.jpg -o outputs

总结

CnSTD作为一个功能强大、易用的场景文字检测工具,不仅支持中英文文字检测,还能进行数学公式检测和版面分析。它提供了多种预训练模型,适应不同的应用场景和性能需求。无论是通过Python API还是命令行工具,CnSTD都能轻松集成到各种项目中,为OCR相关任务提供有力支持。

随着版本的不断更新,CnSTD的功能和性能还在持续改进。对于有特殊需求的用户,CnSTD的开发者还维护了一个知识星球,提供更多私有资源和详细的训练教程。总的来说,CnSTD是一个值得关注和使用的开源工具,为中文自然语言处理领域做出了重要贡献。

CnSTD效果展示

最新项目

Project Cover
豆包MarsCode
豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。
Project Cover
AI写歌
Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。
Project Cover
商汤小浣熊
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。
Project Cover
有言AI
有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。
Project Cover
Kimi
Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。
Project Cover
吐司
探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。
Project Cover
SubCat字幕猫
SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。
Project Cover
AIWritePaper论文写作
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。
Project Cover
稿定AI
稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。
投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号