• Aucun résultat trouvé

Protocole expérimental

Dans le document eCandy Evolutionary Camera Network Deploy (Page 96-135)

1 camera 2 cameras

5.2 Protocole expérimental

Afin de permettre la reproduction des résultats réalisés dans le cadre de ce projet, nous présentons l'ensemble des éléments et des facteurs qui, en plus des paramètres propres à chaque problème, influencent les résultats de l'optimisation.

Du point de vue du logiciel, nous utilisons la version 4.0.0 - alpha 2 de la librairie d'algorithmes évolutionnaires OpenBEAGLE. La méthode de distribution des calculs utilisant l'interface de programmation MPI, nous employons la version 1.3.4 de la li- brairie OpenMPI comme implementation. Nous utilisons aussi la version 1.4.0 de la librairie PACC pour effectuer les calculs matriciels, la production de figures SVG et le traitement du XML. L'ensemble des librairies et des exécutables utilisés dans le cadre des expérimentations sont compilés avec la version 4.4.2 du compilateur GCC.

Du point de vue du matériel, la distribution des calculs s'effectue sur 64 cœurs du supercalculateur du CLUMEQ à l'Université Laval. Les caractéristiques de la machine sont les suivantes1 :

Colosse est une grappe de calcul comportant 960 nœuds de calcul et 40 nœuds d'infrastructure. Ces nœuds sont tous constitués d'une paire de pro- cesseurs Intel Nehalem-EP possédant chacun quatre cœurs de traitement et 24 gigaoctets de mémoire RAM. Au total, Colosse comporte donc 8000 cœurs et 24 téraoctets de mémoire. Tous les nœuds sont reliés par une réseautique haute performance de type Infiniband QDR dont la vitesse no- minale est de 40 gigabits/sec. Les nœuds d'infrastructure sont également reliés entre eux et avec le monde extérieur par une réseautique de type 10- gigabit Ethernet. Parmi ces nœuds d'infrastructure, la moitié sont consacrés au système de fichier parallèle Lustre dont la capacité utilisable atteindra 1 pétaoctet lorsqu'il sera totalement déployé. Sa capacité initiale est de 500 téraoctets.

Du point de vue de la distribution des calculs, on utilise le modèle à mémoire distribuée présenté au chapitre 3. Nous utilisons un superviseur et un évoluateur, les nœuds restants servent à l'évaluation des solutions. On dispose donc de 62 évaluateurs.

Du point de vue de l'algorithme d'optimisation, nous utilisons la répartition des probabilités d'application présentée au chapitre 3. Nous avons déterminé empiriquement des paramètres fonctionnels pour chacun des opérateurs utilisés. La mutation gaussienne dispose d'une moyenne p = 0 et d'une variance o = 0.05. La probabilité de mutation de chaque paramètre est de 15%. Les mutations d'ajout et de retrait peuvent ajouter

Problème 1 Problème 2 Problème 3

Générations 75 150 250

Population 3 dèmes de 500 3 dèmes 500 3 dèmes de 1000 Taille init. [4. 5] [6,8] [6,8]

Taille [3,8] [4,10] [5,9]

TABLEAU 5.11 - Paramètres de l'algorithme évolutionnaire propres à chaque problème.

ou retirer une seule caméra par mutation. Finalement, aux 25 générations, 5 individus sont sélectionnés aléatoirement pour chaque dème puis envoyés au dème voisin.

Les paramètres d'évolution spécifiques à chaque problème sont résumés au tableau 5.11. La ligne Générations désigne le nombre de générations effectuées pour chaque problème. La ligne Population indique le nombre de dèmes, et le nombre d'individus par dèmes utilisés pour chaque problème. La ligne Taille init. montre l'intervalle du nombre de caméras que peut contenir une solution à l'initialisation, alors que la ligne Taille spécifie plutôt le nombre de caméras que peut contenir une solution durant l'évolution.

5.3 Résultats

