11.07.2015 Views

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 ...

SHOW MORE
SHOW LESS

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-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!