Real-time Deep Learning Algoritmes Voor Optimale ... · Bridge Sense real-time data Op de meeste...

7
Provincie Zuid-Holland, november 2019 Real-time Deep Learning Algoritmes Voor Optimale Verkeersdoorstroming Bij Brugopening Dani ¨ el R.L. Overdevest 1,2 , Michael R. de Winter 1 , Dennis van Muijen 1,3 en Joana F.M.F. Cardoso 1* Samenvatting De provincie Zuid-Holland heeft een belangrijke rol in de verkeersdoorstroming binnen de regio door het be- dienen en onderhouden van meer dan 100 bruggen. Slimme ICT-oplossingen bieden nieuwe kansen om via sensoren en algoritmes haarfijn actuele verkeersinformatie te koppelen aan live scheepvaart informatie. In het project ‘Impactmonitor Brugopeningen’ is hierin een wezenlijke stap gezet in het voorspellen van verkeersinten- siteiten rondom een aantal belangrijke bruggen in de provincie Zuid-Holland. De gebruikte Long Short-Term Memory neurale netwerken kunnen met een correlatieco ¨ effici ¨ ent nauwkeurigheid van 75-95% voorspellingen doen tot 21 minuten vooruit. De ontwikkelde algoritmes zijn uitgerold binnen een Azure cloud omgeving en opgeleverd als gebruiksvriendelijke webapplicatie waarin live scheepvaart en verkeersinformatie gepresenteerd wordt. Deze informatie wordt door de applicatie gebruikt om het optimale moment voor een brugopening te adviseren aan een brugbediener. In een volgende fase kan ook deze informatie direct teruggevoerd worden aan het verkeersnetwerk waarmee bijvoorbeeld navigatie software rekening kan gaan houden met geplande brugopeningen. Samenvattend, de ontwikkelde webapplicatie gebruikt recente technologie op het gebied van kunstmatige intelligentie waarmee brugbedieners vakkennis kunnen combineren met de laatste technologie. Keywords Brug monitoringsysteem (BMS), Verkeersdoorstroming Voorspellen, Deep learning, Long Short-Term Memory (LSTM), Verkeerscongestiemodel, Data science, Prognosemodel, Real-time, API 1 Provincie Zuid-Holland, Programma Transparante Open Provincie (TOP) - Opgave Vernieuwing Datawarehouse, Afdeling I & A, Zuid-Hollandplein 1, 2509 LP Den Haag 2 DO IT analytics: [email protected] 3 Affine Solutions: d@affine.nl * Correspondentie: [email protected] Inhoudsopgave 1 Inleiding 1 2 Dataset voorbewerkingen 2 2.1 Gebruikte datasets ...................... 2 2.2 Datakwaliteit en opschoonacties ............ 2 2.3 Gebruikte tools & technieken .............. 3 3 Modeleren en voorspellen verkeersintensiteiten 3 3.1 LSTM neuraal netwerken ................. 3 3.2 Geselecteerde modellen .................. 3 3.3 Parameter optimalisatie .................. 4 4 Model evaluatie 4 4.1 Baseline model ........................ 4 4.2 Resultaten ............................ 4 5 Deployment 5 5.1 Productiewaardig maken ................. 5 5.2 Real-time databronnen ................... 5 5.3 Prognose API ......................... 5 5.4 Performance .......................... 6 6 Conclusie en vervolgonderzoek 7 Acknowledgments 7 Referenties 7 1. Inleiding In de waterrijke en dichtbevolkte provincie Zuid-Holland is een vloeiende doorstroming van het verkeer over water en land van essentieel belang. De provincie Zuid-Holland heeft hierin een belangrijke rol als verantwoordelijke voor het bedienen en onderhouden van meer dan 100 bruggen. Van deze bruggen zijn er 55 die sensoren hebben waarmee gemonitord wordt of de brug open of dicht is. Voor een steeds groter wordend aantal van deze bruggen staat de provincie voor een uitdaging om de verkeersstroom optimaal af te stemmen met de scheepvaart en een toenemende verkeersdrukte. De provincie zet zich in voor een slimmere, veiligere en effici ¨ entere doorvaart om deze uitdagingen te verwezenlijken. Dit doet zij samen met haar partners in de regio – o.a. wegbeheerders binnen Bereik! [1] – het rijk zoals Blauwe Golf Verbindend [2] en het Smart

Transcript of Real-time Deep Learning Algoritmes Voor Optimale ... · Bridge Sense real-time data Op de meeste...

Page 1: Real-time Deep Learning Algoritmes Voor Optimale ... · Bridge Sense real-time data Op de meeste bruggen zijn extra sensoren geplaatst die real-time brugopeningen detec-teert en doorstuurt

Provincie Zuid-Holland, november 2019

Real-time Deep Learning Algoritmes Voor OptimaleVerkeersdoorstroming Bij BrugopeningDaniel R.L. Overdevest1,2, Michael R. de Winter 1, Dennis van Muijen 1,3 en Joana F.M.F.Cardoso1*

