PaddleOCR: Промислове OCR для багатомовного видобутку тексту

Виявляйте та розпізнавайте текст із зображень і документів з високою точністю та швидкістю.

Що таке PaddleOCR API?

PaddleOCR Python API - це потужний та зручний інструментарій для завдань оптичного розпізнавання символів (OCR), створений для допомоги розробникам у вилученні та аналізі тексту з зображень з високою точністю. Побудований на глибинному навчальному фреймворку PaddlePaddle, PaddleOCR підтримує широкий спектр мов і включає попередньо навчені моделі для виявлення тексту, розпізнавання та аналізу макету. Завдяки інтуїтивному інтерфейсу Python користувачі можуть швидко інтегрувати OCR-можливості у свої програми, незалежно від того, чи йдеться про оцифрування документів, вилучення тексту з фотографій чи автоматизовану обробку даних. PaddleOCR Python API ідеально підходить для всіх, хто хоче реалізувати надійні OCR-рішення з мінімальним налаштуванням та максимальною гнучкістю.

Ключові переваги PaddleOCR:

  • Багатомовна підтримка: Попередньо навчені моделі для 100+ мов (включаючи китайську, англійську, арабську тощо).
  • Висока точність: Моделі серії PP-OCR досягають провідних показників у тестах ICDAR.
  • Комплексні рішення: Від виявлення тексту до розпізнавання та аналізу макету.
  • Легкі моделі: Оптимізовані для мобільних та периферійних пристроїв (наприклад, PP-OCRv3).

Від сканованих документів до дорожніх знаків - PaddleOCR видобуває текст з провідною в галузі точністю.

GitHub

Статистика GitHub

Ім'я:
Мова:
зірки:
Вилки:
Ліцензія:
Репозиторій востаннє оновлено о

Чому варто обрати PaddleOCR?

  • Відмінність open-source: Понад 30 000 зірок на GitHub та активний внесок спільноти.
  • Універсальне розгортання: Підтримка Python, C++ та мобільних платформ (Android/iOS).
  • Аналіз макету: Ідентифікує текстові області, таблиці та фігури в складних документах.
  • Постійні оновлення: Регулярні випуски моделей (наприклад, PP-OCRv4).
  • Дружній до бізнесу: Ліцензія Apache 2.0 для комерційного використання.

Встановлення

PaddleOCR вимагає Python 3.7+ і може бути встановлений через pip. Підтримка GPU вимагає CUDA/cuDNN.

Базове встановлення


pip install paddleocr paddlepaddle  #Версія для CPU

Для прискорення на GPU:

Підтримка GPU


pip install paddleocr paddlepaddle-gpu  #Вимагає CUDA 10.2+

Примітка: Попередньо навчені моделі завантажуються автоматично при першому використанні або вручну через paddleocr --lang en.

Приклади коду

Дослідіть можливості PaddleOCR за допомогою цих прикладів. Усі приклади передбачають, що ви вже встановили англійську модель.

PaddleOCR Python

Приклад 1: Базове OCR

Щоб витягти текст із зображення за допомогою PaddleOCR зі стандартними моделями, вам просто потрібно ініціалізувати OCR-рушій із стандартною конфігурацією, яка включає підтримку англійської мови та класифікацію кута для підвищення точності. PaddleOCR використовує попередньо навчені моделі виявлення, розпізнавання та класифікації для ідентифікації та інтерпретації тексту з вхідного зображення. Після обробки зображення OCR-рушій повертає виявлений текст разом із його позицією та оцінкою впевненості для кожного результату. Ця настройка забезпечує швидкий та ефективний спосіб вилучення текстового вмісту з зображень без необхідності навчання спеціальних моделей або складної конфігурації.

OCR зображення


from paddleocr import PaddleOCR

ocr = PaddleOCR(use_angle_cls=True, lang='en')  # Ініціалізація
result = ocr.ocr('image.jpg', cls=True)  # Обробка зображення

# Виведення розпізнаного тексту
for line in result:
    print(line[-1][0])  # Текстовий вміст

Результат містить:

  • Текстовий вміст та оцінки впевненості
  • Координати обмежувальних рамок

Приклад 2: Пакетна обробка

Для ефективної обробки кількох зображень за допомогою PaddleOCR ви можете скористатися техніками пакетної обробки, які мінімізують зайві ініціалізації та оптимізують продуктивність. Замість ініціалізації OCR-рушія для кожного зображення рекомендується створити один екземпляр моделі OCR та повторно використовувати його для всіх вхідних зображень. Цей підхід значно зменшує час обробки та споживання ресурсів. Подаючи список шляхів до зображень у OCR-рушій у циклі або використовуючи паралельну обробку (за потреби), ви можете швидко та ефективно витягувати текст із великих наборів зображень, що ідеально підходить для робочих процесів, які включають пакети документів, скановані архіви або масовий аналіз зображень.

Пакетне OCR


image_paths = ['doc1.jpg', 'doc2.png']
results = ocr.ocr(image_paths, batch_size=4)  # Паралельна обробка

Приклад 3: Аналіз макету

PaddleOCR можна використовувати не лише для розпізнавання тексту, а й для ідентифікації конкретних текстових областей та виявлення структурованих елементів, таких як таблиці, у зображенні. Система спочатку визначає текстові області за допомогою своєї моделі виявлення, яка окреслює кожну текстову область обмежувальними рамками, дозволяючи користувачам зрозуміти, де розташований текст у зображенні. Для більш складних макетів, таких як форми або документи, що містять таблиці, PaddleOCR підтримує аналіз макету та розпізнавання структури таблиці. Це дає змогу виявляти рядки, стовпці та межі комірок, що робить можливим вилучення табличних даних у впорядкованому форматі. Такі можливості особливо корисні для оцифрування сканованих документів, рахунків-фактур або електронних таблиць, де поєднуються вільний текст і табличні дані.

Виявлення макету


from paddleocr import PPStructure

structure_engine = PPStructure(table=False, ocr=False)
layout_result = structure_engine('document.pdf')

Розширені функції

PaddleOCR підтримує складні робочі процеси:

  • Налаштування моделей: Донавчання моделей на ваших даних:

    Навчання моделі

    
        python tools/train.py -c configs/det/det_mv3_db.yml
        
    
  • Багатомовне змішування: Обробка документів із кількома мовами:

    Багатомовне OCR

    
        ocr = PaddleOCR(lang='chinese+english')
        
    
  • Підтримка PDF: Пряме вилучення тексту з PDF:

    Обробка PDF

    
        result = ocr.ocr('document.pdf', type='pdf')
        
    

Висновок

PaddleOCR пропонує готове до промислового використання OCR з неперевершеною багатомовною підтримкою та масштабованістю. Ідеально підходить для:

  • Оцифрування документів: Скановані PDF, рахунки, квитанції
  • Багатомовні додатки: Розпізнавання паспортів, багатомовні книги
  • Периферійне розгортання: Мобільні додатки з OCR на пристрої

За підтримки глибинного навчального екосистеми PaddlePaddle, PaddleOCR продовжує встановлювати нові стандарти точності та ефективності OCR.

Подібні Продукти

 Ukrainian