LEIADAVE

DAVE

EXPOINGENIERÍASPrimer lugar · CienciasTec de Monterrey · Querétaro

Driver Attention and
Vision Evaluator

DAVE estudia cómo reconocer somnolencia y distracción en un conductor. Observa ojos, boca, cabeza y mirada; reúne su evolución en 90 muestras y clasifica la secuencia como Alerta, Somnolencia o Distracción.

Explora las señales, los objetos detectados y la respuesta del modelo con tu cámara o una grabación de ejemplo.

PROCESADO LOCAL

Activa tu cámara o prueba los ejemplos en la barra superior.

Sin fuente activa0 / 90 muestras

Demo experimental. No usar durante la conducción. Cómo funciona y qué resultados tiene ↓

Primer lugar
en el área de Ciencias.

ExpoIngenierías · Tecnológico de Monterrey,
campus Querétaro.

EQUIPO MULTIDISCIPLINARIO DE LEIA

  • Santiago Saldaña Subías
  • Diego Perea León
  • Felipe Pacheco Zamorano
  • Alondra Lizeth Landín Vega
  • Josué Martínez Avendaño
  • Diego Alberto Pasaye González
↑ Demo

· visión y secuencias

Participantes · LEIASantiago Saldaña Subías · Diego Perea León · Felipe Pacheco Zamorano · Alondra Lizeth Landín Vega · Josué Martínez Avendaño · Diego Alberto Pasaye González

Driver Attention and Vision Evaluator

DAVE estudia cómo reconocer señales visuales relacionadas con el estado de un conductor. Una cámara aporta imágenes; un extractor las convierte en medidas de ojos, boca, cabeza y mirada. Una red reúne su evolución reciente y elige entre tres clases. El objetivo es investigar una lectura accesible y explicable de esas señales, con límites claros sobre lo que una imagen puede revelar.

Fecha del proyecto
Modelo utilizado
con

01Qué observa y qué predice

MediaPipe estima y una transformación de la cara. DAVE calcula 18 valores por instante, en lugar de entregar los píxeles directamente al clasificador. Algunas señales describen la imagen actual; otras resumen hasta un minuto de observaciones anteriores. La etiqueta final corresponde a la ventana, no a cada gesto ni a la intención de la persona.

La apertura de los ojos se expresa con . Durante unos 30 segundos nominales, el extractor reúne una apertura de referencia y después divide el EAR por su . El conteo de cierre usa el EAR geométrico y un umbral fijo: la y la decisión de «ojos cerrados» son operaciones diferentes.

FIGURA 1 / DE LA FORMA A UNA MEDIDA
Esquema:
p1p2p3p4p5p6EAR geométrico = 0.33

Dos separaciones verticales se comparan con la anchura del ojo. Cerrar los párpados reduce la razón sin cambiar el tamaño horizontal del esquema.

EAR = (‖p₂ − p₆‖ + ‖p₃ − p₅‖) / (2 ‖p₁ − p₄‖)

Los seis puntos ilustran el cálculo; no pertenecen a un rostro registrado ni representan una predicción. El extractor usa las coordenadas estimadas y calibra su apertura de referencia.

Una señal geométrica describe una forma. Para distinguir un parpadeo breve de un cierre persistente hacen falta duración e historia temporal.
Las 18 entradas, agrupadas por lo que representan. Un porcentaje temporal se almacena como proporción de 0 a 1.
GrupoSeñalesUnidad e historia
Ojos · 7EAR izquierdo, derecho y promedio; ; tasa y duración media de parpadeo; cambio de EARRazones; proporción de cierre en 60 s; parpadeos/min; segundos; cambio por frame
Boca · 2 y duración de boca abiertaRazón geométrica y frames consecutivos
Cabeza · 5, variación de pose y conteo de cabeceosÁngulos en grados; de su magnitud en 1 s; conteo en 10 s
Mirada · 4 horizontal y vertical, variación de mirada y proporción desviadaGrados; desviación estándar de la magnitud en 1 s; proporción en 5 s

La mirada se aproxima con la posición del iris. «Mirada desviada» significa superar un umbral angular del extractor; no identifica la carretera ni el objeto observado. Al perder el rostro, el extractor genera valores prefijados de pose y mirada desviadas: pueden favorecer Distracción aunque la ausencia de rostro también provenga de una oclusión o un fallo de detección.

02Cómo reúne la secuencia

forman una matriz de 90 × 18, unos tres segundos a 29.76 frames/s. normaliza los valores de cada instante dentro de la red. Una de dos capas recorre la ventana hacia delante y hacia atrás, con 64 unidades por dirección. Cada instante queda representado por 128 valores.

