Użytkownik otwiera aplikację Taobao, wybiera zdjęcie modela i wrzuca sześć referencji: płaszcz, koszulkę pod spód, spodnie, buty, czapkę i torbę. Klika przycisk. Niecałe siedem sekund później pojawia się świeże zdjęcie - ta sama twarz, to samo tło, każdy element ubioru poprawnie ułożony, płaszcz rozpięty tak, że widać koszulkę pod spodem. Pomnóż to przez dziesiątki milionów requestów w oknie obsługowym, a dostajesz problem, który rozwiązuje Tstars-Tryon 1.0. To nie jest sterylny scenariusz VITON-HD, gdzie jedna koszulka jest doklejana do studyjnego modela. To virtual try-on (VTON) w skali e-commerce, na realnych zdjęciach, z warstwowymi outfitami i akcesoriami - i działa już dziś.

Motywacja

VTON jest popularnym tematem badawczym od 2017 r., a większość systemów akademickich traktuje go jako masked inpainting: bierze zdjęcie osoby, segmentuje obszar ubrania, a następnie warunkuje model generatywny na płaskim referencyjnym ubraniu, by wypełnił maskę. CatVTON, FitDiT, FastFit, Leffa - wszystkie żyją w tym paradygmacie i są ewaluowane na VITON-HD lub DressCode, czyli sterylnych datasetach studyjnych z jednym ubraniem naraz.

Wszystko się sypie, gdy wpuścisz tu prawdziwego użytkownika e-commerce:

  • Jego zdjęcia mają złożone tła, motion blur, częściową okluzję, czasem awatary anime albo postacie 3D.
  • Chce przymierzyć kilka rzeczy naraz - kurtkę plus koszulkę, plus buty, plus czapkę - z poprawnym warstwowaniem (“zostaw kurtkę rozpiętą, pokaż t-shirt”).
  • Wiarygodna maska z human parsing’u często jest po prostu nieosiągalna.

Z drugiej strony ogólne edytory obrazu (QwenEdit, FLUX.2, GPT-Image-1.5, Nano Banana Pro, Seedream5 lite) radzą sobie z elastycznością edycji, ale wykładają się inaczej: gubią identyfikację twarzy, pomijają referencje, halucynują kolory i - co najważniejsze - potrzebują około 200 sekund na obraz przy odpowiedniej jakości. Dla produktu C-end 200 sekund to po prostu non-starter.

Tstars-Tryon 1.0 mieści się w luce między tymi dwoma obozami. To komercyjny system wdrożony w funkcji “AI Try-On” w aplikacji Taobao, zbudowany na pojedynczym Multi-Modal Diffusion Transformerze (MMDiT) o 5 mld parametrów. Obsługuje do 6 referencji w 8 kategoriach modowych (góra, spodnie, spódnice, sukienki, płaszcze, buty, torby, czapki), działa w 3.92 s dla pojedynczego ubrania i 6.74 s dla wielu ubrań na H200, i bije zarówno specjalistów akademickich VTON, jak i frontierowe modele closed-source na wielowymiarowym benchmarku.

Kluczowy pomysł

Zapomnij o maskach. Zapomnij o modułach warpingu. Centralne przeformułowanie Tstars-Tryon brzmi tak:

Virtual try-on to nie inpainting. To wieloobrazowa edycja sterowana instrukcją.

Wyobraź sobie stylistę, który patrzy na zdjęcie klienta i niewielki stos referencji: płaszcz, koszulka, spodnie, buty. Stylista nie wycina i nie wkleja kawałków materiału. Mentalnie przebiera klienta od zera, zachowując twarz, pozę i tło, ale nakładając nowy outfit zgodnie z fizyką i regułami warstwowania. Odpowiednikiem w świecie diffusion transformerów jest prosta procedura: wrzuć wszystkie te obrazy plus instrukcję tekstową do jednego okna kontekstowego MMDiT i każ modelowi odszumić nowy obraz.

Konkretnie wejście modelu to sekwencja tokenów złożona z:

  • tokenów tekstowych (prompt, ewentualnie przepisany przez dedykowany prompt-rewriter),
  • tokenów obrazowych zdjęcia osoby,
  • tokenów obrazowych 1 do 6 referencji ubrań / akcesoriów.

Wszystkie te tokeny przechodzą przez wspólne bloki uwagi (joint attention). Nie ma masek inpaintingowych, osobnej sieci warping’owej, adapterów per kategoria. Warstwowanie, okluzja i miejsce akcesoriów uczone są implicit z danych.

