• Nenhum resultado encontrado

Sistema de detecção de zona de visão do motorista utilizando câmera de profundidade

N/A
N/A
Protected

Academic year: 2021

Share "Sistema de detecção de zona de visão do motorista utilizando câmera de profundidade"

Copied!
107
0
0

Texto

(1)

Faculdade de Engenharia Elétrica e de Computação

Rafael Fernando Ribeiro

Sistema de Detecção de Zona de Visão do

Motorista Utilizando Câmera de Profundidade

Campinas

2019

(2)

Faculdade de Engenharia Elétrica e de Computação

Rafael Fernando Ribeiro

Sistema de Detecção de Zona de Visão do Motorista

Utilizando Câmera de Profundidade

Dissertação apresentada à Faculdade de En-genharia Elétrica e de Computação da Uni-versidade Estadual de Campinas como parte dos requisitos exigidos para a obtenção do título de Mestre em Engenharia Elétrica, na Área de Engenharia da Computação.

Orientador: Profa. Dra. Paula Dornhofer Paro Costa

Este exemplar corresponde à ver-são final da tese defendida pelo aluno Rafael Fernando Ribeiro, e orientada pelo Profa. Dra. Paula Dornhofer Paro Costa

Campinas

2019

(3)

Biblioteca da Área de Engenharia e Arquitetura Luciana Pietrosanto Milla - CRB 8/8129

Ribeiro, Rafael Fernando,

R354s RibSistema de detecção de zona de visão do motorista utilizando câmera de

profundidade / Rafael Fernando Ribeiro. – Campinas, SP : [s.n.], 2019.

RibOrientador: Paula Dornhofer Paro Costa.

RibDissertação (mestrado) – Universidade Estadual de Campinas, Faculdade

de Engenharia Elétrica e de Computação.

Rib1. Sensor kinect. 2. Aprendizado de máquina. 3. Motoristas. 4. Atenção. 5.

Apredizagem profunda. I. Costa, Paula Dornhofer Paro, 1978-. II. Universidade Estadual de Campinas. Faculdade de Engenharia Elétrica e de Computação. III. Título.

Informações para Biblioteca Digital

Título em outro idioma: Driver gaze zone detection system using a depth camera Palavras-chave em inglês: Sensor kinect Machine learning Drivers Attention Deep learning

Área de concentração: Engenharia de Computação Titulação: Mestre em Engenharia Elétrica

Banca examinadora:

Paula Dornhofer Paro Costa [Orientador] Hélio Pedrini

Eric Rohmer

Data de defesa: 06-08-2019

Programa de Pós-Graduação: Engenharia Elétrica

Identificação e informações acadêmicas do(a) aluno(a)

- ORCID do autor: https://orcid.org/0000-0002-7359-9902 - Currículo Lattes do autor: http://lattes.cnpq.br/0358598364085886

(4)

Candidato: Rafael Fernando Ribeiro RA: 75881

Data da Defesa: 6 de agosto de 2019

Título da Tese: Sistema de Detecção de Zona de Visão do Motorista Utilizando Câ-mera de Profundidade

Profa. Dra. Paula Dornhofer Paro Costa (Presidente) Prof. Dr. Hélio Pedrini

Prof. Dr. Eric Rohmer

A ata de defesa, com as respectivas assinaturas dos membros da Comissão Julgadora, encontra-se no SIGA (Sistema de Fluxo de Dissertação/Tese) e na Secretaria de Pós-Graduação da Faculdade de Engenharia Elétrica e de Computação.

(5)
(6)

Agradeço primeiramente a minha esposa e filha pela paciência e apoio durante minha jornada.

Minha professora Paula Dornhofer Paro Costa primeiramente pelo voto de confiança em me aceitar como seu orientando, segundo pelo aprendizado, dicas e ideias em todo o desenvolvimento deste trabalho e também pelo incentivo nas horas em que foi preciso.

Um especial agradecimento a todos os voluntários que participaram da coleta de imagens pelo tempo despendido e suportar o calor em dias de sol dentro do carro. Tenha certeza que sem essa ajuda o trabalho não seria finalizado.

Gostaria também de agradecer meu falecido pai e minha querida mãe pelos seus ensinamentos e por sua garra para tolerar os momentos difíceis.

Um abraço muito apertado e especial a minha tia e minha falecida avó, que sempre me incentivaram a buscar mais conhecimento e acreditarem em meu potencial.

(7)
(8)

A falta de atenção do motorista é uma das principais causas de acidentes envolvendo carros. Esses acidentes podem ser prevenidos por sistemas de alerta e monitoramento do motorista. O problema de monitorar o motorista no carro por meio de técnicas de visão computacional apresenta várias dificuldades tais como mudanças bruscas de luminosidade e diferentes características visuais que dificultam a detecção da face (uso ou não de óculos, barba, expressões faciais e diferentes etnias). O presente trabalho propõe um sistema de visão computacional capaz de detectar a desatenção do motorista com base no monitora-mento de seu foco de visão, permitindo inferir, por exemplo, se o motorista está olhando para a estrada ou não. O trabalho apresenta os resultados de experimentos com imagens coloridas, infravermelhas e de profundidade capturadas de motoristas dentro do carro. As imagens coletadas foram utilizadas para treinar algoritmos automáticos de detecção da zona de visualização do motorista em tempo real que podem ser utilizados durante o dia quanto à noite. Os experimentos propostos exploraram diferentes estratégias a fim de encontrar uma melhor forma de extrair as informações das imagens disponíveis. Fizemos experimentos isoladamente com as imagens coloridas, infravermelhas e de profundidade e com fusões destas a fim de adquirir a melhor acurácia dentre eles. O trabalho apresenta como principais contribuições a disponibilização de uma base de imagens de motoristas pública para fins de pesquisa, estudos sobre a aplicabilidade de imagens de profundidade de forma a melhorar a eficácia destes tipos de sistema e a definição de um modelo com acurácia superior a 90% para detecção do foco de visão.

Palavras-chaves: sistema avançados de assistência ao motorista; visão computacional, sistema de atenção de motorista; deep learning; estimação de foco de visão; câmera de profundidade.

(9)

Driver’s distraction is one of the main causes of car accidents. These accidents could be prevented by alert and monitoring Advanced Driver Assistance Systems (ADAS). The problem of monitoring the driver in the car through computer vision techniques presents several difficulties such as abrupt changes in light, different visual characteristics that make facial detection difficult, such as the use of glasses, beards, facial expressions and different ethnicities The present dissertation proposes a computer vision system able to detect the driver’s distraction by monitoring the driver gaze and estimating if the driver is looking to the road or not. Our work shows results of experiments on color, infrared and depth images captured directly from drivers. The captured images were used by the system to train a machine learning algorithm to predict the driver’s gaze zone automat-ically and on real-time, during day or night. The proposed experiments explore different configurations to find the best way to extract information from captured images. Hence, we trained different algorithms using separated color, infrared and depth images and we also trained the algorithms using fused data extracted from different images types to find the best model. Among the contributions of the present work is a new public image database of drivers, a study on the use of depth images in order to try to improve these kinds of systems and a trained model with an accuracy above 90% to detect the driver gaze region.

Keywords: advanced driver-assistance systems (adas); driver attention system; computer vision; depth camera; gaze estimation; deep learning.

(10)

Figura 2.1 – Imagem adaptada de Chacon-Murguia e Prieto-Resendiz (2015) e apre-senta uma visão geral dos sistemas de detecção de fadiga e atenção. Nosso trabalho explora os sistemas não intrusivos, baseados em visão observando os dados físicos dos motoristas como pose da cabeça e foco

dos olhos. . . 26

Figura 2.2 – Fluxo geral dos algoritmos de detecção de distração de motoristas adap-tado de Markkula et al. (2005). O trabalho apresenta um fluxo padrão encontrado em todos os sistemas de detecção de atenção de motoristas. 27 Figura 2.3 – Arquitetura da rede VGG16. Imagem: Davi Frossard, https://www.cs.toronto.edu/ fros-sard/post/vgg16/ - acessado em 6/2019 . . . 33

Figura 2.4 – Novo bloco residual apresentado pela ResNet. Fonte: He et al. (2016) . 34 Figura 2.5 – a Esquerda a arquitetura da rede SqueezeNet e a direita o detalhe de um modulo “fire”. Fonte: Iandola et al. (2016) . . . . 35

Figura 2.6 – Exemplo do módulo da MobileNet V2. Fonte: Google AI, https://ai.googleblog.com/2018/04/mobilenetv2-next-generation-of-on.html - acessado em 6/2019 . . . 37

Figura 3.1 – Medida de profundidade por disparidade estereoscópica . . . 42

Figura 3.2 – Conceito do sistema de câmeras baseada em luzes estruturadas . . . 43

Figura 3.3 – Conceito de câmeras Time-of-Flight . . . 44

Figura 3.4 – Visão frontal da câmera Intel○c RealsenseTM R200 . . . 44

