Ultralytics YOLO27:
Guide

Cos'è EfficientNet? Una rapida panoramica

Scopri l'architettura EfficientNet e la sua magia dello scaling composto! Esplora EfficientNet B0-B7 per ottenere un'efficienza di alto livello nella classificazione e segmentazione delle immagini.

ABAbirami Vina9 min read
Panoramica dell'architettura EfficientNet

Nel 2019, i ricercatori di Google AI hanno introdotto EfficientNet, un modello di computer vision all'avanguardia progettato per riconoscere oggetti e schemi nelle immagini. È stato progettato principalmente per la classificazione delle immagini, che consiste nell'assegnare un'immagine a una delle categorie predefinite. Tuttavia, oggi EfficientNet funge anche da backbone per attività più complesse, come il rilevamento degli oggetti, la segmentazione e il transfer learning.

Prima di EfficientNet, questi modelli di machine learning e di AI per la visione cercavano di migliorare la precisione aggiungendo più layer o aumentandone le dimensioni. I layer sono i passaggi di un modello di rete neurale (un tipo di modello di deep learning ispirato al cervello umano) che elaborano i dati per apprendere gli schemi e migliorare la precisione.

Queste modifiche creavano un compromesso, rendendo i modelli di AI tradizionali più grandi e lenti, mentre il miglioramento della precisione era spesso minimo rispetto al notevole aumento della potenza di calcolo necessaria.

EfficientNet ha adottato un approccio diverso. Ha aumentato insieme la profondità (il numero di layer), la larghezza (il numero di unità in ciascun layer) e la risoluzione delle immagini (il livello di dettaglio delle immagini in input) in modo equilibrato. Questo metodo, chiamato compound scaling, utilizza in modo affidabile tutta la potenza di elaborazione disponibile. Il risultato è un modello più piccolo e veloce, capace di offrire prestazioni migliori rispetto a modelli precedenti come ResNet o DenseNet.

Oggi, modelli di computer vision più recenti come Ultralytics YOLO11 offrono maggiore precisione, velocità ed efficienza. Nonostante ciò, EfficientNet resta una pietra miliare importante che ha influenzato la progettazione di molte architetture avanzate.

In questo articolo analizzeremo EfficientNet in cinque minuti, spiegando come funziona, cosa la rende unica e perché è ancora importante nella computer vision. Iniziamo!

Che cos'è EfficientNet?#

Prima della progettazione di EfficientNet, la maggior parte dei modelli di riconoscimento delle immagini migliorava la precisione modificando i propri layer o aumentando le dimensioni delle immagini in input per acquisire più dettagli. Sebbene queste strategie migliorassero i risultati, rendevano anche i modelli più pesanti e impegnativi. Ciò significava che servivano più memoria e hardware più potente.

Invece di modificare singoli layer, EfficientNet aumenta insieme la profondità, la larghezza e la risoluzione delle immagini usando un metodo chiamato compound scaling. Questo approccio consente al modello di crescere in modo efficiente senza sovraccaricare un singolo aspetto.

L'architettura di EfficientNet elabora le immagini attraverso una serie di blocchi, ciascuno composto da moduli più piccoli. Il numero di moduli in ogni blocco dipende dalle dimensioni del modello.

I blocchi costitutivi di EfficientNet

Fig. 1. I blocchi costitutivi di EfficientNet. (Fonte)

Le versioni più piccole usano meno moduli, mentre quelle più grandi ripetono i moduli più spesso. Questo design flessibile consente a EfficientNet di offrire elevata precisione ed efficienza in un'ampia gamma di applicazioni, dai dispositivi mobili ai sistemi su larga scala.

Come funziona il compound scaling#

Il metodo del compound scaling espande la profondità, la larghezza e la risoluzione delle immagini di un modello, mantenendole però in equilibrio. In questo modo è possibile utilizzare la potenza di calcolo in modo efficiente. La serie inizia con un modello di base più piccolo chiamato EfficientNet-B0, che funge da fondamento per tutte le altre versioni.

