基于paddleocr: PPOCRv4模型转onnx模型推理,精度和性能更高,推理速度比使用paddlepaddle框架快5倍 https://github.com/jingsongliujing/OnnxOCR OCR with PaddleOCR and ONNX Paddle2ONNX - PaddleOCR Documentation https://medium.com/adevinta-tech-blog/deep-dive-in-paddleocr-inference-e86f618a0937 支持识别语言 - RapidOCR 文档 昇腾300i duo推理卡适配 -- PaddleOCR - 飞桨AI Studio星河社区 硬件支持及示例-PaddlePaddle深度学习平台 https://github.com/PaddlePaddle/PaddleOCR/blob/main/docs/ppocr/model_list.md https://huggingface.co/SWHL/RapidOCR/tree/main/PP-OCRv4 C++版本部署: https://github.com/djdll/cpp_onnx_PaddleOCR https://github.com/felixdittrich92/OnnxTR https://github.com/mindee/doctr 光学字符识别无缝,任何人都可以访问,由Onnx提供动力 你可以从这个存储库中期待什么:从文档中解析文本信息(本地化和识别每个单词)的有效方法docTR的Onnx管道,docTR库的包装器-不依赖PyTorch或TensorFlow更轻量级的包,更快的推理延迟和更少的资源需求8位量化模型在CPU上更快的推理 GitHub - segment-any-text/wtpsplit: Toolkit to segment text into sentences or other semantic units in a robust, efficient and adaptable way. 维护同名WtP是为了保持一致性。我们新的后续SaT在85种语言中提供强大,高效和适应性强的句子分词,性能更高,计算成本更低。在我们的文章中,我们用8种不同的语料库和85种语言演示了最先进的结果。 GitHub - wikimedia/sentencex: A sentence segmentation library with wide language support optimized for speed and utility. 其目的是支持所有有维基百科的语言。对于库中未定义的语言,使用了一个回退链,而不是退回到英语。将使用库中定义的最接近的语言。为约244种语言定义了回调。 有几个优秀的开源库可以用于分割多国语言的句子。以下是一些常用的选择: 1. spaCy - 支持多种语言 - 提供高级的自然语言处理功能 - 网址:spaCy · Industrial-strength Natural Language Processing in Python 示例代码: ```python import spacy nlp = spacy.load("zh_core_web_sm") # 加载中文模型 doc = nlp("这是一个句子。这是另一个句子!") sentences = [sent.text for sent in doc.sents] ``` 2. NLTK (Natural Language Toolkit) - 支持多种语言 - 提供广泛的文本处理工具 - 网址:Natural Language Toolkit 示例代码: ```python import nltk nltk.download('punkt') from nltk.tokenize import sent_tokenize text = "这是第一句。这是第二句!这是第三句?" sentences = sent_tokenize(text) ``` 3. Polyglot - 支持超过100种语言 - 专门设计用于多语言处理 - 网址:Welcome to polyglot’s documentation! 示例代码: ```python from polyglot.text import Text text = Text("Dies ist ein Satz. This is another sentence.") sentences = text.sentences ``` 4. Stanza (Stanford NLP) - 支持多种语言 - 提供全面的自然语言处理工具 - 网址:Overview 示例代码: ```python import stanza nlp = stanza.Pipeline(lang='zh') # 初始化中文管道 doc = nlp("这是一个句子。这是另一个句子!") sentences = [sent.text for sent in doc.sentences] ``` 5. Sacremoses - 主要用于欧洲语言 - 轻量级且易于使用 - 网址:https://github.com/alvations/sacremoses 示例代码: ```python from sacremoses import MosesSentenceSplitter splitter = MosesSentenceSplitter(lang='en') sentences = splitter.split("This is a sentence. This is another one!") ``` 6. Jieba (专门用于中文) - 专门设计用于中文分词和句子分割 - 网址:https://github.com/fxsjy/jieba 示例代码: ```python import jieba text = "这是一个中文句子。这是另一个句子!" sentences = list(jieba.cut_sentences(text)) ``` 7. Pythainlp (专门用于泰语) - 专门设计用于泰语自然语言处理 - 网址:https://github.com/PyThaiNLP/pythainlp 示例代码: ```python from pythainlp.tokenize import sent_tokenize text = "นี่คือประโยคแรก นี่คือประโยคที่สอง" sentences = sent_tokenize(text) ``` 选择哪个库取决于你需要处理的具体语言、项目的规模和复杂度,以及是否需要其他自然语言处理功能。对于多语言处理,spaCy、NLTK 和 Stanza 是比较全面的选择。如果需要处理特定语言,如中文或泰语,可以考虑使用专门的库如 Jieba 或 Pythainlp。 在使用这些库时,请注意: 1. 某些库可能需要下载额外的语言模型。 2. 性能可能因语言而异,可能需要针对特定语言进行微调。 3. 对于非常特殊的语言或领域,可能需要自定义规则或训练模型。 建议在你的具体数据集上测试这些库,以找到最适合你需求的解决方案。 表示阿拉伯语(arabic); 表示中文繁体(chinese_cht); 表示斯拉夫语(cyrillic)俄语; 表示梵文(devanagari); 表示日语(japan); 表示卡纳达文(ka); 表示韩语(korean); 表示泰米尔文(ta); 表示泰卢固文(te); 表示拉丁语(latin)拉丁文。 https://github.com/PaddlePaddle/PaddleClas/blob/release/2.6/docs/zh_CN/models/PULC/PULC_language_classification.md 快速实现AI想法:通用多语言OCR自动检测识别 https://github.com/PaddlePaddle/PaddleOCR/tree/release/2.8/ppocr/utils/dict https://github.com/PaddlePaddle/PaddleClas/issues/3338 python3 -m pip install paddlepaddle==2.5.2 -i https://pypi.tuna.tsinghua.edu.cn/simple python3 -m pip install paddleclas==2.6.0 -i https://pypi.tuna.tsinghua.edu.cn/simple paddleclas --model_name=language_classification --infer_imgs=pulc_demo_imgs/language_classification/word_35404.png 多语种: PaddleOCR https://paddlepaddle.github.io/PaddleOCR/latest/ppocr/blog/multi_languages.html#5 多语种模型列表: https://github.com/Mushroomcat9998/PaddleOCR/blob/main/doc/doc_ch/multi_languages.md PaddleOCR https://github.com/PaddlePaddle/PaddleClas/tree/release/2.6/docs/zh_CN/models/PULC 版本选择: PaddleNLP:基于PaddlePaddle的自然语言处理工具库及安装教程-CSDN博客 Packages for Linux and Unix https://github.com/tesseract-ocr/tessdoc/blob/main/Installation.md Command Line Usage How to Install Latest Tesseract OCR 5 in Ubuntu 24.04 | 22.04 https://maker.pro/raspberry-pi/tutorial/optical-character-recognizer-using-raspberry-pi-with-opencv-and-tesseract https://www.33rdsquare.com/build-your-own-ocr-google-tesseract-opencv/ 其它: https://medium.com/@hlealpablo/surya-and-easyocr-vision-models-and-data-extraction-in-financial-documents-fef55b132185 https://github.com/ocrmypdf/OCRmyPDF How to Install Latest Tesseract OCR 5 in Ubuntu 24.04 | 22.04 是的,Tesseract OCR 确实支持图片的语种识别。这个功能通常被称为 "语言检测" 或 "脚本检测"。以下是关于 Tesseract 语种识别的一些关键信息: 内置功能:Tesseract 包含了一个内置的语言检测功能。 使用方法:可以通过命令行参数 设置为 (Orientation and Script Detection)来启用语言检测。 支持的语言:Tesseract 可以识别多种语言和脚本,包括但不限于拉丁文、中文、日文、韩文、阿拉伯文等。 准确性:语言检测的准确性可能会受到图像质量、文本清晰度等因素的影响。 多语言支持:Tesseract 还可以同时处理包含多种语言的图像。 API 支持:如果你通过编程方式使用 Tesseract,其 API 也提供了语言检测的功能。 版本差异:较新版本的 Tesseract(4.0 及以上)在语言检测方面有所改进。 使用示例(命令行):tesseract image.png output -l osd tesseract 1.png output -l osd 语言数据文件是 Tesseract OCR 用于识别特定语言文字的训练数据。这些文件包含了字符识别所需的模型和信息。以下是关于语言数据文件的详细说明: 1. 文件内容: - 包含特定语言的字符形状、词汇和语言规则等信息。 - 通常以 .traineddata 结尾。 2. 安装方法: a. 官方下载: - 访问 Tesseract GitHub 页面:https://github.com/tesseract-ocr/tessdata - 下载所需语言的 .traineddata 文件。 b. 包管理器(以 Ubuntu 为例): ``` sudo apt-get install tesseract-ocr-[lang] ``` 将 [lang] 替换为语言代码,如 chi-sim(简体中文)、eng(英语)等。 c. 手动安装: - 下载 .traineddata 文件。 - 将文件放入 Tesseract 的语言数据目录,通常是: - Linux: /usr/share/tesseract-ocr/4.00/tessdata/ - Windows: [Tesseract安装目录]tessdata - macOS: /usr/local/share/tessdata/ 3. 验证安装: 使用命令 `tesseract --list-langs` 查看已安装的语言。 4. 常用语言代码: - eng: 英语 - chi_sim: 简体中文 - chi_tra: 繁体中文 - jpn: 日语 - kor: 韩语 5. 注意事项: - 确保下载的语言文件版本与你的 Tesseract 版本兼容。 - 某些语言可能需要额外的配置或依赖。 6. 自定义训练: - 对于特殊需求,可以训练自己的语言数据文件。 安装完语言数据文件后,你就可以使用 `-l` 参数指定语言进行 OCR 识别了,例如: ``` tesseract image.png output -l chi_sim ``` 这样可以确保 Tesseract 能够正确识别特定语言的文字。 Pytesseract | Orientation and Script Detection (OSD) Actually i have found better from chatgpt, With apt install tesseract-ocr-all this installs all the languages so now i can detect multiple languages withing a single image sudo apt install tesseract-ocr-all 最新版本的 Tesseract OCR 模型文件可以从以下几个地方获取: PaddleX模型列表(CPU/GPU) - PaddleX 文档 基于paddleocr: OCR推理引擎选择指南 - RapidOCR 文档 https://rapidai.github.io/RapidOCRDocs/install_usage/rapidocr_web/ocrweb_multi/ https://onnxruntime.ai/docs/execution-providers/community-maintained/ACL-ExecutionProvider.html 推理性能: https://rapidai.github.io/RapidOCRDocs/install_usage/rapidocr_paddle/usage/#_3 基于paddleocr: https://github.com/shibing624/imgocr ragflow/deepdoc/README_zh.md at main · infiniflow/ragflow 基于paddleocr: MinerU/README_zh-CN.md at master · opendatalab/MinerU · GitHub WeSubtitle: 用 OCR 提取视频硬字幕 https://github.com/wenet-e2e/wesubtitle/tree/main/wesubtitle https://github.com/YaoFANGUK/video-subtitle-extractor https://github.com/cpython666/SubExtractor-OCR/blob/main/main.py TableMaster - PaddleOCR Documentation https://github.com/PaddlePaddle/PaddleOCR/tree/main/ppstructure/table 版面恢复 - PaddleOCR 文档 https://github.com/PaddlePaddle/PaddleOCR/discussions/13645 面版识别添加onnx支持完善 by heweisheng · Pull Request #12068 · PaddlePaddle/PaddleOCR PaddleOCR_TableRec_ONNX_Inference(已经转过的模型): https://github.com/llhy60/PaddleOCR_TableRec_ONNX_Inference PaddleOCR_TableRec_ONNX_Inference/models/ch_ppocr_table_rec at main · llhy60/PaddleOCR_TableRec_ONNX_Inference Paddle-ocr pdf-to-word操作指南 版面恢复 - PaddleOCR 文档 直接使用paddleocr进行word输出: https://github.com/sirsws/pdf-docx-convertor/blob/main/pdf2docx_pro.py 版面分析列表: Model - PaddleOCR Documentationpaddleocr --image_dir=ppstructure/docs/table/1.png --type=structure --recovery=true --use_onnx=True --layout_model_dir=inference/picodet_lcnet_x1_0_fgd_layout_infer/best.onnx --rec_model_dir=inference/ch_PP-OCRv4_rec_infer/best.onnx --det_model_dir=inference/ch_PP-OCRv4_det_infer/best.onnx --table_model_dir=inference/ch_ppstructure_mobile_v2.0_SLANet_infer/best.onnx paddleocr版面分析库:https://github.com/PaddlePaddle/PaddleOCR/tree/main/ppstructure/recoveryhttps://github.com/PaddlePaddle/PaddleOCR/tree/main/ppstructure/pdf2wordhttps://github.com/XMuli/PaddleOCR-2.8.1/blob/master/ppstructure/recovery/README_ch.mdPaddleOCR/ppstructure at main · PaddlePaddle/PaddleOCR(关注) 利用ocr将pdf转为docx GitHub - jiangnanboy/pdf_to_docx: ocr,pdf转docx,pdf to docx paddleocr官方提供的识别工具: PaddleOCR/ppstructure at main · PaddlePaddle/PaddleOCR 1、官方模型转换(使用paddlepaddle自带的转换工具)模型使用环境:paddlepaddle26onnx 1.16.0onnxruntime 1.20.1opt-einsum 3.3.0packaging 24.2paddle2onnx 1.2.3paddleocr-convert 0.0.19paddlepaddle 2.6.0转换命令:OnnxOCR/onnxocr at main · jingsongliujing/OnnxOCR模型列表:板式模型:模型库 - PaddleOCR 文档文字识别模型:模型库 - PaddleOCR 文档 字典库:PaddleOCR-main/ppocr/utils/dict pdf2word(用户) / pdf2md(大模型) https://github.com/PaddlePaddle/PaddleOCR/discussions/14267 https://github.com/PaddlePaddle/PaddleOCR/issues/11639 1. af - 南非荷兰语(Afrikaans) 2. az - 阿塞拜疆语(Azerbaijani) 3. bs - 波斯尼亚语(Bosnian) 4. cs - 捷克语(Czech) 5. cy - 威尔士语(Welsh) 6. da - 丹麦语(Danish) 7. de - 德语(German) 8. es - 西班牙语(Spanish) 9. et - 爱沙尼亚语(Estonian) 10. fr - 法语(French) 11. ga - 爱尔兰语(Irish) 12. hr - 克罗地亚语(Croatian) 13. hu - 匈牙利语(Hungarian) 14. id - 印度尼西亚语(Indonesian) 15. is - 冰岛语(Icelandic) 16. it - 意大利语(Italian) 17. ku - 库尔德语(Kurdish) 18. la - 拉丁语(Latin) 19. lt - 立陶宛语(Lithuanian) 20. lv - 拉脱维亚语(Latvian) 21. mi - 毛利语(Maori) 22. ms - 马来语(Malay) 23. mt - 马耳他语(Maltese) 24. nl - 荷兰语(Dutch) 25. no - 挪威语(Norwegian) 26. oc - 奥克语(Occitan) 27. pi - 巴利语(Pali) 28. pl - 波兰语(Polish) 29. pt - 葡萄牙语(Portuguese) 30. ro - 罗马尼亚语(Romanian) 31. rs_latin - 塞尔维亚语(拉丁文)(Serbian Latin) 32. sk - 斯洛伐克语(Slovak) 33. sl - 斯洛文尼亚语(Slovenian) 34. sq - 阿尔巴尼亚语(Albanian) 35. sv - 瑞典语(Swedish) 36. sw - 斯瓦希里语(Swahili) 37. tl - 他加禄语(Tagalog) 38. tr - 土耳其语(Turkish) 39. uz - 乌兹别克语(Uzbek) 40. vi - 越南语(Vietnamese) 41. french - 法语(French) 42. german - 德语(German) 1. ar - 阿拉伯语 (Arabic) 2. fa - 波斯语 (Persian/Farsi) 3. ug - 维吾尔语 (Uyghur) 4. ur - 乌尔都语 (Urdu) 1. ru - 俄语 (Russian) 2. rs_cyrillic - 塞尔维亚语(西里尔文) (Serbian Cyrillic) 3. be - 白俄罗斯语 (Belarusian) 4. bg - 保加利亚语 (Bulgarian) 5. uk - 乌克兰语 (Ukrainian) 6. mn - 蒙古语 (Mongolian) 7. abq - 阿巴扎语 (Abaza) 8. ady - 阿迪格语 (Adyghe) 9. kbd - 卡巴尔达语 (Kabardian) 10. ava - 阿瓦尔语 (Avar) 11. dar - 达尔金语 (Dargwa) 12. inh - 印古什语 (Ingush) 13. che - 车臣语 (Chechen) 14. lbe - 拉克语 (Lak) 15. lez - 列兹金语 (Lezgin) 16. tab - 塔巴萨兰语 (Tabasaran) 1. hi - 印地语 (Hindi) 2. mr - 马拉地语 (Marathi) 3. ne - 尼泊尔语 (Nepali) 4. bh - 比哈尔语 (Bihari) 5. mai - 迈蒂利语 (Maithili) 6. ang - 安加语 (Angika) 7. bho - 博杰普尔语 (Bhojpuri) 8. mah - 马哈语 (Magahi) 9. sck - 萨德里语 (Sadri) 10. new - 尼瓦尔语 (Newari) 11. gom - 贡根语 (Goan Konkani) 12. sa - 梵语 (Sanskrit) 13. bgc - 哈里亚纳维语 (Haryanvi) GitHub - devmaxxing/videocr-PaddleOCR: Extract hardcoded subtitles from videos using machine learning 参考文献: surya模型导出onnx https://gist.github.com/zachmayer/c3964fc107418a4398fc3ec1434b2943 https://github.com/huggingface/transformers/issues/31384 https://github.com/tesseract-ocr/tesseract/wiki/Command-Line-Usage/7fc3dc8c3160f5b79a7ed7378f34ee5786729860 官网提供的npu情况下安装流程 https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta/docs/tutorials/INSTALL_OTHER_DEVICES.md 工程: 手把手教你用PaddleOCR与PyQT实现多语言文字识别的程序 https://github.com/zhangming8/Dango-ocr 手把手教你用PaddleOCR与PyQT实现多语言文字识别的程序-CSDN博客 Tesseract的命令参数: All Tesseract OCR options、 GitHub - ocrmypdf/OCRmyPDF: OCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched ocr的评测: AI测评 | 十二款开源OCR开箱测评,文字识别哪家强 ONNXRuntime arm平台部署:
上一篇:
或对反政府武装的非法占领显露合…
或对反政府武装的非法占领显露合…
下一篇:
开云体育AI分析
开云体育AI分析



