Identifying congestion in London using Bluemix and Watson

Share this post:

In March, I took part in the Smarter Travel Transport Hack, representing IBM at the offices of Landor LINKS in London. During the event, I worked with Harry from Transport API on a challenge for Traveline to provide novel ways of determining bus disruptions for the UK. The app we built is now live on IBM Bluemix here.

So how did we do this? To begin with, we gathered bus geometry data from Transport API, to determine the exact locations of all bus stops, for every bus route and operator in the UK. We then gathered tweets containing the word ‘bus’ from locations close to the bus stops and used IBM Watson’s Alchemy API, which is a sentiment analysis tool to identify possible disruptions. We also used Transport for London’s API to obtain an image from every CCTV traffic camera in London, allowing us to train an IBM Watson Visual Recognition classifier. Using a small training set of just 20 images (10 congested and 10 not congested), CCTV traffic camera images can be classified as ‘Congested’ or ‘Not Congested’.

The screenshot below shows the London Bus Route 91 with a bounding box query around each bus stop to identify tweets and the various traffic cameras on the route. You can see that IBM Watson has classified the traffic conditions from this particular camera as “Congested” with a confidence score of 0.62 (62%).

For more information on the TransportHack (including details of a free Nandos) click here.

The code for the smarter bus disruption app is on GitHub here.

Since the Smarter Travel Hackathon, I’ve built an app for getting passengers to London Heathrow Airport, see here.

You can click anywhere on the map to receive public transport and road directions from the clicked point to London Heathrow. I extended the camera idea to include a live image, video feed and daytime classification. The code for this demo is also on GitHub.

IBM Watson API’s are only available through IBM Bluemix. To explore our catalogue of API’s and start building now, sign up for a 30 day trial today.

To learn how to integrate Bluemix into your existing environment, check out the Solution Guide.

Solution Guide

Add Comment

Leave a Reply

Your email address will not be published.Required fields are marked *

Harry Wood

We did another write up on our TransportAPI blog here:

A “bus route geometry” call was the starting point for a lot of the API calls we did in this demo. More about this new API feature here:


Shekhar Agarwal

Very well implemented and useful.

Can this be extended across various cities in the world?
What would it take for implementation?



Dan Cunnington

Hi Shekhar,

Thank you for your interest. In principal, there is no reason why this idea couldn’t be extended to other cities, in fact with a larger training set the classifications would become more accurate. It just depends on the data available to developers from each city in question.

A good example is TransportAPI who provide unified transport data across the UK (Myself and Harry used the transport buzz function to retrieve geolocated tweets) –

and also Transport for London (where we used the CCTV data feed to train an IBM Watson image classifier)

More Watson stories

A predictive Machine Learning model from Build to Retrain

This post is an excerpt from our solution tutorial that walks you through the process of building a predictive machine learning model, deploying it as an API to be used in applications, testing the model and retraining the model with feedback data. All of this happening in an integrated and unified self-service experience on IBM Cloud.

Continue reading

How to organize users, teams and applications in IBM Cloud

Learn how to organize your project with multiple deployment environments

Continue reading

How to build a cloud native app in 30 minutes

I’m one of the IBM Cloud App Service architects and have been involved in leading the team in the engineering and delivery of this tool for accelerating development of cloud native apps. After giving an overview of app architecture and stating the game plan,  I’ll take you through video demos of creating two microservices and an iOS […]

Continue reading