Vous êtes sur la page 1sur 6

Act. 1/ Sem.

1 C106
Intitulé : Analyse et fouille de données
Responsable : Jérôme BOSCHE - UPJV - France
Préambule:
Certaines informations pertinentes permettront de vous guider dans le cadre de votre travail. Il
s’agit de cadres bleus associés à des conseils/remarques et de cadres jaunes associés à des
notions/rappels de cours. Le logiciel Scilab sera utilisé pour répondre aux différentes questions
de l’énoncé. Scilab est un logiciel open source de calcul numérique possédant de nombreuses
fonctionnalités adaptées à ce type de problèmes.

Contexte
On se propose de faire une analyse de certains mouvements humains. Les données propres à ces
mouvements ont été réalisées dans le cadre d’une expérimentation d’un groupe de chercheurs
de l’université de Florence [1] à l’aide d’une caméra Kinect. Cette expérimentation considère 9
mouvements et 10 personnes mais dans le cadre de ce travail nous nous limiterons dans un premier
temps à 2 personnes et 2 mouvements:
1. boire à la bouteille
2. répondre au téléphone
Lors de l’expérimentation les personnes étaient équipées d’une combinaison comportant 15 capteurs
situés au niveau des articulations comme illustré figure 1.
Chaque capteur mesure la position de l’articulation dans les trois dimensions X, Y et Z. La
combinaison génère donc à chaque instant 45 données qui sont ici enregistrées sur 450 périodes.
Pour extraire ces données de mesure, taper la commande ci-après: load("act1.sod");
Les 4 matrices M ij ∈ R45×450 résultantes correspondent aux mesures propres au patient i et au
mouvement j avec (i, j) ∈ {1, 2} × {1, 2}. Les lignes sont donc associées aux mesures délivrées par
chaque capteur et correspondent finalement aux fonctions fk de la figure 1, pour k ∈ {1, .., 45}.
Les colonnes sont associées au temps.

Q jerome.bosche@u-picardie.fr
Figure 1 : Emplacement des capteurs

Ajustement
Un ajustement graphique consiste à générer l’équation d’une courbe qui ajuste au mieux, au sens
de la méthode des moindres carrés, un nuage de points. Sur la Fig. 1 apparait un nuage de
points correspondant à la série statistique du Tab. 1.

x x1 x2 ....... xi ....... xn
y y1 y2 ....... yi ....... yn
Tab. 1. : Série statistique

L’objectif d’un ajustement consiste alors à déterminer l’équation de la fonction f (x) qui minimise le
critère des moindres carrés défini par:
N
X N
X
M = (yi − f (xi ))2 = (yi − yiest )2 (1)
i=1 i=1

Figure 1 : Ajustement d’un nuage de points

Ici la courbe d’ajustement s’écrit sous la forme d’un polynôme d’ordre n telle que:

f (x) = αn xn + αn−1 xn−1 + .... + α1 x + α0 (2)

Bien entendu, plus l’ordre du polynôme est grand et meilleure est l’ajustement mais plus compliqué
est l’algorithme qui consiste à générer ce polynôme.

Ajustement linéaire
On s’intéresse ici à la fonction f26 du cas M11 considérant le patient 1 et le mouvement 1
(c’est-à-dire la 26ème ligne de M11 ). Le vecteur de données correspondant à cette fonction contient
donc 450 points de mesure. Il est supposé que l’unité de temps est le dixième de seconde et que le
mouvement ne dure donc que 4, 5 secondes.

1. Construire le vecteur tps correspondant au temps variant de 0 à 449 centièmes de seconde.

Q jerome.bosche@u-picardie.fr
2. Générer dtps et df 26, les vecteurs contenant les 10 points de mesure, respectivement des vecteurs
tps et f 26 à partir de l’instant t = 0, 2s (dtps = [200 201 ... 208 209 ]).

L’ajustement linéaire (droite):

Un ajustement linéaire consiste à générer l’équation d’une droite d’équation f (x) = ax + b qui
ajuste au mieux, au sens de la méthode des moindres carrés, un nuage de points. La Fig. 2
illustre ce cas de figure.

Figure 2 : Ajustement linéaire


Dans bien des cas (nuages de points dispersés et denses), cet ajustement peut s’avérer insuffisant.
En revanche, l’algorithme permettant de calculer les coefficients a et b du polynôme du 1er degré
est simple à mettre en oeuvre. Nous en rappelons les différentes étapes ci-dessous.
Étape 1 : Changement de variable:

Calculer les moyennes x et y, respectivement des vecteurs x et y du Tab. 1 et effectuer les