Figura 3.5 – Histórico das principais câmeras de profundidade disponíveis no mercado 47 Figura 3.6 – Imagens da Intel○c RealsenseTM F200. Da esquerda para a direita, te-mos a imagem colorida, infravermelho e profundidade. Pode-se notar o problema em calcular a imagem de profundidade devido à iluminação solar . . . 48

Figura 3.7 – Pontos das zonas de visão do motorista no ambiente real. Os pontos de atenção estão destacados em verde. Figura inferior esquerda, posição de instalação da câmera. Figura inferior direita mostra a distância média entre o motorista e a câmera . . . 50

Figura 3.8 – Exemplo de algumas imagens armazenadas na nova base de dados. Na primeira coluna à esquerda temos as imagens do motorista com foco no espelho retrovisor direito (ponto 2), A coluna central mostra o motorista olhando para a pista pelo vidro frontal (ponto 13) e na coluna da direita temos o motorista com o foco na zona do retrovisor esquerdo (ponto 6) . . . 53

(11)

para todos os modelos e a etapa em verde expõe os diferentes modelos experimentados . . . 55 Figura 4.2 – Apresentação das zonas de foco de visão consideradas no trabalho, que

foram as mesmas utilizadas por Vora et al. (2018), somente a posição da câmera foi alterada de lugar, conforme descrito anteriormente (Figura 3.7). Imagem adaptada: Vora et al. (2018) . . . . 56 Figura 4.3 – imagem capturada da câmera colorida, onde o retângulo verde

repre-senta a imagem recortada utilizando o detector de face e o retângulo vermelho a imagem recortada de forma estatística . . . 58 Figura 4.4 – Exemplo de imagem extraída da câmera de profundidade. À esquerda,

a imagem antes de passar pelo filtro de 75 cm e, à direita, a imagem após passar pelo filtro . . . 58 Figura 4.5 – Imagens com as transformações utilizadas para exemplificar o processo

de aumento de imagens. A imagem do topo esquerdo é a imagem ori-ginal e todas as outras foram geradas artificialmente. . . 59 Figura 4.6 – Matriz e mapa de decisão para refinamento dos modelos baseado no

tamanho e similaridade da base de dados. Nosso trabalho se enqua-dra entre os quaenqua-drantes 1 e 3. Imagem adaptada: Marcelino, Pedro, https://towardsdatascience.com/transfer-learning-from-pre-trained-models-f2393f124751 . . . 61 Figura 4.7 – Exemplo de Matriz de confusão . . . 62 Figura 5.1 – Arquitetura do primeiro modelo treinado utilizando métodos

tradici-onais de aprendizado de máquina e usando como entrada o vetor de características extraído via HOG. . . 66 Figura 5.2 – Visualização T-SNE sobre as imagens coloridas à esquerda e sobre as

imagens infravermelhas à direita. Em ambos os casos, o T-SNE foi executado sobre os dados reduzidos via PCA, sendo espelho retrovisor esquerdo(2), espelho retrovisor direito(6), painel multimídia(8), painel de instrumentos(9), espelho retrovisor central e visão frontal(13). . . . 67 Figura 5.3 – Matriz de confusão dos modelos HOG+SVM, a esquerda o resultado

das imagens coloridas e as imagens infravermelha a direita. Ambos os modelos apresentam viés para os rótulos do painel multimídia(8) e visão frontal(13). . . 69

(12)

sultado das imagens coloridas e as imagens infravermelha a direita. Modelos com melhor classificação que o anterior porém podemos ob-servar o conflito entre os rótulos do painel multimídia(8) com o espelho retrovisor central(11) e entre o painel de instrumentos(9) com a visão frontal(13). . . 69 Figura 5.5 – Arquitetura do modelo baseado em algoritmo tradicional com o

ex-trator de características HOG aplicado sobre as imagens de colori-das/infravermelhas e de profundidade juntas. . . 71 Figura 5.6 – Visualização T-SNE sobre as imagens coloridas junto com a de

didade a esquerda e sobre as imagens infravermelhas mais a de profun-didade a direita. Em ambos os caso o T-SNE foi executado sobre os da-dos reduzida-dos via PCA. Onde, espelho retrovisor esquerdo(2), espelho retrovisor direito(6), painel multimídia(8), painel de instrumentos(9), espelho retrovisor central e visão frontal(13). . . 72 Figura 5.7 – Matriz de confusão dos modelos HOG+SVM, a esquerda o resultado

das imagens coloridas e as imagens infravermelha a direita . . . 73 Figura 5.8 – Matriz de confusão dos modelos HOG+PCA+SVM, a esquerda o

re-sultado das imagens coloridas e as imagens infravermelha a direita . . . 74 Figura 5.9 – Arquitetura empregada no modelo baseado em redes neurais utilizando

somente um tipo de imagem por vez (RGB ou IR ou Profundidade) . . 75 Figura 5.10–Exemplo de duas redes neurais treinadas sobre os dados dos motoristas,

na parte superior os dados da acurácia e função custo utilizando uma rede VGG16 sobre as imagens coloridas e na inferior a acurácia e função de custo utilizando uma rede ResNet50 sobre as imagens infravermelhas 76 Figura 5.11–Matrizes de confusão das melhores redes sobre cada tipo de imagem, a

esquerda na parte superior as imagens coloridas, a direita as imagens infravermelha e na parte de baixo o resultado sobre as imagens de profundidade. . . 79 Figura 5.12–T-SNE sobre o resultado das redes neurais treinadas, a esquerda a rede

MobileNet v2 com imagens coloridas e a direita a rede SqueezeNet sobre as imagens infravermelhas, sendo espelho retrovisor esquerdo(2), espelho retrovisor direito(6), painel multimídia(8), painel de instrumen-tos(9), espelho retrovisor central e visão frontal(13). . . 80

(13)

primeira coluna refere-se ao rótulo do retrovisor direito(6), a segunda ao rótulo da visão frontal(13) e a terceira ao rótulo do retrovisor es-querdo(2). A primeira e quarta linhas referem-se a imagens da câmera colorida e a segunda e quarta são referentes a imagens da câmera in-fravermelha. . . 81 Figura 5.14–Arquitetura da rede utilizando as imagens de profundidade de forma

paralela e com a concatenação dos dados no final. . . 83 Figura 5.15–Matriz de confusão dos modelos em paralelo, a esquerda a matriz de

confusão das imagens coloridas + profundidade e a direita o resultado das imagens infravermelhas e de profundidade. . . 84 Figura 5.16–Resultado do algoritmo T-SNE sobre os dados de teste da saída da rede

neural paralela, a esquerda temos o gráfico sobre as imagens coloridas e de profundidade e a direita o resultado sobre as imagens infraverme-lha e de profundidade, sendo espelho retrovisor esquerdo(2), espelho retrovisor direito(6), painel multimídia(8), painel de instrumentos(9), espelho retrovisor central e visão frontal(13). . . 85 Figura 5.17–Resultado do algoritmo T-SNE sobre os dados de teste da saída da rede

neural paralela, a esquerda temos o gráfico sobre as imagens coloridas, infravermelhas e de profundidade e a direita o resultado sobre as ima-gens infravermelha 1, infravermelha 2 e de profundidade. Explicando as legendas, espelho retrovisor esquerdo(2), espelho retrovisor direito(6), painel multimídia(8), painel de instrumentos(9), espelho retrovisor cen-tral e visão frontal(13). . . 85 Figura 5.18–Arquitetura do modelo de concatenação de imagens antes da rede

neu-ral, durante o pré-processamento as imagens das câmeras colorida, in-fravermelhas 1 e 2 e de profundidade são concatenadas, sendo na parte de cima a imagem colorida e de profundidade e na parte inferior as imagens infravermelhas, resultando em uma imagem de 256 x 256 x 3 (altura x largura x canais). A imagem então é passada para uma rede neural treinada previamente para refinamento. . . 86 Figura 5.19–Gráfico da acurácia do modelo proposto. A acurácia dos dados de

(14)

infravermelha 1 e infravermelha 2 e de profundidade. Cada uma dessas imagens possui o formato 128 x 128 x 1, onde o último parâmetro define quantos canais de cores a imagem possui. Após o empilhamento das imagens, a imagem resultante final possui dimensão de 128 x 128 x 3. . . 88 Figura 5.21–Gráfico da acurácia do modelo conforme o tempo representando o

trei-namento do novo modelo. Após 12 épocas não obtivemos nenhum in-cremento na acurácia. . . 88 Figura 5.22–Modelo utilizando o empilhamento das imagens da câmeras colorida e

de profundidade com 3 canais de cor. Ou seja, cada imagem possui o formato 128 x 128 x 3, que após o empilhamento ficam com o formato de 128 x 128 x 6. . . 89 Figura 5.23–Gráfico do treinamento da rede neural. O modelo não teve evolução

(15)

