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).
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.
VGG-16: najlepsza korelacja z ludzkim rankingiem, wolniejsza (~5-10x wolniej od SqueezeNet). AlexNet: kompromis. SqueezeNet: najlzejszy, do zastosowan mobilnych i real-time.
„Lin" — wagi w wytrenowane na BAPPS (rekomendowane). „Lin-tune" — dodatkowo dostrojone backbone. Wersja bez wag (surowe features) dziala ale slabiej.
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.
Uzycie LPIPS jako loss term wymaga rozniczkowalnosci calego pipeline'u (gradienty przez CNN backbone). Uzycie tylko jako metryka ewaluacyjna moze byc no-grad (szybsze).
Backbone spodziewa sie 3 kanalow RGB. Dla grayscale wystarczy replikacja kanalu. Range wartosci [-1, 1] (input normalization ImageNet).
LPIPS aktywuje caly forward pass CNN dla obu obrazow — wszystkie warstwy, wszystkie kanaly, wszystkie pozycje przestrzenne. Bez skiplayerow ani sparse computation.
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.