Buscar

TCC - INTEGRAÇÃO DE SISTEMAS DA INFOMAÇÃO E ESTRUTURA ORGANIZACIONAL EM EMPRESAS rev1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 92 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 92 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 92 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

FACULDADE cenecista rio das ostras
CURSO DE engenharia de PRODUÇÃO
Mariana GAMA pARDAL DA SILVA
INTEGRAÇÃO DE SISTEMAS DE INFORMAÇÃO E ESTRUTURA ORGANIZACIONAL.
RIO DAS OSTRAS-RJ
DEZEMBRO - 2019
FACULDADE CENECISTA RIO DAS OSTRAS
CURSO DE engenharia de produÇÃO
mARIANA GAMA PARDAL DA SILVA
INTEGRAÇÃO DE SISTEMAS DE INFORMAÇÃO E ESTRUTURA ORGANIZACIONAL.
Monografia apresentada ao Curso de Graduação, em Engenharia da Produção, da Faculdade Cenecista Rio das Ostras, como requisito parcial à obtenção do título de Bacharel em Engenharia de Produção.
Orientador: Prof.xxxxxxxxxxxxxxxxxxxxxx
RIO DAS OSTRAS- RJ
DEZEMBRO - 2019
	
	
FICHA CATALOGRÁFICA
	
	
	
	
	
	
	
	
	
	
	
	
	
	
MARIANA GAMA PARDAL DA SILVA
INTEGRAÇÃO DE SISTEMAS DE INFORMAÇÃO E ESTRUTURA ORGANIZACIONAL.
Monografia apresentada ao Curso de Graduação, em Engenharia de Produção, da Faculdade Cenecista de Rio das Ostras, como requisito parcial à obtenção do título de Bacharel em Engenharia de Produção.
COMISSÃO EXAMINADORA
_____________________________________________
Prof. 
Faculdade Cenecista Rio das Ostras
_____________________________________________
Prof. 
Faculdade Cenecista Rio das Ostras
_____________________________________________
Prof. (Orientador) 
Faculdade Cenecista Rio das Ostras
RIO DAS OSTRAS
DEZEMBRO - 2019
Agradecer a Deus, meus familiares e amigos, que diretamente e indiretamente contribuíram em mais uma etapa da minha vida. E em especial a minha irmã, Anna Carolina, que independentemente de onde esteja me acompanha.
Mariana Gama
Agradecimentos
Primeiramente agradecer aos meus familiares, os maiores responsáveis por tudo, fundamentais em minha formação profissional e moral. Agradeço aos meus amigos pela paciência e total suporte, nessa longa jornada, exaustiva, porém extremamente recompensadora.
Aos professores, pelo incentivo dedicação e orientação não somente neste trabalho, mas em todo meu desenvolvimento acadêmico nesta instituição.
resumo
A competitividade, intensificação dos processos de globalização e as profundas transformações nas estruturas dos mercados evidenciam a relevância de as organizações reverem seus modelos e instrumentos de gestão, para que não se tornem arcaicas. A necessidade de estarem focadas em seus resultados, exige uma gestão com implementações e estratégias eficientes, que podem ser facilitadas utilizando-se de recursos inteligentes, que são oferecidos pelos sistemas de informação, e por uma estrutura organizacional delineada de acordo com os objetivos da empresa.
Por este cenário, esta monografia visa avaliar e analisar os resultados obtidos com a integração de dois sistemas de informação criados para armazenamento e controle de dados operacionais de uma empresa, que são imputados por diferentes setores de uma estrutura organizacional, que tem como objetivo o controle e monitoramento de suas operações que ocorrem ininterrompidamente.
 Transformar dados e informação.
INCLUIR PRINCIPAIS RESULTADOS E CONCLUSÕES AO FIM DO TRABALHO
Palavras-chave: Estrutura organizacional, Sistemas de Informação, Análise de dados, Gestão, Integração.
abstract
Driver fatigue and sleep are one of the most common causes of road 
Keywords: Raspberry PI; fatigue; data analysis; prototype; vehicle safety; PERCLOS.
	
lista das figuras
Figura 1 - Assistente de faixa em execução	22
Figura 2 - Assistente de atenção emitindo mensagem para uma pausa	23
Figura 3 - Dispositivo do sistema anti sono.	24
Figura 4 - Dispositivo da empresa Healthy Road.	25
Figura 5 - Percentual da abertura da pálpebra baseada pelo sistema PERCLOS	27
Figura 6 - Componentes do Kinect Sensor.	30
Figura 7a - Os pontos de luz infravermelho capturada pela câmera IR. Imagem da esquerda representa o zoom da área enfatizada pelo quadrado vermelho	31
Figura 8 - Distância para qualidade de resultado do Sensor de profundidade.	32
Figura 9 - Esquema GPIO do Raspberry Pi 3 (Portas Programáveis de Entrada e Saída).	34
Figura 10 - Câmera e lanternas IR para Raspberry.	36
Figura 11 - Referências numéricas do Landmark Point da face	37
Figura 12 - Representação do Desvio Padrão Normalizado dos Landmark Points da face.	38
Figura 13 - Código fonte utilização do Landmark Points fornecido pelo Dlib e funcionalidades de análise de dados	41
Figura 14 - Código fonte captura de imagens pelo Kinect Sensor utilizando a biblioteca OpenNI	43
Figura 15 - Diagrama de Componentes	45
Figura 16 - Sistema de Visão Artificial (SVA) e suas etapas para aplicação em estudo de caso.	47
Figura 17 - Fluxograma de Tratamento Matemático: 1) calibração ou treinamento prévio, e 2) execução pós-treinamento para tratamento dos dados e classificação da sonolência.	48
Figura 18 - - Diagrama de Distribuição Kinect Sensor	49
Figura 19 - Diagrama de Distribuição Notebook I7	49
Figura 20 - Diagrama de Distribuição Raspberry PI 3	50
Figura 21 - Diagrama de máquina de estados do algoritmo de análise PERCLOS P70	52
Figura 22 - Código fonte da implementação da calibragem da abertura dos olhos.	53
Figura 23 - Código fonte da implementação da conversão dos dados em porcentagem.	54
Figura 24 - Código fonte da implementação do gráfico de análise	55
Figura 25 - Código fonte da implementação da conversão dos dados adquiridos na etapa de execução do algoritmo PERCLOS para porcentagem	56
Figura 26 - Janela de Avaliação PERCLOS.	57
Figura 27 - Código fonte da implementação da razão de aspecto.	58
Figura 28 - Razão de Aspecto com as devidas variáveis da função razaoDeAspecto.	58
Figura 29 - Código fonte da implementação do desvio padrão.	59
Figura 30 - Código fonte da implementação do erro padrão.	60
Figura 31 - Conversão Razão de Aspecto (Mín. e Máx.) para extremidades dos valores PERCLOS	61
Figura 32 - Histograma dos dados adquiridos utilizando a técnica de Razão de Aspecto para 4 indivíduos, em distâncias “D” igual a 50, 60 e 70 cm da câmera, avaliados para as condições de olhos abertos e fechados.	64
Figura 33 - Histograma dos dados adquiridos sem utilizar a técnica de Razão de Aspecto, via abertura vertical dos olhos, para 4 indivíduos, em distâncias “D” igual a 50, 60 e 70 cm da câmera, avaliados para as condições de olhos abertos e fechados.	66
Figura 34 - Gráfico dos valores de mediana obtidos sem utilização da Razão de Aspecto, via abertura vertical dos olhos, para 4 indivíduos, em distâncias “D” igual a 50, 60 e 70 cm da câmera, avaliados para as condições de olhos abertos e fechados.	68
Figura 35 - Comparação da implementação do algoritmo de limiarização por equilíbrio (gráficos do lado direito) nas amostras de dados coletados com Valor Vertical da Abertura dos Olhos e a Razão de Aspecto (gráficos do lado esquerdo)	70
Figura 36 - Gráfico gerado pelos dados coletados do Voluntário 6.	74
Figura 37 - Gráfico da média dos resultados obtidos pelos testes das métricas PERCLOS.	77
lista das TABELAS
Tabela 1 - Rotinas de Testes Individuais dos Voluntários.	28
Tabela 2 - Desempenho dos hardwares utilizados para os casos de testes.	62
Tabela 3 - Testes de métrica PERCLOS computados pela razão de aspecto de olhos.	72
lista dOS QUADROS
Quadro 1 - Principais módulos da OpenCV e suas respectivas características	40
Quadro 2 - Repositórios de Código Fontes	89
sumário
1	INTRODUÇÃO	15
1.1	SITUAÇÃO PROBLEMA	17
1.2	HIPÓTESE	18
1.3	OBJETIVO GERAL	18
1.4	OBJETIVOS ESPECÍFICOS	18
1.5	JUSTIFICATIVA	19
1.6	MEIOS	19
1.7	ESTRUTURA DA MONOGRAFIA	19
2	REVISÃO SOBRE SEGURANÇA AUTOMOTIVA: DISPOSITIVOS PARA PREVENÇÃO AO SONO NO VOLANTE	21
2.1	DRIVER ALERT E LANE ASSIST (VOLKSWAGEN/FORD)	21
2.2	ATTENTION ASSISTANT (MERCEDES-BENZ)	22
2.3	MONITOR DE FADIGA PARA MOTORISTA VUEMATE DL330A	23
2.4	ANTI SLEEP PILOT	23
2.5	HEALTHY DRIVE (HEALTHY ROAD)	24
2.6	CARACTERÍSTICAS DA SONOLÊNCIA E PARAMETRIZAÇÃO DO DISPOSITIVO	25
2.7	SISTEMA PARA MÊNSURAR A FADIGA	26
3	CARACTERIZAÇÃO DE TECNOLOGIAS ÚTEIS AO DESENVOLVIMENTO DO ESTUDO DE CASO	29
3.1	KINECT SENSOR	29
3.2	RASPBERRY PI	33
3.2.1	RASPBIAN OS	353.2.2	CÂMERA INFRAVERMELHO DO RASPBERRY	35
3.3	LANDMARK POINTS	36
3.4	BIBLIOTECAS DE DESENVOLVIMENTO	38
3.4.1	OPENCV	39
3.4.2	DLIB	40
3.4.3	OPENNI	42
4	PROPOSIÇÃO DO ESTUDO DE CASO PARA PREVENÇÃO DE SONO AO VOLANTE	43
4.1	CASO 1: COMPUTADOR COM O KINECT	48
4.2	CASO 2: COMPUTADOR COM CÂMERA CONVENCIONAL	49
4.3	CASO 3: SISTEMA EMBARCADO VIA RASPBERRY COM CÂMERA NATIVA de IR	50
4.4	ALGORITMO DE ANÁLISE PERCLOS P70	50
4.5	AQUISIÇÃO DE DADOS DA AMOSTRAGEM INICIAL	53
4.6	CALIBRAGEM DAS MÉTRICAS DE ABERTURA DOS OLHOS	53
4.7	EXECUÇÃO E ANÁLISE DOS DADOS OBTIDOS PELA AQUISIÇÃO DE IMAGENS	54
4.8	RAZÃO DE ASPECTO	57
4.9	DESVIO PADRÃO	59
4.10	ERRO PADRÃO	60
4.11	IMPLEMENTAÇÃO DA RAZÃO DE ASPECTO NA METODOLOGIA PERCLOS – AVALIAÇÂO DE SONOLÊNCIA	60
5	TESTES E RESULTADOS	62
5.1	TESTES DE RAZÃO DE ASPECTO PARA CORREÇÃO DE DISTÂNCIA	63
5.2	TESTES MÉTRICAS PERCLOS	71
5.3	RESULTADOS OBTIDOS VIA MÉTRICA PERCLOS COMPUTADA POR RAZÃO DE ASPECTO	73
6	DISCUSSÕES GERAIS	75
7	CONCLUSÕES GERAIS	78
7.1	TRABALHOS FUTUROS	79
8	BIBLIOGRAFIA	80
ANEXOS	84
ANEXO A – ALGORITMO DE LIMIARIZAÇÃO POR EQUILÍBRIO	84
ANEXO B – REGRAS DE DESENVOLVIMENTO DE PROTÓTIPO DOS CENÁRIOS	87
1 INTRODUÇÃO
Empresas em busca de soluções para os problemas enfrentados em função da grande competitividade no cenário atual, impulsionam os gestores a unificação de partes que compõem sua estrutura, para a criação de sistemas que proporcionem uma melhor administração da organização como um todo.
Os sistemas de informação permitem que os gestores obtenham de forma prática, informações que são oriundas de dados coletados, medidos e transformados em informações que são necessárias para embasamento das decisões que impulsionam a empresa, em diversas áreas, como por exemplo estratégias de marketing, questões administrativas internas ou áreas que necessitem de uma gestão apurada específica por meio de indicadores, que é o foco abordado nessa pesquisa, visando um aumento da produtividade e redução de custos. 
As principais empresas mundiais estão realizando grandes investimentos na área tecnológica e reestruturação para fornecimento de melhoria na produtividade. Segundo a sociólogo espanhol Manuel Castells:
 
