PaddleOCR: Solució OCR Industrial per a l'Extracció de Text Multilingüe

Detecta i reconeix text en imatges i documents amb alta precisió i velocitat.

Què és l'API PaddleOCR?

L'API PaddleOCR per a Python és una eina potent i fàcil d'utilitzar per a tasques de reconeixement òptic de caràctres (OCR), dissenyada per ajudar als desenvolupadors a extreure i analitzar text d'imatges amb alta precisió. Basada en l'entorn de treball d'aprenentatge profund PaddlePaddle, PaddleOCR ofereix suport per a una àmplia gamma d'idiomes i inclou models pre-entrenats per a la detecció de text, reconeixement i anàlisi de disseny. Amb la seva interfície intuïtiva de Python, els usuaris poden integrar ràpidament capacitats OCR en les seves aplicacions, ja sigui per a la digitalització de documents, extracció de text de fotos o processament automatitzat de dades. L'API PaddleOCR per a Python és ideal per a qualsevol persona que busqui implementar solucions OCR robustes amb una configuració mínima i màxima flexibilitat.

Avantatges clau de PaddleOCR:

  • Suport multilingüe: Models pre-entrenats per a 100+ idiomes (incloent xinès, anglès, àrab, etc.)
  • Alta precisió: Els models de la sèrie PP-OCR assolixen els millors resultats en conjunts de dades ICDAR
  • Processos integrats: Des de la detecció de text fins al reconeixement i anàlisi de disseny
  • Models lleugers: Optimitzats per a dispositius mòbils i de vora (per exemple, PP-OCRv3)

Des de documents escanejats fins a senyals de carrer, PaddleOCR extreu text amb precisió líder en el sector.

GitHub

Estadístiques de GitHub

Nom:
Llenguatge:
Estrelles:
Forquilles:
Llicència:
El repositori es va actualitzar per última vegada a

Per què triar PaddleOCR?

  • Excel·lència en codi obert: Més de 30,000 estrelles a GitHub i contribucions actives de la comunitat
  • Desplegament versàtil: Suport per a Python, C++ i plataformes mòbils (Android/iOS)
  • Anàlisi de disseny: Identifica regions de text, taules i figures en documents complexos
  • Actualitzacions contínues: Llançaments regulars de models (per exemple, PP-OCRv4)
  • Orientat a l'ús comercial: Llicència Apache 2.0 per a ús empresarial

Instal·lació

PaddleOCR requereix Python 3.7+ i es pot instal·lar mitjançant pip. El suport per a GPU requereix CUDA/cuDNN.

Instal·lació bàsica


pip install paddleocr paddlepaddle  #Versió per a CPU

Per a acceleració per GPU:

Suport per a GPU


pip install paddleocr paddlepaddle-gpu  #Requereix CUDA 10.2+

Nota: Els models pre-entrenats es descarreguen automàticament en el primer ús o manualment mitjançant paddleocr --lang en.

Exemples de codi

Explora les capacitats de PaddleOCR amb aquests exemples. Tots els exemples assumeixen que has instal·lat el model d'anglès.

PaddleOCR Python

Exemple 1: OCR bàsic

Per extreure text d'una imatge utilitzant PaddleOCR amb els models per defecte, només cal inicialitzar el motor OCR amb la configuració estàndard, que inclou suport per a l'anglès i classificació d'angle per millorar la precisió. PaddleOCR utilitza models pre-entrenats per a detecció, reconeixement i classificació per identificar i interpretar text en la imatge d'entrada. Un cop processada la imatge, el motor OCR retorna el text detectat juntament amb la seva posició i una puntuació de confiança per a cada resultat. Aquesta configuració ofereix una manera ràpida i eficient d'extreure contingut textual d'imatges sense necessitat d'entrenar models personalitzats o configuracions complexes.

OCR d'imatge


from paddleocr import PaddleOCR

ocr = PaddleOCR(use_angle_cls=True, lang='en')  # Inicialització
result = ocr.ocr('image.jpg', cls=True)  # Processament d'imatge

# Mostra el text reconegut
for line in result:
    print(line[-1][0])  # Contingut del text

La sortida inclou:

  • Contingut del text i puntuacions de confiança
  • Coordenades del quadre delimitador

Exemple 2: Processament per lots

Per processar múltiples imatges de manera eficient amb PaddleOCR, pots aprofitar les tècniques de processament per lots que minimitzen les inicialitzacions redundants i optimitzen el rendiment. En lloc d'inicialitzar el motor OCR per a cada imatge, es recomana crear una única instància del model OCR i reutilitzar-la per a totes les imatges d'entrada. Aquest enfocament redueix significativament el temps de processament i el consum de recursos. En passar una llista de rutes d'imatges al motor OCR en un bucle o utilitzant processament paral·lel (quan sigui apropiat), pots extreure text ràpidament i de manera efectiva de grans conjunts d'imatges, cosa que el fa ideal per a fluxos de treball que impliquen lots de documents, arxius escanejats o anàlisi massiva d'imatges.

OCR per lots


image_paths = ['doc1.jpg', 'doc2.png']
results = ocr.ocr(image_paths, batch_size=4)  # Processament paral·lel

Exemple 3: Anàlisi de disseny

PaddleOCR es pot utilitzar no només per reconèixer text, sinó també per identificar regions específiques de text i detectar elements estructurats com taules en una imatge. El sistema localitza primer les regions de text mitjançant el seu model de detecció, que dibuixa quadres delimitadors al voltant de cada regió de text, permetent als usuaris entendre on es troba el text a la imatge. Per a dissenys més complexos, com formularis o documents que continguin taules, PaddleOCR ofereix suport per a l'anàlisi de disseny i el reconeixement de l'estructura de taules. Això permet detectar files, columnes i límits de cel·les, fent possible l'extracció de dades tabulades en un format organitzat. Aquestes capacitats són especialment útils per a la digitalització de documents escanejats, com factures o fulls de càlcul, on coexisteixen text lliure i dades tabulades.

Detecció de disseny


from paddleocr import PPStructure

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

Funcionalitats avançades

PaddleOCR admet fluxos de treball complexos:

  • Entrenament personalitzat: Ajusta els models amb les teves dades:

    Entrenament del model

    
        python tools/train.py -c configs/det/det_mv3_db.yml
        
    
  • Barreja d'idiomes: Processa documents multilingües:

    OCR multilingüe

    
        ocr = PaddleOCR(lang='chinese+english')
        
    
  • Suport per a PDF: Extracció directa de text de fitxers PDF:

    Processament de PDF

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

Conclusió

PaddleOCR ofereix solucions OCR preparades per a producció amb un suport multilingüe sense precedents i escalabilitat. Ideal per a:

  • Digitalització de documents: PDFs escanejats, factures, rebuts
  • Aplicacions multilingües: Reconeixement de passaports, llibres multilingües
  • Desplegament en dispositius de vora: Aplicacions mòbils amb OCR en el dispositiu

Amb el suport de l'ecosistema d'aprenentatge profund de PaddlePaddle, PaddleOCR continua establint els estàndards en precisió i eficiència OCR.

Productes Similars

 Catalan