Esta página está en construcción: perdonen los errores, repeticiones y temas inacabados.
 
This page is being developed: I am sorry for errors, duplications  and unfinished subjects.
 
 
Proyecto Danzante. Algoritmo completo en Tiempo Real II. JCISER (incluido en Danzante)
 
Vimos el Esquema general de la aplicación. Veamos ahora cómo llevarlo a cabo, mediante el algoritmo o secuencia de operaciones a realizar para conseguir esa optimización. Y acudimos cuando es necesario a Optimización II.Desglose de operaciones.JCISER
En tiempo no real, necesariamente: Esquema general de la aplicacion. Optimización. Algoritmo.JCISER bis.
Ya escribimos las secuencia prevista en Algoritmo completo en tiempo real I. JCISER.htm
Ahora completamos la secuencia completa de operaciones en tiempo real, que hasta ahora se ha realizado en simulación, es decir, operando sobre un archivo completo, en diferido, pues.
GRABACIÓN Y CALIBRACIÓN  Operación única
 
0. Se colocan las dos cámaras an alturas de 1.80 a 2 metros.; en ángulo rectos aproximado mirando al humano.
1. Se inician las dos cámaras y su modo de tomar muestras (desfase relativo en milisegundos).
2. Se toma y graba en memoria un bloque de M cuadros (unos 50)
2'. Se graba en disco la moción correspondiente (No Indispensable, sólo para comprobación posterior)
3. Se inhibe la recepción de esqueletos en ambas cámaras, y se inhibe salida de información, para acelerar proceso
4. Se calibra la pareja de cámaras mediante la reunión múltiple (Giro, Escalado y Desplazamiento) vista anteriormente.
 
OPTIMZACION  Ciclo indefinido
 
5. Se reanuda la toma de cuadros (pareja de esqueletos)
6. Opcionalmente el cuadro  captado se almacena en memoria, a continuación del bloque de calibración (51 en adelante).
7. Se optimiza la pareja, según de describe en Optimización. Algoritmo.JCISER,  que repetimos aquí abajo
8. Opcionalmente de representa el esqueleto optimizado.
9. Opcionalmente de toma ese esqueleto para otra aplicaciómn. tal como un su inclusión como avatar en un espacio virtual.
10. Se va al pareja siguiente y se repiten indefinidamente las etapas 6 a 9.
9. Puede interrumpirse este ciclo y reanudarse cuantas veces se desee con los mismos parámetros obtenidos en la calibración.
 
 
 
OPTIMIZACIÓN en DETALLE
 
Cada pareja de esqueletos p y q, cuasi simultáneos, correspondientes a dos cámaras cuasi perpendiculares, llega de la cámara en tiempo real. ('O bien, en diferido corresponde a una moción doble cargada de disco, de la que elegimos la de motor o pulso deseado.)
 
Para cada pareja correspondiente a un momento:
 
Inicio
 
0. Reunimos pi , qi  mediante R, t  obtenidos en la calibración, y obtenemos, por promedio simple pi* = ( pi  + Rqi + t ) / 2
0'. Sobre este esqueleto promedio calculamos las longitudes de los huesos Li,j
1. Calculamos  wi, wi en función de  pi , qi 
2. Calculamos  M,  j0i , J0  en función de  pi*, pi , qi , wi, wi, Li,j 
3. Elegimos un vector incremento dp-increm (vector epsilon, 1 mm en media por articulación) y para ese incremento:
4, Calculamos  H, Λ , b,  bλ  en función de M,  j0i , J0  eligiendo incrementos que minimizan dp
         (minimizan J e intentan que M=0)
5. Obtenemos  λ en función de H, Λ, b, bλ
6. Obtenemos  dp en función de H, Λ, b, λ
Ciclo pequeño
 
7. Elegimos un múltiplo del salto incremental (unas 60 veces, valor empírico que minimiza aproximadamente el numero necesario de iteraciones en la Line Search  (búsqueda del mínimoa funcion  monovariable por Newton).
8. Actualizamos { pi*}new = { pi*} +  dp
9. Aproximación lineal   X  <--  X + τ d    con d optimizado  
10.  Repetimos pasos 3.5 a 3.7 para la nueva posición del esqueleto en proceso de optimización.
11. Si ||dp|| -||dp|| > cota1  Reduzco el múltiplo en 7
12 Si numero de interaciones <cora 3 Repetimos 7 a 12
13  . Si NO, acabamos la Busqueda Lineal
14. Aceptamos { pi*} como posiciones definitivas para esqueleto optimizado.
15. Opcionalmente Representamos y Empleamos el esqueleto optimizado en otras tareas durante el tiempo entre tomas de esqueleto: 33 ms como mínimo menos la duración de optimización (menor que 5 ms).
16. Se almacena el esqueleto optimizado en moción 2 del mismo cuadro
17. Se repiten indefinidamente las etapas 5 a 15
18. Se detiene el proceso, bien por mandato de Boton, Gesto de Control o Final de la aplicación.
 
19, Opcionalmente se almacena en disco Mocion la Ampliada (bloque de calibración más Cuadros en riempo deal añadidos
 
20. Opcionalmente se repite el proceso en diferido si se almaceno la Moción Ampliada . Podemos activar ahora la información para Comprobación , Estudio y Publicación.
 
 
redactado el 23  de noviembre de 2016
 
 
 

 
Vuelta al Principio    Última actualización: jueves, 01 de diciembre de 2016    Visitantes:contador de visitas