diff --git "a/doc/doc_i18n/README_\320\240\321\203\314\201\321\201\321\201\320\272\320\270\320\271 \321\217\320\267\321\213\314\201\320\272.md" "b/doc/doc_i18n/README_\320\240\321\203\314\201\321\201\321\201\320\272\320\270\320\271 \321\217\320\267\321\213\314\201\320\272.md" new file mode 100644 index 0000000000000000000000000000000000000000..dcf108923ad4403042f1c1be4d067d0ad1fdd2be --- /dev/null +++ "b/doc/doc_i18n/README_\320\240\321\203\314\201\321\201\321\201\320\272\320\270\320\271 \321\217\320\267\321\213\314\201\320\272.md" @@ -0,0 +1,230 @@ +English | [简体中文](README_ch.md) + +

+ +

+

+ + + + + + + +

+ + +## Введение + +PaddleOCR стремится создавать многоязычные, потрясающие, передовые и практичные инструменты OCR, которые помогают пользователям обучать лучшие модели и применять их на практике + +
+ +
+
+ +
+ + + +
+ +
+ + + +## 📣 Последние обновления +- **🔥2022.8.24 Выпуск PaddleOCR [Выпуск /2.6](https://github.com/PaddlePaddle/PaddleOCR/tree/release/2.6)** + - Выпускать [PP-Structurev2](./ppstructure/),с полностью обновленными функциями и производительностью, адаптированными для китайских сцен и новой поддержкой pаспознавание таблиц + [Восстановление макета](./ppstructure/recovery) и **однострочная команда для преобразования PDF в Word**; + - [Анализ макета](./ppstructure/layout) оптимизация: память модели уменьшена на 95%, а скорость увеличена в 11 раз, а среднее время процессорного времени составляет всего 41 мс; + - [Распознавание таблиц](./ppstructure/table) оптимизация: разработано 3 стратегии оптимизации, а точность модели улучшена на 6% при сопоставимых затратах времени; + - [Извлечение ключевой информации](./ppstructure/kie) оптимизация: разработана визуально независимая структура модели, точность распознавания семантической сущности увеличена на 2,8%, а точность извлечения отношения увеличена на 9,1%. +- **🔥2022.7 Выпуск [Коллекция приложений сцены OCR](../../applications/README_en.md)** +- Выпуск **9 вертикальных моделей**, таких как цифровая трубка, ЖК-экран, номерной знак, модель распознавания рукописного ввода, высокоточная модель SVTR и т. д., охватывающих основные вертикальные приложения OCR в целом, производственной, финансовой и транспортной отраслях. +- **🔥2022.5.9 Выпуск PaddleOCR [Выпуск /2.5](https://github.com/PaddlePaddle/PaddleOCR/tree/release/2.5)** +- Выпускать [PP-OCRv3](../doc_en/ppocr_introduction_en.md#pp-ocrv3): При сопоставимой скорости эффект китайской сцены улучшен на 5% по сравнению с ПП-OCRRv2, эффект английской сцены улучшен на 11%, а средняя точность распознавания 80 языковых многоязычных моделей улучшена более чем на 5%. + - Выпускать [PPOCRLabelv2](./PPOCRLabel): Добавьте функцию аннотации для задачи распознавания таблиц, задачи извлечения ключевой информации и изображения неправильного текста. + - Выпустить интерактивную электронную книгу [*"Погружение в OCR"*](../doc_en/ocr_book_en.md), охватывает передовую теорию и практику кодирования технологии полного стека OCR. +- [подробнее](../doc_en/update_en.md) + + +## 🌟 Функции + +PaddleOCR поддерживает множество передовых алгоритмов, связанных с распознаванием текста, и разработала промышленные модели/решения. [PP-OCR](../doc_en/ppocr_introduction_en.md) и [PP-Structure](./ppstructure/README.md) на этой основе и пройти весь процесс производства данных, обучения модели, сжатия, логического вывода и развертывания. + +
+ +
+ + + + +## ⚡ Быстрый опыт + +```bash +pip3 install paddlepaddle # for gpu user please install paddlepaddle-gpu +pip3 install paddleocr +paddleocr --image_dir /your/test/image.jpg --lang=ru +``` + +> Если у вас нет среды Python, выполните [Подготовка среды](../doc_en/environment_en.md). Мы рекомендуем вам начать с [Учебники](#Tutorials). + + + +## 📚 Электронная книга: *Погружение в OCR* +- [Погружение в распознавание символов](../doc_en/ocr_book_en.md) + + + +## 👫 Сообщество + +Что касается международных разработчиков, мы рассматриваем [Обсуждения PaddleOCR](https://github.com/PaddlePaddle/PaddleOCR/discussions) как нашу платформу для международного сообщества. Все идеи и вOCRосы можно обсудить здесь на английском языке. + + + +## 🛠️ Список моделей серии ПП -OCR + +| Введение модели | Название модели | Рекомендуемая сцена | Модель обнаружения | Модель распознавания | +| ------------------------------------------------------------ | ---------------------------- | ----------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | +| Ру́сский язы́к:Ру́сский язы́к Сверхлегкая модель ПП-OCRv3 (13.4M) | cyrillic_PP-OCRv3_xx | Мобильный и сервер |[модель вывода](https://paddleocr.bj.bcebos.com/PP-OCRv3/multilingual/Multilingual_PP-OCRv3_det_infer.tar)/[обученный модель](https://paddleocr.bj.bcebos.com/PP-OCRv3/multilingual/Multilingual_PP-OCRv3_det_distill_train.tar) | [модель вывода](https://paddleocr.bj.bcebos.com/PP-OCRv3/multilingual/cyrillic_PP-OCRv3_rec_infer.tar)/[обученный модель](https://paddleocr.bj.bcebos.com/PP-OCRv3/multilingual/cyrillic_PP-OCRv3_rec_train.tar) | +| Английский сверхлегкая модель ПП-OCRv3 (13,4 Мб) | en\_ПП-OCRv3_xx |Мобильный и сервер | [модель вывода](https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_det_infer.tar) / [обученный модель](https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_det_distill_train.tar) | [вывод модель](https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_rec_infer.tar) / [обученный модель](https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_rec_train.tar) | +| Сверхлегкая китайская и английская модель ПП-OCRv3 (16,2M) | ch\_ПП-OCRv3_xx | Мобильный и сервер | [вывод модель](https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_infer.tar) / [обученный модель](https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_distill_train.tar) | [вывод модель](https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_infer.tar) / [обученный модель](https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_train.tar) | + +- Для получения дополнительных загрузок моделей (включая несколько языков) см. [Загрузки моделей серии ПП-OCR](../doc_en/models_list_en.md). +- Для запроса нового языка см [Руководство для новых языковых_запросов](#language_requests). +- Модели структурного анализа документов см [PP-Structure модельs](./ppstructure/docs/модельs_list_en.md). + + + +## 📖 Учебники + +- [Подготовка окружающей среды](../doc_en/environment_en.md) +- [PP-OCR 🔥](../doc_en/ppocr_introduction_en.md) + + - [Быстрый старт](../doc_en/quickstart_en.md) + - [Модель Zoo](../doc_en/модельs_en.md) + - [Модель тренировки](../doc_en/training_en.md) + - [Обнаружение текста](../doc_en/detection_en.md) + - [Распознавание текста](../doc_en/recognition_en.md) + - [Классификация направления текста](../doc_en/angle_class_en.md) + - Модель Сжатие + - [Модель квантования](./deploy/slim/quantization/README_en.md) + - [Модель Обрезка](./deploy/slim/prune/README_en.md) + - [Дистилляция знаний](../doc_en/knowledge_distillation_en.md) + - [Вывод и развертывание](./deploy/README.md) + - [Python Вывод](../doc_en/ inference _ppocr_en.md) + - [Вывод C++](./deploy/cpp_infer/readme.md) + -[Подача](./deploy/pdserving/README.md) + - [Мобильный](./deploy/lite/readme.md) + - [Paddle2ONNX](./deploy/paddle2onnx/readme.md) + -[ВеслоОблако](./deploy/paddlecloud/README.md) + - [Benchmark](../doc_en/benchmark_en.md) +- [PP-Structure 🔥](../../ppstructure/README.md) + - [Быстрый старт](../../ppstructure/docs/quickstart_en.md) + - [Модель Zoo](../../ppstructure/docs/models_list_en.md) + - [Модель тренировки](../doc_en/training_en.md) + - [Анализ макета](../../ppstructure/layout/README.md) + - [Распознавание таблиц](../../ppstructure/table/README.md) + - [Извлечение ключевой информации](../../ppstructure/kie/README.md) + - [Вывод и развертывание](./deploy/README.md) + - [Вывод Python](../../ppstructure/docs/inference_en.md) + - [Вывод С++](../../deploy/cpp_infer/readme.md) + - [Обслуживание](../../deploy/hubserving/readme_en.md) +- [Академические алгоритмы](../doc_en/algorithm_overview_en.md) + - [Обнаружение текста](../doc_en/algorithm_overview_en.md) +- [Распознавание текста](../doc_en/algorithm_overview_en.md) + - [Непрерывной цепью OCR](../doc_en/algorithm_overview_en.md) + - [Распознавание таблиц](../doc_en/algorithm_overview_en.md) + - [Извлечение ключевой информации](../doc_en/algorithm_overview_en.md) + - [Добавьте новые алгоритмы в PaddleOCR](../doc_en/add_new_algorithm_en.md) +- Аннотации и синтез данных + - [Полуавтоматический инструмент аннотации данных: метка ППOCRR](./PPOCRLabel/README.md) + - [Инструмент синтеза данных: Стиль-текст](./StyleText/README.md) + - [Другие инструменты аннотирования данных](../doc_en/data_annotation_en.md) + - [Другие инструменты синтеза данных](../doc_en/data_synthesis_en.md) +- Наборы данных + - [Общие наборы данных OCR (китайский/английский)](../doc_en/dataset/datasets_en.md) + - [Наборы данных Рукописный/_OCR_ наборы данных (китайский)](../doc_en/dataset/handwritten_datasets_en.md) + - [Различные наборы данных OCR (многоязычные)](../doc_en/dataset/vertical_and_multilingual_datasets_en.md) + - [Анализ макета](../doc_en/dataset/layout_datasets_en.md) + - [Распознавание таблиц](../doc_en/dataset/table_datasets_en.md) + - [Извлечение ключевой информации](../doc_en/dataset/kie_datasets_en.md) +- [Структура кода](../doc_en/tree_en.md) +- [Визуализация](#Visualization) +- [Сообщество](#Community) +- [Новые языковые запросы](#language_requests) +- [ЧАСТО ЗАДАВАЕМЫЕ ВOCRОСЫ](../doc_en/FAQ_en.md) +- [Использованная литература](../doc_en/reference_en.md) +- [ЛИЦЕНЗИЯ](#LICENSE) + + + +## 🇺🇳 Руководство по запросам на новый язык + +Если вы хотите **запросить новую языковую модель**, проголосуйте в [Голосуйте за обновление многоязычной модели](https://github.com/PaddlePaddle/PaddleOCR/discussions/7253). Мы будем регулярно обновлять модель по результату. **Пригласите друзей проголосовать вместе!** + +Если вам нужно **обучить новую языковую модель** на основе вашего сценария, учебное пособие в [Проекте обучения многоязычной модели](https://github.com/PaddlePaddle/PaddleOCR/discussions/7252) поможет вам подготовить набор данных и показать вам весь процесс шаг за шагом. + +Оригинальный [Многоязычный план разработки OCR](https://github.com/PaddlePaddle/PaddleOCR/issues/1048) по-прежнему показывает вам много полезных корпусов и словарей. + + + +## 👀 Визуализация [больше](../doc_en/visualization_en.md) + +
+PP-OCRv3 Многоязычная модель +
+ + +
+
+ +
+PP-OCRv3 Aнглийская модель +
+ + +
+
+
+PP-OCRv3 Kитайская модель +
+ + + +
+
+ +
+PP-Structurev2 +1. анализ макета + распознавание таблиц +
+ +
+2. SER (Семантическое распознавание объектов) +
+ +
+
+ +
+
+ +
+3. RE (Извлечение отношений) +
+ +
+
+ +
+
+ +
+
+ + + +## 📄 Лицензия +Этот проект выпущен под Apache 2.0 license diff --git "a/doc/doc_i18n/README_\340\244\271\340\244\277\340\244\250\340\245\215\340\244\246.md" "b/doc/doc_i18n/README_\340\244\271\340\244\277\340\244\250\340\245\215\340\244\246.md" new file mode 100644 index 0000000000000000000000000000000000000000..7ee837598c6f6165aaf0518e0f49780192f8eded --- /dev/null +++ "b/doc/doc_i18n/README_\340\244\271\340\244\277\340\244\250\340\245\215\340\244\246.md" @@ -0,0 +1,228 @@ +English | [简体中文](README_ch.md) + +

