Automatyczne tagowanie, etykietowanie lub opisywanie obrazów to kluczowe zadanie w wielu zastosowaniach, szczególnie w przygotowywaniu zbiorów danych dla uczenia maszynowego. W tym miejscu z pomocą przychodzą modele do zamiany obrazu na tekst. Wśród wiodących modeli tego typu znajdują się CLIP, BLIP, WD 1.4 (znany również jako WD14 lub Waifu Diffusion 1.4 Tagger), SigLIP 2 i ChatGPT z funkcją Vision.
CLIP: Rewolucyjny skok
Model Contrastive Language–Image Pretraining (CLIP) od OpenAI zyskał szerokie uznanie za swoje rewolucyjne podejście do rozumienia i generowania opisów obrazów. CLIP wykorzystuje ogromne ilości danych tekstowych i obrazów z internetu, aby nauczyć się wielu pojęć wizualnych, dzięki czemu jest w stanie tworzyć opisowe zdania dla obrazów.
Jednak, według opinii użytkowników, zdania opisowe generowane przez CLIP mogą być czasami redundantne lub zbyt rozwlekłe. Częsta krytyka dotyczy tendencji modelu do powtarzania podobnych opisów dla tego samego obiektu lub nadmiernego podkreślania pewnych atrybutów, takich jak kolor obiektu.
BLIP: Prostota spotyka funkcjonalność
Model BLIP, choć generuje mniej szczegółowe opisy w porównaniu do CLIP, oferuje prostsze i bardziej bezpośrednie podejście do przetwarzania obrazu na tekst. Jak zauważył jeden z recenzentów, BLIP jest „fajny i w ogóle, ale dość podstawowy”. Prostota tego modelu może być zaletą w aplikacjach wymagających nieskomplikowanych, mniej rozwlekłych tagów lub opisów.
Niemniej jednak, niektórzy użytkownicy zauważyli, że wynik BLIP często nie ma głębi i szczegółowości oferowanej przez modele takie jak WD14. Chociaż może generować zadowalające rezultaty, BLIP może nie być najlepszym wyborem dla aplikacji, które wymagają szczegółowych, złożonych tagów.
Odkryłem, że WD14, mimo że jest zorientowany na anime, świetnie sprawdza się również w przypadku prawdziwych zdjęć ludzi. Zwykle łączę go z BLIP i w większości przypadków wychwytuje znacznie więcej szczegółów niż BLIP.
Toni Corvera w komentarzach na YouTube
Blip jest fajny i w ogóle, ale jest dość podstawowy.
Tagowanie WD 1.4 (WD14) jest o wiele lepsze – więcej szczegółów, soczystsze tagi.
OrphBean na GitHub
WD 1.4 (znany też jako WD14): Precyzja w detalach
Model WD 1.4 (znany również jako WD14 lub Waifu Diffusion 1.4 Tagger), początkowo zaprojektowany do obrazów anime, wykazał zaskakującą wszechstronność, dobrze radząc sobie nawet ze zdjęciami. Użytkownicy chwalą jego zaawansowane opcje konfiguracyjne i możliwości przetwarzania wsadowego, co czyni go solidnym narzędziem do tłumaczenia obrazu na tekst.
Tym, co wyróżnia WD14, jest jego zdolność do generowania szczegółowych, „soczystych” tagów, dostarczających bardziej dogłębnych opisów obrazów w porównaniu do jego odpowiedników. Chociaż model ten jest mniej skłonny do generowania fałszywych tagów, jego skupienie na anime może być ograniczeniem dla niektórych rodzajów obrazów.
P: Czy tagger WD14 jest lepszy niż BLIP lub deepdanbooru wbudowany w Automatic1111?
O: Rozszerzenie daje lepsze opcje konfiguracji i przetwarzania wsadowego, a ja uważam, że jest mniej skłonny do generowania całkowicie fałszywych tagów niż deepdanbooru.CLIP/BLIP są inne, ponieważ generują zdania opisowe, a nie listy tagów, ale te drugie są zazwyczaj bardziej zgodne z moimi potrzebami. A wbudowany interrogator CLIP jest skłonny do wypluwania rzeczy w stylu „zdjęcie (opis) i zdjęcie (nieco inny opis tego samego)” lub „(w większości kompletny opis) i różowe włosy i różowe włosy i różowe włosy i (powtarzaj wiele razy)”
Pomimo tego, że tagger WD14 został stworzony dla anime, całkiem dobrze radzi sobie ze zdjęciami.
MorganTheDual na Reddit
SigLIP 2: Potężny silnik do zamiany obrazu na tekst
Darmowy i otwarty model SigLIP 2 od Google, to nie tylko model wizyjno-językowy; to potężny silnik do przekształcania obrazów w zrozumiały tekst. Chociaż doskonale radzi sobie z zadaniami takimi jak wyszukiwanie obrazów na podstawie tekstu i klasyfikacja zero-shot, jego architektura i ulepszenia treningowe czynią go silnym konkurentem w generowaniu i rozumieniu tekstu na podstawie obrazów. Oto szczegółowe omówienie działania SigLIP 2 w tym kontekście:
Podstawa: Vision Transformer (ViT) i funkcja straty sigmoid
- Vision Transformer (ViT): W przeciwieństwie do konwolucyjnych sieci neuronowych (CNN), SigLIP 2 wykorzystuje architekturę Vision Transformer (ViT). ViT traktuje obraz jak sekwencję fragmentów, podobnie jak słowa są traktowane jako tokeny w przetwarzaniu języka naturalnego. Każdy fragment jest konwertowany na reprezentację wektorową (embedding). Pozwala to modelowi wykorzystać potężną architekturę Transformer, znaną z umiejętności wychwytywania zależności długiego zasięgu, do zrozumienia relacji między różnymi częściami obrazu.
- Funkcja straty sigmoid (nie kontrastowa): Kluczowym wyróżnikiem SigLIP (i SigLIP 2) jest zastosowanie sigmoidowej funkcji straty zamiast bardziej powszechnej straty kontrastowej (stosowanej w modelach takich jak CLIP). Uczenie kontrastowe wymaga porównywania obrazu z wieloma opcjami tekstowymi. Funkcja straty sigmoid, z drugiej strony, traktuje dopasowanie obraz-tekst jako problem klasyfikacji binarnej dla każdej pary obraz-tekst. Ta pozornie niewielka zmiana ma duży wpływ: pozwala na bardziej stabilne uczenie i lepszą wydajność, szczególnie przy większych rozmiarach partii. Skupia się na dopasowaniach poszczególnych par obraz-tekst.
Ulepszone uczenie do generowania tekstu
SigLIP 2 bierze podstawę SigLIP i dodaje kilka kluczowych ulepszeń, które bezpośrednio wpływają na jego możliwości zamiany obrazu na tekst:
- Pre-trening oparty na podpisywaniu obrazów: To jest ogromny krok. SigLIP 2 włącza podpisywanie obrazów jako część procesu pre-treningu. Oznacza to, że jest wyraźnie trenowany do generowania opisów tekstowych obrazów. Jest to przeciwieństwo modeli takich jak oryginalny CLIP, które były trenowane głównie na dopasowywaniu obraz-tekst, a nie generowaniu.
- Inspirowany uczeniem samo-nadzorowanym: SigLIP 2 wykorzystuje potężne techniki:
- Samo-destylacja: Model uczy się na podstawie swoich własnych przewidywań, udoskonalając swoje zrozumienie z czasem.
- Maskowane przewidywanie: Części wejścia (fragmenty obrazu lub tokeny tekstowe) są ukrywane, a model uczy się przewidywać brakujące elementy. To zmusza go do rozwinięcia głębszego zrozumienia obu modalności.
- Strata LocCa i dekoder: SigLIP 2 integruje stratę LocCa, która dodaje dekoder Transformer z uwagą krzyżową (cross-attention). Ten dekoder jest specjalnie trenowany na zadaniach takich jak podpisywanie obrazów, przewidywanie wyrażeń odniesienia (identyfikowanie regionów na podstawie tekstu) i uziemione podpisywanie. To wzmacnia precyzyjną lokalizację i szczegółową ekstrakcję cech.
Jak to wszystko działa razem (Obraz -> Tekst)
- Wejście obrazu: Obraz jest wprowadzany do enkodera ViT.
- Embedding fragmentów: Obraz jest dzielony na fragmenty, a każdy fragment jest przekształcany w wektor embeddingu.
- Kodowanie Transformer: Warstwy Transformer przetwarzają te embeddingi fragmentów, wychwytując relacje między różnymi częściami obrazu. Nauczone embeddingi pozycyjne dostarczają informacji o lokalizacji każdego fragmentu.
- Pooling uwagi: Mechanizm poolingu oparty na uwadze (głowica MAP) agreguje informacje z embeddingów fragmentów w jedną, kompleksową reprezentację obrazu.
- Dekoder tekstu (Kluczowy dla zamiany obrazu na tekst): Tutaj wchodzą w grę zdolności SigLIP 2 do podpisywania obrazów. Reprezentacja obrazu z enkodera jest wprowadzana do dekodera Transformer (dodany przez stratę LocCa). Dekoder wykorzystuje uwagę krzyżową, aby skupić się na istotnych częściach reprezentacji obrazu podczas generowania tekstu.
- Wyjście tekstu: Dekoder generuje sekwencję tokenów tekstowych, tworząc podpis lub opis obrazu.
Wielojęzyczna moc
SigLIP 2 nie ogranicza się do języka angielskiego. Jest trenowany na wielojęzycznym zbiorze danych (WebLI), co daje mu zdolność rozumienia i generowania tekstu w wielu językach, czyniąc go prawdziwie globalnym narzędziem do zamiany obrazu na tekst.
Podsumowując
Połączenie silnej architektury opartej na ViT, funkcji straty sigmoid i, co kluczowe, pre-treningu opartego na dekoderze z podpisywaniem obrazów i samo-destylacją, czyni z SigLIP 2 bardzo skuteczny model do zadań zamiany obrazu na tekst. Wykracza on poza proste dopasowywanie obraz-tekst, aby aktywnie generować tekst opisowy, otwierając możliwości dla zastosowań takich jak automatyczne podpisywanie obrazów, odpowiadanie na pytania wizualne i szczegółowa analiza obrazów.
Linki
ChatGPT z funkcją Vision
Jeśli potrzebujesz opisać niezbyt duży zbiór obrazów, możesz skorzystać z narzędzia Image Describer w ChatGPT. Nie nadaje się ono do dużych partii obrazów, ale jest idealne do mniejszych zestawów, ponieważ dostarcza absolutnie najlepszych opisów w języku naturalnym. Opisy z tego narzędzia są bardzo precyzyjne i szczegółowe. To nie tylko tagi, ale spójny i informatywny tekst, który uwzględnia również relacje między obiektami na obrazie.
Przykład:
Zestaw obrazów testowych:



Wynik narzędzia Image Describer dla tych 3 obrazów:
Przesłano trzy obrazy. Oto opis każdego z nich:
- Pierwszy obraz przedstawia uroczego, stylizowanego kreskówkowego kotka z dużymi, wyrazistymi oczami. Jest on przeważnie pomarańczowy z białymi akcentami na twarzy, klatce piersiowej i łapkach. Kotek trzyma długopis, który jest prawie tak duży jak on sam, i rysuje uśmiechniętą buźkę na jasnożółtej piłce. Styl graficzny jest bardzo dopracowany i ma rodzaj błyszczącego wykończenia. Tło sugeruje kapryśną scenerię z kolorowymi, abstrakcyjnymi kształtami i sugestią gwiaździstego nieba.
- Drugi obraz wydaje się być zrzutem ekranu z czatu lub sekcji komentarzy z platformy mediów społecznościowych. Różni użytkownicy zostawili komentarze, z których wiele zawiera śmiech lub rozbawienie, wskazane akronimami takimi jak „LMAO” i emoji. Nazwy użytkowników i zdjęcia profilowe są spikselowane dla zachowania prywatności, z różnorodnością kolorów wyświetlanych w pikselizacji.
- Trzeci obraz to bardzo szczegółowa i realistyczna ilustracja młodej kobiety z przyjaznym wyrazem twarzy. Ma długie czarne włosy, jasną cerę i nosi fioletową bluzę z kapturem. Kobieta ma również na sobie zestaw słuchawkowy, co sugeruje, że może być streamerem gier wideo lub zaangażowana w jakąś formę komunikacji online. Scenerią wydaje się być pokój oświetlony fioletową poświatą, prawdopodobnie z świateł LED, co wskazuje na konfigurację gamingową.
Każdy obraz ma bardzo odmienny kontekst i styl wizualny, od kapryśnej ilustracji po zrzut ekranu z interakcji cyfrowej, aż po bardziej realistyczny obraz cyfrowy.
Podsumowanie
Wybór między CLIP, BLIP, WD 1.4, SigLIP 2 i Image Describer zależy w dużej mierze od konkretnych potrzeb projektu. Jeśli precyzja i szczegółowość są najważniejsze, WD 1.4 oferuje przekonującą opcję dzięki zaawansowanej konfiguracji i szczegółowym możliwościom tagowania. W przypadku prostszych aplikacji, prostolinijne podejście BLIP może być bardziej odpowiednie. Natomiast CLIP zapewnia równowagę między szczegółowością a prostotą, choć z tendencją do rozwlekłości.
Image Describer zapewnia najlepsze wyniki, ale nie nadaje się do opisywania lub tagowania dużych zestawów obrazów.
Ponieważ modele te nadal ewoluują i ulepszają się, niosą obiecujący potencjał dla szerokiego spektrum zastosowań, od tworzenia treści po analizę danych. Pomimo różnic, modele CLIP, BLIP, WD 1.4, SigLIP 2 i GPT-Vision są dowodem na szybki postęp w technologii zamiany obrazu na tekst, z których każdy wnosi unikalne mocne strony do tej ekscytującej dziedziny.