Download document (10.35 MB) - Escuela Superior de Informática ...
Download document (10.35 MB) - Escuela Superior de Informática ...
Download document (10.35 MB) - Escuela Superior de Informática ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
4.4. Reconstrucción <strong>de</strong>l movimiento en 3D y generación <strong>de</strong> los ficheros <strong>de</strong> marcas 95o se ha perdido. En caso <strong>de</strong> ser así, lo que se estima es que la marca <strong>de</strong>splazada o perdida<strong>de</strong>be estar a la misma distancia que en el frame anterior respecto a las <strong>de</strong>más marcas <strong>de</strong> sugrupo y en el mismo ángulo en el que están en el frame actual (ver Algoritmo 4).El problema radica en que el posicionamiento <strong>de</strong> las marcas <strong>de</strong> la cara no siguen ningúnpatrón concreto (las marcas no guardan relación <strong>de</strong> posicionamiento entre sí) y los gestospue<strong>de</strong>n ser aleatorios.Algoritmo 4 Control <strong>de</strong> puntos <strong>de</strong> seguimiento1: para (cada frame) hacer2: double anguloNew = angle(hombroReferentPoint.x, hombroReferentPoint.y,points[1][4].x, points[1][4].y, points[1][i].x,points[1][i].y);3: double anguloOk = angle(hombroReferentPoint.x, hombroReferentPoint.y,points[1][4].x, points[1][4].y, points[1][2].x,points[1][2].y);4: double distanceOld = distance(points[0][4].x, points[0][4].y, points[0][i].x,points[0][i].y);5: double distanceNew = distance(points[1][4].x, points[1][4].y, points[1][i].x,points[1][i].y);6: si (distanceNew mayor o igual a (distanceOld + 2) ó distanceNew menor o igual a(distanceOld - 2)) entonces7: points[1][i].x = points[0][i].x;8: points[1][i].y = points[0][i].y;9: fin si10: si (anguloNew mayor que anguloOk + THRESHOLD THREE CENTS ó anguloNewmenor que anguloOk - THRESHOLD THREE CENTS) entonces11: calculateCoordinates(points[1][4].x,points[1][4].y,anguloOk,(i-5) * longBrazoIzqdo/ 4 ,i, points);12: fin si13: fin para4.4. Reconstrucción <strong>de</strong>l movimiento en 3D y generación <strong>de</strong>los ficheros <strong>de</strong> marcasEn la fase anterior se ha visto cómo se realiza la captura <strong>de</strong> movimiento <strong>de</strong> un intérprete<strong>de</strong> Lengua <strong>de</strong> Signos a partir <strong>de</strong> una escena <strong>de</strong> ví<strong>de</strong>o. Los puntos o marcas sobre los las que serealiza el tracking, <strong>de</strong>finidas en el primer frame <strong>de</strong> cada ví<strong>de</strong>o, están <strong>de</strong>finidas en el espaciobidimensional (en coor<strong>de</strong>nadas cartesianas x e y). Sin embargo, para la generación <strong>de</strong> un es-