“[...] a inovação tecnológica e a transformação organizacional com enfoque na flexibilidade e na adaptabilidade foram absolutamente cruciais para garantir a velocidade e a eficiência da reestruturação.”
 (MANUEL CASTELLS, 2000)
A transformação econômica e algumas das mudanças que aconteceram nas organizações não teriam tido a magnitude e o impacto que tiveram, se não tivesse sido pelos investimentos tecnológicos. O banco Itaú, por exemplo, no ano de 2008, em uma pesquisa realizada pela IT Mídia, empresa de soluções integradas de comunicação business to business, ocupou primeiro lugar no ranking das empresas que mais inovaram em ferramentas tecnológicas, onde 8% de seu faturamento é aplicado em TI. No ano de 2003, a instituição obteve um lucro de 3,15 bilhões de reais, o melhor resultado entre os bancos privados do Brasil (IT MIDIA, 2008).
Tais ferramentas, permitem aos gestores obter de forma dinâmica as informações necessárias, para auxiliar nas tomadas de decisões. Os sistemas de informação podem ser classificados de diversas formas, em geral classificam-se de duas maneiras principais: Sistemas Abertos e Sistemas Fechados. Sistema Aberto caracteriza-se essencialmente a interação da empresa com a sociedade e o meio ambiente onde ela atua, Sistemas Fechados, independem do meio externo para o desenvolvimento de suas funções, são entendidos como os que não mantêm relação de interdependência com o ambiente externo (OLIVEIRA, 2008).
Com base nestes elementos, mencionamos a importância dos sistemas de informação como excelentes instrumentos em unidades de gestão compartilhadas, instituído em estruturas organizacionais de empresas, que tem por finalidade centralizar e otimizar a realização dos serviços que ocorrem ininterrompidamente. Dessa forma, o crescimento da área está ligado à tendência do mercado e a necessidade em seus mais diversos aspectos, como por exemplo, a coordenação das ações de respostas integradas às solicitações emergenciais, colaborando no controle operacional da empresa, garantindo que atuem de forma complementar e harmônica, atuando de forma centralizado. Dividindo o mesmo ambiente físico com deferentes áreas que a compõem, permitindo a gestão compartilhada de meios materiais, humanos e de informações buscando a eficiência, a eficácia e, sobretudo a efetividade das ações com segurança.  
SITUAÇÃO PROBLEMA 
O Brasil é um país de dimensões continentais, onde cada uma de suas regiões possui uma característica econômica. Por conta disso, uma enorme demanda de transporte de cargas e de pessoas, meios de transporte inter-regionais, é gerada, com o intuito de suprir as necessidades.
De acordo com dados da Confederação Nacional de Transporte (CNT), a principal via de transporte para movimentações de cargas no Brasil, com mais de 60% dos transportes de cargas são realizadas por rodovias e estradas, com aproximadamente 1,7 milhões de quilômetros (CNT, 2016). Levando em consideração a elevada demanda de movimentação de cargas em território nacional, e o grande índice de mortalidade nas estradas, existe também uma grande parcela dos acidentes ocasionados por cansaço, stress e principalmente pelo sono ao volante que são decorrentes dos prazos de entregas e elevadas cargas horárias de trabalho, além da monotonia ocasionada pela pouca mobilidade corporal dos motoristas, que possui essa realidade como rotina de sua profissão. 
Não somente com ênfase nos profissionais de transporte rodoviário, como também nos motoristas de automóveis pessoais, a pesquisa realizada por esta monografia tem como objetivo desenvolver um estudo voltado para disponibilizar os recursos tecnológicos com intuito de minimizar a exposição do motorista aos acidentes, sinalizando-o quando caracterizado pelas condições físicas, neuropsicológicas e cognitivas pertinentes ao sono ao volante. 
A grande maioria dos pesquisadores que estudam o sono se baseia na definição de que o sono é como um estado funcional, reversível e cíclico, com comportamentos corporais característicos, como mobilidade e lentidão aos movimentos e limiar de resposta aos estímulos externos, caracterizado por baixo reflexo (BUELA, 1984 apud SOUZA, 1999).
Apesar de existir uma grande diversidade e peculiaridade de características do ser humano que envolve reações singulares de pessoa para pessoa, em vista das expressões faciais, algumas ações são universais e determinantes para expressar certas emoções, especialmente para caracterização do sono ao volante, objeto-alvo deste estudo, e que podem ser aplicadas em sistemas dotados de Inteligência Artificial, para reconhecimento da sonolência do condutor do veículo, e consequentemente para a prevenção de acidentes.
HIPÓTESE
A leitura facial para diagnosticar expressões pertinentes ao sono é relevante ao propósito dos dispositivos de monitoramento facial para automóveis, portanto com as diversificações de características físicas e em alguns casos expressões incomuns para expressar o sono. Tais características devem ser tratadas por algoritmos que realizem a calibração individual, de modo que o dispositivo se adapta a determinadas características pertinentes ao usuário. 
Neste contexto, considera-se a hipótese de que podem ser desenvolvidas aplicações para o uso de leitura de padrões faciais no diagnóstico de expressão pertinentes ao sono e então serem utilizadas na prevenção de acidentes.
OBJETIVO GERAL
Esta monografia visa realizar um projeto de pesquisa e desenvolvimento de dispositivo de assistência ao motorista para monitorar reações de sono ao dirigir, utilizando leitura facial, cujo objetivo é reconhecer as expressões faciais referentes ao sono.
OBJETIVOS ESPECÍFICOS
· Elaborar um sistema embarcado para o tratamento de dados através do processamento digital de imagem gerada pela câmera, instalada no painel do veículo e apontada em direção ao motorista;
· Desenvolveruma metodologia para avaliação da condição de sonolência;
· Estabelecer testes de software e de dispositivos via simulações controladas por estudos de casos, via geração de gráficos;
· Analisar resultados e promover discussões que integrem as tecnologias de hardware e software utilizadas.
JUSTIFICATIVA
Em estudos realizados no Brasil, cerca de 7,6% dos acidentes realizados em vias interestaduais ocorrem devido a sonolência ao volante (LEMOS et al., 2008). Isso ocorre pelo fato de que o sono causa prejuízos nos reflexos físicos e mentais, além de possível inconsciência temporária, que pode resultar no acidente.
Desenvolver um dispositivo que tem como objetivo detectar as expressões pertinentes ao sono supostamente trará mais segurança, confiança e comodidade aos motoristas, principalmente em viagens no período da noite. Um sistema com tais características se faz necessário, visto que o número de acidentes relacionados ao sono ao volante é alto e o mercado carece de dispositivos que realizam tal função.
MEIOS
As referências argumentativas abordadas nessa monografia envolvem pesquisas em artigos e livros científicos da área de tecnologias em processamento digital de imagem, treinamento de imagem para detecção facial, parametrização de expressões de fadigas e sonolência em motoristas de automóveis.
Na pesquisa de mercado para dispositivos de prevenção de sono ao volante foram verificados sites das maiores montadoras de automóveis do mercado, além de manuais específicos de alguns dispositivos.
A base da estrutura de entendimento dos assuntos abordados tem como referência livros, artigos, sites e manuais, relacionados a processamento digital de imagem, análise de dados, métricas associadas a sono e fadiga e hardwares que vão compor o sistema.
ESTRUTURA DA MONOGRAFIA
Ao decorrer dessa monografia haverá uma estrutura que vai organizar de maneira progressiva. Abaixo, pode-se observar o nome dos capítulos e uma breve descrição do que cada um abordará.
· Capítulo 2 – Revisão Sobre Segurança Automotiva: Dispositivos Para Prevenção ao Sono no Volante: Nesse capitulo, serão apresentados alguns dispositivos que já estão no mercado e tem o mesmo objetivo do que é o dessa monografia. Além disso, trará características sobre o sono e maneiras de mensura-lo.
· Capítulo 3 – Caracterização de Tecnologias Úteis ao Desenvolvimento do Estudo de Caso: Este capítulo trará as tecnologias que serão testadas para decidir quais são as melhores para compor o dispositivo, desde bibliotecas, microprocessadores, câmeras, técnicas probabilísticas, desenvolvimento e estruturação de algoritmos.
· Capítulo 4 – Proposição do Estudo de Caso Para Prevenção de Sono ao Volante: Essa parte da monografia visa explicar os estudos de caso, mostrando as escolhas de hardware, as características de cada uma delas e também os prós e contras. Também vai explanar sobre a importância da Razão de Aspecto para medida da abertura dos olhos do condutor para que o PERCLOS funcione de maneira precisa.
· Capítulo 5 – Testes e Resultados: Como o nome sugere, este capítulo trata sobre os testes executados e uma discussão sobre os resultados obtidos.
· Capítulo 6 – Discussões Gerais: São feitas discussões sobre os resultados dos testes que foram realizados no capítulo anterior, comparando os desempenhos das técnicas utilizadas.
· Capítulo 7 – Conclusões Gerais: Trata as conclusões obtidas no trabalho, e baseado nestas, traz sugestões para trabalhos futuros.
2 REVISÃO SOBRE SEGURANÇA AUTOMOTIVA: DISPOSITIVOS PARA PREVENÇÃO AO SONO NO VOLANTE
Atualmente, dispositivos que têm como objetivo detectar sono e fadiga estão se tornando cada vez mais comuns, visto que os acidentes de trânsito relacionados a tais fatores estão cada vez mais presentes. Os mesmos são desenvolvidos das mais variadas formas para caracterizar tal comportamento. Neste capítulo são tratados alguns dos principais dispositivos no mercado.
1 
DRIVER ALERT E LANE ASSIST (VOLKSWAGEN/FORD)
O Driver Alert, ou alerta ao motorista, e o Lane Assist, ou assistente de faixa, são sistemas eletrônicos que verificam o modo de condução do motorista. O Alerta ao motorista monitora os movimentos do volante, a pressão aplicada nos pedais e a mudança de faixa. Ao longo do percurso, o sistema compara todos esses parâmetros com os do início da viagem, e avalia se vai "recomendar uma pausa" ao motorista. No caso dos carros de ambas as montadoras, o alerta é disparado por um sinal sonoro e um aviso no quadro de instrumentos (VOLKSWAGEN, 2017).
O assistente de faixa consiste em verificar o movimento do carro em relação a pista, checando se está havendo alguma mudança irregular de faixa. Caso positivo, um alerta é emitido no painel do carro, indicando onde está ocorrendo conforme se pode observar na Figura 1.
Figura 1 - Assistente de faixa em execução
Fonte: Autoevolution (2013).
ATTENTION ASSISTANT (MERCEDES-BENZ)
O Attention Assistant (TERRA NOTÍCIAS, 2017), ou assistente de atenção monitora o comportamento do motorista, formando um perfil individual que é comparado com frequência com os dados adquiridos pelo sensor. Este constante monitoramento é importante para verificar o exato momento que o condutor está entrando em estado de sonolência e o avisar com antecedência.
Além da velocidade do veículo, o sistema da Mercedes-Benz verifica os movimentos do volante, utilização de dispositivos no painel, o acionamento dos pedais e fatores externos, por exemplo, ventos laterais e pisos irregulares. 
O principal componente do sistema consiste num sensor de grande sensibilidade que permite monitorar com precisão os movimentos do volante e a sua velocidade. Isso permite o sistema reconhecer os sinais típicos de excesso de cansaço e alertar o condutor, com um sinal acústico e um aviso no visor do painel, com a mensagem “Attention Assist: Pause”, conforme se pode conferir na Figura 2.
Figura 2 - Assistente de atenção emitindo mensagem para uma pausa
Fonte: TechCenter Mercedes-Benz (2016).
MONITOR DE FADIGA PARA MOTORISTA VUEMATE DL330A
O Vuemate DL330A é um sistema de alerta para os motoristas que apresentam sinais de fadiga e sonolência, atuando em cima de uma captação e tratamento de imagens. Ele possui uma câmera de alta performance, um processador de imagens CMOS, memória flash (8 MB), LEDs de estado de funcionamento, alto-falante e LEDs infravermelhos, que facilitam a captação de uma melhor imagem para noite e túneis, consegue também remover reflexo de luz solar, utilizando filtros especiais, e detecção de óculos escuros. Uma vez que o sistema detecta que o motorista está sob fadiga dirigindo, ele irá enviar um sinal de alerta imediatamente para o motorista, por meio dos LEDs e autofalantes, com base na análise PERCLOS (Percentage of Eye Closure) (VUEMATE, 2017), que será explicada melhor (seção 2.7).
ANTI SLEEP PILOT 
O Anti Sleep Pilot (ASP) ou Sistema anti sono, Figura 3, é um dispositivo diferente dos outros mencionados acima, porém com o mesmo objetivo, detectar a fadiga do motorista. Antes de iniciar o uso do mesmo, você deve responder um questionário com algumas informações que irão traçar o seu perfil. Baseado nisso, o dispositivo irá trabalhar continuamente na verificação do seu cansaço e mostrar o seu nível. Combinando um cálculo de 26 parâmetros, incluindo seu perfil de risco, o seu nível de fadiga quando ligar o dispositivo, tempo de direção e velocidade, que será medida por um acelerômetro. O sistema mantém medindo a atenção do motorista com testes de reação, onde você deve tocar no dispositivo o mais rápido possível. Quanto mais demorado for a resposta do condutor, o sistema vai entendendo que o nível de cansaço está aumentando. Quando a combinação dos resultados desses testes indica que você está chegando no seu limite, o aparelho dispara um alarme até você parar (COXWORTH, 2011).
Figura 3 - Dispositivo do sistema anti sono.
Fonte: Motorauthority (2011).
HEALTHY DRIVE (HEALTHY ROAD)
O HealthyDrive, ou Dirigir Saudável é um espelho retrovisor projetado para detectar sono, fadiga, depressão e alteraçõesde humor através da análise do rosto do motorista (TÂNIA, 2014).
O dispositivo pode ser colocado em cima do espelho retrovisor do automóvel. Deste modo, a câmera (que funciona como leitor biométrico) fica direcionada para o rosto do motorista. A unidade de processamento captura uma série de dados como o nível de fadiga, sono e stress. Caso seja identificado perigo, um alerta sonoro é disparado, inicialmente, intermitente e vai se intensificando através dos níveis até atingir um som contínuo, que indica que o motorista deve parar o veículo. Caso não seja respeitado, é enviado um alerta para a central de atendimento, gerenciada pela Healthy Road, por meio de uma ligação GPRS ou Wireless.
Figura 4 - Dispositivo da empresa Healthy Road.
Fonte: Fernando Veludo (2014).
CARACTERÍSTICAS DA SONOLÊNCIA E PARAMETRIZAÇÃO DO DISPOSITIVO
Fadiga descreve um estado físico e/ou mental de estar cansado e fraco. Embora a fadiga física e mental seja diferente, os dois muitas vezes ocorrem simultaneamente. Se uma pessoa está fisicamente desgastada, provavelmente ela irá estar mentalmente também. 
Muitas pessoas sabem dos riscos de beber e dirigir, mas não sabe que o efeito da sonolência pode ser tão fatal quanto. Como o álcool, a sonolência diminui o tempo de reação, a consciência e aumentam o risco de uma colisão.
Um estudo mostra que depois de ficar de 17 a 19 horas sem dormir, torna sua performance igual ou pior a uma pessoa com 0,05 mg/l de concentração de álcool no sangue. Após isso a sonolência pode ser equivalente a 0,1 mg/l (WILLIAMSON, FEYER, 2000).
De acordo com uma pesquisa, uma média de 100 mil batidas por ano são causadas por motoristas cansados (NATIONAL SLEEP FOUNDATION, 2017)
A maioria das pessoas que se submetem a uma privação de sono aguda, ou que tenha executado exercícios físicos, realizado uma atividade complexa ou longa, deve estar perfeitamente consciente que sua atenção está reduzida e que poderá adormecer facilmente. São os seguintes sinais mais comuns (MACGILL & WEBBERLEY, 2015):
· Coçar os olhos; 
· Diminuir a piscada;
· Visão borrada ou sem foco;
· Movimentos oculares lentos;
· Queda das pálpebras;
· Fechamento dos olhos;
· Bocejos;
· Redução da atividade; 
· Diminuição do movimento facial;
· Queda da cabeça;
· Ajuste da postura para dormir.
SISTEMA PARA MÊNSURAR A FADIGA
Como já mencionado anteriormente (seção 2.6), a sonolência/fadiga são fatores de risco significantes para os motoristas, sendo um diagnóstico que pode seguir das mais diversas maneiras. Pensando nisso o Federal Highway Administration (FHWA) desenvolveu um sistema de transporte inteligente (ITS) em um estudo intitulado “Evaluation of Techniques for Ocular Measurement as an Index of Fatigue and as the Basis for Alertness Management”, em uma tradução para o português, “Avaliação de Técnicas de Medição Ocular como Índice de Fadiga e como Base para o Gerenciamento de Alerta”. O objetivo do projeto era avaliar a validade e confiabilidade de diversas medidas de detecção de sonolência e tecnologias, em um laboratório, para analisar os efeitos dos estímulos de alerta sobre o nível de atenção dos motoristas. 
Das medidas e tecnologias de detecção de sonolência avaliada nesse estudo, uma chamada “PERCLOS” foi avaliada a mais efetiva na medição de nível de sonolência. Logo, PERCLOS é a porcentagem do fechamento das pálpebras sobre a pupila ao longo do tempo, refletindo o fechamento lento das pálpebras em vez de piscar, conforme podemos ver na Figura 5.
Figura 5 - Percentual da abertura da pálpebra baseada pelo sistema PERCLOS
Fonte: AKROUT & MAHDI (2013).
PERCLOS possui três tipos de métricas diferentes para sonolência:
· P70, a proporção de tempo em que os olhos foram fechados pelo menos 70%;
· P80, a proporção de tempo em que os olhos foram fechados pelo menos 80%;
· EYEMEAS (EM), a porcentagem média quadrada da classificação de fechamento da pálpebra.
A pesquisa realizada pelo FHWA dos Estados Unidos foi utilizada como metodologia do experimento 14 homens voluntários que ficaram acordados em um laboratório por 42 horas realizando uma rotina de testes ao longo desse tempo, tais testes tinham como objetivo analisar as métricas de reconhecimento de perda de reação psicomotora, que é o mesmo que acontece quando há a sensação de sono. Testes de reflexos foram realizados e comparados com os resultados tecnológicos das outras métricas empregadas no experimento, que são: duas de algoritmo de eletroencefalográfico, duas de métrica de posição da cabeça e duas de monitoramento de piscada de olhos (FEDERAL HIGHWAY ADMINISTRATION, 1998) 
O resultado da pesquisa, demonstrado pela Tabela 1 foi comprobatório para assumir que a métrica PERCLOS é a mais adequada a ser utilizada no dispositivo de gerenciamento de fadiga ou sonolência.
Tabela 1 - Rotinas de Testes Individuais dos Voluntários.
Fonte: DINGES & GRACE (1998).
Como o PERCLOS é baseado na captura de imagem, podem ser reconhecidas falhas na aquisição dos frames (quadros) de imagens. Os 4 últimos voluntários não tiveram aproveitamento para o experimento com a métrica PERCLOS, pois a luminosidade inadequada fez com que não tivesse a aquisição ideal.
A métrica com melhor resultado de média 0,88 (88%) de acerto foi a P80, tem como referência a proporção de tempo em que os olhos foram fechados pelo menos 80%. A taxa PERCLOS pode ser calculada pela quantidade de frames que as pupilas não aparecem, dividindo pelo número total de frames em um período específico de tempo (definido em uma tarefa ou toda a gravação, por exemplo).
3 CARACTERIZAÇÃO DE TECNOLOGIAS ÚTEIS AO DESENVOLVIMENTO DO ESTUDO DE CASO
Encontrar tecnologias que atendam aos requisitos do estudo de caso é algo bem complexo, afinal o ambiente que o sistema vai ser executado possui diversidades, sendo a maior delas a luminosidade, afinal, motoristas não possuem hora certa para dirigir, então a câmera tem que estar preparada para todo tipo de situação. Este capítulo tem como objetivo trazer dispositivos e técnicas que auxiliem o sistema a atender esses requisitos mencionados acima.
1. 
2. 
3. 
2 
KINECT SENSOR
Recentemente, com os avanços em câmeras de profundidade 3D, o mercado foi fomentado por grandes oportunidades para computação multimídia. Sendo possível interação das pessoas com os jogos através da linguagem corporal. Este sempre foi um campo de pesquisa ativo em visão computacional, mas comprovou ser quase impossível realizar as interatividades visuais de aquisição somente com câmeras de vídeos (NUNES, et al. 2011) 
O Kinect Sensor é um dos diversos produtos desse ramo, que permite detectar diretamente a terceira dimensão (profundidade) dos jogadores e do meio ambiente. O Kinect possui também ferramentas permite entender quando os usuários falam, sabe quando os usuários andam ou caminham podendo interpretar seus movimentos e traduzi-los para um formato que os desenvolvedores podem usar para criar novas experiências (NUNES, et al. 2011)
Exemplificando com esta monografia, o Kinect Sensor oferece diversos adendos não somente na indústria de jogos, a ampla disponibilidade e o baixo custo em ferramentas de alta versatilidade que compõe o dispositivo faz com que o Kinect seja um protótipo para pesquisadores e profissionais da área de computação, engenharia e robótica que aproveitam sua tecnologia para desenvolver novas maneiras de interação com máquinas e realizar outras tarefas como sistemas para ajudar crianças com autismo, sistemas de domótica operada por voz, braço robótico manipulado por movimento corporal, entre diversas aplicações (ZHANG, 2012).
Segundo Microsoft Developer Network, o Kinect Sensor é contemplado por vários equipamentos de detecção, sendo estes, um sensor de profundidade, uma câmera colorida (RGB) e uma matriz de quatro microfones. Por fim, o motor de inclinação que auxilia do angulo da câmera para melhor captura de imagem, (Figura 6).
Figura 6 - Componentes do Kinect Sensor.
 Fonte: Micosoft Developer Network (2017).
