Hoe lokale achtergrondverwijdering werkt
Dit is de versie met het badkamerdiagram – genoeg om de pijpleiding te vertrouwen, geen papier.
1. Invoer wordt pixels
U levert een bestand of bitmap op (neerzetten, kiezen, plakken of pagina vastleggen). De editor decodeert het naar een afbeeldingsbitmap. Formaten zoals HEIC hebben een extra decodeerstap nodig; mislukking stopt vroegtijdig met een fout in plaats van een leeg canvas.
2. Modelgereedheid
Inference maakt gebruik van een segmentatiemodel op het apparaat (ISNet-klasse ONNX) dat wordt uitgevoerd met een Web Worker en een browser ONNX-runtime. Als de gewichten nog niet in de cache zijn opgeslagen, ziet u een downloadsplash. Caching voorkomt dat die treffer elke keer wordt herhaald.
3. Segmentatie → masker
De werknemer retourneert een alfamasker (wat is onderwerp versus achtergrond). De gebruikersinterface stelt het onderwerp samen op een dambord of op een achtergrond die u kiest (kleur, verloop, afbeelding).
4. Menselijke verfijning
Penselen toevoegen/wissen bewerk het werkmasker op het CPU-canvas. Zachtheid verandert hoe hard de slag landt. Export gebruikt het masker dat u ziet, en niet een vergeten automatische momentopname.
5. Geschiedenis en export
Een korte IndexedDB-geschiedenis kan recente originele/resultaatparen opslaan. Download en kopieer PNG met de huidige transparantie of vulling.
Prestatienotities die je zult opmerken
- Eerste run: netwerk + initiële kosten voor het model.
- Grote afbeeldingen: mogelijk verwerkt met een lagere interne resolutie met een waarschuwing; export is nog steeds gericht op volledige grootte.
- UI-thread blijft bruikbaar omdat er sprake is van zware gevolgtrekkingen in een worker. Als de worker crasht, krijg je een worker-fout en niet voor altijd een geblokkeerd tabblad.
De privacy-implicaties van ‘lokaal’ worden besproken op Privacy. Dagelijkse klikken: [Aan de slag](/nl/aan de slag/).