To jest pozornie proste przeformułowanie - i dokładnie ono odblokowuje skalowanie do 8 kategorii, dowolnej liczby referencji i niesterylnego tła.

Architektura

Backbone to zunifikowany MMDiT z około 5 mld parametrów, w duchu rectified-flow transformerów ze Stable Diffusion 3 / FLUX. Trzy rzeczy są ważne, by go zrozumieć:

  1. Joint attention tekst-obraz. Obie modalności żyją w tych samych blokach uwagi; tokeny referencji ubrania mogą jednocześnie patrzeć na tokeny osoby i na (zaszumiony) latent docelowy.
  2. Zmienna liczba tokenów. Model przyjmuje dowolną liczbę referencji (1–6) bez zmian architektonicznych; data packing inspirowany NaViT (Patch n’ Pack) jest zaadaptowany do DiTów, żeby uniknąć marnowania compute’u przez bucketing o stałej rozdzielczości.
  3. Brak głowicy inpaintingowej. Wyjście to świeżo wygenerowany obraz, nie wklejka w obszar maski.

Generacja w stylu rectified-flow

Tstars-Tryon dziedziczy formułę rectified-flow. Trening polega na liniowej interpolacji między czystym latentem docelowym $x_0$ a szumem gaussowskim:

$$ z_t = (1-t),x_0 + t,\epsilon,\qquad \epsilon \sim \mathcal{N}(0,I),\quad t \in [0,1]. \tag{1} $$

gdzie:

  • $x_0$ - czysty docelowy obraz try-on (w przestrzeni latentów),
  • $\epsilon$ - próbka szumu gaussowskiego,
  • $t$ - czas przepływu / poziom szumu,
  • $z_t$ - zaszumiony latent na prostej między danymi a szumem.

Sieć uczy się pola prędkości $v_\theta(z_t, t, c) \approx x_0 - \epsilon$, gdzie warunkowanie $c$ pakuje wszystkie tokeny tekstowe i obrazowe. Interpretacja: model uczy się “pokazywać kierunek do domu” - mając zaszumiony latent i kontekst multimodalny, przewiduje wektor wskazujący na czysty obraz. Sampling robimy kilkoma krokami Eulera wzdłuż $v_\theta$.

To ten sam backbone, na który ekosystem open-source DiT się skonwergował; nowość Tstars-Tryon nie leży w tym równaniu, tylko w tym, co siedzi w $c$, oraz w tym, jak model jest post-trenowany.

Pipeline treningowy

Paper opisuje pięcioetapowy paradygmat treningu. Każdy etap ma uzasadnienie - żaden nie jest dekoracją.

Etap A - pretrening edycyjny

Zanim model zobaczy jakiekolwiek dane try-on, jest pretrenowany na dużej skali ogólnym datasecie edycji obrazu, zbalansowanym po taskach i treści. Sam data engine to nietrywialny pipeline:

  • Element decomposition - wycinanie ubrań, akcesoriów i osób ze zdjęć “in-the-wild”.
  • Retrieval-based recall - komponowanie par wieloelementowych przez wyszukiwanie pasujących elementów.
  • Profesjonalny captioning - generowanie precyzyjnych instrukcji edycji.
  • Filtrowanie wzbogacone wiedzą VLM-a - odsiewanie złych par.
  • Screening percepcyjny - końcowa bramka jakości.

Po co pretrenować na ogólnej edycji? Bo VTON jest specjalnym przypadkiem edycji. Najpierw model uczy się szerokiej umiejętności “wykonaj wieloobrazową instrukcję edycji”, potem specjalizuje się.

Etap B - progressive resolution

Po pretreningu rozdzielczość jest stopniowo zwiększana. Standardowy trick na stabilizację wysokorozdzielczej syntezy bez płacenia kosztu treningu w pełnej rozdzielczości od zera.

Etap C - SFT na danych wertykalnych

Teraz model jest fine-tunowany na starannie wybranych danych try-on, zbalansowanych po 8 kategoriach i po liczbie referencji. Komplet metryk monitoruje progres per kategoria, żeby zapobiec collapse’owi - np. nie chcesz, żeby jakość butów dryfowała w dół, gdy poprawiasz płaszcze.

Etap D - RL z wielowymiarową nagrodą (DiffusionNFT)

Tu Tstars-Tryon robi coś naprawdę nietrywialnego. Po SFT model jest post-trenowany reinforcement learning’iem z wielowymiarową nagrodą po czterech osiach istotnych produktowo:

  • Garment Fidelity (wierność ubraniu),
  • Identity Consistency (spójność tożsamości),
  • Background Preservation (zachowanie tła),
  • Physical & Structural Logic (logika fizyczna i strukturalna).

