LeanImg

Hoe verwijder ik gratis de achtergrond van een afbeelding zonder watermerk?

Wat het IS-Net model doet in je browser tabblad, waarom de uitsnede altijd een grotere PNG is en hoe je die PNG weer kleiner krijgt, met gemeten cijfers.

Elke gratis achtergrondverwijder doet dezelfde twee beloftes: geen watermerk en geen registratie. Bijna allemaal willen ze nog steeds je bestand. Het wordt naar een server gestuurd, een model draait daar en een bewaarbeleid belooft verwijdering binnen een uur of een dag. De onze werkt niet zo. De achtergrondverwijderaar laadt het IS-Net model in je browser tabblad en draait het op je eigen machine, zodat de afbeelding nooit het lichaam van een HTTP-verzoek wordt.

Wat terugkomt is altijd een PNG met een alpha-kanaal, en het is meestal groter dan het bestand dat je hebt ingediend. Dat verrast mensen. Transparantie heeft een prijs en PNG is het enige breed ondersteunde formaat dat het kan dragen.

Verlaat de afbeelding mijn computer?

Nee. Er is geen API-route in deze codebase en geen serveractie, dus er is geen eindpunt dat je afbeelding zelfs per ongeluk zou kunnen ontvangen. Het enige netwerkverkeer dat de tool maakt, is een fetch met dezelfde oorsprong voor de modelgewichten, die onder /ml-assets op ons eigen domein zitten, en je downloadt die alleen één keer. Daarna heeft je browser ze in de cache. Je bestand wordt gelezen met createImageBitmap, aan het model gegeven als pixels en weer teruggeschreven als een Blob die in het tabblad blijft totdat je het downloadt of sluit. Er is niets om later voor verwijdering in de wachtrij te zetten omdat er niets ergens aankomt. De privacy pagina is kort om die reden.

Wat doet het IS-Net model eigenlijk?

IS-Net is een netwerk voor segmentatie van opvallende objecten van het DIS-onderzoek. Het leest het hele frame en voorspelt, per pixel, hoe waarschijnlijk het is dat die pixel tot dat ene ding behoort waar de afbeelding over gaat. Die voorspelling wordt het alpha-kanaal van de output PNG. Het weet niet wat een persoon is, of een fles shampoo. Het weet wat opvallend is. Daarom snijdt een enkel onderwerp op een effen vloer schoon uit, terwijl een groep mensen op een drukke straat dat vaak niet doet.

De runtime is ONNX Runtime Web en de engine vraagt om het WebGPU-apparaat. Waar WebGPU ontbreekt, valt de bibliotheek automatisch terug op de CPU en het zal nog steeds eindigen, maar langzamer. Bestanden worden één voor één uitgevoerd. Laat er tien vallen en je wacht door tien inferentiepasses, dus een batch van vakantiefoto's is een koffiepauze.

Waarom is de uitsnede PNG groter dan de JPG die ik heb ingediend?

JPEG draagt geen alpha-kanaal in welke modus dan ook, dus een uitsnede kan geen JPEG blijven. De output moet PNG zijn, wat verliesloos is. Twee dingen gebeuren tegelijkertijd. De gedecodeerde pixels worden exact opgeslagen, compressie-artifacten en al, en elke pixel krijgt een alpha-byte die het nooit eerder had. Verliesloze opslag van fotografische details is duur. Ter vergelijking, texture.jpg in onze testset is 3840x2160 en weegt 538,6 KB, terwijl alpha.png 900x606 is met transparantie en 942,4 KB weegt. Dat is ongeveer 1,75x de bytes bij ongeveer een vijftiende van het aantal pixels. Niemand heeft iets aan je afbeelding toegevoegd. Je betaalt nu gewoon PNG-prijzen.

Hoe maak ik de uitsnede PNG kleiner?

Stuur het naar de afbeeldingscompressor en kies een van de twee PNG-modi. Beide houden het alpha-kanaal. "PNG zonder compressie" draait oxipng op niveau 3, wat verliesloos is: dezelfde pixels, minder bytes. "PNG kleinere bestandsgrootte" draait imagequant, wat de afbeelding reduceert tot een palet. Hier is wat elk van hen deed met alpha.png, de 900x606 transparante PNG hierboven.