Nous exposons ici les résultats obtenus en appliquant le protocole expérimental présenté à la section précédente aux trois problèmes. Chaque expérience a été reproduite 20 fois. Nous avons par la suite calculé la moyenne sur 20 expériences de chaque mesure statistiques à chaque génération. Donc lorsque l'on présente les graphiques d'évolution du coût et de la performance, il s'agit de la moyenne à chaque génération de chaque mesure statistique calculée sur 20 expériences. Notre analyse statistique porte sur cette évolution moyenne. On s'intéresse aussi au front de Pareto de l'évolution ayant produit les meilleures solutions. La qualité des solutions produites est analysée à partir des graphiques 2D et 3D des caméras positionnées.

5.3.1 Problème 1 : le cube

Pour la première partie du problème du cube, la contrainte au niveau de la résolution minimale en z permettait à une caméra avec un champ de vue de 90 degrés de couvrir une seule zone en entier. La solution optimale en terme de performance consistait donc à positionner une caméra à chaque coin du cube. Puisque l'on permettait l'usage d'au moins trois caméras, on devait aussi retrouver des solutions couvrant au plus trois zones.

0.25 0.20 0.15­ 0.10 o 0.05 u 0.00 -0.05 ­0.10 1 T ! T

Solution la plus performante"Z " ^ ■ • > :. ; . i ._<.-'.. . .. .:. : m * m * m * ■ m * m * : r : : : ■ s s. m* m*

Solution la moins dispendieuse

i i i 1 i

0.65 0.70 0.75 0.80 0.85 0.90 0.95 1.00 1.05 Performance

FIGURE 5.8 ­ Exemple d'un front de Pareto obtenu pour le problème 1.1.

La figure 5.8 représente un des 20 fronts de Pareto obtenus suite aux expérimen­ tations. À partir de ce dernier, nous pouvons conclure que l'algorithme est effectivement parvenu à déterminer une solution couvrant la totalité des zones avec seulement quatre caméras, ce qui correspond à un coût total normalisé de 20%. Il est aussi parvenu à identifier une solution couvrant 75% de l'environnement avec le coût minimum, soit trois caméras. Les 20 expériences réalisées pour cette partie produisirent toutes le même front de Pareto.

Les figures 5.9 et 5.10 présentent l'évolution des moyennes sur 20 optimisations des statistiques de performance et de coût de cette partie du problème. Dans chaque graphique, la courbe bleue représente la moyenne des moyennes, et la courbe noire la moyenne des écarts­types. La courbe verte représente dans le cas de la performance, la moyenne du maximum, puisqu'il s'agit d'une maximisation, et la moyenne du mini­ mum dans le cas du coût, étant donné qu'il s'agit d'une minimisation. À l'inverse, la courbe rouge représente la moyenne du minimum pour la performance, et la moyenne du maximum pour le coût.

ment à déterminer une solution couvrant toutes les zones (courbe verte), et, à la figure 5.10, une solution utilisant toutes les caméras disponibles (courbe rouge). Après 45 générations, la diversité du coût au sein des populations atteint un maximum (courbe noire), l'algorithme converge ensuite en moyenne vers un coût minimum couvrant 75% de l'environnement (courbe bleue), tout en maintenant des solutions couvrant la totalité des zones.

La figure 5.11 présente l'un des meilleurs résultats obtenus couvrant 100% des points. Cette solution a été trouvée à la génération 65 de la seconde expérience. Chaque caméra est installée exactement au coin de l'obstacle et est orientée vers la zone la plus proche, soit le résultat optimal auquel on s'attendait. Le tableau 5.12 résume les paramètres des caméras de cette solution. On constate que l'algorithme est parvenu à déterminer des valeurs proches des angles d'élévations et d'azimut qu'un humain aurait normalement choisis, soit un angle de 45 degrés d'élévation pour toutes les caméras, et un angle de { — 135, —45,45,135} pour l'azimut en fonction de la zone à observer. Les caméras ne sont pas positionnées exactement au coin de l'obstacle puisque l'algorithme effectue un léger déplacement latéral vers l'extérieur de l'obstacle afin de garantir que la caméra se trouve à l'extérieur de celui-ci.

L'algorithme est aussi parvenu à déterminer plusieurs exemplaires des quatre com- binaisons possibles de trois caméras parmi les quatre du tableau 5.12. Un exemple de chacune des combinaisons est présenté à la figure 5.12. Ces quatre solutions ont été découvertes à la génération 71 de la même expérience.

