Diplôme d’ingénieur en informatique et MultimédiasJeudi 03/09/2015
Une approche multi-agents pour la
détection
de contours...
Plan
 Contexte général
 Systèmes multi-agents et traitement d’images
 Approche proposée
 Conception de l’approche prop...
Contexte général
3
Contexte général
Définition : Entité autonome, physique ou virtuelle,
capable d'agir, située dans un environnement avec
un...
Contexte général
De l’individuel au collectif
I.A. vers I.A.D.
Agent
SMA
5
Du programmation orienté objet au
POA
 Source
...
Contexte général
6
 Objet Vs Agent
Objet Agent
Communication
Invocation de
méthode
Typologie de messages (richesse)
Inter...
Contexte général
7
 SMA : est un système distribué composé d’un ensemble
d'agents autonomes en interaction, capables de s...
Jason Mahdjoub (URCA, CReSTIC)
8
Contexte général
SMA et TI
9
 Approche contour
 Calcul de gradient
 Approche région
 Classification floue
 Croissance de région
 Appr...
SMA et TI
10
 Comparaison des approches proposées
Approche Avantages Inconvénients
Contours Calcul de gradient Rapidité, ...
Approche proposée
11
 Type d’agents
 Agent contrôleur du système « Master »
 Effectue les traitements de haut niveau, i...
 Capteurs d’agent Suiveur
