trOCR: Mullistaa tekstintunnistuksen transformereilla

Saavuta ihmisen tason tarkkuus tekstin tunnistamisessa painetusta, käsinkirjoitetusta ja monikielisestä sisällöstä.

Mikä on trOCR API?

trOCR (Transformeriin perustuva optinen merkkien tunnistus) on Microsoftin mullistava OCR-malli, joka hyödyntää transformer-arkkitehtuureja saavuttaakseen vertaansa vailla olevan tarkkuuden tekstin tunnistamisessa. Toisin kuin perinteiset OCR-järjestelmät, jotka luottavat vain konvoluutioneuroverkkoihin, trOCR yhdistää vision transformerit (ViTs) ja sekvenssistä sekvenssiin -mallinnuksen, mikä mahdollistaa kontekstin ja tilallisten suhteiden ymmärtämisen tekstissä - jopa haastaville syötteille kuten käsinkirjoitetuille muistiinpanoille, matalan resoluution skannauksille tai monimutkaisille kirjoitusjärjestelmille.

trOCR:n keskeiset edut:

  • Ihmismäistä tunnistusta: Erinomainen käsinkirjoituksen ja vääristyneen tekstin lukemisessa
  • Monikielinen tuki: Esikoulutetut mallit englannille, ranskalle, saksalle ja muille
  • Kattava prosessi: Yhdistää tekstin havaitsemisen ja tunnistamisen
  • Helppo integrointi: Rakennettu Hugging Facen Transformers-kirjaston päälle
GitHub

GitHub-tilastot

Nimi:
Kieli:
Tähdet:
Haarukat:
Lisenssi:
Arkisto päivitettiin viimeksi klo

Miksi valita trOCR?

  • 15-20% tarkempi kuin CNN-pohjaiset mallit
  • Yli 90% tarkkuus käsinkirjoitetussa tekstissä
  • Vähäinen esikäsittely: Kestävä fonttien, suunnan ja taustakohinan vaihteluille
  • Tehokas käsittely: Optimoidsu GPU:lle

Asennus

trOCR vaatii PyTorchin tai TensorFlowin sekä Hugging Facen Transformers-kirjaston:

Asenna PyTorchilla (GPU suositeltu)


pip install transformers torch torchvision
pip install datasets  # Valinnainen hienosäätöön

Huomio: microsoft/trocr-base-mallit vaativat noin 1.5GB levytilaa versiota kohden (painettu/käsinkirjoitettu). Varmista riittävä tallennustila ja muisti (8GB+ eräkäyttöön).

Koodiesimerkkejä

Käsinkirjoitetun tekstin tunnistus

Käsinkirjoituksen tunnistus


from transformers import TrOCRProcessor, VisionEncoderDecoderModel
from PIL import Image

processor = TrOCRProcessor.from_pretrained("microsoft/trocr-base-handwritten")
model = VisionEncoderDecoderModel.from_pretrained("microsoft/trocr-base-handwritten")

image = Image.open("käsinkirjoitus.jpg").convert("RGB")
pixel_values = processor(image, return_tensors="pt").pixel_values

generated_ids = model.generate(pixel_values)
text = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]

print(f"Tunnistettu teksti: {text}")

Painetun tekstin käsittely

Asiakirjojen käsittely


from transformers import pipeline
from PIL import Image

ocr = pipeline("image-to-text", model="microsoft/trocr-base-printed")
image = Image.open("asiakirja.png").convert("RGB")
results = ocr(image)

for item in results:
    print(item['generated_text'])

Kehittyneet käyttötavat

  • Kuvanlaadun parantaminen OpenCV:llä
  • Mallin räätälöinti omiin tarpeisiin

Sovellusalueet

  • Historiallisten arkistojen digitalisointi
  • Laskujen ja sopimusten automaattinen käsittely
  • Esteettömyysteknologiat

Samankaltaisia Tuotteita

 Finnish