Pindutin ang isang button, at pagkalipas ng isang segundo, wala na ang background ng iyong larawan, napalitan ng malinis na checkerboard ng transparency. Pakiramdam ay parang mahika, pero walang mahika at, sa IMG.DIY, walang server na gumagawa ng trabaho. Narito ang totoong nangyayari sa pagitan ng pindot at ng cutout.
Ang tunay na trabaho: pagpapasya kung aling pixel ang "subject"

Ang pagtanggal ng background ay talagang isang problema sa pag-label. Para sa bawat pixel sa iyong imahe, kailangang sagutin ng software ang isang tanong: bahagi ba ito ng subject, o bahagi ng background? Gawin iyon sa lahat ng ito at mayroon kang mask, na isang itim-at-puting mapa kung saan ang puti ay nangangahulugang "panatilihin" at ang itim ay "burahin." Ilagay ang mask sa ibabaw ng orihinal, itapon ang mga itim na bahagi, at makukuha mo ang iyong cutout.
May pangalan ang gawaing ito sa computer vision: image segmentation. Partikular, ang background removal ay gumagamit ng salient object segmentation, na ang ibig sabihin ay sinusubukan ng model na hanapin ang isang bagay na sasabihin ng tao na "tungkol dito" ang larawan at ihiwalay ito sa lahat ng iba pa.
Paano natutunan ng model na makita ang subject

Hindi sinusunod ng model ang mga panuntunang nakasulat sa kamay tulad ng "kunin ang bagay na hugis-tao." Ito ay isang neural network na sinanay sa sampu-sampung libong imahe kung saan may tao nang gumuhit ng perpektong mask sa kamay. Sa panahon ng pagsasanay, humula ang network, ikinumpara sa sagot ng tao, at inayos ang sarili nang kaunti para maging mas hindi mali. Ulitin iyon nang milyun-milyong beses at natututunan ng network ang mga visual na pattern na naghihiwalay sa foreground na bagay mula sa kapaligiran nito: mga gilid, pagbabago ng texture, focus, contrast, ang paraan ng pag-upo ng subject malapit sa gitna.
Ang Background Remover sa IMG.DIY ay gumagamit ng mga model mula sa U²-Net na pamilya, isang kilalang arkitektura para dito mismo. Dalawang bersyon ang available:
- u2netp — isang maliit, mabilis na 4MB na model. Napakaganda para sa malinaw na subject at mabilisang trabaho.
- silueta — isang mas malaking 43MB na model na gumagawa ng mas malinis na mga gilid, mas mahusay para sa detalyadong cutout.
Pareho silang kumukuha ng iyong imahe, pinapadaan ito sa maraming layer ng natutunang filter, at nagbibigay ng keep-or-delete na mask.
Bakit tumatakbo ito sa iyong browser sa halip na sa server
Karamihan ng background remover ay ina-upload ang iyong larawan sa isang data center, pinapatakbo ang model sa kanilang hardware, at ipinapadalang pabalik ang resulta. Gumagana iyon, pero ibig sabihin niyon ay nakaupo ang iyong imahe, kahit sandali lang, sa kompyuter ng iba.
Iba ang ginagawa ng IMG.DIY. Ang parehong uri ng neural network ay tumatakbo sa loob ng iyong browser gamit ang dalawang web technology:
- WebAssembly (WASM) ang nagpapahintulot sa browser na magpatakbo ng compiled na code na halos native ang bilis, na siyang kailangan ng matematika ng model.
- ONNX Runtime ang engine na aktwal na nagpapatakbo ng sinanay na model sa kapaligirang iyon.
Nada-download ang model file nang isang beses, tapos lahat ng computation ay nangyayari sa sarili mong CPU (o GPU). Binabasa ang iyong larawan mula sa disk, ginagawang grid ng mga numero, itinutulak sa network, at binubuong muli bilang cutout, lahat nang walang kahit isang byte na umaalis sa iyong makina.
Ano ang ibig sabihin ng in-browser na pagproseso para sa iyo
Tatlong praktikal na resulta ang nagmumula sa disenyong ito.
Ang privacy ay istruktural, hindi pangako. Maraming site ang nagsasabing "hindi namin itinatago ang iyong mga imahe." Dito hindi kailanman ipinapadala ang imahe kahit saan, kaya walang itatago. Pinakamahalaga iyon para sa ID photo, dokumento, product prototype, o kahit anong ayaw mong ibigay sa server ng estranghero.
Gumagana ito offline. Dahil ang IMG.DIY ay isang PWA na may service worker, patuloy na gumagana ang mga tool nang walang koneksyon. May isang asterisk ang background removal: kailangang mag-download ang model sa unang pagkakataon (ang 4MB o 43MB na file sa itaas). Pagkatapos niyon, maaari kang magtanggal ng background sa eroplano, tren, o mahinang koneksyon sa hotel.
Walang pila at walang paghihintay sa upload. Hindi ka nakikipagkumpitensya sa ibang user para sa shared na server, at hindi ka kailanman naghihintay para mag-upload ng malaking larawan. Nakadepende ang bilis ng pagproseso sa sarili mong device, kaya hinahawakan ng makabagong laptop ang karamihan ng imahe sa loob ng ilang segundo.
Saan pa rin nahihirapan ang mga model
Ang pag-unawa sa mekanismo ay nagsasabi rin sa iyo kung saan ito nasisira. Ang pino, manipis na detalye tulad ng lumilipad na buhok o balahibo ay talagang mahirap, dahil ang isang hibla ay mas manipis kaysa sa kumpiyansa ng model at maaaring humula itong "background" sa gilid. Ang mababang-contrast na eksena (isang kulay-abong pusa sa kulay-abong sopa) ay nagbibigay sa network ng kaunting maihiwalay. At ang abalang background na kahawig ng subject sa kulay at texture ay maaaring makalito sa pag-label.
Para sa malinis na subject sa natatanging background, mahusay ang mga resulta. Para sa mga mahirap na kaso, mabilisang manual na pag-touch-up sa mga gilid ang tumatapos sa trabaho. Alinman doon, nangyayari ang buong proseso sa iyong device, sa isang browser tab, sa loob ng segundo, na may mahusay na Background Remover na gumagawa ng mabigat na trabaho.