Segue as características dos componentes apresentadas (TSAI, 2015):
· Câmera de vídeo(fluxo de cores) que fornece os dados da aquisição da imagem com a combinação de três componentes de cores básicos vermelho, verde e azul (RGB);
· Sensor IR (fluxo de profundidade) composto por um emissor de infravermelhos e um sensor CMOS monocromático, que captura dados de vídeo em condições da luz infravermelho através da câmera IR, sem interferência de luminosidade do ambiente;
· Microfones (fluxo de áudio) que consistem em uma matriz de microfone linear, para capturar dados de áudio em uma resolução de 24 bits;
· Motor Inclinação (controle de direção e ângulo) que nos permite ajustar em qualquer ângulo vertical entre 27 e -27 graus de acordo com a altura dos usuários.
O sensor de profundidade consiste no emissor IR combinado com a aquisição da câmera IR, que é um sensor semicondutor de metal-óxido complementar (CMOS). A tecnologia de detecção de profundidade é licenciada pela empresa PrimeSense, baseada no princípio da luz estruturada, no qual o emissor IR emite o laser infravermelho através de uma grade de difração e transforma em um conjunto de pontos (Figura 7a).
Figura 7a - Os pontos de luz infravermelho capturada pela câmera IR. Imagem da esquerda representa o zoom da área enfatizada pelo quadrado vermelho
Figura 7b - Sensor de profundidade
 Fonte: ZHANG (2012) p. 4-10. 
