280 likes | 412 Views
Daniele Panozzo Ofir Weber Olga Sorkine. Robust Image Retargeting via Axis-Aligned Deformation. Mateusz Bujalski. O co chodzi?.
E N D
Daniele PanozzoOfir Weber Olga Sorkine Robust Image Retargeting via Axis-AlignedDeformation Mateusz Bujalski
O co chodzi? Szerokość zdjęcia powiększona dwukrotnie. Mapa „ważności” stworzona za pomocą filtra wykrywającego krawędzie, poprawiona kilkoma maźnięciami. Czas obliczeń: ok. 4ms Czas użytkownika: ok. 30s
O co chodzi? • Chcemy zmienić rozmiar zdjęcia • Bez zachowania aspect ratio • Bez obcinania fragmentów zdjęcia • I żeby było dość podobne do oryginalnego • Fajnie mieć: realtime
Sposoby • Większość metod okazuje się być jakąś modyfikacją poniższego schematu • Zdefiniuj funkcję, którą będziesz optymalizował a następnie zminimalizuj ją biorąc pod uwagę ograniczenia rozmiaru obrazu wyjściowego • Z reguły przekształcenia afiniczne + wagi (mapa ważności) + dodatki w celu wyeliminowania artefaktów (np. rozmywanie krawędzi) • Istnieje trochę innych, ale często wyspecjalizowanych metod – np. w przypadku tekstur, można „doklejać” pasujące łaty
Problem Liczba zmiennych w takich problemach optymalizacyjnych jest kwadratowa względem wymiarów obrazu - O(MxN) No i usuwanie „niepotrzebnych” nie zawsze działa.
Spostrzeżenie • Autorzy analizując działanie istniejących algorytmów zauważyli, że „niedawne” (w znaczeniu lepsze) algorytmy prawie zawsze używają deformacji, które są wyrównane do osi • Brak miejscowych obrotów ma sens, ponieważ, jeśli się miejscami takie obroty różnią to dostajemy dziwne obrazki
Wniosek Autorzy uznali, że skoro większość algorytmów nie korzysta z obrotów mimo, że sformułowanie problemu na to pozwala, to przestrzeń „deformacji wyrównanych do osi” jest tą właściwą dla tej operacji
Zalety • w większości przypadków miejscowe obroty są nieporządane – poprzedni obrazek, dodatkowo czasem obrócony obiekt może kawałkiem wypaść poza zdjęcie (jak na drugim zdjęciu) • Złożoność problemu optymalizacyjnego względem liczby zmiennych maleje do O(M+N)
Wady • Można sobie wyobrazić, że czasem (gdy np. tło jest jednolitego koloru) obrócenie kawałka zdjęcia mogłoby dać lepszy efekt, niż takie przekształcenia • Brak gwarancji, że linie proste nie wyrównane do osi pozostaną proste!
Algorytm • Wymiary obrazu: W-szerokość, H-wysokość • Nakładamy na obraz równomierną kratę N kolumn i M wierszy, każda komórka ma rozmiar: W/N – szerokość, H/M - wysokość • Programowanie kwadratowe
Minimalizujemy wersja ogólna (1) F(s) = sTs + sTb s = (srows,scols), srows/scols = wektor wysokości wierszy / szerokości kolumn (2) (3) (4) + … + (5) + … +
s jest niewiadomą Q i b możemy ustawić jakie chcemy, ale jeśli F(s) jest „dodatnio określona” to możemy użyć standardowych QP solverów Minimalizujemy wersja ogólna (1) F(s) = sTs + sTb s = (srows,scols), srows/scols = wektor wysokości wierszy / szerokości kolumn (2) (3) (4) + … + (5) + … +
Minimalizujemy wersja ogólna (1) F(s) = sTs + sTb s = (srows,scols), srows/scols = wektor wysokości wierszy / szerokości kolumn (2) Lh, Lw – minimalne rozmiary wierszy i kolumn (3) (4) + … + (5) + … +
Minimalizujemy wersja ogólna (1) F(s) = sTs + sTb s = (srows,scols), srows/scols = wektor wysokości wierszy / szerokości kolumn (2) (3) HL i WL – oczekiwane rozmiary obrazu wyjściowego (4) + … + (5) + … +
Minimalizujemy wersja ogólna Dodatkowa uwaga: Lh HL/M LwWL/N Inaczej brak rozwiązań (1) F(s) = sTs + sTb s = (srows,scols), srows/scols = wektor wysokości wierszy / szerokości kolumn (2) (3) (4) + … + (5) + … +
Przykładowe definicje F(s) • Autorzy proponują dwie „najczęściej spotykane” definicje energii • ASAP – na podstawie „mapy ważności” stara się, aby zaznaczone obszary były odwzorowane jak najbardziej podobnie (As Similar As Possible) – tylko translacje i równomierne („uniform”) skalowanie • ARAP – (As Rigid As Possible) – wszystko poza translacjami i rotacjami jest karane (w naszym przypadku zostają tylko translacje, bo rotacje nie są brane pod uwagę z założenia
ASAP – minimalizacja niejednorodnych skalowań W przestrzeni deformacji wyrównanych do osi przekształcenia podobieństwaograniczają się do kombinacji jednorodnych skalowań(takie same we wszystkich kierunkach) i translacji, ponieważ rotacje nie są brane pod uwagę z definicji
ASAP – przekształcenie do QP Ks – wektor zawierający energie dla wierszy Q = KTK, b = 0 => mamy formułę w postaci QP Q jest dodatnio określona
ARAP – wszystko poza translacjami jest karane • Wzorki są mało istotne • Te dwie energie zostały wybrane tylko dlatego, że pojawiają się często w innych pracach i zwykle dają niezłe rezultaty • Podobno nic nie stoi na przeszkodzie, żeby podobnie jak pierwszą zdefiniować inne • Można tworzyć z tych energii kombinacje liniowe i dalej jest dobrze
Regularyzacja Laplace’a dodatkowa energia, która karze za duże różnice w rozmiarach sąsiednich wierszy/kolumn – przydatne w ręcznie malowanych mapach ważności, które są z reguły mocno skoncentrowane
Rezultaty • Czas rzeczywisty dla zdjęć HD na laptopie sporo gorszym niż ten (używa 1 core CPU) • ASAP z reguły lepszy niż ARAP • Eksperymenty z automatycznym generowaniem „map ważności” – cała metoda jest niezależna od rodzaju mapy i można się bawić • Dobrze działa tryb pół automatyczny: najpierw metoda generuje nam mapę automatyczną, a potem ją troszkę poprawiamy zaznaczając naprawdę ważne fragmenty