Escolar Documentos
Profissional Documentos
Cultura Documentos
ANDERSON MACIONKI
WAGNER KESSLER STUMPF
UNIVERSIDADE POSITIVO
Reitor: Prof. Oriovisto Guimares
Vice-Reitor: Prof. Jos Pio Martins
Pr-Reitor de Graduao: Prof. Renato Casagrande
Diretor do Ncleo de Cincias Exatas e Tecnolgicas: Prof. Marcos Jos Tozzi
Coordenador do Curso de Engenharia da Computao: Prof. Edson Pedro Ferlin
Agradecimentos
A Deus, por ter nos dado o direito de viver e uma famlia que sempre nos apoiou nos
momentos difceis.
Aos nossos pais, por nos ter dado a vida e que com muito carinho e apoio, no
mediram esforos para que chegssemos e conclussemos mais esta importante e grande
etapa de nossa vida.
A nossas mulheres, esposa e companheira, pela grande pacincia, enorme carinho,
palavras de incentivo e compreenso em saber que muitas vezes sacrifcios haviam de
ser feitos para que pudssemos concluir esta etapa, sempre ao nosso lado.
Ao professor Maurcio Perretto, por toda sua dedicao e auxlio durante a
realizao deste projeto.
A nossa professora orientadora Maristela Regina Weinfurter Teixeira, pela
inspirao no amadurecimento desta monografia.
Ao professor Alessandro Zimmer, pela sugesto da proposta deste projeto.
A todos os professores do curso de Engenharia da Computao, que foram to
importantes na vida acadmica, nos transmitindo conhecimentos que tornaram a
execuo deste trabalho possvel.
Aos amigos, pelo incentivo e apoio constantes.
A todas as pessoas que no foram aqui mencionadas, no por serem de menor
importncia, mas apenas por culpa de nossa falta de memria, que tiveram participao
direta ou indireta na nossa formao.
SUMRIO
LISTA DE ABREVIATURAS E SIGLAS ................................................................. 6
LISTA DE FIGURAS ................................................................................................. 7
RESUMO ..................................................................................................................... 8
ABSTRACT ................................................................................................................. 9
1. INTRODUO ..................................................................................................... 10
2. FUNDAMENTAO TERICA ........................................................................ 12
2.1 Software ............................................................................................................... 12
2.1.1 Introduo .......................................................................................................... 12
2.1.2 Processamento de Imagens ................................................................................. 12
2.1.3 Filtro de Mdia (Passa Baixa) ............................................................................. 13
2.1.4 SOBEL ............................................................................................................... 15
2.1.6 HOUGH ............................................................................................................. 17
2.1.8 PERCLOS na Natureza da Sonolncia e sua Verificao .................................... 19
2.2 Hardware ............................................................................................................. 21
2.2.1 Sensores ............................................................................................................. 21
2.2.2 Termistores......................................................................................................... 21
2.2.3 Sensores de Presso ............................................................................................ 21
2.2.4 Microcontrolador ................................................................................................ 25
3. ESPECIFICAO ................................................................................................ 27
3.1 Anlise de Contexto ............................................................................................. 27
3.1.1 Descrio do objeto do desenvolvimento ............................................................ 27
3.1.2 Definio do sistema .......................................................................................... 27
3.1.3 Descrio das partes componentes e relacionamento ........................................... 28
3.1.4 Descrio da interface entre sistemas .................................................................. 28
3.1.5 Descrio de condies restritivas ...................................................................... 29
3.1.6 Descrio dos benefcios esperados .................................................................... 31
3.1.7 Descrio dos impactos esperados ...................................................................... 32
3.2. Anlise Funcional ............................................................................................... 32
3.2.1 Funes de comunicao .................................................................................... 32
3.2.2 Funes de processamento de informao........................................................... 33
3.2.3 Funes de controle automtico .......................................................................... 34
3.2.4 Funes de interface homem/mquina ................................................................ 34
3.2.5 Funes de aquisio de dados ........................................................................... 34
3.2.6 Funes de atuao ............................................................................................. 34
3.3 Anlise de Requisitos ........................................................................................... 34
3.4 Anlise de Alternativas........................................................................................ 36
4. IMPLEMENTAO ............................................................................................ 38
4.1 Descrio .............................................................................................................. 38
4.2 Descrio 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 Lgico ................................................................................................... 43
4.3 Especificaes de Hardware................................................................................ 45
4.3.1 Sensor de temperatura......................................................................................... 45
4.3.2 Sensor de rotao da ventoinha do radiador. ....................................................... 46
4.3.3 Sensor MAP ....................................................................................................... 47
4.3.4 Sensor de Iluminao Veicular ........................................................................... 49
DNIT
LCD
MAP
AIPIRC/PIARC
PIB
PERCLOS
PDI
RGB
MP
Megapixel
PTC
NTC
PIC
TTL
Transistor-Transistor Logic
CMOS
Complementary metal-oxide-semiconductor
CPU
PROM
RAM
I/O
Input/Output
UML
LISTA DE FIGURAS
Figura 1 Aplicao do operador Sobel a uma imagem de um cilindro
Figura 2 Clculo dos segmentos de reta perpendiculares a borda
Figura 3 Aplicao de Hough para deteco dos crculos com mltiplos raios
Figura 4 Monitoramento da quantidade de Lapsos de PVT nos horrios do dia
Figura 5 Diagrama de um sistema para obteno de vcuo
Figura 6 Sistema para medir presso relativa
Figura 7 Detalhes de um sensor de presso
Figura 8 Circuito amplificador para sensores com recurso de calibrao
Figura 9 Grfico para auxiliar a determinar erro de offset
Figura 10 Mdulo de monitoramento veicular
Figura 11 Representao Grfica do Projeto
Figura 12 Diagrama de Arquitetura do Projeto
Figura 13 Interface do software
Figura 14 Diagrama de Classes do Software
Figura 15 Fluxo de Dados do Software em Produo
Figura 16 Fluxograma do Software
Figura 17 Curva de Resposta do Sensor de Temperatura
Figura 18 Esquemtico 3D do sensor de temperatura
Figura 19 Sensor MAP
Figura 20 Viso Interna do Sensor MAP
Figura 21 Curvas de Resposta do Sensor MAP
Figura 22 Circuito de funcionamento das lmpadas
Figura 23 Fluxograma de Hardware
Figura 24 Medies das Curvas de Resposta
15
18
19
20
22
23
23
24
25
26
38
39
41
42
43
44
46
46
47
48
49
50
51
56
RESUMO
Este projeto descreve a criao de uma soluo que possibilita o aumento da
segurana de condutores de veculos, atuando na preveno de acidentes rodovirios.
De acordo com estudos fornecidos pelo DNIT (Departamento Nacional de InfraEstrutura de Transportes), o fator humano corresponde a 96% dos casos de acidentes e o
fator de falhas veiculares corresponde tambm a 10% destes casos. At o ms de
novembro de 2007, foram registrados 4.259 acidentes em que o motorista dormiu,
enquanto 38.499 por falta de ateno. As pessoas no so capazes de julgar se esto
com sonolncia ou distrados, por isso, a idia central encontra-se na criao de uma
soluo que possa sanar insuficincias verificadas no ambiente automotivo. J existem
solues que realizam o monitoramento de sonolncia em motoristas, porm estes so
novos, expansivos e de pouca distribuio no mercado. Na maioria dos carros utiliza-se
um monitoramento dos sensores abordados pelo sistema, porm raramente a informao
exibida de maneira clara para o entendimento humano leigo.
O sistema proposto ento utiliza uma cmera interligada a um
microcomputador, posicionada frontalmente ao motorista para captar imagens de sua
face, que atravs do processamento digital, detecta seus olhos, verificando o percentual
de abertura em que os olhos esto abertos no decorrer do tempo. Caso o dispositivo
detecte sonolncia ou distraes, alarmes so acionados procurando trazer o motorista a
um estado de alerta novamente. Para isto o microcomputador ligado a um
microcontrolador, o qual responsvel por realizar alarmes de qualquer anomalia
ocorrida, bem como por exibir informaes sobre o estado de alerta do motorista em um
display LCD. O display exibe a avaliao dos sensores veiculares bsicos, tais como
ventoinha do radiador, MAP (sensor de presso absoluta no coletor de admisso),
temperatura dgua do radiador e subsistema de iluminao.
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 drivers 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 drivers 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
drivers awareness condition in a LCD display. The display shows the evaluation of
basic vehicular sensors, as radiators fan, MAP (manifold absolute pressure sensor),
radiators water temperature and lighting subsystem.
Keywords:
vehicular
safety,
vehicular
sensors,
drowsiness
detection.
1. INTRODUO
Segurana no trnsito uma preocupao a nvel mundial, porm de acordo com
informaes da AIPCR/ PIARC/ Associao Mundial de Estradas (2002), 80% das
mortes nas rodovias mundiais so em pases da frica, sia, Amrica Latina e Oriente
Mdio, dos quais 40% concentram-se apenas na sia Pacfico. As conseqncias anuais
so de 1 milho de mortos, 50 milhes de feridos em 15 milhes de acidentes anuais com
vtimas. tambm a terceira causa de mortes prematuras e corresponde a 10% do total de
mortes em pases de terceiro mundo, ocupando 25% dos leitos disponveis de todos os
hospitais.
O nmero estimado de acidentes no Brasil em 2004 foi de 94.166, gerando um
custo de mais de 4 bilhes de reais. O custo global gasto com acidentes de trnsito
estimado em 70 bilhes de dlares, mais do que todas as fontes bilaterais e multilaterais
de ajuda para regies emergentes, alm de corresponder a 1,5% do PIB para pases
emergentes.
Os anos de 1979 a 2005, a frota nacional aumentou de 10 milhes de veculos
para 42 milhes. Aps os anos 80, os pases emergentes no foram capazes de ampliar
nem to pouco manter suas malhas rodovirias. Diante deste cenrio degradante, o
nmero de mortes em acidentes aumentou entre 1980 e 1995 em mdia: 40% na Amrica
Latina, 70% na sia, 25% na frica e 20% no Oriente Mdio. Em 90% dos casos, os
vitimados so condutores ou passageiros, sendo que os profissionais de servios de
transporte correspondem a 41% do total. (DNIT, 2005)
A engenharia de um modo geral tem contribudo no aumento da segurana no
trnsito ao criar sistemas que amenizam acidentes e as injrias geradas pelos mesmos.
Estudos e pesquisas so aspectos importantes no trabalho de segurana, podendo ser
incorporados ao ambiente automotivo.
Como os indivduos so incapazes de julgar suas condies de sonolncia, visto
que grande parte dos acidentes de trnsito causada por cochilo ou falta de ateno, o
projeto prope o desenvolvimento de uma soluo que seja capaz de proporcionar o
aumento da segurana dos veculos e seus condutores, ao detectar a sonolncia no
motorista e atuar de forma preventiva.
Seguindo as novas tendncias de critrios de usabilidade e acessibilidade, o
projeto trouxe para um formato mais simplificado a verificao de sensores essenciais
Pgina 10
Pgina 11
2. FUNDAMENTAO TERICA
2.1 Software
2.1.1 Introduo
A fadiga de motoristas gera um risco significante no que se refere ao transporte
rodovirio, podendo ser causada por diversos fatores como falta de sono ou percurso
noturno. Na ltima dcada, sonolncia e fadiga de motoristas foram temas de intenso
interesse e atividade pelo Departamento de Transportes Americano. Entre vrios mtodos
de deteco de sonolncia verificados, PERCLOS se tornou o mais eficaz e confivel para
determinar
nvel
de
alerta
de
um
motorista.
[FEDERAL
HIGHWAY
ADMINISTRATION, 1998]
Para se aplicar tal algoritmo, necessrio um processamento prvio da imagem,
que posteriormente representada digitalmente, podendo por tanto ser processada
digitalmente.
Nesta etapa procedem-se aquisio, pr-processamento e segmentao da
imagem adquirida pela cmera. Aplica-se ento um filtro de mdia (passa-baixa) para
remoo de rudos, outro filtro com utilizao de gradiente para deteco de bordas
(Sobel) e finalmente a transformada de Hough para deteco de crculos. Cada nova
imagem de entrada passa por este pr-processamento para deteco dos crculos da ris,
possibilitando assim a verificao do percentual de abertura do olho atravs de
PERCLOS.
Pgina 12
Pgina 13
ou
Onde Y o novo valor de intensidade para o pixel n, o somatrio compreende
os valores de intensidade x dos pixels envolvidos pela regio de n-k at n+k. Para
retirar a mdia este novo e alto valor dividido pelo nmero 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 clculo feito pixel a pixel, em todos os pixels da imagem, a janela
comumente aborda o pixel em questo e os oito pixels ao seu redor, este clculo discreto
no 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 nvel de
suavizao que se desejar para cada imagem ou regio. Aps o clculo do primeiro pixel,
a janela corre para o prximo 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 numricos de intensidade, por isso a aplicao deste filtro facilmente
visualizada matematicamente com matrizes, sendo feito o mesmo processo em PDI.
Valores no Filtrados
Mdia Filtrada
Pgina 14
2.1.4 SOBEL
O operador Sobel usado no processamento digital de imagens para deteco de
bordas nas mesmas. Sendo um operador de diferenciao discreta, calcula, em cada
ponto, uma aproximao do gradiente da funo de intensidade da imagem, fornece a
direo da maior variao de claro para escuro e quantiza a variao nesta direo. Para
tal processo, o operador convoluciona os pontos da imagem com um pequeno filtro de
inteiros na horizontal e vertical, o gradiente de uma funo de duas variveis (a funo de
intensidade da imagem) em cada ponto da imagem, um vetor de duas dimenses com
componentes fornecidas pelas derivativas nas direes horizontais e verticais. [YINGDONG, Q. et al, 2005]
Figura 1 - Aplicao do operador Sobel a uma imagem de um cilindro. [YINGDONG, Q. et al, 2005]
Formulao
O operador usa duas matrizes 3x3 que so convolucionadas com a imagem
original para calcular as aproximaes das derivativas, uma para mudanas horizontais e
outra para mudanas verticais. Na formulao seguinte, A representa os pontos
abordados da imagem original, Gx e Gy sero os valores que em cada ponto contero
as aproximaes derivativas horizontais e verticais.
Pgina 15
Onde,
Pgina 16
2.1.6 HOUGH
A transformada de Hough utilizada no processamento digital de imagens para
extrair propriedades geomtricas das mesmas. A transformada clssica tinha como
objetivo a deteco de linhas, porm, esta foi ampliada e generalizada para identificar
posies e dimenses de outras formas, mais comumente crculos e elipses. [RHODY, H.,
2005]
Crculos so estruturas geomtricas comuns de interesse nas aplicaes de
computao grfica. Portanto, realizado o uso desta transformada para localizar tais
estruturas. Um crculo pode ser transformado em um grupo de trs parmetros,
representando seu centro e seu raio.
A idia da transformada que perpendiculares aos pontos de borda de um crculo
cruzam no centro do mesmo. Portanto, se linhas perpendiculares forem desenhadas a
todos os pontos de borda, deve-se obter a concentrao destas no centro do crculo. Para
visualizar esta prtica, mostrada, no estudo terico, o desenho de segmentos de reta no
espao (a, b), sendo:
Onde, (minr e maxr) o range dos possveis raios do crculo que so levados em
considerao (pode ser customizado), A a disposio (array) do espao (a, b), E (i, j) a
intensidade da borda, dada aps a aplicao do filtro Sobel. [RHODY, H., 2005]
Pgina 17
Se o ngulo
crculo. Quando a imagem contm muitos pontos, alguns so inclusos nos permetros dos
possveis crculos, ento o trabalho do programa encontrar os parmetros (a, b e R) que
descrevam os crculos, como visto anteriormente. Esta busca por crculos com raios
desconhecidos pode ser conduzida utilizando acumulao em uma matriz tridimensional.
Pgina 18
Figura 3 - Aplicao de Hough para deteco dos crculos com mltiplos raios.
[RHODY, H., 2005]
validar
PERCLOS,
FMCSA
(Federal
Motor
Carrier
Safety
Pgina 19
Pgina 20
2.2 Hardware
No que tange aos possveis problemas veiculares, h de se entender alguns
conceitos sobre estes dispositivos neste item. Para tanto, segue conceituao de alguns
destes importantes dispositivos para o desenvolvimento do projeto em questo.
2.2.1 Sensores
Sensores so dispositivos eletroeletrnicos que tem a propriedade de transformar
uma grandeza fsica que est relacionada a uma ou mais propriedades do material de que
feito o sensor em sinal eltrico. Existem diversos tipos de sensores, destacando-se entre
eles
os
fotodiodos
(converso
luminosa/eltrico),
os
microfones
(converso
2.2.2 Termistores
Termistores so dispositivos eltricos que tm a sua resistncia eltrica alterada
termicamente, isto , apresentam um valor de resistncia eltrica para cada temperatura
absoluta. So muito usados para controlar e ou alterar a temperatura em dispositivos
eletro-eletrnicos, como alarmes, termmetros, "relgios", circuitos eletrnicos de
compensao trmica, dissipadores de calor, ar-condicionados, etc. Existem dois tipos
bsicos de termistores: o termistor PTC (Positive Temperature Coefficient), que aumenta
drasticamente a sua resistncia eltrica com o aumento da temperatura, e o termistor NTC
(Negative Temperature Coefficient), que diminui drasticamente a sua resistncia eltrica
com o aumento da temperatura. O termistor no polarizado eletricamente. [DAWES, C.,
1979]
Pgina 21
o que se tem a medida absoluta da presso. Tendo em vista que impossvel obter o
vcuo perfeito no ambiente, a calibrao de qualquer tipo de equipamento ou sensor que
precise medir presso absoluta, um problema srio a ser considerado. Veja que os
equipamentos que produzem vcuo se baseiam na retirada do ar de um ambiente
atravs de um pisto, conforme mostra abaixo. [Saber Eletrnica, 2008]
Pgina 22
Pgina 23
Pgina 24
Como na prtica no possvel obter uma presso nula para efeito de calibrao,
utiliza-se de um artifcio que melhor pode ser entendido com base no grfico da figura
abaixo:
Figura 9 - Grfico para auxiliar a determinar erro de offset. [Saber Eletrnica, 2008]
O que se faz medir a presso em dois pontos de valores conhecidos e, atravs de
um grfico extrapolar o comportamento do sensor na faixa desejada. Esse grfico pode
ajudar a determinar o erro de offset e fazer sua compensao. [Saber Eletrnica, 2008]
2.2.4 Microcontrolador
Os microcontroladores so chips inteligentes, que tem um processador, pinos de
entradas/sadas e memria. Atravs da programao dos microcontroladores pode-se
controlar suas sadas, tendo como referencia as entradas ou um programa interno.
O que diferencia os diversos tipos de microcontroladores so as quantidades de
memria interna (programa e dados), velocidade de processamento, quantidade de pinos
de entrada/sada (I/O), alimentao, perifricos, arquitetura e set de instrues. [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 necessrios para realizar um completo
sistema digital programvel. O PIC internamente dispe de todos os dispositivos tpicos
de um sistema microprocessado, ou seja:
Pgina 25
Pgina 26
3. ESPECIFICAO
3.1 Anlise de Contexto
3.1.1 Descrio do objeto do desenvolvimento
O objeto desenvolvido possui dois mdulos autnomos, um no microcomputador,
que realiza a verificao de sonolncia no motorista atravs de processamento grfico
usando filtros e algoritmos de Hough e PERCLOS. O outro mdulo em um
microcontrolador, este realiza o monitoramento de partes importantes do carro e exibe as
informaes em um painel LCD. A comunicao feita entre os dois mdulos para
realizao de alertas.
Pgina 27
Pgina 28
Pgina 29
Pgina 30
Pgina 31
Pgina 32
Pgina 33
Pgina 34
iluminao do ambiente onde seja possvel fazer a deteco dos olhos e medio de sua
abertura perfeitamente. O sistema uma soluo fechada e no permite que o usurio
acesse acidentalmente ou deliberadamente seu software, o hardware pode ser acessado
para ocasionais substituies, seu detalhamento escrito no manual do usurio.
b) Confiabilidade: Em caso de falha na captura de alguns frames no mdulo do
microcomputador, o sistema pode levar at um minuto para recuperar suas estatsticas e
preciso de resultado. O incorreto funcionamento de um sensor pode ser verificado em
comparao com seu valor ideal de funcionamento e sua curva de resposta, caso haja o
no funcionamento de um destes, verificada a ausncia de resposta, em ambos os casos,
sua verificao para manuteno e possvel substituio recomendada.
c) Usabilidade: A soluo deve ser de fcil uso para qualquer usurio, o mdulo do
microcomputador pode requerer alguma configurao na posio da webcam e/ou
software. O mdulo do microcontrolador no exige configuraes do usurio. Com a
disponibilidade e leitura do manual, a soluo tem alta inteligibilidade, devendo ser de
simples
entendimento.
Aps
configurao
do
software
e/ou
webcam
no
Pgina 35
Pgina 36
Pgina 37
4. IMPLEMENTAO
A seguir tratada a implementao do projeto, onde descrito o princpio 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 deteco de sonolncia, leitura
de informaes como temperatura do sistema de refrigerao do motor e sistema de
iluminao do veculo.
4.1 Descrio
O
projeto
desenvolvido
possui
dois
mdulos
autnomos,
um
no
Webcam
Microcontrolador
(Projeto de hardware)
Microcomputador
Desenvolvimento
em C para monitoramento
de sinais sensoriais,
disparo de alarmes e
envio de informaes
para painel LCD.
Desenvolvimento de
aplicativo em linguagem
C# para captura atravs
da webcam, processamento
do estado do condutor e
envio das informaes
para o microcontrolador.
Sensores Veiculares
Pgina 38
Pgina 39
Pgina 40
Pgina 41
Form2
-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
+Process()
-facialMeasures()
-searchForEyes()
-DrawLine()
-DrawRectangle()
+SetConfig()
-timer1_Tick()
-timer2_Tick()
HoughCircleTransformation
-radiusToDetect : int
-houghshow : string
-houghthreshold : int
+houghmap[,] : short
-maxMapIntensity : short
+contSobelY[] : short
+contSobelX[] : short
-width : int
-height : int
-localPeakRadius : int
-minCircleIntensity : short
-circles
+MinCircleIntensity() : short
+LocakPeakRadius() : int
+MaxIntensity() : short
+HoughCircleTransformation()
+setRadius()
+setShow()
+CirclesCount() : int
+ProcessImage()
+ToBitmap() : <no especificado>
+GetMostIntensiveCircles[]() : HoughCircle
+GetCirclesByRelativeIntensity[]() : HoughCircle
+CollectCircles()
+DrawHoughCircle()
+SetHoughirclePoints()
+SetHoughPoint()
-pictureBox1
-startButton
-stopButton
-ApplyButton
-SetupButton
-comboBox
-WebcamCapture1 : WebcamCapture
-Pre_Process : PreProcess
-ProcessForm : Form2
-Setup : Form3
-startButton_Click()
-stopButton_Click()
-setupButton_Click()
-applyButton_Click()
-WebcamCapture1_ImageCaptured()
Serial
-SerialPort
+Serial()
+open()
+close()
+write()
+read()
PreProcess
-NewImage
+oldbytes[,] : float
+newbytes[,] : float
+Data
+threshold : int
+lowpasspoint : float
+PreProcess()
+GetImageData()
+LowPassFilter()
+SobelOperator()
+SetImageData()
+SetConfig()
Form3
WebcamCapture
+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
-radioButton1_CheckedChanged()
-radioButton2_CheckedChanged()
-radioButton3_CheckedChanged()
-radioButton4_CheckedChanged()
-DefaultButton_Click()
-OpenButton_Click()
-SaveButton_Click()
+GetConfig()
-UserControl : int
-timer1 : int
-m_TimeToCapture : int
-m_Width : int
-m_Height : int
-mCapHwnd : int
-m_FrameNumber : ulong
-x : WebcamEventArgs
-tempObj
-bStopped : bool
+Start()
+Stop()
-timer1_Tick()
WebcamEventArgs
-m_Image
-m_FrameNumber
+WebcamEventArgs()
+WebcamImage() : <no especificado>
+FrameNumber() : ulong
HoughCircle
+X : int
+Y : int
+Radius : int
+Intensity : short
+RelativeIntensity : double
+HoughCircle()
+CompareTo() : int
Pgina 42
Pgina 43
colorida para nveis de cinza. Nesta nova imagem aplicado o operador Sobel para
deteco de bordas, a imagem segmenta para aplicao da transformada de Hough e
com a mesma feito a deteco dos crculos 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 mdia estabelecida, atestada a
sonolncia do mesmo e um alarme enviado ao microcontrolador. Este funcionamento
demonstrado abaixo no fluxograma do software.
Pgina 45
Pgina 46
regula a rotao da hlice para determinar a rotao da mesma, o qual quando estiver em
baixa rotao esta com uma resistncia elevada, diminuindo a mesma medida que a
rotao aumenta. Foi levantado a curva de resposta da ventoinha, utilizando um
Tacmetro digital modelo MDT-2245 do fabricante Minipa disponvel para uso de alunos
na Universidade Positivo.
Este pino esta interligado com o microcontrolador atravs das portas analgicas
do mesmo, o qual analisa a variao de tenso na sada do sensor, convertendo o valor
recebido para um sinal digital, conforme a curva de respostas que levantado.
Pgina 47
Pgina 48
Pgina 49
4.3.5 PIC
O microcontrolador utilizado o modelo DSPIC30F4011 da microchip, que tem
portas analgicas suficientes para anlise dos sensores descritos acima que so utilizados
neste projeto. Uma alternativa de microcontrolador seria o modelo PIC24H da microchip
que tambm oferece a mesma quantidade de portas analgicas necessrias. Este
microcontrolador recebe as informaes dos sensores e do microcomputador, analisa as
mesmas e reporta estas informaes ao motorista atravs de painel de LCD. Informaes
crticas sero geradas alarmes chamando a ateno do condutor e passageiros.
Pgina 50
Inicio
No
Selecionar a
opao de
leitura
Sim
Imprimir a leitura de
temperatura do Motor no
Painel de LCD
Sim
Selecionar
Temperatura
do Motor
Leitura do sensor de
temperatura
No
Leitura do sensor de
rotao da ventoinha do
radiador
Sim
Selecionar
Rotaao da
ventoinha do
radiador
No
Processamento dos
dados
Sim
Detectado
alguma
anomalia
Selecionar
Sensor MAP
No
Sim
Sim
No
Sistema de
Iluminao
Ligado
No
Sim
Detectado
alguma
anomalia
No
Pgina 51
Pgina 52
Processamento dos Dados: esta funo faz o processamento dos dados coletados nas
leituras descritas acima, onde feito uma classificao de cada dado coletado como
sendo normal e crtico, baseado nas necessidades existentes em cada item para o bom
funcionamento do veculo.
Sistema de Iluminao Ligado: esta funo verifica se o sistema de iluminao esta
ligado. Se o sistema for detectado como ligado, verifica se as lmpadas esto
funcionando, e classifica como sistema normal, crtico e faz a chamada para prxima
funo. Caso o sistema seja detectado como desligado, o mesmo reinicia o processo de
leitura dos sensores, comeando pela funo leitura do sensor de temperatura.
Gerar alarme no Painel de LCD: esta funo imprime na tela de LCD uma mensagem
classificada pelas funes anteriores como alarme de segurana ou crtica, informando o
que detectou como anomalia com a devida leitura do sensor. Esta mensagem fica
impressa at que o problema seja resolvido.
Pgina 53
5. VALIDAO E RESULTADOS
Os testes para a validao de software envolveram diversas etapas, primeiramente,
era necessrio possuir uma forma de realizar a aquisio da imagem de forma confivel e
performtica, diversas implementaes foram testadas. A mais comum era o WIA, porm
no era compatvel com a webcam utilizada. Outras tentativas foram testadas, sendo que
duas atenderam as expectativas, DirectX e a DLL avicap32. Ambas se mostraram
performticas na captura dos frames e no geravam erros ou utilizavam muitos recursos
computacionais. A DLL foi escolhida pela sua simplicidade e alta compatibilidade, a fcil
manuteno do cdigo da mesma foi primordial, pois o programa poderia ser
desenvolvido com ela sem grandes dificuldades quanto ao seu uso e desenvolvimento.
Com o mtodo de captura validado, era necessria a implementao e refinamento
de um filtro-passa baixa e do operador Sobel para deteco de bordas em uma imagem.
Ambos os mtodos foram desenvolvidos durante a disciplina de Computao Grfica do
curso, porm demandou um alto trabalho para realizar o refinamento destes cdigos, a
fim de que ficassem enxutos e performticos. Notou-se uma grande necessidade de
processamento no operador Sobel, visto a convoluo que o mesmo realiza para a
deteco de bordas. Aps toda a otimizao de cdigo possvel, observou-se que o
programa ainda no estava atendendo as expectativas de desempenho, sendo que ainda
era preciso realizar o desenvolvimento do Hough, que era sabido por tambm demandar
alto processamento. Foi escolhido ento, por limitar e segmentar a regio em que o
operador Sobel atuaria. Aps esta segmentao, onde as medidas de largura e altura
tratadas eram pouco mais que metade das anteriores, um grande avano 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 poro necessria da imagem para
tratamento e processamento se manteve praticamente inalterada.
Com o software implementado at a poro de pr-processamento, foi necessrio
realizar a pesquisa e desenvolvimento da transformada de Hough, embora diversos
contedos tenham sido verificados, eles no 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 necessrias
para desenvolvimento de algoritmos utilizando-se da transformada de Hough, com tais
Pgina 54
classes em mos, foi necessrio realizar uma customizao e otimizao 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, atravs dos testes e otimizaes foi possvel reduzir a
demanda dos mesmos e deixar o software vivel, onde este, para as especificaes da
mquina, processava em geral de 3 a 5 frames por segundo.
Com todo o processamento grfico implementado, ainda foi necessrio realizar
um ps processamento, que nada mais era do que uma forma de avaliao de todos os
dados grficos apresentados. Para este ps-processamento, testes comearam a ser feitos
e as informaes avaliadas. Atravs da verificao de histogramas, configurao e
avaliao de limiares (thresholds), segmentao da imagem e reconhecimento dos
padres, foi possvel fazer com que o software atendesse as propostas iniciais.
Os primeiros testes realizados para validao do hardware foram feitos atravs de
simulaes em um prottipo, 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 resistncia para provocar calor nos sensores. No foram feitos
testes com temperaturas muito elevadas por segurana, devido ao fato de que o sensor
MAP verifica a temperatura do ar no coletor de admisso, e para isto, seria necessrio
elevar muito a temperatura da resistncia, para que a mesma superaquece-se as
tubulaes de metal onde estava o sensor MAP.
Para testar o sensor de presso, foi utilizada uma tubulao de metal, onde em
uma de suas extremidades havia um compressor de geladeira para sugar o ar, simulando
um coletor de admisso veicular, e a outra extremidade possua um registro para regular o
vcuo feito. Para validar a curva de resposta do sensor fornecida pelo fabricante, foi
utilizado um vacumetro para aferir as leituras feitas.
O sensor de rotao foi validado utilizando um tacmetro, o que nos deu uma
aproximao da curva de resposta. No foi possvel fazer uma leitura exata da rotao
devido s caractersticas do tacmetro, o qual foi acoplado manualmente na ventoinha, o
que impossibilita de se possuir uma leitura precisa devido a no haver um acoplamento
mecnico perfeito, sem variaes de presso da rea de leitura do tacmetro com a
Pgina 55
ventoinha. Com esta aproximao das leituras foi o suficiente para validar a curva de
resposta do fabricante.
Para o sensor de lmpada queimada foi feito leituras com as lmpadas ligadas e
analisar o consumo de corrente pelo conjunto de duas lmpadas. Sabendo o consumo de
corrente destas quando as mesmas esto ligadas, possvel identificar se uma delas esta
queimada quando este consumo diminui.
Com estes testes foi possvel validar o funcionamento do sistema. Abaixo, seguem
as curvas de resposta que foram levantadas e validadas com base nas informaes
fornecidas pelos fabricantes.
Temperatura
20C
25C
30C
35C
40C
45C
50C
55C
60C
65C
70C
75C
80C
Presso
0,1 Bar
0,2 Bar
0,3 Bar
0,4 Bar
0,5 Bar
0,6 Bar
0,7 Bar
0,8 Bar
Mdia
Temperatura
2513
2102
1704
1505
1103
953
855
695
577
482
431
384
329
Mdia
20C
25C
30C
35C
40C
45C
50C
55C
60C
65C
70C
75C
80C
Rotaao
1,904
1,705
1,404
1,204
0,903
0,706
0,412
0,203
2380
2300
2430
2500
2430
2590
2765
2900
3013
Sensor Temperatura
Resistencia Resistencia Resistencia
1 Leitura
2 Leitura
3 Leitura
2433
2430
2427
2108
2106
2101
1700
1702
1709
1490
1499
1497
1099
1097
1090
957
955
954
857
856
855
690
699
698
587
589
590
488
483
487
430
435
455
375
378
380
334
335
332
Sensor de Rotao
Tenso 1 Tenso 2 Tenso 3
Leitura
Leitura
Leitura
3,67
3,66
3,6
3,86
3,88
3,87
4,03
4,09
4,08
4,25
4,21
4,2
4,32
4,36
4,27
4,45
4,47
4,5
4,65
4,7
4,77
4,87
4,89
4,91
4,95
4,97
4,99
Mdia
2430
2105
1704
1495
1095
955
856
696
589
486
440
378
334
Mdia
3,6433
3,8700
4,0667
4,2200
4,3167
4,4733
4,7067
4,8900
4,9700
Pgina 56
6. CONCLUSO
Embora a soluo para deteco de sonolncia ainda no esteja amadurecida a
ponto de se tornar um produto comercial, foi considerado um grande avano poder ter
desenvolvido um prottipo da mesma como trabalho de concluso de curso.
Comercialmente, se encontra apenas um produto disponvel fazendo verificao de
sonolncia em motoristas em tempo real, embora de forma mais avanada, utiliza o
mesmo tipo de processamento. Prottipos, tambm utilizando processamento digital de
imagens, j foram exibidos em feiras automobilsticas e podem ser de grande valia para
empresas de transporte e segurana no trnsito em geral.
Notoriamente, ainda so grandes as possibilidades de amadurecimento desta
soluo, a primeira e mais evidente delas a utilizao de uma cmera com
infravermelho, onde problemas relacionados mudana de luminosidade ambiente
seriam sanados. Outra poro que pode ser implementada relacionada parte de viso
computacional, com fluxo ptico, reconhecimento de padres e distncia, assim o
produto pode ser instalado em qualquer veculo e diversos problemas seriam sanados, o
que se verifica uma soluo para a mudana da distncia do motorista para a cmera,
raio do olho e mudanas de cenrios pelo fato da soluo ser instalada em diversos
veculos e estes estarem em movimento por diversos lugares.
Este produto pode ainda ser embarcado, o processamento realizado por um DSP, o
que o torna porttil e passvel de ser uma soluo final, comercial e vivel.
Apesar do ambiente limitado, pelo fato dos testes do hardware de monitoramento
veicular terem sido feitos em um prottipo e no em um automvel verdadeiro, onde
pode se avaliar melhor situaes como rudos provocados pelo funcionamento do veculo,
pode-se concluir que projeto atende as expectativas inicialmente estabelecidas.
A utilizao do DSPIC contribui muito para que seja possvel fazer um hardware
mais enxuto e de menor custo, graas a este possuir dentro do mesmo componente
conversores analgico digital, portas de entrada e sada que podem ser utilizadas como
latch de dados, portas de comunicao, memria RAM, e outras que reduzem os custos de
novos circuitos, permitindo um hardware otimizado e pequeno.
A sugesto para melhorias em continuidade ao projeto de hardware seria o
monitoramento de mais dispositivos, como nvel de combustvel no tanque, nvel de leo
do motor, nvel de gua do radiador. Para alarmes ter um display maior, onde fosse
Pgina 57
Pgina 58
7. REFERNCIAS BIBLIOGRFICAS
[1] Apostila de Treinamento MWM International, So Paulo, Outubro de 2008.
Disponvel em <http://www.mwm-international.com.br/files/manual/6.pdf>
[2] Temperature Sensor NTC M12-H, Bosch Motorsport, Outubro de 2008. Disponvel
em <http://www.bosch-motorsport.de/pdf/sensors/temperature/NTC_M12-H.pdf>
[3] DSPIC30F4011 Datasheet - Microchip Technology, 2005. Disponvel em
<http://ww1.microchip.com/downloads/en/devicedoc/70135C.pdf>
[4] PIC24H Family Overview Microchip Technologies, 2005. Disponvel 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
Fsica,
Porto
Alegre.
Disponvel
em
<http://www.if.ufrgs.br/mpef/mef004/20061/Cesar/>
[6] Datasheet Bosch Sensors, Robert Bosch GmbH, 2002.
[7] BRAGA, N.. Experincias e Brincadeiras com ELETRNICA - Volumes 2(1977),
3(1978), 4(1979), 6(1980),8(l981) e 12(l983). So Paulo: Editora Saber Ltda.
[8] Sensor de Presso Absoluta no Coletor de Admisso Injetronic Tecnologia
Automotiva, 2007. Disponvel em <http://www.injetronic.com.br/>
[9] Sensores de absolutos de presso Saber Eletrnica, Janeiro de 2008. Disponvel
em <http://www.sabereletronica.com.br/secoes/leitura/320>
[10] O Estado Gasoso. Universidade Federal de Santa Catarina - Departamento de
Qumica,
Florianpolis.
Disponvel
em
<http://www.qmc.ufsc.br/quimica/pages/aulas/gas_page2.html>
[11] DAWES, C. Curso de Eletrotcnica, Volume I, corrente continua, 18 Edio Editora globo 1979
[12] Levantamento apontando causas de acidentes nas estradas, Polcia Rodoviria
Federal / Departamento Nacional de Infra-Estrutura de Transportes, Dezembro de 2007.
Disponvel em <http://www.dnit.gov.br/noticias/prfdiv/>
[13] CHEQUER, J. Seminrio Sobre Segurana nas Rodovias. Departamento
nacional de Infra-Estrutura de Transportes Instituto de Pesquisas Rodovirias.
Disponvel 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.
Pgina 59
Disponvel
em
<http://www.ecse.rpi.edu/~qji/Fatigue/fatigue_report_dot.pdf>
[15] BOROVICKA, J. Circle Detection Using Hough Transforms Image Processing
and
Computer
March
Vision,
2003.
Disponvel
em
<http://linux.fjfi.cvut.cz/~pinus/bristol/imageproc/hw1/report.pdf>
[16] FISHER, R.; PERKINS, S.; WALKER A. WOLFART E. Image Transforms
Hough
2003.
Transform,
Disponvel
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 Programao em C para o dsPIC Fundamentos. Editora Ensino Profissional.
[19] SILVA ZANCO, W. Apostila de Microcontroladores PIC, Tcnicas de Software
e Hardware para projetos de Circuitos Eletrnicos. Editora rica.
[20] PEREIRA, F. Apostila de Microcontroladores, PIC Programao 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 SobelZernike 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.
Disponvel
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.
Disponvel
em
<
http://www.fmcsa.dot.gov/documents/tb98-006.pdf>
Pgina 60