• Aucun résultat trouvé

La Figure 7.5 illustre l’architecture du SSD. À partir de conv5-3, six couches convo-lutives ont été ajoutées. Chaque couche ajoutée permet de produire des prédictions. Ce qui mène à 8732 prédictions à la sortie du réseau SSD. La sortie de la couche Conv4-3 ainsi que ceux des cinq dernières couches supplémentaires se connectent à la couche de détection finale. Cette connexion permet au réseau de détecter et de localiser des objets à différentes échelles. La Table 7.1 représente les prédictions de chaque carte de caracté-ristiques connectée à la couche finale.

Partie III, Chapitre 7 – Classification de postures des personnes par des méthodes de Deep

Learning

Figure 7.9 – Traitement du réseau à plusieurs étapes [178].

spécifient la présence d’une instance de classe dans chacune de ces boîtes. La Figure 7.9 montre comment le réseau "voit" une image donnée à travers ses cartes de caractéristiques. Des travaux précédents [179, 157] ont montré que l’utilisation de cartes de caracté-ristiques des couches inférieures améliore la qualité de la segmentation, car les couches inférieures capturent des détails plus fins des objets d’entrée. Dans cette optique, Liu et al [158] ont utilisé ces couches ainsi que les autres couches supérieures pour la détection et la classification des objets. Pour traiter les différentes échelles d’objets, certaines méthodes [180] suggèrent de traiter l’image à différentes tailles et de combiner les résultats par la suite. En utilisant des cartes de caractéristiques de plusieurs tailles dans un seul réseau, nous pouvons imiter le même effet. Par exemple si nous avons m cartes de caractéristiques pour la prédiction des classes, l’échelle (scale) des boîtes englobantes pour chaque carte de caractéristiques est calculée comme suit :

sk = smin+smax− smin

