Come migliorare l'mAP del modello su piccoli oggetti: una guida rapida
Scopri come migliorare l'mAP del modello su piccoli oggetti con consigli pratici su qualità dei dati, aumentazione, strategie di addestramento, valutazione e distribuzione.

Man mano che l'adozione dell'intelligenza artificiale (AI), del machine learning e della computer vision continua a crescere, i sistemi di rilevamento oggetti vengono utilizzati ovunque, dalle telecamere intelligenti per il traffico ai droni e agli strumenti di analisi al dettaglio. Spesso, ci si aspetta che questi sistemi rilevino oggetti di ogni dimensione, che si tratti di un grande camion vicino alla telecamera o di un minuscolo pedone in lontananza.
Di solito, individuare oggetti grandi e chiaramente visibili è più semplice. Al contrario, rilevare oggetti piccoli è più impegnativo.
Quando un oggetto occupa solo una piccola parte dell'immagine, c'è pochissima informazione visiva con cui lavorare. Un pedone distante in un flusso di traffico o un piccolo veicolo ripreso da una vista aerea potrebbero contenere solo pochi pixel, eppure quei pixel possono trasportare informazioni critiche.
I modelli di computer vision come i modelli Ultralytics YOLO si affidano a pattern visivi per riconoscere gli oggetti, e quando quei pattern sono limitati o poco chiari, le prestazioni ne risentono. Dettagli importanti possono andare persi durante l'elaborazione, rendendo le previsioni più sensibili agli errori di localizzazione. Anche un leggero spostamento in una bbox può trasformare un rilevamento corretto in uno mancato.
Questo divario diventa chiaro quando osserviamo le prestazioni del modello. La maggior parte dei modelli di rilevamento e segmentazione gestisce bene gli oggetti medi e grandi, ma gli oggetti piccoli spesso riducono l'accuratezza complessiva.
Le prestazioni del deep learning vengono solitamente misurate utilizzando la mean average precision, o mAP. Questa metrica riflette sia quanto siano accurati i rilevamenti sia quanto bene le box previste si allineino con gli oggetti reali.
Combina la precision, che mostra quanti oggetti previsti sono corretti, e la recall, che mostra quanti oggetti reali vengono rilevati con successo, attraverso diversi livelli di confidenza e soglie di Intersection over Union, o IoU (una metrica che misura quanto la bbox prevista si sovrappone alla box di ground truth).
In precedenza, abbiamo esplorato il rilevamento di oggetti piccoli e perché sia un problema così difficile per i modelli di computer vision. In questo articolo, costruiremo su quella base e ci concentreremo su come migliorare la mAP quando sono coinvolti oggetti piccoli. Cominciamo!
Link to this sectionPerché gli oggetti piccoli sono più difficili da rilevare?#
Quando si parla di applicazioni che coinvolgono rilevatori di oggetti, un oggetto piccolo è definito da quanto spazio occupa in un'immagine, non necessariamente da quanto appare piccolo all'occhio umano. Se occupa solo una minuscola porzione dell'immagine, contiene pochissima informazione visiva, il che rende più difficile per un algoritmo di computer vision rilevarlo con precisione.