O emissor IR projeta um padrão de pontos IR, e através da trigonometria entre aos vértices que são: o emissor IR, a câmera IR e um determinado ponto, tal ponto que em determinada aquisição poderá estar em um local diferente, estando em local diferente, logo representará uma trigonometria com ângulos também diferentes, sendo esses ângulos a representação da profundidade 3D da aquisição. 
O valor de profundidade é representado por níveis de cinza, sendo o cinza mais escuro quando mais perto do Kinect. Os pixels pretos não indicam valores de profundidade, pois os pontos IR estão longe do emissor/câmera IR refletindo uma luz IR fraca, ou é uma sombra da luz infravermelha (ZHANG, 2012), ou está em uma região cega (quando se encontra muito próxima ao sensor IR, Figura 8). Pode ser observado os níveis de cinza na Figura 7b o resultado do sensor de profundidade da imagem produzida pelos pontos de infravermelho da Figura 7a.
Figura 8 - Distância para qualidade de resultado do Sensor de profundidade.
Fonte: Micosoft Developer Network (2017).
O sensor infravermelho (emissor/câmera IR) para fins de aquisições de detecção facial, não é levado em consideração a referência de qualidade do sensor de profundidade representado pela Figura 8. O sensor de profundidade é atuante no espaçamento dos pontos infravermelho. Esse foi um dos motivos de realizarmos o desenvolvimento em outro hardware, mais dedicado ao propósito do projeto, apesar de que o Kinect Sensor é uma ferramenta interessantíssima, e muito versátil em projetos que utilizam aquisição de imagem.
RASPBERRY PI
O Raspberry Pi é um microprocessador do tamanho de um cartão de crédito que foi originalmente desenvolvido para educação. Em 2006, no Reino Unido, quatro integrantes do laboratório de Computação da Universidade de Cambridge perceberam que havia um grande desinteresse na aprendizagem de programação e ciência da computação (RASPBERRY, 2017).
Com o objetivo de reacender essa vontade dentro dos alunos, foi desenvolvida a placa, que era extremamente simples e de baixo custo, gerando uma facilidade para as escolas a adquirirem, permitindo um maior contato dos alunos com programação e noções do funcionamento de computadores. Porém, graças a essas características, foi rapidamente adaptado em projetos que necessitavam de algo mais poderoso que micro controladores, como o Arduino (FILIPEFLOP, 2018).
No protótipo em desenvolvimento (a ser tratado no Capítulo 4), visa-se utilizar o Raspberry Pi 3 Modelo B, com as seguintes especificações (FILIPEFLOP, 2018):
· Raspberry Pi 3 Model B Anatel;
· Processador Broadcom BCM2837 64bit ARMv8 Cortex-A53 Quad-Core;
· Clock 1.2 GHz;
· Memória RAM: 1GB;
· Adaptador Wifi 802.11n integrado;
· Bluetooth 4.1 BLE integrado;
· Conector de vídeo HDMI;
· 4 portas USB 2.0;
· Conector Ethernet;
· Interface para câmera (CSI);
· Interface para display (DSI);
· Slot para cartão micro SD;
· Conector de áudio e vídeo;
· GPIO de 40 pinos;
· Dimensões: 85 x 56 x 17mm.
O Raspberry Pi 3 apresenta um grande ganho de performance em relação às placas precedentes, sendo uma excelente opção para chegar ao desempenho de um computador convencional para trabalho ou lazer. Possuir um wifi e bluetooth integrados faz uma grande diferença, afinal, não precisar comprar adaptadores e nem precisa fazer configurações adicionais, como instalação de pacotes, drivers, etc.
A placa permite, assim com o Arduino, que sejam adicionados sensores, displays e outros componentes utilizando o conector GPIO (General Purpose Input/Output) de 40 pinos, conforme mostra a Figura 9.
Figura 9 - Esquema GPIO do Raspberry Pi 3 (Portas Programáveis de Entrada e Saída).
Fonte: FLIPFLOP (2018)
RASPBIAN OS
Raspbian OS é uma distribuição Linux criada para ser utilizada nos Raspberrys Pi. Com base no Debian, essa distribuição é considerada o sistema operacional padrão dos Raspberry. Extremamente bem estruturado e com diversos softwares de desenvolvimento, profundo controle sobre o hardware da placa, além de ferramentas de acesso à internet, de escritório na forma do LibreOffice e, até mesmo, de entretenimento (RASPBIAN, 2018).
O Raspbian utiliza PIXEL (Pi Improved Xwindows Environment Lightweight, Ambiente leve Pi Xwindows melhorado), que é uma junção de uma modificação do LXDE e o Openbox, essa distribuição vem com uma cópia do programa de álgebra, o Mathematica, uma versão do Minecraft chamada de Minecraft Pi e também uma versão mais leve do Chrominium. 
CÂMERA INFRAVERMELHO DO RASPBERRY
A câmera utilizada no projeto é da marca SHCHV, que em resumo, é um módulo composto pela câmera, emissores e sensores infravermelho projetado para o Raspberry Pi. Sendo um produto bem versátil, podendo com facilidade trabalhar mesmo em ambientes com baixa iluminação, ou até sem nenhuma. Além da maneira que o infravermelho trabalha, emitindo e recebendo raios, esse módulo também possui duas lanternas, infravermelho, que melhoram a qualidade da imagem.
Possuindo especificações consideradas robustas atualmente, esta câmera vem com 5MP (2592x1944 pixels), uma amplitude de visão de 70 graus, lentes de ¼”, imagem preto e branco, captura vídeos em 1080p a 30FPS, 720p a 60 FPS, e 640x480p a 60/90 FPS. Além disso, possui dimensões bem compactas, aproximadamente 25 x 24 x 9 mm, conforme mostra a Figura 10, dando liberdade de utilizá-la em locais variados (SAINSMART, 2018).
Figura 10 - Câmera e lanternas IR para Raspberry.
Fonte: SAINSMART (2018)
LANDMARK POINTS
Trata-se do estudo matemático das formas de objetos pela área da morfometria, e tem como conceito a identificação de pontos incomuns de uma população de um determinado objeto. Em outras disciplinas, esses pontos de referência podem ser considerados como vértices, pontos de âncora, pontos de controle, sites, pontos de perfil, pontos de amostragem, nós, marcadores, marcadores fiduciários, etc. (DRYDEN & MARDIA, 2016).
O conceito de pontos de referência nesta monografia será chamado como Landmark Points, pois é o termo técnico abordado pela área de visão computacional.
O arquivo treinado para detecção facial trabalha com base estatística para definir os Landmark Points do rosto do protagonista da aquisição do dispositivo, estes pontos são definidos em 68 locais (Figura 11) que possuem sua referência em números padronizados. Não necessariamente serão sempre 68 pontos, a escolha do Landmark Point para 68 pontos foi conveniente pela praticidade de haver um treinamento já haver sido disponível pela Dlib, e por não haver necessidade de mais pontos, pois os pontos já são oferecidos pelo treinamento já é ideal para o desenvolvimento da aplicação.
Figura 11 - Referências numéricas do Landmark Point da face
Fonte: iBUG (2017).
As bases de dados de imagens faciais existentescobrem grandes variações de aquisições de imagem da face como diferentes tipos de rostos, poses, iluminação, oclusões, etc. Porém, dependendo do resultado desejado, pode haver inconsistência no resultado final, caso o treinamento não seja o ideal para a necessidade (Intelligent Behaviour Understanding Group - iBUG, 2017).
Apesar de variações em diversos cenários, o resultado realizado pelo arquivo de treinamento utilizado possui uma variância em seus landmark points. Não há pontos óbvios na área do queixo, já em oposição, há boa qualidade nos pontos de referência ao redor dos olhos e na boca (SAGONAS, 2016), o que é importante para a intenção do dispositivo a ser proposto (Capítulo 4). A escala de precisão pode ser observada na Figura 12, onde cada elipse indica a variância de cada ponto de referência. As cores dos pontos os classificam em relação ao seu desvio padrão normalizados pelo tamanho da face. 
Figura 12 - Representação do Desvio Padrão Normalizado dos Landmark Points da face.
Fonte: SAGONAS (2016).
BIBLIOTECAS DE DESENVOLVIMENTO
O desenvolvimento do software de análise dos dados de aquisição é integrado por bibliotecas de interface gráfica capaz de gerar gráficos em tempo real por execuções de threads, que facilitam a análise dos dados visualmente.
A maior parte da interface gráfica é composta pela biblioteca PyQT 5 que é baseada em componentes de objetos primários em C++, o que faz ser uma biblioteca de ótimo desempenho em comparação com as outras bibliotecas de interface gráfica em linguagem Python (PYTHON BRASIL, 2018).
Outras bibliotecas destinadas ao uso de aplicações matemática, científicas e de engenharia como o numpy, matplotlib, math e scipy foram usadas para realizar cálculos e manipulação dos dados obtidos.
A aquisição de dados foi realizada através de primordiais recursos de duas bibliotecas em linguagem C++ com amarração para linguagem Python para captura e tratamento de imagens, que são: OpenCV e Dlib. Outra biblioteca muito importante, a OpenNI, responsável por fazer a comunicação com o Kinect Sensor.
OPENCV
A OpenCV (OPENCV, 2017) é uma biblioteca de código aberto, amplamente empregada em visão computacional, possuindo mais de 2500 algoritmos otimizados, o que inclui um conjunto abrangente de algoritmos de visão computacional e de aprendizagem de máquina. 
Esses algoritmos podem ser usados ​​para detectar e reconhecer rostos, identificar objetos, classificar ações humanas em vídeos, rastrear movimentos de câmera, rastrear objetos em movimento, extrair modelos de objetos 3D, juntar imagens para produzir uma alta resolução de uma cena inteira, rastrear imagens semelhantes de um banco de dados de imagens, remova os olhos vermelhos das imagens tiradas usando o flash, seguir os movimentos dos olhos, reconheça o cenário e estabeleça marcadores para sobrepô-lo com realidade aumentada, etc.
Além de possuir algoritmos bem complexos para variados fins, a biblioteca OpenCV também possui módulo de estrutura básica que trabalha a nível de pixels que é denominado core. O core é um módulo básico que é utilizado nos outros módulos, por possuir funcionalidades básicas para qualquer implementação de visão computacional. Essa versatilidade de manipulações básicas de matriz de pixels até utilizações mais elaboradas como algoritmos de aprendizagem de máquina faz com que a OpenCV seja uma biblioteca muito utilizada em grupo de pesquisas, empresas e em várias áreas de interesse que pode usar recursos da visão computacional. O Quadro 1 caracteriza os principais módulos que compõe a estrutura OpenCV.
Quadro 1 - Principais módulos da OpenCV e suas respectivas características
	Módulos
	Características
	Core
	Módulo compacto que define estruturas básicas de dados, incluindo a matriz multidimensional e funções básicas usadas por todos os outros módulos. Os recursos desse módulo manipulam as imagens em nível de pixels.
	Image Processing
	Módulo de processamento de imagem que inclui filtragem de imagem linear e não linear, transformações de imagem geométricas (redimensionamento, distorção de afinidade e perspectiva, reposição de tabela genérica), conversão de cores, histogramas e outras diversas funções de pré-processamento.
	Video
	Módulo de análise de vídeo que inclui estimativa de movimento, subtração de fundo e algoritmos de rastreamento de objeto.
	Machine Learning (ML)
	Módulo que utiliza recursos de aprendizagem de máquinas para classificação estatística, regressão e agrupamento de dados.
	Calib3d
	Algoritmos básicos de geometria de visualização múltipla, calibração de câmera única e estéreo, estimativa de pose de objeto, algoritmos de correspondência estéreo e elementos de reconstrução em 3D.
	Features2d 
	Detectores de características salientes, descritores e correspondentes de descritor.
	Objdetect
	Detecção de objetos e instâncias das classes predefinidas (por exemplo, rostos, olhos, canecas, pessoas, carros, etc.).
	Highgui
	Uma interface fácil de usar para recursos UI simples.
	Video I/O
	Uma interface fácil de usar para captura de vídeo e codecs de vídeo.
	GPU
	Algoritmos acelerados por GPU de diferentes módulos OpenCV.