SamenvattingDe provincie Zuid-Holland heeft een belangrijke rol in de verkeersdoorstroming binnen de regio door het be-dienen en onderhouden van meer dan 100 bruggen. Slimme ICT-oplossingen bieden nieuwe kansen om viasensoren en algoritmes haarfijn actuele verkeersinformatie te koppelen aan live scheepvaart informatie. In hetproject ‘Impactmonitor Brugopeningen’ is hierin een wezenlijke stap gezet in het voorspellen van verkeersinten-siteiten rondom een aantal belangrijke bruggen in de provincie Zuid-Holland. De gebruikte Long Short-TermMemory neurale netwerken kunnen met een correlatiecoefficient nauwkeurigheid van 75-95% voorspellingendoen tot 21 minuten vooruit. De ontwikkelde algoritmes zijn uitgerold binnen een Azure cloud omgeving enopgeleverd als gebruiksvriendelijke webapplicatie waarin live scheepvaart en verkeersinformatie gepresenteerdwordt. Deze informatie wordt door de applicatie gebruikt om het optimale moment voor een brugopening teadviseren aan een brugbediener. In een volgende fase kan ook deze informatie direct teruggevoerd wordenaan het verkeersnetwerk waarmee bijvoorbeeld navigatie software rekening kan gaan houden met geplandebrugopeningen. Samenvattend, de ontwikkelde webapplicatie gebruikt recente technologie op het gebied vankunstmatige intelligentie waarmee brugbedieners vakkennis kunnen combineren met de laatste technologie.

KeywordsBrug monitoringsysteem (BMS), Verkeersdoorstroming Voorspellen, Deep learning, Long Short-Term Memory(LSTM), Verkeerscongestiemodel, Data science, Prognosemodel, Real-time, API

1 Provincie Zuid-Holland, Programma Transparante Open Provincie (TOP) - Opgave Vernieuwing Datawarehouse, Afdeling I & A,Zuid-Hollandplein 1, 2509 LP Den Haag2DO IT analytics: [email protected] Solutions: [email protected]*Correspondentie: [email protected]

Inhoudsopgave

1 Inleiding 1

2 Dataset voorbewerkingen 2

2.1 Gebruikte datasets . . . . . . . . . . . . . . . . . . . . . . 22.2 Datakwaliteit en opschoonacties . . . . . . . . . . . . 22.3 Gebruikte tools & technieken . . . . . . . . . . . . . . 3

3 Modeleren en voorspellen verkeersintensiteiten 3

3.1 LSTM neuraal netwerken . . . . . . . . . . . . . . . . . 33.2 Geselecteerde modellen . . . . . . . . . . . . . . . . . . 33.3 Parameter optimalisatie . . . . . . . . . . . . . . . . . . 4

4 Model evaluatie 4

4.1 Baseline model . . . . . . . . . . . . . . . . . . . . . . . . 44.2 Resultaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

5 Deployment 5

5.1 Productiewaardig maken . . . . . . . . . . . . . . . . . 55.2 Real-time databronnen . . . . . . . . . . . . . . . . . . . 55.3 Prognose API . . . . . . . . . . . . . . . . . . . . . . . . . 5

5.4 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . 6

6 Conclusie en vervolgonderzoek 7

Acknowledgments 7

Referenties 7

1. Inleiding

In de waterrijke en dichtbevolkte provincie Zuid-Holland iseen vloeiende doorstroming van het verkeer over water en landvan essentieel belang. De provincie Zuid-Holland heeft hierineen belangrijke rol als verantwoordelijke voor het bedienen enonderhouden van meer dan 100 bruggen. Van deze bruggenzijn er 55 die sensoren hebben waarmee gemonitord wordt ofde brug open of dicht is. Voor een steeds groter wordend aantalvan deze bruggen staat de provincie voor een uitdaging om deverkeersstroom optimaal af te stemmen met de scheepvaarten een toenemende verkeersdrukte. De provincie zet zichin voor een slimmere, veiligere en efficientere doorvaart omdeze uitdagingen te verwezenlijken. Dit doet zij samen methaar partners in de regio – o.a. wegbeheerders binnen Bereik![1] – het rijk zoals Blauwe Golf Verbindend [2] en het Smart

Page 2: Real-time Deep Learning Algoritmes Voor Optimale ... · Bridge Sense real-time data Op de meeste bruggen zijn extra sensoren geplaatst die real-time brugopeningen detec-teert en doorstuurt

Real-time Deep Learning Algoritmes Voor Optimale Verkeersdoorstroming Bij Brugopening — 2/7

Shipping programma vanuit Rijkswaterstaat [3].Bij de Provincie is er in projectvorm, samen met Dienst

