ID.nl logo
Olive Video Editor: filmpjes maken als Tarantino
© PXimport
Huis

Olive Video Editor: filmpjes maken als Tarantino

Veel mensen delen hun filmpjes zoals ze zijn opgenomen. Men vindt nabewerking net iets te ingewikkeld. Daarbij is goede software voor die bewerking vaak duur. Herken je dat? Dan zou je toch Olive Video Editor eens moeten proberen. Het is gratis en beschikt over geavanceerde functies in een gebruiksvriendelijk jasje. De Olive Video Editor bevat daarnaast geen reclame, werkt niet-destructief én is razendsnel.

Tip 01: Installeren

Je downloadt de Olive Video Editor hier. Op de website staan versies voor Windows 7 en hoger, één voor macOS 10.12 en hoger en één voor Linux. Bij Windows kun je kiezen uit twee draagbare edities en twee klassieke installers (allemaal in zowel 32 als 64 bit). Het installatieprogramma voor Windows is slechts 34,6 MB groot. Dat is voor een uit de kluiten gewassen video-editor bescheiden. Het geïnstalleerde programma neemt 110 MB in beslag. Wanneer je het programma opent, kom je in een antracietdonkere werkomgeving. De openingsboodschap geeft aan dat het om een alfaversie gaat. Klik op OK en je kunt aan de slag.

©PXimport

Alfa

Een alfaversie is software die nog in ontwikkeling is. Dat betekent dat de toepassing nog onvolmaaktheden kan bevatten. Bij ons werkte de software vlot. Wel merkten we dat de hulpbestanden en de tutorials nog niet klaar zijn. Dat laatste is geen probleem, omdat je met deze workshop alsnog aan de slag kunt. De Olive Video Editor slaat automatisch op. Dat is handig, zeker in een alfaversie. Wanneer er iets fout gaat, kun je het programma herstarten en gewoon weer verder werken aan waar je was gebleven.

Tip 02: Media importeren

We maken een filmpje dat bestaat uit filmclips, foto’s en muziek. De verschillende media-onderdelen haal je binnen via het menu File / Import. Alle geïmporteerde bestanden komen linksboven in het deelvenster Project te staan. Met een schuifje regel je de grootte van de miniaturen. Het projectvak dreigt snel een rommeltje te worden. Om het overzichtelijk te houden, maak je met File / New / Folder afzonderlijke mappen aan, bijvoorbeeld voor video, audio en foto’s. Daarna sleep je de bestanden in de juiste mappen, zoals de video’s in de map Video. Uiteraard kun je de mappen aanmaken zoals die voor jou logisch zijn. In iedere map maak je met de rechtermuisknop en New / Folder submappen aan. Om naar een hoger niveau te navigeren, gebruik je de knop met het pijltje dat omhoog wijst.

©PXimport

Tip 03: Tijdlijn

Sleep het videofragment waarmee je de film wilt beginnen op de tijdlijn. De getallen bovenaan geven het aantal frames weer. Aan de linkerkant zie je een aantal knoppen waarmee je de clips op de tijdlijn kunt bewerken. Een clip bestaat uit twee paarse balkjes. Het bovenste balkje is het beeld, het onderste is het geluid. Om nauwkeurig te werken kun je inzoomen op de tijdlijn. Dat doe je door op de knop met het vergrootglas te klikken, of je gebruikt de Ctrl-toets in combinatie met het muiswieltje. Terwijl je bezig bent, krijg je een voorvertoning in de Sequence Viewer, rechts bovenaan.

©PXimport

Je kunt altijd op je stappen terugkeren, want Olive Video Editor is een non-destructief programma

-

Tip 04: Deelvensters

Ieder deelvenster kun je verslepen en sluiten met de knoppen rechtsboven in het desbetreffende scherm. Om een gesloten venster opnieuw te openen, gebruik je het menu Window en vervolgens selecteer je de naam van het deelvenster dat je wilt zien. Weet je niet meer hoe de werkomgeving er oorspronkelijk uitzag, dan zet je met Window / Reset to Default alles terug zoals het in het begin was. Om te voorkomen dat je tijdens het werken de vensters door elkaar haalt, leg je de werkomgeving vast met Window / Lock Panels.

©PXimport

Tip 05: Beeld en geluid splitsen

Wil je muziek onder de video plaatsen, dan is het verstandig om het oorspronkelijk achtergrondgeluid weg te halen. Hiervoor moet je eerst de video en de audio van elkaar scheiden. Klik met de rechtermuisknop op het gecombineerde video/audio-balkje in de tijdlijn. In het contextmenu kies je de opdracht Link/Unlink. Hiermee ontkoppel je geluid en beeld. Daarna selecteer je het onderste spoor. Met de rechtermuisknop kies je de opdracht Delete. Je kunt altijd op je stappen terugkeren, want de Olive Video Editor is een niet-destructief programma. Dat betekent dat het de mediabestanden die je hebt geïmporteerd, niet aantast.