La aprende a ponderar esos 90 estados. Su suma ponderada produce un vector de 128 valores; tres de tamaños 128, 64 y 3 producen los . El evaluador elige la puntuación mayor. La red usa 183,975 según estas dimensiones.

FIGURA 2 / EL CLASIFICADOR TEMPORAL
  1. 90 × 18Señales extraídas
  2. 90 × 18LayerNorm
    Escala y desplazamiento
  3. 90 × 128Bi-LSTM
    2 capas, dos sentidos
  4. 128 valoresAtención: pesos sobre
    los 90 instantes
  5. 3 puntuacionesCapas densas
    128 → 64 → 3
Bloques morados: parámetros que se ajustan durante el entrenamiento.

eₜ = vᵀ (W hₜ + b) · αₜ = (e)ₜ · c = Σₜ αₜ hₜ

hₜ es el estado recurrente de un instante, αₜ su peso y c la representación conjunta. LayerNorm aprende su escala y desplazamiento; también se entrenan la Bi-LSTM, la atención y las capas densas. Las medidas geométricas y sus reglas temporales se definieron antes del entrenamiento. La segunda dirección solo recorre frames ya presentes en la ventana.

«Atención» tiene aquí dos sentidos: el estado que se intenta clasificar y un mecanismo de agregación de la red. Los pesos de ese mecanismo no son una medición de atención humana ni una explicación causal de la etiqueta.

03Qué aprende y con qué datos

El entrenamiento combina , y . Las actividades de teléfono, bebida u otras tareas de DMD y AUC se agrupan en Distracción. El mapeo de DMD-Drowsiness asigna cierres de ojos, bostezos y microsueños a Somnolencia. En UTA-RLDD, tanto «baja vigilancia» como «somnoliento» se asignan a Somnolencia; la etiqueta proviene del estado declarado para el video completo. Esta simplificación une señales y criterios de anotación diferentes.

Las ventanas avanzan 15 frames y reciben la etiqueta mayoritaria de sus 90 registros. Los clips cortos se rellenan repitiendo su último registro. El procedimiento de propone con proporciones de 70/15/15, por conjunto y clase dominante.

La pérdida es con pesos inversos a la frecuencia de las clases en entrenamiento. ajusta la red; una programación varía la y el . reduce coadaptaciones durante el aprendizaje. Se conserva el modelo con mejor macro-F1 de validación y se aplica si deja de mejorar. Los pesos del detector facial y las fórmulas del extractor permanecen fijos.

FIGURA 3 / MÁS VENTANAS QUE ENSAYOS INDEPENDIENTESVentana A90 framesVentana B · +15 frames90 frames75 frames compartidos
Esquema del muestreo de evaluación: el solapamiento es 75/90 = 83.3%. El número de ventanas cuantifica decisiones sobre registros muy relacionados; no cuenta personas, viajes o incidentes distintos.

AUC-V2 contiene imágenes aisladas. El pipeline las agrupa por persona y construye ventanas sobre ese orden de imágenes, con marcas de tiempo artificiales; esas secuencias no representan la evolución natural de un gesto. UTA-RLDD, por su parte, se grabó con teléfonos o webcams en casa o en la universidad, en condiciones que aproximan un encuadre de automóvil. Ninguno de esos hechos convierte la prueba agregada en una evaluación de conducción real.

04Cómo evolucionó el enfoque

  1. Abril de 2026 · geometría y duración

    Un primer detector por reglas

    El primer prototipo del equipo usa , EAR y desplazamiento relativo de la nariz: distingue cierres de ojos, giro de cabeza y ausencia de rostro con umbrales y temporizadores. No aprende pesos. La investigación plantea pasar de estas señales aisladas a patrones temporales y estudiar límites de datos y de representación.

  2. Junio de 2026 · clasificación aprendida

    Una bi-LSTM sobre 18 señales

    Se incorporan el extractor con Face Landmarker, ventanas, entrenamiento y evaluación de DriverStateNet. La combinación de datos de somnolencia y actividades permite aprender tres etiquetas. La evidencia conservada pertenece a esta red temporal.

  3. Junio de 2026 · contexto de objetos y reglas

    De una etiqueta a una alerta

    Se añade vigilancia con detección de objetos; el sistema combina , el clasificador y reglas de persistencia o recuperación. Las revisiones del equipo muestran una tensión relevante: conservar historia temporal puede retrasar la recuperación, mientras reglas instantáneas pueden sustituir la decisión aprendida. Sus umbrales cambian el comportamiento del sistema combinado y requieren evaluación propia.

05Resultados y sus condiciones

63.60%
del test histórico · DriverStateNet35,349 ventanas · tres clases · evaluación conservada desde junio de 2026

La red clasifica correctamente 22,481 de 35,349 ventanas. es 65.71% y 63.69%. Los tres valores describen el mismo test con agregaciones diferentes. La muestra tiene y está dominada por Alerta y Somnolencia: Distracción ocupa solo 1.52%.

