Met kunstmatige intelligentie foto resolutie verbeteren

Elwin Hodžić
0

Inhoudsopgave

    Beeldvergroting is een typisch domein voor machinaal leren. Waar traditionele algoritmes nog nooit volledig konden overtuigen, belooft kunstmatige intelligentie gedetailleerde informatie op geloofwaardige wijze te kunnen reconstrueren oftewel de foto resolutie te verbeteren.

    In dit artikel hebben we getest hoe goed de schalingsalgoritmes in web-apps en beeldbewerkingsprogramma’s aan die belofte voldoen. Zo hebben we verschillende AI-programma’s met elkaar vergeleken om te kijken hoe zij de foto resolutie verbeteren door middel van kunstmatige intelligentie.

    Met kunstmatige intelligentie foto resolutie verbeteren


    Ontvang gratis informatie en tips over kunstmatige intelligentie, schrijf je in voor de nieuwsbrief:

    Ontvang elke week het laatste IT-nieuws, de handigste tips en speciale aanbiedingen.

     

    Resolutie verbeteren zonder hardware

    De meeste camera’s hebben een resolutie van 24 megapixels, maar smartphonecamera’s hebben meestal slechts 8 megapixels. Wat te doen wanneer de beeldresolutie niet voldoende is voor afdrukken op groot formaat en een foto opnieuw maken geen optie is? Zelfs bij oude afleveringen van Midsomer Murders was het al voldoende dat iemand ‘enhance’ riep om de wazige weerspiegeling van de achterkant van een hoofd te veranderen in een haarscherp portret van een misdadiger. In werkelijkheid kunnen zelfs complexe schalingsalgoritmes nooit volledig overtuigen.

    De inzet van kunstmatige intelligentie om foto resolutie te verbeteren belooft bloeiende pixellandschappen. Verschillende aanbieders verkopen upscaling op basis van machinaal leren. Bij deze test nemen een handvol webdiensten het tegen elkaar op. Ze bieden allemaal twee-, drieof viervoudige schaalvergroting. Je betaalt per foto.

    Sommige desktopprogramma’s bevatten al AI-scalers. Door de verschillende benaderingen zijn zij echter slechts in beperkte mate vergelijkbaar met de webdiensten. Topaz Gigapixel AI is de enige stand-alone scaler. Vrijwel geen enkele klant zal alleen vanwege die functie een van de andere oplossingen kiezen, maar wat zij doen is desalniettemin interessant: het grafische pakket CorelDraw Graphics Suite 2021, de Mac­beeldbewerker Pixelmator Pro en de combinatie Photoshop en Lightroom.

    De pixels voor AI-foto resolutie verbeteren

    Voor een afdruk op 60 bij 40 centimeter met 300 ppi (pixels per inch) moet een foto een resolutie hebben van ongeveer 34 megapixels (7086 × 4724 plus enige afsnijtolerantie). De randlengte van een 12­megapixel foto (4032 × 3024) moet daarvoor bijna worden verdubbeld. Een resolutie van 300 ppi zie je het best op een kijkafstand van ongeveer 25 centimeter, oft ewel in boeken en tijdschrift en. Voor grotere afstanden zou je de staaf­ en kegeldichtheid van een arendsoog nodig hebben om details nog te kunnen waarnemen. Grootformaat foto’s kunnen met een lagere resolutie worden afgedrukt als ze alleen van een afstand gezien zullen worden, bijvoorbeeld vanuit een auto. Bezoekers van musea en galerijen gaan bij voorkeur op een kijkafstand staan waarop het volledige beeld te zien is. Bij het bestuderen van details van dichtbij is een resolutie van 300 ppi dan weer wel wenselijk.

    Verschillende manieren om foto’s te schalen

    Beeldbewerkingsprogramma’s bieden al tientallen jaren verschillende manieren om foto’s te schalen. Bij fotobewerking is het een van de trends om gebruik te maken van pixelherhaling, bilineaire en bicubische interpolatie of procedés met namen als Lanczos. Dat laatste is vernoemd naar de Hongaarse wiskundige Kornél Lánczos (uitgesproken als Lantsosch).

    Voor pixelafbeeldingen zoals bij klassieke videospelletjes kies je pixelherhaling (naaste buur, nearest neighbour). Dat is de eenvoudigste van alle methodes en herhaalt gewoon naburige pixels. Het maakt de pixels in principe gewoon groter, behoudt hun kleuren, scherpe randen en blokstructuur, maar creëert trappen.

    Bilineaire of bicubische berekening is meer geschikt voor foto’s en video’s. Bij de bilineaire berekening interpoleert het algoritme de kleurwaarden van de gezochte pixel uit de vier dichtstbij gelegen punten in horizontale en verticale richting, en houdt het dus rekening met 2 × 2 pixels. De bicubische inter polatie werkt op een 4 × 4 raster, maar interpoleert daartussen niet lineair maar door middel van een kubische functie. Bicubische berekening leidt tot minder artefacten dan bilineaire. Bij beide betaal je echter een prijs in de vorm van het verlies van scherpe randen en vervormende kleuren bij overgangen. Beide vermijden daarbij ook pixeltrappen.

    De Lanczos­methode is vrij populair vanwege zijn efficiëntie en is daarom te vinden in veel programma’s van Gimp tot IrfanView en XnView. Vergeleken met een bilineaire berekening levert die methode zichtbaar betere resultaten op. Er zijn ook andere methodes die naar wiskundigen zijn genoemd, zoals Hermite, Bell en Mitchell. Wat ze allemaal gemeen hebben is dat ze structuren min of meer goed weergeven, maar geen details kunnen herkennen en die slechts in beperkte mate kunnen reconstrueren – en JPEG­artefacten dus meestal ook vergroten.

    Kunstmatige intelligentie in je browser

    AI ­scalers op internet maken meestal gebruik van zogeheten Generative Adversarial Networks (GAN). Twee netwerken creëren en evalueren alternatieven, waarbij een kunstmatig gegenereerde versie en een echte versie geacht worden zo goed mogelijk overeen te komen. Daarbij ligt de nadruk op een fotorealistische visualisatie.

    De geteste webdiensten zijn afkomstig uit de grafische sector of de e­commerce. Imglarger.com, Cre8tiveAI en Waifu2x waren in eerste instantie bedoeld voor het verbeteren van anime­plaatjes en pas in de tweede plaats voor het schalen van foto’s. De eerste komt uit China, de laatste twee uit Japan waarbij het Japanse leenwoord Waifu slaat op het Engelse woord wife en verwijst naar mangapersonages met grote ogen. De in Oost-Europa gevestigde diensten DeepImage en Let’s Enhance verbeteren foto’s die te klein zijn voor webwinkels. Achter de upscaler van Stockphotos.com zit een fotoagentschap, en achter het in de VS gevestigde Icons8 zit een grafisch agentschap voor logo’s en dergelijke. Image Upscaler ontwikkelt software voor het verbeteren van foto’s.

    Alle web-apps verwerken JPEG-, sommige ook PNG-, TIFF- en WebP-bestanden. In de regel gelden uploadbeperkingen van maximaal 5 MB per bestand. AI Image Enlarger, Image Upscaler en Waifu2x accepteren alleen foto’s met een maximale randlengte van ongeveer 1000 pixels. Gewoonlijk upload je die naar de server van de aanbieder via eenvoudige uploadmaskers en selecteer je, indien mogelijk, de mate van ruis en of het beeld wazig is, en na minder dan een minuut krijg je dan een downloadlink als je je tenminste met een geldig e-mailadres geregistreerd hebt. Voor bedragen van slechts één cijfer krijg je credits die kunnen worden ingewisseld voor het schalen van verschillende foto’s. Een gratis proefaanbod geldt meestal alleen voor lage schaalniveaus.

    Web-apps & je privacy

    De geteste web-apps komen uit alle uithoeken van de wereld. Het land van herkomst is vrij relevant, per slot van rekening vertrouw je foto’s toe aan de diensten omdat ze de foto’s pas schalen nadat ze naar hun servers geüpload zijn. Daarom zijn de hoofdkantoren in de tabel opgenomen.

    De Verenigde Staten, China, Japan en de Europese Unie hebben elk zeer verschillende regels qua gegevensbescherming. Bedrijven in de VS moeten op verzoek persoonsgegevens aan de Amerikaanse autoriteiten overhandigen. En hoewel China sinds medio 2021 met een nieuwe wet inzake gegevensbescherming strenger optreedt tegen schendingen daarvan, heeft de staat zelf nog steeds veel belang bij het mee kunnen kijken en kan altijd toegang krijgen tot de persoonsgegevens via de nationale veiligheidswet.

    Bedrijven hier hoeven daarentegen niet samen te werken met autoriteiten in het buitenland. In de hele EU is het overdragen van gegevens aan derde landen ook illegaal volgens de AVG. Volgens de Japanse APPI-­wet inzake gegevensbescherming moeten betrokkenen toestemming geven voordat hun persoonsgegevens aan derden worden doorgegeven. Dat is ongeveer op EU-niveau.

    Wat doen de webscalers?

    Bij de test hebben we foto’s van 600 × 400 pixels verviervoudigd of met 400 procent vergroot tot 2400 × 1600 pixels. Bij het schalen van afbeeldingen telt de lengte van de randen volgens de aloude conventie, het totale aantal pixels wordt daardoor zestienvoudig vergroot. Het eerste fotovoorbeeld met het zeilschip toont een blauwe lucht en veel fijne lijnen die door Photoshop – zowel na bilineaire als bicubische interpolatie – slechts wazig en vol JPEG-artefacten weergegeven werden. De AI-schalers trokken consequent fijnere lijnen dan de klassieke algoritmes, maar geen van hen kwam bij de test ook maar in de buurt van het origineel.

    Gesorteerd van goed naar slecht is er een pluspunt voor DeepImage en Let’s Enhance. Zij reconstrueren een deel van de tuigage aardig geloofwaardig, zij het meer spinnenwebachtig dan door mensen gemaakt. Icons8 doet het iets slechter, daar worden de structuren wazig. Bij Image Upscaler en Stockphotos.com vervagen ze zichtbaar tot artefacten. ImgLarger en Waifu2x voegen ook een hoge mate aan kunstmatige ruis toe, die de originele foto niet bevat.

    Bij de test met een portret laten sommige diensten zien dat zij gezichten herkennen. Maar lang niet allemaal kunnen ze ook reconstrueren. Let’s Enhance verhoogt de resolutie slechts in geringe mate, maar het portret ziet er authentiek uit. Dat is bij cre8tiveAI vergelijkbaar, maar wel met minder details. Icon8 reconstrueert het gezicht ook goed, maar verscherpt op een onnatuurlijke manier. Image Upscaler creëert in hoge mate artefacten. Met DeepImage ziet het gezicht er niet authentiek uit en Waifu2x maakt er iets manga-achtigs van.

    Wat doen de webscalers

    Super resolutie met Pixelmator

    Het Mac-beeldbewerkingsprogramma Pixelmator Pro bevat sinds december 2019 de functie ML Super Resolution (ML van Machine Learning) en was daarmee een pionier. ML Super Resolution omvat 29 zogenaamde Convolutional Layers die het beeld analyseren en een versie maken met meer dan honderd eigenschappen. Na het upscalen worden die weer teruggebracht tot drie kleurkanalen. Een dergelijk convolutioneel neuraal netwerk (CNN of ConvNet) is geschikt om aan verschillende aspecten een bepaald gewicht toe te kennen.

    Die eigenschappen omvatten randen, kleuren, texturen, patronen of kleurverlopen, evenals hun oriëntatie. Het programma houdt bij het upscalen rekening met al die eigenschappen, maar zonder de beeldruis en JPEG-artefacten te vergroten. Meer convolutionele lagen betekenen een beter resultaat, maar ook meer trainingsinspanning.

    Pixelmator Pro stelt hoge eisen aan de Mac van gebruikers. Terwijl bilineaire interpolatie 45 floatingpoint-operations (FLOP’s) per pixel vereist en de Lanczos-­methode al 130 FLOP’s, gaat het in het geval van het ML Super Resolution-algoritme volgens de maker om 1,13 miljoen FLOP’s. Met hardware van vijf jaar oud duurt het berekenen van een onbewerkte 6-megapixel foto enkele minuten. Een MacBook Pro met M1-processor was na een paar seconden klaar. Voorwaarde is wel macOS 10.15. De functie heeft geen dialoog, met een menu-item wordt het schalen gestart. Het verdrievoudigt het aantal pixels in beide richtingen, tekent scherpe randen en reconstrueert lijnen met vrij bruikbare resultaten. De foto bevat echter ook meer artefacten en pixeltrappen op diagonalen dan de best presterende web-apps DeepImage, Let’s Enhance en cre8tiveAI.

    Raw-verbetering bij Adobe

    Adobe heeft twee knoppen bij de Verbeteren-optie van de Photoshop-importdialoog Camera Raw 14, die met behulp van kunstmatige intelligentie meer uit de geopende foto moeten halen dan voorheen. Een daarvan heet Raw-details, de andere is Superresolutie. Je verhoogt er de beeldresolutie mee – de Engelse naam is ontleend aan het tv-cliché dat we in het begin noemden.

    Net als Pixelmator gebruikt Adobe een convolutioneel neuraal netwerk dat, volgens de fabrikant, getraind is met miljoenen foto’s. Onder de raw-­bestanden bevonden zich zowel die met het gebruikelijke Bayer-filter als die met Fujifilms meer exotische X-Trans-sensors. De trainingsset bestond uit paren van foto’s met een lage en een hogere resolutie, waarbij de nadruk lag op voorbeelden met een hoge mate aan detail, aangezien na het schalen vooral in die beeldgebieden artefacten optreden.

    Het Superresolutie-algoritme bouwt voort op zijn voorganger Raw-details, die eveneens gebruik maakt van een CNN ter ondersteuning van de zogenaamde demosaicing. Camerasensors kunnen alleen lichtwaarden registreren, dus zien zij de wereld in grijstinten door een mozaïek van rode, groene en blauwe filters. Een raw-ontwikkelaar zet die om in pixels met RGB-waarden. Raw-­details maakt gebruik van de resultaten van een grote trainingsset om tijdens de demosaicing zoveel mogelijk eruit details te halen. Daardoor is het ook beperkt tot het bewerken van raw-bestanden. De knop Superresolutie kan naast raw-formaten ook JPEG-, PNG- en TIFF-bestanden verwerken – maar zonder detailbooster.

    Net als bij Pixelmator kunnen gebruikers daar geen invloed op uitoefenen: de Superresolutie-knop verdubbelt de lengte van de randen – minder dan bij de web-apps. De 8 megapixels worden er 32. De totale randlengte is beperkt tot 65.000 pixels. Het resultaat is een bestand in het opensource digitale negatiefformaat DNG, dat kan worden bewerkt met een raw-ontwikkelaar.

    Sommige Adobe-AI met de bijnaam Sensei is afhankelijk van externe servers. Die maakt op zijn beurt gebruik van lokale API’s, namelijk Apples Core ML en Microsofts Windows ML. Om de pixelmachine te laten werken, moet het programma dus minstens macOS 10.13 of Windows 10 (1809) draaien. Een krachtige gpu is ook een voordeel. Voor de beste prestaties raadt Adobe een computer aan met Apples M1-chips onder macOS en onder Windows een grafische kaart met Nvididas Tensor Core-technologie uit de RTX-serie.

    Photoshop en Lightroom verhogen de resolutie in verhouding minder. Blijkbaar heeft Adobe ingezien dat te grote stappen tot grillige misinterpretaties leiden, zoals te zien is bij de scheepstuigage en de gelaatstrekken in het portret. De Adobe-toepassingen schalen in verstandige stappen met slimme zelfbeheersing. Het resultaat is overtuigend zonder wonderen te verrichten.

    CorelDraw Graphics Suite & Topaz Gigapixel AI

    Het grafische pakket CorelDraw Graphics Suite 2021 wordt gebruikt voor van alles, van tatoeageontwerp tot drukwerk, voor folders en posters. Een door kuntmatige intelligie ondersteunde beeldschaler verbetert foto’s en illustraties.

    CorelDraw is het enige programma dat een invoermasker voor doelpixels biedt, zodat je ook in niet-gehele stappen kunt schalen. Je gebruikt een schuifbalk om de mate van ruisonderdrukking in discrete stappen in te stellen. Het standalone programma Topaz Gigapixel AI verhoogt de beeldresolutie. Dat is immers zijn enige taak. Gigapixel AI accepteert pixelafmetingen of -stappen tot 8-voudige schaling. Je kunt kiezen uit vier verschillende AI-modellen. Je stelt de gewenste mate van ruisen onscherpteonderdrukking in via schuifregelaars. Gigapixel AI is het enige programma in deze test dat meerdere foto’s tegelijk kan verwerken. Het programma kost 99,99 dollar. Zowel Corel Draw als Gigapixel AI werken onder Windows en macOS.

    Het resultaat van de schaler van het Corel-programma lijkt op dat van bicubische interpolatie van andere oplossingen met hoge percentages beeldruis en artefacten in het resultaat. Topaz Gigapixel AI staat daarentegen op gelijke hoogte met DeepImage en Let’s Enhance, de web-apps die het best scoorden.

    Conclusie

    Vaak kom je op internet termen tegen als jaw-dropping als het om met kunstmatige intelligentie foto resolutie verbeteren gaat. Pixelmator en Photoshop halen een goed deel van de details uit raw-bestanden, maar ze kunnen artefacten in JPEG-bestanden niet onderdrukken. Corel Photo-Paint scoort bij beide disciplines zeer slecht met te veel artefacten. Topaz Gigapixel AI is het beste in het verhogen van de resolutie van zowel raw-bestanden als JPEG-foto’s. De web-apps DeepImage en Let’s Enhance deden het ook heel aardig. Gelegenheidsgebruikers die geen 100 dollar willen uitgeven aan een programma, zullen aan Let’s Enhance in het bijzonder een nuttige tool hebben als zij met met kunstmatige intelligentie de foto resolutie willen verbeteren.

    Lees meer over kunstmatige intelligentie in c't 05/2024

    Meer over

    Software

    Deel dit artikel

    Elwin Hodžić
    Elwin Hodžić(Web)redacteur bij c't. Ondanks de studie geschiedenis, altijd al een passie gehad voor alles wat met IT te maken heeft. Sleutelt in zijn vrije tijd graag aan pc’s, van de hardware tot het uitpluizen van de BIOS-instellingen om een pc zo optimaal mogelijk te laten werken.

    Lees ook

    Dit kun je verwachten als je ChatGPT als hacking-tool wilt gebruiken

    Kun je ChatGPT gebruiken als hacking-tool? We neigden naar de duistere kant en onderzochten of de assistentie van een AI van elke scriptkiddie een eli...

    Raspberry Pi GPIO pinnen: een overzicht van de aansluitingen

    Een kleine Raspberry Pi board is zo volgepakt met alle componenten dat er geen ruimte meer over was om de 40 GPIO pinnen van informatie te voorzien. O...

    0 Praat mee
    avatar
      Abonneer  
    Laat het mij weten wanneer er