项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1159
使用教程
环境要求
- Linux 系统
- NVIDIA 驱动 595+
- Turing 或更新的 GPU(RTX 20 系列 / GTX 16 系列及以上)
- 显存约 4 GB(纯文本)到约 8 GB(完整流水线:版面+表格+公式)
- 已安装 Docker 与 NVIDIA Container Toolkit(--gpus all 可用)
安装与启动步骤
-
1启动 OCR 容器
用官方镜像启动服务,映射 8000(HTTP)与 50051(gRPC)端口,并挂载命名卷缓存 TensorRT 引擎。
docker run --gpus all -p 8000:8000 -p 50051:50051 \ -v trt-cache:/home/ocr/.cache/turbo-ocr \ ghcr.io/aiptimizer/turboocr:latest -
2等待引擎构建
首次启动会从 ONNX 构建 TensorRT 引擎,5090 约 90 秒,旧卡可能长达 1 小时;期间 nginx 会返回连接被拒。
-
3调用 OCR 接口
向后端发送图片二进制,返回文本、置信度和包围框。容器就绪后即可执行。
curl -X POST http://localhost:8000/ocr/raw \ --data-binary @document.png -H "Content-Type: image/png" -
4加速引擎构建
如果首次构建太慢,可加大优化等级,构建时间缩短 3~5 倍,但有轻微速度回退。
docker run --gpus all -e TRT_OPT_LEVEL=3 -p 8000:8000 -p 50051:50051 \ -v trt-cache:/home/ocr/.cache/turbo-ocr \ ghcr.io/aiptimizer/turboocr:latest -
5自行构建镜像
如需从源码构建 GPU 镜像,使用仓库内的 Dockerfile.gpu,再按前述命令启动。
docker build -f docker/Dockerfile.gpu -t turboocr . docker run --gpus all -p 8000:8000 -p 50051:50051 \ -v trt-cache:/home/ocr/.cache/turbo-ocr turboocr
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
OCR_MODEL | 否 | 选择模型档位,或指定 PP-OCRv5 script 模型 | tiny |
DISABLE_LAYOUT | 否 | 设为 1 跳过版面模型,省约 300–500 MB 显存 | 0 |
PIPELINE_POOL_SIZE | 否 | 并发 GPU 流水线数量,默认自动;小显存卡建议调低 | 1 |
REQUEST_TIMEOUT_MS | 否 | 单请求推理超时,超时返回 504;0 表示不限时 | 60000 |
CLS_ALL_BOXES | 否 | 设为 1 对每行文本做 0°/180° 方向分类,适合混排/倒置扫描件 | 0 |
LAYOUT_MERGE_MODE | 否 | 嵌套框策略:all/outer/inner | all |
如何确认成功
curl 向 http://localhost:8000/ocr/raw 发图,返回含 results 数组(text、confidence、bounding_box)的 JSON 即成功。
常见问题
Q:刚启动就请求,提示连接被拒?
A:这是正常的:首次启动要从 ONNX 构建 TensorRT 引擎,期间 nginx 会返回 connection refused,等后端就绪后再请求即可。
Q:第二次启动还要等很久吗?
A:不用。挂载 trt-cache 命名卷后引擎会被缓存,后续启动是瞬时完成的。
Q:显存不够怎么办?
A:纯文本约需 4 GB,完整流水线约 8 GB,且每个 PIPELINE_POOL_SIZE 副本会再占一整套;显存小时请调低该值,或用 DISABLE_LAYOUT=1 跳过版面模型。
Q:支持 AMD 或 Apple 芯片吗?
A:目前只有 NVIDIA 后端正式发布,Apple Metal 与 Intel OpenVINO 后端在测试中,AMD ROCm 仍在开发。
注意事项
- 必须使用 --gpus all 把 GPU 透传给容器,否则无法推理。
- 首次启动会构建 TensorRT 引擎,耗时可能很长,建议保留 trt-cache 卷避免重复构建。
- 服务默认同时开放 HTTP 8000(nginx 反代到 Drogon 8080)与 gRPC 50051,两个端口都会自动启动。
核心亮点
- 性能极致:TensorRT FP16 优化,单机吞吐量远超常规 OCR 服务,实测 200+ img/s。
- 接口友好:同时提供 HTTP 和 gRPC,适配微服务和内部调用场景。
- 模型先进:集成 PP-OCRv6,识别精度和速度平衡良好。
不足之处
- 依赖特定硬件:TensorRT 优化依赖 NVIDIA GPU,非 N 卡环境无法发挥性能。
- 文档/社区待观察:早期项目,文档和社区生态尚不成熟。
适用场景
- 大规模文档扫描数字化,批量图片文字提取。
- 视频流实时字幕识别,需要高吞吐低延迟。
- 云服务商提供 OCR API,需要高并发处理能力。
替代项目
PaddleOCR、Tesseract OCR、EasyOCR
同类项目推荐
ai4rs
开源
遥感图像目标检测与变化检测,开箱即用
AI for remote sensing, remote sense, object detection, oriented object detection, co···
ssocr
开源
命令行识别图片里的七段数码管数字
Seven Segment Optical Character Recognition
DriveLM
开源
用图问答让自动驾驶学会推理和解释
[ECCV 2024 Oral] DriveLM: Driving with Graph Visual Question Answering
UniGoal
开源
让机器人零训练看懂世界,直接找目标
[CVPR 2025] UniGoal: Towards Universal Zero-shot Goal-oriented Navigation
GiT
开源
一个Transformer搞定分类、检测、分割和生成,视觉任务不再分家。
[ECCV2024 Oral] Official Implementation of "GiT: Towards Generalist Vision Transform···
Hands-On-Learning-in-Computer-Vi···
开源
打开 Notebook 就能跑,边做边学计算机视觉
Hands-On Learning in Computer Vision
qinglong-captions
开源
给图片视频自动配文字说明
Multimodal captioner
ComfyUI-MiniCPM
开源
在 ComfyUI 里直接调用 MiniCPM,给图像自动生成描述
A custom ComfyUI node for MiniCPM vision-language models, supporting v4, v4.5, and v···
EscherNet
开源
从几张照片生成任意视角新图,3D重建更轻松
[CVPR2024 Oral] EscherNet: A Generative Model for Scalable View Synthesis
