Académique Documents
Professionnel Documents
Culture Documents
Par
Chayma ZAOUALI
Par
Chayma ZAOUALI
Signature et cachet
J’autorise l’étudiant à faire le dépôt de son rapport de stage en vue d’une soutenance.
Signature
Dédicaces
Chers êtres aimés, vous qui avez fait battre mon cœur à chaque étape
façon indescriptible. À mes parents adorés, vous êtes mon roc, ma source
d’inspiration constante. À mon frère et ma sœur, vous êtes mes compagnons
de vie, mes alliés inébranlables. À ma famille élargie, vous êtes mes anges
gardiens, mes rayons de lumière dans les moments sombres. À mes chers amis,
vous êtes devenus ma deuxième famille, partageant les hauts et les bas de
cette aventure. À mes professeurs et mentors, vous êtes les artisans de ma
toutes les personnes qui m’ont soutenu de près ou de loin, vos encouragements
et votre soutien indéfectible ont été mes bouées de sauvetage. À vous tous, qui
avez aimé, cru en moi et m’avez accompagnée dans cette aventure, je vous suis
infiniment reconnaissante. Vos souvenirs précieux resteront gravés dans mon
Chayma ZAOUALI
ii
Remerciements
Tel une symphonie s’élevant dans un concert à l’aube, je trace ces mots dans l’espoir
de peindre une toile d’émotions infinies, un tableau de gratitude qui transcende les limites de
l’expression. Chaque note qui s’élève, chaque touche de couleur qui émerge, chaque mot qui
se pose sur cette page est un hommage à ceux qui ont été la musique de ma vie, la palette
de couleurs de mon existence, les étoiles qui ont éclairé mon voyage.
Mon père, Zaouali Nabil, mon phare dans l’obscurité, ma boussole dans les tempêtes,
ma force lorsque la fatigue menaçait de me vaincre. Vous êtes un poème d’inspiration qui a
guidé mon pas, une mélodie qui a apaisé mes soucis. En tant que votre enfant, je porte en
moi l’écho de vos enseignements, l’héritage de votre amour.
Ma mère, Rajhi Dalel, fleur du matin et lueur de l’aube, votre amour est une chanson
qui danse dans le silence, une étreinte qui apaise les chagrins. Vous êtes le soleil qui a toujours
éclairé mon chemin, la lune qui a veillé sur mes rêves.
Mon frère, Omar Zaouali et ma sœur, Aicha Zaouali, mes compagnons d’aventure,
nos vies sont entrelacées comme les notes d’une chanson. Les éclats de rire, les secrets
chuchotés, les défis relevés ensemble ont créé une mélodie unique que nous partageons.
À mon oncle, Habib Zaouali et ma tante, Naima Zaouali, bien que vous ne soyez
plus de ce monde, votre amour résonne toujours en moi, une mélodie silencieuse qui bat au
rythme de mon cœur. Cette victoire, je vous la dédie.
Mes amies, Amira Karoui et Chaima Mami, vous êtes des sœurs de cœur, des
reflets de moi-même. Les éclats de rire, les larmes partagées, les rêves échangés ont tissé une
toile d’amitié indestructible.
À ma seconde famille, la famille Mami, Mme Hela Ben Ali épouse Mami
et Mr Sadek Mami, votre affection a été comme une douce mélodie dans les moments de
silence, une étoile brillante dans la nuit. Vous avez embrassé mes rêves comme les vôtres, et
pour cela, je vous suis éternellement reconnaissante.
À la famille Karoui, en particulier à Madame Achwek Tabessi, votre bienveillance
et votre amour ont été comme une chanson d’espoir qui m’a donné la force de poursuivre
mes rêves.
iii
À Mme Ghayet El Mouna Zhioua, ma professeure et encadrante de projet, pour
son accompagnement et son soutien tout au long de ce travail. Ses conseils avisés, son
expertise et sa disponibilité ont été d’une aide précieuse pour avancer le projet et atteindre
mes objectifs. Je tiens particulièrement à souligner son encouragement constant, qui m’a
permis de garder le cap et de me dépasser dans mon travail. Je vous remercie infiniment pour
tout ce que vous avez fait pour moi.
À Mes professeurs, Madame Nihel Ben Youssef , Monsieur Yassine Nourri,
Madame Mouna Bencheikh, Madame Hela Guermassi, Monsieur Ramzi Draoui
et Monsieur Adel Ben Salah, vos enseignements ont été des notes d’inspiration, des mots
de sagesse qui ont sculpté mon chemin académique et personnel.
À Mme Mariem Kallel, qui a été une source d’inspiration pour moi tout au long
de mon projet. Sa propre histoire de vie et ses échanges avec le cancer du sein m’ont motivé
à avancer malgré les obstacles, et à garder le sourire et la force de caractère en toutes
circonstances. Son courage et sa détermination sont un exemple pour moi, et j’ai été touchée
par sa sensibilité et son talent artistique. Je suis fière d’avoir été son étudiante et je suis
convaincue que son histoire inspirante continuera d’aider de nombreuses personnes dans leur
propre lutte contre la maladie. Merci infiniment pour son encouragement et son inspiration
chaque jour.
À Mr Fawzi Saidi, directeur commercial de SOTETEL, votre soutien inébranlable
a été la clé de notre réussite. Votre foi en nous a été comme une musique de motivation qui
nous a poussés à nous surpasser.
À Monsieur Hedi Abou Khalil , vous n’avez pas seulement été un professeur, mais
un mentor, un guide. Vous avez su éveiller en moi l’audace de rêver plus grand, l’ambition
d’atteindre l’extraordinaire.
À mes amis, Ranim Gouider, Sinda Galai, Oussama Cherni, Malek Bel Hadj
Ali, Malek Ziedi, Anas Arayedh, Med Salah Meddeb, Youssef Jedidi, Maram
Jlassi, Mehdi Merieh, Ibrahim Schmitt et Hichem Amamou, vous êtes le chœur de
mon existence, une mélodie d’amitié qui a rythmé chaque étape de ce voyage.
À la famille Poulina, Kais, Amal Jridi, Rami Mansouri, Asma Ben Chouchene,
Hamdi Kadri, Najah Aflouk, une famille avec laquelle nous avons partagé des moments
inoubliables .
iv
À L’équipe DroneVision, merci d’avoir partagé cette aventure avec moi. Nous
avons relevé les défis ensemble, repoussé nos limites et développé notre vision du projet
avec détermination et passion. Notre travail acharné a porté ses fruits et c’est à vous tous
que je dois cette réussite. Sachez que ce n’est pas un point d’arrêt, mais le commencement
de notre aventure.
Je remercie les membres du jury pour leur temps et leur attention lors de l’évaluation
de mon travail.
Mr Mourad Ben Mna, mon encadrant professionnel au sein d’un acteur de référence
dans le domaine des télécommunications, merci de m’avoir accueilli et encadré pendant mon
stage.
Je tiens à exprimer ma sincère gratitude envers l’ISI, l’Institut Supérieur
d’Informatique, pour son soutien inestimable tout au long de mon parcours académique.
Enfin, je tiens à exprimer ma gratitude envers la société SOTETEL qui m’a accordé
l’opportunité de réaliser mon stage professionnel au sein de leur entreprise.
Chaque mot de cette reconnaissance est une note de gratitude, une touche de couleur
sur la toile de ma vie. Je vous remercie tous de tout mon cœur pour avoir été les artistes qui
ont peint cette toile, les musiciens qui ont créé cette symphonie. La musique de ma vie, la
toile de mon existence, porte l’empreinte indélébile de chacun de vous.
v
Table des matières
Introduction générale 1
vi
3 Capture d’Images des Pylônes et Stockage dans Google Drive grâce à l’IoT 59
3.1 Définition de l’IoT et son rôle dans l’inspection des pylônes . . . . . . . . . . . 60
3.2 Représentation d’une caméra ESP32 CAM . . . . . . . . . . . . . . . . . . . . 61
3.3 Création et Mise en place de Google Apps Script . . . . . . . . . . . . . . . . 63
3.4 Test de la caméra sur l’ESP32-CAM . . . . . . . . . . . . . . . . . . . . . . . 66
3.5 Intégration de l’ESP 32-CAM avec Google Drive . . . . . . . . . . . . . . . . . 67
5 Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes 117
5.1 Architecture avec Django . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
5.2 Interconnexion entre Django et Google Drive . . . . . . . . . . . . . . . . . . . 119
5.2.1 L’intégration de l’API Google Drive . . . . . . . . . . . . . . . . . . . 119
5.2.2 Authentification OAuth . . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.2.3 Gestion des erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
5.2.4 Stockage des images . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
vii
5.2.5 Obtention des informations d’authentification pour l’API Google Drive
à partir d’un fichier JSON dans Django . . . . . . . . . . . . . . . . . . 121
5.3 Intégration du modèle YOLOv5m avec Django . . . . . . . . . . . . . . . . . . 122
5.3.1 Chargement du modèle YOLOv5m . . . . . . . . . . . . . . . . . . . . 122
5.3.2 Chargement des classes d’objets . . . . . . . . . . . . . . . . . . . . . 123
5.3.3 Téléchargement d’images depuis Google Drive . . . . . . . . . . . . . . 123
5.3.4 Traitement d’images et détection d’objets . . . . . . . . . . . . . . . . 123
5.3.5 Enregistrement des résultats . . . . . . . . . . . . . . . . . . . . . . . 124
5.3.6 Affichage des résultats de détection . . . . . . . . . . . . . . . . . . . . 125
5.4 Intégration du modèle Tesseract OCR avec Django . . . . . . . . . . . . . . . 126
5.4.1 création d’une application dans le serveur django . . . . . . . . . . . . 126
5.4.2 Enregistrement du texte dans une base de données SQLite . . . . . . . 128
5.4.3 Modification de la base de données de SQLite a PostgreSQL . . . . . . 131
5.5 Conception et réalisation du Dashboard avec Django . . . . . . . . . . . . . . 136
5.5.1 Technologies front-end utilisées : HTML, CSS, JavaScript . . . . . . . . 136
5.5.2 Intégration de la 3D Spline/Sketchfab . . . . . . . . . . . . . . . . . . 136
5.5.3 Inventaire des antennes . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
5.5.4 Conditions environnementales . . . . . . . . . . . . . . . . . . . . . . . 139
5.5.5 Authentification et gestion des utilisateurs . . . . . . . . . . . . . . . . 139
5.5.6 Conception de la Landing Page et affichage des informations essentielles 141
5.5.7 Création d’un formulaire pour les informations sur les équipements des
pylônes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Bibliographie 148
viii
Table des figures
ix
Table des figures
3.1 ESP32-CAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
x
Table des figures
xi
Table des figures
xii
Table des figures
5.1 Django : Site web d’Analyse Visuelle avec Détection, Stockage et Visualisation
des résultats de détection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.2 Flux d’authentification OAuth avec Google Drive . . . . . . . . . . . . . . . . 120
5.3 Gestion sécurisée de l’authentification OAuth avec Django . . . . . . . . . . . 120
5.4 la fonction get google credentials . . . . . . . . . . . . . . . . . . . . . . . . . 121
5.5 Script Python pour téléchargement les images depuis Google Drive . . . . . . 123
5.6 stockage des informations daNs le fichier statique . . . . . . . . . . . . . . . . 125
5.7 Affichage des résultats de détection des antennes sur le site web . . . . . . . . 126
5.8 Création une application ‘ocr-app’ dans le serveur Django . . . . . . . . . . . . 126
5.9 Implémentation dans views.py . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
5.10 Affichage des résultats dans une page HTML . . . . . . . . . . . . . . . . . . . 128
5.11 Modèle OCRResult pour le stockage des résultats OCR . . . . . . . . . . . . . 128
5.12 Création et application d’une migration dans SQLite . . . . . . . . . . . . . . 129
5.13 Modification de la fonction ‘ocr-results‘ . . . . . . . . . . . . . . . . . . . . . . 129
5.14 création de la fonction ‘ocr-results-list’ . . . . . . . . . . . . . . . . . . . . . . 129
5.15 Ajout de l’URL dans le fichier ‘urls.py’ . . . . . . . . . . . . . . . . . . . . . . 130
5.16 Création du fichier HTML ’ocr-results-list.html’ . . . . . . . . . . . . . . . . . 130
5.17 Affichage de la liste des résultats OCR . . . . . . . . . . . . . . . . . . . . . . 130
5.18 Installation et configuration de PostgreSQL . . . . . . . . . . . . . . . . . . . 131
5.19 Connexion à PostgreSQL en tant qu’utilisateur "postgres" . . . . . . . . . . . 132
5.20 Création d’une base de données PostgreSQL . . . . . . . . . . . . . . . . . . . 132
5.21 Création d’un utilisateur dans PostgreSQL . . . . . . . . . . . . . . . . . . . . 132
5.22 Attribution des privilèges à l’utilisateur . . . . . . . . . . . . . . . . . . . . . 132
5.23 Configuration de la base de données PostgreSQL . . . . . . . . . . . . . . . . . 133
5.24 Application d’une migration dans PostgreSQL . . . . . . . . . . . . . . . . . . 133
5.25 Extraction de sous-chaîne avec expression régulière . . . . . . . . . . . . . . . 134
5.26 Extraction d’informations grâce aux expressions régulières . . . . . . . . . . . 135
5.27 Stockage d’informations dans un dictionnaire . . . . . . . . . . . . . . . . . . . 135
5.28 affichage des résultats de détection du texte sur le site web . . . . . . . . . . . 136
xiii
5.29 Représentation en 3D d’un Pylône . . . . . . . . . . . . . . . . . . . . . . . . . 137
5.30 Visualisation 3D du Tableau de Bord Interactif . . . . . . . . . . . . . . . . . 137
5.31 Illustration 3D de l’Architecture Complexe du Système . . . . . . . . . . . . . 138
5.32 Affichage des résultats détectés sur le site web . . . . . . . . . . . . . . . . . . 138
5.33 Affichage des résultats détectés sur le site web . . . . . . . . . . . . . . . . . . 139
5.34 Processus d’Authentification : Inscription des Utilisateurs . . . . . . . . . . . . 140
5.35 Processus d’Authentification : Connexion des Utilisateurs . . . . . . . . . . . . 140
5.36 Page d’Accueil : Visualisations 3D du Tableau de Bord . . . . . . . . . . . . . 141
5.37 Page d’Accueil : Visualisations 3D de l’Architecture du Système . . . . . . . . 142
5.38 Page d’Accueil : Aperçu général du projet d’inspection des pylônes par drone
intelligent 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
5.39 Page d’Accueil : Aperçu général du projet d’inspection des pylônes par drone
intelligent 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
5.40 Page d’Accueil : Aperçu général du projet d’inspection des pylônes par drone
intelligent 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
5.41 Formulaire : Spécifications, Type de l’Équipement BTS . . . . . . . . . . . . . 144
5.42 Formulaire : Informations sur l’Équipement d’Antenne et Câbles Associés . . . 144
xiv
Liste des tableaux
xv
Introduction générale
L’industrie tunisienne des télécommunications a connu une croissance rapide ces dernières
années, de nombreuses antennes étant installées sur tout le territoire. Cependant, cette
activité présente également des risques graves pour les travailleurs chargés de l’entretien
des infrastructures, tels que les chutes de hauteur, les risques d’électrocution et l’exposition
aux ondes électromagnétiques.
Malheureusement, de nombreux accidents mortels liés à la maintenance des antennes
de télécommunications ont été signalés dans différents pays. En 2016, un technicien français
a perdu la vie lors de la mesure d’un pylône de télécom au sommet d’un château d’eau, suite
à une erreur qui a provoqué un contact avec une ligne à haute tension.
Afin d’éliminer les risques pour les travailleurs et d’améliorer la sécurité des opérations
de maintenance des pylônes de télécom, l’inspection par drone intelligent est une solution
innovante. Ce projet consiste à remplacer les pylonistes par des drones équipés de caméras
et de capteurs pour surveiller le bon fonctionnement du réseau et détecter les anomalies.
L’inspection par drone est une solution innovante qui répond à plusieurs défis rencontrés
dans les méthodes d’inspection traditionnelles. Les drones peuvent atteindre en toute sécurité
des endroits inaccessibles tels que des immeubles de grande hauteur, des ponts et des pylônes
pour les inspecter minutieusement. Des caméras et des capteurs montés sur des drones
capturent des images et collectent des données, réduisant ainsi le besoin d’inspection manuelle
et améliorant la précision des résultats. De plus, les drones peuvent effectuer des inspections
en une fraction du temps par rapport aux méthodes traditionnelles, réduisant ainsi les temps
d’arrêt et les coûts associés.
Ce rapport s’articule autour de cinq chapitres, chacun mettant en avant une étape
spécifique du projet.
Dans le premier chapitre, nous commençons par introduire la société, expliquer la
méthodologie Scrum utilisée pour le développement du projet, et définir ce qu’est un drone.
Dans le deuxième chapitre, nous traitons du processus de fabrication du drone, à savoir
le choix des composants, leur achat, l’assemblage, et le test de vol.
Le troisième chapitre aborde l’intégration du ESP 32 Cam pour capturer des photos
1
Introduction générale
2
Chapitre 1
Plan
1 Organisme d’accueil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Présentation du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Chapitre 1. Préparation et Contexte du Projet
Introduction
Au début de notre travail, nous avons brièvement décrit l’organisme qui nous a accueilli
durant notre stage, ainsi que le cadre de notre projet, incluant la problématique à résoudre,
les objectifs visés et le planning prévisionnel.
Sotetel est un acteur clé du marché tunisien des télécommunications, reconnu pour
son expertise en ingénierie, en aménagement des locaux techniques et en maintenance des
réseaux d’opérateurs. Grâce à ses ressources humaines et matérielles performantes, la société
4
Chapitre 1. Préparation et Contexte du Projet
est en mesure de proposer des solutions complètes et adaptées aux besoins de ses clients,
tout en garantissant une qualité de service optimale. En tant que filiale de Tunisie Télécom,
Sotetel bénéficie d’un positionnement privilégié sur le marché national, renforçant sa position
de leader en proposant des solutions innovantes en partenariat avec des équipementiers
internationaux renommés tels que Huawei, Alcatel-Lucent et Ericsson
SOTETEL, en tant que leader dans son domaine, a une structure organisatio-
nnelle bien établie avec cinq départements principaux travaillant en étroite collaboration pour
atteindre les objectifs de l’entreprise.
5
Chapitre 1. Préparation et Contexte du Projet
Les pylônes peuvent être sujets à des anomalies telles que la détérioration structurelle,
les problèmes d’antenne, les défaillances d’équipements, les problèmes de câblage et les
problèmes d’alimentation. Une inspection régulière et des mesures correctives sont nécessaires
pour maintenir un service de communication continu et de qualité.
La figure 1.2 présente les méthodes traditionnelles d’inspection des pylônes de
télécommunications.
6
Chapitre 1. Préparation et Contexte du Projet
Voici quelques statistiques alarmantes que nous avons trouvés en lien avec les accidents
liés aux inspections des pylônes De télécommunication :
• En 2013, l’OSHA (Occupational Safety and Health Administration) a enregistré un
total de 13 décès liés aux tours de communication. En 2014, il y a eu 12 décès sur les sites
de tours de communication. En 2015, il y a eu un total de 3 décès. Il y a eu 6 décès en 2016.
L’OSHA travaille avec les parties prenantes de l’industrie pour identifier les causes de ces
blessures et décès, et pour réduire les risques auxquels les employés de l’industrie des tours
de communication sont confrontés [3].
• Selon un article de 2023 sur Wirelessestimator, le premier décès dû à une chute cette
année a été celui d’un technicien de 33 ans au Kansas [4].
• Un technicien de 32 ans est décédé le 15 décembre 2022 à Weatherford, TX, lors d’un
projet d’installation pour Verizon. Une défaillance du câble de sécurité a peut-être causé le
décès [4].
• Les Communications Workers of America (CWA) ont publié les résultats d’une
enquête montrant que la sécurité de leurs membres est compromise. Plus de 65 % des techniciens
ont été sur un chantier où quelqu’un a été blessé et 4 % où quelqu’un a été tué [4].
• En 2006, Wireless Estimator a identifié que les grimpeurs de tours de téléphonie
mobile avaient le métier le plus dangereux en Amérique, avec un taux de décès par 100 000
7
Chapitre 1. Préparation et Contexte du Projet
8
Chapitre 1. Préparation et Contexte du Projet
leur stockage.
5. Visualisation des données via un tableau de bord : Enfin, nous proposons un
tableau de bord intuitif qui présente de manière claire et compréhensible l’état des pylônes
inspectés. Cela permet aux utilisateurs de visualiser les résultats d’inspection et de prendre
des décisions informées pour la maintenance des pylônes.
Ce processus complet est illustré dans la Figure 1.3 ci-dessous.
9
Chapitre 1. Préparation et Contexte du Projet
La technologie des drones améliore la sécurité et réduit les coûts dans l’inspection
des pylônes de télécommunications. Les drones équipés d’IA offrent une analyse précise des
données, réduisant les erreurs d’inspection et permettant une maintenance prédictive. Cela a
un impact positif sur l’environnement et permet des économies de coûts significatives. Notre
projet vise à transformer l’industrie des inspections de pylônes en Tunisie en proposant une
solution rapide, sûre et précise. Nous visons à améliorer la sécurité des travailleurs et à créer
un environnement de travail plus sûr et plus efficace.
Pour notre projet, nous avons choisi une approche agile de la gestion des projets de
développement de produits. Elle fournit une structure efficace pour gérer les risques, les
changements et les complexités liés au processus de développement.
La figure 1.5 présente la méthodologie Scrum.
Nous avons choisi la méthodologie Scrum en tant qu’équipe parce qu’elle correspond
parfaitement à nos besoins et à nos objectifs. L’un des principaux avantages de Scrum est
qu’elle favorise un environnement de travail collaboratif et encourage chaque membre de
l’équipe à prendre des initiatives et à assumer des responsabilités.
En répartissant nos tâches et en menant nos recherches ensemble, nous avons pu
partager nos connaissances et tirer parti des compétences individuelles de chaque membre de
10
Chapitre 1. Préparation et Contexte du Projet
l’équipe. Cette approche nous a permis d’exploiter des idées et des perspectives diverses, ce
qui a conduit à des solutions plus créatives et plus innovantes.
Une autre raison de choisir Scrum est sa capacité à fournir des résultats réels et utiles
à intervalles de temps réguliers. Grâce aux sprints, qui sont des périodes de temps définies
pendant lesquelles nous nous concentrons sur un ensemble spécifique de tâches, nous sommes
en mesure de fournir des résultats dans les délais prévus à la fin de chaque sprint. Cela
nous permet d’obtenir rapidement un retour d’information de la part du Product Owner et
d’ajuster notre démarche en conséquence.
La tenue régulière de réunions "Daily Scrum" nous a également été bénéfique. Ces
brèves réunions quotidiennes nous permettent de synchroniser notre travail, d’identifier les
obstacles potentiels et de planifier efficacement les tâches à venir. Elles facilitent la communication
et la collaboration au sein de l’équipe, nous aidant à rester alignés sur nos objectifs communs
et à réagir rapidement aux changements.
Dans le cadre du rapport de notre projet, il est essentiel de mettre en lumière les
principes clés de la méthode Scrum que nous avons adoptée. En tant que start-up composée
de trois personnes, nous nous sommes engagés à respecter ces principes tout au long de
réalisation de produits.
Équipe de développement :
Notre équipe est composée de trois personnes, Oussema Cherni, étudiant à l’université
ISTIC, spécialisé en informatique, réseaux et télécommunications, Amira Karoui, étudiante
à l’IHEC, spécialisée en business intelligence, et moi-même, Chayma Zaouali, étudiante
spécialisée en ingénierie des systèmes informatiques à l’ISI.
Product owner :
Mr Fawzi Saidi, directeur commercial de Sotetel, est responsable de la définition des
objectifs du projet,de la gestion du backlog.
Soutien externe : Nous avons bénéficié du soutien du Mr Adel Cherni, qui nous a
aidés à utiliser les logiciels SolidWorks et Repetier pour la conception 3D et la préparation
de l’impression 3D, ainsi qu’à assurer la sécurité du drone, et qui a nous aider pour avancer
à ce projet.
11
Chapitre 1. Préparation et Contexte du Projet
La figure 1.6 présente les différentes cérémonies de Scrum, qui permettent d’organiser,
d’animer et de synchroniser le travail de l’équipe.
Sprint :
Nous avons défini 8 sprints pour notre projet, comme indiqué dans les figures 1.7 et
1.8.
12
Chapitre 1. Préparation et Contexte du Projet
Sprint Planning : Chaque sprint commence par une réunion de planification au cours
de laquelle notre équipe et le Product Owner définissent les objectifs du sprint à venir.
Sprint Review : À la fin de chaque sprint, nous organisons une réunion de revue
de sprint où nous présentons les résultats du sprint au Product Owner et aux autres parties
prenantes.
Sprint Rétrospective : Nous organisons également une réunion de rétrospective
après chaque sprint pour discuter de ce qui a bien fonctionné et de ce qui peut être amélioré
pour le sprint suivant.
Backlog de produit : Nous maintenons un backlog de produit, qui est une liste
priorisée de toutes les fonctionnalités souhaitées pour le produit, géré par le Product Owner,
comme indiqué dans les figures 1.9, 1.10, 1.11, 1.12, 1.13, 1.14 et 1.15.
13
Chapitre 1. Préparation et Contexte du Projet
14
Chapitre 1. Préparation et Contexte du Projet
15
Chapitre 1. Préparation et Contexte du Projet
16
Chapitre 1. Préparation et Contexte du Projet
Pour gérer notre projet de fin d’études selon la méthodologie Scrum, nous avons choisi
d’utiliser l’outil JIRA. JIRA est largement utilisé dans l’industrie du développement logiciel
et est adapté à la méthodologie Scrum. Les raisons de notre choix sont les suivantes : JIRA
offre une gestion avancée du backlog de produit, permettant de créer, prioriser et estimer les
user stories. Il facilite le suivi des tâches, l’assignation des responsables et la résolution des
problèmes. JIRA propose des tableaux de bord personnalisables et des rapports visuels pour
suivre les métriques clés du projet. Il s’intègre facilement avec d’autres outils utilisés dans
notre projet. De plus, JIRA est flexible et personnalisable, s’adaptant à notre méthodologie
de travail et à nos besoins spécifiques.
Un drone est un aéronef sans pilote à bord, qui peut être contrôlé à distance ou
programmé pour voler de manière autonome. Les drones peuvent être équipés de caméras,
de capteurs et d’autres équipements pour effectuer une variété de tâches dans différents
domaines.
Dans notre projet, nous allons utiliser les drones pour l’inspection des pylônes de
17
Chapitre 1. Préparation et Contexte du Projet
télécommunication. Cette utilisation des drones est devenue essentielle dans l’industrie des
télécommunications en Tunisie car elle permet d’inspecter les pylônes de manière rapide,
efficace et en toute sécurité. Par exemple, l’entreprise française Azur Drones utilise des drones
pour inspecter les tours de télécommunications en France.
Les types de vol des drones peuvent être divisés en vol nerveux, vol stable et vol
polyvalent. Le vol nerveux est utilisé par les drones de course pour des manœuvres acrobatiques
rapides. Le vol stable est utilisé par les drones de photographie et de vidéo pour maintenir
une position stable et capturer des images de haute qualité. Le vol polyvalent est utilisé par
les drones capables de réaliser différentes tâches telles que la surveillance, la cartographie,
l’inspection et la livraison. Pour l’inspection de pylônes de télécommunication, le vol stable
est le choix optimal car il garantit une stabilité en vol et permet de capturer des images
claires et précises.
Les drones peuvent être configurés de différentes manières en fonction de leurs utilisations
spécifiques. Les configurations les plus courantes sont le tricoptère, le quadricoptère, l’hexacoptère
et l’octocoptère.
• Le tricoptère est équipé de trois moteurs et est généralement plus léger que les
autres configurations. Cependant, il est moins stable en vol que les autres configurations,
comme indiqué dans la Figure 1.16 ci-dessous.
18
Chapitre 1. Préparation et Contexte du Projet
19
Chapitre 1. Préparation et Contexte du Projet
• L’hexacoptère est équipé de six, ce qui leur donne une plus grande stabilité en vol
et une capacité de charge plus importante. Cependant, cette configurations est plus coûteuse
et plus compliquée à utiliser et à entretenir que les configurations à trois et quatre moteurs,
comme indiqué dans la Figure 1.18 ci-dessous.
20
Chapitre 1. Préparation et Contexte du Projet
L’inspection des tours de télécommunication est une tâche nécessaire, mais souvent
dangereuse et coûteuse. Les inspections manuelles nécessitent l’utilisation de matériel lourd,
tel que des nacelles élévatrices et des échafaudages, qui peuvent causer des blessures ou même
des accidents mortels pour les travaill-
eurs.
La complexité de ces inspections est encore renforcée par le temps qu’elles nécessitent.
En effet, elles peuvent durer plusieurs jours ou semaines, provoquant des interruptions de
service et entraînant des coûts supplémentaires pour les opérateurs de télécommunications.
La précision des inspections manuelles peut également être remise en question. Il est
possible que certaines parties de la tour ne soient pas contrôlées ou, à l’inverse, que certaines
zones soient inspectées plus régulièrement que nécessaire. De telles erreurs d’inspection peuvent
non seulement poser des problè-
mes de sécurité, mais aussi avoir des répercussions négatives sur l’environnement et les
individus.
La durabilité de ces inspections manuelles est un autre sujet de préoccupation. En
effet, les travailleurs doivent souvent parcourir de longues distances pour atteindre les tours,
ce qui entraîne des émissions de gaz à effet de serre et d’autres impacts environnementaux.
L’ampleur de ces problèmes est exacerbée par des circonstances extérieures. Les grèves
des travailleurs des pylônes, les conditions météorologiques extrêmes telles que les vents
violents ou les tempêtes de sable, la situation géographique des sites et la difficulté de recruter
des travailleurs qualifiés pour les pylônes augmentent ces défis. Ces difficultés soulignent
l’importance d’explorer de nouvelles méthodes d’inspection plus sûres, plus précises et plus
21
Chapitre 1. Préparation et Contexte du Projet
durables.
Conclusion
22
Chapitre 2
Plan
1 Choix des composants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5 Test de vol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
Introduction
Dans ce chapitre, nous allons examiner le processus de fabrication du drone tel qu’illustré
dans la figure 2.1 ci-dessous.
L’architecture d’un drone quadricoptère, ou quadrirotor, est basée sur une configuration
à quatre hélices (ou rotors) qui fournissent la portance et le contrôle nécessaires pour le vol.
Voici les éléments qui composent un drone quadricoptère :
2.1.1 La structure
Le châssis d’un drone, appelé aussi structure ou frame ou squelette, est la structure de
base sur laquelle sont montés les différents composants du drone. C’est l’élément qui soutient
24
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
Dans Le tableau 2.1, montre une comparaison des composants de différentes frames
populaires, y compris les moteurs, les contrôleurs de vitesse électroniques (ESC), les hélices,
les batteries et les dimensions. Les prix des cadres sont également inclus.
Modèles
Caractéristiques
DJI F450 DJI F330 S500 X525
Dimensions (L x l x H) 450mm x 330mm x 500mm x Largeur : 525mm, sa
450mm x 330mm x 500mm x largeur et sa hauteur
170mm 45mm 180mm ne sont pas précisées
Poids en gramme 282 156 405 385
Matière Fibre de Fibre de Fibre de Fibre de verre et
verre et nylon verre et nylon verre aluminium
polyamide polyamide renforcée
Prix en DT 125 110 310 150
Type de vol (stable) Oui Oui Oui Non
Disponibilité Disponible Disponible Non Non disponible sur le
sur le marché sur le marché disponible marché
sur le marché
25
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
26
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
télécommunication. De même, une "x" dans la colonne "Matière" signifie que le matériau
utilisé dans la construction de ce modèle de drone est conforme à nos exigences. Une "x"
dans la colonne "Prix" indique que le coût de ce modèle est acceptable pour notre budget.
Poids x
Matière x x x
Prix x x x
Disponibilité x x
Terrain d’atterrissage x x x
Total 7 6 5 3
Tableau 2.2 : Comparaison des châssis de drones selon des critères spécifiques
Après une évaluation minutieuse de chaque modèle en fonction des critères établis,
nous avons choisi le modèle de drone DJI F450 comme la meilleure option pour notre projet.
Cette décision a été basée sur le fait que le DJI F450 a reçu le plus grand nombre total de
marques positives (7), indiquant qu’il répond le plus favorablement à l’ensemble des critères
évalués.
En particulier, le DJI F450 a été jugé favorable en termes de poids, de matériau
de construction, de coût, de stabilité de vol, de disponibilité des composants nécessaires
(MOTEUR / ESC / HÉLICE), de disponibilité sur le marché, de présence d’un terrain
d’atterrissage, et de l’intégration d’une carte de distribution. Ces caractéristiques ont fait du
DJI F450 notre choix préféré pour le projet d’inspection des pylônes de télécommunication.
Dans la Figure 2.2, nous présentons la conception du châssis du drone DJI F450 réalisée
avec SolidWorks.
27
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
Un terrain d’atterrissage pour drone est une zone spécialement préparée pour assurer
la sécurité du drone lors des opérations d’atterrissage et de décollage. Cependant, dans notre
projet d’inspection des pylônes de télécommunication, nous n’avons pas trouvé de terrain
d’atterrissage disponible sur le marché qui réponde à nos besoins spécifiques.
Pour surmonter cet obstacle, nous avons choisi une approche innovante en concevant
notre propre terrain d’atterrissage grâce à la création d’un modèle 3D utilisant le logiciel de
modélisation 3D, SolidWorks.
Dans la figure 2.3, nous montrons la conception de ce terrain d’atterrissage réalisée
avec SolidWorks.
28
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
Nous avons utilisé le logiciel Repetier pour préparer et ajuster les paramètres de notre
modèle de terrain d’atterrissage en vue de son impression 3D, permettant ainsi de générer
les instructions nécessaires pour sa fabrication.
Dans la figure 2.4, nous montrons la préparation du terrain d’atterrissage avec Repetier
en vue de son impression 3D.
29
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
2.1.3.1 Moteurs
Les moteurs brushless sont des composants essentiels dans les drones, responsables
de la conversion de l’énergie électrique en mouvement mécanique. Dans le contexte des
drones, ces moteurs sont utilisés pour générer une force de portance qui propulse l’aéronef
en faisant tourner les hélices. Grâce à leur conception à aimants permanents et à leur
capteur de position rotorique, ces moteurs offrent une efficacité et une puissance élevées
tout en étant compacts. Leur faible niveau de bruit et de vibrations les rend idéaux pour
une utilisation dans les drones, garantissant une expérience de vol agréable. De plus, leur
capacité à supporter des surcharges et à fonctionner de manière continue les rend adaptés
aux exigences de vol des drones. En choisissant des moteurs brushless pour notre drone, nous
nous assurons d’une propulsion efficace et fiable pour nos opérations d’inspection des pylônes
de télécommunication.
Dans la figure 2.6, nous montrons la conception des moteurs brushless réalisée avec
SolidWorks.
30
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
Après une analyse approfondie, nous avons choisi d’utiliser des moteurs brushless
1000KV pour notre drone. Le choix de cette spécification KV a été basé sur plusieurs facteurs,
tels que la stabilité du vol, l’adaptation à la frame F450, la puissance et la poussée nécessaires,
l’efficacité énergétique et la disponibilité sur le marché. Ces moteurs nous permettront d’obtenir
un vol stable, une installation facile et une autonomie de vol optimale pour notre projet de
drone d’inspection de pylônes de télécommunication.
2.1.3.2 Hélices
Les hélices sont des dispositifs rotatifs composés de pales qui, lorsqu’elles tournent,
créent une force d’air permettant de propulser notre drone à travers l’air. Les hélices sont
un élément essentiel du système de propulsion d’un drone et jouent un rôle crucial dans
la génération de la poussée nécessaire au vol. Le fonctionnement des hélices repose sur le
principe de l’aérodynamique. Lorsque les pales tournent, elles déplacent l’air autour d’elles,
créant une différence de pression entre la face supérieure et la face inférieure de chaque pale.
Cette différence de pression engendre une force d’air qui pousse le drone dans la direction
opposée au mouvement de l’air et permet de contrer les couples et les forces gyroscopiques
qui pourraient autrement déstabiliser le drone.
Dans notre cas, nous avons choisi des hélices de taille 10x4.5, ce qui signifie qu’elles
ont un diamètre de 10 pouces et un pas de 4.5 pouces.
31
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
Les figures 2.7 et 2.8 montrent respectivement le diamètre d’une hélice et le pas d’une
hélice (un tour).
En ce qui concerne la rotation des hélices, il est important de noter qu’il existe deux
types d’hélices : celles qui tournent dans le sens horaire (CW - Clockwise) et celles qui
tournent dans le sens anti-horaire (CCW - Counter-Clockwise). Pour un équilibre des forces
de poussée et pour minimiser les effets de couple indésirables, nous avons monté les hélices
32
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
tournant dans le sens horaire sur des moteurs adjacents et les hélices tournant dans le sens
anti-horaire sur les autres moteurs adjacents.
Dans la figure 2.9, nous montrons le montage des hélices en sens horaire (CW) et en
sens anti-horaire (CCW) pour un quadricoptère.
Lors du montage des hélices, nous avons veillé à ce que la surface supérieure de l’hélice,
qui est généralement incurvée vers l’extérieur, soit orientée vers le haut. Cette orientation
garantit une poussée efficace et un fonctionnement optimal de l’hélice.
Dans la figure 2.10, nous pouvons observer le montage d’une hélice sur un moteur
brushless, conçu à l’aide de SolidWorks.
33
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
34
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
• Les ESC ont une interface de commande avec trois fils : les fils d’alimentation
(noir/marron et rouge) fournissent l’énergie nécessaire, et un fil supplémentaire transmet
un signal de contrôle PWM entre le contrôleur de vol et l’ESC pour ajuster la vitesse du
moteur en fonction des commandes du pilote ou des instructions de vol automatisées.
La figure 2.13 présente les différents fils de connexion de l’ESC.
35
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
• Batterie
Une batterie est un dispositif électrochimique qui stocke de l’énergie chimique et
la convertit en énergie électrique lorsqu’elle est nécessaire. Elle est composée de cellules
individuelles qui contiennent des réactions chimiques permettant le stockage et la libération
d’électrons. Pour notre drone, nous avons choisi d’utiliser une batterie LiPo (Lithium Polymère)
3000mAh 11.1V 3S 50C.
La figure 2.14 présente un exemple de batterie LiPo.
36
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
Les batteries LiPo offrent une densité d’énergie élevée, ce qui signifie qu’elles peuvent
stocker plus d’énergie par unité de poids. Elles offrent également un taux de décharge élevé,
ce qui est essentiel pour alimenter les moteurs puissants de notre drone. De plus, les batteries
LiPo sont légères et compactes, ce qui réduit le poids total du drone et améliore son efficacité
énergétique. Elles maintiennent une tension stable tout au long de la décharge et permettent
une recharge rapide, minimisant ainsi les temps d’attente entre les vols.
• Chargeur
Un chargeur de batterie est un dispositif utilisé pour recharger une batterie en fournissant
une alimentation électrique appropriée. Il convertit l’énergie électrique provenant d’une source
d’alimentation (comme une prise secteur) en un courant et une tension adaptés pour recharger
la batterie. Dans le cadre de notre projet, nous avons utilisé le chargeur B3 pour charger notre
batterie LiPo 3S d’une tension de 11,1V.
Pour charger la batterie, nous avons suivi les instructions fournies avec le chargeur.
Après avoir connecté le chargeur à une source d’alimentation secteur, nous avons branché
la batterie LiPo 3S au port d’équilibrage approprié. Les voyants LED sont passés du rouge
au vert pour indiquer que la charge était terminée. Nous avons utilisé un chargeur fiable et
sécurisé, bien qu’il ne soit pas caractérisé par une charge rapide. Avec une puissance de 0,8A,
nous avons préféré une charge en douceur pour assurer une charge en profondeur et minimiser
les risques de surchauffe ou de dommage de la batterie. Notre priorité était d’adopter une
approche sécurisée et précautionneuse lors de la charge de notre batterie.
Le contrôleur de vol est un élément essentiel du drone, agissant comme son "cerveau"
en surveillant en temps réel sa position, son orientation et sa vitesse à l’aide de capteurs.
Grâce au principe du PID, il ajuste et stabilise ces paramètres pour maintenir le drone sur
une trajectoire stable. Il interprète également les commandes du pilote et les traduit en
mouvements précis du drone, offrant un contrôle optimal lors du vol.
Pour choisir le contrôleur de vol adapté à notre projet, nous avons suivi un modèle de
prise de décision en deux étapes développé par Herbert Simon. Parmi les options examinées,
nous avons collecté des informations sur les modèles suivants : LCD KK2.1.5, Contrôleur
De Vol Blackboard V5.5, Arduino UNO + Oled + Gyroscope MPU6050 et CONTRÔLEUR
37
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
ARDUPILOT APM2.8.
Le tableau 2.3 montre une comparaison détaillée des spécifications techniques, des
fonctionnalités et des prix des différents contrôleurs de vol.
38
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
Dans la deuxième étape, nous avons analysé et comparé les différentes options de
contrôleurs de vol en fonction de critères tels que la disponibilité, la précision des capteurs, la
nécessité de programmation, les fonctionnalités d’affichage et d’indication de cap, le prix, ainsi
que la présence de fonctionnalités telles que GPS, baromètre, accéléromètre et gyroscope, et
la capacité de fonctionnement automatique.
En évaluant ces critères, nous avons pu effectuer une comparaison objective des options
disponibles et prendre une décision éclairée pour choisir le contrôleur de vol le mieux adapté
à notre projet.
Le tableau 2.4 montre une synthèse des résultats de notre évaluation comparative des
différentes options de contrôleurs de vol. Une "x" dans le tableau signifie que le contrôleur
de vol répond positivement au critère correspondant.
39
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
Disponibilité x x x
Précision des x
capteurs
Programmation x x x x
requise
Afficheur x x
Indicateur de cap x x x
Prix x
GPS x
Baromètre x
Accéléromètre x x x x
Gyroscope x x x
Fonctionnement x x
automatique
Total 7 4 5 8
Après avoir analysé chaque modèle en fonction de ces critères, nous avons déterminé
que le CONTRÔLEUR ARDUPILOT APM2.8 était le plus adapté à nos besoins. En effet,
ce contrôleur a reçu le plus grand nombre total de marques positives (8), ce qui signifie qu’il
répond le plus favorablement à l’ensemble des critères que nous avons établis.
En particulier, le CONTRÔLEUR ARDUPILOT APM2.8 se distingue par sa précision
des capteurs, son indicateur de cap, la présence d’un GPS et d’un baromètre, ainsi que sa
capacité à fonctionner automatiquement. Il ne nécessite pas de programmation, ce qui facilite
son utilisation. De plus, malgré son prix plus élevé par rapport aux autres options, nous avons
jugé que les avantages qu’il offre justifient cet investissement.
Cependant, la carte ARDUPILOT APM2.8 était extrêmement difficile à trouver, avec
40
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
seulement une seule unité disponible sur le marché. Dans le but de prendre une décision
éclairée avant d’investir dans cette carte coûteuse, notre équipe a fait des efforts considérables
en se déplaçant à Sousse puis à Monastir pour effectuer des tests approfondis sur cette carte
spécifique. Cependant, malgré nos efforts, nous avons identifié un problème majeur remettant
en question sa fiabilité et son fonctionnement optimal. Par conséquent, nous avons pris la
décision de ne pas procéder à l’achat et de rechercher une alternative plus appropriée.
Nous avons finalement opté pour la carte KK2.1.5 comme notre deuxième choix, en
raison de ses fonctionnalités adaptées à notre projet d’inspection des pylônes de télécommunications,
de sa disponibilité sur le marché et de son bon rapport qualité-prix. Cette carte contrôleur
KK2.1 pour multirotor joue un rôle essentiel dans la stabilisation et la gestion du vol du drone.
Elle récupère les signaux des gyroscopes intégrés, les transmet au processeur Atmega324PA
et régule la vitesse de rotation des moteurs via les contrôleurs de vitesse électroniques (ESC),
garantissant ainsi la stabilité de l’aéronef.
La figure 2.15 présente le Contrôleur de vol KK2.1.5.
Le contrôleur de vol KK2.1 est équipé de différentes broches (pins) qui ont des fonctionnalités
spécifiques :
• Broches d’entrée (Input) : Le contrôleur de vol KK2.1 reçoit des signaux d’entrée
provenant du récepteur radio via les broches d’entrée aileron, profondeur, gaz et gouverne.
Ces signaux sont utilisés pour contrôler les mouvements de l’aéronef, tels que le roulis, le
tangage, la montée et le lacet.
41
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
42
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
signaux reçus.
De plus, le contrôleur de vol KK2.1 est alimenté par les contrôleurs de vitesse électroniques
(ESC) qui sont connectés à la carte de distribution du frame. Cette carte de distribution est
elle-même reliée à la batterie du drone, assurant ainsi l’alimentation électrique du contrôleur
de vol. Cette connexion entre les ESC, la carte de distribution et la batterie permet d’assurer
un flux constant d’énergie vers le contrôleur de vol, garantissant son bon fonctionnement tout
au long du vol.
La figure 2.17 montre le schéma de connexion du Contrôleur de vol KK2.1 avec les
différents composants du drone. Cela inclut les connexions avec les moteurs, les ESC, le
récepteur radio, les capteurs, la batterie, etc.
43
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
Dans notre projet, nous avons utilisé la radiocommande Flysky FS-i6X 6 channel pour
contrôler notre drone à distance. Cette radiocommande est un dispositif essentiel qui assure
l’interface entre le pilote et le drone, permettant de transmettre les commandes de vol et de
contrôler les différentes fonctionnalités du drone.
La figure 2.18 présente la radiocommande Flysky FS-i6X à 6 canaux.
La Flysky FS-i6X est équipée d’une manette, également connue sous le nom de "joystick",
qui permet de contrôler les mouvements du drone tels que la montée, la descente, l’avancement,
le recul, la rotation et le déplacement latéral. Ces mouvements de la manette sont convertis
en signaux radio qui sont ensuite transmis au récepteur intégré dans le drone, assurant ainsi
un contrôle précis du vol. La fréquence radio utilisée est de 2,4 GHz, offrant une transmission
fiable et une portée suffisante pour un contrôle à distance.
44
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
2.1.5.2 Récepteur
Le récepteur Flysky FS-IA6 est un composant compact et léger, conçu pour une
utilisation avec la radiocommande Flysky FS-i6X. Il offre une connexion fiable et une transmission
de signaux sans faille entre la radiocommande et le drone, assurant un contrôle précis et
réactif. Grâce à sa performance et à sa compatibilité optimale, le récepteur Flysky FS-IA6 a
joué un rôle essentiel dans le succès de nos opérations de vol lors des missions d’inspection
de pylônes de télécommunications.
Le Tableau 2.5 présente les coûts des différents composants nécessaires pour la construction
de notre drone, incluant la quantité et le prix de chaque composant. Cette analyse financière
nous permet d’estimer le budget total requis pour l’assemblage du drone, en prenant en
compte les coûts individuels de chaque élément.
45
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
drone. Elle met en évidence les différents composants achetés, tels que les moteurs, les ESC,
le contrôleur de vol, la batterie, etc.
46
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
du châssis. Nous avons utilisé des vis adaptées pour assurer une fixation solide et sécurisée.
Cette étape est cruciale car elle garantit la stabilité et la résistance structurelle du drone
pendant le vol.
• Ensuite, nous avons procédé au vissage de la partie supérieure du drone avec les bras
préalablement fixés. Cette étape est essentielle pour assurer une connexion solide et sécurisée
entre les différents éléments du drone.
• Ensuite, nous avons procédé au branchement des moteurs sur les bras du drone et à
leur connexion avec les contrôleurs de vitesse électroniques (ESC). Nous avons utilisé des vis
adaptées pour fixer les moteurs sur les bras du drone. Nous avons fixé les ESC sur le châssis à
l’aide de colliers de serrage pour assurer une fixation solide et sécurisée. Ensuite, nous avons
relié les fils des moteurs aux ESC en suivant les schémas de câblage appropriés.
La figure 2.21 présente le branchement et la connexion des moteurs aux bras et aux
ESC.
Figure 2.21 : Branchement et connexion des moteurs aux bras et aux ESC
• Pour assurer la stabilité du drone, nous avons fixé le contrôleur de vol à la partie
supérieure de la structure du drone. Pour améliorer la stabilité, nous avons ajouté une petite
éponge sous le contrôleur de vol. De plus, nous avons suivi le schéma de câblage fourni
ci-dessous pour établir les connexions entre le contrôleur de vol et les autres composants du
drone.
La figure 2.22 représente le schéma de câblage pour les connexions du contrôleur de
vol avec les autres composants du drone. Ce schéma montre comment les différents éléments
du drone, tels que les moteurs, les ESC, le récepteur radio, les capteurs, la batterie, etc.
47
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
• Nous avons établi les connexions entre les 4 ESC et les broches appropriées du
contrôleur de vol. Ces connexions permettent de contrôler la vitesse des moteurs en fonction
des signaux transmis par le contrôleur de vol, assurant ainsi la propulsion du drone.
Connexion du récepteur radio au contrôleur de vol : Nous avons également connecté
le récepteur radio aux broches d’entrée du contrôleur de vol. Cette connexion permet au
contrôleur de vol de recevoir les commandes de vol du pilote via la radiocommande. Le
contrôleur de vol interprète ensuite ces commandes et les traduit en mouvements du drone,
assurant ainsi un contrôle précis et réactif du drone.
Avec un soin méticuleux, nous avons effectué une isolation minutieuse des connexions
électriques, en veillant à la position et à la fixation précises de chaque fil. De plus, nous
avons pris des mesures pour assurer la sécurité des hélices, en les installant correctement et
en vérifiant leur bon fonctionnement. Cela garantit un fonctionnement fiable et optimal de
notre drone dans le cadre de notre projet d’inspection des pylônes de télécommunications.
Enfin, nous avons obtenu un résultat concluant de l’assemblage du drone, comme illustré
dans la figure 2.23 ci-dessous.
48
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
L’appairage entre le récepteur et la radiocommande doit être effectué une seule fois,
sauf si une reconnexion est nécessaire ou en cas de problèmes de connexion. Lors de l’appairage
initial, les informations de la radiocommande sont mémorisées par le récepteur pour une
connexion automatique lors de chaque allumage.
49
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
avons sélectionné "System Setup" pour choisir le type de modèle "Multirotor". Ensuite, nous
sommes retournés au menu principal et avons sélectionné "Function Setup" pour configurer
les voies auxiliaires (AUX) en fonction de nos besoins, comme l’armement/désarmement
du drone ou les modes de vol. Nous avons veillé à suivre avec précision ces étapes afin de
configurer correctement la radiocommande en fonction de nos besoins spécifiques.
Pour configurer la carte KK2.1.5, nous commençons par allumer l’émetteur et nous
nous assurons que le récepteur est lié à l’émetteur.
Étape 1 : Allons d’abord dans le menu en appuyant sur S4, puis sélectionnons "Load
Motor Layout" et choisissons “quadrocopter X mode” pour configurer le quadricoptère en
mode X. Vérifions ici toutes les directions des moteurs.
Pour vérifier la configuration, référons-nous à la figure 2.24 qui illustre la Configuration
du quadricoptère en mode X.
50
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
Figure 2.26 : Réinitialisation de l’alimentation pour passer de l’état "Erreur" à l’état "Sécurisé"
Étape 3 : Dans cette étape, nous allons accéder à l’éditeur PI pour ajuster les gains
P et I des ailerons, du gouvernail et de la profondeur.
Dans la figure 2.27, nous pouvons voir l’interface de l’éditeur PI spécifique aux ailerons.
51
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
pour un contrôle précis et réactif, et un gain plus faible pour un contrôle doux.
Le gain I est responsable de la capacité du drone à maintenir une altitude constante,
en évitant les variations excessives.
Dans la figure 2.28, nous pouvons observer l’interface de l’éditeur PI spécifique au
gouvernail et à la profondeur.
Étape 5 : Maintenant, allons dans les paramètres divers. Ici, nous allons régler l’alarme
pour une tension de 1/10 de volt. Pour régler l’alarme à 1/10 de volt, effectuons les calculs
suivants :
Dans la figure 2.30, nous pouvons voir l’interface de configuration des paramètres
divers.
52
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
Dans notre cas, nous utilisons une batterie LiPo 3 cellules avec une tension nominale
de 11,1 volts. Pour indiquer une batterie vide, nous utilisons une valeur de 3,60 volts par
cellule. Pour régler l’alarme à 1/10 de cette valeur, nous effectuons le calcul suivant : 3,6
volts * 3 cellules * 10 = 108. Ainsi, en réglant la valeur de l’alarme à 108, l’alarme sonnera
lorsque la tension d’alimentation du système atteindra 10,8 volts, indiquant une décharge
importante de la batterie. Ce réglage nous permet de surveiller la tension de la batterie et de
prendre les mesures nécessaires pour éviter une décharge excessive et préserver la durée de
vie de la batterie.
53
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
2. Une fois que les gaz sont maintenus à gauche, le quadricoptère est armé et prêt à
voler.
En armant le quadricoptère, nous activons le système de propulsion et préparons le
drone pour le vol. C’est une étape essentielle avant de prendre les commandes et de piloter
le drone en toute sécurité.
Dans la figure 2.31, nous pouvons observer le processus d’armement du drone.
Maintenant, le quadricoptère est prêt à voler. Nous maintenons les gaz ducôté droit
pour faire décoller le quadricoptère.
Étape 8 :Désarmement du drone
Pour désarmer le drone, nous suivons la procédure suivante :
1. Maintenons les gaz à droite, c’est-à-dire à la position de ralenti.
2. Une fois que les gaz sont maintenus à droite, le drone se désarme, ce qui signifie
que le système de propulsion est désactivé et que le drone est sécurisé.
Le désarmement du drone est une étape importante pour garantir la sécurité et éviter tout
fonctionnement accidentel des moteurs. Il est essentiel de s’assurer que le drone est désarmé
lorsque nous avons terminé le vol ou lorsque nous ne prévoyons pas de le faire voler pendant
un certain temps.
54
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
Lors du test de vol, nous avons manipulé les joysticks de la radiocommande pour
contrôler les mouvements du drone. Voici une explication de chaque point de contrôle :
Aileron : Le joystick horizontal situé à droite de la radiocommande permet de contrôler
le mouvement latéral du drone. En déplaçant le joystick vers la gauche ou la droite, le drone
effectue des mouvements de roulis, inclinant l’aéronef vers la gauche ou la droite.
La figure 2.32 présente la manipulation du joystick de la radiocommande pour le
contrôle de l’aileron.
55
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
En utilisant ces joysticks, nous pouvons exercer un contrôle précis sur les mouvements
du drone pendant le test de vol. En ajustant la position des joysticks, nous pouvons faire
voler le drone dans différentes directions, effectuer des virages et des manœuvres, et maintenir
une stabilité en vol. Il est important de bien maîtriser la manipulation des joysticks de la
radiocommande pour assurer un vol sûr et contrôlé du drone.
Pendant les tests de vol, nous avons rencontré des besoins énergétiques supérieurs à
ce que la batterie LiPo seule pouvait fournir. Notre batterie 3S 3000mAh ne disposait pas
de la capacité nécessaire pour effectuer des vols prolongés, limitant ainsi notre temps de
vol à environ 10 minutes. De plus, notre chargeur n’était pas suffisamment puissant, ce qui
entraînait un temps de charge long de 8 heures. Pour résoudre ce problème, nous avons ajouté
une alimentation à découpage de 40A à 12V, combinant ainsi la capacité de la batterie LiPo
et de l’alimentation pour répondre à nos besoins énergétiques lors des vols prolongés.
56
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
De plus, nous avons ajusté les paramètres PID pour améliorer la stabilité du drone lors
des vols, en effectuant des modifications itératives jusqu’à obtenir des résultats satisfaisants.
Ces efforts nous ont permis de surmonter les problèmes d’alimentation et de stabilité, améliorant
ainsi les performances de notre drone pour le projet d’inspection des pylônes de télécommunications.
Nous nous sommes rendus à l’ISTIC pour effectuer les tests de notre drone. Malgré les
contraintes auxquelles nous avons été confrontés, nous avons finalement réalisé avec succès
le test de vol, comme en témoigne la Figure 2.36.
Figure 2.36 : Vol du drone après les améliorations apportées au système d’alimentation et à la
stabilité
57
Chapitre 2. Fabrication du Drone : Sélection, Assemblage des Composants et Essais de Vol
Conclusion
Ce chapitre a joué un rôle essentiel dans notre apprentissage des drones en nous
fournissant les bases nécessaires pour comprendre leurs composants, leur fonctionnement
et les tests de vol. Dans le prochain chapitre, nous aborderons l’intégration de l’IoT (Internet
des objets) pour l’inspection des pylônes par drone.
58
Chapitre 3
Plan
1 Définition de l’IoT et son rôle dans l’inspection des pylônes . . . . . . . 60
Introduction
L’Internet des Objets (IoT) est un concept technologique qui consiste à connecter des
objets physiques à Internet, leur permettant ainsi d’échanger des données et de communiquer
entre eux. Dans le contexte de l’inspection des pylônes, l’IoT se réfère à l’intégration de
capteurs, de dispositifs de collecte de données et de communication sans fil pour surveiller,
analyser et optimiser les opérations d’inspection des pylônes.
Dans notre projet spécifique, nous utilisons une caméra pour capturer des images des
pylônes et les héberger sur Google Drive via Internet. L’intégration de l’IoT offre de nombreux
avantages, notamment :
• Collecte de données en temps réel : Les capteurs intégrés à la caméra IoT
permettent de recueillir des données en temps réel sur l’état des pylônes, offrant une visibilité
immédiate sur les conditions de chaque site inspecté.
• Automatisation des tâches d’inspection : Grâce à l’IoT, certaines tâches
d’inspection peuvent être automatisées, réduisant ainsi les erreurs humaines et accélérant
le processus global d’inspection.
• Amélioration de l’efficacité globale : L’intégration de l’IoT permet une gestion
plus efficace des opérations d’inspection des pylônes, en optimisant l’utilisation des ressources
et en réduisant les délais de réponse aux problèmes potentiels.
60
Chapitre 3. Capture d’Images des Pylônes et Stockage dans Google Drive grâce à l’IoT
Le ESP32-CAM est une carte de développement basée sur l’ESP 32 qui intègre une
caméra et est conçue pour les applications IoT. Elle est caractérisée par sa petite taille, son
faible coût et sa polyvalence.
Dans la figure 3.1, nous pouvons observer la représentation visuelle de la caméra
ESP32-CAM.
61
Chapitre 3. Capture d’Images des Pylônes et Stockage dans Google Drive grâce à l’IoT
62
Chapitre 3. Capture d’Images des Pylônes et Stockage dans Google Drive grâce à l’IoT
L’ESP32 CAM peut être alimentée par une batterie externe pour permettre une
utilisation sans fil. Il est important de choisir une batterie adaptée à la caméra en fonction
de ses besoins énergétiques.
Les fonctions de Google Apps Script nous permettent d’accéder à l’ESP32-CAM afin
de pouvoir envoyer ou poster des photos sur Google Drive en utilisant nos comptes Google.
Nous pouvons utiliser Google Apps Script pour créer des scripts personnalisés qui
interagissent avec les services Google, tels que Google Drive. Voici les étapes générales pour
utiliser Google Apps Script avec l’ESP32-CAM :
1. Créer un projet Google Apps Script : Nous nous sommes rendus sur script.google.com
et avons créé un nouveau projet pour écrire le code qui sera exécuté côté serveur.
La figure 3.3 illustre le processus de création d’un projet Google Apps Script
63
Chapitre 3. Capture d’Images des Pylônes et Stockage dans Google Drive grâce à l’IoT
2. Ajouter les fonctions nécessaires : Nous avons écrit la fonction dans notre projet
Google Apps Script pour recevoir les photos envoyées par l’ESP32-CAM et les enregistrer
dans Google Drive. Nous avons utilisé les API Google Drive, comme l’API DriveApp, pour
créer de nouveaux fichiers dans Google Drive et y enregistrer les photos.
La figure 3.4 met en évidence la fonction de réception et d’enregistrement des photos
de l’ESP32-CAM dans Google Drive
Cette fonction est un script Google Apps qui reçoit une requête HTTP POST contenant
une image encodée en base64. Elle décode l’image, crée un nouveau fichier avec l’image dans
un dossier spécifique sur Google Drive, et renvoie une réponse indiquant que l’opération a
réussi. Le nom du dossier est déterminé par un paramètre dans la requête POST, et s’il n’est
pas fourni, le nom ’ESP32-CAM’ est utilisé par défaut.
3. Déployer le projet : Une fois que nous avons écrit nos fonctions, nous les avons
64
Chapitre 3. Capture d’Images des Pylônes et Stockage dans Google Drive grâce à l’IoT
déployées en tant que service web. Cela nous a fourni un ID de déploiement et une URL que
nous avons utilisée pour communiquer avec notre script depuis l’ESP32-CAM.
ID de déploiement : AKfycbxZB4rCcMQQ7ptPYlEU1e3Y5o8Da2ExLUikbfDKqXbWz
cyfTpEfGxLlGIjfoWAr9A
URL : https ://script.google.com/macros/s/AKfycbxZB4rCcMQQ7ptPYlEU-1e35o8
Da2ExLUikbfDKqXbWz-cyfTpEfGxLlGIjfoWAr-9A/exec
Les figures 3.5 et 3.6 présentent respectivement le processus de déploiement du projet
et les identifiants de déploiement et les URL associées au projet
65
Chapitre 3. Capture d’Images des Pylônes et Stockage dans Google Drive grâce à l’IoT
Nous avons réalisé un code qui permet de tester l’ESP32-CAM. Ce code configure
la caméra, établit une connexion WiFi, et démarre un serveur web qui permet d’accéder à
l’ESP32-CAM depuis un navigateur. Le serveur web diffuse en continu le flux vidéo en direct
et offre la possibilité de capturer des images à partir de la caméra. Une fois téléversé sur
l’ESP32-CAM, le code se connecte au réseau WiFi, démarre le serveur web, et vous pouvez
visualiser le flux vidéo et capturer des images en accédant à l’adresse IP de l’ESP32-CAM
via un navigateur. Dans ce test de la caméra ESP32-CAM, nos ordinateurs et l’ESP32-CAM
doivent être connectés au même réseau WiFi.
La figure 3.7 présente le code de téléversement utilisé pour tester l’ESP32-CAM sur
la carte.
66
Chapitre 3. Capture d’Images des Pylônes et Stockage dans Google Drive grâce à l’IoT
Dans notre projet, nous avons élaboré un système basé sur l’ESP32-CAM, une caméra
programmable capable de se connecter à un réseau WiFi et d’envoyer des photos à un serveur
Google Drive à intervalles réguliers.
1. Configuration de base : Tout d’abord, notre système commence par initialiser
les bibliothèques et les paramètres nécessaires.
La figure 3.8 illustre l’initialisation des bibliothèques.
67
Chapitre 3. Capture d’Images des Pylônes et Stockage dans Google Drive grâce à l’IoT
formats de texte, tels que les e-mails ou les protocoles HTTP. La bibliothèque Base64 permet
de convertir des données binaires en chaînes de caractères Base64 et vice versa.
2. Définition des identifiants WiFi : Nous avons défini les identifiants de connexion
pour le réseau WiFi auquel l’ESP32-CAM se connectera.
La figure 3.9 présente l’identification de connexion au réseau WiFi pour l’ESP32-CAM.
68
Chapitre 3. Capture d’Images des Pylônes et Stockage dans Google Drive grâce à l’IoT
La figure 3.11 met en évidence les identifiants requis pour l’envoi d’images de l’ESP32-CAM
vers un serveur Google Drive.
Figure 3.12 : stockage des images prise par ESP32-cam sur Google Drive
69
Chapitre 3. Capture d’Images des Pylônes et Stockage dans Google Drive grâce à l’IoT
Conclusion
Dans ce chapitre, nous avons examiné comment l’Internet des objets (IoT) joue un rôle
essentiel dans l’inspection des pylônes en utilisant des caméras ESP32-CAM pour la collecte
des données. Cette approche, combinant l’IoT, les caméras ESP32-CAM, Google Apps Script
et Google Drive, offre une solution efficace pour l’inspection des pylônes.
70
Chapitre 4
Plan
1 Détection d’objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Introduction
Dans cette partie, nous allons nous concentrer sur la détection d’objets. Nous explorerons
l’utilisation de technologies d’intelligence artificielle avancées pour la détection d’images.
La détection d’images a pour objectif d’identifier et de localiser des objets spécifiques
dans une image. Cette technologie peut être utilisée pour des tâches variées, allant de la
reconnaissance faciale à la détection d’objets courants tels que des antennes. Elle permet
également de repérer des défauts ou des caractéristiques particulières, comme la détection de
boulons rouillés dans le cadre d’inspections.
Pour atteindre ces objectifs, nous utiliserons des technologies d’intelligence artificielle
avancées, notamment les réseaux de neurones profonds, tels que les réseaux de neurones
convolutionnels (CNN) utilisés en vision par ordinateur. Ces modèles sont entraînés sur de
vastes ensembles de données annotées, ce qui leur permet d’apprendre à reconnaître et à
généraliser les motifs présents dans les images.
L’utilisation de ces technologies d’IA nous permettra d’effectuer une détection précise
et une analyse automatique des informations visuelles. Cela ouvrira un large éventail de
possibilités dans des domaines tels que la reconnaissance de documents, l’analyse d’images
médicales, la sécurité, et bien d’autres encore. Ces avancées offriront des solutions efficaces
et sophistiquées pour diverses applications pratiques.
La figure 4.1 présente les processus de détection d’objets.
72
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
Nous avons mis en place une méthode hautement efficace et rapide pour collecter un
ensemble d’images en utilisant le Web Scraping. Cette technique de collecte automatisée
nous a permis d’extraire rapidement des images à grande échelle à partir de divers sites web,
sans la nécessité de télécharger chaque image individuellement. En développant un script
Python, en utilisant la bibliothèque Beautifulsoup, nous avons pu naviguer de manière
ciblée à travers une multitude de sources en ligne, notamment des forums techniques, des
sites de télécommunications et des bases de données d’images.
La figure 4.2 illustre notre script de web scraping, soigneusement conçu pour identifier
avec précision les images pertinentes présentes sur ces pages web. Une fois identifiées, ces
images sont automatiquement téléchargées et enregistrées directement dans notre base de
données d’images. Grâce à cette approche automatisée, nous avons pu économiser un temps
considérable, évitant ainsi des heures de travail fastidieux nécessaires pour télécharger chaque
73
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
La figure 4.3 nous permet de constater que même si le web scraping est utile pour
collecter rapidement un grand nombre d’images, il présente certaines limites. Par exemple,
nous devons respecter les politiques d’utilisation des sites web et éviter de surcharger leurs
serveurs en téléchargeant un trop grand nombre d’images trop rapidement. De plus, les images
collectées par le web scraping sont souvent très diverses en termes de qualité, de résolution
et de pertinence, ce qui nécessite une étape de tri et de nettoyage.
Figure 4.3 : Exploration des résultats capturés lors de la session de web scraping
74
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
Nous avons utilisé une deuxième méthode de collecte d’images en effectuant des visites
sur site. Ces visites nous ont permis de prendre des photos détaillées à haute résolution de
pylônes de télécommunication et de leur équipement, tels que des antennes, des câbles et des
boulons.
Lors de ces visites, nous avons pris des photos sous différents angles pour capturer
une variété de conditions d’éclairage. Cela nous a permis d’obtenir un jeu de données plus
robuste, représentatif des conditions réelles d’inspection des pylônes.
Cette méthode nous a offert des images spécifiques et de haute qualité, complétant
ainsi notre base de données existante. L’ajout de ces images provenant des visites sur site
a renforcé la diversité de notre jeu de données et a amélioré la capacité de notre modèle de
détection d’objets à traiter des scénarios réels de pylônes de télécommunication.
Nous avons utilisé la méthode 3, qui consiste à compléter notre collecte d’images en
utilisant une base de données fournie par SOTETEL. Cette base de données contient
des images d’inspection de pylônes de télécommunication provenant de missions précédentes.
Ces images ont été d’une grande valeur car elles représentaient des scénarios d’inspection réels
et présentaient une variété d’anomalies que nous souhaitions que notre modèle soit capable
de détecter.
Cette base de données d’images provenant de SOTETEL a renforcé notre jeu de
données existant en ajoutant des exemples réels d’anomalies spécifiques aux pylônes de
télécommunication. Le prétraitement minutieux que nous avons effectué nous a permis d’optimiser
l’utilisation de ces images lors de l’entraînement de notre modèle, améliorant ainsi sa capacité
à détecter et à identifier les différents équipements et anomalies rencontrés sur les pylônes.
La figure 4.4 présente un exemple d’image provenant de la base de données de SOTETEL
75
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
76
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
En organisant les images par classe, nous avons pu accéder facilement aux exemples pertinents
pour l’annotation et l’entraînement de notre modèle, ce qui a conduit à une meilleure précision
de détection et à une meilleure capacité de généralisation.
La figure 4.5 présente la classification pour une détection précise des objets cibles
Pour la labellisation manuelle de nos images, nous avons choisi d’utiliser le logiciel
d’annotation graphique open source LabelImg. Ce choix s’est imposé en raison des avantages
significatifs qu’offre cet outil.
LabelImg a été sélectionné pour sa convivialité et son interface utilisateur intuitive.
Son utilisation est accessible, même pour les utilisateurs novices, ce qui a accéléré notre
processus d’annotation tout en maintenant un haut niveau de précision.
Un autre aspect décisif était la compatibilité de LabelImg avec différents formats
d’annotation, notamment PASCAL VOC, YOLO et COCO. Cette flexibilité nous a permis
de travailler avec diverses structures de données et de choisir le format d’annotation le mieux
adapté à nos besoins spécifiques de détection d’objets.
L’une des fonctionnalités clés de LabelImg est la possibilité de personnaliser les raccourcis
77
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
clavier, ce qui a considérablement amélioré notre efficacité lors des tâches répétitives d’annotation.
Grâce à cette personnalisation, nous avons pu gagner du temps et accélérer notre processus
global d’annotation.
La Figure 4.6 illustre l’ouverture de LabelImg depuis la ligne de commande.
Lors de la labellisation des images, nous avons utilisé les formats d’annotation suivants :
• Format Pascal VOC :
- Indice de classe : Chaque annotation comprend un indice de classe pour l’objet
annoté. - Coordonnées de la boîte englobante : Les coordonnées de la boîte englobante sont
exprimées en pourcentage par rapport à la taille de l’image. - xmin, ymin, xmax, ymax : Ces
78
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
• Format COCO :
- Indice de classe : Comme dans le format Pascal VOC, chaque annotation comprend un
indice de classe pour l’objet annoté. - Coordonnées de la boîte englobante : Les coordonnées
de la boîte englobante sont également exprimées en pourcentage par rapport à la taille de
l’image. - xmin, ymin, largeur, hauteur : Les coordonnées xmin et ymin définissent le coin
supérieur gauche de la boîte englobante, tandis que la largeur et la hauteur indiquent les
dimensions de celle-ci.
La Figure 4.9 montre le format d’annotation Pascal COCO : les coordonnées de la
boîte englobante.
79
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
• Format YOLO : - Chaque ligne d’annotation d’un fichier texte contient les informations
suivantes : - Numéro de classe de l’objet : Indique la classe à laquelle l’objet annoté appartient.
- Coordonnées de la boîte englobante : Les coordonnées de la boîte englobante sont fournies
sous forme de valeurs normalisées, relatives à la taille de l’image. - x, y, largeur, hauteur :
Les coordonnées x et y représentent le centre de la boîte englobante, tandis que la largeur et
la hauteur définissent les dimensions de celle-ci.
En utilisant ces formats d’annotation, nous avons pu associer des informations détaillées
aux objets annotés dans nos images. Ces informations sont cruciales pour l’entraînement et
la détection précise des objets sur les pylônes de télécommunication.
Cependant, il est important de souligner que la labellisation manuelle des images est
une tâche qui requiert un investissement de temps conséquent. Nous avons consacré un temps
considérable à examiner chaque image avec minutie, à dessiner des boîtes englobantes précises
et à associer les annotations appropriées. Pour garantir la cohérence entre les images et leurs
annotations, nous avons enregistré chaque image avec un fichier .txt portant le même nom,
qui contient les coordonnées de la boîte englobante correspondante.
Ainsi, chaque image et son annotation sont étroitement liées, ce qui garantit l’intégrité
80
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
et l’utilité de notre jeu de données annotées pour la formation de notre modèle de détection
d’objets.
La Figure 4.10 illustre le nommage cohérent des images et de leurs annotations.
81
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
Pour notre cas, voici comment nous allons structurer les images :
Classe "Rouille" :
• Entraînement : 357 images (85%)
• Validation : 65 images (15%)
Classe "Antenne" :
• Avec 840 images :
• Entraînement : 80% de 840 images = 0.8 * 840 = 672 images
• Validation/Test : 20% de 840 images = 0.2 * 840 = 168 images
b. Configuration du modèle :
La Figure 4.12 présente un tableau de comparaison entre les modèles YOLOv5.
82
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
Le tableau fournit des informations clés sur les performances et la complexité des
différents modèles YOLOv5. Voici une analyse des tendances observées dans le tableau :
c. Performance et complexité : On observe une tendance générale selon laquelle les
modèles plus performants (ceux ayant une mAP plus élevée) ont également une plus grande
complexité, comme en témoignent le plus grand nombre de paramètres et de FLOPs. Par
exemple, le YOLOv5x a une mAP plus élevée que le YOLOv5s, mais il a aussi beaucoup plus
de paramètres et de FLOPs.
d. Vitesse de traitement : De même, les modèles plus complexes ont tendance
à avoir des temps de traitement plus longs. Cela est logique car un modèle plus complexe
nécessite plus de calculs pour effectuer une prédiction. Par exemple, le YOLOv5x a des temps
de traitement CPU et GPU plus longs que le YOLOv5s.
e. Taille de l’image d’entrée : Les modèles formés et testés avec une résolution
d’image d’entrée plus grande (les modèles se terminant par "6") ont généralement une mAP
plus élevée, indiquant une meilleure performance, mais ils ont aussi des temps de traitement
plus longs et une plus grande complexité.
Dans notre projet, nous avons évalué plusieurs variantes du modèle YOLOv5 pour
83
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
déterminer celle qui s’adapte le mieux à nos contraintes spécifiques. Les facteurs clés qui ont
influencé notre décision comprenaient la quantité limitée de ressources disponibles, la taille
réduite de notre ensemble de données et le besoin d’un traitement efficace. Après une analyse
approfondie, nous avons sélectionné le modèle YOLOv5s comme étant le mieux adapté à nos
besoins.
Le YOLOv5s se distingue par sa petite taille et sa légèreté, ce qui le rend particulièrement
attrayant pour nos contraintes actuelles. Conçu pour traiter des images de 640 pixels, il
convient parfaitement à la résolution des données avec lesquelles nous travaillons.
La rapidité de traitement est une autre qualité remarquable du YOLOv5s. Sur un
CPU, le modèle est capable de réaliser une prédiction en 98 ms. Sur une carte graphique
NVIDIA V100, les délais de traitement sont également impressionnants : 6.4 ms pour une
image unique (lot de 1) et 7.2 ms pour un lot de 32 images. Ces performances nous permettent
de traiter efficacement nos données, même avec nos ressources limitées.
En termes de complexité, le YOLOv5s se distingue par son faible nombre de paramètres,
soit 7.2 millions. Cela est nettement inférieur aux autres modèles plus grands de la famille
YOLOv5, ce qui signifie que le YOLOv5s nécessite moins de ressources de calcul. De plus, il
ne nécessite que 16.5 milliards d’opérations en virgule flottante (FLOPs) pour effectuer une
prédiction sur une image de 640x640 pixels, soulignant encore une fois sa faible complexité.
Il est important de mentionner que, bien que le YOLOv5s soit plus léger et plus rapide,
il est généralement moins précis que les modèles plus grands. Cependant, compte tenu de nos
contraintes actuelles, nous avons privilégié la rapidité et l’efficacité.
En conclusion, après avoir soigneusement évalué nos besoins et contraintes, nous avons
déterminé que le YOLOv5s est le choix le plus approprié pour notre projet. Sa combinaison de
légèreté, de rapidité et d’adaptabilité nous permet d’optimiser l’efficacité tout en respectant
nos contraintes de ressources.
f. Etapes de configuration :
Étape 1 : Nous avons créé un fichier YAML nommé ‘dataset.yaml‘ pour spécifier les
chemins des répertoires d’entraînement et de validation, ainsi que le nombre de classes et leurs
noms correspondants dans notre jeu de données. Nous avons remplacé ‘<nombre-de-classes>‘
par le nombre réel de classes dans notre dataset, et mis à jour la liste ‘names‘ avec les noms
appropriés de nos classes. Voici le contenu du fichier ‘dataset.yaml‘ :
84
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
85
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
ancres.
La Figure 4.14 présente la conversion des annotations YOLO en fichiers CSV.
Figure 4.14 : Conversion d’annotations YOLO en fichier CSV avec un script Python
La Figure 4.15 illustre également la conversion des annotations YOLO en fichiers CSV.
Figure 4.15 : Extraction réussie des annotations YOLO vers un fichier CSV
86
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
3. Préparation des données d’entrée : Nous avons chargé les dimensions des boîtes
englobantes à partir du fichier CSV en utilisant la bibliothèque NumPy. De plus, nous avons
spécifié le nombre d’ancres par niveau de la pyramide d’échelle et le nombre de clusters pour
les ancres.
La Figure 4.17 montre la préparation des données d’entrée.
87
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
de l’IOU .
Une fois les modifications terminées, nous avons enregistré le fichier de configuration
personnalisé, prêt à être utilisé pour entraîner notre modèle YOLOv5 selon nos spécifications.
Entraînement du modèle YOLO :
Nous avons mis en œuvre une stratégie d’entraînement rigoureuse pour notre modèle
YOLO, comprenant l’ajustement des hyperparamètres pour optimiser les performances. Les
étapes de ce processus sont décrites ci-dessous :
1. Ajustement des hyperparamètres : Nous avons minutieusement ajusté les
hyperparamètres du modèle. Ces réglages comprennent :
• Taux d’apprentissage (Learning rate) : Il s’agit de la vitesse à laquelle notre modèle
88
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
apprend. Un taux trop élevé peut entraîner un apprentissage superficiel, tandis qu’un taux
trop faible peut rendre l’apprentissage lent et inefficace.
• Taille des mini-lots : Il s’agit du nombre d’exemples d’apprentissage utilisés dans
une seule mise à jour des paramètres du modèle. Une taille de lot correcte peut équilibrer
l’efficacité de l’apprentissage et l’utilisation de la mémoire.
• Nombre d’itérations : C’est le nombre de fois où l’ensemble des données d’apprentissage
est utilisé pour mettre à jour les paramètres du modèle. Un bon nombre d’itérations assure
que le modèle a suffisamment appris des données sans tomber dans le surapprentissage.
2. Lancement de l’entraînement : Avec la commande ci-dessous, nous avons initié
l’entraînement du modèle, en spécifiant les paramètres requis :
python yolov5/train.py –img 640 –batch 16 –epochs 100 –data dataset.yaml
–cfg custom-yolov5s.yaml –weights yolov5s.pt –name my-model
Cette commande indique la taille de l’image d’entrée (–img 640), la taille des mini-lots
(–batch 16), le nombre d’époques (–epochs 100), le fichier YAML avec les détails du jeu de
données (–data dataset.yaml), le fichier de configuration personnalisé (–cfg custom-yolov5s.yaml),
les poids du modèle pré-entraîné (–weights yolov5s.pt) et le nom du modèle final (–name
my-model). Ces valeurs doivent être ajustées en fonction de votre configuration spécifique.
La Figure 4.20 présente un exemple pratique pour comprendre les concepts de batch
et d’epoch.
Figure 4.20 : Un schéma clair pour visualiser les notions de batch et d’epoch
89
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
La Figure 4.21 présente un schéma clair pour visualiser les notions de batch et d’epoch.
90
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
91
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
train/obj-loss, train/cls-loss) : Ces valeurs représentent l’erreur du modèle pour les boîtes
englobantes, la détection d’objets et la classification sur l’ensemble d’entraînement.
Précision et rappel (metrics/precision, metrics/recall) : Ces valeurs permettent
d’évaluer la qualité des prédictions du modèle.
Précision moyenne (metrics/mAP-0.5, metrics/mAP-0.5 :0.95) : Ces indicateurs
offrent une évaluation globale des performances du modèle en calculant la précision moyenne
à différents niveaux d’Intersection sur Union (IoU).
Perte pour boîte englobante / détection d’objet / classification sur l’ensemble
de validation (val/box-loss, val/obj-loss, val/cls-loss) : Ces valeurs indiquent l’erreur
du modèle pour les boîtes englobantes, la détection d’objets et la classification sur l’ensemble
de validation.
Taux d’apprentissage actuels (x/lr0, x/lr1, x/lr2) : Ces valeurs représentent les
taux d’apprentissage pour les différentes parties du réseau.
Ces métriques permettent d’observer l’évolution des performances du modèle au fil du
temps. On s’attend à ce que les erreurs d’entraînement et de validation diminuent au fil des
époques, tandis que la précision, le rappel et la mAP augmentent.
Évaluation du modèle
Après la fin de l’entraînement, les poids du modèle sont automatiquement sauvegardés
dans le dossier yolov5/runs/train/. Pour évaluer les performances du modèle sur l’ensemble
de validation, nous avons utilisé la commande suivante :
python yolov5/val.py –data dataset.yaml –weights runs/train
/my-model/weights/best.pt –img 640
Interprétation des courbes obtenues lors de l’entraînement et de l’évaluation :
Durant l’entraînement, vous pouvez suivre l’évolution des différentes métriques et
pertes grâce à des courbes générées automatiquement. Ces courbes permettent de visualiser
si le modèle apprend correctement et si les performances s’améliorent au fil des époques.
Courbes d’apprentissage (Learning curves) :
Ces courbes représentent l’évolution des pertes (losses) d’entraînement et de validation
au fil des époques. On s’attend d’après la figure 4.23 ci-dessous à ce que ces pertes diminuent
au fil du temps, indiquant que le modèle apprend à partir des données.
92
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
Courbes de précision et de rappel (Precision and Recall curves) : Ces courbes montrent
comment la précision et le rappel évoluent au fil des époques. On s’attend d’après la figure
4.24 ci-dessous à ce que ces valeurs augmentent au fil du temps, indiquant que le modèle
s’améliore pour détecter les objets.
Courbes de mAP (mAP curves) : Ces courbes représentent l’évolution du mAP (Mean
Average Precision) au fil des époques. On s’attend d’après la figure 4.25 ci-dessous à ce que
le mAP augmente au fil du temps, ce qui indique que la performance globale du modèle
s’améliore.
93
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
Figure 4.26 : Images de test avec étiquettes manuelles - Classe Boulon rouillé
La figure 4.27 montre les mêmes images, mais cette fois avec les prédictions de notre
94
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
modèle. Pour chaque objet détecté, le modèle attribue un pourcentage de confiance qui est
également indiqué sur la figure. Ce pourcentage de confiance donne une idée de la probabilité
que l’objet détecté soit effectivement une antenne, selon les estimations du modèle.
Figure 4.27 : Images de test avec prédictions et confiance - Classe Boulon rouillé
En comparant ces deux figures, nous pouvons évaluer l’exactitude des prédictions du
modèle. De plus, en analysant les pourcentages de confiance, nous pouvons comprendre à
quel point le modèle est certain de ses prédictions.
Les erreurs éventuelles de détection peuvent être visualisées directement sur ces figures,
ce qui nous permet de comprendre dans quelles situations ou pour quels types d’objets
le modèle peut rencontrer des difficultés. Cette analyse visuelle est un outil précieux pour
l’amélioration continue de notre modèle, en nous permettant d’identifier les domaines nécessitant
une attention particulière.
Applications du modèle : labellisation automatique des images
Une fois notre modèle YOLOv5s formé et validé, nous avons pu l’utiliser pour automatiser
le processus de labellisation des images. Voici comment nous avons procédé :
95
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
Etape 2 :
La figure 4.29 montre la création d’un dossier de sortie pour les images et les annotations
Etape 3 :
La figure 4.30 montre l’enregistrement des annotations au format YOLO.
Détection d’objets avec YOLO : Nous avons utilisé notre modèle formé pour détecter
les objets d’intérêt (les antennes ) dans de nouvelles images a l’aide de la commande “python
detect.py –source /path/to/your/images –save-txt”. Pour chaque image, le modèle a généré
des boîtes englobantes autour des objets détectés et attribué à chaque boîte une étiquette
correspondant à l’objet détecté.
96
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
Après l’exécution du script, nous trouvons les images et leurs annotations correspondantes
au format YOLO dans le dossier output. Les annotations seront stockées dans le sous-dossier
labels, et les images dans le sous-dossier images. Nous pouvons alors utiliser ces fichiers avec
labelImg ou tout autre outil de gestion d’annotations au format YOLO.
Les figures 4.32, 4.33 et 4.34 illustrent la structure du dossier de sortie et la gestion
des annotations dans YOLOv5.
Figure 4.32 : Stockage organisé des images dans le dossier de sortie “output”
97
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
Figure 4.33 : Stockage organisé des annotations au format YOLO dans le dossier "labels"
Ouverture des images et annotations avec LabelImg : Une fois les annotations générées
automatiquement, nous avons utilisé l’outil LabelImg pour ouvrir les images et leurs annotations
correspondantes. LabelImg est une application graphique qui permet de visualiser les images
et leurs boîtes englobantes associées, en superposant les boîtes englobantes sur les images,
comme ilustree dans la figure 4.35
98
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
Figure 4.35 : visualiser les images et leurs boîtes englobantes avec LabelImg
99
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
Après une première phase d’entraînement avec le modèle YOLOv5s pour la labellisation
automatique, nous avons réussi à augmenter notre base de données avec des images et leurs
annotations correspondantes. Cette augmentation substantielle de notre ensemble de données
a modifié notre situation initiale et nous a permis de réévaluer notre choix de modèle.
Dans cette nouvelle phase de notre projet, notre objectif est de développer un modèle
de détection d’objets performant. Compte tenu de l’augmentation de la taille de notre
ensemble de données, nous avons maintenant la possibilité d’entraîner des modèles plus grands
et plus précis. C’est pourquoi nous avons décidé d’utiliser le YOLOv5m pour cette tâche.
Le YOLOv5m est un modèle plus grand et plus complexe que le YOLOv5s. Il est conçu
pour traiter des images de 640 pixels, tout comme le YOLOv5s, mais offre une performance
supérieure. En termes de vitesse de traitement, le YOLOv5m est légèrement plus lent que le
YOLOv5s, mais toujours assez rapide pour nos besoins, avec un temps de prédiction de 224
ms sur CPU, et 8.2 ms et 21.2 ms sur une carte graphique NVIDIA V100 pour des lots de 1
et 32 images respectivement.
En termes de complexité, le YOLOv5m a 21.2 millions de paramètres, ce qui est plus
élevé que le YOLOv5s, et nécessite 49.0 milliards de FLOPs pour effectuer une prédiction
sur une image de 640x640 pixels. Cependant, grâce à l’augmentation de notre ensemble de
données, nous sommes maintenant en mesure de tirer parti de cette complexité accrue pour
améliorer la précision de notre modèle de détection d’objets.
Dans le cadre de notre projet, nous avons rencontré un problème majeur lors de
l’entraînement du modèle YOLOv5s pour me modele de labellisation automatique : l’utilisation
d’un CPU prend beaucoup de temps, ce qui limite considérablement notre efficacité d’entraînement.
En tant qu’équipe, nous avons cherché une solution pour accélérer le processus d’entraînement
et améliorer nos résultats.
Une solution clé que nous avons adoptée pour résoudre le problème de temps d’entraînement
100
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
excessif a été l’utilisation d’un GPU. Les GPUs sont spécialement conçus pour les tâches de
calcul intensif, telles que l’entraînement de modèles d’apprentissage profond. En utilisant un
GPU, nous avons pu accélérer considérablement le processus d’entraînement et améliorer les
performances globales du modèle YOLOv5.
Pour mieux comprendre les avantages et les différences entre les configurations d’entraînement
de YOLOv5, un tableau de comparaison approfondie (Tableau 4.1) a été préparé.
L’utilisation d’un GPU a été une décision cruciale pour accélérer le processus d’entraînement
du modèle YOLOv5. Les GPUs offrent une puissance de calcul parallèle qui permet de traiter
efficacement les opérations complexes du modèle, réduisant ainsi considérablement le temps
d’entraînement nécessaire. Cette accélération se traduit par une amélioration significative de
la vitesse de détection du modèle, avec une augmentation notable du nombre de frames par
seconde (FPS).
Cependant, il convient de noter que l’utilisation d’un GPU peut entraîner une augmentation
de la consommation de mémoire et des coûts associés. De plus, pour exploiter pleinement
le potentiel du GPU, il est souvent nécessaire de configurer et d’optimiser correctement
l’infrastructure de deep learning utilisée, en installant les pilotes appropriés et les dépendances
nécessaires. Enfin, l’utilisation de workers, en parallèle avec le GPU, peut encore accélérer
le processus d’entraînement, réduisant ainsi davantage le temps nécessaire pour obtenir des
résultats satisfaisants.
En combinant l’utilisation d’un GPU avec d’autres techniques d’optimisation, nous
avons pu résoudre efficacement le problème de temps d’entraînement excessif, tout en améliorant
101
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
les performances de notre modèle YOLOv5. Cette approche nous a permis d’obtenir des
résultats plus rapides et plus précis, renforçant ainsi la qualité et l’efficacité de notre projet
de détection d’objets.
L’installation de dépendances clés telles que NVIDIA CUDA Toolkit et cuDNN s’est
avérée indispensable pour maximiser les performances de nos GPU et accélérer l’entraînement
de notre modèle YOLOv5. Voici une description détaillée des étapes que nous avons suivies
pour réaliser cette installation sous Windows :
Premièrement, il est important de vérifier la compatibilité de la carte graphique NVIDIA
avec CUDA. Cette vérification peut être effectuée en consultant la liste des GPU compatibles
sur le site web de NVIDIA. Par ailleurs, nous avons veillé à maintenir nos pilotes de carte
graphique à jour, en téléchargeant et en installant la dernière version depuis le site web de
NVIDIA.
Une fois cette vérification effectuée, nous avons procédé au téléchargement du CUDA
Toolkit directement depuis la page de téléchargement du CUDA Toolkit sur le site web de
NVIDIA. Nous avons sélectionné les options correspondant à notre système d’exploitation,
à notre architecture matérielle et à notre version de Windows. Ensuite, nous avons lancé
l’installateur téléchargé et suivi les instructions à l’écran pour installer le CUDA Toolkit.
Après l’installation du CUDA Toolkit, nous avons défini les variables d’environnement
de notre système pour inclure les répertoires bin et libnvvp du toolkit CUDA.
Ensuite, nous avons téléchargé cuDNN à partir de la page de téléchargement de cuDNN
sur le site web de NVIDIA. Nous avons choisi la version de cuDNN correspondant à la version
du CUDA Toolkit que nous avons installé. Après avoir extrait les fichiers du fichier ZIP
téléchargé, nous les avons copiés dans les répertoires appropriés du CUDA Toolkit.
Enfin, nous avons installé PyTorch avec la version CUDA correspondante en utilisant le
gestionnaire de paquets pip3. Pour vérifier que le CUDA Toolkit et cuDNN étaient correctement
installés et configurés, nous avons exécuté des commandes spécifiques dans le terminal.
La figure 4.36 illustre ces étapes.
102
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
De plus, nous avons également exécuté un script Python pour vérifier si PyTorch
reconnaissait notre GPU et si la version de CUDA correspondait à celle de notre système.
La figure 4.37 montre la vérification de la reconnaissance du GPU par PyTorch et la
compatibilité de la version CUDA avec le système.
103
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
Ces étapes ont permis d’assurer une installation correcte des dépendances nécessaires
pour l’entraînement de notre modèle YOLOv5 sur un GPU, garantissant ainsi un processus
d’entraînement plus rapide et plus efficace.
Dans le but d’optimiser l’efficacité de notre modèle YOLOv5, nous avons pris des
mesures pour organiser correctement les images labellisées automatiquement par notre modèle.
Tout d’abord, nous avons ajouté ces images à notre dossier de données existant. Ensuite, nous
avons divisé l’ensemble de données en trois sous-ensembles distincts : l’ensemble d’entraînement,
l’ensemble de validation et l’ensemble de test. Cette division standard en apprentissage
automatique nous permet de prévenir le surapprentissage, d’ajuster les paramètres du modèle
pendant l’entraînement et d’évaluer ses performances sur des données inédites. L’ensemble
d’entraînement est utilisé pour former le modèle, l’ensemble de validation pour ajuster les
paramètres et surveiller l’apprentissage, et l’ensemble de test pour évaluer les performances
finales du modèle.
Le modèle YOLOv5m, avec son architecture plus grande et plus puissante par rapport à
YOLOv5s, offre des performances accrues en termes de vitesse d’entraînement et de détection
d’objets. En passant de YOLOv5s à YOLOv5m, il est possible de réduire significativement
le temps d’entraînement nécessaire. Cette transition vers un modèle plus puissant permet de
mieux exploiter les ressources du GPU, accélérant ainsi le processus d’entraînement global.
Après avoir préparé nos données, nous avons entrepris la phase cruciale de l’entraînement
du modèle YOLOv5m pour la détection d’objets. Dans cette étape, nous avons utilisé une
approche différente par rapport à notre premier modèle YOLOv5s, en exploitant la puissance
du GPU pour accélérer le processus d’entraînement.
Sans entrer dans les détails techniques déjà abordés dans la partie de l’entraînement
du modèle YOLOv5s, nous avons suivi un processus similaire, mais adapté aux spécificités du
modèle YOLOv5m et à l’usage du GPU. Les hyperparamètres ont été ajustés en conséquence,
104
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
et l’entraînement a été lancé sur l’ensemble de données avec une surveillance constante des
métriques d’entraînement.
L’efficacité de l’entraînement sur GPU s’est traduite par une accélération significative
du processus et une amélioration notable des performances de détection du modèle YOLOv5m.
Ainsi, malgré les changements dans l’architecture du modèle et le matériel utilisé, la philosophie
générale de l’entraînement est restée la même : optimiser les performances du modèle tout en
minimisant la perte lors de l’apprentissage. Pour s’assurer que le GPU est correctement
reconnu et utilisé, nous avons effectué une vérification pour confirmer que la valeur de
l’utilisation du GPU n’est pas nulle.
La figure 4.38 présente l’entraînement du modèle avec GPU : Vérification de l’utilisation
optimale du GPU.
Dans l’effort d’optimiser l’entraînement du modèle YOLOv5m, nous avons utilisé non
seulement un GPU mais également intégré des "workers" dans le processus. Ces "workers"
sont des processus parallèles qui se chargent de la préparation des données avant leur transmission
au GPU pour l’entraînement. Cette méthode de parallélisation est bénéfique car elle optimise
l’exploitation des ressources disponibles et minimise le temps nécessaire pour l’entraînement.
Il est important de souligner que malgré le recours à des "workers", il n’existe pas
d’option directe permettant d’utiliser simultanément le CPU et le GPU pour l’entraînement
du modèle. En effet, le GPU est généralement plus performant pour effectuer les calculs
nécessaires à l’entraînement de modèles de deep learning, il est donc préférable de l’utiliser
pour ces calculs.
Cependant, nous avons pu optimiser l’usage du CPU en parallèle avec le GPU en
105
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
106
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
107
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
Suite à l’étape d’entraînement du modèle YOLOv5m, nous avons poursuivi avec une
étape cruciale : l’évaluation et le test du modèle de détection d’objets. Pour ce faire, nous
nous sommes appuyés sur le jeu de données de test qui avait été réservé, distinct des données
d’entraînement et de validation.
Cette phase s’est déroulée de manière similaire à celle du modèle YOLOv5s, tout en
exploitant l’avantage de la puissance de calcul du GPU. Cette accélération matérielle a rendu
le processus d’évaluation plus rapide et plus efficace.
Durant l’étape de test, le modèle YOLOv5m a été appliqué à l’ensemble de test, et ses
prédictions ont été mises en parallèle avec les véritables annotations pour évaluer la précision
du modèle. De plus, plusieurs métriques de performance ont été analysées, dont la précision
(accuracy), le rappel (recall) et le score F1.
L’évaluation a confirmé que notre modèle YOLOv5m, grâce à l’entraînement sur GPU,
a non seulement permis une réduction notable du temps d’entraînement, mais a également
amélioré la performance de détection comparativement au modèle YOLOv5s entraîné sur
CPU. Cette progression remarquable a non seulement renforcé notre confiance dans la démarche
108
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
Figure 4.44 : Prédictions du modèle pour les images de test - Classe Antenne
109
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
La figure 4.44 présente des images de test avec les prédictions du modèle et les
pourcentages de confiance associés pour la classe "antenne".
Le modèle YOLOv5m que nous avons entraîné peut être utilisé dans un large éventail
de scénarios de détection d’objets. Il offre une grande flexibilité en ce qui concerne le type
de données d’entrée qu’il peut traiter. Ci-dessous, nous décrivons comment utiliser le modèle
pour différentes formes d’input.
• Détection par webcam : Pour utiliser une webcam comme source d’entrée.
• Détection sur une image : Pour effectuer une détection d’objets sur une image
spécifique.
• Détection sur une vidéo : De même, pour utiliser une vidéo comme source
d’entrée,
• Détection dans un répertoire : Si nous souhaitons effectuer une détection
d’objets sur toutes les images ou vidéos dans un répertoire spécifique.
• Détection sur une vidéo YouTube : Pour effectuer une détection d’objets sur
une vidéo YouTube.
• Détection sur un flux RTSP, RTMP ou HTTP : Enfin, pour effectuer une
détection d’objets sur un flux en direct RTSP, RTMP ou HTTP
Ainsi, avec notre modèle YOLOv5m entraîné, nous sommes équipés pour effectuer une
détection d’objets précise sur un large éventail de sources de données, ouvrant la voie à de
nombreuses applications intéressantes.
La figure 4.45 montre l’application de la détection d’objets avec le modèle YOLOv5m.
110
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
111
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
ci-dessous.
Dans notre processus de traitement d’image, nous utilisons plusieurs étapes pour
améliorer sa qualité et faciliter la reconnaissance des caractères.
Interpellation : Cette première étape est cruciale. Elle permet d’ajuster la taille de
l’image tout en préservant les détails importants. C’est une étape de prétraitement indispensable
pour préparer l’image aux traitements suivants.
Filtre de flou médian : Cette étape joue un rôle majeur dans la réduction du bruit
de l’image. En remplaçant chaque pixel par la médiane des pixels voisins, on obtient une
image plus lisse, donc plus facile à traiter dans les étapes ultérieures.
Conversion en niveaux de gris : Cette étape simplifie considérablement le traitement
de l’image en éliminant la couleur. Elle permet de concentrer l’analyse sur les caractéristiques
structurelles et texturales de l’image, éléments essentiels pour la reconnaissance des caractères.
Seuillage adaptatif gaussien : Cette méthode de binarisation est essentielle. Elle
112
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
prend en compte les caractéristiques locales de l’image pour ajuster le seuil. Cela permet
d’obtenir une binarisation précise et adaptée à chaque région de l’image, ce qui est fondamental
pour une bonne reconnaissance des caractères.
Morphologie mathématique (érosion et dilatation) : Ces opérations sont primordiales
car elles permettent de modifier la structure et la forme des objets dans l’image. L’érosion
réduit la taille des objets en enlevant les pixels à la bordure, tandis que la dilatation les
agrandit en ajoutant des pixels à leur bordure. Ces transformations peuvent aider à améliorer
la détection et la reconnaissance des caractères.
Binarisation avec l’outil OCR Kraken : Cette dernière étape est indispensable.
Elle facilite grandement la reconnaissance des caractères lors du traitement ultérieur de
l’image. En optimisant la binarisation, on améliore les chances d’une reconnaissance précise
des caractères.
Nous avons intégré un script Python qui inclut une fonction nommée "process-image"
pour réaliser le filtrage de l’image et améliorer sa qualité comme le montre les Figures 4.47
et 4.48.
113
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
Figure 4.48 : Prétraitement d’image binaire pour meilleure reconnaissance des caractères
114
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
115
Chapitre 4. Détection d’Anomalies et Inventaire des Pylônes avec l’Intelligence Artificielle
Nous avons développé un code en utilisant les techniques de traitement d’image pour
améliorer la qualité de l’image et effectuer la reconnaissance de texte avec Tesseract OCR.
La Figure 4.51 présente le résultat de la détection de texte à partir de l’image traitée.
Conclusion
116
Chapitre 5
Plan
1 Architecture avec Django . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Introduction
Dans ce chapitre, nous aborderons l’utilisation de Django dans ce projet. Nous explorerons
l’architecture de l’application basée sur Django, son intégration avec Google Drive pour
le téléchargement d’images, l’intégration du modèle de détection d’objets YOLOv5m avec
Django, et comment Django gère les données détectées. De plus, nous présenterons le tableau
de bord de Django qui affiche les résultats visuels de la détection d’anomalies.
118
Chapitre 5. Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes
Figure 5.1 : Django : Site web d’Analyse Visuelle avec Détection, Stockage et Visualisation des
résultats de détection
L’interconnexion entre Django et Google Drive est une composante essentielle du flux
de travail de notre application. Cette interconnexion permet de télécharger les images des
pylônes de télécommunication stockées sur Google Drive, ce qui constitue la première étape
de notre processus de détection des anomalies.
L’API Google Drive offre une multitude de fonctionnalités permettant d’interagir avec
les fichiers et les dossiers stockés sur Google Drive. Dans notre application, nous utilisons
l’API pour télécharger les images nécessaires à l’analyse. Django, avec ses capacités intégrées
pour travailler avec les API, rend cette tâche simple et directe. Un service spécifique est créé
dans l’application Django qui est responsable de la communication avec l’API Google Drive.
Ce service utilise les fonctionnalités de l’API pour localiser le dossier approprié sur Google
Drive, parcourir les images qu’il contient, et les télécharger une par une.
L’authentification est une étape importante pour garantir la sécurité des données lors
de l’interaction avec Google Drive. Pour cette raison, nous utilisons OAuth, un protocole
standard pour l’authentification qui assure que seuls les utilisateurs autorisés ont accès aux
119
Chapitre 5. Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes
fichiers sur Google Drive. Django gère l’ensemble du flux OAuth, y compris l’acquisition du
jeton d’authentification, son stockage sécurisé, et son utilisation pour authentifier chaque
requête à l’API Google Drive. De plus, Django gère également le renouvellement du jeton
lorsque cela est nécessaire.
La Figure 5.2 présente le flux d’authentification OAuth avec Google Drive.
120
Chapitre 5. Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes
Une fois les images téléchargées, elles sont stockées dans un dossier spécifique de fichiers
statiques dans le système de fichiers de Django. Cette approche garantit que les images sont
facilement accessibles pour les étapes suivantes du processus, notamment l’analyse par le
modèle de détection d’anomalies. Le dossier de fichiers statiques est organisé de manière à
faciliter la localisation et la récupération des images.
En somme, l’interconnexion entre Django et Google Drive est une composante clé de
notre application, qui garantit le téléchargement sécurisé et efficace des images nécessaires à
l’analyse.
121
Chapitre 5. Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes
122
Chapitre 5. Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes
Une fois le modèle chargé, la prochaine étape consiste à charger les classes d’objets
que le modèle est capable de détecter. Ces classes sont définies dans un fichier yaml. Chaque
classe représente un type d’objet différent que le modèle a appris à détecter.
La prochaine étape consiste à télécharger les images à traiter à partir de Google Drive.
L’API Google Drive est utilisée pour cette tâche. Le dossier spécifique à partir duquel les
images sont téléchargées est défini par son identifiant de dossier (your-folder-id). Les images
téléchargées sont ensuite stockées dans un dossier local pour une utilisation ultérieure. Cela
est illustré dans la figure 5.5 ci-dessous :
Figure 5.5 : Script Python pour téléchargement les images depuis Google Drive
Une fois les images téléchargées et stockées localement, elles sont traitées une par une
par le modèle YOLOv5m. Le modèle renvoie une liste d’objets qu’il a détectés dans chaque
image. Chaque objet est accompagné d’une boîte englobante (qui indique où se trouve l’objet
dans l’image) et d’une classe (qui indique quel type d’objet a été détecté). Les images sont
ensuite annotées avec ces informations.
123
Chapitre 5. Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes
124
Chapitre 5. Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes
125
Chapitre 5. Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes
Figure 5.7 : Affichage des résultats de détection des antennes sur le site web
La figure 5.8 présente la création d’une application appelée ’ocr-app’ dans le serveur
Django.
Dans le fichier views.py de notre application, nous avons implémenté les fonctionnalités
suivantes :
• Prendre en entrée un dossier contenant des images : Nous avons créé une
126
Chapitre 5. Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes
La Figure 5.10 présente l’affichage des résultats dans une page HTML.
127
Chapitre 5. Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes
Nous avons utilisé cette base de données par défaut dans notre projet Django, la base
de données utilisée par défaut dans un projet Django est SQLite. Elle stocke les données dans
un fichier appelé ‘db.sqlite3‘, situé à la racine de notre projet Django.
SQLite est une base de données légère qui stocke les données localement dans un
fichier, sans nécessiter un serveur de base de données distinct. C’est un bon choix pour le
développement et les tests, offrant une facilité d’utilisation et une configuration minimale.
Étape 1 : Création du modèle ‘OCRResult‘ est effectuée dans ‘models.py‘ afin de
stocker les résultats OCR, comme illustré dans la Figure 5.11.
128
Chapitre 5. Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes
Étape 3 : Modification de la vue ‘ocr-results‘ pour enregistrer les résultats OCR dans
la base de données, comme illustré dans la Figure 5.13.
Étape 4 : affichage des résultats stockés dans la base de données. Nous créons une
nouvelle vue dans ‘views.py‘ afin de récupérer les données stockées dans la base de données,
comme illustré dans la Figure 5.14.
Nous ajoutons l’URL de la nouvelle vue dans ‘urls.py’, tel qu’indiqué dans la Figure
5.15.
129
Chapitre 5. Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes
130
Chapitre 5. Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes
Étape 2 : Création d’une base de données et d’un utilisateur Pour nous connecter
à PostgreSQL en tant qu’utilisateur "postgres", nous avons ouvert un terminal ou l’invite
de commandes (sur Windows) et saisi le nom d’utilisateur lorsque cela nous a été demandé.
Ensuite, nous avons fourni le mot de passe correspondant lorsque cela a été requis.demandé.
131
Chapitre 5. Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes
Nous avons créé une nouvelle base de données PostgreSQL, comme indiqué dans la
Figure 5.20.
Nous avons créé un nouvel utilisateur dans PostgreSQL, comme indiqué dans la Figure
5.21.
132
Chapitre 5. Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes
133
Chapitre 5. Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes
La fonction ‘extract-antenna-info()‘ :
• prend une chaîne de caractères en entrée
• Elle extrait des informations spécifiques de la chaîne de caractères en utilisant des
expressions régulières
• stocke ces informations dans un dictionnaire qui est ensuite renvoyé.
134
Chapitre 5. Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes
Une fois les valeurs extraites, nous les avons enregistrées dans notre base de données
PostgreSQL. Cela nous permet de stocker ces informations précises dans une structure de
base de données bien organisée.
Une fois que nous avons stocké les champs requis dans la base de données SQL
PostgreSQL, nous transmettons ces informations à notre site web, qui se charge ensuite
d’afficher les résultats détectés, comme illustré dans la Figure 5.28.
135
Chapitre 5. Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes
Figure 5.28 : affichage des résultats de détection du texte sur le site web
Dans cette section du projet, nous avons conçu et réalisé un tableau de bord interactif
en utilisant Django, un framework de développement web haute performance qui prend en
charge le design orienté-objet et encourage la réutilisation des composants.
Pour améliorer l’expérience utilisateur et offrir une meilleure visualisation des données,
nous avons intégré la technologie 3D Spline/Sketchfab dans le tableau de bord. Ce choix nous
a permis de présenter des modèles 3D interactifs de différents éléments comme le pylône, le
tableau de bord et l’architecture globale du système.
136
Chapitre 5. Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes
Ce modèle offre une représentation détaillée d’un pylône. L’utilisateur peut interagir
avec le modèle pour examiner le pylône sous différents angles et obtenir une meilleure
compréhension de sa structure comme le montre la Figure 5.29.
137
Chapitre 5. Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes
L’inventaire des antennes est présenté à travers une interface utilisateur intuitive. Cette
interface inclut le modèle 3D d’un pylône et permet à l’utilisateur de visualiser en détail les
différents composants de l’antenne.
138
Chapitre 5. Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes
La page "Inventaire des antennes" présente une liste complète et détaillée des antennes
installées sur les pylônes. Les informations clés telles que le type d’antenne, la fréquence,
polarisation ..seront affichées, comme illustré dans la Figure 5.32.
139
Chapitre 5. Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes
140
Chapitre 5. Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes
La page d’accueil a été conçue de manière à fournir les informations essentielles aux
utilisateurs de manière claire et concise. Les figures montrent la conception de la page
d’accueil et la manière dont les informations sont présentées. La "Landing Page" sera la page
d’accueil du tableau de bord web. Elle fournira un aperçu général du projet d’inspection des
pylônes par drone intelligent, comme illustré dans la Figure 5.36.
La Figure 5.37 montre un aperçu général du projet d’inspection des pylônes par drone
intelligent.
141
Chapitre 5. Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes
Les Figures 5.38, 5.39 et 5.40 présentent la page d’accueil : description de notre projet.
Figure 5.38 : Page d’Accueil : Aperçu général du projet d’inspection des pylônes par drone
intelligent 1
142
Chapitre 5. Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes
Figure 5.39 : Page d’Accueil : Aperçu général du projet d’inspection des pylônes par drone
intelligent 2
Figure 5.40 : Page d’Accueil : Aperçu général du projet d’inspection des pylônes par drone
intelligent 3
5.5.7 Création d’un formulaire pour les informations sur les équipements
des pylônes
Un formulaire a été conçu pour collecter les informations sur les équipements des
pylônes. Ce formulaire est interactif et facile à utiliser, permettant aux utilisateurs de saisir
et de soumettre les informations de manière efficace.
La Figure 5.41 présente le formulaire pour l’équipement BTS, l’alimentation et le type.
143
Chapitre 5. Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes
144
Chapitre 5. Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes
Conclusion
En conclusion, Django joue un rôle crucial dans notre projet d’inspection de pylônes
par drone intelligent. Il permet de connecter harmonieusement toutes les composantes du
système, facilitant ainsi la gestion des données et l’intégration de technologies avancées telles
que l’IA et l’IoT. Grâce à Django, nous avons pu interagir efficacement avec Google Drive,
intégrer des modèles de détection d’anomalies et offrir une interface utilisateur conviviale
pour présenter les résultats de manière claire et intuitive. Sans Django, notre projet aurait
été difficile à réaliser et à maintenir. Son apport en tant que pierre angulaire de notre solution
d’inspection de pylônes est incontestable, offrant une application web robuste, intégrée et
conviviale pour optimiser le processus d’inspection et garantir la sécurité des pylône.
145
Conclusion générale
146
Chapitre 5. Intégration Web IA-IoT avec Django pour la Surveillance des Pylônes
et de nos âmes que nous avons infusés dans chaque détail de ce projet. Nous nous tournons
vers l’avenir avec une passion renouvelée, prêts à relever de nouveaux défis et à continuer à
créer des solutions qui ont un impact significatif. C’est ici que nous commençons.
147
Bibliographie
[3] OSHA Communication Towers, Consulté le 02-2023. adresse : https : / / www . osha . gov /
communication-towers.
[5] Scrum : de quoi s’agit-il, comment cela fonctionne-t-il et en quoi est-ce génial ? Consulté le
02-2023. adresse : https://www.atlassian.com/fr/agile/scrum.
[6] Comprendre la méthode Agile Scrum en 10 min • Tuleap, Consulté le 02-2023. adresse : https:
//www.tuleap.org/fr/agile/comprendre-methode-agile-scrum-10-minutes.
[7] Jira | Issue & Project Tracking Software | Atlassian, Consulté le 02-2023. adresse : https:
//www.atlassian.com/software/jira.
[10] Ultimate Materials Guide - Tips for 3D Printing with PLA, Consulté le 02-2023. adresse :
https://www.simplify3d.com/resources/materials-guide/pla.
[11] Déformation du filament d’acide polylactique sur tissu en polyéthylène téréphtalate via impression
3D, Consulté le 02-2023. adresse : https://www.nature.com/articles/s41598-019-50832-
7.
[12] Le choix des moteurs et des hélices pour un drone, Consulté le 02-2023. adresse : https :
//www.dronelis.com/choix-des-moteurs-et-des-helices-pour-un-drone/.
148
Bibliographie
[14] Popular models | 3D CAD Model Collection | GrabCAD Community Library, Consulté le
03-2023. adresse : https://grabcad.com/library.
[16] Tuni Smart Innovation, Consulté le 03-2023. adresse : https://tuni- smart- innovation.
com/.
[21] S500 Glass Fiber Quadcopter Frame, Consulté le 04-2023. adresse : https://hobbyking.com/
en_us/s500-glass-fiber-quadcopter-frame-480mm-integrated-pcb-version.html?__
_store=en_us.
149
PÌl
ºAyJ±
rt³ ¤ ¨AnW}¯ ºA@ dts TyÐ CAyV ¤d r¶AW TF Cd T§Ah ¤rK r§rqt @¡ Ädq§
.Awl`m Tw ybW Y ¨qyq
w ¨ AAyb q¤ m r¶AW wq .¯AO¯ r Lytft (I)
wq§ . C rq ÐA Yl TAyO §r Cd¤ A± Ez`§ Am , r± Yl A¡wKt ¨AnW}¯ ºA@ Ktk§
. r± TAy} ºAf Ez`§¤ ,yAkt lq§¤ ,Lytft Tylm yt ¤rKm @¡
,ºAyJ±
rt ,¨AnW} ºAÐ , r ,P ,¯AO ,TyÐ CAyV ¤d r¶AV : yAf Aml
.
b§rkF AA , wy
Résumé
Ce rapport présente un SFE pour un drone intelligent utilisant l’IA et l’IoT pour inspecter les
pylônes de télécommunication. Le drone collecte et transmet en temps réel des données à une
application de tableau de bord. L’IA détecte les anomalies sur les pylônes, améliorant ainsi la
sécurité et la prise de décisions de l’équipe de maintenance. Ce projet automatise l’inspection,
réduit les coûts et améliore l’efficacité de la maintenance des pylônes.
Mots clés : Drone intelligent, Télécommunications, Inspection, Pylônes, IA, IoT, Python,
JavaScript.
Abstract
This report presents a final year project (SFE) for an intelligent drone utilizing AI and IoT
to inspect telecommunication towers. The drone collects and transmits real-time data to a
dashboard application. The AI detects anomalies on the towers, thereby enhancing the safety
and decision-making capabilities of the maintenance team. This project automates the inspection
process, reduces costs, and improves the efficiency of tower maintenance.
contact@sotetel.tn : ¨¤rtk¯ d§rb 71 94 11 00 : HAf 71 94 11 00 : Ah Hw ,Hw 1082 , r AW - r± - ©d`F CAm
textLRII Tél : 71 94 11 00 Fax : 71 94 11 00 Email : contact@sotetel.tn
isi@isim.rnu.tn : ¨¤rtk¯ d§rb 71 706 698 : HAf 71 706 164 : Ah TA§C 2080 ¨¤CAb A§r w h 2
2, Abou Raihane Bayrouni 2080 l’Ariana Tél : 71 706 164 Fax : 71 706 698 Email : isi@isim.rnu.tn