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:
| Evento | Descrição |
|---|---|
| Fixação do Olhar | Quando o motorista mantém o olhar fixo por muito tempo |
| Distração Visual | Quando o motorista desvia o olhar da estrada |
| Problemas de Postura | Inclinação excessiva da cabeça para cima/baixo ou lateralmente |
| Fechamento dos Olhos | Olhos fechados por períodos prolongados |
| Sonolência | Sinais gerais de cansaço e diminuição da atenção |
| Comendo | Motorista se alimentando durante a condução |
| Bebendo | Motorista ingerindo líquidos |
| Uso do Celular | Detecção de telefone próximo ao ouvido |
| Fumando | Identificação do ato de fumar |
| Bocejo | Abertura da boca característica de bocejo |
Agrupamento dos Eventos
Os eventos são organizados em três categorias principais:
| Categoria | Eventos Incluídos | Descrição |
|---|---|---|
| Distração | Distração visual, Fixação do olhar, Problemas de postura | Comportamentos que desviam a atenção da condução |
| Fadiga | Fechamento dos olhos, Bocejo, Sonolência | Sinais de cansaço que comprometem a segurança |
| Distração Física | Uso do celular, Comendo, Bebendo, Fumando | Atividades 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:
| Evento | Função de Detecção | Condições Específicas |
|---|---|---|
| Bocejo | isYawning | Veículo em movimento + boca válida + atividade de bocejo > limiar |
| Distração Visual | isGazeDistraction | Veículo em movimento + olhar desviado + tempo de distração > limiar |
| Fixação do Olhar | isGazeFixation | Condições específicas de fixação prolongada do olhar |
| Problemas de Postura (Pitch) | isPoseDistractionPitch | Inclinação da cabeça para cima/baixo > limiar |
| Problemas de Postura (Yaw) | isPoseDistractionYaw | Rotação da cabeça para laterais > limiar |
| Fechamento dos Olhos | isEyeClosure | Tempo de fechamento dos olhos > limiar |
| Sonolência | isDrowsiness | Conjunto de indicadores de fadiga |
| Comendo | isEating | Detecção de atividade de alimentação |
| Bebendo | isDrinking | Detecção de ingestão de líquidos |
| Uso do Celular | isOnPhone | Telefone próximo ao ouvido |
| Fumando | isSmoking | Identificaçã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:
YAWNING_EVENT- BocejoEYE_CLOSURE_EVENT- Fechamento dos olhosON_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ênciaGAZE_DISTRACTION_EVENT- Distração visualGAZE_FIXATION_EVENT- Fixação do olharPOSE_DISTRACTION_PITCH_EVENT- Problemas de postura (vertical)POSE_DISTRACTION_YAW_EVENT- Problemas de postura (horizontal)EATING_EVENT- ComendoDRINKING_EVENT- BebendoSMOKING_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
- Câmera captura frames continuamente (10 FPS)
- Biblioteca analisa e gera eventos brutos
- Sistema recebe múltiplos eventos por segundo
Etapa 2: Aplicação das Regras
- Criação do Contexto: Combina dados da visão + velocidade + configuração
- Execução das 11 Regras: Cada regra é avaliada com suas condições específicas
- Filtro de Eventos: Apenas eventos que passaram nas regras são considerados
Etapa 3: Sistema de Prioridades
- Verificação de Prioridade: Busca primeiro por eventos prioritários
- Processamento Prioritário: Se encontrado, apenas o evento prioritário é enviado
- Processamento Regular: Se não há prioritários, processa eventos regulares
Etapa 4: Controle de Frequência
- Eventos Prioritários: Enviados imediatamente
- Eventos Regulares: Verificação da janela de 2 minutos
- 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)
- Detecção: Motorista boceja enquanto dirige a 50 km/h
- Aplicação da Regra:
isYawning→ veículo em movimento ✓ + boca válida ✓ + bocejo detectado ✓ - Verificação de Prioridade: YAWNING_EVENT é prioritário ✓
- Resultado: Alerta enviado imediatamente
- 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)
- Detecção: Motorista olha para o lado por 1 segundo
- Aplicação da Regra:
isGazeDistraction→ tempo insuficiente ✗ - Resultado: Evento descartado na fase de regras
Exemplo 3: Distração Prolongada (Controle de Frequência)
- Detecção: Motorista olha para o lado por 5 segundos
- Aplicação da Regra:
isGazeDistraction→ veículo em movimento ✓ + tempo suficiente ✓ - Verificação de Prioridade: Não é prioritário ✗
- Controle de Frequência: Última distração foi há 1 minuto
- 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.