Fonte: OpenCV.org (2017)
DLIB
Dlib é a biblioteca que fornece um kit de ferramentas em código aberto que contém algoritmos de aprendizagem de máquina, de processamento de imagem, entre outros recursos gráficos. Ela é usada tanto na indústria como na academia em uma ampla gama de domínios, incluindo robótica, dispositivos embarcados, telefones celulares e grandes ambientes de computação de alto desempenho (DLIB, 2017). 
Através do recurso de acessibilidade de arquivos treinados por aprendizagem de máquina (em formato “.dat”), Dlib faz-se uma biblioteca indispensável no desenvolvimento do dispositivo proposto neste estudo, para prover a interação com o arquivo treinado para a detecção facial e a localização dos landmark points.
Além de ter funcionalidades de manipulação de processamento de imagem, filtros, segmentações, operações geométricas, entre outras funções, assim como a OpenCV, porém o Dlib tem um forte recurso de inteligência artificial que gera os pontos do landmark points que para a prototipação é primordial para funcionalidade algorítmica. O código representado na Figura 13 demonstra a principal atribuição do Dlib no projeto, sendo a variável detector responsável por reconhecimento facial e a variável predicao responsável por atribuir os pontos predicados pelo treinamento armazenado no arquivo de treinamento. A variável detector reconhece os rostos que estão na imagem e a predição transforma essas imagens de rostos em pontos de coordenada do landmark points para então serem processados pelo algoritmo projetado.
Figura 13 - Código fonte utilização do Landmark Points fornecido pelo Dlib e funcionalidades de análise de dados
	#Esse trecho de código é resumido didaticamente para facilitar o entendimento da funcionalidade Dlib.
 
#Funções de predição de dados
arq_predicao = "shape_predictor_68_face_landmarks.dat"
detector = dlib.get_frontal_face_detector()
predicao = dlib.shape_predictor(arq_predicao)
...
...
rects = detector(gray, 1)
while(qtdImg < 200):
 for (i, rect) in enumerate(rects):
 shape = predicao(gray, rect)
Fonte: AUTOR (2018)
OPENNI
A biblioteca OpenNI também é de código aberto e permite acessibilidade ao Kinect Sensor e o seu recurso de aquisição de imagem em infravermelho, logo este é o motivo desta biblioteca ser adaptada no desenvolvimento do dispositivo desse estudo. Além do recuso de infravermelho, o OpenNI pode facilitar a utilização dos diversos recursos próprios do Kinect Sensor, tais como de o sensor de profundidade (reconhecimento de distância entre os sujeitos da aquisição, sensibilidade 3d), recursos de áudio, captura de imagem colorida e o motor que regula o ângulo da aquisição (OPENNI, 2017). 
A biblioteca OpenNI também pode ser utilizada em outros sensores como o ASUS Xtion, Kinect Sensor V2, Primesense Carmine e Occipital Structure Sensor.
As principais classes fornecidas pela OpenNI que são utilizadasna prototipação desse projeto, estão sendo descritas abaixo e seguindo pelo código de captura de imagens pelo Kinect Sensor (OPENNI, 2017).
openni2.initialize é a primeira, onde ela é responsável por fornecer um ponto de entrada estático para a API, liberando acesso a todos os dispositivos do sistema. 
openni2.Device.open_any fornece uma interface para um sensor do dispositivo conectado ao sistema. Para funcionar requer autorização da openni2.initialize e caso a mesma esteja habilitada, libera acesso a fonte de vídeos.
create_ir_stream habilita a possibilidade de transmissão dos frames de aquisição do Kinect. Nesse caso, foi utilizado create_ir_stream, mas poderia ser create_depth_stream para transmissão pelo sensor de profundidade ou create_color_stream pela câmera colida. É necessária para conseguir obter acesso a uma referência de imagem.
ir_stream.read_frame é responsável por capturar os dados que foram obtidos anteriormente e então serem transmitidos como imagem. 
Figura 14 - Código fonte captura de imagens pelo Kinect Sensor utilizando a biblioteca OpenNI
	## Inicialização e verificação
openni2.initialize('C:\Program Files\OpenNI2\Redist\OpenNI2.dll')
#'C:\Program Files\OpenNI2\Redist\OpenNI2.dll') 
if (openni2.is_initialized()):
 print ("openNI2 initialized")
else:
 print ("openNI2 not initialized")
dev = openni2.Device.open_any()
# Infravermelho Stream
ir_stream = dev.create_ir_stream()
# Inicializar steam infravermelho
ir_stream.start()
frame_idx = 0
## Laço principal
done = False
while not done:
 key = cv2.waitKey(1)
 if (key&255) == 27:
 done = True
 
 # Rodar janela com aquisição do infravermelho
 ir_frame = ir_stream.read_frame()
 cv2.imshow("Depth||IR", ir_frame)
 frame_idx+=1