©PXimport

Tip 06: Trimmen

Meestal moet je fragmenten inkorten. Dat gaat heel eenvoudig: sleep de rechterkant of de linkerkant van de videobalk tot waar de clip moet beginnen of eindigen. Terwijl je dit doet, lees je hoeveel frames er nog overblijven en hoeveel frames je wegsnijdt. Omdat de Olive Video Editor niet-destructief werkt, kun je het fragment altijd weer verlengen. Het ook mogelijk om een fragment te splitsen. Hiervoor sleep je de rode afspeelknop naar de plaats waar de knip moet komen. Je klikt met rechtermuisknop op de rode link en kiest de opdracht Split. Je kunt hiervoor ook het scheermesje gebruiken, de zogenoemde Razor Tool die je vindt in de knoppenbalk links.

©PXimport

Clips plaatsen is slechts een kwestie van slepen en neerzetten

-

Tip 07: Overgangen

Clips plaatsen is slechts een kwestie van slepen en neerzetten. Je kunt rustig de volgorde wijzigen door een balkje naar een andere positie te slepen. Ook het aanbrengen van overgangen is een fluitje van een cent. Je klikt met de rechtermuisknop op de clip waar de overgang moeten komen en gebruikt de opdracht Add Default Transition. De Olive Video Editor heeft een voorkeur voor de Cross Dissolve-overgang, een zachte overgang aan het begin én het einde van de clip. Je kunt met de muisaanwijzer de zijkant van zo’n overgang vastpakken en verslepen om die langer of korter te maken. Wanneer je een overgang selecteert, zie je bovenaan in het deelvenster Video Effects de lengte uitgedrukt in frames. Klik op het oranje getal om de lengte tot op een frame nauwkeurig te bepalen. Op dit ogenblik is er slechts één overgang voor het beeldspoor en er zijn er drie voor het geluid.

©PXimport

Tip 08: Video-effecten

Je kunt uiteraard effecten loslaten op de clips. Vergeet dan niet om eerst het fragment te selecteren dat je wilt bewerken. Daarna klik je in het deelvenster Video Effects op de knop linksboven Add Video Effect. Hier kun je uit zes rubrieken een effect kiezen. Er zitten hoogstandjes bij, zoals in de rubriek Keying. Hier kun je een achtergrondkleur selecteren die de editor maskeert. Daarmee kun je een green key toepassen en een egaal groene achtergrond laten verdwijnen. Vervolgens sleep je de clip boven een nieuwe achtergrond. Daardoor lijkt het alsof de persoon die je hebt gefilmd, in een nieuwe omgeving staat. Ook in de rubriek Stylize vind je leuke effecten, zoals Toonify waarmee je een cartooneffect creëert. In sommige clips is Volumetric Light ook heel mooi, waarbij het lijkt alsof je een supersterke lamp op een deel van de film zet. In het Effects-venster regel je de instellingen van de effecten die je hebt gekozen.

Render

Bij de effecten in de rubriek Render zitten enkele functies die tekst toevoegen op een clip. We bedoelen de effecten Rich Text, Solid en Timecode. Hiermee plaats je tekst, een gekleurd vlak of een tijdcode op het beeld. Kies je voor Timecode, dan verschijnen de framenummers op de videobeelden. Dat kan handig zijn bij het monteren. Is de montage klaar, dan haal je het vinkje weg voor dit effect.

©PXimport

Tip 09: Tekst

Ook voor titels en tekst moet je in de categorie Render van Effects zijn. Daar selecteer je Rich Text. In het vak Text geef je de tekst vorm en kleur. Hier vind je ook de functie Padding, dat is de ruimte tussen de tekst en de rand. Positioneer de tekst door bij de waarde Position de muisaanwijzer naar links of rechts slepen. De tekst in het previewvenster volgt dan horizontaal of verticaal. Het is zelfs mogelijk om de tekst over het beeld te laten schuiven met de optie Auto-Scroll. Om de tekst beter leesbaar te maken, kun je een schaduw achter de letters plaatsen.

©PXimport

Tip 10: Snelheid en meer

Klik met de rechtermuisknop op een videoclip en kies Speed/Duration. Hier lees je de framerate die 24 frames per seconde bedraagt. Met de optie Reverse draai je de afspeelrichting van een clip om. Water verdwijnt weer terug in de kraan en een omelet floept in een ei terug. Je kunt hier ook de snelheid van de clip aanpassen. Standaard staat die op 100%. Om de snelheid te vertragen geef je bijvoorbeeld 60% in. Wil je de snelheid verdubbelen dan kies je 200%. Een interessante optie is Maintain Audio Pitch. Hiermee vertraag of versnel je de audio, maar blijft de toonhoogte hetzelfde. Als we deze optie op een filmpje van een Spaanse gitarist toepassen, klinkt de muziek trager, maar blijven de klanken net zo helder als dat ze zijn.