Beheer Infrastructuur (DBI) en Afdeling Informatisering &Automatisering (I&A), gewerkt aan een innovatieve ICT- op-lossing: de Impactmonitor Brugopeningen. Brugbedienersworden in deze applicatie van real-time informatie voorzienom het meest efficiente openingsmoment voor een brug tebepalen. Hierbij wordt gekeken naar de impact van een brug-opening op doorstroming en uitstoot. Goederenvervoer overwater staat hoog op de agenda van de provincie als duurzamevervoers-modaliteit. Tegelijkertijd veroorzaakt een brugope-ning overlast op de wegen; het zorgt voor file en wachtrijenvoor de brug. De Impactmonitor Brugopeningen is gebouwdom brugbedieners te ondersteunen in het kiezen van het opti-male moment voor een brugopening. De applicatie is uitgerustom de verkeersdrukte tot 21 minuten vooruit te voorspellenin combinatie met actuele scheepsverkeer informatie. Er zijnop dit moment drie bruggen opgenomen in de Impactmoni-tor Brugopeningen: de Coenecoopbrug (Waddinxveen), deLammebrug (Leiden) en de Kruithuisbrug (Delft). De Impact-monitor Brugopeningen is een beslissings-ondersteunendewebapplicatie die helemaal is aangepast op het gedrag enwerkproces van brugbedieners. Uiteindelijk biedt de appli-catie naast real-time informatie ook adviezen voor het besteopenings-moment waarmee zo min mogelijk hinder wordtveroorzaakt voor het wegverkeer met de laagste CO2 voetaf-druk. De applicatie wordt momenteel met een selecte groepgetest waarna deze na verdere evaluatie gefaseerd zal wordeningevoerd in de bediencentrale.

Op technisch vlak komen in de Impactmonitor Brugope-ningen moderne ontwikkelingen op het gebied van big data,kunstmatige intelligentie en applicatieontwikkeling bijeen (fi-guur 1). Van het uitlezen en verwerken van real-time big datain de vorm van verkeersdata uit meetlussen, het verwerken vandeze data door neurale netwerken, een prognose over de ver-wachtte verkeersdrukte tot het uitlezen van diverse API’s. Ditalles samengebracht in een moderne webapplicatie. In dezepaper beschrijven wij zowel de benodigde technische aspec-ten om de data te verwerken, de gebruikte gereedschappen enaanpak op het gebied van machine learning en de uiteindelijkepresentatie-vorm in een gebruiksvriendelijke userinterface.

Figuur 1. Ideale situatie waar de schepen, wegverkeer enbrugbediening met elkaar in verbinding staan via slimmesensoren

2. Dataset voorbewerkingen

2.1 Gebruikte datasetsHIG meetlusgegevens In de provinciale wegen liggen meet-lussen die de doorstroom van het verkeer in aantal voertuigen,soort voertuig en snelheid per voertuig registreert. Slechtseen subset van deze lussen wordt real-time ontsloten aan hetNDW (Nationale Databank Wegverkeersgegevens) – de restwordt gebruikt voor monitoring en evaluatie. Omdat niet allevoor het project relevante meetlussen beschikbaar waren in hetNDW is bij de leverancier een ruwe dataset opgevraagd voorde drie in de inleiding genoemde bruggen. Hierin stondende meest gedetailleerde data van alle voertuigen die over eenmeetlus rijden, waarbij elke regel in de dataset een voertuigis. Voor het verdere gebruik van deze data zijn de individu-ele regels geaggregeerd per minuut met de som van aantalvoertuigen, gemiddelde snelheid en gemiddelde lengte en aan-tallen per voertuigclasses. Hierbij is tussen de een en tweejaar aan historische data gebruikt voor het maken van hetvoorspelmodel afhankelijk van beschikbaarheid per meetlus.

NDW real-time wegverkeersintensiteiten NDW heeft ac-tuele verkeersgegevens van het aantal voertuigen dat per mi-nuut een meetpunt passeert. Deze real-time data wordt ge-bruikt voor de uiteindelijke real-time voorspelling.

Centrale Object Bediening Analyse Log Data (COBALD)brugopening data COBALD is een voor de Provincie ont-wikkeld systeem dat gekoppeld staat aan de bediencentrale.Alle historische brugopeningen met daarin het moment (startdatum/tijd) en de duur van de brugopening staan hierin. Dezehistorische data is gebruikt voor het prepareren en analyserenvan de meetlusgegevens.

Bridge Sense real-time data Op de meeste bruggen zijnextra sensoren geplaatst die real-time brugopeningen detec-teert en doorstuurt aan de Blauwe Golf Verbindend en hetNDW – die het beschikbaar stellen als Open Data. Dezereal-time data wordt gebruikt voor de actuele brugstatus in deontwikkelde webapplicatie.

2.2 Datakwaliteit en opschoonactiesSensordata is vaak gevoelig voor meetfouten waardoor er eenaantal data kwaliteitscontroles en opschoonacties benodigdwaren. De opschoonacties zijn gebaseerd op beschrijvendestatistiek en uitbijters. De volgende opschoonregels zijn toe-gepast:

• Meetlus: Voertuig lengte langer dan 18.7 meter zijnverwijderd.• Meetlus: Voertuig snelheid groter dan 120 km/u zijn

verwijderd.• Brugopening: Brugopeningen korter dan 3 minuten en

langer dan 14 minuten zijn verwijderd.

Voor het model willen we de te verwachten verkeersdrukteweten. Gebeurtenissen op de weg en wegopbrekingen (zo-als een brugopening) geven een vertekenend beeld van de

Page 3: Real-time Deep Learning Algoritmes Voor Optimale ... · Bridge Sense real-time data Op de meeste bruggen zijn extra sensoren geplaatst die real-time brugopeningen detec-teert en doorstuurt

Real-time Deep Learning Algoritmes Voor Optimale Verkeersdoorstroming Bij Brugopening — 3/7

te verwachte intensiteit op een wegdeel. Ten tijde van eenbrugopening geeft de meetlus veelal een intensiteit van 0voertuigen per minuut aan. Hiertoe is besloten om de ver-keersintensiteit ten tijde van de werkelijke brugopening eneen periode van 5 minuten ervoor en erna te corrigeren doorde laatst bekende intensiteit door te trekken (forward fill).

2.3 Gebruikte tools & techniekenVerkeersintensiteitenmodel ontwikkeling Deep learningmodellen zijn ontwikkeld in de Keras library (versie 2.2.4),een open-source neural netwerk pakket geschreven in Python[4]. Keras stelt onderzoekers in staat om snel te experimen-teren met deep neural networks [5]. Keras was gebruikt insamenhang met TensorFlow (versie 1.5.0) als backend [6]waarbij in de experimentele fase de GPU variant van hetgekozen model (sectie 3) is gebruikt. Een grid-search wastoegepast ontleed aan de Scikit-learn machine learning library[7] voor Python . Alle analyses voor het opschonen van dataen het modelleren van verkeersintensiteiten zijn uitgevoerd inPython.

Model evaluatie Tijdens het trainen en selecteren van demodellen zijn verschillende foutstatistieken gebruikt om denauwkeurigheid van de modellen te vergelijken op data uittijdsreeksen waar het model geen gegevens van heeft gezientijdens het trainen. Hiermee kan het model getoetst wordenaan een situatie die vergelijkbaar is in de praktijk. Een aantalfoutstatistieken kunnen gebruikt worden om de nauwkeurig-heid van het resulterende regressie model. In het huidige werkzijn de volgende foutstatistieken gebruikt:

• R-kwadraat (R2): - Het kwadraat van de correlatie- coefficient tussen geobserveerde waardes en voor-speelde waardes door het model. Hoe dichter de R2 ligtbij 1, hoe beter het model.

• Gemiddelde gekwadreerde fout, Mean Squared Error(MSE) - Het gemiddelde verschil tussen geobserveerdeen voorspeelde waardes in het kwadraat. Hoe lager deMSE, hoe nauwkeuriger het model.

• Gemiddeld absolute percentage fout, Mean AbsolutePercentage Error (MAPE) - Het gemiddelde absoluutpercentage afwijking tussen observaties en voorspeldewaardes. Des te kleiner MAPE, des te nauwkeurigerhet model.

Om de nauwkeurigheid van de getrainde modellen te ver-gelijken is het belangrijk deze te testen op data die het modelnog niet eerder heeft gezien. Machine learning en zeker deeplearning modellen zijn der mate complex dat deze zeer vatbaarzijn voor overfitting, d.w.z. niet patronen zijn geleerd, maarhet algoritme heeft de dataset leren kennen. Kruisvalidatie iseen techniek om de nauwkeurigheid en mate van overfittingte kwantificeren voor machine learning modellen. In deze da-taset is hiervoor gebruikt gemaakt door een model te trainenop historische data uit bijvoorbeeld 2017 en deze te testenop data uit 2018. Alle boven geschreven foutstatistieken zijngebruikt voor modelevaluatie.

3. Modeleren en voorspellenverkeersintensiteiten

3.1 LSTM neuraal netwerkenArtificiele Neurale Netwerken (ANN) zijn een set aan algo-ritmes geınspireerd door de enorm efficiente werking van hetmenselijk brein om patronen te herkennen [8][9][10]. EenANN bestaat uit artificiele neuronen en kan in recente jarentot in vergaande diepte en complexiteit efficient getraind wor-den door zogenoemde deep learning algoritmes [11]. Voortijdseries data zoals in deze casus zijn Recurrent (Terugke-rend) Neuraal Netwerken (RNN) vaak een geschikte oplos-sing omdat hierbij neuronen niet alleen informatie uit vorigelagen van het netwerk meewegen, maar ook informatie uitvorige tijdspunten meenemen [12]. Een krachtige variant opRNN’s is het Long Short-Term Memory (LSTM) netwerk diespeciaal is ontwikkeld om lange tijdsreeksen te modelleren[13][14][15]. In het hier gepresenteerde werk zijn LSTMgekozen als uiteindelijk algoritme om real-time verkeersinten-siteiten te voorspellen voor drie bruggen.

