SuperAPI AI 工具集

ocr-super-surya

通用与其它

查看项目

更新于 10-15 16:31

技能介绍

OCR Super Surya 是一个基于 Surya 的 GPU 优化 OCR 技能,主要用于从图片、截图、扫描图像以及包含图片的 PDF 或幻灯片中提取文字。它适用于 OCR、图片文字识别、从截图或照片中提取文本、处理嵌入图片的 PDF、多语言文档 OCR(支持 90 多种语言,包括日语)等场景。

在提取与校验方面,该技能建议先确认输入范围与敏感材料的非公开输出位置,保留源文件且不绕过文档保护。应先提取 PDF/幻灯片原生文本,包括幻灯片备注(若存在),因为非空文本层仍可能遗漏截图、图表或仅含图片的页面,需先盘点这些缺口再选择 OCR 目标。对于图片目标,应先找到最高分辨率的原始版本,因为聊天附件和缩略图是降采样的重编码结果;可按时间戳定位原始截图,裁剪感兴趣区域并以 LANCZOS 放大 4-7 倍,密集 CJK 字符在屏幕缩放下容易塌陷。

处理过程中应记录源相对路径、源哈希、页码/幻灯片号与图像哈希,去重相同图片但不丢弃其来源位置,并区分待处理、已识别、无文字和失败结果。建议先跑小样本并与原图对比再扩大规模;批内复用 predictor,并为每个完成项做 checkpoint,避免中断后从头开始。原始 OCR 结果应与人工修正笔记分开保存,标记低置信度或缺失置信度,检查多栏顺序、代码符号和表格;高置信度并不等于正确,无文字也不等于图片为空。对放大的裁剪图应逐行确认模糊的 CJK 字符并标记未解决项,因为默认失败模式是形近字而非空白。报告时应分别列出已提取文档、已处理 OCR 目标、未识别目标和人工复核范围,并验证保存的文件与哈希。

快速开始部分包含安装与使用说明。安装前先检查所选解释器及已有专用环境,确认 PDF/OCR 依赖是否可用;可用命令检查 surya、torch、pypdf、pypdfium2 是否已安装。导入成功后,使用同一解释器检查包版本与 torch.cuda.is_available()。GPU 不可用不应作为卸载可用环境的理由;依赖缺失时使用隔离环境,遇到重复的等效 TLS 失败应停止重试而不是关闭证书验证。Windows 配合 uv 环境(OneDrive 目录下安装)时,由于 OneDrive 下 uv 硬链接失败,可设置 UV_CACHE_DIR 到 OneDrive 外、在 OneDrive 外创建虚拟环境、使用 --link-mode=copy 安装 surya-ocr,并强制安装 transformers<5.0。

使用方式包括 CLI 与 Python API。CLI 示例有 python scripts/ocr_helper.py image.png、python scripts/ocr_helper.py document.pdf -o result.txt,也可直接使用 surya_ocr image.png --output_dir ./results。Python API 示例涉及 FoundationPredictor、RecognitionPredictor、DetectionPredictor,注意 v0.13+ 需要 FoundationPredictor,v0.17.x 起移除 langs 参数。GPU 配置包括 RECOGNITION_BATCH_SIZE(默认 512,显存不足可调低)和 DETECTOR_BATCH_SIZE(默认 36,OOM 时调低)。脚本部分提供 scripts/ocr_helper.py,支持 OOM 自动重试与批量处理。故障排查涵盖 API 变更、transformers 5.x 不兼容、OneDrive 硬链接限制、Windows CP932 编码错误以及 pypdfium2 上下文管理器差异等常见问题及对应处置。许可证方面,Surya 代码采用 GPL-3.0,收入超过 200 万美元需商业许可。具体收费、价格与更多未提及的功能细节暂未提供。