Fig 1. Immagini di esempio che mostrano oggetti piccoli che occupano aree di pixel limitate (Source)
Con meno pixel a disposizione, dettagli importanti come bordi, forme e texture possono essere poco chiari o facilmente persi. Man mano che l'immagine viene elaborata dal modello, essa viene ridimensionata e semplificata per evidenziare pattern utili.
Sebbene ciò aiuti il modello a comprendere la scena complessiva, può anche ridurre ulteriormente i dettagli fini. Per gli oggetti piccoli, quei dettagli sono spesso essenziali per un rilevamento corretto.
Queste sfide diventano ancora più evidenti quando si osservano le metriche di valutazione. Gli oggetti piccoli sono particolarmente sensibili agli errori di localizzazione. Anche una bbox leggermente disallineata può scendere al di sotto della soglia richiesta di Intersection over Union, o IoU.
Quando ciò accade, una previsione che sembra ragionevole può essere conteggiata come errata. Ciò abbassa sia la precision che la recall, riducendo infine la mean average precision, o mAP.
Poiché questi fattori sono strettamente collegati, migliorare le prestazioni spesso richiede di pensare all'intero sistema. Ciò significa bilanciare attentamente la risoluzione dell'immagine, l'estrazione delle feature, la progettazione del modello e le impostazioni di valutazione, in modo che i piccoli dettagli visivi siano meglio preservati e interpretati.
Link to this sectionL'importanza della qualità del dataset e delle annotazioni#
Quando si tratta di rilevamento di oggetti piccoli, la qualità di un dataset spesso fa la differenza maggiore nelle prestazioni. Gli oggetti piccoli occupano solo una minuscola parte di un'immagine, il che significa che c'è pochissima informazione visiva disponibile da cui il modello possa imparare. Per questo motivo, i dati di addestramento diventano particolarmente importanti. Se il dataset non include abbastanza esempi chiari e rappresentativi, il modello di rilevamento oggetti farà fatica a riconoscere pattern coerenti.
I dataset che funzionano bene per il rilevamento di oggetti piccoli solitamente contengono immagini ad alta risoluzione, presenze frequenti di piccoli target e condizioni visive coerenti. Sebbene i dataset generici come il dataset COCO siano punti di partenza utili, spesso non corrispondono alla scala, alla densità o al contesto di specifici casi d'uso reali. In tali casi, raccogliere dati di addestramento specifici per il dominio diventa necessario per migliorare le prestazioni del modello.
Anche la qualità dell'annotazione gioca un ruolo critico. Le annotazioni stabiliscono la ground truth specificando le etichette degli oggetti corrette e le posizioni delle bbox che il modello impara a prevedere.
Per gli oggetti piccoli, le bbox devono essere disegnate con attenzione e coerenza. Anche lievi differenze nel posizionamento della box possono influire notevolmente sull'accuratezza della localizzazione, perché gli oggetti piccoli sono altamente sensibili agli spostamenti a livello di pixel.
Annotazioni scadenti o incoerenti possono ridurre significativamente la mAP. Se gli oggetti sono etichettati erroneamente, il modello impara pattern non corretti, il che può aumentare i falsi positivi.
Se gli oggetti appaiono nell'immagine ma mancano dalla ground truth, i rilevamenti corretti potrebbero essere conteggiati come falsi positivi durante la valutazione. Entrambe le situazioni riducono le prestazioni complessive.
È interessante notare che ricerche recenti indicano che la precision media per gli oggetti piccoli rimane spesso tra il 20% e il 40% nei benchmark standard, il che è significativamente inferiore rispetto agli oggetti più grandi. Questo divario evidenzia l'importanza della progettazione del dataset e della coerenza delle annotazioni nell'accuratezza complessiva del rilevamento.
Link to this sectionLa data augmentation può svolgere un ruolo chiave nel migliorare l'accuratezza#
Con una migliore comprensione dell'importanza della qualità del dataset e della coerenza delle annotazioni, vediamo come un modello di rilevamento oggetti possa imparare in modo più efficace dai dati esistenti. Anche quando raccogliere immagini aggiuntive è difficile o costoso, ci sono ancora modi per migliorare le prestazioni facendo un uso migliore dei dati già disponibili.
Uno degli approcci più pratici è la data augmentation. Essa ha un ruolo particolarmente importante nel rilevamento di oggetti piccoli perché gli oggetti piccoli forniscono meno indizi visivi da cui il modello può imparare. Introducendo variazioni controllate durante l'addestramento, l'augmentation aiuta il modello a generalizzare meglio senza richiedere una nuova raccolta dati.
Un'efficace data augmentation si concentra sul mantenere gli oggetti piccoli chiaramente visibili. Tecniche come il ridimensionamento controllato, il ritaglio leggero e il tiling delle immagini possono far risaltare maggiormente gli oggetti piccoli preservandone forma e aspetto. L'obiettivo è aiutare il modello a vedere gli oggetti piccoli più spesso e in condizioni leggermente diverse, senza cambiare il loro aspetto nelle situazioni reali.
Tuttavia, l'augmentation deve essere applicata con attenzione. Alcune trasformazioni possono ridurre la visibilità degli oggetti piccoli o cambiarne l'aspetto in modi che è improbabile si verifichino nei dati reali. Quando ciò accade, il modello potrebbe fare fatica a imparare confini degli oggetti accurati.
Link to this sectionData augmentation più intelligente con l'AI generativa#
Un altro tipo interessante di data augmentation che sta diventando popolare è l'uso dell'AI generativa per creare dati di addestramento sintetici. Invece di fare affidamento su immagini raccolte ed etichettate manualmente, i team possono ora generare scene realistiche che simulano ambienti specifici, dimensioni degli oggetti, condizioni di illuminazione e variazioni di sfondo.

