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!
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.