El Proyecto se basa en la Detección y seguimiento de Personas y yo me estoy centrando principalmente en el seguimiento de Personas. Como se muestra en el gif de salida en README.md o output.mp4, a cada persona se le proporcionará una id
tan pronto como ingrese a un cuadro y la id
se mantiene independientemente de la detección que ocurra en cuadros simultáneos. El algoritmo detecta personas y las rastrea mientras permanece en el marco.
Person_det_track.py detecta y rastrea a la persona usando SSD y filtro Kalman
Intente seguir con la versión proporcionada tanto como sea posible; de lo contrario, enfrentará problemas de compatibilidad. He utilizado la mejor combinación posible durante el tiempo de codificación.
opencv [v3.1]
Flujo tensor [v1.5.0]
El método propuesto aquí se divide en 2 partes principales.
Detección de personas: la detección de personas en tiempo real se realiza con la ayuda del detector Single Shot MultiBox. SSD alcanza un 75,1% de mAP, superando a un modelo R-CNN más rápido comparable de última generación. y el modelo SSD está disponible en el zoológico de detección de Tensorflow. La perfecta integración de SSD con tensorflow ayuda a una mayor optimización e implementación del algoritmo. La detección de objetos SSD se compone de 2 partes:
Seguimiento de personas: se puede lograr un cuadro delimitador alrededor del objeto/persona ejecutando el modelo de detección de objetos en cada cuadro, pero esto es computacionalmente costoso. El algoritmo de seguimiento utilizado aquí es el filtrado de Kalman. El filtro Kalman se ha considerado durante mucho tiempo como la solución óptima para muchas tareas de seguimiento y predicción de datos. Su uso en el análisis del movimiento visual. El propósito del filtrado es extraer la información requerida de una señal, ignorando todo lo demás. En este proyecto, el filtro Kalman se alimenta con la velocidad, posición y dirección de la persona, lo que le ayuda a predecir la ubicación futura de la persona en función de sus datos anteriores.
La parte de seguimiento todavía enfrenta algunos problemas en el momento de la oclusión. (Trabajando en ello)
El sistema consta de dos partes, primero, la detección humana y, segundo, el seguimiento. Las primeras investigaciones estaban sesgadas hacia el reconocimiento humano en lugar del seguimiento. El seguimiento de los movimientos de un ser humano planteó la necesidad de realizar un seguimiento. El seguimiento de los movimientos es de gran interés para determinar las actividades de una persona y la atención de una persona.
Reducir el requisito de potencia de cálculo: un algoritmo de detección de objeciones normal detecta el objeto pero no rastrea (asigna una identificación) un objeto a través de fotogramas; por lo tanto, debe ejecutarse en cada cuadro para obtener el cuadro delimitador. El seguimiento ayudará a reducir el número de veces que se debe ejecutar el algoritmo de detección, es decir, en lugar de ejecutar el algoritmo de detección en cada cuadro, esta implementación ejecuta la detección cada 5 cuadros.
Compensación de fallas del modelo de detección de objetos: puede haber algunas poses en las que SSD no detecte a la persona. Incluso la oclusión puede afectar significativamente al detector; ahí es donde el algoritmo de seguimiento puede ayudarnos mucho.
Recuperación de identidad: el seguimiento de un ser humano se puede utilizar como paso previo al reconocimiento facial biométrico. Mantener un seguimiento continuo de una persona permitirá identificarla en cualquier momento. Incluso si la identificación del rostro no es posible en un conjunto particular de fotogramas, se puede encontrar su identidad mediante el seguimiento. Por Neeraj Menon