Beide PNG-modi in onze compressor, gemeten op hetzelfde transparante 900x606 bestand.
ModusWat het doetResultaatVerandering
Bronbestand900x606 PNG met een echt alpha-kanaal942,4 KBbasislijn
PNG zonder compressieoxipng niveau 3, volledig verliesloos383,9 KB-59%
PNG kleinere bestandsgrootteimagequant, paletreductie98,3 KB-90%
Compressor resultaatkaart die een transparante PNG toont die van 942,4 KB naar 98,3 KB gaat in paletmodus
Paletmodus op een transparante PNG: 942,4 KB verlaagd naar 98,3 KB, alpha intact.

De paletroute eet eerst de gradiënten op. Effen logo's en packshots overleven het goed. Een haarfranje over een zachte schaduw is waar banding zichtbaar wordt, dus kijk naar het resultaat op volledige grootte voordat je het verzendt. Comprimeren verwijdert ook elk stuk metadata: EXIF, GPS, ICC-profiel en ingesloten miniatuur. Oriëntatie overleeft.

Kan het een witte achtergrond achter het onderwerp plaatsen?

Dat zal het niet doen. De verwijderaar schrijft alpha en stopt daar. Er is geen vulkleur en geen vervangende afbeelding ergens in de tool. Als je wit achter het onderwerp wilt, stuur de voltooide PNG dan door PNG naar JPG. Elk doelformaat zonder een alpha-kanaal krijgt de transparantie op wit gecompositeerd, dus JPEG en PDF geven je beide een witte achtergrond zonder extra stap. Als je de uitsnede in een andere pixelgrootte nodig hebt, schrijft de resizer PNG verliesloos, zodat de alpha die reis ook overleeft. De cropper doet hetzelfde voor PNG, één bestand tegelijk tot 10 MB.

Welke bestanden kan ik indienen, en hoeveel?

Tien bestanden en 50 MB per batch. De picker accepteert JPEG, PNG, WebP, AVIF, GIF, BMP en ICO. SVG en HEIC worden geweigerd voordat er enige modelwerkzaamheden beginnen, omdat Chrome geen van beide kan decoderen: SVG is XML zonder pixels, en HEIC is een HEIF-container die alleen door Safari wordt weergegeven. Voor een iPhone HEIC, voer eerst HEIC naar PNG uit en laat het resultaat in de verwijderaar vallen, en waarom Windows dat bestand ook niet kan openen legt uit wat er in de container zit. Elke output behoudt de basisnaam van het bronbestand met een .png-extensie, zodat je ze in je downloadsmap herkent, en verschillende resultaten komen tegelijk binnen als background-removed.zip.

Waarom kwam mijn uitsnede helemaal leeg terug?

Een afbeelding zonder opvallend onderwerp retourneert een volledig transparante PNG, en de grootteafname kan zelfs als een besparing worden gelezen. We controleren daarop, zodat je geen lege afbeelding per ongeluk verzendt. Na elke run monsteren de engine het alpha-kanaal tot een zijde van 1024 px en telt de pixels die zich op alpha 64 of hoger bevinden. Als minder dan 0,1% van het frame overleeft, vertelt de kaart je dat er geen onderwerp is gevonden. Landschappen, texturen en effen achtergronden belanden daar routinematig. Het bestand is nog steeds van jou om te downloaden. Het is gewoon geen uitsnede, en geen enkele herhaalde poging zal het dat maken.

Probeer één bestand voordat je er tien in de wachtrij plaatst. Laat een enkele packshot vallen op de achtergrondverwijderaar, download de PNG, stuur diezelfde PNG dan rechtstreeks naar de compressor en kies "PNG kleinere bestandsgrootte". Vergelijk de twee groottes en beslis welke je daadwerkelijk zou verzenden. Als die uitsnede ook in een document gaat, is de pagina die een enkele afbeelding wordt zodra het een PDF is afzonderlijk gemeten.