YOLOv7 L’algoritmo di rilevamento oggetti più avanzato?

YOLOv7 l'algoritmo di rilevamento oggetti più avanzato?

Il 6 luglio 2022 verrà segnato come un punto di riferimento nella storia dell’IA perché è stato in questo giorno che è stato rilasciato YOLOv7. Da quando è stato lanciato, YOLOv7 è stato l’argomento più caldo nella comunità di sviluppatori di Computer Vision, e per le giuste ragioni. YOLOv7 è già considerato una pietra miliare nell’industria del rilevamento degli oggetti.

Poco dopo la pubblicazione del paper YOLOv7, si è dimostrato il modello di rilevamento degli oggetti in tempo reale più veloce e preciso. Ma come fa YOLOv7 a superare i suoi predecessori? Cosa rende YOLOv7 così efficiente nell’esecuzione di compiti di visione artificiale?

In questo articolo cercheremo di analizzare il modello YOLOv7 e cercheremo di trovare la risposta a perché YOLOv7 sta diventando uno standard del settore? Ma prima di poter rispondere a ciò, dovremo dare uno sguardo alla breve storia del rilevamento degli oggetti.

Cosa è il Rilevamento degli Oggetti?

Il rilevamento degli oggetti è un ramo della computer vision che identifica e localizza gli oggetti in un’immagine o un file video. Il rilevamento degli oggetti è il fondamento di numerose applicazioni, tra cui le auto a guida autonoma, la sorveglianza monitorata e persino la robotica.

Un modello di rilevamento degli oggetti può essere classificato in due categorie diverse, rilevatori a singolo scatto e rilevatori a più scatti.

Rilevamento degli Oggetti in Tempo Reale

Per capire veramente come funziona YOLOv7, è essenziale per noi capire l’obiettivo principale di YOLOv7, “Rilevamento degli Oggetti in Tempo Reale”. Il rilevamento degli oggetti in tempo reale è un componente chiave della visione artificiale moderna. I modelli di rilevamento degli oggetti in tempo reale cercano di identificare e localizzare oggetti di interesse in tempo reale. I modelli di rilevamento degli oggetti in tempo reale hanno reso molto efficiente per gli sviluppatori tracciare oggetti di interesse in un frame in movimento come un video o un input di sorveglianza in diretta.

I modelli di rilevamento degli oggetti in tempo reale sono essenzialmente un passo avanti rispetto ai modelli di rilevamento delle immagini convenzionali. Mentre i primi vengono utilizzati per tracciare gli oggetti nei file video, i secondi localizzano e identificano gli oggetti all’interno di un frame stazionario come un’immagine.

Di conseguenza, i modelli di rilevamento degli oggetti in tempo reale sono molto efficienti per l’analisi video, i veicoli autonomi, il conteggio degli oggetti, il tracciamento di oggetti multipli e molto altro.

Cos’è YOLO?

YOLO o “You Only Look Once” è una famiglia di modelli di rilevamento degli oggetti in tempo reale. Il concetto di YOLO è stato introdotto per la prima volta nel 2016 da Joseph Redmon ed è diventato subito il centro dell’attenzione perché era molto più veloce e preciso rispetto agli algoritmi di rilevamento degli oggetti esistenti. Non è passato molto tempo prima che l’algoritmo YOLO diventasse uno standard nell’industria della visione artificiale.

Il concetto fondamentale proposto dall’algoritmo YOLO è quello di utilizzare una rete neurale end-to-end utilizzando bounding box e probabilità di classe per fare previsioni in tempo reale. YOLO era diverso dai modelli di rilevamento degli oggetti precedenti nel senso che proponeva un approccio diverso per eseguire il rilevamento degli oggetti riproponendo i classificatori.

Il cambiamento di approccio ha funzionato poiché YOLO è diventato presto lo standard del settore poiché il divario di prestazioni tra esso e altri algoritmi di rilevamento degli oggetti in tempo reale era significativo. Ma qual era il motivo per cui YOLO era così efficiente?