Nous avons démontré que notre algorithme est en mesure de résoudre un problème simple où une seule caméra peut couvrir une zone en entier. La seconde partie du problème consistait à déterminer si l'algorithme est aussi efficace lorsque la contrainte de résolution en z limite davantage le champ de vue des caméras.

La figure 5.13 représente un des 20 fronts de Pareto obtenus lors de la résolution de la seconde partie du problème du cube. On remarque en premier lieu que l'algorithme est parvenu à déterminer aux moins 6 solutions correspondant à l'usage de 3 à 8 caméras. La solution la moins dispendieuse à trois caméras couvre comme prévu moins de 75% des points, une seule caméra ne pouvant couvrir une zone en entier. La solution la plus dispendieuse, mais aussi la plus performante, à huit caméras, parvient à couvrir tout l'environnement. Les solutions intermédiaires offrent quant à elle l'ensemble des compromis possibles couvrant au maximum l'environnement avec de 5 à 7 caméras. L'algorithme est donc parvenu à déterminer en 75 générations au moins 6 solutions optimales pour chaque nombre de caméras possible.

1.0 0.8 g 0.6 c E C € «V Q-0.4 0.2 0.0 ^ ^ ^ ~ ~ i 1 - — Moyenne — Minimum — Maximum ^ ^ ^ ~ ~ i 1 - .../..., .../..., ' 0 10 20 30 40 50 Génération 60 70 80

FIGURE 5.9 - Evolution des moyennes des statistiques de la performance des solutions

du problème 1.1. 1.0 0.8 0.6 o o u 0.4 0.2 0.0, l > \ - r — Moyenne — Maximum — Minimum

1

. 0 10 20 30 40 50 Génération 60 70 80

FIGURE 5.10 - Évolution des moyennes des statistiques du coût des solutions du

\ ^lil^Ïilll^^

^ ^ ^ ^ ~ ~ m \ r

1

F I G U R E 5.11 ­ Solution couvrant toutes les zones du problème 1.1.

Caméra Position (mm) Élévation (deg.) Azimut (deg.) ■ Générique (14990,15000,3000) 45.5864 ­136.703 ■ Générique (14990,30000,3000) 45.5347 ­43.9272 ■ Générique (30010,30000,3000) 44.8086 44.9327 ■ Générique (30000,14990,3000) 45.0864 134.964 TABLEAU 5.12 problème 1.1.

(a) (b)

i;!;;;;;;;;;:

r

; • • ■ • • ■ • * • • • • • .

(c) (d)

FIGURE 5.12 ­ Quatre exemples de combinaisons de trois caméras trouvées par l'algo­

1.0 0.8 0.6 o o u 0.4 0.2 0.0

Solution la plus performante

Solution la moins dispendieuse

i i i O i i i i © 0.65 0.70 0.75 0.80 0.85 0.90 Performance 0.95 1.00 1.05

FIGURE 5.13 - Exemple d'un front de Pareto obtenu pour le problème 1.2.

On remarque à la figure 5.14 que l'atteinte d'une couverture complète est plus lente que pour la première partie du problème. Ainsi comparativement à la première partie du problème où l'algorithme atteignait une couverture complète après 30 générations, il en nécessite plutôt 50 générations en moyenne pour parvenir à une même couverture. Cette différence s'explique par le fait que le problème est plus complexe, et que pour assurer une couverture de 100%, on doit utiliser huit caméras. Or, on observe à la figure 5.15 qu'en moyenne la taille maximale des solutions n'atteint pas le maximum permis avant la 30e génération. L'évolution est donc moins rapide puisque dans un premier temps certaines solutions doivent voir leurs tailles augmenter jusqu'à huit caméras avant de pouvoir couvrir la totalité de l'environnement, alors que dans la première partie du problème, des réseaux à quatre caméras existent dès l'initialisation.

La figure 5.16 illustre l'une des solutions trouvées couvrant toutes les zones avec huit caméras. On observe généralement qu'une caméra couvre la majorité de la zone à laquelle elle fait face, et qu'une seconde permet de couvrir les points restants. Puisque le fait qu'un point soit vu par deux caméras à la fois n'affecte pas la performance, les positions et les orientations des caméras assurant la couverture des points restants sont moins symétriques que les caméras assurant la couverture principale. Il n'en demeure

