78
UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO ANDERSON MACIONKI WAGNER KESSLER STUMPF Sistema de Monitoramento Veicular e Sonolência em Motoristas Trabalho de Conclusão de Curso. Prof.ª Maristela Regina Weinfurter Teixeira Orientadora Curitiba, dezembro de 2009.

Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

  • Upload
    vulien

  • View
    233

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

UNIVERSIDADE POSITIVO

NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS

CURSO DE ENGENHARIA DA COMPUTAÇÃO

ANDERSON MACIONKI

WAGNER KESSLER STUMPF

Sistema de Monitoramento Veicular e Sonolência em Motoristas

Trabalho de Conclusão de Curso. Prof.ª Maristela Regina Weinfurter Teixeira Orientadora

Curitiba, dezembro de 2009.

Page 2: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

UNIVERSIDADE POSITIVO Reitor: Prof. Oriovisto Guimarães Vice-Reitor: Prof. José Pio Martins Pró-Reitor de Graduação: Prof. Renato Casagrande Diretor do Núcleo de Ciências Exatas e Tecnológicas: Prof. Marcos José Tozzi Coordenador do Curso de Engenharia da Computação: Prof. Edson Pedro Ferlin

Page 3: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Agradecimentos

A Deus, por ter nos dado o direito de viver e uma família que sempre nos apoiou nos momentos difíceis.

Aos nossos pais, por nos ter dado a vida e que com muito carinho e apoio, não mediram esforços para que chegássemos e concluíssemos mais esta importante e grande etapa de nossa vida.

A nossas mulheres, esposa e companheira, pela grande paciência, enorme carinho, palavras de incentivo e compreensão em saber que muitas vezes sacrifícios haviam de ser feitos para que pudéssemos concluir esta etapa, sempre ao nosso lado.

Ao professor Maurício Perretto, por toda sua dedicação e auxílio durante a realização deste projeto.

A nossa professora orientadora Maristela Regina Weinfurter Teixeira, pela inspiração no amadurecimento desta monografia.

Ao professor Alessandro Zimmer, pela sugestão da proposta deste projeto.

A todos os professores do curso de Engenharia da Computação, que foram tão importantes na vida acadêmica, nos transmitindo conhecimentos que tornaram a execução deste trabalho possível.

Aos amigos, pelo incentivo e apoio constantes.

A todas as pessoas que não foram aqui mencionadas, não por serem de menor importância, mas apenas por culpa de nossa falta de memória, que tiveram participação direta ou indireta na nossa formação.

Page 4: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

SUMÁRIO

LISTA DE ABREVIATURAS E SIGLAS ................................................................... 6 LISTA DE FIGURAS ..................................................................................................... 7

RESUMO ......................................................................................................................... 8 ABSTRACT .................................................................................................................... 9 1. INTRODUÇÃO ........................................................................................................ 10 2. FUNDAMENTAÇÃO TEÓRICA ........................................................................... 12 2.1 Software ................................................................................................................... 12 2.1.1 Introdução .............................................................................................................. 12 2.1.2 Processamento de Imagens .................................................................................... 12 2.1.3 Filtro de Média (Passa Baixa) ............................................................................... 13 2.1.4 SOBEL .................................................................................................................. 15

2.1.6 HOUGH ................................................................................................................. 17 2.1.8 PERCLOS na Natureza da Sonolência e sua Verificação ..................................... 19

2.2 Hardware ................................................................................................................. 21 2.2.1 Sensores ................................................................................................................. 21

2.2.2 Termistores ............................................................................................................ 21 2.2.3 Sensores de Pressão ............................................................................................... 21 2.2.4 Microcontrolador ................................................................................................... 25

3. ESPECIFICAÇÃO ................................................................................................... 27 3.1 Análise de Contexto ................................................................................................ 27 3.1.1 Descrição do objeto do desenvolvimento .............................................................. 27

3.1.2 Definição do sistema ............................................................................................. 27 3.1.3 Descrição das partes componentes e relacionamento ............................................ 28 3.1.4 Descrição da interface entre sistemas .................................................................... 28

3.1.5 Descrição de condições restritivas ......................................................................... 29 3.1.6 Descrição dos benefícios esperados ...................................................................... 31

3.1.7 Descrição dos impactos esperados ........................................................................ 32

3.2. Análise Funcional .................................................................................................. 32 3.2.1 Funções de comunicação ....................................................................................... 32 3.2.2 Funções de processamento de informação ............................................................ 33 3.2.3 Funções de controle automático ............................................................................ 34 3.2.4 Funções de interface homem/máquina .................................................................. 34

3.2.5 Funções de aquisição de dados .............................................................................. 34 3.2.6 Funções de atuação ................................................................................................ 34

3.3 Análise de Requisitos .............................................................................................. 34

3.4 Análise de Alternativas .......................................................................................... 36 4. IMPLEMENTAÇÃO ............................................................................................... 38

4.1 Descrição.................................................................................................................. 38 4.2 Descrição do Software ............................................................................................ 40 4.2.1 Ambiente de Desenvolvimento ............................................................................. 40 4.2.2 Interface do Software ............................................................................................ 40 4.2.3 Diagrama de Classes .............................................................................................. 42 4.2.4 Modelo Lógico ...................................................................................................... 43

4.3 Especificações de Hardware .................................................................................. 45 4.3.1 Sensor de temperatura ........................................................................................... 45 4.3.2 Sensor de rotação da ventoinha do radiador. ......................................................... 46 4.3.3 Sensor MAP ........................................................................................................... 47

4.3.4 Sensor de Iluminação Veicular .............................................................................. 49

Page 5: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

4.3.5 PIC ......................................................................................................................... 50

4.3.6 Modelo Lógico ...................................................................................................... 50

5. VALIDAÇÃO E RESULTADOS ............................................................................ 54

6. CONCLUSÃO ........................................................................................................... 57 7. REFERÊNCIAS BIBLIOGRÁFICAS ................................................................... 59 ANEXO A – ARTIGO CIENTÍFICO ........................................................................ 61 ANEXO B – MANUAL DO USUÁRIO ...................................................................... 64 ANEXO C – DIAGRAMA ELÉTRICO ..................................................................... 74

ANEXO D – LAYOUT DA PLACA DE CIRCUITO DE IMPRESSO ................... 75 ANEXO E – CRONOGRAMA DO PROJETO ......................................................... 76 ANEXO F – CUSTOS DO PROJETO ....................................................................... 78

Page 6: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

LISTA DE ABREVIATURAS E SIGLAS DNIT Departamento Nacional de Infra-Estrutura de Transportes

LCD Liquid Crystal Display

MAP Manifold Air Pressure

AIPIRC/PIARC Associação Mundial de Estradas

PIB Produto Interno Bruto

PERCLOS Percent of the time eyelids are Closed

PDI Processamento Digital de Imagens

RGB Red, Green, Blue

MP Megapixel

PTC Positive Temperature Coefficient

NTC Negative Temperature Coefficient

PIC Peripheral Interface Controller

TTL Transistor-Transistor Logic

CMOS Complementary metal-oxide-semiconductor

CPU Central Processor Unit

PROM Programmable Read Only Memory

RAM Random Access Memory

I/O Input/Output

UML Unified Modeling Language

Page 7: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

LISTA DE FIGURAS Figura 1 – Aplicação do operador Sobel a uma imagem de um cilindro 15 Figura 2 – Cálculo dos segmentos de reta perpendiculares a borda 18 Figura 3 – Aplicação de Hough para detecção dos círculos com múltiplos raios 19 Figura 4 – Monitoramento da quantidade de Lapsos de PVT nos horários do dia 20 Figura 5 – Diagrama de um sistema para obtenção de vácuo 22 Figura 6 – Sistema para medir pressão relativa 23 Figura 7 – Detalhes de um sensor de pressão 23 Figura 8 – Circuito amplificador para sensores com recurso de calibração 24 Figura 9 – Gráfico para auxiliar a determinar erro de offset 25 Figura 10 – Módulo de monitoramento veicular 26 Figura 11 – Representação Gráfica do Projeto 38 Figura 12 – Diagrama de Arquitetura do Projeto 39 Figura 13 – Interface do software 41 Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura 16 – Fluxograma do Software 44 Figura 17 – Curva de Resposta do Sensor de Temperatura 46 Figura 18 – Esquemático 3D do sensor de temperatura 46 Figura 19 – Sensor MAP 47 Figura 20 – Visão Interna do Sensor MAP 48 Figura 21 – Curvas de Resposta do Sensor MAP 49 Figura 22 – Circuito de funcionamento das lâmpadas 50 Figura 23 – Fluxograma de Hardware 51 Figura 24 – Medições das Curvas de Resposta 56

Page 8: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

RESUMO

Este projeto descreve a criação de uma solução que possibilita o aumento da

segurança de condutores de veículos, atuando na prevenção de acidentes rodoviários.

De acordo com estudos fornecidos pelo DNIT (Departamento Nacional de Infra-

Estrutura de Transportes), o fator humano corresponde a 96% dos casos de acidentes e o

fator de falhas veiculares corresponde também a 10% destes casos. Até o mês de

novembro de 2007, foram registrados 4.259 acidentes em que o motorista dormiu,

enquanto 38.499 por falta de atenção. As pessoas não são capazes de julgar se estão

com sonolência ou distraídos, por isso, a idéia central encontra-se na criação de uma

solução que possa sanar insuficiências verificadas no ambiente automotivo. Já existem

soluções que realizam o monitoramento de sonolência em motoristas, porém estes são

novos, expansivos e de pouca distribuição no mercado. Na maioria dos carros utiliza-se

um monitoramento dos sensores abordados pelo sistema, porém raramente a informação

é exibida de maneira clara para o entendimento humano leigo.

O sistema proposto então utiliza uma câmera interligada a um

microcomputador, posicionada frontalmente ao motorista para captar imagens de sua

face, que através do processamento digital, detecta seus olhos, verificando o percentual

de abertura em que os olhos estão abertos no decorrer do tempo. Caso o dispositivo

detecte sonolência ou distrações, alarmes são acionados procurando trazer o motorista a

um estado de alerta novamente. Para isto o microcomputador é ligado a um

microcontrolador, o qual é responsável por realizar alarmes de qualquer anomalia

ocorrida, bem como por exibir informações sobre o estado de alerta do motorista em um

display LCD. O display exibe a avaliação dos sensores veiculares básicos, tais como

ventoinha do radiador, MAP (sensor de pressão absoluta no coletor de admissão),

temperatura d’água do radiador e subsistema de iluminação.

Palavras-Chave: segurança veicular, sensores veiculares, detecção de sonolência.

Page 9: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

ABSTRACT

This Project describes the creation of a solution that aims at an

improvement on vehicles and drivers safety, acting in a preventive manner. According

to studies provided by DNIT (National Department of Transports Infra-Structure), the

human agent is present in 96% of accidents cases, the vehicular agent is also present in

10% of these cases. On Brazilian roads, in the year of 2007 until the month of

November, 4,259 accidents have been registered because drivers were sleeping and

38,499 by lack of attention. The people are not capable to judge if they are suffering

from drowsiness or in a necessary awareness state, because of this, the theme is the

creation of a solution capable to fulfill verified insufficiencies on automotive

environment. Solutions that monitor the driver’s drowsiness already exist, however,

these are new, expensive and with low market distribution. Most cars already monitor

the sensors employed by the system. However, the information is rarely exhibited in a

way clear enough to the understanding of laymen.

The proposed system utilizes a camera connected to a microcomputer,

positioned at the driver’s front to capture images of his face and through digital

processing, detect his eyes and verify percentage of aperture through time. If the device

detects drowsiness or distractions, alarms will be activated, trying to bring the driver

back to an awareness state. For this, the microcomputer is linked to a microcontroller,

which is responsible to alarm any anomaly, to display information regarding the

driver’s awareness condition in a LCD display. The display shows the evaluation of

basic vehicular sensors, as radiator’s fan, MAP (manifold absolute pressure sensor),

radiator’s water temperature and lighting subsystem.

Keywords: vehicular safety, vehicular sensors, drowsiness detection.

Page 10: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 10

1. INTRODUÇÃO Segurança no trânsito é uma preocupação a nível mundial, porém de acordo com

informações da AIPCR/ PIARC/ Associação Mundial de Estradas (2002), 80% das

mortes nas rodovias mundiais são em países da África, Ásia, América Latina e Oriente

Médio, dos quais 40% concentram-se apenas na Ásia – Pacífico. As conseqüências anuais

são de 1 milhão de mortos, 50 milhões de feridos em 15 milhões de acidentes anuais com

vítimas. É também a terceira causa de mortes prematuras e corresponde a 10% do total de

mortes em países de terceiro mundo, ocupando 25% dos leitos disponíveis de todos os

hospitais.

O número estimado de acidentes no Brasil em 2004 foi de 94.166, gerando um

custo de mais de 4 bilhões de reais. O custo global gasto com acidentes de trânsito é

estimado em 70 bilhões de dólares, mais do que todas as fontes bilaterais e multilaterais

de ajuda para regiões emergentes, além de corresponder a 1,5% do PIB para países

emergentes.

Os anos de 1979 a 2005, a frota nacional aumentou de 10 milhões de veículos

para 42 milhões. Após os anos 80, os países emergentes não foram capazes de ampliar

nem tão pouco manter suas malhas rodoviárias. Diante deste cenário degradante, o

número de mortes em acidentes aumentou entre 1980 e 1995 em média: 40% na América

Latina, 70% na Ásia, 25% na África e 20% no Oriente Médio. Em 90% dos casos, os

vitimados são condutores ou passageiros, sendo que os profissionais de serviços de

transporte correspondem a 41% do total. (DNIT, 2005)

A engenharia de um modo geral tem contribuído no aumento da segurança no

trânsito ao criar sistemas que amenizam acidentes e as injúrias geradas pelos mesmos.

Estudos e pesquisas são aspectos importantes no trabalho de segurança, podendo ser

incorporados ao ambiente automotivo.

Como os indivíduos são incapazes de julgar suas condições de sonolência, visto

que grande parte dos acidentes de trânsito é causada por cochilo ou falta de atenção, o

projeto propõe o desenvolvimento de uma solução que seja capaz de proporcionar o

aumento da segurança dos veículos e seus condutores, ao detectar a sonolência no

motorista e atuar de forma preventiva.

Seguindo as novas tendências de critérios de usabilidade e acessibilidade, o

projeto trouxe para um formato mais simplificado a verificação de sensores essenciais

Page 11: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 11

para o correto funcionamento do veículo, como o MAP (sensor de pressão absoluta no

coletor de admissão), a medição da temperatura d’água no radiador, da ventoinha do

