Klik op een knop en een seconde later is de achtergrond van je foto weg, vervangen door een schoon dambordpatroon van transparantie. Het voelt als magie, maar er is geen magie en, op IMG.DIY, ook geen server die het werk doet. Dit is wat er werkelijk gebeurt tussen de klik en de uitsnede.

De echte taak: beslissen welke pixels "onderwerp" zijn

Hoe werkt AI-achtergrondverwijdering eigenlijk? — visual 1
De echte taak: beslissen welke pixels "onderwerp" zijn

Een achtergrond verwijderen is eigenlijk een labelprobleem. Voor elke afzonderlijke pixel in je afbeelding moet de software één vraag beantwoorden: is dit deel van het onderwerp, of deel van de achtergrond? Doe dat voor allemaal en je hebt een masker, oftewel een zwart-witte kaart waar wit "behouden" betekent en zwart "verwijderen." Leg het masker over het origineel, gooi de zwarte delen weg en je krijgt je uitsnede.

Deze taak heeft een naam in computervisie: beeldsegmentatie. Achtergrondverwijdering gebruikt specifiek salient object segmentation, wat betekent dat het model probeert het ene ding te vinden waarvan een mens zou zeggen dat de foto er "over gaat" en het te scheiden van al het andere.

Hoe het model leerde het onderwerp te zien

Hoe werkt AI-achtergrondverwijdering eigenlijk? — visual 2
Hoe het model leerde het onderwerp te zien

Het model volgt geen met de hand geschreven regels als "pak het mensvormige ding." Het is een neuraal netwerk dat is getraind op tienduizenden afbeeldingen waar een mens al met de hand het perfecte masker had getekend. Tijdens de training maakte het netwerk een gok, werd vergeleken met het antwoord van de mens, en stelde zichzelf een piepklein beetje bij om minder fout te zijn. Herhaal dat miljoenen keren en het netwerk leert de visuele patronen die een voorgrondobject van zijn omgeving scheiden: randen, textuurveranderingen, scherpte, contrast, de manier waarop een onderwerp meestal dicht bij het midden zit.

De Background Remover op IMG.DIY gebruikt modellen uit de U²-Net-familie, een bekende architectuur voor precies dit. Er zijn twee versies beschikbaar:

  • u2netp — een klein, snel model van 4MB. Prima voor duidelijke onderwerpen en snel werk.
  • silueta — een groter model van 43MB dat schonere randen produceert, beter voor gedetailleerde uitsnedes.

Beide nemen je afbeelding in, halen hem door vele lagen aangeleerde filters, en geven dat behouden-of-verwijderen-masker terug.

Waarom het in je browser draait in plaats van op een server

De meeste achtergrondverwijderaars uploaden je foto naar een datacenter, draaien het model op hun hardware en sturen het resultaat terug. Dat werkt, maar het betekent dat je afbeelding, hoe kort ook, op de computer van iemand anders staat.

IMG.DIY doet het anders. Hetzelfde soort neuraal netwerk draait in je browser met behulp van twee webtechnologieën:

  • WebAssembly (WASM) laat de browser gecompileerde code op bijna-native snelheid draaien, wat de wiskunde van het model nodig heeft.
  • ONNX Runtime is de engine die het getrainde model daadwerkelijk in die omgeving uitvoert.

Het modelbestand wordt één keer gedownload, daarna gebeurt alle berekening op je eigen CPU (of GPU). Je foto wordt van schijf gelezen, omgezet in een raster van getallen, door het netwerk geduwd en weer samengesteld als uitsnede — en dat allemaal zonder dat er ook maar één byte je machine verlaat.

Wat verwerking in de browser voor jou betekent

Drie praktische gevolgen vloeien uit dit ontwerp voort.

Privacy is structureel, geen belofte. Genoeg sites zeggen "we bewaren je afbeeldingen niet." Hier wordt de afbeelding nooit ergens naartoe gestuurd, dus er is niets om te bewaren. Dat is het belangrijkst bij pasfoto's, documenten, productprototypes of alles wat je liever niet aan de server van een vreemde geeft.

Het werkt offline. Omdat IMG.DIY een PWA met een service worker is, blijven de tools werken zonder verbinding. Achtergrondverwijdering heeft één sterretje: het model moet de eerste keer downloaden (het bestand van 4MB of 43MB hierboven). Daarna kun je achtergronden knippen in een vliegtuig, een trein of op een haperende hotelverbinding.

Er is geen wachtrij en geen uploadwachttijd. Je concurreert niet met andere gebruikers om een gedeelde server, en je wacht nooit tot een grote foto is geüpload. De verwerkingssnelheid hangt af van je eigen apparaat, dus een moderne laptop verwerkt de meeste afbeeldingen in een paar seconden.

Waar de modellen nog steeds moeite mee hebben

Het mechanisme begrijpen vertelt je ook waar het misgaat. Fijn, sliertig detail zoals loszittend haar of vacht is echt lastig, omdat een enkele haar dunner is dan het vertrouwen van het model en het langs de rand "achtergrond" kan gokken. Scènes met weinig contrast (een grijze kat op een grijze bank) geven het netwerk weinig om te scheiden. En een drukke achtergrond die qua kleur en textuur op het onderwerp lijkt, kan het labelen in de war brengen.

Voor schone onderwerpen op een duidelijke achtergrond zijn de resultaten uitstekend. Voor de moeilijke gevallen maakt een snelle handmatige bijwerking van de randen het af. Hoe dan ook gebeurt het hele proces op je apparaat, in een browsertabblad, in seconden, met een goede Background Remover die het zware werk doet.