Title: Dans le cadre du cours
 1Projet  Séparation dune silhouette en parties 
Mario Petitclerc Louis St-Laurent Sylvain 
Miermont Nicolas Martel-Brisson 
- Dans le cadre du cours 
- Vision numérique  Aspects cognitifs
2Contenu de la présentation
-  Définition et objectifs du projet 
-  Validation subjective (SV) 
-  Subjective Ground Truth (SGT) 
-  Formal Ground Truth (FGT) 
-  Validation formelle (FV) et subjective (FV) 
-  Discussion
3Définition et objectifs du projet
-  Segmenter les parties du corps dune personne à 
 partir dune silhouette binaire
-  Définition des données dentrées
-  Groupe de pixels blancs appartenant à la 
 silhouette dune personne
-  Groupe de pixels noirs appartenant à 
 larrière-plan
-  Définition des données de sorties
-  6 groupes de pixels de couleur différente 
 correspondant aux parties dune personne  tête,
 tronc, bras gauche, bras droit, jambe gauche et
 jambe droite
4Définition et objectifs du projet
-  Méthodologie utilisée  SAFE
-  Définir SV ( choix des ensembles de données 
 dentrée)
-  Définir SGT pour les ensembles choisis 
-  Définir FGT (calculs formels à effectuer) 
-  Réaliser le programme de calcul 
-  Définir FV (choix des ensembles de données 
 dentrée)
-  Réaliser FV 
-  Réaliser SV 
-  Discuter de SGT, FGT, FV et SV
5Validation subjective
-  Description des ensembles de données dentrées 
-  Quantité dimages 
6Liste des ensembles de données dentrées
-  Tel que défini précédemment les données dentrée 
 sont constituées de pixels blancs composants la
 silhouette et de pixels noirs composants
 larrière-plan.
-  Les parties de la silhouette dune personne 
 peuvent être plus ou moins bien définies en
 fonction de la posture, des vêtements, de la
 résolution de limage, de la distance et de la
 qualité de la segmentation.
7Liste des ensembles de données dentrées
-  Nous avons donc décidé de qualifier la 
 complexité de la silhouette selon 8 situations
 qui seront rencontrées lors de la segmentation en
 parties
-  Silhouette simple 
-  Membre(s) (bras et jambes) fléchi(s) (F) 
-  Proportions inhabituelles (P) 
-  Parties(s) non-visible(s) dans limage (V) 
-  Point(s) dencrage inhabituel(s) (E) 
-  Orientation inhabituelle (O) 
-  Échelle critique (S) 
-  Irrégularités de contour (I)
N.B. Les lettres constituent une référence pour 
la nomenclature des images 
 8Description des ensembles de données dentrées
-  Toutes les parties sont facilement identifiables 
 pour un observateur humain
-  Aucun élément de complexité (présentés dans les 
 diapositives qui suivent)
9Description des ensembles de données dentrées
-  Coude(s) et/ou genou(x) visuellement 
 distinctif(s) dans limage
10Description des ensembles de données dentrées
-  Taille de partie(s) non proportionnelle(s) par 
 rapport aux autres
- Causes  vue de profil, handicap, orientation des 
 membres, obésité, etc.
-  Remarquez la longueur du bras gauche! 
11Description des ensembles de données dentrées
-  Partie(s) non-visible(s) dans limage
- cause  occlusion de parties, handicap 
 12Description des ensembles de données dentrées
-  Point(s) dencrage inhabituel(s)
- La tête, les bras et les jambes ont normalement 
 un seul point dencrage avec le tronc dans
 lordre suivant  Tête - bras - jambe - jambe -
 bras.
- - Tout contact supplémentaire entre deux parties 
 ou tout désordre des points dencrage constitue
 un cas de point dencrage inhabituel
13Description des ensembles de données dentrées
- Le point dencrage de la tête nest pas située 
 au-dessus du tronc et/ou les points dencrage des
 jambes ne sont pas situées sous le tronc.
14Description des ensembles de données dentrées
-  Le faible nombre de pixels constituant la 
 silhouette engendre des bruit de quantification
 non négligeables
-  exemple  La personne est si loin que la tête 
 est représentée par 4 pixels formant un carré!
Résolution de 46 x 51 pixels 
 15Description des ensembles de données dentrées