A partire da B0, i modelli aumentano di dimensioni fino alle varianti più grandi, denominate EfficientNet-B1 fino a EfficientNet-B7. A ogni passaggio, la rete acquisisce layer aggiuntivi, aumenta il numero di canali (unità utilizzate per l'elaborazione) ed elabora immagini in input a risoluzione più elevata. L'entità della crescita a ogni passaggio è determinata da un parametro chiamato coefficiente composto, che garantisce che profondità, larghezza e risoluzione aumentino in proporzioni fisse anziché indipendentemente.

Il compound scaling aumenta la larghezza, la profondità e la risoluzione delle immagini di un modello

Fig. 2. Il compound scaling aumenta la larghezza, la profondità e la risoluzione delle immagini di un modello. (Fonte)

Architettura di EfficientNet#

Ora esaminiamo l'architettura di EfficientNet.

Si basa su MobileNetV2, un modello leggero di computer vision ottimizzato per dispositivi mobili ed embedded. Al suo centro si trova il blocco Mobile Inverted Bottleneck Convolution (MBConv), un layer speciale che elabora i dati delle immagini come una convoluzione standard, ma con un numero inferiore di calcoli. Questo blocco rende il modello veloce e più efficiente in termini di memoria.

All'interno di ciascun blocco MBConv si trova un modulo squeeze-and-excitation (SE). Questo modulo regola l'intensità dei diversi canali della rete. Aumenta l'intensità dei canali essenziali e riduce quella degli altri. Il modulo aiuta la rete a concentrarsi sulle caratteristiche più importanti di un'immagine, ignorando il resto. Il modello EfficientNet utilizza anche una funzione di attivazione Swish (una funzione matematica che aiuta la rete ad apprendere gli schemi), che gli consente di individuare meglio gli schemi nelle immagini rispetto ai metodi precedenti.

Inoltre, utilizza DropConnect, con cui alcune connessioni all'interno della rete vengono disattivate casualmente durante l'addestramento. Questo metodo di regolarizzazione stocastica (una tecnica di randomizzazione che impedisce al modello di memorizzare i dati di addestramento invece di generalizzare) riduce l'overfitting costringendo la rete ad apprendere rappresentazioni delle caratteristiche più robuste (schemi più solidi e generali nei dati), che si trasferiscono meglio ai dati non osservati.

Architettura di EfficientNet-B0

Fig. 3. Architettura di EfficientNet-B0 (Fonte)

Una breve panoramica delle varianti del modello EfficientNet#

Ora che comprendiamo meglio come funzionano i modelli EfficientNet, analizziamo le diverse varianti del modello.

I modelli EfficientNet vanno da B0 a B7, a partire da B0 come modello di base che bilancia velocità e precisione. Ogni versione aumenta la profondità, la larghezza e la risoluzione delle immagini, migliorando la precisione. Tuttavia, richiedono anche una maggiore potenza di calcolo, dai modelli B1 e B2 fino ai modelli B6 e B7 ad alte prestazioni.

Sebbene i modelli EfficientNet-B3 ed EfficientNet-B4 rappresentino un equilibrio per le immagini più grandi, B5 viene spesso scelto per dataset complessi che richiedono precisione. Oltre a questi modelli, l'ultima versione, EfficientNet V2, può migliorare la velocità di addestramento, gestire meglio i dataset di piccole dimensioni ed è ottimizzata per l'hardware moderno.

Applicazioni di EfficientNet#

EfficientNet può produrre risultati accurati utilizzando meno memoria e potenza di elaborazione rispetto a molti altri modelli. Questo la rende utile in numerosi ambiti, dalla ricerca scientifica ai prodotti utilizzati quotidianamente.

Analisi delle immagini mediche#

Le immagini mediche, come le scansioni TC dei polmoni, contengono spesso dettagli sottili fondamentali per una diagnosi accurata. I modelli di AI possono aiutare ad analizzare queste immagini per individuare schemi che potrebbero essere difficili da rilevare per gli esseri umani. Un adattamento di EfficientNet a questo scopo è MONAI (Rete aperta per l'AI medica) EfficientNet, progettato specificamente per l'analisi delle immagini mediche.

Basandosi sull'architettura di EfficientNet, i ricercatori hanno sviluppato anche Lung-EffNet, un modello che classifica le scansioni TC dei polmoni per rilevare i tumori. Può classificare i tumori come benigni, maligni o normali, raggiungendo una precisione dichiarata superiore al 99% in contesti sperimentali.

Classificazione delle immagini dei tumori mediante Lung-EffNet

Fig. 4. Classificazione delle immagini dei tumori mediante Lung-EffNet. (Fonte)

Rilevamento degli oggetti in tempo reale#

Il rilevamento degli oggetti è il processo di individuazione degli oggetti in un'immagine e determinazione della loro posizione. È una componente fondamentale di applicazioni come i sistemi di sicurezza, le auto a guida autonoma e i droni.

EfficientNet è diventata importante in questo ambito perché offriva un modo molto efficiente per estrarre caratteristiche dalle immagini. Il suo metodo di aumento di profondità, larghezza e risoluzione ha dimostrato come i modelli potessero essere accurati senza risultare troppo pesanti o lenti. Per questo molti sistemi di rilevamento, come EfficientDet, usano EfficientNet come backbone.

I modelli più recenti, come Ultralytics YOLO11, condividono lo stesso obiettivo di combinare velocità e precisione. Questa tendenza verso modelli efficienti è stata fortemente influenzata dalle idee alla base di architetture come EfficientNet.

Vantaggi e svantaggi di EfficientNet#

Ecco alcuni vantaggi dell'utilizzo di EfficientNet nei progetti di computer vision:

  • Elevata precisione con meno parametri: EfficientNet può offrire una precisione simile o superiore rispetto a modelli precedenti come ResNet o DenseNet. Tuttavia, utilizza meno parametri, risultando più veloce da addestrare e più semplice da distribuire.
  • Famiglia di modelli scalabile: Con varianti da B0 a B7, puoi scegliere una versione adatta al tuo hardware e ai tuoi requisiti di precisione senza modificare la rete di base.
  • Adatta al transfer learning: EfficientNet può offrire prestazioni affidabili nel transfer learning, un processo di riaddestramento di un modello preaddestrato per un'attività personalizzata. Può fungere da backbone per diverse attività di computer vision. Ha inoltre mostrato ottimi risultati durante il fine-tuning. Ad esempio, ha raggiunto una precisione all'avanguardia su CIFAR-100, un dataset di classificazione delle immagini ampiamente utilizzato, con un numero di parametri significativamente inferiore rispetto ai modelli precedenti.

Sebbene l'utilizzo di EfficientNet offra molti vantaggi, ecco alcune limitazioni da tenere presenti:

  • Richiede più memoria: Versioni come EfficientNet-B6 ed EfficientNet-B7 richiedono molta memoria GPU.
  • Scaling ottimizzato per ImageNet: Le impostazioni di scaling sono state progettate per il dataset ImageNet, quindi le prestazioni possono diminuire su dataset molto diversi senza fine-tuning. Ciò è particolarmente vero per i dataset di piccole dimensioni, poiché l'architettura e lo scaling di EfficientNet sono stati progettati per un dataset ampio e diversificato come ImageNet, che fornisce dati sufficienti a giustificarne profondità e larghezza.
  • Più lenta su alcuni hardware: EfficientNet utilizza layer chiamati MBConv, progettati per l'efficienza sull'hardware moderno. Su GPU o CPU meno recenti, questi layer potrebbero funzionare più lentamente.

Punti chiave#

EfficientNet ha cambiato il modo in cui crescono i modelli di computer vision, mantenendo in equilibrio profondità, larghezza e risoluzione delle immagini. È ancora un modello importante e ha influenzato anche le architetture più recenti. In particolare, occupa un posto significativo nella storia della computer vision.

Unisciti alla nostra community e al nostro repository GitHub per approfondire il mondo dell'AI. Consulta le nostre pagine sulle soluzioni per saperne di più sull'AI nel settore sanitario e sulla computer vision nel settore automobilistico. Scopri le nostre opzioni di licenza e inizia oggi a creare soluzioni di computer vision!

Explore solutions

Visione artificiale per immagini aeree

Visione artificiale per immagini aeree

Traduci immagini di droni e aeree in informazioni in tempo reale per agricoltura, acquacoltura, monitoraggio ambientale, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la visione artificiale al monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e industrie geospaziali con soluzioni di computer vision.
Scopri di più

Proteggi ogni sito con i modelli Ultralytics YOLO. La visione artificiale alimenta il monitoraggio del perimetro, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Computer vision nella robotica

Computer vision nella robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica abilita la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Computer vision nella logistica

Computer vision nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Computer vision nel commercio al dettaglio

Computer vision nel commercio al dettaglio

Reinventa il commercio al dettaglio con i modelli Ultralytics YOLO. La Vision AI potenzia il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e analisi più intelligenti dei clienti.
Scopri di più
Computer vision nel settore sanitario

Computer vision nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La Vision AI nel settore sanitario abilita imaging medico più rapido, diagnosi più intelligenti e monitoraggio dei pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI supporta il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Computer vision in agricoltura

Computer vision in agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Abilita il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per raccolti più abbondanti e intelligenti.
Scopri di più
Visione artificiale per immagini aeree

Visione artificiale per immagini aeree

Traduci immagini di droni e aeree in informazioni in tempo reale per agricoltura, acquacoltura, monitoraggio ambientale, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la visione artificiale al monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e industrie geospaziali con soluzioni di computer vision.
Scopri di più

Proteggi ogni sito con i modelli Ultralytics YOLO. La visione artificiale alimenta il monitoraggio del perimetro, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Computer vision nella robotica

Computer vision nella robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica abilita la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Computer vision nella logistica

Computer vision nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Computer vision nel commercio al dettaglio

Computer vision nel commercio al dettaglio

Reinventa il commercio al dettaglio con i modelli Ultralytics YOLO. La Vision AI potenzia il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e analisi più intelligenti dei clienti.
Scopri di più
Computer vision nel settore sanitario

Computer vision nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La Vision AI nel settore sanitario abilita imaging medico più rapido, diagnosi più intelligenti e monitoraggio dei pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI supporta il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Computer vision in agricoltura

Computer vision in agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Abilita il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per raccolti più abbondanti e intelligenti.
Scopri di più
Visione artificiale per immagini aeree

Visione artificiale per immagini aeree

Traduci immagini di droni e aeree in informazioni in tempo reale per agricoltura, acquacoltura, monitoraggio ambientale, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la visione artificiale al monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e industrie geospaziali con soluzioni di computer vision.
Scopri di più

Proteggi ogni sito con i modelli Ultralytics YOLO. La visione artificiale alimenta il monitoraggio del perimetro, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Computer vision nella robotica

Computer vision nella robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica abilita la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Computer vision nella logistica

Computer vision nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Computer vision nel commercio al dettaglio

Computer vision nel commercio al dettaglio

Reinventa il commercio al dettaglio con i modelli Ultralytics YOLO. La Vision AI potenzia il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e analisi più intelligenti dei clienti.
Scopri di più
Computer vision nel settore sanitario

Computer vision nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La Vision AI nel settore sanitario abilita imaging medico più rapido, diagnosi più intelligenti e monitoraggio dei pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI supporta il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Computer vision in agricoltura

Computer vision in agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Abilita il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'AI!

Inizia il tuo percorso verso il futuro del machine learning