Rispetto a YOLO, gli algoritmi di rilevamento degli oggetti dell’epoca utilizzavano reti di proposta di regione per rilevare possibili regioni di interesse. Il processo di riconoscimento veniva quindi eseguito su ciascuna regione separatamente. Di conseguenza, questi modelli spesso eseguivano più iterazioni sulla stessa immagine, e quindi la mancanza di precisione e il tempo di esecuzione più elevato. D’altra parte, l’algoritmo YOLO utilizza un singolo layer completamente connesso per eseguire la previsione in una sola volta.

Come Funziona YOLO?

Ci sono tre passaggi che spiegano come funziona un algoritmo YOLO.

Riformulazione del Rilevamento degli Oggetti come un Singolo Problema di Regressione

L’algoritmo YOLO cerca di riformulare il rilevamento degli oggetti come un unico problema di regressione, includendo i pixel dell’immagine, le probabilità di classe e le coordinate del bounding box. Pertanto, l’algoritmo deve guardare l’immagine solo una volta per prevedere e individuare gli oggetti target nelle immagini.

Motivi per cui l’immagine globalmente

Inoltre, quando l’algoritmo YOLO effettua previsioni, ragiona sull’immagine globalmente. È diverso dalle tecniche basate su regioni proposte e da quelle a scorrimento in quanto l’algoritmo YOLO vede l’intera immagine durante l’addestramento e il test sul dataset, ed è in grado di codificare informazioni contestuali sulle classi e su come appaiono.

Prima di YOLO, Fast R-CNN era uno degli algoritmi di rilevamento degli oggetti più popolari che non poteva vedere il contesto più ampio nell’immagine perché confondeva le porzioni dello sfondo di un’immagine con un oggetto. Rispetto all’algoritmo Fast R-CNN, YOLO è più accurato del 50% quando si tratta di errori di sfondo.

Generalizza la rappresentazione degli oggetti

Infine, l’algoritmo YOLO mira anche a generalizzare le rappresentazioni degli oggetti in un’immagine. Di conseguenza, quando un algoritmo YOLO è stato eseguito su un dataset con immagini naturali e testato per i risultati, YOLO ha superato di gran lunga i modelli R-CNN esistenti. Questo perché YOLO è altamente generalizzabile e ha poche probabilità di fallire quando viene implementato su input imprevisti o nuovi domini.

YOLOv7: Cosa c’è di nuovo?

Ora che abbiamo una comprensione di base di cosa sono i modelli di rilevamento degli oggetti in tempo reale e cosa sia l’algoritmo YOLO, è il momento di discutere dell’algoritmo YOLOv7.

Ottimizzazione del processo di addestramento

L’algoritmo YOLOv7 non solo cerca di ottimizzare l’architettura del modello, ma mira anche a ottimizzare il processo di addestramento. Cerca di utilizzare moduli e metodi di ottimizzazione per migliorare l’accuratezza del rilevamento degli oggetti, rafforzando il costo per l’addestramento, pur mantenendo il costo dell’interferenza. Questi moduli di ottimizzazione possono essere definiti come un “trainable bag of freebies”.

Assegnazione delle etichette guidata dal lead da grezza a fine

L’algoritmo YOLOv7 prevede di utilizzare una nuova assegnazione delle etichette guidata dal lead da grezza a fine anziché la convenzionale assegnazione dinamica delle etichette. Questo perché con l’assegnazione dinamica delle etichette, addestrare un modello con più strati di output causa alcuni problemi, il più comune dei quali è come assegnare obiettivi dinamici per diversi rami e le loro uscite.

Ri-parametrizzazione del modello

La ri-parametrizzazione del modello è un concetto importante nel rilevamento degli oggetti e il suo utilizzo è generalmente seguito da alcuni problemi durante l’addestramento. L’algoritmo YOLOv7 prevede di utilizzare il concetto di “percorso di propagazione del gradiente” per analizzare le politiche di ri-parametrizzazione del modello applicabili a diversi strati nella rete.