Comparación sobre las mismas cantidades de etiquetas. El control constante se calcula analíticamente; no requiere un modelo entrenado.
Método
Siempre SomnolenciaControl constante: la clase más frecuente55.53%23.80%39.65%
Bi-LSTM + atenciónDriverStateNet · modelo conservado63.60%65.71%63.69%

La mejora sobre el control constante es 8.07 de accuracy. asigna el mismo peso a cada clase y muestra que el clasificador hace más que elegir la etiqueta mayoritaria. Esta comparación evalúa el clasificador completo; no permite atribuir por separado la mejora a atención, bidireccionalidad o cada familia de señales.

Qué clases detecta y cuáles confunde

Unidad: ventana de 90 registros. Precisión, recall y F1 por clase.
Clase realVentanas
Alerta15,18357.36%60.13%58.71%
Somnolencia19,62968.52%66.19%67.34%
Distracción53775.90%66.85%71.09%
· filas: etiqueta real; columnas: predicción. Cada celda muestra cantidad y proporción dentro de su fila.
Real ↓ / Predicha →AlertaSomnolenciaDistracción
Alerta9,12960.13%5,95239.20%1020.67%
Somnolencia6,62433.75%12,99366.19%120.06%
Distracción16230.17%162.98%35966.85%

El error entre alerta y somnolencia domina

6,624 ventanas etiquetadas como Somnolencia se predicen como Alerta: 33.75% de esa clase. En sentido inverso, 5,952 ventanas de Alerta pasan a Somnolencia (39.20%). Estos dos errores impiden interpretar el promedio como una garantía para alertar a un conductor. La sensibilidad de Distracción se apoya en solo 537 ventanas y no permite concluir rendimiento uniforme sobre cada actividad.

El desempeño cambia entre fuentes de datos

Desglose del mismo test, sin reentrenar la red para cada conjunto.
FuenteVentanas por clase evaluada
AUC-V2274100.00%
Distracción: 100.00%
DMD-Distraction4,52687.85%
Alerta: 93.58%
Distracción: 38.46%
DMD-Drowsiness1,13075.04%
Alerta: 83.81%
Somnolencia: 46.27%
UTA-RLDD29,41959.09%
Alerta: 42.85%
Somnolencia: 68.15%

UTA-RLDD aporta 83.22% de las ventanas y tiene la menor accuracy del desglose. AUC-V2 obtiene 100%, pero sus 274 ventanas de test pertenecen a una sola clase: Distracción. Ese valor no evalúa tres estados ni valida secuencias naturales.

Cómo interpretar el macro-F1 por fuente

El informe guarda AUC-V2: 100%; DMD-Distraction: 44.01%; DMD-Drowsiness: 43.36%; UTA-RLDD: 37.00%. Su cálculo usa las clases presentes en las etiquetas o predicciones de cada subconjunto, en lugar de fijar las tres. AUC promedia una clase y los otros tres conjuntos promedian tres, incluyendo clases sin ejemplos reales cuando aparecen en las predicciones. Por ello, el 100% de AUC no comparte su denominador de clases con los demás.

Qué orden temporal usa la red

La prueba de reordena una señal dentro de cada ventana, manteniendo las otras 17. Al alterar pitch, macro-F1 baja 4.00 puntos porcentuales; con roll baja 2.36 y con yaw, 2.34. La dependencia medida es mayor para pose de cabeza que para apertura instantánea de boca. Es una intervención sobre entradas, sin reentrenamiento, y no establece causalidad.

Las 18 variaciones de macro-F1
Caída media de macro-F1 al reordenar cada señal. Unidad: puntos porcentuales.
SeñalCaída de
Inclinación de cabeza · pitch4.000 pp
Rotación lateral · roll2.360 pp
Giro de cabeza · yaw2.342 pp
Proporción de cierre · PERCLOS1.752 pp
Mirada vertical1.378 pp
Mirada horizontal1.171 pp
Variación de pose1.145 pp
Duración de parpadeo1.125 pp
Tasa de parpadeo1.037 pp
Conteo de cabeceos0.658 pp
Proporción de mirada desviada0.587 pp
EAR derecho0.405 pp
EAR promedio0.178 pp
Variación de mirada0.164 pp
Cambio de EAR por frame0.123 pp
Apertura de boca · MAR0.027 pp
Duración de boca abierta0.014 pp
EAR izquierdo-0.009 pp

El valor ligeramente negativo de EAR izquierdo significa que su permutación mejora marginalmente este promedio. Esa variación marginal no establece un efecto perjudicial de la señal.

Aprender las etiquetas y generalizar son medidas distintas

