OCR Casta do Dhúshláin Doiciméad Nua-aimseartha
Bain téacs go cruinn as doiciméid scannta, grianghraif agus PDFanna le haitheantas bunaithe ar fhoghlaim dhomhain
Cad é EasyOCR?
Is leabharlann oscailte foinse é EasyOCR d'Aitheantas Optúil Carachtar (OCR) a d'fhorbair Jaided AI, atá deartha chun téacs a bhaint as íomhánna agus doiciméid scannta le cruinneas ard. Tá sé bunaithe ar PyTorch agus tacaíonn sé le níos mó ná 80 teanga lena n-áirítear Laidin, Sínis, Araibis agus go leor eile. Tá cáil ar EasyOCR as a éascaíocht úsáide - níl ach cúpla líne cód ag teastáil chun é a chur i bhfeidhm, rud a fhágann gur rogha iontach é d'fhorbróirí agus do thaighdeoirí atá ag obair ar thionscadail aitheantais téacs. Le samhlacha foghlama domhain réamh-oilte, is féidir leis téacs a aithint go héifeachtach i gclófhoirne éagsúla, lámhscríbhinní agus cúlraí casta. Cibé acu do phróiseáil uathoibrithe doiciméid, aitheantas plátaí gluaisteán nó baint téacs as íomhánna, soláthraíonn EasyOCR réiteach cumhachtach éadrom. Comhcheanglaíonn an córas:
- Aitheantas il-samhail: Lógáil téacs bunaithe ar CRAFT feabhsaithe le cnámh droma ResNet
- Aitheantas oiriúnaitheach: Samhlacha sonracha do script (CRNN do Laidin, Transformer do CJK)
- Próiseáil comhthéacsúil: Atógú paragraf agus caomhnú ord léitheoireachta
Taispeánann tagarmharcanna feidhmíochta torthaí comhsheasmhacha ar chineálacha éagsúla doiciméad:
Cineál Doiciméid | Cruinneas | Feidhmíocht | Crua-earraí |
---|---|---|---|
Doiciméid ghnó | 98.6% | 42 leathanach/nóim | NVIDIA T4 |
Íomhánna soghluaiste | 94.2% | 28 íomhá/nóim | Google Colab GPU |
Cartlann stairiúil | 89.1% | 15 leathanach/nóim | Braisle LAP |
Próiseálann an ailtireacht doiciméid i dtrí chéim optamaithe:
- Aithint: Deighilt réigiún téacs ag leibhéal picteilín
- Aitheantas: Tuar seicheamh le samhaltú teanga
- Atógáil: Mapáil caidrimh spásúla
Príomhghnéithe Teicniúla
1. Aithint Téacs Casta
Áiríonn an fochóras aithinte:
- Giniúint léarscáile teasa ag leibhéal carachtair
- Bainistiú réimsí téacs ar chruthanna treallacha
- Tacaíocht il-treoshuíomh (0-360°)
- Cosc ar torann cúlra
2. Córas Aitheantais Hibrideach
Tá na samhlacha aitheantais optamaithe de réir cineál scripte:
- Laidin/Coireallach: CRNN le 7 ciseal CNN + BiLSTM
- Sínis/Seapáinis/Cóiréis: Transformer le 12 ceann aird
- Araibis/Eabhrais: BiLSTM ó chlé go deas le tokenú saincheaptha
3. Gnéithe Gnó
- Meastóireacht cáilíochta uathoibríoch
- Idirbhearta inroghnótha cruinneas/athghairm
- Leithdháileadh acmhainní feasach ar chrua-earraí
Suiteáil agus Cumrú
Riachtanais Chórais
Comhpháirt | Forbairt | Táirgeadh |
---|---|---|
Python | 3.6+ | 3.8+ |
Cuimhne | 8GB | 16GB+ |
GPU | Roghnach | NVIDIA (CUDA 11.8+) |
Roghanna Suiteála
Suiteáil Bhunúsach
pip install easyocr # Suiteálann sé na héilimh LAP amháin
Tacaíocht GPU (Linux/Windows)
pip install easyocr torch torchvision --index-url https://download.pytorch.org/whl/cu118
Docker (Seoladh Táirgthe)
docker run -it --gpus all -v $(pwd):/data \
-e LANG_LIST="en,fr,es" \
jaidedai/easyocr
Samplaí Praicticiúla Cur i bhFeidhm
1. Líon oibriúcháin Doiciméad Táirgthe
Líon oibriúcháin OCR iomlán le réamhphróiseáil agus bailíochtú:
Próiseáil Réidh le Táirgeadh
from easyocr import Reader
import cv2
import numpy as np
class DocumentOCR:
def __init__(self, languages=['en']):
self.reader = Reader(languages, gpu=True)
def preprocess(self, image):
# Feabhas ar chodarsnacht
lab = cv2.cvtColor(image, cv2.COLOR_BGR2LAB)
l, a, b = cv2.split(lab)
clahe = cv2.createCLAHE(clipLimit=3.0, tileGridSize=(8,8))
limg = cv2.merge([clahe.apply(l), a, b])
return cv2.cvtColor(limg, cv2.COLOR_LAB2BGR)
def process(self, image_path):
img = cv2.imread(image_path)
processed = self.preprocess(img)
results = self.reader.readtext(processed,
batch_size=4,
paragraph=True,
min_size=50,
text_threshold=0.8)
return {
'text': [r[1] for r in results],
'confidence': np.mean([r[2] for r in results])
}
# Úsáid
ocr = DocumentOCR(languages=['en','ga'])
result = ocr.process('conradh_dlithiúil.jpg')
print(f"Meánchruinneas: {result['confidence']:.2%}")
2. Próiseáil Baisc Sonraí
Bailigh réimsí lárnacha ó fhormáidí éagsúla sonraí:
Baint Sonraí ó Shonraí
import easyocr
import re
from pathlib import Path
reader = easyocr.Reader(['en'])
PATRÚIN_SONRAÍ = {
'uimhir_sonraí': r'Sonraí\s*Uimhir[:#]?\s*([A-Z0-9-]+)',
'dáta': r'Dáta[:]?\s*(\d{2}[/-]\d{2}[/-]\d{4})',
'méid': r'Iomlán\s*Le Diol[:]?\s*\$?(\d+\.\d{2})'
}
def próiseáil_sonraí(fillteán):
torthaí = []
for sonraí in Path(fillteán).glob('*.pdf'):
téacs = '\n'.join(reader.readtext(str(sonraí), detail=0))
bainte = {réimse: re.search(patrún, téacs)
for réimse, patrún in PATRÚIN_SONRAÍ.items()}
torthaí.append({
'comhad': sonraí.name,
'sonraí': {k: v.group(1) if v else None
for k, v in bainte.items()}
})
return torthaí
sonraí_sonraí = próiseáil_sonraí('/sonraí/')
Uasmhéadú Feidhmíochta
Luasmhéadú GPU
- Próiseáil baisc: Méideanna baisc optamacha (4-16 ag brath ar chuimhne GPU)
- Bainistiú cuimhne: Gearradh uathoibríoch do dhoiciméid mhóra
- Ilchruinneas: Tátal FP16 le Tensor Cores
Tiúnáil Cruinnis
- Tairsigh chodarsnachta: Coigeartaigh
contrast_ths
do scananna droch-cháilíochta - Scagadh méid téacs: Socraigh
min_size
chun téacs beag a neamhaird - Tosaíocht teanga: Ordaigh teangacha de réir minicíochta ionchais