+ +

+

+ + + + + + + +

+ + +## प्रस्तावना +पैडलओसीआर का उद्देश्य बहुभाषी,शानदार , ओसीआर और व्यावहारिक ओसीआरउपकरण बनाना है जो यूजर्स को बेहतर मॉडलों के लिए प्रशिक्षित करने और उन्हें व्यवहार में लागू करने में मदद करते हैं। + +
+ +
+
+ +
+ + +
+ +
+ + +## 📣 हाल के अद्यतन +- **🔥2022.8.24 रिलीज Paddleओसीआर [रिलीज/2.6](https://github.com/PaddlePaddle/PaddleOCR/tree/release/2.6)** + - रिलीज [PP-Structurev2](../../ppstructure),फंक्शन और परफॉरमेंस के साथ पूरी तरह से उन्नत, चायनीज शीन्स के अनुकूल, और मदद के लिए [लेआउट रिकवरी](../../ppstructure/recovery) और **पीडीएफ को वर्ड में बदलने के लिए वन लाइन कमांड**; + - [लेआउट एनालाइस](../../ppstructure/layout) ऑप्टिमाइजेशन: मॉडल स्टोरेज में 95% की कमी, जबकि स्पीड में 11 गुना वृद्धि , और एवरेज CPU स टाइम-कॉस्ट केवल 41ms है; + - [टेबल रिकोगनाइजेशन](../../ppstructure/table) ऑप्टिमाइजेशन: 3 ऑप्टिमाइज़ेशन के तरीके डिजाइन किए गए हैं, और तुलनात्मक समय की खपत के तहत मॉडल सटीकता में 6% का सुधार हुआ है; + - [की इंफॉर्मेशन एक्स्ट्रेक्शन](../../ppstructure/kie) ऑप्टिमाइजेशन : एक बिजुवल-स्वतंत्र मॉडल संरचना डिजाइन की गई है, सिमेंटिक एन्टाइटी रिकग्निशन की सटीकता में 2.8% की वृद्धि हुई है, और रिलेशन एक्सट्रैक्शन की सटीकता में 9.1% की वृद्धि हुई है। + +- **🔥2022.7 रिलीज [ओसीआर दृश्य आवेदन संग्रह](../../applications/README_en.md)** + - रिलीज **9 वर्टिकल मॉडल** जैसे कि डिजिटल ट्यूब, एलसीडी स्क्रीन, लाइसेंस प्लेट, हस्तलेखन पहचान मॉडल, उच्च-सटीक एसवीटीआर मॉडल, आदि, जो सामान्य रूप से मुख्य ओसीआर वर्टिकल अनुप्रयोगों, विनिर्माण, वित्त और परिवहन उद्योगों को कवर करते हैं। + +- **🔥2022.5.9 रिलीज Paddleओसीआर [रिलीज/2.5](https://github.com/PaddlePaddle/Paddleओसीआर/tree/release/2.5)** + - रिलीज [PP-OCRv3](../doc_en/ppocr_introduction_en.md#pp-ocrv3): तुलनात्मक स्पीड के साथ, चाइनीज शीन्स का प्रभाव PP-ओसीआर v2 की तुलना में 5% की और वृद्धि हुयी है इंगलिस शीन्स के प्रभाव में 11% का सुधार हुआ है, और 80 भाषाओं के बहुभाषी मॉडलों की औसत पहचान सटीकता में 5% से अधिक सुधार हुआ है। + - रिलीज़ [PPOCRLabelv2](./PPOCRLabel): टेबल टेबल रिकोगनाइजेशन टास्क की इंफॉर्मेशन एक्स्ट्रेक्शन टास्क और अनियमित टेक्सट इमेज के लिए एनोटेशन फ़ंक्शन एड करे। + + - इंटरएक्टिव ई-बुक जारी करें [*"ओसीआर में गोता लगाएँ"*](../doc_en/ocr_book_en.md), ओसीआर पूर्ण स्टैक तकनीक के अत्याधुनिक सिद्धांत और कोड प्रेक्टिस को कवर करता है। + +- [और अधिक](../doc_en/update_en.md) + + +## 🌟 विशेषताएँ + +Paddleओसीआर से संबंधित विभिन्न प्रकार के अत्याधुनिक एल्गोरिथ्म को सपोर्ट करता है, और विकसित औद्योगिक विशेष रुप से प्रदर्शित मॉडल/समाधान [PP- OCR](../doc_en/ppocr_introduction_en.md) और [PP-Structure](../../ppstructure/README.md) इस आधार पर और डेटा प्रोडक्शन की पूरी प्रोसेस के माध्यम से प्राप्त करें, मॉडल ट्रेनिंग, दबाव, अनुमान और तैनाती। + +
+ +
+ +## ⚡ शीघ्र अनुभव + +```bash +pip3 install paddlepaddle # for gpu user please install paddlepaddle-gpu +pip3 install paddleocr +paddleocr --image_dir /your/test/image.jpg --lang=hi +``` + +> यदि आपके पास पायथन एनवायरनमेंट नहीं है, कृपया फॉलो कीजिए [एनवायरनमेंट प्रिपेरेशन](../doc_en/environment_en.md). हम अनुशंसा करते हैं कि आप इसके साथ शुरुआत करें [ट्यूटोरियल](#Tutorials). + + + +## 📚 ई-बुक: *ओसीआर में गोता लगाएँ* +- [ओसीआर में गोता लगाएँ](../doc_en/ocr_book_en.md) + + + +## 👫 समुदाय + +अंतरराष्ट्रीय डेवलपर्स के लिए, हम सम्मान करते हैं [पैडलओसीआर चर्चाएँ] (https://github.com/PaddlePaddle/PaddleOCR/discussions) हमारे अंतरराष्ट्रीय कम्युनिटी मंच के रूप में। यहां सभी विचारों और प्रश्नों पर अंग्रेजी में चर्चा की जा सकती है। + + + +## 🛠️ PP-ओसीआर श्रृंखला मॉडल सूची + +| मॉडल प्रस्तावना | मॉडल नाम | रिकमेंडिड सीन | डिटेक्शन मॉडल | रिकोगनाइजेशन मॉडल | +| ------------------------------------------------------------ | ---------------------------- | ----------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | +| हिन्दी:हिन्दी अल्ट्रा-लाइटवेट PP-ओसीआरv3 सिस्टम (9.9M) | devanagari_PP-ओसीआरv3_xx | मोबाइल और सर्वर |[इन्फरन्स मॉडल](https://paddleocr.bj.bcebos.com/PP-OCRv3/multilingual/Multilingual_PP-OCRv3_det_infer.tar) / [प्रशिक्षितमॉडल](https://paddleocr.bj.bcebos.com/PP-OCRv3/multilingual/Multilingual_PP-OCRv3_det_distill_train.tar) | [इन्फरन्समॉडल](https://paddleocr.bj.bcebos.com/PP-OCRv3/multilingual/devanagari_PP-OCRv3_rec_infer.tar) / [प्रशिक्षित मॉडल](https://paddleocr.bj.bcebos.com/PP-OCRv3/multilingual/devanagari_PP-OCRv3_rec_train.tar) | +| इंग्लिश अल्ट्रा- लाइट वेट PP-ओसीआरv3 मॉडल (13.4M) | en_PP-ओसीआरv3_xx | मोबाइल और सर्वर | [इन्फरन्स मॉडल](https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_det_infer.tar) / [प्रशिक्षितमॉडल](https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_det_distill_train.tar)| [इन्फरन्समॉडल](https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_rec_infer.tar) / [प्रशिक्षित मॉडल](https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_rec_train.tar) | +| चाइनीस और इंग्लिश अल्ट्रा- लाइट वेट PP-ओसीआरv3 मॉडल(16.2M) | ch_PP-ओसीआरv3_xx | मोबाइल और सर्वर | [इन्फरन्स मॉडल](https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_infer.tar) / [प्रशिक्षित मॉडल](https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_distill_train.tar) | [प्रशिक्षित मॉडल](https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_infer.tar) / [प्रशिक्षित मॉडल](https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_train.tar) | + + +- अधिक मॉडल डाउनलोड (एकाधिक भाषाओं सहित) के लिए, कृपया [PP-ओसीआर सीरीज मॉडल डाउनलोड](../doc_en/models_list_en.md) देखें। +- एक नए भाषा अनुरोध के लिए, कृपया [नई भाषा अनुरोधों के लिए दिशानिर्देश](#language_requests). +- स्ट्रक्चर मॉडल डोकोमेंट एनालाइज के लिए, कृपया देखें [PP-Structure models](../../ppstructure/docs/models_list_en.md). + + + +## 📖 ट्यूटोरियल + +- [एनवायरनमेंट प्रिपरेशन](../doc_en/environment_en.md) +- [PP-OCR 🔥](../doc_en/ppocr_introduction_en.md) + - [क्विक स्टार्ट](../doc_en/quickstart_en.md) + - [मॉडल जू](../doc_en/models_en.md) + - [मॉडल ट्रेनिंग](../doc_en/training_en.md) + - [टेक्सट डिटेक्शन](../doc_en/detection_en.md) + - [टेक्सट रिकोगनीशन](../doc_en/recognition_en.md) + - [टेक्सट डायरेक्शन क्लासिफिकेशन](../doc_en/angle_class_en.md) + - मॉडल कम्प्रेशन + - [मॉडल परिमाणीकरण](./deploy/slim/quantization/README_en.md) + - [मॉडल प्रूनिंग](./deploy/slim/prune/README_en.md) + - [ज्ञान आसवन](../doc_en/knowledge_distillation_en.md) + - [इन्फरन्स और डिप्लोमेन्ट](./deploy/README.md) + - [Python इन्फरन्स](../doc_en/inference_ppocr_en.md) + - [C++ इन्फरन्स](./deploy/cpp_infer/readme.md) + - [सरविंग](./deploy/pdserving/README.md) + - [मोबाइल](./deploy/lite/readme.md) + - [Paddle2ONNX](./deploy/paddle2onnx/readme.md) + - [पैडल क्लाउड](./deploy/paddlecloud/README.md) + - [Benchmark](../doc_en/benchmark_en.md) +- [PP-Structure 🔥](../../ppstructure/README.md) + - [क्विक स्टार्ट](../../ppstructure/docs/quickstart_en.md) + - [मॉडल जू](../../ppstructure/docs/models_list_en.md) + - [मॉडल ट्रेनिंग](../doc_en/training_en.md) + - [लेआउट एनालाइस](../../ppstructure/layout/README.md) + - [टेबल रिकोगनाइजेशन](../../ppstructure/table/README.md) + - [की इंफॉर्मेशन एक्स्ट्रेक्शन](../../ppstructure/kie/README.md) + - [इन्फरन्स और डिप्लोमेन्ट](./deploy/README.md) + - [Python इन्फरन्स](../../ppstructure/docs/inference_en.md) + - [C++ इन्फरन्स](./deploy/cpp_infer/readme.md) + - [सरविंग](./deploy/hubserving/readme_en.md) +- [एकेडमिक एल्गोरिथम](../doc_en/algorithm_overview_en.md) + - [टेक्स्ट डिनेक्शन](../doc_en/algorithm_overview_en.md) + - [टेक्स्ट रिकोगनाइजेशन](../doc_en/algorithm_overview_en.md) + - [एंड-टू-एंड ओसीआर](../doc_en/algorithm_overview_en.md) + - [टेबल रिकोगनाइजेशन](../doc_en/algorithm_overview_en.md) + - [की इंफॉर्मेशन एक्स्ट्रेक्शन](../doc_en/algorithm_overview_en.md) + - [पैडलओसीआर में नए एल्गोरिदम जोड़ें](../doc_en/add_new_algorithm_en.md) +- डेटा एनोटेशन और सिंथेसिस + - [सेमी-ऑटोमैटिक एनोटेशन टूल: PPओसीआरलेबल](./PPOCRLabel/README.md) + - [डेटा सिंथेसिस टूल: स्टाइल-टेक्सट](./StyleText/README.md) + - [अन्य डेटा एनोटेशन टूल](../doc_en/data_annotation_en.md) + - [अन्य डेटा सिंथेसिस टूल](../doc_en/data_synthesis_en.md) +- डेटा सेट + - [सामान्य ओसीआर डेटासेट (चीनी/अंग्रेज़ी)](../doc_en/dataset/datasets_en.md) + - [हस्तलिखित_ओसीआर_डेटासेट (चीनी)](../doc_en/dataset/handwritten_datasets_en.md) + - [विभिन्न ओसीआर + डेटासेट (बहुभाषी)](../doc_en/dataset/vertical_and_multilingual_datasets_en.md) + - [लेआउट एनालाइस](../doc_en/dataset/layout_datasets_en.md) + - [टेबल रिकोगनाइजेशन](../doc_en/dataset/table_datasets_en.md) + - [की इंफॉर्मेशन एक्स्ट्रेक्शन](../doc_en/dataset/kie_datasets_en.md) +- [कोड संरचना](../doc_en/tree_en.md) +- [विसुमलाइजेशन](#Visualization) +- [कम्युनिटी](#Community) +- [नई भाषा के लिए अनुरोध](#language_requests) +- [सामान्य प्रश्न](../doc_en/FAQ_en.md) +- [रेफरेन्सेस](../doc_en/reference_en.md) +- [लाइसेंस](#LICENSE) + + + +## 🇺🇳 नई भाषा अनुरोधों के लिए संयुक्त राष्ट्र दिशानिर्देश + +अगर आप **एक नए भाषा मॉडल का अनुरोध करना चाहते हैं**, तो कृपया [बहुभाषी मॉडल अपग्रेड के लिए वोट करें](https://github.com/PaddlePaddle/PaddleOCR/discussions/7253) में वोट करें। हम नियमित रूप से परिणाम के अनुसार मॉडल को अपग्रेड करेंगे। **अपने दोस्तों को एक साथ वोट करने के लिए आमंत्रित करें!** + +यदि आपको **एक नए भाषा मॉडल को प्रशिक्षित करने** अपने परिदृश्य के आधार पर, तो यह [बहुभाषी मॉडल ट्रेनिंग प्रोजेक्ट ट्रेनिंग](https://github.com/PaddlePaddle/PaddleOCR/discussions/7252) ट्यूटोरियल आपको डेटासेट तैयार करने में मदद करेगा और आपको स्टेप बाए स्टेप पूरा प्रोसेस दिखाएगा + +मूल [बहुभाषी ओसीआर विकास योजना](https://github.com/PaddlePaddle/PaddleOCR/issues/1048) अभी भी आपको बहुत सारे उपयोगी संग्रह और शब्दकोश दिखाता है + + + +## 👀 विज़ुअलाइज़ेशन [अधिक](../doc_en/visualization_en.md) + +
+PP-OCRv3 बहुभाषी मॉडल +
+ + +
+
+ +
+PP-OCRv3 अंग्रेजी मॉडल +
+ + +
+
+
+PP-OCRv3 चीनी मॉडल +
+ + + +
+
+ +
+PP-Structurev2 +1. लेआउट एनालाइस + टेबल रिकोगनाइजेशन +
+ +
+2. SER (सिमेंटिक एंटिटी रिकोगनाइजेशन) +
+ +
+
+ +
+
+ +
+3. RE (रिलेशन एक्सट्रैक्शन) +
+ +
+
+ +
+
+ +
+
+ + + +## 📄 लाइसेंस +इस प्रोजेक्ट को इन परियोजना के तहत जारी किया गया है Apache 2.0 license diff --git "a/doc/doc_i18n/README_\346\227\245\346\234\254\350\252\236.md" "b/doc/doc_i18n/README_\346\227\245\346\234\254\350\252\236.md" new file mode 100644 index 0000000000000000000000000000000000000000..b7059b172a98445f06fca4be8a81be2fa9b3227a --- /dev/null +++ "b/doc/doc_i18n/README_\346\227\245\346\234\254\350\252\236.md" @@ -0,0 +1,227 @@ +English | [简体中文](README_ch.md) + +

