PROJET-INFO5 2021 Wildcount

From air
Jump to navigation Jump to search

Le projet

L'équipe

  • Elisa Beaugrand
  • Louis De Gaudenzi
  • Tom Graugnard
  • Alexis Rollin

Supervisé par : Didier Donsez, Georges Quénot

Journal

Semaine du 25/01

Jeudi 28/01

  • Choix des projets
  • Constitution des groupes

Vendredi 29/01

  • Réunion avec les porteurs, M. Donsez et M. Quénot
    • Mise au point des résultats des projets
    • Établissement du cahier des charges
  • Création du serveur Discord et conversation Messenger

Sprint 1

Semaine du 08/02

Mercredi 10/02

  • Prise en main des outils de collaboration
  • Répartition du travail
  • Réunion avec les IESE, apprentissage de Git

Jeudi 11/02

  • Prise en main des technologies
  • Première version d'un réseau de neurone basique avec Pytorch
  • Début du Scrapping sur Google

Vendredi 12/02

  • Abandon du Scrapping sur Google pour se concentrer sur Bing
  • Tri des images
  • Récupération des images du Valbonnais

Interruption pédagogique du 15/02

  • Scrapping d'images Zooniverse
  • Écriture d'un script de labellisation d'images scrappées
  • Premiers jets d'entrainement de réseau de neurones
  • Demande des accès Grid5000 car nos ordinateurs ne sont pas assez puissants

Semaine du 22/02

Lundi 22/02

  • Réception des identifiants Grid5000
  • Configuration et connexion aux serveurs Grid5000

Mardi 23/02

  • Réunion avec les porteurs du projet :

Présent : All

Ordre du jour : Ce qui a été réalisé (étudié)

  • MAJ du git
  • GC: creation des comptes Grid5000
  • DD: achat caméra -->dépot caméra au fablab
  • All IESE ? :Implémentation d’un mobil net sur la carte (lien git à ajouter)
  • GC :Capture d’image
  • AR :Envoie de la valeur en UART (Rx/Tx) après avoir fait une capture d’image. (lien git à ajouter)
  • EB :Algorithme de scrapping (lien git à ajouter)
    • Bing (lien drive à ajouter)
  • ARo, TG :Premier jet d’IA avec dataset custom (lien git à ajouter)
  • EB : Base d’images sur le drive (lien drive à ajouter)
  • LDG : tableau de bord Grafana


Ce que vous allez réaliser (étudié) jusqu’à Mardi prochain

  • GC :Ajout des différents capteurs (lien git à ajouter)
    • Température humidité, GPS, RTC, carte SD, PIR
      • PIR et RTC en priorité, ensuite la carte SD Carte.
  • AR :Mise en forme des trames pour le module LoRa envoyé via UART. (lien git à ajouter)
  • ARo, TG :Entrainement d’IA et recherche du meilleur modèle sur Grid5000
  • Scrapping Zooniverse (lien git à ajouter)
  • Ajouter des humains (usagers des parcs naturels, personnes à secourir) à la base d'entrainement
  • Ajouter des images de controle (ie sans rien --> paysage …)
  • Organiser les bases d’images


  • Format des messages Wildcount (montant et descendant) → à discuter entre IESE5 et INFO5 (lien)
    • Message de diagnostic à ajouter
      • 1 bit par device, raison. (Fat non formaté)
  • Codec Wildcount (C et Javascript)→ à discuter entre IESE5 et INFO5
  • Test/réglage des objectifs avec une mire (sur differentes distances)
    • prévoir dans le code un mode “réglage de objectif” ?

Difficulté(s)

  • EB: :Carte GapPocA INFO5 en défaut→ écrire à Yao + Xavier
  • App Android de diag ?

Questions divers

Mercredi 24/02

  • Réunion avec M. Quénot pour la prise en main de Grid5000 et des outils de travail pour les réseaux de neurones

Vendredi 26/02

  • Soutenance de mi-parcours

Sprint 2

Semaine du 01/03

Lundi 01/03

  • Réunion en présentiel avec les IESE pour essayer de faire marcher notre carte GreenWave

Mardi 02/03

  • Réalisation du poster en anglais en collaboration avec les IESE

Mercredi 03/03

  • Réunion avec les porteurs du projet :

Ordre du jour

Ce qui a été réalisé (étudié)

  • MAJ du git
  • All : Mise en place des daily meetings
  • AR, TG : MobileNet : Exemple fonctionne grâce à un environnement tensorflow1, le dataloading en cours d’implémentation (problème tensorflow encore une fois)
  • IESE -> récupération matériel ok
  • EB : outils scraping d’images ok (Bing et Zooniverse)
  • EB: Organisation base image ok
  • EB : Labellisation des images -> Ok pour Bing et les images du drive
  • EB : Ajout d’images de cyclistes, promeneurs (via scraping Bing)
  • AR, TG, EB, LDG : Payload
  • All : Test de la GapPocA des INFO -> matériel ok, pb logiciel
  • Aurélien R : communication UART (RN2483 ←> pc)
  • GC : lecture RTC avec GapPoc

Ce que vous allez réaliser (étudié) jusqu’à Mardi prochain -> Gitlab: kanban lien

  • EB: trier les images scrapées de Zooniverse puis les labelliser grâce au script
  • EB: transférer les images scrapées sur irim
  • GC : Ecriture sur RTC
  • GC : Implémentation carte SD
  • Format des messages Wildcount (montant et descendant) → à discuter entre IESE5 et INFO5 (lien)
    • Message de diagnostic à ajouter
      • 1 bit par device, raison. (Fat non formaté)
  • Codec Wildcount (C et Javascript)→ à discuter entre IESE5 et INFO5
  • Test/réglage des objectifs avec une mire (sur différentes distances)
    • prévoir dans le code un mode “réglage de objectif” ?

