Ce „vede” un model de decupaj pe dispozitiv
Un model de decupaj pe dispozitiv nu vede o persoană, un pantof, un animal sau un scaun în sens uman. Primește o reprezentare numerică a imaginii și estimează, pixel cu pixel, care zone aparțin probabil subiectului principal. Ieșirea utilă e o mască: o hartă în tonuri de gri care poate deveni canalul de transparență al rezultatului.
Această distincție explică atât viteza decupajelor automate, cât și limitele lor. Modelul poate folosi tipare vizuale învățate la antrenament, dar nu cunoaște intenția dvs. Un obiect clar lângă centru poate părea important; o muchie slabă de sticlă sau un fir de păr liber poate părea fundal.
De la fișierul imagine la intrarea modelului
Fișierul pe care îl alegeți mai întâi trebuie să fie decodat. O fotografie comprimată nu este transmisă direct în model ca un bloc de octeți de fișier. Browserul îl transformă în pixeli cu valori de lățime, înălțime și culoare.
Conducta de inferență pregătește apoi o intrare de dimensiunea modelului. În funcție de model și timpul de rulare, pregătirea poate include:
- redimensionarea imaginii decodate la dimensiunile pe care modelul le asteapta;
- aranjarea valorilor roșu, verde și albastru ca canale numerice;
- scalarea sau normalizarea acestor valori;
- împachetarea lor într-un tensor, formatul de matrice utilizat de timpul de execuție a inferenței.
Dimensiunile exacte și regulile de normalizare aparțin implementării modelului. Punctul practic important este că inferența funcționează de obicei dintr-o reprezentare pregătită, nu din fiecare pixel sursă la dimensiunea sa originală.
Easy Background Remover rulează acest pas de inferență în browser cu un model de segmentare pe dispozitiv. Este posibil ca fișierul model să fie descărcat înainte de prima decupare, dar calea de procesare a imaginii este proiectată să rămână locală odată ce modelul este gata. Descărcarea modelului este o cerere de activ; nu este același lucru cu încărcarea fotografiei selectate pentru procesare de la distanță.
Ieșirea este o mască asemănătoare cu încrederea
Pentru fiecare locație din ieșirea sa, modelul produce o valoare care poate fi interpretată ca mai asemănătoare subiectului sau mai mult ca fundal. Este util să imaginezi aceasta ca o imagine în tonuri de gri:
- alb înseamnă păstrarea acestei zone;
- negru înseamnă îndepărtarea acestei zone;
- gri înseamnă acoperire parțială sau incertitudine în apropierea unei margini.
Browserul convertește acea ieșire în masca alfa de lucru. Pixelii de culoare inițială pot fi apoi compuși pe o tablă de șah, o umplere solidă, un gradient sau o altă imagine. Un export transparent stochează masca ca alpha, mai degrabă decât să picteze tabla de șah în fișier.
Valorile soft contează. Dacă fiecare valoare a măștii ar fi forțată imediat la negru sau alb pur, părul, blana, fibrele țesăturii, mișcarea neclară și marginile defocalizate ar deveni nefiresc de dure. Alfa parțial poate păstra o tranziție mai lină. De asemenea, poate expune franjuri de culoare din vechiul fundal, motiv pentru care rezultatul merită încă o verificare vizuală.
Ce dovezi vizuale ajută modelul
Un model de segmentare poate baza mai mult de un indiciu simultan. Indiciile puternice includ adesea:
- contrast între subiect și fundal;
- limite continue în jurul unui obiect dominant;
- combinații familiare de formă, textură și poziție;
- indicii de profunzime, cum ar fi diferențele de focalizare;
- regiuni care aparțin vizual împreună.
Niciunul dintre aceste indicii nu este o garanție. O jachetă întunecată pe un perete întunecat oferă un contrast slab la limită. Un scaun cu spații înguste poate conține regiuni de fundal care seamănă cu obiectul. Un fundal cu model poate concura cu subiectul real pentru atenție.
Modelul face cea mai bună estimare din pixelii disponibili. Nu poate recupera detalii pe care imaginea nu le-a capturat niciodată.
Ce nu știe modelul
Modelul nu știe automat ce obiect ai vrut să păstrezi atunci când sunt prezenți mai mulți subiecți. Nu știe că un pahar transparent este important din punct de vedere comercial, că o umbră ar trebui să rămână pentru realism sau că o curea mică aparține unei pungi.
De asemenea, nu primește o versiune ascunsă de înaltă rezoluție a unei surse neclare. Blocurile de compresie, evidențierile tăiate, estomparea mișcării și detaliile foarte mici limitează dovezile disponibile. Mărirea zoom-ului de previzualizare mărește pixelii pe ecran; nu creează informații lipsă.
Acesta este motivul pentru care „AI a detectat-o” și „marginea este gata de publicat” sunt afirmații diferite. Detectarea începe editarea. Recenzia o termină.
De ce sunt dificile detaliile subțiri și transparente
Obiectele subțiri ocupă câțiva pixeli. Când o imagine este redimensionată pentru inferență, un fir de un pixel sau șuviță de păr poate fi mediată cu fundalul din jurul acesteia. Obiectele transparente sunt dificile din alt motiv: culoarea lor vizibilă este parțial vechiul fundal. Limita poate fi clară pentru o persoană care înțelege obiectul, în timp ce modelul de pixeli rămâne ambiguu.
Umbrele moi creează o ambiguitate intenționată. Marginea lor exterioară se estompează treptat și nu există o singură tăietură corectă în mod obiectiv. Păstrarea umbrei complete poate părea naturală pe un fundal similar, dar murdară pe o umplere nouă strălucitoare. Îndepărtarea acestuia poate face ca subiectul să pară că plutește.
Acestea sunt probleme de judecată la fel de mult ca și probleme de model.
Mască de model, mască de lucru și mască de export
Ajută la separarea a trei etape:
- Masca model: estimarea automată returnată prin inferență.
- Mască de lucru: masca afișată în editor după orice rafinare Adăugare sau ștergere.
- Export mask: masca de lucru aplicată atunci când rezultatul curent este descărcat sau copiat.
În Easy Background Remover, rafinarea pensulei editează masca de lucru. Exportul folosește rezultatul editat curent, în loc să revină în tăcere la masca automată neatinsă. Acest lucru permite modelului să gestioneze separarea largă în timp ce corectați detaliile care depind de intenție.
Previzualizarea afișată poate fi scalată pentru a se potrivi cu editorul. Acea dimensiune a afișajului nu este o măsură fiabilă a detaliilor interne ale măștii. Citiți Rezoluția măștii vs dimensiunea previzualizării pentru distincție.
Inferența locală are încă un pas de configurare
Rularea unui model pe dispozitiv necesită greutățile modelului și o durată de rulare a browserului compatibil. Greutățile sunt mult mai mari decât codul de interfață obișnuit, așa că încărcarea totul la fiecare lansare a editorului ar fi o risipă. O primă sesiune poate descărca și stoca în cache modelul; sesiunile obișnuite ulterioare îl pot reutiliza de obicei.
De ce prima rulare descarcă un model explică această limită fără a confunda o descărcare de material de model cu o încărcare de fotografie. Inferența grea fuge și de firul principal al interfeței; consultați Noțiunile de bază privind procesarea imaginilor Web Worker.
O modalitate practică de a judeca rezultatul
Nu inspectați doar centrul subiectului. Verificați masca unde dovezile sunt cele mai slabe:
- păr, blană, mustăți și fibre textile;
- ochelari, curele, fire și goluri înguste;
- margini cu contrast redus;
- material semitransparent;
- umbre de contact;
- colțuri în care poate rămâne culoarea veche de fundal.
Vizualizați rezultatul atât pe un fundal deschis, cât și pe un fundal întunecat, dacă destinația finală este necunoscută. Un halou palid poate dispărea pe alb și poate deveni evident pe negru. Apoi rafinați doar zonele care afectează utilizarea prevăzută.
Segmentarea automată este cea mai utilă atunci când este tratată ca o primă trecere puternică, nu o declarație de înțelegere perfectă. Pentru a încerca decuparea locală completă și fluxul de rafinare, consultați Începeți.