Surya - 多语言文档OCR工具包
功能特性
- ✅ 90+语言OCR识别
- ✅ 行级文本检测
- ✅ 文档布局分析
- ✅ 表格识别与提取
- ✅ LaTeX数学公式OCR
- ✅ 阅读顺序检测
快速开始
安装
pip install surya-ocr
基本使用
from surya.detection import DetectionPredictor
from surya.recognition import RecognitionPredictor
# 文本检测
det_predictor = DetectionPredictor()
predictions = det_predictor([image])
# 文本识别
rec_predictor = RecognitionPredictor()
ocr_results = rec_predictor([image])
性能基准
| 任务 | 准确率 | 速度(页/秒) |
|---|---|---|
| 文本检测 | 96% | 10.6 |
| 文本识别 | 97% | 8.2 |
| 布局分析 | 94% | 12.1 |
## 技术文档内容指南
### 1. 安装配置文档
**必备内容:**
- 系统要求(Python版本、硬件要求)
- 依赖项列表
- 安装命令(pip、conda、源码)
- 环境变量配置
- 模型权重下载说明
**示例配置表格:**
| 环境变量 | 默认值 | 描述 |
|---------|--------|------|
| TORCH_DEVICE | auto | PyTorch设备选择 |
| DETECTOR_BATCH_SIZE | 32 | 检测批处理大小 |
| RECOGNITION_BATCH_SIZE | 256 | 识别批处理大小 |
| IMAGE_DPI | 96 | 图像处理DPI |
### 2. API文档编写规范
**类和方法文档模板:**
```python
class DetectionPredictor:
"""
文本检测预测器
参数:
checkpoint (str, optional): 模型检查点路径
device (str, optional): 计算设备
dtype (torch.dtype, optional): 数据类型
示例:
>>> predictor = DetectionPredictor()
>>> results = predictor([image1, image2])
"""
def __call__(self, images: List[Image.Image]) -> List[TextDetectionResult]:
"""
执行文本检测
参数:
images: PIL图像列表
返回:
List[TextDetectionResult]: 检测结果列表
异常:
ValueError: 输入图像无效时抛出
"""
3. 示例代码文档
多语言OCR示例:
# 多语言文档处理示例
from surya.recognition import RecognitionPredictor
from surya.detection import DetectionPredictor
from PIL import Image
# 初始化预测器
detector = DetectionPredictor()
recognizer = RecognitionPredictor()
# 处理多语言文档
images = [Image.open("document.jpg")]
detections = detector(images)
ocr_results = recognizer(images, det_predictor=detector)
# 输出结果处理
for page_idx, result in enumerate(ocr_results):
print(f"Page {page_idx + 1}:")
for line_idx, line in enumerate(result.text_lines):
print(f" Line {line_idx + 1}: {line.text} (conf: {line.confidence:.2f})")
4. 性能优化文档
GPU内存优化配置:
import os
os.environ["DETECTOR_BATCH_SIZE"] = "16" # 减少检测批大小
os.environ["RECOGNITION_BATCH_SIZE"] = "128" # 减少识别批大小
os.environ["TORCH_DEVICE"] = "cuda" # 使用GPU
# VRAM使用估算表
| 任务 | 批大小 | 预估VRAM | 速度 |
|------|--------|----------|------|
| 检测 | 16 | 8GB | 快速 |
| 识别 | 128 | 12GB | 极快 |
| 布局 | 32 | 6GB | 快速 |
文档质量保证
1. 代码示例验证清单
- 所有代码示例可执行
- 导入语句完整正确
- 变量命名符合PEP8
- 异常处理完备
- 性能参数标注清晰
2. 文档更新流程
flowchart TD
A[代码变更] --> B[文档更新需求]
B --> C{文档类型}
C --> D[API文档]
C --> E[示例文档]
C --> F[配置文档]
D --> G[更新方法签名]
E --> H[更新代码示例]
F --> I[更新配置说明]
G --> J[文档验证]
H --> J
I --> J
J --> K[发布文档]
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