©PXimport

Tip 11: Sporen in lagen

In plaats van de verschillende clips achter elkaar toe te voegen, is het ook mogelijk om de clips naar een hoger of lager spoor te slepen. Daarmee staan de beelden in lagen over elkaar. Bij iedere laag kun je de dekking regelen in de instelling Opacity van het deelvenster Video Effects. Wanneer je het bovenste spoor een dekking van slechts 50% geeft, is die clip half doorzichtig over de onderliggende clip te zien. Als je het vakje Transform aanvinkt, is het mogelijk om de bovenste clip te verkleinen en ergens in een hoek te slepen, zodat je beide fragmenten tegelijk kunt bekijken. Je kunt dat handmatig doen of je gebruikt de waarden Scale en Position in het deelvenster Video Effects. Het is zelfs mogelijk om de bovenste video te kantelen zodat die geroteerd in beeld komt.

©PXimport

Schuifregelaars

Alle waarden in de panels kun je aanpassen door getallen in te voeren. Dat is alleen vaak een kwestie van gissen en missen. Handiger is het om op het oranje getal te klikken en de muisknop ingedrukt te houden. Daarmee kun je de muisaanwijzer naar links of naar rechts slepen en de waarden zo traploos aanpassen. Als je het op deze manier doet, verschijnt er boven het getal een dubbele pijl die aangeeft dat je over een onzichtbare schuifregelaar beschikt.

©PXimport

Tip 12: Klank

Om de montage van achtergrondmuziek te voorzien, gebruik je opnieuw de Import-functie om het geluidsbestand binnen te halen. Daarna sleep je het audiobestand op de tijdlijn. Weer is het mogelijk om verschillende audiobestanden na elkaar te plaatsen. Je kunt ze ook op verschillende sporen gedeeltelijk over elkaar plaatsen: daardoor loopt de muziek in elkaar over. De lengte van een audiotrack pas je op dezelfde manier aan als bij een videoclip: je versleept het begin en/of het einde. Om de muziek zacht in te zetten en op het einde te laten uitfaden, klik je met de rechtermuisknop op de audiobalk en kies je Add Custom Transition. Je ziet dat bovenaan de Video Effects zijn veranderd in Audio Effects. Met de onderste schuifjes regel je de fade-in en fade-out. Tegelijk kun je het volume aanpassen. Ook de geluidsoptie Pan is interessant. Standaard heeft die de waarde 0. Maak je die instelling negatief, dan klinkt het geluid sterker door de linkerspeaker. Zet je de pan-instelling op 100, dan klinkt het geluid uitsluitend door de rechterluidspreker. Op die manier kun je het geluid van de ene naar de andere kant laten lopen.

©PXimport

Diashow in minder dan een minuut

We hebben het gehad over het monteren van video- en audiobestanden, maar met de Olive Video Editor kun je meer. Je kunt namelijk heel snel een diashow van foto’s maken en exporteren als videobestand. We hebben dit geprobeerd: in minder dan één minuut maakten we een diashow van 33 foto’s die in elkaar overliepen. We importeerden de fotobestanden tegelijkertijd. Daarna selecteerden we alles en sleepten we de afbeeldingen uit het projectvak op de tijdlijn. We drukten vervolgens op de shift-toets en selecteerden de even nummers, dus de tweede foto, de vierde en zo verder De selectie sleepten we naar een hoger spoor. We selecteerden alle foto’s op de tijdlijn en met de rechtermuisknop kozen we de opdracht Add Default Transition. Terwijl alle foto’s nog steeds waren geselecteerd, verlengden we de overgang van één fotoclip. Daarmee werd deze opdracht op alle geselecteerde foto’s toegepast. Je verlengt de overgang door met de muisaanwijzer de eindovergang een beetje naar rechts te slepen. Daarna sleep je de beginovergang een beetje naar links. Klaar!

©PXimport

Het project is opgeslagen in het ove-formaat, dat bijzonder kleine bestanden oplevert

-

Tip 13: Exporteren

Terwijl je werkt, bewaar je het project in het ove-formaat. Dat levert een bijzonder klein bestand op van slechts enkele tientallen kilobytes. De Olive Video Editor slaat uitsluitend de bewerkingen op die je op de mediabestanden hebt uitgevoerd. Om het bestand te exporteren naar een gangbare video-indeling gebruik je de opdracht File / Export. Vervolgens krijg je een brede keuze aan uitvoermogelijkheden. Standaard kiest het programma het videoformaat mpeg-4 met een framerate van 30 frames per seconde. Andere formaten als avi, QuickTime, mpeg-2, Matroska-mkv en Windows Media zijn ook geen probleem. Het is zelfs mogelijk het filmpje te exporteren naar een gif of een animated png-bestand.

©PXimport

▼ 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