Aller au contenu principal

Entraînement d'un modèle de détection personnalisé

Avec Roboflow, Google Colab et votre propre jeu de données, vous pouvez rapidement entraîner des modèles de détection personnalisés pour Limelight.

Voici un aperçu des étapes que vous devrez suivre :

  • Collecter et annoter des images des objets d'intérêt.
    • Dans ce contexte, "annotation" est le processus de dessin de boîtes englobantes autour des objets d'intérêt. Tout cela peut être fait dans l'interface web de Roboflow.
    • Alternativement, vous pouvez sélectionner un jeu de données public depuis Roboflow Universe
  • Exporter le jeu de données annoté au format .tfrecord, le télécharger sur Google Drive, et utiliser notre Notebook d'entraînement gratuit avec Google Colab.
    • Google Colab vous permet d'entraîner des réseaux de neurones en utilisant des GPU puissants dans le cloud gratuitement.

Tutoriel :

1. Le jeu de données

Le Notebook d'entraînement Limelight attend un jeu de données .tfrecord compressé. Roboflow peut exporter des archives .tfrecord en un clic.

Vous pouvez construire votre propre jeu de données avec Roboflow, ou parcourir Roboflow Universe pour des jeux de données pré-annotés.

Si vous choisissez de construire votre propre jeu de données, lisez ce qui suit :

  • Vous devez maximiser la diversité de votre jeu de données. La diversité de votre jeu de données doit dépasser la diversité de ce que votre Limelight verra une fois déployé.

  • La qualité et la précision de votre jeu de données sont d'une importance extrême. Assurez-vous que vos boîtes englobantes sont précises et suivent une convention unique. Par exemple, la boîte englobante d'un objet partiellement occulté ne doit capturer que la partie visible de l'objet.

  • Utilisez des lettres minuscules pour les étiquettes de classe

  • Minimisez le nombre d'étiquettes de classe.

  • Utilisez les augmentations de Roboflow, mais assurez-vous qu'elles ont du sens. Si vous détectez des balles rouges et bleues, par exemple, assurez-vous de ne pas inverser ou modifier fortement la teinte dans votre jeu de données augmenté.

Une fois que vous avez étiqueté ou trouvé un jeu de données, utilisez le bouton "Télécharger le jeu de données" de Roboflow pour l'exporter en tant que Tensorflow TFRecord. Téléchargez cette archive sur votre Google Drive.

2. Entraînement du modèle

Pour entraîner votre détecteur personnalisé, démarrez une session Google Colab avec le Notebook d'entraînement de détecteur Limelight.

Le Notebook ne nécessite aucune modification de code. Suivez ces étapes pour entraîner votre modèle :

Section 1

  1. Développez la première section et cliquez sur le bouton de lecture en haut à gauche de chacun des trois premiers blocs de code. Le dernier bloc de code "testing" peut être ignoré pour gagner du temps.

Section 2

  1. Développez la deuxième section. Cliquez sur le bouton de lecture du premier bloc pour monter votre dossier Google Drive dans le volet "Fichiers" de votre session Colab. Ouvrez le volet des fichiers en cliquant sur le bouton dossier sur le côté gauche de l'écran.

  2. Une fois que votre Google Drive est monté, cliquez sur le bouton d'actualisation dans le volet "Fichiers". Exécutez le deuxième bloc de code de cette section pour sélectionner votre fichier .tfrecord.zip déjà téléchargé dans le dossier gdrive. Trouvez le fichier et cliquez sur le bouton "select".

  3. Exécutez les deux blocs de code suivants pour décompresser et valider le TFRecord.

Section 3

  1. Exécutez tous les blocs de code de la section 3 pour préparer l'entraînement

Section 4

  1. Exécutez tous les blocs de code de la section 4 pour commencer l'entraînement.

  2. Pendant que le script d'entraînement s'exécute, vous pouvez actualiser le volet des fichiers et tensorboard pour suivre la progression. Un nouveau point de contrôle devrait apparaître dans le dossier "training_progress" toutes les 2000 étapes.

  3. Bien que l'entraînement s'arrête automatiquement à 40000 étapes, vous pouvez l'arrêter à tout moment avec le bouton d'arrêt dans le dernier bloc de code de cette section. Tant que des points de contrôle sont disponibles, vous pouvez passer à la quantification et à la compilation.

Sections 5 - 7

  1. Exécutez tous les blocs de code de la section 5 pour générer un fichier d'étiquettes et convertir le modèle dans un format FlatBuffer compatible
  2. Exécutez tous les blocs de code de la section 6 pour quantifier le modèle pour l'inférence INT8 / 8 bits.
  3. Exécutez tous les blocs de code de la section 7 pour préparer le modèle pour Google Coral et Limelight. Le dernier bloc de code prendra un certain temps et téléchargera le modèle entraîné sous forme de fichier .zip.

Téléchargement vers Limelight

  1. Décompressez l'archive de votre session Colab. Téléchargez les fichiers limelight_neural_detector_coral.tflite et labels.txt sur votre Limelight.