Robocikowo>ROBOCIKOWO

LPIPS

2018AktywnyOpublikowano: 10 kwietnia 2018Aktualizacja: 17 lipca 2026Opublikowany
LPIPS (Learned Perceptual Image Patch Similarity) to metryka wizualnego podobienstwa obrazow oparta na aktywacjach glebokich sieci konwolucyjnych (AlexNet, VGG, SqueezeNet). Kalibrowana na ludzkich osadach percepcyjnych z datasetu BAPPS, korelacja z ludzka percepcja znacznie lepsza niz PSNR i SSIM. Standardowa metryka dla oceny jakosci GANow, modeli dyfuzyjnych, super-rozdzielczosci i przetwarzania obrazu.
Kluczowa innowacja
Odkrycie, ze aktywacje glebokich sieci konwolucyjnych (VGG, AlexNet, SqueezeNet) wytrenowanych na klasyfikacji ImageNet stanowia doskonala przestrzen cech dla percepcyjnego podobienstwa — znacznie lepsza niz jakiekolwiek recznie zaprojektowane metryki. Kluczowa jest emergentnosc tej wlasnosci: dziala dla wielu architektur i typow supervision (nawet self-supervised i unsupervised), co sugeruje ze percepcyjnie sensowna hierarchia cech to ogolna wlasnosc deep visual representations. Trening liniowych wag w na datasecie BAPPS z ludzkimi osadami dodatkowo kalibruje metryke.
Kategoria
Poziom abstrakcji
Building block
Poziom operacji
AplikacjaEwaluacja (runtime)TreningSystem
Zastosowania
Ewaluacja jakosci obrazow wygenerowanych przez GAN (StyleGAN, BigGAN, ProGAN)Ewaluacja modeli dyfuzyjnych (DDPM, Stable Diffusion, Imagen, DALL-E) razem z FIDMetryka super-rozdzielczosci (ESRGAN, Real-ESRGAN, SwinIR)Perceptual loss w treningu generatorow (image-to-image translation, style transfer, in-painting)Ewaluacja frame interpolation, video super-resolution i denoisinguOptymalizacja computational design (jak Phantom Twist UAV, Northwestern 2026) — minimalizacja LPIPS jako proxy wizualnej wykrywalnosciAdversarial attacks — generowanie perturbacji minimalnych percepcyjnie ale mylajacych klasyfikatorLossy compression — optymalizacja bitrate vs jakosc percepcyjna

Jak działa

1) Wybor sieci bazowej: VGG-16 (default, najlepsza jakosc), AlexNet (szybsza, mobilna), lub SqueezeNet (najlzejsza). 2) Wyjscia wybranych warstw konwolucyjnych sieci (zwykle 5 warstw dla VGG) sa ekstrahowane dla obu porownywanych obrazow. 3) Aktywacje sa unit-normalizowane per-kanal per-pozycja przestrzenna. 4) Obliczana jest kwadratowa roznica L2 aktywacji — element-wise. 5) Dla kazdej warstwy roznice sa mnozone przez wektor nauczonych wag w (per-kanal, trenowanych na BAPPS). 6) Roznice per-warstwa sa usredniane po pozycjach przestrzennych (spatial mean). 7) Suma po wszystkich warstwach daje koncowy LPIPS. Zakres wartosci: 0 (identyczne) do ~1 (bardzo rozne).

Rozwiązany problem

Klasyczne metryki jakosci obrazu jak PSNR i SSIM sa prostymi, plytkimi funkcjami zaprojektowanymi recznie dla klasycznych znieksztalcen (kompresja JPEG, szum gaussowski, rozmycie). Nie potrafia oddac ludzkiej percepcji podobienstwa dla nowoczesnych artefaktow (wyjscie GAN, super-rozdzielczosc, style transfer) — zdarza sie, ze dwa obrazy percepcyjnie identyczne dla czlowieka maja diametralnie rozne PSNR. Brakowalo obiektywnej, powtarzalnej metryki podobienstwa skalibrowanej na faktycznej ludzkiej percepcji, dzialajacej na szerokim spektrum znieksztalcen.

Komponenty

