Retour au projet

Firmatech - Étude de cas d'aquaculture intelligente par IA

Étude de cas publique de l'aquaculture intelligente par IA : une recherche antérieure devenue MVP du hackathon Junction Alger, avec services d'IA, suivi des bassins, alertes et interfaces pour les exploitants.

Vue d'ensemble

Firmatech a démarré en 2024 comme mon projet de fin d'études de Licence, inspiré de l'activité d'aquaculture et d'aquaponie que ma sœur prévoit de lancer : une ferme piscicole intelligente qui a remporté le prix Best Potential Startup à la remise des diplômes. Quand j'ai participé au hackathon Junction Alger, l'un des thèmes était l'aquaculture, et l'équipe a donc décidé de continuer à construire sur mon projet. Voici le MVP construit en équipe qui en est sorti. J'ai travaillé sur les modules d'IA, l'analyse de données et les tests ; l'étude de cas se concentre sur ces points et sur l'architecture du système.

Problème

Les fermes piscicoles ont besoin de signaux précoces sur la qualité de l'eau, la croissance, l'alimentation et le risque sanitaire. L'inspection manuelle est lente, les enregistrements peuvent se fragmenter, et les sorties de l'IA ont besoin de tableaux de bord, d'alertes et de rapports pour être utiles.

Contexte

L'organisation publique répartit le travail du hackathon entre application mobile, tableau de bord, API TypeScript, backend d'IA FastAPI, simulation de données factices et notifications. Le travail antérieur de mémoire couvre le suivi aquacole, les capteurs IoT, l'UX mobile, le ML et le deep learning.

Mon rôle

Contributeur IA/recherche/tests dans l'équipe Junction Alger, également répertorié comme Module IA et analyse de données. L'étude de cas crédite l'équipe et évite de revendiquer la paternité exclusive de l'application mobile, du tableau de bord ou du backend général.

Objectifs

  • Transformer la recherche sur la pisciculture intelligente en un MVP fonctionnel
  • Suivre les conditions des bassins comme le pH, l'oxygène, la température, la salinité, les nitrates, les matières en suspension et le niveau d'eau
  • Exposer des services d'IA pour le comptage de poissons, l'estimation du poids et de la biomasse, la détection de maladies et la génération de rapports
  • Soutenir les parcours de l'exploitant et de l'administrateur via le mobile, le tableau de bord, les alertes et les rapports
  • Utiliser des données factices de capteurs et d'images pour démontrer des flux réalistes sans matériel d'exploitation réel

Décisions techniques

  • Utiliser FastAPI pour que les endpoints de comptage, de maladies, de poids et de rapports restent séparés des préoccupations d'interface
  • Utiliser des modèles hébergés sur Roboflow pour la détection et la classification des maladies
  • Utiliser OpenCV et un suivi par centroïdes pour que les détections répétées ne gonflent pas le nombre de poissons
  • Utiliser une formule empirique longueur-poids pour l'estimation de la biomasse du hackathon, avec des hypothèses d'étalonnage documentées comme contraintes du prototype
  • Utiliser Gemini via Agno pour générer des rapports quotidiens d'exploitation à partir des mesures des bassins et des informations sur les poissons
  • Utiliser une API TypeScript/Express avec MongoDB/Mongoose pour les utilisateurs, bassins, aliments, mesures, alertes, fiches de poissons et rapports
  • Utiliser Expo/React Native pour l'application mobile de l'exploitant, Next.js pour le tableau de bord d'administration et des notifications de type Expo/Firebase pour les événements urgents
  • Utiliser un simulateur basé sur cron pour alimenter le pipeline de démo en mesures et en images de poissons factices à intervalles répétables

Architecture

Le simulateur produit des mesures de capteurs et des images. L'API TypeScript stocke dans MongoDB les utilisateurs, bassins, aliments, mesures, rapports, alertes et fiches de poissons. Le backend FastAPI gère Roboflow, OpenCV, le suivi et les rapports Gemini/Agno. Expo et Next.js consomment l'API, tandis que les notifications envoient des alertes push ou par e-mail.

Pipeline de suivi des bassins

