Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

Letterboxing

Il letterboxing ridimensiona le immagini a una forma target preservando le proporzioni tramite padding, così gli oggetti non vengono distorti e l'intero campo visivo rimane visibile.

Il letterboxing è una tecnica di ridimensionamento delle immagini che ne preserva le proporzioni aggiungendo padding per raggiungere una dimensione target. Ridimensiona l'immagine in modo uniforme, quindi riempie lo spazio inutilizzato con pixel di bordo, mantenendo le proporzioni degli oggetti e l'intero campo visivo. Nella visione artificiale, prepara immagini di forme diverse per i modelli che accettano una forma di input comune.

Al di fuori dell'IA, il letterboxing indica anche la visualizzazione di film widescreen con bande orizzontali.

Come il letterboxing preserva la geometria delle immagini#

Le proporzioni sono il rapporto tra larghezza e altezza di un'immagine. Durante il preprocessing dei dati, il letterboxing seleziona il più piccolo di due fattori di scala: la larghezza target divisa per la larghezza originale e l'altezza target divisa per l'altezza originale. Entrambe le dimensioni usano quel fattore, così l'immagine ridimensionata rientra nell'area target. I pixel rimanenti diventano padding. L'operazione di ridimensionamento e padding di TensorFlow implementa questo approccio con bordi a valore zero.

Ad esempio, un'immagine da 1280 x 720 adattata a un'area target da 640 x 640 usa un fattore di scala pari a 0,5. Il contenuto diventa 640 x 360, lasciando 280 righe di padding: 140 sopra e 140 sotto quando l'immagine è centrata. Le immagini verticali ricevono bordi laterali. Un'immagine con letterboxing può quindi avere padding orizzontale o verticale; anche l'area target può essere rettangolare.

Ultralytics YOLO usa la trasformazione LetterBox per preservare la geometria degli input per il rilevamento, la segmentazione e la stima della posa, con padding grigio di valore 114 per impostazione predefinita. Per la predizione di rilevamento, segmentazione e posa con YOLO26, il padding a rettangolo minimo riduce i bordi a un multiplo compatibile dello stride quando le forme del batch e il backend di inferenza lo consentono.

Letterboxing, stretching e ritaglio a confronto#

Tre opzioni di ridimensionamento gestiscono in modo diverso le discrepanze tra le forme dell'immagine e dell'area target:

  • Il letterboxing preserva le proporzioni e l'intera immagine, destinando una parte dell'input al padding.
  • Lo stretching ridimensiona larghezza e altezza indipendentemente per riempire l'area target. I cerchi diventano ellissi quando i fattori di scala sono diversi.
  • Il ritaglio preserva le proporzioni se abbinato a un ridimensionamento uniforme, quindi rimuove il contenuto che si trova al di fuori dell'area selezionata. Gli oggetti vicini ai bordi dell'immagine possono essere tagliati.

Queste opzioni influiscono sul rilevamento degli oggetti, in cui forme e posizioni sono importanti, e sulla classificazione delle immagini, in cui il ritaglio modifica gli indizi visibili relativi a una classe.

Anche il padding occupa spazio nell'input. Nell'esempio da 1280 x 720, il contenuto dell'immagine occupa il 56,25% del quadrato e il padding il 43,75%. Il ridimensionamento verso il basso riduce i dettagli fini all'interno del contenuto; l'aggiunta di pixel di bordo non crea ulteriori dettagli sugli oggetti. Per le immagini ad alta risoluzione che contengono oggetti piccoli, l'inferenza a tasselli elabora regioni separate dell'immagine a una scala effettiva degli oggetti maggiore.

Un esempio di letterboxing in Python#

Installa Pillow con pip install pillow. La operazione ImageOps.pad ridimensiona e centra un'immagine su una tela con padding. Questo esempio usa la fotografia dell'autobus distribuita per i tutorial di visione artificiale.

from urllib.request import urlretrieve

from PIL import Image, ImageOps

urlretrieve("https://ultralytics.com/images/bus.jpg", "bus.jpg")
image = Image.open("bus.jpg")
image = image.convert("RGB")

# Preserve proportions and fill the unused area with gray.
letterboxed = ImageOps.pad(image, (640, 640), color=(114, 114, 114))
letterboxed.save("letterboxed_bus.png")
print(f"{image.size} -> {letterboxed.size}")

Le dimensioni dell'output sono (810, 1080) -> (640, 640), espresse come larghezza e altezza. L'immagine salvata contiene la fotografia completa ridimensionata a 480 x 640, con un bordo di 80 pixel su ciascun lato.

Mappatura di annotazioni e predizioni#

Il letterboxing trasforma sia il sistema di coordinate sia i pixel. Ogni coordinata del riquadro di delimitazione deve essere ridimensionata e traslata in base al padding a sinistra o in alto. La stessa geometria si applica ai punti chiave nella stima della posa e ai contorni degli oggetti nella segmentazione delle istanze. Lasciare invariate le annotazioni durante l'addestramento disallinea i target rispetto agli oggetti che descrivono.

Dopo l'inferenza, il ridimensionamento inverso delle coordinate annulla la trasformazione: sottrai l'offset del padding, quindi dividi per il fattore di ridimensionamento. Per un riquadro posizionato correttamente ma con padding non nullo, omettere quell'offset sposta il riquadro e riduce la sua intersezione sull'unione con la verità di riferimento. Nell'esempio dell'autobus, un punto alle coordinate con padding (320, 320) corrisponde alle coordinate originali (405, 540) dopo aver sottratto 80 da x e diviso entrambe le coordinate per 640 / 1080.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui 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 visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning