61
UNIVERSIDADE FEDERAL DO SUL E SUDESTE DO PARÁ INSTITUTO DE GEOCIÊNCIAS E ENGENHARIAS Faculdade de Computação e Engenharia Elétrica Bacharelado em Engenharia da Computação Trabalho de Conclusão de Curso APLICAÇÃO DE REDES NEURAIS CONVOLUCIONAIS E PROCESSAMENTO DIGITAL DE IMAGENS PARA CLASSIFICAÇÃO DO ESTADO DOS OLHOS E AVALIAÇÃO DE SONOLÊNCIA Joany do Socorro Santa Rosa Rodrigues Marabá-PA 2019

UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

UNIVERSIDADE FEDERAL DO SUL E SUDESTE DO PARÁ

INSTITUTO DE GEOCIÊNCIAS E ENGENHARIAS

Faculdade de Computação e Engenharia Elétrica

Bacharelado em Engenharia da Computação

Trabalho de Conclusão de Curso

APLICAÇÃO DE REDES NEURAIS CONVOLUCIONAIS E

PROCESSAMENTO DIGITAL DE IMAGENS PARA CLASSIFICAÇÃO

DO ESTADO DOS OLHOS E AVALIAÇÃO DE SONOLÊNCIA

Joany do Socorro Santa Rosa Rodrigues

Marabá-PA

2019

Page 2: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

Joany do Socorro Santa Rosa Rodrigues

APLICAÇÃO DE REDES NEURAIS CONVOLUCIONAIS E

PROCESSAMENTO DIGITAL DE IMAGENS PARA CLASSIFICAÇÃO

DO ESTADO DOS OLHOS E AVALIAÇÃO DE SONOLÊNCIA

Trabalho de Conclusão de Curso, apresentadoà Universidade Federal do Sul e Sudeste doPará, como parte dos requisitos necessáriospara obtenção do Título de Engenheira daComputação.

Orientadora:Profa. Me. Aline Farias Gomes de SousaCoorientador:Prof. Dr. Adam Dreyton Ferreira dos Santos

Marabá-PA2019

Page 3: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

Dados Internacionais de Catalogação-na-Publicação (CIP)

Biblioteca Setorial II da Unifesspa

Rodrigues, Joany do Socorro Santa Rosa Aplicação de redes neurais convolucionais e processamento digital de imagens para classificação do estado dos olhos e avaliação de sonolência / Joany do Socorro Santa Rosa Rodrigues ; orientadora, Aline Farias Gomes de Sousa, coorientador, Adam Dreyton Ferreira dos Santos. — Marabá : [s. n.], 2019. Trabalho de Conclusão de Curso (Graduação) - Universidade Federal do Sul e Sudeste do Pará, Campus Universitário de Marabá, Instituto de Geociências e Engenharias, Faculdade de Engenharia da Computação, Curso de Engenharia da Computação, Marabá, 2019. 1. Distúrbios do sono. 2. Sono. 3. Processamento de imagens. 4. Redes neurais (Computação). I. Sousa, Aline Farias Gomes de, orient. II. Santos, Adam Dreyton Ferreira dos, coorient. III. Universidade Federal do Sul e Sudeste do Pará. IV. Título.

CDD: 22. ed.: 616.85

Elaborado por Nádia Lopes Serrão - CRB2/575

Page 4: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany
Page 5: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

Dedico este trabalho a minha mãe e aos meusirmãos, Santana, Evailson e Ednilson Antô-nio.

Page 6: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

AGRADECIMENTOS

Agradeço primeiramente a Deus.

À minha mãe, Joana Dar’c Santa Rosa Rodrigues, que não mediu esforços parame ajudar. Sempre me apoiou, principalmente, durante o período de graduação.

À professora, Aline Farias Gomes de Sousa , por ter acreditado em mim, pelapaciência e carinho. Pela confiança em me aceitar em sua pesquisa. Por todo o conhecimentocompartilhado e incentivo durante o desenvolvimente deste trabalho, possibilitando arealização deste. E também por suas sábias palavras em muitos momentos de desespero,antes e durante o desenvolvimento do trabalho.

Ao professor Adam Dreyton Ferreira dos Santos , pela paciência e dedicação parame ensinar, principalmente com relação a implementação, assim como seu incentivo emnão desistir ou se chatear, por conta de alguns problemas enfrentados durante o períodode desenvolvimento deste.

A todas as pessoas que se disponibilizaram a tirar fotos pra montar a base dedados e também a todos que aceitaram fazer os testes.

A todos os meus professores do curso de Engenharia da Computação por contri-buirem no meu aprendizado.

Aos amigos e colegas que ajudaram e apoiaram direta e indiretamente, em especial,ao Nielson Pinho, Jayna Karoline, Weslley Silva e Natália Medeiros.

Aos familiares que direta e indiretamente me incentivaram e me apoiaram nestajornada, principalmente aos meus irmãos, Maria Santana, Evailson, Ednilson Antônio,Eladielson, Elailson José e Eladnildo. À minha sobrinha Joana Dar’c e ao meu pai JoãoPedro.

Page 7: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

"As coisas só terminam quando dãocerto!"

(Aline de Sousa)

Page 8: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

RESUMO

Nos últimos anos, a quantidade de veículos que circulam nas avenidas e rodovias brasileirastem crescido bastante. Além disso, o aumento do período que as pessoas passam conduzindoseus veículos ocasiona mais estresse, cansaço e por consequência, falta de atenção. Dirigirtem se tornado ainda mais cansativo e estressante, principalmente para pessoas quetrabalham com isso diariamente. Conduzir um automóvel é uma ação que necessita dedisposição e muita atenção por parte do condutor. Esses fatos foram relevantes para ocrescimento na quantidade de acidentes, que do ano de 2016 para 2017 foi de 7.272, eaproximadamente 38% desses, foram causados por condutores sonolentos. Levando-se emconsideração essa problemática, este trabalho tem como objetivo desenvolver uma aplicaçãode um dos fatores que caracterizam a sonolência do condutor de veículos automotores:classificação binária do estado dos olhos (abertos e fechados). Neste trabalho é apresentadaa utilização de três técnicas de Inteligência Artificil (IA): Rede Neural Artificial e duasRedes Neurais Convolucionais (LeNet-5 e VGG16). Além dessas, usou-se ProcessamentoDigital de Imagens para fazer detecção de face utilizando a biblioteca OpenCV. Essastécnicas foram submetidas aos processamentos offline (o qual necessitou de uma basede dados com 811 fotos) e online. Com isso, foi feita a classificação do estado dos olhos(abertos e fechados). As acurácias de validação dos processos offline obtidos para as trêstécnicas foram aproximadamente, 77% para a rede neural artificial e 95% para as redesneurais convolucionais. Já as acurácias dos testes online para a rede neural artificial,LeNet-5 e VGG16 foram respectivamente: 57,48%, 90.52% e 78.85%. Os resultados dostestes online, mostram que a melhor técnica para solucionar o problema proposto foi aLeNet-5.

Palavras-chave: Sonolência. Processamento Digital de Imagens. Redes Neurais Con-volucionais. Classificação do Estado dos olhos. Processamento Offline. ProcessamentoOnline.

Page 9: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

ABSTRACT

In recent years, the number of vehicles that circulate in Brazilian avenues and highways hasgrown considerably. Besides that, the increase in the period that people spend driving theirvehicles causes more stress, fatigue and consequently, lack of attention. Driving has becomeeven more tiring and stressful, especially for people who work with it daily. Driving anautomobile is an action that requires a lot of disposal and attention from the driver. Thesefacts were relevant for the increase in the number of accidents, which from the year 2016to 2017 was 7,272, being approximately 38% caused by drowsy drivers. Taking into accountthis problem, this work aims to develop an application of one of the factors that characterizethe driver’s drowsiness of motor vehicles: binary status classification of eyes (open andclosed). In this work is presented the use of three techniques of Artificil Intelligence (AI):Artificial Neural Network and two Convolutional Neural Networks (LeNet-5 e VGG16).Besides these, Digital Image Processing was used to do face detection using the OpenCVlibrary. These techniques were submitted to offline processing (with a database of 811photos that comprise open and close eye states) and online. With this, the status of theeyes (open and closed) was made. The validation accuracy of the offline processes obtainedfor the three techniques were approximately 77 % for the artificial neural network and 95% for the convolutional neural networks. Already the accuracy of online tests for artificialneural network, LeNet-5 and VGG16, were 57.48 %, 90.52 % and 78.85 %, respectively.The results of the oline tests, show that the best technique to solve the proposed problemwas LeNet-5.

Keywords: Somnolence. Digital Image Processing. Convolutional Neural Networks. EyeState Classification. Offline Processing. Online Processing.

Page 10: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

LISTA DE ILUSTRAÇÕES

Figura 1 – Sistema computadorizado para adquirir, processar e interpretar imagens. 18Figura 2 – Modelo de neurônio de uma RNA. . . . . . . . . . . . . . . . . . . . . 25Figura 3 – Modelo de Rede convolucional para detectar caractere. . . . . . . . . . 26Figura 4 – Exemplo de uma entrada tridimensional. . . . . . . . . . . . . . . . . . 28Figura 5 – Detecção de rosto e olhos. . . . . . . . . . . . . . . . . . . . . . . . . . 34Figura 6 – Diferenças de duração do piscar dos olhos de pessoas sonolentas e não

sonolentas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35Figura 7 – Resultado para quando o botão Iniciar é pressionado. . . . . . . . . . . 36Figura 8 – Conjunto de pontos referenciados como coordenadas na parte superior

da face pelo algoritmo SDM. . . . . . . . . . . . . . . . . . . . . . . . . 36Figura 9 – Execução das atividades implementadas para o desenvolvimento do

trabalho. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Figura 10 – Exemplos das fotos utilizadas na base de dados: (a) Imagem não redi-

mensionada de olhos abertos. (b) Imagem não redimensionada de olhosfechados. (c) Imagem redimensionada de olhos abertos. (d) Imagemredimensionada de olhos fechados. . . . . . . . . . . . . . . . . . . . . . 42

Figura 11 – Funcionalidades da aplicação. . . . . . . . . . . . . . . . . . . . . . . . 43Figura 12 – Curva ROC mostrando a taxa de verdadeiros positivos e falsos positivos

de teste para a RNA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Figura 13 – Curva ROC mostrando a taxa de verdadeiros positivos e falsos positivos

de treinamento para a RNA com 100% da base de dados para treinar. . 45Figura 14 – Processamento offline: curvas de função de custo para o treinamento

e validação (superior) e acurácia de treinamento e validação (inferior)para a arquitetura LeNet modificada. . . . . . . . . . . . . . . . . . . . 46

Figura 15 – Curva ROC mostrando a taxa de verdadeiros positivos e falsos positivosde teste para a LeNet-5. . . . . . . . . . . . . . . . . . . . . . . . . . . 47

Figura 16 – Processamento offline: curvas de função de custo para o treinamentoe validação (superior) e acurácia de treinamento e validação (inferior)para a arquitetura VGG16 modificada. . . . . . . . . . . . . . . . . . . 48

Figura 17 – Curva ROC mostrando a taxa de verdadeiros positivos e falsos positivosde teste para a VGG16. . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Figura 18 – Exemplos de fotos capturadas em tempo real: (a) Imagem não redi-mensionada de olhos abertos. (b) Imagem não redimensionada de olhosfechados. (c) Imagem redimensionada de olhos abertos. (d) Imagemredimensionada de olhos fechados. . . . . . . . . . . . . . . . . . . . . . 50

Figura 19 – Exemplo de imagem de olhos abertos capturada em tempo real antesde realizar detecção de face na qualidade de 848 × 480. . . . . . . . . . 50

Page 11: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

Figura 20 – Exemplo de imagem de olhos abertos capturada em tempo real antesde realizada detecção de face e redimensionada na qualidade de 50 × 50. 51

Page 12: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

LISTA DE TABELAS

Tabela 1 – Estrutura de uma arquitetuta LeNet-5. . . . . . . . . . . . . . . . . . . 32Tabela 2 – Estrutura de uma arquitetuta VGG16. . . . . . . . . . . . . . . . . . . 33Tabela 3 – Camadas, saídas e parâmetros da arquitetura LeNet-5 modificada. . . . 46Tabela 4 – Camadas, saídas e parâmetros da arquitetura VGG16 modificada. . . . 48Tabela 5 – Percentual de acertos e erros para as três técnicas. . . . . . . . . . . . 52Tabela 6 – Percentual de acertos e erros dos testes em que as pessoas estavam com

olhos abertos e olhos fechados. . . . . . . . . . . . . . . . . . . . . . . 53Tabela 7 – Percentual de acertos e erros dos testes realizados com pessoas utilizando

e não utilizando óculos. . . . . . . . . . . . . . . . . . . . . . . . . . . 53Tabela 8 – Percentual de acertos dos testes em que as pessoas estavam de olhos

abertos, utilizando e não utilizando óculos e olhos fechados, utilizandoe não utilizando óculos. . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Tabela 9 – Percentual de acertos e erros dos testes de adultos e idosos. . . . . . . 54Tabela 10 – Percentual de acertos dos testes em que as pessoas estavam com olhos

abertos e fechados de adultos e idosos. . . . . . . . . . . . . . . . . . . 54

Page 13: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

LISTA DE ABREVIATURAS E SIGLAS

CNN Convolutional Neural Networks

IA Inteligência Artificial

IDE PyCharm Community Edition

ILSVRC Large Scale Visual Recognition Challenge

JPEG Joint Photographic Experts Group

KLT Kanade Lucas Tomais

LTI Linear Time-Invariant System

MAC Make-up Art Cosmetics

ML machine learning

MLL Machine Learning Library

MLP Perceptron Multicamadas

OpenCV Open Source Computer Vision Library

PDI Processamento Digital de Imagens

PNG Portable Network Graphics

PRF Polícia Rodoviaria Federal

RAM Random Access Memory

RGB Red, Green and Blue

RNA Rede Neural Artificial

SDM Supervised Descent Method

SVM Support Vector Machine

UNIFESSPA Universidade Federal do Sul e Sudeste do Pará

Page 14: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

SUMÁRIO

1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.2 Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.3 Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.4 Organização do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . 16

2 FUNDAMENTAÇÃO TEÓRICA . . . . . . . . . . . . . . . . . 17

2.1 Visão Computacional . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.1.1 Fundamentos de imagem digital . . . . . . . . . . . . . . . . . . . . . . 18

2.2 Inteligência Artificial . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.2.1 Características das Redes Neurais . . . . . . . . . . . . . . . . . . . . . 21

2.2.1.1 Validação cruzada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.2.1.2 Métricas de avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.2.2 Redes Neurais Artificiais . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.2.2.1 Modelos de um Neurônio . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.2.3 Redes Neurais Convolucionais . . . . . . . . . . . . . . . . . . . . . . . 25

2.2.3.1 Motivação para a utilização de Convolução nas Redes Neurais . . . . . . 26

2.2.3.2 Estrutura de uma CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.2.3.3 Geração de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.2.3.4 Arquiteturas CNNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.3 Trabalhos Correlatos . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

2.3.1 Analysis of Eye Closure Duration Based on the Height of Iris . . . . . . 34

2.3.2 Driver Drowsiness Detection Using Visual Information on Android Device 35

2.3.3 Drowsiness Monitoring in Real-time based on Supervised Descent Method 36

3 METODOLOGIA . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.1 Etapas da Pesquisa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.2 Ferramentas utilizadas . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Page 15: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

3.3 Base de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4 ANÁLISE E DISCUSSÃO DOS RESULTADOS . . . . . . . . 43

4.1 Processamento offline das arquiteturas . . . . . . . . . . . . . . . 43

4.1.1 RNA validada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.1.2 LeNet-5 modificada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.1.3 VGG16 modificada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

4.2 Implementação em tempo real . . . . . . . . . . . . . . . . . . . . . 49

4.2.1 Detecção de face . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.3 Processamento online das arquiteturas . . . . . . . . . . . . . . . 52

5 CONCLUSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

Page 16: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

14

1 INTRODUÇÃO

Dormir é uma ação necessária para inibir o cansaço e falta de atenção. O cérebroé responsável por esta ação, fornecendo estímulos que ajudam a perceber o momentoadequado para iniciar o processo de repouso, fazendo com que as pessoas cumpram seuciclo de sono. Além disso, o sono pode vir como resultado de outros fatores, por exemplo:fadiga, uso de medicamentos e estresse emocional.

A sonolência causa a redução da atenção, além de inibir o controle de músculos nosseres humanos (NESHOV; MANOLOVA, 2017). Tal fato pode influenciar negativamenteem várias ações, principalmente naquelas que exigem o trabalho com máquinas, como oato de dirigir. Apesar de não exigir muito esforço físico, dirigir é algo bastante cansativo epara um motorista fadigado e sonolento é fácil perder o controle e tornar-se incapaz deresponder aos estímulos necessários para evitar acidentes.

Nos últimos anos, a quantidade de acidentes nas rodovias brasileiras cresceuconsideravelmente. A Polícia Rodoviária Federal (PRF) registrou que entre 2016 e 2017,esse aumento foi de 7.272, e que aproximadamente 38% foram causados por condutoressonolentos (PRF, 2017). No entanto, não existe qualquer maneira legal de privar umapessoa sonolenta de dirigir, pois não foi criada uma lei específica que proíba motoristas deconduzir um veículo no estado de sonolência, tal como há para pessoas alcoolizadas.

Com o objetivo de amenizar as preocupantes estatísticas anteriormente apresenta-das, se tem investido no desenvolvimento de pesquisas e aplicação de métodos que possamevitar que os motoristas, por motivo de sonolência, percam a atenção enquanto dirigem.Existem várias maneiras de detectar a sonolência, como frequência cardíaca (RIZTIANE etal., 2017), identificação de desvio nas avenidas (ASSUNÇÃO, 2016), fechamento dos olhose da boca (NESHOV; MANOLOVA, 2017). Para averiguar esses parâmetros, são utilizadosdiversos tipos de tecnologias existentes no mercado, tais como sensores e câmeras.

Dessa forma, tendo em vista a problemática de acidentes causados por sonolência,este trabalho estuda um dos parâmetros de detecção de sonolência, classificação do estadodos olhos.

1.1 Motivação

De acordo com Xiaoqiu, Jinzhang e Guoqiang (2011), há conflitos entre veículose pedestres, principalmente em avenidas altamente movimentadas. Em cenários comoesses, a responsabilidade de atenção é tanto dos pedestres, como das pessoas responsáveispelo movimento dos veículos nas avenidas, os motoristas. Os últimos são responsáveispor completar ações requeridas de acordo com variáveis, como velocidade, distância edesempenho do veículo. Atos de decisões de motoristas em completar uma manobra são o

Page 17: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

15

que causam impactos na segurança do trânsito, onde decisões errôneas ocasionam diversosacidentes fatais.

Segundo Carvalho et al. (2017), o comportamento dos motoristas é a causa degrande parte dos acidentes que ocorrem com veículos motorizados. Em 2017, de acordo como balanço de atividades da PRF (PRF, 2017), o número de acidentes em rodovias federaisfoi de 89.318, que resultaram em 6.244 mortes e 83.978 feridos. A PRF também informaque a maior causa dos acidentes foi a falta de atenção, ocasionando 34.406 acidentes, com1.844 óbitos. Os custos sociais de acidentes de trânsito em rodovias federais foram deaproximadamente R$ 8,9 bilhões (PRF, 2018). Além das vítimas, esse fato possui impactossociais, perda de produtividade, custos médicos, legais, jurídicos e outros.

Riztiane et al. (2017), menciona que a sonolência causa 30% dos acidentes detrânsito e que o desempenho no volante depende do nível de sonolência do motorista.Ou seja, quanto mais sonolento está o motorista, maior é a probabilidade de ocorrer umacidente.

Há na literatura trabalhos que propõem soluções para o problema em questão,utilizando processo de coleta de dados automático e aplicando um modelo computacionalpara fornecer segurança ao motorista. Essas soluções são normalmente conhecidas comosistemas de monitoramento para evitar acidentes ocasionados por motoristas sonolentos.Isso pode ser realizado por sensores e atuadores, ou ainda utilizando câmeras de moni-toramento, assim como técnicas de inteligência artificial (IA) e processamento digital deimagens (PDI) (CARVALHO et al., 2017).

1.2 Objetivo Geral

Desenvolver uma aplicação que busque classificar um dos fatores que caracterizama sonolência: classificação binária do estado dos olhos (abertos e fechados). Utilizou-setécnicas de IA e PDI, realizando processamento offline e online dessas.

1.3 Objetivos Específicos

• Aprofundar conhecimento para o desenvolvimento da aplicação, como a bibliotecaOpenCV e a linguagem de programação Python;

• Gerar uma base de dados de imagens com pessoas de olhos abertos e fechados;

• Treinar e testar as técnicas de IA: Rede Neural Artificial (RNA) e Rede NeuralConvolucional (Convolutional Neural Networks - CNN);

• Desenvolver uma implementação para capturar imagens do motorista em tempo real,utilizando as técnicas de IA para a classificação das imagens;

Page 18: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

16

• Fazer uma analogia das técnicas de IA, de acordo com seus resultados;

• Avaliar o desempenho e eficiência das CNNs em problemas com grande quantidadede dados.

1.4 Organização do Trabalho

Este trabalho está estruturado em cinco capítulos, além do capítulo 1 já apresen-tado.

O capítulo 2 apresenta a fundamentação teórica deste trabalho, abordando osprincipais conceitos utilizados no desenvolvimento do projeto e alguns trabalhos existentesna literatura, que têm relação ao conteúdo discutido.

O capítulo 3 explica a metodologia que foi adotada durante o processo destetrabalho, sendo apresentadas as etapas para o desenvolvimento deste, as ferramentasutilizadas e a construção da base de dados.

O capítulo 4 aborda os resultados obtidos, assim como as descrições das atividadesrealizadas.

O capítulo 5 apresenta a conclusão do trabalho e considerações do que poderá serdesenvolvido em trabalhos futuros.

Page 19: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

17

2 FUNDAMENTAÇÃO TEÓRICA

Neste capítulo será descrito o referencial teórico que embasou esta pesquisa.Descrevendo as principais áreas do conhecimento que serão estudadas para a realizaçãodeste trabalho e apresentando três trabalhos da literatura relacionados com o conteúdoexposto neste trabalho.

Considerou-se estudos de pesquisas desenvolvidos por diversos autores: Filho eNeto (1999) e Gonzalez e Woods (2010) foram referenciados por apresentarem diversosconceitos de processamento de imagens, mostrando alguns métodos de processamento deimagens para obter o que se deseja apresentados na seção 2.1; foram estudados conteúdosreferentes a área de IA, como as técnicas de RNA e CNNs descritos na seção 2.2. Foramrequeridos ainda conceitos da área de programação, incluindo a biblioteca OpenCV.

Além desses estudos teóricos, a pesquisa se estendeu a estudo de trabalhos seme-lhantes, como os de Nur et al. (2016), Riztiane et al. (2017) e Neshov e Manolova (2017)que desenvolveram sistemas para detectar sonolência, sendo relevantes para o trabalhoaqui desenvolvido mostrados na seção 2.3.

Com o conhecimento teórico e de trabalhos relacionados, precisou-se explorar apesquisa para adquirir conhecimento de ferramentas necessárias para o desenvolvimentodeste projeto. Com os estudos de Howse (2013) obteve-se o conhecimento necessário dediversos conceitos e aplicações utilizando a biblioteca OpenCV e a linguagem Python.

2.1 Visão Computacional

A área de PDI está sendo bastante requisitada nas pesquisas da literatura, porpermitir em suas aplicações duas categorias bem definidas: o aprimoramento de informaçõespictóricas para interpretação humana e a análise automática por computador de informaçõesextraídas de uma cena (FILHO; NETO, 1999).

A visão computacional é uma aré relacionada a PDI que utiliza computadorespara emular a visão humana, incluindo o aprendizado e a capacidade de fazer inferências eagir com base em informações visuais. Essa área representa um ramo da AI, cujo objetivoé emular a inteligência humana. O sistema de visão computacional industrial para inspeçãoe montagem de produtos é um dos problemas típicos em percepção por máquina quecostumam utilizar técnicas de processamento de imagens (GONZALEZ; WOODS, 2010).A subseção 2.1.1 apresenta fundamentos de imagem digital descrevendo algumas tarefasreferente a essa aréa de conhecimento.

Page 20: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

18

2.1.1 Fundamentos de imagem digital

São mensurados dois métodos para processamento de imagens: um em que aentrada e saída são as próprias imagens e outro em que as entradas podem ser imagense as saídas são atributos extraídos das imagens (GONZALEZ; WOODS, 2010). Nessescasos, a imagem pode passar por várias fases durante o processamento. Ou seja, é precisoutilizar um conjunto de tarefas interconectadas durante o processamento da imagem. AFigura 1 apresenta um diagrama expondo a organização de algumas dessas tarefas.

Figura 1 – Sistema computadorizado para adquirir, processar e interpretar imagens.

Fonte – Adaptado de Filho e Neto (1999).

Aquisição de Imagens: a maioria das imagens são geradas a partir da combinaçãode iluminação e reflexão ou absorção de energia dessa fonte pelos objetos da cena(GONZALEZ; WOODS, 2010). Uma imagem pode ser representada por f(x,y),ou seja, duas dimensões. Sua origem é definida pela quantidade escalar positiva,representada pela amplitude f nas coordenadas (x,y). Ao se gerar uma imagem apartir de um processo físico, seus valores de intensidade são proporcionais à energiairradiada por uma fonte real, essa fonte pode ser, por exemplo, ondas eletromagnéticas.Com isso, f(x,y) deve existir para valores maiores que 0 e menores que infinito,que são caracterizados pela quantidade de iluminação da fonte incidente na cena e

Page 21: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

19

a quantidade de iluminação refletida pelos objetos, chamados de componentes deiluminação i(x,y) e refletância r(x,y), respectivamente. Essas duas funções permitemformar f(x,y):

f(x,y) = i(x,y)r(x,y) (1)

Pré-processamento: a imagem resultante da tarefa “aquisição de imagens” pode apre-sentar diversas imperfeições, tais como: presença de pixels ruidosos, contraste e/oubrilho inadequado e caracteres interrompidos ou indevidamente conectados (FILHO;NETO, 1999). O pré-processamento nas imagens modifica a qualidade, deixando-asem um formato desejado para as etapas subsequentes. Operações realizadas nesseprocesso trabalham diretamente com os valores de intensidade dos pixels. Então, aimagem resultante desta etapa diversifica a qualidade da imagem original, depen-dendo da operação realizada. Existem técnicas que podem melhorar a qualidade daimagem ou reduzi-la, essas são utilizadas de acordo com o que se deseja.

A equalização de histograma é um exemplo de uma técnica que pode melhorar aqualidade da imagem. Essa procura redistribuir os valores de tons de cinza dos pixelsem uma imagem obtendo um histograma uniforme, no qual o número (percentual) depixels de qualquer nível de cinza é praticamente o mesmo. Dessa forma, a equalizaçãode histograma apresenta melhor distribuição de pixels ao longo da escala de cinzaem relação ao original (FILHO; NETO, 1999).

O redimensionamento de imagens é um exemplo de uma técnica que pode reduzir aqualidade da imagem. Ou seja, diminuir o tamanho físico dela alterando o númerode pixels que ela contém. Altera o tamanho de todos os conteúdos da imagem eredimensiona a tela de pintura de acordo com a alteração, operando na imagem toda.

Segmentação: dividem imagens em partes constituintes. Considerada uma das tarefasmais difícil de processamento de imagem, seu procedimento bem-sucedido aumentao sucesso na solução de problemas para reconhecimento de objetos individuais.