Fig 2. Uno sguardo alle immagini aeree sintetiche utilizzate per la data augmentation (Source)
Questo approccio è particolarmente utile per il rilevamento di oggetti piccoli, dove esempi reali potrebbero essere difficili da catturare in modo coerente. Controllando come appaiono gli oggetti piccoli nelle immagini sintetiche, ad esempio regolando scala, densità e posizionamento, è possibile esporre i modelli a una gamma più ampia di scenari di addestramento.
Se combinata attentamente con dati reali, l'augmentation sintetica può migliorare la robustezza del modello, ridurre i costi di raccolta dati e supportare miglioramenti delle prestazioni più mirati.
Link to this sectionScelte di addestramento del modello che possono influire sulla mAP degli oggetti piccoli#
Oltre alla qualità del dataset e alla coerenza delle annotazioni, anche le scelte di addestramento del modello hanno un forte impatto sulle prestazioni di rilevamento degli oggetti piccoli.
Ecco alcune delle strategie di addestramento chiave da considerare:
- Inizia con modelli pre-addestrati: Un modello pre-addestrato, come Ultralytics YOLO26, ha già appreso pattern visivi generali da grandi dataset di immagini. Questo fornisce un solido punto di partenza invece di addestrare da zero, il che è particolarmente utile quando si rilevano oggetti piccoli con dati limitati.
- Usa il transfer learning in modo strategico: Il transfer learning significa adattare un modello pre-addestrato al tuo dataset specifico. Aiuta il modello a concentrarsi sui tuoi oggetti piccoli riducendo al contempo l'overfitting (memorizzare i dati di addestramento invece di imparare pattern generali).
- Affronta lo squilibrio delle classi: Se gli oggetti piccoli appaiono meno frequentemente di quelli più grandi, il modello potrebbe dare la priorità all'apprendimento degli oggetti più grandi. Tecniche come il class weighting o strategie di campionamento aiutano a garantire che gli oggetti piccoli non vengano ignorati.
- Regola le soglie di confidenza e IoU: Gli oggetti piccoli sono sensibili a lievi errori di localizzazione. Ottimizzare queste soglie aiuta a valutare e interpretare meglio le prestazioni degli oggetti piccoli durante la validazione e l'inferenza.
Link to this sectionConsiderazioni sull'architettura del modello per il rilevamento di oggetti piccoli#
Sebbene tu possa utilizzare un modello di rilevamento oggetti generale per compiti su oggetti piccoli, esistono anche architetture di modelli progettate specificamente per migliorare il rilevamento di oggetti piccoli. Ad esempio, ci sono varianti P2 del modello Ultralytics YOLOv8 che sono ottimizzate per preservare dettagli spaziali fini.
YOLOv8 elabora le immagini a scale multiple restringendole gradualmente man mano che si spostano più in profondità nella rete. Questo aiuta il modello a comprendere la scena complessiva, ma riduce anche i dettagli fini.
Quando un oggetto è già molto piccolo, informazioni visive importanti possono scomparire durante questo processo. La variante P2 di Ultralytics YOLOv8 affronta questo problema utilizzando uno stride di 2 nella sua feature pyramid.
Una feature pyramid è la parte del modello che analizza l'immagine a risoluzioni interne multiple in modo da poter rilevare oggetti di dimensioni diverse. Con uno stride di 2, l'immagine viene ridotta più gradualmente in questa fase, consentendo di preservare una maggiore quantità dei dettagli originali a livello di pixel.
Poiché viene preservato un maggior dettaglio spaziale, gli oggetti piccoli mantengono una struttura più visibile all'interno della rete. Ciò rende più facile per il modello localizzare e rilevare oggetti che occupano solo pochi pixel, il che può aiutare a migliorare la mAP degli oggetti piccoli.
Link to this sectionValutazione basata sulla dimensione per il rilevamento di oggetti piccoli#
Sebbene la mean average precision riassuma le prestazioni complessive del modello, non mostra sempre quanto bene un modello gestisca oggetti di dimensioni diverse. Per gli oggetti piccoli, le prestazioni sono spesso limitate dall'accuratezza della localizzazione piuttosto che dalla sola classificazione, il che significa che lievi spostamenti della bbox possono influire significativamente sui risultati.
In altre parole, il modello potrebbe identificare correttamente la classe dell'oggetto, ma se la bbox prevista è leggermente disallineata, il rilevamento potrebbe comunque essere considerato errato. Poiché gli oggetti piccoli coprono solo un piccolo numero di pixel, anche uno spostamento minore nel posizionamento della box può ridurre significativamente la sovrapposizione tra la box prevista e la ground truth. Di conseguenza, i punteggi di valutazione possono scendere anche quando l'oggetto è stato identificato correttamente.

