• Aucun résultat trouvé

Chapitre 6 Un modèle hiérarchique des parties pour la catégorisation d’objets

6.3 Apprentissage

Le modèle sur une image donnée mais aussi sur l’ensemble d’apprentissage tout entier en utilisant l’algorithme Expectation-Maximization. Les paramètres estimés lors de la phase d’apprentissage sont

θ = (µ, τ, π, Σ, ς, α, Σα).

Dans chaque image les variables cachées continues sont les positions et échelles des parties ¯x et les variables cachées discrètes sont les affectations des parties élémentaires aux primitives graphiques η, la variable binaire O représentant si la partie est observée ou non, et l’association B des sous-parties aux parties à chaque niveau de la hiérarchie. La figure 6.2 donne le modèle graphique de la distribution de toutes ces variables pour un modèle à trois niveaux.

6.3. Apprentissage

Les étapes EM sont implémentées de manière classique. Une fois initialisée, la méthode converge en 50 itéra-tion environ mais donne des résultats satisfaisant en 5–10 itéraitéra-tions. L’apprentissage prend environ 1 seconde par image en MATLAB, la plupart du temps de calcul étant due à l’étape de mise en correspondance des primitives graphiques. Il est important de remarquer que tous les paramètres sont appris par l’algorithme. Il n’y a donc, à part le nombre de parties à chaque niveau de la hiérarchie et les paramètres de bas niveau inclus dans le calcul des primitives graphiques, aucun seuil ou paramètre de régularisation à définir manuellement.

6.3.1 Instanciation du modèle dans une image

La fonction objectif (la log-vraisemblance négative) a de nombreux minima locaux, et un instanciation robuste est nécessaire. Nous utilisons une méthode de type transformée de Hough de manière hiérarchique. Cette méthode est basée sur des votes dans la pyramide des positions/échelles possibles pour chaque partie.

1. Pour chaque partie c au niveau le plus bas de la hiérarchie, chaque primitive graphique (avec une apparence afet une position ¯xf) vote dans la pyramide pour une position ¯x(2)p , en calculant l’espérance du mélange de distributions sur les apparences et les positions générées par le niveau supérieur de la hiérarchie c. Une fois que la localisation majoritaire est trouvée, les parties ayant contribué à cette localisation sont affectées au parent c Votecxc) =  f max c pc(p) wp p(a|α) p(¯x|µ) (6.4) wp  c ppf) (6.5)

La somme se fait sur la primitives graphiques f , et le maximum est choisi parmi les parties élémentaires dans le parent et q. Pour des raisons de vitesse de calcul, une primitive f ne peut voter que pour une seule partie p. Il faut noter que les votes sont pondérés pas le nombre de primitives appartenant à la même catégorie d’apparence : wp=

fpappp f). Cela permet de diminuer l’influence des primitives appartenant au fond,

ou à des parties texturées dont l’apparence se répète un grand nombre de fois.

posi-FIG. 6.3 – Quelques modèles appliqués à des images de test du jeu de données de motos. Les rectangles indiquent les positions et échelles des parties estimées.

tion de leurs parents en utilisant le décalage moyen des positions propres au modèle :