Representação e Descrição: Ocorre depois do resultado da segmentação, com dadosprimários em forma de pixels, em que corresponde fronteiras de uma região ou atodos os pontos dentro dela. Deve-se converter os dados em informações adequadaspara o processo. Necessita-se escolher se os dados serão de fronteiras, quando ointeresse do processamento está nas características externas, como o vértice; ou se osdados serão de dentro da região, quando o interesse está nas propriedades internas aoobjeto, como a textura. Em algumas aplicações devem ser utilizadas as duas formas,para que o processo subsequente seja realizado.

Page 22: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

20

Reconhecimento de objetos: processo de nomear ou atribuir rótulos a um objeto sebaseando em seus descritores. Para problemas mais robustos esta etapa pode sermais complexa, necessitando até mesmo de classificadores como técnicas de IA.

Imagens fotográficas podem conter muitos detalhes que tendem a ser instáveis comrelação a variações de iluminação, ângulo de visão, distância de visualização, tremidode câmera e ruído digital (HOWSE, 2013). Além disso, mesmo diferenças reais nosdetalhes físicos podem não interessar para o propósito desejado, como a classificação.Então, existem meios de abstrair os detalhes das imagens produzindo resultadosestáveis para classificação e rastreamento de objetos, por exemplo. Essas abstraçõessão normalmente conhecidas como recursos.

Há recursos como o Haar que descreve o padrão de contraste entre regiões de imagemadjacentes. Por exemplo, arestas, vértices e linhas finas geram recursos distintos.Uma coleção desses recursos é chamada de cascata e uma cascata de Haar é robustaa mudanças de escala (HOWSE, 2013). Um exemplo de uma técnica para detecçãode objetos é a biblioteca OpenCV que fornece um classificador e um rastreador paracascatas Haar invariáveis em escala.

Base do Conhecimento: para se ter a base de dados, deve-se obter conhecimento doproblema. A partir do banco de dados se tem um sistema de processamento deimagens para resolver a problemática em questão. A base de conhecimento é o quecontrola as operações entre os módulos e orienta a operação de cada módulo. Deforma que na Figura 1, as setas para a base do conhecimento são bidirecionadas.

2.2 Inteligência Artificial

A IA é uma área de conhecimento que estuda o comportamento humano, avaliandoa maneira de pensar, perceber, compreender, prever e manipular. A partir disso, essa área deconhecimento se baseia nesses comportamentos para construir entidades inteligentes capazesde reproduzirem ações humanas. No entanto, apesar de todos os esforços dedicados paraisso, ainda não se realizou um sistema que representa de forma fiel esses comportamentos,pois as entidades inteligentes construídas a partir do estudo dessa área são produzidas deforma artificial, em que máquinas são desenvolvidas para realizarem tarefas antes feitasapenas pelas pessoas.

Segundo Rich e Knight (1991 apud RUSSELL; NORVIG, 2013), “IA é o estudode como os computadores podem fazer tarefas que hoje são melhores desempenhadas pelaspessoas”.

A IA abrange várias técnicas ou modelos que podem ser utilizados para tornar umsistema mais “humano”, por exemplo as redes neurais. Na subseção 2.2.1 serão descritasalgumas características dessas técnicas; na subseção 2.2.2 é apresentada a RNA, uma

Page 23: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

21

técnica tradicional; e na subseção 2.2.3 são conceituadas as redes convolucionais, umamelhoria das RNAs para problemas com grande quantidade de dados.

2.2.1 Características das Redes Neurais

Nesta subseção serão apresentadas caracterisricas das redes neurais, como con-ceitos de validação cruzada apresentados na subsubseção 2.2.1.1 e métricas de avaliaçãoapresentadas na subsubseção 2.2.1.2.

Essas arquiteturas podem ser projetadas para trabalhar com aprendizagem super-visionada.

Nos paradigmas de aprendizagem supervisionada, ou aprendizagem com um“professor”, considera-se o “professor” conhecedor do ambiente, em que o conhecimentodeste pode ser representado por um conjunto de exemplos de entra-saída, mas o ambienteé desconhecido pela rede. Nessa situação, ambos são expostos a um vetor de treinamentotirado do ambiente e neste caso, o “professor” por possuir o conhecimento prévio doambiente fornece para a rede uma reposta desejada ao vetor de treinamento. Então, existeum ajuste dos paradigmas da rede sob a influência combinada do vetor de treinamento ede um sinal de erro. Esse sinal de erro é a diferença entre a resposta desejada e a respostareal da rede. Esse ajuste é feito para a rede emular o “professor”. Então, o conhecimentodeste é transferido para a rede através do treinamento e ao alcançar o forma mais completa,este não é mais necessário e a rede é testada lidando com o ambiente por si mesma, emque são mostradas para ela informações que nunca viu antes (HAYKIN, 2001).

Rosenblatt (1958 apud HAYKIN, 2001) propôs o perceptron como o primeiromodelo para aprendizagem superviosanda. Este é a forma mais simple de uma rede neuralusada para a classificação de padrões ditos linearmente separavéis. Ele consiste de umúnico neurônio com pesos sinápticos ajustáveis e bias. Com isso, este é limitado a realizarclassificação de padrões com apenas duas classes. Ao incluir mais de um neurônio nacamada de saída do perceptron, pode-se realizar classificação com mais de duas camadas.

Além do perceptron de uma única camada, existe ainda perceptrons de múltiplascamadas MLP. Estes contém uma camada de entrada, uma ou mais camadas ocultas euma camada de saída, em que o sinal de entrada se propaga para frente através da rede,camada por camada (HAYKIN, 2001).

Esses perceptrons estão sendo bastante requisitados para solucionar problemasutilizando o algoritmo de retropropagação de erro (error back-propagation) que funcionarealizando um passo para frente (propagação) e um passo para trás (retropropagação)(HAYKIN, 2001).

Page 24: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

22

2.2.1.1 Validação cruzada

Treinar e testar os parâmetros de uma função de previsão nos mesmos dados nãoé recomendável, pois apesar de o modelo repetir os rótulos das amostras que acabou de verpoderia obter um resultado perfeito, não conseguiria prever nada de útil. Isso é chamadode overfitting. E para evitá-lo, pode-se ao realizar um experimento de aprendizado demáquina (supervisionado), reter parte dos dados disponíveis como um conjunto de teste.Mesmo realizando essa prática, ainda pode ocorrer overfitting no conjunto de teste, poisos parâmetros podem ser ajustados até que o estimador tenha um desempenho ideal.Com isso, o conhecimento sobre o conjunto de teste pode se expandir para o modelo e asmétricas de avaliação não relatam mais o desempenho da generalização. E uma soluçãopara isso é criar outro conjunto de dados, também chamado de conjunto de validação(SCIKIT-LEARN, 2018).

Então a validação cruzada k-fold é um recurso das redes neurais realizada nosprocessos offline para evitar o overfitting, que em muitas situações é também chamadode estimativa de rotação (KOHAVI et al., 1995). Neste, o conjunto de dados é divididoaleatoriamente em subconjuntos mutualmente exclusivos k e com tamanhos aproximadospara realizar treinamento e teste, ou seja, é feito treinamento e teste k vezes. A precisãoda estimativa de validação cruzada é o número geral de classificações corretas divididopelo número de instâncias nos dados. Esta estimativa é um número aleatório que dependeda divisão dos folds.

Durante o processamento offline, ao dividir os dados em conjuntos para treinar,testar e validar, o número de amostras que pode ser usado para aprender o modelo éreduzido e os resultados podem depender de uma escolha aleatória específica para treinoe validação. Para solucionar este problema, a validação cruzada pode ser realizada noconjunto de treinamento, em que este é dividido em k conjuntos menores, onde o modeloé treinado com k-1 dos folds dos dados e o restante deste é validado no restante dos dados,em que é feito o cálculo de uma média de desenpenho (SCIKIT-LEARN, 2018).

2.2.1.2 Métricas de avaliação

A criação de modelos de ML (machine learning) requerem avaliação ou medir aqualidade deste de acordo com o que se deseja. Para isso existem funções matemáticas queajudam nessa avaliação. Existem métricas que vão das mais simples às mais complexas,algumas que funcionam melhor para datasets com determinadas características e outraspersonalizadas de acordo com o objetivo final do modelo.

Na escolha de uma métrica se considera fatores, como proporção de dados de cadaclasse no dataset e objetivo da previsão (probabilidade, binário, ranking). A seguir serãoapresentadas algumas dessas métricas.

Page 25: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

23

Matriz de confusão: é uma matriz de dimensão 2 x 2, pode ser maior de acordo coma quantidade de classes que se deseja prever. É uma métrica voltada para modelosde classificação e tem como objetivo calcular a quantidade de: falso positivo (falsepositive — FP), ocorre quando no conjunto real, a classe que se busca prever foiprevista incorretamente; falso negativo (false negative — FN ), ocorre quando noconjunto real, a classe que não se busca prever foi prevista incorretamente; verdadeiropositivo (true positive — TP), ocorre quando no conjunto real, a classe que se buscaprever foi prevista corretamente; e verdadeiro negativo (true negative — TN ), ocorrequando no conjunto real, a classe que não se busca prever foi prevista corretamente;acurácia e sensibilidade. Uma tabela mostra as frequências de classificação para cadaclasse do modelo.

“Uma matriz de classificação é uma ferramenta importante para avaliaros resultados de previsão porque facilita o entendimento e reage aosefeitos de previsões erradas. Ao exibir a quantidade e os percentuaisem cada célula desta matriz, pode-se consultar rapidamente com quefrequência o modelo é previsto com precisão” (SANTOS; JÚNIOR, 2018).

A matriz de confusão C pode ser definida de forma que Ci,j é igual ao número deobservações que se sabe estar no grupo i, mas que se prevê estar no grupo j. Aslinhas na matriz representam os valores previstos para o grupo de dados aplicados eas colunas representam os valores atuais do modelo (SANTOS; JÚNIOR, 2018).

Verdadeiro positivo (VP), falso positivo (FP), verdadeiro negativo (VN) e falsonegativo (FN) são resultados oriundos dos cálculos da matriz de confusão. A partirdesses resultados, outras métricas podem ser calculadas. As métricas utilizadas nestetrabalho serão descritas a seguir.

Precisão geral ou acurácia: é a métrica mais simples a ser utilizada, calcula o númerode acertos (positivos) divido pelo número total de exemplos. Ela deve ser usada emdatasets com a mesma proporção de exemplos para cada classe. A definição desta édada a seguir:

Acurácia = V P + V N

V P + V N + FP + FN(2)

Receiver Operating Characteristic (ROC): é uma curva utilizada para avaliar aqualidade de saída do classificador, mostrando o quão bom o modelo criado podedistinguir entre duas coisas (já que é utilizado para classificação). Apresenta taxa deverdadeiros positivos (True Positive Rate - TPR) no eixo Y e taxa de falsos positivos(False Positive Rate - FPR) no eixo X. Significando que o canto superior esquerdodo gráfico é o que se idealiza (uma taxa positiva falsa de zero e uma taxa positivaverdadeira de um). Quanto maior a área sobre a curva, melhor é o resultado. A

Page 26: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

24

inclinação das curvas ROC também é importante, pois é ideal para maximizar ataxa positiva real e minimizar a taxa de falsos positivos.

A taxa de verdadeiros positivos pode ser dada por:

TPR = verdadeiros positivos

verdadeiros positivos + falsos positivos(3)

E a taxa de falsos positivos pode ser dada por:

FPR = falsos positivos

falsos positivos + verdadeiros positivos(4)

2.2.2 Redes Neurais Artificiais

Nesta subseção é apresentada a RNA e na subsubseção 2.2.2.1 é motrado ummodelo de neurônio desta.

Sabe-se que o cérebro humano tem processamento de informações diferente doprocessamento dos computadores digitais convencionais. Como o cérebro é um computadorbem mais complexo, não linear e paralelo, tem a capacidade de processar informaçõesmuito mais rápido do que o mais rápido computador digital existente. Um exemplo deprocessamento do cérebro é a visão humana, que fornece representações do ambienteexterno (HAYKIN, 2001).

Um neurônio em estágio de desenvolvimento sofre modificações (o sistema nervosoestá se adaptando ao meio ambiente). Isso foi o que impulsionou o desenvolvimentoda técnica RNA, em que se aproxima de um cérebro humano artificial. Neste caso, aplasticidade que ocorre no cérebro humano, também é essencial ao desenvolvimento dasRNAs.

De maneira geral, uma rede neural é uma máquina que se assemelha a um cérebrohumano criada para modelar a maneira como este realiza tarefas. Pode ser simuladapor programas ou implementadas a partir de componentes eletrônicos. Em sua criação éempregado uma interligação maciça de células computacionais, conhecida por “neurônios”ou “unidade de processamento”.

“Uma rede neural é um processador maciçamente paralelamente distribuídoconstruído de unidades de processamento simples, que tem a propensão naturalpara armazenar conhecimento experimental e torná-lo disponível para o uso.Ela se assemelha ao cérebro em dois aspectos: O conhecimento é adquirido pelarede a partir de seu ambiente através de um processo de aprendizagem; Forçasde conexão entre neurônios, conhecidas como pesos sinápticos, são utilizadospara armazenar o conhecimento adquirido” (HAYKIN, 2001).

O algoritmo de aprendizagem realiza o processo de treinamento, no qual os pesossinápticos da rede são modificados, organizando-os com o objetivo de alcançar o projeto

Page 27: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

25

desejado. Além dos pesos sinápticos, pode-se ainda modificar a topologia da rede, isso foiincentivado pelo fato de que neurônios humanos morem e novas conexões sinápticas sãocriadas.

Um dos benefícios das redes neurais é a generalização, em que estas produzemsaídas adequadas para entradas não existentes na fase de treinamento (aprendizagem).

2.2.2.1 Modelos de um Neurônio

Um neurônio é a unidade de processamento de informação das RNAs. Um modelode neurônio, que forma a base para uma rede neural é mostrado na Figura 2.

