Eén van de taken van Rijkswaterstaat is het beheren van de rijksvaarwegen. Dit houdt onder meer in dat Rijkswaterstaat moet monitoren of alles klopt met de verkeersregels op onze rivieren. Een uitdaging daarin zit onder meer in de scheepvaarttekens, zeg maar de bewegwijzering op het water. Dat zijn niet alleen borden, maar ook seinlichten en drijvende markeringen als boeien.

"De vaarweg is een dynamischere omgeving dan de autoweg", legt data-scientist van RWS Daan van der Maas uit. Borden vallen om, boeien drijven af en lampen kunnen uitvallen. Om die reden voert de organisatie schouwvaarten uit die patrouilleren om te zien of alles nog klopt. "Om meer tijd te kunnen besteden aan handhaving, zijn we naar twee technische oplossingen gaan kijken."

Crowd sourcing en Deep Learning

De eerste daarvan komt neer op 'gebruik de gebruikers', licht de data-scientist toe. "We gebruiken crowdsourcing door middel van een app voor schippers, zodat ze een melding kunnen maken als ze iets opmerken", vertelt hij. Een soort BuitenBeter voor de scheepvaart dus. "Maar dat heeft een probleem: hoe weet je wanneer bijvoorbeeld een bord ontbreekt?"

"Als een bord niet leesbaar is, merk je dat op, maar als de markering helemaal verdwenen is, is het lastiger. Vergelijk dat met de snelweg: wat als een 100 kilometer per uur bord ontbreekt? Vaak is nog wel uit de context af te leiden dat het geen 130 meer is, maar het is wel iets waar je rekening mee moet houden." Met andere woorden, dat verdwenen bord moet worden teruggeplaatst, maar zonder melding wordt dat lastig.

Vandaar de tweede oplossing. Dat is een project met Deep Learning en camera's die worden gemonteerd op binnenvaartschepen. Het idee is dat het smartcameraproject wordt gecombineerd met de crowdsourcing via de app. Ten eerste zorgt het cameraproject ervoor dat signalen van schippers via de app kunnen worden bevestigd aan de hand van de beelden. Ten tweede vang je hiermee de hiaten op die ontstaan als markeringsproblemen niet worden opgemerkt.

Het pilot project

Van der Maas is het afgelopen jaar bezig geweest met een pilotproject waarbij een vrijwilliger slimme camera's op zijn schip plaatste om te zien wat de praktijkuitdagingen zijn. Omdat je dan pas leert wat de benodigde specificaties voor de hardware zijn, is er eerst gestart met eigen hardware. "We gebruikten twee apparaten, één links en één rechts, met een Raspberry Pi en Adafruit-onderdelen als een GPS, camera en antenne", licht hij toe.

Ook is er besloten om zoveel mogelijk voorwerk op de apparaten zelf uit te voeren, zoals je ziet bij Edge Computing. Dat zorgt ervoor dat er geen teveel aan data naar een centrale plek verstuurd hoeft te worden. De data-scientist legt uit dat er elke seconde een foto wordt genomen en als die allemaal worden opgestuurd via 4G, zou dat een enorme datatransmissie opleveren. Zeker als je het project gaat opschalen naar tientallen, zo niet honderden, apparaten die alles naar een centrale database sturen.

Trade-off tussen nauwkeurigheid en krachtige hardware

Maar hoe ga je dat op de apparaten doen? "Een klassieke methode met een ongetraind model is onvoldoende omdat de omgeving te dynamisch is. De nauwkeurigheid daalt als je factoren hebt als mist, wind en regen." Er moet dus wel een voorselectie gemaakt worden en dan kom je uit op neurale netwerken en Deep Learning. "Maar dan ga je zwaar draaien en dat redt je niet op een 1 GB-apparaat", aldus Van der Maas.

Er moet dus een trade-off gemaakt worden tussen nauwkeurigheid en krachtige hardware, zo legt hij uit. Het Deep Learning-aspect was essentieel, maar het moet toe te passen zijn op lichte Edge-hardware. Het team van Rijkswaterstaat kwam uit op Tiny YOLO (You Only Look Once) om Deep Learning toe te kunnen passen. YOLO is een realtime beeldherkenningstechnologie waarbij objecten worden geïdentificeerd in een deel van een afbeelding.

Ben jij ICT'er en benieuwd hoeveel impact jij kan maken? Kijk op werkenvoornederland.nl/bigdata

Kort gezegd werkt YOLO door een raster over een beeld aan te brengen, waarna een algoritme coördinaten bepaalt van de frame die aangeven waar een specifiek object op het beeld voorkomt. Dan brengt het een rechthoekig vak (de bounding box) aan om dit object. In het filmpje zie je een voorbeeld van zulke realtime detectie met bounding boxes, aan de hand van de openingsscène uit de film Skyfall. Hier worden objecten vlug geclassificeerd als "auto", "persoon", "motor" aan de hand van parameters die worden verbeterd met een Deep Learning-proces.

YOLO gebruikt krachtige hardware, zoals een Titan Pascal-GPU en dat proces gaat erg lang duren bij IoT-apparaten. Gelukkig hebben de ontwikkelaars van YOLOv3 ook een versie voor lichtgewicht apparaten gebouwd en dat is Tiny YOLO. Dat gebruikt een vooraf gespecificeerd klein model, zodat de lokale voorselectie waar Rijkswaterstaat naar zocht op een Raspberry Pi kan worden uitgevoerd.

Tevreden over de pilot

Dat is uiteraard niet zo nauwkeurig als een CNN op centrale hardware met machtige GPU's, maar Tiny YOLO levert een trade-off waar Van der Maas tevreden over is, zodat het basisconcept van de lerende beeldherkenning toegepast kan worden op lichte IoT-hardware. Het slimme apparaat pollt geregeld een centrale repository voor nieuwe instructies en modellen, zodat het systeem zich blijft ontwikkelen en verder leren.

Een ander voordeel is dat het zo plug-and-play blijft: de sensorhardware is makkelijk te vervangen zonder dat het systeem daar hinder van ondervindt: de nieuwe slimme camera downloadt de verder verfijnde software en instructies, en kan zo verder met het werk.

De pilot is inmiddels afgerond en als Rijkswaterstaat net als Van der Maas tevreden is over de functionaliteit, hoopt de data-scientist binnenkort aan de slag te kunnen met tien camera's en gefaseerd richting de 200 á 250 te gaan. Het Raspberry Pi-project heeft ervoor gezorgd dat de ontwikkelaars nu weten wat de benodigde specificaties zijn en nu kunnen ze op zoek gaan naar een leverancier die dit in één IoT-product kan leveren.

Ben jij ICT'er en benieuwd hoeveel impact jij kan maken? Kijk op werkenvoornederland.nl/bigdata