AI Tutorial

OCR und Textzusammenfassung mit EasyOCR und GPT-3 Tutorial

Image showing text extraction and summarization process with EasyOCR and GPT-3.

Fortgeschrittene Fähigkeiten erwerben: YOLOv7 und GPT-3 in Ihren Händen

Am Ende dieses KI-Tutorials wissen Sie, wie Sie EasyOCR zur Textextraktion aus verschiedenen Quellen wie Fotos verwenden und die Macht von OpenAI's GPT-3 zur Textzusammenfassung nutzen können!

EasyOCR entschlüsseln: Eine Software-Powerhouse

EasyOCR, ein privates Unternehmen, ist ein Kraftpaket im Bereich Software-Publishing, Beratung und Lieferung. Sie sind ausgezeichnet in der Erstellung von fertiger Software, Betriebssystem-Software, Geschäftsanwendungssoftware und Computerspielsoftware für alle Plattformen. Außerdem bieten sie maßgeschneiderte Softwarelösungen nach gründlicher Analyse der Benutzerbedürfnisse und -probleme an.

YOLOv7 enthüllt: Die Zukunft der Objekterkennung

YOLOv7, die neueste Ergänzung der YOLO-Familie von Ein-Stufen-Objekterkennern, ist ein Game-Changer im Bereich der Objekterkennung. Es verarbeitet Bildrahmen durch ein Backbone, um Merkmale zu extrahieren, die dann in einem 'Neck' gemischt und kombiniert und schließlich an den 'Kopf' des Netzwerks weitergegeben werden. Hier prognostiziert es die Standorte und Klassen von Objekten, indem es Begrenzungsrahmen um sie zeichnet. Ein Nachbearbeitungsschritt über Non-Maximum Suppression (NMS) wird durchgeführt, um zu seiner endgültigen Vorhersage zu gelangen.

YOLOv7, das von WongKinYiu und Alexey Bochkovskiy (AlexeyAB) entwickelt wurde, führt mehrere Änderungen am YOLO-Netzwerk und den Trainingsabläufen ein, um die Genauigkeit der Begrenzungsrahmen und die Inferenzgeschwindigkeit zu verbessern. Es verwendet erweiterte effiziente Layer-Aggregation, Modellskalierungstechniken, Re-Parametrisierung und einen Hilfskopf für grob-zu-feine Vorhersagen. Das YOLOv7 GitHub-Repository bietet den gesamten notwendigen Code, um mit dem Training von YOLOv7 auf benutzerdefinierten Daten zu beginnen, das in PyTorch definiert und in Python geschrieben ist.

Erste Schritte mit YOLOv7

Abhängigkeiten installieren

Wir beginnen mit dem Herunterladen der notwendigen Bibliotheken:

pip install easyocr
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113

Coding

Für dieses Tutorial werde ich VSC verwenden, aber Sie können jede Umgebung verwenden, die Sie möchten, einschließlich Notebooks oder Google Colab.

Hinweis: Ich werde eine einzelne Datei für dieses Tutorial verwenden, aber Sie können den Code gerne in Module aufteilen.

Abhängigkeiten importieren

import easyocr
import torch

Textextraktion aus Bildern

Für diese Aufgabe werden wir EasyOCR verwenden. Wir werden eine Klasse erstellen, die in der Lage ist, Texte für uns zu extrahieren!

Im __init__-Methoden definieren wir den Reader für Englisch, der, wenn verfügbar, die GPU nutzt und die Modelle in das Verzeichnis ./models herunterlädt, falls diese noch nicht heruntergeladen wurden.

Die __call__-Methode erlaubt es uns, die Methode extract_text direkt mithilfe der Instanz der Klasse wie eine Funktion aufzurufen, zum Beispiel:

reader = EasyOCRReader()
extracted_text = reader(image)

Die letzte Methode ist extract_text. Sie nimmt ein Bild als Argument und gibt eine Liste des extrahierten Textes und das Bild mit Begrenzungsrahmen zurück. Sie filtert Texte mit einer Zuversicht von weniger als 45 % heraus. Die Methode gibt ein Tupel zurück: eine Liste der extrahierten Texte und ein Bild mit Begrenzungsrahmen.

Ergebnisse

Hier sind die Ergebnisse nach der Textextraktion aus einem Bild:

  • Bild mit Begrenzungsrahmen
  • Extrahierter Text

Nicht so schlecht!

Textzusammenfassung

Wir haben bereits großartige Arbeit geleistet! Aber es ist noch nicht vorbei. Jetzt gehen wir zur Textzusammenfassung mit GPT-3 über.

In diesem Fall erstellen wir ebenfalls eine Klasse, die unsere Anfragen an GPT verarbeitet.

Zuerst werde ich eine .env-Datei erstellen und meinen OpenAI API Schlüssel hier einfügen.

Jetzt werde ich die Klasse für GPT-3 definieren.

Definition der GPT-3-Klasse

class GPT3:
    def __init__(self, api_key):
        self.api_key = api_key
        self.model = 'text-davinci-002'

    def __call__(self, prompt):
        return self.predict(prompt)

    def predict(self, prompt):
        content = openai.Completion.create(model=self.model, prompt=prompt)
        return content['choices'][0]['text']

    def summarize(self, text):
        return self.predict(f'Summarize this text: {text}')

Den Code testen!

Nachdem wir die Arbeit abgeschlossen haben, sieht unser Code so aus:

// Fügen Sie hier Ihren vollständigen Code ein

Ich werde den Code nochmals ausführen und sehen, was passiert.

Endergebnisse

Wir können die Ergebnisse bewerten:

  • Bild mit Begrenzungsrahmen
  • Extrahierter Text und Zusammenfassungsresultate

Wow! Schau dir das an! Wir können wirklich eine einfache App erstellen, die unseren Text aus einem normalen Foto zusammenfasst. Ich hoffe, Sie können es gut nutzen.

Hier lasse ich Ihnen einen Link zum gesamten Repository. Viel Spaß!

Wie viele KI-Apps kann ich erstellen?

Das ist eine alberne Frage, denn die einzigen Einschränkungen sind Ihre Ressourcen. Wenn Sie eine wirklich gute Idee haben, die ein echtes Problem lösen kann, sind Sie schon auf halbem Weg. Sie müssen es auch tatsächlich bauen. Und es vermarkten. Aber wir können Ihnen bei all diesen Schritten helfen.

Schließen Sie sich einfach unseren KI-Hackathons an und erzählen Sie unserer erstaunlichen Gemeinschaft von über 52.000 KI-Entwicklern aus aller Welt von Ihrer Idee. Dann bauen Sie es mit ihnen in 7 Tagen und bewerben Sie sich für unser KI-Slingshot-Programm. Es ist wirklich einfach, oder? Lablab.ai ist ein Ort für Innovation, und wir freuen uns auf Ihre Teilnahme!

Weiterlesen

Cohere Chrome Extension for Article Summarization Tutorial
A tutorial for creating powerful applications using Streamlit and GPT-3 with Python.

Hinterlasse einen Kommentar

Alle Kommentare werden vor der Veröffentlichung geprüft.

Diese Website ist durch hCaptcha geschützt und es gelten die allgemeinen Geschäftsbedingungen und Datenschutzbestimmungen von hCaptcha.