Skip to main content

Sistema de Detecção Inteligente de Comportamento do Motorista (DMS)

Visão Geral

O nosso dispositivo utiliza um sistema avançado para monitorar o comportamento do motorista em tempo real. Este sistema funciona através de uma câmera interna que captura imagens do motorista e uma biblioteca especializada que analisa essas imagens para identificar diferentes comportamentos.

Como Funciona a Detecção

Análise de Imagens

A câmera do dispositivo captura continuamente frames de vídeo do motorista. Uma biblioteca externa analisa esses frames e extrai informações importantes sobre:

  • Abertura dos olhos: Monitora se os olhos estão abertos, fechados ou parcialmente fechados
  • Posição da boca: Detecta se a boca está aberta (indicando possível bocejo)
  • Direção do olhar: Identifica para onde o motorista está olhando
  • Posição da cabeça: Monitora a postura e orientação da cabeça

Tipos de Eventos Detectados

Com base nessas informações, o sistema identifica os seguintes comportamentos:

EventoDescrição
Fixação do OlharQuando o motorista mantém o olhar fixo por muito tempo
Distração VisualQuando o motorista desvia o olhar da estrada
Problemas de PosturaInclinação excessiva da cabeça para cima/baixo ou lateralmente
Fechamento dos OlhosOlhos fechados por períodos prolongados
SonolênciaSinais gerais de cansaço e diminuição da atenção
ComendoMotorista se alimentando durante a condução
BebendoMotorista ingerindo líquidos
Uso do CelularDetecção de telefone próximo ao ouvido
FumandoIdentificação do ato de fumar
BocejoAbertura da boca característica de bocejo

Agrupamento dos Eventos

Os eventos são organizados em três categorias principais:

CategoriaEventos IncluídosDescrição
DistraçãoDistração visual, Fixação do olhar, Problemas de posturaComportamentos que desviam a atenção da condução
FadigaFechamento dos olhos, Bocejo, SonolênciaSinais de cansaço que comprometem a segurança
Distração FísicaUso do celular, Comendo, Bebendo, FumandoAtividades que ocupam as mãos ou demandam atenção física

O Desafio: Muitos Alertas Desnecessários

A biblioteca de detecção é extremamente sensível e pode identificar comportamentos várias vezes por segundo. Se enviássemos todos esses eventos diretamente para a central de monitoramento, teríamos:

  • Centenas de alertas por minuto
  • Falsos positivos constantes
  • Experiência desconfortável para o motorista
  • Sobrecarga do sistema de monitoramento

Nossa Solução: Sistema de Filtragem Inteligente

Para resolver esse problema, desenvolvemos um sistema que atua como um "filtro inteligente" entre a detecção bruta e o envio de alertas reais. Este sistema não é apenas um ajuste de sensibilidade - é uma análise complexa que considera múltiplos fatores.

Regras Específicas de Detecção

Regras Implementadas

O sistema processa 11 tipos de eventos através de regras específicas:

EventoFunção de DetecçãoCondições Específicas
BocejoisYawningVeículo em movimento + boca válida + atividade de bocejo > limiar
Distração VisualisGazeDistractionVeículo em movimento + olhar desviado + tempo de distração > limiar
Fixação do OlharisGazeFixationCondições específicas de fixação prolongada do olhar
Problemas de Postura (Pitch)isPoseDistractionPitchInclinação da cabeça para cima/baixo > limiar
Problemas de Postura (Yaw)isPoseDistractionYawRotação da cabeça para laterais > limiar
Fechamento dos OlhosisEyeClosureTempo de fechamento dos olhos > limiar
SonolênciaisDrowsinessConjunto de indicadores de fadiga
ComendoisEatingDetecção de atividade de alimentação
BebendoisDrinkingDetecção de ingestão de líquidos
Uso do CelularisOnPhoneTelefone próximo ao ouvido
FumandoisSmokingIdentificação do ato de fumar