## Finalizar funcionalidades
cv2.destroyAllWindows()
openni2.unload()
print ("Terminated")
Fonte: AUTOR (2018)
4 PROPOSIÇÃO DO ESTUDO DE CASO PARA PREVENÇÃO DE SONO AO VOLANTE
O dispositivo de segurança veicular a ser desenvolvido é realizado com base nas pesquisas de mercado, conceitos técnicos de visão computacional e conceitos teóricos de pesquisas sobre fadigas e sonolência em motoristas de automóveis (tratados nos Capítulos 2 e 3).
O uso da câmera infravermelho é apenas um facilitador para o desenvolvimento deste projeto, o que permitirá adquirir imagens sem interferências de diferentes luminosidades (mencionado no Capítulo 3). A captura da imagem realizada pelo sensor RGB realizaria uma aquisição imprecisa com influência consequente da luminosidade externa do veículo, como faróis de carro, as luzes dos postes, entre outros influenciadores luminosos na aquisição.
O diagrama de componentes (Figura 15) do projeto é fundamentado em 3 principais estruturas de implementação, que serão abordadas detalhadamente em cada estudo de caso discutido, no entanto, este diagrama é uma abordagem do Sistema de Visão Artificial (SVA) (Figura 16) mais objetiva ao protótipo. Neste, pode ser observado como os principais componentes do protótipo se relacionam (as bibliotecas utilizadas para tais fins são identificadas em blocos de cor rosa). Aquisição de Imagens: Obtêm informações do mundo externo através de câmera;
1. Pré-processamento: Converte os dados analógicos obtidos pela câmera em dados digitais, tratando-os de cada frame obtido para se tornarem coerentes com auxílio do arquivo treinado dos landmark 68 points;
2. Calibração: analisa o comportamento, e determina parâmetros para os frames obtidos na execução;
3. Execução: Determina o estado do motorista a partir dos parâmetros de calibração;
4. Interface Gráfica: Referencia através de gráficos e variáveis os dados com objetivo de serem analisados por este estudo;
5. Mensagem Falada: Auxilia o usuário sem requerer atenção visual;
6. Alerta Sonoro: Realiza alertas de atenção em casos de sonolência
.
88
Figura 15 - Diagrama de Componentes
Fonte: AUTOR (2018).
O dispositivo de segurança veicular proposto preenche os requisitos estruturais SVA, como um sistema computadorizado capaz de adquirir, processar e interpretar imagens correspondentes a cenas reais. A Figura 16 mostra esquematicamente um diagrama de blocos de um SVA adotado (OGÊ FILHO & VIEIRA NETO, 1999).
Uma aquisição desejada (dentro dos parâmetros) é primordial para área de visão computacional, e qualquer tipo de interferência indesejada pode ocasionar em erros no resultado final do algoritmo planejado. Ao obter sucesso na aquisição do sensor infravermelho acoplado à câmera (evita-se problemas de ruído por variação luminosa, tratado no Capítulo 3), o próprio algoritmo transforma a imagem do mundo externo, de 3 dimensões (3d), em uma representação 2d adequada para realizar a digitalização da aquisição. Essa etapa do processamento de imagem é responsável por transpor a imagem analógica em uma matriz de M por N pontos (pixels), sendo essa a imagem digital.
O pré-processamento de imagem é a etapa do algoritmo do dispositivo que trata as variáveis de aquisição, como ajuste de resolução, conversão de sistema de representação numérica e configuração da matriz M por N para compor o parâmetro necessário da abstração da informação. As etapas de segmentação, extração de característica e reconhecimento e intepretação da estrutura do Sistema Visão Artificial (SVA), ou Visão Computacional, são inerentes ao arquivo treinado para adquirir os dados de interesse. 
A Segmentação utiliza a técnica de dividir para conquistar. Nessa aplicação, a segmentação tem como objetivo obter a detecção do rosto e através separação de partes da imagem, dividindo em outras partes para facilitar o resultado final. 
Através das segmentações adequadas para o arquivo treinado, é realizado Extração de Características a partir desses descritores representados por uma estrutura de dados adequada ao algoritmo de reconhecimento.
 Por fim, o Reconhecimento e Interpretação, que é a etapa responsável por fazer o reconhecimento da estrutura adquirida e rotulado a um objeto (o rosto humano, nesse caso) baseado em características, traduzidas por seus descritores. A tarefa de interpretação é responsável por dar sentido ao conjunto de informação adquirida.
A Base de Conhecimento tem como tarefa prevenção de resultados inadequados. No dispositivo em desenvolvimento, ela é inserida em condições algorítmicas implementadas na programação do código e no arquivo treinado para detecção do rosto. 
Figura 16 - Sistema de Visão Artificial (SVA) e suas etapas para aplicação em estudo de caso.
Fonte: OGÊ FILHO & VIEIRA NETO (1999).
	O processo de calibração (treinamento) e execução (operação de tratamento) dos dados tende a alcançar o objetivo de reconhecer a sonolência através da abertura dos olhos, então segue um fluxo matemático que será melhor detalhado nas seguintes seções deste capítulo. Este fluxo de etapas de cálculos é realizado de forma diferente nos dois momentos citados (calibração e execução) – Figura 17.
Figura 17 - Fluxograma de Tratamento Matemático: 1) calibração ou treinamento prévio, e 2) execução pós-treinamento para tratamento dos dados e classificação da sonolência.
Fonte: AUTOR (2018).
	Nas seções seguintes serão apresentados os 3 casos adotados para testes, que serão discutidos no Capítulo 5, tendo o resumo de configuração na Tabela 2 (vide após o parágrafo de introdução do Capítulo 5).
3 
CASO 1: COMPUTADOR COM O KINECT
A simulação do computador utilizando a câmera Kinect atende a necessidade de trabalhar em ambientes com luminosidade variada, visto que o Kinect possui o sensor infravermelho e o computador consegue executar o algoritmo de modo que os dados obtidos são tratados para fazer a avaliação do sono e fadiga (Figura 18). Porém, o Kinect é desenvolvido para fazer a detecção das articulações tendo então uma baixa resolução, o que acaba gerando uma má qualidade na aquisição de imagens do rosto, que possui detalhes mais minuciosos.
Figura 18 - - Diagrama de Distribuição Kinect Sensor
Fonte: AUTOR (2018).
CASO 2: COMPUTADOR COM CÂMERA CONVENCIONAL
O sistema de tratamento de dados foi mantidoo mesmo do Caso 1 (seção 4.1), porém a câmera foi alterada, visto que com a do Kinect não gerou imagens com resolução suficiente para o detalhamento de expressão facial. Logo, a câmera foi substituída pela convencional do computador, visto que a mesma possuía uma maior resolução (Figura 19). Porém, esse cenário não atende aos requisitos, afinal, a câmera convencional do computador não faz a captura da imagem por infravermelho, então essa situação é provisória, sendo aceitável apenas em locais com cenários otimistas (sem interferência luminosa significativa).
Figura 19 - Diagrama de Distribuição Notebook I7
Fonte: AUTOR (2018).
CASO 3: SISTEMA EMBARCADO VIA RASPBERRY COM CÂMERA NATIVA de IR
Nos dois casos 1 e 2 anteriores foram analisadas as simulações utilizando o computador como sistema responsável por tratar os dados. Neste caso 3 foi optado pelo uso da placa Raspberry Pi3 com câmera nativa de IR (infravermelho) (Figura 20). Trata-se de um dispositivo bem completo e portátil, tendo a possibilidade de adicionar vários módulos (Tela, LED, botões, etc), o que o torna atrativo, visto que o interior do carro não tem muito espaço, logo, portabilidade é um item desejável para o dispositivo.
Figura 20 - Diagrama de Distribuição Raspberry PI 3
Fonte: AUTOR (2018).
ALGORITMO DE ANÁLISE PERCLOS P70
A métrica PERCLOS P70 representa um limite no qual os olhos estão abertos pelo menos 70%, significando que o motorista está em estado acordado; caso contrário, em determinada quantidade de tempo essa abertura dos olhos se prolonga, enquanto esteja menor que o limite da métrica, o motorista estará avaliado em estado de sonolência, sendo então sinalizado através de sinais sonoros ou algum outro tipo de alerta para que seja solicitada uma pausa para descanso.
O algoritmo de análise PERCLOS P70 foi projetado para este protótipo em uma divisão de 3 etapas significativas: Aquisição de dados do conjunto de dados da amostragem inicial é baseada nos primeiros 100 frames iniciais de reconhecimento facial; Calibragem das métricas de abertura dos olhos quando chega à frame 100 (ou 101, pois a variável frame inicia como 0); e Execução e análise dos dados obtidos pela aquisição de imagem, posterior ao frame 100 (Figura 21).
Figura 21 - Diagrama de máquina de estados do algoritmo de análise PERCLOS P70
Fonte: AUTOR (2018).
AQUISIÇÃO DE DADOS DA AMOSTRAGEM INICIAL
A etapa de coleta de dados parte do princípio inicial das primeiras aquisições de dados da câmera ao motorista. Esses dados são armazenados em matriz 3x100, sendo essas 3 linhas de dados os dados da razão de aspecto, desvio padrão e erro padrão de cada frame adquirido. Este conjunto de dados que serão coletados, servirão para definir os valores máximo e mínimo para servir como parametrização de calibração, e então os demais dados obtidos posteriormente a este conjunto serão analisados com base a estes.
CALIBRAGEM DAS MÉTRICAS DE ABERTURA DOS OLHOS
A função de calibragem (calibragemAberturaOlhos) consiste em coletar dados a partir das funções já mencionadas nas sessões anteriores, a fim de minimizar os possíveis erros que possam prejudicar a referência de 100% e 0% da razão de aspecto, com objetivo de subtrair do valor máximo e adicionar ao mínimo, o erro padrão desse conjunto de dados (vide função definida na Figura 22).
Figura 22 - Código fonte da implementação da calibragem da abertura dos olhos.
	#Calibragem a partir dos valores extremos obtidos na aquisição dos olhos
def calibragemAberturaOlhos():
 aberturaMin = matrizRA[0].min()
 aberturaMax = matrizRA[0].max()
 for x in range(100):
 if (((matrizRA[0][x] - aberturaMin) * 100) / (aberturaMax – 
 aberturaMin) >= 95):
 matrizRA[0][x] = matrizRA[0][x] - matrizRA[2][x]
 if (((matrizRA[0][x] - aberturaMin) * 100) / (aberturaMax – 
 aberturaMin) <= 5):
 matrizRA[0][x] = matrizRA[0][x] + matrizRA[2][x]
 return matrizRA