3.2 Geselecteerde modellenEen univariaat LSTM model volgens Brownlee [16] in Keraswaarbij meerdere stappen vooruit voorspeld worden was ge-traind voor elke meetlus. Twee verschillende LSTM modellenzijn getest per meetlus en vergeleken op de foutstatistiekenbeschreven in sectie 2. Als eerste is een LSTM model getraindop historische verkeersdata waarbij een tijdsreeks aan inputgebruikt is om een vector aan stappen vooruit te voorspellen(script 1).

In het tweede geval is een encoder-decoder LSTM ge-bruikt (script 2) waarbij de invoer tijdreeks aan data geco-deerd wordt (encode). De decoder gebruikt deze gecodeerdedata en maakt een voorspelling een stap vooruit voor elk ele-ment in de output reeks [16]. Het verschil is klein, aangezienin de praktijk beide modellen een reeks vooruit voorspellen.Het belangrijkste verschil is dat een LSTM model encoder-decoder model informatie heeft over zowel de voorgaandestap die voorspeld is als ook de geaccumuleerde informatieuit de encoder stap wordt meegewogen in het voorspellen vande output sequentie.

Script 1. Python code voor trainen LSTM model met vectoroutputmodel = S e q u e n t i a l ( )model . add (LSTM( n l a y e r s , a c t i v a t i o n = a c t i v a t i o n ,

k e r n e l i n i t i a l i z e r = k e r n e l i n i t i a l i z e r ,i n p u t s h a p e =( n s t e p s i n , f e a t u r e s ) ) )

model . add ( Dense ( n s t e p s o u t ) )

o p t i m i z e r = o p t i m i z e r ( l r = l r , b e t a 1 = b e t a 1 ,b e t a 2 = b e t a 2 ,decay =decay , e p s i l o n = e p s i l o n )

model . compi le ( o p t i m i z e r = o p t i m i z e r , l o s s = l o s s ,m e t r i c s =[ ’ a c c u r a c y ’ , ’mae ’ ] )

Voor zowel het vector output model en het encoder-decodermodel zijn de verkeersintensiteit gegevens over de afgelopen

Page 4: Real-time Deep Learning Algoritmes Voor Optimale ... · Bridge Sense real-time data Op de meeste bruggen zijn extra sensoren geplaatst die real-time brugopeningen detec-teert en doorstuurt

Real-time Deep Learning Algoritmes Voor Optimale Verkeersdoorstroming Bij Brugopening — 4/7

21 minuten gebruikt als input (n steps in) voor de aanko-mende 21 minuten (n steps out). Aangezien hier gebruiktwordt gemaakt van een univariaat model is het aantal featuresper definitie 1.

Script 2. Python code voor trainen van Encoder-decoderLSTM modelmodel = S e q u e n t i a l ( )model . add (LSTM( n l a y e r s , a c t i v a t i o n = a c t i v a t i o n ,

k e r n e l i n i t i a l i z e r = k e r n e l i n i t i a l i z e r ,i n p u t s h a p e =( n s t e p s i n , f e a t u r e s ) ) )

model . add ( R e p e a t V e c t o r ( n s t e p s o u t ) )model . add (LSTM( n l a y e r s , a c t i v a t i o n = a c t i v a t i o n ,

r e t u r n s e q u e n c e s =True ) )model . add ( T i m e D i s t r i b u t e d ( Dense ( dense2 ,

a c t i v a t i o n = a c t i v a t i o n 2 ,k e r n e l i n i t i a l i z e r = k e r n e l i n i t i a l i z e r ) ) )

model . add ( T i m e D i s t r i b u t e d ( Dense ( dense ) ) )

o p t i m i z e r = o p t i m i z e r ( l r = l r ,b e t a 1 = b e t a 1 , b e t a 2 = b e t a 2 ,decay =decay , p s i l o n = e p s i l o n )

model . compi le ( o p t i m i z e r = o p t i m i z e r , l o s s = l o s s ,m e t r i c s =[ ’ a c c u r a c y ’ , ’mae ’ ] )

3.3 Parameter optimalisatieHyperparameter optimalisatie is een belangrijke stap in ont-wikkelen van een deep learning model. Neurale netwerkenzijn complex en lastig te configureren door de vele parame-ters die verfijnd en getest kunnen worden. Deze techniek isbeschikbaar binnen de GridSearchCV klasse [13] , zie sectie2.

Tabel 1. Gekozen hyperparametersParameter Value

epochs 30batch size 40

epochs 30batch size 40n layers 85

optimizer Adamlearning rate (lr) 0.01

beta 1 0.9beta 2 0.9decay 0

epsilon 0.7activation sigmoid

activation2 hard sigmoidkernel initializer glorot uniform

loss msedense1 1dense2 1024