Tabela 2.1 – Pesquisas recentes baseadas em estimação zona de visão do motorista utilizando visão computacional . . . 32 Tabela 3.1 – Comparação das várias bases de dados existentes utilizando ou não

veí-culos. A definição da nossa nova base de dados chamada DG-Unicamp está na última coluna . . . 46 Tabela 3.2 – Comparação das tecnologias para obter imagens de profundidade . . . 49 Tabela 3.3 – Descrição de cada ponto de coleta de imagens no interior do veículo

em relação a Figura 3.7 . . . 51 Tabela 5.1 – Tabela com a acurácia obtida durante treino e testes sobre as

ima-gens RGB e IR utilizando os algoritmos tradicional de aprendizado de máquina. . . 68 Tabela 5.2 – Tabela com a acurácia obtida durante treino e testes das imagens RGB

e IR concatenadas com as imagens de profundidade. . . 73 Tabela 5.3 – Tabela com a acurácia obtida durante treino e testes das imagens

colo-ridas, infravermelhas e de profundidade utilizadas de forma separadas. Os modelos das duas últimas colunas foram treinados utilizando todas as imagens para treinamento. A rede MobileNet v2 apresentou o melhor resultado (87%) para as imagens RGB, já para as imagens infraverme-lhas a rede SqueezeNet treinada com todas as imagens foi melhor (85%) e a ResNet50 obteve a melhor acurácia nas imagens de profundidade (80%). . . 77 Tabela 5.4 – Tabela com a acurácia obtida sobre a base de testes das combinações

das imagens coloridas, infravermelhas e de profundidade utilizando a rede SqueezeNet. . . 83 Tabela 5.5 – Comparativo entre os resultados obtidos por Vora et al. (2018) e os

nossos melhores modelos. . . 93 Tabela 5.6 – Tabela extraída do trabalho de Vora et al. (2018), mostrando a eficácia

(16)

ADAS Advanced Driver Assistance Systems. AVECLOS Average of Eyelid Closure. BMP Bitmap.

CAM Class Activation Maps. CEP Comitê de Ética em Pesquisa. CNN Convolutional Neural Network. CPU Central Processing Unit.

EEG Electroencephalography. EOR Eyes Off the Road. FN False Negative. FP False Positive.

FRD Field Relevant for Driving. GAN Generative Adversarial Network. GHz GigaHertz.

GPS Global Positioning System. GPU Graphics Processing Unit.

HOG Histogram of Oriented Gradients. ICP Iterative Closest Point.

IR Infrared. MB Mega Byte.

(17)

OpenCV Open Source Computer Vision Library. OvR One versus Rest.

PCA Principal COmponent Analysis. PERCLOS Percentage of Eyelid Closure. PRC Percent Road Center.

PSO Particle Swarm Optimization. RAM Random Access Memory. RBF Radial Basis Function. ResNet Residual Network. RGB Red, Green, Blue.

RGB-D Red, Green, Blue and Depth. SSD Solid State Disk.

SVM Support Vector Machine.

T-SNE T-Distributed Stochastic Neighbor Embedding. TN True Negative.

ToF Time-of-Flight. TP True Positive.

VGG Visual GEometry Group.

(18)

1 Introdução . . . 20

2 Conceitos e Trabalhos Relacionados . . . 24

2.1 Desatenção e Fadiga de Motoristas: Definições e Métricas de Análise . . . . 24

2.2 Estimação de Zona de Visualização do Motorista . . . 27

2.3 Aprendizado de Máquina e Redes Neurais . . . 32

2.3.1 Métodos de Aprendizado de Máquina Tradicionais . . . 32

2.3.2 Arquitetura de Rede Neural VGG . . . 33

2.3.3 Arquitetura de Rede Neural ResNet . . . 34

2.3.4 Arquitetura de Rede Neural SqueezeNet . . . 35

2.3.5 Arquitetura de Rede Neural MobileNet . . . 36

2.3.6 Transferência de Aprendizado . . . 37

2.3.7 Aumentação de Dados . . . 38

2.4 Considerações Finais . . . 38

3 Construção da Base de Imagens . . . 40

3.1 Câmeras de Profundidade . . . 40

3.1.1 Câmeras Estereoscópicas . . . 41

3.1.2 Câmeras com Luz Estruturada . . . 42

3.1.3 Câmeras Time of Flight . . . 43

3.1.4 Câmeras Híbridas . . . 44

3.2 Bases de Imagens Existentes . . . 45

3.3 Escolha da Câmera . . . 47

3.4 Protocolo de Captura . . . 49

3.5 Considerações Finais . . . 53

4 Metodologia . . . 55

4.1 Seleção e Separação das Imagens da Base de Dados . . . 56

4.2 Pré-processamento das Imagens . . . 57

4.3 Aumentação de Dados . . . 59

4.4 Modelos avaliados . . . 60

4.5 Avaliação . . . 61

4.6 Comparação com Métodos Existentes . . . 63

4.7 Considerações Finais . . . 63

5 Experimentos e Resultados . . . 65

5.1 Protocolo e Plataforma de Testes . . . 65

(19)

5.4 Modelo Rede Neural treinada com Tipos de imagens diferentes separadamente 74

5.5 Modelo Rede Neural utilizando Imagem de Profundidade . . . 82

5.5.1 Fusão de duas ou mais redes neurais paralelas . . . 82

5.5.2 Concatenação de imagens sobre uma mesma rede neural . . . 86

5.5.3 Empilhando imagens em escala de cinza sobre uma mesma rede neural 87 5.5.4 Empilhando imagens sobre uma mesma rede neural com incremento de canais . . . 89

5.6 Comparação com Métodos Existentes . . . 90

5.7 Considerações Finais . . . 94

6 Conclusão . . . 96

6.1 Lições Aprendidas . . . 98

6.2 Perspectivas Futuras . . . 98

(20)

1 Introdução

Quaisquer atividades que desviem a atenção do motorista da sua tarefa prin-cipal de direção do veículo, são consideradas distrações. Assim, digitar em um celular, comer, beber, ajustar o controle do som, operar o sistema de GPS (Global Positioning

System) e até mesmo conversar com passageiros, são atividades caracterizadas como

dis-trações.

A desatenção de motoristas é uma das principais causas de acidentes de trân-sito. De acordo com um estudo publicado pela Administração Nacional de Segurança Rodoviária (NHTSA - National Highway Traffic Safety Administration) dos Estados Uni-dos, 80% dos acidentes e 65% dos quase acidentes envolvem alguma forma de desatenção do motorista. Adicionalmente, o estudo mostra que tais distrações ocorreram cerca de 3 segundos antes dos acidentes (FITCH, 2013).

Tecnologias móveis modernas propiciaram o aumento das distrações de mo-toristas. Em particular, podemos citar o uso do celular e dispositivos semelhantes por motoristas durante a condução do veículo. No mesmo estudo citado anteriormente, a NHTSA reportou que as principais causas para o aumento no risco de acidentes devido à desatenção dos motoristas são: digitação de mensagens de texto, navegação na internet e a realização de chamadas para outras pessoas. Há um consenso que as atividades descritas anteriormente são as maiores causas do tempo que um motorista permanece com os olhos fora da estrada1.

Estas distrações são comumente separadas em 4 categorias:

∙ Distrações Biomecânicas: O motorista retira suas mãos do volante (para pegar algo para comer, utilizar o sistema de navegação ou ajustar o rádio, por exemplo). ∙ Distrações Visuais: O motorista retira seus olhos da estrada (podemos citar aqui

a visualização de um outdoor ou um vídeo apresentado no sistema multimídia). ∙ Distrações Cognitivas: O motorista não está com sua mente focada em dirigir,

quando como o motorista está falando com o passageiro, digitando uma mensagem de texto ou simplesmente pensando em outras ações.

∙ Distrações Auditivas: Está relacionado a algum barulho que retire a atenção do motorista (por exemplo, quando um motorista recebe uma chamada de voz no telefone).

1 O tempo que um motorista permanece com o olhar desviado da estrada pode ser usado como uma

métrica para disparar sistemas de alarme ou de segurança no carro. Em inglês, encontra-se referências a sistemas de detecção EOR (Eyes Off the Road)

(21)

No Brasil, não existem estatísticas oficiais em relação a acidentes provocados pela desatenção de motoristas, mas são notórias as iniciativas educacionais e as mudanças de legislação recentes que visam orientar e coibir, por exemplo, que motoristas utilizem celulares enquanto dirigem.

Companhias automotivas têm trabalhado no desenvolvimento de sistemas de monitoramento das atividades dos motoristas como uma forma de prevenir acidentes e aumentar a segurança durante a condução (DONG et al., 2011). Em inglês, tais sistemas são tipicamente denominados advanced driver-assistance systems (ADAS), ou sistemas avançados de assistência ao condutor.