radiador e a da iluminação de faróis e lanternas, como prevenção de acidentes noturnos

pela falta de iluminação do veículo. A verificação desse sensoriamento é didaticamente

exibida para o motorista, para que não haja dúvida sobre quais ações o mesmo deverá

tomar.

Os resultados são apresentados como uma solução integrada de software e

hardware, configurável para distribuição e funcionamento em diversos veículos, dando

maior abrangência na área de segurança automotiva e dispositivos que atuem de forma

preventiva, conseqüentemente reduzindo o número de acidentes causados por falha

humana ou veicular.

Page 12: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 12

2. FUNDAMENTAÇÃO TEÓRICA

2.1 Software

2.1.1 Introdução A fadiga de motoristas gera um risco significante no que se refere ao transporte

rodoviário, podendo ser causada por diversos fatores como falta de sono ou percurso

noturno. Na última década, sonolência e fadiga de motoristas foram temas de intenso

interesse e atividade pelo Departamento de Transportes Americano. Entre vários métodos

de detecção de sonolência verificados, PERCLOS se tornou o mais eficaz e confiável para

determinar o nível de alerta de um motorista. [FEDERAL HIGHWAY

ADMINISTRATION, 1998]

Para se aplicar tal algoritmo, é necessário um processamento prévio da imagem,

que posteriormente é representada digitalmente, podendo por tanto ser processada

digitalmente.

Nesta etapa procedem-se à aquisição, pré-processamento e segmentação da

imagem adquirida pela câmera. Aplica-se então um filtro de média (passa-baixa) para

remoção de ruídos, outro filtro com utilização de gradiente para detecção de bordas

(Sobel) e finalmente a transformada de Hough para detecção de círculos. Cada nova

imagem de entrada passa por este pré-processamento para detecção dos círculos da íris,

possibilitando assim a verificação do percentual de abertura do olho através de

PERCLOS.

2.1.2 Processamento de Imagens Breve conhecimento sobre o processamento digital de imagens é requisito base

para entendimento dos demais conhecimentos teóricos abordados no software do projeto.

O termo “Processamento Digital de Imagens (PDI)” se refere ao uso de algoritmos

computacionais que realizam processamento e operações com imagens digitais.

[CASTLEMAN K, 1996]

As imagens digitais são representações de imagens através de um conjunto

(discreto) de pixels, cada pixel com sua coordenada (x, y) na imagem, o conjunto total

determina sua resolução, como 1280 x 1024 (uma matriz de 1280 pixels no eixo X para

cada linha de pixels, num total de 1024 linhas) a quantidade total é a multiplicação de um

número pelo outro, neste caso aproximadamente 1.3 milhões de pixels em uma imagem,

Page 13: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 13

ou 1.3MP (Megapixel). Logo, quando se observa câmeras digitais de 3.2MP, 5.0MP, se

têm a quantidade total possível de pixels na imagem capturada. Um pixel (Picture

element) por sua vez é o menor item de informação das imagens, sendo que cada pixel

tem seus próprios atributos. Os atributos podem variar de acordo com o contexto de sua

utilização, como exibição na tela de um computador (que pode variar em gama de cores e

quantidade de bytes utilizados para representá-lo), impressão, sendo geralmente utilizado

como unidade de medida. No caso deste projeto, o que interessa de cada pixel são os

valores de intensidade RGB (Red, Green, Blue), cada nível de intensidade pode assumir

256 valores e formar juntos no pixel uma variação até 16 milhões de cores, este tipo de

pixel requer 24 bits (zeros ou uns), ou 3 bytes (conjunto de 8 bits) para ser representado,

um para cada cor. [CASTLEMAN K, 1996]

Após o processamento das imagens pelo algoritmo, os valores RGB de todos os

pixels serão convertidos para níveis de cinza, onde na realização desta conversão, retira-

se a média entre os 3 valores para cada pixel. Tendo-se assim, apenas 256 níveis de

intensidade na imagem, o que torna o processamento muito mais simples e barato em

termos de processamento computacional.

Imagens digitais e seu processamento, tão comumente usados hoje nas mais

variadas aplicações, tiveram seu início nos anos 60 nos Estados Unidos em diversos

laboratórios, com fins científicos e militares, com aplicações específicas para fins

médicos, espaciais, de reconhecimento, e aprimoramento de fotos. Atualmente, com

velozes computadores e processadores de sinais, o processamento digital de imagens

passou a ser o método mais utilizado para trabalhos com imagens, por ser o método mais

versátil e barato, sendo o processamento digital o único método tecnológico para

classificação, extração de propriedades, projeção, reconhecimento de padrões e análise de

sinais, aparecendo em quase todos os dispositivos tecnológicos atuais que trabalhem com

imagens. [CASTLEMAN K, 1996]

2.1.3 Filtro de Média (Passa Baixa) Filtro utilizado para remoção de ruídos e imperfeições na imagem, procura

suavizar grandes variações na intensidade dos pixels, aplicado neste caso somente a

níveis de cinza, geralmente aplicado anteriormente a um processamento específico, como

a detecção de borda feita pelo operador Sobel. O operador Sobel é discutido no item

2.1.4.

Page 14: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 14

Matematicamente pode ser descrito através da seguinte fórmula:

ou

Onde “Y” é o novo valor de intensidade para o pixel “n”, o somatório compreende

os valores de intensidade “x” dos pixels envolvidos pela região de “n-k” até “n+k”. Para

retirar a média este novo e alto valor é dividido pelo número total de pixels abordados,

denotado neste caso pela letra “Z” ou matematicamente como “2k+1”. [CASTLEMAN

K, 1996]

Assim como o operador Sobel, o filtro de media é aplicado em termos espaciais. Este

substitui o valor de intensidade do pixel central da janela de pixels abordada.

Geralmente o cálculo é feito pixel a pixel, em todos os pixels da imagem, a janela

comumente aborda o pixel em questão e os oito pixels ao seu redor, este cálculo discreto

não deve ser feito com base nos novos valores obtidos para cada pixel, devendo ser

recursivo e cada novo valor deve ser obtido sempre com base nos valores da primeira

imagem. Sua intensidade e a área tratada podem alterar, dependendo do nível de

suavização que se desejar para cada imagem ou região. Após o cálculo do primeiro pixel,

a janela corre para o próximo e calcula o valor do mesmo com base nos valores iniciais e

assim por diante.

Quando se está trabalhando com a imagem, o processamento é realizado em cima

dos seus valores numéricos de intensidade, por isso a aplicação deste filtro é facilmente

visualizada matematicamente com matrizes, sendo feito o mesmo processo em PDI.

Valores não Filtrados

Média Filtrada

Aplicação de um filtro de média.

Page 15: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 15

O aditivo neste filtro para aplicações de processamento digital de imagens é a

adição de máscaras, as máscaras são matrizes que possuem o tamanho da janela

abordada, com o centro no pixel que está sendo tratado, o valor de intensidade de cada

pixel é multiplicado pelo valor referente na posição da máscara, é feito o somatório

normalmente, então a soma dos pesos da máscara é usado na divisão do somatório, para

que o valor de intensidade seja normalizado. [CASTLEMAN K, 1996]

2.1.4 SOBEL O operador Sobel é usado no processamento digital de imagens para detecção de

bordas nas mesmas. Sendo um operador de diferenciação discreta, calcula, em cada

ponto, uma aproximação do gradiente da função de intensidade da imagem, fornece a

direção da maior variação de claro para escuro e quantiza a variação nesta direção. Para

tal processo, o operador convoluciona os pontos da imagem com um pequeno filtro de

inteiros na horizontal e vertical, o gradiente de uma função de duas variáveis (a função de

intensidade da imagem) é em cada ponto da imagem, um vetor de duas dimensões com

componentes fornecidas pelas derivativas nas direções horizontais e verticais. [YING-

DONG, Q. et al, 2005]

Figura 1 - Aplicação do operador Sobel a uma imagem de um cilindro. [YING-

DONG, Q. et al, 2005]

Formulação

O operador usa duas matrizes 3x3 que são convolucionadas com a imagem

original para calcular as aproximações das derivativas, uma para mudanças horizontais e

outra para mudanças verticais. Na formulação seguinte, “A” representa os pontos

abordados da imagem original, “Gx” e “Gy” serão os valores que em cada ponto conterão

as aproximações derivativas horizontais e verticais.

Page 16: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 16

Nota: A multiplicação nas matrizes denota a operação de convolução 2D.

A coordenada X é definida como crescente para a direita e a coordenada Y é

definida como crescente para baixo. A cada ponto da imagem, as aproximações do

gradiente resultante podem ser combinadas para fornecer a magnitude do gradiente

usando a seguinte fórmula. [YING-DONG, Q. et al, 2005]

Com esta informação também pode ser calculada a direção do gradiente:

Onde, é zero para uma borda vertical mais escura no lado esquerdo.

Como a função de intensidade de uma imagem digital é conhecida somente em

pontos discretos, funções derivativas desta não podem ser definidas a não ser que seja

assumido que exista uma função de intensidade continua que foi amostrada nos pontos da

imagem. Com alguns pressupostos, a derivativa da função de intensidade continua pode

ser calculada como uma função de intensidade amostrada, no caso, a imagem digital.

Como conseqüência de sua definição, o operador Sobel pode ser implementado

com maneiras simples em software e hardware. Apenas oito pontos em volta do ponto

abordado são necessários para calcular o resultado correspondente e um único inteiro

aritmético é necessário para calcular a aproximação do vetor gradiente. Os dois filtros

discretos descritos acima podem então ser separados:

Page 17: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 17

As duas derivativas Gx e Gy podem então ser calculadas como:

2.1.6 HOUGH A transformada de Hough é utilizada no processamento digital de imagens para

extrair propriedades geométricas das mesmas. A transformada clássica tinha como

objetivo a detecção de linhas, porém, esta foi ampliada e generalizada para identificar

posições e dimensões de outras formas, mais comumente círculos e elipses. [RHODY, H.,

2005]

Círculos são estruturas geométricas comuns de interesse nas aplicações de

computação gráfica. Portanto, é realizado o uso desta transformada para localizar tais

estruturas. Um círculo pode ser transformado em um grupo de três parâmetros,

representando seu centro e seu raio.

A idéia da transformada é que perpendiculares aos pontos de borda de um círculo

cruzam no centro do mesmo. Portanto, se linhas perpendiculares forem desenhadas a

todos os pontos de borda, deve-se obter a concentração destas no centro do círculo. Para

visualizar esta prática, é mostrada, no estudo teórico, o desenho de segmentos de reta no

espaço (a, b), sendo:

Onde, (minr e maxr) é o range dos possíveis raios do círculo que são levados em

consideração (pode ser customizado), A é a disposição (array) do espaço (a, b), E (i, j) é a

intensidade da borda, dada após a aplicação do filtro Sobel. [RHODY, H., 2005]

Page 18: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 18

Figura 2 - Cálculo dos segmentos de reta perpendiculares a borda. [RHODY, H., 2005]

A transformada verifica os pontos onde os centros dos possíveis círculos devem

ser encontrados. Entretanto, os pontos podem ser difusos, particularmente se os círculos

são distorcidos em elipses, porém este não é o caso na detecção do olho humano.

Especificamente no projeto, a variação do raio deve ser muito pequena, pois a

câmera utilizada já processa o rastreamento da face e procura mantê-la centralizada e com

o mesmo tamanho na imagem (através de zoom automático). Isto reduz os recursos

computacionais utilizados pelo algoritmo.

Portanto, se desejar parametrizar apenas uma circunferência, descrevendo raio

como R e o centro como (a, b), as seguintes equações são utilizadas:

Se o ângulo passar pelos 360 graus, os pontos (x, y) traçam o perímetro do

círculo. Quando a imagem contém muitos pontos, alguns são inclusos nos perímetros dos

possíveis círculos, então o trabalho do programa é encontrar os parâmetros (a, b e R) que

descrevam os círculos, como visto anteriormente. Esta busca por círculos com raios

desconhecidos pode ser conduzida utilizando acumulação em uma matriz tridimensional.

Page 19: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 19

Figura 3 - Aplicação de Hough para detecção dos círculos com múltiplos raios.

[RHODY, H., 2005]

2.1.8 PERCLOS na Natureza da Sonolência e sua Verificação PERCLOS (Percent of the time eyelids are Closed) define o percentual de tempo

em que os olhos de um motorista estão fechados. O algoritmo aborda o percentual de

fechamento da pálpebra sobre a pupila no decorrer do tempo ao invés de um simples

piscar. Uma métrica para PERCLOS foi estabelecida em 1994 como a proporção de

tempo em um minuto em que as pálpebras do motorista estão pelo menos 80% fechadas.

[FEDERAL HIGHWAY ADMINISTRATION, 1998]

O projeto utiliza PERCLOS para realizar uma contagem de frames em que os

olhos estão fechados assim como abertos, onde verifica no decorrer de um tempo

estabelecido, seu percentual de fechamento. Esta verificação é realizada para cada

imagem tratada e através disso a média é obtida. Caso seja constatado que existe

fechamento e este esteja presente em pelo menos 20% das amostras no último minuto, se

constatada a sonolência do motorista.

Para validar PERCLOS, a FMCSA (Federal Motor Carrier Safety

Administration), uma divisão do governo americano a parte do Departamento de

Transporte Americano, realizou uma pesquisa utilizando uma metodologia com dois

experimentos, ambos abordando PERCLOS e outros métodos de detecção de sonolência.

[FEDERAL HIGHWAY ADMINISTRATION, 1998]

No primeiro experimento, os pesquisadores desempenharam o mesmo em um

ambiente fechado de laboratório. Quatorze homens adultos permaneceram acordados por

42 horas, enquanto trabalhavam numa bateria de testes computadorizados a cada duas

horas. Os testes incluíam uma tarefa de vigilância psicomotora (PVT) de 20 minutos

Page 20: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 20

requerendo que as cobaias mantivessem sua atenção e respondessem a uma luz

randômica em uma tela de computador, apertando um botão. Os lapsos na performance

da PVT (quando não se conseguia responder ao estímulo em menos de 500ms) foram

gravados a cada minuto e então totalizados para toda PVT. Estes lapsos foram utilizados

como critério de validação, pois o ato de dirigir é considerado uma tarefa que demanda

reações psicomotoras e vigilância psicomotora foi previamente validada como sendo

muito sensível a fadiga, os lapsos de PVT também serviram pra validar PERCLOS.

Figura 4 - Monitoramento da quantidade de Lapsos de PVT nos horários do dia.

[FEDERAL HIGHWAY ADMINISTRATION, 1998]

O método foi comparado com outras cinco tecnologias, duas com encefalograma