De hyperparameter optimalisatie was uitgevoerd op deCoenecoopbrug data (tabel 1). De geselecteerde hyperpara-meters zijn vervolgens ook gebruikt voor de overige bruggenwaarvoor een neural netwerk model is ontwikkeld (Kruithuis-brug, Lammebrug). Het getrainde model is geexporteerd alseen h5 bestand (figuur 5).

4. Model evaluatie4.1 Baseline modelOmdat de nauwkeurigheid van een machine learning modelrelatief is, is het essentieel om een robuust relatief simpel refe-rentie te hebben als nulmeting. Vanuit deze referentie kunnenopeenvolgende modellen vergeleken worden. Als referen-tiemodel is een mediaan verkeersintensiteit model gebruiktwaarbij per minuut per weekdag de mediaan is genomen alswaarde.

Naast het mediaan model is er geexperimenteerd metARIMA (Autoregressive Integrated Moving Average) en gra-dient boosting. Hoewel beide methodes veelbelovende resul-taten lieten zien, waren deze niet goed in staat om meerdestappen vooruit de voorspellen. Omdat in de eindapplicatienauwkeurigheid in 1 minuut vooruit voorspellen even be-langrijk is als 21 minuten vooruit is gekozen om de focus teverleggen naar LSTM modellen. Alle in sectie 2 genoemdefoutstatistiek (R2 , MSE, MAE and MAPE) zijn gebruikt omde LSTM modellen af te vergelijken met het mediaan model.

4.2 ResultatenVector output en encoder-decoder LSTM modellen zijn ge-traind voor elke meetlus per rijrichting. Voorspelde waardeszijn vergeleken met daadwerkelijk observaties uit de test set.Hierbij presteerden de LSTM modellen over de gehele linieaanzienlijk beter dan het mediaan model, gemiddeld 20% be-ter op basis van de gekwadrateerde correlatiecoefficient (tabel2).

Tabel 2. Foutstatistieken voor de verschillende modellen

Het uiteindelijke model per brug om in real-time de ver-keersintensiteit te voorspellen was geselecteerd op basis vande verschillende foutstatistieken. Voor de Coenecoopbrugen de Lammebrug was de encoder-decoder LSTM gekozenomdat de foutstatistieken over vrijwel de hele linie beter wa-ren. Voor de Kruithuisbrug was het encoder-decoder maar

Page 5: Real-time Deep Learning Algoritmes Voor Optimale ... · Bridge Sense real-time data Op de meeste bruggen zijn extra sensoren geplaatst die real-time brugopeningen detec-teert en doorstuurt

Real-time Deep Learning Algoritmes Voor Optimale Verkeersdoorstroming Bij Brugopening — 5/7

beter voor 1 van de meetlussen (860, laan 0-1). In dit geval isgekozen voor het vector output model. Hierbij heeft het mo-del geleerd weekdagen van weekenddagen uit de univariatetijdseries te onderscheiden en past het model de voorspel-ling aan op basis van voorafgaande verkeersdrukte. In deImpactmonitor Brugopeningen worden drie scenario’s doorge-rekend en gepresenteerd aan de brugbediener: de cumulatieveverkeersintensiteit over de aankomende 1 tot 7 minuten, hetcumulatieve verkeer 8 tot 14 minuten vooruit en 15 tot 21minuten. Voor het eerste scenario van 1 tot 7 minuten voor-uit zijn de betrouwbaarheidsscores weergegeven in figuur 2.Hierbij is de prognose en de daadwerkelijke geobserveerdeverkeersintensiteit afgezet tegen de tijd. De voorspellingen1 minuut vooruit zijn zeer betrouwbaar (R2 > 0.94) (figuur3). Binnen deze drie scenarios valt op dat de betrouwbaar-heid van de voorspellingen afneemt wanneer er verder in detoekomst wordt voorspeld, maar de R2 blijft ruim boven 0.75.De hogere betrouwbaarheid van de Kruithuisbrug (R2=0.91tot 21 minuten vooruit) komt mogelijk doordat het verkeerzich rondom deze brug uniformer over de meetlus beweegt endaardoor minder uitschieters bevat.

Figuur 2. – Werkelijke observaties en voorspeldeverkeersintensiteiten van het aantal voertuigen voor het eersteblok van 7 minuten op basis van de – door het model nogongeziene - test dataset. Data: Lammebrug meetlus 9 (rijbaan3-4), Kruithuisbrug meetlus 861 (rijbaan 0-1) enCoenecoopbrug meetlus 31 (rijbaan 1).

Figuur 3. – Betrouwbaarheid van de voorspellingengedurende 21 minuten.

5. Deployment

5.1 Productiewaardig makenOm het voorspelmodel in de praktijk te kunnen gebruikenmoet het operationeel gemaakt worden. De input variabelenvan het model worden real-time uitgelezen vanuit het NDW.De berekende uitkomsten van het model zijn vervolgens be-naderbaar voor de webapplicatie middels een API. De datauit de API wordt opgehaald en getoond in de uiteindelijkwebapplicatie (figuur 4).