Figura 2 – Modelo de neurônio de uma RNA.

Fonte – Adaptado de Haykin (2001).

Na figura anterior, são identificados três elementos básicos:

As sinápses: são caracterizadas por um peso (Wkj), onde xj é a entrada da sinápsej.

Somador: soma os sinais de entrada ponderados pelas respectivas sinápses dosneurônios.

Função de ativação: esta restringe a amplitude de saída de um neurônio. O intervalonormalizado da amplitude de saída é escrito como um intervalo unitário [0,1].

2.2.3 Redes Neurais Convolucionais

As RNAs tradicionais são de grande utilidade para o conhecimento de padrões ouclassificações, assim como para outros problemas. Entretanto, foram criadas topologiasmais profundas, capazes de trabalhar com grandes quantidades de dados e obter bonsresultados, como as CNNs.

Page 28: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

26

As CNNs são redes especializadas para processamento de dados com uma topologiaque se assemelha a uma grade. Têm dados de séries temporais, que podem ser consideradascomo grades 1D com intervalos de tempos regulares, e dados de imagens consideradoscomo grades 2D de pixels (GOOFELLOW; BENGIO; COURVILLE, 2016). O próprionome da rede implica em uma operação matemática conhecida como convolução (tipo deoperação linear) e uma de suas descrições e dada por Haykin e Veen (2001). Então, asCNNs são redes neurais que utilizam a convolução ao invés da multiplicação de matrizesem pelo menos uma camada. A Figura 3 mostra um modelo de rede convolucional paradetecção de caracteres.

Figura 3 – Modelo de Rede convolucional para detectar caractere.

Fonte – Wang et al. (2012).

As CNNs têm pelo menos duas vatangens importantes: capacidade de extraircaracterísticas relevantes através de aprendizado de transformações (kernels) e depender demenor número de parâmetros de ajustes do que redes totalmente conectadas com o mesmonúmero de camadas ocultas. Como cada unidade de uma camada não é conectada comtodas as unidades da camada seguinte, há menos pesos para serem atualizados facilitandoo treinamento (SZEGEDY et al., 2015).

A inspiração biológica para o desenvolvimento de arquiteturas CNNs foi expressapor Hubel e Wiesel (1962) que realizaram um experimento mostrando que alguns neurôniossão ativados juntos quando expostos a algumas linhas ou curvas, conseguindo produzir oreconhecimento visual. Com isso, se idealizou as CNNs para filtrar linhas, curvas e bordase em cada camada acrescida transformar essa filtragem em uma imagem mais complexa.

Esta subseção segue com a motivação para a utilizaçao da operação de convoluçãonas redes neurais apresentada na subsubseção 2.2.3.1; na subsubseção 2.2.3.2 é descrita aestrutura de uma CNN; é feito ainda um breve comentário sobre gerações de dados nasubsubseção 2.2.3.3; e na subsubseção 2.2.3.4 são apresentados dois modelos de CNNs:LeNet-5 e VGG16.

2.2.3.1 Motivação para a utilização de Convolução nas Redes Neurais

A motivação para o uso de convolução nas redes neurais se deu a partir de três con-ceitos importantes: interações esparsas, compartilhamento de parâmetros e representações

Page 29: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

27

equivalentes:

Interações Esparsas ou Pesos Esparsos: esse conceito é realizado deixando a respostaao impulso ou Kernel menor do que a entrada. Para o processamento de uma imagem,a imagem de entrada pode ter muitas informações (pixels), porém recursos pequenose significativos, como detectar as bordas da imagem podem ser requeridos. Para esseprocesso, o armazenamento de parâmetros é menor, diminuindo a memória requisitadapara processamento do modelo e melhorando a eficiência. Além disso, calcular asaída requer menos operações. Nas redes tradicionais são utilidas multiplicações dematrizes com m e n saídas, os parâmetros seriam m×n e os algoritmos necessitariamde um tempo de execução de O(m × n). Se em vez disso a quantidade de conexõesdas saídas para k for limitada, então a abordagem necessita de k × n parâmetros etempo de execução de O(k × n), isso oferece grande melhoria para o processo. Hámuitas aplicações que permitem manter k em várias ordens de magnitude menoresdo que m. Nas redes convolucionais as interações das unidades mais profundas,indiretamente, com uma quantidade maior de entradas permitem a descrição comeficiência das interações complexas entre muitas variáveis construídas a partir deblocos simples com operações esparsas.

Compartilhamento de Parâmetros: é quando se utiliza o mesmo parâmetro para maisde uma função em um único modelo. Isso não ocorre em uma rede tradicional, pois oselementos da matriz de pesos são usados apenas uma vez. Para o compartilhamentode parâmetros, utilizado nas redes convolucionais, os pesos são vinculados, ou seja, ovalor de um peso aplicado a uma entrada pode ser aplicado em outro lugar. Nestecaso, cada elemento do kernel é usado em todas as posições de entrada (com exceçãode alguns pixels de borda). Esse conceito, usado nas redes convolucionais, permiteaprender apenas um conjunto. Isso não afeta no tempo de treinamento e reduz osrequisitos de treinamento do modelo para k parâmetros.

Representações Equivalentes: a camada de uma rede convolucional tem uma proprie-dade chamada de equivariância, o que significa que uma mudança na entrada causa amesma mudança na saída. Isso serve para mostrar quando diferentes característicasaparecem na entrada, ou seja, para um evento ocorrido na entrada a mesma repre-sentação aparecerá na saída. Isso ocorre também com as imagens, onde a convoluçãocria um mapeamento 2D em que características aparecem na entrada. Esse recursoé útil quando se sabe que um pequeno número de pixels vizinhos é aplicado a várioslocais de entrada.

2.2.3.2 Estrutura de uma CNN

Essas arquiteturas possuem estruturas padronizadas: camadas convolucionaispadronizadas (sendo opcional a utilização de normalização de contraste e max pooling

Page 30: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

28

em suas sequências) seguidas por uma ou mais camadas totalmente conectadas. Essasestruturas tem prevalecido em relação a problemas de classificação de imagens, produzindoresultados relativamente bons, como o desafio de classificação ImageNet (KRIZHEVSKY;SUTSKEVER; HINTON, 2012). Para problemas como esse, com grande quantidade dedados, tem-se requerido aumentar a quantidade de camadas, assim como o tamanho dessas.Além disso, para evitar o overfitting, usa-se dropout.

Para tanto, serão descritas algumas camadas utilizadas em estruturas de CNNs:

Entrada: em uma CNN para classificação ou reconhecimento de imagens, as entradassão usualmente matrizes tridimensionais com altura e largura (dependendo dasdimensões da imagem), e profundidade determinada pela quantidade de canais decores. Normalmente as imagens utilizam três canais, RGB, com os valores de cadapixel, como é mostrado na figura 4.

Figura 4 – Exemplo de uma entrada tridimensional.

Fonte – Stroski (2018).

Camada convolucional: funcionam como filtros que enxergam pequenos quadrados epassam por toda a imagem captando os traços mais marcantes desta. São camadasparametrizadas pelo tamanho e número de mapas, tamanhos de kernel, fatores desalto e tabela de conexão. Essas têm M mapas de tamanhos iguais (Mx, My). Umkernel de tamanho (Kx, Ky) é deslocado sobre a imagem de entrada, de maneiraque este deve estar totalmente dentro desta. Os fatores de salto (Sx, Sy) definem a

Page 31: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

29

quantidade de pixels para o kernel saltar na direção de x e y entre as convoluçõesque se seguem (CIRESAN et al., 2011). Assim, o tamanho do mapa de saída é:

Mnx = Mn−1

x − Knx

Snx + 1 + 1; Mn

y =Mn−1

y − Kny

Sny + 1 + 1 (5)

Onde n é o índice da camada, L é a camada e cada mapa na camada Ln estaconectado a no máximo Mn−1 mapas na camada Ln−1.

Em uma CNN clássica, cada camada convolucional é seguida de uma camada deMax-Pooling. As camadas convolucinais são para extrair padões de regiões localizadasnas imagens de entrada. Isso ocorre através da convolução do modelo sobre os pixelsda imagem de entrada, computando o produto interno do modelo em todos os locaisda imagem e gerando com isso um mapa de recursos para cada filtro na camada. Asaída é uma medida de quão bem o modelo corresponde a cada parte da imagem.Então, aplica-se uma função não linear aos elementos em cada mapa de características.As ativações resultantes são passadas para a camada de pooling o que agrega asinformações em um conjunto de pequenas regiões locais produzindo um mapa derecursos de menor tamanho como saída (ZEILER; FERGUS, 2013).

“Em um modelo multicamadas, as camadas convolucionais, que usam osmapas agrupados como entrada, podem extrair recursos que são cadavez mais invariantes às transformações locais da imagem de entrada. Issoé importante para as tarefas de classificação, pois essas transformaçõesofuscam a identidade do objeto” (ZEILER; FERGUS, 2013).

Função de ativação: servem para trazer a não-linearidades a aplicação, dessa formaa rede consegue aprender qualquer tipo de funcionalidade. Há muitas funções deativação, como sigmoid, tanh, softmax e Relu, esta última é mais indicada para redesconvolucionais por ser mais eficiente computacionalmente sem grandes diferençasde acurácia quando comparada a outras funções. Essa função zera todos os valoresnegativos da saída da camada anterior.

Camada ou função de Max-Pooling: cada camada de uma CNN apresenta três es-tágios: a princípio, são executadas várias convoluções em paralelo, produzindo umconjunto de ativações lineares; em seguida cada uma dessas ativações lineares sevemde entrada para uma função de ativação não-linear. Esse processo é também chamadoestágio de detector; e por fim, uma função de pooling é utilizada para que a saídaseja modificada ainda mais.

“Uma função de pooling substitui a saída da rede em um determinadolocal por uma estatística resumida das saídas próximas. Por exemplo, opooling máximo Zhou e Chellappa (1988 apud GOOFELLOW; BENGIO;COURVILLE, 2016) opera em relação a saída máxima dentro de umretângulo na vizinhança. Outras funções de pooling populares incluem

Page 32: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

30

a média de uma vizinhança retangular, a norma L2 de uma vizinhançaretangular ou uma média ponderada com base na distância do pixelcentral”.

Com isso, a utilização de uma função pooling auxilia na invariância de pequenastraduções da entrada, ou seja, se a entrada for traduzida por uma pequena quantidade,a maioria dos valores das saídas não serão alterados. Um exemplo seria a detecçãode um rosto, para isso não é preciso ter a precisão dos pixels dos olhos com perfeição,basta saber que existem dois olhos, um no lado esquerdo e outro no lado direito.

Camada de classificação: a escolha dos tamanhos de kernel dos filtros convolucionaise dos retângulos de Max-Pooling faz com que os mapas de saída da última camadaconvolucional sejam reduzidos para 1 pixel por mapa, ou uma camada totalmenteconectada combina as saídas da camada convolucional a um vetor de recursos 1D.A camada superior é sempre totalmente conectada, com uma unidade de saída porlabel de classe (CIRESAN et al., 2011)

.

Camada Dropout: é utilizada para co-adaptações complexas nos dados de treinamento,podendo reduzir o overfitting. Esta define a zero a saída de cada neurônio ocultocom probabilidade 0,5. Os neurônios descartados não contribuem no passo posteriore não participam da retropropagação. Com isso, quando uma entrada é apresentada,a rede mostra uma arquitetura diferente, porém essas arquiteturas compartilhampesos. Dessa forma, são reduzidas as co-adaptações complexas de neurônios. Entãoestes são forçados a aprender recursos mais robustos e úteis em conjunto com muitossubconjuntos aleatórios diferentes dos outros neurônios. No tempo de teste todos osneurônios são usados, mas suas saídas são multiplicadas por 0,5 (KRIZHEVSKY;SUTSKEVER; HINTON, 2012).

“Dropout é um método computacionalmente barato mas poderoso deregularizar uma ampla família de modelos. Para uma primeira aproxima-ção, o dropout pode ser pensado como um método de tornar o baggingprático para conjuntos de muitas redes neurais de grande porte. O baggingenvolve o treinamento de vários modelos e a avaliação de vários modelosem cada exemplo de teste” (LECUN; BENGIO; HINTON, 2015).

Para situações em que cada modelo é uma rede neural isso pode ser inviável, poispara treinar e validar as redes neurais requer muito tempo de execução e memória. Odropout deixa a aproximação razoavel ao treinamento e avaliação de um conjunto debagging de redes neurais exponencialmente númericas. Então esse treina o conjuntoque consiste em todas as subredes formadas pela remoção de unidades sem saída deuma rede subjacente (LECUN; BENGIO; HINTON, 2015). As arquiteruras maismodernas, em sua maioria, se baseiam em transformações e não-linearidades. Uma

Page 33: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

31

unidade de uma rede pode ser removida ao multiplicar o seu valor de saída por zero.E o algoritmo dropout pode realizar essa multiplicação por zero.

O treinamento com dropout é realizado com um algoritimo de aprendizagem baseadoem minibatch, este faz pequenos passos, como a descida de gradiente estocástica. Aocarregar um exemplo em minibatch é amostrado aleatoriamente uma máscara bináriadiferente para aplicar a todas as unidades de entrada e ocultas na rede. Uma unidadede entrada é incluída com probabilidade de 0,8 e uma unidade oculta é incluída comprobabilidade de 0,5. Em seguida, executa-se a propagação, a propagação reversa ea atualização de aprendizado (LECUN; BENGIO; HINTON, 2015).

“No treinamento de dropout, os modelos compartilham parâmetros, comcada modelo herdando um subconjunto diferente de parâmetros da redeneural pai. Esse compartilhamento de parâmetro possibilita representarum número exponencial de modelos com uma quantidade de memóriatratável. Normalmente a maioria dos modelos não é treinada explicita-mente - em geral, o modelo é grande o suficiente para impossibilitar aamostragem de todas as sub-redes possíveis. Em vez disso, uma pequenafração das sub-redes possíveis é treinada para uma única etapa, e o com-partilhamento de parâmetros faz com que as sub-redes restantes cheguema boas configurações dos parâmetros” (LECUN; BENGIO; HINTON,2015).

