Research by KU Leuven thesis students provides interesting and valuable insights for Telraam

There is always a lot going on behind the scenes of Telraam that is not immediately visible for our users. As you might have read in our 'Who is Who' already, some of us are working on improving the IT architecture to make sure the servers and APIs are always up for the task, while others are busy with maintaining and growing the Telraam family by working with the interested citizens and various levels of governments, with work ranging from writing technical business proposals to providing a dedicated helpdesk to resolve any potential questions coming from current and future Telraam users.

Successful theses

With connections to academia (being a spin-off of Transport & Mobility Leuven, who are a spin-off of KU Leuven itself, and having colleagues among us who worked at the KU Leuven before), we also propose Master and Bachelor Thesis projects from time to time, and two of Péter’s (centre of the blog picture) projects were taken up by students of the Master of Science in Engineering: Computer Science, option Artificial Intelligence Program. Unfortunately due to Covid-19 we could not meet these students in person, but this did not stop us from having weekly online progress and brainstorming meetings with them and their other supervisors. Both manuscripts were submitted in August and both candidates defended their work successfully over the first week of September. In this blog post we would like to showcase their work a bit.

High traffic, low downtime

Estephan Rustom (right of the blog picture) wrote his thesis on Spatial and Temporal Processing and Analysis of Traffic Data. Under the technical title, three practically interesting challenges were tackled, two of which are summarised below.

First of all, Estephan created a method to estimate the traffic volume for Telraam segments where for some technical reason (e.g. electrical network blackout, or an outage of the wireless connection) data is missing for a couple of hours. He handles the problem by looking at the typical traffic level on the street in question (using the historical data of this segment) and then looking for nearby segments with similar typical traffic levels throughout the day, preferably within a reasonable geographical radius, so he does not take into account streets in the UK and Spain, when trying to fill in missing data for Belgium. Then for the missing hours a weighted average is calculated hour-by-hour, and these hourly averages are used as estimates for the non-observed traffic. This technique could be especially useful to estimate evening traffic levels for cameras that are installed during the winter, since for the dark evening hours we could use estimates coming from the typical traffic of similar streets that were already observed during the summer months.

Estephan also made simulations to study the expected uncertainty of our measurements that originates in the unavoidable downtime component of our current setup. As a reminder, around 20-30% of the time (roughly 30 seconds every 2.5 minutes) the Telraam devices are not counting traffic, but they are performing background calculations. Therefore we need to correct every hour’s raw counts to estimate the actual traffic that we would have observed without such downtimes. These corrected values are the counts displayed on the Telraam website and in our APIs. To cut the long story short, Estephan derived a formula that can be used to calculate the theoretical uncertainty of our corrected counts, given the value of the observed traffic volume and the value of the downtime. Some relatively extreme examples for the estimated traffic and its uncertainty from using this formula are the following:

a.   Low traffic (10 cars / hour) large downtime (20% uptime): 10 ± 6.5 cars (65% uncertainty)

b.   Medium traffic (100 cars / hour) large downtime (20% uptime): 100 ± 21 cars (21%)

c.   High traffic (1000 cars / hour) large downtime (20% uptime): 1000 ± 65 cars (6.5%)

d.   Low traffic (10 cars / hour) medium downtime (50% uptime): 10 ± 3.1 cars (31%)

e.   Medium traffic (100 cars / hour) medium downtime (50% uptime): 100 ± 10 cars (10%)

f.    High traffic (1000 cars / hour) medium downtime (50% uptime): 1000 ± 31 cars (3.1%)

g.   Low traffic (10 cars / hour) low downtime (80% uptime): 10 ± 1.6 cars (16%)

h.   Medium traffic (100 cars / hour) low downtime (80% uptime): 100 ± 5 cars (5%)

i.    High traffic (1000 cars / hour) low downtime (80% uptime): 1000 ± 16 cars (1.6%)


What did we learn?

These results are as expected: the higher the traffic volume or the smaller the downtime is, the more precise our traffic measurements will be. In very low traffic streets having a good uptime is critical, while in high traffic streets even looking at the traffic less than 50% of the time would provide less than 5% uncertainty. So assuming the classification is flawless, these values could be considered to be the actual uncertainties of Telraam traffic count data.

Improving the classification


Louis Soers (left of the blog picture) wrote his thesis about Improving the road user classification for traffic counts (original title in Dutch: Verbeteren van weggebruikersclassificatie voor verkeerstellingen). During his work Louis experimented with various classification methods to come up with a method that could replace the currently implemented global classifier. His research illustrated well how much of a challenge this task actually is – given the current Telraam architecture –, and therefore how much of an improvement the Telraam V2 hardware will bring (as the built in AI technology will replace the current server-side classification method), which is currently in the prototyping phase, and is scheduled to be ready in 2022.
Louis managed to develop an algorithm, where the collected object data is classified on a camera-by-camera basis in steps.

  1. First the data is “overclustered”, meaning that all objects are categorised in 25 groups (even though we are only looking for cars, cyclists and pedestrians), based on their fullness and axis ratio, so object that are very similar to each other are placed in one temporary cluster.
  2. Afterwards the temporary clusters that represent the cars are merged. These are identified by the use of a combined parameter that is calculated from other object parameters such as the area, the width, and the speed.
  3. Finally the remaining temporary clusters are divided into two classes (cyclists and pedestrians), based on their relative speed (speed in pixel per seconds divided by the object width in pixels) statistics.

In a large number of cases this technique improves the classification. On the other hand, unfortunately the algorithm depends on a limited set of parameters that can require manual fine-tuning on a camera-by-camera basis, and in some examples Louis managed to find outlier temporary clusters that even completely misled the algorithm, leading to results that were much worse that the ones coming from the current global classifier. So although in optimal cases the technique works well, it is not ready for an unsupervised implementation.

Worth repeating

We can conclude that we are very satisfied with the cooperation with these two students, and would like to thank the collaboration to Prof. Dr. Jesse Davis (Department of Computer Science - KU Leuven). Despite the circumstances (Covid-19) they were able to conduct a thorough thesis research, which has led to concrete results that are very useful for Telraam in its further development and current operational activities.

Dr. Péter I. Pápics

Thesis students
Rédigé par Wouter Florizoone sur 16 September 2021