1. Encadré par : Mr. RIFFI
Jamal
Détection d’objets dans
une scène
Réalisée par : BENCHARFA Salma
OULED SI HAMMAN Noura
EL YASMI Zaineb
2. Plan :
• Introduction
• Définition de detection d’objets
• Détection d’objets vs Localization d’objets
• Domaines d’applications de detection d’objets
• Détection d’objets dans une image (Introduire ImageAI)
• Réalisation de detection d’objets
Aspect Deep Learning ( Introduire RCNN )
Aspect video analytics
• Conclusion
1
3. Détection d’objets :
• La détection d'objet est une technique de vision
par ordinateur qui nous permet d'identifier et de
localiser des objets dans une image ou une
vidéo. Avec ce type d'identification et de
localisation, la détection d'objet peut être
utilisée pour compter des objets dans une scène
, déterminer et suivre leurs emplacements
précis, tout en les étiquetant avec précision.
• La détection d’objets est croisée de deux
principaux domaines : la classification d’image et
la localisation d’objets.
2
4. Détection d’objets vs Localization d’objets :
• Localisation d'objet: elle permet juste de trouver l’objet et ensuite tracer
un cadre de délimination
• Detection d'objet: elle permet à la fois classification et detection de
tous les objets de l’image , d’une autre manière attribuer une classe à
chaque objet et tracer un cadre de delimitation autour de lui
3
5. Domaines d’application de detection d’objets
• Vidéo-surveillance
• Détection d'anomalies (par exemple dans des industries
comme l'agriculture, les soins de santé)
• Voitures autonomes
4
6. La détection d’objets est un domaine très actif de la recherche qui vise à classer et localiser
des régions/zones d’une image(ou vidéo ). Ce domaine est à la croisée de deux autres : la
classification d’image et la localisation d’objets. En effet, le principe de la détection d’objets
est le suivant :
Pour une image donnée, on recherche les régions de celle-ci qui pourraient contenir un
objet puis pour chacune de ces régions découvertes, on l’extrait et on la classe à l’aide d’un
modèle de classification d’image – par exemple – Les régions de l’image d’origine ayant de
bons résultats de classification sont conservés et les autres jetés. Ainsi, pour avoir une
bonne méthode de détection d’objets, il est nécessaire d’avoir un algorithme solide de
détection de régions et un bon algorithme de classification .
Detection d’objets dans une image
5
7. Depuis les résultats du challenge ImageNet 2012, le deep
learning (et notamment les réseaux de convolution) est
devenue la méthode number #1 pour résoudre ce genre
de problème. Le recherches en détection d’objets ont
donc tout naturellement intégré les modèles de
classification d’image, ce qui a permis de créer des bijoux
tels que SSD ()et R-CNN (le R signifiant ici Region). L’image
#1 illustre le résultat d’une détection d’objets (de voitures
en l’occurrence). On observe que plusieurs objets peuvent
être découverts et localisés dans une même image .
Single Shot Detector) est examiné. En utilisant SSD, nous n'avons besoin que d'une seule prise de vue pour détecter plusieurs objets dans l'image
Single Shot Detector) est examiné. En utilisant SSD
Single Shot Detector) est examiné. En utilisant SSD
Exemple de détection d’objets par un modèle de deep
6
8. Detection d’objets dans une image
ImageAI est une bibliothèque Python conçue pour permettre aux développeurs de créer des
applications et des systèmes avec des capacités autonomes d'apprentissage en profondeur et de vision par
ordinateur en utilisant quelques lignes de code simple.
ImageAI utilise plusieurs API qui fonctionnent hors ligne - il possède des API de détection d'objets, de
détection vidéo et de suivi d'objets qui peuvent être appelées sans accès à Internet. ImageAI utilise un
modèle préformé et peut facilement être personnalisé.
ImageAI
7
9. ImageAI
La ObjectDetectionclasse de la bibliothèque ImageAI contient des fonctions pour effectuer la
détection d'objets sur n'importe quelle image ou ensemble d'images, en utilisant des modèles
pré-formés. Avec ImageAI, vous pouvez détecter et reconnaître 80 types différents d'objets
courants de tous les jours.
8
Detection d’objets dans une image
13. Aspect Deep Learning :
• les approches basées sur le deep Learning utilisent des réseaux de neurones
convolutionnels (CNN) pour effectuer une détection d'objets non supervisée
de bout en bout, dans laquelle les fonctionnalités n'ont pas besoin d'être
définies et extraites séparément.
• Commençons par la plus répandue des méthodes du Deep Learning pour la
détection d’objets dans des images - les réseaux de neurones
convolutionnels- ou CNN .
12
14. 1) Image en entrée :
2) Diviser l’image en
différentes régions :
3) Considerer chaque region
comme une image
distincte et transmettre
ces regions au CNN afin
de les classer
dans différentes classes.
13
15. R-CNN :
• Au lieu de travailler sur un grand nombre de régions, l'algorithme RCNN
propose un ensemble de cases dans l'image et vérifie si l'une d'elles
contient un objet. RCNN utilise la recherche sélective pour extraire ces
zones d'une image (ces zones sont appelées régions).
• Il existe essentiellement quatre régions qui forment un objet: échelles,
couleurs, textures et variables. La recherche sélective identifie ces motifs
dans l’image et, à partir de cela, propose diverses régions.
• La recherche sélective :
14
17. Detection d’objets dans un vidéo
La détection de l'objet comprend la détection d'objets et la
reconnaissance de formes dans le cadre d'une séquence
vidéo. Un mécanisme de détection d'objet est nécessaire
dans n’importe quel procédé de suivi soit dans chaque trame
ou lorsque l'objet apparaît en premier dans la vidéo.
16
18. La vidéo
Définition: La vidéo est une succession d’images animées défilant à
une certaine cadence afin de créer une illusion de mouvement pour
l’œil humain.
Elle peut être analogique (signal continu d’intensité de luminance) ou
numérique (suite de trames ou images).
17
19. Les fondamentaux physiques et techniques
• La vision
• La couleur
• Le signal
• Affichage vidéo
• Le son
18
21. Méthode de Détection d’objets en mouvement
Pour pouvoir suivre les mouvements dans la vidéo, la première étape est de
détecter les mouvements. Cette étape joue un rôle très important dans
l'analyse vidéo.
Dans cette partie, on va étudier quatre méthodes pour détecter le mouvement
20
22. La différence temporelle des images (méthode de mouvement)
La différence temporelle détecte la région de mouvement grâce à la
différence de pixel par pixel de deux trames consécutives dans un flux
vidéo [13][ 15]. Cette méthode adapte le changement de la scène.
21
23. Avantages
+ Adapte le changement de la scène.
+ Détecte la région de mouvement.
Inconvénients
+ Ne permet pas de détecter le mouvement dans les zones
uniformes intérieures à l’objet.
+ Ne fonctionne pas dans plusieurs cas, pour différentes raisons,
telles que : la présence de bruit du capteur et les changements de
luminosité de la scène qui modifient les intensités des pixels.
22
24. Double de différence temporelle et caractère de contour
Dans cette manière, on utilise aussi la différence de pixel par pixel des trames
consécutives dans un flux vidéo comme la 1ère méthode. Mais on va utiliser trois
trames consécutives.
Cette façon nous donne le résultat meilleur que celui de la 1ère méthode, tandis
qu’elle adapte aussi le changement de la scène.
23
25. Avantages
+ Le résultat de cette méthode est meilleur par rapport la méthode
précédant.
+ Détecte la région de mouvement.
+ Utilise trois trames.
Inconvénient
+ Si l’objet ne se déplace pas pendant quelques secondes, cette manière
ne peut pas détecter le mouvement.
24
26. La soustraction de l’image de fond (méthode de différence)
La troisième méthode, on utilise une image de fond. Cette méthode
est très populaire et elle est
utilisée par plusieurs applications. Cette façon détecte la région de
mouvement en soustrayant
pixel par pixel l’image courante à l’image de fond.
25
27. Les Avantages
+ Cette méthode est très populaire.
+ Utilisée par plusieurs applications.
+ Détecte l’objet complètement.
Inconvénient
+ Cette technique se limite aux caméras en position fixe.
26
28. Méthode de détection des objets selon la Couleur
La quatrième méthode est basée sur la couleur d’objets détectés.
Lecture pixel par pixel de la valeur de celui-ci en rouge vert et bleu. Puis test sur le
pixel, suivant la couleur à reconnaitre le rouge, le vert et le bleu doivent être
supérieur ou inferieur au seuil impose. S’ils respectent ces conditions alors on
incrémente.
27
29. Avantage
+ C’est une méthode assez simple à mettre en œuvre, il suffit de reconnaitre une
couleur qui ressort par rapport au reste de l’image.
Inconvénients
− Il existe beaucoup de nuance de couleur (2563) il faut alors avoir une grande base
de données puis choisir la couleur ou définir a chaque fois la couleur souhaitée ce
qui sous entend que ces valeurs soit connues.
− Si un autre objet possède la même couleur on ne peut les différencier, excepte s’il
y a une grande différence de taille entre les deux objets et que l’objet à reconnaitre
est le plus grand.
− Si notre objet change de couleur au cours de la vidéo, la couleur à reconnaitre
devra également être modifiée.
28
30. Conclusion : • La détection d'objets est une tâche d'extraction d'objets
à partir de cadres / images spécifiques.
• La détection d'objets est l'un des concepts les plus
utilisés dans le domaine de l'intelligence artificielle.
• La détection d’objets a une grande portée à l'avenir
pour le développement du monde moderne.
29
(Single Shot Detector) est examiné. En utilisant SSD Single Shot Detector) est examiné. En utilisant SSD, nous n'avons besoin que d'une seule prise de vue pour détecter plusieurs objets dans l'image,
R-CNN qui nécessitent deux prises de vue, une pour générer des propositions de région, une pour détecter le l'objet de chaque proposition. Ainsi, le SSD est beaucoup plus rapide
setModelTypeAsTinyYOLOv3()fonction pour charger notre modèle
2-setModelPath(). Cette fonction accepte une chaîne qui contient le chemin d'accès au modèle
3-Pour détecter des objets dans l'image, nous devons appeler la detectObjectsFromImagefonction en utilisant l' detectorobjet que nous avons créé dans la section précédente
9-For --Les éléments du dictionnaire sont accessibles en parcourant chaque élément du dictionnaire.
setModelTypeAsTinyYOLOv3()fonction pour charger notre modèle
2-setModelPath(). Cette fonction accepte une chaîne qui contient le chemin d'accès au modèle
3-Pour détecter des objets dans l'image, nous devons appeler la detectObjectsFromImagefonction en utilisant l' detectorobjet que nous avons créé dans la section précédente
9-For --Les éléments du dictionnaire sont accessibles en parcourant chaque élément du dictionnaire.
setModelTypeAsTinyYOLOv3()fonction pour charger notre modèle
2-setModelPath(). Cette fonction accepte une chaîne qui contient le chemin d'accès au modèle
3-Pour détecter des objets dans l'image, nous devons appeler la detectObjectsFromImagefonction en utilisant l' detectorobjet que nous avons créé dans la section précédente
9-For --Les éléments du dictionnaire sont accessibles en parcourant chaque élément du dictionnaire.
setModelTypeAsTinyYOLOv3()fonction pour charger notre modèle
2-setModelPath(). Cette fonction accepte une chaîne qui contient le chemin d'accès au modèle
3-Pour détecter des objets dans l'image, nous devons appeler la detectObjectsFromImagefonction en utilisant l' detectorobjet que nous avons créé dans la section précédente
9-For --Les éléments du dictionnaire sont accessibles en parcourant chaque élément du dictionnaire.
******zaineb****
Nous transmettons une image au réseau, qui la transmet ensuite à travers diverses convolutions et couches de regroupement. Enfin, nous obtenons la sortie sous la forme de la classe de l'objet.
----------
----------
(dire ceci avant de passer au diapo suivant :
Le problème avec cette approche est que les objets dans l'image peuvent avoir différents formats d'image et emplacements spatiaux. Par exemple, dans certains cas, l'objet peut couvrir la plus grande partie de l'image, alors que dans d'autres, il se peut qu'il ne recouvre qu'un faible pourcentage de l'image. Les formes des objets peuvent également être différentes (cela se produit souvent dans des cas d'utilisation réels)
En raison de ces facteurs, nous aurions besoin d’un très grand nombre de régions, ce qui entraînerait un temps de calcul considérable. Donc, pour résoudre ce problème et réduire le nombre de régions, nous pouvons utiliser CNN basé sur les régions, qui sélectionne les régions en utilisant une méthode de proposition. Comprenons ce que ce réseau régional CNN peut faire pour nous.
----------
1-Il prend d'abord une image en entrée:
2-Ensuite, il génère des sous-segmentations initiales afin que nous ayons plusieurs régions à partir de cette image:
3-La technique combine ensuite les régions similaires pour former une région plus grande (basée sur la similarité de couleur, la similarité de texture, la similarité de taille et la compatibilité de forme)
4-Enfin, ces régions produisent ensuite les emplacements d’objets finaux (région d’intérêt)