Aller au contenu principal

Entraîner un Modèle de Détecteur Personnalisé

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

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

  • Collecter et annoter des images d'objets d'intérêt.
    • Dans ce contexte, "l'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é en .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 sur 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 créer 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 créer 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 occlus ne doit capturer que la partie visible de l'objet.

  • Utilisez uniquement 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 "Download Dataset" de Roboflow pour l'exporter en Tensorflow TFRecord. Téléchargez cette archive sur votre Google Drive.

2. Entraîner le 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 play en haut à gauche de chacun des trois premiers blocs de code. Le dernier bloc de code "testing" peut être ignoré pour gagner du temps.
LL4 Technical Drawing
  1. Si vous voyez un bouton de redémarrage, ignorez-le.
LL4 Technical Drawing
  1. Si vous voyez une fenêtre comme celle-ci, cliquez sur "Cancel"
LL4 Technical Drawing

Section 1.1

  1. Développez la section, exécutez le premier bloc de code, et entrez un lien Google Drive vers votre fichier tfrecord.zip. Assurez-vous que votre tfrecord.zip est accessible à "toute personne disposant du lien" dans Google Drive

Section 2

  1. Exécutez les deux blocs de code pour décompresser et analyser le tfrecord.zip

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 panneau des fichiers et tensorboard pour surveiller la progression. Un nouveau checkpoint devrait apparaître dans le dossier "training_progress" tous les 2000 pas.

  3. Bien que l'entraînement s'arrête automatiquement à 40000 pas, vous pouvez l'arrêter à tout moment avec le bouton stop dans le dernier bloc de code de cette section. Tant que des checkpoints 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 en 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 / 8bit.
  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 il téléchargera le modèle entraîné sous forme de fichier .zip.

Télécharger vers Limelight

  1. Décompressez l'archive de votre session Colab.
  2. Équipes FTC - Si vous avez un Limelight3A, téléchargez le modèle tflite 8bit et labels.txt. Vous devrez changer le moteur d'exécution de "coral" à "cpu"
  3. Équipes FRC - Si vous avez un Google Coral, téléchargez les fichiers limelight_neural_detector_coral.tflite et labels.txt vers votre Limelight.