Vous êtes sur la page 1sur 40

L i c e n c e Fo n d a me n t a l e

F i l i è r e : S c i e n c e d e l a M a t i è r e Ph y s i q u e

P a r c o u r s - 1 : I n f o r ma t i q u e , É l e c t r o n i q u e e t Au t o ma t i q u e

Projet de Fin d’Étude Licence

Présenté par

Souka ina K HOUIRA


Sa ra El OUAZZANI

La Détection en temp réel des plantes de


Fraise :
Application à la robotique agricole

Soutenu le 07/06/2023 devant le jury composé de :

Pr. Najim TAHIRI Faculté des Sciences de Rabat Président

Pr. Larbi LAANAB Faculté des Sciences de Rabat Rapporteur

Pr. Lhoussaine MASMOUDI Faculté des Sciences de Rabat Encadrant

Pr. Khalid EL AMRAOUI Faculté des Sciences de Rabat Co-Encadrant


Année universitaire : 2022-2023
Dédicace

Nous tenons à dédicacer ce mémoire à nos familles et nos amis


Remerciements

En premier lieu, nous remercions Dieu Tout Puissant, qui nous a donne la force et la
persévérance

A Notre Encadrants : Pr. Lhoussaine MASMOUDI

Et à Notre Co-Encadrant : Pr. Khalid EL AMRAOUI

Vous nous avez fait l’honneur d’accepter de diriger ce travail, vous mous avez à chaque
fois réservée un accueil aimable et bienveillant.

Veuillez accepter notre profonde gratitude et notre grand respect.


Nous vous remercions de nous avoir consacrés une grande partie de votre précieux temps

A nos enseignants de la faculté des sciences,

Nous avons eu l''honneur de bénéficier de vos formations, de vos conseils et de vos


encouragements le long de notre cursus universitaire. Veuillez croire à notre grande estime et
accepter nos remerciements les plus sincères.

Nous tenons également à remercier les membres du jury pour l'honneur qu'ils nous ont fait
en acceptant de siéger à notre soutenance, ainsi que toute personne ayant participé, d'une manière
ou d'une autre, à la réalisation de ce modeste travail.

Nous remercions également monsieur Khalid El AMRAOUI doctorant à la faculté des


sciences de Rabat, qui nous a énormément aidés tout au long de ce travail.
Nous remercions le Ministère de l'Education Nationale, de la Formation
Professionnelle, de l'Enseignement Supérieur et de la Recherche Scientifique, et le centre
national de recherche scientifique et technique CNRST pour le financement de ce projet.
5|Page
Conception et implémentation d’un système embarqué pour la maison intelligente à
base de l’Arduino Mega " Smart Home "
Table des matières

Contents
Liste des figures ..................................................................................................................... 8
Résumé.................................................................................................................................. 9
Abstract ................................................................................................................................ 10
Introduction générale ........................................................................................................... 11
Chapitre I : Étude Bibliographique ...................................................................................... 12
I. Machine Learning : ....................................................................................................... 12
1. Réseaux de neurone : .................................................................................................................................. 13
2. Définition de ONNX : ................................................................................................................................ 15

II. Détection d’objets : .................................................................................................... 16


Chapitre II : Méthodologie de travail .................................................................................... 18
I. Travaux relatifs : ................................................................................................................. 18
II. CNN pour la classification des Objects : ........................................................................... 18
1. Préparation et prétraitement des données: ................................................................................................... 19
2. Construction de l'architecture du modèle, formation et évaluation du modèle: ........................................... 20
3. CNN pour Localisation d’images : ............................................................................................................. 22
4. CNN pour détection d’objet: ...................................................................................................................... 23
5. YOLO ALGORITHM: (You-Only-Look-Once): ....................................................................................... 24

Chapitre III : Matériel et méthode ........................................................................................ 26


I. Architecture de YOLOv3: .................................................................................................... 26
1. Darknet-53 : ................................................................................................................................................ 27
2. Détection à trois échelles : .......................................................................................................................... 27

II. Matériel Utiliser: .............................................................................................................. 28


1. Nvidia jetson TX2: ..................................................................................................................................... 28
III. Expérience:....................................................................................................................... 30
1. Collection des données : ............................................................................................................................. 30
2. Annotation des données : ............................................................................................................................ 31
3. Conclusion et défis : ................................................................................................................................... 35
IV. Résultat et discussion : ..................................................................................................... 35
1. Le montage : ............................................................................................................................................... 35
2. Résultat : ..................................................................................................................................................... 35

Conclusion Générale ............................................................................................................ 37

6|Page
La détection en temp réel des plantes de fraise :application à la robotique agricole
Table des matières

References ............................................................................................................................ 38

7|Page
Développement d'un système de surveillance et d'arrosage automatisé basé sur Arduino
pour une agriculture intelligente et durable
Liste des figures
Figure 1 les applications du machine Learning ........................................................................................... 12

Figure 2:la représentation d'un réseau ......................................................................................................... 13

Figure 3:Processus de convolution. ............................................................................................................. 14

Figure 4:Le processus de mise en commun. ................................................................................................ 15

Figure 5:architecture de yolov3 ................................................................................................................... 17

Figure 6:Réseaux neuronaux convolutionnels pour la classification des maladies foliaires de la courge
serpentine. ................................................................................................................................................... 19

Figure 7:Forme du tenseur du réseau neuronal d'entrée dans PyTorch. ...................................................... 20

Figure 8:la mise en place convolutive des filtres ........................................................................................ 23

Figure 9:l'implémentation convolutive des filtres glissants ........................................................................ 24

Figure 10:Architecture de YOLOv3 ............................................................................................................ 26

Figure 11:Darknet-53. ................................................................................................................................. 27

Figure 12:Grille d'images ............................................................................................................................ 28

Figure 13:Nvidia jetsonTX2 ........................................................................................................................ 29

Figure 14:les plantes de fraise ..................................................................................................................... 31

Figure 15:L'annotation d'images ................................................................................................................. 31

Figure 16: Exemple d'ensemble de dennee Microsoft COCO Datasete ...................................................... 32

Figure 17:l'interface de platform makesense ............................................................................................... 34

Figure 18:forma de platform PASCAL-VOC ............................................................................................. 34

Figure 19:l'annotation des images ............................................................................................................... 35

Figure 20:Montage ...................................................................................................................................... 35

Figure 21:plantes détectées ......................................................................................................................... 36

8|Page
La détection en temp réel des plantes de fraise :application à la robotique agricole
Résumé

Résultats du projet de détection des plantes de fraises à l'aide de CNN, YOLOv3 et


NVIDIA Jetson TX2 avec ONNX : Dans ce projet, nous avons utilisé un réseau de neurones
convolutifs (CNN) pour entraîner un modèle de détection des plantes de fraises. Le modèle a été
ensuite converti au format ONNX et déployé sur la plateforme NVIDIA Jetson TX2 pour
effectuer des inférences en temps réel.
Les résultats obtenus ont démontré une précision élevée dans la détection des plantes de fraises.
Le modèle entraîné était capable de localiser précisément les fraises dans les images ou les flux
vidéo, en fournissant des boîtes englobantes autour de chaque instance détectée.
L'utilisation de l'algorithme YOLOv3 a permis une détection rapide des fraises, même dans des
environnements en temps réel. La plateforme NVIDIA Jetson TX2, grâce à ses capacités de
calcul intensif et de traitement parallèle, a permis une exécution fluide et efficace des inférences,
garantissant une performance en temps réel.
La combinaison de CNN, YOLOv3 et NVIDIA Jetson TX2 avec ONNX a présenté de nombreux
avantages pour le projet. Les principales contributions incluent :
• Précision élevée : Le modèle a démontré une précision élevée dans la détection des
plantes de fraises, fournissant des résultats fiables et précis.
• Vitesse en temps réel : L'utilisation de YOLOv3 et de la plateforme Jetson TX2 a permis
une détection rapide en temps réel, ce qui est crucial pour les applications nécessitant des
résultats instantanés.
• Traitement embarqué : La Jetson TX2, en tant que système embarqué, offre une solution
compacte et économe en énergie pour le déploiement du modèle, ce qui est essentiel dans
les applications agricoles en extérieur.
• Flexibilité avec ONNX : Le format ONNX permet l'échange de modèles entre différents
frameworks de deep learning, offrant ainsi une flexibilité pour le déploiement du modèle
sur différentes plateformes.

La détection des plantes de fraises à l'aide de CNN, YOLOv3 et NVIDIA Jetson TX2 avec
ONNX présente un fort potentiel pour l'automatisation agricole, la surveillance des cultures et
l'optimisation des rendements. Cela peut contribuer à une meilleure utilisation des ressources, à
une réduction des coûts et à une amélioration globale de l'efficacité dans le secteur agricole.
Il est important de noter que les résultats peuvent varier en fonction des spécificités du projet, des
données d'entraînement utilisées, des paramètres de modèle et des conditions d'application
réelles. Des ajustements et des optimisations supplémentaires peuvent être nécessaires pour
répondre aux besoins spécifiques de chaque projet.

9|Page
Abstract

Results of the strawberry plant detection project using CNN, YOLOv3 and NVIDIA Jetson TX2
with ONNX: In this project, we used a convolutional neural network (CNN) to train a strawberry
plant detection model. The model was then converted to ONNX format and deployed on the
NVIDIA Jetson TX2 platform to perform real-time inference.
The results obtained demonstrated high accuracy in strawberry plant detection. The trained model
was able to accurately locate strawberry plants in images or video streams, providing bounding
boxes around each detected instance.
The use of the YOLOv3 algorithm enabled rapid detection of strawberry plants, even in real-time
environments. The NVIDIA Jetson TX2 platform, with its HPC and parallel processing
capabilities, enabled smooth and efficient execution of inferences, guaranteeing real-time
performance.
The combination of CNN, YOLOv3 and NVIDIA Jetson TX2 with ONNX brought many
benefits to the project. Key contributions include:
• High accuracy: The model demonstrated high precision in detecting strawberry plants,
providing reliable and accurate results.
• Real-time speed: The use of YOLOv3 and the Jetson TX2 platform enabled fast real-time
detection, which is crucial for applications requiring instantaneous results.
• On-board processing: The Jetson TX2, as an on-board system, offers a compact, energy-
efficient solution for model deployment, which is essential in outdoor agricultural
applications.
• Flexibility with ONNX: The ONNX format enables models to be exchanged between
different deep learning frameworks, providing flexibility for model deployment on
different platforms.
Strawberry plant detection using CNN, YOLOv3 and NVIDIA Jetson TX2 with ONNX has great
potential for agricultural automation, crop monitoring and yield optimization. This can contribute
to a better use of resources, reduced costs and an overall improvement in efficiency in the
agricultural sector.
It is important to note that results may vary depending on project specifics, training data used,
model parameters and actual application conditions. Further adjustments and optimizations may
be required to meet the specific needs of each project.

10 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
Introduction générale

La lutte contre les mauvaises herbes est l’une des plus grands problèmes auxquels sont confrontés
les producteurs de fraises.

Aujourd’hui, de nombreux nouveaux outils existent, notamment des Systèmes d’information géo
graphiques qui aident les agriculteurs à obtenir de meilleures informations sur leurs champs. Récemment,
le domaine de la vision par ordinateur a gagné du terrain dans l’agriculture. Cette technologie a changé
la façon dont l’agriculture fonctionne en permettant des solutions de détection sans contact et évolutives.
L’utilisation de techniques de vision par ordinateur en conjonction avec l’acquisition d’images par
caméras à distance a ouvert une gamme de nouvelles applications dans le secteur agricole, allant de la
réduction des coûts de production grâce à l’automatisation intelligente, à l’augmentation de la
productivité. Les algorithmes d’apprentissage automatique sont souvent utilisés dans le computer vision
car ils permettent d’obtenir des résultats plus précis et plus rapides que les méthodes traditionnelles.

Cette recherche portera sur les serres de fraises et consiste à explorer une solution pour automatiser un
aspect du processus de détection d’objets. La portée du projet basé sur le développement d’un système de
détection en temps réel des plantes avec la technique d’apprentissage automatique, et l’implémenter sur
un robot agricole. Aussi on va utiliser la représentation Open Neural Network Exchange ONNX pour
permettre aux modèles de réseaux de neurones d’être déployés plus rapidement et facilite leur transfert et
stockage sur différentes Framework. Tout cela va permettre la détection de l’emplacement exact des
éléments nocifs dans les champs. C’est un atout économique et environnemental ; il peut être utiliser dans
plusieurs applications agricoles, par exemple la réduction de la consommation d’herbicides en les
appliquant strictement aux endroits où les mauvaises herbes sont présentes, aussi pour le comptage des
plantes etc.

La structure de ce mémoire est scindée en trois chapitres. D’abord, dans le chapitre I on commencera
par une étude bibliographique. Ensuite, dans le chapitre II nous allons aborder la méthodologie utilisée
pour la réalisation du système de la détection. Finalement, dans le dernier chapitre III on présentera les
résultats obtenus suivie d’une conclusion.

11 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
Chapitre I : Étude Bibliographique

Dans ce chapitre, nous allons faire un petit rappel sur l’apprentissage automatique et
quelques définitions importantes qui aident à la réalisation du système de la détection.

I. Machine Learning :

De nombreuses applications modernes sont alimentées par des algorithmes et des tech-
niques d’apprentissage automatique, comme la transcription de sources audio et vidéo, la
reconnaissance de motifs cachés dans les images et l’obtention de résultats d e recherche
plus adaptés à partir d e demandes sur l’internet Figure 1[1]

Figure 1 les applications du machine Learning

Au lieu de prendre des instructions ou des commandes claires, machine Learning est une
approche scientifique pour les ordinateurs d’effectuer des tâches spécifiques sur la base
d’algorithmes et de modèles statistiques. Les types d’algorithmes d’apprentissage automatique
varient en fonction du type de données d’entrée et de sortie, des approches qu’ils choisissent et
de la tâche spécifique qu’ils visent à accomplir. Les trois types d’algorithmes d’apprentissage
automatique les plus courants sont l’apprentissage supervisé, l’apprentissage non-supervisé et le
Deep Learning.

Les techniques d’apprentissage machine traditionnel ont été limitées par leur capacité à
traiter les données du monde réel sous leur forme brute. En outre, ces approches nécessitent des
efforts d’ingénierie considérables avec des algorithmes sur mesure et une connaissance

12 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
spécifique du domaine, car leurs performances dépendent en grande partie de la représentation
des données ou des caractéristiques. Par conséquent, le choix d’une telle représentation des
données est un facteur dominant dans la performance général des algorithmes d’apprentissage
machine.

L’apprentissage automatique est proposé pour éviter les efforts manuels intensifs et les
connaissances nécessaires en découvrant automatiquement la représentation des données pour
des application comme la détection ou la classification. L’apprentissage en profondeur est un
ensemble de méthodes d’apprentissage automatique basé sur le réseau de neurone.

