cabrel09's picture
Update README.md
07cc388 verified

A newer version of the Gradio SDK is available: 6.14.0

Upgrade
metadata
title: Plant Leaf Disease Detector
emoji: 🔥
colorFrom: indigo
colorTo: green
sdk: gradio
sdk_version: 5.44.1
app_file: app.py
pinned: false
license: apache-2.0

🌱 AgriVision AI Pro - Détecteur Avancé de Maladies des Cultures

Gradio PyTorch Transformers License

📋 Description

AgriVision AI Pro est un système intelligent de détection et de diagnostic des maladies des cultures utilisant l'intelligence artificielle avancée. Cette application combine la puissance des modèles Vision Transformer (ViT) avec l'API Gemini de Google pour fournir une identification précise des maladies et des recommandations de traitement personnalisées.

🎯 Fonctionnalités Principales

  • 🔬 Détection IA Avancée : Utilise un modèle Vision Transformer pré-entraîné pour identifier 38+ maladies sur 14 types de cultures
  • 🌱 Identification Multi-Cultures : Support pour tomates, pommes de terre, pommes, maïs, raisins, poivrons, cerises, pêches, fraises, soja, courges, oranges, framboises
  • 🤖 Recommandations IA : Plans de traitement détaillés générés par l'IA Gemini
  • 📊 Analyse de Confiance : Scores de confiance pour évaluer la fiabilité du diagnostic
  • 🎨 Interface Moderne : Interface utilisateur élégante avec thème naturel
  • ⚡ Traitement Temps Réel : Analyse instantanée des images téléchargées

🚀 Installation

Prérequis

  • Python 3.8+
  • pip (gestionnaire de paquets Python)
  • Clé API Gemini (optionnelle, pour les recommandations IA avancées)

Installation Rapide

  1. Cloner le repository

    git clone https://github.com/TimbVald/crop-leaf-disease-detector.git
    cd crop-leaf-disease-detector
    
  2. Installer les dépendances

    pip install -r requirements.txt
    
  3. Configuration de l'API Gemini (Optionnel)

    # Windows
    set GEMINI_API_KEY=votre_clé_api_ici
    
    # Linux/Mac
    export GEMINI_API_KEY=votre_clé_api_ici
    
  4. Lancer l'application

    python app.py
    
  5. Accéder à l'interface Ouvrez votre navigateur et allez à http://localhost:7860

🔧 Configuration

Variables d'Environnement

Variable Description Requis
GEMINI_API_KEY Clé API Google Gemini pour les recommandations IA Non

Paramètres de Lancement

Vous pouvez modifier les paramètres de lancement dans app.py :

interface.launch(
    server_name="0.0.0.0",  # Adresse du serveur
    server_port=7860,       # Port d'écoute
    share=False,            # Lien public Gradio
    debug=False,            # Mode débogage
    show_error=True,        # Affichage des erreurs
    quiet=False             # Mode silencieux
)

📖 Utilisation

Interface Web

  1. Télécharger une Image : Glissez-déposez ou cliquez pour sélectionner une image de feuille de plante
  2. Analyse Automatique : L'IA analyse automatiquement l'image téléchargée
  3. Résultats : Consultez le diagnostic et les recommandations de traitement

Types d'Images Supportés

  • Formats : PNG, JPG, JPEG
  • Qualité : Images claires et bien éclairées recommandées
  • Contenu : Feuilles de plantes avec symptômes visibles

🌾 Cultures et Maladies Supportées

Cultures Supportées (14 types)

Culture Maladies Détectées
🍅 Tomate Tache bactérienne, Mildiou précoce/tardif, Moisissure, Septoriose, Acariens, Virus
🥔 Pomme de terre Mildiou précoce, Mildiou tardif
🍎 Pomme Tavelure, Pourriture noire, Rouille du genévrier
🌽 Maïs Tache Cercospora, Rouille commune, Brûlure nordique
🍇 Raisin Pourriture noire, Esca, Brûlure des feuilles
🌶️ Poivron Tache bactérienne
🍒 Cerise Oïdium
🍑 Pêche Tache bactérienne
🍓 Fraise Brûlure des feuilles
🫘 Soja État sain
🎃 Courge Oïdium
🍊 Orange Huanglongbing
🫐 Framboise État sain