Sistema de Processamento de Regras

1. Condições Básicas Comuns

Verificação do Movimento do Veículo

  • Função: isVehicleMoving(fact)
  • Condição: velocidade_atual >= velocidade_mínima_movimento
  • Velocidade mínima padrão: 20 km/h (configurável)
  • Aplicação: Muitas regras só se aplicam com o veículo em movimento

Validação da Boca

  • Função: isMouthValid(fact)
  • Verifica se a detecção da boca é confiável
  • Usado principalmente para eventos de bocejo

2. Exemplos de Regras Específicas

Regra de Bocejo (isYawning)

SE (veículo em movimento) E 
(boca válida) E
(atividade de bocejo > limiar configurado)
ENTÃO evento de bocejo = verdadeiro

Regra de Distração Visual (isGazeDistraction)

SE (veículo em movimento) E 
(olhar desviado da estrada) E
(tempo de distração > limiar configurado)
ENTÃO evento de distração = verdadeiro

Regra de Fechamento de Olhos (isEyeClosure)

SE (tempo de fechamento dos olhos > limiar configurado)
ENTÃO evento de fechamento = verdadeiro

Sistema de Prioridades

Eventos Prioritários (Processamento Imediato)

Os seguintes eventos são sempre processados imediatamente:

  1. YAWNING_EVENT - Bocejo
  2. EYE_CLOSURE_EVENT - Fechamento dos olhos
  3. ON_PHONE_EVENT - Uso do celular

Características dos Eventos Prioritários:

  • Ignoram completamente a janela de tempo
  • São enviados instantaneamente quando detectados
  • Atualizam o timestamp para controle futuro
  • Se múltiplos eventos prioritários ocorrem simultaneamente, apenas o primeiro da lista é enviado

Eventos Regulares (Controle de Frequência)

Todos os outros eventos passam pelo sistema de controle de frequência:

  • DROWSINESS_EVENT - Sonolência
  • GAZE_DISTRACTION_EVENT - Distração visual
  • GAZE_FIXATION_EVENT - Fixação do olhar
  • POSE_DISTRACTION_PITCH_EVENT - Problemas de postura (vertical)
  • POSE_DISTRACTION_YAW_EVENT - Problemas de postura (horizontal)
  • EATING_EVENT - Comendo
  • DRINKING_EVENT - Bebendo
  • SMOKING_EVENT - Fumando

Controle de Frequência

Parâmetros Específicos

Janela de Tempo:

  • Duração padrão: 2 minutos
  • Aplicação: Eventos não-prioritários
  • Funcionamento: Evento só pode ser enviado novamente após 2 minutos da última ocorrência

Lógica de Controle

PARA cada evento não-prioritário detectado:
SE (nunca foi detectado antes):
- Envia o evento
- Registra timestamp atual
SENÃO SE (tempo decorrido >= 2 minutos):
- Envia o evento
- Atualiza timestamp
SENÃO:
- Descarta o evento (ainda na janela de tempo)

Fluxo de Processamento

Etapa 1: Captura e Análise

  1. Câmera captura frames continuamente (10 FPS)
  2. Biblioteca analisa e gera eventos brutos
  3. Sistema recebe múltiplos eventos por segundo

Etapa 2: Aplicação das Regras

  1. Criação do Contexto: Combina dados da visão + velocidade + configuração
  2. Execução das 11 Regras: Cada regra é avaliada com suas condições específicas
  3. Filtro de Eventos: Apenas eventos que passaram nas regras são considerados

Etapa 3: Sistema de Prioridades

  1. Verificação de Prioridade: Busca primeiro por eventos prioritários
  2. Processamento Prioritário: Se encontrado, apenas o evento prioritário é enviado
  3. Processamento Regular: Se não há prioritários, processa eventos regulares

Etapa 4: Controle de Frequência

  1. Eventos Prioritários: Enviados imediatamente
  2. Eventos Regulares: Verificação da janela de 2 minutos
  3. Decisão Final: Envio ou descarte baseado no histórico

