Le fragole sono un frutto molto popolare, ma le malattie possono ridurre drasticamente la produzione. Gli agricoltori hanno bisogno di uno strumento rapido e preciso per individuare i primi segni di infezione. In questo studio è stato creato un algoritmo basato su YOLOv8, una rete neurale di ultima generazione. Per migliorare la sensibilità ai piccoli punti di malattia, è stato aggiunto un “head” di rilevamento ultra‑piccolo (32×32 pixel). Inoltre, è stato integrato un modulo di fusione di convoluzione e attenzione (CAFM) che combina l’analisi locale con la visione globale, rendendo l’algoritmo più robusto in condizioni di luce variabile e sfondi complessi. Il dataset comprende 3.146 immagini di sette malattie diverse, con stadi di sviluppo differenti. Il modello ottimizzato raggiunge un mAP50 del 0,96, superando YOLOv5 e Faster R-CNN sia in recall che in F1 score. Per rendere l’uso pratico, è stato sviluppato un’interfaccia PyQT5 che elabora foto, video e input dalla telecamera in tempo reale, evidenziando le aree infette con box colorate e etichette di categoria. Questo strumento è leggero, facile da usare e può aiutare i coltivatori a intervenire tempestivamente, promuovendo l’agricoltura di precisione.
Il modello YOLOv8 è una rete di rilevamento oggetti in tempo reale che utilizza una struttura a “backbone” di convoluzioni profonde per estrarre caratteristiche a diversi livelli di scala. Nel contesto delle fragole, la sfida principale è la dimensione ridotta delle macchie infette, spesso inferiori a 10 pixel in un’immagine a 1080p. Per affrontare questo problema, è stato introdotto un nuovo head di rilevamento a 32×32 pixel, che riduce la dimensione del feature map e consente al modello di concentrarsi su dettagli più minuti. Parallelamente, il modulo CAFM (Convolution‑Attention Fusion Module) combina due meccanismi: la convoluzione tradizionale, che cattura informazioni locali come bordi e texture, e l’attenzione, che permette al modello di assegnare pesi diversi a regioni di interesse globale. L’attenzione è implementata tramite una rete di tipo SE (Squeeze‑and‑Excitation), che calcola un vettore di pesi per ogni canale di feature, enfatizzando quelli più rilevanti per la classificazione delle malattie. L’integrazione di questi due componenti crea un flusso di dati più ricco e meno soggetto a rumore ambientale, come ombre o variazioni di colore del terreno. I risultati sperimentali mostrano un incremento del 4% in mAP rispetto alla versione base di YOLOv8, con un miglioramento significativo nella precisione delle piccole macchie. Inoltre, l’interfaccia PyQT5, costruita su Qt5, sfrutta la GPU per l’elaborazione in tempo reale, garantendo un frame rate superiore a 30 fps su una scheda grafica di fascia media. Questo approccio rende l’algoritmo non solo più accurato ma anche pratico per l’uso sul campo, dove la rapidità di risposta è cruciale.