Figuur 4. Screenshot van detailpagina van een brug uit deImpactmonitor Brugopeningen

5.2 Real-time databronnenDe input voor het model is de NDW meetlusinformatie metdaarin de intensiteit per minuut (figuur 5). Deze data moet real-time beschikbaar zijn. Dit is gerealiseerd door elke minuutde Open Data-set bij het NDW op te halen via FTP en opte slaan in een Service Bus (Azure EventHub). Deze zetvervolgens per meetlus de data klaar in sets van 30 minutenin een tijdelijke Azure Table omwille van de performance.

5.3 Prognose APIDe voorspelling is beschikbaar gesteld middels een zelf ont-wikkelde API in de programmeertaal Python [4] gebaseerd

Page 6: Real-time Deep Learning Algoritmes Voor Optimale ... · Bridge Sense real-time data Op de meeste bruggen zijn extra sensoren geplaatst die real-time brugopeningen detec-teert en doorstuurt

Real-time Deep Learning Algoritmes Voor Optimale Verkeersdoorstroming Bij Brugopening — 6/7

Figuur 5. Onderzoeksfase met als resultaat een modeluitkomst (.H5 bestand) die wordt gebruikt in de real-timevoorspel API.

op FastAPI framework [17]. Er is gekozen voor een zelf ont-wikkelde API omdat performance erg belangrijk is en er geenstandaardoplossingen zijn om een API te maken voor eenKeras model. De documentatie van de API is gedaan middelsOpenAPI standaarden.

De API voert de volgende stappen uit om tot het resul-taat te komen bij het op vragen van de voorspel end-point/predict/{isrs}:

1. Configuratie van brug ophalen met daarin vooraf ingela-den brug specifieke LSTM model (.h5 files) & verkeers-congestie rekenmodel (in-memory). Het verkeerscon-gestierekenmodel is ontwikkeld door Arcadis en rekentde voertuigverliesuren en hersteltijd van een brug uitop basis van de schokgolftheorie.

2. NDW real-time dataset ophalen met verkeersintensitei-ten en verhouding soort verkeer.

3. LSTM model laten voorspellen met NDW set als input.

4. Output van model zijn voorspelde intensiteiten vooraankomende 21 minuten die worden “ingeladen” in hetverkeerscongestierekenmodel.

5. Verkeerscongestiemodel rekent voertuigverliesuren (VVU)en hersteltijd van brug uit.

6. CO2 uitstoot indicator wordt uitgerekend aan de handvan Voertuigverliesuren en verhouding van het soortverkeer.

7. Resultaten worden samengevat in 3 tijdsblokken van7 minuten (in de toekomst) – dat de tijdsblokken zijnwaaruit de brugbediener kan kiezen.