Camada totalmente conectada: ao final da rede é colocada uma ou mais camadastotalmente conectadas, onde suas entradas é a saída da camada anterior e suas saídassão N neurônios, com N sendo a quantidade de classes do seu modelo para finalizara classificação.

2.2.3.3 Geração de dados

Deep Learning requer a capacidade de aprender automaticamente característicasa partir dos dados, o que geralmente só é possível quando muitos dados de treinamentoestão disponíveis - especialmente para problemas em que as amostras de entrada sãomultidimensionais, como imagens. Dessa forma, uma solução viável é aumentar a quantidadedos exemplos utilizados, através de várias transformações aleatórias, para evitar que omodelo sobreajuste uma imagem, o que pode ser nomeado por geração de dados (KERAS,2016).

2.2.3.4 Arquiteturas CNNs

Existem na literatura diversos trabalhos com a projeção ou criação de CNNs e aseguir serão descritas duas destas:

Arquitetura LeNet-5: esta arquitetura foi projetada para reconhecer caracteres manus-critos e impressos em máquinas na década de 90. A Tabela 1 mostra um modelo

Page 34: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

32

da estrutura dessa arquitetura. Essa, é composta por cinco camadas convolucionais,seguidas por camadas de max-pooling, em que a segunda e quinta camadas sãoseguidas por camada de dropout; em sequência, tem-se uma camada flatten e duascamadas totalmente conectadas (LeCun et al., 1989).

Tabela 1 – Estrutura de uma arquitetuta LeNet-5.

Tipo de camada Saída Parâmetro1a camada convolucional (Conv2D) (32, 32, 128) 35841a camada de max-pooling (MaxPooling2) (16, 16, 128) 02a camada convolucional (Conv2D) (14, 14, 128) 1475862a camada de max-pooling (MaxPooling2) (7, 7, 128) 01a camada de dropout (7, 7, 128) 03a camada convolucional (Conv2D) (6, 6, 64) 328323a camada de max-pooling (MaxPooling2) (6, 6, 64) 04a camada convolucional (Conv2D) (5, 5, 32) 82244a camada de max-pooling (MaxPooling2) (5, 5, 32) 05a camada convolucional (Conv2D) (4, 4, 32) 41285a camada de max-pooling (MaxPooling2) (4, 4, 32) 02a camada de dropout (4, 4, 32) 0camada flatten (Flatten) (512) 01a camada totalmente conectada (Dense) (64) 328322a camada totalmente conectada (Dense) (10) 650

Fonte – O autor (2019)

Esta foi a primeira arquitetura de uma CNN que obteve sucesso desenvolvida porLeCun et al. (1989) para fazer reconhecimento de dígitos (números de CEPs emcorrespondências). Contém no total sete camadas: 5 convolucionais e duas totalmenteconectadas. A partir dessa, outras CNNs foram projetadas com mais profundidade,como a AlexNet desenvolvida por Krizhevsky, Sutskever e Hinton (2012) contendooito camadas no total e a GoogleNet com vinte e duas camadas desenvolvida porSzegedy et al. (2015).

Para esta arquitetura, cada imagem da base de dados possui 28 × 28 pixels e osvalores desses estão em escala de cinza. Os dígitos foram normalizados (tamanho) ecentralizados. O valor do pixel foi a única amostra do espaço de cores por estar emescala de cinza, então varia entre 0 e 255 indicando a intensidade deste.

A imagem passada como entrada nesta arquitetura não é achatada (flatten), maspreserva suas dimensões. Isso ocorre para manter a relação espacial entre os pixels.Em uma imagem achatada, essa informação seria perdida.

Observa-se na Tabela 1 que existem três tipos de camadas: convolucional, de max-pooling e totalmente conectada. As CNNs são compostas por conjuntos de filtros;as camadas de max-pooling reduzem o tamanho espacial das matrizes resultantes;Os mapas de características na camada flatten formam 400 nós (5 × 5 × 16) para acamanda subsequente totalmente conectada; a primeira camada totalmente conectadapossui 120 nós e a segunda 84 nós.

Page 35: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

33

Arquitetura VGG: esta arquitetura foi desenvolvida em diversos formatos, entre eles,VGG16. Este, possui 16 camadas que, inicialmente, foi projetada para recebercomo entrada uma imagem de tamanho 224 × 224. Essa versão contém 5 blocosconvolucionais, seguidos de camadas de max-pooling. O modelo finaliza com umacamada flatten e um conjunto de três camadas totalmente conectadas (SIMONYAN;ZISSERMAN, 2014). Na Tabela 2 é mostrada uma estrutura da arquitetura VGG16.

Tabela 2 – Estrutura de uma arquitetuta VGG16.

Tipo de camada Saída Parâmetro1a bloco e 1a camada convolucional (48, 48, 64) 17921a bloco e 2a camada convolucional (48, 48, 64) 369281a bloco e camada de max-pooling (24, 24, 64) 02a bloco e 1a camada convolucional (24, 24, 128) 738562a bloco e 2a camada convolucional (24, 24, 128) 1475842a bloco e camada de max-pooling (12, 12, 128) 03a bloco e 1a camada convolucional (12, 12, 256) 2951683a bloco e 2a camada convolucional (12, 12, 256) 5900803a bloco e 3a camada convolucional (12, 12, 256) 5900803a bloco e camada de max-pooling (6, 6, 256) 04a bloco e 1a camada convolucional (6, 6, 512) 11801604a bloco e 2a camada convolucional (6, 6, 512) 23598084a bloco e 3a camada convolucional (6, 6, 512) 23598084a bloco e camada de max-pooling (3, 3, 512) 05a bloco e 1a camada convolucional (3, 3, 512) 23598085a bloco e 2a camada convolucional (3, 3, 512) 23598085a bloco e 3a camada convolucional (3, 3, 512) 23598085a bloco e camada de max-pooling (1, 1, 512) 0camada flatten (512) 01a camada totalmente conectada (4096) 21012482a camada totalmente conectada (4096) 167813123a camada totalmente conectada (100) 409700

Fonte – O autor (2019)

Durante o treinamento, a entrada foi uma imagem RGB de 224 × 224 de tamanhofixo. Foi feito pré-processamento para subtrair o valor RGB médio, computado noconjunto de treinamento, de cada pixel. Essa imagem passa através de uma pilhade camadas convolucionais, em que foram usados filtros com um campo receptivode 3 × 3 para capturar a noção de esquerda, direita, cima, baixo e centro. Uma dasconfigurações utiliza filtros de convolução 1×1, considerado transformação linear doscanais de entrada, seguidos por não-linearidade. A passada da convolução é fixadaem 1 pixel, em que o preenchimento espacial da camada de convolução da entradafaz com que a resolução espacial seja preservada após a convolução. A camadade max-pooling segue algumas camadas convolucionais, onde esta é execudado emuma janela de 2 × 2 pixels, com o passo 2. As duas primeiras camadas totalmenteconectadas têm 4096 canais cada, a terceira executa a classificação ILSVRC (LargeScale Visual Recognition Challenge) de 1000 vias e contém 1000 canais.

Page 36: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

34

2.3 Trabalhos Correlatos

Nesta seção serão abordados três trabalhos da literatura que tem como principalobjetivo a criação de sistemas ou aplicativos para detectar sonolência e utilizar essainformação de modo a alertar motorista de automóveis a evidência de um possível acidentepor falta de atenção, tendo em vista que o foco deste trabalho é abordar um dos parâmetrosde detecção de sonolência.

2.3.1 Analysis of Eye Closure Duration Based on the Height of Iris

Nur et al. (2016) abordaram a metodologia de classificação do estado do olho eanálise do fechamento do mesmo a partir da altura da íris. Para isso, foi feito a detecçãodo rosto e dos olhos mostrada na Figura 5 com o algoritmo Viola-Jones, e também orastreamento dos mesmos com o algoritmo Kanade Lucas Tomais (KLT), para rastrearos pontos de características. Após extrair a região do olho, a íris foi localizada utilizandopré-processamento de imagem e com a duração do fechamento dos olhos foi feito oprocesso de classificação do estado dos olhos. Usou-se a caixa delimitadora em torno da íris(rastreamento) para saber a altura da mesma, ao serem classificados os olhos, analisou-sea duração do fechamento dos mesmos. Além disso, foi classificado também o tamanho doolho de uma pessoa através da altura da íris. O algoritmo desenvolvido foi implementadona base de dados da Universidade de Zhejiang.

Figura 5 – Detecção de rosto e olhos.

Fonte – Nur et al. (2016).

Com essa metodologia foi obtida a classificação do tamanho dos olhos da pessoa,

Page 37: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

35

como pequeno, médio e grande. Foi possível ainda classificar os olhos em três estados:abertos, fechados e meio fechados.

2.3.2 Driver Drowsiness Detection Using Visual Information on Android Device

No trabalho de Riztiane et al. (2017) foi desenvolvido um aplicativo para rastrearo movimento dos olhos de uma pessoa que está dirigindo um automóvel, verificando-se, apartir disso, o estado de sonolência do motorista, de modo a alertar ao mesmo seu estadode sonolência. Além disso, nesse aplicativo foi utilizada detecção em cascata de Haar eOpenCV para detectar e rastrear os olhos das pessoas, utilizando uma câmera frontal deum dispositivo Android. Além de rastrear o olho, o aplicativo utilizou ainda um capacetecom sensores para adquirir a frequência cardíaca do motorista.

A medição utilizando o rastreamento dos olhos foi feita a partir do comportamentodo piscar de olhos, em que se avaliou o piscar dos olhos de uma pessoa que não estava noestado sonolência menor do que 0,3 segundos e de pessoas que estavam no estado sonolentode aproximadamente 0,6 segundos, como mostrado na Figura 6. Considerou-se para estaanalise três estados dos olhos: fechando, fechado e abrindo.

Figura 6 – Diferenças de duração do piscar dos olhos de pessoas sonolentas e não sonolentas.

Fonte – Riztiane et al. (2017)

O aplicativo tem um menu principal dividido em 4 partes: nome do aplicativo,botão tutorial, botão medir e o botão iniciar. Ao clicar no botão tutorial, o usuário édirecionado a uma página com um conjunto de instruções sobre o sistema; primeiro ousuário deve medir a frequência cardíaca clicando no botão medição e em seguida em obtermedição e depois deve salvar a frequência ou tentar fazer uma nova medição. Depois desalvar a medição, o aplicativo deve ser iniciado clicando no botão iniciar. Após a realizaçãodesses passos, o resultado é mostrado na Figura 7.

Page 38: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

36

Figura 7 – Resultado para quando o botão Iniciar é pressionado.

Fonte – Riztiane et al. (2017)

2.3.3 Drowsiness Monitoring in Real-time based on Supervised Descent Method

Neshov e Manolova (2017) abordam nesse trabalho um método para detectarsonolência através do rastreamento facial, dando ênfase ao rastreamento do olho e daboca. Utilizou-se também o algoritmo Viola-Jones para detectar características faciaisem tempo real e a partir dessas características a abordagem utiliza o método de descidasupervisionado (Supervised Descent Method - SDM) para alinhar as características dorosto, e o estruturado (Support Vector Machine - SVM) para detectar a sonolência.

Na Figura 8 é mostrado o alinhamento das características do rosto, olhos, boca enariz. A partir dos pontos alinhados é verificado o estado do olho e da boca, assim utilizaa técnica SVM para a detecção de sonolência, calculando a frequência do piscar dos olhose o comportamento de bocejo.

Figura 8 – Conjunto de pontos referenciados como coordenadas na parte superior da face pelo algoritmoSDM.

Fonte – Neshov e Manolova (2017)

A frequência do piscar do olho do motorista em tempo real é comparada com a

Page 39: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

37

frequência média de intermitência do mesmo, detectando assim a sonolência. É então feitaa comparação de um sinal atual com o gerado antes, possibilitando detectar sonolência ealertar o motorista antes da possibilidade de um acidente.

Page 40: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

38

3 METODOLOGIA

Neste capítulo serão abordadas, na seção 3.1, as estapas dos procedimentos queforam necessários para o desenvolvimento do trabalho, na seção 3.2, as ferramentasutilizadas para desenvolver a aplicação e, na seção 3.3, o desenvolvimento da base de dados.Na Figura 9 é mostrado um fluxograma com as atividades realizadas.

Figura 9 – Execução das atividades implementadas para o desenvolvimento do trabalho.

Fonte – O autor (2019)

3.1 Etapas da Pesquisa

Inicialmente, necessitou-se realizar uma pesquisa bibliográfica, obtendo o em-basamento teórico necessário para desenvolver a aplicação em tempo real e de acordocom artigos e trabalhos estudados, adquiriu-se o conhecimento da área requerida. Essa,foi baseada em técnicas e tecnologias na área de processamento de imagens, obtendo-setrabalhos relevantes desenvolvidos para a criação de software que auxiliam na detecção de

Page 41: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

39

sonolência. Com isso, foi elaborado o objetivo do trabalho e obtidos métodos adequadospara a realização da aplicação. Métodos esses que para se iniciar a implementação, optou-sepor utilizar a biblioteca OpenCV e a linguagem Python.

Para utilizar esses métodos, usou-se um computador com processador core i5 e8GB de memória RAM, com um Sistema Operacional Linux. Além disso, foi necessárioconfigurar a biblioteca OpenCV e a linguagem Python 2.7 e para a execução das técnicas foiutilizada a IDE PyCharm Community Edition. A realização dos testes da implementaçãofoi feita com a câmera do computador. A seguir serão descritas as atividades apresentadasna Figura 9.