-  Les contours de la silhouette ne sont pas lisses 
-  cause  vêtements amples, vêtements créant des 
 ondulations
16Subjective Ground Truth
-  Contraintes fixées pour limiter le nombre de 
 solutions possibles
- Description des solutions possibles pour chaque 
 ensemble de données dentrées
17Contraintes fixées
-  Afin de limiter la quantité de solutions à 
 traiter, nous avons fixé les contraintes
 suivantes
-  Jambe ayant le centroïde le plus à gauche  
 jambe gauche
-  Bras ayant le centroïde le plus à gauche  bras 
 gauche
-  Si une seule jambe trouvée  jambe gauche 
-  Si un seul bras trouvé  bras gauche 
-  Toutes les parties doivent toucher au tronc 
-  Les parties doivent être divisées par une ligne 
 droite reliant deux points du contour de la
 silhouette
-  Aucun pixel appartenant aux lignes de coupure 
 entre les parties ne doit être à l'extérieur de
 la silhouette.
-  Au moins le tronc est présent
18Description des solutions possibles
-  Méthodologie de génération et de triage des 
 solutions possibles
- 14 images dentrées pour lesquelles nous avons 
 définis un certain nombre de solutions possibles
 pour la segmentation
-  Le nombre de primitives dentrée consiste en le 
 nombre de pixels appartenant à la silhouette
-  Chaque solution est composée dau plus 6 groupes 
 (tête, tronc, bras gauche, bras droit, jambe
 gauche et jambe droite) auxquels peuvent
 appartenir les primitives dentrée (pixels)
-  Nous avons choisi de caractériser chaque 
 solution en calculant la proportion de pixels
 associée à chaque groupe (partie)
-  Chaque solution est conservée dans une image 
 dont le nom est inscrit dans la colonne
 Solution du tableau des solutions évaluées pour
 SGT
-  Pour chaque solution, une cote sur 100 a été 
 attribuée (100 étant la solution parfaite).
19Description des solutions possibles
-  Exemples de solutions possibles
01_03.png
01_05.png
08_01.png
23_01.png
23_06.png
17_01.png 
 20Description des solutions possibles
-  Tableau des solutions évaluées pour SGT
21Description des solutions possibles
-  Tableau des solutions évaluées pour SGT (suite)
22Description des solutions possibles
-  Tableau des solutions évaluées pour SGT (suite)
23Description des solutions possibles
-  Tableau des solutions évaluées pour SGT (suite)
24Description des solutions possibles
-  Tableau des solutions évaluées pour SGT (suite)
25Formal Ground Truth
-  Critères choisis pour lévaluation de la qualité 
 des solutions
- Contraintes pour la génération des solutions 
- Algorithme pour la génération de solutions
26Critères choisis
-  Liste des critères choisis pour lévaluation des 
 solutions
- Présence de 0, 1 ou 2 jambes (Nj) 
- Présence de 0, 1 ou 2 bras (Nb) 
- Présence dune tête (Nt) 
- Surface équivalente entre le bras droit et le 
 bras gauche (Ns)
- Surface équivalente entre la jambe droite et la 
 jambe gauche (Np)
- Similitude entre la tête et une ellipse (Ne) 
- Forme allongée des bras et des jambes (Na) 
- Correspondance entre les surfaces des groupes et 
 celles dun être humain moyen (Nu)
- Ordre des parties par rapport au tronc (No)
27Critères choisis
-  Chaque critère donne une note comprise entre 0 
 (le critère nest pas respecté) et 1 (le critère
 est pleinement respecté).
-  Cette note est ensuite multipliée par un 
 coefficient associe à chaque critère.
-  La somme des notes une fois multipliées par 
 leurs coefficients donne la note finale associée
 à une solution proposée.
-  Les coefficients ont été déterminés 
 expérimentalement
-  
-  0.5, 0.5, 0.5, 1, 1, 1, 1, 1, 
 1
-   Nj, Nb, Nt, Ns, Np, Ne, Na, Nu, No 
28Définition formelle des critères choisis
-  Présence de 0, 1 ou 2 jambes 
-  pas de jambe gt Nj  0 
-  une jambe gt Nj  0.5 
-  deux jambes gt Nj  1 
-  Présence de 0, 1 ou 2 bras  idem que pour les 
 jambes (note Nb)
