����������������������������������������������������������������������������������
Body motion detection for sleep and fatigue monitoring in vehicle driving using background subtraction for the safe driving project
Detec��o de movimento corporal para controlo do sono e da fadiga na condu��o de ve�culos atrav�s da aplica��o de subtra��o de fundo para o projeto de condu��o segura
![]() |
|||
![]() |
Correspondencia: fabian.gunsha@espoch.edu.ec
Ciencias T�cnicas y Aplicadas
Art�culo de Investigaci�n
* Recibido: 05 de junio de 2024 *Aceptado: 17 de julio de 2024 * Publicado: �05 de agosto de 2024
I. Facultad de Mec�nica, Escuela Superior Polit�cnica de Chimborazo (ESPOCH), EC060155, Ecuador.
II. Facultad de Mec�nica, Escuela Superior Polit�cnica de Chimborazo (ESPOCH), EC060155, Ecuador.
III. Facultad de Mec�nica, Escuela Superior Polit�cnica de Chimborazo (ESPOCH), EC060155, Ecuador.
IV. Facultad de Mec�nica, Escuela Superior Polit�cnica de Chimborazo (ESPOCH), EC060155, Ecuador.
Resumen
En la actualidad la visi�n artificial y el procesamiento de im�genes est�n marcado un avance significativo debido a la evoluci�n de los procesadores, dentro de este enfoque la detecci�n de movimiento se ha desarrollado algoritmos que permiten ser m�s eficientes en ambientes donde la detecci�n de movimiento resulta complicada, para los cuales OpenCV (Open Source Computer Vision) establece algunos m�todos que son analizados mediante la programaci�n de algoritmos en Python y son mostrados en este art�culo que permitir�n establecer estrategias de control de sue�o y fatiga en la conducci�n del veh�culo.
Palabras clave: Visi�n 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 vis�o artificial e o processamento de imagens est�o a fazer progressos significativos devido � evolu��o dos processadores. o OpenCV (Open Source). Vis�o por Computador) estabelece alguns m�todos que s�o analisados por algoritmos de programa��o em Python e s�o mostrados neste artigo que permitir�o estabelecer estrat�gias de controlo do sono e da fadiga na condu��o do ve�culo.
Palavras-chave: Vis�o por Computador; OpenCV; subtra��o de fundo.
Introducci�n
En la actualidad la visi�n artificial y el procesamiento de im�genes est�n desarroll�ndose debido a la evoluci�n de los procesadores dot�ndolos de mayor velocidad y paralelismo, provocando el desarrollo de algoritmos que permiten ser mas eficientes en ambientes donde la detecci�n de movimiento de un objeto es dif�cil 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 m�todos dados por la biblioteca OpenCV (Open Source Computer Vision) a trav�s de un programa desarrollado en Python para la detecci�n de movimiento utilizando BackgroundSubtractor, que permite operar la segmentaci�n 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 Art�culo
Motion Detection for Video Surveillance [6] muestra un algoritmo para la detecci�n de movimiento (MODE) que es un m�todo no param�trico basado en pixeles que requiere solo un cuadro para construir el modelo, es independiente de las variaciones de iluminaci�n, din�micas y problemas de ruido. La detecci�n de primer plano y fondo comienza desde el segundo fotograma en adelante, adicionalmente emplea un m�todo de seguimiento de objetos que detecta y elimina los objetos fantasmas r�pidamente mientras evita que los objetos abandonados se descompongan en el fondo.
Este art�culo propone como principal caracter�stica dos modelos de color para almacenar la luminancia y la cromaticidad por separado. El primer modelo L consta �nicamente de informaci�n de luminancia que se calcula a partir de RGB como muestra la ecuaci�n 1:
�L = 0.2116R + 0.7152G + 0.0722B� �����������(1)
El segundo modelo de color propuesto l-r-g es tridimensional que consta de cromaticidad logar�tmica y r-g como muestra la ecuaci�n 2:
������������������
(2)
donde l es la imagen invariante y θ = 43.58 es la direcci�n de proyecci�n calculada experimental. La cromaticidad r-g se calcula como muestra las ecuaciones 3 y 4.
Los autores comentan que su propuesta supera a otras t�cnicas de detecci�n de movimiento de �ltima generaci�n debido a la propuesta de un nuevo modelo de color para resolver los problemas de sombreado y cambio de iluminaci�n.
Adem�s, se realiza una revisi�n de art�culos en esta tem�tica. El documento est� distribuido por Introducci�n, 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).
M�todos
K-Nearest Neighbors (KNN). - Este m�todo se desarrolla mediante la segmentaci�n de fondo con el primer plano basada en K vecinos m�s cercanos, La clase implementa la resta de fondo de los K vecinos m�s cercanos descrita en [1]. Este m�todo es muy eficiente si el n�mero de pixeles de primer plano es bajo.
Mixture of Gaussians (MOG). - Este m�todo 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 distribuci�n de pixeles es bajo, ese pixel se clasifica como primer plano. En OpenCV, la implementaci�n de MOG tiene par�metros de entrada que calibran el comportamiento del m�todo como son:
history: N�mero de fotogramas que utilizara el m�todo 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 m�s altos aumentan dr�sticamente el tiempo de procesamiento.
backgroundRatio: Define el peso umbral para la diferencia entre primer plano y el fondo. Los valores m�s bajos pueden incurrir en objetos falsos.
noiseSigma: Define el nivel de ruido aceptado. Los valores bajos crean objetos falsos.
Mixture of Gaussians (MOG2). - Este m�todo MOG2 se bas� en los art�culos [4] y [5] con el objetivo de resolver una de las limitaciones que ten�a 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 representaci�n de la complejidad de los colores en cada cuadro. Los par�metros de entrada se pueden cambiar por cada video diferente y estos son:
history: Similar al par�metro de MOG que denota el n�mero de fotogramas que se utilizar�n 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 m�s bajos de este par�metro tienden a crear objetos falsos.
detectShadows: Habilita o deshabilita la detecci�n de sombras, habilitar este par�metro aumenta los tiempos de procesamiento.
Geometric Multigrid (GMG). - El m�todo GMG, propuesto en [1], modela el fondo con una combinaci�n de Inferencia bayesiana y filtros de Kalman. La primera etapa del m�todo se acumula, para cada pixel, valores ponderados seg�n el tiempo que permanezca un color en esa posici�n. Para cada cuadro, se agregan nuevas observaciones al modelo, actualizando estos valores. Colores que permanecen est�ticos 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 implementaci�n de Python del m�todo GMG tiene par�metros de entrada que pueden modificarse y estos son:
initializationFrames: Indica cu�ntos fotogramas tiene el algoritmo que vamos a utilizar para inicializar el m�todo de modelado de fondo. Durante la inicializaci�n, el fotograma resultante siempre es negro. Cuantos m�s fotogramas se utilicen en esta fase, m�s 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 est�tico, cada pixel con un valor ponderado m�s bajo, entonces el umbral se considera parte del fondo. Si la elecci�n de valores altos para este par�metro puede ocasionar la p�rdida de detecciones de objetos.
Algoritmo
El algoritmo que se muestra en la figura 1 est� desarrollado en Python que permite comparar los m�todos. El programa inicia con la lectura v�a streaming VideoCapture(0) y la llamada al Algoritmo de segmentaci�n almacenada en la variable fgbg seg�n 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 aplicaci�n 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 m�todo BackgroundSubtractor MOG2 se observa las sombras en las personas y finalmente con el m�todo 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 est�n 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. M�todos probados experimentalmente
Conclusiones����������
En los art�culos analizados se desataca el m�todo para resolver los problemas de sombreado y cambio de iluminaci�n mediante las ecuaciones que utilizan el color RGB que se muestra en el art�culo detecci�n de movimiento para supervigilancia.
El trabajo experimental desarrollado en Python sobre background substration determino que MOG y MOG2 resultaron m�s estables para detectar el movimiento del conductor, cabe se�alar que el n�mero de frames utilizados es 20 que permite una actualizaci�n r�pida del proceso, pero el color y la iluminaci�n afectan el proceso. Adicionalmente se debe considerar que Python establece 500 frames por defecto si no se declara provoca actualizaciones m�s 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. 773�780. [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. 246�252 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. 28�31 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. 4305�4312.
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. 578�584.
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 390�11 399.
� 2024 por los autores. Este art�culo es de acceso abierto y distribuido seg�n los t�rminos y condiciones de la licencia Creative Commons Atribuci�n-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/