Estoy trabajando en flujo óptico, y en base a the lecture notes here y algunas muestras en Internet, I wrote this Python code.Lucas Kanade Flujo óptico, Vector de dirección
Todos los códigos y las imágenes de muestra también están allí. Para pequeños desplazamientos de alrededor de 4-5 píxeles, la dirección del vector calculado parece estar bien, pero la magnitud del vector es demasiado pequeña (es por eso que tuve que multiplicar u, v por 3 antes de trazarlos).
¿Esto se debe a la limitación del algoritmo o error en el código? La nota de la conferencia compartida anteriormente también dice que el movimiento debe ser pequeño "u, v son menos de 1 píxel", tal vez por eso. ¿Cuál es el motivo de esta limitación?
LK usa una aproximación de primer orden, por lo que (u, v) debería ser idealmente << 1, si no, los términos de orden superior dominan el comportamiento y usted es tostado. Para superar este problema, en las diapositivas 20 y 21, el autor sugiere utilizar una secuencia de pasos descendentes, comenzando por una resolución muy baja y luego incrementándola. Sin embargo, el algoritmo no está completamente explicado en su fuente. –