m− 1 (k− 1), k ∈ [1, m] (7.1) avec smin égal à 0.1 et smax est 0.9, ce qui signifie que la couche la plus à gauche a une échelle de 0, 1 et la couche la plus à droite a une échelle de 0, 9, et que toutes les couches intermédiaires sont régulièrement espacées. Différents rapports d’aspect (aspect ratio) pour les boîtes englobantes sont imposés par ar ∈ {1, 2, 3,1

7. 2. Méthode SSD

la Table 7.1. Alors la largeur et la longueur de la boîte sont désignées respectivement par : war k = sk ar (7.2) har k = sk ar (7.3)

Deux boîtes sont ajoutées, d’échelle :

sk =

sk∗ sk+1 (7.4) Ce qui donne six boîtes par emplacement pour les trois couches supplémentaires du réseau.

Nous détaillons dans la Table 7.2 l’architecture du réseau SSD en précisant les tailles des matrices à l’entrée de chaque couche ainsi que le nombre et la taille des filtres utilisés dans chaque convolution. Nous définissons aussi le pas de convolution, la valeur de "pad-ding" et la taille des tenseurs1 en sortie. La Table 7.2 récapitule le contenu de différentes parties du réseau SSD. Par exemple, les couches en jaunes sont les couches du VGG16.

Les prédictions du SSD sont classées comme des correspondances positives ou néga-tives. L’aspect positif ou négatif de la correspondance est donnée par l’IoU, l’intersection sur l’union, qui est le rapport entre la zone d’intersection et la zone jointe pour deux régions (éq. 8). Si la boîte a un IoU supérieur à 0,5 avec la vérité de terrain, la corres-pondance est positive. Dans le cas contraire, elle est négative. Prenons l’exemple de la Figure 7.10, seules les boîtes 1 et 2 sont des correspondances positives. Le SSD n’utilise que les correspondances positives pour calculer le coût de localisation (le décalage de la boîte englobante).

Fonction de coût globale. L’objectif de l’apprentissage est d’entraîner le réseau à minimiser une fonction de coût globale qui mesure la différence entre la sortie du réseau et la vérité terrain. Soit xpij ={0, 1} un indicateur de correspondance entre la i-ème cellule par défaut et la j-ème boîte de vérité terrain de la classe p (éq. 7.5).

xpij ={1 si IoU >0.5

sinon 0 (7.5)

Partie III, Chapitre 7 – Classification de postures des personnes par des méthodes de Deep

7. 2. Méthode SSD

Figure 7.10 – Chevauchement des boîtes englobantes (en bleu) avec la vérité terrain (en vert) pour détecter les correspondances positives.

La fonction de coût globale est une somme pondérée de la fonction de coût de localisation (Lloc) et de confiance (Lloc) (éq. 7.6) :

L(x, c, l, g) = 1

N(Lconf(x, c) + αLloc(x, l, g)) (7.6) avec N le nombre de correspondances positives des boîtes englobantes (Dans le cas par-ticulier où N = 0, L = 0) et α est le poids de pondération (dans [0,1]) de l’erreur de localisation.

La fonction de coût de localisation (Lloc) entre les paramètres de prédiction et de la boîte de vérité terrain (l(lp

x, lp y, lp

w, lph) et g(gp x, gp

y, gp

w, ghp)) respectivement, de la même classe p, est la fonction de coût smooth L1 loss [181] pour se décaler vers le centre cx et cy de la boîte par défaut d de largeur w et de hauteur h :

LLoc(x, l, g) = X m∈x,y,w,h xkij smoothL1(lmp − gp m) (7.7) avec smoothL1(z) ={0.5z2 si |z|<1 sinon |z|−0.5 (7.8)

Concernant la classe "arrière-plan" (p = 0), elle ne possède pas des boîtes englobantes de vérité terrain. La fonction Lloc est donc éliminée. smooth L1 peut être interprétée comme une combinaison de la fonction L1 loss et la fonction L2 loss. Elle se comporte

Partie III, Chapitre 7 – Classification de postures des personnes par des méthodes de Deep

Learning

comme la fonction L1 lorsque la valeur absolue de z est élevée, et comme la fonction L2 lorsque la valeur absolue de z est proche de zéro. smooth L1 combine les avantages de L1 (gradients réguliers pour les grandes valeurs de z) et de la fonction L2 (moins d’oscillations lors des mises à jour lorsque z est petit). Elle est moins sensible aux valeurs aberrantes que la perte L2 utilisée dans R-CNN et SPPnet [181]. Lorsque les objectifs de régression ne sont pas limités, l’apprentissage avec la perte L2 peut nécessiter un réglage des taux d’apprentissage afin d’éviter l’explosion des gradients. L’équation 7.8 élimine cette sensibilité. L’erreur de confiance (Lconf) est l’erreur d’une prédiction de classe. Pour chaque prédiction de correspondance positive, nous pénalisons l’erreur en fonction du score de confiance de la classe correspondante [158]. Pour les prédictions de correspondance négatives, nous pénalisons l’erreur en fonction du score de confiance de la classe "0" : la classe "0" indique qu’aucun objet n’est détecté. Elle est calculée à partir de la fonction softmax sur plusieurs scores de confiance des classes (c) :

Lconf(x, c) =− XN i∈P os xpijlog(cbp i) X i∈Neg log(cb0 i) (7.9) avec cbp i = exp(c p i) P p(cpi).

8732 prédictions sont détectées par le réseau SSD pour avoir une meilleure détection de l’objet ainsi que sa localisation. SSD utilise donc plus de prédictions que de nombreuses autres méthodes de détection. Cependant, de nombreuses prédictions ne contiennent au-cun objet. Par conséquent, toute prédiction dont le score de confiance de classe est inférieur à 0, 01 sera éliminée.

Suppression des non-maxima (non maximum suppression nms). Le SSD utilise

une technique de suppression des non-maxima pour supprimer les prédictions en double sur le même objet. Le réseau trie les prédictions en fonction des scores de confiance (c). En partant de la prédiction de confiance la plus élevée, le réseau SSD évalue si des boîtes précédemment prédites ont un IoU supérieur à 0, 45 avec la prédiction actuelle pour la même classe. Si c’est le cas, la prédiction actuelle sera ignorée.

7. 3. Implémentation

7. 3 Implémentation