Fonte: AUTOR (2018)
Outra função que faz parte da etapa de calibração é a de conversão (converterParaPorcentagem), Figura 23, responsável por converter os valores obtidos pela razão de aspecto dos olhos em porcentagem. Baseado nesse valor que é determinado os 70% referente ao PERCLOS P70.
Figura 23 - Código fonte da implementação da conversão dos dados em porcentagem.
	def converterParaPorcentagem():
 global matrizRA
 matrizAnalitica = []
 aberturaMin = matrizRA[0].min()
 aberturaMax = matrizRA[0].max()
 for i in range(len(matrizRA[0])):
 #Calcular a porcentagem
 porcentagem = (matrizRA[0][i] - aberturaMin) / (aberturaMax - aberturaMin) * 100
 matrizAnalitica.append(porcentagem)
 return matrizAnalitica
Fonte: AUTOR (2018)
EXECUÇÃO E ANÁLISE DOS DADOS OBTIDOS PELA AQUISIÇÃO DE IMAGENS
A terceira etapa do algoritmo é referente à execução dos frames obtidos pela aquisição de imagens e processado analiticamente os dados adquiridos, comparando-os aos valores obtidos na calibragem (Função para geração de Gráfico de Análise é exibida na Figura 24).
A principal função da etapa de execução é a geração do gráfico analítico em tempo real processando os dados obtidos.
Figura 24 - Código fonte da implementação do gráfico de análise
	def graficoAnalitico(fig, ax, shape):
 global matrizRA
 global matrizAnalitica
 global p70_porcento
 global indiceDeBaixoPerclos
 eixoXinicio = len(matrizAnalitica) - len(matrizRA[0])
 eixoXfinal = len(matrizAnalitica)
 matrizAnalitica = porcentagemAberturaDosOlhos(matrizAnalitica, razaoDeAspecto(shape))
 indiceDeBaixoPerclos = janelaDeAvaliacaoPerclos(matrizAnalitica[-1], indiceDeBaixoPerclos)
 p70_porcento.append(70)
 
 ax.clear()
 ax.axis([len(matrizAnalitica) - len(matrizRA[0]), eixoXfinal, 0, 100])
 ax.plot(p70_porcento, 'r--')
 ax.plot(matrizAnalitica[0:len(matrizAnalitica)], 'b',)
 ax.plot(matrizAnalitica[0:len(matrizAnalitica)], 'o', markersize=3)
 plt.title("Análise - Segurança Veicular")
 fig.canvas.draw()
Fonte: AUTOR (2018)
Considerando a Figura 24, dentro da função (graficoAnalitico), existem outras duas funções que auxilia a execução e processamento da análise dos dados. A função (porcentagemAberturaDosOlhos) (Figura 25) é responsável para conversão da razão de aspecto em porcentagem no decorrer das aquisições dos frames. 
Figura 25 - Código fonte da implementação da conversão dos dados adquiridos na etapa de execução do algoritmo PERCLOS para porcentagem
	def porcentagemAberturaDosOlhos(matrizAnalitica, RA):
 global matrizRA
 aberturaMin = matrizRA[0].min()
 aberturaMax = matrizRA[0].max()
 
 #Calcular a porcentagem
 porcentagem = (RA - aberturaMin) / (aberturaMax - aberturaMin) * 100
 matrizAnalitica.append(porcentagem)
 return matrizAnalitica
Fonte: AUTOR (2018)
A outra função é a implementação da janela de avaliação PERCLOS (Figura 26), que é responsável por verificar a quantidade de frames sequencialmente abaixo do limiar (threshold) P70. Caso essa sequência de valores baixos, seja maior que a quantidade que representa uma piscada de olhos, então, essa função irá alarmar o sinal sonoro sinalizando o motorista.
De acordo com pesquisas realizadas pelo Instituto de Neurologia da UCL (University College London, 2006), o ser humano realiza a piscada dos olhos com a média de duração de 100 até 150 milissegundos. Já a Base de Dados Biológicos de Havard informa que em média a duração da piscada dos olhos é de 100 até 400 milissegundos (BIONUMBERS, 2018). Logo, foi implementada a janela de avaliação PERCLOS alarmando o sinal em 833 milissegundos (5 frames). Tal duração maior que as referências citadas deve-se ao intervalo de piscada poder colidir com um momento de expressão de baixo PERCLOS transitório. 
Figura 26 - Janela de Avaliação PERCLOS.
	def janelaDeAvaliacaoPerclos(porcentagem, indiceDeBaixoPerclos):
 if (porcentagem <= 70):
 indiceDeBaixoPerclos = indiceDeBaixoPerclos + 1
 else:
 indiceDeBaixoPerclos = 0
 
 if (indiceDeBaixoPerclos> 20):
 frequencia = 2500 # 2500 Hz
 duracao = 1000 # 1 segundo
 winsound.Beep(frequencia, duracao)
 return indiceDeBaixoPerclos
Fonte: AUTOR (2018)
RAZÃO DE ASPECTO
A Razão de Aspecto (RA) (Eq. 1) tem como objetivo medir a relação entre as dimensões de altura e largura a partir de uma geometria ajustada a partir dos pontos detectados em interesse (por exemplo, geometria da abertura dos olhos). Logo, no contexto deste projeto de prototipação, a razão de aspecto representa a referência da abertura dos olhos medindo a razão da distância vertical das extremidades sobre a distância das extremidades horizontais do olho. Isso faz com que seja normalizada a variação dos dados adquiridos independentemente da distância do indivíduo em relação à câmera, tento um resultado menos propício a erros. 
A função (razaoDeAspecto) é baseada nos Landmark Points no qual na codificação é iniciada pelo valor 0 até 67, no LandMark Points de 68 pontos, isso ocorre pela estrutura de matriz iniciar com índice 0, conforme a Figura 27 abaixo.
Figura 27 - Código fonte da implementação da razão de aspecto.
	#Calculando a Razão de Aspecto