(EEG), dois monitorando o ato de piscar e uma monitorando o posicionamento da cabeça.

PERCLOS possuía três métricas, uma envolvendo o percentual de tempo em que as

pálpebras estavam pelo menos 70% fechadas (P70), outra em que as mesmas estavam

80% fechadas (P80) e a última delas tirava a média quadrática percentual da taxa de

fechamento dos olhos (EYEMEAS).

Os pesquisadores monitoraram os resultados de todos os métodos a cada duas

horas, junto com as PVTs, e realizaram um comparativo com os resultados dos lapsos,

para mostrar coerência entre os resultados, os resultados dos métodos deviam mostrar alta

correlação com o resultado das PVTs.

Page 21: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 21

O segundo experimento foi responsável pela avaliação destes resultados, e

pesquisas posteriores. PERCLOS foi o método com os melhores resultados, bem como

pelo fato de sua utilização na implementação sobre imagens digitais, o mesmo foi o

escolhido para ser implementado no projeto.

2.2 Hardware

No que tange aos possíveis problemas veiculares, há de se entender alguns

conceitos sobre estes dispositivos neste item. Para tanto, segue conceituação de alguns

destes importantes dispositivos para o desenvolvimento do projeto em questão.

2.2.1 Sensores

Sensores são dispositivos eletroeletrônicos que tem a propriedade de transformar

uma grandeza física que está relacionada a uma ou mais propriedades do material de que

é feito o sensor em sinal elétrico. Existem diversos tipos de sensores, destacando-se entre

eles os fotodiodos (conversão luminosa/elétrico), os microfones (conversão

sonora/elétrico) e os termistores (conversão térmica/elétrico). [BRAGA, N., 1983]

2.2.2 Termistores Termistores são dispositivos elétricos que têm a sua resistência elétrica alterada

termicamente, isto é, apresentam um valor de resistência elétrica para cada temperatura

absoluta. São muito usados para controlar e ou alterar a temperatura em dispositivos

eletro-eletrônicos, como alarmes, termômetros, "relógios", circuitos eletrônicos de

compensação térmica, dissipadores de calor, ar-condicionados, etc. Existem dois tipos

básicos de termistores: o termistor PTC (Positive Temperature Coefficient), que aumenta

drasticamente a sua resistência elétrica com o aumento da temperatura, e o termistor NTC

(Negative Temperature Coefficient), que diminui drasticamente a sua resistência elétrica

com o aumento da temperatura. O termistor não é polarizado eletricamente. [DAWES, C.,

1979]

2.2.3 Sensores de Pressão Em sensores de pressão, nos casos mais comuns, a pressão é medida tendo por

referência a pressão atmosférica normal, que é a qual corresponde à atmosfera que nos

cerca. Essa pressão é denominada relativa. No entanto, em muitas aplicações é importante

que a pressão de um determinado ambiente seja medida em relação ao vácuo. Nesse caso,

Page 22: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 22

o que se tem é a medida absoluta da pressão. Tendo em vista que é impossível obter o

vácuo perfeito no ambiente, a calibração de qualquer tipo de equipamento ou sensor que

precise medir pressão absoluta, é um problema sério a ser considerado. Veja que os

equipamentos que “produzem” vácuo se baseiam na retirada do ar de um ambiente

através de um pistão, conforme mostra abaixo. [Saber Eletrônica, 2008]

Figura 5 - Diagrama de um sistema para obtenção de vácuo. [Saber

Eletrônica, 2008]

Supondo que a cada movimento do pistão, este retire ar em quantidade igual à do

ambiente a ser levado ao vácuo, há a redução da pressão à metade cada vez que isso

ocorrer. Assim, por mais que esvaziemos o ambiente, a pressão é sempre metade da

anterior e com isso nunca chegará à zero. Teremos uma progressão em que a pressão final

P, é em relação à pressão inicial Po dada por:

P = ½ x ½ x ½ x ............. ½ Po

Onde o número de fatores ½ corresponde ao número de vezes que o pistão se

movimenta.

Pode-se entender melhor como funciona um medidor de pressão absoluta se partir

do funcionamento de um medidor de pressão relativa. A pressão diferencial é medida em

relação a dois ambientes, conforme ilustra abaixo:

Page 23: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 23

Figura 6 - Sistema para medir pressão relativa. [Saber Eletrônica, 2008]

Essa pressão pode ser expressa em libras por polegada quadrada ou então em kg

por centímetro quadrado. Quando um dos ambientes é tomado como referência, então há

uma pressão relativa ao outro ambiente ou à atmosfera normal. No caso da pressão

absoluta, o ambiente tomado como referência é o vácuo. Esse tipo de medida é usado

normalmente em barômetros ou altímetros. Para essas medidas é preciso ter uma

referência fixa e não simplesmente o ar ambiente. Isso ocorre porque a pressão ambiente

muda constantemente. Assim sendo, definimos a pressão absoluta como aquela medida

em relação ao vácuo perfeito.

Na figura abaixo, pode ser visto um sensor de pressão visto em corte:

Figura 7 - Detalhes de um sensor de pressão. [Saber Eletrônica, 2008]

Conforme se pode observar, nesse sensor existe uma cavidade selada em que é

feito o vácuo. A pressão nessa cavidade serve de referência para o sensor. É claro que na

Page 24: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 24

prática, conforme explicado é impossível obter um vácuo perfeito. Assim, os fabricantes

desses sensores esmeram-se no sentido de obter uma pressão de referência que seja a

mais próxima possível de zero. [Saber Eletrônica, 2008]

A SensorTechnics , por exemplo, consegue um “vácuo” com apenas 0,0005 psia

ou 25 militorr, o que é um valor extremamente baixo que serve perfeitamente para as

aplicações comuns, eliminando também eventuais problemas que podem ocorrer quando

um gás vestigial que exista na cavidade muda de temperatura, conforme a lei de Boyle,

que diz que o volume de um gás é inversamente proporcional à sua pressão. [O Estado

Gasoso, UFSC]

No entanto, mesmo havendo uma referência fixa, os circuitos com que operam

esses sensores precisam de ajustes. Esses sensores operam na configuração em Ponte de

Wheatstone. Aplicando-se uma tensão em suas extremidades, a tensão na saída deve ser

ajustada para ser zero quando a pressão externa (medida) também for zero. Na realidade,

mesmo com a pressão nula, há uma tensão offset de saída que precisa ser compensada.

Isso é feito normalmente através do próprio circuito usado na medição, com base em

amplificadores operacionais. Assim, na figura abaixo se vê um circuito amplificador para

um sensor desse tipo que tem recursos de calibração.

Figura 8 - Circuito amplificador para sensores com recurso de calibração.

[Saber Eletrônica, 2008]

Page 25: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 25

Como na prática não é possível obter uma pressão nula para efeito de calibração,

utiliza-se de um artifício que melhor pode ser entendido com base no gráfico da figura

abaixo:

Figura 9 - Gráfico para auxiliar a determinar erro de offset. [Saber Eletrônica, 2008]

O que se faz é medir a pressão em dois pontos de valores conhecidos e, através de

um gráfico extrapolar o comportamento do sensor na faixa desejada. Esse gráfico pode

ajudar a determinar o erro de offset e fazer sua compensação. [Saber Eletrônica, 2008]

2.2.4 Microcontrolador Os microcontroladores são chips inteligentes, que tem um processador, pinos de

entradas/saídas e memória. Através da programação dos microcontroladores pode-se

controlar suas saídas, tendo como referencia as entradas ou um programa interno.

O que diferencia os diversos tipos de microcontroladores são as quantidades de

memória interna (programa e dados), velocidade de processamento, quantidade de pinos

de entrada/saída (I/O), alimentação, periféricos, arquitetura e set de instruções. [SILVA

ZANCO, W.]

O PIC é um circuito integrado produzido pela Microchip Technology Inc. , que

pertence à categoria dos microcontroladores, ou seja, um componente integrado que em

um único dispositivo contem todos os circuitos necessários para realizar um completo

sistema digital programável. O PIC internamente dispõe de todos os dispositivos típicos

de um sistema microprocessado, ou seja:

Page 26: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 26

Uma CPU (Central Processor Unit ou Unidade de Processamento Central) e sua

finalidade é interpretar as instruções de programa;

Uma memória PROM (Programmable Read Only Memory ou Memória

Programável Somente para Leitura) na qual ira memorizar de maneira permanente

as instruções do programa;

Uma memória RAM (Random Access Memory ou Memória de Acesso Aleatório),

utilizada para memorizar as variáveis utilizadas pelo programa;

Uma serie de LINHAS de I/O (entrada e saída) para controlar dispositivos

externos ou receber pulsos de sensores, chaves, etc. ;

Uma serie de dispositivos auxiliares ao funcionamento, ou seja, gerador de clock,

bus, contador, etc.

A presença de todos estes dispositivos em um espaço extremamente pequeno,

permite uma ampla gama de trabalho e enorme vantagem em usar um sistema

microprocessado, onde em pouco tempo e com poucos componentes externos pode-se

fazer o que seria oneroso fazer com circuitos tradicionais. O PIC esta disponível em uma

ampla gama de modelos para melhor adaptar-se as exigências de projetos específicos,

diferenciando-se pelo numero de linha de I/O e pelo conteúdo do dispositivo.

Page 27: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 27

3. ESPECIFICAÇÃO

3.1 Análise de Contexto

3.1.1 Descrição do objeto do desenvolvimento O objeto desenvolvido possui dois módulos autônomos, um no microcomputador,

que realiza a verificação de sonolência no motorista através de processamento gráfico

usando filtros e algoritmos de Hough e PERCLOS. O outro módulo é em um

microcontrolador, este realiza o monitoramento de partes importantes do carro e exibe as

informações em um painel LCD. A comunicação é feita entre os dois módulos para

realização de alertas.

Figura 10 – Módulo de monitoramento veicular.

3.1.2 Definição do sistema

O objetivo do sistema é criar uma solução que possa sanar insuficiências

verificadas no ambiente automotivo. Já existem soluções que realizam o monitoramento

de sonolência em motoristas, porém estes são novos, expansivos e de pouca distribuição

no mercado. Pode-se verificar que na maioria dos carros é realizado um monitoramento

dos sensores abordados pelo sistema, porém raramente a informação é exibida de maneira

clara o suficiente para o entendimento das pessoas não técnicas.

Embora seja um projeto acadêmico, este deve sanar tais insuficiências, podendo

ser facilmente integrado a um computador de bordo mais robusto de qualquer veículo,

Page 28: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 28

realizando a verificação do estado do motorista e exibindo de maneira mais clara o estado

de partes vitais do carro, de maneira a prover maior segurança para o tráfego geral.

3.1.3 Descrição das partes componentes e relacionamento

O sistema é autônomo, por sua vez, não há necessidade de integração com outros

sistemas, porém não há impeditivo para que este seja contemplado em um escopo maior

envolvendo segurança veicular.

Os principais elementos do sistema são:

Webcam: Realiza a captação da imagem do condutor do veículo e envia em modo

streaming para o microcomputador.

Microcomputador: Ao receber a imagem, realiza a aplicação de um algoritmo

para a detecção do olho do condutor e verificação do seu percentual de abertura, o tempo

de execução é contabilizado e uma nova imagem é processada da mesma forma. É

verificada a abertura média do olho por minuto, para efetiva verificação de sonolência.

Caso esta seja verificada, é enviado um alarme para o microcontrolador.

Sensoriamento Veicular: Contemplado por sensor de temperatura d’água do

radiador, MAP (Pressão absoluta e temperatura de entrada do ar no motor), rotação da

ventoinha do radiador. Este conjunto permite a fácil verificação do sistema necessário

para o correto e melhor funcionamento do motor em relação à tomada de ar e

refrigeração. Também é verificado o sistema de iluminação do veículo, contemplando

faróis e lanternas.

Microcontrolador: Processa todas as informações adquiridas através dos

sensores. Recebe do microcomputador, informações do estado do condutor. Realiza a

exibição destas no painel LCD. Qualquer situação anormal é alarmada.

Painel LCD: Interligado ao microcontrolador, exibe todas as informações

recebidas e processadas por este, de maneira que o condutor possua um fácil

entendimento das mesmas e como proceder, sem qualquer verificação adicional e

possivelmente não entendível no painel de instrumentos do veículo.

3.1.4 Descrição da interface entre sistemas A comunicação entre a webcam e o computador é feito por porta USB. Embora a imagem

possa ser trafegada de diversas maneiras, como TWAIN ou WIA, foi verificado, dentre os

Page 29: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 29

modos possíveis de implementação, o mais performático e compatível para aquisição da

imagens foi a DLL avicap32.dll.

O microcontrolador recebe as informações dos sensores em suas portas

analógicas. As portas digitais são usadas para comunicação com o painel LCD, para

emissão de alarme sonoro e comunicação com o microcomputador. Esta é feita com

interfaceamento USB <-> Serial. O microcomputador envia as informações por uma porta

USB e através do kit de interfaceamento USB <-> Serial a venda na Universidade

Positivo. Já o microcontrolador recebe a informação em interface Serial.

3.1.5 Descrição de condições restritivas

3.1.5.1 Restrição de custos;

Não há restrição de custos imposta pela universidade, porém há a restrição de

recursos financeiros para o desenvolvimento do projeto.

3.1.5.2 Restrição de recursos;

Os recursos humanos são limitados ao trabalho dos dois alunos, sendo

aproximadamente 80 dias de possível trabalho por aluno. A restrição de recursos

financeiros é limitada pelo salário dos alunos, pois não há qualquer patrocínio ou

custeamento adicional para o desenvolvimento do projeto. A restrição de materiais se

aplica à disponibilidade de equipamentos dispostos na Universidade Positivo, ao uso dos

computadores pessoais dos alunos, da webcam, dos equipamentos, microcontrolador e

sensores a serem adquiridos.

3.1.5.3 Restrição de prazos de entregas;

02/03/09 - Entrega das propostas do TCC para avaliação do colegiado.

23/03/09 - Entrega das especificações técnicas do TCC aprovado.

13/04/09 - Entrega da etapa de projeto do TCC.

18/05/09 - Apresentação e defesa parcial.

15/06/09 - Apresentação da etapa da Implementação Parcial do TCC e do artigo

técnico.

24/08/09 - Qualificação do TCC com a apresentação do projeto implementado.

09/11/09 - Entrega da documentação.

Page 30: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 30

30/11/09 - Apresentação dos TCCs na Mostra dos Projetos.

02/12/09 - Defesa formal dos projetos, com apresentação oral para a banca

examinadora.

14/12/09 - Entrega da documentação.

3.1.5.4 Condições ambientais;

