Utilização de técnicas de processamento de imagem e Máquina de

Transcrição

Utilização de técnicas de processamento de imagem e Máquina de
Utilização de técnicas de processamento de imagem e Máquina de Vetor de Suporte
para detecção do nı́vel de desatenção em motoristas de automóveis
Leonardo Dorneles Figueiredo Silva ∗ , Aristófanes C. Silva ∗ e Anselmo C. Paiva ∗
∗ Núcleo de Computação Aplicada (NCA)
Universidade Federal do Maranhão (UFMA), São Luı́s, Brasil
Email: [email protected], [email protected], [email protected]
Resumo—O cansaço e a fadiga contribuem para que motoristas de veı́culos automotores se envolvam em um grande
número de acidentes. Esse número poderia ser reduzido caso
fosse possı́vel detectar o momento de desatenção e avisar ao
motorista das suas condição. Um sistema que seja capaz de
fazer essa detecção de forma automática deve ser capaz de processar as informações da situação atual do motorista e fornecer
a resposta em tempo real de acordo com o seu comportamento
e também não atrapalhe o motorista na sua forma natural de
dirigir. Nesse trabalho foi desenvolvido um sistema que utiliza
técnicas de processamento de imagens, Máquina de Vetor de
Suporte e caracterı́sticas fı́sicas dos olhos para a detecção da
região dos olhos e análise de seu comportamento com o objetivo
de verificar o nı́vel de desatenção de motoristas de automotores.
Keywords-Máquina de Vetor de Suporte; detecção de cansaço
visual; transformada de Wavelets;
I. I NTRODUÇ ÃO
Motoristas que dormem na direção causam entre 27% e
32% dos acidentes de trânsito e por 17% a 19% das mortes
nas vias [1]. A maior parte dos acidentes que acontecem
em retas é resultado de alguns segundos de sono. Muitas
vezes, o motorista não percebe o adormecimento e, por essa
razão, não é possı́vel definir o real motivo da colisão ou da
capotagem.
Uma forma de ajudar na prevenção de acidentes causados
por motoristas sonolentos é a utilização de sistemas capazes de identificar irregularidades no comportamento do
motorista que indicam comprometimento da atenção e avisálos da sua situação. Existem vários sistemas para a detecção
de sono do motorista. Alguns deles se baseiam em métodos
bastante eficientes como medidas fisiológicas de pulso ou
saturação de oxigênio no sangue, instalação de sensores
e radar anticolisão, mas pouco práticos, pois requerem
algum tipo de configuração do motorista, ou a instalação de
aparelhos que possuem custo elevado ou dificultam a forma
natural de dirigir.
Uma metodologia de detecção visual exigiria, como aparato
externo, apenas uma câmera instalada no painel do veı́culo
de forma que não atrapalhasse a visão e o conforto do
motorista. Mas tal facilidade para o usuário apresenta um
grande desafio para o desenvolvimento. Pois por ser baseado
apenas nos sinais visuais, é preciso resolver problemas resultantes de diferentes nı́veis de iluminação, posições variáveis
do motorista e diferentes tipos de rostos, cabelos e olhos.
Nesse artigo será descrita uma metodologia que utilizará
técnicas de processamento de imagem e aprendizado de
máquina para tentar contornar algumas dessas dificuldades.
II. T RABALHOS R ELACIONADOS
Muitos trabalhos na literatura propõem metódos em tempo
real para monitorar o comportamento do motorista através
da região dos olhos: Técnicas que se aproveitam das caracterı́sticas circulares da ı́ris e redes neurais [2], que possuem
um bom desempenho em tempo real porque o cı́rculo é uma
curva de fácil manipulação e olhos são capazes de fornecer
caracterı́sticas que os diferenciam do resto do rosto ou
ambiente para treinamento da rede, técnicas que aproveitam
o comportamento da ı́ris sob luz infravermelha [3] ( bright
pupil) que apresentam bons resultados em ambientes escuros
mas possuem pontos negativos como ofuscamento pela luz
do sol e reflexo caso o motorista utilize óculos, utilizando
template matching e AdaBoost [4], que também dependem
muito do ambiente e são sensı́veis a transformações de
rotação e escala. Também a segmentação do rosto para
detecção das possı́veis regiões dos olhos utilizando o Algoritmo CAMSHIFT e análise de componentes principais
[5] que apresentou resultados robustos, mas que comprometeram a exigência de tempo real.
Por apresentar bons resultados e por ser promissor em
uma aplicação em tempo real o trabalho apresentado em
[2] foi utilizado como base para este trabalho, principalmente o algoritmo de transformada de Hough proposto e
a representação através de transformadas de Wavelets das
áreas de interesse para treino e verificação do classificador.
Algumas mudanças foram feitas, como a substituição de
Redes Neurais por Máquina de Vetor de Suporte no algoritmo de classificação, visando tornar o metôdo mais rápido
e independente dos parâmetros de configuração da Rede
Neural. Tambêm foi feita uma adição, que é a utilização do
movimento simétrico dos olhos para ajudar no problemas de
rotação e translação para evitar uma busca global da região
dos olhos nos quadros analisados.
III. F UNDAMENTAÇ ÃO T E ÓRICA
A. Suavização Gaussiana
Os efeitos de ruı́do em uma imagem podem ser reduzidos
por suavização, isto é, substituir cada pixel por uma media
ponderada dos seus vizinhos. O filtro mais usual para esta
operação é baseado na função Gaussiana.
A função gaussiana satisfaz um grande número de propriedades matemáticas e descreve uma vasta variedade
de fenômenos fı́sicos e probabilı́sticos. Dentre essas propriedades algumas são imediatamente relevantes para visão
computacional: A primeira delas é quantitativa: a função
gaussiana é simétrica, ela também enfatiza os pixels mais
próximos em relação aos mais distantes. Essa propriedade
reduz o borramento enquanto ainda mantem propriedades
médias de ruido. A segunda é que ela nunca cruza o
zero, uma vez que é sempre positiva. Essa propriedade é
muito importante quando se utiliza suavização junto com
algoritmos detectores de borda que utilizam os cruzamentos
de zero para identificar uma borda, porque que ela não
introduz seus próprios zeros na imagem.
Figura 1.
Núcleos de Sobel.
Figura 2.
Imagem Original.
B. Operador de Sobel
O operador Sobel calcula o gradiente da intensidade da
imagem em cada ponto, dado a direção do maior aumento
possı́vel de claro para o escuro e o grau de mudança nessa
direção.
O resultado do operador mostra o quanto abruptamente ou
suavemente a imagem muda naquele ponto, e também o
quanto que aquela posição representa uma borda e como
essa borda esta orientada.
Matematicamente, o gradiente de uma função de duas
variáveis (no caso a função de intensidade da imagem) é em
cada ponto da imagem um vetor com duas dimensões, com
os componentes dados pelas derivadas nas direções verticais
e horizontais. A cada ponto da imagem, o vetor gradiente
aponta para a direção do maior aumento de intensidade
possı́vel, e o tamanho do vetor gradiente corresponde ao grau
de mudança nessa direção. O operador utiliza dois núcleos
3x3, (Figura 1) que são convolucionados na imagem original
(Figura 2) para calcular a aproximação das derivadas, uma
para as mudanças horizontais(Figura 4) e uma para as
verticais(Figura 3).
C. Transformada de Hough
O princı́pio básico da Transformada de Hough consiste
em obter, através das transformações do gradiente e da
limiarização, pontos de uma imagem. A idéia é aplicar
na imagem uma transformação tal que todos os pontos
pertencentes a uma mesma curva sejam mapeados em um
único ponto de um novo espaço de parametrização da curva
procurada. A Transformada de Hough tem como vantagem
o fato de que pode ser aplicada ao tratamento de qualquer
tipo de curva e, além disso, apresenta muita eficiência em
imagens fortemente ruidosas.
A transformada de Hough na circunferência pode ser formulada como uma convolução[6] na qual os coeficientes da
máscara binária são atribuı́dos um nas bordas do cı́rculo e
zero nos outros lugares. Esse convolução é aplicada em uma
imagem de borda ou então nas derivadas parciais da imagem.
RR
~ − x, β − y)
~g (α, β).O(α
D(x,y)
(x, y) =
(1)
2π(Rmin − Rmax )
onde :
O Domı́nio D(x, y) é definido por:
2
D(x, y) = (α, β) ∈ R2 |Rmin
2
≤ (α − x)2 + (β − y)2 ≤ Rmax
(2)
~g é o vetor gradiente
~g (x, y) = [
∂I(x, y) ∂I(x, y) T
,
]
∂x
∂y
~ é o vetor núcleo
O
cos(arctan(y/x)) sin(arctan(y/x)) T
~
p
p
,
]
O(x,
y) = [
x2 + y 2
x2 + y 2
(3)
(4)
No domı́nio discreto o núcleo da Transformada de Hough
discreta é implementado como dois filtros, um para cada
componente do vetor [2]. (Figura 5) e (Figura 6)
D. Erro Médio Absoluto(EMA)
O EMA é uma medida simples de similaridade que é
calculada através da comparação individual de pixels correspondentes entre duas regiões. No cálculo do EMA será
levado em consideração que as regiões são espelhadas.
valores de w e b tais que a seguinte relação seja satisfeita:
yi ((wxi ) + b) ≥ 1
(6)
Os valores ótimos de w e b serão encontrados ao minimizar a seguinte equação, de acordo com a restrição dada
pela Equação 6 [7].
Figura 3. Derivada da Figura 2
utilizando núcleo Gx.
Figura 4. Derivada da Figura 2
utilizando núcleo Gy.
Figura 5.
Componente X do
~ no domı́nio D(x,y).
núcleo O
Figura 6.
Componente Y do
~ no domı́nio D(x,y).
núcleo O
Cálculo do EMA:
PN PM i=1
j=1 aij − bi(M −j+1)
N.M
w2
(7)
2
MVS ainda possibilita encontrar um hiperplano que minimize a ocorrência de erros de classificação nos casos em
que uma perfeita separação entre as duas classes não for
possı́vel. Isso graças a inclusão de variáveis de folga, que
permitem que as restrições presentes na Equação 6 sejam
quebradas.
O problema de otimização passa a ser então a minimização
da Equação 7, de acordo com a restrição imposta pela
Equação 6. C é um parâmetro de treinamento que estabelece
um equilı́brio entre a complexidade do modelo e o erro de
treinamento e deve ser selecionado pelo usuário.
φ (w) =
N
(5)
onde M e N representam o número de colunas e de linhas
das duas regiões comparadas. aij e bij são os pixels das
regiões que estão sendo comparadas.
E. Máquina de Vetor de Suporte
A Máquina de Vetor de Suporte é um método de aprendizagem supervisionada usado para estimar uma função com
o objetivo de classificar dados em duas classes através da
construção de um hiperplano que atua como superfı́cie de
decisão de forma que as distâncias entre as classes e o
hiperplano sejam máximas. Esse hiperplano é obtido na fase
de treinamento da Máquina de Vetor de Suporte através
de um conjunto de amostras composto por duas classes
separáveis.
Um classificador MVS é capaz de encontrar um hiperplano baseado em um conjunto de pontos denominados ”vetores de suporte”, o qual maximiza a margem de separação
entre as classes. Por hiperplano entende-se uma superfı́cie
de separação de duas regiões num espaço multidimensional,
onde o número de dimensões possı́veis pode ser, até, infinito. Mesmo quando as duas classes não são separáveis, a
MVS é capaz de encontrar um hiperplano através do uso
de conceitos pertencentes à teoria da otimização. Seja o
conjunto de amostras de treinamento (xi , yi ), sendo xi no
vetor de entrada yi a classificação correta das amostras e
i = 1,...n o ı́ndice de cada ponto amostral. O objetivo da
classificação é estimar a função f : Rn → {±1}, que separe
corretamente os exemplos de teste em classes distintas.
A etapa de treinamento estima a função, procurando por
Φ (w, ξ) =
X
(w2 )
ξi
+C
2
i=1
yi ((wxi ) + b) + ξ ≥ 1
(8)
(9)
Através da teoria dos multiplicadores de Lagrange, chegase à Equação 10. O objetivo então passa a ser encontrar
os multiplicadores de Lagrange αi ótimos que satisfaçam a
Equação 11 [7].
w(α) =
N
X
i=1
N
X
N
αi −
1X
αi αj γi γj (xi xj )
2 j=1
αi γi = 0, 0 ≤ αi ≤ C
(10)
(11)
i=1
Apenas os pontos onde a restrição 6 seja exatamente
igual à unidade têm correspondentes αi 6= 0. Esses pontos
são chamados de vetores de suporte, pois se localizam
geometricamente sobre as margens. Tais pontos têm fundamental importância na definição do hiperplano ótimo, pois
os mesmos delimitam a margem do conjunto de treinamento.
A Figura 7 destaca os pontos que representam os vetores
de suporte. Os pontos além da margem não influenciam
decisivamente na determinação do hiperplano, enquanto que
os vetores de suporte, por terem pesos não nulos, são
decisivos.
Para que a MVS possa classificar amostras que não são
linearmente separáveis, é necessária uma transformação nãolinear que transforme o espaço entrada (dados) para um
novo espaço (espaço de caracterı́sticas). Esse espaço deve
apresentar dimensão suficientemente grande, e através dele,
a amostra pode ser linearmente separável. Dessa maneira, o
informações de textura e forma do objeto da imagem. Dessa
maneira é possı́vel distinguir o objeto procurado de outros
que possam ter em comum um ou dois desses aspectos.
Figura 7.
Vetores de Suporte ( sobre a linha pontilhada ).
Figura 8.
hiperplano de separação é definido como uma função linear
de vetores retirados do espaço de caracterı́sticas ao invés
do espaço de entrada original. Essa construção depende do
cálculo de uma função K de núcleo de um produto interno
[8]. A função K pode realizar o mapeamento das amostras
para um espaço de dimensão muito elevada sem aumentar
a complexidade dos cálculos. A Equação 12 mostra o
resultado da Equação 10 com a utilização de um núcleo.
w(α) =
N
X
i=1
N
αi −
1X
αi αj γi γj K (xi xj )
2 j=1
(12)
Uma importante famı́lia de funções de núcleo é a função
de base radial, muito utilizada em problemas de reconhecimento de padrões e também utilizada neste trabalho. A
função de base radial é definida por:
K (xi , yi ) = exp (−γ kxi − xj k)
(13)
F. Transformadas de Wavelet
A transformada de Wavelet permite caracterizar as
frequências de uma imagem e localiza-las. Nesse artigo foi utilizada a transformada de wavelet discreta, que
fornece uma representação hierárquica na imagem implementada com a aplicação iterativa de dois filtros: Filtro de
Passa Baixa(PB, aproximador) e os seu complementar na
frequência : Filtro de Passa Alta(PA, filtro de detalhe).
Em cada passo a transformada de Wavelet quebra a imagem
em quatro sub-amostras (sub-imagens), aplicando primeiro
nas linhas e depois nas colunas o esquema de filtro PBPA. A Figura 10 mostra o esquema de distribuição das
sub-imagens do terceiro nı́vel da transformada de Haar. As
letras maiúsculas em cada sub-imagem representam o tipo
de filtro que foi aplicado no nı́vel anterior. A primeira letra
é o filtro que foi aplicado na direção horizontal, enquanto a
segunda letra representa o filtro que foi aplicado na direção
vertical. A banda BB é uma aproximação coarsa da imagem
original. As bandas BA e AB mostram as mudanças na
imagem nas direções horizontais e verticais. A banda AA
mostra os componentes de alta frequência da imagem. As
decomposições são feitas na banda BB.
Os coeficientes da transformadas de wavelets mantém
Imagem original
Figura 9.
Imagem original
após aplicação da transformada de
Haar até o nı́vel 3
G. Estatı́sticas Baseadas no Comportamento das Pálpebras
dos Olhos
O nı́vel de desatenção do motorista é baseado na medida
PERCLOS (Percentual Eyelid Closure) pois ela pode ser
considerada confiável e válida para determinar o nı́vel de
desatenção do motorista [9]. O cálculo aproximado do
PERCLOS é feito utilizando duas métricas que são fatores
para sua determinação: duração de fechamento dos olhos e
a frequência de fechamento dos olhos.
IV. M ETODOLOGIA
A primeira etapa é a captura do vı́deo. A fonte do
vı́deo é uma webcam capaz de gravar vı́deos coloridos
com resolução de 640x480 a uma taxa de 30 quadros por
segundo, os vı́deos utilizados foram capturados em horários
com boas condições de iluminação natural ou utilizando
iluminação artificial adequada. A manipulação do vı́deo e
dos seu quadros é feita utilizando a Biblioteca OpenCV.
O vı́deo é então capturado quadro a quadro e convertido em
tons de cinza de 8 bits. Após a captura do vı́deo é utilizado
uma suavização gaussiana para amenizar o efeito do ruido
que é comum em imagens naturais. então para cada quadro
é capturado é calculada a derivada parcial com orientação
em X e em Y. O núcleo da Transformada de Hough na
circunferência é então convoluido: sua componente em X
na derivada parcial em X da imagem e sua componente em
Y na derivada parcial em Y da imagem. O resultado das duas
Figura 10.
Transformada de Haar até o nı́vel 3.
convoluções é somado e a imagem resultante representa o
acumulador da transformada de Hough, quanto maior valor
em uma posição, maior a chance dessa posição representar
o centro do cı́rculo. Mas algumas regiões mesmo sendo
menos circulares apresentam uma grande concentração de
valores altos. Para evitar que apenas uma região participe
dos próximos passos do algoritmo é utilizada a seguinte
estratégia: para cada pico local no acumulador a sua posição
é usado, mas os seus vizinhos, utilizando uma janela arbitraria são marcados, de forma que eles não participem
da busca por regiões contendo olhos. Após essa etapa
então é utilizada a medida de Erro Médio Absoluto para
verificar se existem regiões simétricas em relação a cada
posição que foi escolhida. Com isso são eliminados muitas
regiões circulares, mas que não apresentam olhos, entretanto
ainda sobram muitas regiões candidatas a região dos olhos.
Para verificar as regiões que realmente representam olhos
é utilizado um classificador baseado em Máquina de Vetor
de Suporte. o primeiro passo é treiná-lo. Para isso são
feitas extrações de forma manual da região dos olhos que
serão treinadas como regiões positivas e de outras regiões
da face ou do ambiente que serão treinadas como regiões
negativas. A representação dessas regiões na Máquina de
Vetor de suporte é através dos coeficientes da Transformada
de Haar de terceiro nı́vel de cada uma dessas regiões
extraı́das. A transformada de Haar foi escolhida por ser de
fácil implementação, computacionalmente pouco custosa e
apresentar caracterı́sticas de forma e textura. O treinamento
é feito offline. O classificador, utilizando as informações
adquiridas na fase de treinamento é então utilizado. Cada
uma das posições que ainda sobraram como candidatas após
as fases anteriores são verificadas. Com isso a região dos
olhos é encontrada, e para diminuir o espaço de busca nos
quadros de vı́deo seguintes e garantir o desempenho em
tempo real é delimitado uma região de interesse de 400
pixels de largura e 125 de altura com centro na metade da
distância entre os dois olhos. A largura da região de interesse
é maior que a altura porque os movimentos do motorista
podem ser mais amplos na horizontal que na vertical.
A movimentação simétrica dos olhos é utilizada para
diminuir ainda mais o custo computacional da busca dos
olhos. A idéia é posicionar no vı́deo duas janelas nas
posições que inicialmente correspondem a localização dos
olhos encontrados nos passos anteriores e aplicando a transformada de Hough nessas regiões, é possı́vel reposicionar
essas janelas de acordo com movimento dos picos dos se
acumuladores. A movimentação dos dois em um mesmo sentido significam uma translação, se um deles se movimenta
para cima e outro para baixo isso indica uma inclinação
para o lado direito ou esquerdo. A posição das janelas é
recalculada de acordo com o movimento.
Após encontrada a posição dos olhos o nı́vel de
desatenção é calculado com as medidas baseadas na estatı́stica PERCLOS. A duração do tempo dos olhos fechados
(TOF) é feita conferindo quantos segundos passaram desde a
última vez que os olhos foram encontrados. A frequência de
fechamento dos olhos (FFO) é calculada contando quantas
vezes em um intervalo de um minuto os olhos não são
encontrados. Para as duas medidas são definidos dois limiares.O primeiro é para alertar sobre pequenas anomalias e
o segundo para quando o comportamento visual chega em
um nı́vel perigoso.
V. R ESULTADOS
O sistema foi implementado utilizando a linguagem C++,
utilizando o Eclipse CDT em uma máquina com processador
AMD Athlon 5600 de 2.8GHZ com 1GB de memória. Na
Tabela I está descrito o tempo necessário para as principais
etapas do sistema utilizando essa configuração. Os resultados
(Figura 11) foram obtidos utilizando a escolha da região
dos olhos com dimensões de 64x64 pixels. Essa dimensão
foi escolhida de forma empı́rica e depende da resolução da
fonte de captura. A distância entre os olhos para o cálculo
da medida de similaridade Erro Médio Absoluto fica no
intervalo [86 94] pixels e foi obtida através dos testes feitos
em pessoas de diferentes idades e pequenas variações de
distância em relação a câmera.
O classificador foi treinado utilizando 300 amostras de
imagens representando olhos e 400 imagens representando
não-olhos. Os vı́deos utilizados na Tabela II já com
os resultados do rastreamento e da identificação do nı́vel
de desatenção do motorista podem ser encontrados em:
http://www.labpai.dee.ufma.br/˜dorneles/downloads/
Tabela I
T EMPO DE PROCESSAMENTO DAS PRINCIPAIS ETAPAS DO SISTEMA
Etapa
Validação MVS
Transformada de Hough em todo o quadro
Transformada de Hough apenas na região de interesse
Transformada de Hough na região do olho
Tempo(s)
0.0023
0.0765
0.0133
0.0020
Tabela II
R ESULTADO DO RASTREAMENTO DE OLHOS
Total de Quadros
Olhos encontrados
Taxa de acerto(%)
Vı́deo 1
2005
3633
90.5
Vı́deo 2
694
1152
82.9
Vı́deo 3
629
1200
95.3
VI. C ONCLUS ÃO
Nesse trabalho foi implementado um sistema capaz de
identificar a região dos olhos partindo das suas propriedades
fı́sicas singulares de formato e textura. Foi verificado que
enquanto a iluminação do ambiente ainda permita uma
sensı́vel diferenciação da região da ı́ris em relação a esclera
o algoritmo de detecção de cı́rculos é capaz de detector um
pico nas regiões que apresentam o centro dos olhos(ı́ris). E
que nessas condições as caracterı́sticas escolhidas baseadas
na terceira decomposição da Transformada de Wavelet,
implementada utilizando filtros de Haar, são capazes de
diferenciar as regiões que contêm olhos das que não contêm
olhos, mesmo contendo um número reduzido de coeficientes
em relação aos pixels da região de análise. Com isso a sua
utilização como entrada para o classificador, baseado em
Máquina de Vetor de Suporte forneceu bons resultados para
a validação dos olhos.
Verificamos que essa abordagem possui dificuldades. A
primeira delas é a iluminação, que dificulta e até mesmo impossibilita a utilização do detector de circunferências por ele
ser baseado em detector de bordas que utilizam informações
do gradiente da imagem e este é fortemente influenciado pela
iluminação. A segunda é sobre o próprio funcionamento do
algoritmo: como estamos procurando regiões circulares o
algoritmo não é capaz de verificar se os olhos estão fechados,
mas apenas se ele não encontrou os olhos na cena. Essa
dificuldade implica que se vamos utilizar a informação de
um olho não encontrada como sinônimo de olho fechado o
algoritmo precisa ainda ser mais refinado.
R EFER ÊNCIAS
[1] DETRAN-RS,
“De
olhos
bem
abertos,”
in
http://www.detran.rs.gov.br/clipping/20080308/01.htm, 2008.
[2] T. D´Orazio, C. Guaragnella, M. Leo, and A. Distante, “A
visual approach for driver inattention detection,” in Pattern
Recognition 40. Elsevier Ltd, 2007, pp. 2341–2355.
[3] F. Jiao and G. He, “Real-time eye detection and tracking under
various light conditions,” in Data Science Journal, Volume 6,
Supplement, 29 September 2007, 2007.
[4] T. K. Luhandjula, “Submitted in fulfilment of the requirements
for the degree of magister technologiae: Digital technology in
the graduate school of electrical and electronic engineering and
the french south african technical institute in electronics,” in
Closed eye detection for fatigue monitoring, 2007.
[5] Z. Savas, “Real-time detection and tracking of human eyes
in video sequences,” in A Thesis Submitted To The Graduate
School Of Natural And Applied Sciences Of Middle East
Technical University, 2005.
[6] T. Atherton and D. Kerbyson, “Size invariant circle detection,”
in Image Vision Comput. 17. Elsevier Ltd, 1999, pp. 795–803.
[7] A. C. F. Chaves, “Extração de regras fuzzy para máquinas de
vetor de suporte (svm) para classicação em múltiplas classes,”
in PhD thesis.Pontificia Universidade Catolica do Rio de
Janeiro., 2006.
[8] S. Haykin and P. Engel, “Redes neurais: Principios e pratica.bookman,” 2001.
[9] D. Dinges and R. Grace, “Perclos: A valid psychophysiological
measure of alertness as assessed by psychomotor vigilance,” in
US Department of Transportation, Federal Highway Administration, TechBrief, FHWA-MCRT-98-006. Elsevier Ltd, 1998.
Figura 11. Resultado do algoritmo de detecção de olhos proposto.Os
quadrados representam as regiões que foram validadas pelo classificador e
representam os olhos. A taxa de quadros por segundo foi reduzido para 10
para melhor visualização.