One of the problems that many train operators have been facing is the lack of real-time passenger volume data. Taking into consideration infrastructure and cost constraints, we decided to build a solution that leveraged upon CCTV image feeds to calculate in real-time the level of crowdedness in carriages.
We created an image parser using python and opencv. The data output was piped into a postgresql database. A node server was then used to call the data and create a REST API. Finally, we also built an android app that called the API that had been exposed.