Deteccin de movimiento corporal para el control de sueo y fatiga en conduccin de vehculos aplicando background substraction para el proyecto de conduccin segura

 

Body motion detection for sleep and fatigue monitoring in vehicle driving using background subtraction for the safe driving project

 

Deteco de movimento corporal para controlo do sono e da fadiga na conduo de veculos atravs da aplicao de subtrao de fundo para o projeto de conduo segura

 

Fabin Celso Gunsha-Maji I
fabian.gunsha@espoch.edu.ec 
https://orcid.org/0000-0001-5637-1052 

,ngel Jos Quevedo-Ros II
angel.quevedo@espoch.edu.ec 
https://orcid.org/0000-0003-2304-018X
Juan Carlos Castelo-Valdivieso III
j_castelo@espoch.edu.ec 
https://orcid.org/0000-0001-9542-8074 

,Elvis Enrique Argello IV
e_arguello@espoch.edu.ec 
https://orcid.org/0000-0001-5083-1011
 

 

 

 

 

 

 

 

 

 


Correspondencia: fabian.gunsha@espoch.edu.ec

 

Ciencias Tcnicas y Aplicadas

Artculo de Investigacin

 

* Recibido: 05 de junio de 2024 *Aceptado: 17 de julio de 2024 * Publicado: 05 de agosto de 2024

 

        I.            Facultad de Mecnica, Escuela Superior Politcnica de Chimborazo (ESPOCH), EC060155, Ecuador.

      II.            Facultad de Mecnica, Escuela Superior Politcnica de Chimborazo (ESPOCH), EC060155, Ecuador.

    III.            Facultad de Mecnica, Escuela Superior Politcnica de Chimborazo (ESPOCH), EC060155, Ecuador.

    IV.            Facultad de Mecnica, Escuela Superior Politcnica de Chimborazo (ESPOCH), EC060155, Ecuador.

 


Resumen

En la actualidad la visin artificial y el procesamiento de imgenes estn marcado un avance significativo debido a la evolucin de los procesadores, dentro de este enfoque la deteccin de movimiento se ha desarrollado algoritmos que permiten ser ms eficientes en ambientes donde la deteccin de movimiento resulta complicada, para los cuales OpenCV (Open Source Computer Vision) establece algunos mtodos que son analizados mediante la programacin de algoritmos en Python y son mostrados en este artculo que permitirn establecer estrategias de control de sueo y fatiga en la conduccin del vehculo.

Palabras clave: Visin Artificial; OpenCV; background substraction.

 

Abstract

Currently, artificial vision and image processing are experiencing significant progress due to the evolution of processors. Within this approach, motion detection has been developed with algorithms that allow for greater efficiency in environments where motion detection is complicated. For this, OpenCV (Open Source Computer Vision) establishes some methods that are analyzed by programming algorithms in Python and are shown in this article that will allow establishing strategies to control sleep and fatigue while driving a vehicle.

Keywords: Artificial Vision; OpenCV; background subtraction.

 

Resumo

Atualmente, a viso artificial e o processamento de imagens esto a fazer progressos significativos devido evoluo dos processadores. o OpenCV (Open Source). Viso por Computador) estabelece alguns mtodos que so analisados ​​por algoritmos de programao em Python e so mostrados neste artigo que permitiro estabelecer estratgias de controlo do sono e da fadiga na conduo do veculo.

Palavras-chave: Viso por Computador; OpenCV; subtrao de fundo.

 

Introduccin

En la actualidad la visin artificial y el procesamiento de imgenes estn desarrollndose debido a la evolucin de los procesadores dotndolos de mayor velocidad y paralelismo, provocando el desarrollo de algoritmos que permiten ser mas eficientes en ambientes donde la deteccin de movimiento de un objeto es difcil como el mar debido a las olas o en la naturaleza por el movimiento causado por el viento.

Este documento aborda el uso de los mtodos dados por la biblioteca OpenCV (Open Source Computer Vision) a travs de un programa desarrollado en Python para la deteccin de movimiento utilizando BackgroundSubtractor, que permite operar la segmentacin en primer plano y en segundo plano, mediante las clases BackgroundSubtractorKNN, BackgroundSubtractorMOG, BackgroundSubtractorMOG2, BackgroundSubtractorGMG, las cuales son evaluadas para verificar su eficiencia. Dentro de este contexto el Artculo

Motion Detection for Video Surveillance [6] muestra un algoritmo para la deteccin de movimiento (MODE) que es un mtodo no paramtrico basado en pixeles que requiere solo un cuadro para construir el modelo, es independiente de las variaciones de iluminacin, dinmicas y problemas de ruido. La deteccin de primer plano y fondo comienza desde el segundo fotograma en adelante, adicionalmente emplea un mtodo de seguimiento de objetos que detecta y elimina los objetos fantasmas rpidamente mientras evita que los objetos abandonados se descompongan en el fondo.