Fig 3. Valutare il rilevamento di oggetti piccoli può essere complicato (Source)
Un approccio più informativo consiste nel valutare le prestazioni in base alla dimensione dell'oggetto. La maggior parte dei benchmark ampiamente utilizzati riporta la average precision separatamente per oggetti piccoli, medi e grandi.
Questa suddivisione specifica per dimensione fornisce una visione più chiara di dove il modello funzioni bene e dove faccia fatica. In pratica, l'AP per oggetti piccoli è spesso inferiore alla mAP complessiva, evidenziando sfide di localizzazione che potrebbero non essere ovvie nelle metriche aggregate.
Link to this sectionConsidera i vincoli di deployment e i compromessi nel mondo reale#
Le prestazioni del modello cambiano spesso quando si passa da ambienti di test controllati al deployment nel mondo reale. Fattori come risoluzione dell'immagine, velocità di elaborazione e hardware disponibile introducono compromessi che influenzano direttamente il rilevamento di oggetti piccoli.
Ad esempio, aumentare la risoluzione di input può migliorare la mAP degli oggetti piccoli perché i piccoli target occupano più pixel e mantengono più dettagli. Tuttavia, una risoluzione più elevata aumenta anche l'utilizzo della memoria e il tempo di elaborazione. Questo può rallentare l'inferenza e aumentare i costi operativi.

Fig 4. Sfide di deployment per il rilevamento di oggetti piccoli. Immagine dell'autore.
Le scelte hardware giocano un ruolo chiave nella gestione di questi compromessi. GPU più potenti consentono modelli più grandi e un'elaborazione più veloce, ma gli ambienti di deployment, specialmente i dispositivi edge, hanno spesso risorse di calcolo e memoria limitate.
Le applicazioni in tempo reale aggiungono un ulteriore vincolo: mantenere una bassa latenza potrebbe richiedere la riduzione delle dimensioni del modello o della risoluzione di input, il che può influire negativamente sulla recall degli oggetti piccoli. In definitiva, le decisioni di deployment richiedono di bilanciare le prestazioni di rilevamento con i limiti hardware, i requisiti di velocità e il costo complessivo.
Link to this sectionTirando le somme: Migliorare la mAP del modello su oggetti piccoli#
Migliorare il rilevamento di oggetti piccoli richiede un approccio pratico e strutturato, specialmente quando si lavora in ambienti reali. Ecco una panoramica dei passaggi principali da tenere a mente:
- Controlla la qualità del tuo dataset: Assicurati che il tuo dataset includa abbastanza esempi di oggetti piccoli, utilizzi immagini ad alta risoluzione quando possibile e rifletta le condizioni in cui il modello verrà distribuito.
- Verifica la coerenza delle annotazioni: Assicurati che le bbox siano accurate, complete ed etichettate in modo coerente. Annotazioni incoerenti possono limitare direttamente le prestazioni di localizzazione.
- Regola le impostazioni di addestramento con consapevolezza: Regola batch size, numero di epoche e impostazioni di ottimizzazione in modo ponderato, affinché gli oggetti piccoli siano adeguatamente rappresentati durante l'addestramento.
- Itera passo dopo passo: Apporta modifiche controllate, misurane l'impatto e rifinisci il tuo approccio. Un'iterazione costante e basata sui dati porta a un miglioramento continuo nel tempo.
Link to this sectionPunti chiave#
Migliorare la mAP per gli oggetti piccoli richiede un approccio strutturato e basato sui dati, invece di modifiche casuali. I miglioramenti reali derivano dalla combinazione di buoni dati, annotazioni coerenti, addestramento accurato e giusti metodi di valutazione. Nei progetti reali, test costanti e piccoli cambiamenti misurabili sono ciò che porta a un rilevamento di oggetti piccoli migliore e più affidabile nel tempo.
Unisciti alla nostra crescente comunità ed esplora il nostro repository GitHub per risorse AI pratiche. Per costruire con la vision AI oggi, esplora le nostre opzioni di licenza. Scopri come l'AI in agricoltura sta trasformando l'agricoltura e come la vision AI nella robotica sta plasmando il futuro visitando le nostre pagine delle soluzioni.