Estensione e scaling composito

L’algoritmo YOLOv7 introduce anche i metodi di “estensione e scaling composito” per utilizzare ed utilizzare in modo efficace i parametri e i calcoli per il rilevamento degli oggetti in tempo reale.

Rilevamento degli oggetti in tempo reale

YOLO è attualmente lo standard del settore e la maggior parte dei rilevatori di oggetti in tempo reale utilizza algoritmi YOLO e FCOS (Fully Convolutional One-Stage Object-Detection). Un rilevatore di oggetti in tempo reale all’avanguardia di solito ha le seguenti caratteristiche:

  • Architettura di rete più forte e più veloce.
  • Un metodo di integrazione delle caratteristiche efficace.
  • Un metodo di rilevamento degli oggetti accurato.
  • Una funzione di perdita robusta.
  • Un metodo di assegnazione delle etichette efficiente.
  • Un metodo di addestramento efficiente.

L’algoritmo YOLOv7 non utilizza metodi di apprendimento auto-supervisionato e di distillazione che spesso richiedono grandi quantità di dati. Al contrario, l’algoritmo YOLOv7 utilizza un metodo addestrabile di bag-of-freebies.

Riparametrizzazione del modello

Le tecniche di riparametrizzazione del modello sono considerate una tecnica di insieme che combina più moduli computazionali in una fase di interferenza. La tecnica può essere ulteriormente divisa in due categorie, insieme a livello di modello e insieme a livello di modulo.

Ora, per ottenere il modello di interferenza finale, la tecnica di riparametrizzazione a livello di modello utilizza due pratiche. La prima pratica utilizza dati di addestramento diversi per addestrare numerosi modelli identici e poi fa la media dei pesi dei modelli addestrati. In alternativa, l’altra pratica fa la media dei pesi dei modelli durante diverse iterazioni.

La riparametrizzazione a livello di modulo sta guadagnando immensa popolarità di recente perché divide un modulo in diversi rami del modulo o rami identici diversi durante la fase di addestramento e poi procede ad integrare questi rami diversi in un modulo equivalente durante l’interferenza.

Tuttavia, le tecniche di riparametrizzazione non possono essere applicate a tutti i tipi di architetture. Questo è il motivo per cui l’algoritmo YOLOv7 utilizza nuove tecniche di riparametrizzazione del modello per progettare strategie correlate adatte a diverse architetture.

Scalatura del modello

La scalatura del modello è il processo di ridimensionamento di un modello esistente in modo che si adatti a diversi dispositivi di calcolo. La scalatura del modello utilizza generalmente una varietà di fattori come il numero di strati (profondità), la dimensione delle immagini di input (risoluzione), il numero di piramidi delle caratteristiche (stadio) e il numero di canali (larghezza). Questi fattori svolgono un ruolo cruciale nell’assicurare un giusto compromesso per i parametri di rete, la velocità di interferenza, il calcolo e l’accuratezza del modello.

Uno dei metodi di scalatura più comunemente utilizzati è NAS o Network Architecture Search che cerca automaticamente fattori di scalatura adatti dai motori di ricerca senza regole complicate. Lo svantaggio principale nell’utilizzo di NAS è che è un approccio costoso per cercare fattori di scalatura adatti.

Quasi tutti i modelli di riparametrizzazione del modello analizzano fattori di scalatura individuali e unici in modo indipendente e inoltre ottimizzano questi fattori in modo indipendente. Questo perché l’architettura NAS funziona con fattori di scalatura non correlati.

Vale la pena notare che i modelli basati sulla concatenazione come VoVNet o DenseNet cambiano la larghezza di input di alcuni strati quando la profondità dei modelli viene scalata. YOLOv7 utilizza un’architettura basata sulla concatenazione proposta e utilizza quindi un metodo di scalatura composito.