• Iniciou-se adquirindo conhecimento prático da utilização da biblioteca OpenCV eda linguagem Python. Para isso, foram feitos vários testes de pré-processamento deimagens para se ter mais conhecimento das ferramentas, como: redimensionamentode imagem; ligar a câmera do computador; converter uma imagem PNG para JPEGe utilizar filtros para melhorias de imagens. Apos isso, iniciou-se o desenvolvimentoda implementação para detectar face e gerar dados da imagem (a implementaçãoque funciona em tempo real) utilizando as ferramentas OpenCV e a linguagemPython. Esta foi desenvolvida paralelamente com as outras atividades e são realizadosprocessamentos com PDI, como o redimensionamento das imagens e detecção daface.

• Em paralelo a essa implementação, criou-se a base de dados com imagens de diversaspessoas de olhos abertos e olhos fechados. Essa foi necessária para o processamentooffline (treinamento, validação e teste) das técnicas de IA.

• Para a RNA a base de dados foi suficiente, mas com as CNNs optou-se por aumentara base de dados, pois elas requerem grande quantidade de informações para realizar otreinamento offline adequadamente. Assim, a quantidade de imagens contidas na basede dados foi pouco para o treinamento das CNNs em um problema de classificação.Com isso, a atividade de gerar mais dados foi realizada usando uma estratégia degeração (transformações aleatórias) de novas imagens a partir das imagens que jáhaviam na base de dados, ajudando a evitar o overfitting e melhorar a generalizaçãodo modelo.

• Com a base de dados, iniciou-se o processamento offline com três arquiteturas: RNA(SCIKIT-LEARN, 2019), LeNet-5 e VGG16 (KERAS, 2016). A primeira arquiteturaque foi submetida a esse processamento foi a RNA da tipologia MLP (multilayerperceptron) combinada com validação cruzada. A base de dados foi dividida em80% para treinamento e validação, e 20% para teste. As estruturas das arquiteturasLeNet-5 e VGG16 foram modificadas para se adaptar à base de dados utilizada neste

Page 42: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

40

trabalho. Dessa forma, elas foram treinadas, testadas e validadas, de maneira que abase de dados foi dividida em 60% para treinamento, e 40% para teste e validação.

• Ao realizar o processamento offline das arquiteturas, este apresentava acurácias devalidação, treinamento e teste. Dessa forma, a escolha de bons resultados foi sebaseando na acurácia de validação. Para a RNA, definiu-se a melhor arquiteturaa partir da acurácia de validação cruzada e seu desvio padrão. As CNNs foramavaliadas de acordo com suas acurácias e funções de custo das curvas de treinamentoe validação.

• Após definir os melhores resultados para as redes, elas foram exportadas, sendosalvas em arquivos. Essa atividade para a RNA foi feita realizando novamenteo processamento offline utilizando os mesmos parâmetros (camadas escondidas,quantidades de neurônios e taxa de aprendizagem) da arquitetura com o melhorresultado e 100% da base de dados para treinar. Para as CNNs foram exportados ospesos de treinamento dessas.

• Com as redes salvas ou exportadas, elas foram importadas na implementação emtempo real. Para a RNA a importação ou carregamento foi feito utilizando os recursosencontrados em (BROWNLEE, 2016). E para as CNNs os recursos foram encontradosem (VINICIUS, 2018). Para a realização da atividade posterior, os arquivos dasredes salvas estavam localizados no mesmo diretório onde se encontrava o códido daimplementação.

• Depois de importar as redes, foram feitos os testes em tempo real, fazendo aavaliação do estado dos olhos online. Os dados gerados das imagens capturadas eramapresentados às arquiteturas e estas faziam a avaliação do estado dos olhos.

• Com os testes realizados os resultados foram avaliados fazendo comparativos entreas três arquiteturas. Isso foi feito utilizando a acúracia dos resultados obtidos (aquantidade de acertos e erros das redes). Assim, definiu-se a técnica mais eficiêntepara solucionar o problema proposto por este trabalho.

3.2 Ferramentas utilizadas

Serão apresentadas a seguir, as ferramentas que foram utilizadas para o desenvol-vimento da aplicação.

OpenCV : é uma biblioteca de código aberto de visão computacional, foi desenvolvidaem C e C++ e pode ser executada em sistemas operacionais Linux, Windows e MacOS X, trabalhando com desenvolvimento em interfaces para Ruby, MatLab, Pythone outras linguagens. Essa biblioteca foi criada para melhorar o desenvolvimento

Page 43: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

41

computacional, além disso tem aplicações focadas em aplicativos em tempo real.Pode também utilizar a biblioteca IPP em tempo de execução, para aumentarsua velocidade de processamento (BRADSKI; KAEHLER, 2008). Essa bibliotecaobjetiva simplificar a infraestrutura de visão computacional, ajudando na criação deaplicativos de visão computacional sofisticados. Para isso, contém mais de 500 funçõesreferentes as áreas da visão, como imagens médicas, interface de usuários e calibraçãode câmeras. Além disso, contém a biblioteca de aprendizagem de máquina MLL(Machine Learning Library), utilizada para o reconhecimento de padrões estatísticose agrupamentos.

IDE PyCharm Community Edition: é uma interface que facilita a execução de có-digos na linguagem Python, desenvolvida, especificamente, para esta linguagem deprogramação, tem praticidade no desenvolvimento dos códigos e ajuda com a rapidezde encontrar problemas nos mesmos.

Linguagem de programação Python: tem por objetivo se aproximar da linguagemhumana, o que a torna bastante intuitiva e fácil de ser entendida pelas pessoas, e aomesmo passo é muito flexível, em que pode ser utilizada para diversas situações. Éuma linguagem interpretada, ou seja, não é necessário a compilação (traduzir para alinguagem de máquina) é preciso apenas a leitura desta linguagem por um outroprograma (interpretador) para traduzir para a linguagem de máquina. Além disso, éuma linguagem de código aberto, e disponível a vários sistemas operacionais.

3.3 Base de Dados

Para a realização desse trabalho, necessitou-se de uma base de dados que foiutilizada nas técnicas de IA. Essa foi construída com 811 imagens.

Os voluntários se posicionaram em frente a dispositivos smartphones para quefosse possível a captura das Imagens. Foram capturadas 2 fotos de cada voluntário, umafoto com olhos fechados e outra com olhos abertos.

Após construir a base de dados foi feito o pré-processamento para cada imagem.As imagens possuíam cenários bastante amplos, não apenas a face das pessoas. Sendoassim percebeu-se a necessidade de edição das fotos, essa edição foi feita manualmente,selecionando apenas a face, que é a região de interesse para o problema proposto.

Em seguida, foi feito o redimensionamento das imagens. O processamento feitonas técnicas de IA necessita de alto poder computacional, portanto, diminuir a quantidadede dados, padronizando as fotos, deixando-as com a mesma qualidade (mesma dimensão)ajuda no desempenho computacional ao realizar o treinamento das redes. Desta forma,as imagens redimensionadas (todas com a mesma dimensão) foram consideradas comoentrada das técnicas de IA.

Page 44: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

42

As imagens utilizadas neste trabalho estão no formato RGB (red, green, blue), ouseja, suas dimensões devem ser consideradas multiplicando cada imagem por 3, indicandoque estas têm 3 dimensões. Então, para os testes com as redes utilizadas, as imagens foramredimensionadas, deixando-as com as dimensões de 50 × 50 × 3. Na Figura 10 podem serobservadas quatro fotos; (a) e (b) mostrando a qualidade das fotos capturadas e (c) e (d)mostrando a qualidade das fotos redimensionadas.

Figura 10 – Exemplos das fotos utilizadas na base de dados: (a) Imagem não redimensionada de olhosabertos. (b) Imagem não redimensionada de olhos fechados. (c) Imagem redimensionada deolhos abertos. (d) Imagem redimensionada de olhos fechados.

Fonte – O autor (2019)

Depois de redimensionar as fotos - considerando o processo com as arquiteturas deIA - necessitou-se convertê-las em vetor, pois essas técnicas processam apenas informaçõesnuméricas. Como as imagens estavam com dimensões de 50 × 50 × 3, foram convertidaspara dados no tamanho de 7500 pixels cada. Esses dados foram a entrada para as redes,no formato de uma matriz, com dimensões de 7500 linhas e 811 colunas, em que 7500é o tamanho das imagens e 811 é a quantidade de fotos. A saída das técnicas de IA foiconstruída identificando as fotos usando labels, em que os olhos abertos foram definidoscomo 1 e os olhos fechados foram definidos como 0.

Page 45: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

43

4 ANÁLISE E DISCUSSÃO DOS RESULTADOS

Neste capítulo será descrito o desenvolvimento das atividades mostradas na Figura9, assim como os resultados que serão obtidos a partir dessas atividades. Os procedimentose resultados offline das arquiteturas serão apresentados na seção 4.1; o desenvolvimento daaplicação em tempo real será apresentado na seção 4.2; e na seção 4.3 serão apresentados osprocedimentos e resultados online das arquiteturas. A Figura 11 mostra as funcionalidadesda aplicação.

Figura 11 – Funcionalidades da aplicação.

Fonte – O autor (2019)

Observa-se na Figura 11 que a primeira funcionalidade da aplicação é capturara imagem, isso é feito após ligar a camêra. Neste caso, deve-se ter um rosto na imagem(detecção de face) para a imagem ser redimensionada. Se não houver um rosto na imagem,recebe-se como resposta um erro, mencionando que a imagem não foi encontrada. Emseguida as imagens são convertidas em dados e esses dados são processados, apresentadosa técnica para esta definir o estado dos olhos: classificá-los em abertos ou fechados.

4.1 Processamento offline das arquiteturas

A utilização das técnicas de IA teve como objetivo a avaliação do estado dos olhos,classificando-os em olhos abertos (1) ou olhos fechados (0). Então, as arquiteturas RNA,

Page 46: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

44

LeNet-5 e VGG16 foram submetidas ao processo offline.

Contudo, o processamento das CNNs requereu a geração de mais dados, paraisso utilizou-se funções de reescalonamento, rotação, cisalhamento e zoom encontradas emKERAS (2016). Assim, foram criadas aproximadamente 2800 imagens por época a partirdaquelas já existentes na base de dados, aproximadamente 2000 para treinar e 800 paravalidar.

Dessa forma, iniciou-se o processo de treinamento e validação das redes, descritosa seguir.

4.1.1 RNA validada

Durante o processo offline da RNA, realizou-se treinamento, teste e validação. Avalidação é realizada no conjunto de treinamento, em que este conjunto é dividido emk conjuntos menores, essa abordagem é conhecida como validação cruzada k-fold. Logo,a técnica foi treinada considerando três valores de k: 10, 7 e 5. Esses foram testadospara diversas camadas escondidas, quantidades de neurônios e taxa de aprendizagem.Assim, avaliando a média do conjunto validado, o melhor resultado foi de 71%, em quetrês arquiteturas obtiveram esse valor. Então, escolheu-se a qual possuia o menor desviopadrão, 0.71(+/ − 0.05), onde a acurácia para o treinamento dessa foi 0.862654 e para oteste foi 0.693252. Além disso, os valores para número de neurônios na camada oculta,taxa de aprendizagem e k foram respectivamente, 1000, 0.001 e 5. A Figura 12 mostra acurva ROC desse processo com as taxas de verdadeiros positivos e falsos positivos.

Figura 12 – Curva ROC mostrando a taxa de verdadeiros positivos e falsos positivos de teste para a RNA.

0.0 0.2 0.4 0.6 0.8 1.0Taxa de falsos positivos

0.0

0.2

0.4

0.6

0.8

1.0

Taxa

de ve

rdad

eiros p

ositivo

s

Curva ROC (area = 0.79)

Fonte – O autor (2019)

Observa-se que a quantidade de verdadeiros positivos aumenta, mas a quantidadede falsos positivos também aumenta, de forma que a área abaixo da curva ROC foi de79%.

Page 47: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

45

Ao escolher a arquitetura, repetiu-se o processo com 100% da base de dados paratreinar, o qual obteve 0.765721 de acurácia de treinamento e exportou-se essa rede. AFigura 13 mostra a curva ROC de treinamento desse processo.

Figura 13 – Curva ROC mostrando a taxa de verdadeiros positivos e falsos positivos de treinamento paraa RNA com 100% da base de dados para treinar.

0.0 0.2 0.4 0.6 0.8 1.0Taxa de falsos positivos

0.0

0.2

0.4

0.6

0.8

1.0Ta

xa de ve

rdad

eiros p

ositivo

s

Curva ROC (area = 0.87)

Fonte – O autor (2019)

Percebe-se que da mesma forma que ocorreu no gráfico apresentado na Figura12, a quantidade de verdadeiros positivos aumenta, assim como a quantidade de falsospositivos. A inclinação da curva ROC da Figura 13 é mais precisa do que da Figura 12,mostrando que existem mais verdadeiros positivos neste caso, influenciando também noaumento da área abaixo da curva, que foi de 87%. Para um processamento com grandequantidade de informações e sendo realizado com a RNA, os resultados apresentadosnas Figuras 12 e 13 foram relativamente bons. Porém esses resultados indicam que oprocessamento não foi bem sucedido para o problema proposto, haja vista que o idealseria o crescimento da curva para o canto superior esquerdo.

4.1.2 LeNet-5 modificada

Utilizou-se como base a arquitetura LeNet-5, a qual foi modificada para realizar oprocesso offline. Para a sua construção foram usadas três camadas convolucionais, cadauma seguida por camadas de ativação ReLU e max-pooling. Considerou-se a camada flattensendo uma camada totalmente conectada, logo foram construídas três camadas totalmenteconectadas, em que a segunda é seguida por uma camada de ativação e uma de dropout; omodelo é finalizado com uma camada de ativação sigmóide. A Tabela 3 apresenta os tiposde camadas, com suas respectivas saídas e parâmetros da LeNet-5 modificada.

Com isso, o processo offline foi realizado, em que a função de custo e a acuráciapara treinamento e validação obtidos são apresentados na Figura 14.

Page 48: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

46

Tabela 3 – Camadas, saídas e parâmetros da arquitetura LeNet-5 modificada.

