Co „widzi” lokalny model wycinania
Model nie widzi „produktu” ani „osoby” tak jak Ty — widzi wzorce pikseli i szacuje, które obszary prawdopodobnie należą do obiektu. Ostre granice kontrastu pomagają; niska rozdzielczość i rozmycie ruchu przeszkadzają.
Dlatego rozmazana miniaturka pada częściej niż ostre oryginalne zdjęcie, nawet przy tym samym obiekcie.
Z pliku obrazu do danych wejściowych modelu
Plik, który wybierzesz jako pierwszy, musi zostać zdekodowany. Skompresowane zdjęcie nie jest przekazywane bezpośrednio do modelu w postaci bloku bajtów pliku. Przeglądarka zamienia go na piksele z wartościami szerokości, wysokości i koloru.
Następnie potok wnioskowania przygotowuje dane wejściowe wielkości modelu. W zależności od modelu i czasu działania przygotowanie może obejmować:
- zmiana rozmiaru zdekodowanego obrazu do wymiarów oczekiwanych przez model;
- organizowanie wartości czerwonej, zielonej i niebieskiej jako kanałów numerycznych;
- skalowanie lub normalizowanie tych wartości;
- pakowanie ich do tensora, formatu tablicy używanego przez środowisko wykonawcze wnioskowania.
Dokładne wymiary i zasady normalizacji należą do implementacji modelu. Ważną praktyczną kwestią jest to, że wnioskowanie zwykle działa na podstawie przygotowanej reprezentacji, a nie każdego piksela źródłowego w jego oryginalnym rozmiarze.
Easy Background Remover uruchamia ten etap wnioskowania w przeglądarce z modelem segmentacji na urządzeniu. Być może trzeba będzie pobrać plik modelu przed pierwszym wycięciem, ale ścieżka przetwarzania obrazu ma pozostać lokalna, gdy model będzie gotowy. Pobranie modelu jest żądaniem zasobu; to nie to samo, co przesłanie wybranego zdjęcia w celu zdalnego wnioskowania.
Wynikiem jest maska przypominająca pewność siebie
Dla każdej lokalizacji w wynikach model generuje wartość, którą można zinterpretować jako bardziej związaną z obiektem lub tłem. Przydatne jest zobrazowanie tego jako obrazu w skali szarości:
- biały oznacza zachowanie tego obszaru;
- czarny oznacza usunięcie tego obszaru;
- kolor szary oznacza częściowe pokrycie lub niepewność w pobliżu krawędzi.
Przeglądarka konwertuje te dane wyjściowe na działającą maskę alfa. Oryginalne kolorowe piksele można następnie nałożyć na szachownicę, pełne wypełnienie, gradient lub inny obraz. Eksport przezroczysty przechowuje maskę jako alfa, zamiast malować szachownicę w pliku.
Wartości miękkie mają znaczenie. Gdyby każda wartość maski została natychmiast zmieniona na czystą czerń lub biel, włosy, futro, włókna tkanin, rozmycie ruchu i rozmyte krawędzie stałyby się nienaturalnie twarde. Częściowa alfa może zachować płynniejsze przejście. Potrafi także wyeksponować kolorowe frędzle ze starego tła, dlatego też efekt zasługuje na wizualną kontrolę.
Jakie dowody wizualne pomagają modelowi
Model segmentacji może opierać się na więcej niż jednej wskazówce jednocześnie. Mocne wskazówki często obejmują:
- kontrast między obiektem a tłem;
- ciągłe granice wokół obiektu dominującego;
- znane kombinacje kształtu, tekstury i położenia;
- wskaźniki głębi, takie jak różnice w ostrości;
- regiony, które wizualnie do siebie pasują.
Żadna z tych wskazówek nie stanowi gwarancji. Ciemna kurtka na tle ciemnej ściany zapewnia słaby kontrast graniczny. Krzesło z wąskimi szczelinami może zawierać obszary tła przypominające obiekt. Wzorzyste tło może konkurować z rzeczywistym obiektem o uwagę.
Model dokonuje najlepszego oszacowania na podstawie dostępnych pikseli. Nie jest w stanie odzyskać szczegółów, których obraz nigdy nie uchwycił.
Czego model nie wie
Model nie wie automatycznie, który przedmiot chciałeś zatrzymać, jeśli obecnych jest kilka obiektów. Nie wie, że przezroczysta szklanka jest ważna z komercyjnego punktu widzenia, że dla realizmu powinien pozostać cień, ani że mały pasek należy do torby.
Nie otrzymuje też ukrytej wersji rozmytego źródła w wysokiej rozdzielczości. Bloki kompresji, przycięte światła, rozmycie ruchu i bardzo małe szczegóły ograniczają dostępne dowody. Zwiększenie powiększenia podglądu powoduje powiększenie pikseli na ekranie; nie tworzy brakujących informacji.
Dlatego „sztuczna inteligencja to wykryła” i „krawędź jest gotowa do publikacji” to różne twierdzenia. Wykrycie rozpoczyna edycję. Recenzja kończy.
Dlaczego cienkie i przezroczyste detale są trudne
Cienkie obiekty zajmują kilka pikseli. Kiedy zmienia się rozmiar obrazu w celu wyciągnięcia wniosków, jednopikselowy drut lub pasmo włosów może zostać uśrednione z otaczającym go tłem. Obiekty przezroczyste są trudne z innego powodu: ich widoczny kolor to po części stare tło. Granica może być wyraźna dla osoby rozumiejącej obiekt, natomiast układ pikseli pozostaje niejednoznaczny.
Miękkie cienie tworzą celową dwuznaczność. Ich zewnętrzna krawędź stopniowo zanika i nie ma jednego obiektywnie prawidłowego odcięcia. Zachowanie pełnego cienia może wyglądać naturalnie na podobnym tle, ale brudno na jasnym, nowym wypełnieniu. Usunięcie go może sprawić, że obiekt będzie sprawiał wrażenie unoszącego się w powietrzu.
Są to w równym stopniu problemy z oceną, jak i problemy z modelem.
Maska modelu, maska robocza i maska eksportu
Pomaga oddzielić trzy etapy:
- Maska modelu: automatyczne oszacowanie zwracane na podstawie wnioskowania.
- Maska robocza: maska wyświetlana w edytorze po każdym udoskonaleniu Dodaj lub Usuń.
- Eksportuj maskę: maska robocza stosowana podczas pobierania lub kopiowania bieżącego wyniku.
W Easy Background Remover zagęszczenie pędzla edytuje maskę roboczą. Eksport wykorzystuje aktualnie edytowany wynik, zamiast po cichu wracać do nietkniętej maski automatycznej. Dzięki temu model może obsłużyć szeroką separację podczas poprawiania szczegółów zależnych od intencji.
Wyświetlany podgląd można skalować w celu dopasowania do edytora. Rozmiar wyświetlacza nie jest wiarygodną miarą szczegółów wewnętrznych maski. Aby poznać rozróżnienie, przeczytaj Rozdzielczość maski a rozmiar podglądu.
Wnioskowanie lokalne nadal wymaga etapu konfiguracji
Uruchomienie modelu na urządzeniu wymaga wag modelu i kompatybilnego środowiska uruchomieniowego przeglądarki. Wagi są znacznie większe niż zwykły kod interfejsu, więc ładowanie wszystkiego przy każdym uruchomieniu edytora byłoby marnotrawstwem. Pierwsza sesja może pobrać model i zapisać go w pamięci podręcznej; późniejsze zwykłe sesje zwykle mogą go ponownie wykorzystać.
Dlaczego najpierw pobierany jest model wyjaśnia tę granicę, nie myląc pobierania zasobów modelu z przesyłaniem zdjęć. Ciężkie wnioskowanie również ucieka od głównego wątku interfejsu; zobacz Podstawy przetwarzania obrazu w programie Web Worker.
Praktyczny sposób oceny wyniku
Nie sprawdzaj tylko środka obiektu. Sprawdź maskę tam, gdzie dowody są najsłabsze:
- włosy, futro, wąsy i włókna tkanin;
- okulary, paski, druty i wąskie szczeliny;
- krawędzie o niskim kontraście;
- materiał półprzezroczysty;
- cienie kontaktowe;
- narożniki, w których może pozostać stary kolor tła.
Jeśli ostateczny cel podróży jest nieznany, obejrzyj wynik zarówno na jasnym, jak i ciemnym tle. Blada aureola może zniknąć na białym tle i stać się widoczna na czarnym. Następnie dopracuj tylko te obszary, które mają wpływ na zamierzone zastosowanie.
Automatyczna segmentacja jest najbardziej przydatna, gdy jest traktowana jako mocny pierwszy krok, a nie stwierdzenie doskonałego zrozumienia. Aby wypróbować pełne lokalne wycinanie i udoskonalanie, zobacz Rozpocznij.