changements de variables suivants:

X = x−x et Y = y − y (3)
La nouvelle série est alors celle du Tab. 2 que l’on retrouve également représentée Fig. 3 qui fait
notamment apparaître en vert les nouveaux axes (abscisse et ordonnée) du repère.
X X1 X2 ....... Xi ....... Xn
Y Y1 Y2 ....... Yi ....... Yn
Tab. 2. : Série statistique avec changement de variable

Q jerome.bosche@u-picardie.fr
Figure 3 : Ajustement linéaire avec changement de variable
Étape 2 : Calcul de a:
A partir du tableau 2, on calcule a à partir de l’expression (4).
N
X
Xi Yi
i=1
a = N
(4)
X
Xi2
i=1

Étape 3 : Calcul de b:
Finalement, on calcule b à partir de l’expression (5).

b = y − a.x (5)
3. Calculer a et b, les coefficients de la droite d’équation df 26est = a.dtps + b qui ajuste au mieux,
au sens des moindres carrés, le nuage de points associé au vecteur df 26.

4. Calculer l’erreur au sens des moindres carrés de cet ajustement.

5. Tracer sur le même graphe, avec dtps en abscisse, les points associés au vecteur df 26 (en noir)
et ceux associés à df 26est (en rouge).

Q jerome.bosche@u-picardie.fr
Ajustement linéaire par fenêtre glissante sur 10 points
Cette méthode consiste à décomposer le vecteur f 26 en 45 vecteurs de 10 points, notés f 26α avec
α ∈ {1, .., 45}. On procède de même avec le vecteur tps afin d’obtenir tpsα avec α ∈ {1, .., 45}.

Figure 4 : Fenêtre glissante sur 10 points


6. Construire les vecteurs f 26α et tpsα pour α ∈ {1, .., 45}.

7. Calculer, ∀α ∈ {1, .., 45}, aα et bα , les coefficients des droites d’équation f 26αest = aα .tpsα +bα
qui ajustent au mieux, au sens des moindre carrés, les nuages de points associés aux vecteurs
f 26α correspondant.

8. Construire f 26est ∈ R1×45 le vecteur correspondant à la concaténation des 45 vecteurs f 26αest


obtenus à la question précédente puis calculer l’erreur au sens des moindres carrés de l’ajustement
de f 26 par f 26est.

9. Tracer sur le même graphe, avec tps en abscisse, les points associés au vecteur f 26 (en noir) et
ceux associés à f 26est (en rouge).

Ajustement linéaire par fenêtre glissante sur 30 points


Cette méthode consiste à décomposer le vecteur f 26 en 15 vecteurs de 30 points, notés f 26α avec
α ∈ {1, .., 15}. On procède de même avec le vecteur tps afin d’obtenir tpsα avec α ∈ {1, .., 15}.

Figure 53 : Fenêtre glissante sur 30 points


10. Adopter la même démarche que précédemment mais en décomposant le vecteur f 26 en 15
vecteurs de 30 points.

11. A l’instar de la question 8, calculer l’erreur au sens des moindres carrés de l’ajustement obtenu.
Conclusion.

12. Tracer sur le même graphe que celui obtenu question 9, les points associés au vecteur d’ajustement
obtenu, noté f 26?est , (en bleu).

Q jerome.bosche@u-picardie.fr
Ajustement linéaire par fenêtre glissante sur 50 points
Cette méthode consiste à décomposer le vecteur f 26 en 9 vecteurs de 50 points, notés f 26α
avec α ∈ {1, .., 9}. On procède de même avec le vecteur tps afin d’obtenir tpsα avec α ∈ {1, .., 9}.

Figure 5 : Fenêtre glissante sur 50 points


13. Adopter la même démarche que précédemment mais en décomposant le vecteur f 26 en 9 vecteurs
de 50 points.

14. A l’instar des questions 8 et 11, calculer l’erreur au sens des moindres carrés de l’ajustement
obtenu. Conclusion.

15. Tracer sur le même graphe que celui obtenu question 12, les points associés au vecteur d’ajustement
obtenu, noté f 26•est , (en vert).

Publications
L. Seidenari and V. Varano and S. Berretti and A. Del Bimbo, Pietro Pala, «
Recognizing Actions from Depth Cameras as Weakly Aligned Multi-PartBag-of-
Poses, »Proceedings of the IEEE Conference on Computer Vision and Pattern
Recognition Workshops, pp. 479-485, 2013.

Q jerome.bosche@u-picardie.fr

Vous aimerez peut-être aussi