Dentre as linhas de pesquisa voltadas para o desenvolvimento de sistemas de segurança e prevenção de acidentes que incluem, por exemplo, o avanço de sistemas adaptativos de piloto automático e de prevenção de colisões, destaca-se o monitoramento das atividades e do comportamento dos motoristas, que apresenta desafios à pesquisa na área de visão computacional.

Dentre as diferentes abordagens propostas para o monitoramento de motoris-tas (DONG et al., 2011), o presente trabalho foca em sistemas de monitoramento de pose de cabeça, como um indicador da direção de visão do motorista (em inglês, driver gaze). Em particular, o trabalho propõe e avalia um algoritmo capaz de identificar automaticamente a região do olhar do motorista a partir de imagens de uma câmera de profundidade instalada no painel do carro.

Nas câmeras digitais comuns, ou RGB, cada pixel da imagem armazena as informações de cor como um valor nos planos vermelho (Red), verde (Green), azul (Blue). Já nas câmeras RGB-D, um valor adicional é armazenado, registrando uma informação de profundidade (Depth), que representa a distância do ponto do objeto representado pelo pixel à câmera, no momento da captura. Câmeras RGB-D tipicamente utilizam sensores infravermelhos capazes de registrar a informação tridimensional de um cenário e seus elementos. A informação de profundidade registrada por estas câmeras tem o potencial de contribuir para uma detecção mais acurada da pose do motorista.

O trabalho descreve o processo de construção de uma base de treinamento rotulada de imagens RGB-D de motoristas em situações simuladas de desatenção e o desenvolvimento de um algoritmo automático de monitoramento a partir da aplicação de processos de aprendizagem de máquina na base construída.

O algoritmo desenvolvido foi avaliado considerando-se diferentes cenários, tais como, imagens capturadas de dia ou de noite, em cenários externos (outdoor ) ou internos (indoor ), motoristas sem óculos e com óculos. Além disso, foram realizados diferentes experimentos com as imagens puramente coloridas (RGB) e RGB-D.

(22)

Como principais contribuições do trabalho citamos:

∙ o desenvolvimento de um algoritmo automático de detecção de região de olhar com taxa de acerto de mais de 90%;

∙ a criação de uma base de dados rotulada de imagens de profundidade de motoristas em situações de desatenção, compartilhada para fins de pesquisa.

O trabalho resultou em uma publicação na conferência internacional:

RIBEIRO, R. F.; COSTA, P. D. P. “Driver Gaze Zone Dataset With Depth Data”. In: 14th IEEE International Conference on Automatic Face and Gesture Recogni-tion. Lille, France, May 2019

O trabalho está organizado da seguinte maneira:

∙ Capítulo 1 - Introdução

Neste capítulo são apresentados: as motivações para o desenvolvimento deste traba-lho, um breve resumo das características da solução apresentada, as contribuições principais e a organização do trabalho.

∙ Capítulo 2 - Conceitos

A proposta deste capítulo é apresentar as principais abordagens utilizadas nos dias atuais para resolver o problema em questão tendo como critério uma revisão da lite-ratura referente a este tópico. A partir desta revisão são apresentadas as abordagens típicas adotadas, justificando-se a abordagem adotada neste trabalho.

∙ Capítulo 3 - Construção da Base de Imagens

Este capítulo compreende a descrição do protocolo e o processo utilizado para a captura das imagens dos motoristas, assim como as etapas de pré-processamento das imagens para a construção da base de imagens.

∙ Capítulo 4 - Metodologia

Neste capítulo, são descritos os detalhes da proposta adotada, os passos realizados para o pré-processamento das imagens e os algoritmos utilizados.

∙ Capítulo 5 - Experimentos e Resultados

O capítulo apresenta a metodologia empregada para a execução dos experimentos, os resultados e as conclusões sobre os mesmos.

(23)

∙ Capítulo 6 - Conclusão

O último capítulo aborda as principais contribuições e os desenvolvimentos futuros incentivados por este trabalho.

(24)

2 Conceitos e Trabalhos Relacionados

Este capítulo caracteriza os problemas de fadiga e desatenção de motoristas e apresenta as principais abordagens existentes para o monitoramento de motoristas.

2.1

Desatenção e Fadiga de Motoristas: Definições e Métricas de

Análise

No contexto de sistemas de monitoramento de motoristas existem dois tipos de análise tipicamente conduzidas, uma relacionada ao conceito de fadiga e outra à de-satenção. Fadiga e desatenção são causas comuns de acidentes envolvendo a direção de veículos, porém, a definição e forma de avaliação de ambos são diferentes.

A fadiga envolve condições fisiológicas e resulta em aspectos observáveis tais como: movimento da cabeça menos frequentes; incremento do número de vezes que o motorista toca ou coça os olhos, rosto e orelha; aumento drástico na frequência do piscar de olhos e nos bocejos; adoção de uma postura mais relaxada (ESKANDARIAN et al., 2007). A fadiga pode ser monitorada via análise de ondas cerebrais e sistemas de visão computacional capazes de analisar a atividade dos olhos, as expressões faciais ou outras variações no comportamento do motorista.

Uma das métricas frequentemente utilizadas como métrica de fadiga é a mé-trica PERCLOS/AVECLOS (Percentage of Eyelid Closure/Average of Eyelid Closure) (DIN-GES; GRACE, 1998; EDWARDS et al., 2007; GRACE; STEWARD, 2001; JI et al., 2004; DINGES et al., 1998) e estas métricas também foram consideradas boas por alguns relató-rios da NHTSA1(TIJERINA et al., 1998; DUKES, 1999; KNIPLING, 1998). Os motoristas que estão em estado de fadiga ou sono geralmente perdem a força muscular da face e os movimentos de piscar os olhos ficam mais lentos e com períodos maiores de olhos fecha-dos. A métrica determina se o motorista está em estado de sonolência pela análise do piscar de olhos e a proporção do tempo que os olhos ficam até 80% fechados ao longo de um minuto. Caso a porcentagem seja maior que 80% diz-se que o motorista encontra-se em estado de sonolência. O trabalho de Bergasa et al. (2006) é um exemplo de sistema que combina várias métricas para detecção de fadiga, incluindo PERCLOS, frequência do piscar de olhos (em inglês, Eye Closure Rate ou ECD), menear da cabeça e fixação dos olhos. A métrica AVECLOS é semelhante porém menos complexa, é a porcentagem de tempo que os olhos ficam totalmente fechados no período de um minuto.

(25)

A distração diferencia-se da fadiga por não ter origem fisiológica e ser causada por eventos externos que tiram a atenção do motorista da sua principal função e que afetam a sua concentração e a sua capacidade cognitiva. Assim, as principais maneiras de monitoramento de desatenção de motoristas envolvem a observação do desvio de olhar e da cabeça, e a análise de tempo que o olhar permanece fora da zona-alvo de atenção (MIYAJI et al., 2009; LIANG; LEE, 2010).

O trabalho de Kircher et al. (2009) compara dois algoritmos diferentes para detecção de distração baseados no rastreamento dos olhos e a determinação do ponto de foco do olhar. Um dos algoritmos utiliza como métrica uma medida do tempo que o motorista foca no centro da pista denominada Porcentagem do Centro da Rodovia (Percent Road Center - PRC ). Para valores de PRC maiores que 92% considera-se que o motorista está concentrado na rodovia e, para valores de PRC abaixo de 58%, computados em um intervalo de um minuto, considera-se que o motorista está desatento. O segundo algoritmo é baseado num modelo 3D do mundo com diferentes zonas no interior do carro, como pará-brisas, odômetro, espelhos retrovisores e painel de controle. Adicionalmente, analisa-se o tempo que o motorista despende olhando para estas zonas. Um contador de tempo com valor de 2 segundos é decrementado quando o motorista não está olhando para o Campo Relevante de Condução (Field relevant for driving - FRD). Quando o motorista está com o foco no FRD o contador é incrementado até o tempo máximo e, caso o contador chegue a zero, o motorista é considerado em estado de desatenção. O trabalho mostra que ambas as métricas tem potencial para detectar se o motorista está desatento ou não.

Seguindo abordagem semelhante, Pohl et al. (2007) utilizaram a posição da cabeça e foco dos olhos para modelar a distração visual, também dependente do tempo de foco visual.

Ranney (2008) menciona outros sinais que também podem ser utilizados para detecção de fadiga e/ou desatenção que envolvem a análise da performance na condução do veículo, tais como alterações na velocidade do veículo de forma abrupta e a troca de faixas.

Dong et al. (2011) identificam os principais tipos de sensores utilizados para detecção de fadiga e desatenção, incluindo eletroencefalograma (EEG), dados coletados de sistemas veiculares (e.g. velocidade, posição do volante) e imagens de câmeras para monitoramento do motorista.

A Figura 2.1 apresenta uma visão geral de sistemas de detecção de fadiga e atenção. Na figura, é possível observar a divisão entre sistemas intrusivos e não intrusivos. Nosso trabalho está contextualizado nos sistemas não-intrusivos, baseado em visão do motorista com a observação de dados físicos.

