ID.nl logo
Zekerheid & gemak

HDR-fotografie

Op een foto is vaak niet alles even goed te zien. In de buurt van een felle lichtbron kan alles te licht zijn, terwijl een onderwerp in de schaduw juist te donker blijft. Door meerdere opnamen te maken en ze achteraf samen te voegen, krijgt u een beter belichte plaat.

1. Te licht, te donker

Als u een foto maakt, kan hij te licht of te donker uit het fototoestel rollen. We spreken dan van overbelichting of onderbelichting. Dit is meestel vrij eenvoudig op te lossen: u maakt gewoon een nieuwe foto met een betere belichting. Het wordt wat anders als in dezelfde foto zowel over- als onderbelichte delen zitten. Het is een stuk lastiger om dat te verhelpen. Als u het ene probleem oplost, wordt het andere alleen maar groter. Zodra u de te donkere gebieden verbetert door de foto lichter te maken, worden de nu al te lichte delen immers nog verder overbelicht. Redt u daarentegen de overbelichte delen door de foto donkerder te maken, dan maakt u de onderbelichte gebieden nóg donkerder.

2. Contrast

Als delen van een foto overbelicht zijn terwijl andere gebieden onderbelicht blijven, hebt u te maken met een tafereel dat niet in één foto is vast te leggen. Het verschil tussen de donkerste en de lichtste tint is dan zó groot, dat uw camera het niet in één plaat vast kan leggen. Dat is jammer, want met het blote oog is het namelijk wel te zien en dan is het erg teleurstellend dat u het tafereel niet kunt vastleggen. Zelfs de meest geavanceerde camera is beperkt in het aantal lichttinten dat hij kan vastleggen. We noemen dit het 'dynamisch bereik' van de camera, en bij elk toestel is dat bereik anders.

©PXimport

U ziet dit wel, maar de camera kan dit niet zomaar vastleggen. Het contrast is veel te groot.

3. Meerdere opnamen

Als een camera niet alles goed belicht op de foto kan zetten, kunt u dat oplossen door vlak na elkaar een aantal foto's te maken en per foto de belichting iets aan te passen. In plaats van één foto waarop alles goed is belicht, hebt u dan een reeks plaatjes waarbij op ieder beeldje minstens een deel van de omgeving een goede belichting heeft. Daarna is het de truc om al die losse foto's weer samen te voegen tot één perfect belichte opname. Deze techniek heet HDR-fotografie (High Dynamic Range, oftewel: een hoog dynamisch bereik). Het levert monnikenwerk op als u dat met de hand wilt gaan doen, maar gelukkig is er software die deze klus uit handen kan nemen.

©PXimport

Maak een reeks foto's waarop steeds een deel van het tafereel goed is belicht (zoals hier samen in één plaatje getoond).

4. Statief

Voordat we laten zien hoe dit alles in zijn werk gaat, eerst iets meer over de manier waarop u de reeks opnamen het beste kunt maken. Omdat u straks een aantal foto's gaat samenvoegen tot één nieuwe foto, is het erg belangrijk dat al die losse beeldjes goed bij elkaar passen. Het verdient daarom de aanbeveling om vanaf een statief te fotograferen. Dan is op iedere foto exact hetzelfde te zien en varieert alleen de belichting. Hebt u geen statief bij de hand, dan is het verstandig om de camera ergens op te zetten of het toestel stevig vast te pakken en steun te zoeken, zoals tegen een muurtje.

©PXimport

Beelden samenvoegen lukt straks het beste wanneer u vanaf een statief hebt gefotografeerd.

5. Bevroren in de tijd

Als u kort na elkaar enkele foto's maakt, werkt dit het beste als er zo min mogelijk beweging in beeld is te zien. Rijdt er bijvoorbeeld een auto voorbij, dan zal die op elke foto op een andere plek staan en dan wordt het erg lastig om de foto's goed samen te voegen. Mensen en dieren fotograferen zal dus ook niet gemakkelijk zijn, tenzij ze net zo onbewogen kunnen staan als een standbeeld.

©PXimport

Dit is één meeuw, die tijdens het maken van de drie opnamen voorbij vloog.

6. Belichtingstrapje

Het probleem dat we willen verhelpen, is dat er soms teveel lichtcontrast is om alles goed in één foto te vangen. Om dit te verhelpen kunnen we gebruikmaken van een zogeheten 'belichtingstrapje'. De camera maakt dan uit zichzelf een aantal opnamen, waarbij de belichting steeds een tandje wordt bijgesteld. Dit wordt ook wel auto bracketing of bracketing genoemd. Op de meeste camera's is deze handige functie standaard aanwezig. U stelt hem in via het cameramenu of met een aparte knop, kijk hiervoor eventueel in de handleiding van uw toestel. In ieder geval stelt u twee waarden in: het aantal opnamen dat moet worden gemaakt en de stapgrootte waarmee de belichting telkens wordt aangepast. Nemen we als voorbeeld drie opnamen, dan maakt de camera de volgende foto's: normaal belicht, korter belicht, langer belicht.

7. Aantal en stapgrootte