Não deve ocorrer muita vibração na webcam ou microcomputador para correta

aquisição da imagem e funcionamento do sistema. O microcontrolador e os dispositivos

eletrônicos que fazem parte do seu módulo operam em temperatura entre -40C e 80C, as

condições de temperatura são mais restritivas quanto ao microcomputador, possuindo

uma faixa de operação menor do que ao módulo do microcontrolador, porém não

especificada. A umidade para o microcomputador e microcontrolador, assim como seus

componentes, não deve ultrapassar a umidade relativa do ar no momento de

funcionamento.

Como o sistema não é blindado, espera-se que o seu funcionamento seja no

interior veicular. Existe a exceção dos sensores que possuem características próprias para

abordar tomada de ar do motor, temperatura d’água em um radiador, assim como a

ventoinha do mesmo. Estes suportam condições mais agressivas, porém limitadas ao

meio veicular, não devendo ser aplicados ao meio industrial ou similar.

3.1.5.5 Condições mecânicas;

Não há condições mecânicas restritivas que não sejam abordadas nas condições

ambientais.

3.1.5.6 Condições de energização;

Para apresentação, o microcomputador deve ter sua fonte energizada em

alimentação de corrente alternada de 50Hz ou 60Hz, com a tensão em um nível entre

100V e 240V. A webcam é energizada através da porta USB do computador. Uma

alimentação na saída veicular de 12V também é possível, porém não é utilizada para

desenvolvimento do projeto.

O microcontrolador é energizado com 5V em corrente contínua, a alimentação dos

sensores varia entre 5V e 12V em corrente contínua.

Page 31: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 31

3.1.5.7 Condições tecnológicas;

Os limites tecnológicos são aplicados ao tamanho da imagem a ser processada (até

1,3MP) capacidade de processamento do computador (Intel Core 2 Duo T8100 –

2.1GHz), a exibição de informações no painel LCD de duas linhas, a quantidade de portas

analógicas do microcontrolador.

3.1.5.8 Condições de interferência eletromagnética;

Não temos como mensurar ruídos eletromagnéticos impostos ao sistema, porém

esses não devem prejudicar o funcionamento do mesmo, visto os sensores veiculares

estarem preparados a este ambiente e aos demais módulos possuírem seu funcionamento

no interior do veículo.

3.1.5.9 Condições de interferência elétrica.

Visto a sensibilidade dos componentes, ao fato de possuírem fonte de alimentação

única de 12V com redução para 5V e ao sistema ser uma solução stand-alone, não deve

haver interferência elétrica, caso haja, um filtro deve ser confeccionado.

3.1.6 Descrição dos benefícios esperados

3.1.6.1 Benefícios econômicos;

As soluções presentes no mercado para detecção de sonolência em motoristas são

importadas e onerosas, verifica-se também, uma apresentação de sensoriamento em

computadores de bordo presente apenas em veículos de alto valor. O projeto prevê

fornecer uma alternativa que supra tais necessidades a um valor inferior ao do mercado.

3.1.6.2 Benefícios operacionais;

O que se verifica é que muitos usuários de veículos não sabem o que fazer ou o

que significa quando uma luz diferente se acende no painel de instrumentos, muitos

inclusive não sabem a que temperatura deve operar a água do radiador ou o quanto seria

muito quente no seu indicador para tomar alguma ação. Há uma maior facilidade de

condutores para verificar o estado de saúde de seu automóvel, pois os dados são

apresentados de maneira escrita no painel LCD.

Page 32: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 32

3.1.6.3 Benefícios estratégicos;

Aumentar a segurança na condução de veículos, tanto pela verificação de partes

fundamentais para o correto funcionamento do motor, iluminação do carro e estado de

sonolência do motorista.

3.1.7 Descrição dos impactos esperados

3.1.7.1 Impactos sociais;

Com o aumento na segurança veicular, o que se espera é uma redução no número

de acidentes que possam ser causados por mau funcionamento do veículo e seu sistema

de iluminação, assim como acidentes causados pela sonolência em condutores, fato que é

altamente verificado e principalmente em caminhoneiros.

3.2. Análise Funcional

3.2.1 Funções de comunicação Por ser uma solução stand-alone, este sistema não necessita de comunicação com

outros, embora seja possível em um escopo maior.

A comunicação entre webcam e microcomputador, microcontrolador com display

e sensores, é intrínseca a cada módulo (microcomputador e microcontrolador). A

principal função de comunicação está entre os dois módulos, onde deve haver a sincronia

entre estes para envio dos dados pelo microcomputador e correto recebimento pelo

microcontrolador.

Esta comunicação é feita utilizando a porta USB do microcomputador e o

microcontrolador recebe as informações como em uma interface serial. Para isto é

utilizado um conversor USB <-> Serial. A comunicação serve para que o estado do

motorista seja comumente enviado ao microcontrolador, este pode ser apresentado no

display LCD caso o usuário deseje. A partir do recebimento desta informação o

microcontrolador pode executar funções de controle automático caso o motorista não

esteja presente na captura executada pelo microcomputador ou não esteja alerta.

Page 33: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 33

3.2.2 Funções de processamento de informação Módulo do Microcomputador – A partir do recebimento da imagem do condutor,

inicia o processamento da mesma, nos seguintes passos:

01 – Conversão para níveis de cinza para desenvolvimento de um único

histograma.

02 – Suavização da imagem através do filtro passa-baixa para atenuar

imperfeições.

03 – Aplicação do operador Sobel para binarização da imagem a fim de detectar

as bordas da mesma.

04 – Tratamento e segmentação da imagem.

04 – Aplicação da transformada de Hough para círculos nos olhos.

05 – Cálculo da abertura dos olhos abertos, baseando-se no tamanho normal de

abertura das pálpebras e comparando com o tamanho atual.

06 – Cálculo de PERCLOS. Verifica a média de abertura dos olhos no último

minuto, caso esta esteja abaixo de 80%, pode-se averiguar a sonolência.

07 – Envio do estado atual para o microcontrolador.

Módulo do Microcontrolador – Recebe as informações dos sensores e

microcomputador, exibe as mesmas no display LCD e emite alarmes quando necessário,

como é um algoritmo que executa a coleta de informação dos sensores e

microcomputador, não há uma ordem definida de passos.

01 – A informação de cada sensor é um nível de tensão em uma porta analógica.

02 – Conversão AD para transformar o nível de tensão em uma informação como

Graus Celsius d’água, RPM da ventoinha do radiador, faróis em funcionamento,

temperatura e pressão do ar entrante no motor.

03 – A informação recebida pelo computador é em uma porta digital e já esta pré-

processada.

04 – Exibição das informações no display LCD.

05 – Emissão de alarme caso necessário.

Page 34: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 34

3.2.3 Funções de controle automático Caso seja detectada uma irregularidade em qualquer parte do sensoriamento ou no

estado do motorista, é emitido um alarme sonoro, a irregularidade é apresentada no

display LCD. Este controle independe do motorista ou qualquer configuração que o

mesmo possa realizar no microcontrolador. É verificado se o microcontrolador deve

tomar decisões mais críticas em caso de sonolência.

3.2.4 Funções de interface homem/máquina No projeto acadêmico, a interface do programa no microcomputador esta

disponível para configuração e averiguação do processo. Porém em uma solução

comercial, esta seria transparente para o condutor, sendo um processo batch, que embora

rode no microcomputador, seria embarcado na solução automobilística.

O usuário dispõe de um botão para selecionar a informação que deseja exibir no

display LCD.

3.2.5 Funções de aquisição de dados

A aquisição da imagem pode ser feita via WIA, TWAIN, Directx ou até mesmo

desenvolvimento direto de software ou drivers para captura. O método utilizado no

projeto foi a DLL avicap32.

A aquisição dos valores de tensão dos sensores se dá nas portas analógicas do

microcontrolador. Este nível de tensão passa por um conversor AD e tabela para

averiguação de valores e processamento da informação.

3.2.6 Funções de atuação Para garantir a segurança, não é permitido ao usuário atuar diretamente no

processo, a atuação é feita pelo microcontrolador como controle automático.

3.3 Análise de Requisitos

a) Funcionalidade: O sistema apresenta os resultados da análise do processamento das

imagens e verificação dos sensores no display de LCD, o microcomputador pode ou não

enviar a informação de sonolência detectada, o microcontrolador se encarrega de gerar o

alarme para o usuário em caso ser detectada sonolência. O sistema funciona em

condições ideais, ou seja, sem interferências eletromagnéticas, elétricas ou ambientais. O

Sistema é capaz de fazer o processamento de imagens com condições mínimas de

Page 35: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 35

iluminação do ambiente onde seja possível fazer a detecção dos olhos e medição de sua

abertura perfeitamente. O sistema é uma solução fechada e não permite que o usuário

acesse acidentalmente ou deliberadamente seu software, o hardware pode ser acessado

para ocasionais substituições, seu detalhamento é escrito no manual do usuário.

b) Confiabilidade: Em caso de falha na captura de alguns frames no módulo do

microcomputador, o sistema pode levar até um minuto para recuperar suas estatísticas e

precisão de resultado. O incorreto funcionamento de um sensor pode ser verificado em

comparação com seu valor ideal de funcionamento e sua curva de resposta, caso haja o

não funcionamento de um destes, é verificada a ausência de resposta, em ambos os casos,

sua verificação para manutenção e possível substituição é recomendada.

c) Usabilidade: A solução deve ser de fácil uso para qualquer usuário, o módulo do

microcomputador pode requerer alguma configuração na posição da webcam e/ou

software. O módulo do microcontrolador não exige configurações do usuário. Com a

disponibilidade e leitura do manual, a solução tem alta inteligibilidade, devendo ser de

simples entendimento. Após configuração do software e/ou webcam no

microcomputador, o usuário pode também fazer uso de um botão para selecionar no

microcontrolador a informação que desejar exibir no display LCD.

d) Eficiência: O tempo de resposta do microcomputador é suficiente para correto e

preciso processamento da taxa de PERCLOS, quanto mais frames processados em um

minuto, mais preciso é o resultado deste índice e melhor é a eficiência deste módulo. O

tempo de resposta do microcontrolador para os sensores está diretamente ligado ao tempo

de resposta de cada sensor. A solução como um todo funciona em tempo hábil para que

se evite um possível acidente ou dano permanente ao veículo. Como o número de

recursos utilizados definido, o desempenho é estável para estes, alterações no número de

sensores (caso haja disponibilidade de portas no microcontrolador) não deve alterar o

desempenho da solução.

e) Mantenibilidade: Neste projeto, existem quatro mudanças majoritárias que podem ser

realizadas, são estas, mudança de webcam, mudança de microcomputador, mudança de

sensores. Todas poderão requerer alguma alteração de software ou firmware nos

respectivos módulos.

- Mudança de Webcam: Caso se opte por webcam de igual resolução e

desempenho (frames por segundo) similar, com correta instalação dos drivers no

Page 36: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 36

ambiente, não se tem necessidade de alterações do software no microcomputador. Caso a

nova webcam sofra discrepância nos parâmetros ou desempenho, pode ser requerida

alteração em qualquer classe do software do microcomputador.

- Mudança de Microcomputador: Deve ser utilizado outro microcomputador com

Windows XP ou superior e com pelo menos duas portas USB (Webcam + comunicação

com o módulo microcontrolador). Se o computador possuir performance similar ou

superior, não é necessária qualquer alteração. Caso se note uma redução na performance e

resultados obtidos, mudanças no software serão requeridas.

- Mudança de Sensores: O projeto é portável para qualquer tipo de sensor,

entretanto, as interfaces de acoplamento dos sensores no microcontrolador deverão ter

seus dispositivos recalculados e possivelmente substituídos. A curva de resposta dos

sensores para conversão AD também deverão ser refeitas.

f) Portabilidade: O módulo do microcomputador é desenvolvido em C# e deve ser

portável para qualquer microcomputador utilizando Windows XP ou superior.

Inicialmente, a escolha por outra webcam que tenha seus drivers corretamente instalados

não deve impactar na capacidade de captura da imagem. Porém a performance pode ser

afetada dependendo da configuração de cada máquina, caso isto ocorra, uma revisão deve

ser efetuada.

O módulo do microcontrolador é desenvolvido em C para microcontroladores da família

DSPIC, o código deve servir para qualquer microcontrolador desta família que contenha a

mesma quantidade de portas analógicas e digitais. Caso se deseje utilizar outros sensores,

sua curva de resposta deve ser adaptada para conversão analógico/digital.

3.4 Análise de Alternativas Alternativas no módulo do microcomputador:

Mudança de webcam: Possuindo a correta instalação dos drivers em sistemas

operacionais Windows XP ou superior, pode ser realizada uma mudança na webcam.

Deve-se procurar utilizar uma webcam de mesma resolução. Alterações de software

podem ser requeridas para correto funcionamento.

Mudança de microcomputador: Pode ser substituído por outro que possua ao

menos duas portas USB e utilize Windows XP ou superior, entretanto é recomendado o

uso de um computador com configuração e performance similar para que o desempenho

Page 37: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 37

do software não seja prejudicado. Caso se verifique que o software não esteja

correspondendo corretamente, alterações podem ser necessárias.

Alternativas no módulo do microcontrolador:

Mudança nos Sensores: Pode-se adaptar a solução para outros sensores, os

dispositivos que realizam a interface entre os sensores e o microcontrolador deverão ser

recalculados caso se deseje realizar mudança no modelo dos sensores. A curva de valores

para conversão AD também devem ser refeita.

Page 38: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 38

4. IMPLEMENTAÇÃO

A seguir é tratada a implementação do projeto, onde é descrito o princípio de

funcionamento do sistema como um todo, descrevendo alguns dos requisitos iniciais para

a completude do projeto, como por exemplo, as tecnologias envolvidas na captura das

imagens do motorista, processamento destas imagens para detecção de sonolência, leitura

de informações como temperatura do sistema de refrigeração do motor e sistema de

iluminação do veículo.

4.1 Descrição

O projeto desenvolvido possui dois módulos autônomos, um no

microcomputador, que realiza a verificação de sonolência no motorista através da captura

de imagens de uma webcam, processamento gráfico usando filtro passa baixa, aplicação

do operador Sobel, transformada de Hough e processamento de PERCLOS. O outro

módulo é em um microcontrolador, este realiza o monitoramento de partes importantes

do carro e exibirá as informações em um painel LCD. A comunicação é entre os dois

módulos para realização de alertas.

Webcam MicrocomputadorMicrocontrolador(Projeto de hardware)

Desenvolvimento em C para monitoramentode sinais sensoriais,disparo de alarmes eenvio de informaçõespara painel LCD.

Sensores Veiculares

Painel LCD