Dla każdego warunkowania polityka próbkuje $G$ trajektorii, ocenia ich końcowe obrazy, a następnie liczy group-relative advantage w stylu GRPO:

$$ A_i = \frac{R_i - \mathrm{mean}\bigl({R_j}{j=1}^{G}\bigr)}{\mathrm{std}\bigl({R_j}{j=1}^{G}\bigr)}. \tag{2} $$

gdzie:

  • $R_i$ - skalarna nagroda $i$-tej trajektorii (zagregowana po czterech wymiarach),
  • $G$ - rozmiar grupy,
  • $A_i$ - group-relative advantage ważący update polityki.

Interpretacja: wewnątrz grupy trajektorie powyżej średniej są wzmacniane, te poniżej - tłumione. Nie ma osobnej sieci wartości. Faktyczny update polityki realizowany jest przez DiffusionNFT (Zheng et al. 2025), online’ową metodę RL dla diffusion modeli operującą przez forward process - przy okazji daje też model, który dobrze próbkuje bez classifier-free guidance.

Czemu to ważne: sam SFT nie naprawia systematycznych failure mode’ów typu “model omija czapkę, gdy są jeszcze cztery inne referencje”. Sygnał nagrody nakierowany na garment fidelity zamyka tę pętlę.

Etap E - destylacja inferencji

5B DiT z pełnym CFG i wieloma krokami samplingu jest po prostu zbyt wolny dla produkcji. Tstars-Tryon kompresuje inferencję na dwie sposoby.

CFG distillation. Standardowy classifier-free guidance liczy

$$ v_{\text{cfg}}(z_t, c) = v_\theta(z_t, \emptyset) + w ,\bigl(v_\theta(z_t, c) - v_\theta(z_t, \emptyset)\bigr), \tag{3} $$

co wymaga dwóch forward passów na krok (warunkowy i bezwarunkowy). Studencki model prędkości $v_\phi$ uczy się dopasować $v_{\text{cfg}}$ w jednym przejściu:

$$ v_\phi(z_t, c) ;\approx; v_{\text{cfg}}(z_t, c). $$

Step distillation. Destylacja w stylu DMD (distribution matching distillation, Yin et al. 2024) kompresuje wiele kroków denoising’u do kilku, dopasowując rozkład wyjściowy studenta do rozkładu nauczyciela.

Łącznie CFG distillation + step distillation sprowadzają 5B DiT z “research-grade slow” do 3.92 s single-garment / 6.74 s multi-garment na H200. Open-source’owe edytory na porównywalnej jakości potrzebują ok. 200 s - przyspieszenie rzędu 25–50×.

Etap F - prompt rewriter

Dedykowany model przepisuje surowe prompty użytkownika na precyzyjne instrukcje edycji, które jasno mówią, która referencja idzie na którą część ciała i jakie są relacje warstwowe (“zostaw rozpięte, pokazując warstwę spodnią”). Ten krok nie jest kosmetyczny: zwykli użytkownicy nie piszą instrukcji w formacie, którego oczekuje DiT edycyjny.

Cała ścieżka inferencji wygląda tak:

prompt użytkownika + obrazy referencyjne
      |
      v
  prompt rewriter
      |
      v
  text encoder + tokenizer obrazu
      |
      v
  zunifikowany MMDiT (5B, po destylacji)
      |
      v
  wynikowy obraz try-on

Tstars-VTON Bench i ocena VLM

Praca wprowadza nowy benchmark, Tstars-VTON Bench, zaprojektowany tak, by faktycznie łapać to, co liczy się dla produkcyjnego systemu VTON.

WłaściwośćWartość
Pary próbek1780
Kategorie ubrań5
Kategorie akcesoriów3
Pod-style465
Warstwowych elementów na próbkę1–6
EwaluacjaVLM Likert 1–10 po 4 wymiarach

Cztery wymiary to Identity Consistency, Garment Fidelity, Background Preservation i Physical & Structural Logic.

Średnia geometryczna jako overall score

Czemu nie po prostu uśrednić cztery wymiary? Bo dla realnego produktu model 9.8 / 9.8 / 9.8 / 4.0 nie jest “prawie idealny” - jest popsuty na fizyce. Tstars-Tryon używa średniej geometrycznej:

$$ \text{Overall} = \left(\prod_{k=1}^{4} s_k\right)^{1/4}. \tag{4} $$