La figura sopra menzionata confronta le reti di aggregazione di livello efficiente estese (E-ELAN) di diversi modelli. Il metodo E-ELAN proposto mantiene il percorso di trasmissione del gradiente dell’architettura originale, ma mira ad aumentare la cardinalità delle caratteristiche aggiunte utilizzando la convoluzione di gruppo. Il processo può migliorare le caratteristiche apprese da diverse mappe e può rendere l’utilizzo di calcoli e parametri più efficiente.

Architettura YOLOv7

Il modello YOLOv7 utilizza i modelli YOLOv4, YOLO-R e Scaled YOLOv4 come base. YOLOv7 è il risultato degli esperimenti condotti su questi modelli per migliorare i risultati e rendere il modello più accurato.

Extended Efficient Layer Aggregation Network o E-ELAN

E-ELAN è il blocco di costruzione fondamentale del modello YOLOv7 ed è derivato da modelli già esistenti sull’efficienza di rete, principalmente l’ELAN.

Le principali considerazioni quando si progetta un’architettura efficiente sono il numero di parametri, la densità computazionale e la quantità di calcolo. Altri modelli considerano anche fattori come l’influenza del rapporto tra canali di input/output, i rami nella rete di architettura, la velocità di interferenza della rete, il numero di elementi nei tensori della rete convoluzionale e altro ancora.

Il modello CSPVoNet non considera solo i parametri sopra citati, ma analizza anche il percorso del gradiente per apprendere caratteristiche più diverse abilitando i pesi di diversi strati. L’approccio consente di effettuare interruzioni molto più veloci e precise e l’architettura ELAN mira a progettare una rete efficiente per controllare il percorso del gradiente più breve più lungo in modo che la rete possa essere più efficace nell’apprendimento e nella convergenza.

ELAN ha già raggiunto una fase stabile indipendentemente dal numero di blocchi computazionali impilati e dalla lunghezza del percorso del gradiente. Lo stato stabile potrebbe essere distrutto se i blocchi computazionali vengono impilati senza limiti e il tasso di utilizzo dei parametri diminuirà. La proposta architettura E-ELAN può risolvere il problema in quanto utilizza l’espansione, la mescolanza e la fusione della cardinalità per migliorare continuamente la capacità di apprendimento della rete mantenendo il percorso del gradiente originale.

Inoltre, confrontando l’architettura di E-ELAN con ELAN, l’unica differenza sta nel blocco computazionale, mentre l’architettura del livello di transizione rimane invariata.

E-ELAN propone di espandere la cardinalità dei blocchi computazionali e di espandere il canale utilizzando la convoluzione di gruppo. La mappa delle caratteristiche viene quindi calcolata e mescolata in gruppi in base al parametro di gruppo e poi concatenata insieme. Il numero di canali in ogni gruppo rimarrà lo stesso dell’architettura originale. Infine, i gruppi di mappe delle caratteristiche verranno aggiunti per eseguire la cardinalità.

Scalatura del modello per modelli basati su concatenazione

La scalatura del modello aiuta ad adattare le caratteristiche dei modelli che aiutano a generare modelli in base alle esigenze e di diverse dimensioni per soddisfare le diverse velocità di interferenza.

La figura parla della scalatura del modello per diversi modelli basati su concatenazione. Come si può vedere nella figura (a) e (b), la larghezza di output del blocco computazionale aumenta con l’aumento della scalatura della profondità dei modelli. Di conseguenza, la larghezza di input dei livelli di trasmissione aumenta. Se questi metodi vengono implementati su un’architettura basata su concatenazione, il processo di scalatura viene eseguito in profondità, come mostrato nella figura (c).

Si può quindi concludere che non è possibile analizzare i fattori di scalatura in modo indipendente per i modelli basati su concatenazione, ma devono essere considerati o analizzati insieme. Pertanto, per un modello basato su concatenazione, è opportuno utilizzare il metodo di scalatura del modello composto corrispondente. Inoltre, quando viene scalato il fattore di profondità, anche il canale di output del blocco deve essere scalato.

Borsa delle risorse addestrabili

