Esto es lo que yo estaba sugiriendo en R código. No sé qué software está trabajando, pero al menos usted puede descargar R gratis y ejecutar la secuencia de comandos de forma bastante sencilla, simplemente para ver de qué estaba hablando y, a continuación, crear su propia versión. Si usted estuviera en R, un montón de los bucles podría ser reemplazado con el "rollapply" función en el "zoológico" de paquetes. Pero de esta manera el código es autónomo.
Lo que he hecho es creado tres series de tiempo:
1. La señal Simple, donde el siguiente valor en el punto (i+1) se correlaciona con el valor anterior (yo).
2. Basado en la señal en la primera por lo que debe correlacionan altamente, pero tienen diferentes amplitudes
3. Al azar de la señal hecha con ruido Gaussiano
Lo que esto deja fuera es de cambios de fase, es decir, si una persona comienza a moverse y, a continuación, la persona b se empiece a mover, después, pero, con el tiempo, este método se subestimar la correlación. Esto puede ser corregido mediante la inclusión de un número de turnos. O, posiblemente por el aumento de la longitud de tiempo para el promedio móvil (actúa como un filtro de paso bajo).
Por supuesto, hay otros métodos que pueden ser más adecuados, pero aquellos que se basan en señales oscilantes, por ejemplo, podría utilizar ondas de una frecuencia de tiempo de descomposición y, a continuación, calcular entre la persona de la fase de cierre a través de un número de frecuencias. A continuación, crear fase y la coherencia de los mapas. Si usted piensa que esto podría ser más de lo que usted está después, tengo los scripts para que también, pero usted puede desear mirar en programas especializados en matlab o R.
Antes de aplicar, probablemente necesita para tomar un par de muestras aleatorias de sus videos, o tal vez incluso un "entrenamiento" de vídeo y ver lo que los parámetros de darle la información que usted está buscando. A continuación, aplicar esto a tu muestras reales. E. g., cambio de la longitud de la media móvil, jugando con los cambios de fase, el ajuste de la ponderación de parámetros. Usted podría incluso conseguir boostrapped CIs, si quería.
Aquí está la secuencia de comandos de R:
#highly correlated series
rl<-20 #rolling average length
x<-5 #Just a starting value
xvec<-3000
#1st time series, made so that the next value correlates with preceding value
for(i in 1:(xvec-1)) { x[i+1] <- x[i] +rnorm(1, 0, 0.2) }
y<-x+rnorm(xvec, 0, 0.3) #Second series based on 1st series for high correlation
xy<-(x*y)/max(x*y) #For weighting
#Calculating rolling correlation with 20 values either side
cxy<-sapply((rl+1):(xvec-rl+1), function(i) cor(x[(i-rl):(i+rl)], y[(i-rl):(i+rl)]))
#Smoothed rolling correlation by rolling average
cxym<-sapply((rl+1):(xvec-3*rl+1), function(i) mean(cxy[(i-rl):(i+rl)]))
#Smoothed weighting
xym<-sapply((2*rl+2):(xvec-2*rl+2), function(i) mean(xy[(i-rl):(i+rl)]))
par(mfcol = c(2,2)) #Create plot so that there are 4 figures per plot space
plot(1:xvec, x, type="l"); lines(1:xvec, y, col=2) #plot 1st and 2nd time series
#Plot correlations
plot((rl+1):(xvec-rl+1), cxy, type="l", xlim=c(0, xvec), ylim=c(-1,1))
lines((2*rl+2):(xvec-2*rl+2), cxym, col=2) #Smoothed rolling correlation
lines((2*rl+2):(xvec-2*rl+2), cxym*xym, col=3) #Smoothed weighted correlation
#No correlation between series and plot
y<-rnorm(xvec, 5, 1)
xy<-(x*y)/max(x*y)
cxy<-sapply((rl+1):(xvec-rl+1), function(i) cor(x[(i-rl):(i+rl)], y[(i-rl):(i+rl)]))
cxym<-sapply((rl+1):(xvec-3*rl+1), function(i) mean(cxy[(i-rl):(i+rl)]))
xym<-sapply((2*rl+2):(xvec-2*rl+2), function(i) mean(xy[(i-rl):(i+rl)]))
plot(1:xvec, x, type="l"); lines(1:xvec, y, col=2)
plot((rl+1):(xvec-rl+1), cxy, type="l", xlim=c(0, xvec), ylim=c(-1,1))
lines((2*rl+2):(xvec-2*rl+2), cxym, col=2)
lines((2*rl+2):(xvec-2*rl+2), cxym*xym, col=3)