Difficulté(s)

  • Environnement Tensorflow Jupyter (a priori réglé)
  • Spéc de la payload floues
  • Problème logiciel de la carte (toujours pas résolu à ce jour, mais on est sûr que ça ne vient pas de la carte maintenant
  • Aurélien R : Problème de communication UART entre le module LoRa RN2483 et un terminal série (gestion du <CR+LF>) ---> Normalement résolu en langage C par l’ajout d’un “\n” en fin de fonction printf ou sprint.
  • GC : Problème de doc i2c
  • GC : Problème de doc composant aliexpress
  • Boite surement trop petite


Questions divers

  • Conserve GapPocB (IR) ? Non mais préparer firmware pour.
  • Payload
    • Où les fonctions sont-elles utilisées ? Ajout de nœuds dans NodeRed ?
    • L’encodeur et le décodeur communiquent-ils entre eux ? Si oui pq le décodeur décode plus de choses que ce qui est encodé ?

Jeudi 04/03

  • Début modification script réseau de neurones
  • Décodage et encodage de la payload avancés du coté serveur

Vendredi 05/03

  • Discussion avec les IESE à propos des payloads
  • Tri et transfert des images

Semaine du 08/03

Lundi 08/03

  • Programmation de la payload côté carte

Mardi 09/03

  • Tentative d'exportation du réseau de neurone en TFlite

Mercredi 10/03

  • Réunion avec les porteurs du projet

Ordre du jour

Ce qui a été réalisé (étudié)

  • Aurélien : Résolution du problème dans la communication UART entre le GAP8 et le module RN2483.
  • Tom, Louis: Payload JS ok, payload en C commencé (attention mappage little/big endian)
  • Elisa: Scrapping ok, Transfert des images sur irim ok
  • AR : notebook avec Mobilenetv2 que l’on peut train, retrain, qui sauvegarde des graphes et checkpoints régulièrement, et qui peut être exporter en tflite.

Ce que vous allez réaliser (étudié) jusqu’à Mardi prochain ->

  • Aurélien : Communication complète Rx/Tx avec le RN2483 et réalisation d’une fonction qui code le payload.
  • Finir payload C avec aide des IESE
  • Tester tflite sur la carte -> demander à Benoit quel commit il avait pris pour résoudre problème de carte
  • Lancer gros entraînement

Difficulté(s)

  • Aurélien : Le GAP8 envoie une commande <break> (= 0x00) à l’init de l’UART.

Or le 0x00 correspond à une commande pour le module LoRa RN2483 (commande “changer le baudrate”) et attend donc une réponse spécifique 0x55 (ignore toute les autres commandes).

  • La solution: envoyer le caractère “U” à l’init car il s’agit en ASCII de 0x55.
  • Grégoire : Problème avec la carte SD : incompréhension des bibliothèques de greenwaves
  • Bénoît: Que faites-vous ?

Questions divers

  • Repartir du checkpoint de base MobileNet ? (vrai avantage en terme de reco ? Modèle MobileNet avec trop grand nombre de labels -> compatibilité ?)

Remarque:

  • le payload est encodé en Big Endian
  • Où sont les tests unitaires ?


Jeudi 11/03

  • Tests payload UP
  • Tentative d'exportation en TFlite et dernières modifications

Vendredi 12/03

  • Tests payload DOWN
  • Tentative d'exportation en TFlite et dernières modifications

Semaine du 15/03

Lundi 15/03

Réunion avec les porteurs du projet

Ordre du jour

Ce qui a été réalisé (étudié)

  • Alexis, Elisa, Aurélien -> exportation en tflite testée et a dû être revue : problème de quantification, problème d’opérations non autorisées (AddV2), actuellement problème de Parallel Feature, en attente d’une réponse de GreenWaves
  • Tom: tests payload
  • Aurélien : Lien entre payload et envoie via UART.

Ce que vous allez réaliser (étudié) jusqu’à Vendredi prochain ->

  • Docs : Mettre à jour air imag, rapport, soutenance finale
  • En fonction de la réponse de Greenwaves charger sur la GAP8 le TFLite
  • Connecter les payloads

LNS

  • Application Wildcount (pour RN2483)
    • Donnez a DD tous les DevEUI, AppKey

Difficulté(s)

  • TFLite : installation d’un simulateur mais trop flexible et accepte tous nos modèles donc tests avec Aurélien, problème quantification, opérations non autorisées (Addv2) -> downgrade à mobilenet v1 et passage en uint8
  • Tests payload non automatisés car problème sécurité sur navigateur

Questions divers

  • Montrer modèle à Georges pour voir s’il trouve une anomalie
  • Invités démo: GW, PNE, PGHM, PIA (ONF)
  • présentiel @ Polytech, hybride
  • DD apporte un camera
  • DD reserve une grande salle aupres
  • Réserver salle à Polytech (DD)

Mardi 16/03

  • Écriture du compte-rendu
  • Tentative d'exportation en TFlite et dernières modifications

Mercredi 17/03

  • Écriture du compte-rendu
  • Tentative d'exportation en TFlite et dernières modifications
  • Réunion en présentiel avec les IESE pour préparer la présentation et la démonstration

Jeudi 18/03

  • Écriture du compte-rendu
  • Réalisation du diaporama
  • Réalisation du flyer

Vendredi 19/03

  • Soutenance finale

Liens