Die Szenentexterkennung (STR) stellt aufgrund der Vielfalt der Textdarstellungen in natürlichen Umgebungen weiterhin eine Herausforderung für Forscher dar. Es ist eine Sache, Textual content auf Bildern in Dokumenten zu erkennen, und eine andere, wenn sich der Textual content in einem Bild auf dem T-Shirt einer Individual befindet. Die Einführung der Multi-Granularity Prediction for Scene Textual content Recognition (MGP-STR), die auf der ECCV 2022 vorgestellt wurde, stellt einen transformativen Ansatz in diesem Bereich dar. MGP-STR vereint die Robustheit von Visionstransformatoren (ViT) mit innovativen sprachlichen Multigranularitätsvorhersagen. Dies verbessert seine Fähigkeit, komplexe Texterkennungsaufgaben in Szenen zu bewältigen. Dies gewährleistet eine verbesserte Genauigkeit und Benutzerfreundlichkeit in einer Vielzahl anspruchsvoller realer Szenarien und schafft eine einfache, aber leistungsstarke Lösung für STR-Aufgaben.
Lernziele
- Verstehen Sie die Architektur und Komponenten von MGP-STR, einschließlich Imaginative and prescient Transformers (ViT).
- Erfahren Sie, wie Multigranularitätsvorhersagen die Genauigkeit und Vielseitigkeit der Szenentexterkennung verbessern.
- Entdecken Sie die praktischen Anwendungen von MGP-STR in der Praxis OCR-Aufgaben.
- Sammeln Sie praktische Erfahrungen bei der Implementierung und Nutzung von MGP-STR mit PyTorch zur Szenentexterkennung.
Dieser Artikel wurde im Rahmen der veröffentlicht Information Science-Blogathon.
Was ist MGP-STR?
MGP-STR ist ein visionsbasiertes STR-Modell, das darauf ausgelegt ist, herausragende Leistungen zu erbringen, ohne auf ein unabhängiges Sprachmodell angewiesen zu sein. Stattdessen integriert es sprachliche Informationen direkt in seine Architektur durch die Multi-Granularity Prediction (MGP)-Strategie. Dieser implizite Ansatz ermöglicht es MGP-STR, sowohl reine Sehmodelle als auch spracherweiterte Methoden zu übertreffen und modernste Ergebnisse bei STR zu erzielen.
Die Architektur besteht aus zwei Hauptkomponenten, die beide von entscheidender Bedeutung sind, um die außergewöhnliche Leistung des Modells und die Fähigkeit zur Bewältigung unterschiedlicher Szenentextherausforderungen sicherzustellen:
- Imaginative and prescient Transformer (ViT)
- A³-Module
Die Verschmelzung von Vorhersagen auf Zeichen-, Unterwort- und Wortebene mithilfe einer unkomplizierten, aber effektiven Strategie stellt sicher, dass MGP-STR die Feinheiten sowohl visueller als auch sprachlicher Merkmale erfasst.
Anwendungen und Anwendungsfälle von MGP-STR
MGP-STR ist in erster Linie für Aufgaben der optischen Zeichenerkennung (OCR) an Textbildern konzipiert. Seine einzigartige Fähigkeit, sprachliches Wissen implizit zu integrieren, macht es besonders effektiv in realen Szenarien, in denen Textvariationen und -verzerrungen häufig vorkommen. Beispiele hierfür sind:
- Lesen von Texten aus natürlichen Szenen wie Straßenschildern, Werbetafeln und Ladennamen im Freien.
- Extrahieren von handschriftlichem oder gedrucktem Textual content aus gescannten Formularen und offiziellen Dokumenten.
- Analysieren von Texten in industriellen Anwendungen, z. B. Lesen von Etiketten, Barcodes oder Seriennummern auf Produkten.
- Übersetzen oder Transkribieren von Textual content in Augmented Actuality (AR)-Anwendungen für Reisen oder Bildung. wie Straßenschilder und Werbetafeln.
- Extrahieren von Informationen aus gescannten Dokumenten oder Fotos von gedruckten Materialien.
- Unterstützende Barrierefreiheitslösungen, z. B. Bildschirmleseprogramme für sehbehinderte Benutzer.
Hauptmerkmale und Vorteile
- Eliminierung unabhängiger Sprachmodelle
- Vorhersagen mit mehreren Granularitäten
- Modernste Leistung
- Benutzerfreundlichkeit
Erste Schritte mit MGP-STR
Bevor wir uns mit dem Code-Snippet befassen, wollen wir seinen Zweck und seine Voraussetzungen verstehen. Dieses Beispiel zeigt, wie das MGP-STR-Modell verwendet wird, um eine Szenentexterkennung für ein Beispielbild durchzuführen. Stellen Sie sicher, dass PyTorch, die Transformers-Bibliothek und die erforderlichen Abhängigkeiten (wie PIL und Anforderungen) in Ihrer Umgebung installiert sind, um den Code nahtlos auszuführen. Unten finden Sie ein Beispiel für die Verwendung des MGP-STR-Modells in PyTorch (Notizbuch).
Schritt 1: Abhängigkeiten importieren
Beginnen Sie mit dem Importieren der wesentlichen Bibliotheken und Abhängigkeiten, die für MGP-STR erforderlich sind, einschließlich transformers
zur Modellbearbeitung, PIL
zur Bildmanipulation und requests
zum On-line-Abruf von Bildern. Diese Bibliotheken stellen die grundlegenden Werkzeuge zur effektiven Verarbeitung und Anzeige von Textbildern bereit.
from transformers import MgpstrProcessor, MgpstrForSceneTextRecognition
import requests
import base64
from io import BytesIO
from PIL import Picture
from IPython.show import show, Picture as IPImage
Schritt 2: Basismodell laden
Laden Sie das MGP-STR-Basismodell und seinen Prozessor aus der Hugging Face Transformers-Bibliothek. Dadurch werden das vorab trainierte Modell und die dazugehörigen Dienstprogramme initialisiert, was eine nahtlose Verarbeitung und Vorhersage von Szenentext aus Bildern ermöglicht.
processor = MgpstrProcessor.from_pretrained('alibaba-damo/mgp-str-base')
mannequin = MgpstrForSceneTextRecognition.from_pretrained('alibaba-damo/mgp-str-base')
Schritt 3: Hilfsfunktion zur Vorhersage von Textual content auf dem Bild
Definieren Sie eine Hilfsfunktion zum Eingeben von Bild-URLs, zum Verarbeiten der Bilder mithilfe des MGP-STR-Modells und zum Generieren von Textvorhersagen. Die Funktion übernimmt die Bildkonvertierung und Base64-Kodierung für die Anzeige und nutzt die Ausgaben des Modells, um den erkannten Textual content effizient zu dekodieren.
def predict(url):
picture = Picture.open(requests.get(url, stream=True).uncooked).convert("RGB")
# Course of the picture to arrange it for the mannequin
pixel_values = processor(pictures=picture, return_tensors="pt").pixel_values
# Generate the textual content from the mannequin
outputs = mannequin(pixel_values)
generated_text = processor.batch_decode(outputs.logits)('generated_text')
# Convert the picture to base64 for transmission
buffered = BytesIO()
picture.save(buffered, format="PNG")
image_base64 = base64.b64encode(buffered.getvalue()).decode("utf-8")
show(IPImage(knowledge=base64.b64decode(image_base64)))
print("nn")
return generated_text
Beispiel1:
predict("https://github.com/AlibabaResearch/AdvancedLiterateMachinery/blob/principal/OCR/MGP-STR/demo_imgs/CUTE80_7.png?uncooked=true")
('7')
Beispiel2:
predict("https://github.com/AlibabaResearch/AdvancedLiterateMachinery/blob/principal/OCR/MGP-STR/demo_imgs/CUTE80_BAR.png?uncooked=true")
('bar')
Beispiel3:
predict("https://github.com/AlibabaResearch/AdvancedLiterateMachinery/blob/principal/OCR/MGP-STR/demo_imgs/CUTE80_CROCODILES.png?uncooked=true")
('crocodiles')
Beispiel4:
predict("https://github.com/AlibabaResearch/AdvancedLiterateMachinery/blob/principal/OCR/MGP-STR/demo_imgs/CUTE80_DAY.png?uncooked=true")
('day')
Anhand der Artwork der Bilder können Sie erkennen, dass die Vorhersage effizient ist. Mit dieser Genauigkeit ist es sehr einfach, dieses Modell zu implementieren und eine gute Reaktion zu erhalten. Sie werden auch sehen, dass das Modell nur auf einer CPU laufen kann und weniger als 3 GB RAM benötigt. Dies macht die weitere Feinabstimmung für andere Anwendungsfälle bei domänenspezifischen Aufgaben noch effizienter.
Abschluss
MGP-STR veranschaulicht die Kombination von Imaginative and prescient und Sprachkenntnissen in einem einheitlichen Rahmen. Durch die modern Integration von Multigranularitätsvorhersagen in die STR-Pipeline gewährleistet MGP-STR einen ganzheitlichen Ansatz zur Szenentexterkennung durch die Kombination von Erkenntnissen auf Zeichen-, Unterwort- und Wortebene. Dies führt zu erhöhter Genauigkeit, Anpassungsfähigkeit an verschiedene Datensätze und effizienter Leistung, ohne auf externe Sprachmodelle angewiesen zu sein. Es vereinfacht die Architektur und erreicht gleichzeitig eine bemerkenswerte Genauigkeit. Für Forscher und Entwickler im Bereich OCR und STR bietet MGP-STR ein hochmodernes Device, das sowohl effektiv als auch zugänglich ist. Mit seiner Open-Supply-Implementierung und umfassenden Dokumentation ist MGP-STR bereit, weitere Fortschritte im Bereich der Szenentexterkennung voranzutreiben.
Hyperlinks
Wichtige Erkenntnisse
- MGP-STR integriert Imaginative and prescient und Sprachwissen, ohne auf unabhängige Sprachmodelle angewiesen zu sein, und rationalisiert so den STR-Prozess.
- Die Verwendung von Vorhersagen mit mehreren Granularitäten ermöglicht es MGP-STR, bei verschiedenen Herausforderungen der Texterkennung hervorragende Ergebnisse zu erzielen.
- MGP-STR setzt neue Maßstäbe für STR-Modelle, indem es mit einer einfachen und effektiven Architektur hochmoderne Ergebnisse erzielt.
- Entwickler können MGP-STR problemlos für eine Vielzahl von OCR-Aufgaben anpassen und einsetzen und so sowohl die Forschung als auch die praktischen Anwendungen verbessern.
Häufig gestellte Fragen
A1: MGP-STR ist ein Szenentexterkennungsmodell, das sprachliche Vorhersagen mithilfe von Multi-Granularity Prediction (MGP) direkt in sein visionsbasiertes Framework integriert. Im Gegensatz zu herkömmlichen STR-Modellen sind keine unabhängigen Sprachmodelle erforderlich, was die Pipeline vereinfacht und die Genauigkeit erhöht.
A2: Das MGP-STR-Modell in Basisgröße wurde auf den MJSynth- und SynthText-Datensätzen trainiert, die häufig für Texterkennungsaufgaben in Szenen verwendet werden.
A3: Ja, der Multi-Granularitäts-Vorhersagemechanismus von MGP-STR ermöglicht es ihm, verschiedene Herausforderungen zu bewältigen, einschließlich verzerrter oder minderwertiger Textbilder.
A4: Während die aktuelle Implementierung für Englisch optimiert ist, kann die Architektur angepasst werden, um andere Sprachen zu unterstützen, indem sie auf relevanten Datensätzen trainiert wird.
A5: Das A³-Modul verfeinert die ViT-Ausgaben, indem es Token-Kombinationen Zeichen zuordnet und Vorhersagen auf Unterwortebene ermöglicht, wodurch linguistische Erkenntnisse in das Modell eingebettet werden.
Die in diesem Artikel gezeigten Medien sind nicht Eigentum von Analytics Vidhya und werden nach Ermessen des Autors verwendet.