Este artculo propone como principal caracterstica dos modelos de color para almacenar la luminancia y la cromaticidad por separado. El primer modelo L consta nicamente de informacin de luminancia que se calcula a partir de RGB como muestra la ecuacin 1:

L = 0.2116R + 0.7152G + 0.0722B (1)

El segundo modelo de color propuesto l-r-g es tridimensional que consta de cromaticidad logartmica y r-g como muestra la ecuacin 2:

(2)

donde l es la imagen invariante y θ = 43.58 es la direccin de proyeccin calculada experimental. La cromaticidad r-g se calcula como muestra las ecuaciones 3 y 4.

 

Los autores comentan que su propuesta supera a otras tcnicas de deteccin de movimiento de ltima generacin debido a la propuesta de un nuevo modelo de color para resolver los problemas de sombreado y cambio de iluminacin.

Adems, se realiza una revisin de artculos en esta temtica. El documento est distribuido por Introduccin, Algoritmo desarrollado, donde se muestra el programa desarrollado en Python, resultados y finalmente se establecen las Conclusiones.

 

Algoritmo

Para el desarrollo del algoritmo se consideran tres sustractores de fondo disponibles en OpenCV: K-Nearest

Neighbors (KNN), Mixture of Gaussians (MOG2), and Geometric Multigrid (GMG).

Mtodos

K-Nearest Neighbors (KNN). - Este mtodo se desarrolla mediante la segmentacin de fondo con el primer plano basada en K vecinos ms cercanos, La clase implementa la resta de fondo de los K vecinos ms cercanos descrita en [1]. Este mtodo es muy eficiente si el nmero de pixeles de primer plano es bajo.

Mixture of Gaussians (MOG). - Este mtodo es una mezcla de gaussianos que se propuso inicialmente en [2], basado en [3], esta se basa en una mezcla de k distribuciones gaussianas que modela cada pixel de fondo, con valores para k dentro de 3 y 5, las diferentes distribuciones representan cada una diferentes colores de fondo y de primer plano.

El peso de cada una de las distribuciones utilizadas en el modelo es proporcional a la cantidad de tiempo que cada color permanece en ese pixel. Por lo tanto, cuando el peso de una distribucin de pixeles es bajo, ese pixel se clasifica como primer plano. En OpenCV, la implementacin de MOG tiene parmetros de entrada que calibran el comportamiento del mtodo como son:

history: Nmero de fotogramas que utilizara el mtodo para acumular pesos en el modelo, durante todo el periodo de procesamiento. Resultado de valores bajos en mayor sensibilidad a cambios bruscos de luminosidad.

nmixtures: Cuantas distribuciones gaussianas debe realizar durante todo el video de tal manera que los valores ms altos aumentan drsticamente el tiempo de procesamiento.

backgroundRatio: Define el peso umbral para la diferencia entre primer plano y el fondo. Los valores ms bajos pueden incurrir en objetos falsos.

noiseSigma: Define el nivel de ruido aceptado. Los valores bajos crean objetos falsos.

Mixture of Gaussians (MOG2). - Este mtodo MOG2 se bas en los artculos [4] y [5] con el objetivo de resolver una de las limitaciones que tena MOG en la cantidad fija de distribuciones utilizadas, usando una variable que determina una cantidad de distribuciones gaussianas, mapeadas pixel a pixel, MOG2 logra una mejor representacin de la complejidad de los colores en cada cuadro. Los parmetros de entrada se pueden cambiar por cada video diferente y estos son:

history: Similar al parmetro de MOG que denota el nmero de fotogramas que se utilizarn para modelar el fondo.

varThreshold: Correlaciona el valor del peso de los pixeles en el fotograma actual con los valores del modelo de tal manera que los valores ms bajos de este parmetro tienden a crear objetos falsos.

detectShadows: Habilita o deshabilita la deteccin de sombras, habilitar este parmetro aumenta los tiempos de procesamiento.

Geometric Multigrid (GMG). - El mtodo GMG, propuesto en [1], modela el fondo con una combinacin de Inferencia bayesiana y filtros de Kalman. La primera etapa del mtodo se acumula, para cada pixel, valores ponderados segn el tiempo que permanezca un color en esa posicin. Para cada cuadro, se agregan nuevas observaciones al modelo, actualizando estos valores. Colores que permanecen estticos durante un

determinada cantidad de tiempo se consideran antecedentes.

La segunda etapa filtra pixeles en el primer plano para reducir el ruido de la primera etapa. La implementacin de Python del mtodo GMG tiene parmetros de entrada que pueden modificarse y estos son:

initializationFrames: Indica cuntos fotogramas tiene el algoritmo que vamos a utilizar para inicializar el mtodo de modelado de fondo. Durante la inicializacin, el fotograma resultante siempre es negro. Cuantos ms fotogramas se utilicen en esta fase, ms estabilizado estar el modelo inicial.