Una borsa delle risorse addestrabili è un termine che gli sviluppatori usano per descrivere un insieme di metodi o tecniche che possono modificare la strategia o il costo di addestramento nel tentativo di aumentare l’accuratezza del modello. Quindi, cosa sono queste borse delle risorse addestrabili in YOLOv7? Diamo un’occhiata.

Convoluzione riparametrizzata pianificata

L’algoritmo YOLOv7 utilizza i percorsi di propagazione del flusso del gradiente per determinare come combinare idealmente una rete con la convoluzione riparametrizzata. Questo approccio di YOLOv7 è un tentativo di contrastare l’algoritmo RepConv che, sebbene abbia prestazioni serene sul modello VGG, ha prestazioni scadenti quando applicato direttamente ai modelli DenseNet e ResNet.

Per identificare le connessioni in un livello convoluzionale, l’algoritmo RepConv combina una convoluzione 3×3 e una convoluzione 1×1. Se analizziamo l’algoritmo, le sue prestazioni e l’architettura, osserveremo che RepConv distrugge la concatenazione in DenseNet e il residuo in ResNet.

L’immagine sopra rappresenta un modello riparametrizzato pianificato. Si può vedere che l’algoritmo YOLOv7 ha scoperto che un layer nella rete con connessioni di concatenazione o residuo non dovrebbe avere una connessione di identità nell’algoritmo RepConv. Di conseguenza, è accettabile sostituire RepConvN senza connessioni di identità.

Grezzo per ausiliario e fine per la perdita principale

La supervisione profonda è un ramo dell’informatica che spesso trova il suo utilizzo nel processo di addestramento di reti profonde. Il principio fondamentale della supervisione profonda è che aggiunge una testa ausiliaria aggiuntiva nei livelli intermedi della rete insieme ai pesi della rete superficiale con la sua perdita di assistenza come guida. L’algoritmo YOLOv7 si riferisce alla testa responsabile dell’output finale come testa principale e la testa ausiliaria è la testa che assiste nell’addestramento.

Proseguendo, YOLOv7 utilizza un metodo diverso per l’assegnazione delle etichette. Tradizionalmente, l’assegnazione delle etichette è stata utilizzata per generare le etichette facendo riferimento direttamente alla verità di terreno e sulla base di un dato insieme di regole. Tuttavia, negli ultimi anni, la distribuzione e la qualità dell’input di previsione svolgono un ruolo importante per generare un’etichetta affidabile. YOLOv7 genera un’etichetta morbida dell’oggetto utilizzando le previsioni del bounding box e la verità di terreno.

Inoltre, il nuovo metodo di assegnazione delle etichette dell’algoritmo YOLOv7 utilizza le previsioni del lead head per guidare sia il lead che il auxiliary head. Il metodo di assegnazione delle etichette ha due strategie proposte.

Guida all’assegnazione delle etichette del lead head

La strategia effettua calcoli sulla base dei risultati di previsione del lead head e della verità di terreno e utilizza quindi l’ottimizzazione per generare etichette morbide. Queste etichette morbide vengono quindi utilizzate come modello di addestramento sia per il lead head che per il auxiliary head.

La strategia si basa sull’assunzione che poiché il lead head ha una maggiore capacità di apprendimento, le etichette che genera dovrebbero essere più rappresentative e correlate tra la sorgente e il target.

Guida all’assegnazione delle etichette del lead head da grossolano a fine

Anche questa strategia effettua calcoli sulla base dei risultati di previsione del lead head e della verità di terreno e utilizza quindi l’ottimizzazione per generare etichette morbide. Tuttavia, c’è una differenza chiave. In questa strategia, ci sono due insiemi di etichette morbide, livello grossolano e etichetta fine.

Le etichette grosse vengono generate rilassando i vincoli del processo di assegnazione del campione positivo che tratta più griglie come target positivi. Questo viene fatto per evitare il rischio di perdere informazioni a causa della minore capacità di apprendimento del auxiliary head.