Métricas agregadas de entrenamiento y validación · seleccionada: 16.
Conjunto
Entrenamiento93.11%92.68%0.168
Validación63.39%65.23%1.972

El macro-F1 de entrenamiento es mayor que el de validación. La diferencia señala que reconocer las etiquetas vistas durante el aprendizaje no implica la misma . Las mediciones de entrenamiento se acumulan mientras cambian los pesos y está activo dropout; validación utiliza la red fija. Esta comparación no aísla la causa de la diferencia.

F1 por clase durante la selección
F1 por clase en entrenamiento y validación durante la selección del modelo.
ConjuntoAlertaSomnolenciaDistracción
Entrenamiento91.89%94.05%92.10%
Validación54.07%69.48%72.14%

La pérdida es entropía cruzada ponderada por clase; su escala no es un porcentaje de error. La selección usa macro-F1 de validación, no una minimización de la pérdida publicada.

La validación se usó para seleccionar pesos; no es otra prueba independiente. Las ventanas se solapan y comparten sujetos y modelo: tratarlas como ensayos independientes subestimaría la incertidumbre.

06Qué sostiene esta evidencia

La evaluación permite estudiar un clasificador de tres etiquetas sobre señales extraídas de estos conjuntos. No mide prevención de accidentes, detección de incidentes completos, intoxicación ni seguridad de conducción. El promedio agregado no debe extrapolarse a otras cámaras, condiciones de luz o grupos demográficos. La calibración geométrica y el preprocesamiento de luz modifican la representación, sin garantizar la eliminación de .

Los videos de ejemplo utilizan los pesos congelados y las 18 señales del extractor; al iniciar toman automáticamente una referencia facial de un fotograma. La red recibe señales crudas y aplica su interna. En la representación histórica, el umbral de mirada desviada es 45° y la apertura ocular se calibra con 894 muestras con rostro. La geometría calculada depende de la imagen: resolución, luz, detección facial y encuadre pueden cambiar sus entradas. Los porcentajes anteriores corresponden al test histórico, no a la cámara del visitante.

La cámara en vivo añade un punto cero personal: toma una referencia estable con ojos abiertos y postura habitual. Divide la apertura ocular por esa referencia y expresa cabeza y mirada respecto de ella; considera cierre una apertura menor al 70% de la referencia. Esta regla relativa sustituye el umbral fijo de cierre sólo en este modo. Después de calibrar reúne 90 muestras nuevas con rostro antes de clasificar; perder el rostro o recalibrar descarta esa ventana. Los pesos no cambian, pero sí la representación de entrada. Esta adaptación experimental no demuestra que desaparezcan las falsas detecciones ni permite atribuir a la cámara los porcentajes del test histórico.

Los ejemplos fijan automáticamente ese punto cero al iniciar: el video queda pausado, se toma una referencia de un único fotograma con rostro y se reanuda. El control Recalibrar permite elegir otra referencia. Ese fotograma no cuenta como una secuencia de observaciones ni demuestra estabilidad de postura. La clasificación posterior usa 90 muestras nuevas; al activar esta adaptación, los resultados históricos tampoco describen su desempeño.

La cadencia depende del video y del dispositivo: 90 muestras pueden abarcar más de tres segundos. Reducir la resolución o la frecuencia de lectura puede cambiar las señales y la predicción. Algunas duraciones por conteo del extractor conservan una frecuencia nominal de 29.76 muestras/s; con otra cadencia, su interpretación temporal también cambia. La adaptación de carga permite explorar la demo en equipos distintos, pero requiere evaluar cada condición antes de comparar su desempeño con el test histórico.

La demo muestra Detectado, la clase y las puntuaciones inmediatas de la Bi-LSTM, y Normalizado, el estado del sistema tras aplicar reglas de decisión. Una asigna Distracción al detectar un celular con puntuación de YOLO superior a 0.45; tiene prioridad sobre la clase facial y no cambia sus puntuaciones. Detectar un teléfono en la imagen no demuestra que la persona lo esté usando. Cuando deja de detectarse, se muestra el estado facial filtrado. Las cifras anteriores corresponden a la Bi-LSTM con atención, sin estas reglas ni el detector de objetos.

La capa Normalizado exige, por defecto, tres segundos continuos de Somnolencia para activarla y un segundo de la misma clase alternativa para salir de ella. Ambos tiempos se pueden ajustar en Parámetros; cero elimina la espera. Una predicción contraria reinicia la confirmación. Sólo cuentan nuevas predicciones durante la lectura activa: las pausas no suman tiempo y perder el rostro reinicia la lectura facial. Este filtro temporal es una regla configurable del sistema, distinta de LayerNorm dentro de la red. Cambia la duración necesaria para emitir el estado y requiere una evaluación propia; no modifica las puntuaciones ni demuestra una mejora de accuracy.