(26)

Figura 2.1 – Imagem adaptada de Chacon-Murguia e Prieto-Resendiz (2015) e apresenta uma visão geral dos sistemas de detecção de fadiga e atenção. Nosso trabalho explora os sistemas não intrusivos, baseados em visão observando os dados físicos dos motoristas como pose da cabeça e foco dos olhos.

Temos na Figura 2.2 o detalhamento do fluxo de sistemas de atenção de mo-toristas. A entrada do fluxo podem vir de sensores do veículo, do carro, do motorista ou uma combinação dos anteriores. Na sequência, temos um bloco de processamento dos dados extraídos dos sensores. Na fase de detecção, temos o mapeamento ou cálculo das informações a fim de no final estimar se o motorista está atento ou não por um ou mais fatores como distrações cognitivas, compartilhamento visual ou se os olhos estão voltados para a via ou não.

Sistemas intrusivos, como aqueles baseados na leitura de sinais EEG, demos-tram ser eficientes e sensíveis para detecção de cansaço conforme apresentaram Thors-lund (2004), Katsis et al. (2004), Bouchner (2006). Porém, estes métodos são de difícil implementação para uso cotidiano. Adicionalmente, são sistemas que exigem calibração individual e seus resultados não são facilmente generalizáveis.

(27)

con-Figura 2.2 – Fluxo geral dos algoritmos de detecção de distração de motoristas adaptado de Markkula et al. (2005). O trabalho apresenta um fluxo padrão encontrado em todos os sistemas de detecção de atenção de motoristas.

forme citado anteriormente. Entretanto, uma de suas limitações se dá pelo fato de que, para termos boas predições, é necessário realizar a medição por um intervalo de tempo elevado, adicionando o fato de que temos diferenças entre a frequência de piscar de olhos entre um motorista e outro. Um outro desafio é sua performance sobre todas as condições e variações climáticas (dia, noite, ensolarado, nublado e etc), isso porque este algoritmo se baseia em métodos tradicionais de visão computacional. Alguns pesquisadores utilizam câmeras infravermelhas para minimizar estas condições e variações, estas câmeras também ajudam a ressaltar a pupila, que é uma característica importante neste tipo de detecção, dado que a pupila emite um brilho maior com este tipo de iluminação infravermelha, isto sem afetar ou perturbar o motorista, já que esta luz infravermelha é praticamente imper-ceptível para o ser humano. Todavia, mesmo se precavendo com a utilização deste tipo de iluminação os problemas continuam, pois como apresentado em Bergasa et al. (2006), variações bruscas na iluminação devido a postes, outros veículos ou pelo sol fazem com que o efeito de brilho da pupila desapareça. Outro fator a se considerar são os motoristas utilizando óculos, em que a reflexão causada pelas lentes atrapalha o efeito do brilho da pupila podendo reduzir a sua detecção em 30%.

O mesmo problema que recai sobre o PERCLOS devido a mudanças de ilumi-nação afeta praticamente todos os algoritmos que se baseiam em visão computacional.

2.2

Estimação de Zona de Visualização do Motorista

Nosso trabalho está baseado em sistemas de visão computacional, pois estes tratam de maneira não intrusiva como estimar se o foco de atenção do motorista está na condução do veículo ou não, conforme podemos observar na Figura 2.1. Para detectar

(28)

a distração do motorista é necessário monitorar para onde a cabeça e os olhos estão direcionados e assim estipular uma zona de visualização. A partir desta informação, é possível determinar se o motorista está com a atenção voltada na condução do veículo ou não. Neste contexto, existem diferentes abordagens para o problema de determinação da posição da cabeça e olhos do motorista num veículo.

Uma destas abordagens, é o rastreamento remoto dos olhos, que permite es-timar a zona de foco do motorista. Porém, técnicas de rastreamento dos olhos ainda são ineficientes para ambientes externos. Isto ocorre porque, tipicamente, estes sistemas de-pendem de iluminadores infravermelhos (Near-Infrared - IR) para produzir um efeito de brilho na pupila, como descrito em Bergasa et al. (2006), Ji e Yang (2002). Isto torna estes sistemas sensíveis às condições diversas de iluminação externa. No intuito de minimizar e diminuir esta sensibilidade para este problema, estes sistemas utilizam um hardware especifico para iluminação e da mesma forma geralmente necessitam de uma calibração nas câmeras, visto que podem perder a sensibilidade devido as vibrações do veículo ou troca de motoristas.

Devido às limitações mencionadas anteriormente, sistemas baseados em visão computacional tendem a ser atrativas para solucionar este problema de estimação de zona de visão. Estes sistemas são agrupados em duas técnicas para estimar a direção da zona de foco do motorista: técnicas baseadas na posição da cabeça e técnicas baseadas na posição da cabeça e do foco de visão.

Sobre a primeira técnica que envolve somente a posição da cabeça do moto-rista, ela provê um estimativa eficiente sobre a direção do olhar. Para os sistemas que se utilizam somente da estimação da posição da cabeça, um longo trabalho pode ser encon-trado em Murphy-Chutorian e Trivedi (2009). Entretanto, descreveremos alguns trabalhos que utilizaram somente a posição da cabeça nos próximos parágrafos. Na sequência apre-sentaremos os trabalhos relacionados à segunda técnica que envolve a posição da cabeça e dos olhos.

Existem outros trabalhos que estimam a posição da cabeça porém foram de-senvolvidos para contextos diferentes do que o monitoramento dos motoristas e do inte-rior do veículo. Os trabalhos de Meyer et al. (2015), Fanelli et al. (2011a), Borghi et al. (2017) propõem três principais categorias, denominadas com baseadas em característi-cas (feature-based), baseadas em aparências (appearance-based) e modelos 3D (3D model

registration).

Os métodos baseados em características necessitam extraí-las da face (por exemplo nariz, olhos) ou da pose da cabeça. Estas características devem ser visíveis du-rante todo o processo; consequentemente, estes modelos falham quando ocorre alguma

(29)

falha na determinação e detecção destas características. Como trabalhos que se utilizam deste método podemos citar: Malassiotis e Strintzis (2005), em que um acurado localiza-dor de nariz foi utilizado para rastrear a cabeça e estimar a pose da mesma utilizando dados de profundidade. Um extrator de características HOG (Histogram of Oriented

Gra-dients) (DALAL; TRIGGS, 2005) foi utilizado por Saeed e Al-Hamadi (2015) e Yang et al.

(2012) para extrair as características de imagens RGB e de profundidade, que depois fo-ram classificadas utilizando um classificador Multi Layer Perceptron e um SVM(Support

Vector Machine) linear, respectivamente. Os trabalhos Vatahska et al. (2007), Yang e

Zhang (2002) e Matsumoto e Zelinsky (2000) também precisam que as características faciais estejam bem visíveis nas imagens RGB para funcionar e, assim como Sun e Yin (2008), também necessitam que as características faciais estejam visíveis no cotexto das imagens de dados em 3D.