La figura sopra spiega l’uso di una borsa di oggetti liberi addestrabile nell’algoritmo YOLOv7. Rappresenta il livello grossolano per il auxiliary head e l’etichetta fine per il lead head. Quando confrontiamo un Modello con Auxiliary Head (b) con il Modello Normale (a), osserveremo che lo schema in (b) ha un auxiliary head, mentre non è presente in (a).

La figura (c) rappresenta l’assegnatore di etichette indipendente comune, mentre la figura (d) e la figura (e) rappresentano rispettivamente l’Assegnatore Guidato dal Lead e l’Assegnatore Guidato dal Lead da Grossolano a Fine utilizzati da YOLOv7.

Altre borse di oggetti liberi addestrabili

Oltre a quelle sopra menzionate, l’algoritmo YOLOv7 utilizza borse di oggetti liberi aggiuntive, sebbene non siano state proposte originariamente da loro. Sono

  • Normalizzazione batch nella tecnologia Conv-Bn-Activation: Questa strategia viene utilizzata per connettere direttamente uno strato convoluzionale allo strato di normalizzazione batch.
  • Conoscenza implicita in YOLOR: YOLOv7 combina la strategia con la mappa delle caratteristiche convoluzionali.
  • Modello EMA: Il modello EMA viene utilizzato come modello di riferimento finale in YOLOv7, anche se il suo utilizzo principale è quello di essere utilizzato nel metodo del mean teacher.

YOLOv7: Esperimenti

Configurazione sperimentale

L’algoritmo YOLOv7 utilizza il dataset Microsoft COCO per l’addestramento e la convalida del loro modello di rilevamento degli oggetti, e non tutti questi esperimenti utilizzano un modello pre-addestrato. Gli sviluppatori hanno utilizzato il dataset di addestramento 2017 per l’addestramento e il dataset di convalida 2017 per la selezione degli iperparametri. Infine, le prestazioni dei risultati di rilevamento degli oggetti YOLOv7 vengono confrontate con algoritmi all’avanguardia per il rilevamento degli oggetti.

Gli sviluppatori hanno progettato un modello di base per l’edge GPU (YOLOv7-tiny), la GPU normale (YOLOv7) e la GPU cloud (YOLOv7-W6). Inoltre, l’algoritmo YOLOv7 utilizza anche un modello di base per la scalatura del modello in base a diverse esigenze di servizio e ottiene modelli diversi. Per l’algoritmo YOLOv7, la scalatura dello stack viene effettuata sul neck e vengono utilizzati composti proposti per aumentare la profondità e la larghezza del modello.

Baselines

L’algoritmo YOLOv7 utilizza modelli YOLO precedenti e l’algoritmo di rilevamento degli oggetti YOLOR come punto di riferimento.

La figura sopra confronta il punto di riferimento del modello YOLOv7 con altri modelli di rilevamento degli oggetti e i risultati sono abbastanza evidenti. Rispetto all’algoritmo YOLOv4, YOLOv7 non solo utilizza il 75% in meno di parametri, ma richiede anche il 15% in meno di calcolo e ha un’accuratezza superiore dello 0,4%.

Confronto con i modelli di rilevamento degli oggetti all’avanguardia

La figura sopra mostra i risultati del confronto tra YOLOv7 e i modelli di rilevamento degli oggetti all’avanguardia per dispositivi mobili e GPU generali. Si può osservare che il metodo proposto dall’algoritmo YOLOv7 ha il miglior rapporto velocità-accuratezza.

Studio di ablazione: Metodo di ridimensionamento composito proposto

La figura sopra confronta i risultati dell’utilizzo di diverse strategie per il ridimensionamento del modello. La strategia di ridimensionamento nel modello YOLOv7 aumenta la profondità del blocco computazionale di 1,5 volte e la larghezza di 1,25 volte.