Backbone CNN (VGG-16 / AlexNet / SqueezeNet)Ekstrakcja hierarchicznych cech wizualnych z obrazow. VGG-16 (default) uzywany dla najwyzszej korelacji z ludzka percepcja; SqueezeNet dla wersji lekkiej.
Unit normalization aktywacjiPer-channel per-position normalizacja L2 aktywacji — usuwa wplyw absolutnej skali aktywacji, izoluje kierunkowa informacje.
Nauczone wagi liniowe (w)Wektor wag per-kanal per-warstwa optymalizowany na BAPPS. Kalibruje wklad kazdej cechy do koncowej metryki, dopasowujac ja do ludzkich osadow percepcyjnych.
Odleglosc L2 w przestrzeni cechKwadratowa roznica element-wise wazona przez w, usredniana po pozycjach przestrzennych, sumowana po warstwach — finalny skalar LPIPS.
BAPPS dataset (Berkeley-Adobe Perceptual Patch Similarity)Dataset z tryplet-osadami („ktory z tych dwoch patchy jest bardziej podobny do referencyjnego?") zbieranymi od ludzi. Uzywany do treningu wag w oraz walidacji metryki.

Implementacja

Pułapki implementacyjne
Wysoka
Rozwiązanie:LPIPS mierzy percepcyjne podobienstwo — nie zastepuje semantic metrics (FID, IS) dla generatywnego content. Zawsze raportowac razem z FID i innymi. Wysoki LPIPS moze byc spowodowany semantycznie roznym content nawet dla percepcyjnie realistycznych obrazow.
Wysoka
Rozwiązanie:LPIPS z VGG-16 daje inne liczby niz z AlexNet czy SqueezeNet — nie porownywac bezposrednio. Zawsze raportowac backbone w publikacjach („LPIPS-VGG", „LPIPS-Alex").
Średnia
Rozwiązanie:Backbone oczekuje inputu w zakresie [-1, 1] (ImageNet mean-std normalization). Podanie obrazow w [0, 1] lub [0, 255] daje wyniki bezuzyteczne. Wielu userow zapomina o preprocessingu.
Średnia
Rozwiązanie:Uzywajac LPIPS jako loss, model moze uczyc sie wykorzystywac idiosynkrazje backbone'u („VGG artifacts") zamiast generowac perceptualnie lepsze obrazy. Kombinowac z L1/L2, adversarial loss, i innymi termami. Regularizacja jest kluczowa.
Niska
Rozwiązanie:LPIPS-VGG jest ~1000x drozszy niz SSIM (forward pass calej CNN). Dla real-time (video processing) uzywac SqueezeNet-LPIPS lub cache'owac aktywacje referencyjnego obrazu.

Hiperparametry (konfigurowalne osie)

Wybor backbone (VGG-16 / AlexNet / SqueezeNet)Wysoka

VGG-16: najlepsza korelacja z ludzkim rankingiem, wolniejsza (~5-10x wolniej od SqueezeNet). AlexNet: kompromis. SqueezeNet: najlzejszy, do zastosowan mobilnych i real-time.

Wersja wag (linearly trained vs vanilla feature distance)Średnia

„Lin" — wagi w wytrenowane na BAPPS (rekomendowane). „Lin-tune" — dodatkowo dostrojone backbone. Wersja bez wag (surowe features) dziala ale slabiej.

Rozdzielczosc wejsciowaŚrednia

Standardowo 64x64 lub 224x224 (ImageNet default). Wyzsza rozdzielczosc zwieksza pamiec i czas O(n^2), ale nie zawsze poprawia korelacje z ludzka percepcja — wysokie warstwy CNN maja duze recepcyjne pola i tak.

Trening jako perceptual loss vs metryka read-onlyWysoka

Uzycie LPIPS jako loss term wymaga rozniczkowalnosci calego pipeline'u (gradienty przez CNN backbone). Uzycie tylko jako metryka ewaluacyjna moze byc no-grad (szybsze).

Kolor / grayscale wejsciaNiska

Backbone spodziewa sie 3 kanalow RGB. Dla grayscale wystarczy replikacja kanalu. Range wartosci [-1, 1] (input normalization ImageNet).

Paradygmat wykonania

Tryb główny
Gęsty

LPIPS aktywuje caly forward pass CNN dla obu obrazow — wszystkie warstwy, wszystkie kanaly, wszystkie pozycje przestrzenne. Bez skiplayerow ani sparse computation.

Wzorzec aktywacji
Wszystkie ścieżki aktywne

Równoległość

Poziom równoległości
W pełni równoległy

Obliczanie LPIPS jest w pelni rownoleglizowalne. Forward pass CNN dla batcha par obrazow — identyczny jak inferencja klasyfikacyjna. Redukcja przez warstwy niezalezna — kazda warstwa moze byc liczona niezaleznie. Skalowanie liniowe do rozmiaru batcha az do wypelnienia GPU.

Zakres
InferencjaPomiędzy urządzeniami

Wymagania sprzętowe

Podstawowe
Możliwe
Dobry fit