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

Image Inpainting

L'inpainting delle immagini riempie le regioni mascherate, danneggiate o rimosse con contenuti plausibili, usando metodi classici, basati su patch, GAN o diffusione.

L'inpainting delle immagini consiste nel riempire una regione mascherata, per esempio un graffio, un oggetto rimosso o una porzione mancante, con contenuto che si integra con ciò che la circonda. Ogni metodo riceve due input, l'immagine e una maschera binaria che indica i pixel da sostituire, e lascia invariato tutto ciò che si trova al di fuori della maschera. Il termine deriva dal restauro artistico, in cui i restauratori ritoccano i dipinti danneggiati; Marcelo Bertalmío, Guillermo Sapiro, Vicent Caselles e Coloma Ballester lo hanno introdotto nella visione artificiale digitale a SIGGRAPH 2000 con un metodo che estende nell'area mancante linee di uguale luminosità a partire dal bordo della lacuna. I pixel sotto la maschera sono sconosciuti, quindi una regione ricostruita è sempre un'invenzione plausibile, mai il recupero di ciò che c'era.

Metodi classici, basati su patch e appresi#

I metodi classici propagano colore e bordi verso l'interno, partendo dal contorno della maschera. OpenCV include due metodi nel suo modulo di inpainting: il fast marching method del 2004 di Alexandru Telea (cv2.INPAINT_TELEA) e il metodo di Navier-Stokes del 2001 di Bertalmío, Andrea Bertozzi e Sapiro (cv2.INPAINT_NS). Funzionano bene su polvere, graffi e sovrapposizioni di testo sottili, ma sulle aree vuote grandi sfocano l'immagine fino a creare una macchia. Il frammento di codice qui sotto fornisce al metodo di Telea lo stesso numero di pixel mancanti due volte: una volta sotto forma di graffi sottili e una volta come un unico quadrato:

import cv2
import numpy as np
from skimage import data

image = cv2.cvtColor(data.astronaut(), cv2.COLOR_RGB2BGR)  # 512x512 sample photo

# Two masks with about the same pixel count: thin scratches and one solid block
scratches = np.zeros(image.shape[:2], np.uint8)
for y in range(40, 512, 40):
    cv2.line(scratches, (0, y), (511, y + 30), 255, thickness=2)
block = np.zeros_like(scratches)
side = int(np.sqrt(np.count_nonzero(scratches)))
block[200 : 200 + side, 200 : 200 + side] = 255

for name, mask in [("scratches", scratches), ("block", block)]:
    restored = cv2.inpaint(image, mask, 3, cv2.INPAINT_TELEA)
    # Mean error inside the mask, where every pixel was reconstructed
    error = np.abs(restored.astype(int) - image.astype(int))[mask > 0].mean()
    print(f"{name}: {np.count_nonzero(mask)} masked pixels, mean error {error:.1f} gray levels")

Stampa un errore medio di 9,1 livelli di grigio per 18.432 pixel di graffi e di 36,5 per un blocco di 18.225 pixel. Ogni pixel graffiato ha pixel adiacenti noti a uno o due pixel di distanza, mentre il centro del blocco è a 67 pixel dal pixel reale più vicino, quindi la stessa area mancante comporta un errore quattro volte maggiore.

I metodi basati su patch copiano texture da altre parti dell'immagine invece di sfumarle. L'algoritmo basato su esempi del 2004 di Antonio Criminisi, Patrick Pérez e Kentaro Toyama riempie un'area vuota una patch alla volta, partendo dai punti in cui vi entrano bordi marcati; la ricerca di patch più vicine PatchMatch, introdotta da Connelly Barnes e colleghi nel 2009, ha reso l'approccio abbastanza veloce per l'uso interattivo ed è alla base di Riempimento in base al contenuto di Photoshop. I metodi basati su patch eccellono con erba, mattoni e cielo, ma non funzionano quando il contenuto mancante non compare in nessun'altra parte dell'immagine.

I modelli appresi deducono il contenuto da ciò che hanno visto durante l'addestramento. I Context Encoders di Deepak Pathak e colleghi (CVPR 2016) hanno addestrato una rete neurale convoluzionale con una funzione di perdita avversaria, ripresa dalle reti generative avversarie, per completare una regione centrale mascherata. LaMa di Samsung AI (WACV 2022) usa convoluzioni veloci di Fourier, il cui campo recettivo copre l'intera immagine fin dal primo layer, e viene addestrato con grandi maschere casuali; per questo completa grandi aree vuote e strutture ripetitive come recinzioni e finestre. I modelli di diffusione riempiono un'area vuota denoisizzandola in base ai pixel visibili e, facoltativamente, a un prompt: i checkpoint di inpainting di Stable Diffusion forniscono alla U-Net cinque canali di input aggiuntivi per la maschera e la rappresentazione latente dell'immagine mascherata, mentre RePaint di Andreas Lugmayr e colleghi (CVPR 2022) usa un modello di diffusione non modificato, sostituendo a ogni passaggio la regione nota con una copia originale a cui è stato aggiunto rumore. Nel 2023 Generative Fill di Adobe ha portato l'inpainting guidato da prompt da testo a immagine in Photoshop.