Desenvolvimento deaplicativo em linguagemC# para captura atravésda webcam, processamentodo estado do condutor eenvio das informaçõespara o microcontrolador.

Figura 11 - Representação Gráfica do Projeto.

Page 39: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 39

Figura 11 - Diagrama de Arquitetura do Projeto.

Page 40: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 40

4.2 Descrição do Software 4.2.1 Ambiente de Desenvolvimento O software foi desenvolvido em linguagem C#, utilizando um código estruturado

em classes e camadas, buscando seguir a modelagem em UML para que se possa dar uma

posterior manutenção a cada bloco do projeto sem necessária alteração em todo o projeto.

Para este desenvolvimento foi utilizado o Visual Studio 2008 no sistema operacional

Windows Vista. Foi escolhida esta linguagem e ambiente pela facilidade de

desenvolvimento e quantidade de recursos disponibilizados para esta aplicação,

bibliotecas e classes do próprio Visual Studio mostraram suprir a demanda de

interfaceamento com a webcam e microcontrolador.

4.2.2 Interface do Software O sistema final não possui interação constante com o usuário, embora haja uma

interface com o mesmo, nesta é realizada uma calibração da câmera e do software para o

condutor. A calibração da câmera consiste em exibir a imagem que a mesma está

captando, realizar seu ajuste de posição, foco, configuração para captura automática de

face. Após a configuração da câmera, deve-se calibrar o software, para a parametrização

de variáveis usadas pelo mesmo, verificando se a tolerância para captação de bordas no

operador Sobel é suficiente e adequada para o condutor, obtendo corretamente o contorno

dos olhos, sem exibir características faciais mais suaves que este contorno. Para isto o

software tem a tolerância configurável e exibe a imagem após o processamento do

operador Sobel. Finalizando a configuração de Sobel, deve-se validar a transformada de

Hough para obtenção dos círculos referentes às pupilas, inicialmente a mesma busca o

raio para detecção correta dos círculos, com este raio parametrizado, não deve haver

grande variação do mesmo quando estiver sendo realizado o processamento em produção.

Por fim, dever ser coletadas imagens do condutor com os olhos abertos e fechados, para

se finalizar a calibração de todas as variáveis, pois o sistema tem o percentual de frames

calculado com base na quantidade de pixels da pupila expostos e não cobertos pela

pálpebra. Com o fim da calibração, o software entra em modo de produção e não há mais

interação com o usuário. Situações anormais podem ser alarmadas por ambos os

módulos.

Page 41: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 41

Figura 13 – Interface do software.

Page 42: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 42

4.2.3 Diagrama de Classes

-startButton_Click()-stopButton_Click()-setupButton_Click()-applyButton_Click()-WebcamCapture1_ImageCaptured()

-pictureBox1-startButton-stopButton-ApplyButton-SetupButton-comboBox-WebcamCapture1 : WebcamCapture-Pre_Process : PreProcess-ProcessForm : Form2-Setup : Form3

Form1

+Start()+Stop()-timer1_Tick()

-UserControl : int-timer1 : int-m_TimeToCapture : int-m_Width : int-m_Height : int-mCapHwnd : int-m_FrameNumber : ulong-x : WebcamEventArgs-tempObj-bStopped : bool

WebcamCapture

+Serial()+open()+close()+write()+read()

-SerialPort

Serial

+PreProcess()+GetImageData()+LowPassFilter()+SobelOperator()+SetImageData()+SetConfig()

-NewImage+oldbytes[,] : float+newbytes[,] : float+Data+threshold : int+lowpasspoint : float

PreProcess

+MinCircleIntensity() : short+LocakPeakRadius() : int+MaxIntensity() : short+HoughCircleTransformation()+setRadius()+setShow()+CirclesCount() : int+ProcessImage()+ToBitmap() : <não especificado>+GetMostIntensiveCircles[]() : HoughCircle+GetCirclesByRelativeIntensity[]() : HoughCircle+CollectCircles()+DrawHoughCircle()+SetHoughÑirclePoints()+SetHoughPoint()

-radiusToDetect : int-houghshow : string-houghthreshold : int+houghmap[,] : short-maxMapIntensity : short+contSobelY[] : short+contSobelX[] : short-width : int-height : int-localPeakRadius : int-minCircleIntensity : short-circles

HoughCircleTransformation

+HoughCircle()+CompareTo() : int

+X : int+Y : int+Radius : int+Intensity : short+RelativeIntensity : double

HoughCircle

-radioButton1_CheckedChanged()-radioButton2_CheckedChanged()-radioButton3_CheckedChanged()-radioButton4_CheckedChanged()-DefaultButton_Click()-OpenButton_Click()-SaveButton_Click()+GetConfig()

+lowpass : float+sobel : int+hough : int+boxwidth : int+boxheight : int+eyebrowsdist : int+leftsidedist : int+rightsidedist : int+eyeradius : int+eyealarm : int+attention : int+mode : string+houghmap : string-DefaultButton-OpenButton-SaveButton-radioButton1-radioButton2-radioButton3-radioButton4

Form3

+Process()-facialMeasures()-searchForEyes()-DrawLine()-DrawRectangle()+SetConfig()-timer1_Tick()-timer2_Tick()

-timer1-timer2-picturebox1-SerialPort : Serial-formGraphics-HoughCircleImage-circleTransform : HoughCircleTransformation-leftside : int-rightside : int-eyebrows : int-contpixels : int-posleftmatrix[] : int-posrightmatrix[] : int-alarm1 : float-alarm2 : float-boxwidth : int-boxheight : int-eyebrowsdist : int-leftsidedist : int-rightsidedist : int-mode : int-houghthreshold : int

Form2

+WebcamEventArgs()+WebcamImage() : <não especificado>+FrameNumber() : ulong

-m_Image-m_FrameNumber

WebcamEventArgs

Figura 14 - Diagrama de Classes do Software.

Page 43: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 43

4.2.4 Modelo Lógico O modelo visa descrever a inserção do software no contexto geral do projeto,

utilizando um fluxo de dados e um fluxograma, mostra o funcionamento do sistema com

a aquisição das imagens geradas pela webcam, processamento pelo microcomputador e

envio de alarmes para o microcontrolador. As informações serão enviadas para o

microcontrolador utilizando protocolo RS-232 em uma porta serial.

Microcontrolador

Microcomputador

Webcam

Operador Sobel

Segmentação

Filtro Passa Baixa

Captura da Imagem

Transformada de Hough

Cálculo de PERCLOS

Envio de Alarmes

Figura 15 - Fluxo de Dados do Software em Produção.

O fluxo de dados acima mostra o passo a passo realizado pelo software em

produção, o mesmo realiza a captura da imagem da webcam, aplica um filtro de média

(passa baixa) para remoção de ruídos na imagem capturada, já transformando a mesma de

Page 44: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 44

colorida para níveis de cinza. Nesta nova imagem é aplicado o operador Sobel para

detecção de bordas, a imagem é segmenta para aplicação da transformada de Hough e

com a mesma é feito a detecção dos círculos referentes aos olhos, com PERCLOS é

realizado a contagem dos pixels referentes à abertura dos olhos e verificado o percentual

de abertura dos olhos no decorrer do tempo, se contestado que o motorista está com os

olhos fechados por mais de 20% do tempo, para uma média estabelecida, é atestada a

sonolência do mesmo e um alarme é enviado ao microcontrolador. Este funcionamento é

demonstrado abaixo no fluxograma do software.

Início

Captura Imagem da Câmera

Imagem de

Entrada

Aplica Filtro Passa Baixa

Aplica Operador Sobel

Aplica Tranformada de

Hough

Contagem de Tempo

1

2

2

Recebe Dados para PERCLOS

Verifica Abertura do Olho

Acumula o percentual de

frames da abertura do olho.

Tempo acumulado é igual ou superior ao definido

Não

Zera acumulador

Envia Alarme para

Microcontrolador

Percentual de fechamento do olho é superior há 20%

do tempo

Sim

Zera acumulador do tempo

Não

1

1

1Segmenta Imagem

Figura 16 – Fluxograma do Software.

O fluxograma demonstrado acima, sendo este do software que irá realizar a

captura, o processamento de imagens e emissão de alarmes para o microcontrolador,

apresenta o funcionamento do algoritmo que deve receber a imagem da câmera, em

seguida é realizado o processamento da imagem, com aplicação do filtro Passa Baixa,

Operador Sobel, Transformada de Hough e cálculo de PERCLOS, caso PERCLOS

verifique a sonolência em médias estabelecidas, é enviado um alarme para o

Page 45: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 45

microcontrolador. No tempo estabelecido, o contador é zerado para estabelecer uma

nova média.

4.3 Especificações de Hardware Este projeto contará com uma parte de hardware necessária para a aquisição dos

dados utilizados para o monitoramento veicular. O funcionamento principal baseia-se em

um processamento das entradas envolvidas, que são analisadas de forma a prever

problemas no bom funcionamento do veículo.

4.3.1 Sensor de temperatura Foi utilizado um sensor de temperatura veicular da Bosch, modelo 0 281 002 170,

que suporta leituras de temperatura de -40ºC à 150ºC, suficientes para detectar problemas

de refrigeração do motor. Há diversas alternativas de sensores utilizados por diversos

fabricantes de motores que tem como fim a mesma funcionalidade.

O elemento do sensor de temperatura é um NTC (Negative Temperature

Coefficient), é um resistor compreendido de óxidos metais com um misto de cristais

oxidados. Esta mistura produz uma síntese de compressão adicionando agentes

catalisadores. Para aplicações automotivas, os NTCs são encapsulados por uma capa

protetora. Este sensor, se exposto a uma temperatura externa, perde sua resistência

drasticamente e com a tensão de entrada constante sua corrente sobe rapidamente. Foi

utilizado desta propriedade para a medição de temperatura da água do radiador do

veículo.

Este sensor esta interligado com o microcontrolador através das portas analógicas

do mesmo, o qual analisa a variação de tensão na saída do sensor, convertendo o valor

recebido para um sinal digital, conforme a curva de respostas do sensor (abaixo),

fornecido pelo fabricante.

Page 46: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 46

Figura 17 – Curva de Resposta do Sensor de Temperatura. [Bosch Motorsport, 2008]

O sensor de temperatura está localizado na carcaça termostática dos motores

veiculares, conforme figura abaixo. O mesmo modelo de sensor é utilizado também para

medir a temperatura do combustível que retorna para o tanque.

Figura 18 – Esquemático 3D do sensor de temperatura. [MWM International, 2008]

4.3.2 Sensor de rotação da ventoinha do radiador. Sensor responsável para verificar se o sistema de refrigeração forçada do motor

está funcionando, informando a rotação da hélice do mesmo. Foi utilizado o pino que

Page 47: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 47

regula a rotação da hélice para determinar a rotação da mesma, o qual quando estiver em

baixa rotação esta com uma resistência elevada, diminuindo a mesma à medida que a

rotação aumenta. Foi levantado a curva de resposta da ventoinha, utilizando um

Tacômetro digital modelo MDT-2245 do fabricante Minipa disponível para uso de alunos

na Universidade Positivo.

Este pino esta interligado com o microcontrolador através das portas analógicas

do mesmo, o qual analisa a variação de tensão na saída do sensor, convertendo o valor

recebido para um sinal digital, conforme a curva de respostas que é levantado.

4.3.3 Sensor MAP Este sensor é responsável pelas informações de pressão e temperatura do ar

admitido pelo motor. Foi utilizado um sensor da Bosch, modelo 0 261 230 099, que

suporta leituras de 0,1 bar a 1.15 bar, suficientes para suportar a variação de pressão da

admissão de ar de um motor não esportivo. Existem diversas alternativas de sensores

utilizados por diversos fabricantes de motores, que tem como fim a mesma finalidade.

Abaixo a figura ilustra um sensor MAP.

Figura 19 – Sensor MAP. [Bosch, 2002]

Page 48: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 48

O elemento piezoresistivo do sensor de pressão e o circuito eletrônico adequado

para amplificação de sinal e compensação de temperatura são montados em um chip de

silício. A leitura da pressão é feita na superfície do diafragma. Há um encapsulamento de

vácuo entre as laterais e a traseira da base de vidro, que é utilizado como referência.

Graças a um revestimento especial, tanto o sensor de pressão quanto ao sensor de

temperatura, não são sensíveis a gases e líquidos que estão presentes no coletor de

admissão do motor.

Figura 20 – Visão Interna do Sensor MAP. [Bosch, 2002]

A figura acima ilustra uma vista seccional do sensor, onde na célula do sensor há:

1. Uma proteção de gel

2. Diafragma

3. Chip do sensor

4. Conexão entre o sensor e o extrato de cerâmica

5. Extrato de cerâmica

6. Base de vidro

Na célula de pressão existe:

1. Pino de conexão

2. Capa de proteção

3. Chip do sensor

4. Extrato de cerâmica

Page 49: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 49

5. Encapsulamento do sensor de pressão

6. Bucha de vedação

7. Elemento NTC

Este sensor esta interligado com o microcontrolador através das portas analógicas

do mesmo, o qual analisa a variação de tensão na saída do sensor, convertendo o valor

recebido para um sinal digital, conforme a curva de respostas do sensor (abaixo),

fornecido pelo fabricante.

Figura 21 – Curvas de Resposta do Sensor MAP. [Bosch, 2002]

4.3.4 Sensor de Iluminação Veicular Foi montado um circuito que informa o microcontrolador se o sistema de

iluminação do veículo está funcionando, se existe alguma lâmpada queimada. Este

circuito analisa a corrente drenada pelas lâmpadas e informa o microcontrolador quando a

mesma não estiver consumindo energia. A figura abaixo ilustra o circuito esquemático.

Page 50: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 50

Figura 22 – Circuito de funcionamento das lâmpadas.

O circuito acima é baseado no principio de funcionamento de um galvanômetro,

onde foi colocada uma resistência pequena chamada de “shunt”, que é suficientemente

pequena para não interferir na medida desejada. Assim a tensão em R1 varia conforme as

luzes do veículo são ligadas e com esta variação pode-se concluir que existe alguma

lâmpada queimada.

4.3.5 PIC O microcontrolador utilizado é o modelo DSPIC30F4011 da microchip, que tem

portas analógicas suficientes para análise dos sensores descritos acima que são utilizados

neste projeto. Uma alternativa de microcontrolador seria o modelo PIC24H da microchip

que também oferece a mesma quantidade de portas analógicas necessárias. Este

microcontrolador recebe as informações dos sensores e do microcomputador, analisa as

mesmas e reporta estas informações ao motorista através de painel de LCD. Informações

críticas serão geradas alarmes chamando a atenção do condutor e passageiros.

