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?

  • Отворен код с високо качество: Над 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 технологията.

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

 Bulgarian