+ +

+

+ + + + + + + +

+ + +## 紹介 + +PaddleOCR は、さまざまな言語で、優れた最先端かつ実用的な OCR ツールを作成することを目的とし、ユーザーがより優れたモデルをトレーニングし、実践的に対応できるようになるために役立つAIOCRです。 + +
+ +
+
+ +
+ + + +
+ +
+ +## 📣 最新アップデート +- **🔥2022.8.24 リリース PaddleOCR [release/2.6 ](https://github.com/PaddlePaddle/PaddleOCR/tree/release/2.6)** + - [PP-Structurev2](../../ppstructure/)がリリース。機能と使いやすさがアップグレード、中国語のさまざまな文字に適応、 [レイアウトの復旧](../../ppstructure/recovery) さらに**1 行のコマンドをPDFへ転換、そして Word**に変換可能。 + - [レイアウト分析](../../ppstructure/layout) の最適化:モデルのストレージが 95% 削減、速度が 11 倍向上、平均 CPU 時間コストはわずか 41 ミリ秒です。 + - [表認識](../../ppstructure/table) 最適化:3つの最適化戦略設計、モデルの精度が従来より同時間比が 6% 向上。 + - [キー情報抽出](../../ppstructure/kie) 最適化:視覚に依存しないモデル構造設計、語彙の実態識別精度が 2.8% 向上、関係抽出の精度が 9.1% 向上。 + +- **🔥2022.7 リリース [OCR scene application collection](../../applications/README_en.md)** + - デジタルチューブ、液晶画面、ナンバー プレート、手書き認識モデル、高精度 SVTR モデルなど、**9つの垂直モデル**をリリース、一般、製造、金融、運輸業界の主要な OCR 垂直アプリケーションをカバー。 + +- **🔥2022.5.9 リリース PaddleOCR [release/2.5](https://github.com/PaddlePaddle/PaddleOCR/tree/release/2.5)** + - [PP-OCRv3](../doc_en/ppocr_introduction_en.md#pp-ocrv3)リリース: 同等の速度で、中国語の識別効果は PP-OCRv2 より 5% 向上、英語の識別効果は 11% 向上し、80 言語の多言語モデルの平均認識精度は 5% 以上向上。 + - [PPOCRLabelv2](./PPOCRLabel)リリース: 表認識タスク、キー情報抽出タスク、イレギュラーテキスト画像のアノテーション機能を追加。 + - インタラクティブな電子書籍 [*"OCR に没入"*](../doc_en/ocr_book_en.md)、 をリリース。 OCRフルスタック技術の最先端の理論とコードの実践をカバー。 + +- [もっと](../doc_en/update_en.md) + + +## 🌟 PaddleOCRとは? + +PaddleOCRは、OCRに関連するさまざまな最先端のアルゴリズムに対応する、産業用の機能モデル/ソリューション [PP-OCR](../doc_en/ppocr_introduction_en.md) や [PP-Structure](../../ppstructure/README.md) を開発。これに基づき、データの生成、モデルのトレーニング、圧縮、推論、展開の全プロセスを実行可能。 + +
+ +
+ +## ⚡ 今すぐトライアル + +```bash +pip3 install paddlepaddle # for gpu user please install paddlepaddle-gpu +pip3 install paddleocr +paddleocr --image_dir /your/test/image.jpg --lang=japan # change for i18n abbr +``` + +>Python環境がない場合は [環境の準備](../doc_en/environment_en.md)に従ってください。[チュートリアル](#Tutorials) から始めることをお勧めします。 + + + +## 📚 電子書籍:*OCRに入る* +- [OCRに没入](../doc_en/ocr_book_en.md) + + + +## 👫コミュニティー + +他国の開発者の方は [PaddleOCR Discussions](https://github.com/PaddlePaddle/PaddleOCR/discussions) を国際的なコミュニティ プラットフォームとして使用します。みなさんのアイデアや質問がある場合、ここで英語で話し合うことができます。 + + + +## 🛠️ シリーズ モデル式一覧 + +| モデル紹介 | モデル名 | 推奨のシーン | 検出モデル | 認識モデル | +| ------------------------------------------------------------ | ---------------------------- | ----------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | +| 日本語超軽量 PP-OCRv3 モデル(14.8M) | japan_PP-OCRv3_xx | モバイル & サーバー |[推論モデル](https://paddleocr.bj.bcebos.com/PP-OCRv3/multilingual/Multilingual_PP-OCRv3_det_infer.tar)/[トレーニングモデル](https://paddleocr.bj.bcebos.com/PP-OCRv3/multilingual/Multilingual_PP-OCRv3_det_distill_train.tar) |[推論モデル](https://paddleocr.bj.bcebos.com/PP-OCRv3/multilingual/japan_PP-OCRv3_rec_infer.tar)/[トレーニングモデル](https://paddleocr.bj.bcebos.com/PP-OCRv3/multilingual/japan_PP-OCRv3_rec_train.tar) | +| 英語超軽量PP-OCRv3モデル(13.4M) | en_PP-OCRv3_xx | モバイル & サーバー | [推論モデル](https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_det_infer.tar) / [トレーニングモデル](https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_det_distill_train.tar) | [推論モデル](https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_rec_infer.tar) / [トレーニングモデル](https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_rec_train.tar) | +| 中国語と英語の超軽量 PP-OCRv3 モデル(16.2M) | ch_PP-OCRv3_xx | モバイル & サーバー | [推論モデル](https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_infer.tar) / [トレーニングモデル](https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_distill_train.tar) | [推論モデル](https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_infer.tar) / [トレーニングモデル](https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_train.tar) | + + +- その他のモデルのダウンロード (多言語を含む) については、[PP-OCR シリーズ モデルのダウンロード] (../doc_en/models_list_en.md)をご参照ください。 +- 新しい言語のリクエストについては、 [新しい言語_リクエストのガイドライン](#language_requests)を参照してください。 +- 構造文書分析モデルについては、[PP-Structure models](../../ppstructure/docs/models_list_en.md)をご参照ください。 + + + +## 📖 チュートリアル + +- [環境の準備](../doc_en/environment_en.md) +- [PP-OCR 🔥](../doc_en/ppocr_introduction_en.md) + - [クイックスタート](../doc_en/quickstart_en.md) + - [Model Zoo](../doc_en/models_en.md) + - [トレーニング モデル](../doc_en/training_en.md) + - [テキスト検出](../doc_en/detection_en.md) + - [テキスト認識](../doc_en/recognition_en.md) + - [テキスト方向の分類](../doc_en/angle_class_en.md) + - モデル圧縮 + - [モデルの量子化](./deploy/slim/quantization/README_en.md) + - [モデルの剪裁](./deploy/slim/prune/README_en.md) + - [知識の蒸留](../doc_en/knowledge_distillation_en.md) + - [推論と展開](./deploy/README.md) + - [Python 推論](../doc_en/inference_ppocr_en.md) + - [C++ 推論](./deploy/cpp_infer/readme.md) + - [サービング](./deploy/pdserving/README.md) + - [モバイル](./deploy/lite/readme.md) + - [Paddle2ONNX](./deploy/paddle2onnx/readme.md) + - [PaddleCloud](./deploy/paddlecloud/README.md) + - [Benchmark](../doc_en/benchmark_en.md) +- [PP-Structure 🔥](../../ppstructure/README.md) + - [クイックスタート](../../ppstructure/docs/quickstart_en.md) + - [Model Zoo](../../ppstructure/docs/models_list_en.md) + - [トレーニング モデル](../doc_en/training_en.md) + - [レイアウト分析](../../ppstructure/layout/README.md) + - [表認識](../../ppstructure/table/README.md) + - [キー情報抽出](../../ppstructure/kie/README.md) + - [推論と展開](./deploy/README.md) + - [Python 推論](../../ppstructure/docs/inference_en.md) + - [C++ 推論](./deploy/cpp_infer/readme.md) + - [サービング](./deploy/hubserving/readme_en.md) +- [アカデミックアリゴリズム](../doc_en/algorithm_overview_en.md) + - [テキスト検出](../doc_en/algorithm_overview_en.md) + - [テキスト認識](../doc_en/algorithm_overview_en.md) + - [エンド・ツー・エンド OCR](../doc_en/algorithm_overview_en.md) + - [表認識](../doc_en/algorithm_overview_en.md) + - [キー情報抽出](../doc_en/algorithm_overview_en.md) + - [PaddleOCR に新しいアルゴリズムを追加する](../doc_en/add_new_algorithm_en.md) +- データの注釈と合成 + - [半自動注釈ツール: PPOCRLabel](./PPOCRLabel/README.md) + - [データ合成ツール: Style-Text](./StyleText/README.md) + - [その他のデータ注釈ツール](../doc_en/data_annotation_en.md) + - [その他のデータ合成ツール](../doc_en/data_synthesis_en.md) +- データセット + - [一般OCRデータセット(中国語/英語)](../doc_en/dataset/datasets_en.md) + - [HandWritten_OCR_Datasets(中国語)](../doc_en/dataset/handwritten_datasets_en.md) + - [各種OCRデータセット(多言語対応)](../doc_en/dataset/vertical_and_multilingual_datasets_en.md) + - [レイアウト分析](../doc_en/dataset/layout_datasets_en.md) + - [表認識](../doc_en/dataset/table_datasets_en.md) + - [キー情報抽出](../doc_en/dataset/kie_datasets_en.md) +- [コード構造](../doc_en/tree_en.md) +- [視覚化](#Visualization) +- [コミュニティ](#Community) +- [新言語のリクエスト](#language_requests) +- [よくある質問](../doc_en/FAQ_en.md) +- [参考文献](../doc_en/reference_en.md) +- [ライセンス](#LICENSE) + + + +## 🇺🇳 新しい言語リクエストのガイドライン + +**新言語モデルをリクエスト**したい場合、[多言語モデルのアップグレードへの投票](https://github.com/PaddlePaddle/PaddleOCR/discussions/7253)で投票してください。投票結果に応じて定期的にモデルがアップグレードされます。**友達を招待して一緒に投票しましょう!** + +シナリオに基づいて**新しい言語モデルをトレーニング** する必要がある場合は、[多言語モデル トレーニング プロジェクト](https://github.com/PaddlePaddle/PaddleOCR/discussions/7252) のチュートリアルがデータセットの準備にご利用でき、 プロセス全体を段階的に表示することができます。 + +元の[多言語 OCR 開発計画](https://github.com/PaddlePaddle/PaddleOCR/issues/1048) には、まだ多くの有用なコーパスと辞書が表示されています + + + +## 👀 ビジュアリゼーション [more](../doc_en/visualization_en.md) + +
+PP-OCRv3 多言語モデル +
+ + +
+
+ +
+PP-OCRv3 英語 モデル +
+ + +
+
+
+PP-OCRv3 中国語 モデル +
+ + + +
+
+ +
+PP-Structurev2 +1. レイアウト分析+テーブル認識 +
+ +
+2. SER (セマンティックエンティティ認識) +
+ +
+
+ +
+
+ +
+3. RE (関係抽出) +
+ +
+
+ +
+
+ +
+
+ + + +## 📄 ライセンス +このプロジェクトは以下の場所でリリースされています Apache 2.0 license diff --git "a/doc/doc_i18n/README_\355\225\234\352\265\255\354\226\264.md" "b/doc/doc_i18n/README_\355\225\234\352\265\255\354\226\264.md" new file mode 100644 index 0000000000000000000000000000000000000000..1ff1db67356b00581f437ac27fc07a112c4bad38 --- /dev/null +++ "b/doc/doc_i18n/README_\355\225\234\352\265\255\354\226\264.md" @@ -0,0 +1,224 @@ +English | [简体中文](README_ch.md) + +