4.3.6 Modelo Lógico Nesta fase são apresentadas as técnicas que foram selecionadas para o

desenvolvimento do projeto de hardware. São descritos os conceitos e apresentados

esquemáticos dos circuitos que são necessários na fase de implementação. Descrevendo o

funcionamento do sistema de aquisição das informações geradas pelos sensores e pelo

microcomputador. As informações dos sensores são enviadas de forma analógica ao

microcontrolador e as informações do processamento das imagens feitas pelo

microcomputador são enviadas ao microcontrolador utilizando um protocolo RS-232.

Page 51: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 51

Leitura do sensor de temperatura

Processamento dos dados

Leitura do Sensor MAP

Leitura do sensor de rotação da ventoinha do

radiador

Detectado alguma

anomalia

Selecionar Sensor MAP

Selecionar a opçao de

leitura

Selecionar Temperatura

do Motor

Selecionar Rotaçao da

ventoinha do radiador

Sim

Não

Inicio

Não

Sim

Não

Não

Sim

Sim

Sim

Não

Sistema de Iluminação

Ligado

Não

Detectado alguma

anomalia

Sim

Sim

Não

Imprimir a leitura de temperatura do Motor no

Painel de LCD

Imprimir a leitura de rotaçao da ventoinha do radiador no

Painel de LCD

Imprimir a leitura do sensor Mapi no Painel de LCD

Gerar alarme no Painel de LCD.

Figura 23 – Fluxograma de Hardware.

Page 52: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 52

O fluxograma acima demonstra o funcionamento do sistema que monitora os

sensores responsáveis por informar o bom funcionamento do veículo. Abaixo cada etapa

é detalhada:

Selecionar opção de leitura: o usuário do sistema pode selecionar uma opção de leitura

a qualquer momento. Enquanto o mesmo não ocorrer, o sistema considera como “não” a

opção de seleção, prosseguindo para a próxima tarefa. Se for selecionado, outra opção

aparece no display.

Selecionar Temperatura do Motor: esta opção aparece disponível somente se o usuário

selecionar a opção descrita como “Selecionar opção de leitura”. Esta opção fica

disponível até o momento em que esta seja selecionada, é gerado a impressão do valor da

leitura do sensor de temperatura.

Selecionar Rotação da Ventoinha do Radiador: esta opção aparece disponível somente

se o usuário selecionar a opção descrita como “Selecionar opção de leitura”. Esta opção

fica disponível até o momento em que esta seja selecionada, é gerado a impressão do

valor da rotação da ventoinha do radiador.

Selecionar Sensor MAP: esta opção aparece disponível somente se o usuário selecionar

a opção descrita como “Selecionar opção de leitura”. Esta opção fica disponível até o

momento em que esta seja selecionada, é gerado a impressão do valor da temperatura do

coletor da admissão e da pressão do mesmo.

Leitura do Sensor de Temperatura: esta opção aparece disponível somente se o usuário

selecionar a opção descrita como “Selecionar opção de leitura”. Esta opção fica

disponível até o momento em que esta seja selecionada, é gerado a impressão do valor da

temperatura do motor.

Leitura do Sensor de Rotação da Ventoinha do Radiador: esta função faz a leitura do

sensor de rotação da ventoinha do radiador no instante em que for executada. Esta função

é executada logo após a execução da função de leitura dos sensores. Estes dados ficam

armazenadas até a leitura do último sensor para que seja feito o processamento dos dados

para análise de possíveis problemas.

Leitura do Sensor MAP: esta função faz a leitura do sensor de pressão absoluta no

instante em que for executada. Esta função é executada logo após a execução da função

de leitura dos sensores. Estes dados ficam armazenadas até a leitura do último sensor para

que seja feito o processamento dos dados para análise de possíveis problemas.

Page 53: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 53

Processamento dos Dados: esta função faz o processamento dos dados coletados nas

leituras descritas acima, onde é feito uma classificação de cada dado coletado como

sendo normal e crítico, baseado nas necessidades existentes em cada item para o bom

funcionamento do veículo.

Sistema de Iluminação Ligado: esta função verifica se o sistema de iluminação esta

ligado. Se o sistema for detectado como ligado, verifica se as lâmpadas estão

funcionando, e classifica como sistema normal, crítico e faz a chamada para próxima

função. Caso o sistema seja detectado como desligado, o mesmo reinicia o processo de

leitura dos sensores, começando pela função leitura do sensor de temperatura.

Gerar alarme no Painel de LCD: esta função imprime na tela de LCD uma mensagem

classificada pelas funções anteriores como alarme de segurança ou crítica, informando o

que detectou como anomalia com a devida leitura do sensor. Esta mensagem fica

impressa até que o problema seja resolvido.

Page 54: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 54

5. VALIDAÇÃO E RESULTADOS

Os testes para a validação de software envolveram diversas etapas, primeiramente,

era necessário possuir uma forma de realizar a aquisição da imagem de forma confiável e

performática, diversas implementações foram testadas. A mais comum era o WIA, porém

não era compatível com a webcam utilizada. Outras tentativas foram testadas, sendo que

duas atenderam as expectativas, DirectX e a DLL avicap32. Ambas se mostraram

performáticas na captura dos frames e não geravam erros ou utilizavam muitos recursos

computacionais. A DLL foi escolhida pela sua simplicidade e alta compatibilidade, a fácil

manutenção do código da mesma foi primordial, pois o programa poderia ser

desenvolvido com ela sem grandes dificuldades quanto ao seu uso e desenvolvimento.

Com o método de captura validado, era necessária a implementação e refinamento

de um filtro-passa baixa e do operador Sobel para detecção de bordas em uma imagem.

Ambos os métodos foram desenvolvidos durante a disciplina de Computação Gráfica do

curso, porém demandou um alto trabalho para realizar o refinamento destes códigos, a

fim de que ficassem enxutos e performáticos. Notou-se uma grande necessidade de

processamento no operador Sobel, visto a convolução que o mesmo realiza para a

detecção de bordas. Após toda a otimização de código possível, observou-se que o

programa ainda não estava atendendo as expectativas de desempenho, sendo que ainda

era preciso realizar o desenvolvimento do Hough, que era sabido por também demandar

alto processamento. Foi escolhido então, por limitar e segmentar a região em que o

operador Sobel atuaria. Após esta segmentação, onde as medidas de largura e altura

tratadas eram pouco mais que metade das anteriores, um grande avanço foi notado sem

que o objetivo do projeto fosse prejudicado. O sujeito de fronte a webcam ainda poderia

se movimentar sem grandes problemas que a porção necessária da imagem para

tratamento e processamento se manteve praticamente inalterada.

Com o software implementado até a porção de pré-processamento, foi necessário

realizar a pesquisa e desenvolvimento da transformada de Hough, embora diversos

conteúdos tenham sido verificados, eles não eram suficientes para desenvolver um

algoritmo da forma que se desejava, para o Hough, foi utilizada a biblioteca de

desenvolvimento “AForge.NET”, apoiada pelo Google. Ela possuí as classes necessárias

para desenvolvimento de algoritmos utilizando-se da transformada de Hough, com tais

Page 55: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 55

classes em mãos, foi necessário realizar uma customização e otimização das mesmas para

que atendessem as necessidades do projeto.

Embora inicialmente o Hough e o Sobel se apresentassem bem lentos e

requerendo um alto processamento, através dos testes e otimizações foi possível reduzir a

demanda dos mesmos e deixar o software viável, onde este, para as especificações da

máquina, processava em geral de 3 a 5 frames por segundo.

Com todo o processamento gráfico implementado, ainda foi necessário realizar

um pós processamento, que nada mais era do que uma forma de avaliação de todos os

dados gráficos apresentados. Para este pós-processamento, testes começaram a ser feitos

e as informações avaliadas. Através da verificação de histogramas, configuração e

avaliação de limiares (thresholds), segmentação da imagem e reconhecimento dos

padrões, foi possível fazer com que o software atendesse as propostas iniciais.

Os primeiros testes realizados para validação do hardware foram feitos através de

simulações em um protótipo, onde foi elevada a temperatura da parte sensorial do sensor

de temperatura do motor e do sensor MAP, a fim de calibrar a curva de resposta do

mesmo com a do fabricante. Com isto foi simulado o que pode ser um problema de

superaquecimento de um motor veicular, gerando alarmes de temperatura. Para estes

testes foi utilizada uma resistência para provocar calor nos sensores. Não foram feitos

testes com temperaturas muito elevadas por segurança, devido ao fato de que o sensor

MAP verifica a temperatura do ar no coletor de admissão, e para isto, seria necessário

elevar muito a temperatura da resistência, para que a mesma superaquece-se as

tubulações de metal onde estava o sensor MAP.

Para testar o sensor de pressão, foi utilizada uma tubulação de metal, onde em

uma de suas extremidades havia um compressor de geladeira para sugar o ar, simulando

um coletor de admissão veicular, e a outra extremidade possuía um registro para regular o

vácuo feito. Para validar a curva de resposta do sensor fornecida pelo fabricante, foi

utilizado um vacuômetro para aferir as leituras feitas.

O sensor de rotação foi validado utilizando um tacômetro, o que nos deu uma

aproximação da curva de resposta. Não foi possível fazer uma leitura exata da rotação

devido às características do tacômetro, o qual foi acoplado manualmente na ventoinha, o

que impossibilita de se possuir uma leitura precisa devido a não haver um acoplamento

mecânico perfeito, sem variações de pressão da área de leitura do tacômetro com a

Page 56: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 56

ventoinha. Com esta aproximação das leituras foi o suficiente para validar a curva de

resposta do fabricante.

Para o sensor de lâmpada queimada foi feito leituras com as lâmpadas ligadas e

analisar o consumo de corrente pelo conjunto de duas lâmpadas. Sabendo o consumo de

corrente destas quando as mesmas estão ligadas, é possível identificar se uma delas esta

queimada quando este consumo diminui.

Com estes testes foi possível validar o funcionamento do sistema. Abaixo, seguem

as curvas de resposta que foram levantadas e validadas com base nas informações

fornecidas pelos fabricantes.

TemperaturaResistencia 1º Leitura

Resistencia 2º Leitura

Resistencia 3º Leitura

Média TemperaturaResistencia 1º Leitura

Resistencia 2º Leitura

Resistencia 3º Leitura

Média

20ºC 2511 2514 2513 2513 20ºC 2433 2430 2427 243025ºC 2103 2103 2101 2102 25ºC 2108 2106 2101 210530ºC 1701 1708 1703 1704 30ºC 1700 1702 1709 170435ºC 1503 1504 1509 1505 35ºC 1490 1499 1497 149540ºC 1104 1102 1102 1103 40ºC 1099 1097 1090 109545ºC 952 954 952 953 45ºC 957 955 954 95550ºC 853 857 855 855 50ºC 857 856 855 85655ºC 698 692 694 695 55ºC 690 699 698 69660ºC 577 587 567 577 60ºC 587 589 590 58965ºC 484 487 475 482 65ºC 488 483 487 48670ºC 432 427 435 431 70ºC 430 435 455 44075ºC 389 387 377 384 75ºC 375 378 380 37880ºC 330 325 333 329 80ºC 334 335 332 334

PressãoTesão 1º Leitura

Tensão 2º Leitura

Tensão 3º Leitura

Média RotaçaoTensão 1º

LeituraTensão 2º

LeituraTensão 3º

LeituraMédia

0,1 Bar 1,900 1,909 1,903 1,904 2380 3,67 3,66 3,6 3,64330,2 Bar 1,709 1,700 1,706 1,705 2300 3,86 3,88 3,87 3,87000,3 Bar 1,402 1,409 1,400 1,404 2430 4,03 4,09 4,08 4,06670,4 Bar 1,209 1,202 1,200 1,204 2500 4,25 4,21 4,2 4,22000,5 Bar 0,901 0,907 0,900 0,903 2430 4,32 4,36 4,27 4,31670,6 Bar 0,707 0,700 0,710 0,706 2590 4,45 4,47 4,5 4,47330,7 Bar 0,430 0,400 0,405 0,412 2765 4,65 4,7 4,77 4,70670,8 Bar 0,205 0,200 0,204 0,203 2900 4,87 4,89 4,91 4,8900

3013 4,95 4,97 4,99 4,9700

Sensor Temperatura

Sensor MAP Pressão Sensor de Rotação

Sensor MAP Temperatura

Figura 24 – Medições das Curvas de Resposta.

Page 57: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 57

6. CONCLUSÃO

Embora a solução para detecção de sonolência ainda não esteja amadurecida a

ponto de se tornar um produto comercial, foi considerado um grande avanço poder ter

desenvolvido um protótipo da mesma como trabalho de conclusão de curso.

Comercialmente, se encontra apenas um produto disponível fazendo verificação de

sonolência em motoristas em tempo real, embora de forma mais avançada, utiliza o

mesmo tipo de processamento. Protótipos, também utilizando processamento digital de

imagens, já foram exibidos em feiras automobilísticas e podem ser de grande valia para

empresas de transporte e segurança no trânsito em geral.

Notoriamente, ainda são grandes as possibilidades de amadurecimento desta

solução, a primeira e mais evidente delas é a utilização de uma câmera com

infravermelho, onde problemas relacionados à mudança de luminosidade ambiente

seriam sanados. Outra porção que pode ser implementada é relacionada à parte de visão

computacional, com fluxo óptico, reconhecimento de padrões e distância, assim o

produto pode ser instalado em qualquer veículo e diversos problemas seriam sanados, o

que se verifica é uma solução para a mudança da distância do motorista para a câmera,

raio do olho e mudanças de cenários pelo fato da solução ser instalada em diversos

veículos e estes estarem em movimento por diversos lugares.

Este produto pode ainda ser embarcado, o processamento realizado por um DSP, o

que o torna portátil e passível de ser uma solução final, comercial e viável.

Apesar do ambiente limitado, pelo fato dos testes do hardware de monitoramento

veicular terem sido feitos em um protótipo e não em um automóvel verdadeiro, onde

pode se avaliar melhor situações como ruídos provocados pelo funcionamento do veículo,

pode-se concluir que projeto atende as expectativas inicialmente estabelecidas.

A utilização do DSPIC contribui muito para que seja possível fazer um hardware

mais enxuto e de menor custo, graças a este possuir dentro do mesmo componente

conversores analógico digital, portas de entrada e saída que podem ser utilizadas como

latch de dados, portas de comunicação, memória RAM, e outras que reduzem os custos de

novos circuitos, permitindo um hardware otimizado e pequeno.

A sugestão para melhorias em continuidade ao projeto de hardware seria o

monitoramento de mais dispositivos, como nível de combustível no tanque, nível de óleo