Approche proposée
12
b0
b1
bi
b n-1
L
Ci,j
Capteur sur les
niveaux de gris
Capteur unitaire
(x,...
Approche proposée
13
 Calcule de nouvelle direction
b𝑖 = 𝑗=0
𝐿−1
𝐶 𝑖, 𝑗
gradient = 𝑏𝑖 + 1 −
𝑏𝑖
𝑔𝑟𝑎𝑑𝑖𝑒𝑛𝑡 𝑚𝑎𝑥 = max(𝑔𝑟𝑎𝑑𝑖𝑒𝑛...
0 1 2
7 3
6 5 4
0 1 2
7 3
6 5 4
Approche proposée
14
Direction 4 Direction 1
2
45
3 Capteurs
2
3
4
56
5 Capteurs 3 Capteur...
Approche proposée
15
Maitre
Détecteur
Suiveur
Image à segmenter
Solution proposée
16
16
16
Maître
Capteur
Conception
17
Diagramme d’états-transitions
Conception
18
Diagramme de classe
Evaluation de la détection
19
Image originale
(rehaussée)
Image bruitée
(rehaussée)
Image segmentée
(sobel)
Image segmenté...
Evaluation de la détection
20
 Paramètres gérant le comportement des
agents
 C1=100 X nombre_de_pixels_détectés_n’étant_...
Evaluation de la détection
21
 Influence du bruit
0
10
20
30
40
50
60
70
80
90
100
0 1 2 3 4 5 6 7 8 9 10 11
Taux
Bruit
C...
Evaluation de la détection
22
Contours détectés pour différentes valeurs de L
Evaluation de la détection
23
Contours détectés pour différentes valeurs de nombre de capteurs
Réalisation
24
JADE MadKit
Jadex SPADE
SMA
• JAVA
• Documentation
• Portabilité
Environnement logiciel
Réalisation
25
barre de
menu
image
original
e
image
segmentée
Réalisation
26
Image originale
Image segmentée
(sobel)
Image segmentée
(notre approche)
Réalisation
27
Image originale
Image segmentée
(sobel)
Image segmentée
(notre approche)
Réalisation
28
Image originale
Image segmentée
(sobel)
Image segmentée
(notre approche)
Conclusion
29
 Le but principe de ce stage est de comprendre le
concept des SMA et les travaux à base des SMA
en TI.
 Le...
Perspectives
30
 Intégrer la logique floue dans le comportement
des agents pour résoudre les cas d’imprécisions.
 Adapte...
Merci pour votre attention
Slim NAMOUCHI
Let the force B with U !
Prochain SlideShare
Chargement dans…5
×

Une approche multi-agents pour la détection de contours

935 vues

Publié le

Projet de Fin d’études: Diplôme d’ingénieur en informatique et Multimédias
Encadrant: M. Abdesslam BENZINOU, Maître de conférences HDR à l’ENIB
Encadrant: M. Imed Riadh FARAH, Maître de conférences HDR à l’ISAMM

Publié dans : Ingénierie
0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
935
Sur SlideShare
0
Issues des intégrations
0
Intégrations
43
Actions
Partages
0
Téléchargements
60
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • Je remercie le président et les membres de jury d’avoir accepter l’évaluation de mon travail.
    Je remercie également mon encadrant ainsi que mes invités pour l’honneur qu’ils m ont fait d’êtres présents aujourd’hui.
    Le présent travail intitulé Une approche multi-agents pour la détection de contours …. est effectué au sein du laboratoire Lab-STICC-ENIB en collaboration avec le laboratoire RIADI sous l’encadrement de Monsieur Imed Riadh FARAH et la direction de monsieur Abdsalam BENZINOU
  • Le plan de la présentation est le suivant :
    Nous allons commencé avec un état de l’art sur les deux concepts fondamentaux à savoir.
    Ensuite nous abordons notre approche adoptée
    Une mise en œuvre et une expérimentation du système réalisé
    Enfin nous clôturons avec une conclusion et les éventuelles perspectives
    Alors, commençons avec un état de l’art afin d’acquérir les performances nécessaires pour mener notre travail.
  • La segmentation de l’image peut se résumer à l'extraction de deux primitives complémentaires : les contours qui définissent les limites des régions et inversement, les régions (opération de segmentation) qui définissent les contours. Et sous chaque approche il existe plusieurs sous approches, approches gradient, approche par seuillage pour l’approche contours et la classification, diviser et fusionner comme sous approches de l’approche par régions.

    La plupart des méthodes classiques de traitement d’images traitent les pixels séquentiellement, en partant du premier pixel de l’image et en allant jusqu’au dernier. Une autre approche consiste à utiliser un système multi-agent afin d’effectuer une tâche complexe de manière distribuée.
  • D’une manière plus claire
    Une entité
  • Les SMA sont considérés actuellement comme l’un des paradigmes les plus importants amenés à améliorer voire révolutionner les techniques de conception, d’étude, de création et de implémentation

    ● Inspiration – Systèmes complexes (physique, éthologie, écologie, …) – Psychologie sociale, sociologie, économie, …
  • De Point de vue GL, pour assurer la communication des différents classes dans la programmation objet on a l’invocations de méthodes, mais au niveau de la POA on l’Invocation à distance (RMI) et d’où les communications sont indépendantes de langages,

    De point de vu interaction, Si personne ne demande la valeur d’un attribut ou n’active une méthode de l’objet, alors il ne se passe rien, mais pour un agent il a des comportement qui fonctionnent même en l’absence de sollicitations externes.

    Face à un environnement changeant, un agent doit constamment modifier le plan qu’il poursuit pour atteindre un but.
  • D’une façon plus simple, alors un SMA : est un système distribué composé d’un ensemble d'agents autonomes en interaction, capables de s’organiser d’une manière dynamique et adaptative.
    Le calcul est asynchrone.
    Chaque agent a des informations ou des capacités de résolution de problèmes limités.
    Capacités d’apprentissage et d’adaptation à l’environnement

  • Mais chaque paradigme a des avantages et des inconvénients,
    La robustesse : du au Redondance parmi les agents – Résistance aux défaillances individuelles
    L’adaptabilité : Pas de contrôle, de planification centralisé – Adaptation au contexte local
  • Alors, l’idée ici c’est d’essayer de profiter des avantages des SMA pour le TI, Plusieurs systèmes multi-agents ont été proposés dans le domaine du traitement d’images.

    Nous avons séparé les approches multi-agents en trois domaines, les systèmes qui se basent sur une approche de segmentation en contour, d’autres qui se base sur une segmentation en régions et des approches qui fusionnent les deux principes région-contour,

    Pour l’approche gradient, on calcul des maxima locaux du gradient, des agents sont initialisés sur l’image et essayent à suivre les contours,

    Pour la classification floue, tout d’abord le nombre de classes doit être connu par avance, puis pour chaque régions ou cluster un agents est affecté pour exécuter l’algorithme de clustering C-means

    La croissance de région , L'approche proposée pour segmenter une image consiste à faire croître chaque région autour d'un pixel de départ., les agents communiquent entre eux pour fusionner deux pixels qui vérifient un critère d'homogénéité 

    Les approches hybrides, exploite les avantages de ces deux types de segmentation afin d’aboutir à un résultat de segmentation plus précis et plus fidèle que celui obtenu à l’aide d’une seule technique.



  • Nous avons différentes approches pour la segmentation en contours ou en régions. Nous avons conclu qu'il n’y a pas de détecteur parfait,
    Pour ce stage, notre objectif final est d'appliquer la solution proposée sur des échantillons multi-capteurs d’environnement marin, comme nous avons vue dans BENZINOU, le type de contour étudié est un peu spécifique, d'où une approche régions ne sera pas adaptable pour notre cas malgré ces nombreux avantages, une approche hybride est inutile aussi, il nous reste l'approche contours qui semble le mieux adoptable pour ces types de contours.
  • On peut définir le contrôleur du système comme étant un super agent, qui se charge de lancer l'exécution des autres agents. Il initialise les agents
    de détections en lui donnant les positions et directions initiales, et reçoit les résultats de segmentation des différents agents de suivis pour afficher le résultat final à l'utilisateur.

    Cet agent possède un comportement d'exploration consiste à rechercher un contour non visité dans l'image. Pour cela, les agents se déplacent selon les directions indiquées par l’agent de contrôleur de système, -----
    L'agent vérifie s'il perçoit un contour non exploré par d'autres agents. Si c'est le cas, l'agent détermine les différentes directions possibles pour suivre ce contour . Il crée par la suite autant d'agents de suivi de contour que de directions détectées. Ces agents créés suivront le contour détecté selon une certaine direction . Après avoir détecté un contour, l'agent exploration continue la procédure de détection.

    Les agents de suivi de contour sont créés par les agents de détection qui ont trouvé un contour non visité. L'agent de suivi de contour est lié à un autre agent de suivi qui explore le même contour dans la direction opposée . Les agents se déplacent dans leur environnement, qui est ici l’image à traiter. Ils peuvent détecter localement les niveaux de gris de l’image leur permettant de s’orienter pour suivre la direction d’un contour. Il existe un modèle unique d’agents pour la recherche de contours de type saut d’amplitude. Ils sont munis de capteurs en barre, sur les niveaux de gris de l’image (en nombre supérieur ou égal à trois), et d’un capteur unitaire leur permettant de lire sur une image commune à tous les agents afin de savoir si un contour a déjà été détecté sur le pixel où ils se situent.


  • Le cœur de notre approche c’est ce capteur, sont munis de capteurs en barre sur les niveaux de gris de l’image et d’un capteur unitaire leur permettant de lire sur une image commune à tous les agents afin de savoir si un contour a déjà été détecté sur le pixel où ils se situent.

    L’agent avance à une vitesse de 1 pixel par itération.
  • l’agent avance tout droit tant que la différence de niveau de gris maximum entre
    deux barres bi et bi+1 est inférieure au seuil S. Ce gradient est normalisé en calculant la différence
    entre la moyenne des intensités bi de deux capteurs contigus. Le gradient maximum est calculé à partir des intensités lues par les
    capteurs comme suit :
  • par exemple si la direction donnée est 4 avec un nombre de capteurs égal à 3 les capteurs de l’agent seront comme il est indiqué dans la figure , et si le nombre des capteurs est égal à 5, les capteurs seront comme il est indiqué dans la même figure
  • Nous traitons ici un exemple
  • Comme décrit dans la figure suivante, chaque
    -----Master
    Créateur : lors de sa création, l’agent de supervision reçoit la matrice d’image à segmenter, il initialise un nombre fini des agents de détections avec des positions et une direction aléatoire sur l’image.
    État Superviseur: après initialiser tous les agents sur l’image, l’agent maître passe à un état d’écoute des messages venant des agents de suivi afin d’afficher le résultat de segmentation à l’utilisateur.
    -------Detector
    État Init : l’agent est initialisé, on lui affecte une position et une direction aléatoires dans l’image.
    État Renifleur : cet état consiste à rechercher un contour non visité dans l'image. Pour cela, les agents se déplacent selon les directions indiquées muni d’un capteur pour détecter le changement d’intensité sur l’image. L'agent vérifie s'il perçoit un contour potentiel non exploré par d'autres agents. Si c'est le cas il passe à l’état orienteur.
    État orienteur : l'agent détermine les différentes directions possibles pour suivre ce contour ensuite il passe à l’état créateur.
    État créateur: après la détection des différentes directions possible pour le contour détecté, l’agent crée autant d'agents de suivi de contour que de directions détectées. Ces agents créés suivront le contour détecté selon une certaine direction . Après avoir créé les agents de suivi, l’agent de détection passe à nouveau à l’état renifleur pour explorer à nouveau des contours.
    État suicide: finalement, si l'exploration de l'agent n'aboutit à aucun contour au bout d'un certain temps ou bien il arrive à l’extrémité de l’image où il n’y pas d’autres pixels à explorer, l'agent disparaît.
    -------Follower
    État Init : l’agent est initialisé, on lui affecte une position et une direction aléatoires dans l’image, une valeur pour les paramètres (L, n), ainsi que le seuil S et la longueur minimale d’un contour pour qu’il soit validé. Il passe alors à l’état de suiveur.
    État suiveur : comme dans la figure , l’agent avance tout droit tant que la différence de niveau de gris maximum entre deux barres bi et bi+1est inférieure au seuil S. Ce gradient est normalisé en calculant la différence entre la moyenne des intensités bi de deux capteurs contigus. Si cette différence dépasse le seuil S, l’agent passe à l’état filtre. Le gradient maximum est calculé à partir des intensités lues par les capteurs comme suit :
  • Un ensemble de conteneurs constituent une Plateforme
    Chaque plateforme doit contenir un conteneur spécial appelé MainContainer et tous les autres conteneurs s'enregistrent auprès de celui-là dès leur lancement.
    Chaque instance du JADE est appelée conteneur Container, et peut contenir plusieurs agents.
    Les classes Master, Follower et Detector sont des agents qui héritent des propriétés de la classe Agent.
  • Les performances des agents en tant que détecteurs de contour, Pour cela nous utiliserons des images de synthèse comprenant des contours de type saut d’amplitude noyés dans un bruit gaussien pour comparer des extracteurs de contours. Ainsi l’image de la Figure 6 (a), de taille 128*128 pixels, comprend un carré de niveau de gris 26 sur un fond de niveau de gris 20, et un bruit gaussien d’écart-type 2 y a été ajouté
  • C1: Erreur de sur-segmentation :Les algorithmes de segmentation peuvent ne pas affecter des pixels à un contour ou à une région correctement.

    C2 Erreur de sous-segmentation : Lorsque la différence de niveau de gris (ou de couleur) entre deux régions voisines n’est pas très important, leur gradient est très petit, et le contour peut ne pas être détecté. Par conséquent, certains pixels appartenant à un contour ne seront pas pris, on parle alors de sous segmentation
  • 6: la hauteur du contour
    4: l’écart-type du bruit
    On peut donc dire que les agents montrent une robustesse satisfaisante face au bruit.
  • JADE Permet le développement de systèmes multi-agents et d'applications conformes aux normes FIPA (Foundation for Intelligent Physical Agents).

    environnement multi-threads composé d’un thread d'exécution pour chaque agent
    gère localement un ensemble d'agents
    règle le cycle de vie des agents (création, attente et destruction)
    assure le traitement des communications:
    répartition des messages ACL reçus
    routage des messages
    dépôt des messages dans les boîtes privées de chaque agent
    gestion des messages vers l'extérieur
  • Nous avons testé le système sur plusieurs images. La détection de contours à travers notre SMA s'avère efficace. Néanmoins, le système ne parvient pas à détecter tous les contours, le système montre une robustesse face au contour en anneaux.
  • Le but principale de ce stage n’est pas réellement le traitement d’image c’est de comprendre le concept des SMA, et en se basant sur ces nouveaux connaissances on peut proposer notre solution optimal pour le traitement d’image, une solution auto-adaptable et vise à faire coopérer les principaux approches

    En connaissant les points forts d’un tel concept on peut mieux profiter de ces avantages pour la conception de nos futures solutions

    Ce stage nous a représenté une grande opportunité pour toucher de près le domaine de recherche scientifique, nous avons eu une idée comment procéder un travaux de recherche, en passons de l’état de l’art pour avoir une idée claire sur le domaine et ce que les autres ont fait, ensuite en se basant sur cette état de l’art on essaye à proposer ou améliorer une solution existe déjà et enfin il faut valider la qualité de l’approche avec des tests et plus précisément de juger l’efficacité et l’efficience de la solution proposée 
     
  • la logique floue qui permet d’admettre des valeurs autres que le "vrai" et le "faux" absolu. En traduisant une idée d’appartenance partielle d’un élément à plusieurs classes, la logique floue permet de modéliser les connaissances incertaines et imprécises à travers les ensembles flous

    Enfin, les traitements effectués sur les images sont développé en Java ce qui est un peu difficile et nécessite le développement de toutes les fonctionnalités à zéro, nous pensons à profiter des fonctionnalités offerts par Matlab, et combiner Matlab avec la plate-forme multi-agents Jade.
  • Une approche multi-agents pour la détection de contours

    1. 1. Diplôme d’ingénieur en informatique et MultimédiasJeudi 03/09/2015 Une approche multi-agents pour la détection de contours Slim NAMOUCHI Encadrant M. Abdesslam BENZINOU, Maître de conférences HDR à l’ENIB Encadrant M. Imed Riadh FARAH, Maître de conférences HDR à l’ISAMM Projet de Fin d’études 1Institut Supérieur des Arts Multimédias de la Manouba
    2. 2. Plan  Contexte général  Systèmes multi-agents et traitement d’images  Approche proposée  Conception de l’approche proposée  Réalisation et évaluation  Conclusion et perspectives 2
    3. 3. Contexte général 3
    4. 4. Contexte général Définition : Entité autonome, physique ou virtuelle, capable d'agir, située dans un environnement avec une certaine persistance temporelle, pour satisfaire ses buts ou objectifs en fonction de ses ressources et compétences. Agent 4
    5. 5. Contexte général De l’individuel au collectif I.A. vers I.A.D. Agent SMA 5 Du programmation orienté objet au POA  Source • Intelligence Artificielle. • Informatique répartie, parallélisme. • POO
    6. 6. Contexte général 6  Objet Vs Agent Objet Agent Communication Invocation de méthode Typologie de messages (richesse) Interactions Rigidité Evolution dans le temps Composante sociale - Influence sur le comportement Autonomie - Faculté de décider dynamiquement Approche Caractéristique s
    7. 7. Contexte général 7  SMA : est un système distribué composé d’un ensemble d'agents autonomes en interaction, capables de s’organiser d’une manière dynamique et adaptative.  Le calcul est asynchrone.  Chaque agent a des informations ou des capacités de résolution de problèmes limités.  Capacités d’apprentissage et d’adaptation à l’environnement.
    8. 8. Jason Mahdjoub (URCA, CReSTIC) 8 Contexte général
    9. 9. SMA et TI 9  Approche contour  Calcul de gradient  Approche région  Classification floue  Croissance de région  Approche hydride  Coopération mutuelle  Coopération des résultats  Coopération séquentielle
    10. 10. SMA et TI 10  Comparaison des approches proposées Approche Avantages Inconvénients Contours Calcul de gradient Rapidité, précision Sensibilité au bruit Régions Classification floue Fermeture de frontière Densité d’information Difficulté de définir les critère pour fusionner ou diviser les pixels Segmentation par fusion (Merge) Contours- Régions Coopération mutuelle Combine les avantages de deux approches contours et régions Complexité de mise en œuvre Coopération des résultats Coopération séquentielle
    11. 11. Approche proposée 11  Type d’agents  Agent contrôleur du système « Master »  Effectue les traitements de haut niveau, il supervise tout le système  Crée des agents détecteurs dans des positions et directions aléatoires sur l’images.  Agent détecteur « Detector »  Cherche des contours non explorés par d'autres agents  Détermine les différentes directions possibles pour suivre ce contour  Crée des agents pour suivre le contour détecté.  Agent suiveur « Follower »  Suie le contour détecté par l’agent détecteur.
    12. 12.  Capteurs d’agent Suiveur Approche proposée 12 b0 b1 bi b n-1 L Ci,j Capteur sur les niveaux de gris Capteur unitaire (x,y)  i ∈ [0, n-1] est l’indice d’une barre,  n est le nombre de capteurs  L est la longueur des barres en pixe  j ∈ [0, L-1] est l’indice d’un capteur unitaire dans une barre  Ci,j est la valeur lue par un capteur unitaire j d’une barre i.
    13. 13. Approche proposée 13  Calcule de nouvelle direction b𝑖 = 𝑗=0 𝐿−1 𝐶 𝑖, 𝑗 gradient = 𝑏𝑖 + 1 − 𝑏𝑖 𝑔𝑟𝑎𝑑𝑖𝑒𝑛𝑡 𝑚𝑎𝑥 = max(𝑔𝑟𝑎𝑑𝑖𝑒𝑛𝑡𝑖) b1 b2 b3 b4 b5 b1 b2 b3 b4 b5
    14. 14. 0 1 2 7 3 6 5 4 0 1 2 7 3 6 5 4 Approche proposée 14 Direction 4 Direction 1 2 45 3 Capteurs 2 3 4 56 5 Capteurs 3 Capteurs 2 1 0 5 Capteurs 2 1 0 37
    15. 15. Approche proposée 15 Maitre Détecteur Suiveur Image à segmenter
    16. 16. Solution proposée 16 16 16 Maître Capteur
    17. 17. Conception 17 Diagramme d’états-transitions
    18. 18. Conception 18 Diagramme de classe
    19. 19. Evaluation de la détection 19 Image originale (rehaussée) Image bruitée (rehaussée) Image segmentée (sobel) Image segmentée (notre approche)
    20. 20. Evaluation de la détection 20  Paramètres gérant le comportement des agents  C1=100 X nombre_de_pixels_détectés_n’étant_pas_des_points_contours nombre_de_pixels_non_contours  C2=100 X nombre_de_pixels_contours_non_détectés nombre_de_pixels_contours
    21. 21. Evaluation de la détection 21  Influence du bruit 0 10 20 30 40 50 60 70 80 90 100 0 1 2 3 4 5 6 7 8 9 10 11 Taux Bruit C2 C1 Si on définit le rapport signal à bruit SNR=10*log10(6)/4, on obtient pour σ= 4 un rapport signal à bruit de 1.76 dB, ce qui est assez faible.
    22. 22. Evaluation de la détection 22 Contours détectés pour différentes valeurs de L
    23. 23. Evaluation de la détection 23 Contours détectés pour différentes valeurs de nombre de capteurs
    24. 24. Réalisation 24 JADE MadKit Jadex SPADE SMA • JAVA • Documentation • Portabilité Environnement logiciel
    25. 25. Réalisation 25 barre de menu image original e image segmentée
    26. 26. Réalisation 26 Image originale Image segmentée (sobel) Image segmentée (notre approche)
    27. 27. Réalisation 27 Image originale Image segmentée (sobel) Image segmentée (notre approche)
    28. 28. Réalisation 28 Image originale Image segmentée (sobel) Image segmentée (notre approche)
    29. 29. Conclusion 29  Le but principe de ce stage est de comprendre le concept des SMA et les travaux à base des SMA en TI.  Le concept des SMA est plus vaste que nous avons présenté.  Ce stage nous a représenté une grande opportunité pour toucher de près le domaine de recherche scientifique.
    30. 30. Perspectives 30  Intégrer la logique floue dans le comportement des agents pour résoudre les cas d’imprécisions.  Adapter le comportement des agents sur de images réelles.  Coopérer Matlab et JADE.  Proposer une solution à base des SMA pour coopérer et tester les différents approches de traitement d’images.
    31. 31. Merci pour votre attention Slim NAMOUCHI Let the force B with U !

    ×