Everyone takes trains, I mean, literally everyone. But what if rains and snows and nights destroy your itinerary and travel plans? We have some solutions to tackle them! You can arrive on time whatever the weather is and whenever the time is!
What it does
- It detects traffic lights through the AI-controlled system even under the condition that drivers are unable to physically observe traffic lights such as during heavy rain or in the night. As a result, drivers do not have to slow down their trains to peek through the vague world to actually see where traffic light are.
- It uses geo-location and visual information to convert an unclear scenery under any condition into pictures of that location taken previously such that drivers could take a reference to the environment and has somewhat grasp of it even when they could not observe it promptly.
How we built it
- React API as front-end and Tomcat and Python as back-end.
- We used AI-aided approaches with help of some geoinformation provided by Siemens and traditional data science techniques.
- Use GPS information from each image sample and GPS locations of all traffic lights to determine the real-time distance between the train and the next traffic light.
- Preprocessing of night images using Clahe filters, Histogram Equalization and Adjustments in Hue and Saturation were implemented as a preprocessing step for training Yolo from scratch, but also for assisting visually the drivers during night shifts.
- Use CNN to detect traffic lights real-time such that drivers could see them more easily.
- K-Means clustering on good weather images with GPS locations is operated on the train railway such that real-time image could be appropriately assigned to its respective clustering group.
- After clustering, we are using autoencoders from Resnet18 with Pytorch to extract feature vectors of that particular image and use cosine similarity as a metrics to determine the clear nice image of the same place in good weather.
Challenges we ran into
- Inaccuracy of GPS
- DIfficulty to augment dark images taken in the night
- Difficulty to preprocess images as there are many similar sceneries
- Low accuracy using the Yolo Signal detection implementation
Accomplishments that we're proud of
- We could smartly solve the issue of bad weather conditions and night images with the right-mix of advanced image processing techniques, transfer learning, clustering, deep learning approaches.
- We are proud of each other that within this shorter duration we were able to try out multiple algorithms or approaches and built a reasonable solution architecture. 3.Tried challenging algorithms like GANs to convert Night to Day, Yolo Object Detection implemented on the Signal/Traffic Light Detection
- We made through it!
What we learned
- Programming is FUN.
- Working a long time is PAINFULLY FUN.
What's next for Now you see me!
Our initial solution is very promising, but we still have some room for improvements such as achieving the precision when the train takes a turn, more enhancement in the driver view even with bad weather situations and further possible preprocessing approaches to better brighten up dark images. Moreover, we would like to incorporate the AR techniques to make it more supportive of the train drivers. Also, the Yolo Implementation was almost fully achieved, but with low accuracy. Finally, the CycleGAN implementation required more time but will be used in the future, to convert the night images to their corresponding day ones using image-to-image translation!