Rispetto a un modello che aumenta solo la profondità, il modello YOLOv7 ottiene prestazioni migliori dello 0,5% utilizzando meno parametri e potenza di calcolo. D’altra parte, rispetto ai modelli che aumentano solo la profondità, l’accuratezza di YOLOv7 migliora dello 0,2%, ma il numero di parametri deve essere aumentato del 2,9% e il calcolo del 1,2%.

Modello riparametrizzato proposto e pianificato

Per verificare la generalità del suo modello riparametrizzato proposto, l’algoritmo YOLOv7 lo utilizza per modelli basati su residui e concatenazione per la verifica. Per il processo di verifica, l’algoritmo YOLOv7 utilizza ELAN sovrapposto a 3 per il modello basato su concatenazione e CSPDarknet per il modello basato su residui.

Per il modello basato su concatenazione, l’algoritmo sostituisce i livelli convoluzionali 3×3 in ELAN sovrapposto a 3 con RepConv. La figura sotto mostra la configurazione dettagliata di Planned RepConv e ELAN sovrapposto a 3.

Inoltre, quando si tratta di modelli basati su residui, l’algoritmo YOLOv7 utilizza un blocco scuro invertito perché il blocco scuro originale non ha un blocco convoluzionale 3×3. La figura sotto mostra l’architettura di CSPDarknet invertito che inverte le posizioni dei livelli convoluzionali 3×3 e 1×1.

Proposta di perdita ausiliaria per la testa ausiliaria

Per la perdita ausiliaria per la testa ausiliaria, il modello YOLOv7 confronta l’assegnazione di etichette indipendenti per i metodi della testa ausiliaria e della testa principale.

La figura sopra contiene i risultati dello studio sulla testa ausiliaria proposta. Si può notare che le prestazioni complessive del modello aumentano con un aumento della perdita ausiliaria. Inoltre, l’assegnazione di etichette guidata dalla testa proposta dal modello YOLOv7 funziona meglio rispetto alle strategie di assegnazione indipendenti della testa principale.

Risultati di YOLOv7

Sulla base degli esperimenti precedenti, ecco il risultato delle prestazioni di YOLOv7 confrontate con altri algoritmi di rilevamento degli oggetti.

La figura sopra confronta il modello YOLOv7 con altri algoritmi di rilevamento degli oggetti, ed è possibile osservare chiaramente che il YOLOv7 supera gli altri modelli di rilevamento degli oggetti in termini di Precisione Media (AP) rispetto all’interferenza del batch.

Inoltre, la figura qui sotto confronta le prestazioni di YOLOv7 con altri algoritmi di rilevamento degli oggetti in tempo reale. Ancora una volta, YOLOv7 supera gli altri modelli in termini di prestazioni generali, precisione ed efficienza.

Ecco alcune osservazioni aggiuntive dai risultati e dalle prestazioni di YOLOv7.

  1. Il modello YOLOv7-Tiny è il più piccolo della famiglia YOLO, con oltre 6 milioni di parametri. Il YOLOv7-Tiny ha una Precisione Media del 35,2% e supera i modelli YOLOv4-Tiny con parametri comparabili.
  2. Il modello YOLOv7 ha oltre 37 milioni di parametri e supera modelli con parametri più elevati come YOLOv4.
  3. Il modello YOLOv7 ha il più alto mAP e il tasso di FPS nella gamma da 5 a 160 FPS.

Conclusioni

YOLO o You Only Look Once è il modello di rilevamento oggetti di ultima generazione nella moderna visione artificiale. L’algoritmo YOLO è noto per la sua elevata precisione ed efficienza, e quindi trova ampia applicazione nell’industria del rilevamento oggetti in tempo reale. Da quando è stato introdotto il primo algoritmo YOLO nel 2016, gli esperimenti hanno permesso agli sviluppatori di migliorare continuamente il modello.

Il modello YOLOv7 è l’ultima aggiunta nella famiglia YOLO ed è l’algoritmo YOLO più potente ad oggi. In questo articolo, abbiamo parlato dei fondamenti di YOLOv7 e cercato di spiegare cosa rende YOLOv7 così efficiente.