De verkeersintensiteiten prognose API is technisch be-schikbaar gesteld via Azure App Services door de logica, ver-keerscongestiemodel en FastAPI in te pakken in een Dockercontainer waar alle afhankelijkheden in zitten. Het voorspel-model is te benaderen via een webadres(https://domeinnaam.nl/predict/isrs) en geeft 3 tijdsblokken terug als uitkomst. Eenvoorbeeld hiervan is te zien in figuur 6.

Figuur 6. Voorbeeld uitkomst van de voorspel API van deCoenecoopbrug – opgevraagd op zaterdag 31 augustus 2019om 13:13, waarbij in onderdeel predictions de 3 voorspelblokken zichtbaar zijn en in het onderdeel trafficFlow degebruikte verkeersintensiteit als input en de voorspeldeintensiteit als output.

5.4 PerformancePerformance is van enorm belang – gezien de brugbedienersniet willen wachten op de uitkomst van het model. De NonFunctional Requirement (NFR) is dat de voorspelling binnen3 seconden op het scherm te zien moet zijn. De uiteindelijkoplossing biedt een responsetijd tussen de 0,5 en 2 seconden.

Page 7: Real-time Deep Learning Algoritmes Voor Optimale ... · Bridge Sense real-time data Op de meeste bruggen zijn extra sensoren geplaatst die real-time brugopeningen detec-teert en doorstuurt

Real-time Deep Learning Algoritmes Voor Optimale Verkeersdoorstroming Bij Brugopening — 7/7

6. Conclusie en vervolgonderzoekUit de analyse van verkeersintensiteiten bleek dat de ver-keersdrukte rondom een aantal bruggen van de provincie uitverschillende componenten bestaat. Als eerste een cyclischedagelijkse dag en spits component. Ten tweede een wisse-lende component waarbij de direct voorgaande verkeersdruktevoorspellend is voor wat daarna volgt en ten derde een stochas-tische component waarin verkeersintensiteit schommelingenin korte uitbarstingen voorkomen. Ten opzichte van het medi-aan model waarin informatie zoals tijdstip en dag is verwerktkan het LSTM zonder deze informatie toch aanzienlijk be-tere voorspellingen maken. Dit geeft aan dat zowel de directvoorafgaande drukte als statische factoren een belangrijke rolspelen in de verkeersintensiteit.

De LSTM modellen bieden verder een nauwkeurige mo-gelijkheid om meerdere stappen in de toekomst vooruit tevoorspellen. Hiermee kan een brugbediener tot 21 minutenvooruit een prognose krijgen over de verwachtte verkeers-drukte en de berekende voertuigverliesuren, extra uitstoot enhersteltijd van verkeer rondom een brug veroorzaakt door eenbrugopening. Ook zijn er nog ruime mogelijkheden tot hetverder optimaliseren van de verkeersintensiteit prognoses zo-als het bouwen van een multivariate LSTM model waarin tijden weergegevens worden meegewogen naast het trainen opgrotere historische datasets.

Daarnaast zijn er optimalisaties mogelijk door data vande scheepvaart verder mee te wegen in het advies dat deImpactmonitor Brugopeningen geeft. Het ontwikkelde modelis opgeleverd als gebruiksvriendelijke webapplicatie waarinbig data concepten en recente ontwikkelingen op het gebiedvan machine learning zijn weg naar de praktijk vinden. Deapplicatie is in een fase waarin deze door de eerste gebruikersin gebruik kan worden genomen.

AcknowledgementsDit project was niet mogelijk geweest zonder de kennis uitde praktijk en support vanuit de afdeling Dienst Beheer In-frastructuur, in het bijzonder Ellen van der Knaap, Tim Blan-ken, Tino van As en Jillis Mani. Het ontwikkelen, opleverenen stroomlijnen van de applicatie was niet gelukt zonder deinbreng van de vele collega’s vanuit het vernieuwd dataware-house van de provincie Zuid-Holland, bovenal Bart Witteveen,Firuze Kuru, Dennis Weijsenfeld en Kevin Otjes.

Referenties[1] https://bereiknu.nl/ BEREIK! is het samenwerkingsplat-

form van Rijkswaterstaat, Provincie Zuid Holland, Metro-poolregio Rotterdam Den Haag, Gemeenten Rotterdamen Den Haag en Havenbedrijf Rotterdam voor regionalebereikbaarheidsvraagstukken.

[2] https://blauwegolfverbindend.nl/, Blauwe Golf Verbin-dend ontsluit real-time gegevens over geopende bruggenen beschikbare ligplaatsen in havens

[3] https://www.zuid-holland.nl/@21238/smart-shipping/Partnershipovereenkomst Smart Shipping.

[4] Van Rossum, G., Drake Jr, F.L., 1995. Py-thon tutorial. Centrum voor Wiskunde enInformatica, Amsterdam, The Netherlands.https://www.python.org/downloads/release/python-367

[5] Abadi, Martın, et al. ”Tensorflow: A system for large-scale machine learning.”12th USENIX Symposium onOperating Systems Design and Implementation (OSDI16). 2016.

[6] Chollet F. , 2015. Keras, GitHub.https://github.com/fchollet/kera

[7] Pedregosa, Fabian, et al. ”Scikit-learn: Machine learningin Python.”Journal of machine learning research 12.Oct(2011): 2825-2830.

[8] Zurada J.M.,1992. Introduction to artificial neural systemsvol. 8. West publishing company, St.Paul.

[9] Jain A.K., Mao J., Mohiuddin K.M., 1996. Artificial neuralnetworks: A tutorial. Computer 29, 31-44.

[10] Zhang G., Patuwo B.E., Hu M.Y., 1998. Forecasting withartificial neural networks: The state of the art. Internationaljournal of forecasting 14, 35-62.

[11] LeCun, Yann, Yoshua Bengio, and Geoffrey Hinton.”Deep learning.”nature 521.7553 (2015): 436.

[12] Mandic D.P., Chambers J., 2001. Recurrent neural net-works for prediction: learning algorithms,rchitectures andstability. John Wiley & Sons, Inc.

[13] Hochreiter S., Schmidhuber J., 1997. Long short-termmemory. Neural computation 9, 1735–1780.

[14] Gers F.A., Eck D., Schmidhuber J., 2001. ApplyingLSTM to time series predictable through timewindow ap-proaches. In: Dorffner G., Bischof H., Hornik K. (eds)Artificial Neural Networks. ICANN 2001, Lecture Notesin Computer Science, vol 2130. Springer, Berlin, Heidel-berg.

[15] Sak H., Senior A., Beaufays F., 2014. Long short-termmemory recurrent neural network architectures for largescale acoustic modeling. INTERSPEECH 2014, 14-18September, Singapore, 338-342.

[16] Brownlee, Jason. ”Text Generation With LSTM Recur-rent Neural Networks in Python with Keras.”(2018).

[17] https://fastapi.tiangolo.com/ FastAPI framework, highperformance, easy to learn, fast to code, ready for produc-tion

[18] Newell, Gordon F. ”A simplified theory of kine-matic waves in highway traffic, part I: General the-ory.”Transportation Research Part B: Methodological 27.4(1993): 281-287.