L'objectif du projet s'insprire de celui du concours IronCar :
Transformer une voiture téléguidée en voiture autonome et effectuer le plus rapidement possible un tour de circuit.
Ce dépÎt contient tous les notebooks et programmes faits durant le projet.
TitaniumCar a été un projet d'initiation au deep learning et de découverte des différentes librairies de la data science. Il nous a permis de pratiquer toutes les étapes qu'un projet de data science peut avoir :
- Définition de la problématique
- Conception
- Création du dataset
- Apprentissage
- Tests
- DĂ©ploiement
Le projet ne durant qu'un seul mois, le code a dĂ» ĂȘtre restructurĂ© par la suite. Le code destinĂ© Ă ĂȘtre deployer sur la voiture pourrait contenir des bugs. Le reste du dĂ©pĂŽt a Ă©tĂ© testĂ©.
Pour pouvoir expérimenter et utiliser directement le code, l'environnement Conda a été exporté. L'installation se fait simplement avec :
conda create -n titaniumcar python=3.7
conda env update --file environment.yml
Cette méthode est plus simple à mettre en place que celle décrite dans le rapport pdf.
Les donnĂ©es Ă©tant volumineuses, elles doivent ĂȘtre tĂ©lĂ©chargĂ©es sĂ©parĂ©ment Ă cette adresse : cdn.facchini.fr/92J7pN7jl8yQTZfp/data_titaniumcar.zip
Le langage utilisé pour l'ensemble du projet est python 3.7. Ensuite les principales technos utilisées sont :
- Numpy
- OpenCV
- Tensorflow (et Pytorch)
- Pygame
- Picamera et Adafruit
Le projet a été séparé en 5 parties :
- Experimentations : Tous les tests que nous avons effectués mais qui n'ont pas été utilisés dans la version finale du projet
- Processes : Les notebooks pour tester les modÚles de prédictions
- Titaniumcar : Code source pour la conduite de la voiture
- Labeling : Méthodes pour la labélisation des photos prises par la voiture
- (Data : comprend le dataset, les vidĂ©os et les tests, doit ĂȘtre tĂ©lĂ©chargĂ©)
Le dépÎt contient aussi le rapport complet du projet au format pdf.
L'apprentissage du CNN nécessite une grande quantité d'images. La solution adoptée est de labéliser des photos prises par la voiture. Nous avions plus de 18 000 frames.
Un programme a été fait pour définir avec la souris les 2 labels (nombres réels) :
- la direction des roues
- la puissance du moteur
En étant 4 personnes, nous mettions 1 heure pour toutes les labéliser avec notre méthode.
La partie logicielle a été conçue par :
- Pierre Montroeul
- Antoine Facchini