do motor, nível de água do radiador. Para alarmes ter um display maior, onde fosse

Page 58: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 58

possível disponibilizar mais informações simultaneamente. Para o alarme de sonolência

especificamente, a possibilidade de interagir com o sistema de injeção eletrônica do

veículo, fazendo com que o mesmo desabilite a aceleração do carro e diminua a injeção

de combustível no motor para que o veículo perca velocidade.

Como um todo, este projeto sendo uma primeira versão não se destina a execução

ainda em um ambiente de produção, porém, como trabalho de conclusão de curso,

apresenta a possibilidade de grandes melhorias na área de segurança veicular, onde carros

mais seguros podem ser feitos sem grande incremento de custo para as montadoras,

apenas um incremento na informação passada ao motorista. Também se nota que

produtos podem ser lançados para deixar o motorista mais alerta, assim como informá-lo

do seu estado atual e atuar diretamente no veículo.

Por fim, a proposta inicial acabou sendo apresentada em sua plenitude, não em um

formato comercial, mas validando todo o conhecimento acadêmico nela aplicado,

mostrando-se um trabalho completo com grande implementação de hardware e software.

Foi de grande valor ter realizado um trabalho ligado diretamente ao ambiente automotivo

e poder se verificar a imensa gama de possibilidades e melhorias que o mesmo apresenta.

O primeiro passo foi dado, basta apenas o interesse em continuar nas melhorias e

diferentes possibilidades de todas as idéias deste projeto para que haja a evolução de toda

a temática abordada.

Page 59: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 59

7. REFERÊNCIAS BIBLIOGRÁFICAS

[1] Apostila de Treinamento – MWM International, São Paulo, Outubro de 2008.

Disponível em <http://www.mwm-international.com.br/files/manual/6.pdf>

[2] Temperature Sensor NTC M12-H, Bosch Motorsport, Outubro de 2008. Disponível

em <http://www.bosch-motorsport.de/pdf/sensors/temperature/NTC_M12-H.pdf>

[3] DSPIC30F4011 Datasheet - Microchip Technology, 2005. Disponível em

<http://ww1.microchip.com/downloads/en/devicedoc/70135C.pdf>

[4] PIC24H Family Overview – Microchip Technologies, 2005. Disponível em

<http://ww1.microchip.com/downloads/en/DeviceDoc/70166A.pdf>

[5] STEFFENS, CESAR A. Funcionamento e uso de sensores. Universidade Federal do

Rio Grande do Sul – Instituto de Física, Porto Alegre. Disponível em

<http://www.if.ufrgs.br/mpef/mef004/20061/Cesar/>

[6] Datasheet – Bosch Sensors, Robert Bosch GmbH, 2002.

[7] BRAGA, N.. Experiências e Brincadeiras com ELETRÔNICA - Volumes 2(1977),

3(1978), 4(1979), 6(1980),8(l981) e 12(l983). São Paulo: Editora Saber Ltda.

[8] Sensor de Pressão Absoluta no Coletor de Admissão – Injetronic Tecnologia

Automotiva, 2007. Disponível em <http://www.injetronic.com.br/>

[9] Sensores de absolutos de pressão – Saber Eletrônica, Janeiro de 2008. Disponível

em <http://www.sabereletronica.com.br/secoes/leitura/320>

[10] O Estado Gasoso. Universidade Federal de Santa Catarina - Departamento de

Química, Florianópolis. Disponível em

<http://www.qmc.ufsc.br/quimica/pages/aulas/gas_page2.html>

[11] DAWES, C. Curso de Eletrotécnica, Volume I, corrente continua, 18º Edição -

Editora globo 1979

[12] Levantamento apontando causas de acidentes nas estradas, Polícia Rodoviária

Federal / Departamento Nacional de Infra-Estrutura de Transportes, Dezembro de 2007.

Disponível em <http://www.dnit.gov.br/noticias/prfdiv/>

[13] CHEQUER, J. Seminário Sobre Segurança nas Rodovias. Departamento

nacional de Infra-Estrutura de Transportes – Instituto de Pesquisas Rodoviárias.

Disponível em <http://www.vias-seguras.com/content/download/324/1621/file/

Medidas%20a%20serem%20tomadas%20IPR%202006.ppt>

[14] BARR, L.; HOWART, H.; POPKIN, S.; CARROLL, R..; A Review And

Evaluation Of Emerging Driver Fatigue Detection Measures and Technologies.

Page 60: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 60

National Transportation Systems Center, Cambridge. U.S. Department of Transportation,

Washington. Disponível em

<http://www.ecse.rpi.edu/~qji/Fatigue/fatigue_report_dot.pdf>

[15] BOROVICKA, J. Circle Detection Using Hough Transforms – Image Processing

and Computer Vision, March 2003. Disponível em

<http://linux.fjfi.cvut.cz/~pinus/bristol/imageproc/hw1/report.pdf>

[16] FISHER, R.; PERKINS, S.; WALKER A. WOLFART E. Image Transforms –

Hough Transform, 2003. Disponível em

<http://homepages.inf.ed.ac.uk/rbf/HIPR2/hough.htm>

[17] CAMILO FERNANDES, D. Curso dsPIC – Processamento Digital de Sinais -

LabTools Mosaico Didatic Division.

[18] AMADEU SOUZA, V. Apostila de Programação em C para o dsPIC -

Fundamentos. Editora Ensino Profissional.

[19] SILVA ZANCO, W. Apostila de Microcontroladores PIC, Técnicas de Software

e Hardware para projetos de Circuitos Eletrônicos. Editora Érica.

[20] PEREIRA, F. Apostila de Microcontroladores, PIC Programação em C. Editora

Érica.

[21] GUIL N.; ZAPATA E. Lower order circle and ellipse Hough transform - Pattern

Recognition, Volume 30, Issue 10, October 1997, Pages 1729-1744.

[22] YING-DONG, Q; CHENG-SONG, C.; SAN-BEN C.; JIN-QUAN L. A fast

subpixel edge detection method using Sobel–Zernike moments operator - Image and

Vision Computing, Volume 23, Issue 1, January 2005, Pages 11-17

[23] CASTLEMAN K. Digital Image Processing. Prentice Hall, 1996.

[24] RHODY, H. Hough Circle Transform. Chester F. Carlson Center for Imaging

Science. Rochester Institute of Technology, October 2005. Disponível em

<http://www.cis.rit.edu/class/simg782/lectures/lecture_10/lec782_05_10.pdf>

[25] PERCLOS: A Valid Psychophysiological Measure of Alertness As Assessed by

Psychomotor Vigilance, FEDERAL HIGHWAY ADMINISTRATION • OFFICE OF

MOTOR CARRIERS, Washington, 1998. Disponível em <

http://www.fmcsa.dot.gov/documents/tb98-006.pdf>

Page 61: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 61

ANEXO A – ARTIGO CIENTÍFICO

Sistema de Monitoramento Veicular e Sonolência do Motorista

Anderson Macionki e Wagner Kessler Stumpf

Universidade Positivo – NCET Núcleo de Ciências Exatas e Tecnológicas - Engenharia da Computação. Rua Prof. Pedro Viriato Parigot de Souza, 5300 – Campo Comprido – Curitiba, PR – CEP 83607-310.

Maristela Regina Weinfurter

Professora – Curso de Engenharia da Computação – Universidade Positivo – Fone: (41) – 3317-3271 –

[email protected]

O projeto apresenta uma solução que visa aumentar a segurança dos condutores, atuando de forma preventiva. De acordo com estudos fornecidos pelo DNIT (Departamento Nacional de Infra-Estrutura de Transportes), o fator humano é atuante em 96% dos casos de acidentes, o fator veicular também está presente em 10% destes casos. Nas estradas brasileiras, no ano de 2007, até o mês de Novembro foram registrados 4.259 acidentes em que o motorista estava dormindo e 38.499 por falta de atenção. Os condutores não são capazes de julgar se estão com sonolência ou no devido estado de alerta, por isso, a criação de uma solução que possa avaliar o seu estado. Já existem soluções que realizam o monitoramento de sonolência em motoristas, porém estas são novas e de pouca distribuição no mercado. Pode-se verificar que na maioria dos carros é realizada uma verificação de status do veículo através de sensores, porém raramente as informações são exibidas de maneira clara o suficiente para o entendimento. Teoria do Projeto O sistema de monitoramento veicular e sonolência do motorista utilizam uma câmera interligada a um microcomputador, posicionada frontalmente ao condutor para captar imagens de sua face e através do processamento digital destas imagens, é possível detectar seus olhos, verificar a abertura do olho e o tempo em que o olho está aberto ou fechado. Para realizar este processamento, a imagem é capturada utilizando o avicap32.dll, que possui funções de conexão e obtenção de dispositivos de vídeos instalados no sistema operacional Windows, a imagem é transformada para níveis de cinza, é aplicado um filtro passa baixa, operador Sobel e transformada de Hough que serão explicados adiante. Caso seja verificada sonolência, alarmes serão acionados para procurar trazer o condutor a um estado de alerta novamente. Para isto o microcomputador é interligado ao microcontrolador dspic30f4011, este por sua vez, é responsável por realizar alarmes de qualquer anomalia do veículo, falta de atenção ou sonolência do condutor, além de exibir informações coletadas sobre o estado do veículo em um display LCD realizadas através da verificação de sensores veiculares básicos, como ventoinha do radiador, MAP (sensor

de pressão absoluta no coletor de admissão), sensor temperatura d’água do radiador e subsistema de iluminação.

O operador Sobel é usado no processamento digital de imagens para detecção de bordas. Sendo um operador de diferenciação discreta, este calcula em cada ponto uma aproximação do gradiente da função de intensidade da imagem, fornece a direção da maior variação de claro para escuro e faz a quantização da variação nesta direção. Figura 1: Aplicação do operador Sobel a uma imagem de um motor a vapor. O filtro passa baixa, utilizado para remoção de ruídos e imperfeições na imagem, procura suavizar grandes variações na intensidade dos pixels, aplicado neste caso somente a níveis de cinza, para que com esta suavização seja possível executar a detecção de borda com uma maior eficiência. A transformada de Hough é utilizada para extrair propriedades geométricas das imagens. A transformada clássica tinha como objetivo a detecção de linhas, porém, esta foi ampliada e generalizada para identificar posições e dimensões de outras formas, círculos e elipses sendo as mais comuns.

Figura 2: Imagem após a aplicação de Hough para detecção dos círculos com múltiplos raios.

Page 62: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 62

Com os métodos que comentamos aplicados, é possível detectar os olhos do condutor e identificar se os mesmos estão ou não fechados. Com estas informações utilizamos Perclos (Percent of the time eyelids are Closed), que é um algoritmo abordando o percentual de tempo de fechamento da pálpebra sobre a pupila no decorrer do tempo. Assim reduzimos a possibilidade de falsos alertas, gerados através de imagens que ao serem capturadas, o condutor esta com os olhos fechados devido a um simples piscar. Abaixo, as figuras demonstram o processo completo, e o resultado que obtemos com o processamento.

Figura 3: Aquisição da imagem para o processamento.

Figura 4: Pré-processamento da imagem, onde a mesma é transformada para níveis de cinza e aplicado o operador Sobel.

Figura 5: Aplicado a transformada de Hough na imagem que já passou pelo pré-processamento.

Figura 6: Calculado Perclos após o obter o resultado das transformadas de Hough. Para a verificação de anomalias no veículo utilizamos sensores, que são dispositivos eletroeletrônicos com a propriedade de transformar uma grandeza física que está relacionada a uma ou mais propriedades do material de que é feito o sensor em sinal elétrico. Utilizamos estes sinais elétricos para definir se existem problemas. O sensor de Temperatura da água do radiador é Termistor (dispositivos elétricos que têm a sua resistência elétrica alterada termicamente, isto é, apresentam um valor de resistência elétrica para cada temperatura absoluta) do tipo NTC (Negative Temperature Coefficient, que diminui a sua resistência elétrica com o aumento da temperatura).

Page 63: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 63

Figura 7: Exemplo de sensor de temperatura veicular comercial. O sensor MAP, tem o mesmo principio de funcionamento, porém este verifica a temperatura do ar e não da água. O MAP além de verificar a temperatura do ar que entra no coletor de admissão do veículo, verifica a pressão que o ar faz no coletor. Este sensor de pressão, conforme figura 8, utiliza o vácuo como referencia de pressão, variando a tensão de saída no sensor. Figura 8: Sensor de pressão visto em corte. O sensor de rotação da ventoinha do radiador é responsável para verificar se o sistema de refrigeração forçada do motor está funcionando, informando a rotação da hélice do mesmo. Utilizamos o pino que regula a rotação da hélice para determinar a rotação da mesma, o qual quando esta em baixa rotação, tem uma resistência elevada, diminuindo a mesma à medida que a rotação aumenta. Para detectarmos se o sistema de iluminação do veiculo esta funcionando, monitoramos o consumo de corrente drenado pelas lâmpadas do veiculo quando ligadas. Esta referência de quanto às lâmpadas estão consumindo, é baseado no principio de funcionamento de um galvanômetro, que consiste em utilizar uma resistência pequena o suficiente, para não interferir na medição, chamada de shunt. A tensão nesta resistência varia conforme as lâmpadas são ligadas devido ao consumo de corrente e com esta variação podemos saber se existe ou não uma lâmpada queimada. Estes sensores são interligados com o microcontrolador que recebe as variações de tensão, processando estas informações para avaliar se existem problemas.

Figura 9: Exemplo de sensor MAP comercial. Figura 10: Hardware do circuito de monitoramento veicular.

Page 64: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 64

ANEXO B – MANUAL DO USUÁRIO

Sistema de Monitoramento Veicular e Sonolência em Motorista

Manual do usuário Português

Universidade Positivo – UP Núcleo de Ciências Exatas e Tecnológicas

Curso de Engenharia da Computação

ANDERSON MACIONKI

WAGNER KESSLER STUMPF

Page 65: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 65