Total : 38+ Conditions Détectées

🧠 Architecture Technique

Modèle IA

  • Architecture : Vision Transformer (ViT)
  • Modèle : wambugu71/crop_leaf_diseases_vit
  • Framework : Transformers de Hugging Face
  • Backend : PyTorch

Pipeline de Traitement

  1. Préprocessing : Normalisation et redimensionnement de l'image
  2. Inférence : Classification par le modèle ViT
  3. Post-processing : Analyse et parsing des résultats
  4. Génération IA : Recommandations via Gemini API

Stack Technologique

  • Frontend : Gradio avec CSS personnalisé
  • Backend : Python, PyTorch
  • IA : Transformers, Google Gemini
  • Déploiement : Compatible Hugging Face Spaces

📊 Performance

Métriques de Confiance

  • 🎯 Haute Confiance : >80% - Diagnostic très fiable
  • 📊 Confiance Moyenne : 60-80% - Diagnostic probable
  • ⚠️ Faible Confiance : <60% - Vérification recommandée

Facteurs Affectant la Précision

  • Qualité de l'image (résolution, éclairage)
  • Visibilité des symptômes
  • Angle et cadrage de la photo
  • État de développement de la maladie

🛠️ Développement

Structure du Projet

crop-leaf-disease-detector/
├── app.py                 # Application principale
├── requirements.txt       # Dépendances Python
├── README.md             # Documentation
├── .gitattributes        # Configuration Git
└── samples/              # Images d'exemple (optionnel)

Fonctions Principales

  • load_model() : Chargement du modèle ViT
  • classify_disease_enhanced() : Classification des maladies
  • get_enhanced_remedy_suggestions() : Génération de recommandations IA
  • process_image_enhanced() : Pipeline complet de traitement
  • create_interface() : Interface utilisateur Gradio

Personnalisation

Ajouter de Nouvelles Cultures

  1. Mettre à jour CROP_DISEASE_MAPPING dans app.py
  2. Ajouter les mappings de maladies correspondants
  3. Tester avec des images d'exemple

Modifier l'Interface

  1. Éditer le CSS dans custom_css
  2. Modifier la structure HTML dans create_interface()
  3. Ajuster les couleurs et thèmes

🚀 Déploiement

Hugging Face Spaces

  1. Fork ce repository
  2. Créer un nouveau Space sur Hugging Face
  3. Connecter votre repository
  4. Ajouter GEMINI_API_KEY dans les secrets du Space

Déploiement Local

# Production
python app.py

# Développement avec auto-reload
gradio app.py

Docker (Optionnel)

FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 7860
CMD ["python", "app.py"]

🤝 Contribution

Les contributions sont les bienvenues ! Voici comment contribuer :

  1. Fork le projet
  2. Créer une branche feature (git checkout -b feature/AmazingFeature)
  3. Commit vos changements (git commit -m 'Add AmazingFeature')
  4. Push vers la branche (git push origin feature/AmazingFeature)
  5. Ouvrir une Pull Request

Types de Contributions

  • 🐛 Correction de bugs
  • ✨ Nouvelles fonctionnalités
  • 📚 Amélioration de la documentation
  • 🎨 Améliorations de l'interface
  • 🔧 Optimisations de performance

📄 Licence

Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.

🙏 Remerciements

  • Hugging Face pour les modèles Transformers
  • Google pour l'API Gemini
  • Gradio pour l'interface utilisateur
  • PyTorch pour le framework de deep learning
  • wambugu71 pour le modèle ViT pré-entraîné

📞 Support

🔮 Roadmap

  • Support de nouvelles cultures
  • Amélioration de la précision du modèle
  • API REST pour intégration
  • Application mobile
  • Base de données de traitements
  • Système de feedback utilisateur
  • Support multilingue

🌱 Révolutionner l'Agriculture avec l'IA 🌱

Construit avec ❤️ pour les agriculteurs du monde entier