Voor een eerste kennismaking met HDR-fotografie volstaat het om de camera drie of vijf opnamen te laten maken. Voor de stapgrootte van de belichting is het verstandig om minimaal voor 1 of 2 te kiezen, maar dat hangt sterk af van wat u fotografeert. Is er een enorm lichtverschil, dan zijn er bijvoorbeeld grotere stappen (of meer opnamen) nodig dan wanneer het allemaal wel meevalt. Kijk altijd goed op het camerascherm zodra de opnamen zijn gemaakt, zodat u kunt bepalen of op elke foto een deel van de scène goed is belicht. Op de lichtste foto mag nu niets meer onderbelicht zijn, anders moet u blijkbaar nog sterker overbelichten. Andersom mogen op de donkerste foto nu geen overbelichte gebieden meer zichtbaar zijn.

8. Serieopnamen

Bij de meeste camera's worden de drie of vijf opnamen volledig automatisch en heel snel na elkaar genomen. U hoeft daarvoor alleen de ontspanknop maar ingedrukt te houden. Bij sommige camera's moet u het toestel dan wel eerst in de repeterende stand zetten ('continu foto's maken'). Bij een aantal toestellen of in bepaalde camerastanden wordt er per druk op de ontspanknop slechts één foto gemaakt. In dat geval moet u zelf meetellen en heel goed opletten dat u steeds het benodigde aantal opnamen maakt, zodat alle belichtingstrapjes netjes worden afgewerkt. Vergeet ook niet om de bracketing-functie weer uit te zetten zodra u klaar bent met HDR-fotografie. Doet u dit niet, dan blijft de camera belichtingstrapjes maken en loopt alles in de soep. De camera past dan bij elke foto die u maakt de belichting aan, desnoods wekenlang!

9. Picturenaut

Om de foto's samen te voegen tot één goed belichte opname, gebruiken we allereerst het gratis programma Picturenaut. U haalt het zip-bestand op en plaatst het ergens op uw computer. Er is geen installatieprocedure, open het zip-bestand dus met Verkenner en kopieer de map die erin zit in zijn geheel naar (bijvoorbeeld) de hoofdmap van uw C-schijf, zodat u daar de map c:\picturenaut krijgt. Daarna start u het programma op door in Verkenner naar de uitgepakte map te gaan en te dubbelklikken op picturenaut.exe. Om dit wat soepeler te laten verlopen, is het verstandig een snelkoppeling op het bureaublad aan te maken. Sleep picturenaut.exe met een ingedrukte rechtermuisknop naar het bureaublad, laat het daar los en kies in het menu voor Hier snelkoppelingen maken.

10. Samenvoegen

De volgende stap bestaat uit het aanwijzen van de samen te voegen foto's. Kies in de menubalk File, Generate HDRI. In het nieuwe venster dat wordt geopend, klikt u op de knop Add. Zoek vervolgens de map op waarin de foto's van het belichtingstrapje staan. Klik met de linkermuisknop eenmaal op de eerste foto en daarna met een ingedrukte Shift-toets op de laatste foto uit hetzelfde belichtingstrapje. Zo worden ze alle drie of alle vijf geselecteerd. Klik op de knop Openen, waarna de opnamen in een tabelletje verschijnen. Het is verstandig een vinkje te zetten bij de opties Automatic image alignment en Ghost removal. Vaak zijn de opnamen namelijk niet volledig identiek, met name als u de foto's uit de hand hebt genomen. Met behulp van de genoemde opties worden ze alsnog netjes uitgelijnd. Klik daarna op OK, zodat het programma aan de slag gaat om de opnamen samen te voegen.

©PXimport

©PXimport

We hebben drie foto's geselecteerd en enkele vinkjes aangezet.

11. Een tegenvaller?

Zodra de foto op het scherm verschijnt, raakt u misschien wat teleurgesteld. De doortekening is vast een stuk beter dan wat u op de losse originele foto's ziet, maar er zijn nog steeds gebieden die er donker, grauw en vlak uitzien. Is dit nu alles? Om u meteen gerust te stellen: deze foto bevat zo ontzettend veel informatie, dat uw beeldscherm het allemaal niet kan tonen. De eerste stap was het combineren van drie of vijf beelden tot één HDR-foto. Het enige dat u nu nog hoeft te doen, is er een toonbaar plaatje van maken.

12. Tone-mapping

Ervoor zorgen dat een HDR-foto op een normaal beeldscherm kan worden bekeken en kan worden afgedrukt, heet 'tone-mapping'. Hierbij mag u zelf bepalen hoe het beeld eruit komt te zien. Omdat elke situatie anders is, zal tone-mapping altijd maatwerk zijn. Kies in de menubalk voor Image, Tone-Mapping. Een nieuw venster opent en tegelijkertijd ziet u het uiterlijk van de foto veranderen. Dat kan een verbetering, maar ook een verslechtering zijn. Let hier niet teveel op, het komt straks allemaal goed. Het handigst is om nu eerst een mapping-methode te kiezen. Kies bij Method bijvoorbeeld voor Adaptive Logarithmic of Photoreceptor. De methode die het beste resultaat geeft, kunt u dan als startpunt gebruiken om de foto nog mooier te maken.

13. Lichtsterkte

Als u bij het kiezen van een methode naar het histogram onderin het venster kijkt, ziet u dat er gespeeld wordt met de verdeling van de beschikbare lichtwaarden. Is de grafiek vooral aan de linkerkant gevuld, dan zijn er veel donkere gebieden in de foto. Aan de rechterkant gaat het voornamelijk om lichte gebieden. Piekt het 'berglandschap' van de grafiek vooral in het midden, dan kan de foto er wat vlak uitzien. Het werkt eigenlijk hetzelfde als de functies Niveaus en Curven in Photoshop Elements of een andere fotobewerker. Zolang er een vinkje staat bij Automatic lum (luminosity) zal het programma lege gebieden links en rechts van de grafiek weglaten om het contrast te verbeteren. Er wordt geen extra informatie verzonnen, de aanwezige lichtwaarden worden alleen beter verdeeld. Haalt u het vinkje weg, dan mag u zelf de driehoekjes onder de grafiek naar de 'voet van de berg' bewegen.

©PXimport

Met de standaardinstellingen is dit wat Picturenaut van onze foto maakt.

14. Schuifregelaars

U kunt de foto verbeteren door de schuifregelaars voorzichtig een beetje bij te stellen. Vindt u de schaduwen bijvoorbeeld te donker? Bij de methode Adaptive Logarithmic is dat op te lossen door het schuifje Shadow luminance naar rechts te bewegen. Pas wel op dat u de foto niet 'te plat' maakt door de schaduwen volledig weg te halen, want dan oogt de plaat al snel onnatuurlijk. In het dagelijks leven hebben we immers ook te maken met licht en schaduw. Probeer de schuifregelaars gerust uit om te zien of de foto er beter van wordt.

©PXimport

Hier zijn de schaduwen wat lichter gemaakt.

15. Nieuwe poging

Zodra u tevreden bent over de foto, klikt u op OK om het tone-mappingvenster te sluiten. Bedenkt u zich, dan komt u misschien tot uw grote schrik tot de ontdekking dat u het genoemde venster niet nogmaals kunt openen. De optie is lichtgrijs gekleurd en dus niet beschikbaar! De oorzaak hiervan is dat u de HDR-foto (met een enorm hoog dynamisch bereik) via tone-mapping hebt omgezet in een 'normale' foto. Anders kunt u hem immers niet op het scherm bekijken of afdrukken. U lost dit eenvoudig op, door uw aanpassingen weer ongedaan te maken via Edit, Undo: Tone-Mapping. Daarna is de optie gewoon weer beschikbaar en kunt u een nieuwe poging wagen.

©PXimport

Het resultaat van het samenvoegen van de drie opnamen. Ontevreden? U kunt de aanpassingen heel eenvoudig weer ongedaan maken.

16. Foto bewaren

Nu is het zaak om het resultaat op te slaan als een nieuwe foto. Als u de foto als een jpg-bestand wilt bewaren, moet u echter nog één laatste handeling uitvoeren. Standaard maakt Picturenaut namelijk 16-bits afbeeldingen en die kunt u wel als tiff-bestand opslaan, maar niet als jpg-bestand. Ga daarom naar Image, Mode en kies voor 8 Bit Per Channel. Deze keuze vindt u trouwens ook op het tone-mappingvenster van daarnet. Bewaren van de foto doet u via File, Save As. Kies bij Opslaan als voor JPEG. Wilt u de foto echter nog bewerken in bijvoorbeeld Photoshop, kies dan liever voor een tiff-bestand. Daarbij mag u Mode gerust op 16 Bit Per Channel laten staan. Het bestand wordt dan wel flink groter, omdat de foto meer informatie bevat en daardoor een hogere kwaliteit heeft.

17. Spannender

Het resultaat van Picturenaut ziet er doorgaans erg mooi en natuurgetrouw uit. Iemand die niet weet dat u meerdere foto's hebt samengevoegd, zal het doorgaans niet zien. Er bestaan ook programma's die nog een stapje verder gaan. Daarmee kunt u zowel natuurlijke, realistische resultaten krijgen, als foto's waarvan meteen duidelijk is dat ze niet vanzelf uit een camera zijn komen rollen. Soms lijken het zelfs schilderijen of tekeningen. Dit soort 'overdreven' beelden kunnen er heel spectaculair uitzien, mits u de stijl op prijs stelt. Het heeft allemaal met smaak te maken: terwijl sommige mensen het prachtig vinden, moeten anderen er helemaal niets van weten.

18. Photomatix

Om creatieve HDR-foto's te maken wijken we uit naar de betaalde software Photomatix. Dit pakket wordt door veel fotografen gebruikt omdat het zulke mooie resultaten geeft. Er zijn twee varianten van dit programma: een Light-versie (39 dollar) en een Pro-versie (99 dollar). Beide versies mag u een tijdje gebruiken om te kijken of ze iets voor u zijn. Alles werkt daarbij, maar zodra u een foto bewaart krijgt hij een watermerk. Hoewel Photomatix Light op zich prima resultaten geeft, raden wij toch aan om ook de Pro-versie eens uit te proberen. Als u straks regelmatig met HDR-fotografie aan de slag gaat, biedt de duurdere versie veel meer mogelijkheden en kant-en-klare instellingen (presets) waarmee u razendsnel de prachtigste platen maakt. Denkt u slechts af en toe met het programma te gaan werken, dan is de Light-versie of Picturenaut een betere keuze.

©PXimport

Photomatix Pro is duurder dan de Light-versie, maar het biedt enorm veel extra mogelijkheden.

19. Foto's selecteren

U haalt Photomatix Light op van de website en installeert het op uw computer. Let er wel op dat er zowel een 32-bits als een 64-bits versie is, kies dus de variant die bij uw Windows-versie hoort. Bij twijfel kunt u gewoon voor de 32-bits versie kiezen. Start het programma op. Er zijn twee manieren om de drie of vijf foto's uit het belichtingstrapje in het programma te laden. U kunt ze vanuit Verkenner naar het grijze vlak slepen, of u klikt op de knop Browse en wijst de beelden op de bekende manier aan. Behalve miniaturen van uw foto's, ziet u ook een voorvertoning van het samengestelde resultaat. Let hier niet teveel op, want er zijn straks weer allerlei keuzemogelijkheden om het resultaat te bewerken. Klik ten slotte op de knop Next.

©PXimport

De drie geselecteerde foto's worden samengevoegd in een voorvertoning.

20. Schilderachtig

De foto's worden vervolgens verwerkt, en dit kan even duren. Als dit proces klaar is, verschijnt het samengestelde resultaat op uw scherm, met een rijtje schuifregelaars ernaast. Meestal is de foto die u krijgt voorgeschoteld nog behoorlijk fotorealistisch. Bij het onderdeel Method & Presets kan heel eenvoudig een schilderachtig effect worden bereikt, door bij Details Enhancer Tone Mapping te kiezen voor Painterly of Grunge. Vindt u dat het effect met de standaardinstelling al teveel van het goede is, dan kiest u voor Exposure Fusion om het effect te verminderen. Bij deze methode worden de lichte en donkere delen uit de drie of vijf originele foto's samengevoegd en wordt er daarna zo min mogelijk aan gesleuteld. U ziet dan bijvoorbeeld diepere schaduwen, zodat het contrast meer op dat van een echte foto lijkt.

©PXimport

Dit lijkt meer op een schilderij dan op een foto.

21. Nog meer effect

Ongeacht welke methode u gekozen hebt, kunt u het effect nog beter op uw smaak afstemmen door met de schuifregelaars te spelen. Zodra u de muispijl op een schuifje laat zweven, ziet u onderin het venster een korte (Engelstalige) uitleg van wat het precies doet. Beweeg Smoothing bijvoorbeeld naar links om een meer schilderachtig effect te krijgen, en naar rechts voor een meer fotorealistisch effect. Niet schilderachtig genoeg? Zet dan eens een vinkje bij Light mode en klik op Min, Low of Mid om een nog surrealistischer effect te krijgen. Belangrijk bij al deze schuifjes is dat u voor uzelf goed bepaalt welk effect u nastreeft. Wilt u een 'over the top' bewerkte foto, houdt u meer van subtiele aanpassingen of maakt u toch liever een fotorealistische plaat?

©PXimport

Twee varianten van dezelfde foto: een realistische en een schilderachtige versie.

22. Bewaren en bewerken

Zodra u tevreden bent over het resultaat klikt u op de knop Process & Save. Er wordt nu een venster geopend waarmee u de foto bewaart. Als u de foto niet verder gaat bewerken, kiest u bij Opslaan als voor jpg. Bent u dat wel van plan, kies dan liever tiff 16-bit, want dan behoudt u de hoogste kwaliteit. Rechtstreeks in een fotobewerker inladen kan trouwens ook. Dan zet u in ditzelfde venster een vinkje bij Open saved images with en kiest u voor een fotobewerker die op uw pc aanwezig is. Daarna gaat het programma aan de slag om het eindresultaat voor u te genereren.

©PXimport

Tevreden? Sla het resultaat op en ga desgewenst meteen aan de slag met een foto­bewerker.

23. Handmatig belichten

Bij het maken van een belichtingstrapje kunt u tegen een belangrijke beperking van uw camera aanlopen. Soms kunnen er bijvoorbeeld maar drie opnamen worden gemaakt, of zijn de belichtingsstapjes tussen de opnamen te klein om alle lichtwaarden vast te leggen. In zulke situaties hebt u er voordeel bij als uw toestel een handmatige stand heeft (bij veel toestellen is dit de M-stand). Hiermee bent u vrij om zoveel opnamen te maken als u wilt, want u past na elke foto gewoon zelf de belichting aan. Kies wel een vaste diafragmawaarde, zodat de scherptediepte in alle foto's hetzelfde blijft. Varieer dus alleen de sluitertijd. Ook de iso-waarde kan het beste gelijk blijven, zodat het ruisniveau niet varieert. Zoals u zult begrijpen is de M-stand met name bedoeld voor de meer gevorderde kiekjesmakers.

Direct HDR

Hebt u een erg recente camera? Kijk dan eens in het menu of in de handleiding of hij een HDR-stand heeft. Steeds meer toestellen zijn namelijk in staat om razendsnel drie opnamen te maken en deze meteen samen te smelten tot één foto. Deze ontwikkeling is vrij nieuw en het resultaat kan daarom nog een beetje tegenvallen. Test hem eerst goed uit, om te voorkomen dat u kostbare opnamen 'verpest'. Gebruikt u Photoshop Elements? Ook dat kent een eenvoudige HDR-functie. Pas echt leuk wordt het met Photoshop CS5, al zal niet iedereen deze professionele fotobewerker in huis hebben. Maakt u liever foto's met uw iPhone, dan vindt u in de App Store diverse HDR-programma's. De iPhone 4 met een recente versie van iOs (vanaf 4.1) kan standaard HDR-foto's maken.

▼ Volgende artikel
Van neuraal netwerk tot deep learning: experimenteren met AI
© svitlini - stock.adobe.com
Huis

Van neuraal netwerk tot deep learning: experimenteren met AI

Dagelijks hoor en lees je over artificiële intelligentie (AI). Daarbij worden vaak termen als neuraal netwerk en deep learning gebruikt. In dit artikel vertellen je hier meer over en gaan we ook zelf met AI aan de slag. We doen dit via TensorFlow Playground en Google Teachable Machine.

In dit artikel laten we zien hoe je zelf kunt experimenteren met kunstmatige intelligentie:

  • Bouw met TensorFlow Playground een neuraal netwerk
  • Maak je eigen beeldherkenningsmodel met Google Teachable Machine
  • Train de AI met foto's van jezelf via je webcam
  • Pas de AI toe in een educatieve setting, zonder programmeerkennis

Ook bijzonder interessant: Makkelijk switchen tussen AI-taalmodellen? Maak kennis met Jan

Het begrip artificiële intelligentie verwijst naar de mogelijkheid om zelfstandig kennis op te nemen, problemen op te lossen en beslissingen te nemen, net zoals een mens. Het woord ‘artificieel’ duidt erop dat deze vorm van intelligentie door mensen is ontworpen en door computers of machines wordt uitgevoerd en dus niet door een biologisch brein.

Veel AI-toepassingen, zoals beeld- en spraakherkenning en taalverwerking, maken hierbij gebruik van zogenoemde neurale netwerken. Deze zijn namelijk uitstekend geschikt voor het herkennen van complexe patronen in grote hoeveelheden ongestructureerde data.

Zo’n digitaal neuraal netwerk (DNN) is gebaseerd op de werking en structuur van het menselijke brein, maar het blijft niet meer dan een abstracte vereenvoudiging. Het menselijke brein is tenslotte (vooralsnog) aanzienlijk complexer, flexibeler en vooral ook energiezuiniger met een maximaal verbruik van circa 20 watt. Ons brein is bovendien superieur in creativiteit, contextueel begrip en emotionele verwerking. 

Biologisch neuraal netwerk

De menselijke hersenen zijn opgebouwd uit een biologisch neuraal netwerk. Dat bestaat uit tientallen miljarden neuronen of zenuwcellen. Deze sturen signalen naar elkaar door via minuscule ruimtes tussen de neuronen, synapsen genoemd. Binnen een neuron (tussen het cellichaam en het uiteinde van de zenuwvezel) gebeurt dit elektrisch. Bij de overgang naar een ander neuron verloopt dit chemisch. Er worden signaalstoffen (neurotransmitters, zoals glutamaat, dopamine en serotonine) vrijgegeven. Deze binden zich aan receptoren van het ontvangende neuron.

Laten we dit verduidelijken. Wanneer je een dier ziet, sturen je ogen het beeld via het neurale netwerk naar je hersenen, door talrijke lagen van neuronen. Elke laag zoekt naar specifieke kenmerken, zoals oren, lichaamsgrootte en vacht. Door eerdere ervaringen zijn sommige neuronen getraind om bijvoorbeeld katten te herkennen, andere honden. Herkent het netwerk meer kenmerken van een kat, dan worden de bijbehorende neuronen sterker geactiveerd. Worden in de uitvoerlaag meer ‘kat-neuronen’ dan ‘hond-neuronen’ actief, dan beslissen je hersenen dat het om een kat gaat. Vergis je je, dan onthouden je hersenen dit en passen de verbindingen tussen neuronen zich aan (neuroplasticiteit): je leert.

Neurotransmitters zetten het signaal via de synaps over naar het ontvangende neuron.

Digitaal neuraal netwerk

Een digitaal neuraal netwerk (DNN) werkt net als het biologisch brein met neuronen (zie bovenstaand tekstkader). Alleen in een DNN gaat het hierbij om wiskundige rekeneenheden die informatie verwerken. Elk neuron ontvangt invoer, vermenigvuldigt deze met een gewicht om de relevantie te bepalen en telt daar een compensatiewaarde, de zogeheten bias, bij op. Samen vormen deze gewichten en biases de ‘parameters’. GPT-4 bevat er naar schatting 1,7 biljoen.

De informatie stroomt door een of meer verborgen lagen tussen de invoer- en uitvoerlaag. Elke verborgen laag verwerkt de gegevens verder, waardoor complexere patronen worden herkend. Hiervoor gebruikt elk neuron een zogeheten activatiefunctie, die bepaalt of en in welke mate de uitvoer wordt doorgegeven. Zonder activatiefuncties zou het netwerk alleen eenvoudige wiskundige verbanden leren, zoals rechte lijnen, terwijl het nu ook met complexe, gebogen of gelaagde patronen overweg kan.

Een eenvoudig digitaal neuraal netwerk, met één verborgen laag.

Sturing en zelflering

Mensen sturen het DNN indirect aan door het bepalen van het aantal lagen, het aantal neuronen per laag en het type activatiefunctie. Verder kiezen ze hoe het netwerk moet leren, bijvoorbeeld door te bepalen hoeveel data het ziet en hoe complex de gegevens zijn, hoe vaak het leert en hoe groot de aanpassingen mogen zijn. Tijdens deze training worden de parameters automatisch aangepast door het netwerk om optimaal patronen te herkennen en voorspellingen te doen.

Vereenvoudigd komt het hierop neer: nadat het netwerk een voorspelling heeft gedaan, wordt berekend hoe ver deze afwijkt van de juiste waarde, waartoe het netwerk tijdens de training toegang heeft. Deze afwijking wordt vervolgens teruggestuurd door het netwerk, van de uitvoer- naar de invoerlaag. Onderweg berekent het netwerk hoeveel elke verbinding (gewicht) en extra waarde (bias) heeft bijgedragen aan de fout. Daarop past het netwerk de parameters aan om de fout kleiner te maken. Dit proces herhaalt zich vele malen, zodat het netwerk steeds accurater wordt. Dit principe wordt ‘backpropagation’ genoemd (letterlijk: achterwaartse terugkoppeling) en maakt dat het netwerk grotendeels zelflerend is.

©Vallabh soni - stock.adobe.com

Backpropagation: het netwerk stuurt zelf bij op basis van de vastgestelde afwijking.

TensorFlow Playground

Spelen met werking DNN

Het wordt interessanter wanneer je zelf experimenteert met de principes en werking van een DNN. Ga naar https://playground.tensorflow.org. Hier herken je de lagen met neuronen: een invoerlaag, twee verborgen lagen en een uitvoerlaag. Bij DATA is al een specifieke dataset geselecteerd. Zodra je op Run (het pijltje) klikt, probeert het netwerk het patroon in de gekozen dataset te herkennen. Het resultaat verschijnt onder Output.

Hoe langer je het proces laat lopen, hoe hoger het aantal trainingscycli (hier epochs genoemd) en hoe accurater de ruimte-indeling of dataclassificatie in de output: blauwe achtergrond voor blauwe punten en oranje achtergrond voor oranje punten. Omdat het standaard om een eenvoudig datapatroon gaat, zal de Training loss waarschijnlijk 0.000 zijn. Dit betekent dat het netwerk het patroon vrijwel meteen correct herkent op basis van de ingestelde parameters, zodat er nauwelijks of geen backpropagation nodig is.

Met de standaardinstellingen kan dit neurale netwerk moeiteloos overweg.

Verdere aansturing

Je kunt het netwerk flink uitdagen door enkele instellingen aan te passen. We geven je enkele mogelijkheden die zeker leerzaam kunnen zijn. Activeer in de invoerlaag bijvoorbeeld alleen de bovenste eigenschap X1. Het netwerk classificeert dan uitsluitend op basis van de horizontale posities van de punten. Voor de derde dataset (linksonder) kan dit voldoende zijn, maar voor andere niet. Probeer het gerust zelf uit. Je zult ook merken dat hoe meer features je inschakelt, hoe meer informatie het netwerk gebruikt en hoe beter het complexe patronen kan herkennen.

Verhoog eens Noise (ruis) met de schuifknop om het leerproces te bemoeilijken. De datapunten worden hierdoor minder gestructureerd, wat je meteen terugziet in de Output. Verminder nu eens het aantal neuronen (via de minknop boven elke laag) om het netwerk minder complexe beslissingen te laten nemen. Minder verborgen lagen verlaagt eveneens de capaciteit om diepere datapatronen te leren.

Nog steeds te makkelijk? Verlaag dan de Learning rate naar bijvoorbeeld 0.0001. Een lagere leerratio betekent tenslotte kleinere stappen bij het aanpassen van de gewichten (wat zich hier visueel vertaalt als minder snel aangepaste lijndiktes tussen de neuronen), waardoor het netwerk langzamer leert.

Experimenteer gerust verder met andere, ook meer geavanceerde instellingen om het netwerk – en jezelf – uit te dagen.

Met deze instellingen wordt de training van het neurale netwerk nagenoeg onmogelijk.

Deep learning

Een DNN is een van de meest effectieve methoden of algoritmen binnen machine learning (ML), waarbij computers leren van data zonder ze expliciet te moeten programmeren. Het is vooral geschikt voor complexe taken zoals beeldherkenning, spraakherkenning en taalverwerking.

Eenvoudige ML-modellen hebben meestal een of enkele verborgen lagen. Bij een complexere architectuur met meerdere verborgen lagen, die in staat is complexere patronen en relaties te herkennen, spreekt men van deep learning (DL). Deep learning is daarmee een subonderdeel van machine learning, al is het onderscheid niet altijd scherp te maken.

Bij DL gebruikt het neurale netwerk logischerwijze meer parameters, wat meteen ook een grotere hoeveelheid data vereist om het effectief te kunnen trainen. Meer data en parameters vereisen uiteraard ook meer rekenkracht, waarvoor vaak talrijke gpu’s (Graphics Processing Units) of gespecialiseerde processors als Googles TPU’s (Tensor Processing Units) nodig zijn.

Een Google TPU op een PCIe-kaart.

Google Teachable Machine

Experimenten met AI

Het zal je nauwelijks verbazen dat je, behalve geavanceerde kennis, frameworks als TensorFlow of PyTorch nodig hebt om een DL-model te ontwikkelen. Wil je hier desondanks toch mee experimenteren, dan biedt Googles Teachable Machine een uitstekende omgeving. Dit project heeft namelijk een interface waarmee je zonder technische expertise toch een AI-model kunt trainen.

Het platform is gebaseerd op DL-technieken en gebruikt neurale netwerken om patronen en kenmerken in diverse datasets te herkennen. Het werkt met voorgetrainde modellen, maar je kunt ook eigen gegevens toevoegen om een aangepast model te trainen. Na training kun je het model exporteren in verschillende formaten en inzetten in een web-app, mobiele app of op toestellen als Raspberry Pi, Arduino of IoT-apparaten.

Via deze GitHub-pagina vind je talrijke leuke projecten met Teachable Machine (van Bananameter tot Snake Game), evenals tutorials. Maar laten we nu vooral zelf aan de slag gaan met een bescheiden project.

Dit model heeft meteen door dat deze banaan overrijp is.

Starten met project

Surf naar https://teachablemachine.withgoogle.com. Hier leer je een computer trainen om je eigen afbeeldingen, geluiden en houdingen te herkennen. Klik op Aan de slag om een nieuw project te starten en kies uit drie modelopties: Projectafbeelding, Audioproject of Project met houdingen.

Wij nemen het eerste model als voorbeeld. Dit opent een venster waarin je kunt kiezen tussen een Model voor standaard afbeelding (kleur, 224 × 224 pixels) of een Model voor ingesloten afbeelding (grijswaarden, 96 × 96 pixels). Dit laatste, een embedded model, is geschikt voor microcontrollers. Wij kiezen hier voor het wat grotere standaardmodel.

Teachable Machine laat je uit drie grote trainingsmodellen kiezen.

Dataset en klassen aanmaken

Je komt nu terecht op een webpagina waar je eerst je dataset moet aanmaken. In dit geval bestaat deze uit afbeeldingen. Je deelt deze op in twee of meer categorieën, die je ook labelt. Teachable Machine heeft standaard twee categorieën (klassen), maar via +Een klasse toevoegen kun je eenvoudig meer klassen toevoegen.

Het aantal klassen dat je nodig hebt, hangt af van je project. Voor het onderscheiden van bijvoorbeeld QR-codes en zebrapatronen volstaan twee klassen (QR en Zebra). Wil je echter overrijpe, rijpe en rauwe bananen classificeren, dan heb je er minstens drie nodig. Zorg eerst dat het juiste aantal klassen beschikbaar is. Via de knop met drie stippen verwijder je desnoods overtollige klassen. Klik bij elke klasse op het potloodicoon en geef de categorie een zinvolle naam.

Daarna voeg je data toe aan elke klasse via de knop Uploaden of Webcam. Bij gebruik van de webcam moet je de pagina toegang geven tot de aangekoppelde camera. Door op Ingedrukt houden om op te nemen te klikken, stuur je continu snapshots naar Teachable Machine. De afbeeldingen verschijnen vervolgens in de betreffende klasse.

Vul je dataset met voldoende en gevarieerde afbeeldingen, via webcam en/of uploads.

Trainen en testen

Zodra je voldoende en gevarieerde data hebt toegevoegd, kun je het AI-model trainen. Klik op Model trainen om direct te starten of pas eerst enkele instellingen aan via het pijlknopje bij Geavanceerd. Hier kun je Tijdvakken, Batchgrootte en Leersnelheid aanpassen, vergelijkbaar met Epochs, Batch size en Learning rate in TensorFlow Playground. Klik op het vraagteken voor meer uitleg. Bij Geavanceerde opties kun je in een apart venster interessante statistieken over het trainingsproces bekijken. Na afloop verschijnt de melding Model getraind.

Klik rechts op Voorbeeld bekijken, zet Invoer op AAN en kies of je via Webcam of Bestand data wilt aanleveren. Wij kozen voor Webcam en testten met verschillende afbeeldingen van QR-codes en zebra’s. Bij Uitvoer toont Teachable Machine een percentage dat de zekerheid van de classificatie weergeeft.

Een QR-code op de rug van een zebra: daar heeft Teachable Machine niet van terug.

Export

Als alles goed werkt en je het model buiten de Teachable Machine-omgeving wilt gebruiken, klik je op Model exporteren. Kies voor Tensorflow.js, selecteer Downloaden en klik op Mijn model downloaden. Pak het gedownloade zip-bestand uit in een lege submap \my_model. Deze bevat een drietal bestanden, maar niet je trainingsdata. Dit komt doordat de neurale netwerkarchitectuur, geoptimaliseerde gewichten en modelconfiguratie kunnen volstaan voor nieuwe voorspellingen.

Ga vervolgens naar het tabblad Javascript, klik op Kopiëren en plak de code in een teksteditor, zoals Kladblok of Notepad++. Sla dit op als een html-bestand in de map net boven de submap \my_model.

Om lokaal te kunnen testen zonder browserfoutmeldingen zet je eerst een eenvoudige webserver op. Wij gebruikten de gratis Abyss Web Server (voor Windows, macOS en Linux). Plaats het html-bestand samen met de submap \my_model in de standaardmap C:\Abyss Web Server\htdocs. Dubbelklik erop om het in je browser te starten. Als het goed is, kun je nu meteen je AI-model testen. Succes.

Je kunt het model bijvoorbeeld testen via een lokale webserver.

▼ Volgende artikel
Waar voor je geld: 5 draagbare bluetooth-speakers voor minder dan 90 euro
© Olga Demina | stock.adobe.com
Huis

Waar voor je geld: 5 draagbare bluetooth-speakers voor minder dan 90 euro

Bij ID.nl zijn we gek op producten waar je niet de hoofdprijs voor betaalt. Een paar keer per week speuren we daarom binnen een bepaald thema naar zulke deals. Ben je op zoek naar een goede bluetooth-speaker voor mee op vakantie? Wij zochten vijf modellen voor je uit voor minder dan 90 euro.

Een draagbare bluetooth-speaker is superhandig als je graag muziek luistert, waar je ook bent. Je koppelt ze in een paar seconden aan je telefoon of tablet, en je kunt meteen je favoriete playlist afspelen – zonder gedoe met kabels of ingewikkelde installatie. Gewoon aanzetten, verbinden en gaan met die beat. Wij zochten vijf modellen voor buiten voor je op, voor minder dan 90 euro.

JBL FLIP 6

Deze Flip 6 van JBL neem je makkelijk overal mee naartoe, maar produceert ondanks zijn compacte formaat toch flink wat geluid. Hij is klein genoeg om in je tas te gooien, maar als je hem aanzet, komt er verrassend veel bas en helderheid uit. Perfect voor op het strand, in het park of gewoon thuis op de keukentafel. Hij kan tegen een stootje – letterlijk – en is helemaal waterdicht. Dus regen of zwembad? Geen probleem. De batterij gaat zo'n 12 uur mee, dus je komt wel een dagje door. En heb je een vriend die ook een JBL-speaker heeft? Dan kun je ze koppelen voor dubbel zoveel geluid.

💪 Gewicht: 941 gram
🌊 Waterdicht: IP67
🔊 RMS-vermogen: 10 watt
🔋 Speelduur: 12 uur

Marshall Willen

De Marshall Willen valt op: niet alleen qua geluid, maar ook door z'n iconische rock-'n-roll-uiterlijk. Hij past makkelijk in je jaszak en maakt indruk met z'n kraakheldere geluid. Ondanks z'n formaat krijg je verrassend veel punch. De accu gaat gerust een hele dag mee en je kunt 'm gewoon meenemen onder de douche of in de regen – hij is namelijk waterdicht. Wat ook fijn is: hij heeft een handige clip waarmee je 'm ergens aan kunt hangen. Ideaal voor onderweg of op de fiets.

💪 Gewicht: 476 gram
🌊 Waterdicht: IP67
🔊 RMS-vermogen: 10 Watt
🔋 Speelduur: 15 uur

Sony ULT Field 1

De Sony ULT Field 1 is compact, makkelijk te dragen en zit verrassend goed in elkaar. Wat echt opvalt is de bas: lekker diep en vol. En als je dat niet genoeg vindt, zet je gewoon de ULT-knop aan voor nog wat extra power. Hij is water- én stofdicht, dus je hoeft 'm niet te sparen. De batterij houdt het een uur of 12 vol, wat prima is voor een dagje buiten. Gewoon een fijne, robuuste speaker die doet wat je nodig hebt.

💪 Gewicht: 650 gram
🌊 Waterdicht: IP67
🔊 RMS-Vermogen: 30 Watt
🔋 Speelduur: 12 uur

Ultimate Ears WONDERBOOM 4

De WONDERBOOM 4 is klein, rond en vrolijk, maar klinkt alsof-ie twee keer zo groot is. Zet hem in het midden van de kamer of je picknickkleed en iedereen hoort even goed wat er speelt, dankzij 360° geluid – en dat werkt verrassend goed. Hij is waterdicht én kan drijven, dus hij mag mee in bad of op een bootje, zolang je 'm maar niet lang onder water houdt. De batterij gaat ongeveer 14 uur mee, en als je er twee hebt, kun je stereo afspelen. Kortom: klein ding, groot geluid, nul zorgen.

💪 Gewicht: 420 gram
🌊 Waterdicht: IP67
🔊 RMS-Vermogen: niet opgegeven
🔋 Speelduur: 14 uur

Denver BTG-615

Denver is misschien nog niet zo bekend als de grote merken, maar deze 15 Watt BTG-615 verrast zeker. Voor een speaker onder de 50 euro krijg je een stevig geluid en een leuke lichtshow dankzij de ingebouwde leds. Perfect voor feestjes in je woonkamer of buiten op het balkon. Hij is spatwaterdicht, dus een beetje regen overleeft-ie wel. De batterij gaat zo'n 5 uur mee - dat is wel een stuk minder dan de andere hier besproken modellen, maar in principe voldoende voor een middagje muziek. En met een handvat bovenop neem je hem zo mee. Geen poespas, gewoon een leuke speaker die doet wat je verwacht.

💪 Gewicht: 2 kg
🌊 Waterdicht: IPX5
🔊 RMS-Vermogen: 15 Watt
🔋 Speelduur: 5 uur