Etapa 5: Gerenciamento de Buffer

O sistema mantém um buffer inteligente que:

  • Armazena eventos temporariamente
  • Descarta eventos mais antigos quando necessário
  • Adapta-se à disponibilidade de memória do dispositivo

Exemplos Práticos

Exemplo 1: Bocejo (Evento Prioritário)

  1. Detecção: Motorista boceja enquanto dirige a 50 km/h
  2. Aplicação da Regra: isYawning → veículo em movimento ✓ + boca válida ✓ + bocejo detectado ✓
  3. Verificação de Prioridade: YAWNING_EVENT é prioritário ✓
  4. Resultado: Alerta enviado imediatamente
  5. Proteção: Próximo bocejo (se não for prioritário) só gerará alerta após 2 minutos

Exemplo 2: Olhar para o Lado (Evento Regular)

  1. Detecção: Motorista olha para o lado por 1 segundo
  2. Aplicação da Regra: isGazeDistraction → tempo insuficiente ✗
  3. Resultado: Evento descartado na fase de regras

Exemplo 3: Distração Prolongada (Controle de Frequência)

  1. Detecção: Motorista olha para o lado por 5 segundos
  2. Aplicação da Regra: isGazeDistraction → veículo em movimento ✓ + tempo suficiente ✓
  3. Verificação de Prioridade: Não é prioritário ✗
  4. Controle de Frequência: Última distração foi há 1 minuto
  5. Resultado: Evento descartado (ainda na janela de 2 minutos)

Benefícios da Nova Abordagem

Para o Motorista

  • Menos Interrupções: Alertas apenas quando realmente necessário
  • Maior Precisão: Redução drástica de falsos positivos
  • Experiência Melhorada: Sistema menos intrusivo e mais inteligente

Para o Sistema de Monitoramento

  • Dados Relevantes: Apenas eventos significativos são transmitidos
  • Redução de Tráfego: Menos dados transmitidos significa menor custo e maior eficiência
  • Melhor Análise: Dados mais limpos permitem análises mais precisas

Para a Segurança

  • Detecção Precisa: Foco em comportamentos realmente perigosos
  • Resposta Adequada: Alertas proporcionais ao nível de risco
  • Prevenção Efetiva: Sistema que o motorista leva a sério por ser preciso

Configurabilidade

Parâmetros Ajustáveis

Velocidade Mínima de Movimento:

  • Padrão: 20 km/h
  • Finalidade: Define quando o veículo está "em movimento"
  • Impacto: Afeta a maioria das regras de detecção

Janela de Tempo:

  • Padrão: 2 minutos
  • Finalidade: Controla frequência de eventos não-prioritários
  • Configuração: Por tipo de evento se necessário

Lista de Eventos Prioritários:

  • Atual: Sonolência, Bocejo, Fechamento dos olhos, Uso do celular
  • Flexibilidade: Pode ser modificada conforme políticas de segurança

Capacidade do Buffer:

  • Cálculo: Baseado em FPS e disponibilidade de memória
  • Mínimo: 50 eventos
  • Adaptação: Dinâmica conforme recursos disponíveis

Limiares de Detecção:

  • Específicos para cada regra (bocejo, distração, etc.)
  • Calibráveis conforme necessidade
  • Balanceamento entre sensibilidade e precisão

Conclusão

Nossa nova abordagem transforma um sistema de detecção "bruto" em uma solução inteligente e prática. Através da aplicação de 11 regras específicas, sistema de prioridades com 4 eventos críticos, e controle de frequência com janela de 2 minutos, conseguimos manter a alta precisão na detecção de comportamentos perigosos enquanto eliminamos o excesso de alertas desnecessários.

O resultado é um sistema que verdadeiramente contribui para a segurança no trânsito, proporcionando uma experiência equilibrada entre monitoramento efetivo e conforto do motorista.