Klikasz przycisk i sekundę później tło Twojego zdjęcia znika, zastąpione czystą szachownicą przezroczystości. Wygląda to jak magia, ale magii nie ma, a w IMG.DIY nie ma też serwera wykonującego tę pracę. Oto co naprawdę dzieje się między kliknięciem a wycinkiem.

Prawdziwe zadanie: decyzja, które piksele są „obiektem"

Jak właściwie działa usuwanie tła przez AI? — visual 1
Prawdziwe zadanie: decyzja, które piksele są „obiektem"

Usuwanie tła to tak naprawdę problem etykietowania. Dla każdego pojedynczego piksela obrazu oprogramowanie musi odpowiedzieć na jedno pytanie: czy to część obiektu, czy część tła? Zrób to dla wszystkich, a masz maskę, czyli czarno-białą mapę, gdzie biel oznacza „zachować", a czerń „usunąć". Nałóż maskę na oryginał, wyrzuć czarne obszary i dostajesz swój wycinek.

To zadanie ma w widzeniu komputerowym swoją nazwę: segmentacja obrazu. Konkretnie usuwanie tła korzysta z segmentacji obiektu wyróżniającego się, co oznacza, że model próbuje znaleźć tę jedną rzecz, o której człowiek powiedziałby, że zdjęcie „jest", i oddzielić ją od całej reszty.

Jak model nauczył się widzieć obiekt

Jak właściwie działa usuwanie tła przez AI? — visual 2
Jak model nauczył się widzieć obiekt

Model nie kieruje się ręcznie napisanymi regułami w stylu „chwyć rzecz w kształcie osoby". To sieć neuronowa wytrenowana na dziesiątkach tysięcy obrazów, na których człowiek już wcześniej ręcznie narysował idealną maskę. Podczas treningu sieć zgadywała, porównywano ją z odpowiedzią człowieka i minimalnie się korygowała, by mylić się mniej. Powtórz to miliony razy, a sieć uczy się wzorców wizualnych oddzielających obiekt pierwszego planu od otoczenia: krawędzi, zmian faktury, ostrości, kontrastu, tego, że obiekt zwykle znajduje się blisko środka.

Narzędzie do usuwania tła w IMG.DIY korzysta z modeli z rodziny U²-Net, dobrze znanej architektury właśnie do tego. Dostępne są dwie wersje:

  • u2netp — mały, szybki model o rozmiarze 4MB. Świetny do wyraźnych obiektów i szybkiej pracy.
  • silueta — większy model 43MB, dający czystsze krawędzie, lepszy do szczegółowych wycinków.

Oba przyjmują Twój obraz, przepuszczają go przez wiele warstw wyuczonych filtrów i zwracają tę maskę „zachować lub usunąć".

Dlaczego działa w przeglądarce, a nie na serwerze

Większość narzędzi do usuwania tła przesyła Twoje zdjęcie do centrum danych, uruchamia model na swoim sprzęcie i odsyła wynik. To działa, ale oznacza, że Twój obraz spoczywa, choćby na chwilę, na czyimś komputerze.

IMG.DIY robi to inaczej. Ten sam rodzaj sieci neuronowej działa wewnątrz Twojej przeglądarki dzięki dwóm technologiom webowym:

  • WebAssembly (WASM) pozwala przeglądarce uruchamiać skompilowany kod o prędkości zbliżonej do natywnej, czego potrzebują obliczenia modelu.
  • ONNX Runtime to silnik, który faktycznie wykonuje wytrenowany model w tym środowisku.

Plik modelu pobiera się raz, a potem wszystkie obliczenia dzieją się na Twoim własnym procesorze (lub karcie graficznej). Twoje zdjęcie jest odczytywane z dysku, zamieniane na siatkę liczb, przepychane przez sieć i składane z powrotem jako wycinek — a wszystko bez opuszczenia Twojego urządzenia przez choćby jeden bajt.

Co przetwarzanie w przeglądarce oznacza dla Ciebie

Z tego projektu wynikają trzy praktyczne konsekwencje.

Prywatność jest wpisana w konstrukcję, nie jest obietnicą. Wiele stron mówi „nie przechowujemy Twoich obrazów". Tutaj obraz nigdy nie jest nigdzie wysyłany, więc nie ma czego przechowywać. Ma to największe znaczenie przy zdjęciach do dokumentów, dokumentach, prototypach produktów albo czymkolwiek, czego wolałbyś nie oddawać czyjemuś serwerowi.

Działa offline. Ponieważ IMG.DIY to PWA z service workerem, narzędzia działają dalej bez połączenia. Usuwanie tła ma jeden wyjątek: model musi się pobrać za pierwszym razem (plik 4MB lub 43MB powyżej). Potem możesz wycinać tła w samolocie, w pociągu albo na kiepskim hotelowym łączu.

Nie ma kolejki ani czekania na przesyłanie. Nie rywalizujesz z innymi użytkownikami o wspólny serwer i nigdy nie czekasz na przesłanie dużego zdjęcia. Szybkość zależy od Twojego własnego urządzenia, więc nowoczesny laptop radzi sobie z większością obrazów w kilka sekund.

Gdzie modele wciąż mają trudności

Zrozumienie mechanizmu podpowiada też, gdzie się załamuje. Drobny, delikatny detal jak rozwiane włosy albo futro jest naprawdę trudny, bo pojedyncze pasmo jest cieńsze niż pewność modelu i może on wzdłuż krawędzi zgadnąć „tło". Sceny o niskim kontraście (szary kot na szarej kanapie) dają sieci niewiele do rozdzielenia. A zatłoczone tło przypominające obiekt kolorem i fakturą może zmylić etykietowanie.

Dla wyraźnych obiektów na odrębnym tle wyniki są znakomite. W trudnych przypadkach szybka ręczna poprawka krawędzi kończy dzieło. Tak czy inaczej cały proces dzieje się na Twoim urządzeniu, w karcie przeglądarki, w kilka sekund, a dobre narzędzie do usuwania tła wykonuje najcięższą robotę.