-  pas de tête gt Nt  0 
-  une tête gt Nt  1
29Définition formelle des critères choisis
-  Surface équivalente entre le bras droit et le 
 bras gauche
-  soit Sd la surface du bras droit et Sg la 
 surface du bras gauche
-  la différence entre les surface est définie par 
 
-  la note du critère est égale à  
-  Surface équivalente entre la jambe droite et la 
 jambe gauche  idem que pour les bras (note Np)
30Définition formelle des critères choisis
-  Similitude entre la tête et une ellipse 
-  On sintéresse à la variation moyenne de la 
 transformée de distance le long du squelette du
 membre
-  Pour une ellipse ou un cercle, cette variation 
 sera plus élevée que pour un membre allongé
-  Pour la tête on trouve toujours des valeurs 
 proches de
-  On définit la note de ce critère à laide dune 
 gaussienne de moyenne de 0.42 et dun écart-type
 (déterminé expérimentalement ) de 0.1
31Définition formelle des critères choisis
-  Forme allongée des bras et des jambes
-  pour une partie allongée, le squelette est 
 nettement plus long que la moyenne des distances
 le long de ce squelette
-  on effectue une squelettisation des parties 
 identifiées comme les bras et les jambes et on
 sintéresse au rapport entre la moyenne des
 distances le long du squelette et la longueur du
 squelette
-  on calcule ce rapport pour le bras droit, le 
 bras gauche, la jambe droite, la jambe gauche et
 on constitue un vecteur Va de 4 dimensions
-  notre vecteur de référence Vr est 0.1, 0.1, 
 0.1, 0.1
-  la note du critère est obtenue par une 
 gaussienne de 0.1 décart type et de moyenne
 donnée par le vecteur Vr
32Définition formelle des critères choisis
-  Correspondance entre les surfaces des groupes et 
 celles dun être humain moyen
-  On forme un vecteur à partir de la proportion 
 que chaque partie représente par rapport à la
 surface totale (dans lordre tronc, tête, bras D,
 bras G, jambe D, jambe G)
-  Ce vecteur a donc 5 cordonnées, dont certaines 
 peuvent être nulles
-  Expérimentalement, on détermine un vecteur de 
 référence (Dref)
-  0.4, 0.06, 0.1, 0.1, 0.17, 0.17 
-  Soit Dv la distance euclidienne entre ce vecteur 
 et notre vecteur de référence
-  la note du critère est encore obtenue avec un 
 gaussienne décart-type 0.1 et de moyenne
 correspondant à Dref
33Définition formelle des critères choisis
-  On cherche les angles, par rapport à 
 lhorizontale, des droites passant par le
 centroïde de la partie identifiée comme le tronc
 et le centroïde de la jonction de chaque groupe
 avec le tronc.
-  En triant les membres par angles croissants 
-  Dans lordre, les partie doivent être  tête, 
 bras, jambe, jambe, bras (et toute les rotations
 possible). No gt 1
