AI Tutorial

OCR et Résumé de Texte avec le Tutoriel EasyOCR et GPT-3

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

Acquérir des compétences avancées : YOLOv7 et GPT-3 à portée de main

À la fin de ce tutoriel sur l'IA, vous saurez comment utiliser EasyOCR pour l'extraction de texte à partir de diverses sources comme des photos, et exploiter la puissance de GPT-3 de OpenAI pour le résumé de texte !

Démystifier EasyOCR : une puissance logicielle

EasyOCR, une entité privée, est une puissance dans le domaine de l'édition de logiciels, du conseil et de l'approvisionnement. Ils excellent dans la création de logiciels prêts à l'emploi, de logiciels de systèmes d'exploitation, d'applications logicielles pour les entreprises et de logiciels de jeux vidéo pour toutes les plateformes. Ils offrent également des solutions logicielles personnalisées après une analyse approfondie des besoins et des problèmes des utilisateurs.

YOLOv7 dévoilé : l'avenir de la détection d'objets

YOLOv7, le dernier ajout à la famille YOLO des détecteurs d'objets à une seule étape, est un changement de donne dans le domaine de la détection d'objets. Il traite les cadres d'image à travers un backbone pour extraire des caractéristiques, qui sont ensuite mélangées et combinées dans un 'neck', et enfin passées à la 'head' du réseau. Ici, il prédit les emplacements et les classes des objets, en traçant des boîtes englobantes autour d'eux. Une étape de post-traitement via suppression non maximale (NMS) est effectuée pour arriver à sa prédiction finale.

YOLOv7, l'enfant prodige de WongKinYiu et Alexey Bochkovskiy (AlexeyAB), introduit plusieurs changements au réseau YOLO et aux routines d'entraînement pour améliorer la précision des boîtes englobantes et la vitesse d'inférence. Il utilise l'agrégation de couches efficaces prolongées, des techniques d'échelle de modèles, la planification de re-paramétrisation et une tête auxiliaire pour des prédictions de grossier à fin. Le dépôt GitHub de YOLOv7 fournit tout le code nécessaire pour commencer à entraîner YOLOv7 sur des données personnalisées, définies dans PyTorch et écrites en Python.

Prise en main de YOLOv7

Installation des dépendances

Nous allons commencer par télécharger les bibliothèques nécessaires :

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

Codage

Pour ce tutoriel, j'utiliserai VSC, mais vous pouvez utiliser n'importe quel environnement de votre choix, y compris des notebooks ou Google Colab.

Remarque : j'utiliserai un seul fichier pour ce tutoriel, mais n'hésitez pas à diviser le code en modules.

Importer les dépendances

import easyocr
import torch

Extraction de texte à partir d'images

Pour cette tâche, nous utiliserons EasyOCR. Nous allons créer une classe qui pourra extraire du texte pour nous !

Dans la méthode __init__, nous définissons le Reader pour l'anglais, il utilisera le GPU s'il est disponible, et téléchargera les modèles dans le répertoire ./models s'ils ne sont pas encore téléchargés.

La méthode __call__ nous permet d'appeler directement la méthode extract_text en utilisant seulement l'instance de la classe comme une fonction, par exemple :

reader = EasyOCRReader()
extracted_text = reader(image)

La dernière méthode est extract_text. Elle prend une image comme argument et retourne une liste de texte extrait et l'image avec des boîtes englobantes. Elle filtre les textes avec une confiance inférieure à 45%. La méthode retourne un tuple : une liste de textes extraits et une image avec des boîtes englobantes.

Résultats

Voici les résultats après l'extraction de texte à partir d'une image :

  • Image avec des boîtes englobantes
  • Texte extrait

Pas si mal !

Résumé de texte

Nous avons déjà bien travaillé ! Mais ce n'est pas fini. Nous passons maintenant au résumé de texte à l'aide de GPT-3.

Dans ce cas, nous créons également une classe, qui s'occupera de nos demandes à GPT.

Tout d'abord, je vais créer un fichier .env et y mettre ma clé API OpenAI.

Maintenant, je vais définir la classe pour GPT-3.

Définition de la classe GPT-3

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'Summarisez ce texte : {text}')

Test du code !

Après avoir terminé le travail, notre code ressemble à ceci :

// Insérez votre code complet ici

Je vais exécuter à nouveau le code et voir ce qui se passe.

Résultats finaux

Nous pouvons évaluer les résultats :

  • Image avec des boîtes englobantes
  • Texte extrait et résultats de résumé

Wow ! Regardez ça ! Nous pouvons vraiment créer une application simple qui résume notre texte à partir d'une photo normale. J'espère que vous saurez en faire bon usage.

Je vous laisse ici un lien vers l'entrepôt complet. Amusez-vous bien !

Combien d'applications IA puis-je construire ?

C'est une question stupide car les seules limitations sont vos ressources. Si vous avez une vraiment bonne idée qui peut résoudre un problème réel, vous êtes déjà à mi-chemin. Vous devez également la construire réellement. Et aussi la commercialiser. Mais nous pouvons vous aider dans chacune de ces étapes.

Il suffit de rejoindre nos hackathons IA et de parler à notre communauté incroyable de plus de 52 000 créateurs d'IA du monde entier de votre idée. Ensuite, construisez-la avec eux en 7 jours et appliquez-la à notre programme AI Slingshot. C'est vraiment facile, non ? Lablab.ai est un lieu d'innovation, et nous vous invitons à nous rejoindre !

En lire plus

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

Laisser un commentaire

Tous les commentaires sont modérés avant d'être publiés.

Ce site est protégé par hCaptcha, et la Politique de confidentialité et les Conditions de service de hCaptcha s’appliquent.