1. Réseaux de neurone :
Les réseaux de neurone, noté NN, qui comportent plusieurs couches ou niveaux Figure
2.(Chaque couche transformera les données/Caractéristique brutes à un niveau plus profond et
donc à des fonctions plus complexes qui peuvent nous données plus d’information.

Figure 2:la représentation d'un réseau

Il existe quelques architectures d’apprentissage profond conçues pour résoudre les


problèmes présentés ci- dessus :

Le réseau neuronal profond (DNN)


Réseau neuronal convolutif (CNN)
Réseau neuronal récurrent (RNN)

Ces architectures neuronales est composé de nombreuses fonctions mathématiques, agissant


comme des neurones ou des processeurs, pour transformer les données d’entrée ou les poids
entre les différentes couches. En général, une couche rassemble la sortie de tous les neurones et
cette sortie devient l’entrée de la couche suivante. Un réseau neuronal profond (RNP) diffère
d’un réseau neuronal "superficiel" par le nombre de couches qu’il utilise. Le RNP est plus
capable de construire des modèles pour le traitement d’une grande quantité de données qui
nécessite une puissance de calcul plus élevées. AlexNet [2], exemple typique de CNN, c’est
une variante de DNN avec des couches spécialisées qui utilise l’operation de convolution pour
le transfert des données entre les couche . Il se compose de plusieurs couches de neurones

13 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
convolutif et qui peut réaliser des performances de pointe sur sa destination pour la
classification d’images.

Les CNN se composent généralement de couches convolutives, de couches de mise en


commun et de couches entièrement connectées. La couche convolutive utilise la corrélation
locale des informations dans l'image pour extraire les caractéristiques. Le processus de
convolution est illustré à la figure 2. Un noyau est placé dans le coin supérieur gauche de
l'image. Les valeurs des pixels couverts par le noyau sont multipliées par les valeurs
correspondantes du noyau, puis les produits sont additionnés et le biais est ajouté à la fin. Le
noyau est déplacé d'un pixel et le processus est répété jusqu'à ce que tous les emplacements
possibles de l'image soient filtrés, comme le montre la Figure 3. La couche de mise en commun
sélectionne les caractéristiques de la carte des caractéristiques de la couche supérieure par
échantillonnage et rend simultanément le modèle invariant à la translation, à la rotation et à la
mise à l'échelle.

Figure 3:Processus de convolution.

La deuxième couche connue dans un réseau de neurone convolutif et la couche pooling. Le


plus couramment utilisé est le pooling maximum ou moyen. Le processus de mise en commun
est illustré à la Figure 4. Le pooling maximal consiste à diviser l'image d'entrée en plusieurs
régions rectangulaires en fonction de la taille du filtre et à produire la valeur maximale pour
chaque région. Quant au pooling moyen, la sortie est la moyenne de chaque région. Les couches
convolutives et de mise en commun apparaissent souvent en alternance dans les applications.
Chaque neurone de la couche entièrement connectée est connecté au neurone supérieur, et les
caractéristiques multidimensionnelles sont intégrées et converties en caractéristiques
unidimensionnelles dans le classificateur pour les tâches de classification ou de détection .

14 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
Figure 4:Le processus de mise en commun.

L’entrainement et l’inférence sont deux phases standard pour un modèle CNN, qui
seront également appelées développement et production ou apprentissage et prédiction. Les
modèles CNN passera par la phase d’entrainement p o u r apprendre à partir des données
d’entré. En commençant par la première couche, chaque neurone attribue un poids aux
données d’entrée en se basant sur la fonction spécifique qu’il exécute. Contrairement à la
phase d’apprentissage, la phase d’inférence utilise les modèles CNN équilibrés et tente de
classer les nouvelles données et d’en déduire une sortie. À ce stade, les modèles CNN
entrainé agissent comme une énorme structure de données avec des poids équilibrés et des
connaissances apprises. En résumé, la phase d’entraînement aide les modèles CNN à se
préparer à l’utilisation et nécessite une puissance de calcul importante. Tandis que la phase
d’inférence est relativement rapide et utilise le modèle entrainé pour faire des prédictions
avec de nouvelles données.

Dans des applications en temp réel, la prédiction doit être plus rapide. Pour cela une
représentation Open Neural Network Exchange ONNX peut être utilisé.

2. Définition de ONNX :
Open Neural Network Exchange ONNX , est une norme open-source pour la repré- sentation
des modèles de deep Learning. Il a été développé par Facebook et Microsoft dans le but
de permettre aux chercheurs et aux ingénieurs de déplacer plus facilement les modèles
entre les différents cadres de deep Learning et les plateformes hardware. par exemple
exporté les modèles d’un framework, tel que PyTorch, et importé dans un autre framework,
tel que TensorFlow. Elle a montré une grande utilité concernant l’augmentation de la vitesse de
prédiction, la réduction de la taille des modèles pré-entrainer etc.

Exemples des a p p l i c a t i o n s de onnx[3]


ONNX est utilisé pour la reconnaissance vocale en convertissant les modèles de réseaux
neuronaux pré-entrainés en format ONNX. Ces modèles peuvent être ensuite déployés sur
des appareils mobiles ou des systèmes embarqués.

15 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
Traitement du langage naturel
Les modèles de traitement du langage naturel pré-entraînés comme BERT peuvent être
convertis en format ONNX pour un déploiement facile sur des serveurs ou des appa- reils
mobiles.

Vision par ordinateur


ONNX est utilisé pour la vision par ordinateur en convertissant les modèles de recon-
naissance d’image comme InceptionV3 en format ONNX pour permettre le déploiement
sur des appareils mobiles ou les carte électronique.

Apprentissage automatique
Les modèles de réseaux neuronaux pré-entraînés peuvent être convertis en format ONNX
pour le déploiement sur une variété de plateformes, y compris les systèmes em- barqués et
les serveurs cloud.

Détection d’objets
ONNX est utilisé pour la détection d’obj ets dans les images. Les modèles de détec-
tion d’objets pré-entraînés comme YOLOv3 peuvent être convertis en format ONNX et
déployés sur des appareils mobiles. Nous allons tous detailler dans les paragraphes qui
suivent.

II. Détection d’objets :


La détection d’objets est une mission de visualisation sur ordinateur qui permet de re-
connaître des objets dans une image d’entrée donnée. Elle peut être décomposée en deux
étapes, la classification d’images, dont l’objectif est d’attribuer une classe aux objets de
l’image. L’entrée ici est une image avec un seul objet et la sortie est une classification prédite
avec la probabilité correspondante. Puis la localisation d’objets dont le but est de localiser les
pixels correspond au objet détecter par rapport au font dans l’image. La détection d’objets
dessine une boîte de délimitation autour de chaque objet de l’image et fournit également les
prédictions et les probabilités de la classe prédite. Les frameworks de détection d’objets
peuvent être définie comme des pipelines où des propositions de régions sont générées, puis
suivies d’une classification de chacune de ces propositions de régions en catégories d’objets.

Quelques exemples populaires de détecteurs basés sur des propositions de régions sont
Faster R-CNN ,SPP-Net[11]. Dans notre projet nous allons utiliser YOLOv3 qui utilise un
réseau neuronal beaucoup plus profond Figure 5,ce qui se traduit par une plus grande précision
de détection et une meilleure reconnaissance de petits objets. Il intègre également l’extraction
de caractéristiques à partir de différentes échelles et emplacements, et utilise un réseau
pyramidal d’entités et saute des connexions pour améliorer les performances de détection.

16 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
YOLOv3 est largement utilisé dans les applications de vision par ordinateur telles que la
surveillance.

Figure 5: Architecture de yolov3

17 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
Chapitre II : Méthodologie de travail

Dans ce chapitre on doit définir et détailler les étapes qui réalise une détection d'objet concentrons
sur les Cnn.
I. Travaux relatifs :
Pour les tâches de classification, divers modèles de classification basés sur le CNN ont été
développés . Notamment AlexNet, VGGNet, GoogLeNet, ResNet, MobileNet et EfficientNet. AlexNet
[8] a été proposé en 2012 et a été le réseau champion de la compétition ILSVRC-2012. Ce réseau contient
cinq couches convolutives et trois couches entièrement connectées. AlexNet présente les quatre
caractéristiques suivantes : (a) il s'agit du premier modèle à utiliser un dispositif GPU pour la formation
à l'accélération du réseau ; (b) des unités linéaires rectifiées (ReLU) ont été utilisées comme fonction
d'activation ; (c) la normalisation de la réponse locale a été utilisée ; (d) dans les deux premières couches
de la couche entièrement connectée, l'opération d'abandon a été utilisée pour réduire le surajustement.
Ensuite, les réseaux plus profonds sont apparus, tels que VGG16, VGG19, GoogLeNet. Ces
réseaux utilisent des noyaux empilés plus petits mais ont moins de mémoire pendant l'inférence [9]. Plus
tard, les chercheurs ont constaté que lorsque le nombre de couches d'un CNN profond atteignait une
certaine profondeur, l'augmentation aveugle du nombre de couches n'améliorait pas les performances de
classification, mais entraînait une convergence plus lente du réseau [10,11].
Jusqu'en 2015, le laboratoire Microsoft a proposé le réseau ResNet et a remporté la première place
dans la tâche de classification de la compétition ImageNet. Le réseau a proposé de manière créative des
blocs résiduels et des connexions de raccourci [12], ce qui résout le problème de l'élimination ou de
l'explosion du gradient et permet de construire un modèle de réseau plus profond. ResNet a influencé
l'orientation du développement de DL dans les universités et l'industrie en 2016. MobileNet a été proposé
par les équipes de Google en 2017 et a été conçu pour les applications de vision mobiles et embarquées
[13].
En 2019, les équipes de Google ont proposé un autre réseau exceptionnel : EfficientNet [14]. Ce
réseau utilise un coefficient composé simple mais très efficace pour mettre à l'échelle uniformément
toutes les dimensions de profondeur/largeur/résolution, ce qui ne mettra pas à l'échelle arbitrairement les
dimensions du réseau comme dans les méthodes traditionnelles. En ce qui concerne les tâches de
classification des maladies des plantes, il n'est pas nécessaire d'utiliser le réseau les réseaux profonds, car
des modèles simples, tels que AlexNet et VGG16, peuvent répondre aux exigences actuelles en matière
de précision.

II. CNN pour la classification des Objects :


Les modèles DL peut être réalisé à l'aide de langages de programmation tels que Python, C/C++.
Le cadre DL open-source fournit une série d'interfaces de programmation d'applications, prend en charge
la conception du modèle, aide au déploiement du réseau et évite la duplication du code [15]. À l'heure
actuelle, les cadres DL, tels que PyTorch, Tensorflow, Cafe et Keras sont largement utilisés.
L'augmentation rapide de la DL est indissociable du développement généralisé des GPU. La mise en
œuvre de CNN profonds nécessite des GPU pour fournir la puissance de calcul nécessaire, faute de quoi
le processus d'apprentissage sera très lent, voire impossible, pour les modèles CNN. À l'heure actuelle, le
GPU le plus utilisé est CUDA. Lorsque NVIDIA a lancé CUDA (Computing Unified Device

18 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
Architecture) et AMD a lancé Stream, le calcul par le GPU a démarré [16], et aujourd'hui, CUDA est
largement utilisé dans le DL.

La classification des images est une tâche fondamentale dans le domaine de la vision par ordinateur.
Elle est également la base de la détection d'objets, de la segmentation d'images, de la recherche d'images
et d'autres technologies. Le processus de base de la DL est illustré à la Figure 6, en prenant comme
exemple la tâche de classification des maladies à la surface des feuilles de courge serpentine. Dans la
Figure 6, nous utilisons une architecture basée sur le CNN pour extraire les caractéristiques, qui comprend
principalement des couches de convolution, de mise en commun maximale et de connexion complète. La
couche convolutive est principalement utilisée pour extraire les caractéristiques des images de feuilles
de courge serpentine. La couche convolutionnelle superficielle est utilisée pour extraire certaines
informations sur les bords et la texture, la couche intermédiaire est utilisée pour extraire une texture
complexe et une partie des informations sémantiques, et la couche profonde est utilisée pour extraire des
caractéristiques sémantiques de haut niveau. La couche convolutive est suivie d'une couche de mise en
commun maximale, qui permet de conserver les informations importantes de l'image. À la fin de
l'architecture se trouve un classificateur, qui se compose de couches de connexion complètes. Ce
classificateur est utilisé pour classer les caractéristiques sémantiques de haut niveau extraites par
l'extracteur de caractéristiques.

Figure 6:Réseaux neuronaux convolutionnels pour la classification des maladies foliaires de la courge serpentine.

Dans la Figure 6, nous introduisons un lot d'images dans le réseau d'extraction des caractéristiques
pour extraire les caractéristiques, puis nous aplatissons la carte des caractéristiques dans le classificateur
pour la classification des maladies. Ce processus peut être grossièrement divisé en trois étapes.
Étape 1. Préparation des données et prétraitement
Étape 2. Construire, former et évaluer le modèle
Étape 3. Inférence et déploiement

1. Préparation et prétraitement des données:

Les données sont importantes pour les modèles DL. Les résultats seront forcément inexacts, quelle
que soit la complexité et la perfection de notre modèle, tant que la qualité des données d'entrée est
médiocre. Les pourcentages typiques de l'ensemble de données original destiné à la formation, à la
validation et au test sont 70:20:10, 80:10:10 et 60:20:20. Un ensemble de données DL est généralement

19 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
composé d'un ensemble d'apprentissage, d'un ensemble de validation et d'un ensemble de test.
L'ensemble d'apprentissage sert à faire apprendre le modèle, et l'ensemble de validation est généralement
utilisé pour ajuster les hyperparamètres pendant l'apprentissage. L'ensemble de test est l'échantillon de
données que le modèle n'a jamais vu auparavant et il est utilisé pour évaluer les performances du modèle
DL. Dans la littérature sur les techniques de DL appliquées à la classification des plants de fraises.

Pour la classification des objets, nous avons besoin d'un grand nombre d'images. Entre temps, les
données d'images sont à peu près équilibrées. Si l'on considère une plante pour laquelle le nombre de
données d'images est particulièrement élevé, le réseau neuronal sera biaisé en faveur de cette plante. Outre
des données suffisantes sur l'équilibre des catégories, le réseau neuronal a également besoin de données
pour le prétraitement, y compris le redimensionnement des images, le recadrage aléatoire et la
normalisation. La forme des données varie en fonction du cadre utilisé. La
Figure 7montre la forme tensorielle de l'entrée du réseau neuronal, où H et W représentent la hauteur et
la largeur de l'image prétraitée, C représente le nombre de canaux de l'image (gris ou RVB) et N représente
le nombre d'images entrées dans le réseau neuronal au cours d'une session d'entraînement.

Figure 7:Forme du tenseur du réseau neuronal d'entrée dans PyTorch.

2. Construction de l'architecture du modèle, formation et évaluation du modèle:

Avant la formation, une architecture de modèle DL appropriée est nécessaire. Une bonne
architecture de modèle peut aboutir à des résultats de classification plus précis et à une vitesse de
classification plus rapide. Actuellement, les principaux types de réseaux de DL sont les CNN, les RNN
et les réseaux adversaires génératifs (GAN). Parmi les différents travaux, le CNN est le réseau d'extraction
de caractéristiques le plus largement utilisé pour la détection et la classification des plantes [17,18-19].

Une fois l'architecture du modèle établie, différents hyperparamètres sont définis pour la formation
et l'évaluation. Nous pouvons définir certaines combinaisons de paramètres et utiliser la méthode de
recherche par grille pour itérer à travers elles afin de trouver la meilleure. Lors de la formation du réseau
neuronal, les données de formation sont placées dans la première couche du réseau et chaque neurone
met à jour le poids du neurone par rétropropagation selon que la sortie est égale ou non à l'étiquette. Ce

20 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
processus est répété jusqu'à ce qu'une nouvelle capacité soit apprise à partir des données existantes.
Toutefois, on ne sait pas si le modèle formé a appris de nouvelles capacités. Les performances du modèle
ont été évaluées à l'aide de critères tels que l'exactitude, la précision, le rappel et le score F1. Il convient
d'abord d'introduire le concept de matrice de confusion avant de présenter ces indices de manière
spécifique. La matrice de confusion montre les résultats corrects ou incorrects prédits dans une
classification binaire. Elle se compose de quatre éléments : les vrais positifs (TP, valeurs positives
correctement prédites), les faux positifs (FP, valeurs positives incorrectement prédites), les vrais négatifs
(TN, valeurs négatives correctement prédites) et les faux négatifs (FN, valeurs négatives incorrectement
prédites). La précision peut alors être calculée comme suit :
𝑇𝑃+𝑇𝑁
PRECISION =𝑇𝑃+𝐹𝑃+𝑇𝑁+𝐹𝑁

Parmi tous les positifs prédits par le modèle, la précision prédit la proportion de prédictions
correctes

𝑇𝑃
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 =
TP + FP
Parmi tous les vrais positifs, le rappel prédit la proportion correcte de positifs [15].

TP
𝑅𝐴𝑃𝑃𝐸𝐿 =
TP + FN
La valeur F1 prend en compte les taux de précision (P) et de rappel (R).

2 2∗𝑃∗𝑅
𝐹1 = =
1 1 𝑃+𝑅
P+R
Dans les études sur la classification des plantes, la précision est l'indice d'évaluation le plus courant
[16,17,18,19,20]. Les valeurs les plus élevées de l'exactitude, de la précision et du rappel sont meilleures.
Dans une certaine fourchette, lorsque la valeur du score F1 est plus petite, la performance de
généralisation du modèle entraîné est meilleure. Lorsque la formation et l'évaluation sont terminées, le
modèle formé dispose d’une nouvelle capacité, cette capacité est alors appliquée à de nouvelles données.

2.3.Inférence et déploiement :

L'inférence est la capacité du modèle DL à appliquer rapidement la capacité d'apprentissage du


modèle formé à de nouvelles données et à fournir rapidement la bonne réponse sur la base de données
qu'il n'a jamais vues [21]. Une fois le processus de formation terminé, les réseaux sont déployés sur le
terrain pour déduire un résultat à partir des données fournies, qu'ils n'ont jamais vues auparavant. Ce n'est
qu'ensuite que les modèles d'apprentissage profond formés peuvent être appliqués dans des
environnements agricoles réels. Nous pouvons déployer le modèle entraîné sur le terminal mobile, le
nuage ou les appareils périphériques, par exemple en utilisant une application sur le téléphone portable
pour prendre des photos de feuilles de plantes et juger des maladies [22]. En outre, afin de mieux utiliser

21 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
le modèle formé sur le terrain, la capacité de généralisation du modèle doit être améliorée, et nous pouvons
continuellement mettre à jour les modèles avec les nouveaux ensembles de données étiquetés pour
améliorer la capacité de généralisation [23].

3. CNN pour Localisation d’images :

Dans le cas de la localisation d'objets, le réseau identifie l'endroit où se trouve l'objet, en l'entourant
d'une boîte de délimitation. Pour cette application, nous commençons par utiliser le même réseau que
celui utilisé pour la classification d'images. Nous avons donc une image en entrée, qui passe par un
ConvNet qui produit un vecteur de caractéristiques transmis à un softmax pour classer l'objet (par
exemple avec 3 classes pour piétons, voitures, vélo. Maintenant, si nous voulons également localiser ces
objets dans l'image, nous modifions le réseau neuronal pour avoir quelques unités de sortie
supplémentaires qui englobent une boîte de délimitation. En particulier, nous ajoutons quatre nombres
supplémentaires, qui identifient les coordonnées x et y du point supérieur gauche, ainsi que la hauteur et
la largeur de la boîte (bx, by, bh, bw). Le réseau neuronal produit alors les quatre nombres ci-dessus, plus
la probabilité des étiquettes de classe (également quatre dans notre cas). Par conséquent, l'étiquette finale
sera:
𝑏𝑥
𝑏𝑦
𝑏ℎ
𝑌 = 𝑏𝑤
𝐶1
𝐶2
( 𝐶3 )
Où pc est la confiance en la présence d'un objet dans l'image. Il répond à la question "y a-t-il un
objet ?". Au lieu de cela, c1,c2,c3, dans le cas où il y a un objet, indiquent si l'objet fait partie de la classe
1, 2 ou 3. Il nous indique donc de quel objet il s'agit. Enfin, bx, by, bh, bw identifient les coordonnées
relatives à la boîte englobante autour de l'objet détecté.
Par exemple, si une image représente une voiture, l'étiquette cible sera :
1
𝑏𝑥
𝑏𝑦
𝑏ℎ
𝑏𝑤
0
1
(0)

Si le réseau ne détecte pas d'objet, la sortie est simple :

22 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
0
?
?
?
?
?
?
(?)
Les points d'interrogation sont placés dans les autres positions qui n'ont aucune signification dans
ce cas. Techniquement, le réseau affichera de grands nombres ou NaN dans ces positions.
Cette technique est également utilisée pour la "détection de points de repère". Dans ce cas, le
résultat sera encore plus important puisque nous demandons au réseau de fournir les coordonnées x et y
de points importants dans une image. Par exemple, imaginons une application permettant de détecter les
principaux points de repère d'un visage. Dans ce cas, nous pourrions identifier des points le long du visage
qui indiquent, par exemple, les coins des yeux, la bouche, etc.
4. CNN pour détection d’objet:

La détection d'objets peut être réalisée à l'aide d'une technique appelée "détection par filtre
coulissante". Nous formons un ConvNet à la détection d'objets dans une image et utilisons des filtres de
différentes tailles que nous faisons glisser au-dessus de lui. Pour chaque filtre, nous effectuons une
prédiction. Cette méthode donne d'assez bons résultats. Le gros défaut de cette méthode est le coût de
calcul, qui est très élevé étant donné que nous pouvons avoir un grand nombre de filtres.

La solution à ce problème est la détection par filtre coulissant, calculée par convolution. Au lieu de
glisser une petite raclette pour nettoyer un filtre, nous avons maintenant une grande raclette qui s'adapte
à la totalité du filtre et la nettoie complètement sans aucun mouvement.

La première étape vers la mise en place convolutive des filtres à glissement consiste à transformer
les couches entièrement connectées d'un réseau neuronal en couches convolutives. Voir l'exemple dans
la Figure 8 :

Figure 8:la mise en place convolutive des filtres

Cette méthode est chère en termes de calcul et une grande partie de ce calcul est répétée. Nous
voudrions, au contraire, que ces quatre passages partagent le calcul. Ainsi, avec l'implémentation
convolutive des filtres glissants, nous exécutons le ConvNet, avec les mêmes paramètres et les mêmes
filtres sur l'image test et voici ce que nous obtenons dans la Figure 9 :

23 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
Figure 9:l'implémentation convolutive des filtres glissants

Chacun des quatre sous-ensembles de l'unité de sortie est essentiellement le résultat de l'exécution
du ConvNet avec une région 14x14x3 dans les quatre positions de l'image initiale 16x16x3. Prenons une
image d'entrée de 28x28x3. En passant par le réseau, nous arrivons à une sortie finale de 8x8x4. Dans cet
exemple, chacun des 8 sous-ensembles correspond à l'exécution de la région 14x14x3 8 fois avec une
diapositive de 2 dans l'image d'origine.

L'une des faiblesses de cette implémentation est que la position de la boîte englobante que nous
obtenons autour de l'objet détecté n'est pas très précise. Nous verrons bientôt que l'algorithme appelé You-
Only-Look-Once (YOLO) est la solution à ce problème.

5. YOLO ALGORITHM: (You-Only-Look-Once):

5.1Prédiction de la boîte englobante :

Nous commençons par placer une grille au-dessus de l'image d'entrée. Ensuite, pour chacune des
cellules de la grille, nous exécutons l'algorithme de classification et de localisation que nous avons vu au
début. Les étiquettes pour l'entraînement, pour chaque cellule de la grille, seront similaires à ce que nous
avons vu précédemment, avec un vecteur de sortie à 8 dimensions :

𝑏𝑥
𝑏𝑦
𝑏ℎ
𝑌 = 𝑏𝑤
𝐶1
𝐶2
( 𝐶3 )

Pour chaque cellule, nous obtiendrons un résultat, qu'il y ait un objet ou non. Par exemple:

24 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
1
𝑏𝑥
𝑏𝑦
𝑏ℎ
𝑜𝑏𝑗𝑒𝑐𝑡 𝑑𝑒 2 𝑐𝑙𝑎𝑠𝑠(𝑖, 𝑒, 𝑣𝑜𝑖𝑡𝑢𝑟𝑒)𝑑𝑒𝑡𝑒𝑐𝑡𝑒𝑑 =
𝑏𝑤
0
1
(0)

0
?
?
?
𝑛𝑜𝑛 𝑜𝑏𝑗𝑒𝑡 détectée:
?
?
?
(?)

L'objet est "assigné" à la cellule spécifique en fonction de l'emplacement du centre.

Si nous disposons d'une grille de 3x3 cellules, le volume de sortie cible aura une dimension de
3x3x8 (où 8 est le nombre d'étiquettes en y). Dans ce cas, nous ferons donc passer l'image d'entrée par un
ConvNet pour obtenir un volume de sortie de 3x3x8. Nous disposons donc d'une implémentation
convolutive pour l'ensemble des cellules de la grille (et non pour 9 cellules individuelles), comme nous
l'avons vu précédemment. Nous combinons donc ce que nous avons vu dans l'algorithme de classification
de la localisation avec l'implémentation convolutive.

L'avantage de cet algorithme est qu'il produit des positions précises des boîtes englobantes, car les
valeurs bx, by, bh, bw sont calculées par rapport à la cellule. Ainsi, plus la grille est fine, plus la précision
est grande et moins il y a de risques d'avoir plusieurs objets dans une image.

5.2. Boîte d'ancrage :

Dans l’algorithme de détection d’objets YOLO (You Only Look Once), les boîtes d’ancrage sont
un composant essentiel. YOLO divise l’image d’entrée en une grille et prédit les cadres de délimitation
et les probabilités de classe pour chaque cellule de grille. Les boîtes d’ancrage sont des cadres de
délimitation prédéfinis de différentes tailles et proportions qui sont utilisés pour faire correspondre et
prédire des objets de formes et de tailles variables.

Pour évaluer la détection en utilise une métrique appeler intersection des unions. Il s'agit d'un
moyen de mesurer si l'algorithme de détection des objets fonctionne bien. Il calcule l'intersection sur
l'union de la boîte de délimitation détectée et de la boîte de délimitation correcte.

𝑡𝑎𝑖𝑙𝑙𝑒 𝑑𝑒 𝑙𝑎 𝑧𝑜𝑛𝑒 𝑑′𝑖𝑛𝑡𝑒𝑟𝑠𝑒𝑐𝑡𝑖𝑜𝑛


𝐼𝑜𝑈 =
𝑡𝑎𝑖𝑙𝑙𝑒 𝑑𝑒 𝑙𝑎 𝑧𝑜𝑛𝑒 𝑑𝑒 𝑙′𝑢𝑛𝑖𝑜𝑛

25 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
Chapitre III : Matériel et méthode

Ce dernier chapitre est consacré à la conception et la mise en place de notre projet qui permettra
de détecter des objets des images en utilisant une méthode appartient à la famille de techniques de
l’apprentissage profond basé sur l’alogothme de YOLO. Dans ce chapitre nous allons décrire
également les différentes parties de notre système, les détails relatifs à chaque phase ainsi que
l’explication et les détails de chaque étape de ces phases.

I. Architecture de YOLOv3:
Inspiré des architectures ResNet et FPN (Feature-Pyramid Network), l'extracteur de
fonctionnalités YOLOv3, appelé Darknet-53 (il a 52 convolutions) contient des connexions de saut
(comme ResNet) et 3 têtes de prédiction (comme FPN), chacune traitant l'image à une compression
spatiale différente. Comme son prédécesseur, le YOLOv3 offre de bonnes performances sur une
large gamme de résolutions d'entrée. Dans le zoo modèle de GluonCV, vous pouvez trouver
plusieurs points de contrôle (Figure 10) : chacun pour une résolution d'entrée différente, mais en
fait les paramètres réseau stockés dans ces points de contrôle sont identiques. Testé avec une
résolution d'entrée de 608x608 sur l'ensemble de validation COCO-2017, le YOLOv3 a obtenu un
score de 37 mAP. Ce score est identique à la version d’apprentissage de GluonCV Faster-RCNN-
ResNet50 , (une architecture plus rapide que RCNN qui utilise ResNet50 comme son épine
dorsale), mais 17 fois plus rapide. Dans ce modèle de zoo, les seuls détecteurs assez rapides pour
rivaliser avec le YOLOv3 (architectures Mobilenet-SSD) ont obtenu un mAP de 30 et moins.

Figure 10:Architecture de YOLOv3

Pour obtenir une détection finé, trois branches sont utilisées pour la détection d'objets, l'échelle de
la carte des caractéristiques de chaque branche étant différente notamment dans la Figure 10.
Chaque branche prédit la confiance, la probabilité de classe et les cadres de délimitation inclinés
du texte.

26 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
1. Darknet-53 :

Tout d'abord, YOLO v3 utilise une variante de Darknet (Figure 11), qui dispose à l'origine d'un
réseau de 53 couches formé sur Imagenet. Pour la tâche de détection, 53 couches supplémentaires
sont empilées dessus, ce qui nous donne une architecture sous-jacente entièrement convolutive de
106 couches pour YOLO v3. C'est la raison de la lenteur de YOLO v3 par rapport à YOLO v2. Le
tableau 1 présente la structure du Darknet-53.

Figure 11: Darknet-53 architecture.

2. Détection à trois échelles :

La nouvelle architecture se vante de connexions de saut résiduelles et de sur échantillonnage.


La caractéristique la plus marquante de la v3 est qu'elle effectue des détections à trois échelles
différentes. YOLO est un réseau entièrement convolutif et sa sortie éventuelle est générée en
appliquant un noyau 1 x 1 sur une carte de caractéristiques. Dans YOLO v3, la détection se fait en

27 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
appliquant des noyaux de détection 1 x 1 sur des cartes de caractéristiques de trois tailles différentes
à trois endroits différents du réseau.
La forme du noyau de détection est 1 x 1 x (B x (5 + C)). Ici, B est le nombre de boîtes englobantes
qu'une cellule sur la carte d'entités peut prédire, «5» est pour les 4 attributs de boîte englobante et
une confiance d'objet, et c’est le nombre de classes. Dans YOLO v3 entraîné sur COCO, B = 3 et
C = 80, donc la taille du noyau est 1 x 1 x 255. La carte de caractéristiques produite par ce noyau
a la même hauteur et la même largeur que la carte de caractéristiques précédente, et a des attributs
de détection de la profondeur comme décrit dans la Error! Reference source not found.

Figure 12:Grille d'images

II. Matériel Utiliser:


1. Nvidia jetson TX2:

La détection d'objets sur la Nvidia Jetson TX2 (Figure 13) peut être réalisée en utilisant des
réseaux de neurones convolutifs (CNN) pré-entraînés tels que YOLO (You Only Look Once) ou
SSD (Single Shot MultiBox Detector).

28 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
Figure 13:Nvidia jetsonTX2

Pour mettre en œuvre la détection d'objets sur la Nvidia Jetson TX2, vous pouvez suivre ces
étapes :

• installation du système d'exploitation : Assurez-vous d'avoir installé un système


d'exploitation compatible sur la Jetson TX2, tel que JetPack, qui est une distribution
logicielle spécialement conçue pour les plates-formes Jetson.

• Configuration de l'environnement de développement : Mettez à jour votre système,


installez les dépendances nécessaires, configurez les bibliothèques CUDA et CUDNN, et
installez le framework d'apprentissage en profondeur comme TensorFlow ou PyTorch.

• Téléchargement des modèles pré-entraînés : Téléchargez le modèle de détection d'objets


pré-entraîné de votre choix, tel que YOLO ou SSD, à partir des référentiels en ligne. Ces
modèles sont généralement disponibles en format Caffe ou TensorFlow.

• Adaptation du modèle à la Jetson TX2 : Les modèles pré-entraînés sont généralement


entraînés sur des architectures GPU plus puissantes. Pour les exécuter efficacement sur la
Jetson TX2, vous devrez effectuer une conversion de modèle et une optimisation
spécifique à cette plate-forme.

• Capture de flux vidéo ou d'images : Connectez une caméra à la Jetson TX2 ou utilisez des
images pré-enregistrées pour effectuer la détection d'objets en temps réel.

• Utilisation du modèle pour détecter les objets : Chargez le modèle pré-entraîné dans votre
application, traitez les images ou les flux vidéo à l'aide du modèle et affichez les résultats
de détection (comme les boîtes englobantes et les étiquettes d'objet) sur l'écran ou
enregistrez-les dans un fichier.
Ces étapes vous donneront une idée générale de la façon d'implémenter la détection d'objets sur
la Nvidia Jetson TX2. Cependant, les détails spécifiques dépendront du framework et du modèle
que vous choisissez d'utiliser dans notre projet.

29 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
III. Expérience:
1. Collection des données :

Les bases de données sont essentielles pour entraîner des modèles de machine learning. Voici
quelques-unes des utilisations de base de données dans l'entraînement des modèles de
machine learning :

• Fournir des données d'entraînement : Une base de données peut contenir des
ensembles de données étiquetés ou non étiquetés qui servent à entraîner les modèles
de machine learning. Ces données sont utilisées pour apprendre aux modèles à
effectuer des tâches spécifiques.
• Prétraitement des données : Les bases de données peuvent être utilisées pour stocker
et gérer des données brutes. Avant de les utiliser pour l'entraînement, il est souvent
nécessaire de prétraiter les données, notamment en nettoyant les valeurs aberrantes, en
normalisant les valeurs, en gérant les valeurs manquantes, etc. Les bases de données
peuvent faciliter ce processus en fournissant un espace de stockage et des outils pour
manipuler les données.
• Stockage et récupération des modèles : Une base de données peut être utilisée pour
stocker les modèles de machine learning entraînés. Cela permet de conserver les
modèles pour une utilisation future et de les récupérer lorsque nécessaire.

• Évaluation des performances du modèle : Les bases de données peuvent contenir des
jeux de données de test ou de validation qui permettent d'évaluer les performances des
modèles de machine learning. Les résultats obtenus par les modèles peuvent être
comparés aux valeurs réelles ou aux étiquettes fournies dans la base de données pour
mesurer leur précision et leur efficacité.
• Apprentissage en ligne : Les bases de données peuvent être utilisées pour
l'apprentissage en ligne, où les modèles de machine learning sont mis à jour en temps
réel à mesure que de nouvelles données arrivent. Les bases de données peuvent
stocker les données d'entraînement en cours et permettre la mise à jour continue des
modèles à mesure que de nouvelles informations sont ajoutées.

En résumé, les bases de données jouent un rôle crucial dans l'entraînement des modèles de
machine learning en fournissant des données d'entraînement, en stockant les modèles entraînés,
en évaluant les performances des modèles et en facilitant le prétraitement des données.
Notre base de données et constituer des images qu'on a pris de la serre du fraises (Figure
14). ces images présentant notre objet dans toutes les orientations, tous les rapports d'aspect et
toutes les échelles possibles il est recommandé de marquer les labels de classe et les boîtes de
localisation pour toutes les images de la base de données d'apprentissage. Cette annotation sera
utilisée pour evaluer la détection d'objets dans l'image.

30 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
Figure 14:les plantes de fraise

Pour réaliser cette opération on a utilisé l’application makesense.


2. Annotation des données :

L'annotation d'images est le processus d'étiquetage des images d'un ensemble de données pour
former un modèle d'apprentissage automatique afin de réaliser une tâche de détection par exemple

Figure 15Error! Reference source not found.. L'annotation d'images est donc utilisée pour
étiqueter les caractéristiques que votre système doit reconnaître. La formation d'un modèle
d'apprentissage automatique à partir de données étiquetées est appelée apprentissage supervisé.

Figure 15: Exemple de la détection des personnes avec l’apprentissage automatique

La tâche d'annotation implique généralement un travail manuel, parfois avec l'aide d'un
ordinateur. Un ingénieur en apprentissage automatique prédétermine les étiquettes, appelées
"classes", et fournit les informations spécifiques de l'image au modèle de vision par ordinateur.
Une fois le modèle formé et déployé, il prédit et reconnaît ces caractéristiques définies à l'avance
dans les nouvelles images qui n'ont pas encore été annotées.

31 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
Les ensembles de données d'images annotées les plus populaires sont le Microsoft COCO Dataset
(Common Objects in Context), avec 2,5 millions d'instances étiquetées dans 328k images, et
l'ensemble de données OID (Open Images Database) de Google avec environ 9 millions d'images
pré-annotées Error! Reference source not found..

Figure 16: Exemple d'ensemble de donnée Microsoft COCO Dataset Figure 1

Pour former et développer des algorithmes de vision artificielle basés sur des réseaux neuronaux
profonds (DNN), l'annotation des données est nécessaire dans les cas où les modèles pré-entraînés
ne sont pas assez spécifiques ou précis. Comme indiqué précédemment, il existe de nombreux
ensembles de données d'images publiques disponibles, avec des millions d'annotations d'images
(COCO, OID, etc.). Pour les problèmes courants et standardisés de détection d'objets (par exemple,
la détection de personnes), un algorithme entraîné sur un ensemble massif de données publiques
(algorithme pré-entraîné) fournit de très bons résultats et les avantages d'un étiquetage
supplémentaire ne justifient pas les coûts additionnels élevés dans ces situations.

Cependant, dans certaines situations, l'annotation des images est essentielle :

•Nouvelles tâches : L'annotation des images est donc importante lorsque l'IA est appliquée
à de nouvelles tâches sans que des données annotées appropriées soient disponibles. Par
exemple, dans le domaine de l'automatisation industrielle, la vision par ordinateur est
fréquemment utilisée pour détecter des articles spécifiques et leur état.

•Données restreintes : Bien que de nombreuses données soient disponibles sur l'internet,
certainesdonnées d'image nécessitent un accord de licence et leur utilisation peut être
restreinte pour le développement de produits commerciaux de vision par ordinateur. Dans

32 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
certains domaines tels que l'imagerie médicale, l'annotation manuelle des données
s'accompagne généralement de problèmes de confidentialité, lorsque des images sensibles
(visages, attributs identifiables, etc.) sont impliquées. Un autre défi est l'utilisation d'images
qui contiennent la propriété intellectuelle d'une entreprise.

Pour annoter les images, on utilise des outils d'annotation de données libre ou gratuit. Le Computer
Vision Annotation Tool (CVAT) est probablement l'outil d'annotation d'images open-source le plus
populaire. Lorsqu'il s'agit d'une grande quantité de données, une main-d'œuvre qualifiée est
nécessaire pour annoter les images. Les entreprises font appel à leurs propres scientifiques des
données pour étiqueter les images, mais les projets plus complexes et plus concrets nécessitent
souvent de faire appel à un prestataire de services d'annotation vidéo par IA.

Les outils d'annotation offrent différents ensembles de fonctionnalités permettant d'annoter


efficacement une ou plusieurs images. Les étiquettes sont appliquées aux objets à l'aide de l'une
des techniques d'annotation expliquées ci-dessous au sein d'une image ; le nombre d'étiquettes sur
chaque image peut varier en fonction du cas d'utilisation.

En général, voici comment fonctionne l'annotation d'images :

•Étape 1 : Préparez votre ensemble de données d'images.

•Étape 2 : Spécifiez les étiquettes de classe des objets à détecter.

•Étape 3 : Dans chaque image, dessinez une boîte autour de l'objet que vous voulez détecter.

•Étape 4 : Sélectionnez l'étiquette de classe pour chaque boîte que vous avez dessinée.

•Étape 5 : Exportez les annotations dans le format requis (COCO JSON, YOLO, etc.).

Pour notre application on a utilisé Makesense.ai. C’est un outil en ligne gratuit pour
étiqueter les photos qui ne nécessite aucune installation de logiciel. Vous pouvez l'utiliser avec un
navigateur et il ne nécessite aucune installation compliquée. Makingense.ai est construit sur le
moteur TensorFlow.js, l'un des cadres les plus populaires pour l'entraînement des réseaux
neuronaux. Bien que l'outil offre des fonctionnalités de base facilement accessibles, il constitue
une bonne alternative pour les tests d'annotation d'images rapides et les petits projets. L'outil
d'annotation d'images MakeSense.AI est libre d'utilisation Aucune installation n'est requise ; l'outil
est entièrement en ligne.

•Makesense.ai prend en charge plusieurs formes d'annotation.

•Un moyen rapide d'annoter une image ou un ensemble de photos sans installer de logiciel.

•Une bonne option pour les débutants, cet outil d'annotation accompagne l'utilisateur tout
au long du processus d'annotation.

•L'outil d'annotation est doté d'une interface moderne et de nouveaux modules

33 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
complémentaires qui permettent de gagner du temps et qui sont intéressants pour les grands
ensembles de données.
L'annotation avec la plateforme MakeSense.ai offre une expérience conviviale et intuitive.
La Error! Reference source not found. indique l’interface de cette platform. Pour
faire de l’annotation en commence par charger les images. La plateforme offre deux différentes
tâches d’annotation, détection d’objet et reconnaissance de l’image. Après la sélection de la tache
désirer, il faut crier les classes à annoter. Ensuite, on commence à annoter les exemples en suivant
les directives données. Cela peut impliquer de dessiner des contours, de sélectionner des catégories
ou d'ajouter des balises, selon la nature de la tâche. A la fin de l’opération on peut exporter les
annotations crier en plusieurs format disponible. Dans notre cas YOLO v3 nécessite des images
avec des annotation .xml au format PASCAL-VOC. Ce format d’annotation, comme la Error!
Reference source not found. montre, donne une information sur la taille d’image annoter et son
nom. Et les plus importantes informations c’est le nom de la classe et les coordonner de la boite
englobante.

Figure 17:l'interface de platform makesense

Figure 18:forma de platform PASCAL-VOC

34 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
En peut résumer cette étape d’annotation dans la Error! Reference source not found.Error!
Reference source not found..

Figure 19:l'annotation des images

3. Conclusion et défis :

Bien que makesense.ai soit une excellente plateforme gratuite, elle n'est pas extensible. Pour entraîner un
modèle de détection d'objets de type YOLO, il faut au moins des centaines (voire des milliers) d'images
pour obtenir une précision raisonnable. Makesense.ai n'enregistre pas les annotations et n'intègre pas les
flux de travail. Vous devez faire tout cela individuellement en une seule fois. Cela prendrait énormément de
temps si une personne restait assise pendant des heures à étiqueter des milliers d'images

IV. Résultat et discussion :


1. Le montage :
Notre montage est composé de la carte jetson tx2 une caméra clavier et souris pour la commande
et une écran pour l’affichage comme il existe dans la Figure 20 :

Figure 20:Montage

35 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
2. Résultat :
Nous avons fait le teste sur deux types de donné Premièrement une image comme il
existé dans la Figure 21 et deuxièmes on a effectué un teste sure un vidéo.

Figure 21:plantes détectées

Bien que l’utilisation des fonctionnalités natives d’un framework de deep learning puisse
offrir certains avantages, tels qu’une intégration étroite avec l’écosystème du framework et des
optimisations matérielles spécifiques, ONNX fournit un format standardisé qui permet
l’interopérabilité des modèles entre différents frameworks comme vous voyez dans le Tableau 1.
Cela peut être particulièrement utile lorsque vous devez déployer des modèles formés dans un
framework vers un autre framework ou lorsque vous utilisez du matériel spécialisé mieux pris en
charge par un framework différent.
Tableau 1:Vitesse de modele

Farmwork
Sans onnx 0,27-0.30 FPS
Avec onnx 0,15-0.17 FPS

En résumé, la détection d’objets peut être effectuée avec et sans ONNX. ONNX fournit un format
standardisé pour la représentation des modèles et permet l’interopérabilité entre différents
frameworks de deep learning, tandis que l’utilisation des capacités natives d’un framework offre
une intégration plus étroite et des optimisations potentielles des performances. Le choix entre les
deux approches dépend des exigences et des contraintes spécifiques de votre application.

36 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
Conclusion Générale

En conclusion, la détection des plantes, en particulier des fraises, à l'aide de réseaux de neurones
convolutifs (CNN) et de l'algorithme YOLOv3 sur la plateforme NVIDIA Jetson TX2 offre de
nombreuses possibilités et avantages.
L'utilisation de CNN permet de bénéficier des capacités de traitement des images et de
l'apprentissage profond pour détecter et classifier les plantes avec précision. Les CNN sont capables
d'apprendre des caractéristiques visuelles complexes des fraises, ce qui leur permet de reconnaître
et de localiser ces plantes dans des images ou des flux vidéo.
YOLOv3, en tant qu'algorithme de détection d'objets en temps réel, peut fournir des résultats
rapides et précis, permettant ainsi la détection des fraises en temps réel. Il peut détecter plusieurs
fraises simultanément et fournir des boîtes englobantes précises autour de chaque instance détectée.
La plateforme NVIDIA Jetson TX2 est un choix idéal pour le déploiement des modèles de
détection des plantes, car elle offre des capacités de calcul intensif, de traitement parallèle et une
faible consommation d'énergie. Cela permet d'exécuter les modèles de manière efficace, même sur
des systèmes embarqués ou des appareils de faible puissance, et de réaliser la détection des fraises
en temps réel.
En utilisant YOLOv3 avec un CNN spécifiquement entraîné pour la détection des fraises, sur la
plateforme Jetson TX2, il est possible d'obtenir des résultats précis et rapides dans des applications
telles que l'agriculture de précision, la surveillance des cultures ou la robotique agricole. Ces
technologies peuvent faciliter l'automatisation des tâches agricoles, l'optimisation de la production
et la réduction des coûts.
Cependant, il est important de noter que le succès de la détection des fraises dépend de la
disponibilité de données d'entraînement adéquates et représentatives, ainsi que de l'optimisation et
du réglage appropriés des modèles pour les spécificités de la tâche. De plus, les performances
réelles dépendront également des conditions de capture d'images ou de vidéos, de l'éclairage et
d'autres facteurs environnementaux.
En résumé, l'utilisation de CNN, de l'algorithme YOLOv3 et de la plateforme NVIDIA Jetson
TX2 pour la détection des plantes, en particulier des fraises, offre une solution efficace, précise et
en temps réel. Ces technologies peuvent contribuer à l'automatisation et à l'amélioration de
l'agriculture, ouvrir de nouvelles possibilités dans la surveillance des cultures et favoriser une
meilleure utilisation des ressources agricoles.

37 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
References

References

[1] H. Purwins, B. Li, T. Virtanen, J. Schlüter, S.-Y. Chang, et T. Sainath, « Deep Learning for Audio
Signal Processing », IEEE Journal of Selected Topics in Signal Processing, vol. 13, no 2, p. 206‑219,
mai 2019, doi: 10.1109/JSTSP.2019.2908700.
[2] S. Arya et R. Singh, « A Comparative Study of CNN and AlexNet for Detection of Disease in Potato
and Mango leaf », in 2019 International Conference on Issues and Challenges in Intelligent Computing
Techniques (ICICT), sept. 2019, p. 1‑6. doi: 10.1109/ICICT46931.2019.8977648.
[3] T. Jin et al., « Compiling ONNX Neural Network Models Using MLIR ». arXiv, 30 septembre 2020.
doi: 10.48550/arXiv.2008.08272.
[4] Krizhevsky, A. ; Sutskever, I. ; Hinton, G. ImageNet Classification with Deep Convolutional
Neural Networks. Adv. Neural Inf. Process. Syst. 2012, 25, 1097-1105.
[5] Gao, Z. ; Luo, Z. ; Zhang, W. ; Lv, Z. ; Xu, Y. Deep Learning Application in Plant Stress Imaging :
A Review. AgriEngineering, 2020, 2, 430-446.
[6] Bengio, Y. ; Simard, P. ; Frasconi, P. L'apprentissage des dépendances à long terme avec la
descente de gradient est difficile. IEEE Trans. Neural Netw.1994, 5, 157-166.
[7] Glorot, X. ; Bengio, Y. Understanding the difficulty of training deep feedforward neural networks. J.
Mach. Learn. Res. 2010, 9, 249-256.
[8] He, K. ; Zhang, X. ; Ren, S. ; Sun, J. Deep Residual Learning for Image Recognition. arXiv 2016,
arXiv:1512.03385.
[9] Howard, A.G. ; Zhu, M. ; Chen, B. ; Kalenichenko, D. ; Wang, W. ; Weyand, T. ; Andreetto,
M. ; Adam, H. MobileNets : Efficient Convolutional Neural Networks for Mobile Vision
Applications. arXiv 2017, arXiv:1704.04861.
[9] Tan, M. ; Le, Q.V. EfficientNet : Rethinking Model Scaling for Convolutional Neural Networks.
arXiv 2019, arXiv:1704.04861.
[10] Parvat, A. ; Chavan, J. ; Kadam, S. ; Dev, S. ; Pathak, V. A survey of deep-learning frameworks :
2017 International Conference on Inventive Systems and Control (ICISC). Dans les actes de la 2017
International Conference on Inventive Systems and Control (ICISC), Coimbatore, Inde, 19-20 janvier
2017.
[11] Mohanty, S.P. ; Hughes, D.P. ; Marcel, S. Utilisation de l'apprentissage profond pour la détection
des maladies des plantes à partir d'images. Front. Plant Sci. 2016,7, 1419.
[12] Brahimi, M. ; Mahmoudi, S. ; Boukhalfa, K. ; Moussaoui, A. Deep interpretable architecture for
plant diseases classification. Dans les actes de la conférence 2019 Signal Processing : Algorithms,
Architectures, Arrangements, and Applications (SPA), Poznan, Pologne, 18-20 septembre 2019.
[13] Ghazi, M.M. ; Yanikoglu, B. ; Aptoula, E. Plant identification using deep neural networks via
optimization of transfer learning parameters. Neurocomputing 2017, 235, 228-235.
[14] Ge, M. ; Su, F. ; Zhao, Z. ; Su, D. Deep Learning Analysis on Microscopic Imaging in Materials
Science. Mater. Today Nano 2020,11, 100087.
[15] Brahimi, M. ; Boukhalfa, K. ; Moussaoui, A. Apprentissage profond pour les maladies de
la tomate : Classification et visualisation des symptômes. Appl. Artif. Intell. 2017, 31, 1-17.
[16] Mohanty, S.P. ; Hughes, D.P. ; Marcel, S. Utilisation de l'apprentissage profond pour la
détection des maladies des plantes à partir d'images. Front. Plant Sci. 2016,7, 1419.
[17] Chen, J. ; Chen, J. ; Zhang, D. ; Sun, Y. ; Nanehkaran, Y.A. Utilisation de l'apprentissage
par transfert profond pour l'identification des maladies des plantes à partir d'images.
[18] Bollis, E. ; Pedrini, H. ; Avila, S. Weakly Supervised Learning Guided by Activation
Mapping Applied to a Novel Citrus Pest Benchmark. In Proceedings of the 2020 IEEE/CVF

38 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
References

Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), Seattle, WA,
USA, 14-19 June 2020.
[19] Arsenovic, M. ; Karanovic, M. ; Sladojevic, S. ; Anderla, A. ; Stefanovic, D. Solving
Current Limitations of Deep Learning Based Approaches for Plant Disease Detection.
Symmetry 2019, 11, 939.
[20] Peng, Y. ; Wang, Y. Une solution industrielle pour les tâches de classification des images
agricoles. Comput. Electron. Agric. 2021,187, 106253.
[21] Wang, Y. ; Wang, J. ; Zhang, W. ; Zhan, Y. ; Guo, S. ; Zheng, Q. ; Wang, X. Enquête
sur le déploiement d'applications mobiles d'apprentissage profond : Une perspective systémique
et technique. Digit. Commun. Netw. 2021.
[22] Gao, J. ; Westergaard, J.C. ; Sundmark, E.H.R. ; Bagge, M. ; Liljeroth, E. ; Alexandersson,
E. Reconnaissance automatique des lésions de mildiou et quantification de la gravité basée sur
l'imagerie de terrain de divers génotypes de pommes de terre par apprentissage profond. Knowl.
Based Syst. 2021, 214, 106723.
[23] Fuentes, A. ; Yoon, S. ; Kim, S.C. ; Park, D.S. A Robust Deep-Learning-Based Detector for
Real-Time Tomato Plant Diseases and Pests Recognition. Sensors 2017, 17, 202

39 | P a g e
La détection en temp réel des plantes de fraise :application à la robotique agricole
40 | P a g e
Conception d'un système embarqué pour la maison intelligente : Approche basée sur
l'Arduino et les technologies de l'Internet des objets

Vous aimerez peut-être aussi