2012-06-14 6 views
14

Muchos recursos dicen que hay dos tipos de algoritmos de flujo óptico. Y Lucas-Kanade es una técnica escasa, ¿pero no puedo encontrar el significado de escaso y denso? ¿Puede alguien decirme cuál es la diferencia entre el flujo óptico denso y escaso?¿Diferencia entre flujo óptico denso y denso?

Respuesta

30

La breve explicación es que las técnicas dispersas solo necesitan procesar algunos píxeles de la imagen completa, las técnicas densas procesan todos los píxeles. Las técnicas densas son más lentas pero pueden ser más precisas, pero en mi experiencia la precisión de Lucas-Kanade podría ser suficiente para las aplicaciones en tiempo real. Un ejemplo de un algoritmo de flujo óptico denso (el más popular) es el flujo óptico de Gunner Farneback.

Para obtener una descripción general de la calidad del flujo, consulte la página de referencia, p. el KITTI o el Middleburry conjunto de datos

+0

@Stefan Karlsson (véase más adelante en esta página) dice que LKT es una algoritmo denso de flujo óptico. Si bien tu respuesta es la más votada, dice exactamente lo contrario. ¿Es incorrecto? – LandonZeKepitelOfGreytBritn

+0

Creo que quién es correcto es discutible.Tal vez los términos más correctos serían más escasos y más densos. Puede leer en este artículo cómo LKT produjo mapas de flujo dispersos (en comparación con otros algoritmos). http://ai2-s2-pdfs.s3.amazonaws.com/1e8b/2c16e87e1bda7289506670b6f716de8a99a2.pdf –

+0

El artículo mencionado en el comentario anterior es "Recuperación de campos de movimiento: una evaluación de Ocho algoritmos de flujo óptico" (en caso de que el enlace vaya abajo). –

5

El flujo óptico disperso le brinda los vectores de flujo de algunas "características interesantes" dentro de la imagen.

El flujo óptico denso intenta darle el flujo por toda la imagen, hasta un vector de flujo por píxel.

1

El flujo óptico disperso le proporciona los vectores de velocidad para algunos puntos interesantes (esquina), estos puntos se extraen de antemano con algoritmos como Shi-Tomashi, Harris, etc. Los puntos extraídos pasan a su [función de flujo óptico] junto con el imagen presente y próxima imagen. Cualquier buena función de flujo óptico debería verificar el flujo óptico en la dirección de avance utilizando los puntos de esquina anteriores y también retroceder para verificar si está siguiendo los mismos puntos.

Por otro lado, el flujo óptico denso puede referido de aquí: http://www.cs.toronto.edu/~fleet/courses/cifarSchool09/flowChapter05.pdf

2

Escaso flujo óptico funciona en las características (bordes, esquinas, etc.). El flujo óptico denso está diseñado para funcionar en todos los píxeles. La ventaja de la primera es que generalmente es más rápida, mientras que la segunda puede dar estimaciones para más píxeles que la primera.

1

En primer lugar, Lucas-Kanade NO es una técnica de flujo óptico disperso. La razón por la que muchos creen que lo es, se debe a un amplio malentendido. El concepto erróneo se convirtió en una verdad aceptada desde la primera implementación de Lucas-Kanade en OpenCV etiquetada como SPARSE, y lo sigue siendo hasta el día de hoy. Los argumentos sobre por qué Lucas-Kanade debería llamarse disperso se aplican a cualquier algoritmo de flujo denso. Si insiste en que Lucas-Kanade es escaso, entonces todos los algoritmos de flujo son escasos y no tiene sentido distinguirlos.

El flujo disperso es lo mismo que el seguimiento de puntos, el flujo denso consiste en vectores sobre el video, lo que indica las estimaciones del movimiento de las posiciones fijas.

Puede leer más sobre esto en this tutorial that I wrote, donde también muestro cómo Lucas-Kanade es tan denso como cualquier otro algoritmo (aunque no tan preciso).

2

Flujo óptico escaso: el método Lucas-Kanade calcula el flujo óptico para un conjunto de características dispersas (por ejemplo, las esquinas detectadas mediante el algoritmo Shi-Tomasi). Flujo óptico denso: el algoritmo de Gunner Farneback calcula el flujo óptico para todos los puntos del cuadro. Esto se explica en "Two-Frame Motion Estimation basado en la expansión polinómica" por Gunner Farneback en 2003.

ejemplo de implementación de se pueden encontrar in opencv docmentation here

+1

Si bien este enlace puede responder la pregunta, es mejor incluir las partes esenciales de la respuesta aquí y proporcionar el enlace de referencia. Las respuestas de solo enlace pueden dejar de ser válidas si la página vinculada cambia. Lea este [cómo-para-responder] (http://stackoverflow.com/help/how-to-answer) para proporcionar una respuesta de calidad. – thewaywewere

Cuestiones relacionadas