deux backends, une appli
ENTRÉES DES BASSINScapteurspH · O₂ · tempcamérascomptage · poidssimulateurcron + images facticesremplace le matérielExpress coreutilisateurs · bassinsTypeScriptFastAPIvision + rapportsPythondonnéesimagesMongoDBMongooseYOLOv8comptageclassif. des maladiesRoboflowGemini + Agnotexte du rapportExpo appvue pisciculteurTableau d'adminNext.jsalertespush + e-maillecture / écritureORIGINEProjet de fin d'études de Licence · 18/20 · Best Potential StartupPOURSUIVI Àhackathon Junction Alger · travail d'équipe
Deux backends parce qu'ils n'échouent pas de la même façon : le cœur Express sert des données d'exploitation qui doivent toujours répondre, tandis que le service FastAPI exécute des modèles lents et parfois faux. Le simulateur est la partie honnête— les bassins n'avaient pas encore de matériel instrumenté, donc des tâches cron et des images factices ont remplacé les capteurs pour que le reste du système puisse être construit et démontré sur des entrées réalistes.

Captures d'écran de l'étude de cas

10 vues
Modèle de données du backend pour les utilisateurs, les bassins d'eau, les mesures, les rapports, les alertes, l'alimentation et les détails sur les poissons.
Tableau de bord mobile de l'exploitation avec décomptes de bassins, totaux de poissons, alertes, statut et navigation.
Preuve de notification push pour les événements critiques des bassins, dont une alerte de température.
Flux d'alerte de stock d'aliment avec des notifications mobiles de type Expo/Firebase.
Flux de comptage de poissons : images simulées, inférence Roboflow/YOLOv8 et suivi par centroïdes pour éviter les doubles comptages.
Flux de poids et de biomasse : détecter la longueur, convertir les pixels en centimètres, puis appliquer la formule empirique.
Flux de détection de maladies avec classification Roboflow pour les poissons sains, Aeromonas, Streptococcus, le virus du lac Tilapia et les cas incertains.
Flux de rapport quotidien qui met en forme les mesures des bassins et génère des recommandations lisibles par l'exploitant via Gemini/Agno.
Courbes d'entraînement de la détection de poissons couvrant la perte, la précision, le rappel, le mAP50 et le mAP50-95.
Courbes d'entraînement du modèle de maladies pour l'examen de la qualité de la classification et de la détection.

Fonctionnalités clés

  • Endpoint de comptage de poissons pour les images vidéo, avec détection et protection contre le double comptage
  • Endpoint de poids qui estime la longueur, convertit les pixels en centimètres et renvoie des signaux de poids et de biomasse
  • Endpoint de maladies qui classe la santé des poissons et renvoie l'état et le type de maladie
  • Endpoint de rapport d'exploitation qui transforme les mesures des bassins en recommandations quotidiennes
  • Modèles d'API pour les bassins d'eau, mesures, aliments, alertes, rapports, utilisateurs et administrateurs
  • Tableau de bord mobile avec vue d'ensemble des bassins, alertes, navigation multi-bassins, notifications et parcours de profil
  • Tableau de bord d'administration pour le suivi des bassins, les analyses, les opérations d'alimentation, les rôles des utilisateurs et l'authentification
  • Service de simulation pour le pH, le niveau d'eau, la température, les valeurs de suivi, les images de poids et les images de maladies

Défis

  • Rendre la démo crédible sans matériel de bassin réel, en simulant l'entrée des capteurs et des caméras
  • Relier les sorties des modèles à des actions produit plutôt qu'à des expériences d'IA isolées
  • Garder le MVP compréhensible à travers plusieurs dépôts et environnements d'exécution
  • Présenter avec exactitude les métriques des modèles et les hypothèses du prototype, notamment pour l'étalonnage, la qualité d'image et la couverture des données de maladies
  • Coordonner des surfaces gérées par l'équipe tout en gardant un rôle précis et équitable dans le portfolio public

Résultats

  • Un MVP d'aquaculture intelligente avec mobile, tableau de bord, API, backend d'IA, simulation, notifications et documentation visuelle
  • Couvre l'ingénierie de l'IA au-delà des notebooks : services routés, workflows de modèles, logique de suivi, génération de rapports et intégration
  • Relie la recherche, l'IA, l'architecture backend, la simulation de données et les surfaces produit
  • Utilise des ressources de dépôts publics et des captures d'écran anonymisées pour que l'étude de cas soit visuelle sans exposer de contenu privé du Drive

Ce que j'ai appris

  • La valeur de l'IA est plus claire quand chaque sortie de modèle a un workflow pour l'exploitant
  • Les projets de hackathon ont besoin de schémas d'architecture parce que la répartition en dépôts peut masquer la vraie forme du produit
  • La simulation est utile pour les démos, mais l'étude de cas doit étiqueter ses hypothèses et éviter les affirmations de production
  • La formulation des rôles compte : elle doit montrer la contribution et la profondeur technique sans effacer les autres contributeurs