gdzie $s_k$ to wynik w wymiarze $k$ (Likert 1–10).

Interpretacja: równoważnie $\log \text{Overall} = \tfrac{1}{4}\sum_k \log s_k$. Każdy słaby element ciągnie cały wynik w dół - nie da się skompensować 4 dziesiątką. To wymusza “balanced excellence”, czyli dokładnie to, czego potrzebuje produkcyjny VTON.

Dwustopniowa ocena VLM-em

Ocena identyfikacji potrzebuje widzieć ubrania: zmiana sylwetki powinna być przypisana do grubego płaszcza, nie do dryfu tożsamości. Z drugiej strony ocena tła i fizyki jest rozpraszana przez kontekst ubrania. Benchmark dzieli wywołanie VLM-a:

  • Stage 1 - VLM widzi osobę + referencje + wynik, ocenia Identity Consistency i Garment Fidelity.
  • Stage 2 - VLM widzi tylko osobę + wynik, ocenia Background Preservation i Physical & Structural Logic.

Dwa niezależne wywołania API, mniejsze obciążenie kontekstowe.

Wyniki

Single-garment Tstars-VTON

ModelOverallID ConsistencyGarment FidelityBackgroundPhysics
Tstars-Tryon9.3729.8898.8339.8639.241
Seedream5 lite9.301-8.639-9.343
Nano Banana Pro9.229-8.598--
GPT-Image-1.58.892-8.563--
FireRed-Edit-1.18.863----
FLUX.2-klein-9B8.797----
FLUX.2-dev8.764----
QwenEdit-25118.121----
FastFit6.448----
CatVTON6.663----
Leffa6.048----
FitDiT5.152----

Tstars-Tryon zbiera prowadzenie w overall i pierwsze miejsce w trzech z czterech wymiarów, ustępując tylko w fizyce niewielką marżą do Seedream5 lite. Zauważ przepaść między editing-class modelami a akademickimi specjalistami VTON: ponad 3 punkty na 10-punktowej średniej geometrycznej.

Multi-garment Tstars-VTON

ModelOverallIDGarmentBackgroundPhysics
Tstars-Tryon9.1719.6198.9559.6208.883
Seedream5 lite8.9149.2728.6239.525-
Nano Banana8.540----
GPT-Image-1.58.391---9.070
FLUX.2-klein-9B8.161----
FLUX.2-dev7.775----
QwenEdit-25116.441----
FastFit6.039----
FireRed-Edit-1.14.822----

Multi-garment to miejsce, gdzie luka naprawdę widać. FireRed-Edit-1.1 i QwenEdit-2511 wykładają się mocno - wiele ubrań rozbija im identyfikację i warstwowanie - podczas gdy Tstars-Tryon ledwo schodzi z poziomu single-garment.

Akademickie benchmarki zero-shot

Tstars-Tryon nie był trenowany na VITON-HD ani DressCode, a mimo to ewaluuje konkurencyjnie albo najlepiej:

BenchmarkTstars-TryonFastFitFitDiTCatVTONLeffa
VITON-HD unpaired (FID / KID)8.485 / 0.5288.629 / 0.6659.979 / 1.47810.552 / 2.27210.446 / 2.640
DressCode unpaired (FID / KID)4.541 / 0.4584.397 / 0.5534.805 / 0.7125.872 / 1.60620.099 / 13.506

KID jest praktycznie połowiony albo lepiej względem każdego specjalistycznego baseline’u.

Latency

SettingTstars-Tryon (H200)QwenEdit-2511 / FLUX.2-dev
Single garment3.92 s~200 s
Multi-garment (5 refs avg)6.74 s~200 s

Przyspieszenie 25–50×, czyli różnica między demo badawczym a przyciskiem w aplikacji zakupowej.

Ewaluacja ludzka (GSB)

Ocena side-by-side robiona przez ludzi opowiada spójną historię. Przeciwko Nano Banana Pro Tstars-Tryon wygrywa 41.1%, remisuje 41.6%, przegrywa 17.3% - i win rate rośnie z liczbą ubrań: 33.6% przy jednym ubraniu do 54.8% przy pięciu. Przeciwko Seedream5 lite obrazek jest jeszcze czystszy: 54.4% wygranych vs 9.0% przegranych, win rate rośnie od 46.1% (1 ubranie) do 70.2% (5 ubrań).

Wzór trudno przegapić: im bardziej skomplikowany outfit, tym większa przewaga.

Wdrożenie produkcyjne