Tipo de camada Saída Parâmetro1a camada convolucional (Conv2D) (48, 48, 32) 8961a camada de ativação (ReLU) (48, 48, 32) 01a camada de max-pooling (MaxPooling2) (24, 24, 32) 02a camada convolucional (Conv2D) (22, 22, 32) 92482a camada de ativação (ReLU) (22, 22, 32) 02a camada de max-pooling (MaxPooling2) (11, 11, 32) 03a camada convolucional (Conv2D) (9, 9, 64) 184963a camada de ativação (ReLU) (9, 9, 64) 03a camada de max-pooling (MaxPooling2) (4, 4, 64) 01a camada totalmente conectada (Flatten) (1024) 02a camada totalmente conectada (Dense) (64) 656004a camada de ativação (ReLU) (64) 0dropout (64) 03a camada totalmente conectada (Dense) (1) 655a camada de ativação (sigmóide) (1) 0

Fonte – O autor (2019)

Figura 14 – Processamento offline: curvas de função de custo para o treinamento e validação (superior) eacurácia de treinamento e validação (inferior) para a arquitetura LeNet modificada.

0 2 4 6 8 10 12Número de épocas

0.1

0.2

0.3

0.4

0.5

0.6

0.7

Funç

ão de cu

sto

TreinoValidação

0 2 4 6 8 10 12Número de épocas

0.5

0.6

0.7

0.8

0.9

Acurác

ia

TreinoValidação

Fonte – O autor (2019)

Page 49: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

47

Observa-se que as curvas de função de custo estão se aproximando do valor zero,entre 0.3 e 0.2 para validação e entre 0.2 e 0.1 para treinamento. Ou seja, ao finalizaro processo, as curvas continuaram próximas uma da outra. E as curvas de acurácias detreinamento e validação seguiram aproximadas uma da outra o processo inteiro, chegandoao resultado final com aproximadamente 95%.

Foi obtida ainda a curva ROC desse processamento, mostrada no gráfico da Figura15.

Figura 15 – Curva ROC mostrando a taxa de verdadeiros positivos e falsos positivos de teste para aLeNet-5.

0.0 0.2 0.4 0.6 0.8 1.0Taxa de falsos positivos

0.0

0.2

0.4

0.6

0.8

1.0

Taxa

de ve

rdad

eiros p

ositivo

s

Curva ROC (area = 0.94)

Fonte – O autor (2019)

Observa-se que a quantidade de verdadeiros positivos aumenta, de forma que acurva segue para o canto superior esquerdo e mostrando uma inclinação adequada, obtendouma área de 94% abaixo da curva. Indicando que o processamento dessa técnica obtevebom resultado para o problema proposto.

4.1.3 VGG16 modificada

Além da LeNet-5, a arquitetura VGG16 também foi utilizada como base e modi-ficada para a realização do processo offline. Essa CNN foi construída com três camadasconvolucionais, seguidas por camadas de maxPooling cada uma. Na sequência, têm-se trêscamadas totalmente conectadas, em que a segunda possui a ativação ReLU e é sequida poruma camada dropout e a terceira possui ativação sigmóide. A Tabela 4 apresenta os tiposde camadas, com suas respectivas saídas e parâmetros da arquitetura VGG16 modificada.

Realizou-se então o processo offline com esta técnica. A função de custo e aacurácia para treinamento e validação obtidos podem ser observados na Figura 16.

Page 50: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

48

Tabela 4 – Camadas, saídas e parâmetros da arquitetura VGG16 modificada.

Tipo de camada Saída Parâmetro1a camada convolucional (Conv2D) (50, 50, 64) 17921a camada de max-pooling (MaxPooling2) (25, 25, 64) 02a camada convolucional (Conv2D) (25, 25, 128) 738562a camada de max-pooling (MaxPooling2) (12, 12, 128) 03a camada convolucional (Conv2D) (12, 12, 256) 2951683a camada de max-pooling (MaxPooling2) (6, 6, 256) 01a camada totalmente conectada (Flatten) (9216) 02a camada totalmente conectada (Dense) (128) 1179776dropout (128) 03a camada totalmente conectada (Dense) (1) 129

Fonte – O autor (2019)

Figura 16 – Processamento offline: curvas de função de custo para o treinamento e validação (superior) eacurácia de treinamento e validação (inferior) para a arquitetura VGG16 modificada.

0 10 20 30 40 50Número de épocas

0.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

Função de custo

TreinoValidação

0 10 20 30 40 50Número de épocas

0.5

0.6

0.7

0.8

0.9

1.0

Acurácia

TreinoValidação

Fonte – O autor (2019)

A curva de função de custo de treinamento está abaixo do valor 0.1, entretanto

Page 51: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

49

para validação esse valor é aproximadamente 0.3. Em mais de metade do processo as curvasse distanciaram. Já as curvas de acurácias seguiram próximas uma da outra, em que aofinal o resultado obtido foi aproximadamente 95% para validação e 98% para treinamento.

Foi obtida a curva ROC desse processamento, apresentada na Figura 17.

Figura 17 – Curva ROC mostrando a taxa de verdadeiros positivos e falsos positivos de teste para aVGG16.

0.0 0.2 0.4 0.6 0.8 1.0Taxa de falsos positivos

0.0

0.2

0.4

0.6

0.8

1.0

Taxa

de ve

rdad

eiros p

ositivo

s

Curva ROC (area = 0.92)

Fonte – O autor (2019)

Percebe-se que a taxa de verdadeiros positivos cresce, de maneira que a curvasegue para o canto superior esquerdo do gráfico, obtendo uma área de 92% abaixo dacurva.

Analizando os resultados offline para as duas CNNs, estes foram satisfatórios.Porém observa-se que a arquitetura LeNet-5 obteve melhor resultado, considerando aaproximação das curvas da função de custo e de acurácia.

Para os dois modelos CNNs, ao término do processamento offline, as arquiteturasforam exportadas. Após a exportação das arquiteturas, elas foram importadas na aplicaçãoem tempo real para realizar os testes online.

4.2 Implementação em tempo real

Para o desenvolvimento dessa implementação, foram utilizadas a bibliotecaOpenCV e a linguagem Python. Essa foi desenvolvida para ligar a câmera do computador.Após isso, as imagens são capturadas de forma sequencial e constante, e em seguida sãoredimensionadas. O redimensionamento das imagens foi de 50 × 50 × 3, pelo mesmo motivoque foi feito na base de dados, afinal as redes treinadas foram utilizadas nessa aplicação.Então, necessitou-se que as imagens capturadas em tempo real estivessem de acordo com o

Page 52: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

50

padrão das imagens que foram submetidas ao processo de treinamento das redes. A Figura18 mostra as imagens capturadas em tempo real (a) e (b) e redimensionadas (c) e (d).

Figura 18 – Exemplos de fotos capturadas em tempo real: (a) Imagem não redimensionada de olhosabertos. (b) Imagem não redimensionada de olhos fechados. (c) Imagem redimensionada deolhos abertos. (d) Imagem redimensionada de olhos fechados.

Fonte – O autor (2019)

4.2.1 Detecção de face

Para o redimensionamento das imagens em tempo real foi preciso utilizar detecçãode face, pois o cenário das imagens capturadas é muito amplo, contendo informações des-necessárias para o processo. Na Figura 19 é mostrado um exemplo das imagens capturadasem tempo real, com dimensões de 848 × 480, antes de ser realizada detecção de face.

Figura 19 – Exemplo de imagem de olhos abertos capturada em tempo real antes de realizar detecção deface na qualidade de 848 × 480.

Fonte – O autor (2019)

Foram feitos testes sem realizar detecção de face nas imagens, apenas redimensionando-as, porém os resultados não foram satisfatórios, pois a técnica testada apresentava sempreos valores 0 (olhos fechados) mesmo quando a pessoa estava de olhos abertos. Na Figura20 é mostrada a imagem da Figura 19 redimensionada.

Page 53: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

51

Figura 20 – Exemplo de imagem de olhos abertos capturada em tempo real antes de realizada detecçãode face e redimensionada na qualidade de 50 × 50.

Fonte – O autor (2019)

Observa-se que ao redimensionar a imagem, na qualidade de 50 x 50, é difícilavaliar humanamente se os olhos da pessoa estão abertos ou fechados. Para as técnicasde IA isso também é difícil. Logo, o processo de detecção de face se fez necessário paramelhorar a avaliação das técnicas testadas.

A detecção é feita utilizando recursos da biblioteca OpenCV e um arquivo paradetectar face encontrado em OPENCV (2019). Então é usado um classificador a partirdesse arquivo, mas esse classificador recebe como entrada apenas imagens em escala decinza. Logo, as imagens são convertidas para escala de cinza e a detecção da face é realizadaa partir de variávens que contêm listas com cordenadas da face.

Como resultado, são retornadas as coordenadas de um retângulo que correspondeao rosto identificado (se este for identificado). Para visualizar essas coordenadas, é dese-nhado um retângulo, em que as coordenadas x e y correspondem ao ponto inferior esquerdodo retângulo e as coordenadas w e h correspondem a sua largura e altura, respectivamente.Na Figura 18 são observados exemplos de imagens capturadas e redimensionadas apósrealizar a detecção de face e percebe-se que este recurso foi válido para a aplicação, poisse pode avaliar se os olhos da pessoa na imagem estão abertos ou fechados.

Assim a detecção é realizada, o cenário da imagem que contêm o rosto é selecionadoe esta é convertida novamente para RGB, podendo assim ser redimensionada. Essa conversão

Page 54: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

52

para RGB ao finalizar a detecção de rosto foi necessária para propósitos de padronizaçãodas imagens.

Após o redimensionamento, as imagens são apresentadas as redes treinadas parafazer a avaliação do estado dos olhos, 0 ou 1, olhos fechados ou abertos, respectivamente.

4.3 Processamento online das arquiteturas

Os testes em tempo real utilizando as três arquiteturas exportadas anteriormenteforam feitos com 47 pessoas, com idade de 18 a 75 anos, em ambientes indoor e outdoor.A distância do rosto das pessoas para a câmera foi de aproximadamente 30 cm. Foirealizada equalização de histograma, mas não foi utilizada, pois não se observou diferençassignificativas com relação a diferença de luminosidade nas imagens.

A realização dos testes para as três arquiteuras foram feitas nas mesmas condiçõespara cada voluntário. Cada um deste realizava os três testes em sequência, na mesmaposição do rosto para a câmera e no mesmo ambiente. Para não haver diferênca narealização de testes de uma arquitetura para outra com o mesmo voluntário.

Durante os testes, foram capturadas 1013 fotos para a LeNet-5, 1006 para aVGG16 e 1190 para a RNA. A partir dessas fotos foi verificado manualmente, se as pessoasestavam de olhos abertos ou fechados, comparando com os resultados dados pelas redes.Assim, na Tabela 5, são mostrados os resultados para cada uma das técnicas. Observa-seque a técnica com melhor resultado foi a LeNet-5.

Tabela 5 – Percentual de acertos e erros para as três técnicas.

Arquitetura Acertos ErrosRNA 57,48 % 42.52 %LeNet-5 90.52 % 9.48 %VGG16 78.85 % 21.15 %

Fonte – O autor (2019)

Durante a realização dos testes foi pedido para os voluntários olharem para acâmera e abrirem ou fecharem os olhos nos momentos desejados, sem a necessidade decobrar repetição de teste caso o resultado fosse ruim para alguma técnica. Assim, permitiu-se avaliar que os melhores testes, levando em consideração a posição do rosto e distânciada câmera para o rosto ocorreram com a técnica LeNet-5.

Foram feitos cálculos dos testes para situações específicas. Na Tabela 6 sãoapresentados os resultados dos testes onde as pessoas estavam com olhos abertos efechados. Observa-se que para olhos fechados, a técnica LeNet-5 continua obtendo o melhorresultado, porém para olhos abertos, a técnica VGG16 obteve melhor resultado.

Page 55: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

53

Tabela 6 – Percentual de acertos e erros dos testes em que as pessoas estavam com olhos abertos e olhosfechados.

Arquitetura Olhos Abertos Olhos fechadosAcertos Erros Acertos Erros

RNA 80.84 % 19.16 % 34.12 % 65.88 %LeNet-5 87.81 % 12.19 % 93.35 % 6.65 %VGG16 92.37 % 7.63 % 64.18 % 35.82 %

Fonte – O autor (2019)

Na Tabela 7 são mostrados resultados dos testes em que as pessoas estavam com esem óculos. Obeserva-se que o melhor resultado para essas situações foi com a arquiteturaLeNet-5.

Tabela 7 – Percentual de acertos e erros dos testes realizados com pessoas utilizando e não utilizandoóculos.

Arquitetura Com óculos Sem óculosAcertos Erros Acertos Erros

RNA 62.77 % 37.23 % 55.90 % 44.10 %LeNet-5 92.59 % 7.41 % 90.05 % 9.95 %VGG16 81.77 % 18.23 % 77.11 % 21.89 %

Fonte – O autor (2019)

Na Tabela 8, são mostrados os resultados para os testes de pessoas utilizando enão utilizando óculos, de olhos abertos e fechados. Observa-se que para olhos abertos esem óculos, o melhor resultado foi obtido pela técnica VGG16. Da mesma forma, paraolhos abertos com óculos e olhos fechados, com e sem óculos, os melhores resultados foramobtidos pela técnica LeNet-5.

Tabela 8 – Percentual de acertos dos testes em que as pessoas estavam de olhos abertos, utilizando e nãoutilizando óculos e olhos fechados, utilizando e não utilizando óculos.

Arquitetura Olhos Abertos Olhos fechadosCom óculos Sem óculos Com óculos Sem óculos

RNA 87.97 % 78.79 % 39.01 % 32.60 %LeNet-5 92.86 % 86.63 % 92.31 % 93.58 %VGG16 88.57 % 93.31 % 74.49 % 61.56 %

Fonte – O autor (2019)

Page 56: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

54