1.0 0.8 g 0.6 c ID E OV a-0.4 0.2 0.0 = q i 1 — Moyenne — Minimum - Maximum = q i / ^ J ; i 0 10 20 30 40 50 60 Génération 70 80

F I G U R E 5.14 ­ Évolution des moyennes des statistiques de la performance des solutions

du problème 1.2. 1.0 0.8 0.6 o o (J 0.4 0.2 0.0 — Moyenne — Maximum — Minimum A A

1

■ ■ 1 0 10 20 30 40 50 60 70 80 Génération

FIGURE 5.15 ­ Évolution des moyennes des statistiques du coût des solutions du

FIGURE 5.16 Solution couvrant toutes les zones du problème 1.2.

pas moins que l'algorithme est parvenu à déterminer une solution optimale couvrant toutes les zones, et même davantage. Cette solution a été produite à la génération 74. Le tableau 5.13 résume les paramètres des caméras de cette solution.

L'algorithme est aussi parvenu à identifier la plupart des combinaisons couvrant les zones avec les différents nombres de caméras permis. La figure 5.17 présente quelques- unes de ces combinaisons ainsi que les générations auxquelles elles ont été produites. Toutes les solutions à 3 et 4 caméras n'utilisent pas de caméra offrant une couverture secondaire sur une zone. Ceci correspond au résultat attendu puisque la performance obtenue par la couverture secondaire d'une zone déjà couverte est inférieure à la couver- ture primaire d'une zone. Les solutions à 5, 6 et 7 caméras couvrent une à trois zones de manière secondaire. Les zones ayant toutes la même importance stratégique, il n'existe pas de pression pour qu'une zone soit couverte plus qu'une autre.

Les résultats obtenus avec ce premier problème nous permettent de conclure que les algorithmes de positionnement et d'optimisation développés permettent la résolution de problèmes simples de placement de caméras. L'algorithme évolutionnaire est capable de

1:::=:::=:::=.

: : : : : : : : : : : : :

/ ^ ' \ \ / / ^ ' \ \ /

: : :\l : : : : : : X>

(a) 7 caméras ; génération 72

(c) 5 caméras ; génération 58 (b) 6 caméras ; génération 70 . : : : : : : : : : : *\: t.'.'.'.'.'.'.'.'.'.'.. '..'.'.'.'.'.'.'.'.y.'.'. : | : : : : : : : : : : : : : 1 : : : : : : : : : : : : ■ i . . . . : . . . 1 (d) 4 camérais ; génération 59

(e) 3 caméras ; génération 69

FIGURE 5.17 - Exemples de combinaisons de caméras trouvées par l'algorithme durant

Caméra Position (mm) Elévation (deg.) Azimut (deg.) ■ Générique (30010,15000,3000) 45.7412 134.354 Générique (30000,14990,3000) 44.0041 111.828 ■ Générique (30010,29151.765,3000) 45.9391 41.7974 ■ Générique (29332.98,30010,3000) 49.1148 12.6119 ■ Générique (15000,30010,3000) 44.6668 ­28.2665 ■ Générique (15000,30010,3000) 50.5259 ­86.6675 ■ Générique (15000,14990,3000) 45.8998 ­108.952 ■ Générique (15000,14990,3000) 43.9948 ­135.245

TABLEAU 5.13 ­ Paramètres des caméras d'une solution couvrant toutes les zones du

problème 1.2.

déterminer pour un problème dont on connaît les solutions optimales, le front de Pareto optimal comprenant des solutions proches de celles qu'aurait pu concevoir un humain. Pour chaque solution du front de Pareto, l'algorithme a été en mesure de déterminer plusieurs variantes offrant le même compromis coût vs performance. De plus, nous sommes parvenus à trouver les solutions optimales en moins de 75 générations pour les deux parties du problème sans discrétisation des paramètres des caméras. Toutes les solutions ont été déterminées sur un domaine continu.

5.3.2 Problème 2 : le stationnement

Le second problème étudié avait pour but de démontrer que nos algorithmes perfor­ maient bien dans un environnement réaliste pour lequel une solution existe déjà. L'une des principales difficultés de ce problème se trouve au niveau du positionnement des caméras. L'installation dans les zones en bordure de l'environnement est plus dispen­ dieuse, l'algorithme doit donc y positionner un nombre minimum de caméras. De plus, contrairement au premier problème, on utilise plus d'un modèle de caméra. Le coût maximum n'équivaut donc pas ici directement au nombre maximum de caméras, mais au nombre maximum de caméras du modèle le plus dispendieux.

La figure 5.18 illustre le front de Pareto de l'évolution ayant produit la meilleure solution couvrant tous les points de l'environnement. On remarque premièrement que l'algorithme est parvenu à trouver un vaste ensemble de solutions dont les coûts sont tous inférieurs à coût total normalisé de 25%.

La solution la plus performante est présentée à la figure 5.19. Cette solution trouvée après 143 générations parvient à couvrir 100% des points de l'environnement avec seule­

0.25 0.20 0.15 0.10 o «3 0.05 0.00 ­0.05 ­0.10

<■*£

Solution la

Solution la plus performante

S

0 ­ -Q

-o-

moins dispendieuse J3 0.3 0.4 0.5 0.6 0.7 Performance 0.8 0.9 1.0

F I G U R E 5.18 ­ Exemple d'un front de Pareto obtenu pour le problème 2.

ment quatre caméras pour un coût de 13,030$. Une seule caméra est positionnée dans une zone gazonnée. Pour parvenir aux mêmes performances que la solution d'Erdem et Sclaroff présentées à la figure 5.4, notre solution emploie 2 fois moins de caméras, et ce, malgré le fait que nos caméras aient un champ de vue d'au plus 130°. L'usage de ce type de caméras nous permet une économie de près de 3100%. Si l'on néglige le prix exorbitant des caméras employées dans le cadre de leur solution, il n'en demeure pas moins que notre solution positionne une seule caméra dans la zone la plus dispendieuse d'installation, comparativement à cinq pour leur solution. Notre solution parvient à couvrir le stationnement en n'utilisant pas seulement le modèle le plus dispendieux de caméra, mais elle utilise aussi le modèle le moins dispendieux pour couvrir un petit espace, limitant ainsi un recouvrement excessif que l'on retrouve dans leur solution. Les paramètres des caméras de notre solution couvrant la totalité du stationnement sont résumés au tableau 5.14.

La figure 5.20 présente ce qui est vu par chaque caméra de notre solution la plus performante. On constate que la solution permet non seulement la couverture de tous les points au sol de l'environnement, tel qu'illustré à la figure 5.19, mais aussi la surveillance concrète du stationnement. La solution produite est donc directement applicable à la

FIGURE 5.19

problème 2.

Solution couvrant tous les points pour un coût minimum pour le

Caméra Position (mm) Elévation (deg.) Azimut (deg.) ■ PBL­957 (1464.175548,21550,8000) 35 132.615

■ PBL­957 (60119,6555,8000) 34.9773 ­62.2062 ■ PBL­957 (46070,35334.10719,8000) 34.5521 107.582 PBL­952 (46070,39610.25454,8000) 34.3314 42.4886

TABLEAU 5.14 ­ Paramètres des caméras d'une solution couvrant tous les points du

(a) ■ PBL­957 (b) ■ PBL­957

(c) ■ PBL­957 (d) PBL­952

F I G U R E 5.20 ­ Vues de chaque caméra de la solution couvrant tous les point de l'envi­

ronnement au plus faible coût.

surveillance d'un stationnement de cette dimension. Cette démonstration est en soi une première, l'ensemble de la littérature s'intéressant à ces problèmes pose généralement des hypothèses simplistes empêchant l'application concrète des résultats. Cette figure démontre donc que les hypothèses et les simplifications faites dans le cadre de ce projet sont adéquates et permettent une application directe des résultats dans un contexte réel de surveillance.

On observe à la figure 5.21 qu'en moyenne après 20 générations, la performance maximale est atteinte, et ce pour un coût total normalisé de moins de 90%, figure 5.22. Après 30 générations, l'algorithme maintient une convergence vers une performance maximale, et le coût total normalisé maximum moyen tend progressivement vers 30% soit un peu plus que la meilleure solution trouvée dont le coût total normalisé était d'environ 22%. L'algorithme est donc parvenu à converger vers des solutions perfor­ mantes à faible coût, pour un problème où le positionnement et le choix des modèles

1.0 0.8 g 0.6 ra

i

o-OAr 0.0 / • - - 7 - T / — Moyenne — Minimum — Maximum 20 40 60 80 100 Génération 120 140 160

F I G U R E 5.21 - Évolution des moyennes des statistiques de la performance des solutions

du problème 2.

de caméras sont plus complexes que pour le problème 1.

On observe sur le front de Pareto de la figure 5.18 que l'algorithme est parvenu à produire la solution la moins dispendieuse. On observe à la figure 5.23 que l'algorithme a maximisé le nombre de points uniques vu par chaque caméra, on ne retrouve donc aucun recouvrement. La performance est donc proche du maximum possible pour cette configuration. Cette solution est potentiellement intéressante dans un contexte de sur- veillance puisque quiconque, entrant ou sortant du stationnement, devra passer devant l'une des caméras. De plus, son faible coût de 6280$ la rend très accessible dans un objectif de surveillance sommaire, soit une couverture de 37% de la région d'intérêt. Cette solution a été trouvée à la 131e génération.

Entre la solution la moins dispendieuse et la solution la plus performante, l'algo- rithme est parvenu à déterminer un large ensemble de solutions offrant un compromis entre le coût et la performance. La première solution illustrée à la figure 5.24(a) emploie les trois modèles de caméras disponibles pour couvrir des zones de tailles appropriées au champ de vue tout en maintenant le coût de la solution relativement bas. Le fait que toutes les caméras soient installées le long des murs de l'édifice permet aussi de limiter les coûts. La solution dispose de quelques angles morts, mais parvient à couvrir 96.3% des points de l'environnement, soit un excellent compromis entre le coût et la

1.0 0.8 0.6 o o U 0.4 0.2 0.0 1 — Moyenne — Maximum - Minimum \ 1 20 40 60 80 100 Génération 120 140 160 FIGURE 5.22 problème 2.

Évolution des moyennes des statistiques du coût des solutions du

couverture. Deux autres solutions sont présentées aux figures 5.24(b) et 5.24(c). L'algo- rithme par ces mécanismes de recombinaison et de mutation des solutions est parvenu à générer des variantes de la solution présentée à la figure 5.24(a). Ces variantes rem- placent progressivement les caméras dispendieuses couvrant beaucoup de points, par les modèles de coûts inférieurs. Ces résultats s'apparentent à ce qu'il serait naturel d'effectuer lorsqu'une solution est jugée trop dispendieuse : maintenir des positions de caméras semblables tout en remplaçant le modèle performant, mais coûteux, par un modèle légèrement moins performant, mais aussi moins coûteux.

5.3.3 Problème 3 : la salle d'exposition

Le dernier problème étudié avait pour but de démontrer que notre algorithme peut résoudre des problèmes de placement de caméras dans des environnements à géométrie complexe. La première partie du problème s'intéressait seulement à la couverture des points de l'environnement et des zones, tandis que la seconde partie impliquait une contrainte de performance au niveau de l'erreur de reconstruction 3D, complexifiant le problème davantage.

FIGURE 5.23 - Solution couvrant le plus de points pour un coût minimum pour le

(a) 4 caméras, gén. : 138, perf. : 96.3%, coût : 11,280$

(b) 4 caméras, gén. : 139, perf. : 86.3%, coût : 9,630$

(c) 4 caméras, gén. : 116, perf. : 79.9%, coût : 8,830$

FIGURE 5.24 - Exemples de réseaux trouvés par l'algorithme durant une expérience

o o u 0.4 0.3 0.2 0.1 0.0 -0.1

Solution la pkis performante

i . . . . , © . . . ^ . - - - © : Solution la moins dispendieuse

O i O Y O -o<5>

t

0.4 0.5 0.6 0.7 Performance 0.8 0.9 1.0

FIGURE 5.25 - Exemple d'un front de Pareto obtenu pour le problème 3.1.

La figure 5.25 présente le front de Pareto de l'évolution ayant produit la solution cou-

Dans le document eCandy Evolutionary Camera Network Deploy (Page 96-135)

Documents relatifs