Métodos baseados sobre a aparência dependem de um ou mais classificadores treinados sobre as imagens cruas (sem nenhum tipo de tratamento) para estimar a posição da cabeça. Em Seemann et al. (2004), as imagens RGB e de profundidade foram combi-nadas, e uma rede neural foi usada para predizer a posição da cabeça. Já os trabalhos (FANELLI et al., 2013), Fanelli et al. (2011a) e Fanelli et al. (2011b) treinaram uma flo-resta de regressão aleatória (Random Regression Forest), tanto para encontrar a posição da cabeça quanto para estimar sua direção. Uma rede neural convolucional (Convolutional

Neural Network (CNN) utilizando imagens RGB como entrada foi explorado por Ahn et al. (2014). E recentemente, Mukherjee e Robertson (2015) propuseram uma CNN

multi-modal para estimar a direção do foco de visão, onde um regressor de 360 classes foi usado. Já Borghi et al. (2017) basearam-se somente em imagens de profundidade para estimar a posição da cabeça em uma arquitetura com três CNNs. A primeira processava dados de profundidade crus, a segunda utilizada um modelo de face em escala de cinza criado a partir das imagens de profundidade e a ultima utilizava dados da saída do algoritmo de Farneback (FARNEBACK, 2001) aplicado as imagens de profundidade.

Já os métodos de modelos 3D criam um modelo de cabeça 3D a partir dos dados adquiridos e frequentemente necessitam de uma inicialização. Em Papazov et al. (2015), a nuvem de pontos da face foi combinada com as posições de cabeça candidatas, através de um descritor de fragmento de superfície triangular. Em Ghiass et al. (2015) um modelo 3D morfológico é ajustado usando os dados das imagens RGB e de profundidade para estimar a posição da cabeça. Os trabalhos Baltrušaitis et al. (2012), Cai et al. (2010), Blanz et

al. (1999), Cao et al. (2013), Bleiweiss e Werman (2010), Rekik et al. (2013) também

constroem um modelo de face 3D para rastrear, animar e estimar a pose da cabeça. Em algumas abordagens, a estimativa da posição da cabeça é tratada como um problema de otimização. Padeleris et al. (2012) utilizaram os conceitos do otimizador de

(30)

enxame de partículas (Particle Swarm Optimization - PSO) (KENNEDY, 2010). Já Bär

et al. (2012) explorou o algoritmo iterativo de pontos mais próximos (Iterative Closest Point - ICP) (LOW, 2004). O trabalho de Meyer et al. (2015) já combinou as duas

técnicas anteriores de PSO e ICP para sua estimativa. Kondori et al. (2011) utilizaram a técnica dos mínimos quadrados para minimizar a diferença entre a taxa dos dados de profundidade de entrada com a taxa de predição.

Voltando para o contexto veicular, Tawari e Trivedi (2014) combinaram a posição estática da cabeça com a dinâmica temporal dentro de um sistema multi-câmeras para obter uma estimação mais robusta do foco de visão do motorista.

Entretanto, existe um problema comum neste tipo de solução em classificar a direção do foco da zona de visão baseado somente na posição da cabeça. Quando o motorista mantém sua cabeça estática e vira somente seus olhos para uma zona de visão diferente, a posição da cabeça continua a mesma, mas sua atenção está em outra zona de visão. Estes os métodos que se utilizam somente da posição da cabeça falham para estimar zonas de visão adjacentes pelo movimento sutil do olhar, como por exemplo a vista para o pára-brisa frontal e o painel de instrumentação. O trabalho de Fridman et al. (2016b) analisa bem este contexto e avalia que sistemas baseados somente na posição da cabeça em geral perdem cerca 5% na precisão em determinar a zona de visão do motorista.

Assim sendo, é essencial utilizarmos os olhos do motorista para estimar a zona do foco de visão.

As abordagens para a detecção das pupilas oculares foram extensivamente estudadas e uma revisão pode ser encontrada em Al-Rahayfeh e Faezipour (2013). Os métodos usualmente rastreiam a reflexão da córnea, distinguindo a forma da pupila com-binando um algoritmo de detecção de bordas ou um modelo 3D do olho para estimar a posição do olho. Neste contexto, podemos citar o trabalho elaborado por Vicente et al. (2015), que apresenta um modelo 3D para encontrar a posição da cabeça e estimar o centro do globo ocular para determinar se o motorista está olhando para a pista ou não. Entretanto, ele não apresenta de forma clara a base de dados utilizada e como foi feita a seleção dos motoristas.

Tawari et al. (2014a) combinaram a pose da cabeça com as características ex-traídas de pontos de referencia do rosto com os olhos e conseguiu resultados expressivos. Vasli et al. (2016) usou uma fusão de características extraídas da pose da cabeça e dos olhos com outras extraídas de restrições geométricas do carro para classificar o foco de visão do motorista entre seis zonas. Enquanto, Fridman et al. (2016b) também combina-ram a pose da cabeça e a pose dos olhos para estimar o foco de visão do motorista em seis zonas e os resultados foram obtidos em conjunto considerável de 40 motoristas diferentes.

(31)

Estas abordagens apresentam dois problemas principais. Primeiramente, elas envolvem um fluxo complexo de detecção de rosto, estimação dos pontos de referência da rosto, detecção da pupila e, finalmente, extração das características principais. Neste tipo de abordagem, a decisão do classificador é dependente de que cada módulo trabalhe corretamente. Em segundo lugar, as características extraídas manualmente dos pontos do rosto não são robustas a variações entre diferentes motoristas, carros e posição de assento. Estes problemas se tornam mais aparentes quando os sistemas são avaliados com variações de diferentes motoristas, carros, câmeras e posições de assentos. Os resul-tados dos trabalhos realizados por Fridman et al. (2016b), Fridman et al. (2016a) e Vora

et al. (2018) são os únicos que apresentaram os resultados sobre testes de motoristas de

forma cruzada, ou em inglês, cross driver testing, onde os motoristas que participam do treinamento não são utilizados durante os testes para estimar a zona do foco de visão e vice versa. O maior problema das abordagens realizadas por Fridman é que, para poder estimar com precisão a zona de visão, eles necessitam do resultado do classificador em um determinado número de imagens em sequência, o que eles chamaram de taxa de confiabili-dade, onde quanto mais imagens eles passarem pelo classificador maior será sua acurácia. Eles chegaram a uma alta taxa de confiabilidade, no caso 10, para tomar suas decisões, o que torna seus modelos não bem generalizáveis e lentos, pois seus modelos realizam suas decisões a uma taxa de 1.3 quadros por segundo. Vora et al. (2018), apesar de apresen-tarem uma melhor generalização e maior taxa de quadros por segundo, só se utilizam de imagens coloridas e assim não pode ser aplicado durante a condução noturna, isto porque durante a noite não é possível capturar imagens da câmera colorida sem uma ilumina-ção externa, porém isso iria incomodar o motorista, desse modo normalmente utilizam iluminação infravermelha e câmeras capazes de capturar imagens neste espectro.

A Tabela 2.1 apresenta as principais pesquisas utilizando visão computacional para resolver o problema de estimação de zona de foco do motorista, abordagem também adotada no presente trabalho. A tabela destaca as principais características extraídas para determinar o modelo.

(32)

Tabela 2.1 – Pesquisas recentes baseadas em estimação zona de visão do motorista utili-zando visão computacional

Estudo Objetivo Camera Características Teste cruzado dos motoristas

Número

de Zonas Classificador

Tawari and Tivedi’14a Estimação de zona de visão usando posição da cabeça dinamicamente

2 câmeras em diferentes posições

Posição da cabeça extraindo características estáticas

(yaw, pitch, roll) Posição da cabeça extraindo características dinâmicas

(6 pelo ângulo)

Não 8 Random Forest

Tawari et al’14b Estimação de zona de visão usando cabeça e olhos

2 câmeras em diferentes posições

Posição da cabeça (yaw, pitch, roll) Foco visão horizontal,

Foco visão vertical

Não 6 Random Forest

Vaslic Estimação de zona de visão usando

a fusão de métodos geométricos e aprendidos 1 câmera

Posição da cabeça (yaw, pitch, roll) Foco visão 3d, Foco visão vertical e horizontal 2d

Não 6 SVM

Fridman et ald Estimação de zona de visão usando configurações espaciais de pontos da faces

1 câmera (tons de cinza)

3 ângulos de cada triângulo resultante de uma triangulação Delaunaye

sobre 19 pontos da face

Sim 6 Random Forest

Fridman et alf Estimação de zona de visão usando a posição da cabeça e olhos

1 câmera (tons de cinza)

Posição da cabeça usando uma classificação de características da face,

detecção da pupila

Sim 6 Random Forest

Choi et alg Estimação de zona de visão usando

usando CNN 1 câmera

Aprendidas automaticamente de uma

rede neural convolucional. Não 9 CNN Vora et alh Estimação generalizada de zona de visão

usando CNNs 1 câmera

Aprendidas automaticamente de uma

rede neural convolucional. Sim 7 CNN Este trabalho Estimação generalizada de zona de visão

usando CNNs e imagens de profundidade 3 câmera

Aprendidas automaticamente de uma

rede neural convolucional. Sim 6 CNN

a (TAWARI; TRIVEDI, 2014) b (TAWARI et al., 2014a) c (VASLI et al., 2016) d (FRIDMAN et al., 2016a)

e (HASSANPOUR; ATALAY, 2004) f (FRIDMAN et al., 2016b)

g (CHOI et al., 2016) h (VORA et al., 2018)

2.3

Aprendizado de Máquina e Redes Neurais

A aplicação de redes neurais profundas, ou deep learning, para classificação de imagens tornou-se destaque a partir de 2012, depois que a rede AlexNet desenvolvida por Krizhevsky et al. (2012), venceu a competição de classificação de imagens mais importante na área, chamada de ImageNet Large Scale Visual Recognition Challenge (DENG et al., 2009), que é uma competição para classificação de 1000 diferentes classes de imagens e se tornou base de referência para avaliar algoritmos de classificação.

O que vimos nos anos posteriores ao título deste tipo de algoritmo nesta com-petição, foi uma rápida evolução destas redes. Estas redes também apresentam uma ha-bilidade para generalizar a classificação de classes fora da base de dados da ImageNet, via processo de transferência de aprendizado (Transfer Learning), dado esta característica em especial destas redes em generalizar os modelos.

2.3.1

Métodos de Aprendizado de Máquina Tradicionais

Os algoritmos de máquina tradicionais não suportam a extração de caracterís-ticas das imagens diretamente, para isso normalmente é empregado alguma outra forma manual ou automatizada para extração destas características, que após são utilizadas nos

(33)

algoritmos de aprendizado de máquina.

Na primeira parte do trabalho, realizamos a extração de características das imagens de forma manual utilizando o extrator HOG (DALAL; TRIGGS, 2005) nas ima-gens coloridas, infravermelhas e de profundidade e após utilizamos um algoritmo para treinar um modelo e classificar as imagens de forma a determinar a zona de visualização do motorista.

Utilizamos o algoritmos de Suporte de Vetores de Máquina em nossos experi-mentos devido a um teste prévio que executamos e ele apresentou os melhores resultados perante os outros métodos como as Árvores Aleatórias, Gradient Boosting e k-Vizinhos.

Os algoritmos de máquina de vetores de suporte foram apresentados por Cris-tianini e Shawe-Taylor (2000), e é um modelo que representa pontos no espaço de forma a separar estes conjunto de pontos em suas devidas classes, para isso o algoritmo encontra uma linha que separe o conjunto, chamada de hiperplano, que busca maximizar a distância entre os pontos das classes e ele faz isso utilizando-se de vetores de suporte.

2.3.2

Arquitetura de Rede Neural VGG

A arquitetura da rede VGG apresentada na figura 2.3, foi desenvolvida por Simonyan e Zisserman (2014) e venceu a competição ImageNet daquele ano. A rede é caracterizada por sua simplicidade, pois usa somente camadas convolucionais 3x3 empi-lhadas uma a outra. Uma operação de max-pooling é utilizada para diminuir o tamanho da imagem de saída e no final duas camadas totalmente conectadas (full-connected), cada uma com 4096 nós são adicionadas seguindo por um classificador via softmax.

Figura 2.3 – Arquitetura da rede VGG16. Imagem: Davi Frossard, https://www.cs.toronto.edu/ frossard/post/vgg16/ - acessado em 6/2019 O termo VGG16 e VGG19 vem do número de camadas dentro da rede. Onde 16 significa que ela tem 16 níveis de convoluções e conexões.

(34)

A rede VGGNet é uma das mais utilizadas como referência em classificadores de imagens. Porém ela apresenta algumas desvantagens: (1) é lenta para treinar, pois ela possui 138.357.544 (VGG16) parâmetros para treinar e ajustar; (2)o armazenamento de seus parâmetros em memória é custoso. A rede VGG16, por exemplo, ocupa cerca de 533 MB em disco, enquanto a rede VGG19 ocupa 574 MB, tamanho que pode ser conside-rado restritivo para aplicações embarcadas. Vale notar que estes parâmetros precisam ser carregados na memória quando o modelo é iniciado.

Utilizamos a rede VGG16 em nosso trabalho, fizemos os testes com a rede treinada com a base de dados da ImageNet e uma outra denominada VGGFace (PARKHI

et al., 2015) desenvolvida e treinada por um time de Oxford para reconhecimento de rostos.

2.3.3

Arquitetura de Rede Neural ResNet

A arquitetura de rede neural profunda ResNet foi criada por He et al. (2016) da Microsoft, esta rede foi a campeã da competição ImageNet do ano de 2015 e seu nome vem de rede residual (Residual Network - ResNet), que significa que ela adicionou um termo residual nas arquiteturas presentes, conforme mostrado na Figura 2.4. Isto ocorreu devido ao fato de quando tornamos a rede muito profunda o gradiente da mesma começa a ficar um número muito pequeno e com isso a rede fica quase impossível de convergir, este problema é conhecido como vanishing gradients. Este resíduo é adicionado ao final do bloco depois das operações, ou seja, 𝑦 = 𝐹 (𝑋) + 𝑋 (Figura 2.4. Com isso, a informação original é adicionada a calculada minimizando o efeito da redução do gradiente.

Figura 2.4 – Novo bloco residual apresentado pela ResNet. Fonte: He et al. (2016) Utilizando os blocos residuais, eles conseguiram treinar redes mais profundas, com 101, 152, 200 e mais camadas, conseguindo melhores resultados do que os obtidos pela rede VGG e ao mesmo tempo conseguiram diminuir o tamanho dos parâmetros

(35)

armazenados em disco por causa do uso de global average pooling ao invés de camadas totalmente conectadas (fully-connected).

A rede que usamos em nosso trabalho nos experimentos (descritos no capítulo seguinte) é a ResNet50, que possui 50 camadas e cujo modelo ocupa 102 MB em disco.

2.3.4

Arquitetura de Rede Neural SqueezeNet

As redes neurais profundas precisam treinar e armazenar uma quantidade enorme de parâmetros, pensando nisso Iandola et al. (2016) propuseram um conceito para deixar a rede neural com um número de parâmetros menor e com isso também aumentar a velocidade de inferência da rede.

Para isto, eles propuseram um modulo chamado de “fire” e a rede é construída com várias camadas “fire”, como podemos ver na figura 2.5. O módulo consiste em uma etapa de compressão (squeeze) e uma etapa de expansão (expand). Para reduzir a quanti-dade de parâmetros em mais de nove vezes, os filtros de 3x3 foram substituídos por filtros 1x1 na etapa de compressão. A etapa de expansão tem filtros de 1x1 e 3x3, porém como estes filtros estão recebendo a saída da etapa de compressão o número total de parâmetros é reduzido.

Figura 2.5 – a Esquerda a arquitetura da rede SqueezeNet e a direita o detalhe de um modulo “fire”. Fonte: Iandola et al. (2016)

(36)

de aproximadamente 5 MB, muito menor do que as redes descritas anteriormente e muito interessante para utilizarmos no contexto de nosso trabalho envolvendo dispositivos com restrições.

2.3.5

Arquitetura de Rede Neural MobileNet

As redes MobileNet (HOWARD et al., 2017; SANDLER et al., 2018; HOWARD

et al., 2019) foram desenvolvidas pela Google em uma forma de embarcar estes algoritmos

de redes neurais profundas em dispositivos móveis (como celulares).

Para isto ela criou uma arquitetura compacta com blocos aninhados de uma camada de convolução chamada de depthwise de filtros 3x3, seguido de uma camada chamada de pointwise com filtros 1x1 e não existe nenhuma camada de pooling entre elas. Existe algumas alterações nesse bloco entre uma versão e outra das redes, porém não cobriremos este aspecto em nosso trabalho. A imagem 2.6 apresenta a estrutura do novo bloco da rede MobileNet V2 que foi utilizada nesse trabalho.

Esta arquitetura é rápida e compacta, ocupa cerca de 14 MB em disco. Ela pode ser utilizada para classificação, detecção e segmentação de imagens.

(37)

Figura 2.6 – Exemplo do módulo da MobileNet V2. Fonte: Google AI, https://ai.googleblog.com/2018/04/mobilenetv2-next-generation-of-on.html - acessado em 6/2019

2.3.6

Transferência de Aprendizado

O processo de transferência de aprendizado pode ocorrer normalmente de duas formas: extração das características e refinamento de modelos (PAN; YANG, 2009).

No primeiro caso, utilizamos a rede treinada como um extrator de caracterís-ticas, onde a imagem de entrada é propagada pela rede até uma determinada camada intermediaria e a saída dos dados desta camada serão as características que passarão por um outro classificador, como um regressor linear ou SVM.

No caso do refinamento do modelo, a arquitetura do modelo é alterada de forma a remover a última camada e adicionar uma outra camada inerente ao novo problema; a nova arquitetura é refinada utilizando os parâmetros do modelo treinado previamente.

(38)

2.3.7

Aumentação de Dados

Um problema comum quando treinamos modelos de redes neurais profundas é a quantidade limitada de dados para treinamento, o que faz o modelo não alcançar uma boa acurácia e também deixa o modelo sensível a overfitting, ou seja, quando o modelo apresenta bom desempenho para os dados de treinamento mas não é capaz de generalizar seu aprendizado (PEREZ; WANG, 2017) e (TAYLOR; NITSCHKE, 2017).

O aumento de dados é uma técnica que vem sendo empregada no treinamento de algoritmos de redes neurais profundas para torná-los menos suscetíveis a overfitting. Isto devido ao grande número de parâmetros que precisam ser treinados nessas redes neurais profundas versus o tamanho limitado de dados das base existentes, que via de regra são consideradas pequenas, sendo assim, quanto mais dados existirem, os modelos treinados tendem a melhorar sua acurácia e sua generalização.

O aumento de dados pode ser realizado de diversas maneiras, das mais simples, por meio de transformações geométricas e de cor, às mais complexas, utilizando redes neurais generativas adversárias (em inglês, generative adversarial networks ou GANs), capazes de sintetizar novas imagens derivadas da base original (GOODFELLOW et al., 2014).

2.4

Considerações Finais

Este capítulo apresentou ao leitor os conceitos e as definições dos sistemas de fadiga e de atenção. Apresentou os diferentes tipos existentes de sistemas e maneiras de coletar os dados para se criar um sistema que possa identificar a fadiga e atenção dos motoristas. Explicou também as diferentes formas de avaliar e mensurar estes tipos de sistemas.

Voltando na Figura 2.1, que apresenta visualmente os diferentes tipos de siste-mas e tipos de informações que precisam ser coletadas para criar estes tipos de sistesiste-mas. Nosso trabalho está situado como um sistema não-intrusivo, baseado em visão computa-cional coletando dados físicos dos motoristas.

Na Seção 2.2, é apresentado o conceito de zona de visualização do motorista, que é uma discretização do foco de visão do motorista em algumas zonas específicas do carro. Na sequência, passamos pelos trabalhos desenvolvidos neste contexto e elencamos os trabalhos recentes que mais se assemelham ao nosso e a tabela 2.1 foi criada para salientar os principais pontos de cada trabalho, incluindo o nosso.

Já na Seção 2.3 descrevemos os algoritmos de aprendizado de máquina que utilizaremos em nosso trabalho. Começando pelos modelos tradicionais como SVM e

(39)

tam-bém por técnicas mais modernas como as redes neurais. Mostramos tamtam-bém o conceito de transfer learning e por fim, a técnica de Aumentação de Dados foi apresentada.

(40)

3 Construção da Base de Imagens

Conforme apontado no Capítulo 2, uma das abordagens tradicionais no de-senvolvimento de sistemas de detecção de atenção dos motoristas é a implementação de sistemas de visão computacional. Devido à ascensão dos veículos autônomos, sistemas como este estão cada dia mais próximos do consumidor final. Para que estes sistemas de visão computacional desempenhem um bom resultado na tarefa de detecção, existe a necessidade de que os mesmos sejam treinados com imagens capturadas em condições próximas às da aplicação que, no contexto deste trabalho, dá-se com o motorista no in-terior do veículo. A captura destas imagens é feita por câmeras instaladas no inin-terior do veículo. Trabalhos como Vicente et al. (2015), Wang et al. (2017), Tawari et al. (2014a), Fridman et al. (2016a) e Choi et al. (2016) se baseiam em câmeras monoculares para cap-turar imagens 2D da face dos motoristas durante a condução do veículo. O protocolo de captura e armazenamento das imagens capturadas difere em cada um destes trabalhos. É importante destacar que a qualidade visual e o ambiente onde as imagens de treinamento são capturadas influenciam diretamente no resultado dos algoritmos de visão computaci-onal pois, dentre outros aspectos, tais sistemas tipicamente são sensíveis a variações de iluminação e se desempenham melhor quando o contexto de treinamento é restrito.

O capítulo anterior apresentou as principais bases de dados existentes, suas restrições e limitações. Neste capítulo, descrevemos a primeira etapa de nossa abordagem, que foi a construção de uma base de dados rotulada de imagens de profundidade de motoristas em situações de desatenção. A Seção 3.1 apresenta as principais tecnologias de câmera de profundidade existentes e discute os critérios que foram utilizados para a escolha da câmera Intel○c RealsenseTM. A Seção 3.4 descreve o protocolo de captura utilizado para a construção da base. O capítulo é finalizado com considerações finais sobre a disponibilização da base para fins de pesquisa.

3.1

Câmeras de Profundidade

Sistemas de visão computacional tradicionalmente utilizam câmeras monocu-lares, que se baseiam em imagens coloridas em duas dimensões, são facilmente encontradas e apresentam custo acessível. Entretanto, o sucesso na análise de imagens de câmeras mo-noculares é tipicamente dependente de um cenário com boa iluminação, limitando assim seu uso em domínios específicos. Em particular, no contexto deste trabalho, tais câmeras não disponibilizam imagens com qualidade em ambientes noturnos para os algoritmos de visão computacional. Os algoritmos empregados nas imagens 2D, coletadas por estas

(41)

câmeras, são sensíveis à variação das condições de iluminação.

Câmeras com tecnologia de visão de profundidade auxiliam de forma a tentar sanar estes problemas encontrados nas câmeras monoculares. O fato destas novas câ-meras proporcionarem medidas de profundidade, tornou consideravelmente mais fácil a separação de um objeto em foco do seu plano de fundo. Atualmente, esta tecnologia já é empregada, por exemplo, em telefones celulares. Os principais fabricantes vêm adotando câmeras de profundidade para melhorar a qualidade de suas imagens, podemos citar os modelos IPhone X, 7 Plus e 8 Plus, Motorola G7, G7 Plus, One Vision e Samsung S9, S9+ e S10. Com esta nova demanda, os custos para se desenvolver um sistema de câmeras para medir a profundidade diminuiu drasticamente. Atualmente podemos encontrar câmeras de profundidade com valores próximos a 100 dólares no mercado1.

Nos dias atuais, existem três principais técnicas empregadas na construção de câmeras de profundidade e que estão disponíveis para os consumidores a preços acessíveis. Elas se diferem principalmente sobre como a informação de profundidade é construída e mensurada. Nas próximas seções, serão descritos os princípios destes tipos de câmeras, especialmente para os casos de se adquirir informação de profundidade. No final, é definido um novo conceito para uma nova família de câmeras de profundidade.

3.1.1

Câmeras Estereoscópicas

Câmeras com tecnologia de visão estereoscópica têm duas câmeras alinhadas e separadas por uma distância de poucos centímetros, de forma similar aos olhos humanos. Com essa construção é possível medir um ponto no espaço calculando a disparidade da posição do objeto nas imagens das duas câmeras.

A Figura 3.1 apresenta o modelo simplificado e a forma para se calcular a profundidade do objeto na imagem, onde 𝑍 é o valor da profundidade do objeto que se deseja obter; 𝑥𝐿 é a posição do objeto na imagem da câmera esquerda, da mesma forma

𝑥𝑅 é o ponto na imagem da câmera direita e a parte inferior da formula é conhecida como disparidade. A variável 𝑓 é pré definida como a distância focal da lente da câmera e 𝐵 é a distância entre as câmeras.

Existe um desafio para se calcular a profundidade utilizando este método, este é conhecido como “problema da correspondência”, que consiste na necessidade de encontrar o mesmo ponto na imagem fornecida por ambas as câmeras. Sem resolver este problema de correspondência, não se chega a uma boa acurácia no cálculo da profundidade. A solução para este problema envolve o uso de algoritmos especialistas para a extração e correspondência destas características. Além disso, são necessárias variações significativas

(42)

Figura 3.1 – Medida de profundidade por disparidade estereoscópica

de cor e intensidade de luz para a extração destas características e os algoritmos se tornam menos efetivos sem estas variações. Este fenômeno é observado quando se tenta medir a distância de uma parede branca. Outro fato a se levar em consideração, é uma premissa que em câmeras estereoscópicas o erro no cálculo da distância é quadrático em função da mesma, ou seja, quanto mais distante um objeto se encontra em relação as câmeras menos confiável se torna a profundidade auferida pelo sistema.

Como vantagens podemos salientar o baixo custo para a implementação deste sistema, sendo que nos sites de compras na internet, como a www.amazon.com, estes tipos de câmeras podem ser encontrados por valores na faixa de 65 dólares.

3.1.2

Câmeras com Luz Estruturada

A ideia básica das câmeras baseadas em luz estruturada é projetar um padrão conhecido de luz no objeto e a partir disto calcular sua distorção.

A Figura 3.2 apresenta o conceito básico da forma de funcionamento das câ-meras de luz estruturada. Um projetor envia luz de forma estruturada, que são refletidas e capturadas pelo sensor da câmera de forma distorcida. Desta forma calcula-se a distância ao objeto, detalhes dos cálculos podem ser encontrados em Geng (2011).

Projeções de padrões consecutivos tanto codificados como de trocas de fases são usualmente utilizados para se extrair um único quadro de profundidade, desta forma diminuindo-se a taxa de quadros de profundidade extraídos por segundo. Outro fato relevante na forma de trabalho destas câmeras é que os objetos que serão medidos não

Referências

Documentos relacionados

[Informar a data, o nome e a assinatura do dirigente máximo que aprovou o documento Termo de Abertura do Projeto antes deste projeto ser solicitado ao Governador pelo

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

A estabilidade do corpo docente permanente permite atribuir o conceito muito bom, segundo os parâmetros da área, para o item 2.2 (pelo menos 75% dos docentes permanentes foram

Não se está perante a situação de uma única falta injustificada; só se pode falar em falta de assiduidade se houver alguma continuidade, o que não implica que tenham de ser faltas

c.4) Não ocorrerá o cancelamento do contrato de seguro cujo prêmio tenha sido pago a vista, mediante financiamento obtido junto a instituições financeiras, no

Os autores relatam a primeira ocorrência de Lymnaea columella (Say, 1817) no Estado de Goiás, ressaltando a importância da espécie como hospedeiro intermediário de vários parasitos

Em média, a Vivo forneceu a melhor velocidade de download para os seus clientes em 2020... A Vivo progrediu em especial a partir de abril

No período de primeiro de janeiro a 30 de junho de 2011, foram encaminhadas, ao Comitê de Segurança do Paciente da instituição sede do estudo, 218 notificações de