Introdução O sistema de monitoramento veicular e sonolência do motorista foi projetado para evitar acidentes provocados por falta de atenção do condutor com o trânsito e com os sistemas básicos de funcionamento do veículo além alertar o condutor em caso o mesmo venha a dormir ao volante. O sistema monitora os olhos do motorista através de uma câmera, gerando alarmes caso os olhos do mesmo não sejam detectados ou verifique-se que o mesmo esteja com os olhos fechados, verifica também os sistemas de refrigeração do motor, pressão e temperatura do ar que entra no coletor de admissão além de verificar o sistema de iluminação, utilizando sensores já presentes no veículo. INSTALAÇÃO Antes de proceder com a instalação é importante ressaltar que o microcontrolador e os dispositivos eletrônicos que fazem parte do seu módulo devem operar em temperatura entre -40ºC e 80ºC, as condições de temperatura são mais restritivas quanto ao microcomputador, possuindo uma faixa de operação menor do que ao módulo do microcontrolador, para este, deve ser sempre respeitada a temperatura ambiente. A umidade para o microcomputador e microcontrolador, assim como seus componentes, não deve ultrapassar a umidade relativa do ar no momento de funcionamento. ALIMENTAÇAO DE ENERGIA A alimentação do sistema de monitoramento do veículo é feito através de uma fonte de 12 V, com potência mínima de 12 Watts. Esta fonte de alimentação não deve ser utilizada para alimentar lâmpadas e outros periféricos do veículo. A alimentação do microcomputador é feito através de uma fonte de corrente alternada de 50Hz a 60Hz, com a tensão em um nível entre 100V e 240V e potência mínima de 300 Watts.

Page 66: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 66

CONEXÕES DO EQUIPAMENTO Visualização do painel de conexões.

1. Conecte os plugues de alimentação de ambos os módulos. (apenas o módulo

microcontrolador é ilustrado na figura acima) 2. Conecte o plugue da interface Serial que faz a comunicação entre o

microcontrolador e o microcomputador. 3. Conecte o plugue do sensor de temperatura. 4. Conecte o plugue do sensor MAP. 5. Conecte o plugue do sensor de Iluminação. 6. Conecte o plugue do sensor de Rotação. 7. Conecte o plugue do buzzer de alarme. 8. Se desejar re-gravar ou depurar o firmware do microcontrolador, utilize este

plugue para ter acesso aos pinos PGC e PGD. Quando estes forem utilizados, o pino 10 do dip-switch representado pelo número 9, deve estar desligado. Leia item 9 Pino 10.

9. Dip-switch: Pino 2 = liga/desliga sensor de lâmpada queimada traseira. Pino 3 = liga/desliga sensor de lâmpada traseira ligada ou desliga. Pino 4 = liga/desliga sensor de lâmpada queimada dianteira.

Page 67: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 67

Pino 5 = liga/desliga sensor de lâmpada dianteira ligada ou desliga. Pino 6 = liga/desliga sensor de rotação da ventoinha do radiador. Pino 7 = liga/desliga sensor de temperatura do motor. Pino 8 = liga/desliga sensor de temperatura do ar do coletor de admissão. Pino 9 = liga/desliga sensor de pressão do coletor de admissão. Pino 10 = liga/desliga modo de inicialização automática do microntrolador quando o mesmo não é iniciado pelo microcomputador que está re-gravando ou depurando. ESTE PINO DEVE FICAR DESLIGADO QUANDO O MICROCOMPUTADOR ESTIVER CONECTADO NO PINO 8, CASO CONTRÁRIO, O EQUIPAMENTO SOFRE-RÁ DANOS ELÉTRICOS. 10. Dip-switch utilizando para selecionar protocolo de comunicação CAN ou UART

da porta serial.

PINO 1 PINO 2 PINO 3 PINO 4 UART DESLIGADO DESLIGADO LIGADO LIGADO CAN LIGADO LIGADO DESLIGADO DESLIGADO

A opção de protocolo utilizado por padrão é a UART, sendo necessário deixar esta opção selecionada para que exista comunicação entre o sistema de monitoramento veicular e o sistema de monitoramento do motorista.

11. Regulagem do contraste do display de LCD. 12. Botão 1 = Seleciona a leitura do sensor de pressão do coletor de Admissão após

o botão 6 ser pressionado e imprime a leitura no display de LCD. Este botão também tem a função de desativar o alarme sonoro até a próxima verificação quando o mesmo for acionado.

13. Botão 2 = Seleciona a leitura do sensor de temperatura do ar do coletor de Admissão após o botão 6 ser pressionado e imprime a leitura no display de LCD.

14. Botão 3 = Seleciona a leitura do sensor de temperatura do motor após o botão 6 ser pressionado e imprime a leitura no display de LCD.

15. Botão 4 = Seleciona a leitura do sensor de rotação da ventoinha do radiador após o botão 6 ser pressionado e imprime a leitura no display de LCD.

16. Botão 5 = Seleciona a leitura do sensor de iluminação após o botão 6 ser pressionado e imprime a leitura no display de LCD.

17. Botão 6 = Quando pressionado, permite que seja selecionado através dos botões 1 à 5 as opções de leituras desejadas. Para que o sistema retorne a funcionar automaticamente, o Pino 10 do Dip-switch 9 deve ser desligado e ligado novamente.

Page 68: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 68

OPERANDO O SOFTWARE Nota: Antes de abrir o software, deve-se ter uma webcam instalada e funcionando em seu computador, deixe a desativada, pois o software realiza a ativação da mesma. 1 – Ao abrir a pasta do software, rode o arquivo “DrowsinessDetection.exe”, a seguinte

interface irá se abrir.

2 – Clique no botão Start para iniciar a captura. Um pop-up aparecerá para que selecione a webcam.

Page 69: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 69

3 – Selecione o dispositivo e clique em OK. A imagem da webcam irá surgir na tela, regule sua posição e o foco. Procure deixar a face centralizada e uma distância a que se possa ter boa movimentação da cabeça e do corpo sem que a face saia de foco.

4 – Altere a visualização de “Original” para “Pre-Processed”, selecionando a opção na

caixa ao lado do texto “Visualize”. 5 – A imagem ficará em preto e branco e a porção central é composta pelos traços do rosto. Clique no botão “Setup” para realizar a calibração desta imagem.

Page 70: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 70

6 – O software já vem com uma pré-configuração (default), porém a calibração deve envolver alguns aspectos e ser realizada em três etapas para que o software funcione corretamente. - Primeiramente, deve-se configurar a intensidade do filtro passa-baixa e o limiar para o Sobel. Estes são configurados pelo campo “Low Pass” e “Sobel” respectivamente. Após

a inserção dos números nas caixas de texto, deve-se clicar em “apply” para que as

mudanças tenham efeito. Quanto mais próximo de zero o número do filtro passa-baixa, mais ruídos ele irá atenuar. Após a aplicação do mesmo, ruídos na imagem gerados por fatores como barba ou pequenas imperfeições, devem sumir.

Diferentemente opera o Sobel, pois quanto menor seu número, mais traços faciais ele irá expor. O objetivo é ter os principais contornos faciais bem marcados, assim como a borda da Iris para o resto do olho. Deve-se evitar grandes ruídos, pois estes não devem atrapalhar na análise. Após a configuração dos dois, espera-se obter um resultado similar ao mostrado abaixo.

Aplicação do filtro passa-baixa e operador Sobel na imagem original.

7 – Continuando a calibração, mantenha a janela de configuração aberta e altere a visualização de “Pre-Processed” para “Hough”, selecionando a opção na caixa ao lado do texto “Visualize”.

Page 71: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 71

8 - Na janela de Setup, é possível selecionar a opção “All” para o Houghmap, assim se

poderá ver todo o resultado do mapa criado pela transformada de Hough. O resultado deverá ser similar a impressão azul mostrada abaixo. Note que todas as características faciais impressas pelo Sobel são visíveis no mapa de Hough, logo, é possível verificar onde estão os centros dos olhos.

9 – O algoritmo fará a detecção automática das laterais do rosto e sobrancelhas, a partir daí, deve-se partir para a segunda etapa de calibração. Configurando o tamanho das caixas que farão a busca pelo centro dos olhos, assim como suas distâncias da sobrancelha e laterais. Estes campos são configurados da seguinte forma: Eyebox Width: Largura das Caixas Eyebox Height: Altura das Caixas Eyebrows Dist: Distância das caixas para as sobrancelhas Leftside Dist: Distância da caixa esquerda para a lateral esquerda do rosto Rightside Dist: Distância da caixa direita para a lateral direita do rosto Estas configurações variam de pessoa para pessoa pelo tamanho facial de cada indivíduo. 10 – Agora, deve-se partir para a etapa final de configuração. O Houghmap, antes setado para “All” deve ser especificado para “Above Threshold”, assim apenas o que está acima do limiar da transformada de Hough é exibido na tela. Restam apenas, dois campos obrigatórios a serem configurados, o campo chamado “Hough” e o campo “Eye Radius”, referente ao raio do olho a ser buscado.

Page 72: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 72

11 – Estes dois campos são calibrados simultaneamente, o limiar para o “Hough” deve

funcionar da seguinte forma, dentro das caixas que realizam a busca pelo olho, devem conter apenas o grupo de pixels referente ao centro do mesmo, quando este se encontra aberto e sem outros ruídos. Porém, para que isto ocorra, o campo “Eye Radius” tem de

estar configurado corretamente, pois este é referente ao tamanho do raio dos olhos (em pixels).

Olhos abertos encontrados.

12 – Ao término da calibração, quando os olhos estiverem abertos, mesmo que parcialmente, o software deverá ser capaz de achá-los. Porém quando o condutor os fechar, o software não poderá imprimir os marcadores vermelhos referentes ao centro dos olhos. Demais ruídos não deverão estar presentes nas caixas dos olhos e o condutor poderá fazer movimentos moderados. 13 – A partir deste momento, fatores de personalização de expectativas podem ser escolhidos, o “Houghmap” poderá ser exibido como preferido pela pessoa que esteja

utilizando o software. A mesma poderá configurar também as seguintes opções: Eye Alarm (s): Tempo do alarme, em segundos, caso nenhum dos olhos sejam encontrados como “abertos” na tela. Attenttion (s): Tempo do alarme, em segundos, caso o percentual de quadros com os olhos abertos seja baixo. Mode: Em “Test” os alarmes são apenas impressos na tela do computador, porém não são enviados pela Serial para o módulo microcontrolador, em “Production”, além de

impressos os alarmes são também enviados.

Page 73: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 73

14 – O software completo e funcional deverá estar se apresentando de forma similar a mostrada abaixo.

15 – Qualquer configuração pode ser salva, basta clicar em “Save” na tela de

configuração e escolher um nome para o arquivo a ser salvo com as configurações atuais. Para abrir e carregar tal configuração, basta clicar em “Open”, selecionando o

arquivo de configuração a ser aberto. Caso deseje retornar as configurações de fábrica, clique em “Default”. Nota: Para que funcione em modo “Production”, com o correto envio de alarmes, os

dois módulos devem estar funcionando corretamente e conectados pela porta Serial.

Page 74: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 74

ANEXO C – DIAGRAMA ELÉTRICO

Page 75: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 75

ANEXO D – LAYOUT DA PLACA DE CIRCUITO DE IMPRESSO

Page 76: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 76

ANEXO E – CRONOGRAMA DO PROJETO

Page 77: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 77

Page 78: Sistema de Monitoramento Veicular e Sonolência em Motoristas · Figura 14 – Diagrama de Classes do Software 42 Figura 15 – Fluxo de Dados do Software em Produção 43 Figura

Página 78

ANEXO F – CUSTOS DO PROJETO Descrição Valor por Hora

Total de Horas Trabalhadas

Valor Total

Direta 30,00R$ 1300 39.000,00R$ Do Professor Orientador 63,50R$ 160 10.160,00R$ Do Coordenador do Curso 109,00R$ 80 8.720,00R$

57.880,00R$

DescriçãoValor do

Software no Mercado

Depreciação em meses

Horas Mês Valor por HoraTotal de Horas Trabalhadas

Valor Total

Windows Vista 1.738,00R$ 9 220 0,88R$ 400 351,11R$ Office 2007 Professional Edition 1.342,00R$ 9 220 0,68R$ 60 40,67R$ Microsoft Visual Studio Pro 2008 3.136,74R$ 9 220 1,58R$ 300 475,26R$ Microsoft Project Standart 2007 1.340,00R$ 9 220 0,68R$ 20 13,54R$ Orcad 10.5 (Capture) 8.570,17R$ 9 220 4,33R$ 10 43,28R$ Orcad 10.5 (Layout) 4.536,25R$ 9 220 2,29R$ 10 22,91R$

946,77R$

DescriçãoValor do

Equipamento no Mercado

Depreciação em meses

Horas Mês Valor por HoraTotal de Horas Trabalhadas

Valor Total

Notebook R$ 5.000,00 2 1 2.500,00R$ 1 2.500,00R$ Fonte de alimentação simétrica 1.380,00R$ 9 220 0,70R$ 40 27,88R$ Osciloscópio 5.420,00R$ 9 220 2,74R$ 40 109,49R$ Multimetro Digital 80,00R$ 9 220 0,04R$ 15 0,61R$ Protoboards 110,00R$ 9 220 0,06R$ 80 4,44R$ Microcontrolador PIC 40,00R$ 1 1 40,00R$ 1 40,00R$ Prototipagem das Placas 600,00R$ 1 1 600,00R$ 1 600,00R$ Componentes Diversos 500,00R$ 1 1 500,00R$ 1 500,00R$ Sensor MAP 270,00R$ 1 1 270,00R$ 1 270,00R$ Sensor de Temperatura 65,00R$ 1 1 65,00R$ 1 65,00R$ Cooler de 12 cm 30,00R$ 1 1 30,00R$ 1 30,00R$ Lâmpadas 20,00R$ 1 1 20,00R$ 1 20,00R$ WebCam 300,00R$ 1 1 300,00R$ 1 300,00R$ Mobiliário 416,50R$ 9 220 0,21R$ 160 33,66R$ Laboratório 280,00R$ 9 220 0,14R$ 160 22,63R$ Gravador 300,00R$ 9 220 0,15R$ 10 1,52R$ Frete 80,00R$ 9 1 8,89R$ 3 26,67R$ Água 50,00R$ 9 220 0,03R$ 20 0,51R$ Luz 200,00R$ 9 220 0,10R$ 1300 131,31R$ Telefone 400,00R$ 9 1 44,44R$ 10 444,44R$ Internet 120,00R$ 9 9 1,48R$ 100 148,15R$ Deslocamento 32,00R$ 1 1 32,00R$ 81 2.592,00R$

7.868,30R$

Valor Mensal Quantidade de Valor Total30,00R$ 9 270,00R$

270,00R$

Descrição Sub-totalPercentual de

ImpostosValor Total

Com ImpostoValor Total do

ImpostoGeral 67.765,07R$ 35,70% 105.388,91R$ 37.623,84R$

Impostos

Valor total gasto com equipamentos e Insumos

Gastos com Documentação e Gastos Extras

Mão-de-obra

Valor total gasto com Documentação e Gastos Extras

Valor total gasto com Softwares

Gastos com Softwares

Valor total da Mão-de-obra gasta com o projeto

Gastos com Equipamentos e

Insumos