Apesar de a base de dados ter sido construída apenas com imagens de pessoas quenão utilizavam óculos, foram feitos testes com pessoas que utilizavam óculos para tornaros resultados mais desafiadores. Neste caso, como pode ser observado nas Tabela 7 e 8, osresultados foram bons. Isso pode ter ocorrido pelo fato de que foram realizados apenas 8testes com pessoas que utilizavam óculos, haja vista que os resultados para esses testesforam melhores do que os resultados dos testes em que as pessoas não utilizavam óculos ea quantidade destes foi maior, com 39 testes.

Foram obtidos ainda resultados de testes considerando a idade das pessoas, emque conceituou-se adultos as pessoas entre 18 e 59 anos; e a partir de 60 anos, idosos.Na Tabela 9 são apresentados esses resultados. Observa-se que para a técnica LeNet-5 ostestes com idosos não obtiveram um bom resultado.

Tabela 9 – Percentual de acertos e erros dos testes de adultos e idosos.

Arquitetura Adultos IdososAcertos Erros Acertos Erros

RNA 58.33 % 41.67 % 52.15 % 47.85 %LeNet-5 93.51 % 6.49 % 68.07 % 31.93 %VGG16 78.56 % 21.44 % 80.62 % 19.38 %

Fonte – O autor (2019)

Para melhor avaliação dos resultados, na Tabela 10 são mostrados os percentuaisde acertos dos testes de adultos e idosos, com olhos abertos e fechados. Percebe-se queos resultados para idosos com olhos abertos da técnica LeNet-5 não foram favoráveis, oque pode ter influenciado no resultado de olhos abertos para essa técnica, apresentado naTabela 6.

Tabela 10 – Percentual de acertos dos testes em que as pessoas estavam com olhos abertos e fechados deadultos e idosos.

Arquitetura Olhos abertos Olhos fechadosAdultos Idosos Adultos Idosos

RNA 79.30 % 90.36 % 37.48 % 12.5 %LeNet-5 93.16 % 50 % 93.89 % 89.09 %VGG16 92.75 % 89.86 % 63.27 % 70 %

Fonte – O autor (2019)

Observa-se que para a maioria dos resultados, incluindo os gerais apresentadosna tabela 5, a melhor arquitetura foi a LeNet-5. Um dos motivos para essa ocorrênciapode ter sido os resultados do processo offline, onde o melhor resultado támbem foi obtido

Page 57: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

55

pela arquitetura LeNet-5, pois a VGG16 apresentou as curvas de função de custo detreinamento e validação relativamente afastadas uma da outra, deixando os resultadosdessa arquitetura piores ao se comparar com os resultados da LeNet-5. Isso poderia tercausado um overfitting, se o processo continuasse ao longo da quantidade de épocas.

Outro motivo que pode ser levado em consideração são as estruturas das redes. ALeNet-5 tem sua estrutura mais simplificada do que a VGG16, o que pode ter influenciadoa LeNet-5 na obtenção de resultados melhores, pois o problema proposto neste trabalhotem classificação binária, o que não necessita de uma arquitetura convolucional tão robusta.

A RNA foi considerada a pior técnica, levando em cosideração os parâmetrosavaliados, pois a posição do rosto deveria ser bem ajustada e os testes deveriam serrepetidos diversas vezes para conseguir uma posição adequada. Isso pode ter ocorrido pelofato de a RNA ser uma arquitetura tradicional e que não foi projetada para processareficientemente grandes quantidades de informações (e.g, imagens), em comparação com asCNNs.

Em suma, pelos motivos supracitados, os resultados foram satisfatórios, conside-rando que a arquitetura que apresentou o melhor resultado foi uma CNN de estruturamais simplificada, de acordo com o problema proposto.

Page 58: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

56

5 CONCLUSÃO

Este trabalho propôs a aplicação de três técnicas de IA (RNA, LeNet-5 e VGG16)juntamente com PDI para classificar dois estados dos olhos humanos: abertos e fechados.As técnicas foram submetidas, primeiramente ao processo offline (treinamento, teste evalidação) e em seguida ao processo online (testes em tempo real).

Os resultados dos processos offline e online foram avaliados e, como esperado,foram satisfatórios, pois as CNNs demonstraram melhor desempenho no processamento dasimagens, quando do objetivo de detecção de sonolência. A técnica RNA não obteve bonsresultados, pois ao comparar essa com as CNNs, ela não obteve resultados satisfatóriosquando trabalhou com grande quantidade de informações, por sua estrutura não serprojetada para processar dados multidimensionais.

A utilização das CNNs foi o diferencial deste trabalho para os trabalhos correlatos.O trabalho de Neshov e Manolova (2017) utilizou duas técnicas de IA: SVM e SDM. Oprocessamento de duas técnicas requer um poder computacional relativamente alto. Parao desenvolvimento do trabalho de Riztiane et al. (2017) se utilizou um método invasivo aomotorista, para detectar a frequência cardíaca. E no trabalho de Nur et al. (2016) foi usadopré-processamento de imagem mais aprofundado para deixar as imagens na escala de cinzae também se concentrar apenas nos olhos das pessoas, para diminuir as informaçoes e comisso reduzir o poder computacional a ser usado.

Este trabalho se concentrou em utilizar apenas uma técnica de IA para o desenvol-vimento da aplicação: a CNN. Esta é uma técnica mais atual e projetada para trabalharcom grande quantidade de dados e por este motivo as imagens não necessitaram de muitospré-processamentos, de forma que estas continham o rosto integral das pessoas e nãohouve pré-processamento para deixar as imagens em escala de cinza. Assim, utilizou-seapenas uma técnica de IA que não requereu grandes pré-processamentos nas imagens,se comparado com os trabalhos correlatos, diminuindo o poder computacional utilizado.Além disso, a aplicação desenvolvida é não invasiva ao usuário.

Em trabalhos futuros, pretende-se utilizar CNNs mais atuais como base e tambémaumentar a qualidade das imagens utilizadas na base de dados para o processamento comas CNNs, objetivando melhorar os resultados obtidos. Na realização do teste em temporeal, pretende-se levar em consideração a iluminação do ambiente.

Além disso, considerando o estado dos olhos como um dos parâmetros para avaliaro estado de sonolência, pretende-se desenvolver a análise de outros parâmetros, como afrequência e o tempo do piscar e ainda levar em consideração o tempo de classificação, paracriar um sistema de monitoramento de sonolência mais completo. O que poderá ajudar aevitar acidentes causados por condutores sonolentos.

Page 59: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

57

REFERÊNCIAS

ASSUNÇÃO, A. N. Monitoramento de condutores de veículos automotores por meio docontrole estatístico de processos. 2016.

BRADSKI, G.; KAEHLER, A. Learning OpenCV. Sebastopol: O’Reilly, 2008.

BROWNLEE, J. Save and Load Machine Learning Models in Pythonwith scikit-learn. 2016. Disponível em: <https://machinelearningmastery.com/save-load-machine-learning-models-python-scikit-learn/>. Acesso em: 20 jan 2019.

CARVALHO, E. et al. Exploiting the use of recurrent neural networks for driver behaviorprofiling. In: 2017 International Joint Conference on Neural Networks (IJCNN).[S.l.: s.n.], 2017. p. 3016–3021. ISSN 2161-4407.

CIRESAN, D. C. et al. Flexible, high performance convolutional neural networks for imageclassification. In: Twenty-Second International Joint Conference on ArtificialIntelligence. [S.l.: s.n.], 2011.

FILHO, O.; NETO, H. Processamento Digital de Imagens. Rio de Janeiro: Brasport,1999.

GONZALEZ, R.; WOODS, R. Processamento Digital de Imagens. São Paulo: PearsonPrentice Hall, 2010. 207–221 p.

GOOFELLOW, I.; BENGIO, Y.; COURVILLE, A. Deep Learning. Londres: Cambridge,2016.

HAYKIN, S. Redes Neurais: Princípios e Práticas. Porto Alegre: Bookman, 2001.

HAYKIN, S.; VEEN, V. Sinais e Sistemas. Porto Alegre: Bookman, 2001.

HOWSE, J. OpenCV Computer Vision with Python. [S.l.]: Packt Publishing, 2013.

HUBEL, D. H.; WIESEL, T. N. Receptive fields, binocular interaction and functionalarchitecture in the cat’s visual cortex. The Journal of physiology, Wiley Online Library,v. 160, n. 1, p. 106–154, 1962.

KERAS. Building powerful image classification models usingvery little data. 2016. Disponível em: <https://blog.keras.io/building-powerful-image-classification-models-using-very-little-data.html>. Acessoem: 02 fev 2019.

KOHAVI, R. et al. A study of cross-validation and bootstrap for accuracy estimation andmodel selection. In: MONTREAL, CANADA. Ijcai. [S.l.], 1995. v. 14, n. 2, p. 1137–1145.

KRIZHEVSKY, A.; SUTSKEVER, I.; HINTON, G. E. Imagenet classification with deepconvolutional neural networks. In:Proceedings of the 25th International Conferenceon Neural Information Processing Systems - Volume 1. USA: Curran AssociatesInc., 2012. (NIPS’12), p. 1097–1105. Disponível em: <http://dl.acm.org/citation.cfm?id=2999134.2999257>.

LECUN, Y.; BENGIO, Y.; HINTON, G. Deep learning. nature, Nature Publishing Group,v. 521, n. 7553, p. 436, 2015.

Page 60: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

58

LeCun, Y. et al. Backpropagation applied to handwritten zip code recognition. NeuralComputation, v. 1, n. 4, p. 541–551, Dec 1989. ISSN 0899-7667.

NESHOV, N.; MANOLOVA, A. Drowsiness monitoring in real-time based on superviseddescent method. In: 2017 9th IEEE International Conference on Intelligent DataAcquisition and Advanced Computing Systems: Technology and Applications(IDAACS). [S.l.: s.n.], 2017. v. 2, p. 660–663.

NUR, F. I. Y. et al. Analysis of eye closure duration based on the height of iris. In:2016 6th IEEE International Conference on Control System, Computing andEngineering (ICCSCE). [S.l.: s.n.], 2016. p. 419–424.

OPENCV. OpenCV: Open Source Computer Vision Library. 2019. Disponível em:<https://github.com/opencv/opencv/tree/master/data/haarcascades>. Acesso em: 15jan 2018.

PRF. Site Polícia Rodoviária Federal. 2017. Disponível em: <https://www.prf.gov.br/portal/sala-de-imprensa/releases-1/balanco-prf-2017/view>. Acesso em: 14 nov 2018.

PRF. Site Polícia Rodoviária Federal. 2018. Disponível em: <https://www.prf.gov.br/portal/sala-de-imprensa/releases-1/balanco-rodovida-2017-2018/view>. Acesso em: 14nov 2018.

RICH, E.; KNIGHT, K. Artificial Intelligence. 2rd. ed. New Delhi: McGraw-Hill, 1991.ISBN 978-0-07-008779-9.

RIZTIANE, A. et al. Driver drowsiness detection using visual information on android device.In: 2017 International Conference on Soft Computing, Intelligent System andInformation Technology (ICSIIT). [S.l.: s.n.], 2017. p. 283–287.

ROSENBLATT, F. The perceptron: a probabilistic model for information storage andorganization in the brain. Psychological review, American Psychological Association,v. 65, n. 6, p. 386, 1958.

RUSSELL, S.; NORVIG, P. Inteligência Artificial: Tradução da Terceira Edição.Rio de Janeiro: Elsevier, 2013.

SANTOS, M. G. dos; JÚNIOR, P. R. L. Avaliação de técnicas estatísticas para detecçãode anomalias aplicadas à internet das coisas. Revista de Tecnologia da Informação eComunicação, v. 8, n. 1, p. 13–18, 2018.

SCIKIT-LEARN. Cross-validation: evaluating estimator performance. 2018. Dis-ponível em: <https://scikit-learn.org/stable/modules/cross_validation.html>. Acesso em:02 fev 2019.

SCIKIT-LEARN. scikit-learn: Machine Learning in Python. 2019. Disponível em:<https://scikit-learn.org/stable/>. Acesso em: 08 mai 2019.

SIMONYAN, K.; ZISSERMAN, A. Very deep convolutional networks for large-scale imagerecognition. arXiv preprint arXiv:1409.1556, 2014.

STROSKI, P. Introdução às redes neurais. 2018. Disponível em: <http://www.electricalelibrary.com/2018/11/20/o-que-sao-redes-neurais-convolucionais/>. Acesso em:22 mai 2019.

Page 61: UNIVERSIDADEFEDERALDOSULESUDESTEDOPARÁ … · 2020. 1. 14. · Dados Internacionais de Catalogação -na -Publicação (CIP) Biblioteca Setorial II da Unifesspa Rodrigues , Joany

59

SZEGEDY, C. et al. Going deeper with convolutions. In: 2015 IEEE Conference onComputer Vision and Pattern Recognition (CVPR). [S.l.: s.n.], 2015. p. 1–9. ISSN1063-6919.

VINICIUS. Modelo Sequencial Do Keras. 2018. Disponível em: <https://www.monolitonimbus.com.br/modelo-sequencial-do-keras/>. Acesso em: 20 jan 2019.

WANG, T. et al. End-to-end text recognition with convolutional neural networks. In:Proceedings of the 21st International Conference on Pattern Recognition(ICPR2012). [S.l.: s.n.], 2012. p. 3304–3308. ISSN 1051-4651.

XIAOQIU, F.; JINZHANG, J.; GUOQIANG, Z. Impact of driving behavior on thetraffic safety of highway intersection. In: 2011 Third International Conference onMeasuring Technology and Mechatronics Automation. [S.l.: s.n.], 2011. v. 2, p.370–373. ISSN 2157-1473.

ZEILER, M. D.; FERGUS, R. Stochastic pooling for regularization of deep convolutionalneural networks. arXiv preprint arXiv:1301.3557, 2013.

ZHOU; CHELLAPPA. Computation of optical flow using a neural network. In: IEEE1988 International Conference on Neural Networks. San Diego, CA, USA, USA:IEEE, 1988. p. 71–78 vol.2.