Universidade Federal do ABC - Pós
Transcrição
Universidade Federal do ABC - Pós
UNIVERSIDADE FEDERAL DO ABC Centro de Matemática, Computação e Cognição (CMCC) Curso de Pós-Graduação em Ciência da Computação Dissertação de Mestrado Marcel Jesus Dias SISTEMA DE DETECÇÃO REMOTA DE SONOLÊNCIA EM MOTORISTAS: UMA SOLUÇÃO MÓVEL Santo André - SP 2014 Curso de Pós-Graduação em Ciência da Computação Dissertação de Mestrado Marcel Jesus Dias SISTEMA DE DETECÇÃO REMOTA DE SONOLÊNCIA EM MOTORISTAS: UMA SOLUÇÃO MÓVEL Trabalho apresentado como requisito parcial para obtenção do tı́tulo de Mestre em Ciência da Computação, sob orientação do Prof. Dr. Yossi Zana. Santo André - SP 2014 Este exemplar foi revisado e alterado em relação à versão original, de acordo com as observações levantadas pela banca no dia da defesa, sob responsabilidade única do autor e com a anuência de seu orientador. Santo André, 14 de fevereiro de 2014. Assinatura do autor: Assinatura do orientador: Centro de Matemática, Computação e Cognição (CMCC) Curso de Pós-Graduação em Ciência da Computação SISTEMA DE DETECÇÃO REMOTA DE SONOLÊNCIA EM MOTORISTAS: UMA SOLUÇÃO MÓVEL Marcel Jesus Dias Novembro de 2013 BANCA EXAMINADORA: • Prof. Dr. Yossi Zana (Presidente) (CMCC) Universidade Federal do ABC - UFABC • Prof. Dr. Carlos Eduardo Thomaz (Depto de Engenharia Eletrica) Centro Universitario da FEI • Prof. Dr. David Corrêa Martins Júnior (CMCC) Universidade Federal do ABC - UFABC Este trabalho contou com o auxı́lio financeiro da Universidade Federal do ABC Resumo O objetivo deste trabalho é apresentar uma solução para detecção remota e alerta de sonolência para motoristas. Os requisitos são: alta portabilidade, sensibilidade, operação em condições de iluminação diurnas e noturnas, mı́nimo de hardware especializado e baixo custo. A solução proposta é baseada no registro visual do piscar do motorista. O sistema consiste de um software para dispositivo portátil e uma câmera acoplada a um iluminador infravermelho. Por meio da câmera, a imagem do ambiente do carro é capturada, a face do motorista é detectada, a região dos olhos é estimada e um dos olhos é rastreado. Continuamente, o estado de abertura do olho é registrado e estatı́sticas de frequência e duração do piscar são computadas. A partir destes parâmetros estima-se o grau de sonolência e alertas sonoros são emitidos ao motorista. Foram estudadas algumas possibilidades de implementação da solução em dispositivos portáteis para a plataforma Android e conseguiu-se implementar bibliotecas de visão computacional de detecção e rastreamento de face e olhos. No entanto, para a demonstração conceitual de todo o processo da solução foi desenvolvido um algoritmo em ambiente Matlab. O algoritmo baseia-se em técnicas conhecidas na literatura e foram escolhidas em função de sua simplicidade e eficácia. A face do motorista é detectada por meio do algoritmo desenvolvido por Viola e Jones (2001) e a região dos olhos estimada pelas coordenadas do arcabouço da face. O olho é registrado e rastreado a partir do pixel mais escuro na região dos olhos. O estado de abertura do olho é estimado a partir do contraste da linha horizontal que atravessa a pupila. As imagens são captadas em condições reais de direção, em horários diurnos e noturnos em rodovias utilizando um celular e uma câmera com iluminação LED infravermelha. Em testes preliminares foram registrados 69% de precisão em ambiente diurno e 96% em ambiente noturno. A avaliação inicial do hardware e software de sistemas portáteis indica a viabilidade técnica de implementação e operação em celulares, providenciando alta portabilidade e baixo custo. Umas das contribuições desta pesquisa foi o pedido de patente da solução conceitual de um sistema de detecção de sonolência para dispositivos portáteis 1 2 Palavras-chave: Sistema de detecção remota, alerta de sonolência, dispositivo portátil. Abstract The aim of this work is to present a solution for remote detection and warning of drowsiness to drivers . The requirements are high portability, sensitivity, ability to operate in both daylight and nighttime conditions, minimal specialized hardware and low cost. The proposed solution is based on the visual recording of a driver’s blinking. The system consists of software for a portable device and and a camera linked to an infrared illuminator. Via the camera, an image of the car environment is captured, the face of the driver is detected , the eye region is estimated and one of the eyes is tracked . Next, the open-eye state is registered and statistics for the frequency and duration of the blinking are computed. From these parameters we estimate the degree of drowsiness and can emit audible warnings to the driver. Several possibilities for implementing the solution in Android portable devices were studied, and detection with computer vision libraries and face/eye tracking were succesfully implemented . We studied several possibilites for implementing the solution in Android portable devices, and successfully implemented detection with computer vision libraries and face/eye tracking. But for the conceptual demonstration of the whole solution process, we developed an algorithm in Matlab. It is based on well-known techniques from the literature, chosen for their simplicity and effectiveness. The face of the driver is detected by the Viola e Jones (2001) algorithm; the eye region is estimated from the coordinates of the contour of the face. The eye was recorded and tracked based on the identification of the darkest pixel in the eye. The open-eye state was estimated from the contrast of the horizontal line that crosses the pupil. The images were captured in real driving conditions at specific times of the day and night on highways using a cell phone and a webcam with infrared LED illuminator. In preliminary tests were registered 69% accuracy in day environment and 96% in night environment. The initial evaluation of hardware and software of mobile systems indicates the technical viability of implementation and operation in mobile phones, providing high portability and low cost. One of the contributions of this research was the patent application of the conceptual solution of a drowsiness detection system for portable devices. 3 4 Keywords: remote detection system, drowsiness warning, portable device. Agradecimentos Expressar meus sentimentos de gratidão de forma adequada a todos que os merecem, requerem palavras e ações que não cabem no papel. Os próximos parágrafos mostram uma tentativa de sintetizar estes sentimentos. Agradeço a Deus pela minha saúde e pela oportunidade de continuar meus estudos. Agradeço profundamente a minha esposa, Karina, as minhas filhas, Bianca e Gabrielle, pelo amor e carinho que sempre me deram, pela motivação, compreensão e apoio nos momentos mais difı́ceis e por todos os momentos que passamos juntos. Agradeço imensamente ao Prof. Yossi Zana pelos ensinamentos, ajuda e colaboração com o meu trabalho, pelas conversas e conselhos ao longo do perı́odo do mestrado, mas acima de tudo, por ser um amigo. A todos os professores pelas novas experiências, pelos desafios que me foram apresentados e pelos conhecimentos adquiridos. A meus amigos Alisoli Pretel, Jhon Franco, Lı́dia Rodrigues, Lucas Martins, Renato Stoffalette, Saeed Shariati e William Comfort por sempre em motivar, em ajudar e em torcer por mim. Agradeço a UFABC pelos financiamentos em bolsas e projetos, e em especial a Agência de Inovação, por desbravar caminhos que levaram ao registro da primeira patente da universidade, originada deste trabalho. E por fim, agradeço a todos que um dia acreditaram em mim. 5 Sumário 1 Introdução 12 1.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.2 Contribuições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.3 Organização do texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2 Trabalhos relacionados 2.1 2.2 15 Métodos de detecção de sonolência em motoristas . . . . . . . . . . . . . . 15 2.1.1 Definição de sonolência . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.1.2 Análise de condução do motorista . . . . . . . . . . . . . . . . . . . 16 2.1.3 Fenômenos fisiológicos humanos . . . . . . . . . . . . . . . . . . . . 17 2.1.4 Análise de imagens da face . . . . . . . . . . . . . . . . . . . . . . . 18 Dispositivos comerciais de detecção de sonolência . . . . . . . . . . . . . . 20 2.2.1 Driver state sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.2.2 Driver fatigue warning system . . . . . . . . . . . . . . . . . . . . . 21 2.3 Dispositivos portáteis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.4 Parâmetros de piscar como indicadores de sonolência . . . . . . . . . . . . 23 2.5 Processamento de imagem em dispositivo portátil . . . . . . . . . . . . . . 25 3 Sistema proposto 27 3.1 Arquitetura do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.2 Configuração do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.3 Instrumentação dos protótipos . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.4 Base de vı́deos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 6 SUMÁRIO 3.5 Detecção e rastreamento de imagens 3.5.1 3.6 7 . . . . . . . . . . . . . . . . . . . . . 31 Detecção facial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Avaliação de desempenho do sistema . . . . . . . . . . . . . . . . . . . . . 36 4 Implementação do protótipo 4.1 4.2 37 Sistema em Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.1.1 Pré-processamento de imagens . . . . . . . . . . . . . . . . . . . . . 38 4.1.2 Detecção de face . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.1.3 Detecção e avaliação do estado do olho . . . . . . . . . . . . . . . . 39 4.1.4 Rastreamento da região de interesse . . . . . . . . . . . . . . . . . . 40 4.1.5 Estimação do estado de sonolência . . . . . . . . . . . . . . . . . . 40 Análise de viabilidade de um sistema portátil . . . . . . . . . . . . . . . . 41 4.2.1 Plataforma de desenvolvimento . . . . . . . . . . . . . . . . . . . . 42 4.2.2 Testes da aplicação em Android . . . . . . . . . . . . . . . . . . . . 42 5 Resultados e discussão 44 5.1 Variação temporal do contraste . . . . . . . . . . . . . . . . . . . . . . . . 44 5.2 Frequência e duração do piscar . . . . . . . . . . . . . . . . . . . . . . . . 45 6 Conclusões 52 6.1 Considerações finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 6.2 Sugestões de trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . 53 A Patente de invenção depositada no INPI 60 Lista de Figuras 2.1 Posição dos eletrodos que mede parâmetros essenciais para a avaliação do sono. EEG: Eletroencefalograma; EOG: Eletro-oculograma; EMG: Eletromiograma. (Fernandes, 2006). . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2 Participação no mercado por sistema operacional nas vendas globais de dispositivos portáteis para usuários finais. Dados de cada 2o Trimestre dos anos de 2010 a 2013. Adaptado de GARTNER (2013). . . . . . . . . . . . 23 2.3 Aplicação Android para detecção de única face (a) e de múltiplas faces (b), usando reconhecimento de caracterı́sticas de pontos médios simétricos. Adaptado de Liu (2012). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.4 Detecção de olhos em Android por meio de ponto de referência da região central da face. Adaptado de Liu (2012). . . . . . . . . . . . . . . . . . . . 26 3.1 Arquitetura do sistema proposto com especificações das etapas do sistema e sua interação com o ambiente. . . . . . . . . . . . . . . . . . . . . . . . . 28 3.2 Layout de protótipo. Condições de iluminação diurna (a) sendo apenas necessário um dispositivo portátil (1) e em condições noturnas (b) uma câmera IR (2) acoplada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.3 Layout de dispositivos usados na captura de vı́deos. (a) Câmera frontal de Smartphone. (b) Câmera e conjunto de LED de iluminação infravermelha. 29 3.4 Iluminação e configuração do usuário quanto ao uso de óculos: (a) diurno sem óculos, (b) noturno com óculos de sol, (c) noturno sem óculos e (d) noturno com óculos de leitura. . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.5 Ilustração do processo de como ocorre a detecção de um piscar. . . . . . . 32 3.6 Formas de caracterı́sticas retangulares. Duas caracterı́sticas retangulares são mostradas em (A) e (B). Em (C) é mostrada uma caracterı́stica de três retângulos e em (D) uma caracterı́stica de quatro retângulos. (extraı́do de Viola e Jones (2001)). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 8 LISTA DE FIGURAS 9 3.7 O valor da imagem integral no ponto (x, y) é a soma de todos os pixels acima e à esquerda. (extraı́do de Viola e Jones (2004)). . . . . . . . . . . . 33 3.8 Cálculo da caracterı́stica de uma imagem integral. (extraı́do de Viola e Jones (2001)). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.9 Cascata de classificadores. (adaptado de Viola e Jones (2001)). . . . . . . . 35 4.1 Tela de interface com o usuário do sistema. Nesta tela é possı́vel configurar parâmetros de entrada e saı́da do sistema. . . . . . . . . . . . . . . . . . . 38 4.2 Estrutura externa do olho e a linha de contraste de detecção. . . . . . . . . 39 4.3 Tela do sistema. (a) Detecção de pixel mais escuro da pupila. (b) Imagem da região do olho. (c) Linha de intensidade de contraste. . . . . . . . . . . 40 4.4 Análise de contraste. (a) Olho aberto com muita variação na amplitude. (b) Olho fechado com pouca variação na amplitude. . . . . . . . . . . . . . 41 4.5 Tela da saı́da gráfica do aplicativo ”face detection”do pacote OPENCV 2.4.6. 42 5.1 Variação temporal do contraste, detecção automática de piscar e avaliação groundtruth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 5.2 Gráfico do sistema obtendo duração do piscar. Pontos azuis, verdes e vermelhos, representam duração mı́nima, média e máxima de piscares, respectivamente. Os dados foram obtidos a cada 2 segundos. . . . . . . . . . . . 46 5.3 Duração mediana do piscar. Análise do Sistema com groundtruth (GT) em ambiente diurno. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 5.4 Duração mediana do piscar. Análise de comparação do Sistema com o groundtruth (GT) em ambiente noturno. . . . . . . . . . . . . . . . . . . . 47 5.5 Número de piscares e proporção de acertos entre o sistema e o groundtruth em ambiente diurno. Amostra S1 com intervalos de 60 segundos. . . . . . . 48 5.6 Número de piscares e proporção de acertos entre o sistema e o groundtruth em ambiente noturno. Amostra S2 com intervalos de 60 segundos. . . . . . 49 5.7 Resultado da amostra S1 (ambiente diurno) de precisão e sensibilidade com intervalos de 60 segundos. Os resultados foram obtidos do sistema desenvolvido em Matlab de vı́deo, de duração de 603 segundos. . . . . . . . 49 5.8 Resultado da amostra S2 (ambiente noturno) de precisão e sensibilidade com intervalos de 60 segundos. Os resultados foram obtidos do sistema desenvolvido em Matlab de vı́deo, de duração de 619 segundos. . . . . . . . 50 Lista de Tabelas 2.1 Detecção de piscar comparando vı́deos de um banco de dados para quatro diferentes taxas de amostragem (Adaptado de Picot et al. (2009)). . . . . . 20 2.2 Experimentos de quantificação do piscar. (adaptado de Smith et al. (2003)). 21 3.1 Classe de amostras de vı́deos dos experimentos. . . . . . . . . . . . . . . . 31 4.1 Configuração de dispositivos portáteis usados nos testes . . . . . . . . . . . 43 10 Lista de Abreviaturas e Siglas AdaBoost Adaptive Boosting AECS Average Eye Closure Speed DSS Driver State Sensor EEG Eletroencefalograma EOG Eletro-oculograma EMG Eletromiografia EMO Edge Map Overlapping EPC Edge Pixel Count FN Falso Negativo FP Falso Positivo GT groundtruth INPI Istituto Nacional de Própriedade Intelectual MPT Machine Perception Toolbox NREM Non Rapid Eye Movement OpenCV Open Source Computer Vision Library PERCLOS Percent of the time eyelids are Closed SDK Software Development Kit SMQT Successive Mean Quantization Transform SNOW Sparse Network of Winnows VP Verdadeiro Positivo VN Verdadeiro Negativo 11 Capı́tulo 1 Introdução É frequente em muitos paı́ses que a maioria dos acidentes nas estradas estejam relacionados à sonolência. Tal situação é mais comum entre os viajantes noturnos, especialmente caminhoneiros que deixam de dormir visando uma maior recompensa monetária (Knauth et al., 2012; Girotto et al., 2013). Segundo estatı́sticas da associação brasileira de medicina de tráfego, por ?, os acidentes relacionados com sonolência e cansaço no paı́s representam 60%, sendo que, destes, 18% são causados por sonolência. Em outra pesquisa feita no Brasil, por Rizzo (2002), descreve que entre 1000 motoristas de todas as classes, neste 33% são caminhoneiros, dos quais 58% dirigiam seus veı́culos com sono e 42% deles cochilavam ao dirigir. No total, 5% dos motoristas se envolveram em acidentes em consequência da sonolência. Dados de 2011 sobre o censo de 2008 do Ministério da Saúde mostram que o número geral de mortes por acidente de trânsito subiu para 38.273. Este elevado nı́vel de incidentes tem sido refletido tanto em perdas de vidas humanas e sofrimento, quanto na economia do paı́s, pois os custos desses acidentes são altos, abrangendo vários setores econômicos, desde o operário internado no hospital público até a carga perdida no acidente. Atualmente, há uma variedade de soluções para o problema da sonolência, que envolvem desde o simples ato de dormir até o uso de drogas ilı́citas. Segundo Rizzo (2002) em sua pesquisa, a cada 1000 motoristas, 58,4% tomavam algum estimulante para ficar acordado. O uso de métodos quı́micos é feito com o consumo de substâncias como a cafeı́na e taurina, dois estimulantes que podem quimicamente adiar o sono e são substâncias encontradas normalmente em energéticos de fácil acesso. Outro exemplo de substância seria a anfetamina, cujos efeitos são similares aos dos energéticos, mas com duração mais prolongada. Mas há desvantagens em seu uso. Ao ser ingerido, a pupila do indivı́duo se dilata (midrı́ase), tornando o olho mais sensı́vel à luz e facilitando o ofuscamento do motorista. Os métodos tecnológicos de detecção e alerta de sonolência podem ser classificados em 12 CAPÍTULO 1. INTRODUÇÃO 13 três categorias, conforme aponta Coetzer e Hancke (2011): 1. Sinais fisiológicos: Estudo das ondas cerebrais, do piscar dos olhos por EMG (Eletromiografia), da pressão sanguı́nea e do potencial elétrico da pele. 2. Sinais fı́sicos: Analisa ações que o motorista transmite ao carro (ex. diminuição da força de aperto no volante). 3. Visão computacional: Utiliza imagens para extrair caracterı́sticas, como abertura ou fechamento dos olhos. 1.1 Objetivos O objetivo geral do projeto é desenvolver um sistema automático, não invasivo, de baixo custo e operacional em tempo real, que seja capaz de identificar o grau de sonolência do motorista e alertá-lo do risco de um acidente. Os objetivos especı́ficos deste mestrado são: • Desenvolver uma prova de conceito em computador de mesa para quantificação de piscares a partir de imagens captadas em ambiente de alta e baixa iluminação, registrando parâmetros de duração e frequência. • Implementar em plataforma Android para fins de uso em dispositivo portátil acoplado a uma câmera infravermelha. 1.2 Contribuições As principais contribuições deste trabalho são: • Criação de um método de prevenção de acidentes causados por sonolência, mediante tecnologia de baixo custo, alta precisão e uma redução dos efeitos gerados por acidentes de trânsito (custos humanos, trabalhistas e monetários). • Criação de método próprio de detecção de olho na imagem, denominada de linha horizontal de contraste. • Registro de patente, com a finalidade de diminuição da dependência externa no desenvolvimento tecnológico, investimento em tecnologia nacional e mérito ao trabalho de pesquisa realizado nas universidades. ((Zana e Dias, 2012), Apêndice A) • Estudo de viabilidade da criação de um dispositivo inovador que possa resultar em um produto comercial e propiciar retorno financeiro à universidade. CAPÍTULO 1. INTRODUÇÃO 1.3 14 Organização do texto O capı́tulo 2 discute a importância dessa dissertação e mostra os trabalhos atuais de detecção e rastreamento de caracterı́sticas da face. O capı́tulo 3 detalha o método de detecção de face e dos olhos. Além disso, descreve o método utilizado no rastreamento da região de interesse e os materiais utilizados. A implementação do protótipo e a análise de viabilidade do sistema proposto são mostrados no capı́tulo 4. Os resultados e a discussão dos métodos propostos são mostrados no capı́tulo 5. As conclusões são feitas no capı́tulo 6, bem como as sugestões para trabalhos futuros. O apêndice A mostra nossa patente de invenção depositada no Instituto Nacional da Propriedade Intelectual (INPE). Essa patente apresenta parte das ideias desenvolvidas nesse trabalho. Capı́tulo 2 Trabalhos relacionados Esta seção tem por objetivo mostrar a relevância do presente projeto por meio dos mais variados trabalhos sobre o tema proposto e apresentar outras ideias de estudos na área, fazendo assim um paralelo entre o problema e as diversas soluções possı́veis. 2.1 Métodos de detecção de sonolência em motoristas Muitas pesquisas têm sendo feitas para detectar em tempo real se o condutor de um veı́culo está adormecendo na direção. Tais pesquisas são classificadas em três categorias de detecção do estado de sonolência (Coetzer e Hancke, 2011): análise de condução do veı́culo (Yang et al., 2009; Kim et al., 2008), monitoramento fisiológico (Yeo et al., 2009) e análise de imagens (Horng et al., 2012; Saeid e Parisa, 2012; Wu e Trivedi, 2010). A seguir, apresentamos a definição de sonolência (seção 2.1.1) e, em seguida, cada categoria é apresentada em detalhes nas seções 2.1.2, 2.1.3 e 2.1.4, respectivamente. 2.1.1 Definição de sonolência O sono é dividido em estágios(Fernandes, 2006): o primeiro estágio é chamado de sonolência, e este é caracterizado por um sono muito leve, de onde se pode despertar facilmente. Nesta fase, o movimento dos olhos é lento e a atividade muscular está em menor ritmo, em estado de relaxamento. O exame que mede o sono é denominado de eletroencefalografia (EEG). Este exame é feito com o auxilio de eletrodos conectados à cabeça, realizando o registro gráfico das correntes elétricas do cérebro. A unidade de registro é Hertz e cada faixa de frequência e amplitude cerebral é classificada em ondas (?): 15 CAPÍTULO 2. TRABALHOS RELACIONADOS 16 • Ondas beta (baixı́ssima amplitude, alta frequência): Pessoa acordada e ativa (em estado de vigı́lia). • Ondas alfa (baixa amplitude): Pessoa acordada e relaxada, com os olhos fechados. • Ondas teta (baixa/média amplitude): Pessoa sonolenta ou adormecida, sono de transição. • Ondas delta (alta amplitude, baixa frequência): Pessoa em sono profundo. O sono é classificado (Fernandes, 2006) em duas categorias, além de seus estágios. A sonolência está classificada na categoria NREM (Non Rapid Eye Movement) do sono, isto é, Movimento Não Rápido dos Olhos, enquanto que a categoria REM é definida por ser um sono profundo, onde ocorrem os sonhos. Normalmente, a sonolência dura aproximadamente cinco minutos e a pessoa adormece. Nesse estágio, a pessoa facilmente pode ser despertada. Predominam sensações de vagueio, contrações repentinas, movimentos involuntários das mãos e dos pés, lenta contração, dilatação pupilar, entre outros. Os estágios do sono são avaliados por meio da polissonografia (Fernandes, 2006), que é um termo genérico que se refere ao registro simultâneo de algumas variáveis fisiológicas durante o sono. A caracterização dos estágios do sono pode ser feita com base em três variáveis fisiológicas, que compreendem o EEG (Eletroencefalograma), o EOG (Eletrooculograma) e o EMG (eletromiograma). O estágio de sonolência está caracterizado como um estado em que há relaxamento muscular semelhante à vigı́lia. EOG é a medida da diferença de potencial entre a área da frente e a parte de trás do globo ocular. Ele é usado para detectar os movimentos dos olhos e do piscar, isto é, medida horizontal (movimentos dos olhos para a esquerda e a direita) e vertical (abertura e fechamento dos olhos). E o EMG mede a atividade elétrica dos músculos durante o repouso, leve contração, e contração forte. A figura 2.1 mostra a posição dos eletrodos usados em análises de EEG, EOG e EMG. Os eletrodos têm a função de medir os sinais elétricos do corpo, e estes são registrados em um computador ou diretamente em papel. Os sinais registrados representam a amplitude e a frequência dos sinais elétricos da pessoa. 2.1.2 Análise de condução do motorista Métodos de análise de condução de motoristas buscam estudar as ações e os reflexos do motorista e determinar os padrões em que o veı́culo deve ser conduzido. Sistemas com este conceito (Yang et al., 2009; Kim et al., 2008) analisam parâmetros de como o veiculo CAPÍTULO 2. TRABALHOS RELACIONADOS 17 Figura 2.1: Posição dos eletrodos que mede parâmetros essenciais para a avaliação do sono. EEG: Eletroencefalograma; EOG: Eletro-oculograma; EMG: Eletromiograma. (Fernandes, 2006). é conduzido, como por exemplo: movimentos do volante, a posição do veiculo junto à faixa por meio de câmera, força do aperto de mão ao volante por meio de sensores de pressão, variação de aceleração, entre outros. Regras padronizadas podem não ser eficazes para determinar se um motorista está sonolento. O comportamento de condução do motorista pode ser diferente do esperado e não dizer muito quanto ao seu real estado. Alguns fatores externos podem influenciar nessa análise de condução (Coetzer e Hancke, 2011): as péssimas condições de manutenção de rodovias (rodovias com muitos buracos ou sem faixas de marcação da rodovia), as condições climáticas (mau tempo) e a experiência de condução do motorista (condutores inexperientes podem fazer direções imprecisas, mantendo por exemplo, a roda sobre a faixa da pista e movimentos bruscos). 2.1.3 Fenômenos fisiológicos humanos Esta linha de estudo utiliza parâmetros fisiológicos dos motoristas, adquiridos por meio de dispositivos que medem a atividade elétrica do corpo, como por exemplo, análises de EEG, EOG e EMG. Essas técnicas medem mudanças nos sinais fisiológicos, respectivamente: ondas cerebrais, movimento dos olhos e frequência cardı́aca(Yeo et al., 2009). Parâmetros do corpo humano são extremamente precisos quando adquiridos por meio de dispositivos de contato e suas expressões são claramente diferentes entre o estado sonolento e o estado lúcido (Tanha e Seifoory, 2011). Contudo, este método requer eletrodos conectados ao corpo do motorista e um conjunto de dispositivos instalados no veı́culo para sua leitura de dados, o que provavelmente incomodará o condutor, além do alto CAPÍTULO 2. TRABALHOS RELACIONADOS 18 custo financeiro. Geralmente, esta técnica é usada para validar outras técnicas nesta área. 2.1.4 Análise de imagens da face Neste método são desenvolvidos estudos (Horng et al., 2012; Saeid e Parisa, 2012; Wu e Trivedi, 2010) no campo da visão computacional e do processamento de imagem, tendo como principal objetivo analisar expressões faciais em uma série de quadros de vı́deo e alertar o motorista quanto ao seu estado de sonolência. Algumas caracterı́sticas comumente utilizadas para determinar a sonolência são a frequência de piscar e/ou o bocejo. Métodos baseados em recursos de detecção facial são os mais utilizados, pois segundo um levantamento bibliográfico de Wu e Trivedi (2010), as imagens da face podem identificar elementos visuais de atenção de uma pessoa, como o padrão de duração de um piscar, que tem uma relação estreita com a sonolência de uma pessoa, além de ser uma técnica não invasiva. Considerando-se as vantagens e as desvantagens em alguns métodos, mostraremos nesta seção alguns trabalhos e como eles determinam quando um motorista inicia um estado de sonolência. • Um trabalho em destaque é de Horng et al. (2012), que vem avançando desde seu trabalho anterior (Horng e Chen, 2008), um sistema de detecção de sonolência em tempo real com base no rastreamento dos olhos por um modelo dinâmico de correspondência. Este consiste em quatro partes: detecção da face, detecção dos olhos, rastreamento dos olhos e detecção de sonolência. Os avanços propostos foram a criação de duas novas funções: mapa de sobreposição de borda (edge map overlapping (EMO)) e a contagem de pixels de borda (edge pixel count (EPC)), além de aplicar algoritmos de busca rápida para acelerar a busca por eficiência no rastreamento dos olhos. Para usar o recurso de borda para a concepção de novas funções correspondentes, a área de busca e o modelo dos olhos são convertidos em mapas de borda correspondente. Para este efeito, o valor de pixels de borda preta e não borda (valores em branco) são definidos em valores binários, 1 e 0, respectivamente, para a eficiência dos cálculos de rastreamento dos olhos. A área de busca de uma nova estrutura para o rastreamento dos olhos é a posição do modelo dos olhos através da expansão em ambas as direções ao longo das subimagens dos olhos em todos os sentidos. Assim, a imagem é aumentada para realizar a busca do modelo dentro da imagem maior de um possı́vel deslocamento do modelo dos olhos. CAPÍTULO 2. TRABALHOS RELACIONADOS 19 Na função EMO, quanto mais a borda sobreposta dos pixels estiver dentro da imagem de busca, maior será a de valor correspondente. Para a função EPC, o número de pixels de borda é outra caracterı́stica estável para o rastreamento do olhar e, neste caso, a função apenas conta o número de pixels da borda da janela em movimento. O funcionamento geral de todo o sistema consiste no uso de uma câmera montada no painel de um carro a fim de capturar as imagens do motorista para a detecção da sonolência. O primeiro quadro da imagem é utilizado para a detecção de face e a posição dos olhos. Se qualquer um desses procedimentos de detecção falhar, o processo é reiniciado no próximo quadro. Caso contrário, as sub-imagens dos olhos correntes são utilizadas como os modelos dinâmicos de rastreamento dos olhos, em quadros subsequentes, e, em seguida, o processo de detecção de sonolência é realizado. Se o rastreamento dos olhos falhar, os processos de detecção e localização da face reiniciam-se no quadro atual. Tais procedimentos continuam até que não haja mais quadros. • Picot et al. (2009) fizeram comparação entre resultados EOG e câmeras de várias taxas de quadros para a detecção de sonolência. O objetivo do estudo era verificar até que ponto uma câmera de alta velocidade poderia substituir o EOG (definição de EOG na seção 2.1.1) para a extração de caracterı́sticas do piscar. O EOG fornece um grande número de informações precisas, tais como: duração e frequência do piscar, percentual de fechamento dos olhos e algumas caracterı́sticas de fechamento e abertura da pálpebra. O método de detecção da face e piscar é constituı́do de ferramenta MPT (Machine Perception Toolbox ) para detectar a face e por método próprio para detectar os olhos por meio de gradiente para melhorar os contornos e, por projeções verticais e horizontais para detectar a forma e o estado do olho. A comparação dos resultados foi processada em experimento para quatro taxas de amostragem de vı́deo (30fps, 100fps, 150fps e 200fps). Parte dos resultados são mostrados na tabela 2.1, em que a detecção correta é a que detecta um piscar concomitantemente usando EOG e vı́deo. Um aumento na frequência de captura possibilita um aumento na correta taxa de detecção de piscares, porém de forma não estável. Já em relação à taxa de falsas detecções, há uma redução inversamente proporcional com a taxa de quadros por segundo. No entanto, esta redução dos erros pode não compensar o investimento necessário em dispositivos que permitam a captura de um alto número de imagens (quadros) em tão pouco tempo, sem falar na elevação do número de quadros a serem processados a cada segundo, tendendo a um maior custo computacional em situações que requeiram respostas em tempo real. CAPÍTULO 2. TRABALHOS RELACIONADOS 20 Tabela 2.1: Detecção de piscar comparando vı́deos de um banco de dados para quatro diferentes taxas de amostragem (Adaptado de Picot et al. (2009)). Taxa de Quadros por Segundo 30 100 150 200 Detecções Corretas 611 738 612 758 Perdidas 23 29 22 15 Falsas Detecções 21 13 6 3 • Um dos métodos de detecção de sonolência Smith et al. (2003) busca a região da face por meio da diferença de contraste da sua tonalidade de cor da pele com a dos lábios. De posse da região da face e dos lábios é mensurada a posição dos olhos do motorista. Os parâmetros usados neste sistema foram o fechamento de olhos, a rotação da face, o brilho na região dos olhos e a posição da boca (por meio do contraste da cor dos lábios). A tabela 2.2 mostra parâmetros usados para detectar o estado de sonolência do motorista por meio do registro de piscar. O sistema analisa sequências de imagens para verificar se o motorista fechou os olhos por um até vinte quadros, o qual é contado como um piscar. A razão entre o número de fechamentos dos olhos detectado pelo programa e a sequência do conjunto sobre o número total de fechamentos dos olhos contados por observador humano é mostrada na terceira coluna. Na sétima sequência há resultados negativos, com muitos falsos positivos. O sistema, segundo o autor, pode se ajustar a diferentes condições de iluminação com base no quadro inicial da sequência. E para a avaliação deste trabalho foram realizados experimentos em laboratório, com oito pessoas em ambiente iluminado. Na tabela 2.2 de resultados de detecção de piscar, mostra que 50% da amostra atingiu uma taxa acima de 70% de acerto. O autor descreve que há uma desvantagem em sua técnica quando usada em ambientes com pouca iluminação, pois dificulta a diferenciação de cores na imagem. 2.2 Dispositivos comerciais de detecção de sonolência Sistemas de avaliação de condução do motorista podem utilizar vários recursos, tais como: câmeras externas que detectam o desvio brusco do veı́culo em relação à faixa da rodovia, movimentação do volante tı́pica de uma pessoa sonolenta, desaceleração ou aceleração fora de um padrão, entre outros. Nesta revisão, restringiremos a revisão para a apresentação CAPÍTULO 2. TRABALHOS RELACIONADOS 21 Tabela 2.2: Experimentos de quantificação do piscar. (adaptado de Smith et al. (2003)). Sequência 1 2 3 4 5 6 7 8 Total de Quadros 48 28 28 28 28 400 400 200 Fechamentos Detectados/ Total de Fechamentos 0/0 2/2 1/1 1/1 1/1 10/10 1/1 2/2 Estavam Realmente Fechados 0 9 1 1 5 80 3 5 Fechamentos detectados pelo Programa 0 8 1 1 4 70 40 5 Perdidos 0 1 0 0 1 10 1 3 Falso Positivo 0 2 1 2 2 30 37 0 Taxa de Detecção N/A 78% 100% 100% 60% 75% 7% 70% de sistemas comerciais de análise da face do motorista, ao qual o sistema aqui proposto pertence. A seguir são apresentados alguns dispositivos que estão no mercado, suas vantagens e desvantagens: 2.2.1 Driver state sensor Um dispositivo em destaque por prometer eficácia na detecção de sonolência. Foi lançado em 2008, pela empresa Machines (2011), denominado com a sigla DSS (Driver State Sensor ) e vendido para um público especifico: empresas de grande porte de transporte de cargas. O fabricante não divulga o preço, mas segundo matéria da revista ABC-NEWS (2013) em consulta a uma grande empresa de transportes que adquiriu o produto, o dispositivo instalado chega a custar até 20 mil dólares. Este dispositivo é constituı́do de uma câmera de vı́deo, uma caixa de som para alerta, um computador para processamento e um sistema embarcado. O sistema promete estimar o grau de sonolência do motorista a partir da análise de piscar e da orientação da cabeça do motorista. Suas principais desvantagens são o alto custo e a necessidade de compra de um dispositivo grande, que fica permanentemente no veı́culo. Sua vantagem é a capacidade de funcionar sem treinamento prévio da face do motorista. A falta de resultados publicados não permite avaliar seu real desempenho e eficácia. 2.2.2 Driver fatigue warning system O sistema foi lançado pela Group (2010), e é composto por uma webcam operando com iluminação na faixa do infravermelho, uma unidade de processamento de imagens e um sistema de alerta. CAPÍTULO 2. TRABALHOS RELACIONADOS 22 O sistema é baseado na detecção do piscar por meio da análise do tamanho da pupila, que caracteriza o estado de sonolência pela redução de seu diâmetro e à medida que o olho vai se fechando, o grau de sonolência aumenta. O sistema promete tempo de resposta de 2 e 3 segundos, sendo o primeiro para rodovias e o segundo em ambientes urbanos. O sistema também possui a função de detecção de distração, ou seja, se o motorista olhar para o espelho por um perı́odo de 5 a 7 segundos é disparado um alerta sonoro. Este dispositivo começou a ser comercializado em 2010. O sistema é baseado em um artigo publicado por Grace (2001) e custa cerca de 500 dólares. 2.3 Dispositivos portáteis Desenvolvimento de aplicações para processamento de imagens e análise de caracterı́sticas por dispositivos portáteis (ex. smartphones e tablets) são recentes e em crescimento, bem como há um avanço na capacidade de processamento dos CPUs e disponibilidade de plataformas livres de desenvolvimento. Como ambiente de desenvolvimento, exemplificamos a plataforma usada neste projeto, denominada por Android SDK para desenvolvimento de aplicativos Android. A plataforma é Open Source, suportada por Open Handset Alliance, composta pela maioria das empresas fabricantes de smartphones. Há uma tendência de popularização de dispositivos portáteis e o contı́nuo crescimento do número de pessoas com acesso a esses dispositivos. Conforme estudo da empresa GARTNER (2013), o sistema operacional registrou 79% dos aparelhos vendidos para usuários finais no segundo quadrimestre de 2013 (figura 2.2). As aplicações são executadas no dispositivo portátil sobre uma máquina virtual, da mesma forma que funcionam com o Java, mas com caracterı́sticas voltadas para Android. Essa máquina virtual é denominada Dalvik e é comum a todos os dispositivos com Android. Destacam-se nos dispositivos portáteis os avanços no desenvolvimento de bibliotecas e recursos do compilador Android para realizar tarefas na área de visão computacional e processamento de imagens. Já há dezenas de bibliotecas, como a OpenCV, que contribuem para os desenvolvedores criarem aplicações nesta área. (Farina e Marana, 2012), por exemplo, utilizou a plataforma Android e bibliotecas OpenCV em seu algoritmo de detecção e reconhecimento de face em um sistema biométrico e, neste, ao invés de usar as tradicionais imagens estáticas, como é comum neste tipo de aplicação, são utilizados para reconhecimento o uso de vı́deos. CAPÍTULO 2. TRABALHOS RELACIONADOS 23 Figura 2.2: Participação no mercado por sistema operacional nas vendas globais de dispositivos portáteis para usuários finais. Dados de cada 2o Trimestre dos anos de 2010 a 2013. Adaptado de GARTNER (2013). Um exemplo de como seria o funcionamento de um sistema de detecção de sonolência em dispositivos portáteis pode ser visto na patente US 7.482.937B2, depositada pela Chai e Kujawa (2009). O sistema proposto é definido por um dispositivo portátil, com uma câmera embutida para monitorar, por meio das imagens capturadas, as condições de atenção do motorista e emite alertas do estado de sonolência do mesmo. Contudo, esta invenção não prevê um componente para a captação de imagens em condições ambientais de baixa ou nenhuma iluminação, portanto seu uso seria restrito à operação em condições de forte iluminação. Além disso, em 2009 não existiam dispositivos com poder de processamento suficiente para realizar as tarefas propostas. Para avaliação e comparação de resultados de vı́deos em dispositivos móveis, destacamos o instituto de pesquisa Idiap, que mantém uma base de dados de vı́deos denominada MoBio publicada por Mccool et al. (2012), composta de vı́deos contendo faces e áudio. Esses vı́deos foram coletados usando telefones celulares em cinco paı́ses diferentes e estão disponı́veis na web. 2.4 Parâmetros de piscar como indicadores de sonolência Alguns estudos (Qing et al., 2010; Liying e Haoxiang, 2008) apontam o piscar como um comportamento visual que reflete o nı́vel de sonolência de uma pessoa. Segundo (Hu et al., 2013), o nı́vel de sonolência de uma pessoa pode ser avaliado por meio da análise do CAPÍTULO 2. TRABALHOS RELACIONADOS 24 movimento das suas pálpebras, mais especificamente, por meio do percentual de tempo em que os olhos ficam fechados (PERCLOS1 ). PERCLOS é definida dentro de um perı́odo de tempo pré-definido (geralmente 1 minuto), verificando se uma pessoa tem os seus olhos 80% ou mais fechados (Pradhan et al., 2012). É feita uma contagem de quadros em que os olhos estão fechados (dentro do percentual) e abertos. Caso seja constatado que existe fechamento e seu total esteja presente em pelo menos 20% do tempo, é constatada a sonolência do motorista. Pradhan et al. (2012) definiram o cálculo PERCLOS fazendo N a o número de quadros de olhos que pertencem à categoria aberto (atento), de um total de N m de quadros de olhos capturados em um minuto. Sendo (N m - N a) o número de quadros de olhos pertencentes à categoria desatento, obtendo então, o valor PERCLOS por minuto por meio da fórmula: P ERCLOS = N m−N a Nm × 100% Em um dos seus experimentos de classificação dos olhos, foram usadas quarenta imagens para cada categoria: olho totalmente aberto, parcialmente aberto e totalmente fechado. Os testes mostraram uma precisão na classificação próxima a 98%. Outro parâmetro de piscar é a velocidade média de fechamento dos olhos (AECS2 ). Em alguns trabalhos (Lang e Qi, 2008; Ji et al., 2004; Ji e Yang, 2002) esse parâmetro foi utilizado em conjunto com PERCLOS e consideram que a velocidade em que o piscar ocorre é um bom indicador de sonolência, pois a velocidade de fechamento dos olhos de uma pessoa sonolenta é distintamente mais lento do que o de uma pessoa em alerta. Ji e Yang (2002) mostram que existe uma grande diferença na velocidade média de fechamento dos olhos de uma pessoa atenta com a de uma pessoa sonolenta. O fechamento dos olhos de uma pessoa atenta leva apenas 0,17s, contra 1,68 s de uma pessoa sonolenta. É evidente a partir dos dados de simulação, que a velocidade de fechamento dos olhos para uma pessoa sonolenta é muito mais lento do que o de uma pessoa em alerta. Isto revela que a velocidade de fechamento de olhos pode potencialmente ser usada como uma métrica para quantificar o nı́vel de sonolência de uma pessoa. De acordo com Lang e Qi (2008), a utilização separada dos parâmetros PERCLOS e AECS pode detectar a sonolência de um motorista. Mas PERCLOS combinado com AECS pode detectar a sonolência com mais eficácia. 1 2 Do Inglês PERcent of the Time Eyelids are CLOSed. Do Inglês Average Eye Closure Speed. CAPÍTULO 2. TRABALHOS RELACIONADOS 2.5 25 Processamento de imagem em dispositivo portátil Processar imagens obtidas da câmera de dispositivos portáteis é possı́vel por meio de recursos da biblioteca OpenCV que são suportados no arcabouço Android. Este ambiente de desenvolvimento constitui um conjunto de funções pré-definidas para auxilio no desenvolvimento de aplicações de extração de caracterı́sticas em imagens. Um exemplo de aplicação é o trabalho de Liu (2012), o qual se utilizou de bibliotecas de detecção de face e parâmetros que auxiliam na localização dos olhos. A aplicação faz a detecção da face (figura 2.3(a)) verificando pontos médios simétricos, podendo ainda ser utilizada para detectar mais de uma face na aplicação (figura 2.3(b)). Figura 2.3: Aplicação Android para detecção de única face (a) e de múltiplas faces (b), usando reconhecimento de caracterı́sticas de pontos médios simétricos. Adaptado de Liu (2012). É feita ainda a delimitação da área dos olhos para reduzir a região processada. Essa detecção é feita por meio do cálculo da distância entre a área detectada da face, pela diferença da metade dessa distância, obtendo assim, o ponto de referência do centro da região da face, conforme ilustrado na figura 2.4. Um trabalho recente (Lee e Chung, 2012) é o de avaliação do estado de sonolência com uso de técnica multi-classificador. Técnicas multi-classificador têm o objetivo de usar o resultado de dois ou mais métodos. Neste trabalho é realizada a fusão de resultados de dois métodos: análise de imagens de movimento dos olhos e dados sensoriais de fotopletismografia. Para aplicar o método, foi desenvolvido um sistema implementado em um smartphone com sistema operacional Android, onde este recebe toda a informação dos sensores de fotopletismografia instalados no volante e também da câmera frontal do smartphone uti- CAPÍTULO 2. TRABALHOS RELACIONADOS 26 Figura 2.4: Detecção de olhos em Android por meio de ponto de referência da região central da face. Adaptado de Liu (2012). lizada para capturar imagens da face do motorista. O próprio dispositivo processa parte das informações e as exibe em sua tela, bem como os alertas de sonolência. Os dados de fotopletismografia são obtidos por um diodo emissor de luz infravermelha (LED), que mede a quantidade de luz refletida por meio da pele do dedo da mão do motorista. O sinal analógico adquirido é filtrado e amplificado por um dispositivo eletrônico especifico. O objetivo é analisar a variação da frequência cardı́aca no decorrer do tempo e saber o estado de sonolência do motorista. Uma pessoa relaxada, entrando no estado de sonolência, tende a ter uma frequência cardı́aca mais baixa e regular (Martins et al., 2001). O método de análise de imagens mede o número, a frequência e o grau de abertura/fechamento dos piscares em um perı́odo de tempo especifico. Em seguida, utiliza uma abordagem bem conhecida e chamada de porcentagem de fechamento dos olhos (PERCLOS) e a velocidade média de fechamento/abertura dos olhos (AECS). Os conceitos podem ser revistos na seção 2.4. A combinação dos resultados dos dois métodos pode dar uma melhor precisão para determinar o estado de sonolência do motorista. No entanto, o autor deixa claro que, se houver problema, com um dos métodos (mau funcionamento ou o não funcionamento), isto poderá influenciar negativamente nos resultados. Capı́tulo 3 Sistema proposto Neste capı́tulo serão detalhados os materiais e métodos usados para a elaboração de uma arquitetura adequada para o problema de detecção de sonolência em motoristas. Abordaremos os procedimentos utilizados para a captura, o processamento e a análise de imagens digitais para detecção automática do estado de sonolência em motoristas, a partir de vı́deos de imagens da face de motoristas, capturadas por uma câmera digital. Primeiramente será apresentada a infraestrutura computacional utilizada nos experimentos, em seguida, as amostras de imagens de vı́deos de motoristas em variadas condições de iluminação e, ainda, as etapas realizadas para alcançar os objetivos. 3.1 Arquitetura do sistema A arquitetura do sistema segue modelos consagrados na literatura de visão computacional (Alshaqaqi et al., 2013; Garcia et al., 2010; Boverie e Giralt, 2008), sendo seus componentes principais a captação de imagens, o pré-processamento, a extração de caracterı́sticas, o reconhecimento de padrões e a tomada de decisão, conforme a figura 3.1. Destaca-se neste trabalho a importância da capacidade adaptativa do sistema às caracterı́sticas especı́ficas de cada motorista, principalmente em relação à detecção da face e dos olhos, bem como ajustes de parâmetros do piscar, aumentando assim, a sensibilidade do sistema de alerta. 3.2 Configuração do sistema Nesta seção mostraremos de forma simples como são implementados os dispositivos e destacaremos os requerimentos necessários para que o sistema possa funcionar de maneira 27 CAPÍTULO 3. SISTEMA PROPOSTO 28 Figura 3.1: Arquitetura do sistema proposto com especificações das etapas do sistema e sua interação com o ambiente. correta. Também será mostrada a configuração dos dispositivos e as restrições identificadas no processo de posicionar os recursos utilizados em condições reais. Assim, numa versão final para o usuário, o mesmo poderá reproduzir essas condições para êxito nos objetivos propostos. As condições de iluminação são fatores de restrição que impõem o uso de instrumentos auxiliares em um dos casos que mostraremos a seguir. O layout é definido de duas maneiras. Uma delas, em relação ao uso do sistema em condições diurnas, em que será necessário apenas o dispositivo portátil, por exemplo, um smartphone, como mostrado na figura 3.2 (a). Nesta condição foram observadas questões de distância e posição do dispositivo no veı́culo. A câmera do dispositivo portátil e a face do motorista estão a uma distância média de 50 cm, de forma que a imagem da face do motorista se enquadra na tela da câmera do dispositivo. Nos experimentos, o dispositivo ficava preso a um suporte comum para celulares no para-brisa do veı́culo. Em condições noturnas ou em ambientes com pouca iluminação, é necessário o uso de câmera IR (infravermelha) para captação das imagens do vı́deo. E como não há no mercado um smartphone com iluminação IR suficiente para atender a necessidade de iluminação da face do motorista (de forma a não perturbar sua visão), é necessário o auxı́lio de um dispositivo (conjunto de LEDs IR) de iluminação IR, conforme disposto no layout da figura 3.2 (b). CAPÍTULO 3. SISTEMA PROPOSTO 29 Figura 3.2: Layout de protótipo. Condições de iluminação diurna (a) sendo apenas necessário um dispositivo portátil (1) e em condições noturnas (b) uma câmera IR (2) acoplada. 3.3 Instrumentação dos protótipos O projeto foi desenvolvido em duas etapas de trabalho. A primeira em Matlab, utilizando um laptop com processador de 2.6 GHz e 4GB de RAM. Nesta, foram realizadas a validação da proposta por meio da análise de amostras de vı́deos feitas em laboratório. A segunda parte do trabalho foi transferir o conhecimento do método estudado e desenvolvido em Matlab para a plataforma Android, tendo esta, algumas vantagens em relação à usabilidade para o usuário final do sistema, as quais serão apresentadas nas seções a seguir. Os dispositivos usados para a obtenção dos vı́deos são mostrados nas figuras 3.3 (a) e (b). Em condições de pouca iluminação são usados como recurso de captura: uma câmera de 30 quadros por segundo, sem filtro e um conjunto de 30 leds infravermelhos. Para auxiliar na captura dos vı́deos é utilizado um laptop e, quando em ambiente iluminado, é utilizado apenas um smartphone, modelo Motorola ATRIX 4G MB860, com sua câmera interna de 30 quadros por segundo. Figura 3.3: Layout de dispositivos usados na captura de vı́deos. (a) Câmera frontal de Smartphone. (b) Câmera e conjunto de LED de iluminação infravermelha. CAPÍTULO 3. SISTEMA PROPOSTO 30 Amostras realizadas à noite (figura 3.3 (b)) foram feitas com o auxı́lio de iluminação IR para possibilitar que o algoritmo detecte as caracterı́sticas da face do motorista na ausência de iluminação, principalmente a posição dos olhos. 3.4 Base de vı́deos A base de vı́deos foi construı́da em ambiente de laboratório e em um automóvel conduzido por motoristas em via pública e rodovia, em diversas condições de iluminação. Os vı́deos gravados no automóvel em movimento têm por objetivo uma análise de um ambiente mais próximo da realidade. Em todos os casos o motorista estava sendo acompanhado para garantir sua segurança, principalmente nos momentos em que realizava uma simulação de sonolência, como o fechamento dos olhos. As amostras totalizam 30 vı́deos, com variados intervalos de tempo e diferentes pessoas, no entanto, para nossa análise, nos restringimos a 17 vı́deos feitos em rodovias e com aproximadamente 10 minutos cada, uma vez que, nas rodovias é onde ocorre o maior número de acidentes por sonolência. De acordo com Souza et al. (2008) os acidentes causados por sonolência são mais frequentes em situações monótonas, como por exemplo, estradas vazias. Os vı́deos têm em média 30 quadros por segundo, isto é, em torno de 17 mil quadros por vı́deo. Estes vı́deos estão disponibilizados para consulta na url http://marceldias.com.br/projeto. Para saber sobre as possı́veis restrições que o sistema poderia ter quanto à iluminação e o uso de óculos, foram realizadas gravações de vı́deo com as configurações mais comuns. Em nossos experimentos utilizamos as seguintes situações: Figura 3.4: Iluminação e configuração do usuário quanto ao uso de óculos: (a) diurno sem óculos, (b) noturno com óculos de sol, (c) noturno sem óculos e (d) noturno com óculos de leitura. • Diurno sem óculos, figura 3.4(a): foi necessário apenas um smartphone para obtenção do vı́deo, sem nenhuma modificação de sua estrutura ou filtros. • Diurno com óculos de sol, figura 3.4(b): foi usada como recurso uma câmera sem seu filtro e um laptop. CAPÍTULO 3. SISTEMA PROPOSTO 31 • Noturno sem óculos, figura 3.4(c): foram usadas uma câmera sem filtro, iluminação IR com 30 leds e um laptop. • Noturno com óculos de leitura, figura 3.4(d): foram usados os mesmos recursos da situação da figura 3.4(c). A lista geral de amostras dos experimentos e suas caracterı́sticas de ambiente, obstruções, taxa de quadros por segundo e seus tempos podem ser comprovados na tabela 3.1. Tais amostras foram realizadas com duas pessoas diferentes. Tabela 3.1: Classe de amostras de vı́deos dos experimentos. Condições do Ambiente Diurno Diurno Noturno Noturno 3.5 Caracterı́sticas do Motorista Sem óculos Óculos de sol Sem óculos Óculos de Leitura Quantidade de Vı́deos 06 04 06 01 Tempo Total(s) 3712 2429 3665 30 Detecção e rastreamento de imagens A figura 3.5 mostra uma visão geral do método proposto, com as etapas de aquisição, detecção e monitoramento da região de interesse. Primeiramente, captura-se a imagem RGB e realiza-se um pré-processamento (conversão para a escala de cinza e redimensionamento do tamanho da imagem) para um resultado mais rápido. Na etapa da detecção usa-se o algoritmo de Viola e Jones (2001) por sua eficiência e baixa taxa de erros. O resultado da detecção é uma região retangular da face. Vale dizer que, outros detalhes sobre o método serão abordados na próxima seção. A próxima etapa e original deste trabalho foi detectar os olhos e o estado (aberto ou fechado) na imagem retangular da face. Supondo que os olhos estavam no quadrante superior da face, buscamos o pixel mais escuro, considerando que este fosse a pupila do olho. A avaliação do estado do olho foi realizada a partir do comportamento da linha horizontal de contraste (verificação de picos e vales na linha horizontal de contraste) com espessura de um pixel e traçada horizontalmente sobre o ponto mais escuro na imagem a cobrir todo o olho (região definida como pupila e esclera). Quando a linha de contraste possui vales e picos, o olho está aberto (variação de intensidade do pixel da linha de contraste). Do contrário, está fechado. CAPÍTULO 3. SISTEMA PROPOSTO 32 Figura 3.5: Ilustração do processo de como ocorre a detecção de um piscar. 3.5.1 Detecção facial A detecção de faces é uma etapa inicial em muitos sistemas e existem diversas técnicas que podem ser utilizadas para essa tarefa, mas recentemente, o detector de objetos Viola e Jones (2001) tem sido muito utilizado. O método é capaz de detectar faces com precisão e eficiência. O método pode ser descrito em três partes: A primeira é a representação da imagem em um espaço de caracterı́sticas (chamadas de caracterı́sticas Haar ), e isto é feito com o auxı́lio da imagem integral. A segunda é um classificador de caracterı́sticas com método de aprendizagem de máquina, conhecido por Adaboost, capaz de selecionar as caracterı́sticas mais relevantes. E por último, um classificador em cascata para a combinação de caracterı́sticas para obter melhor desempenho. 1. Caracterı́sticas Haar Cada caracterı́stica representa uma diferença de intensidades entre áreas da imagem. As caracterı́sticas usadas no arcabouço de detecção de Viola e Jones (2001) são chamadas de Haar e representadas por um conjunto de caracterı́sticas retangulares de duas dimensões. Essas caracterı́sticas são responsáveis por diferenciar objetos uns dos outros, pois cada conjunto de caracterı́sticas encontradas em um dado objeto possui diferenças em relação aos conjuntos de caracterı́sticas encontradas também em outros objetos. As caracterı́sticas de detecção de objetos são representadas por três tipos: caracterı́sticas com dois, três ou quatro retângulos, conforme ilustrado na figura 3.6. O valor da caracterı́stica, quando aplicado na imagem é determinado pela diferença CAPÍTULO 3. SISTEMA PROPOSTO 33 Figura 3.6: Formas de caracterı́sticas retangulares. Duas caracterı́sticas retangulares são mostradas em (A) e (B). Em (C) é mostrada uma caracterı́stica de três retângulos e em (D) uma caracterı́stica de quatro retângulos. (extraı́do de Viola e Jones (2001)). entre a soma dos pixels na região branca e a soma dos pixels na região escura. E, para otimizar o cálculo das caracterı́sticas é usada uma representação intermediária da imagem e denominada de imagem integral (figura 3.7). O valor do ponto (x, y) da imagem integral é dado pela soma dos pixels acima e à esquerda de x, y. A imagem integral pode ser calculada pela equação: X ii(x, y) = i(x0 , y 0 ), x0 ≤x,y 0 ≤y onde ii(x, y) é a imagem integral e i(x, y) é a imagem original. Figura 3.7: O valor da imagem integral no ponto (x, y) é a soma de todos os pixels acima e à esquerda. (extraı́do de Viola e Jones (2004)). Após obter a imagem integral, é possı́vel encontrar o valor da caracterı́stica retangular utilizando apenas os quatro pontos dos vértices da área de interesse. Para melhor compreensão, um exemplo é encontrar o valor da soma dentro da área D, da figura 3.8. Neste caso, basta fazer o cálculo 4 + 1 - (2 + 3). CAPÍTULO 3. SISTEMA PROPOSTO 34 Figura 3.8: Cálculo da caracterı́stica de uma imagem integral. (extraı́do de Viola e Jones (2001)). 2. Classificação de caracterı́sticas O método de classificação utilizado por Viola e Jones (2001) é chamado de AdaBoost (Adaptive Boosting), e é uma técnica de aprendizado de máquina para a seleção de um conjunto de classificadores fracos. Um classificador fraco é definido como regra de decisão para classificar um dado objeto de positivo ou negativo. Após ter um conjunto de classificadores fracos, uma combinação linear ponderada desses classificadores é realizada para se obter um classificador forte e, com isso, ganhar um aumento no desempenho da detecção. O AdaBoost, além de classificar, também treina os classificadores para encontrar as caracterı́sticas relevantes no objeto para comparação nos conjuntos positivos e negativos das imagens. Seguem as etapas do processo descrito por Viola e Jones (2001): • As imagens de treinamento são dadas por (x1 , y1 ), ..., (xn , yn ), onde yi = [0, 1] indicam a imagem negativa e positiva, respectivamente. 1 , 2l1 para yi = [0, 1], onde m e l são os números de • Os pesos são iniciados w1 ,i = 2m amostras negativas e positivas, respectivamente. • Para t = 1, 2, ..., T : – Normalizar os pesos wt ,i ← Pnwt ,i j=1 wt ,j – Selecionar o melhor classificador fraco de acordo com o seguinte erro ponderado: P ∈t = minf ,p ,Θ i wi (xi , f, p, Θ) − yi . – Definir ht (x) = h(x, ft , pt , Θt ) onde ft , pt e Θt ) são minimizados de ∈t – Atualizar os pesos: wt +1,i = wt ,i t1−∈i onde ∈i = 0 se o exemplo xi é classificado ∈t corretamente e ∈i = 1 caso contrário, e = 1−∈ t • Ao término, o classificador forte é: CAPÍTULO 3. SISTEMA PROPOSTO ( f (n) = 1 0 35 PT αt ht (x) ≥ caso contrário t =1 1 2 PT t =1 αt onde αt = log β1t Segundo Viola e Jones (2001) foi possı́vel obter uma taxa de 95% de acerto de detecção no algoritmo de treinamento, onde um classificador de teste havia sido criado com 200 caracterı́sticas retangulares, aplicado num total de 14.804 imagens testadas, em que apenas uma imagem foi tida como falso positivo. 3. Cascata de classificadores A cascata (árvore) de classificadores tem por objetivo otimizar o reconhecimento de objetos. A cascata é um conjunto de estágios de funções de classificação para diminuir o número de falsos positivos. Já mostramos no tópico anterior que o método AdaBoot pode criar um bom detector por meio de muitas caracterı́sticas, com uma alta taxa de detecção. Porém, o uso de um único detector tem baixa velocidade de detecção, pois é necessário calcular os valores de caracterı́sticas para todas as subjanelas da imagem. Sendo assim, para melhorar o desempenho, vários estágios de classificadores são criados para eliminar subjanelas que não correspondam às caracterı́sticas procuradas, diminuindo assim o número de subjanelas de verificação. O objetivo da cascata de classificadores é eliminar um grande número de regiões que não contém a região de interesse logo nos estágios iniciais e, assim, nos estágios mais avançados, garantir que os classificadores sejam cada vez mais precisos para evitar o falso positivo na região de interesse. Figura 3.9: Cascata de classificadores. (adaptado de Viola e Jones (2001)). A representação de uma cascata de classificadores é mostrada na figura 3.9, onde são representados os estágios dos classificadores. Cada um destes estágios (estágio 1, estágio 2,..., estágio n) deve descartar ao máximo o número de subjanelas (regiões da imagem) que não contém a região de interesse, a fim de diminuir a quantidade de processamento de outras subjanelas da imagem original. CAPÍTULO 3. SISTEMA PROPOSTO 3.6 36 Avaliação de desempenho do sistema Na avaliação de desempenho, utilizaremos as métricas de precisão e sensibilidade. Essas são as principais métricas utilizadas em sistemas de extração de informação (Matos et al., 2009; Tan et al., 2005), por analisar acertos e erros. Com isto, mediremos o estado do olho, aberto ou fechado. A precisão mede a proporção de Verdadeiros Positivos classificados. A sensibilidade mede a capacidade do sistema em identificar corretamente um piscar entre aqueles que ocorreram, ou seja, o quão sensı́vel é o sistema. Os parâmetros para cálculo das medições de desempenho estão definidos aqui como VP, FN, FP e VN, que respectivamente são quantidade de verdadeiro positivo, falso negativo, falso positivo e verdadeiro negativo. Os falsos positivos ocorrem quando há detecções de piscares quando não houve piscar. E um falso negativo ocorre no caso em que a detecção falha em detectar um piscar, quando este está corretamente sobre a região da imagem a ser detectado o piscar. Em conjunto com esses erros, usa-se o verdadeiro positivo (VP), ou seja, o total de acertos para computar a precisão e a sensibilidade, as quais estão dispostas, consecutivamente, nas equações: P recisao = VP V P +F P e Sensibilidade = VP , V P +F N onde V P representa o número de verdadeiros positivos (acertos), F P o número de falsos positivos e F N o número de falsos negativos. No que diz respeito aos testes, selecionamos uma amostra para análise da avaliação do sistema e discussão de seus resultados. Os vı́deos usados nos experimentos foram selecionados aleatoriamente da base de vı́deos mostrados na seção 3.4 cujas caracterı́sticas estão descritas a seguir: • Sequência 1 (S1): gravada durante o dia, duração de 10 minutos, gravada no celular Samsung Galaxy S4, com resolução 640x480 pixels a uma taxa de 30 quadros por segundo, utilizando câmera frontal. • Sequência 2 (S2): gravada durante a noite, duração de 10 minutos, gravada na webcam de computador, com resolução 640x480 pixels e uma taxa de 30 quadros por segundo. Capı́tulo 4 Implementação do protótipo Desenvolvemos um sistema em linguagem Matlab com o propósito de testar a viabilidade da metodologia proposta. O Matlab foi escolhido por ter alto desempenho para cálculos numéricos, praticidade com o tratamento e o processamento de imagens, possuir funções pré-definidas de filtros, além da facilidade em manipular matrizes e plotar gráficos, que ajudam a demonstrar de forma clara e objetiva os resultados alcançados. O sistema proposto para dispositivo portátil foi projetado e estudado, contudo não chegou a ser desenvolvido a ponto de detectar o estágio de sonolência, no entanto, parte dos recursos foram implementadas para demonstrar as funcionalidades necessárias para o funcionamento do sistema portátil na plataforma Android. Desta forma, foi possı́vel avaliar a viabilidade e as limitações nos testes aplicados. 4.1 Sistema em Matlab Na figura 4.1 é mostrada a tela de interface do sistema desenvolvido em Matlab. As entradas configuráveis na interface do sistema foram dispostas para facilitar a alteração de valores dos parâmetros de processamento das imagens, com a finalidade de estudo para a validação dos parâmetros mais adequados para determinada condição de iluminação, qualidade de imagem e/ou alguma caracterı́stica especifica da amostra. Essas entradas serão mencionadas no decorrer das próximas seções. Entre elas estão os parâmetros de redimensionamento da janela de busca do olho, tamanho mı́nimo de face de busca na imagem, tempo de busca da face, intervalo de análise do piscar, comprimento da linha do olho para análise de contraste, altura e duração do pico do contraste. 37 CAPÍTULO 4. IMPLEMENTAÇÃO DO PROTÓTIPO 38 Figura 4.1: Tela de interface com o usuário do sistema. Nesta tela é possı́vel configurar parâmetros de entrada e saı́da do sistema. 4.1.1 Pré-processamento de imagens Nesta etapa, realiza-se o tratamento das imagens de vı́deo conforme cada imagem de entrada. As imagens são capturadas no formato de cor RGB e de imediato faz-se uma redução da imagem, por padrão, redimensionada para 50% de seu tamanho original e, em seguida, a imagem é convertida para tons de cinza, eliminando a cor e a saturação, porém mantendo a luminosidade. As escolhas de valores e procedimentos realizados nessa etapa passaram por vários testes para encontrar os valores e os ajustes necessários para um menor custo computacional, sem comprometer as informações necessárias. 4.1.2 Detecção de face A detecção de face é feita sobre a imagem resultante da etapa de pré-processamento automático da imagem. Para detectar a face utilizamos o toolbox Matlab, cujo método de detecção de objetos de Viola e Jones (2001), detalhado na seção 3.5. A detecção de face é realizada a cada intervalo de tempo. Após vários experimentos, definimos que o intervalo seguro para um menor número de erros de detecção é de 5 segundos, já que o objetivo da busca da face é encontrar a região dos olhos do motorista e rastreá-la para a análise do estado do olho, aberto ou fechado. A verificação da face é necessária para renovar as informações da região de busca do olho, certificando assim, que a região de interesse é a mesma. CAPÍTULO 4. IMPLEMENTAÇÃO DO PROTÓTIPO 39 Além de detectar a face na imagem, o sistema também distingue qual a maior face, caso apareça mais de uma na imagem. Com isso, é possı́vel saber qual a face do motorista. Por exemplo, se houver um passageiro no veiculo e este também apareça na imagem, o sistema vai considerar a face mais próxima da câmera, fazendo assim, o uso da maior face na imagem. 4.1.3 Detecção e avaliação do estado do olho A detecção e avaliação do estado (aberto/fechado) do olho é feita por meio do método original deste trabalho, chamada de linha de contraste de detecção. A área dos olhos é supostamente definida no quadrante superior da região da face. Neste quadrante detectamos o pixel mais escuro, supondo que este seja a pupila do olho. Neste ponto, traça-se uma linha horizontal com um pixel de espessura, de modo a cobrir todo o olho e, a partir daı́, será analisado o comportamento da linha (variação dos valores dos pixels da linha) para definir o estado do olho. Para uma linha com alto contraste entre esses valores (quando ocorrem picos e vales) é considerado que o olho está aberto (quando a linha passa sobre a pupila e a esclera), caso contrário, supomos que o olho está fechado (a linha de contraste possui pouca variação entre seus valores). A imagem da figura 4.2 representa a linha de contraste de detecção sobre o olho, cobrindo horizontalmente a pupila e a esclera. Figura 4.2: Estrutura externa do olho e a linha de contraste de detecção. A estimativa da região dos olhos ocorre após a localização da região da face (seção anterior). Após localizar o ponto mais escuro da pupila, é definido um retângulo no entorno dessa região, o qual, supõe-se ser o olho. A janela dessa imagem será usada como referência para a próxima etapa do sistema de rastreamento do olho. A figura 4.3 ilustra a localização da região do olho em nosso sistema. Na figura 4.3(c) temos a representação da linha de contraste do olho. Essa linha possui tamanho limitado e é traçada horizontalmente sobre o ponto mais escuro da pupila para mensurar a diferença de contraste com a região da esclera. Com a informação da diferença CAPÍTULO 4. IMPLEMENTAÇÃO DO PROTÓTIPO 40 Figura 4.3: Tela do sistema. (a) Detecção de pixel mais escuro da pupila. (b) Imagem da região do olho. (c) Linha de intensidade de contraste. de contraste, obtém-se a amplitude do contraste que será utilizada para saber o estado do olho: aberto ou fechado. 4.1.4 Rastreamento da região de interesse O rastreamento do olho é realizado por meio da janela de detecção do olho na etapa anterior, isto é, na menor imagem recortada da face em torno do olho. A cada quadro, supõe-se que a região do olho esteja dentro da região delimitada na imagem e que há pouco deslocamento da face do motorista. Considera-se ainda, que o olho esteja sempre na horizontal, uma vez que não há tantos movimentos do motorista durante a condução do veiculo em uma estrada. A cada intervalo de tempo (em nossos experimentos utilizamos uma faixa de 5 segundos, ou seja, em termos de quadros, uma média de 150 quadros) a busca é refeita em toda a imagem da detecção da face e dos olhos, para corrigir estes erros de deslocamento e renovar as informações da região de busca do olho, comprovando assim, que a região de interesse é a mesma. 4.1.5 Estimação do estado de sonolência Neste momento, já temos a região da imagem do olho e, com os dados da linha de intensidade de contraste, conseguimos distinguir quando o olho está aberto ou fechado, CAPÍTULO 4. IMPLEMENTAÇÃO DO PROTÓTIPO 41 além de saber por meio da variação de contraste, quando iniciou e terminou o evento de fechamento e abertura do olho. Figura 4.4: Análise de contraste. (a) Olho aberto com muita variação na amplitude. (b) Olho fechado com pouca variação na amplitude. A medida de duração do piscar é feita em intervalos de tempo pré-definidos, com o intuito de diminuir o custo computacional e ter respostas breves de análise destes intervalos. O cálculo de quando houve piscar é realizado com os dados de amplitude do contraste, estes obtidos por meio da linha horizontal de contraste do olho. O sistema verifica quando ocorrem os picos, dentro do limiar pré-definido e calcula quanto tempo esses picos permanecem abaixo deste limiar. Com esses picos conectados em um intervalo de tempo, obtém-se a frequência de piscar, inferindo uma taxa de quadros em que os olhos estão fechados, podendo alertar que o individuo entrou em estado de sonolência. Uma vez comprovado o estado de sonolência, o sistema emite um alerta sonoro e visual ao motorista, despertando-o assim, de seu estado de sonolência. 4.2 Análise de viabilidade de um sistema portátil Nesta seção, apresentaremos o estudo de viabilidade e testes de desempenho realizados, aplicando-se bibliotecas de código aberto de visão computacional, OPENCV. O objetivo é mostrar a viabilidade de realizar este trabalho, por meio de uma aplicação desenvolvida dessas bibliotecas, para detecção e rastreamento de face e olhos. A aplicação foi desenvolvida em linguagem Java, voltada para a plataforma Android. CAPÍTULO 4. IMPLEMENTAÇÃO DO PROTÓTIPO 4.2.1 42 Plataforma de desenvolvimento A plataforma de desenvolvimento escolhida e usada neste trabalho foi composta por IDE Eclipse 4.2 (Juno), plataforma Android SDK e gerenciador de API OPENCV 2.4.6. Tal escolha deve-se ao grande número de dispositivos presentes no mercado, possibilitando que a solução chegue à maioria dos usuários de dispositivos portáteis, que são motoristas de veı́culos, no entanto, não foram excluı́dos os operadores de fábrica, os monitores de sistemas de controle de patrimônio, os controladores de voo e, entre outros, os que necessitam de alguma forma de um sistema de detecção e alerta de sonolência. O ambiente para o desenvolvimento da aplicação é bem simples, entretanto há uma diferença deste projeto em relação à maioria dos desenvolvedores de aplicações para Android. Muitos desenvolvem e testam suas aplicações apenas com emulador do Android no computador de desenvolvimento, mas em nosso caso são manipulados os recursos de hardware (câmera) do dispositivo. Assim, faz-se necessária a utilização de dispositivo portátil no desenvolvimento. 4.2.2 Testes da aplicação em Android Nos testes de avaliação foram consideradas as condições de iluminação, o hardware usado e o tempo de execução da aplicação. Os testes foram realizados em rodovias, em duas etapas: a primeira em condições de iluminação natural da luz do dia e a segunda à noite, com uso da iluminação IR. A figura 4.6 mostra a tela do protótipo de testes em execução, detectando a região da face, olhos e pupila. Figura 4.5: Tela da saı́da gráfica do aplicativo ”face detection”do pacote OPENCV 2.4.6. Durante o dia, os testes foram aplicados em motoristas com e sem óculos e, à noite, os testes também foram aplicados com duas pessoas, mantendo-se o ambiente anterior do dia. Para o dispositivo portátil, não houve uma base de dados ou vı́deos, uma vez CAPÍTULO 4. IMPLEMENTAÇÃO DO PROTÓTIPO 43 que os vı́deos capturados eram processados simultaneamente pela aplicação. A analise de seu desempenho foi puramente por observação, pois a aplicação ainda não havia sido desenvolvida por completo para contemplar o armazenamento dos dados processados. A seguir, temos as caracterı́sticas do ambiente de processamento. Para os testes, foram utilizados como recursos um smartphone usando sua câmera frontal e um conjunto de leds infravermelhos. Na tabela 4.1 está detalhada a capacidade de processamento do dispositivo. Tabela 4.1: Configuração de dispositivos portáteis usados nos testes Marca/Modelo Samsung/Galaxy S4 Processador Quad-core 1.9GHz Memória RAM 2 GB Quadros por Segundo 30 Versão SO 4.2 (Jelly Bean) Capı́tulo 5 Resultados e discussão Os resultados aqui apresentados estão organizados na seguinte sequência: variação temporal do contraste, frequência e duração do piscar para análise de tempos. 5.1 Variação temporal do contraste Analisando a variação do contraste de um dos olhos ao longo do tempo, foi possı́vel detectar a abertura e o fechamento do olho a partir da detecção dos picos e vales, respectivamente. E com a avaliação da permanência do estado do olho com alto ou baixo contraste, foi possı́vel estimar a duração de cada fase do piscar. A figura 5.1 ilustra a análise dos dados da relação da amplitude com o tempo decorrido, representado pelos quadros ao longo do vı́deo. Os valores de contraste foram obtidos automaticamente pelo sistema que detecta o contraste do estado do olho, isto é, aberto ou fechado, representado respectivamente por picos na amplitude e, seu valor médio para olho aberto foi de aproximadamente 0.5 da amplitude do contraste. A detecção do estado ou não de sonolência foi analisada pelos dados do contraste, por um limiar de profundidade de pico e verificação de pontos conexos no decorrer do tempo. Por fim, obtivemos uma avaliação manual de um observador humano (groundtruth) que analisa o real estado do olho. Os valores representados no gráfico por Sistema (detecção do piscar) e groundtruth são booleanos, e são expressados por 0.5 para positivo e 0.0 para negativo. Os valores representados por Contraste são a variação real da intensidade da linha que passa sobre o olho. A avaliação dos vales do segmento da figura 5.1 teve como limiar de duração de pico o valor de 33% da mediana do contraste, isto é, a medição do número de quadros só ocorreu para cada pico quando este estava abaixo do limiar definido. 44 CAPÍTULO 5. RESULTADOS E DISCUSSÃO 45 Figura 5.1: Variação temporal do contraste, detecção automática de piscar e avaliação groundtruth. 5.2 Frequência e duração do piscar A frequência do piscar foi analisada conforme a quantidade de fechamentos do olho sobre o intervalo de tempo definido pelo usuário do sistema. Este intervalo é a variação do contraste, dado pela linha horizontal de intensidade que atravessa o olho, entre a pupila e a esclera. Com isso, pode-se mensurar a quantidade de quantos piscares do condutor de um veı́culo durante um intervalo de tempo, medindo assim o quão sonolento ele pode estar. A fadiga em uma pessoa ocorre com o passar do tempo, portanto, é natural que gradativamente o nı́vel de cansaço aumente no individuo e o piscar tenda a ter durações diferenciadas. Estudos usando EEG mostraram que a tendência é que o condutor tenha movimentos mais lentos no fechamento dos olhos e, assim, pode-se por meio da frequência, delimitar alertas diferenciados para estágios de sonolência do condutor. Conforme dito anteriormente, uma análise de sonolência tem base na frequência e o quão demorado está sendo cada piscar. Então, de posse da frequência com determinado intervalo de tempo, foi realizada a verificação de duração de cada piscar para definir o quão critico é o estado de sonolência do condutor do veiculo. Utilizamos um cálculo para detectar componentes conectados (sequência de quadros com os olhos fechados) na imagem e quantificar o número de piscares para avaliar o tempo de fechamento dos olhos. Medimos a duração mı́nima, média e máxima do piscar dentro de um intervalo, sendo este intervalo definido em uma janela de dois segundos, no entanto, este critério pode ser alterado no sistema. Este valor foi definido como intervalo de CAPÍTULO 5. RESULTADOS E DISCUSSÃO 46 segurança para análise e resposta ao condutor. Fazendo um simples cálculo de velocidade podemos exemplificar o critério escolhido: imagine um veiculo a uma velocidade de 100 quilômetros por hora. Este, em 2 segundos, se deslocará a uma distância aproximada de 55 metros, sendo que, um valor inferior já seria suficiente para colocar em risco a vida do condutor e demais passageiros do veiculo. A figura 5.2 mostra a tela do sistema de analise de duração do piscar a cada dois segundos. Temos neste gráfico a duração de piscares representados no eixo ”‘número de quadros”’ versus ”‘tempo”’, e os valores estão representados por pontos azuis, verdes e vermelhos, que respectivamente são duração mı́nima, média e máxima. Quando ocorrer de aparecer apenas um dos pontos no gráfico, significa que todos os pontos se coincidem. Figura 5.2: Gráfico do sistema obtendo duração do piscar. Pontos azuis, verdes e vermelhos, representam duração mı́nima, média e máxima de piscares, respectivamente. Os dados foram obtidos a cada 2 segundos. A partir deste ponto, mostramos análises quantitativas de duração mediana dos piscares. Os dados foram computados por meio da soma do número de quadros de um piscar, isto é, o tempo no qual os olhos permanecem fechados e utilizamos a mediana para analisar sua tendência central ao longo de uma janela de tempo. Utilizamos ainda mediana para obter valores centrais da amplitude do contraste, pois os dados neste intervalo são mais confiáveis e estáveis quando se trata de uma curva que tende a diminuir e aumentar quando ocorre o piscar. Na prática, quando a quantidade de valores do segmento do vetor for ı́mpar, a mediana é o valor central da amostra. Nesse caso, há a mesma quantidade de valores acima e abaixo desse valor. Caso a quantidade de valores da amostra seja par, é preciso tirar a média dos valores centrais para calcular a mediana. A tendência dos dados da amostra S1 e S2 encontra-se nos gráficos 5.3 e 5.4, que representam a duração mediana do piscar de ambiente diurno e noturno, respectivamente. Observe que os valores de duração foram analisados em comparação com os dados de groundtruth e do sistema, os quais mantiveram valores sempre próximos um do outro, coincidindo algumas vezes, como mostra o segundo e terceiro valor e, os demais, com uma diferença média de dois quadros de duração. CAPÍTULO 5. RESULTADOS E DISCUSSÃO 47 Figura 5.3: Duração mediana do piscar. Análise do Sistema com groundtruth (GT) em ambiente diurno. Figura 5.4: Duração mediana do piscar. Análise de comparação do Sistema com o groundtruth (GT) em ambiente noturno. CAPÍTULO 5. RESULTADOS E DISCUSSÃO 48 Outra importante análise foi a quantificação de piscar, mostrando o quanto o sistema acerta. Na amostra dos experimentos foram quantificados o piscar e a proporção de acertos do número de piscares do sistema sobre groundtruth. Observe o gráfico 5.6 de vı́deo gravado em ambiente noturno. Houve uma diferença de pouco menos de cinco piscares de duração. Figura 5.5: Número de piscares e proporção de acertos entre o sistema e o groundtruth em ambiente diurno. Amostra S1 com intervalos de 60 segundos. O gráfico 5.5 mostra a quantificação de piscares feitos em modo diurno. Os resultados mostraram uma variação maior que os dados em modo noturno, apresentados no gráfico 5.6. Isto deve-se a uma melhor detecção de caracterı́sticas, visto que a câmera noturna não possui filtro infravermelho, tendo maior entrada de luz e, consecutivamente, a obtenção de mais detalhes do vı́deo com o auxilio da iluminação de leds infravermelhos. Cabe ressaltar, ao final da análise, que o sistema teve mais acertos que o groundtruth, o que significa que o mesmo teve detecções onde não houve. Contudo, esses valores não ultrapassaram cinco piscares. Outros resultados analisados com as mesmas amostras anteriores, S1 e S2, foram as medidas de desempenho de precisão e sensibilidade. Essas medidas de desempenho foram descritas na seção 3.6, lembrando que as siglas VP, FN, FP e VN, são respectivamente, Verdadeiro Positivo, Falso Negativo, Falso Positivo e Verdadeiro Negativo. E as equações de precisão e sensibilidade estão definidas como: precisão = VP / (VP + FP) e sensibilidade = VP / (VP + FN). De uma forma mais simples, em relação ao piscar, VP detecta quando tem, FN não detecta quando tem, FP detecta sem ter e VN não detecta quando não tem. Apresentamos os resultados dos experimentos com a mensuração dos parâmetros de precisão e sensibilidade, sendo apresentado no gráfico 5.7, o experimento diurno, e o vı́deo CAPÍTULO 5. RESULTADOS E DISCUSSÃO 49 Figura 5.6: Número de piscares e proporção de acertos entre o sistema e o groundtruth em ambiente noturno. Amostra S2 com intervalos de 60 segundos. capturado com câmera frontal de Smartphone Samsung Galaxy SIV e no gráfico 5.8, o experimento em ambiente noturno com câmera sem filtro IR. As especificações detalhadas dos dispositivos estão na seção 3.6. Figura 5.7: Resultado da amostra S1 (ambiente diurno) de precisão e sensibilidade com intervalos de 60 segundos. Os resultados foram obtidos do sistema desenvolvido em Matlab de vı́deo, de duração de 603 segundos. Um ponto importante de se destacar, a partir da análise dos resultados é que foram considerados piscares quando houve ocorrência superior de dois quadros consecutivos de olhos fechados, isto é, quando o sistema retornava valores acima de dois pontos conectados. Isso nos garante eliminar ruı́dos que, geralmente, ocorrem por meio de movimentos bruscos da câmera, devido ao movimento do veiculo ou do próprio usuário. CAPÍTULO 5. RESULTADOS E DISCUSSÃO 50 Figura 5.8: Resultado da amostra S2 (ambiente noturno) de precisão e sensibilidade com intervalos de 60 segundos. Os resultados foram obtidos do sistema desenvolvido em Matlab de vı́deo, de duração de 619 segundos. Foram analisados os vı́deos gravados em laboratório, dirigindo nas ruas dentro da cidade e na rodovia. Para nosso estudo, colocamos neste trabalho os resultados de análises em rodovias, visto que é onde realmente ocorrem os acidentes de trânsito (Souza et al., 2008). No entanto, não podemos deixar de citar que, em experimentos dentro da cidade, ocorreu um elevado número de falsas detecções. Analisando o vı́deo de experimentos na cidade, verifica-se que a grande quantidade dessas falsas detecções deve-se às más condições das ruas, ao grande número de movimentos com a cabeça para contornar o veiculo em determinada rua, desvio do olhar para verificar semáforos, retrovisores e demais situações que chamavam a atenção do motorista. Portanto, observamos que, dentro da cidade, a distração ocorre mais por ruı́do e não por sonolência. O foco deste estudo foi de analisar resultados em condições reais nas estradas, onde os acidentes por sonolência são mais frequentes. Neste ambiente, o motorista está mais atento a tudo o que está à sua frente, mantendo sua face voltada para a câmera e, diminuindo assim, o número de falsas detecções. Quanto ao consumo de tempo do algoritmo, alguns parâmetros merecem destaque, como: tamanho da janela de busca da face e redimensionamento da janela de busca do olho. Estes parâmetros podem tornar o algoritmo mais rápido ou lento. Neste estudo encontramos valores como padrão de entrada que devolvem melhor taxa de acerto e desempenho para os parâmetros da chamada de função de busca da face. Definimos uma janela de cinco segundos e o fator de ROI do olho em 40% de seu tamanho original, dentre os vários testes realizados. Os resultados mostraram que o uso do método Viola e Jones (2001) na detecção CAPÍTULO 5. RESULTADOS E DISCUSSÃO 51 de face, em conjunto com o nosso método, linha de contraste de detecção, retornaram bons resultados. Verificamos que, em ambiente diurno, houve maior número de falsos positivos e, na análise dos vı́deos, foram encontrados borrões na imagem devido ao fato de, em alguns momentos, o smartphone ter balançado quando o veiculo passava em um trecho danificado da rodovia e o peso do dispositivo fazia o suporte balançar por mais tempo do que a câmera usada em ambiente noturno. Em ambiente noturno os resultados tiveram maior deficiência com os falsos negativos, pois não havia um controle eficaz de luminosidade, devido ao não uso de filtro na câmera, sendo este um dos requisitos para que fossem possı́veis as gravações noturnas com o auxilio da iluminação infravermelha. Capı́tulo 6 Conclusões Nesta seção serão apresentadas as conclusões obtidas neste trabalho e as devidas considerações para trabalhos futuros. 6.1 Considerações finais Neste documento, foi proposto o desenvolvimento de um aplicativo para dispositivos portáteis para detecção e alerta do estado de sonolência para motoristas. Tal dispositivo pode auxiliar na prevenção de acidentes causados por vários fatores, como o cansaço ou a distração do motorista. A proposta aqui detalhada, apresenta um estudo inserido numa área que está atualmente em desenvolvimento e, em constante expansão e, que procura explorar um problema já conhecido e estudado sobre várias formas de aplicação, mas sob um ponto de vista mais estrutural, por meio da utilização de caracterı́sticas de imagens para a detecção de piscar em motoristas. O problema de detecção do estado de sonolência em motoristas é uma área que tem recebido bastante atenção na atualidade, apresentando soluções variadas para tratá-lo. Cada vez mais se investe em tecnologias portáteis, que não necessitam conectar sensores/dispositivos ao corpo do motorista, visto que isto causam desconforto e alguns não são fáceis de manusear, além de não haver garantia de que os motoristas os usarão de maneira adequada. A tecnologia mais próxima a nossa proposta, descrita nos capı́tulos anteriores, está patenteada pela (Chai e Kujawa, 2009), mas em suas reivindicações não resolve o problema de detecção de sonolência em condições de pouca iluminação. A maioria dos acidentes ocorre no perı́odo noturno e de madrugada e, para solucionar este problema, propusemos neste trabalho, uma possı́vel solução, descrita no documento de patente de invenção (Apêndice A). Tal proposta abrange os pontos ainda não explorados nas pesquisas da área 52 CAPÍTULO 6. CONCLUSÕES 53 e, para conformidade, está em processo de tramitação pelo NIT (Núcleo de Informação Tecnológica) da UFABC junto com o INPI (Instituto Nacional de Propriedade Industrial), órgão do governo federal, responsável por cuidar do direito de patente na concessão e garantia de direitos de propriedade intelectual do inventor. Com o objetivo de discutir e ampliar o campo de visão do trabalho desenvolvido até o momento, este foi submetido em forma de artigo e aceito pelo SPGABC (simpósio de pesquisa do grande ABC) de 2012. Este é um evento cientı́fico interdisciplinar, realizado na região do grande ABC paulista e que está em sua segunda edição, com o objetivo de reunir pesquisas relevantes de programas de pós-graduação de universidade da região. O trabalho não pôde ser apresentado devido a uma exigência do INPI quanto ao sigilo do invento, até que seja concluı́do o depósito da patente, de forma a não perder o status de novidade. Os resultados apresentados sugerem também que a abordagem proposta é viável, mas sendo ainda necessário desenvolvê-la para dispositivo portátil com tempos de resposta curtos. Particularmente, os principais desafios serão a melhoria da detecção dos olhos e a diminuição do processamento necessário para o alerta. O primeiro será focado no estudo de como aumentar as detecções positivas dos olhos do motorista, enquanto que o segundo deverá possibilitar que o aplicativo seja executado em tempo real em dispositivos portáteis. 6.2 Sugestões de trabalhos futuros A seguir serão apresentadas algumas sugestões para trabalhos futuros, identificados como oportunidades de evolução do trabalho. Alguns dos tópicos listados têm como objetivo tornar esse trabalho mais completo, explorando aspectos que não cabem no tempo do programa de mestrado e serão deixados como sugestões para melhorias. • Uso de registro de EEG para validação da detecção de sonolência. O registro de EEG é considerado o indı́cio mais objetivo e confiável do estado de sonolência de uma pessoa. Na avaliação do sinal de EEG, normalmente considera-se a amplitude da energia em diferentes frequências, sendo estas classificadas em Delta (<3,5), Teta (4-7), Alfa (8-13) e Beta (14-25Hz). O nı́vel de sonolência normalmente é indicado na banda Teta (Shaaban et al., 2004). Além do grau de sonolência, o registro de EEG é válido para conferir a precisão do sistema na detecção de fechamento e abertura do olho. Esta técnica descrita foi abordada no trabalho de ? com significativos resultados de validação. • Implementação de sistema de detecção remota de sonolência deste estudo em plata- CAPÍTULO 6. CONCLUSÕES 54 forma para dispositivo portátil. • Protótipo do sistema para dispositivo portátil ao mercado, com as devidas especificações necessárias para o bom funcionamento, em consonância com os requisitos identificados e validados no ambiente de testes da implementação do sistema e, que atenda os principais objetivos, dentre eles, com destaque a prevenção de acidentes, gerando retorno à sociedade. • Uso de realidade virtual 3D. Uma significativa avaliação é a realização de testes com motoristas em ambiente de realidade virtual 3D, em conjunto com o levantamento de atividade eletroencefalográfica do motorista, de forma a registrar simultaneamente os dados de coleta. Vale ressaltar que este tipo de experimento não oferece qualquer risco aos sujeitos, apenas sendo necessário um alto investimento em equipamentos desta natureza. Referências Bibliográficas ABC-NEWS (2013). Seeing machines uses eye-tracking technology to monitor for distracted or fatigued drivers. http://www.abc.net.au/news/2013-05-29/ eye-tracking-technology-watches-out-for-sleepy-drivers/4720240. Alshaqaqi, B., Baquhaizel, A. S., Ouis, M. E. A., Boumehed, M., Ouamri, A., e Keche, M. (2013). Vision based system for driver drowsiness detection. IEEE Xplore Digital Library. Boverie, S. e Giralt, A. (2008). Driver Vigilance Diagnostic Based on Eyelid Movement Observation. Proceedings of the 17th World Congress. The International Federation of Automatic Control., pgs. 1–6. Chai, S. M. e Kujawa, G. A. (2009). Vision based alert system using portable device with camera. Coetzer, R. e Hancke, G. (2011). Eye detection for a real-time vehicle driver fatigue monitoring system. IEEE Intelligent Vehicles Symposium., 4. Farina, A. e Marana, A. (2012). Biomobile: Sistema biométrico de identificação de usuários em dispositivos móveis na plataforma android. UNESP. Fernandes, R. (2006). O Sono Normal. Simpósio de Medicina: Distúrbios Respiratórios do Sono, pgs. 157–168. Garcia, I., Bronte, S., Bergasa, L., Hernandez, N., Delgado, B., e Sevillano, M. (2010). Vision-based drowsiness detector for a realistic driving simulator. Intelligent Transportation Systems (ITSC), 2010 13th International IEEE Conference on, pgs. 887–894. GARTNER (2013). Market share: Mobile communication devices by region and country. Technical report. http://www.gartner.com/newsroom/id/2573415. Girotto, E., Mesas, A. E., de Andrade, S. M., e Birolim, M. M. (2013). Psychoactive substance use by truck drivers: a systematic review. Technical report. http://www. oem.bmj.com. 55 REFERÊNCIAS BIBLIOGRÁFICAS 56 Grace, R. (2001). Drowsy driver monitor and warning system. International Driving Symposium on Human Factors in Driver Assessment, Training and Vehicle Design., pgs. 1–5. Group, H. S. (2010). Eyealert fatigue warning system. http://www.eyealert.com/ea/ eadetail.html. Guimaraes, K. (2008). Efeitos dos exercı́cios orofarı́ngeos em pacientes com apnéia obstrutiva do sono moderada: Estudo controlado e randomizado. Banco de Teses: Faculdade de Medicina da USP. Horng, W. e Chen, C. (2008). Driver fatigue detection system based on eye tracking and dynamic template matching. Tamkang Journal of Science and Engineering, 11(1):65– 72. Horng, W. B., Chen, C. Y., Peng, J. W., e Chen, C. H. (2012). Improvements of driver fatigue detection system based on eye tracking and dynamic template matching. Wseas Transactions on Information Science and Applications, 9(1). Hu, D.-I., hua Zhao, X., chun Mu, Z., hui Sun, D., e liu, K. (2013). Distinguish method of fatigue state based on driving behavior wavelet analysis. Proceedings of the 32nd Chinese Control Conference, pgs. 3590–3596. Ji, Q. e Yang, X. (2002). Real-time eye, gaze, and face pose tracking for monitoring driver vigilance. Elsevier Science Ltd, 8(5):357377. Ji, Q., Zhu, Z., e Lan, P. (2004). Real-time nonintrusive monitoring and prediction of driver fatigue. IEEE Transactions on Vehicular Technology., 53(4). Kim, Y., Kim, Y., e Hahn, M. (2008). Detecting driver fatigue based on the drivers response pattern and the front view environment of an automobile. Second International Symposium on Universal Communication, pgs. 237–240. Knauth, D. R., Leal, A. F., Pilecco, F. B., Sefner, F., e Teixeira, A. M. F. B. (2012). Staying awake: truck drivers’ vulnerability in rio grande do sul, southern brazil. Revista Saúde Pública, 46(5). http://www.scielo.br/rsp. Krueger, S. e Calway, A. (1996). Multiresolution motion estimation using an affine model. CSTR, (96-002). Lang, L. e Qi, H. (2008). The study of driver fatigue monitor algorithm combined perclos and aecs. IEEE Computer Society, pgs. 349–352. Lecheta, R. (2001). Google Android 2a edição. Novatec, São Paulo. REFERÊNCIAS BIBLIOGRÁFICAS 57 Lee, B.-G. e Chung, W.-Y. (2012). Multi-classifier for highly reliable driver drowsiness detection in android plataform. Biomedical Engineering: Applications, Basis and Communications, 24(2):147–154. Liu, C. (2012). Face detection with android apis. Technical report, Developer, QuinStreet Inc. http://www.developer.com/ws/android/programming/ face-detection-with-android-apis.html. Liying, L. e Haoxiang, Q. (2008). The study of driver fatigue monitor algorithm combined perclos and aecs. 1:349–352. Machines, S. (2011). Driver state sensor. Technical report, Seeing Machines Limited. Martins, P. J. F., de Mello, M. T., e Tufik, S. (2001). Exercı́cio e sono. Technical Report 1. http://www.scielo.br/scielo.php?pid=S1517-86922001000100006&script=sci_ arttext&tlng=es. Matos, P. F., Lombardi, L. O., Ciferri, R. R., Pardo, T. A. S., Ciferri, C. D. A., e Vieira, M. T. P. (2009). Relatório técnico ”métricas de avaliação”. Technical report, Universidade Federal de São Carlos. http://http://gbd.dc.ufscar.br/~pablofmatos/ files/ReportMetrica-MatosEtAl.pdf. Mccool, C., Marcel, S., Hadid, A., Pietikainen, M., Matejka, P., Cernocky, J., Poh, N., Kittler, J., Larcher, A., Lévy, C., Matrouf, D., Bonastre, J., Tresadern, P., e Cootes, T. (2012). Bi-modal person recognition on a mobile phone: using mobile phone data. Technical report. Parmar, N. e Hiscocks, P. (2002). Drowsy driver detection system. Technical report, Ryerson University. Picot, A., Caplier, A., e Charbonnier, S. (2009). Comparison between eog and high frame rate camera for drowsiness detection. IEEE Xplore, (10.1109/WACV.2009.5403120):1– 6. Pradhan, T., Bagaria, A. N., e Routray, A. (2012). Measurement of perclos using eigeneyes. IEEE Proceedings of 4th International Conference on Intelligent Human Computer Interaction. Qing, W., Bingxi, S., Bin, X., e Junjie, Z. (2010). A perclos-based driver fatigue recognition application for smart vehicle space. Third International Symposium on Information Processing. QUALCOMM (2011). Próxima geração de chipsets móveis. Technical report, In Proc. Honda Symp. http://www.qualcomm.com.br/. REFERÊNCIAS BIBLIOGRÁFICAS 58 Qureshi, A. e J.T., L.-C. (2004). Medications and their effects on sleep. Technical Report 88(3):751-66., Med Clin North Am. Rizzo, G. (2002). Drowsy driving in the south of brazil. Revista brasileira Neurologia., 68(3):94–96. Russell, S. e Norving, P. (2004). Inteligência Artificial, 2a edição. Campus, Rio de Janeiro. Saeid, F. e Parisa, E. (2012). Tracking eye state for fatigue detection. International Conference on Advances in Computer and Electrical Engineering. Shaaban, L., C.S., H., Minu, P., Robert, C., e William, O. (2004). Pupil staging and eeg measurement of sleepiness. International Journal of Psychophysiology., 52. Smith, P., Shah, M., e Lobo, N. (2003). Determining driver visual attention with one camera. IEEE Transactions on Intelligent Transportation Systems, 4(04):205–218. Souza, J. C., Paiva, T., e Reimão, R. (2008). Sleep, quality of life and accidents in the lives of brazilian and portuguese truck drivers. Psicologia em Estudo, 13(3):429–436. Suzuki, A., Yasui, N., Nakano, N., e Kakeko, M. (2003). Lane recognition system for guiding of autonomous vehicle. Intelligent Vehicles Symposium, IEEE, pgs. 196–201. Tan, P., Steinbach, M., e Kumar, V. (2005). Introduction to data mining, first edition. Intelligent Vehicles Symposium, IEEE, pgs. 196–201. Tanha, M. e Seifoory, H. (2011). Morphological drowsy detection. IEEE International Conference on Signal and Image Processing Applications (ICSIPA), pgs. 63–65. Ueno, H., Kaneda, M., e Tsukino, M. (1994). Development of drowsiness detection system. Technical report, Vehicle Res. Lab., Nissan Motor Co. Ltd. Viola, P. e Jones, M. J. (2001). Rapid object detection using a boosted cascade of simple features. IEEE CVPR, 1:511. Viola, P. e Jones, M. J. (2004). Robust real-time face detection. International Journal of Computer Vision, 57(2):137–154. Wu, J. e Trivedi, M. M. (2010). An eye localization, tracking and blink pattern recognition system: Algorithm and evaluation. ACM Transactions on Multimedia Computing, Communications and Applications, 6(8). Yang, J. H., Mao, Z. H., Tijerina, L., Pilutti, T., Coughlin, J. F., e Feron, E. (2009). Detection of driver fatigue caused by sleep deprivation. IEEE Transactions on systems, man, and cybernetics-part A: Systems and humans, 39(4):694–705. REFERÊNCIAS BIBLIOGRÁFICAS 59 Yeo, M. V., Li, X., Shen, K., e Smith, E. P. W. (2009). Can svm be used for automatic eeg detection of drowsiness during car driving? Elsevier - Safety Science, (47):115–124. Zana, Y. e Dias, M. J. (2012). Sistema portátil de detecção de estado de sonolência e emissão de alerta através do monitoramento do piscar de olhos utilizando uma câmera infravermelha acoplada. Instituto Nacional da Propriedade Industrial, (BR1020120326744). Apêndice A Patente de invenção depositada no INPI A patente apresentada nesta seção foi depositada no Instituto Nacional da Propriedade Intelectual (INPI) sob o número BR1020120326744 publicada na Revista RPI 2195, Página 88. Essa patente apresenta parte das ideias desenvolvidas. 60 1/9 RESUMO SISTEMA PORTÁTIL DE DETECÇÃO DE ESTADO DE SONOLÊNCIA E EMISSÃO DE ALERTA ATRAVÉS DO MONITORAMENTO DO PISCAR DE OLHOS UTILIZANDO UMA CÂMERA INFRAVERMELHA ACOPLADA. O 5 presente invento refere-se a um sistema de detecção do estado de sonolência de uma pessoa e emissão de alerta, constituído de um dispositivo portátil, uma câmera infravermelha acoplada e um método de detecção de sonolência. A invenção pretende detectar o grau de sonolência de pessoas em tempo real, sem contato físico, e alertá-las com vistas à prevenção de acidentes ou erros 10 operacionais, que podem ocorrer com maior probabilidade quando as pessoas estão em estado de sonolência. O sistema pode ser usado em diversos tipos de ambientes, inclusive veículos, escritórios e fábricas. O sistema utiliza imagens capturadas por uma câmera infravermelha; essas imagens são processadas por um dispositivo portátil compreendido de microprocessador e um método de detecção de sonolência. Uma 15 alerta, por meio visual, sonoro, vibratório ou de comunicação, pode ser emitido em casos de detecção de um estado de sonolência. 2/9 “SISTEMA PORTÁTIL DE DETECÇÃO DE ESTADO DE SONOLÊNCIA E EMISSÃO DE ALERTA ATRAVÉS DO MONITORAMENTO DO PISCAR DE OLHOS UTILIZANDO UMA CÂMERA INFRAVERMELHA ACOPLADA” A presente invenção refere-se a um sistema de detecção do estado de 5 sonolência de uma pessoa e emissão de alerta, constituído de um dispositivo portátil, uma câmera infravermelha acoplada e um método de detecção de sonolência. A invenção pretende detectar o grau de sonolência em pessoas, como motoristas e operadores de instrumentos, e alertá-las com vistas à prevenção de acidentes ou erros operacionais, as quais ocorrem com maior probabilidade quando as 10 pessoas estão em estado de sonolência. O sistema pode ser usado em diversos tipos de ambientes, inclusive veículos, escritórios e fábricas. Os atuais sistemas de detecção de sonolência são baseados em vários métodos e também aplicados de formas diferentes. Os métodos correlacionados podem ser classificados em três categorias: Uso de sensores que detectam sinais fisiológicos, 15 sensores que avaliam o desempenho de condução do motorista e sistemas que usam imagens de câmeras. Na patente de invenção n.º PI0804220-9, utiliza-se o monitoramento do piscar dos olhos por eletromiografia, da pressão sanguínea e do potencial elétrico de pele da pessoa que conduz o veiculo e ainda o registro de ondas cerebrais por meio de 20 eletroencefalografia. Outra patente de invenção é a de nº US 6.822.573B2, a qual analisa sinais físicos, dentre eles a analise de posição da cabeça e a postura do motorista. Esta patente também analisa as ações que o motorista transmite ao carro, como a diminuição da força de aperto no volante e frequência cardíaca. Nessa mesma linha de estudo existe também 25 a patente nº PI 9504298-9 que é um sistema de identificação e aviso de sonolência do motorista que avalia desvios bruscos na direção e aceleração do veiculo. A patente de n.º US 7.482.937B2, a qual utiliza um sistema de dispositivo portátil com uma câmera embutida para monitorar através das imagens capturadas as condições de atenção do motorista e emissão de alertas do estado de 30 sonolência do motorista. Contudo, esta invenção não prevê um componente para 3/9 captação de imagens em condições ambientais de baixa ou sem iluminação, portanto seu uso fica restrito a operação em condições de forte iluminação. As técnicas encontradas apresentam limitações, seja pela necessidade de conexão de dispositivos ao corpo, seja pelas condições ambientais. 5 Métodos não remotos utilizam-se de aparatos conectados ao corpo da pessoa, sejam eles sensores para medir as condições fisiológicas como frequência cardíaca e eletroencefalograma, ou ainda chapéus e óculos presos a fios para medir a inclinação da cabeça. Estes meios normalmente geram desconforto e podem não ser usados, seja por esquecimento ou autoconfiança do usuário; além disso, são métodos de 10 alto custo e, portanto, de difícil comercialização. Os métodos que avaliam o desempenho do motorista não levam em consideração fatores sobre a má condição das rodovias, como falta de sinalização e falhas no asfalto, e possuem uma alta taxa de erro. Outro fator são as mudanças climáticas que diminuem a visibilidade e afetam o desempenho do motorista resultando 15 em alta taxa de alertas falsos positivos, tornando o invento pouco confiável. Em invenções que utilizam-se de imagens para avaliar as condições de sonolência é imprescindível um método que funcione tanto em condições diurnas quanto noturnas, pois é fato que no período noturno ocorre a maior incidência de estados de sonolência, objeto primário da solução. 20 De acordo com uma concretização de referência desta invenção, o dispositivo portátil pode ser um aparelho celular posicionado em frente a um operador de painel de controle operacional em conjunto com uma câmera infravermelha acoplada posicionada para detectar a face do operador do painel. O sistema que opera o monitoramento usado neste celular pode ser baixado da Internet com uma interface para 25 o usuário realizar sua ativação. Caso detectado sinais de estado de sonolência, que sugere estado de baixo nível de atenção, o sistema emitirá um alerta sonoro do próprio aparelho celular e envia de uma mensagem, podendo ser de SMS por rede telefônica ou de dados, para o supervisor do operador, visto que pode se tratar do monitoramento de operações critica de uma fábrica. 30 Em outra concretização desta invenção, o dispositivo portátil é um aparelho celular posicionado juntamente com uma câmera infravermelha acoplada no painel ou para-brisa de um veículo motor; a câmera infravermelha é posicionada diante 4/9 do motorista em uma posição que capture imagens de vídeo da face do motorista. Com o sistema de monitoramento do estado de sonolência instalado no dispositivo portátil, este realiza o processamento das imagens e análise do estado de sonolência do motorista, e se identificado durante o monitoramento à detecção de padrões de piscar 5 que caracterizam um estado de sonolência, o sistema emitirá através do próprio dispositivo portátil uma alerta sonoro, e ainda o sistema pode ser configurado em sua interface pelo próprio utilizador para enviar alertas a outras pessoas com a finalidade de que estas monitorem o estado de sonolência do motorista, tendo assim essas pessoas a possibilidade de conhecer a situação em tempo real em uma viagem, podendo utilizar 10 desses dados para reforçar o alerta ao motorista. A presente invenção tem como objetivo superar as limitações dos métodos descritos acima. O sistema da presente invenção utiliza imagens capturadas por uma câmera que opera na região espectral do infravermelho, podendo ter um dispositivo de iluminação infravermelha ou não; essas imagens são processadas por um dispositivo 15 portátil contendo microprocessador. Visto a disponibilidade a baixo custo de dispositivos desta natureza, a exemplo de celulares, o sistema terá um baixo custo final. As figuras anexas mostram uma concretização do sistema de detecção do estado de sonolência, abaixo segue a listagem das figuras com suas respectivas descrições. 20 A figura “FIG. 1” mostra o interior de um automóvel 4 com o dispositivo portátil 1 e uma câmera infravermelha 2 para ser usada em condições diurnas ou noturnos, e está em direção de captura de imagens diante ao usuário 3. A figura “FIG. 2” mostra o fluxograma do algoritmo demonstrando sistematicamente todas as etapas do algoritmo; este é iniciado realizando a aquisição de 25 imagem 1, com esta imagem se verifica a existência de uma face 2, caso negativo o processo volta em 1, e caso positivo continua o fluxo realizando a captura da imagem 3, nesta imagem da face se verifica a existência de olhos do utilizador 4, caso negativo retorna à etapa de aquisição 1 e caso afirmativo se realiza o recorte da área do olho 5 para diminuir a região de busca e melhorar o desempenho, passa para a etapa de 30 rastreando da próxima imagem 6 e verifica se ainda existem as características da imagem anterior 7, isto é, a posição do olho, caso negativo o processo retorna como 5/9 perda do olho e retoma a etapa de aquisição 1, em caso positivo a imagem é analisada para detectar o estado do olho, isto é, estado entre aberto e fechado que identifica características de amplitude e velocidade de fechar dos olhos, e de posso dessas informações é executada a avaliação do estado de sonolência do utilizador 9, analisando 5 neste passo o conjunto de informações de uma sequência de imagens e se decide através de um conjunto de regras se será gerado o alerta 11 ao utilizador ou continuará o fluxo de monitoramento atualizando o a imagem do olho 12. A invenção está disposta para uso do sistema de detecção do estado de sonolência em condições diurnas e noturnas. O sistema disposto na FIG. 1 requer um 10 dispositivo portátil 1 e uma câmera infravermelha 2, e ainda o método demonstrado no fluxograma da FIG. 2. O dispositivo portátil FIG. 1 é composto de microprocessador para realizar o processamento das funções do método; o sistema funciona tanto em ambientes com alta quanto de baixa iluminação com o uso de câmera infravermelha acoplada. 15 A lógica da invenção é apresentada detalhadamente no fluxograma do algoritmo FIG. 2 da captura das imagens, execução, analise a alerta ao usuário, bem como o seu continuo fluxo de funcionamento neste processo de detecção de sonolência e emissão de alerta, mostrado as etapas de entrada de dados do ambiente externo 1, processamento de imagem 2, 3, 4, 5, 6, 7, aquisição de dados para analise 8 e avaliação 20 do estado de sonolência 9 que verifica as condições de sonolência, tomada de decisão através de regras estabelecidas para identificar o estado de sonolência e retorno ao utilizador 11. 6/9 REINVINDICAÇÕES 1) SISTEMA PORTÁTIL DE DETECÇÃO DE ESTADO DE SONOLÊNCIA E EMISSÃO DE ALERTA ATRAVÉS DO MONITORAMENTO DO PISCAR DE OLHOS UTILIZANDO UMA CÂMERA INFRAVERMELHA ACOPLADA é 5 caracterizado por um dispositivo portátil constituído de um microprocessador, uma câmera infravermelha e um método de detecção de estado de sonolência. 2) dispositivo portátil de acordo com a reivindicação 1, é caracterizado por um dispositivo eletrônico compreendido de microprocessador; 3) câmera infravermelha de acordo com a reivindicação 1, caracterizado pelo fato de 10 que trará condições de uso em condições de baixa e alta iluminação ambiental com uma câmera infravermelha; 4) método de detecção de sonolência de acordo com a reivindicação 1, caracterizado por ativação de um alerta, em resposta a um acontecimento, compreendido por: Posicionamento de um dispositivo portátil de tal forma que o dispositivo portátil esteja 15 posicionado para capturar imagens do ambiente; Processamento de imagens no microprocessador de um dispositivo portátil para a detecção de piscares; Ativação de uma alerta relacionada ao evento de detecção do estado de sonolência processado por dispositivo portátil. 5) método de acordo com o reivindicado em 1, caracterizado por ativação do alerta 20 baseado em sinal sonoro, visual, vibratório ou de comunicação do dispositivo portátil compreendido por sons emitidos do alto falante, emissão de aviso em tela e vibração do próprio dispositivo portátil. 6) método de acordo com o reivindicado em 1, caracterizado por interface que compreende uma apresentação de informações em tela para o usuário do dispositivo 25 portátil; 7) sistema para ativação de alerta em resposta a um evento de acordo com o reivindicado em 1, caracterizado por sistema compreendido por: Um dispositivo portátil com uma câmera infravermelha, um microprocessador e componentes de alerta, sejam eles do tipo: sonoro, visual, vibratório e de comunicação; um sistema de alerta 30 para gerar e enviar alerta em resposta a detecção de um evento; Quando o microprocessador do dispositivo portátil está operando para processar imagens de uma 7/9 câmera, detecção de evento de características de imagens da câmera, e detecção do estado de sonolência para emitir alertar do sistema se um evento for detectado. 8/9 9/9