Tstars-Tryon to silnik napędzający AI Try-On w aplikacji Taobao, obsługujący miliony użytkowników i dziesiątki milionów requestów - według papera największe produkcyjne wdrożenie VTON do tej pory.

Dlaczego to działa

Kilka intuicji wyjaśniających, czemu ten stack ostatecznie dominuje zarówno specjalistów VTON, jak i frontierowe edytory.

  • Edycja > inpainting dla danych in-the-wild. Gdy przestajesz polegać na czystej masce z human parsing’u, powierzchnia awarii drastycznie się kurczy. Ekstremalne pozy, awatary anime, złożone tła stają się rozwiązywalne.
  • Joint attention wieloobrazowy uczy warstwowania za darmo. Token referencji płaszcza i token referencji koszulki mogą patrzeć na ten sam region ciała w zaszumionym targetie; model uczy się kojarzyć dyrektywy tekstowe typu “zostaw rozpięte” z konkretnymi wzorcami uwagi.
  • Wielowymiarowy RL celuje w faktyczne osie produktu. SFT na curated data poprawia średnią jakość, ale nie eliminuje pominięć. Nagroda jawnie karząca “brak czapki” zamyka pętlę.
  • Destylacja jest obowiązkowa, nie opcjonalna. 200 s na obraz to akademicko interesujące, ale komercyjnie nieistotne. Własność CFG-free DiffusionNFT plus DMD-style step distillation są tym, co czyni 5B model serwowalnym.

Ograniczenia

Uczciwa lista, w większości za samym paperem:

  • System zamknięty. Wagi, dane treningowe i prompt rewriter nie są udostępniane. Tylko benchmark Tstars-VTON jest planowany do release’u.
  • Skąpa formalna ekspozycja. Faktyczna reguła update’u RL, loss’y destylacji i konkrety MMDiT są opisane wysoko-poziomowo przez referencje do wcześniejszych prac (DiffusionNFT, DMD, MMDiT, NaViT), zamiast wypisane w pełni.
  • Latency baseline’ów closed-source przez API. Liczby ~200 s dla zamkniętych konkurentów oparte są na wywołaniach API i mogą zawierać overhead sieciowy - nie są ściśle porównywalne.
  • Zależność od VLM-judge’a. Nawet z dwustopniowym protokołem benchmark dziedziczy idiosynkrazje VLM-a i wrażliwość na konstrukcję promptu.
  • Saturacja średniej geometrycznej. Gdy wszystkie cztery wyniki są powyżej 9, nawet średnia geometryczna potrafi zatrzeć różnice.
  • Prywatność i wizerunek. Silna preserwacja tożsamości w produkcie konsumenckim rodzi pytania, których paper nie rozwija; benchmark używa anonimizacji twarzy, ale produkcja - nie.
  • Brak formalnej tabeli ablation. Wkład poszczególnych etapów (SFT vs RL vs distillation) jest opisany jakościowo. Trudno przypisać konkretne zyski jakościowe.

Podsumowanie

  • VTON jako wieloobrazowa edycja, nie masked inpainting, to właściwe przeformułowanie. Pojedynczy MMDiT z 1–6 referencjami i warunkowaniem tekstowym zastępuje maski, warpery i adaptery per kategoria.
  • Pięcioetapowy post-training - pretrening edycji → progressive resolution → SFT na danych wertykalnych → RL DiffusionNFT z wielowymiarową nagrodą → CFG + step distillation - jest tym, co czyni 5B DiT jednocześnie wysokiej jakości i serwowalnym w sekundach.
  • Tstars-VTON Bench ze średnią geometryczną i dwustopniowym protokołem VLM łapie zbalansowaną jakość znacznie lepiej niż FID/KID i średnia arytmetyczna.
  • Zarówno na Tstars-VTON, jak i na akademickich benchmarkach VITON-HD / DressCode system bije wyspecjalizowane baseline’y VTON, topowe edytory open-source i proprietarne modele closed-source - przy 25–50× niższej latencji.
  • System działa produkcyjnie w AI Try-On w Taobao w skali dziesiątek milionów requestów, co jest najsilniejszą walidacją, jaką paper VTON może mieć obecnie.

Big-picture message: pojedynczy, dobrze wytrenowany transformer edycyjny z właściwą historią post-treningu może równocześnie pobić wyspecjalizowany akademicki VTON i frontierowe modele edycyjne - a wąskim gardłem nie jest już architektura, tylko data engine’y, nagrody RL i destylacja inferencji.


Źródła i materiały: