AccueilIA & Machine LearningDétecteur de Nuisibles des Cultures — Classificateur de Texture en Direct

🐛 Détecteur de Nuisibles des Cultures — Classificateur de Texture en Direct

Observez un véritable classificateur de caractéristiques de texture (variance locale/densité de contours) scanner patch par patch une grille d'image de feuille simulée, signalant en direct les zones de dégâts par un vote k-NN contre des patchs de référence sains/endommagés.

IA & Machine Learning3DModéré60 IPS
ai-agriculture-pest-detection ↗ Ouvrir en autonome

À propos de cette simulation

Cette simulation construit un véritable, quoique compact, pipeline de vision par ordinateur à partir de zéro. Une image de feuille synthétique procédurale est générée pixel par pixel, avec des taches de dégâts irrégulières dont les statistiques locales diffèrent réellement du tissu sain. Une fenêtre de balayage parcourt ensuite la feuille patch par patch, et pour chaque patch, trois véritables caractéristiques de texture sont calculées directement à partir du tampon de pixels : intensité moyenne, variance locale et densité de contours basée sur Sobel. Chaque patch est classifié sain ou endommagé par un véritable vote k plus proches voisins contre un ensemble de référence étiqueté, avec la décision visualisée en direct dans l'espace des caractéristiques.

🔬 Ce que ça montre

Une feuille rendue en CanvasTexture avec une fenêtre de balayage parcourant une grille de patchs 12×12. L'intensité moyenne, la variance de population et la densité de contours Sobel de chaque patch sont calculées à partir de données de pixels réelles, normalisées, et comparées par distance euclidienne à un ensemble de référence étiqueté d'exemples sains/endommagés échantillonnés de la même feuille. Le panneau de nuage de points de l'espace des caractéristiques trace chaque patch de référence plus le patch actuel et dessine des lignes vers ses k plus proches voisins.

🎮 Comment utiliser

Ajustez k (1–11) pour changer combien de voisins votent, et le seuil de vote de dégâts (0,1–0,9) pour changer combien de ces voisins doivent dire « endommagé » avant que le patch soit signalé. La vitesse de scan contrôle la vitesse de balayage de la fenêtre. Régénérer la feuille rééchantillonne une nouvelle feuille synthétique avec de nouvelles taches de dégâts et reconstruit l'ensemble de référence ; Pause/Reprise fige le scan pour inspection.

💡 Le saviez-vous ?

La détection de contours de Sobel, inventée au début des années 1970, reste l'un des opérateurs de contours les plus utilisés car ses deux petits noyaux 3×3 approximent le gradient d'image assez peu coûteusement pour tourner en temps réel — exactement ce qui permet à cette simulation de recalculer une densité de contours véritable pour chaque patch, chaque image, sans jamais précalculer la réponse.

Questions fréquentes

Quelles caractéristiques réelles le classificateur calcule-t-il pour chaque patch ?

Pour chaque patch scanné, la simulation lit les données de pixels réelles de l'image de feuille synthétique et calcule trois statistiques de texture véritables : l'intensité moyenne en niveaux de gris, la variance de population des intensités dans le patch (une mesure de la rugosité locale), et une densité de contours obtenue en exécutant de véritables noyaux de convolution Sobel Gx/Gy sur chaque pixel intérieur et en comptant combien dépassent un seuil de magnitude de gradient. Aucun de ces nombres n'est simulé ou consulté — ils sont dérivés directement du tampon RGBA qui pilote aussi ce que vous voyez à l'écran.

Comment le classificateur k plus proches voisins décide-t-il réellement entre sain et endommagé ?

Un ensemble de référence de patchs est échantillonné de la même feuille et étiqueté à l'aide de la couverture réelle des taches de nuisibles (utilisée seulement pour construire cet ensemble étiqueté, jamais donnée au classificateur pour les patchs inconnus). Les trois caractéristiques de chaque patch de référence sont normalisées en z-score. Quand un nouveau patch est scanné, ses caractéristiques sont normalisées de la même façon, la distance euclidienne réelle à chaque patch de référence est calculée, les k plus proches sont conservés, et le patch est signalé endommagé si la fraction de voisins endommagés parmi ces k atteint le curseur de seuil de vote de dégâts — sinon il est sain.

Pourquoi les dégâts de nuisibles augmentent-ils la variance locale et la densité de contours ?

Le tissu foliaire nécrosé ou mâché tend à avoir un mouchetage irrégulier à fort contraste plutôt que le vert moucheté lisse du tissu sain, donc la variance d'intensité des pixels dans un patch endommagé est plus élevée. La frontière irrégulière entre tissu endommagé et sain produit aussi bien plus de transitions d'intensité nettes, exactement ce qu'un filtre de Sobel est conçu pour détecter, donc la densité de contours grimpe près et à l'intérieur des dégâts.

Que changent les contrôles de valeur k et de seuil de vote de dégâts ?

k règle combien de patchs de référence les plus proches sont consultés pour chaque vote — un petit k réagit vite à la texture locale mais est plus bruité, un grand k lisse la décision mais peut estomper les petites zones de dégâts. Le seuil de vote de dégâts règle quelle fraction de ces k voisins doit être étiquetée endommagée avant que le patch lui-même soit signalé endommagé ; l'abaisser rend le détecteur plus sensible (plus de faux positifs), l'augmenter le rend plus strict (plus de dégâts manqués).

Est-ce un vrai classificateur ou juste un seuil de couleur déguisé ?

C'est un pipeline de machine learning réel, quoique simplifié : véritable extraction de caractéristiques (variance, densité de contours Sobel, intensité moyenne) à partir de données de pixels réelles, véritable ensemble de référence étiqueté, véritable calcul de distance euclidienne, et véritable règle de décision k-NN à vote majoritaire. Il omet intentionnellement des choses comme l'augmentation de données ou une métrique apprise, mais chaque nombre pilotant la classification est calculé en direct à partir de l'image, pas étiqueté à la main par patch.

⚙ Sous le capot

Un véritable classificateur de caractéristiques de texture (variance locale/densité de contours) scanne une grille d'image de feuille simulée patch par patch, signalant en direct les zones de dégâts par un vote k-NN contre des patchs de référence sains/endommagés.

Canvas 2DComputer Visionk-NNTexture FeaturesSobel Edge Detection

3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install

Qu'avez-vous trouvé ?

Ajouter les étapes de reproduction (facultatif)