2012-09-03 13 views
14

Actualmente estoy desarrollando una aplicación basada en OpenCV/C++ para rastrear animales pequeños: Aquí hay un example del tipo de video que debe procesar. El programa simplemente muestra la posición x, y del animal y el tiempo para cada área. Esta es una representación gráfica del result en el original.Marco para la evaluación comparativa de mi algoritmo de seguimiento

Mi pregunta es un poco incómoda --- y tal vez fuera del tema --- en eso no estoy preguntando cómo mejorar mi programa, pero cómo evaluarlo. Soy consciente de la existencia Bonn Benchmark on Tracking dataset, pero no es apropiado para mi caso.

El programa está destinado a procesar videos muy largos, por lo tanto, no puedo preguntar de manera realista a los humanos independientes para evaluar la posición de los animales y comparar humanos versus programas. También he considerado usar robots o poner transpondedores en animales más grandes para tener las posiciones precisas, pero realmente no tengo los recursos.

Salí con la idea de usando un programa para generar videos de blobs moviéndose en un ambiente 2d. Mi pregunta es simple:

¿Conocen algún marco de alto nivel programable que pueda usar para simular gráficamente el movimiento de un objeto que se mueve de forma estocástica en un fondo parametrizable?

Mi sueño sería tener una herramienta de línea de comandos que funcionaría así:

$ program [BACKGROUND_OPTIONS] [OBJECT_OPTIONS] -V VIDEO_OUTPUT -P POSITIONS_OUTPUT 

La textura de fondo podía ser manipulado, así como el patrón de la forma, el color y el movimiento del objeto en movimiento.

Sé que probablemente podría hacerlo "fácilmente" (y lo haré si no puedo encontrar nada), pero preferiría que el programa evaluara y que la referencia fuera lo más independiente posible (por ejemplo, no ambos) hecho por la misma persona).

+0

Probablemente puedas probar Netlogo. Se puede encontrar aquí: http://ccl.northwestern.edu/netlogo/ –

+0

@ maths-help-seeker, Disculpa la última respuesta, gracias. Mi colega y yo lo intentamos, pero resulta bastante en la programación de nuestra propia simulación basada en agentes. Dado que no es un problema muy complejo, en este momento estamos investigando la implementación de nuestra propia herramienta de referencia utilizando más herramientas de programación estándar.Esperamos poder actualizar la pregunta con nuestros resultados: D –

+0

Fue solo una sugerencia. ¡Me alegra que lo hayas probado! : D –

Respuesta

2

Una cosa que he visto en varios proyectos de detección/seguimiento de movimiento es crear videos de prueba con algún software de renderizado 3D como Blender. No tiene la interfaz simple de su creador prueba de sueño, pero es una buena herramienta de prueba por muchas razones: la perspectiva

  • Es posible configurar cualquier escenario que desea (que varía, el número de objetos, longitud de la prueba , rutas de movimiento, etc.)

  • Usted controla por completo los parámetros de iluminación, formas, tamaños, etc.

  • Usted puede diseñar pruebas sencillas para comprobar la funcionalidad básica (fondo de color sólido con esferas de colores sólidos en movimiento hace un buen punto de partida), luego ramifique en escenarios más complejos (otros objetos estáticos, objetos ocluyendo otros objetos, imágenes de fondo, etc.).

+0

Gracias, parece ser una muy buena solución ... En la práctica, tendré que generar muchos videos y cambiar las variables que mencioné. ¿Blender proporciona de forma nativa un modo de scripting? No tengo la intención de rastrear a más de un agente, pero estoy particularmente interesado en la oclusión de objetos, por ejemplo ... Como dije antes, estoy bastante ocupado en este momento, pero voy a dar una oportunidad a Blender. ¿Puedes pensar en un buen tutorial? –

+1

Blender tiene plena [soporte de python] (http://wiki.blender.org/index.php/Doc:2.4/Manual/Extensions/Python), así que creo que sería capaz de crear un generador de prueba utilizando ese . El enlace anterior contiene un ejemplo de creación de scripts y se pueden encontrar tutoriales generales para Blender [aquí] (http://www.blender.org/education-help/tutorials/). –

+0

He estado esperando una buena motivación para aprender Python por un tiempo ... Podría ser: D –

Cuestiones relacionadas