decisionThreshold: Determina el umbral en el que los pixeles se clasifican como fondo o primer plano. En la primera fase, cuando el algoritmo acumula valores basados en el tiempo que un color permanece esttico, cada pixel con un valor ponderado ms bajo, entonces el umbral se considera parte del fondo. Si la eleccin de valores altos para este parmetro puede ocasionar la prdida de detecciones de objetos.

 

Algoritmo

El algoritmo que se muestra en la figura 1 est desarrollado en Python que permite comparar los mtodos. El programa inicia con la lectura va streaming VideoCapture(0) y la llamada al Algoritmo de segmentacin almacenada en la variable fgbg segn sea el caso a analizar:

                  fgbg=cv2.createBackgroundSubtractorKNN()

                  fgbg=cv2.createBackgroundSubtractorMOG()

                  fgbg=cv2.createBackgroundSubtractorMOG2()

                  fgbg=cv2.createBackgroundSubtractorGMG()

Fig. 1. Algoritmo BackgroundSubtractor

Para posteriormente iniciar un ciclo repetitivo en el que se realiza la captura del frame con frame=cap.read() y la aplicacin del algoritmo de Background Subtractor mediante fgmask=fgbg.apply(frame) que permite obtener la imagen en blanco y negro, donde el objeto en movimiento es de color blanco.

 

Resultados

Los resultados obtenidos en otras investigaciones con BackgroundSubtractor MOG se puede apreciar varias personas en el video, mientras que con el mtodo BackgroundSubtractor MOG2 se observa las sombras en las personas y finalmente con el mtodo BackgroundSubtractor GMG las personas aparecen como una sola y no permite diferenciar , mientras que la figura 2 muestra los resultados experimentales desarrollados con KNN que no estn claro el perfil dela persona mientras que MOG2 establece mejor el perfil de movimiento de la persona que permite detectar el movimiento del conductor para establecer alertas.

 

Fig. 2. Mtodos probados experimentalmente

 

 

Conclusiones

En los artculos analizados se desataca el mtodo para resolver los problemas de sombreado y cambio de iluminacin mediante las ecuaciones que utilizan el color RGB que se muestra en el artculo deteccin de movimiento para supervigilancia.

El trabajo experimental desarrollado en Python sobre background substration determino que MOG y MOG2 resultaron ms estables para detectar el movimiento del conductor, cabe sealar que el nmero de frames utilizados es 20 que permite una actualizacin rpida del proceso, pero el color y la iluminacin afectan el proceso. Adicionalmente se debe considerar que Python establece 500 frames por defecto si no se declara provoca actualizaciones ms lentas del proceso.

 

Referencias

1.      Z. Zivkovic and F. van der Heijden, Efficient adaptive density estimation per image pixel for the task of background subtraction, vol. 27, no. 7, 2006, pp. 773780. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S0167865505003521

2.      P. Kaew Trakul Pong and R. Bowden, An improved adaptive background mixture model for real-time tracking with shadow detection, 2002.

3.      C. Stauffer and W. Grimson, Adaptive background mixture models for real-time tracking, in Proceedings. 1999 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (Cat. No PR00149), vol. 2, 1999, pp. 246252 Vol. 2.

4.      Z. Zivkovic, Improved adaptive gaussian mixture model for background subtraction, in Proceedings of the 17th International Conference on Pattern Recognition, 2004. ICPR 2004., vol. 2, 2004, pp. 2831 Vol.2.

5.      A. B. Godbehere, A. Matsukawa, and K. Goldberg, Visual tracking of human visitors under variable-lighting conditions for a responsive audio art installation, in 2012 American Control Conference (ACC), 2012, pp. 43054312.

6.      B. Singh, D. Singh, G. Singh, N. Sharma, and V. Sibbal, Motion detection for video surveillance, in 2014 International Conference on Signal Propagation and Computer Technology (ICSPCT 2014), 2014, pp. 578584.

7.      Y. Fang, J. Tang, W. Shen, W. Shen, X. Gu, L. Song, and G. Zhai, Dual attention guided gaze target detection in the wild, in Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), June 2021, pp. 11 39011 399.

 

 

 

 

 

 

2024 por los autores. Este artculo es de acceso abierto y distribuido segn los trminos y condiciones de la licencia Creative Commons Atribucin-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0)

(https://creativecommons.org/licenses/by-nc-sa/4.0/).

 

 

 

 

 

 

 

Enlaces de Referencia

  • Por el momento, no existen enlaces de referencia
';





Polo del Conocimiento              

Revista Científico-Académica Multidisciplinaria

ISSN: 2550-682X

Casa Editora del Polo                                                 

Manta - Ecuador       

Dirección: Ciudadela El Palmar, II Etapa,  Manta - Manabí - Ecuador.

Código Postal: 130801

Teléfonos: 056051775/0991871420

Email: polodelconocimientorevista@gmail.com / director@polodelconocimiento.com

URL: https://www.polodelconocimiento.com/