Edition November 10th-11th, 2023

NOI Hackathon SFSCON Edition


Win a Monni card and the chance to present the project to VMware winner


A microservice-based approach to revolutionize the charging experience of electric cars using AI models.

Services in a detailed view:

- Frontend service: An interface on the charging station that displays all the essential information. It uses data from OpenDataHub to suggest points of interest that the user can visit during charging.

- Object Recognition Service: Using the MobileNet v3 model provided by TensorFlow Keras, we can detect up to 1000 different objects, including persons and various types of cars, like limousines and police cars. This model also contains a Face Detection model developed by Kornia to detect faces. When a face gets recognized, the image is cropped to that face and sent to the Facial Expression Service.

- Facial Expression Service: Using a self-created model based on VGG16, we can reliably detect in which mood the person is, like happy, angry, surprised,... . The system can use the collected data to suggest points of interest on the charging station's display based on the user's expression. Regarding the model architecture, we removed the last two dense layers from the VGG16 model and developed our own sequential model layer by layer using TensorFlow Keras. In the end, everything was merged together and trained with a dataset of roughly 30000 labelled images under 10.000 epochs. 

- Licence Plate Detection: Using an open licence plate detection model, we can reliably detect the car's license plate wanting to enter the charging station. The plate can then be analyzed to determine whether the car is electric or not and react in the hardware based on that.

- Charging Station Service: This service runs on an ESP32 to which a camera is connected. It will take an image every 5 seconds and send it to the RabbitMQ message broker for further processing using the mentioned AI models.

Not hardware-related microservices are dockerized, and all of them communicate together using the RabbitMQ message broker.

In order to demonstrate and test everything, a miniature charging station was developed to try and evaluate the programmed services.