Vote( +1)pxp) = S(

p

log(1 + Votep(s( )px( )p − µ( +1)pp )) (6.6)

Ici, la somme s’effectue sur les sous-parties p pour lesquelles pest le parent le plus probable (arg maxpτp(p) =

p) — là encore, pour des questions de rapidité de calcul, les parties ne votent que pour un seul parent. La fonction non-linéaire log(1 + . . .) permet de relativiser l’importance des pics présents dans des sous-parties erronées (par exemple sur le fond de l’image) par rapport à la contribution de plusieurs parties qui votent toutes pour un même centre. S est une fonction de lissage heuristique. Dans notre cas, une convolution gaussienne a été utilisée.

6.3. Apprentissage

les échelles s(L). potentielles des objets de la même catégorie présents dans l’image.

4. Pour le meilleur (ou éventuellement pour chaque) maximum, l’arbre est parcouru en sens inverse pour trou-ver les affectations des parties aux sous-parties. Si la pyramide des parties a un maximum satisfaisant autour de la position moyenne calculée grâce aux autres parties, cette partie est utilisée dans la suite. Sinon, elle est supposée inobservée et la position relative est égale au décalage par défaut µ( +1)pp .

Cette procédure donne une position initiale de l’objet satisfaisante sur les jeux de données tels que Caltech, même lorsque la position de l’objet n’est pas évidente et est entourée d’une quantité modérée de détections sur le fond. Elle ne donne cependant pas une vraisemblance suffisamment grande aux images de la même catégorie, car cer-taines parties ne sont pas reconnues. Quelques itérations de EM permettent d’améliorer notablement la mise en correspondance.

6.3.2 Apprentissage — Initialisation du modèle

La procédure précédente initialise seulement la position des parties dans une image, mais elle suppose que les paramètres sont connus. Nous détaillons ici une manière d’initialiser ces paramètres, de manière à éviter un placement manuel des objets dans les images. La méthode suppose que chaque image d’apprentissage contient une instance de la classe d’objet, mais dont la position et l’échelle sont inconnus et des élément non uniformes dans le fond de l’image sont tolérés. Le nombre de parties à chaque niveau de la hiérarchie doit être déterminé à l’avance. La méthode d’initialisation suit les étapes suivantes :

1. Trier les images suivant un critère de qualité (précisé dans la suite) et utiliser la meilleure image pour initia-liser les paramètres du modèle. Si la méthode échoue, utiinitia-liser la seconde image ou les suivante, mais dans les expériences proposées, la première a toujours suffit.

2. En utilisant l’algorithme des K-means, toutes les primitives graphiques de l’image initiale sont classées en n classes de localisation/apparence, où n est le nombre de parties élémentaires souhaitées. Ensuite, initialiser une partie élémentaire au centre de ces parties. Certaines des parties élémentaires vont correspondre à des points du fond. Celles-ci auront tendance à disparaitre durant l’apprentissage (leur probabilité d’observation devrait tendre vers zéro). Certaines parties auront la même apparence, ce qui est intentionnel : cela permet de définir des parties répétitives telles que des yeux ou des roues de voiture.

3. Pour  = 2,· · · , L, la position des sous-parties est classée en P( ) groupes par K-means. Un parent est initialisé pour chaque centre de groupe. L’affectation aux clusters donne les affectations initiales des sous-parties aux sous-parties. En réalité, la matrice des affectations τ( ) est légèrement lissée pour permettre des affectations floues.

L’utilisation d’une seule image dans la première étape peut être critiquée, mais nos tentatives d’initialisation à partir d’une moyenne sur plusieurs images ont donné de plus mauvais résultats. Le point critique est de trouver un modèle initial qui contienne des parties clairement séparées et d’apparences spécifiques, à partir desquelles un apprentissage dépourvu d’ambiguités peut être effectué. Le moyennage tend à rendre confus les apparences et produit une initialisation bien moins satisfaisante.

La méthode de note des images suivant leur qualité probable est la suivante :

1. Utiliser K-means sur les apparences seulement pour trouver les caractéristiques communes aux images d’ap-prentissage positives (i.e. contenant l’objet) en fixant K = 500 classes. Chaque image est décrite par un vecteur « signature »S de dimension 500 (le vecteur de proportion des classes).

2. Ordonner les classes d’apparence suivant leur mesure d’information (voir plus loin) et sélectionner les 30 (environ) classes les plus informatives. Ordonner les images suivant le nombre de points appartenant à au moins une des ces classes d’apparence (i.e. le nombre de classes c pour lesquellesSc = 0).

Pour mesurer l’information des classes d’apparence, deux méthodes ont été étudiées. Une méthode supervisée nécessite un ensemble d’apprentissage négatif, i.e. ne contenant pas l’objet à classer. Un classifieur linéaire est appris sur le vecteur signature binaire (S = 0). Les variables ayant les plus forts coefficients sont considérées comme étant les plus informatives. Toutes les méthodes de classification linéaires peuvent être utilisées : l’Analyse Discriminante Linéraire, les SVM linéaires, Relevance Vector Machines linéaire, la méthode LASSO, Least Angle Regression, etc.

Nous pouvons aussi utiliser une méthode purement non-supervisée qui semble fonctionner aussi bien que la méthode supervisée précédente, et ne nécessite pas d’images négatives. Pour chaque classe d’apparence, le score associé est le nombre d’images qui contiennent exactement une fois l’apparence en question (alternativement, on peut prendre 1–2 fois la même classe). Ce critère fonctionne car il sélectionne les apparences qui représentent une seule partie d’objet. De nombreuses classes d’objet contiennent de telles apparences alors que que les apparences

Documents relatifs