+ +

+

+ + + + + + + +

+ +## 소개 + +PaddleOCR은 사용자들이 보다 나은 모델을 훈련하여 실전에 투입하는데 도움을 주는 다중 언어로 된 엄청나게 멋지고 주도적이며 실용적인 OCR 툴을 만드는데 목표를 두고 있습니다. +
+ +
+
+ +
+ + +
+ +
+ + +## 📣최근 업데이트 +- **🔥2022년 8월 24일에 패들 OCR 출시 [출시/2.6](https://github.com/PaddlePaddle/PaddleOCR/tree/release/2.6)** + 차이니즈 씬에 맞춘 완전 업그레이드 된 기능과 성능을 갖춘 ; [PP-Structurev2](../../ppstructure/) 출시, 그리고 레이아웃 리커버리 ](../../ppstructure/recovery) 신규 지원 및 PDF 를 워드로 전환하는 원 라인 명령 + - [레이아웃 분석](../../ppstructure/layout) 최적화: 95% 감소된 모델 저장, while 반면 속도는 11배 증가하고, 평균 CPU 시간 비용은 41ms에 불과함; + - [표 인식](../../ppstructure/table) 최적화: 3 최적화 전략이 디자인되고 모델 정확도는 비교 가능한 시간 소비 하에 6% 개선됨; + - [핵심 정보 추출](../../ppstructure/kie) 최적화: 시각에 의존하지 않는 모델 구조가 디자인되고, 의미체 인식 정확도가 2.8% 증가되며 관계 추출 정확도는 9.1% 증가됨. + +- **🔥2022년 7월 출시[OCR 씬 애플리케이션 컬렉션](../../applications/README_en.md)** + 디지털 튜브, LCD 스크린, 라이선스 플레이트, 수기 인식 모델, 고정밀 SVTR 모델 등등과 같은 “9수직 모델” 출시로, 일반적으로 주된 OCR 수직 애플리케이션, 제조, 금융 및 수송 산업 커버 + +- **🔥2022년 5월 9일에 패들 OCR 출시 [출시/2.5](https://github.com/PaddlePaddle/PaddleOCR/tree/release/2.5)** + - [PP-OCRv3](../doc_en/ppocr_introduction_en.md#pp-ocrv3)출시: 5%.비교 가능한 속도로, 차이니즈 씬의 효과는 PP-OCRv2와 비교해 볼 때 추가로 5% 정도 더 개선되고, 잉글리쉬 씬 효과는 11% 개선되었으며, 80개 언어 다중 언어 모델 평균 인식 정확도는 5% 이상 개선됨. + - [PPOCRLabelv2](./PPOCRLabel)출시: 표 인식 업무, 핵심 정보 추출 업무 및 불규칙한 텍스트 이미지주석 기능 추가. + - 쌍방향e-북 출시 [*"OCR 뛰어들기"*](../doc_en/ocr_book_en.md), 첨단 이론 및 OCR 정식 스택 기술 코드 연습 포함. + +- [추가](../doc_en/update_en.md) + + +## 🌟특징 +패들OCR은 OCR 관련 다양한 첨단 알고리즘 지원 [PP-OCR](../doc_en/ppocr_introduction_en.md) 및 [PP-Structure](../../ppstructure/README.md) 이를 기반으로, 그리고 전체 데이터 생산 처리, 모델 훈련, 압축, 추론 및 배치를 통해 획득. + +
+ +
+ + +## ⚡ 신속한 경험 + +```bash +pip3 install paddlepaddle # for gpu user please install paddlepaddle-gpu +pip3 install paddleocr +paddleocr --image_dir /your/test/image.jpg --lang=korean +``` + +>만일 당신이 파이톤 환경이 없다면 [환경 준비]를 따르기 바람(../doc_en/environment_en.md). 우리는 당신이[사용지침 프로그램]으로 시작할 것을 권장합니다.(#Tutorials). + + + +## 📚 E-북: *OCR로 뛰어들기* +- [OCR로 뛰어들기](../doc_en/ocr_book_en.md) + + + +## 👫 커뮤니티로 + +국제 개발자들을 위해 우리는 [PaddleOCR 논의하기](https://github.com/PaddlePaddle/PaddleOCR/discussions) 를 우리의 국제 커뮤니티로 간주. 모든 아이디어와 질문은 여기서 영어로 논의 가능. + + + +## PP-OCR 시리즈 모델 목록 + +| 모델 소개 |모델 명 | 권장 씬| 감지 모델 |인식 모델 | +| ------------------------------------------------------------ | ---------------------------- | ----------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | +| 한국어 초경량 PP-OCRv3 모델(14.8M) | korean_PP-OCRv3_xx | 모바일 & 서버 | [추론 모델](https://paddleocr.bj.bcebos.com/PP-OCRv3/multilingual/Multilingual_PP-OCRv3_det_infer.tar) / [훈련 모델](https://paddleocr.bj.bcebos.com/PP-OCRv3/multilingual/Multilingual_PP-OCRv3_det_distill_train.tar) | [추론 모델](https://paddleocr.bj.bcebos.com/PP-OCRv3/multilingual/korean_PP-OCRv3_rec_infer.tar) / [훈련 모델](https://paddleocr.bj.bcebos.com/PP-OCRv3/multilingual/korean_PP-OCRv3_rec_train.tar) | +| 영어 초경량 PP-OCRv3 모델(13.4M) | en_PP-OCRv3_xx | 모바일 & 서버 | [추론 모델](https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_det_infer.tar) / [훈련 모델](https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_det_distill_train.tar) | [추론 모델](https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_rec_infer.tar) / [훈련 모델](https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_rec_train.tar) | +| 중국어 및 영어 초경량 PP-OCRv3 model(16.2M) | ch_PP-OCRv3_xx | 모바일 & 서버 | [추론 모델](https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_infer.tar) / [훈련 모델](https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_distill_train.tar) | [추론 모델](https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_infer.tar) / [훈련 모델](https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_train.tar) | + + +- (다중 언어를 포함하여)더 많은 모델을 다운로드 하려면, [PP-OCR 시리즈 모델 다운로드](../doc_en/models_list_en.md)를 참조할 것. +- 신규 언어 요청에 대해서는, [신규 언어 요청 지침](#language_requests)을 참조할 것. +- 구조적 문서 분석 모델에 대해서는, [PP-Structure models](../../ppstructure/docs/models_list_en.md).을 참조할 것. + + + +## 📖 사용 지침 프로그램 + +- [환경 준비](../doc_en/environment_en.md) +- [PP-OCR 🔥](../doc_en/ppocr_introduction_en.md) + - [신속한 시작](../doc_en/quickstart_en.md) + - [동물원 모델](../doc_en/models_en.md) + - [모델 훈련](../doc_en/training_en.md) + - [텍스트 감지](../doc_en/detection_en.md) + - [텍스트 인식](../doc_en/recognition_en.md) + - [텍스트 방향 분류](../doc_en/angle_class_en.md) + - 모델 압축 + - [모델 계량화](./deploy/slim/quantization/README_en.md) + - [모델 전지작업](./deploy/slim/prune/README_en.md) + - [지식 정제](../doc_en/knowledge_distillation_en.md) + - [추론 및 배치](./deploy/README.md) + - [파이톤 추론](../doc_en/inference_ppocr_en.md) + - [C++ 추론](./deploy/cpp_infer/readme.md) + - [서빙](./deploy/pdserving/README.md) + - [모바일](./deploy/lite/readme.md) + - [Paddle2ONNX](./deploy/paddle2onnx/readme.md) + - [패들 클라우드](./deploy/paddlecloud/README.md) + - [Benchmark](../doc_en/benchmark_en.md) +- [PP-Structure 🔥](../../ppstructure/README.md) + - [신속한 시작](../../ppstructure/docs/quickstart_en.md) + - [동물원 모델](../../ppstructure/docs/models_list_en.md) + - [모델 훈련](../doc_en/training_en.md) + - [레이아웃 분석](../../ppstructure/layout/README.md) + - [표 인식](../../ppstructure/table/README.md) + - [핵심 정보 추출](../../ppstructure/kie/README.md) + - [추론 및 배치](./deploy/README.md) + - [파이톤 추론](../../ppstructure/docs/inference_en.md) + - [C++ 추론](./deploy/cpp_infer/readme.md) + - [서빙](./deploy/hubserving/readme_en.md) +- [학문적 알고리즘](../doc_en/algorithm_overview_en.md) + - [텍스트 감지](../doc_en/algorithm_overview_en.md) + - [텍스트 인식](../doc_en/algorithm_overview_en.md) + - [종단종OCR](../doc_en/algorithm_overview_en.md) + - [표 인식](../doc_en/algorithm_overview_en.md) + - [핵심 정보 추출](../doc_en/algorithm_overview_en.md) + - [PaddleOCR에 신규 알고리즘 추가](../doc_en/add_new_algorithm_en.md) +- 데이터 주석 및 합성 + - [반-자동 주석 툴: PPOCRLabel](./PPOCRLabel/README.md) + - [데이터 합성 툴: 스타일-텍스트](./StyleText/README.md) + - [기타 데이터 주석 툴](../doc_en/data_annotation_en.md) + - [기타 데이터 합성 툴](../doc_en/data_synthesis_en.md) +- 데이터세트 + - [일반 OCR 데이터세트(중국어/영어)](../doc_en/dataset/datasets_en.md) + - [수기_OCR_데이터세트(중국어)](../doc_en/dataset/handwritten_datasets_en.md) + - [다양한 OCR 데이터세트(다중언어)](../doc_en/dataset/vertical_and_multilingual_datasets_en.md) + - [레이아웃 분석](../doc_en/dataset/layout_datasets_en.md) + - [표 인식](../doc_en/dataset/table_datasets_en.md) + - [핵심 정보 추출](../doc_en/dataset/kie_datasets_en.md) +- [코드 구조](../doc_en/tree_en.md) +- [시각화](#Visualization) +- [커뮤니티](#Community) +- [신규 언어 요청](#language_requests) +- [자주 묻는 질문](../doc_en/FAQ_en.md) +- [추론](../doc_en/reference_en.md) +- [라이선스](#LICENSE) + + + +## 신규 언어 요청에 대한 유엔 가이드라인 + +만일 신규 언어 모델을 요청하고자 한다면**, [다중 언어 모델 업그레이드 투표하기](https://github.com/PaddlePaddle/PaddleOCR/discussions/7253)에서 투표하기 바람. 우리는 결과에 따라 규칙적으로 모델을 업그레이드 시킬 것임**함께 투표하고자 당신의 친구들을 초대할 것!** +만일 당신이 시나리오 기반 “신규 언어 모델”을 훈련하고자 한다면, [다중 언어 모델 훈련 프로젝트](https://github.com/PaddlePaddle/PaddleOCR/discussions/7252) 를 통해 당신의 데이터세트를 작성하는데 도움이 되고 단계별로 전체 절차를 보여줄 것입니다. +원본[다중 언어 OCR 개발 계획](https://github.com/PaddlePaddle/PaddleOCR/issues/1048)은 여전히 수많은 유용한 말뭉치와 사전을 보여줍니다. + + + +## 👀 시각화[추가](../doc_en/visualization_en.md) + +
+PP-OCRv3 다중 언어 모델 +
+ + +
+
+ + +
+PP-OCRv3 영어 모델 +
+ + +
+
+
+PP-OCRv3 중국어 모델 +
+ + + +
+
+ + +
+PP-Structurev2 +1. 레이아웃 분석 + 표 인식 +
+ +
+2. SER (의미체 인식) +
+ +
+
+ +
+
+ +
+3. RE (관계 추출) +
+ +
+
+ +
+
+ +
+
+ + +## 📄 라이선스 +본 프로젝트는 Apache 2.0 license 하에 출시됨. diff --git a/ppstructure/pdf2word/README.md b/ppstructure/pdf2word/README.md index 6edd6a2f3bccbeaa1673d59f5dbb1935a0d6b2c2..11bfec8ab7cca90ffe67577c95edcb07ebc19adf 100644 --- a/ppstructure/pdf2word/README.md +++ b/ppstructure/pdf2word/README.md @@ -1,16 +1,27 @@ # PDF2Word -PDF2Word是PaddleOCR社区开发者[whjdark](https://github.com/whjdark) 基于PP-Structure智能文档分析模型实现的PDF转换Word应用程序,提供可直接安装的exe,方便windows用户运行 +PDF2Word是PaddleOCR社区开发者 [whjdark](https://github.com/whjdark) 基于PP-StructureV2版面分析与恢复模型实现的PDF转换Word应用程序,提供可直接安装的exe应用程序,**方便Windows用户离线、免环境配置运行** ## 1.使用 ### 应用程序 -1. 下载与安装:针对Windows用户,根据[软件下载]()一节下载软件后,运行 `启动程序.exe` 。若您下载的是lite版本,安装过程中会在线下载环境依赖、模型等必要资源,安装时间较长,请确保网络畅通。serve版本打包了相关依赖,安装时间较短,可按需下载。 +1. 下载与安装:针对Windows用户,根据[软件下载](#download)一节下载软件并解压后,运行 `启动程序.exe` 。 -2. 转换:由于PP-Structure根据中英文数据分别进行适配,在转换相应文件时可**根据文档语言进行相应选择**。 +2. **打开文件与转换:** -### 脚本运行 + - `中文转换、英文转换` :针对 `图片型PDF` 文件的转换方法,即**当PDF文件中的文字无法复制粘贴时**,推荐使用本方法通过OCR转换文件,由于PP-Structure根据中英文数据分别进行适配,在转换相应文件时可**根据文档语言进行相应选择**。 + - `PDF解析` : 针对可以复制文字的PDF文件,推荐直接点击 `PDF解析`,获得更加精准的效果。 + +3. 打开结果:点击`显示结果`,即可打开转换完成后的文件夹 + +> 注意: +> +> - 初次安装程序根据不同设备需要等待1-2分钟不等 +> - 使用Office与WPS打开的Word结果会出现不同,推荐以Office为准 +> - 本程序使用 [QPT](https://github.com/QPT-Family/QPT) 进行应用程序打包,感谢 [GT-ZhangAcer](https://github.com/GT-ZhangAcer) 对打包过程的支持 + +### 脚本启动界面 首次运行需要将切换路径到 `/ppstructure/pdf2word` ,然后运行代码 @@ -18,11 +29,25 @@ PDF2Word是PaddleOCR社区开发者[whjdark](https://github.com/whjdark) 基于P python pdf2word.py ``` +### PaddleOCR whl包 + +针对Linux、Mac用户或已经拥有Python环境的用户,**推荐安装 `paddleocr` whl包直接应用版面恢复功能**,详情可查看[链接](https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.6/ppstructure/docs/quickstart.md) + + + ## 2.软件下载 -如需获取已打包程序,可以扫描下方二维码,关注公众号填写问卷后,加入PaddleOCR官方交流群免费获取20G OCR学习大礼包,内含OCR场景应用集合(包含数码管、液晶屏、车牌、高精度SVTR模型等7个垂类模型)、《动手学OCR》电子书、课程回放视频、前沿论文等重磅资料 +如需获取已打包程序,可以扫描下方二维码,关注公众号填写问卷后,加入PaddleOCR官方交流群免费获取20G OCR学习大礼包,内含OCR场景应用集合(包含数码管、液晶屏、车牌、高精度SVTR模型等10个垂类模型)、《动手学OCR》电子书、课程回放视频、前沿论文等重磅资料
+## 3.版本说明 + +v0.2版:新加入PDF解析功能,仅提供full版本,打包了所有依赖包与模型文件,尽可能避免安装失败问题 + +v0.1版:最初版本,分为3个版本: +- mini版:体积较小,在安装过程中会自动下载依赖包、模型等必要资源,安装时间较长,需要确保网络畅通。 +- env版:仅打包了项目依赖,避免出现运行过程中找不到cv等资源的情况。 +- full版:打包了依赖包与模型文件,故压缩包较大,相对等待时间较短,可按需下载。 diff --git a/ppstructure/pdf2word/pdf2word.py b/ppstructure/pdf2word/pdf2word.py index 6b394094f3b24bfaa7829541f4f9a2a48f3d493f..a287fb248c3c947157401109a2d7df120dfbeda5 100644 --- a/ppstructure/pdf2word/pdf2word.py +++ b/ppstructure/pdf2word/pdf2word.py @@ -7,8 +7,11 @@ import functools import cv2 import platform import numpy as np +import fitz +from PIL import Image +from pdf2docx.converter import Converter from qtpy.QtWidgets import QApplication, QWidget, QPushButton, QProgressBar, \ - QGridLayout, QMessageBox, QLabel, QFileDialog + QGridLayout, QMessageBox, QLabel, QFileDialog, QCheckBox from qtpy.QtCore import Signal, QThread, QObject from qtpy.QtGui import QImage, QPixmap, QIcon @@ -17,6 +20,7 @@ root = os.path.abspath(os.path.join(file, '../../')) sys.path.append(file) sys.path.insert(0, root) + from ppstructure.predict_system import StructureSystem, save_structure_res from ppstructure.utility import parse_args, draw_structure_result from ppocr.utils.network import download_with_progressbar @@ -24,7 +28,7 @@ from ppstructure.recovery.recovery_to_doc import sorted_layout_boxes, convert_in # from ScreenShotWidget import ScreenShotWidget __APPNAME__ = "pdf2word" -__VERSION__ = "0.1.1" +__VERSION__ = "0.2.2" URLs_EN = { # 下载超英文轻量级PP-OCRv3模型的检测模型并解压 @@ -75,9 +79,7 @@ def QImageToCvMat(incomingImage) -> np.array: def readImage(image_file) -> list: - if os.path.basename(image_file)[-3:] in ['pdf']: - import fitz - from PIL import Image + if os.path.basename(image_file)[-3:] == 'pdf': imgs = [] with fitz.open(image_file) as pdf: for pg in range(0, pdf.pageCount): @@ -102,17 +104,22 @@ def readImage(image_file) -> list: class Worker(QThread): progressBarValue = Signal(int) + progressBarRange = Signal(int) endsignal = Signal() + exceptedsignal = Signal(str) #发送一个异常信号 loopFlag = True - def __init__(self, predictors, save_pdf, vis_font_path): + def __init__(self, predictors, save_pdf, vis_font_path, use_pdf2docx_api): super(Worker, self).__init__() self.predictors = predictors self.save_pdf = save_pdf self.vis_font_path = vis_font_path self.lang = 'EN' self.imagePaths = [] + self.use_pdf2docx_api = use_pdf2docx_api self.outputDir = None + self.totalPageCnt = 0 + self.pageCnt = 0 self.setStackSize(1024*1024) def setImagePath(self, imagePaths): @@ -123,61 +130,91 @@ class Worker(QThread): def setOutputDir(self, outputDir): self.outputDir = outputDir + + def setPDFParser(self, enabled): + self.use_pdf2docx_api = enabled + + def resetPageCnt(self): + self.pageCnt = 0 + + def resetTotalPageCnt(self): + self.totalPageCnt = 0 - def predictAndSave(self, imgs, img_name): + def ppocrPrecitor(self, imgs, img_name): all_res = [] + # update progress bar ranges + self.totalPageCnt += len(imgs) + self.progressBarRange.emit(self.totalPageCnt) + # processing pages for index, img in enumerate(imgs): res, time_dict = self.predictors[self.lang](img) # save output save_structure_res(res, self.outputDir, img_name) - draw_img = draw_structure_result(img, res, self.vis_font_path) - img_save_path = os.path.join(self.outputDir, img_name, 'show_{}.jpg'.format(index)) - if res != []: - cv2.imwrite(img_save_path, draw_img) + # draw_img = draw_structure_result(img, res, self.vis_font_path) + # img_save_path = os.path.join(self.outputDir, img_name, 'show_{}.jpg'.format(index)) + # if res != []: + # cv2.imwrite(img_save_path, draw_img) # recovery h, w, _ = img.shape res = sorted_layout_boxes(res, w) all_res += res + self.pageCnt += 1 + self.progressBarValue.emit(self.pageCnt) - try: - convert_info_docx(img, all_res, self.outputDir, img_name, self.save_pdf) - except Exception as ex: - print(self, - "error in layout recovery image:{}, err msg: {}".format( - img_name, ex)) - + if all_res != []: + try: + convert_info_docx(imgs, all_res, self.outputDir, img_name) + except Exception as ex: + print("error in layout recovery image:{}, err msg: {}". + format(img_name, ex)) + print("Predict time : {:.3f}s".format(time_dict['all'])) print('result save to {}'.format(self.outputDir)) def run(self): + self.resetPageCnt() + self.resetTotalPageCnt() try: - findex = 0 os.makedirs(self.outputDir, exist_ok=True) for i, image_file in enumerate(self.imagePaths): - if self.loopFlag == True: + if not self.loopFlag: + break + # using use_pdf2docx_api for PDF parsing + if self.use_pdf2docx_api \ + and os.path.basename(image_file)[-3:] == 'pdf': + self.totalPageCnt += 1 + self.progressBarRange.emit(self.totalPageCnt) + print('===============using use_pdf2docx_api===============') + img_name = os.path.basename(image_file).split('.')[0] + docx_file = os.path.join( + self.outputDir, '{}.docx'.format(img_name)) + cv = Converter(image_file) + cv.convert(docx_file) + cv.close() + print('docx save to {}'.format(docx_file)) + self.pageCnt += 1 + self.progressBarValue.emit(self.pageCnt) + else: + # using PPOCR for PDF/Image parsing imgs = readImage(image_file) if len(imgs) == 0: continue img_name = os.path.basename(image_file).split('.')[0] os.makedirs(os.path.join(self.outputDir, img_name), exist_ok=True) - self.predictAndSave(imgs, img_name) - findex += 1 - self.progressBarValue.emit(findex) - else: - break + self.ppocrPrecitor(imgs, img_name) + # file processed self.endsignal.emit() - self.exec() + # self.exec() except Exception as e: - print(e) - raise + self.exceptedsignal.emit(str(e)) # 将异常发送给UI进程 class APP_Image2Doc(QWidget): def __init__(self): super().__init__() - self.setFixedHeight(90) - self.setFixedWidth(400) + self.setFixedHeight(100) + self.setFixedWidth(420) # settings self.imagePaths = [] @@ -187,6 +224,7 @@ class APP_Image2Doc(QWidget): self.output_dir = None self.vis_font_path = os.path.join(root, "doc", "fonts", "simfang.ttf") + self.use_pdf2docx_api = False # ProgressBar self.pb = QProgressBar() @@ -207,10 +245,12 @@ class APP_Image2Doc(QWidget): } # 设置工作进程 - self._thread = Worker(predictors, self.save_pdf, self.vis_font_path) - self._thread.progressBarValue.connect(self.handleProgressBarSingal) + self._thread = Worker(predictors, self.save_pdf, self.vis_font_path, self.use_pdf2docx_api) + self._thread.progressBarValue.connect(self.handleProgressBarUpdateSingal) self._thread.endsignal.connect(self.handleEndsignalSignal) - self._thread.finished.connect(QObject.deleteLater) + # self._thread.finished.connect(QObject.deleteLater) + self._thread.progressBarRange.connect(self.handleProgressBarRangeSingal) + self._thread.exceptedsignal.connect(self.handleThreadException) self.time_start = 0 # save start time def setupUi(self): @@ -233,25 +273,30 @@ class APP_Image2Doc(QWidget): self.startCNButton.setIcon(QIcon(QPixmap("./icons/chinese.png"))) layout.addWidget(self.startCNButton, 0, 1, 1, 1) self.startCNButton.clicked.connect( - functools.partial(self.handleStartSignal, 'CN')) + functools.partial(self.handleStartSignal, 'CN', False)) self.startENButton = QPushButton("英文转换") self.startENButton.setIcon(QIcon(QPixmap("./icons/english.png"))) layout.addWidget(self.startENButton, 0, 2, 1, 1) self.startENButton.clicked.connect( - functools.partial(self.handleStartSignal, 'EN')) + functools.partial(self.handleStartSignal, 'EN', False)) + self.PDFParserButton = QPushButton('PDF解析', self) + layout.addWidget(self.PDFParserButton, 0, 3, 1, 1) + self.PDFParserButton.clicked.connect( + functools.partial(self.handleStartSignal, 'CN', True)) + self.showResultButton = QPushButton("显示结果") self.showResultButton.setIcon(QIcon(QPixmap("./icons/folder-open.png"))) - layout.addWidget(self.showResultButton, 0, 3, 1, 1) + layout.addWidget(self.showResultButton, 0, 4, 1, 1) self.showResultButton.clicked.connect(self.handleShowResultSignal) # ProgressBar - layout.addWidget(self.pb, 2, 0, 1, 4) + layout.addWidget(self.pb, 2, 0, 1, 5) # time estimate label self.timeEstLabel = QLabel( ("Time Left: --")) - layout.addWidget(self.timeEstLabel, 3, 0, 1, 4) + layout.addWidget(self.timeEstLabel, 3, 0, 1, 5) self.setLayout(layout) @@ -355,7 +400,6 @@ class APP_Image2Doc(QWidget): if len(selectedFiles) > 0: self.imagePaths = selectedFiles self.screenShot = None # discard screenshot temp image - self.pb.setRange(0, len(self.imagePaths)) self.pb.setValue(0) # def screenShotSlot(self): @@ -370,7 +414,7 @@ class APP_Image2Doc(QWidget): # self.pb.setRange(0, 1) # self.pb.setValue(0) - def handleStartSignal(self, lang): + def handleStartSignal(self, lang='EN', pdfParser=False): if self.screenShot: # for screenShot img_name = 'screenshot_' + time.strftime("%Y%m%d%H%M%S", time.localtime()) image = QImageToCvMat(self.screenShot) @@ -386,10 +430,12 @@ class APP_Image2Doc(QWidget): self._thread.setOutputDir(self.output_dir) self._thread.setImagePath(self.imagePaths) self._thread.setLang(lang) + self._thread.setPDFParser(pdfParser) # disenble buttons self.openFileButton.setEnabled(False) self.startCNButton.setEnabled(False) self.startENButton.setEnabled(False) + self.PDFParserButton.setEnabled(False) # 启动工作进程 self._thread.start() self.time_start = time.time() # log start time @@ -411,7 +457,7 @@ class APP_Image2Doc(QWidget): QMessageBox.information(self, u'Information', "输出文件不存在") - def handleProgressBarSingal(self, i): + def handleProgressBarUpdateSingal(self, i): self.pb.setValue(i) # calculate time left of recognition lenbar = self.pb.maximum() @@ -419,13 +465,24 @@ class APP_Image2Doc(QWidget): time_left = str(datetime.timedelta(seconds=avg_time * (lenbar - i))).split(".")[0] # Remove microseconds self.timeEstLabel.setText(f"Time Left: {time_left}") # show time left + def handleProgressBarRangeSingal(self, max): + self.pb.setRange(0, max) + def handleEndsignalSignal(self): # enble buttons self.openFileButton.setEnabled(True) self.startCNButton.setEnabled(True) self.startENButton.setEnabled(True) + self.PDFParserButton.setEnabled(True) QMessageBox.information(self, u'Information', "转换结束") + def handleCBChangeSignal(self): + self._thread.setPDFParser(self.checkBox.isChecked()) + + def handleThreadException(self, message): + self._thread.quit() + QMessageBox.information(self, message) + def main(): app = QApplication(sys.argv)