def razaoDeAspecto(shape):
 
 #RAD = RAZÃO DE ASPECTO DIREITA
 distVerticalDir = distance.euclidean((shape[43] + shape[44]) // 2, (shape[47] + shape[46]) // 2) 
 distHorizontalDir = distance.euclidean(shape[42], shape[45])
 rad = distVerticalDir / distHorizontalDir
 
 #RAE = RAZÃO DE ASPECTO ESQUERDA
 distVerticalEsq = distance.euclidean((shape[37] + shape[38]) // 2, (shape[41] + shape[40]) // 2) 
 distHorizontalEsq = distance.euclidean(shape[36], shape[39])
 rae = distVerticalEsq / distHorizontalEsq
 
 ra = (rad + rae) / 2
 return ra
Fonte: AUTOR (2018)
Com o objetivo de ter um resultado menos variável com relação aos movimentos do sujeito (motorista), o cálculo da razão de aspecto (Figura 28) é obtido com a média dos resultados dos dois olhos, isso previne resultados indevidos caso tenha alguma falha de reconhecimento de algum dos olhos. Por exemplo, quando o sujeito movimenta o rosto demasiadamente para o lado, impossibilitando a aquisição ideal.
Figura 28 - Razão de Aspecto com as devidas variáveis da função razaoDeAspecto.
Fonte: AUTOR (2018)
DESVIO PADRÃO
O desvio padrão é uma medida de dispersão utilizada para analisar o quão os dados de uma série são dispersos ou não com relação à média desse conjunto de dados, sendo este valor obtido chamado de variância, que é submetido à radiciação e então resultando no desvio padrão desse conjunto de dados (BRUCE; BRUCE, 2017), dado pela Eq. 2.
A função (desvioPadrao) composto por 3 partes a primeira o cálculo da média do conjunto, a segunda o cálculo da variância e a terceira parte é a raiz quadrada do valor obtido na variância (Figura 29).
Figura 29 - Código fonte da implementação do desvio padrão.
	#Calcular desvio padrão
def desvioPadrao(x):
 variancia, media = 0, 0
 global matrizRA
 count = 0
 
 #Cálculo da média
 for i in range(x + 1):
 media += matrizRA[0][i]
 count += 1
 media = media / count
 #Cálculo da variância
 for j in range(x + 1):
 variancia = variancia + math.pow((matrizRA[0][j] - media), 2)
 variancia = variancia / count
 #Raiz quadrada da variância
 devPadrao = math.sqrt(variancia)
 return devPadrao
Fonte: AUTOR (2018)
ERRO PADRÃO
O erro padrão é uma medida de variação de uma média amostral em relação à média da população. Sendo assim, é uma medida que ajuda a verificar a confiabilidade da média amostral calculada (BRUCE; BRUCE, 2017). Levando em consideração a existência de falsos positivos que fazem a calibração dos valores de 100 e 0 por cento da abertura dos olhos terem uma margem de erros, justamente o erro padrão é uma medida que releva essa variação para menos do valor máximo e mínimo obtido na coleta de dados, definida pela Eq. 3 e função na Figura 30.
Figura 30 - Código fonte da implementação do erro padrão.
	#Calcular erro padrão
def erroPadrao(x):
 global matrizRA
 if x > 0:
 erroPad = matrizRA[1][x] / math.sqrt(x)
 else:
 erroPad = 0
 return erroPad
Fonte: AUTOR (2018)
IMPLEMENTAÇÃO DA RAZÃO DE ASPECTO NA METODOLOGIA PERCLOS – AVALIAÇÂO DE SONOLÊNCIA
A razão de aspecto é uma técnica para normatizar o valor de aquisição independente da distância que o usuário estiver da câmera (dentro dos valores coerentes de um motorista para volante). 
A implementação da Razão de Aspecto (RA) tende ao valor máximo 1 quando a distância das extremidades verticais é igual as extremidades horizontais do objeto detectado, em nosso caso o olho humano. E o mínimo 0, quando a distância das extremidades verticais é 0, ou seja, com os olhos totalmente fechados. Porém por limitação do arquivo de treinamento para plotar os landmark points, há uma variância envolvida em determinados pontos (vide Figura 12, Seção 3.3), quando detectado um rosto.
Tal limitação faz com que o valor mínimo tenda a um resultado diferente de 0 quando o olho estiver fechado. Em adição, há também o fato do olho humano não formar um círculo quando aberto, logo o valor máximo nuca será 1. Devido a valores dos olhos fechados e totalmente abertos serem decimais e variarem com referência às diversidades dos usuários, é indispensável a realização da calibração para acertar as características do usuário à métrica PERCLOS. A calibração permite que os valores mínimo e máximo dos usuários sejam convertidos, respectivamente, ao 0 e 100% na métrica PERCLOS, como demonstrado no exemplo da Figura 31.
Figura 31 - Conversão Razão de Aspecto (Mín. e Máx.) para extremidades dos valores PERCLOS
Fonte: AUTOR (2018)
5 TESTES E RESULTADOS
Este capítulo traz os testes realizados para comprovar a eficiência das principais técnicas utilizadas, razão de aspecto (RA) e PERCLOS. No caso da RA, o seu teste consiste em fazer aquisições de imagem em distâncias previamente definidas, variando entre utilizar a técnica e não utilizar, de modo que seus resultados vão comprovar sua eficiência (esperam-se mesmos valores de AR para um determinado usuário, independente da distância deste para a câmera durante as aquisições dentro dos limites de resolução para formação de boas imagens para análises). No caso do PERCLOS, os testes têm o objetivo de verificar qual das duas métricas (P70 e P80, onde 70 e 80 representam o fator de corte percentual entre os estados acordado e sonolento) mais se adequam às especificações, e comportamentos em cada Caso idealizado (Caso 1: Computador + Kinect; Caso 2: Computador + Câmera nativa; e, Caso 3: Raspberry + Câmera nativa). Com o intuito de trazer uma melhor ideia de como cada um desses dispositivos se comportam em seus testes, a Tabela 2 sumariza seus desempenhos de hardwares.
Tabela 2 - Desempenho dos hardwares utilizados para os casos de testes.
	 
	Computador* com Kinect Sensor (Caso 1)
	Computador com Câmera Convencional (Caso 2)
	Raspberry PI 3 B+** com Módulo de Câmera e IR (Caso 3)
	CPU
	33,40%
	 34.80%
	31,20% 
	GPU
	0%
	 0%
	 0%
	Memória
	98 MB
	 247,3 MB
	246MB 
	FPS
	12 ~ 15
	6 ~ 8 
	4 ~ 6 
	Resolução
	640 x 480
	 640 x 480
	320 X 240 
* Computador: Processador: i7 7500U 2,7GHz a 2,9GHz, Memória RAM: 8GB e Placa de vídeo NVIDEA G-FORCE 940MX.
** Raspberry PI 3B+: Processador Broadcom BCM2837 64bit ARMv8 Cortex-A53 Quad-Core 1.2 GHz, Memória RAM: 1GB.
4 
TESTES DE RAZÃO DE ASPECTO PARA CORREÇÃO DE DISTÂNCIA
Inicialmente, para comprovar a importância da implementação da razão de aspecto (Seção 4.8) no protótipo foi estabelecido um parâmetro de teste, baseado em análises coerentes do comportamento dos gráficos obtidos pelos dados adquiridos de voluntários, no qual os mesmos foram submetidos a 3 diferentes distâncias com relação à câmera em 2 momentos distintos: 1) com a utilização da técnica de razão de aspecto, e 2) utilizando a distância da pálpebra superior para a inferior (valor vertical da abertura dos olhos), aplicando-se diretamente o PERCLOS. As diferentes distâncias queforam propostas para os testes foram 50, 60 e 70 centímetros da câmera de aquisição, sendo realizados em 4 diferentes voluntários.
O processo de teste foi conduzido no computador utilizando a câmera convencional (Caso 2), visto que os resultados esperados nos testes realizados não serão comprometidos pela escolha da câmera desde que em condições ideais de luminosidade adotados.
O ambiente externo utilizado foi fundamentado em um cenário otimista, havendo luminosidade direcionada aos voluntários, o foco da visão dos mesmos, quando os olhos estiverem abertos, foi direcionado a um lugar incomum, orientando-os para que realizassem poucos movimentos físicos, e a base da câmera de aquisição não havia vibrações como acontece em um automóvel em movimento. Isso porque em diferentes voluntários a simulação e a comparação seriam comprometidas ao decorrer da aquisição, e dificultaria analisar isoladamente a razão de aspecto em um escopo deste teste.
Cada ciclo do teste foi composto por uma aquisição de 100 frames a uma taxa de aproximadamente 6 fps (frames por segundo). No primeiro momento foram adquiridos os dados com o voluntário de olhos fechados e posteriormente com eles abertos. Portanto, foi possível consolidar graficamente o limiar (threshold) que difere quando os olhos estão abertos ou fechados, isolando-se estes dois momentos de estado dos olhos.
Figura 32 - Histograma dos dados adquiridos utilizando a técnica de Razão de Aspecto para 4 indivíduos, em distâncias “D” igual a 50, 60 e 70 cm da câmera, avaliados para as condições de olhos abertos e fechados.
Fonte: AUTOR (2018).
O primeiro ponto a ser observado nos primeiros gráficos obtidos (Figura 32), são os limiares que separam os dados de olhos abertos dos olhos fechados, havendo uma coerência no resultado, pois não há infração de colunas verdes ou vermelhas, no espaço predominante da outra cor (estado). Por exemplo, não há uma coluna verde significativa no espaço onde as colunas vermelhas são predominantes, e vice versa. A infração citada é um falso positivo, porém é irrelevante pela frequência da ocorrência.
No caso dos olhos abertos (Figura 32), além de existir estes falsos positivos provenientes de valores resultante da razão de aspecto maiores ou menores que o real valor de abertura dos olhos, também há as piscadas dos olhos que estão sinalizados na série de dados em verde no gráfico (olhos abertos) que pode ser visto no grupo de frequência das séries vermelhas (olhos fechados), que também é irrelevante pela pouca ocorrência. 
Figura 33 - Histograma dos dados adquiridos sem utilizar a técnica de Razão de Aspecto, via abertura vertical dos olhos, para 4 indivíduos, em distâncias “D” igual a 50, 60 e 70 cm da câmera, avaliados para as condições de olhos abertos e fechados.
Fonte: AUTOR (2018).
Os gráficos gerados pelas aquisições sem utilizar a razão de aspecto (Figura 33) resultam em uma baixa concentração da uniformidade dos dados dos olhos abertos referente às diferentes distâncias. Isso é resultante pelo aumento inerente à imagem na faixa de distância entre câmera e o voluntário (maior altura vertical de pálpebra para distâncias mais próximas). Logo, a proporção significa que quanto maior a distância da câmera para o voluntário, menor estará o voluntário na imagem obtida. No caso dos olhos fechados, a variação é menos relevante e apresentou valores próximos a 0, para todas as distâncias. A tonalidade da série verde em olhos abertos, indicado pelo verde mais claro e série de dados adquiridos com a câmera mais próxima do voluntário, resulta valor vertical maior comparado à série de dados com a câmera mais distante.
O seguinte gráfico na Figura 34 possibilita visualizar os fenômenos descritos na Figura 33 com mais clareza, sendo computada a mediana para os testes de olhos abertos, verificando-se a diminuição da mediana com o aumento da distância da câmera para o voluntário.
Figura 34 - Gráfico dos valores de mediana obtidos sem utilização da Razão de Aspecto, via abertura vertical dos olhos, para 4 indivíduos, em distâncias “D” igual a 50, 60 e 70 cm da câmera, avaliados para as condições de olhos abertos e fechados.
Fonte: AUTOR (2018).
Um bom resultado na proposta de análise de dados para fins deste protótipo é resultante de aquisições de dados mais uniformes possível, sem ou com poucos ruídos. Por esse motivo, utilizou-se também o algoritmo de limiarização por equilíbrio do histograma para definir o limiar desses dados, para serem comparados com o limiar submetido pelos dois momentos que foi proposto, para justamente saber quando termina um estado e inicia o outro.
O algoritmo de limiarização por equilíbrio é uma técnica que define o limiar em histogramas dividindo os dados em duas classes (ou estados), este método será abordado com mais detalhes no Anexo A.
Analisando os resultados obtidos pelo algoritmo de limiarização por equilíbrio, pode ser observado (Figura 35) que ao ser utilizado no histograma com dados adquiridos com razão de aspecto os resultados são bem semelhantes aos dados plotados intencionalmente com a separação dos estados (Figura 35 – gráficos de análise de razão de aspecto, indivíduos 1 e 2). Já nos dados que não foram utilizados a razão de aspecto, este algoritmo tem dificuldade de apontar o limiar de divisão dos estados, isso acontece pelo fato do histograma resultante haver múltiplos picos sem nenhum vale significativo para representar o limiar das aquisições e sem simetria no entre as colunas, que para a proposta, se torna uma dificuldade para parametrizar o comportamento dos dados ao logo da aquisição (Figura 35 – gráficos do valor vertical da abertura dos olhos, indivíduos 1 e 2).
Fonte: AUTOR (2018)Figura 35 - Comparação da implementação do algoritmo de limiarização por equilíbrio (gráficos do lado direito) nas amostras de dados coletados com Valor Vertical da Abertura dos Olhos e a Razão de Aspecto (gráficos do lado esquerdo)
TESTES MÉTRICAS PERCLOS
Como mencionado na seção 2.7 (Capítulo 2), há diferentes formas de mensurar a abertura dos olhos, e a referência que obteve o melhor resultado foi à P80, que se refere à abertura de 80% dos olhos, sendo igual ou maior acordado, e abaixo disso, por um determinado tempo, conclui-se que o sujeito analisado esteja em estado de sonolência. 
Apesar do melhor proveito da métrica PERCLOS P80, conforme visto na seção 2.7, o P70 obteve um aproveito tão bom quanto (FEDERAL HIGHWAY ADMINISTRATION, 1998), por esse motivo e em busca de melhores resultados, este teste pretende analisar o comportamento dos dados obtidos, em um cenário no qual os voluntários estão em estado acordado, sem simular fechamento de olhos além das piscadas de olhos normais, que não alarma o baixo PERCLOS (Quando o resultado da abaixo do threshold – P70 ou P80 nesses casos).
Os testes foram realizados em 10 voluntários, os quais foram submetidos as duas métricas PERCLOS (P70 e P80) e três ambientes (ou casos) distintos de hardware (Tabela 3). Em cada unidade de teste realizado sobre um determinado voluntário, foi analisado a quantidade de valores abaixo threshold determinado, seguindo uma sequência de 6 frames abaixo do threshold, resulta então em 1 baixo PERCLOS (valor determinado por um comportamento maior que uma piscada, vide seção 4.7), e a máximo de sequência de baixo valores resultou toda aquisição, ou seja, o período que os dados ficaram abaixo do threshold. 
Tabela 3 - Testes de métrica PERCLOS computados pela razão de aspecto de olhos.
	Voluntário
	Computador + Kinect (Caso 1)
	Computador + Câmera Convencional (Caso 2)
	Raspberry + Câmera Nativa (Caso 3)
	
	P70
	P80
	P70
	P80
	P70
	P80
	
	Qtd. de Baixo PERCLOS*
	Máximo de Janela de Avaliação PERCLOS**
	Qtd. De Baixo PERCLOS*
	Máximo de Janela de Avaliação PERCLOS**
	Qtd. de Baixo PERCLOS*
	Máximo de Janela de Avaliação PERCLOS**
	Qtd. De Baixo PERCLOS*
	Máximo de Janela de Avaliação PERCLOS**
	Qtd. de Baixo PERCLOS*
	Máximo de Janela de Avaliação PERCLOS**
	Qtd. De Baixo PERCLOS*
	Máximo de Janela de Avaliação PERCLOS**
	1
	0
	4

Continue navegando