-  On ne donne pas de points aux solutions 
 étranges  (par exemple tête, bras, jambe,
 bras, jambe. No gt 0
34Contraintes dans la génération des solutions
-  une partie et une seule est identifiée comme le 
 tronc
-  il existe au maximum une partie pour chacun des 
 membres et la tête
-  toutes les parties ont une frontière commune 
 avec le groupe identifié comme le tronc
-  les frontières entres les parties sont des 
 lignes droites reliant 2 points du contour de la
 silhouette
-  les frontières ne passent jamais à extérieur de 
 la silhouette
35Algorithme pour la génération de solutions
  36Algorithme pour la génération de solutions
-  Distance euclidienne  
- dist  bwdist(Silhouette) 
37Algorithme pour la génération de solutions
-  Algorithme détaillé (suite)
-  Concept  Un pixel de limage de la transformée 
 de distance est identifié comme appartenant à une
 crête sil est supérieur à ses deux voisins dans
 au moins une orientation
-  16 orientations sont considérées
38Algorithme pour la génération de solutions
-  Algorithme détaillé (suite)
-  Suppression des crêtes non-connectées à la plus 
 grosse région
-  À partir du point de crête le plus  élevé , on 
 se déplace sur les crêtes
-  À chaque jonction de branches, on conserve 
 toujours au moins la plus longue
-  On conserve aussi lautre branche si la 
 variation moyenne entre les pixels voisins de la
 branche est inférieure à 0.5
39Algorithme pour la génération de solutions
-  Exemple de squelettes obtenus pour différentes 
 silhouettes
40Algorithme pour la génération de solutions
-  Algorithme détaillé (suite)
-  Les points de coupure sur le contour sont liés 
 aux points où la transformée de distance varie
 fortement le long dune branche du squelette
- On filtre les distances (pour éliminer le bruit) 
- On calcule la dérivée des distances le long de 
 chaque branche de squelette (et on la filtre)
-  On trouve la dérivée maximale pour chaque branche
41Algorithme pour la génération de solutions
-  Algorithme détaillé (suite)
-  Les points de coupure potentiels sur le contour 
 se trouvent à des endroits où les branches de
 squelette se rejoignent (points de jonction)
- Un point du squelette ayant plus de deux voisins 
 est identifié comme un point de jonction
42Algorithme pour la génération de solutions
-  Algorithme détaillé (suite)
- On élimine les points caractéristiques redondants 
 (maximum local trop près dune jonction)
- Pour chaque point caractéristique conservé, on 
 identifie sur le contour les points les plus
 rapprochés (3 points pour une jonction et 2 pour
 un maximum local)
43Algorithme pour la génération de solutions
-  Algorithme détaillé (suite)
- Les points de coupure issus dun même point 
 caractéristique sont groupés par paires afin de
 générer des frontières
- Pour chaque paire, on trace une ligne droite (C8) 
 ayant le rôle de frontière
44Algorithme pour la génération de solutions
-  Algorithme détaillé (suite)
- Pour générer dautres variétés de solutions, on 
 attribue aléatoirement une étiquette et sa
 couleur à chaque groupe, à lexception du tronc
 (groupe auquel les autres sont liés)
- Les pixels frontières sont affectés au groupe 1 
 (tronc)
- Mais dautres caractéristiques, similaires aux 
 critères, devraient être considérées en pratique
 pour attribuer à chaque groupe létiquette la
 plus appropriée.
45Validation formelle et subjective
-  Méthodologie de validation 
-  Efficacité de lalgorithme dévaluation et de 
 tri des solutions possible / comparaison avec tri
 subjectif
46Méthodologie
- Lalgorithme a été testé sur des silhouettes 
 représentants les 8 situations possibles
 identifiées lors de létape SGT, soit
-  Silhouette simple 
-  Membre(s) (bras et jambes) fléchi(s) (F) 
-  Proportions inhabituelles (P) 
-  Parties(s) non-visible(s) dans limage (V) 
-  Point(s) dencrage inhabituel(s) (E) 
-  Orientation inhabituelle (O) 
-  Échelle critique (S) 
-  Irrégularités de contour (I)
47Méthodologie (suite)
- Pour chaque situation, nous avons fait évaluer 
 par notre algorithme plusieurs solutions
 possibles ayant été générés
-  Par notre algorithme de génération de solutions 
-  À la main à partir de points de coupure 
 arbitraires
- Notre algorithme de génération de solution ne 
 génère quun petit groupe de solutions possibles
 
- La comparaison avec des solutions générées à la 
 main permet de faire une validation plus complète.
48Efficacité de lalgorithme dévaluation
  49Efficacité de lalgorithme dévaluation
- Silhouette simple (suite)
- N.B. - Les solutions entourées dun cadre rouge 
 ont été générées par notre algorithme
-  - Les solutions entourées dun cadre jaune ont 
 été générées manuellement
50Efficacité de lalgorithme dévaluation
- Silhouette simple (suite)
g  numéro du groupe Ar  Aire relative du 
groupe par rapport à laire totale de la 
silhouette Ce  Coefficient délongation (largeur 
moyenne sur longueur du squelette du membre) Cc  
Coefficient de circularité (variation moyenne de 
la largeur sur la longueur du squelette) A  
Angle (degrés) du groupe par rapport au centroïde 
du groupe 1.
Groupe 1  tronc Groupe 2  tête Groupe 3  bras 
gauche
Groupe 4  bras droit Groupe 5  jambe 
gauche Groupe 6  jambe droite 
 51Efficacité de lalgorithme dévaluation
- Silhouette simple (suite)
- Nj  présence de(s) jambe(s) 
- Nb  présence de(s) bras 
- Nt  présence dune tête 
- Ns surface équivalente des bras 
- Np  surface équivalente des jambes
- Ne  similitude tête / ellipse 
- Na  forme allongée des bras et jambes 
- Nu  rapport entre surface des groupes 
- No ordre des groupes
52Efficacité de lalgorithme dévaluation
  53Efficacité de lalgorithme dévaluation
- Membre(s) fléchi(s) (suite)
54Efficacité de lalgorithme dévaluation
- Proportions inhabituelles
55Efficacité de lalgorithme dévaluation
- Proportions inhabituelles (suite)
56Efficacité de lalgorithme dévaluation
- Parties(s) non-visible(s) dans limage
57Efficacité de lalgorithme dévaluation
- Parties(s) non-visible(s) dans limage (suite)
58Efficacité de lalgorithme dévaluation
- Point(s) dencrage inhabituel(s)
59Efficacité de lalgorithme dévaluation
- Point(s) dencrage inhabituel(s) (suite)
60Efficacité de lalgorithme dévaluation
- Point(s) dencrage inhabituel(s) (suite)
 Comparaison des notes subjectives et formelles 
pour un groupe de solutions générées manuellement 
 61Efficacité de lalgorithme dévaluation
- Point(s) dencrage inhabituel(s) (autre exemple)
62Efficacité de lalgorithme dévaluation
- Point(s) dencrage inhabituel(s) (suite)
63Efficacité de lalgorithme dévaluation
  64Efficacité de lalgorithme dévaluation
- Irrégularités de contour (suite)
65Discussion
-  Analyse de SGT et FGT 
-  Retour sur la méthodologie SAFE 
66Analyse de SGT et FGT
-  En analysant les résultats recueillis suite à 
 lévaluation formelle et en les comparant à ceux
 attribués lors de lévaluation subjective, on en
 vient à la conclusion que notre algorithme
 dévaluation des solutions est influencé par la
 pose et les déformations, lorsquelles sont très
 importantes.
- Cela sexplique par le fait que notre modèle est 
 basé sur le cas idéal  personne vue de face avec
 lensemble des membres visibles.
-  Lalgorithme qui génère un sous ensemble des 
 solutions possibles applique des contraintes qui
 excluent parfois la meilleure solution
 subjective.
-  Par contre, parmi les solutions générées, la 
 meilleure solution formelle correspond
 généralement à la meilleure solution subjective.
67Analyse de SGT et FGT
-  Améliorations possibles pour la génération de 
 solutions
- - Augmenter le nombre de solutions en trouvant 
 davantage de points de coupure. Pour ce faire,
 on pourrait par exemple trouver les points de
 concavité sur le contour de la silhouette.
-  Améliorations possibles pour lévaluation des 
 solutions
-  Se préoccuper de la position spatiale des 
 membres  La tête se trouve généralement en
 haut, les jambes, en bas, etc.
-  Ajouter une étape danalyse de la pose afin 
 dadapter les critères pour divers cas, ce qui
 permettrait dévaluer de façon plus appropriée
 les solutions ayant une pose irrégulière.
-  Optimisation des critères. Par exemple, la 
 circularité de la tête devrait idéalement être
 calculée en faisant lintersection entre une
 ellipse et le groupe (axes principaux
 équivalents).
68Retour sur la méthodologie SAFE
  69FIN 
 70Retour sur la méthodologie SAFE
 - Létape SGT incite à prendre en considération 
un maximum de situations possibles (ici, 
plusieurs cas de silhouettes possibles). - 
Lanalyse subjective nous permet de mieux cerner 
les critères permettant dévaluer une 
solution. - Le développement dun algorithme 
dévaluation de solutions permet de prendre 
conscience de la difficulté de trouver des 
critères mathématiques efficace pour la 
résolution du problème - Lutilisation de cette 
approche est peu intuitive et représente une 
lourde charge de travail pour un gain discutable 
de lefficacité de lalgorithme
-  Ce que nous retenons de la méthodologie 
71FIN