Maschere e rimozione di oggetti#

La rimozione di oggetti consiste nella segmentazione delle immagini seguita dall'inpainting: una maschera seleziona l'oggetto e l'inpainting riempie l'area vuota che lascia. Le maschere tracciate troppo a ridosso di un oggetto lasciano un alone dei pixel del bordo, dell'ombra e del riflesso, quindi gli editor dilatano la maschera di alcuni pixel e la estendono sull'ombra. La segmentazione di istanze genera una maschera per ogni oggetto, ed è quindi la fonte abituale delle maschere per la rimozione; i modelli basati su prompt come SAM 2 di Meta trasformano un clic in una maschera per oggetti che non rientrano in alcun elenco di classi. I modelli di segmentazione YOLO26 restituiscono il contorno di ogni oggetto come poligono in result.masks.xy; cv2.drawContours lo rasterizza con cv2.FILLED in una maschera per l'inpainting, lo stesso passaggio usato dalla guida per isolare gli oggetti tramite segmentazione per ritagliare gli oggetti.

L'inpainting video aggiunge la dimensione temporale: il riempimento deve essere coerente tra i fotogrammi, altrimenti sfarfalla; perciò gli strumenti di editing video con IA propagano le maschere tramite il tracking e recuperano pixel dello sfondo rivelati nei fotogrammi adiacenti quando la videocamera si muove.

  • Outpainting: Usa gli stessi modelli per estendere un'immagine oltre i suoi bordi originali, usando come maschera la nuova area della tela.
  • Super-risoluzione: Aggiunge dettagli a tutta l'immagine aumentando la risoluzione, senza usare maschere.
  • Denoising: Rimuove il rumore distribuito su ogni pixel mantenendo la scena, anche in questo caso senza usare maschere.
  • Interpolazione dei fotogrammi: Sintetizza interi fotogrammi intermedi di un video a partire dai fotogrammi adiacenti.

Applicazioni e provenienza#

Il restauro fotografico maschera crepe, polvere e strappi nelle stampe digitalizzate; il restauro delle pellicole fa lo stesso fotogramma per fotogramma sui graffi delle riprese d'archivio. Il ritocco e la fotografia di prodotto rimuovono oggetti estranei, linee elettriche e imperfezioni. Nell'analisi di immagini satellitari, il riempimento delle lacune è un classico problema di inpainting: il correttore delle righe di scansione di Landsat 7 si è guastato il 31 maggio 2003, lasciando strisce a forma di cuneo che coprono circa il 22% di ogni scena acquisita in seguito.

L'inpainting appreso viene valutato su immagini tenute da parte, con maschere sintetiche, usando la distanza di Inception di Fréchet (FID) per misurare il realismo, poiché un buon riempimento può differire dai pixel originali ed essere comunque corretto. Questo stesso realismo rende l'inpainting uno strumento per i deepfake e la rimozione di filigrane; nelle immagini mediche, scientifiche o forensi, una struttura inventata può cambiare una diagnosi o un verdetto. Le Content Credentials registrano queste modifiche in metadati firmati e Adobe le associa alle immagini modificate con Generative Fill.

Explore solutions

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 da droni e riprese aeree in informazioni utili in tempo reale per l'agricoltura, l'acquacoltura, il monitoraggio ambientale, la conservazione e l'analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la vision AI nel monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e settori geospaziali con soluzioni di computer vision.
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ù
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 da droni e riprese aeree in informazioni utili in tempo reale per l'agricoltura, l'acquacoltura, il monitoraggio ambientale, la conservazione e l'analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale
Computer vision nel settore aerospaziale
Porta la vision AI nel monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e settori geospaziali con soluzioni di computer vision.
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ù
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 da droni e riprese aeree in informazioni utili in tempo reale per l'agricoltura, l'acquacoltura, il monitoraggio ambientale, la conservazione e l'analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale
Computer vision nel settore aerospaziale
Porta la vision AI nel monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e settori geospaziali con soluzioni di computer vision.
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