Glossario

Convoluzione

Scopri come la convoluzione alimenta l'intelligenza artificiale nella computer vision, consentendo di svolgere con precisione attività come il rilevamento di oggetti, il riconoscimento di immagini e l'imaging medico.

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

La convoluzione è un'operazione matematica fondamentale ampiamente utilizzata nell'intelligenza artificiale, in particolare nel campo della computer vision (CV). Costituisce l'elemento centrale delle reti neurali convoluzionali (CNN), consentendo a queste reti di apprendere efficacemente modelli gerarchici da dati simili a griglie, come le immagini. Il processo prevede l'applicazione di un piccolo filtro, spesso chiamato kernel, su un segnale o un'immagine in ingresso per produrre un risultato noto come mappa di caratteristiche. Queste mappe di caratteristiche evidenziano modelli specifici come bordi, texture o forme rilevate dal kernel.

Come funziona la convoluzione

Immagina di far scorrere una piccola lente di ingrandimento (il kernel) su un'immagine più grande (l'input). In ogni posizione, la lente di ingrandimento si concentra su una piccola porzione dell'immagine. L'operazione di convoluzione calcola una somma ponderata dei valori dei pixel all'interno di quella zona, utilizzando i pesi definiti dal kernel. Questo singolo valore calcolato diventa un pixel nella mappa delle caratteristiche di uscita. Il kernel scorre sistematicamente sull'intera immagine di ingresso, passo dopo passo (definito da un parametro chiamato "stride"), creando una mappa di caratteristiche completa. Diversi kernel sono progettati per rilevare caratteristiche diverse; ad esempio, un kernel può rilevare i bordi orizzontali, mentre un altro rileva gli angoli. Utilizzando più kernel in un singolo strato, una CNN può estrarre una ricca serie di caratteristiche dall'input. Puoi trovare spiegazioni visive di questo processo in risorse come gli appunti del corso CS231n di Stanford sulle CNN.

Componenti chiave della convoluzione

  • Dati di ingresso: In genere un'immagine multicanale (ad esempio, canali RGB) o la mappa delle caratteristiche in uscita da un livello precedente.
  • Kernel (filtro): Una piccola matrice di pesi che definisce la caratteristica da rilevare. Questi pesi vengono appresi durante il processo di formazione del modello.
  • Mappa delle caratteristiche: L'output dell'operazione di convoluzione, che rappresenta la presenza e la posizione spaziale delle caratteristiche rilevate.
  • Stride: Il numero di pixel che il kernel sposta sull'input a ogni passo.
  • Padding: Aggiunta di pixel (solitamente zeri) intorno al bordo dell'immagine di input per controllare le dimensioni spaziali della mappa delle caratteristiche di output.

Applicazioni della convoluzione

Gli strati convoluzionali sono essenziali in molte applicazioni moderne di intelligenza artificiale:

1. Rilevamento degli oggetti

Nel rilevamento degli oggetti, le CNN utilizzano le convoluzioni per identificare gli oggetti e la loro posizione all'interno di un'immagine utilizzando i riquadri di delimitazione. Modelli come Ultralytics YOLO si basano molto sugli strati convoluzionali per estrarre le caratteristiche a diverse scale, consentendo il rilevamento di vari oggetti in modo efficiente. Questo è fondamentale per applicazioni come i veicoli autonomi, dove il rilevamento di pedoni, auto e segnali stradali in tempo reale è fondamentale per la sicurezza. Scopri di più sulle soluzioni di AI nel settore automobilistico.

2. Analisi delle immagini mediche

La convoluzione è fondamentale nell'analisi delle immagini mediche, per aiutare i radiologi ad analizzare scansioni come radiografie, TAC e risonanze magnetiche. I modelli di intelligenza artificiale che utilizzano le CNN sono in grado di rilevare anomalie sottili, come tumori o fratture, spesso in modo più rapido e talvolta più accurato dei soli esperti umani. Ad esempio, l'utilizzo di YOLOv11 per il rilevamento dei tumori dimostra questa capacità. Scopri di più sulle soluzioni di IA nel settore sanitario.

Convoluzione e concetti correlati

La convoluzione viene spesso utilizzata insieme ad altre operazioni e concetti all'interno delle reti neurali:

  • Pooling: Mentre la convoluzione estrae le caratteristiche, i livelli di pooling (come Max Pooling o Average Pooling) riducono le dimensioni spaziali (downsample) delle mappe di caratteristiche. Questo aiuta a ridurre il carico computazionale e rende la rappresentazione delle caratteristiche più robusta alle piccole variazioni spaziali. Il pooling riassume le caratteristiche in una regione, mentre la convoluzione le estrae. Maggiori dettagli sono disponibili nelle risorse che spiegano i livelli di pooling nelle CNN.
  • Estrazione di caratteristiche: Si tratta di un termine più ampio che si riferisce al processo di trasformazione dei dati grezzi in caratteristiche numeriche utilizzabili per l'apprendimento automatico. La convoluzione è una tecnica specifica ed estremamente efficace per l'estrazione automatica di caratteristiche da dati simili a griglie, in particolare nelle CNN.
  • Livelli completamente connessi: A differenza dei livelli convoluzionali che applicano i kernel localmente e condividono i pesi, i livelli completamente connessi collegano ogni neurone dello strato precedente a ogni neurone dello strato corrente. In genere compaiono verso la fine di un'architettura CNN per eseguire la classificazione o la regressione sulla base delle caratteristiche di alto livello estratte dagli strati convoluzionali e di pooling. Scopri di più sulle basi delle reti neurali (NN).

La comprensione della convoluzione è fondamentale per capire come molti modelli di AI all'avanguardia, compresi quelli disponibili attraverso Ultralytics HUB, interpretano le informazioni visive. Framework come PyTorch e TensorFlow forniscono implementazioni efficienti delle operazioni di convoluzione. Anche librerie come OpenCV utilizzano la convoluzione per le tradizionali operazioni di elaborazione delle immagini, come la sfocatura e la nitidezza.

Leggi tutto