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
- Irrégularité de contour
- 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
- Irrégularités de contour
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