Project information

  • Client: HEIG-VD
  • Project URL: https://modos.heig-vd.ch/
  • Categories: Image Classification, Deep Learning, Computer Vision, Model Deployment
  • Main technologies: Python, Tensorflow, Keras, Tensorflow-Serving, Docker

Summary

The MoDoS project aimed to develop an application that provides safe and accessible mobility options for seniors and disabled people.

To achieve this, I developed a deep learning model that categorizes images into multiple classes, including dangerous paths, steep slopes, and obstacles. The dataset used to train the model was imbalanced, but I addressed this by developing a two-stage model that achieved an F1-score of 0.81 and 0.90 for the first and second models, respectively.

I utilized the MobileNet computer vision model and TensorFlow Serving to develop and deploy the model for real-time use in the MoDoS application.

Details

As a member of the MoDoS project team, my main responsibility was to develop and deploy a deep learning model that categorizes images into multiple classes. The project's objective is to create an application that provides seniors and disabled people with safe and accessible mobility options by avoiding unsafe paths and steep slopes.

The dataset used to train the image classification model was generated from a "Mapping Party" where participants walked around the city and uploaded relevant photos. The dataset was highly imbalanced, with few relevant class images.

To address this challenge, I developed a two-stage model to classify images into two categories: with a problem or without a problem. When an image falls into the former category, it is passed to a specialized model to classify it into the specific class among the seven available (which are slope too high, dangerous path, path not wide enough, obstacle on the way, surface problem, curb ramp and a bonus category for everything else). The final F1-score for the first and second model was 0.81 and 0.90, respectively.

Although the final F1-score is 0.90 when an image is from a specific class, passing it through both models results in a lower score of 0.73 (0.81 * 0.9). Overall, my work in the MoDoS project contributed to the development of a machine learning model that aids seniors and disabled people in choosing safe and accessible paths for their mobility.

Additionally, I utilized the MobileNetV2 computer vision model, which was fine-tuned on TensorFlow, to develop the image classification model.

To deploy the model, I used TensorFlow Serving, a high-performance serving system designed for machine learning models. By using this framework, I was able to easily deploy the model and make it available for real-time use in the MoDoS application.