2011-04-06 31 views
10

Estoy comenzando una búsqueda para implementar un sistema que debe contar el flujo de gente de algún lugar. La idea final es tener algo como http://www.youtube.com/watch?v=u7N1MCBRdl0. Estoy trabajando con OpenCv para comenzar a crearlo, estoy leyendo y estudiando sobre. Pero me gustaría saber si alguien me puede dar algunas pistas de ejemplos de código fuente, artículos y cualquier cosa que me ayude a acelerar mi trato.Conteo de personas usando OpenCV

Comencé con la muestra de blobtrack.exe para estudiar, pero no obtuve buenos resultados.

Gracias por su asesoramiento.

Respuesta

4

La detección de manchas es la forma correcta de hacerlo, siempre que elija buenos valores de umbral y su iluminación sea uniforme y uniforme; pero el verdadero problema aquí es escribir un algoritmo de seguimiento que pueda hacer un seguimiento de múltiples blobs, siendo resistente a los cuadros descartados. Básicamente, desea poder asignar identificadores persistentes a cada blob en múltiples marcos, teniendo en cuenta que debido a las condiciones de iluminación cambiantes y debido a que las personas caminan muy juntas y/o se cruzan, los blobs pueden caerse por varios marcos, dividirse y/o fusionar

Para hacer esto 'correctamente', usted desearía un algoritmo de asignación de ID difuso que sea resistente a los fotogramas descartados (es decir, el ID de blob permanece, e idealmente predice movimiento, si el blob se cae para un marco o dos). También es probable que desee mantener un historial de fusiones y divisiones de ID, de modo que si dos identificadores se fusionan en uno y luego uno se divide en dos, puede volver a asignar los ID fusionados individuales a los dos blobs resultantes.

En mi experiencia, el openFrameworks ejemplo básico de OpenCv es un buen punto de partida.

0

No voy a poner esto como la respuesta correcta.

Es solo una opción para quienes pueden leer en portugués o pueden usar un traductor. Es mi proyecto de graduación y existe la explicación de una opción para contar personas en él.

Limitaciones:

  • Se no se comportan bien en envirionaments que cambian tanto la luz de fondo.
  • Debe estar configurado para cada ubicación que usará.

Ventajas:

  • Es rápido!

Utilicé OpenCV para hacer las funciones básicas como capturar pantalla, pasar por los píxeles, etc. Pero el algoritmo para contar personas lo hice yo mismo.

se puede comprobar en esta paper

opinión final sobre este proyecto: No es preparado para ir con vida, a se convirtió en un producto. Pero funciona muy bien como base para el estudio.

+0

su enlace para [papel] (http://pdfcast.org/pdf/real-time-people-couting) no funciona. Amablemente actualice su referencia. – abhinav

+1

@abhinav Actualicé el enlace –